@angular/material 21.0.0-rc.3 → 21.0.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 (151) hide show
  1. package/fesm2022/_animation-chunk.mjs.map +1 -1
  2. package/fesm2022/_date-formats-chunk.mjs.map +1 -1
  3. package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -1
  4. package/fesm2022/_error-options-chunk.mjs +6 -6
  5. package/fesm2022/_error-options-chunk.mjs.map +1 -1
  6. package/fesm2022/_error-state-chunk.mjs.map +1 -1
  7. package/fesm2022/_form-field-chunk.mjs +60 -30
  8. package/fesm2022/_form-field-chunk.mjs.map +1 -1
  9. package/fesm2022/_icon-button-chunk.mjs +6 -6
  10. package/fesm2022/_icon-button-chunk.mjs.map +1 -1
  11. package/fesm2022/_icon-registry-chunk.mjs +4 -22
  12. package/fesm2022/_icon-registry-chunk.mjs.map +1 -1
  13. package/fesm2022/_input-harness-chunk.mjs.map +1 -1
  14. package/fesm2022/_input-value-accessor-chunk.mjs.map +1 -1
  15. package/fesm2022/_internal-form-field-chunk.mjs +3 -3
  16. package/fesm2022/_internal-form-field-chunk.mjs.map +1 -1
  17. package/fesm2022/_line-chunk.mjs +7 -7
  18. package/fesm2022/_line-chunk.mjs.map +1 -1
  19. package/fesm2022/_option-chunk.mjs +6 -6
  20. package/fesm2022/_option-chunk.mjs.map +1 -1
  21. package/fesm2022/_option-harness-chunk.mjs.map +1 -1
  22. package/fesm2022/_option-module-chunk.mjs +4 -4
  23. package/fesm2022/_option-module-chunk.mjs.map +1 -1
  24. package/fesm2022/_pseudo-checkbox-chunk.mjs +3 -3
  25. package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -1
  26. package/fesm2022/_pseudo-checkbox-module-chunk.mjs +4 -4
  27. package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -1
  28. package/fesm2022/_public-api-chunk.mjs.map +1 -1
  29. package/fesm2022/_ripple-chunk.mjs +6 -6
  30. package/fesm2022/_ripple-chunk.mjs.map +1 -1
  31. package/fesm2022/_ripple-loader-chunk.mjs +3 -3
  32. package/fesm2022/_ripple-loader-chunk.mjs.map +1 -1
  33. package/fesm2022/_ripple-module-chunk.mjs +4 -4
  34. package/fesm2022/_ripple-module-chunk.mjs.map +1 -1
  35. package/fesm2022/_structural-styles-chunk.mjs +3 -3
  36. package/fesm2022/_structural-styles-chunk.mjs.map +1 -1
  37. package/fesm2022/_tooltip-chunk.mjs +6 -6
  38. package/fesm2022/_tooltip-chunk.mjs.map +1 -1
  39. package/fesm2022/autocomplete-testing.mjs.map +1 -1
  40. package/fesm2022/autocomplete.mjs +13 -13
  41. package/fesm2022/autocomplete.mjs.map +1 -1
  42. package/fesm2022/badge-testing.mjs.map +1 -1
  43. package/fesm2022/badge.mjs +10 -10
  44. package/fesm2022/badge.mjs.map +1 -1
  45. package/fesm2022/bottom-sheet-testing.mjs.map +1 -1
  46. package/fesm2022/bottom-sheet.mjs +10 -10
  47. package/fesm2022/bottom-sheet.mjs.map +1 -1
  48. package/fesm2022/button-testing.mjs.map +1 -1
  49. package/fesm2022/button-toggle-testing.mjs.map +1 -1
  50. package/fesm2022/button-toggle.mjs +10 -10
  51. package/fesm2022/button-toggle.mjs.map +1 -1
  52. package/fesm2022/button.mjs +13 -13
  53. package/fesm2022/button.mjs.map +1 -1
  54. package/fesm2022/card-testing.mjs.map +1 -1
  55. package/fesm2022/card.mjs +46 -46
  56. package/fesm2022/card.mjs.map +1 -1
  57. package/fesm2022/checkbox-testing.mjs.map +1 -1
  58. package/fesm2022/checkbox.mjs +7 -7
  59. package/fesm2022/checkbox.mjs.map +1 -1
  60. package/fesm2022/chips-testing.mjs.map +1 -1
  61. package/fesm2022/chips.mjs +46 -46
  62. package/fesm2022/chips.mjs.map +1 -1
  63. package/fesm2022/core-testing.mjs.map +1 -1
  64. package/fesm2022/core.mjs +12 -12
  65. package/fesm2022/core.mjs.map +1 -1
  66. package/fesm2022/datepicker-testing.mjs.map +1 -1
  67. package/fesm2022/datepicker.mjs +82 -82
  68. package/fesm2022/datepicker.mjs.map +1 -1
  69. package/fesm2022/dialog-testing.mjs.map +1 -1
  70. package/fesm2022/dialog.mjs +25 -25
  71. package/fesm2022/dialog.mjs.map +1 -1
  72. package/fesm2022/divider-testing.mjs.map +1 -1
  73. package/fesm2022/divider.mjs +7 -7
  74. package/fesm2022/divider.mjs.map +1 -1
  75. package/fesm2022/expansion-testing.mjs.map +1 -1
  76. package/fesm2022/expansion.mjs +25 -25
  77. package/fesm2022/expansion.mjs.map +1 -1
  78. package/fesm2022/form-field-testing-control.mjs.map +1 -1
  79. package/fesm2022/form-field-testing.mjs.map +1 -1
  80. package/fesm2022/form-field.mjs +4 -4
  81. package/fesm2022/form-field.mjs.map +1 -1
  82. package/fesm2022/grid-list-testing.mjs.map +1 -1
  83. package/fesm2022/grid-list.mjs +22 -22
  84. package/fesm2022/grid-list.mjs.map +1 -1
  85. package/fesm2022/icon-testing.mjs +8 -7
  86. package/fesm2022/icon-testing.mjs.map +1 -1
  87. package/fesm2022/icon.mjs +8 -7
  88. package/fesm2022/icon.mjs.map +1 -1
  89. package/fesm2022/input-testing.mjs.map +1 -1
  90. package/fesm2022/input.mjs +7 -7
  91. package/fesm2022/input.mjs.map +1 -1
  92. package/fesm2022/list-testing.mjs.map +1 -1
  93. package/fesm2022/list.mjs +49 -49
  94. package/fesm2022/list.mjs.map +1 -1
  95. package/fesm2022/material.mjs.map +1 -1
  96. package/fesm2022/menu-testing.mjs.map +1 -1
  97. package/fesm2022/menu.mjs +22 -22
  98. package/fesm2022/menu.mjs.map +1 -1
  99. package/fesm2022/paginator-testing.mjs.map +1 -1
  100. package/fesm2022/paginator.mjs +10 -10
  101. package/fesm2022/paginator.mjs.map +1 -1
  102. package/fesm2022/progress-bar-testing.mjs.map +1 -1
  103. package/fesm2022/progress-bar.mjs +7 -7
  104. package/fesm2022/progress-bar.mjs.map +1 -1
  105. package/fesm2022/progress-spinner-testing.mjs.map +1 -1
  106. package/fesm2022/progress-spinner.mjs +7 -7
  107. package/fesm2022/progress-spinner.mjs.map +1 -1
  108. package/fesm2022/radio-testing.mjs.map +1 -1
  109. package/fesm2022/radio.mjs +10 -10
  110. package/fesm2022/radio.mjs.map +1 -1
  111. package/fesm2022/select-testing.mjs.map +1 -1
  112. package/fesm2022/select.mjs +16 -16
  113. package/fesm2022/select.mjs.map +1 -1
  114. package/fesm2022/sidenav-testing.mjs.map +1 -1
  115. package/fesm2022/sidenav.mjs +22 -22
  116. package/fesm2022/sidenav.mjs.map +1 -1
  117. package/fesm2022/slide-toggle-testing.mjs.map +1 -1
  118. package/fesm2022/slide-toggle.mjs +7 -7
  119. package/fesm2022/slide-toggle.mjs.map +1 -1
  120. package/fesm2022/slider-testing.mjs.map +1 -1
  121. package/fesm2022/slider.mjs +16 -16
  122. package/fesm2022/slider.mjs.map +1 -1
  123. package/fesm2022/snack-bar-testing.mjs.map +1 -1
  124. package/fesm2022/snack-bar.mjs +22 -22
  125. package/fesm2022/snack-bar.mjs.map +1 -1
  126. package/fesm2022/sort-testing.mjs.map +1 -1
  127. package/fesm2022/sort.mjs +13 -13
  128. package/fesm2022/sort.mjs.map +1 -1
  129. package/fesm2022/stepper-testing.mjs.map +1 -1
  130. package/fesm2022/stepper.mjs +31 -31
  131. package/fesm2022/stepper.mjs.map +1 -1
  132. package/fesm2022/table-testing.mjs.map +1 -1
  133. package/fesm2022/table.mjs +55 -55
  134. package/fesm2022/table.mjs.map +1 -1
  135. package/fesm2022/tabs-testing.mjs.map +1 -1
  136. package/fesm2022/tabs.mjs +43 -43
  137. package/fesm2022/tabs.mjs.map +1 -1
  138. package/fesm2022/timepicker-testing.mjs.map +1 -1
  139. package/fesm2022/timepicker.mjs +185 -16
  140. package/fesm2022/timepicker.mjs.map +1 -1
  141. package/fesm2022/toolbar-testing.mjs.map +1 -1
  142. package/fesm2022/toolbar.mjs +10 -10
  143. package/fesm2022/toolbar.mjs.map +1 -1
  144. package/fesm2022/tooltip-testing.mjs.map +1 -1
  145. package/fesm2022/tooltip.mjs +4 -4
  146. package/fesm2022/tooltip.mjs.map +1 -1
  147. package/fesm2022/tree-testing.mjs.map +1 -1
  148. package/fesm2022/tree.mjs +25 -25
  149. package/fesm2022/tree.mjs.map +1 -1
  150. package/package.json +6 -6
  151. package/schematics/ng-add/index.js +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"timepicker-testing.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/timepicker/testing/timepicker-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/timepicker/testing/timepicker-input-harness.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/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-199a4f3c4e20/bin/src/material/timepicker/testing/timepicker-harness.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/timepicker/testing/timepicker-input-harness.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/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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"}
