@angular/material 22.0.3 → 22.0.5

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 (166) hide show
  1. package/core/focus-indicators/_private.scss +3 -0
  2. package/fesm2022/_animation-chunk.mjs.map +1 -1
  3. package/fesm2022/_date-formats-chunk.mjs.map +1 -1
  4. package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -1
  5. package/fesm2022/_error-options-chunk.mjs +22 -6
  6. package/fesm2022/_error-options-chunk.mjs.map +1 -1
  7. package/fesm2022/_error-state-chunk.mjs +23 -7
  8. package/fesm2022/_error-state-chunk.mjs.map +1 -1
  9. package/fesm2022/_form-field-chunk.mjs +30 -30
  10. package/fesm2022/_form-field-chunk.mjs.map +1 -1
  11. package/fesm2022/_icon-button-chunk.mjs +6 -6
  12. package/fesm2022/_icon-button-chunk.mjs.map +1 -1
  13. package/fesm2022/_icon-registry-chunk.mjs +3 -3
  14. package/fesm2022/_icon-registry-chunk.mjs.map +1 -1
  15. package/fesm2022/_input-harness-chunk.mjs.map +1 -1
  16. package/fesm2022/_input-value-accessor-chunk.mjs.map +1 -1
  17. package/fesm2022/_internal-form-field-chunk.mjs +3 -3
  18. package/fesm2022/_internal-form-field-chunk.mjs.map +1 -1
  19. package/fesm2022/_line-chunk.mjs +7 -7
  20. package/fesm2022/_line-chunk.mjs.map +1 -1
  21. package/fesm2022/_option-chunk.mjs +6 -6
  22. package/fesm2022/_option-chunk.mjs.map +1 -1
  23. package/fesm2022/_option-harness-chunk.mjs.map +1 -1
  24. package/fesm2022/_option-module-chunk.mjs +4 -4
  25. package/fesm2022/_option-module-chunk.mjs.map +1 -1
  26. package/fesm2022/_pseudo-checkbox-chunk.mjs +3 -3
  27. package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -1
  28. package/fesm2022/_pseudo-checkbox-module-chunk.mjs +4 -4
  29. package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -1
  30. package/fesm2022/_public-api-chunk.mjs.map +1 -1
  31. package/fesm2022/_ripple-chunk.mjs +6 -6
  32. package/fesm2022/_ripple-chunk.mjs.map +1 -1
  33. package/fesm2022/_ripple-loader-chunk.mjs +3 -3
  34. package/fesm2022/_ripple-loader-chunk.mjs.map +1 -1
  35. package/fesm2022/_ripple-module-chunk.mjs +4 -4
  36. package/fesm2022/_ripple-module-chunk.mjs.map +1 -1
  37. package/fesm2022/_structural-styles-chunk.mjs +5 -5
  38. package/fesm2022/_structural-styles-chunk.mjs.map +1 -1
  39. package/fesm2022/_tooltip-chunk.mjs +6 -6
  40. package/fesm2022/_tooltip-chunk.mjs.map +1 -1
  41. package/fesm2022/autocomplete-testing.mjs.map +1 -1
  42. package/fesm2022/autocomplete.mjs +13 -13
  43. package/fesm2022/autocomplete.mjs.map +1 -1
  44. package/fesm2022/badge-testing.mjs.map +1 -1
  45. package/fesm2022/badge.mjs +10 -10
  46. package/fesm2022/badge.mjs.map +1 -1
  47. package/fesm2022/bottom-sheet-testing.mjs.map +1 -1
  48. package/fesm2022/bottom-sheet.mjs +10 -10
  49. package/fesm2022/bottom-sheet.mjs.map +1 -1
  50. package/fesm2022/button-testing.mjs.map +1 -1
  51. package/fesm2022/button-toggle-testing.mjs.map +1 -1
  52. package/fesm2022/button-toggle.mjs +10 -10
  53. package/fesm2022/button-toggle.mjs.map +1 -1
  54. package/fesm2022/button.mjs +17 -17
  55. package/fesm2022/button.mjs.map +1 -1
  56. package/fesm2022/card-testing.mjs.map +1 -1
  57. package/fesm2022/card.mjs +46 -46
  58. package/fesm2022/card.mjs.map +1 -1
  59. package/fesm2022/checkbox-testing.mjs.map +1 -1
  60. package/fesm2022/checkbox.mjs +7 -7
  61. package/fesm2022/checkbox.mjs.map +1 -1
  62. package/fesm2022/chips-testing.mjs.map +1 -1
  63. package/fesm2022/chips.mjs +52 -47
  64. package/fesm2022/chips.mjs.map +1 -1
  65. package/fesm2022/core-testing.mjs.map +1 -1
  66. package/fesm2022/core.mjs +12 -12
  67. package/fesm2022/core.mjs.map +1 -1
  68. package/fesm2022/datepicker-testing.mjs.map +1 -1
  69. package/fesm2022/datepicker.mjs +89 -84
  70. package/fesm2022/datepicker.mjs.map +1 -1
  71. package/fesm2022/dialog-testing.mjs.map +1 -1
  72. package/fesm2022/dialog.mjs +25 -25
  73. package/fesm2022/dialog.mjs.map +1 -1
  74. package/fesm2022/divider-testing.mjs.map +1 -1
  75. package/fesm2022/divider.mjs +7 -7
  76. package/fesm2022/divider.mjs.map +1 -1
  77. package/fesm2022/expansion-testing.mjs.map +1 -1
  78. package/fesm2022/expansion.mjs +25 -25
  79. package/fesm2022/expansion.mjs.map +1 -1
  80. package/fesm2022/form-field-testing-control.mjs.map +1 -1
  81. package/fesm2022/form-field-testing.mjs.map +1 -1
  82. package/fesm2022/form-field.mjs +4 -4
  83. package/fesm2022/form-field.mjs.map +1 -1
  84. package/fesm2022/grid-list-testing.mjs.map +1 -1
  85. package/fesm2022/grid-list.mjs +22 -22
  86. package/fesm2022/grid-list.mjs.map +1 -1
  87. package/fesm2022/icon-testing.mjs +7 -7
  88. package/fesm2022/icon-testing.mjs.map +1 -1
  89. package/fesm2022/icon.mjs +7 -7
  90. package/fesm2022/icon.mjs.map +1 -1
  91. package/fesm2022/input-testing.mjs.map +1 -1
  92. package/fesm2022/input.mjs +13 -8
  93. package/fesm2022/input.mjs.map +1 -1
  94. package/fesm2022/list-testing.mjs.map +1 -1
  95. package/fesm2022/list.mjs +49 -49
  96. package/fesm2022/list.mjs.map +1 -1
  97. package/fesm2022/material.mjs.map +1 -1
  98. package/fesm2022/menu-testing.mjs.map +1 -1
  99. package/fesm2022/menu.mjs +22 -22
  100. package/fesm2022/menu.mjs.map +1 -1
  101. package/fesm2022/paginator-testing.mjs.map +1 -1
  102. package/fesm2022/paginator.mjs +11 -10
  103. package/fesm2022/paginator.mjs.map +1 -1
  104. package/fesm2022/progress-bar-testing.mjs.map +1 -1
  105. package/fesm2022/progress-bar.mjs +7 -7
  106. package/fesm2022/progress-bar.mjs.map +1 -1
  107. package/fesm2022/progress-spinner-testing.mjs.map +1 -1
  108. package/fesm2022/progress-spinner.mjs +7 -7
  109. package/fesm2022/progress-spinner.mjs.map +1 -1
  110. package/fesm2022/radio-testing.mjs.map +1 -1
  111. package/fesm2022/radio.mjs +10 -10
  112. package/fesm2022/radio.mjs.map +1 -1
  113. package/fesm2022/select-testing.mjs.map +1 -1
  114. package/fesm2022/select.mjs +16 -11
  115. package/fesm2022/select.mjs.map +1 -1
  116. package/fesm2022/sidenav-testing.mjs.map +1 -1
  117. package/fesm2022/sidenav.mjs +22 -22
  118. package/fesm2022/sidenav.mjs.map +1 -1
  119. package/fesm2022/slide-toggle-testing.mjs.map +1 -1
  120. package/fesm2022/slide-toggle.mjs +7 -7
  121. package/fesm2022/slide-toggle.mjs.map +1 -1
  122. package/fesm2022/slider-testing.mjs.map +1 -1
  123. package/fesm2022/slider.mjs +16 -16
  124. package/fesm2022/slider.mjs.map +1 -1
  125. package/fesm2022/snack-bar-testing.mjs.map +1 -1
  126. package/fesm2022/snack-bar.mjs +22 -22
  127. package/fesm2022/snack-bar.mjs.map +1 -1
  128. package/fesm2022/sort-testing.mjs.map +1 -1
  129. package/fesm2022/sort.mjs +15 -15
  130. package/fesm2022/sort.mjs.map +1 -1
  131. package/fesm2022/stepper-testing.mjs.map +1 -1
  132. package/fesm2022/stepper.mjs +38 -33
  133. package/fesm2022/stepper.mjs.map +1 -1
  134. package/fesm2022/table-testing.mjs.map +1 -1
  135. package/fesm2022/table.mjs +55 -55
  136. package/fesm2022/table.mjs.map +1 -1
  137. package/fesm2022/tabs-testing.mjs.map +1 -1
  138. package/fesm2022/tabs.mjs +43 -43
  139. package/fesm2022/tabs.mjs.map +1 -1
  140. package/fesm2022/timepicker-testing.mjs.map +1 -1
  141. package/fesm2022/timepicker.mjs +16 -14
  142. package/fesm2022/timepicker.mjs.map +1 -1
  143. package/fesm2022/toolbar-testing.mjs.map +1 -1
  144. package/fesm2022/toolbar.mjs +10 -10
  145. package/fesm2022/toolbar.mjs.map +1 -1
  146. package/fesm2022/tooltip-testing.mjs.map +1 -1
  147. package/fesm2022/tooltip.mjs +4 -4
  148. package/fesm2022/tooltip.mjs.map +1 -1
  149. package/fesm2022/tree-testing.mjs.map +1 -1
  150. package/fesm2022/tree.mjs +25 -25
  151. package/fesm2022/tree.mjs.map +1 -1
  152. package/package.json +2 -2
  153. package/prebuilt-themes/deeppurple-amber.css +2 -2
  154. package/prebuilt-themes/indigo-pink.css +2 -2
  155. package/prebuilt-themes/pink-bluegrey.css +2 -2
  156. package/prebuilt-themes/purple-green.css +2 -2
  157. package/schematics/ng-add/index.js +1 -1
  158. package/stepper/_m2-stepper.scss +2 -2
  159. package/types/_error-options-chunk.d.ts +3 -0
  160. package/types/chips.d.ts +1 -0
  161. package/types/core.d.ts +7 -2
  162. package/types/datepicker.d.ts +1 -0
  163. package/types/input.d.ts +1 -0
  164. package/types/paginator.d.ts +1 -0
  165. package/types/select.d.ts +1 -0
  166. package/types/stepper.d.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"timepicker-testing.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/timepicker/testing/timepicker-harness.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/timepicker/testing/timepicker-input-harness.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/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":["MatTimepickerHarness","ComponentHarness","_documentRootLocator","documentRootLocatorFactory","hostSelector","with","options","HarnessPredicate","isOpen","selector","_getPanelSelector","panel","locatorForOptional","getOptions","filters","Error","locatorForAll","MatOptionHarness","ancestor","selectOption","length","JSON","stringify","click","host","getAttribute","MatTimepickerInputHarness","addOption","value","harness","stringMatches","getValue","placeholder","getPlaceholder","isTimepickerOpen","openTimepicker","isDisabled","sendKeys","TestKey","DOWN_ARROW","getTimepicker","closeTimepicker","rootElement","forceStabilize","filter","timepickerId","locatorFor","getProperty","isRequired","setValue","newValue","inputEl","clear","focus","blur","isFocused","MatTimepickerToggleHarness","_button","button","ariaExpanded","coerceBooleanProperty"],"mappings":"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"}
