@m3e/web 2.0.3 → 2.0.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 (325) hide show
  1. package/dist/all.js +564 -462
  2. package/dist/all.js.map +1 -1
  3. package/dist/all.min.js +54 -59
  4. package/dist/all.min.js.map +1 -1
  5. package/dist/app-bar.js +11 -11
  6. package/dist/app-bar.js.map +1 -1
  7. package/dist/app-bar.min.js +1 -1
  8. package/dist/app-bar.min.js.map +1 -1
  9. package/dist/autocomplete.js +32 -19
  10. package/dist/autocomplete.js.map +1 -1
  11. package/dist/autocomplete.min.js +1 -1
  12. package/dist/autocomplete.min.js.map +1 -1
  13. package/dist/avatar.js +2 -3
  14. package/dist/avatar.js.map +1 -1
  15. package/dist/avatar.min.js +1 -1
  16. package/dist/avatar.min.js.map +1 -1
  17. package/dist/badge.js +3 -3
  18. package/dist/badge.js.map +1 -1
  19. package/dist/badge.min.js +1 -1
  20. package/dist/badge.min.js.map +1 -1
  21. package/dist/bottom-sheet.js +17 -18
  22. package/dist/bottom-sheet.js.map +1 -1
  23. package/dist/bottom-sheet.min.js +1 -1
  24. package/dist/bottom-sheet.min.js.map +1 -1
  25. package/dist/button-group.js +8 -8
  26. package/dist/button-group.js.map +1 -1
  27. package/dist/button-group.min.js +1 -1
  28. package/dist/button-group.min.js.map +1 -1
  29. package/dist/button.js +18 -18
  30. package/dist/button.js.map +1 -1
  31. package/dist/button.min.js +1 -1
  32. package/dist/button.min.js.map +1 -1
  33. package/dist/card.js +3 -3
  34. package/dist/card.js.map +1 -1
  35. package/dist/card.min.js +1 -1
  36. package/dist/card.min.js.map +1 -1
  37. package/dist/checkbox.js +4 -4
  38. package/dist/checkbox.js.map +1 -1
  39. package/dist/checkbox.min.js +1 -1
  40. package/dist/checkbox.min.js.map +1 -1
  41. package/dist/chips.js +58 -45
  42. package/dist/chips.js.map +1 -1
  43. package/dist/chips.min.js +1 -1
  44. package/dist/chips.min.js.map +1 -1
  45. package/dist/core-a11y.js +28 -2
  46. package/dist/core-a11y.js.map +1 -1
  47. package/dist/core-a11y.min.js +4 -13
  48. package/dist/core-a11y.min.js.map +1 -1
  49. package/dist/core-bidi.js +3 -5
  50. package/dist/core-bidi.js.map +1 -1
  51. package/dist/core-bidi.min.js +2 -2
  52. package/dist/core-bidi.min.js.map +1 -1
  53. package/dist/core.js +139 -60
  54. package/dist/core.js.map +1 -1
  55. package/dist/core.min.js +1 -1
  56. package/dist/core.min.js.map +1 -1
  57. package/dist/css-custom-data.json +332 -542
  58. package/dist/custom-elements.json +11238 -12197
  59. package/dist/dialog.js +12 -12
  60. package/dist/dialog.js.map +1 -1
  61. package/dist/dialog.min.js +1 -1
  62. package/dist/dialog.min.js.map +1 -1
  63. package/dist/divider.js +3 -3
  64. package/dist/divider.js.map +1 -1
  65. package/dist/divider.min.js +1 -1
  66. package/dist/divider.min.js.map +1 -1
  67. package/dist/drawer-container.js +20 -20
  68. package/dist/drawer-container.js.map +1 -1
  69. package/dist/drawer-container.min.js +1 -1
  70. package/dist/drawer-container.min.js.map +1 -1
  71. package/dist/expansion-panel.js +7 -7
  72. package/dist/expansion-panel.js.map +1 -1
  73. package/dist/expansion-panel.min.js +1 -1
  74. package/dist/expansion-panel.min.js.map +1 -1
  75. package/dist/fab-menu.js +12 -12
  76. package/dist/fab-menu.js.map +1 -1
  77. package/dist/fab-menu.min.js +1 -1
  78. package/dist/fab-menu.min.js.map +1 -1
  79. package/dist/fab.js +5 -5
  80. package/dist/fab.js.map +1 -1
  81. package/dist/fab.min.js +1 -1
  82. package/dist/fab.min.js.map +1 -1
  83. package/dist/form-field.js +23 -23
  84. package/dist/form-field.js.map +1 -1
  85. package/dist/form-field.min.js +3 -3
  86. package/dist/form-field.min.js.map +1 -1
  87. package/dist/heading.js +3 -3
  88. package/dist/heading.js.map +1 -1
  89. package/dist/heading.min.js +1 -1
  90. package/dist/heading.min.js.map +1 -1
  91. package/dist/html-custom-data.json +115 -147
  92. package/dist/icon-button.js +18 -18
  93. package/dist/icon-button.js.map +1 -1
  94. package/dist/icon-button.min.js +1 -1
  95. package/dist/icon-button.min.js.map +1 -1
  96. package/dist/icon.js +3 -3
  97. package/dist/icon.js.map +1 -1
  98. package/dist/icon.min.js +1 -1
  99. package/dist/icon.min.js.map +1 -1
  100. package/dist/list.js +34 -28
  101. package/dist/list.js.map +1 -1
  102. package/dist/list.min.js +1 -1
  103. package/dist/list.min.js.map +1 -1
  104. package/dist/loading-indicator.js +3 -3
  105. package/dist/loading-indicator.js.map +1 -1
  106. package/dist/loading-indicator.min.js +1 -1
  107. package/dist/loading-indicator.min.js.map +1 -1
  108. package/dist/menu.js +34 -32
  109. package/dist/menu.js.map +1 -1
  110. package/dist/menu.min.js +1 -1
  111. package/dist/menu.min.js.map +1 -1
  112. package/dist/nav-bar.js +6 -6
  113. package/dist/nav-bar.js.map +1 -1
  114. package/dist/nav-bar.min.js +1 -1
  115. package/dist/nav-bar.min.js.map +1 -1
  116. package/dist/nav-menu.js +28 -24
  117. package/dist/nav-menu.js.map +1 -1
  118. package/dist/nav-menu.min.js +1 -1
  119. package/dist/nav-menu.min.js.map +1 -1
  120. package/dist/nav-rail.js +6 -7
  121. package/dist/nav-rail.js.map +1 -1
  122. package/dist/nav-rail.min.js +1 -1
  123. package/dist/nav-rail.min.js.map +1 -1
  124. package/dist/option.js +29 -31
  125. package/dist/option.js.map +1 -1
  126. package/dist/option.min.js +1 -1
  127. package/dist/option.min.js.map +1 -1
  128. package/dist/paginator.js +3 -4
  129. package/dist/paginator.js.map +1 -1
  130. package/dist/paginator.min.js +2 -2
  131. package/dist/paginator.min.js.map +1 -1
  132. package/dist/progress-indicator.js +4 -4
  133. package/dist/progress-indicator.js.map +1 -1
  134. package/dist/progress-indicator.min.js +7 -7
  135. package/dist/progress-indicator.min.js.map +1 -1
  136. package/dist/radio-group.js +6 -6
  137. package/dist/radio-group.js.map +1 -1
  138. package/dist/radio-group.min.js +1 -1
  139. package/dist/radio-group.min.js.map +1 -1
  140. package/dist/segmented-button.js +11 -11
  141. package/dist/segmented-button.js.map +1 -1
  142. package/dist/segmented-button.min.js +1 -1
  143. package/dist/segmented-button.min.js.map +1 -1
  144. package/dist/select.js +11 -355
  145. package/dist/select.js.map +1 -1
  146. package/dist/select.min.js +1 -18
  147. package/dist/select.min.js.map +1 -1
  148. package/dist/shape.js +3 -3
  149. package/dist/shape.js.map +1 -1
  150. package/dist/shape.min.js +1 -1
  151. package/dist/shape.min.js.map +1 -1
  152. package/dist/slide-group.js +3 -3
  153. package/dist/slide-group.js.map +1 -1
  154. package/dist/slide-group.min.js +1 -1
  155. package/dist/slide-group.min.js.map +1 -1
  156. package/dist/slider.js +10 -10
  157. package/dist/slider.js.map +1 -1
  158. package/dist/slider.min.js +1 -1
  159. package/dist/slider.min.js.map +1 -1
  160. package/dist/snackbar.js +4 -4
  161. package/dist/snackbar.js.map +1 -1
  162. package/dist/snackbar.min.js +1 -1
  163. package/dist/snackbar.min.js.map +1 -1
  164. package/dist/split-button.js +3 -3
  165. package/dist/split-button.js.map +1 -1
  166. package/dist/split-button.min.js +1 -1
  167. package/dist/split-button.min.js.map +1 -1
  168. package/dist/src/autocomplete/AutocompleteElement.d.ts.map +1 -1
  169. package/dist/src/avatar/AvatarElement.d.ts.map +1 -1
  170. package/dist/src/bottom-sheet/BottomSheetActionElement.d.ts.map +1 -1
  171. package/dist/src/bottom-sheet/BottomSheetElement.d.ts +1 -1
  172. package/dist/src/bottom-sheet/BottomSheetElement.d.ts.map +1 -1
  173. package/dist/src/bottom-sheet/BottomSheetTriggerElement.d.ts.map +1 -1
  174. package/dist/src/button/ButtonElement.d.ts +2 -1
  175. package/dist/src/button/ButtonElement.d.ts.map +1 -1
  176. package/dist/src/button/styles/ButtonSizeStyle.d.ts.map +1 -1
  177. package/dist/src/button/styles/ButtonVariantStyle.d.ts.map +1 -1
  178. package/dist/src/button-group/ButtonGroupElement.d.ts.map +1 -1
  179. package/dist/src/card/CardElement.d.ts.map +1 -1
  180. package/dist/src/checkbox/CheckboxElement.d.ts.map +1 -1
  181. package/dist/src/chips/AssistChipElement.d.ts +3 -1
  182. package/dist/src/chips/AssistChipElement.d.ts.map +1 -1
  183. package/dist/src/chips/ChipElement.d.ts +3 -1
  184. package/dist/src/chips/ChipElement.d.ts.map +1 -1
  185. package/dist/src/chips/ChipSetElement.d.ts.map +1 -1
  186. package/dist/src/chips/FilterChipElement.d.ts +3 -1
  187. package/dist/src/chips/FilterChipElement.d.ts.map +1 -1
  188. package/dist/src/chips/FilterChipSetElement.d.ts.map +1 -1
  189. package/dist/src/chips/InputChipElement.d.ts +8 -1
  190. package/dist/src/chips/InputChipElement.d.ts.map +1 -1
  191. package/dist/src/chips/InputChipSetElement.d.ts.map +1 -1
  192. package/dist/src/chips/SuggestionChipElement.d.ts +3 -1
  193. package/dist/src/chips/SuggestionChipElement.d.ts.map +1 -1
  194. package/dist/src/core/bidi/Directionality.d.ts.map +1 -1
  195. package/dist/src/core/shared/controllers/HoverController.d.ts.map +1 -1
  196. package/dist/src/core/shared/controllers/IntersectionController.d.ts.map +1 -1
  197. package/dist/src/core/shared/decorators/component.d.ts +19 -0
  198. package/dist/src/core/shared/decorators/component.d.ts.map +1 -0
  199. package/dist/src/core/shared/decorators/element.d.ts +19 -0
  200. package/dist/src/core/shared/decorators/element.d.ts.map +1 -0
  201. package/dist/src/core/shared/decorators/index.d.ts +1 -0
  202. package/dist/src/core/shared/decorators/index.d.ts.map +1 -1
  203. package/dist/src/core/shared/mixins/AttachInternals.d.ts +27 -0
  204. package/dist/src/core/shared/mixins/AttachInternals.d.ts.map +1 -1
  205. package/dist/src/core/shared/mixins/Dirty.d.ts +2 -1
  206. package/dist/src/core/shared/mixins/Dirty.d.ts.map +1 -1
  207. package/dist/src/core/shared/mixins/HtmlFor.d.ts.map +1 -1
  208. package/dist/src/core/shared/mixins/Labelled.d.ts.map +1 -1
  209. package/dist/src/core/shared/mixins/Touched.d.ts +2 -1
  210. package/dist/src/core/shared/mixins/Touched.d.ts.map +1 -1
  211. package/dist/src/core/shared/primitives/CollapsibleElement.d.ts +1 -1
  212. package/dist/src/core/shared/primitives/CollapsibleElement.d.ts.map +1 -1
  213. package/dist/src/core/shared/primitives/ElevationElement.d.ts.map +1 -1
  214. package/dist/src/core/shared/primitives/FocusRingElement.d.ts.map +1 -1
  215. package/dist/src/core/shared/primitives/RippleElement.d.ts.map +1 -1
  216. package/dist/src/core/shared/primitives/ScrollContainerElement.d.ts +3 -1
  217. package/dist/src/core/shared/primitives/ScrollContainerElement.d.ts.map +1 -1
  218. package/dist/src/core/shared/primitives/SlideElement.d.ts +3 -1
  219. package/dist/src/core/shared/primitives/SlideElement.d.ts.map +1 -1
  220. package/dist/src/core/shared/primitives/StateLayerElement.d.ts.map +1 -1
  221. package/dist/src/core/shared/primitives/TextHighlightElement.d.ts.map +1 -1
  222. package/dist/src/core/shared/primitives/TextOverflowElement.d.ts.map +1 -1
  223. package/dist/src/core/shared/utils/getState.d.ts +15 -0
  224. package/dist/src/core/shared/utils/getState.d.ts.map +1 -0
  225. package/dist/src/dialog/DialogActionElement.d.ts.map +1 -1
  226. package/dist/src/dialog/DialogElement.d.ts +2 -2
  227. package/dist/src/dialog/DialogElement.d.ts.map +1 -1
  228. package/dist/src/dialog/DialogTriggerElement.d.ts.map +1 -1
  229. package/dist/src/drawer-container/DrawerContainerElement.d.ts +3 -1
  230. package/dist/src/drawer-container/DrawerContainerElement.d.ts.map +1 -1
  231. package/dist/src/drawer-container/DrawerToggleElement.d.ts.map +1 -1
  232. package/dist/src/drawer-container/styles/DrawerContainerStyle.d.ts.map +1 -1
  233. package/dist/src/expansion-panel/ExpansionHeaderElement.d.ts.map +1 -1
  234. package/dist/src/fab/FabElement.d.ts.map +1 -1
  235. package/dist/src/fab-menu/FabMenuElement.d.ts +1 -1
  236. package/dist/src/fab-menu/FabMenuElement.d.ts.map +1 -1
  237. package/dist/src/fab-menu/FabMenuItemElement.d.ts.map +1 -1
  238. package/dist/src/fab-menu/FabMenuTriggerElement.d.ts.map +1 -1
  239. package/dist/src/form-field/FormFieldElement.d.ts.map +1 -1
  240. package/dist/src/icon-button/IconButtonElement.d.ts +2 -1
  241. package/dist/src/icon-button/IconButtonElement.d.ts.map +1 -1
  242. package/dist/src/icon-button/styles/IconButtonSizeStyle.d.ts.map +1 -1
  243. package/dist/src/icon-button/styles/IconButtonVariantStyle.d.ts.map +1 -1
  244. package/dist/src/list/ActionListElement.d.ts.map +1 -1
  245. package/dist/src/list/ListElement.d.ts +1 -1
  246. package/dist/src/list/ListElement.d.ts.map +1 -1
  247. package/dist/src/list/ListItemButtonElement.d.ts.map +1 -1
  248. package/dist/src/list/ListItemElement.d.ts +1 -1
  249. package/dist/src/list/ListItemElement.d.ts.map +1 -1
  250. package/dist/src/list/ListOptionElement.d.ts.map +1 -1
  251. package/dist/src/list/SelectionListElement.d.ts.map +1 -1
  252. package/dist/src/menu/MenuElement.d.ts +1 -1
  253. package/dist/src/menu/MenuElement.d.ts.map +1 -1
  254. package/dist/src/menu/MenuItemCheckboxElement.d.ts.map +1 -1
  255. package/dist/src/menu/MenuItemGroupElement.d.ts.map +1 -1
  256. package/dist/src/menu/MenuItemRadioElement.d.ts.map +1 -1
  257. package/dist/src/menu/MenuTriggerElement.d.ts.map +1 -1
  258. package/dist/src/nav-bar/NavBarElement.d.ts +1 -1
  259. package/dist/src/nav-bar/NavBarElement.d.ts.map +1 -1
  260. package/dist/src/nav-bar/NavItemElement.d.ts.map +1 -1
  261. package/dist/src/nav-menu/NavMenuElement.d.ts.map +1 -1
  262. package/dist/src/nav-menu/NavMenuItemElement.d.ts.map +1 -1
  263. package/dist/src/nav-menu/NavMenuItemGroupElement.d.ts +1 -1
  264. package/dist/src/nav-menu/NavMenuItemGroupElement.d.ts.map +1 -1
  265. package/dist/src/nav-rail/NavRailElement.d.ts.map +1 -1
  266. package/dist/src/nav-rail/NavRailToggleElement.d.ts.map +1 -1
  267. package/dist/src/option/OptGroupElement.d.ts.map +1 -1
  268. package/dist/src/option/OptionElement.d.ts +1 -2
  269. package/dist/src/option/OptionElement.d.ts.map +1 -1
  270. package/dist/src/option/OptionPanelElement.d.ts +12 -13
  271. package/dist/src/option/OptionPanelElement.d.ts.map +1 -1
  272. package/dist/src/paginator/PaginatorElement.d.ts +0 -1
  273. package/dist/src/paginator/PaginatorElement.d.ts.map +1 -1
  274. package/dist/src/radio-group/RadioElement.d.ts.map +1 -1
  275. package/dist/src/radio-group/RadioGroupElement.d.ts.map +1 -1
  276. package/dist/src/segmented-button/ButtonSegmentElement.d.ts.map +1 -1
  277. package/dist/src/segmented-button/SegmentedButtonElement.d.ts.map +1 -1
  278. package/dist/src/select/SelectElement.d.ts.map +1 -1
  279. package/dist/src/shape/ShapeElement.d.ts.map +1 -1
  280. package/dist/src/slider/SliderElement.d.ts +3 -1
  281. package/dist/src/slider/SliderElement.d.ts.map +1 -1
  282. package/dist/src/slider/SliderThumbElement.d.ts.map +1 -1
  283. package/dist/src/stepper/StepElement.d.ts.map +1 -1
  284. package/dist/src/stepper/StepperElement.d.ts.map +1 -1
  285. package/dist/src/switch/SwitchElement.d.ts.map +1 -1
  286. package/dist/src/tabs/TabElement.d.ts.map +1 -1
  287. package/dist/src/tabs/TabPanelElement.d.ts.map +1 -1
  288. package/dist/src/tabs/TabsElement.d.ts.map +1 -1
  289. package/dist/src/toc/TocElement.d.ts.map +1 -1
  290. package/dist/src/tooltip/RichTooltipActionElement.d.ts.map +1 -1
  291. package/dist/src/tooltip/TooltipElementBase.d.ts +1 -1
  292. package/dist/src/tooltip/TooltipElementBase.d.ts.map +1 -1
  293. package/dist/stepper.js +15 -15
  294. package/dist/stepper.js.map +1 -1
  295. package/dist/stepper.min.js +1 -1
  296. package/dist/stepper.min.js.map +1 -1
  297. package/dist/switch.js +3 -3
  298. package/dist/switch.js.map +1 -1
  299. package/dist/switch.min.js +1 -1
  300. package/dist/switch.min.js.map +1 -1
  301. package/dist/tabs.js +10 -10
  302. package/dist/tabs.js.map +1 -1
  303. package/dist/tabs.min.js +1 -1
  304. package/dist/tabs.min.js.map +1 -1
  305. package/dist/textarea-autosize.js +3 -3
  306. package/dist/textarea-autosize.js.map +1 -1
  307. package/dist/textarea-autosize.min.js +2 -2
  308. package/dist/textarea-autosize.min.js.map +1 -1
  309. package/dist/theme.js +3 -3
  310. package/dist/theme.js.map +1 -1
  311. package/dist/theme.min.js +2 -2
  312. package/dist/theme.min.js.map +1 -1
  313. package/dist/toc.js +11 -11
  314. package/dist/toc.js.map +1 -1
  315. package/dist/toc.min.js +1 -1
  316. package/dist/toc.min.js.map +1 -1
  317. package/dist/toolbar.js +3 -3
  318. package/dist/toolbar.js.map +1 -1
  319. package/dist/toolbar.min.js +1 -1
  320. package/dist/toolbar.min.js.map +1 -1
  321. package/dist/tooltip.js +8 -8
  322. package/dist/tooltip.js.map +1 -1
  323. package/dist/tooltip.min.js +1 -1
  324. package/dist/tooltip.min.js.map +1 -1
  325. package/package.json +1 -1
