@m3e/web 2.0.0

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 (966) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +85 -0
  3. package/dist/all.js +28231 -0
  4. package/dist/all.js.map +1 -0
  5. package/dist/all.min.js +482 -0
  6. package/dist/all.min.js.map +1 -0
  7. package/dist/app-bar.js +763 -0
  8. package/dist/app-bar.js.map +1 -0
  9. package/dist/app-bar.min.js +40 -0
  10. package/dist/app-bar.min.js.map +1 -0
  11. package/dist/autocomplete.js +883 -0
  12. package/dist/autocomplete.js.map +1 -0
  13. package/dist/autocomplete.min.js +29 -0
  14. package/dist/autocomplete.min.js.map +1 -0
  15. package/dist/avatar.js +416 -0
  16. package/dist/avatar.js.map +1 -0
  17. package/dist/avatar.min.js +23 -0
  18. package/dist/avatar.min.js.map +1 -0
  19. package/dist/badge.js +583 -0
  20. package/dist/badge.js.map +1 -0
  21. package/dist/badge.min.js +29 -0
  22. package/dist/badge.min.js.map +1 -0
  23. package/dist/bottom-sheet.js +1193 -0
  24. package/dist/bottom-sheet.js.map +1 -0
  25. package/dist/bottom-sheet.min.js +29 -0
  26. package/dist/bottom-sheet.min.js.map +1 -0
  27. package/dist/button-group.js +643 -0
  28. package/dist/button-group.js.map +1 -0
  29. package/dist/button-group.min.js +44 -0
  30. package/dist/button-group.min.js.map +1 -0
  31. package/dist/button.js +1690 -0
  32. package/dist/button.js.map +1 -0
  33. package/dist/button.min.js +40 -0
  34. package/dist/button.min.js.map +1 -0
  35. package/dist/card.js +821 -0
  36. package/dist/card.js.map +1 -0
  37. package/dist/card.min.js +40 -0
  38. package/dist/card.min.js.map +1 -0
  39. package/dist/checkbox.js +608 -0
  40. package/dist/checkbox.js.map +1 -0
  41. package/dist/checkbox.min.js +40 -0
  42. package/dist/checkbox.min.js.map +1 -0
  43. package/dist/chips.js +1761 -0
  44. package/dist/chips.js.map +1 -0
  45. package/dist/chips.min.js +46 -0
  46. package/dist/chips.min.js.map +1 -0
  47. package/dist/core-a11y.js +1810 -0
  48. package/dist/core-a11y.js.map +1 -0
  49. package/dist/core-a11y.min.js +74 -0
  50. package/dist/core-a11y.min.js.map +1 -0
  51. package/dist/core-anchoring.js +1747 -0
  52. package/dist/core-anchoring.js.map +1 -0
  53. package/dist/core-anchoring.min.js +7 -0
  54. package/dist/core-anchoring.min.js.map +1 -0
  55. package/dist/core-bidi.js +105 -0
  56. package/dist/core-bidi.js.map +1 -0
  57. package/dist/core-bidi.min.js +16 -0
  58. package/dist/core-bidi.min.js.map +1 -0
  59. package/dist/core-layout.js +64 -0
  60. package/dist/core-layout.js.map +1 -0
  61. package/dist/core-layout.min.js +15 -0
  62. package/dist/core-layout.min.js.map +1 -0
  63. package/dist/core-platform.js +46 -0
  64. package/dist/core-platform.js.map +1 -0
  65. package/dist/core-platform.min.js +15 -0
  66. package/dist/core-platform.min.js.map +1 -0
  67. package/dist/core.js +5641 -0
  68. package/dist/core.js.map +1 -0
  69. package/dist/core.min.js +55 -0
  70. package/dist/core.min.js.map +1 -0
  71. package/dist/css-custom-data.json +11892 -0
  72. package/dist/custom-elements.json +63037 -0
  73. package/dist/dialog.js +1079 -0
  74. package/dist/dialog.js.map +1 -0
  75. package/dist/dialog.min.js +51 -0
  76. package/dist/dialog.min.js.map +1 -0
  77. package/dist/divider.js +489 -0
  78. package/dist/divider.js.map +1 -0
  79. package/dist/divider.min.js +29 -0
  80. package/dist/divider.min.js.map +1 -0
  81. package/dist/drawer-container.js +861 -0
  82. package/dist/drawer-container.js.map +1 -0
  83. package/dist/drawer-container.min.js +34 -0
  84. package/dist/drawer-container.min.js.map +1 -0
  85. package/dist/expansion-panel.js +878 -0
  86. package/dist/expansion-panel.js.map +1 -0
  87. package/dist/expansion-panel.min.js +40 -0
  88. package/dist/expansion-panel.min.js.map +1 -0
  89. package/dist/fab-menu.js +850 -0
  90. package/dist/fab-menu.js.map +1 -0
  91. package/dist/fab-menu.min.js +40 -0
  92. package/dist/fab-menu.min.js.map +1 -0
  93. package/dist/fab.js +1459 -0
  94. package/dist/fab.js.map +1 -0
  95. package/dist/fab.min.js +40 -0
  96. package/dist/fab.min.js.map +1 -0
  97. package/dist/form-field.js +919 -0
  98. package/dist/form-field.js.map +1 -0
  99. package/dist/form-field.min.js +61 -0
  100. package/dist/form-field.min.js.map +1 -0
  101. package/dist/heading.js +597 -0
  102. package/dist/heading.js.map +1 -0
  103. package/dist/heading.min.js +29 -0
  104. package/dist/heading.min.js.map +1 -0
  105. package/dist/html-custom-data.json +2628 -0
  106. package/dist/icon-button.js +1419 -0
  107. package/dist/icon-button.js.map +1 -0
  108. package/dist/icon-button.min.js +40 -0
  109. package/dist/icon-button.min.js.map +1 -0
  110. package/dist/icon.js +547 -0
  111. package/dist/icon.js.map +1 -0
  112. package/dist/icon.min.js +40 -0
  113. package/dist/icon.min.js.map +1 -0
  114. package/dist/index.js +7 -0
  115. package/dist/index.js.map +1 -0
  116. package/dist/list.js +1840 -0
  117. package/dist/list.js.map +1 -0
  118. package/dist/list.min.js +52 -0
  119. package/dist/list.min.js.map +1 -0
  120. package/dist/loading-indicator.js +533 -0
  121. package/dist/loading-indicator.js.map +1 -0
  122. package/dist/loading-indicator.min.js +40 -0
  123. package/dist/loading-indicator.min.js.map +1 -0
  124. package/dist/menu.js +1509 -0
  125. package/dist/menu.js.map +1 -0
  126. package/dist/menu.min.js +45 -0
  127. package/dist/menu.min.js.map +1 -0
  128. package/dist/nav-bar.js +738 -0
  129. package/dist/nav-bar.js.map +1 -0
  130. package/dist/nav-bar.min.js +45 -0
  131. package/dist/nav-bar.min.js.map +1 -0
  132. package/dist/nav-menu.js +1498 -0
  133. package/dist/nav-menu.js.map +1 -0
  134. package/dist/nav-menu.min.js +50 -0
  135. package/dist/nav-menu.min.js.map +1 -0
  136. package/dist/nav-rail.js +565 -0
  137. package/dist/nav-rail.js.map +1 -0
  138. package/dist/nav-rail.min.js +23 -0
  139. package/dist/nav-rail.min.js.map +1 -0
  140. package/dist/option.js +802 -0
  141. package/dist/option.js.map +1 -0
  142. package/dist/option.min.js +40 -0
  143. package/dist/option.min.js.map +1 -0
  144. package/dist/paginator.js +700 -0
  145. package/dist/paginator.js.map +1 -0
  146. package/dist/paginator.min.js +37 -0
  147. package/dist/paginator.min.js.map +1 -0
  148. package/dist/progress-indicator.js +1405 -0
  149. package/dist/progress-indicator.js.map +1 -0
  150. package/dist/progress-indicator.min.js +108 -0
  151. package/dist/progress-indicator.min.js.map +1 -0
  152. package/dist/radio-group.js +757 -0
  153. package/dist/radio-group.js.map +1 -0
  154. package/dist/radio-group.min.js +40 -0
  155. package/dist/radio-group.min.js.map +1 -0
  156. package/dist/segmented-button.js +782 -0
  157. package/dist/segmented-button.js.map +1 -0
  158. package/dist/segmented-button.min.js +40 -0
  159. package/dist/segmented-button.min.js.map +1 -0
  160. package/dist/select.js +1235 -0
  161. package/dist/select.js.map +1 -0
  162. package/dist/select.min.js +57 -0
  163. package/dist/select.min.js.map +1 -0
  164. package/dist/shape.js +543 -0
  165. package/dist/shape.js.map +1 -0
  166. package/dist/shape.min.js +29 -0
  167. package/dist/shape.min.js.map +1 -0
  168. package/dist/slide-group.js +655 -0
  169. package/dist/slide-group.js.map +1 -0
  170. package/dist/slide-group.min.js +45 -0
  171. package/dist/slide-group.min.js.map +1 -0
  172. package/dist/slider.js +1343 -0
  173. package/dist/slider.js.map +1 -0
  174. package/dist/slider.min.js +50 -0
  175. package/dist/slider.min.js.map +1 -0
  176. package/dist/snackbar.js +632 -0
  177. package/dist/snackbar.js.map +1 -0
  178. package/dist/snackbar.min.js +29 -0
  179. package/dist/snackbar.min.js.map +1 -0
  180. package/dist/split-button.js +661 -0
  181. package/dist/split-button.js.map +1 -0
  182. package/dist/split-button.min.js +40 -0
  183. package/dist/split-button.min.js.map +1 -0
  184. package/dist/src/all.d.ts +47 -0
  185. package/dist/src/all.d.ts.map +1 -0
  186. package/dist/src/app-bar/AppBarElement.d.ts +139 -0
  187. package/dist/src/app-bar/AppBarElement.d.ts.map +1 -0
  188. package/dist/src/app-bar/AppBarSize.d.ts +3 -0
  189. package/dist/src/app-bar/AppBarSize.d.ts.map +1 -0
  190. package/dist/src/app-bar/index.d.ts +3 -0
  191. package/dist/src/app-bar/index.d.ts.map +1 -0
  192. package/dist/src/app-bar/styles/AppBarSizeStyle.d.ts +7 -0
  193. package/dist/src/app-bar/styles/AppBarSizeStyle.d.ts.map +1 -0
  194. package/dist/src/app-bar/styles/AppBarSizeToken.d.ts +28 -0
  195. package/dist/src/app-bar/styles/AppBarSizeToken.d.ts.map +1 -0
  196. package/dist/src/app-bar/styles/AppBarStyle.d.ts +7 -0
  197. package/dist/src/app-bar/styles/AppBarStyle.d.ts.map +1 -0
  198. package/dist/src/app-bar/styles/AppBarToken.d.ts +15 -0
  199. package/dist/src/app-bar/styles/AppBarToken.d.ts.map +1 -0
  200. package/dist/src/app-bar/styles/index.d.ts +3 -0
  201. package/dist/src/app-bar/styles/index.d.ts.map +1 -0
  202. package/dist/src/autocomplete/AutocompleteElement.d.ts +79 -0
  203. package/dist/src/autocomplete/AutocompleteElement.d.ts.map +1 -0
  204. package/dist/src/autocomplete/index.d.ts +2 -0
  205. package/dist/src/autocomplete/index.d.ts.map +1 -0
  206. package/dist/src/avatar/AvatarElement.d.ts +54 -0
  207. package/dist/src/avatar/AvatarElement.d.ts.map +1 -0
  208. package/dist/src/avatar/index.d.ts +2 -0
  209. package/dist/src/avatar/index.d.ts.map +1 -0
  210. package/dist/src/badge/BadgeElement.d.ts +76 -0
  211. package/dist/src/badge/BadgeElement.d.ts.map +1 -0
  212. package/dist/src/badge/BadgePosition.d.ts +3 -0
  213. package/dist/src/badge/BadgePosition.d.ts.map +1 -0
  214. package/dist/src/badge/BadgeSize.d.ts +3 -0
  215. package/dist/src/badge/BadgeSize.d.ts.map +1 -0
  216. package/dist/src/badge/index.d.ts +4 -0
  217. package/dist/src/badge/index.d.ts.map +1 -0
  218. package/dist/src/bottom-sheet/BottomSheetActionElement.d.ts +17 -0
  219. package/dist/src/bottom-sheet/BottomSheetActionElement.d.ts.map +1 -0
  220. package/dist/src/bottom-sheet/BottomSheetElement.d.ts +189 -0
  221. package/dist/src/bottom-sheet/BottomSheetElement.d.ts.map +1 -0
  222. package/dist/src/bottom-sheet/BottomSheetTriggerElement.d.ts +36 -0
  223. package/dist/src/bottom-sheet/BottomSheetTriggerElement.d.ts.map +1 -0
  224. package/dist/src/bottom-sheet/index.d.ts +4 -0
  225. package/dist/src/bottom-sheet/index.d.ts.map +1 -0
  226. package/dist/src/button/ButtonElement.d.ts +429 -0
  227. package/dist/src/button/ButtonElement.d.ts.map +1 -0
  228. package/dist/src/button/ButtonShape.d.ts +3 -0
  229. package/dist/src/button/ButtonShape.d.ts.map +1 -0
  230. package/dist/src/button/ButtonSize.d.ts +3 -0
  231. package/dist/src/button/ButtonSize.d.ts.map +1 -0
  232. package/dist/src/button/ButtonVariant.d.ts +3 -0
  233. package/dist/src/button/ButtonVariant.d.ts.map +1 -0
  234. package/dist/src/button/index.d.ts +5 -0
  235. package/dist/src/button/index.d.ts.map +1 -0
  236. package/dist/src/button/styles/ButtonSizeStyle.d.ts +7 -0
  237. package/dist/src/button/styles/ButtonSizeStyle.d.ts.map +1 -0
  238. package/dist/src/button/styles/ButtonSizeToken.d.ts +27 -0
  239. package/dist/src/button/styles/ButtonSizeToken.d.ts.map +1 -0
  240. package/dist/src/button/styles/ButtonStyle.d.ts +7 -0
  241. package/dist/src/button/styles/ButtonStyle.d.ts.map +1 -0
  242. package/dist/src/button/styles/ButtonVariantStyle.d.ts +7 -0
  243. package/dist/src/button/styles/ButtonVariantStyle.d.ts.map +1 -0
  244. package/dist/src/button/styles/ButtonVariantToken.d.ts +75 -0
  245. package/dist/src/button/styles/ButtonVariantToken.d.ts.map +1 -0
  246. package/dist/src/button/styles/index.d.ts +4 -0
  247. package/dist/src/button/styles/index.d.ts.map +1 -0
  248. package/dist/src/button-group/ButtonGroupElement.d.ts +98 -0
  249. package/dist/src/button-group/ButtonGroupElement.d.ts.map +1 -0
  250. package/dist/src/button-group/ButtonGroupSize.d.ts +3 -0
  251. package/dist/src/button-group/ButtonGroupSize.d.ts.map +1 -0
  252. package/dist/src/button-group/ButtonGroupVariant.d.ts +3 -0
  253. package/dist/src/button-group/ButtonGroupVariant.d.ts.map +1 -0
  254. package/dist/src/button-group/index.d.ts +4 -0
  255. package/dist/src/button-group/index.d.ts.map +1 -0
  256. package/dist/src/card/CardElement.d.ts +171 -0
  257. package/dist/src/card/CardElement.d.ts.map +1 -0
  258. package/dist/src/card/CardOrientation.d.ts +3 -0
  259. package/dist/src/card/CardOrientation.d.ts.map +1 -0
  260. package/dist/src/card/CardVariant.d.ts +3 -0
  261. package/dist/src/card/CardVariant.d.ts.map +1 -0
  262. package/dist/src/card/index.d.ts +4 -0
  263. package/dist/src/card/index.d.ts.map +1 -0
  264. package/dist/src/card/styles/CardStyle.d.ts +7 -0
  265. package/dist/src/card/styles/CardStyle.d.ts.map +1 -0
  266. package/dist/src/card/styles/CardToken.d.ts +9 -0
  267. package/dist/src/card/styles/CardToken.d.ts.map +1 -0
  268. package/dist/src/card/styles/CardVariantStyle.d.ts +7 -0
  269. package/dist/src/card/styles/CardVariantStyle.d.ts.map +1 -0
  270. package/dist/src/card/styles/CardVariantToken.d.ts +50 -0
  271. package/dist/src/card/styles/CardVariantToken.d.ts.map +1 -0
  272. package/dist/src/card/styles/index.d.ts +3 -0
  273. package/dist/src/card/styles/index.d.ts.map +1 -0
  274. package/dist/src/checkbox/CheckboxElement.d.ts +100 -0
  275. package/dist/src/checkbox/CheckboxElement.d.ts.map +1 -0
  276. package/dist/src/checkbox/index.d.ts +2 -0
  277. package/dist/src/checkbox/index.d.ts.map +1 -0
  278. package/dist/src/chips/AssistChipElement.d.ts +83 -0
  279. package/dist/src/chips/AssistChipElement.d.ts.map +1 -0
  280. package/dist/src/chips/ChipElement.d.ts +83 -0
  281. package/dist/src/chips/ChipElement.d.ts.map +1 -0
  282. package/dist/src/chips/ChipSetElement.d.ts +42 -0
  283. package/dist/src/chips/ChipSetElement.d.ts.map +1 -0
  284. package/dist/src/chips/ChipVariant.d.ts +3 -0
  285. package/dist/src/chips/ChipVariant.d.ts.map +1 -0
  286. package/dist/src/chips/FilterChipElement.d.ts +105 -0
  287. package/dist/src/chips/FilterChipElement.d.ts.map +1 -0
  288. package/dist/src/chips/FilterChipSetElement.d.ts +81 -0
  289. package/dist/src/chips/FilterChipSetElement.d.ts.map +1 -0
  290. package/dist/src/chips/InputChipElement.d.ts +117 -0
  291. package/dist/src/chips/InputChipElement.d.ts.map +1 -0
  292. package/dist/src/chips/InputChipSetElement.d.ts +74 -0
  293. package/dist/src/chips/InputChipSetElement.d.ts.map +1 -0
  294. package/dist/src/chips/SuggestionChipElement.d.ts +84 -0
  295. package/dist/src/chips/SuggestionChipElement.d.ts.map +1 -0
  296. package/dist/src/chips/index.d.ts +10 -0
  297. package/dist/src/chips/index.d.ts.map +1 -0
  298. package/dist/src/core/a11y/AriaDescriber.d.ts +31 -0
  299. package/dist/src/core/a11y/AriaDescriber.d.ts.map +1 -0
  300. package/dist/src/core/a11y/FocusTrapElement.d.ts +25 -0
  301. package/dist/src/core/a11y/FocusTrapElement.d.ts.map +1 -0
  302. package/dist/src/core/a11y/InteractivityChecker.d.ts +22 -0
  303. package/dist/src/core/a11y/InteractivityChecker.d.ts.map +1 -0
  304. package/dist/src/core/a11y/LiveAnnouncer.d.ts +56 -0
  305. package/dist/src/core/a11y/LiveAnnouncer.d.ts.map +1 -0
  306. package/dist/src/core/a11y/aria-reference.d.ts +30 -0
  307. package/dist/src/core/a11y/aria-reference.d.ts.map +1 -0
  308. package/dist/src/core/a11y/index.d.ts +8 -0
  309. package/dist/src/core/a11y/index.d.ts.map +1 -0
  310. package/dist/src/core/a11y/keycodes/KeyCode.d.ts +118 -0
  311. package/dist/src/core/a11y/keycodes/KeyCode.d.ts.map +1 -0
  312. package/dist/src/core/a11y/keycodes/ModifierKeys.d.ts +5 -0
  313. package/dist/src/core/a11y/keycodes/ModifierKeys.d.ts.map +1 -0
  314. package/dist/src/core/a11y/keycodes/getKeyCode.d.ts +7 -0
  315. package/dist/src/core/a11y/keycodes/getKeyCode.d.ts.map +1 -0
  316. package/dist/src/core/a11y/keycodes/hasModifierKey.d.ts +9 -0
  317. package/dist/src/core/a11y/keycodes/hasModifierKey.d.ts.map +1 -0
  318. package/dist/src/core/a11y/keycodes/index.d.ts +6 -0
  319. package/dist/src/core/a11y/keycodes/index.d.ts.map +1 -0
  320. package/dist/src/core/a11y/keycodes/isModifierAllowed.d.ts +9 -0
  321. package/dist/src/core/a11y/keycodes/isModifierAllowed.d.ts.map +1 -0
  322. package/dist/src/core/a11y/list-key/FocusKeyManager.d.ts +17 -0
  323. package/dist/src/core/a11y/list-key/FocusKeyManager.d.ts.map +1 -0
  324. package/dist/src/core/a11y/list-key/ListKeyManager.d.ts +125 -0
  325. package/dist/src/core/a11y/list-key/ListKeyManager.d.ts.map +1 -0
  326. package/dist/src/core/a11y/list-key/ListManager.d.ts +37 -0
  327. package/dist/src/core/a11y/list-key/ListManager.d.ts.map +1 -0
  328. package/dist/src/core/a11y/list-key/RadioKeyManager.d.ts +20 -0
  329. package/dist/src/core/a11y/list-key/RadioKeyManager.d.ts.map +1 -0
  330. package/dist/src/core/a11y/list-key/RovingTabIndexManager.d.ts +22 -0
  331. package/dist/src/core/a11y/list-key/RovingTabIndexManager.d.ts.map +1 -0
  332. package/dist/src/core/a11y/list-key/SelectionManager.d.ts +46 -0
  333. package/dist/src/core/a11y/list-key/SelectionManager.d.ts.map +1 -0
  334. package/dist/src/core/a11y/list-key/Typeahead.d.ts +64 -0
  335. package/dist/src/core/a11y/list-key/Typeahead.d.ts.map +1 -0
  336. package/dist/src/core/a11y/list-key/index.d.ts +8 -0
  337. package/dist/src/core/a11y/list-key/index.d.ts.map +1 -0
  338. package/dist/src/core/a11y/visuallyHide.d.ts +6 -0
  339. package/dist/src/core/a11y/visuallyHide.d.ts.map +1 -0
  340. package/dist/src/core/anchoring/AnchorOptions.d.ts +15 -0
  341. package/dist/src/core/anchoring/AnchorOptions.d.ts.map +1 -0
  342. package/dist/src/core/anchoring/AnchorPosition.d.ts +3 -0
  343. package/dist/src/core/anchoring/AnchorPosition.d.ts.map +1 -0
  344. package/dist/src/core/anchoring/index.d.ts +4 -0
  345. package/dist/src/core/anchoring/index.d.ts.map +1 -0
  346. package/dist/src/core/anchoring/positionAnchor.d.ts +12 -0
  347. package/dist/src/core/anchoring/positionAnchor.d.ts.map +1 -0
  348. package/dist/src/core/bidi/Directionality.d.ts +27 -0
  349. package/dist/src/core/bidi/Directionality.d.ts.map +1 -0
  350. package/dist/src/core/bidi/index.d.ts +2 -0
  351. package/dist/src/core/bidi/index.d.ts.map +1 -0
  352. package/dist/src/core/index.d.ts +2 -0
  353. package/dist/src/core/index.d.ts.map +1 -0
  354. package/dist/src/core/layout/Breakpoint.d.ts +26 -0
  355. package/dist/src/core/layout/Breakpoint.d.ts.map +1 -0
  356. package/dist/src/core/layout/BreakpointObserver.d.ts +18 -0
  357. package/dist/src/core/layout/BreakpointObserver.d.ts.map +1 -0
  358. package/dist/src/core/layout/index.d.ts +3 -0
  359. package/dist/src/core/layout/index.d.ts.map +1 -0
  360. package/dist/src/core/platform/Platform.d.ts +34 -0
  361. package/dist/src/core/platform/Platform.d.ts.map +1 -0
  362. package/dist/src/core/platform/index.d.ts +2 -0
  363. package/dist/src/core/platform/index.d.ts.map +1 -0
  364. package/dist/src/core/shared/controllers/AnimationLoopController.d.ts +13 -0
  365. package/dist/src/core/shared/controllers/AnimationLoopController.d.ts.map +1 -0
  366. package/dist/src/core/shared/controllers/FocusController.d.ts +34 -0
  367. package/dist/src/core/shared/controllers/FocusController.d.ts.map +1 -0
  368. package/dist/src/core/shared/controllers/HoverController.d.ts +40 -0
  369. package/dist/src/core/shared/controllers/HoverController.d.ts.map +1 -0
  370. package/dist/src/core/shared/controllers/IntersectionController.d.ts +40 -0
  371. package/dist/src/core/shared/controllers/IntersectionController.d.ts.map +1 -0
  372. package/dist/src/core/shared/controllers/LongPressController.d.ts +32 -0
  373. package/dist/src/core/shared/controllers/LongPressController.d.ts.map +1 -0
  374. package/dist/src/core/shared/controllers/MonitorControllerBase.d.ts +62 -0
  375. package/dist/src/core/shared/controllers/MonitorControllerBase.d.ts.map +1 -0
  376. package/dist/src/core/shared/controllers/MutationController.d.ts +37 -0
  377. package/dist/src/core/shared/controllers/MutationController.d.ts.map +1 -0
  378. package/dist/src/core/shared/controllers/PressedController.d.ts +47 -0
  379. package/dist/src/core/shared/controllers/PressedController.d.ts.map +1 -0
  380. package/dist/src/core/shared/controllers/ResizeController.d.ts +40 -0
  381. package/dist/src/core/shared/controllers/ResizeController.d.ts.map +1 -0
  382. package/dist/src/core/shared/controllers/ScrollController.d.ts +34 -0
  383. package/dist/src/core/shared/controllers/ScrollController.d.ts.map +1 -0
  384. package/dist/src/core/shared/controllers/ScrollLockController.d.ts +16 -0
  385. package/dist/src/core/shared/controllers/ScrollLockController.d.ts.map +1 -0
  386. package/dist/src/core/shared/controllers/index.d.ts +11 -0
  387. package/dist/src/core/shared/controllers/index.d.ts.map +1 -0
  388. package/dist/src/core/shared/converters/index.d.ts +2 -0
  389. package/dist/src/core/shared/converters/index.d.ts.map +1 -0
  390. package/dist/src/core/shared/converters/spaceSeparatedStringConverter.d.ts +4 -0
  391. package/dist/src/core/shared/converters/spaceSeparatedStringConverter.d.ts.map +1 -0
  392. package/dist/src/core/shared/decorators/debounce.d.ts +7 -0
  393. package/dist/src/core/shared/decorators/debounce.d.ts.map +1 -0
  394. package/dist/src/core/shared/decorators/index.d.ts +2 -0
  395. package/dist/src/core/shared/decorators/index.d.ts.map +1 -0
  396. package/dist/src/core/shared/directives/index.d.ts +2 -0
  397. package/dist/src/core/shared/directives/index.d.ts.map +1 -0
  398. package/dist/src/core/shared/directives/safeStyleMap.d.ts +44 -0
  399. package/dist/src/core/shared/directives/safeStyleMap.d.ts.map +1 -0
  400. package/dist/src/core/shared/index.d.ts +9 -0
  401. package/dist/src/core/shared/index.d.ts.map +1 -0
  402. package/dist/src/core/shared/mixins/AttachInternals.d.ts +24 -0
  403. package/dist/src/core/shared/mixins/AttachInternals.d.ts.map +1 -0
  404. package/dist/src/core/shared/mixins/Checked.d.ts +24 -0
  405. package/dist/src/core/shared/mixins/Checked.d.ts.map +1 -0
  406. package/dist/src/core/shared/mixins/CheckedIndeterminate.d.ts +25 -0
  407. package/dist/src/core/shared/mixins/CheckedIndeterminate.d.ts.map +1 -0
  408. package/dist/src/core/shared/mixins/CheckedOrSelected.d.ts +23 -0
  409. package/dist/src/core/shared/mixins/CheckedOrSelected.d.ts.map +1 -0
  410. package/dist/src/core/shared/mixins/ConstraintValidation.d.ts +48 -0
  411. package/dist/src/core/shared/mixins/ConstraintValidation.d.ts.map +1 -0
  412. package/dist/src/core/shared/mixins/Constructor.d.ts +3 -0
  413. package/dist/src/core/shared/mixins/Constructor.d.ts.map +1 -0
  414. package/dist/src/core/shared/mixins/Dirty.d.ts +27 -0
  415. package/dist/src/core/shared/mixins/Dirty.d.ts.map +1 -0
  416. package/dist/src/core/shared/mixins/Disabled.d.ts +25 -0
  417. package/dist/src/core/shared/mixins/Disabled.d.ts.map +1 -0
  418. package/dist/src/core/shared/mixins/DisabledInteractive.d.ts +25 -0
  419. package/dist/src/core/shared/mixins/DisabledInteractive.d.ts.map +1 -0
  420. package/dist/src/core/shared/mixins/EventAttribute.d.ts +11 -0
  421. package/dist/src/core/shared/mixins/EventAttribute.d.ts.map +1 -0
  422. package/dist/src/core/shared/mixins/Focusable.d.ts +11 -0
  423. package/dist/src/core/shared/mixins/Focusable.d.ts.map +1 -0
  424. package/dist/src/core/shared/mixins/FormAssociated.d.ts +34 -0
  425. package/dist/src/core/shared/mixins/FormAssociated.d.ts.map +1 -0
  426. package/dist/src/core/shared/mixins/FormSubmitter.d.ts +34 -0
  427. package/dist/src/core/shared/mixins/FormSubmitter.d.ts.map +1 -0
  428. package/dist/src/core/shared/mixins/HtmlFor.d.ts +30 -0
  429. package/dist/src/core/shared/mixins/HtmlFor.d.ts.map +1 -0
  430. package/dist/src/core/shared/mixins/KeyboardClick.d.ts +11 -0
  431. package/dist/src/core/shared/mixins/KeyboardClick.d.ts.map +1 -0
  432. package/dist/src/core/shared/mixins/Labelled.d.ts +26 -0
  433. package/dist/src/core/shared/mixins/Labelled.d.ts.map +1 -0
  434. package/dist/src/core/shared/mixins/LinkButton.d.ts +46 -0
  435. package/dist/src/core/shared/mixins/LinkButton.d.ts.map +1 -0
  436. package/dist/src/core/shared/mixins/ReadOnly.d.ts +25 -0
  437. package/dist/src/core/shared/mixins/ReadOnly.d.ts.map +1 -0
  438. package/dist/src/core/shared/mixins/Required.d.ts +26 -0
  439. package/dist/src/core/shared/mixins/Required.d.ts.map +1 -0
  440. package/dist/src/core/shared/mixins/RequiredConstraintValidation.d.ts +21 -0
  441. package/dist/src/core/shared/mixins/RequiredConstraintValidation.d.ts.map +1 -0
  442. package/dist/src/core/shared/mixins/Role.d.ts +13 -0
  443. package/dist/src/core/shared/mixins/Role.d.ts.map +1 -0
  444. package/dist/src/core/shared/mixins/Selected.d.ts +24 -0
  445. package/dist/src/core/shared/mixins/Selected.d.ts.map +1 -0
  446. package/dist/src/core/shared/mixins/Touched.d.ts +27 -0
  447. package/dist/src/core/shared/mixins/Touched.d.ts.map +1 -0
  448. package/dist/src/core/shared/mixins/Vertical.d.ts +24 -0
  449. package/dist/src/core/shared/mixins/Vertical.d.ts.map +1 -0
  450. package/dist/src/core/shared/mixins/hasKeys.d.ts +9 -0
  451. package/dist/src/core/shared/mixins/hasKeys.d.ts.map +1 -0
  452. package/dist/src/core/shared/mixins/index.d.ts +25 -0
  453. package/dist/src/core/shared/mixins/index.d.ts.map +1 -0
  454. package/dist/src/core/shared/primitives/ActionElementBase.d.ts +22 -0
  455. package/dist/src/core/shared/primitives/ActionElementBase.d.ts.map +1 -0
  456. package/dist/src/core/shared/primitives/CollapsibleElement.d.ts +58 -0
  457. package/dist/src/core/shared/primitives/CollapsibleElement.d.ts.map +1 -0
  458. package/dist/src/core/shared/primitives/ElevationElement.d.ts +87 -0
  459. package/dist/src/core/shared/primitives/ElevationElement.d.ts.map +1 -0
  460. package/dist/src/core/shared/primitives/ElevationLevel.d.ts +3 -0
  461. package/dist/src/core/shared/primitives/ElevationLevel.d.ts.map +1 -0
  462. package/dist/src/core/shared/primitives/ElevationToken.d.ts +15 -0
  463. package/dist/src/core/shared/primitives/ElevationToken.d.ts.map +1 -0
  464. package/dist/src/core/shared/primitives/FocusRingElement.d.ts +77 -0
  465. package/dist/src/core/shared/primitives/FocusRingElement.d.ts.map +1 -0
  466. package/dist/src/core/shared/primitives/FocusRingToken.d.ts +17 -0
  467. package/dist/src/core/shared/primitives/FocusRingToken.d.ts.map +1 -0
  468. package/dist/src/core/shared/primitives/PseudoCheckboxElement.d.ts +49 -0
  469. package/dist/src/core/shared/primitives/PseudoCheckboxElement.d.ts.map +1 -0
  470. package/dist/src/core/shared/primitives/PseudoRadioElement.d.ts +40 -0
  471. package/dist/src/core/shared/primitives/PseudoRadioElement.d.ts.map +1 -0
  472. package/dist/src/core/shared/primitives/RippleElement.d.ts +97 -0
  473. package/dist/src/core/shared/primitives/RippleElement.d.ts.map +1 -0
  474. package/dist/src/core/shared/primitives/RippleToken.d.ts +12 -0
  475. package/dist/src/core/shared/primitives/RippleToken.d.ts.map +1 -0
  476. package/dist/src/core/shared/primitives/ScrollContainerElement.d.ts +61 -0
  477. package/dist/src/core/shared/primitives/ScrollContainerElement.d.ts.map +1 -0
  478. package/dist/src/core/shared/primitives/ScrollDividers.d.ts +3 -0
  479. package/dist/src/core/shared/primitives/ScrollDividers.d.ts.map +1 -0
  480. package/dist/src/core/shared/primitives/SlideElement.d.ts +45 -0
  481. package/dist/src/core/shared/primitives/SlideElement.d.ts.map +1 -0
  482. package/dist/src/core/shared/primitives/StateLayerElement.d.ts +83 -0
  483. package/dist/src/core/shared/primitives/StateLayerElement.d.ts.map +1 -0
  484. package/dist/src/core/shared/primitives/StateLayerToken.d.ts +13 -0
  485. package/dist/src/core/shared/primitives/StateLayerToken.d.ts.map +1 -0
  486. package/dist/src/core/shared/primitives/TextHighlightElement.d.ts +81 -0
  487. package/dist/src/core/shared/primitives/TextHighlightElement.d.ts.map +1 -0
  488. package/dist/src/core/shared/primitives/TextOverflowElement.d.ts +38 -0
  489. package/dist/src/core/shared/primitives/TextOverflowElement.d.ts.map +1 -0
  490. package/dist/src/core/shared/primitives/index.d.ts +15 -0
  491. package/dist/src/core/shared/primitives/index.d.ts.map +1 -0
  492. package/dist/src/core/shared/tokens/ColorToken.d.ts +96 -0
  493. package/dist/src/core/shared/tokens/ColorToken.d.ts.map +1 -0
  494. package/dist/src/core/shared/tokens/DensityToken.d.ts +15 -0
  495. package/dist/src/core/shared/tokens/DensityToken.d.ts.map +1 -0
  496. package/dist/src/core/shared/tokens/DesignToken.d.ts +366 -0
  497. package/dist/src/core/shared/tokens/DesignToken.d.ts.map +1 -0
  498. package/dist/src/core/shared/tokens/ElevationToken.d.ts +16 -0
  499. package/dist/src/core/shared/tokens/ElevationToken.d.ts.map +1 -0
  500. package/dist/src/core/shared/tokens/MotionToken.d.ts +69 -0
  501. package/dist/src/core/shared/tokens/MotionToken.d.ts.map +1 -0
  502. package/dist/src/core/shared/tokens/ScrollbarToken.d.ts +10 -0
  503. package/dist/src/core/shared/tokens/ScrollbarToken.d.ts.map +1 -0
  504. package/dist/src/core/shared/tokens/ShapeToken.d.ts +79 -0
  505. package/dist/src/core/shared/tokens/ShapeToken.d.ts.map +1 -0
  506. package/dist/src/core/shared/tokens/StateToken.d.ts +10 -0
  507. package/dist/src/core/shared/tokens/StateToken.d.ts.map +1 -0
  508. package/dist/src/core/shared/tokens/TypescaleToken.d.ts +220 -0
  509. package/dist/src/core/shared/tokens/TypescaleToken.d.ts.map +1 -0
  510. package/dist/src/core/shared/tokens/index.d.ts +2 -0
  511. package/dist/src/core/shared/tokens/index.d.ts.map +1 -0
  512. package/dist/src/core/shared/utils/VelocityTracker.d.ts +22 -0
  513. package/dist/src/core/shared/utils/VelocityTracker.d.ts.map +1 -0
  514. package/dist/src/core/shared/utils/computeCssSize.d.ts +8 -0
  515. package/dist/src/core/shared/utils/computeCssSize.d.ts.map +1 -0
  516. package/dist/src/core/shared/utils/computeLineCount.d.ts +7 -0
  517. package/dist/src/core/shared/utils/computeLineCount.d.ts.map +1 -0
  518. package/dist/src/core/shared/utils/focusWhenReady.d.ts +8 -0
  519. package/dist/src/core/shared/utils/focusWhenReady.d.ts.map +1 -0
  520. package/dist/src/core/shared/utils/forcedColorsActive.d.ts +6 -0
  521. package/dist/src/core/shared/utils/forcedColorsActive.d.ts.map +1 -0
  522. package/dist/src/core/shared/utils/generateClipPaths.d.ts +8 -0
  523. package/dist/src/core/shared/utils/generateClipPaths.d.ts.map +1 -0
  524. package/dist/src/core/shared/utils/getTextContent.d.ts +8 -0
  525. package/dist/src/core/shared/utils/getTextContent.d.ts.map +1 -0
  526. package/dist/src/core/shared/utils/guid.d.ts +6 -0
  527. package/dist/src/core/shared/utils/guid.d.ts.map +1 -0
  528. package/dist/src/core/shared/utils/hasAssignedNodes.d.ts +7 -0
  529. package/dist/src/core/shared/utils/hasAssignedNodes.d.ts.map +1 -0
  530. package/dist/src/core/shared/utils/index.d.ts +15 -0
  531. package/dist/src/core/shared/utils/index.d.ts.map +1 -0
  532. package/dist/src/core/shared/utils/interceptProperty.d.ts +17 -0
  533. package/dist/src/core/shared/utils/interceptProperty.d.ts.map +1 -0
  534. package/dist/src/core/shared/utils/prefersReducedMotion.d.ts +6 -0
  535. package/dist/src/core/shared/utils/prefersReducedMotion.d.ts.map +1 -0
  536. package/dist/src/core/shared/utils/resolveElementById.d.ts +8 -0
  537. package/dist/src/core/shared/utils/resolveElementById.d.ts.map +1 -0
  538. package/dist/src/core/shared/utils/resolveFragmentUrl.d.ts +22 -0
  539. package/dist/src/core/shared/utils/resolveFragmentUrl.d.ts.map +1 -0
  540. package/dist/src/core/shared/utils/scrollIntoViewIfNeeded.d.ts +8 -0
  541. package/dist/src/core/shared/utils/scrollIntoViewIfNeeded.d.ts.map +1 -0
  542. package/dist/src/dialog/DialogActionElement.d.ts +24 -0
  543. package/dist/src/dialog/DialogActionElement.d.ts.map +1 -0
  544. package/dist/src/dialog/DialogElement.d.ts +142 -0
  545. package/dist/src/dialog/DialogElement.d.ts.map +1 -0
  546. package/dist/src/dialog/DialogTriggerElement.d.ts +21 -0
  547. package/dist/src/dialog/DialogTriggerElement.d.ts.map +1 -0
  548. package/dist/src/dialog/index.d.ts +4 -0
  549. package/dist/src/dialog/index.d.ts.map +1 -0
  550. package/dist/src/divider/DividerElement.d.ts +63 -0
  551. package/dist/src/divider/DividerElement.d.ts.map +1 -0
  552. package/dist/src/divider/index.d.ts +2 -0
  553. package/dist/src/divider/index.d.ts.map +1 -0
  554. package/dist/src/drawer-container/DrawerContainerElement.d.ts +107 -0
  555. package/dist/src/drawer-container/DrawerContainerElement.d.ts.map +1 -0
  556. package/dist/src/drawer-container/DrawerMode.d.ts +3 -0
  557. package/dist/src/drawer-container/DrawerMode.d.ts.map +1 -0
  558. package/dist/src/drawer-container/DrawerPosition.d.ts +3 -0
  559. package/dist/src/drawer-container/DrawerPosition.d.ts.map +1 -0
  560. package/dist/src/drawer-container/DrawerToggleElement.d.ts +42 -0
  561. package/dist/src/drawer-container/DrawerToggleElement.d.ts.map +1 -0
  562. package/dist/src/drawer-container/index.d.ts +5 -0
  563. package/dist/src/drawer-container/index.d.ts.map +1 -0
  564. package/dist/src/drawer-container/styles/DrawerContainerStyle.d.ts +7 -0
  565. package/dist/src/drawer-container/styles/DrawerContainerStyle.d.ts.map +1 -0
  566. package/dist/src/drawer-container/styles/DrawerContainerToken.d.ts +16 -0
  567. package/dist/src/drawer-container/styles/DrawerContainerToken.d.ts.map +1 -0
  568. package/dist/src/drawer-container/styles/index.d.ts +2 -0
  569. package/dist/src/drawer-container/styles/index.d.ts.map +1 -0
  570. package/dist/src/expansion-panel/AccordionElement.d.ts +53 -0
  571. package/dist/src/expansion-panel/AccordionElement.d.ts.map +1 -0
  572. package/dist/src/expansion-panel/ExpansionHeaderElement.d.ts +62 -0
  573. package/dist/src/expansion-panel/ExpansionHeaderElement.d.ts.map +1 -0
  574. package/dist/src/expansion-panel/ExpansionPanelElement.d.ts +132 -0
  575. package/dist/src/expansion-panel/ExpansionPanelElement.d.ts.map +1 -0
  576. package/dist/src/expansion-panel/ExpansionToggleDirection.d.ts +3 -0
  577. package/dist/src/expansion-panel/ExpansionToggleDirection.d.ts.map +1 -0
  578. package/dist/src/expansion-panel/ExpansionTogglePosition.d.ts +3 -0
  579. package/dist/src/expansion-panel/ExpansionTogglePosition.d.ts.map +1 -0
  580. package/dist/src/expansion-panel/index.d.ts +6 -0
  581. package/dist/src/expansion-panel/index.d.ts.map +1 -0
  582. package/dist/src/expansion-panel/styles/ExpansionHeaderStyle.d.ts +6 -0
  583. package/dist/src/expansion-panel/styles/ExpansionHeaderStyle.d.ts.map +1 -0
  584. package/dist/src/expansion-panel/styles/ExpansionHeaderToken.d.ts +17 -0
  585. package/dist/src/expansion-panel/styles/ExpansionHeaderToken.d.ts.map +1 -0
  586. package/dist/src/expansion-panel/styles/ExpansionPanelStyle.d.ts +6 -0
  587. package/dist/src/expansion-panel/styles/ExpansionPanelStyle.d.ts.map +1 -0
  588. package/dist/src/expansion-panel/styles/ExpansionPanelToken.d.ts +21 -0
  589. package/dist/src/expansion-panel/styles/ExpansionPanelToken.d.ts.map +1 -0
  590. package/dist/src/expansion-panel/styles/index.d.ts +3 -0
  591. package/dist/src/expansion-panel/styles/index.d.ts.map +1 -0
  592. package/dist/src/fab/FabElement.d.ts +356 -0
  593. package/dist/src/fab/FabElement.d.ts.map +1 -0
  594. package/dist/src/fab/FabSize.d.ts +3 -0
  595. package/dist/src/fab/FabSize.d.ts.map +1 -0
  596. package/dist/src/fab/FabVariant.d.ts +3 -0
  597. package/dist/src/fab/FabVariant.d.ts.map +1 -0
  598. package/dist/src/fab/index.d.ts +4 -0
  599. package/dist/src/fab/index.d.ts.map +1 -0
  600. package/dist/src/fab/styles/FabSizeStyle.d.ts +7 -0
  601. package/dist/src/fab/styles/FabSizeStyle.d.ts.map +1 -0
  602. package/dist/src/fab/styles/FabSizeToken.d.ts +25 -0
  603. package/dist/src/fab/styles/FabSizeToken.d.ts.map +1 -0
  604. package/dist/src/fab/styles/FabStyle.d.ts +7 -0
  605. package/dist/src/fab/styles/FabStyle.d.ts.map +1 -0
  606. package/dist/src/fab/styles/FabVariantStyle.d.ts +7 -0
  607. package/dist/src/fab/styles/FabVariantStyle.d.ts.map +1 -0
  608. package/dist/src/fab/styles/FabVariantToken.d.ts +52 -0
  609. package/dist/src/fab/styles/FabVariantToken.d.ts.map +1 -0
  610. package/dist/src/fab/styles/index.d.ts +4 -0
  611. package/dist/src/fab/styles/index.d.ts.map +1 -0
  612. package/dist/src/fab-menu/FabMenuElement.d.ts +110 -0
  613. package/dist/src/fab-menu/FabMenuElement.d.ts.map +1 -0
  614. package/dist/src/fab-menu/FabMenuItemElement.d.ts +74 -0
  615. package/dist/src/fab-menu/FabMenuItemElement.d.ts.map +1 -0
  616. package/dist/src/fab-menu/FabMenuTriggerElement.d.ts +43 -0
  617. package/dist/src/fab-menu/FabMenuTriggerElement.d.ts.map +1 -0
  618. package/dist/src/fab-menu/FabMenuVariant.d.ts +3 -0
  619. package/dist/src/fab-menu/FabMenuVariant.d.ts.map +1 -0
  620. package/dist/src/fab-menu/index.d.ts +5 -0
  621. package/dist/src/fab-menu/index.d.ts.map +1 -0
  622. package/dist/src/form-field/FloatLabelType.d.ts +3 -0
  623. package/dist/src/form-field/FloatLabelType.d.ts.map +1 -0
  624. package/dist/src/form-field/FormFieldControl.d.ts +48 -0
  625. package/dist/src/form-field/FormFieldControl.d.ts.map +1 -0
  626. package/dist/src/form-field/FormFieldElement.d.ts +145 -0
  627. package/dist/src/form-field/FormFieldElement.d.ts.map +1 -0
  628. package/dist/src/form-field/FormFieldVariant.d.ts +3 -0
  629. package/dist/src/form-field/FormFieldVariant.d.ts.map +1 -0
  630. package/dist/src/form-field/HideSubscriptType.d.ts +3 -0
  631. package/dist/src/form-field/HideSubscriptType.d.ts.map +1 -0
  632. package/dist/src/form-field/index.d.ts +6 -0
  633. package/dist/src/form-field/index.d.ts.map +1 -0
  634. package/dist/src/heading/HeadingElement.d.ts +176 -0
  635. package/dist/src/heading/HeadingElement.d.ts.map +1 -0
  636. package/dist/src/heading/HeadingLevel.d.ts +3 -0
  637. package/dist/src/heading/HeadingLevel.d.ts.map +1 -0
  638. package/dist/src/heading/HeadingSize.d.ts +3 -0
  639. package/dist/src/heading/HeadingSize.d.ts.map +1 -0
  640. package/dist/src/heading/HeadingVariant.d.ts +3 -0
  641. package/dist/src/heading/HeadingVariant.d.ts.map +1 -0
  642. package/dist/src/heading/index.d.ts +5 -0
  643. package/dist/src/heading/index.d.ts.map +1 -0
  644. package/dist/src/icon/IconElement.d.ts +83 -0
  645. package/dist/src/icon/IconElement.d.ts.map +1 -0
  646. package/dist/src/icon/IconGrade.d.ts +3 -0
  647. package/dist/src/icon/IconGrade.d.ts.map +1 -0
  648. package/dist/src/icon/IconVariant.d.ts +3 -0
  649. package/dist/src/icon/IconVariant.d.ts.map +1 -0
  650. package/dist/src/icon/index.d.ts +4 -0
  651. package/dist/src/icon/index.d.ts.map +1 -0
  652. package/dist/src/icon-button/IconButtonElement.d.ts +316 -0
  653. package/dist/src/icon-button/IconButtonElement.d.ts.map +1 -0
  654. package/dist/src/icon-button/IconButtonShape.d.ts +3 -0
  655. package/dist/src/icon-button/IconButtonShape.d.ts.map +1 -0
  656. package/dist/src/icon-button/IconButtonSize.d.ts +3 -0
  657. package/dist/src/icon-button/IconButtonSize.d.ts.map +1 -0
  658. package/dist/src/icon-button/IconButtonVariant.d.ts +3 -0
  659. package/dist/src/icon-button/IconButtonVariant.d.ts.map +1 -0
  660. package/dist/src/icon-button/IconButtonWidth.d.ts +3 -0
  661. package/dist/src/icon-button/IconButtonWidth.d.ts.map +1 -0
  662. package/dist/src/icon-button/index.d.ts +6 -0
  663. package/dist/src/icon-button/index.d.ts.map +1 -0
  664. package/dist/src/icon-button/styles/IconButtonSizeStyle.d.ts +7 -0
  665. package/dist/src/icon-button/styles/IconButtonSizeStyle.d.ts.map +1 -0
  666. package/dist/src/icon-button/styles/IconButtonSizeToken.d.ts +26 -0
  667. package/dist/src/icon-button/styles/IconButtonSizeToken.d.ts.map +1 -0
  668. package/dist/src/icon-button/styles/IconButtonStyle.d.ts +7 -0
  669. package/dist/src/icon-button/styles/IconButtonStyle.d.ts.map +1 -0
  670. package/dist/src/icon-button/styles/IconButtonVariantStyle.d.ts +7 -0
  671. package/dist/src/icon-button/styles/IconButtonVariantStyle.d.ts.map +1 -0
  672. package/dist/src/icon-button/styles/IconButtonVariantToken.d.ts +61 -0
  673. package/dist/src/icon-button/styles/IconButtonVariantToken.d.ts.map +1 -0
  674. package/dist/src/icon-button/styles/index.d.ts +4 -0
  675. package/dist/src/icon-button/styles/index.d.ts.map +1 -0
  676. package/dist/src/index.d.ts +1 -0
  677. package/dist/src/index.d.ts.map +1 -0
  678. package/dist/src/list/ActionListElement.d.ts +46 -0
  679. package/dist/src/list/ActionListElement.d.ts.map +1 -0
  680. package/dist/src/list/ExpandableListItemElement.d.ts +152 -0
  681. package/dist/src/list/ExpandableListItemElement.d.ts.map +1 -0
  682. package/dist/src/list/ListActionElement.d.ts +111 -0
  683. package/dist/src/list/ListActionElement.d.ts.map +1 -0
  684. package/dist/src/list/ListElement.d.ts +89 -0
  685. package/dist/src/list/ListElement.d.ts.map +1 -0
  686. package/dist/src/list/ListItemButtonElement.d.ts +25 -0
  687. package/dist/src/list/ListItemButtonElement.d.ts.map +1 -0
  688. package/dist/src/list/ListItemContentType.d.ts +3 -0
  689. package/dist/src/list/ListItemContentType.d.ts.map +1 -0
  690. package/dist/src/list/ListItemElement.d.ts +112 -0
  691. package/dist/src/list/ListItemElement.d.ts.map +1 -0
  692. package/dist/src/list/ListOptionElement.d.ts +127 -0
  693. package/dist/src/list/ListOptionElement.d.ts.map +1 -0
  694. package/dist/src/list/ListVariant.d.ts +3 -0
  695. package/dist/src/list/ListVariant.d.ts.map +1 -0
  696. package/dist/src/list/SelectionListElement.d.ts +77 -0
  697. package/dist/src/list/SelectionListElement.d.ts.map +1 -0
  698. package/dist/src/list/index.d.ts +11 -0
  699. package/dist/src/list/index.d.ts.map +1 -0
  700. package/dist/src/loading-indicator/LoadingIndicatorElement.d.ts +56 -0
  701. package/dist/src/loading-indicator/LoadingIndicatorElement.d.ts.map +1 -0
  702. package/dist/src/loading-indicator/LoadingIndicatorToken.d.ts +9 -0
  703. package/dist/src/loading-indicator/LoadingIndicatorToken.d.ts.map +1 -0
  704. package/dist/src/loading-indicator/LoadingIndicatorVariant.d.ts +3 -0
  705. package/dist/src/loading-indicator/LoadingIndicatorVariant.d.ts.map +1 -0
  706. package/dist/src/loading-indicator/ShapePolygon.d.ts +7 -0
  707. package/dist/src/loading-indicator/ShapePolygon.d.ts.map +1 -0
  708. package/dist/src/loading-indicator/index.d.ts +3 -0
  709. package/dist/src/loading-indicator/index.d.ts.map +1 -0
  710. package/dist/src/menu/MenuElement.d.ts +156 -0
  711. package/dist/src/menu/MenuElement.d.ts.map +1 -0
  712. package/dist/src/menu/MenuItemCheckboxElement.d.ts +94 -0
  713. package/dist/src/menu/MenuItemCheckboxElement.d.ts.map +1 -0
  714. package/dist/src/menu/MenuItemElement.d.ts +130 -0
  715. package/dist/src/menu/MenuItemElement.d.ts.map +1 -0
  716. package/dist/src/menu/MenuItemElementBase.d.ts +21 -0
  717. package/dist/src/menu/MenuItemElementBase.d.ts.map +1 -0
  718. package/dist/src/menu/MenuItemGroupElement.d.ts +27 -0
  719. package/dist/src/menu/MenuItemGroupElement.d.ts.map +1 -0
  720. package/dist/src/menu/MenuItemRadioElement.d.ts +95 -0
  721. package/dist/src/menu/MenuItemRadioElement.d.ts.map +1 -0
  722. package/dist/src/menu/MenuPosition.d.ts +5 -0
  723. package/dist/src/menu/MenuPosition.d.ts.map +1 -0
  724. package/dist/src/menu/MenuTriggerElement.d.ts +78 -0
  725. package/dist/src/menu/MenuTriggerElement.d.ts.map +1 -0
  726. package/dist/src/menu/MenuVariant.d.ts +3 -0
  727. package/dist/src/menu/MenuVariant.d.ts.map +1 -0
  728. package/dist/src/menu/index.d.ts +9 -0
  729. package/dist/src/menu/index.d.ts.map +1 -0
  730. package/dist/src/nav-bar/NavBarElement.d.ts +73 -0
  731. package/dist/src/nav-bar/NavBarElement.d.ts.map +1 -0
  732. package/dist/src/nav-bar/NavBarMode.d.ts +3 -0
  733. package/dist/src/nav-bar/NavBarMode.d.ts.map +1 -0
  734. package/dist/src/nav-bar/NavItemElement.d.ts +105 -0
  735. package/dist/src/nav-bar/NavItemElement.d.ts.map +1 -0
  736. package/dist/src/nav-bar/NavItemOrientation.d.ts +3 -0
  737. package/dist/src/nav-bar/NavItemOrientation.d.ts.map +1 -0
  738. package/dist/src/nav-bar/index.d.ts +5 -0
  739. package/dist/src/nav-bar/index.d.ts.map +1 -0
  740. package/dist/src/nav-menu/NavMenuElement.d.ts +113 -0
  741. package/dist/src/nav-menu/NavMenuElement.d.ts.map +1 -0
  742. package/dist/src/nav-menu/NavMenuItemElement.d.ts +189 -0
  743. package/dist/src/nav-menu/NavMenuItemElement.d.ts.map +1 -0
  744. package/dist/src/nav-menu/NavMenuItemGroupElement.d.ts +63 -0
  745. package/dist/src/nav-menu/NavMenuItemGroupElement.d.ts.map +1 -0
  746. package/dist/src/nav-menu/index.d.ts +4 -0
  747. package/dist/src/nav-menu/index.d.ts.map +1 -0
  748. package/dist/src/nav-rail/NavRailElement.d.ts +69 -0
  749. package/dist/src/nav-rail/NavRailElement.d.ts.map +1 -0
  750. package/dist/src/nav-rail/NavRailToggleElement.d.ts +46 -0
  751. package/dist/src/nav-rail/NavRailToggleElement.d.ts.map +1 -0
  752. package/dist/src/nav-rail/index.d.ts +3 -0
  753. package/dist/src/nav-rail/index.d.ts.map +1 -0
  754. package/dist/src/option/OptGroupElement.d.ts +42 -0
  755. package/dist/src/option/OptGroupElement.d.ts.map +1 -0
  756. package/dist/src/option/OptionElement.d.ts +79 -0
  757. package/dist/src/option/OptionElement.d.ts.map +1 -0
  758. package/dist/src/option/OptionPanelElement.d.ts +82 -0
  759. package/dist/src/option/OptionPanelElement.d.ts.map +1 -0
  760. package/dist/src/option/index.d.ts +4 -0
  761. package/dist/src/option/index.d.ts.map +1 -0
  762. package/dist/src/paginator/PageEventDetail.d.ts +12 -0
  763. package/dist/src/paginator/PageEventDetail.d.ts.map +1 -0
  764. package/dist/src/paginator/PaginatorElement.d.ts +170 -0
  765. package/dist/src/paginator/PaginatorElement.d.ts.map +1 -0
  766. package/dist/src/paginator/index.d.ts +3 -0
  767. package/dist/src/paginator/index.d.ts.map +1 -0
  768. package/dist/src/progress-indicator/CircularProgressIndicatorElement.d.ts +65 -0
  769. package/dist/src/progress-indicator/CircularProgressIndicatorElement.d.ts.map +1 -0
  770. package/dist/src/progress-indicator/LinearProgressIndicatorElement.d.ts +70 -0
  771. package/dist/src/progress-indicator/LinearProgressIndicatorElement.d.ts.map +1 -0
  772. package/dist/src/progress-indicator/LinearProgressMode.d.ts +3 -0
  773. package/dist/src/progress-indicator/LinearProgressMode.d.ts.map +1 -0
  774. package/dist/src/progress-indicator/ProgressElementIndicatorBase.d.ts +29 -0
  775. package/dist/src/progress-indicator/ProgressElementIndicatorBase.d.ts.map +1 -0
  776. package/dist/src/progress-indicator/ProgressIndicatorVariant.d.ts +3 -0
  777. package/dist/src/progress-indicator/ProgressIndicatorVariant.d.ts.map +1 -0
  778. package/dist/src/progress-indicator/index.d.ts +6 -0
  779. package/dist/src/progress-indicator/index.d.ts.map +1 -0
  780. package/dist/src/radio-group/RadioElement.d.ts +88 -0
  781. package/dist/src/radio-group/RadioElement.d.ts.map +1 -0
  782. package/dist/src/radio-group/RadioGroupElement.d.ts +77 -0
  783. package/dist/src/radio-group/RadioGroupElement.d.ts.map +1 -0
  784. package/dist/src/radio-group/index.d.ts +3 -0
  785. package/dist/src/radio-group/index.d.ts.map +1 -0
  786. package/dist/src/segmented-button/ButtonSegmentElement.d.ts +105 -0
  787. package/dist/src/segmented-button/ButtonSegmentElement.d.ts.map +1 -0
  788. package/dist/src/segmented-button/SegmentedButtonElement.d.ts +90 -0
  789. package/dist/src/segmented-button/SegmentedButtonElement.d.ts.map +1 -0
  790. package/dist/src/segmented-button/index.d.ts +3 -0
  791. package/dist/src/segmented-button/index.d.ts.map +1 -0
  792. package/dist/src/select/SelectElement.d.ts +119 -0
  793. package/dist/src/select/SelectElement.d.ts.map +1 -0
  794. package/dist/src/select/index.d.ts +2 -0
  795. package/dist/src/select/index.d.ts.map +1 -0
  796. package/dist/src/shape/ShapeElement.d.ts +48 -0
  797. package/dist/src/shape/ShapeElement.d.ts.map +1 -0
  798. package/dist/src/shape/ShapeName.d.ts +3 -0
  799. package/dist/src/shape/ShapeName.d.ts.map +1 -0
  800. package/dist/src/shape/ShapeNameStyle.d.ts +7 -0
  801. package/dist/src/shape/ShapeNameStyle.d.ts.map +1 -0
  802. package/dist/src/shape/ShapePolygon.d.ts +8 -0
  803. package/dist/src/shape/ShapePolygon.d.ts.map +1 -0
  804. package/dist/src/shape/ShapeStyle.d.ts +7 -0
  805. package/dist/src/shape/ShapeStyle.d.ts.map +1 -0
  806. package/dist/src/shape/ShapeToken.d.ts +13 -0
  807. package/dist/src/shape/ShapeToken.d.ts.map +1 -0
  808. package/dist/src/shape/index.d.ts +3 -0
  809. package/dist/src/shape/index.d.ts.map +1 -0
  810. package/dist/src/slide-group/SlideGroupElement.d.ts +91 -0
  811. package/dist/src/slide-group/SlideGroupElement.d.ts.map +1 -0
  812. package/dist/src/slide-group/index.d.ts +2 -0
  813. package/dist/src/slide-group/index.d.ts.map +1 -0
  814. package/dist/src/slider/SliderElement.d.ts +144 -0
  815. package/dist/src/slider/SliderElement.d.ts.map +1 -0
  816. package/dist/src/slider/SliderSize.d.ts +3 -0
  817. package/dist/src/slider/SliderSize.d.ts.map +1 -0
  818. package/dist/src/slider/SliderThumbElement.d.ts +80 -0
  819. package/dist/src/slider/SliderThumbElement.d.ts.map +1 -0
  820. package/dist/src/slider/index.d.ts +4 -0
  821. package/dist/src/slider/index.d.ts.map +1 -0
  822. package/dist/src/snackbar/Snackbar.d.ts +62 -0
  823. package/dist/src/snackbar/Snackbar.d.ts.map +1 -0
  824. package/dist/src/snackbar/SnackbarElement.d.ts +79 -0
  825. package/dist/src/snackbar/SnackbarElement.d.ts.map +1 -0
  826. package/dist/src/snackbar/index.d.ts +3 -0
  827. package/dist/src/snackbar/index.d.ts.map +1 -0
  828. package/dist/src/split-button/SplitButtonElement.d.ts +106 -0
  829. package/dist/src/split-button/SplitButtonElement.d.ts.map +1 -0
  830. package/dist/src/split-button/SplitButtonVariant.d.ts +3 -0
  831. package/dist/src/split-button/SplitButtonVariant.d.ts.map +1 -0
  832. package/dist/src/split-button/index.d.ts +3 -0
  833. package/dist/src/split-button/index.d.ts.map +1 -0
  834. package/dist/src/stepper/StepElement.d.ts +161 -0
  835. package/dist/src/stepper/StepElement.d.ts.map +1 -0
  836. package/dist/src/stepper/StepHeaderPosition.d.ts +3 -0
  837. package/dist/src/stepper/StepHeaderPosition.d.ts.map +1 -0
  838. package/dist/src/stepper/StepLabelPosition.d.ts +3 -0
  839. package/dist/src/stepper/StepLabelPosition.d.ts.map +1 -0
  840. package/dist/src/stepper/StepPanelElement.d.ts +76 -0
  841. package/dist/src/stepper/StepPanelElement.d.ts.map +1 -0
  842. package/dist/src/stepper/StepperButtonElementBase.d.ts +9 -0
  843. package/dist/src/stepper/StepperButtonElementBase.d.ts.map +1 -0
  844. package/dist/src/stepper/StepperElement.d.ts +139 -0
  845. package/dist/src/stepper/StepperElement.d.ts.map +1 -0
  846. package/dist/src/stepper/StepperNextElement.d.ts +16 -0
  847. package/dist/src/stepper/StepperNextElement.d.ts.map +1 -0
  848. package/dist/src/stepper/StepperOrientation.d.ts +3 -0
  849. package/dist/src/stepper/StepperOrientation.d.ts.map +1 -0
  850. package/dist/src/stepper/StepperPreviousElement.d.ts +16 -0
  851. package/dist/src/stepper/StepperPreviousElement.d.ts.map +1 -0
  852. package/dist/src/stepper/StepperResetElement.d.ts +16 -0
  853. package/dist/src/stepper/StepperResetElement.d.ts.map +1 -0
  854. package/dist/src/stepper/index.d.ts +11 -0
  855. package/dist/src/stepper/index.d.ts.map +1 -0
  856. package/dist/src/switch/SwitchElement.d.ts +147 -0
  857. package/dist/src/switch/SwitchElement.d.ts.map +1 -0
  858. package/dist/src/switch/SwitchIcons.d.ts +3 -0
  859. package/dist/src/switch/SwitchIcons.d.ts.map +1 -0
  860. package/dist/src/switch/index.d.ts +3 -0
  861. package/dist/src/switch/index.d.ts.map +1 -0
  862. package/dist/src/switch/styles/SwitchHandleStyle.d.ts +6 -0
  863. package/dist/src/switch/styles/SwitchHandleStyle.d.ts.map +1 -0
  864. package/dist/src/switch/styles/SwitchIconStyle.d.ts +6 -0
  865. package/dist/src/switch/styles/SwitchIconStyle.d.ts.map +1 -0
  866. package/dist/src/switch/styles/SwitchStateLayerStyle.d.ts +6 -0
  867. package/dist/src/switch/styles/SwitchStateLayerStyle.d.ts.map +1 -0
  868. package/dist/src/switch/styles/SwitchStyle.d.ts +6 -0
  869. package/dist/src/switch/styles/SwitchStyle.d.ts.map +1 -0
  870. package/dist/src/switch/styles/SwitchToken.d.ts +76 -0
  871. package/dist/src/switch/styles/SwitchToken.d.ts.map +1 -0
  872. package/dist/src/switch/styles/SwitchTrackStyle.d.ts +6 -0
  873. package/dist/src/switch/styles/SwitchTrackStyle.d.ts.map +1 -0
  874. package/dist/src/switch/styles/index.d.ts +6 -0
  875. package/dist/src/switch/styles/index.d.ts.map +1 -0
  876. package/dist/src/tabs/TabElement.d.ts +90 -0
  877. package/dist/src/tabs/TabElement.d.ts.map +1 -0
  878. package/dist/src/tabs/TabHeaderPosition.d.ts +3 -0
  879. package/dist/src/tabs/TabHeaderPosition.d.ts.map +1 -0
  880. package/dist/src/tabs/TabPanelElement.d.ts +45 -0
  881. package/dist/src/tabs/TabPanelElement.d.ts.map +1 -0
  882. package/dist/src/tabs/TabVariant.d.ts +3 -0
  883. package/dist/src/tabs/TabVariant.d.ts.map +1 -0
  884. package/dist/src/tabs/TabsElement.d.ts +118 -0
  885. package/dist/src/tabs/TabsElement.d.ts.map +1 -0
  886. package/dist/src/tabs/index.d.ts +6 -0
  887. package/dist/src/tabs/index.d.ts.map +1 -0
  888. package/dist/src/textarea-autosize/TextareaAutosizeElement.d.ts +81 -0
  889. package/dist/src/textarea-autosize/TextareaAutosizeElement.d.ts.map +1 -0
  890. package/dist/src/textarea-autosize/index.d.ts +2 -0
  891. package/dist/src/textarea-autosize/index.d.ts.map +1 -0
  892. package/dist/src/theme/ColorScheme.d.ts +3 -0
  893. package/dist/src/theme/ColorScheme.d.ts.map +1 -0
  894. package/dist/src/theme/ContrastLevel.d.ts +3 -0
  895. package/dist/src/theme/ContrastLevel.d.ts.map +1 -0
  896. package/dist/src/theme/MotionScheme.d.ts +3 -0
  897. package/dist/src/theme/MotionScheme.d.ts.map +1 -0
  898. package/dist/src/theme/ThemeElement.d.ts +91 -0
  899. package/dist/src/theme/ThemeElement.d.ts.map +1 -0
  900. package/dist/src/theme/index.d.ts +5 -0
  901. package/dist/src/theme/index.d.ts.map +1 -0
  902. package/dist/src/toc/TocElement.d.ts +86 -0
  903. package/dist/src/toc/TocElement.d.ts.map +1 -0
  904. package/dist/src/toc/TocGenerator.d.ts +25 -0
  905. package/dist/src/toc/TocGenerator.d.ts.map +1 -0
  906. package/dist/src/toc/TocItemElement.d.ts +49 -0
  907. package/dist/src/toc/TocItemElement.d.ts.map +1 -0
  908. package/dist/src/toc/index.d.ts +4 -0
  909. package/dist/src/toc/index.d.ts.map +1 -0
  910. package/dist/src/toolbar/ToolbarElement.d.ts +89 -0
  911. package/dist/src/toolbar/ToolbarElement.d.ts.map +1 -0
  912. package/dist/src/toolbar/ToolbarShape.d.ts +3 -0
  913. package/dist/src/toolbar/ToolbarShape.d.ts.map +1 -0
  914. package/dist/src/toolbar/ToolbarVariant.d.ts +3 -0
  915. package/dist/src/toolbar/ToolbarVariant.d.ts.map +1 -0
  916. package/dist/src/toolbar/index.d.ts +4 -0
  917. package/dist/src/toolbar/index.d.ts.map +1 -0
  918. package/dist/src/tooltip/RichTooltipActionElement.d.ts +21 -0
  919. package/dist/src/tooltip/RichTooltipActionElement.d.ts.map +1 -0
  920. package/dist/src/tooltip/RichTooltipElement.d.ts +116 -0
  921. package/dist/src/tooltip/RichTooltipElement.d.ts.map +1 -0
  922. package/dist/src/tooltip/RichTooltipPosition.d.ts +3 -0
  923. package/dist/src/tooltip/RichTooltipPosition.d.ts.map +1 -0
  924. package/dist/src/tooltip/TooltipElement.d.ts +73 -0
  925. package/dist/src/tooltip/TooltipElement.d.ts.map +1 -0
  926. package/dist/src/tooltip/TooltipElementBase.d.ts +69 -0
  927. package/dist/src/tooltip/TooltipElementBase.d.ts.map +1 -0
  928. package/dist/src/tooltip/TooltipPosition.d.ts +3 -0
  929. package/dist/src/tooltip/TooltipPosition.d.ts.map +1 -0
  930. package/dist/src/tooltip/TooltipTouchGestures.d.ts +3 -0
  931. package/dist/src/tooltip/TooltipTouchGestures.d.ts.map +1 -0
  932. package/dist/src/tooltip/index.d.ts +8 -0
  933. package/dist/src/tooltip/index.d.ts.map +1 -0
  934. package/dist/stepper.js +1498 -0
  935. package/dist/stepper.js.map +1 -0
  936. package/dist/stepper.min.js +57 -0
  937. package/dist/stepper.min.js.map +1 -0
  938. package/dist/switch.js +758 -0
  939. package/dist/switch.js.map +1 -0
  940. package/dist/switch.min.js +40 -0
  941. package/dist/switch.min.js.map +1 -0
  942. package/dist/tabs.js +1173 -0
  943. package/dist/tabs.js.map +1 -0
  944. package/dist/tabs.min.js +51 -0
  945. package/dist/tabs.min.js.map +1 -0
  946. package/dist/textarea-autosize.js +688 -0
  947. package/dist/textarea-autosize.js.map +1 -0
  948. package/dist/textarea-autosize.min.js +37 -0
  949. package/dist/textarea-autosize.min.js.map +1 -0
  950. package/dist/theme.js +3712 -0
  951. package/dist/theme.js.map +1 -0
  952. package/dist/theme.min.js +339 -0
  953. package/dist/theme.min.js.map +1 -0
  954. package/dist/toc.js +795 -0
  955. package/dist/toc.js.map +1 -0
  956. package/dist/toc.min.js +45 -0
  957. package/dist/toc.min.js.map +1 -0
  958. package/dist/toolbar.js +557 -0
  959. package/dist/toolbar.js.map +1 -0
  960. package/dist/toolbar.min.js +29 -0
  961. package/dist/toolbar.min.js.map +1 -0
  962. package/dist/tooltip.js +1378 -0
  963. package/dist/tooltip.js.map +1 -0
  964. package/dist/tooltip.min.js +57 -0
  965. package/dist/tooltip.min.js.map +1 -0
  966. package/package.json +287 -0
