@angular/material 20.0.0-next.0 → 20.0.0-next.10

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 (698) hide show
  1. package/_index.scss +1 -1
  2. package/autocomplete/_autocomplete-theme.scss +18 -18
  3. package/{core/tokens/m2/mat/_autocomplete.scss → autocomplete/_m2-autocomplete.scss} +7 -7
  4. package/{core/tokens/m3/mat/_autocomplete.scss → autocomplete/_m3-autocomplete.scss} +4 -4
  5. package/autocomplete/index.d.ts +100 -127
  6. package/autocomplete/testing/index.d.ts +7 -11
  7. package/badge/_badge-theme.scss +21 -21
  8. package/{core/tokens/m2/mat/_badge.scss → badge/_m2-badge.scss} +6 -6
  9. package/{core/tokens/m3/mat/_badge.scss → badge/_m3-badge.scss} +28 -27
  10. package/badge/index.d.ts +8 -112
  11. package/badge/testing/index.d.ts +8 -8
  12. package/badge.d-D0iThVg0.d.ts +99 -0
  13. package/bottom-sheet/_bottom-sheet-theme.scss +15 -15
  14. package/{core/tokens/m2/mat/_bottom-sheet.scss → bottom-sheet/_m2-bottom-sheet.scss} +6 -6
  15. package/{core/tokens/m3/mat/_bottom-sheet.scss → bottom-sheet/_m3-bottom-sheet.scss} +5 -5
  16. package/bottom-sheet/index.d.ts +91 -103
  17. package/bottom-sheet/testing/index.d.ts +5 -6
  18. package/button/_button-theme.scss +34 -333
  19. package/button/_fab-theme.scss +23 -128
  20. package/button/_icon-button-theme.scss +29 -36
  21. package/button/_m2-button.scss +249 -0
  22. package/button/_m2-fab.scss +132 -0
  23. package/{core/tokens/m2/mat/_icon-button.scss → button/_m2-icon-button.scss} +35 -26
  24. package/button/_m3-button.scss +260 -0
  25. package/button/_m3-fab.scss +187 -0
  26. package/{core/tokens/m3/mat/_icon-button.scss → button/_m3-icon-button.scss} +32 -7
  27. package/button/index.d.ts +107 -135
  28. package/button/testing/index.d.ts +14 -10
  29. package/button-toggle/_button-toggle-theme.scss +26 -44
  30. package/{core/tokens/m2/mat/_standard-button-toggle.scss → button-toggle/_m2-button-toggle.scss} +40 -20
  31. package/{core/tokens/m3/mat/_standard-button-toggle.scss → button-toggle/_m3-button-toggle.scss} +24 -9
  32. package/button-toggle/index.d.ts +12 -285
  33. package/button-toggle/testing/index.d.ts +39 -37
  34. package/button-toggle.d-B_G01PhW.d.ts +258 -0
  35. package/card/_card-theme.scss +18 -70
  36. package/{core/tokens/m2/mat/_card.scss → card/_m2-card.scss} +20 -18
  37. package/card/_m3-card.scss +48 -0
  38. package/card/index.d.ts +81 -117
  39. package/card/testing/index.d.ts +12 -15
  40. package/checkbox/_checkbox-theme.scss +30 -52
  41. package/{core/tokens/m2/mdc/_checkbox.scss → checkbox/_m2-checkbox.scss} +31 -53
  42. package/checkbox/_m3-checkbox.scss +103 -0
  43. package/checkbox/index.d.ts +45 -105
  44. package/checkbox/testing/index.d.ts +7 -10
  45. package/chips/_chips-theme.scss +24 -67
  46. package/chips/_m2-chip.scss +127 -0
  47. package/chips/_m3-chip.scss +129 -0
  48. package/chips/index.d.ts +624 -694
  49. package/chips/testing/index.d.ts +79 -93
  50. package/common-module.d-C8xzHJDr.d.ts +44 -0
  51. package/core/_core-theme.scss +34 -54
  52. package/core/_core.scss +6 -6
  53. package/core/{tokens/m2/mat/_app.scss → _m2-app.scss} +8 -7
  54. package/core/{tokens/m3/mat/_app.scss → _m3-app.scss} +4 -4
  55. package/core/density/private/_all-density.scss +38 -38
  56. package/core/index.d.ts +60 -976
  57. package/core/m2/_theming.scss +68 -44
  58. package/core/{tokens/m2/mat/_optgroup.scss → option/_m2-optgroup.scss} +6 -6
  59. package/core/{tokens/m2/mat/_option.scss → option/_m2-option.scss} +6 -6
  60. package/core/{tokens/m3/mat/_optgroup.scss → option/_m3-optgroup.scss} +4 -4
  61. package/core/option/_m3-option.scss +57 -0
  62. package/core/option/_optgroup-theme.scss +10 -14
  63. package/core/option/_option-theme.scss +14 -22
  64. package/core/{tokens/m2/mat/_ripple.scss → ripple/_m2-ripple.scss} +6 -6
  65. package/core/{tokens/m3/mat/_ripple.scss → ripple/_m3-ripple.scss} +3 -3
  66. package/core/ripple/_ripple-theme.scss +15 -15
  67. package/core/ripple/_ripple.scss +3 -4
  68. package/core/{tokens/m2/mat/_full-pseudo-checkbox.scss → selection/pseudo-checkbox/_m2-pseudo-checkbox.scss} +15 -13
  69. package/core/selection/pseudo-checkbox/_m3-pseudo-checkbox.scss +49 -0
  70. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +10 -38
  71. package/core/testing/index.d.ts +9 -42
  72. package/core/theming/_color-api-backwards-compatibility.scss +19 -8
  73. package/core/theming/_definition.scss +2 -3
  74. package/core/theming/_inspection.scss +3 -2
  75. package/core/tokens/_m2-tokens.scss +131 -0
  76. package/core/tokens/_m2-utils.scss +109 -0
  77. package/core/tokens/_m3-system.scss +67 -27
  78. package/core/tokens/_m3-tokens.scss +113 -33
  79. package/core/tokens/_m3-utils.scss +85 -0
  80. package/core/tokens/_token-utils.scss +69 -67
  81. package/core/tokens/m3/_index.scss +8 -163
  82. package/core/tokens/m3/{definitions/_md-sys-color.scss → _md-sys-color.scss} +44 -2
  83. package/core/tokens/m3/{definitions/_md-sys-typescale.scss → _md-sys-typescale.scss} +20 -1
  84. package/date-adapter.d-CtKXIxk0.d.ts +267 -0
  85. package/date-range-input-harness.d-CaEyN8dT.d.ts +279 -0
  86. package/datepicker/_datepicker-theme.scss +27 -42
  87. package/{core/tokens/m2/mat/_datepicker.scss → datepicker/_m2-datepicker.scss} +7 -7
  88. package/{core/tokens/m3/mat/_datepicker.scss → datepicker/_m3-datepicker.scss} +13 -11
  89. package/datepicker/index.d.ts +1336 -1481
  90. package/datepicker/testing/index.d.ts +5 -287
  91. package/dialog/_dialog-theme.scss +12 -39
  92. package/{core/tokens/m2/mdc/_dialog.scss → dialog/_m2-dialog.scss} +21 -50
  93. package/dialog/_m3-dialog.scss +47 -0
  94. package/dialog/index.d.ts +59 -453
  95. package/dialog/testing/index.d.ts +23 -26
  96. package/dialog.d-DsYAn2Gk.d.ts +339 -0
  97. package/divider/_divider-theme.scss +10 -14
  98. package/{core/tokens/m2/mat/_divider.scss → divider/_m2-divider.scss} +6 -6
  99. package/{core/tokens/m3/mat/_divider.scss → divider/_m3-divider.scss} +3 -3
  100. package/divider/index.d.ts +6 -11
  101. package/divider/testing/index.d.ts +5 -6
  102. package/error-options.d-CGdTZUYk.d.ts +17 -0
  103. package/expansion/_expansion-theme.scss +19 -22
  104. package/{core/tokens/m2/mat/_expansion.scss → expansion/_m2-expansion.scss} +7 -7
  105. package/{core/tokens/m3/mat/_expansion.scss → expansion/_m3-expansion.scss} +22 -8
  106. package/expansion/index.d.ts +140 -190
  107. package/expansion/testing/index.d.ts +26 -31
  108. package/fesm2022/animation-DfMFjxHu.mjs +41 -0
  109. package/fesm2022/animation-DfMFjxHu.mjs.map +1 -0
  110. package/fesm2022/autocomplete/testing.mjs +2 -1
  111. package/fesm2022/autocomplete/testing.mjs.map +1 -1
  112. package/fesm2022/autocomplete.mjs +79 -51
  113. package/fesm2022/autocomplete.mjs.map +1 -1
  114. package/fesm2022/badge/testing.mjs.map +1 -1
  115. package/fesm2022/badge.mjs +22 -23
  116. package/fesm2022/badge.mjs.map +1 -1
  117. package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
  118. package/fesm2022/bottom-sheet.mjs +33 -22
  119. package/fesm2022/bottom-sheet.mjs.map +1 -1
  120. package/fesm2022/button/testing.mjs +34 -15
  121. package/fesm2022/button/testing.mjs.map +1 -1
  122. package/fesm2022/button-toggle/testing.mjs.map +1 -1
  123. package/fesm2022/button-toggle.mjs +28 -19
  124. package/fesm2022/button-toggle.mjs.map +1 -1
  125. package/fesm2022/button.mjs +114 -285
  126. package/fesm2022/button.mjs.map +1 -1
  127. package/fesm2022/card/testing.mjs.map +1 -1
  128. package/fesm2022/card.mjs +52 -52
  129. package/fesm2022/card.mjs.map +1 -1
  130. package/fesm2022/checkbox/testing.mjs.map +1 -1
  131. package/fesm2022/checkbox.mjs +39 -78
  132. package/fesm2022/checkbox.mjs.map +1 -1
  133. package/fesm2022/chips/testing.mjs +7 -1
  134. package/fesm2022/chips/testing.mjs.map +1 -1
  135. package/fesm2022/chips.mjs +104 -66
  136. package/fesm2022/chips.mjs.map +1 -1
  137. package/fesm2022/common-module-DZl8g1kc.mjs +42 -0
  138. package/fesm2022/common-module-DZl8g1kc.mjs.map +1 -0
  139. package/fesm2022/core/testing.mjs +2 -43
  140. package/fesm2022/core/testing.mjs.map +1 -1
  141. package/fesm2022/core.mjs +39 -1620
  142. package/fesm2022/core.mjs.map +1 -1
  143. package/fesm2022/date-formats-K6TQue-Y.mjs +190 -0
  144. package/fesm2022/date-formats-K6TQue-Y.mjs.map +1 -0
  145. package/fesm2022/date-range-input-harness-Bp1T4oUe.mjs +467 -0
  146. package/fesm2022/date-range-input-harness-Bp1T4oUe.mjs.map +1 -0
  147. package/fesm2022/datepicker/testing.mjs +5 -465
  148. package/fesm2022/datepicker/testing.mjs.map +1 -1
  149. package/fesm2022/datepicker.mjs +198 -156
  150. package/fesm2022/datepicker.mjs.map +1 -1
  151. package/fesm2022/dialog/testing.mjs +14 -1
  152. package/fesm2022/dialog/testing.mjs.map +1 -1
  153. package/fesm2022/dialog.mjs +16 -895
  154. package/fesm2022/dialog.mjs.map +1 -1
  155. package/fesm2022/divider/testing.mjs.map +1 -1
  156. package/fesm2022/divider.mjs +11 -13
  157. package/fesm2022/divider.mjs.map +1 -1
  158. package/fesm2022/error-options-BWOa3B4G.mjs +29 -0
  159. package/fesm2022/error-options-BWOa3B4G.mjs.map +1 -0
  160. package/fesm2022/error-state-Dtb1IHM-.mjs +37 -0
  161. package/fesm2022/error-state-Dtb1IHM-.mjs.map +1 -0
  162. package/fesm2022/expansion/testing.mjs.map +1 -1
  163. package/fesm2022/expansion.mjs +36 -37
  164. package/fesm2022/expansion.mjs.map +1 -1
  165. package/fesm2022/form-field/testing/control.mjs.map +1 -1
  166. package/fesm2022/form-field/testing.mjs +7 -6
  167. package/fesm2022/form-field/testing.mjs.map +1 -1
  168. package/fesm2022/form-field-BZd6Vhww.mjs +1101 -0
  169. package/fesm2022/form-field-BZd6Vhww.mjs.map +1 -0
  170. package/fesm2022/form-field.mjs +16 -1110
  171. package/fesm2022/form-field.mjs.map +1 -1
  172. package/fesm2022/grid-list/testing.mjs +2 -2
  173. package/fesm2022/grid-list/testing.mjs.map +1 -1
  174. package/fesm2022/grid-list.mjs +32 -176
  175. package/fesm2022/grid-list.mjs.map +1 -1
  176. package/fesm2022/icon/testing.mjs +11 -12
  177. package/fesm2022/icon/testing.mjs.map +1 -1
  178. package/fesm2022/icon-button-4VvBKIK4.mjs +212 -0
  179. package/fesm2022/icon-button-4VvBKIK4.mjs.map +1 -0
  180. package/fesm2022/icon-registry-Bk5cM8Z5.mjs +638 -0
  181. package/fesm2022/icon-registry-Bk5cM8Z5.mjs.map +1 -0
  182. package/fesm2022/icon.mjs +24 -642
  183. package/fesm2022/icon.mjs.map +1 -1
  184. package/fesm2022/index-BHJ4tVIe.mjs +22 -0
  185. package/fesm2022/index-BHJ4tVIe.mjs.map +1 -0
  186. package/fesm2022/index-D2rZ0V78.mjs +20 -0
  187. package/fesm2022/index-D2rZ0V78.mjs.map +1 -0
  188. package/fesm2022/input/testing.mjs +5 -113
  189. package/fesm2022/input/testing.mjs.map +1 -1
  190. package/fesm2022/input-harness-oQzj5EsQ.mjs +115 -0
  191. package/fesm2022/input-harness-oQzj5EsQ.mjs.map +1 -0
  192. package/fesm2022/input-value-accessor-D1GvPuqO.mjs +12 -0
  193. package/fesm2022/input-value-accessor-D1GvPuqO.mjs.map +1 -0
  194. package/fesm2022/input.mjs +32 -40
  195. package/fesm2022/input.mjs.map +1 -1
  196. package/fesm2022/internal-form-field-DVvKYBKJ.mjs +27 -0
  197. package/fesm2022/internal-form-field-DVvKYBKJ.mjs.map +1 -0
  198. package/fesm2022/line-Dwrcg_t9.mjs +59 -0
  199. package/fesm2022/line-Dwrcg_t9.mjs.map +1 -0
  200. package/fesm2022/list/testing.mjs +2 -2
  201. package/fesm2022/list/testing.mjs.map +1 -1
  202. package/fesm2022/list.mjs +71 -68
  203. package/fesm2022/list.mjs.map +1 -1
  204. package/fesm2022/material.mjs.map +1 -1
  205. package/fesm2022/menu/testing.mjs.map +1 -1
  206. package/fesm2022/menu.mjs +57 -46
  207. package/fesm2022/menu.mjs.map +1 -1
  208. package/fesm2022/module-CTd5xD2i.mjs +39 -0
  209. package/fesm2022/module-CTd5xD2i.mjs.map +1 -0
  210. package/fesm2022/module-D-cNfopD.mjs +891 -0
  211. package/fesm2022/module-D-cNfopD.mjs.map +1 -0
  212. package/fesm2022/module-X29xYsIk.mjs +970 -0
  213. package/fesm2022/module-X29xYsIk.mjs.map +1 -0
  214. package/fesm2022/module-qRXgbi2L.mjs +1312 -0
  215. package/fesm2022/module-qRXgbi2L.mjs.map +1 -0
  216. package/fesm2022/option-MOeehkAg.mjs +348 -0
  217. package/fesm2022/option-MOeehkAg.mjs.map +1 -0
  218. package/fesm2022/option-harness-BFcc-M_4.mjs +46 -0
  219. package/fesm2022/option-harness-BFcc-M_4.mjs.map +1 -0
  220. package/fesm2022/paginator/testing.mjs +4 -1
  221. package/fesm2022/paginator/testing.mjs.map +1 -1
  222. package/fesm2022/paginator.mjs +54 -22
  223. package/fesm2022/paginator.mjs.map +1 -1
  224. package/fesm2022/progress-bar/testing.mjs +0 -4
  225. package/fesm2022/progress-bar/testing.mjs.map +1 -1
  226. package/fesm2022/progress-bar.mjs +20 -19
  227. package/fesm2022/progress-bar.mjs.map +1 -1
  228. package/fesm2022/progress-spinner/testing.mjs +0 -4
  229. package/fesm2022/progress-spinner/testing.mjs.map +1 -1
  230. package/fesm2022/progress-spinner.mjs +22 -20
  231. package/fesm2022/progress-spinner.mjs.map +1 -1
  232. package/fesm2022/pseudo-checkbox-BFGIaGxz.mjs +53 -0
  233. package/fesm2022/pseudo-checkbox-BFGIaGxz.mjs.map +1 -0
  234. package/fesm2022/pseudo-checkbox-module-Dxth-mPi.mjs +20 -0
  235. package/fesm2022/pseudo-checkbox-module-Dxth-mPi.mjs.map +1 -0
  236. package/fesm2022/public-api-BoO5eSq-.mjs +147 -0
  237. package/fesm2022/public-api-BoO5eSq-.mjs.map +1 -0
  238. package/fesm2022/radio/testing.mjs.map +1 -1
  239. package/fesm2022/radio.mjs +28 -20
  240. package/fesm2022/radio.mjs.map +1 -1
  241. package/fesm2022/ripple-CuyVtN3V.mjs +640 -0
  242. package/fesm2022/ripple-CuyVtN3V.mjs.map +1 -0
  243. package/fesm2022/ripple-loader-pOctSZby.mjs +162 -0
  244. package/fesm2022/ripple-loader-pOctSZby.mjs.map +1 -0
  245. package/fesm2022/select/testing.mjs +3 -2
  246. package/fesm2022/select/testing.mjs.map +1 -1
  247. package/fesm2022/select.mjs +32 -1311
  248. package/fesm2022/select.mjs.map +1 -1
  249. package/fesm2022/sidenav/testing.mjs +1 -1
  250. package/fesm2022/sidenav/testing.mjs.map +1 -1
  251. package/fesm2022/sidenav.mjs +39 -38
  252. package/fesm2022/sidenav.mjs.map +1 -1
  253. package/fesm2022/slide-toggle/testing.mjs.map +1 -1
  254. package/fesm2022/slide-toggle.mjs +32 -80
  255. package/fesm2022/slide-toggle.mjs.map +1 -1
  256. package/fesm2022/slider/testing.mjs.map +1 -1
  257. package/fesm2022/slider.mjs +33 -29
  258. package/fesm2022/slider.mjs.map +1 -1
  259. package/fesm2022/snack-bar/testing.mjs.map +1 -1
  260. package/fesm2022/snack-bar.mjs +55 -53
  261. package/fesm2022/snack-bar.mjs.map +1 -1
  262. package/fesm2022/sort/testing.mjs.map +1 -1
  263. package/fesm2022/sort.mjs +31 -23
  264. package/fesm2022/sort.mjs.map +1 -1
  265. package/fesm2022/stepper/testing.mjs.map +1 -1
  266. package/fesm2022/stepper.mjs +60 -45
  267. package/fesm2022/stepper.mjs.map +1 -1
  268. package/fesm2022/structural-styles-CasigI3l.mjs +18 -0
  269. package/fesm2022/structural-styles-CasigI3l.mjs.map +1 -0
  270. package/fesm2022/table/testing.mjs.map +1 -1
  271. package/fesm2022/table.mjs +61 -65
  272. package/fesm2022/table.mjs.map +1 -1
  273. package/fesm2022/tabs/testing.mjs.map +1 -1
  274. package/fesm2022/tabs.mjs +89 -85
  275. package/fesm2022/tabs.mjs.map +1 -1
  276. package/fesm2022/timepicker/testing.mjs +1 -1
  277. package/fesm2022/timepicker/testing.mjs.map +1 -1
  278. package/fesm2022/timepicker.mjs +51 -41
  279. package/fesm2022/timepicker.mjs.map +1 -1
  280. package/fesm2022/toolbar/testing.mjs.map +1 -1
  281. package/fesm2022/toolbar.mjs +15 -18
  282. package/fesm2022/toolbar.mjs.map +1 -1
  283. package/fesm2022/tooltip/testing.mjs.map +1 -1
  284. package/fesm2022/tooltip.mjs +17 -960
  285. package/fesm2022/tooltip.mjs.map +1 -1
  286. package/fesm2022/tree/testing.mjs.map +1 -1
  287. package/fesm2022/tree.mjs +29 -31
  288. package/fesm2022/tree.mjs.map +1 -1
  289. package/form-field/_form-field-theme.scss +30 -97
  290. package/{core/tokens/m2/mat/_form-field.scss → form-field/_m2-form-field.scss} +94 -13
  291. package/form-field/_m3-form-field.scss +153 -0
  292. package/form-field/index.d.ts +16 -508
  293. package/form-field/testing/control/index.d.ts +2 -2
  294. package/form-field/testing/index.d.ts +19 -24
  295. package/form-field-control.d-DvB4ZVlf.d.ts +64 -0
  296. package/form-field.d-b9aHrR4I.d.ts +373 -0
  297. package/grid-list/_grid-list-theme.scss +8 -10
  298. package/{core/tokens/m2/mat/_grid-list.scss → grid-list/_m2-grid-list.scss} +6 -6
  299. package/{core/tokens/m3/mat/_grid-list.scss → grid-list/_m3-grid-list.scss} +2 -2
  300. package/grid-list/index.d.ts +127 -152
  301. package/grid-list/testing/index.d.ts +40 -44
  302. package/icon/_icon-theme.scss +13 -13
  303. package/{core/tokens/m2/mat/_icon.scss → icon/_m2-icon.scss} +5 -5
  304. package/{core/tokens/m3/mat/_icon.scss → icon/_m3-icon.scss} +8 -6
  305. package/icon/index.d.ts +9 -470
  306. package/icon/testing/index.d.ts +42 -44
  307. package/icon-module.d-sA1hmRKS.d.ts +168 -0
  308. package/icon-registry.d-BVwP8t9_.d.ts +287 -0
  309. package/index.d-C5neTPvr.d.ts +11 -0
  310. package/index.d-CikM2bbf.d.ts +13 -0
  311. package/index.d.ts +2 -3
  312. package/input/_input-theme.scss +1 -1
  313. package/input/index.d.ts +39 -64
  314. package/input/testing/index.d.ts +14 -71
  315. package/input-harness.d-8fkAAbu2.d.ts +61 -0
  316. package/line.d-C-QdueRc.d.ts +25 -0
  317. package/list/_list-theme.scss +41 -71
  318. package/list/_m2-list.scss +133 -0
  319. package/list/_m3-list.scss +92 -0
  320. package/list/index.d.ts +155 -244
  321. package/list/testing/index.d.ts +159 -180
  322. package/list-option-types.d-77dQtwu8.d.ts +15 -0
  323. package/{core/tokens/m2/mat/_menu.scss → menu/_m2-menu.scss} +7 -7
  324. package/{core/tokens/m3/mat/_menu.scss → menu/_m3-menu.scss} +14 -17
  325. package/menu/_menu-theme.scss +12 -18
  326. package/menu/index.d.ts +185 -231
  327. package/menu/testing/index.d.ts +18 -23
  328. package/module.d-BGzxQfCs.d.ts +18 -0
  329. package/module.d-CH_8jCsD.d.ts +454 -0
  330. package/module.d-m-qXd3m8.d.ts +329 -0
  331. package/option-harness.d-IqsW95GR.d.ts +35 -0
  332. package/option-parent.d-CnYuuMkO.d.ts +20 -0
  333. package/option.d-BVGX3edu.d.ts +146 -0
  334. package/package.json +5 -2
  335. package/{core/tokens/m2/mat/_paginator.scss → paginator/_m2-paginator.scss} +7 -7
  336. package/{core/tokens/m3/mat/_paginator.scss → paginator/_m3-paginator.scss} +20 -4
  337. package/paginator/_paginator-theme.scss +17 -18
  338. package/paginator/index.d.ts +31 -216
  339. package/paginator/testing/index.d.ts +15 -15
  340. package/paginator.d-3kymf0wo.d.ts +200 -0
  341. package/palette.d-BSSFKjO6.d.ts +4 -0
  342. package/prebuilt-themes/azure-blue.css +1 -1
  343. package/prebuilt-themes/cyan-orange.css +1 -1
  344. package/prebuilt-themes/deeppurple-amber.css +1 -1
  345. package/prebuilt-themes/indigo-pink.css +1 -1
  346. package/prebuilt-themes/magenta-violet.css +1 -1
  347. package/prebuilt-themes/pink-bluegrey.css +1 -1
  348. package/prebuilt-themes/purple-green.css +1 -1
  349. package/prebuilt-themes/rose-red.css +1 -1
  350. package/{core/tokens/m2/mdc/_linear-progress.scss → progress-bar/_m2-progress-bar.scss} +7 -8
  351. package/{core/tokens/m3/mdc/_linear-progress.scss → progress-bar/_m3-progress-bar.scss} +11 -6
  352. package/progress-bar/_progress-bar-theme.scss +11 -11
  353. package/progress-bar/index.d.ts +41 -60
  354. package/progress-bar/testing/index.d.ts +8 -10
  355. package/{core/tokens/m2/mdc/_tab-indicator.scss → progress-spinner/_m2-progress-spinner.scss} +10 -11
  356. package/{core/tokens/m3/mdc/_circular-progress.scss → progress-spinner/_m3-progress-spinner.scss} +10 -6
  357. package/progress-spinner/_progress-spinner-theme.scss +17 -17
  358. package/progress-spinner/index.d.ts +8 -110
  359. package/progress-spinner/testing/index.d.ts +11 -11
  360. package/progress-spinner.d-DtYCWeYd.d.ts +97 -0
  361. package/pseudo-checkbox-module.d-BHmTZ10P.d.ts +45 -0
  362. package/{core/tokens/m2/mdc/_radio.scss → radio/_m2-radio.scss} +28 -36
  363. package/radio/_m3-radio.scss +79 -0
  364. package/radio/_radio-theme.scss +27 -56
  365. package/radio/index.d.ts +152 -170
  366. package/radio/testing/index.d.ts +62 -67
  367. package/ripple-loader.d-9me-KFSi.d.ts +48 -0
  368. package/ripple.d-BT30YVLB.d.ts +256 -0
  369. package/schematics/ng-add/fonts/material-fonts.js +3 -3
  370. package/schematics/ng-add/fonts/material-fonts.js.map +1 -0
  371. package/schematics/ng-add/index.js +2 -2
  372. package/schematics/ng-add/index.js.map +1 -0
  373. package/schematics/ng-add/package-config.js +1 -1
  374. package/schematics/ng-add/package-config.js.map +1 -0
  375. package/schematics/ng-add/schema.js +1 -1
  376. package/schematics/ng-add/schema.js.map +1 -0
  377. package/schematics/ng-add/setup-project.js +5 -5
  378. package/schematics/ng-add/setup-project.js.map +1 -0
  379. package/schematics/ng-add/theming/create-custom-theme.js +1 -1
  380. package/schematics/ng-add/theming/create-custom-theme.js.map +1 -0
  381. package/schematics/ng-add/theming/theming.js +6 -8
  382. package/schematics/ng-add/theming/theming.js.map +1 -0
  383. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +2 -2
  384. package/schematics/ng-generate/address-form/index.js +1 -1
  385. package/schematics/ng-generate/address-form/index.js.map +1 -0
  386. package/schematics/ng-generate/address-form/schema.js +1 -1
  387. package/schematics/ng-generate/address-form/schema.js.map +1 -0
  388. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +1 -1
  389. package/schematics/ng-generate/dashboard/index.js +1 -1
  390. package/schematics/ng-generate/dashboard/index.js.map +1 -0
  391. package/schematics/ng-generate/dashboard/schema.js +1 -1
  392. package/schematics/ng-generate/dashboard/schema.js.map +1 -0
  393. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +1 -1
  394. package/schematics/ng-generate/navigation/index.js +1 -1
  395. package/schematics/ng-generate/navigation/index.js.map +1 -0
  396. package/schematics/ng-generate/navigation/schema.js +1 -1
  397. package/schematics/ng-generate/navigation/schema.js.map +1 -0
  398. package/schematics/ng-generate/table/index.js +1 -1
  399. package/schematics/ng-generate/table/index.js.map +1 -0
  400. package/schematics/ng-generate/table/schema.js +1 -1
  401. package/schematics/ng-generate/table/schema.js.map +1 -0
  402. package/schematics/ng-generate/theme-color/index_bundled.js +1711 -225
  403. package/schematics/ng-generate/theme-color/index_bundled.js.map +2 -3
  404. package/schematics/ng-generate/theme-color/schema.json +10 -0
  405. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +2 -2
  406. package/schematics/ng-generate/tree/index.js +1 -1
  407. package/schematics/ng-generate/tree/index.js.map +1 -0
  408. package/schematics/ng-generate/tree/schema.js +1 -1
  409. package/schematics/ng-generate/tree/schema.js.map +1 -0
  410. package/schematics/ng-update/index_bundled.js +3465 -4099
  411. package/schematics/ng-update/index_bundled.js.map +3 -4
  412. package/schematics/tsconfig.json +26 -0
  413. package/{core/tokens/m2/mat/_select.scss → select/_m2-select.scss} +11 -11
  414. package/{core/tokens/m3/mat/_select.scss → select/_m3-select.scss} +22 -7
  415. package/select/_select-theme.scss +30 -26
  416. package/select/index.d.ts +25 -505
  417. package/select/testing/index.d.ts +13 -16
  418. package/{core/tokens/m2/mat/_sidenav.scss → sidenav/_m2-sidenav.scss} +7 -7
  419. package/{core/tokens/m3/mat/_sidenav.scss → sidenav/_m3-sidenav.scss} +6 -6
  420. package/sidenav/_sidenav-theme.scss +12 -16
  421. package/sidenav/index.d.ts +51 -93
  422. package/sidenav/testing/index.d.ts +59 -63
  423. package/slide-toggle/_m2-slide-toggle.scss +167 -0
  424. package/slide-toggle/_m3-slide-toggle.scss +160 -0
  425. package/slide-toggle/_slide-toggle-theme.scss +55 -48
  426. package/slide-toggle/index.d.ts +40 -110
  427. package/slide-toggle/testing/index.d.ts +18 -21
  428. package/{core/tokens/m2/mdc/_slider.scss → slider/_m2-slider.scss} +29 -68
  429. package/slider/_m3-slider.scss +121 -0
  430. package/slider/_slider-theme.scss +18 -53
  431. package/slider/index.d.ts +282 -328
  432. package/slider/testing/index.d.ts +43 -47
  433. package/{core/tokens/m2/mat/_snack-bar.scss → snack-bar/_m2-snack-bar.scss} +23 -8
  434. package/snack-bar/_m3-snack-bar.scss +25 -0
  435. package/snack-bar/_snack-bar-theme.scss +11 -30
  436. package/snack-bar/index.d.ts +155 -188
  437. package/snack-bar/testing/index.d.ts +8 -9
  438. package/{core/tokens/m2/mat/_sort.scss → sort/_m2-sort.scss} +6 -6
  439. package/{core/tokens/m3/mat/_sort.scss → sort/_m3-sort.scss} +2 -2
  440. package/sort/_sort-theme.scss +12 -18
  441. package/sort/index.d.ts +62 -170
  442. package/sort/testing/index.d.ts +23 -25
  443. package/sort-direction.d-CF7VUsH-.d.ts +3 -0
  444. package/sort.d-i-bF_IaU.d.ts +88 -0
  445. package/{core/tokens/m2/mat/_stepper.scss → stepper/_m2-stepper.scss} +7 -34
  446. package/stepper/_m3-stepper.scss +102 -0
  447. package/stepper/_stepper-theme.scss +26 -21
  448. package/stepper/index.d.ts +117 -168
  449. package/stepper/testing/index.d.ts +44 -52
  450. package/{core/tokens/m2/mat/_table.scss → table/_m2-table.scss} +7 -7
  451. package/table/_m3-table.scss +44 -0
  452. package/table/_table-theme.scss +18 -22
  453. package/table/index.d.ts +97 -156
  454. package/table/testing/index.d.ts +65 -78
  455. package/{core/tokens/m2/mat/_tab-header.scss → tabs/_m2-tabs.scss} +42 -11
  456. package/tabs/_m3-tabs.scss +70 -0
  457. package/tabs/_tabs-theme.scss +47 -125
  458. package/tabs/index.d.ts +321 -388
  459. package/tabs/testing/index.d.ts +68 -76
  460. package/{core/tokens/m2/mat/_timepicker.scss → timepicker/_m2-timepicker.scss} +7 -7
  461. package/{core/tokens/m3/mat/_timepicker.scss → timepicker/_m3-timepicker.scss} +4 -4
  462. package/timepicker/_timepicker-theme.scss +18 -18
  463. package/timepicker/index.d.ts +127 -161
  464. package/timepicker/testing/index.d.ts +21 -26
  465. package/{core/tokens/m2/mat/_toolbar.scss → toolbar/_m2-toolbar.scss} +7 -7
  466. package/{core/tokens/m3/mat/_toolbar.scss → toolbar/_m3-toolbar.scss} +18 -4
  467. package/toolbar/_toolbar-theme.scss +26 -21
  468. package/toolbar/index.d.ts +15 -26
  469. package/toolbar/testing/index.d.ts +14 -16
  470. package/{core/tokens/m2/mdc/_plain-tooltip.scss → tooltip/_m2-tooltip.scss} +7 -17
  471. package/tooltip/_m3-tooltip.scss +25 -0
  472. package/tooltip/_tooltip-theme.scss +18 -18
  473. package/tooltip/index.d.ts +11 -355
  474. package/tooltip/testing/index.d.ts +8 -10
  475. package/{core/tokens/m2/mat/_tree.scss → tree/_m2-tree.scss} +7 -7
  476. package/{core/tokens/m3/mat/_tree.scss → tree/_m3-tree.scss} +15 -2
  477. package/tree/_tree-theme.scss +19 -15
  478. package/tree/index.d.ts +117 -163
  479. package/tree/testing/index.d.ts +53 -58
  480. package/button/_button-base.scss +0 -181
  481. package/checkbox/_checkbox-common.scss +0 -585
  482. package/core/style/_button-common.scss +0 -17
  483. package/core/style/_form-common.scss +0 -21
  484. package/core/style/_list-common.scss +0 -49
  485. package/core/style/_menu-common.scss +0 -94
  486. package/core/theming/_palette-deprecated.scss +0 -76
  487. package/core/theming/_theming-deprecated.scss +0 -27
  488. package/core/tokens/_density.scss +0 -193
  489. package/core/tokens/_token-definition.scss +0 -273
  490. package/core/tokens/m2/_index.scss +0 -187
  491. package/core/tokens/m2/mat/_checkbox.scss +0 -50
  492. package/core/tokens/m2/mat/_chip.scss +0 -63
  493. package/core/tokens/m2/mat/_dialog.scss +0 -51
  494. package/core/tokens/m2/mat/_fab-small.scss +0 -108
  495. package/core/tokens/m2/mat/_fab.scss +0 -108
  496. package/core/tokens/m2/mat/_filled-button.scss +0 -102
  497. package/core/tokens/m2/mat/_legacy-button-toggle.scss +0 -59
  498. package/core/tokens/m2/mat/_list.scss +0 -44
  499. package/core/tokens/m2/mat/_minimal-pseudo-checkbox.scss +0 -43
  500. package/core/tokens/m2/mat/_outlined-button.scss +0 -88
  501. package/core/tokens/m2/mat/_protected-button.scss +0 -102
  502. package/core/tokens/m2/mat/_radio.scss +0 -52
  503. package/core/tokens/m2/mat/_slider.scss +0 -69
  504. package/core/tokens/m2/mat/_switch.scss +0 -76
  505. package/core/tokens/m2/mat/_tab-header-with-background.scss +0 -42
  506. package/core/tokens/m2/mat/_text-button.scss +0 -91
  507. package/core/tokens/m2/mdc/_chip.scss +0 -313
  508. package/core/tokens/m2/mdc/_circular-progress.scss +0 -61
  509. package/core/tokens/m2/mdc/_elevated-card.scss +0 -77
  510. package/core/tokens/m2/mdc/_extended-fab.scss +0 -87
  511. package/core/tokens/m2/mdc/_fab-small.scss +0 -92
  512. package/core/tokens/m2/mdc/_fab.scss +0 -93
  513. package/core/tokens/m2/mdc/_filled-button.scss +0 -124
  514. package/core/tokens/m2/mdc/_filled-text-field.scss +0 -181
  515. package/core/tokens/m2/mdc/_icon-button.scss +0 -91
  516. package/core/tokens/m2/mdc/_list.scss +0 -219
  517. package/core/tokens/m2/mdc/_outlined-button.scss +0 -124
  518. package/core/tokens/m2/mdc/_outlined-card.scss +0 -85
  519. package/core/tokens/m2/mdc/_outlined-text-field.scss +0 -163
  520. package/core/tokens/m2/mdc/_protected-button.scss +0 -129
  521. package/core/tokens/m2/mdc/_secondary-navigation-tab.scss +0 -87
  522. package/core/tokens/m2/mdc/_snack-bar.scss +0 -93
  523. package/core/tokens/m2/mdc/_switch.scss +0 -192
  524. package/core/tokens/m2/mdc/_text-button.scss +0 -98
  525. package/core/tokens/m3/definitions/_index.scss +0 -94
  526. package/core/tokens/m3/definitions/_md-comp-checkbox.scss +0 -120
  527. package/core/tokens/m3/definitions/_md-comp-circular-progress-indicator.scss +0 -27
  528. package/core/tokens/m3/definitions/_md-comp-data-table.scss +0 -90
  529. package/core/tokens/m3/definitions/_md-comp-dialog.scss +0 -123
  530. package/core/tokens/m3/definitions/_md-comp-elevated-button.scss +0 -87
  531. package/core/tokens/m3/definitions/_md-comp-elevated-card.scss +0 -53
  532. package/core/tokens/m3/definitions/_md-comp-extended-fab-primary.scss +0 -90
  533. package/core/tokens/m3/definitions/_md-comp-extended-fab-secondary.scss +0 -91
  534. package/core/tokens/m3/definitions/_md-comp-extended-fab-tertiary.scss +0 -91
  535. package/core/tokens/m3/definitions/_md-comp-fab-primary-small.scss +0 -59
  536. package/core/tokens/m3/definitions/_md-comp-fab-primary.scss +0 -59
  537. package/core/tokens/m3/definitions/_md-comp-fab-secondary-small.scss +0 -60
  538. package/core/tokens/m3/definitions/_md-comp-fab-secondary.scss +0 -60
  539. package/core/tokens/m3/definitions/_md-comp-fab-tertiary-small.scss +0 -60
  540. package/core/tokens/m3/definitions/_md-comp-fab-tertiary.scss +0 -60
  541. package/core/tokens/m3/definitions/_md-comp-filled-button.scss +0 -85
  542. package/core/tokens/m3/definitions/_md-comp-filled-card.scss +0 -52
  543. package/core/tokens/m3/definitions/_md-comp-filled-icon-button.scss +0 -73
  544. package/core/tokens/m3/definitions/_md-comp-filled-text-field.scss +0 -189
  545. package/core/tokens/m3/definitions/_md-comp-icon-button.scss +0 -64
  546. package/core/tokens/m3/definitions/_md-comp-linear-progress-indicator.scss +0 -29
  547. package/core/tokens/m3/definitions/_md-comp-list.scss +0 -252
  548. package/core/tokens/m3/definitions/_md-comp-outlined-button.scss +0 -80
  549. package/core/tokens/m3/definitions/_md-comp-outlined-card.scss +0 -59
  550. package/core/tokens/m3/definitions/_md-comp-outlined-icon-button.scss +0 -73
  551. package/core/tokens/m3/definitions/_md-comp-outlined-text-field.scss +0 -171
  552. package/core/tokens/m3/definitions/_md-comp-plain-tooltip.scss +0 -51
  553. package/core/tokens/m3/definitions/_md-comp-radio-button.scss +0 -62
  554. package/core/tokens/m3/definitions/_md-comp-secondary-navigation-tab.scss +0 -80
  555. package/core/tokens/m3/definitions/_md-comp-slider.scss +0 -110
  556. package/core/tokens/m3/definitions/_md-comp-snackbar.scss +0 -125
  557. package/core/tokens/m3/definitions/_md-comp-switch.scss +0 -130
  558. package/core/tokens/m3/definitions/_md-comp-text-button.scss +0 -73
  559. package/core/tokens/m3/definitions/unused/_md-comp-assist-chip.scss +0 -105
  560. package/core/tokens/m3/definitions/unused/_md-comp-badge.scss +0 -54
  561. package/core/tokens/m3/definitions/unused/_md-comp-banner.scss +0 -71
  562. package/core/tokens/m3/definitions/unused/_md-comp-bottom-app-bar.scss +0 -29
  563. package/core/tokens/m3/definitions/unused/_md-comp-carousel-item.scss +0 -59
  564. package/core/tokens/m3/definitions/unused/_md-comp-date-input-modal.scss +0 -87
  565. package/core/tokens/m3/definitions/unused/_md-comp-date-picker-docked.scss +0 -248
  566. package/core/tokens/m3/definitions/unused/_md-comp-date-picker-modal.scss +0 -313
  567. package/core/tokens/m3/definitions/unused/_md-comp-divider.scss +0 -19
  568. package/core/tokens/m3/definitions/unused/_md-comp-extended-fab-branded.scss +0 -82
  569. package/core/tokens/m3/definitions/unused/_md-comp-extended-fab-surface.scss +0 -86
  570. package/core/tokens/m3/definitions/unused/_md-comp-fab-branded-large.scss +0 -54
  571. package/core/tokens/m3/definitions/unused/_md-comp-fab-branded.scss +0 -54
  572. package/core/tokens/m3/definitions/unused/_md-comp-fab-primary-large.scss +0 -59
  573. package/core/tokens/m3/definitions/unused/_md-comp-fab-secondary-large.scss +0 -60
  574. package/core/tokens/m3/definitions/unused/_md-comp-fab-surface-large.scss +0 -58
  575. package/core/tokens/m3/definitions/unused/_md-comp-fab-surface-small.scss +0 -58
  576. package/core/tokens/m3/definitions/unused/_md-comp-fab-surface.scss +0 -58
  577. package/core/tokens/m3/definitions/unused/_md-comp-fab-tertiary-large.scss +0 -60
  578. package/core/tokens/m3/definitions/unused/_md-comp-filled-autocomplete.scss +0 -269
  579. package/core/tokens/m3/definitions/unused/_md-comp-filled-menu-button.scss +0 -94
  580. package/core/tokens/m3/definitions/unused/_md-comp-filled-select.scss +0 -274
  581. package/core/tokens/m3/definitions/unused/_md-comp-filled-tonal-button.scss +0 -95
  582. package/core/tokens/m3/definitions/unused/_md-comp-filled-tonal-icon-button.scss +0 -80
  583. package/core/tokens/m3/definitions/unused/_md-comp-filter-chip.scss +0 -205
  584. package/core/tokens/m3/definitions/unused/_md-comp-full-screen-dialog.scss +0 -109
  585. package/core/tokens/m3/definitions/unused/_md-comp-input-chip.scss +0 -180
  586. package/core/tokens/m3/definitions/unused/_md-comp-menu.scss +0 -31
  587. package/core/tokens/m3/definitions/unused/_md-comp-navigation-bar.scss +0 -110
  588. package/core/tokens/m3/definitions/unused/_md-comp-navigation-drawer.scss +0 -162
  589. package/core/tokens/m3/definitions/unused/_md-comp-navigation-rail.scss +0 -127
  590. package/core/tokens/m3/definitions/unused/_md-comp-outlined-autocomplete.scss +0 -259
  591. package/core/tokens/m3/definitions/unused/_md-comp-outlined-menu-button.scss +0 -90
  592. package/core/tokens/m3/definitions/unused/_md-comp-outlined-segmented-button.scss +0 -108
  593. package/core/tokens/m3/definitions/unused/_md-comp-outlined-select.scss +0 -264
  594. package/core/tokens/m3/definitions/unused/_md-comp-primary-navigation-tab.scss +0 -117
  595. package/core/tokens/m3/definitions/unused/_md-comp-rich-tooltip.scss +0 -121
  596. package/core/tokens/m3/definitions/unused/_md-comp-scrim.scss +0 -19
  597. package/core/tokens/m3/definitions/unused/_md-comp-search-bar.scss +0 -97
  598. package/core/tokens/m3/definitions/unused/_md-comp-search-view.scss +0 -91
  599. package/core/tokens/m3/definitions/unused/_md-comp-sheet-bottom.scss +0 -39
  600. package/core/tokens/m3/definitions/unused/_md-comp-sheet-floating.scss +0 -28
  601. package/core/tokens/m3/definitions/unused/_md-comp-sheet-side.scss +0 -87
  602. package/core/tokens/m3/definitions/unused/_md-comp-standard-menu-button.scss +0 -94
  603. package/core/tokens/m3/definitions/unused/_md-comp-suggestion-chip.scss +0 -121
  604. package/core/tokens/m3/definitions/unused/_md-comp-time-input.scss +0 -222
  605. package/core/tokens/m3/definitions/unused/_md-comp-time-picker.scss +0 -268
  606. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-large.scss +0 -59
  607. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-medium.scss +0 -59
  608. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-small-centered.scss +0 -62
  609. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-small.scss +0 -60
  610. package/core/tokens/m3/mat/_card.scss +0 -24
  611. package/core/tokens/m3/mat/_checkbox.scss +0 -26
  612. package/core/tokens/m3/mat/_chip.scss +0 -46
  613. package/core/tokens/m3/mat/_dialog.scss +0 -32
  614. package/core/tokens/m3/mat/_fab-small.scss +0 -50
  615. package/core/tokens/m3/mat/_fab.scss +0 -50
  616. package/core/tokens/m3/mat/_filled-button.scss +0 -54
  617. package/core/tokens/m3/mat/_form-field.scss +0 -59
  618. package/core/tokens/m3/mat/_full-pseudo-checkbox.scss +0 -42
  619. package/core/tokens/m3/mat/_list.scss +0 -19
  620. package/core/tokens/m3/mat/_minimal-pseudo-checkbox.scss +0 -33
  621. package/core/tokens/m3/mat/_option.scss +0 -55
  622. package/core/tokens/m3/mat/_outlined-button.scss +0 -54
  623. package/core/tokens/m3/mat/_protected-button.scss +0 -55
  624. package/core/tokens/m3/mat/_radio.scss +0 -45
  625. package/core/tokens/m3/mat/_slider.scss +0 -58
  626. package/core/tokens/m3/mat/_snack-bar.scss +0 -18
  627. package/core/tokens/m3/mat/_stepper.scss +0 -79
  628. package/core/tokens/m3/mat/_switch.scss +0 -56
  629. package/core/tokens/m3/mat/_tab-header.scss +0 -51
  630. package/core/tokens/m3/mat/_table.scss +0 -29
  631. package/core/tokens/m3/mat/_text-button.scss +0 -55
  632. package/core/tokens/m3/mdc/_checkbox.scss +0 -112
  633. package/core/tokens/m3/mdc/_chip.scss +0 -93
  634. package/core/tokens/m3/mdc/_dialog.scss +0 -23
  635. package/core/tokens/m3/mdc/_elevated-card.scss +0 -22
  636. package/core/tokens/m3/mdc/_extended-fab.scss +0 -42
  637. package/core/tokens/m3/mdc/_fab-small.scss +0 -41
  638. package/core/tokens/m3/mdc/_fab.scss +0 -39
  639. package/core/tokens/m3/mdc/_filled-button.scss +0 -86
  640. package/core/tokens/m3/mdc/_filled-text-field.scss +0 -91
  641. package/core/tokens/m3/mdc/_icon-button.scss +0 -60
  642. package/core/tokens/m3/mdc/_list.scss +0 -37
  643. package/core/tokens/m3/mdc/_outlined-button.scss +0 -84
  644. package/core/tokens/m3/mdc/_outlined-card.scss +0 -22
  645. package/core/tokens/m3/mdc/_outlined-text-field.scss +0 -86
  646. package/core/tokens/m3/mdc/_plain-tooltip.scss +0 -15
  647. package/core/tokens/m3/mdc/_protected-button.scss +0 -101
  648. package/core/tokens/m3/mdc/_radio.scss +0 -47
  649. package/core/tokens/m3/mdc/_secondary-navigation-tab.scss +0 -16
  650. package/core/tokens/m3/mdc/_slider.scss +0 -69
  651. package/core/tokens/m3/mdc/_snack-bar.scss +0 -15
  652. package/core/tokens/m3/mdc/_switch.scss +0 -82
  653. package/core/tokens/m3/mdc/_tab-indicator.scss +0 -34
  654. package/core/tokens/m3/mdc/_text-button.scss +0 -79
  655. package/core/typography/_typography-utils-deprecated.scss +0 -6
  656. package/datepicker/_datepicker-legacy-compat.scss +0 -85
  657. package/divider/_divider-offset.scss +0 -12
  658. package/expansion/_expansion-variables.scss +0 -30
  659. package/form-field/_form-field-focus-overlay.scss +0 -31
  660. package/form-field/_form-field-high-contrast.scss +0 -39
  661. package/form-field/_form-field-native-select.scss +0 -97
  662. package/form-field/_form-field-subscript.scss +0 -95
  663. package/form-field/_mdc-text-field-density-overrides.scss +0 -60
  664. package/form-field/_mdc-text-field-structure-overrides.scss +0 -186
  665. package/form-field/_mdc-text-field-structure.scss +0 -621
  666. package/form-field/_mdc-text-field-textarea-overrides.scss +0 -36
  667. package/form-field/_user-agent-overrides.scss +0 -24
  668. package/list/_list-inherited-structure.scss +0 -504
  669. package/list/_list-item-hcm-indicator.scss +0 -29
  670. package/radio/_radio-common.scss +0 -259
  671. package/schematics/ng-add/fonts/material-fonts.mjs +0 -34
  672. package/schematics/ng-add/index.mjs +0 -54
  673. package/schematics/ng-add/package-config.mjs +0 -51
  674. package/schematics/ng-add/schema.mjs +0 -10
  675. package/schematics/ng-add/setup-project.mjs +0 -75
  676. package/schematics/ng-add/theming/create-custom-theme.mjs +0 -30
  677. package/schematics/ng-add/theming/theming.mjs +0 -151
  678. package/schematics/ng-generate/address-form/index.mjs +0 -43
  679. package/schematics/ng-generate/address-form/schema.mjs +0 -10
  680. package/schematics/ng-generate/dashboard/index.mjs +0 -42
  681. package/schematics/ng-generate/dashboard/schema.mjs +0 -10
  682. package/schematics/ng-generate/navigation/index.mjs +0 -42
  683. package/schematics/ng-generate/navigation/schema.mjs +0 -10
  684. package/schematics/ng-generate/table/index.mjs +0 -40
  685. package/schematics/ng-generate/table/schema.mjs +0 -10
  686. package/schematics/ng-generate/tree/index.mjs +0 -40
  687. package/schematics/ng-generate/tree/schema.mjs +0 -10
  688. package/schematics/schematics.externs.js +0 -0
  689. package/stepper/_stepper-variables.scss +0 -29
  690. package/table/_table-flex-styles.scss +0 -61
  691. package/tabs/_tabs-common.scss +0 -497
  692. package/toolbar/_toolbar-variables.scss +0 -28
  693. /package/core/tokens/m3/{definitions/_md-ref-palette.scss → _md-ref-palette.scss} +0 -0
  694. /package/core/tokens/m3/{definitions/_md-ref-typeface.scss → _md-ref-typeface.scss} +0 -0
  695. /package/core/tokens/m3/{definitions/_md-sys-elevation.scss → _md-sys-elevation.scss} +0 -0
  696. /package/core/tokens/m3/{definitions/_md-sys-motion.scss → _md-sys-motion.scss} +0 -0
  697. /package/core/tokens/m3/{definitions/_md-sys-shape.scss → _md-sys-shape.scss} +0 -0
  698. /package/core/tokens/m3/{definitions/_md-sys-state.scss → _md-sys-state.scss} +0 -0