package/dist/menu.js CHANGED
@@ -4,8 +4,8 @@
4
4
  * See LICENSE file in the project root for full license text.
5
5
  */
6
6
  import { LitElement, nothing, html, unsafeCSS, css } from 'lit';
7
- import { query, customElement, state, property } from 'lit/decorators.js';
8
- import { KeyboardClick, Focusable, AttachInternals, Disabled, FocusController, isLinkButtonMixin, renderPseudoLink, DesignToken, HtmlFor, ActionElementBase, LinkButton, Role, HoverController, hasAssignedNodes, ScrollController, Checked, prefersReducedMotion } from '@m3e/web/core';
7
+ import { query, state, property } from 'lit/decorators.js';
8
+ import { KeyboardClick, Focusable, AttachInternals, Disabled, FocusController, isLinkButtonMixin, renderPseudoLink, DesignToken, HtmlFor, ActionElementBase, element, LinkButton, Role, HoverController, setCustomState, hasAssignedNodes, ScrollController, addCustomState, deleteCustomState, Checked, prefersReducedMotion } from '@m3e/web/core';
9
9
  import { addAriaReferencedId, removeAriaReferencedId, RovingTabIndexManager } from '@m3e/web/core/a11y';
10
10
  import { positionAnchor } from '@m3e/web/core/anchoring';