package/dist/list.js ADDED
@@ -0,0 +1,1840 @@
1
+ /**
2
+ * @license MIT
3
+ * Copyright (c) 2025 matraic
4
+ * See LICENSE file in the project root for full license text.
5
+ */
6
+ import { selectionManager, RovingTabIndexManager, SelectionManager } from '@m3e/web/core/a11y';
7
+ import { LitElement, html, unsafeCSS, css } from 'lit';
8
+ import { Role, ResizeController, DesignToken, computeLineCount, LinkButton, KeyboardClick, Focusable, Disabled, AttachInternals, renderPseudoLink, Selected, getTextContent, Labelled, Dirty, Touched, FormAssociated, formValue } from '@m3e/web/core';
9
+
10
+ /******************************************************************************
11
+ Copyright (c) Microsoft Corporation.
12
+
13
+ Permission to use, copy, modify, and/or distribute this software for any
14
+ purpose with or without fee is hereby granted.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
17
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
18
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
19
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
20
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
21
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
22
+ PERFORMANCE OF THIS SOFTWARE.
23
+ ***************************************************************************** */
24
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
25
+
26
+ function __decorate(decorators, target, key, desc) {
27
+ var c = arguments.length,
28
+ r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
29
+ d;
30
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
31
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
32
+ }
33
+ function __classPrivateFieldGet(receiver, state, kind, f) {
34
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
35
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
36
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
37
+ }
38
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
39
+ if (kind === "m") throw new TypeError("Private method is not writable");
40
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
41
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
42
+ return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
43
+ }
44
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
45
+ var e = new Error(message);
46
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
47
+ };
48
+
49
+ /**
50
+ * @license
51
+ * Copyright 2017 Google LLC
52
+ * SPDX-License-Identifier: BSD-3-Clause
53
+ */
54
+ const t$2 = t => (e, o) => {
55
+ void 0 !== o ? o.addInitializer(() => {
56
+ customElements.define(t, e);
57
+ }) : customElements.define(t, e);
58
+ };
59
+
60
+ /**
61
+ * @license
62
+ * Copyright 2019 Google LLC
63
+ * SPDX-License-Identifier: BSD-3-Clause
64
+ */
65
+ const t$1 = globalThis,
66
+ e$4 = t$1.ShadowRoot && (void 0 === t$1.ShadyCSS || t$1.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype,
67
+ s$1 = Symbol(),
68
+ o$4 = new WeakMap();
69
+ let n$3 = class n {
70
+ constructor(t, e, o) {
71
+ if (this._$cssResult$ = true, o !== s$1) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
72
+ this.cssText = t, this.t = e;
73
+ }
74
+ get styleSheet() {
75
+ let t = this.o;
76
+ const s = this.t;
77
+ if (e$4 && void 0 === t) {
78
+ const e = void 0 !== s && 1 === s.length;
79
+ e && (t = o$4.get(s)), void 0 === t && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), e && o$4.set(s, t));
80
+ }
81
+ return t;
82
+ }
83
+ toString() {
84
+ return this.cssText;
85
+ }
86
+ };
87
+ const r$3 = t => new n$3("string" == typeof t ? t : t + "", void 0, s$1),
88
+ S$1 = (s, o) => {
89
+ if (e$4) s.adoptedStyleSheets = o.map(t => t instanceof CSSStyleSheet ? t : t.styleSheet);else for (const e of o) {
90
+ const o = document.createElement("style"),
91
+ n = t$1.litNonce;
92
+ void 0 !== n && o.setAttribute("nonce", n), o.textContent = e.cssText, s.appendChild(o);
93
+ }
94
+ },
95
+ c$2 = e$4 ? t => t : t => t instanceof CSSStyleSheet ? (t => {
96
+ let e = "";
97
+ for (const s of t.cssRules) e += s.cssText;
98
+ return r$3(e);
99
+ })(t) : t;
100
+
101
+ /**
102
+ * @license
103
+ * Copyright 2017 Google LLC
104
+ * SPDX-License-Identifier: BSD-3-Clause
105
+ */
106
+ const {
107
+ is: i$1,
108
+ defineProperty: e$3,
109
+ getOwnPropertyDescriptor: h$1,
110
+ getOwnPropertyNames: r$2,
111
+ getOwnPropertySymbols: o$3,
112
+ getPrototypeOf: n$2
113
+ } = Object,
114
+ a$1 = globalThis,
115
+ c$1 = a$1.trustedTypes,
116
+ l$1 = c$1 ? c$1.emptyScript : "",
117
+ p$1 = a$1.reactiveElementPolyfillSupport,
118
+ d$1 = (t, s) => t,
119
+ u$1 = {
120
+ toAttribute(t, s) {
121
+ switch (s) {
122
+ case Boolean:
123
+ t = t ? l$1 : null;
124
+ break;
125
+ case Object:
126
+ case Array:
127
+ t = null == t ? t : JSON.stringify(t);
128
+ }
129
+ return t;
130
+ },
131
+ fromAttribute(t, s) {
132
+ let i = t;
133
+ switch (s) {
134
+ case Boolean:
135
+ i = null !== t;
136
+ break;
137
+ case Number:
138
+ i = null === t ? null : Number(t);
139
+ break;
140
+ case Object:
141
+ case Array:
142
+ try {
143
+ i = JSON.parse(t);
144
+ } catch (t) {
145
+ i = null;
146
+ }
147
+ }
148
+ return i;
149
+ }
150
+ },
151
+ f$1 = (t, s) => !i$1(t, s),
152
+ b = {
153
+ attribute: true,
154
+ type: String,
155
+ converter: u$1,
156
+ reflect: false,
157
+ useDefault: false,
158
+ hasChanged: f$1
159
+ };
160
+ Symbol.metadata ??= Symbol("metadata"), a$1.litPropertyMetadata ??= new WeakMap();
161
+ class y extends HTMLElement {
162
+ static addInitializer(t) {
163
+ this._$Ei(), (this.l ??= []).push(t);
164
+ }
165
+ static get observedAttributes() {
166
+ return this.finalize(), this._$Eh && [...this._$Eh.keys()];
167
+ }
168
+ static createProperty(t, s = b) {
169
+ if (s.state && (s.attribute = false), this._$Ei(), this.prototype.hasOwnProperty(t) && ((s = Object.create(s)).wrapped = true), this.elementProperties.set(t, s), !s.noAccessor) {
170
+ const i = Symbol(),
171
+ h = this.getPropertyDescriptor(t, i, s);
172
+ void 0 !== h && e$3(this.prototype, t, h);
173
+ }
174
+ }
175
+ static getPropertyDescriptor(t, s, i) {
176
+ const {
177
+ get: e,
178
+ set: r
179
+ } = h$1(this.prototype, t) ?? {
180
+ get() {
181
+ return this[s];
182
+ },
183
+ set(t) {
184
+ this[s] = t;
185
+ }
186
+ };
187
+ return {
188
+ get: e,
189
+ set(s) {
190
+ const h = e?.call(this);
191
+ r?.call(this, s), this.requestUpdate(t, h, i);
192
+ },
193
+ configurable: true,
194
+ enumerable: true
195
+ };
196
+ }
197
+ static getPropertyOptions(t) {
198
+ return this.elementProperties.get(t) ?? b;
199
+ }
200
+ static _$Ei() {
201
+ if (this.hasOwnProperty(d$1("elementProperties"))) return;
202
+ const t = n$2(this);
203
+ t.finalize(), void 0 !== t.l && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties);
204
+ }
205
+ static finalize() {
206
+ if (this.hasOwnProperty(d$1("finalized"))) return;
207
+ if (this.finalized = true, this._$Ei(), this.hasOwnProperty(d$1("properties"))) {
208
+ const t = this.properties,
209
+ s = [...r$2(t), ...o$3(t)];
210
+ for (const i of s) this.createProperty(i, t[i]);
211
+ }
212
+ const t = this[Symbol.metadata];
213
+ if (null !== t) {
214
+ const s = litPropertyMetadata.get(t);
215
+ if (void 0 !== s) for (const [t, i] of s) this.elementProperties.set(t, i);
216
+ }
217
+ this._$Eh = new Map();
218
+ for (const [t, s] of this.elementProperties) {
219
+ const i = this._$Eu(t, s);
220
+ void 0 !== i && this._$Eh.set(i, t);
221
+ }
222
+ this.elementStyles = this.finalizeStyles(this.styles);
223
+ }
224
+ static finalizeStyles(s) {
225
+ const i = [];
226
+ if (Array.isArray(s)) {
227
+ const e = new Set(s.flat(1 / 0).reverse());
228
+ for (const s of e) i.unshift(c$2(s));
229
+ } else void 0 !== s && i.push(c$2(s));
230
+ return i;
231
+ }
232
+ static _$Eu(t, s) {
233
+ const i = s.attribute;
234
+ return false === i ? void 0 : "string" == typeof i ? i : "string" == typeof t ? t.toLowerCase() : void 0;
235
+ }
236
+ constructor() {
237
+ super(), this._$Ep = void 0, this.isUpdatePending = false, this.hasUpdated = false, this._$Em = null, this._$Ev();
238
+ }
239
+ _$Ev() {
240
+ this._$ES = new Promise(t => this.enableUpdating = t), this._$AL = new Map(), this._$E_(), this.requestUpdate(), this.constructor.l?.forEach(t => t(this));
241
+ }
242
+ addController(t) {
243
+ (this._$EO ??= new Set()).add(t), void 0 !== this.renderRoot && this.isConnected && t.hostConnected?.();
244
+ }
245
+ removeController(t) {
246
+ this._$EO?.delete(t);
247
+ }
248
+ _$E_() {
249
+ const t = new Map(),
250
+ s = this.constructor.elementProperties;
251
+ for (const i of s.keys()) this.hasOwnProperty(i) && (t.set(i, this[i]), delete this[i]);
252
+ t.size > 0 && (this._$Ep = t);
253
+ }
254
+ createRenderRoot() {
255
+ const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
256
+ return S$1(t, this.constructor.elementStyles), t;
257
+ }
258
+ connectedCallback() {
259
+ this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(true), this._$EO?.forEach(t => t.hostConnected?.());
260
+ }
261
+ enableUpdating(t) {}
262
+ disconnectedCallback() {
263
+ this._$EO?.forEach(t => t.hostDisconnected?.());
264
+ }
265
+ attributeChangedCallback(t, s, i) {
266
+ this._$AK(t, i);
267
+ }
268
+ _$ET(t, s) {
269
+ const i = this.constructor.elementProperties.get(t),
270
+ e = this.constructor._$Eu(t, i);
271
+ if (void 0 !== e && true === i.reflect) {
272
+ const h = (void 0 !== i.converter?.toAttribute ? i.converter : u$1).toAttribute(s, i.type);
273
+ this._$Em = t, null == h ? this.removeAttribute(e) : this.setAttribute(e, h), this._$Em = null;
274
+ }
275
+ }
276
+ _$AK(t, s) {
277
+ const i = this.constructor,
278
+ e = i._$Eh.get(t);
279
+ if (void 0 !== e && this._$Em !== e) {
280
+ const t = i.getPropertyOptions(e),
281
+ h = "function" == typeof t.converter ? {
282
+ fromAttribute: t.converter
283
+ } : void 0 !== t.converter?.fromAttribute ? t.converter : u$1;
284
+ this._$Em = e;
285
+ const r = h.fromAttribute(s, t.type);
286
+ this[e] = r ?? this._$Ej?.get(e) ?? r, this._$Em = null;
287
+ }
288
+ }
289
+ requestUpdate(t, s, i) {
290
+ if (void 0 !== t) {
291
+ const e = this.constructor,
292
+ h = this[t];
293
+ if (i ??= e.getPropertyOptions(t), !((i.hasChanged ?? f$1)(h, s) || i.useDefault && i.reflect && h === this._$Ej?.get(t) && !this.hasAttribute(e._$Eu(t, i)))) return;
294
+ this.C(t, s, i);
295
+ }
296
+ false === this.isUpdatePending && (this._$ES = this._$EP());
297
+ }
298
+ C(t, s, {
299
+ useDefault: i,
300
+ reflect: e,
301
+ wrapped: h
302
+ }, r) {
303
+ i && !(this._$Ej ??= new Map()).has(t) && (this._$Ej.set(t, r ?? s ?? this[t]), true !== h || void 0 !== r) || (this._$AL.has(t) || (this.hasUpdated || i || (s = void 0), this._$AL.set(t, s)), true === e && this._$Em !== t && (this._$Eq ??= new Set()).add(t));
304
+ }
305
+ async _$EP() {
306
+ this.isUpdatePending = true;
307
+ try {
308
+ await this._$ES;
309
+ } catch (t) {
310
+ Promise.reject(t);
311
+ }
312
+ const t = this.scheduleUpdate();
313
+ return null != t && (await t), !this.isUpdatePending;
314
+ }
315
+ scheduleUpdate() {
316
+ return this.performUpdate();
317
+ }
318
+ performUpdate() {
319
+ if (!this.isUpdatePending) return;
320
+ if (!this.hasUpdated) {
321
+ if (this.renderRoot ??= this.createRenderRoot(), this._$Ep) {
322
+ for (const [t, s] of this._$Ep) this[t] = s;
323
+ this._$Ep = void 0;
324
+ }
325
+ const t = this.constructor.elementProperties;
326
+ if (t.size > 0) for (const [s, i] of t) {
327
+ const {
328
+ wrapped: t
329
+ } = i,
330
+ e = this[s];
331
+ true !== t || this._$AL.has(s) || void 0 === e || this.C(s, void 0, i, e);
332
+ }
333
+ }
334
+ let t = false;
335
+ const s = this._$AL;
336
+ try {
337
+ t = this.shouldUpdate(s), t ? (this.willUpdate(s), this._$EO?.forEach(t => t.hostUpdate?.()), this.update(s)) : this._$EM();
338
+ } catch (s) {
339
+ throw t = false, this._$EM(), s;
340
+ }
341
+ t && this._$AE(s);
342
+ }
343
+ willUpdate(t) {}
344
+ _$AE(t) {
345
+ this._$EO?.forEach(t => t.hostUpdated?.()), this.hasUpdated || (this.hasUpdated = true, this.firstUpdated(t)), this.updated(t);
346
+ }
347
+ _$EM() {
348
+ this._$AL = new Map(), this.isUpdatePending = false;
349
+ }
350
+ get updateComplete() {
351
+ return this.getUpdateComplete();
352
+ }
353
+ getUpdateComplete() {
354
+ return this._$ES;
355
+ }
356
+ shouldUpdate(t) {
357
+ return true;
358
+ }
359
+ update(t) {
360
+ this._$Eq &&= this._$Eq.forEach(t => this._$ET(t, this[t])), this._$EM();
361
+ }
362
+ updated(t) {}
363
+ firstUpdated(t) {}
364
+ }
365
+ y.elementStyles = [], y.shadowRootOptions = {
366
+ mode: "open"
367
+ }, y[d$1("elementProperties")] = new Map(), y[d$1("finalized")] = new Map(), p$1?.({
368
+ ReactiveElement: y
369
+ }), (a$1.reactiveElementVersions ??= []).push("2.1.1");
370
+
371
+ /**
372
+ * @license
373
+ * Copyright 2017 Google LLC
374
+ * SPDX-License-Identifier: BSD-3-Clause
375
+ */
376
+ const o$2 = {
377
+ attribute: true,
378
+ type: String,
379
+ converter: u$1,
380
+ reflect: false,
381
+ hasChanged: f$1
382
+ },
383
+ r$1 = (t = o$2, e, r) => {
384
+ const {
385
+ kind: n,
386
+ metadata: i
387
+ } = r;
388
+ let s = globalThis.litPropertyMetadata.get(i);
389
+ if (void 0 === s && globalThis.litPropertyMetadata.set(i, s = new Map()), "setter" === n && ((t = Object.create(t)).wrapped = true), s.set(r.name, t), "accessor" === n) {
390
+ const {
391
+ name: o
392
+ } = r;
393
+ return {
394
+ set(r) {
395
+ const n = e.get.call(this);
396
+ e.set.call(this, r), this.requestUpdate(o, n, t);
397
+ },
398
+ init(e) {
399
+ return void 0 !== e && this.C(o, void 0, t, e), e;
400
+ }
401
+ };
402
+ }
403
+ if ("setter" === n) {
404
+ const {
405
+ name: o
406
+ } = r;
407
+ return function (r) {
408
+ const n = this[o];
409
+ e.call(this, r), this.requestUpdate(o, n, t);
410
+ };
411
+ }
412
+ throw Error("Unsupported decorator location: " + n);
413
+ };
414
+ function n$1(t) {
415
+ return (e, o) => "object" == typeof o ? r$1(t, e, o) : ((t, e, o) => {
416
+ const r = e.hasOwnProperty(o);
417
+ return e.constructor.createProperty(o, t), r ? Object.getOwnPropertyDescriptor(e, o) : void 0;
418
+ })(t, e, o);
419
+ }
420
+
421
+ /**
422
+ * @license
423
+ * Copyright 2017 Google LLC
424
+ * SPDX-License-Identifier: BSD-3-Clause
425
+ */
426
+ const e$2 = (e, t, c) => (c.configurable = true, c.enumerable = true, Reflect.decorate && "object" != typeof t && Object.defineProperty(e, t, c), c);
427
+
428
+ /**
429
+ * @license
430
+ * Copyright 2017 Google LLC
431
+ * SPDX-License-Identifier: BSD-3-Clause
432
+ */
433
+ function e$1(e, r) {
434
+ return (n, s, i) => {
435
+ const o = t => t.renderRoot?.querySelector(e) ?? null;
436
+ return e$2(n, s, {
437
+ get() {
438
+ return o(this);
439
+ }
440
+ });
441
+ };
442
+ }
443
+
444
+ var _M3eListItemElement_instances, _M3eListItemElement_resizeController, _M3eListItemElement_leadingContentType, _M3eListItemElement_trailingContentType, _M3eListItemElement_updateMultiline, _M3eListItemElement_getSlotContentType;
445
+ /**
446
+ * An item in a list.
447
+ *
448
+ * @description
449
+ * The `m3e-list-item` component represents a single item within a list. It supports rich
450
+ * content, leading/trailing media, overline, supporting text, and trailing supporting text
451
+ * via named slots. The component is highly customizable through CSS custom properties and
452
+ * is designed for accessibility and flexible layout.
453
+ *
454
+ * @example
455
+ * The following example illustrates a list with a single item using all supported slots.
456
+ *
457
+ * Note: This example uses the `@m3e/icon` package to present Material Design symbols, but any icon package can be
458
+ * substituted depending on your design system or preferences
459
+ *
460
+ * ```html
461
+ * <m3e-list>
462
+ * <m3e-list-item>
463
+ * <m3e-icon slot="leading" name="person"></m3e-icon>
464
+ * <span slot="overline">Overline</span>
465
+ * Headline
466
+ * <span slot="supporting-text">Supporting text</span>
467
+ * <m3e-icon slot="trailing" name="arrow_right"></m3e-icon>
468
+ * </m3e-list-item>
469
+ * </m3e-list>
470
+ * ```
471
+ *
472
+ * @tag m3e-list-item
473
+ *
474
+ * @slot - Renders the content of the list item.
475
+ * @slot leading - Renders the leading content of the list item.
476
+ * @slot overline - Renders the overline of the list item.
477
+ * @slot supporting-text - Renders the supporting text of the list item.
478
+ * @slot trailing - Renders the trailing content of the list item.
479
+ *
480
+ * @cssprop --m3e-list-item-between-space - Horizontal gap between elements.
481
+ * @cssprop --m3e-list-item-leading-space - Horizontal padding for the leading side.
482
+ * @cssprop --m3e-list-item-trailing-space - Horizontal padding for the trailing side.
483
+ * @cssprop --m3e-list-item-padding-inline - Horizontal padding for the list item.
484
+ * @cssprop --m3e-list-item-padding-block - Vertical padding for the list item.
485
+ * @cssprop --m3e-list-item-one-line-top-space - Top padding for one-line items.
486
+ * @cssprop --m3e-list-item-one-line-bottom-space - Bottom padding for one-line items.
487
+ * @cssprop --m3e-list-item-two-line-top-space - Top padding for two-line items.
488
+ * @cssprop --m3e-list-item-two-line-bottom-space - Bottom padding for two-line items.
489
+ * @cssprop --m3e-list-item-three-line-top-space - Top padding for three-line items.
490
+ * @cssprop --m3e-list-item-three-line-bottom-space - Bottom padding for three-line items.
491
+ * @cssprop --m3e-list-item-font-size - Font size for main content.
492
+ * @cssprop --m3e-list-item-font-weight - Font weight for main content.
493
+ * @cssprop --m3e-list-item-line-height - Line height for main content.
494
+ * @cssprop --m3e-list-item-tracking - Letter spacing for main content.
495
+ * @cssprop --m3e-list-item-overline-font-size - Font size for overline slot.
496
+ * @cssprop --m3e-list-item-overline-font-weight - Font weight for overline slot.
497
+ * @cssprop --m3e-list-item-overline-line-height - Line height for overline slot.
498
+ * @cssprop --m3e-list-item-overline-tracking - Letter spacing for overline slot.
499
+ * @cssprop --m3e-list-item-supporting-text-font-size - Font size for supporting text slot.
500
+ * @cssprop --m3e-list-item-supporting-text-font-weight - Font weight for supporting text slot.
501
+ * @cssprop --m3e-list-item-supporting-text-line-height - Line height for supporting text slot.
502
+ * @cssprop --m3e-list-item-supporting-text-tracking - Letter spacing for supporting text slot.
503
+ * @cssprop --m3e-list-item-trailing-text-font-size - Font size for trailing supporting text slot.
504
+ * @cssprop --m3e-list-item-trailing-text-font-weight - Font weight for trailing supporting text slot.
505
+ * @cssprop --m3e-list-item-trailing-text-line-height - Line height for trailing supporting text slot.
506
+ * @cssprop --m3e-list-item-trailing-text-tracking - Letter spacing for trailing supporting text slot.
507
+ * @cssprop --m3e-list-item-icon-size - Size for leading/trailing icons.
508
+ * @cssprop --m3e-list-item-label-text-color - Color for the main content.
509
+ * @cssprop --m3e-list-item-overline-color - Color for the overline slot.
510
+ * @cssprop --m3e-list-item-supporting-text-color - Color for the supporting text slot.
511
+ * @cssprop --m3e-list-item-leading-color - Color for the leading content.
512
+ * @cssprop --m3e-list-item-trailing-color - Color for the trailing content.
513
+ * @cssprop --m3e-list-item-container-color - Background color of the list item.
514
+ * @cssprop --m3e-list-item-container-shape - Border radius of the list item.
515
+ * @cssprop --m3e-list-item-hover-container-shape - Border radius of the list item on hover.
516
+ * @cssprop --m3e-list-item-focus-container-shape - Border radius of the list item on focus.
517
+ * @cssprop --m3e-list-item-video-width - Width of the video slot.
518
+ * @cssprop --m3e-list-item-video-height - Height of the video slot.
519
+ * @cssprop --m3e-list-item-video-shape - Border radius of the video slot.
520
+ * @cssprop --m3e-list-item-image-width - Width of the image slot.
521
+ * @cssprop --m3e-list-item-image-height - Height of the image slot.
522
+ * @cssprop --m3e-list-item-image-shape - Border radius of the image slot.
523
+ * @cssprop --m3e-list-item-three-line-top-offset - Top offset for media in three line items.
524
+ * @cssprop --m3e-list-item-one-line-height - Minimum height of a one line list item.
525
+ * @cssprop --m3e-list-item-two-line-height - Minimum height of a two line list item.
526
+ * @cssprop --m3e-list-item-three-line-height - Minimum height of a three line list item.
527
+ */
528
+ let M3eListItemElement = class M3eListItemElement extends Role(LitElement, "listitem") {
529
+ constructor() {
530
+ super(...arguments);
531
+ _M3eListItemElement_instances.add(this);
532
+ /** @private */
533
+ _M3eListItemElement_resizeController.set(this, new ResizeController(this, {
534
+ target: null,
535
+ callback: () => __classPrivateFieldGet(this, _M3eListItemElement_instances, "m", _M3eListItemElement_updateMultiline).call(this)
536
+ }));
537
+ /** @private */
538
+ _M3eListItemElement_leadingContentType.set(this, void 0);
539
+ /** @private */
540
+ _M3eListItemElement_trailingContentType.set(this, void 0);
541
+ }
542
+ /** The type of leading content. */
543
+ get leadingContentType() {
544
+ return __classPrivateFieldGet(this, _M3eListItemElement_leadingContentType, "f");
545
+ }
546
+ /** The type of trailing content. */
547
+ get trailingContentType() {
548
+ return __classPrivateFieldGet(this, _M3eListItemElement_trailingContentType, "f");
549
+ }
550
+ /** @inheritdoc */
551
+ firstUpdated(_changedProperties) {
552
+ super.firstUpdated(_changedProperties);
553
+ const content = this.shadowRoot?.querySelector(".content");
554
+ if (content) {
555
+ __classPrivateFieldGet(this, _M3eListItemElement_resizeController, "f").observe(content);
556
+ }
557
+ }
558
+ /** @inheritdoc */
559
+ render() {
560
+ return html`<div class="base">${this._renderBase()}</div>`;
561
+ }
562
+ /** @internal */
563
+ _renderBase() {
564
+ return html`<slot name="leading" @slotchange="${this._handleLeadingSlotChange}"><slot name="leading-icon" @slotchange="${this._handleLeadingSlotChange}"></slot></slot><div class="content"><slot name="overline"></slot><slot></slot><slot name="supporting-text"></slot></div><slot name="trailing" @slotchange="${this._handleTrailingSlotChange}"><slot name="trailing-supporting-text" @slotchange="${this._handleTrailingSlotChange}"></slot><slot name="trailing-icon" @slotchange="${this._handleTrailingSlotChange}"></slot></slot>`;
565
+ }
566
+ /** @internal */
567
+ _handleLeadingSlotChange(e) {
568
+ const contentType = __classPrivateFieldGet(this, _M3eListItemElement_leadingContentType, "f");
569
+ __classPrivateFieldSet(this, _M3eListItemElement_leadingContentType, __classPrivateFieldGet(this, _M3eListItemElement_instances, "m", _M3eListItemElement_getSlotContentType).call(this, e.target), "f");
570
+ this.classList.toggle("-has-leading", __classPrivateFieldGet(this, _M3eListItemElement_leadingContentType, "f") !== undefined);
571
+ if (contentType !== __classPrivateFieldGet(this, _M3eListItemElement_leadingContentType, "f")) {
572
+ this.closest("m3e-list,m3e-action-list,m3e-selection-list")?.notifyLeadingContentTypeChange(contentType, __classPrivateFieldGet(this, _M3eListItemElement_leadingContentType, "f"));
573
+ }
574
+ }
575
+ /** @internal */
576
+ _handleTrailingSlotChange(e) {
577
+ const contentType = __classPrivateFieldGet(this, _M3eListItemElement_trailingContentType, "f");
578
+ __classPrivateFieldSet(this, _M3eListItemElement_trailingContentType, __classPrivateFieldGet(this, _M3eListItemElement_instances, "m", _M3eListItemElement_getSlotContentType).call(this, e.target), "f");
579
+ this.classList.toggle("-has-trailing", __classPrivateFieldGet(this, _M3eListItemElement_trailingContentType, "f") !== undefined);
580
+ if (contentType !== __classPrivateFieldGet(this, _M3eListItemElement_trailingContentType, "f")) {
581
+ this.closest("m3e-list,m3e-action-list,m3e-selection-list")?.notifyTrailingContentTypeChange(contentType, __classPrivateFieldGet(this, _M3eListItemElement_trailingContentType, "f"));
582
+ }
583
+ }
584
+ };
585
+ _M3eListItemElement_resizeController = new WeakMap();
586
+ _M3eListItemElement_leadingContentType = new WeakMap();
587
+ _M3eListItemElement_trailingContentType = new WeakMap();
588
+ _M3eListItemElement_instances = new WeakSet();
589
+ _M3eListItemElement_updateMultiline = function _M3eListItemElement_updateMultiline() {
590
+ const content = this.shadowRoot?.querySelector(".content") ?? null;
591
+ const lines = content === null ? 0 : computeLineCount(content);
592
+ this.classList.toggle("-one-line", lines <= 1);
593
+ this.classList.toggle("-two-line", lines == 2);
594
+ this.classList.toggle("-three-line", lines > 2);
595
+ };
596
+ _M3eListItemElement_getSlotContentType = function _M3eListItemElement_getSlotContentType(slot) {
597
+ const elements = slot.assignedElements({
598
+ flatten: true
599
+ });
600
+ if (elements.some(x => x.tagName === "VIDEO")) return "video";
601
+ if (elements.some(x => x.tagName === "IMG")) return "image";
602
+ if (elements.some(x => x.tagName === "M3E-AVATAR")) return "avatar";
603
+ if (elements.some(x => x.tagName === "M3E-ICON")) return "icon";
604
+ return elements.length > 0 ? "text" : undefined;
605
+ };
606
+ /** The styles of the element. */
607
+ 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.shape.corner.none}) ); border-top-right-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-container-shape, ${DesignToken.shape.corner.none}) ); border-bottom-left-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-container-shape, ${DesignToken.shape.corner.none}) ); border-bottom-right-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-container-shape, ${DesignToken.shape.corner.none}) ); transition: ${unsafeCSS(`border-radius ${DesignToken.motion.spring.fastEffects}, background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard}`)}; } :host(.-one-line) { min-height: calc(var(--m3e-list-item-one-line-height, 3.5rem) + ${DesignToken.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.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.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)):focus-visible) .base { border-top-left-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken.shape.corner.large}) ); border-top-right-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken.shape.corner.large}) ); border-bottom-left-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken.shape.corner.large}) ); border-bottom-right-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-focus-container-shape, ${DesignToken.shape.corner.large}) ); } :host(:not(:disabled):not([selected]):hover) .base { border-top-left-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken.shape.corner.medium}) ); border-top-right-radius: var( --_list-item-top-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken.shape.corner.medium}) ); border-bottom-left-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken.shape.corner.medium}) ); border-bottom-right-radius: var( --_list-item-bottom-container-shape, var(--m3e-list-item-hover-container-shape, ${DesignToken.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.typescale.standard.label.small.fontSize}); font-weight: var(--m3e-list-item-overline-font-weight, ${DesignToken.typescale.standard.label.small.fontWeight}); line-height: var(--m3e-list-item-overline-line-height, ${DesignToken.typescale.standard.label.small.lineHeight}); letter-spacing: var(--m3e-list-item-overline-tracking, ${DesignToken.typescale.standard.label.small.tracking}); } ::slotted([slot="supporting-text"]) { font-size: var(--m3e-list-item-supporting-text-font-size, ${DesignToken.typescale.standard.body.medium.fontSize}); font-weight: var( --m3e-list-item-supporting-text-font-weight, ${DesignToken.typescale.standard.body.medium.fontWeight} ); line-height: var( --m3e-list-item-supporting-text-line-height, ${DesignToken.typescale.standard.body.medium.lineHeight} ); letter-spacing: var( --m3e-list-item-supporting-text-tracking, ${DesignToken.typescale.standard.body.medium.tracking} ); } ::slotted(:not([slot])) { font-size: var(--m3e-list-item-font-size, ${DesignToken.typescale.standard.body.large.fontSize}); font-weight: var(--m3e-list-item-font-weight, ${DesignToken.typescale.standard.body.large.fontWeight}); line-height: var(--m3e-list-item-line-height, ${DesignToken.typescale.standard.body.large.lineHeight}); letter-spacing: var(--m3e-list-item-tracking, ${DesignToken.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.typescale.standard.label.small.fontSize}); font-weight: var( --m3e-list-item-trailing-text-font-weight, ${DesignToken.typescale.standard.label.small.fontWeight} ); line-height: var( --m3e-list-item-trailing-text-line-height, ${DesignToken.typescale.standard.label.small.lineHeight} ); letter-spacing: var( --m3e-list-item-trailing-text-tracking, ${DesignToken.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.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.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.color.onSurfaceVariant}); } :host(:not(:disabled)) .content { color: var(--m3e-list-item-label-text-color, ${DesignToken.color.onSurface}); } :host(:not(:disabled)) ::slotted([slot="overline"]) { color: var(--m3e-list-item-overline-color, ${DesignToken.color.onSurfaceVariant}); } :host(:not(:disabled)) ::slotted([slot="supporting-text"]) { color: var(--m3e-list-item-supporting-text-color, ${DesignToken.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.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.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.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.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.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.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.color.onSurface}); --m3e-state-layer-hover-opacity: var( --m3e-list-item-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity} ); --m3e-state-layer-focus-color: var(--m3e-list-item-focus-state-layer-color, ${DesignToken.color.onSurface}); --m3e-state-layer-focus-opacity: var( --m3e-list-item-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity} ); } :host(:not(:disabled)) .ripple { --m3e-ripple-color: var(--m3e-list-item-pressed-state-layer-color, ${DesignToken.color.onSurface}); --m3e-ripple-opacity: var( --m3e-list-item-pressed-state-layer-opacity, ${DesignToken.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; } }`;
608
+ M3eListItemElement = __decorate([t$2("m3e-list-item")], M3eListItemElement);
609
+
610
+ var _M3eListElement_instances, _M3eListElement_items, _M3eListElement_leadingContentTypes, _M3eListElement_trailingContentTypes, _M3eListElement_handleSlotChange;
611
+ /**
612
+ * A list of items.
613
+ *
614
+ * @description
615
+ * The `m3e-list` component provides a list container for organizing and displaying
616
+ * multiple list items. It supports flexible layout, custom padding, and divider insets
617
+ * via CSS custom properties.
618
+ *
619
+ * @example
620
+ * The following example illustrates a list with a single item using all supported slots.
621
+ *
622
+ * Note: This example uses the `@m3e/icon` package to present Material Design symbols, but any icon package can be
623
+ * substituted depending on your design system or preferences
624
+ *
625
+ * ```html
626
+ * <m3e-list>
627
+ * <m3e-list-item>
628
+ * <m3e-icon slot="leading-icon" name="person"></m3e-icon>
629
+ * <span slot="overline">Overline</span>
630
+ * Headline
631
+ * <span slot="supporting-text">Supporting text</span>
632
+ * <span slot="trailing-text">100+</span>
633
+ * <m3e-icon slot="trailing-icon" name="arrow_right"></m3e-icon>
634
+ * </m3e-list-item>
635
+ * </m3e-list>
636
+ * ```
637
+ *
638
+ * @tag m3e-list
639
+ *
640
+ * @slot - Renders the items of the list.
641
+ *
642
+ * @attr variant - The appearance variant of the list.
643
+ *
644
+ * @cssprop --m3e-list-divider-inset-start-size - Start inset for dividers within the list.
645
+ * @cssprop --m3e-list-divider-inset-end-size - End inset for dividers within the list.
646
+ * @cssprop --m3e-segmented-list-segment-gap - Gap between list items in segmented variant.
647
+ * @cssprop --m3e-segmented-list-container-shape - Border radius of the segmented list container.
648
+ * @cssprop --m3e-segmented-list-item-container-color - Background color of items in segmented variant.
649
+ * @cssprop --m3e-segmented-list-item-disabled-container-color - Background color of disabled items in segmented variant.
650
+ * @cssprop --m3e-segmented-list-item-container-shape - Border radius of items in segmented variant.
651
+ * @cssprop --m3e-segmented-list-item-hover-container-shape - Border radius of items in segmented variant on hover.
652
+ * @cssprop --m3e-segmented-list-item-focus-container-shape - Border radius of items in segmented variant on focus.
653
+ * @cssprop --m3e-segmented-list-item-selected-container-shape - Border radius of items in segmented variant when selected.
654
+ */
655
+ let M3eListElement = class M3eListElement extends Role(LitElement, "list") {
656
+ constructor() {
657
+ super(...arguments);
658
+ _M3eListElement_instances.add(this);
659
+ /** @private */
660
+ _M3eListElement_items.set(this, new Array());
661
+ /** @private */
662
+ _M3eListElement_leadingContentTypes.set(this, {
663
+ video: 0,
664
+ image: 0,
665
+ avatar: 0,
666
+ icon: 0,
667
+ text: 0
668
+ });
669
+ /** @private */
670
+ _M3eListElement_trailingContentTypes.set(this, {
671
+ video: 0,
672
+ image: 0,
673
+ avatar: 0,
674
+ icon: 0,
675
+ text: 0
676
+ });
677
+ /**
678
+ * The appearance variant of the list.
679
+ * @default "standard"
680
+ */
681
+ this.variant = "standard";
682
+ }
683
+ /** The items of the list. */
684
+ get items() {
685
+ return __classPrivateFieldGet(this, _M3eListElement_items, "f");
686
+ }
687
+ /** The type of leading content. */
688
+ get leadingContentType() {
689
+ return __classPrivateFieldGet(this, _M3eListElement_leadingContentTypes, "f").video > 0 ? "video" : __classPrivateFieldGet(this, _M3eListElement_leadingContentTypes, "f").image > 0 ? "image" : __classPrivateFieldGet(this, _M3eListElement_leadingContentTypes, "f").avatar > 0 ? "avatar" : __classPrivateFieldGet(this, _M3eListElement_leadingContentTypes, "f").icon > 0 ? "icon" : __classPrivateFieldGet(this, _M3eListElement_leadingContentTypes, "f").text > 0 ? "text" : undefined;
690
+ }
691
+ /** The type of trailing content. */
692
+ get trailingContentType() {
693
+ return __classPrivateFieldGet(this, _M3eListElement_trailingContentTypes, "f").video > 0 ? "video" : __classPrivateFieldGet(this, _M3eListElement_trailingContentTypes, "f").image > 0 ? "image" : __classPrivateFieldGet(this, _M3eListElement_trailingContentTypes, "f").avatar > 0 ? "avatar" : __classPrivateFieldGet(this, _M3eListElement_trailingContentTypes, "f").icon > 0 ? "icon" : __classPrivateFieldGet(this, _M3eListElement_trailingContentTypes, "f").text > 0 ? "text" : undefined;
694
+ }
695
+ /** @inheritdoc */
696
+ render() {
697
+ return html`<slot @slotchange="${__classPrivateFieldGet(this, _M3eListElement_instances, "m", _M3eListElement_handleSlotChange)}"></slot>`;
698
+ }
699
+ /**
700
+ * @internal
701
+ * Notifies the list that items have changed.
702
+ */
703
+ notifyItemsChange() {}
704
+ /**
705
+ * @internal
706
+ * Notifies the list that the leading content of an item has changed.
707
+ */
708
+ notifyLeadingContentTypeChange(oldType, newType) {
709
+ if (oldType) {
710
+ __classPrivateFieldGet(this, _M3eListElement_leadingContentTypes, "f")[oldType]--;
711
+ }
712
+ if (newType) {
713
+ __classPrivateFieldGet(this, _M3eListElement_leadingContentTypes, "f")[newType]++;
714
+ }
715
+ ["video", "image", "avatar", "icon"].forEach(x => {
716
+ this.classList.toggle(`-has-leading-${x}`, this.leadingContentType === x);
717
+ });
718
+ }
719
+ /**
720
+ * @internal
721
+ * Notifies the list that the trailing content of an item has changed.
722
+ */
723
+ notifyTrailingContentTypeChange(oldType, newType) {
724
+ if (oldType) {
725
+ __classPrivateFieldGet(this, _M3eListElement_trailingContentTypes, "f")[oldType]--;
726
+ }
727
+ if (newType) {
728
+ __classPrivateFieldGet(this, _M3eListElement_trailingContentTypes, "f")[newType]--;
729
+ }
730
+ ["video", "image", "avatar", "icon"].forEach(x => {
731
+ this.classList.toggle(`-has-trailing-${x}`, this.trailingContentType === x);
732
+ });
733
+ }
734
+ };
735
+ _M3eListElement_items = new WeakMap();
736
+ _M3eListElement_leadingContentTypes = new WeakMap();
737
+ _M3eListElement_trailingContentTypes = new WeakMap();
738
+ _M3eListElement_instances = new WeakSet();
739
+ _M3eListElement_handleSlotChange = function _M3eListElement_handleSlotChange(e) {
740
+ __classPrivateFieldSet(this, _M3eListElement_items, e.target.assignedElements({
741
+ flatten: true
742
+ }).filter(x => x instanceof M3eListItemElement), "f");
743
+ __classPrivateFieldGet(this, _M3eListElement_items, "f").forEach((x, i) => {
744
+ x.classList.toggle("-first", i === 0);
745
+ x.classList.toggle("-last", i === __classPrivateFieldGet(this, _M3eListElement_items, "f").length - 1);
746
+ });
747
+ this.notifyItemsChange();
748
+ };
749
+ /** The styles of the element. */
750
+ 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.color.surface}); --m3e-list-item-disabled-container-color: var( --m3e-segmented-list-item-disabled-container-color, ${DesignToken.color.surface} ); --m3e-list-item-container-shape: var( --m3e-segmented-list-item-container-shape, ${DesignToken.shape.corner.extraSmall} ); --m3e-list-item-hover-container-shape: var( --m3e-segmented-list-item-hover-container-shape, ${DesignToken.shape.corner.medium} ); --m3e-list-item-focus-container-shape: var( --m3e-segmented-list-item-focus-container-shape, ${DesignToken.shape.corner.large} ); --m3e-list-item-selected-container-shape: var( --m3e-segmented-list-item-selected-container-shape, ${DesignToken.shape.corner.large} ); --m3e-list-item-video-shape: var(--m3e-segmented-list-item-video-shape, ${DesignToken.shape.corner.small}); --m3e-list-item-image-shape: var(--m3e-segmented-list-item-image-shape, ${DesignToken.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.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.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.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); }`;
751
+ __decorate([n$1({
752
+ reflect: true
753
+ })], M3eListElement.prototype, "variant", void 0);
754
+ M3eListElement = __decorate([t$2("m3e-list")], M3eListElement);
755
+
756
+ var _M3eExpandableListItemElement_instances, _M3eExpandableListItemElement_id, _M3eExpandableListItemElement_contentId, _M3eExpandableListItemElement_headerId, _M3eExpandableListItemElement_items, _M3eExpandableListItemElement_handleHeaderClick, _M3eExpandableListItemElement_handleCollapsibleEvent, _M3eExpandableListItemElement_handleSlotChange;
757
+ var M3eExpandableListItemElement_1;
758
+ /**
759
+ * An item in a list that can be expanded to show more items.
760
+ *
761
+ * @description
762
+ * The `m3e-expandable-list-item` provides a hierarchical navigation structure that allows
763
+ * users to expand and collapse content sections. It follows Material 3 design principles
764
+ * with smooth animations, semantic color tokens, and accessible interactions. The component
765
+ * extends the base `m3e-list-item` functionality with toggle state management and nested
766
+ * content support.
767
+ *
768
+ * @example
769
+ * The following example illustrates an expandable list item.
770
+ * ```html
771
+ * <m3e-action-list>
772
+ * <m3e-expandable-list-item>
773
+ * Pick up supplies
774
+ * <span slot="supporting-text">Due monday</span>
775
+ * <div slot="items">
776
+ * <m3e-list-action>
777
+ * Dry-erase board
778
+ * <span slot="supporting-text">$35.99</span>
779
+ * </m3e-list-action>
780
+ * <m3e-list-action>
781
+ * Markers
782
+ * <span slot="supporting-text">$8.99</span>
783
+ * </m3e-list-action>
784
+ * </div>
785
+ * </m3e-expandable-list-item>
786
+ * </m3e-action-list>
787
+ * ```
788
+ *
789
+ * @tag m3e-expandable-list-item
790
+ *
791
+ * @slot - Renders the content of the list item.
792
+ * @slot leading - Renders the leading content of the list item.
793
+ * @slot overline - Renders the overline of the list item.
794
+ * @slot supporting-text - Renders the supporting text of the list item.
795
+ * @slot toggle-icon - Renders a custom icon for the expand/collapse toggle.
796
+ * @slot items - Container for child list items displayed when expanded.
797
+ * @slot trailing - This component does not expose the base trailing slot.
798
+ *
799
+ * @attr disabled - Whether the element is disabled.
800
+ * @attr open - Whether the item is expanded.
801
+ *
802
+ * @fires opening - Emitted when the item begins to open.
803
+ * @fires opened - Emitted when the item has opened.
804
+ * @fires closing - Emitted when the item begins to close.
805
+ * @fires closed - Emitted when the item has closed.
806
+ *
807
+ * @cssprop --m3e-expandable-list-item-toggle-icon-container-width - Width of the toggle icon container.
808
+ * @cssprop --m3e-expandable-list-item-toggle-icon-container-shape - Border radius of the toggle icon container.
809
+ * @cssprop --m3e-expandable-list-item-toggle-icon-size - Size of the toggle icon.
810
+ * @cssprop --m3e-expandable-list-item-expanded-toggle-icon-container-color - Background color of the toggle icon container when expanded.
811
+ * @cssprop --m3e-expandable-list-item-bounce-duration - Duration of the bounce animation when expanding.
812
+ * @cssprop --m3e-expandable-list-item-bounce-factor - Multiplication factor for the bounce effect.
813
+ * @cssprop --m3e-expandable-list-item-expand-duration - Duration of the expand/collapse animation.
814
+ * @cssprop --m3e-list-item-between-space - Horizontal gap between elements.
815
+ * @cssprop --m3e-list-item-padding-inline - Horizontal padding for the list item.
816
+ * @cssprop --m3e-list-item-padding-block - Vertical padding for the list item.
817
+ * @cssprop --m3e-list-item-height - Minimum height of the list item.
818
+ * @cssprop --m3e-list-item-font-size - Font size for main content.
819
+ * @cssprop --m3e-list-item-font-weight - Font weight for main content.
820
+ * @cssprop --m3e-list-item-line-height - Line height for main content.
821
+ * @cssprop --m3e-list-item-tracking - Letter spacing for main content.
822
+ * @cssprop --m3e-list-item-overline-font-size - Font size for overline slot.
823
+ * @cssprop --m3e-list-item-overline-font-weight - Font weight for overline slot.
824
+ * @cssprop --m3e-list-item-overline-line-height - Line height for overline slot.
825
+ * @cssprop --m3e-list-item-overline-tracking - Letter spacing for overline slot.
826
+ * @cssprop --m3e-list-item-supporting-text-font-size - Font size for supporting text slot.
827
+ * @cssprop --m3e-list-item-supporting-text-font-weight - Font weight for supporting text slot.
828
+ * @cssprop --m3e-list-item-supporting-text-line-height - Line height for supporting text slot.
829
+ * @cssprop --m3e-list-item-supporting-text-tracking - Letter spacing for supporting text slot.
830
+ * @cssprop --m3e-list-item-trailing-text-font-size - Font size for trailing supporting text slot.
831
+ * @cssprop --m3e-list-item-trailing-text-font-weight - Font weight for trailing supporting text slot.
832
+ * @cssprop --m3e-list-item-trailing-text-line-height - Line height for trailing supporting text slot.
833
+ * @cssprop --m3e-list-item-trailing-text-tracking - Letter spacing for trailing supporting text slot.
834
+ * @cssprop --m3e-list-item-icon-size - Size for leading/trailing icons.
835
+ * @cssprop --m3e-list-item-label-text-color - Color for the main content.
836
+ * @cssprop --m3e-list-item-overline-color - Color for the overline slot.
837
+ * @cssprop --m3e-list-item-supporting-text-color - Color for the supporting text slot.
838
+ * @cssprop --m3e-list-item-leading-color - Color for the leading content.
839
+ * @cssprop --m3e-list-item-trailing-color - Color for the trailing content.
840
+ * @cssprop --m3e-list-item-container-color - Background color of the list item.
841
+ * @cssprop --m3e-list-item-container-shape - Border radius of the list item.
842
+ * @cssprop --m3e-list-item-hover-container-shape - Border radius of the list item on hover.
843
+ * @cssprop --m3e-list-item-focus-container-shape - Border radius of the list item on focus.
844
+ * @cssprop --m3e-list-item-video-width - Width of the video slot.
845
+ * @cssprop --m3e-list-item-video-height - Height of the video slot.
846
+ * @cssprop --m3e-list-item-video-shape - Border radius of the video slot.
847
+ * @cssprop --m3e-list-item-image-width - Width of the image slot.
848
+ * @cssprop --m3e-list-item-image-height - Height of the image slot.
849
+ * @cssprop --m3e-list-item-image-shape - Border radius of the image slot.
850
+ * @cssprop --m3e-list-item-disabled-label-text-color - Color for the main content when disabled.
851
+ * @cssprop --m3e-list-item-disabled-label-text-opacity - Opacity for the main content when disabled.
852
+ * @cssprop --m3e-list-item-disabled-overline-color - Color for the overline slot when disabled.
853
+ * @cssprop --m3e-list-item-disabled-overline-opacity - Opacity for the overline slot when disabled.
854
+ * @cssprop --m3e-list-item-disabled-supporting-text-color - Color for the supporting text slot when disabled.
855
+ * @cssprop --m3e-list-item-disabled-supporting-text-opacity - Opacity for the supporting text slot when disabled.
856
+ * @cssprop --m3e-list-item-disabled-leading-color - Color for the leading icon when disabled.
857
+ * @cssprop --m3e-list-item-disabled-leading-opacity - Opacity for the leading icon when disabled.
858
+ * @cssprop --m3e-list-item-disabled-trailing-color - Color for the trailing icon when disabled.
859
+ * @cssprop --m3e-list-item-disabled-trailing-opacity - Opacity for the trailing icon when disabled.
860
+ * @cssprop --m3e-list-item-hover-state-layer-color - Color for the hover state layer.
861
+ * @cssprop --m3e-list-item-hover-state-layer-opacity - Opacity for the hover state layer.
862
+ * @cssprop --m3e-list-item-focus-state-layer-color - Color for the focus state layer.
863
+ * @cssprop --m3e-list-item-focus-state-layer-opacity - Opacity for the focus state layer.
864
+ * @cssprop --m3e-list-item-pressed-state-layer-color - Color for the pressed state layer.
865
+ * @cssprop --m3e-list-item-pressed-state-layer-opacity - Opacity for the pressed state layer.
866
+ * @cssprop --m3e-segmented-list-container-shape - Border radius of the segmented list container shape.
867
+ * @cssprop --m3e-segmented-list-segment-gap - Gap between list item segments.
868
+ * @cssprop --m3e-list-item-three-line-top-offset - Top offset for media in three line items.
869
+ * @cssprop --m3e-list-item-disabled-media-opacity - Opacity for media when disabled.
870
+ */
871
+ let M3eExpandableListItemElement = M3eExpandableListItemElement_1 = class M3eExpandableListItemElement extends M3eListItemElement {
872
+ constructor() {
873
+ super(...arguments);
874
+ _M3eExpandableListItemElement_instances.add(this);
875
+ /** @private */
876
+ _M3eExpandableListItemElement_id.set(this, M3eExpandableListItemElement_1.__nextId++);
877
+ /** @private */
878
+ _M3eExpandableListItemElement_contentId.set(this, `m3e-expandable-list-item-${__classPrivateFieldGet(this, _M3eExpandableListItemElement_id, "f")}-content`);
879
+ /** @private */
880
+ _M3eExpandableListItemElement_headerId.set(this, `m3e-expandable-list-item-${__classPrivateFieldGet(this, _M3eExpandableListItemElement_id, "f")}-header`);
881
+ /** @private */
882
+ _M3eExpandableListItemElement_items.set(this, new Array());
883
+ /**
884
+ * Whether the element is disabled.
885
+ * @default false
886
+ */
887
+ this.disabled = false;
888
+ /**
889
+ * Whether the item is expanded.
890
+ * @default false
891
+ */
892
+ this.open = false;
893
+ }
894
+ /** The direct child items of this item. */
895
+ get items() {
896
+ return __classPrivateFieldGet(this, _M3eExpandableListItemElement_items, "f");
897
+ }
898
+ /** @inheritdoc */
899
+ focus(options) {
900
+ this.button?.focus(options);
901
+ }
902
+ /** @inheritdoc */
903
+ blur() {
904
+ this.button?.blur();
905
+ }
906
+ /** @inheritdoc */
907
+ click() {
908
+ this.button?.click();
909
+ }
910
+ /** @inheritdoc */
911
+ updated(_changedProperties) {
912
+ super.updated(_changedProperties);
913
+ if (_changedProperties.has("open")) {
914
+ for (let sibling = this.previousElementSibling; sibling; sibling = sibling.previousElementSibling) {
915
+ if (sibling instanceof M3eListItemElement) {
916
+ sibling.classList.toggle("-has-next-open", this.open);
917
+ break;
918
+ }
919
+ }
920
+ for (let sibling = this.nextElementSibling; sibling; sibling = sibling.nextElementSibling) {
921
+ if (sibling instanceof M3eListItemElement) {
922
+ sibling.classList.toggle("-has-previous-open", this.open);
923
+ break;
924
+ }
925
+ }
926
+ }
927
+ }
928
+ /** @inheritdoc */
929
+ render() {
930
+ return html`<div class="base"><m3e-list-item-button id="${__classPrivateFieldGet(this, _M3eExpandableListItemElement_headerId, "f")}" class="header" ?disabled="${this.disabled}" aria-expanded="${this.open}" aria-controls="${__classPrivateFieldGet(this, _M3eExpandableListItemElement_contentId, "f")}" @click="${__classPrivateFieldGet(this, _M3eExpandableListItemElement_instances, "m", _M3eExpandableListItemElement_handleHeaderClick)}"><slot name="leading" slot="leading" @slotchange="${this._handleLeadingSlotChange}"></slot><slot name="overline" slot="overline"></slot><slot></slot><slot name="supporting-text" slot="supporting-text"></slot><div class="toggle-container" slot="trailing" aria-hidden="true"><div class="toggle"><slot name="toggle-icon"><svg viewBox="0 -960 960 960" fill="currentColor"><path d="M480-344 240-584l56-56 184 184 184-184 56 56-240 240Z"/></svg></slot></div></div></m3e-list-item-button><m3e-collapsible id="${__classPrivateFieldGet(this, _M3eExpandableListItemElement_contentId, "f")}" class="items" role="list" aria-labelledby="${__classPrivateFieldGet(this, _M3eExpandableListItemElement_headerId, "f")}" ?open="${this.open}" @opening="${__classPrivateFieldGet(this, _M3eExpandableListItemElement_instances, "m", _M3eExpandableListItemElement_handleCollapsibleEvent)}" @opened="${__classPrivateFieldGet(this, _M3eExpandableListItemElement_instances, "m", _M3eExpandableListItemElement_handleCollapsibleEvent)}" @closing="${__classPrivateFieldGet(this, _M3eExpandableListItemElement_instances, "m", _M3eExpandableListItemElement_handleCollapsibleEvent)}" @closed="${__classPrivateFieldGet(this, _M3eExpandableListItemElement_instances, "m", _M3eExpandableListItemElement_handleCollapsibleEvent)}"><slot name="items" @slotchange="${__classPrivateFieldGet(this, _M3eExpandableListItemElement_instances, "m", _M3eExpandableListItemElement_handleSlotChange)}"></slot></m3e-collapsible></div>`;
931
+ }
932
+ };
933
+ _M3eExpandableListItemElement_id = new WeakMap();
934
+ _M3eExpandableListItemElement_contentId = new WeakMap();
935
+ _M3eExpandableListItemElement_headerId = new WeakMap();
936
+ _M3eExpandableListItemElement_items = new WeakMap();
937
+ _M3eExpandableListItemElement_instances = new WeakSet();
938
+ _M3eExpandableListItemElement_handleHeaderClick = function _M3eExpandableListItemElement_handleHeaderClick(e) {
939
+ if (!e.defaultPrevented) {
940
+ this.open = !this.open;
941
+ this.closest("m3e-action-list")?.[selectionManager].updateActiveItem(this.button);
942
+ }
943
+ };
944
+ _M3eExpandableListItemElement_handleCollapsibleEvent = function _M3eExpandableListItemElement_handleCollapsibleEvent(e) {
945
+ e.stopPropagation();
946
+ ["opening", "opened", "closing", "closed"].forEach(x => {
947
+ this.button?.classList.toggle(x, e.type === x);
948
+ });
949
+ this.dispatchEvent(new Event(e.type, {
950
+ bubbles: true
951
+ }));
952
+ };
953
+ _M3eExpandableListItemElement_handleSlotChange = function _M3eExpandableListItemElement_handleSlotChange(e) {
954
+ __classPrivateFieldSet(this, _M3eExpandableListItemElement_items, e.target.assignedElements({
955
+ flatten: true
956
+ }).flatMap(x => [...x.childNodes].filter(x => x instanceof M3eListItemElement)), "f");
957
+ __classPrivateFieldGet(this, _M3eExpandableListItemElement_items, "f").forEach((x, i) => {
958
+ if (i == __classPrivateFieldGet(this, _M3eExpandableListItemElement_items, "f").length - 1) {
959
+ x.style.setProperty("--_list-item-bottom-container-shape", `var(--m3e-segmented-list-container-shape, ${DesignToken.shape.corner.large})`);
960
+ } else {
961
+ x.style.removeProperty("--_list-item-bottom-container-shape");
962
+ }
963
+ });
964
+ this.closest("m3e-list, m3e-action-list, m3e-selection-list")?.notifyItemsChange();
965
+ };
966
+ /** The styles of the element. */
967
+ M3eExpandableListItemElement.styles = css`:host { display: block; } .header { width: 100%; margin-bottom: 0px; transition: ${unsafeCSS(`margin-bottom
968
+ var(--m3e-expandable-list-item-bounce-duration, ${DesignToken.motion.duration.medium1})
969
+ ${DesignToken.motion.easing.standard}`)}; --_list-item-button-trailing-align-self: stretch; } .toggle-container { display: flex; align-items: center; justify-content: center; align-self: stretch; width: var(--m3e-expandable-list-item-toggle-icon-container-width, 2rem); border-radius: var(--m3e-expandable-list-item-toggle-icon-container-shape, ${DesignToken.shape.corner.full}); transition: ${unsafeCSS(`background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard}`)}; } .toggle { display: flex; align-items: center; justify-content: center; vertical-align: middle; font-size: var(--m3e-expandable-list-item-toggle-icon-size, 1.5rem); transition: ${unsafeCSS(`transform ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard}`)}; } .toggle svg, ::slotted(svg[slot="toggle-icon"]) { width: 1em; height: 1em; } :host([open]) .toggle-container { background-color: var( --_expandable-list-item-expanded-toggle-icon-container-color, var(--m3e-expandable-list-item-expanded-toggle-icon-container-color, ${DesignToken.color.surfaceContainer}) ); } :host([open]) .toggle { transform: rotate(180deg); } :host([open]) .header { --_list-item-top-container-shape: var(--_expandable-list-item-expanded-top-shape, initial); --_list-item-bottom-container-shape: initial; margin-bottom: var(--_expandable-list-item-items-segment-gap, 0px); } :host([open]) .header.opening { margin-bottom: calc( var(--_expandable-list-item-items-segment-gap, 0px) * var(--m3e-expandable-list-item-bounce-factor, 4) ); } :host([open]) .header, :host([open]) .items { --_list-item-container-color: var( --m3e-expandable-list-item-expanded-container-color, var(--m3e-list-item-container-color, transparent) ); } .base, ::slotted([slot="items"]) { display: flex; flex-direction: column; box-sizing: border-box; } ::slotted([slot="items"]) { flex: none; --_list-item-top-container-shape: initial; --_list-item-bottom-container-shape: initial; row-gap: var(--_expandable-list-item-items-segment-gap, 0px); } .items { --m3e-collapsible-animation-duration: var( --m3e-expandable-list-item-expand-duration, ${DesignToken.motion.duration.medium1} ); } @media (forced-colors: active) { .header { transition: none; } :host([open]) .header.opening { margin-bottom: var(--_expandable-list-item-items-segment-gap, 0px); } } @media (prefers-reduced-motion) { .header, .toggle-container, .toggle { transition: none; } }`;
970
+ /** @private */
971
+ M3eExpandableListItemElement.__nextId = 0;
972
+ __decorate([n$1({
973
+ type: Boolean,
974
+ reflect: true
975
+ })], M3eExpandableListItemElement.prototype, "disabled", void 0);
976
+ __decorate([n$1({
977
+ type: Boolean,
978
+ reflect: true
979
+ })], M3eExpandableListItemElement.prototype, "open", void 0);
980
+ __decorate([e$1(".header")], M3eExpandableListItemElement.prototype, "button", void 0);
981
+ M3eExpandableListItemElement = M3eExpandableListItemElement_1 = __decorate([t$2("m3e-expandable-list-item")], M3eExpandableListItemElement);
982
+
983
+ var _M3eActionListElement_keyDownHandler, _a$1;
984
+ /**
985
+ * A list of actions.
986
+ *
987
+ * @description
988
+ * The `m3e-action-list` component provides a specialized list container for action-based
989
+ * interactions following Material 3 design principles. It manages keyboard navigation with
990
+ * roving tab index, supporting arrow keys, Home/End navigation, and vertical orientation.
991
+ * The component is optimized for scenarios where each list item represents a clickable action.
992
+ *
993
+ * @tag m3e-action-list
994
+ *
995
+ * @slot - Renders the items of the list.
996
+ *
997
+ * @attr variant - The appearance variant of the list.
998
+ *
999
+ * @cssprop --m3e-list-divider-inset-start-size - Start inset for dividers within the list.
1000
+ * @cssprop --m3e-list-divider-inset-end-size - End inset for dividers within the list.
1001
+ * @cssprop --m3e-segmented-list-segment-gap - Gap between list items in segmented variant.
1002
+ * @cssprop --m3e-segmented-list-container-shape - Border radius of the segmented list container.
1003
+ * @cssprop --m3e-segmented-list-item-container-color - Background color of items in segmented variant.
1004
+ * @cssprop --m3e-segmented-list-item-disabled-container-color - Background color of disabled items in segmented variant.
1005
+ * @cssprop --m3e-segmented-list-item-container-shape - Border radius of items in segmented variant.
1006
+ * @cssprop --m3e-segmented-list-item-hover-container-shape - Border radius of items in segmented variant on hover.
1007
+ * @cssprop --m3e-segmented-list-item-focus-container-shape - Border radius of items in segmented variant on focus.
1008
+ * @cssprop --m3e-segmented-list-item-selected-container-shape - Border radius of items in segmented variant when selected.
1009
+ */
1010
+ let M3eActionListElement = class M3eActionListElement extends M3eListElement {
1011
+ constructor() {
1012
+ super(...arguments);
1013
+ /** @private */
1014
+ _M3eActionListElement_keyDownHandler.set(this, e => this[selectionManager].onKeyDown(e));
1015
+ /** @private */
1016
+ this[_a$1] = new RovingTabIndexManager().withWrap().withHomeAndEnd().withVerticalOrientation().withSkipPredicate(x => {
1017
+ if (x.disabled) return true;
1018
+ const listItem = x.getRootNode().host;
1019
+ if (listItem.parentElement?.slot === "items") {
1020
+ let expandable = listItem.closest("m3e-expandable-list-item");
1021
+ while (expandable) {
1022
+ if (!expandable.open) {
1023
+ return true;
1024
+ }
1025
+ const ancestor = expandable.closest("m3e-expandable-list-item,m3e-action-list");
1026
+ if (ancestor instanceof M3eExpandableListItemElement) {
1027
+ expandable = ancestor;
1028
+ }
1029
+ break;
1030
+ }
1031
+ }
1032
+ return false;
1033
+ });
1034
+ }
1035
+ /** @inheritdoc */
1036
+ connectedCallback() {
1037
+ super.connectedCallback();
1038
+ this.addEventListener("keydown", __classPrivateFieldGet(this, _M3eActionListElement_keyDownHandler, "f"));
1039
+ }
1040
+ /** @inheritdoc */
1041
+ disconnectedCallback() {
1042
+ super.disconnectedCallback();
1043
+ this.removeEventListener("keydown", __classPrivateFieldGet(this, _M3eActionListElement_keyDownHandler, "f"));
1044
+ }
1045
+ /** @inheritdoc */
1046
+ async notifyItemsChange() {
1047
+ const items = [...this.querySelectorAll("m3e-list-action,m3e-expandable-list-item")];
1048
+ for (const item of items) {
1049
+ if (item.isUpdatePending) {
1050
+ await item.updateComplete;
1051
+ }
1052
+ }
1053
+ if (this.isUpdatePending) {
1054
+ await this.updateComplete;
1055
+ }
1056
+ const {
1057
+ added
1058
+ } = this[selectionManager].setItems(items.map(x => x instanceof M3eExpandableListItemElement ? x.button : x.button));
1059
+ if (!this[selectionManager].activeItem) {
1060
+ this[selectionManager].updateActiveItem(added.find(x => !x.disabled));
1061
+ }
1062
+ }
1063
+ };
1064
+ _M3eActionListElement_keyDownHandler = new WeakMap();
1065
+ _a$1 = selectionManager;
1066
+ M3eActionListElement = __decorate([t$2("m3e-action-list")], M3eActionListElement);
1067
+
1068
+ /**
1069
+ * @license
1070
+ * Copyright 2017 Google LLC
1071
+ * SPDX-License-Identifier: BSD-3-Clause
1072
+ */
1073
+ const t = globalThis,
1074
+ i = t.trustedTypes,
1075
+ s = i ? i.createPolicy("lit-html", {
1076
+ createHTML: t => t
1077
+ }) : void 0,
1078
+ e = "$lit$",
1079
+ h = `lit$${Math.random().toFixed(9).slice(2)}$`,
1080
+ o$1 = "?" + h,
1081
+ n = `<${o$1}>`,
1082
+ r = document,
1083
+ l = () => r.createComment(""),
1084
+ c = t => null === t || "object" != typeof t && "function" != typeof t,
1085
+ a = Array.isArray,
1086
+ u = t => a(t) || "function" == typeof t?.[Symbol.iterator],
1087
+ d = "[ \t\n\f\r]",
1088
+ f = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,
1089
+ v = /-->/g,
1090
+ _ = />/g,
1091
+ m = RegExp(`>|${d}(?:([^\\s"'>=/]+)(${d}*=${d}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`, "g"),
1092
+ p = /'/g,
1093
+ g = /"/g,
1094
+ $ = /^(?:script|style|textarea|title)$/i,
1095
+ T = Symbol.for("lit-noChange"),
1096
+ E = Symbol.for("lit-nothing"),
1097
+ A = new WeakMap(),
1098
+ C = r.createTreeWalker(r, 129);
1099
+ function P(t, i) {
1100
+ if (!a(t) || !t.hasOwnProperty("raw")) throw Error("invalid template strings array");
1101
+ return void 0 !== s ? s.createHTML(i) : i;
1102
+ }
1103
+ const V = (t, i) => {
1104
+ const s = t.length - 1,
1105
+ o = [];
1106
+ let r,
1107
+ l = 2 === i ? "<svg>" : 3 === i ? "<math>" : "",
1108
+ c = f;
1109
+ for (let i = 0; i < s; i++) {
1110
+ const s = t[i];
1111
+ let a,
1112
+ u,
1113
+ d = -1,
1114
+ y = 0;
1115
+ for (; y < s.length && (c.lastIndex = y, u = c.exec(s), null !== u);) y = c.lastIndex, c === f ? "!--" === u[1] ? c = v : void 0 !== u[1] ? c = _ : void 0 !== u[2] ? ($.test(u[2]) && (r = RegExp("</" + u[2], "g")), c = m) : void 0 !== u[3] && (c = m) : c === m ? ">" === u[0] ? (c = r ?? f, d = -1) : void 0 === u[1] ? d = -2 : (d = c.lastIndex - u[2].length, a = u[1], c = void 0 === u[3] ? m : '"' === u[3] ? g : p) : c === g || c === p ? c = m : c === v || c === _ ? c = f : (c = m, r = void 0);
1116
+ const x = c === m && t[i + 1].startsWith("/>") ? " " : "";
1117
+ l += c === f ? s + n : d >= 0 ? (o.push(a), s.slice(0, d) + e + s.slice(d) + h + x) : s + h + (-2 === d ? i : x);
1118
+ }
1119
+ return [P(t, l + (t[s] || "<?>") + (2 === i ? "</svg>" : 3 === i ? "</math>" : "")), o];
1120
+ };
1121
+ class N {
1122
+ constructor({
1123
+ strings: t,
1124
+ _$litType$: s
1125
+ }, n) {
1126
+ let r;
1127
+ this.parts = [];
1128
+ let c = 0,
1129
+ a = 0;
1130
+ const u = t.length - 1,
1131
+ d = this.parts,
1132
+ [f, v] = V(t, s);
1133
+ if (this.el = N.createElement(f, n), C.currentNode = this.el.content, 2 === s || 3 === s) {
1134
+ const t = this.el.content.firstChild;
1135
+ t.replaceWith(...t.childNodes);
1136
+ }
1137
+ for (; null !== (r = C.nextNode()) && d.length < u;) {
1138
+ if (1 === r.nodeType) {
1139
+ if (r.hasAttributes()) for (const t of r.getAttributeNames()) if (t.endsWith(e)) {
1140
+ const i = v[a++],
1141
+ s = r.getAttribute(t).split(h),
1142
+ e = /([.?@])?(.*)/.exec(i);
1143
+ d.push({
1144
+ type: 1,
1145
+ index: c,
1146
+ name: e[2],
1147
+ strings: s,
1148
+ ctor: "." === e[1] ? H : "?" === e[1] ? I : "@" === e[1] ? L : k
1149
+ }), r.removeAttribute(t);
1150
+ } else t.startsWith(h) && (d.push({
1151
+ type: 6,
1152
+ index: c
1153
+ }), r.removeAttribute(t));
1154
+ if ($.test(r.tagName)) {
1155
+ const t = r.textContent.split(h),
1156
+ s = t.length - 1;
1157
+ if (s > 0) {
1158
+ r.textContent = i ? i.emptyScript : "";
1159
+ for (let i = 0; i < s; i++) r.append(t[i], l()), C.nextNode(), d.push({
1160
+ type: 2,
1161
+ index: ++c
1162
+ });
1163
+ r.append(t[s], l());
1164
+ }
1165
+ }
1166
+ } else if (8 === r.nodeType) if (r.data === o$1) d.push({
1167
+ type: 2,
1168
+ index: c
1169
+ });else {
1170
+ let t = -1;
1171
+ for (; -1 !== (t = r.data.indexOf(h, t + 1));) d.push({
1172
+ type: 7,
1173
+ index: c
1174
+ }), t += h.length - 1;
1175
+ }
1176
+ c++;
1177
+ }
1178
+ }
1179
+ static createElement(t, i) {
1180
+ const s = r.createElement("template");
1181
+ return s.innerHTML = t, s;
1182
+ }
1183
+ }
1184
+ function S(t, i, s = t, e) {
1185
+ if (i === T) return i;
1186
+ let h = void 0 !== e ? s._$Co?.[e] : s._$Cl;
1187
+ const o = c(i) ? void 0 : i._$litDirective$;
1188
+ return h?.constructor !== o && (h?._$AO?.(false), void 0 === o ? h = void 0 : (h = new o(t), h._$AT(t, s, e)), void 0 !== e ? (s._$Co ??= [])[e] = h : s._$Cl = h), void 0 !== h && (i = S(t, h._$AS(t, i.values), h, e)), i;
1189
+ }
1190
+ class M {
1191
+ constructor(t, i) {
1192
+ this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = i;
1193
+ }
1194
+ get parentNode() {
1195
+ return this._$AM.parentNode;
1196
+ }
1197
+ get _$AU() {
1198
+ return this._$AM._$AU;
1199
+ }
1200
+ u(t) {
1201
+ const {
1202
+ el: {
1203
+ content: i
1204
+ },
1205
+ parts: s
1206
+ } = this._$AD,
1207
+ e = (t?.creationScope ?? r).importNode(i, true);
1208
+ C.currentNode = e;
1209
+ let h = C.nextNode(),
1210
+ o = 0,
1211
+ n = 0,
1212
+ l = s[0];
1213
+ for (; void 0 !== l;) {
1214
+ if (o === l.index) {
1215
+ let i;
1216
+ 2 === l.type ? i = new R(h, h.nextSibling, this, t) : 1 === l.type ? i = new l.ctor(h, l.name, l.strings, this, t) : 6 === l.type && (i = new z(h, this, t)), this._$AV.push(i), l = s[++n];
1217
+ }
1218
+ o !== l?.index && (h = C.nextNode(), o++);
1219
+ }
1220
+ return C.currentNode = r, e;
1221
+ }
1222
+ p(t) {
1223
+ let i = 0;
1224
+ for (const s of this._$AV) void 0 !== s && (void 0 !== s.strings ? (s._$AI(t, s, i), i += s.strings.length - 2) : s._$AI(t[i])), i++;
1225
+ }
1226
+ }
1227
+ class R {
1228
+ get _$AU() {
1229
+ return this._$AM?._$AU ?? this._$Cv;
1230
+ }
1231
+ constructor(t, i, s, e) {
1232
+ this.type = 2, this._$AH = E, this._$AN = void 0, this._$AA = t, this._$AB = i, this._$AM = s, this.options = e, this._$Cv = e?.isConnected ?? true;
1233
+ }
1234
+ get parentNode() {
1235
+ let t = this._$AA.parentNode;
1236
+ const i = this._$AM;
1237
+ return void 0 !== i && 11 === t?.nodeType && (t = i.parentNode), t;
1238
+ }
1239
+ get startNode() {
1240
+ return this._$AA;
1241
+ }
1242
+ get endNode() {
1243
+ return this._$AB;
1244
+ }
1245
+ _$AI(t, i = this) {
1246
+ t = S(this, t, i), c(t) ? t === E || null == t || "" === t ? (this._$AH !== E && this._$AR(), this._$AH = E) : t !== this._$AH && t !== T && this._(t) : void 0 !== t._$litType$ ? this.$(t) : void 0 !== t.nodeType ? this.T(t) : u(t) ? this.k(t) : this._(t);
1247
+ }
1248
+ O(t) {
1249
+ return this._$AA.parentNode.insertBefore(t, this._$AB);
1250
+ }
1251
+ T(t) {
1252
+ this._$AH !== t && (this._$AR(), this._$AH = this.O(t));
1253
+ }
1254
+ _(t) {
1255
+ this._$AH !== E && c(this._$AH) ? this._$AA.nextSibling.data = t : this.T(r.createTextNode(t)), this._$AH = t;
1256
+ }
1257
+ $(t) {
1258
+ const {
1259
+ values: i,
1260
+ _$litType$: s
1261
+ } = t,
1262
+ e = "number" == typeof s ? this._$AC(t) : (void 0 === s.el && (s.el = N.createElement(P(s.h, s.h[0]), this.options)), s);
1263
+ if (this._$AH?._$AD === e) this._$AH.p(i);else {
1264
+ const t = new M(e, this),
1265
+ s = t.u(this.options);
1266
+ t.p(i), this.T(s), this._$AH = t;
1267
+ }
1268
+ }
1269
+ _$AC(t) {
1270
+ let i = A.get(t.strings);
1271
+ return void 0 === i && A.set(t.strings, i = new N(t)), i;
1272
+ }
1273
+ k(t) {
1274
+ a(this._$AH) || (this._$AH = [], this._$AR());
1275
+ const i = this._$AH;
1276
+ let s,
1277
+ e = 0;
1278
+ for (const h of t) e === i.length ? i.push(s = new R(this.O(l()), this.O(l()), this, this.options)) : s = i[e], s._$AI(h), e++;
1279
+ e < i.length && (this._$AR(s && s._$AB.nextSibling, e), i.length = e);
1280
+ }
1281
+ _$AR(t = this._$AA.nextSibling, i) {
1282
+ for (this._$AP?.(false, true, i); t !== this._$AB;) {
1283
+ const i = t.nextSibling;
1284
+ t.remove(), t = i;
1285
+ }
1286
+ }
1287
+ setConnected(t) {
1288
+ void 0 === this._$AM && (this._$Cv = t, this._$AP?.(t));
1289
+ }
1290
+ }
1291
+ class k {
1292
+ get tagName() {
1293
+ return this.element.tagName;
1294
+ }
1295
+ get _$AU() {
1296
+ return this._$AM._$AU;
1297
+ }
1298
+ constructor(t, i, s, e, h) {
1299
+ this.type = 1, this._$AH = E, this._$AN = void 0, this.element = t, this.name = i, this._$AM = e, this.options = h, s.length > 2 || "" !== s[0] || "" !== s[1] ? (this._$AH = Array(s.length - 1).fill(new String()), this.strings = s) : this._$AH = E;
1300
+ }
1301
+ _$AI(t, i = this, s, e) {
1302
+ const h = this.strings;
1303
+ let o = false;
1304
+ if (void 0 === h) t = S(this, t, i, 0), o = !c(t) || t !== this._$AH && t !== T, o && (this._$AH = t);else {
1305
+ const e = t;
1306
+ let n, r;
1307
+ for (t = h[0], n = 0; n < h.length - 1; n++) r = S(this, e[s + n], i, n), r === T && (r = this._$AH[n]), o ||= !c(r) || r !== this._$AH[n], r === E ? t = E : t !== E && (t += (r ?? "") + h[n + 1]), this._$AH[n] = r;
1308
+ }
1309
+ o && !e && this.j(t);
1310
+ }
1311
+ j(t) {
1312
+ t === E ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? "");
1313
+ }
1314
+ }
1315
+ class H extends k {
1316
+ constructor() {
1317
+ super(...arguments), this.type = 3;
1318
+ }
1319
+ j(t) {
1320
+ this.element[this.name] = t === E ? void 0 : t;
1321
+ }
1322
+ }
1323
+ class I extends k {
1324
+ constructor() {
1325
+ super(...arguments), this.type = 4;
1326
+ }
1327
+ j(t) {
1328
+ this.element.toggleAttribute(this.name, !!t && t !== E);
1329
+ }
1330
+ }
1331
+ class L extends k {
1332
+ constructor(t, i, s, e, h) {
1333
+ super(t, i, s, e, h), this.type = 5;
1334
+ }
1335
+ _$AI(t, i = this) {
1336
+ if ((t = S(this, t, i, 0) ?? E) === T) return;
1337
+ const s = this._$AH,
1338
+ e = t === E && s !== E || t.capture !== s.capture || t.once !== s.once || t.passive !== s.passive,
1339
+ h = t !== E && (s === E || e);
1340
+ e && this.element.removeEventListener(this.name, this, s), h && this.element.addEventListener(this.name, this, t), this._$AH = t;
1341
+ }
1342
+ handleEvent(t) {
1343
+ "function" == typeof this._$AH ? this._$AH.call(this.options?.host ?? this.element, t) : this._$AH.handleEvent(t);
1344
+ }
1345
+ }
1346
+ class z {
1347
+ constructor(t, i, s) {
1348
+ this.element = t, this.type = 6, this._$AN = void 0, this._$AM = i, this.options = s;
1349
+ }
1350
+ get _$AU() {
1351
+ return this._$AM._$AU;
1352
+ }
1353
+ _$AI(t) {
1354
+ S(this, t);
1355
+ }
1356
+ }
1357
+ const j = t.litHtmlPolyfillSupport;
1358
+ j?.(N, R), (t.litHtmlVersions ??= []).push("3.3.1");
1359
+
1360
+ /**
1361
+ * @license
1362
+ * Copyright 2018 Google LLC
1363
+ * SPDX-License-Identifier: BSD-3-Clause
1364
+ */
1365
+ const o = o => o ?? E;
1366
+
1367
+ var _M3eListActionElement_instances, _M3eListActionElement_handleClick;
1368
+ /**
1369
+ * An item in a list that performs an action.
1370
+ *
1371
+ * @description
1372
+ * The `m3e-list-action` component represents an interactive list item that performs a
1373
+ * user-initiated action. It combines the semantic structure of a list item with
1374
+ * button-like interactions, supporting keyboard navigation, ripple effects, and state layers.
1375
+ *
1376
+ * @tag m3e-list-action
1377
+ *
1378
+ * @slot - Renders the content of the list item.
1379
+ * @slot leading - Renders the leading content of the list item.
1380
+ * @slot overline - Renders the overline of the list item.
1381
+ * @slot supporting-text - Renders the supporting text of the list item.
1382
+ * @slot trailing - Renders the trailing content of the list item.
1383
+ *
1384
+ * @attr disabled - Whether the element is disabled.
1385
+ * @attr download - A value indicating whether the `target` of the link button will be downloaded, optionally specifying the new name of the file.
1386
+ * @attr href - The URL to which the link button points.
1387
+ * @attr rel - The relationship between the `target` of the link button and the document.
1388
+ * @attr target - The target of the link button.
1389
+ *
1390
+ * @fires click - Emitted when the element is clicked.
1391
+ *
1392
+ * @cssprop --m3e-list-item-between-space - Horizontal gap between elements.
1393
+ * @cssprop --m3e-list-item-padding-inline - Horizontal padding for the list item.
1394
+ * @cssprop --m3e-list-item-padding-block - Vertical padding for the list item.
1395
+ * @cssprop --m3e-list-item-height - Minimum height of the list item.
1396
+ * @cssprop --m3e-list-item-font-size - Font size for main content.
1397
+ * @cssprop --m3e-list-item-font-weight - Font weight for main content.
1398
+ * @cssprop --m3e-list-item-line-height - Line height for main content.
1399
+ * @cssprop --m3e-list-item-tracking - Letter spacing for main content.
1400
+ * @cssprop --m3e-list-item-overline-font-size - Font size for overline slot.
1401
+ * @cssprop --m3e-list-item-overline-font-weight - Font weight for overline slot.
1402
+ * @cssprop --m3e-list-item-overline-line-height - Line height for overline slot.
1403
+ * @cssprop --m3e-list-item-overline-tracking - Letter spacing for overline slot.
1404
+ * @cssprop --m3e-list-item-supporting-text-font-size - Font size for supporting text slot.
1405
+ * @cssprop --m3e-list-item-supporting-text-font-weight - Font weight for supporting text slot.
1406
+ * @cssprop --m3e-list-item-supporting-text-line-height - Line height for supporting text slot.
1407
+ * @cssprop --m3e-list-item-supporting-text-tracking - Letter spacing for supporting text slot.
1408
+ * @cssprop --m3e-list-item-trailing-text-font-size - Font size for trailing supporting text slot.
1409
+ * @cssprop --m3e-list-item-trailing-text-font-weight - Font weight for trailing supporting text slot.
1410
+ * @cssprop --m3e-list-item-trailing-text-line-height - Line height for trailing supporting text slot.
1411
+ * @cssprop --m3e-list-item-trailing-text-tracking - Letter spacing for trailing supporting text slot.
1412
+ * @cssprop --m3e-list-item-icon-size - Size for leading/trailing icons.
1413
+ * @cssprop --m3e-list-item-label-text-color - Color for the main content.
1414
+ * @cssprop --m3e-list-item-overline-color - Color for the overline slot.
1415
+ * @cssprop --m3e-list-item-supporting-text-color - Color for the supporting text slot.
1416
+ * @cssprop --m3e-list-item-leading-color - Color for the leading content.
1417
+ * @cssprop --m3e-list-item-trailing-color - Color for the trailing content.
1418
+ * @cssprop --m3e-list-item-container-color - Background color of the list item.
1419
+ * @cssprop --m3e-list-item-container-shape - Border radius of the list item.
1420
+ * @cssprop --m3e-list-item-hover-container-shape - Border radius of the list item on hover.
1421
+ * @cssprop --m3e-list-item-focus-container-shape - Border radius of the list item on focus.
1422
+ * @cssprop --m3e-list-item-video-width - Width of the video slot.
1423
+ * @cssprop --m3e-list-item-video-height - Height of the video slot.
1424
+ * @cssprop --m3e-list-item-video-shape - Border radius of the video slot.
1425
+ * @cssprop --m3e-list-item-image-width - Width of the image slot.
1426
+ * @cssprop --m3e-list-item-image-height - Height of the image slot.
1427
+ * @cssprop --m3e-list-item-image-shape - Border radius of the image slot.
1428
+ * @cssprop --m3e-list-item-disabled-container-color - Background color of the list item when disabled.
1429
+ * @cssprop --m3e-list-item-disabled-label-text-color - Color for the main content when disabled.
1430
+ * @cssprop --m3e-list-item-disabled-label-text-opacity - Opacity for the main content when disabled.
1431
+ * @cssprop --m3e-list-item-disabled-overline-color - Color for the overline slot when disabled.
1432
+ * @cssprop --m3e-list-item-disabled-overline-opacity - Opacity for the overline slot when disabled.
1433
+ * @cssprop --m3e-list-item-disabled-supporting-text-color - Color for the supporting text slot when disabled.
1434
+ * @cssprop --m3e-list-item-disabled-supporting-text-opacity - Opacity for the supporting text slot when disabled.
1435
+ * @cssprop --m3e-list-item-disabled-leading-color - Color for the leading icon when disabled.
1436
+ * @cssprop --m3e-list-item-disabled-leading-opacity - Opacity for the leading icon when disabled.
1437
+ * @cssprop --m3e-list-item-disabled-trailing-color - Color for the trailing icon when disabled.
1438
+ * @cssprop --m3e-list-item-disabled-trailing-opacity - Opacity for the trailing icon when disabled.
1439
+ * @cssprop --m3e-list-item-hover-state-layer-color - Color for the hover state layer.
1440
+ * @cssprop --m3e-list-item-hover-state-layer-opacity - Opacity for the hover state layer.
1441
+ * @cssprop --m3e-list-item-focus-state-layer-color - Color for the focus state layer.
1442
+ * @cssprop --m3e-list-item-focus-state-layer-opacity - Opacity for the focus state layer.
1443
+ * @cssprop --m3e-list-item-pressed-state-layer-color - Color for the pressed state layer.
1444
+ * @cssprop --m3e-list-item-pressed-state-layer-opacity - Opacity for the pressed state layer.
1445
+ * @cssprop --m3e-list-item-three-line-top-offset - Top offset for media in three line items.
1446
+ * @cssprop --m3e-list-item-disabled-media-opacity - Opacity for media when disabled.
1447
+ */
1448
+ let M3eListActionElement = class M3eListActionElement extends LinkButton(M3eListItemElement) {
1449
+ constructor() {
1450
+ super(...arguments);
1451
+ _M3eListActionElement_instances.add(this);
1452
+ /**
1453
+ * Whether the element is disabled.
1454
+ * @default false
1455
+ */
1456
+ this.disabled = false;
1457
+ }
1458
+ /** @inheritdoc */
1459
+ focus(options) {
1460
+ this.button?.focus(options);
1461
+ }
1462
+ /** @inheritdoc */
1463
+ blur() {
1464
+ this.button?.blur();
1465
+ }
1466
+ /** @inheritdoc */
1467
+ click() {
1468
+ this.button?.click();
1469
+ }
1470
+ /** @inheritdoc */
1471
+ render() {
1472
+ return html`<m3e-list-item-button class="button" ?disabled="${this.disabled}" href="${o(this.href || undefined)}" target="${o(this.target || undefined)}" download="${o(this.download || undefined)}" rel="${o(this.rel || undefined)}" @click="${__classPrivateFieldGet(this, _M3eListActionElement_instances, "m", _M3eListActionElement_handleClick)}"><slot name="leading" slot="leading" @slotchange="${this._handleLeadingSlotChange}"></slot><slot name="overline" slot="overline"></slot><slot></slot><slot name="supporting-text" slot="supporting-text"></slot><slot name="trailing" slot="trailing" @slotchange="${this._handleTrailingSlotChange}"></slot></m3e-list-item-button>`;
1473
+ }
1474
+ };
1475
+ _M3eListActionElement_instances = new WeakSet();
1476
+ _M3eListActionElement_handleClick = function _M3eListActionElement_handleClick(e) {
1477
+ if (!e.defaultPrevented) {
1478
+ this.closest("m3e-action-list")?.[selectionManager].updateActiveItem(this.button);
1479
+ }
1480
+ };
1481
+ /** The styles of the element. */
1482
+ M3eListActionElement.styles = css`:host { display: block; } .button { width: 100%; }`;
1483
+ __decorate([e$1(".button")], M3eListActionElement.prototype, "button", void 0);
1484
+ __decorate([n$1({
1485
+ type: Boolean,
1486
+ reflect: true
1487
+ })], M3eListActionElement.prototype, "disabled", void 0);
1488
+ M3eListActionElement = __decorate([t$2("m3e-list-action")], M3eListActionElement);
1489
+
1490
+ /**
1491
+ * @internal
1492
+ * An internal interactive element used to present the content of a list item.
1493
+ */
1494
+ let M3eListItemButtonElement = class M3eListItemButtonElement extends KeyboardClick(LinkButton(Focusable(Disabled(AttachInternals(Role(M3eListItemElement, "button"), true))))) {
1495
+ /** @inheritdoc */
1496
+ firstUpdated(_changedProperties) {
1497
+ super.firstUpdated(_changedProperties);
1498
+ [this._focusRing, this._stateLayer, this._ripple].forEach(x => x?.attach(this));
1499
+ }
1500
+ /** @inheritdoc */
1501
+ render() {
1502
+ return html`<div class="base"><m3e-state-layer class="state-layer" ?disabled="${this.disabled}"></m3e-state-layer><m3e-focus-ring class="focus-ring" inward ?disabled="${this.disabled}"></m3e-focus-ring><m3e-ripple class="ripple" ?disabled="${this.disabled}"></m3e-ripple>${this[renderPseudoLink]()} ${super._renderBase()}</div>`;
1503
+ }
1504
+ };
1505
+ /** The styles of the element. */
1506
+ M3eListItemButtonElement.styles = [M3eListItemElement.styles, css`:host { outline: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .base { position: relative; } :host(:not(:disabled)) { cursor: pointer; } a { all: unset; display: block; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 1; } slot[name="trailing"] { align-self: var(--_list-item-button-trailing-align-self, auto); }`];
1507
+ __decorate([e$1(".focus-ring")], M3eListItemButtonElement.prototype, "_focusRing", void 0);
1508
+ __decorate([e$1(".state-layer")], M3eListItemButtonElement.prototype, "_stateLayer", void 0);
1509
+ __decorate([e$1(".ripple")], M3eListItemButtonElement.prototype, "_ripple", void 0);
1510
+ M3eListItemButtonElement = __decorate([t$2("m3e-list-item-button")], M3eListItemButtonElement);
1511
+
1512
+ var _M3eListOptionElement_instances, _M3eListOptionElement_value, _M3eListOptionElement_textContent, _M3eListOptionElement_clickHandler, _M3eListOptionElement_handleSlotChange, _M3eListOptionElement_handleClick;
1513
+ /**
1514
+ * A selectable option in a list.
1515
+ *
1516
+ * @description
1517
+ * The `m3e-list-option` component represents a selectable item within a list container. It extends
1518
+ * the base `m3e-list-item` functionality with selection state management, providing visual feedback
1519
+ * for selected and unselected states. The component is designed for use with `m3e-selection-list`
1520
+ * and supports rich content through multiple slots, comprehensive styling via CSS custom properties,
1521
+ * and accessible interactions following Material 3 design principles.
1522
+ *
1523
+ * @tag m3e-list-option
1524
+ *
1525
+ * @slot - Renders the content of the list item.
1526
+ * @slot leading - Renders the leading content of the list item.
1527
+ * @slot overline - Renders the overline of the list item.
1528
+ * @slot supporting-text - Renders the supporting text of the list item.
1529
+ * @slot trailing - Renders the trailing content of the list item.
1530
+ *
1531
+ * @attr disabled - Whether the element is disabled.
1532
+ * @attr selected - Whether the element is selected.
1533
+ *
1534
+ * @fires input - Emitted when the selected state changes.
1535
+ * @fires change - Emitted when the selected state changes.
1536
+ * @fires click - Emitted when the element is clicked.
1537
+ *
1538
+ * @cssprop --m3e-list-item-between-space - Horizontal gap between elements.
1539
+ * @cssprop --m3e-list-item-padding-inline - Horizontal padding for the list item.
1540
+ * @cssprop --m3e-list-item-padding-block - Vertical padding for the list item.
1541
+ * @cssprop --m3e-list-item-height - Minimum height of the list item.
1542
+ * @cssprop --m3e-list-item-font-size - Font size for main content.
1543
+ * @cssprop --m3e-list-item-font-weight - Font weight for main content.
1544
+ * @cssprop --m3e-list-item-line-height - Line height for main content.
1545
+ * @cssprop --m3e-list-item-tracking - Letter spacing for main content.
1546
+ * @cssprop --m3e-list-item-overline-font-size - Font size for overline slot.
1547
+ * @cssprop --m3e-list-item-overline-font-weight - Font weight for overline slot.
1548
+ * @cssprop --m3e-list-item-overline-line-height - Line height for overline slot.
1549
+ * @cssprop --m3e-list-item-overline-tracking - Letter spacing for overline slot.
1550
+ * @cssprop --m3e-list-item-supporting-text-font-size - Font size for supporting text slot.
1551
+ * @cssprop --m3e-list-item-supporting-text-font-weight - Font weight for supporting text slot.
1552
+ * @cssprop --m3e-list-item-supporting-text-line-height - Line height for supporting text slot.
1553
+ * @cssprop --m3e-list-item-supporting-text-tracking - Letter spacing for supporting text slot.
1554
+ * @cssprop --m3e-list-item-trailing-text-font-size - Font size for trailing supporting text slot.
1555
+ * @cssprop --m3e-list-item-trailing-text-font-weight - Font weight for trailing supporting text slot.
1556
+ * @cssprop --m3e-list-item-trailing-text-line-height - Line height for trailing supporting text slot.
1557
+ * @cssprop --m3e-list-item-trailing-text-tracking - Letter spacing for trailing supporting text slot.
1558
+ * @cssprop --m3e-list-item-icon-size - Size for leading/trailing icons.
1559
+ * @cssprop --m3e-list-item-label-text-color - Color for the main content.
1560
+ * @cssprop --m3e-list-item-overline-color - Color for the overline slot.
1561
+ * @cssprop --m3e-list-item-supporting-text-color - Color for the supporting text slot.
1562
+ * @cssprop --m3e-list-item-leading-color - Color for the leading content.
1563
+ * @cssprop --m3e-list-item-trailing-color - Color for the trailing content.
1564
+ * @cssprop --m3e-list-item-container-color - Background color of the list item.
1565
+ * @cssprop --m3e-list-item-container-shape - Border radius of the list item.
1566
+ * @cssprop --m3e-list-item-hover-container-shape - Border radius of the list item on hover.
1567
+ * @cssprop --m3e-list-item-focus-container-shape - Border radius of the list item on focus.
1568
+ * @cssprop --m3e-list-item-video-width - Width of the video slot.
1569
+ * @cssprop --m3e-list-item-video-height - Height of the video slot.
1570
+ * @cssprop --m3e-list-item-video-shape - Border radius of the video slot.
1571
+ * @cssprop --m3e-list-item-image-width - Width of the image slot.
1572
+ * @cssprop --m3e-list-item-image-height - Height of the image slot.
1573
+ * @cssprop --m3e-list-item-image-shape - Border radius of the image slot.
1574
+ * @cssprop --m3e-list-item-disabled-container-color - Background color of the list item when disabled.
1575
+ * @cssprop --m3e-list-item-disabled-label-text-color - Color for the main content when disabled.
1576
+ * @cssprop --m3e-list-item-disabled-label-text-opacity - Opacity for the main content when disabled.
1577
+ * @cssprop --m3e-list-item-disabled-overline-color - Color for the overline slot when disabled.
1578
+ * @cssprop --m3e-list-item-disabled-overline-opacity - Opacity for the overline slot when disabled.
1579
+ * @cssprop --m3e-list-item-disabled-supporting-text-color - Color for the supporting text slot when disabled.
1580
+ * @cssprop --m3e-list-item-disabled-supporting-text-opacity - Opacity for the supporting text slot when disabled.
1581
+ * @cssprop --m3e-list-item-disabled-leading-color - Color for the leading icon when disabled.
1582
+ * @cssprop --m3e-list-item-disabled-leading-opacity - Opacity for the leading icon when disabled.
1583
+ * @cssprop --m3e-list-item-disabled-trailing-color - Color for the trailing icon when disabled.
1584
+ * @cssprop --m3e-list-item-disabled-trailing-opacity - Opacity for the trailing icon when disabled.
1585
+ * @cssprop --m3e-list-item-hover-state-layer-color - Color for the hover state layer.
1586
+ * @cssprop --m3e-list-item-hover-state-layer-opacity - Opacity for the hover state layer.
1587
+ * @cssprop --m3e-list-item-focus-state-layer-color - Color for the focus state layer.
1588
+ * @cssprop --m3e-list-item-focus-state-layer-opacity - Opacity for the focus state layer.
1589
+ * @cssprop --m3e-list-item-pressed-state-layer-color - Color for the pressed state layer.
1590
+ * @cssprop --m3e-list-item-pressed-state-layer-opacity - Opacity for the pressed state layer.
1591
+ * @cssprop --m3e-list-item-selected-label-text-color - Selected color for the main content.
1592
+ * @cssprop --m3e-list-item-selected-overline-color - Selected color for the overline slot.
1593
+ * @cssprop --m3e-list-item-selected-supporting-text-color - Selected color for the supporting text slot.
1594
+ * @cssprop --m3e-list-item-selected-leading-color - Selected color for the leading content.
1595
+ * @cssprop --m3e-list-item-selected-trailing-color - Selected color for the trailing content.
1596
+ * @cssprop --m3e-list-item-selected-container-color - Selected background color of the list item.
1597
+ * @cssprop --m3e-list-item-selected-container-shape - Selected border radius of the list item.
1598
+ * @cssprop --m3e-list-item-selected-disabled-container-color - Selected background color when disabled.
1599
+ * @cssprop --m3e-list-item-selected-disabled-container-opacity - Selected opacity when disabled.
1600
+ * @cssprop --m3e-list-item-selected-hover-state-layer-color - Color for the hover state layer when selected.
1601
+ * @cssprop --m3e-list-item-selected-hover-state-layer-opacity - Opacity for the hover state layer when selected.
1602
+ * @cssprop --m3e-list-item-selected-focus-state-layer-color - Color for the focus state layer when selected.
1603
+ * @cssprop --m3e-list-item-selected-focus-state-layer-opacity - Opacity for the focus state layer when selected.
1604
+ * @cssprop --m3e-list-item-selected-pressed-state-layer-color - Color for the pressed state layer when selected.
1605
+ * @cssprop --m3e-list-item-selected-pressed-state-layer-opacity - Opacity for the pressed state layer when selected.
1606
+ * @cssprop --m3e-list-item-three-line-top-offset - Top offset for media in three line items.
1607
+ * @cssprop --m3e-list-item-disabled-media-opacity - Opacity for media when disabled.
1608
+ */
1609
+ let M3eListOptionElement = class M3eListOptionElement extends KeyboardClick(Focusable(Selected(Disabled(AttachInternals(Role(M3eListItemElement, "option"), true))))) {
1610
+ constructor() {
1611
+ super(...arguments);
1612
+ _M3eListOptionElement_instances.add(this);
1613
+ /** @private */
1614
+ _M3eListOptionElement_value.set(this, void 0);
1615
+ /** @private */
1616
+ _M3eListOptionElement_textContent.set(this, "");
1617
+ /** @private */
1618
+ _M3eListOptionElement_clickHandler.set(this, e => __classPrivateFieldGet(this, _M3eListOptionElement_instances, "m", _M3eListOptionElement_handleClick).call(this, e));
1619
+ }
1620
+ /** A string representing the value of the option. */
1621
+ get value() {
1622
+ return __classPrivateFieldGet(this, _M3eListOptionElement_value, "f") ?? __classPrivateFieldGet(this, _M3eListOptionElement_textContent, "f");
1623
+ }
1624
+ set value(value) {
1625
+ __classPrivateFieldSet(this, _M3eListOptionElement_value, value, "f");
1626
+ }
1627
+ /** @inheritdoc */
1628
+ connectedCallback() {
1629
+ super.connectedCallback();
1630
+ this.addEventListener("click", __classPrivateFieldGet(this, _M3eListOptionElement_clickHandler, "f"));
1631
+ }
1632
+ /** @inheritdoc */
1633
+ disconnectedCallback() {
1634
+ super.disconnectedCallback();
1635
+ this.removeEventListener("click", __classPrivateFieldGet(this, _M3eListOptionElement_clickHandler, "f"));
1636
+ }
1637
+ /** @inheritdoc */
1638
+ firstUpdated(_changedProperties) {
1639
+ super.firstUpdated(_changedProperties);
1640
+ [this._focusRing, this._stateLayer, this._ripple].forEach(x => x?.attach(this));
1641
+ }
1642
+ /** @inheritdoc */
1643
+ update(changedProperties) {
1644
+ super.update(changedProperties);
1645
+ if (changedProperties.has("selected")) {
1646
+ this.closest("m3e-selection-list")?.[selectionManager].notifySelectionChange(this);
1647
+ for (const icon of this.querySelectorAll("m3e-icon")) {
1648
+ icon.toggleAttribute("filled", this.selected);
1649
+ }
1650
+ }
1651
+ }
1652
+ /** @inheritdoc */
1653
+ render() {
1654
+ return html`<div class="base"><m3e-state-layer class="state-layer" ?disabled="${this.disabled}"></m3e-state-layer><m3e-focus-ring class="focus-ring" inward ?disabled="${this.disabled}"></m3e-focus-ring><m3e-ripple class="ripple" ?disabled="${this.disabled}"></m3e-ripple><slot name="leading" @slotchange="${this._handleLeadingSlotChange}"></slot><div class="content"><slot name="overline"></slot><slot @slotchange="${__classPrivateFieldGet(this, _M3eListOptionElement_instances, "m", _M3eListOptionElement_handleSlotChange)}"></slot><slot name="supporting-text"></slot></div><slot name="trailing" @slotchange="${this._handleTrailingSlotChange}"></slot><div class="indicator">${this.closest("m3e-selection-list")?.multi ? html`<m3e-pseudo-checkbox ?checked="${this.selected}" ?disabled="${this.disabled}"></m3e-pseudo-checkbox>` : html`<m3e-pseudo-radio ?checked="${this.selected}" ?disabled="${this.disabled}"></m3e-pseudo-radio>`}</div></div>`;
1655
+ }
1656
+ };
1657
+ _M3eListOptionElement_value = new WeakMap();
1658
+ _M3eListOptionElement_textContent = new WeakMap();
1659
+ _M3eListOptionElement_clickHandler = new WeakMap();
1660
+ _M3eListOptionElement_instances = new WeakSet();
1661
+ _M3eListOptionElement_handleSlotChange = function _M3eListOptionElement_handleSlotChange(e) {
1662
+ __classPrivateFieldSet(this, _M3eListOptionElement_textContent, getTextContent(e.target), "f");
1663
+ };
1664
+ _M3eListOptionElement_handleClick = function _M3eListOptionElement_handleClick(e) {
1665
+ const selectionList = this.closest("m3e-selection-list");
1666
+ if (e.defaultPrevented || !selectionList) return;
1667
+ if (selectionList.multi || !this.selected) {
1668
+ const selected = this.selected;
1669
+ this.selected = !this.selected;
1670
+ if (this.dispatchEvent(new Event("input", {
1671
+ bubbles: true,
1672
+ composed: true,
1673
+ cancelable: true
1674
+ }))) {
1675
+ selectionList[selectionManager].notifySelectionChange(this);
1676
+ this.dispatchEvent(new Event("change", {
1677
+ bubbles: true
1678
+ }));
1679
+ } else {
1680
+ this.selected = selected;
1681
+ }
1682
+ }
1683
+ };
1684
+ /** The styles of the element. */
1685
+ 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.shape.corner.large}); } :host([selected]:not(:disabled)) .base { color: var(--m3e-list-item-selected-label-text-color, ${DesignToken.color.onSecondaryContainer}); } :host([selected]:not(:disabled)) ::slotted([slot="overline"]) { color: var(--m3e-list-item-selected-overline-color, ${DesignToken.color.onSecondaryContainer}); } :host([selected]:not(:disabled)) ::slotted([slot="supporting-text"]) { color: var(--m3e-list-item-selected-supporting-text-color, ${DesignToken.color.onSecondaryContainer}); } :host([selected]:not(:disabled)) ::slotted([slot="leading"]) { color: var(--m3e-list-item-selected-leading-color, ${DesignToken.color.onSecondaryContainer}); } :host([selected]:not(:disabled)) ::slotted([slot="trailing"]) { color: var(--m3e-list-item-selected-trailing-color, ${DesignToken.color.onSecondaryContainer}); } :host([selected]:not(:disabled)) .base { background-color: var(--m3e-list-item-selected-container-color, ${DesignToken.color.secondaryContainer}); } :host([selected]:disabled) .base { background-color: color-mix( in srgb, var(--m3e-list-item-selected-disabled-container-color, ${DesignToken.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.color.onSurface} ); --m3e-state-layer-hover-opacity: var( --m3e-list-item-selected-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity} ); --m3e-state-layer-focus-color: var( --m3e-list-item-selected-focus-state-layer-color, ${DesignToken.color.onSurface} ); --m3e-state-layer-focus-opacity: var( --m3e-list-item-selected-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity} ); } :host([selected]:not(:disabled)) .ripple { --m3e-ripple-color: var(--m3e-list-item-selected-pressed-state-layer-color, ${DesignToken.color.onSurface}); --m3e-ripple-opacity: var( --m3e-list-item-selected-pressed-state-layer-opacity, ${DesignToken.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; } }`];
1686
+ __decorate([e$1(".focus-ring")], M3eListOptionElement.prototype, "_focusRing", void 0);
1687
+ __decorate([e$1(".state-layer")], M3eListOptionElement.prototype, "_stateLayer", void 0);
1688
+ __decorate([e$1(".ripple")], M3eListOptionElement.prototype, "_ripple", void 0);
1689
+ __decorate([n$1()], M3eListOptionElement.prototype, "value", null);
1690
+ M3eListOptionElement = __decorate([t$2("m3e-list-option")], M3eListOptionElement);
1691
+
1692
+ var _M3eSelectionListElement_instances, _M3eSelectionListElement_keyDownHandler, _M3eSelectionListElement_changeHandler, _M3eSelectionListElement_handleChange, _a;
1693
+ /**
1694
+ * A list of selectable options.
1695
+ *
1696
+ * @description
1697
+ * The `m3e-selection-list` component provides a container for managing selectable list items with
1698
+ * single or multi-select capabilities. It implements robust keyboard navigation, form association,
1699
+ * and state management for both individual options and the list as a whole. The component supports
1700
+ * flexible layout, custom theming via CSS custom properties, and comprehensive accessibility features
1701
+ * including aria roles, roving tabindex management, and semantic event handling following Material 3
1702
+ * design principles.
1703
+ *
1704
+ * @tag m3e-selection-list
1705
+ *
1706
+ * @slot - Renders the items of the list.
1707
+ *
1708
+ * @attr hide-selection-indicator - Whether to hide the selection indicator.
1709
+ * @attr multi - Whether multiple items can be selected.
1710
+ * @attr variant - The appearance variant of the list.
1711
+ *
1712
+ * @fires input - Emitted when the selected state of an option changes.
1713
+ * @fires change - Emitted when the selected state of an option changes.
1714
+ *
1715
+ * @cssprop --m3e-list-divider-inset-start-size - Start inset for dividers within the list.
1716
+ * @cssprop --m3e-list-divider-inset-end-size - End inset for dividers within the list.
1717
+ * @cssprop --m3e-segmented-list-segment-gap - Gap between list items in segmented variant.
1718
+ * @cssprop --m3e-segmented-list-container-shape - Border radius of the segmented list container.
1719
+ * @cssprop --m3e-segmented-list-item-container-color - Background color of items in segmented variant.
1720
+ * @cssprop --m3e-segmented-list-item-disabled-container-color - Background color of disabled items in segmented variant.
1721
+ * @cssprop --m3e-segmented-list-item-container-shape - Border radius of items in segmented variant.
1722
+ * @cssprop --m3e-segmented-list-item-hover-container-shape - Border radius of items in segmented variant on hover.
1723
+ * @cssprop --m3e-segmented-list-item-focus-container-shape - Border radius of items in segmented variant on focus.
1724
+ * @cssprop --m3e-segmented-list-item-selected-container-shape - Border radius of items in segmented variant when selected.
1725
+ */
1726
+ let M3eSelectionListElement = class M3eSelectionListElement extends Labelled(Dirty(Touched(FormAssociated(Disabled(AttachInternals(Role(M3eListElement, "listbox"))))))) {
1727
+ constructor() {
1728
+ super(...arguments);
1729
+ _M3eSelectionListElement_instances.add(this);
1730
+ /** @private */
1731
+ _M3eSelectionListElement_keyDownHandler.set(this, e => this[selectionManager].onKeyDown(e));
1732
+ /** @private */
1733
+ _M3eSelectionListElement_changeHandler.set(this, e => __classPrivateFieldGet(this, _M3eSelectionListElement_instances, "m", _M3eSelectionListElement_handleChange).call(this, e));
1734
+ /** @private */
1735
+ this[_a] = new SelectionManager().withWrap().withHomeAndEnd().withVerticalOrientation();
1736
+ /**
1737
+ * Whether multiple items can be selected.
1738
+ * @default false
1739
+ */
1740
+ this.multi = false;
1741
+ /**
1742
+ * Whether to hide the selection indicator.
1743
+ * @default false
1744
+ */
1745
+ this.hideSelectionIndicator = false;
1746
+ }
1747
+ /** The options of the list. */
1748
+ get options() {
1749
+ return this[selectionManager]?.items ?? [];
1750
+ }
1751
+ /** The selected option(s) of the list. */
1752
+ get selected() {
1753
+ return this[selectionManager]?.selectedItems ?? [];
1754
+ }
1755
+ /** The selected (enabled) value(s) of the set. */
1756
+ get value() {
1757
+ const values = this.selected.filter(x => !x.disabled).map(x => x.value);
1758
+ switch (values.length) {
1759
+ case 0:
1760
+ return null;
1761
+ case 1:
1762
+ return values[0];
1763
+ default:
1764
+ return values;
1765
+ }
1766
+ }
1767
+ /** @inheritdoc @internal */
1768
+ get [(_M3eSelectionListElement_keyDownHandler = new WeakMap(), _M3eSelectionListElement_changeHandler = new WeakMap(), _M3eSelectionListElement_instances = new WeakSet(), _a = selectionManager, formValue)]() {
1769
+ const values = this.value;
1770
+ if (Array.isArray(values)) {
1771
+ const data = new FormData();
1772
+ for (const value of values) {
1773
+ data.append(this.name, value);
1774
+ }
1775
+ return data;
1776
+ }
1777
+ return values;
1778
+ }
1779
+ /** @inheritdoc */
1780
+ connectedCallback() {
1781
+ super.connectedCallback();
1782
+ this.addEventListener("keydown", __classPrivateFieldGet(this, _M3eSelectionListElement_keyDownHandler, "f"));
1783
+ this.addEventListener("change", __classPrivateFieldGet(this, _M3eSelectionListElement_changeHandler, "f"));
1784
+ }
1785
+ /** @inheritdoc */
1786
+ disconnectedCallback() {
1787
+ super.disconnectedCallback();
1788
+ this.removeEventListener("keydown", __classPrivateFieldGet(this, _M3eSelectionListElement_keyDownHandler, "f"));
1789
+ this.removeEventListener("change", __classPrivateFieldGet(this, _M3eSelectionListElement_changeHandler, "f"));
1790
+ }
1791
+ /** @inheritdoc */
1792
+ update(changedProperties) {
1793
+ super.update(changedProperties);
1794
+ if (changedProperties.has("disabled") && (changedProperties.get("disabled") !== undefined || this.disabled)) {
1795
+ this[selectionManager].disabled = this.disabled;
1796
+ }
1797
+ if (changedProperties.has("multi")) {
1798
+ this[selectionManager].multi = this.multi;
1799
+ if (this.multi) {
1800
+ this.setAttribute("aria-multiselectable", "true");
1801
+ } else {
1802
+ this.removeAttribute("aria-multiselectable");
1803
+ }
1804
+ this[selectionManager].items.forEach(x => x.requestUpdate());
1805
+ }
1806
+ if (changedProperties.has("hideSelectionIndicator")) {
1807
+ this[selectionManager].items.forEach(x => x.classList.toggle("-hide-selection", this.hideSelectionIndicator));
1808
+ }
1809
+ }
1810
+ /** @inheritdoc */
1811
+ notifyItemsChange() {
1812
+ const {
1813
+ added
1814
+ } = this[selectionManager].setItems(this.items.filter(x => x instanceof M3eListOptionElement));
1815
+ added.forEach(x => x.classList.toggle("-hide-selection", this.hideSelectionIndicator));
1816
+ if (!this[selectionManager].activeItem) {
1817
+ this[selectionManager].updateActiveItem(added.find(x => !x.disabled));
1818
+ }
1819
+ }
1820
+ };
1821
+ _M3eSelectionListElement_handleChange = function _M3eSelectionListElement_handleChange(e) {
1822
+ if (e.target !== this) {
1823
+ e.stopImmediatePropagation();
1824
+ e.stopPropagation();
1825
+ this.dispatchEvent(new Event("change", {
1826
+ bubbles: true
1827
+ }));
1828
+ }
1829
+ };
1830
+ __decorate([n$1({
1831
+ type: Boolean
1832
+ })], M3eSelectionListElement.prototype, "multi", void 0);
1833
+ __decorate([n$1({
1834
+ attribute: "hide-selection-indicator",
1835
+ type: Boolean
1836
+ })], M3eSelectionListElement.prototype, "hideSelectionIndicator", void 0);
1837
+ M3eSelectionListElement = __decorate([t$2("m3e-selection-list")], M3eSelectionListElement);
1838
+
1839
+ export { M3eActionListElement, M3eExpandableListItemElement, M3eListActionElement, M3eListElement, M3eListItemButtonElement, M3eListItemElement, M3eListOptionElement, M3eSelectionListElement };
1840
+ //# sourceMappingURL=list.js.map