@angular/material 19.0.0-next.9 → 19.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/autocomplete/_autocomplete-theme.scss +8 -4
  2. package/autocomplete/index.d.ts +5 -6
  3. package/badge/_badge-theme.scss +10 -6
  4. package/bottom-sheet/_bottom-sheet-theme.scss +8 -4
  5. package/button/_button-theme.scss +10 -6
  6. package/button/_fab-theme.scss +10 -6
  7. package/button/_icon-button-theme.scss +8 -4
  8. package/button/index.d.ts +1 -1
  9. package/button-toggle/_button-toggle-theme.scss +11 -6
  10. package/card/_card-theme.scss +8 -4
  11. package/card/index.d.ts +2 -3
  12. package/checkbox/_checkbox-theme.scss +10 -6
  13. package/chips/_chips-theme.scss +10 -6
  14. package/core/_core-theme.scss +4 -7
  15. package/core/_core.scss +2 -5
  16. package/core/option/_optgroup-theme.scss +8 -4
  17. package/core/option/_option-theme.scss +10 -6
  18. package/core/ripple/_ripple-theme.scss +8 -4
  19. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +10 -6
  20. package/core/theming/_config-validation.scss +4 -4
  21. package/core/theming/_definition.scss +12 -2
  22. package/core/tokens/_m3-system.scss +55 -39
  23. package/datepicker/_datepicker-theme.scss +10 -6
  24. package/datepicker/index.d.ts +32 -33
  25. package/dialog/_dialog-theme.scss +8 -4
  26. package/divider/_divider-theme.scss +8 -4
  27. package/expansion/_expansion-theme.scss +8 -4
  28. package/fesm2022/autocomplete/testing.mjs +2 -5
  29. package/fesm2022/autocomplete/testing.mjs.map +1 -1
  30. package/fesm2022/autocomplete.mjs +220 -141
  31. package/fesm2022/autocomplete.mjs.map +1 -1
  32. package/fesm2022/badge/testing.mjs +2 -5
  33. package/fesm2022/badge/testing.mjs.map +1 -1
  34. package/fesm2022/badge.mjs +41 -30
  35. package/fesm2022/badge.mjs.map +1 -1
  36. package/fesm2022/bottom-sheet/testing.mjs +1 -1
  37. package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
  38. package/fesm2022/bottom-sheet.mjs +76 -54
  39. package/fesm2022/bottom-sheet.mjs.map +1 -1
  40. package/fesm2022/button/testing.mjs +2 -2
  41. package/fesm2022/button/testing.mjs.map +1 -1
  42. package/fesm2022/button-toggle/testing.mjs +4 -7
  43. package/fesm2022/button-toggle/testing.mjs.map +1 -1
  44. package/fesm2022/button-toggle.mjs +78 -40
  45. package/fesm2022/button-toggle.mjs.map +1 -1
  46. package/fesm2022/button.mjs +87 -60
  47. package/fesm2022/button.mjs.map +1 -1
  48. package/fesm2022/card/testing.mjs +3 -6
  49. package/fesm2022/card/testing.mjs.map +1 -1
  50. package/fesm2022/card.mjs +38 -40
  51. package/fesm2022/card.mjs.map +1 -1
  52. package/fesm2022/checkbox/testing.mjs +4 -7
  53. package/fesm2022/checkbox/testing.mjs.map +1 -1
  54. package/fesm2022/checkbox.mjs +99 -56
  55. package/fesm2022/checkbox.mjs.map +1 -1
  56. package/fesm2022/chips/testing.mjs +11 -14
  57. package/fesm2022/chips/testing.mjs.map +1 -1
  58. package/fesm2022/chips.mjs +303 -251
  59. package/fesm2022/chips.mjs.map +1 -1
  60. package/fesm2022/core/testing.mjs +5 -11
  61. package/fesm2022/core/testing.mjs.map +1 -1
  62. package/fesm2022/core.mjs +217 -160
  63. package/fesm2022/core.mjs.map +1 -1
  64. package/fesm2022/datepicker/testing.mjs +13 -22
  65. package/fesm2022/datepicker/testing.mjs.map +1 -1
  66. package/fesm2022/datepicker.mjs +788 -533
  67. package/fesm2022/datepicker.mjs.map +1 -1
  68. package/fesm2022/dialog/testing.mjs +15 -9
  69. package/fesm2022/dialog/testing.mjs.map +1 -1
  70. package/fesm2022/dialog.mjs +210 -140
  71. package/fesm2022/dialog.mjs.map +1 -1
  72. package/fesm2022/divider/testing.mjs +1 -1
  73. package/fesm2022/divider/testing.mjs.map +1 -1
  74. package/fesm2022/divider.mjs +7 -9
  75. package/fesm2022/divider.mjs.map +1 -1
  76. package/fesm2022/expansion/testing.mjs +7 -10
  77. package/fesm2022/expansion/testing.mjs.map +1 -1
  78. package/fesm2022/expansion.mjs +76 -65
  79. package/fesm2022/expansion.mjs.map +1 -1
  80. package/fesm2022/form-field/testing.mjs +12 -15
  81. package/fesm2022/form-field/testing.mjs.map +1 -1
  82. package/fesm2022/form-field.mjs +165 -111
  83. package/fesm2022/form-field.mjs.map +1 -1
  84. package/fesm2022/grid-list/testing.mjs +11 -17
  85. package/fesm2022/grid-list/testing.mjs.map +1 -1
  86. package/fesm2022/grid-list.mjs +65 -43
  87. package/fesm2022/grid-list.mjs.map +1 -1
  88. package/fesm2022/icon/testing.mjs +6 -6
  89. package/fesm2022/icon/testing.mjs.map +1 -1
  90. package/fesm2022/icon.mjs +62 -42
  91. package/fesm2022/icon.mjs.map +1 -1
  92. package/fesm2022/input/testing.mjs +3 -3
  93. package/fesm2022/input/testing.mjs.map +1 -1
  94. package/fesm2022/input.mjs +101 -69
  95. package/fesm2022/input.mjs.map +1 -1
  96. package/fesm2022/list/testing.mjs +21 -38
  97. package/fesm2022/list/testing.mjs.map +1 -1
  98. package/fesm2022/list.mjs +175 -164
  99. package/fesm2022/list.mjs.map +1 -1
  100. package/fesm2022/menu/testing.mjs +3 -6
  101. package/fesm2022/menu/testing.mjs.map +1 -1
  102. package/fesm2022/menu.mjs +171 -118
  103. package/fesm2022/menu.mjs.map +1 -1
  104. package/fesm2022/paginator/testing.mjs +10 -13
  105. package/fesm2022/paginator/testing.mjs.map +1 -1
  106. package/fesm2022/paginator.mjs +79 -54
  107. package/fesm2022/paginator.mjs.map +1 -1
  108. package/fesm2022/progress-bar/testing.mjs +1 -1
  109. package/fesm2022/progress-bar/testing.mjs.map +1 -1
  110. package/fesm2022/progress-bar.mjs +33 -32
  111. package/fesm2022/progress-bar.mjs.map +1 -1
  112. package/fesm2022/progress-spinner/testing.mjs +1 -1
  113. package/fesm2022/progress-spinner/testing.mjs.map +1 -1
  114. package/fesm2022/progress-spinner.mjs +25 -11
  115. package/fesm2022/progress-spinner.mjs.map +1 -1
  116. package/fesm2022/radio/testing.mjs +6 -12
  117. package/fesm2022/radio/testing.mjs.map +1 -1
  118. package/fesm2022/radio.mjs +119 -82
  119. package/fesm2022/radio.mjs.map +1 -1
  120. package/fesm2022/select/testing.mjs +6 -9
  121. package/fesm2022/select/testing.mjs.map +1 -1
  122. package/fesm2022/select.mjs +215 -177
  123. package/fesm2022/select.mjs.map +1 -1
  124. package/fesm2022/sidenav/testing.mjs +6 -6
  125. package/fesm2022/sidenav/testing.mjs.map +1 -1
  126. package/fesm2022/sidenav.mjs +125 -112
  127. package/fesm2022/sidenav.mjs.map +1 -1
  128. package/fesm2022/slide-toggle/testing.mjs +3 -6
  129. package/fesm2022/slide-toggle/testing.mjs.map +1 -1
  130. package/fesm2022/slide-toggle.mjs +72 -41
  131. package/fesm2022/slide-toggle.mjs.map +1 -1
  132. package/fesm2022/slider/testing.mjs +2 -2
  133. package/fesm2022/slider/testing.mjs.map +1 -1
  134. package/fesm2022/slider.mjs +255 -185
  135. package/fesm2022/slider.mjs.map +1 -1
  136. package/fesm2022/snack-bar/testing.mjs +4 -7
  137. package/fesm2022/snack-bar/testing.mjs.map +1 -1
  138. package/fesm2022/snack-bar.mjs +133 -98
  139. package/fesm2022/snack-bar.mjs.map +1 -1
  140. package/fesm2022/sort/testing.mjs +3 -6
  141. package/fesm2022/sort/testing.mjs.map +1 -1
  142. package/fesm2022/sort.mjs +89 -68
  143. package/fesm2022/sort.mjs.map +1 -1
  144. package/fesm2022/stepper/testing.mjs +4 -4
  145. package/fesm2022/stepper/testing.mjs.map +1 -1
  146. package/fesm2022/stepper.mjs +133 -95
  147. package/fesm2022/stepper.mjs.map +1 -1
  148. package/fesm2022/table/testing.mjs +13 -25
  149. package/fesm2022/table/testing.mjs.map +1 -1
  150. package/fesm2022/table.mjs +164 -159
  151. package/fesm2022/table.mjs.map +1 -1
  152. package/fesm2022/tabs/testing.mjs +5 -5
  153. package/fesm2022/tabs/testing.mjs.map +1 -1
  154. package/fesm2022/tabs.mjs +308 -225
  155. package/fesm2022/tabs.mjs.map +1 -1
  156. package/fesm2022/timepicker/testing.mjs +7 -16
  157. package/fesm2022/timepicker/testing.mjs.map +1 -1
  158. package/fesm2022/timepicker.mjs +152 -146
  159. package/fesm2022/timepicker.mjs.map +1 -1
  160. package/fesm2022/toolbar/testing.mjs +2 -5
  161. package/fesm2022/toolbar/testing.mjs.map +1 -1
  162. package/fesm2022/toolbar.mjs +22 -12
  163. package/fesm2022/toolbar.mjs.map +1 -1
  164. package/fesm2022/tooltip/testing.mjs +6 -9
  165. package/fesm2022/tooltip/testing.mjs.map +1 -1
  166. package/fesm2022/tooltip.mjs +93 -69
  167. package/fesm2022/tooltip.mjs.map +1 -1
  168. package/fesm2022/tree/testing.mjs +3 -6
  169. package/fesm2022/tree/testing.mjs.map +1 -1
  170. package/fesm2022/tree.mjs +48 -46
  171. package/fesm2022/tree.mjs.map +1 -1
  172. package/form-field/_form-field-theme.scss +9 -5
  173. package/form-field/index.d.ts +8 -9
  174. package/grid-list/_grid-list-theme.scss +8 -4
  175. package/icon/_icon-theme.scss +10 -6
  176. package/input/_input-theme.scss +8 -4
  177. package/list/_list-theme.scss +8 -4
  178. package/list/index.d.ts +20 -21
  179. package/menu/_menu-theme.scss +8 -4
  180. package/menu/index.d.ts +8 -9
  181. package/package.json +2 -2
  182. package/paginator/_paginator-theme.scss +8 -4
  183. package/prebuilt-themes/azure-blue.css +1 -1
  184. package/prebuilt-themes/cyan-orange.css +1 -1
  185. package/prebuilt-themes/deeppurple-amber.css +1 -1
  186. package/prebuilt-themes/indigo-pink.css +1 -1
  187. package/prebuilt-themes/magenta-violet.css +1 -1
  188. package/prebuilt-themes/pink-bluegrey.css +1 -1
  189. package/prebuilt-themes/purple-green.css +1 -1
  190. package/prebuilt-themes/rose-red.css +1 -1
  191. package/progress-bar/_progress-bar-theme.scss +11 -9
  192. package/progress-spinner/_progress-spinner-theme.scss +11 -9
  193. package/progress-spinner/index.d.ts +3 -4
  194. package/radio/_radio-theme.scss +10 -6
  195. package/radio/index.d.ts +2 -3
  196. package/schematics/ng-add/index.js +1 -1
  197. package/schematics/ng-add/index.mjs +1 -1
  198. package/schematics/ng-add/theming/create-custom-theme.js +1 -6
  199. package/schematics/ng-add/theming/create-custom-theme.mjs +1 -6
  200. package/schematics/ng-generate/theme-color/index_bundled.js +35 -9
  201. package/schematics/ng-generate/theme-color/index_bundled.js.map +2 -2
  202. package/schematics/ng-update/index_bundled.js +6 -1
  203. package/schematics/ng-update/index_bundled.js.map +1 -1
  204. package/select/_select-theme.scss +10 -6
  205. package/select/index.d.ts +6 -7
  206. package/sidenav/_sidenav-theme.scss +8 -4
  207. package/slide-toggle/_slide-toggle-theme.scss +10 -6
  208. package/slider/_slider-theme.scss +10 -6
  209. package/snack-bar/_snack-bar-theme.scss +10 -6
  210. package/sort/_sort-theme.scss +8 -4
  211. package/stepper/_stepper-theme.scss +10 -6
  212. package/stepper/index.d.ts +14 -15
  213. package/table/_table-theme.scss +8 -4
  214. package/tabs/_tabs-theme.scss +10 -6
  215. package/timepicker/_timepicker-theme.scss +10 -6
  216. package/toolbar/_toolbar-theme.scss +10 -6
  217. package/tooltip/_tooltip-theme.scss +8 -4
  218. package/tooltip/index.d.ts +5 -6
  219. package/tree/_tree-theme.scss +8 -4