11
11
  import { M3eDirectionality } from '@m3e/web/core/bidi';
@@ -76,7 +76,7 @@ class MenuItemElementBase extends KeyboardClick(Focusable(AttachInternals(Disabl
76
76
  }
77
77
  }
78
78
  /** The styles of the element. */
79
- MenuItemElementBase.styles = css`:host { display: inline-block; outline: none; user-select: none; flex: none; height: var(--m3e-menu-item-container-height, 2.75rem); -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not(:disabled):not([aria-expanded="true"])) .base { color: var(--m3e-menu-item-color, ${DesignToken.color.onSurface}); } :host(:not([aria-expanded="true"])) .base { --m3e-state-layer-hover-color: var(--m3e-menu-item-container-hover-color, ${DesignToken.color.onSurface}); --m3e-state-layer-focus-color: var(--m3e-menu-item-container-focus-color, ${DesignToken.color.onSurface}); --m3e-ripple-color: var(--m3e-menu-item-ripple-color, ${DesignToken.color.onSurface}); } :host(:not(:disabled)[aria-expanded="true"]) .base { background-color: color-mix( in srgb, var(--m3e-menu-item-active-state-layer-color, ${DesignToken.color.onSurface}) var(--m3e-menu-active-state-layer-opacity, 8%), transparent ); } :host([aria-expanded="true"]) .state-layer { display: none; } :host(:not(:disabled)[checked]) .base { color: var(--m3e-menu-item-selected-color, ${DesignToken.color.onTertiaryContainer}); background-color: var(--m3e-menu-item-selected-container-color, ${DesignToken.color.tertiaryContainer}); } :host([checked]) .base { --m3e-state-layer-hover-color: var( --m3e-menu-item-selected-container-hover-color, ${DesignToken.color.onTertiaryContainer} ); --m3e-state-layer-focus-color: var( --m3e-menu-item-selected-container-focus-color, ${DesignToken.color.onTertiaryContainer} ); --m3e-ripple-color: var(--m3e-menu-item-selected-ripple-color, ${DesignToken.color.onTertiaryContainer}); } :host(:not(:disabled)) { cursor: pointer; } :host(:disabled) .base { color: color-mix( in srgb, var(--m3e-menu-item-disabled-color, ${DesignToken.color.onSurface}) var(--m3e-menu-item-disabled-opacity, 38%), transparent ); } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; position: relative; width: 100%; height: 100%; border-radius: var(--m3e-menu-item-shape, ${DesignToken.shape.corner.extraSmall}); transition: ${unsafeCSS(`border-radius ${DesignToken.motion.spring.fastEffects}`)}; } :host([checked]:not(.-first)) .base { border-top-left-radius: var(--m3e-menu-item-selected-shape, ${DesignToken.shape.corner.medium}); border-top-right-radius: var(--m3e-menu-item-selected-shape, ${DesignToken.shape.corner.medium}); } :host([checked]:not(.-last)) .base { border-bottom-left-radius: var(--m3e-menu-item-selected-shape, ${DesignToken.shape.corner.medium}); border-bottom-right-radius: var(--m3e-menu-item-selected-shape, ${DesignToken.shape.corner.medium}); } :host(.-first) .base { border-top-left-radius: var(--m3e-menu-item-first-child-shape, ${DesignToken.shape.corner.medium}); border-top-right-radius: var(--m3e-menu-item-first-child-shape, ${DesignToken.shape.corner.medium}); } :host(.-last) .base { border-bottom-left-radius: var(--m3e-menu-item-last-child-shape, ${DesignToken.shape.corner.medium}); border-bottom-right-radius: var(--m3e-menu-item-last-child-shape, ${DesignToken.shape.corner.medium}); } .touch { position: absolute; height: 3rem; left: 0; right: 0; } .wrapper { flex: 1 1 auto; display: inline-flex; align-items: center; column-gap: var(--m3e-menu-item-icon-label-space, 0.5rem); padding-inline-start: var(--m3e-menu-item-padding-start, 0.75rem); padding-inline-end: var(--m3e-menu-item-padding-end, 0.75rem); font-size: var(--m3e-menu-item-label-text-font-size, ${DesignToken.typescale.standard.label.large.fontSize}); font-weight: var( --m3e-menu-item-label-text-font-weight, ${DesignToken.typescale.standard.label.large.fontWeight} ); line-height: var( --m3e-menu-item-label-text-line-height, ${DesignToken.typescale.standard.label.large.lineHeight} ); letter-spacing: var(--m3e-menu-item-label-text-tracking, ${DesignToken.typescale.standard.label.large.tracking}); } .focus-ring { border-radius: var(--m3e-menu-item-focus-ring-shape, inherit); } .content { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } ::slotted([slot="icon"]), ::slotted([slot="trailing-icon"]), .trailing-icon { flex: none; width: 1em; font-size: var(--m3e-menu-item-icon-size, 1.25rem) !important; } @media (prefers-reduced-motion) { .base { transition: none; } } @media (forced-colors: active) { .base { background-color: Menu; color: MenuText; } :host(:disabled) .base { color: GrayText; } }`;
79
+ MenuItemElementBase.styles = css`:host { display: inline-block; outline: none; user-select: none; flex: none; height: var(--m3e-menu-item-container-height, 2.75rem); -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not(:disabled):not([aria-expanded="true"])) .base { color: var(--m3e-menu-item-color, ${DesignToken.color.onSurface}); } :host(:not([aria-expanded="true"])) .base { --m3e-state-layer-hover-color: var(--m3e-menu-item-container-hover-color, ${DesignToken.color.onSurface}); --m3e-state-layer-focus-color: var(--m3e-menu-item-container-focus-color, ${DesignToken.color.onSurface}); --m3e-ripple-color: var(--m3e-menu-item-ripple-color, ${DesignToken.color.onSurface}); } :host(:not(:disabled)[aria-expanded="true"]) .base { background-color: color-mix( in srgb, var(--m3e-menu-item-active-state-layer-color, ${DesignToken.color.onSurface}) var(--m3e-menu-active-state-layer-opacity, 8%), transparent ); } :host([aria-expanded="true"]) .state-layer { display: none; } :host(:not(:disabled)[checked]) .base { color: var(--m3e-menu-item-selected-color, ${DesignToken.color.onTertiaryContainer}); background-color: var(--m3e-menu-item-selected-container-color, ${DesignToken.color.tertiaryContainer}); } :host([checked]) .base { --m3e-state-layer-hover-color: var( --m3e-menu-item-selected-container-hover-color, ${DesignToken.color.onTertiaryContainer} ); --m3e-state-layer-focus-color: var( --m3e-menu-item-selected-container-focus-color, ${DesignToken.color.onTertiaryContainer} ); --m3e-ripple-color: var(--m3e-menu-item-selected-ripple-color, ${DesignToken.color.onTertiaryContainer}); } :host(:not(:disabled)) { cursor: pointer; } :host(:disabled) .base { color: color-mix( in srgb, var(--m3e-menu-item-disabled-color, ${DesignToken.color.onSurface}) var(--m3e-menu-item-disabled-opacity, 38%), transparent ); } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; position: relative; width: 100%; height: 100%; border-radius: var(--m3e-menu-item-shape, ${DesignToken.shape.corner.extraSmall}); transition: ${unsafeCSS(`border-radius ${DesignToken.motion.spring.fastEffects}`)}; } :host([checked]:not(:state(-first))) .base { border-top-left-radius: var(--m3e-menu-item-selected-shape, ${DesignToken.shape.corner.medium}); border-top-right-radius: var(--m3e-menu-item-selected-shape, ${DesignToken.shape.corner.medium}); } :host([checked]:not(:state(-last))) .base { border-bottom-left-radius: var(--m3e-menu-item-selected-shape, ${DesignToken.shape.corner.medium}); border-bottom-right-radius: var(--m3e-menu-item-selected-shape, ${DesignToken.shape.corner.medium}); } :host(:state(-first)) .base { border-top-left-radius: var(--m3e-menu-item-first-child-shape, ${DesignToken.shape.corner.medium}); border-top-right-radius: var(--m3e-menu-item-first-child-shape, ${DesignToken.shape.corner.medium}); } :host(:state(-last)) .base { border-bottom-left-radius: var(--m3e-menu-item-last-child-shape, ${DesignToken.shape.corner.medium}); border-bottom-right-radius: var(--m3e-menu-item-last-child-shape, ${DesignToken.shape.corner.medium}); } .touch { position: absolute; height: 3rem; left: 0; right: 0; } .wrapper { flex: 1 1 auto; display: inline-flex; align-items: center; column-gap: var(--m3e-menu-item-icon-label-space, 0.5rem); padding-inline-start: var(--m3e-menu-item-padding-start, 0.75rem); padding-inline-end: var(--m3e-menu-item-padding-end, 0.75rem); font-size: var(--m3e-menu-item-label-text-font-size, ${DesignToken.typescale.standard.label.large.fontSize}); font-weight: var( --m3e-menu-item-label-text-font-weight, ${DesignToken.typescale.standard.label.large.fontWeight} ); line-height: var( --m3e-menu-item-label-text-line-height, ${DesignToken.typescale.standard.label.large.lineHeight} ); letter-spacing: var(--m3e-menu-item-label-text-tracking, ${DesignToken.typescale.standard.label.large.tracking}); } .focus-ring { border-radius: var(--m3e-menu-item-focus-ring-shape, inherit); } .content { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } ::slotted([slot="icon"]), ::slotted([slot="trailing-icon"]), .trailing-icon { flex: none; width: 1em; font-size: var(--m3e-menu-item-icon-size, 1.25rem) !important; } @media (prefers-reduced-motion) { .base { transition: none; } } @media (forced-colors: active) { .base { background-color: Menu; color: MenuText; } :host(:disabled) .base { color: GrayText; } }`;
80
80
  __decorate([query(".focus-ring")], MenuItemElementBase.prototype, "_focusRing", void 0);
81
81
  __decorate([query(".state-layer")], MenuItemElementBase.prototype, "_stateLayer", void 0);
82
82
  __decorate([query(".ripple")], MenuItemElementBase.prototype, "_ripple", void 0);
@@ -184,7 +184,7 @@ let M3eMenuTriggerElement = class M3eMenuTriggerElement extends HtmlFor(ActionEl
184
184
  }
185
185
  }
