@angular/material 20.0.0-next.5 → 20.0.0-next.7

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 (552) hide show
  1. package/_index.scss +1 -1
  2. package/autocomplete/_autocomplete-theme.scss +14 -14
  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 +10 -10
  6. package/autocomplete/testing/index.d.ts +4 -3
  7. package/badge/_badge-theme.scss +16 -16
  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} +22 -22
  10. package/badge/index.d.ts +5 -5
  11. package/badge/testing/index.d.ts +4 -3
  12. package/{badge.d-99f2424c.d.ts → badge.d-BUeRGv1E.d.ts} +3 -2
  13. package/bottom-sheet/_bottom-sheet-theme.scss +12 -12
  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 +5 -3
  17. package/bottom-sheet/testing/index.d.ts +2 -1
  18. package/button/_button-theme.scss +30 -241
  19. package/button/_fab-theme.scss +20 -92
  20. package/button/_icon-button-theme.scss +20 -15
  21. package/button/_m2-button.scss +249 -0
  22. package/{core/tokens/m2/mat/_fab.scss → button/_m2-fab.scss} +46 -13
  23. package/{core/tokens/m2/mat/_icon-button.scss → button/_m2-icon-button.scss} +7 -7
  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} +18 -4
  27. package/button/index.d.ts +215 -8
  28. package/button/testing/index.d.ts +2 -1
  29. package/button-toggle/_button-toggle-theme.scss +22 -40
  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} +20 -7
  32. package/button-toggle/index.d.ts +6 -6
  33. package/button-toggle/testing/index.d.ts +3 -2
  34. package/{button-toggle.d-659ece43.d.ts → button-toggle.d-cP94fe1M.d.ts} +3 -2
  35. package/card/_card-theme.scss +14 -66
  36. package/{core/tokens/m2/mat/_card.scss → card/_m2-card.scss} +17 -7
  37. package/card/_m3-card.scss +45 -0
  38. package/card/index.d.ts +3 -2
  39. package/card/testing/index.d.ts +2 -1
  40. package/checkbox/_checkbox-theme.scss +21 -20
  41. package/{core/tokens/m2/mat/_checkbox.scss → checkbox/_m2-checkbox.scss} +11 -11
  42. package/{core/tokens/m3/mat/_checkbox.scss → checkbox/_m3-checkbox.scss} +17 -4
  43. package/checkbox/index.d.ts +4 -3
  44. package/checkbox/testing/index.d.ts +2 -1
  45. package/chips/_chips-theme.scss +17 -25
  46. package/{core/tokens/m2/mat/_chip.scss → chips/_m2-chip.scss} +8 -8
  47. package/{core/tokens/m3/mat/_chip.scss → chips/_m3-chip.scss} +30 -17
  48. package/chips/index.d.ts +19 -6
  49. package/chips/testing/index.d.ts +2 -1
  50. package/{common-module.d-1b789e68.d.ts → common-module.d-CUT8AqiB.d.ts} +2 -1
  51. package/core/_core-theme.scss +32 -52
  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} +3 -3
  55. package/core/density/private/_all-density.scss +38 -38
  56. package/core/index.d.ts +17 -16
  57. package/core/{tokens/m2/mat/_optgroup.scss → option/_m2-optgroup.scss} +6 -6
  58. package/core/{tokens/m2/mat/_option.scss → option/_m2-option.scss} +6 -6
  59. package/core/{tokens/m3/mat/_optgroup.scss → option/_m3-optgroup.scss} +4 -4
  60. package/core/{tokens/m3/mat/_option.scss → option/_m3-option.scss} +3 -3
  61. package/core/option/_optgroup-theme.scss +8 -12
  62. package/core/option/_option-theme.scss +10 -18
  63. package/core/{tokens/m2/mat/_ripple.scss → ripple/_m2-ripple.scss} +6 -6
  64. package/core/{tokens/m3/mat/_ripple.scss → ripple/_m3-ripple.scss} +3 -3
  65. package/core/ripple/_ripple-theme.scss +12 -12
  66. package/core/ripple/_ripple.scss +3 -4
  67. package/core/{tokens/m2/mat/_full-pseudo-checkbox.scss → selection/pseudo-checkbox/_m2-pseudo-checkbox.scss} +15 -13
  68. package/core/selection/pseudo-checkbox/_m3-pseudo-checkbox.scss +49 -0
  69. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +8 -36
  70. package/core/testing/index.d.ts +32 -3
  71. package/core/theming/_definition.scss +0 -1
  72. package/core/theming/_inspection.scss +1 -0
  73. package/core/tokens/_m2-tokens.scss +131 -0
  74. package/core/tokens/_m2-utils.scss +109 -0
  75. package/core/tokens/_m3-system.scss +66 -26
  76. package/core/tokens/_m3-tokens.scss +111 -31
  77. package/core/tokens/_m3-utils.scss +85 -0
  78. package/core/tokens/_token-utils.scss +43 -61
  79. package/core/tokens/m3/_index.scss +8 -126
  80. package/{date-adapter.d-de8dcff3.d.ts → date-adapter.d-DzP3EMeE.d.ts} +1 -1
  81. package/{date-range-input-harness.d-d5ba60f5.d.ts → date-range-input-harness.d-CJDdddpn.d.ts} +3 -2
  82. package/datepicker/_datepicker-theme.scss +23 -39
  83. package/{core/tokens/m2/mat/_datepicker.scss → datepicker/_m2-datepicker.scss} +7 -7
  84. package/{core/tokens/m3/mat/_datepicker.scss → datepicker/_m3-datepicker.scss} +8 -8
  85. package/datepicker/index.d.ts +20 -15
  86. package/datepicker/testing/index.d.ts +4 -4
  87. package/dialog/_dialog-theme.scss +9 -15
  88. package/{core/tokens/m2/mat/_dialog.scss → dialog/_m2-dialog.scss} +8 -8
  89. package/{core/tokens/m3/mat/_dialog.scss → dialog/_m3-dialog.scss} +11 -11
  90. package/dialog/index.d.ts +5 -5
  91. package/dialog/testing/index.d.ts +3 -2
  92. package/{dialog.d-06fd8250.d.ts → dialog.d-DSidcNPx.d.ts} +2 -1
  93. package/divider/_divider-theme.scss +8 -12
  94. package/{core/tokens/m2/mat/_divider.scss → divider/_m2-divider.scss} +6 -6
  95. package/{core/tokens/m3/mat/_divider.scss → divider/_m3-divider.scss} +3 -3
  96. package/divider/index.d.ts +1 -1
  97. package/divider/testing/index.d.ts +15 -2
  98. package/{error-options.d-bd1801bf.d.ts → error-options.d-C1yXmo10.d.ts} +1 -1
  99. package/expansion/_expansion-theme.scss +15 -18
  100. package/{core/tokens/m2/mat/_expansion.scss → expansion/_m2-expansion.scss} +7 -7
  101. package/{core/tokens/m3/mat/_expansion.scss → expansion/_m3-expansion.scss} +22 -8
  102. package/expansion/index.d.ts +3 -2
  103. package/expansion/testing/index.d.ts +2 -1
  104. package/fesm2022/{animation-89957083.mjs → animation-DYWs964N.mjs} +8 -6
  105. package/fesm2022/animation-DYWs964N.mjs.map +1 -0
  106. package/fesm2022/autocomplete/testing.mjs +2 -2
  107. package/fesm2022/autocomplete/testing.mjs.map +1 -1
  108. package/fesm2022/autocomplete.mjs +27 -27
  109. package/fesm2022/autocomplete.mjs.map +1 -1
  110. package/fesm2022/badge/testing.mjs.map +1 -1
  111. package/fesm2022/badge.mjs +15 -14
  112. package/fesm2022/badge.mjs.map +1 -1
  113. package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
  114. package/fesm2022/bottom-sheet.mjs +22 -14
  115. package/fesm2022/bottom-sheet.mjs.map +1 -1
  116. package/fesm2022/button/testing.mjs.map +1 -1
  117. package/fesm2022/button-toggle/testing.mjs.map +1 -1
  118. package/fesm2022/button-toggle.mjs +19 -18
  119. package/fesm2022/button-toggle.mjs.map +1 -1
  120. package/fesm2022/button.mjs +219 -9
  121. package/fesm2022/button.mjs.map +1 -1
  122. package/fesm2022/card/testing.mjs.map +1 -1
  123. package/fesm2022/card.mjs +49 -49
  124. package/fesm2022/card.mjs.map +1 -1
  125. package/fesm2022/checkbox/testing.mjs.map +1 -1
  126. package/fesm2022/checkbox.mjs +16 -15
  127. package/fesm2022/checkbox.mjs.map +1 -1
  128. package/fesm2022/chips/testing.mjs.map +1 -1
  129. package/fesm2022/chips.mjs +78 -61
  130. package/fesm2022/chips.mjs.map +1 -1
  131. package/fesm2022/{common-module-727dea0d.mjs → common-module-BTLyTce6.mjs} +6 -6
  132. package/fesm2022/common-module-BTLyTce6.mjs.map +1 -0
  133. package/fesm2022/core/testing.mjs +35 -3
  134. package/fesm2022/core/testing.mjs.map +1 -1
  135. package/fesm2022/core.mjs +30 -29
  136. package/fesm2022/core.mjs.map +1 -1
  137. package/fesm2022/{date-formats-7bf66210.mjs → date-formats-BQbO9F6H.mjs} +2 -2
  138. package/fesm2022/date-formats-BQbO9F6H.mjs.map +1 -0
  139. package/fesm2022/{date-range-input-harness-62876dda.mjs → date-range-input-harness-qhTX-DXo.mjs} +3 -3
  140. package/fesm2022/date-range-input-harness-qhTX-DXo.mjs.map +1 -0
  141. package/fesm2022/datepicker/testing.mjs +3 -3
  142. package/fesm2022/datepicker/testing.mjs.map +1 -1
  143. package/fesm2022/datepicker.mjs +129 -121
  144. package/fesm2022/datepicker.mjs.map +1 -1
  145. package/fesm2022/dialog/testing.mjs +5 -4
  146. package/fesm2022/dialog/testing.mjs.map +1 -1
  147. package/fesm2022/dialog.mjs +4 -3
  148. package/fesm2022/dialog.mjs.map +1 -1
  149. package/fesm2022/divider/testing.mjs +17 -2
  150. package/fesm2022/divider/testing.mjs.map +1 -1
  151. package/fesm2022/divider.mjs +10 -10
  152. package/fesm2022/divider.mjs.map +1 -1
  153. package/fesm2022/{error-options-97896218.mjs → error-options-f2L_D2TV.mjs} +8 -8
  154. package/fesm2022/error-options-f2L_D2TV.mjs.map +1 -0
  155. package/fesm2022/{error-state-66849a3f.mjs → error-state-DAicm3pw.mjs} +2 -2
  156. package/fesm2022/error-state-DAicm3pw.mjs.map +1 -0
  157. package/fesm2022/expansion/testing.mjs.map +1 -1
  158. package/fesm2022/expansion.mjs +33 -32
  159. package/fesm2022/expansion.mjs.map +1 -1
  160. package/fesm2022/form-field/testing/control.mjs +10 -2
  161. package/fesm2022/form-field/testing/control.mjs.map +1 -1
  162. package/fesm2022/form-field/testing.mjs +6 -6
  163. package/fesm2022/form-field/testing.mjs.map +1 -1
  164. package/fesm2022/{form-field-362737c2.mjs → form-field-DXXhIBX2.mjs} +55 -37
  165. package/fesm2022/form-field-DXXhIBX2.mjs.map +1 -0
  166. package/fesm2022/form-field.mjs +5 -4
  167. package/fesm2022/form-field.mjs.map +1 -1
  168. package/fesm2022/grid-list/testing.mjs +2 -2
  169. package/fesm2022/grid-list/testing.mjs.map +1 -1
  170. package/fesm2022/grid-list.mjs +31 -32
  171. package/fesm2022/grid-list.mjs.map +1 -1
  172. package/fesm2022/icon/testing.mjs +8 -8
  173. package/fesm2022/icon/testing.mjs.map +1 -1
  174. package/fesm2022/{icon-button-b18e0678.mjs → icon-button-SnLX2J-J.mjs} +13 -13
  175. package/fesm2022/icon-button-SnLX2J-J.mjs.map +1 -0
  176. package/fesm2022/{icon-registry-c6f81050.mjs → icon-registry-C2Nxi8Mq.mjs} +6 -6
  177. package/fesm2022/icon-registry-C2Nxi8Mq.mjs.map +1 -0
  178. package/fesm2022/icon.mjs +397 -9
  179. package/fesm2022/icon.mjs.map +1 -1
  180. package/fesm2022/{index-36009e89.mjs → index-CYUgEsfZ.mjs} +10 -10
  181. package/fesm2022/index-CYUgEsfZ.mjs.map +1 -0
  182. package/fesm2022/{index-59ddbae2.mjs → index-D7tf-UtR.mjs} +8 -8
  183. package/fesm2022/index-D7tf-UtR.mjs.map +1 -0
  184. package/fesm2022/input/testing.mjs +2 -2
  185. package/fesm2022/input/testing.mjs.map +1 -1
  186. package/fesm2022/{input-harness-d9056d71.mjs → input-harness-CxVp_q3n.mjs} +3 -3
  187. package/fesm2022/input-harness-CxVp_q3n.mjs.map +1 -0
  188. package/fesm2022/{input-value-accessor-4d18edb7.mjs → input-value-accessor-cp3A3zMa.mjs} +2 -2
  189. package/fesm2022/input-value-accessor-cp3A3zMa.mjs.map +1 -0
  190. package/fesm2022/input.mjs +29 -36
  191. package/fesm2022/input.mjs.map +1 -1
  192. package/fesm2022/{internal-form-field-8aa9ac25.mjs → internal-form-field-Bq9jLDgy.mjs} +7 -7
  193. package/fesm2022/internal-form-field-Bq9jLDgy.mjs.map +1 -0
  194. package/fesm2022/{line-8a8e5afd.mjs → line-DI2_SkWl.mjs} +10 -10
  195. package/fesm2022/line-DI2_SkWl.mjs.map +1 -0
  196. package/fesm2022/list/testing.mjs +1 -1
  197. package/fesm2022/list/testing.mjs.map +1 -1
  198. package/fesm2022/list.mjs +68 -67
  199. package/fesm2022/list.mjs.map +1 -1
  200. package/fesm2022/material.mjs.map +1 -1
  201. package/fesm2022/menu/testing.mjs.map +1 -1
  202. package/fesm2022/menu.mjs +24 -23
  203. package/fesm2022/menu.mjs.map +1 -1
  204. package/fesm2022/{module-363d9b43.mjs → module-BIHXUA0w.mjs} +10 -9
  205. package/fesm2022/module-BIHXUA0w.mjs.map +1 -0
  206. package/fesm2022/{module-d7b2b858.mjs → module-Bj-soMIE.mjs} +31 -31
  207. package/fesm2022/module-Bj-soMIE.mjs.map +1 -0
  208. package/fesm2022/{module-dd496aa0.mjs → module-Bj_BSG1B.mjs} +33 -24
  209. package/fesm2022/module-Bj_BSG1B.mjs.map +1 -0
  210. package/fesm2022/{module-32e29bfa.mjs → module-nTxiyWBy.mjs} +20 -20
  211. package/fesm2022/module-nTxiyWBy.mjs.map +1 -0
  212. package/fesm2022/{option-f73e199f.mjs → option-Ce_vIVuD.mjs} +14 -14
  213. package/fesm2022/option-Ce_vIVuD.mjs.map +1 -0
  214. package/fesm2022/{option-harness-5590f8f2.mjs → option-harness-D_dpAU04.mjs} +2 -2
  215. package/fesm2022/option-harness-D_dpAU04.mjs.map +1 -0
  216. package/fesm2022/paginator/testing.mjs +4 -4
  217. package/fesm2022/paginator/testing.mjs.map +1 -1
  218. package/fesm2022/paginator.mjs +32 -31
  219. package/fesm2022/paginator.mjs.map +1 -1
  220. package/fesm2022/progress-bar/testing.mjs.map +1 -1
  221. package/fesm2022/progress-bar.mjs +12 -11
  222. package/fesm2022/progress-bar.mjs.map +1 -1
  223. package/fesm2022/progress-spinner/testing.mjs.map +1 -1
  224. package/fesm2022/progress-spinner.mjs +14 -13
  225. package/fesm2022/progress-spinner.mjs.map +1 -1
  226. package/fesm2022/{pseudo-checkbox-module-a5e70e5c.mjs → pseudo-checkbox-module-B1fNUV1l.mjs} +8 -8
  227. package/fesm2022/pseudo-checkbox-module-B1fNUV1l.mjs.map +1 -0
  228. package/fesm2022/{pseudo-checkbox-eb9ea05b.mjs → pseudo-checkbox-rb5Qj2XH.mjs} +8 -8
  229. package/fesm2022/pseudo-checkbox-rb5Qj2XH.mjs.map +1 -0
  230. package/fesm2022/{public-api-c3ea43bd.mjs → public-api-B95TI2uI.mjs} +2 -2
  231. package/fesm2022/public-api-B95TI2uI.mjs.map +1 -0
  232. package/fesm2022/radio/testing.mjs.map +1 -1
  233. package/fesm2022/radio.mjs +19 -18
  234. package/fesm2022/radio.mjs.map +1 -1
  235. package/fesm2022/{ripple-loader-901d2736.mjs → ripple-loader-R9v4tIlx.mjs} +7 -7
  236. package/fesm2022/ripple-loader-R9v4tIlx.mjs.map +1 -0
  237. package/fesm2022/{ripple-7f0562cc.mjs → ripple-t-kasrhF.mjs} +11 -11
  238. package/fesm2022/ripple-t-kasrhF.mjs.map +1 -0
  239. package/fesm2022/select/testing.mjs +122 -5
  240. package/fesm2022/select/testing.mjs.map +1 -1
  241. package/fesm2022/select.mjs +15 -14
  242. package/fesm2022/select.mjs.map +1 -1
  243. package/fesm2022/sidenav/testing.mjs.map +1 -1
  244. package/fesm2022/sidenav.mjs +30 -29
  245. package/fesm2022/sidenav.mjs.map +1 -1
  246. package/fesm2022/slide-toggle/testing.mjs.map +1 -1
  247. package/fesm2022/slide-toggle.mjs +16 -15
  248. package/fesm2022/slide-toggle.mjs.map +1 -1
  249. package/fesm2022/slider/testing.mjs.map +1 -1
  250. package/fesm2022/slider.mjs +25 -24
  251. package/fesm2022/slider.mjs.map +1 -1
  252. package/fesm2022/snack-bar/testing.mjs.map +1 -1
  253. package/fesm2022/snack-bar.mjs +34 -34
  254. package/fesm2022/snack-bar.mjs.map +1 -1
  255. package/fesm2022/sort/testing.mjs.map +1 -1
  256. package/fesm2022/sort.mjs +19 -18
  257. package/fesm2022/sort.mjs.map +1 -1
  258. package/fesm2022/stepper/testing.mjs.map +1 -1
  259. package/fesm2022/stepper.mjs +43 -42
  260. package/fesm2022/stepper.mjs.map +1 -1
  261. package/fesm2022/{structural-styles-efc7816b.mjs → structural-styles-BcST1BXh.mjs} +7 -7
  262. package/fesm2022/structural-styles-BcST1BXh.mjs.map +1 -0
  263. package/fesm2022/table/testing.mjs.map +1 -1
  264. package/fesm2022/table.mjs +61 -61
  265. package/fesm2022/table.mjs.map +1 -1
  266. package/fesm2022/tabs/testing.mjs.map +1 -1
  267. package/fesm2022/tabs.mjs +55 -54
  268. package/fesm2022/tabs.mjs.map +1 -1
  269. package/fesm2022/timepicker/testing.mjs +1 -1
  270. package/fesm2022/timepicker/testing.mjs.map +1 -1
  271. package/fesm2022/timepicker.mjs +27 -26
  272. package/fesm2022/timepicker.mjs.map +1 -1
  273. package/fesm2022/toolbar/testing.mjs.map +1 -1
  274. package/fesm2022/toolbar.mjs +13 -13
  275. package/fesm2022/toolbar.mjs.map +1 -1
  276. package/fesm2022/tooltip/testing.mjs.map +1 -1
  277. package/fesm2022/tooltip.mjs +4 -3
  278. package/fesm2022/tooltip.mjs.map +1 -1
  279. package/fesm2022/tree/testing.mjs.map +1 -1
  280. package/fesm2022/tree.mjs +28 -28
  281. package/fesm2022/tree.mjs.map +1 -1
  282. package/form-field/_form-field-theme.scss +24 -91
  283. package/{core/tokens/m2/mat/_form-field.scss → form-field/_m2-form-field.scss} +94 -13
  284. package/form-field/_m3-form-field.scss +153 -0
  285. package/form-field/index.d.ts +5 -5
  286. package/form-field/testing/control/index.d.ts +10 -2
  287. package/form-field/testing/index.d.ts +8 -8
  288. package/{form-field-control.d-d7b3a431.d.ts → form-field-control.d-39fAGkWp.d.ts} +3 -1
  289. package/{form-field.d-e2081e20.d.ts → form-field.d-DeaA8Upo.d.ts} +5 -3
  290. package/grid-list/_grid-list-theme.scss +7 -9
  291. package/{core/tokens/m2/mat/_grid-list.scss → grid-list/_m2-grid-list.scss} +6 -6
  292. package/{core/tokens/m3/mat/_grid-list.scss → grid-list/_m3-grid-list.scss} +2 -2
  293. package/grid-list/index.d.ts +3 -4
  294. package/grid-list/testing/index.d.ts +2 -1
  295. package/icon/_icon-theme.scss +12 -12
  296. package/{core/tokens/m2/mat/_icon.scss → icon/_m2-icon.scss} +5 -5
  297. package/{core/tokens/m3/mat/_icon.scss → icon/_m3-icon.scss} +3 -3
  298. package/icon/index.d.ts +4 -4
  299. package/icon/testing/index.d.ts +3 -2
  300. package/{icon-module.d-d06a5620.d.ts → icon-module.d-BeibE7j0.d.ts} +5 -4
  301. package/{icon-registry.d-b191b30b.d.ts → icon-registry.d-DyR40vgq.d.ts} +2 -1
  302. package/{index.d-609609fc.d.ts → index.d-_XdEyDn3.d.ts} +3 -3
  303. package/{index.d-6e895711.d.ts → index.d-osnm7rw7.d.ts} +5 -5
  304. package/input/_input-theme.scss +1 -1
  305. package/input/index.d.ts +16 -12
  306. package/input/testing/index.d.ts +4 -3
  307. package/{input-harness.d-5a0b8058.d.ts → input-harness.d-C1zsmszC.d.ts} +3 -2
  308. package/{line.d-ed625688.d.ts → line.d-OCn_JHOE.d.ts} +2 -2
  309. package/list/_list-theme.scss +29 -37
  310. package/{core/tokens/m2/mat/_list.scss → list/_m2-list.scss} +6 -6
  311. package/{core/tokens/m3/mat/_list.scss → list/_m3-list.scss} +19 -5
  312. package/list/index.d.ts +11 -11
  313. package/list/testing/index.d.ts +4 -3
  314. package/{list-option-types.d-32a3be09.d.ts → list-option-types.d-BcmY3SsC.d.ts} +1 -1
  315. package/{core/tokens/m2/mat/_menu.scss → menu/_m2-menu.scss} +7 -7
  316. package/{core/tokens/m3/mat/_menu.scss → menu/_m3-menu.scss} +14 -14
  317. package/menu/_menu-theme.scss +9 -15
  318. package/menu/index.d.ts +6 -5
  319. package/menu/testing/index.d.ts +2 -1
  320. package/{module.d-984cabd6.d.ts → module.d-Cym1ScGE.d.ts} +5 -4
  321. package/{module.d-916841df.d.ts → module.d-D0Yb5xFi.d.ts} +16 -10
  322. package/{module.d-a335a842.d.ts → module.d-_FxAFBZR.d.ts} +3 -3
  323. package/{option-harness.d-047df5c5.d.ts → option-harness.d-BpYClwei.d.ts} +2 -1
  324. package/{option-parent.d-f2c0c7de.d.ts → option-parent.d-CvnRKBST.d.ts} +2 -1
  325. package/{option.d-be9de0a8.d.ts → option.d-ef4idHSb.d.ts} +1 -1
  326. package/package.json +5 -2
  327. package/{core/tokens/m2/mat/_paginator.scss → paginator/_m2-paginator.scss} +7 -7
  328. package/{core/tokens/m3/mat/_paginator.scss → paginator/_m3-paginator.scss} +20 -4
  329. package/paginator/_paginator-theme.scss +14 -15
  330. package/paginator/index.d.ts +19 -19
  331. package/paginator/testing/index.d.ts +6 -5
  332. package/{paginator.d-82b71ef4.d.ts → paginator.d-Ctdtnt7L.d.ts} +5 -4
  333. package/{palette.d-f5ca9a2b.d.ts → palette.d-fF1us9u8.d.ts} +1 -1
  334. package/prebuilt-themes/azure-blue.css +1 -1
  335. package/prebuilt-themes/cyan-orange.css +1 -1
  336. package/prebuilt-themes/deeppurple-amber.css +1 -1
  337. package/prebuilt-themes/indigo-pink.css +1 -1
  338. package/prebuilt-themes/magenta-violet.css +1 -1
  339. package/prebuilt-themes/pink-bluegrey.css +1 -1
  340. package/prebuilt-themes/purple-green.css +1 -1
  341. package/prebuilt-themes/rose-red.css +1 -1
  342. package/{core/tokens/m2/mat/_linear-progress.scss → progress-bar/_m2-progress-bar.scss} +7 -7
  343. package/{core/tokens/m3/mat/_linear-progress.scss → progress-bar/_m3-progress-bar.scss} +3 -3
  344. package/progress-bar/_progress-bar-theme.scss +9 -9
  345. package/progress-bar/index.d.ts +4 -3
  346. package/progress-bar/testing/index.d.ts +2 -1
  347. package/{core/tokens/m2/mat/_circular-progress.scss → progress-spinner/_m2-progress-spinner.scss} +7 -7
  348. package/{core/tokens/m3/mat/_circular-progress.scss → progress-spinner/_m3-progress-spinner.scss} +3 -3
  349. package/progress-spinner/_progress-spinner-theme.scss +13 -13
  350. package/progress-spinner/index.d.ts +5 -5
  351. package/progress-spinner/testing/index.d.ts +4 -3
  352. package/{progress-spinner.d-96c586e2.d.ts → progress-spinner.d-DRWEU4qb.d.ts} +3 -2
  353. package/{pseudo-checkbox-module.d-efa6959b.d.ts → pseudo-checkbox-module.d-czRCRd5m.d.ts} +3 -2
  354. package/{core/tokens/m2/mat/_radio.scss → radio/_m2-radio.scss} +9 -9
  355. package/{core/tokens/m3/mat/_radio.scss → radio/_m3-radio.scss} +17 -4
  356. package/radio/_radio-theme.scss +21 -19
  357. package/radio/index.d.ts +7 -6
  358. package/radio/testing/index.d.ts +2 -1
  359. package/{ripple-loader.d-ef3a5132.d.ts → ripple-loader.d-DL-hT7NH.d.ts} +1 -1
  360. package/{ripple.d-838c5cd6.d.ts → ripple.d-DBFnJ3Aa.d.ts} +3 -2
  361. package/schematics/ng-add/index.js +1 -1
  362. package/schematics/ng-generate/theme-color/index_bundled.js +3829 -3941
  363. package/schematics/ng-generate/theme-color/index_bundled.js.map +3 -4
  364. package/schematics/ng-update/index_bundled.js +3361 -3407
  365. package/schematics/ng-update/index_bundled.js.map +3 -4
  366. package/{core/tokens/m2/mat/_select.scss → select/_m2-select.scss} +11 -11
  367. package/{core/tokens/m3/mat/_select.scss → select/_m3-select.scss} +19 -6
  368. package/select/_select-theme.scss +25 -21
  369. package/select/index.d.ts +12 -12
  370. package/select/testing/index.d.ts +64 -5
  371. package/{core/tokens/m2/mat/_sidenav.scss → sidenav/_m2-sidenav.scss} +7 -7
  372. package/{core/tokens/m3/mat/_sidenav.scss → sidenav/_m3-sidenav.scss} +6 -6
  373. package/sidenav/_sidenav-theme.scss +10 -14
  374. package/sidenav/index.d.ts +4 -3
  375. package/sidenav/testing/index.d.ts +3 -2
  376. package/{core/tokens/m2/mat/_switch.scss → slide-toggle/_m2-slide-toggle.scss} +9 -9
  377. package/{core/tokens/m3/mat/_switch.scss → slide-toggle/_m3-slide-toggle.scss} +25 -30
  378. package/slide-toggle/_slide-toggle-theme.scss +29 -29
  379. package/slide-toggle/index.d.ts +4 -3
  380. package/slide-toggle/testing/index.d.ts +2 -1
  381. package/{core/tokens/m2/mat/_slider.scss → slider/_m2-slider.scss} +7 -7
  382. package/{core/tokens/m3/mat/_slider.scss → slider/_m3-slider.scss} +12 -12
  383. package/slider/_slider-theme.scss +12 -24
  384. package/slider/index.d.ts +7 -6
  385. package/slider/testing/index.d.ts +2 -1
  386. package/{core/tokens/m2/mat/_snack-bar.scss → snack-bar/_m2-snack-bar.scss} +6 -6
  387. package/{core/tokens/m3/mat/_snack-bar.scss → snack-bar/_m3-snack-bar.scss} +2 -2
  388. package/snack-bar/_snack-bar-theme.scss +8 -14
  389. package/snack-bar/index.d.ts +9 -8
  390. package/snack-bar/testing/index.d.ts +2 -1
  391. package/{core/tokens/m2/mat/_sort.scss → sort/_m2-sort.scss} +6 -6
  392. package/{core/tokens/m3/mat/_sort.scss → sort/_m3-sort.scss} +2 -2
  393. package/sort/_sort-theme.scss +9 -15
  394. package/sort/index.d.ts +6 -6
  395. package/sort/testing/index.d.ts +3 -2
  396. package/{sort-direction.d-2be5f588.d.ts → sort-direction.d-Dlz8961P.d.ts} +1 -1
  397. package/{sort.d-75ca592a.d.ts → sort.d-CHu7FXsP.d.ts} +4 -3
  398. package/{core/tokens/m2/mat/_stepper.scss → stepper/_m2-stepper.scss} +7 -7
  399. package/{core/tokens/m3/mat/_stepper.scss → stepper/_m3-stepper.scss} +17 -4
  400. package/stepper/_stepper-theme.scss +21 -16
  401. package/stepper/index.d.ts +8 -7
  402. package/stepper/testing/index.d.ts +2 -1
  403. package/{core/tokens/m2/mat/_table.scss → table/_m2-table.scss} +7 -7
  404. package/table/_m3-table.scss +44 -0
  405. package/table/_table-theme.scss +14 -18
  406. package/table/index.d.ts +8 -8
  407. package/table/testing/index.d.ts +3 -2
  408. package/{core/tokens/m2/mat/_tab-header.scss → tabs/_m2-tabs.scss} +42 -11
  409. package/tabs/_m3-tabs.scss +70 -0
  410. package/tabs/_tabs-theme.scss +44 -122
  411. package/tabs/index.d.ts +6 -5
  412. package/tabs/testing/index.d.ts +2 -1
  413. package/{core/tokens/m2/mat/_timepicker.scss → timepicker/_m2-timepicker.scss} +7 -7
  414. package/{core/tokens/m3/mat/_timepicker.scss → timepicker/_m3-timepicker.scss} +4 -4
  415. package/timepicker/_timepicker-theme.scss +14 -14
  416. package/timepicker/index.d.ts +4 -3
  417. package/timepicker/testing/index.d.ts +3 -2
  418. package/{core/tokens/m2/mat/_toolbar.scss → toolbar/_m2-toolbar.scss} +7 -7
  419. package/{core/tokens/m3/mat/_toolbar.scss → toolbar/_m3-toolbar.scss} +18 -4
  420. package/toolbar/_toolbar-theme.scss +22 -17
  421. package/toolbar/index.d.ts +1 -1
  422. package/toolbar/testing/index.d.ts +2 -1
  423. package/{core/tokens/m2/mat/_plain-tooltip.scss → tooltip/_m2-tooltip.scss} +7 -7
  424. package/{core/tokens/m3/mat/_plain-tooltip.scss → tooltip/_m3-tooltip.scss} +3 -3
  425. package/tooltip/_tooltip-theme.scss +14 -14
  426. package/tooltip/index.d.ts +2 -2
  427. package/tooltip/testing/index.d.ts +2 -1
  428. package/{core/tokens/m2/mat/_tree.scss → tree/_m2-tree.scss} +7 -7
  429. package/{core/tokens/m3/mat/_tree.scss → tree/_m3-tree.scss} +15 -2
  430. package/tree/_tree-theme.scss +16 -12
  431. package/tree/index.d.ts +1 -1
  432. package/tree/testing/index.d.ts +2 -1
  433. package/button/_button-base.scss +0 -181
  434. package/checkbox/_checkbox-common.scss +0 -585
  435. package/core/style/_button-common.scss +0 -17
  436. package/core/style/_form-common.scss +0 -21
  437. package/core/style/_list-common.scss +0 -49
  438. package/core/style/_menu-common.scss +0 -94
  439. package/core/theming/_palette-deprecated.scss +0 -76
  440. package/core/theming/_theming-deprecated.scss +0 -27
  441. package/core/tokens/_density.scss +0 -170
  442. package/core/tokens/_token-definition.scss +0 -224
  443. package/core/tokens/m2/_index.scss +0 -159
  444. package/core/tokens/m2/mat/_elevated-card.scss +0 -51
  445. package/core/tokens/m2/mat/_extended-fab.scss +0 -53
  446. package/core/tokens/m2/mat/_fab-small.scss +0 -99
  447. package/core/tokens/m2/mat/_filled-button.scss +0 -114
  448. package/core/tokens/m2/mat/_filled-text-field.scss +0 -114
  449. package/core/tokens/m2/mat/_legacy-button-toggle.scss +0 -59
  450. package/core/tokens/m2/mat/_minimal-pseudo-checkbox.scss +0 -43
  451. package/core/tokens/m2/mat/_outlined-button.scss +0 -108
  452. package/core/tokens/m2/mat/_outlined-card.scss +0 -52
  453. package/core/tokens/m2/mat/_outlined-text-field.scss +0 -100
  454. package/core/tokens/m2/mat/_protected-button.scss +0 -120
  455. package/core/tokens/m2/mat/_secondary-navigation-tab.scss +0 -58
  456. package/core/tokens/m2/mat/_tab-header-with-background.scss +0 -42
  457. package/core/tokens/m2/mat/_tab-indicator.scss +0 -48
  458. package/core/tokens/m2/mat/_text-button.scss +0 -90
  459. package/core/tokens/m2/mat/_tonal-button.scss +0 -90
  460. package/core/tokens/m3/definitions/_index.scss +0 -8
  461. package/core/tokens/m3/mat/_card.scss +0 -24
  462. package/core/tokens/m3/mat/_elevated-card.scss +0 -27
  463. package/core/tokens/m3/mat/_extended-fab.scss +0 -64
  464. package/core/tokens/m3/mat/_fab-small.scss +0 -91
  465. package/core/tokens/m3/mat/_fab.scss +0 -90
  466. package/core/tokens/m3/mat/_filled-button.scss +0 -73
  467. package/core/tokens/m3/mat/_filled-text-field.scss +0 -68
  468. package/core/tokens/m3/mat/_form-field.scss +0 -58
  469. package/core/tokens/m3/mat/_full-pseudo-checkbox.scss +0 -43
  470. package/core/tokens/m3/mat/_minimal-pseudo-checkbox.scss +0 -35
  471. package/core/tokens/m3/mat/_outlined-button.scss +0 -71
  472. package/core/tokens/m3/mat/_outlined-card.scss +0 -28
  473. package/core/tokens/m3/mat/_outlined-text-field.scss +0 -65
  474. package/core/tokens/m3/mat/_protected-button.scss +0 -93
  475. package/core/tokens/m3/mat/_secondary-navigation-tab.scss +0 -17
  476. package/core/tokens/m3/mat/_tab-header.scss +0 -52
  477. package/core/tokens/m3/mat/_tab-indicator.scss +0 -34
  478. package/core/tokens/m3/mat/_table.scss +0 -29
  479. package/core/tokens/m3/mat/_text-button.scss +0 -68
  480. package/core/tokens/m3/mat/_tonal-button.scss +0 -65
  481. package/core/typography/_typography-utils-deprecated.scss +0 -6
  482. package/datepicker/_datepicker-legacy-compat.scss +0 -85
  483. package/divider/_divider-offset.scss +0 -12
  484. package/divider-harness.d-beb7f187.d.ts +0 -14
  485. package/expansion/_expansion-variables.scss +0 -30
  486. package/fesm2022/animation-89957083.mjs.map +0 -1
  487. package/fesm2022/common-module-727dea0d.mjs.map +0 -1
  488. package/fesm2022/date-formats-7bf66210.mjs.map +0 -1
  489. package/fesm2022/date-range-input-harness-62876dda.mjs.map +0 -1
  490. package/fesm2022/divider-harness-b5028683.mjs +0 -18
  491. package/fesm2022/divider-harness-b5028683.mjs.map +0 -1
  492. package/fesm2022/error-options-97896218.mjs.map +0 -1
  493. package/fesm2022/error-state-66849a3f.mjs.map +0 -1
  494. package/fesm2022/form-field-362737c2.mjs.map +0 -1
  495. package/fesm2022/form-field-control-harness-999f1b0d.mjs +0 -11
  496. package/fesm2022/form-field-control-harness-999f1b0d.mjs.map +0 -1
  497. package/fesm2022/icon-button-b18e0678.mjs.map +0 -1
  498. package/fesm2022/icon-module-611f1d10.mjs +0 -395
  499. package/fesm2022/icon-module-611f1d10.mjs.map +0 -1
  500. package/fesm2022/icon-registry-c6f81050.mjs.map +0 -1
  501. package/fesm2022/index-36009e89.mjs.map +0 -1
  502. package/fesm2022/index-59ddbae2.mjs.map +0 -1
  503. package/fesm2022/input-harness-d9056d71.mjs.map +0 -1
  504. package/fesm2022/input-value-accessor-4d18edb7.mjs.map +0 -1
  505. package/fesm2022/internal-form-field-8aa9ac25.mjs.map +0 -1
  506. package/fesm2022/line-8a8e5afd.mjs.map +0 -1
  507. package/fesm2022/module-32e29bfa.mjs.map +0 -1
  508. package/fesm2022/module-363d9b43.mjs.map +0 -1
  509. package/fesm2022/module-6b891d2d.mjs +0 -214
  510. package/fesm2022/module-6b891d2d.mjs.map +0 -1
  511. package/fesm2022/module-d7b2b858.mjs.map +0 -1
  512. package/fesm2022/module-dd496aa0.mjs.map +0 -1
  513. package/fesm2022/optgroup-harness-fd0fcd6d.mjs +0 -36
  514. package/fesm2022/optgroup-harness-fd0fcd6d.mjs.map +0 -1
  515. package/fesm2022/option-f73e199f.mjs.map +0 -1
  516. package/fesm2022/option-harness-5590f8f2.mjs.map +0 -1
  517. package/fesm2022/pseudo-checkbox-eb9ea05b.mjs.map +0 -1
  518. package/fesm2022/pseudo-checkbox-module-a5e70e5c.mjs.map +0 -1
  519. package/fesm2022/public-api-c3ea43bd.mjs.map +0 -1
  520. package/fesm2022/ripple-7f0562cc.mjs.map +0 -1
  521. package/fesm2022/ripple-loader-901d2736.mjs.map +0 -1
  522. package/fesm2022/select-harness-5d21e0b8.mjs +0 -123
  523. package/fesm2022/select-harness-5d21e0b8.mjs.map +0 -1
  524. package/fesm2022/structural-styles-efc7816b.mjs.map +0 -1
  525. package/form-field/_form-field-focus-overlay.scss +0 -31
  526. package/form-field/_form-field-high-contrast.scss +0 -39
  527. package/form-field/_form-field-native-select.scss +0 -97
  528. package/form-field/_form-field-subscript.scss +0 -95
  529. package/form-field/_mdc-text-field-density-overrides.scss +0 -60
  530. package/form-field/_mdc-text-field-structure-overrides.scss +0 -186
  531. package/form-field/_mdc-text-field-structure.scss +0 -621
  532. package/form-field/_mdc-text-field-textarea-overrides.scss +0 -36
  533. package/form-field/_user-agent-overrides.scss +0 -24
  534. package/form-field-control-harness.d-8ec51e17.d.ts +0 -10
  535. package/list/_list-inherited-structure.scss +0 -504
  536. package/list/_list-item-hcm-indicator.scss +0 -29
  537. package/module.d-1b393e15.d.ts +0 -213
  538. package/optgroup-harness.d-fc22ca1c.d.ts +0 -31
  539. package/radio/_radio-common.scss +0 -259
  540. package/select-harness.d-03127681.d.ts +0 -63
  541. package/stepper/_stepper-variables.scss +0 -29
  542. package/table/_table-flex-styles.scss +0 -61
  543. package/tabs/_tabs-common.scss +0 -497
  544. package/toolbar/_toolbar-variables.scss +0 -28
  545. /package/core/tokens/m3/{definitions/_md-ref-palette.scss → _md-ref-palette.scss} +0 -0
  546. /package/core/tokens/m3/{definitions/_md-ref-typeface.scss → _md-ref-typeface.scss} +0 -0
  547. /package/core/tokens/m3/{definitions/_md-sys-color.scss → _md-sys-color.scss} +0 -0
  548. /package/core/tokens/m3/{definitions/_md-sys-elevation.scss → _md-sys-elevation.scss} +0 -0
  549. /package/core/tokens/m3/{definitions/_md-sys-motion.scss → _md-sys-motion.scss} +0 -0
  550. /package/core/tokens/m3/{definitions/_md-sys-shape.scss → _md-sys-shape.scss} +0 -0
  551. /package/core/tokens/m3/{definitions/_md-sys-state.scss → _md-sys-state.scss} +0 -0
  552. /package/core/tokens/m3/{definitions/_md-sys-typescale.scss → _md-sys-typescale.scss} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { ComponentHarness, HarnessPredicate, TestKey } from '@angular/cdk/testing';
