@angular/material-experimental 13.1.3 → 13.2.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 (316) 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 +9 -9
  16. package/esm2020/mdc-button/button.mjs +9 -9
  17. package/esm2020/mdc-button/fab.mjs +17 -17
  18. package/esm2020/mdc-button/icon-button.mjs +11 -13
  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 +9 -16
  23. package/esm2020/mdc-checkbox/module.mjs +6 -7
  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 +49 -99
  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 +5 -5
  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 +21 -5
  56. package/esm2020/mdc-form-field/module.mjs +5 -5
  57. package/esm2020/mdc-input/input.mjs +4 -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 +8 -8
  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 +5 -5
  95. package/esm2020/mdc-snack-bar/simple-snack-bar.mjs +4 -4
  96. package/esm2020/mdc-snack-bar/snack-bar-container.mjs +4 -4
  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 +7 -7
  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 +8 -8
  107. package/esm2020/mdc-tabs/tab-content.mjs +4 -4
  108. package/esm2020/mdc-tabs/tab-group.mjs +7 -7
  109. package/esm2020/mdc-tabs/tab-header.mjs +5 -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 +48 -11
  113. package/esm2020/mdc-tabs/tab.mjs +5 -5
  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 +7 -7
  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 +46 -48
  139. package/fesm2015/mdc-button.mjs.map +1 -1
  140. package/fesm2015/mdc-card.mjs +46 -46
  141. package/fesm2015/mdc-card.mjs.map +1 -1
  142. package/fesm2015/mdc-checkbox.mjs +13 -21
  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 +752 -1062
  147. package/fesm2015/mdc-chips.mjs.map +1 -1
  148. package/fesm2015/mdc-core.mjs +12 -12
  149. package/fesm2015/mdc-core.mjs.map +1 -1
  150. package/fesm2015/mdc-dialog.mjs +22 -22
  151. package/fesm2015/mdc-dialog.mjs.map +1 -1
  152. package/fesm2015/mdc-form-field.mjs +50 -32
  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 +110 -18
  157. package/fesm2015/mdc-list/testing.mjs.map +1 -1
  158. package/fesm2015/mdc-list.mjs +353 -148
  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 +7 -7
  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 +10 -10
  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 +7 -7
  175. package/fesm2015/mdc-slide-toggle.mjs.map +1 -1
  176. package/fesm2015/mdc-slider.mjs +16 -16
  177. package/fesm2015/mdc-slider.mjs.map +1 -1
  178. package/fesm2015/mdc-snack-bar.mjs +22 -22
  179. package/fesm2015/mdc-snack-bar.mjs.map +1 -1
  180. package/fesm2015/mdc-table.mjs +55 -55
  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 +86 -45
  185. package/fesm2015/mdc-tabs.mjs.map +1 -1
  186. package/fesm2015/mdc-tooltip.mjs +10 -10
  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 +46 -48
  201. package/fesm2020/mdc-button.mjs.map +1 -1
  202. package/fesm2020/mdc-card.mjs +46 -46
  203. package/fesm2020/mdc-card.mjs.map +1 -1
  204. package/fesm2020/mdc-checkbox.mjs +13 -21
  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 +732 -1067
  209. package/fesm2020/mdc-chips.mjs.map +1 -1
  210. package/fesm2020/mdc-core.mjs +12 -12
  211. package/fesm2020/mdc-core.mjs.map +1 -1
  212. package/fesm2020/mdc-dialog.mjs +22 -22
  213. package/fesm2020/mdc-dialog.mjs.map +1 -1
  214. package/fesm2020/mdc-form-field.mjs +48 -32
  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 +100 -16
  219. package/fesm2020/mdc-list/testing.mjs.map +1 -1
  220. package/fesm2020/mdc-list.mjs +351 -148
  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 +7 -7
  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 +10 -10
  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 +7 -7
  237. package/fesm2020/mdc-slide-toggle.mjs.map +1 -1
  238. package/fesm2020/mdc-slider.mjs +16 -16
  239. package/fesm2020/mdc-slider.mjs.map +1 -1
  240. package/fesm2020/mdc-snack-bar.mjs +22 -22
  241. package/fesm2020/mdc-snack-bar.mjs.map +1 -1
  242. package/fesm2020/mdc-table.mjs +55 -55
  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 +86 -45
  247. package/fesm2020/mdc-tabs.mjs.map +1 -1
  248. package/fesm2020/mdc-tooltip.mjs +10 -10
  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.scss +28 -15
  257. package/mdc-button/_button-theme-private.scss +35 -28
  258. package/mdc-button/_button-theme.scss +115 -80
  259. package/mdc-button/_fab-theme.scss +31 -37
  260. package/mdc-button/_icon-button-theme.scss +15 -22
  261. package/mdc-button/button-base.d.ts +2 -2
  262. package/mdc-button/icon-button.d.ts +2 -2
  263. package/mdc-checkbox/_checkbox-theme.scss +4 -11
  264. package/mdc-checkbox/checkbox.d.ts +0 -6
  265. package/mdc-checkbox/module.d.ts +2 -3
  266. package/mdc-chips/_chips-theme.scss +53 -53
  267. package/mdc-chips/chip-action.d.ts +40 -0
  268. package/mdc-chips/chip-grid.d.ts +6 -24
  269. package/mdc-chips/chip-icons.d.ts +14 -37
  270. package/mdc-chips/chip-listbox.d.ts +4 -40
  271. package/mdc-chips/chip-option.d.ts +15 -11
  272. package/mdc-chips/chip-row.d.ts +13 -28
  273. package/mdc-chips/chip-set.d.ts +25 -42
  274. package/mdc-chips/chip.d.ts +37 -36
  275. package/mdc-chips/emit-event.d.ts +16 -0
  276. package/mdc-chips/module.d.ts +13 -12
  277. package/mdc-chips/testing/chip-harness.d.ts +1 -0
  278. package/mdc-chips/testing/chip-row-harness.d.ts +4 -0
  279. package/mdc-core/_core-theme.scss +47 -14
  280. package/mdc-core/option/_option-theme.scss +3 -3
  281. package/mdc-core/public-api.d.ts +1 -1
  282. package/mdc-form-field/_form-field-subscript.scss +11 -0
  283. package/mdc-form-field/form-field.d.ts +12 -1
  284. package/mdc-helpers/_focus-indicators.scss +11 -3
  285. package/mdc-list/_interactive-list-theme.scss +17 -11
  286. package/mdc-list/list-base.d.ts +56 -11
  287. package/mdc-list/list-item-sections.d.ts +77 -0
  288. package/mdc-list/list-option.d.ts +11 -8
  289. package/mdc-list/list.d.ts +6 -2
  290. package/mdc-list/module.d.ts +7 -5
  291. package/mdc-list/public-api.d.ts +2 -1
  292. package/mdc-list/subheader.d.ts +9 -0
  293. package/mdc-list/testing/list-harness-filters.d.ts +8 -0
  294. package/mdc-list/testing/list-item-harness-base.d.ts +36 -3
  295. package/mdc-list/testing/public-api.d.ts +1 -1
  296. package/mdc-list/testing/selection-list-harness.d.ts +0 -2
  297. package/mdc-radio/_radio-theme.scss +0 -6
  298. package/mdc-tabs/_tabs-common.scss +8 -1
  299. package/mdc-tabs/_tabs-theme.scss +8 -55
  300. package/mdc-tabs/module.d.ts +1 -1
  301. package/mdc-tabs/public-api.d.ts +1 -1
  302. package/mdc-tabs/tab-nav-bar/tab-nav-bar.d.ts +11 -0
  303. package/mdc-tabs/testing/tab-harness-filters.d.ts +3 -0
  304. package/mdc-tabs/testing/tab-nav-bar-harness.d.ts +3 -0
  305. package/mdc-tabs/testing/tab-nav-panel-harness.d.ts +23 -0
  306. package/mdc-theming/prebuilt/deeppurple-amber.css +1 -1
  307. package/mdc-theming/prebuilt/indigo-pink.css +1 -1
  308. package/mdc-theming/prebuilt/pink-bluegrey.css +1 -1
  309. package/mdc-theming/prebuilt/purple-green.css +1 -1
  310. package/package.json +3 -3
  311. package/esm2020/mdc-chips/grid-focus-key-manager.mjs +0 -21
  312. package/esm2020/mdc-chips/grid-key-manager.mjs +0 -218
  313. package/esm2020/mdc-list/list-styling.mjs +0 -92
  314. package/mdc-chips/grid-focus-key-manager.d.ts +0 -28
  315. package/mdc-chips/grid-key-manager.d.ts +0 -116
  316. package/mdc-list/list-styling.d.ts +0 -40