186
186
  };
187
- M3eMenuTriggerElement = __decorate([customElement("m3e-menu-trigger")], M3eMenuTriggerElement);
187
+ M3eMenuTriggerElement = __decorate([element("m3e-menu-trigger")], M3eMenuTriggerElement);
188
188
 
189
189
  var _M3eMenuItemElement_instances, _M3eMenuItemElement_clickHandler, _M3eMenuItemElement_keyDownHandler, _M3eMenuItemElement_mouseEnterHandler, _M3eMenuItemElement_submenuTrigger, _M3eMenuItemElement_defaultSlotChangeHandler, _M3eMenuItemElement_iconSlotChangeHandler, _M3eMenuItemElement_trailingIconSlotChangeHandler, _M3eMenuItemElement_handleClick, _M3eMenuItemElement_handleKeyDown, _M3eMenuItemElement_handleMouseEnter;
190
190
  var M3eMenuItemElement_1;
@@ -354,10 +354,10 @@ _M3eMenuItemElement_defaultSlotChangeHandler = function _M3eMenuItemElement_defa
354
354
  this._hasSubmenu = __classPrivateFieldGet(this, _M3eMenuItemElement_submenuTrigger, "f") !== undefined;
355
355
  };
356
356
  _M3eMenuItemElement_iconSlotChangeHandler = function _M3eMenuItemElement_iconSlotChangeHandler(e) {
357
- this.classList.toggle("-with-icon", hasAssignedNodes(e.target));
357
+ setCustomState(this, "-with-icon", hasAssignedNodes(e.target));
358
358
  };
