@angular/material 19.2.3 → 20.0.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/autocomplete/index.d.ts +14 -7
  2. package/autocomplete/testing/index.d.ts +2 -1
  3. package/badge/index.d.ts +7 -98
  4. package/badge/testing/index.d.ts +3 -1
  5. package/badge.d-49a8a74b.d.ts +98 -0
  6. package/bottom-sheet/index.d.ts +2 -2
  7. package/button/index.d.ts +10 -220
  8. package/button-toggle/index.d.ts +10 -257
  9. package/button-toggle/testing/index.d.ts +4 -1
  10. package/button-toggle.d-edc8acff.d.ts +257 -0
  11. package/card/index.d.ts +3 -2
  12. package/checkbox/index.d.ts +7 -38
  13. package/chips/index.d.ts +9 -5
  14. package/common-module.d-0e6515ae.d.ts +43 -0
  15. package/core/index.d.ts +21 -846
  16. package/core/testing/index.d.ts +3 -61
  17. package/date-adapter.d-c6835d41.d.ts +267 -0
  18. package/date-range-input-harness.d-549a9f7e.d.ts +278 -0
  19. package/datepicker/index.d.ts +20 -14
  20. package/datepicker/testing/index.d.ts +5 -277
  21. package/dialog/index.d.ts +12 -360
  22. package/dialog/testing/index.d.ts +6 -1
  23. package/dialog.d-57867441.d.ts +335 -0
  24. package/divider/index.d.ts +3 -2
  25. package/divider/testing/index.d.ts +2 -14
  26. package/divider-harness.d-d34fede4.d.ts +14 -0
  27. package/error-options.d-448d9046.d.ts +17 -0
  28. package/expansion/index.d.ts +3 -2
  29. package/fesm2022/autocomplete/testing.mjs +2 -1
  30. package/fesm2022/autocomplete/testing.mjs.map +1 -1
  31. package/fesm2022/autocomplete.mjs +29 -17
  32. package/fesm2022/autocomplete.mjs.map +1 -1
  33. package/fesm2022/badge/testing.mjs.map +1 -1
  34. package/fesm2022/badge.mjs +12 -11
  35. package/fesm2022/badge.mjs.map +1 -1
  36. package/fesm2022/bottom-sheet.mjs +13 -11
  37. package/fesm2022/bottom-sheet.mjs.map +1 -1
  38. package/fesm2022/button-toggle/testing.mjs.map +1 -1
  39. package/fesm2022/button-toggle.mjs +17 -11
  40. package/fesm2022/button-toggle.mjs.map +1 -1
  41. package/fesm2022/button.mjs +14 -481
  42. package/fesm2022/button.mjs.map +1 -1
  43. package/fesm2022/card.mjs +49 -47
  44. package/fesm2022/card.mjs.map +1 -1
  45. package/fesm2022/checkbox.mjs +27 -68
  46. package/fesm2022/checkbox.mjs.map +1 -1
  47. package/fesm2022/chips.mjs +51 -42
  48. package/fesm2022/chips.mjs.map +1 -1
  49. package/fesm2022/common-module-2d64df09.mjs +42 -0
  50. package/fesm2022/common-module-2d64df09.mjs.map +1 -0
  51. package/fesm2022/core/testing.mjs +3 -76
  52. package/fesm2022/core/testing.mjs.map +1 -1
  53. package/fesm2022/core.mjs +38 -1598
  54. package/fesm2022/core.mjs.map +1 -1
  55. package/fesm2022/date-formats-b618acb8.mjs +190 -0
  56. package/fesm2022/date-formats-b618acb8.mjs.map +1 -0
  57. package/fesm2022/date-range-input-harness-ee47cdb0.mjs +467 -0
  58. package/fesm2022/date-range-input-harness-ee47cdb0.mjs.map +1 -0
  59. package/fesm2022/datepicker/testing.mjs +5 -465
  60. package/fesm2022/datepicker/testing.mjs.map +1 -1
  61. package/fesm2022/datepicker.mjs +119 -112
  62. package/fesm2022/datepicker.mjs.map +1 -1
  63. package/fesm2022/dialog/testing.mjs +12 -1
  64. package/fesm2022/dialog/testing.mjs.map +1 -1
  65. package/fesm2022/dialog.mjs +14 -897
  66. package/fesm2022/dialog.mjs.map +1 -1
  67. package/fesm2022/divider/testing.mjs +2 -17
  68. package/fesm2022/divider/testing.mjs.map +1 -1
  69. package/fesm2022/divider-harness-3394f29a.mjs +18 -0
  70. package/fesm2022/divider-harness-3394f29a.mjs.map +1 -0
  71. package/fesm2022/divider.mjs +10 -8
  72. package/fesm2022/divider.mjs.map +1 -1
  73. package/fesm2022/error-options-4a00765e.mjs +29 -0
  74. package/fesm2022/error-options-4a00765e.mjs.map +1 -0
  75. package/fesm2022/error-state-8f4ce1af.mjs +37 -0
  76. package/fesm2022/error-state-8f4ce1af.mjs.map +1 -0
  77. package/fesm2022/expansion.mjs +28 -26
  78. package/fesm2022/expansion.mjs.map +1 -1
  79. package/fesm2022/form-field/testing/control.mjs +2 -10
  80. package/fesm2022/form-field/testing/control.mjs.map +1 -1
  81. package/fesm2022/form-field/testing.mjs +7 -4
  82. package/fesm2022/form-field/testing.mjs.map +1 -1
  83. package/fesm2022/form-field-6d755764.mjs +1076 -0
  84. package/fesm2022/form-field-6d755764.mjs.map +1 -0
  85. package/fesm2022/form-field-control-harness-af6fd278.mjs +11 -0
  86. package/fesm2022/form-field-control-harness-af6fd278.mjs.map +1 -0
  87. package/fesm2022/form-field.mjs +14 -1106
  88. package/fesm2022/form-field.mjs.map +1 -1
  89. package/fesm2022/grid-list/testing.mjs +1 -1
  90. package/fesm2022/grid-list/testing.mjs.map +1 -1
  91. package/fesm2022/grid-list.mjs +30 -169
  92. package/fesm2022/grid-list.mjs.map +1 -1
  93. package/fesm2022/icon/testing.mjs +12 -8
  94. package/fesm2022/icon/testing.mjs.map +1 -1
  95. package/fesm2022/icon-button-47f1b5d9.mjs +248 -0
  96. package/fesm2022/icon-button-47f1b5d9.mjs.map +1 -0
  97. package/fesm2022/icon-module-3f77a24d.mjs +395 -0
  98. package/fesm2022/icon-module-3f77a24d.mjs.map +1 -0
  99. package/fesm2022/icon-registry-13a3b98e.mjs +639 -0
  100. package/fesm2022/icon-registry-13a3b98e.mjs.map +1 -0
  101. package/fesm2022/icon.mjs +11 -1024
  102. package/fesm2022/icon.mjs.map +1 -1
  103. package/fesm2022/index-1763d3a6.mjs +22 -0
  104. package/fesm2022/index-1763d3a6.mjs.map +1 -0
  105. package/fesm2022/index-4bc1d6d3.mjs +20 -0
  106. package/fesm2022/index-4bc1d6d3.mjs.map +1 -0
  107. package/fesm2022/input/testing.mjs +5 -113
  108. package/fesm2022/input/testing.mjs.map +1 -1
  109. package/fesm2022/input-harness-ed59decc.mjs +115 -0
  110. package/fesm2022/input-harness-ed59decc.mjs.map +1 -0
  111. package/fesm2022/input-value-accessor-8a79a24e.mjs +12 -0
  112. package/fesm2022/input-value-accessor-8a79a24e.mjs.map +1 -0
  113. package/fesm2022/input.mjs +21 -19
  114. package/fesm2022/input.mjs.map +1 -1
  115. package/fesm2022/internal-form-field-434c4039.mjs +27 -0
  116. package/fesm2022/internal-form-field-434c4039.mjs.map +1 -0
  117. package/fesm2022/line-d6afe347.mjs +59 -0
  118. package/fesm2022/line-d6afe347.mjs.map +1 -0
  119. package/fesm2022/list/testing.mjs +1 -1
  120. package/fesm2022/list/testing.mjs.map +1 -1
  121. package/fesm2022/list.mjs +57 -50
  122. package/fesm2022/list.mjs.map +1 -1
  123. package/fesm2022/menu.mjs +23 -19
  124. package/fesm2022/menu.mjs.map +1 -1
  125. package/fesm2022/module-3bf2775f.mjs +1293 -0
  126. package/fesm2022/module-3bf2775f.mjs.map +1 -0
  127. package/fesm2022/module-47e3be58.mjs +970 -0
  128. package/fesm2022/module-47e3be58.mjs.map +1 -0
  129. package/fesm2022/module-a5f9ab72.mjs +875 -0
  130. package/fesm2022/module-a5f9ab72.mjs.map +1 -0
  131. package/fesm2022/module-d757bba0.mjs +38 -0
  132. package/fesm2022/module-d757bba0.mjs.map +1 -0
  133. package/fesm2022/module-df9f7af3.mjs +152 -0
  134. package/fesm2022/module-df9f7af3.mjs.map +1 -0
  135. package/fesm2022/optgroup-harness-5e66b138.mjs +36 -0
  136. package/fesm2022/optgroup-harness-5e66b138.mjs.map +1 -0
  137. package/fesm2022/option-07c3c660.mjs +348 -0
  138. package/fesm2022/option-07c3c660.mjs.map +1 -0
  139. package/fesm2022/option-harness-3b7c1106.mjs +46 -0
  140. package/fesm2022/option-harness-3b7c1106.mjs.map +1 -0
  141. package/fesm2022/paginator/testing.mjs +4 -1
  142. package/fesm2022/paginator/testing.mjs.map +1 -1
  143. package/fesm2022/paginator.mjs +41 -15
  144. package/fesm2022/paginator.mjs.map +1 -1
  145. package/fesm2022/progress-bar.mjs +10 -8
  146. package/fesm2022/progress-bar.mjs.map +1 -1
  147. package/fesm2022/progress-spinner/testing.mjs.map +1 -1
  148. package/fesm2022/progress-spinner.mjs +10 -8
  149. package/fesm2022/progress-spinner.mjs.map +1 -1
  150. package/fesm2022/pseudo-checkbox-af5a4ea4.mjs +52 -0
  151. package/fesm2022/pseudo-checkbox-af5a4ea4.mjs.map +1 -0
  152. package/fesm2022/pseudo-checkbox-module-216fae38.mjs +20 -0
  153. package/fesm2022/pseudo-checkbox-module-216fae38.mjs.map +1 -0
  154. package/fesm2022/public-api-c5ab57f5.mjs +147 -0
  155. package/fesm2022/public-api-c5ab57f5.mjs.map +1 -0
  156. package/fesm2022/radio.mjs +18 -11
  157. package/fesm2022/radio.mjs.map +1 -1
  158. package/fesm2022/ripple-9939d1f5.mjs +639 -0
  159. package/fesm2022/ripple-9939d1f5.mjs.map +1 -0
  160. package/fesm2022/ripple-loader-f2078c66.mjs +165 -0
  161. package/fesm2022/ripple-loader-f2078c66.mjs.map +1 -0
  162. package/fesm2022/select/testing.mjs +5 -121
  163. package/fesm2022/select/testing.mjs.map +1 -1
  164. package/fesm2022/select-harness-8c55824d.mjs +123 -0
  165. package/fesm2022/select-harness-8c55824d.mjs.map +1 -0
  166. package/fesm2022/select.mjs +30 -1315
  167. package/fesm2022/select.mjs.map +1 -1
  168. package/fesm2022/sidenav.mjs +23 -23
  169. package/fesm2022/sidenav.mjs.map +1 -1
  170. package/fesm2022/slide-toggle.mjs +27 -71
  171. package/fesm2022/slide-toggle.mjs.map +1 -1
  172. package/fesm2022/slider.mjs +22 -17
  173. package/fesm2022/slider.mjs.map +1 -1
  174. package/fesm2022/snack-bar.mjs +32 -24
  175. package/fesm2022/snack-bar.mjs.map +1 -1
  176. package/fesm2022/sort/testing.mjs.map +1 -1
  177. package/fesm2022/sort.mjs +16 -14
  178. package/fesm2022/sort.mjs.map +1 -1
  179. package/fesm2022/stepper.mjs +42 -33
  180. package/fesm2022/stepper.mjs.map +1 -1
  181. package/fesm2022/structural-styles-d5ada3b3.mjs +18 -0
  182. package/fesm2022/structural-styles-d5ada3b3.mjs.map +1 -0
  183. package/fesm2022/table.mjs +58 -56
  184. package/fesm2022/table.mjs.map +1 -1
  185. package/fesm2022/tabs.mjs +47 -44
  186. package/fesm2022/tabs.mjs.map +1 -1
  187. package/fesm2022/timepicker/testing.mjs +1 -1
  188. package/fesm2022/timepicker/testing.mjs.map +1 -1
  189. package/fesm2022/timepicker.mjs +31 -20
  190. package/fesm2022/timepicker.mjs.map +1 -1
  191. package/fesm2022/toolbar.mjs +13 -11
  192. package/fesm2022/toolbar.mjs.map +1 -1
  193. package/fesm2022/tooltip.mjs +15 -968
  194. package/fesm2022/tooltip.mjs.map +1 -1
  195. package/fesm2022/tree.mjs +28 -26
  196. package/fesm2022/tree.mjs.map +1 -1
  197. package/form-field/index.d.ts +12 -437
  198. package/form-field/testing/control/index.d.ts +2 -10
  199. package/form-field/testing/index.d.ts +7 -5
  200. package/form-field-control-harness.d-2d91f25a.d.ts +10 -0
  201. package/form-field-control.d-eb86711c.d.ts +62 -0
  202. package/form-field.d-2edbc094.d.ts +367 -0
  203. package/grid-list/index.d.ts +5 -3
  204. package/icon/index.d.ts +9 -449
  205. package/icon/testing/index.d.ts +3 -1
  206. package/icon-module.d-aa3bbba0.d.ts +167 -0
  207. package/icon-registry.d-1dffe9de.d.ts +286 -0
  208. package/index.d-0536b706.d.ts +11 -0
  209. package/index.d-37e31cd3.d.ts +13 -0
  210. package/input/index.d.ts +11 -6
  211. package/input/testing/index.d.ts +4 -59
  212. package/input-harness.d-4eecd1d3.d.ts +60 -0
  213. package/line.d-570a2537.d.ts +25 -0
  214. package/list/index.d.ts +13 -19
  215. package/list/testing/index.d.ts +2 -2
  216. package/list-option-types.d-8739f903.d.ts +15 -0
  217. package/menu/index.d.ts +6 -3
  218. package/module.d-18a67f56.d.ts +206 -0
  219. package/module.d-74a721b9.d.ts +326 -0
  220. package/module.d-ba05faa6.d.ts +448 -0
  221. package/module.d-c17c834e.d.ts +18 -0
  222. package/optgroup-harness.d-7f741f69.d.ts +31 -0
  223. package/option-harness.d-3d33fc9a.d.ts +34 -0
  224. package/option-parent.d-559ad5c5.d.ts +19 -0
  225. package/option.d-6f493d78.d.ts +146 -0
  226. package/package.json +6 -6
  227. package/paginator/index.d.ts +29 -201
  228. package/paginator/testing/index.d.ts +4 -1
  229. package/paginator.d-40b1766e.d.ts +199 -0
  230. package/palette.d-ec4a617c.d.ts +4 -0
  231. package/progress-bar/index.d.ts +4 -3
  232. package/progress-spinner/index.d.ts +7 -96
  233. package/progress-spinner/testing/index.d.ts +3 -1
  234. package/progress-spinner.d-1fc040c5.d.ts +96 -0
  235. package/pseudo-checkbox-module.d-3abc0461.d.ts +44 -0
  236. package/radio/index.d.ts +7 -3
  237. package/ripple-loader.d-8aac2988.d.ts +48 -0
  238. package/ripple.d-2fb57d04.d.ts +255 -0
  239. package/schematics/migration.json +4 -4
  240. package/schematics/ng-add/index.js +2 -2
  241. package/schematics/ng-add/index.mjs +2 -2
  242. package/schematics/ng-update/index_bundled.js +4 -4
  243. package/schematics/ng-update/index_bundled.js.map +1 -1
  244. package/select/index.d.ts +24 -451
  245. package/select/testing/index.d.ts +5 -62
  246. package/select-harness.d-7441a7ac.d.ts +63 -0
  247. package/sidenav/index.d.ts +4 -3
  248. package/slide-toggle/index.d.ts +7 -45
  249. package/slider/index.d.ts +6 -3
  250. package/snack-bar/index.d.ts +8 -3
  251. package/sort/index.d.ts +10 -88
  252. package/sort/testing/index.d.ts +1 -1
  253. package/sort-direction.d-f4ce4649.d.ts +3 -0
  254. package/sort.d-c2b79a45.d.ts +87 -0
  255. package/stepper/index.d.ts +9 -4
  256. package/table/index.d.ts +11 -4
  257. package/tabs/index.d.ts +5 -3
  258. package/timepicker/index.d.ts +7 -4
  259. package/timepicker/testing/index.d.ts +1 -1
  260. package/toolbar/index.d.ts +3 -2
  261. package/tooltip/index.d.ts +10 -325
  262. package/tree/index.d.ts +3 -2
