@angular/material 20.0.0-next.2 → 20.0.0-next.3

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 (180) hide show
  1. package/autocomplete/index.d.ts +5 -4
  2. package/badge/index.d.ts +2 -2
  3. package/badge/testing/index.d.ts +1 -1
  4. package/{badge.d-49a8a74b.d.ts → badge.d-d42103d0.d.ts} +1 -1
  5. package/bottom-sheet/index.d.ts +1 -0
  6. package/button/index.d.ts +4 -4
  7. package/button-toggle/index.d.ts +4 -4
  8. package/button-toggle/testing/index.d.ts +1 -1
  9. package/{button-toggle.d-edc8acff.d.ts → button-toggle.d-e3ddc80f.d.ts} +1 -1
  10. package/checkbox/index.d.ts +1 -1
  11. package/chips/index.d.ts +13 -3
  12. package/core/index.d.ts +11 -6
  13. package/datepicker/index.d.ts +5 -4
  14. package/dialog/index.d.ts +2 -2
  15. package/dialog/testing/index.d.ts +1 -1
  16. package/{dialog.d-57867441.d.ts → dialog.d-4ffbd89c.d.ts} +1 -1
  17. package/fesm2022/animation-5f89c9a6.mjs +33 -0
  18. package/fesm2022/animation-5f89c9a6.mjs.map +1 -0
  19. package/fesm2022/autocomplete/testing.mjs +2 -2
  20. package/fesm2022/autocomplete.mjs +13 -10
  21. package/fesm2022/autocomplete.mjs.map +1 -1
  22. package/fesm2022/badge.mjs +5 -4
  23. package/fesm2022/badge.mjs.map +1 -1
  24. package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
  25. package/fesm2022/bottom-sheet.mjs +5 -2
  26. package/fesm2022/bottom-sheet.mjs.map +1 -1
  27. package/fesm2022/button/testing.mjs.map +1 -1
  28. package/fesm2022/button-toggle/testing.mjs.map +1 -1
  29. package/fesm2022/button-toggle.mjs +7 -6
  30. package/fesm2022/button-toggle.mjs.map +1 -1
  31. package/fesm2022/button.mjs +6 -5
  32. package/fesm2022/button.mjs.map +1 -1
  33. package/fesm2022/card/testing.mjs.map +1 -1
  34. package/fesm2022/checkbox/testing.mjs.map +1 -1
  35. package/fesm2022/checkbox.mjs +7 -6
  36. package/fesm2022/checkbox.mjs.map +1 -1
  37. package/fesm2022/chips/testing.mjs +7 -1
  38. package/fesm2022/chips/testing.mjs.map +1 -1
  39. package/fesm2022/chips.mjs +32 -16
  40. package/fesm2022/chips.mjs.map +1 -1
  41. package/fesm2022/core/testing.mjs +2 -2
  42. package/fesm2022/core.mjs +10 -31
  43. package/fesm2022/core.mjs.map +1 -1
  44. package/fesm2022/{date-range-input-harness-de70be6a.mjs → date-range-input-harness-3718a667.mjs} +1 -1
  45. package/fesm2022/date-range-input-harness-3718a667.mjs.map +1 -0
  46. package/fesm2022/datepicker/testing.mjs +2 -2
  47. package/fesm2022/datepicker/testing.mjs.map +1 -1
  48. package/fesm2022/datepicker.mjs +11 -8
  49. package/fesm2022/datepicker.mjs.map +1 -1
  50. package/fesm2022/dialog/testing.mjs +2 -1
  51. package/fesm2022/dialog/testing.mjs.map +1 -1
  52. package/fesm2022/dialog.mjs +2 -1
  53. package/fesm2022/dialog.mjs.map +1 -1
  54. package/fesm2022/expansion.mjs +3 -2
  55. package/fesm2022/expansion.mjs.map +1 -1
  56. package/fesm2022/form-field/testing.mjs +4 -4
  57. package/fesm2022/{form-field-6d755764.mjs → form-field-8a19bb72.mjs} +4 -4
  58. package/fesm2022/form-field-8a19bb72.mjs.map +1 -0
  59. package/fesm2022/form-field.mjs +3 -2
  60. package/fesm2022/form-field.mjs.map +1 -1
  61. package/fesm2022/{icon-button-0850d958.mjs → icon-button-b4a4e8c0.mjs} +7 -6
  62. package/fesm2022/icon-button-b4a4e8c0.mjs.map +1 -0
  63. package/fesm2022/{index-1763d3a6.mjs → index-26a22e6d.mjs} +4 -4
  64. package/fesm2022/{index-1763d3a6.mjs.map → index-26a22e6d.mjs.map} +1 -1
  65. package/fesm2022/{index-4bc1d6d3.mjs → index-8309af79.mjs} +2 -2
  66. package/fesm2022/{index-4bc1d6d3.mjs.map → index-8309af79.mjs.map} +1 -1
  67. package/fesm2022/input.mjs +4 -3
  68. package/fesm2022/input.mjs.map +1 -1
  69. package/fesm2022/list.mjs +7 -8
  70. package/fesm2022/list.mjs.map +1 -1
  71. package/fesm2022/menu/testing.mjs.map +1 -1
  72. package/fesm2022/menu.mjs +7 -5
  73. package/fesm2022/menu.mjs.map +1 -1
  74. package/fesm2022/{module-d757bba0.mjs → module-47679371.mjs} +2 -2
  75. package/fesm2022/{module-d757bba0.mjs.map → module-47679371.mjs.map} +1 -1
  76. package/fesm2022/{module-47e3be58.mjs → module-4a8034fc.mjs} +7 -7
  77. package/fesm2022/module-4a8034fc.mjs.map +1 -0
  78. package/fesm2022/{module-1c16a0a9.mjs → module-57e0986f.mjs} +8 -7
  79. package/fesm2022/module-57e0986f.mjs.map +1 -0
  80. package/fesm2022/{module-cf951a02.mjs → module-5a2afb59.mjs} +3 -3
  81. package/fesm2022/{module-cf951a02.mjs.map → module-5a2afb59.mjs.map} +1 -1
  82. package/fesm2022/{module-a5f9ab72.mjs → module-5f02bfe9.mjs} +10 -6
  83. package/fesm2022/module-5f02bfe9.mjs.map +1 -0
  84. package/fesm2022/{optgroup-harness-5e66b138.mjs → optgroup-harness-d5cf72ed.mjs} +2 -2
  85. package/fesm2022/optgroup-harness-d5cf72ed.mjs.map +1 -0
  86. package/fesm2022/{option-07c3c660.mjs → option-636f0562.mjs} +3 -3
  87. package/fesm2022/{option-07c3c660.mjs.map → option-636f0562.mjs.map} +1 -1
  88. package/fesm2022/{option-harness-3b7c1106.mjs → option-harness-b4971f41.mjs} +1 -1
  89. package/fesm2022/option-harness-b4971f41.mjs.map +1 -0
  90. package/fesm2022/paginator/testing.mjs +3 -3
  91. package/fesm2022/paginator/testing.mjs.map +1 -1
  92. package/fesm2022/paginator.mjs +14 -13
  93. package/fesm2022/paginator.mjs.map +1 -1
  94. package/fesm2022/progress-bar.mjs +3 -4
  95. package/fesm2022/progress-bar.mjs.map +1 -1
  96. package/fesm2022/progress-spinner.mjs +3 -4
  97. package/fesm2022/progress-spinner.mjs.map +1 -1
  98. package/fesm2022/{pseudo-checkbox-af5a4ea4.mjs → pseudo-checkbox-0115d33e.mjs} +6 -5
  99. package/fesm2022/pseudo-checkbox-0115d33e.mjs.map +1 -0
  100. package/fesm2022/{pseudo-checkbox-module-216fae38.mjs → pseudo-checkbox-module-89d964bd.mjs} +2 -2
  101. package/fesm2022/{pseudo-checkbox-module-216fae38.mjs.map → pseudo-checkbox-module-89d964bd.mjs.map} +1 -1
  102. package/fesm2022/radio/testing.mjs.map +1 -1
  103. package/fesm2022/radio.mjs +5 -6
  104. package/fesm2022/radio.mjs.map +1 -1
  105. package/fesm2022/{ripple-9939d1f5.mjs → ripple-c405b061.mjs} +5 -4
  106. package/fesm2022/{ripple-9939d1f5.mjs.map → ripple-c405b061.mjs.map} +1 -1
  107. package/fesm2022/{ripple-loader-f2078c66.mjs → ripple-loader-37620555.mjs} +10 -10
  108. package/fesm2022/ripple-loader-37620555.mjs.map +1 -0
  109. package/fesm2022/select/testing.mjs +3 -3
  110. package/fesm2022/{select-harness-69d47123.mjs → select-harness-30466074.mjs} +3 -3
  111. package/fesm2022/select-harness-30466074.mjs.map +1 -0
  112. package/fesm2022/select.mjs +10 -9
  113. package/fesm2022/select.mjs.map +1 -1
  114. package/fesm2022/sidenav/testing.mjs.map +1 -1
  115. package/fesm2022/sidenav.mjs +4 -3
  116. package/fesm2022/sidenav.mjs.map +1 -1
  117. package/fesm2022/slide-toggle/testing.mjs.map +1 -1
  118. package/fesm2022/slide-toggle.mjs +4 -5
  119. package/fesm2022/slide-toggle.mjs.map +1 -1
  120. package/fesm2022/slider/testing.mjs.map +1 -1
  121. package/fesm2022/slider.mjs +5 -6
  122. package/fesm2022/slider.mjs.map +1 -1
  123. package/fesm2022/snack-bar/testing.mjs.map +1 -1
  124. package/fesm2022/snack-bar.mjs +10 -7
  125. package/fesm2022/snack-bar.mjs.map +1 -1
  126. package/fesm2022/sort/testing.mjs.map +1 -1
  127. package/fesm2022/sort.mjs +5 -4
  128. package/fesm2022/sort.mjs.map +1 -1
  129. package/fesm2022/stepper/testing.mjs.map +1 -1
  130. package/fesm2022/stepper.mjs +7 -6
  131. package/fesm2022/stepper.mjs.map +1 -1
  132. package/fesm2022/table/testing.mjs.map +1 -1
  133. package/fesm2022/tabs/testing.mjs.map +1 -1
  134. package/fesm2022/tabs.mjs +15 -22
  135. package/fesm2022/tabs.mjs.map +1 -1
  136. package/fesm2022/timepicker/testing.mjs +1 -1
  137. package/fesm2022/timepicker/testing.mjs.map +1 -1
  138. package/fesm2022/timepicker.mjs +13 -12
  139. package/fesm2022/timepicker.mjs.map +1 -1
  140. package/fesm2022/toolbar/testing.mjs.map +1 -1
  141. package/fesm2022/tooltip/testing.mjs.map +1 -1
  142. package/fesm2022/tooltip.mjs +2 -1
  143. package/fesm2022/tooltip.mjs.map +1 -1
  144. package/fesm2022/tree/testing.mjs.map +1 -1
  145. package/{index.d-0536b706.d.ts → index.d-cc6e48d4.d.ts} +1 -1
  146. package/{index.d-37e31cd3.d.ts → index.d-d77f0821.d.ts} +2 -2
  147. package/list/index.d.ts +3 -3
  148. package/menu/index.d.ts +3 -2
  149. package/{module.d-74a721b9.d.ts → module.d-9a0cb968.d.ts} +1 -0
  150. package/{module.d-ba05faa6.d.ts → module.d-a23953f5.d.ts} +1 -1
  151. package/{module.d-792a497c.d.ts → module.d-d86ca350.d.ts} +3 -3
  152. package/package.json +2 -2
  153. package/paginator/index.d.ts +8 -8
  154. package/progress-bar/index.d.ts +0 -1
  155. package/{pseudo-checkbox-module.d-3abc0461.d.ts → pseudo-checkbox-module.d-d21de92b.d.ts} +1 -1
  156. package/radio/index.d.ts +2 -2
  157. package/{ripple-loader.d-8aac2988.d.ts → ripple-loader.d-e5ac6c14.d.ts} +1 -1
  158. package/{ripple.d-2fb57d04.d.ts → ripple.d-f2cd74cf.d.ts} +1 -1
  159. package/schematics/ng-add/index.js +1 -1
  160. package/schematics/ng-add/index.mjs +1 -1
  161. package/select/index.d.ts +5 -5
  162. package/sidenav/index.d.ts +1 -1
  163. package/slider/index.d.ts +2 -2
  164. package/snack-bar/index.d.ts +5 -4
  165. package/sort/index.d.ts +1 -1
  166. package/stepper/index.d.ts +3 -3
  167. package/tabs/index.d.ts +4 -4
  168. package/timepicker/index.d.ts +0 -1
  169. package/tooltip/index.d.ts +1 -1
  170. package/fesm2022/date-range-input-harness-de70be6a.mjs.map +0 -1
  171. package/fesm2022/form-field-6d755764.mjs.map +0 -1
  172. package/fesm2022/icon-button-0850d958.mjs.map +0 -1
  173. package/fesm2022/module-1c16a0a9.mjs.map +0 -1
  174. package/fesm2022/module-47e3be58.mjs.map +0 -1
  175. package/fesm2022/module-a5f9ab72.mjs.map +0 -1
  176. package/fesm2022/optgroup-harness-5e66b138.mjs.map +0 -1
  177. package/fesm2022/option-harness-3b7c1106.mjs.map +0 -1
  178. package/fesm2022/pseudo-checkbox-af5a4ea4.mjs.map +0 -1
  179. package/fesm2022/ripple-loader-f2078c66.mjs.map +0 -1
  180. package/fesm2022/select-harness-69d47123.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ripple-loader-37620555.mjs","sources":["../../../../../../src/material/core/private/ripple-loader.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 {DOCUMENT} from '@angular/common';\nimport {Injectable, Injector, NgZone, OnDestroy, RendererFactory2, inject} from '@angular/core';\nimport {\n MAT_RIPPLE_GLOBAL_OPTIONS,\n RippleRenderer,\n RippleTarget,\n defaultRippleAnimationConfig,\n} from '../ripple';\nimport {Platform, _bindEventWithOptions, _getEventTarget} from '@angular/cdk/platform';\nimport {_CdkPrivateStyleLoader} from '@angular/cdk/private';\nimport {_animationsDisabled} from '../animation/animation';\n\n/** The options for the MatRippleLoader's event listeners. */\nconst eventListenerOptions = {capture: true};\n\n/**\n * The events that should trigger the initialization of the ripple.\n * Note that we use `mousedown`, rather than `click`, for mouse devices because\n * we can't rely on `mouseenter` in the shadow DOM and `click` happens too late.\n */\nconst rippleInteractionEvents = ['focus', 'mousedown', 'mouseenter', 'touchstart'];\n\n/** The attribute attached to a component whose ripple has not yet been initialized. */\nconst matRippleUninitialized = 'mat-ripple-loader-uninitialized';\n\n/** Additional classes that should be added to the ripple when it is rendered. */\nconst matRippleClassName = 'mat-ripple-loader-class-name';\n\n/** Whether the ripple should be centered. */\nconst matRippleCentered = 'mat-ripple-loader-centered';\n\n/** Whether the ripple should be disabled. */\nconst matRippleDisabled = 'mat-ripple-loader-disabled';\n\n/**\n * Handles attaching ripples on demand.\n *\n * This service allows us to avoid eagerly creating & attaching MatRipples.\n * It works by creating & attaching a ripple only when a component is first interacted with.\n *\n * @docs-private\n */\n@Injectable({providedIn: 'root'})\nexport class MatRippleLoader implements OnDestroy {\n private _document = inject(DOCUMENT);\n private _animationsDisabled = _animationsDisabled();\n private _globalRippleOptions = inject(MAT_RIPPLE_GLOBAL_OPTIONS, {optional: true});\n private _platform = inject(Platform);\n private _ngZone = inject(NgZone);\n private _injector = inject(Injector);\n private _eventCleanups: (() => void)[];\n private _hosts = new Map<\n HTMLElement,\n {renderer: RippleRenderer; target: RippleTarget; hasSetUpEvents: boolean}\n >();\n\n constructor() {\n const renderer = inject(RendererFactory2).createRenderer(null, null);\n\n this._eventCleanups = this._ngZone.runOutsideAngular(() => {\n return rippleInteractionEvents.map(name =>\n _bindEventWithOptions(\n renderer,\n this._document,\n name,\n this._onInteraction,\n eventListenerOptions,\n ),\n );\n });\n }\n\n ngOnDestroy(): void {\n const hosts = this._hosts.keys();\n\n for (const host of hosts) {\n this.destroyRipple(host);\n }\n\n this._eventCleanups.forEach(cleanup => cleanup());\n }\n\n /**\n * Configures the ripple that will be rendered by the ripple loader.\n *\n * Stores the given information about how the ripple should be configured on the host\n * element so that it can later be retrived & used when the ripple is actually created.\n */\n configureRipple(\n host: HTMLElement,\n config: {\n className?: string;\n centered?: boolean;\n disabled?: boolean;\n },\n ): void {\n // Indicates that the ripple has not yet been rendered for this component.\n host.setAttribute(matRippleUninitialized, this._globalRippleOptions?.namespace ?? '');\n\n // Store the additional class name(s) that should be added to the ripple element.\n if (config.className || !host.hasAttribute(matRippleClassName)) {\n host.setAttribute(matRippleClassName, config.className || '');\n }\n\n // Store whether the ripple should be centered.\n if (config.centered) {\n host.setAttribute(matRippleCentered, '');\n }\n\n if (config.disabled) {\n host.setAttribute(matRippleDisabled, '');\n }\n }\n\n /** Sets the disabled state on the ripple instance corresponding to the given host element. */\n setDisabled(host: HTMLElement, disabled: boolean): void {\n const ripple = this._hosts.get(host);\n\n // If the ripple has already been instantiated, just disable it.\n if (ripple) {\n ripple.target.rippleDisabled = disabled;\n\n if (!disabled && !ripple.hasSetUpEvents) {\n ripple.hasSetUpEvents = true;\n ripple.renderer.setupTriggerEvents(host);\n }\n } else if (disabled) {\n // Otherwise, set an attribute so we know what the\n // disabled state should be when the ripple is initialized.\n host.setAttribute(matRippleDisabled, '');\n } else {\n host.removeAttribute(matRippleDisabled);\n }\n }\n\n /**\n * Handles creating and attaching component internals\n * when a component is initially interacted with.\n */\n private _onInteraction = (event: Event) => {\n const eventTarget = _getEventTarget(event);\n\n if (eventTarget instanceof HTMLElement) {\n // TODO(wagnermaciel): Consider batching these events to improve runtime performance.\n const element = eventTarget.closest(\n `[${matRippleUninitialized}=\"${this._globalRippleOptions?.namespace ?? ''}\"]`,\n );\n\n if (element) {\n this._createRipple(element as HTMLElement);\n }\n }\n };\n\n /** Creates a MatRipple and appends it to the given element. */\n private _createRipple(host: HTMLElement): void {\n if (!this._document || this._hosts.has(host)) {\n return;\n }\n\n // Create the ripple element.\n host.querySelector('.mat-ripple')?.remove();\n const rippleEl = this._document.createElement('span');\n rippleEl.classList.add('mat-ripple', host.getAttribute(matRippleClassName)!);\n host.append(rippleEl);\n\n const globalOptions = this._globalRippleOptions;\n const enterDuration = this._animationsDisabled\n ? 0\n : (globalOptions?.animation?.enterDuration ?? defaultRippleAnimationConfig.enterDuration);\n const exitDuration = this._animationsDisabled\n ? 0\n : (globalOptions?.animation?.exitDuration ?? defaultRippleAnimationConfig.exitDuration);\n const target: RippleTarget = {\n rippleDisabled:\n this._animationsDisabled || globalOptions?.disabled || host.hasAttribute(matRippleDisabled),\n rippleConfig: {\n centered: host.hasAttribute(matRippleCentered),\n terminateOnPointerUp: globalOptions?.terminateOnPointerUp,\n animation: {\n enterDuration,\n exitDuration,\n },\n },\n };\n\n const renderer = new RippleRenderer(\n target,\n this._ngZone,\n rippleEl,\n this._platform,\n this._injector,\n );\n const hasSetUpEvents = !target.rippleDisabled;\n\n if (hasSetUpEvents) {\n renderer.setupTriggerEvents(host);\n }\n\n this._hosts.set(host, {\n target,\n renderer,\n hasSetUpEvents,\n });\n\n host.removeAttribute(matRippleUninitialized);\n }\n\n destroyRipple(host: HTMLElement): void {\n const ripple = this._hosts.get(host);\n\n if (ripple) {\n ripple.renderer._removeTriggerEvents();\n this._hosts.delete(host);\n }\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- export { M as MatSelectHarness } from '../select-harness-69d47123.mjs';
1
+ export { M as MatSelectHarness } from '../select-harness-30466074.mjs';
2
2
  import '@angular/cdk/testing';
3
3
  import '../form-field-control-harness-efefd4cf.mjs';
4
- import '../option-harness-3b7c1106.mjs';
5
- import '../optgroup-harness-5e66b138.mjs';
4
+ import '../option-harness-b4971f41.mjs';
5
+ import '../optgroup-harness-d5cf72ed.mjs';
6
6
  //# sourceMappingURL=testing.mjs.map
@@ -1,7 +1,7 @@
1
1
  import { HarnessPredicate, parallel } from '@angular/cdk/testing';
2
2
  import { M as MatFormFieldControlHarness } from './form-field-control-harness-efefd4cf.mjs';
3
- import { M as MatOptionHarness } from './option-harness-3b7c1106.mjs';
4
- import { M as MatOptgroupHarness } from './optgroup-harness-5e66b138.mjs';
3
+ import { M as MatOptionHarness } from './option-harness-b4971f41.mjs';
4
+ import { M as MatOptgroupHarness } from './optgroup-harness-d5cf72ed.mjs';
5
5
 
6
6
  /** Harness for interacting with a mat-select in tests. */
7
7
  class MatSelectHarness extends MatFormFieldControlHarness {
@@ -120,4 +120,4 @@ class MatSelectHarness extends MatFormFieldControlHarness {
120
120
  }
121
121
 
122
122
  export { MatSelectHarness as M };
123
- //# sourceMappingURL=select-harness-69d47123.mjs.map
123
+ //# sourceMappingURL=select-harness-30466074.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-harness-30466074.mjs","sources":["../../../../../k8-fastbuild-ST-70f2edae98f4/bin/src/material/select/testing/select-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 {ComponentHarnessConstructor, HarnessPredicate, parallel} from '@angular/cdk/testing';\nimport {\n MatOptionHarness,\n MatOptgroupHarness,\n OptionHarnessFilters,\n OptgroupHarnessFilters,\n} from '../../core/testing';\nimport {MatFormFieldControlHarness} from '../../form-field/testing/control';\nimport {SelectHarnessFilters} from './select-harness-filters';\n\n/** Harness for interacting with a mat-select in tests. */\nexport class MatSelectHarness extends MatFormFieldControlHarness {\n static hostSelector = '.mat-mdc-select';\n private _prefix = 'mat-mdc';\n private _optionClass = MatOptionHarness;\n private _optionGroupClass = MatOptgroupHarness;\n private _documentRootLocator = this.documentRootLocatorFactory();\n private _backdrop = this._documentRootLocator.locatorFor('.cdk-overlay-backdrop');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a select with specific attributes.\n * @param options Options for filtering which select instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatSelectHarness>(\n this: ComponentHarnessConstructor<T>,\n options: SelectHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options).addOption(\n 'disabled',\n options.disabled,\n async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n },\n );\n }\n\n /** Gets a boolean promise indicating if the select is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await this.host()).hasClass(`${this._prefix}-select-disabled`);\n }\n\n /** Gets a boolean promise indicating if the select is valid. */\n async isValid(): Promise<boolean> {\n return !(await (await this.host()).hasClass('ng-invalid'));\n }\n\n /** Gets a boolean promise indicating if the select is required. */\n async isRequired(): Promise<boolean> {\n return (await this.host()).hasClass(`${this._prefix}-select-required`);\n }\n\n /** Gets a boolean promise indicating if the select is empty (no value is selected). */\n async isEmpty(): Promise<boolean> {\n return (await this.host()).hasClass(`${this._prefix}-select-empty`);\n }\n\n /** Gets a boolean promise indicating if the select is in multi-selection mode. */\n async isMultiple(): Promise<boolean> {\n return (await this.host()).hasClass(`${this._prefix}-select-multiple`);\n }\n\n /** Gets a promise for the select's value text. */\n async getValueText(): Promise<string> {\n const value = await this.locatorFor(`.${this._prefix}-select-value`)();\n return value.text();\n }\n\n /** Focuses the select and returns a void promise that indicates when the action is complete. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Blurs the select and returns a void promise that indicates when the action is complete. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the select is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Gets the options inside the select panel. */\n async getOptions(filter?: Omit<OptionHarnessFilters, 'ancestor'>): Promise<MatOptionHarness[]> {\n return this._documentRootLocator.locatorForAll(\n this._optionClass.with({\n ...(filter || {}),\n ancestor: await this._getPanelSelector(),\n } as OptionHarnessFilters),\n )();\n }\n\n /** Gets the groups of options inside the panel. */\n async getOptionGroups(\n filter?: Omit<OptgroupHarnessFilters, 'ancestor'>,\n ): Promise<MatOptgroupHarness[]> {\n return this._documentRootLocator.locatorForAll(\n this._optionGroupClass.with({\n ...(filter || {}),\n ancestor: await this._getPanelSelector(),\n } as OptgroupHarnessFilters),\n )() as Promise<MatOptgroupHarness[]>;\n }\n\n /** Gets whether the select is open. */\n async isOpen(): Promise<boolean> {\n return !!(await this._documentRootLocator.locatorForOptional(await this._getPanelSelector())());\n }\n\n /** Opens the select's panel. */\n async open(): Promise<void> {\n if (!(await this.isOpen())) {\n const trigger = await this.locatorFor(`.${this._prefix}-select-trigger`)();\n return trigger.click();\n }\n }\n\n /**\n * Clicks the options that match the passed-in filter. If the select is in multi-selection\n * mode all options will be clicked, otherwise the harness will pick the first matching option.\n */\n async clickOptions(filter?: OptionHarnessFilters): Promise<void> {\n await this.open();\n\n const [isMultiple, options] = await parallel(() => [\n this.isMultiple(),\n this.getOptions(filter),\n ]);\n\n if (options.length === 0) {\n throw Error('Select does not have options matching the specified filter');\n }\n\n if (isMultiple) {\n await parallel(() => options.map(option => option.click()));\n } else {\n await options[0].click();\n }\n }\n\n /** Closes the select's panel. */\n async close(): Promise<void> {\n if (await this.isOpen()) {\n // This is the most consistent way that works both in both single and multi-select modes,\n // but it assumes that only one overlay is open at a time. We should be able to make it\n // a bit more precise after #16645 where we can dispatch an ESCAPE press to the host instead.\n return (await this._backdrop()).click();\n }\n }\n\n /** Gets the selector that should be used to find this select's panel. */\n private async _getPanelSelector(): Promise<string> {\n const id = await (await this.host()).getAttribute('id');\n return `#${id}-panel`;\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,15 +1,16 @@
1
- export { e as MatOptgroup, a as MatOption } from './option-07c3c660.mjs';
2
- export { d as MatError, k as MatFormField, e as MatHint, b as MatLabel, g as MatPrefix, i as MatSuffix } from './form-field-6d755764.mjs';
3
- export { d as MAT_SELECT_CONFIG, b as MAT_SELECT_SCROLL_STRATEGY, e as MAT_SELECT_SCROLL_STRATEGY_PROVIDER, c as MAT_SELECT_SCROLL_STRATEGY_PROVIDER_FACTORY, f as MAT_SELECT_TRIGGER, M as MatSelect, g as MatSelectChange, a as MatSelectModule, h as MatSelectTrigger } from './module-1c16a0a9.mjs';
1
+ export { e as MatOptgroup, a as MatOption } from './option-636f0562.mjs';
2
+ export { d as MatError, k as MatFormField, e as MatHint, b as MatLabel, g as MatPrefix, i as MatSuffix } from './form-field-8a19bb72.mjs';
3
+ export { d as MAT_SELECT_CONFIG, b as MAT_SELECT_SCROLL_STRATEGY, e as MAT_SELECT_SCROLL_STRATEGY_PROVIDER, c as MAT_SELECT_SCROLL_STRATEGY_PROVIDER_FACTORY, f as MAT_SELECT_TRIGGER, M as MatSelect, g as MatSelectChange, a as MatSelectModule, h as MatSelectTrigger } from './module-57e0986f.mjs';
4
4
  import '@angular/cdk/a11y';
5
5
  import '@angular/cdk/keycodes';
6
6
  import '@angular/core';
7
7
  import 'rxjs';
8
- import './ripple-9939d1f5.mjs';
8
+ import './ripple-c405b061.mjs';
9
9
  import '@angular/cdk/platform';
10
10
  import '@angular/cdk/coercion';
11
11
  import '@angular/cdk/private';
12
- import './pseudo-checkbox-af5a4ea4.mjs';
12
+ import './animation-5f89c9a6.mjs';
13
+ import './pseudo-checkbox-0115d33e.mjs';
13
14
  import './structural-styles-d5ada3b3.mjs';
14
15
  import '@angular/cdk/bidi';
15
16
  import '@angular/common';
@@ -21,11 +22,11 @@ import '@angular/cdk/collections';
21
22
  import '@angular/forms';
22
23
  import './error-options-4a00765e.mjs';
23
24
  import './error-state-8f4ce1af.mjs';
24
- import './index-1763d3a6.mjs';
25
- import './index-4bc1d6d3.mjs';
25
+ import './index-26a22e6d.mjs';
26
+ import './index-8309af79.mjs';
26
27
  import './common-module-2d64df09.mjs';
27
- import './pseudo-checkbox-module-216fae38.mjs';
28
- import './module-d757bba0.mjs';
28
+ import './pseudo-checkbox-module-89d964bd.mjs';
29
+ import './module-47679371.mjs';
29
30
  import '@angular/cdk/observers';
30
31
 
31
32
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"select.mjs","sources":["../../../../../../src/material/select/select-animations.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\n/**\n * The following are all the animations for the mat-select component, with each\n * const containing the metadata for one animation.\n *\n * The values below match the implementation of the AngularJS Material mat-select animation.\n * @docs-private\n * @deprecated No longer used, will be removed.\n * @breaking-change 21.0.0\n */\nexport const matSelectAnimations: {\n readonly transformPanel: any;\n} = {\n // Represents\n // trigger('transformPanel', [\n // state(\n // 'void',\n // style({\n // opacity: 0,\n // transform: 'scale(1, 0.8)',\n // }),\n // ),\n // transition(\n // 'void => showing',\n // animate(\n // '120ms cubic-bezier(0, 0, 0.2, 1)',\n // style({\n // opacity: 1,\n // transform: 'scale(1, 1)',\n // }),\n // ),\n // ),\n // transition('* => void', animate('100ms linear', style({opacity: 0}))),\n // ])\n\n /** This animation transforms the select's overlay panel on and off the page. */\n transformPanel: {\n type: 7,\n name: 'transformPanel',\n definitions: [\n {\n type: 0,\n name: 'void',\n styles: {\n type: 6,\n styles: {opacity: 0, transform: 'scale(1, 0.8)'},\n offset: null,\n },\n },\n {\n type: 1,\n expr: 'void => showing',\n animation: {\n type: 4,\n styles: {\n type: 6,\n styles: {opacity: 1, transform: 'scale(1, 1)'},\n offset: null,\n },\n timings: '120ms cubic-bezier(0, 0, 0.2, 1)',\n },\n options: null,\n },\n {\n type: 1,\n expr: '* => void',\n animation: {\n type: 4,\n styles: {type: 6, styles: {opacity: 0}, offset: null},\n timings: '100ms linear',\n },\n options: null,\n },\n ],\n options: {},\n },\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA;;;;;;;;AAQG;AACU,MAAA,mBAAmB,GAE5B;;;;;;;;;;;;;;;;;;;;;;;AAwBF,IAAA,cAAc,EAAE;AACd,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,IAAI,EAAE,gBAAgB;AACtB,QAAA,WAAW,EAAE;AACX,YAAA;AACE,gBAAA,IAAI,EAAE,CAAC;AACP,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,MAAM,EAAE;AACN,oBAAA,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,EAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAC;AAChD,oBAAA,MAAM,EAAE,IAAI;AACb,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,CAAC;AACP,gBAAA,IAAI,EAAE,iBAAiB;AACvB,gBAAA,SAAS,EAAE;AACT,oBAAA,IAAI,EAAE,CAAC;AACP,oBAAA,MAAM,EAAE;AACN,wBAAA,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,EAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAC;AAC9C,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE,kCAAkC;AAC5C,iBAAA;AACD,gBAAA,OAAO,EAAE,IAAI;AACd,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,CAAC;AACP,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,SAAS,EAAE;AACT,oBAAA,IAAI,EAAE,CAAC;AACP,oBAAA,MAAM,EAAE,EAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAC,OAAO,EAAE,CAAC,EAAC,EAAE,MAAM,EAAE,IAAI,EAAC;AACrD,oBAAA,OAAO,EAAE,cAAc;AACxB,iBAAA;AACD,gBAAA,OAAO,EAAE,IAAI;AACd,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE,EAAE;AACZ,KAAA;;;;;"}
1
+ {"version":3,"file":"select.mjs","sources":["../../../../../../src/material/select/select-animations.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\n/**\n * The following are all the animations for the mat-select component, with each\n * const containing the metadata for one animation.\n *\n * The values below match the implementation of the AngularJS Material mat-select animation.\n * @docs-private\n * @deprecated No longer used, will be removed.\n * @breaking-change 21.0.0\n */\nexport const matSelectAnimations: {\n readonly transformPanel: any;\n} = {\n // Represents\n // trigger('transformPanel', [\n // state(\n // 'void',\n // style({\n // opacity: 0,\n // transform: 'scale(1, 0.8)',\n // }),\n // ),\n // transition(\n // 'void => showing',\n // animate(\n // '120ms cubic-bezier(0, 0, 0.2, 1)',\n // style({\n // opacity: 1,\n // transform: 'scale(1, 1)',\n // }),\n // ),\n // ),\n // transition('* => void', animate('100ms linear', style({opacity: 0}))),\n // ])\n\n /** This animation transforms the select's overlay panel on and off the page. */\n transformPanel: {\n type: 7,\n name: 'transformPanel',\n definitions: [\n {\n type: 0,\n name: 'void',\n styles: {\n type: 6,\n styles: {opacity: 0, transform: 'scale(1, 0.8)'},\n offset: null,\n },\n },\n {\n type: 1,\n expr: 'void => showing',\n animation: {\n type: 4,\n styles: {\n type: 6,\n styles: {opacity: 1, transform: 'scale(1, 1)'},\n offset: null,\n },\n timings: '120ms cubic-bezier(0, 0, 0.2, 1)',\n },\n options: null,\n },\n {\n type: 1,\n expr: '* => void',\n animation: {\n type: 4,\n styles: {type: 6, styles: {opacity: 0}, offset: null},\n timings: '100ms linear',\n },\n options: null,\n },\n ],\n options: {},\n },\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA;;;;;;;;AAQG;AACU,MAAA,mBAAmB,GAE5B;;;;;;;;;;;;;;;;;;;;;;;AAwBF,IAAA,cAAc,EAAE;AACd,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,IAAI,EAAE,gBAAgB;AACtB,QAAA,WAAW,EAAE;AACX,YAAA;AACE,gBAAA,IAAI,EAAE,CAAC;AACP,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,MAAM,EAAE;AACN,oBAAA,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,EAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAC;AAChD,oBAAA,MAAM,EAAE,IAAI;AACb,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,CAAC;AACP,gBAAA,IAAI,EAAE,iBAAiB;AACvB,gBAAA,SAAS,EAAE;AACT,oBAAA,IAAI,EAAE,CAAC;AACP,oBAAA,MAAM,EAAE;AACN,wBAAA,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,EAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAC;AAC9C,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE,kCAAkC;AAC5C,iBAAA;AACD,gBAAA,OAAO,EAAE,IAAI;AACd,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,CAAC;AACP,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,SAAS,EAAE;AACT,oBAAA,IAAI,EAAE,CAAC;AACP,oBAAA,MAAM,EAAE,EAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAC,OAAO,EAAE,CAAC,EAAC,EAAE,MAAM,EAAE,IAAI,EAAC;AACrD,oBAAA,OAAO,EAAE,cAAc;AACxB,iBAAA;AACD,gBAAA,OAAO,EAAE,IAAI;AACd,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE,EAAE;AACZ,KAAA;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"testing.mjs","sources":["../../../../../../../src/material/sidenav/testing/drawer-harness.ts","../../../../../../../src/material/sidenav/testing/drawer-content-harness.ts","../../../../../../../src/material/sidenav/testing/drawer-container-harness.ts","../../../../../../../src/material/sidenav/testing/sidenav-content-harness.ts","../../../../../../../src/material/sidenav/testing/sidenav-harness.ts","../../../../../../../src/material/sidenav/testing/sidenav-container-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 {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerHarnessFilters} from './drawer-harness-filters';\n\n/**\n * Base class for the drawer harness functionality.\n * @docs-private\n */\nexport class MatDrawerHarnessBase extends ContentContainerComponentHarness<string> {\n /** Whether the drawer is open. */\n async isOpen(): Promise<boolean> {\n return (await this.host()).hasClass('mat-drawer-opened');\n }\n\n /** Gets the position of the drawer inside its container. */\n async getPosition(): Promise<'start' | 'end'> {\n const host = await this.host();\n return (await host.hasClass('mat-drawer-end')) ? 'end' : 'start';\n }\n\n /** Gets the mode that the drawer is in. */\n async getMode(): Promise<'over' | 'push' | 'side'> {\n const host = await this.host();\n\n if (await host.hasClass('mat-drawer-push')) {\n return 'push';\n }\n\n if (await host.hasClass('mat-drawer-side')) {\n return 'side';\n }\n\n return 'over';\n }\n}\n\n/** Harness for interacting with a standard mat-drawer in tests. */\nexport class MatDrawerHarness extends MatDrawerHarnessBase {\n /** The selector for the host element of a `MatDrawer` instance. */\n static hostSelector = '.mat-drawer';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDrawerHarness` that meets\n * certain criteria.\n * @param options Options for filtering which drawer instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DrawerHarnessFilters = {}): HarnessPredicate<MatDrawerHarness> {\n return new HarnessPredicate(MatDrawerHarness, options).addOption(\n 'position',\n options.position,\n async (harness, position) => (await harness.getPosition()) === position,\n );\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 {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerContentHarnessFilters} from './drawer-harness-filters';\n\n/** Harness for interacting with a standard mat-drawer-content in tests. */\nexport class MatDrawerContentHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `MatDrawerContent` instance. */\n static hostSelector = '.mat-drawer-content';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDrawerContentHarness` that\n * meets certain criteria.\n * @param options Options for filtering which drawer content instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: DrawerContentHarnessFilters = {},\n ): HarnessPredicate<MatDrawerContentHarness> {\n return new HarnessPredicate(MatDrawerContentHarness, options);\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 {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerContainerHarnessFilters, DrawerHarnessFilters} from './drawer-harness-filters';\nimport {MatDrawerContentHarness} from './drawer-content-harness';\nimport {MatDrawerHarness} from './drawer-harness';\n\n/** Harness for interacting with a standard mat-drawer-container in tests. */\nexport class MatDrawerContainerHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `MatDrawerContainer` instance. */\n static hostSelector = '.mat-drawer-container';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDrawerContainerHarness` that\n * meets certain criteria.\n * @param options Options for filtering which container instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: DrawerContainerHarnessFilters = {},\n ): HarnessPredicate<MatDrawerContainerHarness> {\n return new HarnessPredicate(MatDrawerContainerHarness, options);\n }\n\n /**\n * Gets drawers that match particular criteria within the container.\n * @param filter Optionally filters which chips are included.\n */\n async getDrawers(filter: DrawerHarnessFilters = {}): Promise<MatDrawerHarness[]> {\n return this.locatorForAll(MatDrawerHarness.with(filter))();\n }\n\n /** Gets the element that has the container's content. */\n async getContent(): Promise<MatDrawerContentHarness> {\n return this.locatorFor(MatDrawerContentHarness)();\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 {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerContentHarnessFilters} from './drawer-harness-filters';\n\n/** Harness for interacting with a standard mat-sidenav-content in tests. */\nexport class MatSidenavContentHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `MatSidenavContent` instance. */\n static hostSelector = '.mat-sidenav-content';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSidenavContentHarness` that\n * meets certain criteria.\n * @param options Options for filtering which sidenav content instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: DrawerContentHarnessFilters = {},\n ): HarnessPredicate<MatSidenavContentHarness> {\n return new HarnessPredicate(MatSidenavContentHarness, options);\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 {HarnessPredicate} from '@angular/cdk/testing';\nimport {MatDrawerHarnessBase} from './drawer-harness';\nimport {DrawerHarnessFilters} from './drawer-harness-filters';\n\n/** Harness for interacting with a standard mat-sidenav in tests. */\nexport class MatSidenavHarness extends MatDrawerHarnessBase {\n /** The selector for the host element of a `MatSidenav` instance. */\n static hostSelector = '.mat-sidenav';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSidenavHarness` that meets\n * certain criteria.\n * @param options Options for filtering which sidenav instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DrawerHarnessFilters = {}): HarnessPredicate<MatSidenavHarness> {\n return new HarnessPredicate(MatSidenavHarness, options).addOption(\n 'position',\n options.position,\n async (harness, position) => (await harness.getPosition()) === position,\n );\n }\n\n /** Whether the sidenav is fixed in the viewport. */\n async isFixedInViewport(): Promise<boolean> {\n return (await this.host()).hasClass('mat-sidenav-fixed');\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 {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerContainerHarnessFilters, DrawerHarnessFilters} from './drawer-harness-filters';\nimport {MatSidenavContentHarness} from './sidenav-content-harness';\nimport {MatSidenavHarness} from './sidenav-harness';\n\n/** Harness for interacting with a standard mat-sidenav-container in tests. */\nexport class MatSidenavContainerHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `MatSidenavContainer` instance. */\n static hostSelector = '.mat-sidenav-container';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSidenavContainerHarness` that\n * meets certain criteria.\n * @param options Options for filtering which container instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: DrawerContainerHarnessFilters = {},\n ): HarnessPredicate<MatSidenavContainerHarness> {\n return new HarnessPredicate(MatSidenavContainerHarness, options);\n }\n\n /**\n * Gets sidenavs that match particular criteria within the container.\n * @param filter Optionally filters which chips are included.\n */\n async getSidenavs(filter: DrawerHarnessFilters = {}): Promise<MatSidenavHarness[]> {\n return this.locatorForAll(MatSidenavHarness.with(filter))();\n }\n\n /** Gets the element that has the container's content. */\n async getContent(): Promise<MatSidenavContentHarness> {\n return this.locatorFor(MatSidenavContentHarness)();\n }\n}\n"],"names":[],"mappings":";;AAWA;;;AAGG;AACG,MAAO,oBAAqB,SAAQ,gCAAwC,CAAA;;AAEhF,IAAA,MAAM,MAAM,GAAA;AACV,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAA;KAC1D;;AAGA,IAAA,MAAM,WAAW,GAAA;AACf,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;AAC9B,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,KAAK,GAAG,OAAO,CAAA;KAClE;;AAGA,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAE9B,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;AAC1C,YAAA,OAAO,MAAM,CAAA;SACf;QAEA,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;AAC1C,YAAA,OAAO,MAAM,CAAA;SACf;AAEA,QAAA,OAAO,MAAM,CAAA;KACf;AACD,CAAA;AAED;AACM,MAAO,gBAAiB,SAAQ,oBAAoB,CAAA;;AAExD,IAAA,OAAO,YAAY,GAAG,aAAa,CAAA;AAEnC;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAAC,OAAA,GAAgC,EAAE,EAAA;AAC5C,QAAA,OAAO,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,CAC9D,UAAU,EACV,OAAO,CAAC,QAAQ,EAChB,OAAO,OAAO,EAAE,QAAQ,KAAK,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,MAAM,QAAQ,CACxE,CAAA;KACH;;;ACjDF;AACM,MAAO,uBAAwB,SAAQ,gCAAwC,CAAA;;AAEnF,IAAA,OAAO,YAAY,GAAG,qBAAqB,CAAA;AAE3C;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CACT,OAAA,GAAuC,EAAE,EAAA;AAEzC,QAAA,OAAO,IAAI,gBAAgB,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAA;KAC/D;;;ACbF;AACM,MAAO,yBAA0B,SAAQ,gCAAwC,CAAA;;AAErF,IAAA,OAAO,YAAY,GAAG,uBAAuB,CAAA;AAE7C;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CACT,OAAA,GAAyC,EAAE,EAAA;AAE3C,QAAA,OAAO,IAAI,gBAAgB,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAA;KACjE;AAEA;;;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,CAAA;KAC5D;;AAGA,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAA;KACnD;;;AC9BF;AACM,MAAO,wBAAyB,SAAQ,gCAAwC,CAAA;;AAEpF,IAAA,OAAO,YAAY,GAAG,sBAAsB,CAAA;AAE5C;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CACT,OAAA,GAAuC,EAAE,EAAA;AAEzC,QAAA,OAAO,IAAI,gBAAgB,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAA;KAChE;;;ACdF;AACM,MAAO,iBAAkB,SAAQ,oBAAoB,CAAA;;AAEzD,IAAA,OAAO,YAAY,GAAG,cAAc,CAAA;AAEpC;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAAC,OAAA,GAAgC,EAAE,EAAA;AAC5C,QAAA,OAAO,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,CAC/D,UAAU,EACV,OAAO,CAAC,QAAQ,EAChB,OAAO,OAAO,EAAE,QAAQ,KAAK,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,MAAM,QAAQ,CACxE,CAAA;KACH;;AAGA,IAAA,MAAM,iBAAiB,GAAA;AACrB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAA;KAC1D;;;ACrBF;AACM,MAAO,0BAA2B,SAAQ,gCAAwC,CAAA;;AAEtF,IAAA,OAAO,YAAY,GAAG,wBAAwB,CAAA;AAE9C;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CACT,OAAA,GAAyC,EAAE,EAAA;AAE3C,QAAA,OAAO,IAAI,gBAAgB,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAA;KAClE;AAEA;;;AAGG;AACH,IAAA,MAAM,WAAW,CAAC,MAAA,GAA+B,EAAE,EAAA;AACjD,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;KAC7D;;AAGA,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAA;KACpD;;;;;"}
1
+ {"version":3,"file":"testing.mjs","sources":["../../../../../../k8-fastbuild-ST-70f2edae98f4/bin/src/material/sidenav/testing/drawer-harness.ts","../../../../../../k8-fastbuild-ST-70f2edae98f4/bin/src/material/sidenav/testing/drawer-content-harness.ts","../../../../../../k8-fastbuild-ST-70f2edae98f4/bin/src/material/sidenav/testing/drawer-container-harness.ts","../../../../../../k8-fastbuild-ST-70f2edae98f4/bin/src/material/sidenav/testing/sidenav-content-harness.ts","../../../../../../k8-fastbuild-ST-70f2edae98f4/bin/src/material/sidenav/testing/sidenav-harness.ts","../../../../../../k8-fastbuild-ST-70f2edae98f4/bin/src/material/sidenav/testing/sidenav-container-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 {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerHarnessFilters} from './drawer-harness-filters';\n\n/**\n * Base class for the drawer harness functionality.\n * @docs-private\n */\nexport class MatDrawerHarnessBase extends ContentContainerComponentHarness<string> {\n /** Whether the drawer is open. */\n async isOpen(): Promise<boolean> {\n return (await this.host()).hasClass('mat-drawer-opened');\n }\n\n /** Gets the position of the drawer inside its container. */\n async getPosition(): Promise<'start' | 'end'> {\n const host = await this.host();\n return (await host.hasClass('mat-drawer-end')) ? 'end' : 'start';\n }\n\n /** Gets the mode that the drawer is in. */\n async getMode(): Promise<'over' | 'push' | 'side'> {\n const host = await this.host();\n\n if (await host.hasClass('mat-drawer-push')) {\n return 'push';\n }\n\n if (await host.hasClass('mat-drawer-side')) {\n return 'side';\n }\n\n return 'over';\n }\n}\n\n/** Harness for interacting with a standard mat-drawer in tests. */\nexport class MatDrawerHarness extends MatDrawerHarnessBase {\n /** The selector for the host element of a `MatDrawer` instance. */\n static hostSelector = '.mat-drawer';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDrawerHarness` that meets\n * certain criteria.\n * @param options Options for filtering which drawer instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DrawerHarnessFilters = {}): HarnessPredicate<MatDrawerHarness> {\n return new HarnessPredicate(MatDrawerHarness, options).addOption(\n 'position',\n options.position,\n async (harness, position) => (await harness.getPosition()) === position,\n );\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 {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerContentHarnessFilters} from './drawer-harness-filters';\n\n/** Harness for interacting with a standard mat-drawer-content in tests. */\nexport class MatDrawerContentHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `MatDrawerContent` instance. */\n static hostSelector = '.mat-drawer-content';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDrawerContentHarness` that\n * meets certain criteria.\n * @param options Options for filtering which drawer content instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: DrawerContentHarnessFilters = {},\n ): HarnessPredicate<MatDrawerContentHarness> {\n return new HarnessPredicate(MatDrawerContentHarness, options);\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 {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerContainerHarnessFilters, DrawerHarnessFilters} from './drawer-harness-filters';\nimport {MatDrawerContentHarness} from './drawer-content-harness';\nimport {MatDrawerHarness} from './drawer-harness';\n\n/** Harness for interacting with a standard mat-drawer-container in tests. */\nexport class MatDrawerContainerHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `MatDrawerContainer` instance. */\n static hostSelector = '.mat-drawer-container';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDrawerContainerHarness` that\n * meets certain criteria.\n * @param options Options for filtering which container instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: DrawerContainerHarnessFilters = {},\n ): HarnessPredicate<MatDrawerContainerHarness> {\n return new HarnessPredicate(MatDrawerContainerHarness, options);\n }\n\n /**\n * Gets drawers that match particular criteria within the container.\n * @param filter Optionally filters which chips are included.\n */\n async getDrawers(filter: DrawerHarnessFilters = {}): Promise<MatDrawerHarness[]> {\n return this.locatorForAll(MatDrawerHarness.with(filter))();\n }\n\n /** Gets the element that has the container's content. */\n async getContent(): Promise<MatDrawerContentHarness> {\n return this.locatorFor(MatDrawerContentHarness)();\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 {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerContentHarnessFilters} from './drawer-harness-filters';\n\n/** Harness for interacting with a standard mat-sidenav-content in tests. */\nexport class MatSidenavContentHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `MatSidenavContent` instance. */\n static hostSelector = '.mat-sidenav-content';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSidenavContentHarness` that\n * meets certain criteria.\n * @param options Options for filtering which sidenav content instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: DrawerContentHarnessFilters = {},\n ): HarnessPredicate<MatSidenavContentHarness> {\n return new HarnessPredicate(MatSidenavContentHarness, options);\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 {HarnessPredicate} from '@angular/cdk/testing';\nimport {MatDrawerHarnessBase} from './drawer-harness';\nimport {DrawerHarnessFilters} from './drawer-harness-filters';\n\n/** Harness for interacting with a standard mat-sidenav in tests. */\nexport class MatSidenavHarness extends MatDrawerHarnessBase {\n /** The selector for the host element of a `MatSidenav` instance. */\n static hostSelector = '.mat-sidenav';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSidenavHarness` that meets\n * certain criteria.\n * @param options Options for filtering which sidenav instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DrawerHarnessFilters = {}): HarnessPredicate<MatSidenavHarness> {\n return new HarnessPredicate(MatSidenavHarness, options).addOption(\n 'position',\n options.position,\n async (harness, position) => (await harness.getPosition()) === position,\n );\n }\n\n /** Whether the sidenav is fixed in the viewport. */\n async isFixedInViewport(): Promise<boolean> {\n return (await this.host()).hasClass('mat-sidenav-fixed');\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 {ContentContainerComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {DrawerContainerHarnessFilters, DrawerHarnessFilters} from './drawer-harness-filters';\nimport {MatSidenavContentHarness} from './sidenav-content-harness';\nimport {MatSidenavHarness} from './sidenav-harness';\n\n/** Harness for interacting with a standard mat-sidenav-container in tests. */\nexport class MatSidenavContainerHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `MatSidenavContainer` instance. */\n static hostSelector = '.mat-sidenav-container';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatSidenavContainerHarness` that\n * meets certain criteria.\n * @param options Options for filtering which container instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(\n options: DrawerContainerHarnessFilters = {},\n ): HarnessPredicate<MatSidenavContainerHarness> {\n return new HarnessPredicate(MatSidenavContainerHarness, options);\n }\n\n /**\n * Gets sidenavs that match particular criteria within the container.\n * @param filter Optionally filters which chips are included.\n */\n async getSidenavs(filter: DrawerHarnessFilters = {}): Promise<MatSidenavHarness[]> {\n return this.locatorForAll(MatSidenavHarness.with(filter))();\n }\n\n /** Gets the element that has the container's content. */\n async getContent(): Promise<MatSidenavContentHarness> {\n return this.locatorFor(MatSidenavContentHarness)();\n }\n}\n"],"names":[],"mappings":";;AAWA;;;AAGG;AACG,MAAO,oBAAqB,SAAQ,gCAAwC,CAAA;;AAEhF,IAAA,MAAM,MAAM,GAAA;AACV,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAA;KAC1D;;AAGA,IAAA,MAAM,WAAW,GAAA;AACf,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;AAC9B,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,KAAK,GAAG,OAAO,CAAA;KAClE;;AAGA,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAE9B,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;AAC1C,YAAA,OAAO,MAAM,CAAA;SACf;QAEA,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;AAC1C,YAAA,OAAO,MAAM,CAAA;SACf;AAEA,QAAA,OAAO,MAAM,CAAA;KACf;AACD,CAAA;AAED;AACM,MAAO,gBAAiB,SAAQ,oBAAoB,CAAA;;AAExD,IAAA,OAAO,YAAY,GAAG,aAAa,CAAA;AAEnC;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAAC,OAAA,GAAgC,EAAE,EAAA;AAC5C,QAAA,OAAO,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,CAC9D,UAAU,EACV,OAAO,CAAC,QAAQ,EAChB,OAAO,OAAO,EAAE,QAAQ,KAAK,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,MAAM,QAAQ,CACxE,CAAA;KACH;;;ACjDF;AACM,MAAO,uBAAwB,SAAQ,gCAAwC,CAAA;;AAEnF,IAAA,OAAO,YAAY,GAAG,qBAAqB,CAAA;AAE3C;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CACT,OAAA,GAAuC,EAAE,EAAA;AAEzC,QAAA,OAAO,IAAI,gBAAgB,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAA;KAC/D;;;ACbF;AACM,MAAO,yBAA0B,SAAQ,gCAAwC,CAAA;;AAErF,IAAA,OAAO,YAAY,GAAG,uBAAuB,CAAA;AAE7C;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CACT,OAAA,GAAyC,EAAE,EAAA;AAE3C,QAAA,OAAO,IAAI,gBAAgB,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAA;KACjE;AAEA;;;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,CAAA;KAC5D;;AAGA,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAA;KACnD;;;AC9BF;AACM,MAAO,wBAAyB,SAAQ,gCAAwC,CAAA;;AAEpF,IAAA,OAAO,YAAY,GAAG,sBAAsB,CAAA;AAE5C;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CACT,OAAA,GAAuC,EAAE,EAAA;AAEzC,QAAA,OAAO,IAAI,gBAAgB,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAA;KAChE;;;ACdF;AACM,MAAO,iBAAkB,SAAQ,oBAAoB,CAAA;;AAEzD,IAAA,OAAO,YAAY,GAAG,cAAc,CAAA;AAEpC;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAAC,OAAA,GAAgC,EAAE,EAAA;AAC5C,QAAA,OAAO,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,CAC/D,UAAU,EACV,OAAO,CAAC,QAAQ,EAChB,OAAO,OAAO,EAAE,QAAQ,KAAK,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,MAAM,QAAQ,CACxE,CAAA;KACH;;AAGA,IAAA,MAAM,iBAAiB,GAAA;AACrB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAA;KAC1D;;;ACrBF;AACM,MAAO,0BAA2B,SAAQ,gCAAwC,CAAA;;AAEtF,IAAA,OAAO,YAAY,GAAG,wBAAwB,CAAA;AAE9C;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CACT,OAAA,GAAyC,EAAE,EAAA;AAE3C,QAAA,OAAO,IAAI,gBAAgB,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAA;KAClE;AAEA;;;AAGG;AACH,IAAA,MAAM,WAAW,CAAC,MAAA,GAA+B,EAAE,EAAA;AACjD,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;KAC7D;;AAGA,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAA;KACpD;;;;;"}
@@ -6,9 +6,10 @@ import { Platform } from '@angular/cdk/platform';
6
6
  import { CdkScrollable, ScrollDispatcher, ViewportRuler, CdkScrollableModule } from '@angular/cdk/scrolling';
7
7
  import { DOCUMENT } from '@angular/common';
8
8
  import * as i0 from '@angular/core';
9
- import { InjectionToken, inject, ChangeDetectorRef, ElementRef, NgZone, Component, ChangeDetectionStrategy, ViewEncapsulation, Renderer2, EventEmitter, Injector, afterNextRender, Input, Output, ViewChild, ANIMATION_MODULE_TYPE, QueryList, ContentChildren, ContentChild, NgModule } from '@angular/core';
9
+ import { InjectionToken, inject, ChangeDetectorRef, ElementRef, NgZone, Component, ChangeDetectionStrategy, ViewEncapsulation, Renderer2, EventEmitter, Injector, afterNextRender, Input, Output, ViewChild, QueryList, ContentChildren, ContentChild, NgModule } from '@angular/core';
10
10
  import { Subject, fromEvent, merge } from 'rxjs';
11
11
  import { filter, map, mapTo, takeUntil, take, startWith, debounceTime } from 'rxjs/operators';
12
+ import { _ as _animationsDisabled } from './animation-5f89c9a6.mjs';
12
13
  import { M as MatCommonModule } from './common-module-2d64df09.mjs';
13
14
 
14
15
  /**
@@ -558,7 +559,7 @@ class MatDrawerContainer {
558
559
  _element = inject(ElementRef);
559
560
  _ngZone = inject(NgZone);
560
561
  _changeDetectorRef = inject(ChangeDetectorRef);
561
- _animationMode = inject(ANIMATION_MODULE_TYPE, { optional: true });
562
+ _animationDisabled = _animationsDisabled();
562
563
  _transitionsEnabled = false;
563
564
  /** All drawers in the container. Includes drawers from inside nested containers. */
564
565
  _allDrawers;
@@ -645,7 +646,7 @@ class MatDrawerContainer {
645
646
  .change()
646
647
  .pipe(takeUntil(this._destroyed))
647
648
  .subscribe(() => this.updateContentMargins());
648
- if (this._animationMode !== 'NoopAnimations' && platform.isBrowser) {
649
+ if (!this._animationDisabled && platform.isBrowser) {
649
650
  this._ngZone.runOutsideAngular(() => {
650
651
  // Enable the animations after a delay in order to skip
651
652
  // the initial transition if a drawer is open by default.