2
- import { M as MatOptionHarness } from '../option-harness-5590f8f2.mjs';
2
+ import { MatOptionHarness } from '../option-harness-D_dpAU04.mjs';
3
3
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
4
 
5
5
  class MatTimepickerHarness extends ComponentHarness {
@@ -1 +1 @@
1
- {"version":3,"file":"testing.mjs","sources":["../../../../../../k8-fastbuild-ST-46c76129e412/bin/src/material/timepicker/testing/timepicker-harness.ts","../../../../../../k8-fastbuild-ST-46c76129e412/bin/src/material/timepicker/testing/timepicker-input-harness.ts","../../../../../../k8-fastbuild-ST-46c76129e412/bin/src/material/timepicker/testing/timepicker-toggle-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {MatOptionHarness, OptionHarnessFilters} from '../../core/testing';\nimport {TimepickerHarnessFilters} from './timepicker-harness-filters';\n\nexport class MatTimepickerHarness extends ComponentHarness {\n private _documentRootLocator = this.documentRootLocatorFactory();\n static hostSelector = 'mat-timepicker';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a timepicker with specific\n * attributes.\n * @param options Options for filtering which timepicker instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatTimepickerHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TimepickerHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Whether the timepicker is open. */\n async isOpen(): Promise<boolean> {\n const selector = await this._getPanelSelector();\n const panel = await this._documentRootLocator.locatorForOptional(selector)();\n return panel !== null;\n }\n\n /** Gets the options inside the timepicker panel. */\n async getOptions(filters?: Omit<OptionHarnessFilters, 'ancestor'>): Promise<MatOptionHarness[]> {\n if (!(await this.isOpen())) {\n throw new Error('Unable to retrieve options for timepicker. Timepicker panel is closed.');\n }\n\n return this._documentRootLocator.locatorForAll(\n MatOptionHarness.with({\n ...(filters || {}),\n ancestor: await this._getPanelSelector(),\n } as OptionHarnessFilters),\n )();\n }\n\n /** Selects the first option matching the given filters. */\n async selectOption(filters: OptionHarnessFilters): Promise<void> {\n const options = await this.getOptions(filters);\n if (!options.length) {\n throw Error(`Could not find a mat-option matching ${JSON.stringify(filters)}`);\n }\n await options[0].click();\n }\n\n /** Gets the selector that can be used to find the timepicker's panel. */\n protected async _getPanelSelector(): Promise<string> {\n return `#${await (await this.host()).getAttribute('mat-timepicker-panel-id')}`;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n TestKey,\n} from '@angular/cdk/testing';\nimport {MatTimepickerHarness} from './timepicker-harness';\nimport {\n TimepickerHarnessFilters,\n TimepickerInputHarnessFilters,\n} from './timepicker-harness-filters';\n\n/** Harness for interacting with a standard Material timepicker inputs in tests. */\nexport class MatTimepickerInputHarness extends ComponentHarness {\n private _documentRootLocator = this.documentRootLocatorFactory();\n static hostSelector = '.mat-timepicker-input';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatTimepickerInputHarness`\n * that meets certain criteria.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatTimepickerInputHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TimepickerInputHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('value', options.value, (harness, value) => {\n return HarnessPredicate.stringMatches(harness.getValue(), value);\n })\n .addOption('placeholder', options.placeholder, (harness, placeholder) => {\n return HarnessPredicate.stringMatches(harness.getPlaceholder(), placeholder);\n });\n }\n\n /** Gets whether the timepicker associated with the input is open. */\n async isTimepickerOpen(): Promise<boolean> {\n const host = await this.host();\n return (await host.getAttribute('aria-expanded')) === 'true';\n }\n\n /** Opens the timepicker associated with the input and returns the timepicker instance. */\n async openTimepicker(): Promise<MatTimepickerHarness> {\n if (!(await this.isDisabled())) {\n const host = await this.host();\n await host.sendKeys(TestKey.DOWN_ARROW);\n }\n\n return this.getTimepicker();\n }\n\n /** Closes the timepicker associated with the input. */\n async closeTimepicker(): Promise<void> {\n await this._documentRootLocator.rootElement.click();\n\n // This is necessary so that we wait for the closing animation.\n await this.forceStabilize();\n }\n\n /**\n * Gets the `MatTimepickerHarness` that is associated with the input.\n * @param filter Optionally filters which timepicker is included.\n */\n async getTimepicker(filter: TimepickerHarnessFilters = {}): Promise<MatTimepickerHarness> {\n const host = await this.host();\n const timepickerId = await host.getAttribute('mat-timepicker-id');\n\n if (!timepickerId) {\n throw Error('Element is not associated with a timepicker');\n }\n\n return this._documentRootLocator.locatorFor(\n MatTimepickerHarness.with({\n ...filter,\n selector: `[mat-timepicker-panel-id=\"${timepickerId}\"]`,\n }),\n )();\n }\n\n /** Whether the input is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await this.host()).getProperty<boolean>('disabled');\n }\n\n /** Whether the input is required. */\n async isRequired(): Promise<boolean> {\n return (await this.host()).getProperty<boolean>('required');\n }\n\n /** Gets the value of the input. */\n async getValue(): Promise<string> {\n // The \"value\" property of the native input is always defined.\n return await (await this.host()).getProperty<string>('value');\n }\n\n /**\n * Sets the value of the input. The value will be set by simulating\n * keypresses that correspond to the given value.\n */\n async setValue(newValue: string): Promise<void> {\n const inputEl = await this.host();\n await inputEl.clear();\n\n // We don't want to send keys for the value if the value is an empty\n // string in order to clear the value. Sending keys with an empty string\n // still results in unnecessary focus events.\n if (newValue) {\n await inputEl.sendKeys(newValue);\n }\n }\n\n /** Gets the placeholder of the input. */\n async getPlaceholder(): Promise<string> {\n return await (await this.host()).getProperty<string>('placeholder');\n }\n\n /**\n * Focuses the input and returns a promise that indicates when the\n * action is complete.\n */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /**\n * Blurs the input and returns a promise that indicates when the\n * action is complete.\n */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the input is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {ComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {TimepickerToggleHarnessFilters} from './timepicker-harness-filters';\n\n/** Harness for interacting with a standard Material timepicker toggle in tests. */\nexport class MatTimepickerToggleHarness extends ComponentHarness {\n static hostSelector = '.mat-timepicker-toggle';\n\n /** The clickable button inside the toggle. */\n private _button = this.locatorFor('button');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatTimepickerToggleHarness` that\n * meets certain criteria.\n * @param options Options for filtering which timepicker toggle instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: TimepickerToggleHarnessFilters = {},\n ): HarnessPredicate<MatTimepickerToggleHarness> {\n return new HarnessPredicate(MatTimepickerToggleHarness, options);\n }\n\n /** Opens the timepicker associated with the toggle. */\n async openTimepicker(): Promise<void> {\n const isOpen = await this.isTimepickerOpen();\n\n if (!isOpen) {\n const button = await this._button();\n await button.click();\n }\n }\n\n /** Gets whether the timepicker associated with the toggle is open. */\n async isTimepickerOpen(): Promise<boolean> {\n const button = await this._button();\n const ariaExpanded = await button.getAttribute('aria-expanded');\n return ariaExpanded === 'true';\n }\n\n /** Whether the toggle is disabled. */\n async isDisabled(): Promise<boolean> {\n const button = await this._button();\n return coerceBooleanProperty(await button.getAttribute('disabled'));\n }\n}\n"],"names":[],"mappings":";;;;AAgBM,MAAO,oBAAqB,SAAQ,gBAAgB,CAAA;AAChD,IAAA,oBAAoB,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAA;AAChE,IAAA,OAAO,YAAY,GAAG,gBAAgB,CAAA;AAEtC;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAAoC,EAAE,EAAA;AAEtC,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;KAC5C;;AAGA,IAAA,MAAM,MAAM,GAAA;AACV,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;AAC/C,QAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAA;QAC5E,OAAO,KAAK,KAAK,IAAI,CAAA;KACvB;;IAGA,MAAM,UAAU,CAAC,OAAgD,EAAA;QAC/D,IAAI,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;AAC1B,YAAA,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;SAC3F;QAEA,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAC5C,gBAAgB,CAAC,IAAI,CAAC;AACpB,YAAA,IAAI,OAAO,IAAI,EAAE,CAAC;AAClB,YAAA,QAAQ,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE;SACjB,CAAC,CAC3B,EAAE,CAAA;KACL;;IAGA,MAAM,YAAY,CAAC,OAA6B,EAAA;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AAC9C,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnB,MAAM,KAAK,CAAC,CAAA,qCAAA,EAAwC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAE,CAAA,CAAC,CAAA;SAChF;AACA,QAAA,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;KAC1B;;AAGU,IAAA,MAAM,iBAAiB,GAAA;AAC/B,QAAA,OAAO,CAAI,CAAA,EAAA,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,yBAAyB,CAAC,EAAE,CAAA;KAChF;;;AC9CF;AACM,MAAO,yBAA0B,SAAQ,gBAAgB,CAAA;AACrD,IAAA,oBAAoB,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAA;AAChE,IAAA,OAAO,YAAY,GAAG,uBAAuB,CAAA;AAE7C;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAAyC,EAAE,EAAA;AAE3C,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAA;AACtC,aAAA,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,KAAI;YACpD,OAAO,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAA;AAClE,SAAC,CAAA;AACA,aAAA,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,WAAW,KAAI;YACtE,OAAO,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,WAAW,CAAC,CAAA;AAC9E,SAAC,CAAC,CAAA;KACN;;AAGA,IAAA,MAAM,gBAAgB,GAAA;AACpB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAC9B,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,MAAM,CAAA;KAC9D;;AAGA,IAAA,MAAM,cAAc,GAAA;QAClB,IAAI,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE;AAC9B,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;YAC9B,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;SACzC;AAEA,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;KAC7B;;AAGA,IAAA,MAAM,eAAe,GAAA;QACnB,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;;AAGnD,QAAA,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;KAC7B;AAEA;;;AAGG;AACH,IAAA,MAAM,aAAa,CAAC,MAAA,GAAmC,EAAE,EAAA;AACvD,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAC9B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAA;QAEjE,IAAI,CAAC,YAAY,EAAE;AACjB,YAAA,MAAM,KAAK,CAAC,6CAA6C,CAAC,CAAA;SAC5D;QAEA,OAAO,IAAI,CAAC,oBAAoB,CAAC,UAAU,CACzC,oBAAoB,CAAC,IAAI,CAAC;AACxB,YAAA,GAAG,MAAM;YACT,QAAQ,EAAE,CAA6B,0BAAA,EAAA,YAAY,CAAI,EAAA,CAAA;SACxD,CAAC,CACH,EAAE,CAAA;KACL;;AAGA,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,CAAU,UAAU,CAAC,CAAA;KAC7D;;AAGA,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,CAAU,UAAU,CAAC,CAAA;KAC7D;;AAGA,IAAA,MAAM,QAAQ,GAAA;;AAEZ,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,CAAS,OAAO,CAAC,CAAA;KAC/D;AAEA;;;AAGG;IACH,MAAM,QAAQ,CAAC,QAAgB,EAAA;AAC7B,QAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;AACjC,QAAA,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;;;;QAKrB,IAAI,QAAQ,EAAE;AACZ,YAAA,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;SAClC;KACF;;AAGA,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,CAAS,aAAa,CAAC,CAAA;KACrE;AAEA;;;AAGG;AACH,IAAA,MAAM,KAAK,GAAA;QACT,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAA;KACpC;AAEA;;;AAGG;AACH,IAAA,MAAM,IAAI,GAAA;QACR,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAA;KACnC;;AAGA,IAAA,MAAM,SAAS,GAAA;QACb,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAA;KACxC;;;ACpIF;AACM,MAAO,0BAA2B,SAAQ,gBAAgB,CAAA;AAC9D,IAAA,OAAO,YAAY,GAAG,wBAAwB,CAAA;;AAGtC,IAAA,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;AAE3C;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CACT,OAAA,GAA0C,EAAE,EAAA;AAE5C,QAAA,OAAO,IAAI,gBAAgB,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAA;KAClE;;AAGA,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAE5C,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;AACnC,YAAA,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;SACtB;KACF;;AAGA,IAAA,MAAM,gBAAgB,GAAA;AACpB,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACnC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;QAC/D,OAAO,YAAY,KAAK,MAAM,CAAA;KAChC;;AAGA,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACnC,OAAO,qBAAqB,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAA;KACrE;;;;;"}
1
+ {"version":3,"file":"testing.mjs","sources":["../../../../../../darwin_arm64-fastbuild-ST-46c76129e412/bin/src/material/timepicker/testing/timepicker-harness.ts","../../../../../../darwin_arm64-fastbuild-ST-46c76129e412/bin/src/material/timepicker/testing/timepicker-input-harness.ts","../../../../../../darwin_arm64-fastbuild-ST-46c76129e412/bin/src/material/timepicker/testing/timepicker-toggle-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {MatOptionHarness, OptionHarnessFilters} from '../../core/testing';\nimport {TimepickerHarnessFilters} from './timepicker-harness-filters';\n\nexport class MatTimepickerHarness extends ComponentHarness {\n private _documentRootLocator = this.documentRootLocatorFactory();\n static hostSelector = 'mat-timepicker';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a timepicker with specific\n * attributes.\n * @param options Options for filtering which timepicker instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatTimepickerHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TimepickerHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Whether the timepicker is open. */\n async isOpen(): Promise<boolean> {\n const selector = await this._getPanelSelector();\n const panel = await this._documentRootLocator.locatorForOptional(selector)();\n return panel !== null;\n }\n\n /** Gets the options inside the timepicker panel. */\n async getOptions(filters?: Omit<OptionHarnessFilters, 'ancestor'>): Promise<MatOptionHarness[]> {\n if (!(await this.isOpen())) {\n throw new Error('Unable to retrieve options for timepicker. Timepicker panel is closed.');\n }\n\n return this._documentRootLocator.locatorForAll(\n MatOptionHarness.with({\n ...(filters || {}),\n ancestor: await this._getPanelSelector(),\n } as OptionHarnessFilters),\n )();\n }\n\n /** Selects the first option matching the given filters. */\n async selectOption(filters: OptionHarnessFilters): Promise<void> {\n const options = await this.getOptions(filters);\n if (!options.length) {\n throw Error(`Could not find a mat-option matching ${JSON.stringify(filters)}`);\n }\n await options[0].click();\n }\n\n /** Gets the selector that can be used to find the timepicker's panel. */\n protected async _getPanelSelector(): Promise<string> {\n return `#${await (await this.host()).getAttribute('mat-timepicker-panel-id')}`;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n TestKey,\n} from '@angular/cdk/testing';\nimport {MatTimepickerHarness} from './timepicker-harness';\nimport {\n TimepickerHarnessFilters,\n TimepickerInputHarnessFilters,\n} from './timepicker-harness-filters';\n\n/** Harness for interacting with a standard Material timepicker inputs in tests. */\nexport class MatTimepickerInputHarness extends ComponentHarness {\n private _documentRootLocator = this.documentRootLocatorFactory();\n static hostSelector = '.mat-timepicker-input';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatTimepickerInputHarness`\n * that meets certain criteria.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatTimepickerInputHarness>(\n this: ComponentHarnessConstructor<T>,\n options: TimepickerInputHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('value', options.value, (harness, value) => {\n return HarnessPredicate.stringMatches(harness.getValue(), value);\n })\n .addOption('placeholder', options.placeholder, (harness, placeholder) => {\n return HarnessPredicate.stringMatches(harness.getPlaceholder(), placeholder);\n });\n }\n\n /** Gets whether the timepicker associated with the input is open. */\n async isTimepickerOpen(): Promise<boolean> {\n const host = await this.host();\n return (await host.getAttribute('aria-expanded')) === 'true';\n }\n\n /** Opens the timepicker associated with the input and returns the timepicker instance. */\n async openTimepicker(): Promise<MatTimepickerHarness> {\n if (!(await this.isDisabled())) {\n const host = await this.host();\n await host.sendKeys(TestKey.DOWN_ARROW);\n }\n\n return this.getTimepicker();\n }\n\n /** Closes the timepicker associated with the input. */\n async closeTimepicker(): Promise<void> {\n await this._documentRootLocator.rootElement.click();\n\n // This is necessary so that we wait for the closing animation.\n await this.forceStabilize();\n }\n\n /**\n * Gets the `MatTimepickerHarness` that is associated with the input.\n * @param filter Optionally filters which timepicker is included.\n */\n async getTimepicker(filter: TimepickerHarnessFilters = {}): Promise<MatTimepickerHarness> {\n const host = await this.host();\n const timepickerId = await host.getAttribute('mat-timepicker-id');\n\n if (!timepickerId) {\n throw Error('Element is not associated with a timepicker');\n }\n\n return this._documentRootLocator.locatorFor(\n MatTimepickerHarness.with({\n ...filter,\n selector: `[mat-timepicker-panel-id=\"${timepickerId}\"]`,\n }),\n )();\n }\n\n /** Whether the input is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await this.host()).getProperty<boolean>('disabled');\n }\n\n /** Whether the input is required. */\n async isRequired(): Promise<boolean> {\n return (await this.host()).getProperty<boolean>('required');\n }\n\n /** Gets the value of the input. */\n async getValue(): Promise<string> {\n // The \"value\" property of the native input is always defined.\n return await (await this.host()).getProperty<string>('value');\n }\n\n /**\n * Sets the value of the input. The value will be set by simulating\n * keypresses that correspond to the given value.\n */\n async setValue(newValue: string): Promise<void> {\n const inputEl = await this.host();\n await inputEl.clear();\n\n // We don't want to send keys for the value if the value is an empty\n // string in order to clear the value. Sending keys with an empty string\n // still results in unnecessary focus events.\n if (newValue) {\n await inputEl.sendKeys(newValue);\n }\n }\n\n /** Gets the placeholder of the input. */\n async getPlaceholder(): Promise<string> {\n return await (await this.host()).getProperty<string>('placeholder');\n }\n\n /**\n * Focuses the input and returns a promise that indicates when the\n * action is complete.\n */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /**\n * Blurs the input and returns a promise that indicates when the\n * action is complete.\n */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the input is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {ComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {TimepickerToggleHarnessFilters} from './timepicker-harness-filters';\n\n/** Harness for interacting with a standard Material timepicker toggle in tests. */\nexport class MatTimepickerToggleHarness extends ComponentHarness {\n static hostSelector = '.mat-timepicker-toggle';\n\n /** The clickable button inside the toggle. */\n private _button = this.locatorFor('button');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatTimepickerToggleHarness` that\n * meets certain criteria.\n * @param options Options for filtering which timepicker toggle instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: TimepickerToggleHarnessFilters = {},\n ): HarnessPredicate<MatTimepickerToggleHarness> {\n return new HarnessPredicate(MatTimepickerToggleHarness, options);\n }\n\n /** Opens the timepicker associated with the toggle. */\n async openTimepicker(): Promise<void> {\n const isOpen = await this.isTimepickerOpen();\n\n if (!isOpen) {\n const button = await this._button();\n await button.click();\n }\n }\n\n /** Gets whether the timepicker associated with the toggle is open. */\n async isTimepickerOpen(): Promise<boolean> {\n const button = await this._button();\n const ariaExpanded = await button.getAttribute('aria-expanded');\n return ariaExpanded === 'true';\n }\n\n /** Whether the toggle is disabled. */\n async isDisabled(): Promise<boolean> {\n const button = await this._button();\n return coerceBooleanProperty(await button.getAttribute('disabled'));\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,29 +1,30 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, ViewContainerRef, Injector, signal, viewChild, viewChildren, input, output, booleanAttribute, computed, effect, ElementRef, afterNextRender, untracked, Component, ChangeDetectionStrategy, ViewEncapsulation, model, Renderer2, Directive, HostAttributeToken, NgModule } from '@angular/core';
2
+ import { InjectionToken, inject, ViewContainerRef, Injector, signal, viewChild, viewChildren, input, output, booleanAttribute, computed, effect, ElementRef, afterNextRender, untracked, ViewEncapsulation, ChangeDetectionStrategy, Component, model, Renderer2, Directive, HostAttributeToken, NgModule } from '@angular/core';
3
3
  import { Directionality } from '@angular/cdk/bidi';
4
4
  import { Overlay } from '@angular/cdk/overlay';
5
5
  import { TemplatePortal } from '@angular/cdk/portal';
6
6
  import { _getEventTarget, _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';
7
7
  import { TAB, ESCAPE, hasModifierKey, ENTER, DOWN_ARROW, UP_ARROW } from '@angular/cdk/keycodes';
8
8
  import { ActiveDescendantKeyManager, _IdGenerator } from '@angular/cdk/a11y';
9
- import { D as DateAdapter, a as MAT_DATE_FORMATS } from './date-formats-7bf66210.mjs';
10
- import { _ as _animationsDisabled } from './animation-89957083.mjs';
11
- import { a as MatOption, M as MAT_OPTION_PARENT_COMPONENT } from './option-f73e199f.mjs';
9
+ import { DateAdapter, MAT_DATE_FORMATS } from './date-formats-BQbO9F6H.mjs';
10
+ import { _animationsDisabled } from './animation-DYWs964N.mjs';
11
+ import { MatOption, MAT_OPTION_PARENT_COMPONENT } from './option-Ce_vIVuD.mjs';
12
12
  import { Validators, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
13
- import { M as MAT_FORM_FIELD } from './form-field-362737c2.mjs';
14
- import { M as MAT_INPUT_VALUE_ACCESSOR } from './input-value-accessor-4d18edb7.mjs';
15
- import { a as MatIconButton } from './icon-button-b18e0678.mjs';
13
+ import { MAT_FORM_FIELD } from './form-field-DXXhIBX2.mjs';
14
+ import { MAT_INPUT_VALUE_ACCESSOR } from './input-value-accessor-cp3A3zMa.mjs';
15
+ import { MatIconButton } from './icon-button-SnLX2J-J.mjs';
16
16
  import { CdkScrollableModule } from '@angular/cdk/scrolling';
17
17
  import 'rxjs';
18
- import './ripple-7f0562cc.mjs';
18
+ import '@angular/cdk/layout';
19
+ import './ripple-t-kasrhF.mjs';
19
20
  import '@angular/cdk/coercion';
20
21
  import '@angular/cdk/private';
21
- import './pseudo-checkbox-eb9ea05b.mjs';
22
- import './structural-styles-efc7816b.mjs';
22
+ import './pseudo-checkbox-rb5Qj2XH.mjs';
23
+ import './structural-styles-BcST1BXh.mjs';
23
24
  import '@angular/common';
24
25
  import 'rxjs/operators';
25
26
  import '@angular/cdk/observers/private';
26
- import './ripple-loader-901d2736.mjs';
27
+ import './ripple-loader-R9v4tIlx.mjs';
27
28
 
28
29
  /** Pattern that interval strings have to match. */
29
30
  const INTERVAL_PATTERN = /^(\d*\.?\d+)\s*(h|hour|hours|m|min|minute|minutes|s|second|seconds)?$/i;
@@ -426,22 +427,22 @@ class MatTimepicker {
426
427
  }
427
428
  });
428
429
  }
429
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.4", ngImport: i0, type: MatTimepicker, deps: [], target: i0.ɵɵFactoryTarget.Component });
430
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0-next.4", type: MatTimepicker, isStandalone: true, selector: "mat-timepicker", inputs: { interval: { classPropertyName: "interval", publicName: "interval", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, disableRipple: { classPropertyName: "disableRipple", publicName: "disableRipple", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selected", opened: "opened", closed: "closed" }, providers: [
430
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatTimepicker, deps: [], target: i0.ɵɵFactoryTarget.Component });
431
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0-next.5", type: MatTimepicker, isStandalone: true, selector: "mat-timepicker", inputs: { interval: { classPropertyName: "interval", publicName: "interval", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, disableRipple: { classPropertyName: "disableRipple", publicName: "disableRipple", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selected", opened: "opened", closed: "closed" }, providers: [
431
432
  {
432
433
  provide: MAT_OPTION_PARENT_COMPONENT,
433
434
  useExisting: MatTimepicker,
434
435
  },
435
- ], viewQueries: [{ propertyName: "_panelTemplate", first: true, predicate: ["panelTemplate"], descendants: true, isSignal: true }, { propertyName: "_options", predicate: MatOption, descendants: true, isSignal: true }], exportAs: ["matTimepicker"], ngImport: i0, template: "<ng-template #panelTemplate>\n <div\n role=\"listbox\"\n class=\"mat-timepicker-panel\"\n [class.mat-timepicker-panel-animations-enabled]=\"!_animationsDisabled\"\n [class.mat-timepicker-panel-exit]=\"!isOpen()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"_getAriaLabelledby()\"\n [id]=\"panelId\"\n (animationend)=\"_handleAnimationEnd($event)\">\n @for (option of _timeOptions; track option.value) {\n <mat-option\n [value]=\"option.value\"\n (onSelectionChange)=\"_selectValue($event.source)\">{{option.label}}</mat-option>\n }\n </div>\n</ng-template>\n", styles: ["@keyframes _mat-timepicker-enter{from{opacity:0;transform:scaleY(0.8)}to{opacity:1;transform:none}}@keyframes _mat-timepicker-exit{from{opacity:1}to{opacity:0}}mat-timepicker{display:none}.mat-timepicker-panel{width:100%;max-height:256px;transform-origin:center top;overflow:auto;padding:8px 0;box-sizing:border-box;border-bottom-left-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small));border-bottom-right-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small));box-shadow:var(--mat-timepicker-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));background-color:var(--mat-timepicker-container-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){.mat-timepicker-panel{outline:solid 1px}}.mat-timepicker-above .mat-timepicker-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small));border-top-right-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small))}.mat-timepicker-panel-animations-enabled{animation:_mat-timepicker-enter 120ms cubic-bezier(0, 0, 0.2, 1)}.mat-timepicker-panel-animations-enabled.mat-timepicker-panel-exit{animation:_mat-timepicker-exit 100ms linear}.mat-timepicker-input[readonly]{cursor:pointer}@media(forced-colors: active){.mat-timepicker-toggle-default-icon{color:CanvasText}}"], dependencies: [{ kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
436
+ ], viewQueries: [{ propertyName: "_panelTemplate", first: true, predicate: ["panelTemplate"], descendants: true, isSignal: true }, { propertyName: "_options", predicate: MatOption, descendants: true, isSignal: true }], exportAs: ["matTimepicker"], ngImport: i0, template: "<ng-template #panelTemplate>\n <div\n role=\"listbox\"\n class=\"mat-timepicker-panel\"\n [class.mat-timepicker-panel-animations-enabled]=\"!_animationsDisabled\"\n [class.mat-timepicker-panel-exit]=\"!isOpen()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"_getAriaLabelledby()\"\n [id]=\"panelId\"\n (animationend)=\"_handleAnimationEnd($event)\">\n @for (option of _timeOptions; track option.value) {\n <mat-option\n [value]=\"option.value\"\n (onSelectionChange)=\"_selectValue($event.source)\">{{option.label}}</mat-option>\n }\n </div>\n</ng-template>\n", styles: ["@keyframes _mat-timepicker-enter{from{opacity:0;transform:scaleY(0.8)}to{opacity:1;transform:none}}@keyframes _mat-timepicker-exit{from{opacity:1}to{opacity:0}}mat-timepicker{display:none}.mat-timepicker-panel{width:100%;max-height:256px;transform-origin:center top;overflow:auto;padding:8px 0;box-sizing:border-box;border-bottom-left-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small));border-bottom-right-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small));box-shadow:var(--mat-timepicker-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));background-color:var(--mat-timepicker-container-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){.mat-timepicker-panel{outline:solid 1px}}.mat-timepicker-above .mat-timepicker-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small));border-top-right-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small))}.mat-timepicker-panel-animations-enabled{animation:_mat-timepicker-enter 120ms cubic-bezier(0, 0, 0.2, 1)}.mat-timepicker-panel-animations-enabled.mat-timepicker-panel-exit{animation:_mat-timepicker-exit 100ms linear}.mat-timepicker-input[readonly]{cursor:pointer}@media(forced-colors: active){.mat-timepicker-toggle-default-icon{color:CanvasText}}\n"], dependencies: [{ kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
436
437
  }
437
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.4", ngImport: i0, type: MatTimepicker, decorators: [{
438
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatTimepicker, decorators: [{
438
439
  type: Component,
439
440
  args: [{ selector: 'mat-timepicker', exportAs: 'matTimepicker', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [MatOption], providers: [
440
441
  {
441
442
  provide: MAT_OPTION_PARENT_COMPONENT,
442
443
  useExisting: MatTimepicker,
443
444
  },
444
- ], template: "<ng-template #panelTemplate>\n <div\n role=\"listbox\"\n class=\"mat-timepicker-panel\"\n [class.mat-timepicker-panel-animations-enabled]=\"!_animationsDisabled\"\n [class.mat-timepicker-panel-exit]=\"!isOpen()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"_getAriaLabelledby()\"\n [id]=\"panelId\"\n (animationend)=\"_handleAnimationEnd($event)\">\n @for (option of _timeOptions; track option.value) {\n <mat-option\n [value]=\"option.value\"\n (onSelectionChange)=\"_selectValue($event.source)\">{{option.label}}</mat-option>\n }\n </div>\n</ng-template>\n", styles: ["@keyframes _mat-timepicker-enter{from{opacity:0;transform:scaleY(0.8)}to{opacity:1;transform:none}}@keyframes _mat-timepicker-exit{from{opacity:1}to{opacity:0}}mat-timepicker{display:none}.mat-timepicker-panel{width:100%;max-height:256px;transform-origin:center top;overflow:auto;padding:8px 0;box-sizing:border-box;border-bottom-left-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small));border-bottom-right-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small));box-shadow:var(--mat-timepicker-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));background-color:var(--mat-timepicker-container-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){.mat-timepicker-panel{outline:solid 1px}}.mat-timepicker-above .mat-timepicker-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small));border-top-right-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small))}.mat-timepicker-panel-animations-enabled{animation:_mat-timepicker-enter 120ms cubic-bezier(0, 0, 0.2, 1)}.mat-timepicker-panel-animations-enabled.mat-timepicker-panel-exit{animation:_mat-timepicker-exit 100ms linear}.mat-timepicker-input[readonly]{cursor:pointer}@media(forced-colors: active){.mat-timepicker-toggle-default-icon{color:CanvasText}}"] }]
445
+ ], template: "<ng-template #panelTemplate>\n <div\n role=\"listbox\"\n class=\"mat-timepicker-panel\"\n [class.mat-timepicker-panel-animations-enabled]=\"!_animationsDisabled\"\n [class.mat-timepicker-panel-exit]=\"!isOpen()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"_getAriaLabelledby()\"\n [id]=\"panelId\"\n (animationend)=\"_handleAnimationEnd($event)\">\n @for (option of _timeOptions; track option.value) {\n <mat-option\n [value]=\"option.value\"\n (onSelectionChange)=\"_selectValue($event.source)\">{{option.label}}</mat-option>\n }\n </div>\n</ng-template>\n", styles: ["@keyframes _mat-timepicker-enter{from{opacity:0;transform:scaleY(0.8)}to{opacity:1;transform:none}}@keyframes _mat-timepicker-exit{from{opacity:1}to{opacity:0}}mat-timepicker{display:none}.mat-timepicker-panel{width:100%;max-height:256px;transform-origin:center top;overflow:auto;padding:8px 0;box-sizing:border-box;border-bottom-left-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small));border-bottom-right-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small));box-shadow:var(--mat-timepicker-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));background-color:var(--mat-timepicker-container-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){.mat-timepicker-panel{outline:solid 1px}}.mat-timepicker-above .mat-timepicker-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small));border-top-right-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small))}.mat-timepicker-panel-animations-enabled{animation:_mat-timepicker-enter 120ms cubic-bezier(0, 0, 0.2, 1)}.mat-timepicker-panel-animations-enabled.mat-timepicker-panel-exit{animation:_mat-timepicker-exit 100ms linear}.mat-timepicker-input[readonly]{cursor:pointer}@media(forced-colors: active){.mat-timepicker-toggle-default-icon{color:CanvasText}}\n"] }]
445
446
  }], ctorParameters: () => [] });