@@ -375,7 +375,7 @@ class MatTimepicker {
375
375
  }
376
376
  static ɵfac = i0.ɵɵngDeclareFactory({
377
377
  minVersion: "12.0.0",
378
- version: "20.2.0-next.2",
378
+ version: "21.0.0",
379
379
  ngImport: i0,
380
380
  type: MatTimepicker,
381
381
  deps: [],
@@ -383,7 +383,7 @@ class MatTimepicker {
383
383
  });
384
384
  static ɵcmp = i0.ɵɵngDeclareComponent({
385
385
  minVersion: "17.0.0",
386
- version: "20.2.0-next.2",
386
+ version: "21.0.0",
387
387
  type: MatTimepicker,
388
388
  isStandalone: true,
389
389
  selector: "mat-timepicker",
@@ -463,7 +463,7 @@ class MatTimepicker {
463
463
  }
464
464
  i0.ɵɵngDeclareClassMetadata({
465
465
  minVersion: "12.0.0",
466
- version: "20.2.0-next.2",
466
+ version: "21.0.0",
467
467
  ngImport: i0,
468
468
  type: MatTimepicker,
469
469
  decorators: [{
@@ -482,7 +482,73 @@ i0.ɵɵngDeclareClassMetadata({
482
482
  styles: ["@keyframes _mat-timepicker-enter{from{opacity:0;transform:scaleY(0.8)}to{opacity:1;transform:none}}@keyframes _mat-timepicker-exit{from{opacity:1}to{opacity:0}}mat-timepicker{display:none}.mat-timepicker-panel{width:100%;max-height:256px;transform-origin:center top;overflow:auto;padding:8px 0;box-sizing:border-box;position:relative;border-bottom-left-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small));border-bottom-right-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small));box-shadow:var(--mat-timepicker-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));background-color:var(--mat-timepicker-container-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){.mat-timepicker-panel{outline:solid 1px}}.mat-timepicker-above .mat-timepicker-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small));border-top-right-radius:var(--mat-timepicker-container-shape, var(--mat-sys-corner-extra-small))}.mat-timepicker-panel-animations-enabled{animation:_mat-timepicker-enter 120ms cubic-bezier(0, 0, 0.2, 1)}.mat-timepicker-panel-animations-enabled.mat-timepicker-panel-exit{animation:_mat-timepicker-exit 100ms linear}.mat-timepicker-input[readonly]{cursor:pointer}@media(forced-colors: active){.mat-timepicker-toggle-default-icon{color:CanvasText}}\n"]
483
483
  }]
484
484
  }],
485
- ctorParameters: () => []
485
+ ctorParameters: () => [],
486
+ propDecorators: {
487
+ _panelTemplate: [{
488
+ type: i0.ViewChild,
489
+ args: ['panelTemplate', {
490
+ isSignal: true
491
+ }]
492
+ }],
493
+ _options: [{
494
+ type: i0.ViewChildren,
495
+ args: [i0.forwardRef(() => MatOption), {
496
+ isSignal: true
497
+ }]
498
+ }],
499
+ interval: [{
500
+ type: i0.Input,
501
+ args: [{
502
+ isSignal: true,
503
+ alias: "interval",
504
+ required: false
505
+ }]
506
+ }],
507
+ options: [{
508
+ type: i0.Input,
509
+ args: [{
510
+ isSignal: true,
511
+ alias: "options",
512
+ required: false
513
+ }]
514
+ }],
515
+ selected: [{
516
+ type: i0.Output,
517
+ args: ["selected"]
518
+ }],
519
+ opened: [{
520
+ type: i0.Output,
521
+ args: ["opened"]
522
+ }],
523
+ closed: [{
524
+ type: i0.Output,
525
+ args: ["closed"]
526
+ }],
527
+ disableRipple: [{
528
+ type: i0.Input,
529
+ args: [{
530
+ isSignal: true,
531
+ alias: "disableRipple",
532
+ required: false
533
+ }]
534
+ }],
535
+ ariaLabel: [{
536
+ type: i0.Input,
537
+ args: [{
538
+ isSignal: true,
539
+ alias: "aria-label",
540
+ required: false
541
+ }]
542
+ }],
543
+ ariaLabelledby: [{
544
+ type: i0.Input,
545
+ args: [{
546
+ isSignal: true,
547
+ alias: "aria-labelledby",
548
+ required: false
549
+ }]
550
+ }]
551
+ }
486
552
  });
487
553
  function scrollOptionIntoView(option, position) {
488
554
  option._getHostElement().scrollIntoView({
@@ -761,7 +827,7 @@ class MatTimepickerInput {
761
827
  }
762
828
  static ɵfac = i0.ɵɵngDeclareFactory({
763
829
  minVersion: "12.0.0",
764
- version: "20.2.0-next.2",
830
+ version: "21.0.0",
765
831
  ngImport: i0,
766
832
  type: MatTimepickerInput,
767
833
  deps: [],
@@ -769,7 +835,7 @@ class MatTimepickerInput {
769
835
  });
770
836
  static ɵdir = i0.ɵɵngDeclareDirective({
771
837
  minVersion: "17.1.0",
772
- version: "20.2.0-next.2",
838
+ version: "21.0.0",
773
839
  type: MatTimepickerInput,
774
840
  isStandalone: true,
775
841
  selector: "input[matTimepicker]",
@@ -858,7 +924,7 @@ class MatTimepickerInput {
858
924
  }
859
925
  i0.ɵɵngDeclareClassMetadata({
860
926
  minVersion: "12.0.0",
861
- version: "20.2.0-next.2",
927
+ version: "21.0.0",
862
928
  ngImport: i0,
863
929
  type: MatTimepickerInput,
864
930
  decorators: [{
@@ -894,7 +960,60 @@ i0.ɵɵngDeclareClassMetadata({
894
960
  }]
895
961
  }]
896
962
  }],
897
- ctorParameters: () => []
963
+ ctorParameters: () => [],
964
+ propDecorators: {
965
+ value: [{
966
+ type: i0.Input,
967
+ args: [{
968
+ isSignal: true,
969
+ alias: "value",
970
+ required: false
971
+ }]
972
+ }, {
973
+ type: i0.Output,
974
+ args: ["valueChange"]
975
+ }],
976
+ timepicker: [{
977
+ type: i0.Input,
978
+ args: [{
979
+ isSignal: true,
980
+ alias: "matTimepicker",
981
+ required: true
982
+ }]
983
+ }],
984
+ min: [{
985
+ type: i0.Input,
986
+ args: [{
987
+ isSignal: true,
988
+ alias: "matTimepickerMin",
989
+ required: false
990
+ }]
991
+ }],
992
+ max: [{
993
+ type: i0.Input,
994
+ args: [{
995
+ isSignal: true,
996
+ alias: "matTimepickerMax",
997
+ required: false
998
+ }]
999
+ }],
1000
+ openOnClick: [{
1001
+ type: i0.Input,
1002
+ args: [{
1003
+ isSignal: true,
1004
+ alias: "matTimepickerOpenOnClick",
1005
+ required: false
1006
+ }]
1007
+ }],
1008
+ disabledInput: [{
1009
+ type: i0.Input,
1010
+ args: [{
1011
+ isSignal: true,
1012
+ alias: "disabled",
1013
+ required: false
1014
+ }]
1015
+ }]
1016
+ }
898
1017
  });
899
1018
 
900
1019
  class MatTimepickerToggle {
@@ -961,7 +1080,7 @@ class MatTimepickerToggle {
961
1080
  }
962
1081
  static ɵfac = i0.ɵɵngDeclareFactory({
963
1082
  minVersion: "12.0.0",
964
- version: "20.2.0-next.2",
1083
+ version: "21.0.0",
965
1084
  ngImport: i0,
966
1085
  type: MatTimepickerToggle,
967
1086
  deps: [],
@@ -969,7 +1088,7 @@ class MatTimepickerToggle {
969
1088
  });
970
1089
  static ɵcmp = i0.ɵɵngDeclareComponent({
971
1090
  minVersion: "17.1.0",
972
- version: "20.2.0-next.2",
1091
+ version: "21.0.0",
973
1092
  type: MatTimepickerToggle,
974
1093
  isStandalone: true,
975
1094
  selector: "mat-timepicker-toggle",
@@ -1041,7 +1160,7 @@ class MatTimepickerToggle {
1041
1160
  }
1042
1161
  i0.ɵɵngDeclareClassMetadata({
1043
1162
  minVersion: "12.0.0",
1044
- version: "20.2.0-next.2",
1163
+ version: "21.0.0",
1045
1164
  ngImport: i0,
1046
1165
  type: MatTimepickerToggle,
1047
1166
  decorators: [{
@@ -1059,13 +1178,63 @@ i0.ɵɵngDeclareClassMetadata({
1059
1178
  imports: [MatIconButton],
1060
1179
  template: "<button\n matIconButton\n type=\"button\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"getAriaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-expanded]=\"timepicker().isOpen()\"\n [tabIndex]=\"_isDisabled() ? -1 : tabIndex()\"\n [disabled]=\"_isDisabled()\"\n [disableRipple]=\"disableRipple()\">\n\n <ng-content select=\"[matTimepickerToggleIcon]\">\n <svg\n class=\"mat-timepicker-toggle-default-icon\"\n height=\"24px\"\n width=\"24px\"\n viewBox=\"0 -960 960 960\"\n fill=\"currentColor\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"m612-292 56-56-148-148v-184h-80v216l172 172ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-400Zm0 320q133 0 226.5-93.5T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160Z\"/>\n </svg>\n </ng-content>\n</button>\n"
1061
1180
  }]
1062
- }]
1181
+ }],
1182
+ propDecorators: {
1183
+ timepicker: [{
1184
+ type: i0.Input,
1185
+ args: [{
1186
+ isSignal: true,
1187
+ alias: "for",
1188
+ required: true
1189
+ }]
1190
+ }],
1191
+ ariaLabel: [{
1192
+ type: i0.Input,
1193
+ args: [{
1194
+ isSignal: true,
1195
+ alias: "aria-label",
1196
+ required: false
1197
+ }]
1198
+ }],
1199
+ ariaLabelledby: [{
1200
+ type: i0.Input,
1201
+ args: [{
1202
+ isSignal: true,
1203
+ alias: "aria-labelledby",
1204
+ required: false
1205
+ }]
1206
+ }],
1207
+ disabled: [{
1208
+ type: i0.Input,
1209
+ args: [{
1210
+ isSignal: true,
1211
+ alias: "disabled",
1212
+ required: false
1213
+ }]
1214
+ }],
1215
+ tabIndex: [{
1216
+ type: i0.Input,
1217
+ args: [{
1218
+ isSignal: true,
1219
+ alias: "tabIndex",
1220
+ required: false
1221
+ }]
1222
+ }],
1223
+ disableRipple: [{
1224
+ type: i0.Input,
1225
+ args: [{
1226
+ isSignal: true,
1227
+ alias: "disableRipple",
1228
+ required: false
1229
+ }]
1230
+ }]
1231
+ }
1063
1232
  });
1064
1233
 
1065
1234
  class MatTimepickerModule {
1066
1235
  static ɵfac = i0.ɵɵngDeclareFactory({
1067
1236
  minVersion: "12.0.0",
1068
- version: "20.2.0-next.2",
1237
+ version: "21.0.0",
1069
1238
  ngImport: i0,
1070
1239
  type: MatTimepickerModule,
1071
1240
  deps: [],
@@ -1073,7 +1242,7 @@ class MatTimepickerModule {
1073
1242
  });
1074
1243
  static ɵmod = i0.ɵɵngDeclareNgModule({
1075
1244
  minVersion: "14.0.0",
1076
- version: "20.2.0-next.2",
1245
+ version: "21.0.0",
1077
1246
  ngImport: i0,
1078
1247
  type: MatTimepickerModule,
1079
1248
  imports: [MatTimepicker, MatTimepickerInput, MatTimepickerToggle],
@@ -1081,7 +1250,7 @@ class MatTimepickerModule {
1081
1250
  });
1082
1251
  static ɵinj = i0.ɵɵngDeclareInjector({
1083
1252
  minVersion: "12.0.0",
1084
- version: "20.2.0-next.2",
1253
+ version: "21.0.0",
1085
1254
  ngImport: i0,
1086
1255
  type: MatTimepickerModule,
1087
1256
  imports: [MatTimepicker, MatTimepickerToggle, CdkScrollableModule]
@@ -1089,7 +1258,7 @@ class MatTimepickerModule {
1089
1258
  }
1090
1259
  i0.ɵɵngDeclareClassMetadata({
1091
1260
  minVersion: "12.0.0",
1092
- version: "20.2.0-next.2",
1261
+ version: "21.0.0",
1093
1262
  ngImport: i0,
1094
1263
  type: MatTimepickerModule,
1095
1264
  decorators: [{