@m3e/web 2.0.3 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/dist/all.js +564 -462
  2. package/dist/all.js.map +1 -1
  3. package/dist/all.min.js +54 -59
  4. package/dist/all.min.js.map +1 -1
  5. package/dist/app-bar.js +11 -11
  6. package/dist/app-bar.js.map +1 -1
  7. package/dist/app-bar.min.js +1 -1
  8. package/dist/app-bar.min.js.map +1 -1
  9. package/dist/autocomplete.js +32 -19
  10. package/dist/autocomplete.js.map +1 -1
  11. package/dist/autocomplete.min.js +1 -1
  12. package/dist/autocomplete.min.js.map +1 -1
  13. package/dist/avatar.js +2 -3
  14. package/dist/avatar.js.map +1 -1
  15. package/dist/avatar.min.js +1 -1
  16. package/dist/avatar.min.js.map +1 -1
  17. package/dist/badge.js +3 -3
  18. package/dist/badge.js.map +1 -1
  19. package/dist/badge.min.js +1 -1
  20. package/dist/badge.min.js.map +1 -1
  21. package/dist/bottom-sheet.js +17 -18
  22. package/dist/bottom-sheet.js.map +1 -1
  23. package/dist/bottom-sheet.min.js +1 -1
  24. package/dist/bottom-sheet.min.js.map +1 -1
  25. package/dist/button-group.js +8 -8
  26. package/dist/button-group.js.map +1 -1
  27. package/dist/button-group.min.js +1 -1
  28. package/dist/button-group.min.js.map +1 -1
  29. package/dist/button.js +18 -18
  30. package/dist/button.js.map +1 -1
  31. package/dist/button.min.js +1 -1
  32. package/dist/button.min.js.map +1 -1
  33. package/dist/card.js +3 -3
  34. package/dist/card.js.map +1 -1
  35. package/dist/card.min.js +1 -1
  36. package/dist/card.min.js.map +1 -1
  37. package/dist/checkbox.js +4 -4
  38. package/dist/checkbox.js.map +1 -1
  39. package/dist/checkbox.min.js +1 -1
  40. package/dist/checkbox.min.js.map +1 -1
  41. package/dist/chips.js +58 -45
  42. package/dist/chips.js.map +1 -1
  43. package/dist/chips.min.js +1 -1
  44. package/dist/chips.min.js.map +1 -1
  45. package/dist/core-a11y.js +28 -2
  46. package/dist/core-a11y.js.map +1 -1
  47. package/dist/core-a11y.min.js +4 -13
  48. package/dist/core-a11y.min.js.map +1 -1
  49. package/dist/core-bidi.js +3 -5
  50. package/dist/core-bidi.js.map +1 -1
  51. package/dist/core-bidi.min.js +2 -2
  52. package/dist/core-bidi.min.js.map +1 -1
  53. package/dist/core.js +139 -60
  54. package/dist/core.js.map +1 -1
  55. package/dist/core.min.js +1 -1
  56. package/dist/core.min.js.map +1 -1
  57. package/dist/css-custom-data.json +332 -542
  58. package/dist/custom-elements.json +11238 -12197
  59. package/dist/dialog.js +12 -12
  60. package/dist/dialog.js.map +1 -1
  61. package/dist/dialog.min.js +1 -1
  62. package/dist/dialog.min.js.map +1 -1
  63. package/dist/divider.js +3 -3
  64. package/dist/divider.js.map +1 -1
  65. package/dist/divider.min.js +1 -1
  66. package/dist/divider.min.js.map +1 -1
  67. package/dist/drawer-container.js +20 -20
  68. package/dist/drawer-container.js.map +1 -1
  69. package/dist/drawer-container.min.js +1 -1
  70. package/dist/drawer-container.min.js.map +1 -1
  71. package/dist/expansion-panel.js +7 -7
  72. package/dist/expansion-panel.js.map +1 -1
  73. package/dist/expansion-panel.min.js +1 -1
  74. package/dist/expansion-panel.min.js.map +1 -1
  75. package/dist/fab-menu.js +12 -12
  76. package/dist/fab-menu.js.map +1 -1
  77. package/dist/fab-menu.min.js +1 -1
  78. package/dist/fab-menu.min.js.map +1 -1
  79. package/dist/fab.js +5 -5
  80. package/dist/fab.js.map +1 -1
  81. package/dist/fab.min.js +1 -1
  82. package/dist/fab.min.js.map +1 -1
  83. package/dist/form-field.js +23 -23
  84. package/dist/form-field.js.map +1 -1
  85. package/dist/form-field.min.js +3 -3
  86. package/dist/form-field.min.js.map +1 -1
  87. package/dist/heading.js +3 -3
  88. package/dist/heading.js.map +1 -1
  89. package/dist/heading.min.js +1 -1
  90. package/dist/heading.min.js.map +1 -1
  91. package/dist/html-custom-data.json +115 -147
  92. package/dist/icon-button.js +18 -18
  93. package/dist/icon-button.js.map +1 -1
  94. package/dist/icon-button.min.js +1 -1
  95. package/dist/icon-button.min.js.map +1 -1
  96. package/dist/icon.js +3 -3
  97. package/dist/icon.js.map +1 -1
  98. package/dist/icon.min.js +1 -1
  99. package/dist/icon.min.js.map +1 -1
  100. package/dist/list.js +34 -28
  101. package/dist/list.js.map +1 -1
  102. package/dist/list.min.js +1 -1
  103. package/dist/list.min.js.map +1 -1
  104. package/dist/loading-indicator.js +3 -3
  105. package/dist/loading-indicator.js.map +1 -1
  106. package/dist/loading-indicator.min.js +1 -1
  107. package/dist/loading-indicator.min.js.map +1 -1
  108. package/dist/menu.js +34 -32
  109. package/dist/menu.js.map +1 -1
  110. package/dist/menu.min.js +1 -1
  111. package/dist/menu.min.js.map +1 -1
  112. package/dist/nav-bar.js +6 -6
  113. package/dist/nav-bar.js.map +1 -1
  114. package/dist/nav-bar.min.js +1 -1
  115. package/dist/nav-bar.min.js.map +1 -1
  116. package/dist/nav-menu.js +28 -24
  117. package/dist/nav-menu.js.map +1 -1
  118. package/dist/nav-menu.min.js +1 -1
  119. package/dist/nav-menu.min.js.map +1 -1
  120. package/dist/nav-rail.js +6 -7
  121. package/dist/nav-rail.js.map +1 -1
  122. package/dist/nav-rail.min.js +1 -1
  123. package/dist/nav-rail.min.js.map +1 -1
  124. package/dist/option.js +29 -31
  125. package/dist/option.js.map +1 -1
  126. package/dist/option.min.js +1 -1
  127. package/dist/option.min.js.map +1 -1
  128. package/dist/paginator.js +3 -4
  129. package/dist/paginator.js.map +1 -1
  130. package/dist/paginator.min.js +2 -2
  131. package/dist/paginator.min.js.map +1 -1
  132. package/dist/progress-indicator.js +4 -4
  133. package/dist/progress-indicator.js.map +1 -1
  134. package/dist/progress-indicator.min.js +7 -7
  135. package/dist/progress-indicator.min.js.map +1 -1
  136. package/dist/radio-group.js +6 -6
  137. package/dist/radio-group.js.map +1 -1
  138. package/dist/radio-group.min.js +1 -1
  139. package/dist/radio-group.min.js.map +1 -1
  140. package/dist/segmented-button.js +11 -11
  141. package/dist/segmented-button.js.map +1 -1
  142. package/dist/segmented-button.min.js +1 -1
  143. package/dist/segmented-button.min.js.map +1 -1
  144. package/dist/select.js +11 -355
  145. package/dist/select.js.map +1 -1
  146. package/dist/select.min.js +1 -18
  147. package/dist/select.min.js.map +1 -1
  148. package/dist/shape.js +3 -3
  149. package/dist/shape.js.map +1 -1
  150. package/dist/shape.min.js +1 -1
  151. package/dist/shape.min.js.map +1 -1
  152. package/dist/slide-group.js +3 -3
  153. package/dist/slide-group.js.map +1 -1
  154. package/dist/slide-group.min.js +1 -1
  155. package/dist/slide-group.min.js.map +1 -1
  156. package/dist/slider.js +10 -10
  157. package/dist/slider.js.map +1 -1
  158. package/dist/slider.min.js +1 -1
  159. package/dist/slider.min.js.map +1 -1
  160. package/dist/snackbar.js +4 -4
  161. package/dist/snackbar.js.map +1 -1
  162. package/dist/snackbar.min.js +1 -1
  163. package/dist/snackbar.min.js.map +1 -1
  164. package/dist/split-button.js +3 -3
  165. package/dist/split-button.js.map +1 -1
  166. package/dist/split-button.min.js +1 -1
  167. package/dist/split-button.min.js.map +1 -1
  168. package/dist/src/autocomplete/AutocompleteElement.d.ts.map +1 -1
  169. package/dist/src/avatar/AvatarElement.d.ts.map +1 -1
  170. package/dist/src/bottom-sheet/BottomSheetActionElement.d.ts.map +1 -1
  171. package/dist/src/bottom-sheet/BottomSheetElement.d.ts +1 -1
  172. package/dist/src/bottom-sheet/BottomSheetElement.d.ts.map +1 -1
  173. package/dist/src/bottom-sheet/BottomSheetTriggerElement.d.ts.map +1 -1
  174. package/dist/src/button/ButtonElement.d.ts +2 -1
  175. package/dist/src/button/ButtonElement.d.ts.map +1 -1
  176. package/dist/src/button/styles/ButtonSizeStyle.d.ts.map +1 -1
  177. package/dist/src/button/styles/ButtonVariantStyle.d.ts.map +1 -1
  178. package/dist/src/button-group/ButtonGroupElement.d.ts.map +1 -1
  179. package/dist/src/card/CardElement.d.ts.map +1 -1
  180. package/dist/src/checkbox/CheckboxElement.d.ts.map +1 -1
  181. package/dist/src/chips/AssistChipElement.d.ts +3 -1
  182. package/dist/src/chips/AssistChipElement.d.ts.map +1 -1
  183. package/dist/src/chips/ChipElement.d.ts +3 -1
  184. package/dist/src/chips/ChipElement.d.ts.map +1 -1
  185. package/dist/src/chips/ChipSetElement.d.ts.map +1 -1
  186. package/dist/src/chips/FilterChipElement.d.ts +3 -1
  187. package/dist/src/chips/FilterChipElement.d.ts.map +1 -1
  188. package/dist/src/chips/FilterChipSetElement.d.ts.map +1 -1
  189. package/dist/src/chips/InputChipElement.d.ts +8 -1
  190. package/dist/src/chips/InputChipElement.d.ts.map +1 -1
  191. package/dist/src/chips/InputChipSetElement.d.ts.map +1 -1
  192. package/dist/src/chips/SuggestionChipElement.d.ts +3 -1
  193. package/dist/src/chips/SuggestionChipElement.d.ts.map +1 -1
  194. package/dist/src/core/bidi/Directionality.d.ts.map +1 -1
  195. package/dist/src/core/shared/controllers/HoverController.d.ts.map +1 -1
  196. package/dist/src/core/shared/controllers/IntersectionController.d.ts.map +1 -1
  197. package/dist/src/core/shared/decorators/component.d.ts +19 -0
  198. package/dist/src/core/shared/decorators/component.d.ts.map +1 -0
  199. package/dist/src/core/shared/decorators/element.d.ts +19 -0
  200. package/dist/src/core/shared/decorators/element.d.ts.map +1 -0
  201. package/dist/src/core/shared/decorators/index.d.ts +1 -0
  202. package/dist/src/core/shared/decorators/index.d.ts.map +1 -1
  203. package/dist/src/core/shared/mixins/AttachInternals.d.ts +27 -0
  204. package/dist/src/core/shared/mixins/AttachInternals.d.ts.map +1 -1
  205. package/dist/src/core/shared/mixins/Dirty.d.ts +2 -1
  206. package/dist/src/core/shared/mixins/Dirty.d.ts.map +1 -1
  207. package/dist/src/core/shared/mixins/HtmlFor.d.ts.map +1 -1
  208. package/dist/src/core/shared/mixins/Labelled.d.ts.map +1 -1
  209. package/dist/src/core/shared/mixins/Touched.d.ts +2 -1
  210. package/dist/src/core/shared/mixins/Touched.d.ts.map +1 -1
  211. package/dist/src/core/shared/primitives/CollapsibleElement.d.ts +1 -1
  212. package/dist/src/core/shared/primitives/CollapsibleElement.d.ts.map +1 -1
  213. package/dist/src/core/shared/primitives/ElevationElement.d.ts.map +1 -1
  214. package/dist/src/core/shared/primitives/FocusRingElement.d.ts.map +1 -1
  215. package/dist/src/core/shared/primitives/RippleElement.d.ts.map +1 -1
  216. package/dist/src/core/shared/primitives/ScrollContainerElement.d.ts +3 -1
  217. package/dist/src/core/shared/primitives/ScrollContainerElement.d.ts.map +1 -1
  218. package/dist/src/core/shared/primitives/SlideElement.d.ts +3 -1
  219. package/dist/src/core/shared/primitives/SlideElement.d.ts.map +1 -1
  220. package/dist/src/core/shared/primitives/StateLayerElement.d.ts.map +1 -1
  221. package/dist/src/core/shared/primitives/TextHighlightElement.d.ts.map +1 -1
  222. package/dist/src/core/shared/primitives/TextOverflowElement.d.ts.map +1 -1
  223. package/dist/src/core/shared/utils/getState.d.ts +15 -0
  224. package/dist/src/core/shared/utils/getState.d.ts.map +1 -0
  225. package/dist/src/dialog/DialogActionElement.d.ts.map +1 -1
  226. package/dist/src/dialog/DialogElement.d.ts +2 -2
  227. package/dist/src/dialog/DialogElement.d.ts.map +1 -1
  228. package/dist/src/dialog/DialogTriggerElement.d.ts.map +1 -1
  229. package/dist/src/drawer-container/DrawerContainerElement.d.ts +3 -1
  230. package/dist/src/drawer-container/DrawerContainerElement.d.ts.map +1 -1
  231. package/dist/src/drawer-container/DrawerToggleElement.d.ts.map +1 -1
  232. package/dist/src/drawer-container/styles/DrawerContainerStyle.d.ts.map +1 -1
  233. package/dist/src/expansion-panel/ExpansionHeaderElement.d.ts.map +1 -1
  234. package/dist/src/fab/FabElement.d.ts.map +1 -1
  235. package/dist/src/fab-menu/FabMenuElement.d.ts +1 -1
  236. package/dist/src/fab-menu/FabMenuElement.d.ts.map +1 -1
  237. package/dist/src/fab-menu/FabMenuItemElement.d.ts.map +1 -1
  238. package/dist/src/fab-menu/FabMenuTriggerElement.d.ts.map +1 -1
  239. package/dist/src/form-field/FormFieldElement.d.ts.map +1 -1
  240. package/dist/src/icon-button/IconButtonElement.d.ts +2 -1
  241. package/dist/src/icon-button/IconButtonElement.d.ts.map +1 -1
  242. package/dist/src/icon-button/styles/IconButtonSizeStyle.d.ts.map +1 -1
  243. package/dist/src/icon-button/styles/IconButtonVariantStyle.d.ts.map +1 -1
  244. package/dist/src/list/ActionListElement.d.ts.map +1 -1
  245. package/dist/src/list/ListElement.d.ts +1 -1
  246. package/dist/src/list/ListElement.d.ts.map +1 -1
  247. package/dist/src/list/ListItemButtonElement.d.ts.map +1 -1
  248. package/dist/src/list/ListItemElement.d.ts +1 -1
  249. package/dist/src/list/ListItemElement.d.ts.map +1 -1
  250. package/dist/src/list/ListOptionElement.d.ts.map +1 -1
  251. package/dist/src/list/SelectionListElement.d.ts.map +1 -1
  252. package/dist/src/menu/MenuElement.d.ts +1 -1
  253. package/dist/src/menu/MenuElement.d.ts.map +1 -1
  254. package/dist/src/menu/MenuItemCheckboxElement.d.ts.map +1 -1
  255. package/dist/src/menu/MenuItemGroupElement.d.ts.map +1 -1
  256. package/dist/src/menu/MenuItemRadioElement.d.ts.map +1 -1
  257. package/dist/src/menu/MenuTriggerElement.d.ts.map +1 -1
  258. package/dist/src/nav-bar/NavBarElement.d.ts +1 -1
  259. package/dist/src/nav-bar/NavBarElement.d.ts.map +1 -1
  260. package/dist/src/nav-bar/NavItemElement.d.ts.map +1 -1
  261. package/dist/src/nav-menu/NavMenuElement.d.ts.map +1 -1
  262. package/dist/src/nav-menu/NavMenuItemElement.d.ts.map +1 -1
  263. package/dist/src/nav-menu/NavMenuItemGroupElement.d.ts +1 -1
  264. package/dist/src/nav-menu/NavMenuItemGroupElement.d.ts.map +1 -1
  265. package/dist/src/nav-rail/NavRailElement.d.ts.map +1 -1
  266. package/dist/src/nav-rail/NavRailToggleElement.d.ts.map +1 -1
  267. package/dist/src/option/OptGroupElement.d.ts.map +1 -1
  268. package/dist/src/option/OptionElement.d.ts +1 -2
  269. package/dist/src/option/OptionElement.d.ts.map +1 -1
  270. package/dist/src/option/OptionPanelElement.d.ts +12 -13
  271. package/dist/src/option/OptionPanelElement.d.ts.map +1 -1
  272. package/dist/src/paginator/PaginatorElement.d.ts +0 -1
  273. package/dist/src/paginator/PaginatorElement.d.ts.map +1 -1
  274. package/dist/src/radio-group/RadioElement.d.ts.map +1 -1
  275. package/dist/src/radio-group/RadioGroupElement.d.ts.map +1 -1
  276. package/dist/src/segmented-button/ButtonSegmentElement.d.ts.map +1 -1
  277. package/dist/src/segmented-button/SegmentedButtonElement.d.ts.map +1 -1
  278. package/dist/src/select/SelectElement.d.ts.map +1 -1
  279. package/dist/src/shape/ShapeElement.d.ts.map +1 -1
  280. package/dist/src/slider/SliderElement.d.ts +3 -1
  281. package/dist/src/slider/SliderElement.d.ts.map +1 -1
  282. package/dist/src/slider/SliderThumbElement.d.ts.map +1 -1
  283. package/dist/src/stepper/StepElement.d.ts.map +1 -1
  284. package/dist/src/stepper/StepperElement.d.ts.map +1 -1
  285. package/dist/src/switch/SwitchElement.d.ts.map +1 -1
  286. package/dist/src/tabs/TabElement.d.ts.map +1 -1
  287. package/dist/src/tabs/TabPanelElement.d.ts.map +1 -1
  288. package/dist/src/tabs/TabsElement.d.ts.map +1 -1
  289. package/dist/src/toc/TocElement.d.ts.map +1 -1
  290. package/dist/src/tooltip/RichTooltipActionElement.d.ts.map +1 -1
  291. package/dist/src/tooltip/TooltipElementBase.d.ts +1 -1
  292. package/dist/src/tooltip/TooltipElementBase.d.ts.map +1 -1
  293. package/dist/stepper.js +15 -15
  294. package/dist/stepper.js.map +1 -1
  295. package/dist/stepper.min.js +1 -1
  296. package/dist/stepper.min.js.map +1 -1
  297. package/dist/switch.js +3 -3
  298. package/dist/switch.js.map +1 -1
  299. package/dist/switch.min.js +1 -1
  300. package/dist/switch.min.js.map +1 -1
  301. package/dist/tabs.js +10 -10
  302. package/dist/tabs.js.map +1 -1
  303. package/dist/tabs.min.js +1 -1
  304. package/dist/tabs.min.js.map +1 -1
  305. package/dist/textarea-autosize.js +3 -3
  306. package/dist/textarea-autosize.js.map +1 -1
  307. package/dist/textarea-autosize.min.js +2 -2
  308. package/dist/textarea-autosize.min.js.map +1 -1
  309. package/dist/theme.js +3 -3
  310. package/dist/theme.js.map +1 -1
  311. package/dist/theme.min.js +2 -2
  312. package/dist/theme.min.js.map +1 -1
  313. package/dist/toc.js +11 -11
  314. package/dist/toc.js.map +1 -1
  315. package/dist/toc.min.js +1 -1
  316. package/dist/toc.min.js.map +1 -1
  317. package/dist/toolbar.js +3 -3
  318. package/dist/toolbar.js.map +1 -1
  319. package/dist/toolbar.min.js +1 -1
  320. package/dist/toolbar.min.js.map +1 -1
  321. package/dist/tooltip.js +8 -8
  322. package/dist/tooltip.js.map +1 -1
  323. package/dist/tooltip.min.js +1 -1
  324. package/dist/tooltip.min.js.map +1 -1
  325. package/package.json +1 -1
