@angular/material-experimental 13.1.2 → 13.2.0-rc.0

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 (308) hide show
  1. package/_index.scss +2 -1
  2. package/esm2020/column-resize/column-resize-directives/column-resize-flex.mjs +4 -4
  3. package/esm2020/column-resize/column-resize-directives/column-resize.mjs +4 -4
  4. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize-flex.mjs +4 -4
  5. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize.mjs +4 -4
  6. package/esm2020/column-resize/column-resize-module.mjs +13 -13
  7. package/esm2020/column-resize/overlay-handle.mjs +4 -4
  8. package/esm2020/column-resize/resizable-directives/default-enabled-resizable.mjs +4 -4
  9. package/esm2020/column-resize/resizable-directives/resizable.mjs +4 -4
  10. package/esm2020/column-resize/resize-strategy.mjs +4 -4
  11. package/esm2020/mdc-autocomplete/autocomplete-origin.mjs +4 -4
  12. package/esm2020/mdc-autocomplete/autocomplete-trigger.mjs +4 -4
  13. package/esm2020/mdc-autocomplete/autocomplete.mjs +4 -4
  14. package/esm2020/mdc-autocomplete/module.mjs +5 -5
  15. package/esm2020/mdc-button/button-base.mjs +22 -19
  16. package/esm2020/mdc-button/button.mjs +7 -7
  17. package/esm2020/mdc-button/fab.mjs +13 -13
  18. package/esm2020/mdc-button/icon-button.mjs +7 -7
  19. package/esm2020/mdc-button/module.mjs +5 -5
  20. package/esm2020/mdc-card/card.mjs +43 -43
  21. package/esm2020/mdc-card/module.mjs +5 -5
  22. package/esm2020/mdc-checkbox/checkbox.mjs +4 -4
  23. package/esm2020/mdc-checkbox/module.mjs +5 -5
  24. package/esm2020/mdc-chips/chip-action.mjs +123 -0
  25. package/esm2020/mdc-chips/chip-edit-input.mjs +5 -5
  26. package/esm2020/mdc-chips/chip-grid.mjs +46 -94
  27. package/esm2020/mdc-chips/chip-icons.mjs +39 -101
  28. package/esm2020/mdc-chips/chip-input.mjs +6 -13
  29. package/esm2020/mdc-chips/chip-listbox.mjs +51 -156
  30. package/esm2020/mdc-chips/chip-option.mjs +84 -95
  31. package/esm2020/mdc-chips/chip-row.mjs +81 -89
  32. package/esm2020/mdc-chips/chip-set.mjs +119 -120
  33. package/esm2020/mdc-chips/chip.mjs +188 -180
  34. package/esm2020/mdc-chips/emit-event.mjs +27 -0
  35. package/esm2020/mdc-chips/module.mjs +8 -10
  36. package/esm2020/mdc-chips/testing/chip-harness.mjs +5 -1
  37. package/esm2020/mdc-chips/testing/chip-option-harness.mjs +2 -2
  38. package/esm2020/mdc-chips/testing/chip-row-harness.mjs +10 -1
  39. package/esm2020/mdc-core/option/index.mjs +5 -5
  40. package/esm2020/mdc-core/option/optgroup.mjs +4 -4
  41. package/esm2020/mdc-core/option/option.mjs +4 -4
  42. package/esm2020/mdc-core/public-api.mjs +2 -2
  43. package/esm2020/mdc-dialog/dialog-container.mjs +4 -4
  44. package/esm2020/mdc-dialog/dialog-content-directives.mjs +13 -13
  45. package/esm2020/mdc-dialog/dialog.mjs +4 -4
  46. package/esm2020/mdc-dialog/module.mjs +5 -5
  47. package/esm2020/mdc-form-field/directives/error.mjs +4 -4
  48. package/esm2020/mdc-form-field/directives/floating-label.mjs +4 -4
  49. package/esm2020/mdc-form-field/directives/hint.mjs +4 -4
  50. package/esm2020/mdc-form-field/directives/label.mjs +4 -4
  51. package/esm2020/mdc-form-field/directives/line-ripple.mjs +4 -4
  52. package/esm2020/mdc-form-field/directives/notched-outline.mjs +4 -4
  53. package/esm2020/mdc-form-field/directives/prefix.mjs +4 -4
  54. package/esm2020/mdc-form-field/directives/suffix.mjs +4 -4
  55. package/esm2020/mdc-form-field/form-field.mjs +4 -4
  56. package/esm2020/mdc-form-field/module.mjs +5 -5
  57. package/esm2020/mdc-input/input.mjs +5 -4
  58. package/esm2020/mdc-input/module.mjs +5 -5
  59. package/esm2020/mdc-list/action-list.mjs +5 -5
  60. package/esm2020/mdc-list/interactive-list-base.mjs +4 -4
  61. package/esm2020/mdc-list/list-base.mjs +138 -41
  62. package/esm2020/mdc-list/list-item-sections.mjs +138 -0
  63. package/esm2020/mdc-list/list-option.mjs +25 -17
  64. package/esm2020/mdc-list/list.mjs +24 -18
  65. package/esm2020/mdc-list/module.mjs +46 -23
  66. package/esm2020/mdc-list/nav-list.mjs +5 -5
  67. package/esm2020/mdc-list/public-api.mjs +3 -2
  68. package/esm2020/mdc-list/selection-list.mjs +8 -8
  69. package/esm2020/mdc-list/subheader.mjs +27 -0
  70. package/esm2020/mdc-list/testing/list-harness-filters.mjs +1 -1
  71. package/esm2020/mdc-list/testing/list-item-harness-base.mjs +100 -12
  72. package/esm2020/mdc-list/testing/public-api.mjs +2 -1
  73. package/esm2020/mdc-list/testing/selection-list-harness.mjs +1 -5
  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 +4 -4
  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 +7 -7
  86. package/esm2020/mdc-select/module.mjs +5 -5
  87. package/esm2020/mdc-select/select.mjs +7 -7
  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 +4 -4
  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 +10 -10
  94. package/esm2020/mdc-snack-bar/module.mjs +7 -7
  95. package/esm2020/mdc-snack-bar/public-api.mjs +2 -2
  96. package/esm2020/mdc-snack-bar/simple-snack-bar.mjs +7 -7
  97. package/esm2020/mdc-snack-bar/snack-bar-container.mjs +4 -4
  98. package/esm2020/mdc-snack-bar/snack-bar-content.mjs +10 -10
  99. package/esm2020/mdc-snack-bar/snack-bar.mjs +26 -12
  100. package/esm2020/mdc-table/cell.mjs +22 -22
  101. package/esm2020/mdc-table/module.mjs +5 -5
  102. package/esm2020/mdc-table/row.mjs +22 -22
  103. package/esm2020/mdc-table/table.mjs +7 -7
  104. package/esm2020/mdc-table/text-column.mjs +4 -4
  105. package/esm2020/mdc-tabs/module.mjs +10 -6
  106. package/esm2020/mdc-tabs/public-api.mjs +2 -2
  107. package/esm2020/mdc-tabs/tab-body.mjs +8 -8
  108. package/esm2020/mdc-tabs/tab-content.mjs +4 -4
  109. package/esm2020/mdc-tabs/tab-group.mjs +7 -7
  110. package/esm2020/mdc-tabs/tab-header.mjs +5 -5
  111. package/esm2020/mdc-tabs/tab-label-wrapper.mjs +4 -4
  112. package/esm2020/mdc-tabs/tab-label.mjs +4 -4
  113. package/esm2020/mdc-tabs/tab-nav-bar/tab-nav-bar.mjs +47 -10
  114. package/esm2020/mdc-tabs/tab.mjs +5 -5
  115. package/esm2020/mdc-tabs/testing/tab-harness-filters.mjs +1 -1
  116. package/esm2020/mdc-tabs/testing/tab-nav-bar-harness.mjs +13 -1
  117. package/esm2020/mdc-tabs/testing/tab-nav-panel-harness.mjs +27 -0
  118. package/esm2020/mdc-tooltip/module.mjs +5 -5
  119. package/esm2020/mdc-tooltip/tooltip.mjs +7 -7
  120. package/esm2020/menubar/menubar-item.mjs +4 -4
  121. package/esm2020/menubar/menubar-module.mjs +5 -5
  122. package/esm2020/menubar/menubar.mjs +4 -4
  123. package/esm2020/popover-edit/lens-directives.mjs +10 -10
  124. package/esm2020/popover-edit/popover-edit-module.mjs +5 -5
  125. package/esm2020/popover-edit/table-directives.mjs +13 -13
  126. package/esm2020/selection/row-selection.mjs +4 -4
  127. package/esm2020/selection/select-all.mjs +4 -4
  128. package/esm2020/selection/selection-column.mjs +4 -4
  129. package/esm2020/selection/selection-module.mjs +5 -5
  130. package/esm2020/selection/selection-toggle.mjs +4 -4
  131. package/esm2020/selection/selection.mjs +4 -4
  132. package/esm2020/version.mjs +1 -1
  133. package/fesm2015/column-resize.mjs +36 -36
  134. package/fesm2015/column-resize.mjs.map +1 -1
  135. package/fesm2015/material-experimental.mjs +1 -1
  136. package/fesm2015/material-experimental.mjs.map +1 -1
  137. package/fesm2015/mdc-autocomplete.mjs +13 -13
  138. package/fesm2015/mdc-autocomplete.mjs.map +1 -1
  139. package/fesm2015/mdc-button.mjs +49 -46
  140. package/fesm2015/mdc-button.mjs.map +1 -1
  141. package/fesm2015/mdc-card.mjs +46 -46
  142. package/fesm2015/mdc-card.mjs.map +1 -1
  143. package/fesm2015/mdc-checkbox.mjs +7 -7
  144. package/fesm2015/mdc-checkbox.mjs.map +1 -1
  145. package/fesm2015/mdc-chips/testing.mjs +18 -8
  146. package/fesm2015/mdc-chips/testing.mjs.map +1 -1
  147. package/fesm2015/mdc-chips.mjs +749 -1057
  148. package/fesm2015/mdc-chips.mjs.map +1 -1
  149. package/fesm2015/mdc-core.mjs +11 -11
  150. package/fesm2015/mdc-core.mjs.map +1 -1
  151. package/fesm2015/mdc-dialog.mjs +22 -22
  152. package/fesm2015/mdc-dialog.mjs.map +1 -1
  153. package/fesm2015/mdc-form-field.mjs +31 -31
  154. package/fesm2015/mdc-form-field.mjs.map +1 -1
  155. package/fesm2015/mdc-input.mjs +8 -7
  156. package/fesm2015/mdc-input.mjs.map +1 -1
  157. package/fesm2015/mdc-list/testing.mjs +110 -18
  158. package/fesm2015/mdc-list/testing.mjs.map +1 -1
  159. package/fesm2015/mdc-list.mjs +353 -148
  160. package/fesm2015/mdc-list.mjs.map +1 -1
  161. package/fesm2015/mdc-menu.mjs +16 -16
  162. package/fesm2015/mdc-menu.mjs.map +1 -1
  163. package/fesm2015/mdc-paginator.mjs +7 -7
  164. package/fesm2015/mdc-paginator.mjs.map +1 -1
  165. package/fesm2015/mdc-progress-bar.mjs +7 -7
  166. package/fesm2015/mdc-progress-bar.mjs.map +1 -1
  167. package/fesm2015/mdc-progress-spinner.mjs +7 -7
  168. package/fesm2015/mdc-progress-spinner.mjs.map +1 -1
  169. package/fesm2015/mdc-radio.mjs +10 -10
  170. package/fesm2015/mdc-radio.mjs.map +1 -1
  171. package/fesm2015/mdc-select.mjs +10 -10
  172. package/fesm2015/mdc-select.mjs.map +1 -1
  173. package/fesm2015/mdc-sidenav.mjs +4 -4
  174. package/fesm2015/mdc-sidenav.mjs.map +1 -1
  175. package/fesm2015/mdc-slide-toggle.mjs +7 -7
  176. package/fesm2015/mdc-slide-toggle.mjs.map +1 -1
  177. package/fesm2015/mdc-slider.mjs +16 -16
  178. package/fesm2015/mdc-slider.mjs.map +1 -1
  179. package/fesm2015/mdc-snack-bar.mjs +46 -41
  180. package/fesm2015/mdc-snack-bar.mjs.map +1 -1
  181. package/fesm2015/mdc-table.mjs +55 -55
  182. package/fesm2015/mdc-table.mjs.map +1 -1
  183. package/fesm2015/mdc-tabs/testing.mjs +34 -0
  184. package/fesm2015/mdc-tabs/testing.mjs.map +1 -1
  185. package/fesm2015/mdc-tabs.mjs +85 -44
  186. package/fesm2015/mdc-tabs.mjs.map +1 -1
  187. package/fesm2015/mdc-tooltip.mjs +10 -10
  188. package/fesm2015/mdc-tooltip.mjs.map +1 -1
  189. package/fesm2015/menubar.mjs +10 -10
  190. package/fesm2015/menubar.mjs.map +1 -1
  191. package/fesm2015/popover-edit.mjs +25 -25
  192. package/fesm2015/popover-edit.mjs.map +1 -1
  193. package/fesm2015/selection.mjs +19 -19
  194. package/fesm2015/selection.mjs.map +1 -1
  195. package/fesm2020/column-resize.mjs +36 -36
  196. package/fesm2020/column-resize.mjs.map +1 -1
  197. package/fesm2020/material-experimental.mjs +1 -1
  198. package/fesm2020/material-experimental.mjs.map +1 -1
  199. package/fesm2020/mdc-autocomplete.mjs +13 -13
  200. package/fesm2020/mdc-autocomplete.mjs.map +1 -1
  201. package/fesm2020/mdc-button.mjs +49 -46
  202. package/fesm2020/mdc-button.mjs.map +1 -1
  203. package/fesm2020/mdc-card.mjs +46 -46
  204. package/fesm2020/mdc-card.mjs.map +1 -1
  205. package/fesm2020/mdc-checkbox.mjs +7 -7
  206. package/fesm2020/mdc-checkbox.mjs.map +1 -1
  207. package/fesm2020/mdc-chips/testing.mjs +14 -1
  208. package/fesm2020/mdc-chips/testing.mjs.map +1 -1
  209. package/fesm2020/mdc-chips.mjs +729 -1062
  210. package/fesm2020/mdc-chips.mjs.map +1 -1
  211. package/fesm2020/mdc-core.mjs +11 -11
  212. package/fesm2020/mdc-core.mjs.map +1 -1
  213. package/fesm2020/mdc-dialog.mjs +22 -22
  214. package/fesm2020/mdc-dialog.mjs.map +1 -1
  215. package/fesm2020/mdc-form-field.mjs +31 -31
  216. package/fesm2020/mdc-form-field.mjs.map +1 -1
  217. package/fesm2020/mdc-input.mjs +8 -7
  218. package/fesm2020/mdc-input.mjs.map +1 -1
  219. package/fesm2020/mdc-list/testing.mjs +100 -16
  220. package/fesm2020/mdc-list/testing.mjs.map +1 -1
  221. package/fesm2020/mdc-list.mjs +351 -148
  222. package/fesm2020/mdc-list.mjs.map +1 -1
  223. package/fesm2020/mdc-menu.mjs +16 -16
  224. package/fesm2020/mdc-menu.mjs.map +1 -1
  225. package/fesm2020/mdc-paginator.mjs +7 -7
  226. package/fesm2020/mdc-paginator.mjs.map +1 -1
  227. package/fesm2020/mdc-progress-bar.mjs +7 -7
  228. package/fesm2020/mdc-progress-bar.mjs.map +1 -1
  229. package/fesm2020/mdc-progress-spinner.mjs +7 -7
  230. package/fesm2020/mdc-progress-spinner.mjs.map +1 -1
  231. package/fesm2020/mdc-radio.mjs +10 -10
  232. package/fesm2020/mdc-radio.mjs.map +1 -1
  233. package/fesm2020/mdc-select.mjs +10 -10
  234. package/fesm2020/mdc-select.mjs.map +1 -1
  235. package/fesm2020/mdc-sidenav.mjs +4 -4
  236. package/fesm2020/mdc-sidenav.mjs.map +1 -1
  237. package/fesm2020/mdc-slide-toggle.mjs +7 -7
  238. package/fesm2020/mdc-slide-toggle.mjs.map +1 -1
  239. package/fesm2020/mdc-slider.mjs +16 -16
  240. package/fesm2020/mdc-slider.mjs.map +1 -1
  241. package/fesm2020/mdc-snack-bar.mjs +44 -34
  242. package/fesm2020/mdc-snack-bar.mjs.map +1 -1
  243. package/fesm2020/mdc-table.mjs +55 -55
  244. package/fesm2020/mdc-table.mjs.map +1 -1
  245. package/fesm2020/mdc-tabs/testing.mjs +37 -0
  246. package/fesm2020/mdc-tabs/testing.mjs.map +1 -1
  247. package/fesm2020/mdc-tabs.mjs +85 -44
  248. package/fesm2020/mdc-tabs.mjs.map +1 -1
  249. package/fesm2020/mdc-tooltip.mjs +10 -10
  250. package/fesm2020/mdc-tooltip.mjs.map +1 -1
  251. package/fesm2020/menubar.mjs +10 -10
  252. package/fesm2020/menubar.mjs.map +1 -1
  253. package/fesm2020/popover-edit.mjs +25 -25
  254. package/fesm2020/popover-edit.mjs.map +1 -1
  255. package/fesm2020/selection.mjs +19 -19
  256. package/fesm2020/selection.mjs.map +1 -1
  257. package/mdc-button/button-base.d.ts +5 -3
  258. package/mdc-checkbox/_checkbox-theme.scss +12 -9
  259. package/mdc-chips/_chips-theme.scss +53 -53
  260. package/mdc-chips/chip-action.d.ts +40 -0
  261. package/mdc-chips/chip-grid.d.ts +6 -22
  262. package/mdc-chips/chip-icons.d.ts +14 -37
  263. package/mdc-chips/chip-listbox.d.ts +4 -40
  264. package/mdc-chips/chip-option.d.ts +15 -11
  265. package/mdc-chips/chip-row.d.ts +13 -28
  266. package/mdc-chips/chip-set.d.ts +25 -42
  267. package/mdc-chips/chip.d.ts +37 -36
  268. package/mdc-chips/emit-event.d.ts +16 -0
  269. package/mdc-chips/module.d.ts +13 -12
  270. package/mdc-chips/testing/chip-harness.d.ts +1 -0
  271. package/mdc-chips/testing/chip-row-harness.d.ts +4 -0
  272. package/mdc-core/_core-theme.scss +47 -14
  273. package/mdc-core/option/option.d.ts +3 -3
  274. package/mdc-core/public-api.d.ts +1 -1
  275. package/mdc-helpers/_focus-indicators.scss +11 -3
  276. package/mdc-list/_interactive-list-theme.scss +17 -11
  277. package/mdc-list/list-base.d.ts +56 -11
  278. package/mdc-list/list-item-sections.d.ts +77 -0
  279. package/mdc-list/list-option.d.ts +11 -8
  280. package/mdc-list/list.d.ts +6 -2
  281. package/mdc-list/module.d.ts +7 -5
  282. package/mdc-list/public-api.d.ts +2 -1
  283. package/mdc-list/subheader.d.ts +9 -0
  284. package/mdc-list/testing/list-harness-filters.d.ts +8 -0
  285. package/mdc-list/testing/list-item-harness-base.d.ts +36 -3
  286. package/mdc-list/testing/public-api.d.ts +1 -1
  287. package/mdc-list/testing/selection-list-harness.d.ts +0 -2
  288. package/mdc-snack-bar/module.d.ts +1 -1
  289. package/mdc-snack-bar/public-api.d.ts +1 -1
  290. package/mdc-snack-bar/simple-snack-bar.d.ts +4 -4
  291. package/mdc-snack-bar/snack-bar.d.ts +17 -5
  292. package/mdc-tabs/module.d.ts +1 -1
  293. package/mdc-tabs/public-api.d.ts +1 -1
  294. package/mdc-tabs/tab-nav-bar/tab-nav-bar.d.ts +11 -0
  295. package/mdc-tabs/testing/tab-harness-filters.d.ts +3 -0
  296. package/mdc-tabs/testing/tab-nav-bar-harness.d.ts +3 -0
  297. package/mdc-tabs/testing/tab-nav-panel-harness.d.ts +23 -0
  298. package/mdc-theming/prebuilt/deeppurple-amber.css +1 -1
  299. package/mdc-theming/prebuilt/indigo-pink.css +1 -1
  300. package/mdc-theming/prebuilt/pink-bluegrey.css +1 -1
  301. package/mdc-theming/prebuilt/purple-green.css +1 -1
  302. package/package.json +3 -3
  303. package/esm2020/mdc-chips/grid-focus-key-manager.mjs +0 -21
  304. package/esm2020/mdc-chips/grid-key-manager.mjs +0 -218
  305. package/esm2020/mdc-list/list-styling.mjs +0 -92
  306. package/mdc-chips/grid-focus-key-manager.d.ts +0 -28
  307. package/mdc-chips/grid-key-manager.d.ts +0 -116
  308. package/mdc-list/list-styling.d.ts +0 -40
