@m3e/web 2.0.3 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/dist/all.js +571 -463
  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 +10 -10
  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 +31 -18
  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 +1 -2
  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 +2 -2
  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 +14 -15
  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 +7 -7
  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 +17 -17
  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 +2 -2
  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 +3 -3
  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 +50 -37
  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 +27 -1
  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 +128 -49
  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 +140 -115
  58. package/dist/custom-elements.json +2310 -1497
  59. package/dist/dialog.js +10 -9
  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 +2 -2
  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 +18 -18
  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 +4 -4
  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 +9 -9
  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 +4 -4
  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 +22 -22
  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 +2 -2
  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 +57 -57
  92. package/dist/icon-button.js +17 -17
  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 +2 -2
  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 +26 -20
  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 +2 -2
  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 +28 -26
  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 +4 -4
  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 +25 -21
  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 +4 -5
  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 +26 -28
  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 +7 -3
  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 +2 -2
  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 +4 -4
  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 +9 -9
  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 +10 -354
  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 +2 -2
  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 -2
  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 +8 -8
  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 +5 -3
  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 -2
  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/customElement.d.ts +19 -0
  200. package/dist/src/core/shared/decorators/customElement.d.ts.map +1 -0
  201. package/dist/src/core/shared/decorators/element.d.ts +19 -0
  202. package/dist/src/core/shared/decorators/element.d.ts.map +1 -0
  203. package/dist/src/core/shared/decorators/index.d.ts +1 -0
  204. package/dist/src/core/shared/decorators/index.d.ts.map +1 -1
  205. package/dist/src/core/shared/mixins/AttachInternals.d.ts +27 -0
  206. package/dist/src/core/shared/mixins/AttachInternals.d.ts.map +1 -1
  207. package/dist/src/core/shared/mixins/Dirty.d.ts +2 -1
  208. package/dist/src/core/shared/mixins/Dirty.d.ts.map +1 -1
  209. package/dist/src/core/shared/mixins/HtmlFor.d.ts.map +1 -1
  210. package/dist/src/core/shared/mixins/Labelled.d.ts.map +1 -1
  211. package/dist/src/core/shared/mixins/Touched.d.ts +2 -1
  212. package/dist/src/core/shared/mixins/Touched.d.ts.map +1 -1
  213. package/dist/src/core/shared/primitives/CollapsibleElement.d.ts +1 -1
  214. package/dist/src/core/shared/primitives/CollapsibleElement.d.ts.map +1 -1
  215. package/dist/src/core/shared/primitives/ElevationElement.d.ts.map +1 -1
  216. package/dist/src/core/shared/primitives/FocusRingElement.d.ts.map +1 -1
  217. package/dist/src/core/shared/primitives/RippleElement.d.ts.map +1 -1
  218. package/dist/src/core/shared/primitives/ScrollContainerElement.d.ts +3 -1
  219. package/dist/src/core/shared/primitives/ScrollContainerElement.d.ts.map +1 -1
  220. package/dist/src/core/shared/primitives/SlideElement.d.ts +3 -1
  221. package/dist/src/core/shared/primitives/SlideElement.d.ts.map +1 -1
  222. package/dist/src/core/shared/primitives/StateLayerElement.d.ts.map +1 -1
  223. package/dist/src/core/shared/primitives/TextHighlightElement.d.ts.map +1 -1
  224. package/dist/src/core/shared/primitives/TextOverflowElement.d.ts.map +1 -1
  225. package/dist/src/core/shared/utils/getState.d.ts +15 -0
  226. package/dist/src/core/shared/utils/getState.d.ts.map +1 -0
  227. package/dist/src/dialog/DialogActionElement.d.ts.map +1 -1
  228. package/dist/src/dialog/DialogElement.d.ts +3 -2
  229. package/dist/src/dialog/DialogElement.d.ts.map +1 -1
  230. package/dist/src/dialog/DialogTriggerElement.d.ts.map +1 -1
  231. package/dist/src/drawer-container/DrawerContainerElement.d.ts +3 -1
  232. package/dist/src/drawer-container/DrawerContainerElement.d.ts.map +1 -1
  233. package/dist/src/drawer-container/DrawerToggleElement.d.ts.map +1 -1
  234. package/dist/src/drawer-container/styles/DrawerContainerStyle.d.ts.map +1 -1
  235. package/dist/src/expansion-panel/ExpansionHeaderElement.d.ts.map +1 -1
  236. package/dist/src/expansion-panel/ExpansionPanelElement.d.ts.map +1 -1
  237. package/dist/src/fab/FabElement.d.ts.map +1 -1
  238. package/dist/src/fab-menu/FabMenuElement.d.ts +1 -1
  239. package/dist/src/fab-menu/FabMenuElement.d.ts.map +1 -1
  240. package/dist/src/fab-menu/FabMenuItemElement.d.ts.map +1 -1
  241. package/dist/src/fab-menu/FabMenuTriggerElement.d.ts.map +1 -1
  242. package/dist/src/form-field/FormFieldElement.d.ts.map +1 -1
  243. package/dist/src/icon-button/IconButtonElement.d.ts +2 -1
  244. package/dist/src/icon-button/IconButtonElement.d.ts.map +1 -1
  245. package/dist/src/icon-button/styles/IconButtonSizeStyle.d.ts.map +1 -1
  246. package/dist/src/icon-button/styles/IconButtonVariantStyle.d.ts.map +1 -1
  247. package/dist/src/list/ActionListElement.d.ts.map +1 -1
  248. package/dist/src/list/ListElement.d.ts +1 -1
  249. package/dist/src/list/ListElement.d.ts.map +1 -1
  250. package/dist/src/list/ListItemButtonElement.d.ts.map +1 -1
  251. package/dist/src/list/ListItemElement.d.ts +1 -1
  252. package/dist/src/list/ListItemElement.d.ts.map +1 -1
  253. package/dist/src/list/ListOptionElement.d.ts.map +1 -1
  254. package/dist/src/list/SelectionListElement.d.ts.map +1 -1
  255. package/dist/src/menu/MenuElement.d.ts +1 -1
  256. package/dist/src/menu/MenuElement.d.ts.map +1 -1
  257. package/dist/src/menu/MenuItemCheckboxElement.d.ts.map +1 -1
  258. package/dist/src/menu/MenuItemGroupElement.d.ts.map +1 -1
  259. package/dist/src/menu/MenuItemRadioElement.d.ts.map +1 -1
  260. package/dist/src/menu/MenuTriggerElement.d.ts.map +1 -1
  261. package/dist/src/nav-bar/NavBarElement.d.ts +1 -1
  262. package/dist/src/nav-bar/NavBarElement.d.ts.map +1 -1
  263. package/dist/src/nav-bar/NavItemElement.d.ts.map +1 -1
  264. package/dist/src/nav-menu/NavMenuElement.d.ts.map +1 -1
  265. package/dist/src/nav-menu/NavMenuItemElement.d.ts.map +1 -1
  266. package/dist/src/nav-menu/NavMenuItemGroupElement.d.ts +1 -1
  267. package/dist/src/nav-menu/NavMenuItemGroupElement.d.ts.map +1 -1
  268. package/dist/src/nav-rail/NavRailElement.d.ts.map +1 -1
  269. package/dist/src/nav-rail/NavRailToggleElement.d.ts.map +1 -1
  270. package/dist/src/option/OptGroupElement.d.ts.map +1 -1
  271. package/dist/src/option/OptionElement.d.ts +1 -2
  272. package/dist/src/option/OptionElement.d.ts.map +1 -1
  273. package/dist/src/option/OptionPanelElement.d.ts +12 -13
  274. package/dist/src/option/OptionPanelElement.d.ts.map +1 -1
  275. package/dist/src/paginator/PaginatorElement.d.ts +5 -1
  276. package/dist/src/paginator/PaginatorElement.d.ts.map +1 -1
  277. package/dist/src/progress-indicator/CircularProgressIndicatorElement.d.ts.map +1 -1
  278. package/dist/src/radio-group/RadioElement.d.ts.map +1 -1
  279. package/dist/src/radio-group/RadioGroupElement.d.ts.map +1 -1
  280. package/dist/src/segmented-button/ButtonSegmentElement.d.ts.map +1 -1
  281. package/dist/src/segmented-button/SegmentedButtonElement.d.ts.map +1 -1
  282. package/dist/src/select/SelectElement.d.ts.map +1 -1
  283. package/dist/src/shape/ShapeElement.d.ts.map +1 -1
  284. package/dist/src/slide-group/SlideGroupElement.d.ts +1 -0
  285. package/dist/src/slide-group/SlideGroupElement.d.ts.map +1 -1
  286. package/dist/src/slider/SliderElement.d.ts +3 -1
  287. package/dist/src/slider/SliderElement.d.ts.map +1 -1
  288. package/dist/src/slider/SliderThumbElement.d.ts.map +1 -1
  289. package/dist/src/snackbar/SnackbarElement.d.ts +2 -0
  290. package/dist/src/snackbar/SnackbarElement.d.ts.map +1 -1
  291. package/dist/src/split-button/SplitButtonElement.d.ts +1 -0
  292. package/dist/src/split-button/SplitButtonElement.d.ts.map +1 -1
  293. package/dist/src/stepper/StepElement.d.ts.map +1 -1
  294. package/dist/src/stepper/StepperElement.d.ts.map +1 -1
  295. package/dist/src/switch/SwitchElement.d.ts.map +1 -1
  296. package/dist/src/tabs/TabElement.d.ts.map +1 -1
  297. package/dist/src/tabs/TabPanelElement.d.ts.map +1 -1
  298. package/dist/src/tabs/TabsElement.d.ts +1 -0
  299. package/dist/src/tabs/TabsElement.d.ts.map +1 -1
  300. package/dist/src/toc/TocElement.d.ts.map +1 -1
  301. package/dist/src/toc/TocItemElement.d.ts.map +1 -1
  302. package/dist/src/tooltip/RichTooltipActionElement.d.ts.map +1 -1
  303. package/dist/src/tooltip/TooltipElementBase.d.ts +1 -1
  304. package/dist/src/tooltip/TooltipElementBase.d.ts.map +1 -1
  305. package/dist/stepper.js +9 -9
  306. package/dist/stepper.js.map +1 -1
  307. package/dist/stepper.min.js +1 -1
  308. package/dist/stepper.min.js.map +1 -1
  309. package/dist/switch.js +2 -2
  310. package/dist/switch.js.map +1 -1
  311. package/dist/switch.min.js +1 -1
  312. package/dist/switch.min.js.map +1 -1
  313. package/dist/tabs.js +8 -7
  314. package/dist/tabs.js.map +1 -1
  315. package/dist/tabs.min.js +1 -1
  316. package/dist/tabs.min.js.map +1 -1
  317. package/dist/textarea-autosize.js +2 -2
  318. package/dist/textarea-autosize.js.map +1 -1
  319. package/dist/textarea-autosize.min.js +2 -2
  320. package/dist/textarea-autosize.min.js.map +1 -1
  321. package/dist/theme.js +2 -2
  322. package/dist/theme.js.map +1 -1
  323. package/dist/theme.min.js +2 -2
  324. package/dist/theme.min.js.map +1 -1
  325. package/dist/toc.js +9 -9
  326. package/dist/toc.js.map +1 -1
  327. package/dist/toc.min.js +1 -1
  328. package/dist/toc.min.js.map +1 -1
  329. package/dist/toolbar.js +2 -2
  330. package/dist/toolbar.js.map +1 -1
  331. package/dist/toolbar.min.js +1 -1
  332. package/dist/toolbar.min.js.map +1 -1
  333. package/dist/tooltip.js +5 -5
  334. package/dist/tooltip.js.map +1 -1
  335. package/dist/tooltip.min.js +1 -1
  336. package/dist/tooltip.min.js.map +1 -1
  337. package/package.json +1 -1
package/dist/all.js CHANGED
@@ -4,14 +4,20 @@
4
4
  * See LICENSE file in the project root for full license text.
5
5
  */
6
6
  import { unsafeCSS, css, LitElement, html, nothing, isServer, noChange, svg } from 'lit';
7
- import { DesignToken as DesignToken$1, HtmlFor as HtmlFor$1, Role as Role$1, debounce as debounce$1, hasAssignedNodes as hasAssignedNodes$1, scrollIntoViewIfNeeded as scrollIntoViewIfNeeded$1, prefersReducedMotion as prefersReducedMotion$1, forcedColorsActive as forcedColorsActive$1, ActionElementBase as ActionElementBase$1, EventAttribute as EventAttribute$1, VelocityTracker as VelocityTracker$1, ScrollLockController as ScrollLockController$1, ResizeController as ResizeController$1, focusWhenReady as focusWhenReady$1, computeCssSize as computeCssSize$1, spaceSeparatedStringConverter as spaceSeparatedStringConverter$1, KeyboardClick as KeyboardClick$1, LinkButton as LinkButton$1, FormSubmitter as FormSubmitter$1, Focusable as Focusable$1, DisabledInteractive as DisabledInteractive$1, Disabled as Disabled$1, AttachInternals as AttachInternals$1, FocusController as FocusController$1, PressedController as PressedController$1, renderPseudoLink as renderPseudoLink$1, isSelectedMixin as isSelectedMixin$1, Labelled as Labelled$1, RequiredConstraintValidation as RequiredConstraintValidation$1, Dirty as Dirty$1, Touched as Touched$1, Required as Required$1, ConstraintValidation as ConstraintValidation$1, CheckedIndeterminate as CheckedIndeterminate$1, FormAssociated as FormAssociated$1, HoverController as HoverController$1, formValue as formValue$1, isDisabledMixin as isDisabledMixin$1, isDisabledInteractiveMixin as isDisabledInteractiveMixin$1, isLinkButtonMixin as isLinkButtonMixin$1, getTextContent as getTextContent$1, Vertical as Vertical$1, Selected as Selected$1, ScrollController as ScrollController$1, MutationController as MutationController$1, isReadOnlyMixin as isReadOnlyMixin$1, interceptProperty as interceptProperty$1, computeLineCount as computeLineCount$1, generateClipPaths as generateClipPaths$1, Checked as Checked$1, AnimationLoopController as AnimationLoopController$1, resolveFragmentUrl as resolveFragmentUrl$1, safeStyleMap as safeStyleMap$1, updateLabels as updateLabels$1, guid as guid$1, IntersectionController as IntersectionController$1, LongPressController as LongPressController$1 } from '@m3e/web/core';
7
+ import { DesignToken as DesignToken$1, HtmlFor as HtmlFor$1, Role as Role$1, debounce as debounce$1, customElement as customElement$1, hasAssignedNodes as hasAssignedNodes$1, setCustomState as setCustomState$1, prefersReducedMotion as prefersReducedMotion$1, scrollIntoViewIfNeeded as scrollIntoViewIfNeeded$1, forcedColorsActive as forcedColorsActive$1, deleteCustomState as deleteCustomState$1, addCustomState as addCustomState$1, ActionElementBase as ActionElementBase$1, EventAttribute as EventAttribute$1, AttachInternals as AttachInternals$1, VelocityTracker as VelocityTracker$1, ScrollLockController as ScrollLockController$1, ResizeController as ResizeController$1, focusWhenReady as focusWhenReady$1, hasCustomState as hasCustomState$1, computeCssSize as computeCssSize$1, spaceSeparatedStringConverter as spaceSeparatedStringConverter$1, KeyboardClick as KeyboardClick$1, LinkButton as LinkButton$1, FormSubmitter as FormSubmitter$1, Focusable as Focusable$1, DisabledInteractive as DisabledInteractive$1, Disabled as Disabled$1, FocusController as FocusController$1, PressedController as PressedController$1, renderPseudoLink as renderPseudoLink$1, isSelectedMixin as isSelectedMixin$1, Labelled as Labelled$1, RequiredConstraintValidation as RequiredConstraintValidation$1, Dirty as Dirty$1, Touched as Touched$1, Required as Required$1, ConstraintValidation as ConstraintValidation$1, CheckedIndeterminate as CheckedIndeterminate$1, FormAssociated as FormAssociated$1, HoverController as HoverController$1, formValue as formValue$1, isDisabledMixin as isDisabledMixin$1, isDisabledInteractiveMixin as isDisabledInteractiveMixin$1, isLinkButtonMixin as isLinkButtonMixin$1, getTextContent as getTextContent$1, Vertical as Vertical$1, Selected as Selected$1, ScrollController as ScrollController$1, MutationController as MutationController$1, isReadOnlyMixin as isReadOnlyMixin$1, interceptProperty as interceptProperty$1, computeLineCount as computeLineCount$1, generateClipPaths as generateClipPaths$1, Checked as Checked$1, AnimationLoopController as AnimationLoopController$1, resolveFragmentUrl as resolveFragmentUrl$1, safeStyleMap as safeStyleMap$1, updateLabels as updateLabels$1, guid as guid$1, IntersectionController as IntersectionController$1, LongPressController as LongPressController$1 } from '@m3e/web/core';
8
8
  import { ListKeyManager, M3eInteractivityChecker, isModifierAllowed, addAriaReferencedId, removeAriaReferencedId, selectionManager, SelectionManager, ListManager, RovingTabIndexManager, M3eAriaDescriber, typeaheadLabel } from '@m3e/web/core/a11y';
9
9
  import { M3eDirectionality } from '@m3e/web/core/bidi';
10
10
  import { positionAnchor } from '@m3e/web/core/anchoring';
11
+ import { M3eIconButtonElement as M3eIconButtonElement$1 } from '@m3e/web/icon-button';
11
12
  import { M3eBreakpointObserver, Breakpoint } from '@m3e/web/core/layout';
12
13
  import { M3eNavBarElement as M3eNavBarElement$1 } from '@m3e/web/nav-bar';
14
+ import '@m3e/web/form-field';
15
+ import '@m3e/web/select';
16
+ import '@m3e/web/option';
17
+ import '@m3e/web/tooltip';
13
18
  import { M3eButtonElement as M3eButtonElement$1 } from '@m3e/web/button';
14
- import { M3eIconButtonElement as M3eIconButtonElement$1 } from '@m3e/web/icon-button';
19
+ import '@m3e/web/button-group';
20
+ import '@m3e/web/slide-group';
15
21
  import { M3ePlatform } from '@m3e/web/core/platform';
16
22
 
17
23
  /******************************************************************************
@@ -53,17 +59,6 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
53
59
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
54
60
  };
55
61
 
56
- /**
57
- * @license
58
- * Copyright 2017 Google LLC
59
- * SPDX-License-Identifier: BSD-3-Clause
60
- */
61
- const t$3 = t => (e, o) => {
62
- void 0 !== o ? o.addInitializer(() => {
63
- customElements.define(t, e);
64
- }) : customElements.define(t, e);
65
- };
66
-
67
62
  /**
68
63
  * @license
69
64
  * Copyright 2019 Google LLC
@@ -541,7 +536,7 @@ const AppBarSizeToken = {
541
536
 
542
537
  /** @private */
543
538
  function appBarStyle(size) {
544
- return css`:host([size="${unsafeCSS(size)}"]) .base:not(.-with-subtitle) { min-height: ${AppBarSizeToken[size].containerHeight}; } :host([size="${unsafeCSS(size)}"]) .base.-with-subtitle { min-height: ${AppBarSizeToken[size].containerHeightWithSubtitle ?? AppBarSizeToken[size].containerHeight}; } :host([size="${unsafeCSS(size)}"]) .title { font-size: ${AppBarSizeToken[size].titleTextFontSize}; font-weight: ${AppBarSizeToken[size].titleTextFontWeight}; line-height: ${AppBarSizeToken[size].titleTextLineHeight}; letter-spacing: ${AppBarSizeToken[size].titleTextTracking}; } :host([size="${unsafeCSS(size)}"]) .subtitle { font-size: ${AppBarSizeToken[size].subtitleTextFontSize}; font-weight: ${AppBarSizeToken[size].subtitleTextFontWeight}; line-height: ${AppBarSizeToken[size].subtitleTextLineHeight}; letter-spacing: ${AppBarSizeToken[size].subtitleTextTracking}; } :host(:not([centered])[size="${unsafeCSS(size)}"]) .label { padding-inline-start: ${AppBarSizeToken[size].headingPaddingLeft}; padding-inline-end: ${AppBarSizeToken[size].headingPaddingRight}; } :host([centered][size="${unsafeCSS(size)}"]) .label { padding-inline: ${AppBarSizeToken[size].headingPaddingLeft}; } :host([size="${unsafeCSS(size)}"]) .base { padding-block-start: ${AppBarSizeToken[size].paddingTop ?? unsafeCSS("unset")}; padding-block-end: ${AppBarSizeToken[size].paddingBottom ?? unsafeCSS("unset")}; } ${AppBarSizeToken[size].titleMaxLines ? css`:host([size="${unsafeCSS(size)}"]) .title { display: -webkit-box; -webkit-line-clamp: ${AppBarSizeToken[size].titleMaxLines}; -webkit-box-orient: vertical; overflow: hidden; line-clamp: ${AppBarSizeToken[size].titleMaxLines}; }` : css``} ${AppBarSizeToken[size].subtitleMaxLines ? css`:host([size="${unsafeCSS(size)}"]) .subtitle { display: -webkit-box; -webkit-line-clamp: ${AppBarSizeToken[size].subtitleMaxLines}; -webkit-box-orient: vertical; overflow: hidden; line-clamp: ${AppBarSizeToken[size].subtitleMaxLines}; }` : css``}`;
539
+ return css`:host([size="${unsafeCSS(size)}"]) .base:not(.with-subtitle) { min-height: ${AppBarSizeToken[size].containerHeight}; } :host([size="${unsafeCSS(size)}"]) .base.with-subtitle { min-height: ${AppBarSizeToken[size].containerHeightWithSubtitle ?? AppBarSizeToken[size].containerHeight}; } :host([size="${unsafeCSS(size)}"]) .title { font-size: ${AppBarSizeToken[size].titleTextFontSize}; font-weight: ${AppBarSizeToken[size].titleTextFontWeight}; line-height: ${AppBarSizeToken[size].titleTextLineHeight}; letter-spacing: ${AppBarSizeToken[size].titleTextTracking}; } :host([size="${unsafeCSS(size)}"]) .subtitle { font-size: ${AppBarSizeToken[size].subtitleTextFontSize}; font-weight: ${AppBarSizeToken[size].subtitleTextFontWeight}; line-height: ${AppBarSizeToken[size].subtitleTextLineHeight}; letter-spacing: ${AppBarSizeToken[size].subtitleTextTracking}; } :host(:not([centered])[size="${unsafeCSS(size)}"]) .label { padding-inline-start: ${AppBarSizeToken[size].headingPaddingLeft}; padding-inline-end: ${AppBarSizeToken[size].headingPaddingRight}; } :host([centered][size="${unsafeCSS(size)}"]) .label { padding-inline: ${AppBarSizeToken[size].headingPaddingLeft}; } :host([size="${unsafeCSS(size)}"]) .base { padding-block-start: ${AppBarSizeToken[size].paddingTop ?? unsafeCSS("unset")}; padding-block-end: ${AppBarSizeToken[size].paddingBottom ?? unsafeCSS("unset")}; } ${AppBarSizeToken[size].titleMaxLines ? css`:host([size="${unsafeCSS(size)}"]) .title { display: -webkit-box; -webkit-line-clamp: ${AppBarSizeToken[size].titleMaxLines}; -webkit-box-orient: vertical; overflow: hidden; line-clamp: ${AppBarSizeToken[size].titleMaxLines}; }` : css``} ${AppBarSizeToken[size].subtitleMaxLines ? css`:host([size="${unsafeCSS(size)}"]) .subtitle { display: -webkit-box; -webkit-line-clamp: ${AppBarSizeToken[size].subtitleMaxLines}; -webkit-box-orient: vertical; overflow: hidden; line-clamp: ${AppBarSizeToken[size].subtitleMaxLines}; }` : css``}`;
545
540
  }
546
541
  /**
547
542
  * Size variant styles for `M3eAppBarElement`.
@@ -569,7 +564,7 @@ const AppBarToken = {
569
564
  * @internal
570
565
  */
571
566
  const AppBarStyle = css`:host { display: block; flex: none; } :host([size="small"]) .base, :host(:not([size="small"]):not([centered])) .heading { padding-inline-start: ${AppBarToken.paddingLeft}; padding-inline-end: ${AppBarToken.paddingRight}; } .base { box-sizing: border-box; display: flex; transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.medium1} ${DesignToken$1.motion.easing.standard},
572
- box-shadow ${DesignToken$1.motion.duration.medium1} ${DesignToken$1.motion.easing.standard}`)}; } .base:not(.-on-scroll) { background-color: ${AppBarToken.containerColor}; box-shadow: ${AppBarToken.containerElevation}; } .base.-on-scroll { background-color: ${AppBarToken.containerColorOnScroll}; box-shadow: ${AppBarToken.containerElevationOnScroll}; } .leading-icon, .trailing-icon { display: flex; flex: none; align-items: center; } .leading-icon { min-width: var(--_leading-icon-min-width); } .trailing-icon { min-width: var(--_trailing-icon-min-width); } .heading { display: flex; align-items: center; } :host([size="small"]) .heading { flex: 1 1 auto; } .spacer { flex: 1 1 auto; } .label { display: flex; flex-direction: column; flex: none; } .title { color: ${AppBarToken.titleTextColor}; } .subtitle { color: ${AppBarToken.subtitleTextColor}; } .base:not(.-with-title) .title, .base:not(.-with-subtitle) .subtitle, .base:not(.-with-title):not(.-with-subtitle) .label, .base:not(.-with-trailing-icon) .trailing-icon { display: none; } :host([size="small"]) .base { align-items: center; } :host([size="small"]) .heading { min-width: 0; } :host([size="small"]) .label { flex: 1 1 auto; min-width: 0; } :host([size="small"]) .title, :host([size="small"]) .subtitle { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } :host(:not([size="small"])) .base { flex-direction: column; } :host([centered]) .title, :host([centered]) .subtitle { text-align: center; } @media (prefers-reduced-motion) { .base { transition: none; } } @media (forced-colors: active) { .base { transition: none; } .base:not(.-on-scroll), .base.-on-scroll { background-color: Canvas; box-shadow: unset; } .title { color: CanvasText; } .subtitle { color: FieldText; } }`;
567
+ box-shadow ${DesignToken$1.motion.duration.medium1} ${DesignToken$1.motion.easing.standard}`)}; } .base:not(.on-scroll) { background-color: ${AppBarToken.containerColor}; box-shadow: ${AppBarToken.containerElevation}; } .base.on-scroll { background-color: ${AppBarToken.containerColorOnScroll}; box-shadow: ${AppBarToken.containerElevationOnScroll}; } .leading-icon, .trailing-icon { display: flex; flex: none; align-items: center; } .leading-icon { min-width: var(--_leading-icon-min-width); } .trailing-icon { min-width: var(--_trailing-icon-min-width); } .heading { display: flex; align-items: center; } :host([size="small"]) .heading { flex: 1 1 auto; } .spacer { flex: 1 1 auto; } .label { display: flex; flex-direction: column; flex: none; } .title { color: ${AppBarToken.titleTextColor}; } .subtitle { color: ${AppBarToken.subtitleTextColor}; } .base:not(.with-title) .title, .base:not(.with-subtitle) .subtitle, .base:not(.with-title):not(.with-subtitle) .label, .base:not(.with-trailing-icon) .trailing-icon { display: none; } :host([size="small"]) .base { align-items: center; } :host([size="small"]) .heading { min-width: 0; } :host([size="small"]) .label { flex: 1 1 auto; min-width: 0; } :host([size="small"]) .title, :host([size="small"]) .subtitle { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } :host(:not([size="small"])) .base { flex-direction: column; } :host([centered]) .title, :host([centered]) .subtitle { text-align: center; } @media (prefers-reduced-motion) { .base { transition: none; } } @media (forced-colors: active) { .base { transition: none; } .base:not(.on-scroll), .base.on-scroll { background-color: Canvas; box-shadow: unset; } .title { color: CanvasText; } .subtitle { color: FieldText; } }`;
573
568
 
574
569
  var _M3eAppBarElement_instances, _M3eAppBarElement_scrollHandler, _M3eAppBarElement_frameLoadHandler, _M3eAppBarElement_handleTitleSlotChange, _M3eAppBarElement_handleSubtitleSlotChange, _M3eAppBarElement_handleLeadingIconSlotChange, _M3eAppBarElement_handleTrailingIconsSlotChange, _M3eAppBarElement_clearCentered, _M3eAppBarElement_computeCentered, _M3eAppBarElement_handleFrameLoad, _M3eAppBarElement_getFrameScrollTop;
575
570
  /**
@@ -743,26 +738,26 @@ let M3eAppBarElement = class M3eAppBarElement extends HtmlFor$1(Role$1(LitElemen
743
738
  } else if (e.target instanceof HTMLElement) {
744
739
  scrollTop = e.target.scrollTop;
745
740
  }
746
- this._base?.classList.toggle("-on-scroll", scrollTop > 0);
741
+ this._base?.classList.toggle("on-scroll", scrollTop > 0);
747
742
  }
748
743
  };
749
744
  _M3eAppBarElement_scrollHandler = new WeakMap();
750
745
  _M3eAppBarElement_frameLoadHandler = new WeakMap();
751
746
  _M3eAppBarElement_instances = new WeakSet();
752
747
  _M3eAppBarElement_handleTitleSlotChange = function _M3eAppBarElement_handleTitleSlotChange(e) {
753
- this._base?.classList.toggle("-with-title", hasAssignedNodes$1(e.target));
748
+ this._base?.classList.toggle("with-title", hasAssignedNodes$1(e.target));
754
749
  };
755
750
  _M3eAppBarElement_handleSubtitleSlotChange = function _M3eAppBarElement_handleSubtitleSlotChange(e) {
756
- this._base?.classList.toggle("-with-subtitle", hasAssignedNodes$1(e.target));
751
+ this._base?.classList.toggle("with-subtitle", hasAssignedNodes$1(e.target));
757
752
  };
758
753
  _M3eAppBarElement_handleLeadingIconSlotChange = function _M3eAppBarElement_handleLeadingIconSlotChange(e) {
759
- this._base?.classList.toggle("-with-leading-icon", hasAssignedNodes$1(e.target));
754
+ this._base?.classList.toggle("with-leading-icon", hasAssignedNodes$1(e.target));
760
755
  if (this.centered && this.size === "small") {
761
756
  setTimeout(() => __classPrivateFieldGet(this, _M3eAppBarElement_instances, "m", _M3eAppBarElement_computeCentered).call(this), 40);
762
757
  }
763
758
  };
764
759
  _M3eAppBarElement_handleTrailingIconsSlotChange = function _M3eAppBarElement_handleTrailingIconsSlotChange(e) {
765
- this._base?.classList.toggle("-with-trailing-icon", hasAssignedNodes$1(e.target));
760
+ this._base?.classList.toggle("with-trailing-icon", hasAssignedNodes$1(e.target));
766
761
  if (this.centered && this.size === "small") {
767
762
  setTimeout(() => __classPrivateFieldGet(this, _M3eAppBarElement_instances, "m", _M3eAppBarElement_computeCentered).call(this), 40);
768
763
  }
@@ -786,7 +781,7 @@ _M3eAppBarElement_handleFrameLoad = function _M3eAppBarElement_handleFrameLoad()
786
781
  this.control.contentDocument?.addEventListener("scroll", __classPrivateFieldGet(this, _M3eAppBarElement_scrollHandler, "f"), {
787
782
  passive: true
788
783
  });
789
- this._base?.classList.toggle("-on-scroll", __classPrivateFieldGet(this, _M3eAppBarElement_instances, "m", _M3eAppBarElement_getFrameScrollTop).call(this, this.control) > 0);
784
+ this._base?.classList.toggle("on-scroll", __classPrivateFieldGet(this, _M3eAppBarElement_instances, "m", _M3eAppBarElement_getFrameScrollTop).call(this, this.control) > 0);
790
785
  }
791
786
  };
792
787
  _M3eAppBarElement_getFrameScrollTop = function _M3eAppBarElement_getFrameScrollTop(frame) {
@@ -806,7 +801,7 @@ __decorate([n$1({
806
801
  reflect: true
807
802
  })], M3eAppBarElement.prototype, "size", void 0);
808
803
  __decorate([debounce$1(40)], M3eAppBarElement.prototype, "_updateScroll", null);
809
- M3eAppBarElement = __decorate([t$3("m3e-app-bar")], M3eAppBarElement);
804
+ M3eAppBarElement = __decorate([customElement$1("m3e-app-bar")], M3eAppBarElement);
810
805
 
811
806
  var _M3eAutocompleteElement_instances, _M3eAutocompleteElement_id, _M3eAutocompleteElement_menuId, _M3eAutocompleteElement_ignoreFocusVisible, _M3eAutocompleteElement_menu, _M3eAutocompleteElement_textHighlight, _M3eAutocompleteElement_ignoreHideMenuOnBlur, _M3eAutocompleteElement_clickHandler, _M3eAutocompleteElement_formFieldPointerDownHandler, _M3eAutocompleteElement_focusHandler, _M3eAutocompleteElement_blurHandler, _M3eAutocompleteElement_keyDownHandler, _M3eAutocompleteElement_inputHandler, _M3eAutocompleteElement_changeHandler, _M3eAutocompleteElement_menuToggleHandler, _M3eAutocompleteElement_menuPointerDownHandler, _M3eAutocompleteElement_input_get, _M3eAutocompleteElement_hasVisibleOptions_get, _M3eAutocompleteElement_minMenuWidth_get, _M3eAutocompleteElement_formField_get, _M3eAutocompleteElement_handleSlotChange, _M3eAutocompleteElement_handleClick, _M3eAutocompleteElement_handleFormFieldPointerDown, _M3eAutocompleteElement_handleFocus, _M3eAutocompleteElement_handleBlur, _M3eAutocompleteElement_handleInput, _M3eAutocompleteElement_handleChange, _M3eAutocompleteElement_handleKeyDown, _M3eAutocompleteElement_handleMenuPointerDown, _M3eAutocompleteElement_handleMenuToggle, _M3eAutocompleteElement_destroyMenu, _M3eAutocompleteElement_showMenu, _M3eAutocompleteElement_hideMenu, _M3eAutocompleteElement_activateOption, _M3eAutocompleteElement_selectOption, _M3eAutocompleteElement_filterOptions, _M3eAutocompleteElement_autoActivate, _M3eAutocompleteElement_deactivateOption;
812
807
  var M3eAutocompleteElement_1;
@@ -994,7 +989,7 @@ _M3eAutocompleteElement_handleSlotChange = function _M3eAutocompleteElement_hand
994
989
  } = this._listKeyManager.setItems([...this.querySelectorAll("m3e-option")]);
995
990
  added.forEach(x => {
996
991
  x.id = x.id || `${__classPrivateFieldGet(this, _M3eAutocompleteElement_id, "f")}-option-${this._listKeyManager.items.indexOf(x)}`;
997
- x.classList.toggle("-hide-selection-indicator", this.hideSelectionIndicator);
992
+ setCustomState$1(x, "-hide-selection-indicator", this.hideSelectionIndicator);
998
993
  });
999
994
  };
1000
995
  _M3eAutocompleteElement_handleClick = function _M3eAutocompleteElement_handleClick() {
@@ -1046,7 +1041,11 @@ _M3eAutocompleteElement_handleKeyDown = function _M3eAutocompleteElement_handleK
1046
1041
  if (__classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f") && this._listKeyManager.activeItem) {
1047
1042
  e.preventDefault();
1048
1043
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_selectOption).call(this, this._listKeyManager.activeItem);
1049
- __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_hideMenu).call(this);
1044
+ if (!prefersReducedMotion$1()) {
1045
+ setTimeout(() => __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_hideMenu).call(this), 150);
1046
+ } else {
1047
+ __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_hideMenu).call(this);
1048
+ }
1050
1049
  } else if (__classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f")) {
1051
1050
  setTimeout(() => {
1052
1051
  if (__classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get) && !__classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).value) {
@@ -1089,7 +1088,11 @@ _M3eAutocompleteElement_handleMenuPointerDown = function _M3eAutocompleteElement
1089
1088
  if (option && !option.disabled) {
1090
1089
  this._listKeyManager.setActiveItem(option);
1091
1090
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_selectOption).call(this, option);
1092
- __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_hideMenu).call(this);
1091
+ if (!prefersReducedMotion$1()) {
1092
+ setTimeout(() => __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_hideMenu).call(this), 150);
1093
+ } else {
1094
+ __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_hideMenu).call(this);
1095
+ }
1093
1096
  }
1094
1097
  };
1095
1098
  _M3eAutocompleteElement_handleMenuToggle = function _M3eAutocompleteElement_handleMenuToggle(e) {
@@ -1125,9 +1128,11 @@ _M3eAutocompleteElement_destroyMenu = function _M3eAutocompleteElement_destroyMe
1125
1128
  __classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f").removeEventListener("pointerdown", __classPrivateFieldGet(this, _M3eAutocompleteElement_menuPointerDownHandler, "f"));
1126
1129
  __classPrivateFieldSet(this, _M3eAutocompleteElement_menu, undefined, "f");
1127
1130
  __classPrivateFieldSet(this, _M3eAutocompleteElement_textHighlight, undefined, "f");
1128
- this.ariaExpanded = "false";
1129
- this.removeAttribute("aria-controls");
1130
- this.removeAttribute("aria-owns");
1131
+ if (__classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get)) {
1132
+ __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).ariaExpanded = "false";
1133
+ __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).removeAttribute("aria-controls");
1134
+ __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).removeAttribute("aria-owns");
1135
+ }
1131
1136
  this.requestUpdate();
1132
1137
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_formField_get)?.notifyControlStateChange();
1133
1138
  this.dispatchEvent(new ToggleEvent("toggle", {
@@ -1151,14 +1156,14 @@ _M3eAutocompleteElement_showMenu = function _M3eAutocompleteElement_showMenu() {
1151
1156
  __classPrivateFieldGet(this, _M3eAutocompleteElement_textHighlight, "f").append(node);
1152
1157
  }
1153
1158
  (__classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_formField_get) ?? __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get)).insertAdjacentElement("afterend", __classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f"));
1154
- this.ariaExpanded = "true";
1155
- this.setAttribute("aria-controls", __classPrivateFieldGet(this, _M3eAutocompleteElement_menuId, "f"));
1156
- this.setAttribute("aria-owns", __classPrivateFieldGet(this, _M3eAutocompleteElement_menuId, "f"));
1159
+ __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).setAttribute("aria-controls", __classPrivateFieldGet(this, _M3eAutocompleteElement_menuId, "f"));
1160
+ __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get).setAttribute("aria-owns", __classPrivateFieldGet(this, _M3eAutocompleteElement_menuId, "f"));
1157
1161
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_formField_get)?.notifyControlStateChange();
1158
1162
  if (this._listKeyManager.activeItem && this.autoActivate) {
1159
1163
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_activateOption).call(this, this._listKeyManager.activeItem, true);
1160
1164
  }
1161
- setTimeout(() => __classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f")?.show(this, __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_formField_get)?.menuAnchor));
1165
+ const input = __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_input_get);
1166
+ setTimeout(() => __classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f")?.show(input, __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "a", _M3eAutocompleteElement_formField_get)?.menuAnchor));
1162
1167
  };
1163
1168
  _M3eAutocompleteElement_hideMenu = function _M3eAutocompleteElement_hideMenu() {
1164
1169
  __classPrivateFieldGet(this, _M3eAutocompleteElement_menu, "f")?.hide();
@@ -1206,16 +1211,19 @@ _M3eAutocompleteElement_filterOptions = function _M3eAutocompleteElement_filterO
1206
1211
  option.style.display = hidden ? "none" : "";
1207
1212
  if (hidden) {
1208
1213
  __classPrivateFieldGet(this, _M3eAutocompleteElement_instances, "m", _M3eAutocompleteElement_deactivateOption).call(this, option);
1209
- option.classList.remove("-first");
1210
- option.classList.remove("-last");
1214
+ deleteCustomState$1(option, "-first");
1215
+ deleteCustomState$1(option, "-last");
1211
1216
  } else if (!first) {
1212
- option.classList.add("-first");
1217
+ addCustomState$1(option, "-first");
1213
1218
  first = true;
1214
- option.classList.add("-last");
1219
+ addCustomState$1(option, "-last");
1215
1220
  last = option;
1216
1221
  } else {
1217
- last?.classList.remove("-last");
1218
- option.classList.add("-last");
1222
+ deleteCustomState$1(option, "-first");
1223
+ if (last) {
1224
+ deleteCustomState$1(last, "-last");
1225
+ }
1226
+ addCustomState$1(option, "-last");
1219
1227
  last = option;
1220
1228
  }
1221
1229
  if (option.selected && value !== term) {
@@ -1267,7 +1275,7 @@ __decorate([n$1({
1267
1275
  attribute: "auto-activate",
1268
1276
  type: Boolean
1269
1277
  })], M3eAutocompleteElement.prototype, "autoActivate", void 0);
1270
- M3eAutocompleteElement = M3eAutocompleteElement_1 = __decorate([t$3("m3e-autocomplete")], M3eAutocompleteElement);
1278
+ M3eAutocompleteElement = M3eAutocompleteElement_1 = __decorate([customElement$1("m3e-autocomplete")], M3eAutocompleteElement);
1271
1279
 
1272
1280
  /**
1273
1281
  * An image, icon or textual initials representing a user or other identity.
@@ -1323,7 +1331,7 @@ let M3eAvatarElement = class M3eAvatarElement extends LitElement {
1323
1331
  };
1324
1332
  /** The styles of the element. */
1325
1333
  M3eAvatarElement.styles = css`:host { display: inline-block; vertical-align: middle; aspect-ratio: 1 / 1; width: var(--m3e-avatar-size, 2.5rem); } .base { user-select: none; white-space: nowrap; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: var(--m3e-avatar-shape, ${DesignToken$1.shape.corner.full}); font-size: var(--m3e-avatar-font-size, ${DesignToken$1.typescale.standard.title.medium.fontSize}); font-weight: var(--m3e-avatar-font-weight, ${DesignToken$1.typescale.standard.title.medium.fontWeight}); line-height: var(--m3e-avatar-line-height, ${DesignToken$1.typescale.standard.title.medium.lineHeight}); letter-spacing: var(--m3e-avatar-tracking, ${DesignToken$1.typescale.standard.title.medium.tracking}); background-color: var(--m3e-avatar-color, ${DesignToken$1.color.primaryContainer}); color: var(--m3e-avatar-label-color, ${DesignToken$1.color.onPrimaryContainer}); } ::slotted(img) { display: block; margin: 0 auto; overflow: hidden; object-fit: cover; width: 100%; height: 100%; }`;
1326
- M3eAvatarElement = __decorate([t$3("m3e-avatar")], M3eAvatarElement);
1334
+ M3eAvatarElement = __decorate([customElement$1("m3e-avatar")], M3eAvatarElement);
1327
1335
 
1328
1336
  var _M3eBadgeElement_instances, _M3eBadgeElement_directionalitySubscription, _M3eBadgeElement_anchorCleanup, _M3eBadgeElement_handleSlotChange, _M3eBadgeElement_detach, _M3eBadgeElement_attach;
1329
1337
  /**
@@ -1483,7 +1491,7 @@ __decorate([n$1({
1483
1491
  __decorate([n$1({
1484
1492
  reflect: true
1485
1493
  })], M3eBadgeElement.prototype, "position", void 0);
1486
- M3eBadgeElement = __decorate([t$3("m3e-badge")], M3eBadgeElement);
1494
+ M3eBadgeElement = __decorate([customElement$1("m3e-badge")], M3eBadgeElement);
1487
1495
 
1488
1496
  /**
1489
1497
  * An element, nested within a clickable element, used to close a parenting bottom sheet.
@@ -1497,7 +1505,7 @@ let M3eBottomSheetActionElement = class M3eBottomSheetActionElement extends Acti
1497
1505
  this.closest("m3e-bottom-sheet")?.hide();
1498
1506
  }
1499
1507
  };
1500
- M3eBottomSheetActionElement = __decorate([t$3("m3e-bottom-sheet-action")], M3eBottomSheetActionElement);
1508
+ M3eBottomSheetActionElement = __decorate([customElement$1("m3e-bottom-sheet-action")], M3eBottomSheetActionElement);
1501
1509
 
1502
1510
  var _M3eBottomSheetElement_instances, _M3eBottomSheetElement_documentClickHandler, _M3eBottomSheetElement_documentKeyDownHandler, _M3eBottomSheetElement_windowResizeHandler, _M3eBottomSheetElement_inerts, _M3eBottomSheetElement_velocityTracker, _M3eBottomSheetElement_scrollLockController, _M3eBottomSheetElement_resizeController, _M3eBottomSheetElement_trigger, _M3eBottomSheetElement_dragState, _M3eBottomSheetElement_dragged, _M3eBottomSheetElement_activeDetent, _M3eBottomSheetElement_requestDetent, _M3eBottomSheetElement_cachedContentHeight, _M3eBottomSheetElement_cachedHeaderHeight, _M3eBottomSheetElement_snapAnimation, _M3eBottomSheetElement_handleHeaderSlotChange, _M3eBottomSheetElement_handleHeaderPointerDown, _M3eBottomSheetElement_handleHeaderPointerMove, _M3eBottomSheetElement_handleHeaderPointerUp, _M3eBottomSheetElement_handleDocumentClick, _M3eBottomSheetElement_handleDocumentKeyDown, _M3eBottomSheetElement_handleWindowResize, _M3eBottomSheetElement_handleDragHandleClick, _M3eBottomSheetElement_handleDragHandleKeyDown, _M3eBottomSheetElement_getNextHigherDetent, _M3eBottomSheetElement_getNextLowerDetent, _M3eBottomSheetElement_getClosestDetent, _M3eBottomSheetElement_computeDetentHeight, _M3eBottomSheetElement_computeMaxHeight, _M3eBottomSheetElement_computeMinHeight, _M3eBottomSheetElement_computePeekHeight, _M3eBottomSheetElement_computeFitHeight, _M3eBottomSheetElement_handleSectionResize, _M3eBottomSheetElement_snapToDetent, _M3eBottomSheetElement_snapToHeight, _M3eBottomSheetElement_updateHeight, _M3eBottomSheetElement_applyInert, _M3eBottomSheetElement_restoreInert;
1503
1511
  var M3eBottomSheetElement_1;
@@ -1598,7 +1606,7 @@ var M3eBottomSheetElement_1;
1598
1606
  * @cssprop --m3e-bottom-sheet-header-line-height - Line height for the sheet header.
1599
1607
  * @cssprop --m3e-bottom-sheet-header-tracking - Letter spacing (tracking) for the sheet header.
1600
1608
  */
1601
- let M3eBottomSheetElement = M3eBottomSheetElement_1 = class M3eBottomSheetElement extends EventAttribute$1(LitElement, "opening", "opened", "cancel", "closing", "closed") {
1609
+ let M3eBottomSheetElement = M3eBottomSheetElement_1 = class M3eBottomSheetElement extends EventAttribute$1(AttachInternals$1(LitElement), "opening", "opened", "cancel", "closing", "closed") {
1602
1610
  constructor() {
1603
1611
  super(...arguments);
1604
1612
  _M3eBottomSheetElement_instances.add(this);
@@ -1724,7 +1732,7 @@ let M3eBottomSheetElement = M3eBottomSheetElement_1 = class M3eBottomSheetElemen
1724
1732
  /** @inheritdoc */
1725
1733
  connectedCallback() {
1726
1734
  super.connectedCallback();
1727
- this.classList.add("-no-animate");
1735
+ addCustomState$1(this, "-no-animate");
1728
1736
  }
1729
1737
  /** @inheritdoc */
1730
1738
  update(changedProperties) {
@@ -1748,7 +1756,7 @@ let M3eBottomSheetElement = M3eBottomSheetElement_1 = class M3eBottomSheetElemen
1748
1756
  __classPrivateFieldSet(this, _M3eBottomSheetElement_cachedHeaderHeight, header.clientHeight, "f");
1749
1757
  __classPrivateFieldGet(this, _M3eBottomSheetElement_resizeController, "f").observe(header);
1750
1758
  }
1751
- this.classList.remove("-no-animate");
1759
+ deleteCustomState$1(this, "-no-animate");
1752
1760
  }
1753
1761
  /** @inheritdoc */
1754
1762
  updated(_changedProperties) {
@@ -1847,10 +1855,9 @@ _M3eBottomSheetElement_cachedHeaderHeight = new WeakMap();
1847
1855
  _M3eBottomSheetElement_snapAnimation = new WeakMap();
1848
1856
  _M3eBottomSheetElement_instances = new WeakSet();
1849
1857
  _M3eBottomSheetElement_handleHeaderSlotChange = function _M3eBottomSheetElement_handleHeaderSlotChange(e) {
1850
- this.classList.toggle("-has-header", hasAssignedNodes$1(e.target));
1858
+ setCustomState$1(this, "has-header", hasAssignedNodes$1(e.target));
1851
1859
  };
1852
1860
  _M3eBottomSheetElement_handleHeaderPointerDown = function _M3eBottomSheetElement_handleHeaderPointerDown(e) {
1853
- if (e.button === 2) return;
1854
1861
  if (e.target instanceof HTMLElement && M3eInteractivityChecker.isFocusable(e.target)) {
1855
1862
  return;
1856
1863
  }
@@ -1950,7 +1957,7 @@ _M3eBottomSheetElement_handleWindowResize = function _M3eBottomSheetElement_hand
1950
1957
  return;
1951
1958
  }
1952
1959
  const maxHeight = __classPrivateFieldGet(this, _M3eBottomSheetElement_instances, "m", _M3eBottomSheetElement_computeMaxHeight).call(this);
1953
- if (this.classList.contains("-full")) {
1960
+ if (hasCustomState$1(this, "-full")) {
1954
1961
  __classPrivateFieldGet(this, _M3eBottomSheetElement_instances, "m", _M3eBottomSheetElement_updateHeight).call(this, maxHeight);
1955
1962
  } else if (this.clientHeight > maxHeight) {
1956
1963
  __classPrivateFieldGet(this, _M3eBottomSheetElement_instances, "m", _M3eBottomSheetElement_updateHeight).call(this, maxHeight);
@@ -2127,7 +2134,7 @@ async function _M3eBottomSheetElement_snapToHeight(height) {
2127
2134
  };
2128
2135
  _M3eBottomSheetElement_updateHeight = function _M3eBottomSheetElement_updateHeight(height) {
2129
2136
  this.style.setProperty("--_bottom-sheet-height", `${height}px`);
2130
- this.classList.toggle("-full", height === __classPrivateFieldGet(this, _M3eBottomSheetElement_instances, "m", _M3eBottomSheetElement_computeMaxHeight).call(this));
2137
+ setCustomState$1(this, "-full", height === __classPrivateFieldGet(this, _M3eBottomSheetElement_instances, "m", _M3eBottomSheetElement_computeMaxHeight).call(this));
2131
2138
  const content = this.shadowRoot?.querySelector(".content");
2132
2139
  if (content) {
2133
2140
  content.inert = height <= __classPrivateFieldGet(this, _M3eBottomSheetElement_instances, "m", _M3eBottomSheetElement_computePeekHeight).call(this);
@@ -2149,22 +2156,22 @@ _M3eBottomSheetElement_restoreInert = function _M3eBottomSheetElement_restoreIne
2149
2156
  __classPrivateFieldGet(this, _M3eBottomSheetElement_inerts, "f").length = 0;
2150
2157
  };
2151
2158
  (() => {
2152
- if (document) {
2159
+ if (typeof window !== "undefined") {
2153
2160
  const lightDomStyle = new CSSStyleSheet();
2154
2161
  lightDomStyle.replaceSync(css`@property --_bottom-sheet-height { syntax: "<length>"; inherits: false; initial-value: 50vh; } m3e-bottom-sheet > [slot="header"] { margin-block-end: var(--m3e-bottom-sheet-padding-block, 0.5rem); margin-inline: var(--m3e-bottom-sheet-padding-inline, 1rem); }</length>`.toString());
2155
2162
  document.adoptedStyleSheets.push(lightDomStyle);
2156
2163
  }
2157
2164
  })();
2158
2165
  /** The styles of the element. */
2159
- M3eBottomSheetElement.styles = css`:host { display: block; position: fixed; left: 50%; top: calc(100vh - var(--_bottom-sheet-height)); margin: 0; padding: 0; outline: none; overflow: hidden; border: none; box-sizing: border-box; width: var(--m3e-bottom-sheet-width, 100%); max-width: var(--m3e-bottom-sheet-max-width, 40rem); height: var(--_bottom-sheet-height); color: var(--m3e-bottom-sheet-color, ${DesignToken$1.color.onSurface}); background-color: var(--m3e-bottom-sheet-container-color, ${DesignToken$1.color.surfaceContainerLow}); } :host(:not(.-no-animate)) { transition: ${unsafeCSS(`transform ${DesignToken$1.motion.duration.medium2} ${DesignToken$1.motion.easing.standardDecelerate},
2160
- border-radius ${DesignToken$1.motion.duration.medium2} ${DesignToken$1.motion.easing.standard}`)}; } :host(:not([modal]):not(.-full)) .elevation { --m3e-elevation-level: var(--m3e-bottom-sheet-elevation, ${DesignToken$1.elevation.level1}); } :host([modal]:not(.-full)) .elevation { --m3e-elevation-level: var(--m3e-bottom-sheet-modal-elevation, ${DesignToken$1.elevation.level1}); } :host(.-full) .elevation { --m3e-elevation-level: var(--m3e-bottom-sheet-full-elevation, ${DesignToken$1.elevation.level1}); } :host(:not([modal])) { z-index: var(--m3e-bottom-sheet-z-index, 10); } :host(:not([modal]):not([open])), :host([modal]:not(:popover-open)) { border-radius: var(--m3e-bottom-sheet-minimized-container-shape, ${DesignToken$1.shape.corner.none}); transform: translateX(-50%) translateY(100%); } :host(:not([modal])[open]:not(.-full)), :host([modal]:not(.-full):popover-open) { border-radius: var(--m3e-bottom-sheet-container-shape, ${DesignToken$1.shape.corner.extraLargeTop}); } :host(:not([modal])[open].-full), :host([modal].-full:popover-open) { border-radius: var(--m3e-bottom-sheet-full-container-shape, ${DesignToken$1.shape.corner.extraLargeTop}); } :host(:not([modal])[open]), :host([modal]:popover-open) { transform: translateX(-50%) translateY(0); } :host([modal]:not(.-no-animate))::backdrop { transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard},
2166
+ M3eBottomSheetElement.styles = css`:host { display: block; position: fixed; left: 50%; top: calc(100vh - var(--_bottom-sheet-height)); margin: 0; padding: 0; outline: none; overflow: hidden; border: none; box-sizing: border-box; width: var(--m3e-bottom-sheet-width, 100%); max-width: var(--m3e-bottom-sheet-max-width, 40rem); height: var(--_bottom-sheet-height); color: var(--m3e-bottom-sheet-color, ${DesignToken$1.color.onSurface}); background-color: var(--m3e-bottom-sheet-container-color, ${DesignToken$1.color.surfaceContainerLow}); } :host(:not(:state(-no-animate))) { transition: ${unsafeCSS(`transform ${DesignToken$1.motion.duration.medium2} ${DesignToken$1.motion.easing.standardDecelerate},
2167
+ border-radius ${DesignToken$1.motion.duration.medium2} ${DesignToken$1.motion.easing.standard}`)}; } :host(:not([modal]):not(:state(-full))) .elevation { --m3e-elevation-level: var(--m3e-bottom-sheet-elevation, ${DesignToken$1.elevation.level1}); } :host([modal]:not(:state(-full))) .elevation { --m3e-elevation-level: var(--m3e-bottom-sheet-modal-elevation, ${DesignToken$1.elevation.level1}); } :host(:state(-full)) .elevation { --m3e-elevation-level: var(--m3e-bottom-sheet-full-elevation, ${DesignToken$1.elevation.level1}); } :host(:not([modal])) { z-index: var(--m3e-bottom-sheet-z-index, 10); } :host(:not([modal]):not([open])), :host([modal]:not(:popover-open)) { border-radius: var(--m3e-bottom-sheet-minimized-container-shape, ${DesignToken$1.shape.corner.none}); transform: translateX(-50%) translateY(100%); } :host(:not([modal])[open]:not(:state(-full))), :host([modal]:not(:state(-full)):popover-open) { border-radius: var(--m3e-bottom-sheet-container-shape, ${DesignToken$1.shape.corner.extraLargeTop}); } :host(:not([modal])[open]:state(-full)), :host([modal]:state(-full):popover-open) { border-radius: var(--m3e-bottom-sheet-full-container-shape, ${DesignToken$1.shape.corner.extraLargeTop}); } :host(:not([modal])[open]), :host([modal]:popover-open) { transform: translateX(-50%) translateY(0); } :host([modal]:not(:state(-no-animate)))::backdrop { transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard},
2161
2168
  overlay ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard} allow-discrete,
2162
- visibility ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } :host([modal]:popover-open)::backdrop { background-color: color-mix( in srgb, var(--m3e-bottom-sheet-scrim-color, ${DesignToken$1.color.scrim}) var(--m3e-bottom-sheet-scrim-opacity, 32%), transparent ); } :host([modal]:popover-open:not(.-no-animate))::backdrop { transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.long2} ${DesignToken$1.motion.easing.standard},
2169
+ visibility ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } :host([modal]:popover-open)::backdrop { background-color: color-mix( in srgb, var(--m3e-bottom-sheet-scrim-color, ${DesignToken$1.color.scrim}) var(--m3e-bottom-sheet-scrim-opacity, 32%), transparent ); } :host([modal]:popover-open:not(:state(-no-animate)))::backdrop { transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.long2} ${DesignToken$1.motion.easing.standard},
2163
2170
  overlay ${DesignToken$1.motion.duration.long2} ${DesignToken$1.motion.easing.standard} allow-discrete,
2164
- visibility ${DesignToken$1.motion.duration.long2} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } @starting-style { :host([modal]:popover-open)::backdrop { background-color: color-mix( in srgb, var(--m3e-bottom-sheet-scrim-color, ${DesignToken$1.color.scrim}) 0%, transparent ); } } .base { display: flex; border-radius: inherit; flex-direction: column; height: 100%; --_bottom-sheet-peek-height: var(--m3e-bottom-sheet-peek-height, 0); --_bottom-sheet-top-space: var(--m3e-bottom-sheet-compact-top-space, 4.5rem); } @media (max-height: 640px) { .base { --_bottom-sheet-top-space: var(--m3e-bottom-sheet-top-space, 3.5rem); } } .body { flex: 1 1 auto; overflow-y: auto; scrollbar-width: ${DesignToken$1.scrollbar.thinWidth}; scrollbar-color: ${DesignToken$1.scrollbar.color}; padding-block-end: var(--m3e-bottom-sheet-padding-block, 0.5rem); padding-inline: var(--m3e-bottom-sheet-padding-inline, 1rem); font-size: var(--m3e-bottom-sheet-content-font-size, ${DesignToken$1.typescale.standard.body.medium.fontSize}); font-weight: var( --m3e-bottom-sheet-content-font-weight, ${DesignToken$1.typescale.standard.body.medium.fontWeight} ); line-height: var( --m3e-bottom-sheet-content-line-height, ${DesignToken$1.typescale.standard.body.medium.lineHeight} ); letter-spacing: var(--m3e-bottom-sheet-content-tracking, ${DesignToken$1.typescale.standard.body.medium.tracking}); } .content { height: fit-content; } :host(:not([handle]):not(.-has-header)) .header { display: none; } :host(:not([handle]):not(.-has-header)) .body, .header { border-top-left-radius: inherit; border-top-right-radius: inherit; padding-block-start: var(--m3e-bottom-sheet-padding-block, 0.5rem); font-size: var(--m3e-bottom-sheet-header-font-size, ${DesignToken$1.typescale.standard.title.large.fontSize}); font-weight: var(--m3e-bottom-sheet-header-font-weight, ${DesignToken$1.typescale.standard.title.large.fontWeight}); line-height: var(--m3e-bottom-sheet-header-line-height, ${DesignToken$1.typescale.standard.title.large.lineHeight}); letter-spacing: var(--m3e-bottom-sheet-header-tracking, ${DesignToken$1.typescale.standard.title.large.tracking}); } .header { cursor: grab; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); box-sizing: border-box; flex: none; display: flex; flex-direction: column; min-height: 3rem; --m3e-app-bar-container-color: var(--m3e-bottom-sheet-container-color, ${DesignToken$1.color.surfaceContainerLow}); } .handle-row { position: relative; flex: none; display: flex; align-items: center; justify-content: center; opacity: 1; visibility: visible; height: var(--m3e-bottom-sheet-handle-container-height, 1.5rem); } :host(:not(.-no-animate)) .handle-row { transition: ${unsafeCSS(`opacity ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard},
2171
+ visibility ${DesignToken$1.motion.duration.long2} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } @starting-style { :host([modal]:popover-open)::backdrop { background-color: color-mix( in srgb, var(--m3e-bottom-sheet-scrim-color, ${DesignToken$1.color.scrim}) 0%, transparent ); } } .base { display: flex; border-radius: inherit; flex-direction: column; height: 100%; --_bottom-sheet-peek-height: var(--m3e-bottom-sheet-peek-height, 0); --_bottom-sheet-top-space: var(--m3e-bottom-sheet-compact-top-space, 4.5rem); } @media (max-height: 640px) { .base { --_bottom-sheet-top-space: var(--m3e-bottom-sheet-top-space, 3.5rem); } } .body { flex: 1 1 auto; overflow-y: auto; scrollbar-width: ${DesignToken$1.scrollbar.thinWidth}; scrollbar-color: ${DesignToken$1.scrollbar.color}; padding-block-end: var(--m3e-bottom-sheet-padding-block, 0.5rem); padding-inline: var(--m3e-bottom-sheet-padding-inline, 1rem); font-size: var(--m3e-bottom-sheet-content-font-size, ${DesignToken$1.typescale.standard.body.medium.fontSize}); font-weight: var( --m3e-bottom-sheet-content-font-weight, ${DesignToken$1.typescale.standard.body.medium.fontWeight} ); line-height: var( --m3e-bottom-sheet-content-line-height, ${DesignToken$1.typescale.standard.body.medium.lineHeight} ); letter-spacing: var(--m3e-bottom-sheet-content-tracking, ${DesignToken$1.typescale.standard.body.medium.tracking}); } .content { height: fit-content; } :host(:not([handle])) .header { display: none; } :host(:not([handle])) .body, .header { border-top-left-radius: inherit; border-top-right-radius: inherit; padding-block-start: var(--m3e-bottom-sheet-padding-block, 0.5rem); font-size: var(--m3e-bottom-sheet-header-font-size, ${DesignToken$1.typescale.standard.title.large.fontSize}); font-weight: var(--m3e-bottom-sheet-header-font-weight, ${DesignToken$1.typescale.standard.title.large.fontWeight}); line-height: var(--m3e-bottom-sheet-header-line-height, ${DesignToken$1.typescale.standard.title.large.lineHeight}); letter-spacing: var(--m3e-bottom-sheet-header-tracking, ${DesignToken$1.typescale.standard.title.large.tracking}); } .header { cursor: grab; touch-action: none; outline: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); box-sizing: border-box; flex: none; display: flex; flex-direction: column; min-height: 3rem; --m3e-app-bar-container-color: var(--m3e-bottom-sheet-container-color, ${DesignToken$1.color.surfaceContainerLow}); } .handle-row { position: relative; flex: none; display: flex; align-items: center; justify-content: center; opacity: 1; visibility: visible; height: var(--m3e-bottom-sheet-handle-container-height, 1.5rem); } :host(:not(:state(-no-animate))) .handle-row { transition: ${unsafeCSS(`opacity ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard},
2165
2172
  padding ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard},
2166
2173
  height ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard},
2167
- visibility ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } .handle { position: relative; width: var(--m3e-bottom-sheet-handle-width, 2rem); height: var(--m3e-bottom-sheet-handle-height, 4px); border-radius: var(--m3e-bottom-sheet-handle-shape, ${DesignToken$1.shape.corner.full}); background-color: var(--m3e-bottom-sheet-handle-color, ${DesignToken$1.color.onSurfaceVariant}); } .handle-touch { position: absolute; aspect-ratio: 1 / 1; height: 3rem; left: calc(0px - calc(calc(3rem - var(--m3e-bottom-sheet-handle-width, 2rem)) / 2)); right: calc(0px - calc(calc(3rem - var(--m3e-bottom-sheet-handle-width, 2rem)) / 2)); top: calc( 0px - calc( calc(3rem - var(--m3e-bottom-sheet-handle-container-height, 1.5rem)) - calc( var(--m3e-bottom-sheet-handle-height, 4px) / 2 ) ) ); } @media (prefers-reduced-motion) { :host(:not(.-no-animate)), :host([modal]:not(.-no-animate))::backdrop, :host([modal]:popover-open:not(.-no-animate))::backdrop, :host(:not(.-no-animate)) .handle-row { transition: none; } } @media (forced-colors: active) { :host([modal]:not(.-no-animate))::backdrop, :host([modal]:popover-open:not(.-no-animate))::backdrop { transition: none; } .base { border-style: solid; border-width: 1px; border-color: CanvasText; } .handle { background-color: ButtonText; } }`;
2174
+ visibility ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } .handle { position: relative; width: var(--m3e-bottom-sheet-handle-width, 2rem); height: var(--m3e-bottom-sheet-handle-height, 4px); border-radius: var(--m3e-bottom-sheet-handle-shape, ${DesignToken$1.shape.corner.full}); background-color: var(--m3e-bottom-sheet-handle-color, ${DesignToken$1.color.onSurfaceVariant}); } .handle-touch { position: absolute; aspect-ratio: 1 / 1; height: 3rem; left: calc(0px - calc(calc(3rem - var(--m3e-bottom-sheet-handle-width, 2rem)) / 2)); right: calc(0px - calc(calc(3rem - var(--m3e-bottom-sheet-handle-width, 2rem)) / 2)); top: calc( 0px - calc( calc(3rem - var(--m3e-bottom-sheet-handle-container-height, 1.5rem)) - calc( var(--m3e-bottom-sheet-handle-height, 4px) / 2 ) ) ); } @media (prefers-reduced-motion) { :host(:not(:state(-no-animate))), :host([modal]:not(:state(-no-animate)))::backdrop, :host([modal]:popover-open:not(:state(-no-animate)))::backdrop, :host(:not(:state(-no-animate))) .handle-row { transition: none; } } @media (forced-colors: active) { :host([modal]:not(:state(-no-animate)))::backdrop, :host([modal]:popover-open:not(:state(-no-animate)))::backdrop { transition: none; } .base { border-style: solid; border-width: 1px; border-color: CanvasText; } .handle { background-color: ButtonText; } }`;
2168
2175
  __decorate([n$1({
2169
2176
  type: Boolean,
2170
2177
  reflect: true
@@ -2194,7 +2201,7 @@ __decorate([n$1({
2194
2201
  attribute: "hide-friction",
2195
2202
  type: Number
2196
2203
  })], M3eBottomSheetElement.prototype, "hideFriction", void 0);
2197
- M3eBottomSheetElement = M3eBottomSheetElement_1 = __decorate([t$3("m3e-bottom-sheet")], M3eBottomSheetElement);
2204
+ M3eBottomSheetElement = M3eBottomSheetElement_1 = __decorate([customElement$1("m3e-bottom-sheet")], M3eBottomSheetElement);
2198
2205
 
2199
2206
  /**
2200
2207
  * An element, nested within a clickable element, used to trigger a bottom sheet.
@@ -2260,7 +2267,7 @@ __decorate([n$1({
2260
2267
  __decorate([n$1({
2261
2268
  type: Boolean
2262
2269
  })], M3eBottomSheetTriggerElement.prototype, "secondary", void 0);
2263
- M3eBottomSheetTriggerElement = __decorate([t$3("m3e-bottom-sheet-trigger")], M3eBottomSheetTriggerElement);
2270
+ M3eBottomSheetTriggerElement = __decorate([customElement$1("m3e-bottom-sheet-trigger")], M3eBottomSheetTriggerElement);
2264
2271
 
2265
2272
  /**
2266
2273
  * Component design tokens that control the `M3eButtonElement` for all size variants.
@@ -2356,7 +2363,7 @@ const ButtonSizeToken = {
2356
2363
 
2357
2364
  /** @private */
2358
2365
  function buttonStyle(size) {
2359
- return css`:host([size="${unsafeCSS(size)}"]) .base { height: ${ButtonSizeToken[size].containerHeight}; } :host([size="${unsafeCSS(size)}"]) .wrapper { padding-inline-start: ${ButtonSizeToken[size].leadingSpace}; padding-inline-end: ${ButtonSizeToken[size].trailingSpace}; column-gap: ${ButtonSizeToken[size].iconLabelSpace}; } :host([size="${unsafeCSS(size)}"].-grouped:not(.-connected).-adjacent-pressed:not(.-pressed)) .wrapper { padding-inline-start: calc( ${ButtonSizeToken[size].leadingSpace} - calc(calc(var(--_adjacent-button-width) * var(--m3e-standard-button-group-width-multiplier, 0.15)) / 4.25) ); padding-inline-end: calc( ${ButtonSizeToken[size].trailingSpace} - calc(calc(var(--_adjacent-button-width) * var(--m3e-standard-button-group-width-multiplier, 0.15)) / 4.25) ); } :host([size="${unsafeCSS(size)}"]) .label { font-size: ${ButtonSizeToken[size].labelTextFontSize}; font-weight: ${ButtonSizeToken[size].labelTextFontWeight}; line-height: ${ButtonSizeToken[size].labelTextLineHeight}; letter-spacing: ${ButtonSizeToken[size].labelTextTracking}; } :host([size="${unsafeCSS(size)}"]) .icon { font-size: ${ButtonSizeToken[size].iconSize}; --m3e-icon-size: ${ButtonSizeToken[size].iconSize}; } :host([size="${unsafeCSS(size)}"]) .base { outline-offset: calc(0px - ${ButtonSizeToken[size].outlineThickness}); outline-width: ${ButtonSizeToken[size].outlineThickness}; } :host(:not(.-connected)[size="${unsafeCSS(size)}"][shape="rounded"]) .base { border-radius: var(--_button-shape, ${ButtonSizeToken[size].shapeRound}); } :host(:not(.-connected)[size="${unsafeCSS(size)}"][shape="rounded"][toggle][selected]:not(.-pressed)) .base { border-radius: ${ButtonSizeToken[size].selectedShapeRound}; } :host(:not(.-connected)[size="${unsafeCSS(size)}"][shape="square"]) .base { border-radius: ${ButtonSizeToken[size].shapeSquare}; } :host(:not(.-connected)[size="${unsafeCSS(size)}"][shape="square"][toggle][selected]:not(.-pressed)) .base { border-radius: var(--_button-shape, ${ButtonSizeToken[size].selectedShapeSquare}); } :host(:not(.-connected)[size="${unsafeCSS(size)}"].-pressed) .base { border-radius: ${ButtonSizeToken[size].shapePressedMorph}; } :host(.-connected[size="${unsafeCSS(size)}"][shape="rounded"]) .base { border-start-start-radius: var( --_button-rounded-start-shape, var(--_button-shape, ${ButtonSizeToken[size].shapeRound}) ); border-end-start-radius: var( --_button-rounded-start-shape, var(--_button-shape, ${ButtonSizeToken[size].shapeRound}) ); border-start-end-radius: var( --_button-rounded-end-shape, var(--_button-shape, ${ButtonSizeToken[size].shapeRound}) ); border-end-end-radius: var( --_button-rounded-end-shape, var(--_button-shape, ${ButtonSizeToken[size].shapeRound}) ); } :host(.-connected[size="${unsafeCSS(size)}"][shape="square"]) .base { border-start-start-radius: var(--_button-square-start-shape, ${ButtonSizeToken[size].shapeSquare}); border-end-start-radius: var(--_button-square-start-shape, ${ButtonSizeToken[size].shapeSquare}); border-start-end-radius: var(--_button-square-end-shape, ${ButtonSizeToken[size].shapeSquare}); border-end-end-radius: var(--_button-square-end-shape, ${ButtonSizeToken[size].shapeSquare}); } :host(.-connected[size="${unsafeCSS(size)}"][shape="square"][toggle][selected]:not(.-pressed)) .base { border-radius: var(--_button-shape, ${ButtonSizeToken[size].selectedShapeSquare}); } :host(.-connected[size="${unsafeCSS(size)}"].-pressed) .base { border-start-start-radius: var(--_button-start-shape-pressed-morph, ${ButtonSizeToken[size].shapePressedMorph}); border-end-start-radius: var(--_button-start-shape-pressed-morph, ${ButtonSizeToken[size].shapePressedMorph}); border-start-end-radius: var(--_button-end-shape-pressed-morph, ${ButtonSizeToken[size].shapePressedMorph}); border-end-end-radius: var(--_button-end-shape-pressed-morph, ${ButtonSizeToken[size].shapePressedMorph}); }`;
2366
+ return css`:host([size="${unsafeCSS(size)}"]) .base { height: ${ButtonSizeToken[size].containerHeight}; } :host([size="${unsafeCSS(size)}"]) .wrapper { padding-inline-start: ${ButtonSizeToken[size].leadingSpace}; padding-inline-end: ${ButtonSizeToken[size].trailingSpace}; column-gap: ${ButtonSizeToken[size].iconLabelSpace}; } :host( [size="${unsafeCSS(size)}"]:state(-grouped):not(:state(-connected)):state(-adjacent-pressed):not( :state(-pressed) ) ) .wrapper { padding-inline-start: calc( ${ButtonSizeToken[size].leadingSpace} - calc( calc(var(--_adjacent-button-width) * var(--m3e-standard-button-group-width-multiplier, 0.15)) / 4.25 ) ); padding-inline-end: calc( ${ButtonSizeToken[size].trailingSpace} - calc( calc(var(--_adjacent-button-width) * var(--m3e-standard-button-group-width-multiplier, 0.15)) / 4.25 ) ); } :host([size="${unsafeCSS(size)}"]) .label { font-size: ${ButtonSizeToken[size].labelTextFontSize}; font-weight: ${ButtonSizeToken[size].labelTextFontWeight}; line-height: ${ButtonSizeToken[size].labelTextLineHeight}; letter-spacing: ${ButtonSizeToken[size].labelTextTracking}; } :host([size="${unsafeCSS(size)}"]) .icon { font-size: ${ButtonSizeToken[size].iconSize}; --m3e-icon-size: ${ButtonSizeToken[size].iconSize}; } :host([size="${unsafeCSS(size)}"]) .base { outline-offset: calc(0px - ${ButtonSizeToken[size].outlineThickness}); outline-width: ${ButtonSizeToken[size].outlineThickness}; } :host(:not(:state(-connected))[size="${unsafeCSS(size)}"][shape="rounded"]) .base { border-radius: var(--_button-shape, ${ButtonSizeToken[size].shapeRound}); } :host(:not(:state(-connected))[size="${unsafeCSS(size)}"][shape="rounded"][toggle][selected]:not(:state(-pressed))) .base { border-radius: ${ButtonSizeToken[size].selectedShapeRound}; } :host(:not(:state(-connected))[size="${unsafeCSS(size)}"][shape="square"]) .base { border-radius: ${ButtonSizeToken[size].shapeSquare}; } :host(:not(:state(-connected))[size="${unsafeCSS(size)}"][shape="square"][toggle][selected]:not(:state(-pressed))) .base { border-radius: var(--_button-shape, ${ButtonSizeToken[size].selectedShapeSquare}); } :host(:not(:state(-connected))[size="${unsafeCSS(size)}"]:state(-pressed)) .base { border-radius: ${ButtonSizeToken[size].shapePressedMorph}; } :host(:state(-connected)[size="${unsafeCSS(size)}"][shape="rounded"]) .base { border-start-start-radius: var( --_button-rounded-start-shape, var(--_button-shape, ${ButtonSizeToken[size].shapeRound}) ); border-end-start-radius: var( --_button-rounded-start-shape, var(--_button-shape, ${ButtonSizeToken[size].shapeRound}) ); border-start-end-radius: var( --_button-rounded-end-shape, var(--_button-shape, ${ButtonSizeToken[size].shapeRound}) ); border-end-end-radius: var( --_button-rounded-end-shape, var(--_button-shape, ${ButtonSizeToken[size].shapeRound}) ); } :host(:state(-connected)[size="${unsafeCSS(size)}"][shape="square"]) .base { border-start-start-radius: var(--_button-square-start-shape, ${ButtonSizeToken[size].shapeSquare}); border-end-start-radius: var(--_button-square-start-shape, ${ButtonSizeToken[size].shapeSquare}); border-start-end-radius: var(--_button-square-end-shape, ${ButtonSizeToken[size].shapeSquare}); border-end-end-radius: var(--_button-square-end-shape, ${ButtonSizeToken[size].shapeSquare}); } :host(:state(-connected)[size="${unsafeCSS(size)}"][shape="square"][toggle][selected]:not(:state(-pressed))) .base { border-radius: var(--_button-shape, ${ButtonSizeToken[size].selectedShapeSquare}); } :host(:state(-connected)[size="${unsafeCSS(size)}"]:state(-pressed)) .base { border-start-start-radius: var(--_button-start-shape-pressed-morph, ${ButtonSizeToken[size].shapePressedMorph}); border-end-start-radius: var(--_button-start-shape-pressed-morph, ${ButtonSizeToken[size].shapePressedMorph}); border-start-end-radius: var(--_button-end-shape-pressed-morph, ${ButtonSizeToken[size].shapePressedMorph}); border-end-end-radius: var(--_button-end-shape-pressed-morph, ${ButtonSizeToken[size].shapePressedMorph}); }`;
2360
2367
  }
2361
2368
  /**
2362
2369
  * Size variant styles for `M3eButtonElement`.
@@ -2368,8 +2375,8 @@ const ButtonSizeStyle = [buttonStyle("extra-small"), buttonStyle("small"), butto
2368
2375
  * Baseline styles for `M3eButtonElement`.
2369
2376
  * @internal
2370
2377
  */
2371
- const ButtonStyle = css`:host { display: inline-block; outline: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; justify-content: center; position: relative; width: 100%; transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } .touch { position: absolute; height: 3rem; left: 0; right: 0; } :host(.-pressed) .base, :host(.-resting) .base { transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard},
2372
- border-radius ${DesignToken$1.motion.spring.fastEffects}`)}; } .wrapper { width: 100%; overflow: hidden; display: inline-flex; align-items: center; } .label { justify-self: center; flex: 1 1 auto; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: ${unsafeCSS(`color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } .icon { transition: ${unsafeCSS(`color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } :host(:not(:disabled):not([disabled-interactive])) { cursor: pointer; } :host([disabled-interactive]) { cursor: not-allowed; } ::slotted([slot="icon"]), ::slotted([slot="selected-icon"]), ::slotted([slot="trailing-icon"]) { font-size: inherit !important; flex: none; } ::slotted(svg[slot="icon"]), ::slotted(svg[slot="selected-icon"]), ::slotted(svg[slot="trailing-icon"]) { width: 1em; height: 1em; } :host([toggle]:not([selected])) .base.with-selected-icon slot[name="selected-icon"], :host([toggle][selected]) .base.with-selected-icon slot[name="icon"] { display: none; } a { all: unset; display: block; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 1; } :host(.-grouped.-connected) { flex: 1 1 auto; } :host(.-grouped:not(.-connected)) { transition: ${unsafeCSS(`padding-inline ${DesignToken$1.motion.spring.fastEffects}`)}; } :host(.-grouped:not(.-connected):not(.-adjacent-pressed):not(.-pressed)) { flex-shrink: 0; flex-grow: 0; } :host(.-grouped:not(.-connected).-adjacent-pressed:not(.-pressed)) { flex-shrink: 1; min-width: 0; } :host(.-grouped:not(.-connected).-adjacent-pressed:not(.-pressed)) .label { text-overflow: clip; } :host(.-grouped:not(.-connected).-pressed:not([disabled-interactive]):not(:disabled)) { flex-shrink: 0; flex-basis: calc( var(--_button-width) + calc(var(--_button-width) * var(--m3e-standard-button-group-width-multiplier, 0.15)) ); } @media (forced-colors: active) { .base, .label, .icon { transition: none; } :host(.-pressed) .base, :host(.-resting) .base { transition: ${unsafeCSS(`border-radius ${DesignToken$1.motion.spring.fastEffects}`)}; } :host([variant]:not(:disabled):not([disabled-interactive]):not([toggle])) .base { background-color: ButtonFace; outline-color: ButtonText; } :host([variant]:not(:disabled):not([disabled-interactive]):not([toggle])) .label, :host([variant]:not(:disabled):not([disabled-interactive]):not([toggle])) .icon { color: ButtonText; } :host([variant]:not(:disabled):not([disabled-interactive])[toggle]:not([selected])) .base { background-color: ButtonFace; outline-color: ButtonText; } :host([variant]:not(:disabled):not([disabled-interactive])[toggle]:not([selected])) .label, :host([variant]:not(:disabled):not([disabled-interactive])[toggle]:not([selected])) .icon { color: ButtonText; } :host([variant]:not(:disabled):not([disabled-interactive])[toggle][selected]) .base { background-color: ButtonText; outline: none; } :host([variant]:not(:disabled):not([disabled-interactive])[toggle][selected]) .label, :host([variant]:not(:disabled):not([disabled-interactive])[toggle][selected]) .icon { forced-color-adjust: none; color: ButtonFace; background-color: ButtonText; } :host([variant]:disabled) .base, :host([variant][disabled-interactive]) .base { outline-color: GrayText; background-color: unset; } :host([variant]:disabled) .label, :host([variant][disabled-interactive]) .label, :host([variant]:disabled) .icon, :host([variant][disabled-interactive]) .icon { color: GrayText; } .base { outline-style: solid; } :host([size="extra-small"]) .base { outline-offset: calc(0px - var(--m3e-button-extra-small-outline-thickness, 1px)); outline-width: var(--m3e-button-extra-small-outline-thickness, 1px); } :host([size="small"]) .base { outline-offset: calc(0px - var(--m3e-button-small-outline-thickness, 1px)); outline-width: var(--m3e-button-small-outline-thickness, 1px); } :host([size="medium"]) .base { outline-offset: calc(0px - var(--m3e-button-medium-outline-thickness, 1px)); outline-width: var(--m3e-button-medium-outline-thickness, 1px); } :host([size="large"]) .base { outline-offset: calc(0px - var(--m3e-button-large-outline-thickness, 2px)); outline-width: var(--m3e-button-large-outline-thickness, 2px); } :host([size="extra-large"]) .base { outline-offset: calc(0px - var(--m3e-button-extra-large-outline-thickness, 3px)); outline-width: var(--m3e-button-extra-large-outline-thickness, 3px); } } @media (prefers-reduced-motion) { :host(.-pressed) .base, :host(.-resting) .base, .base, .label, .icon { transition: none; } }`;
2378
+ const ButtonStyle = css`:host { display: inline-block; outline: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; justify-content: center; position: relative; width: 100%; transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } .touch { position: absolute; height: 3rem; left: 0; right: 0; } :host(:state(-pressed)) .base, :host(:state(-resting)) .base { transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard},
2379
+ border-radius ${DesignToken$1.motion.spring.fastEffects}`)}; } .wrapper { width: 100%; overflow: hidden; display: inline-flex; align-items: center; } .label { justify-self: center; flex: 1 1 auto; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: ${unsafeCSS(`color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } .icon { transition: ${unsafeCSS(`color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } :host(:not(:disabled):not([disabled-interactive])) { cursor: pointer; } :host([disabled-interactive]) { cursor: not-allowed; } ::slotted([slot="icon"]), ::slotted([slot="selected-icon"]), ::slotted([slot="trailing-icon"]) { font-size: inherit !important; flex: none; } ::slotted(svg[slot="icon"]), ::slotted(svg[slot="selected-icon"]), ::slotted(svg[slot="trailing-icon"]) { width: 1em; height: 1em; } :host([toggle]:not([selected])) .base.with-selected-icon slot[name="selected-icon"], :host([toggle][selected]) .base.with-selected-icon slot[name="icon"] { display: none; } a { all: unset; display: block; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 1; } :host(:state(-grouped):state(-connected)) { flex: 1 1 auto; } :host(:state(-grouped):not(:state(-connected))) { transition: ${unsafeCSS(`padding-inline ${DesignToken$1.motion.spring.fastEffects}`)}; } :host(:state(-grouped):not(:state(-connected)):not(:state(-adjacent-pressed)):not(:state(-pressed))) { flex-shrink: 0; flex-grow: 0; } :host(:state(-grouped):not(:state(-connected)):state(-adjacent-pressed):not(:state(-pressed))) { flex-shrink: 1; min-width: 0; } :host(:state(-grouped):not(:state(-connected)):state(-adjacent-pressed):not(:state(-pressed))) .label { text-overflow: clip; } :host(:state(-grouped):not(:state(-connected)):state(-pressed):not([disabled-interactive]):not(:disabled)) { flex-shrink: 0; flex-basis: calc( var(--_button-width) + calc(var(--_button-width) * var(--m3e-standard-button-group-width-multiplier, 0.15)) ); } @media (forced-colors: active) { .base, .label, .icon { transition: none; } :host(:state(-pressed)) .base, :host(:state(-resting)) .base { transition: ${unsafeCSS(`border-radius ${DesignToken$1.motion.spring.fastEffects}`)}; } :host([variant]:not(:disabled):not([disabled-interactive]):not([toggle])) .base { background-color: ButtonFace; outline-color: ButtonText; } :host([variant]:not(:disabled):not([disabled-interactive]):not([toggle])) .label, :host([variant]:not(:disabled):not([disabled-interactive]):not([toggle])) .icon { color: ButtonText; } :host([variant]:not(:disabled):not([disabled-interactive])[toggle]:not([selected])) .base { background-color: ButtonFace; outline-color: ButtonText; } :host([variant]:not(:disabled):not([disabled-interactive])[toggle]:not([selected])) .label, :host([variant]:not(:disabled):not([disabled-interactive])[toggle]:not([selected])) .icon { color: ButtonText; } :host([variant]:not(:disabled):not([disabled-interactive])[toggle][selected]) .base { background-color: ButtonText; outline: none; } :host([variant]:not(:disabled):not([disabled-interactive])[toggle][selected]) .label, :host([variant]:not(:disabled):not([disabled-interactive])[toggle][selected]) .icon { forced-color-adjust: none; color: ButtonFace; background-color: ButtonText; } :host([variant]:disabled) .base, :host([variant][disabled-interactive]) .base { outline-color: GrayText; background-color: unset; } :host([variant]:disabled) .label, :host([variant][disabled-interactive]) .label, :host([variant]:disabled) .icon, :host([variant][disabled-interactive]) .icon { color: GrayText; } .base { outline-style: solid; } :host([size="extra-small"]) .base { outline-offset: calc(0px - var(--m3e-button-extra-small-outline-thickness, 1px)); outline-width: var(--m3e-button-extra-small-outline-thickness, 1px); } :host([size="small"]) .base { outline-offset: calc(0px - var(--m3e-button-small-outline-thickness, 1px)); outline-width: var(--m3e-button-small-outline-thickness, 1px); } :host([size="medium"]) .base { outline-offset: calc(0px - var(--m3e-button-medium-outline-thickness, 1px)); outline-width: var(--m3e-button-medium-outline-thickness, 1px); } :host([size="large"]) .base { outline-offset: calc(0px - var(--m3e-button-large-outline-thickness, 2px)); outline-width: var(--m3e-button-large-outline-thickness, 2px); } :host([size="extra-large"]) .base { outline-offset: calc(0px - var(--m3e-button-extra-large-outline-thickness, 3px)); outline-width: var(--m3e-button-extra-large-outline-thickness, 3px); } } @media (prefers-reduced-motion) { :host(:state(-pressed)) .base, :host(:state(-resting)) .base, .base, .label, .icon { transition: none; } }`;
2373
2380
 
2374
2381
  /**
2375
2382
  * Component design tokens that control the appearance variants of `M3eButtonElement`.
@@ -2935,7 +2942,7 @@ const ButtonVariantToken = {
2935
2942
 
2936
2943
  /** @private */
2937
2944
  function buttonVariantStyle(variant) {
2938
- return css`:host([variant="${unsafeCSS(variant)}"]:not(:disabled):not([disabled-interactive])) .base { background-color: ${ButtonVariantToken[variant].containerColor ?? unsafeCSS("unset")}; --m3e-state-layer-hover-color: ${ButtonVariantToken[variant].hover.stateLayerColor}; --m3e-state-layer-hover-opacity: ${ButtonVariantToken[variant].hover.stateLayerOpacity}; --m3e-state-layer-focus-color: ${ButtonVariantToken[variant].focus.stateLayerColor}; --m3e-state-layer-focus-opacity: ${ButtonVariantToken[variant].focus.stateLayerOpacity}; --m3e-ripple-color: ${ButtonVariantToken[variant].pressed.stateLayerColor}; --m3e-ripple-opacity: ${ButtonVariantToken[variant].pressed.stateLayerOpacity}; --m3e-elevation-level: ${ButtonVariantToken[variant].containerElevation ?? unsafeCSS("unset")}; --m3e-elevation-hover-level: ${ButtonVariantToken[variant].hover.containerElevation ?? unsafeCSS("unset")}; --m3e-elevation-focus-level: ${ButtonVariantToken[variant].focus.containerElevation ?? unsafeCSS("unset")}; --m3e-elevation-pressed-level: ${ButtonVariantToken[variant].pressed.containerElevation ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):not(:disabled):not([disabled-interactive])) .base { background-color: ${ButtonVariantToken[variant].unselectedContainerColor ?? unsafeCSS("unset")}; --m3e-state-layer-hover-color: ${ButtonVariantToken[variant].hover.unselectedStateLayerColor}; --m3e-state-layer-focus-color: ${ButtonVariantToken[variant].focus.unselectedStateLayerColor}; --m3e-ripple-color: ${ButtonVariantToken[variant].pressed.unselectedStateLayerColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:not(:disabled):not([disabled-interactive])) .base { background-color: ${ButtonVariantToken[variant].selectedContainerColor ?? unsafeCSS("unset")}; --m3e-state-layer-hover-color: ${ButtonVariantToken[variant].hover.selectedStateLayerColor}; --m3e-state-layer-focus-color: ${ButtonVariantToken[variant].focus.selectedStateLayerColor}; --m3e-ripple-color: ${ButtonVariantToken[variant].pressed.selectedStateLayerColor}; } :host([variant="${unsafeCSS(variant)}"]:not(:disabled):not([disabled-interactive])) .base { outline-color: ${ButtonVariantToken[variant].outlineColor ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"]:focus:not(:disabled):not([disabled-interactive])) .base { outline-color: ${ButtonVariantToken[variant].focus.outlineColor ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"]:hover:not(:disabled):not([disabled-interactive])) .base { outline-color: ${ButtonVariantToken[variant].hover.outlineColor ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"].-pressed:not(:disabled):not([disabled-interactive])) .base { outline-color: ${ButtonVariantToken[variant].pressed.outlineColor ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"]:not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].labelTextColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].unselectedLabelTextColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].selectedLabelTextColor}; } :host([variant="${unsafeCSS(variant)}"]:focus:not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].focus.labelTextColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):focus:not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].focus.unselectedLabelTextColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:focus:not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].focus.selectedLabelTextColor}; } :host([variant="${unsafeCSS(variant)}"]:hover:not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].hover.labelTextColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):hover:not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].hover.unselectedLabelTextColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:hover:not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].hover.selectedLabelTextColor}; } :host([variant="${unsafeCSS(variant)}"].-pressed:not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].pressed.labelTextColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]).-pressed:not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].pressed.unselectedLabelTextColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected].-pressed:not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].pressed.selectedLabelTextColor}; } :host([variant="${unsafeCSS(variant)}"]:not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].iconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].unselectedIconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].selectedIconColor}; } :host([variant="${unsafeCSS(variant)}"]:focus:not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].focus.iconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):focus:not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].focus.unselectedIconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:focus:not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].focus.selectedIconColor}; } :host([variant="${unsafeCSS(variant)}"]:hover:not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].hover.iconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):hover:not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].hover.unselectedIconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:hover:not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].hover.selectedIconColor}; } :host([variant="${unsafeCSS(variant)}"].-pressed:not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].pressed.iconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]).-pressed:not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].pressed.unselectedIconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected].-pressed:not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].pressed.selectedIconColor}; } :host([variant="${unsafeCSS(variant)}"]:disabled) .base, :host([variant="${unsafeCSS(variant)}"][disabled-interactive]) .base { --m3e-elevation-level: ${ButtonVariantToken[variant].disabled.containerElevation ?? unsafeCSS("unset")}; outline-color: ${ButtonVariantToken[variant].disabled.outlineColor ?? unsafeCSS("unset")}; background-color: color-mix( in srgb, ${ButtonVariantToken[variant].disabled.containerColor} ${ButtonVariantToken[variant].disabled.containerOpacity}, transparent ); } :host([variant="${unsafeCSS(variant)}"]:disabled) .label, :host([variant="${unsafeCSS(variant)}"][disabled-interactive]) .label { color: color-mix( in srgb, ${ButtonVariantToken[variant].disabled.labelTextColor} ${ButtonVariantToken[variant].disabled.labelTextOpacity}, transparent ); } :host([variant="${unsafeCSS(variant)}"]:disabled) .icon, :host([variant="${unsafeCSS(variant)}"][disabled-interactive]) .icon { color: color-mix( in srgb, ${ButtonVariantToken[variant].disabled.iconColor} ${ButtonVariantToken[variant].disabled.iconOpacity}, transparent ); }`;
2945
+ return css`:host([variant="${unsafeCSS(variant)}"]:not(:disabled):not([disabled-interactive])) .base { background-color: ${ButtonVariantToken[variant].containerColor ?? unsafeCSS("unset")}; --m3e-state-layer-hover-color: ${ButtonVariantToken[variant].hover.stateLayerColor}; --m3e-state-layer-hover-opacity: ${ButtonVariantToken[variant].hover.stateLayerOpacity}; --m3e-state-layer-focus-color: ${ButtonVariantToken[variant].focus.stateLayerColor}; --m3e-state-layer-focus-opacity: ${ButtonVariantToken[variant].focus.stateLayerOpacity}; --m3e-ripple-color: ${ButtonVariantToken[variant].pressed.stateLayerColor}; --m3e-ripple-opacity: ${ButtonVariantToken[variant].pressed.stateLayerOpacity}; --m3e-elevation-level: ${ButtonVariantToken[variant].containerElevation ?? unsafeCSS("unset")}; --m3e-elevation-hover-level: ${ButtonVariantToken[variant].hover.containerElevation ?? unsafeCSS("unset")}; --m3e-elevation-focus-level: ${ButtonVariantToken[variant].focus.containerElevation ?? unsafeCSS("unset")}; --m3e-elevation-pressed-level: ${ButtonVariantToken[variant].pressed.containerElevation ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):not(:disabled):not([disabled-interactive])) .base { background-color: ${ButtonVariantToken[variant].unselectedContainerColor ?? unsafeCSS("unset")}; --m3e-state-layer-hover-color: ${ButtonVariantToken[variant].hover.unselectedStateLayerColor}; --m3e-state-layer-focus-color: ${ButtonVariantToken[variant].focus.unselectedStateLayerColor}; --m3e-ripple-color: ${ButtonVariantToken[variant].pressed.unselectedStateLayerColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:not(:disabled):not([disabled-interactive])) .base { background-color: ${ButtonVariantToken[variant].selectedContainerColor ?? unsafeCSS("unset")}; --m3e-state-layer-hover-color: ${ButtonVariantToken[variant].hover.selectedStateLayerColor}; --m3e-state-layer-focus-color: ${ButtonVariantToken[variant].focus.selectedStateLayerColor}; --m3e-ripple-color: ${ButtonVariantToken[variant].pressed.selectedStateLayerColor}; } :host([variant="${unsafeCSS(variant)}"]:not(:disabled):not([disabled-interactive])) .base { outline-color: ${ButtonVariantToken[variant].outlineColor ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"]:focus:not(:disabled):not([disabled-interactive])) .base { outline-color: ${ButtonVariantToken[variant].focus.outlineColor ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"]:hover:not(:disabled):not([disabled-interactive])) .base { outline-color: ${ButtonVariantToken[variant].hover.outlineColor ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"]:state(-pressed):not(:disabled):not([disabled-interactive])) .base { outline-color: ${ButtonVariantToken[variant].pressed.outlineColor ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"]:not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].labelTextColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].unselectedLabelTextColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].selectedLabelTextColor}; } :host([variant="${unsafeCSS(variant)}"]:focus:not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].focus.labelTextColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):focus:not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].focus.unselectedLabelTextColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:focus:not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].focus.selectedLabelTextColor}; } :host([variant="${unsafeCSS(variant)}"]:hover:not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].hover.labelTextColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):hover:not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].hover.unselectedLabelTextColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:hover:not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].hover.selectedLabelTextColor}; } :host([variant="${unsafeCSS(variant)}"]:state(-pressed):not(:disabled):not([disabled-interactive])) .label { color: ${ButtonVariantToken[variant].pressed.labelTextColor}; } :host( [variant="${unsafeCSS(variant)}"][toggle]:not([selected]):state(-pressed):not(:disabled):not( [disabled-interactive] ) ) .label { color: ${ButtonVariantToken[variant].pressed.unselectedLabelTextColor}; } :host( [variant="${unsafeCSS(variant)}"][toggle][selected]:state(-pressed):not(:disabled):not([disabled-interactive]) ) .label { color: ${ButtonVariantToken[variant].pressed.selectedLabelTextColor}; } :host([variant="${unsafeCSS(variant)}"]:not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].iconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].unselectedIconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].selectedIconColor}; } :host([variant="${unsafeCSS(variant)}"]:focus:not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].focus.iconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):focus:not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].focus.unselectedIconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:focus:not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].focus.selectedIconColor}; } :host([variant="${unsafeCSS(variant)}"]:hover:not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].hover.iconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):hover:not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].hover.unselectedIconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:hover:not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].hover.selectedIconColor}; } :host([variant="${unsafeCSS(variant)}"]:state(-pressed):not(:disabled):not([disabled-interactive])) .icon { color: ${ButtonVariantToken[variant].pressed.iconColor}; } :host( [variant="${unsafeCSS(variant)}"][toggle]:not([selected]):state(-pressed):not(:disabled):not( [disabled-interactive] ) ) .icon { color: ${ButtonVariantToken[variant].pressed.unselectedIconColor}; } :host( [variant="${unsafeCSS(variant)}"][toggle][selected]:state(-pressed):not(:disabled):not([disabled-interactive]) ) .icon { color: ${ButtonVariantToken[variant].pressed.selectedIconColor}; } :host([variant="${unsafeCSS(variant)}"]:disabled) .base, :host([variant="${unsafeCSS(variant)}"][disabled-interactive]) .base { --m3e-elevation-level: ${ButtonVariantToken[variant].disabled.containerElevation ?? unsafeCSS("unset")}; outline-color: ${ButtonVariantToken[variant].disabled.outlineColor ?? unsafeCSS("unset")}; background-color: color-mix( in srgb, ${ButtonVariantToken[variant].disabled.containerColor} ${ButtonVariantToken[variant].disabled.containerOpacity}, transparent ); } :host([variant="${unsafeCSS(variant)}"]:disabled) .label, :host([variant="${unsafeCSS(variant)}"][disabled-interactive]) .label { color: color-mix( in srgb, ${ButtonVariantToken[variant].disabled.labelTextColor} ${ButtonVariantToken[variant].disabled.labelTextOpacity}, transparent ); } :host([variant="${unsafeCSS(variant)}"]:disabled) .icon, :host([variant="${unsafeCSS(variant)}"][disabled-interactive]) .icon { color: color-mix( in srgb, ${ButtonVariantToken[variant].disabled.iconColor} ${ButtonVariantToken[variant].disabled.iconOpacity}, transparent ); }`;
2939
2946
  }
2940
2947
  /**
2941
2948
  * Appearance variant styles for `M3eButtonElement`.
@@ -3447,7 +3454,7 @@ let M3eButtonElement = class M3eButtonElement extends KeyboardClick$1(LinkButton
3447
3454
  }
3448
3455
  /** Whether the button is contained by a button group. */
3449
3456
  get grouped() {
3450
- return this.classList.contains("-grouped");
3457
+ return hasCustomState$1(this, "-grouped");
3451
3458
  }
3452
3459
  /** @inheritdoc */
3453
3460
  render() {
@@ -3461,11 +3468,11 @@ let M3eButtonElement = class M3eButtonElement extends KeyboardClick$1(LinkButton
3461
3468
  /** @inheritdoc */
3462
3469
  disconnectedCallback() {
3463
3470
  super.disconnectedCallback();
3464
- ["-pressed", "-resting", "-grouped", "-connected"].forEach(x => this.classList.remove(x));
3471
+ ["-pressed", "-resting", "-grouped", "-connected"].forEach(x => deleteCustomState$1(this, x));
3465
3472
  this._base?.style.removeProperty("--_button-shape");
3466
3473
  this.style.removeProperty("--_button-width");
3467
3474
  this.style.removeProperty("--_adjacent-button-width");
3468
- this.classList.remove("-adjacent-pressed");
3475
+ deleteCustomState$1(this, "-adjacent-pressed");
3469
3476
  this.removeEventListener("click", __classPrivateFieldGet(this, _M3eButtonElement_clickHandler, "f"));
3470
3477
  }
3471
3478
  /** @inheritdoc */
@@ -3477,8 +3484,8 @@ let M3eButtonElement = class M3eButtonElement extends KeyboardClick$1(LinkButton
3477
3484
  updated(_changedProperties) {
3478
3485
  super.updated(_changedProperties);
3479
3486
  if (_changedProperties.has("disabled") && this.disabled || _changedProperties.has("disabledInteractive") && this.disabledInteractive) {
3480
- this.classList.toggle("-pressed", false);
3481
- this.classList.toggle("-resting", false);
3487
+ deleteCustomState$1(this, "-pressed");
3488
+ deleteCustomState$1(this, "-resting");
3482
3489
  }
3483
3490
  if (_changedProperties.has("toggle") || _changedProperties.has("selected")) {
3484
3491
  this.ariaPressed = this.toggle ? `${this.selected}` : null;
@@ -3491,7 +3498,7 @@ let M3eButtonElement = class M3eButtonElement extends KeyboardClick$1(LinkButton
3491
3498
  }
3492
3499
  /** @private */
3493
3500
  _handleResize() {
3494
- if (this.grouped && !this.classList.contains("-pressed")) {
3501
+ if (this.grouped && !hasCustomState$1(this, "-pressed")) {
3495
3502
  this.style.setProperty("--_button-width", `${this.clientWidth}px`);
3496
3503
  __classPrivateFieldGet(this, _M3eButtonElement_instances, "m", _M3eButtonElement_updateButtonShape).call(this, true);
3497
3504
  }
@@ -3535,8 +3542,8 @@ _M3eButtonElement_updateButtonShape = function _M3eButtonElement_updateButtonSha
3535
3542
  }
3536
3543
  };
3537
3544
  _M3eButtonElement_handlePressedChange = function _M3eButtonElement_handlePressedChange(pressed) {
3538
- this.classList.toggle("-pressed", pressed);
3539
- this.classList.toggle("-resting", !pressed);
3545
+ setCustomState$1(this, "-pressed", pressed);
3546
+ setCustomState$1(this, "-resting", !pressed);
3540
3547
  const group = this.closest("m3e-button-group");
3541
3548
  if (group) {
3542
3549
  const clientWidth = this.getBoundingClientRect().width;
@@ -3546,13 +3553,13 @@ _M3eButtonElement_handlePressedChange = function _M3eButtonElement_handlePressed
3546
3553
  const button = buttons[i];
3547
3554
  if (i === index - 1) {
3548
3555
  button.style.setProperty("--_adjacent-button-width", `${clientWidth}px`);
3549
- button.classList.toggle("-adjacent-pressed", pressed);
3556
+ setCustomState$1(button, "-adjacent-pressed", pressed);
3550
3557
  } else if (i === index + 1) {
3551
3558
  button.style.setProperty("--_adjacent-button-width", `${clientWidth}px`);
3552
- button.classList.toggle("-adjacent-pressed", pressed);
3559
+ setCustomState$1(button, "-adjacent-pressed", pressed);
3553
3560
  } else {
3554
3561
  button.style.removeProperty("--_adjacent-button-width");
3555
- button.classList.remove("-adjacent-pressed");
3562
+ deleteCustomState$1(button, "-adjacent-pressed");
3556
3563
  }
3557
3564
  }
3558
3565
  }
@@ -3582,7 +3589,7 @@ __decorate([n$1({
3582
3589
  reflect: true
3583
3590
  })], M3eButtonElement.prototype, "selected", void 0);
3584
3591
  __decorate([debounce$1(40)], M3eButtonElement.prototype, "_handleResize", null);
3585
- M3eButtonElement = __decorate([t$3("m3e-button")], M3eButtonElement);
3592
+ M3eButtonElement = __decorate([customElement$1("m3e-button")], M3eButtonElement);
3586
3593
 
3587
3594
  var _M3eButtonGroupElement_instances, _M3eButtonGroupElement_pressedController, _M3eButtonGroupElement_updateButtons, _M3eButtonGroupElement_handleChange;
3588
3595
  /**
@@ -3719,10 +3726,10 @@ _M3eButtonGroupElement_updateButtons = function _M3eButtonGroupElement_updateBut
3719
3726
  const buttonRole = this.role === "radiogroup" ? "radio" : "button";
3720
3727
  buttons.forEach((button, i) => {
3721
3728
  __classPrivateFieldGet(this, _M3eButtonGroupElement_pressedController, "f").observe(button);
3722
- button.classList.toggle("-connected", this.variant === "connected");
3723
- button.classList.add("-grouped");
3724
- button.classList.toggle("-first", i == 0);
3725
- button.classList.toggle("-last", i == buttons.length - 1);
3729
+ setCustomState$1(button, "-connected", this.variant === "connected");
3730
+ addCustomState$1(button, "-grouped");
3731
+ setCustomState$1(button, "-first", i == 0);
3732
+ setCustomState$1(button, "-last", i == buttons.length - 1);
3726
3733
  if (!this.hasAttribute("disable-role") && button.role !== buttonRole && button.toggle) {
3727
3734
  const checked = !button.toggle ? null : button.selected ? "true" : "false";
3728
3735
  button.role = buttonRole;
@@ -3749,7 +3756,7 @@ _M3eButtonGroupElement_handleChange = function _M3eButtonGroupElement_handleChan
3749
3756
  }
3750
3757
  };
3751
3758
  /** The styles of the element. */
3752
- M3eButtonGroupElement.styles = css`:host { display: flex; vertical-align: middle; flex-wrap: nowrap; align-items: center; } .base { display: flex; vertical-align: middle; flex-wrap: nowrap; align-items: center; } :host([variant="standard"]) { justify-content: center; } :host([variant="connected"]) .base { flex: 1 1 auto; } :host([variant="standard"]) .base { width: fit-content; flex: none; } :host([variant="standard"]) .base.pressed { justify-content: space-between; width: var(--_button-group-width); } :host([variant="standard"][size="extra-small"]) .base { column-gap: var(--m3e-standard-button-group-extra-small-spacing, 1.125rem); } :host([variant="standard"][size="small"]) .base { column-gap: var(--m3e-standard-button-group-small-spacing, 0.75rem); } :host([variant="standard"][size="medium"]).base { column-gap: var(--m3e-standard-button-group-medium-spacing, 0.5rem); } :host([variant="standard"][size="large"]) .base { column-gap: var(--m3e-standard-button-group-large-spacing, 0.5rem); } :host([variant="standard"][size="extra-large"]) .base { column-gap: var(--m3e-standard-button-group-extra-large-spacing, 0.5rem); } :host([variant="connected"]) .base { column-gap: var(--m3e-connected-button-group-spacing, 0.125rem); } :host([variant="connected"][size="extra-small"]) ::slotted(.-first[size="extra-small"]), :host([variant="connected"][size="extra-small"]) ::slotted(:not(.-first):not(.-last)[size="extra-small"]) { --_button-rounded-end-shape: var( --m3e-connected-button-group-extra-small-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-end-shape: var( --m3e-connected-button-group-extra-small-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-end-pressed-shape: var( --m3e-connected-button-group-extra-small-inner-pressed-shape, ${DesignToken$1.shape.corner.extraSmall} ); } :host([variant="connected"][size="extra-small"]) ::slotted(.-last[size="extra-small"]), :host([variant="connected"][size="extra-small"]) ::slotted(:not(.-first):not(.-last)[size="extra-small"]) { --_button-rounded-start-shape: var( --m3e-connected-button-group-extra-small-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-start-shape: var( --m3e-connected-button-group-extra-small-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-start-pressed-shape: var( --m3e-connected-button-group-extra-small-inner-pressed-shape, ${DesignToken$1.shape.corner.extraSmall} ); } :host([variant="connected"][size="small"]) ::slotted(.-first[size="small"]), :host([variant="connected"][size="small"]) ::slotted(:not(.-first):not(.-last)[size="small"]) { --_button-rounded-end-shape: var( --m3e-connected-button-group-small-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-end-shape: var( --m3e-connected-button-group-small-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-end-shape-pressed-morph: var( --m3e-connected-button-group-small-inner-pressed-shape, ${DesignToken$1.shape.corner.extraSmall} ); } :host([variant="connected"][size="small"]) ::slotted(.-last[size="small"]), :host([variant="connected"][size="small"]) ::slotted(:not(.-first):not(.-last)[size="small"]) { --_button-rounded-start-shape: var( --m3e-connected-button-group-small-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-start-shape: var( --m3e-connected-button-group-small-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-start-shape-pressed-morph: var( --m3e-connected-button-group-small-inner-pressed-shape, ${DesignToken$1.shape.corner.extraSmall} ); } :host([variant="connected"][size="medium"]) ::slotted(.-first[size="medium"]), :host([variant="connected"][size="medium"]) ::slotted(:not(.-first):not(.-last)[size="medium"]) { --_button-rounded-end-shape: var( --m3e-connected-button-group-medium-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-end-shape: var( --m3e-connected-button-group-medium-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-end-pressed-shape: var( --m3e-connected-button-group-medium-inner-pressed-shape, ${DesignToken$1.shape.corner.extraSmall} ); } :host([variant="connected"][size="medium"]) ::slotted(.-last[size="medium"]), :host([variant="connected"][size="medium"]) ::slotted(:not(.-first):not(.-last)[size="medium"]) { --_button-rounded-start-shape: var( --m3e-connected-button-group-medium-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-start-shape: var( --m3e-connected-button-group-medium-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-start-pressed-shape: var( --m3e-connected-button-group-medium-inner-pressed-shape, ${DesignToken$1.shape.corner.extraSmall} ); } :host([variant="connected"][size="large"]) ::slotted(.-first[size="large"]), :host([variant="connected"][size="large"]) ::slotted(:not(.-first):not(.-last)[size="large"]) { --_button-rounded-end-shape: var( --m3e-connected-button-group-large-inner-shape, ${DesignToken$1.shape.corner.large} ); --_button-square-end-shape: var( --m3e-connected-button-group-large-inner-shape, ${DesignToken$1.shape.corner.large} ); --_button-square-end-pressed-shape: var( --m3e-connected-button-group-large-inner-pressed-shape, ${DesignToken$1.shape.corner.medium} ); } :host([variant="connected"][size="large"]) ::slotted(.-last[size="large"]), :host([variant="connected"][size="large"]) ::slotted(:not(.-first):not(.-last)[size="large"]) { --_button-rounded-start-shape: var( --m3e-connected-button-group-large-inner-shape, ${DesignToken$1.shape.corner.large} ); --_button-square-start-shape: var( --m3e-connected-button-group-large-inner-shape, ${DesignToken$1.shape.corner.large} ); --_button-square-start-pressed-shape: var( --m3e-connected-button-group-large-inner-pressed-shape, ${DesignToken$1.shape.corner.medium} ); } :host([variant="connected"][size="extra-large"]) ::slotted(.-first[size="extra-large"]), :host([variant="connected"][size="extra-large"]) ::slotted(:not(.-first):not(.-last)[size="extra-large"]) { --_button-rounded-end-shape: var( --m3e-connected-button-group-extra-large-inner-shape, ${DesignToken$1.shape.corner.largeIncreased} ); --_button-square-end-shape: var( --m3e-connected-button-group-extra-large-inner-shape, ${DesignToken$1.shape.corner.largeIncreased} ); --_button-square-end-pressed-shape: var( --m3e-connected-button-group-extra-large-inner-pressed-shape, ${DesignToken$1.shape.corner.large} ); } :host([variant="connected"][size="extra-large"]) ::slotted(.-last[size="extra-large"]), :host([variant="connected"][size="extra-large"]) ::slotted(:not(.-first):not(.-last)[size="extra-large"]) { --_button-rounded-start-shape: var( --m3e-connected-button-group-extra-large-inner-shape, ${DesignToken$1.shape.corner.largeIncreased} ); --_button-square-start-shape: var( --m3e-connected-button-group-extra-large-inner-shape, ${DesignToken$1.shape.corner.largeIncreased} ); --_button-square-start-pressed-shape: var( --m3e-connected-button-group-extra-large-inner-pressed-shape, ${DesignToken$1.shape.corner.large} ); }`;
3759
+ M3eButtonGroupElement.styles = css`:host { display: flex; vertical-align: middle; flex-wrap: nowrap; align-items: center; } .base { display: flex; vertical-align: middle; flex-wrap: nowrap; align-items: center; } :host([variant="standard"]) { justify-content: center; } :host([variant="connected"]) .base { flex: 1 1 auto; } :host([variant="standard"]) .base { width: fit-content; flex: none; } :host([variant="standard"]) .base.pressed { justify-content: space-between; width: var(--_button-group-width); } :host([variant="standard"][size="extra-small"]) .base { column-gap: var(--m3e-standard-button-group-extra-small-spacing, 1.125rem); } :host([variant="standard"][size="small"]) .base { column-gap: var(--m3e-standard-button-group-small-spacing, 0.75rem); } :host([variant="standard"][size="medium"]).base { column-gap: var(--m3e-standard-button-group-medium-spacing, 0.5rem); } :host([variant="standard"][size="large"]) .base { column-gap: var(--m3e-standard-button-group-large-spacing, 0.5rem); } :host([variant="standard"][size="extra-large"]) .base { column-gap: var(--m3e-standard-button-group-extra-large-spacing, 0.5rem); } :host([variant="connected"]) .base { column-gap: var(--m3e-connected-button-group-spacing, 0.125rem); } :host([variant="connected"][size="extra-small"]) ::slotted(:state(-first)[size="extra-small"]), :host([variant="connected"][size="extra-small"]) ::slotted(:not(:state(-first)):not(:state(-last))[size="extra-small"]) { --_button-rounded-end-shape: var( --m3e-connected-button-group-extra-small-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-end-shape: var( --m3e-connected-button-group-extra-small-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-end-pressed-shape: var( --m3e-connected-button-group-extra-small-inner-pressed-shape, ${DesignToken$1.shape.corner.extraSmall} ); } :host([variant="connected"][size="extra-small"]) ::slotted(:state(-last)[size="extra-small"]), :host([variant="connected"][size="extra-small"]) ::slotted(:not(:state(-first)):not(:state(-last))[size="extra-small"]) { --_button-rounded-start-shape: var( --m3e-connected-button-group-extra-small-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-start-shape: var( --m3e-connected-button-group-extra-small-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-start-pressed-shape: var( --m3e-connected-button-group-extra-small-inner-pressed-shape, ${DesignToken$1.shape.corner.extraSmall} ); } :host([variant="connected"][size="small"]) ::slotted(:state(-first)[size="small"]), :host([variant="connected"][size="small"]) ::slotted(:not(:state(-first)):not(:state(-last))[size="small"]) { --_button-rounded-end-shape: var( --m3e-connected-button-group-small-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-end-shape: var( --m3e-connected-button-group-small-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-end-shape-pressed-morph: var( --m3e-connected-button-group-small-inner-pressed-shape, ${DesignToken$1.shape.corner.extraSmall} ); } :host([variant="connected"][size="small"]) ::slotted(:state(-last)[size="small"]), :host([variant="connected"][size="small"]) ::slotted(:not(:state(-first)):not(:state(-last))[size="small"]) { --_button-rounded-start-shape: var( --m3e-connected-button-group-small-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-start-shape: var( --m3e-connected-button-group-small-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-start-shape-pressed-morph: var( --m3e-connected-button-group-small-inner-pressed-shape, ${DesignToken$1.shape.corner.extraSmall} ); } :host([variant="connected"][size="medium"]) ::slotted(:state(-first)[size="medium"]), :host([variant="connected"][size="medium"]) ::slotted(:not(:state(-first)):not(:state(-last))[size="medium"]) { --_button-rounded-end-shape: var( --m3e-connected-button-group-medium-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-end-shape: var( --m3e-connected-button-group-medium-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-end-pressed-shape: var( --m3e-connected-button-group-medium-inner-pressed-shape, ${DesignToken$1.shape.corner.extraSmall} ); } :host([variant="connected"][size="medium"]) ::slotted(:state(-last)[size="medium"]), :host([variant="connected"][size="medium"]) ::slotted(:not(:state(-first)):not(:state(-last))[size="medium"]) { --_button-rounded-start-shape: var( --m3e-connected-button-group-medium-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-start-shape: var( --m3e-connected-button-group-medium-inner-shape, ${DesignToken$1.shape.corner.small} ); --_button-square-start-pressed-shape: var( --m3e-connected-button-group-medium-inner-pressed-shape, ${DesignToken$1.shape.corner.extraSmall} ); } :host([variant="connected"][size="large"]) ::slotted(:state(-first)[size="large"]), :host([variant="connected"][size="large"]) ::slotted(:not(:state(-first)):not(:state(-last))[size="large"]) { --_button-rounded-end-shape: var( --m3e-connected-button-group-large-inner-shape, ${DesignToken$1.shape.corner.large} ); --_button-square-end-shape: var( --m3e-connected-button-group-large-inner-shape, ${DesignToken$1.shape.corner.large} ); --_button-square-end-pressed-shape: var( --m3e-connected-button-group-large-inner-pressed-shape, ${DesignToken$1.shape.corner.medium} ); } :host([variant="connected"][size="large"]) ::slotted(:state(-last)[size="large"]), :host([variant="connected"][size="large"]) ::slotted(:not(:state(-first)):not(:state(-last))[size="large"]) { --_button-rounded-start-shape: var( --m3e-connected-button-group-large-inner-shape, ${DesignToken$1.shape.corner.large} ); --_button-square-start-shape: var( --m3e-connected-button-group-large-inner-shape, ${DesignToken$1.shape.corner.large} ); --_button-square-start-pressed-shape: var( --m3e-connected-button-group-large-inner-pressed-shape, ${DesignToken$1.shape.corner.medium} ); } :host([variant="connected"][size="extra-large"]) ::slotted(:state(-first)[size="extra-large"]), :host([variant="connected"][size="extra-large"]) ::slotted(:not(:state(-first)):not(:state(-last))[size="extra-large"]) { --_button-rounded-end-shape: var( --m3e-connected-button-group-extra-large-inner-shape, ${DesignToken$1.shape.corner.largeIncreased} ); --_button-square-end-shape: var( --m3e-connected-button-group-extra-large-inner-shape, ${DesignToken$1.shape.corner.largeIncreased} ); --_button-square-end-pressed-shape: var( --m3e-connected-button-group-extra-large-inner-pressed-shape, ${DesignToken$1.shape.corner.large} ); } :host([variant="connected"][size="extra-large"]) ::slotted(:state(-last)[size="extra-large"]), :host([variant="connected"][size="extra-large"]) ::slotted(:not(:state(-first)):not(:state(-last))[size="extra-large"]) { --_button-rounded-start-shape: var( --m3e-connected-button-group-extra-large-inner-shape, ${DesignToken$1.shape.corner.largeIncreased} ); --_button-square-start-shape: var( --m3e-connected-button-group-extra-large-inner-shape, ${DesignToken$1.shape.corner.largeIncreased} ); --_button-square-start-pressed-shape: var( --m3e-connected-button-group-extra-large-inner-pressed-shape, ${DesignToken$1.shape.corner.large} ); }`;
3753
3760
  __decorate([e$4(".base")], M3eButtonGroupElement.prototype, "_base", void 0);
3754
3761
  __decorate([n$1({
3755
3762
  reflect: true
@@ -3765,7 +3772,7 @@ __decorate([o$3({
3765
3772
  selector: "m3e-button,m3e-icon-button",
3766
3773
  flatten: true
3767
3774
  })], M3eButtonGroupElement.prototype, "buttons", void 0);
3768
- M3eButtonGroupElement = __decorate([t$3("m3e-button-group")], M3eButtonGroupElement);
3775
+ M3eButtonGroupElement = __decorate([customElement$1("m3e-button-group")], M3eButtonGroupElement);
3769
3776
 
3770
3777
  /**
3771
3778
  * Component design tokens for `M3eCardElement`.
@@ -4148,7 +4155,7 @@ __decorate([n$1({
4148
4155
  __decorate([n$1({
4149
4156
  reflect: true
4150
4157
  })], M3eCardElement.prototype, "orientation", void 0);
4151
- M3eCardElement = __decorate([t$3("m3e-card")], M3eCardElement);
4158
+ M3eCardElement = __decorate([customElement$1("m3e-card")], M3eCardElement);
4152
4159
 
4153
4160
  var _M3eCheckboxElement_instances, _M3eCheckboxElement_clickHandler, _M3eCheckboxElement_hoverController, _M3eCheckboxElement_pressedController, _M3eCheckboxElement_renderIcon, _M3eCheckboxElement_handleClick;
4154
4161
  /**
@@ -4317,12 +4324,12 @@ _M3eCheckboxElement_handleClick = function _M3eCheckboxElement_handleClick(e) {
4317
4324
  }
4318
4325
  };
4319
4326
  /** The styles of the element. */
4320
- M3eCheckboxElement.styles = css`:host { display: inline-block; outline: none; width: fit-content; height: fit-content; vertical-align: middle; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not([aria-disabled="true"])) { cursor: pointer; } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; justify-content: center; position: relative; border-radius: 50%; width: calc(var(--m3e-checkbox-container-size, 2.5rem) + ${DesignToken$1.density.calc(-3)}); height: calc(var(--m3e-checkbox-container-size, 2.5rem) + ${DesignToken$1.density.calc(-3)}); } .touch { position: absolute; height: 3rem; width: 3rem; margin: auto; } .wrapper { box-sizing: border-box; pointer-events: none; width: var(--m3e-checkbox-icon-size, 1.125rem); height: var(--m3e-checkbox-icon-size, 1.125rem); border-radius: var(--m3e-checkbox-container-shape, 0.125rem); } :host(:not([checked]):not([indeterminate])) .wrapper { border-width: var(--m3e-checkbox-unselected-outline-thickness, 2px); border-style: solid; } :host(:not(.-touched.-invalid):not([indeterminate]):not([checked])) .base { --m3e-state-layer-hover-color: var(--m3e-checkbox-unselected-hover-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-focus-color: var(--m3e-checkbox-unselected-focus-color, ${DesignToken$1.color.onSurface}); --m3e-ripple-color: var(--m3e-checkbox-unselected-ripple-color, ${DesignToken$1.color.onSurface}); } :host(:not(.-touched.-invalid)[checked]) .base, :host(:not(.-touched.-invalid)[indeterminate]) .base { --m3e-state-layer-hover-color: var(--m3e-checkbox-selected-hover-color, ${DesignToken$1.color.primary}); --m3e-state-layer-focus-color: var(--m3e-checkbox-selected-focus-color, ${DesignToken$1.color.primary}); --m3e-ripple-color: var(--m3e-checkbox-selected-ripple-color, ${DesignToken$1.color.primary}); } :host(:not([aria-disabled="true"]):not(.-touched.-invalid)[checked]) .wrapper, :host(:not([aria-disabled="true"]):not(.-touched.-invalid)[indeterminate]) .wrapper { background-color: var(--m3e-checkbox-selected-container-color, ${DesignToken$1.color.primary}); color: var(--m3e-checkbox-selected-icon-color, ${DesignToken$1.color.onPrimary}); } :host(:not([aria-disabled="true"]):not(.-touched.-invalid):not([checked]):not([indeterminate]):not(:hover)) .wrapper { border-color: var(--m3e-checkbox-unselected-outline-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not([aria-disabled="true"]):not(.-touched.-invalid):not([checked]):not([indeterminate]):hover) .wrapper { border-color: var(--m3e-checkbox-unselected-hover-outline-color, ${DesignToken$1.color.onSurface}); } :host([aria-disabled="true"]:not([checked]):not([indeterminate])) .wrapper { border-color: color-mix( in srgb, var(--m3e-checkbox-unselected-disabled-outline-color, ${DesignToken$1.color.onSurface}) var(--m3e-checkbox-unselected-disabled-outline-opacity, 38%), transparent ); } :host([aria-disabled="true"][checked]) .wrapper, :host([aria-disabled="true"][indeterminate]) .wrapper { background-color: color-mix( in srgb, var(--m3e-checkbox-selected-disabled-container-color, ${DesignToken$1.color.onSurface}) var(--m3e-checkbox-selected-disabled-container-opacity, 38%), transparent ); color: color-mix( in srgb, var(--m3e-checkbox-selected-disabled-icon-color, ${DesignToken$1.color.surface}) var(--m3e-checkbox-selected-disabled-icon-opacity, 100%), transparent ); } :host(:not([aria-disabled="true"]).-touched.-invalid:not([checked]):not([indeterminate])) .base { --m3e-state-layer-hover-color: var(--m3e-checkbox-unselected-error-hover-color, ${DesignToken$1.color.error}); --m3e-state-layer-focus-color: var(--m3e-checkbox-unselected-error-focus-color, ${DesignToken$1.color.error}); --m3e-ripple-color: var(--m3e-checkbox-unselected-error-ripple-color, ${DesignToken$1.color.error}); } :host(:not([aria-disabled="true"]).-touched.-invalid[checked]) .base, :host(:not([aria-disabled="true"]).-touched.-invalid[indeterminate]) .base { --m3e-state-layer-hover-color: var(--m3e-checkbox-selected-error-hover-color, ${DesignToken$1.color.onError}); --m3e-state-layer-focus-color: var(--m3e-checkbox-selected-error-focus-color, ${DesignToken$1.color.onError}); --m3e-ripple-color: var(--m3e-checkbox-selected-error-ripple-color, ${DesignToken$1.color.onError}); } :host(:not([aria-disabled="true"]).-touched.-invalid:not([checked]):not([indeterminate])) .wrapper { border-color: var(--m3e-checkbox-unselected-error-outline-color, ${DesignToken$1.color.error}); } @media (forced-colors: active) { :host(:not(.-touched.-invalid):not([indeterminate]):not([checked])) .base, :host(:not(.-touched.-invalid)[checked]) .base, :host(:not(.-touched.-invalid)[indeterminate]) .base { --m3e-state-layer-hover-color: CanvasText; --m3e-state-layer-focus-color: CanvasText; --m3e-ripple-color: CanvasText; } :host(:not([aria-disabled="true"]):not(.-touched.-invalid):not([checked]):not([indeterminate]):not(:hover)) .wrapper, :host(:not([aria-disabled="true"]):not(.-touched.-invalid):not([checked]):not([indeterminate]):hover) .wrapper { border-color: CanvasText; } :host(:not([aria-disabled="true"]):not(.-touched.-invalid)[checked]) .wrapper, :host(:not([aria-disabled="true"]):not(.-touched.-invalid)[indeterminate]) .wrapper { background-color: CanvasText; color: Canvas; } :host([aria-disabled="true"]:not([checked]):not([indeterminate])) .wrapper { border-color: GrayText; } :host([aria-disabled="true"][checked]) .wrapper, :host([aria-disabled="true"][indeterminate]) .wrapper { background-color: GrayText; color: Canvas; } :host(:not([aria-disabled="true"]).-touched.-invalid:not([checked]):not([indeterminate])) .wrapper { border-color: Highlight; } :host(:not([aria-disabled="true"]).-touched.-invalid:not([checked]):not([indeterminate])) .base, :host(:not([aria-disabled="true"]).-touched.-invalid[checked]) .base, :host(:not([aria-disabled="true"]).-touched.-invalid[indeterminate]) .base { --m3e-state-layer-hover-color: Highlight; --m3e-state-layer-focus-color: Highlight; --m3e-ripple-color: Highlight; } }`;
4327
+ M3eCheckboxElement.styles = css`:host { display: inline-block; outline: none; width: fit-content; height: fit-content; vertical-align: middle; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not([aria-disabled="true"])) { cursor: pointer; } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; justify-content: center; position: relative; border-radius: 50%; width: calc(var(--m3e-checkbox-container-size, 2.5rem) + ${DesignToken$1.density.calc(-3)}); height: calc(var(--m3e-checkbox-container-size, 2.5rem) + ${DesignToken$1.density.calc(-3)}); } .touch { position: absolute; height: 3rem; width: 3rem; margin: auto; } .wrapper { box-sizing: border-box; pointer-events: none; width: var(--m3e-checkbox-icon-size, 1.125rem); height: var(--m3e-checkbox-icon-size, 1.125rem); border-radius: var(--m3e-checkbox-container-shape, 0.125rem); } :host(:not([checked]):not([indeterminate])) .wrapper { border-width: var(--m3e-checkbox-unselected-outline-thickness, 2px); border-style: solid; } :host(:not(:state(-touched):state(-invalid)):not([indeterminate]):not([checked])) .base { --m3e-state-layer-hover-color: var(--m3e-checkbox-unselected-hover-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-focus-color: var(--m3e-checkbox-unselected-focus-color, ${DesignToken$1.color.onSurface}); --m3e-ripple-color: var(--m3e-checkbox-unselected-ripple-color, ${DesignToken$1.color.onSurface}); } :host(:not(:state(-touched):state(-invalid))[checked]) .base, :host(:not(:state(-touched):state(-invalid))[indeterminate]) .base { --m3e-state-layer-hover-color: var(--m3e-checkbox-selected-hover-color, ${DesignToken$1.color.primary}); --m3e-state-layer-focus-color: var(--m3e-checkbox-selected-focus-color, ${DesignToken$1.color.primary}); --m3e-ripple-color: var(--m3e-checkbox-selected-ripple-color, ${DesignToken$1.color.primary}); } :host(:not([aria-disabled="true"]):not(:state(-touched):state(-invalid))[checked]) .wrapper, :host(:not([aria-disabled="true"]):not(:state(-touched):state(-invalid))[indeterminate]) .wrapper { background-color: var(--m3e-checkbox-selected-container-color, ${DesignToken$1.color.primary}); color: var(--m3e-checkbox-selected-icon-color, ${DesignToken$1.color.onPrimary}); } :host( :not([aria-disabled="true"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):not( :hover ) ) .wrapper { border-color: var(--m3e-checkbox-unselected-outline-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not([aria-disabled="true"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):hover) .wrapper { border-color: var(--m3e-checkbox-unselected-hover-outline-color, ${DesignToken$1.color.onSurface}); } :host([aria-disabled="true"]:not([checked]):not([indeterminate])) .wrapper { border-color: color-mix( in srgb, var(--m3e-checkbox-unselected-disabled-outline-color, ${DesignToken$1.color.onSurface}) var(--m3e-checkbox-unselected-disabled-outline-opacity, 38%), transparent ); } :host([aria-disabled="true"][checked]) .wrapper, :host([aria-disabled="true"][indeterminate]) .wrapper { background-color: color-mix( in srgb, var(--m3e-checkbox-selected-disabled-container-color, ${DesignToken$1.color.onSurface}) var(--m3e-checkbox-selected-disabled-container-opacity, 38%), transparent ); color: color-mix( in srgb, var(--m3e-checkbox-selected-disabled-icon-color, ${DesignToken$1.color.surface}) var(--m3e-checkbox-selected-disabled-icon-opacity, 100%), transparent ); } :host(:not([aria-disabled="true"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .base { --m3e-state-layer-hover-color: var(--m3e-checkbox-unselected-error-hover-color, ${DesignToken$1.color.error}); --m3e-state-layer-focus-color: var(--m3e-checkbox-unselected-error-focus-color, ${DesignToken$1.color.error}); --m3e-ripple-color: var(--m3e-checkbox-unselected-error-ripple-color, ${DesignToken$1.color.error}); } :host(:not([aria-disabled="true"]):state(-touched):state(-invalid)[checked]) .base, :host(:not([aria-disabled="true"]):state(-touched):state(-invalid)[indeterminate]) .base { --m3e-state-layer-hover-color: var(--m3e-checkbox-selected-error-hover-color, ${DesignToken$1.color.onError}); --m3e-state-layer-focus-color: var(--m3e-checkbox-selected-error-focus-color, ${DesignToken$1.color.onError}); --m3e-ripple-color: var(--m3e-checkbox-selected-error-ripple-color, ${DesignToken$1.color.onError}); } :host(:not([aria-disabled="true"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .wrapper { border-color: var(--m3e-checkbox-unselected-error-outline-color, ${DesignToken$1.color.error}); } @media (forced-colors: active) { :host(:not(:state(-touched):state(-invalid)):not([indeterminate]):not([checked])) .base, :host(:not(:state(-touched):state(-invalid))[checked]) .base, :host(:not(:state(-touched):state(-invalid))[indeterminate]) .base { --m3e-state-layer-hover-color: CanvasText; --m3e-state-layer-focus-color: CanvasText; --m3e-ripple-color: CanvasText; } :host( :not([aria-disabled="true"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):not( :hover ) ) .wrapper, :host( :not([aria-disabled="true"]):not(:state(-touched):state(-invalid)):not([checked]):not([indeterminate]):hover ) .wrapper { border-color: CanvasText; } :host(:not([aria-disabled="true"]):not(:state(-touched):state(-invalid))[checked]) .wrapper, :host(:not([aria-disabled="true"]):not(:state(-touched):state(-invalid))[indeterminate]) .wrapper { background-color: CanvasText; color: Canvas; } :host([aria-disabled="true"]:not([checked]):not([indeterminate])) .wrapper { border-color: GrayText; } :host([aria-disabled="true"][checked]) .wrapper, :host([aria-disabled="true"][indeterminate]) .wrapper { background-color: GrayText; color: Canvas; } :host(:not([aria-disabled="true"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .wrapper { border-color: Highlight; } :host(:not([aria-disabled="true"]):state(-touched):state(-invalid):not([checked]):not([indeterminate])) .base, :host(:not([aria-disabled="true"]):state(-touched):state(-invalid)[checked]) .base, :host(:not([aria-disabled="true"]):state(-touched):state(-invalid)[indeterminate]) .base { --m3e-state-layer-hover-color: Highlight; --m3e-state-layer-focus-color: Highlight; --m3e-ripple-color: Highlight; } }`;
4321
4328
  __decorate([e$4(".focus-ring")], M3eCheckboxElement.prototype, "_focusRing", void 0);
4322
4329
  __decorate([e$4(".state-layer")], M3eCheckboxElement.prototype, "_stateLayer", void 0);
4323
4330
  __decorate([e$4(".ripple")], M3eCheckboxElement.prototype, "_ripple", void 0);
4324
4331
  __decorate([n$1()], M3eCheckboxElement.prototype, "value", void 0);
4325
- M3eCheckboxElement = __decorate([t$3("m3e-checkbox")], M3eCheckboxElement);
4332
+ M3eCheckboxElement = __decorate([customElement$1("m3e-checkbox")], M3eCheckboxElement);
4326
4333
 
4327
4334
  var _M3eChipElement_instances, _M3eChipElement_value, _M3eChipElement_textContent, _M3eChipElement_renderContent, _M3eChipElement_handleIconSlotChange, _M3eChipElement_handleTrailingIconSlotChange, _M3eChipElement_handleSlotChange;
4328
4335
  /**
@@ -4373,7 +4380,7 @@ var _M3eChipElement_instances, _M3eChipElement_value, _M3eChipElement_textConten
4373
4380
  * @cssprop --m3e-outlined-chip-outline-thickness - Outline thickness for outlined variant.
4374
4381
  * @cssprop --m3e-outlined-chip-outline-color - Outline color for outlined variant.
4375
4382
  */
4376
- let M3eChipElement = class M3eChipElement extends LitElement {
4383
+ let M3eChipElement = class M3eChipElement extends AttachInternals$1(LitElement) {
4377
4384
  constructor() {
4378
4385
  super(...arguments);
4379
4386
  _M3eChipElement_instances.add(this);
@@ -4432,16 +4439,16 @@ _M3eChipElement_renderContent = function _M3eChipElement_renderContent() {
4432
4439
  return html`${this._renderIcon()}<div class="label">${this._renderSlot()}</div>${this._renderTrailingIcon()}`;
4433
4440
  };
4434
4441
  _M3eChipElement_handleIconSlotChange = function _M3eChipElement_handleIconSlotChange(e) {
4435
- this.classList.toggle("-with-icon", hasAssignedNodes$1(e.target));
4442
+ setCustomState$1(this, "-with-icon", hasAssignedNodes$1(e.target));
4436
4443
  };
4437
4444
  _M3eChipElement_handleTrailingIconSlotChange = function _M3eChipElement_handleTrailingIconSlotChange(e) {
4438
- this.classList.toggle("-with-trailing-icon", hasAssignedNodes$1(e.target));
4445
+ setCustomState$1(this, "-with-trailing-icon", hasAssignedNodes$1(e.target));
4439
4446
  };
4440
4447
  _M3eChipElement_handleSlotChange = function _M3eChipElement_handleSlotChange(e) {
4441
4448
  __classPrivateFieldSet(this, _M3eChipElement_textContent, getTextContent$1(e.target), "f");
4442
4449
  };
4443
4450
  /** The styles of the element. */
4444
- M3eChipElement.styles = css`:host { display: inline-block; vertical-align: middle; outline: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; justify-content: center; position: relative; width: 100%; transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; border-radius: var(--m3e-chip-container-shape, ${DesignToken$1.shape.corner.small}); height: calc(var(--m3e-chip-container-height, 2rem) + ${DesignToken$1.density.calc(-2)}); font-size: var(--m3e-chip-label-text-font-size, ${DesignToken$1.typescale.standard.label.large.fontSize}); font-weight: var(--m3e-chip-label-text-font-weight, ${DesignToken$1.typescale.standard.label.large.fontWeight}); line-height: var(--m3e-chip-label-text-line-height, ${DesignToken$1.typescale.standard.label.large.lineHeight}); letter-spacing: var(--m3e-chip-label-text-tracking, ${DesignToken$1.typescale.standard.label.large.tracking}); } :host(:not(m3e-chip):not(:disabled):not([disabled-interactive])) { cursor: pointer; } :host(:not(m3e-chip):not(:disabled)[disabled-interactive]) { cursor: not-allowed; } :host(:not(m3e-chip):not(:disabled):not([disabled-interactive])) .base { user-select: none; } .touch { position: absolute; height: 3rem; left: 0; right: 0; } .wrapper { width: 100%; overflow: hidden; display: inline-flex; align-items: center; column-gap: var(--m3e-chip-spacing, 0.5rem); } .label { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } a { all: unset; display: block; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 1; } :host([variant="elevated"]) .base { background-color: var(--m3e-elevated-chip-container-color, ${DesignToken$1.color.surfaceContainerLow}); --m3e-elevation-level: var(--m3e-elevated-chip-elevation, ${DesignToken$1.elevation.level1}); --m3e-elevation-hover-level: var(--m3e-elevated-chip-hover-elevation, ${DesignToken$1.elevation.level2}); --m3e-elevation-focus-level: var(--m3e-elevated-chip-elevation, ${DesignToken$1.elevation.level1}); --m3e-elevation-pressed-level: var(--m3e-elevated-chip-elevation, ${DesignToken$1.elevation.level1}); } :host([variant="outlined"]) .base { outline-width: var(--m3e-outlined-chip-outline-thickness, 1px); outline-style: solid; outline-offset: calc(0px - var(--m3e-outlined-chip-outline-thickness, 1px)); } :host(:not(:disabled):not([disabled-interactive])[variant="outlined"]) .base { outline-color: var(--m3e-outlined-chip-outline-color, ${DesignToken$1.color.outlineVariant}); } :host(:disabled[variant="outlined"]) .base, :host([disabled-interactive][variant="outlined"]) .base { outline-color: color-mix( in srgb, var(--m3e-outlined-chip-disabled-outline-color, ${DesignToken$1.color.onSurface}) var(--m3e-outlined-chip-disabled-outline-opacity, 12%), transparent ); } :host(.-with-icon) .wrapper { padding-inline-start: var(--m3e-chip-with-icon-padding-start, 0.5rem); } :host(:not(.-with-icon)) .wrapper { padding-inline-start: var(--m3e-chip-padding-start, 1rem); } :host(.-with-trailing-icon) .wrapper { padding-inline-end: var(--m3e-chip-with-icon-padding-end, 0.5rem); } :host(:not(.-with-trailing-icon)) .wrapper { padding-inline-end: var(--m3e-chip-padding-end, 1rem); } ::slotted([slot="icon"]), ::slotted([slot="trailing-icon"]) { flex: none; width: 1em; font-size: var(--m3e-chip-icon-size, 1.125rem) !important; } :host(:not(:disabled):not([disabled-interactive]):not([selected])) .base { color: var(--m3e-chip-label-text-color, ${DesignToken$1.color.onSurface}); } :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="icon"]), :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: var(--m3e-chip-icon-color, ${DesignToken$1.color.primary}); } :host(:disabled) .base, :host([disabled-interactive]) .base { color: color-mix( in srgb, var(--m3e-chip-disabled-label-text-color, ${DesignToken$1.color.onSurface}) var(--m3e-chip-disabled-label-text-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="icon"]), :host([disabled-interactive]) ::slotted([slot="icon"]), :host(:disabled) ::slotted([slot="trailing-icon"]), :host([disabled-interactive]) ::slotted([slot="trailing-icon"]) { color: color-mix( in srgb, var(--m3e-chip-disabled-icon-color, ${DesignToken$1.color.onSurface}) var(--m3e-chip-disabled-icon-opacity, 38%), transparent ); } :host([variant="elevated"]:disabled) .base, :host([variant="elevated"][disabled-interactive]) .base { background-color: color-mix( in srgb, var(--m3e-elevated-chip-disabled-container-color, ${DesignToken$1.color.onSurface}) var(--m3e-elevated-chip-disabled-container-opacity, 12%), transparent ); --m3e-elevation-level: var(--m3e-elevated-chip-disabled-elevation, ${DesignToken$1.elevation.level0}); } @media (prefers-reduced-motion) { .base { transition: none; } } @media (forced-colors: active) { .base { transition: none; } :host(:not(:disabled):not([disabled-interactive]):not([selected])) .base, :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="icon"]), :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: CanvasText; } :host(:not(:disabled):not([disabled-interactive])[variant="outlined"]) .base { outline-color: CanvasText; } :host(:disabled) .base, :host([disabled-interactive]) .base, :host(:disabled) ::slotted([slot="icon"]), :host([disabled-interactive]) ::slotted([slot="icon"]), :host(:disabled) ::slotted([slot="trailing-icon"]), :host([disabled-interactive]) ::slotted([slot="trailing-icon"]) { color: GrayText; } :host(:disabled[variant="outlined"]) .base, :host([disabled-interactive][variant="outlined"]) .base { outline-color: GrayText; } }`;
4451
+ M3eChipElement.styles = css`:host { display: inline-block; vertical-align: middle; outline: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; justify-content: center; position: relative; width: 100%; transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; border-radius: var(--m3e-chip-container-shape, ${DesignToken$1.shape.corner.small}); height: calc(var(--m3e-chip-container-height, 2rem) + ${DesignToken$1.density.calc(-2)}); font-size: var(--m3e-chip-label-text-font-size, ${DesignToken$1.typescale.standard.label.large.fontSize}); font-weight: var(--m3e-chip-label-text-font-weight, ${DesignToken$1.typescale.standard.label.large.fontWeight}); line-height: var(--m3e-chip-label-text-line-height, ${DesignToken$1.typescale.standard.label.large.lineHeight}); letter-spacing: var(--m3e-chip-label-text-tracking, ${DesignToken$1.typescale.standard.label.large.tracking}); } :host(:not(m3e-chip):not(:disabled):not([disabled-interactive])) { cursor: pointer; } :host(:not(m3e-chip):not(:disabled)[disabled-interactive]) { cursor: not-allowed; } :host(:not(m3e-chip):not(:disabled):not([disabled-interactive])) .base { user-select: none; } .touch { position: absolute; height: 3rem; left: 0; right: 0; } .wrapper { width: 100%; overflow: hidden; display: inline-flex; align-items: center; column-gap: var(--m3e-chip-spacing, 0.5rem); } .label { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } a { all: unset; display: block; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 1; } :host([variant="elevated"]) .base { background-color: var(--m3e-elevated-chip-container-color, ${DesignToken$1.color.surfaceContainerLow}); --m3e-elevation-level: var(--m3e-elevated-chip-elevation, ${DesignToken$1.elevation.level1}); --m3e-elevation-hover-level: var(--m3e-elevated-chip-hover-elevation, ${DesignToken$1.elevation.level2}); --m3e-elevation-focus-level: var(--m3e-elevated-chip-elevation, ${DesignToken$1.elevation.level1}); --m3e-elevation-pressed-level: var(--m3e-elevated-chip-elevation, ${DesignToken$1.elevation.level1}); } :host([variant="outlined"]) .base { outline-width: var(--m3e-outlined-chip-outline-thickness, 1px); outline-style: solid; outline-offset: calc(0px - var(--m3e-outlined-chip-outline-thickness, 1px)); } :host(:not(:disabled):not([disabled-interactive])[variant="outlined"]) .base { outline-color: var(--m3e-outlined-chip-outline-color, ${DesignToken$1.color.outlineVariant}); } :host(:disabled[variant="outlined"]) .base, :host([disabled-interactive][variant="outlined"]) .base { outline-color: color-mix( in srgb, var(--m3e-outlined-chip-disabled-outline-color, ${DesignToken$1.color.onSurface}) var(--m3e-outlined-chip-disabled-outline-opacity, 12%), transparent ); } :host(:state(-with-icon)) .wrapper { padding-inline-start: var(--m3e-chip-with-icon-padding-start, 0.5rem); } :host(:not(:state(-with-icon))) .wrapper { padding-inline-start: var(--m3e-chip-padding-start, 1rem); } :host(:state(-with-trailing-icon)) .wrapper { padding-inline-end: var(--m3e-chip-with-icon-padding-end, 0.5rem); } :host(:not(:state(-with-trailing-icon))) .wrapper { padding-inline-end: var(--m3e-chip-padding-end, 1rem); } ::slotted([slot="icon"]), ::slotted([slot="trailing-icon"]) { flex: none; width: 1em; font-size: var(--m3e-chip-icon-size, 1.125rem) !important; } :host(:not(:disabled):not([disabled-interactive]):not([selected])) .base { color: var(--m3e-chip-label-text-color, ${DesignToken$1.color.onSurface}); } :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="icon"]), :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: var(--m3e-chip-icon-color, ${DesignToken$1.color.primary}); } :host(:disabled) .base, :host([disabled-interactive]) .base { color: color-mix( in srgb, var(--m3e-chip-disabled-label-text-color, ${DesignToken$1.color.onSurface}) var(--m3e-chip-disabled-label-text-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="icon"]), :host([disabled-interactive]) ::slotted([slot="icon"]), :host(:disabled) ::slotted([slot="trailing-icon"]), :host([disabled-interactive]) ::slotted([slot="trailing-icon"]) { color: color-mix( in srgb, var(--m3e-chip-disabled-icon-color, ${DesignToken$1.color.onSurface}) var(--m3e-chip-disabled-icon-opacity, 38%), transparent ); } :host([variant="elevated"]:disabled) .base, :host([variant="elevated"][disabled-interactive]) .base { background-color: color-mix( in srgb, var(--m3e-elevated-chip-disabled-container-color, ${DesignToken$1.color.onSurface}) var(--m3e-elevated-chip-disabled-container-opacity, 12%), transparent ); --m3e-elevation-level: var(--m3e-elevated-chip-disabled-elevation, ${DesignToken$1.elevation.level0}); } @media (prefers-reduced-motion) { .base { transition: none; } } @media (forced-colors: active) { .base { transition: none; } :host(:not(:disabled):not([disabled-interactive]):not([selected])) .base, :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="icon"]), :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: CanvasText; } :host(:not(:disabled):not([disabled-interactive])[variant="outlined"]) .base { outline-color: CanvasText; } :host(:disabled) .base, :host([disabled-interactive]) .base, :host(:disabled) ::slotted([slot="icon"]), :host([disabled-interactive]) ::slotted([slot="icon"]), :host(:disabled) ::slotted([slot="trailing-icon"]), :host([disabled-interactive]) ::slotted([slot="trailing-icon"]) { color: GrayText; } :host(:disabled[variant="outlined"]) .base, :host([disabled-interactive][variant="outlined"]) .base { outline-color: GrayText; } }`;
4445
4452
  __decorate([e$4(".elevation")], M3eChipElement.prototype, "_elevation", void 0);
4446
4453
  __decorate([e$4(".focus-ring")], M3eChipElement.prototype, "_focusRing", void 0);
4447
4454
  __decorate([e$4(".state-layer")], M3eChipElement.prototype, "_stateLayer", void 0);
@@ -4450,7 +4457,7 @@ __decorate([n$1({
4450
4457
  reflect: true
4451
4458
  })], M3eChipElement.prototype, "variant", void 0);
4452
4459
  __decorate([n$1()], M3eChipElement.prototype, "value", null);
4453
- M3eChipElement = __decorate([t$3("m3e-chip")], M3eChipElement);
4460
+ M3eChipElement = __decorate([customElement$1("m3e-chip")], M3eChipElement);
4454
4461
 
4455
4462
  /**
4456
4463
  * A chip users interact with to perform a smart or automated action that can span multiple applications.
@@ -4522,13 +4529,15 @@ M3eChipElement = __decorate([t$3("m3e-chip")], M3eChipElement);
4522
4529
  * @cssprop --m3e-outlined-chip-disabled-outline-color - Outline color for disabled outlined variant.
4523
4530
  * @cssprop --m3e-outlined-chip-disabled-outline-opacity - Opacity applied to disabled outline.
4524
4531
  */
4525
- let M3eAssistChipElement = class M3eAssistChipElement extends FormSubmitter$1(AttachInternals$1(LinkButton$1(KeyboardClick$1(Focusable$1(DisabledInteractive$1(Disabled$1(Role$1(M3eChipElement, "button")))))), true)) {
4532
+ let M3eAssistChipElement = class M3eAssistChipElement extends FormSubmitter$1(LinkButton$1(KeyboardClick$1(Focusable$1(DisabledInteractive$1(Disabled$1(Role$1(M3eChipElement, "button"))))))) {
4526
4533
  /** @internal @inheritdoc */
4527
4534
  _renderTrailingIcon() {
4528
4535
  return nothing;
4529
4536
  }
4530
4537
  };
4531
- M3eAssistChipElement = __decorate([t$3("m3e-assist-chip")], M3eAssistChipElement);
4538
+ /** Indicates that this custom element participates in form submission, validation, and form state restoration. */
4539
+ M3eAssistChipElement.formAssociated = true;
4540
+ M3eAssistChipElement = __decorate([customElement$1("m3e-assist-chip")], M3eAssistChipElement);
4532
4541
 
4533
4542
  /**
4534
4543
  * A container used to organize chips into a cohesive unit.
@@ -4565,7 +4574,7 @@ let M3eChipSetElement = class M3eChipSetElement extends Vertical$1(LitElement) {
4565
4574
  };
4566
4575
  /** The styles of the element. */
4567
4576
  M3eChipSetElement.styles = css`:host { display: inline-flex; flex-wrap: wrap; vertical-align: middle; gap: var(--m3e-chip-set-spacing, 0.5rem); outline: none; } :host([vertical]) { flex-direction: column; }`;
4568
- M3eChipSetElement = __decorate([t$3("m3e-chip-set")], M3eChipSetElement);
4577
+ M3eChipSetElement = __decorate([customElement$1("m3e-chip-set")], M3eChipSetElement);
4569
4578
 
4570
4579
  var _M3eFilterChipElement_instances, _M3eFilterChipElement_clickHandler, _M3eFilterChipElement_handleClick;
4571
4580
  /**
@@ -4650,7 +4659,7 @@ var _M3eFilterChipElement_instances, _M3eFilterChipElement_clickHandler, _M3eFil
4650
4659
  * @cssprop --m3e-chip-unselected-leading-icon-color - Leading icon color in unselected state.
4651
4660
  * @cssprop --m3e-chip-unselected-trailing-icon-color - Trailing icon color in unselected state.
4652
4661
  */
4653
- let M3eFilterChipElement = class M3eFilterChipElement extends Selected$1(KeyboardClick$1(Focusable$1(DisabledInteractive$1(Disabled$1(AttachInternals$1(Role$1(M3eChipElement, "radio"), true)))))) {
4662
+ let M3eFilterChipElement = class M3eFilterChipElement extends Selected$1(KeyboardClick$1(Focusable$1(DisabledInteractive$1(Disabled$1(Role$1(M3eChipElement, "radio")))))) {
4654
4663
  constructor() {
4655
4664
  super(...arguments);
4656
4665
  _M3eFilterChipElement_instances.add(this);
@@ -4698,9 +4707,11 @@ _M3eFilterChipElement_handleClick = function _M3eFilterChipElement_handleClick(e
4698
4707
  this.selected = selected;
4699
4708
  }
4700
4709
  };
4710
+ /** Indicates that this custom element participates in form submission, validation, and form state restoration. */
4711
+ M3eFilterChipElement.formAssociated = true;
4701
4712
  /** The styles of the element. */
4702
- M3eFilterChipElement.styles = [M3eChipElement.styles, css`:host([selected]:not(.-hide-selection)) .wrapper { padding-inline-start: var(--m3e-chip-with-icon-padding-start, 0.5rem); } .icon { display: flex; align-items: center; justify-content: center; } .check { width: 1em; font-size: var(--m3e-chip-icon-size, 1.125rem); } :host(:not(:disabled):not([disabled-interactive])) .check { color: var(--m3e-chip-selected-leading-icon-color, ${DesignToken$1.color.onSecondaryContainer}); } :host(:not([selected])) .check, :host(.-hide-selection) .check, :host(.-hide-selection:not(.-with-icon)) .icon { display: none; } :host(:not(.-with-icon)) .icon { margin-inline-start: calc(0px - var(--m3e-chip-with-icon-padding-start, 0.5rem)); transition: margin-inline-start ${DesignToken$1.motion.spring.fastEffects}; } :host([selected]) .icon { margin-inline-start: 0; } :host([selected]:not(.-hide-selection)) ::slotted([slot="icon"]) { display: none !important; } :host(:not(:disabled):not([disabled-interactive]):not([selected])) .base { color: var(--m3e-chip-unselected-label-text-color, ${DesignToken$1.color.onSurfaceVariant}); --m3e-ripple-color: var(--m3e-chip-unselected-ripple-color, ${DesignToken$1.color.onSurfaceVariant}); --m3e-state-layer-focus-color: var( --m3e-chip-unselected-state-layer-focus-color, ${DesignToken$1.color.onSurfaceVariant} ); --m3e-state-layer-hover-color: var( --m3e-chip-unselected-state-layer-hover-color, ${DesignToken$1.color.onSurfaceVariant} ); } :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="icon"]) { color: var(--m3e-chip-unselected-leading-icon-color, ${DesignToken$1.color.primary}); } :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: var(--m3e-chip-unselected-trailing-icon-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not(:disabled):not([disabled-interactive])[selected]) .base { outline-offset: unset; outline-width: var(--m3e-chip-selected-outline-thickness, 0); color: var(--m3e-chip-selected-label-text-color, ${DesignToken$1.color.onSecondaryContainer}); background-color: var(--m3e-chip-selected-container-color, ${DesignToken$1.color.secondaryContainer}); --m3e-state-layer-hover-color: var( --m3e-chip-selected-container-hover-color, ${DesignToken$1.color.onSecondaryContainer} ); --m3e-state-layer-focus-color: var( --m3e-chip-selected-container-focus-color, ${DesignToken$1.color.onSecondaryContainer} ); --m3e-elevation-hover-level: var(--m3e-chip-selected-hover-elevation, ${DesignToken$1.elevation.level1}); --m3e-ripple-color: var(--m3e-chip-selected-ripple-color, ${DesignToken$1.color.onSecondaryContainer}); --m3e-state-layer-focus-color: var( --m3e-chip-selected-state-layer-focus-color, ${DesignToken$1.color.onSecondaryContainer} ); --m3e-state-layer-hover-color: var( --m3e-chip-selected-state-layer-hover-color, ${DesignToken$1.color.onSecondaryContainer} ); } :host(:not(:disabled):not([disabled-interactive])[selected]) ::slotted([slot="icon"]) { color: var(--m3e-chip-selected-leading-icon-color, ${DesignToken$1.color.onSecondaryContainer}); } :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: var(--m3e-chip-selected-trailing-icon-color, ${DesignToken$1.color.onSecondaryContainer}); } @media (prefers-reduced-motion) { .base, :host(:not(.-with-icon)) .icon { transition: none; } } @media (forced-colors: active) { :host(:not(:disabled):not([disabled-interactive]):not([selected])) .base, :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="icon"]), :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: CanvasText; } :host(:not(:disabled):not([disabled-interactive])[selected]) .base, :host(:not(:disabled):not([disabled-interactive])[selected]) ::slotted([slot="icon"]), :host(:not(:disabled):not([disabled-interactive])[selected]) ::slotted([slot="trailing-icon"]), :host(:not(:disabled):not([disabled-interactive])) .check { color: ButtonText; } :host(:not(:disabled):not([disabled-interactive])[selected]) .base { outline-offset: calc(0px - var(--m3e-outlined-chip-outline-thickness, 1px)); outline-width: var(--m3e-outlined-chip-outline-thickness, 1px); outline-color: ButtonText; } }`];
4703
- M3eFilterChipElement = __decorate([t$3("m3e-filter-chip")], M3eFilterChipElement);
4713
+ M3eFilterChipElement.styles = [M3eChipElement.styles, css`:host([selected]:not(:state(-hide-selection))) .wrapper { padding-inline-start: var(--m3e-chip-with-icon-padding-start, 0.5rem); } .icon { display: flex; align-items: center; justify-content: center; } .check { width: 1em; font-size: var(--m3e-chip-icon-size, 1.125rem); } :host(:not(:disabled):not([disabled-interactive])) .check { color: var(--m3e-chip-selected-leading-icon-color, ${DesignToken$1.color.onSecondaryContainer}); } :host(:not([selected])) .check, :host(:state(-hide-selection)) .check, :host(:state(-hide-selection):not(:state(-with-icon))) .icon { display: none; } :host(:not(:state(-with-icon))) .icon { margin-inline-start: calc(0px - var(--m3e-chip-with-icon-padding-start, 0.5rem)); transition: margin-inline-start ${DesignToken$1.motion.spring.fastEffects}; } :host([selected]) .icon { margin-inline-start: 0; } :host([selected]:not(:state(-hide-selection))) ::slotted([slot="icon"]) { display: none !important; } :host(:not(:disabled):not([disabled-interactive]):not([selected])) .base { color: var(--m3e-chip-unselected-label-text-color, ${DesignToken$1.color.onSurfaceVariant}); --m3e-ripple-color: var(--m3e-chip-unselected-ripple-color, ${DesignToken$1.color.onSurfaceVariant}); --m3e-state-layer-focus-color: var( --m3e-chip-unselected-state-layer-focus-color, ${DesignToken$1.color.onSurfaceVariant} ); --m3e-state-layer-hover-color: var( --m3e-chip-unselected-state-layer-hover-color, ${DesignToken$1.color.onSurfaceVariant} ); } :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="icon"]) { color: var(--m3e-chip-unselected-leading-icon-color, ${DesignToken$1.color.primary}); } :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: var(--m3e-chip-unselected-trailing-icon-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not(:disabled):not([disabled-interactive])[selected]) .base { outline-offset: unset; outline-width: var(--m3e-chip-selected-outline-thickness, 0); color: var(--m3e-chip-selected-label-text-color, ${DesignToken$1.color.onSecondaryContainer}); background-color: var(--m3e-chip-selected-container-color, ${DesignToken$1.color.secondaryContainer}); --m3e-state-layer-hover-color: var( --m3e-chip-selected-container-hover-color, ${DesignToken$1.color.onSecondaryContainer} ); --m3e-state-layer-focus-color: var( --m3e-chip-selected-container-focus-color, ${DesignToken$1.color.onSecondaryContainer} ); --m3e-elevation-hover-level: var(--m3e-chip-selected-hover-elevation, ${DesignToken$1.elevation.level1}); --m3e-ripple-color: var(--m3e-chip-selected-ripple-color, ${DesignToken$1.color.onSecondaryContainer}); --m3e-state-layer-focus-color: var( --m3e-chip-selected-state-layer-focus-color, ${DesignToken$1.color.onSecondaryContainer} ); --m3e-state-layer-hover-color: var( --m3e-chip-selected-state-layer-hover-color, ${DesignToken$1.color.onSecondaryContainer} ); } :host(:not(:disabled):not([disabled-interactive])[selected]) ::slotted([slot="icon"]) { color: var(--m3e-chip-selected-leading-icon-color, ${DesignToken$1.color.onSecondaryContainer}); } :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: var(--m3e-chip-selected-trailing-icon-color, ${DesignToken$1.color.onSecondaryContainer}); } @media (prefers-reduced-motion) { .base, :host(:not(:state(-with-icon))) .icon { transition: none; } } @media (forced-colors: active) { :host(:not(:disabled):not([disabled-interactive]):not([selected])) .base, :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="icon"]), :host(:not(:disabled):not([disabled-interactive]):not([selected])) ::slotted([slot="trailing-icon"]) { color: CanvasText; } :host(:not(:disabled):not([disabled-interactive])[selected]) .base, :host(:not(:disabled):not([disabled-interactive])[selected]) ::slotted([slot="icon"]), :host(:not(:disabled):not([disabled-interactive])[selected]) ::slotted([slot="trailing-icon"]), :host(:not(:disabled):not([disabled-interactive])) .check { color: ButtonText; } :host(:not(:disabled):not([disabled-interactive])[selected]) .base { outline-offset: calc(0px - var(--m3e-outlined-chip-outline-thickness, 1px)); outline-width: var(--m3e-outlined-chip-outline-thickness, 1px); outline-color: ButtonText; } }`];
4714
+ M3eFilterChipElement = __decorate([customElement$1("m3e-filter-chip")], M3eFilterChipElement);
4704
4715
 
4705
4716
  var _M3eFilterChipSetElement_instances, _M3eFilterChipSetElement_directionalitySubscription, _M3eFilterChipSetElement_handleSlotChange, _M3eFilterChipSetElement_handleKeyDown, _M3eFilterChipSetElement_handleChange, _M3eFilterChipSetElement_updateChipRole, _a$9;
4706
4717
  /**
@@ -4821,7 +4832,7 @@ let M3eFilterChipSetElement = class M3eFilterChipSetElement extends Labelled$1(D
4821
4832
  this.ariaDisabled = this.multi && this.disabled ? "true" : null;
4822
4833
  }
4823
4834
  if (changedProperties.has("hideSelectionIndicator")) {
4824
- this.chips.forEach(x => x.classList.toggle("-hide-selection", this.hideSelectionIndicator));
4835
+ this.chips.forEach(x => setCustomState$1(x, "-hide-selection", this.hideSelectionIndicator));
4825
4836
  }
4826
4837
  }
4827
4838
  /** @inheritdoc */
@@ -4833,7 +4844,7 @@ _M3eFilterChipSetElement_handleSlotChange = function _M3eFilterChipSetElement_ha
4833
4844
  const {
4834
4845
  added
4835
4846
  } = this[selectionManager].setItems([...this.querySelectorAll("m3e-filter-chip")]);
4836
- added.forEach(x => x.classList.toggle("-hide-selection", this.hideSelectionIndicator));
4847
+ added.forEach(x => setCustomState$1(x, "-hide-selection", this.hideSelectionIndicator));
4837
4848
  __classPrivateFieldGet(this, _M3eFilterChipSetElement_instances, "m", _M3eFilterChipSetElement_updateChipRole).call(this);
4838
4849
  };
4839
4850
  _M3eFilterChipSetElement_handleKeyDown = function _M3eFilterChipSetElement_handleKeyDown(e) {
@@ -4857,7 +4868,7 @@ __decorate([n$1({
4857
4868
  attribute: "hide-selection-indicator",
4858
4869
  type: Boolean
4859
4870
  })], M3eFilterChipSetElement.prototype, "hideSelectionIndicator", void 0);
4860
- M3eFilterChipSetElement = __decorate([t$3("m3e-filter-chip-set")], M3eFilterChipSetElement);
4871
+ M3eFilterChipSetElement = __decorate([customElement$1("m3e-filter-chip-set")], M3eFilterChipSetElement);
4861
4872
 
4862
4873
  /**
4863
4874
  * @license
@@ -5226,10 +5237,15 @@ var _M3eInputChipElement_instances, _M3eInputChipElement_handleAvatarSlotChange,
5226
5237
  * @cssprop --m3e-outlined-chip-disabled-outline-color - Outline color for disabled outlined variant.
5227
5238
  * @cssprop --m3e-outlined-chip-disabled-outline-opacity - Opacity applied to disabled outline.
5228
5239
  * @cssprop --m3e-chip-avatar-size - Font size of the avatar slot content.
5240
+ * @cssprop --m3e-chip-avatar-icon-size - Size of the icon displayed inside the avatar when used in a chip.
5241
+ * @cssprop --m3e-chip-avatar-font-size - Font size of text initials inside the avatar when used in a chip.
5242
+ * @cssprop --m3e-chip-avatar-font-weight - Font weight of text initials inside the avatar when used in a chip.
5243
+ * @cssprop --m3e-chip-avatar-line-height - Line height of text initials inside the avatar when used in a chip.
5244
+ * @cssprop --m3e-chip-avatar-tracking - Letter spacing (tracking) of text initials inside the avatar when used in a chip.
5229
5245
  * @cssprop --m3e-chip-disabled-avatar-opacity - Opacity applied to the avatar when disabled.
5230
5246
  * @cssprop --m3e-chip-with-avatar-padding-start - Start padding when an avatar is present.
5231
5247
  */
5232
- let M3eInputChipElement = class M3eInputChipElement extends EventAttribute$1(DisabledInteractive$1(Disabled$1(AttachInternals$1(Role$1(M3eChipElement, "row"), true))), "remove") {
5248
+ let M3eInputChipElement = class M3eInputChipElement extends EventAttribute$1(DisabledInteractive$1(Disabled$1(Role$1(M3eChipElement, "row"))), "remove") {
5233
5249
  constructor() {
5234
5250
  super(...arguments);
5235
5251
  _M3eInputChipElement_instances.add(this);
@@ -5254,7 +5270,7 @@ let M3eInputChipElement = class M3eInputChipElement extends EventAttribute$1(Dis
5254
5270
  super.update(changedProperties);
5255
5271
  this.removeAttribute("tabindex");
5256
5272
  if (changedProperties.has("removable")) {
5257
- this.classList.toggle("-with-trailing-icon", this.removable);
5273
+ setCustomState$1(this, "-with-trailing-icon", this.removable);
5258
5274
  }
5259
5275
  }
5260
5276
  /** @inheritdoc */
@@ -5268,7 +5284,7 @@ let M3eInputChipElement = class M3eInputChipElement extends EventAttribute$1(Dis
5268
5284
  };
5269
5285
  _M3eInputChipElement_instances = new WeakSet();
5270
5286
  _M3eInputChipElement_handleAvatarSlotChange = function _M3eInputChipElement_handleAvatarSlotChange(e) {
5271
- this.classList.toggle("-with-avatar", hasAssignedNodes$1(e.target));
5287
+ setCustomState$1(this, "-with-avatar", hasAssignedNodes$1(e.target));
5272
5288
  };
5273
5289
  _M3eInputChipElement_handleRemoveButtonClick = function _M3eInputChipElement_handleRemoveButtonClick(e) {
5274
5290
  e.stopPropagation();
@@ -5284,8 +5300,10 @@ _M3eInputChipElement_handleKeyDown = function _M3eInputChipElement_handleKeyDown
5284
5300
  }
5285
5301
  }
5286
5302
  };
5303
+ /** Indicates that this custom element participates in form submission, validation, and form state restoration. */
5304
+ M3eInputChipElement.formAssociated = true;
5287
5305
  /** The styles of the element. */
5288
- M3eInputChipElement.styles = [M3eChipElement.styles, css`.cell { display: inline-flex; align-items: center; outline: none; column-gap: var(--m3e-chip-spacing, 0.5rem); min-width: 0; } .remove-button { --m3e-icon-button-extra-small-container-height: 1.5rem; --m3e-icon-button-extra-small-icon-size: var(--m3e-chip-icon-size, 1.125rem); width: 1.5rem; } .remove-icon { flex: none; width: var(--m3e-chip-icon-size, 1.125rem); height: var(--m3e-chip-icon-size, 1.125rem); } .touch { top: calc( 0px - calc(calc(3rem - calc(var(--m3e-chip-container-height, 2rem) + ${DesignToken$1.density.calc(-2)})) / 2) ); } .wrapper { height: 100%; overflow: visible; min-width: 0; } ::slotted([slot="avatar"]) { flex: none; font-size: var(--m3e-chip-avatar-size, 1.5rem); } :host(:disabled) ::slotted([slot="avatar"]), :host([disabled-interactive]) ::slotted([slot="avatar"]) { opacity: var(--m3e-chip-disabled-avatar-opacity, 38%); color: var(--m3e-chip-disabled-icon-color, ${DesignToken$1.color.onSurface}); } :host(.-with-avatar) ::slotted([slot="icon"]) { display: none; } :host(.-with-avatar) .wrapper { padding-inline-start: var(--m3e-chip-with-avatar-padding-start, 0.25rem); } @media (forced-colors: active) { :host(:disabled) ::slotted([slot="avatar"]), :host([disabled-interactive]) ::slotted([slot="avatar"]) { color: CanvasText; } }`];
5306
+ M3eInputChipElement.styles = [M3eChipElement.styles, css`.cell { display: inline-flex; align-items: center; outline: none; column-gap: var(--m3e-chip-spacing, 0.5rem); min-width: 0; } .remove-button { --m3e-icon-button-extra-small-container-height: 1.5rem; --m3e-icon-button-extra-small-icon-size: var(--m3e-chip-icon-size, 1.125rem); width: 1.5rem; } .remove-icon { flex: none; width: var(--m3e-chip-icon-size, 1.125rem); height: var(--m3e-chip-icon-size, 1.125rem); } .touch { top: calc( 0px - calc(calc(3rem - calc(var(--m3e-chip-container-height, 2rem) + ${DesignToken$1.density.calc(-2)})) / 2) ); } .wrapper { height: 100%; overflow: visible; min-width: 0; } ::slotted([slot="avatar"]) { flex: none; font-size: var(--m3e-chip-avatar-size, 1.5rem); } ::slotted(m3e-avatar[slot="avatar"]) { --m3e-icon-size: var(--m3e-chip-avatar-icon-size, 1.125rem); --m3e-avatar-size: var(--m3e-chip-avatar-size, 1.5rem); --m3e-avatar-font-size: var( --m3e-chip-avatar-font-size, ${DesignToken$1.typescale.standard.title.small.fontSize} ); --m3e-avatar-font-weight: var( --m3e-chip-avatar-font-height, ${DesignToken$1.typescale.standard.title.small.fontWeight} ); --m3e-avatar-line-height: var( --m3e-chip-avatar-line-height, ${DesignToken$1.typescale.standard.title.small.lineHeight} ); --m3e-avatar-tracking: var(--m3e-chip-avatar-tracking, ${DesignToken$1.typescale.standard.title.small.tracking}); } :host(:disabled) ::slotted([slot="avatar"]), :host([disabled-interactive]) ::slotted([slot="avatar"]) { opacity: var(--m3e-chip-disabled-avatar-opacity, 38%); color: var(--m3e-chip-disabled-icon-color, ${DesignToken$1.color.onSurface}); } :host(:state(-with-avatar)) ::slotted([slot="icon"]) { display: none; } :host(:state(-with-avatar)) .wrapper { padding-inline-start: var(--m3e-chip-with-avatar-padding-start, 0.25rem); } @media (forced-colors: active) { :host(:disabled) ::slotted([slot="avatar"]), :host([disabled-interactive]) ::slotted([slot="avatar"]) { color: CanvasText; } }`];
5289
5307
  __decorate([e$4(".cell")], M3eInputChipElement.prototype, "cell", void 0);
5290
5308
  __decorate([e$4(".remove-button")], M3eInputChipElement.prototype, "removeButton", void 0);
5291
5309
  __decorate([n$1({
@@ -5294,7 +5312,7 @@ __decorate([n$1({
5294
5312
  __decorate([n$1({
5295
5313
  attribute: "remove-label"
5296
5314
  })], M3eInputChipElement.prototype, "removeLabel", void 0);
5297
- M3eInputChipElement = __decorate([t$3("m3e-input-chip")], M3eInputChipElement);
5315
+ M3eInputChipElement = __decorate([customElement$1("m3e-input-chip")], M3eInputChipElement);
5298
5316
 
5299
5317
  var _M3eInputChipSetElement_instances, _M3eInputChipSetElement_directionalitySubscription, _M3eInputChipSetElement_inputChangeHandler, _M3eInputChipSetElement_inputKeyDownHandler, _M3eInputChipSetElement_focusHandler, _M3eInputChipSetElement_focusInHandler, _M3eInputChipSetElement_focusOutHandler, _M3eInputChipSetElement_chipRemoveHandler, _M3eInputChipSetElement_chipClickHandler, _M3eInputChipSetElement_listManager, _M3eInputChipSetElement_listKeyManager, _M3eInputChipSetElement_ignoreInputChange, _M3eInputChipSetElement_input, _M3eInputChipSetElement_tabindex, _M3eInputChipSetElement_handleKeyDown, _M3eInputChipSetElement_handleSlotChange, _M3eInputChipSetElement_handleInputSlotChange, _M3eInputChipSetElement_handleFocus, _M3eInputChipSetElement_handleFocusIn, _M3eInputChipSetElement_handleFocusOut, _M3eInputChipSetElement_handleChipRemove, _M3eInputChipSetElement_handleChipClick, _M3eInputChipSetElement_handleInputChange, _M3eInputChipSetElement_handleInputKeyDown;
5300
5318
  /**
@@ -5518,28 +5536,28 @@ _M3eInputChipSetElement_handleChipRemove = function _M3eInputChipSetElement_hand
5518
5536
  _M3eInputChipSetElement_handleChipClick = function _M3eInputChipSetElement_handleChipClick(e) {
5519
5537
  __classPrivateFieldGet(this, _M3eInputChipSetElement_listKeyManager, "f").updateActiveItem(e.composedPath().find(x => x instanceof M3eInputChipElement)?.cell);
5520
5538
  };
5521
- _M3eInputChipSetElement_handleInputChange = function _M3eInputChipSetElement_handleInputChange() {
5539
+ _M3eInputChipSetElement_handleInputChange = /** @private */
5540
+ async function _M3eInputChipSetElement_handleInputChange() {
5522
5541
  const value = __classPrivateFieldGet(this, _M3eInputChipSetElement_input, "f")?.value;
5523
5542
  if (!value) return;
5524
- setTimeout(() => {
5525
- const value = __classPrivateFieldGet(this, _M3eInputChipSetElement_input, "f")?.value;
5526
- if (!value) return;
5527
- const chip = document.createElement("m3e-input-chip");
5528
- chip.removable = true;
5529
- chip.appendChild(document.createTextNode(value));
5530
- this.appendChild(chip);
5531
- if (__classPrivateFieldGet(this, _M3eInputChipSetElement_input, "f")) {
5532
- try {
5533
- __classPrivateFieldSet(this, _M3eInputChipSetElement_ignoreInputChange, true, "f");
5534
- __classPrivateFieldGet(this, _M3eInputChipSetElement_input, "f").value = "";
5535
- } finally {
5536
- __classPrivateFieldSet(this, _M3eInputChipSetElement_ignoreInputChange, false, "f");
5537
- }
5543
+ const chip = document.createElement("m3e-input-chip");
5544
+ chip.removable = true;
5545
+ chip.appendChild(document.createTextNode(value));
5546
+ this.appendChild(chip);
5547
+ if (chip.isUpdatePending) {
5548
+ await chip.updateComplete;
5549
+ }
5550
+ if (__classPrivateFieldGet(this, _M3eInputChipSetElement_input, "f")) {
5551
+ try {
5552
+ __classPrivateFieldSet(this, _M3eInputChipSetElement_ignoreInputChange, true, "f");
5553
+ __classPrivateFieldGet(this, _M3eInputChipSetElement_input, "f").value = "";
5554
+ } finally {
5555
+ __classPrivateFieldSet(this, _M3eInputChipSetElement_ignoreInputChange, false, "f");
5538
5556
  }
5539
- this.dispatchEvent(new Event("change", {
5540
- bubbles: true
5541
- }));
5542
- });
5557
+ }
5558
+ this.dispatchEvent(new Event("change", {
5559
+ bubbles: true
5560
+ }));
5543
5561
  };
5544
5562
  _M3eInputChipSetElement_handleInputKeyDown = function _M3eInputChipSetElement_handleInputKeyDown(e) {
5545
5563
  if (e.key === "Backspace" && !__classPrivateFieldGet(this, _M3eInputChipSetElement_input, "f")?.value) {
@@ -5550,7 +5568,7 @@ _M3eInputChipSetElement_handleInputKeyDown = function _M3eInputChipSetElement_ha
5550
5568
  }
5551
5569
  };
5552
5570
  (() => {
5553
- if (document) {
5571
+ if (typeof window !== "undefined") {
5554
5572
  const lightDomStyle = new CSSStyleSheet();
5555
5573
  lightDomStyle.replaceSync(css`m3e-input-chip-set [slot="input"]::placeholder { user-select: none; color: currentColor; transition: opacity ${DesignToken$1.motion.duration.extraLong1}; } m3e-input-chip-set:not(:focus-within) [slot="input"]::placeholder { opacity: 0; transition: 0s; } m3e-input-chip-set:hover [slot="input"]::placeholder { transition: 0s; } @media (prefers-reduced-motion) { m3e-input-chip-set [slot="input"]::placeholder { transition: none !important; } }`.toString());
5556
5574
  document.adoptedStyleSheets = [...document.adoptedStyleSheets, lightDomStyle];
@@ -5558,7 +5576,7 @@ _M3eInputChipSetElement_handleInputKeyDown = function _M3eInputChipSetElement_ha
5558
5576
  })();
5559
5577
  /** The styles of the element. */
5560
5578
  M3eInputChipSetElement.styles = [M3eChipSetElement.styles, css`::slotted([slot="input"]) { outline: unset; border: unset; background-color: transparent; box-shadow: none; font-family: inherit; font-size: inherit; line-height: initial; letter-spacing: inherit; color: var(--_form-field-input-color, inherit); flex: 1 1 auto; min-width: 0; padding: unset; } ::slotted(m3e-input-chip) { min-width: 0; } span[role="row"], span[role="gridcell"] { display: contents; }`];
5561
- M3eInputChipSetElement = __decorate([t$3("m3e-input-chip-set")], M3eInputChipSetElement);
5579
+ M3eInputChipSetElement = __decorate([customElement$1("m3e-input-chip-set")], M3eInputChipSetElement);
5562
5580
 
5563
5581
  /**
5564
5582
  * A chip used to help narrow a user's intent by presenting dynamically generated suggestions, such as
@@ -5631,13 +5649,15 @@ M3eInputChipSetElement = __decorate([t$3("m3e-input-chip-set")], M3eInputChipSet
5631
5649
  * @cssprop --m3e-outlined-chip-disabled-outline-color - Outline color for disabled outlined variant.
5632
5650
  * @cssprop --m3e-outlined-chip-disabled-outline-opacity - Opacity applied to disabled outline.
5633
5651
  */
5634
- let M3eSuggestionChipElement = class M3eSuggestionChipElement extends FormSubmitter$1(AttachInternals$1(LinkButton$1(KeyboardClick$1(Focusable$1(DisabledInteractive$1(Disabled$1(Role$1(M3eChipElement, "button")))))), true)) {
5652
+ let M3eSuggestionChipElement = class M3eSuggestionChipElement extends FormSubmitter$1(LinkButton$1(KeyboardClick$1(Focusable$1(DisabledInteractive$1(Disabled$1(Role$1(M3eChipElement, "button"))))))) {
5635
5653
  /** @internal @inheritdoc */
5636
5654
  _renderTrailingIcon() {
5637
5655
  return nothing;
5638
5656
  }
5639
5657
  };
5640
- M3eSuggestionChipElement = __decorate([t$3("m3e-suggestion-chip")], M3eSuggestionChipElement);
5658
+ /** Indicates that this custom element participates in form submission, validation, and form state restoration. */
5659
+ M3eSuggestionChipElement.formAssociated = true;
5660
+ M3eSuggestionChipElement = __decorate([customElement$1("m3e-suggestion-chip")], M3eSuggestionChipElement);
5641
5661
 
5642
5662
  var _AnimationLoopController_frameId, _AnimationLoopController_lastTime, _AnimationLoopController_running, _AnimationLoopController_callback, _AnimationLoopController_loop;
5643
5663
  /** A `ReactiveController` used to execute a function in an animation loop. */
@@ -6443,6 +6463,7 @@ class HoverController extends MonitorControllerBase {
6443
6463
  _observe(target) {
6444
6464
  target.addEventListener("pointerenter", __classPrivateFieldGet(this, _HoverController_pointerInHandler, "f"));
6445
6465
  target.addEventListener("pointerleave", __classPrivateFieldGet(this, _HoverController_pointerLeaveHandler, "f"));
6466
+ target.addEventListener("touchend", __classPrivateFieldGet(this, _HoverController_pointerLeaveHandler, "f"));
6446
6467
  }
6447
6468
  /**
6448
6469
  * Stops observing the specified element.
@@ -6451,6 +6472,7 @@ class HoverController extends MonitorControllerBase {
6451
6472
  _unobserve(target) {
6452
6473
  target.removeEventListener("pointerenter", __classPrivateFieldGet(this, _HoverController_pointerInHandler, "f"));
6453
6474
  target.removeEventListener("pointerleave", __classPrivateFieldGet(this, _HoverController_pointerLeaveHandler, "f"));
6475
+ target.removeEventListener("touchend", __classPrivateFieldGet(this, _HoverController_pointerLeaveHandler, "f"));
6454
6476
  }
6455
6477
  }
6456
6478
  _HoverController_callback = new WeakMap(), _HoverController_startDelays = new WeakMap(), _HoverController_endDelays = new WeakMap(), _HoverController_pointerInHandler = new WeakMap(), _HoverController_pointerLeaveHandler = new WeakMap(), _HoverController_instances = new WeakSet(), _HoverController_clearDelays = function _HoverController_clearDelays(target) {
@@ -6500,7 +6522,7 @@ _HoverController_callback = new WeakMap(), _HoverController_startDelays = new We
6500
6522
  }
6501
6523
  };
6502
6524
 
6503
- var _IntersectionController_host, _IntersectionController_callback, _IntersectionController_skipInitial, _IntersectionController_observer, _IntersectionController_unobservedUpdate;
6525
+ var _IntersectionController_callback, _IntersectionController_skipInitial, _IntersectionController_observer, _IntersectionController_unobservedUpdate;
6504
6526
  /** A `ReactiveController` used to monitor changes in the intersection of a target element with an ancestor element. */
6505
6527
  class IntersectionController extends MonitorControllerBase {
6506
6528
  /**
@@ -6511,8 +6533,6 @@ class IntersectionController extends MonitorControllerBase {
6511
6533
  constructor(host, options) {
6512
6534
  super(host, options);
6513
6535
  /** @private */
6514
- _IntersectionController_host.set(this, void 0);
6515
- /** @private */
6516
6536
  _IntersectionController_callback.set(this, void 0);
6517
6537
  /** @private */
6518
6538
  _IntersectionController_skipInitial.set(this, false);
@@ -6520,7 +6540,6 @@ class IntersectionController extends MonitorControllerBase {
6520
6540
  _IntersectionController_observer.set(this, void 0);
6521
6541
  /** @private */
6522
6542
  _IntersectionController_unobservedUpdate.set(this, true);
6523
- __classPrivateFieldSet(this, _IntersectionController_host, host, "f");
6524
6543
  __classPrivateFieldSet(this, _IntersectionController_callback, options.callback, "f");
6525
6544
  __classPrivateFieldSet(this, _IntersectionController_skipInitial, options.skipInitial ?? false, "f");
6526
6545
  if (isServer) return;
@@ -6530,7 +6549,6 @@ class IntersectionController extends MonitorControllerBase {
6530
6549
  }
6531
6550
  __classPrivateFieldSet(this, _IntersectionController_observer, new IntersectionObserver((entries, observer) => {
6532
6551
  __classPrivateFieldGet(this, _IntersectionController_callback, "f").call(this, entries, observer);
6533
- __classPrivateFieldGet(this, _IntersectionController_host, "f").requestUpdate();
6534
6552
  }, options.init), "f");
6535
6553
  }
6536
6554
  /** @inheritdoc */
@@ -6547,7 +6565,6 @@ class IntersectionController extends MonitorControllerBase {
6547
6565
  _observe(target) {
6548
6566
  __classPrivateFieldGet(this, _IntersectionController_observer, "f")?.observe(target);
6549
6567
  __classPrivateFieldSet(this, _IntersectionController_unobservedUpdate, true, "f");
6550
- __classPrivateFieldGet(this, _IntersectionController_host, "f").requestUpdate();
6551
6568
  }
6552
6569
  /**
6553
6570
  * Stops observing the specified element.
@@ -6557,7 +6574,7 @@ class IntersectionController extends MonitorControllerBase {
6557
6574
  __classPrivateFieldGet(this, _IntersectionController_observer, "f")?.unobserve(target);
6558
6575
  }
6559
6576
  }
6560
- _IntersectionController_host = new WeakMap(), _IntersectionController_callback = new WeakMap(), _IntersectionController_skipInitial = new WeakMap(), _IntersectionController_observer = new WeakMap(), _IntersectionController_unobservedUpdate = new WeakMap();
6577
+ _IntersectionController_callback = new WeakMap(), _IntersectionController_skipInitial = new WeakMap(), _IntersectionController_observer = new WeakMap(), _IntersectionController_unobservedUpdate = new WeakMap();
6561
6578
 
6562
6579
  var _LongPressController_instances, _LongPressController_callback, _LongPressController_threshold, _LongPressController_pressedTargets, _LongPressController_pressedTimeouts, _LongPressController_touchStartHandler, _LongPressController_touchEndOrCancelHandler, _LongPressController_handleTouchStart, _LongPressController_handleTouchEndOrCancel;
6563
6580
  /** A `ReactiveController` used to detect a long press gesture. */
@@ -6936,6 +6953,32 @@ class ResizeController extends MonitorControllerBase {
6936
6953
  }
6937
6954
  _ResizeController_host = new WeakMap(), _ResizeController_callback = new WeakMap(), _ResizeController_skipInitial = new WeakMap(), _ResizeController_config = new WeakMap(), _ResizeController_observer = new WeakMap(), _ResizeController_unobservedUpdate = new WeakMap();
6938
6955
 
6956
+ /**
6957
+ * Class decorator factory that defines the decorated class as a custom element.
6958
+ *
6959
+ * ```js
6960
+ * @customElement('my-element')
6961
+ * class MyElement extends LitElement {
6962
+ * render() {
6963
+ * return html``;
6964
+ * }
6965
+ * }
6966
+ * ```
6967
+ * @param {string} tagName The tag name of the custom element to define.
6968
+ */
6969
+ const customElement = tagName => (classOrTarget, context) => {
6970
+ const define = () => {
6971
+ if (typeof window !== "undefined" && !customElements.get(tagName)) {
6972
+ customElements.define(tagName, classOrTarget);
6973
+ }
6974
+ };
6975
+ if (context) {
6976
+ context.addInitializer(define);
6977
+ } else {
6978
+ define();
6979
+ }
6980
+ };
6981
+
6939
6982
  /* eslint-disable @typescript-eslint/no-explicit-any */
6940
6983
  /**
6941
6984
  * A decorator that runs a function once after a given "cooldown" period.
@@ -7245,6 +7288,47 @@ function AttachInternals(base, formAssociated) {
7245
7288
  _AttachInternals.formAssociated = formAssociated;
7246
7289
  return _AttachInternals;
7247
7290
  }
7291
+ /**
7292
+ * Convenience function used to test whether an element has a given custom state.
7293
+ * @param {AttachInternalsMixin} element The element to test.
7294
+ * @param {string} state The custom state to test.
7295
+ * @returns {boolean} Whether `element` has `state`.
7296
+ */
7297
+ function hasCustomState(element, state) {
7298
+ return isServer ? false : element[internals].states.has(state);
7299
+ }
7300
+ /**
7301
+ * Convenience function used to add custom state to an element.
7302
+ * @param {AttachInternalsMixin} element The element to which to add custom state.
7303
+ * @param {string} state The custom state to add.
7304
+ */
7305
+ function addCustomState(element, state) {
7306
+ if (!isServer) {
7307
+ element[internals]?.states.add(state);
7308
+ }
7309
+ }
7310
+ /**
7311
+ * Convenience function used to delete custom state from an element.
7312
+ * @param {AttachInternalsMixin} element The element from which to delete custom state.
7313
+ * @param {string} state The custom state to delete.
7314
+ * @returns {boolean} Whether `state` was removed from `element`.
7315
+ */
7316
+ function deleteCustomState(element, state) {
7317
+ return !isServer && element[internals]?.states.delete(state);
7318
+ }
7319
+ /**
7320
+ * Convenience function used to add or delete custom state for an element.
7321
+ * @param {AttachInternalsMixin} element The element for which to add or delete custom state.
7322
+ * @param {string} state The custom state to add or delete.
7323
+ * @param {boolean} value Whether to add or delete `state` from `element`.
7324
+ */
7325
+ function setCustomState(element, state, value) {
7326
+ if (value) {
7327
+ addCustomState(element, state);
7328
+ } else {
7329
+ deleteCustomState(element, state);
7330
+ }
7331
+ }
7248
7332
 
7249
7333
  /**
7250
7334
  * Determines whether a value is a `CheckedMixin`.
@@ -7435,7 +7519,7 @@ function Dirty(base) {
7435
7519
  }
7436
7520
  /** Whether the user has modified the value of the element. */
7437
7521
  get dirty() {
7438
- return this.classList.contains("-dirty");
7522
+ return hasCustomState(this, "-dirty");
7439
7523
  }
7440
7524
  /** Whether the user has not modified the value of the element. */
7441
7525
  get pristine() {
@@ -7454,11 +7538,11 @@ function Dirty(base) {
7454
7538
  }
7455
7539
  /** Marks the element as pristine. */
7456
7540
  markAsPristine() {
7457
- this.classList.toggle("-dirty", false);
7541
+ deleteCustomState(this, "-dirty");
7458
7542
  }
7459
7543
  /** Marks the element as dirty. */
7460
7544
  markAsDirty() {
7461
- this.classList.toggle("-dirty", true);
7545
+ addCustomState(this, "-dirty");
7462
7546
  }
7463
7547
  }
7464
7548
  _a = _eventHandler$2;
@@ -7490,7 +7574,7 @@ function Touched(base) {
7490
7574
  }
7491
7575
  /** Whether the user has interacted when the element. */
7492
7576
  get touched() {
7493
- return this.classList.contains("-touched");
7577
+ return hasCustomState(this, "-touched");
7494
7578
  }
7495
7579
  /** Whether the user has not interacted when the element. */
7496
7580
  get untouched() {
@@ -7513,11 +7597,11 @@ function Touched(base) {
7513
7597
  }
7514
7598
  /** Marks the element as touched. */
7515
7599
  markAsTouched() {
7516
- this.classList.toggle("-touched", true);
7600
+ addCustomState(this, "-touched");
7517
7601
  }
7518
7602
  /** Marks the element as untouched. */
7519
7603
  markAsUntouched() {
7520
- this.classList.toggle("-touched", false);
7604
+ deleteCustomState(this, "-touched");
7521
7605
  }
7522
7606
  }
7523
7607
  _a = _eventHandler$1;
@@ -8236,7 +8320,7 @@ function Labelled(base) {
8236
8320
  [(_a = _eventHandler, updateLabels)]() {
8237
8321
  const focusable = this.hasAttribute("tabindex");
8238
8322
  const disabled = isDisabledMixin(this) && this.disabled || isDisabledInteractiveMixin(this) && this.disabledInteractive;
8239
- const invalid = isTouchedMixin(this) && this.touched && (this.ariaInvalid || this.classList.contains("-invalid"));
8323
+ const invalid = isTouchedMixin(this) && this.touched && (this.ariaInvalid || hasCustomState(this, "-invalid"));
8240
8324
  for (const label of this.labels ?? []) {
8241
8325
  label.style.userSelect = focusable ? "none" : "";
8242
8326
  label.style.cursor = !disabled && focusable ? "pointer" : "";
@@ -8476,7 +8560,7 @@ function ConstraintValidation(base) {
8476
8560
  }
8477
8561
  this[internals].setValidity(validity, validityMessage);
8478
8562
  this.ariaInvalid = invalid ? "true" : null;
8479
- this.classList.toggle("-invalid", invalid === true);
8563
+ setCustomState(this, "-invalid", invalid === true);
8480
8564
  if (isLabelledMixin(this)) {
8481
8565
  this[updateLabels]?.();
8482
8566
  }
@@ -8724,20 +8808,35 @@ const _firstUpdated = Symbol("_firstUpdated");
8724
8808
  * @returns {Constructor<HtmlForMixin> & T} A constructor extends `base` and implements `HtmlForMixin`.
8725
8809
  */
8726
8810
  function HtmlFor(base) {
8727
- var _a, _b;
8811
+ var _a;
8728
8812
  class _HtmlForMixin extends base {
8729
8813
  constructor() {
8730
8814
  super(...arguments);
8731
8815
  /** @private */
8732
- this[_a] = null;
8733
- /** @private */
8734
- this[_b] = false;
8816
+ this[_a] = false;
8735
8817
  /** The identifier of the interactive control to which this element is attached. */
8736
8818
  this.htmlFor = null;
8737
8819
  }
8738
8820
  /** The interactive element to which this element is attached. */
8739
8821
  get control() {
8740
- return this[_control];
8822
+ return this[_control]?.deref() ?? null;
8823
+ }
8824
+ /** @inheritdoc */
8825
+ connectedCallback() {
8826
+ super.connectedCallback();
8827
+ const control = this[_control]?.deref();
8828
+ if (control) {
8829
+ this.attach(control);
8830
+ }
8831
+ }
8832
+ /** @inheritdoc */
8833
+ disconnectedCallback() {
8834
+ super.disconnectedCallback();
8835
+ const control = this[_control];
8836
+ if (control) {
8837
+ this.detach();
8838
+ this[_control] = control;
8839
+ }
8741
8840
  }
8742
8841
  /** @inheritdoc */
8743
8842
  firstUpdated(_changedProperties) {
@@ -8772,14 +8871,14 @@ function HtmlFor(base) {
8772
8871
  * @param {HTMLElement} control The element that controls the attachable element.
8773
8872
  */
8774
8873
  attach(control) {
8775
- this[_control] = control;
8874
+ this[_control] = new WeakRef(control);
8776
8875
  }
8777
8876
  /** Detaches the element from its current interactive control. */
8778
8877
  detach() {
8779
- this[_control] = null;
8878
+ this[_control] = undefined;
8780
8879
  }
8781
8880
  }
8782
- _a = _control, _b = _firstUpdated;
8881
+ _a = _firstUpdated;
8783
8882
  __decorate([n$1({
8784
8883
  attribute: "for"
8785
8884
  })], _HtmlForMixin.prototype, "htmlFor", void 0);
@@ -9215,7 +9314,7 @@ var _M3eCollapsibleElement_instances, _M3eCollapsibleElement_slotChanged, _M3eCo
9215
9314
  *
9216
9315
  * @cssprop --m3e-collapsible-animation-duration - The duration of the expand / collapse animation.
9217
9316
  */
9218
- let M3eCollapsibleElement = class M3eCollapsibleElement extends EventAttribute(LitElement, "opening", "opened", "closing", "closed") {
9317
+ let M3eCollapsibleElement = class M3eCollapsibleElement extends EventAttribute(AttachInternals(LitElement), "opening", "opened", "closing", "closed") {
9219
9318
  constructor() {
9220
9319
  super(...arguments);
9221
9320
  _M3eCollapsibleElement_instances.add(this);
@@ -9232,7 +9331,7 @@ let M3eCollapsibleElement = class M3eCollapsibleElement extends EventAttribute(L
9232
9331
  /** @inheritdoc */
9233
9332
  update(changedProperties) {
9234
9333
  super.update(changedProperties);
9235
- this.classList.toggle("-no-animate", true);
9334
+ addCustomState(this, "-no-animate");
9236
9335
  if (!__classPrivateFieldGet(this, _M3eCollapsibleElement_slotChanged, "f")) {
9237
9336
  if (this.open) {
9238
9337
  __classPrivateFieldSet(this, _M3eCollapsibleElement_hasOpened, true, "f");
@@ -9246,24 +9345,24 @@ let M3eCollapsibleElement = class M3eCollapsibleElement extends EventAttribute(L
9246
9345
  __classPrivateFieldSet(this, _M3eCollapsibleElement_hasOpened, true, "f");
9247
9346
  if (!prefersReducedMotion()) {
9248
9347
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_autoSize).call(this);
9249
- this.classList.toggle("-overflows", this.clientHeight < this.scrollHeight);
9348
+ setCustomState(this, "-overflows", this.clientHeight < this.scrollHeight);
9250
9349
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_clearSize).call(this);
9251
9350
  }
9252
- this.classList.toggle("-closing", false);
9253
- this.classList.toggle("-opening", true);
9351
+ deleteCustomState(this, "-closing");
9352
+ addCustomState(this, "-opening");
9254
9353
  this.dispatchEvent(new Event("opening"));
9255
9354
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_clearSize).call(this);
9256
- this.classList.toggle("-no-animate", false);
9355
+ deleteCustomState(this, "-no-animate");
9257
9356
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_actualSize).call(this);
9258
9357
  if (prefersReducedMotion()) {
9259
9358
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_autoSize).call(this);
9260
- this.classList.toggle("-opening", false);
9359
+ deleteCustomState(this, "-opening");
9261
9360
  this.dispatchEvent(new Event("opened"));
9262
9361
  } else {
9263
9362
  this.addEventListener("transitionend", () => {
9264
9363
  if (this.open) {
9265
9364
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_autoSize).call(this);
9266
- this.classList.toggle("-opening", false);
9365
+ deleteCustomState(this, "-opening");
9267
9366
  this.dispatchEvent(new Event("opened"));
9268
9367
  }
9269
9368
  }, {
@@ -9271,23 +9370,23 @@ let M3eCollapsibleElement = class M3eCollapsibleElement extends EventAttribute(L
9271
9370
  });
9272
9371
  }
9273
9372
  } else {
9274
- this.classList.toggle("-opening", false);
9275
- this.classList.toggle("-closing", true);
9373
+ deleteCustomState(this, "-opening");
9374
+ addCustomState(this, "-closing");
9276
9375
  this.dispatchEvent(new Event("closing"));
9277
9376
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_actualSize).call(this);
9278
9377
  if (__classPrivateFieldGet(this, _M3eCollapsibleElement_hasOpened, "f")) {
9279
- this.classList.toggle("-no-animate", false);
9378
+ deleteCustomState(this, "-no-animate");
9280
9379
  }
9281
9380
  if (prefersReducedMotion()) {
9282
9381
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_clearSize).call(this);
9283
- this.classList.toggle("-closing", false);
9382
+ deleteCustomState(this, "-closing");
9284
9383
  this.dispatchEvent(new Event("closed"));
9285
9384
  } else {
9286
9385
  requestAnimationFrame(() => {
9287
9386
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_clearSize).call(this);
9288
9387
  this.addEventListener("transitionend", () => {
9289
9388
  if (!this.open) {
9290
- this.classList.toggle("-closing", false);
9389
+ deleteCustomState(this, "-closing");
9291
9390
  this.dispatchEvent(new Event("closed"));
9292
9391
  }
9293
9392
  }, {
@@ -9325,12 +9424,12 @@ M3eCollapsibleElement.styles = css`:host { display: block; height: 0px; overflow
9325
9424
  padding-top var(--m3e-collapsible-animation-duration, ${DesignToken.motion.duration.medium1})
9326
9425
  ${DesignToken.motion.easing.standard},
9327
9426
  padding-bottom var(--m3e-collapsible-animation-duration, ${DesignToken.motion.duration.medium1})
9328
- ${DesignToken.motion.easing.standard}`)}; } :host(:not(.-closing):not([open])) { visibility: hidden; } :host(:not([open])) { min-height: unset !important; padding-top: 0px !important; padding-bottom: 0px !important; } :host(.-no-animate) { transition-duration: 0ms; } :host(.-opening), :host(.-closing) { overflow-y: hidden !important; } :host(.-overflows) { scrollbar-gutter: stable; } ::slotted(*) { --m3e-collapsible-animation-duration: initial; } @media (prefers-reduced-motion) { :host { transition: none; } }`;
9427
+ ${DesignToken.motion.easing.standard}`)}; } :host(:not(:state(-closing)):not([open])) { visibility: hidden; } :host(:not([open])) { min-height: unset !important; padding-top: 0px !important; padding-bottom: 0px !important; } :host(:state(-no-animate)) { transition-duration: 0ms; } :host(:state(-opening)), :host(:state(-closing)) { overflow-y: hidden !important; } :host(:state(-overflows)) { scrollbar-gutter: stable; } ::slotted(*) { --m3e-collapsible-animation-duration: initial; } @media (prefers-reduced-motion) { :host { transition: none; } }`;
9329
9428
  __decorate([n$1({
9330
9429
  type: Boolean,
9331
9430
  reflect: true
9332
9431
  })], M3eCollapsibleElement.prototype, "open", void 0);
9333
- M3eCollapsibleElement = __decorate([t$3("m3e-collapsible")], M3eCollapsibleElement);
9432
+ M3eCollapsibleElement = __decorate([customElement("m3e-collapsible")], M3eCollapsibleElement);
9334
9433
 
9335
9434
  /**
9336
9435
  * Component design tokens that control the `M3eElevationElement`.
@@ -9502,7 +9601,7 @@ __decorate([n$1({
9502
9601
  type: Number,
9503
9602
  reflect: true
9504
9603
  })], M3eElevationElement.prototype, "level", void 0);
9505
- M3eElevationElement = __decorate([t$3("m3e-elevation")], M3eElevationElement);
9604
+ M3eElevationElement = __decorate([customElement("m3e-elevation")], M3eElevationElement);
9506
9605
 
9507
9606
  /**
9508
9607
  * Component design tokens that control the `M3eFocusRingElement`.
@@ -9648,7 +9747,7 @@ __decorate([n$1({
9648
9747
  type: Boolean,
9649
9748
  reflect: true
9650
9749
  })], M3eFocusRingElement.prototype, "disabled", void 0);
9651
- M3eFocusRingElement = __decorate([t$3("m3e-focus-ring")], M3eFocusRingElement);
9750
+ M3eFocusRingElement = __decorate([customElement("m3e-focus-ring")], M3eFocusRingElement);
9652
9751
 
9653
9752
  /**
9654
9753
  * An element which looks like a checkbox.
@@ -9701,7 +9800,7 @@ let M3ePseudoCheckboxElement = class M3ePseudoCheckboxElement extends CheckedInd
9701
9800
  };
9702
9801
  /** The styles of the element. */
9703
9802
  M3ePseudoCheckboxElement.styles = css`:host { display: inline-block; vertical-align: middle; width: var(--m3e-checkbox-icon-size, 1.125rem); height: var(--m3e-checkbox-icon-size, 1.125rem); border-radius: var(--m3e-checkbox-container-shape, 2px); box-sizing: border-box; flex: none; } :host(:not([checked]):not([indeterminate])) { border-width: var(--m3e-checkbox-unselected-outline-thickness, 2px); border-style: solid; } :host(:not([disabled])[checked]), :host(:not([disabled])[indeterminate]) { background-color: var(--m3e-checkbox-selected-container-color, ${DesignToken.color.primary}); color: var(--m3e-checkbox-selected-icon-color, ${DesignToken.color.onPrimary}); } :host(:not([disabled]):not([checked]):not([indeterminate])) { border-color: var(--m3e-checkbox-unselected-outline-color, ${DesignToken.color.onSurfaceVariant}); } :host([disabled]:not([checked]):not([indeterminate])) { border-color: color-mix( in srgb, var(--m3e-checkbox-unselected-disabled-outline-color, ${DesignToken.color.onSurface}) var(--m3e-checkbox-unselected-disabled-outline-opacity, 38%), transparent ); } :host([disabled][checked]), :host([disabled][indeterminate]) { background-color: color-mix( in srgb, var(--m3e-checkbox-selected-disabled-container-color, ${DesignToken.color.onSurface}) var(--m3e-checkbox-selected-disabled-container-opacity, 38%), transparent ); color: color-mix( in srgb, var(--m3e-checkbox-selected-disabled-icon-color, ${DesignToken.color.surface}) var(--m3e-checkbox-selected-disabled-icon-opacity, 100%), transparent ); }`;
9704
- M3ePseudoCheckboxElement = __decorate([t$3("m3e-pseudo-checkbox")], M3ePseudoCheckboxElement);
9803
+ M3ePseudoCheckboxElement = __decorate([customElement("m3e-pseudo-checkbox")], M3ePseudoCheckboxElement);
9705
9804
 
9706
9805
  /**
9707
9806
  * An element which looks like a radio button.
@@ -9739,7 +9838,7 @@ let M3ePseudoRadioElement = class M3ePseudoRadioElement extends Checked(Disabled
9739
9838
  };
9740
9839
  /** The styles of the element. */
9741
9840
  M3ePseudoRadioElement.styles = css`:host { display: inline-block; vertical-align: middle; box-sizing: border-box; width: var(--m3e-radio-icon-size, 1.25rem); height: var(--m3e-radio-icon-size, 1.25rem); flex: none; } .circle { fill: currentColor; } :host(:not([checked])) .circle.inner { opacity: 0; } :host(:not([checked])) { color: var(--m3e-radio-unselected-icon-color, ${DesignToken.color.onSurfaceVariant}); } :host([checked]) { color: var(--m3e-radio-selected-icon-color, ${DesignToken.color.primary}); } :host([disabled]) { color: color-mix(in srgb, var(--m3e-radio-disabled-icon-color, ${DesignToken.color.onSurface}) 38%, transparent); }`;
9742
- M3ePseudoRadioElement = __decorate([t$3("m3e-pseudo-radio")], M3ePseudoRadioElement);
9841
+ M3ePseudoRadioElement = __decorate([customElement("m3e-pseudo-radio")], M3ePseudoRadioElement);
9743
9842
 
9744
9843
  /**
9745
9844
  * Component design tokens that control the `M3eRippleElement`.
@@ -9949,7 +10048,7 @@ __decorate([n$1({
9949
10048
  __decorate([n$1({
9950
10049
  type: Number
9951
10050
  })], M3eRippleElement.prototype, "radius", void 0);
9952
- M3eRippleElement = __decorate([t$3("m3e-ripple")], M3eRippleElement);
10051
+ M3eRippleElement = __decorate([customElement("m3e-ripple")], M3eRippleElement);
9953
10052
 
9954
10053
  var _M3eScrollContainerElement_scrollHandler;
9955
10054
  /**
@@ -9982,7 +10081,7 @@ var _M3eScrollContainerElement_scrollHandler;
9982
10081
  * @cssprop --m3e-focus-ring-factor - Animation factor for focus ring thickness.
9983
10082
  * @cssprop --m3e-focus-ring-duration - Duration of the focus ring animation.
9984
10083
  */
9985
- let M3eScrollContainerElement = class M3eScrollContainerElement extends LitElement {
10084
+ let M3eScrollContainerElement = class M3eScrollContainerElement extends AttachInternals(LitElement) {
9986
10085
  constructor() {
9987
10086
  super(...arguments);
9988
10087
  /** @private */
@@ -10023,20 +10122,20 @@ let M3eScrollContainerElement = class M3eScrollContainerElement extends LitEleme
10023
10122
  _updateScroll() {
10024
10123
  const before = (this.dividers === "above" || this.dividers === "above-below") && this.scrollTop > 0;
10025
10124
  const after = (this.dividers === "below" || this.dividers === "above-below") && this.scrollHeight - this.scrollTop - this.clientHeight > 1;
10026
- this.classList.toggle("-above", before);
10027
- this.classList.toggle("-below", after);
10125
+ setCustomState(this, "-above", before);
10126
+ setCustomState(this, "-below", after);
10028
10127
  }
10029
10128
  };
10030
10129
  _M3eScrollContainerElement_scrollHandler = new WeakMap();
10031
10130
  /** The styles of the element. */
10032
- M3eScrollContainerElement.styles = css`:host { display: block; overflow-y: auto; position: relative; box-sizing: border-box; scrollbar-color: ${DesignToken.scrollbar.color}; border-top: var(--m3e-divider-thickness, 1px) solid transparent; border-bottom: var(--m3e-divider-thickness, 1px) solid transparent; outline-color: ${FocusRingToken.color}; outline-width: ${FocusRingToken.thickness}; outline-offset: ${FocusRingToken.outwardOffset}; } :host([thin]) { scrollbar-width: ${DesignToken.scrollbar.thinWidth}; } :host(:not([thin])) { scrollbar-width: ${DesignToken.scrollbar.width}; } :host(:not(:focus-visible).-above) { border-top-color: var(--m3e-divider-color, ${DesignToken.color.outlineVariant}); } :host(:not(:focus-visible).-below) { border-bottom-color: var(--m3e-divider-color, ${DesignToken.color.outlineVariant}); } :host(:focus-visible) { outline-style: solid; animation: grow-shrink ${FocusRingToken.duration}; } @keyframes grow-shrink { 50% { outline-width: calc(${FocusRingToken.thickness} * ${FocusRingToken.growthFactor}); } } @media (forced-colors: active) { :host { border-top: var(--m3e-divider-thickness, 1px) solid Canvas; border-bottom: var(--m3e-divider-thickness, 1px) solid Canvas; } :host(:not(:focus-visible).-above) { border-top-color: GrayText; } :host(:not(:focus-visible).-below) { border-bottom-color: GrayText; } } @media (prefers-reduced-motion) { :host(:focus-visible) { animation: none; } }`;
10131
+ M3eScrollContainerElement.styles = css`:host { display: block; overflow-y: auto; position: relative; box-sizing: border-box; scrollbar-color: ${DesignToken.scrollbar.color}; border-top: var(--m3e-divider-thickness, 1px) solid transparent; border-bottom: var(--m3e-divider-thickness, 1px) solid transparent; outline-color: ${FocusRingToken.color}; outline-width: ${FocusRingToken.thickness}; outline-offset: ${FocusRingToken.outwardOffset}; } :host([thin]) { scrollbar-width: ${DesignToken.scrollbar.thinWidth}; } :host(:not([thin])) { scrollbar-width: ${DesignToken.scrollbar.width}; } :host(:not(:focus-visible):state(-above)) { border-top-color: var(--m3e-divider-color, ${DesignToken.color.outlineVariant}); } :host(:not(:focus-visible):state(-below)) { border-bottom-color: var(--m3e-divider-color, ${DesignToken.color.outlineVariant}); } :host(:focus-visible) { outline-style: solid; animation: grow-shrink ${FocusRingToken.duration}; } @keyframes grow-shrink { 50% { outline-width: calc(${FocusRingToken.thickness} * ${FocusRingToken.growthFactor}); } } @media (forced-colors: active) { :host { border-top: var(--m3e-divider-thickness, 1px) solid Canvas; border-bottom: var(--m3e-divider-thickness, 1px) solid Canvas; } :host(:not(:focus-visible):state(-above)) { border-top-color: GrayText; } :host(:not(:focus-visible):state(-below)) { border-bottom-color: GrayText; } } @media (prefers-reduced-motion) { :host(:focus-visible) { animation: none; } }`;
10033
10132
  __decorate([n$1()], M3eScrollContainerElement.prototype, "dividers", void 0);
10034
10133
  __decorate([n$1({
10035
10134
  type: Boolean,
10036
10135
  reflect: true
10037
10136
  })], M3eScrollContainerElement.prototype, "thin", void 0);
10038
10137
  __decorate([debounce(40)], M3eScrollContainerElement.prototype, "_updateScroll", null);
10039
- M3eScrollContainerElement = __decorate([t$3("m3e-scroll-container")], M3eScrollContainerElement);
10138
+ M3eScrollContainerElement = __decorate([customElement("m3e-scroll-container")], M3eScrollContainerElement);
10040
10139
 
10041
10140
  var _M3eSlideElement_instances, _M3eSlideElement_items, _M3eSlideElement_handleSlotChange, _M3eSlideElement_updateItems;
10042
10141
  /**
@@ -10061,7 +10160,7 @@ var _M3eSlideElement_instances, _M3eSlideElement_items, _M3eSlideElement_handleS
10061
10160
  *
10062
10161
  * @cssprop --m3e-slide-animation-duration - The duration of transitions between slotted items.
10063
10162
  */
10064
- let M3eSlideElement = class M3eSlideElement extends LitElement {
10163
+ let M3eSlideElement = class M3eSlideElement extends AttachInternals(LitElement) {
10065
10164
  constructor() {
10066
10165
  super(...arguments);
10067
10166
  _M3eSlideElement_instances.add(this);
@@ -10076,20 +10175,20 @@ let M3eSlideElement = class M3eSlideElement extends LitElement {
10076
10175
  /** @inheritdoc */
10077
10176
  connectedCallback() {
10078
10177
  super.connectedCallback();
10079
- this.classList.toggle("-no-animate", true);
10178
+ addCustomState(this, "-no-animate");
10080
10179
  }
10081
10180
  /** @inheritdoc */
10082
10181
  update(changedProperties) {
10083
10182
  super.update(changedProperties);
10084
10183
  if (changedProperties.has("selectedIndex")) {
10085
10184
  if (this.selectedIndex === null) {
10086
- this.classList.toggle("-no-animate", true);
10185
+ addCustomState(this, "-no-animate");
10087
10186
  }
10088
10187
  __classPrivateFieldGet(this, _M3eSlideElement_instances, "m", _M3eSlideElement_updateItems).call(this);
10089
- if (this.selectedIndex !== null && this.classList.contains("-no-animate")) {
10188
+ if (this.selectedIndex !== null && hasCustomState(this, "-no-animate")) {
10090
10189
  requestAnimationFrame(() => {
10091
10190
  if (this.selectedIndex !== null) {
10092
- this.classList.toggle("-no-animate", false);
10191
+ deleteCustomState(this, "-no-animate");
10093
10192
  }
10094
10193
  });
10095
10194
  }
@@ -10125,13 +10224,13 @@ _M3eSlideElement_updateItems = function _M3eSlideElement_updateItems() {
10125
10224
  };
10126
10225
  /** The styles of the element. */
10127
10226
  M3eSlideElement.styles = css`:host { display: flex; position: relative; overflow: hidden; } ::slotted(*) { width: 100%; top: 0; transition: ${unsafeCSS(`inset-inline-start var(--m3e-slide-animation-duration, ${DesignToken.motion.duration.long2}) ${DesignToken.motion.easing.standard},
10128
- visibility var(--m3e-slide-animation-duration, ${DesignToken.motion.duration.long2}) ${DesignToken.motion.easing.standard} allow-discrete`)}; } ::slotted(.-before), ::slotted(.-after) { visibility: hidden; position: absolute; } ::slotted(.-before) { inset-inline-start: -100%; } ::slotted(.-after) { inset-inline-start: 100%; } ::slotted(:not(.-before):not(.-after)) { position: relative; inset-inline-start: 0; } :host(.-no-animate) ::slotted(*) { transition: none; } @media (prefers-reduced-motion) { ::slotted(*) { transition: none; } }`;
10227
+ visibility var(--m3e-slide-animation-duration, ${DesignToken.motion.duration.long2}) ${DesignToken.motion.easing.standard} allow-discrete`)}; } ::slotted(.-before), ::slotted(.-after) { visibility: hidden; position: absolute; } ::slotted(.-before) { inset-inline-start: -100%; } ::slotted(.-after) { inset-inline-start: 100%; } ::slotted(:not(.-before):not(.-after)) { position: relative; inset-inline-start: 0; } :host(:state(-no-animate)) ::slotted(*) { transition: none; } @media (prefers-reduced-motion) { ::slotted(*) { transition: none; } }`;
10129
10228
  __decorate([n$1({
10130
10229
  attribute: "selected-index",
10131
10230
  type: Number,
10132
10231
  reflect: true
10133
10232
  })], M3eSlideElement.prototype, "selectedIndex", void 0);
10134
- M3eSlideElement = __decorate([t$3("m3e-slide")], M3eSlideElement);
10233
+ M3eSlideElement = __decorate([customElement("m3e-slide")], M3eSlideElement);
10135
10234
 
10136
10235
  /**
10137
10236
  * Component design tokens that control the `M3eStateLayerElement`.
@@ -10296,7 +10395,7 @@ __decorate([n$1({
10296
10395
  type: Boolean,
10297
10396
  reflect: true
10298
10397
  })], M3eStateLayerElement.prototype, "disableHover", void 0);
10299
- M3eStateLayerElement = __decorate([t$3("m3e-state-layer")], M3eStateLayerElement);
10398
+ M3eStateLayerElement = __decorate([customElement("m3e-state-layer")], M3eStateLayerElement);
10300
10399
 
10301
10400
  /**
10302
10401
  * An inline container which presents an ellipsis when content overflows.
@@ -10331,7 +10430,7 @@ let M3eTextOverflowElement = class M3eTextOverflowElement extends LitElement {
10331
10430
  };
10332
10431
  /** The styles of the element. */
10333
10432
  M3eTextOverflowElement.styles = css`:host { flex: 1 1 auto; display: inline-flex; align-items: center; flex-wrap: nowrap; min-width: 0; } .base { flex: 1 1 auto; display: inline; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }`;
10334
- M3eTextOverflowElement = __decorate([t$3("m3e-text-overflow")], M3eTextOverflowElement);
10433
+ M3eTextOverflowElement = __decorate([customElement("m3e-text-overflow")], M3eTextOverflowElement);
10335
10434
 
10336
10435
  var _M3eTextHighlightElement_instances, _M3eTextHighlightElement_id, _M3eTextHighlightElement_ranges, _M3eTextHighlightElement_styles, _M3eTextHighlightElement_isTextNode, _M3eTextHighlightElement_findTextNodes, _M3eTextHighlightElement_highlight;
10337
10436
  var M3eTextHighlightElement_1;
@@ -10524,7 +10623,7 @@ __decorate([n$1({
10524
10623
  attribute: "case-sensitive",
10525
10624
  type: Boolean
10526
10625
  })], M3eTextHighlightElement.prototype, "caseSensitive", void 0);
10527
- M3eTextHighlightElement = M3eTextHighlightElement_1 = __decorate([t$3("m3e-text-highlight")], M3eTextHighlightElement);
10626
+ M3eTextHighlightElement = M3eTextHighlightElement_1 = __decorate([customElement("m3e-text-highlight")], M3eTextHighlightElement);
10528
10627
 
10529
10628
  /**
10530
10629
  * An element, nested within a clickable element, used to close a parenting dialog.
@@ -10551,7 +10650,7 @@ let M3eDialogActionElement = class M3eDialogActionElement extends ActionElementB
10551
10650
  __decorate([n$1({
10552
10651
  attribute: "return-value"
10553
10652
  })], M3eDialogActionElement.prototype, "returnValue", void 0);
10554
- M3eDialogActionElement = __decorate([t$3("m3e-dialog-action")], M3eDialogActionElement);
10653
+ M3eDialogActionElement = __decorate([customElement$1("m3e-dialog-action")], M3eDialogActionElement);
10555
10654
 
10556
10655
  var _M3eDialogElement_instances, _M3eDialogElement_id, _M3eDialogElement_open, _M3eDialogElement_escapePressedWithoutCancel, _M3eDialogElement_scrollLockController, _M3eDialogElement_renderCloseButton, _M3eDialogElement_handleClose, _M3eDialogElement_handleCancel, _M3eDialogElement_handleClick, _M3eDialogElement_handleKeyDown, _M3eDialogElement_handleActionsSlotChange;
10557
10656
  var M3eDialogElement_1;
@@ -10616,7 +10715,7 @@ var M3eDialogElement_1;
10616
10715
  * @cssprop --m3e-dialog-content-line-height - Line height for the dialog content.
10617
10716
  * @cssprop --m3e-dialog-content-tracking - Letter spacing for the dialog content.
10618
10717
  */
10619
- let M3eDialogElement = M3eDialogElement_1 = class M3eDialogElement extends EventAttribute$1(LitElement, "opening", "opened", "cancel", "closing", "closed") {
10718
+ let M3eDialogElement = M3eDialogElement_1 = class M3eDialogElement extends EventAttribute$1(AttachInternals$1(LitElement), "opening", "opened", "cancel", "closing", "closed") {
10620
10719
  constructor() {
10621
10720
  super(...arguments);
10622
10721
  _M3eDialogElement_instances.add(this);
@@ -10627,7 +10726,7 @@ let M3eDialogElement = M3eDialogElement_1 = class M3eDialogElement extends Event
10627
10726
  /** @private */
10628
10727
  _M3eDialogElement_escapePressedWithoutCancel.set(this, false);
10629
10728
  /** @private */
10630
- this._hasActions = false;
10729
+ this._withActions = false;
10631
10730
  /** @private */
10632
10731
  _M3eDialogElement_scrollLockController.set(this, new ScrollLockController$1(this));
10633
10732
  /**
@@ -10731,7 +10830,7 @@ let M3eDialogElement = M3eDialogElement_1 = class M3eDialogElement extends Event
10731
10830
  }
10732
10831
  /** @inheritdoc */
10733
10832
  render() {
10734
- return html`<dialog class="base" role="${o$1(this.alert ? "alertdialog" : undefined)}" aria-labelledby="m3e-dialog-${__classPrivateFieldGet(this, _M3eDialogElement_id, "f")}-header" .returnvalue="${this.returnValue}" @close="${__classPrivateFieldGet(this, _M3eDialogElement_instances, "m", _M3eDialogElement_handleClose)}" @cancel="${__classPrivateFieldGet(this, _M3eDialogElement_instances, "m", _M3eDialogElement_handleCancel)}" @click="${__classPrivateFieldGet(this, _M3eDialogElement_instances, "m", _M3eDialogElement_handleClick)}" @keydown="${__classPrivateFieldGet(this, _M3eDialogElement_instances, "m", _M3eDialogElement_handleKeyDown)}"><m3e-elevation level="3"></m3e-elevation><m3e-focus-trap ?disabled="${this.noFocusTrap}"><div class="header"><slot name="header" id="m3e-dialog-${__classPrivateFieldGet(this, _M3eDialogElement_id, "f")}-header"></slot>${__classPrivateFieldGet(this, _M3eDialogElement_instances, "m", _M3eDialogElement_renderCloseButton).call(this)}</div><m3e-scroll-container class="content" dividers="${this._hasActions ? "above-below" : "above"}"><slot></slot></m3e-scroll-container><div class="actions"><slot name="actions" @slotchange="${__classPrivateFieldGet(this, _M3eDialogElement_instances, "m", _M3eDialogElement_handleActionsSlotChange)}"></slot></div></m3e-focus-trap></dialog>`;
10833
+ return html`<dialog class="base" role="${o$1(this.alert ? "alertdialog" : undefined)}" aria-labelledby="m3e-dialog-${__classPrivateFieldGet(this, _M3eDialogElement_id, "f")}-header" .returnvalue="${this.returnValue}" @close="${__classPrivateFieldGet(this, _M3eDialogElement_instances, "m", _M3eDialogElement_handleClose)}" @cancel="${__classPrivateFieldGet(this, _M3eDialogElement_instances, "m", _M3eDialogElement_handleCancel)}" @click="${__classPrivateFieldGet(this, _M3eDialogElement_instances, "m", _M3eDialogElement_handleClick)}" @keydown="${__classPrivateFieldGet(this, _M3eDialogElement_instances, "m", _M3eDialogElement_handleKeyDown)}"><m3e-elevation level="3"></m3e-elevation><m3e-focus-trap ?disabled="${this.noFocusTrap}"><div class="header"><slot name="header" id="m3e-dialog-${__classPrivateFieldGet(this, _M3eDialogElement_id, "f")}-header"></slot>${__classPrivateFieldGet(this, _M3eDialogElement_instances, "m", _M3eDialogElement_renderCloseButton).call(this)}</div><m3e-scroll-container class="content" dividers="${this._withActions ? "above-below" : "above"}"><slot></slot></m3e-scroll-container><div class="actions"><slot name="actions" @slotchange="${__classPrivateFieldGet(this, _M3eDialogElement_instances, "m", _M3eDialogElement_handleActionsSlotChange)}"></slot></div></m3e-focus-trap></dialog>`;
10735
10834
  }
10736
10835
  };
10737
10836
  _M3eDialogElement_id = new WeakMap();
@@ -10775,10 +10874,10 @@ _M3eDialogElement_handleKeyDown = function _M3eDialogElement_handleKeyDown(e) {
10775
10874
  }
10776
10875
  };
10777
10876
  _M3eDialogElement_handleActionsSlotChange = function _M3eDialogElement_handleActionsSlotChange(e) {
10778
- this._hasActions = e.target.assignedNodes({
10877
+ this._withActions = e.target.assignedNodes({
10779
10878
  flatten: true
10780
10879
  }).length > 0;
10781
- this.classList.toggle("-has-actions", this._hasActions);
10880
+ setCustomState$1(this, "-with-actions", this._withActions);
10782
10881
  };
10783
10882
  /** The styles of the element. */
10784
10883
  M3eDialogElement.styles = css`:host { display: contents; } .base { font: inherit; border: unset; outline: unset; padding: unset; display: flex; flex-direction: column; position: fixed; overflow: visible; border-radius: var(--m3e-dialog-shape, ${DesignToken$1.shape.corner.extraLarge}); min-width: var(--m3e-dialog-min-width, 17.5rem); max-width: var(--m3e-dialog-max-width, 35rem); color: var(--m3e-dialog-color, ${DesignToken$1.color.onSurface}); background-color: var(--m3e-dialog-container-color, ${DesignToken$1.color.surfaceContainerHigh}); visibility: hidden; opacity: 0; transform-origin: top; transform: translateY(-3.125rem) scaleY(0.8); } .base::backdrop { background-color: color-mix(in srgb, var(--m3e-dialog-scrim-color, ${DesignToken$1.color.scrim}) 0%, transparent); margin-inline-end: -20px; } .base:not([open]) { visibility: hidden; opacity: 0; transform: translateY(-3.125rem) scaleY(0.8); transition: ${unsafeCSS(`opacity ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.emphasized},
@@ -10791,10 +10890,10 @@ M3eDialogElement.styles = css`:host { display: contents; } .base { font: inherit
10791
10890
  overlay ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard} allow-discrete,
10792
10891
  visibility ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } .base[open]::backdrop { background-color: color-mix( in srgb, var(--m3e-dialog-scrim-color, ${DesignToken$1.color.scrim}) var(--m3e-dialog-scrim-opacity, 32%), transparent ); transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.long2} ${DesignToken$1.motion.easing.standard},
10793
10892
  overlay ${DesignToken$1.motion.duration.long2} ${DesignToken$1.motion.easing.standard} allow-discrete,
10794
- visibility ${DesignToken$1.motion.duration.long2} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } @starting-style { .base[open] { opacity: 0; transform: translateY(-3.125rem) scaleY(0.8); } .base[open]::backdrop { background-color: color-mix(in srgb, var(--m3e-dialog-scrim-color, ${DesignToken$1.color.scrim}) 0%, transparent); } } .header { flex: none; display: flex; align-items: center; padding: 1.5rem 1.5rem 1rem 1.5rem; background-color: var(--m3e-dialog-header-container-color, transparent); } ::slotted([slot="header"]) { margin: unset; flex: 1 1 auto; color: var(--m3e-dialog-header-color, inherit); font-size: var(--m3e-dialog-header-font-size, ${DesignToken$1.typescale.standard.headline.small.fontSize}); font-weight: var(--m3e-dialog-header-font-weight, ${DesignToken$1.typescale.standard.headline.small.fontWeight}); line-height: var(--m3e-dialog-header-line-height, ${DesignToken$1.typescale.standard.headline.small.lineHeight}); letter-spacing: var(--m3e-dialog-header-tracking, ${DesignToken$1.typescale.standard.headline.small.tracking}); } .content { padding-inline: 1.5rem; color: var(--m3e-dialog-content-color, ${DesignToken$1.color.onSurfaceVariant}); font-size: var(--m3e-dialog-content-font-size, ${DesignToken$1.typescale.standard.body.medium.fontSize}); font-weight: var(--m3e-dialog-content-font-weight, ${DesignToken$1.typescale.standard.body.medium.fontWeight}); line-height: var(--m3e-dialog-content-line-height, ${DesignToken$1.typescale.standard.body.medium.lineHeight}); letter-spacing: var(--m3e-dialog-content-tracking, ${DesignToken$1.typescale.standard.body.medium.tracking}); } .actions { padding: 1.5rem; } ::slotted([slot="actions"]) { flex: none; display: flex; align-items: center; min-height: 1.5rem; column-gap: 0.5rem; } ::slotted([slot="actions"][end]) { justify-content: flex-end; } :host(:not(.-has-actions)) .content { margin-bottom: 1.5rem; } :host(:not(.-has-actions)) .actions { display: none; } .close { margin-inline-start: 0.5rem; } ::slotted([slot="close-icon"]), .close-icon { width: 1em; font-size: var(--m3e-icon-button-icon-size, 1.5rem) !important; } @media (forced-colors: active) { .base:not([open])::backdrop, .base[open]::backdrop { transition: none; } .base { border-style: solid; border-width: 1px; border-color: CanvasText; } } @media (prefers-reduced-motion) { .base:not([open]), .base[open], .base:not([open])::backdrop, .base[open]::backdrop { transition: none; } }`;
10893
+ visibility ${DesignToken$1.motion.duration.long2} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } @starting-style { .base[open] { opacity: 0; transform: translateY(-3.125rem) scaleY(0.8); } .base[open]::backdrop { background-color: color-mix(in srgb, var(--m3e-dialog-scrim-color, ${DesignToken$1.color.scrim}) 0%, transparent); } } .header { flex: none; display: flex; align-items: center; padding: 1.5rem 1.5rem 1rem 1.5rem; background-color: var(--m3e-dialog-header-container-color, transparent); } ::slotted([slot="header"]) { margin: unset; flex: 1 1 auto; color: var(--m3e-dialog-header-color, inherit); font-size: var(--m3e-dialog-header-font-size, ${DesignToken$1.typescale.standard.headline.small.fontSize}); font-weight: var(--m3e-dialog-header-font-weight, ${DesignToken$1.typescale.standard.headline.small.fontWeight}); line-height: var(--m3e-dialog-header-line-height, ${DesignToken$1.typescale.standard.headline.small.lineHeight}); letter-spacing: var(--m3e-dialog-header-tracking, ${DesignToken$1.typescale.standard.headline.small.tracking}); } .content { padding-inline: 1.5rem; color: var(--m3e-dialog-content-color, ${DesignToken$1.color.onSurfaceVariant}); font-size: var(--m3e-dialog-content-font-size, ${DesignToken$1.typescale.standard.body.medium.fontSize}); font-weight: var(--m3e-dialog-content-font-weight, ${DesignToken$1.typescale.standard.body.medium.fontWeight}); line-height: var(--m3e-dialog-content-line-height, ${DesignToken$1.typescale.standard.body.medium.lineHeight}); letter-spacing: var(--m3e-dialog-content-tracking, ${DesignToken$1.typescale.standard.body.medium.tracking}); } .actions { padding: 1.5rem; } ::slotted([slot="actions"]) { flex: none; display: flex; align-items: center; min-height: 1.5rem; column-gap: 0.5rem; } ::slotted([slot="actions"][end]) { justify-content: flex-end; } :host(:not(:state(-with-actions))) .content { margin-bottom: 1.5rem; } :host(:not(:state(-with-actions))) .actions { display: none; } .close { margin-inline-start: 0.5rem; } ::slotted([slot="close-icon"]), .close-icon { width: 1em; font-size: var(--m3e-icon-button-icon-size, 1.5rem) !important; } @media (forced-colors: active) { .base:not([open])::backdrop, .base[open]::backdrop { transition: none; } .base { border-style: solid; border-width: 1px; border-color: CanvasText; } } @media (prefers-reduced-motion) { .base:not([open]), .base[open], .base:not([open])::backdrop, .base[open]::backdrop { transition: none; } }`;
10795
10894
  /** @private */
10796
10895
  M3eDialogElement.__nextId = 0;
10797
- __decorate([r$1()], M3eDialogElement.prototype, "_hasActions", void 0);
10896
+ __decorate([r$1()], M3eDialogElement.prototype, "_withActions", void 0);
10798
10897
  __decorate([e$4(".base")], M3eDialogElement.prototype, "_base", void 0);
10799
10898
  __decorate([e$4(".content")], M3eDialogElement.prototype, "_content", void 0);
10800
10899
  __decorate([n$1({
@@ -10818,7 +10917,7 @@ __decorate([n$1({
10818
10917
  __decorate([n$1({
10819
10918
  attribute: "close-label"
10820
10919
  })], M3eDialogElement.prototype, "closeLabel", void 0);
10821
- M3eDialogElement = M3eDialogElement_1 = __decorate([t$3("m3e-dialog")], M3eDialogElement);
10920
+ M3eDialogElement = M3eDialogElement_1 = __decorate([customElement$1("m3e-dialog")], M3eDialogElement);
10822
10921
 
10823
10922
  /**
10824
10923
  * An element, nested within a clickable element, used to open a dialog.
@@ -10846,7 +10945,7 @@ let M3eDialogTriggerElement = class M3eDialogTriggerElement extends HtmlFor$1(Ac
10846
10945
  }
10847
10946
  }
10848
10947
  };
10849
- M3eDialogTriggerElement = __decorate([t$3("m3e-dialog-trigger")], M3eDialogTriggerElement);
10948
+ M3eDialogTriggerElement = __decorate([customElement$1("m3e-dialog-trigger")], M3eDialogTriggerElement);
10850
10949
 
10851
10950
  /**
10852
10951
  * A thin line that separates content in lists or other containers.
@@ -10925,7 +11024,7 @@ __decorate([n$1({
10925
11024
  type: Boolean,
10926
11025
  reflect: true
10927
11026
  })], M3eDividerElement.prototype, "insetEnd", void 0);
10928
- M3eDividerElement = __decorate([t$3("m3e-divider")], M3eDividerElement);
11027
+ M3eDividerElement = __decorate([customElement$1("m3e-divider")], M3eDividerElement);
10929
11028
 
10930
11029
  /**
10931
11030
  * Component design tokens that control `M3eDrawerContainerElement`.
@@ -10947,12 +11046,12 @@ const DrawerContainerToken = {
10947
11046
  * Styles for `M3eDrawerContainerElement`.
10948
11047
  * @internal
10949
11048
  */
10950
- const DrawerContainerStyle = css`:host { position: relative; overflow: hidden; flex: 1 1 auto; } .start, .end { position: absolute; top: 0; bottom: 0; z-index: 3; outline: none; overflow-x: hidden; overflow-y: auto; scrollbar-width: ${DesignToken$1.scrollbar.thinWidth}; scrollbar-color: ${DesignToken$1.scrollbar.color}; box-sizing: border-box; background-color: ${DrawerContainerToken.containerColor}; box-shadow: ${DrawerContainerToken.containerElevation}; transition: ${unsafeCSS(`margin-inline ${DesignToken$1.motion.duration.medium4} ${DesignToken$1.motion.easing.standard},
11049
+ const DrawerContainerStyle = css`:host { display: block; position: relative; overflow: hidden; flex: 1 1 auto; } .start, .end { position: absolute; top: 0; bottom: 0; z-index: 3; outline: none; overflow-x: hidden; overflow-y: auto; scrollbar-width: ${DesignToken$1.scrollbar.thinWidth}; scrollbar-color: ${DesignToken$1.scrollbar.color}; box-sizing: border-box; background-color: ${DrawerContainerToken.containerColor}; box-shadow: ${DrawerContainerToken.containerElevation}; transition: ${unsafeCSS(`margin ${DesignToken$1.motion.duration.medium4} ${DesignToken$1.motion.easing.standard},
10951
11050
  visibility ${DesignToken$1.motion.duration.medium4} ${DesignToken$1.motion.easing.standard} allow-discrete,
10952
11051
  background-color ${DesignToken$1.motion.duration.medium4} ${DesignToken$1.motion.easing.standard},
10953
- box-shadow ${DesignToken$1.motion.duration.medium4} ${DesignToken$1.motion.easing.standard}`)}; } .start { inset-inline-start: 0; } .end { inset-inline-end: 0; } :host(:not([start])) .start { visibility: hidden; margin-inline-start: calc(0px - var(--_start-drawer-size, ${DrawerContainerToken.containerWidth})); } :host([start]) .start { margin-inline-start: 0; } :host(:not([end])) .end { visibility: hidden; margin-inline-end: calc(0px - var(--_end-drawer-size, ${DrawerContainerToken.containerWidth})); } :host([end]) .end { margin-inline-end: 0; } ::slotted([slot="start"]), ::slotted([slot="end"]) { height: 100%; width: ${DrawerContainerToken.containerWidth}; box-sizing: border-box; } .content { position: relative; height: 100%; overflow: auto; margin-inline-start: 0; margin-inline-end: 0; transition: ${unsafeCSS(`margin-inline ${DesignToken$1.motion.duration.medium4} ${DesignToken$1.motion.easing.standard}`)}; } :host(.-start-push[start]) .content, :host(.-start-side[start]) .content { margin-inline-start: var(--_start-drawer-size, ${DrawerContainerToken.containerWidth}); } :host(.-end-push[end]) .content, :host(.-end-side[end]) .content { margin-inline-end: var(--_end-drawer-size, ${DrawerContainerToken.containerWidth}); } .scrim { display: block; position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: 1; background-color: ${DesignToken$1.color.scrim}; opacity: 0; visibility: hidden; transition: ${unsafeCSS(`opacity ${DesignToken$1.motion.duration.medium4} ${DesignToken$1.motion.easing.standard},
10954
- visibility ${DesignToken$1.motion.duration.medium4} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } @starting-style { .scrim { opacity: 0; } } :host(.-start-push[start]) .scrim, :host(.-end-push[end]) .scrim, :host(.-start-over[start]) .scrim, :host(.-end-over[end]) .scrim { visibility: visible; opacity: ${DrawerContainerToken.scrimOpacity}; } :host(.-start-push) .start, :host(.-start-over) .start { border-start-end-radius: ${DrawerContainerToken.cornerShape}; border-end-end-radius: ${DrawerContainerToken.cornerShape}; } :host(.-end-push) .end, :host(.-end-over) .end { border-start-start-radius: ${DrawerContainerToken.cornerShape}; border-end-start-radius: ${DrawerContainerToken.cornerShape}; } :host(.-start-push) .start, :host(.-end-push) .end, :host(.-start-over) .start, :host(.-end-over) .end { background-color: ${DrawerContainerToken.modalContainerColor}; box-shadow: ${DrawerContainerToken.modalContainerElevation}; } :host([start-divider]) .start { border-inline-end-color: transparent; border-inline-end-width: ${DrawerContainerToken.dividerThickness}; border-inline-end-style: solid; box-sizing: border-box; } :host([start-divider].-start-side[start]:not(.-end-push[end]):not(.-end-over[end])) .start { border-inline-end-color: ${DrawerContainerToken.dividerColor}; } :host([end-divider]) .end { border-inline-start-color: transparent; border-inline-start-width: ${DrawerContainerToken.dividerThickness}; border-inline-start-style: solid; box-sizing: border-box; } :host([end-divider].-end-side[end]:not(.-start-push[start]):not(.-start-over[start])) .end { border-inline-start-color: ${DrawerContainerToken.dividerColor}; } :host(.-no-animate) .start, :host(.-no-animate) .end, :host(.-no-animate) .content { transition: none; } @media (forced-colors: active) { .start, .end { background-color: Canvas; box-shadow: unset; transition: ${unsafeCSS(`margin ${DesignToken$1.motion.duration.medium4} ${DesignToken$1.motion.easing.standard},
10955
- visibility ${DesignToken$1.motion.duration.medium4} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } :host(.-start-push) .start, :host(.-end-push) .end, :host(.-start-over) .start, :host(.-end-over) .end { background-color: Canvas; box-shadow: unset; border-color: CanvasText; } .start, .end { border-style: solid; border-color: Canvas; border-width: 1px; } .start { border-inline-start-style: none; } .end { border-inline-end-style: none; } :host([start-divider].-start-side[start]:not(.-end-push[end]):not(.-end-over[end])) .start { border-inline-end-color: GrayText; } :host([end-divider].-end-side[end]:not(.-start-push[start]):not(.-start-over[start])) .end { border-inline-start-color: GrayText; } } @media (prefers-reduced-motion) { .start, .end, .content, .scrim { transition: none; } }`;
11052
+ box-shadow ${DesignToken$1.motion.duration.medium4} ${DesignToken$1.motion.easing.standard}`)}; } .start { inset-inline-start: 0; } .end { inset-inline-end: 0; } :host(:not([start])) .start { visibility: hidden; } :host(:not([start]):not(:dir(rtl))) .start { margin-left: calc(0px - var(--_start-drawer-size, ${DrawerContainerToken.containerWidth})); } :host(:not([start]):dir(rtl)) .start { margin-right: calc(0px - var(--_start-drawer-size, ${DrawerContainerToken.containerWidth})); } :host([start]:not(:dir(rtl))) .start { margin-left: 0; } :host([start]:dir(rtl)) .start { margin-right: 0; } :host(:not([end])) .end { visibility: hidden; } :host(:not([end]):not(:dir(rtl))) .end { margin-right: calc(0px - var(--_end-drawer-size, ${DrawerContainerToken.containerWidth})); } :host(:not([end]):dir(rtl)) .end { margin-left: calc(0px - var(--_end-drawer-size, ${DrawerContainerToken.containerWidth})); } :host([end]:not(:dir(rtl))) .end { margin-right: 0; } :host([end]:dir(rtl)) .end { margin-left: 0; } ::slotted([slot="start"]), ::slotted([slot="end"]) { height: 100%; width: ${DrawerContainerToken.containerWidth}; box-sizing: border-box; } .content { position: relative; height: 100%; overflow: auto; margin-left: 0; margin-right: 0; transition: ${unsafeCSS(`margin ${DesignToken$1.motion.duration.medium4} ${DesignToken$1.motion.easing.standard}`)}; } :host(:state(-start-push)[start]:not(:dir(rtl))) .content, :host(:state(-start-side)[start]:not(:dir(rtl))) .content { margin-left: var(--_start-drawer-size, ${DrawerContainerToken.containerWidth}); } :host(:state(-start-push)[start]:dir(rtl)) .content, :host(:state(-start-side)[start]:dir(rtl)) .content { margin-right: var(--_start-drawer-size, ${DrawerContainerToken.containerWidth}); } :host(:state(-end-push)[end]:not(:dir(rtl))) .content, :host(:state(-end-side)[end]:not(:dir(rtl))) .content { margin-right: var(--_end-drawer-size, ${DrawerContainerToken.containerWidth}); } :host(:state(-end-push)[end]:dir(rtl)) .content, :host(:state(-end-side)[end]:dir(rtl)) .content { margin-left: var(--_end-drawer-size, ${DrawerContainerToken.containerWidth}); } .scrim { display: block; position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: 1; background-color: ${DesignToken$1.color.scrim}; opacity: 0; visibility: hidden; transition: ${unsafeCSS(`opacity ${DesignToken$1.motion.duration.medium4} ${DesignToken$1.motion.easing.standard},
11053
+ visibility ${DesignToken$1.motion.duration.medium4} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } @starting-style { .scrim { opacity: 0; } } :host(:state(-start-push)[start]) .scrim, :host(:state(-end-push)[end]) .scrim, :host(:state(-start-over)[start]) .scrim, :host(:state(-end-over)[end]) .scrim { visibility: visible; opacity: ${DrawerContainerToken.scrimOpacity}; } :host(:state(-start-push)) .start, :host(:state(-start-over)) .start { border-start-end-radius: ${DrawerContainerToken.cornerShape}; border-end-end-radius: ${DrawerContainerToken.cornerShape}; } :host(:state(-end-push)) .end, :host(:state(-end-over)) .end { border-start-start-radius: ${DrawerContainerToken.cornerShape}; border-end-start-radius: ${DrawerContainerToken.cornerShape}; } :host(:state(-start-push)) .start, :host(:state(-end-push)) .end, :host(:state(-start-over)) .start, :host(:state(-end-over)) .end { background-color: ${DrawerContainerToken.modalContainerColor}; box-shadow: ${DrawerContainerToken.modalContainerElevation}; } :host([start-divider]) .start { border-inline-end-color: transparent; border-inline-end-width: ${DrawerContainerToken.dividerThickness}; border-inline-end-style: solid; box-sizing: border-box; } :host([start-divider]:state(-start-side)[start]:not(:state(-end-push)[end]):not(:state(-end-over)[end])) .start { border-inline-end-color: ${DrawerContainerToken.dividerColor}; } :host([end-divider]) .end { border-inline-start-color: transparent; border-inline-start-width: ${DrawerContainerToken.dividerThickness}; border-inline-start-style: solid; box-sizing: border-box; } :host([end-divider]:state(-end-side)[end]:not(:state(-start-push)[start]):not(:state(-start-over)[start])) .end { border-inline-start-color: ${DrawerContainerToken.dividerColor}; } :host(:state(-no-animate)) .start, :host(:state(-no-animate)) .end, :host(:state(-no-animate)) .content { transition: none; } @media (forced-colors: active) { .start, .end { background-color: Canvas; box-shadow: unset; transition: ${unsafeCSS(`margin ${DesignToken$1.motion.duration.medium4} ${DesignToken$1.motion.easing.standard},
11054
+ visibility ${DesignToken$1.motion.duration.medium4} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } :host(:state(-start-push)) .start, :host(:state(-end-push)) .end, :host(:state(-start-over)) .start, :host(:state(-end-over)) .end { background-color: Canvas; box-shadow: unset; border-color: CanvasText; } .start, .end { border-style: solid; border-color: Canvas; border-width: 1px; } .start { border-inline-start-style: none; } .end { border-inline-end-style: none; } :host([start-divider]:state(-start-side)[start]:not(:state(-end-push)[end]):not(:state(-end-over)[end])) .start { border-inline-end-color: GrayText; } :host([end-divider]:state(-end-side)[end]:not(:state(-start-push)[start]):not(:state(-start-over)[start])) .end { border-inline-start-color: GrayText; } } @media (prefers-reduced-motion) { .start, .end, .content, .scrim { transition: none; } }`;
10956
11055
 
10957
11056
  var _M3eDrawerContainerElement_instances, _M3eDrawerContainerElement_breakpointUnobserve, _M3eDrawerContainerElement_disableStartFocusTrap, _M3eDrawerContainerElement_disableEndFocusTrap, _M3eDrawerContainerElement_resizeController, _M3eDrawerContainerElement_handleScrimClick, _M3eDrawerContainerElement_handleStartSlotChange, _M3eDrawerContainerElement_handleEndSlotChange, _M3eDrawerContainerElement_handleDrawerResize, _M3eDrawerContainerElement_clearMode, _M3eDrawerContainerElement_updateMode;
10958
11057
  /**
@@ -11006,7 +11105,7 @@ var _M3eDrawerContainerElement_instances, _M3eDrawerContainerElement_breakpointU
11006
11105
  * @cssprop --m3e-drawer-divider-color - The color of the divider between drawer sections.
11007
11106
  * @cssprop --m3e-drawer-divider-thickness - The thickness of the divider line.
11008
11107
  */
11009
- let M3eDrawerContainerElement = class M3eDrawerContainerElement extends LitElement {
11108
+ let M3eDrawerContainerElement = class M3eDrawerContainerElement extends AttachInternals$1(LitElement) {
11010
11109
  constructor() {
11011
11110
  super(...arguments);
11012
11111
  _M3eDrawerContainerElement_instances.add(this);
@@ -11060,7 +11159,7 @@ let M3eDrawerContainerElement = class M3eDrawerContainerElement extends LitEleme
11060
11159
  /** @inheritdoc */
11061
11160
  connectedCallback() {
11062
11161
  super.connectedCallback();
11063
- this.classList.add("-no-animate");
11162
+ addCustomState$1(this, "-no-animate");
11064
11163
  }
11065
11164
  /** @inheritdoc */
11066
11165
  disconnectedCallback() {
@@ -11139,19 +11238,19 @@ _M3eDrawerContainerElement_handleDrawerResize = function _M3eDrawerContainerElem
11139
11238
  this.style.setProperty("--_end-drawer-size", `${borderSize.inlineSize}px`);
11140
11239
  }
11141
11240
  }
11142
- if (this.classList.contains("-no-animate")) {
11241
+ if (hasCustomState$1(this, "-no-animate")) {
11143
11242
  // Force synchronous layout flush
11144
11243
  void this.offsetTop;
11145
- this.classList.remove("-no-animate");
11244
+ deleteCustomState$1(this, "-no-animate");
11146
11245
  }
11147
11246
  };
11148
11247
  _M3eDrawerContainerElement_clearMode = function _M3eDrawerContainerElement_clearMode() {
11149
- this.classList.remove("-start-over");
11150
- this.classList.remove("-start-push");
11151
- this.classList.remove("-start-side");
11152
- this.classList.remove("-end-over");
11153
- this.classList.remove("-end-push");
11154
- this.classList.remove("-end-side");
11248
+ deleteCustomState$1(this, "-start-over");
11249
+ deleteCustomState$1(this, "-start-push");
11250
+ deleteCustomState$1(this, "-start-side");
11251
+ deleteCustomState$1(this, "-end-over");
11252
+ deleteCustomState$1(this, "-end-push");
11253
+ deleteCustomState$1(this, "-end-side");
11155
11254
  };
11156
11255
  _M3eDrawerContainerElement_updateMode = function _M3eDrawerContainerElement_updateMode(breakpoints, autoClose = false) {
11157
11256
  let autoCloseStart = false,
@@ -11187,8 +11286,8 @@ _M3eDrawerContainerElement_updateMode = function _M3eDrawerContainerElement_upda
11187
11286
  this._endMode = this.endMode;
11188
11287
  }
11189
11288
  __classPrivateFieldGet(this, _M3eDrawerContainerElement_instances, "m", _M3eDrawerContainerElement_clearMode).call(this);
11190
- this.classList.add(`-start-${this._startMode}`);
11191
- this.classList.add(`-end-${this._endMode}`);
11289
+ addCustomState$1(this, `-start-${this._startMode}`);
11290
+ addCustomState$1(this, `-end-${this._endMode}`);
11192
11291
  if (autoClose && (autoCloseStart || autoCloseEnd)) {
11193
11292
  if (autoCloseStart) {
11194
11293
  this.start = false;
@@ -11231,7 +11330,7 @@ __decorate([n$1({
11231
11330
  type: Boolean,
11232
11331
  reflect: true
11233
11332
  })], M3eDrawerContainerElement.prototype, "endDivider", void 0);
11234
- M3eDrawerContainerElement = __decorate([t$3("m3e-drawer-container")], M3eDrawerContainerElement);
11333
+ M3eDrawerContainerElement = __decorate([customElement$1("m3e-drawer-container")], M3eDrawerContainerElement);
11235
11334
 
11236
11335
  var _M3eDrawerToggleElement_instances, _M3eDrawerToggleElement_drawerContainerChangeHandler, _M3eDrawerToggleElement_togglingDrawer, _M3eDrawerToggleElement_handleDrawerContainerChange, _M3eDrawerToggleElement_toggleDrawer, _M3eDrawerToggleElement_updateToggle;
11237
11336
  /**
@@ -11350,7 +11449,7 @@ async function _M3eDrawerToggleElement_updateToggle(container, syncToggle) {
11350
11449
  this.parentElement.ariaPressed = null;
11351
11450
  }
11352
11451
  };
11353
- M3eDrawerToggleElement = __decorate([t$3("m3e-drawer-toggle")], M3eDrawerToggleElement);
11452
+ M3eDrawerToggleElement = __decorate([customElement$1("m3e-drawer-toggle")], M3eDrawerToggleElement);
11354
11453
 
11355
11454
  var _M3eAccordionElement_instances, _M3eAccordionElement_panels, _M3eAccordionElement_handleSlotChange, _M3eAccordionElement_handleOpening;
11356
11455
  /**
@@ -11432,7 +11531,7 @@ M3eAccordionElement.styles = css`:host { display: block; } ::slotted(m3e-expansi
11432
11531
  __decorate([n$1({
11433
11532
  type: Boolean
11434
11533
  })], M3eAccordionElement.prototype, "multi", void 0);
11435
- M3eAccordionElement = __decorate([t$3("m3e-accordion")], M3eAccordionElement);
11534
+ M3eAccordionElement = __decorate([customElement$1("m3e-accordion")], M3eAccordionElement);
11436
11535
 
11437
11536
  /**
11438
11537
  * Component design tokens for `M3eExpansionHeaderElement`.
@@ -11485,7 +11584,7 @@ const ExpansionPanelToken = {
11485
11584
  * @internal
11486
11585
  */
11487
11586
  const ExpansionPanelStyle = css`:host { display: block; } .base { background-color: ${ExpansionPanelToken.containerColor}; transition: ${unsafeCSS(`box-shadow var(--m3e-collapsible-animation-duration, ${DesignToken$1.motion.duration.medium1})
11488
- ${DesignToken$1.motion.easing.standard}`)}; } :host(:not(:disabled)) .base { color: ${ExpansionPanelToken.textColor}; } :host(:disabled) .base { color: color-mix( in srgb, ${ExpansionPanelToken.disabledTextColor} ${ExpansionPanelToken.disabledTextOpacity}, transparent ); } :host(:not([open])) .base { box-shadow: ${ExpansionPanelToken.collapsedElevation}; border-radius: ${ExpansionPanelToken.collapsedShape}; } :host([open]) .base { box-shadow: ${ExpansionPanelToken.expandedElevation}; border-radius: ${ExpansionPanelToken.expandedShape}; margin-block: ${ExpansionPanelToken.expandedSpace}; } .toggle { display: flex; align-items: center; justify-content: center; font-size: ${ExpansionHeaderToken.toggleIconSize}; } ::slotted([slot="toggle-icon"]) { font-size: inherit !important; flex: none; } .toggle svg, ::slotted(svg[slot="toggle-icon"]) { width: 1em; height: 1em; } .content { padding: ${ExpansionPanelToken.contentPadding}; } :host(:not(.-has-actions)) .actions { display: none; } .actions { padding: ${ExpansionPanelToken.actionsPadding}; border-top-style: solid; border-top-width: ${ExpansionPanelToken.actionsDividerThickness}; border-top-color: ${ExpansionPanelToken.actionsDividerColor}; } ::slotted([slot="actions"]) { flex: none; display: flex; align-items: center; column-gap: ${ExpansionPanelToken.actionsSpacing}; } ::slotted([slot="actions"][end]) { justify-content: flex-end; } @media (prefers-reduced-motion) { .base { transition: none; } } @media (forced-colors: active) { .base { border: 1px solid CanvasText; } :host(:disabled) .base { color: GrayText; } .actions { border-top-color: GrayText; } }`;
11587
+ ${DesignToken$1.motion.easing.standard}`)}; } :host(:not(:disabled)) .base { color: ${ExpansionPanelToken.textColor}; } :host(:disabled) .base { color: color-mix( in srgb, ${ExpansionPanelToken.disabledTextColor} ${ExpansionPanelToken.disabledTextOpacity}, transparent ); } :host(:not([open])) .base { box-shadow: ${ExpansionPanelToken.collapsedElevation}; border-radius: ${ExpansionPanelToken.collapsedShape}; } :host([open]) .base { box-shadow: ${ExpansionPanelToken.expandedElevation}; border-radius: ${ExpansionPanelToken.expandedShape}; margin-block: ${ExpansionPanelToken.expandedSpace}; } .toggle { display: flex; align-items: center; justify-content: center; font-size: ${ExpansionHeaderToken.toggleIconSize}; } ::slotted([slot="toggle-icon"]) { font-size: inherit !important; flex: none; } .toggle svg, ::slotted(svg[slot="toggle-icon"]) { width: 1em; height: 1em; } .content { padding: ${ExpansionPanelToken.contentPadding}; } :host(:not(:state(-with-actions))) .actions { display: none; } .actions { padding: ${ExpansionPanelToken.actionsPadding}; border-top-style: solid; border-top-width: ${ExpansionPanelToken.actionsDividerThickness}; border-top-color: ${ExpansionPanelToken.actionsDividerColor}; } ::slotted([slot="actions"]) { flex: none; display: flex; align-items: center; column-gap: ${ExpansionPanelToken.actionsSpacing}; } ::slotted([slot="actions"][end]) { justify-content: flex-end; } @media (prefers-reduced-motion) { .base { transition: none; } } @media (forced-colors: active) { .base { border: 1px solid CanvasText; } :host(:disabled) .base { color: GrayText; } .actions { border-top-color: GrayText; } }`;
11489
11588
 
11490
11589
  var _M3eExpansionHeaderElement_instances, _M3eExpansionHeaderElement_renderToggle;
11491
11590
  /**
@@ -11564,7 +11663,7 @@ __decorate([n$1({
11564
11663
  type: Boolean,
11565
11664
  reflect: true
11566
11665
  })], M3eExpansionHeaderElement.prototype, "hideToggle", void 0);
11567
- M3eExpansionHeaderElement = __decorate([t$3("m3e-expansion-header")], M3eExpansionHeaderElement);
11666
+ M3eExpansionHeaderElement = __decorate([customElement$1("m3e-expansion-header")], M3eExpansionHeaderElement);
11568
11667
 
11569
11668
  /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
11570
11669
  var _M3eExpansionPanelElement_instances, _M3eExpansionPanelElement_id, _M3eExpansionPanelElement_contentId, _M3eExpansionPanelElement_headerId, _M3eExpansionPanelElement_directionalitySubscription, _M3eExpansionPanelElement_renderToggleIcon, _M3eExpansionPanelElement_handleHeaderClick, _M3eExpansionPanelElement_handleKeyDown, _M3eExpansionPanelElement_handleCollapsibleEvent, _M3eExpansionPanelElement_handleActionsSlotChange, _M3eExpansionPanelElement_updateHeaderToggleRotation;
@@ -11752,7 +11851,7 @@ _M3eExpansionPanelElement_handleCollapsibleEvent = function _M3eExpansionPanelEl
11752
11851
  }));
11753
11852
  };
11754
11853
  _M3eExpansionPanelElement_handleActionsSlotChange = function _M3eExpansionPanelElement_handleActionsSlotChange(e) {
11755
- this.classList.toggle("-has-actions", hasAssignedNodes$1(e.target));
11854
+ setCustomState$1(this, "-with-actions", hasAssignedNodes$1(e.target));
11756
11855
  };
11757
11856
  _M3eExpansionPanelElement_updateHeaderToggleRotation = function _M3eExpansionPanelElement_updateHeaderToggleRotation() {
11758
11857
  if (M3eDirectionality.current === "rtl") {
@@ -11783,13 +11882,13 @@ __decorate([n$1({
11783
11882
  type: Boolean,
11784
11883
  reflect: true
11785
11884
  })], M3eExpansionPanelElement.prototype, "hideToggle", void 0);
11786
- M3eExpansionPanelElement = M3eExpansionPanelElement_1 = __decorate([t$3("m3e-expansion-panel")], M3eExpansionPanelElement);
11885
+ M3eExpansionPanelElement = M3eExpansionPanelElement_1 = __decorate([customElement$1("m3e-expansion-panel")], M3eExpansionPanelElement);
11787
11886
 
11788
11887
  /**
11789
11888
  * Baseline styles for `M3eFabElement`.
11790
11889
  * @internal
11791
11890
  */
11792
- const FabStyle = css`:host { display: inline-block; outline: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; justify-content: center; position: relative; width: 100%; transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } .touch { position: absolute; height: 3rem; left: 0; right: 0; } .wrapper { width: 100%; overflow: hidden; display: inline-flex; align-items: center; } .label { justify-self: center; flex: 1 1 auto; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: ${unsafeCSS(`color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } .icon { transition: ${unsafeCSS(`color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } :host(:not(:disabled):not([disabled-interactive])) { cursor: pointer; } :host([disabled-interactive]) { cursor: not-allowed; } .close-icon, ::slotted(:not([slot])), ::slotted([slot="close-icon"]) { font-size: inherit !important; flex: none; } .close-icon, ::slotted(svg:not([slot])), ::slotted(svg[slot="close-icon"]) { width: 1em; height: 1em; } :host(:not([extended])) ::slotted([slot="label"]), .base.-with-menu ::slotted([slot="label"]), .base:not(.-with-menu) ::slotted([slot="close-icon"]), .base:not(.-with-menu) .close-icon, :host([aria-expanded="true"]) .base.-with-menu ::slotted(:not([slot])), :host([aria-expanded="false"]) .base.-with-menu ::slotted([slot="close-icon"]), :host([aria-expanded="false"]) .base.-with-menu .close-icon { display: none; } :host([aria-expanded="true"]) .base.-with-menu { border-radius: var(--m3e-fab-menu-close-button-container-shape, ${DesignToken$1.shape.corner.full}); height: calc(var(--m3e-fab-menu-close-button-container-height, 3.5rem) + ${DesignToken$1.density.calc(-3)}); } :host([aria-expanded="true"]) .base.-with-menu .wrapper { padding-inline-start: calc(var(--m3e-fab-menu-close-button-leading-space, 1rem) + ${DesignToken$1.density.calc(-3)}); padding-inline-end: calc(var(--m3e-fab-menu-close-button-trailing-space, 1rem) + ${DesignToken$1.density.calc(-3)}); } :host([aria-expanded="true"]) .base.-with-menu .icon { font-size: calc(var(--m3e-fab-menu-close-button-icon-size, 1.5rem) + ${DesignToken$1.density.calc(-3)}); --m3e-icon-size: calc(var(--m3e-fab-menu-close-button-icon-size, 1.5rem) + ${DesignToken$1.density.calc(-3)}); } .base.-with-menu { transition: height ${DesignToken$1.motion.spring.fastSpatial}; } .base.-with-menu .wrapper { transition: padding ${DesignToken$1.motion.spring.fastSpatial}; } a { all: unset; display: block; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 1; } @media (forced-colors: active) { .base, .icon { transition: none; } .base { outline-style: solid; } :host([variant]:not(:disabled):not([disabled-interactive])) .base { background-color: ButtonFace; outline-color: ButtonText; } :host([variant]:not(:disabled):not([disabled-interactive])) .label, :host([variant]:not(:disabled):not([disabled-interactive])) .icon { color: ButtonText; } :host([variant]:disabled) .base, :host([variant][disabled-interactive]) .base { outline-color: GrayText; background-color: unset; } :host([variant]:disabled) .label, :host([variant][disabled-interactive]) .label, :host([variant]:disabled) .icon, :host([variant][disabled-interactive]) .icon { color: GrayText; } :host([size="small"]) .base { outline-offset: calc(0px - var(--m3e-button-small-outline-thickness, 1px)); outline-width: var(--m3e-button-small-outline-thickness, 1px); } :host([size="medium"]) .base { outline-offset: calc(0px - var(--m3e-button-medium-outline-thickness, 1px)); outline-width: var(--m3e-button-medium-outline-thickness, 1px); } :host([size="large"]) .base { outline-offset: calc(0px - var(--m3e-button-large-outline-thickness, 2px)); outline-width: var(--m3e-button-large-outline-thickness, 2px); } } @media (prefers-reduced-motion) { .base, .base.resting, .base.pressed, .label, .icon { transition: none; } }`;
11891
+ const FabStyle = css`:host { display: inline-block; outline: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; justify-content: center; position: relative; width: 100%; transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } .touch { position: absolute; height: 3rem; left: 0; right: 0; } .wrapper { width: 100%; overflow: hidden; display: inline-flex; align-items: center; } .label { justify-self: center; flex: 1 1 auto; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: ${unsafeCSS(`color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } .icon { transition: ${unsafeCSS(`color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } :host(:not(:disabled):not([disabled-interactive])) { cursor: pointer; } :host([disabled-interactive]) { cursor: not-allowed; } .close-icon, ::slotted(:not([slot])), ::slotted([slot="close-icon"]) { font-size: inherit !important; flex: none; } .close-icon, ::slotted(svg:not([slot])), ::slotted(svg[slot="close-icon"]) { width: 1em; height: 1em; } :host(:not([extended])) ::slotted([slot="label"]), .base.with-menu ::slotted([slot="label"]), .base:not(.with-menu) ::slotted([slot="close-icon"]), .base:not(.with-menu) .close-icon, :host([aria-expanded="true"]) .base.with-menu ::slotted(:not([slot])), :host([aria-expanded="false"]) .base.with-menu ::slotted([slot="close-icon"]), :host([aria-expanded="false"]) .base.with-menu .close-icon { display: none; } :host([aria-expanded="true"]) .base.with-menu { border-radius: var(--m3e-fab-menu-close-button-container-shape, ${DesignToken$1.shape.corner.full}); height: calc(var(--m3e-fab-menu-close-button-container-height, 3.5rem) + ${DesignToken$1.density.calc(-3)}); } :host([aria-expanded="true"]) .base.with-menu .wrapper { padding-inline-start: calc(var(--m3e-fab-menu-close-button-leading-space, 1rem) + ${DesignToken$1.density.calc(-3)}); padding-inline-end: calc(var(--m3e-fab-menu-close-button-trailing-space, 1rem) + ${DesignToken$1.density.calc(-3)}); } :host([aria-expanded="true"]) .base.with-menu .icon { font-size: calc(var(--m3e-fab-menu-close-button-icon-size, 1.5rem) + ${DesignToken$1.density.calc(-3)}); --m3e-icon-size: calc(var(--m3e-fab-menu-close-button-icon-size, 1.5rem) + ${DesignToken$1.density.calc(-3)}); } .base.with-menu { transition: height ${DesignToken$1.motion.spring.fastSpatial}; } .base.with-menu .wrapper { transition: padding ${DesignToken$1.motion.spring.fastSpatial}; } a { all: unset; display: block; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 1; } @media (forced-colors: active) { .base, .icon { transition: none; } .base { outline-style: solid; } :host([variant]:not(:disabled):not([disabled-interactive])) .base { background-color: ButtonFace; outline-color: ButtonText; } :host([variant]:not(:disabled):not([disabled-interactive])) .label, :host([variant]:not(:disabled):not([disabled-interactive])) .icon { color: ButtonText; } :host([variant]:disabled) .base, :host([variant][disabled-interactive]) .base { outline-color: GrayText; background-color: unset; } :host([variant]:disabled) .label, :host([variant][disabled-interactive]) .label, :host([variant]:disabled) .icon, :host([variant][disabled-interactive]) .icon { color: GrayText; } :host([size="small"]) .base { outline-offset: calc(0px - var(--m3e-button-small-outline-thickness, 1px)); outline-width: var(--m3e-button-small-outline-thickness, 1px); } :host([size="medium"]) .base { outline-offset: calc(0px - var(--m3e-button-medium-outline-thickness, 1px)); outline-width: var(--m3e-button-medium-outline-thickness, 1px); } :host([size="large"]) .base { outline-offset: calc(0px - var(--m3e-button-large-outline-thickness, 2px)); outline-width: var(--m3e-button-large-outline-thickness, 2px); } } @media (prefers-reduced-motion) { .base, .base.resting, .base.pressed, .label, .icon { transition: none; } }`;
11793
11892
 
11794
11893
  /**
11795
11894
  * Component design tokens that control the `M3eFabElement` for all size variants.
@@ -12822,7 +12921,7 @@ let M3eFabElement = class M3eFabElement extends KeyboardClick$1(LinkButton$1(For
12822
12921
  };
12823
12922
  _M3eFabElement_instances = new WeakSet();
12824
12923
  _M3eFabElement_handleSlotChange = function _M3eFabElement_handleSlotChange() {
12825
- this._base?.classList.toggle("-with-menu", this.querySelector("m3e-fab-menu-trigger") !== null);
12924
+ this._base?.classList.toggle("with-menu", this.querySelector("m3e-fab-menu-trigger") !== null);
12826
12925
  };
12827
12926
  /** The styles of the element. */
12828
12927
  M3eFabElement.styles = [FabSizeStyle, FabVariantStyle, FabStyle];
@@ -12845,7 +12944,7 @@ __decorate([n$1({
12845
12944
  type: Boolean,
12846
12945
  reflect: true
12847
12946
  })], M3eFabElement.prototype, "extended", void 0);
12848
- M3eFabElement = __decorate([t$3("m3e-fab")], M3eFabElement);
12947
+ M3eFabElement = __decorate([customElement$1("m3e-fab")], M3eFabElement);
12849
12948
 
12850
12949
  var _M3eFabMenuItemElement_instances, _M3eFabMenuItemElement_clickHandler, _M3eFabMenuItemElement_handleClick;
12851
12950
  /**
@@ -12937,7 +13036,7 @@ __decorate([e$4(".elevation")], M3eFabMenuItemElement.prototype, "_elevation", v
12937
13036
  __decorate([e$4(".focus-ring")], M3eFabMenuItemElement.prototype, "_focusRing", void 0);
12938
13037
  __decorate([e$4(".state-layer")], M3eFabMenuItemElement.prototype, "_stateLayer", void 0);
12939
13038
  __decorate([e$4(".ripple")], M3eFabMenuItemElement.prototype, "_ripple", void 0);
12940
- M3eFabMenuItemElement = __decorate([t$3("m3e-fab-menu-item")], M3eFabMenuItemElement);
13039
+ M3eFabMenuItemElement = __decorate([customElement$1("m3e-fab-menu-item")], M3eFabMenuItemElement);
12941
13040
 
12942
13041
  var _M3eFabMenuElement_instances, _M3eFabMenuElement_fabTabIndex, _M3eFabMenuElement_trigger, _M3eFabMenuElement_anchoringCleanup, _M3eFabMenuElement_listManager, _M3eFabMenuElement_keyDownHandler, _M3eFabMenuElement_documentClickHandler, _M3eFabMenuElement_scrollController, _M3eFabMenuElement_toggleHandler, _M3eFabMenuElement_handleSlotChange, _M3eFabMenuElement_handleKeyDown, _M3eFabMenuElement_handleDocumentClick, _M3eFabMenuElement_attachFab, _M3eFabMenuElement_detachFab;
12943
13042
  /**
@@ -12993,7 +13092,7 @@ var _M3eFabMenuElement_instances, _M3eFabMenuElement_fabTabIndex, _M3eFabMenuEle
12993
13092
  * @cssprop --m3e-tertiary-fab-focus-color - Focus background color for tertiary variant items.
12994
13093
  * @cssprop --m3e-tertiary-fab-ripple-color - Ripple color for tertiary variant items.
12995
13094
  */
12996
- let M3eFabMenuElement = class M3eFabMenuElement extends Role$1(LitElement, "menu") {
13095
+ let M3eFabMenuElement = class M3eFabMenuElement extends AttachInternals$1(Role$1(LitElement, "menu")) {
12997
13096
  constructor() {
12998
13097
  super(...arguments);
12999
13098
  _M3eFabMenuElement_instances.add(this);
@@ -13052,8 +13151,8 @@ let M3eFabMenuElement = class M3eFabMenuElement extends Role$1(LitElement, "menu
13052
13151
  flip: true,
13053
13152
  offset: 8
13054
13153
  }, (x, y, position) => {
13055
- this.classList.toggle("-right", position.includes("end"));
13056
- this.classList.toggle("-left", position.includes("start"));
13154
+ setCustomState$1(this, "-right", position.includes("end"));
13155
+ setCustomState$1(this, "-left", position.includes("start"));
13057
13156
  if (M3eDirectionality.current === "rtl") {
13058
13157
  this.style.right = `${window.innerWidth - x - this.clientWidth}px`;
13059
13158
  this.style.left = "";
@@ -13104,7 +13203,7 @@ let M3eFabMenuElement = class M3eFabMenuElement extends Role$1(LitElement, "menu
13104
13203
  super.connectedCallback();
13105
13204
  this.tabIndex = -1;
13106
13205
  this.setAttribute("popover", "manual");
13107
- this.classList.add("-no-animate");
13206
+ addCustomState$1(this, "-no-animate");
13108
13207
  this.addEventListener("keydown", __classPrivateFieldGet(this, _M3eFabMenuElement_keyDownHandler, "f"));
13109
13208
  this.addEventListener("toggle", __classPrivateFieldGet(this, _M3eFabMenuElement_toggleHandler, "f"));
13110
13209
  document.addEventListener("click", __classPrivateFieldGet(this, _M3eFabMenuElement_documentClickHandler, "f"));
@@ -13119,7 +13218,7 @@ let M3eFabMenuElement = class M3eFabMenuElement extends Role$1(LitElement, "menu
13119
13218
  /** @inheritdoc */
13120
13219
  firstUpdated(_changedProperties) {
13121
13220
  super.firstUpdated(_changedProperties);
13122
- requestAnimationFrame(() => this.classList.remove("-no-animate"));
13221
+ requestAnimationFrame(() => deleteCustomState$1(this, "-no-animate"));
13123
13222
  }
13124
13223
  /** @inheritdoc */
13125
13224
  render() {
@@ -13182,14 +13281,14 @@ _M3eFabMenuElement_detachFab = function _M3eFabMenuElement_detachFab() {
13182
13281
  }
13183
13282
  };
13184
13283
  /** The styles of the element. */
13185
- M3eFabMenuElement.styles = css`:host { position: absolute; flex-direction: column; row-gap: var(--m3e-fab-menu-spacing, 0.25rem); padding: unset; margin: unset; border: unset; overflow: visible; max-width: var(--m3e-fab-menu-max-width, 17.5rem); opacity: 0; background-color: transparent; display: none; } :host(:not(.-no-animate)) { transition: ${unsafeCSS(`opacity ${DesignToken$1.motion.spring.fastEffects},
13284
+ M3eFabMenuElement.styles = css`:host { position: absolute; flex-direction: column; row-gap: var(--m3e-fab-menu-spacing, 0.25rem); padding: unset; margin: unset; border: unset; overflow: visible; max-width: var(--m3e-fab-menu-max-width, 17.5rem); opacity: 0; background-color: transparent; display: none; } :host(:not(:state(-no-animate))) { transition: ${unsafeCSS(`opacity ${DesignToken$1.motion.spring.fastEffects},
13186
13285
  transform ${DesignToken$1.motion.spring.fastSpatial},
13187
13286
  overlay ${DesignToken$1.motion.spring.fastEffects} allow-discrete,
13188
- display ${DesignToken$1.motion.spring.fastEffects} allow-discrete`)}; } .base { display: contents; } :host([variant="primary"]) .base { --_fab-menu-item-color: var(--m3e-primary-fab-color, ${DesignToken$1.color.onPrimaryContainer}); --_fab-menu-item-container-color: var(--m3e-primary-fab-container-color, ${DesignToken$1.color.primaryContainer}); --_fab-menu-background-hover-color: var(--m3e-primary-fab-hover-color, ${DesignToken$1.color.onPrimaryContainer}); --_fab-menu-background-focus-color: var(--m3e-primary-fab-focus-color, ${DesignToken$1.color.onPrimaryContainer}); --_fab-menu-ripple-color: var(--m3e-primary-fab-ripple-color, ${DesignToken$1.color.onPrimaryContainer}); } :host([variant="secondary"]) .base { --_fab-menu-item-color: var(--m3e-secondary-fab-color, ${DesignToken$1.color.onSecondaryContainer}); --_fab-menu-item-container-color: var( --m3e-secondary-fab-container-color, ${DesignToken$1.color.secondaryContainer} ); --_fab-menu-background-hover-color: var( --m3e-secondary-fab-hover-color, ${DesignToken$1.color.onSecondaryContainer} ); --_fab-menu-background-focus-color: var( --m3e-secondary-fab-focus-color, ${DesignToken$1.color.onSecondaryContainer} ); --_fab-menu-ripple-color: var(--m3e-secondary-fab-ripple-color, ${DesignToken$1.color.onSecondaryContainer}); } :host([variant="tertiary"]) .base { --_fab-menu-item-color: var(--m3e-tertiary-fab-color, ${DesignToken$1.color.onTertiaryContainer}); --_fab-menu-item-container-color: var(--m3e-tertiary-fab-container-color, ${DesignToken$1.color.tertiaryContainer}); --_fab-menu-background-hover-color: var(--m3e-tertiary-fab-hover-color, ${DesignToken$1.color.onTertiaryContainer}); --_fab-menu-background-focus-color: var(--m3e-tertiary-fab-focus-color, ${DesignToken$1.color.onTertiaryContainer}); --_fab-menu-ripple-color: var(--m3e-tertiary-fab-ripple-color, ${DesignToken$1.color.onTertiaryContainer}); } :host { transform: scaleX(0.8); } :host(.-left) { align-items: flex-start; transform-origin: left; } :host(.-right) { align-items: flex-end; transform-origin: right; } :host(:popover-open) { transform: scaleX(1); display: inline-flex; opacity: 1; } :host::backdrop { background-color: transparent; } @starting-style { :host(:popover-open) { opacity: 0; } :host(:popover-open) { transform: scaleX(0.8); } } @media (prefers-reduced-motion) { :host(:not(.-no-animate)) { transition: none; } } @media (forced-colors: active) { :host { border-radius: ${DesignToken$1.shape.corner.medium}; outline: 1px solid MenuText; background-color: Menu; } }`;
13287
+ display ${DesignToken$1.motion.spring.fastEffects} allow-discrete`)}; } .base { display: contents; } :host([variant="primary"]) .base { --_fab-menu-item-color: var(--m3e-primary-fab-color, ${DesignToken$1.color.onPrimaryContainer}); --_fab-menu-item-container-color: var(--m3e-primary-fab-container-color, ${DesignToken$1.color.primaryContainer}); --_fab-menu-background-hover-color: var(--m3e-primary-fab-hover-color, ${DesignToken$1.color.onPrimaryContainer}); --_fab-menu-background-focus-color: var(--m3e-primary-fab-focus-color, ${DesignToken$1.color.onPrimaryContainer}); --_fab-menu-ripple-color: var(--m3e-primary-fab-ripple-color, ${DesignToken$1.color.onPrimaryContainer}); } :host([variant="secondary"]) .base { --_fab-menu-item-color: var(--m3e-secondary-fab-color, ${DesignToken$1.color.onSecondaryContainer}); --_fab-menu-item-container-color: var( --m3e-secondary-fab-container-color, ${DesignToken$1.color.secondaryContainer} ); --_fab-menu-background-hover-color: var( --m3e-secondary-fab-hover-color, ${DesignToken$1.color.onSecondaryContainer} ); --_fab-menu-background-focus-color: var( --m3e-secondary-fab-focus-color, ${DesignToken$1.color.onSecondaryContainer} ); --_fab-menu-ripple-color: var(--m3e-secondary-fab-ripple-color, ${DesignToken$1.color.onSecondaryContainer}); } :host([variant="tertiary"]) .base { --_fab-menu-item-color: var(--m3e-tertiary-fab-color, ${DesignToken$1.color.onTertiaryContainer}); --_fab-menu-item-container-color: var(--m3e-tertiary-fab-container-color, ${DesignToken$1.color.tertiaryContainer}); --_fab-menu-background-hover-color: var(--m3e-tertiary-fab-hover-color, ${DesignToken$1.color.onTertiaryContainer}); --_fab-menu-background-focus-color: var(--m3e-tertiary-fab-focus-color, ${DesignToken$1.color.onTertiaryContainer}); --_fab-menu-ripple-color: var(--m3e-tertiary-fab-ripple-color, ${DesignToken$1.color.onTertiaryContainer}); } :host { transform: scaleX(0.8); } :host(:state(-left)) { align-items: flex-start; transform-origin: left; } :host(:state(-right)) { align-items: flex-end; transform-origin: right; } :host(:popover-open) { transform: scaleX(1); display: inline-flex; opacity: 1; } :host::backdrop { background-color: transparent; } @starting-style { :host(:popover-open) { opacity: 0; } :host(:popover-open) { transform: scaleX(0.8); } } @media (prefers-reduced-motion) { :host(:not(:state(-no-animate))) { transition: none; } } @media (forced-colors: active) { :host { border-radius: ${DesignToken$1.shape.corner.medium}; outline: 1px solid MenuText; background-color: Menu; } }`;
13189
13288
  __decorate([n$1({
13190
13289
  reflect: true
13191
13290
  })], M3eFabMenuElement.prototype, "variant", void 0);
13192
- M3eFabMenuElement = __decorate([t$3("m3e-fab-menu")], M3eFabMenuElement);
13291
+ M3eFabMenuElement = __decorate([customElement$1("m3e-fab-menu")], M3eFabMenuElement);
13193
13292
 
13194
13293
  /**
13195
13294
  * An element, nested within a clickable element, used to open a floating action button (FAB) menu.
@@ -13248,7 +13347,7 @@ let M3eFabMenuTriggerElement = class M3eFabMenuTriggerElement extends HtmlFor$1(
13248
13347
  }
13249
13348
  }
13250
13349
  };
13251
- M3eFabMenuTriggerElement = __decorate([t$3("m3e-fab-menu-trigger")], M3eFabMenuTriggerElement);
13350
+ M3eFabMenuTriggerElement = __decorate([customElement$1("m3e-fab-menu-trigger")], M3eFabMenuTriggerElement);
13252
13351
 
13253
13352
  /**
13254
13353
  * Adapted from Angular Material Form Field Control
@@ -13399,10 +13498,10 @@ let M3eFormFieldElement = class M3eFormFieldElement extends AttachInternals$1(Li
13399
13498
  target: null,
13400
13499
  callback: focused => {
13401
13500
  focused = focused && !(__classPrivateFieldGet(this, _M3eFormFieldElement_control, "f")?.disabled ?? true);
13402
- this.classList.toggle("-no-animate", false);
13501
+ setCustomState$1(this, "-no-animate", false);
13403
13502
  __classPrivateFieldSet(this, _M3eFormFieldElement_focused, focused, "f");
13404
13503
  if (focused) {
13405
- this.classList.toggle("-float-label", true);
13504
+ setCustomState$1(this, "-float-label", true);
13406
13505
  } else {
13407
13506
  this._invalid = !(__classPrivateFieldGet(this, _M3eFormFieldElement_control, "f")?.checkValidity?.() ?? true);
13408
13507
  this.notifyControlStateChange();
@@ -13430,7 +13529,7 @@ let M3eFormFieldElement = class M3eFormFieldElement extends AttachInternals$1(Li
13430
13529
  /** @private */
13431
13530
  _M3eFormFieldElement_pressedController.set(this, new PressedController$1(this, {
13432
13531
  target: null,
13433
- callback: pressed => this.classList.toggle("-pressed", pressed && !(__classPrivateFieldGet(this, _M3eFormFieldElement_control, "f")?.disabled ?? true))
13532
+ callback: pressed => setCustomState$1(this, "-pressed", pressed && !(__classPrivateFieldGet(this, _M3eFormFieldElement_control, "f")?.disabled ?? true))
13434
13533
  }));
13435
13534
  /** @private */
13436
13535
  _M3eFormFieldElement_focused.set(this, false);
@@ -13467,7 +13566,7 @@ let M3eFormFieldElement = class M3eFormFieldElement extends AttachInternals$1(Li
13467
13566
  */
13468
13567
  this.floatLabel = "auto";
13469
13568
  new HoverController$1(this, {
13470
- callback: () => this.classList.toggle("-no-animate", false)
13569
+ callback: () => setCustomState$1(this, "-no-animate", false)
13471
13570
  });
13472
13571
  }
13473
13572
  /** A reference to the element used to anchor dropdown menus. */
@@ -13484,16 +13583,16 @@ let M3eFormFieldElement = class M3eFormFieldElement extends AttachInternals$1(Li
13484
13583
  */
13485
13584
  notifyControlStateChange(checkValidity = false) {
13486
13585
  this._required = __classPrivateFieldGet(this, _M3eFormFieldElement_control, "f")?.required === true;
13487
- this.classList.toggle("-required", this._required);
13488
- this.classList.toggle("-disabled", __classPrivateFieldGet(this, _M3eFormFieldElement_control, "f")?.disabled === true);
13489
- this.classList.toggle("-readonly", isReadOnlyMixin$1(__classPrivateFieldGet(this, _M3eFormFieldElement_control, "f")) && __classPrivateFieldGet(this, _M3eFormFieldElement_control, "f").readOnly === true);
13586
+ setCustomState$1(this, "-required", this._required);
13587
+ setCustomState$1(this, "-disabled", __classPrivateFieldGet(this, _M3eFormFieldElement_control, "f")?.disabled === true);
13588
+ setCustomState$1(this, "-readonly", isReadOnlyMixin$1(__classPrivateFieldGet(this, _M3eFormFieldElement_control, "f")) && __classPrivateFieldGet(this, _M3eFormFieldElement_control, "f").readOnly === true);
13490
13589
  if (this.floatLabel === "auto") {
13491
- this.classList.toggle("-float-label", __classPrivateFieldGet(this, _M3eFormFieldElement_instances, "a", _M3eFormFieldElement_shouldFloatLabel_get) || __classPrivateFieldGet(this, _M3eFormFieldElement_focused, "f"));
13590
+ setCustomState$1(this, "-float-label", __classPrivateFieldGet(this, _M3eFormFieldElement_instances, "a", _M3eFormFieldElement_shouldFloatLabel_get) || __classPrivateFieldGet(this, _M3eFormFieldElement_focused, "f"));
13492
13591
  }
13493
13592
  if (checkValidity) {
13494
13593
  this._invalid = !(__classPrivateFieldGet(this, _M3eFormFieldElement_control, "f")?.checkValidity?.() ?? true);
13495
13594
  }
13496
- this.classList.toggle("-invalid", this._invalid);
13595
+ setCustomState$1(this, "-invalid", this._invalid);
13497
13596
  this._validationMessage = __classPrivateFieldGet(this, _M3eFormFieldElement_control, "f")?.validationMessage ?? "";
13498
13597
  if (!this.isUpdatePending) {
13499
13598
  this.performUpdate();
@@ -13503,7 +13602,7 @@ let M3eFormFieldElement = class M3eFormFieldElement extends AttachInternals$1(Li
13503
13602
  connectedCallback() {
13504
13603
  super.connectedCallback();
13505
13604
  // Label animations are disabled on initial paint.
13506
- this.classList.toggle("-no-animate", true);
13605
+ setCustomState$1(this, "-no-animate", true);
13507
13606
  }
13508
13607
  /** @inheritdoc */
13509
13608
  disconnectedCallback() {
@@ -13564,15 +13663,15 @@ _M3eFormFieldElement_handleLabelSlotChange = function _M3eFormFieldElement_handl
13564
13663
  const assignedElements = e.target.assignedElements({
13565
13664
  flatten: true
13566
13665
  });
13567
- this.classList.toggle("-with-label", assignedElements.length > 0);
13666
+ setCustomState$1(this, "-with-label", assignedElements.length > 0);
13568
13667
  this._pseudoLabel = assignedElements[0]?.textContent ?? "";
13569
13668
  };
13570
13669
  _M3eFormFieldElement_handlePrefixSlotChange = function _M3eFormFieldElement_handlePrefixSlotChange(e) {
13571
- this.classList.toggle("-with-prefix", hasAssignedNodes$1(e.target));
13670
+ setCustomState$1(this, "-with-prefix", hasAssignedNodes$1(e.target));
13572
13671
  __classPrivateFieldGet(this, _M3eFormFieldElement_resizeController, "f").observe(this._prefix);
13573
13672
  };
13574
13673
  _M3eFormFieldElement_handleSuffixSlotChange = function _M3eFormFieldElement_handleSuffixSlotChange(e) {
13575
- this.classList.toggle("-with-suffix", hasAssignedNodes$1(e.target));
13674
+ setCustomState$1(this, "-with-suffix", hasAssignedNodes$1(e.target));
13576
13675
  };
13577
13676
  _M3eFormFieldElement_handlePrefixResize = function _M3eFormFieldElement_handlePrefixResize() {
13578
13677
  if (this.variant === "outlined") {
@@ -13624,8 +13723,8 @@ _M3eFormFieldElement_changeControl = function _M3eFormFieldElement_changeControl
13624
13723
  } else {
13625
13724
  this._base.style.removeProperty("--_form-field-cursor");
13626
13725
  }
13627
- this.classList.toggle("-with-select", __classPrivateFieldGet(this, _M3eFormFieldElement_control, "f")?.tagName === "M3E-SELECT");
13628
- if (this.classList.contains("-with-select")) {
13726
+ setCustomState$1(this, "-with-select", __classPrivateFieldGet(this, _M3eFormFieldElement_control, "f")?.tagName === "M3E-SELECT");
13727
+ if (hasCustomState$1(this, "-with-select")) {
13629
13728
  this._base.style.setProperty("--_form-field-cursor", "pointer");
13630
13729
  }
13631
13730
  if (__classPrivateFieldGet(this, _M3eFormFieldElement_control, "f")) {
@@ -13677,18 +13776,18 @@ _M3eFormFieldElement_handleErrorChange = function _M3eFormFieldElement_handleErr
13677
13776
  }
13678
13777
  };
13679
13778
  (() => {
13680
- if (document) {
13779
+ if (typeof window !== "undefined") {
13681
13780
  const lightDomStyle = new CSSStyleSheet();
13682
- lightDomStyle.replaceSync(css`m3e-form-field input::placeholder, m3e-form-field textarea::placeholder { user-select: none; color: currentColor; transition: opacity ${DesignToken$1.motion.duration.extraLong1}; } m3e-form-field[float-label="auto"]:not(.-float-label).-with-label input::placeholder, m3e-form-field[float-label="auto"]:not(.-float-label).-with-label textarea::placeholder { opacity: 0; transition: opacity 0s; } m3e-form-field[variant="outlined"] m3e-input-chip-set { margin-block: calc(calc(3.5rem + ${DesignToken$1.density.calc(-2)}) / 4); } @media (prefers-reduced-motion) { m3e-form-field input::placeholder, m3e-form-field textarea::placeholder { transition: none !important; } }`.toString());
13781
+ lightDomStyle.replaceSync(css`m3e-form-field input::placeholder, m3e-form-field textarea::placeholder { user-select: none; color: currentColor; transition: opacity ${DesignToken$1.motion.duration.extraLong1}; } m3e-form-field[float-label="auto"]:not(:state(-float-label)):state(-with-label) input::placeholder, m3e-form-field[float-label="auto"]:not(:state(-float-label)):state(-with-label) textarea::placeholder { opacity: 0; transition: opacity 0s; } m3e-form-field[variant="outlined"] m3e-input-chip-set { margin-block: calc(calc(3.5rem + ${DesignToken$1.density.calc(-2)}) / 4); } @media (prefers-reduced-motion) { m3e-form-field input::placeholder, m3e-form-field textarea::placeholder { transition: none !important; } }`.toString());
13683
13782
  document.adoptedStyleSheets = [...document.adoptedStyleSheets, lightDomStyle];
13684
13783
  }
13685
13784
  })();
13686
13785
  /** The styles of the element. */
13687
- M3eFormFieldElement.styles = css`:host { display: inline-flex; flex-direction: column; vertical-align: middle; font-size: var(--m3e-form-field-font-size, ${DesignToken$1.typescale.standard.body.large.fontSize}); font-weight: var(--m3e-form-field-font-weight, ${DesignToken$1.typescale.standard.body.large.fontWeight}); line-height: var(--m3e-form-field-line-height, ${DesignToken$1.typescale.standard.body.large.lineHeight}); letter-spacing: var(--m3e-form-field-tracking, ${DesignToken$1.typescale.standard.body.large.tracking}); width: var(--m3e-form-field-width, 14.5rem); color: var(--_form-field-color); } :host(:not(.-disabled)) .base { cursor: var(--_form-field-cursor); } .base { display: flex; align-items: center; position: relative; min-height: calc(3.5rem + ${DesignToken$1.density.calc(-2)}); --_form-field-label-font-size: var( --m3e-form-field-label-font-size, ${DesignToken$1.typescale.standard.body.small.fontSize} ); --_form-field-label-line-height: var( --m3e-form-field-label-line-height, ${DesignToken$1.typescale.standard.body.small.lineHeight} ); } .content { display: flex; align-items: center; position: relative; flex: 1 1 auto; min-width: 0; min-height: var(--m3e-form-field-icon-size, 1.5rem); } .prefix, .suffix { display: flex; align-items: center; position: relative; user-select: none; flex: none; font-size: var(--m3e-form-field-icon-size, 1.5rem); } .prefix-text, .suffix-text { opacity: 1; transition: opacity ${DesignToken$1.motion.duration.extraLong1}; user-select: none; flex: none; } .input { display: inline-flex; flex-wrap: wrap; flex: 1 1 auto; min-width: 0; } .label { display: flex; position: absolute; pointer-events: none; user-select: none; top: 0; left: 0; right: 0; font-size: var(--m3e-form-field-label-font-size, ${DesignToken$1.typescale.standard.body.small.fontSize}); font-weight: var(--m3e-form-field-label-font-weight, ${DesignToken$1.typescale.standard.body.small.fontWeight}); line-height: var(--m3e-form-field-label-line-height, ${DesignToken$1.typescale.standard.body.small.lineHeight}); letter-spacing: var(--m3e-form-field-label-tracking, ${DesignToken$1.typescale.standard.body.small.tracking}); color: var(--_form-field-label-color, inherit); transition: ${unsafeCSS(`top ${DesignToken$1.motion.duration.short4},
13786
+ M3eFormFieldElement.styles = css`:host { display: inline-flex; flex-direction: column; vertical-align: middle; font-size: var(--m3e-form-field-font-size, ${DesignToken$1.typescale.standard.body.large.fontSize}); font-weight: var(--m3e-form-field-font-weight, ${DesignToken$1.typescale.standard.body.large.fontWeight}); line-height: var(--m3e-form-field-line-height, ${DesignToken$1.typescale.standard.body.large.lineHeight}); letter-spacing: var(--m3e-form-field-tracking, ${DesignToken$1.typescale.standard.body.large.tracking}); width: var(--m3e-form-field-width, 14.5rem); color: var(--_form-field-color); } :host(:not(:state(-disabled))) .base { cursor: var(--_form-field-cursor); } .base { display: flex; align-items: center; position: relative; min-height: calc(3.5rem + ${DesignToken$1.density.calc(-2)}); --_form-field-label-font-size: var( --m3e-form-field-label-font-size, ${DesignToken$1.typescale.standard.body.small.fontSize} ); --_form-field-label-line-height: var( --m3e-form-field-label-line-height, ${DesignToken$1.typescale.standard.body.small.lineHeight} ); } .content { display: flex; align-items: center; position: relative; flex: 1 1 auto; min-width: 0; min-height: var(--m3e-form-field-icon-size, 1.5rem); } .prefix, .suffix { display: flex; align-items: center; position: relative; user-select: none; flex: none; font-size: var(--m3e-form-field-icon-size, 1.5rem); } .prefix-text, .suffix-text { opacity: 1; transition: opacity ${DesignToken$1.motion.duration.extraLong1}; user-select: none; flex: none; } .input { display: inline-flex; flex-wrap: wrap; flex: 1 1 auto; min-width: 0; } .label { display: flex; position: absolute; pointer-events: none; user-select: none; top: 0; left: 0; right: 0; font-size: var(--m3e-form-field-label-font-size, ${DesignToken$1.typescale.standard.body.small.fontSize}); font-weight: var(--m3e-form-field-label-font-weight, ${DesignToken$1.typescale.standard.body.small.fontWeight}); line-height: var(--m3e-form-field-label-line-height, ${DesignToken$1.typescale.standard.body.small.lineHeight}); letter-spacing: var(--m3e-form-field-label-tracking, ${DesignToken$1.typescale.standard.body.small.tracking}); color: var(--_form-field-label-color, inherit); transition: ${unsafeCSS(`top ${DesignToken$1.motion.duration.short4},
13688
13787
  font-size ${DesignToken$1.motion.duration.short4},
13689
- line-height ${DesignToken$1.motion.duration.short4}`)}; } :host(.-with-select) .label { margin-inline-end: 1.5rem; } ::slotted([slot="label"]) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .subscript { display: inline-flex; width: 100%; margin-top: 0.25rem; font-size: var(--m3e-form-field-subscript-font-size, ${DesignToken$1.typescale.standard.body.small.fontSize}); font-weight: var(--m3e-form-field-subscript-font-weight, ${DesignToken$1.typescale.standard.body.small.fontWeight}); line-height: var(--m3e-form-field-subscript-line-height, ${DesignToken$1.typescale.standard.body.small.lineHeight}); letter-spacing: var(--m3e-form-field-subscript-tracking, ${DesignToken$1.typescale.standard.body.small.tracking}); min-height: var(--m3e-form-field-subscript-line-height, ${DesignToken$1.typescale.standard.body.small.lineHeight}); color: var(--m3e-form-field-subscript-color, ${DesignToken$1.color.onSurfaceVariant}); } .error, .hint { flex: 1 1 auto; } :host([hide-subscript="always"]) .subscript { display: none; } :host([hide-subscript="auto"]:not(.-invalid)) .subscript { opacity: 0; margin-top: 0px; margin-bottom: 0.25rem; transition: ${unsafeCSS(`opacity ${DesignToken$1.motion.duration.short4},
13788
+ line-height ${DesignToken$1.motion.duration.short4}`)}; } :host(:state(-with-select)) .label { margin-inline-end: 1.5rem; } ::slotted([slot="label"]) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .subscript { display: inline-flex; width: 100%; margin-top: 0.25rem; font-size: var(--m3e-form-field-subscript-font-size, ${DesignToken$1.typescale.standard.body.small.fontSize}); font-weight: var(--m3e-form-field-subscript-font-weight, ${DesignToken$1.typescale.standard.body.small.fontWeight}); line-height: var(--m3e-form-field-subscript-line-height, ${DesignToken$1.typescale.standard.body.small.lineHeight}); letter-spacing: var(--m3e-form-field-subscript-tracking, ${DesignToken$1.typescale.standard.body.small.tracking}); min-height: var(--m3e-form-field-subscript-line-height, ${DesignToken$1.typescale.standard.body.small.lineHeight}); color: var(--m3e-form-field-subscript-color, ${DesignToken$1.color.onSurfaceVariant}); } .error, .hint { flex: 1 1 auto; } :host([hide-subscript="always"]) .subscript { display: none; } :host([hide-subscript="auto"]:not(:state(-invalid))) .subscript { opacity: 0; margin-top: 0px; margin-bottom: 0.25rem; transition: ${unsafeCSS(`opacity ${DesignToken$1.motion.duration.short4},
13690
13789
  margin-top ${DesignToken$1.motion.duration.short4},
13691
- margin-bottom ${DesignToken$1.motion.duration.short4}`)}; } :host([hide-subscript="auto"]:not(.-invalid):focus-within) .subscript, :host([hide-subscript="auto"]:not(.-invalid).-pressed) .subscript { opacity: 1; margin-top: 0.25rem; margin-bottom: 0; } :host(.-invalid) .hint { display: none; } :host(:not(.-invalid)) .error { display: none; } ::slotted(input), ::slotted(textarea), ::slotted(select) { outline: unset; border: unset; background-color: transparent; box-shadow: none; font-family: inherit; font-size: inherit; line-height: initial; letter-spacing: inherit; color: var(--_form-field-input-color, inherit); flex: 1 1 auto; min-width: 0; padding: unset; } ::slotted(textarea) { scrollbar-width: ${DesignToken$1.scrollbar.thinWidth}; scrollbar-color: ${DesignToken$1.scrollbar.color}; } ::slotted(m3e-select), ::slotted(m3e-input-chip-set) { flex: 1 1 auto; min-width: 0; } :host([float-label="auto"]:not(.-float-label):not(.-pressed)) .label { font-size: inherit; } :host([float-label="auto"]:not(.-float-label).-with-label) .prefix-text, :host([float-label="auto"]:not(.-float-label).-with-label) .suffix-text { opacity: 0; transition: opacity 0s; } .prefix { margin-inline-start: 1rem; } :host(.-with-prefix) .prefix { margin-inline-end: 1rem; margin-inline-start: 0.75rem; } .suffix { margin-inline-end: 1rem; } :host(.-with-suffix) .suffix { margin-inline-start: 0.25rem; margin-inline-end: 0.5rem; } :host(.-with-suffix.-with-select) .suffix { margin-inline-start: unset; } :host(.-with-select) .suffix-text { display: none; } :host([variant="outlined"]) .label { margin-top: calc(0px - var(--_form-field-label-line-height) / 2); } :host([variant="outlined"]) .outline { position: absolute; display: flex; pointer-events: none; left: 0; top: 0; bottom: 0; right: 0; } :host([variant="outlined"]) .pseudo-label { visibility: hidden; margin-inline-end: 0.5rem; font-size: var(--_form-field-label-font-size); line-height: var(--_form-field-label-line-height); letter-spacing: var(--_form-field-label-tracking); max-width: 100%; transition-property: max-width, margin-inline-end; transition-duration: 1ms; } :host([variant="outlined"].-required:not([hide-required-marker])) .pseudo-label { margin-inline-end: 0.25rem; } :host([variant="outlined"][float-label="auto"]:not(.-float-label):not(.-pressed)) .pseudo-label { max-width: 0; margin-inline-end: 0px; transition-delay: ${DesignToken$1.motion.duration.short2}; } :host([variant="outlined"]) .outline-start, :host([variant="outlined"]) .outline-notch, :host([variant="outlined"]) .outline-end { box-sizing: border-box; border-width: var(--_form-field-outline-size, 1px); border-color: var(--_form-field-outline-color); transition: border-color ${DesignToken$1.motion.duration.short4}; } :host([variant="outlined"]:not(.-with-label)) .outline-notch { display: none; } :host([variant="outlined"]) .outline-start { min-width: 0.75rem; border-top-style: solid; border-inline-start-style: solid; border-bottom-style: solid; border-start-start-radius: var(--m3e-outlined-form-field-container-shape, ${DesignToken$1.shape.corner.extraSmall}); border-end-start-radius: var(--m3e-outlined-form-field-container-shape, ${DesignToken$1.shape.corner.extraSmall}); } :host([variant="outlined"]) .outline-notch { border-bottom-style: solid; } :host([variant="outlined"]) .outline-end { flex-grow: 1; min-width: 1rem; border-top-style: solid; border-inline-end-style: solid; border-bottom-style: solid; border-start-end-radius: var(--m3e-outlined-form-field-container-shape, ${DesignToken$1.shape.corner.extraSmall}); border-end-end-radius: var(--m3e-outlined-form-field-container-shape, ${DesignToken$1.shape.corner.extraSmall}); } :host([variant="outlined"].-with-prefix) .outline-start { min-width: calc(1.25rem + var(--_prefix-width, 0px) + 0.25rem); } :host([variant="outlined"]:not(.-disabled)) .base:hover .outline, :host([variant="outlined"]:not(.-disabled):focus-within) .outline, :host([variant="outlined"]:not(.-disabled).-pressed) .outline { --_form-field-outline-size: 2px; } :host([variant="outlined"]) .subscript { margin-inline: 1rem; width: calc(100% - 2rem); } :host([variant="outlined"]) .content { min-height: calc(3.5rem + ${DesignToken$1.density.calc(-2)}); --_form-field-label-font-size: var( --m3e-form-field-label-font-size, ${DesignToken$1.typescale.standard.body.small.fontSize} ); } :host([variant="outlined"][float-label="auto"]:not(.-float-label):not(.-pressed)) .label { margin-top: unset; line-height: calc(3.5rem + ${DesignToken$1.density.calc(-2)}); --_form-field-label-font-size: var( --m3e-form-field-label-font-size, ${DesignToken$1.typescale.standard.body.small.fontSize} ); } :host([variant="filled"]) .base { --_select-arrow-margin-top: calc( 0px - calc(1rem / max(calc(0 - calc(var(--md-sys-density-scale, 0) + var(--md-sys-density-scale, 0))), 1)) ); } :host([variant="filled"]) .base::before { content: ""; box-sizing: border-box; position: absolute; pointer-events: none; top: 0; left: 0; right: 0; bottom: 0; border-bottom-style: solid; border-width: 1px; border-radius: var(--m3e-form-field-container-shape, ${DesignToken$1.shape.corner.extraSmallTop}); border-color: var(--_form-field-outline-color); background-color: var(--_form-field-container-color); } :host([variant="filled"]:not(.-disabled)) .base:hover::before, :host([variant="filled"]:not(.-disabled):focus-within) .base::before, :host([variant="filled"]:not(.-disabled).-pressed) .base::before { border-width: 3px; } :host([variant="filled"]) .base::after { content: ""; box-sizing: border-box; position: absolute; pointer-events: none; top: 0; left: 0; right: 0; bottom: 0; background-color: var(--_form-field-hover-container-color); transition: background-color ${DesignToken$1.motion.duration.short4}; } :host([variant="filled"]) .subscript { margin-inline: 1rem; width: calc(100% - 2rem); } :host([variant="filled"]) .content { padding-top: calc(1.5rem + ${DesignToken$1.density.calc(-2)}); margin-bottom: 0.5rem; } :host([variant="filled"]) .label { top: calc(0.5rem + ${DesignToken$1.density.calc(-2)}); } :host([variant="filled"][float-label="auto"]:not(.-float-label):not(.-pressed)) .label { top: 0px; line-height: calc(3.5rem + ${DesignToken$1.density.calc(-2)} - 0.0625rem); --_form-field-label-font-size: var( --m3e-form-field-label-font-size, ${DesignToken$1.typescale.standard.body.small.fontSize} ); } :host(:not(.-disabled):not(:focus-within):not(.-pressed)) .base:hover { --_form-field-hover-container-color: color-mix( in srgb, var(--m3e-form-field-hover-container-color, ${DesignToken$1.color.onSurface}) var(--m3e-form-field-hover-container-opacity, 8%), transparent ); } :host(:not(.-disabled):not(.-invalid)) { color: var(--m3e-form-field-color, ${DesignToken$1.color.onSurface}); } :host([variant="outlined"]:not(.-disabled):not(.-invalid)) .base { --_form-field-outline-color: var(--m3e-form-field-outline-color, ${DesignToken$1.color.outline}); } :host([variant="filled"]:not(.-disabled):not(.-invalid)) .base { --_form-field-outline-color: var(--m3e-form-field-outline-color, ${DesignToken$1.color.onSurfaceVariant}); } :host([variant="outlined"]:not(.-disabled):not(.-invalid):focus-within) .base, :host([variant="outlined"]:not(.-disabled):not(.-invalid).-pressed) .base, :host([variant="filled"]:not(.-disabled):not(.-invalid):focus-within) .base, :host([variant="filled"]:not(.-disabled):not(.-invalid).-pressed) .base { --_form-field-outline-color: var(--m3e-form-field-focused-outline-color, ${DesignToken$1.color.primary}); --_form-field-label-color: var(--m3e-form-field-focused-color, ${DesignToken$1.color.primary}); } :host(:not(.-disabled)) .base { --_form-field-container-color: var( --m3e-form-field-container-color, ${DesignToken$1.color.surfaceContainerHighest} ); } :host(:not(.-disabled).-invalid) .base { --_form-field-label-color: var(--m3e-form-field-invalid-color, ${DesignToken$1.color.error}); --_form-field-outline-color: var(--m3e-form-field-invalid-color, ${DesignToken$1.color.error}); } :host(:not(.-disabled).-invalid) .subscript { color: var(--m3e-form-field-invalid-color, ${DesignToken$1.color.error}); } :host(.-disabled) { color: color-mix( in srgb, var(--m3e-form-field-disabled-color, ${DesignToken$1.color.onSurface}) var(--m3e-form-field-disabled-opacity, 38%), transparent ); } :host(.-disabled) .base { --_form-field-container-color: color-mix( in srgb, var(--m3e-form-field-disabled-container-color, ${DesignToken$1.color.onSurface}) var(--m3e-form-field-disabled-container-opacity, 4%), transparent ); } :host(.-no-animate) *, :host(.-no-animate) *::before, :host(.-no-animate) *::after { transition: none !important; } @media (forced-colors: active) { :host([variant="filled"]) .base::after { transition: none; } :host { --_form-field-outline-color: CanvasText; } :host(.-disabled) { --_form-field-input-color: GrayText; --_form-field-color: GrayText; --_form-field-label-color: GrayText; --_form-field-outline-color: GrayText; } } @media (prefers-reduced-motion) { .base::before, .prefix-text, .suffix-text, .label, .subscript, .outline-start, .outline-notch, .outline-end, .pseudo-label { transition: none !important; } }`;
13790
+ margin-bottom ${DesignToken$1.motion.duration.short4}`)}; } :host([hide-subscript="auto"]:not(:state(-invalid)):focus-within) .subscript, :host([hide-subscript="auto"]:not(:state(-invalid)):state(-pressed)) .subscript { opacity: 1; margin-top: 0.25rem; margin-bottom: 0; } :host(:state(-invalid)) .hint { display: none; } :host(:not(:state(-invalid))) .error { display: none; } ::slotted(input), ::slotted(textarea), ::slotted(select) { outline: unset; border: unset; background-color: transparent; box-shadow: none; font-family: inherit; font-size: inherit; line-height: inherit; letter-spacing: inherit; color: var(--_form-field-input-color, inherit); flex: 1 1 auto; min-width: 0; padding: unset; } ::slotted(textarea) { scrollbar-width: ${DesignToken$1.scrollbar.thinWidth}; scrollbar-color: ${DesignToken$1.scrollbar.color}; } ::slotted(m3e-select), ::slotted(m3e-input-chip-set) { flex: 1 1 auto; min-width: 0; } :host([float-label="auto"]:not(:state(-float-label)):not(:state(-pressed))) .label { font-size: inherit; } :host([float-label="auto"]:not(:state(-float-label)):state(-with-label)) .prefix-text, :host([float-label="auto"]:not(:state(-float-label)):state(-with-label)) .suffix-text { opacity: 0; transition: opacity 0s; } .prefix { margin-inline-start: 1rem; } :host(:state(-with-prefix)) .prefix { margin-inline-end: 1rem; margin-inline-start: 0.75rem; } .suffix { margin-inline-end: 1rem; } :host(:state(-with-suffix)) .suffix { margin-inline-start: 0.25rem; margin-inline-end: 0.5rem; } :host(:state(-with-suffix):state(-with-select)) .suffix { margin-inline-start: unset; } :host(:state(-with-select)) .suffix-text { display: none; } :host([variant="outlined"]) .label { margin-top: calc(0px - var(--_form-field-label-line-height) / 2); } :host([variant="outlined"]) .outline { position: absolute; display: flex; pointer-events: none; left: 0; top: 0; bottom: 0; right: 0; } :host([variant="outlined"]) .pseudo-label { visibility: hidden; margin-inline-end: 0.5rem; font-size: var(--_form-field-label-font-size); line-height: var(--_form-field-label-line-height); letter-spacing: var(--_form-field-label-tracking); max-width: 100%; transition-property: max-width, margin-inline-end; transition-duration: 1ms; } :host([variant="outlined"]:state(-required):not([hide-required-marker])) .pseudo-label { margin-inline-end: 0.25rem; } :host([variant="outlined"][float-label="auto"]:not(:state(-float-label)):not(:state(-pressed))) .pseudo-label { max-width: 0; margin-inline-end: 0px; transition-delay: ${DesignToken$1.motion.duration.short2}; } :host([variant="outlined"]) .outline-start, :host([variant="outlined"]) .outline-notch, :host([variant="outlined"]) .outline-end { box-sizing: border-box; border-width: var(--_form-field-outline-size, 1px); border-color: var(--_form-field-outline-color); transition: border-color ${DesignToken$1.motion.duration.short4}; } :host([variant="outlined"]:not(:state(-with-label))) .outline-notch { display: none; } :host([variant="outlined"]) .outline-start { min-width: 0.75rem; border-top-style: solid; border-inline-start-style: solid; border-bottom-style: solid; border-start-start-radius: var(--m3e-outlined-form-field-container-shape, ${DesignToken$1.shape.corner.extraSmall}); border-end-start-radius: var(--m3e-outlined-form-field-container-shape, ${DesignToken$1.shape.corner.extraSmall}); } :host([variant="outlined"]) .outline-notch { border-bottom-style: solid; } :host([variant="outlined"]) .outline-end { flex-grow: 1; min-width: 1rem; border-top-style: solid; border-inline-end-style: solid; border-bottom-style: solid; border-start-end-radius: var(--m3e-outlined-form-field-container-shape, ${DesignToken$1.shape.corner.extraSmall}); border-end-end-radius: var(--m3e-outlined-form-field-container-shape, ${DesignToken$1.shape.corner.extraSmall}); } :host([variant="outlined"]:state(-with-prefix)) .outline-start { min-width: calc(1.25rem + var(--_prefix-width, 0px) + 0.25rem); } :host([variant="outlined"]:not(:state(-disabled))) .base:hover .outline, :host([variant="outlined"]:not(:state(-disabled)):focus-within) .outline, :host([variant="outlined"]:not(:state(-disabled)):state(-pressed)) .outline { --_form-field-outline-size: 2px; } :host([variant="outlined"]) .subscript { margin-inline: 1rem; width: calc(100% - 2rem); } :host([variant="outlined"]) .content { min-height: calc(3.5rem + ${DesignToken$1.density.calc(-2)}); --_form-field-label-font-size: var( --m3e-form-field-label-font-size, ${DesignToken$1.typescale.standard.body.small.fontSize} ); } :host([variant="outlined"][float-label="auto"]:not(:state(-float-label)):not(:state(-pressed))) .label { margin-top: unset; line-height: calc(3.5rem + ${DesignToken$1.density.calc(-2)}); --_form-field-label-font-size: var( --m3e-form-field-label-font-size, ${DesignToken$1.typescale.standard.body.small.fontSize} ); } :host([variant="filled"]) .base { --_select-arrow-margin-top: calc( 0px - calc(1rem / max(calc(0 - calc(var(--md-sys-density-scale, 0) + var(--md-sys-density-scale, 0))), 1)) ); } :host([variant="filled"]) .base::before { content: ""; box-sizing: border-box; position: absolute; pointer-events: none; top: 0; left: 0; right: 0; bottom: 0; border-bottom-style: solid; border-width: 1px; border-radius: var(--m3e-form-field-container-shape, ${DesignToken$1.shape.corner.extraSmallTop}); border-color: var(--_form-field-outline-color); background-color: var(--_form-field-container-color); } :host([variant="filled"]:not(:state(-disabled))) .base:hover::before, :host([variant="filled"]:not(:state(-disabled)):focus-within) .base::before, :host([variant="filled"]:not(:state(-disabled)):state(-pressed)) .base::before { border-width: 3px; } :host([variant="filled"]) .base::after { content: ""; box-sizing: border-box; position: absolute; pointer-events: none; top: 0; left: 0; right: 0; bottom: 0; background-color: var(--_form-field-hover-container-color); transition: background-color ${DesignToken$1.motion.duration.short4}; } :host([variant="filled"]) .subscript { margin-inline: 1rem; width: calc(100% - 2rem); } :host([variant="filled"]) .content { padding-top: calc(1.5rem + ${DesignToken$1.density.calc(-2)}); margin-bottom: 0.5rem; } :host([variant="filled"]) .label { top: calc(0.5rem + ${DesignToken$1.density.calc(-2)}); } :host([variant="filled"][float-label="auto"]:not(:state(-float-label)):not(:state(-pressed))) .label { top: 0px; line-height: calc(3.5rem + ${DesignToken$1.density.calc(-2)} - 0.0625rem); --_form-field-label-font-size: var( --m3e-form-field-label-font-size, ${DesignToken$1.typescale.standard.body.small.fontSize} ); } :host(:not(:state(-disabled)):not(:focus-within):not(:state(-pressed))) .base:hover { --_form-field-hover-container-color: color-mix( in srgb, var(--m3e-form-field-hover-container-color, ${DesignToken$1.color.onSurface}) var(--m3e-form-field-hover-container-opacity, 8%), transparent ); } :host(:not(:state(-disabled)):not(:state(-invalid))) { color: var(--m3e-form-field-color, ${DesignToken$1.color.onSurface}); } :host([variant="outlined"]:not(:state(-disabled)):not(:state(-invalid))) .base { --_form-field-outline-color: var(--m3e-form-field-outline-color, ${DesignToken$1.color.outline}); } :host([variant="filled"]:not(:state(-disabled)):not(:state(-invalid))) .base { --_form-field-outline-color: var(--m3e-form-field-outline-color, ${DesignToken$1.color.onSurfaceVariant}); } :host([variant="outlined"]:not(:state(-disabled)):not(:state(-invalid)):focus-within) .base, :host([variant="outlined"]:not(:state(-disabled)):not(:state(-invalid)):state(-pressed)) .base, :host([variant="filled"]:not(:state(-disabled)):not(:state(-invalid)):focus-within) .base, :host([variant="filled"]:not(:state(-disabled)):not(:state(-invalid)):state(-pressed)) .base { --_form-field-outline-color: var(--m3e-form-field-focused-outline-color, ${DesignToken$1.color.primary}); --_form-field-label-color: var(--m3e-form-field-focused-color, ${DesignToken$1.color.primary}); } :host(:not(:state(-disabled))) .base { --_form-field-container-color: var( --m3e-form-field-container-color, ${DesignToken$1.color.surfaceContainerHighest} ); } :host(:not(:state(-disabled)):state(-invalid)) .base { --_form-field-label-color: var(--m3e-form-field-invalid-color, ${DesignToken$1.color.error}); --_form-field-outline-color: var(--m3e-form-field-invalid-color, ${DesignToken$1.color.error}); } :host(:not(:state(-disabled)):state(-invalid)) .subscript { color: var(--m3e-form-field-invalid-color, ${DesignToken$1.color.error}); } :host(:state(-disabled)) { color: color-mix( in srgb, var(--m3e-form-field-disabled-color, ${DesignToken$1.color.onSurface}) var(--m3e-form-field-disabled-opacity, 38%), transparent ); } :host(:state(-disabled)) .base { --_form-field-container-color: color-mix( in srgb, var(--m3e-form-field-disabled-container-color, ${DesignToken$1.color.onSurface}) var(--m3e-form-field-disabled-container-opacity, 4%), transparent ); } :host(:state(-no-animate)) *, :host(:state(-no-animate)) *::before, :host(:state(-no-animate)) *::after { transition: none !important; } @media (forced-colors: active) { :host([variant="filled"]) .base::after { transition: none; } :host { --_form-field-outline-color: CanvasText; } :host(:state(-disabled)) { --_form-field-input-color: GrayText; --_form-field-color: GrayText; --_form-field-label-color: GrayText; --_form-field-outline-color: GrayText; } } @media (prefers-reduced-motion) { .base::before, .prefix-text, .suffix-text, .label, .subscript, .outline-start, .outline-notch, .outline-end, .pseudo-label { transition: none !important; } }`;
13692
13791
  __decorate([e$4(".base")], M3eFormFieldElement.prototype, "_base", void 0);
13693
13792
  __decorate([e$4(".prefix")], M3eFormFieldElement.prototype, "_prefix", void 0);
13694
13793
  __decorate([e$4(".error")], M3eFormFieldElement.prototype, "_error", void 0);
@@ -13713,7 +13812,7 @@ __decorate([n$1({
13713
13812
  attribute: "float-label",
13714
13813
  reflect: true
13715
13814
  })], M3eFormFieldElement.prototype, "floatLabel", void 0);
13716
- M3eFormFieldElement = __decorate([t$3("m3e-form-field")], M3eFormFieldElement);
13815
+ M3eFormFieldElement = __decorate([customElement$1("m3e-form-field")], M3eFormFieldElement);
13717
13816
 
13718
13817
  /**
13719
13818
  * A heading to a page or section.
@@ -13900,7 +13999,7 @@ __decorate([n$1({
13900
13999
  __decorate([n$1({
13901
14000
  type: Number
13902
14001
  })], M3eHeadingElement.prototype, "level", void 0);
13903
- M3eHeadingElement = __decorate([t$3("m3e-heading")], M3eHeadingElement);
14002
+ M3eHeadingElement = __decorate([customElement$1("m3e-heading")], M3eHeadingElement);
13904
14003
 
13905
14004
  /**
13906
14005
  * A small symbol used to easily identify an action or category.
@@ -14014,7 +14113,7 @@ __decorate([n$1({
14014
14113
  attribute: "optical-size",
14015
14114
  type: Number
14016
14115
  })], M3eIconElement.prototype, "opticalSize", void 0);
14017
- M3eIconElement = __decorate([t$3("m3e-icon")], M3eIconElement);
14116
+ M3eIconElement = __decorate([customElement$1("m3e-icon")], M3eIconElement);
14018
14117
 
14019
14118
  /**
14020
14119
  * Component design tokens that control the `M3eIconButtonElement` for all size variants.
@@ -14110,7 +14209,7 @@ const IconButtonSizeToken = {
14110
14209
 
14111
14210
  /** @private */
14112
14211
  function iconButtonStyle(size) {
14113
- return css`:host([size="${unsafeCSS(size)}"]) .base { height: ${IconButtonSizeToken[size].containerHeight}; } :host([size="${unsafeCSS(size)}"][width="default"]) .wrapper { padding-inline-start: ${IconButtonSizeToken[size].defaultLeadingSpace}; padding-inline-end: ${IconButtonSizeToken[size].defaultTrailingSpace}; } :host([size="${unsafeCSS(size)}"][width="narrow"]) .wrapper { padding-inline-start: ${IconButtonSizeToken[size].narrowLeadingSpace}; padding-inline-end: ${IconButtonSizeToken[size].narrowTrailingSpace}; } :host([size="${unsafeCSS(size)}"][width="wide"]) .wrapper { padding-inline-start: ${IconButtonSizeToken[size].wideLeadingSpace}; padding-inline-end: ${IconButtonSizeToken[size].wideTrailingSpace}; } :host([size="${unsafeCSS(size)}"]) .icon { font-size: ${IconButtonSizeToken[size].iconSize}; } :host([size="${unsafeCSS(size)}"]) .base { outline-offset: calc(0px - ${IconButtonSizeToken[size].outlineThickness}); outline-width: ${IconButtonSizeToken[size].outlineThickness}; } :host(:not(.-connected)[size="${unsafeCSS(size)}"][shape="rounded"]:not(.-pressed)) .base { border-radius: var(--_button-shape, ${IconButtonSizeToken[size].shapeRound}); } :host(:not(.-connected)[size="${unsafeCSS(size)}"][shape="square"]) .base { border-radius: ${IconButtonSizeToken[size].shapeSquare}; } :host(:not(.-connected)[size="${unsafeCSS(size)}"][shape="rounded"][toggle][selected]:not(.-pressed)) .base { border-radius: ${IconButtonSizeToken[size].selectedShapeRound}; } :host(:not(.-connected)[size="${unsafeCSS(size)}"][shape="square"][toggle][selected]:not(.-pressed)) .base { border-radius: var(--_button-shape, ${IconButtonSizeToken[size].selectedShapeSquare}); } :host(:not(.-connected)[size="${unsafeCSS(size)}"].-pressed) .base { border-radius: ${IconButtonSizeToken[size].shapePressedMorph}; } :host(.-connected[size="${unsafeCSS(size)}"][shape="rounded"]) .base { border-start-start-radius: var( --_button-rounded-start-shape, var(--_button-shape, ${IconButtonSizeToken[size].shapeRound}) ); border-end-start-radius: var( --_button-rounded-start-shape, var(--_button-shape, ${IconButtonSizeToken[size].shapeRound}) ); border-start-end-radius: var( --_button-rounded-end-shape, var(--_button-shape, ${IconButtonSizeToken[size].shapeRound}) ); border-end-end-radius: var( --_button-rounded-end-shape, var(--_button-shape, ${IconButtonSizeToken[size].shapeRound}) ); } :host(.-connected[size="${unsafeCSS(size)}"][shape="square"]) .base { border-start-start-radius: var(--_button-square-start-shape, ${IconButtonSizeToken[size].shapeSquare}); border-end-start-radius: var(--_button-square-start-shape, ${IconButtonSizeToken[size].shapeSquare}); border-start-end-radius: var(--_button-square-end-shape, ${IconButtonSizeToken[size].shapeSquare}); border-end-end-radius: var(--_button-square-end-shape, ${IconButtonSizeToken[size].shapeSquare}); } :host(.-connected[size="${unsafeCSS(size)}"][shape="square"][toggle][selected]:not(.-pressed)) .base { border-radius: var(--_button-shape, ${IconButtonSizeToken[size].selectedShapeSquare}); } :host(.-connected[size="${unsafeCSS(size)}"].-pressed) .base { border-start-start-radius: var( --_button-start-shape-pressed-morph, ${IconButtonSizeToken[size].shapePressedMorph} ); border-end-start-radius: var(--_button-start-shape-pressed-morph, ${IconButtonSizeToken[size].shapePressedMorph}); border-start-end-radius: var(--_button-end-shape-pressed-morph, ${IconButtonSizeToken[size].shapePressedMorph}); border-end-end-radius: var(--_button-end-shape-pressed-morph, ${IconButtonSizeToken[size].shapePressedMorph}); }`;
14212
+ return css`:host([size="${unsafeCSS(size)}"]) .base { height: ${IconButtonSizeToken[size].containerHeight}; } :host([size="${unsafeCSS(size)}"][width="default"]) .wrapper { padding-inline-start: ${IconButtonSizeToken[size].defaultLeadingSpace}; padding-inline-end: ${IconButtonSizeToken[size].defaultTrailingSpace}; } :host([size="${unsafeCSS(size)}"][width="narrow"]) .wrapper { padding-inline-start: ${IconButtonSizeToken[size].narrowLeadingSpace}; padding-inline-end: ${IconButtonSizeToken[size].narrowTrailingSpace}; } :host([size="${unsafeCSS(size)}"][width="wide"]) .wrapper { padding-inline-start: ${IconButtonSizeToken[size].wideLeadingSpace}; padding-inline-end: ${IconButtonSizeToken[size].wideTrailingSpace}; } :host([size="${unsafeCSS(size)}"]) .icon { font-size: ${IconButtonSizeToken[size].iconSize}; } :host([size="${unsafeCSS(size)}"]) .base { outline-offset: calc(0px - ${IconButtonSizeToken[size].outlineThickness}); outline-width: ${IconButtonSizeToken[size].outlineThickness}; } :host(:not(:state(-connected))[size="${unsafeCSS(size)}"][shape="rounded"]:not(:state(-pressed))) .base { border-radius: var(--_button-shape, ${IconButtonSizeToken[size].shapeRound}); } :host(:not(:state(-connected))[size="${unsafeCSS(size)}"][shape="square"]) .base { border-radius: ${IconButtonSizeToken[size].shapeSquare}; } :host(:not(:state(-connected))[size="${unsafeCSS(size)}"][shape="rounded"][toggle][selected]:not(:state(-pressed))) .base { border-radius: ${IconButtonSizeToken[size].selectedShapeRound}; } :host(:not(:state(-connected))[size="${unsafeCSS(size)}"][shape="square"][toggle][selected]:not(:state(-pressed))) .base { border-radius: var(--_button-shape, ${IconButtonSizeToken[size].selectedShapeSquare}); } :host(:not(:state(-connected))[size="${unsafeCSS(size)}"]:state(-pressed)) .base { border-radius: ${IconButtonSizeToken[size].shapePressedMorph}; } :host(:state(-connected)[size="${unsafeCSS(size)}"][shape="rounded"]) .base { border-start-start-radius: var( --_button-rounded-start-shape, var(--_button-shape, ${IconButtonSizeToken[size].shapeRound}) ); border-end-start-radius: var( --_button-rounded-start-shape, var(--_button-shape, ${IconButtonSizeToken[size].shapeRound}) ); border-start-end-radius: var( --_button-rounded-end-shape, var(--_button-shape, ${IconButtonSizeToken[size].shapeRound}) ); border-end-end-radius: var( --_button-rounded-end-shape, var(--_button-shape, ${IconButtonSizeToken[size].shapeRound}) ); } :host(:state(-connected)[size="${unsafeCSS(size)}"][shape="square"]) .base { border-start-start-radius: var(--_button-square-start-shape, ${IconButtonSizeToken[size].shapeSquare}); border-end-start-radius: var(--_button-square-start-shape, ${IconButtonSizeToken[size].shapeSquare}); border-start-end-radius: var(--_button-square-end-shape, ${IconButtonSizeToken[size].shapeSquare}); border-end-end-radius: var(--_button-square-end-shape, ${IconButtonSizeToken[size].shapeSquare}); } :host(:state(-connected)[size="${unsafeCSS(size)}"][shape="square"][toggle][selected]:not(:state(-pressed))) .base { border-radius: var(--_button-shape, ${IconButtonSizeToken[size].selectedShapeSquare}); } :host(:state(-connected)[size="${unsafeCSS(size)}"]:state(-pressed)) .base { border-start-start-radius: var( --_button-start-shape-pressed-morph, ${IconButtonSizeToken[size].shapePressedMorph} ); border-end-start-radius: var(--_button-start-shape-pressed-morph, ${IconButtonSizeToken[size].shapePressedMorph}); border-start-end-radius: var(--_button-end-shape-pressed-morph, ${IconButtonSizeToken[size].shapePressedMorph}); border-end-end-radius: var(--_button-end-shape-pressed-morph, ${IconButtonSizeToken[size].shapePressedMorph}); }`;
14114
14213
  }
14115
14214
  /**
14116
14215
  * Size variant styles for `M3eIconButtonElement`.
@@ -14122,8 +14221,8 @@ const IconButtonSizeStyle = [iconButtonStyle("extra-small"), iconButtonStyle("sm
14122
14221
  * Baseline styles for `M3eIconButtonElement`.
14123
14222
  * @internal
14124
14223
  */
14125
- const IconButtonStyle = css`:host { display: inline-block; outline: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; justify-content: center; position: relative; width: 100%; transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } .touch { position: absolute; aspect-ratio: 1 / 1; height: 3rem; left: auto; right: auto; } :host(.-pressed) .base, :host(.-resting) .base { transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard},
14126
- border-radius ${DesignToken$1.motion.spring.fastEffects}`)}; } .wrapper { width: 100%; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; transition: ${unsafeCSS(`padding-inline ${DesignToken$1.motion.spring.fastEffects}`)}; } .icon { transition: ${unsafeCSS(`color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; --m3e-icon-size: 1em; } :host(:not(:disabled):not([disabled-interactive])) { cursor: pointer; } :host([disabled-interactive]) { cursor: not-allowed; } ::slotted(*) { font-size: inherit !important; flex: none; transform: var(--_icon-button-icon-transform); transform-origin: center center; transition: ${unsafeCSS(`transform var(--_icon-button-icon-transform-transition, ${DesignToken$1.motion.spring.fastEffects})`)}; } ::slotted(svg) { width: 1em; height: 1em; } :host([toggle]:not([selected])) .base.with-selected-icon slot[name="selected"], :host([toggle][selected]) .base.with-selected-icon slot:not([name]) { display: none; } a { all: unset; display: block; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 1; } :host(.-grouped.-connected) { flex: 1 1 auto; } :host(.-grouped:not(.-connected):not(.-adjacent-pressed):not(.-pressed)) { flex-shrink: 0; flex-grow: 0; } :host(.-grouped:not(.-connected).-adjacent-pressed:not(.-pressed)) { flex-shrink: 1; min-width: 0; } :host(.-grouped:not(.-connected).-adjacent-pressed:not(.-pressed)) .label { text-overflow: clip; } :host(.-grouped:not(.-connected).-pressed:not([disabled-interactive]):not(:disabled)) { flex-shrink: 0; flex-basis: calc( var(--_button-width) + calc(var(--_button-width) * var(--m3e-standard-button-group-width-multiplier, 0.15)) ); } @media (forced-colors: active) { .base, .icon { transition: none; } :host(.-pressed) .base, :host(.-resting) .base { transition: border-radius ${DesignToken$1.motion.spring.fastEffects}; } :host([variant]:not(:disabled):not([disabled-interactive]):not([toggle])) .base { background-color: ButtonFace; outline-color: ButtonText; } :host([variant]:not(:disabled):not([disabled-interactive]):not([toggle])) .label, :host([variant]:not(:disabled):not([disabled-interactive]):not([toggle])) .icon { color: ButtonText; } :host([variant]:not(:disabled):not([disabled-interactive])[toggle]:not([selected])) .base { background-color: ButtonFace; outline-color: ButtonText; } :host([variant]:not(:disabled):not([disabled-interactive])[toggle]:not([selected])) .label, :host([variant]:not(:disabled):not([disabled-interactive])[toggle]:not([selected])) .icon { color: ButtonText; } :host([variant]:not(:disabled):not([disabled-interactive])[toggle][selected]) .base { background-color: ButtonText; outline: none; } :host([variant]:not(:disabled):not([disabled-interactive])[toggle][selected]) .label, :host([variant]:not(:disabled):not([disabled-interactive])[toggle][selected]) .icon { forced-color-adjust: none; color: ButtonFace; background-color: ButtonText; } :host([variant]:disabled) .base, :host([variant][disabled-interactive]) .base { outline-color: GrayText; background-color: unset; } :host([variant]:disabled) .label, :host([variant][disabled-interactive]) .label, :host([variant]:disabled) .icon, :host([variant][disabled-interactive]) .icon { color: GrayText; } .base { outline-style: solid; } :host([size="extra-small"]) .base { outline-offset: calc(0px - var(--m3e-icon-button-extra-small-outline-thickness, 1px)); outline-width: var(--m3e-icon-button-extra-small-outline-thickness, 1px); } :host([size="small"]) .base { outline-offset: calc(0px - var(--m3e-icon-button-small-outline-thickness, 1px)); outline-width: var(--m3e-icon-button-small-outline-thickness, 1px); } :host([size="medium"]) .base { outline-offset: calc(0px - var(--m3e-icon-button-medium-outline-thickness, 1px)); outline-width: var(--m3e-icon-button-medium-outline-thickness, 1px); } :host([size="large"]) .base { outline-offset: calc(0px - var(--m3e-icon-button-large-outline-thickness, 2px)); outline-width: var(--m3e-icon-button-large-outline-thickness, 2px); } :host([size="extra-large"]) .base { outline-offset: calc(0px - var(--m3e-icon-button-extra-large-outline-thickness, 3px)); outline-width: var(--m3e-icon-button-extra-large-outline-thickness, 3px); } } @media (prefers-reduced-motion) { :host(.-pressed) .base, :host(.-resting) .base, .base, .wrapper, .icon { transition: none; } }`;
14224
+ const IconButtonStyle = css`:host { display: inline-block; outline: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; justify-content: center; position: relative; width: 100%; transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } .touch { position: absolute; aspect-ratio: 1 / 1; height: 3rem; left: auto; right: auto; } :host(:state(-pressed)) .base, :host(:state(-resting)) .base { transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard},
14225
+ border-radius ${DesignToken$1.motion.spring.fastEffects}`)}; } .wrapper { width: 100%; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; transition: ${unsafeCSS(`padding-inline ${DesignToken$1.motion.spring.fastEffects}`)}; } .icon { transition: ${unsafeCSS(`color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; --m3e-icon-size: 1em; } :host(:not(:disabled):not([disabled-interactive])) { cursor: pointer; } :host([disabled-interactive]) { cursor: not-allowed; } ::slotted(*) { font-size: inherit !important; flex: none; transform: var(--_icon-button-icon-transform); transform-origin: center center; transition: ${unsafeCSS(`transform var(--_icon-button-icon-transform-transition, ${DesignToken$1.motion.spring.fastEffects})`)}; } ::slotted(svg) { width: 1em; height: 1em; } :host([toggle]:not([selected])) .base.with-selected-icon slot[name="selected"], :host([toggle][selected]) .base.with-selected-icon slot:not([name]) { display: none; } a { all: unset; display: block; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 1; } :host(:state(-grouped):state(-connected)) { flex: 1 1 auto; } :host(:state(-grouped):not(:state(-connected)):not(:state(-adjacent-pressed)):not(:state(-pressed))) { flex-shrink: 0; flex-grow: 0; } :host(:state(-grouped):not(:state(-connected)):state(-adjacent-pressed):not(:state(-pressed))) { flex-shrink: 1; min-width: 0; } :host(:state(-grouped):not(:state(-connected)):state(-adjacent-pressed):not(:state(-pressed))) .label { text-overflow: clip; } :host(:state(-grouped):not(:state(-connected)):state(-pressed):not([disabled-interactive]):not(:disabled)) { flex-shrink: 0; flex-basis: calc( var(--_button-width) + calc(var(--_button-width) * var(--m3e-standard-button-group-width-multiplier, 0.15)) ); } @media (forced-colors: active) { .base, .icon { transition: none; } :host(:state(-pressed)) .base, :host(:state(-resting)) .base { transition: border-radius ${DesignToken$1.motion.spring.fastEffects}; } :host([variant]:not(:disabled):not([disabled-interactive]):not([toggle])) .base { background-color: ButtonFace; outline-color: ButtonText; } :host([variant]:not(:disabled):not([disabled-interactive]):not([toggle])) .label, :host([variant]:not(:disabled):not([disabled-interactive]):not([toggle])) .icon { color: ButtonText; } :host([variant]:not(:disabled):not([disabled-interactive])[toggle]:not([selected])) .base { background-color: ButtonFace; outline-color: ButtonText; } :host([variant]:not(:disabled):not([disabled-interactive])[toggle]:not([selected])) .label, :host([variant]:not(:disabled):not([disabled-interactive])[toggle]:not([selected])) .icon { color: ButtonText; } :host([variant]:not(:disabled):not([disabled-interactive])[toggle][selected]) .base { background-color: ButtonText; outline: none; } :host([variant]:not(:disabled):not([disabled-interactive])[toggle][selected]) .label, :host([variant]:not(:disabled):not([disabled-interactive])[toggle][selected]) .icon { forced-color-adjust: none; color: ButtonFace; background-color: ButtonText; } :host([variant]:disabled) .base, :host([variant][disabled-interactive]) .base { outline-color: GrayText; background-color: unset; } :host([variant]:disabled) .label, :host([variant][disabled-interactive]) .label, :host([variant]:disabled) .icon, :host([variant][disabled-interactive]) .icon { color: GrayText; } .base { outline-style: solid; } :host([size="extra-small"]) .base { outline-offset: calc(0px - var(--m3e-icon-button-extra-small-outline-thickness, 1px)); outline-width: var(--m3e-icon-button-extra-small-outline-thickness, 1px); } :host([size="small"]) .base { outline-offset: calc(0px - var(--m3e-icon-button-small-outline-thickness, 1px)); outline-width: var(--m3e-icon-button-small-outline-thickness, 1px); } :host([size="medium"]) .base { outline-offset: calc(0px - var(--m3e-icon-button-medium-outline-thickness, 1px)); outline-width: var(--m3e-icon-button-medium-outline-thickness, 1px); } :host([size="large"]) .base { outline-offset: calc(0px - var(--m3e-icon-button-large-outline-thickness, 2px)); outline-width: var(--m3e-icon-button-large-outline-thickness, 2px); } :host([size="extra-large"]) .base { outline-offset: calc(0px - var(--m3e-icon-button-extra-large-outline-thickness, 3px)); outline-width: var(--m3e-icon-button-extra-large-outline-thickness, 3px); } } @media (prefers-reduced-motion) { :host(:state(-pressed)) .base, :host(:state(-resting)) .base, .base, .wrapper, .icon { transition: none; } }`;
14127
14226
 
14128
14227
  /**
14129
14228
  * Component design tokens that control the appearance variants of `M3eIconButtonElement`.
@@ -14529,7 +14628,7 @@ const IconButtonVariantToken = {
14529
14628
 
14530
14629
  /** @private */
14531
14630
  function iconButtonVariantStyle(variant) {
14532
- return css`:host([variant="${unsafeCSS(variant)}"]:not(:disabled):not([disabled-interactive])) .base { background-color: ${IconButtonVariantToken[variant].containerColor ?? unsafeCSS("unset")}; --m3e-state-layer-hover-color: ${IconButtonVariantToken[variant].hover.stateLayerColor}; --m3e-state-layer-hover-opacity: ${IconButtonVariantToken[variant].hover.stateLayerOpacity}; --m3e-state-layer-focus-color: ${IconButtonVariantToken[variant].focus.stateLayerColor}; --m3e-state-layer-focus-opacity: ${IconButtonVariantToken[variant].focus.stateLayerOpacity}; --m3e-ripple-color: ${IconButtonVariantToken[variant].pressed.stateLayerColor}; --m3e-ripple-opacity: ${IconButtonVariantToken[variant].pressed.stateLayerOpacity}; --m3e-elevation-level: ${IconButtonVariantToken[variant].containerElevation ?? unsafeCSS("unset")}; --m3e-elevation-hover-level: ${IconButtonVariantToken[variant].hover.containerElevation ?? unsafeCSS("unset")}; --m3e-elevation-focus-level: ${IconButtonVariantToken[variant].focus.containerElevation ?? unsafeCSS("unset")}; --m3e-elevation-pressed-level: ${IconButtonVariantToken[variant].pressed.containerElevation ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):not(:disabled):not([disabled-interactive])) .base { background-color: ${IconButtonVariantToken[variant].unselectedContainerColor ?? unsafeCSS("unset")}; --m3e-state-layer-hover-color: ${IconButtonVariantToken[variant].hover.unselectedStateLayerColor}; --m3e-state-layer-focus-color: ${IconButtonVariantToken[variant].focus.unselectedStateLayerColor}; --m3e-ripple-color: ${IconButtonVariantToken[variant].pressed.unselectedStateLayerColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:not(:disabled):not([disabled-interactive])) .base { background-color: ${IconButtonVariantToken[variant].selectedContainerColor ?? unsafeCSS("unset")}; --m3e-state-layer-hover-color: ${IconButtonVariantToken[variant].hover.selectedStateLayerColor}; --m3e-state-layer-focus-color: ${IconButtonVariantToken[variant].focus.selectedStateLayerColor}; --m3e-ripple-color: ${IconButtonVariantToken[variant].pressed.selectedStateLayerColor}; } :host([variant="${unsafeCSS(variant)}"]:not(:disabled):not([disabled-interactive])) .base { outline-color: ${IconButtonVariantToken[variant].outlineColor ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"]:focus:not(:disabled):not([disabled-interactive])) .base { outline-color: ${IconButtonVariantToken[variant].focus.outlineColor ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"]:hover:not(:disabled):not([disabled-interactive])) .base { outline-color: ${IconButtonVariantToken[variant].hover.outlineColor ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"].-pressed:not(:disabled):not([disabled-interactive])) .base { outline-color: ${IconButtonVariantToken[variant].pressed.outlineColor ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"]:not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].iconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].unselectedIconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].selectedIconColor}; } :host([variant="${unsafeCSS(variant)}"]:focus:not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].focus.iconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):focus:not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].focus.unselectedIconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:focus:not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].focus.selectedIconColor}; } :host([variant="${unsafeCSS(variant)}"]:hover:not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].hover.iconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):hover:not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].hover.unselectedIconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:hover:not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].hover.selectedIconColor}; } :host([variant="${unsafeCSS(variant)}"].-pressed:not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].pressed.iconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]).-pressed:not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].pressed.unselectedIconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected].-pressed:not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].pressed.selectedIconColor}; } :host([variant="${unsafeCSS(variant)}"]:disabled) .base, :host([variant="${unsafeCSS(variant)}"][disabled-interactive]) .base { outline-color: ${IconButtonVariantToken[variant].disabled.outlineColor ?? unsafeCSS("unset")}; background-color: color-mix( in srgb, ${IconButtonVariantToken[variant].disabled.containerColor} ${IconButtonVariantToken[variant].disabled.containerOpacity}, transparent ); } :host([variant="${unsafeCSS(variant)}"]:disabled) .icon, :host([variant="${unsafeCSS(variant)}"][disabled-interactive]) .icon { color: color-mix( in srgb, ${IconButtonVariantToken[variant].disabled.iconColor} ${IconButtonVariantToken[variant].disabled.iconOpacity}, transparent ); }`;
14631
+ return css`:host([variant="${unsafeCSS(variant)}"]:not(:disabled):not([disabled-interactive])) .base { background-color: ${IconButtonVariantToken[variant].containerColor ?? unsafeCSS("unset")}; --m3e-state-layer-hover-color: ${IconButtonVariantToken[variant].hover.stateLayerColor}; --m3e-state-layer-hover-opacity: ${IconButtonVariantToken[variant].hover.stateLayerOpacity}; --m3e-state-layer-focus-color: ${IconButtonVariantToken[variant].focus.stateLayerColor}; --m3e-state-layer-focus-opacity: ${IconButtonVariantToken[variant].focus.stateLayerOpacity}; --m3e-ripple-color: ${IconButtonVariantToken[variant].pressed.stateLayerColor}; --m3e-ripple-opacity: ${IconButtonVariantToken[variant].pressed.stateLayerOpacity}; --m3e-elevation-level: ${IconButtonVariantToken[variant].containerElevation ?? unsafeCSS("unset")}; --m3e-elevation-hover-level: ${IconButtonVariantToken[variant].hover.containerElevation ?? unsafeCSS("unset")}; --m3e-elevation-focus-level: ${IconButtonVariantToken[variant].focus.containerElevation ?? unsafeCSS("unset")}; --m3e-elevation-pressed-level: ${IconButtonVariantToken[variant].pressed.containerElevation ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):not(:disabled):not([disabled-interactive])) .base { background-color: ${IconButtonVariantToken[variant].unselectedContainerColor ?? unsafeCSS("unset")}; --m3e-state-layer-hover-color: ${IconButtonVariantToken[variant].hover.unselectedStateLayerColor}; --m3e-state-layer-focus-color: ${IconButtonVariantToken[variant].focus.unselectedStateLayerColor}; --m3e-ripple-color: ${IconButtonVariantToken[variant].pressed.unselectedStateLayerColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:not(:disabled):not([disabled-interactive])) .base { background-color: ${IconButtonVariantToken[variant].selectedContainerColor ?? unsafeCSS("unset")}; --m3e-state-layer-hover-color: ${IconButtonVariantToken[variant].hover.selectedStateLayerColor}; --m3e-state-layer-focus-color: ${IconButtonVariantToken[variant].focus.selectedStateLayerColor}; --m3e-ripple-color: ${IconButtonVariantToken[variant].pressed.selectedStateLayerColor}; } :host([variant="${unsafeCSS(variant)}"]:not(:disabled):not([disabled-interactive])) .base { outline-color: ${IconButtonVariantToken[variant].outlineColor ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"]:focus:not(:disabled):not([disabled-interactive])) .base { outline-color: ${IconButtonVariantToken[variant].focus.outlineColor ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"]:hover:not(:disabled):not([disabled-interactive])) .base { outline-color: ${IconButtonVariantToken[variant].hover.outlineColor ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"]:state(-pressed):not(:disabled):not([disabled-interactive])) .base { outline-color: ${IconButtonVariantToken[variant].pressed.outlineColor ?? unsafeCSS("unset")}; } :host([variant="${unsafeCSS(variant)}"]:not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].iconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].unselectedIconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].selectedIconColor}; } :host([variant="${unsafeCSS(variant)}"]:focus:not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].focus.iconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):focus:not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].focus.unselectedIconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:focus:not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].focus.selectedIconColor}; } :host([variant="${unsafeCSS(variant)}"]:hover:not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].hover.iconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle]:not([selected]):hover:not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].hover.unselectedIconColor}; } :host([variant="${unsafeCSS(variant)}"][toggle][selected]:hover:not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].hover.selectedIconColor}; } :host([variant="${unsafeCSS(variant)}"]:state(-pressed):not(:disabled):not([disabled-interactive])) .icon { color: ${IconButtonVariantToken[variant].pressed.iconColor}; } :host( [variant="${unsafeCSS(variant)}"][toggle]:not([selected]):state(-pressed):not(:disabled):not( [disabled-interactive] ) ) .icon { color: ${IconButtonVariantToken[variant].pressed.unselectedIconColor}; } :host( [variant="${unsafeCSS(variant)}"][toggle][selected]:state(-pressed):not(:disabled):not([disabled-interactive]) ) .icon { color: ${IconButtonVariantToken[variant].pressed.selectedIconColor}; } :host([variant="${unsafeCSS(variant)}"]:disabled) .base, :host([variant="${unsafeCSS(variant)}"][disabled-interactive]) .base { outline-color: ${IconButtonVariantToken[variant].disabled.outlineColor ?? unsafeCSS("unset")}; background-color: color-mix( in srgb, ${IconButtonVariantToken[variant].disabled.containerColor} ${IconButtonVariantToken[variant].disabled.containerOpacity}, transparent ); } :host([variant="${unsafeCSS(variant)}"]:disabled) .icon, :host([variant="${unsafeCSS(variant)}"][disabled-interactive]) .icon { color: color-mix( in srgb, ${IconButtonVariantToken[variant].disabled.iconColor} ${IconButtonVariantToken[variant].disabled.iconOpacity}, transparent ); }`;
14533
14632
  }
14534
14633
  /**
14535
14634
  * Appearance variant styles for `M3eIconButtonElement`.
@@ -14913,7 +15012,7 @@ let M3eIconButtonElement = class M3eIconButtonElement extends KeyboardClick$1(Li
14913
15012
  }
14914
15013
  /** Whether the button is contained by a button group. */
14915
15014
  get grouped() {
14916
- return this.classList.contains("-grouped");
15015
+ return hasCustomState$1(this, "-grouped");
14917
15016
  }
14918
15017
  /** @inheritdoc */
14919
15018
  render() {
@@ -14927,11 +15026,11 @@ let M3eIconButtonElement = class M3eIconButtonElement extends KeyboardClick$1(Li
14927
15026
  /** @inheritdoc */
14928
15027
  disconnectedCallback() {
14929
15028
  super.disconnectedCallback();
14930
- ["-pressed", "-resting", "-grouped", "-connected"].forEach(x => this.classList.remove(x));
15029
+ ["-pressed", "-resting", "-grouped", "-connected"].forEach(x => deleteCustomState$1(this, x));
14931
15030
  this._base?.style.removeProperty("--_button-shape");
14932
15031
  this.style.removeProperty("--_button-width");
14933
15032
  this.style.removeProperty("--_adjacent-button-width");
14934
- this.classList.remove("-adjacent-pressed");
15033
+ deleteCustomState$1(this, "-adjacent-pressed");
14935
15034
  this.removeEventListener("click", __classPrivateFieldGet(this, _M3eIconButtonElement_clickHandler, "f"));
14936
15035
  }
14937
15036
  /** @inheritdoc */
@@ -14943,8 +15042,8 @@ let M3eIconButtonElement = class M3eIconButtonElement extends KeyboardClick$1(Li
14943
15042
  updated(_changedProperties) {
14944
15043
  super.updated(_changedProperties);
14945
15044
  if (_changedProperties.has("disabled") && this.disabled || _changedProperties.has("disabledInteractive") && this.disabledInteractive) {
14946
- this.classList.toggle("-pressed", false);
14947
- this.classList.toggle("-resting", false);
15045
+ deleteCustomState$1(this, "-pressed");
15046
+ deleteCustomState$1(this, "-resting");
14948
15047
  }
14949
15048
  if (_changedProperties.has("toggle") || _changedProperties.has("selected")) {
14950
15049
  this.ariaPressed = this.toggle ? `${this.selected}` : null;
@@ -14957,7 +15056,7 @@ let M3eIconButtonElement = class M3eIconButtonElement extends KeyboardClick$1(Li
14957
15056
  }
14958
15057
  /** @private */
14959
15058
  _handleResize() {
14960
- if (this.grouped && !this.classList.contains("-pressed")) {
15059
+ if (this.grouped && !hasCustomState$1(this, "-pressed")) {
14961
15060
  this.style.setProperty("--_button-width", `${this.clientWidth}px`);
14962
15061
  __classPrivateFieldGet(this, _M3eIconButtonElement_instances, "m", _M3eIconButtonElement_updateButtonShape).call(this, true);
14963
15062
  }
@@ -14976,8 +15075,8 @@ _M3eIconButtonElement_updateButtonShape = function _M3eIconButtonElement_updateB
14976
15075
  }
14977
15076
  };
14978
15077
  _M3eIconButtonElement_handlePressedChange = function _M3eIconButtonElement_handlePressedChange(pressed) {
14979
- this.classList.toggle("-pressed", pressed);
14980
- this.classList.toggle("-resting", !pressed);
15078
+ setCustomState$1(this, "-pressed", pressed);
15079
+ setCustomState$1(this, "-resting", !pressed);
14981
15080
  const group = this.closest("m3e-button-group");
14982
15081
  if (group) {
14983
15082
  const clientWidth = this.getBoundingClientRect().width;
@@ -14987,13 +15086,13 @@ _M3eIconButtonElement_handlePressedChange = function _M3eIconButtonElement_handl
14987
15086
  const button = buttons[i];
14988
15087
  if (i === index - 1) {
14989
15088
  button.style.setProperty("--_adjacent-button-width", `${clientWidth}px`);
14990
- button.classList.toggle("-adjacent-pressed", pressed);
15089
+ setCustomState$1(button, "-adjacent-pressed", pressed);
14991
15090
  } else if (i === index + 1) {
14992
15091
  button.style.setProperty("--_adjacent-button-width", `${clientWidth}px`);
14993
- button.classList.toggle("-adjacent-pressed", pressed);
15092
+ setCustomState$1(button, "-adjacent-pressed", pressed);
14994
15093
  } else {
14995
15094
  button.style.removeProperty("--_adjacent-button-width");
14996
- button.classList.remove("-adjacent-pressed");
15095
+ deleteCustomState$1(button, "-adjacent-pressed");
14997
15096
  }
14998
15097
  }
14999
15098
  }
@@ -15051,7 +15150,7 @@ __decorate([n$1({
15051
15150
  reflect: true
15052
15151
  })], M3eIconButtonElement.prototype, "selected", void 0);
15053
15152
  __decorate([debounce$1(40)], M3eIconButtonElement.prototype, "_handleResize", null);
15054
- M3eIconButtonElement = __decorate([t$3("m3e-icon-button")], M3eIconButtonElement);
15153
+ M3eIconButtonElement = __decorate([customElement$1("m3e-icon-button")], M3eIconButtonElement);
15055
15154
 
15056
15155
  var _M3eListItemElement_instances, _M3eListItemElement_resizeController, _M3eListItemElement_leadingContentType, _M3eListItemElement_trailingContentType, _M3eListItemElement_updateMultiline, _M3eListItemElement_getSlotContentType;
15057
15156
  /**
@@ -15137,7 +15236,7 @@ var _M3eListItemElement_instances, _M3eListItemElement_resizeController, _M3eLis
15137
15236
  * @cssprop --m3e-list-item-two-line-height - Minimum height of a two line list item.
15138
15237
  * @cssprop --m3e-list-item-three-line-height - Minimum height of a three line list item.
15139
15238
  */
15140
- let M3eListItemElement = class M3eListItemElement extends Role$1(LitElement, "listitem") {
15239
+ let M3eListItemElement = class M3eListItemElement extends AttachInternals$1(Role$1(LitElement, "listitem")) {
15141
15240
  constructor() {
15142
15241
  super(...arguments);
15143
15242
  _M3eListItemElement_instances.add(this);
@@ -15179,7 +15278,7 @@ let M3eListItemElement = class M3eListItemElement extends Role$1(LitElement, "li
15179
15278
  _handleLeadingSlotChange(e) {
15180
15279
  const contentType = __classPrivateFieldGet(this, _M3eListItemElement_leadingContentType, "f");
15181
15280
  __classPrivateFieldSet(this, _M3eListItemElement_leadingContentType, __classPrivateFieldGet(this, _M3eListItemElement_instances, "m", _M3eListItemElement_getSlotContentType).call(this, e.target), "f");
15182
- this.classList.toggle("-has-leading", __classPrivateFieldGet(this, _M3eListItemElement_leadingContentType, "f") !== undefined);
15281
+ setCustomState$1(this, "-has-leading", __classPrivateFieldGet(this, _M3eListItemElement_leadingContentType, "f") !== undefined);
15183
15282
  if (contentType !== __classPrivateFieldGet(this, _M3eListItemElement_leadingContentType, "f")) {
15184
15283
  this.closest("m3e-list,m3e-action-list,m3e-selection-list")?.notifyLeadingContentTypeChange(contentType, __classPrivateFieldGet(this, _M3eListItemElement_leadingContentType, "f"));
15185
15284
  }
@@ -15188,7 +15287,7 @@ let M3eListItemElement = class M3eListItemElement extends Role$1(LitElement, "li
15188
15287
  _handleTrailingSlotChange(e) {
15189
15288
  const contentType = __classPrivateFieldGet(this, _M3eListItemElement_trailingContentType, "f");
15190
15289
  __classPrivateFieldSet(this, _M3eListItemElement_trailingContentType, __classPrivateFieldGet(this, _M3eListItemElement_instances, "m", _M3eListItemElement_getSlotContentType).call(this, e.target), "f");
15191
- this.classList.toggle("-has-trailing", __classPrivateFieldGet(this, _M3eListItemElement_trailingContentType, "f") !== undefined);
15290
+ setCustomState$1(this, "-has-trailing", __classPrivateFieldGet(this, _M3eListItemElement_trailingContentType, "f") !== undefined);
15192
15291
  if (contentType !== __classPrivateFieldGet(this, _M3eListItemElement_trailingContentType, "f")) {
15193
15292
  this.closest("m3e-list,m3e-action-list,m3e-selection-list")?.notifyTrailingContentTypeChange(contentType, __classPrivateFieldGet(this, _M3eListItemElement_trailingContentType, "f"));
15194
15293
  }
@@ -15201,9 +15300,9 @@ _M3eListItemElement_instances = new WeakSet();
15201
15300
  _M3eListItemElement_updateMultiline = function _M3eListItemElement_updateMultiline() {
15202
15301
  const content = this.shadowRoot?.querySelector(".content") ?? null;
15203
15302
  const lines = content === null ? 0 : computeLineCount$1(content);
15204
- this.classList.toggle("-one-line", lines <= 1);
15205
- this.classList.toggle("-two-line", lines == 2);
15206
- this.classList.toggle("-three-line", lines > 2);
15303
+ setCustomState$1(this, "-one-line", lines <= 1);
15304
+ setCustomState$1(this, "-two-line", lines == 2);
15305
+ setCustomState$1(this, "-three-line", lines > 2);
15207
15306
  };
15208
15307
  _M3eListItemElement_getSlotContentType = function _M3eListItemElement_getSlotContentType(slot) {
15209
15308
  const elements = slot.assignedElements({
@@ -15216,8 +15315,8 @@ _M3eListItemElement_getSlotContentType = function _M3eListItemElement_getSlotCon
15216
15315
  return elements.length > 0 ? "text" : undefined;
15217
15316
  };
15218
15317
  /** The styles of the element. */
15219
- M3eListItemElement.styles = css`:host { display: block; } .base { display: flex; min-height: inherit; width: 100%; box-sizing: border-box; column-gap: var(--m3e-list-item-between-space, 1rem); padding-inline-start: var(--m3e-list-item-leading-space, 1rem); padding-inline-end: var(--m3e-list-item-trailing-space, 1rem); border-top-left-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-container-shape, ${DesignToken$1.shape.corner.none}) ); border-top-right-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-container-shape, ${DesignToken$1.shape.corner.none}) ); border-bottom-left-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-container-shape, ${DesignToken$1.shape.corner.none}) ); border-bottom-right-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-container-shape, ${DesignToken$1.shape.corner.none}) ); transition: ${unsafeCSS(`border-radius ${DesignToken$1.motion.spring.fastEffects}, background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } :host(.-one-line) { min-height: calc(var(--m3e-list-item-one-line-height, 3.5rem) + ${DesignToken$1.density.calc(-3)}); } :host(.-one-line) .base { padding-block-start: var(--m3e-list-item-one-line-top-space, 0.5rem); padding-block-end: var(--m3e-list-item-one-line-bottom-space, 0.5rem); } :host(.-two-line) { min-height: calc(var(--m3e-list-item-two-line-height, 4.5rem) + ${DesignToken$1.density.calc(-3)}); } :host(.-two-line) .base { padding-block-start: var(--m3e-list-item-two-line-top-space, 0.5rem); padding-block-end: var(--m3e-list-item-two-line-bottom-space, 0.5rem); } :host(.-three-line) { min-height: calc(var(--m3e-list-item-three-line-height, 5.5rem) + ${DesignToken$1.density.calc(-3)}); } :host(.-three-line) .base { padding-block-start: var(--m3e-list-item-three-line-top-space, 0.75rem); padding-block-end: var(--m3e-list-item-three-line-bottom-space, 0.75rem); } :host(:not(.-three-line)) .base { align-items: center; } :host(.-three-line) .base { align-items: flex-start; } :host(:not(:disabled):not([selected]:not(:hover))) .base.focus-visible:not(.pressed) { border-top-left-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken$1.shape.corner.large}) ); border-top-right-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken$1.shape.corner.large}) ); border-bottom-left-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken$1.shape.corner.large}) ); border-bottom-right-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken$1.shape.corner.large}) ); } :host(:not(:disabled):not([selected]):hover) .base, :host(:not(:disabled):not([selected])) .base.pressed { border-top-left-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken$1.shape.corner.medium}) ); border-top-right-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken$1.shape.corner.medium}) ); border-bottom-left-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken$1.shape.corner.medium}) ); border-bottom-right-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken$1.shape.corner.medium}) ); } .content { flex: 1 1 auto; display: flex; flex-direction: column; align-items: unset; justify-content: unset; } ::slotted([slot="overline"]) { font-size: var(--m3e-list-item-overline-font-size, ${DesignToken$1.typescale.standard.label.small.fontSize}); font-weight: var(--m3e-list-item-overline-font-weight, ${DesignToken$1.typescale.standard.label.small.fontWeight}); line-height: var(--m3e-list-item-overline-line-height, ${DesignToken$1.typescale.standard.label.small.lineHeight}); letter-spacing: var(--m3e-list-item-overline-tracking, ${DesignToken$1.typescale.standard.label.small.tracking}); } ::slotted([slot="supporting-text"]) { font-size: var(--m3e-list-item-supporting-text-font-size, ${DesignToken$1.typescale.standard.body.medium.fontSize}); font-weight: var( --m3e-list-item-supporting-text-font-weight, ${DesignToken$1.typescale.standard.body.medium.fontWeight} ); line-height: var( --m3e-list-item-supporting-text-line-height, ${DesignToken$1.typescale.standard.body.medium.lineHeight} ); letter-spacing: var( --m3e-list-item-supporting-text-tracking, ${DesignToken$1.typescale.standard.body.medium.tracking} ); } ::slotted(:not([slot])) { font-size: var(--m3e-list-item-font-size, ${DesignToken$1.typescale.standard.body.large.fontSize}); font-weight: var(--m3e-list-item-font-weight, ${DesignToken$1.typescale.standard.body.large.fontWeight}); line-height: var(--m3e-list-item-line-height, ${DesignToken$1.typescale.standard.body.large.lineHeight}); letter-spacing: var(--m3e-list-item-tracking, ${DesignToken$1.typescale.standard.body.large.tracking}); } :host(.-has-leading) slot[name="leading"], :host(.-has-trailing) slot[name="trailing"] { display: flex; justify-content: center; } :host(:not(.-has-leading)) slot[name="leading"] { display: var(--_list-item-leading-reserved-display, contents); } :host(:not(.-has-trailing)) slot[name="trailing"] { display: var(--_list-item-trailing-reserved-display, contents); } slot[name="leading"] { min-width: var(--_list-item-leading-reserved-space, 0px); margin-inline-start: calc(0px - var(--_list-item-leading-reserved-outset, 0px)); } slot[name="trailing"] { min-width: var(--_list-item-trailing-reserved-space, 0px); margin-inline-end: calc(0px - var(--_list-item-trailing-reserved-outset, 0px)); } ::slotted(span[slot="trailing"]), ::slotted([slot="trailing-supporting-text"]) { white-space: nowrap; font-size: var(--m3e-list-item-trailing-text-font-size, ${DesignToken$1.typescale.standard.label.small.fontSize}); font-weight: var( --m3e-list-item-trailing-text-font-weight, ${DesignToken$1.typescale.standard.label.small.fontWeight} ); line-height: var( --m3e-list-item-trailing-text-line-height, ${DesignToken$1.typescale.standard.label.small.lineHeight} ); letter-spacing: var( --m3e-list-item-trailing-text-tracking, ${DesignToken$1.typescale.standard.label.small.tracking} ); } ::slotted(video[slot="leading"]), ::slotted(video[slot="trailing"]), ::slotted(img[slot="leading"]), ::slotted(img[slot="trailing"]) { display: block; margin: 0 auto; overflow: hidden; object-fit: cover; } ::slotted(video) { width: var(--m3e-list-item-video-width, 6.25rem); height: var(--m3e-list-item-video-height, 3.5rem); } ::slotted(video[slot="leading"]), ::slotted(video[slot="trailing"]) { border-radius: var(--m3e-list-item-video-shape, ${DesignToken$1.shape.corner.none}); } ::slotted(video[slot="leading"]) { margin-inline-start: calc(0px - var(--_list-item-leading-video-outset, 0px)); } ::slotted(video[slot="trailing"]) { margin-inline-end: calc(0px - var(--_list-item-trailing-video-outset, 0px)); } ::slotted(img) { user-drag: none; user-select: none; pointer-events: none; width: var(--m3e-list-item-image-width, 3.5rem); height: var(--m3e-list-item-image-height, 3.5rem); } ::slotted(img[slot="leading"]), ::slotted(img[slot="trailing"]) { border-radius: var(--m3e-list-item-image-shape, ${DesignToken$1.shape.corner.none}); } ::slotted(m3e-icon[slot="leading"]), ::slotted(m3e-icon[slot="leading-icon"]), ::slotted(m3e-icon[slot="trailing"]), ::slotted(m3e-icon[slot="trailing-icon"]) { --m3e-icon-size: var(--m3e-list-item-icon-size, 1.5rem); } :host(:not(:disabled)) ::slotted(m3e-icon[slot="leading"]), :host(:not(:disabled)) ::slotted(m3e-icon[slot="leading-icon"]) { color: var(--m3e-list-item-leading-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not(:disabled)) .content { color: var(--m3e-list-item-label-text-color, ${DesignToken$1.color.onSurface}); } :host(:not(:disabled)) ::slotted([slot="overline"]) { color: var(--m3e-list-item-overline-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not(:disabled)) ::slotted([slot="supporting-text"]) { color: var(--m3e-list-item-supporting-text-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not(:disabled)) ::slotted([slot="trailing"]), :host(:not(:disabled)) ::slotted([slot="trailing-supporting-text"]), :host(:not(:disabled)) ::slotted([slot="trailing-icon"]) { color: var(--m3e-list-item-trailing-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not(:disabled)) .base { background-color: var(--_list-item-container-color, var(--m3e-list-item-container-color, transparent)); } :host(:disabled) .base { background-color: var(--m3e-list-item-disabled-container-color, transparent); } :host(:disabled) ::slotted(video), :host(:disabled) ::slotted(img), :host(:disabled) ::slotted(m3e-avatar) { opacity: var(--m3e-list-item-disabled-media-opacity, 38%); } :host(:disabled) .content { color: color-mix( in srgb, var(--m3e-list-item-disabled-label-text-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-label-text-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="overline"]) { color: color-mix( in srgb, var(--m3e-list-item-disabled-overline-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-overline-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="supporting-text"]) { color: color-mix( in srgb, var(--m3e-list-item-disabled-supporting-text-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-supporting-text-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="leading"]), :host(:disabled) ::slotted([slot="leading-icon"]) { color: color-mix( in srgb, var(--m3e-list-item-disabled-leading-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-leading-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="trailing"]), :host(:disabled) ::slotted([slot="trailing-supporting-text"]), :host(:disabled) ::slotted([slot="trailing-icon"]) { color: color-mix( in srgb, var(--m3e-list-item-disabled-trailing-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-trailing-opacity, 38%), transparent ); } :host(:not(:disabled)) .state-layer { --m3e-state-layer-hover-color: var(--m3e-list-item-hover-state-layer-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-hover-opacity: var( --m3e-list-item-hover-state-layer-opacity, ${DesignToken$1.state.hoverStateLayerOpacity} ); --m3e-state-layer-focus-color: var(--m3e-list-item-focus-state-layer-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-focus-opacity: var( --m3e-list-item-focus-state-layer-opacity, ${DesignToken$1.state.focusStateLayerOpacity} ); } :host(:not(:disabled)) .ripple { --m3e-ripple-color: var(--m3e-list-item-pressed-state-layer-color, ${DesignToken$1.color.onSurface}); --m3e-ripple-opacity: var( --m3e-list-item-pressed-state-layer-opacity, ${DesignToken$1.state.pressedStateLayerOpacity} ); } @media (forced-colors: active) { :host(:disabled) ::slotted([slot="leading"]), :host(:disabled) ::slotted([slot="leading-icon"]), :host(:disabled) .content, :host(:disabled) ::slotted([slot="overline"]), :host(:disabled) ::slotted([slot="supporting-text"]), :host(:disabled) ::slotted([slot="trailing"]), :host(:disabled) ::slotted([slot="trailing-supporting-text"]), :host(:disabled) ::slotted([slot="trailing-icon"]) { color: GrayText; } } @media (prefers-reduced-motion) { .base { transition: none; } }`;
15220
- M3eListItemElement = __decorate([t$3("m3e-list-item")], M3eListItemElement);
15318
+ M3eListItemElement.styles = css`:host { display: block; } .base { display: flex; min-height: inherit; width: 100%; box-sizing: border-box; column-gap: var(--m3e-list-item-between-space, 1rem); padding-inline-start: var(--m3e-list-item-leading-space, 1rem); padding-inline-end: var(--m3e-list-item-trailing-space, 1rem); border-top-left-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-container-shape, ${DesignToken$1.shape.corner.none}) ); border-top-right-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-container-shape, ${DesignToken$1.shape.corner.none}) ); border-bottom-left-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-container-shape, ${DesignToken$1.shape.corner.none}) ); border-bottom-right-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-container-shape, ${DesignToken$1.shape.corner.none}) ); transition: ${unsafeCSS(`border-radius ${DesignToken$1.motion.spring.fastEffects}, background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } :host(:state(-one-line)) { min-height: calc(var(--m3e-list-item-one-line-height, 3.5rem) + ${DesignToken$1.density.calc(-3)}); } :host(:state(-one-line)) .base { padding-block-start: var(--m3e-list-item-one-line-top-space, 0.5rem); padding-block-end: var(--m3e-list-item-one-line-bottom-space, 0.5rem); } :host(:state(-two-line)) { min-height: calc(var(--m3e-list-item-two-line-height, 4.5rem) + ${DesignToken$1.density.calc(-3)}); } :host(:state(-two-line)) .base { padding-block-start: var(--m3e-list-item-two-line-top-space, 0.5rem); padding-block-end: var(--m3e-list-item-two-line-bottom-space, 0.5rem); } :host(:state(-three-line)) { min-height: calc(var(--m3e-list-item-three-line-height, 5.5rem) + ${DesignToken$1.density.calc(-3)}); } :host(:state(-three-line)) .base { padding-block-start: var(--m3e-list-item-three-line-top-space, 0.75rem); padding-block-end: var(--m3e-list-item-three-line-bottom-space, 0.75rem); } :host(:not(:state(-three-line))) .base { align-items: center; } :host(:state(-three-line)) .base { align-items: flex-start; } :host(:not(:disabled):not([selected])) .base:not(.hover).focus-visible:not(.pressed) { border-top-left-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken$1.shape.corner.large}) ); border-top-right-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken$1.shape.corner.large}) ); border-bottom-left-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken$1.shape.corner.large}) ); border-bottom-right-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken$1.shape.corner.large}) ); } :host(:not(:disabled):not([selected])) .base.hover, :host(:not(:disabled):not([selected])) .base.pressed { border-top-left-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken$1.shape.corner.medium}) ); border-top-right-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken$1.shape.corner.medium}) ); border-bottom-left-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken$1.shape.corner.medium}) ); border-bottom-right-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken$1.shape.corner.medium}) ); } .content { flex: 1 1 auto; display: flex; flex-direction: column; align-items: unset; justify-content: unset; } ::slotted([slot="overline"]) { font-size: var(--m3e-list-item-overline-font-size, ${DesignToken$1.typescale.standard.label.small.fontSize}); font-weight: var(--m3e-list-item-overline-font-weight, ${DesignToken$1.typescale.standard.label.small.fontWeight}); line-height: var(--m3e-list-item-overline-line-height, ${DesignToken$1.typescale.standard.label.small.lineHeight}); letter-spacing: var(--m3e-list-item-overline-tracking, ${DesignToken$1.typescale.standard.label.small.tracking}); } ::slotted([slot="supporting-text"]) { font-size: var(--m3e-list-item-supporting-text-font-size, ${DesignToken$1.typescale.standard.body.medium.fontSize}); font-weight: var( --m3e-list-item-supporting-text-font-weight, ${DesignToken$1.typescale.standard.body.medium.fontWeight} ); line-height: var( --m3e-list-item-supporting-text-line-height, ${DesignToken$1.typescale.standard.body.medium.lineHeight} ); letter-spacing: var( --m3e-list-item-supporting-text-tracking, ${DesignToken$1.typescale.standard.body.medium.tracking} ); } ::slotted(:not([slot])) { font-size: var(--m3e-list-item-font-size, ${DesignToken$1.typescale.standard.body.large.fontSize}); font-weight: var(--m3e-list-item-font-weight, ${DesignToken$1.typescale.standard.body.large.fontWeight}); line-height: var(--m3e-list-item-line-height, ${DesignToken$1.typescale.standard.body.large.lineHeight}); letter-spacing: var(--m3e-list-item-tracking, ${DesignToken$1.typescale.standard.body.large.tracking}); } :host(:state(-has-leading)) slot[name="leading"], :host(:state(-has-trailing)) slot[name="trailing"] { display: flex; justify-content: center; } :host(:not(:state(-has-leading))) slot[name="leading"] { display: var(--_list-item-leading-reserved-display, contents); } :host(:not(:state(-has-trailing))) slot[name="trailing"] { display: var(--_list-item-trailing-reserved-display, contents); } slot[name="leading"] { min-width: var(--_list-item-leading-reserved-space, 0px); margin-inline-start: calc(0px - var(--_list-item-leading-reserved-outset, 0px)); } slot[name="trailing"] { min-width: var(--_list-item-trailing-reserved-space, 0px); margin-inline-end: calc(0px - var(--_list-item-trailing-reserved-outset, 0px)); } ::slotted(span[slot="trailing"]), ::slotted([slot="trailing-supporting-text"]) { white-space: nowrap; font-size: var(--m3e-list-item-trailing-text-font-size, ${DesignToken$1.typescale.standard.label.small.fontSize}); font-weight: var( --m3e-list-item-trailing-text-font-weight, ${DesignToken$1.typescale.standard.label.small.fontWeight} ); line-height: var( --m3e-list-item-trailing-text-line-height, ${DesignToken$1.typescale.standard.label.small.lineHeight} ); letter-spacing: var( --m3e-list-item-trailing-text-tracking, ${DesignToken$1.typescale.standard.label.small.tracking} ); } ::slotted(video[slot="leading"]), ::slotted(video[slot="trailing"]), ::slotted(img[slot="leading"]), ::slotted(img[slot="trailing"]) { display: block; margin: 0 auto; overflow: hidden; object-fit: cover; } ::slotted(video) { width: var(--m3e-list-item-video-width, 6.25rem); height: var(--m3e-list-item-video-height, 3.5rem); } ::slotted(video[slot="leading"]), ::slotted(video[slot="trailing"]) { border-radius: var(--m3e-list-item-video-shape, ${DesignToken$1.shape.corner.none}); } ::slotted(video[slot="leading"]) { margin-inline-start: calc(0px - var(--_list-item-leading-video-outset, 0px)); } ::slotted(video[slot="trailing"]) { margin-inline-end: calc(0px - var(--_list-item-trailing-video-outset, 0px)); } ::slotted(img) { user-drag: none; user-select: none; pointer-events: none; width: var(--m3e-list-item-image-width, 3.5rem); height: var(--m3e-list-item-image-height, 3.5rem); } ::slotted(img[slot="leading"]), ::slotted(img[slot="trailing"]) { border-radius: var(--m3e-list-item-image-shape, ${DesignToken$1.shape.corner.none}); } ::slotted(m3e-icon[slot="leading"]), ::slotted(m3e-icon[slot="leading-icon"]), ::slotted(m3e-icon[slot="trailing"]), ::slotted(m3e-icon[slot="trailing-icon"]) { --m3e-icon-size: var(--m3e-list-item-icon-size, 1.5rem); } :host(:not(:disabled)) ::slotted(m3e-icon[slot="leading"]), :host(:not(:disabled)) ::slotted(m3e-icon[slot="leading-icon"]) { color: var(--m3e-list-item-leading-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not(:disabled)) .content { color: var(--m3e-list-item-label-text-color, ${DesignToken$1.color.onSurface}); } :host(:not(:disabled)) ::slotted([slot="overline"]) { color: var(--m3e-list-item-overline-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not(:disabled)) ::slotted([slot="supporting-text"]) { color: var(--m3e-list-item-supporting-text-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not(:disabled)) ::slotted([slot="trailing"]), :host(:not(:disabled)) ::slotted([slot="trailing-supporting-text"]), :host(:not(:disabled)) ::slotted([slot="trailing-icon"]) { color: var(--m3e-list-item-trailing-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:not(:disabled)) .base { background-color: var(--_list-item-container-color, var(--m3e-list-item-container-color, transparent)); } :host(:disabled) .base { background-color: var(--m3e-list-item-disabled-container-color, transparent); } :host(:disabled) ::slotted(video), :host(:disabled) ::slotted(img), :host(:disabled) ::slotted(m3e-avatar) { opacity: var(--m3e-list-item-disabled-media-opacity, 38%); } :host(:disabled) .content { color: color-mix( in srgb, var(--m3e-list-item-disabled-label-text-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-label-text-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="overline"]) { color: color-mix( in srgb, var(--m3e-list-item-disabled-overline-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-overline-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="supporting-text"]) { color: color-mix( in srgb, var(--m3e-list-item-disabled-supporting-text-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-supporting-text-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="leading"]), :host(:disabled) ::slotted([slot="leading-icon"]) { color: color-mix( in srgb, var(--m3e-list-item-disabled-leading-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-leading-opacity, 38%), transparent ); } :host(:disabled) ::slotted([slot="trailing"]), :host(:disabled) ::slotted([slot="trailing-supporting-text"]), :host(:disabled) ::slotted([slot="trailing-icon"]) { color: color-mix( in srgb, var(--m3e-list-item-disabled-trailing-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-disabled-trailing-opacity, 38%), transparent ); } :host(:not(:disabled)) .state-layer { --m3e-state-layer-hover-color: var(--m3e-list-item-hover-state-layer-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-hover-opacity: var( --m3e-list-item-hover-state-layer-opacity, ${DesignToken$1.state.hoverStateLayerOpacity} ); --m3e-state-layer-focus-color: var(--m3e-list-item-focus-state-layer-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-focus-opacity: var( --m3e-list-item-focus-state-layer-opacity, ${DesignToken$1.state.focusStateLayerOpacity} ); } :host(:not(:disabled)) .ripple { --m3e-ripple-color: var(--m3e-list-item-pressed-state-layer-color, ${DesignToken$1.color.onSurface}); --m3e-ripple-opacity: var( --m3e-list-item-pressed-state-layer-opacity, ${DesignToken$1.state.pressedStateLayerOpacity} ); } @media (forced-colors: active) { :host(:disabled) ::slotted([slot="leading"]), :host(:disabled) ::slotted([slot="leading-icon"]), :host(:disabled) .content, :host(:disabled) ::slotted([slot="overline"]), :host(:disabled) ::slotted([slot="supporting-text"]), :host(:disabled) ::slotted([slot="trailing"]), :host(:disabled) ::slotted([slot="trailing-supporting-text"]), :host(:disabled) ::slotted([slot="trailing-icon"]) { color: GrayText; } } @media (prefers-reduced-motion) { .base { transition: none; } }`;
15319
+ M3eListItemElement = __decorate([customElement$1("m3e-list-item")], M3eListItemElement);
15221
15320
 
15222
15321
  var _M3eListElement_instances, _M3eListElement_items, _M3eListElement_leadingContentTypes, _M3eListElement_trailingContentTypes, _M3eListElement_handleSlotChange;
15223
15322
  /**
@@ -15264,7 +15363,7 @@ var _M3eListElement_instances, _M3eListElement_items, _M3eListElement_leadingCon
15264
15363
  * @cssprop --m3e-segmented-list-item-focus-container-shape - Border radius of items in segmented variant on focus.
15265
15364
  * @cssprop --m3e-segmented-list-item-selected-container-shape - Border radius of items in segmented variant when selected.
15266
15365
  */
15267
- let M3eListElement = class M3eListElement extends Role$1(LitElement, "list") {
15366
+ let M3eListElement = class M3eListElement extends AttachInternals$1(Role$1(LitElement, "list")) {
15268
15367
  constructor() {
15269
15368
  super(...arguments);
15270
15369
  _M3eListElement_instances.add(this);
@@ -15325,7 +15424,7 @@ let M3eListElement = class M3eListElement extends Role$1(LitElement, "list") {
15325
15424
  __classPrivateFieldGet(this, _M3eListElement_leadingContentTypes, "f")[newType]++;
15326
15425
  }
15327
15426
  ["video", "image", "avatar", "icon"].forEach(x => {
15328
- this.classList.toggle(`-has-leading-${x}`, this.leadingContentType === x);
15427
+ setCustomState$1(this, `-has-leading-${x}`, this.leadingContentType === x);
15329
15428
  });
15330
15429
  }
15331
15430
  /**
@@ -15340,7 +15439,7 @@ let M3eListElement = class M3eListElement extends Role$1(LitElement, "list") {
15340
15439
  __classPrivateFieldGet(this, _M3eListElement_trailingContentTypes, "f")[newType]--;
15341
15440
  }
15342
15441
  ["video", "image", "avatar", "icon"].forEach(x => {
15343
- this.classList.toggle(`-has-trailing-${x}`, this.trailingContentType === x);
15442
+ setCustomState$1(this, `-has-trailing-${x}`, this.trailingContentType === x);
15344
15443
  });
15345
15444
  }
15346
15445
  };
@@ -15353,17 +15452,17 @@ _M3eListElement_handleSlotChange = function _M3eListElement_handleSlotChange(e)
15353
15452
  flatten: true
15354
15453
  }).filter(x => x instanceof M3eListItemElement), "f");
15355
15454
  __classPrivateFieldGet(this, _M3eListElement_items, "f").forEach((x, i) => {
15356
- x.classList.toggle("-first", i === 0);
15357
- x.classList.toggle("-last", i === __classPrivateFieldGet(this, _M3eListElement_items, "f").length - 1);
15455
+ setCustomState$1(x, "-first", i === 0);
15456
+ setCustomState$1(x, "-last", i === __classPrivateFieldGet(this, _M3eListElement_items, "f").length - 1);
15358
15457
  });
15359
15458
  this.notifyItemsChange();
15360
15459
  };
15361
15460
  /** The styles of the element. */
15362
- M3eListElement.styles = css`:host { display: flex; flex-direction: column; overflow-y: auto; box-sizing: border-box; padding-block: var(--m3e-list-block-padding, 0px); --m3e-divider-inset-start-size: var(--m3e-list-divider-inset-start-size, 1rem); --m3e-divider-inset-end-size: var(--m3e-list-divider-inset-end-size, 1.5rem); } :host([variant="standard"]) { --_list-item-leading-video-outset: var(--m3e-list-item-leading-space, 1rem); --_list-item-trailing-video-outset: var(--m3e-list-item-trailing-space, 1rem); --_expandable-list-item-expanded-toggle-icon-container-color: transparent; } :host([variant="segmented"]) { row-gap: var(--m3e-segmented-list-segment-gap, 0.125rem); } :host([variant="segmented"]) { --m3e-list-item-container-color: var(--m3e-segmented-list-item-container-color, ${DesignToken$1.color.surface}); --m3e-list-item-disabled-container-color: var( --m3e-segmented-list-item-disabled-container-color, ${DesignToken$1.color.surface} ); --m3e-list-item-container-shape: var( --m3e-segmented-list-item-container-shape, ${DesignToken$1.shape.corner.extraSmall} ); --m3e-list-item-hover-container-shape: var( --m3e-segmented-list-item-hover-container-shape, ${DesignToken$1.shape.corner.medium} ); --m3e-list-item-focus-container-shape: var( --m3e-segmented-list-item-focus-container-shape, ${DesignToken$1.shape.corner.large} ); --m3e-list-item-selected-container-shape: var( --m3e-segmented-list-item-selected-container-shape, ${DesignToken$1.shape.corner.large} ); --m3e-list-item-video-shape: var(--m3e-segmented-list-item-video-shape, ${DesignToken$1.shape.corner.small}); --m3e-list-item-image-shape: var(--m3e-segmented-list-item-image-shape, ${DesignToken$1.shape.corner.small}); --m3e-list-item-between-space: var(--m3e-segmented-list-item-spacing, 0.75rem); --_expandable-list-item-items-segment-gap: var(--m3e-segmented-list-segment-gap, 0.125rem); --_expandable-list-item-expanded-top-shape: var( --m3e-segmented-list-container-shape, ${DesignToken$1.shape.corner.large} ); } :host([variant="segmented"]) ::slotted(.-first), :host([variant="segmented"]) ::slotted(.-has-previous-open:not([open])) { --_list-item-top-container-shape: var(--m3e-segmented-list-container-shape, ${DesignToken$1.shape.corner.large}); } :host([variant="segmented"]) ::slotted(.-has-next-open:not([open])), :host([variant="segmented"]) ::slotted(.-last) { --_list-item-bottom-container-shape: var(--m3e-segmented-list-container-shape, ${DesignToken$1.shape.corner.large}); } :host([variant="segmented"]) ::slotted(m3e-divider) { display: none; } :host(.-has-leading-video) { --_list-item-leading-reserved-display: block; --_list-item-leading-reserved-space: var(--m3e-list-item-video-width, 6.25rem); } :host([variant="standard"].-has-leading-video) { --_list-item-leading-reserved-outset: var(--m3e-list-item-leading-space, 1rem); --_list-item-trailing-reserved-outset: var(--m3e-list-item-trailing-space, 1rem); } :host(.-has-leading-image) { --_list-item-leading-reserved-display: block; --_list-item-leading-reserved-space: var(--m3e-list-item-image-width, 3.5rem); } :host(.-has-leading-avatar) { --_list-item-leading-reserved-display: block; --_list-item-leading-reserved-space: var(--m3e-avatar-size, 2.5rem); } :host(.-has-leading-icon) { --_list-item-leading-reserved-display: block; --_list-item-leading-reserved-space: var(--m3e-list-item-icon-size, 1.5rem); }`;
15461
+ M3eListElement.styles = css`:host { display: flex; flex-direction: column; overflow-y: auto; box-sizing: border-box; padding-block: var(--m3e-list-block-padding, 0px); --m3e-divider-inset-start-size: var(--m3e-list-divider-inset-start-size, 1rem); --m3e-divider-inset-end-size: var(--m3e-list-divider-inset-end-size, 1.5rem); } :host([variant="standard"]) { --_list-item-leading-video-outset: var(--m3e-list-item-leading-space, 1rem); --_list-item-trailing-video-outset: var(--m3e-list-item-trailing-space, 1rem); --_expandable-list-item-expanded-toggle-icon-container-color: transparent; } :host([variant="segmented"]) { row-gap: var(--m3e-segmented-list-segment-gap, 0.125rem); } :host([variant="segmented"]) { --m3e-list-item-container-color: var(--m3e-segmented-list-item-container-color, ${DesignToken$1.color.surface}); --m3e-list-item-disabled-container-color: var( --m3e-segmented-list-item-disabled-container-color, ${DesignToken$1.color.surface} ); --m3e-list-item-container-shape: var( --m3e-segmented-list-item-container-shape, ${DesignToken$1.shape.corner.extraSmall} ); --m3e-list-item-hover-container-shape: var( --m3e-segmented-list-item-hover-container-shape, ${DesignToken$1.shape.corner.medium} ); --m3e-list-item-focus-container-shape: var( --m3e-segmented-list-item-focus-container-shape, ${DesignToken$1.shape.corner.large} ); --m3e-list-item-selected-container-shape: var( --m3e-segmented-list-item-selected-container-shape, ${DesignToken$1.shape.corner.large} ); --m3e-list-item-video-shape: var(--m3e-segmented-list-item-video-shape, ${DesignToken$1.shape.corner.small}); --m3e-list-item-image-shape: var(--m3e-segmented-list-item-image-shape, ${DesignToken$1.shape.corner.small}); --m3e-list-item-between-space: var(--m3e-segmented-list-item-spacing, 0.75rem); --_expandable-list-item-items-segment-gap: var(--m3e-segmented-list-segment-gap, 0.125rem); --_expandable-list-item-expanded-top-shape: var( --m3e-segmented-list-container-shape, ${DesignToken$1.shape.corner.large} ); } :host([variant="segmented"]) ::slotted(:state(-first)), :host([variant="segmented"]) ::slotted(:state(-has-previous-open):not([open])) { --_list-item-top-container-shape: var(--m3e-segmented-list-container-shape, ${DesignToken$1.shape.corner.large}); } :host([variant="segmented"]) ::slotted(:state(-has-next-open):not([open])), :host([variant="segmented"]) ::slotted(:state(-last)) { --_list-item-bottom-container-shape: var(--m3e-segmented-list-container-shape, ${DesignToken$1.shape.corner.large}); } :host([variant="segmented"]) ::slotted(m3e-divider) { display: none; } :host(:state(-has-leading-video)) { --_list-item-leading-reserved-display: block; --_list-item-leading-reserved-space: var(--m3e-list-item-video-width, 6.25rem); } :host([variant="standard"]:state(-has-leading-video)) { --_list-item-leading-reserved-outset: var(--m3e-list-item-leading-space, 1rem); --_list-item-trailing-reserved-outset: var(--m3e-list-item-trailing-space, 1rem); } :host(:state(-has-leading-image)) { --_list-item-leading-reserved-display: block; --_list-item-leading-reserved-space: var(--m3e-list-item-image-width, 3.5rem); } :host(:state(-has-leading-avatar)) { --_list-item-leading-reserved-display: block; --_list-item-leading-reserved-space: var(--m3e-avatar-size, 2.5rem); } :host(:state(-has-leading-icon)) { --_list-item-leading-reserved-display: block; --_list-item-leading-reserved-space: var(--m3e-list-item-icon-size, 1.5rem); }`;
15363
15462
  __decorate([n$1({
15364
15463
  reflect: true
15365
15464
  })], M3eListElement.prototype, "variant", void 0);
15366
- M3eListElement = __decorate([t$3("m3e-list")], M3eListElement);
15465
+ M3eListElement = __decorate([customElement$1("m3e-list")], M3eListElement);
15367
15466
 
15368
15467
  var _M3eExpandableListItemElement_instances, _M3eExpandableListItemElement_id, _M3eExpandableListItemElement_contentId, _M3eExpandableListItemElement_headerId, _M3eExpandableListItemElement_items, _M3eExpandableListItemElement_handleHeaderClick, _M3eExpandableListItemElement_handleCollapsibleEvent, _M3eExpandableListItemElement_handleSlotChange;
15369
15468
  var M3eExpandableListItemElement_1;
@@ -15525,13 +15624,13 @@ let M3eExpandableListItemElement = M3eExpandableListItemElement_1 = class M3eExp
15525
15624
  if (_changedProperties.has("open")) {
15526
15625
  for (let sibling = this.previousElementSibling; sibling; sibling = sibling.previousElementSibling) {
15527
15626
  if (sibling instanceof M3eListItemElement) {
15528
- sibling.classList.toggle("-has-next-open", this.open);
15627
+ setCustomState$1(sibling, "-has-next-open", this.open);
15529
15628
  break;
15530
15629
  }
15531
15630
  }
15532
15631
  for (let sibling = this.nextElementSibling; sibling; sibling = sibling.nextElementSibling) {
15533
15632
  if (sibling instanceof M3eListItemElement) {
15534
- sibling.classList.toggle("-has-previous-open", this.open);
15633
+ setCustomState$1(sibling, "-has-previous-open", this.open);
15535
15634
  break;
15536
15635
  }
15537
15636
  }
@@ -15590,7 +15689,7 @@ __decorate([n$1({
15590
15689
  reflect: true
15591
15690
  })], M3eExpandableListItemElement.prototype, "open", void 0);
15592
15691
  __decorate([e$4(".header")], M3eExpandableListItemElement.prototype, "button", void 0);
15593
- M3eExpandableListItemElement = M3eExpandableListItemElement_1 = __decorate([t$3("m3e-expandable-list-item")], M3eExpandableListItemElement);
15692
+ M3eExpandableListItemElement = M3eExpandableListItemElement_1 = __decorate([customElement$1("m3e-expandable-list-item")], M3eExpandableListItemElement);
15594
15693
 
15595
15694
  var _M3eActionListElement_keyDownHandler, _a$8;
15596
15695
  /**
@@ -15675,7 +15774,7 @@ let M3eActionListElement = class M3eActionListElement extends M3eListElement {
15675
15774
  };
15676
15775
  _M3eActionListElement_keyDownHandler = new WeakMap();
15677
15776
  _a$8 = selectionManager;
15678
- M3eActionListElement = __decorate([t$3("m3e-action-list")], M3eActionListElement);
15777
+ M3eActionListElement = __decorate([customElement$1("m3e-action-list")], M3eActionListElement);
15679
15778
 
15680
15779
  var _M3eListActionElement_instances, _M3eListActionElement_handleClick;
15681
15780
  /**
@@ -15798,7 +15897,7 @@ __decorate([n$1({
15798
15897
  type: Boolean,
15799
15898
  reflect: true
15800
15899
  })], M3eListActionElement.prototype, "disabled", void 0);
15801
- M3eListActionElement = __decorate([t$3("m3e-list-action")], M3eListActionElement);
15900
+ M3eListActionElement = __decorate([customElement$1("m3e-list-action")], M3eListActionElement);
15802
15901
 
15803
15902
  /**
15804
15903
  * @internal
@@ -15813,6 +15912,9 @@ let M3eListItemButtonElement = class M3eListItemButtonElement extends KeyboardCl
15813
15912
  new PressedController$1(this, {
15814
15913
  callback: pressed => this.shadowRoot?.querySelector(".base")?.classList.toggle("pressed", pressed)
15815
15914
  });
15915
+ new HoverController$1(this, {
15916
+ callback: hovering => this.shadowRoot?.querySelector(".base")?.classList.toggle("hover", hovering)
15917
+ });
15816
15918
  }
15817
15919
  /** @inheritdoc */
15818
15920
  firstUpdated(_changedProperties) {
@@ -15829,7 +15931,7 @@ M3eListItemButtonElement.styles = [M3eListItemElement.styles, css`:host { outlin
15829
15931
  __decorate([e$4(".focus-ring")], M3eListItemButtonElement.prototype, "_focusRing", void 0);
15830
15932
  __decorate([e$4(".state-layer")], M3eListItemButtonElement.prototype, "_stateLayer", void 0);
15831
15933
  __decorate([e$4(".ripple")], M3eListItemButtonElement.prototype, "_ripple", void 0);
15832
- M3eListItemButtonElement = __decorate([t$3("m3e-list-item-button")], M3eListItemButtonElement);
15934
+ M3eListItemButtonElement = __decorate([customElement$1("m3e-list-item-button")], M3eListItemButtonElement);
15833
15935
 
15834
15936
  var _M3eListOptionElement_instances, _M3eListOptionElement_value, _M3eListOptionElement_textContent, _M3eListOptionElement_clickHandler, _M3eListOptionElement_handleSlotChange, _M3eListOptionElement_handleClick;
15835
15937
  /**
@@ -15944,6 +16046,9 @@ let M3eListOptionElement = class M3eListOptionElement extends KeyboardClick$1(Fo
15944
16046
  new PressedController$1(this, {
15945
16047
  callback: pressed => this.shadowRoot?.querySelector(".base")?.classList.toggle("pressed", pressed)
15946
16048
  });
16049
+ new HoverController$1(this, {
16050
+ callback: hovering => this.shadowRoot?.querySelector(".base")?.classList.toggle("hover", hovering)
16051
+ });
15947
16052
  }
15948
16053
  /** A string representing the value of the option. */
15949
16054
  get value() {
@@ -16010,12 +16115,12 @@ _M3eListOptionElement_handleClick = function _M3eListOptionElement_handleClick(e
16010
16115
  }
16011
16116
  };
16012
16117
  /** The styles of the element. */
16013
- M3eListOptionElement.styles = [M3eListItemElement.styles, css`:host { outline: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .base { position: relative; } .indicator { min-width: 1.5rem; min-height: 1.5rem; display: flex; align-items: center; justify-content: center; } :host(:not(:disabled)) { cursor: pointer; } :host(.-three-line) .indicator { align-self: flex-start; margin-top: var(--m3e-list-item-three-line-top-offset, 0.25rem); } :host([selected]) .base, :host([selected]) .state-layer, :host([selected]) .ripple, :host([selected]) .focus-ring { border-radius: var(--m3e-list-item-selected-container-shape, ${DesignToken$1.shape.corner.large}); } :host([selected]:not(:disabled)) .base { color: var(--m3e-list-item-selected-label-text-color, ${DesignToken$1.color.onSecondaryContainer}); } :host([selected]:not(:disabled)) ::slotted([slot="overline"]) { color: var(--m3e-list-item-selected-overline-color, ${DesignToken$1.color.onSecondaryContainer}); } :host([selected]:not(:disabled)) ::slotted([slot="supporting-text"]) { color: var(--m3e-list-item-selected-supporting-text-color, ${DesignToken$1.color.onSecondaryContainer}); } :host([selected]:not(:disabled)) ::slotted([slot="leading"]) { color: var(--m3e-list-item-selected-leading-color, ${DesignToken$1.color.onSecondaryContainer}); } :host([selected]:not(:disabled)) ::slotted([slot="trailing"]) { color: var(--m3e-list-item-selected-trailing-color, ${DesignToken$1.color.onSecondaryContainer}); } :host([selected]:not(:disabled)) .base { background-color: var(--m3e-list-item-selected-container-color, ${DesignToken$1.color.secondaryContainer}); } :host([selected]:disabled) .base { background-color: color-mix( in srgb, var(--m3e-list-item-selected-disabled-container-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-selected-disabled-container-opacity, 10%), transparent ); } :host([selected]:not(:disabled)) .state-layer { --m3e-state-layer-hover-color: var( --m3e-list-item-selected-hover-state-layer-color, ${DesignToken$1.color.onSurface} ); --m3e-state-layer-hover-opacity: var( --m3e-list-item-selected-hover-state-layer-opacity, ${DesignToken$1.state.hoverStateLayerOpacity} ); --m3e-state-layer-focus-color: var( --m3e-list-item-selected-focus-state-layer-color, ${DesignToken$1.color.onSurface} ); --m3e-state-layer-focus-opacity: var( --m3e-list-item-selected-focus-state-layer-opacity, ${DesignToken$1.state.focusStateLayerOpacity} ); } :host([selected]:not(:disabled)) .ripple { --m3e-ripple-color: var(--m3e-list-item-selected-pressed-state-layer-color, ${DesignToken$1.color.onSurface}); --m3e-ripple-opacity: var( --m3e-list-item-selected-pressed-state-layer-opacity, ${DesignToken$1.state.pressedStateLayerOpacity} ); } :host(.-hide-selection) .indicator, :host(:not(.-hide-selection)) ::slotted([slot="trailing"]) { display: none; } @media (forced-colors: active) { :host([selected]:not(:disabled)) .content, :host([selected]:not(:disabled)) ::slotted([slot="overline"]), :host([selected]:not(:disabled)) ::slotted([slot="supporting-text"]), :host([selected]:not(:disabled)) ::slotted([slot="leading"]), :host([selected]:not(:disabled)) ::slotted([slot="trailing"]) { color: HighlightText; forced-color-adjust: none; } :host([selected]:not(:disabled)) .base { background-color: Highlight; } }`];
16118
+ M3eListOptionElement.styles = [M3eListItemElement.styles, css`:host { outline: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .base { position: relative; } .indicator { min-width: 1.5rem; min-height: 1.5rem; display: flex; align-items: center; justify-content: center; } :host(:not(:disabled)) { cursor: pointer; } :host(:state(-three-line)) .indicator { align-self: flex-start; margin-top: var(--m3e-list-item-three-line-top-offset, 0.25rem); } :host([selected]) .base, :host([selected]) .state-layer, :host([selected]) .ripple, :host([selected]) .focus-ring { border-radius: var(--m3e-list-item-selected-container-shape, ${DesignToken$1.shape.corner.large}); } :host([selected]:not(:disabled)) .base { color: var(--m3e-list-item-selected-label-text-color, ${DesignToken$1.color.onSecondaryContainer}); } :host([selected]:not(:disabled)) ::slotted([slot="overline"]) { color: var(--m3e-list-item-selected-overline-color, ${DesignToken$1.color.onSecondaryContainer}); } :host([selected]:not(:disabled)) ::slotted([slot="supporting-text"]) { color: var(--m3e-list-item-selected-supporting-text-color, ${DesignToken$1.color.onSecondaryContainer}); } :host([selected]:not(:disabled)) ::slotted([slot="leading"]) { color: var(--m3e-list-item-selected-leading-color, ${DesignToken$1.color.onSecondaryContainer}); } :host([selected]:not(:disabled)) ::slotted([slot="trailing"]) { color: var(--m3e-list-item-selected-trailing-color, ${DesignToken$1.color.onSecondaryContainer}); } :host([selected]:not(:disabled)) .base { background-color: var(--m3e-list-item-selected-container-color, ${DesignToken$1.color.secondaryContainer}); } :host([selected]:disabled) .base { background-color: color-mix( in srgb, var(--m3e-list-item-selected-disabled-container-color, ${DesignToken$1.color.onSurface}) var(--m3e-list-item-selected-disabled-container-opacity, 10%), transparent ); } :host([selected]:not(:disabled)) .state-layer { --m3e-state-layer-hover-color: var( --m3e-list-item-selected-hover-state-layer-color, ${DesignToken$1.color.onSurface} ); --m3e-state-layer-hover-opacity: var( --m3e-list-item-selected-hover-state-layer-opacity, ${DesignToken$1.state.hoverStateLayerOpacity} ); --m3e-state-layer-focus-color: var( --m3e-list-item-selected-focus-state-layer-color, ${DesignToken$1.color.onSurface} ); --m3e-state-layer-focus-opacity: var( --m3e-list-item-selected-focus-state-layer-opacity, ${DesignToken$1.state.focusStateLayerOpacity} ); } :host([selected]:not(:disabled)) .ripple { --m3e-ripple-color: var(--m3e-list-item-selected-pressed-state-layer-color, ${DesignToken$1.color.onSurface}); --m3e-ripple-opacity: var( --m3e-list-item-selected-pressed-state-layer-opacity, ${DesignToken$1.state.pressedStateLayerOpacity} ); } :host(:state(-hide-selection)) .indicator, :host(:not(:state(-hide-selection))) ::slotted([slot="trailing"]) { display: none; } @media (forced-colors: active) { :host([selected]:not(:disabled)) .content, :host([selected]:not(:disabled)) ::slotted([slot="overline"]), :host([selected]:not(:disabled)) ::slotted([slot="supporting-text"]), :host([selected]:not(:disabled)) ::slotted([slot="leading"]), :host([selected]:not(:disabled)) ::slotted([slot="trailing"]) { color: HighlightText; forced-color-adjust: none; } :host([selected]:not(:disabled)) .base { background-color: Highlight; } }`];
16014
16119
  __decorate([e$4(".focus-ring")], M3eListOptionElement.prototype, "_focusRing", void 0);
16015
16120
  __decorate([e$4(".state-layer")], M3eListOptionElement.prototype, "_stateLayer", void 0);
16016
16121
  __decorate([e$4(".ripple")], M3eListOptionElement.prototype, "_ripple", void 0);
16017
16122
  __decorate([n$1()], M3eListOptionElement.prototype, "value", null);
16018
- M3eListOptionElement = __decorate([t$3("m3e-list-option")], M3eListOptionElement);
16123
+ M3eListOptionElement = __decorate([customElement$1("m3e-list-option")], M3eListOptionElement);
16019
16124
 
16020
16125
  var _M3eSelectionListElement_instances, _M3eSelectionListElement_keyDownHandler, _M3eSelectionListElement_changeHandler, _M3eSelectionListElement_handleChange, _a$7;
16021
16126
  /**
@@ -16132,7 +16237,7 @@ let M3eSelectionListElement = class M3eSelectionListElement extends Labelled$1(D
16132
16237
  this[selectionManager].items.forEach(x => x.requestUpdate());
16133
16238
  }
16134
16239
  if (changedProperties.has("hideSelectionIndicator")) {
16135
- this[selectionManager].items.forEach(x => x.classList.toggle("-hide-selection", this.hideSelectionIndicator));
16240
+ this[selectionManager].items.forEach(x => setCustomState$1(x, "-hide-selection", this.hideSelectionIndicator));
16136
16241
  }
16137
16242
  }
16138
16243
  /** @inheritdoc */
@@ -16140,7 +16245,7 @@ let M3eSelectionListElement = class M3eSelectionListElement extends Labelled$1(D
16140
16245
  const {
16141
16246
  added
16142
16247
  } = this[selectionManager].setItems(this.items.filter(x => x instanceof M3eListOptionElement));
16143
- added.forEach(x => x.classList.toggle("-hide-selection", this.hideSelectionIndicator));
16248
+ added.forEach(x => setCustomState$1(x, "-hide-selection", this.hideSelectionIndicator));
16144
16249
  if (!this[selectionManager].activeItem) {
16145
16250
  this[selectionManager].updateActiveItem(added.find(x => !x.disabled));
16146
16251
  }
@@ -16162,7 +16267,7 @@ __decorate([n$1({
16162
16267
  attribute: "hide-selection-indicator",
16163
16268
  type: Boolean
16164
16269
  })], M3eSelectionListElement.prototype, "hideSelectionIndicator", void 0);
16165
- M3eSelectionListElement = __decorate([t$3("m3e-selection-list")], M3eSelectionListElement);
16270
+ M3eSelectionListElement = __decorate([customElement$1("m3e-selection-list")], M3eSelectionListElement);
16166
16271
 
16167
16272
  const LoadingIndicatorToken = {
16168
16273
  activeIndicatorSize: unsafeCSS(`var(--m3e-loading-indicator-size, 2.375rem)`),
@@ -16262,7 +16367,7 @@ __decorate([e$4(".active-indicator")], M3eLoadingIndicatorElement.prototype, "_a
16262
16367
  __decorate([n$1({
16263
16368
  reflect: true
16264
16369
  })], M3eLoadingIndicatorElement.prototype, "variant", void 0);
16265
- M3eLoadingIndicatorElement = __decorate([t$3("m3e-loading-indicator")], M3eLoadingIndicatorElement);
16370
+ M3eLoadingIndicatorElement = __decorate([customElement$1("m3e-loading-indicator")], M3eLoadingIndicatorElement);
16266
16371
 
16267
16372
  /** A base implementation for an item of a menu. This class must be inherited. */
16268
16373
  class MenuItemElementBase extends KeyboardClick$1(Focusable$1(AttachInternals$1(Disabled$1(LitElement), true))) {
@@ -16291,7 +16396,7 @@ class MenuItemElementBase extends KeyboardClick$1(Focusable$1(AttachInternals$1(
16291
16396
  }
16292
16397
  }
16293
16398
  /** The styles of the element. */
16294
- 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$1.color.onSurface}); } :host(:not([aria-expanded="true"])) .base { --m3e-state-layer-hover-color: var(--m3e-menu-item-container-hover-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-focus-color: var(--m3e-menu-item-container-focus-color, ${DesignToken$1.color.onSurface}); --m3e-ripple-color: var(--m3e-menu-item-ripple-color, ${DesignToken$1.color.onSurface}); } :host(:not(:disabled)[aria-expanded="true"]) .base { background-color: color-mix( in srgb, var(--m3e-menu-item-active-state-layer-color, ${DesignToken$1.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$1.color.onTertiaryContainer}); background-color: var(--m3e-menu-item-selected-container-color, ${DesignToken$1.color.tertiaryContainer}); } :host([checked]) .base { --m3e-state-layer-hover-color: var( --m3e-menu-item-selected-container-hover-color, ${DesignToken$1.color.onTertiaryContainer} ); --m3e-state-layer-focus-color: var( --m3e-menu-item-selected-container-focus-color, ${DesignToken$1.color.onTertiaryContainer} ); --m3e-ripple-color: var(--m3e-menu-item-selected-ripple-color, ${DesignToken$1.color.onTertiaryContainer}); } :host(:not(:disabled)) { cursor: pointer; } :host(:disabled) .base { color: color-mix( in srgb, var(--m3e-menu-item-disabled-color, ${DesignToken$1.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$1.shape.corner.extraSmall}); transition: ${unsafeCSS(`border-radius ${DesignToken$1.motion.spring.fastEffects}`)}; } :host([checked]:not(.-first)) .base { border-top-left-radius: var(--m3e-menu-item-selected-shape, ${DesignToken$1.shape.corner.medium}); border-top-right-radius: var(--m3e-menu-item-selected-shape, ${DesignToken$1.shape.corner.medium}); } :host([checked]:not(.-last)) .base { border-bottom-left-radius: var(--m3e-menu-item-selected-shape, ${DesignToken$1.shape.corner.medium}); border-bottom-right-radius: var(--m3e-menu-item-selected-shape, ${DesignToken$1.shape.corner.medium}); } :host(.-first) .base { border-top-left-radius: var(--m3e-menu-item-first-child-shape, ${DesignToken$1.shape.corner.medium}); border-top-right-radius: var(--m3e-menu-item-first-child-shape, ${DesignToken$1.shape.corner.medium}); } :host(.-last) .base { border-bottom-left-radius: var(--m3e-menu-item-last-child-shape, ${DesignToken$1.shape.corner.medium}); border-bottom-right-radius: var(--m3e-menu-item-last-child-shape, ${DesignToken$1.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$1.typescale.standard.label.large.fontSize}); font-weight: var( --m3e-menu-item-label-text-font-weight, ${DesignToken$1.typescale.standard.label.large.fontWeight} ); line-height: var( --m3e-menu-item-label-text-line-height, ${DesignToken$1.typescale.standard.label.large.lineHeight} ); letter-spacing: var(--m3e-menu-item-label-text-tracking, ${DesignToken$1.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; } }`;
16399
+ 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$1.color.onSurface}); } :host(:not([aria-expanded="true"])) .base { --m3e-state-layer-hover-color: var(--m3e-menu-item-container-hover-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-focus-color: var(--m3e-menu-item-container-focus-color, ${DesignToken$1.color.onSurface}); --m3e-ripple-color: var(--m3e-menu-item-ripple-color, ${DesignToken$1.color.onSurface}); } :host(:not(:disabled)[aria-expanded="true"]) .base { background-color: color-mix( in srgb, var(--m3e-menu-item-active-state-layer-color, ${DesignToken$1.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$1.color.onTertiaryContainer}); background-color: var(--m3e-menu-item-selected-container-color, ${DesignToken$1.color.tertiaryContainer}); } :host([checked]) .base { --m3e-state-layer-hover-color: var( --m3e-menu-item-selected-container-hover-color, ${DesignToken$1.color.onTertiaryContainer} ); --m3e-state-layer-focus-color: var( --m3e-menu-item-selected-container-focus-color, ${DesignToken$1.color.onTertiaryContainer} ); --m3e-ripple-color: var(--m3e-menu-item-selected-ripple-color, ${DesignToken$1.color.onTertiaryContainer}); } :host(:not(:disabled)) { cursor: pointer; } :host(:disabled) .base { color: color-mix( in srgb, var(--m3e-menu-item-disabled-color, ${DesignToken$1.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$1.shape.corner.extraSmall}); transition: ${unsafeCSS(`border-radius ${DesignToken$1.motion.spring.fastEffects}`)}; } :host([checked]:not(:state(-first))) .base { border-top-left-radius: var(--m3e-menu-item-selected-shape, ${DesignToken$1.shape.corner.medium}); border-top-right-radius: var(--m3e-menu-item-selected-shape, ${DesignToken$1.shape.corner.medium}); } :host([checked]:not(:state(-last))) .base { border-bottom-left-radius: var(--m3e-menu-item-selected-shape, ${DesignToken$1.shape.corner.medium}); border-bottom-right-radius: var(--m3e-menu-item-selected-shape, ${DesignToken$1.shape.corner.medium}); } :host(:state(-first)) .base { border-top-left-radius: var(--m3e-menu-item-first-child-shape, ${DesignToken$1.shape.corner.medium}); border-top-right-radius: var(--m3e-menu-item-first-child-shape, ${DesignToken$1.shape.corner.medium}); } :host(:state(-last)) .base { border-bottom-left-radius: var(--m3e-menu-item-last-child-shape, ${DesignToken$1.shape.corner.medium}); border-bottom-right-radius: var(--m3e-menu-item-last-child-shape, ${DesignToken$1.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$1.typescale.standard.label.large.fontSize}); font-weight: var( --m3e-menu-item-label-text-font-weight, ${DesignToken$1.typescale.standard.label.large.fontWeight} ); line-height: var( --m3e-menu-item-label-text-line-height, ${DesignToken$1.typescale.standard.label.large.lineHeight} ); letter-spacing: var(--m3e-menu-item-label-text-tracking, ${DesignToken$1.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; } }`;
16295
16400
  __decorate([e$4(".focus-ring")], MenuItemElementBase.prototype, "_focusRing", void 0);
16296
16401
  __decorate([e$4(".state-layer")], MenuItemElementBase.prototype, "_stateLayer", void 0);
16297
16402
  __decorate([e$4(".ripple")], MenuItemElementBase.prototype, "_ripple", void 0);
@@ -16399,7 +16504,7 @@ let M3eMenuTriggerElement = class M3eMenuTriggerElement extends HtmlFor$1(Action
16399
16504
  }
16400
16505
  }
16401
16506
  };
16402
- M3eMenuTriggerElement = __decorate([t$3("m3e-menu-trigger")], M3eMenuTriggerElement);
16507
+ M3eMenuTriggerElement = __decorate([customElement$1("m3e-menu-trigger")], M3eMenuTriggerElement);
16403
16508
 
16404
16509
  var _M3eMenuItemElement_instances, _M3eMenuItemElement_clickHandler, _M3eMenuItemElement_keyDownHandler, _M3eMenuItemElement_mouseEnterHandler, _M3eMenuItemElement_submenuTrigger, _M3eMenuItemElement_defaultSlotChangeHandler, _M3eMenuItemElement_iconSlotChangeHandler, _M3eMenuItemElement_trailingIconSlotChangeHandler, _M3eMenuItemElement_handleClick, _M3eMenuItemElement_handleKeyDown, _M3eMenuItemElement_handleMouseEnter;
16405
16510
  var M3eMenuItemElement_1;
@@ -16569,10 +16674,10 @@ _M3eMenuItemElement_defaultSlotChangeHandler = function _M3eMenuItemElement_defa
16569
16674
  this._hasSubmenu = __classPrivateFieldGet(this, _M3eMenuItemElement_submenuTrigger, "f") !== undefined;
16570
16675
  };
16571
16676
  _M3eMenuItemElement_iconSlotChangeHandler = function _M3eMenuItemElement_iconSlotChangeHandler(e) {
16572
- this.classList.toggle("-with-icon", hasAssignedNodes$1(e.target));
16677
+ setCustomState$1(this, "-with-icon", hasAssignedNodes$1(e.target));
16573
16678
  };
16574
16679
  _M3eMenuItemElement_trailingIconSlotChangeHandler = function _M3eMenuItemElement_trailingIconSlotChangeHandler(e) {
16575
- this.classList.toggle("-with-trailing-icon", hasAssignedNodes$1(e.target));
16680
+ setCustomState$1(this, "-with-trailing-icon", hasAssignedNodes$1(e.target));
16576
16681
  };
16577
16682
  _M3eMenuItemElement_handleClick = function _M3eMenuItemElement_handleClick(e) {
16578
16683
  if (!e.defaultPrevented && !this._hasSubmenu) {
@@ -16606,7 +16711,7 @@ _M3eMenuItemElement_handleMouseEnter = function _M3eMenuItemElement_handleMouseE
16606
16711
  });
16607
16712
  };
16608
16713
  __decorate([r$1()], M3eMenuItemElement.prototype, "_hasSubmenu", void 0);
16609
- M3eMenuItemElement = M3eMenuItemElement_1 = __decorate([t$3("m3e-menu-item")], M3eMenuItemElement);
16714
+ M3eMenuItemElement = M3eMenuItemElement_1 = __decorate([customElement$1("m3e-menu-item")], M3eMenuItemElement);
16610
16715
 
16611
16716
  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;
16612
16717
  var M3eMenuElement_1;
@@ -16687,7 +16792,7 @@ var M3eMenuElement_1;
16687
16792
  * @cssprop --m3e-menu-divider-spacing - Vertical spacing around slotted `m3e-divider` elements.
16688
16793
  * @cssprop --m3e-menu-gap - Gap between content in the menu.
16689
16794
  */
16690
- let M3eMenuElement = M3eMenuElement_1 = class M3eMenuElement extends Role$1(LitElement, "menu") {
16795
+ let M3eMenuElement = M3eMenuElement_1 = class M3eMenuElement extends AttachInternals$1(Role$1(LitElement, "menu")) {
16691
16796
  constructor() {
16692
16797
  super(...arguments);
16693
16798
  _M3eMenuElement_instances.add(this);
@@ -16749,7 +16854,7 @@ let M3eMenuElement = M3eMenuElement_1 = class M3eMenuElement extends Role$1(LitE
16749
16854
  connectedCallback() {
16750
16855
  super.connectedCallback();
16751
16856
  this.tabIndex = -1;
16752
- this.classList.add("-no-animate");
16857
+ addCustomState$1(this, "-no-animate");
16753
16858
  this.setAttribute("popover", "manual");
16754
16859
  this.addEventListener("keydown", __classPrivateFieldGet(this, _M3eMenuElement_keyDownHandler, "f"));
16755
16860
  this.addEventListener("mouseenter", __classPrivateFieldGet(this, _M3eMenuElement_mouseEnterHandler, "f"));
@@ -16786,13 +16891,13 @@ let M3eMenuElement = M3eMenuElement_1 = class M3eMenuElement extends Role$1(LitE
16786
16891
  offset: !this.submenu ? 4 : undefined
16787
16892
  }, (x, y, position) => {
16788
16893
  if (!this.submenu) {
16789
- this.classList.toggle("-top", position.includes("top"));
16790
- this.classList.toggle("-bottom", position.includes("bottom"));
16894
+ setCustomState$1(this, "-top", position.includes("top"));
16895
+ setCustomState$1(this, "-bottom", position.includes("bottom"));
16791
16896
  } else if (__classPrivateFieldGet(this, _M3eMenuElement_trigger, "f")) {
16792
16897
  const top = __classPrivateFieldGet(this, _M3eMenuElement_instances, "m", _M3eMenuElement_getAbsolutePosition).call(this, __classPrivateFieldGet(this, _M3eMenuElement_trigger, "f")).y;
16793
- this.classList.toggle("-shift-down", false);
16794
- this.classList.toggle("-shift-up", false);
16795
- this.classList.toggle(Math.round(y) === Math.round(top) ? "-shift-down" : "-shift-up", true);
16898
+ setCustomState$1(this, "-shift-down", false);
16899
+ setCustomState$1(this, "-shift-up", false);
16900
+ setCustomState$1(this, Math.round(y) === Math.round(top) ? "-shift-down" : "-shift-up", true);
16796
16901
  }
16797
16902
  if (M3eDirectionality.current === "rtl") {
16798
16903
  this.style.right = `${window.innerWidth - x - this.clientWidth}px`;
@@ -16869,14 +16974,16 @@ let M3eMenuElement = M3eMenuElement_1 = class M3eMenuElement extends Role$1(LitE
16869
16974
  /** @inheritdoc */
16870
16975
  firstUpdated(_changedProperties) {
16871
16976
  super.firstUpdated(_changedProperties);
16872
- requestAnimationFrame(() => this.classList.remove("-no-animate"));
16977
+ requestAnimationFrame(() => deleteCustomState$1(this, "-no-animate"));
16873
16978
  }
16874
16979
  /** @internal */
16875
16980
  _activate() {
16876
16981
  if (this !== M3eMenuElement_1.__activeMenu) {
16877
- M3eMenuElement_1.__activeMenu?.classList.remove("-active");
16982
+ if (M3eMenuElement_1.__activeMenu) {
16983
+ deleteCustomState$1(M3eMenuElement_1.__activeMenu, "-active");
16984
+ }
16878
16985
  M3eMenuElement_1.__activeMenu = this;
16879
- M3eMenuElement_1.__activeMenu?.classList.add("-active");
16986
+ addCustomState$1(M3eMenuElement_1.__activeMenu, "-active");
16880
16987
  }
16881
16988
  }
16882
16989
  };
@@ -16897,8 +17004,8 @@ _M3eMenuElement_handleSlotChange = function _M3eMenuElement_handleSlotChange() {
16897
17004
  __classPrivateFieldGet(this, _M3eMenuElement_listManager, "f").updateActiveItem(added.find(x => !x.disabled));
16898
17005
  }
16899
17006
  __classPrivateFieldGet(this, _M3eMenuElement_listManager, "f").items.forEach((x, i) => {
16900
- x.classList.toggle("-first", i === 0);
16901
- x.classList.toggle("-last", i === __classPrivateFieldGet(this, _M3eMenuElement_listManager, "f").items.length - 1);
17007
+ setCustomState$1(x, "-first", i === 0 && !x.previousElementSibling);
17008
+ setCustomState$1(x, "-last", i === __classPrivateFieldGet(this, _M3eMenuElement_listManager, "f").items.length - 1);
16902
17009
  });
16903
17010
  };
16904
17011
  _M3eMenuElement_handleKeyDown = function _M3eMenuElement_handleKeyDown(e) {
@@ -16956,23 +17063,23 @@ _M3eMenuElement_getAbsolutePosition = function _M3eMenuElement_getAbsolutePositi
16956
17063
  };
16957
17064
  _M3eMenuElement_deactivate = function _M3eMenuElement_deactivate() {
16958
17065
  if (this === M3eMenuElement_1.__activeMenu) {
16959
- M3eMenuElement_1.__activeMenu.classList.remove("-active");
17066
+ deleteCustomState$1(M3eMenuElement_1.__activeMenu, "-active");
16960
17067
  M3eMenuElement_1.__activeMenu = undefined;
16961
17068
  }
16962
17069
  };
16963
17070
  (() => {
16964
- if (document) {
17071
+ if (typeof window !== "undefined") {
16965
17072
  const lightDomStyle = new CSSStyleSheet();
16966
17073
  lightDomStyle.replaceSync(css`m3e-menu > m3e-divider { margin-block: var(--m3e-menu-divider-spacing, 0.5rem); }`.toString());
16967
17074
  document.adoptedStyleSheets = [...document.adoptedStyleSheets, lightDomStyle];
16968
17075
  }
16969
17076
  })();
16970
17077
  /** The styles of the element. */
16971
- M3eMenuElement.styles = css`:host { position: absolute; padding: unset; margin: unset; border: unset; overflow-y: auto; overflow-x: visible; scrollbar-width: ${DesignToken$1.scrollbar.thinWidth}; scrollbar-color: ${DesignToken$1.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$1.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$1.shape.corner.small}); } :host(:not(.-active)) .base { --m3e-menu-item-first-child-shape: ${DesignToken$1.shape.corner.extraSmall}; --m3e-menu-item-last-child-shape: ${DesignToken$1.shape.corner.extraSmall}; } :host(.-active) { border-radius: var(--m3e-menu-active-container-shape, ${DesignToken$1.shape.corner.large}); } :host(:not(.-no-animate)) { transition: ${unsafeCSS(`opacity ${DesignToken$1.motion.duration.short2} ${DesignToken$1.motion.easing.standard},
17078
+ M3eMenuElement.styles = css`:host { position: absolute; padding: unset; margin: unset; border: unset; overflow-y: auto; overflow-x: visible; scrollbar-width: ${DesignToken$1.scrollbar.thinWidth}; scrollbar-color: ${DesignToken$1.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$1.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$1.shape.corner.small}); } :host(:not(:state(-active))) .base { --m3e-menu-item-first-child-shape: ${DesignToken$1.shape.corner.extraSmall}; --m3e-menu-item-last-child-shape: ${DesignToken$1.shape.corner.extraSmall}; } :host(:state(-active)) { border-radius: var(--m3e-menu-active-container-shape, ${DesignToken$1.shape.corner.large}); } :host(:not(:state(-no-animate))) { transition: ${unsafeCSS(`opacity ${DesignToken$1.motion.duration.short2} ${DesignToken$1.motion.easing.standard},
16972
17079
  transform ${DesignToken$1.motion.duration.short2} ${DesignToken$1.motion.easing.standard},
16973
17080
  overlay ${DesignToken$1.motion.duration.short2} ${DesignToken$1.motion.easing.standard} allow-discrete,
16974
17081
  display ${DesignToken$1.motion.duration.short2} ${DesignToken$1.motion.easing.standard} allow-discrete,
16975
- border-radius ${DesignToken$1.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$1.color.tertiaryContainer}); --m3e-menu-item-color: var(--m3e-vibrant-menu-item-color, ${DesignToken$1.color.onTertiaryContainer}); --m3e-menu-item-container-hover-color: var( --m3e-vibrant-menu-item-container-hover-color, ${DesignToken$1.color.onTertiaryContainer} ); --m3e-menu-item-container-focus-color: var( --m3e-vibrant-menu-item-container-focus-color, ${DesignToken$1.color.onTertiaryContainer} ); --m3e-menu-item-ripple-color: var(--m3e-vibrant-menu-item-ripple-color, ${DesignToken$1.color.onTertiaryContainer}); --m3e-menu-item-active-state-layer-color: var( --m3e-vibrant-menu-item-active-state-layer-color, ${DesignToken$1.color.onTertiaryContainer} ); --m3e-menu-item-selected-color: var(--m3e-vibrant-menu-item-selected-color, ${DesignToken$1.color.onTertiary}); --m3e-menu-item-selected-container-color: var( --m3e-vibrant-menu-item-selected-container-color, ${DesignToken$1.color.tertiary} ); --m3e-menu-item-selected-container-hover-color: var( --m3e-vibrant-menu-item-selected-container-hover-color, ${DesignToken$1.color.onTertiary} ); --m3e-menu-item-container-selected-focus-color: var( --m3e-vibrant-menu-item-selected-container-focus-color, ${DesignToken$1.color.onTertiary} ); --m3e-menu-item-selected-ripple-color: var( --m3e-vibrant-menu-item-selected-ripple-color, ${DesignToken$1.color.onTertiary} ); --m3e-menu-item-disabled-color: var( --m3e-vibrant-menu-item-disabled-color, ${DesignToken$1.color.onTertiaryContainer} ); } :host([variant="standard"]) { background-color: var(--m3e-menu-container-color, ${DesignToken$1.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; } }`;
17082
+ border-radius ${DesignToken$1.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$1.color.tertiaryContainer}); --m3e-menu-item-color: var(--m3e-vibrant-menu-item-color, ${DesignToken$1.color.onTertiaryContainer}); --m3e-menu-item-container-hover-color: var( --m3e-vibrant-menu-item-container-hover-color, ${DesignToken$1.color.onTertiaryContainer} ); --m3e-menu-item-container-focus-color: var( --m3e-vibrant-menu-item-container-focus-color, ${DesignToken$1.color.onTertiaryContainer} ); --m3e-menu-item-ripple-color: var(--m3e-vibrant-menu-item-ripple-color, ${DesignToken$1.color.onTertiaryContainer}); --m3e-menu-item-active-state-layer-color: var( --m3e-vibrant-menu-item-active-state-layer-color, ${DesignToken$1.color.onTertiaryContainer} ); --m3e-menu-item-selected-color: var(--m3e-vibrant-menu-item-selected-color, ${DesignToken$1.color.onTertiary}); --m3e-menu-item-selected-container-color: var( --m3e-vibrant-menu-item-selected-container-color, ${DesignToken$1.color.tertiary} ); --m3e-menu-item-selected-container-hover-color: var( --m3e-vibrant-menu-item-selected-container-hover-color, ${DesignToken$1.color.onTertiary} ); --m3e-menu-item-container-selected-focus-color: var( --m3e-vibrant-menu-item-selected-container-focus-color, ${DesignToken$1.color.onTertiary} ); --m3e-menu-item-selected-ripple-color: var( --m3e-vibrant-menu-item-selected-ripple-color, ${DesignToken$1.color.onTertiary} ); --m3e-menu-item-disabled-color: var( --m3e-vibrant-menu-item-disabled-color, ${DesignToken$1.color.onTertiaryContainer} ); } :host([variant="standard"]) { background-color: var(--m3e-menu-container-color, ${DesignToken$1.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; } }`;
16976
17083
  __decorate([n$1({
16977
17084
  attribute: "position-x"
16978
17085
  })], M3eMenuElement.prototype, "positionX", void 0);
@@ -16986,7 +17093,7 @@ __decorate([n$1({
16986
17093
  type: Boolean,
16987
17094
  reflect: true
16988
17095
  })], M3eMenuElement.prototype, "submenu", void 0);
16989
- M3eMenuElement = M3eMenuElement_1 = __decorate([t$3("m3e-menu")], M3eMenuElement);
17096
+ M3eMenuElement = M3eMenuElement_1 = __decorate([customElement$1("m3e-menu")], M3eMenuElement);
16990
17097
 
16991
17098
  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;
16992
17099
  /**
@@ -17105,10 +17212,10 @@ _M3eMenuItemCheckboxElement_mouseEnterHandler = new WeakMap();
17105
17212
  _M3eMenuItemCheckboxElement_spacePressed = new WeakMap();
17106
17213
  _M3eMenuItemCheckboxElement_instances = new WeakSet();
17107
17214
  _M3eMenuItemCheckboxElement_handleIconSlotChange = function _M3eMenuItemCheckboxElement_handleIconSlotChange(e) {
17108
- this.classList.toggle("-with-icon", hasAssignedNodes$1(e.target));
17215
+ setCustomState$1(this, "-with-icon", hasAssignedNodes$1(e.target));
17109
17216
  };
17110
17217
  _M3eMenuItemCheckboxElement_handleTrailingIconSlotChange = function _M3eMenuItemCheckboxElement_handleTrailingIconSlotChange(e) {
17111
- this.classList.toggle("-with-trailing-icon", hasAssignedNodes$1(e.target));
17218
+ setCustomState$1(this, "-with-trailing-icon", hasAssignedNodes$1(e.target));
17112
17219
  };
17113
17220
  _M3eMenuItemCheckboxElement_handleClick = function _M3eMenuItemCheckboxElement_handleClick(e) {
17114
17221
  if (!e.defaultPrevented) {
@@ -17137,8 +17244,8 @@ _M3eMenuItemCheckboxElement_handleMouseEnter = function _M3eMenuItemCheckboxElem
17137
17244
  });
17138
17245
  };
17139
17246
  /** The styles of the element. */
17140
- M3eMenuItemCheckboxElement.styles = [MenuItemElementBase.styles, css`.icon { display: flex; align-items: center; justify-content: center; transition: margin-inline-start ${DesignToken$1.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; } }`];
17141
- M3eMenuItemCheckboxElement = __decorate([t$3("m3e-menu-item-checkbox")], M3eMenuItemCheckboxElement);
17247
+ M3eMenuItemCheckboxElement.styles = [MenuItemElementBase.styles, css`.icon { display: flex; align-items: center; justify-content: center; transition: margin-inline-start ${DesignToken$1.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; } }`];
17248
+ M3eMenuItemCheckboxElement = __decorate([customElement$1("m3e-menu-item-checkbox")], M3eMenuItemCheckboxElement);
17142
17249
 
17143
17250
  /**
17144
17251
  * Groups related items (such a radios) in a menu.
@@ -17160,7 +17267,7 @@ let M3eMenuItemGroupElement = class M3eMenuItemGroupElement extends Role$1(LitEl
17160
17267
  };
17161
17268
  /** The styles of the element. */
17162
17269
  M3eMenuItemGroupElement.styles = css`:host { display: contents; }`;
17163
- M3eMenuItemGroupElement = __decorate([t$3("m3e-menu-item-group")], M3eMenuItemGroupElement);
17270
+ M3eMenuItemGroupElement = __decorate([customElement$1("m3e-menu-item-group")], M3eMenuItemGroupElement);
17164
17271
 
17165
17272
  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;
17166
17273
  /**
@@ -17289,10 +17396,10 @@ _M3eMenuItemRadioElement_mouseEnterHandler = new WeakMap();
17289
17396
  _M3eMenuItemRadioElement_spacePressed = new WeakMap();
17290
17397
  _M3eMenuItemRadioElement_instances = new WeakSet();
17291
17398
  _M3eMenuItemRadioElement_handleIconSlotChange = function _M3eMenuItemRadioElement_handleIconSlotChange(e) {
17292
- this.classList.toggle("-with-icon", hasAssignedNodes$1(e.target));
17399
+ setCustomState$1(this, "-with-icon", hasAssignedNodes$1(e.target));
17293
17400
  };
17294
17401
  _M3eMenuItemRadioElement_handleTrailingIconSlotChange = function _M3eMenuItemRadioElement_handleTrailingIconSlotChange(e) {
17295
- this.classList.toggle("-with-trailing-icon", hasAssignedNodes$1(e.target));
17402
+ setCustomState$1(this, "-with-trailing-icon", hasAssignedNodes$1(e.target));
17296
17403
  };
17297
17404
  _M3eMenuItemRadioElement_handleClick = function _M3eMenuItemRadioElement_handleClick(e) {
17298
17405
  if (!e.defaultPrevented) {
@@ -17322,7 +17429,7 @@ _M3eMenuItemRadioElement_handleMouseEnter = function _M3eMenuItemRadioElement_ha
17322
17429
  };
17323
17430
  /** The styles of the element. */
17324
17431
  M3eMenuItemRadioElement.styles = M3eMenuItemCheckboxElement.styles;
17325
- M3eMenuItemRadioElement = __decorate([t$3("m3e-menu-item-radio")], M3eMenuItemRadioElement);
17432
+ M3eMenuItemRadioElement = __decorate([customElement$1("m3e-menu-item-radio")], M3eMenuItemRadioElement);
17326
17433
 
17327
17434
  var _M3eNavBarElement_instances, _M3eNavBarElement_breakpointUnobserve, _M3eNavBarElement_handleSlotChange, _M3eNavBarElement_handleChange, _a$6;
17328
17435
  /**
@@ -17356,7 +17463,7 @@ var _M3eNavBarElement_instances, _M3eNavBarElement_breakpointUnobserve, _M3eNavB
17356
17463
  * @cssprop --m3e-nav-bar-container-color - Background color of the navigation bar container.
17357
17464
  * @cssprop --m3e-nav-bar-vertical-item-width - Minimum width of vertical nav items.
17358
17465
  */
17359
- let M3eNavBarElement = class M3eNavBarElement extends Role$1(LitElement, "navigation") {
17466
+ let M3eNavBarElement = class M3eNavBarElement extends AttachInternals$1(Role$1(LitElement, "navigation")) {
17360
17467
  constructor() {
17361
17468
  super(...arguments);
17362
17469
  _M3eNavBarElement_instances.add(this);
@@ -17418,7 +17525,7 @@ let M3eNavBarElement = class M3eNavBarElement extends Role$1(LitElement, "naviga
17418
17525
  _updateItems() {
17419
17526
  const orientation = this.currentMode === "compact" ? "vertical" : "horizontal";
17420
17527
  this._updateOrientation(orientation);
17421
- this.classList.toggle("-compact", orientation === "vertical");
17528
+ setCustomState$1(this, "-compact", orientation === "vertical");
17422
17529
  }
17423
17530
  /** @internal */
17424
17531
  _updateOrientation(orientation) {
@@ -17444,7 +17551,7 @@ __decorate([r$1()], M3eNavBarElement.prototype, "_mode", void 0);
17444
17551
  __decorate([n$1({
17445
17552
  reflect: true
17446
17553
  })], M3eNavBarElement.prototype, "mode", void 0);
17447
- M3eNavBarElement = __decorate([t$3("m3e-nav-bar")], M3eNavBarElement);
17554
+ M3eNavBarElement = __decorate([customElement$1("m3e-nav-bar")], M3eNavBarElement);
17448
17555
 
17449
17556
  var _M3eNavItemElement_instances, _M3eNavItemElement_clickHandler, _M3eNavItemElement_handleClick;
17450
17557
  /**
@@ -17601,7 +17708,7 @@ __decorate([e$4(".ripple")], M3eNavItemElement.prototype, "_ripple", void 0);
17601
17708
  __decorate([n$1({
17602
17709
  reflect: true
17603
17710
  })], M3eNavItemElement.prototype, "orientation", void 0);
17604
- M3eNavItemElement = __decorate([t$3("m3e-nav-item")], M3eNavItemElement);
17711
+ M3eNavItemElement = __decorate([customElement$1("m3e-nav-item")], M3eNavItemElement);
17605
17712
 
17606
17713
  var _M3eNavMenuItemElement_instances, _M3eNavMenuItemElement_items, _M3eNavMenuItemElement_menu, _M3eNavMenuItemElement_path, _M3eNavMenuItemElement_link, _M3eNavMenuItemElement_renderIcon, _M3eNavMenuItemElement_handleIconSlotChange, _M3eNavMenuItemElement_handleSlotChange, _M3eNavMenuItemElement_handleItemSlotChange, _M3eNavMenuItemElement_handleClick, _M3eNavMenuItemElement_handleCollapsibleEvent;
17607
17714
  var M3eNavMenuItemElement_1;
@@ -17862,7 +17969,7 @@ _M3eNavMenuItemElement_renderIcon = function _M3eNavMenuItemElement_renderIcon()
17862
17969
  return this.selected && !this.hasChildItems ? html`<slot name="selected-icon" @slotchange="${__classPrivateFieldGet(this, _M3eNavMenuItemElement_instances, "m", _M3eNavMenuItemElement_handleIconSlotChange)}">${icon}</slot>` : icon;
17863
17970
  };
17864
17971
  _M3eNavMenuItemElement_handleIconSlotChange = function _M3eNavMenuItemElement_handleIconSlotChange(e) {
17865
- this.classList.toggle("-with-icon", hasAssignedNodes$1(e.target));
17972
+ setCustomState$1(this, "-with-icon", hasAssignedNodes$1(e.target));
17866
17973
  };
17867
17974
  _M3eNavMenuItemElement_handleSlotChange = function _M3eNavMenuItemElement_handleSlotChange(e) {
17868
17975
  __classPrivateFieldSet(this, _M3eNavMenuItemElement_link, e.target.assignedElements({
@@ -17876,7 +17983,7 @@ _M3eNavMenuItemElement_handleItemSlotChange = function _M3eNavMenuItemElement_ha
17876
17983
  }).filter(x => x instanceof M3eNavMenuItemElement_1), "f");
17877
17984
  const hadChildItems = this._hasChildItems;
17878
17985
  this._hasChildItems = __classPrivateFieldGet(this, _M3eNavMenuItemElement_items, "f").length > 0;
17879
- this.classList.toggle("-has-items", this._hasChildItems);
17986
+ setCustomState$1(this, "-with-items", this._hasChildItems);
17880
17987
  if (hadChildItems || this._hasChildItems) {
17881
17988
  this.selected = __classPrivateFieldGet(this, _M3eNavMenuItemElement_items, "f").some(x => x.selected);
17882
17989
  }
@@ -17890,8 +17997,8 @@ _M3eNavMenuItemElement_handleClick = function _M3eNavMenuItemElement_handleClick
17890
17997
  __classPrivateFieldGet(this, _M3eNavMenuItemElement_link, "f")?.click();
17891
17998
  const drawerContainer = this.closest("m3e-drawer-container");
17892
17999
  if (drawerContainer) {
17893
- const drawer = this.closest("[slot='start']") ?? this.closest("[slot='end')");
17894
- if (drawer && (drawerContainer.classList.contains(`-${drawer.slot}-push`) || drawerContainer.classList.contains(`-${drawer.slot}-over`))) {
18000
+ const drawer = this.closest("[slot='start']") ?? this.closest("[slot='end']");
18001
+ if (drawer && (hasCustomState$1(drawerContainer, `-${drawer.slot}-push`) || hasCustomState$1(drawerContainer, `-${drawer.slot}-over`))) {
17895
18002
  setTimeout(() => {
17896
18003
  drawerContainer.removeAttribute(drawer.slot);
17897
18004
  drawerContainer.dispatchEvent(new Event("change", {
@@ -17911,7 +18018,7 @@ _M3eNavMenuItemElement_handleCollapsibleEvent = function _M3eNavMenuItemElement_
17911
18018
  }));
17912
18019
  };
17913
18020
  (() => {
17914
- if (document) {
18021
+ if (typeof window !== "undefined") {
17915
18022
  const lightDomStyle = new CSSStyleSheet();
17916
18023
  lightDomStyle.replaceSync(css`m3e-nav-menu-item > m3e-divider { margin-block: var(--m3e-nav-menu-divider-margin, 0.25rem); flex: none; } m3e-nav-menu-item > m3e-nav-menu-item:first-of-type { margin-block-start: var(--m3e-nav-menu-item-vertical-inset, 0.25rem); } m3e-nav-menu-item > m3e-nav-menu-item:last-of-type { margin-block-end: var(--m3e-nav-menu-item-vertical-inset, 0.25rem); }`.toString());
17917
18024
  document.adoptedStyleSheets = [...document.adoptedStyleSheets, lightDomStyle];
@@ -17920,7 +18027,7 @@ _M3eNavMenuItemElement_handleCollapsibleEvent = function _M3eNavMenuItemElement_
17920
18027
  /** The styles of the element. */
17921
18028
  M3eNavMenuItemElement.styles = css`:host { display: block; flex: none; outline: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .base { display: flex; align-items: center; position: relative; padding-inline: var(--m3e-nav-menu-item-padding, 1.5rem); height: calc(var(--m3e-nav-menu-item-height, 3.5rem) + ${DesignToken$1.density.calc(-3)}); column-gap: var(--m3e-nav-menu-item-spacing, 0.75rem); font-size: var(--m3e-nav-menu-item-font-size, ${DesignToken$1.typescale.standard.label.large.fontSize}); font-weight: var(--m3e-nav-menu-item-font-weight, ${DesignToken$1.typescale.standard.label.large.fontWeight}); line-height: var(--m3e-nav-menu-item-line-height, ${DesignToken$1.typescale.standard.label.large.lineHeight}); letter-spacing: var(--m3e-nav-menu-item-tracking, ${DesignToken$1.typescale.standard.label.large.tracking}); transition: ${unsafeCSS(`color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard},
17922
18029
  background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } .base, .focus-ring { border-radius: var(--m3e-nav-menu-item-shape, ${DesignToken$1.shape.corner.full}); } .label { flex: 1 1 auto; display: flex; align-items: center; position: relative; overflow: hidden; vertical-align: middle; } .icon, .toggle { flex: none; display: flex; align-items: center; justify-content: center; position: relative; vertical-align: middle; } ::slotted([slot="badge"]) { flex: none; position: relative; font-size: var(--m3e-nav-menu-item-badge-font-size, ${DesignToken$1.typescale.standard.label.large.fontSize}); font-weight: var(--m3e-nav-menu-item-badge-font-weight, ${DesignToken$1.typescale.standard.label.large.fontWeight}); line-height: var(--m3e-nav-menu-item-badge-line-height, ${DesignToken$1.typescale.standard.label.large.lineHeight}); letter-spacing: var(--m3e-nav-menu-item-badge-tracking, ${DesignToken$1.typescale.standard.label.large.tracking}); } .toggle { transition: ${unsafeCSS(`transform var(--m3e-collapsible-animation-duration, ${DesignToken$1.motion.duration.medium1})
17923
- ${DesignToken$1.motion.easing.standard}`)}; } :host(:not(.-with-icon)) .icon { display: none; } .icon { margin-inline-start: -0.5rem; } .toggle { margin-inline-end: -0.5rem; } .group { padding-inline-start: var(--m3e-nav-menu-item-inset, 1rem); } :host([open]) .toggle { transform: rotate(180deg); } :host(:not(.-has-items)) .toggle, :host(:not(.-has-items)) .group { display: none; } ::slotted([slot="selected-icon"]), ::slotted([slot="icon"]), ::slotted([slot="toggle-icon"]), .toggle-icon { vertical-align: middle; width: 1em; height: 1em; font-size: var(--m3e-nav-menu-item-icon-size, 1.5rem); } :host(:not(:disabled)) .base { cursor: pointer; } :host(:not(:disabled)) .base { color: var(--m3e-nav-menu-item-label-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:disabled) .base { color: color-mix( in srgb, var(--m3e-nav-menu-item-disabled-color, ${DesignToken$1.color.onSurface}) var(--m3e-nav-menu-item-disabled-color-opacity, 38%), transparent ); } :host([selected]:not(.-has-items):not(:disabled)) .base { color: var(--m3e-nav-menu-item-selected-label-color, ${DesignToken$1.color.onSecondaryContainer}); background-color: var(--m3e-nav-menu-item-selected-container-color, ${DesignToken$1.color.secondaryContainer}); --m3e-state-layer-focus-color: var( --m3e-nav-menu-item-selected-container-focus-color, ${DesignToken$1.color.onSecondaryContainer} ); --m3e-state-layer-hover-color: var( --m3e-nav-menu-item-selected-container-hover-color, ${DesignToken$1.color.onSecondaryContainer} ); --m3e-ripple-color: var(--m3e-nav-menu-item-selected-ripple-color, ${DesignToken$1.color.onSecondaryContainer}); } :host(:not([selected]):not(.-has-items):not(:disabled)) .base { --m3e-state-layer-focus-color: var( --m3e-nav-menu-item-unselected-container-focus-color, ${DesignToken$1.color.onSurface} ); --m3e-state-layer-hover-color: var( --m3e-nav-menu-item-unselected-container-hover-color, ${DesignToken$1.color.onSurface} ); --m3e-ripple-color: var(--m3e-nav-menu-item-unselected-ripple-color, ${DesignToken$1.color.onSurface}); } .state-layer { margin-inline: auto; } :host([selected].-has-items:not(:disabled)) .base { background-color: var(--m3e-nav-menu-item-open-container-color, ${DesignToken$1.color.surfaceContainerHighest}); --m3e-state-layer-focus-color: var( --m3e-nav-menu-item-open-container-focus-color, ${DesignToken$1.color.onSurface} ); --m3e-state-layer-hover-color: var( --m3e-nav-menu-item-open-container-hover-color, ${DesignToken$1.color.onSurface} ); --m3e-ripple-color: var(--m3e-nav-menu-item-open-ripple-color, ${DesignToken$1.color.onSurface}); } ::slotted(a[slot="label"]) { all: unset; } @media (prefers-reduced-motion) { .base, .toggle, .state-layer { transition: none !important; } } @media (forced-colors: active) { .base, .state-layer { transition: none !important; } :host(:disabled) .base { color: GrayText; } :host(:not([selected]):not(:disabled)) .base { color: ButtonText; } :host([selected]:not(.-has-items):not(:disabled)) .base { forced-color-adjust: none; color: ButtonFace; background-color: ButtonText; } :host([selected].-has-items:not(:disabled)) .base { background-color: unset; color: ButtonText; } }`;
18030
+ ${DesignToken$1.motion.easing.standard}`)}; } :host(:not(:state(-with-icon))) .icon { display: none; } .icon { margin-inline-start: -0.5rem; } .toggle { margin-inline-end: -0.5rem; } .group { padding-inline-start: var(--m3e-nav-menu-item-inset, 1rem); } :host([open]) .toggle { transform: rotate(180deg); } :host(:not(:state(-with-items))) .toggle, :host(:not(:state(-with-items))) .group { display: none; } ::slotted([slot="selected-icon"]), ::slotted([slot="icon"]), ::slotted([slot="toggle-icon"]), .toggle-icon { vertical-align: middle; width: 1em; height: 1em; font-size: var(--m3e-nav-menu-item-icon-size, 1.5rem); } :host(:not(:disabled)) .base { cursor: pointer; } :host(:not(:disabled)) .base { color: var(--m3e-nav-menu-item-label-color, ${DesignToken$1.color.onSurfaceVariant}); } :host(:disabled) .base { color: color-mix( in srgb, var(--m3e-nav-menu-item-disabled-color, ${DesignToken$1.color.onSurface}) var(--m3e-nav-menu-item-disabled-color-opacity, 38%), transparent ); } :host([selected]:not(:state(-with-items)):not(:disabled)) .base { color: var(--m3e-nav-menu-item-selected-label-color, ${DesignToken$1.color.onSecondaryContainer}); background-color: var(--m3e-nav-menu-item-selected-container-color, ${DesignToken$1.color.secondaryContainer}); --m3e-state-layer-focus-color: var( --m3e-nav-menu-item-selected-container-focus-color, ${DesignToken$1.color.onSecondaryContainer} ); --m3e-state-layer-hover-color: var( --m3e-nav-menu-item-selected-container-hover-color, ${DesignToken$1.color.onSecondaryContainer} ); --m3e-ripple-color: var(--m3e-nav-menu-item-selected-ripple-color, ${DesignToken$1.color.onSecondaryContainer}); } :host(:not([selected]):not(:state(-with-items)):not(:disabled)) .base { --m3e-state-layer-focus-color: var( --m3e-nav-menu-item-unselected-container-focus-color, ${DesignToken$1.color.onSurface} ); --m3e-state-layer-hover-color: var( --m3e-nav-menu-item-unselected-container-hover-color, ${DesignToken$1.color.onSurface} ); --m3e-ripple-color: var(--m3e-nav-menu-item-unselected-ripple-color, ${DesignToken$1.color.onSurface}); } .state-layer { margin-inline: auto; } :host([selected]:state(-with-items):not(:disabled)) .base { background-color: var(--m3e-nav-menu-item-open-container-color, ${DesignToken$1.color.surfaceContainerHighest}); --m3e-state-layer-focus-color: var( --m3e-nav-menu-item-open-container-focus-color, ${DesignToken$1.color.onSurface} ); --m3e-state-layer-hover-color: var( --m3e-nav-menu-item-open-container-hover-color, ${DesignToken$1.color.onSurface} ); --m3e-ripple-color: var(--m3e-nav-menu-item-open-ripple-color, ${DesignToken$1.color.onSurface}); } ::slotted(a[slot="label"]) { all: unset; } @media (prefers-reduced-motion) { .base, .toggle, .state-layer { transition: none !important; } } @media (forced-colors: active) { .base, .state-layer { transition: none !important; } :host(:disabled) .base { color: GrayText; } :host(:not([selected]):not(:disabled)) .base { color: ButtonText; } :host([selected]:not(:state(-with-items)):not(:disabled)) .base { forced-color-adjust: none; color: ButtonFace; background-color: ButtonText; } :host([selected]:state(-with-items):not(:disabled)) .base { background-color: unset; color: ButtonText; } }`;
17924
18031
  __decorate([e$4(".state-layer")], M3eNavMenuItemElement.prototype, "stateLayer", void 0);
17925
18032
  __decorate([e$4(".focus-ring")], M3eNavMenuItemElement.prototype, "focusRing", void 0);
17926
18033
  __decorate([e$4(".ripple")], M3eNavMenuItemElement.prototype, "ripple", void 0);
@@ -17930,7 +18037,7 @@ __decorate([n$1({
17930
18037
  type: Boolean,
17931
18038
  reflect: true
17932
18039
  })], M3eNavMenuItemElement.prototype, "open", void 0);
17933
- M3eNavMenuItemElement = M3eNavMenuItemElement_1 = __decorate([t$3("m3e-nav-menu-item")], M3eNavMenuItemElement);
18040
+ M3eNavMenuItemElement = M3eNavMenuItemElement_1 = __decorate([customElement$1("m3e-nav-menu-item")], M3eNavMenuItemElement);
17934
18041
 
17935
18042
  var _M3eNavMenuElement_instances, _M3eNavMenuElement_ignoreFocusVisible, _M3eNavMenuElement_ignoreFocus, _M3eNavMenuElement_keyDownHandler, _M3eNavMenuElement_keyUpHandler, _M3eNavMenuElement_pointerDownHandler, _M3eNavMenuElement_handleSlotChange, _M3eNavMenuElement_handleKeyDown, _M3eNavMenuElement_handleKeyUp, _M3eNavMenuElement_handlePointerDown, _M3eNavMenuElement_activateItem, _M3eNavMenuElement_updateFocusVisible, _M3eNavMenuElement_updateItemFocusVisible, _b;
17936
18043
  var M3eNavMenuElement_1;
@@ -18139,7 +18246,7 @@ _M3eNavMenuElement_handleKeyDown = function _M3eNavMenuElement_handleKeyDown(e)
18139
18246
  item.ripple.show(0, 0, true);
18140
18247
  }
18141
18248
  if (item.hasChildItems) {
18142
- item.toggle();
18249
+ requestAnimationFrame(() => item.toggle());
18143
18250
  } else if (!item.selected) {
18144
18251
  this[selectionManager].select(item);
18145
18252
  item.link?.click();
@@ -18154,12 +18261,14 @@ _M3eNavMenuElement_handleKeyDown = function _M3eNavMenuElement_handleKeyDown(e)
18154
18261
  e.preventDefault();
18155
18262
  if (M3eDirectionality.current === "ltr") {
18156
18263
  if (item.hasChildItems && item.open) {
18157
- item.collapse();
18264
+ requestAnimationFrame(() => item.collapse());
18158
18265
  } else {
18159
18266
  const parent = item.parentItem;
18160
18267
  if (parent) {
18161
- parent.collapse();
18162
- this[selectionManager].setActiveItem(parent);
18268
+ requestAnimationFrame(() => {
18269
+ parent.collapse();
18270
+ this[selectionManager].setActiveItem(parent);
18271
+ });
18163
18272
  }
18164
18273
  }
18165
18274
  } else if (item.hasChildItems && !item.open) {
@@ -18171,12 +18280,14 @@ _M3eNavMenuElement_handleKeyDown = function _M3eNavMenuElement_handleKeyDown(e)
18171
18280
  e.preventDefault();
18172
18281
  if (M3eDirectionality.current === "rtl") {
18173
18282
  if (item.hasChildItems && item.open) {
18174
- item.collapse();
18283
+ requestAnimationFrame(() => item.collapse());
18175
18284
  } else {
18176
18285
  const parent = item.parentItem;
18177
18286
  if (parent) {
18178
- parent.collapse();
18179
- this[selectionManager].setActiveItem(parent);
18287
+ requestAnimationFrame(() => {
18288
+ parent.collapse();
18289
+ this[selectionManager].setActiveItem(parent);
18290
+ });
18180
18291
  }
18181
18292
  }
18182
18293
  } else if (item.hasChildItems && !item.open) {
@@ -18234,7 +18345,7 @@ _M3eNavMenuElement_updateItemFocusVisible = function _M3eNavMenuElement_updateIt
18234
18345
  }
18235
18346
  };
18236
18347
  (() => {
18237
- if (document) {
18348
+ if (typeof window !== "undefined") {
18238
18349
  const lightDomStyle = new CSSStyleSheet();
18239
18350
  lightDomStyle.replaceSync(css`m3e-nav-menu > m3e-divider { margin-block: var(--m3e-nav-menu-divider-margin, 0.25rem); flex: none; }`.toString());
18240
18351
  document.adoptedStyleSheets = [...document.adoptedStyleSheets, lightDomStyle];
@@ -18244,7 +18355,7 @@ _M3eNavMenuElement_updateItemFocusVisible = function _M3eNavMenuElement_updateIt
18244
18355
  M3eNavMenuElement.styles = css`:host { display: block; outline: none; overflow-y: auto; overflow-x: hidden; min-height: 0; scrollbar-width: ${DesignToken$1.scrollbar.width}; scrollbar-color: ${DesignToken$1.scrollbar.color}; } .base { width: 100%; display: flex; flex-direction: column; position: relative; min-height: inherit; box-sizing: border-box; padding-block-start: var(--m3e-nav-menu-padding-top, 0.5rem); padding-block-end: var(--m3e-nav-menu-padding-bottom, 0.5rem); padding-inline-start: var(--m3e-nav-menu-padding-left, 0.75rem); padding-inline-end: var(--m3e-nav-menu-padding-right, 0.75rem); }`;
18245
18356
  /** @private */
18246
18357
  M3eNavMenuElement.__nextId = 0;
18247
- M3eNavMenuElement = M3eNavMenuElement_1 = __decorate([t$3("m3e-nav-menu")], M3eNavMenuElement);
18358
+ M3eNavMenuElement = M3eNavMenuElement_1 = __decorate([customElement$1("m3e-nav-menu")], M3eNavMenuElement);
18248
18359
 
18249
18360
  var _M3eNavMenuItemGroupElement_instances, _M3eNavMenuItemGroupElement_labelId, _M3eNavMenuItemGroupElement_label, _M3eNavMenuItemGroupElement_handleLabelSlotChange;
18250
18361
  var M3eNavMenuItemGroupElement_1;
@@ -18290,7 +18401,7 @@ var M3eNavMenuItemGroupElement_1;
18290
18401
  * @cssprop --m3e-nav-menu-item-group-label-inset - Insets the label from the start edge of the group.
18291
18402
  * @cssprop --m3e-nav-menu-item-group-label-space - Vertical spacing around the group's label.
18292
18403
  */
18293
- let M3eNavMenuItemGroupElement = M3eNavMenuItemGroupElement_1 = class M3eNavMenuItemGroupElement extends Role$1(LitElement, "group") {
18404
+ let M3eNavMenuItemGroupElement = M3eNavMenuItemGroupElement_1 = class M3eNavMenuItemGroupElement extends AttachInternals$1(Role$1(LitElement, "group")) {
18294
18405
  constructor() {
18295
18406
  super(...arguments);
18296
18407
  _M3eNavMenuItemGroupElement_instances.add(this);
@@ -18302,12 +18413,12 @@ let M3eNavMenuItemGroupElement = M3eNavMenuItemGroupElement_1 = class M3eNavMenu
18302
18413
  /** @inheritdoc */
18303
18414
  connectedCallback() {
18304
18415
  super.connectedCallback();
18305
- this.classList.toggle("-divided", this.previousElementSibling?.tagName === "M3E-DIVIDER");
18416
+ setCustomState$1(this, "-divided", this.previousElementSibling?.tagName === "M3E-DIVIDER");
18306
18417
  }
18307
18418
  /** @inheritdoc */
18308
18419
  disconnectedCallback() {
18309
18420
  super.disconnectedCallback();
18310
- this.classList.remove("-divided");
18421
+ deleteCustomState$1(this, "-divided");
18311
18422
  }
18312
18423
  /** @inheritdoc */
18313
18424
  render() {
@@ -18335,13 +18446,13 @@ _M3eNavMenuItemGroupElement_handleLabelSlotChange = function _M3eNavMenuItemGrou
18335
18446
  this.removeAttribute("aria-labelledby");
18336
18447
  }
18337
18448
  }
18338
- this.classList.toggle("-has-label", __classPrivateFieldGet(this, _M3eNavMenuItemGroupElement_label, "f") !== undefined);
18449
+ setCustomState$1(this, "-with-label", __classPrivateFieldGet(this, _M3eNavMenuItemGroupElement_label, "f") !== undefined);
18339
18450
  };
18340
18451
  /** The styles of the element. */
18341
- M3eNavMenuItemGroupElement.styles = css`:host { display: contents; } :host(:not(.-has-label)) .label { display: none; } .label { margin-inline-start: var(--m3e-nav-menu-item-group-label-inset, 1rem); margin-block-end: var(--m3e-nav-menu-item-group-label-space, 1rem); flex: none; } :host(.-divided) .label { margin-block-start: calc( var(--m3e-nav-menu-item-group-label-space, 1rem) - var(--m3e-nav-menu-divider-margin, 0.25rem) ); } :host(:not(.-divided)) .label { margin-block-start: var(--m3e-nav-menu-item-group-label-space, 1rem); }`;
18452
+ M3eNavMenuItemGroupElement.styles = css`:host { display: contents; } :host(:not(:state(-with-label))) .label { display: none; } .label { margin-inline-start: var(--m3e-nav-menu-item-group-label-inset, 1rem); margin-block-end: var(--m3e-nav-menu-item-group-label-space, 1rem); flex: none; } :host(:state(-divided)) .label { margin-block-start: calc( var(--m3e-nav-menu-item-group-label-space, 1rem) - var(--m3e-nav-menu-divider-margin, 0.25rem) ); } :host(:not(:state(-divided))) .label { margin-block-start: var(--m3e-nav-menu-item-group-label-space, 1rem); }`;
18342
18453
  /** @private */
18343
18454
  M3eNavMenuItemGroupElement.__nextId = 0;
18344
- M3eNavMenuItemGroupElement = M3eNavMenuItemGroupElement_1 = __decorate([t$3("m3e-nav-menu-item-group")], M3eNavMenuItemGroupElement);
18455
+ M3eNavMenuItemGroupElement = M3eNavMenuItemGroupElement_1 = __decorate([customElement$1("m3e-nav-menu-item-group")], M3eNavMenuItemGroupElement);
18345
18456
 
18346
18457
  var _M3eNavRailElement_instances, _M3eNavRailElement_focusKeyManager, _M3eNavRailElement_keyDownHandler, _M3eNavRailElement_handleKeyDown;
18347
18458
  /**
@@ -18440,15 +18551,15 @@ _M3eNavRailElement_handleKeyDown = function _M3eNavRailElement_handleKeyDown(e)
18440
18551
  __classPrivateFieldGet(this, _M3eNavRailElement_focusKeyManager, "f").onKeyDown(e);
18441
18552
  };
18442
18553
  (() => {
18443
- if (document) {
18554
+ if (typeof window !== "undefined") {
18444
18555
  const lightDomStyle = new CSSStyleSheet();
18445
- lightDomStyle.replaceSync(css`m3e-nav-rail > m3e-icon-button, m3e-nav-rail > m3e-fab { margin-block-end: var(--m3e-nav-rail-button-item-space, 1rem); } m3e-nav-rail:not(.-compact) > m3e-icon-button { margin-inline-start: var(--m3e-nav-rail-expanded-icon-button-inset, 0.5rem); }`.toString());
18556
+ lightDomStyle.replaceSync(css`m3e-nav-rail > m3e-icon-button, m3e-nav-rail > m3e-fab { margin-block-end: var(--m3e-nav-rail-button-item-space, 1rem); } m3e-nav-rail:not(:state(-compact)) > m3e-icon-button { margin-inline-start: var(--m3e-nav-rail-expanded-icon-button-inset, 0.5rem); }`.toString());
18446
18557
  document.adoptedStyleSheets = [...document.adoptedStyleSheets, lightDomStyle];
18447
18558
  }
18448
18559
  })();
18449
18560
  /** The styles of the element. */
18450
- M3eNavRailElement.styles = css`:host { display: block; overflow-x: hidden; overflow-y: auto; scrollbar-width: ${DesignToken$1.scrollbar.thinWidth}; scrollbar-color: ${DesignToken$1.scrollbar.color}; } .base { display: flex; width: 100%; min-width: inherit; max-width: inherit; flex-direction: column; padding-block-start: var(--m3e-nav-rail-top-space, 2.75rem); padding-block-end: var(--m3e-nav-rail-bottom-space, 0.5rem); } :host(.-compact) { width: var(--m3e-nav-rail-compact-width, 6rem); } :host(.-compact) ::slotted(m3e-fab) { align-self: center; } :host(:not(.-compact)) { min-width: var(--m3e-nav-rail-expanded-min-width, 13.75rem); max-width: var(--m3e-nav-rail-expanded-max-width, 22.5rem); } :host(:not(.-compact)) .base { padding-inline: var(--m3e-nav-rail-expanded-inline-padding, 1.25rem); align-items: flex-start; --m3e-horizontal-nav-item-active-indicator-height: var(--m3e-nav-rail-expanded-item-height, 3.5rem); --_nav-item-align-self: stretch; --_nav-item-justify-content: flex-start; } ::slotted(*) { flex: none; } :host(.-compact) ::slotted(m3e-icon-button) { align-self: center; } ::slotted(m3e-fab) { --m3e-fab-container-elevation: ${DesignToken$1.elevation.level0}; --m3e-fab-disabled-container-elevation: ${DesignToken$1.elevation.level0}; --m3e-fab-focus-container-elevation: ${DesignToken$1.elevation.level0}; --m3e-fab-pressed-container-elevation: ${DesignToken$1.elevation.level0}; --m3e-fab-hover-container-elevation: ${DesignToken$1.elevation.level1}; --m3e-fab-lowered-container-elevation: ${DesignToken$1.elevation.level0}; --m3e-fab-lowered-disabled-container-elevation: ${DesignToken$1.elevation.level0}; --m3e-fab-lowered-focus-container-elevation: ${DesignToken$1.elevation.level0}; --m3e-fab-lowered-pressed-container-elevation: ${DesignToken$1.elevation.level0}; --m3e-fab-lowered-hover-container-elevation: ${DesignToken$1.elevation.level1}; }`;
18451
- M3eNavRailElement = __decorate([t$3("m3e-nav-rail")], M3eNavRailElement);
18561
+ M3eNavRailElement.styles = css`:host { display: block; overflow-x: hidden; overflow-y: auto; scrollbar-width: ${DesignToken$1.scrollbar.thinWidth}; scrollbar-color: ${DesignToken$1.scrollbar.color}; } .base { display: flex; width: 100%; min-width: inherit; max-width: inherit; flex-direction: column; padding-block-start: var(--m3e-nav-rail-top-space, 2.75rem); padding-block-end: var(--m3e-nav-rail-bottom-space, 0.5rem); } :host(:state(-compact)) { width: var(--m3e-nav-rail-compact-width, 6rem); } :host(:state(-compact)) ::slotted(m3e-fab) { align-self: center; } :host(:not(:state(-compact))) { min-width: var(--m3e-nav-rail-expanded-min-width, 13.75rem); max-width: var(--m3e-nav-rail-expanded-max-width, 22.5rem); } :host(:not(:state(-compact))) .base { padding-inline: var(--m3e-nav-rail-expanded-inline-padding, 1.25rem); align-items: flex-start; --m3e-horizontal-nav-item-active-indicator-height: var(--m3e-nav-rail-expanded-item-height, 3.5rem); --_nav-item-align-self: stretch; --_nav-item-justify-content: flex-start; } ::slotted(*) { flex: none; } :host(:state(-compact)) ::slotted(m3e-icon-button) { align-self: center; } ::slotted(m3e-fab) { --m3e-fab-container-elevation: ${DesignToken$1.elevation.level0}; --m3e-fab-disabled-container-elevation: ${DesignToken$1.elevation.level0}; --m3e-fab-focus-container-elevation: ${DesignToken$1.elevation.level0}; --m3e-fab-pressed-container-elevation: ${DesignToken$1.elevation.level0}; --m3e-fab-hover-container-elevation: ${DesignToken$1.elevation.level1}; --m3e-fab-lowered-container-elevation: ${DesignToken$1.elevation.level0}; --m3e-fab-lowered-disabled-container-elevation: ${DesignToken$1.elevation.level0}; --m3e-fab-lowered-focus-container-elevation: ${DesignToken$1.elevation.level0}; --m3e-fab-lowered-pressed-container-elevation: ${DesignToken$1.elevation.level0}; --m3e-fab-lowered-hover-container-elevation: ${DesignToken$1.elevation.level1}; }`;
18562
+ M3eNavRailElement = __decorate([customElement$1("m3e-nav-rail")], M3eNavRailElement);
18452
18563
 
18453
18564
  var _M3eNavRailToggleElement_instances, _M3eNavRailToggleElement_mutationController, _M3eNavRailToggleElement_updateToggle;
18454
18565
  /**
@@ -18539,7 +18650,7 @@ async function _M3eNavRailToggleElement_updateToggle() {
18539
18650
  this.parentElement.ariaPressed = null;
18540
18651
  }
18541
18652
  };
18542
- M3eNavRailToggleElement = __decorate([t$3("m3e-nav-rail-toggle")], M3eNavRailToggleElement);
18653
+ M3eNavRailToggleElement = __decorate([customElement$1("m3e-nav-rail-toggle")], M3eNavRailToggleElement);
18543
18654
 
18544
18655
  var _M3eOptionElement_instances, _M3eOptionElement_value, _M3eOptionElement_textContent, _M3eOptionElement_handleSlotChange;
18545
18656
  /**
@@ -18585,9 +18696,8 @@ var _M3eOptionElement_instances, _M3eOptionElement_value, _M3eOptionElement_text
18585
18696
  * @cssprop --m3e-option-selected-shape - Shape used for a selected option.
18586
18697
  * @cssprop --m3e-option-first-child-shape - Shape for the first option in a list.
18587
18698
  * @cssprop --m3e-option-last-child-shape - Shape for the last option in a list.
18588
-
18589
18699
  */
18590
- let M3eOptionElement = class M3eOptionElement extends Selected$1(Disabled$1(Role$1(LitElement, "option"))) {
18700
+ let M3eOptionElement = class M3eOptionElement extends Selected$1(Disabled$1(AttachInternals$1(Role$1(LitElement, "option")))) {
18591
18701
  constructor() {
18592
18702
  super(...arguments);
18593
18703
  _M3eOptionElement_instances.add(this);
@@ -18642,15 +18752,15 @@ let M3eOptionElement = class M3eOptionElement extends Selected$1(Disabled$1(Role
18642
18752
  };
18643
18753
  _M3eOptionElement_handleSlotChange = function _M3eOptionElement_handleSlotChange(e) {
18644
18754
  __classPrivateFieldSet(this, _M3eOptionElement_textContent, getTextContent$1(e.target), "f");
18645
- this.classList.toggle("-empty", this.isEmpty);
18755
+ setCustomState$1(this, "-empty", this.isEmpty);
18646
18756
  };
18647
18757
  /** The styles of the element. */
18648
- M3eOptionElement.styles = css`:host { display: block; outline: none; user-select: none; flex: none; height: var(--m3e-option-container-height, 2.75rem); -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not([aria-disabled="true"])) .base { color: var(--m3e-option-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-hover-color: var(--m3e-option-container-hover-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-focus-color: var(--m3e-option-container-focus-color, ${DesignToken$1.color.onSurface}); --m3e-ripple-color: var(--m3e-option-ripple-color, ${DesignToken$1.color.onSurface}); } :host(:not([aria-disabled="true"]):not(.-empty)[selected]) .base { color: var(--m3e-option-selected-color, ${DesignToken$1.color.onTertiaryContainer}); background-color: var(--m3e-option-selected-container-color, ${DesignToken$1.color.tertiaryContainer}); --m3e-state-layer-hover-color: var( --m3e-option-selected-container-hover-color, ${DesignToken$1.color.onTertiaryContainer} ); --m3e-state-layer-focus-color: var( --m3e-option-selected-container-focus-color, ${DesignToken$1.color.onTertiaryContainer} ); --m3e-ripple-color: var(--m3e-option-selected-ripple-color, ${DesignToken$1.color.onTertiaryContainer}); } :host(:not([aria-disabled="true"])) { cursor: pointer; } :host([aria-disabled="true"]) .base { color: color-mix( in srgb, var(--m3e-option-disabled-color, ${DesignToken$1.color.onSurface}) var(--m3e-option-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-option-shape, ${DesignToken$1.shape.corner.extraSmall}); transition: ${unsafeCSS(`border-radius ${DesignToken$1.motion.spring.fastEffects}`)}; } :host([selected]:not(.-first)) .base { border-top-left-radius: var(--m3e-option-selected-shape, ${DesignToken$1.shape.corner.medium}); border-top-right-radius: var(--m3e-option-selected-shape, ${DesignToken$1.shape.corner.medium}); } :host([selected]:not(.-last)) .base { border-bottom-left-radius: var(--m3e-option-selected-shape, ${DesignToken$1.shape.corner.medium}); border-bottom-right-radius: var(--m3e-option-selected-shape, ${DesignToken$1.shape.corner.medium}); } :host(.-first) .base { border-top-left-radius: var(--m3e-option-first-child-shape, ${DesignToken$1.shape.corner.medium}); border-top-right-radius: var(--m3e-option-first-child-shape, ${DesignToken$1.shape.corner.medium}); } :host(.-last) .base { border-bottom-left-radius: var(--m3e-option-last-child-shape, ${DesignToken$1.shape.corner.medium}); border-bottom-right-radius: var(--m3e-option-last-child-shape, ${DesignToken$1.shape.corner.medium}); } .touch { position: absolute; height: 3rem; left: 0; right: 0; } .wrapper { flex: 1 1 auto; display: inline-flex; align-items: center; width: 100%; overflow: hidden; column-gap: var(--m3e-option-icon-label-space, 0.5rem); padding-inline-start: var(--_option-padding-start, var(--m3e-option-padding-start, 0.75rem)); padding-inline-end: var(--m3e-option-padding-end, 0.75rem); font-size: var(--m3e-option-label-text-font-size, ${DesignToken$1.typescale.standard.label.large.fontSize}); font-weight: var(--m3e-option-label-text-font-weight, ${DesignToken$1.typescale.standard.label.large.fontWeight}); line-height: var(--m3e-option-label-text-line-height, ${DesignToken$1.typescale.standard.label.large.lineHeight}); letter-spacing: var(--m3e-option-label-text-tracking, ${DesignToken$1.typescale.standard.label.large.tracking}); } .focus-ring { border-radius: var(--m3e-option-focus-ring-shape, inherit); } .icon { margin-inline-start: calc(0px - var(--m3e-option-icon-label-space, 0.5rem)); transition: ${unsafeCSS(`margin-inline-start ${DesignToken$1.motion.spring.fastEffects}, width ${DesignToken$1.motion.spring.fastEffects}`)}; } :host([selected]) .icon { margin-inline-start: 0; width: var(--m3e-option-icon-size, 1.25rem); } .icon { flex: none; width: 0px; font-size: var(--m3e-option-icon-size, 1.25rem); } :host(.-empty) .icon, :host(.-hide-selection-indicator) .icon, :host(:not([selected])) .check { display: none; } @media (forced-colors: active) { .base { background-color: Menu; color: MenuText; } :host([aria-disabled="true"]) .base { color: GrayText; } } @media (prefers-reduced-motion) { .icon, .base { transition: none; } }`;
18758
+ M3eOptionElement.styles = css`:host { display: block; outline: none; user-select: none; flex: none; height: var(--m3e-option-container-height, 2.75rem); -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not([aria-disabled="true"])) .base { color: var(--m3e-option-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-hover-color: var(--m3e-option-container-hover-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-focus-color: var(--m3e-option-container-focus-color, ${DesignToken$1.color.onSurface}); --m3e-ripple-color: var(--m3e-option-ripple-color, ${DesignToken$1.color.onSurface}); } :host(:not([aria-disabled="true"]):not(:state(-empty))[selected]) .base { color: var(--m3e-option-selected-color, ${DesignToken$1.color.onTertiaryContainer}); background-color: var(--m3e-option-selected-container-color, ${DesignToken$1.color.tertiaryContainer}); --m3e-state-layer-hover-color: var( --m3e-option-selected-container-hover-color, ${DesignToken$1.color.onTertiaryContainer} ); --m3e-state-layer-focus-color: var( --m3e-option-selected-container-focus-color, ${DesignToken$1.color.onTertiaryContainer} ); --m3e-ripple-color: var(--m3e-option-selected-ripple-color, ${DesignToken$1.color.onTertiaryContainer}); } :host(:not([aria-disabled="true"])) { cursor: pointer; } :host([aria-disabled="true"]) .base { color: color-mix( in srgb, var(--m3e-option-disabled-color, ${DesignToken$1.color.onSurface}) var(--m3e-option-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-option-shape, ${DesignToken$1.shape.corner.extraSmall}); transition: ${unsafeCSS(`border-radius ${DesignToken$1.motion.spring.fastEffects}`)}; } :host([selected]:not(:state(-first))) .base { border-top-left-radius: var(--m3e-option-selected-shape, ${DesignToken$1.shape.corner.medium}); border-top-right-radius: var(--m3e-option-selected-shape, ${DesignToken$1.shape.corner.medium}); } :host([selected]:not(:state(-last))) .base { border-bottom-left-radius: var(--m3e-option-selected-shape, ${DesignToken$1.shape.corner.medium}); border-bottom-right-radius: var(--m3e-option-selected-shape, ${DesignToken$1.shape.corner.medium}); } :host(:state(-first)) .base { border-top-left-radius: var(--m3e-option-first-child-shape, ${DesignToken$1.shape.corner.medium}); border-top-right-radius: var(--m3e-option-first-child-shape, ${DesignToken$1.shape.corner.medium}); } :host(:state(-last)) .base { border-bottom-left-radius: var(--m3e-option-last-child-shape, ${DesignToken$1.shape.corner.medium}); border-bottom-right-radius: var(--m3e-option-last-child-shape, ${DesignToken$1.shape.corner.medium}); } .touch { position: absolute; height: 3rem; left: 0; right: 0; } .wrapper { flex: 1 1 auto; display: inline-flex; align-items: center; width: 100%; overflow: hidden; column-gap: var(--m3e-option-icon-label-space, 0.5rem); padding-inline-start: var(--_option-padding-start, var(--m3e-option-padding-start, 0.75rem)); padding-inline-end: var(--m3e-option-padding-end, 0.75rem); font-size: var(--m3e-option-label-text-font-size, ${DesignToken$1.typescale.standard.label.large.fontSize}); font-weight: var(--m3e-option-label-text-font-weight, ${DesignToken$1.typescale.standard.label.large.fontWeight}); line-height: var(--m3e-option-label-text-line-height, ${DesignToken$1.typescale.standard.label.large.lineHeight}); letter-spacing: var(--m3e-option-label-text-tracking, ${DesignToken$1.typescale.standard.label.large.tracking}); } .focus-ring { border-radius: var(--m3e-option-focus-ring-shape, inherit); } .icon { margin-inline-start: calc(0px - var(--m3e-option-icon-label-space, 0.5rem)); transition: ${unsafeCSS(`margin-inline-start ${DesignToken$1.motion.spring.fastEffects}, width ${DesignToken$1.motion.spring.fastEffects}`)}; } :host([selected]) .icon { margin-inline-start: 0; width: var(--m3e-option-icon-size, 1.25rem); } .icon { flex: none; width: 0px; font-size: var(--m3e-option-icon-size, 1.25rem); } :host(:state(-empty)) .icon, :host(:state(-hide-selection-indicator)) .icon, :host(:not([selected])) .check { display: none; } @media (forced-colors: active) { .base { background-color: Menu; color: MenuText; } :host([aria-disabled="true"]) .base { color: GrayText; } } @media (prefers-reduced-motion) { .icon, .base { transition: none; } }`;
18649
18759
  __decorate([e$4(".focus-ring")], M3eOptionElement.prototype, "focusRing", void 0);
18650
18760
  __decorate([e$4(".state-layer")], M3eOptionElement.prototype, "stateLayer", void 0);
18651
18761
  __decorate([e$4(".ripple")], M3eOptionElement.prototype, "_ripple", void 0);
18652
18762
  __decorate([n$1()], M3eOptionElement.prototype, "value", null);
18653
- M3eOptionElement = __decorate([t$3("m3e-option")], M3eOptionElement);
18763
+ M3eOptionElement = __decorate([customElement$1("m3e-option")], M3eOptionElement);
18654
18764
 
18655
18765
  var _M3eOptGroupElement_instances, _M3eOptGroupElement_labelId, _M3eOptGroupElement_label, _M3eOptGroupElement_handleLabelSlotChange;
18656
18766
  var M3eOptGroupElement_1;
@@ -18717,7 +18827,7 @@ _M3eOptGroupElement_handleLabelSlotChange = function _M3eOptGroupElement_handleL
18717
18827
  M3eOptGroupElement.styles = css`:host { display: block; --_option-padding-start: calc(var(--m3e-option-padding-start, 0.75rem) * 2); } .label { height: var(--m3e-option-height, 3rem); font-size: var(--m3e-option-font-size, ${DesignToken$1.typescale.standard.label.large.fontSize}); font-weight: var(--m3e-option-font-weight, ${DesignToken$1.typescale.standard.label.large.fontWeight}); line-height: var(--m3e-option-line-height, ${DesignToken$1.typescale.standard.label.large.lineHeight}); letter-spacing: var(--m3e-option-tracking, ${DesignToken$1.typescale.standard.label.large.tracking}); padding-inline-end: var(--m3e-option-padding-end, 0.75rem); padding-inline-start: var(--m3e-option-padding-start, 0.75rem); color: var(--m3e-option-color, ${DesignToken$1.color.onSurface}); flex: none; }`;
18718
18828
  /** @private */
18719
18829
  M3eOptGroupElement.__nextId = 0;
18720
- M3eOptGroupElement = M3eOptGroupElement_1 = __decorate([t$3("m3e-optgroup")], M3eOptGroupElement);
18830
+ M3eOptGroupElement = M3eOptGroupElement_1 = __decorate([customElement$1("m3e-optgroup")], M3eOptGroupElement);
18721
18831
 
18722
18832
  var _M3eOptionPanelElement_instances, _M3eOptionPanelElement_trigger, _M3eOptionPanelElement_anchor, _M3eOptionPanelElement_anchorCleanup, _M3eOptionPanelElement_documentClickHandler, _M3eOptionPanelElement_scrollController, _M3eOptionPanelElement_toggleHandler, _M3eOptionPanelElement_handleSlotChange, _M3eOptionPanelElement_handleDocumentClick;
18723
18833
  var M3eOptionPanelElement_1;
@@ -18748,9 +18858,8 @@ var M3eOptionPanelElement_1;
18748
18858
  * @cssprop --m3e-option-panel-divider-spacing - Vertical spacing around slotted `m3e-divider` elements.
18749
18859
  * @cssprop --m3e-option-panel-text-highlight-container-color - Background color used for text highlight matches.
18750
18860
  * @cssprop --m3e-option-panel-text-highlight-color - Text color used for text highlight matches.
18751
-
18752
18861
  */
18753
- let M3eOptionPanelElement = M3eOptionPanelElement_1 = class M3eOptionPanelElement extends Role$1(LitElement, "listbox") {
18862
+ let M3eOptionPanelElement = M3eOptionPanelElement_1 = class M3eOptionPanelElement extends AttachInternals$1(Role$1(LitElement, "listbox")) {
18754
18863
  constructor() {
18755
18864
  super(...arguments);
18756
18865
  _M3eOptionPanelElement_instances.add(this);
@@ -18775,14 +18884,14 @@ let M3eOptionPanelElement = M3eOptionPanelElement_1 = class M3eOptionPanelElemen
18775
18884
  }
18776
18885
  });
18777
18886
  }
18778
- /** Whether the menu is open. */
18887
+ /** Whether the panel is open. */
18779
18888
  get isOpen() {
18780
18889
  return __classPrivateFieldGet(this, _M3eOptionPanelElement_trigger, "f") !== undefined;
18781
18890
  }
18782
18891
  /** @inheritdoc */
18783
18892
  connectedCallback() {
18784
18893
  super.connectedCallback();
18785
- this.classList.add("-no-animate");
18894
+ addCustomState$1(this, "-no-animate");
18786
18895
  this.setAttribute("popover", "manual");
18787
18896
  this.addEventListener("toggle", __classPrivateFieldGet(this, _M3eOptionPanelElement_toggleHandler, "f"));
18788
18897
  document.addEventListener("click", __classPrivateFieldGet(this, _M3eOptionPanelElement_documentClickHandler, "f"));
@@ -18794,10 +18903,10 @@ let M3eOptionPanelElement = M3eOptionPanelElement_1 = class M3eOptionPanelElemen
18794
18903
  document.removeEventListener("click", __classPrivateFieldGet(this, _M3eOptionPanelElement_documentClickHandler, "f"));
18795
18904
  }
18796
18905
  /**
18797
- * Opens the menu.
18798
- * @param {HTMLElement} trigger The element that triggered the menu.
18799
- * @param {HTMLElement | undefined} anchor The element used to position the menu.
18800
- * @returns {Promise<void>} A `Promise` that resolves when the menu is opened.
18906
+ * Opens the panel.
18907
+ * @param {HTMLElement} trigger The element that triggered the panel.
18908
+ * @param {HTMLElement | undefined} anchor The element used to position the panel.
18909
+ * @returns {Promise<void>} A `Promise` that resolves when the panel is opened.
18801
18910
  */
18802
18911
  async show(trigger, anchor) {
18803
18912
  if (__classPrivateFieldGet(this, _M3eOptionPanelElement_trigger, "f") && __classPrivateFieldGet(this, _M3eOptionPanelElement_trigger, "f") !== trigger) {
@@ -18808,8 +18917,8 @@ let M3eOptionPanelElement = M3eOptionPanelElement_1 = class M3eOptionPanelElemen
18808
18917
  inline: true,
18809
18918
  flip: true
18810
18919
  }, (x, y, position) => {
18811
- this.classList.toggle("-top", position.includes("top"));
18812
- this.classList.toggle("-bottom", position.includes("bottom"));
18920
+ setCustomState$1(this, "-top", position.includes("top"));
18921
+ setCustomState$1(this, "-bottom", position.includes("bottom"));
18813
18922
  if (M3eDirectionality.current === "rtl") {
18814
18923
  this.style.right = `${window.innerWidth - x - this.clientWidth}px`;
18815
18924
  this.style.left = "";
@@ -18826,8 +18935,8 @@ let M3eOptionPanelElement = M3eOptionPanelElement_1 = class M3eOptionPanelElemen
18826
18935
  __classPrivateFieldGet(this, _M3eOptionPanelElement_scrollController, "f").observe(__classPrivateFieldGet(this, _M3eOptionPanelElement_trigger, "f"));
18827
18936
  }
18828
18937
  /**
18829
- * Hides the menu.
18830
- * @param {boolean} [restoreFocus=false] Whether to restore focus to the menu's trigger.
18938
+ * Hides the panel.
18939
+ * @param {boolean} [restoreFocus=false] Whether to restore focus to the panel's trigger.
18831
18940
  */
18832
18941
  hide(restoreFocus = false) {
18833
18942
  this.hidePopover();
@@ -18841,10 +18950,10 @@ let M3eOptionPanelElement = M3eOptionPanelElement_1 = class M3eOptionPanelElemen
18841
18950
  }
18842
18951
  }
18843
18952
  /**
18844
- * Toggles the menu.
18845
- * @param {HTMLElement} trigger The element that triggered the menu.
18846
- * @param {HTMLElement | undefined} anchor The element used to position the menu.
18847
- * @returns {Promise<void>} A `Promise` that resolves when the menu is opened or closed.
18953
+ * Toggles the panel.
18954
+ * @param {HTMLElement} trigger The element that triggered the panel.
18955
+ * @param {HTMLElement | undefined} anchor The element used to position the panel.
18956
+ * @returns {Promise<void>} A `Promise` that resolves when the panel is opened or closed.
18848
18957
  */
18849
18958
  async toggle(trigger, anchor) {
18850
18959
  if (__classPrivateFieldGet(this, _M3eOptionPanelElement_trigger, "f")) {
@@ -18856,7 +18965,7 @@ let M3eOptionPanelElement = M3eOptionPanelElement_1 = class M3eOptionPanelElemen
18856
18965
  /** @inheritdoc */
18857
18966
  firstUpdated(_changedProperties) {
18858
18967
  super.firstUpdated(_changedProperties);
18859
- requestAnimationFrame(() => this.classList.remove("-no-animate"));
18968
+ requestAnimationFrame(() => deleteCustomState$1(this, "-no-animate"));
18860
18969
  }
18861
18970
  /** @inheritdoc */
18862
18971
  render() {
@@ -18873,8 +18982,8 @@ _M3eOptionPanelElement_instances = new WeakSet();
18873
18982
  _M3eOptionPanelElement_handleSlotChange = function _M3eOptionPanelElement_handleSlotChange() {
18874
18983
  const options = [...this.querySelectorAll("m3e-option")];
18875
18984
  options.forEach((x, i) => {
18876
- x.classList.toggle("-first", i === 0);
18877
- x.classList.toggle("-last", i === options.length - 1);
18985
+ setCustomState$1(x, "-first", i === 0 && !(x.parentElement instanceof M3eOptGroupElement));
18986
+ setCustomState$1(x, "-last", i === options.length - 1);
18878
18987
  });
18879
18988
  };
18880
18989
  _M3eOptionPanelElement_handleDocumentClick = function _M3eOptionPanelElement_handleDocumentClick(e) {
@@ -18883,18 +18992,18 @@ _M3eOptionPanelElement_handleDocumentClick = function _M3eOptionPanelElement_han
18883
18992
  }
18884
18993
  };
18885
18994
  (() => {
18886
- if (document) {
18995
+ if (typeof window !== "undefined") {
18887
18996
  const lightDomStyle = new CSSStyleSheet();
18888
18997
  lightDomStyle.replaceSync(css`m3e-option-panel > m3e-divider { margin-block: var(--m3e-option-panel-divider-spacing, 0.5rem); }`.toString());
18889
18998
  document.adoptedStyleSheets = [...document.adoptedStyleSheets, lightDomStyle];
18890
18999
  }
18891
19000
  })();
18892
19001
  /** The styles of the element. */
18893
- M3eOptionPanelElement.styles = css`:host { position: absolute; flex-direction: column; padding: unset; margin: unset; border: unset; overflow-y: auto; scrollbar-width: ${DesignToken$1.scrollbar.thinWidth}; scrollbar-color: ${DesignToken$1.scrollbar.color}; scroll-padding-block: calc( var(--m3e-focus-ring-thickness, 3px) + var(--m3e-option-panel-container-padding-block, 0.25rem) ); border-radius: var(--m3e-option-panel-container-shape, ${DesignToken$1.shape.corner.large}); min-width: var(--m3e-option-panel-container-min-width, 7rem); max-width: var(--m3e-option-panel-container-max-width, 17.5rem); max-height: var(--m3e-option-panel-container-max-height, 17.5rem); background-color: var(--m3e-option-panel-container-color, ${DesignToken$1.color.surfaceContainer}); box-shadow: var(--m3e-option-panel-container-elevation, ${DesignToken$1.elevation.level3}); opacity: 0; display: none; } .base { display: flex; flex-direction: column; row-gap: var(--m3e-option-panel-gap, 0.125rem); min-width: inherit; max-width: inherit; padding-block: var(--m3e-option-panel-container-padding-block, 0.25rem); padding-inline: var(--m3e-option-panel-container-padding-inline, 0.25rem); --m3e-text-highlight-container-color: var( --m3e-option-panel-text-highlight-container-color, ${DesignToken$1.color.tertiaryContainer} ); --m3e-text-highlight-color: var( --m3e-option-panel-text-highlight-color, ${DesignToken$1.color.onTertiaryContainer} ); --m3e-focus-ring-outward-offset: 0px; --m3e-focus-ring-growth-factor: 1.5; } :host(:not(.-no-animate)) { transition: ${unsafeCSS(`opacity ${DesignToken$1.motion.duration.short2} ${DesignToken$1.motion.easing.standard},
19002
+ M3eOptionPanelElement.styles = css`:host { position: absolute; flex-direction: column; padding: unset; margin: unset; border: unset; overflow-y: auto; scrollbar-width: ${DesignToken$1.scrollbar.thinWidth}; scrollbar-color: ${DesignToken$1.scrollbar.color}; scroll-padding-block: calc( var(--m3e-focus-ring-thickness, 3px) + var(--m3e-option-panel-container-padding-block, 0.25rem) ); border-radius: var(--m3e-option-panel-container-shape, ${DesignToken$1.shape.corner.large}); min-width: var(--m3e-option-panel-container-min-width, 7rem); max-width: var(--m3e-option-panel-container-max-width, 17.5rem); max-height: var(--m3e-option-panel-container-max-height, 17.5rem); background-color: var(--m3e-option-panel-container-color, ${DesignToken$1.color.surfaceContainer}); box-shadow: var(--m3e-option-panel-container-elevation, ${DesignToken$1.elevation.level3}); opacity: 0; display: none; } .base { display: flex; flex-direction: column; row-gap: var(--m3e-option-panel-gap, 0.125rem); min-width: inherit; max-width: inherit; padding-block: var(--m3e-option-panel-container-padding-block, 0.25rem); padding-inline: var(--m3e-option-panel-container-padding-inline, 0.25rem); --m3e-text-highlight-container-color: var( --m3e-option-panel-text-highlight-container-color, ${DesignToken$1.color.tertiaryContainer} ); --m3e-text-highlight-color: var( --m3e-option-panel-text-highlight-color, ${DesignToken$1.color.onTertiaryContainer} ); --m3e-focus-ring-outward-offset: 0px; --m3e-focus-ring-growth-factor: 1.5; } :host(:not(:state(-no-animate))) { transition: ${unsafeCSS(`opacity ${DesignToken$1.motion.duration.short2} ${DesignToken$1.motion.easing.standard},
18894
19003
  transform ${DesignToken$1.motion.duration.short2} ${DesignToken$1.motion.easing.standard},
18895
19004
  overlay ${DesignToken$1.motion.duration.short2} ${DesignToken$1.motion.easing.standard} allow-discrete,
18896
- display ${DesignToken$1.motion.duration.short2} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } :host { transform: scaleY(0.8); } :host(:popover-open) { transform: scaleY(1); display: block; opacity: 1; } :host::backdrop { background-color: transparent; } :host(.-bottom) { transform-origin: top; } :host(.-top) { transform-origin: bottom; } @starting-style { :host(: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; } }`;
18897
- M3eOptionPanelElement = M3eOptionPanelElement_1 = __decorate([t$3("m3e-option-panel")], M3eOptionPanelElement);
19005
+ display ${DesignToken$1.motion.duration.short2} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } :host { transform: scaleY(0.8); } :host(:popover-open) { transform: scaleY(1); display: block; opacity: 1; } :host::backdrop { background-color: transparent; } :host(:state(-bottom)) { transform-origin: top; } :host(:state(-top)) { transform-origin: bottom; } @starting-style { :host(: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; } }`;
19006
+ M3eOptionPanelElement = M3eOptionPanelElement_1 = __decorate([customElement$1("m3e-option-panel")], M3eOptionPanelElement);
18898
19007
 
18899
19008
  /**
18900
19009
  * Adapted from Angular Material Paginator
@@ -18949,7 +19058,6 @@ var M3ePaginatorElement_1;
18949
19058
  * @cssprop --m3e-paginator-font-weight - The font weight used for paginator text.
18950
19059
  * @cssprop --m3e-paginator-line-height - The line height used for paginator text.
18951
19060
  * @cssprop --m3e-paginator-tracking - The letter-spacing used for paginator text.
18952
- *
18953
19061
  */
18954
19062
  let M3ePaginatorElement = M3ePaginatorElement_1 = class M3ePaginatorElement extends EventAttribute$1(Role$1(LitElement, "group"), "page") {
18955
19063
  constructor() {
@@ -19179,7 +19287,7 @@ __decorate([n$1({
19179
19287
  __decorate([n$1({
19180
19288
  attribute: "page-size-variant"
19181
19289
  })], M3ePaginatorElement.prototype, "pageSizeVariant", void 0);
19182
- M3ePaginatorElement = M3ePaginatorElement_1 = __decorate([t$3("m3e-paginator")], M3ePaginatorElement);
19290
+ M3ePaginatorElement = M3ePaginatorElement_1 = __decorate([customElement$1("m3e-paginator")], M3ePaginatorElement);
19183
19291
 
19184
19292
  /**
19185
19293
  * @license
@@ -19642,7 +19750,7 @@ __decorate([n$1({
19642
19750
  type: Boolean,
19643
19751
  reflect: true
19644
19752
  })], M3eCircularProgressIndicatorElement.prototype, "indeterminate", void 0);
19645
- M3eCircularProgressIndicatorElement = M3eCircularProgressIndicatorElement_1 = __decorate([t$3("m3e-circular-progress-indicator")], M3eCircularProgressIndicatorElement);
19753
+ M3eCircularProgressIndicatorElement = M3eCircularProgressIndicatorElement_1 = __decorate([customElement$1("m3e-circular-progress-indicator")], M3eCircularProgressIndicatorElement);
19646
19754
 
19647
19755
  var _M3eLinearProgressIndicatorElement_instances, _M3eLinearProgressIndicatorElement_maskId, _M3eLinearProgressIndicatorElement_strokeWidth, _M3eLinearProgressIndicatorElement_amplitude, _M3eLinearProgressIndicatorElement_wavelength, _M3eLinearProgressIndicatorElement_resizeController, _M3eLinearProgressIndicatorElement_renderWave, _M3eLinearProgressIndicatorElement_renderResizeObservedElements, _M3eLinearProgressIndicatorElement_updateStroke, _M3eLinearProgressIndicatorElement_updateAmplitudeAndWavelength, _M3eLinearProgressIndicatorElement_drawWavyPath;
19648
19756
  var M3eLinearProgressIndicatorElement_1;
@@ -19837,7 +19945,7 @@ __decorate([n$1({
19837
19945
  type: Number,
19838
19946
  reflect: true
19839
19947
  })], M3eLinearProgressIndicatorElement.prototype, "bufferValue", void 0);
19840
- M3eLinearProgressIndicatorElement = M3eLinearProgressIndicatorElement_1 = __decorate([t$3("m3e-linear-progress-indicator")], M3eLinearProgressIndicatorElement);
19948
+ M3eLinearProgressIndicatorElement = M3eLinearProgressIndicatorElement_1 = __decorate([customElement$1("m3e-linear-progress-indicator")], M3eLinearProgressIndicatorElement);
19841
19949
 
19842
19950
  var _M3eRadioElement_instances, _M3eRadioElement_clickHandler, _M3eRadioElement_hoverController, _M3eRadioElement_pressedController, _M3eRadioElement_renderIcon, _M3eRadioElement_handleClick, _M3eRadioElement_notifySelectionChange;
19843
19951
  /**
@@ -20002,12 +20110,12 @@ _M3eRadioElement_notifySelectionChange = function _M3eRadioElement_notifySelecti
20002
20110
  }
20003
20111
  };
20004
20112
  /** The styles of the element. */
20005
- M3eRadioElement.styles = css`:host { display: inline-block; outline: none; width: fit-content; height: fit-content; vertical-align: middle; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not([aria-disabled="true"])) { cursor: pointer; } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; justify-content: center; position: relative; border-radius: 50%; width: calc(var(--m3e-radio-container-size, 2.5rem) + ${DesignToken$1.density.calc(-3)}); height: calc(var(--m3e-radio-container-size, 2.5rem) + ${DesignToken$1.density.calc(-3)}); } .touch { position: absolute; height: 3rem; width: 3rem; margin: auto; } .wrapper { box-sizing: border-box; pointer-events: none; width: var(--m3e-radio-icon-size, 1.25rem); height: var(--m3e-radio-icon-size, 1.25rem); } .circle { fill: currentColor; } :host(:not([checked])) .circle.inner { opacity: 0; } :host(:not([checked])) .base { --m3e-state-layer-hover-color: var(--m3e-radio-unselected-hover-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-focus-color: var(--m3e-radio-unselected-focus-color, ${DesignToken$1.color.onSurface}); --m3e-ripple-color: var(--m3e-radio-unselected-ripple-color, ${DesignToken$1.color.onSurface}); color: var(--m3e-radio-unselected-icon-color, ${DesignToken$1.color.onSurfaceVariant}); } :host([checked]) .base { --m3e-state-layer-hover-color: var(--m3e-radio-selected-hover-color, ${DesignToken$1.color.primary}); --m3e-state-layer-focus-color: var(--m3e-radio-selected-focus-color, ${DesignToken$1.color.primary}); --m3e-ripple-color: var(--m3e-radio-selected-ripple-color, ${DesignToken$1.color.primary}); color: var(--m3e-radio-selected-icon-color, ${DesignToken$1.color.primary}); } :host([aria-disabled="true"]) .base { color: color-mix(in srgb, var(--m3e-radio-disabled-icon-color, ${DesignToken$1.color.onSurface}) 38%, transparent); } :host(.-touched.-invalid) .base { --m3e-state-layer-hover-color: var(--m3e-radio-error-hover-color, ${DesignToken$1.color.error}); --m3e-state-layer-focus-color: var(--m3e-radio-error-focus-color, ${DesignToken$1.color.error}); --m3e-ripple-color: var(--m3e-radio-error-ripple-color, ${DesignToken$1.color.error}); color: var(--m3e-radio-error-icon-color, ${DesignToken$1.color.error}); } @media (forced-colors: active) { :host(:not([checked])) .base, :host([checked]) .base { --m3e-state-layer-hover-color: var(--_radio-forced-color, CanvasText); --m3e-state-layer-focus-color: var(--_radio-forced-color, CanvasText); --m3e-ripple-color: var(--_radio-forced-color, CanvasText); color: var(--_radio-forced-color, CanvasText); } :host([aria-disabled="true"]) .base { color: GrayText; } :host(.-touched.-invalid) .base { --_radio-forced-color: Highlight; color: Highlight; } }`;
20113
+ M3eRadioElement.styles = css`:host { display: inline-block; outline: none; width: fit-content; height: fit-content; vertical-align: middle; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not([aria-disabled="true"])) { cursor: pointer; } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; justify-content: center; position: relative; border-radius: 50%; width: calc(var(--m3e-radio-container-size, 2.5rem) + ${DesignToken$1.density.calc(-3)}); height: calc(var(--m3e-radio-container-size, 2.5rem) + ${DesignToken$1.density.calc(-3)}); } .touch { position: absolute; height: 3rem; width: 3rem; margin: auto; } .wrapper { box-sizing: border-box; pointer-events: none; width: var(--m3e-radio-icon-size, 1.25rem); height: var(--m3e-radio-icon-size, 1.25rem); } .circle { fill: currentColor; } :host(:not([checked])) .circle.inner { opacity: 0; } :host(:not([checked])) .base { --m3e-state-layer-hover-color: var(--m3e-radio-unselected-hover-color, ${DesignToken$1.color.onSurface}); --m3e-state-layer-focus-color: var(--m3e-radio-unselected-focus-color, ${DesignToken$1.color.onSurface}); --m3e-ripple-color: var(--m3e-radio-unselected-ripple-color, ${DesignToken$1.color.onSurface}); color: var(--m3e-radio-unselected-icon-color, ${DesignToken$1.color.onSurfaceVariant}); } :host([checked]) .base { --m3e-state-layer-hover-color: var(--m3e-radio-selected-hover-color, ${DesignToken$1.color.primary}); --m3e-state-layer-focus-color: var(--m3e-radio-selected-focus-color, ${DesignToken$1.color.primary}); --m3e-ripple-color: var(--m3e-radio-selected-ripple-color, ${DesignToken$1.color.primary}); color: var(--m3e-radio-selected-icon-color, ${DesignToken$1.color.primary}); } :host([aria-disabled="true"]) .base { color: color-mix(in srgb, var(--m3e-radio-disabled-icon-color, ${DesignToken$1.color.onSurface}) 38%, transparent); } :host(:state(-touched):state(-invalid)) .base { --m3e-state-layer-hover-color: var(--m3e-radio-error-hover-color, ${DesignToken$1.color.error}); --m3e-state-layer-focus-color: var(--m3e-radio-error-focus-color, ${DesignToken$1.color.error}); --m3e-ripple-color: var(--m3e-radio-error-ripple-color, ${DesignToken$1.color.error}); color: var(--m3e-radio-error-icon-color, ${DesignToken$1.color.error}); } @media (forced-colors: active) { :host(:not([checked])) .base, :host([checked]) .base { --m3e-state-layer-hover-color: var(--_radio-forced-color, CanvasText); --m3e-state-layer-focus-color: var(--_radio-forced-color, CanvasText); --m3e-ripple-color: var(--_radio-forced-color, CanvasText); color: var(--_radio-forced-color, CanvasText); } :host([aria-disabled="true"]) .base { color: GrayText; } :host(:state(-touched):state(-invalid)) .base { --_radio-forced-color: Highlight; color: Highlight; } }`;
20006
20114
  __decorate([e$4(".focus-ring")], M3eRadioElement.prototype, "_focusRing", void 0);
20007
20115
  __decorate([e$4(".state-layer")], M3eRadioElement.prototype, "_stateLayer", void 0);
20008
20116
  __decorate([e$4(".ripple")], M3eRadioElement.prototype, "_ripple", void 0);
20009
20117
  __decorate([n$1()], M3eRadioElement.prototype, "value", void 0);
20010
- M3eRadioElement = __decorate([t$3("m3e-radio")], M3eRadioElement);
20118
+ M3eRadioElement = __decorate([customElement$1("m3e-radio")], M3eRadioElement);
20011
20119
 
20012
20120
  var _M3eRadioGroupElement_instances, _M3eRadioGroupElement_directionalitySubscription, _M3eRadioGroupElement_focusOutHandler, _M3eRadioGroupElement_handleSlotChange, _M3eRadioGroupElement_handleKeyDown, _M3eRadioGroupElement_handleChange, _a$5;
20013
20121
  /**
@@ -20101,7 +20209,7 @@ let M3eRadioGroupElement = class M3eRadioGroupElement extends Labelled$1(Require
20101
20209
  break;
20102
20210
  case "aria-invalid":
20103
20211
  this.radios.forEach(x => {
20104
- x.classList.toggle("-invalid", newValue === "true");
20212
+ setCustomState$1(x, "-invalid", newValue === "true");
20105
20213
  x[updateLabels$1]?.();
20106
20214
  });
20107
20215
  break;
@@ -20152,7 +20260,7 @@ _M3eRadioGroupElement_handleChange = function _M3eRadioGroupElement_handleChange
20152
20260
  };
20153
20261
  /** The styles of the element. */
20154
20262
  M3eRadioGroupElement.styles = css`:host { display: inline-flex; }`;
20155
- M3eRadioGroupElement = __decorate([t$3("m3e-radio-group")], M3eRadioGroupElement);
20263
+ M3eRadioGroupElement = __decorate([customElement$1("m3e-radio-group")], M3eRadioGroupElement);
20156
20264
 
20157
20265
  var _M3eButtonSegmentElement_instances, _M3eButtonSegmentElement_clickHandler, _M3eButtonSegmentElement_handleIconSlotChange, _M3eButtonSegmentElement_handleClick;
20158
20266
  var M3eButtonSegmentElement_1;
@@ -20295,7 +20403,7 @@ let M3eButtonSegmentElement = M3eButtonSegmentElement_1 = class M3eButtonSegment
20295
20403
  _M3eButtonSegmentElement_clickHandler = new WeakMap();
20296
20404
  _M3eButtonSegmentElement_instances = new WeakSet();
20297
20405
  _M3eButtonSegmentElement_handleIconSlotChange = function _M3eButtonSegmentElement_handleIconSlotChange(e) {
20298
- this.classList.toggle("-with-icon", hasAssignedNodes$1(e.target));
20406
+ setCustomState$1(this, "-with-icon", hasAssignedNodes$1(e.target));
20299
20407
  };
20300
20408
  _M3eButtonSegmentElement_handleClick = function _M3eButtonSegmentElement_handleClick(e) {
20301
20409
  if (e.defaultPrevented) return;
@@ -20318,12 +20426,12 @@ _M3eButtonSegmentElement_handleClick = function _M3eButtonSegmentElement_handleC
20318
20426
  }
20319
20427
  };
20320
20428
  /** The styles of the element. */
20321
- M3eButtonSegmentElement.styles = css`:host { display: inline-block; position: relative; vertical-align: middle; outline: none; user-select: none; flex: 1 1 auto; min-width: 0; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .base { display: inline-flex; vertical-align: middle; align-items: center; width: 100%; height: calc(var(--m3e-segmented-button-height, 2.5rem) + ${DesignToken$1.density.calc(-3)}); box-sizing: border-box; border-width: var(--m3e-segmented-button-outline-thickness, 1px); border-color: var(--m3e-segmented-button-outline-color, ${DesignToken$1.color.outline}); border-style: solid; border-radius: inherit; border-inline-start-style: var(--_segmented-button-left-border, solid); transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } .touch { position: absolute; height: 3rem; left: 0; right: 0; } .wrapper { width: 100%; overflow: hidden; display: inline-flex; align-items: center; padding-inline-start: var(--m3e-segmented-button-padding-start, 1rem); padding-inline-end: var(--m3e-segmented-button-padding-end, 1rem); column-gap: var(--m3e-segmented-button-spacing, 0.5rem); } .label { font-size: var(--m3e-segmented-button-font-size, ${DesignToken$1.typescale.standard.label.large.fontSize}); font-weight: var(--m3e-segmented-button-font-weight, ${DesignToken$1.typescale.standard.label.large.fontWeight}); line-height: var(--m3e-segmented-button-line-height, ${DesignToken$1.typescale.standard.label.large.lineHeight}); letter-spacing: var(--m3e-segmented-button-tracking, ${DesignToken$1.typescale.standard.label.large.tracking}); justify-self: center; flex: 1 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: ${unsafeCSS(`color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } .icon { display: flex; align-items: center; justify-content: center; transition: ${unsafeCSS(`color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } :host(:not(:disabled)) { cursor: pointer; } :host([checked]:not(.-hide-selection)) .wrapper, :host(.-with-icon) .wrapper { padding-inline-start: var(--m3e-segmented-button-with-icon-padding-start, 0.75rem); } :host(:not(:disabled)[checked]) .base { background-color: var(--m3e-segmented-button-selected-container-color, ${DesignToken$1.color.secondaryContainer}); --m3e-state-layer-hover-color: var( --m3e-segmented-button-selected-container-hover-color, ${DesignToken$1.color.onSecondaryContainer} ); --m3e-state-layer-focus-color: var( --m3e-segmented-button-selected-container-focus-color, ${DesignToken$1.color.onSecondaryContainer} ); --m3e-ripple-color: var(--m3e-segmented-button-selected-ripple-color, ${DesignToken$1.color.onSecondaryContainer}); } :host(:not(:disabled)[checked]) .label { color: var(--m3e-segmented-button-selected-label-text-color, ${DesignToken$1.color.onSecondaryContainer}); } :host(:not(:disabled)[checked]) .icon { color: var(--m3e-segmented-button-selected-icon-color, ${DesignToken$1.color.onSecondaryContainer}); } :host(:not(:disabled):not([checked])) .base { --m3e-state-layer-hover-color: var( --m3e-segmented-button-unselected-container-hover-color, ${DesignToken$1.color.onSurface} ); --m3e-state-layer-focus-color: var( --m3e-segmented-button-unselected-container-focus-color, ${DesignToken$1.color.onSurface} ); --m3e-ripple-color: var(--m3e-segmented-button-unselected-ripple-color, ${DesignToken$1.color.onSurface}); } :host(:not(:disabled):not([checked])) .label { color: var(--m3e-segmented-button-unselected-label-text-color, ${DesignToken$1.color.onSurface}); } :host(:not(:disabled):not([checked])) .icon { color: var(--m3e-segmented-button-unselected-icon-color, ${DesignToken$1.color.onSurface}); } :host(:not(.-with-icon)) .icon { margin-inline-start: calc(0px - var(--m3e-segmented-button-spacing, 0.5rem)); transition: margin-inline-start ${DesignToken$1.motion.spring.fastEffects}; } .check, ::slotted([slot="icon"]) { width: 1em; font-size: var(--m3e-segmented-button-icon-size, 1.125rem) !important; } :host(:not([checked])) .check, :host(.-hide-selection) .check, :host(.-hide-selection:not(.-with-icon)) .icon { display: none; } :host([checked]) .icon { margin-inline-start: 0; } :host([checked]:not(.-hide-selection)) ::slotted([slot="icon"]) { display: none !important; } :host(:disabled) .base { border-color: color-mix( in srgb, var(--m3e-segmented-button-disabled-outline-color, ${DesignToken$1.color.onSurface}) var(--m3e-segmented-button-disabled-outline-opacity, 12%), transparent ); border-inline-end-color: var( --_segmented-button-disabled-outline-color, color-mix( in srgb, var(--m3e-segmented-button-disabled-outline-color, ${DesignToken$1.color.onSurface}) var(--m3e-segmented-button-disabled-outline-opacity, 12%), transparent ) ); } :host(:disabled) .label { color: color-mix( in srgb, var(--m3e-segmented-button-disabled-label-text-color, ${DesignToken$1.color.onSurface}) var(--m3e-segmented-button-disabled-label-text-opacity, 38%), transparent ); } :host(:disabled) .icon { color: color-mix( in srgb, var(--m3e-segmented-button-disabled-icon-color, ${DesignToken$1.color.onSurface}) var(--m3e-segmented-button-disabled-icon-opacity, 38%), transparent ); } @media (prefers-reduced-motion) { .base, .icon, .label { transition: none; } } @media (forced-colors: active) { .base, .icon, .label { transition: none !important; } :host(:disabled) .label, :host(:disabled) .icon { color: GrayText; } :host(:not([selected]):not(:disabled)) .label, :host(:not([selected]):not(:disabled)) .icon { color: ButtonText; } :host(:not(:disabled)[checked]) .base { background-color: ButtonText; } :host(:not(:disabled)[checked]) .label, :host(:not(:disabled)[checked]) .icon { forced-color-adjust: none; color: ButtonFace; } :host { --m3e-segmented-button-outline-color: ButtonText; } }`;
20429
+ M3eButtonSegmentElement.styles = css`:host { display: inline-block; position: relative; vertical-align: middle; outline: none; user-select: none; flex: 1 1 auto; min-width: 0; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .base { display: inline-flex; vertical-align: middle; align-items: center; width: 100%; height: calc(var(--m3e-segmented-button-height, 2.5rem) + ${DesignToken$1.density.calc(-3)}); box-sizing: border-box; border-width: var(--m3e-segmented-button-outline-thickness, 1px); border-color: var(--m3e-segmented-button-outline-color, ${DesignToken$1.color.outline}); border-style: solid; border-radius: inherit; border-inline-start-style: var(--_segmented-button-left-border, solid); transition: ${unsafeCSS(`background-color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } .touch { position: absolute; height: 3rem; left: 0; right: 0; } .wrapper { width: 100%; overflow: hidden; display: inline-flex; align-items: center; padding-inline-start: var(--m3e-segmented-button-padding-start, 1rem); padding-inline-end: var(--m3e-segmented-button-padding-end, 1rem); column-gap: var(--m3e-segmented-button-spacing, 0.5rem); } .label { font-size: var(--m3e-segmented-button-font-size, ${DesignToken$1.typescale.standard.label.large.fontSize}); font-weight: var(--m3e-segmented-button-font-weight, ${DesignToken$1.typescale.standard.label.large.fontWeight}); line-height: var(--m3e-segmented-button-line-height, ${DesignToken$1.typescale.standard.label.large.lineHeight}); letter-spacing: var(--m3e-segmented-button-tracking, ${DesignToken$1.typescale.standard.label.large.tracking}); justify-self: center; flex: 1 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: ${unsafeCSS(`color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } .icon { display: flex; align-items: center; justify-content: center; transition: ${unsafeCSS(`color ${DesignToken$1.motion.duration.short4} ${DesignToken$1.motion.easing.standard}`)}; } :host(:not(:disabled)) { cursor: pointer; } :host([checked]:not(:state(-hide-selection))) .wrapper, :host(:state(-with-icon)) .wrapper { padding-inline-start: var(--m3e-segmented-button-with-icon-padding-start, 0.75rem); } :host(:not(:disabled)[checked]) .base { background-color: var(--m3e-segmented-button-selected-container-color, ${DesignToken$1.color.secondaryContainer}); --m3e-state-layer-hover-color: var( --m3e-segmented-button-selected-container-hover-color, ${DesignToken$1.color.onSecondaryContainer} ); --m3e-state-layer-focus-color: var( --m3e-segmented-button-selected-container-focus-color, ${DesignToken$1.color.onSecondaryContainer} ); --m3e-ripple-color: var(--m3e-segmented-button-selected-ripple-color, ${DesignToken$1.color.onSecondaryContainer}); } :host(:not(:disabled)[checked]) .label { color: var(--m3e-segmented-button-selected-label-text-color, ${DesignToken$1.color.onSecondaryContainer}); } :host(:not(:disabled)[checked]) .icon { color: var(--m3e-segmented-button-selected-icon-color, ${DesignToken$1.color.onSecondaryContainer}); } :host(:not(:disabled):not([checked])) .base { --m3e-state-layer-hover-color: var( --m3e-segmented-button-unselected-container-hover-color, ${DesignToken$1.color.onSurface} ); --m3e-state-layer-focus-color: var( --m3e-segmented-button-unselected-container-focus-color, ${DesignToken$1.color.onSurface} ); --m3e-ripple-color: var(--m3e-segmented-button-unselected-ripple-color, ${DesignToken$1.color.onSurface}); } :host(:not(:disabled):not([checked])) .label { color: var(--m3e-segmented-button-unselected-label-text-color, ${DesignToken$1.color.onSurface}); } :host(:not(:disabled):not([checked])) .icon { color: var(--m3e-segmented-button-unselected-icon-color, ${DesignToken$1.color.onSurface}); } :host(:not(:state(-with-icon))) .icon { margin-inline-start: calc(0px - var(--m3e-segmented-button-spacing, 0.5rem)); transition: margin-inline-start ${DesignToken$1.motion.spring.fastEffects}; } .check, ::slotted([slot="icon"]) { width: 1em; font-size: var(--m3e-segmented-button-icon-size, 1.125rem) !important; } :host(:not([checked])) .check, :host(:state(-hide-selection)) .check, :host(:state(-hide-selection):not(:state(-with-icon))) .icon { display: none; } :host([checked]) .icon { margin-inline-start: 0; } :host([checked]:not(:state(-hide-selection))) ::slotted([slot="icon"]) { display: none !important; } :host(:disabled) .base { border-color: color-mix( in srgb, var(--m3e-segmented-button-disabled-outline-color, ${DesignToken$1.color.onSurface}) var(--m3e-segmented-button-disabled-outline-opacity, 12%), transparent ); border-inline-end-color: var( --_segmented-button-disabled-outline-color, color-mix( in srgb, var(--m3e-segmented-button-disabled-outline-color, ${DesignToken$1.color.onSurface}) var(--m3e-segmented-button-disabled-outline-opacity, 12%), transparent ) ); } :host(:disabled) .label { color: color-mix( in srgb, var(--m3e-segmented-button-disabled-label-text-color, ${DesignToken$1.color.onSurface}) var(--m3e-segmented-button-disabled-label-text-opacity, 38%), transparent ); } :host(:disabled) .icon { color: color-mix( in srgb, var(--m3e-segmented-button-disabled-icon-color, ${DesignToken$1.color.onSurface}) var(--m3e-segmented-button-disabled-icon-opacity, 38%), transparent ); } @media (prefers-reduced-motion) { .base, .icon, .label { transition: none; } } @media (forced-colors: active) { .base, .icon, .label { transition: none !important; } :host(:disabled) .label, :host(:disabled) .icon { color: GrayText; } :host(:not([selected]):not(:disabled)) .label, :host(:not([selected]):not(:disabled)) .icon { color: ButtonText; } :host(:not(:disabled)[checked]) .base { background-color: ButtonText; } :host(:not(:disabled)[checked]) .label, :host(:not(:disabled)[checked]) .icon { forced-color-adjust: none; color: ButtonFace; } :host { --m3e-segmented-button-outline-color: ButtonText; } }`;
20322
20430
  __decorate([e$4(".focus-ring")], M3eButtonSegmentElement.prototype, "_focusRing", void 0);
20323
20431
  __decorate([e$4(".state-layer")], M3eButtonSegmentElement.prototype, "_stateLayer", void 0);
20324
20432
  __decorate([e$4(".ripple")], M3eButtonSegmentElement.prototype, "_ripple", void 0);
20325
20433
  __decorate([n$1()], M3eButtonSegmentElement.prototype, "value", void 0);
20326
- M3eButtonSegmentElement = M3eButtonSegmentElement_1 = __decorate([t$3("m3e-button-segment")], M3eButtonSegmentElement);
20434
+ M3eButtonSegmentElement = M3eButtonSegmentElement_1 = __decorate([customElement$1("m3e-button-segment")], M3eButtonSegmentElement);
20327
20435
 
20328
20436
  var _M3eSegmentedButtonElement_instances, _M3eSegmentedButtonElement_directionalitySubscription, _M3eSegmentedButtonElement_handleSlotChange, _M3eSegmentedButtonElement_handleKeyDown, _M3eSegmentedButtonElement_handleChange, _a$4;
20329
20437
  /**
@@ -20450,7 +20558,7 @@ let M3eSegmentedButtonElement = class M3eSegmentedButtonElement extends Labelled
20450
20558
  this.ariaDisabled = this.multi && this.disabled ? "true" : null;
20451
20559
  }
20452
20560
  if (changedProperties.has("hideSelectionIndicator")) {
20453
- this.segments.forEach(x => x.classList.toggle("-hide-selection", this.hideSelectionIndicator));
20561
+ this.segments.forEach(x => setCustomState$1(x, "-hide-selection", this.hideSelectionIndicator));
20454
20562
  }
20455
20563
  }
20456
20564
  /** @inheritdoc */
@@ -20462,10 +20570,10 @@ _M3eSegmentedButtonElement_handleSlotChange = function _M3eSegmentedButtonElemen
20462
20570
  const {
20463
20571
  added
20464
20572
  } = this[selectionManager].setItems([...this.querySelectorAll("m3e-button-segment")]);
20465
- added.forEach(x => x.classList.toggle("-hide-selection", this.hideSelectionIndicator));
20573
+ added.forEach(x => setCustomState$1(x, "-hide-selection", this.hideSelectionIndicator));
20466
20574
  this[selectionManager].items.forEach((segment, i) => {
20467
- segment.classList.toggle("-first", i == 0);
20468
- segment.classList.toggle("-last", i == this[selectionManager].items.length - 1);
20575
+ setCustomState$1(segment, "-first", i == 0);
20576
+ setCustomState$1(segment, "-last", i == this[selectionManager].items.length - 1);
20469
20577
  });
20470
20578
  };
20471
20579
  _M3eSegmentedButtonElement_handleKeyDown = function _M3eSegmentedButtonElement_handleKeyDown(e) {
@@ -20480,7 +20588,7 @@ _M3eSegmentedButtonElement_handleChange = function _M3eSegmentedButtonElement_ha
20480
20588
  }));
20481
20589
  };
20482
20590
  /** The styles of the element. */
20483
- M3eSegmentedButtonElement.styles = css`:host { display: inline-flex; vertical-align: middle; align-items: center; } ::slotted(.-first) { border-start-start-radius: var(--m3e-segmented-button-start-shape, ${DesignToken$1.shape.corner.full}); border-end-start-radius: var(--m3e-segmented-button-start-shape, ${DesignToken$1.shape.corner.full}); } ::slotted(.-last) { border-start-end-radius: var(--m3e-segmented-button-end-shape, ${DesignToken$1.shape.corner.full}); border-end-end-radius: var(--m3e-segmented-button-end-shape, ${DesignToken$1.shape.corner.full}); } ::slotted(:not(.-first)) { --_segmented-button-left-border: none; }`;
20591
+ M3eSegmentedButtonElement.styles = css`:host { display: inline-flex; vertical-align: middle; align-items: center; } ::slotted(:state(-first)) { border-start-start-radius: var(--m3e-segmented-button-start-shape, ${DesignToken$1.shape.corner.full}); border-end-start-radius: var(--m3e-segmented-button-start-shape, ${DesignToken$1.shape.corner.full}); } ::slotted(:state(-last)) { border-start-end-radius: var(--m3e-segmented-button-end-shape, ${DesignToken$1.shape.corner.full}); border-end-end-radius: var(--m3e-segmented-button-end-shape, ${DesignToken$1.shape.corner.full}); } ::slotted(:not(:state(-first))) { --_segmented-button-left-border: none; }`;
20484
20592
  __decorate([n$1({
20485
20593
  type: Boolean
20486
20594
  })], M3eSegmentedButtonElement.prototype, "multi", void 0);
@@ -20488,7 +20596,7 @@ __decorate([n$1({
20488
20596
  attribute: "hide-selection-indicator",
20489
20597
  type: Boolean
20490
20598
  })], M3eSegmentedButtonElement.prototype, "hideSelectionIndicator", void 0);
20491
- M3eSegmentedButtonElement = __decorate([t$3("m3e-segmented-button")], M3eSegmentedButtonElement);
20599
+ M3eSegmentedButtonElement = __decorate([customElement$1("m3e-segmented-button")], M3eSegmentedButtonElement);
20492
20600
 
20493
20601
  /**
20494
20602
  * @license
@@ -20703,7 +20811,7 @@ let M3eSelectElement = M3eSelectElement_1 = class M3eSelectElement extends Focus
20703
20811
  update(changedProperties) {
20704
20812
  super.update(changedProperties);
20705
20813
  if (changedProperties.has("hideSelectionIndicator")) {
20706
- this.options.forEach(x => x.classList.toggle("-hide-selection-indicator", this.hideSelectionIndicator));
20814
+ this.options.forEach(x => setCustomState$1(x, "-hide-selection-indicator", this.hideSelectionIndicator));
20707
20815
  }
20708
20816
  }
20709
20817
  /** @inheritdoc */
@@ -20733,7 +20841,7 @@ _M3eSelectElement_handleSlotChange = function _M3eSelectElement_handleSlotChange
20733
20841
  } = this._listKeyManager.setItems([...this.querySelectorAll("m3e-option")]);
20734
20842
  added.forEach(x => {
20735
20843
  x.id = x.id || `${__classPrivateFieldGet(this, _M3eSelectElement_id, "f")}-option-${this._listKeyManager.items.indexOf(x)}`;
20736
- x.classList.toggle("-hide-selection-indicator", this.hideSelectionIndicator);
20844
+ setCustomState$1(x, "-hide-selection-indicator", this.hideSelectionIndicator);
20737
20845
  });
20738
20846
  __classPrivateFieldGet(this, _M3eSelectElement_instances, "a", _M3eSelectElement_formField_get)?.notifyControlStateChange();
20739
20847
  };
@@ -20861,7 +20969,7 @@ _M3eSelectElement_destroyMenu = function _M3eSelectElement_destroyMenu(e) {
20861
20969
  this.removeAttribute("aria-controls");
20862
20970
  this.removeAttribute("aria-owns");
20863
20971
  this.requestUpdate();
20864
- this.classList.toggle("-open", false);
20972
+ deleteCustomState$1(this, "-open");
20865
20973
  __classPrivateFieldGet(this, _M3eSelectElement_instances, "a", _M3eSelectElement_formField_get)?.notifyControlStateChange();
20866
20974
  this.dispatchEvent(new ToggleEvent("toggle", {
20867
20975
  oldState: e.oldState,
@@ -20897,14 +21005,14 @@ _M3eSelectElement_showMenu = function _M3eSelectElement_showMenu() {
20897
21005
  __classPrivateFieldGet(this, _M3eSelectElement_instances, "a", _M3eSelectElement_formField_get)?.notifyControlStateChange();
20898
21006
  setTimeout(() => {
20899
21007
  __classPrivateFieldGet(this, _M3eSelectElement_menu, "f")?.show(this, __classPrivateFieldGet(this, _M3eSelectElement_instances, "a", _M3eSelectElement_formField_get)?.menuAnchor);
20900
- this.classList.toggle("-open", true);
21008
+ addCustomState$1(this, "-open");
20901
21009
  });
20902
21010
  };
20903
21011
  _M3eSelectElement_hideMenu = function _M3eSelectElement_hideMenu() {
20904
21012
  if (!__classPrivateFieldGet(this, _M3eSelectElement_menu, "f")) return;
20905
21013
  __classPrivateFieldGet(this, _M3eSelectElement_menu, "f").hide();
20906
21014
  this.removeAttribute("aria-activedescendant");
20907
- this.classList.toggle("-open", false);
21015
+ deleteCustomState$1(this, "-open");
20908
21016
  };
20909
21017
  _M3eSelectElement_activateOption = function _M3eSelectElement_activateOption(option) {
20910
21018
  this.setAttribute("aria-activedescendant", option.id);
@@ -20948,7 +21056,7 @@ _M3eSelectElement_selectOption = function _M3eSelectElement_selectOption(option)
20948
21056
  }
20949
21057
  };
20950
21058
  /** The styles of the element. */
20951
- M3eSelectElement.styles = css`:host { display: inline-flex; vertical-align: middle; outline: none; position: relative; font-size: var(--m3e-form-field-font-size, ${DesignToken$1.typescale.standard.body.large.fontSize}); font-weight: var(--m3e-form-field-font-weight, ${DesignToken$1.typescale.standard.body.large.fontWeight}); line-height: var(--m3e-form-field-line-height, ${DesignToken$1.typescale.standard.body.large.lineHeight}); letter-spacing: var(--m3e-form-field-tracking, ${DesignToken$1.typescale.standard.body.large.tracking}); min-height: var(--m3e-form-field-line-height, ${DesignToken$1.typescale.standard.body.large.lineHeight}); border-radius: var(--m3e-select-container-shape, ${DesignToken$1.shape.corner.extraSmall}); } :host(:not(:disabled)) { cursor: pointer; } :host(:disabled) { color: color-mix( in srgb, var(--m3e-select-disabled-color, ${DesignToken$1.color.onSurface}) var(--m3e-select-disabled-color-opacity, 38%), transparent ); } .options { display: none; } .base { flex: 1 1 auto; display: inline-flex; align-items: center; overflow: hidden; } .arrow-wrapper { display: flex; align-items: center; justify-content: center; margin-top: var(--_select-arrow-margin-top); } ::slotted([slot="arrow"]), .arrow { vertical-align: middle; width: 1em; height: 1em; font-size: var(--m3e-select-icon-size, 1.5rem); } :host(.-open) .focus-ring { display: none; }`;
21059
+ M3eSelectElement.styles = css`:host { display: inline-flex; vertical-align: middle; outline: none; position: relative; font-size: var(--m3e-form-field-font-size, ${DesignToken$1.typescale.standard.body.large.fontSize}); font-weight: var(--m3e-form-field-font-weight, ${DesignToken$1.typescale.standard.body.large.fontWeight}); line-height: var(--m3e-form-field-line-height, ${DesignToken$1.typescale.standard.body.large.lineHeight}); letter-spacing: var(--m3e-form-field-tracking, ${DesignToken$1.typescale.standard.body.large.tracking}); min-height: var(--m3e-form-field-line-height, ${DesignToken$1.typescale.standard.body.large.lineHeight}); border-radius: var(--m3e-select-container-shape, ${DesignToken$1.shape.corner.extraSmall}); } :host(:not(:disabled)) { cursor: pointer; } :host(:disabled) { color: color-mix( in srgb, var(--m3e-select-disabled-color, ${DesignToken$1.color.onSurface}) var(--m3e-select-disabled-color-opacity, 38%), transparent ); } .options { display: none; } .base { flex: 1 1 auto; display: inline-flex; align-items: center; overflow: hidden; } .arrow-wrapper { display: flex; align-items: center; justify-content: center; margin-top: var(--_select-arrow-margin-top); } ::slotted([slot="arrow"]), .arrow { vertical-align: middle; width: 1em; height: 1em; font-size: var(--m3e-select-icon-size, 1.5rem); } :host(:state(-open)) .focus-ring { display: none; }`;
20952
21060
  /** @private */
20953
21061
  M3eSelectElement.__nextId = 0;
20954
21062
  __decorate([e$4(".focus-ring")], M3eSelectElement.prototype, "_focusRing", void 0);
@@ -20959,7 +21067,7 @@ __decorate([n$1({
20959
21067
  __decorate([n$1({
20960
21068
  type: Boolean
20961
21069
  })], M3eSelectElement.prototype, "multi", void 0);
20962
- M3eSelectElement = M3eSelectElement_1 = __decorate([t$3("m3e-select")], M3eSelectElement);
21070
+ M3eSelectElement = M3eSelectElement_1 = __decorate([customElement$1("m3e-select")], M3eSelectElement);
20963
21071
 
20964
21072
  /**
20965
21073
  * Component design tokens that control the `M3eShapeElement` for all variants.
@@ -21092,7 +21200,7 @@ M3eShapeElement.styles = [ShapeStyle, ShapeNameStyle];
21092
21200
  __decorate([n$1({
21093
21201
  reflect: true
21094
21202
  })], M3eShapeElement.prototype, "name", void 0);
21095
- M3eShapeElement = __decorate([t$3("m3e-shape")], M3eShapeElement);
21203
+ M3eShapeElement = __decorate([customElement$1("m3e-shape")], M3eShapeElement);
21096
21204
 
21097
21205
  var _M3eSlideGroupElement_instances, _M3eSlideGroupElement_directionalitySubscription, _M3eSlideGroupElement_resizeController, _M3eSlideGroupElement_pageStart, _M3eSlideGroupElement_pageEnd;
21098
21206
  /**
@@ -21289,7 +21397,7 @@ __decorate([n$1({
21289
21397
  attribute: "next-page-label"
21290
21398
  })], M3eSlideGroupElement.prototype, "nextPageLabel", void 0);
21291
21399
  __decorate([debounce$1(40)], M3eSlideGroupElement.prototype, "_updatePaging", null);
21292
- M3eSlideGroupElement = __decorate([t$3("m3e-slide-group")], M3eSlideGroupElement);
21400
+ M3eSlideGroupElement = __decorate([customElement$1("m3e-slide-group")], M3eSlideGroupElement);
21293
21401
 
21294
21402
  var _M3eSliderThumbElement_instances, _M3eSliderThumbElement_labelText_get;
21295
21403
  /**
@@ -21396,7 +21504,7 @@ __decorate([n$1({
21396
21504
  type: Number,
21397
21505
  reflect: true
21398
21506
  })], M3eSliderThumbElement.prototype, "value", void 0);
21399
- M3eSliderThumbElement = __decorate([t$3("m3e-slider-thumb")], M3eSliderThumbElement);
21507
+ M3eSliderThumbElement = __decorate([customElement$1("m3e-slider-thumb")], M3eSliderThumbElement);
21400
21508
 
21401
21509
  var _M3eSliderElement_instances, _M3eSliderElement_directionalitySubscription, _M3eSliderElement_thumbs, _M3eSliderElement_activeThumb, _M3eSliderElement_cachedWidth, _M3eSliderElement_cachedThumbWidth, _M3eSliderElement_cachedLeft, _M3eSliderElement_renderTick, _M3eSliderElement_handleSlotChange, _M3eSliderElement_updateThumbs, _M3eSliderElement_pointFromValue, _M3eSliderElement_valueFromPoint, _M3eSliderElement_updateCachedDimensions, _M3eSliderElement_updateDimensions, _M3eSliderElement_updateTicks, _M3eSliderElement_handlePointerDown, _M3eSliderElement_handlePointerMove, _M3eSliderElement_handlePointerUp, _M3eSliderElement_handleKeyDown, _M3eSliderElement_handleThumbChange, _M3eSliderElement_changeThumb;
21402
21510
  /**
@@ -21469,7 +21577,7 @@ var _M3eSliderElement_instances, _M3eSliderElement_directionalitySubscription, _
21469
21577
  * @cssprop --m3e-slider-tick-inactive-color - Color of inactive ticks when enabled.
21470
21578
  * @cssprop --m3e-slider-disabled-tick-inactive-color - Color of inactive ticks when disabled.
21471
21579
  */
21472
- let M3eSliderElement = class M3eSliderElement extends LitElement {
21580
+ let M3eSliderElement = class M3eSliderElement extends AttachInternals$1(LitElement) {
21473
21581
  constructor() {
21474
21582
  super();
21475
21583
  _M3eSliderElement_instances.add(this);
@@ -21731,8 +21839,8 @@ _M3eSliderElement_handlePointerMove = function _M3eSliderElement_handlePointerMo
21731
21839
  } else if (this.upperThumb) {
21732
21840
  max = Math.min(max, this.upperThumb.value ?? this.max);
21733
21841
  }
21734
- if (this.classList.contains("-animating")) {
21735
- this.classList.toggle("-animating", false);
21842
+ if (hasCustomState$1(this, "-animating")) {
21843
+ deleteCustomState$1(this, "-animating");
21736
21844
  __classPrivateFieldGet(this, _M3eSliderElement_activeThumb, "f").style.transition = "";
21737
21845
  }
21738
21846
  __classPrivateFieldGet(this, _M3eSliderElement_instances, "m", _M3eSliderElement_changeThumb).call(this, __classPrivateFieldGet(this, _M3eSliderElement_activeThumb, "f"), Math.min(max, Math.max(min, value)));
@@ -21819,10 +21927,10 @@ _M3eSliderElement_changeThumb = function _M3eSliderElement_changeThumb(thumb, va
21819
21927
  if (thumb.value === value) return;
21820
21928
  const prev = thumb.value;
21821
21929
  if (animate && !prefersReducedMotion$1()) {
21822
- this.classList.toggle("-animating", true);
21930
+ addCustomState$1(this, "-animating");
21823
21931
  thumb.addEventListener("transitionend", () => {
21824
21932
  thumb.style.transition = "";
21825
- this.classList.toggle("-animating", false);
21933
+ deleteCustomState$1(this, "-animating");
21826
21934
  }, {
21827
21935
  once: true
21828
21936
  });
@@ -21845,7 +21953,7 @@ _M3eSliderElement_changeThumb = function _M3eSliderElement_changeThumb(thumb, va
21845
21953
  }
21846
21954
  };
21847
21955
  /** The styles of the element. */
21848
- M3eSliderElement.styles = css`:host { display: inline-block; vertical-align: middle; min-inline-size: var(--m3e-slider-min-width, 12.5rem); user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not([disabled])) { cursor: pointer; } :host([size="extra-small"]), :host([size="small"]) { height: var(--m3e-slider-small-height, 2.75rem); } :host(:not(:dir(rtl))[size="extra-small"]) .base, :host(:not(:dir(rtl))[size="small"]) .base { --_slider-active-track-shape: var(--m3e-slider-small-active-track-shape, ${DesignToken$1.shape.corner.smallStart}); --_slider-inactive-track-start-shape: var( --m3e-slider-small-inactive-active-track-start-shape, ${DesignToken$1.shape.corner.smallStart} ); --_slider-inactive-track-end-shape: var( --m3e-slider-small-inactive-track-end-shape, ${DesignToken$1.shape.corner.smallEnd} ); } :host(:dir(rtl)[size="extra-small"]) .base, :host(:dir(rtl)[size="small"]) .base { --_slider-active-track-shape: var(--m3e-slider-small-active-track-shape, ${DesignToken$1.shape.corner.smallEnd}); --_slider-inactive-track-start-shape: var( --m3e-slider-small-inactive-active-track-start-shape, ${DesignToken$1.shape.corner.smallEnd} ); --_slider-inactive-track-end-shape: var( --m3e-slider-small-inactive-track-end-shape, ${DesignToken$1.shape.corner.smallStart} ); } :host([size="extra-small"]) .track { height: calc(var(--m3e-slider-extra-small-track-height, 1rem)); } :host([size="small"]) .track { height: calc(var(--m3e-slider-small-track-height, 1.5rem)); } :host([size="medium"]) { height: var(--m3e-slider-medium-height, 3.25rem); } :host(:not(:dir(rtl))[size="medium"]) .base { --_slider-active-track-shape: var( --m3e-slider-medium-active-track-shape, ${DesignToken$1.shape.corner.mediumStart} ); --_slider-inactive-track-start-shape: var( --m3e-slider-medium-inactive-active-track-start-shape, ${DesignToken$1.shape.corner.mediumStart} ); --_slider-inactive-track-end-shape: var( --m3e-slider-medium-inactive-track-end-shape, ${DesignToken$1.shape.corner.mediumEnd} ); } :host(:dir(rtl)[size="medium"]) .base { --_slider-active-track-shape: var(--m3e-slider-medium-active-track-shape, ${DesignToken$1.shape.corner.mediumEnd}); --_slider-inactive-track-start-shape: var( --m3e-slider-medium-inactive-active-track-start-shape, ${DesignToken$1.shape.corner.mediumEnd} ); --_slider-inactive-track-end-shape: var( --m3e-slider-medium-inactive-track-end-shape, ${DesignToken$1.shape.corner.mediumStart} ); } :host([size="medium"]) .track { height: var(--m3e-slider-medium-track-height, 2.5rem); } :host([size="large"]) { height: var(--m3e-slider-large-height, 4.25rem); } :host(:not(:dir(rtl))[size="large"]) .base { --_slider-active-track-shape: var(--m3e-slider-large-active-track-shape, ${DesignToken$1.shape.corner.largeStart}); --_slider-inactive-track-start-shape: var( --m3e-slider-large-inactive-active-track-start-shape, ${DesignToken$1.shape.corner.largeStart} ); --_slider-inactive-track-end-shape: var( --m3e-slider-large-inactive-track-end-shape, ${DesignToken$1.shape.corner.largeEnd} ); } :host(:dir(rtl)[size="large"]) .base { --_slider-active-track-shape: var(--m3e-slider-large-active-track-shape, ${DesignToken$1.shape.corner.largeEnd}); --_slider-inactive-track-start-shape: var( --m3e-slider-large-inactive-active-track-start-shape, ${DesignToken$1.shape.corner.largeEnd} ); --_slider-inactive-track-end-shape: var( --m3e-slider-large-inactive-track-end-shape, ${DesignToken$1.shape.corner.largeStart} ); } :host([size="large"]) .track { height: var(--m3e-slider-large-track-height, 3.5rem); } :host([size="extra-large"]) { height: var(--m3e-slider-extra-large-height, 6.75rem); } :host(:not(:dir(rtl))[size="extra-large"]) .base { --_slider-active-track-shape: var( --m3e-slider-extra-large-active-track-shape, ${DesignToken$1.shape.corner.extraLargeStart} ); --_slider-inactive-track-start-shape: var( --m3e-slider-extra-large-inactive-active-track-start-shape, ${DesignToken$1.shape.corner.extraLargeStart} ); --_slider-inactive-track-end-shape: var( --m3e-slider-extra-large-inactive-track-end-shape, ${DesignToken$1.shape.corner.extraLargeEnd} ); } :host(:dir(rtl)[size="extra-large"]) .base { --_slider-active-track-shape: var( --m3e-slider-extra-large-active-track-shape, ${DesignToken$1.shape.corner.extraLargeEnd} ); --_slider-inactive-track-start-shape: var( --m3e-slider-extra-large-inactive-active-track-start-shape, ${DesignToken$1.shape.corner.extraLargeEnd} ); --_slider-inactive-track-end-shape: var( --m3e-slider-extra-large-inactive-track-end-shape, ${DesignToken$1.shape.corner.extraLargeStart} ); } :host([size="extra-large"]) .track { height: var(--m3e-slider-extra-large-track-height, 6rem); } :host(.-animating) .track-active, :host(.-animating) .track-inactive.start, :host(.-animating) .track-inactive.end { transition: ${unsafeCSS(`margin-inline-start ${DesignToken$1.motion.spring.fastEffects},
21956
+ M3eSliderElement.styles = css`:host { display: inline-block; vertical-align: middle; min-inline-size: var(--m3e-slider-min-width, 12.5rem); user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not([disabled])) { cursor: pointer; } :host([size="extra-small"]), :host([size="small"]) { height: var(--m3e-slider-small-height, 2.75rem); } :host(:not(:dir(rtl))[size="extra-small"]) .base, :host(:not(:dir(rtl))[size="small"]) .base { --_slider-active-track-shape: var(--m3e-slider-small-active-track-shape, ${DesignToken$1.shape.corner.smallStart}); --_slider-inactive-track-start-shape: var( --m3e-slider-small-inactive-active-track-start-shape, ${DesignToken$1.shape.corner.smallStart} ); --_slider-inactive-track-end-shape: var( --m3e-slider-small-inactive-track-end-shape, ${DesignToken$1.shape.corner.smallEnd} ); } :host(:dir(rtl)[size="extra-small"]) .base, :host(:dir(rtl)[size="small"]) .base { --_slider-active-track-shape: var(--m3e-slider-small-active-track-shape, ${DesignToken$1.shape.corner.smallEnd}); --_slider-inactive-track-start-shape: var( --m3e-slider-small-inactive-active-track-start-shape, ${DesignToken$1.shape.corner.smallEnd} ); --_slider-inactive-track-end-shape: var( --m3e-slider-small-inactive-track-end-shape, ${DesignToken$1.shape.corner.smallStart} ); } :host([size="extra-small"]) .track { height: calc(var(--m3e-slider-extra-small-track-height, 1rem)); } :host([size="small"]) .track { height: calc(var(--m3e-slider-small-track-height, 1.5rem)); } :host([size="medium"]) { height: var(--m3e-slider-medium-height, 3.25rem); } :host(:not(:dir(rtl))[size="medium"]) .base { --_slider-active-track-shape: var( --m3e-slider-medium-active-track-shape, ${DesignToken$1.shape.corner.mediumStart} ); --_slider-inactive-track-start-shape: var( --m3e-slider-medium-inactive-active-track-start-shape, ${DesignToken$1.shape.corner.mediumStart} ); --_slider-inactive-track-end-shape: var( --m3e-slider-medium-inactive-track-end-shape, ${DesignToken$1.shape.corner.mediumEnd} ); } :host(:dir(rtl)[size="medium"]) .base { --_slider-active-track-shape: var(--m3e-slider-medium-active-track-shape, ${DesignToken$1.shape.corner.mediumEnd}); --_slider-inactive-track-start-shape: var( --m3e-slider-medium-inactive-active-track-start-shape, ${DesignToken$1.shape.corner.mediumEnd} ); --_slider-inactive-track-end-shape: var( --m3e-slider-medium-inactive-track-end-shape, ${DesignToken$1.shape.corner.mediumStart} ); } :host([size="medium"]) .track { height: var(--m3e-slider-medium-track-height, 2.5rem); } :host([size="large"]) { height: var(--m3e-slider-large-height, 4.25rem); } :host(:not(:dir(rtl))[size="large"]) .base { --_slider-active-track-shape: var(--m3e-slider-large-active-track-shape, ${DesignToken$1.shape.corner.largeStart}); --_slider-inactive-track-start-shape: var( --m3e-slider-large-inactive-active-track-start-shape, ${DesignToken$1.shape.corner.largeStart} ); --_slider-inactive-track-end-shape: var( --m3e-slider-large-inactive-track-end-shape, ${DesignToken$1.shape.corner.largeEnd} ); } :host(:dir(rtl)[size="large"]) .base { --_slider-active-track-shape: var(--m3e-slider-large-active-track-shape, ${DesignToken$1.shape.corner.largeEnd}); --_slider-inactive-track-start-shape: var( --m3e-slider-large-inactive-active-track-start-shape, ${DesignToken$1.shape.corner.largeEnd} ); --_slider-inactive-track-end-shape: var( --m3e-slider-large-inactive-track-end-shape, ${DesignToken$1.shape.corner.largeStart} ); } :host([size="large"]) .track { height: var(--m3e-slider-large-track-height, 3.5rem); } :host([size="extra-large"]) { height: var(--m3e-slider-extra-large-height, 6.75rem); } :host(:not(:dir(rtl))[size="extra-large"]) .base { --_slider-active-track-shape: var( --m3e-slider-extra-large-active-track-shape, ${DesignToken$1.shape.corner.extraLargeStart} ); --_slider-inactive-track-start-shape: var( --m3e-slider-extra-large-inactive-active-track-start-shape, ${DesignToken$1.shape.corner.extraLargeStart} ); --_slider-inactive-track-end-shape: var( --m3e-slider-extra-large-inactive-track-end-shape, ${DesignToken$1.shape.corner.extraLargeEnd} ); } :host(:dir(rtl)[size="extra-large"]) .base { --_slider-active-track-shape: var( --m3e-slider-extra-large-active-track-shape, ${DesignToken$1.shape.corner.extraLargeEnd} ); --_slider-inactive-track-start-shape: var( --m3e-slider-extra-large-inactive-active-track-start-shape, ${DesignToken$1.shape.corner.extraLargeEnd} ); --_slider-inactive-track-end-shape: var( --m3e-slider-extra-large-inactive-track-end-shape, ${DesignToken$1.shape.corner.extraLargeStart} ); } :host([size="extra-large"]) .track { height: var(--m3e-slider-extra-large-track-height, 6rem); } :host(:state(-animating)) .track-active, :host(:state(-animating)) .track-inactive.start, :host(:state(-animating)) .track-inactive.end { transition: ${unsafeCSS(`margin-inline-start ${DesignToken$1.motion.spring.fastEffects},
21849
21957
  width ${DesignToken$1.motion.spring.fastEffects}`)}; } .base { display: inline-flex; align-items: center; position: relative; width: 100%; height: 100%; border-radius: inherit; outline: none; touch-action: none; } .track { position: relative; flex: 1 1 auto; touch-action: none; } .track-inactive, .track-active { position: absolute; height: 100%; touch-action: none; } .track-active { margin-inline-start: var(--_slider-active-track-offset, 0px); width: var(--_slider-active-track-size, 0px); border-radius: var(--_slider-active-track-middle-shape, var(--_slider-active-track-shape)); } .track-inactive.start { width: var(--_slider-inactive-track-before-size, 0px); border-radius: var(--_slider-inactive-track-start-shape); } .track-inactive.end { margin-inline-start: var(--_slider-inactive-track-after-offset, 0px); width: var(--_slider-inactive-track-after-size, 0px); border-radius: var(--_slider-inactive-track-end-shape); } .ticks { position: absolute; width: 100%; height: var(--m3e-slider-tick-size, 0.25rem); overflow: visible; touch-action: none; } .tick { position: absolute; top: 0; touch-action: none; inset-inline-start: calc(var(--m3e-slider-tick-size, 0.25rem) + calc(var(--m3e-slider-tick-size, 0.25rem) / 2)); width: var(--m3e-slider-tick-size, 0.25rem); height: var(--m3e-slider-tick-size, 0.25rem); border-radius: var(--m3e-slider-tick-shape, ${DesignToken$1.shape.corner.full}); } :host(:not([disabled])) .track-inactive { background-color: var(--m3e-slider-inactive-track-color, ${DesignToken$1.color.secondaryContainer}); } :host([disabled]) .track-inactive { background-color: color-mix( in srgb, var(--m3e-slider-disabled-inactive-track-color, ${DesignToken$1.color.onSurface}) var(--m3e-slider-disabled-inactive-track-opacity, 12%), transparent ); } :host(:not([disabled])) .track-active { background-color: var(--m3e-slider-active-track-color, ${DesignToken$1.color.primary}); } :host([disabled]) .track-active { background-color: color-mix( in srgb, var(--m3e-slider-disabled-active-track-color, ${DesignToken$1.color.onSurface}) var(--m3e-slider-disabled-active-track-opacity, 38%), transparent ); } :host(:not([disabled])) .tick.active { background-color: var(--m3e-slider-tick-active-color, ${DesignToken$1.color.onPrimary}); } :host([disabled]) .tick.active { background-color: var(--m3e-slider-disabled-tick-active-color, ${DesignToken$1.color.inverseOnSurface}); } :host(:not([disabled])) .tick.inactive { background-color: var(--m3e-slider-tick-inactive-color, ${DesignToken$1.color.onSecondaryContainer}); } :host([disabled]) .tick.inactive { background-color: var(--m3e-slider-disabled-tick-inactive-color, ${DesignToken$1.color.onSurface}); } :host(:not([discrete])) .tick.active { display: none; } :host(:hover[labelled]) .base, :host(:focus-within[labelled]) .base { --_slider-label-visibility: visible; --_slider-label-opacity: 1; --_slider-label-transform: scale(1); } @media (forced-colors: active) { :host(:not([disabled])) .track-inactive { background-color: unset; } :host(:not([disabled])) .base.range .track-inactive.start, :host(:not([disabled])) .track-inactive.end { border: 1px solid CanvasText; box-sizing: border-box; } :host(:not([disabled])) .tick.inactive { background-color: CanvasText; } :host(:not([disabled])) .tick.active { background-color: Canvas; } :host(:not([disabled])) .track-active { background-color: CanvasText; } :host([disabled]) .base.range .track-inactive.start, :host([disabled]) .track-inactive.end { border: 1px solid GrayText; box-sizing: border-box; } :host([disabled]) .track-active { background-color: GrayText; } :host([disabled]) .tick.inactive { background-color: GrayText; } :host([disabled]) .tick.active { background-color: Canvas; } }`;
21850
21958
  __decorate([e$4(".base")], M3eSliderElement.prototype, "_base", void 0);
21851
21959
  __decorate([r$1()], M3eSliderElement.prototype, "_ticks", void 0);
@@ -21875,7 +21983,7 @@ __decorate([n$1({
21875
21983
  __decorate([n$1({
21876
21984
  attribute: false
21877
21985
  })], M3eSliderElement.prototype, "displayWith", void 0);
21878
- M3eSliderElement = __decorate([t$3("m3e-slider")], M3eSliderElement);
21986
+ M3eSliderElement = __decorate([customElement$1("m3e-slider")], M3eSliderElement);
21879
21987
 
21880
21988
  /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
21881
21989
  var _M3eSnackbarElement_instances, _M3eSnackbarElement_timeoutId, _M3eSnackbarElement_actionTaken, _M3eSnackbarElement_beforeToggleHandler, _M3eSnackbarElement_renderActionButton, _M3eSnackbarElement_renderCloseButton, _M3eSnackbarElement_handleActionClick, _M3eSnackbarElement_handleBeforeToggle;
@@ -21995,7 +22103,7 @@ _M3eSnackbarElement_handleBeforeToggle = function _M3eSnackbarElement_handleBefo
21995
22103
  }
21996
22104
  };
21997
22105
  (() => {
21998
- if (document) {
22106
+ if (typeof window !== "undefined") {
21999
22107
  const lightDomStyle = new CSSStyleSheet();
22000
22108
  lightDomStyle.replaceSync(css`m3e-snackbar { margin-inline: auto; }`.toString());
22001
22109
  document.adoptedStyleSheets = [...document.adoptedStyleSheets, lightDomStyle];
@@ -22019,7 +22127,7 @@ __decorate([n$1({
22019
22127
  __decorate([n$1({
22020
22128
  attribute: "close-label"
22021
22129
  })], M3eSnackbarElement.prototype, "closeLabel", void 0);
22022
- M3eSnackbarElement = M3eSnackbarElement_1 = __decorate([t$3("m3e-snackbar")], M3eSnackbarElement);
22130
+ M3eSnackbarElement = M3eSnackbarElement_1 = __decorate([customElement$1("m3e-snackbar")], M3eSnackbarElement);
22023
22131
 
22024
22132
  /**
22025
22133
  * Presents short updates about application processes at the bottom of the screen from anywhere in an application.
@@ -22302,7 +22410,7 @@ __decorate([n$1({
22302
22410
  __decorate([n$1({
22303
22411
  reflect: true
22304
22412
  })], M3eSplitButtonElement.prototype, "size", void 0);
22305
- M3eSplitButtonElement = __decorate([t$3("m3e-split-button")], M3eSplitButtonElement);
22413
+ M3eSplitButtonElement = __decorate([customElement$1("m3e-split-button")], M3eSplitButtonElement);
22306
22414
 
22307
22415
  /**
22308
22416
  * A panel presented for a step in a wizard-like workflow.
@@ -22380,7 +22488,7 @@ let M3eStepPanelElement = class M3eStepPanelElement extends Role$1(LitElement, "
22380
22488
  /** The styles of the element. */
22381
22489
  M3eStepPanelElement.styles = css`:host { display: block; } .content { display: flex; flex-direction: column; padding: var(--m3e-step-panel-padding, 1rem 1.5rem 1.5rem 1.5rem); row-gap: var(--m3e-step-panel-spacing, 0.5rem); } ::slotted([slot="actions"]) { flex: none; display: flex; align-items: center; min-height: var(--m3e-step-panel-actions-height, 3rem); } ::slotted([slot="actions"][end]) { justify-content: flex-end; }`;
22382
22490
  __decorate([r$1()], M3eStepPanelElement.prototype, "active", void 0);
22383
- M3eStepPanelElement = __decorate([t$3("m3e-step-panel")], M3eStepPanelElement);
22491
+ M3eStepPanelElement = __decorate([customElement$1("m3e-step-panel")], M3eStepPanelElement);
22384
22492
 
22385
22493
  var _M3eStepElement_instances, _M3eStepElement_clickHandler, _M3eStepElement_renderIcon, _M3eStepElement_handleClick;
22386
22494
  var M3eStepElement_1;
@@ -22634,7 +22742,7 @@ __decorate([n$1({
22634
22742
  reflect: true
22635
22743
  })], M3eStepElement.prototype, "invalid", void 0);
22636
22744
  __decorate([r$1()], M3eStepElement.prototype, "index", void 0);
22637
- M3eStepElement = M3eStepElement_1 = __decorate([t$3("m3e-step")], M3eStepElement);
22745
+ M3eStepElement = M3eStepElement_1 = __decorate([customElement$1("m3e-step")], M3eStepElement);
22638
22746
 
22639
22747
  var _StepperButtonElementBase_action;
22640
22748
  /** A base implementation for a button used to move to a step in a stepper. This class must be inherited. */
@@ -22849,7 +22957,7 @@ let M3eStepperElement = class M3eStepperElement extends AttachInternals$1(LitEle
22849
22957
  /** @inheritdoc */
22850
22958
  connectedCallback() {
22851
22959
  super.connectedCallback();
22852
- this.classList.toggle("-no-animate", true);
22960
+ addCustomState$1(this, "-no-animate");
22853
22961
  }
22854
22962
  /** @inheritdoc */
22855
22963
  disconnectedCallback() {
@@ -22943,8 +23051,8 @@ _M3eStepperElement_handleSelectedChange = function _M3eStepperElement_handleSele
22943
23051
  if (selected && this.matches(":focus-within") && !selected.matches(":focus")) {
22944
23052
  selected.focus();
22945
23053
  }
22946
- if (this.classList.contains("-no-animate")) {
22947
- requestAnimationFrame(() => this.classList.toggle("-no-animate", false));
23054
+ if (hasCustomState$1(this, "-no-animate")) {
23055
+ requestAnimationFrame(() => deleteCustomState$1(this, "-no-animate"));
22948
23056
  }
22949
23057
  };
22950
23058
  _M3eStepperElement_checkValidity = function _M3eStepperElement_checkValidity() {
@@ -22960,7 +23068,7 @@ _M3eStepperElement_checkValidity = function _M3eStepperElement_checkValidity() {
22960
23068
  };
22961
23069
  _M3eStepperElement_updateDisplayOrder = function _M3eStepperElement_updateDisplayOrder() {
22962
23070
  this[selectionManager].vertical = (this._orientation ?? this.orientation) === "vertical";
22963
- this.classList.toggle("-vertical", this[selectionManager].vertical);
23071
+ setCustomState$1(this, "-vertical", this[selectionManager].vertical);
22964
23072
  if (!this[selectionManager].vertical) {
22965
23073
  this.steps.forEach(x => {
22966
23074
  x.style.order = "";
@@ -22978,14 +23086,14 @@ _M3eStepperElement_updateDisplayOrder = function _M3eStepperElement_updateDispla
22978
23086
  }
22979
23087
  };
22980
23088
  (() => {
22981
- if (document) {
23089
+ if (typeof window !== "undefined") {
22982
23090
  const lightDomStyle = new CSSStyleSheet();
22983
- lightDomStyle.replaceSync(css`m3e-stepper:not(.-vertical) > .-m3e-step-divider::before { border-bottom-width: var(--m3e-step-divider-thickness, 1px); border-bottom-style: solid; border-bottom-color: var(--m3e-step-divider-color, ${DesignToken$1.color.outline}); } m3e-stepper:not(.-vertical) > [slot="step"]:not(.-m3e-step-divider):not(:first-of-type)::before, m3e-stepper:not(.-vertical) > [slot="step"]:not(.-m3e-step-divider):not(:last-of-type)::after { border-bottom-width: var(--m3e-step-divider-thickness, 1px); border-bottom-style: solid; border-bottom-color: var(--m3e-step-divider-color, ${DesignToken$1.color.outline}); } m3e-stepper:not(.-vertical)[label-position="end"] > .-m3e-step-divider { margin-block: auto; } m3e-stepper:not(.-vertical)[label-position="below"] > .-m3e-step-divider::before, m3e-stepper:not(.-vertical)[label-position="below"] > [slot="step"]:not(.-m3e-step-divider):not(:first-of-type)::before, m3e-stepper:not(.-vertical)[label-position="below"] > [slot="step"]:not(.-m3e-step-divider):not(:last-of-type)::after { margin-block-start: calc(var(--m3e-step-padding, 1.5rem) + calc(var(--m3e-step-icon-size, 1.5rem) / 2)); } m3e-stepper.-vertical > [slot="panel"] { margin-inline-start: calc(var(--m3e-step-padding, 1.5rem) + calc(var(--m3e-step-icon-size, 1.5rem) / 2)); } m3e-stepper.-vertical > [slot="panel"]:not(:last-of-type) { border-inline-start-width: var(--m3e-step-divider-thickness, 1px); border-inline-start-style: solid; border-inline-start-color: var(--m3e-step-divider-color, ${DesignToken$1.color.outline}); } m3e-stepper.-vertical > [slot="step"]:not(.-m3e-step-divider):not(:first-of-type)::before, m3e-stepper.-vertical > [slot="step"]:not(.-m3e-step-divider):not(:last-of-type)::after { margin-inline-start: calc(var(--m3e-step-padding, 1.5rem) + calc(var(--m3e-step-icon-size, 1.5rem) / 2)); border-inline-start-width: var(--m3e-step-divider-thickness, 1px); border-inline-start-style: solid; border-inline-start-color: var(--m3e-step-divider-color, ${DesignToken$1.color.outline}); }`.toString());
23091
+ lightDomStyle.replaceSync(css`m3e-stepper:not(:state(-vertical)) > .-m3e-step-divider::before { border-bottom-width: var(--m3e-step-divider-thickness, 1px); border-bottom-style: solid; border-bottom-color: var(--m3e-step-divider-color, ${DesignToken$1.color.outline}); } m3e-stepper:not(:state(-vertical)) > [slot="step"]:not(.-m3e-step-divider):not(:first-of-type)::before, m3e-stepper:not(:state(-vertical)) > [slot="step"]:not(.-m3e-step-divider):not(:last-of-type)::after { border-bottom-width: var(--m3e-step-divider-thickness, 1px); border-bottom-style: solid; border-bottom-color: var(--m3e-step-divider-color, ${DesignToken$1.color.outline}); } m3e-stepper:not(:state(-vertical))[label-position="end"] > .-m3e-step-divider { margin-block: auto; } m3e-stepper:not(:state(-vertical))[label-position="below"] > .-m3e-step-divider::before, m3e-stepper:not(:state(-vertical))[label-position="below"] > [slot="step"]:not(.-m3e-step-divider):not(:first-of-type)::before, m3e-stepper:not(:state(-vertical))[label-position="below"] > [slot="step"]:not(.-m3e-step-divider):not(:last-of-type)::after { margin-block-start: calc(var(--m3e-step-padding, 1.5rem) + calc(var(--m3e-step-icon-size, 1.5rem) / 2)); } m3e-stepper:state(-vertical) > [slot="panel"] { margin-inline-start: calc(var(--m3e-step-padding, 1.5rem) + calc(var(--m3e-step-icon-size, 1.5rem) / 2)); } m3e-stepper:state(-vertical) > [slot="panel"]:not(:last-of-type) { border-inline-start-width: var(--m3e-step-divider-thickness, 1px); border-inline-start-style: solid; border-inline-start-color: var(--m3e-step-divider-color, ${DesignToken$1.color.outline}); } m3e-stepper:state(-vertical) > [slot="step"]:not(.-m3e-step-divider):not(:first-of-type)::before, m3e-stepper:state(-vertical) > [slot="step"]:not(.-m3e-step-divider):not(:last-of-type)::after { margin-inline-start: calc(var(--m3e-step-padding, 1.5rem) + calc(var(--m3e-step-icon-size, 1.5rem) / 2)); border-inline-start-width: var(--m3e-step-divider-thickness, 1px); border-inline-start-style: solid; border-inline-start-color: var(--m3e-step-divider-color, ${DesignToken$1.color.outline}); }`.toString());
22984
23092
  document.adoptedStyleSheets = [...document.adoptedStyleSheets, lightDomStyle];
22985
23093
  }
22986
23094
  })();
22987
23095
  /** The styles of the element. */
22988
- M3eStepperElement.styles = css`:host { display: flex; flex-direction: column; position: relative; } :host(:not(.-vertical)) .header { display: flex; align-items: flex-start; flex-wrap: nowrap; } :host(:not(.-vertical)) ::slotted(.-m3e-step-divider) { flex: 1 1 auto; position: relative; min-width: 2rem; } :host(:not(.-vertical)) ::slotted(.-m3e-step-divider)::before { content: ""; position: absolute; left: 0; right: 0; } :host(:not(.-vertical):not([label-position="below"])) ::slotted(.-m3e-step-divider)::before { top: 50%; } :host(:not(.-vertical)) ::slotted([slot="step"]) { align-self: stretch; } :host(:not(.-vertical)) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:first-of-type))::before, :host(:not(.-vertical)) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:last-of-type))::after { content: ""; display: block; position: absolute; top: 0; } :host(:not(.-vertical)[label-position="end"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:first-of-type))::before, :host(:not(.-vertical)[label-position="end"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:last-of-type))::after { top: 50%; } :host(:not(:dir(rtl)):not(.-vertical)[label-position="end"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:first-of-type))::before { left: 0; right: calc(100% - var(--m3e-step-padding, 1.5rem) + var(--m3e-step-divider-inset, 0.5rem)); } :host(:dir(rtl):not(.-vertical)[label-position="end"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:first-of-type))::before { right: 0; left: calc(100% - var(--m3e-step-padding, 1.5rem) + var(--m3e-step-divider-inset, 0.5rem)); } :host(:not(:dir(rtl)):not(.-vertical)[label-position="end"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:last-of-type))::after { left: calc(100% - var(--m3e-step-padding, 1.5rem) + var(--m3e-step-divider-inset, 0.5rem)); right: 0; } :host(:dir(rtl):not(.-vertical)[label-position="end"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:last-of-type))::after { right: calc(100% - var(--m3e-step-padding, 1.5rem) + var(--m3e-step-divider-inset, 0.5rem)); left: 0; } :host(:not(:dir(rtl)):not(.-vertical)[label-position="below"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:first-of-type))::before { left: 0; right: calc(50% + calc(var(--m3e-step-icon-size, 1.5rem) / 2) + var(--m3e-step-divider-inset, 0.5rem)); } :host(:dir(rtl):not(.-vertical)[label-position="below"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:first-of-type))::before { right: 0; left: calc(50% + calc(var(--m3e-step-icon-size, 1.5rem) / 2) + var(--m3e-step-divider-inset, 0.5rem)); } :host(:not(:dir(rtl)):not(.-vertical)[label-position="below"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:last-of-type))::after { left: calc(50% + calc(var(--m3e-step-icon-size, 1.5rem) / 2) + var(--m3e-step-divider-inset, 0.5rem)); right: 0; } :host(:dir(rtl):not(.-vertical)[label-position="below"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:last-of-type))::after { right: calc(50% + calc(var(--m3e-step-icon-size, 1.5rem) / 2) + var(--m3e-step-divider-inset, 0.5rem)); left: 0; } :host(:not(.-vertical)[label-position="below"]) { --_step-direction: column; --_step-label-align-items: center; } :host(.-vertical) .header { display: contents; } :host(.-vertical) ::slotted([slot="step"]:not(.-m3e-step-divider)) { flex: none; } :host(.-vertical) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:first-of-type))::before, :host(.-vertical) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:last-of-type))::after { content: ""; display: block; position: absolute; left: 0; } :host(.-vertical) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:first-of-type))::before { top: 0; bottom: calc(100% - var(--m3e-step-padding, 1.5rem) + var(--m3e-step-divider-inset, 0.5rem)); } :host(.-vertical) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:last-of-type))::after { top: calc(100% - var(--m3e-step-padding, 1.5rem) + var(--m3e-step-divider-inset, 0.5rem)); bottom: 0; } :host(:not(.-vertical)) { --m3e-collapsible-animation-duration: 0ms; } :host(.-no-animate) { --m3e-collapsible-animation-duration: 0ms; }`;
23096
+ M3eStepperElement.styles = css`:host { display: flex; flex-direction: column; position: relative; } :host(:not(:state(-vertical))) .header { display: flex; align-items: flex-start; flex-wrap: nowrap; } :host(:not(:state(-vertical))) ::slotted(.-m3e-step-divider) { flex: 1 1 auto; position: relative; min-width: 2rem; } :host(:not(:state(-vertical))) ::slotted(.-m3e-step-divider)::before { content: ""; position: absolute; left: 0; right: 0; } :host(:not(:state(-vertical)):not([label-position="below"])) ::slotted(.-m3e-step-divider)::before { top: 50%; } :host(:not(:state(-vertical))) ::slotted([slot="step"]) { align-self: stretch; } :host(:not(:state(-vertical))) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:first-of-type))::before, :host(:not(:state(-vertical))) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:last-of-type))::after { content: ""; display: block; position: absolute; top: 0; } :host(:not(:state(-vertical))[label-position="end"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:first-of-type))::before, :host(:not(:state(-vertical))[label-position="end"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:last-of-type))::after { top: 50%; } :host(:not(:dir(rtl)):not(:state(-vertical))[label-position="end"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:first-of-type))::before { left: 0; right: calc(100% - var(--m3e-step-padding, 1.5rem) + var(--m3e-step-divider-inset, 0.5rem)); } :host(:dir(rtl):not(:state(-vertical))[label-position="end"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:first-of-type))::before { right: 0; left: calc(100% - var(--m3e-step-padding, 1.5rem) + var(--m3e-step-divider-inset, 0.5rem)); } :host(:not(:dir(rtl)):not(:state(-vertical))[label-position="end"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:last-of-type))::after { left: calc(100% - var(--m3e-step-padding, 1.5rem) + var(--m3e-step-divider-inset, 0.5rem)); right: 0; } :host(:dir(rtl):not(:state(-vertical))[label-position="end"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:last-of-type))::after { right: calc(100% - var(--m3e-step-padding, 1.5rem) + var(--m3e-step-divider-inset, 0.5rem)); left: 0; } :host(:not(:dir(rtl)):not(:state(-vertical))[label-position="below"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:first-of-type))::before { left: 0; right: calc(50% + calc(var(--m3e-step-icon-size, 1.5rem) / 2) + var(--m3e-step-divider-inset, 0.5rem)); } :host(:dir(rtl):not(:state(-vertical))[label-position="below"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:first-of-type))::before { right: 0; left: calc(50% + calc(var(--m3e-step-icon-size, 1.5rem) / 2) + var(--m3e-step-divider-inset, 0.5rem)); } :host(:not(:dir(rtl)):not(:state(-vertical))[label-position="below"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:last-of-type))::after { left: calc(50% + calc(var(--m3e-step-icon-size, 1.5rem) / 2) + var(--m3e-step-divider-inset, 0.5rem)); right: 0; } :host(:dir(rtl):not(:state(-vertical))[label-position="below"]) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:last-of-type))::after { right: calc(50% + calc(var(--m3e-step-icon-size, 1.5rem) / 2) + var(--m3e-step-divider-inset, 0.5rem)); left: 0; } :host(:not(:state(-vertical))[label-position="below"]) { --_step-direction: column; --_step-label-align-items: center; } :host(:state(-vertical)) .header { display: contents; } :host(:state(-vertical)) ::slotted([slot="step"]:not(.-m3e-step-divider)) { flex: none; } :host(:state(-vertical)) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:first-of-type))::before, :host(:state(-vertical)) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:last-of-type))::after { content: ""; display: block; position: absolute; left: 0; } :host(:state(-vertical)) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:first-of-type))::before { top: 0; bottom: calc(100% - var(--m3e-step-padding, 1.5rem) + var(--m3e-step-divider-inset, 0.5rem)); } :host(:state(-vertical)) ::slotted([slot="step"]:not(.-m3e-step-divider):not(:last-of-type))::after { top: calc(100% - var(--m3e-step-padding, 1.5rem) + var(--m3e-step-divider-inset, 0.5rem)); bottom: 0; } :host(:not(:state(-vertical))) { --m3e-collapsible-animation-duration: 0ms; } :host(:state(-no-animate)) { --m3e-collapsible-animation-duration: 0ms; }`;
22989
23097
  __decorate([r$1()], M3eStepperElement.prototype, "_orientation", void 0);
22990
23098
  __decorate([r$1()], M3eStepperElement.prototype, "_selectedIndex", void 0);
22991
23099
  __decorate([n$1({
@@ -23003,7 +23111,7 @@ __decorate([n$1({
23003
23111
  __decorate([n$1({
23004
23112
  reflect: true
23005
23113
  })], M3eStepperElement.prototype, "orientation", void 0);
23006
- M3eStepperElement = __decorate([t$3("m3e-stepper")], M3eStepperElement);
23114
+ M3eStepperElement = __decorate([customElement$1("m3e-stepper")], M3eStepperElement);
23007
23115
 
23008
23116
  /**
23009
23117
  * An element, nested within a clickable element, used to move a stepper to the next step.
@@ -23016,7 +23124,7 @@ let M3eStepperNextElement = class M3eStepperNextElement extends StepperButtonEle
23016
23124
  super("next");
23017
23125
  }
23018
23126
  };
23019
- M3eStepperNextElement = __decorate([t$3("m3e-stepper-next")], M3eStepperNextElement);
23127
+ M3eStepperNextElement = __decorate([customElement$1("m3e-stepper-next")], M3eStepperNextElement);
23020
23128
 
23021
23129
  /**
23022
23130
  * An element, nested within a clickable element, used to move a stepper to the previous step.
@@ -23029,7 +23137,7 @@ let M3eStepperPreviousElement = class M3eStepperPreviousElement extends StepperB
23029
23137
  super("previous");
23030
23138
  }
23031
23139
  };
23032
- M3eStepperPreviousElement = __decorate([t$3("m3e-stepper-previous")], M3eStepperPreviousElement);
23140
+ M3eStepperPreviousElement = __decorate([customElement$1("m3e-stepper-previous")], M3eStepperPreviousElement);
23033
23141
 
23034
23142
  /**
23035
23143
  * An element, nested within a clickable element, used to reset a stepper to its initial state.
@@ -23042,7 +23150,7 @@ let M3eStepperResetElement = class M3eStepperResetElement extends StepperButtonE
23042
23150
  super("reset");
23043
23151
  }
23044
23152
  };
23045
- M3eStepperResetElement = __decorate([t$3("m3e-stepper-reset")], M3eStepperResetElement);
23153
+ M3eStepperResetElement = __decorate([customElement$1("m3e-stepper-reset")], M3eStepperResetElement);
23046
23154
 
23047
23155
  /**
23048
23156
  * Component design tokens that control `M3eSwitchElement`.
@@ -23366,7 +23474,7 @@ __decorate([n$1({
23366
23474
  reflect: true
23367
23475
  })], M3eSwitchElement.prototype, "icons", void 0);
23368
23476
  __decorate([n$1()], M3eSwitchElement.prototype, "value", void 0);
23369
- M3eSwitchElement = __decorate([t$3("m3e-switch")], M3eSwitchElement);
23477
+ M3eSwitchElement = __decorate([customElement$1("m3e-switch")], M3eSwitchElement);
23370
23478
 
23371
23479
  var _M3eTabElement_instances, _M3eTabElement_clickHandler, _M3eTabElement_handleClick;
23372
23480
  var M3eTabElement_1;
@@ -23503,7 +23611,7 @@ __decorate([e$4(".focus-ring")], M3eTabElement.prototype, "_focusRing", void 0);
23503
23611
  __decorate([e$4(".state-layer")], M3eTabElement.prototype, "_stateLayer", void 0);
23504
23612
  __decorate([e$4(".ripple")], M3eTabElement.prototype, "_ripple", void 0);
23505
23613
  __decorate([e$4(".label")], M3eTabElement.prototype, "label", void 0);
23506
- M3eTabElement = M3eTabElement_1 = __decorate([t$3("m3e-tab")], M3eTabElement);
23614
+ M3eTabElement = M3eTabElement_1 = __decorate([customElement$1("m3e-tab")], M3eTabElement);
23507
23615
 
23508
23616
  /**
23509
23617
  * A panel presented for a tab.
@@ -23546,7 +23654,7 @@ let M3eTabPanelElement = class M3eTabPanelElement extends Role$1(LitElement, "ta
23546
23654
  };
23547
23655
  /** The styles of the element. */
23548
23656
  M3eTabPanelElement.styles = css`:host { display: block; overflow-y: auto; scrollbar-width: ${DesignToken$1.scrollbar.width}; scrollbar-color: ${DesignToken$1.scrollbar.color}; }`;
23549
- M3eTabPanelElement = __decorate([t$3("m3e-tab-panel")], M3eTabPanelElement);
23657
+ M3eTabPanelElement = __decorate([customElement$1("m3e-tab-panel")], M3eTabPanelElement);
23550
23658
 
23551
23659
  var _M3eTabsElement_instances, _M3eTabsElement_directionalitySubscription, _M3eTabsElement_renderHeader, _M3eTabsElement_handleSlotChange, _M3eTabsElement_handleKeyDown, _M3eTabsElement_handleChange, _M3eTabsElement_handleSelectedChange, _M3eTabsElement_updateInkBar, _a$2;
23552
23660
  const MIN_PRIMARY_TAB_WIDTH = 24;
@@ -23643,7 +23751,7 @@ let M3eTabsElement = class M3eTabsElement extends AttachInternals$1(LitElement)
23643
23751
  new ResizeController$1(this, {
23644
23752
  skipInitial: true,
23645
23753
  callback: () => {
23646
- this.classList.toggle("-no-animate", true);
23754
+ addCustomState$1(this, "-no-animate");
23647
23755
  __classPrivateFieldGet(this, _M3eTabsElement_instances, "m", _M3eTabsElement_updateInkBar).call(this);
23648
23756
  }
23649
23757
  });
@@ -23673,7 +23781,7 @@ let M3eTabsElement = class M3eTabsElement extends AttachInternals$1(LitElement)
23673
23781
  /** @inheritdoc */
23674
23782
  connectedCallback() {
23675
23783
  super.connectedCallback();
23676
- this.classList.toggle("-no-animate", true);
23784
+ addCustomState$1(this, "-no-animate");
23677
23785
  __classPrivateFieldSet(this, _M3eTabsElement_directionalitySubscription, M3eDirectionality.observe(() => {
23678
23786
  this.requestUpdate();
23679
23787
  this[selectionManager].directionality = M3eDirectionality.current;
@@ -23751,13 +23859,13 @@ _M3eTabsElement_updateInkBar = function _M3eTabsElement_updateInkBar() {
23751
23859
  }
23752
23860
  this._tablist.style.setProperty("--_tabs-active-tab-position", `${left}px`);
23753
23861
  this._tablist.style.setProperty("--_tabs-active-tab-size", `${width}px`);
23754
- if (width > 0 && this.classList.contains("-no-animate")) {
23755
- setTimeout(() => this.classList.toggle("-no-animate", false));
23862
+ if (width > 0 && hasCustomState$1(this, "-no-animate")) {
23863
+ setTimeout(() => deleteCustomState$1(this, "-no-animate"));
23756
23864
  }
23757
23865
  };
23758
23866
  /** The styles of the element. */
23759
23867
  M3eTabsElement.styles = css`:host { display: flex; flex-direction: column; position: relative; } .tablist { position: relative; box-sizing: border-box; flex: none; } ::slotted(prev-icon), ::slotted(next-icon), .icon { width: 1em; font-size: var(--m3e-tabs-paginator-button-icon-size, var(--m3e-icon-button-icon-size, 1.5rem)) !important; } .header { display: flex; flex-direction: column; } .tabs { display: flex; flex-wrap: nowrap; align-items: center; } .ink-bar { box-sizing: border-box; height: var(--_tabs-active-indicator-thickness); } .active-indicator { position: relative; height: var(--_tabs-active-indicator-thickness); left: calc(var(--_tabs-active-tab-position) + var(--_tabs-activate-indicator-inset, 0px)); width: calc(var(--_tabs-active-tab-size) - calc(var(--_tabs-activate-indicator-inset, 0px) * 2)); background-color: var(--m3e-tabs-active-indicator-color, ${DesignToken$1.color.primary}); transition: ${unsafeCSS(`left var(--m3e-slide-animation-duration, ${DesignToken$1.motion.duration.long2}) ${DesignToken$1.motion.easing.standard},
23760
- width var(--m3e-slide-animation-duration, ${DesignToken$1.motion.duration.long2}) ${DesignToken$1.motion.easing.standard}`)}; } :host([header-position="after"]) .header { flex-direction: column-reverse; } :host([header-position="before"]) .ink-bar { margin-top: calc(0px - var(--_tabs-active-indicator-thickness)); } :host([header-position="before"]) .tablist { --m3e-slide-group-divider-bottom: var(--m3e-divider-thickness, 1px) solid var(--m3e-divider-color, ${DesignToken$1.color.outlineVariant}); } :host([header-position="after"]) .ink-bar { margin-bottom: calc(0px - var(--_tabs-active-indicator-thickness)); } :host([header-position="after"]) .tablist { --m3e-slide-group-divider-top: var(--m3e-divider-thickness, 1px) solid var(--m3e-divider-color, ${DesignToken$1.color.outlineVariant}); } :host([header-position="before"][variant="primary"]) .active-indicator { border-radius: var(--m3e-tabs-primary-before-active-indicator-shape, ${DesignToken$1.shape.corner.extraSmallTop}); } :host([header-position="after"][variant="primary"]) .active-indicator { border-radius: var(--m3e-tabs-primary-after-active-indicator-shape, ${DesignToken$1.shape.corner.extraSmallBottom}); } .tabs { flex: 1 1 auto; } :host([variant="primary"]) .tablist { --_tabs-activate-indicator-inset: var(--m3e-tabs-primary-active-indicator-inset, 0.125rem); --_tabs-active-indicator-thickness: var(--m3e-tabs-primary-active-indicator-thickness, 3px); --_tab-height: 4rem; } :host([header-position="before"]) .tablist { --_tab-focus-ring-bottom-offset: calc(var(--_tabs-active-indicator-thickness) + 1px); } :host([header-position="after"]) .tablist { --_tab-focus-ring-top-offset: calc(var(--_tabs-active-indicator-thickness) + 2px); } :host([header-position="before"][variant="primary"]) .tablist { --_tab-direction: column; } :host([header-position="after"][variant="primary"]) .tablist { --_tab-direction: column-reverse; } :host([variant="secondary"]) .tablist { --_tabs-active-indicator-thickness: var(--m3e-tabs-secondary-active-indicator-thickness, 2px); --_tab-height: 3rem; --_tab-selected-color: ${DesignToken$1.color.onSurface}; --_tab-selected-container-hover-color: ${DesignToken$1.color.onSurface}; --_tab-selected-container-focus-color: ${DesignToken$1.color.onSurface}; --_tab-selected-ripple-color: ${DesignToken$1.color.onSurface}; } :host([stretch]) .header { width: 100%; --_tab-grow: 1; } :host(.-no-animate) .active-indicator { transition: none; } @media (prefers-reduced-motion) { .active-indicator { transition: none; } } @media (forced-colors: active) { .active-indicator { background-color: ButtonText; --m3e-divider-color: GrayText; } }`;
23868
+ width var(--m3e-slide-animation-duration, ${DesignToken$1.motion.duration.long2}) ${DesignToken$1.motion.easing.standard}`)}; } :host([header-position="after"]) .header { flex-direction: column-reverse; } :host([header-position="before"]) .ink-bar { margin-top: calc(0px - var(--_tabs-active-indicator-thickness)); } :host([header-position="before"]) .tablist { --m3e-slide-group-divider-bottom: var(--m3e-divider-thickness, 1px) solid var(--m3e-divider-color, ${DesignToken$1.color.outlineVariant}); } :host([header-position="after"]) .ink-bar { margin-bottom: calc(0px - var(--_tabs-active-indicator-thickness)); } :host([header-position="after"]) .tablist { --m3e-slide-group-divider-top: var(--m3e-divider-thickness, 1px) solid var(--m3e-divider-color, ${DesignToken$1.color.outlineVariant}); } :host([header-position="before"][variant="primary"]) .active-indicator { border-radius: var(--m3e-tabs-primary-before-active-indicator-shape, ${DesignToken$1.shape.corner.extraSmallTop}); } :host([header-position="after"][variant="primary"]) .active-indicator { border-radius: var(--m3e-tabs-primary-after-active-indicator-shape, ${DesignToken$1.shape.corner.extraSmallBottom}); } .tabs { flex: 1 1 auto; } :host([variant="primary"]) .tablist { --_tabs-activate-indicator-inset: var(--m3e-tabs-primary-active-indicator-inset, 0.125rem); --_tabs-active-indicator-thickness: var(--m3e-tabs-primary-active-indicator-thickness, 3px); --_tab-height: 4rem; } :host([header-position="before"]) .tablist { --_tab-focus-ring-bottom-offset: calc(var(--_tabs-active-indicator-thickness) + 1px); } :host([header-position="after"]) .tablist { --_tab-focus-ring-top-offset: calc(var(--_tabs-active-indicator-thickness) + 2px); } :host([header-position="before"][variant="primary"]) .tablist { --_tab-direction: column; } :host([header-position="after"][variant="primary"]) .tablist { --_tab-direction: column-reverse; } :host([variant="secondary"]) .tablist { --_tabs-active-indicator-thickness: var(--m3e-tabs-secondary-active-indicator-thickness, 2px); --_tab-height: 3rem; --_tab-selected-color: ${DesignToken$1.color.onSurface}; --_tab-selected-container-hover-color: ${DesignToken$1.color.onSurface}; --_tab-selected-container-focus-color: ${DesignToken$1.color.onSurface}; --_tab-selected-ripple-color: ${DesignToken$1.color.onSurface}; } :host([stretch]) .header { width: 100%; --_tab-grow: 1; } :host(:state(-no-animate)) .active-indicator { transition: none; } @media (prefers-reduced-motion) { .active-indicator { transition: none; } } @media (forced-colors: active) { .active-indicator { background-color: ButtonText; --m3e-divider-color: GrayText; } }`;
23761
23869
  __decorate([e$4(".tablist")], M3eTabsElement.prototype, "_tablist", void 0);
23762
23870
  __decorate([r$1()], M3eTabsElement.prototype, "_selectedIndex", void 0);
23763
23871
  __decorate([n$1({
@@ -23781,7 +23889,7 @@ __decorate([n$1({
23781
23889
  __decorate([n$1({
23782
23890
  attribute: "next-page-label"
23783
23891
  })], M3eTabsElement.prototype, "nextPageLabel", void 0);
23784
- M3eTabsElement = __decorate([t$3("m3e-tabs")], M3eTabsElement);
23892
+ M3eTabsElement = __decorate([customElement$1("m3e-tabs")], M3eTabsElement);
23785
23893
 
23786
23894
  /**
23787
23895
  * Adapted from Angular Material CDK Text Field
@@ -24048,7 +24156,7 @@ __decorate([n$1({
24048
24156
  reflect: true
24049
24157
  })], M3eTextareaAutosizeElement.prototype, "disabled", void 0);
24050
24158
  __decorate([debounce$1(16)], M3eTextareaAutosizeElement.prototype, "_handleWindowResize", null);
24051
- M3eTextareaAutosizeElement = __decorate([t$3("m3e-textarea-autosize")], M3eTextareaAutosizeElement);
24159
+ M3eTextareaAutosizeElement = __decorate([customElement$1("m3e-textarea-autosize")], M3eTextareaAutosizeElement);
24052
24160
 
24053
24161
  /**
24054
24162
  * @license
@@ -27339,7 +27447,7 @@ __decorate([n$1({
27339
27447
  type: Number
27340
27448
  })], M3eThemeElement.prototype, "density", void 0);
27341
27449
  __decorate([n$1()], M3eThemeElement.prototype, "motion", void 0);
27342
- M3eThemeElement = __decorate([t$3("m3e-theme")], M3eThemeElement);
27450
+ M3eThemeElement = __decorate([customElement$1("m3e-theme")], M3eThemeElement);
27343
27451
 
27344
27452
  /**
27345
27453
  * An item in a table of contents.
@@ -27398,7 +27506,7 @@ M3eTocItemElement.styles = css`:host { display: inline-block; position: relative
27398
27506
  __decorate([e$4(".base")], M3eTocItemElement.prototype, "_base", void 0);
27399
27507
  __decorate([e$4(".state-layer")], M3eTocItemElement.prototype, "_stateLayer", void 0);
27400
27508
  __decorate([r$1()], M3eTocItemElement.prototype, "node", void 0);
27401
- M3eTocItemElement = __decorate([t$3("m3e-toc-item")], M3eTocItemElement);
27509
+ M3eTocItemElement = __decorate([customElement$1("m3e-toc-item")], M3eTocItemElement);
27402
27510
 
27403
27511
  var _a$1, _TocGenerator_getHeaderLevel;
27404
27512
  /** Provides functionality used to generate a table of contents used for in-page navigation. */
@@ -27513,7 +27621,7 @@ let M3eTocElement = class M3eTocElement extends HtmlFor$1(AttachInternals$1(Role
27513
27621
  if (this._activeIndicator) {
27514
27622
  const item = __classPrivateFieldGet(this, _M3eTocElement_selectionManager, "f").selectedItems[0];
27515
27623
  if (!item) {
27516
- this.classList.toggle("-no-animate", true);
27624
+ setCustomState$1(this, "-no-animate", true);
27517
27625
  this._activeIndicator.style.top = `0px`;
27518
27626
  this._activeIndicator.style.height = `0px`;
27519
27627
  this._activeIndicator.style.visibility = "hidden";
@@ -27525,8 +27633,8 @@ let M3eTocElement = class M3eTocElement extends HtmlFor$1(AttachInternals$1(Role
27525
27633
  this._activeIndicator.style.top = `${item.offsetTop}px`;
27526
27634
  this._activeIndicator.style.height = `${item.clientHeight}px`;
27527
27635
  this._activeIndicator.style.visibility = item.clientHeight == 0 ? "hidden" : "";
27528
- if (this.classList.contains("-no-animate")) {
27529
- setTimeout(() => this.classList.toggle("-no-animate", false), 40);
27636
+ if (hasCustomState$1(this, "-no-animate")) {
27637
+ setTimeout(() => setCustomState$1(this, "-no-animate", false), 40);
27530
27638
  }
27531
27639
  }
27532
27640
  }
@@ -27608,7 +27716,7 @@ let M3eTocElement = class M3eTocElement extends HtmlFor$1(AttachInternals$1(Role
27608
27716
  removed
27609
27717
  } = __classPrivateFieldGet(this, _M3eTocElement_selectionManager, "f").setItems([...(this.shadowRoot?.querySelectorAll("m3e-toc-item") ?? [])]);
27610
27718
  if (!__classPrivateFieldGet(this, _M3eTocElement_selectionManager, "f").activeItem) {
27611
- this.classList.toggle("-no-animate", true);
27719
+ setCustomState$1(this, "-no-animate", true);
27612
27720
  __classPrivateFieldGet(this, _M3eTocElement_selectionManager, "f").updateActiveItem(added.find(x => !x.disabled));
27613
27721
  }
27614
27722
  for (const item of added) {
@@ -27642,10 +27750,10 @@ _M3eTocElement_renderNode = function _M3eTocElement_renderNode(node) {
27642
27750
  return html`<li><m3e-toc-item tabindex="-1" .node="${node}" @click="${__classPrivateFieldGet(this, _M3eTocElement_instances, "m", _M3eTocElement_handleClick)}">${node.label}</m3e-toc-item>${node.nodes.length == 0 ? nothing : html`<ul>${node.nodes.map(x => __classPrivateFieldGet(this, _M3eTocElement_instances, "m", _M3eTocElement_renderNode).call(this, x))}</ul>`}</li>`;
27643
27751
  };
27644
27752
  _M3eTocElement_handleOverlineSlotChange = function _M3eTocElement_handleOverlineSlotChange(e) {
27645
- this.classList.toggle("-with-overline", hasAssignedNodes$1(e.target));
27753
+ setCustomState$1(this, "-with-overline", hasAssignedNodes$1(e.target));
27646
27754
  };
27647
27755
  _M3eTocElement_handleTitleSlotChange = function _M3eTocElement_handleTitleSlotChange(e) {
27648
- this.classList.toggle("-with-title", hasAssignedNodes$1(e.target));
27756
+ setCustomState$1(this, "-with-title", hasAssignedNodes$1(e.target));
27649
27757
  };
27650
27758
  _M3eTocElement_handleClick = function _M3eTocElement_handleClick(e) {
27651
27759
  if (e.target instanceof M3eTocItemElement && !e.target.disabled && e.target.node?.element) {
@@ -27668,7 +27776,7 @@ M3eTocElement.styles = css`:host { display: inline-block; position: relative; ov
27668
27776
  height var(--m3e-toc-active-indicator-animation-duration, ${DesignToken$1.motion.duration.long1})
27669
27777
  ${DesignToken$1.motion.easing.standard},
27670
27778
  top var(--m3e-toc-active-indicator-animation-duration, ${DesignToken$1.motion.duration.long1})
27671
- ${DesignToken$1.motion.easing.standard}`)}; } .header { display: flex; flex-direction: column; align-items: stretch; padding-inline-start: var(--m3e-toc-item-padding, 1rem); padding-block-end: var(--m3e-toc-header-space, 0.5rem); row-gap: var(--m3e-toc-header-space, 0.5rem); } .overline { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-clamp: 2; } :host(:not(.-with-overline)) .overline, :host(:not(.-with-title)) .title, :host(:not(.-with-overline):not(.-with-title)) .header { display: none; } ::slotted([slot="overline"]) { font-size: var(--m3e-toc-overline-font-size, ${DesignToken$1.typescale.standard.label.small.fontSize}); font-weight: var(--m3e-toc-overline-font-weight, ${DesignToken$1.typescale.standard.label.small.fontWeight}); line-height: var(--m3e-toc-overline-line-height, ${DesignToken$1.typescale.standard.label.small.lineHeight}); letter-spacing: var(--m3e-toc-overline-tracking, ${DesignToken$1.typescale.standard.label.small.tracking}); color: var(--m3e-toc-overline-color, ${DesignToken$1.color.onSurfaceVariant}); } ::slotted([slot="title"]) { font-size: var(--m3e-toc-title-font-size, ${DesignToken$1.typescale.standard.headline.small.fontSize}); font-weight: var(--m3e-toc-title-font-weight, ${DesignToken$1.typescale.standard.headline.small.fontWeight}); line-height: var(--m3e-toc-title-line-height, ${DesignToken$1.typescale.standard.headline.small.lineHeight}); letter-spacing: var(--m3e-toc-title-tracking, ${DesignToken$1.typescale.standard.headline.small.tracking}); color: var(--m3e-toc-title-color, ${DesignToken$1.color.onSurface}); } :host(.-no-animate) .active-indicator { transition: none; } @media (prefers-reduced-motion) { .active-indicator { transition: none; } }`;
27779
+ ${DesignToken$1.motion.easing.standard}`)}; } .header { display: flex; flex-direction: column; align-items: stretch; padding-inline-start: var(--m3e-toc-item-padding, 1rem); padding-block-end: var(--m3e-toc-header-space, 0.5rem); row-gap: var(--m3e-toc-header-space, 0.5rem); } .overline { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-clamp: 2; } :host(:not(:state(-with-overline))) .overline, :host(:not(:state(-with-title))) .title, :host(:not(:state(-with-overline)):not(:state(-with-title))) .header { display: none; } ::slotted([slot="overline"]) { font-size: var(--m3e-toc-overline-font-size, ${DesignToken$1.typescale.standard.label.small.fontSize}); font-weight: var(--m3e-toc-overline-font-weight, ${DesignToken$1.typescale.standard.label.small.fontWeight}); line-height: var(--m3e-toc-overline-line-height, ${DesignToken$1.typescale.standard.label.small.lineHeight}); letter-spacing: var(--m3e-toc-overline-tracking, ${DesignToken$1.typescale.standard.label.small.tracking}); color: var(--m3e-toc-overline-color, ${DesignToken$1.color.onSurfaceVariant}); } ::slotted([slot="title"]) { font-size: var(--m3e-toc-title-font-size, ${DesignToken$1.typescale.standard.headline.small.fontSize}); font-weight: var(--m3e-toc-title-font-weight, ${DesignToken$1.typescale.standard.headline.small.fontWeight}); line-height: var(--m3e-toc-title-line-height, ${DesignToken$1.typescale.standard.headline.small.lineHeight}); letter-spacing: var(--m3e-toc-title-tracking, ${DesignToken$1.typescale.standard.headline.small.tracking}); color: var(--m3e-toc-title-color, ${DesignToken$1.color.onSurface}); } :host(:state(-no-animate)) .active-indicator { transition: none; } @media (prefers-reduced-motion) { .active-indicator { transition: none; } }`;
27672
27780
  __decorate([r$1()], M3eTocElement.prototype, "_toc", void 0);
27673
27781
  __decorate([e$4(".active-indicator")], M3eTocElement.prototype, "_activeIndicator", void 0);
27674
27782
  __decorate([n$1({
@@ -27676,7 +27784,7 @@ __decorate([n$1({
27676
27784
  type: Number
27677
27785
  })], M3eTocElement.prototype, "maxDepth", void 0);
27678
27786
  __decorate([debounce$1(40)], M3eTocElement.prototype, "_updateToc", null);
27679
- M3eTocElement = __decorate([t$3("m3e-toc")], M3eTocElement);
27787
+ M3eTocElement = __decorate([customElement$1("m3e-toc")], M3eTocElement);
27680
27788
 
27681
27789
  var _M3eToolbarElement_instances, _M3eToolbarElement_directionalitySubscription, _M3eToolbarElement_focusKeyManager, _M3eToolbarElement_handleSlotChange, _M3eToolbarElement_handleKeyDown, _M3eToolbarElement_handleClick;
27682
27790
  /**
@@ -27810,7 +27918,7 @@ __decorate([n$1({
27810
27918
  type: Boolean,
27811
27919
  reflect: true
27812
27920
  })], M3eToolbarElement.prototype, "elevated", void 0);
27813
- M3eToolbarElement = __decorate([t$3("m3e-toolbar")], M3eToolbarElement);
27921
+ M3eToolbarElement = __decorate([customElement$1("m3e-toolbar")], M3eToolbarElement);
27814
27922
 
27815
27923
  /**
27816
27924
  * An element, nested within a clickable element, used to dismiss a parenting rich tooltip.
@@ -27835,7 +27943,7 @@ __decorate([n$1({
27835
27943
  attribute: "disable-restore-focus",
27836
27944
  type: Boolean
27837
27945
  })], M3eRichTooltipActionElement.prototype, "disableRestoreFocus", void 0);
27838
- M3eRichTooltipActionElement = __decorate([t$3("m3e-rich-tooltip-action")], M3eRichTooltipActionElement);
27946
+ M3eRichTooltipActionElement = __decorate([customElement$1("m3e-rich-tooltip-action")], M3eRichTooltipActionElement);
27839
27947
 
27840
27948
  var _TooltipElementBase_instances, _a, _TooltipElementBase_for, _TooltipElementBase_anchorCleanup, _TooltipElementBase_tooltipHovering, _TooltipElementBase_controlClickHandler, _TooltipElementBase_hoverController, _TooltipElementBase_longPressController, _TooltipElementBase_handleControlClick, _TooltipElementBase_disableNativeGesturesIfNecessary;
27841
27949
  /** The space, in pixels, between the tooltip and anchor. */
@@ -27843,7 +27951,7 @@ const TOOLTIP_OFFSET = 4;
27843
27951
  /** The default time, in milliseconds, before hiding a tooltip. */
27844
27952
  const TOOLTIP_HIDE_DELAY = 200;
27845
27953
  /** Provides a base implementation for a tooltip. This class must be inherited. */
27846
- class TooltipElementBase extends HtmlFor$1(LitElement) {
27954
+ class TooltipElementBase extends HtmlFor$1(AttachInternals$1(LitElement)) {
27847
27955
  constructor() {
27848
27956
  super(...arguments);
27849
27957
  _TooltipElementBase_instances.add(this);
@@ -28305,7 +28413,7 @@ M3eRichTooltipElement.__nextId = 0;
28305
28413
  __decorate([r$1()], M3eRichTooltipElement.prototype, "_hasSubhead", void 0);
28306
28414
  __decorate([r$1()], M3eRichTooltipElement.prototype, "_interactive", void 0);
28307
28415
  __decorate([n$1()], M3eRichTooltipElement.prototype, "position", void 0);
28308
- M3eRichTooltipElement = M3eRichTooltipElement_1 = __decorate([t$3("m3e-rich-tooltip")], M3eRichTooltipElement);
28416
+ M3eRichTooltipElement = M3eRichTooltipElement_1 = __decorate([customElement$1("m3e-rich-tooltip")], M3eRichTooltipElement);
28309
28417
 
28310
28418
  var _M3eTooltipElement_instances, _M3eTooltipElement_message, _M3eTooltipElement_handleSlotChange, _M3eTooltipElement_handleToggle;
28311
28419
  /**
@@ -28419,16 +28527,16 @@ _M3eTooltipElement_handleSlotChange = function _M3eTooltipElement_handleSlotChan
28419
28527
  _M3eTooltipElement_handleToggle = function _M3eTooltipElement_handleToggle(e) {
28420
28528
  if (e.newState === "open") {
28421
28529
  const multiline = this._base.getBoundingClientRect().height > parseFloat(getComputedStyle(this._base).minHeight);
28422
- this.classList.toggle("-multiline", multiline);
28530
+ setCustomState$1(this, "-multiline", multiline);
28423
28531
  }
28424
28532
  };
28425
28533
  /** The styles of the element. */
28426
28534
  M3eTooltipElement.styles = css`:host { display: contents; } .base { position: absolute; pointer-events: none; margin: unset; border: unset; word-break: normal; overflow-wrap: anywhere; padding: var(--m3e-tooltip-padding, 0.25rem 0.5rem); min-width: var(--m3e-tooltip-min-width, 2.5rem); max-width: var(--m3e-tooltip-max-width, 12.5rem); min-height: var(--m3e-tooltip-min-height, 1.5rem); max-height: var(--m3e-tooltip-max-height, 40vh); box-sizing: border-box; overflow: hidden; text-align: center; border-radius: var(--m3e-tooltip-shape, ${DesignToken$1.shape.corner.extraSmall}); background-color: var(--m3e-tooltip-container-color, ${DesignToken$1.color.inverseSurface}); color: var(--m3e-tooltip-supporting-text-color, ${DesignToken$1.color.inverseOnSurface}); font-size: var(--m3e-tooltip-supporting-text-font-size, ${DesignToken$1.typescale.standard.body.small.fontSize}); font-weight: var( --m3e-tooltip-supporting-text-font-weight, ${DesignToken$1.typescale.standard.body.small.fontWeight} ); line-height: var( --m3e-tooltip-supporting-text-line-height, ${DesignToken$1.typescale.standard.body.small.lineHeight} ); letter-spacing: var( --m3e-tooltip-supporting-text-tracking, ${DesignToken$1.typescale.standard.body.small.tracking} ); display: none; opacity: 0; transform: scale(0.8); transition: ${unsafeCSS(`opacity ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard},
28427
28535
  transform ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard},
28428
28536
  overlay ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard} allow-discrete,
28429
- display ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } :host(.-multiline) .base { text-align: start; } .base::backdrop { background-color: transparent; } .base:popover-open { display: block; opacity: 1; transform: scale(1); } @starting-style { .base:popover-open { opacity: 0; transform: scale(0.8); } } @media (prefers-reduced-motion) { .base { transition: none; } } @media (forced-colors: active) { .base { background-color: Canvas; color: CanvasText; box-sizing: border-box; border: 1px solid CanvasText; } }`;
28537
+ display ${DesignToken$1.motion.duration.short3} ${DesignToken$1.motion.easing.standard} allow-discrete`)}; } :host(:state(-multiline)) .base { text-align: start; } .base::backdrop { background-color: transparent; } .base:popover-open { display: block; opacity: 1; transform: scale(1); } @starting-style { .base:popover-open { opacity: 0; transform: scale(0.8); } } @media (prefers-reduced-motion) { .base { transition: none; } } @media (forced-colors: active) { .base { background-color: Canvas; color: CanvasText; box-sizing: border-box; border: 1px solid CanvasText; } }`;
28430
28538
  __decorate([n$1()], M3eTooltipElement.prototype, "position", void 0);
28431
- M3eTooltipElement = __decorate([t$3("m3e-tooltip")], M3eTooltipElement);
28539
+ M3eTooltipElement = __decorate([customElement$1("m3e-tooltip")], M3eTooltipElement);
28432
28540
 
28433
- export { ActionElementBase, AnimationLoopController, AttachInternals, Checked, CheckedIndeterminate, ConstraintValidation, DesignToken, Dirty, Disabled, DisabledInteractive, EventAttribute, FocusController, Focusable, FormAssociated, FormSubmitter, HoverController, HtmlFor, IntersectionController, KeyboardClick, Labelled, LinkButton, LongPressController, M3eAccordionElement, M3eActionListElement, M3eAppBarElement, M3eAssistChipElement, M3eAutocompleteElement, M3eAvatarElement, M3eBadgeElement, M3eBottomSheetActionElement, M3eBottomSheetElement, M3eBottomSheetTriggerElement, M3eButtonElement, M3eButtonGroupElement, M3eButtonSegmentElement, M3eCardElement, M3eCheckboxElement, M3eChipElement, M3eChipSetElement, M3eCircularProgressIndicatorElement, M3eCollapsibleElement, M3eDialogActionElement, M3eDialogElement, M3eDialogTriggerElement, M3eDividerElement, M3eDrawerContainerElement, M3eDrawerToggleElement, M3eElevationElement, M3eExpandableListItemElement, M3eExpansionHeaderElement, M3eExpansionPanelElement, M3eFabElement, M3eFabMenuElement, M3eFabMenuItemElement, M3eFabMenuTriggerElement, M3eFilterChipElement, M3eFilterChipSetElement, M3eFocusRingElement, M3eFormFieldElement, M3eHeadingElement, M3eIconButtonElement, M3eIconElement, M3eInputChipElement, M3eInputChipSetElement, M3eLinearProgressIndicatorElement, M3eListActionElement, M3eListElement, M3eListItemButtonElement, M3eListItemElement, M3eListOptionElement, M3eLoadingIndicatorElement, M3eMenuElement, M3eMenuItemCheckboxElement, M3eMenuItemElement, M3eMenuItemGroupElement, M3eMenuItemRadioElement, M3eMenuTriggerElement, M3eNavBarElement, M3eNavItemElement, M3eNavMenuElement, M3eNavMenuItemElement, M3eNavMenuItemGroupElement, M3eNavRailElement, M3eNavRailToggleElement, M3eOptGroupElement, M3eOptionElement, M3eOptionPanelElement, M3ePaginatorElement, M3ePseudoCheckboxElement, M3ePseudoRadioElement, M3eRadioElement, M3eRadioGroupElement, M3eRichTooltipActionElement, M3eRichTooltipElement, M3eRippleElement, M3eScrollContainerElement, M3eSegmentedButtonElement, M3eSelectElement, M3eSelectionListElement, M3eShapeElement, M3eSlideElement, M3eSlideGroupElement, M3eSliderElement, M3eSliderThumbElement, M3eSnackbar, M3eSnackbarElement, M3eSplitButtonElement, M3eStateLayerElement, M3eStepElement, M3eStepPanelElement, M3eStepperElement, M3eStepperNextElement, M3eStepperPreviousElement, M3eStepperResetElement, M3eSuggestionChipElement, M3eSwitchElement, M3eTabElement, M3eTabPanelElement, M3eTabsElement, M3eTextHighlightElement, M3eTextOverflowElement, M3eTextareaAutosizeElement, M3eThemeElement, M3eTocElement, M3eTocItemElement, M3eToolbarElement, M3eTooltipElement, MutationController, PressedController, ProgressElementIndicatorBase, ReadOnly, Required, RequiredConstraintValidation, ResizeController, Role, ScrollController, ScrollLockController, Selected, StepperButtonElementBase, TocGenerator, TooltipElementBase, Touched, VelocityTracker, Vertical, checkOrSelect, computeCssSize, computeLineCount, debounce, defaultValue, findFormFieldControl, focusWhenReady, forcedColorsActive, formValue, generateClipPaths, getTextContent, guid, hasAssignedNodes, hasKeys, interceptProperty, internals, isAttachInternalsMixin, isCheckedIndeterminateMixin, isCheckedMixin, isCheckedOrSelected, isCheckedOrSelectedMixin, isConstraintValidationMixin, isDirtyMixin, isDisabledInteractiveMixin, isDisabledMixin, isFormAssociatedMixin, isFormFieldControl, isFormSubmitterMixin, isHtmlForMixin, isLabelledMixin, isLinkButtonMixin, isReadOnlyMixin, isRequiredConstraintValidationMixin, isRequiredMixin, isSelectedMixin, isTouchedMixin, isVerticalMixin, prefersReducedMotion, renderPseudoLink, resolveElementById, resolveFragmentUrl, safeStyleMap, scrollIntoViewIfNeeded, spaceSeparatedStringConverter, updateLabels, validate };
28541
+ export { ActionElementBase, AnimationLoopController, AttachInternals, Checked, CheckedIndeterminate, ConstraintValidation, DesignToken, Dirty, Disabled, DisabledInteractive, EventAttribute, FocusController, Focusable, FormAssociated, FormSubmitter, HoverController, HtmlFor, IntersectionController, KeyboardClick, Labelled, LinkButton, LongPressController, M3eAccordionElement, M3eActionListElement, M3eAppBarElement, M3eAssistChipElement, M3eAutocompleteElement, M3eAvatarElement, M3eBadgeElement, M3eBottomSheetActionElement, M3eBottomSheetElement, M3eBottomSheetTriggerElement, M3eButtonElement, M3eButtonGroupElement, M3eButtonSegmentElement, M3eCardElement, M3eCheckboxElement, M3eChipElement, M3eChipSetElement, M3eCircularProgressIndicatorElement, M3eCollapsibleElement, M3eDialogActionElement, M3eDialogElement, M3eDialogTriggerElement, M3eDividerElement, M3eDrawerContainerElement, M3eDrawerToggleElement, M3eElevationElement, M3eExpandableListItemElement, M3eExpansionHeaderElement, M3eExpansionPanelElement, M3eFabElement, M3eFabMenuElement, M3eFabMenuItemElement, M3eFabMenuTriggerElement, M3eFilterChipElement, M3eFilterChipSetElement, M3eFocusRingElement, M3eFormFieldElement, M3eHeadingElement, M3eIconButtonElement, M3eIconElement, M3eInputChipElement, M3eInputChipSetElement, M3eLinearProgressIndicatorElement, M3eListActionElement, M3eListElement, M3eListItemButtonElement, M3eListItemElement, M3eListOptionElement, M3eLoadingIndicatorElement, M3eMenuElement, M3eMenuItemCheckboxElement, M3eMenuItemElement, M3eMenuItemGroupElement, M3eMenuItemRadioElement, M3eMenuTriggerElement, M3eNavBarElement, M3eNavItemElement, M3eNavMenuElement, M3eNavMenuItemElement, M3eNavMenuItemGroupElement, M3eNavRailElement, M3eNavRailToggleElement, M3eOptGroupElement, M3eOptionElement, M3eOptionPanelElement, M3ePaginatorElement, M3ePseudoCheckboxElement, M3ePseudoRadioElement, M3eRadioElement, M3eRadioGroupElement, M3eRichTooltipActionElement, M3eRichTooltipElement, M3eRippleElement, M3eScrollContainerElement, M3eSegmentedButtonElement, M3eSelectElement, M3eSelectionListElement, M3eShapeElement, M3eSlideElement, M3eSlideGroupElement, M3eSliderElement, M3eSliderThumbElement, M3eSnackbar, M3eSnackbarElement, M3eSplitButtonElement, M3eStateLayerElement, M3eStepElement, M3eStepPanelElement, M3eStepperElement, M3eStepperNextElement, M3eStepperPreviousElement, M3eStepperResetElement, M3eSuggestionChipElement, M3eSwitchElement, M3eTabElement, M3eTabPanelElement, M3eTabsElement, M3eTextHighlightElement, M3eTextOverflowElement, M3eTextareaAutosizeElement, M3eThemeElement, M3eTocElement, M3eTocItemElement, M3eToolbarElement, M3eTooltipElement, MutationController, PressedController, ProgressElementIndicatorBase, ReadOnly, Required, RequiredConstraintValidation, ResizeController, Role, ScrollController, ScrollLockController, Selected, StepperButtonElementBase, TocGenerator, TooltipElementBase, Touched, VelocityTracker, Vertical, addCustomState, checkOrSelect, computeCssSize, computeLineCount, customElement, debounce, defaultValue, deleteCustomState, findFormFieldControl, focusWhenReady, forcedColorsActive, formValue, generateClipPaths, getTextContent, guid, hasAssignedNodes, hasCustomState, hasKeys, interceptProperty, internals, isAttachInternalsMixin, isCheckedIndeterminateMixin, isCheckedMixin, isCheckedOrSelected, isCheckedOrSelectedMixin, isConstraintValidationMixin, isDirtyMixin, isDisabledInteractiveMixin, isDisabledMixin, isFormAssociatedMixin, isFormFieldControl, isFormSubmitterMixin, isHtmlForMixin, isLabelledMixin, isLinkButtonMixin, isReadOnlyMixin, isRequiredConstraintValidationMixin, isRequiredMixin, isSelectedMixin, isTouchedMixin, isVerticalMixin, prefersReducedMotion, renderPseudoLink, resolveElementById, resolveFragmentUrl, safeStyleMap, scrollIntoViewIfNeeded, setCustomState, spaceSeparatedStringConverter, updateLabels, validate };
28434
28542
  //# sourceMappingURL=all.js.map