@@ -2,13 +2,10 @@ import { ContentContainerComponentHarness, HarnessPredicate, ComponentHarness }
2
2
 
3
3
  /** Harness for interacting with a `mat-option` in tests. */
4
4
  class MatOptionHarness extends ContentContainerComponentHarness {
5
- constructor() {
6
- super(...arguments);
7
- /** Element containing the option's text. */
8
- this._text = this.locatorFor('.mdc-list-item__primary-text');
9
- }
10
5
  /** Selector used to locate option instances. */
11
- static { this.hostSelector = '.mat-mdc-option'; }
6
+ static hostSelector = '.mat-mdc-option';
7
+ /** Element containing the option's text. */
8
+ _text = this.locatorFor('.mdc-list-item__primary-text');
12
9
  /**
13
10
  * Gets a `HarnessPredicate` that can be used to search for an option with specific attributes.
14
11
  * @param options Options for filtering which option instances are considered a match.
@@ -47,12 +44,9 @@ class MatOptionHarness extends ContentContainerComponentHarness {
47
44
 
48
45
  /** Harness for interacting with a `mat-optgroup` in tests. */
49
46
  class MatOptgroupHarness extends ComponentHarness {
50
- constructor() {
51
- super(...arguments);
52
- this._label = this.locatorFor('.mat-mdc-optgroup-label');
53
- }
54
47
  /** Selector used to locate option group instances. */
55
- static { this.hostSelector = '.mat-mdc-optgroup'; }
48
+ static hostSelector = '.mat-mdc-optgroup';
49
+ _label = this.locatorFor('.mat-mdc-optgroup-label');
56
50
  /**
57
51
  * Gets a `HarnessPredicate` that can be used to search for a option group with specific
58
52
  * attributes.
@@ -1 +1 @@
1
- {"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material/core/testing/option-harness.ts","../../../../../../../src/material/core/testing/optgroup-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 ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {OptionHarnessFilters} from './option-harness-filters';\n\n/** Harness for interacting with a `mat-option` in tests. */\nexport class MatOptionHarness extends ContentContainerComponentHarness {\n /** Selector used to locate option instances. */\n static hostSelector = '.mat-mdc-option';\n\n /** Element containing the option's text. */\n private _text = this.locatorFor('.mdc-list-item__primary-text');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for an option with specific attributes.\n * @param options Options for filtering which option instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatOptionHarness>(\n this: ComponentHarnessConstructor<T>,\n options: OptionHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('text', options.text, async (harness, title) =>\n HarnessPredicate.stringMatches(await harness.getText(), title),\n )\n .addOption(\n 'isSelected',\n options.isSelected,\n async (harness, isSelected) => (await harness.isSelected()) === isSelected,\n );\n }\n\n /** Clicks the option. */\n async click(): Promise<void> {\n return (await this.host()).click();\n }\n\n /** Gets the option's label text. */\n async getText(): Promise<string> {\n return (await this._text()).text();\n }\n\n /** Gets whether the option is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await this.host()).hasClass('mdc-list-item--disabled');\n }\n\n /** Gets whether the option is selected. */\n async isSelected(): Promise<boolean> {\n return (await this.host()).hasClass('mdc-list-item--selected');\n }\n\n /** Gets whether the option is active. */\n async isActive(): Promise<boolean> {\n return (await this.host()).hasClass('mat-mdc-option-active');\n }\n\n /** Gets whether the option is in multiple selection mode. */\n async isMultiple(): Promise<boolean> {\n return (await this.host()).hasClass('mat-mdc-option-multiple');\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} from '@angular/cdk/testing';\nimport {OptgroupHarnessFilters} from './optgroup-harness-filters';\nimport {MatOptionHarness} from './option-harness';\nimport {OptionHarnessFilters} from './option-harness-filters';\n\n/** Harness for interacting with a `mat-optgroup` in tests. */\nexport class MatOptgroupHarness extends ComponentHarness {\n /** Selector used to locate option group instances. */\n static hostSelector = '.mat-mdc-optgroup';\n private _label = this.locatorFor('.mat-mdc-optgroup-label');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a option group with specific\n * attributes.\n * @param options Options for filtering which option instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatOptgroupHarness>(\n this: ComponentHarnessConstructor<T>,\n options: OptgroupHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options).addOption(\n 'labelText',\n options.labelText,\n async (harness, title) => HarnessPredicate.stringMatches(await harness.getLabelText(), title),\n );\n }\n\n /** Gets the option group's label text. */\n async getLabelText(): Promise<string> {\n return (await this._label()).text();\n }\n\n /** Gets whether the option group is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-disabled')) === 'true';\n }\n\n /**\n * Gets the options that are inside the group.\n * @param filter Optionally filters which options are included.\n */\n async getOptions(filter: OptionHarnessFilters = {}): Promise<MatOptionHarness[]> {\n return this.locatorForAll(MatOptionHarness.with(filter))();\n }\n}\n"],"names":[],"mappings":";;AAeA;AACM,MAAO,gBAAiB,SAAQ,gCAAgC,CAAA;AAAtE,IAAA,WAAA,GAAA;;;AAKU,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;KAmDjE;;aAtDQ,IAAY,CAAA,YAAA,GAAG,iBAAH,CAAqB,EAAA;AAKxC;;;;AAIG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAAgC,EAAE,EAAA;AAElC,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC;aACvC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,OAAO,EAAE,KAAK,KACpD,gBAAgB,CAAC,aAAa,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAC/D;aACA,SAAS,CACR,YAAY,EACZ,OAAO,CAAC,UAAU,EAClB,OAAO,OAAO,EAAE,UAAU,KAAK,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,UAAU,CAC3E,CAAC;KACL;;AAGD,IAAA,MAAM,KAAK,GAAA;QACT,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;KACpC;;AAGD,IAAA,MAAM,OAAO,GAAA;QACX,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC;KACpC;;AAGD,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;KAChE;;AAGD,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;KAChE;;AAGD,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC;KAC9D;;AAGD,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;KAChE;;;ACtDH;AACM,MAAO,kBAAmB,SAAQ,gBAAgB,CAAA;AAAxD,IAAA,WAAA,GAAA;;AAGU,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;KAoC7D;;aArCQ,IAAY,CAAA,YAAA,GAAG,mBAAH,CAAuB,EAAA;AAG1C;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAAkC,EAAE,EAAA;AAEpC,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,CAClD,WAAW,EACX,OAAO,CAAC,SAAS,EACjB,OAAO,OAAO,EAAE,KAAK,KAAK,gBAAgB,CAAC,aAAa,CAAC,MAAM,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAC9F,CAAC;KACH;;AAGD,IAAA,MAAM,YAAY,GAAA;QAChB,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC;KACrC;;AAGD,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,eAAe,CAAC,MAAM,MAAM,CAAC;KAC7E;AAED;;;AAGG;AACH,IAAA,MAAM,UAAU,CAAC,MAAA,GAA+B,EAAE,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;KAC5D;;;;;"}
1
+ {"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material/core/testing/option-harness.ts","../../../../../../../src/material/core/testing/optgroup-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 ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {OptionHarnessFilters} from './option-harness-filters';\n\n/** Harness for interacting with a `mat-option` in tests. */\nexport class MatOptionHarness extends ContentContainerComponentHarness {\n /** Selector used to locate option instances. */\n static hostSelector = '.mat-mdc-option';\n\n /** Element containing the option's text. */\n private _text = this.locatorFor('.mdc-list-item__primary-text');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for an option with specific attributes.\n * @param options Options for filtering which option instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatOptionHarness>(\n this: ComponentHarnessConstructor<T>,\n options: OptionHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('text', options.text, async (harness, title) =>\n HarnessPredicate.stringMatches(await harness.getText(), title),\n )\n .addOption(\n 'isSelected',\n options.isSelected,\n async (harness, isSelected) => (await harness.isSelected()) === isSelected,\n );\n }\n\n /** Clicks the option. */\n async click(): Promise<void> {\n return (await this.host()).click();\n }\n\n /** Gets the option's label text. */\n async getText(): Promise<string> {\n return (await this._text()).text();\n }\n\n /** Gets whether the option is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await this.host()).hasClass('mdc-list-item--disabled');\n }\n\n /** Gets whether the option is selected. */\n async isSelected(): Promise<boolean> {\n return (await this.host()).hasClass('mdc-list-item--selected');\n }\n\n /** Gets whether the option is active. */\n async isActive(): Promise<boolean> {\n return (await this.host()).hasClass('mat-mdc-option-active');\n }\n\n /** Gets whether the option is in multiple selection mode. */\n async isMultiple(): Promise<boolean> {\n return (await this.host()).hasClass('mat-mdc-option-multiple');\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} from '@angular/cdk/testing';\nimport {OptgroupHarnessFilters} from './optgroup-harness-filters';\nimport {MatOptionHarness} from './option-harness';\nimport {OptionHarnessFilters} from './option-harness-filters';\n\n/** Harness for interacting with a `mat-optgroup` in tests. */\nexport class MatOptgroupHarness extends ComponentHarness {\n /** Selector used to locate option group instances. */\n static hostSelector = '.mat-mdc-optgroup';\n private _label = this.locatorFor('.mat-mdc-optgroup-label');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a option group with specific\n * attributes.\n * @param options Options for filtering which option instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatOptgroupHarness>(\n this: ComponentHarnessConstructor<T>,\n options: OptgroupHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options).addOption(\n 'labelText',\n options.labelText,\n async (harness, title) => HarnessPredicate.stringMatches(await harness.getLabelText(), title),\n );\n }\n\n /** Gets the option group's label text. */\n async getLabelText(): Promise<string> {\n return (await this._label()).text();\n }\n\n /** Gets whether the option group is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await (await this.host()).getAttribute('aria-disabled')) === 'true';\n }\n\n /**\n * Gets the options that are inside the group.\n * @param filter Optionally filters which options are included.\n */\n async getOptions(filter: OptionHarnessFilters = {}): Promise<MatOptionHarness[]> {\n return this.locatorForAll(MatOptionHarness.with(filter))();\n }\n}\n"],"names":[],"mappings":";;AAeA;AACM,MAAO,gBAAiB,SAAQ,gCAAgC,CAAA;;AAEpE,IAAA,OAAO,YAAY,GAAG,iBAAiB,CAAC;;AAGhC,IAAA,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;AAEhE;;;;AAIG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAAgC,EAAE,EAAA;AAElC,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC;aACvC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,OAAO,EAAE,KAAK,KACpD,gBAAgB,CAAC,aAAa,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAC/D;aACA,SAAS,CACR,YAAY,EACZ,OAAO,CAAC,UAAU,EAClB,OAAO,OAAO,EAAE,UAAU,KAAK,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,UAAU,CAC3E,CAAC;KACL;;AAGD,IAAA,MAAM,KAAK,GAAA;QACT,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;KACpC;;AAGD,IAAA,MAAM,OAAO,GAAA;QACX,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC;KACpC;;AAGD,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;KAChE;;AAGD,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;KAChE;;AAGD,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC;KAC9D;;AAGD,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;KAChE;;;ACtDH;AACM,MAAO,kBAAmB,SAAQ,gBAAgB,CAAA;;AAEtD,IAAA,OAAO,YAAY,GAAG,mBAAmB,CAAC;AAClC,IAAA,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;AAE5D;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAAkC,EAAE,EAAA;AAEpC,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,CAClD,WAAW,EACX,OAAO,CAAC,SAAS,EACjB,OAAO,OAAO,EAAE,KAAK,KAAK,gBAAgB,CAAC,aAAa,CAAC,MAAM,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAC9F,CAAC;KACH;;AAGD,IAAA,MAAM,YAAY,GAAA;QAChB,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC;KACrC;;AAGD,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,eAAe,CAAC,MAAM,MAAM,CAAC;KAC7E;AAED;;;AAGG;AACH,IAAA,MAAM,UAAU,CAAC,MAAA,GAA+B,EAAE,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;KAC5D;;;;;"}