@@ -11,6 +11,7 @@ import { ChipAvatarHarnessFilters, ChipHarnessFilters, ChipRemoveHarnessFilters
11
11
  import { MatChipRemoveHarness } from './chip-remove-harness';
12
12
  /** Harness for interacting with a mat-chip in tests. */
13
13
  export declare class MatChipHarness extends ContentContainerComponentHarness {
14
+ protected _primaryAction: import("@angular/cdk/testing").AsyncFactoryFn<import("@angular/cdk/testing").TestElement>;
14
15
  static hostSelector: string;
15
16
  /**
16
17
  * Gets a `HarnessPredicate` that can be used to search for a chip with specific attributes.
@@ -15,4 +15,8 @@ export declare class MatChipRowHarness extends MatChipHarness {
15
15
  * Gets a `HarnessPredicate` that can be used to search for a chip row with specific attributes.
16
16
  */
17
17
  static with<T extends typeof MatChipHarness>(this: T, options?: ChipRowHarnessFilters): HarnessPredicate<InstanceType<T>>;
18
+ /** Whether the chip is editable. */
19
+ isEditable(): Promise<boolean>;
20
+ /** Whether the chip is currently being edited. */
21
+ isEditing(): Promise<boolean>;
18
22
  }
@@ -1,8 +1,46 @@
1
1
  @use '../../material/core/theming/theming';
2
+ @use '../../material/core/typography/typography';
2
3
  @use './option/option-theme';
3
4
  @use './option/optgroup-theme';
4
5
  @use './elevation';
5
6
 
7
+
8
+ @mixin color($config-or-theme) {
9
+ $config: theming.get-color-config($config-or-theme);
10
+
11
+ @include option-theme.color($config);
12
+ @include optgroup-theme.color($config);
13
+
14
+ @if $config != null {
15
+ // Provides external CSS classes for each elevation value. Each CSS class is formatted as
16
+ // `mat-mdc-elevation-z$zValue` where `$zValue` corresponds to the z-space to which the
17
+ // element is elevated.
18
+ @for $zValue from 0 through 24 {
19
+ $selector: elevation.$prefix + $zValue;
20
+ // We need the `mat-mdc-elevation-specific`, because some MDC mixins
21
+ // come with elevation baked in and we don't have a way of removing it.
22
+ .#{$selector}, .mat-mdc-elevation-specific.#{$selector} {
23
+ @include elevation.private-theme-elevation($zValue, $config);
24
+ }
25
+ }
26
+ }
27
+ }
28
+
29
+ @mixin typography($config-or-theme) {
30
+ $config: typography.private-typography-to-2018-config(
31
+ theming.get-typography-config($config-or-theme));
32
+
33
+ @include option-theme.typography($config-or-theme);
34
+ @include optgroup-theme.typography($config-or-theme);
35
+ }
36
+
37
+ @mixin density($config-or-theme) {
38
+ $density-scale: theming.get-density-config($config-or-theme);
39
+
40
+ @include option-theme.density($density-scale);
41
+ @include optgroup-theme.density($density-scale);
42
+ }
43
+
6
44
  // Mixin that renders all of the core styles that depend on the theme.