359
359
  _M3eMenuItemElement_trailingIconSlotChangeHandler = function _M3eMenuItemElement_trailingIconSlotChangeHandler(e) {
360
- this.classList.toggle("-with-trailing-icon", hasAssignedNodes(e.target));
360
+ setCustomState(this, "-with-trailing-icon", hasAssignedNodes(e.target));
361
361
  };
362
362
  _M3eMenuItemElement_handleClick = function _M3eMenuItemElement_handleClick(e) {
363
363
  if (!e.defaultPrevented && !this._hasSubmenu) {
@@ -391,7 +391,7 @@ _M3eMenuItemElement_handleMouseEnter = function _M3eMenuItemElement_handleMouseE
391
391
  });
392
392
  };
393
393
  __decorate([state()], M3eMenuItemElement.prototype, "_hasSubmenu", void 0);
394
- M3eMenuItemElement = M3eMenuItemElement_1 = __decorate([customElement("m3e-menu-item")], M3eMenuItemElement);
394
+ M3eMenuItemElement = M3eMenuItemElement_1 = __decorate([element("m3e-menu-item")], M3eMenuItemElement);
395
395
 
396
396
  var _M3eMenuElement_instances, _M3eMenuElement_trigger, _M3eMenuElement_anchorCleanup, _M3eMenuElement_listManager, _M3eMenuElement_keyDownHandler, _M3eMenuElement_mouseEnterHandler, _M3eMenuElement_documentClickHandler, _M3eMenuElement_scrollController, _M3eMenuElement_toggleHandler, _M3eMenuElement_handleSlotChange, _M3eMenuElement_handleKeyDown, _M3eMenuElement_handleMouseEnter, _M3eMenuElement_handleDocumentClick, _M3eMenuElement_getAbsolutePosition, _M3eMenuElement_deactivate;
397
397
  var M3eMenuElement_1;
@@ -472,7 +472,7 @@ var M3eMenuElement_1;
472
472
  * @cssprop --m3e-menu-divider-spacing - Vertical spacing around slotted `m3e-divider` elements.
473
473
  * @cssprop --m3e-menu-gap - Gap between content in the menu.
474
474
  */