@@ -0,0 +1,335 @@
1
+ import { ScrollStrategy, ComponentType } from '@angular/cdk/overlay';
2
+ import * as i0 from '@angular/core';
3
+ import { ViewContainerRef, Injector, OnDestroy, EventEmitter, ComponentRef, InjectionToken, TemplateRef } from '@angular/core';
4
+ import { Direction } from '@angular/cdk/bidi';
5
+ import { FocusOrigin } from '@angular/cdk/a11y';
6
+ import { Observable, Subject } from 'rxjs';
7
+ import { CdkDialogContainer, DialogRef, Dialog } from '@angular/cdk/dialog';
8
+ import { ComponentPortal } from '@angular/cdk/portal';
9
+
10
+ /** Options for where to set focus to automatically on dialog open */
11
+ type AutoFocusTarget = 'dialog' | 'first-tabbable' | 'first-heading';
12
+ /** Valid ARIA roles for a dialog element. */
13
+ type DialogRole = 'dialog' | 'alertdialog';
14
+ /** Possible overrides for a dialog's position. */
15
+ interface DialogPosition {
16
+ /** Override for the dialog's top position. */
17
+ top?: string;
18
+ /** Override for the dialog's bottom position. */
19
+ bottom?: string;
20
+ /** Override for the dialog's left position. */
21
+ left?: string;
22
+ /** Override for the dialog's right position. */
23
+ right?: string;
24
+ }
25
+ /**
26
+ * Configuration for opening a modal dialog with the MatDialog service.
27
+ */
28
+ declare class MatDialogConfig<D = any> {
29
+ /**
30
+ * Where the attached component should live in Angular's *logical* component tree.
31
+ * This affects what is available for injection and the change detection order for the
32
+ * component instantiated inside of the dialog. This does not affect where the dialog
33
+ * content will be rendered.
34
+ */
35
+ viewContainerRef?: ViewContainerRef;
36
+ /**
37
+ * Injector used for the instantiation of the component to be attached. If provided,
38
+ * takes precedence over the injector indirectly provided by `ViewContainerRef`.
39
+ */
40
+ injector?: Injector;
41
+ /** ID for the dialog. If omitted, a unique one will be generated. */
42
+ id?: string;
43
+ /** The ARIA role of the dialog element. */
44
+ role?: DialogRole;
45
+ /** Custom class for the overlay pane. */
46
+ panelClass?: string | string[];
47
+ /** Whether the dialog has a backdrop. */
48
+ hasBackdrop?: boolean;
49
+ /** Custom class for the backdrop. */
50
+ backdropClass?: string | string[];
51
+ /** Whether the user can use escape or clicking on the backdrop to close the modal. */
52
+ disableClose?: boolean;
53
+ /** Width of the dialog. */
54
+ width?: string;
55
+ /** Height of the dialog. */
56
+ height?: string;
57
+ /** Min-width of the dialog. If a number is provided, assumes pixel units. */
58
+ minWidth?: number | string;
59
+ /** Min-height of the dialog. If a number is provided, assumes pixel units. */
60
+ minHeight?: number | string;
61
+ /** Max-width of the dialog. If a number is provided, assumes pixel units. Defaults to 80vw. */
62
+ maxWidth?: number | string;
63
+ /** Max-height of the dialog. If a number is provided, assumes pixel units. */
64
+ maxHeight?: number | string;
65
+ /** Position overrides. */
66
+ position?: DialogPosition;
67
+ /** Data being injected into the child component. */
68
+ data?: D | null;
69
+ /** Layout direction for the dialog's content. */
70
+ direction?: Direction;
71
+ /** ID of the element that describes the dialog. */
72
+ ariaDescribedBy?: string | null;
73
+ /** ID of the element that labels the dialog. */
74
+ ariaLabelledBy?: string | null;
75
+ /** Aria label to assign to the dialog element. */
76
+ ariaLabel?: string | null;
77
+ /**
78
+ * Whether this is a modal dialog. Used to set the `aria-modal` attribute. Off by default,
79
+ * because it can interfere with other overlay-based components (e.g. `mat-select`) and because
80
+ * it is redundant since the dialog marks all outside content as `aria-hidden` anyway.
81
+ */
82
+ ariaModal?: boolean;
83
+ /**
84
+ * Where the dialog should focus on open.
85
+ * @breaking-change 14.0.0 Remove boolean option from autoFocus. Use string or
86
+ * AutoFocusTarget instead.
87
+ */
88
+ autoFocus?: AutoFocusTarget | string | boolean;
89
+ /**
90
+ * Whether the dialog should restore focus to the
91
+ * previously-focused element, after it's closed.
92
+ */
93
+ restoreFocus?: boolean;
94
+ /** Whether to wait for the opening animation to finish before trapping focus. */
95
+ delayFocusTrap?: boolean;
96
+ /** Scroll strategy to be used for the dialog. */
97
+ scrollStrategy?: ScrollStrategy;
98
+ /**
99
+ * Whether the dialog should close when the user goes backwards/forwards in history.
100
+ * Note that this usually doesn't include clicking on links (unless the user is using
101
+ * the `HashLocationStrategy`).
102
+ */
103
+ closeOnNavigation?: boolean;
104
+ /**
105
+ * Duration of the enter animation in ms.
106
+ * Should be a number, string type is deprecated.
107
+ * @breaking-change 17.0.0 Remove string signature.
108
+ */
109
+ enterAnimationDuration?: string | number;
110
+ /**
111
+ * Duration of the exit animation in ms.
112
+ * Should be a number, string type is deprecated.
113
+ * @breaking-change 17.0.0 Remove string signature.
114
+ */
115
+ exitAnimationDuration?: string | number;
116
+ }
117
+
118
+ /** Event that captures the state of dialog container animations. */
119
+ interface LegacyDialogAnimationEvent {
120
+ state: 'opened' | 'opening' | 'closing' | 'closed';
121
+ totalTime: number;
122
+ }
123
+ declare class MatDialogContainer extends CdkDialogContainer<MatDialogConfig> implements OnDestroy {
124
+ private _animationMode;
125
+ /** Emits when an animation state changes. */
126
+ _animationStateChanged: EventEmitter<LegacyDialogAnimationEvent>;
127
+ /** Whether animations are enabled. */
128
+ _animationsEnabled: boolean;
129
+ /** Number of actions projected in the dialog. */
130
+ protected _actionSectionCount: number;
131
+ /** Host element of the dialog container component. */
132
+ private _hostElement;
133
+ /** Duration of the dialog open animation. */
134
+ private _enterAnimationDuration;
135
+ /** Duration of the dialog close animation. */
136
+ private _exitAnimationDuration;
137
+ /** Current timer for dialog animations. */
138
+ private _animationTimer;
139
+ protected _contentAttached(): void;
140
+ /** Starts the dialog open animation if enabled. */
141
+ private _startOpenAnimation;
142
+ /**
143
+ * Starts the exit animation of the dialog if enabled. This method is
144
+ * called by the dialog ref.
145
+ */
146
+ _startExitAnimation(): void;
147
+ /**
148
+ * Updates the number action sections.
149
+ * @param delta Increase/decrease in the number of sections.
150
+ */
151
+ _updateActionSectionCount(delta: number): void;
152
+ /**
153
+ * Completes the dialog open by clearing potential animation classes, trapping
154
+ * focus and emitting an opened event.
155
+ */
156
+ private _finishDialogOpen;
157
+ /**
158
+ * Completes the dialog close by clearing potential animation classes, restoring
159
+ * focus and emitting a closed event.
160
+ */
161
+ private _finishDialogClose;
162
+ /** Clears all dialog animation classes. */
163
+ private _clearAnimationClasses;
164
+ private _waitForAnimationToComplete;
165
+ /** Runs a callback in `requestAnimationFrame`, if available. */
166
+ private _requestAnimationFrame;
167
+ protected _captureInitialFocus(): void;
168
+ /**
169
+ * Callback for when the open dialog animation has finished. Intended to
170
+ * be called by sub-classes that use different animation implementations.
171
+ */
172
+ protected _openAnimationDone(totalTime: number): void;
173
+ ngOnDestroy(): void;
174
+ attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T>;
175
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatDialogContainer, never>;
176
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatDialogContainer, "mat-dialog-container", never, {}, {}, never, never, true, never>;
177
+ }
178
+
179
+ /** Possible states of the lifecycle of a dialog. */
180
+
181
+ declare enum MatDialogState {
182
+ OPEN = 0,
183
+ CLOSING = 1,
184
+ CLOSED = 2
185
+ }
186
+ /**
187
+ * Reference to a dialog opened via the MatDialog service.
188
+ */
189
+ declare class MatDialogRef<T, R = any> {
190
+ private _ref;
191
+ _containerInstance: MatDialogContainer;
192
+ /** The instance of component opened into the dialog. */
193
+ componentInstance: T;
194
+ /**
195
+ * `ComponentRef` of the component opened into the dialog. Will be
196
+ * null when the dialog is opened using a `TemplateRef`.
197
+ */
198
+ readonly componentRef: ComponentRef<T> | null;
199
+ /** Whether the user is allowed to close the dialog. */
200
+ disableClose: boolean | undefined;
201
+ /** Unique ID for the dialog. */
202
+ id: string;
203
+ /** Subject for notifying the user that the dialog has finished opening. */
204
+ private readonly _afterOpened;
205
+ /** Subject for notifying the user that the dialog has started closing. */
206
+ private readonly _beforeClosed;
207
+ /** Result to be passed to afterClosed. */
208
+ private _result;
209
+ /** Handle to the timeout that's running as a fallback in case the exit animation doesn't fire. */
210
+ private _closeFallbackTimeout;
211
+ /** Current state of the dialog. */
212
+ private _state;
213
+ /** Interaction that caused the dialog to close. */
214
+ private _closeInteractionType;
215
+ constructor(_ref: DialogRef<R, T>, config: MatDialogConfig, _containerInstance: MatDialogContainer);
216
+ /**
217
+ * Close the dialog.
218
+ * @param dialogResult Optional result to return to the dialog opener.
219
+ */
220
+ close(dialogResult?: R): void;
221
+ /**
222
+ * Gets an observable that is notified when the dialog is finished opening.
223
+ */
224
+ afterOpened(): Observable<void>;
225
+ /**
226
+ * Gets an observable that is notified when the dialog is finished closing.
227
+ */
228
+ afterClosed(): Observable<R | undefined>;
229
+ /**
230
+ * Gets an observable that is notified when the dialog has started closing.
231
+ */
232
+ beforeClosed(): Observable<R | undefined>;
233
+ /**
234
+ * Gets an observable that emits when the overlay's backdrop has been clicked.
235
+ */
236
+ backdropClick(): Observable<MouseEvent>;
237
+ /**
238
+ * Gets an observable that emits when keydown events are targeted on the overlay.
239
+ */
240
+ keydownEvents(): Observable<KeyboardEvent>;
241
+ /**
242
+ * Updates the dialog's position.
243
+ * @param position New dialog position.
244
+ */
245
+ updatePosition(position?: DialogPosition): this;
246
+ /**
247
+ * Updates the dialog's width and height.
248
+ * @param width New width of the dialog.
249
+ * @param height New height of the dialog.
250
+ */
251
+ updateSize(width?: string, height?: string): this;
252
+ /** Add a CSS class or an array of classes to the overlay pane. */
253
+ addPanelClass(classes: string | string[]): this;
254
+ /** Remove a CSS class or an array of classes from the overlay pane. */
255
+ removePanelClass(classes: string | string[]): this;
256
+ /** Gets the current state of the dialog's lifecycle. */
257
+ getState(): MatDialogState;
258
+ /**
259
+ * Finishes the dialog close by updating the state of the dialog
260
+ * and disposing the overlay.
261
+ */
262
+ private _finishDialogClose;
263
+ }
264
+ /**
265
+ * Closes the dialog with the specified interaction type. This is currently not part of
266
+ * `MatDialogRef` as that would conflict with custom dialog ref mocks provided in tests.
267
+ * More details. See: https://github.com/angular/components/pull/9257#issuecomment-651342226.
268
+ */
269
+ declare function _closeDialogVia<R>(ref: MatDialogRef<R>, interactionType: FocusOrigin, result?: R): void;
270
+
271
+ /** Injection token that can be used to access the data that was passed in to a dialog. */
272
+ declare const MAT_DIALOG_DATA: InjectionToken<any>;
273
+ /** Injection token that can be used to specify default dialog options. */
274
+ declare const MAT_DIALOG_DEFAULT_OPTIONS: InjectionToken<MatDialogConfig<any>>;
275
+ /** Injection token that determines the scroll handling while the dialog is open. */
276
+ declare const MAT_DIALOG_SCROLL_STRATEGY: InjectionToken<() => ScrollStrategy>;
277
+ /**
278
+ * Service to open Material Design modal dialogs.
279
+ */
280
+ declare class MatDialog implements OnDestroy {
281
+ private _overlay;
282
+ private _defaultOptions;
283
+ private _scrollStrategy;
284
+ private _parentDialog;
285
+ private _idGenerator;
286
+ protected _dialog: Dialog;
287
+ private readonly _openDialogsAtThisLevel;
288
+ private readonly _afterAllClosedAtThisLevel;
289
+ private readonly _afterOpenedAtThisLevel;
290
+ protected dialogConfigClass: typeof MatDialogConfig;
291
+ private readonly _dialogRefConstructor;
292
+ private readonly _dialogContainerType;
293
+ private readonly _dialogDataToken;
294
+ /** Keeps track of the currently-open dialogs. */
295
+ get openDialogs(): MatDialogRef<any>[];
296
+ /** Stream that emits when a dialog has been opened. */
297
+ get afterOpened(): Subject<MatDialogRef<any>>;
298
+ private _getAfterAllClosed;
299
+ /**
300
+ * Stream that emits when all open dialog have finished closing.
301
+ * Will emit on subscribe if there are no open dialogs to begin with.
302
+ */
303
+ readonly afterAllClosed: Observable<void>;
304
+ constructor(...args: unknown[]);
305
+ /**
306
+ * Opens a modal dialog containing the given component.
307
+ * @param component Type of the component to load into the dialog.
308
+ * @param config Extra configuration options.
309
+ * @returns Reference to the newly-opened dialog.
310
+ */
311
+ open<T, D = any, R = any>(component: ComponentType<T>, config?: MatDialogConfig<D>): MatDialogRef<T, R>;
312
+ /**
313
+ * Opens a modal dialog containing the given template.
314
+ * @param template TemplateRef to instantiate as the dialog content.
315
+ * @param config Extra configuration options.
316
+ * @returns Reference to the newly-opened dialog.
317
+ */
318
+ open<T, D = any, R = any>(template: TemplateRef<T>, config?: MatDialogConfig<D>): MatDialogRef<T, R>;
319
+ open<T, D = any, R = any>(template: ComponentType<T> | TemplateRef<T>, config?: MatDialogConfig<D>): MatDialogRef<T, R>;
320
+ /**
321
+ * Closes all of the currently-open dialogs.
322
+ */
323
+ closeAll(): void;
324
+ /**
325
+ * Finds an open dialog by its id.
326
+ * @param id ID to use when looking up the dialog.
327
+ */
328
+ getDialogById(id: string): MatDialogRef<any> | undefined;
329
+ ngOnDestroy(): void;
330
+ private _closeDialogs;
331
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatDialog, never>;
332
+ static ɵprov: i0.ɵɵInjectableDeclaration<MatDialog>;
333
+ }
334
+
335
+ export { type AutoFocusTarget as A, type DialogRole as D, MatDialogRef as M, _closeDialogVia as _, MatDialogContainer as a, MAT_DIALOG_DATA as b, MAT_DIALOG_DEFAULT_OPTIONS as c, MAT_DIALOG_SCROLL_STRATEGY as d, MatDialog as e, type DialogPosition as f, MatDialogConfig as g, MatDialogState as h };
@@ -1,6 +1,7 @@
1
1
  import { BooleanInput } from '@angular/cdk/coercion';