package/dist/core.js CHANGED
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { isServer, nothing, noChange, unsafeCSS, html, css, LitElement } from 'lit';
7
7
  import { directive, Directive, PartType } from 'lit/directive.js';
8
- import { property, customElement, query } from 'lit/decorators.js';
8
+ import { property, query } from 'lit/decorators.js';
9
9
  import { ifDefined } from 'lit/directives/if-defined.js';
10
10
 
11
11
  /******************************************************************************
@@ -851,6 +851,7 @@ class HoverController extends MonitorControllerBase {
851
851
  _observe(target) {
852
852
  target.addEventListener("pointerenter", __classPrivateFieldGet(this, _HoverController_pointerInHandler, "f"));
853
853
  target.addEventListener("pointerleave", __classPrivateFieldGet(this, _HoverController_pointerLeaveHandler, "f"));
854
+ target.addEventListener("touchend", __classPrivateFieldGet(this, _HoverController_pointerLeaveHandler, "f"));
854
855
  }
855
856
  /**
856
857
  * Stops observing the specified element.
@@ -859,6 +860,7 @@ class HoverController extends MonitorControllerBase {
859
860
  _unobserve(target) {
860
861
  target.removeEventListener("pointerenter", __classPrivateFieldGet(this, _HoverController_pointerInHandler, "f"));
861
862
  target.removeEventListener("pointerleave", __classPrivateFieldGet(this, _HoverController_pointerLeaveHandler, "f"));
863
+ target.removeEventListener("touchend", __classPrivateFieldGet(this, _HoverController_pointerLeaveHandler, "f"));
862
864
  }
863
865
  }
864
866
  _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) {
@@ -908,7 +910,7 @@ _HoverController_callback = new WeakMap(), _HoverController_startDelays = new We
908
910
  }
909
911
  };
910
912
 
911
- var _IntersectionController_host, _IntersectionController_callback, _IntersectionController_skipInitial, _IntersectionController_observer, _IntersectionController_unobservedUpdate;
913
+ var _IntersectionController_callback, _IntersectionController_skipInitial, _IntersectionController_observer, _IntersectionController_unobservedUpdate;
912
914
  /** A `ReactiveController` used to monitor changes in the intersection of a target element with an ancestor element. */
