@angular/material 22.0.0-next.2 → 22.0.0-next.4

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 (206) hide show
  1. package/core/tokens/_system.scss +14 -8
  2. package/fesm2022/_animation-chunk.mjs.map +1 -1
  3. package/fesm2022/_date-formats-chunk.mjs.map +1 -1
  4. package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -1
  5. package/fesm2022/_error-options-chunk.mjs +6 -6
  6. package/fesm2022/_error-options-chunk.mjs.map +1 -1
  7. package/fesm2022/_error-state-chunk.mjs.map +1 -1
  8. package/fesm2022/_form-field-chunk.mjs +33 -37
  9. package/fesm2022/_form-field-chunk.mjs.map +1 -1
  10. package/fesm2022/_icon-button-chunk.mjs +9 -9
  11. package/fesm2022/_icon-button-chunk.mjs.map +1 -1
  12. package/fesm2022/_icon-registry-chunk.mjs +4 -4
  13. package/fesm2022/_icon-registry-chunk.mjs.map +1 -1
  14. package/fesm2022/_input-harness-chunk.mjs.map +1 -1
  15. package/fesm2022/_internal-form-field-chunk.mjs +6 -6
  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 +11 -11
  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 +6 -8
  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 +10 -10
  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 +6 -6
  36. package/fesm2022/_structural-styles-chunk.mjs.map +1 -1
  37. package/fesm2022/_tooltip-chunk.mjs +18 -16
  38. package/fesm2022/_tooltip-chunk.mjs.map +1 -1
  39. package/fesm2022/autocomplete-testing.mjs.map +1 -1
  40. package/fesm2022/autocomplete.mjs +22 -26
  41. package/fesm2022/autocomplete.mjs.map +1 -1
  42. package/fesm2022/badge-testing.mjs.map +1 -1
  43. package/fesm2022/badge.mjs +13 -13
  44. package/fesm2022/badge.mjs.map +1 -1
  45. package/fesm2022/bottom-sheet-testing.mjs.map +1 -1
  46. package/fesm2022/bottom-sheet.mjs +18 -20
  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 +14 -14
  51. package/fesm2022/button-toggle.mjs.map +1 -1
  52. package/fesm2022/button.mjs +20 -20
  53. package/fesm2022/button.mjs.map +1 -1
  54. package/fesm2022/card-testing.mjs.map +1 -1
  55. package/fesm2022/card.mjs +49 -49
  56. package/fesm2022/card.mjs.map +1 -1
  57. package/fesm2022/checkbox-testing.mjs.map +1 -1
  58. package/fesm2022/checkbox.mjs +10 -10
  59. package/fesm2022/checkbox.mjs.map +1 -1
  60. package/fesm2022/chips-testing.mjs.map +1 -1
  61. package/fesm2022/chips.mjs +66 -70
  62. package/fesm2022/chips.mjs.map +1 -1
  63. package/fesm2022/core-testing.mjs +1 -1
  64. package/fesm2022/core-testing.mjs.map +1 -1
  65. package/fesm2022/core.mjs +25 -25
  66. package/fesm2022/core.mjs.map +1 -1
  67. package/fesm2022/datepicker-testing.mjs.map +1 -1
  68. package/fesm2022/datepicker.mjs +99 -105
  69. package/fesm2022/datepicker.mjs.map +1 -1
  70. package/fesm2022/dialog-testing.mjs +3 -3
  71. package/fesm2022/dialog-testing.mjs.map +1 -1
  72. package/fesm2022/dialog.mjs +33 -37
  73. package/fesm2022/dialog.mjs.map +1 -1
  74. package/fesm2022/divider-testing.mjs.map +1 -1
  75. package/fesm2022/divider.mjs +10 -10
  76. package/fesm2022/divider.mjs.map +1 -1
  77. package/fesm2022/expansion-testing.mjs.map +1 -1
  78. package/fesm2022/expansion.mjs +35 -37
  79. package/fesm2022/expansion.mjs.map +1 -1
  80. package/fesm2022/form-field-testing-control.mjs.map +1 -1
  81. package/fesm2022/form-field-testing.mjs +1 -1
  82. package/fesm2022/form-field-testing.mjs.map +1 -1
  83. package/fesm2022/form-field.mjs +5 -5
  84. package/fesm2022/form-field.mjs.map +1 -1
  85. package/fesm2022/grid-list-testing.mjs.map +1 -1
  86. package/fesm2022/grid-list.mjs +29 -35
  87. package/fesm2022/grid-list.mjs.map +1 -1
  88. package/fesm2022/icon-testing.mjs +8 -8
  89. package/fesm2022/icon-testing.mjs.map +1 -1
  90. package/fesm2022/icon.mjs +11 -11
  91. package/fesm2022/icon.mjs.map +1 -1
  92. package/fesm2022/input-testing.mjs.map +1 -1
  93. package/fesm2022/input.mjs +8 -8
  94. package/fesm2022/input.mjs.map +1 -1
  95. package/fesm2022/list-testing.mjs.map +1 -1
  96. package/fesm2022/list.mjs +67 -73
  97. package/fesm2022/list.mjs.map +1 -1
  98. package/fesm2022/menu-testing.mjs.map +1 -1
  99. package/fesm2022/menu.mjs +28 -30
  100. package/fesm2022/menu.mjs.map +1 -1
  101. package/fesm2022/paginator-testing.mjs.map +1 -1
  102. package/fesm2022/paginator.mjs +17 -17
  103. package/fesm2022/paginator.mjs.map +1 -1
  104. package/fesm2022/progress-bar-testing.mjs.map +1 -1
  105. package/fesm2022/progress-bar.mjs +10 -10
  106. package/fesm2022/progress-bar.mjs.map +1 -1
  107. package/fesm2022/progress-spinner-testing.mjs.map +1 -1
  108. package/fesm2022/progress-spinner.mjs +10 -10
  109. package/fesm2022/progress-spinner.mjs.map +1 -1
  110. package/fesm2022/radio-testing.mjs.map +1 -1
  111. package/fesm2022/radio.mjs +15 -17
  112. package/fesm2022/radio.mjs.map +1 -1
  113. package/fesm2022/select-testing.mjs.map +1 -1
  114. package/fesm2022/select.mjs +26 -26
  115. package/fesm2022/select.mjs.map +1 -1
  116. package/fesm2022/sidenav-testing.mjs.map +1 -1
  117. package/fesm2022/sidenav.mjs +35 -45
  118. package/fesm2022/sidenav.mjs.map +1 -1
  119. package/fesm2022/slide-toggle-testing.mjs.map +1 -1
  120. package/fesm2022/slide-toggle.mjs +11 -11
  121. package/fesm2022/slide-toggle.mjs.map +1 -1
  122. package/fesm2022/slider-testing.mjs.map +1 -1
  123. package/fesm2022/slider.mjs +41 -43
  124. package/fesm2022/slider.mjs.map +1 -1
  125. package/fesm2022/snack-bar-testing.mjs.map +1 -1
  126. package/fesm2022/snack-bar.mjs +32 -36
  127. package/fesm2022/snack-bar.mjs.map +1 -1
  128. package/fesm2022/sort-testing.mjs.map +1 -1
  129. package/fesm2022/sort.mjs +18 -18
  130. package/fesm2022/sort.mjs.map +1 -1
  131. package/fesm2022/stepper-testing.mjs.map +1 -1
  132. package/fesm2022/stepper.mjs +43 -47
  133. package/fesm2022/stepper.mjs.map +1 -1
  134. package/fesm2022/table-testing.mjs.map +1 -1
  135. package/fesm2022/table.mjs +60 -60
  136. package/fesm2022/table.mjs.map +1 -1
  137. package/fesm2022/tabs-testing.mjs.map +1 -1
  138. package/fesm2022/tabs.mjs +62 -68
  139. package/fesm2022/tabs.mjs.map +1 -1
  140. package/fesm2022/timepicker-testing.mjs.map +1 -1
  141. package/fesm2022/timepicker.mjs +17 -17
  142. package/fesm2022/timepicker.mjs.map +1 -1
  143. package/fesm2022/toolbar-testing.mjs.map +1 -1
  144. package/fesm2022/toolbar.mjs +15 -17
  145. package/fesm2022/toolbar.mjs.map +1 -1
  146. package/fesm2022/tooltip-testing.mjs.map +1 -1
  147. package/fesm2022/tooltip.mjs +4 -4
  148. package/fesm2022/tooltip.mjs.map +1 -1
  149. package/fesm2022/tree-testing.mjs.map +1 -1
  150. package/fesm2022/tree.mjs +31 -31
  151. package/fesm2022/tree.mjs.map +1 -1
  152. package/package.json +2 -2
  153. package/prebuilt-themes/azure-blue.css +167 -1
  154. package/prebuilt-themes/cyan-orange.css +167 -1
  155. package/prebuilt-themes/deeppurple-amber.css +2301 -1
  156. package/prebuilt-themes/indigo-pink.css +2301 -1
  157. package/prebuilt-themes/magenta-violet.css +167 -1
  158. package/prebuilt-themes/pink-bluegrey.css +2301 -1
  159. package/prebuilt-themes/purple-green.css +2301 -1
  160. package/prebuilt-themes/rose-red.css +167 -1
  161. package/schematics/ng-add/index.js +1 -1
  162. package/types/_badge-chunk.d.ts +1 -1
  163. package/types/_button-toggle-chunk.d.ts +3 -3
  164. package/types/_dialog-chunk.d.ts +1 -1
  165. package/types/_form-field-chunk.d.ts +2 -4
  166. package/types/_icon-module-chunk.d.ts +1 -1
  167. package/types/_icon-registry-chunk.d.ts +1 -1
  168. package/types/_option-chunk.d.ts +2 -2
  169. package/types/_option-parent-chunk.d.ts +1 -1
  170. package/types/_paginator-chunk.d.ts +1 -1
  171. package/types/_progress-spinner-chunk.d.ts +1 -1
  172. package/types/_pseudo-checkbox-module-chunk.d.ts +0 -1
  173. package/types/_ripple-chunk.d.ts +2 -2
  174. package/types/autocomplete.d.ts +1 -3
  175. package/types/bottom-sheet.d.ts +1 -2
  176. package/types/button.d.ts +5 -5
  177. package/types/card.d.ts +1 -1
  178. package/types/checkbox.d.ts +1 -1
  179. package/types/chips.d.ts +7 -9
  180. package/types/core.d.ts +1 -1
  181. package/types/datepicker.d.ts +13 -16
  182. package/types/dialog-testing.d.ts +1 -1
  183. package/types/dialog.d.ts +1 -3
  184. package/types/expansion.d.ts +2 -3
  185. package/types/grid-list.d.ts +1 -4
  186. package/types/input.d.ts +1 -1
  187. package/types/list.d.ts +2 -5
  188. package/types/menu.d.ts +3 -4
  189. package/types/paginator.d.ts +0 -1
  190. package/types/progress-bar.d.ts +1 -1
  191. package/types/radio.d.ts +2 -3
  192. package/types/select.d.ts +3 -3
  193. package/types/sidenav-testing.d.ts +1 -1
  194. package/types/sidenav.d.ts +3 -4
  195. package/types/slide-toggle.d.ts +1 -1
  196. package/types/slider.d.ts +8 -13
  197. package/types/snack-bar.d.ts +1 -3
  198. package/types/sort.d.ts +1 -1
  199. package/types/stepper.d.ts +2 -4
  200. package/types/table.d.ts +2 -4
  201. package/types/tabs.d.ts +7 -9
  202. package/types/timepicker.d.ts +1 -1
  203. package/types/toolbar.d.ts +0 -1
  204. package/types/tooltip.d.ts +317 -7
  205. package/types/tree.d.ts +3 -3
  206. package/types/_tooltip-chunk.d.ts +0 -315