1
+ {"version":3,"file":"timepicker-testing.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/timepicker/testing/timepicker-harness.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/timepicker/testing/timepicker-input-harness.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/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":["MatTimepickerHarness","ComponentHarness","_documentRootLocator","documentRootLocatorFactory","hostSelector","with","options","HarnessPredicate","isOpen","selector","_getPanelSelector","panel","locatorForOptional","getOptions","filters","Error","locatorForAll","MatOptionHarness","ancestor","selectOption","length","JSON","stringify","click","host","getAttribute","MatTimepickerInputHarness","addOption","value","harness","stringMatches","getValue","placeholder","getPlaceholder","isTimepickerOpen","openTimepicker","isDisabled","sendKeys","TestKey","DOWN_ARROW","getTimepicker","closeTimepicker","rootElement","forceStabilize","filter","timepickerId","locatorFor","getProperty","isRequired","setValue","newValue","inputEl","clear","focus","blur","isFocused","MatTimepickerToggleHarness","_button","button","ariaExpanded","coerceBooleanProperty"],"mappings":"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"}
@@ -120,7 +120,9 @@ class MatTimepicker {
120
120
  _optionsCacheKey = null;
121
121
  _localeChanges;
122
122
  _onOpenRender = null;
123
- _panelTemplate = viewChild.required('panelTemplate');
123
+ _panelTemplate = viewChild.required('panelTemplate', ...(ngDevMode ? [{
124
+ debugName: "_panelTemplate"
125
+ }] : []));
124
126
  _timeOptions = [];
125
127
  _options = viewChildren(MatOption, ...(ngDevMode ? [{
126
128
  debugName: "_options"
@@ -380,7 +382,7 @@ class MatTimepicker {
380
382
  }
381
383
  static ɵfac = i0.ɵɵngDeclareFactory({
382
384
  minVersion: "12.0.0",
383
- version: "22.0.4",
385
+ version: "22.0.6",
384
386
  ngImport: i0,
385
387
  type: MatTimepicker,
386
388
  deps: [],
@@ -388,7 +390,7 @@ class MatTimepicker {
388
390
  });
389
391
  static ɵcmp = i0.ɵɵngDeclareComponent({
390
392
  minVersion: "17.0.0",
391
- version: "22.0.4",
393
+ version: "22.0.6",
392
394
  type: MatTimepicker,
393
395
  isStandalone: true,
394
396
  selector: "mat-timepicker",
@@ -474,7 +476,7 @@ class MatTimepicker {
474
476
  }
475
477
  i0.ɵɵngDeclareClassMetadata({
476
478
  minVersion: "12.0.0",
477
- version: "22.0.4",
479
+ version: "22.0.6",
478
480
  ngImport: i0,
479
481
  type: MatTimepicker,
480
482
  decorators: [{
@@ -837,7 +839,7 @@ class MatTimepickerInput {
837
839
  }
838
840
  static ɵfac = i0.ɵɵngDeclareFactory({
839
841
  minVersion: "12.0.0",
840
- version: "22.0.4",
842
+ version: "22.0.6",
841
843
  ngImport: i0,
842
844
  type: MatTimepickerInput,
843
845
  deps: [],
@@ -845,7 +847,7 @@ class MatTimepickerInput {
845
847
  });
846
848
  static ɵdir = i0.ɵɵngDeclareDirective({
847
849
  minVersion: "17.1.0",
848
- version: "22.0.4",
850
+ version: "22.0.6",
849
851
  type: MatTimepickerInput,
850
852
  isStandalone: true,
851
853
  selector: "input[matTimepicker]",
@@ -934,7 +936,7 @@ class MatTimepickerInput {
934
936
  }
935
937
  i0.ɵɵngDeclareClassMetadata({
936
938
  minVersion: "12.0.0",
937
- version: "22.0.4",
939
+ version: "22.0.6",
938
940
  ngImport: i0,
939
941
  type: MatTimepickerInput,
940
942
  decorators: [{
@@ -1089,7 +1091,7 @@ class MatTimepickerToggle {
1089
1091
  }
1090
1092
  static ɵfac = i0.ɵɵngDeclareFactory({
1091
1093
  minVersion: "12.0.0",
1092
- version: "22.0.4",
1094
+ version: "22.0.6",
1093
1095
  ngImport: i0,
1094
1096
  type: MatTimepickerToggle,
1095
1097
  deps: [],
@@ -1097,7 +1099,7 @@ class MatTimepickerToggle {
1097
1099
  });
1098
1100
  static ɵcmp = i0.ɵɵngDeclareComponent({
1099
1101
  minVersion: "17.1.0",
1100
- version: "22.0.4",
1102
+ version: "22.0.6",
1101
1103
  type: MatTimepickerToggle,
1102
1104
  isStandalone: true,
1103
1105
  selector: "mat-timepicker-toggle",
@@ -1168,7 +1170,7 @@ class MatTimepickerToggle {
1168
1170
  }
1169
1171
  i0.ɵɵngDeclareClassMetadata({
1170
1172
  minVersion: "12.0.0",
1171
- version: "22.0.4",
1173
+ version: "22.0.6",
1172
1174
  ngImport: i0,
1173
1175
  type: MatTimepickerToggle,
1174
1176
  decorators: [{
@@ -1241,7 +1243,7 @@ i0.ɵɵngDeclareClassMetadata({
1241
1243
  class MatTimepickerModule {
1242
1244
  static ɵfac = i0.ɵɵngDeclareFactory({
1243
1245
  minVersion: "12.0.0",
1244
- version: "22.0.4",
1246
+ version: "22.0.6",
1245
1247
  ngImport: i0,
1246
1248
  type: MatTimepickerModule,
1247
1249
  deps: [],
@@ -1249,7 +1251,7 @@ class MatTimepickerModule {
1249
1251
  });
1250
1252
  static ɵmod = i0.ɵɵngDeclareNgModule({
1251
1253
  minVersion: "14.0.0",
1252
- version: "22.0.4",
1254
+ version: "22.0.6",
1253
1255
  ngImport: i0,
1254
1256
  type: MatTimepickerModule,
1255
1257
  imports: [MatTimepicker, MatTimepickerInput, MatTimepickerToggle],
@@ -1257,7 +1259,7 @@ class MatTimepickerModule {
1257
1259
  });
1258
1260
  static ɵinj = i0.ɵɵngDeclareInjector({
1259
1261
  minVersion: "12.0.0",
1260
- version: "22.0.4",
1262
+ version: "22.0.6",
1261
1263
  ngImport: i0,
1262
1264
  type: MatTimepickerModule,
1263
1265
  imports: [MatTimepicker, MatTimepickerToggle, CdkScrollableModule]
@@ -1265,7 +1267,7 @@ class MatTimepickerModule {
1265
1267
  }
1266
1268
  i0.ɵɵngDeclareClassMetadata({
1267
1269
  minVersion: "12.0.0",
1268
- version: "22.0.4",
1270
+ version: "22.0.6",
1269
1271
  ngImport: i0,
1270
1272
  type: MatTimepickerModule,
1271
1273
  decorators: [{