475
- let M3eMenuElement = M3eMenuElement_1 = class M3eMenuElement extends Role(LitElement, "menu") {
475
+ let M3eMenuElement = M3eMenuElement_1 = class M3eMenuElement extends AttachInternals(Role(LitElement, "menu")) {
476
476
  constructor() {
477
477
  super(...arguments);
478
478
  _M3eMenuElement_instances.add(this);
@@ -534,7 +534,7 @@ let M3eMenuElement = M3eMenuElement_1 = class M3eMenuElement extends Role(LitEle
534
534
  connectedCallback() {
535
535
  super.connectedCallback();
536
536
  this.tabIndex = -1;
537
- this.classList.add("-no-animate");
537
+ addCustomState(this, "-no-animate");
538
538
  this.setAttribute("popover", "manual");
539
539
  this.addEventListener("keydown", __classPrivateFieldGet(this, _M3eMenuElement_keyDownHandler, "f"));
540
540
  this.addEventListener("mouseenter", __classPrivateFieldGet(this, _M3eMenuElement_mouseEnterHandler, "f"));
@@ -571,13 +571,13 @@ let M3eMenuElement = M3eMenuElement_1 = class M3eMenuElement extends Role(LitEle
571
571
  offset: !this.submenu ? 4 : undefined
572
572
  }, (x, y, position) => {
573
573
  if (!this.submenu) {
574
- this.classList.toggle("-top", position.includes("top"));
575
- this.classList.toggle("-bottom", position.includes("bottom"));
574
+ setCustomState(this, "-top", position.includes("top"));
575
+ setCustomState(this, "-bottom", position.includes("bottom"));
576
576
  } else if (__classPrivateFieldGet(this, _M3eMenuElement_trigger, "f")) {
577
577
  const top = __classPrivateFieldGet(this, _M3eMenuElement_instances, "m", _M3eMenuElement_getAbsolutePosition).call(this, __classPrivateFieldGet(this, _M3eMenuElement_trigger, "f")).y;
578
- this.classList.toggle("-shift-down", false);
579
- this.classList.toggle("-shift-up", false);
580
- this.classList.toggle(Math.round(y) === Math.round(top) ? "-shift-down" : "-shift-up", true);
578
+ setCustomState(this, "-shift-down", false);
579
+ setCustomState(this, "-shift-up", false);
580
+ setCustomState(this, Math.round(y) === Math.round(top) ? "-shift-down" : "-shift-up", true);
581
581
  }
582
582
  if (M3eDirectionality.current === "rtl") {
583
583
  this.style.right = `${window.innerWidth - x - this.clientWidth}px`;
@@ -654,14 +654,16 @@ let M3eMenuElement = M3eMenuElement_1 = class M3eMenuElement extends Role(LitEle
654
654
  /** @inheritdoc */
655
655
  firstUpdated(_changedProperties) {
656
656
  super.firstUpdated(_changedProperties);
657
- requestAnimationFrame(() => this.classList.remove("-no-animate"));
657
+ requestAnimationFrame(() => deleteCustomState(this, "-no-animate"));
658
658
  }
659
659
  /** @internal */
660
660
  _activate() {
661
661
  if (this !== M3eMenuElement_1.__activeMenu) {
662
- M3eMenuElement_1.__activeMenu?.classList.remove("-active");
662
+ if (M3eMenuElement_1.__activeMenu) {
663
+ deleteCustomState(M3eMenuElement_1.__activeMenu, "-active");
664
+ }
663
665
  M3eMenuElement_1.__activeMenu = this;
664
- M3eMenuElement_1.__activeMenu?.classList.add("-active");
666
+ addCustomState(M3eMenuElement_1.__activeMenu, "-active");
665
667
  }
666
668
  }
667
669
  };
@@ -682,8 +684,8 @@ _M3eMenuElement_handleSlotChange = function _M3eMenuElement_handleSlotChange() {
682
684
  __classPrivateFieldGet(this, _M3eMenuElement_listManager, "f").updateActiveItem(added.find(x => !x.disabled));
683
685
  }
684
686
  __classPrivateFieldGet(this, _M3eMenuElement_listManager, "f").items.forEach((x, i) => {
685
- x.classList.toggle("-first", i === 0);
686
- x.classList.toggle("-last", i === __classPrivateFieldGet(this, _M3eMenuElement_listManager, "f").items.length - 1);
687
+ setCustomState(x, "-first", i === 0 && !x.previousElementSibling);
688
+ setCustomState(x, "-last", i === __classPrivateFieldGet(this, _M3eMenuElement_listManager, "f").items.length - 1);
687
689
  });
688
690
  };
689
691
  _M3eMenuElement_handleKeyDown = function _M3eMenuElement_handleKeyDown(e) {
@@ -741,23 +743,23 @@ _M3eMenuElement_getAbsolutePosition = function _M3eMenuElement_getAbsolutePositi
741
743
  };
742
744
  _M3eMenuElement_deactivate = function _M3eMenuElement_deactivate() {
743
745
  if (this === M3eMenuElement_1.__activeMenu) {
744
- M3eMenuElement_1.__activeMenu.classList.remove("-active");
746
+ deleteCustomState(M3eMenuElement_1.__activeMenu, "-active");
745
747
  M3eMenuElement_1.__activeMenu = undefined;
746
748
  }
747
749
  };
748
750
  (() => {
749
- if (document) {
751
+ if (typeof window !== "undefined") {
750
752
  const lightDomStyle = new CSSStyleSheet();
751
753
  lightDomStyle.replaceSync(css`m3e-menu > m3e-divider { margin-block: var(--m3e-menu-divider-spacing, 0.5rem); }`.toString());
752
754
  document.adoptedStyleSheets = [...document.adoptedStyleSheets, lightDomStyle];
753
755
  }
754
756
  })();
755
757
  /** The styles of the element. */
756
- M3eMenuElement.styles = css`:host { position: absolute; padding: unset; margin: unset; border: unset; overflow-y: auto; overflow-x: visible; scrollbar-width: ${DesignToken.scrollbar.thinWidth}; scrollbar-color: ${DesignToken.scrollbar.color}; scroll-padding-block: calc( var(--m3e-focus-ring-thickness, 3px) + var(--m3e-menu-container-padding-block, 0.25rem) ); min-width: var(--m3e-menu-container-min-width, 7rem); max-width: var(--m3e-menu-container-max-width, 17.5rem); max-height: var(--m3e-menu-container-max-height, 17.5rem); box-shadow: var(--m3e-menu-container-elevation, ${DesignToken.elevation.level3}); opacity: 0; display: none; } .base { display: flex; flex-direction: column; row-gap: var(--m3e-menu-gap, 0.125rem); min-width: inherit; max-width: inherit; padding-block: var(--m3e-menu-container-padding-block, 0.25rem); padding-inline: var(--m3e-menu-container-padding-inline, 0.25rem); --m3e-focus-ring-outward-offset: 0px; --m3e-focus-ring-growth-factor: 1.5; } :host(:not(.-active)) { border-radius: var(--m3e-menu-container-shape, ${DesignToken.shape.corner.small}); } :host(:not(.-active)) .base { --m3e-menu-item-first-child-shape: ${DesignToken.shape.corner.extraSmall}; --m3e-menu-item-last-child-shape: ${DesignToken.shape.corner.extraSmall}; } :host(.-active) { border-radius: var(--m3e-menu-active-container-shape, ${DesignToken.shape.corner.large}); } :host(:not(.-no-animate)) { transition: ${unsafeCSS(`opacity ${DesignToken.motion.duration.short2} ${DesignToken.motion.easing.standard},
758
+ M3eMenuElement.styles = css`:host { position: absolute; padding: unset; margin: unset; border: unset; overflow-y: auto; overflow-x: visible; scrollbar-width: ${DesignToken.scrollbar.thinWidth}; scrollbar-color: ${DesignToken.scrollbar.color}; scroll-padding-block: calc( var(--m3e-focus-ring-thickness, 3px) + var(--m3e-menu-container-padding-block, 0.25rem) ); min-width: var(--m3e-menu-container-min-width, 7rem); max-width: var(--m3e-menu-container-max-width, 17.5rem); max-height: var(--m3e-menu-container-max-height, 17.5rem); box-shadow: var(--m3e-menu-container-elevation, ${DesignToken.elevation.level3}); opacity: 0; display: none; } .base { display: flex; flex-direction: column; row-gap: var(--m3e-menu-gap, 0.125rem); min-width: inherit; max-width: inherit; padding-block: var(--m3e-menu-container-padding-block, 0.25rem); padding-inline: var(--m3e-menu-container-padding-inline, 0.25rem); --m3e-focus-ring-outward-offset: 0px; --m3e-focus-ring-growth-factor: 1.5; } :host(:not(:state(-active))) { border-radius: var(--m3e-menu-container-shape, ${DesignToken.shape.corner.small}); } :host(:not(:state(-active))) .base { --m3e-menu-item-first-child-shape: ${DesignToken.shape.corner.extraSmall}; --m3e-menu-item-last-child-shape: ${DesignToken.shape.corner.extraSmall}; } :host(:state(-active)) { border-radius: var(--m3e-menu-active-container-shape, ${DesignToken.shape.corner.large}); } :host(:not(:state(-no-animate))) { transition: ${unsafeCSS(`opacity ${DesignToken.motion.duration.short2} ${DesignToken.motion.easing.standard},
757
759
  transform ${DesignToken.motion.duration.short2} ${DesignToken.motion.easing.standard},
758
760
  overlay ${DesignToken.motion.duration.short2} ${DesignToken.motion.easing.standard} allow-discrete,
759
761
  display ${DesignToken.motion.duration.short2} ${DesignToken.motion.easing.standard} allow-discrete,
760
- border-radius ${DesignToken.motion.spring.fastEffects}`)}; } :host(:not([submenu])) { transform: scaleY(0.8); } :host(:not([submenu]):popover-open) { transform: scaleY(1); } :host::backdrop { background-color: transparent; } :host(:popover-open) { display: block; opacity: 1; } :host(.-bottom) { transform-origin: top; } :host(.-top) { transform-origin: bottom; } :host(.-shift-down) { margin-top: calc(0px - var(--m3e-menu-container-padding-block, 0.25rem)); } :host(.-shift-up) { margin-top: var(--m3e-menu-container-padding-block, 0.25rem); } :host([variant="vibrant"]) { background-color: var(--m3e-vibrant-menu-container-color, ${DesignToken.color.tertiaryContainer}); --m3e-menu-item-color: var(--m3e-vibrant-menu-item-color, ${DesignToken.color.onTertiaryContainer}); --m3e-menu-item-container-hover-color: var( --m3e-vibrant-menu-item-container-hover-color, ${DesignToken.color.onTertiaryContainer} ); --m3e-menu-item-container-focus-color: var( --m3e-vibrant-menu-item-container-focus-color, ${DesignToken.color.onTertiaryContainer} ); --m3e-menu-item-ripple-color: var(--m3e-vibrant-menu-item-ripple-color, ${DesignToken.color.onTertiaryContainer}); --m3e-menu-item-active-state-layer-color: var( --m3e-vibrant-menu-item-active-state-layer-color, ${DesignToken.color.onTertiaryContainer} ); --m3e-menu-item-selected-color: var(--m3e-vibrant-menu-item-selected-color, ${DesignToken.color.onTertiary}); --m3e-menu-item-selected-container-color: var( --m3e-vibrant-menu-item-selected-container-color, ${DesignToken.color.tertiary} ); --m3e-menu-item-selected-container-hover-color: var( --m3e-vibrant-menu-item-selected-container-hover-color, ${DesignToken.color.onTertiary} ); --m3e-menu-item-container-selected-focus-color: var( --m3e-vibrant-menu-item-selected-container-focus-color, ${DesignToken.color.onTertiary} ); --m3e-menu-item-selected-ripple-color: var( --m3e-vibrant-menu-item-selected-ripple-color, ${DesignToken.color.onTertiary} ); --m3e-menu-item-disabled-color: var( --m3e-vibrant-menu-item-disabled-color, ${DesignToken.color.onTertiaryContainer} ); } :host([variant="standard"]) { background-color: var(--m3e-menu-container-color, ${DesignToken.color.surfaceContainer}); } @starting-style { :host(:popover-open) { opacity: 0; } :host(:not([submenu]):popover-open) { transform: scaleY(0.8); } } @media (prefers-reduced-motion) { :host(:not(.-no-animate)) { transition: none; } } @media (forced-colors: active) { :host { background-color: Menu; color: MenuText; outline: 1px solid MenuText; } }`;
762
+ border-radius ${DesignToken.motion.spring.fastEffects}`)}; } :host(:not([submenu])) { transform: scaleY(0.8); } :host(:not([submenu]):popover-open) { transform: scaleY(1); } :host::backdrop { background-color: transparent; } :host(:popover-open) { display: block; opacity: 1; } :host(:state(-bottom)) { transform-origin: top; } :host(:state(-top)) { transform-origin: bottom; } :host(:state(-shift-down)) { margin-top: calc(0px - var(--m3e-menu-container-padding-block, 0.25rem)); } :host(:state(-shift-up)) { margin-top: var(--m3e-menu-container-padding-block, 0.25rem); } :host([variant="vibrant"]) { background-color: var(--m3e-vibrant-menu-container-color, ${DesignToken.color.tertiaryContainer}); --m3e-menu-item-color: var(--m3e-vibrant-menu-item-color, ${DesignToken.color.onTertiaryContainer}); --m3e-menu-item-container-hover-color: var( --m3e-vibrant-menu-item-container-hover-color, ${DesignToken.color.onTertiaryContainer} ); --m3e-menu-item-container-focus-color: var( --m3e-vibrant-menu-item-container-focus-color, ${DesignToken.color.onTertiaryContainer} ); --m3e-menu-item-ripple-color: var(--m3e-vibrant-menu-item-ripple-color, ${DesignToken.color.onTertiaryContainer}); --m3e-menu-item-active-state-layer-color: var( --m3e-vibrant-menu-item-active-state-layer-color, ${DesignToken.color.onTertiaryContainer} ); --m3e-menu-item-selected-color: var(--m3e-vibrant-menu-item-selected-color, ${DesignToken.color.onTertiary}); --m3e-menu-item-selected-container-color: var( --m3e-vibrant-menu-item-selected-container-color, ${DesignToken.color.tertiary} ); --m3e-menu-item-selected-container-hover-color: var( --m3e-vibrant-menu-item-selected-container-hover-color, ${DesignToken.color.onTertiary} ); --m3e-menu-item-container-selected-focus-color: var( --m3e-vibrant-menu-item-selected-container-focus-color, ${DesignToken.color.onTertiary} ); --m3e-menu-item-selected-ripple-color: var( --m3e-vibrant-menu-item-selected-ripple-color, ${DesignToken.color.onTertiary} ); --m3e-menu-item-disabled-color: var( --m3e-vibrant-menu-item-disabled-color, ${DesignToken.color.onTertiaryContainer} ); } :host([variant="standard"]) { background-color: var(--m3e-menu-container-color, ${DesignToken.color.surfaceContainer}); } @starting-style { :host(:popover-open) { opacity: 0; } :host(:not([submenu]):popover-open) { transform: scaleY(0.8); } } @media (prefers-reduced-motion) { :host(:not(:state(-no-animate))) { transition: none; } } @media (forced-colors: active) { :host { background-color: Menu; color: MenuText; outline: 1px solid MenuText; } }`;
761
763
  __decorate([property({
762
764
  attribute: "position-x"
763
765
  })], M3eMenuElement.prototype, "positionX", void 0);
@@ -771,7 +773,7 @@ __decorate([property({
771
773
  type: Boolean,
772
774
  reflect: true
773
775
  })], M3eMenuElement.prototype, "submenu", void 0);
774
- M3eMenuElement = M3eMenuElement_1 = __decorate([customElement("m3e-menu")], M3eMenuElement);
776
+ M3eMenuElement = M3eMenuElement_1 = __decorate([element("m3e-menu")], M3eMenuElement);
775
777
 
776
778
  var _M3eMenuItemCheckboxElement_instances, _M3eMenuItemCheckboxElement_clickHandler, _M3eMenuItemCheckboxElement_keyDownHandler, _M3eMenuItemCheckboxElement_keyUpHandler, _M3eMenuItemCheckboxElement_mouseEnterHandler, _M3eMenuItemCheckboxElement_spacePressed, _M3eMenuItemCheckboxElement_handleIconSlotChange, _M3eMenuItemCheckboxElement_handleTrailingIconSlotChange, _M3eMenuItemCheckboxElement_handleClick, _M3eMenuItemCheckboxElement_handleKeyDown, _M3eMenuItemCheckboxElement_handleKeyUp, _M3eMenuItemCheckboxElement_handleMouseEnter;
777
779
  /**
@@ -890,10 +892,10 @@ _M3eMenuItemCheckboxElement_mouseEnterHandler = new WeakMap();
890
892
  _M3eMenuItemCheckboxElement_spacePressed = new WeakMap();
891
893
  _M3eMenuItemCheckboxElement_instances = new WeakSet();
892
894
  _M3eMenuItemCheckboxElement_handleIconSlotChange = function _M3eMenuItemCheckboxElement_handleIconSlotChange(e) {
893
- this.classList.toggle("-with-icon", hasAssignedNodes(e.target));
895
+ setCustomState(this, "-with-icon", hasAssignedNodes(e.target));
894
896
  };
895
897
  _M3eMenuItemCheckboxElement_handleTrailingIconSlotChange = function _M3eMenuItemCheckboxElement_handleTrailingIconSlotChange(e) {
896
- this.classList.toggle("-with-trailing-icon", hasAssignedNodes(e.target));
898
+ setCustomState(this, "-with-trailing-icon", hasAssignedNodes(e.target));
897
899
  };
898
900
  _M3eMenuItemCheckboxElement_handleClick = function _M3eMenuItemCheckboxElement_handleClick(e) {
899
901
  if (!e.defaultPrevented) {
@@ -922,8 +924,8 @@ _M3eMenuItemCheckboxElement_handleMouseEnter = function _M3eMenuItemCheckboxElem
922
924
  });
923
925
  };
924
926
  /** The styles of the element. */
925
- M3eMenuItemCheckboxElement.styles = [MenuItemElementBase.styles, css`.icon { display: flex; align-items: center; justify-content: center; transition: margin-inline-start ${DesignToken.motion.spring.fastEffects}; } :host(:not(.-with-icon)) .icon { margin-inline-start: calc(0px - var(--m3e-menu-item-icon-label-space, 0.75rem)); } .check { width: 1em; font-size: var(--m3e-menu-item-icon-size, 1.25rem) !important; } :host(:not([checked])) .check { display: none; } :host([checked]) .icon { margin-inline-start: 0; } :host([checked]) ::slotted([slot="icon"]) { display: none !important; } @media (prefers-reduced-motion) { .icon { transition: none; } }`];
926
- M3eMenuItemCheckboxElement = __decorate([customElement("m3e-menu-item-checkbox")], M3eMenuItemCheckboxElement);
927
+ M3eMenuItemCheckboxElement.styles = [MenuItemElementBase.styles, css`.icon { display: flex; align-items: center; justify-content: center; transition: margin-inline-start ${DesignToken.motion.spring.fastEffects}; } :host(:not(:state(-with-icon))) .icon { margin-inline-start: calc(0px - var(--m3e-menu-item-icon-label-space, 0.75rem)); } .check { width: 1em; font-size: var(--m3e-menu-item-icon-size, 1.25rem) !important; } :host(:not([checked])) .check { display: none; } :host([checked]) .icon { margin-inline-start: 0; } :host([checked]) ::slotted([slot="icon"]) { display: none !important; } @media (prefers-reduced-motion) { .icon { transition: none; } }`];
928
+ M3eMenuItemCheckboxElement = __decorate([element("m3e-menu-item-checkbox")], M3eMenuItemCheckboxElement);
927
929
 
928
930
  /**
929
931
  * Groups related items (such a radios) in a menu.
@@ -945,7 +947,7 @@ let M3eMenuItemGroupElement = class M3eMenuItemGroupElement extends Role(LitElem
945
947
  };
946
948
  /** The styles of the element. */
947
949
  M3eMenuItemGroupElement.styles = css`:host { display: contents; }`;
948
- M3eMenuItemGroupElement = __decorate([customElement("m3e-menu-item-group")], M3eMenuItemGroupElement);
950
+ M3eMenuItemGroupElement = __decorate([element("m3e-menu-item-group")], M3eMenuItemGroupElement);
949
951
 
950
952
  var _M3eMenuItemRadioElement_instances, _M3eMenuItemRadioElement_clickHandler, _M3eMenuItemRadioElement_keyDownHandler, _M3eMenuItemRadioElement_keyUpHandler, _M3eMenuItemRadioElement_mouseEnterHandler, _M3eMenuItemRadioElement_spacePressed, _M3eMenuItemRadioElement_handleIconSlotChange, _M3eMenuItemRadioElement_handleTrailingIconSlotChange, _M3eMenuItemRadioElement_handleClick, _M3eMenuItemRadioElement_handleKeyDown, _M3eMenuItemRadioElement_handleKeyUp, _M3eMenuItemRadioElement_handleMouseEnter;
951
953
  /**
@@ -1074,10 +1076,10 @@ _M3eMenuItemRadioElement_mouseEnterHandler = new WeakMap();
1074
1076
  _M3eMenuItemRadioElement_spacePressed = new WeakMap();
1075
1077
  _M3eMenuItemRadioElement_instances = new WeakSet();
1076
1078
  _M3eMenuItemRadioElement_handleIconSlotChange = function _M3eMenuItemRadioElement_handleIconSlotChange(e) {
1077
- this.classList.toggle("-with-icon", hasAssignedNodes(e.target));
1079
+ setCustomState(this, "-with-icon", hasAssignedNodes(e.target));
1078
1080
  };
1079
1081
  _M3eMenuItemRadioElement_handleTrailingIconSlotChange = function _M3eMenuItemRadioElement_handleTrailingIconSlotChange(e) {
1080
- this.classList.toggle("-with-trailing-icon", hasAssignedNodes(e.target));
1082
+ setCustomState(this, "-with-trailing-icon", hasAssignedNodes(e.target));
1081
1083
  };
1082
1084
  _M3eMenuItemRadioElement_handleClick = function _M3eMenuItemRadioElement_handleClick(e) {
1083
1085
  if (!e.defaultPrevented) {
@@ -1107,7 +1109,7 @@ _M3eMenuItemRadioElement_handleMouseEnter = function _M3eMenuItemRadioElement_ha
1107
1109
  };
1108
1110
  /** The styles of the element. */
1109
1111
  M3eMenuItemRadioElement.styles = M3eMenuItemCheckboxElement.styles;
1110
- M3eMenuItemRadioElement = __decorate([customElement("m3e-menu-item-radio")], M3eMenuItemRadioElement);
1112
+ M3eMenuItemRadioElement = __decorate([element("m3e-menu-item-radio")], M3eMenuItemRadioElement);
1111
1113
 
1112
1114
  export { M3eMenuElement, M3eMenuItemCheckboxElement, M3eMenuItemElement, M3eMenuItemGroupElement, M3eMenuItemRadioElement, M3eMenuTriggerElement };
1113
1115
  //# sourceMappingURL=menu.js.map