7
45
  @mixin theme($theme-or-color-config) {
8
46
  $theme: theming.private-legacy-get-theme($theme-or-color-config);
@@ -12,22 +50,17 @@
12
50
  // the imported themes (such as `mat-ripple-theme`) should not report again.
13
51
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-mdc-core') {
14
52
  $color: theming.get-color-config($theme);
15
-
16
- @include option-theme.theme($theme);
17
- @include optgroup-theme.theme($theme);
53
+ $density: theming.get-density-config($theme);
54
+ $typography: theming.get-typography-config($theme);
18
55
 
19
56
  @if $color != null {
20
- // Provides external CSS classes for each elevation value. Each CSS class is formatted as
21
- // `mat-mdc-elevation-z$zValue` where `$zValue` corresponds to the z-space to which the
22
- // element is elevated.
23
- @for $zValue from 0 through 24 {
24
- $selector: elevation.$prefix + $zValue;
25
- // We need the `mat-mdc-elevation-specific`, because some MDC mixins
26
- // come with elevation baked in and we don't have a way of removing it.
27
- .#{$selector}, .mat-mdc-elevation-specific.#{$selector} {
28
- @include elevation.private-theme-elevation($zValue, $color);
29
- }
30
- }
57
+ @include color($color);
58
+ }
59
+ @if $density != null {
60
+ @include density($density);
61
+ }
62
+ @if $typography != null {
63
+ @include typography($typography);
31
64
  }