@@ -1 +1 @@
1
- {"version":3,"file":"menu-testing.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/menu/testing/menu-harness.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/menu/testing/context-menu-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessLoader,\n HarnessPredicate,\n TestElement,\n} from '@angular/cdk/testing';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {MatIconHarness} from '@angular/material/icon/testing';\nimport {MenuHarnessFilters, MenuItemHarnessFilters} from './menu-harness-filters';\n\n/** Harness for interacting with a mat-menu in tests. */\nexport class MatMenuHarness extends ContentContainerComponentHarness<string> {\n private _documentRootLocator = this.documentRootLocatorFactory();\n\n /** The selector for the host element of a `MatMenu` instance. */\n static hostSelector = '.mat-mdc-menu-trigger';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a menu with specific attributes.\n * @param options Options for filtering which menu instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatMenuHarness>(\n this: ComponentHarnessConstructor<T>,\n options: MenuHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('triggerText', options.triggerText, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getTriggerText(), text),\n )\n .addOption('triggerIconName', options.triggerIconName, async (harness, triggerIconName) => {\n const result = await harness.locatorForOptional(\n MatIconHarness.with({name: triggerIconName}),\n )();\n return result !== null;\n });\n }\n\n /** Whether the menu is disabled. */\n async isDisabled(): Promise<boolean> {\n const disabled = (await this.host()).getAttribute('disabled');\n return coerceBooleanProperty(await disabled);\n }\n\n /** Whether the menu is open. */\n async isOpen(): Promise<boolean> {\n return !!(await this._getMenuPanel());\n }\n\n /** Gets the text of the menu's trigger element. */\n async getTriggerText(): Promise<string> {\n return (await this.host()).text();\n }\n\n /** Focuses the menu. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Blurs the menu. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the menu is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Opens the menu. */\n async open(): Promise<void> {\n if (!(await this.isOpen())) {\n return (await this.host()).click();\n }\n }\n\n /** Closes the menu. */\n async close(): Promise<void> {\n const panel = await this._getMenuPanel();\n if (panel) {\n return panel.click();\n }\n }\n\n /**\n * Gets a list of `MatMenuItemHarness` representing the items in the menu.\n * @param filters Optionally filters which menu items are included.\n */\n async getItems(\n filters?: Omit<MenuItemHarnessFilters, 'ancestor'>,\n ): Promise<MatMenuItemHarness[]> {\n const panelId = await this._getPanelId();\n if (panelId) {\n return this._documentRootLocator.locatorForAll(\n MatMenuItemHarness.with({\n ...(filters || {}),\n ancestor: `#${panelId}`,\n } as MenuItemHarnessFilters),\n )();\n }\n return [];\n }\n\n /**\n * Clicks an item in the menu, and optionally continues clicking items in subsequent sub-menus.\n * @param itemFilter A filter used to represent which item in the menu should be clicked. The\n * first matching menu item will be clicked.\n * @param subItemFilters A list of filters representing the items to click in any subsequent\n * sub-menus. The first item in the sub-menu matching the corresponding filter in\n * `subItemFilters` will be clicked.\n */\n async clickItem(\n itemFilter: Omit<MenuItemHarnessFilters, 'ancestor'>,\n ...subItemFilters: Omit<MenuItemHarnessFilters, 'ancestor'>[]\n ): Promise<void> {\n await this.open();\n return clickItemImplementation(await this.getItems(itemFilter), itemFilter, subItemFilters);\n }\n\n protected override async getRootHarnessLoader(): Promise<HarnessLoader> {\n const panelId = await this._getPanelId();\n return this.documentRootLocatorFactory().harnessLoaderFor(`#${panelId}`);\n }\n\n /** Gets the menu panel associated with this menu. */\n private async _getMenuPanel(): Promise<TestElement | null> {\n const panelId = await this._getPanelId();\n return panelId ? this._documentRootLocator.locatorForOptional(`#${panelId}`)() : null;\n }\n\n /** Gets the id of the menu panel associated with this menu. */\n private async _getPanelId(): Promise<string | null> {\n const panelId = await (await this.host()).getAttribute('aria-controls');\n return panelId || null;\n }\n}\n\nexport class MatMenuItemHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `MatMenuItem` instance. */\n static hostSelector = '.mat-mdc-menu-item';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a menu item with specific attributes.\n * @param options Options for filtering which menu item instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatMenuItemHarness>(\n this: ComponentHarnessConstructor<T>,\n options: MenuItemHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n )\n .addOption(\n 'hasSubmenu',\n options.hasSubmenu,\n async (harness, hasSubmenu) => (await harness.hasSubmenu()) === hasSubmenu,\n );\n }\n\n /** Whether the menu is disabled. */\n async isDisabled(): Promise<boolean> {\n const disabled = (await this.host()).getAttribute('disabled');\n return coerceBooleanProperty(await disabled);\n }\n\n /** Gets the text of the menu item. */\n async getText(): Promise<string> {\n return (await this.host()).text();\n }\n\n /** Focuses the menu item. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Blurs the menu item. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the menu item is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Clicks the menu item. */\n async click(): Promise<void> {\n return (await this.host()).click();\n }\n\n /** Whether this item has a submenu. */\n async hasSubmenu(): Promise<boolean> {\n return (await this.host()).matchesSelector(MatMenuHarness.hostSelector);\n }\n\n /** Gets the submenu associated with this menu item, or null if none. */\n async getSubmenu(): Promise<MatMenuHarness | null> {\n if (await this.hasSubmenu()) {\n return new MatMenuHarness(this.locatorFactory);\n }\n return null;\n }\n}\n\nexport async function clickItemImplementation(\n items: MatMenuItemHarness[],\n itemFilter: Omit<MenuItemHarnessFilters, 'ancestor'>,\n subItemFilters: Omit<MenuItemHarnessFilters, 'ancestor'>[],\n): Promise<void> {\n if (!items.length) {\n throw Error(`Could not find item matching ${JSON.stringify(itemFilter)}`);\n }\n\n if (!subItemFilters.length) {\n return await items[0].click();\n }\n\n const menu = await items[0].getSubmenu();\n if (!menu) {\n throw Error(`Item matching ${JSON.stringify(itemFilter)} does not have a submenu`);\n }\n return menu.clickItem(...(subItemFilters as [Omit<MenuItemHarnessFilters, 'ancestor'>]));\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 ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessLoader,\n HarnessPredicate,\n TestElement,\n} from '@angular/cdk/testing';\nimport {ContextMenuHarnessFilters, MenuItemHarnessFilters} from './menu-harness-filters';\nimport {clickItemImplementation, MatMenuItemHarness} from './menu-harness';\n\n/** Harness for interacting with context menus in tests. */\nexport class MatContextMenuHarness extends ContentContainerComponentHarness<string> {\n private _documentRootLocator = this.documentRootLocatorFactory();\n\n /** The selector for the host element of a `MatContextMenu` instance. */\n static hostSelector = '.mat-context-menu-trigger';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a context menu with specific\n * attributes.\n * @param options Options for filtering which menu instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatContextMenuHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ContextMenuHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Whether the menu is open. */\n async isOpen(): Promise<boolean> {\n return !!(await this._getMenuPanel());\n }\n\n /**\n * Opens the menu.\n * @param relativeX X coordinate, relative to the element, to dispatch the opening click at.\n * @param relativeY Y coordinate, relative to the element, to dispatch the opening click at.\n */\n async open(relativeX = 0, relativeY = 0): Promise<void> {\n if (!(await this.isOpen())) {\n return (await this.host()).rightClick(relativeX, relativeY);\n }\n }\n\n /** Closes the menu. */\n async close(): Promise<void> {\n const panel = await this._getMenuPanel();\n if (panel) {\n return panel.click();\n }\n }\n\n /** Gets whether the context menu trigger is disabled. */\n async isDisabled(): Promise<boolean> {\n const host = await this.host();\n return host.hasClass('mat-context-menu-trigger-disabled');\n }\n\n /**\n * Gets a list of `MatMenuItemHarness` representing the items in the menu.\n * @param filters Optionally filters which menu items are included.\n */\n async getItems(\n filters?: Omit<MenuItemHarnessFilters, 'ancestor'>,\n ): Promise<MatMenuItemHarness[]> {\n const panelId = await this._getPanelId();\n if (panelId) {\n return this._documentRootLocator.locatorForAll(\n MatMenuItemHarness.with({\n ...(filters || {}),\n ancestor: `#${panelId}`,\n } as MenuItemHarnessFilters),\n )();\n }\n return [];\n }\n\n /**\n * Clicks an item in the menu, and optionally continues clicking items in subsequent sub-menus.\n * @param itemFilter A filter used to represent which item in the menu should be clicked. The\n * first matching menu item will be clicked.\n * @param subItemFilters A list of filters representing the items to click in any subsequent\n * sub-menus. The first item in the sub-menu matching the corresponding filter in\n * `subItemFilters` will be clicked.\n */\n async clickItem(\n itemFilter: Omit<MenuItemHarnessFilters, 'ancestor'>,\n ...subItemFilters: Omit<MenuItemHarnessFilters, 'ancestor'>[]\n ): Promise<void> {\n await this.open();\n return clickItemImplementation(await this.getItems(itemFilter), itemFilter, subItemFilters);\n }\n\n protected override async getRootHarnessLoader(): Promise<HarnessLoader> {\n const panelId = await this._getPanelId();\n return this.documentRootLocatorFactory().harnessLoaderFor(`#${panelId}`);\n }\n\n /** Gets the menu panel associated with this menu. */\n private async _getMenuPanel(): Promise<TestElement | null> {\n const panelId = await this._getPanelId();\n return panelId ? this._documentRootLocator.locatorForOptional(`#${panelId}`)() : null;\n }\n\n /** Gets the id of the menu panel associated with this menu. */\n private async _getPanelId(): Promise<string | null> {\n const panelId = await (await this.host()).getAttribute('aria-controls');\n return panelId || null;\n }\n}\n"],"names":["MatMenuHarness","ContentContainerComponentHarness","_documentRootLocator","documentRootLocatorFactory","hostSelector","with","options","HarnessPredicate","addOption","triggerText","harness","text","stringMatches","getTriggerText","triggerIconName","result","locatorForOptional","MatIconHarness","name","isDisabled","disabled","host","getAttribute","coerceBooleanProperty","isOpen","_getMenuPanel","focus","blur","isFocused","open","click","close","panel","getItems","filters","panelId","_getPanelId","locatorForAll","MatMenuItemHarness","ancestor","clickItem","itemFilter","subItemFilters","clickItemImplementation","getRootHarnessLoader","harnessLoaderFor","getText","hasSubmenu","matchesSelector","getSubmenu","locatorFactory","items","length","Error","JSON","stringify","menu","MatContextMenuHarness","relativeX","relativeY","rightClick","hasClass"],"mappings":"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"}
1
+ {"version":3,"file":"menu-testing.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/menu/testing/menu-harness.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/menu/testing/context-menu-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessLoader,\n HarnessPredicate,\n TestElement,\n} from '@angular/cdk/testing';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {MatIconHarness} from '@angular/material/icon/testing';\nimport {MenuHarnessFilters, MenuItemHarnessFilters} from './menu-harness-filters';\n\n/** Harness for interacting with a mat-menu in tests. */\nexport class MatMenuHarness extends ContentContainerComponentHarness<string> {\n private _documentRootLocator = this.documentRootLocatorFactory();\n\n /** The selector for the host element of a `MatMenu` instance. */\n static hostSelector = '.mat-mdc-menu-trigger';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a menu with specific attributes.\n * @param options Options for filtering which menu instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatMenuHarness>(\n this: ComponentHarnessConstructor<T>,\n options: MenuHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('triggerText', options.triggerText, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getTriggerText(), text),\n )\n .addOption('triggerIconName', options.triggerIconName, async (harness, triggerIconName) => {\n const result = await harness.locatorForOptional(\n MatIconHarness.with({name: triggerIconName}),\n )();\n return result !== null;\n });\n }\n\n /** Whether the menu is disabled. */\n async isDisabled(): Promise<boolean> {\n const disabled = (await this.host()).getAttribute('disabled');\n return coerceBooleanProperty(await disabled);\n }\n\n /** Whether the menu is open. */\n async isOpen(): Promise<boolean> {\n return !!(await this._getMenuPanel());\n }\n\n /** Gets the text of the menu's trigger element. */\n async getTriggerText(): Promise<string> {\n return (await this.host()).text();\n }\n\n /** Focuses the menu. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Blurs the menu. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the menu is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Opens the menu. */\n async open(): Promise<void> {\n if (!(await this.isOpen())) {\n return (await this.host()).click();\n }\n }\n\n /** Closes the menu. */\n async close(): Promise<void> {\n const panel = await this._getMenuPanel();\n if (panel) {\n return panel.click();\n }\n }\n\n /**\n * Gets a list of `MatMenuItemHarness` representing the items in the menu.\n * @param filters Optionally filters which menu items are included.\n */\n async getItems(\n filters?: Omit<MenuItemHarnessFilters, 'ancestor'>,\n ): Promise<MatMenuItemHarness[]> {\n const panelId = await this._getPanelId();\n if (panelId) {\n return this._documentRootLocator.locatorForAll(\n MatMenuItemHarness.with({\n ...(filters || {}),\n ancestor: `#${panelId}`,\n } as MenuItemHarnessFilters),\n )();\n }\n return [];\n }\n\n /**\n * Clicks an item in the menu, and optionally continues clicking items in subsequent sub-menus.\n * @param itemFilter A filter used to represent which item in the menu should be clicked. The\n * first matching menu item will be clicked.\n * @param subItemFilters A list of filters representing the items to click in any subsequent\n * sub-menus. The first item in the sub-menu matching the corresponding filter in\n * `subItemFilters` will be clicked.\n */\n async clickItem(\n itemFilter: Omit<MenuItemHarnessFilters, 'ancestor'>,\n ...subItemFilters: Omit<MenuItemHarnessFilters, 'ancestor'>[]\n ): Promise<void> {\n await this.open();\n return clickItemImplementation(await this.getItems(itemFilter), itemFilter, subItemFilters);\n }\n\n protected override async getRootHarnessLoader(): Promise<HarnessLoader> {\n const panelId = await this._getPanelId();\n return this.documentRootLocatorFactory().harnessLoaderFor(`#${panelId}`);\n }\n\n /** Gets the menu panel associated with this menu. */\n private async _getMenuPanel(): Promise<TestElement | null> {\n const panelId = await this._getPanelId();\n return panelId ? this._documentRootLocator.locatorForOptional(`#${panelId}`)() : null;\n }\n\n /** Gets the id of the menu panel associated with this menu. */\n private async _getPanelId(): Promise<string | null> {\n const panelId = await (await this.host()).getAttribute('aria-controls');\n return panelId || null;\n }\n}\n\nexport class MatMenuItemHarness extends ContentContainerComponentHarness<string> {\n /** The selector for the host element of a `MatMenuItem` instance. */\n static hostSelector = '.mat-mdc-menu-item';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a menu item with specific attributes.\n * @param options Options for filtering which menu item instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatMenuItemHarness>(\n this: ComponentHarnessConstructor<T>,\n options: MenuItemHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n )\n .addOption(\n 'hasSubmenu',\n options.hasSubmenu,\n async (harness, hasSubmenu) => (await harness.hasSubmenu()) === hasSubmenu,\n );\n }\n\n /** Whether the menu is disabled. */\n async isDisabled(): Promise<boolean> {\n const disabled = (await this.host()).getAttribute('disabled');\n return coerceBooleanProperty(await disabled);\n }\n\n /** Gets the text of the menu item. */\n async getText(): Promise<string> {\n return (await this.host()).text();\n }\n\n /** Focuses the menu item. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Blurs the menu item. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the menu item is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Clicks the menu item. */\n async click(): Promise<void> {\n return (await this.host()).click();\n }\n\n /** Whether this item has a submenu. */\n async hasSubmenu(): Promise<boolean> {\n return (await this.host()).matchesSelector(MatMenuHarness.hostSelector);\n }\n\n /** Gets the submenu associated with this menu item, or null if none. */\n async getSubmenu(): Promise<MatMenuHarness | null> {\n if (await this.hasSubmenu()) {\n return new MatMenuHarness(this.locatorFactory);\n }\n return null;\n }\n}\n\nexport async function clickItemImplementation(\n items: MatMenuItemHarness[],\n itemFilter: Omit<MenuItemHarnessFilters, 'ancestor'>,\n subItemFilters: Omit<MenuItemHarnessFilters, 'ancestor'>[],\n): Promise<void> {\n if (!items.length) {\n throw Error(`Could not find item matching ${JSON.stringify(itemFilter)}`);\n }\n\n if (!subItemFilters.length) {\n return await items[0].click();\n }\n\n const menu = await items[0].getSubmenu();\n if (!menu) {\n throw Error(`Item matching ${JSON.stringify(itemFilter)} does not have a submenu`);\n }\n return menu.clickItem(...(subItemFilters as [Omit<MenuItemHarnessFilters, 'ancestor'>]));\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 ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessLoader,\n HarnessPredicate,\n TestElement,\n} from '@angular/cdk/testing';\nimport {ContextMenuHarnessFilters, MenuItemHarnessFilters} from './menu-harness-filters';\nimport {clickItemImplementation, MatMenuItemHarness} from './menu-harness';\n\n/** Harness for interacting with context menus in tests. */\nexport class MatContextMenuHarness extends ContentContainerComponentHarness<string> {\n private _documentRootLocator = this.documentRootLocatorFactory();\n\n /** The selector for the host element of a `MatContextMenu` instance. */\n static hostSelector = '.mat-context-menu-trigger';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a context menu with specific\n * attributes.\n * @param options Options for filtering which menu instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatContextMenuHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ContextMenuHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Whether the menu is open. */\n async isOpen(): Promise<boolean> {\n return !!(await this._getMenuPanel());\n }\n\n /**\n * Opens the menu.\n * @param relativeX X coordinate, relative to the element, to dispatch the opening click at.\n * @param relativeY Y coordinate, relative to the element, to dispatch the opening click at.\n */\n async open(relativeX = 0, relativeY = 0): Promise<void> {\n if (!(await this.isOpen())) {\n return (await this.host()).rightClick(relativeX, relativeY);\n }\n }\n\n /** Closes the menu. */\n async close(): Promise<void> {\n const panel = await this._getMenuPanel();\n if (panel) {\n return panel.click();\n }\n }\n\n /** Gets whether the context menu trigger is disabled. */\n async isDisabled(): Promise<boolean> {\n const host = await this.host();\n return host.hasClass('mat-context-menu-trigger-disabled');\n }\n\n /**\n * Gets a list of `MatMenuItemHarness` representing the items in the menu.\n * @param filters Optionally filters which menu items are included.\n */\n async getItems(\n filters?: Omit<MenuItemHarnessFilters, 'ancestor'>,\n ): Promise<MatMenuItemHarness[]> {\n const panelId = await this._getPanelId();\n if (panelId) {\n return this._documentRootLocator.locatorForAll(\n MatMenuItemHarness.with({\n ...(filters || {}),\n ancestor: `#${panelId}`,\n } as MenuItemHarnessFilters),\n )();\n }\n return [];\n }\n\n /**\n * Clicks an item in the menu, and optionally continues clicking items in subsequent sub-menus.\n * @param itemFilter A filter used to represent which item in the menu should be clicked. The\n * first matching menu item will be clicked.\n * @param subItemFilters A list of filters representing the items to click in any subsequent\n * sub-menus. The first item in the sub-menu matching the corresponding filter in\n * `subItemFilters` will be clicked.\n */\n async clickItem(\n itemFilter: Omit<MenuItemHarnessFilters, 'ancestor'>,\n ...subItemFilters: Omit<MenuItemHarnessFilters, 'ancestor'>[]\n ): Promise<void> {\n await this.open();\n return clickItemImplementation(await this.getItems(itemFilter), itemFilter, subItemFilters);\n }\n\n protected override async getRootHarnessLoader(): Promise<HarnessLoader> {\n const panelId = await this._getPanelId();\n return this.documentRootLocatorFactory().harnessLoaderFor(`#${panelId}`);\n }\n\n /** Gets the menu panel associated with this menu. */\n private async _getMenuPanel(): Promise<TestElement | null> {\n const panelId = await this._getPanelId();\n return panelId ? this._documentRootLocator.locatorForOptional(`#${panelId}`)() : null;\n }\n\n /** Gets the id of the menu panel associated with this menu. */\n private async _getPanelId(): Promise<string | null> {\n const panelId = await (await this.host()).getAttribute('aria-controls');\n return panelId || null;\n }\n}\n"],"names":["MatMenuHarness","ContentContainerComponentHarness","_documentRootLocator","documentRootLocatorFactory","hostSelector","with","options","HarnessPredicate","addOption","triggerText","harness","text","stringMatches","getTriggerText","triggerIconName","result","locatorForOptional","MatIconHarness","name","isDisabled","disabled","host","getAttribute","coerceBooleanProperty","isOpen","_getMenuPanel","focus","blur","isFocused","open","click","close","panel","getItems","filters","panelId","_getPanelId","locatorForAll","MatMenuItemHarness","ancestor","clickItem","itemFilter","subItemFilters","clickItemImplementation","getRootHarnessLoader","harnessLoaderFor","getText","hasSubmenu","matchesSelector","getSubmenu","locatorFactory","items","length","Error","JSON","stringify","menu","MatContextMenuHarness","relativeX","relativeY","rightClick","hasClass"],"mappings":"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"}
package/fesm2022/menu.mjs CHANGED
@@ -1,13 +1,13 @@
1
+ import { TemplatePortal, DomPortalOutlet } from '@angular/cdk/portal';
1
2
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, ElementRef, DOCUMENT, ChangeDetectorRef, booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, TemplateRef, ApplicationRef, Injector, ViewContainerRef, Directive, QueryList, signal, EventEmitter, afterNextRender, ContentChildren, ViewChild, ContentChild, Output, NgZone, Renderer2, NgModule } from '@angular/core';
3
+ import { InjectionToken, inject, ElementRef, DOCUMENT, ChangeDetectorRef, booleanAttribute, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, TemplateRef, ApplicationRef, Injector, ViewContainerRef, Directive, QueryList, signal, EventEmitter, afterNextRender, Output, ContentChild, ContentChildren, ViewChild, NgZone, Renderer2, NgModule } from '@angular/core';
4
+ import { Subject, merge, Subscription, of } from 'rxjs';
3
5
  import { FocusMonitor, _IdGenerator, FocusKeyManager, isFakeTouchstartFromScreenReader, isFakeMousedownFromScreenReader } from '@angular/cdk/a11y';