913
915
  class IntersectionController extends MonitorControllerBase {
914
916
  /**
@@ -919,8 +921,6 @@ class IntersectionController extends MonitorControllerBase {
919
921
  constructor(host, options) {
920
922
  super(host, options);
921
923
  /** @private */
922
- _IntersectionController_host.set(this, void 0);
923
- /** @private */
924
924
  _IntersectionController_callback.set(this, void 0);
925
925
  /** @private */
926
926
  _IntersectionController_skipInitial.set(this, false);
@@ -928,7 +928,6 @@ class IntersectionController extends MonitorControllerBase {
928
928
  _IntersectionController_observer.set(this, void 0);
929
929
  /** @private */
930
930
  _IntersectionController_unobservedUpdate.set(this, true);
931
- __classPrivateFieldSet(this, _IntersectionController_host, host, "f");
932
931
  __classPrivateFieldSet(this, _IntersectionController_callback, options.callback, "f");
933
932
  __classPrivateFieldSet(this, _IntersectionController_skipInitial, options.skipInitial ?? false, "f");
934
933
  if (isServer) return;
@@ -938,7 +937,6 @@ class IntersectionController extends MonitorControllerBase {
938
937
  }
939
938
  __classPrivateFieldSet(this, _IntersectionController_observer, new IntersectionObserver((entries, observer) => {
940
939
  __classPrivateFieldGet(this, _IntersectionController_callback, "f").call(this, entries, observer);
941
- __classPrivateFieldGet(this, _IntersectionController_host, "f").requestUpdate();
942
940
  }, options.init), "f");
943
941
  }
944
942
  /** @inheritdoc */
@@ -955,7 +953,6 @@ class IntersectionController extends MonitorControllerBase {
955
953
  _observe(target) {
956
954
  __classPrivateFieldGet(this, _IntersectionController_observer, "f")?.observe(target);
957
955
  __classPrivateFieldSet(this, _IntersectionController_unobservedUpdate, true, "f");
958
- __classPrivateFieldGet(this, _IntersectionController_host, "f").requestUpdate();
959
956
  }
960
957
  /**
961
958
  * Stops observing the specified element.
@@ -965,7 +962,7 @@ class IntersectionController extends MonitorControllerBase {
965
962
  __classPrivateFieldGet(this, _IntersectionController_observer, "f")?.unobserve(target);
966
963
  }
967
964
  }
968
- _IntersectionController_host = new WeakMap(), _IntersectionController_callback = new WeakMap(), _IntersectionController_skipInitial = new WeakMap(), _IntersectionController_observer = new WeakMap(), _IntersectionController_unobservedUpdate = new WeakMap();
965
+ _IntersectionController_callback = new WeakMap(), _IntersectionController_skipInitial = new WeakMap(), _IntersectionController_observer = new WeakMap(), _IntersectionController_unobservedUpdate = new WeakMap();
969
966
 
970
967
  var _LongPressController_instances, _LongPressController_callback, _LongPressController_threshold, _LongPressController_pressedTargets, _LongPressController_pressedTimeouts, _LongPressController_touchStartHandler, _LongPressController_touchEndOrCancelHandler, _LongPressController_handleTouchStart, _LongPressController_handleTouchEndOrCancel;
971
968
  /** A `ReactiveController` used to detect a long press gesture. */
@@ -1344,6 +1341,32 @@ class ResizeController extends MonitorControllerBase {
1344
1341
  }
1345
1342
  _ResizeController_host = new WeakMap(), _ResizeController_callback = new WeakMap(), _ResizeController_skipInitial = new WeakMap(), _ResizeController_config = new WeakMap(), _ResizeController_observer = new WeakMap(), _ResizeController_unobservedUpdate = new WeakMap();
1346
1343
 
1344
+ /**
1345
+ * Class decorator factory that defines the decorated class as a custom element.
1346
+ *
1347
+ * ```js
1348
+ * @element('my-element')
1349
+ * class MyElement extends LitElement {
1350
+ * render() {
1351
+ * return html``;
1352
+ * }
1353
+ * }
1354
+ * ```
1355
+ * @param {string} tagName The tag name of the custom element to define.
1356
+ */
1357
+ const element = tagName => (classOrTarget, context) => {
1358
+ const define = () => {
1359
+ if (typeof window !== "undefined" && !customElements.get(tagName)) {
1360
+ customElements.define(tagName, classOrTarget);
1361
+ }
1362
+ };
1363
+ if (context) {
1364
+ context.addInitializer(define);
1365
+ } else {
1366
+ define();
1367
+ }
1368
+ };
1369
+
1347
1370
  /* eslint-disable @typescript-eslint/no-explicit-any */
1348
1371
  /**
1349
1372
  * A decorator that runs a function once after a given "cooldown" period.
@@ -1625,6 +1648,47 @@ function AttachInternals(base, formAssociated) {
1625
1648
  _AttachInternals.formAssociated = formAssociated;
1626
1649
  return _AttachInternals;
1627
1650
  }
1651
+ /**
1652
+ * Convenience function used to test whether an element has a given custom state.
1653
+ * @param {AttachInternalsMixin} element The element to test.
1654
+ * @param {string} state The custom state to test.
1655
+ * @returns {boolean} Whether `element` has `state`.
1656
+ */
1657
+ function hasCustomState(element, state) {
1658
+ return isServer ? false : element[internals].states.has(state);
1659
+ }
1660
+ /**
1661
+ * Convenience function used to add custom state to an element.
1662
+ * @param {AttachInternalsMixin} element The element to which to add custom state.
1663
+ * @param {string} state The custom state to add.
1664
+ */
1665
+ function addCustomState(element, state) {
1666
+ if (!isServer) {
1667
+ element[internals]?.states.add(state);
1668
+ }
1669
+ }
1670
+ /**
1671
+ * Convenience function used to delete custom state from an element.
1672
+ * @param {AttachInternalsMixin} element The element from which to delete custom state.
1673
+ * @param {string} state The custom state to delete.
1674
+ * @returns {boolean} Whether `state` was removed from `element`.
1675
+ */
1676
+ function deleteCustomState(element, state) {
1677
+ return !isServer && element[internals]?.states.delete(state);
1678
+ }
1679
+ /**
1680
+ * Convenience function used to add or delete custom state for an element.
1681
+ * @param {AttachInternalsMixin} element The element for which to add or delete custom state.
1682
+ * @param {string} state The custom state to add or delete.
1683
+ * @param {boolean} value Whether to add or delete `state` from `element`.
1684
+ */
1685
+ function setCustomState(element, state, value) {
1686
+ if (value) {
1687
+ addCustomState(element, state);
1688
+ } else {
1689
+ deleteCustomState(element, state);
1690
+ }
1691
+ }
1628
1692
 
1629
1693
  /**
1630
1694
  * Determines whether a value is a `CheckedMixin`.
@@ -1815,7 +1879,7 @@ function Dirty(base) {
1815
1879
  }
1816
1880
  /** Whether the user has modified the value of the element. */
1817
1881
  get dirty() {
1818
- return this.classList.contains("-dirty");
1882
+ return hasCustomState(this, "-dirty");
1819
1883
  }
1820
1884
  /** Whether the user has not modified the value of the element. */
1821
1885
  get pristine() {
@@ -1834,11 +1898,11 @@ function Dirty(base) {
1834
1898
  }
1835
1899
  /** Marks the element as pristine. */
1836
1900
  markAsPristine() {
1837
- this.classList.toggle("-dirty", false);
1901
+ deleteCustomState(this, "-dirty");
1838
1902
  }
1839
1903
  /** Marks the element as dirty. */
1840
1904
  markAsDirty() {
1841
- this.classList.toggle("-dirty", true);
1905
+ addCustomState(this, "-dirty");
1842
1906
  }
1843
1907
  }
1844
1908
  _a = _eventHandler$2;
@@ -1870,7 +1934,7 @@ function Touched(base) {
1870
1934
  }
1871
1935
  /** Whether the user has interacted when the element. */
1872
1936
  get touched() {
1873
- return this.classList.contains("-touched");
1937
+ return hasCustomState(this, "-touched");
1874
1938
  }
1875
1939
  /** Whether the user has not interacted when the element. */
1876
1940
  get untouched() {
@@ -1893,11 +1957,11 @@ function Touched(base) {
1893
1957
  }
1894
1958
  /** Marks the element as touched. */
1895
1959
  markAsTouched() {
1896
- this.classList.toggle("-touched", true);
1960
+ addCustomState(this, "-touched");
1897
1961
  }
1898
1962
  /** Marks the element as untouched. */
1899
1963
  markAsUntouched() {
1900
- this.classList.toggle("-touched", false);
1964
+ deleteCustomState(this, "-touched");
1901
1965
  }
1902
1966
  }
1903
1967
  _a = _eventHandler$1;
@@ -2616,7 +2680,7 @@ function Labelled(base) {
2616
2680
  [(_a = _eventHandler, updateLabels)]() {
2617
2681
  const focusable = this.hasAttribute("tabindex");
2618
2682
  const disabled = isDisabledMixin(this) && this.disabled || isDisabledInteractiveMixin(this) && this.disabledInteractive;
2619
- const invalid = isTouchedMixin(this) && this.touched && (this.ariaInvalid || this.classList.contains("-invalid"));
2683
+ const invalid = isTouchedMixin(this) && this.touched && (this.ariaInvalid || hasCustomState(this, "-invalid"));
2620
2684
  for (const label of this.labels ?? []) {
2621
2685
  label.style.userSelect = focusable ? "none" : "";
2622
2686
  label.style.cursor = !disabled && focusable ? "pointer" : "";
@@ -2856,7 +2920,7 @@ function ConstraintValidation(base) {
2856
2920
  }
2857
2921
  this[internals].setValidity(validity, validityMessage);
2858
2922
  this.ariaInvalid = invalid ? "true" : null;
2859
- this.classList.toggle("-invalid", invalid === true);
2923
+ setCustomState(this, "-invalid", invalid === true);
2860
2924
  if (isLabelledMixin(this)) {
2861
2925
  this[updateLabels]?.();
2862
2926
  }
@@ -3104,20 +3168,35 @@ const _firstUpdated = Symbol("_firstUpdated");
3104
3168
  * @returns {Constructor<HtmlForMixin> & T} A constructor extends `base` and implements `HtmlForMixin`.
3105
3169
  */
3106
3170
  function HtmlFor(base) {
3107
- var _a, _b;
3171
+ var _a;
3108
3172
  class _HtmlForMixin extends base {
3109
3173
  constructor() {
3110
3174
  super(...arguments);
3111
3175
  /** @private */
3112
- this[_a] = null;
3113
- /** @private */
3114
- this[_b] = false;
3176
+ this[_a] = false;
3115
3177
  /** The identifier of the interactive control to which this element is attached. */
3116
3178
  this.htmlFor = null;
3117
3179
  }
3118
3180
  /** The interactive element to which this element is attached. */
3119
3181
  get control() {
3120
- return this[_control];
3182
+ return this[_control]?.deref() ?? null;
3183
+ }
3184
+ /** @inheritdoc */
3185
+ connectedCallback() {
3186
+ super.connectedCallback();
3187
+ const control = this[_control]?.deref();
3188
+ if (control) {
3189
+ this.attach(control);
3190
+ }
3191
+ }
3192
+ /** @inheritdoc */
3193
+ disconnectedCallback() {
3194
+ super.disconnectedCallback();
3195
+ const control = this[_control];
3196
+ if (control) {
3197
+ this.detach();
3198
+ this[_control] = control;
3199
+ }
3121
3200
  }
3122
3201
  /** @inheritdoc */
3123
3202
  firstUpdated(_changedProperties) {
@@ -3152,14 +3231,14 @@ function HtmlFor(base) {
3152
3231
  * @param {HTMLElement} control The element that controls the attachable element.
3153
3232
  */
3154
3233
  attach(control) {
3155
- this[_control] = control;
3234
+ this[_control] = new WeakRef(control);
3156
3235
  }
3157
3236
  /** Detaches the element from its current interactive control. */
3158
3237
  detach() {
3159
- this[_control] = null;
3238
+ this[_control] = undefined;
3160
3239
  }
3161
3240
  }
3162
- _a = _control, _b = _firstUpdated;
3241
+ _a = _firstUpdated;
3163
3242
  __decorate([property({
3164
3243
  attribute: "for"
3165
3244
  })], _HtmlForMixin.prototype, "htmlFor", void 0);
@@ -3595,7 +3674,7 @@ var _M3eCollapsibleElement_instances, _M3eCollapsibleElement_slotChanged, _M3eCo
3595
3674
  *
3596
3675
  * @cssprop --m3e-collapsible-animation-duration - The duration of the expand / collapse animation.
3597
3676
  */
3598
- let M3eCollapsibleElement = class M3eCollapsibleElement extends EventAttribute(LitElement, "opening", "opened", "closing", "closed") {
3677
+ let M3eCollapsibleElement = class M3eCollapsibleElement extends EventAttribute(AttachInternals(LitElement), "opening", "opened", "closing", "closed") {
3599
3678
  constructor() {
3600
3679
  super(...arguments);
3601
3680
  _M3eCollapsibleElement_instances.add(this);
@@ -3612,7 +3691,7 @@ let M3eCollapsibleElement = class M3eCollapsibleElement extends EventAttribute(L
3612
3691
  /** @inheritdoc */
3613
3692
  update(changedProperties) {
3614
3693
  super.update(changedProperties);
3615
- this.classList.toggle("-no-animate", true);
3694
+ addCustomState(this, "-no-animate");
3616
3695
  if (!__classPrivateFieldGet(this, _M3eCollapsibleElement_slotChanged, "f")) {
3617
3696
  if (this.open) {
3618
3697
  __classPrivateFieldSet(this, _M3eCollapsibleElement_hasOpened, true, "f");
@@ -3626,24 +3705,24 @@ let M3eCollapsibleElement = class M3eCollapsibleElement extends EventAttribute(L
3626
3705
  __classPrivateFieldSet(this, _M3eCollapsibleElement_hasOpened, true, "f");
3627
3706
  if (!prefersReducedMotion()) {
3628
3707
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_autoSize).call(this);
3629
- this.classList.toggle("-overflows", this.clientHeight < this.scrollHeight);
3708
+ setCustomState(this, "-overflows", this.clientHeight < this.scrollHeight);
3630
3709
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_clearSize).call(this);
3631
3710
  }
3632
- this.classList.toggle("-closing", false);
3633
- this.classList.toggle("-opening", true);
3711
+ deleteCustomState(this, "-closing");
3712
+ addCustomState(this, "-opening");
3634
3713
  this.dispatchEvent(new Event("opening"));
3635
3714
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_clearSize).call(this);
3636
- this.classList.toggle("-no-animate", false);
3715
+ deleteCustomState(this, "-no-animate");
3637
3716
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_actualSize).call(this);
3638
3717
  if (prefersReducedMotion()) {
3639
3718
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_autoSize).call(this);
3640
- this.classList.toggle("-opening", false);
3719
+ deleteCustomState(this, "-opening");
3641
3720
  this.dispatchEvent(new Event("opened"));
3642
3721
  } else {
3643
3722
  this.addEventListener("transitionend", () => {
3644
3723
  if (this.open) {
3645
3724
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_autoSize).call(this);
3646
- this.classList.toggle("-opening", false);
3725
+ deleteCustomState(this, "-opening");
3647
3726
  this.dispatchEvent(new Event("opened"));
3648
3727
  }
3649
3728
  }, {
@@ -3651,23 +3730,23 @@ let M3eCollapsibleElement = class M3eCollapsibleElement extends EventAttribute(L
3651
3730
  });
3652
3731
  }
3653
3732
  } else {
3654
- this.classList.toggle("-opening", false);
3655
- this.classList.toggle("-closing", true);
3733
+ deleteCustomState(this, "-opening");
3734
+ addCustomState(this, "-closing");
3656
3735
  this.dispatchEvent(new Event("closing"));
3657
3736
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_actualSize).call(this);
3658
3737
  if (__classPrivateFieldGet(this, _M3eCollapsibleElement_hasOpened, "f")) {
3659
- this.classList.toggle("-no-animate", false);
3738
+ deleteCustomState(this, "-no-animate");
3660
3739
  }
3661
3740
  if (prefersReducedMotion()) {
3662
3741
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_clearSize).call(this);
3663
- this.classList.toggle("-closing", false);
3742
+ deleteCustomState(this, "-closing");
3664
3743
  this.dispatchEvent(new Event("closed"));
3665
3744
  } else {
3666
3745
  requestAnimationFrame(() => {
3667
3746
  __classPrivateFieldGet(this, _M3eCollapsibleElement_instances, "m", _M3eCollapsibleElement_clearSize).call(this);
3668
3747
  this.addEventListener("transitionend", () => {
3669
3748
  if (!this.open) {
3670
- this.classList.toggle("-closing", false);
3749
+ deleteCustomState(this, "-closing");
3671
3750
  this.dispatchEvent(new Event("closed"));
3672
3751
  }
3673
3752
  }, {
@@ -3705,12 +3784,12 @@ M3eCollapsibleElement.styles = css`:host { display: block; height: 0px; overflow
3705
3784
  padding-top var(--m3e-collapsible-animation-duration, ${DesignToken.motion.duration.medium1})
3706
3785
  ${DesignToken.motion.easing.standard},
3707
3786
  padding-bottom var(--m3e-collapsible-animation-duration, ${DesignToken.motion.duration.medium1})
3708
- ${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; } }`;
3787
+ ${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; } }`;
3709
3788
  __decorate([property({
3710
3789
  type: Boolean,
3711
3790
  reflect: true
3712
3791
  })], M3eCollapsibleElement.prototype, "open", void 0);
3713
- M3eCollapsibleElement = __decorate([customElement("m3e-collapsible")], M3eCollapsibleElement);
3792
+ M3eCollapsibleElement = __decorate([element("m3e-collapsible")], M3eCollapsibleElement);
3714
3793
 
3715
3794
  /**
3716
3795
  * Component design tokens that control the `M3eElevationElement`.
@@ -3882,7 +3961,7 @@ __decorate([property({
3882
3961
  type: Number,
3883
3962
  reflect: true
3884
3963
  })], M3eElevationElement.prototype, "level", void 0);
3885
- M3eElevationElement = __decorate([customElement("m3e-elevation")], M3eElevationElement);
3964
+ M3eElevationElement = __decorate([element("m3e-elevation")], M3eElevationElement);
3886
3965
 
3887
3966
  /**
3888
3967
  * Component design tokens that control the `M3eFocusRingElement`.
@@ -4028,7 +4107,7 @@ __decorate([property({
4028
4107
  type: Boolean,
4029
4108
  reflect: true
4030
4109
  })], M3eFocusRingElement.prototype, "disabled", void 0);
4031
- M3eFocusRingElement = __decorate([customElement("m3e-focus-ring")], M3eFocusRingElement);
4110
+ M3eFocusRingElement = __decorate([element("m3e-focus-ring")], M3eFocusRingElement);
4032
4111
 
4033
4112
  /**
4034
4113
  * An element which looks like a checkbox.
@@ -4081,7 +4160,7 @@ let M3ePseudoCheckboxElement = class M3ePseudoCheckboxElement extends CheckedInd
4081
4160
  };
4082
4161
  /** The styles of the element. */
4083
4162
  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 ); }`;
4084
- M3ePseudoCheckboxElement = __decorate([customElement("m3e-pseudo-checkbox")], M3ePseudoCheckboxElement);
4163
+ M3ePseudoCheckboxElement = __decorate([element("m3e-pseudo-checkbox")], M3ePseudoCheckboxElement);
4085
4164
 
4086
4165
  /**
4087
4166
  * An element which looks like a radio button.
@@ -4119,7 +4198,7 @@ let M3ePseudoRadioElement = class M3ePseudoRadioElement extends Checked(Disabled
4119
4198
  };
4120
4199
  /** The styles of the element. */
4121
4200
  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); }`;
4122
- M3ePseudoRadioElement = __decorate([customElement("m3e-pseudo-radio")], M3ePseudoRadioElement);
4201
+ M3ePseudoRadioElement = __decorate([element("m3e-pseudo-radio")], M3ePseudoRadioElement);
4123
4202
 
4124
4203
  /**
4125
4204
  * Component design tokens that control the `M3eRippleElement`.
@@ -4329,7 +4408,7 @@ __decorate([property({
4329
4408
  __decorate([property({
4330
4409
  type: Number
4331
4410
  })], M3eRippleElement.prototype, "radius", void 0);
4332
- M3eRippleElement = __decorate([customElement("m3e-ripple")], M3eRippleElement);
4411
+ M3eRippleElement = __decorate([element("m3e-ripple")], M3eRippleElement);
4333
4412
 
4334
4413
  var _M3eScrollContainerElement_scrollHandler;
4335
4414
  /**
@@ -4362,7 +4441,7 @@ var _M3eScrollContainerElement_scrollHandler;
4362
4441
  * @cssprop --m3e-focus-ring-factor - Animation factor for focus ring thickness.
4363
4442
  * @cssprop --m3e-focus-ring-duration - Duration of the focus ring animation.
4364
4443
  */
4365
- let M3eScrollContainerElement = class M3eScrollContainerElement extends LitElement {
4444
+ let M3eScrollContainerElement = class M3eScrollContainerElement extends AttachInternals(LitElement) {
4366
4445
  constructor() {
4367
4446
  super(...arguments);
4368
4447
  /** @private */
@@ -4403,20 +4482,20 @@ let M3eScrollContainerElement = class M3eScrollContainerElement extends LitEleme
4403
4482
  _updateScroll() {
4404
4483
  const before = (this.dividers === "above" || this.dividers === "above-below") && this.scrollTop > 0;
4405
4484
  const after = (this.dividers === "below" || this.dividers === "above-below") && this.scrollHeight - this.scrollTop - this.clientHeight > 1;
4406
- this.classList.toggle("-above", before);
4407
- this.classList.toggle("-below", after);
4485
+ setCustomState(this, "-above", before);
4486
+ setCustomState(this, "-below", after);
4408
4487
  }
4409
4488
  };
4410
4489
  _M3eScrollContainerElement_scrollHandler = new WeakMap();
4411
4490
  /** The styles of the element. */
4412
- 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; } }`;
4491
+ 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; } }`;
4413
4492
  __decorate([property()], M3eScrollContainerElement.prototype, "dividers", void 0);
4414
4493
  __decorate([property({
4415
4494
  type: Boolean,
4416
4495
  reflect: true
4417
4496
  })], M3eScrollContainerElement.prototype, "thin", void 0);
4418
4497
  __decorate([debounce(40)], M3eScrollContainerElement.prototype, "_updateScroll", null);
4419
- M3eScrollContainerElement = __decorate([customElement("m3e-scroll-container")], M3eScrollContainerElement);
4498
+ M3eScrollContainerElement = __decorate([element("m3e-scroll-container")], M3eScrollContainerElement);
4420
4499
 
4421
4500
  var _M3eSlideElement_instances, _M3eSlideElement_items, _M3eSlideElement_handleSlotChange, _M3eSlideElement_updateItems;
4422
4501
  /**
@@ -4441,7 +4520,7 @@ var _M3eSlideElement_instances, _M3eSlideElement_items, _M3eSlideElement_handleS
4441
4520
  *
4442
4521
  * @cssprop --m3e-slide-animation-duration - The duration of transitions between slotted items.
4443
4522
  */
4444
- let M3eSlideElement = class M3eSlideElement extends LitElement {
4523
+ let M3eSlideElement = class M3eSlideElement extends AttachInternals(LitElement) {
4445
4524
  constructor() {
4446
4525
  super(...arguments);
4447
4526
  _M3eSlideElement_instances.add(this);
@@ -4456,20 +4535,20 @@ let M3eSlideElement = class M3eSlideElement extends LitElement {
4456
4535
  /** @inheritdoc */
4457
4536
  connectedCallback() {
4458
4537
  super.connectedCallback();
4459
- this.classList.toggle("-no-animate", true);
4538
+ addCustomState(this, "-no-animate");
4460
4539
  }
4461
4540
  /** @inheritdoc */
4462
4541
  update(changedProperties) {
4463
4542
  super.update(changedProperties);
4464
4543
  if (changedProperties.has("selectedIndex")) {
4465
4544
  if (this.selectedIndex === null) {
4466
- this.classList.toggle("-no-animate", true);
4545
+ addCustomState(this, "-no-animate");
4467
4546
  }
4468
4547
  __classPrivateFieldGet(this, _M3eSlideElement_instances, "m", _M3eSlideElement_updateItems).call(this);
4469
- if (this.selectedIndex !== null && this.classList.contains("-no-animate")) {
4548
+ if (this.selectedIndex !== null && hasCustomState(this, "-no-animate")) {
4470
4549
  requestAnimationFrame(() => {
4471
4550
  if (this.selectedIndex !== null) {
4472
- this.classList.toggle("-no-animate", false);
4551
+ deleteCustomState(this, "-no-animate");
4473
4552
  }
4474
4553
  });
4475
4554
  }
@@ -4505,13 +4584,13 @@ _M3eSlideElement_updateItems = function _M3eSlideElement_updateItems() {
4505
4584
  };
4506
4585
  /** The styles of the element. */
4507
4586
  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},
4508
- 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; } }`;
4587
+ 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; } }`;
4509
4588
  __decorate([property({
4510
4589
  attribute: "selected-index",
4511
4590
  type: Number,
4512
4591
  reflect: true
4513
4592
  })], M3eSlideElement.prototype, "selectedIndex", void 0);
4514
- M3eSlideElement = __decorate([customElement("m3e-slide")], M3eSlideElement);
4593
+ M3eSlideElement = __decorate([element("m3e-slide")], M3eSlideElement);
4515
4594
 
4516
4595
  /**
4517
4596
  * Component design tokens that control the `M3eStateLayerElement`.
@@ -4676,7 +4755,7 @@ __decorate([property({
4676
4755
  type: Boolean,
4677
4756
  reflect: true
4678
4757
  })], M3eStateLayerElement.prototype, "disableHover", void 0);
4679
- M3eStateLayerElement = __decorate([customElement("m3e-state-layer")], M3eStateLayerElement);
4758
+ M3eStateLayerElement = __decorate([element("m3e-state-layer")], M3eStateLayerElement);
4680
4759
 
4681
4760
  /**
4682
4761
  * An inline container which presents an ellipsis when content overflows.
@@ -4711,7 +4790,7 @@ let M3eTextOverflowElement = class M3eTextOverflowElement extends LitElement {
4711
4790
  };
4712
4791
  /** The styles of the element. */
4713
4792
  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; }`;
4714
- M3eTextOverflowElement = __decorate([customElement("m3e-text-overflow")], M3eTextOverflowElement);
4793
+ M3eTextOverflowElement = __decorate([element("m3e-text-overflow")], M3eTextOverflowElement);
4715
4794
 
4716
4795
  var _M3eTextHighlightElement_instances, _M3eTextHighlightElement_id, _M3eTextHighlightElement_ranges, _M3eTextHighlightElement_styles, _M3eTextHighlightElement_isTextNode, _M3eTextHighlightElement_findTextNodes, _M3eTextHighlightElement_highlight;
4717
4796
  var M3eTextHighlightElement_1;
@@ -4904,7 +4983,7 @@ __decorate([property({
4904
4983
  attribute: "case-sensitive",
4905
4984
  type: Boolean
4906
4985
  })], M3eTextHighlightElement.prototype, "caseSensitive", void 0);
4907
- M3eTextHighlightElement = M3eTextHighlightElement_1 = __decorate([customElement("m3e-text-highlight")], M3eTextHighlightElement);
4986
+ M3eTextHighlightElement = M3eTextHighlightElement_1 = __decorate([element("m3e-text-highlight")], M3eTextHighlightElement);
4908
4987
 
4909
- export { ActionElementBase, AnimationLoopController, AttachInternals, Checked, CheckedIndeterminate, ConstraintValidation, DesignToken, Dirty, Disabled, DisabledInteractive, EventAttribute, FocusController, Focusable, FormAssociated, FormSubmitter, HoverController, HtmlFor, IntersectionController, KeyboardClick, Labelled, LinkButton, LongPressController, M3eCollapsibleElement, M3eElevationElement, M3eFocusRingElement, M3ePseudoCheckboxElement, M3ePseudoRadioElement, M3eRippleElement, M3eScrollContainerElement, M3eSlideElement, M3eStateLayerElement, M3eTextHighlightElement, M3eTextOverflowElement, MutationController, PressedController, ReadOnly, Required, RequiredConstraintValidation, ResizeController, Role, ScrollController, ScrollLockController, Selected, Touched, VelocityTracker, Vertical, checkOrSelect, computeCssSize, computeLineCount, debounce, defaultValue, focusWhenReady, forcedColorsActive, formValue, generateClipPaths, getTextContent, guid, hasAssignedNodes, hasKeys, interceptProperty, internals, isAttachInternalsMixin, isCheckedIndeterminateMixin, isCheckedMixin, isCheckedOrSelected, isCheckedOrSelectedMixin, isConstraintValidationMixin, isDirtyMixin, isDisabledInteractiveMixin, isDisabledMixin, isFormAssociatedMixin, isFormSubmitterMixin, isHtmlForMixin, isLabelledMixin, isLinkButtonMixin, isReadOnlyMixin, isRequiredConstraintValidationMixin, isRequiredMixin, isSelectedMixin, isTouchedMixin, isVerticalMixin, prefersReducedMotion, renderPseudoLink, resolveElementById, resolveFragmentUrl, safeStyleMap, scrollIntoViewIfNeeded, spaceSeparatedStringConverter, updateLabels, validate };
4988
+ export { ActionElementBase, AnimationLoopController, AttachInternals, Checked, CheckedIndeterminate, ConstraintValidation, DesignToken, Dirty, Disabled, DisabledInteractive, EventAttribute, FocusController, Focusable, FormAssociated, FormSubmitter, HoverController, HtmlFor, IntersectionController, KeyboardClick, Labelled, LinkButton, LongPressController, M3eCollapsibleElement, M3eElevationElement, M3eFocusRingElement, M3ePseudoCheckboxElement, M3ePseudoRadioElement, M3eRippleElement, M3eScrollContainerElement, M3eSlideElement, M3eStateLayerElement, M3eTextHighlightElement, M3eTextOverflowElement, MutationController, PressedController, ReadOnly, Required, RequiredConstraintValidation, ResizeController, Role, ScrollController, ScrollLockController, Selected, Touched, VelocityTracker, Vertical, addCustomState, checkOrSelect, computeCssSize, computeLineCount, debounce, defaultValue, deleteCustomState, element, focusWhenReady, forcedColorsActive, formValue, generateClipPaths, getTextContent, guid, hasAssignedNodes, hasCustomState, hasKeys, interceptProperty, internals, isAttachInternalsMixin, isCheckedIndeterminateMixin, isCheckedMixin, isCheckedOrSelected, isCheckedOrSelectedMixin, isConstraintValidationMixin, isDirtyMixin, isDisabledInteractiveMixin, isDisabledMixin, isFormAssociatedMixin, isFormSubmitterMixin, isHtmlForMixin, isLabelledMixin, isLinkButtonMixin, isReadOnlyMixin, isRequiredConstraintValidationMixin, isRequiredMixin, isSelectedMixin, isTouchedMixin, isVerticalMixin, prefersReducedMotion, renderPseudoLink, resolveElementById, resolveFragmentUrl, safeStyleMap, scrollIntoViewIfNeeded, setCustomState, spaceSeparatedStringConverter, updateLabels, validate };
4910
4989
  //# sourceMappingURL=core.js.map