32
65
  }
33
66
  }
@@ -12,8 +12,8 @@ import * as i0 from "@angular/core";
12
12
  /**
13
13
  * Single option inside of a `<mat-select>` element.
14
14
  */
15
- export declare class MatOption extends _MatOptionBase {
15
+ export declare class MatOption<T = any> extends _MatOptionBase<T> {
16
16
  constructor(element: ElementRef<HTMLElement>, changeDetectorRef: ChangeDetectorRef, parent: MatOptionParentComponent, group: MatOptgroup);
17
- static ɵfac: i0.ɵɵFactoryDeclaration<MatOption, [null, null, { optional: true; }, { optional: true; }]>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<MatOption, "mat-option", ["matOption"], {}, {}, never, ["*"]>;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatOption<any>, [null, null, { optional: true; }, { optional: true; }]>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatOption<any>, "mat-option", ["matOption"], {}, {}, never, ["*"]>;
19
19
  }
@@ -6,4 +6,4 @@
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
8
  export * from './option/index';
9
- export { AnimationCurves, AnimationDurations, CanColor, CanDisable, CanDisableRipple, CanUpdateErrorState, DateAdapter, defaultRippleAnimationConfig, ErrorStateMatcher, GranularSanityChecks, HasInitialized, HasTabIndex, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MAT_DATE_LOCALE_FACTORY, MAT_NATIVE_DATE_FORMATS, MAT_OPTGROUP, MAT_RIPPLE_GLOBAL_OPTIONS, MatCommonModule, MatDateFormats, MATERIAL_SANITY_CHECKS, MatLine, MatLineModule, MatNativeDateModule, MatPseudoCheckbox, MatPseudoCheckboxModule, MatPseudoCheckboxState, MatRipple, MatRippleModule, mixinColor, mixinDisabled, mixinDisableRipple, mixinErrorState, mixinInitialized, mixinTabIndex, NativeDateAdapter, NativeDateModule, RippleAnimationConfig, RippleConfig, RippleGlobalOptions, RippleRef, RippleRenderer, RippleState, RippleTarget, SanityChecks, setLines, ShowOnDirtyErrorStateMatcher, ThemePalette, VERSION, _AbstractConstructor, _Constructor, } from '@angular/material/core';
9
+ export { AnimationCurves, AnimationDurations, CanColor, CanDisable, CanDisableRipple, CanUpdateErrorState, DateAdapter, defaultRippleAnimationConfig, ErrorStateMatcher, GranularSanityChecks, HasInitialized, HasTabIndex, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MAT_DATE_LOCALE_FACTORY, MAT_NATIVE_DATE_FORMATS, MAT_OPTGROUP, MAT_RIPPLE_GLOBAL_OPTIONS, MatCommonModule, MatDateFormats, MATERIAL_SANITY_CHECKS, MatNativeDateModule, MatPseudoCheckbox, MatPseudoCheckboxModule, MatPseudoCheckboxState, MatRipple, MatRippleModule, mixinColor, mixinDisabled, mixinDisableRipple, mixinErrorState, mixinInitialized, mixinTabIndex, NativeDateAdapter, NativeDateModule, RippleAnimationConfig, RippleConfig, RippleGlobalOptions, RippleRef, RippleRenderer, RippleState, RippleTarget, SanityChecks, setLines, ShowOnDirtyErrorStateMatcher, ThemePalette, VERSION, _AbstractConstructor, _Constructor, } from '@angular/material/core';
@@ -42,7 +42,7 @@
42
42
  .mat-mdc-unelevated-button .mat-mdc-focus-indicator::before,
43
43
  .mat-mdc-raised-button .mat-mdc-focus-indicator::before,
44
44
  .mdc-fab .mat-mdc-focus-indicator::before,
45
- .mat-mdc-focus-indicator.mdc-chip::before {
45
+ .mat-mdc-chip-action-label .mat-mdc-focus-indicator::before {
46
46
  margin: -($border-width + 2px);
47
47
  }
48
48
 
@@ -50,11 +50,16 @@
50
50
  margin: -($border-width + 3px);
51
51
  }
52
52
 
53
- .mat-mdc-focus-indicator.mat-mdc-chip-remove::before,
54
- .mat-mdc-focus-indicator.mat-mdc-chip-row-focusable-text-content::before {
53
+ .mat-mdc-focus-indicator.mat-mdc-chip-remove::before {
55
54
  margin: -$border-width;
56
55
  }
57
56
 
57
+ // MDC sets a padding a on the button which stretches out the focus indicator.
58
+ .mat-mdc-focus-indicator.mat-mdc-chip-remove::before {
59
+ left: 8px;
60
+ right: 8px;
61
+ }
62
+
58
63
  .mat-mdc-focus-indicator.mat-mdc-tab::before,
59
64
  .mat-mdc-focus-indicator.mat-mdc-tab-link::before {
60
65
  margin: 5px;
@@ -78,6 +83,9 @@
78
83
  .mat-mdc-slide-toggle-focused .mat-mdc-focus-indicator::before,
79
84
  .mat-mdc-radio-button.cdk-focused .mat-mdc-focus-indicator::before,
80
85
 
86
+ // In the chips the individual actions have focus so we target a different element.
87
+ .mat-mdc-chip-action:focus .mat-mdc-focus-indicator::before,
88
+
81
89
  // For buttons and list items, render the focus indicator when the parent
82
90
  // button or list item is focused.
83
91
  .mat-mdc-button-base:focus .mat-mdc-focus-indicator::before,
@@ -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
  }
@@ -7,24 +7,44 @@
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;
@@ -34,6 +54,8 @@ export declare abstract class MatListItemBase implements AfterContentInit, OnDes
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,12 +75,35 @@ 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.
80
+ */
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.
58
101
  */
59
- private _monitorLines;
102
+ private _inferLinesFromContent;
103
+ /** Checks whether the list item has unscoped text content. */
104
+ private _checkDomForUnscopedTextContent;
60
105
  static ɵfac: i0.ɵɵFactoryDeclaration<MatListItemBase, [null, null, null, null, { optional: true; }, { optional: true; }]>;
61
- 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"]>;
62
107
  }
63
108
  export declare abstract class MatListBase {
64
109
  _isNonInteractive: boolean;
@@ -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. */
@@ -63,6 +61,11 @@ export declare class MatListOption extends MatListItemBase implements ListOption
63
61
  get selected(): boolean;
64
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;
@@ -91,5 +94,5 @@ export declare class MatListOption extends MatListItemBase implements ListOption
91
94
  */
92
95
  _markForCheck(): void;
93
96
  static ɵfac: i0.ɵɵFactoryDeclaration<MatListOption, [null, null, null, null, null, { optional: true; }, { optional: true; }]>;
94
- 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"]>;
95
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';
@@ -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,51 @@ 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
+ /** Whether the list item is disabled. */
64
+ isDisabled(): Promise<boolean>;
65
+ /**
66
+ * Gets the secondary line text of the list item. Null if the list item
67
+ * does not have a secondary line.
68
+ */
69
+ getSecondaryText(): Promise<string | null>;
70
+ /**
71
+ * Gets the tertiary line text of the list item. Null if the list item
72
+ * does not have a tertiary line.
73
+ */
74
+ getTertiaryText(): Promise<string | null>;
42
75
  /** Whether this list item has an avatar. */
43
76
  hasAvatar(): Promise<boolean>;
44
77
  /** 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';
@@ -53,8 +53,6 @@ export declare class MatListOptionHarness extends MatListItemHarnessBase {
53
53
  getCheckboxPosition(): Promise<MatListOptionCheckboxPosition>;
54
54
  /** Whether the list option is selected. */
55
55
  isSelected(): Promise<boolean>;
56
- /** Whether the list option is disabled. */
57
- isDisabled(): Promise<boolean>;
58
56
  /** Focuses the list option. */
59
57
  focus(): Promise<void>;
60
58
  /** Blurs the list option. */
@@ -9,6 +9,6 @@ import * as i7 from "@angular/material-experimental/mdc-button";
9
9
  import * as i8 from "@angular/material-experimental/mdc-core";
10
10
  export declare class MatSnackBarModule {
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<MatSnackBarModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatSnackBarModule, [typeof i1.MatSimpleSnackBar, typeof i2.MatSnackBarContainer, typeof i3.MatSnackBarLabel, typeof i3.MatSnackBarActions, typeof i3.MatSnackBarAction], [typeof i4.OverlayModule, typeof i5.PortalModule, typeof i6.CommonModule, typeof i7.MatButtonModule, typeof i8.MatCommonModule], [typeof i8.MatCommonModule, typeof i2.MatSnackBarContainer, typeof i3.MatSnackBarLabel, typeof i3.MatSnackBarActions, typeof i3.MatSnackBarAction]>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatSnackBarModule, [typeof i1.SimpleSnackBar, typeof i2.MatSnackBarContainer, typeof i3.MatSnackBarLabel, typeof i3.MatSnackBarActions, typeof i3.MatSnackBarAction], [typeof i4.OverlayModule, typeof i5.PortalModule, typeof i6.CommonModule, typeof i7.MatButtonModule, typeof i8.MatCommonModule], [typeof i8.MatCommonModule, typeof i2.MatSnackBarContainer, typeof i3.MatSnackBarLabel, typeof i3.MatSnackBarActions, typeof i3.MatSnackBarAction]>;
13
13
  static ɵinj: i0.ɵɵInjectorDeclaration<MatSnackBarModule>;
14
14
  }
@@ -10,4 +10,4 @@ export * from './snack-bar-container';
10
10
  export * from './snack-bar-content';
11
11
  export * from './snack-bar';
12
12
  export * from './module';
13
- export { MatSnackBarConfig, MatSnackBarDismiss, MatSnackBarRef, SimpleSnackBar, MAT_SNACK_BAR_DATA, MAT_SNACK_BAR_DEFAULT_OPTIONS, MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY, MatSnackBarHorizontalPosition, MatSnackBarVerticalPosition, TextOnlySnackBar, matSnackBarAnimations, } from '@angular/material/snack-bar';
13
+ export { MatSnackBarConfig, MatSnackBarDismiss, MatSnackBarRef, MAT_SNACK_BAR_DATA, MAT_SNACK_BAR_DEFAULT_OPTIONS, MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY, MatSnackBarHorizontalPosition, MatSnackBarVerticalPosition, TextOnlySnackBar, matSnackBarAnimations, } from '@angular/material/snack-bar';
@@ -1,6 +1,6 @@
1
- import { TextOnlySnackBar, MatSnackBarRef, SimpleSnackBar } from '@angular/material/snack-bar';
1
+ import { TextOnlySnackBar, MatSnackBarRef } from '@angular/material/snack-bar';
2
2
  import * as i0 from "@angular/core";
3
- export declare class MatSimpleSnackBar implements TextOnlySnackBar {
3
+ export declare class SimpleSnackBar implements TextOnlySnackBar {
4
4
  snackBarRef: MatSnackBarRef<SimpleSnackBar>;
5
5
  data: {
6
6
  message: string;
@@ -14,6 +14,6 @@ export declare class MatSimpleSnackBar implements TextOnlySnackBar {
14
14
  action(): void;
15
15
  /** If the action button should be shown. */
16
16
  get hasAction(): boolean;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<MatSimpleSnackBar, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<MatSimpleSnackBar, "mat-simple-snack-bar", ["matSnackBar"], {}, {}, never, never>;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<SimpleSnackBar, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<SimpleSnackBar, "simple-snack-bar", ["matSnackBar"], {}, {}, never, never>;
19
19
  }