4
6
  import { UP_ARROW, DOWN_ARROW, RIGHT_ARROW, LEFT_ARROW, ESCAPE, hasModifierKey, ENTER, SPACE } from '@angular/cdk/keycodes';
5
- import { Subject, merge, Subscription, of } from 'rxjs';
6
7
  import { startWith, switchMap, takeUntil, take, filter, skipWhile } from 'rxjs/operators';
7
8
  import { _CdkPrivateStyleLoader } from '@angular/cdk/private';
8
9
  import { _StructuralStylesLoader } from './_structural-styles-chunk.mjs';
9
10
  import { MatRipple } from './_ripple-chunk.mjs';
10
- import { TemplatePortal, DomPortalOutlet } from '@angular/cdk/portal';
11
11
  import { _animationsDisabled } from './_animation-chunk.mjs';
12
12
  import { Directionality, BidiModule } from '@angular/cdk/bidi';
13
13
  import { createRepositionScrollStrategy, createOverlayRef, OverlayConfig, createFlexibleConnectedPositionStrategy, ViewportRuler, ScrollDispatcher, OverlayModule } from '@angular/cdk/overlay';
@@ -97,7 +97,7 @@ class MatMenuItem {
97
97
  }
98
98
  static ɵfac = i0.ɵɵngDeclareFactory({
99
99
  minVersion: "12.0.0",
100
- version: "22.0.0-next.1",
100
+ version: "22.0.0-next.6",
101
101
  ngImport: i0,
102
102
  type: MatMenuItem,
103
103
  deps: [],
@@ -105,7 +105,7 @@ class MatMenuItem {
105
105
  });
106
106
  static ɵcmp = i0.ɵɵngDeclareComponent({
107
107
  minVersion: "17.0.0",
108
- version: "22.0.0-next.1",
108
+ version: "22.0.0-next.6",
109
109
  type: MatMenuItem,
110
110
  isStandalone: true,
111
111
  selector: "[mat-menu-item]",
@@ -145,7 +145,7 @@ class MatMenuItem {
145
145
  }
146
146
  i0.ɵɵngDeclareClassMetadata({
147
147
  minVersion: "12.0.0",
148
- version: "22.0.0-next.1",
148
+ version: "22.0.0-next.6",
149
149
  ngImport: i0,
150
150
  type: MatMenuItem,
151
151
  decorators: [{
@@ -213,7 +213,6 @@ class MatMenuContent {
213
213
  _portal;
214
214
  _outlet;
215
215
  _attached = new Subject();
216
- constructor() {}
217
216
  attach(context = {}) {
218
217
  if (!this._portal) {
219
218
  this._portal = new TemplatePortal(this._template, this._viewContainerRef);
@@ -239,7 +238,7 @@ class MatMenuContent {
239
238
  }
240
239
  static ɵfac = i0.ɵɵngDeclareFactory({
241
240
  minVersion: "12.0.0",
242
- version: "22.0.0-next.1",
241
+ version: "22.0.0-next.6",
243
242
  ngImport: i0,
244
243
  type: MatMenuContent,
245
244
  deps: [],
@@ -247,7 +246,7 @@ class MatMenuContent {
247
246
  });
248
247
  static ɵdir = i0.ɵɵngDeclareDirective({
249
248
  minVersion: "14.0.0",
250
- version: "22.0.0-next.1",
249
+ version: "22.0.0-next.6",
251
250
  type: MatMenuContent,
252
251
  isStandalone: true,
253
252
  selector: "ng-template[matMenuContent]",
@@ -260,7 +259,7 @@ class MatMenuContent {
260
259
  }
261
260
  i0.ɵɵngDeclareClassMetadata({
262
261
  minVersion: "12.0.0",
263
- version: "22.0.0-next.1",
262
+ version: "22.0.0-next.6",
264
263
  ngImport: i0,
265
264
  type: MatMenuContent,
266
265
  decorators: [{
@@ -272,8 +271,7 @@ i0.ɵɵngDeclareClassMetadata({
272
271
  useExisting: MatMenuContent
273
272
  }]
274
273
  }]
275
- }],
276
- ctorParameters: () => []
274
+ }]
277
275
  });
278
276
 
279
277
  const MAT_MENU_DEFAULT_OPTIONS = new InjectionToken('mat-menu-default-options', {
@@ -516,7 +514,7 @@ class MatMenu {
516
514
  }
517
515
  static ɵfac = i0.ɵɵngDeclareFactory({
518
516
  minVersion: "12.0.0",
519
- version: "22.0.0-next.1",
517
+ version: "22.0.0-next.6",
520
518
  ngImport: i0,
521
519
  type: MatMenu,
522
520
  deps: [],
@@ -524,7 +522,7 @@ class MatMenu {
524
522
  });
525
523
  static ɵcmp = i0.ɵɵngDeclareComponent({
526
524
  minVersion: "16.1.0",
527
- version: "22.0.0-next.1",
525
+ version: "22.0.0-next.6",
528
526
  type: MatMenu,
529
527
  isStandalone: true,
530
528
  selector: "mat-menu",
@@ -577,14 +575,14 @@ class MatMenu {
577
575
  exportAs: ["matMenu"],
578
576
  ngImport: i0,
579
577
  template: "<ng-template>\n <div\n class=\"mat-mdc-menu-panel\"\n [id]=\"panelId\"\n [class]=\"_classList\"\n [class.mat-menu-panel-animations-disabled]=\"_animationsDisabled\"\n [class.mat-menu-panel-exit-animation]=\"_panelAnimationState === 'void'\"\n [class.mat-menu-panel-animating]=\"_isAnimating()\"\n (click)=\"closed.emit('click')\"\n tabindex=\"-1\"\n role=\"menu\"\n (animationstart)=\"_onAnimationStart($event.animationName)\"\n (animationend)=\"_onAnimationDone($event.animationName)\"\n (animationcancel)=\"_onAnimationDone($event.animationName)\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.aria-describedby]=\"ariaDescribedby || null\">\n <div class=\"mat-mdc-menu-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n",
580
- styles: ["mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;outline:0}.mat-mdc-menu-content,.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:1;white-space:normal;font-family:var(--mat-menu-item-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-menu-item-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-menu-item-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-menu-item-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-menu-item-label-text-weight, var(--mat-sys-label-large-weight))}@keyframes _mat-menu-enter{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:none}}@keyframes _mat-menu-exit{from{opacity:1}to{opacity:0}}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;box-sizing:border-box;outline:0;animation:_mat-menu-enter 120ms cubic-bezier(0, 0, 0.2, 1);border-radius:var(--mat-menu-container-shape, var(--mat-sys-corner-extra-small));background-color:var(--mat-menu-container-color, var(--mat-sys-surface-container));box-shadow:var(--mat-menu-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));will-change:transform,opacity}.mat-mdc-menu-panel.mat-menu-panel-exit-animation{animation:_mat-menu-exit 100ms 25ms linear forwards}.mat-mdc-menu-panel.mat-menu-panel-animations-disabled{animation:none}.mat-mdc-menu-panel.mat-menu-panel-animating{pointer-events:none}.mat-mdc-menu-panel.mat-menu-panel-animating:has(.mat-mdc-menu-content:empty){display:none}@media(forced-colors: active){.mat-mdc-menu-panel{outline:solid 1px}}.mat-mdc-menu-panel .mat-divider{border-top-color:var(--mat-menu-divider-color, var(--mat-sys-surface-variant));margin-bottom:var(--mat-menu-divider-bottom-spacing, 8px);margin-top:var(--mat-menu-divider-top-spacing, 8px)}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;min-height:48px;padding-left:var(--mat-menu-item-leading-spacing, 12px);padding-right:var(--mat-menu-item-trailing-spacing, 12px);-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-menu-item::-moz-focus-inner{border:0}[dir=rtl] .mat-mdc-menu-item{padding-left:var(--mat-menu-item-trailing-spacing, 12px);padding-right:var(--mat-menu-item-leading-spacing, 12px)}.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-leading-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-trailing-spacing, 12px)}[dir=rtl] .mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-trailing-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-leading-spacing, 12px)}.mat-mdc-menu-item,.mat-mdc-menu-item:visited,.mat-mdc-menu-item:link{color:var(--mat-menu-item-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-menu-item .mat-icon-no-color,.mat-mdc-menu-item .mat-mdc-menu-submenu-icon{color:var(--mat-menu-item-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:\"\";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item:focus{outline:0}.mat-mdc-menu-item .mat-icon{flex-shrink:0;margin-right:var(--mat-menu-item-spacing, 12px);height:var(--mat-menu-item-icon-size, 24px);width:var(--mat-menu-item-icon-size, 24px)}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:var(--mat-menu-item-spacing, 12px)}.mat-mdc-menu-item:not([disabled]):hover{background-color:var(--mat-menu-item-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}.mat-mdc-menu-item:not([disabled]).cdk-program-focused,.mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused,.mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted{background-color:var(--mat-menu-item-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}@media(forced-colors: active){.mat-mdc-menu-item{margin-top:1px}}.mat-mdc-menu-submenu-icon{width:var(--mat-menu-item-icon-size, 24px);height:10px;fill:currentColor;padding-left:var(--mat-menu-item-spacing, 12px)}[dir=rtl] .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing, 12px);padding-left:0}[dir=rtl] .mat-mdc-menu-submenu-icon polygon{transform:scaleX(-1);transform-origin:center}@media(forced-colors: active){.mat-mdc-menu-submenu-icon{fill:CanvasText}}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}\n"],
578
+ styles: ["mat-menu {\n display: none;\n}\n\n.mat-mdc-menu-content {\n margin: 0;\n padding: 8px 0;\n outline: 0;\n}\n.mat-mdc-menu-content,\n.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n flex: 1;\n white-space: normal;\n font-family: var(--mat-menu-item-label-text-font, var(--mat-sys-label-large-font));\n line-height: var(--mat-menu-item-label-text-line-height, var(--mat-sys-label-large-line-height));\n font-size: var(--mat-menu-item-label-text-size, var(--mat-sys-label-large-size));\n letter-spacing: var(--mat-menu-item-label-text-tracking, var(--mat-sys-label-large-tracking));\n font-weight: var(--mat-menu-item-label-text-weight, var(--mat-sys-label-large-weight));\n}\n\n@keyframes _mat-menu-enter {\n from {\n opacity: 0;\n transform: scale(0.8);\n }\n to {\n opacity: 1;\n transform: none;\n }\n}\n@keyframes _mat-menu-exit {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n.mat-mdc-menu-panel {\n min-width: 112px;\n max-width: 280px;\n overflow: auto;\n box-sizing: border-box;\n outline: 0;\n animation: _mat-menu-enter 120ms cubic-bezier(0, 0, 0.2, 1);\n border-radius: var(--mat-menu-container-shape, var(--mat-sys-corner-extra-small));\n background-color: var(--mat-menu-container-color, var(--mat-sys-surface-container));\n box-shadow: var(--mat-menu-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));\n will-change: transform, opacity;\n}\n.mat-mdc-menu-panel.mat-menu-panel-exit-animation {\n animation: _mat-menu-exit 100ms 25ms linear forwards;\n}\n.mat-mdc-menu-panel.mat-menu-panel-animations-disabled {\n animation: none;\n}\n.mat-mdc-menu-panel.mat-menu-panel-animating {\n pointer-events: none;\n}\n.mat-mdc-menu-panel.mat-menu-panel-animating:has(.mat-mdc-menu-content:empty) {\n display: none;\n}\n@media (forced-colors: active) {\n .mat-mdc-menu-panel {\n outline: solid 1px;\n }\n}\n.mat-mdc-menu-panel .mat-divider {\n border-top-color: var(--mat-menu-divider-color, var(--mat-sys-surface-variant));\n margin-bottom: var(--mat-menu-divider-bottom-spacing, 8px);\n margin-top: var(--mat-menu-divider-top-spacing, 8px);\n}\n\n.mat-mdc-menu-item {\n display: flex;\n position: relative;\n align-items: center;\n justify-content: flex-start;\n overflow: hidden;\n padding: 0;\n cursor: pointer;\n width: 100%;\n text-align: left;\n box-sizing: border-box;\n color: inherit;\n font-size: inherit;\n background: none;\n text-decoration: none;\n margin: 0;\n min-height: 48px;\n padding-left: var(--mat-menu-item-leading-spacing, 12px);\n padding-right: var(--mat-menu-item-trailing-spacing, 12px);\n -webkit-user-select: none;\n user-select: none;\n cursor: pointer;\n outline: none;\n border: none;\n -webkit-tap-highlight-color: transparent;\n}\n.mat-mdc-menu-item::-moz-focus-inner {\n border: 0;\n}\n[dir=rtl] .mat-mdc-menu-item {\n padding-left: var(--mat-menu-item-trailing-spacing, 12px);\n padding-right: var(--mat-menu-item-leading-spacing, 12px);\n}\n.mat-mdc-menu-item:has(.material-icons, mat-icon, [matButtonIcon]) {\n padding-left: var(--mat-menu-item-with-icon-leading-spacing, 12px);\n padding-right: var(--mat-menu-item-with-icon-trailing-spacing, 12px);\n}\n[dir=rtl] .mat-mdc-menu-item:has(.material-icons, mat-icon, [matButtonIcon]) {\n padding-left: var(--mat-menu-item-with-icon-trailing-spacing, 12px);\n padding-right: var(--mat-menu-item-with-icon-leading-spacing, 12px);\n}\n.mat-mdc-menu-item, .mat-mdc-menu-item:visited, .mat-mdc-menu-item:link {\n color: var(--mat-menu-item-label-text-color, var(--mat-sys-on-surface));\n}\n.mat-mdc-menu-item .mat-icon-no-color,\n.mat-mdc-menu-item .mat-mdc-menu-submenu-icon {\n color: var(--mat-menu-item-icon-color, var(--mat-sys-on-surface-variant));\n}\n.mat-mdc-menu-item[disabled] {\n cursor: default;\n opacity: 0.38;\n}\n.mat-mdc-menu-item[disabled]::after {\n display: block;\n position: absolute;\n content: \"\";\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n}\n.mat-mdc-menu-item:focus {\n outline: 0;\n}\n.mat-mdc-menu-item .mat-icon {\n flex-shrink: 0;\n margin-right: var(--mat-menu-item-spacing, 12px);\n height: var(--mat-menu-item-icon-size, 24px);\n width: var(--mat-menu-item-icon-size, 24px);\n}\n[dir=rtl] .mat-mdc-menu-item {\n text-align: right;\n}\n[dir=rtl] .mat-mdc-menu-item .mat-icon {\n margin-right: 0;\n margin-left: var(--mat-menu-item-spacing, 12px);\n}\n.mat-mdc-menu-item:not([disabled]):hover {\n background-color: var(--mat-menu-item-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent));\n}\n.mat-mdc-menu-item:not([disabled]).cdk-program-focused, .mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused, .mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted {\n background-color: var(--mat-menu-item-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent));\n}\n@media (forced-colors: active) {\n .mat-mdc-menu-item {\n margin-top: 1px;\n }\n}\n\n.mat-mdc-menu-submenu-icon {\n width: var(--mat-menu-item-icon-size, 24px);\n height: 10px;\n fill: currentColor;\n padding-left: var(--mat-menu-item-spacing, 12px);\n}\n[dir=rtl] .mat-mdc-menu-submenu-icon {\n padding-right: var(--mat-menu-item-spacing, 12px);\n padding-left: 0;\n}\n[dir=rtl] .mat-mdc-menu-submenu-icon polygon {\n transform: scaleX(-1);\n transform-origin: center;\n}\n@media (forced-colors: active) {\n .mat-mdc-menu-submenu-icon {\n fill: CanvasText;\n }\n}\n\n.mat-mdc-menu-item .mat-mdc-menu-ripple {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n pointer-events: none;\n}\n"],
581
579
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
582
580
  encapsulation: i0.ViewEncapsulation.None
583
581
  });
584
582
  }
585
583
  i0.ɵɵngDeclareClassMetadata({
586
584
  minVersion: "12.0.0",
587
- version: "22.0.0-next.1",
585
+ version: "22.0.0-next.6",
588
586
  ngImport: i0,
589
587
  type: MatMenu,
590
588
  decorators: [{
@@ -604,7 +602,7 @@ i0.ɵɵngDeclareClassMetadata({
604
602
  useExisting: MatMenu
605
603
  }],
606
604
  template: "<ng-template>\n <div\n class=\"mat-mdc-menu-panel\"\n [id]=\"panelId\"\n [class]=\"_classList\"\n [class.mat-menu-panel-animations-disabled]=\"_animationsDisabled\"\n [class.mat-menu-panel-exit-animation]=\"_panelAnimationState === 'void'\"\n [class.mat-menu-panel-animating]=\"_isAnimating()\"\n (click)=\"closed.emit('click')\"\n tabindex=\"-1\"\n role=\"menu\"\n (animationstart)=\"_onAnimationStart($event.animationName)\"\n (animationend)=\"_onAnimationDone($event.animationName)\"\n (animationcancel)=\"_onAnimationDone($event.animationName)\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.aria-describedby]=\"ariaDescribedby || null\">\n <div class=\"mat-mdc-menu-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n",
607
- styles: ["mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;outline:0}.mat-mdc-menu-content,.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:1;white-space:normal;font-family:var(--mat-menu-item-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-menu-item-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-menu-item-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-menu-item-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-menu-item-label-text-weight, var(--mat-sys-label-large-weight))}@keyframes _mat-menu-enter{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:none}}@keyframes _mat-menu-exit{from{opacity:1}to{opacity:0}}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;box-sizing:border-box;outline:0;animation:_mat-menu-enter 120ms cubic-bezier(0, 0, 0.2, 1);border-radius:var(--mat-menu-container-shape, var(--mat-sys-corner-extra-small));background-color:var(--mat-menu-container-color, var(--mat-sys-surface-container));box-shadow:var(--mat-menu-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));will-change:transform,opacity}.mat-mdc-menu-panel.mat-menu-panel-exit-animation{animation:_mat-menu-exit 100ms 25ms linear forwards}.mat-mdc-menu-panel.mat-menu-panel-animations-disabled{animation:none}.mat-mdc-menu-panel.mat-menu-panel-animating{pointer-events:none}.mat-mdc-menu-panel.mat-menu-panel-animating:has(.mat-mdc-menu-content:empty){display:none}@media(forced-colors: active){.mat-mdc-menu-panel{outline:solid 1px}}.mat-mdc-menu-panel .mat-divider{border-top-color:var(--mat-menu-divider-color, var(--mat-sys-surface-variant));margin-bottom:var(--mat-menu-divider-bottom-spacing, 8px);margin-top:var(--mat-menu-divider-top-spacing, 8px)}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;min-height:48px;padding-left:var(--mat-menu-item-leading-spacing, 12px);padding-right:var(--mat-menu-item-trailing-spacing, 12px);-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-menu-item::-moz-focus-inner{border:0}[dir=rtl] .mat-mdc-menu-item{padding-left:var(--mat-menu-item-trailing-spacing, 12px);padding-right:var(--mat-menu-item-leading-spacing, 12px)}.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-leading-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-trailing-spacing, 12px)}[dir=rtl] .mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-trailing-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-leading-spacing, 12px)}.mat-mdc-menu-item,.mat-mdc-menu-item:visited,.mat-mdc-menu-item:link{color:var(--mat-menu-item-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-menu-item .mat-icon-no-color,.mat-mdc-menu-item .mat-mdc-menu-submenu-icon{color:var(--mat-menu-item-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:\"\";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item:focus{outline:0}.mat-mdc-menu-item .mat-icon{flex-shrink:0;margin-right:var(--mat-menu-item-spacing, 12px);height:var(--mat-menu-item-icon-size, 24px);width:var(--mat-menu-item-icon-size, 24px)}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:var(--mat-menu-item-spacing, 12px)}.mat-mdc-menu-item:not([disabled]):hover{background-color:var(--mat-menu-item-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}.mat-mdc-menu-item:not([disabled]).cdk-program-focused,.mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused,.mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted{background-color:var(--mat-menu-item-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}@media(forced-colors: active){.mat-mdc-menu-item{margin-top:1px}}.mat-mdc-menu-submenu-icon{width:var(--mat-menu-item-icon-size, 24px);height:10px;fill:currentColor;padding-left:var(--mat-menu-item-spacing, 12px)}[dir=rtl] .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing, 12px);padding-left:0}[dir=rtl] .mat-mdc-menu-submenu-icon polygon{transform:scaleX(-1);transform-origin:center}@media(forced-colors: active){.mat-mdc-menu-submenu-icon{fill:CanvasText}}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}\n"]
605
+ styles: ["mat-menu {\n display: none;\n}\n\n.mat-mdc-menu-content {\n margin: 0;\n padding: 8px 0;\n outline: 0;\n}\n.mat-mdc-menu-content,\n.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n flex: 1;\n white-space: normal;\n font-family: var(--mat-menu-item-label-text-font, var(--mat-sys-label-large-font));\n line-height: var(--mat-menu-item-label-text-line-height, var(--mat-sys-label-large-line-height));\n font-size: var(--mat-menu-item-label-text-size, var(--mat-sys-label-large-size));\n letter-spacing: var(--mat-menu-item-label-text-tracking, var(--mat-sys-label-large-tracking));\n font-weight: var(--mat-menu-item-label-text-weight, var(--mat-sys-label-large-weight));\n}\n\n@keyframes _mat-menu-enter {\n from {\n opacity: 0;\n transform: scale(0.8);\n }\n to {\n opacity: 1;\n transform: none;\n }\n}\n@keyframes _mat-menu-exit {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n.mat-mdc-menu-panel {\n min-width: 112px;\n max-width: 280px;\n overflow: auto;\n box-sizing: border-box;\n outline: 0;\n animation: _mat-menu-enter 120ms cubic-bezier(0, 0, 0.2, 1);\n border-radius: var(--mat-menu-container-shape, var(--mat-sys-corner-extra-small));\n background-color: var(--mat-menu-container-color, var(--mat-sys-surface-container));\n box-shadow: var(--mat-menu-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));\n will-change: transform, opacity;\n}\n.mat-mdc-menu-panel.mat-menu-panel-exit-animation {\n animation: _mat-menu-exit 100ms 25ms linear forwards;\n}\n.mat-mdc-menu-panel.mat-menu-panel-animations-disabled {\n animation: none;\n}\n.mat-mdc-menu-panel.mat-menu-panel-animating {\n pointer-events: none;\n}\n.mat-mdc-menu-panel.mat-menu-panel-animating:has(.mat-mdc-menu-content:empty) {\n display: none;\n}\n@media (forced-colors: active) {\n .mat-mdc-menu-panel {\n outline: solid 1px;\n }\n}\n.mat-mdc-menu-panel .mat-divider {\n border-top-color: var(--mat-menu-divider-color, var(--mat-sys-surface-variant));\n margin-bottom: var(--mat-menu-divider-bottom-spacing, 8px);\n margin-top: var(--mat-menu-divider-top-spacing, 8px);\n}\n\n.mat-mdc-menu-item {\n display: flex;\n position: relative;\n align-items: center;\n justify-content: flex-start;\n overflow: hidden;\n padding: 0;\n cursor: pointer;\n width: 100%;\n text-align: left;\n box-sizing: border-box;\n color: inherit;\n font-size: inherit;\n background: none;\n text-decoration: none;\n margin: 0;\n min-height: 48px;\n padding-left: var(--mat-menu-item-leading-spacing, 12px);\n padding-right: var(--mat-menu-item-trailing-spacing, 12px);\n -webkit-user-select: none;\n user-select: none;\n cursor: pointer;\n outline: none;\n border: none;\n -webkit-tap-highlight-color: transparent;\n}\n.mat-mdc-menu-item::-moz-focus-inner {\n border: 0;\n}\n[dir=rtl] .mat-mdc-menu-item {\n padding-left: var(--mat-menu-item-trailing-spacing, 12px);\n padding-right: var(--mat-menu-item-leading-spacing, 12px);\n}\n.mat-mdc-menu-item:has(.material-icons, mat-icon, [matButtonIcon]) {\n padding-left: var(--mat-menu-item-with-icon-leading-spacing, 12px);\n padding-right: var(--mat-menu-item-with-icon-trailing-spacing, 12px);\n}\n[dir=rtl] .mat-mdc-menu-item:has(.material-icons, mat-icon, [matButtonIcon]) {\n padding-left: var(--mat-menu-item-with-icon-trailing-spacing, 12px);\n padding-right: var(--mat-menu-item-with-icon-leading-spacing, 12px);\n}\n.mat-mdc-menu-item, .mat-mdc-menu-item:visited, .mat-mdc-menu-item:link {\n color: var(--mat-menu-item-label-text-color, var(--mat-sys-on-surface));\n}\n.mat-mdc-menu-item .mat-icon-no-color,\n.mat-mdc-menu-item .mat-mdc-menu-submenu-icon {\n color: var(--mat-menu-item-icon-color, var(--mat-sys-on-surface-variant));\n}\n.mat-mdc-menu-item[disabled] {\n cursor: default;\n opacity: 0.38;\n}\n.mat-mdc-menu-item[disabled]::after {\n display: block;\n position: absolute;\n content: \"\";\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n}\n.mat-mdc-menu-item:focus {\n outline: 0;\n}\n.mat-mdc-menu-item .mat-icon {\n flex-shrink: 0;\n margin-right: var(--mat-menu-item-spacing, 12px);\n height: var(--mat-menu-item-icon-size, 24px);\n width: var(--mat-menu-item-icon-size, 24px);\n}\n[dir=rtl] .mat-mdc-menu-item {\n text-align: right;\n}\n[dir=rtl] .mat-mdc-menu-item .mat-icon {\n margin-right: 0;\n margin-left: var(--mat-menu-item-spacing, 12px);\n}\n.mat-mdc-menu-item:not([disabled]):hover {\n background-color: var(--mat-menu-item-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent));\n}\n.mat-mdc-menu-item:not([disabled]).cdk-program-focused, .mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused, .mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted {\n background-color: var(--mat-menu-item-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent));\n}\n@media (forced-colors: active) {\n .mat-mdc-menu-item {\n margin-top: 1px;\n }\n}\n\n.mat-mdc-menu-submenu-icon {\n width: var(--mat-menu-item-icon-size, 24px);\n height: 10px;\n fill: currentColor;\n padding-left: var(--mat-menu-item-spacing, 12px);\n}\n[dir=rtl] .mat-mdc-menu-submenu-icon {\n padding-right: var(--mat-menu-item-spacing, 12px);\n padding-left: 0;\n}\n[dir=rtl] .mat-mdc-menu-submenu-icon polygon {\n transform: scaleX(-1);\n transform-origin: center;\n}\n@media (forced-colors: active) {\n .mat-mdc-menu-submenu-icon {\n fill: CanvasText;\n }\n}\n\n.mat-mdc-menu-item .mat-mdc-menu-ripple {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n pointer-events: none;\n}\n"]
608
606
  }]
609
607
  }],
610
608
  ctorParameters: () => [],
@@ -956,7 +954,7 @@ class MatMenuTriggerBase {
956
954
  }
957
955
  static ɵfac = i0.ɵɵngDeclareFactory({
958
956
  minVersion: "12.0.0",
959
- version: "22.0.0-next.1",
957
+ version: "22.0.0-next.6",
960
958
  ngImport: i0,
961
959
  type: MatMenuTriggerBase,
962
960
  deps: "invalid",
@@ -964,7 +962,7 @@ class MatMenuTriggerBase {
964
962
  });
965
963
  static ɵdir = i0.ɵɵngDeclareDirective({
966
964
  minVersion: "14.0.0",
967
- version: "22.0.0-next.1",
965
+ version: "22.0.0-next.6",
968
966
  type: MatMenuTriggerBase,
969
967
  isStandalone: true,
970
968
  ngImport: i0
@@ -972,7 +970,7 @@ class MatMenuTriggerBase {
972
970
  }
973
971
  i0.ɵɵngDeclareClassMetadata({
974
972
  minVersion: "12.0.0",
975
- version: "22.0.0-next.1",
973
+ version: "22.0.0-next.6",
976
974
  ngImport: i0,
977
975
  type: MatMenuTriggerBase,
978
976
  decorators: [{
@@ -1082,7 +1080,7 @@ class MatMenuTrigger extends MatMenuTriggerBase {
1082
1080
  }
1083
1081
  static ɵfac = i0.ɵɵngDeclareFactory({
1084
1082
  minVersion: "12.0.0",
1085
- version: "22.0.0-next.1",
1083
+ version: "22.0.0-next.6",
1086
1084
  ngImport: i0,
1087
1085
  type: MatMenuTrigger,
1088
1086
  deps: [],
@@ -1090,7 +1088,7 @@ class MatMenuTrigger extends MatMenuTriggerBase {
1090
1088
  });
1091
1089
  static ɵdir = i0.ɵɵngDeclareDirective({
1092
1090
  minVersion: "14.0.0",
1093
- version: "22.0.0-next.1",
1091
+ version: "22.0.0-next.6",
1094
1092
  type: MatMenuTrigger,
1095
1093
  isStandalone: true,
1096
1094
  selector: "[mat-menu-trigger-for], [matMenuTriggerFor]",
@@ -1126,7 +1124,7 @@ class MatMenuTrigger extends MatMenuTriggerBase {
1126
1124
  }
1127
1125
  i0.ɵɵngDeclareClassMetadata({
1128
1126
  minVersion: "12.0.0",
1129
- version: "22.0.0-next.1",
1127
+ version: "22.0.0-next.6",
1130
1128
  ngImport: i0,
1131
1129
  type: MatMenuTrigger,
1132
1130
  decorators: [{
@@ -1290,7 +1288,7 @@ class MatContextMenuTrigger extends MatMenuTriggerBase {
1290
1288
  }
1291
1289
  static ɵfac = i0.ɵɵngDeclareFactory({
1292
1290
  minVersion: "12.0.0",
1293
- version: "22.0.0-next.1",
1291
+ version: "22.0.0-next.6",
1294
1292
  ngImport: i0,
1295
1293
  type: MatContextMenuTrigger,
1296
1294
  deps: [],
@@ -1298,7 +1296,7 @@ class MatContextMenuTrigger extends MatMenuTriggerBase {
1298
1296
  });
1299
1297
  static ɵdir = i0.ɵɵngDeclareDirective({
1300
1298
  minVersion: "16.1.0",
1301
- version: "22.0.0-next.1",
1299
+ version: "22.0.0-next.6",
1302
1300
  type: MatContextMenuTrigger,
1303
1301
  isStandalone: true,
1304
1302
  selector: "[matContextMenuTriggerFor]",
@@ -1329,7 +1327,7 @@ class MatContextMenuTrigger extends MatMenuTriggerBase {
1329
1327
  }
1330
1328
  i0.ɵɵngDeclareClassMetadata({
1331
1329
  minVersion: "12.0.0",
1332
- version: "22.0.0-next.1",
1330
+ version: "22.0.0-next.6",
1333
1331
  ngImport: i0,
1334
1332
  type: MatContextMenuTrigger,
1335
1333
  decorators: [{
@@ -1381,7 +1379,7 @@ i0.ɵɵngDeclareClassMetadata({
1381
1379
  class MatMenuModule {
1382
1380
  static ɵfac = i0.ɵɵngDeclareFactory({
1383
1381
  minVersion: "12.0.0",
1384
- version: "22.0.0-next.1",
1382
+ version: "22.0.0-next.6",
1385
1383
  ngImport: i0,
1386
1384
  type: MatMenuModule,
1387
1385
  deps: [],
@@ -1389,7 +1387,7 @@ class MatMenuModule {
1389
1387
  });
1390
1388
  static ɵmod = i0.ɵɵngDeclareNgModule({
1391
1389
  minVersion: "14.0.0",
1392
- version: "22.0.0-next.1",
1390
+ version: "22.0.0-next.6",
1393
1391
  ngImport: i0,
1394
1392
  type: MatMenuModule,
1395
1393
  imports: [MatRippleModule, OverlayModule, MatMenu, MatMenuItem, MatMenuContent, MatMenuTrigger, MatContextMenuTrigger],
@@ -1397,7 +1395,7 @@ class MatMenuModule {
1397
1395
  });
1398
1396
  static ɵinj = i0.ɵɵngDeclareInjector({
1399
1397
  minVersion: "12.0.0",
1400
- version: "22.0.0-next.1",
1398
+ version: "22.0.0-next.6",
1401
1399
  ngImport: i0,
1402
1400
  type: MatMenuModule,
1403
1401
  imports: [MatRippleModule, OverlayModule, BidiModule, CdkScrollableModule]
@@ -1405,7 +1403,7 @@ class MatMenuModule {
1405
1403
  }
1406
1404
  i0.ɵɵngDeclareClassMetadata({
1407
1405
  minVersion: "12.0.0",
1408
- version: "22.0.0-next.1",
1406
+ version: "22.0.0-next.6",
1409
1407
  ngImport: i0,
1410
1408
  type: MatMenuModule,
1411
1409
  decorators: [{