2
2
  import * as i0 from '@angular/core';
3
- import * as i1 from '@angular/material/core';
3
+ import { M as MatCommonModule } from '../common-module.d-0e6515ae.js';
4
+ import '@angular/cdk/bidi';
4
5
 
5
6
  declare class MatDivider {
6
7
  /** Whether the divider is vertically aligned. */
@@ -17,7 +18,7 @@ declare class MatDivider {
17
18
 
18
19
  declare class MatDividerModule {
19
20
  static ɵfac: i0.ɵɵFactoryDeclaration<MatDividerModule, never>;
20
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatDividerModule, never, [typeof i1.MatCommonModule, typeof MatDivider], [typeof MatDivider, typeof i1.MatCommonModule]>;
21
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatDividerModule, never, [typeof MatCommonModule, typeof MatDivider], [typeof MatDivider, typeof MatCommonModule]>;
21
22
  static ɵinj: i0.ɵɵInjectorDeclaration<MatDividerModule>;
22
23
  }
23
24
 
@@ -1,14 +1,2 @@
1
- import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
2
-
3
- interface DividerHarnessFilters extends BaseHarnessFilters {
4
- }
5
-
6
- /** Harness for interacting with a `mat-divider`. */
7
- declare class MatDividerHarness extends ComponentHarness {
8
- static hostSelector: string;
9
- static with(options?: DividerHarnessFilters): HarnessPredicate<MatDividerHarness>;
10
- getOrientation(): Promise<'horizontal' | 'vertical'>;
11
- isInset(): Promise<boolean>;
12
- }
13
-
14
- export { type DividerHarnessFilters, MatDividerHarness };
1
+ export { D as DividerHarnessFilters, M as MatDividerHarness } from '../../divider-harness.d-d34fede4.js';
2
+ import '@angular/cdk/testing';
@@ -0,0 +1,14 @@
1
+ import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
2
+
3
+ interface DividerHarnessFilters extends BaseHarnessFilters {
4
+ }
5
+
6
+ /** Harness for interacting with a `mat-divider`. */
7
+ declare class MatDividerHarness extends ComponentHarness {
8
+ static hostSelector: string;
9
+ static with(options?: DividerHarnessFilters): HarnessPredicate<MatDividerHarness>;
10
+ getOrientation(): Promise<'horizontal' | 'vertical'>;
11
+ isInset(): Promise<boolean>;
12
+ }
13
+
14
+ export { type DividerHarnessFilters as D, MatDividerHarness as M };
@@ -0,0 +1,17 @@
1
+ import { AbstractControl, FormGroupDirective, NgForm } from '@angular/forms';
2
+ import * as i0 from '@angular/core';
3
+
4
+ /** Error state matcher that matches when a control is invalid and dirty. */
5
+ declare class ShowOnDirtyErrorStateMatcher implements ErrorStateMatcher {
6
+ isErrorState(control: AbstractControl | null, form: FormGroupDirective | NgForm | null): boolean;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShowOnDirtyErrorStateMatcher, never>;
8
+ static ɵprov: i0.ɵɵInjectableDeclaration<ShowOnDirtyErrorStateMatcher>;
9
+ }
10
+ /** Provider that defines how form controls behave with regards to displaying error messages. */
11
+ declare class ErrorStateMatcher {
12
+ isErrorState(control: AbstractControl | null, form: FormGroupDirective | NgForm | null): boolean;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<ErrorStateMatcher, never>;
14
+ static ɵprov: i0.ɵɵInjectableDeclaration<ErrorStateMatcher>;
15
+ }
16
+
17
+ export { ErrorStateMatcher as E, ShowOnDirtyErrorStateMatcher as S };
@@ -1,12 +1,13 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, TemplateRef, AfterContentInit, OnChanges, OnDestroy, EventEmitter, SimpleChanges, ElementRef, AfterViewInit, QueryList } from '@angular/core';
3
- import * as i1 from '@angular/material/core';
3
+ import { M as MatCommonModule } from '../common-module.d-0e6515ae.js';
4
4
  import * as i2 from '@angular/cdk/accordion';
5
5
  import { CdkAccordion, CdkAccordionItem } from '@angular/cdk/accordion';
6
6
  import * as i3 from '@angular/cdk/portal';
7
7
  import { TemplatePortal } from '@angular/cdk/portal';
8
8
  import { FocusableOption, FocusOrigin } from '@angular/cdk/a11y';
9
9
  import { Subject } from 'rxjs';
10
+ import '@angular/cdk/bidi';
10
11
 
11
12
  /** MatAccordion's display modes. */
12
13
  type MatAccordionDisplayMode = 'default' | 'flat';
@@ -248,7 +249,7 @@ declare class MatAccordion extends CdkAccordion implements MatAccordionBase, Aft
248
249
 
249
250
  declare class MatExpansionModule {
250
251
  static ɵfac: i0.ɵɵFactoryDeclaration<MatExpansionModule, never>;
251
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatExpansionModule, never, [typeof i1.MatCommonModule, typeof i2.CdkAccordionModule, typeof i3.PortalModule, typeof MatAccordion, typeof MatExpansionPanel, typeof MatExpansionPanelActionRow, typeof MatExpansionPanelHeader, typeof MatExpansionPanelTitle, typeof MatExpansionPanelDescription, typeof MatExpansionPanelContent], [typeof MatAccordion, typeof MatExpansionPanel, typeof MatExpansionPanelActionRow, typeof MatExpansionPanelHeader, typeof MatExpansionPanelTitle, typeof MatExpansionPanelDescription, typeof MatExpansionPanelContent]>;
252
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatExpansionModule, never, [typeof MatCommonModule, typeof i2.CdkAccordionModule, typeof i3.PortalModule, typeof MatAccordion, typeof MatExpansionPanel, typeof MatExpansionPanelActionRow, typeof MatExpansionPanelHeader, typeof MatExpansionPanelTitle, typeof MatExpansionPanelDescription, typeof MatExpansionPanelContent], [typeof MatAccordion, typeof MatExpansionPanel, typeof MatExpansionPanelActionRow, typeof MatExpansionPanelHeader, typeof MatExpansionPanelTitle, typeof MatExpansionPanelDescription, typeof MatExpansionPanelContent]>;
252
253
  static ɵinj: i0.ɵɵInjectorDeclaration<MatExpansionModule>;
253
254
  }
254
255
 
@@ -1,6 +1,7 @@
1
1
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
2
  import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
3
- import { MatOptionHarness, MatOptgroupHarness } from '@angular/material/core/testing';
3
+ import { M as MatOptionHarness } from '../option-harness-3b7c1106.mjs';
4
+ import { M as MatOptgroupHarness } from '../optgroup-harness-5e66b138.mjs';
4
5
 
5
6
  class MatAutocompleteHarness extends ComponentHarness {
6
7
  _documentRootLocator = this.documentRootLocatorFactory();
@@ -1 +1 @@
1
- {"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material/autocomplete/testing/autocomplete-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 {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n TestElement,\n} from '@angular/cdk/testing';\nimport {\n MatOptgroupHarness,\n MatOptionHarness,\n OptgroupHarnessFilters,\n OptionHarnessFilters,\n} from '@angular/material/core/testing';\nimport {AutocompleteHarnessFilters} from './autocomplete-harness-filters';\n\nexport class MatAutocompleteHarness extends ComponentHarness {\n private _documentRootLocator = this.documentRootLocatorFactory();\n\n /** The selector for the host element of a `MatAutocomplete` instance. */\n static hostSelector = '.mat-mdc-autocomplete-trigger';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for an autocomplete with specific\n * attributes.\n * @param options Options for filtering which autocomplete instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatAutocompleteHarness>(\n this: ComponentHarnessConstructor<T>,\n options: AutocompleteHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('value', options.value, (harness, value) =>\n HarnessPredicate.stringMatches(harness.getValue(), value),\n )\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n });\n }\n\n /** Gets the value of the autocomplete input. */\n async getValue(): Promise<string> {\n return (await this.host()).getProperty<string>('value');\n }\n\n /** Whether the autocomplete input is disabled. */\n async isDisabled(): Promise<boolean> {\n const disabled = (await this.host()).getAttribute('disabled');\n return coerceBooleanProperty(await disabled);\n }\n\n /** Focuses the autocomplete input. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Blurs the autocomplete input. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the autocomplete input is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Enters text into the autocomplete. */\n async enterText(value: string): Promise<void> {\n return (await this.host()).sendKeys(value);\n }\n\n /** Clears the input value. */\n async clear(): Promise<void> {\n return (await this.host()).clear();\n }\n\n /** Gets the options inside the autocomplete panel. */\n async getOptions(filters?: Omit<OptionHarnessFilters, 'ancestor'>): Promise<MatOptionHarness[]> {\n if (!(await this.isOpen())) {\n throw new Error('Unable to retrieve options for autocomplete. Autocomplete 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 /** Gets the option groups inside the autocomplete panel. */\n async getOptionGroups(\n filters?: Omit<OptgroupHarnessFilters, 'ancestor'>,\n ): Promise<MatOptgroupHarness[]> {\n if (!(await this.isOpen())) {\n throw new Error(\n 'Unable to retrieve option groups for autocomplete. Autocomplete panel is closed.',\n );\n }\n\n return this._documentRootLocator.locatorForAll(\n MatOptgroupHarness.with({\n ...(filters || {}),\n ancestor: await this._getPanelSelector(),\n } as OptgroupHarnessFilters),\n )();\n }\n\n /** Selects the first option matching the given filters. */\n async selectOption(filters: OptionHarnessFilters): Promise<void> {\n await this.focus(); // Focus the input to make sure the autocomplete panel is shown.\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 /** Whether the autocomplete is open. */\n async isOpen(): Promise<boolean> {\n const panel = await this._getPanel();\n return !!panel && (await panel.hasClass(`mat-mdc-autocomplete-visible`));\n }\n\n /** Gets the panel associated with this autocomplete trigger. */\n private async _getPanel(): Promise<TestElement | null> {\n // Technically this is static, but it needs to be in a\n // function, because the autocomplete's panel ID can changed.\n return this._documentRootLocator.locatorForOptional(await this._getPanelSelector())();\n }\n\n /** Gets the selector that can be used to find the autocomplete trigger's panel. */\n protected async _getPanelSelector(): Promise<string> {\n return `#${await (await this.host()).getAttribute('aria-controls')}`;\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material/autocomplete/testing/autocomplete-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 {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n TestElement,\n} from '@angular/cdk/testing';\nimport {\n MatOptgroupHarness,\n MatOptionHarness,\n OptgroupHarnessFilters,\n OptionHarnessFilters,\n} from '../../core/testing';\nimport {AutocompleteHarnessFilters} from './autocomplete-harness-filters';\n\nexport class MatAutocompleteHarness extends ComponentHarness {\n private _documentRootLocator = this.documentRootLocatorFactory();\n\n /** The selector for the host element of a `MatAutocomplete` instance. */\n static hostSelector = '.mat-mdc-autocomplete-trigger';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for an autocomplete with specific\n * attributes.\n * @param options Options for filtering which autocomplete instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatAutocompleteHarness>(\n this: ComponentHarnessConstructor<T>,\n options: AutocompleteHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('value', options.value, (harness, value) =>\n HarnessPredicate.stringMatches(harness.getValue(), value),\n )\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n });\n }\n\n /** Gets the value of the autocomplete input. */\n async getValue(): Promise<string> {\n return (await this.host()).getProperty<string>('value');\n }\n\n /** Whether the autocomplete input is disabled. */\n async isDisabled(): Promise<boolean> {\n const disabled = (await this.host()).getAttribute('disabled');\n return coerceBooleanProperty(await disabled);\n }\n\n /** Focuses the autocomplete input. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Blurs the autocomplete input. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the autocomplete input is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Enters text into the autocomplete. */\n async enterText(value: string): Promise<void> {\n return (await this.host()).sendKeys(value);\n }\n\n /** Clears the input value. */\n async clear(): Promise<void> {\n return (await this.host()).clear();\n }\n\n /** Gets the options inside the autocomplete panel. */\n async getOptions(filters?: Omit<OptionHarnessFilters, 'ancestor'>): Promise<MatOptionHarness[]> {\n if (!(await this.isOpen())) {\n throw new Error('Unable to retrieve options for autocomplete. Autocomplete 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 /** Gets the option groups inside the autocomplete panel. */\n async getOptionGroups(\n filters?: Omit<OptgroupHarnessFilters, 'ancestor'>,\n ): Promise<MatOptgroupHarness[]> {\n if (!(await this.isOpen())) {\n throw new Error(\n 'Unable to retrieve option groups for autocomplete. Autocomplete panel is closed.',\n );\n }\n\n return this._documentRootLocator.locatorForAll(\n MatOptgroupHarness.with({\n ...(filters || {}),\n ancestor: await this._getPanelSelector(),\n } as OptgroupHarnessFilters),\n )();\n }\n\n /** Selects the first option matching the given filters. */\n async selectOption(filters: OptionHarnessFilters): Promise<void> {\n await this.focus(); // Focus the input to make sure the autocomplete panel is shown.\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 /** Whether the autocomplete is open. */\n async isOpen(): Promise<boolean> {\n const panel = await this._getPanel();\n return !!panel && (await panel.hasClass(`mat-mdc-autocomplete-visible`));\n }\n\n /** Gets the panel associated with this autocomplete trigger. */\n private async _getPanel(): Promise<TestElement | null> {\n // Technically this is static, but it needs to be in a\n // function, because the autocomplete's panel ID can changed.\n return this._documentRootLocator.locatorForOptional(await this._getPanelSelector())();\n }\n\n /** Gets the selector that can be used to find the autocomplete trigger's panel. */\n protected async _getPanelSelector(): Promise<string> {\n return `#${await (await this.host()).getAttribute('aria-controls')}`;\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { MAT_OPTION_PARENT_COMPONENT, MatOption, MAT_OPTGROUP, MatOptionSelectionChange, _countGroupLabelsBeforeOption, _getOptionScrollPosition, MatOptionModule, MatCommonModule } from '@angular/material/core';
2
- export { MatOptgroup, MatOption } from '@angular/material/core';
1
+ import { M as MAT_OPTION_PARENT_COMPONENT, a as MatOption, b as MAT_OPTGROUP, c as MatOptionSelectionChange, _ as _countGroupLabelsBeforeOption, d as _getOptionScrollPosition } from './option-07c3c660.mjs';
2
+ export { e as MatOptgroup, a as MatOption } from './option-07c3c660.mjs';
3
3
  import * as i0 from '@angular/core';
4
4
  import { InjectionToken, inject, ChangeDetectorRef, ElementRef, ANIMATION_MODULE_TYPE, EventEmitter, booleanAttribute, TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, ContentChildren, Input, Output, Directive, forwardRef, EnvironmentInjector, ViewContainerRef, NgZone, Renderer2, afterNextRender, NgModule } from '@angular/core';
5
5
  import { ViewportRuler, CdkScrollableModule } from '@angular/cdk/scrolling';
@@ -12,8 +12,19 @@ import { hasModifierKey, ESCAPE, ENTER, TAB, UP_ARROW, DOWN_ARROW } from '@angul
12
12
  import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
13
13
  import { TemplatePortal } from '@angular/cdk/portal';
14
14
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
15
- import { MAT_FORM_FIELD } from '@angular/material/form-field';
16
15
  import { filter, map, startWith, switchMap, tap, delay, take } from 'rxjs/operators';
16
+ import { M as MAT_FORM_FIELD } from './form-field-6d755764.mjs';
17
+ import { M as MatOptionModule } from './index-1763d3a6.mjs';
18
+ import { M as MatCommonModule } from './common-module-2d64df09.mjs';
19
+ import './ripple-9939d1f5.mjs';
20
+ import '@angular/cdk/coercion';
21
+ import '@angular/cdk/private';
22
+ import './pseudo-checkbox-af5a4ea4.mjs';
23
+ import './structural-styles-d5ada3b3.mjs';
24
+ import '@angular/common';
25
+ import '@angular/cdk/observers/private';
26
+ import './index-4bc1d6d3.mjs';
27
+ import './pseudo-checkbox-module-216fae38.mjs';
17
28
 
18
29
  /** Event object that is emitted when an autocomplete option is selected. */
19
30
  class MatAutocompleteSelectedEvent {
@@ -226,10 +237,10 @@ class MatAutocomplete {
226
237
  _skipPredicate() {
227
238
  return false;
228
239
  }
229
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatAutocomplete, deps: [], target: i0.ɵɵFactoryTarget.Component });
230
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.0", type: MatAutocomplete, isStandalone: true, selector: "mat-autocomplete", inputs: { ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], displayWith: "displayWith", autoActiveFirstOption: ["autoActiveFirstOption", "autoActiveFirstOption", booleanAttribute], autoSelectActiveOption: ["autoSelectActiveOption", "autoSelectActiveOption", booleanAttribute], requireSelection: ["requireSelection", "requireSelection", booleanAttribute], panelWidth: "panelWidth", disableRipple: ["disableRipple", "disableRipple", booleanAttribute], classList: ["class", "classList"], hideSingleSelectionIndicator: ["hideSingleSelectionIndicator", "hideSingleSelectionIndicator", booleanAttribute] }, outputs: { optionSelected: "optionSelected", opened: "opened", closed: "closed", optionActivated: "optionActivated" }, host: { classAttribute: "mat-mdc-autocomplete" }, providers: [{ provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatAutocomplete }], queries: [{ propertyName: "options", predicate: MatOption, descendants: true }, { propertyName: "optionGroups", predicate: MAT_OPTGROUP, descendants: true }], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }], exportAs: ["matAutocomplete"], ngImport: i0, template: "<ng-template let-formFieldId=\"id\">\n <div\n class=\"mat-mdc-autocomplete-panel mdc-menu-surface mdc-menu-surface--open\"\n role=\"listbox\"\n [id]=\"id\"\n [class]=\"_classList\"\n [class.mat-mdc-autocomplete-visible]=\"showPanel\"\n [class.mat-mdc-autocomplete-hidden]=\"!showPanel\"\n [class.mat-autocomplete-panel-animations-enabled]=\"!_animationsDisabled\"\n [class.mat-primary]=\"_color === 'primary'\"\n [class.mat-accent]=\"_color === 'accent'\"\n [class.mat-warn]=\"_color === 'warn'\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby(formFieldId)\"\n #panel>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: ["div.mat-mdc-autocomplete-panel{width:100%;max-height:256px;visibility:hidden;transform-origin:center top;overflow:auto;padding:8px 0;box-sizing:border-box;position:static;border-radius:var(--mat-autocomplete-container-shape, var(--mat-sys-corner-extra-small));box-shadow:var(--mat-autocomplete-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-autocomplete-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){div.mat-mdc-autocomplete-panel{outline:solid 1px}}.cdk-overlay-pane:not(.mat-mdc-autocomplete-panel-above) div.mat-mdc-autocomplete-panel{border-top-left-radius:0;border-top-right-radius:0}.mat-mdc-autocomplete-panel-above div.mat-mdc-autocomplete-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:center bottom}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{visibility:visible}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-hidden{visibility:hidden;pointer-events:none}@keyframes _mat-autocomplete-enter{from{opacity:0;transform:scaleY(0.8)}to{opacity:1;transform:none}}.mat-autocomplete-panel-animations-enabled{animation:_mat-autocomplete-enter 120ms cubic-bezier(0, 0, 0.2, 1)}mat-autocomplete{display:none}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
240
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: MatAutocomplete, deps: [], target: i0.ɵɵFactoryTarget.Component });
241
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.0.0-next.1", type: MatAutocomplete, isStandalone: true, selector: "mat-autocomplete", inputs: { ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], displayWith: "displayWith", autoActiveFirstOption: ["autoActiveFirstOption", "autoActiveFirstOption", booleanAttribute], autoSelectActiveOption: ["autoSelectActiveOption", "autoSelectActiveOption", booleanAttribute], requireSelection: ["requireSelection", "requireSelection", booleanAttribute], panelWidth: "panelWidth", disableRipple: ["disableRipple", "disableRipple", booleanAttribute], classList: ["class", "classList"], hideSingleSelectionIndicator: ["hideSingleSelectionIndicator", "hideSingleSelectionIndicator", booleanAttribute] }, outputs: { optionSelected: "optionSelected", opened: "opened", closed: "closed", optionActivated: "optionActivated" }, host: { classAttribute: "mat-mdc-autocomplete" }, providers: [{ provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatAutocomplete }], queries: [{ propertyName: "options", predicate: MatOption, descendants: true }, { propertyName: "optionGroups", predicate: MAT_OPTGROUP, descendants: true }], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }], exportAs: ["matAutocomplete"], ngImport: i0, template: "<ng-template let-formFieldId=\"id\">\n <div\n class=\"mat-mdc-autocomplete-panel mdc-menu-surface mdc-menu-surface--open\"\n role=\"listbox\"\n [id]=\"id\"\n [class]=\"_classList\"\n [class.mat-mdc-autocomplete-visible]=\"showPanel\"\n [class.mat-mdc-autocomplete-hidden]=\"!showPanel\"\n [class.mat-autocomplete-panel-animations-enabled]=\"!_animationsDisabled\"\n [class.mat-primary]=\"_color === 'primary'\"\n [class.mat-accent]=\"_color === 'accent'\"\n [class.mat-warn]=\"_color === 'warn'\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby(formFieldId)\"\n #panel>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: ["div.mat-mdc-autocomplete-panel{width:100%;max-height:256px;visibility:hidden;transform-origin:center top;overflow:auto;padding:8px 0;box-sizing:border-box;position:static;border-radius:var(--mat-autocomplete-container-shape, var(--mat-sys-corner-extra-small));box-shadow:var(--mat-autocomplete-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-autocomplete-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){div.mat-mdc-autocomplete-panel{outline:solid 1px}}.cdk-overlay-pane:not(.mat-mdc-autocomplete-panel-above) div.mat-mdc-autocomplete-panel{border-top-left-radius:0;border-top-right-radius:0}.mat-mdc-autocomplete-panel-above div.mat-mdc-autocomplete-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:center bottom}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{visibility:visible}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-hidden{visibility:hidden;pointer-events:none}@keyframes _mat-autocomplete-enter{from{opacity:0;transform:scaleY(0.8)}to{opacity:1;transform:none}}.mat-autocomplete-panel-animations-enabled{animation:_mat-autocomplete-enter 120ms cubic-bezier(0, 0, 0.2, 1)}mat-autocomplete{display:none}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
231
242
  }
