@angular/material-experimental 13.1.0 → 13.2.0-next.1

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 (318) hide show
  1. package/LICENSE +1 -1
  2. package/_index.scss +2 -1
  3. package/esm2020/column-resize/column-resize-directives/column-resize-flex.mjs +4 -4
  4. package/esm2020/column-resize/column-resize-directives/column-resize.mjs +4 -4
  5. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize-flex.mjs +4 -4
  6. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize.mjs +4 -4
  7. package/esm2020/column-resize/column-resize-module.mjs +13 -13
  8. package/esm2020/column-resize/overlay-handle.mjs +4 -4
  9. package/esm2020/column-resize/resizable-directives/default-enabled-resizable.mjs +4 -4
  10. package/esm2020/column-resize/resizable-directives/resizable.mjs +4 -4
  11. package/esm2020/column-resize/resize-strategy.mjs +4 -4
  12. package/esm2020/mdc-autocomplete/autocomplete-origin.mjs +4 -4
  13. package/esm2020/mdc-autocomplete/autocomplete-trigger.mjs +4 -4
  14. package/esm2020/mdc-autocomplete/autocomplete.mjs +4 -4
  15. package/esm2020/mdc-autocomplete/module.mjs +5 -5
  16. package/esm2020/mdc-button/button-base.mjs +14 -7
  17. package/esm2020/mdc-button/button.mjs +9 -9
  18. package/esm2020/mdc-button/fab.mjs +18 -18
  19. package/esm2020/mdc-button/icon-button.mjs +7 -7
  20. package/esm2020/mdc-button/module.mjs +5 -5
  21. package/esm2020/mdc-card/card.mjs +44 -44
  22. package/esm2020/mdc-card/module.mjs +5 -5
  23. package/esm2020/mdc-checkbox/checkbox.mjs +5 -5
  24. package/esm2020/mdc-checkbox/module.mjs +5 -5
  25. package/esm2020/mdc-chips/chip-action.mjs +123 -0
  26. package/esm2020/mdc-chips/chip-edit-input.mjs +5 -5
  27. package/esm2020/mdc-chips/chip-grid.mjs +46 -96
  28. package/esm2020/mdc-chips/chip-icons.mjs +46 -101
  29. package/esm2020/mdc-chips/chip-input.mjs +6 -13
  30. package/esm2020/mdc-chips/chip-listbox.mjs +51 -156
  31. package/esm2020/mdc-chips/chip-option.mjs +84 -95
  32. package/esm2020/mdc-chips/chip-row.mjs +82 -90
  33. package/esm2020/mdc-chips/chip-set.mjs +119 -120
  34. package/esm2020/mdc-chips/chip.mjs +189 -181
  35. package/esm2020/mdc-chips/emit-event.mjs +27 -0
  36. package/esm2020/mdc-chips/module.mjs +8 -10
  37. package/esm2020/mdc-chips/testing/chip-harness.mjs +5 -1
  38. package/esm2020/mdc-chips/testing/chip-option-harness.mjs +2 -2
  39. package/esm2020/mdc-chips/testing/chip-row-harness.mjs +10 -1
  40. package/esm2020/mdc-core/option/index.mjs +5 -5
  41. package/esm2020/mdc-core/option/optgroup.mjs +4 -4
  42. package/esm2020/mdc-core/option/option.mjs +4 -4
  43. package/esm2020/mdc-core/public-api.mjs +2 -2
  44. package/esm2020/mdc-dialog/dialog-container.mjs +5 -5
  45. package/esm2020/mdc-dialog/dialog-content-directives.mjs +13 -13
  46. package/esm2020/mdc-dialog/dialog.mjs +4 -4
  47. package/esm2020/mdc-dialog/module.mjs +5 -5
  48. package/esm2020/mdc-form-field/directives/error.mjs +4 -4
  49. package/esm2020/mdc-form-field/directives/floating-label.mjs +4 -4
  50. package/esm2020/mdc-form-field/directives/hint.mjs +4 -4
  51. package/esm2020/mdc-form-field/directives/label.mjs +4 -4
  52. package/esm2020/mdc-form-field/directives/line-ripple.mjs +4 -4
  53. package/esm2020/mdc-form-field/directives/notched-outline.mjs +4 -4
  54. package/esm2020/mdc-form-field/directives/prefix.mjs +4 -4
  55. package/esm2020/mdc-form-field/directives/suffix.mjs +4 -4
  56. package/esm2020/mdc-form-field/form-field.mjs +4 -4
  57. package/esm2020/mdc-form-field/module.mjs +5 -5
  58. package/esm2020/mdc-input/input.mjs +4 -4
  59. package/esm2020/mdc-input/module.mjs +5 -5
  60. package/esm2020/mdc-list/action-list.mjs +5 -5
  61. package/esm2020/mdc-list/interactive-list-base.mjs +12 -10
  62. package/esm2020/mdc-list/list-base.mjs +138 -41
  63. package/esm2020/mdc-list/list-item-sections.mjs +138 -0
  64. package/esm2020/mdc-list/list-option.mjs +25 -17
  65. package/esm2020/mdc-list/list.mjs +24 -18
  66. package/esm2020/mdc-list/module.mjs +46 -23
  67. package/esm2020/mdc-list/nav-list.mjs +5 -5
  68. package/esm2020/mdc-list/public-api.mjs +3 -2
  69. package/esm2020/mdc-list/selection-list.mjs +8 -8
  70. package/esm2020/mdc-list/subheader.mjs +27 -0
  71. package/esm2020/mdc-list/testing/list-harness-filters.mjs +1 -1
  72. package/esm2020/mdc-list/testing/list-item-harness-base.mjs +96 -12
  73. package/esm2020/mdc-list/testing/public-api.mjs +2 -1
  74. package/esm2020/mdc-menu/directives.mjs +7 -7
  75. package/esm2020/mdc-menu/menu-item.mjs +4 -4
  76. package/esm2020/mdc-menu/menu.mjs +4 -4
  77. package/esm2020/mdc-menu/module.mjs +5 -5
  78. package/esm2020/mdc-paginator/module.mjs +5 -5
  79. package/esm2020/mdc-paginator/paginator.mjs +4 -4
  80. package/esm2020/mdc-progress-bar/module.mjs +5 -5
  81. package/esm2020/mdc-progress-bar/progress-bar.mjs +5 -5
  82. package/esm2020/mdc-progress-spinner/module.mjs +5 -5
  83. package/esm2020/mdc-progress-spinner/progress-spinner.mjs +4 -4
  84. package/esm2020/mdc-radio/module.mjs +5 -5
  85. package/esm2020/mdc-radio/radio.mjs +8 -8
  86. package/esm2020/mdc-select/module.mjs +5 -5
  87. package/esm2020/mdc-select/select.mjs +9 -9
  88. package/esm2020/mdc-sidenav/module.mjs +5 -5
  89. package/esm2020/mdc-slide-toggle/module.mjs +5 -5
  90. package/esm2020/mdc-slide-toggle/slide-toggle.mjs +5 -5
  91. package/esm2020/mdc-slider/global-change-and-input-listener.mjs +4 -4
  92. package/esm2020/mdc-slider/module.mjs +5 -5
  93. package/esm2020/mdc-slider/slider.mjs +33 -12
  94. package/esm2020/mdc-snack-bar/module.mjs +5 -5
  95. package/esm2020/mdc-snack-bar/simple-snack-bar.mjs +4 -4
  96. package/esm2020/mdc-snack-bar/snack-bar-container.mjs +5 -5
  97. package/esm2020/mdc-snack-bar/snack-bar-content.mjs +10 -10
  98. package/esm2020/mdc-snack-bar/snack-bar.mjs +4 -4
  99. package/esm2020/mdc-table/cell.mjs +22 -22
  100. package/esm2020/mdc-table/module.mjs +5 -5
  101. package/esm2020/mdc-table/row.mjs +22 -22
  102. package/esm2020/mdc-table/table.mjs +9 -9
  103. package/esm2020/mdc-table/text-column.mjs +4 -4
  104. package/esm2020/mdc-tabs/module.mjs +10 -6
  105. package/esm2020/mdc-tabs/public-api.mjs +2 -2
  106. package/esm2020/mdc-tabs/tab-body.mjs +7 -7
  107. package/esm2020/mdc-tabs/tab-content.mjs +4 -4
  108. package/esm2020/mdc-tabs/tab-group.mjs +6 -6
  109. package/esm2020/mdc-tabs/tab-header.mjs +12 -5
  110. package/esm2020/mdc-tabs/tab-label-wrapper.mjs +4 -4
  111. package/esm2020/mdc-tabs/tab-label.mjs +4 -4
  112. package/esm2020/mdc-tabs/tab-nav-bar/tab-nav-bar.mjs +47 -10
  113. package/esm2020/mdc-tabs/tab.mjs +4 -4
  114. package/esm2020/mdc-tabs/testing/tab-harness-filters.mjs +1 -1
  115. package/esm2020/mdc-tabs/testing/tab-nav-bar-harness.mjs +13 -1
  116. package/esm2020/mdc-tabs/testing/tab-nav-panel-harness.mjs +27 -0
  117. package/esm2020/mdc-tooltip/module.mjs +5 -5
  118. package/esm2020/mdc-tooltip/tooltip.mjs +8 -8
  119. package/esm2020/menubar/menubar-item.mjs +4 -4
  120. package/esm2020/menubar/menubar-module.mjs +5 -5
  121. package/esm2020/menubar/menubar.mjs +4 -4
  122. package/esm2020/popover-edit/lens-directives.mjs +10 -10
  123. package/esm2020/popover-edit/popover-edit-module.mjs +5 -5
  124. package/esm2020/popover-edit/table-directives.mjs +13 -13
  125. package/esm2020/selection/row-selection.mjs +4 -4
  126. package/esm2020/selection/select-all.mjs +4 -4
  127. package/esm2020/selection/selection-column.mjs +4 -4
  128. package/esm2020/selection/selection-module.mjs +5 -5
  129. package/esm2020/selection/selection-toggle.mjs +4 -4
  130. package/esm2020/selection/selection.mjs +4 -4
  131. package/esm2020/version.mjs +1 -1
  132. package/fesm2015/column-resize.mjs +36 -36
  133. package/fesm2015/column-resize.mjs.map +1 -1
  134. package/fesm2015/material-experimental.mjs +1 -1
  135. package/fesm2015/material-experimental.mjs.map +1 -1
  136. package/fesm2015/mdc-autocomplete.mjs +13 -13
  137. package/fesm2015/mdc-autocomplete.mjs.map +1 -1
  138. package/fesm2015/mdc-button.mjs +40 -40
  139. package/fesm2015/mdc-button.mjs.map +1 -1
  140. package/fesm2015/mdc-card.mjs +47 -47
  141. package/fesm2015/mdc-card.mjs.map +1 -1
  142. package/fesm2015/mdc-checkbox.mjs +8 -8
  143. package/fesm2015/mdc-checkbox.mjs.map +1 -1
  144. package/fesm2015/mdc-chips/testing.mjs +18 -8
  145. package/fesm2015/mdc-chips/testing.mjs.map +1 -1
  146. package/fesm2015/mdc-chips.mjs +758 -1061
  147. package/fesm2015/mdc-chips.mjs.map +1 -1
  148. package/fesm2015/mdc-core.mjs +11 -11
  149. package/fesm2015/mdc-core.mjs.map +1 -1
  150. package/fesm2015/mdc-dialog.mjs +23 -23
  151. package/fesm2015/mdc-dialog.mjs.map +1 -1
  152. package/fesm2015/mdc-form-field.mjs +31 -31
  153. package/fesm2015/mdc-form-field.mjs.map +1 -1
  154. package/fesm2015/mdc-input.mjs +7 -7
  155. package/fesm2015/mdc-input.mjs.map +1 -1
  156. package/fesm2015/mdc-list/testing.mjs +104 -12
  157. package/fesm2015/mdc-list/testing.mjs.map +1 -1
  158. package/fesm2015/mdc-list.mjs +361 -154
  159. package/fesm2015/mdc-list.mjs.map +1 -1
  160. package/fesm2015/mdc-menu.mjs +16 -16
  161. package/fesm2015/mdc-menu.mjs.map +1 -1
  162. package/fesm2015/mdc-paginator.mjs +7 -7
  163. package/fesm2015/mdc-paginator.mjs.map +1 -1
  164. package/fesm2015/mdc-progress-bar.mjs +8 -8
  165. package/fesm2015/mdc-progress-bar.mjs.map +1 -1
  166. package/fesm2015/mdc-progress-spinner.mjs +7 -7
  167. package/fesm2015/mdc-progress-spinner.mjs.map +1 -1
  168. package/fesm2015/mdc-radio.mjs +11 -11
  169. package/fesm2015/mdc-radio.mjs.map +1 -1
  170. package/fesm2015/mdc-select.mjs +12 -12
  171. package/fesm2015/mdc-select.mjs.map +1 -1
  172. package/fesm2015/mdc-sidenav.mjs +4 -4
  173. package/fesm2015/mdc-sidenav.mjs.map +1 -1
  174. package/fesm2015/mdc-slide-toggle.mjs +8 -8
  175. package/fesm2015/mdc-slide-toggle.mjs.map +1 -1
  176. package/fesm2015/mdc-slider.mjs +39 -18
  177. package/fesm2015/mdc-slider.mjs.map +1 -1
  178. package/fesm2015/mdc-snack-bar.mjs +23 -23
  179. package/fesm2015/mdc-snack-bar.mjs.map +1 -1
  180. package/fesm2015/mdc-table.mjs +57 -57
  181. package/fesm2015/mdc-table.mjs.map +1 -1
  182. package/fesm2015/mdc-tabs/testing.mjs +34 -0
  183. package/fesm2015/mdc-tabs/testing.mjs.map +1 -1
  184. package/fesm2015/mdc-tabs.mjs +89 -41
  185. package/fesm2015/mdc-tabs.mjs.map +1 -1
  186. package/fesm2015/mdc-tooltip.mjs +11 -11
  187. package/fesm2015/mdc-tooltip.mjs.map +1 -1
  188. package/fesm2015/menubar.mjs +10 -10
  189. package/fesm2015/menubar.mjs.map +1 -1
  190. package/fesm2015/popover-edit.mjs +25 -25
  191. package/fesm2015/popover-edit.mjs.map +1 -1
  192. package/fesm2015/selection.mjs +19 -19
  193. package/fesm2015/selection.mjs.map +1 -1
  194. package/fesm2020/column-resize.mjs +36 -36
  195. package/fesm2020/column-resize.mjs.map +1 -1
  196. package/fesm2020/material-experimental.mjs +1 -1
  197. package/fesm2020/material-experimental.mjs.map +1 -1
  198. package/fesm2020/mdc-autocomplete.mjs +13 -13
  199. package/fesm2020/mdc-autocomplete.mjs.map +1 -1
  200. package/fesm2020/mdc-button.mjs +48 -41
  201. package/fesm2020/mdc-button.mjs.map +1 -1
  202. package/fesm2020/mdc-card.mjs +47 -47
  203. package/fesm2020/mdc-card.mjs.map +1 -1
  204. package/fesm2020/mdc-checkbox.mjs +8 -8
  205. package/fesm2020/mdc-checkbox.mjs.map +1 -1
  206. package/fesm2020/mdc-chips/testing.mjs +14 -1
  207. package/fesm2020/mdc-chips/testing.mjs.map +1 -1
  208. package/fesm2020/mdc-chips.mjs +738 -1066
  209. package/fesm2020/mdc-chips.mjs.map +1 -1
  210. package/fesm2020/mdc-core.mjs +11 -11
  211. package/fesm2020/mdc-core.mjs.map +1 -1
  212. package/fesm2020/mdc-dialog.mjs +23 -23
  213. package/fesm2020/mdc-dialog.mjs.map +1 -1
  214. package/fesm2020/mdc-form-field.mjs +31 -31
  215. package/fesm2020/mdc-form-field.mjs.map +1 -1
  216. package/fesm2020/mdc-input.mjs +7 -7
  217. package/fesm2020/mdc-input.mjs.map +1 -1
  218. package/fesm2020/mdc-list/testing.mjs +96 -12
  219. package/fesm2020/mdc-list/testing.mjs.map +1 -1
  220. package/fesm2020/mdc-list.mjs +359 -154
  221. package/fesm2020/mdc-list.mjs.map +1 -1
  222. package/fesm2020/mdc-menu.mjs +16 -16
  223. package/fesm2020/mdc-menu.mjs.map +1 -1
  224. package/fesm2020/mdc-paginator.mjs +7 -7
  225. package/fesm2020/mdc-paginator.mjs.map +1 -1
  226. package/fesm2020/mdc-progress-bar.mjs +8 -8
  227. package/fesm2020/mdc-progress-bar.mjs.map +1 -1
  228. package/fesm2020/mdc-progress-spinner.mjs +7 -7
  229. package/fesm2020/mdc-progress-spinner.mjs.map +1 -1
  230. package/fesm2020/mdc-radio.mjs +11 -11
  231. package/fesm2020/mdc-radio.mjs.map +1 -1
  232. package/fesm2020/mdc-select.mjs +12 -12
  233. package/fesm2020/mdc-select.mjs.map +1 -1
  234. package/fesm2020/mdc-sidenav.mjs +4 -4
  235. package/fesm2020/mdc-sidenav.mjs.map +1 -1
  236. package/fesm2020/mdc-slide-toggle.mjs +8 -8
  237. package/fesm2020/mdc-slide-toggle.mjs.map +1 -1
  238. package/fesm2020/mdc-slider.mjs +39 -18
  239. package/fesm2020/mdc-slider.mjs.map +1 -1
  240. package/fesm2020/mdc-snack-bar.mjs +23 -23
  241. package/fesm2020/mdc-snack-bar.mjs.map +1 -1
  242. package/fesm2020/mdc-table.mjs +57 -57
  243. package/fesm2020/mdc-table.mjs.map +1 -1
  244. package/fesm2020/mdc-tabs/testing.mjs +37 -0
  245. package/fesm2020/mdc-tabs/testing.mjs.map +1 -1
  246. package/fesm2020/mdc-tabs.mjs +89 -41
  247. package/fesm2020/mdc-tabs.mjs.map +1 -1
  248. package/fesm2020/mdc-tooltip.mjs +11 -11
  249. package/fesm2020/mdc-tooltip.mjs.map +1 -1
  250. package/fesm2020/menubar.mjs +10 -10
  251. package/fesm2020/menubar.mjs.map +1 -1
  252. package/fesm2020/popover-edit.mjs +25 -25
  253. package/fesm2020/popover-edit.mjs.map +1 -1
  254. package/fesm2020/selection.mjs +19 -19
  255. package/fesm2020/selection.mjs.map +1 -1
  256. package/mdc-button/button-base.d.ts +0 -3
  257. package/mdc-button/fab.d.ts +5 -7
  258. package/mdc-checkbox/_checkbox-theme.scss +32 -30
  259. package/mdc-checkbox/checkbox.d.ts +4 -9
  260. package/mdc-chips/_chips-theme.scss +53 -53
  261. package/mdc-chips/chip-action.d.ts +40 -0
  262. package/mdc-chips/chip-grid.d.ts +8 -26
  263. package/mdc-chips/chip-icons.d.ts +14 -40
  264. package/mdc-chips/chip-input.d.ts +2 -4
  265. package/mdc-chips/chip-listbox.d.ts +7 -46
  266. package/mdc-chips/chip-option.d.ts +17 -15
  267. package/mdc-chips/chip-row.d.ts +13 -30
  268. package/mdc-chips/chip-set.d.ts +27 -46
  269. package/mdc-chips/chip.d.ts +41 -45
  270. package/mdc-chips/emit-event.d.ts +16 -0
  271. package/mdc-chips/module.d.ts +13 -12
  272. package/mdc-chips/testing/chip-harness.d.ts +1 -0
  273. package/mdc-chips/testing/chip-row-harness.d.ts +4 -0
  274. package/mdc-core/_core-theme.scss +47 -14
  275. package/mdc-core/public-api.d.ts +1 -1
  276. package/mdc-form-field/form-field.d.ts +1 -2
  277. package/mdc-helpers/_focus-indicators.scss +15 -3
  278. package/mdc-list/_interactive-list-theme.scss +17 -11
  279. package/mdc-list/_list-option-theme.scss +2 -2
  280. package/mdc-list/_list-theme.scss +7 -3
  281. package/mdc-list/list-base.d.ts +59 -18
  282. package/mdc-list/list-item-sections.d.ts +77 -0
  283. package/mdc-list/list-option.d.ts +12 -10
  284. package/mdc-list/list.d.ts +6 -2
  285. package/mdc-list/module.d.ts +7 -5
  286. package/mdc-list/public-api.d.ts +2 -1
  287. package/mdc-list/selection-list.d.ts +1 -2
  288. package/mdc-list/subheader.d.ts +9 -0
  289. package/mdc-list/testing/list-harness-filters.d.ts +8 -0
  290. package/mdc-list/testing/list-item-harness-base.d.ts +34 -3
  291. package/mdc-list/testing/public-api.d.ts +1 -1
  292. package/mdc-progress-spinner/progress-spinner.d.ts +3 -6
  293. package/mdc-select/_select-theme.scss +6 -27
  294. package/mdc-slide-toggle/slide-toggle.d.ts +5 -10
  295. package/mdc-slider/slider.d.ts +20 -16
  296. package/mdc-table/_table-theme.scss +1 -1
  297. package/mdc-tabs/_tabs-common.scss +0 -1
  298. package/mdc-tabs/module.d.ts +1 -1
  299. package/mdc-tabs/public-api.d.ts +1 -1
  300. package/mdc-tabs/tab-group.d.ts +1 -2
  301. package/mdc-tabs/tab-header.d.ts +0 -2
  302. package/mdc-tabs/tab-label-wrapper.d.ts +1 -2
  303. package/mdc-tabs/tab-nav-bar/tab-nav-bar.d.ts +12 -3
  304. package/mdc-tabs/testing/tab-harness-filters.d.ts +3 -0
  305. package/mdc-tabs/testing/tab-nav-bar-harness.d.ts +3 -0
  306. package/mdc-tabs/testing/tab-nav-panel-harness.d.ts +23 -0
  307. package/mdc-theming/prebuilt/deeppurple-amber.css +1 -0
  308. package/mdc-theming/prebuilt/indigo-pink.css +1 -1
  309. package/mdc-theming/prebuilt/pink-bluegrey.css +1 -0
  310. package/mdc-theming/prebuilt/purple-green.css +1 -0
  311. package/mdc-tooltip/_tooltip-theme.scss +1 -1
  312. package/package.json +17 -3
  313. package/esm2020/mdc-chips/grid-focus-key-manager.mjs +0 -21
  314. package/esm2020/mdc-chips/grid-key-manager.mjs +0 -218
  315. package/esm2020/mdc-list/list-styling.mjs +0 -92
  316. package/mdc-chips/grid-focus-key-manager.d.ts +0 -28
  317. package/mdc-chips/grid-key-manager.d.ts +0 -116
  318. package/mdc-list/list-styling.d.ts +0 -40