@@ -1,93 +1,93 @@
1
- @use '@material/chips/deprecated' as mdc-chips;
1
+ @use '@material/chips/chip' as mdc-chip;
2
+ @use '@material/chips/chip-theme' as mdc-chip-theme;
3
+ @use '@material/chips/chip-set' as mdc-chip-set;
2
4
  @use '@material/theme/theme-color' as mdc-theme-color;
5
+ @use '@material/theme/color-palette' as mdc-color-palette;
3
6
  @use 'sass:color';
4
7
  @use 'sass:map';
5
8
  @use '../mdc-helpers/mdc-helpers';
6
9
  @use '../../material/core/typography/typography';
7
10
  @use '../../material/core/theming/theming';
8
11
 
9
- @mixin _selected-color($color) {
10
- @include mdc-chips.fill-color($color, $query: mdc-helpers.$mat-theme-styles-query);
11
- @include mdc-chips.ink-color(text-primary-on-dark, $query: mdc-helpers.$mat-theme-styles-query);
12
- @include mdc-chips.selected-ink-color-without-ripple_(
13
- text-primary-on-dark,
14
- $query: mdc-helpers.$mat-theme-styles-query
15
- );
16
- @include mdc-chips.leading-icon-color(text-primary-on-dark,
17
- $query: mdc-helpers.$mat-theme-styles-query);
18
- @include mdc-chips.trailing-icon-color(text-primary-on-dark,
19
- $query: mdc-helpers.$mat-theme-styles-query);
12
+ // Customizes the appearance of a chip. Note that ideally we would be doing this using the
13
+ // `theme-styles` mixin, however it has the following problems:
14
+ // 1. Some of MDC's base styles have **very** high specificity. E.g. setting the background of a
15
+ // non-selected, enabled chip uses a selector like `.chip:not(.selected):not(.disabled)` instead of
16
+ // just `.chip`. This specificity increase has a ripple effect over all other components that are
17
+ // built on top of ours, making overrides extremely difficult and brittle.
18
+ // 2. Including the individual mixins allows us to avoid a lot of unnecessary CSS (~35kb in the
19
+ // dev app theme).
20
+ @mixin _chip-variant($background, $foreground) {
21
+ @include mdc-chip-theme.container-color($background);
22
+ @include mdc-chip-theme.icon-color($foreground);
23
+ @include mdc-chip-theme.trailing-action-color($foreground);
24
+ @include mdc-chip-theme.checkmark-color($foreground);
25
+ @include mdc-chip-theme.text-label-color($foreground);
26
+
27
+ // Technically the avatar is only supposed to have an image, but we also allow for icons.
28
+ // Set the color so the icons inherit the correct color.
29
+ .mat-mdc-chip-avatar {
30
+ color: $foreground;
31
+ }
32
+ }
33
+
34
+ @mixin _colored-chip($palette) {
35
+ $background: theming.get-color-from-palette($palette);
36
+ $foreground: theming.get-color-from-palette($palette, default-contrast);
37
+
38
+ &.mat-mdc-chip-selected,
39
+ &.mat-mdc-chip-highlighted {
40
+ @include _chip-variant($background, $foreground);
41
+ }
20
42
  }
21
43
 
22
44
  @mixin color($config-or-theme) {
23
45
  $config: theming.get-color-config($config-or-theme);
24
- $primary: theming.get-color-from-palette(map.get($config, primary));
25
- $accent: theming.get-color-from-palette(map.get($config, accent));
26
- $warn: theming.get-color-from-palette(map.get($config, warn));
27
- $background: map.get($config, background);
28
- $unselected-background: theming.get-color-from-palette($background, unselected-chip);
29
-
30
- // Save original values of MDC global variables. We need to save these so we can restore the
31
- // variables to their original values and prevent unintended side effects from using this mixin.
32
- $orig-mdc-chips-fill-color-default: mdc-chips.$fill-color-default;
33
- $orig-mdc-chips-ink-color-default: mdc-chips.$ink-color-default;
34
- $orig-mdc-chips-icon-color: mdc-chips.$icon-color;
46
+ $primary: map.get($config, primary);
47
+ $accent: map.get($config, accent);
48
+ $warn: map.get($config, warn);
49
+ $foreground: map.get($config, foreground);
50
+ $is-dark: map.get($config, is-dark);
35
51
 
36
52
  @include mdc-helpers.mat-using-mdc-theme($config) {
37
- mdc-chips.$fill-color-default:
38
- color.mix(mdc-theme-color.prop-value(on-surface), mdc-theme-color.prop-value(surface), 12%);
39
- mdc-chips.$ink-color-default: rgba(mdc-theme-color.prop-value(on-surface), 0.87);
40
- mdc-chips.$icon-color: mdc-theme-color.prop-value(on-surface);
41
-
42
- @include mdc-chips.set-core-styles($query: mdc-helpers.$mat-theme-styles-query);
43
- @include mdc-chips.without-ripple($query: mdc-helpers.$mat-theme-styles-query);
53
+ .mat-mdc-standard-chip {
54
+ @include _chip-variant(
55
+ color.mix(mdc-theme-color.prop-value(on-surface), mdc-theme-color.prop-value(surface), 12%),
56
+ if($is-dark, mdc-color-palette.$grey-50, mdc-color-palette.$grey-900)
57
+ );
44
58
 
45
- .mat-mdc-chip {
46
- @include mdc-chips.fill-color-accessible($unselected-background,
47
- $query: mdc-helpers.$mat-theme-styles-query);
48
-
49
- // mdc-chip-fill-color-accessible includes mdc-chip-selected-ink-color which overrides the
50
- // opacity so selected chips always show a ripple.
51
- // Include the same mixins but use mdc-chip-selected-ink-color-without-ripple
52
59
  &.mat-primary {
53
- &.mdc-chip--selected, &.mat-mdc-chip-highlighted {
54
- @include _selected-color($primary);
55
- }
60
+ @include _colored-chip($primary);
56
61
  }
57
62
 
58
63
  &.mat-accent {
59
- &.mdc-chip--selected, &.mat-mdc-chip-highlighted {
60
- @include _selected-color($accent);
61
- }
64
+ @include _colored-chip($accent);
62
65
  }
63
66
 
64
67
  &.mat-warn {
65
- &.mdc-chip--selected, &.mat-mdc-chip-highlighted {
66
- @include _selected-color($warn);
67
- }
68
+ @include _colored-chip($warn);
68
69
  }
69
70
  }
70
71
  }
71
72
 
72
- // Restore original values of MDC global variables.
73
- mdc-chips.$fill-color-default: $orig-mdc-chips-fill-color-default;
74
- mdc-chips.$ink-color-default: $orig-mdc-chips-ink-color-default;
75
- mdc-chips.$icon-color: $orig-mdc-chips-icon-color;
73
+ .mat-mdc-chip-focus-overlay {
74
+ background: map.get($foreground, base);
75
+ }
76
76
  }
77
77
 
78
78
  @mixin typography($config-or-theme) {
79
79
  $config: typography.private-typography-to-2018-config(
80
80
  theming.get-typography-config($config-or-theme));
81
- @include mdc-chips.set-core-styles($query: mdc-helpers.$mat-typography-styles-query);
81
+ @include mdc-chip-set.core-styles($query: mdc-helpers.$mat-typography-styles-query);
82
82
  @include mdc-helpers.mat-using-mdc-typography($config) {
83
- @include mdc-chips.without-ripple($query: mdc-helpers.$mat-typography-styles-query);
83
+ @include mdc-chip.without-ripple-styles($query: mdc-helpers.$mat-typography-styles-query);
84
84
  }
85
85
  }
86
86
 
87
87
  @mixin density($config-or-theme) {
88
88
  $density-scale: theming.get-density-config($config-or-theme);
89
89
  .mat-mdc-chip {
90
- @include mdc-chips.density($density-scale, $query: mdc-helpers.$mat-base-styles-query);
90
+ @include mdc-chip-theme.density($density-scale, $query: mdc-helpers.$mat-base-styles-query);
91
91
  }
92
92
  }
93
93
 
@@ -0,0 +1,40 @@
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 { AfterViewInit, ChangeDetectorRef, ElementRef, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
9
+ import { MDCChipActionAdapter, MDCChipActionFoundation } from '@material/chips';
10
+ import { CanDisable, HasTabIndex } from '@angular/material-experimental/mdc-core';
11
+ import * as i0 from "@angular/core";
12
+ declare const _MatChipActionMixinBase: import("@angular/material-experimental/mdc-core")._Constructor<HasTabIndex> & import("@angular/material-experimental/mdc-core")._AbstractConstructor<HasTabIndex> & import("@angular/material-experimental/mdc-core")._Constructor<CanDisable> & import("@angular/material-experimental/mdc-core")._AbstractConstructor<CanDisable> & {
13
+ new (): {};
14
+ };
15
+ /**
16
+ * Interactive element within a chip.
17
+ * @docs-private
18
+ */
19
+ export declare class MatChipAction extends _MatChipActionMixinBase implements AfterViewInit, OnDestroy, CanDisable, HasTabIndex, OnChanges {
20
+ _elementRef: ElementRef;
21
+ private _changeDetectorRef;
22
+ private _document;
23
+ private _foundation;
24
+ private _adapter;
25
+ /** Whether the action is interactive. */
26
+ isInteractive: boolean;
27
+ _handleClick(_event: MouseEvent): void;
28
+ _handleKeydown(event: KeyboardEvent): void;
29
+ protected _createFoundation(adapter: MDCChipActionAdapter): MDCChipActionFoundation;
30
+ constructor(_elementRef: ElementRef, _document: any, _changeDetectorRef: ChangeDetectorRef);
31
+ ngAfterViewInit(): void;
32
+ ngOnChanges(changes: SimpleChanges): void;
33
+ ngOnDestroy(): void;
34
+ focus(): void;
35
+ _getFoundation(): MDCChipActionFoundation;
36
+ _updateTabindex(value: number): void;
37
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatChipAction, never>;
38
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatChipAction, "[matChipAction]", never, { "disabled": "disabled"; "tabIndex": "tabIndex"; "isInteractive": "isInteractive"; }, {}, never>;
39
+ }
40
+ export {};
@@ -5,18 +5,17 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- import { Directionality } from '@angular/cdk/bidi';
9
8
  import { BooleanInput } from '@angular/cdk/coercion';
10
9
  import { AfterContentInit, AfterViewInit, ChangeDetectorRef, DoCheck, ElementRef, EventEmitter, OnDestroy, QueryList } from '@angular/core';
11
10
  import { ControlValueAccessor, FormGroupDirective, NgControl, NgForm } from '@angular/forms';
12
11
  import { CanUpdateErrorState, ErrorStateMatcher } from '@angular/material-experimental/mdc-core';
13
12
  import { MatFormFieldControl } from '@angular/material-experimental/mdc-form-field';
13
+ import { LiveAnnouncer } from '@angular/cdk/a11y';
14
14
  import { MatChipTextControl } from './chip-text-control';
15
15
  import { Observable } from 'rxjs';
16
16
  import { MatChipEvent } from './chip';
17
17
  import { MatChipRow } from './chip-row';
18
18
  import { MatChipSet } from './chip-set';
19
- import { GridFocusKeyManager } from './grid-focus-key-manager';
20
19
  import * as i0 from "@angular/core";
21
20
  /** Change event object that is emitted when the chip grid value has changed. */
22
21
  export declare class MatChipGridChange {
@@ -40,7 +39,7 @@ declare class MatChipGridBase extends MatChipSet {
40
39
  _parentFormGroup: FormGroupDirective;
41
40
  /** @docs-private */
42
41
  ngControl: NgControl;
43
- constructor(_elementRef: ElementRef, _changeDetectorRef: ChangeDetectorRef, _dir: Directionality, _defaultErrorStateMatcher: ErrorStateMatcher, _parentForm: NgForm, _parentFormGroup: FormGroupDirective,
42
+ constructor(liveAnnouncer: LiveAnnouncer, document: any, elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, _defaultErrorStateMatcher: ErrorStateMatcher, _parentForm: NgForm, _parentFormGroup: FormGroupDirective,
44
43
  /** @docs-private */
45
44
  ngControl: NgControl);
46
45
  }
@@ -55,10 +54,6 @@ export declare class MatChipGrid extends _MatChipGridMixinBase implements AfterC
55
54
  * @docs-private
56
55
  */
57
56
  readonly controlType: string;
58
- /** Subscription to focus changes in the chips. */
59
- private _chipFocusSubscription;
60
- /** Subscription to blur changes in the chips. */
61
- private _chipBlurSubscription;
62
57
  /** The chip input to add more chips */
63
58
  protected _chipInput: MatChipTextControl;
64
59
  /**
@@ -71,8 +66,6 @@ export declare class MatChipGrid extends _MatChipGridMixinBase implements AfterC
71
66
  * @docs-private
72
67
  */
73
68
  _onChange: (value: any) => void;
74
- /** The GridFocusKeyManager which handles focus. */
75
- _keyManager: GridFocusKeyManager;
76
69
  /**
77
70
  * Implemented as part of MatFormFieldControl.
78
71
  * @docs-private
@@ -134,7 +127,7 @@ export declare class MatChipGrid extends _MatChipGridMixinBase implements AfterC
134
127
  */
135
128
  readonly valueChange: EventEmitter<any>;
136
129
  _chips: QueryList<MatChipRow>;
137
- constructor(_elementRef: ElementRef, _changeDetectorRef: ChangeDetectorRef, _dir: Directionality, _parentForm: NgForm, _parentFormGroup: FormGroupDirective, _defaultErrorStateMatcher: ErrorStateMatcher, ngControl: NgControl);
130
+ constructor(liveAnnouncer: LiveAnnouncer, document: any, elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, parentForm: NgForm, parentFormGroup: FormGroupDirective, defaultErrorStateMatcher: ErrorStateMatcher, ngControl: NgControl);
138
131
  ngAfterContentInit(): void;
139
132
  ngAfterViewInit(): void;
140
133
  ngDoCheck(): void;
@@ -183,19 +176,10 @@ export declare class MatChipGrid extends _MatChipGridMixinBase implements AfterC
183
176
  * user to tab out of it. This prevents the grid from capturing focus and redirecting
184
177
  * it back to the first chip, creating a focus trap, if it user tries to tab away.
185
178
  */
186
- _allowFocusEscape(): void;
179
+ protected _allowFocusEscape(): void;
187
180
  /** Handles custom keyboard events. */
188
181
  _keydown(event: KeyboardEvent): void;
189
- /** Unsubscribes from all chip events. */
190
- protected _dropSubscriptions(): void;
191
- /** Subscribes to events on the child chips. */
192
- protected _subscribeToChipEvents(): void;
193
- /** Initializes the key manager to manage focus. */
194
- private _initKeyManager;
195
- /** Subscribes to chip focus events. */
196
- private _listenToChipsFocus;
197
- /** Subscribes to chip blur events. */
198
- private _listenToChipsBlur;
182
+ _focusLastChip(): void;
199
183
  /** Emits change event to set the model value. */
200
184
  private _propagateChanges;
201
185
  /** Mark the field as touched */
@@ -204,9 +188,7 @@ export declare class MatChipGrid extends _MatChipGridMixinBase implements AfterC
204
188
  * If the amount of chips changed, we need to focus the next closest chip.
205
189
  */
206
190
  private _updateFocusForDestroyedChips;
207
- /** Focus input element. */
208
- private _focusInput;
209
- static ɵfac: i0.ɵɵFactoryDeclaration<MatChipGrid, [null, null, { optional: true; }, { optional: true; }, { optional: true; }, null, { optional: true; self: true; }]>;
191
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatChipGrid, [null, null, null, null, { optional: true; }, { optional: true; }, null, { optional: true; self: true; }]>;
210
192
  static ɵcmp: i0.ɵɵComponentDeclaration<MatChipGrid, "mat-chip-grid", never, { "tabIndex": "tabIndex"; "disabled": "disabled"; "placeholder": "placeholder"; "required": "required"; "value": "value"; "errorStateMatcher": "errorStateMatcher"; }, { "change": "change"; "valueChange": "valueChange"; }, ["_chips"], ["*"]>;
211
193
  }
212
194
  export {};
@@ -5,9 +5,9 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- import { ChangeDetectorRef, ElementRef, InjectionToken, OnDestroy } from '@angular/core';
9
- import { CanDisable, HasTabIndex } from '@angular/material-experimental/mdc-core';
10
- import { Subject } from 'rxjs';
8
+ import { InjectionToken } from '@angular/core';
9
+ import { MDCChipActionAdapter, MDCChipTrailingActionFoundation } from '@material/chips';
10
+ import { MatChipAction } from './chip-action';
11
11
  import * as i0 from "@angular/core";
12
12
  /**
13
13
  * Injection token that can be used to reference instances of `MatChipAvatar`. It serves as
@@ -20,11 +20,6 @@ export declare const MAT_CHIP_AVATAR: InjectionToken<MatChipAvatar>;
20
20
  * @docs-private
21
21
  */
22
22
  export declare class MatChipAvatar {
23
- private _changeDetectorRef;
24
- private _elementRef;
25
- constructor(_changeDetectorRef: ChangeDetectorRef, _elementRef: ElementRef<HTMLElement>);
26
- /** Sets whether the given CSS class should be applied to the leading icon. */
27
- setClass(cssClass: string, active: boolean): void;
28
23
  static ɵfac: i0.ɵɵFactoryDeclaration<MatChipAvatar, never>;
29
24
  static ɵdir: i0.ɵɵDirectiveDeclaration<MatChipAvatar, "mat-chip-avatar, [matChipAvatar]", never, {}, {}, never>;
30
25
  }
@@ -38,16 +33,13 @@ export declare const MAT_CHIP_TRAILING_ICON: InjectionToken<MatChipTrailingIcon>
38
33
  * Directive to add CSS classes to and configure attributes for chip trailing icon.
39
34
  * @docs-private
40
35
  */
41
- export declare class MatChipTrailingIcon implements OnDestroy {
42
- _elementRef: ElementRef;
43
- private _foundation;
44
- private _adapter;
45
- constructor(_elementRef: ElementRef);
46
- ngOnDestroy(): void;
47
- focus(): void;
48
- /** Sets an attribute on the icon. */
49
- setAttribute(name: string, value: string): void;
50
- isNavigable(): boolean;
36
+ export declare class MatChipTrailingIcon extends MatChipAction {
37
+ /**
38
+ * MDC considers all trailing actions as a remove icon,
39
+ * but we support non-interactive trailing icons.
40
+ */
41
+ isInteractive: boolean;
42
+ protected _createFoundation(adapter: MDCChipActionAdapter): MDCChipTrailingActionFoundation;
51
43
  static ɵfac: i0.ɵɵFactoryDeclaration<MatChipTrailingIcon, never>;
52
44
  static ɵdir: i0.ɵɵDirectiveDeclaration<MatChipTrailingIcon, "mat-chip-trailing-icon, [matChipTrailingIcon]", never, {}, {}, never>;
53
45
  }
@@ -57,14 +49,6 @@ export declare class MatChipTrailingIcon implements OnDestroy {
57
49
  * retention of the class and its directive metadata.
58
50
  */
59
51
  export declare const MAT_CHIP_REMOVE: InjectionToken<MatChipRemove>;
60
- /**
61
- * Boilerplate for applying mixins to MatChipRemove.
62
- * @docs-private
63
- */
64
- declare class MatChipRemoveBase extends MatChipTrailingIcon {
65
- constructor(elementRef: ElementRef);
66
- }
67
- declare const _MatChipRemoveMixinBase: import("@angular/material-experimental/mdc-core")._Constructor<HasTabIndex> & import("@angular/material-experimental/mdc-core")._AbstractConstructor<HasTabIndex> & import("@angular/material-experimental/mdc-core")._Constructor<CanDisable> & import("@angular/material-experimental/mdc-core")._AbstractConstructor<CanDisable> & typeof MatChipRemoveBase;
68
52
  /**
69
53
  * Directive to remove the parent chip when the trailing icon is clicked or
70
54
  * when the ENTER key is pressed on it.
@@ -80,17 +64,10 @@ declare const _MatChipRemoveMixinBase: import("@angular/material-experimental/md
80
64
  * </mat-chip>
81
65
  * ```
82
66
  */
83
- export declare class MatChipRemove extends _MatChipRemoveMixinBase implements CanDisable, HasTabIndex {
84
- /**
85
- * Emits when the user interacts with the icon.
86
- * @docs-private
87
- */
88
- readonly interaction: Subject<MouseEvent | KeyboardEvent>;
89
- constructor(elementRef: ElementRef);
90
- /** Emits a MouseEvent when the user clicks on the remove icon. */
67
+ export declare class MatChipRemove extends MatChipAction {
68
+ protected _createFoundation(adapter: MDCChipActionAdapter): MDCChipTrailingActionFoundation;
91
69
  _handleClick(event: MouseEvent): void;
92
- focus(): void;
70
+ _handleKeydown(event: KeyboardEvent): void;
93
71
  static ɵfac: i0.ɵɵFactoryDeclaration<MatChipRemove, never>;
94
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatChipRemove, "[matChipRemove]", never, { "disabled": "disabled"; "tabIndex": "tabIndex"; }, {}, never>;
72
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatChipRemove, "[matChipRemove]", never, {}, {}, never>;
95
73
  }
96
- export {};
@@ -5,13 +5,11 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- import { FocusKeyManager } from '@angular/cdk/a11y';
9
- import { Directionality } from '@angular/cdk/bidi';
10
8
  import { BooleanInput } from '@angular/cdk/coercion';
11
- import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, QueryList } from '@angular/core';
9
+ import { AfterContentInit, EventEmitter, OnDestroy, QueryList } from '@angular/core';
12
10
  import { ControlValueAccessor } from '@angular/forms';
13
11
  import { Observable } from 'rxjs';
14
- import { MatChip, MatChipEvent } from './chip';
12
+ import { MatChipEvent } from './chip';
15
13
  import { MatChipOption, MatChipSelectionChange } from './chip-option';
16
14
  import { MatChipSet } from './chip-set';
17
15
  import * as i0 from "@angular/core";
@@ -37,15 +35,7 @@ export declare const MAT_CHIP_LISTBOX_CONTROL_VALUE_ACCESSOR: any;
37
35
  * An extension of the MatChipSet component that supports chip selection.
38
36
  * Used with MatChipOption chips.
39
37
  */
40
- export declare class MatChipListbox extends MatChipSet implements AfterContentInit, ControlValueAccessor {
41
- /** Subscription to selection changes in the chips. */
42
- private _chipSelectionSubscription;
43
- /** Subscription to blur changes in the chips. */
44
- private _chipBlurSubscription;
45
- /** Subscription to focus changes in the chips. */
46
- private _chipFocusSubscription;
47
- /** The FocusKeyManager which handles focus. */
48
- _keyManager: FocusKeyManager<MatChip>;
38
+ export declare class MatChipListbox extends MatChipSet implements AfterContentInit, OnDestroy, ControlValueAccessor {
49
39
  /**
50
40
  * Function when touched. Set as part of ControlValueAccessor implementation.
51
41
  * @docs-private
@@ -100,7 +90,6 @@ export declare class MatChipListbox extends MatChipSet implements AfterContentIn
100
90
  /** Event emitted when the selected chip listbox value has been changed by the user. */
101
91
  readonly change: EventEmitter<MatChipListboxChange>;
102
92
  _chips: QueryList<MatChipOption>;
103
- constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, _dir: Directionality);
104
93
  ngAfterContentInit(): void;
105
94
  /**
106
95
  * Focuses the first selected chip in this chip listbox, or the first non-disabled chip when there
@@ -129,19 +118,8 @@ export declare class MatChipListbox extends MatChipSet implements AfterContentIn
129
118
  setDisabledState(isDisabled: boolean): void;
130
119
  /** Selects all chips with value. */
131
120
  _setSelectionByValue(value: any, isUserInput?: boolean): void;
132
- /** Selects or deselects a chip by id. */
133
- _setSelected(index: number, selected: boolean): void;
134
121
  /** When blurred, marks the field as touched when focus moved outside the chip listbox. */
135
122
  _blur(): void;
136
- /**
137
- * Removes the `tabindex` from the chip listbox and resets it back afterwards, allowing the
138
- * user to tab out of it. This prevents the listbox from capturing focus and redirecting
139
- * it back to the first chip, creating a focus trap, if it user tries to tab away.
140
- */
141
- _allowFocusEscape(): void;
142
- /**
143
- * Handles custom keyboard shortcuts, and passes other keyboard events to the keyboard manager.
144
- */
145
123
  _keydown(event: KeyboardEvent): void;
146
124
  /** Marks the field as touched */
147
125
  private _markAsTouched;
@@ -163,27 +141,13 @@ export declare class MatChipListbox extends MatChipSet implements AfterContentIn
163
141
  private _selectValue;
164
142
  /** Syncs the chip-listbox selection state with the individual chips. */
165
143
  private _syncListboxProperties;
166
- /** Sets the mdc classes for single vs multi selection. */
167
- private _updateMdcSelectionClasses;
168
- /** Initializes the key manager to manage focus. */
169
- private _initKeyManager;
170
144
  /** Returns the first selected chip in this listbox, or undefined if no chips are selected. */
171
145
  private _getFirstSelectedChip;
172
- /** Unsubscribes from all chip events. */
173
- protected _dropSubscriptions(): void;
174
- /** Subscribes to events on the child chips. */
175
- protected _subscribeToChipEvents(): void;
176
- /** Subscribes to chip focus events. */
177
- private _listenToChipsFocus;
178
- /** Subscribes to chip blur events. */
179
- private _listenToChipsBlur;
180
- /** Subscribes to selection changes in the option chips. */
181
- private _listenToChipsSelection;
182
146
  /**
183
147
  * If the amount of chips changed, we need to update the
184
148
  * key manager state and focus the next closest chip.
185
149
  */
186
150
  private _updateFocusForDestroyedChips;
187
- static ɵfac: i0.ɵɵFactoryDeclaration<MatChipListbox, [null, null, { optional: true; }]>;
151
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatChipListbox, never>;
188
152
  static ɵcmp: i0.ɵɵComponentDeclaration<MatChipListbox, "mat-chip-listbox", never, { "tabIndex": "tabIndex"; "multiple": "multiple"; "ariaOrientation": "aria-orientation"; "selectable": "selectable"; "compareWith": "compareWith"; "required": "required"; "value": "value"; }, { "change": "change"; }, ["_chips"], ["*"]>;
189
153
  }
@@ -6,7 +6,8 @@
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
8
  import { BooleanInput } from '@angular/cdk/coercion';
9
- import { EventEmitter, AfterContentInit } from '@angular/core';
9
+ import { EventEmitter, AfterViewInit, OnInit } from '@angular/core';
10
+ import { ActionInteractionEvent } from '@material/chips';
10
11
  import { MatChip } from './chip';
11
12
  import * as i0 from "@angular/core";
12
13
  /** Event object emitted by MatChipOption when selected or deselected. */
@@ -29,7 +30,14 @@ export declare class MatChipSelectionChange {
29
30
  * An extension of the MatChip component that supports chip selection.
30
31
  * Used with MatChipListbox.
31
32
  */
32
- export declare class MatChipOption extends MatChip implements AfterContentInit {
33
+ export declare class MatChipOption extends MatChip implements OnInit, AfterViewInit {
34
+ /** Whether the component is done initializing. */
35
+ private _isInitialized;
36
+ /**
37
+ * Selected state that was assigned before the component was initializing
38
+ * and which needs to be synced back up with the foundation.
39
+ */
40
+ private _pendingSelectedState;
33
41
  /** Whether the chip list is selectable. */
34
42
  chipListSelectable: boolean;
35
43
  /** Whether the chip list is in multi-selection mode. */
@@ -53,7 +61,8 @@ export declare class MatChipOption extends MatChip implements AfterContentInit {
53
61
  protected basicChipAttrName: string;
54
62
  /** Emitted when the chip is selected or deselected. */
55
63
  readonly selectionChange: EventEmitter<MatChipSelectionChange>;
56
- ngAfterContentInit(): void;
64
+ ngOnInit(): void;
65
+ ngAfterViewInit(): void;
57
66
  /** Selects the chip. */
58
67
  select(): void;
59
68
  /** Deselects the chip. */
@@ -62,16 +71,11 @@ export declare class MatChipOption extends MatChip implements AfterContentInit {
62
71
  selectViaInteraction(): void;
63
72
  /** Toggles the current selected state of this chip. */
64
73
  toggleSelected(isUserInput?: boolean): boolean;
65
- /** Emits a selection change event. */
66
- private _dispatchSelectionChange;
67
- /** Allows for programmatic focusing of the chip. */
68
- focus(): void;
69
74
  /** Resets the state of the chip when it loses focus. */
70
75
  _blur(): void;
71
- /** Handles click events on the chip. */
72
- _click(event: MouseEvent): void;
73
- /** Handles custom key presses. */
74
- _keydown(event: KeyboardEvent): void;
76
+ protected _onChipInteraction(event: ActionInteractionEvent): void;
77
+ _hasLeadingGraphic(): import("@angular/material-experimental/mdc-chips").MatChipAvatar;
78
+ private _setSelectedState;
75
79
  static ɵfac: i0.ɵɵFactoryDeclaration<MatChipOption, never>;
76
80
  static ɵcmp: i0.ɵɵComponentDeclaration<MatChipOption, "mat-basic-chip-option, mat-chip-option", never, { "color": "color"; "disableRipple": "disableRipple"; "tabIndex": "tabIndex"; "selectable": "selectable"; "selected": "selected"; }, { "selectionChange": "selectionChange"; }, never, ["mat-chip-avatar, [matChipAvatar]", "*", "mat-chip-trailing-icon,[matChipRemove],[matChipTrailingIcon]"]>;
77
81
  }
@@ -6,11 +6,11 @@
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
8
  import { Directionality } from '@angular/cdk/bidi';
9
- import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone } from '@angular/core';
9
+ import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone } from '@angular/core';
10
10
  import { RippleGlobalOptions } from '@angular/material-experimental/mdc-core';
11
+ import { FocusMonitor } from '@angular/cdk/a11y';
11
12
  import { MatChip, MatChipEvent } from './chip';
12
13
  import { MatChipEditInput } from './chip-edit-input';
13
- import { GridKeyManagerRow } from './grid-key-manager';
14
14
  import * as i0 from "@angular/core";
15
15
  /** Represents an event fired on an individual `mat-chip` when it is edited. */
16
16
  export interface MatChipEditedEvent extends MatChipEvent {
@@ -21,57 +21,42 @@ export interface MatChipEditedEvent extends MatChipEvent {
21
21
  * An extension of the MatChip component used with MatChipGrid and
22
22
  * the matChipInputFor directive.
23
23
  */
24
- export declare class MatChipRow extends MatChip implements AfterContentInit, AfterViewInit, GridKeyManagerRow<HTMLElement> {
25
- private readonly _document;
24
+ export declare class MatChipRow extends MatChip implements AfterViewInit {
26
25
  protected basicChipAttrName: string;
27
26
  editable: boolean;
28
27
  /** Emitted when the chip is edited. */
29
28
  readonly edited: EventEmitter<MatChipEditedEvent>;
30
- /**
31
- * The focusable wrapper element in the first gridcell, which contains all
32
- * chip content other than the remove icon.
33
- */
34
- chipContent: ElementRef;
35
29
  /** The default chip edit input that is used if none is projected into this chip row. */
36
30
  defaultEditInput?: MatChipEditInput;
37
31
  /** The projected chip edit input. */
38
32
  contentEditInput?: MatChipEditInput;
39
- /** The focusable grid cells for this row. Implemented as part of GridKeyManagerRow. */
40
- cells: HTMLElement[];
33
+ _isEditing: boolean;
41
34
  /**
42
35
  * Timeout used to give some time between `focusin` and `focusout`
43
36
  * in order to determine whether focus has left the chip.
44
37
  */
45
38
  private _focusoutTimeout;
46
- constructor(_document: any, changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef, ngZone: NgZone, dir: Directionality, animationMode?: string, globalRippleOptions?: RippleGlobalOptions);
47
- ngAfterContentInit(): void;
48
- ngAfterViewInit(): void;
49
- /**
50
- * Allows for programmatic focusing of the chip.
51
- * Sends focus to the first grid cell. The row chip element itself
52
- * is never focused.
53
- */
54
- focus(): void;
39
+ constructor(changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef, ngZone: NgZone, focusMonitor: FocusMonitor, _document: any, dir: Directionality, animationMode?: string, globalRippleOptions?: RippleGlobalOptions, tabIndex?: string);
40
+ _hasTrailingIcon(): boolean;
55
41
  /**
56
42
  * Emits a blur event when one of the gridcells loses focus, unless focus moved
57
43
  * to the other gridcell.
58
44
  */
59
- _focusout(event: FocusEvent): void;
45
+ _focusout(): void;
60
46
  /** Records that the chip has focus when one of the gridcells is focused. */
61
- _focusin(event: FocusEvent): void;
47
+ _focusin(): void;
62
48
  /** Sends focus to the first gridcell when the user clicks anywhere inside the chip. */
63
49
  _mousedown(event: MouseEvent): void;
64
- _dblclick(event: MouseEvent): void;
65
50
  /** Handles custom key presses. */
66
51
  _keydown(event: KeyboardEvent): void;
67
- _isEditing(): boolean;
68
- protected _onEditStart(): void;
69
- protected _onEditFinish(): void;
52
+ _doubleclick(): void;
53
+ private _startEditing;
54
+ private _onEditFinish;
70
55
  /**
71
56
  * Gets the projected chip edit input, or the default input if none is projected in. One of these
72
57
  * two values is guaranteed to be defined.
73
58
  */
74
59
  private _getEditInput;
75
- static ɵfac: i0.ɵɵFactoryDeclaration<MatChipRow, [null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
76
- static ɵcmp: i0.ɵɵComponentDeclaration<MatChipRow, "mat-chip-row, mat-basic-chip-row", never, { "color": "color"; "disableRipple": "disableRipple"; "tabIndex": "tabIndex"; "editable": "editable"; }, { "edited": "edited"; }, ["contentEditInput"], ["mat-chip-avatar, [matChipAvatar]", "*", "mat-chip-trailing-icon,[matChipTrailingIcon]", "[matChipRemove]", "[matChipEditInput]"]>;
60
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatChipRow, [null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, { attribute: "tabindex"; }]>;
61
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatChipRow, "mat-chip-row, mat-basic-chip-row", never, { "color": "color"; "disableRipple": "disableRipple"; "tabIndex": "tabIndex"; "editable": "editable"; }, { "edited": "edited"; }, ["contentEditInput"], ["mat-chip-avatar, [matChipAvatar]", "*", "[matChipEditInput]", "mat-chip-trailing-icon,[matChipRemove],[matChipTrailingIcon]"]>;
77
62
  }