232
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatAutocomplete, decorators: [{
243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: MatAutocomplete, decorators: [{
233
244
  type: Component,
234
245
  args: [{ selector: 'mat-autocomplete', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'matAutocomplete', host: {
235
246
  'class': 'mat-mdc-autocomplete',
@@ -291,10 +302,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
291
302
  class MatAutocompleteOrigin {
292
303
  elementRef = inject(ElementRef);
293
304
  constructor() { }
294
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatAutocompleteOrigin, deps: [], target: i0.ɵɵFactoryTarget.Directive });
295
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.0", type: MatAutocompleteOrigin, isStandalone: true, selector: "[matAutocompleteOrigin]", exportAs: ["matAutocompleteOrigin"], ngImport: i0 });
305
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: MatAutocompleteOrigin, deps: [], target: i0.ɵɵFactoryTarget.Directive });
306
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.0-next.1", type: MatAutocompleteOrigin, isStandalone: true, selector: "[matAutocompleteOrigin]", exportAs: ["matAutocompleteOrigin"], ngImport: i0 });
296
307
  }
297
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatAutocompleteOrigin, decorators: [{
308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: MatAutocompleteOrigin, decorators: [{
298
309
  type: Directive,
299
310
  args: [{
300
311
  selector: '[matAutocompleteOrigin]',
@@ -602,7 +613,8 @@ class MatAutocompleteTrigger {
602
613
  setDisabledState(isDisabled) {
603
614
  this._element.nativeElement.disabled = isDisabled;
604
615
  }
605
- _handleKeydown(event) {
616
+ _handleKeydown(e) {
617
+ const event = e;
606
618
  const keyCode = event.keyCode;
607
619
  const hasModifier = hasModifierKey(event);
608
620
  // Prevent the default action on all escape key presses. This is here primarily to bring IE
@@ -1148,10 +1160,10 @@ class MatAutocompleteTrigger {
1148
1160
  this._trackedModal = null;
1149
1161
  }
1150
1162
  }
1151
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatAutocompleteTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1152
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.0", type: MatAutocompleteTrigger, isStandalone: true, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: { autocomplete: ["matAutocomplete", "autocomplete"], position: ["matAutocompletePosition", "position"], connectedTo: ["matAutocompleteConnectedTo", "connectedTo"], autocompleteAttribute: ["autocomplete", "autocompleteAttribute"], autocompleteDisabled: ["matAutocompleteDisabled", "autocompleteDisabled", booleanAttribute] }, host: { listeners: { "focusin": "_handleFocus()", "blur": "_onTouched()", "input": "_handleInput($event)", "keydown": "_handleKeydown($event)", "click": "_handleClick()" }, properties: { "attr.autocomplete": "autocompleteAttribute", "attr.role": "autocompleteDisabled ? null : \"combobox\"", "attr.aria-autocomplete": "autocompleteDisabled ? null : \"list\"", "attr.aria-activedescendant": "(panelOpen && activeOption) ? activeOption.id : null", "attr.aria-expanded": "autocompleteDisabled ? null : panelOpen.toString()", "attr.aria-controls": "(autocompleteDisabled || !panelOpen) ? null : autocomplete?.id", "attr.aria-haspopup": "autocompleteDisabled ? null : \"listbox\"" }, classAttribute: "mat-mdc-autocomplete-trigger" }, providers: [MAT_AUTOCOMPLETE_VALUE_ACCESSOR], exportAs: ["matAutocompleteTrigger"], usesOnChanges: true, ngImport: i0 });
1163
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: MatAutocompleteTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1164
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.0.0-next.1", type: MatAutocompleteTrigger, isStandalone: true, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: { autocomplete: ["matAutocomplete", "autocomplete"], position: ["matAutocompletePosition", "position"], connectedTo: ["matAutocompleteConnectedTo", "connectedTo"], autocompleteAttribute: ["autocomplete", "autocompleteAttribute"], autocompleteDisabled: ["matAutocompleteDisabled", "autocompleteDisabled", booleanAttribute] }, host: { listeners: { "focusin": "_handleFocus()", "blur": "_onTouched()", "input": "_handleInput($event)", "keydown": "_handleKeydown($event)", "click": "_handleClick()" }, properties: { "attr.autocomplete": "autocompleteAttribute", "attr.role": "autocompleteDisabled ? null : \"combobox\"", "attr.aria-autocomplete": "autocompleteDisabled ? null : \"list\"", "attr.aria-activedescendant": "(panelOpen && activeOption) ? activeOption.id : null", "attr.aria-expanded": "autocompleteDisabled ? null : panelOpen.toString()", "attr.aria-controls": "(autocompleteDisabled || !panelOpen) ? null : autocomplete?.id", "attr.aria-haspopup": "autocompleteDisabled ? null : \"listbox\"" }, classAttribute: "mat-mdc-autocomplete-trigger" }, providers: [MAT_AUTOCOMPLETE_VALUE_ACCESSOR], exportAs: ["matAutocompleteTrigger"], usesOnChanges: true, ngImport: i0 });
1153
1165
  }
1154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatAutocompleteTrigger, decorators: [{
1166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: MatAutocompleteTrigger, decorators: [{
1155
1167
  type: Directive,
1156
1168
  args: [{
1157
1169
  selector: `input[matAutocomplete], textarea[matAutocomplete]`,
@@ -1193,8 +1205,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
1193
1205
  }] } });
1194
1206
 
1195
1207
  class MatAutocompleteModule {
1196
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1197
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.0", ngImport: i0, type: MatAutocompleteModule, imports: [OverlayModule,
1208
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: MatAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1209
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0-next.1", ngImport: i0, type: MatAutocompleteModule, imports: [OverlayModule,
1198
1210
  MatOptionModule,
1199
1211
  MatCommonModule,
1200
1212
  MatAutocomplete,
@@ -1205,13 +1217,13 @@ class MatAutocompleteModule {
1205
1217
  MatCommonModule,
1206
1218
  MatAutocompleteTrigger,
1207
1219
  MatAutocompleteOrigin] });
1208
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatAutocompleteModule, providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [OverlayModule,
1220
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: MatAutocompleteModule, providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [OverlayModule,
1209
1221
  MatOptionModule,
1210
1222
  MatCommonModule, CdkScrollableModule,
1211
1223
  MatOptionModule,
1212
1224
  MatCommonModule] });
1213
1225
  }
1214
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: MatAutocompleteModule, decorators: [{
1226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0-next.1", ngImport: i0, type: MatAutocompleteModule, decorators: [{
1215
1227
  type: NgModule,
1216
1228
  args: [{
1217
1229
  imports: [