@@ -14,21 +14,27 @@
14
14
  background: $active-base-color;
15
15
  }
16
16
 
17
- &.mdc-list-item--selected::before {
18
- background: $selected-color;
19
- opacity: mdc-ripple.states-opacity($selected-color, selected);
17
+ &:not(:focus):not(.mdc-list-item--disabled):hover::before {
18
+ opacity: mdc-ripple.states-opacity($active-base-color, hover);
20
19
  }
21
20
 
22
- &:focus::before {
23
- opacity: mdc-ripple.states-opacity($active-base-color, focus);
21
+ &.mdc-list-item--selected {
22
+ &::before {
23
+ background: $selected-color;
24
+ opacity: mdc-ripple.states-opacity($selected-color, selected);
25
+ }
26
+
27
+ &:not(:focus):not(.mdc-list-item--disabled):hover::before {
28
+ // The hover and selected opacities need to be combined to match with what the MDC
29
+ // ripple state would render. More details here:
30
+ // https://github.com/material-components/material-components-web/blob/348665978ce73694ad4518626dd70cdf5b984113/packages/mdc-ripple/_ripple-theme.scss#L450.
31
+ opacity: mdc-ripple.states-opacity($selected-color, hover) +
32
+ mdc-ripple.states-opacity($selected-color, selected);
33
+ }
24
34
  }
25
- }
26
35
 
27
- // MDC still shows focus/selected state if the item is disabled.
28
- // Just hover styles should not show up for disabled items.
29
- .mat-mdc-list-item-interactive:not(.mdc-list-item--disabled):not(.mdc-list-item--selected) {
30
- &:not(:focus):hover::before {
31
- opacity: mdc-ripple.states-opacity($active-base-color, hover);
36
+ &:focus::before {
37
+ opacity: mdc-ripple.states-opacity($active-base-color, focus);
32
38
  }
33
39
  }
34
40
  }
@@ -6,9 +6,9 @@
6
6
  // Mixin that overrides the selected item and checkbox colors for list options. By
7
7
  // default, the MDC list uses the `primary` color for list items. The MDC checkbox
8
8
  // inside list options by default uses the `primary` color too.
9
- @mixin private-list-option-color-override($color) {
9
+ @mixin private-list-option-color-override($color, $mdcColor) {
10
10
  & .mdc-list-item__start, & .mdc-list-item__end {
11
- @include checkbox-theme.private-checkbox-styles-with-color($color);
11
+ @include checkbox-theme.private-checkbox-styles-with-color($color, $mdcColor);
12
12
  }
13
13
  }
14
14
 
@@ -1,3 +1,4 @@
1
+ @use 'sass:map';
1
2
  @use '@material/list/evolution-mixins' as mdc-list;
2
3
  @use './interactive-list-theme';
3
4
  @use './list-option-theme';
@@ -11,6 +12,9 @@
11
12
 
12
13
  @mixin color($config-or-theme) {
13
14
  $config: theming.get-color-config($config-or-theme);
15
+ $primary: theming.get-color-from-palette(map.get($config, primary));
16
+ $accent: theming.get-color-from-palette(map.get($config, accent));
17
+ $warn: theming.get-color-from-palette(map.get($config, warn));
14
18
 
15
19
  // MDC's state styles are tied in with their ripple. Since we don't use the MDC
16
20
  // ripple, we need to add the hover, focus and selected states manually.
@@ -20,13 +24,13 @@
20
24
  @include mdc-list.without-ripple($query: mdc-helpers.$mat-theme-styles-query);
21
25
 
22
26
  .mat-mdc-list-option {
23
- @include list-option-theme.private-list-option-color-override(primary);
27
+ @include list-option-theme.private-list-option-color-override($primary, primary);
24
28
  }
25
29
  .mat-mdc-list-option.mat-accent {
26
- @include list-option-theme.private-list-option-color-override(secondary);
30
+ @include list-option-theme.private-list-option-color-override($accent, secondary);
27
31
  }
28
32
  .mat-mdc-list-option.mat-warn {
29
- @include list-option-theme.private-list-option-color-override(error);
33
+ @include list-option-theme.private-list-option-color-override($warn, error);
30
34
  }
31
35
  }
32
36
  }
@@ -7,33 +7,55 @@
7
7
  */
8
8
  import { BooleanInput } from '@angular/cdk/coercion';
9
9
  import { Platform } from '@angular/cdk/platform';
10
- import { AfterContentInit, ElementRef, NgZone, OnDestroy, QueryList } from '@angular/core';
10
+ import { AfterViewInit, ElementRef, NgZone, OnDestroy, QueryList } from '@angular/core';
11
11
  import { RippleConfig, RippleGlobalOptions, RippleTarget } from '@angular/material-experimental/mdc-core';
12
+ import { MatListItemLine, MatListItemTitle } from './list-item-sections';
12
13
  import * as i0 from "@angular/core";
13
- export declare abstract class MatListItemBase implements AfterContentInit, OnDestroy, RippleTarget {
14
+ export declare abstract class MatListItemBase implements AfterViewInit, OnDestroy, RippleTarget {
14
15
  _elementRef: ElementRef<HTMLElement>;
15
16
  protected _ngZone: NgZone;
16
17
  private _listBase;
17
18
  private _platform;
18
19
  /** Query list matching list-item line elements. */
19
- abstract lines: QueryList<ElementRef<Element>>;
20
- /** Element reference referring to the primary list item text. */
21
- abstract _itemText: ElementRef<HTMLElement>;
20
+ abstract _lines: QueryList<MatListItemLine> | undefined;
21
+ /** Query list matching list-item title elements. */
22
+ abstract _titles: QueryList<MatListItemTitle> | undefined;
23
+ /**
24
+ * Element reference to the unscoped content in a list item.
25
+ *
26
+ * Unscoped content is user-projected text content in a list item that is
27
+ * not part of an explicit line or title.
28
+ */
29
+ abstract _unscopedContent: ElementRef<HTMLSpanElement> | undefined;
22
30
  /** Host element for the list item. */
23
31
  _hostElement: HTMLElement;
24
32
  /** Whether animations are disabled. */
25
33
  _noopAnimations: boolean;
26
34
  _avatars: QueryList<never>;
27
35
  _icons: QueryList<never>;
36
+ /**
37
+ * The number of lines this list item should reserve space for. If not specified,
38
+ * lines are inferred based on the projected content.
39
+ *
40
+ * Explicitly specifying the number of lines is useful if you want to acquire additional
41
+ * space and enable the wrapping of text. The unscoped text content of a list item will
42
+ * always be able to take up the remaining space of the item, unless it represents the title.
43
+ *
44
+ * A maximum of three lines is supported as per the Material Design specification.
45
+ */
46
+ set lines(lines: number | string | null);
47
+ _explicitLines: number | null;
28
48
  get disableRipple(): boolean;
29
49
  set disableRipple(value: boolean);
30
50
  private _disableRipple;
31
51
  /** Whether the list-item is disabled. */
32
52
  get disabled(): boolean;
33
- set disabled(value: boolean);
53
+ set disabled(value: BooleanInput);
34
54
  private _disabled;
35
55
  private _subscriptions;
36
56
  private _rippleRenderer;
57
+ /** Whether the list item has unscoped text content. */
58
+ _hasUnscopedTextContent: boolean;
37
59
  /**
38
60
  * Implemented as part of `RippleTarget`.
39
61
  * @docs-private
@@ -44,8 +66,8 @@ export declare abstract class MatListItemBase implements AfterContentInit, OnDes
44
66
  * @docs-private
45
67
  */
46
68
  get rippleDisabled(): boolean;
47
- constructor(_elementRef: ElementRef<HTMLElement>, _ngZone: NgZone, _listBase: MatListBase, _platform: Platform, globalRippleOptions?: RippleGlobalOptions, animationMode?: string);
48
- ngAfterContentInit(): void;
69
+ protected constructor(_elementRef: ElementRef<HTMLElement>, _ngZone: NgZone, _listBase: MatListBase, _platform: Platform, globalRippleOptions?: RippleGlobalOptions, animationMode?: string);
70
+ ngAfterViewInit(): void;
49
71
  ngOnDestroy(): void;
50
72
  /** Gets the label for the list item. This is used for the typeahead. */
51
73
  _getItemLabel(): string;
@@ -53,27 +75,46 @@ export declare abstract class MatListItemBase implements AfterContentInit, OnDes
53
75
  _hasIconOrAvatar(): boolean;
54
76
  private _initInteractiveListItem;
55
77
  /**
56
- * Subscribes to changes in `MatLine` content children and annotates them
57
- * appropriately when they change.
78
+ * Subscribes to changes in the projected title and lines. Triggers a
79
+ * item lines update whenever a change occurs.
58
80
  */
59
- private _monitorLines;
60
- static ngAcceptInputType_disabled: BooleanInput;
61
- static ngAcceptInputType_disableRipple: BooleanInput;
81
+ private _monitorProjectedLinesAndTitle;
82
+ /**
83
+ * Updates the lines of the list item. Based on the projected user content and optional
84
+ * explicit lines setting, the visual appearance of the list item is determined.
85
+ *
86
+ * This method should be invoked whenever the projected user content changes, or
87
+ * when the explicit lines have been updated.
88
+ *
89
+ * @param recheckUnscopedContent Whether the projected unscoped content should be re-checked.
90
+ * The unscoped content is not re-checked for every update as it is a rather expensive check
91
+ * for content that is expected to not change very often.
92
+ */
93
+ _updateItemLines(recheckUnscopedContent: boolean): void;
94
+ /**
95
+ * Infers the number of lines based on the projected user content. This is useful
96
+ * if no explicit number of lines has been specified on the list item.
97
+ *
98
+ * The number of lines is inferred based on whether there is a title, the number of
99
+ * additional lines (secondary/tertiary). An additional line is acquired if there is
100
+ * unscoped text content.
101
+ */
102
+ private _inferLinesFromContent;
103
+ /** Checks whether the list item has unscoped text content. */
104
+ private _checkDomForUnscopedTextContent;
62
105
  static ɵfac: i0.ɵɵFactoryDeclaration<MatListItemBase, [null, null, null, null, { optional: true; }, { optional: true; }]>;
63
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatListItemBase, never, never, { "disableRipple": "disableRipple"; "disabled": "disabled"; }, {}, ["_avatars", "_icons"]>;
106
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatListItemBase, never, never, { "lines": "lines"; "disableRipple": "disableRipple"; "disabled": "disabled"; }, {}, ["_avatars", "_icons"]>;
64
107
  }
65
108
  export declare abstract class MatListBase {
66
109
  _isNonInteractive: boolean;
67
110
  /** Whether ripples for all list items is disabled. */
68
111
  get disableRipple(): boolean;
69
- set disableRipple(value: boolean);
112
+ set disableRipple(value: BooleanInput);
70
113
  private _disableRipple;
71
114
  /** Whether all list items are disabled. */
72
115
  get disabled(): boolean;
73
- set disabled(value: boolean);
116
+ set disabled(value: BooleanInput);
74
117
  private _disabled;
75
- static ngAcceptInputType_disabled: BooleanInput;
76
- static ngAcceptInputType_disableRipple: BooleanInput;
77
118
  static ɵfac: i0.ɵɵFactoryDeclaration<MatListBase, never>;
78
119
  static ɵdir: i0.ɵɵDirectiveDeclaration<MatListBase, never, never, { "disableRipple": "disableRipple"; "disabled": "disabled"; }, {}, never>;
79
120
  }
@@ -0,0 +1,77 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { ElementRef } from '@angular/core';
9
+ import { ListOption } from './list-option-types';
10
+ import * as i0 from "@angular/core";
11
+ /**
12
+ * Directive capturing the title of a list item. A list item usually consists of a
13
+ * title and optional secondary or tertiary lines.
14
+ *
15
+ * Text content for the title never wraps. There can only be a single title per list item.
16
+ */
17
+ export declare class MatListItemTitle {
18
+ _elementRef: ElementRef<HTMLElement>;
19
+ constructor(_elementRef: ElementRef<HTMLElement>);
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatListItemTitle, never>;
21
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatListItemTitle, "[matListItemTitle]", never, {}, {}, never>;
22
+ }
23
+ /**
24
+ * Directive capturing a line in a list item. A list item usually consists of a
25
+ * title and optional secondary or tertiary lines.
26
+ *
27
+ * Text content inside a line never wraps. There can be at maximum two lines per list item.
28
+ */
29
+ export declare class MatListItemLine {
30
+ _elementRef: ElementRef<HTMLElement>;
31
+ constructor(_elementRef: ElementRef<HTMLElement>);
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatListItemLine, never>;
33
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatListItemLine, "[matListItemLine]", never, {}, {}, never>;
34
+ }
35
+ /**
36
+ * Directive matching an optional meta section for list items.
37
+ *
38
+ * List items can reserve space at the end of an item to display a control,
39
+ * button or additional text content.
40
+ */
41
+ export declare class MatListItemMeta {
42
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatListItemMeta, never>;
43
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatListItemMeta, "[matListItemMeta]", never, {}, {}, never>;
44
+ }
45
+ /**
46
+ * @docs-private
47
+ *
48
+ * MDC uses the very intuitively named classes `.mdc-list-item__start` and `.mat-list-item__end`
49
+ * to position content such as icons or checkboxes that comes either before or after the text
50
+ * content respectively. This directive detects the placement of the checkbox and applies the
51
+ * correct MDC class to position the icon/avatar on the opposite side.
52
+ */
53
+ export declare class _MatListItemGraphicBase {
54
+ _listOption: ListOption;
55
+ constructor(_listOption: ListOption);
56
+ _isAlignedAtStart(): boolean;
57
+ static ɵfac: i0.ɵɵFactoryDeclaration<_MatListItemGraphicBase, [{ optional: true; }]>;
58
+ static ɵdir: i0.ɵɵDirectiveDeclaration<_MatListItemGraphicBase, never, never, {}, {}, never>;
59
+ }
60
+ /**
61
+ * Directive matching an optional avatar within a list item.
62
+ *
63
+ * List items can reserve space at the beginning of an item to display an avatar.
64
+ */
65
+ export declare class MatListItemAvatar extends _MatListItemGraphicBase {
66
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatListItemAvatar, never>;
67
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatListItemAvatar, "[matListItemAvatar]", never, {}, {}, never>;
68
+ }
69
+ /**
70
+ * Directive matching an optional icon within a list item.
71
+ *
72
+ * List items can reserve space at the beginning of an item to display an icon.
73
+ */
74
+ export declare class MatListItemIcon extends _MatListItemGraphicBase {
75
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatListItemIcon, never>;
76
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatListItemIcon, "[matListItemIcon]", never, {}, {}, never>;
77
+ }
@@ -12,6 +12,7 @@ import { ChangeDetectorRef, ElementRef, EventEmitter, InjectionToken, NgZone, On
12
12
  import { RippleGlobalOptions, ThemePalette } from '@angular/material-experimental/mdc-core';
13
13
  import { MatListBase, MatListItemBase } from './list-base';
14
14
  import { ListOption, MatListOptionCheckboxPosition } from './list-option-types';
15
+ import { MatListItemLine, MatListItemTitle } from './list-item-sections';
15
16
  import * as i0 from "@angular/core";
16
17
  /**
17
18
  * Injection token that can be used to reference instances of an `SelectionList`. It serves
@@ -36,19 +37,16 @@ export interface SelectionList extends MatListBase {
36
37
  export declare class MatListOption extends MatListItemBase implements ListOption, OnInit, OnDestroy {
37
38
  _selectionList: SelectionList;
38
39
  private _changeDetectorRef;
39
- /**
40
- * This is set to true after the first OnChanges cycle so we don't
41
- * clear the value of `selected` in the first cycle.
42
- */
43
- private _inputsInitialized;
40
+ _lines: QueryList<MatListItemLine>;
41
+ _titles: QueryList<MatListItemTitle>;
42
+ _unscopedContent: ElementRef<HTMLSpanElement>;
43
+ _itemText: ElementRef<HTMLElement>;
44
44
  /**
45
45
  * Emits when the selected state of the option has changed.
46
46
  * Use to facilitate two-data binding to the `selected` property.
47
47
  * @docs-private
48
48
  */
49
49
  readonly selectedChange: EventEmitter<boolean>;
50
- _itemText: ElementRef<HTMLElement>;
51
- lines: QueryList<ElementRef<Element>>;
52
50
  /** Whether the label should appear before or after the checkbox. Defaults to 'after' */
53
51
  checkboxPosition: MatListOptionCheckboxPosition;
54
52
  /** Theme color of the list option. This sets the color of the checkbox. */
@@ -61,8 +59,13 @@ export declare class MatListOption extends MatListItemBase implements ListOption
61
59
  private _value;
62
60
  /** Whether the option is selected. */
63
61
  get selected(): boolean;
64
- set selected(value: boolean);
62
+ set selected(value: BooleanInput);
65
63
  private _selected;
64
+ /**
65
+ * This is set to true after the first OnChanges cycle so we don't
66
+ * clear the value of `selected` in the first cycle.
67
+ */
68
+ private _inputsInitialized;
66
69
  constructor(element: ElementRef, ngZone: NgZone, platform: Platform, _selectionList: SelectionList, _changeDetectorRef: ChangeDetectorRef, globalRippleOptions?: RippleGlobalOptions, animationMode?: string);
67
70
  ngOnInit(): void;
68
71
  ngOnDestroy(): void;
@@ -90,7 +93,6 @@ export declare class MatListOption extends MatListItemBase implements ListOption
90
93
  * list changed.
91
94
  */
92
95
  _markForCheck(): void;
93
- static ngAcceptInputType_selected: BooleanInput;
94
96
  static ɵfac: i0.ɵɵFactoryDeclaration<MatListOption, [null, null, null, null, null, { optional: true; }, { optional: true; }]>;
95
- static ɵcmp: i0.ɵɵComponentDeclaration<MatListOption, "mat-list-option", ["matListOption"], { "checkboxPosition": "checkboxPosition"; "color": "color"; "value": "value"; "selected": "selected"; }, { "selectedChange": "selectedChange"; }, ["lines"], ["[mat-list-avatar],[matListAvatar],[mat-list-icon],[matListIcon]", "*", "mat-divider"]>;
97
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatListOption, "mat-list-option", ["matListOption"], { "checkboxPosition": "checkboxPosition"; "color": "color"; "value": "value"; "selected": "selected"; }, { "selectedChange": "selectedChange"; }, ["_lines", "_titles"], ["[matListItemAvatar],[matListItemIcon]", "[matListItemTitle]", "[matListItemLine]", "*", "mat-divider"]>;
96
98
  }
@@ -9,15 +9,19 @@ import { Platform } from '@angular/cdk/platform';
9
9
  import { ElementRef, NgZone, QueryList } from '@angular/core';
10
10
  import { RippleGlobalOptions } from '@angular/material-experimental/mdc-core';
11
11
  import { MatListBase, MatListItemBase } from './list-base';
12
+ import { MatListItemLine, MatListItemMeta, MatListItemTitle } from './list-item-sections';
12
13
  import * as i0 from "@angular/core";
13
14
  export declare class MatList extends MatListBase {
14
15
  static ɵfac: i0.ɵɵFactoryDeclaration<MatList, never>;
15
16
  static ɵcmp: i0.ɵɵComponentDeclaration<MatList, "mat-list", ["matList"], {}, {}, never, ["*"]>;
16
17
  }
17
18
  export declare class MatListItem extends MatListItemBase {
18
- lines: QueryList<ElementRef<Element>>;
19
+ _lines: QueryList<MatListItemLine>;
20
+ _titles: QueryList<MatListItemTitle>;
21
+ _meta: QueryList<MatListItemMeta>;
22
+ _unscopedContent: ElementRef<HTMLSpanElement>;
19
23
  _itemText: ElementRef<HTMLElement>;
20
24
  constructor(element: ElementRef, ngZone: NgZone, listBase: MatListBase, platform: Platform, globalRippleOptions?: RippleGlobalOptions, animationMode?: string);
21
25
  static ɵfac: i0.ɵɵFactoryDeclaration<MatListItem, [null, null, null, null, { optional: true; }, { optional: true; }]>;
22
- static ɵcmp: i0.ɵɵComponentDeclaration<MatListItem, "mat-list-item, a[mat-list-item], button[mat-list-item]", ["matListItem"], {}, {}, ["lines"], ["[mat-list-avatar],[matListAvatar],[mat-list-icon],[matListIcon]", "[mat-line],[matLine]", "*", "mat-divider"]>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatListItem, "mat-list-item, a[mat-list-item], button[mat-list-item]", ["matListItem"], {}, {}, ["_lines", "_titles", "_meta"], ["[matListItemAvatar],[matListItemIcon]", "[matListItemTitle]", "[matListItemLine]", "*", "[matListItemMeta]", "mat-divider"]>;
23
27
  }
@@ -4,12 +4,14 @@ import * as i2 from "./action-list";
4
4
  import * as i3 from "./nav-list";
5
5
  import * as i4 from "./selection-list";
6
6
  import * as i5 from "./list-option";
7
- import * as i6 from "./list-styling";
8
- import * as i7 from "@angular/common";
9
- import * as i8 from "@angular/material-experimental/mdc-core";
10
- import * as i9 from "@angular/material/divider";
7
+ import * as i6 from "./subheader";
8
+ import * as i7 from "./list-item-sections";
9
+ import * as i8 from "@angular/cdk/observers";
10
+ import * as i9 from "@angular/common";
11
+ import * as i10 from "@angular/material-experimental/mdc-core";
12
+ import * as i11 from "@angular/material/divider";
11
13
  export declare class MatListModule {
12
14
  static ɵfac: i0.ɵɵFactoryDeclaration<MatListModule, never>;
13
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatListModule, [typeof i1.MatList, typeof i2.MatActionList, typeof i3.MatNavList, typeof i4.MatSelectionList, typeof i1.MatListItem, typeof i5.MatListOption, typeof i6.MatListAvatarCssMatStyler, typeof i6.MatListIconCssMatStyler, typeof i6.MatListSubheaderCssMatStyler, typeof i6.MatListGraphicAlignmentStyler], [typeof i7.CommonModule, typeof i8.MatCommonModule, typeof i8.MatLineModule, typeof i8.MatRippleModule, typeof i8.MatPseudoCheckboxModule], [typeof i1.MatList, typeof i2.MatActionList, typeof i3.MatNavList, typeof i4.MatSelectionList, typeof i1.MatListItem, typeof i5.MatListOption, typeof i6.MatListAvatarCssMatStyler, typeof i6.MatListIconCssMatStyler, typeof i6.MatListSubheaderCssMatStyler, typeof i6.MatListGraphicAlignmentStyler, typeof i9.MatDividerModule, typeof i8.MatLineModule]>;
15
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatListModule, [typeof i1.MatList, typeof i2.MatActionList, typeof i3.MatNavList, typeof i4.MatSelectionList, typeof i1.MatListItem, typeof i5.MatListOption, typeof i6.MatListSubheaderCssMatStyler, typeof i7.MatListItemAvatar, typeof i7.MatListItemIcon, typeof i7.MatListItemLine, typeof i7.MatListItemTitle, typeof i7.MatListItemMeta], [typeof i8.ObserversModule, typeof i9.CommonModule, typeof i10.MatCommonModule, typeof i10.MatRippleModule, typeof i10.MatPseudoCheckboxModule], [typeof i1.MatList, typeof i2.MatActionList, typeof i3.MatNavList, typeof i4.MatSelectionList, typeof i1.MatListItem, typeof i5.MatListOption, typeof i7.MatListItemAvatar, typeof i7.MatListItemIcon, typeof i6.MatListSubheaderCssMatStyler, typeof i11.MatDividerModule, typeof i7.MatListItemLine, typeof i7.MatListItemTitle, typeof i7.MatListItemMeta]>;
14
16
  static ɵinj: i0.ɵɵInjectorDeclaration<MatListModule>;
15
17
  }
@@ -11,7 +11,8 @@ export * from './module';
11
11
  export * from './nav-list';
12
12
  export * from './selection-list';
13
13
  export * from './list-option';
14
- export * from './list-styling';
14
+ export * from './subheader';
15
+ export * from './list-item-sections';
15
16
  export { MatListOptionCheckboxPosition } from './list-option-types';
16
17
  export { MatListOption } from './list-option';
17
18
  export { MAT_LIST, MAT_NAV_LIST, MAT_SELECTION_LIST_VALUE_ACCESSOR } from '@angular/material/list';
@@ -53,7 +53,7 @@ export declare class MatSelectionList extends MatInteractiveListBase<MatListOpti
53
53
  compareWith: (o1: any, o2: any) => boolean;
54
54
  /** Whether selection is limited to one or multiple items (default multiple). */
55
55
  get multiple(): boolean;
56
- set multiple(value: boolean);
56
+ set multiple(value: BooleanInput);
57
57
  /** The currently selected options. */
58
58
  selectedOptions: SelectionModel<MatListOption>;
59
59
  /** View to model callback that should be called whenever the selected options change. */
@@ -113,7 +113,6 @@ export declare class MatSelectionList extends MatInteractiveListBase<MatListOpti
113
113
  private _setAllOptionsSelected;
114
114
  /** The option components contained within this selection-list. */
115
115
  get options(): QueryList<MatListOption>;
116
- static ngAcceptInputType_multiple: BooleanInput;
117
116
  static ɵfac: i0.ɵɵFactoryDeclaration<MatSelectionList, never>;
118
117
  static ɵcmp: i0.ɵɵComponentDeclaration<MatSelectionList, "mat-selection-list", ["matSelectionList"], { "color": "color"; "compareWith": "compareWith"; "multiple": "multiple"; }, { "selectionChange": "selectionChange"; }, ["_items"], ["*"]>;
119
118
  }
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Directive whose purpose is to add the mat- CSS styling to this selector.
4
+ * @docs-private
5
+ */
6
+ export declare class MatListSubheaderCssMatStyler {
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatListSubheaderCssMatStyler, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatListSubheaderCssMatStyler, "[mat-subheader], [matSubheader]", never, {}, {}, never>;
9
+ }
@@ -15,6 +15,14 @@ export interface NavListHarnessFilters extends BaseHarnessFilters {
15
15
  export interface SelectionListHarnessFilters extends BaseHarnessFilters {
16
16
  }
17
17
  export interface BaseListItemHarnessFilters extends BaseHarnessFilters {
18
+ title?: string | RegExp;
19
+ secondaryText?: string | RegExp | null;
20
+ tertiaryText?: string | RegExp | null;
21
+ fullText?: string | RegExp;
22
+ /**
23
+ * @deprecated Use the `fullText` filter instead.
24
+ * @breaking-change 16.0.0
25
+ */
18
26
  text?: string | RegExp;
19
27
  }
20
28
  export interface ListItemHarnessFilters extends BaseListItemHarnessFilters {
@@ -27,18 +27,49 @@ export declare class MatSubheaderHarness extends ComponentHarness {
27
27
  export declare const enum MatListItemSection {
28
28
  CONTENT = ".mdc-list-item__content"
29
29
  }
30
+ /** Enum describing the possible variants of a list item. */
31
+ export declare const enum MatListItemType {
32
+ ONE_LINE_ITEM = 0,
33
+ TWO_LINE_ITEM = 1,
34
+ THREE_LINE_ITEM = 2
35
+ }
30
36
  /**
31
37
  * Shared behavior among the harnesses for the various `MatListItem` flavors.
32
38
  * @docs-private
33
39
  */
34
40
  export declare abstract class MatListItemHarnessBase extends ContentContainerComponentHarness<MatListItemSection> {
35
41
  private _lines;
42
+ private _primaryText;
36
43
  private _avatar;
37
44
  private _icon;
38
- /** Gets the full text content of the list item. */
45
+ private _unscopedTextContent;
46
+ /** Gets the type of the list item, currently describing how many lines there are. */
47
+ getType(): Promise<MatListItemType>;
48
+ /**
49
+ * Gets the full text content of the list item, excluding text
50
+ * from icons and avatars.
51
+ *
52
+ * @deprecated Use the `getFullText` method instead.
53
+ * @breaking-change 16.0.0
54
+ */
39
55
  getText(): Promise<string>;
40
- /** Gets the lines of text (`mat-line` elements) in this nav list item. */
41
- getLinesText(): Promise<string[]>;
56
+ /**
57
+ * Gets the full text content of the list item, excluding text
58
+ * from icons and avatars.
59
+ */
60
+ getFullText(): Promise<string>;
61
+ /** Gets the title of the list item. */
62
+ getTitle(): Promise<string>;
63
+ /**
64
+ * Gets the secondary line text of the list item. Null if the list item
65
+ * does not have a secondary line.
66
+ */
67
+ getSecondaryText(): Promise<string | null>;
68
+ /**
69
+ * Gets the tertiary line text of the list item. Null if the list item
70
+ * does not have a tertiary line.
71
+ */
72
+ getTertiaryText(): Promise<string | null>;
42
73
  /** Whether this list item has an avatar. */
43
74
  hasAvatar(): Promise<boolean>;
44
75
  /** Whether this list item has an icon. */
@@ -10,4 +10,4 @@ export * from './list-harness';
10
10
  export * from './list-harness-filters';
11
11
  export * from './nav-list-harness';
12
12
  export * from './selection-list-harness';
13
- export { MatListItemSection } from './list-item-harness-base';
13
+ export { MatListItemSection, MatSubheaderHarness, MatListItemType } from './list-item-harness-base';
@@ -41,15 +41,15 @@ export declare class MatProgressSpinner extends _MatProgressSpinnerBase implemen
41
41
  private _value;
42
42
  /** Value of the progress bar. Defaults to zero. Mirrored to aria-valuenow. */
43
43
  get value(): number;
44
- set value(v: number);
44
+ set value(v: NumberInput);
45
45
  private _diameter;
46
46
  /** The diameter of the progress spinner (will set width and height of svg). */
47
47
  get diameter(): number;
48
- set diameter(size: number);
48
+ set diameter(size: NumberInput);
49
49
  private _strokeWidth;
50
50
  /** Stroke width of the progress spinner. */
51
51
  get strokeWidth(): number;
52
- set strokeWidth(value: number);
52
+ set strokeWidth(value: NumberInput);
53
53
  /** The radius of the spinner, adjusted for stroke width. */
54
54
  _circleRadius(): number;
55
55
  /** The view box of the spinner's svg element. */
@@ -64,9 +64,6 @@ export declare class MatProgressSpinner extends _MatProgressSpinnerBase implemen
64
64
  ngOnDestroy(): void;
65
65
  /** Syncs the state of the progress spinner with the MDC foundation. */
66
66
  private _syncFoundation;
67
- static ngAcceptInputType_diameter: NumberInput;
68
- static ngAcceptInputType_strokeWidth: NumberInput;
69
- static ngAcceptInputType_value: NumberInput;
70
67
  static ɵfac: i0.ɵɵFactoryDeclaration<MatProgressSpinner, [null, { optional: true; }, null]>;
71
68
  static ɵcmp: i0.ɵɵComponentDeclaration<MatProgressSpinner, "mat-progress-spinner, mat-spinner", ["matProgressSpinner"], { "color": "color"; "mode": "mode"; "value": "value"; "diameter": "diameter"; "strokeWidth": "strokeWidth"; }, {}, never, never>;
72
69
  }
@@ -1,7 +1,6 @@
1
1
  @use '@material/theme/theme-color' as mdc-theme-color;
2
2
  @use '@material/menu-surface' as mdc-menu-surface;
3
3
  @use '@material/list/evolution-mixins' as mdc-list;
4
- @use '@material/select' as mdc-select;
5
4
  @use '@material/typography' as mdc-typography;
6
5
  @use '../mdc-helpers/mdc-helpers';
7
6
  @use '../../material/core/typography/typography';
@@ -15,38 +14,25 @@
15
14
  @mixin color($config-or-theme) {
16
15
  $config: theming.get-color-config($config-or-theme);
17
16
 
18
- // Save original values of MDC global variables. We need to save these so we can restore the
19
- // variables to their original values and prevent unintended side effects from using this mixin.
20
- $orig-ink-color: mdc-select.$ink-color;
21
- $orig-label-color: mdc-select.$label-color;
22
- $orig-disabled-label-color: mdc-select.$disabled-label-color;
23
- $orig-dropdown-icon-color: mdc-select.$dropdown-icon-color;
24
- $orig-disabled-dropdown-icon-color: mdc-select.$disabled-dropdown-icon-color;
25
-
26
17
  @include mdc-helpers.mat-using-mdc-theme($config) {
27
- mdc-select.$ink-color: rgba(mdc-theme-color.prop-value(on-surface), 0.87);
28
- mdc-select.$label-color: rgba(mdc-theme-color.prop-value(on-surface), 0.6);
29
- mdc-select.$disabled-label-color: rgba(mdc-theme-color.prop-value(on-surface), 0.38);
30
- mdc-select.$dropdown-icon-color: rgba(mdc-theme-color.prop-value(on-surface), 0.54);
31
- mdc-select.$disabled-dropdown-icon-color: rgba(mdc-theme-color.prop-value(on-surface), 0.38);
32
-
18
+ $disabled-color: rgba(mdc-theme-color.prop-value(on-surface), 0.38);
33
19
  @include mdc-menu-surface.core-styles(mdc-helpers.$mat-theme-styles-query);
34
20
  @include mdc-list.without-ripple(mdc-helpers.$mat-theme-styles-query);
35
21
 
36
22
  .mat-mdc-select-value {
37
- color: mdc-select.$ink-color;
23
+ color: rgba(mdc-theme-color.prop-value(on-surface), 0.87);
38
24
  }
39
25
 
40
26
  .mat-mdc-select-placeholder {
41
- color: mdc-select.$label-color;
27
+ color: rgba(mdc-theme-color.prop-value(on-surface), 0.6);
42
28
  }
43
29
 
44
30
  .mat-mdc-select-disabled .mat-mdc-select-value {
45
- color: mdc-select.$disabled-label-color;
31
+ color: $disabled-color;
46
32
  }
47
33
 
48
34
  .mat-mdc-select-arrow {
49
- color: mdc-select.$dropdown-icon-color;
35
+ color: rgba(mdc-theme-color.prop-value(on-surface), 0.54);
50
36
  }
51
37
 
52
38
  .mat-mdc-form-field {
@@ -69,17 +55,10 @@
69
55
  }
70
56
 
71
57
  .mat-mdc-select.mat-mdc-select-disabled .mat-mdc-select-arrow {
72
- color: mdc-select.$disabled-dropdown-icon-color;
58
+ color: $disabled-color;
73
59
  }
74
60
  }
75
61
  }
76
-
77
- // Restore original values of MDC global variables.
78
- mdc-select.$ink-color: $orig-ink-color;
79
- mdc-select.$label-color: $orig-label-color;
80
- mdc-select.$disabled-label-color: $orig-disabled-label-color;
81
- mdc-select.$dropdown-icon-color: $orig-dropdown-icon-color;
82
- mdc-select.$disabled-dropdown-icon-color: $orig-disabled-dropdown-icon-color;
83
62
  }
84
63
 
85
64
  @mixin typography($config-or-theme) {