@@ -0,0 +1,640 @@
1
+ import { normalizePassiveListenerOptions, _getEventTarget, Platform } from '@angular/cdk/platform';
2
+ import * as i0 from '@angular/core';
3
+ import { Component, ChangeDetectionStrategy, ViewEncapsulation, InjectionToken, inject, ElementRef, NgZone, Injector, Directive, Input } from '@angular/core';
4
+ import { isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader } from '@angular/cdk/a11y';
5
+ import { coerceElement } from '@angular/cdk/coercion';
6
+ import { _CdkPrivateStyleLoader } from '@angular/cdk/private';
7
+ import { _ as _animationsDisabled } from './animation-DfMFjxHu.mjs';
8
+
9
+ /** Possible states for a ripple element. */
10
+ var RippleState;
11
+ (function (RippleState) {
12
+ RippleState[RippleState["FADING_IN"] = 0] = "FADING_IN";
13
+ RippleState[RippleState["VISIBLE"] = 1] = "VISIBLE";
14
+ RippleState[RippleState["FADING_OUT"] = 2] = "FADING_OUT";
15
+ RippleState[RippleState["HIDDEN"] = 3] = "HIDDEN";
16
+ })(RippleState || (RippleState = {}));
17
+ /**
18
+ * Reference to a previously launched ripple element.
19
+ */
20
+ class RippleRef {
21
+ _renderer;
22
+ element;
23
+ config;
24
+ _animationForciblyDisabledThroughCss;
25
+ /** Current state of the ripple. */
26
+ state = RippleState.HIDDEN;
27
+ constructor(_renderer,
28
+ /** Reference to the ripple HTML element. */
29
+ element,
30
+ /** Ripple configuration used for the ripple. */
31
+ config,
32
+ /* Whether animations are forcibly disabled for ripples through CSS. */
33
+ _animationForciblyDisabledThroughCss = false) {
34
+ this._renderer = _renderer;
35
+ this.element = element;
36
+ this.config = config;
37
+ this._animationForciblyDisabledThroughCss = _animationForciblyDisabledThroughCss;
38
+ }
39
+ /** Fades out the ripple element. */
40
+ fadeOut() {
41
+ this._renderer.fadeOutRipple(this);
42
+ }
43
+ }
44
+
45
+ /** Options used to bind a passive capturing event. */
46
+ const passiveCapturingEventOptions$1 = normalizePassiveListenerOptions({
47
+ passive: true,
48
+ capture: true,
49
+ });
50
+ /** Manages events through delegation so that as few event handlers as possible are bound. */
51
+ class RippleEventManager {
52
+ _events = new Map();
53
+ /** Adds an event handler. */
54
+ addHandler(ngZone, name, element, handler) {
55
+ const handlersForEvent = this._events.get(name);
56
+ if (handlersForEvent) {
57
+ const handlersForElement = handlersForEvent.get(element);
58
+ if (handlersForElement) {
59
+ handlersForElement.add(handler);
60
+ }
61
+ else {
62
+ handlersForEvent.set(element, new Set([handler]));
63
+ }
64
+ }
65
+ else {
66
+ this._events.set(name, new Map([[element, new Set([handler])]]));
67
+ ngZone.runOutsideAngular(() => {
68
+ document.addEventListener(name, this._delegateEventHandler, passiveCapturingEventOptions$1);
69
+ });
70
+ }
71
+ }
72
+ /** Removes an event handler. */
73
+ removeHandler(name, element, handler) {
74
+ const handlersForEvent = this._events.get(name);
75
+ if (!handlersForEvent) {
76
+ return;
77
+ }
78
+ const handlersForElement = handlersForEvent.get(element);
79
+ if (!handlersForElement) {
80
+ return;
81
+ }
82
+ handlersForElement.delete(handler);
83
+ if (handlersForElement.size === 0) {
84
+ handlersForEvent.delete(element);
85
+ }
86
+ if (handlersForEvent.size === 0) {
87
+ this._events.delete(name);
88
+ document.removeEventListener(name, this._delegateEventHandler, passiveCapturingEventOptions$1);
89
+ }
90
+ }
91
+ /** Event handler that is bound and which dispatches the events to the different targets. */
92
+ _delegateEventHandler = (event) => {
93
+ const target = _getEventTarget(event);
94
+ if (target) {
95
+ this._events.get(event.type)?.forEach((handlers, element) => {
96
+ if (element === target || element.contains(target)) {
97
+ handlers.forEach(handler => handler.handleEvent(event));
98
+ }
99
+ });
100
+ }
101
+ };
102
+ }
103
+
104
+ /**
105
+ * Default ripple animation configuration for ripples without an explicit
106
+ * animation config specified.
107
+ */
108
+ const defaultRippleAnimationConfig = {
109
+ enterDuration: 225,
110
+ exitDuration: 150,
111
+ };
112
+ /**
113
+ * Timeout for ignoring mouse events. Mouse events will be temporary ignored after touch
114
+ * events to avoid synthetic mouse events.
115
+ */
116
+ const ignoreMouseEventsTimeout = 800;
117
+ /** Options used to bind a passive capturing event. */
118
+ const passiveCapturingEventOptions = normalizePassiveListenerOptions({
119
+ passive: true,
120
+ capture: true,
121
+ });
122
+ /** Events that signal that the pointer is down. */
123
+ const pointerDownEvents = ['mousedown', 'touchstart'];
124
+ /** Events that signal that the pointer is up. */
125
+ const pointerUpEvents = ['mouseup', 'mouseleave', 'touchend', 'touchcancel'];
126
+ class _MatRippleStylesLoader {
127
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: _MatRippleStylesLoader, deps: [], target: i0.ɵɵFactoryTarget.Component });
128
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0-next.5", type: _MatRippleStylesLoader, isStandalone: true, selector: "ng-component", host: { attributes: { "mat-ripple-style-loader": "" } }, ngImport: i0, template: '', isInline: true, styles: [".mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0, 0, 0.2, 1);transform:scale3d(0, 0, 0);background-color:var(--mat-ripple-color, color-mix(in srgb, var(--mat-sys-on-surface) 10%, transparent))}@media(forced-colors: active){.mat-ripple-element{display:none}}.cdk-drag-preview .mat-ripple-element,.cdk-drag-placeholder .mat-ripple-element{display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
129
+ }
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: _MatRippleStylesLoader, decorators: [{
131
+ type: Component,
132
+ args: [{ template: '', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'mat-ripple-style-loader': '' }, styles: [".mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0, 0, 0.2, 1);transform:scale3d(0, 0, 0);background-color:var(--mat-ripple-color, color-mix(in srgb, var(--mat-sys-on-surface) 10%, transparent))}@media(forced-colors: active){.mat-ripple-element{display:none}}.cdk-drag-preview .mat-ripple-element,.cdk-drag-placeholder .mat-ripple-element{display:none}\n"] }]
133
+ }] });
134
+ /**
135
+ * Helper service that performs DOM manipulations. Not intended to be used outside this module.
136
+ * The constructor takes a reference to the ripple directive's host element and a map of DOM
137
+ * event handlers to be installed on the element that triggers ripple animations.
138
+ * This will eventually become a custom renderer once Angular support exists.
139
+ * @docs-private
140
+ */
141
+ class RippleRenderer {
142
+ _target;
143
+ _ngZone;
144
+ _platform;
145
+ /** Element where the ripples are being added to. */
146
+ _containerElement;
147
+ /** Element which triggers the ripple elements on mouse events. */
148
+ _triggerElement;
149
+ /** Whether the pointer is currently down or not. */
150
+ _isPointerDown = false;
151
+ /**
152
+ * Map of currently active ripple references.
153
+ * The ripple reference is mapped to its element event listeners.
154
+ * The reason why `| null` is used is that event listeners are added only
155
+ * when the condition is truthy (see the `_startFadeOutTransition` method).
156
+ */
157
+ _activeRipples = new Map();
158
+ /** Latest non-persistent ripple that was triggered. */
159
+ _mostRecentTransientRipple;
160
+ /** Time in milliseconds when the last touchstart event happened. */
161
+ _lastTouchStartEvent;
162
+ /** Whether pointer-up event listeners have been registered. */
163
+ _pointerUpEventsRegistered = false;
164
+ /**
165
+ * Cached dimensions of the ripple container. Set when the first
166
+ * ripple is shown and cleared once no more ripples are visible.
167
+ */
168
+ _containerRect;
169
+ static _eventManager = new RippleEventManager();
170
+ constructor(_target, _ngZone, elementOrElementRef, _platform, injector) {
171
+ this._target = _target;
172
+ this._ngZone = _ngZone;
173
+ this._platform = _platform;
174
+ // Only do anything if we're on the browser.
175
+ if (_platform.isBrowser) {
176
+ this._containerElement = coerceElement(elementOrElementRef);
177
+ }
178
+ if (injector) {
179
+ injector.get(_CdkPrivateStyleLoader).load(_MatRippleStylesLoader);
180
+ }
181
+ }
182
+ /**
183
+ * Fades in a ripple at the given coordinates.
184
+ * @param x Coordinate within the element, along the X axis at which to start the ripple.
185
+ * @param y Coordinate within the element, along the Y axis at which to start the ripple.
186
+ * @param config Extra ripple options.
187
+ */
188
+ fadeInRipple(x, y, config = {}) {
189
+ const containerRect = (this._containerRect =
190
+ this._containerRect || this._containerElement.getBoundingClientRect());
191
+ const animationConfig = { ...defaultRippleAnimationConfig, ...config.animation };
192
+ if (config.centered) {
193
+ x = containerRect.left + containerRect.width / 2;
194
+ y = containerRect.top + containerRect.height / 2;
195
+ }
196
+ const radius = config.radius || distanceToFurthestCorner(x, y, containerRect);
197
+ const offsetX = x - containerRect.left;
198
+ const offsetY = y - containerRect.top;
199
+ const enterDuration = animationConfig.enterDuration;
200
+ const ripple = document.createElement('div');
201
+ ripple.classList.add('mat-ripple-element');
202
+ ripple.style.left = `${offsetX - radius}px`;
203
+ ripple.style.top = `${offsetY - radius}px`;
204
+ ripple.style.height = `${radius * 2}px`;
205
+ ripple.style.width = `${radius * 2}px`;
206
+ // If a custom color has been specified, set it as inline style. If no color is
207
+ // set, the default color will be applied through the ripple theme styles.
208
+ if (config.color != null) {
209
+ ripple.style.backgroundColor = config.color;
210
+ }
211
+ ripple.style.transitionDuration = `${enterDuration}ms`;
212
+ this._containerElement.appendChild(ripple);
213
+ // By default the browser does not recalculate the styles of dynamically created
214
+ // ripple elements. This is critical to ensure that the `scale` animates properly.
215
+ // We enforce a style recalculation by calling `getComputedStyle` and *accessing* a property.
216
+ // See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a
217
+ const computedStyles = window.getComputedStyle(ripple);
218
+ const userTransitionProperty = computedStyles.transitionProperty;
219
+ const userTransitionDuration = computedStyles.transitionDuration;
220
+ // Note: We detect whether animation is forcibly disabled through CSS (e.g. through
221
+ // `transition: none` or `display: none`). This is technically unexpected since animations are
222
+ // controlled through the animation config, but this exists for backwards compatibility. This
223
+ // logic does not need to be super accurate since it covers some edge cases which can be easily
224
+ // avoided by users.
225
+ const animationForciblyDisabledThroughCss = userTransitionProperty === 'none' ||
226
+ // Note: The canonical unit for serialized CSS `<time>` properties is seconds. Additionally
227
+ // some browsers expand the duration for every property (in our case `opacity` and `transform`).
228
+ userTransitionDuration === '0s' ||
229
+ userTransitionDuration === '0s, 0s' ||
230
+ // If the container is 0x0, it's likely `display: none`.
231
+ (containerRect.width === 0 && containerRect.height === 0);
232
+ // Exposed reference to the ripple that will be returned.
233
+ const rippleRef = new RippleRef(this, ripple, config, animationForciblyDisabledThroughCss);
234
+ // Start the enter animation by setting the transform/scale to 100%. The animation will
235
+ // execute as part of this statement because we forced a style recalculation before.
236
+ // Note: We use a 3d transform here in order to avoid an issue in Safari where
237
+ // the ripples aren't clipped when inside the shadow DOM (see #24028).
238
+ ripple.style.transform = 'scale3d(1, 1, 1)';
239
+ rippleRef.state = RippleState.FADING_IN;
240
+ if (!config.persistent) {
241
+ this._mostRecentTransientRipple = rippleRef;
242
+ }
243
+ let eventListeners = null;
244
+ // Do not register the `transition` event listener if fade-in and fade-out duration
245
+ // are set to zero. The events won't fire anyway and we can save resources here.
246
+ if (!animationForciblyDisabledThroughCss && (enterDuration || animationConfig.exitDuration)) {
247
+ this._ngZone.runOutsideAngular(() => {
248
+ const onTransitionEnd = () => {
249
+ // Clear the fallback timer since the transition fired correctly.
250
+ if (eventListeners) {
251
+ eventListeners.fallbackTimer = null;
252
+ }
253
+ clearTimeout(fallbackTimer);
254
+ this._finishRippleTransition(rippleRef);
255
+ };
256
+ const onTransitionCancel = () => this._destroyRipple(rippleRef);
257
+ // In some cases where there's a higher load on the browser, it can choose not to dispatch
258
+ // neither `transitionend` nor `transitioncancel` (see b/227356674). This timer serves as a
259
+ // fallback for such cases so that the ripple doesn't become stuck. We add a 100ms buffer
260
+ // because timers aren't precise. Note that another approach can be to transition the ripple
261
+ // to the `VISIBLE` state immediately above and to `FADING_IN` afterwards inside
262
+ // `transitionstart`. We go with the timer because it's one less event listener and
263
+ // it's less likely to break existing tests.
264
+ const fallbackTimer = setTimeout(onTransitionCancel, enterDuration + 100);
265
+ ripple.addEventListener('transitionend', onTransitionEnd);
266
+ // If the transition is cancelled (e.g. due to DOM removal), we destroy the ripple
267
+ // directly as otherwise we would keep it part of the ripple container forever.
268
+ // https://www.w3.org/TR/css-transitions-1/#:~:text=no%20longer%20in%20the%20document.
269
+ ripple.addEventListener('transitioncancel', onTransitionCancel);
270
+ eventListeners = { onTransitionEnd, onTransitionCancel, fallbackTimer };
271
+ });
272
+ }
273
+ // Add the ripple reference to the list of all active ripples.
274
+ this._activeRipples.set(rippleRef, eventListeners);
275
+ // In case there is no fade-in transition duration, we need to manually call the transition
276
+ // end listener because `transitionend` doesn't fire if there is no transition.
277
+ if (animationForciblyDisabledThroughCss || !enterDuration) {
278
+ this._finishRippleTransition(rippleRef);
279
+ }
280
+ return rippleRef;
281
+ }
282
+ /** Fades out a ripple reference. */
283
+ fadeOutRipple(rippleRef) {
284
+ // For ripples already fading out or hidden, this should be a noop.
285
+ if (rippleRef.state === RippleState.FADING_OUT || rippleRef.state === RippleState.HIDDEN) {
286
+ return;
287
+ }
288
+ const rippleEl = rippleRef.element;
289
+ const animationConfig = { ...defaultRippleAnimationConfig, ...rippleRef.config.animation };
290
+ // This starts the fade-out transition and will fire the transition end listener that
291
+ // removes the ripple element from the DOM.
292
+ rippleEl.style.transitionDuration = `${animationConfig.exitDuration}ms`;
293
+ rippleEl.style.opacity = '0';
294
+ rippleRef.state = RippleState.FADING_OUT;
295
+ // In case there is no fade-out transition duration, we need to manually call the
296
+ // transition end listener because `transitionend` doesn't fire if there is no transition.
297
+ if (rippleRef._animationForciblyDisabledThroughCss || !animationConfig.exitDuration) {
298
+ this._finishRippleTransition(rippleRef);
299
+ }
300
+ }
301
+ /** Fades out all currently active ripples. */
302
+ fadeOutAll() {
303
+ this._getActiveRipples().forEach(ripple => ripple.fadeOut());
304
+ }
305
+ /** Fades out all currently active non-persistent ripples. */
306
+ fadeOutAllNonPersistent() {
307
+ this._getActiveRipples().forEach(ripple => {
308
+ if (!ripple.config.persistent) {
309
+ ripple.fadeOut();
310
+ }
311
+ });
312
+ }
313
+ /** Sets up the trigger event listeners */
314
+ setupTriggerEvents(elementOrElementRef) {
315
+ const element = coerceElement(elementOrElementRef);
316
+ if (!this._platform.isBrowser || !element || element === this._triggerElement) {
317
+ return;
318
+ }
319
+ // Remove all previously registered event listeners from the trigger element.
320
+ this._removeTriggerEvents();
321
+ this._triggerElement = element;
322
+ // Use event delegation for the trigger events since they're
323
+ // set up during creation and are performance-sensitive.
324
+ pointerDownEvents.forEach(type => {
325
+ RippleRenderer._eventManager.addHandler(this._ngZone, type, element, this);
326
+ });
327
+ }
328
+ /**
329
+ * Handles all registered events.
330
+ * @docs-private
331
+ */
332
+ handleEvent(event) {
333
+ if (event.type === 'mousedown') {
334
+ this._onMousedown(event);
335
+ }
336
+ else if (event.type === 'touchstart') {
337
+ this._onTouchStart(event);
338
+ }
339
+ else {
340
+ this._onPointerUp();
341
+ }
342
+ // If pointer-up events haven't been registered yet, do so now.
343
+ // We do this on-demand in order to reduce the total number of event listeners
344
+ // registered by the ripples, which speeds up the rendering time for large UIs.
345
+ if (!this._pointerUpEventsRegistered) {
346
+ // The events for hiding the ripple are bound directly on the trigger, because:
347
+ // 1. Some of them occur frequently (e.g. `mouseleave`) and any advantage we get from
348
+ // delegation will be diminished by having to look through all the data structures often.
349
+ // 2. They aren't as performance-sensitive, because they're bound only after the user
350
+ // has interacted with an element.
351
+ this._ngZone.runOutsideAngular(() => {
352
+ pointerUpEvents.forEach(type => {
353
+ this._triggerElement.addEventListener(type, this, passiveCapturingEventOptions);
354
+ });
355
+ });
356
+ this._pointerUpEventsRegistered = true;
357
+ }
358
+ }
359
+ /** Method that will be called if the fade-in or fade-in transition completed. */
360
+ _finishRippleTransition(rippleRef) {
361
+ if (rippleRef.state === RippleState.FADING_IN) {
362
+ this._startFadeOutTransition(rippleRef);
363
+ }
364
+ else if (rippleRef.state === RippleState.FADING_OUT) {
365
+ this._destroyRipple(rippleRef);
366
+ }
367
+ }
368
+ /**
369
+ * Starts the fade-out transition of the given ripple if it's not persistent and the pointer
370
+ * is not held down anymore.
371
+ */
372
+ _startFadeOutTransition(rippleRef) {
373
+ const isMostRecentTransientRipple = rippleRef === this._mostRecentTransientRipple;
374
+ const { persistent } = rippleRef.config;
375
+ rippleRef.state = RippleState.VISIBLE;
376
+ // When the timer runs out while the user has kept their pointer down, we want to
377
+ // keep only the persistent ripples and the latest transient ripple. We do this,
378
+ // because we don't want stacked transient ripples to appear after their enter
379
+ // animation has finished.
380
+ if (!persistent && (!isMostRecentTransientRipple || !this._isPointerDown)) {
381
+ rippleRef.fadeOut();
382
+ }
383
+ }
384
+ /** Destroys the given ripple by removing it from the DOM and updating its state. */
385
+ _destroyRipple(rippleRef) {
386
+ const eventListeners = this._activeRipples.get(rippleRef) ?? null;
387
+ this._activeRipples.delete(rippleRef);
388
+ // Clear out the cached bounding rect if we have no more ripples.
389
+ if (!this._activeRipples.size) {
390
+ this._containerRect = null;
391
+ }
392
+ // If the current ref is the most recent transient ripple, unset it
393
+ // avoid memory leaks.
394
+ if (rippleRef === this._mostRecentTransientRipple) {
395
+ this._mostRecentTransientRipple = null;
396
+ }
397
+ rippleRef.state = RippleState.HIDDEN;
398
+ if (eventListeners !== null) {
399
+ rippleRef.element.removeEventListener('transitionend', eventListeners.onTransitionEnd);
400
+ rippleRef.element.removeEventListener('transitioncancel', eventListeners.onTransitionCancel);
401
+ if (eventListeners.fallbackTimer !== null) {
402
+ clearTimeout(eventListeners.fallbackTimer);
403
+ }
404
+ }
405
+ rippleRef.element.remove();
406
+ }
407
+ /** Function being called whenever the trigger is being pressed using mouse. */
408
+ _onMousedown(event) {
409
+ // Screen readers will fire fake mouse events for space/enter. Skip launching a
410
+ // ripple in this case for consistency with the non-screen-reader experience.
411
+ const isFakeMousedown = isFakeMousedownFromScreenReader(event);
412
+ const isSyntheticEvent = this._lastTouchStartEvent &&
413
+ Date.now() < this._lastTouchStartEvent + ignoreMouseEventsTimeout;
414
+ if (!this._target.rippleDisabled && !isFakeMousedown && !isSyntheticEvent) {
415
+ this._isPointerDown = true;
416
+ this.fadeInRipple(event.clientX, event.clientY, this._target.rippleConfig);
417
+ }
418
+ }
419
+ /** Function being called whenever the trigger is being pressed using touch. */
420
+ _onTouchStart(event) {
421
+ if (!this._target.rippleDisabled && !isFakeTouchstartFromScreenReader(event)) {
422
+ // Some browsers fire mouse events after a `touchstart` event. Those synthetic mouse
423
+ // events will launch a second ripple if we don't ignore mouse events for a specific
424
+ // time after a touchstart event.
425
+ this._lastTouchStartEvent = Date.now();
426
+ this._isPointerDown = true;
427
+ // Use `changedTouches` so we skip any touches where the user put
428
+ // their finger down, but used another finger to tap the element again.
429
+ const touches = event.changedTouches;
430
+ // According to the typings the touches should always be defined, but in some cases
431
+ // the browser appears to not assign them in tests which leads to flakes.
432
+ if (touches) {
433
+ for (let i = 0; i < touches.length; i++) {
434
+ this.fadeInRipple(touches[i].clientX, touches[i].clientY, this._target.rippleConfig);
435
+ }
436
+ }
437
+ }
438
+ }
439
+ /** Function being called whenever the trigger is being released. */
440
+ _onPointerUp() {
441
+ if (!this._isPointerDown) {
442
+ return;
443
+ }
444
+ this._isPointerDown = false;
445
+ // Fade-out all ripples that are visible and not persistent.
446
+ this._getActiveRipples().forEach(ripple => {
447
+ // By default, only ripples that are completely visible will fade out on pointer release.
448
+ // If the `terminateOnPointerUp` option is set, ripples that still fade in will also fade out.
449
+ const isVisible = ripple.state === RippleState.VISIBLE ||
450
+ (ripple.config.terminateOnPointerUp && ripple.state === RippleState.FADING_IN);
451
+ if (!ripple.config.persistent && isVisible) {
452
+ ripple.fadeOut();
453
+ }
454
+ });
455
+ }
456
+ _getActiveRipples() {
457
+ return Array.from(this._activeRipples.keys());
458
+ }
459
+ /** Removes previously registered event listeners from the trigger element. */
460
+ _removeTriggerEvents() {
461
+ const trigger = this._triggerElement;
462
+ if (trigger) {
463
+ pointerDownEvents.forEach(type => RippleRenderer._eventManager.removeHandler(type, trigger, this));
464
+ if (this._pointerUpEventsRegistered) {
465
+ pointerUpEvents.forEach(type => trigger.removeEventListener(type, this, passiveCapturingEventOptions));
466
+ this._pointerUpEventsRegistered = false;
467
+ }
468
+ }
469
+ }
470
+ }
471
+ /**
472
+ * Returns the distance from the point (x, y) to the furthest corner of a rectangle.
473
+ */
474
+ function distanceToFurthestCorner(x, y, rect) {
475
+ const distX = Math.max(Math.abs(x - rect.left), Math.abs(x - rect.right));
476
+ const distY = Math.max(Math.abs(y - rect.top), Math.abs(y - rect.bottom));
477
+ return Math.sqrt(distX * distX + distY * distY);
478
+ }
479
+
480
+ /** Injection token that can be used to specify the global ripple options. */
481
+ const MAT_RIPPLE_GLOBAL_OPTIONS = new InjectionToken('mat-ripple-global-options');
482
+ class MatRipple {
483
+ _elementRef = inject(ElementRef);
484
+ _animationsDisabled = _animationsDisabled();
485
+ /** Custom color for all ripples. */
486
+ color;
487
+ /** Whether the ripples should be visible outside the component's bounds. */
488
+ unbounded;
489
+ /**
490
+ * Whether the ripple always originates from the center of the host element's bounds, rather
491
+ * than originating from the location of the click event.
492
+ */
493
+ centered;
494
+ /**
495
+ * If set, the radius in pixels of foreground ripples when fully expanded. If unset, the radius
496
+ * will be the distance from the center of the ripple to the furthest corner of the host element's
497
+ * bounding rectangle.
498
+ */
499
+ radius = 0;
500
+ /**
501
+ * Configuration for the ripple animation. Allows modifying the enter and exit animation
502
+ * duration of the ripples. The animation durations will be overwritten if the
503
+ * `NoopAnimationsModule` is being used.
504
+ */
505
+ animation;
506
+ /**
507
+ * Whether click events will not trigger the ripple. Ripples can be still launched manually
508
+ * by using the `launch()` method.
509
+ */
510
+ get disabled() {
511
+ return this._disabled;
512
+ }
513
+ set disabled(value) {
514
+ if (value) {
515
+ this.fadeOutAllNonPersistent();
516
+ }
517
+ this._disabled = value;
518
+ this._setupTriggerEventsIfEnabled();
519
+ }
520
+ _disabled = false;
521
+ /**
522
+ * The element that triggers the ripple when click events are received.
523
+ * Defaults to the directive's host element.
524
+ */
525
+ get trigger() {
526
+ return this._trigger || this._elementRef.nativeElement;
527
+ }
528
+ set trigger(trigger) {
529
+ this._trigger = trigger;
530
+ this._setupTriggerEventsIfEnabled();
531
+ }
532
+ _trigger;
533
+ /** Renderer for the ripple DOM manipulations. */
534
+ _rippleRenderer;
535
+ /** Options that are set globally for all ripples. */
536
+ _globalOptions;
537
+ /** @docs-private Whether ripple directive is initialized and the input bindings are set. */
538
+ _isInitialized = false;
539
+ constructor() {
540
+ const ngZone = inject(NgZone);
541
+ const platform = inject(Platform);
542
+ const globalOptions = inject(MAT_RIPPLE_GLOBAL_OPTIONS, { optional: true });
543
+ const injector = inject(Injector);
544
+ // Note: cannot use `inject()` here, because this class
545
+ // gets instantiated manually in the ripple loader.
546
+ this._globalOptions = globalOptions || {};
547
+ this._rippleRenderer = new RippleRenderer(this, ngZone, this._elementRef, platform, injector);
548
+ }
549
+ ngOnInit() {
550
+ this._isInitialized = true;
551
+ this._setupTriggerEventsIfEnabled();
552
+ }
553
+ ngOnDestroy() {
554
+ this._rippleRenderer._removeTriggerEvents();
555
+ }
556
+ /** Fades out all currently showing ripple elements. */
557
+ fadeOutAll() {
558
+ this._rippleRenderer.fadeOutAll();
559
+ }
560
+ /** Fades out all currently showing non-persistent ripple elements. */
561
+ fadeOutAllNonPersistent() {
562
+ this._rippleRenderer.fadeOutAllNonPersistent();
563
+ }
564
+ /**
565
+ * Ripple configuration from the directive's input values.
566
+ * @docs-private Implemented as part of RippleTarget
567
+ */
568
+ get rippleConfig() {
569
+ return {
570
+ centered: this.centered,
571
+ radius: this.radius,
572
+ color: this.color,
573
+ animation: {
574
+ ...this._globalOptions.animation,
575
+ ...(this._animationsDisabled ? { enterDuration: 0, exitDuration: 0 } : {}),
576
+ ...this.animation,
577
+ },
578
+ terminateOnPointerUp: this._globalOptions.terminateOnPointerUp,
579
+ };
580
+ }
581
+ /**
582
+ * Whether ripples on pointer-down are disabled or not.
583
+ * @docs-private Implemented as part of RippleTarget
584
+ */
585
+ get rippleDisabled() {
586
+ return this.disabled || !!this._globalOptions.disabled;
587
+ }
588
+ /** Sets up the trigger event listeners if ripples are enabled. */
589
+ _setupTriggerEventsIfEnabled() {
590
+ if (!this.disabled && this._isInitialized) {
591
+ this._rippleRenderer.setupTriggerEvents(this.trigger);
592
+ }
593
+ }
594
+ /** Launches a manual ripple at the specified coordinated or just by the ripple config. */
595
+ launch(configOrX, y = 0, config) {
596
+ if (typeof configOrX === 'number') {
597
+ return this._rippleRenderer.fadeInRipple(configOrX, y, { ...this.rippleConfig, ...config });
598
+ }
599
+ else {
600
+ return this._rippleRenderer.fadeInRipple(0, 0, { ...this.rippleConfig, ...configOrX });
601
+ }
602
+ }
603
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatRipple, deps: [], target: i0.ɵɵFactoryTarget.Directive });
604
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.0-next.5", type: MatRipple, isStandalone: true, selector: "[mat-ripple], [matRipple]", inputs: { color: ["matRippleColor", "color"], unbounded: ["matRippleUnbounded", "unbounded"], centered: ["matRippleCentered", "centered"], radius: ["matRippleRadius", "radius"], animation: ["matRippleAnimation", "animation"], disabled: ["matRippleDisabled", "disabled"], trigger: ["matRippleTrigger", "trigger"] }, host: { properties: { "class.mat-ripple-unbounded": "unbounded" }, classAttribute: "mat-ripple" }, exportAs: ["matRipple"], ngImport: i0 });
605
+ }
606
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatRipple, decorators: [{
607
+ type: Directive,
608
+ args: [{
609
+ selector: '[mat-ripple], [matRipple]',
610
+ exportAs: 'matRipple',
611
+ host: {
612
+ 'class': 'mat-ripple',
613
+ '[class.mat-ripple-unbounded]': 'unbounded',
614
+ },
615
+ }]
616
+ }], ctorParameters: () => [], propDecorators: { color: [{
617
+ type: Input,
618
+ args: ['matRippleColor']
619
+ }], unbounded: [{
620
+ type: Input,
621
+ args: ['matRippleUnbounded']
622
+ }], centered: [{
623
+ type: Input,
624
+ args: ['matRippleCentered']
625
+ }], radius: [{
626
+ type: Input,
627
+ args: ['matRippleRadius']
628
+ }], animation: [{
629
+ type: Input,
630
+ args: ['matRippleAnimation']
631
+ }], disabled: [{
632
+ type: Input,
633
+ args: ['matRippleDisabled']
634
+ }], trigger: [{
635
+ type: Input,
636
+ args: ['matRippleTrigger']
637
+ }] } });
638
+
639
+ export { MatRipple as M, RippleRenderer as R, MAT_RIPPLE_GLOBAL_OPTIONS as a, RippleState as b, RippleRef as c, defaultRippleAnimationConfig as d };
640
+ //# sourceMappingURL=ripple-CuyVtN3V.mjs.map