446
447
  /**
447
448
  * Scrolls an option into view.
@@ -757,8 +758,8 @@ class MatTimepickerInput {
757
758
  },
758
759
  ]);
759
760
  }
760
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.4", ngImport: i0, type: MatTimepickerInput, deps: [], target: i0.ɵɵFactoryTarget.Directive });
761
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.0-next.4", type: MatTimepickerInput, isStandalone: true, selector: "input[matTimepicker]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, timepicker: { classPropertyName: "timepicker", publicName: "matTimepicker", isSignal: true, isRequired: true, transformFunction: null }, min: { classPropertyName: "min", publicName: "matTimepickerMin", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "matTimepickerMax", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { attributes: { "role": "combobox", "type": "text", "aria-haspopup": "listbox" }, listeners: { "blur": "_handleBlur()", "input": "_handleInput($event)", "keydown": "_handleKeydown($event)" }, properties: { "attr.aria-activedescendant": "_ariaActiveDescendant()", "attr.aria-expanded": "_ariaExpanded()", "attr.aria-controls": "_ariaControls()", "attr.mat-timepicker-id": "timepicker()?.panelId", "disabled": "disabled()" }, classAttribute: "mat-timepicker-input" }, providers: [
761
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatTimepickerInput, deps: [], target: i0.ɵɵFactoryTarget.Directive });
762
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.0-next.5", type: MatTimepickerInput, isStandalone: true, selector: "input[matTimepicker]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, timepicker: { classPropertyName: "timepicker", publicName: "matTimepicker", isSignal: true, isRequired: true, transformFunction: null }, min: { classPropertyName: "min", publicName: "matTimepickerMin", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "matTimepickerMax", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { attributes: { "role": "combobox", "type": "text", "aria-haspopup": "listbox" }, listeners: { "blur": "_handleBlur()", "input": "_handleInput($event)", "keydown": "_handleKeydown($event)" }, properties: { "attr.aria-activedescendant": "_ariaActiveDescendant()", "attr.aria-expanded": "_ariaExpanded()", "attr.aria-controls": "_ariaControls()", "attr.mat-timepicker-id": "timepicker()?.panelId", "disabled": "disabled()" }, classAttribute: "mat-timepicker-input" }, providers: [
762
763
  {
763
764
  provide: NG_VALUE_ACCESSOR,
764
765
  useExisting: MatTimepickerInput,
@@ -775,7 +776,7 @@ class MatTimepickerInput {
775
776
  },
776
777
  ], exportAs: ["matTimepickerInput"], ngImport: i0 });
777
778
  }
778
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.4", ngImport: i0, type: MatTimepickerInput, decorators: [{
779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatTimepickerInput, decorators: [{
779
780
  type: Directive,
780
781
  args: [{
781
782
  selector: 'input[matTimepicker]',
@@ -862,10 +863,10 @@ class MatTimepickerToggle {
862
863
  getAriaLabel() {
863
864
  return this.ariaLabelledby() ? null : this.ariaLabel() || this._defaultAriaLabel;
864
865
  }
865
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.4", ngImport: i0, type: MatTimepickerToggle, deps: [], target: i0.ɵɵFactoryTarget.Component });
866
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0-next.4", type: MatTimepickerToggle, isStandalone: true, selector: "mat-timepicker-toggle", inputs: { timepicker: { classPropertyName: "timepicker", publicName: "for", isSignal: true, isRequired: true, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, disableRipple: { classPropertyName: "disableRipple", publicName: "disableRipple", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "_open($event)" }, properties: { "attr.tabindex": "null" }, classAttribute: "mat-timepicker-toggle" }, exportAs: ["matTimepickerToggle"], ngImport: i0, template: "<button\n matIconButton\n type=\"button\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"getAriaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-expanded]=\"timepicker().isOpen()\"\n [tabIndex]=\"_isDisabled() ? -1 : tabIndex()\"\n [disabled]=\"_isDisabled()\"\n [disableRipple]=\"disableRipple()\">\n\n <ng-content select=\"[matTimepickerToggleIcon]\">\n <svg\n class=\"mat-timepicker-toggle-default-icon\"\n height=\"24px\"\n width=\"24px\"\n viewBox=\"0 -960 960 960\"\n fill=\"currentColor\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"m612-292 56-56-148-148v-184h-80v216l172 172ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-400Zm0 320q133 0 226.5-93.5T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160Z\"/>\n </svg>\n </ng-content>\n</button>\n", dependencies: [{ kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
866
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatTimepickerToggle, deps: [], target: i0.ɵɵFactoryTarget.Component });
867
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0-next.5", type: MatTimepickerToggle, isStandalone: true, selector: "mat-timepicker-toggle", inputs: { timepicker: { classPropertyName: "timepicker", publicName: "for", isSignal: true, isRequired: true, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, disableRipple: { classPropertyName: "disableRipple", publicName: "disableRipple", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "_open($event)" }, properties: { "attr.tabindex": "null" }, classAttribute: "mat-timepicker-toggle" }, exportAs: ["matTimepickerToggle"], ngImport: i0, template: "<button\n matIconButton\n type=\"button\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"getAriaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-expanded]=\"timepicker().isOpen()\"\n [tabIndex]=\"_isDisabled() ? -1 : tabIndex()\"\n [disabled]=\"_isDisabled()\"\n [disableRipple]=\"disableRipple()\">\n\n <ng-content select=\"[matTimepickerToggleIcon]\">\n <svg\n class=\"mat-timepicker-toggle-default-icon\"\n height=\"24px\"\n width=\"24px\"\n viewBox=\"0 -960 960 960\"\n fill=\"currentColor\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"m612-292 56-56-148-148v-184h-80v216l172 172ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-400Zm0 320q133 0 226.5-93.5T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160Z\"/>\n </svg>\n </ng-content>\n</button>\n", dependencies: [{ kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
867
868
  }
868
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.4", ngImport: i0, type: MatTimepickerToggle, decorators: [{
869
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatTimepickerToggle, decorators: [{
869
870
  type: Component,
870
871
  args: [{ selector: 'mat-timepicker-toggle', host: {
871
872
  'class': 'mat-timepicker-toggle',
@@ -878,11 +879,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.4",
878
879
  }] });
879
880
 
880
881
  class MatTimepickerModule {
881
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.4", ngImport: i0, type: MatTimepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
882
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0-next.4", ngImport: i0, type: MatTimepickerModule, imports: [MatTimepicker, MatTimepickerInput, MatTimepickerToggle], exports: [CdkScrollableModule, MatTimepicker, MatTimepickerInput, MatTimepickerToggle] });
883
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0-next.4", ngImport: i0, type: MatTimepickerModule, imports: [MatTimepicker, MatTimepickerToggle, CdkScrollableModule] });
882
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatTimepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
883
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatTimepickerModule, imports: [MatTimepicker, MatTimepickerInput, MatTimepickerToggle], exports: [CdkScrollableModule, MatTimepicker, MatTimepickerInput, MatTimepickerToggle] });
884
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatTimepickerModule, imports: [MatTimepicker, MatTimepickerToggle, CdkScrollableModule] });
884
885
  }
885
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.4", ngImport: i0, type: MatTimepickerModule, decorators: [{
886
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.5", ngImport: i0, type: MatTimepickerModule, decorators: [{
886
887
  type: NgModule,
887
888
  args: [{
888
889
  imports: [MatTimepicker, MatTimepickerInput, MatTimepickerToggle],