@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../node_modules/@lit/reactive-element/decorators/custom-element.js","../../../node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/@lit/reactive-element/decorators/property.js","../../../node_modules/@lit/reactive-element/decorators/state.js","../../../node_modules/@lit/reactive-element/decorators/base.js","../../../node_modules/@lit/reactive-element/decorators/query.js","../../src/menu/MenuItemElementBase.ts","../../src/menu/MenuTriggerElement.ts","../../src/menu/MenuItemElement.ts","../../src/menu/MenuElement.ts","../../src/menu/MenuItemCheckboxElement.ts","../../src/menu/MenuItemGroupElement.ts","../../src/menu/MenuItemRadioElement.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n 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\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n 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\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.1\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","import { css, CSSResultGroup, html, LitElement, nothing, PropertyValues, unsafeCSS } from \"lit\";\r\nimport { query } from \"lit/decorators.js\";\r\n\r\nimport {\r\n AttachInternals,\r\n DesignToken,\r\n Disabled,\r\n Focusable,\r\n isLinkButtonMixin,\r\n KeyboardClick,\r\n M3eFocusRingElement,\r\n M3eRippleElement,\r\n M3eStateLayerElement,\r\n renderPseudoLink,\r\n} from \"@m3e/web/core\";\r\n\r\nimport type { M3eMenuElement } from \"./MenuElement\";\r\n\r\n/** A base implementation for an item of a menu. This class must be inherited. */\r\nexport abstract class MenuItemElementBase extends KeyboardClick(\r\n Focusable(AttachInternals(Disabled(LitElement), true)),\r\n) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n display: inline-block;\r\n outline: none;\r\n user-select: none;\r\n flex: none;\r\n height: var(--m3e-menu-item-container-height, 2.75rem);\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n }\r\n :host(:not(:disabled):not([aria-expanded=\"true\"])) .base {\r\n color: var(--m3e-menu-item-color, ${DesignToken.color.onSurface});\r\n }\r\n :host(:not([aria-expanded=\"true\"])) .base {\r\n --m3e-state-layer-hover-color: var(--m3e-menu-item-container-hover-color, ${DesignToken.color.onSurface});\r\n --m3e-state-layer-focus-color: var(--m3e-menu-item-container-focus-color, ${DesignToken.color.onSurface});\r\n --m3e-ripple-color: var(--m3e-menu-item-ripple-color, ${DesignToken.color.onSurface});\r\n }\r\n\r\n :host(:not(:disabled)[aria-expanded=\"true\"]) .base {\r\n background-color: color-mix(\r\n in srgb,\r\n var(--m3e-menu-item-active-state-layer-color, ${DesignToken.color.onSurface})\r\n var(--m3e-menu-active-state-layer-opacity, 8%),\r\n transparent\r\n );\r\n }\r\n :host([aria-expanded=\"true\"]) .state-layer {\r\n display: none;\r\n }\r\n\r\n :host(:not(:disabled)[checked]) .base {\r\n color: var(--m3e-menu-item-selected-color, ${DesignToken.color.onTertiaryContainer});\r\n background-color: var(--m3e-menu-item-selected-container-color, ${DesignToken.color.tertiaryContainer});\r\n }\r\n :host([checked]) .base {\r\n --m3e-state-layer-hover-color: var(\r\n --m3e-menu-item-selected-container-hover-color,\r\n ${DesignToken.color.onTertiaryContainer}\r\n );\r\n --m3e-state-layer-focus-color: var(\r\n --m3e-menu-item-selected-container-focus-color,\r\n ${DesignToken.color.onTertiaryContainer}\r\n );\r\n --m3e-ripple-color: var(--m3e-menu-item-selected-ripple-color, ${DesignToken.color.onTertiaryContainer});\r\n }\r\n :host(:not(:disabled)) {\r\n cursor: pointer;\r\n }\r\n :host(:disabled) .base {\r\n color: color-mix(\r\n in srgb,\r\n var(--m3e-menu-item-disabled-color, ${DesignToken.color.onSurface}) var(--m3e-menu-item-disabled-opacity, 38%),\r\n transparent\r\n );\r\n }\r\n\r\n .base {\r\n box-sizing: border-box;\r\n vertical-align: middle;\r\n display: inline-flex;\r\n align-items: center;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n border-radius: var(--m3e-menu-item-shape, ${DesignToken.shape.corner.extraSmall});\r\n transition: ${unsafeCSS(`border-radius ${DesignToken.motion.spring.fastEffects}`)};\r\n }\r\n :host([checked]:not(.-first)) .base {\r\n border-top-left-radius: var(--m3e-menu-item-selected-shape, ${DesignToken.shape.corner.medium});\r\n border-top-right-radius: var(--m3e-menu-item-selected-shape, ${DesignToken.shape.corner.medium});\r\n }\r\n :host([checked]:not(.-last)) .base {\r\n border-bottom-left-radius: var(--m3e-menu-item-selected-shape, ${DesignToken.shape.corner.medium});\r\n border-bottom-right-radius: var(--m3e-menu-item-selected-shape, ${DesignToken.shape.corner.medium});\r\n }\r\n :host(.-first) .base {\r\n border-top-left-radius: var(--m3e-menu-item-first-child-shape, ${DesignToken.shape.corner.medium});\r\n border-top-right-radius: var(--m3e-menu-item-first-child-shape, ${DesignToken.shape.corner.medium});\r\n }\r\n :host(.-last) .base {\r\n border-bottom-left-radius: var(--m3e-menu-item-last-child-shape, ${DesignToken.shape.corner.medium});\r\n border-bottom-right-radius: var(--m3e-menu-item-last-child-shape, ${DesignToken.shape.corner.medium});\r\n }\r\n .touch {\r\n position: absolute;\r\n height: 3rem;\r\n left: 0;\r\n right: 0;\r\n }\r\n .wrapper {\r\n flex: 1 1 auto;\r\n display: inline-flex;\r\n align-items: center;\r\n column-gap: var(--m3e-menu-item-icon-label-space, 0.5rem);\r\n padding-inline-start: var(--m3e-menu-item-padding-start, 0.75rem);\r\n padding-inline-end: var(--m3e-menu-item-padding-end, 0.75rem);\r\n font-size: var(--m3e-menu-item-label-text-font-size, ${DesignToken.typescale.standard.label.large.fontSize});\r\n font-weight: var(\r\n --m3e-menu-item-label-text-font-weight,\r\n ${DesignToken.typescale.standard.label.large.fontWeight}\r\n );\r\n line-height: var(\r\n --m3e-menu-item-label-text-line-height,\r\n ${DesignToken.typescale.standard.label.large.lineHeight}\r\n );\r\n letter-spacing: var(--m3e-menu-item-label-text-tracking, ${DesignToken.typescale.standard.label.large.tracking});\r\n }\r\n .focus-ring {\r\n border-radius: var(--m3e-menu-item-focus-ring-shape, inherit);\r\n }\r\n .content {\r\n flex: 1 1 auto;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n }\r\n ::slotted([slot=\"icon\"]),\r\n ::slotted([slot=\"trailing-icon\"]),\r\n .trailing-icon {\r\n flex: none;\r\n width: 1em;\r\n font-size: var(--m3e-menu-item-icon-size, 1.25rem) !important;\r\n }\r\n @media (prefers-reduced-motion) {\r\n .base {\r\n transition: none;\r\n }\r\n }\r\n @media (forced-colors: active) {\r\n .base {\r\n background-color: Menu;\r\n color: MenuText;\r\n }\r\n :host(:disabled) .base {\r\n color: GrayText;\r\n }\r\n }\r\n `;\r\n\r\n /** @private */ @query(\".focus-ring\") private readonly _focusRing?: M3eFocusRingElement;\r\n /** @private */ @query(\".state-layer\") private readonly _stateLayer?: M3eStateLayerElement;\r\n /** @private */ @query(\".ripple\") private readonly _ripple?: M3eRippleElement;\r\n\r\n /** The menu to which this item belongs. */\r\n get menu(): M3eMenuElement | null {\r\n return this.closest(\"m3e-menu\");\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues<this>): void {\r\n super.firstUpdated(_changedProperties);\r\n [this._focusRing, this._stateLayer, this._ripple].forEach((x) => x?.attach(this));\r\n }\r\n\r\n /** @inheritdoc */\r\n override render(): unknown {\r\n return html`<div class=\"base\">\r\n <m3e-state-layer class=\"state-layer\" ?disabled=\"${this.disabled}\"></m3e-state-layer>\r\n <m3e-focus-ring class=\"focus-ring\" ?disabled=\"${this.disabled}\"></m3e-focus-ring>\r\n <m3e-ripple class=\"ripple\" ?disabled=\"${this.disabled}\"></m3e-ripple>\r\n <div class=\"touch\" aria-hidden=\"true\"></div>\r\n ${isLinkButtonMixin(this) ? this[renderPseudoLink]() : nothing}\r\n <div class=\"wrapper\">${this._renderContent()}</div>\r\n </div>`;\r\n }\r\n\r\n /** @internal Renders the content of the item. */\r\n protected abstract _renderContent(): unknown;\r\n}\r\n","import { customElement } from \"lit/decorators.js\";\r\n\r\nimport { ActionElementBase, HtmlFor } from \"@m3e/web/core\";\r\nimport { addAriaReferencedId, removeAriaReferencedId } from \"@m3e/web/core/a11y\";\r\n\r\nimport type { M3eMenuElement } from \"./MenuElement\";\r\n\r\n/**\r\n * An element, nested within a clickable element, used to open a menu.\r\n *\r\n * @description\r\n * The `m3e-menu-trigger` component is used to open a menu when nested within a clickable element\r\n * such as a button or menu item. It anchors the menu to its invoker, enabling contextual flows and\r\n * nested hierarchies.\r\n *\r\n * @example\r\n * The following example illustrates a basic menu. The `m3e-menu-trigger` is used to trigger a `m3e-menu` specified\r\n * by the `for` attribute when its parenting element is activated.\r\n * ```html\r\n * <m3e-button>\r\n * <m3e-menu-trigger for=\"menu1\">Basic menu</m3e-menu-trigger>\r\n * </m3e-button>\r\n * <m3e-menu id=\"menu1\">\r\n * <m3e-menu-item>Apple</m3e-menu-item>\r\n * <m3e-menu-item>Apricot</m3e-menu-item>\r\n * <m3e-menu-item>Avocado</m3e-menu-item>\r\n * <m3e-menu-item>Green Apple</m3e-menu-item>\r\n * <m3e-menu-item>Green Grapes</m3e-menu-item>\r\n * <m3e-menu-item>Olive</m3e-menu-item>\r\n * <m3e-menu-item>Orange</m3e-menu-item>\r\n * </m3e-menu>\r\n * ```\r\n *\r\n * @example\r\n * The next example illustrates nested menus. Submenus are triggered by placing a `m3e-menu-trigger` inside a `m3e-menu-item`.\r\n * ```html\r\n * <m3e-button>\r\n * <m3e-menu-trigger for=\"menu2\">Nested menus</m3e-menu-trigger>\r\n * </m3e-button>\r\n * <m3e-menu id=\"menu2\">\r\n * <m3e-menu-item>\r\n * <m3e-menu-trigger for=\"menu3\">Fruits with A</m3e-menu-trigger>\r\n * </m3e-menu-item>\r\n * <m3e-menu-item>Grapes</m3e-menu-item>\r\n * <m3e-menu-item>Olive</m3e-menu-item>\r\n * <m3e-menu-item>Orange</m3e-menu-item>\r\n * </m3e-menu>\r\n * <m3e-menu id=\"menu3\">\r\n * <m3e-menu-item>Apricot</m3e-menu-item>\r\n * <m3e-menu-item>Avocado</m3e-menu-item>\r\n * <m3e-menu-item>\r\n * <m3e-menu-trigger for=\"menu4\">Apples</m3e-menu-trigger>\r\n * </m3e-menu-item>\r\n * </m3e-menu>\r\n * <m3e-menu id=\"menu4\">\r\n * <m3e-menu-item>Fuji</m3e-menu-item>\r\n * <m3e-menu-item>Granny Smith</m3e-menu-item>\r\n * <m3e-menu-item>Red Delicious</m3e-menu-item>\r\n * </m3e-menu>\r\n * ```\r\n *\r\n * @tag m3e-menu-trigger\r\n *\r\n * @slot - Renders the contents of the trigger.\r\n */\r\n@customElement(\"m3e-menu-trigger\")\r\nexport class M3eMenuTriggerElement extends HtmlFor(ActionElementBase) {\r\n /** The menu triggered by the element. */\r\n get menu(): M3eMenuElement | null {\r\n return this.control?.tagName === \"M3E-MENU\" ? <M3eMenuElement>this.control : null;\r\n }\r\n\r\n /** @inheritdoc */\r\n override attach(control: HTMLElement): void {\r\n super.attach(control);\r\n\r\n const menu = this.menu;\r\n if (menu) {\r\n if (this.parentElement) {\r\n this.parentElement.ariaHasPopup = \"menu\";\r\n this.parentElement.ariaExpanded = \"false\";\r\n if (menu.id) {\r\n addAriaReferencedId(this.parentElement, \"aria-controls\", menu.id);\r\n }\r\n }\r\n if (this.closest(\"m3e-menu\")) {\r\n menu.submenu = true;\r\n }\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override detach(): void {\r\n if (this.parentElement) {\r\n this.parentElement.ariaHasPopup = null;\r\n this.parentElement.ariaExpanded = null;\r\n\r\n const menu = this.menu;\r\n if (menu?.id) {\r\n removeAriaReferencedId(this.parentElement, \"aria-controls\", menu.id);\r\n }\r\n }\r\n\r\n super.detach();\r\n }\r\n\r\n /** @inheritdoc */\r\n override _onClick(): void {\r\n if (this.parentElement) {\r\n if (this.parentElement.tagName === \"M3E-MENU-ITEM\") {\r\n this.menu?.show(this.parentElement);\r\n } else {\r\n this.menu?.toggle(this.parentElement);\r\n }\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-menu-trigger\": M3eMenuTriggerElement;\r\n }\r\n}\r\n","import { html } from \"lit\";\r\nimport { customElement, state } from \"lit/decorators.js\";\r\n\r\nimport { hasAssignedNodes, HoverController, LinkButton, Role } from \"@m3e/web/core\";\r\nimport { M3eDirectionality } from \"@m3e/web/core/bidi\";\r\n\r\nimport type { M3eMenuElement } from \"./MenuElement\";\r\nimport { MenuItemElementBase } from \"./MenuItemElementBase\";\r\nimport { M3eMenuTriggerElement } from \"./MenuTriggerElement\";\r\n\r\n/**\r\n * An item of a menu.\r\n *\r\n * @description\r\n * The `m3e-menu-item` component represents a single actionable item within a menu, supporting standard\r\n * click behavior, optional link semantics, and flexible icon placement for navigation, commands, or\r\n * contextual actions. It behaves as a button or link depending on its attributes, and can trigger a submenu\r\n * when a nested `m3e-menu-trigger` is present—enabling hierarchical flows.\r\n *\r\n * @example\r\n * The following example illustrates a basic menu. The `m3e-menu-trigger` is used to trigger a `m3e-menu` specified\r\n * by the `for` attribute when its parenting element is activated.\r\n * ```html\r\n * <m3e-button>\r\n * <m3e-menu-trigger for=\"menu1\">Basic menu</m3e-menu-trigger>\r\n * </m3e-button>\r\n * <m3e-menu id=\"menu1\">\r\n * <m3e-menu-item>Apple</m3e-menu-item>\r\n * <m3e-menu-item>Apricot</m3e-menu-item>\r\n * <m3e-menu-item>Avocado</m3e-menu-item>\r\n * <m3e-menu-item>Green Apple</m3e-menu-item>\r\n * <m3e-menu-item>Green Grapes</m3e-menu-item>\r\n * <m3e-menu-item>Olive</m3e-menu-item>\r\n * <m3e-menu-item>Orange</m3e-menu-item>\r\n * </m3e-menu>\r\n * ```\r\n *\r\n * @example\r\n * The next example illustrates nested menus. Submenus are triggered by placing a `m3e-menu-trigger` inside a `m3e-menu-item`.\r\n * ```html\r\n * <m3e-button>\r\n * <m3e-menu-trigger for=\"menu2\">Nested menus</m3e-menu-trigger>\r\n * </m3e-button>\r\n * <m3e-menu id=\"menu2\">\r\n * <m3e-menu-item>\r\n * <m3e-menu-trigger for=\"menu3\">Fruits with A</m3e-menu-trigger>\r\n * </m3e-menu-item>\r\n * <m3e-menu-item>Grapes</m3e-menu-item>\r\n * <m3e-menu-item>Olive</m3e-menu-item>\r\n * <m3e-menu-item>Orange</m3e-menu-item>\r\n * </m3e-menu>\r\n * <m3e-menu id=\"menu3\">\r\n * <m3e-menu-item>Apricot</m3e-menu-item>\r\n * <m3e-menu-item>Avocado</m3e-menu-item>\r\n * <m3e-menu-item>\r\n * <m3e-menu-trigger for=\"menu4\">Apples</m3e-menu-trigger>\r\n * </m3e-menu-item>\r\n * </m3e-menu>\r\n * <m3e-menu id=\"menu4\">\r\n * <m3e-menu-item>Fuji</m3e-menu-item>\r\n * <m3e-menu-item>Granny Smith</m3e-menu-item>\r\n * <m3e-menu-item>Red Delicious</m3e-menu-item>\r\n * </m3e-menu>\r\n * ```\r\n *\r\n * @tag m3e-menu-item\r\n *\r\n * @slot - Renders the label of the item.\r\n * @slot icon - Renders an icon before the items's label.\r\n * @slot trailing-icon - Renders an icon after the item's label.\r\n *\r\n * @attr disabled - Whether the element is disabled.\r\n * @attr download - Whether the `target` of the link button will be downloaded, optionally specifying the new name of the file.\r\n * @attr href - The URL to which the link button points.\r\n * @attr rel - The relationship between the `target` of the link button and the document.\r\n * @attr target - The target of the link button.\r\n *\r\n * @fires click - Emitted when the element is clicked.\r\n *\r\n * @cssprop --m3e-menu-item-container-height - Height of the menu item container.\r\n * @cssprop --m3e-menu-item-color - Text color for unselected, enabled menu items.\r\n * @cssprop --m3e-menu-item-container-hover-color - State layer hover color for unselected items.\r\n * @cssprop --m3e-menu-item-container-focus-color - State layer focus color for unselected items.\r\n * @cssprop --m3e-menu-item-ripple-color - Ripple color for unselected items.\r\n * @cssprop --m3e-menu-item-selected-color - Text color for selected items.\r\n * @cssprop --m3e-menu-item-selected-container-color - Background color for selected items.\r\n * @cssprop --m3e-menu-item-selected-container-hover-color - State layer hover color for selected items.\r\n * @cssprop --m3e-menu-item-selected-container-focus-color - State layer focus color for selected items.\r\n * @cssprop --m3e-menu-item-selected-ripple-color - Ripple color for selected items.\r\n * @cssprop --m3e-menu-item-active-state-layer-color - State layer color for expanded items.\r\n * @cssprop --m3e-menu-item-active-state-layer-opacity - State layer opacity for expanded items.\r\n * @cssprop --m3e-menu-item-disabled-color - Base color for disabled items.\r\n * @cssprop --m3e-menu-item-disabled-opacity - Opacity percentage for disabled item color mix.\r\n * @cssprop --m3e-vibrant-menu-item-color - Text color for unselected, enabled menu items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-container-hover-color - State layer hover color for unselected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-container-focus-color - State layer focus color for unselected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-ripple-color - Ripple color for unselected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-selected-color - Text color for selected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-selected-container-color - Background color for selected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-selected-container-hover-color - State layer hover color for selected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-selected-container-focus-color - State layer focus color for selected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-selected-ripple-color - Ripple color for selected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-active-state-layer-color - State layer color for expanded items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-disabled-color - Base color for disabled items for vibrant variant.\r\n * @cssprop --m3e-menu-item-icon-label-space - Horizontal gap between icon and content.\r\n * @cssprop --m3e-menu-item-padding-start - Start padding for the item wrapper.\r\n * @cssprop --m3e-menu-item-padding-end - End padding for the item wrapper.\r\n * @cssprop --m3e-menu-item-label-text-font-size - Font size for menu item text.\r\n * @cssprop --m3e-menu-item-label-text-font-weight - Font weight for menu item text.\r\n * @cssprop --m3e-menu-item-label-text-line-height - Line height for menu item text.\r\n * @cssprop --m3e-menu-item-label-text-tracking - Letter spacing for menu item text.\r\n * @cssprop --m3e-menu-item-focus-ring-shape - Border radius for the focus ring.\r\n * @cssprop --m3e-menu-item-icon-size - Font size for leading and trailing icons.\r\n * @cssprop --m3e-menu-item-shape - Base shape of the menu item.\r\n * @cssprop --m3e-menu-item-first-child-shape - Shape for the first menu item in a menu.\r\n * @cssprop --m3e-menu-item-last-child-shape - Shape for the last menu item in a menu.\r\n */\r\n@customElement(\"m3e-menu-item\")\r\nexport class M3eMenuItemElement extends LinkButton(Role(MenuItemElementBase, \"menuitem\")) {\r\n /** @private */ readonly #clickHandler = (e: Event) => this.#handleClick(e);\r\n /** @private */ readonly #keyDownHandler = (e: KeyboardEvent) => this.#handleKeyDown(e);\r\n /** @private */ readonly #mouseEnterHandler = () => this.#handleMouseEnter();\r\n\r\n /** @private */ @state() private _hasSubmenu = false;\r\n /** @private */ #submenuTrigger?: M3eMenuTriggerElement;\r\n\r\n constructor() {\r\n super();\r\n\r\n new HoverController(this, {\r\n startDelay: 500,\r\n endDelay: 500,\r\n callback: (hovering) => {\r\n if (hovering && !this.disabled && this.#submenuTrigger) {\r\n this.#submenuTrigger.menu?.show(this);\r\n }\r\n },\r\n });\r\n }\r\n\r\n /** The submenu triggered by the item. */\r\n get submenu(): M3eMenuElement | null {\r\n return this.#submenuTrigger?.menu ?? null;\r\n }\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n\r\n this.addEventListener(\"click\", this.#clickHandler);\r\n this.addEventListener(\"keydown\", this.#keyDownHandler);\r\n this.addEventListener(\"mouseenter\", this.#mouseEnterHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n this.removeEventListener(\"click\", this.#clickHandler);\r\n this.removeEventListener(\"keydown\", this.#keyDownHandler);\r\n this.removeEventListener(\"mouseenter\", this.#mouseEnterHandler);\r\n }\r\n\r\n /** @internal @inheritdoc */\r\n protected override _renderContent(): unknown {\r\n return html`<slot name=\"icon\" aria-hidden=\"true\" @slotchange=\"${this.#iconSlotChangeHandler}\"></slot>\r\n <span class=\"content\"><slot @slotchange=\"${this.#defaultSlotChangeHandler}\"></slot></span>\r\n ${this._hasSubmenu\r\n ? M3eDirectionality.current === \"ltr\"\r\n ? html`<svg class=\"trailing-icon\" aria-hidden=\"true\" viewBox=\"0 -960 960 960\" fill=\"currentColor\">\r\n <path d=\"M400-280v-400l200 200-200 200Z\" />\r\n </svg>`\r\n : html`<svg class=\"trailing-icon\" aria-hidden=\"true\" viewBox=\"0 -960 960 960\" fill=\"currentColor\">\r\n <path d=\"M560-280 360-480l200-200v400Z\" />\r\n </svg>`\r\n : html`<slot name=\"trailing-icon\" aria-hidden=\"true\" @slotchange=\"${this.#trailingIconSlotChangeHandler}\">\r\n </slot>`}`;\r\n }\r\n\r\n /** @private */\r\n #defaultSlotChangeHandler(e: Event): void {\r\n this.#submenuTrigger = (<HTMLSlotElement>e.target)\r\n .assignedElements({ flatten: true })\r\n .find((x) => x instanceof M3eMenuTriggerElement);\r\n this._hasSubmenu = this.#submenuTrigger !== undefined;\r\n }\r\n\r\n /** @private */\r\n #iconSlotChangeHandler(e: Event): void {\r\n this.classList.toggle(\"-with-icon\", hasAssignedNodes(<HTMLSlotElement>e.target));\r\n }\r\n\r\n /** @private */\r\n #trailingIconSlotChangeHandler(e: Event): void {\r\n this.classList.toggle(\"-with-trailing-icon\", hasAssignedNodes(<HTMLSlotElement>e.target));\r\n }\r\n\r\n /** @private */\r\n #handleClick(e: Event): void {\r\n if (!e.defaultPrevented && !this._hasSubmenu) {\r\n this.menu?.hideAll(true);\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleKeyDown(e: KeyboardEvent): void {\r\n if (e.defaultPrevented || this.disabled) return;\r\n\r\n switch (e.key) {\r\n case \"Right\":\r\n case \"ArrowRight\":\r\n if (M3eDirectionality.current === \"ltr\") {\r\n e.preventDefault();\r\n this.submenu?.show(this);\r\n }\r\n\r\n break;\r\n\r\n case \"Left\":\r\n case \"ArrowLeft\":\r\n if (M3eDirectionality.current === \"rtl\") {\r\n e.preventDefault();\r\n this.submenu?.show(this);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleMouseEnter(): void {\r\n this.menu?.items.forEach((item) => {\r\n if (item instanceof M3eMenuItemElement && item !== this && item.submenu?.isOpen) {\r\n item.submenu.hide();\r\n }\r\n });\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-menu-item\": M3eMenuItemElement;\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */\r\nimport { css, CSSResultGroup, html, LitElement, PropertyValues, unsafeCSS } from \"lit\";\r\nimport { customElement, property } from \"lit/decorators.js\";\r\n\r\nimport { DesignToken, ScrollController, Role } from \"@m3e/web/core\";\r\nimport { RovingTabIndexManager } from \"@m3e/web/core/a11y\";\r\nimport { positionAnchor } from \"@m3e/web/core/anchoring\";\r\nimport { M3eDirectionality } from \"@m3e/web/core/bidi\";\r\n\r\nimport { M3eMenuItemElement } from \"./MenuItemElement\";\r\nimport { MenuPositionX, MenuPositionY } from \"./MenuPosition\";\r\nimport { MenuItemElementBase } from \"./MenuItemElementBase\";\r\nimport { MenuVariant } from \"./MenuVariant\";\r\n\r\n/**\r\n * Presents a list of choices on a temporary surface.\r\n *\r\n * @description\r\n * The `m3e-menu` component presents a list of choices on a temporary surface, typically anchored to a trigger element.\r\n * It supports dynamic positioning via `position-x` and `position-y` attributes, and renders its contents through the default slot.\r\n *\r\n * @example\r\n * The following example illustrates a basic menu. The `m3e-menu-trigger` is used to trigger a `m3e-menu` specified\r\n * by the `for` attribute when its parenting element is activated.\r\n * ```html\r\n * <m3e-button>\r\n * <m3e-menu-trigger for=\"menu1\">Basic menu</m3e-menu-trigger>\r\n * </m3e-button>\r\n * <m3e-menu id=\"menu1\">\r\n * <m3e-menu-item>Apple</m3e-menu-item>\r\n * <m3e-menu-item>Apricot</m3e-menu-item>\r\n * <m3e-menu-item>Avocado</m3e-menu-item>\r\n * <m3e-menu-item>Green Apple</m3e-menu-item>\r\n * <m3e-menu-item>Green Grapes</m3e-menu-item>\r\n * <m3e-menu-item>Olive</m3e-menu-item>\r\n * <m3e-menu-item>Orange</m3e-menu-item>\r\n * </m3e-menu>\r\n * ```\r\n *\r\n * @example\r\n * The next example illustrates nested menus. Submenus are triggered by placing a `m3e-menu-trigger` inside a `m3e-menu-item`.\r\n * ```html\r\n * <m3e-button>\r\n * <m3e-menu-trigger for=\"menu2\">Nested menus</m3e-menu-trigger>\r\n * </m3e-button>\r\n * <m3e-menu id=\"menu2\">\r\n * <m3e-menu-item>\r\n * <m3e-menu-trigger for=\"menu3\">Fruits with A</m3e-menu-trigger>\r\n * </m3e-menu-item>\r\n * <m3e-menu-item>Grapes</m3e-menu-item>\r\n * <m3e-menu-item>Olive</m3e-menu-item>\r\n * <m3e-menu-item>Orange</m3e-menu-item>\r\n * </m3e-menu>\r\n * <m3e-menu id=\"menu3\">\r\n * <m3e-menu-item>Apricot</m3e-menu-item>\r\n * <m3e-menu-item>Avocado</m3e-menu-item>\r\n * <m3e-menu-item>\r\n * <m3e-menu-trigger for=\"menu4\">Apples</m3e-menu-trigger>\r\n * </m3e-menu-item>\r\n * </m3e-menu>\r\n * <m3e-menu id=\"menu4\">\r\n * <m3e-menu-item>Fuji</m3e-menu-item>\r\n * <m3e-menu-item>Granny Smith</m3e-menu-item>\r\n * <m3e-menu-item>Red Delicious</m3e-menu-item>\r\n * </m3e-menu>\r\n * ```\r\n *\r\n * @tag m3e-menu\r\n *\r\n * @slot - Renders the contents of the menu.\r\n *\r\n * @attr position-x - The position of the menu, on the x-axis.\r\n * @attr position-y - The position of the menu, on the y-axis.\r\n * @attr variant - The appearance variant of the menu.\r\n *\r\n * @fires beforetoggle - Dispatched before the toggle state changes.\r\n * @fires toggle - Dispatched after the toggle state has changed.\r\n *\r\n * @cssprop --m3e-menu-container-shape - Controls the corner radius of the menu container.\r\n * @cssprop --m3e-menu-active-container-shape - Controls the corner radius of the menu container when active.\r\n * @cssprop --m3e-menu-container-min-width - Minimum width of the menu container.\r\n * @cssprop --m3e-menu-container-max-width - Maximum width of the menu container.\r\n * @cssprop --m3e-menu-container-max-height - Maximum height of the menu container.\r\n * @cssprop --m3e-menu-container-padding-block - Vertical padding inside the menu container.\r\n * @cssprop --m3e-menu-container-padding-inline - Horizontal padding inside the menu container.\r\n * @cssprop --m3e-menu-container-color - Background color of the menu container.\r\n * @cssprop --m3e-menu-container-elevation - Box shadow elevation of the menu container.\r\n * @cssprop --m3e-vibrant-menu-container-color - Background color of the menu container for vibrant variant.\r\n * @cssprop --m3e-menu-divider-spacing - Vertical spacing around slotted `m3e-divider` elements.\r\n * @cssprop --m3e-menu-gap - Gap between content in the menu.\r\n */\r\n@customElement(\"m3e-menu\")\r\nexport class M3eMenuElement extends Role(LitElement, \"menu\") {\r\n static {\r\n if (document) {\r\n const lightDomStyle = new CSSStyleSheet();\r\n lightDomStyle.replaceSync(\r\n css`\r\n m3e-menu > m3e-divider {\r\n margin-block: var(--m3e-menu-divider-spacing, 0.5rem);\r\n }\r\n `.toString(),\r\n );\r\n\r\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, lightDomStyle];\r\n }\r\n }\r\n\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n position: absolute;\r\n padding: unset;\r\n margin: unset;\r\n border: unset;\r\n overflow-y: auto;\r\n overflow-x: visible;\r\n scrollbar-width: ${DesignToken.scrollbar.thinWidth};\r\n scrollbar-color: ${DesignToken.scrollbar.color};\r\n scroll-padding-block: calc(\r\n var(--m3e-focus-ring-thickness, 0.1875rem) + var(--m3e-menu-container-padding-block, 0.25rem)\r\n );\r\n min-width: var(--m3e-menu-container-min-width, 7rem);\r\n max-width: var(--m3e-menu-container-max-width, 17.5rem);\r\n max-height: var(--m3e-menu-container-max-height, 17.5rem);\r\n box-shadow: var(--m3e-menu-container-elevation, ${DesignToken.elevation.level3});\r\n opacity: 0;\r\n display: none;\r\n }\r\n .base {\r\n display: flex;\r\n flex-direction: column;\r\n row-gap: var(--m3e-menu-gap, 0.125rem);\r\n min-width: inherit;\r\n max-width: inherit;\r\n padding-block: var(--m3e-menu-container-padding-block, 0.25rem);\r\n padding-inline: var(--m3e-menu-container-padding-inline, 0.25rem);\r\n }\r\n :host(:not(.-active)) {\r\n border-radius: var(--m3e-menu-container-shape, ${DesignToken.shape.corner.small});\r\n }\r\n :host(.-active) {\r\n border-radius: var(--m3e-menu-active-container-shape, ${DesignToken.shape.corner.large});\r\n }\r\n :host(:not(.-no-animate)) {\r\n transition: ${unsafeCSS(\r\n `opacity ${DesignToken.motion.duration.short2} ${DesignToken.motion.easing.standard}, \r\n transform ${DesignToken.motion.duration.short2} ${DesignToken.motion.easing.standard},\r\n overlay ${DesignToken.motion.duration.short2} ${DesignToken.motion.easing.standard} allow-discrete,\r\n display ${DesignToken.motion.duration.short2} ${DesignToken.motion.easing.standard} allow-discrete,\r\n border-radius ${DesignToken.motion.spring.fastEffects}`,\r\n )};\r\n }\r\n :host(:not([submenu])) {\r\n transform: scaleY(0.8);\r\n }\r\n :host(:not([submenu]):popover-open) {\r\n transform: scaleY(1);\r\n }\r\n :host::backdrop {\r\n background-color: transparent;\r\n }\r\n :host(:popover-open) {\r\n display: block;\r\n opacity: 1;\r\n }\r\n :host(.-bottom) {\r\n transform-origin: top;\r\n }\r\n :host(.-top) {\r\n transform-origin: bottom;\r\n }\r\n :host(.-shift-down) {\r\n margin-top: calc(0px - var(--m3e-menu-container-padding-block, 0.25rem));\r\n }\r\n :host(.-shift-up) {\r\n margin-top: var(--m3e-menu-container-padding-block, 0.25rem);\r\n }\r\n :host([variant=\"vibrant\"]) {\r\n background-color: var(--m3e-vibrant-menu-container-color, ${DesignToken.color.tertiaryContainer});\r\n --m3e-menu-item-color: var(--m3e-vibrant-menu-item-color, ${DesignToken.color.onTertiaryContainer});\r\n --m3e-menu-item-container-hover-color: var(\r\n --m3e-vibrant-menu-item-container-hover-color,\r\n ${DesignToken.color.onTertiaryContainer}\r\n );\r\n --m3e-menu-item-container-focus-color: var(\r\n --m3e-vibrant-menu-item-container-focus-color,\r\n ${DesignToken.color.onTertiaryContainer}\r\n );\r\n --m3e-menu-item-ripple-color: var(--m3e-vibrant-menu-item-ripple-color, ${DesignToken.color.onTertiaryContainer});\r\n --m3e-menu-item-active-state-layer-color: var(\r\n --m3e-vibrant-menu-item-active-state-layer-color,\r\n ${DesignToken.color.onTertiaryContainer}\r\n );\r\n --m3e-menu-item-selected-color: var(--m3e-vibrant-menu-item-selected-color, ${DesignToken.color.onTertiary});\r\n --m3e-menu-item-selected-container-color: var(\r\n --m3e-vibrant-menu-item-selected-container-color,\r\n ${DesignToken.color.tertiary}\r\n );\r\n\r\n --m3e-menu-item-selected-container-hover-color: var(\r\n --m3e-vibrant-menu-item-selected-container-hover-color,\r\n ${DesignToken.color.onTertiary}\r\n );\r\n --m3e-menu-item-container-selected-focus-color: var(\r\n --m3e-vibrant-menu-item-selected-container-focus-color,\r\n ${DesignToken.color.onTertiary}\r\n );\r\n --m3e-menu-item-selected-ripple-color: var(\r\n --m3e-vibrant-menu-item-selected-ripple-color,\r\n ${DesignToken.color.onTertiary}\r\n );\r\n --m3e-menu-item-disabled-color: var(\r\n --m3e-vibrant-menu-item-disabled-color,\r\n ${DesignToken.color.onTertiaryContainer}\r\n );\r\n }\r\n :host([variant=\"standard\"]) {\r\n background-color: var(--m3e-menu-container-color, ${DesignToken.color.surfaceContainer});\r\n }\r\n @starting-style {\r\n :host(:popover-open) {\r\n opacity: 0;\r\n }\r\n :host(:not([submenu]):popover-open) {\r\n transform: scaleY(0.8);\r\n }\r\n }\r\n @media (prefers-reduced-motion) {\r\n :host(:not(.-no-animate)) {\r\n transition: none;\r\n }\r\n }\r\n @media (forced-colors: active) {\r\n :host {\r\n background-color: Menu;\r\n color: MenuText;\r\n outline: 1px solid MenuText;\r\n }\r\n }\r\n `;\r\n\r\n /** @private */ static __activeMenu?: M3eMenuElement;\r\n\r\n /** @private */ #trigger?: HTMLElement;\r\n /** @private */ #anchorCleanup?: () => void;\r\n\r\n /** @private */ readonly #listManager = new RovingTabIndexManager<MenuItemElementBase>()\r\n .withWrap()\r\n .withHomeAndEnd()\r\n .withVerticalOrientation();\r\n\r\n /** @private */ readonly #keyDownHandler = (e: KeyboardEvent) => this.#handleKeyDown(e);\r\n /** @private */ readonly #mouseEnterHandler = () => this.#handleMouseEnter();\r\n /** @private */ readonly #documentClickHandler = (e: MouseEvent) => this.#handleDocumentClick(e);\r\n /** @private */ readonly #scrollController = new ScrollController(this, {\r\n target: null,\r\n callback: (target) =>\r\n target instanceof M3eMenuElement\r\n ? target.items.filter((x) => x instanceof M3eMenuItemElement).forEach((x) => x.submenu?.hide())\r\n : this.hideAll(),\r\n });\r\n\r\n /** @private */ readonly #toggleHandler = (e: ToggleEvent) => {\r\n if (e.newState === \"closed\") {\r\n this.#anchorCleanup?.();\r\n this.#anchorCleanup = undefined;\r\n } else {\r\n setTimeout(() => {\r\n this.#listManager.setActiveItem(this.#listManager.items.find((x) => !x.disabled));\r\n }, 40);\r\n }\r\n };\r\n\r\n /**\r\n * The position of the menu, on the x-axis.\r\n * @default \"after\"\r\n */\r\n @property({ attribute: \"position-x\" }) positionX: MenuPositionX = \"after\";\r\n\r\n /**\r\n * The position of the menu, on the y-axis.\r\n * @default \"below\"\r\n */\r\n @property({ attribute: \"position-y\" }) positionY: MenuPositionY = \"below\";\r\n\r\n /**\r\n * The appearance variant of the menu.\r\n * @default \"standard\"\r\n */\r\n @property({ reflect: true }) variant: MenuVariant = \"standard\";\r\n\r\n /** The items of the menu. */\r\n get items(): ReadonlyArray<MenuItemElementBase> {\r\n return this.#listManager.items;\r\n }\r\n\r\n /** A value indicating whether the menu is open. */\r\n get isOpen() {\r\n return this.#trigger !== undefined;\r\n }\r\n\r\n /** A value indicating whether the menu is a submenu. */\r\n @property({ type: Boolean, reflect: true }) submenu = false;\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n\r\n this.tabIndex = -1;\r\n this.classList.add(\"-no-animate\");\r\n this.setAttribute(\"popover\", \"manual\");\r\n this.addEventListener(\"keydown\", this.#keyDownHandler);\r\n this.addEventListener(\"mouseenter\", this.#mouseEnterHandler);\r\n this.addEventListener(\"toggle\", this.#toggleHandler);\r\n document.addEventListener(\"click\", this.#documentClickHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n this.removeEventListener(\"keydown\", this.#keyDownHandler);\r\n this.removeEventListener(\"mouseenter\", this.#mouseEnterHandler);\r\n this.removeEventListener(\"toggle\", this.#toggleHandler);\r\n document.removeEventListener(\"click\", this.#documentClickHandler);\r\n\r\n this.#deactivate();\r\n }\r\n\r\n /**\r\n * Opens the menu.\r\n * @param {HTMLElement} trigger The element that triggered the menu.\r\n * @returns {Promise<void>} A `Promise` that resolves when the menu is opened.\r\n */\r\n async show(trigger: HTMLElement): Promise<void> {\r\n if (this.#trigger && this.#trigger !== trigger) {\r\n this.hide();\r\n }\r\n\r\n let positionX = this.positionX;\r\n if (M3eDirectionality.current === \"rtl\") {\r\n positionX = positionX === \"before\" ? \"after\" : \"before\";\r\n }\r\n\r\n this.#anchorCleanup = await positionAnchor(\r\n this,\r\n trigger,\r\n {\r\n position: this.submenu\r\n ? positionX === \"before\"\r\n ? \"left-start\"\r\n : \"right-start\"\r\n : this.positionY === \"above\"\r\n ? positionX === \"before\"\r\n ? \"top-end\"\r\n : \"top-start\"\r\n : positionX === \"before\"\r\n ? \"bottom-end\"\r\n : \"bottom-start\",\r\n inline: true,\r\n flip: true,\r\n shift: true,\r\n offset: !this.submenu ? 4 : undefined,\r\n },\r\n (x, y, position) => {\r\n if (!this.submenu) {\r\n this.classList.toggle(\"-top\", position.includes(\"top\"));\r\n this.classList.toggle(\"-bottom\", position.includes(\"bottom\"));\r\n } else if (this.#trigger) {\r\n const top = this.#getAbsolutePosition(this.#trigger).y;\r\n this.classList.toggle(\"-shift-down\", false);\r\n this.classList.toggle(\"-shift-up\", false);\r\n this.classList.toggle(Math.round(y) === Math.round(top) ? \"-shift-down\" : \"-shift-up\", true);\r\n }\r\n\r\n if (M3eDirectionality.current === \"rtl\") {\r\n this.style.right = `${window.innerWidth - x - this.clientWidth}px`;\r\n } else {\r\n this.style.left = `${x}px`;\r\n }\r\n this.style.top = `${y}px`;\r\n },\r\n );\r\n\r\n const parent = trigger.closest(\"m3e-menu\");\r\n if (parent) {\r\n this.variant = parent.variant;\r\n } else {\r\n this.#activate();\r\n }\r\n\r\n this.showPopover();\r\n\r\n this.#trigger = trigger;\r\n this.#trigger.ariaExpanded = \"true\";\r\n this.#scrollController.observe(this.#trigger);\r\n }\r\n\r\n /**\r\n * Hides the menu.\r\n * @param {boolean} [restoreFocus=false] A value indicating whether to restore focus to the menu's trigger.\r\n */\r\n hide(restoreFocus: boolean = false): void {\r\n for (const item of this.#listManager.items) {\r\n const submenu = (<M3eMenuItemElement>item).submenu;\r\n if (submenu && submenu.isOpen) {\r\n submenu.hide();\r\n }\r\n }\r\n\r\n this.#deactivate();\r\n this.hidePopover();\r\n\r\n if (this.#trigger) {\r\n this.#trigger.ariaExpanded = \"false\";\r\n if (restoreFocus) {\r\n this.#trigger.focus();\r\n }\r\n this.#scrollController.unobserve(this.#trigger);\r\n this.#trigger = undefined;\r\n }\r\n }\r\n\r\n /**\r\n * Closes this menu and any parenting menus.\r\n * @param {boolean} [restoreFocus=false] A value indicating whether to restore focus to the menu's trigger.\r\n */\r\n hideAll(restoreFocus: boolean = false): void {\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n let menu: M3eMenuElement = this;\r\n while (menu.#trigger) {\r\n const parent = menu.#trigger.closest(\"m3e-menu\");\r\n if (!parent) {\r\n break;\r\n }\r\n menu = parent;\r\n }\r\n menu.hide(restoreFocus);\r\n }\r\n\r\n /**\r\n * Toggles the menu.\r\n * @param {HTMLElement} trigger The element that triggered the menu.\r\n * @returns {Promise<void>} A `Promise` that resolves when the menu is opened or closed.\r\n */\r\n async toggle(trigger: HTMLElement): Promise<void> {\r\n if (this.#trigger) {\r\n this.hide();\r\n } else {\r\n await this.show(trigger);\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<div class=\"base\"><slot @slotchange=\"${this.#handleSlotChange}\"></slot></div>`;\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues): void {\r\n super.firstUpdated(_changedProperties);\r\n requestAnimationFrame(() => this.classList.remove(\"-no-animate\"));\r\n }\r\n\r\n /** @private */\r\n #handleSlotChange(): void {\r\n const { added } = this.#listManager.setItems(\r\n [\r\n ...this.querySelectorAll<MenuItemElementBase>(\"m3e-menu-item,m3e-menu-item-checkbox,m3e-menu-item-radio\"),\r\n ].filter((x) => x.closest(\"m3e-menu\") === this),\r\n );\r\n\r\n if (!this.#listManager.activeItem) {\r\n this.#listManager.updateActiveItem(added.find((x) => !x.disabled));\r\n }\r\n\r\n this.#listManager.items.forEach((x, i) => {\r\n x.classList.toggle(\"-first\", i === 0);\r\n x.classList.toggle(\"-last\", i === this.#listManager.items.length - 1);\r\n });\r\n }\r\n\r\n /** @private */\r\n #handleKeyDown(e: KeyboardEvent): void {\r\n switch (e.key) {\r\n case \"Right\":\r\n case \"ArrowRight\":\r\n if (M3eDirectionality.current === \"rtl\") {\r\n e.preventDefault();\r\n this.hide(true);\r\n } else {\r\n this.#listManager.onKeyDown(e);\r\n }\r\n\r\n break;\r\n case \"Left\":\r\n case \"ArrowLeft\":\r\n if (M3eDirectionality.current === \"ltr\") {\r\n e.preventDefault();\r\n this.hide(true);\r\n } else {\r\n this.#listManager.onKeyDown(e);\r\n }\r\n\r\n break;\r\n\r\n case \"Tab\":\r\n this.hideAll();\r\n break;\r\n\r\n case \"Escape\":\r\n if (!e.shiftKey && !e.ctrlKey) {\r\n this.hide(true);\r\n }\r\n break;\r\n\r\n default:\r\n this.#listManager.onKeyDown(e);\r\n break;\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleMouseEnter(): void {\r\n this.#activate();\r\n }\r\n\r\n /** @private */\r\n #handleDocumentClick(e: MouseEvent): void {\r\n if (!this.submenu && !e.composedPath().some((x) => x instanceof M3eMenuElement || x === this.#trigger)) {\r\n this.hide();\r\n }\r\n }\r\n\r\n /** @private */\r\n #getAbsolutePosition(element: HTMLElement): { x: number; y: number } {\r\n let x = 0,\r\n y = 0;\r\n\r\n for (\r\n let current: HTMLElement | null = element;\r\n current;\r\n current = current.offsetParent instanceof HTMLElement ? current.offsetParent : null\r\n ) {\r\n x += current.offsetLeft - current.scrollLeft + current.clientLeft;\r\n y += current.offsetTop - current.scrollTop + current.clientTop;\r\n }\r\n\r\n return { x, y };\r\n }\r\n\r\n /** @private */\r\n #activate(): void {\r\n if (this !== M3eMenuElement.__activeMenu) {\r\n M3eMenuElement.__activeMenu?.classList.remove(\"-active\");\r\n M3eMenuElement.__activeMenu = this;\r\n M3eMenuElement.__activeMenu?.classList.add(\"-active\");\r\n }\r\n }\r\n\r\n /** @private */\r\n #deactivate(): void {\r\n if (this === M3eMenuElement.__activeMenu) {\r\n M3eMenuElement.__activeMenu.classList.remove(\"-active\");\r\n M3eMenuElement.__activeMenu = undefined;\r\n }\r\n }\r\n}\r\n\r\ninterface M3eMenuElementEventMap extends HTMLElementEventMap {\r\n beforetoggle: ToggleEvent;\r\n toggle: ToggleEvent;\r\n}\r\n\r\nexport interface M3eMenuElement {\r\n addEventListener<K extends keyof M3eMenuElementEventMap>(\r\n type: K,\r\n listener: (this: M3eMenuElement, ev: M3eMenuElementEventMap[K]) => void,\r\n options?: boolean | AddEventListenerOptions,\r\n ): void;\r\n\r\n addEventListener(\r\n type: string,\r\n listener: EventListenerOrEventListenerObject,\r\n options?: boolean | AddEventListenerOptions,\r\n ): void;\r\n\r\n removeEventListener<K extends keyof M3eMenuElementEventMap>(\r\n type: K,\r\n listener: (this: M3eMenuElement, ev: M3eMenuElementEventMap[K]) => void,\r\n options?: boolean | EventListenerOptions,\r\n ): void;\r\n\r\n removeEventListener(\r\n type: string,\r\n listener: EventListenerOrEventListenerObject,\r\n options?: boolean | EventListenerOptions,\r\n ): void;\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-menu\": M3eMenuElement;\r\n }\r\n}\r\n","import { css, CSSResultGroup, html } from \"lit\";\r\nimport { customElement } from \"lit/decorators.js\";\r\n\r\nimport { Checked, DesignToken, hasAssignedNodes, prefersReducedMotion, Role } from \"@m3e/web/core\";\r\n\r\nimport { M3eMenuItemElement } from \"./MenuItemElement\";\r\nimport { MenuItemElementBase } from \"./MenuItemElementBase\";\r\n\r\n/**\r\n * An item of a menu which supports a checkable state.\r\n *\r\n * @description\r\n * The `m3e-menu-item-checkbox` component represents a menu item that supports an independent checkable state.\r\n * It allows users to toggle options on or off without affecting other items in the menu, making it ideal for\r\n * multi-select scenarios such as filters, visibility toggles, or feature flags. This component encodes a persistent\r\n * selection contract and can coexist with other checkbox or radio items within the same menu.\r\n *\r\n * @example\r\n * The following example illustrates use of the `m3e-menu-item-checkbox` to present multiple independent checkable\r\n * items in a menu.\r\n * ```html\r\n * <m3e-button>\r\n * <m3e-menu-trigger for=\"menu\">Format</m3e-menu-trigger>\r\n * </m3e-button>\r\n * <m3e-menu id=\"menu\">\r\n * <m3e-menu-item-checkbox>Bold</m3e-menu-item-checkbox>\r\n * <m3e-menu-item-checkbox>Italic</m3e-menu-item-checkbox>\r\n * <m3e-menu-item-checkbox>Underline</m3e-menu-item-checkbox>\r\n * </m3e-menu>\r\n * ```\r\n *\r\n * @tag m3e-menu-item-checkbox\r\n *\r\n * @slot - Renders the label of the item.\r\n * @slot icon - Renders an icon before the items's label.\r\n * @slot trailing-icon - Renders an icon after the item's label.\r\n *\r\n * @attr disabled - Whether the element is disabled.\r\n * @attr checked - Whether the element is checked.\r\n *\r\n * @fires click - Emitted when the element is clicked.\r\n *\r\n * @cssprop --m3e-menu-item-container-height - Height of the menu item container.\r\n * @cssprop --m3e-menu-item-color - Text color for unselected, enabled menu items.\r\n * @cssprop --m3e-menu-item-container-hover-color - State layer hover color for unselected items.\r\n * @cssprop --m3e-menu-item-container-focus-color - State layer focus color for unselected items.\r\n * @cssprop --m3e-menu-item-ripple-color - Ripple color for unselected items.\r\n * @cssprop --m3e-menu-item-selected-color - Text color for selected items.\r\n * @cssprop --m3e-menu-item-selected-container-color - Background color for selected items.\r\n * @cssprop --m3e-menu-item-selected-container-hover-color - State layer hover color for selected items.\r\n * @cssprop --m3e-menu-item-selected-container-focus-color - State layer focus color for selected items.\r\n * @cssprop --m3e-menu-item-selected-ripple-color - Ripple color for selected items.\r\n * @cssprop --m3e-menu-item-active-state-layer-color - State layer color for expanded items.\r\n * @cssprop --m3e-menu-item-active-state-layer-opacity - State layer opacity for expanded items.\r\n * @cssprop --m3e-menu-item-disabled-color - Base color for disabled items.\r\n * @cssprop --m3e-menu-item-disabled-opacity - Opacity percentage for disabled item color mix.\r\n * @cssprop --m3e-vibrant-menu-item-color - Text color for unselected, enabled menu items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-container-hover-color - State layer hover color for unselected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-container-focus-color - State layer focus color for unselected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-ripple-color - Ripple color for unselected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-selected-color - Text color for selected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-selected-container-color - Background color for selected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-selected-container-hover-color - State layer hover color for selected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-selected-container-focus-color - State layer focus color for selected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-selected-ripple-color - Ripple color for selected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-active-state-layer-color - State layer color for expanded items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-disabled-color - Base color for disabled items for vibrant variant\r\n * @cssprop --m3e-menu-item-icon-label-space - Horizontal gap between icon and content.\r\n * @cssprop --m3e-menu-item-padding-start - Start padding for the item wrapper.\r\n * @cssprop --m3e-menu-item-padding-end - End padding for the item wrapper.\r\n * @cssprop --m3e-menu-item-label-text-font-size - Font size for menu item text.\r\n * @cssprop --m3e-menu-item-label-text-font-weight - Font weight for menu item text.\r\n * @cssprop --m3e-menu-item-label-text-line-height - Line height for menu item text.\r\n * @cssprop --m3e-menu-item-label-text-tracking - Letter spacing for menu item text.\r\n * @cssprop --m3e-menu-item-focus-ring-shape - Border radius for the focus ring.\r\n * @cssprop --m3e-menu-item-icon-size - Font size for leading and trailing icons.\r\n * @cssprop --m3e-menu-item-shape - Base shape of the menu item.\r\n * @cssprop --m3e-menu-item-selected-shape - Shape used for a selected menu item.\r\n * @cssprop --m3e-menu-item-first-child-shape - Shape for the first menu item in a menu.\r\n * @cssprop --m3e-menu-item-last-child-shape - Shape for the last menu item in a menu.\r\n */\r\n@customElement(\"m3e-menu-item-checkbox\")\r\nexport class M3eMenuItemCheckboxElement extends Checked(Role(MenuItemElementBase, \"menuitemcheckbox\")) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = [\r\n MenuItemElementBase.styles,\r\n css`\r\n .icon {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n transition: margin-inline-start ${DesignToken.motion.spring.fastEffects};\r\n }\r\n :host(:not(.-with-icon)) .icon {\r\n margin-inline-start: calc(0px - var(--m3e-menu-item-icon-label-space, 0.75rem));\r\n }\r\n .check {\r\n width: 1em;\r\n font-size: var(--m3e-menu-item-icon-size, 1.25rem) !important;\r\n }\r\n :host(:not([checked])) .check {\r\n display: none;\r\n }\r\n :host([checked]) .icon {\r\n margin-inline-start: 0;\r\n }\r\n :host([checked]) ::slotted([slot=\"icon\"]) {\r\n display: none !important;\r\n }\r\n @media (prefers-reduced-motion) {\r\n .icon {\r\n transition: none;\r\n }\r\n }\r\n `,\r\n ];\r\n\r\n /** @internal */ readonly #clickHandler = (e: Event) => this.#handleClick(e);\r\n /** @internal */ readonly #keyDownHandler = (e: KeyboardEvent) => this.#handleKeyDown(e);\r\n /** @internal */ readonly #keyUpHandler = () => this.#handleKeyUp();\r\n /** @internal */ readonly #mouseEnterHandler = () => this.#handleMouseEnter();\r\n /** @internal */ #spacePressed = false;\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n\r\n this.addEventListener(\"click\", this.#clickHandler);\r\n this.addEventListener(\"keydown\", this.#keyDownHandler);\r\n this.addEventListener(\"keyup\", this.#keyUpHandler);\r\n this.addEventListener(\"mouseenter\", this.#mouseEnterHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n this.removeEventListener(\"click\", this.#clickHandler);\r\n this.removeEventListener(\"keydown\", this.#keyDownHandler);\r\n this.removeEventListener(\"keyup\", this.#keyUpHandler);\r\n this.removeEventListener(\"mouseenter\", this.#mouseEnterHandler);\r\n }\r\n\r\n /** @internal @inheritdoc */\r\n protected override _renderContent(): unknown {\r\n return html` <div class=\"icon\">\r\n <svg class=\"check\" viewBox=\"0 -960 960 960\" aria-hidden=\"true\">\r\n <path fill=\"currentColor\" d=\"M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z\" />\r\n </svg>\r\n <slot name=\"icon\" @slotchange=\"${this.#handleIconSlotChange}\"></slot>\r\n </div>\r\n <slot></slot>\r\n <slot name=\"trailing-icon\" aria-hidden=\"true\" @slotchange=\"${this.#handleTrailingIconSlotChange}\"></slot>`;\r\n }\r\n\r\n /** @internal */\r\n #handleIconSlotChange(e: Event): void {\r\n this.classList.toggle(\"-with-icon\", hasAssignedNodes(<HTMLSlotElement>e.target));\r\n }\r\n\r\n /** @internal */\r\n #handleTrailingIconSlotChange(e: Event): void {\r\n this.classList.toggle(\"-with-trailing-icon\", hasAssignedNodes(<HTMLSlotElement>e.target));\r\n }\r\n\r\n /** @internal */\r\n #handleClick(e: Event): void {\r\n if (!e.defaultPrevented) {\r\n this.checked = !this.checked;\r\n this.performUpdate();\r\n\r\n if (!this.#spacePressed) {\r\n if (!prefersReducedMotion()) {\r\n setTimeout(() => this.menu?.hideAll(true), 150);\r\n } else {\r\n this.menu?.hideAll(true);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** @internal */\r\n #handleKeyDown(e: KeyboardEvent): void {\r\n this.#spacePressed = e.key === \" \";\r\n }\r\n\r\n /** @internal */\r\n #handleKeyUp(): void {\r\n this.#spacePressed = false;\r\n }\r\n\r\n /** @internal */\r\n #handleMouseEnter(): void {\r\n this.menu?.items.forEach((item) => {\r\n if (item instanceof M3eMenuItemElement && item.submenu?.isOpen) {\r\n item.submenu.hide();\r\n }\r\n });\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-menu-item-checkbox\": M3eMenuItemCheckboxElement;\r\n }\r\n}\r\n","import { Role } from \"@m3e/web/core\";\r\nimport { css, CSSResultGroup, html, LitElement } from \"lit\";\r\nimport { customElement } from \"lit/decorators.js\";\r\n\r\n/**\r\n * Groups related items (such a radios) in a menu.\r\n *\r\n * @description\r\n * The `m3e-menu-item-group` component groups related items within a menu, establishing a shared\r\n * context for interaction and selection. It enables separation of concerns—such as organizing radio\r\n * items into mutually exclusive sets.\r\n *\r\n * @tag m3e-menu-item-group\r\n *\r\n * @slot - Renders the contents of the group.\r\n */\r\n@customElement(\"m3e-menu-item-group\")\r\nexport class M3eMenuItemGroupElement extends Role(LitElement, \"group\") {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n display: contents;\r\n }\r\n `;\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<slot></slot>`;\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-menu-item-group\": M3eMenuItemGroupElement;\r\n }\r\n}\r\n","import { CSSResultGroup, html, PropertyValues } from \"lit\";\r\nimport { customElement } from \"lit/decorators.js\";\r\n\r\nimport { Checked, hasAssignedNodes, prefersReducedMotion, Role } from \"@m3e/web/core\";\r\n\r\nimport { M3eMenuItemCheckboxElement } from \"./MenuItemCheckboxElement\";\r\nimport { M3eMenuItemElement } from \"./MenuItemElement\";\r\nimport { MenuItemElementBase } from \"./MenuItemElementBase\";\r\n\r\n/**\r\n * An item of a menu which supports a mutually exclusive checkable state.\r\n *\r\n * @description\r\n * The `m3e-menu-item-radio` component represents a selectable menu item that participates in a mutually exclusive group.\r\n * It reflects a singular choice within a shared context—such as sort order, theme selection, or view mode—and updates\r\n * group state when selected. This component can be nested within an `m3e-menu-item-group`, allowing multiple exclusive\r\n * groups to coexist within a single menu.\r\n *\r\n * @example\r\n * The following example illustrates use of the `m3e-menu-item-radio` in a `m3e-menu` to allow a user to select a sort order.\r\n * The `m3e-menu-trigger` is used to trigger a `m3e-menu` specified by the `for` attribute when its parenting element is activated.\r\n * ```html\r\n * <m3e-button>\r\n * <m3e-menu-trigger for=\"menu\">Sort order</m3e-menu-trigger>\r\n * </m3e-button>\r\n * <m3e-menu id=\"menu\">\r\n * <m3e-menu-item-radio>Ascending</m3e-menu-item-radio>\r\n * <m3e-menu-item-radio>Descending</m3e-menu-item-radio>\r\n * </m3e-menu>\r\n * ```\r\n *\r\n * @tag m3e-menu-item-radio\r\n *\r\n * @slot - Renders the label of the item.\r\n * @slot icon - Renders an icon before the items's label.\r\n * @slot trailing-icon - Renders an icon after the item's label.\r\n *\r\n * @attr disabled - Whether the element is disabled.\r\n * @attr checked - Whether the element is checked.\r\n *\r\n * @fires click - Emitted when the element is clicked.\r\n *\r\n * @cssprop --m3e-menu-item-container-height - Height of the menu item container.\r\n * @cssprop --m3e-menu-item-color - Text color for unselected, enabled menu items.\r\n * @cssprop --m3e-menu-item-container-hover-color - State layer hover color for unselected items.\r\n * @cssprop --m3e-menu-item-container-focus-color - State layer focus color for unselected items.\r\n * @cssprop --m3e-menu-item-ripple-color - Ripple color for unselected items.\r\n * @cssprop --m3e-menu-item-selected-color - Text color for selected items.\r\n * @cssprop --m3e-menu-item-selected-container-color - Background color for selected items.\r\n * @cssprop --m3e-menu-item-selected-container-hover-color - State layer hover color for selected items.\r\n * @cssprop --m3e-menu-item-selected-container-focus-color - State layer focus color for selected items.\r\n * @cssprop --m3e-menu-item-selected-ripple-color - Ripple color for selected items.\r\n * @cssprop --m3e-menu-item-active-state-layer-color - State layer color for expanded items.\r\n * @cssprop --m3e-menu-item-active-state-layer-opacity - State layer opacity for expanded items.\r\n * @cssprop --m3e-menu-item-disabled-color - Base color for disabled items.\r\n * @cssprop --m3e-menu-item-disabled-opacity - Opacity percentage for disabled item color mix.\r\n * @cssprop --m3e-vibrant-menu-item-color - Text color for unselected, enabled menu items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-container-hover-color - State layer hover color for unselected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-container-focus-color - State layer focus color for unselected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-ripple-color - Ripple color for unselected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-selected-color - Text color for selected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-selected-container-color - Background color for selected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-selected-container-hover-color - State layer hover color for selected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-selected-container-focus-color - State layer focus color for selected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-selected-ripple-color - Ripple color for selected items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-active-state-layer-color - State layer color for expanded items for vibrant variant.\r\n * @cssprop --m3e-vibrant-menu-item-disabled-color - Base color for disabled items for vibrant variant\r\n * @cssprop --m3e-menu-item-icon-label-space - Horizontal gap between icon and content.\r\n * @cssprop --m3e-menu-item-padding-start - Start padding for the item wrapper.\r\n * @cssprop --m3e-menu-item-padding-end - End padding for the item wrapper.\r\n * @cssprop --m3e-menu-item-label-text-font-size - Font size for menu item text.\r\n * @cssprop --m3e-menu-item-label-text-font-weight - Font weight for menu item text.\r\n * @cssprop --m3e-menu-item-label-text-line-height - Line height for menu item text.\r\n * @cssprop --m3e-menu-item-label-text-tracking - Letter spacing for menu item text.\r\n * @cssprop --m3e-menu-item-focus-ring-shape - Border radius for the focus ring.\r\n * @cssprop --m3e-menu-item-icon-size - Font size for leading and trailing icons.\r\n * @cssprop --m3e-menu-item-shape - Base shape of the menu item.\r\n * @cssprop --m3e-menu-item-selected-shape - Shape used for a selected menu item.\r\n * @cssprop --m3e-menu-item-first-child-shape - Shape for the first menu item in a menu.\r\n * @cssprop --m3e-menu-item-last-child-shape - Shape for the last menu item in a menu.\r\n */\r\n@customElement(\"m3e-menu-item-radio\")\r\nexport class M3eMenuItemRadioElement extends Checked(Role(MenuItemElementBase, \"menuitemradio\")) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = M3eMenuItemCheckboxElement.styles;\r\n\r\n /** @private */ readonly #clickHandler = (e: Event) => this.#handleClick(e);\r\n /** @private */ readonly #keyDownHandler = (e: KeyboardEvent) => this.#handleKeyDown(e);\r\n /** @private */ readonly #keyUpHandler = () => this.#handleKeyUp();\r\n /** @private */ readonly #mouseEnterHandler = () => this.#handleMouseEnter();\r\n\r\n /** @private */ #spacePressed = false;\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n\r\n this.addEventListener(\"click\", this.#clickHandler);\r\n this.addEventListener(\"keydown\", this.#keyDownHandler);\r\n this.addEventListener(\"keyup\", this.#keyUpHandler);\r\n this.addEventListener(\"mouseenter\", this.#mouseEnterHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n this.removeEventListener(\"click\", this.#clickHandler);\r\n this.removeEventListener(\"keydown\", this.#keyDownHandler);\r\n this.removeEventListener(\"keyup\", this.#keyUpHandler);\r\n this.removeEventListener(\"mouseenter\", this.#mouseEnterHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (changedProperties.has(\"checked\") && this.checked) {\r\n (this.closest(\"[role='group']\") ?? this.closest(\"m3e-menu\"))\r\n ?.querySelectorAll(\"m3e-menu-item-radio\")\r\n .forEach((x) => {\r\n if (x !== this && x.checked) {\r\n x.checked = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n /** @internal @inheritdoc */\r\n protected override _renderContent(): unknown {\r\n return html` <div class=\"icon\">\r\n <svg class=\"check\" viewBox=\"0 -960 960 960\" aria-hidden=\"true\">\r\n <path fill=\"currentColor\" d=\"M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z\" />\r\n </svg>\r\n <slot name=\"icon\" @slotchange=\"${this.#handleIconSlotChange}\"></slot>\r\n </div>\r\n <slot></slot>\r\n <slot name=\"trailing-icon\" aria-hidden=\"true\" @slotchange=\"${this.#handleTrailingIconSlotChange}\"></slot>`;\r\n }\r\n\r\n /** @private */\r\n #handleIconSlotChange(e: Event): void {\r\n this.classList.toggle(\"-with-icon\", hasAssignedNodes(<HTMLSlotElement>e.target));\r\n }\r\n\r\n /** @private */\r\n #handleTrailingIconSlotChange(e: Event): void {\r\n this.classList.toggle(\"-with-trailing-icon\", hasAssignedNodes(<HTMLSlotElement>e.target));\r\n }\r\n\r\n /** @private */\r\n #handleClick(e: Event): void {\r\n if (!e.defaultPrevented) {\r\n this.checked = true;\r\n this.performUpdate();\r\n\r\n if (!this.#spacePressed) {\r\n if (!prefersReducedMotion()) {\r\n setTimeout(() => this.menu?.hideAll(true), 150);\r\n } else {\r\n this.menu?.hideAll(true);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleKeyDown(e: KeyboardEvent): void {\r\n this.#spacePressed = e.key === \" \";\r\n }\r\n\r\n /** @private */\r\n #handleKeyUp(): void {\r\n this.#spacePressed = false;\r\n }\r\n\r\n /** @private */\r\n #handleMouseEnter(): void {\r\n this.menu?.items.forEach((item) => {\r\n if (item instanceof M3eMenuItemElement && item.submenu?.isOpen) {\r\n item.submenu.hide();\r\n }\r\n });\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-menu-item-radio\": M3eMenuItemRadioElement;\r\n }\r\n}\r\n"],"names":["__decorate","decorators","target","key","desc","c","arguments","length","r","Object","getOwnPropertyDescriptor","d","Reflect","decorate","i","defineProperty","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","call","value","get","__classPrivateFieldSet","set","SuppressedError","error","suppressed","message","e","Error","name","t","o","addInitializer","customElements","define","globalThis","ShadowRoot","ShadyCSS","nativeShadow","Document","prototype","CSSStyleSheet","s","Symbol","WeakMap","n","constructor","_$cssResult$","cssText","styleSheet","replaceSync","toString","S","adoptStyles","adoptedStyleSheets","map","document","createElement","litNonce","setAttribute","textContent","appendChild","cssRules","is","h","getOwnPropertyNames","getOwnPropertySymbols","getPrototypeOf","a","trustedTypes","l","emptyScript","p","reactiveElementPolyfillSupport","JSCompiler_renameProperty","u","toAttribute","Boolean","Array","JSON","stringify","fromAttribute","Number","parse","notEqual","b","attribute","type","String","converter","reflect","useDefault","hasChanged","metadata","litPropertyMetadata","y","HTMLElement","_$Ei","push","observedAttributes","finalize","_$Eh","keys","createProperty","hasOwnProperty","create","wrapped","elementProperties","noAccessor","getPropertyDescriptor","requestUpdate","configurable","enumerable","getPropertyOptions","Map","finalized","properties","_$Eu","elementStyles","finalizeStyles","styles","isArray","Set","flat","reverse","unshift","toLowerCase","_$Ep","isUpdatePending","hasUpdated","_$Em","_$Ev","_$ES","Promise","enableUpdating","_$AL","_$E_","forEach","addController","_$EO","add","renderRoot","isConnected","hostConnected","removeController","delete","size","createRenderRoot","shadowRoot","attachShadow","shadowRootOptions","connectedCallback","disconnectedCallback","hostDisconnected","attributeChangedCallback","_$AK","_$ET","removeAttribute","_$Ej","hasAttribute","C","_$EP","_$Eq","reject","scheduleUpdate","performUpdate","shouldUpdate","willUpdate","hostUpdate","update","_$EM","_$AE","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","mode","ReactiveElement","reactiveElementVersions","standardProperty","init","querySelector","MenuItemElementBase","KeyboardClick","Focusable","AttachInternals","Disabled","LitElement","menu","closest","_changedProperties","_focusRing","_stateLayer","_ripple","x","attach","render","html","disabled","isLinkButtonMixin","renderPseudoLink","nothing","_renderContent","css","DesignToken","color","onSurface","onTertiaryContainer","tertiaryContainer","shape","corner","extraSmall","unsafeCSS","motion","spring","fastEffects","medium","typescale","standard","label","large","fontSize","fontWeight","lineHeight","tracking","query","M3eMenuTriggerElement","HtmlFor","ActionElementBase","control","tagName","parentElement","ariaHasPopup","ariaExpanded","id","addAriaReferencedId","submenu","detach","removeAriaReferencedId","_onClick","show","toggle","customElement","M3eMenuItemElement","M3eMenuItemElement_1","LinkButton","Role","_M3eMenuItemElement_clickHandler","_M3eMenuItemElement_keyDownHandler","_M3eMenuItemElement_mouseEnterHandler","_M3eMenuItemElement_instances","_M3eMenuItemElement_handleMouseEnter","_hasSubmenu","_M3eMenuItemElement_submenuTrigger","HoverController","startDelay","endDelay","callback","hovering","addEventListener","removeEventListener","_M3eMenuItemElement_iconSlotChangeHandler","_M3eMenuItemElement_defaultSlotChangeHandler","M3eDirectionality","current","_M3eMenuItemElement_trailingIconSlotChangeHandler","assignedElements","flatten","find","undefined","classList","hasAssignedNodes","defaultPrevented","hideAll","preventDefault","items","item","isOpen","hide","M3eMenuElement","M3eMenuElement_1","_M3eMenuElement_trigger","_M3eMenuElement_anchorCleanup","_M3eMenuElement_listManager","RovingTabIndexManager","withWrap","withHomeAndEnd","withVerticalOrientation","_M3eMenuElement_keyDownHandler","_M3eMenuElement_mouseEnterHandler","_M3eMenuElement_instances","_M3eMenuElement_handleMouseEnter","_M3eMenuElement_documentClickHandler","_M3eMenuElement_scrollController","ScrollController","filter","_M3eMenuElement_toggleHandler","newState","setTimeout","setActiveItem","positionX","positionY","variant","tabIndex","_M3eMenuElement_deactivate","trigger","positionAnchor","position","inline","flip","shift","offset","includes","top","Math","round","style","right","window","innerWidth","clientWidth","left","parent","_M3eMenuElement_activate","showPopover","observe","restoreFocus","hidePopover","focus","unobserve","_M3eMenuElement_handleSlotChange","requestAnimationFrame","remove","added","setItems","querySelectorAll","activeItem","updateActiveItem","onKeyDown","shiftKey","ctrlKey","composedPath","some","element","offsetParent","offsetLeft","scrollLeft","clientLeft","offsetTop","scrollTop","clientTop","__activeMenu","lightDomStyle","scrollbar","thinWidth","elevation","level3","small","duration","short2","easing","onTertiary","tertiary","surfaceContainer","property","M3eMenuItemCheckboxElement","Checked","_M3eMenuItemCheckboxElement_clickHandler","_M3eMenuItemCheckboxElement_keyDownHandler","_M3eMenuItemCheckboxElement_keyUpHandler","_M3eMenuItemCheckboxElement_instances","_M3eMenuItemCheckboxElement_handleKeyUp","_M3eMenuItemCheckboxElement_mouseEnterHandler","_M3eMenuItemCheckboxElement_handleMouseEnter","_M3eMenuItemCheckboxElement_spacePressed","_M3eMenuItemCheckboxElement_handleIconSlotChange","_M3eMenuItemCheckboxElement_handleTrailingIconSlotChange","checked","prefersReducedMotion","M3eMenuItemGroupElement","M3eMenuItemRadioElement","_M3eMenuItemRadioElement_clickHandler","_M3eMenuItemRadioElement_keyDownHandler","_M3eMenuItemRadioElement_keyUpHandler","_M3eMenuItemRadioElement_instances","_M3eMenuItemRadioElement_handleKeyUp","_M3eMenuItemRadioElement_mouseEnterHandler","_M3eMenuItemRadioElement_handleMouseEnter","_M3eMenuItemRadioElement_spacePressed","changedProperties","_M3eMenuItemRadioElement_handleIconSlotChange","_M3eMenuItemRadioElement_handleTrailingIconSlotChange"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAwCO,SAASA,UAAUA,CAACC,UAAU,EAAEC,MAAM,EAAEC,GAAG,EAAEC,IAAI,EAAE;AACtD,EAAA,IAAIC,CAAC,GAAGC,SAAS,CAACC,MAAM;IAAEC,CAAC,GAAGH,CAAC,GAAG,CAAC,GAAGH,MAAM,GAAGE,IAAI,KAAK,IAAI,GAAGA,IAAI,GAAGK,MAAM,CAACC,wBAAwB,CAACR,MAAM,EAAEC,GAAG,CAAC,GAAGC,IAAI;IAAEO,CAAC;AAC5H,EAAA,IAAI,OAAOC,OAAO,KAAK,QAAQ,IAAI,OAAOA,OAAO,CAACC,QAAQ,KAAK,UAAU,EAAEL,CAAC,GAAGI,OAAO,CAACC,QAAQ,CAACZ,UAAU,EAAEC,MAAM,EAAEC,GAAG,EAAEC,IAAI,CAAC,CAAC,KAC1H,KAAK,IAAIU,CAAC,GAAGb,UAAU,CAACM,MAAM,GAAG,CAAC,EAAEO,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE,IAAIH,CAAC,GAAGV,UAAU,CAACa,CAAC,CAAC,EAAEN,CAAC,GAAG,CAACH,CAAC,GAAG,CAAC,GAAGM,CAAC,CAACH,CAAC,CAAC,GAAGH,CAAC,GAAG,CAAC,GAAGM,CAAC,CAACT,MAAM,EAAEC,GAAG,EAAEK,CAAC,CAAC,GAAGG,CAAC,CAACT,MAAM,EAAEC,GAAG,CAAC,KAAKK,CAAC;AACjJ,EAAA,OAAOH,CAAC,GAAG,CAAC,IAAIG,CAAC,IAAIC,MAAM,CAACM,cAAc,CAACb,MAAM,EAAEC,GAAG,EAAEK,CAAC,CAAC,EAAEA,CAAC;AACjE;AAmOO,SAASQ,sBAAsBA,CAACC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,CAAC,EAAE;AAC7D,EAAA,IAAID,IAAI,KAAK,GAAG,IAAI,CAACC,CAAC,EAAE,MAAM,IAAIC,SAAS,CAAC,+CAA+C,CAAC;EAC5F,IAAI,OAAOH,KAAK,KAAK,UAAU,GAAGD,QAAQ,KAAKC,KAAK,IAAI,CAACE,CAAC,GAAG,CAACF,KAAK,CAACI,GAAG,CAACL,QAAQ,CAAC,EAAE,MAAM,IAAII,SAAS,CAAC,0EAA0E,CAAC;AAClL,EAAA,OAAOF,IAAI,KAAK,GAAG,GAAGC,CAAC,GAAGD,IAAI,KAAK,GAAG,GAAGC,CAAC,CAACG,IAAI,CAACN,QAAQ,CAAC,GAAGG,CAAC,GAAGA,CAAC,CAACI,KAAK,GAAGN,KAAK,CAACO,GAAG,CAACR,QAAQ,CAAC;AACjG;AAEO,SAASS,sBAAsBA,CAACT,QAAQ,EAAEC,KAAK,EAAEM,KAAK,EAAEL,IAAI,EAAEC,CAAC,EAAE;EACpE,IAAID,IAAI,KAAK,GAAG,EAAE,MAAM,IAAIE,SAAS,CAAC,gCAAgC,CAAC;AACvE,EAAA,IAAIF,IAAI,KAAK,GAAG,IAAI,CAACC,CAAC,EAAE,MAAM,IAAIC,SAAS,CAAC,+CAA+C,CAAC;EAC5F,IAAI,OAAOH,KAAK,KAAK,UAAU,GAAGD,QAAQ,KAAKC,KAAK,IAAI,CAACE,CAAC,GAAG,CAACF,KAAK,CAACI,GAAG,CAACL,QAAQ,CAAC,EAAE,MAAM,IAAII,SAAS,CAAC,yEAAyE,CAAC;AACjL,EAAA,OAAQF,IAAI,KAAK,GAAG,GAAGC,CAAC,CAACG,IAAI,CAACN,QAAQ,EAAEO,KAAK,CAAC,GAAGJ,CAAC,GAAGA,CAAC,CAACI,KAAK,GAAGA,KAAK,GAAGN,KAAK,CAACS,GAAG,CAACV,QAAQ,EAAEO,KAAK,CAAC,EAAGA,KAAK;AAC7G;AA+BuB,OAAOI,eAAe,KAAK,UAAU,GAAGA,eAAe,GAAG,UAAUC,KAAK,EAAEC,UAAU,EAAEC,OAAO,EAAE;AACnH,EAAA,IAAIC,CAAC,GAAG,IAAIC,KAAK,CAACF,OAAO,CAAC;AAC1B,EAAA,OAAOC,CAAC,CAACE,IAAI,GAAG,iBAAiB,EAAEF,CAAC,CAACH,KAAK,GAAGA,KAAK,EAAEG,CAAC,CAACF,UAAU,GAAGA,UAAU,EAAEE,CAAC;AACpF;;;;;;;AC9RO,MAAMG,GAAA,GACVA,CAAA,IACD,CACEH,CAAA,EACAI,CAAA,KAAA;AAAA,EAAA,WAEIA,CAAA,GACFA,CAAA,CAAQC,cAAA,CAAe,MAAA;AACrBC,IAAAA,cAAA,CAAeC,MAAA,CACbJ,CAAA,EACAH,CAAA,CACD;AAAA,EAAA,CAAA,CAAA,GAGHM,cAAA,CAAeC,MAAA,CAAOJ,CAAA,EAASH,CAAA,CAChC;AAAA,CAAA;;;;;;;ACtDL,MAGMG,CAAA,GAASK,UAAA;EAKFR,GAAA,GACXG,CAAA,CAAOM,UAAA,KAAA,WACNN,CAAA,CAAOO,QAAA,IAA0BP,CAAA,CAAOO,QAAA,CAASC,YAAA,CAAA,IAClD,oBAAA,IAAwBC,QAAA,CAASC,SAAA,IACjC,SAAA,IAAaC,aAAA,CAAcD,SAAA;AAkBvBE,EAAAA,CAAA,GAAoBC,MAAA,EAAA;EAEpBZ,GAAA,GAAc,IAAIa,OAAA,EAAA;UAAA,MASXC,CAAA,CAAA;AAOXC,EAAAA,WAAAA,CACEhB,CAAA,EACAH,CAAA,EACAI,CAAA,EAAA;IAEA,IAVF,IAAA,CAAegB,YAAA,GAAA,IAAI,EAUbhB,CAAA,KAAcW,CAAA,EAChB,MAAUd,KAAA,CACR,mEAAA,CAAA;AAGJ,IAAA,IAAA,CAAKoB,OAAA,GAAUlB,CAAA,EACf,IAAA,CAAKA,CAAA,GAAWH,CACjB;AAAA,EAAA;AAID,EAAA,IAAAsB,UAAIA,GAAA;IAGF,IAAInB,CAAA,GAAa,IAAA,CAAKC,CAAA;IACtB,MAAMW,CAAA,GAAU,IAAA,CAAKZ,CAAA;AACrB,IAAA,IAAIH,GAAA,IAAA,MAA8C,KAAfG,CAAA,EAA0B;MAC3D,MAAMH,CAAA,SAAwB,KAAZe,CAAA,IAA4C,CAAA,KAAnBA,CAAA,CAAQxC,MAAA;AAC/CyB,MAAAA,CAAA,KACFG,CAAA,GAAaC,GAAA,CAAYX,GAAA,CAAIsB,CAAA,CAAA,CAAA,EAAA,WAE3BZ,CAAA,KAAA,CACD,IAAA,CAAKC,CAAA,GAAcD,CAAA,GAAa,IAAIW,aAAA,EAAA,EAAiBS,WAAA,CACpD,IAAA,CAAKF,OAAA,CAAA,EAEHrB,CAAA,IACFI,GAAA,CAAYT,GAAA,CAAIoB,CAAA,EAASZ,CAAA,CAAA,CAG9B;AAAA,IAAA;AACD,IAAA,OAAOA,CACR;AAAA,EAAA;EAEDqB,QAAAA,GAAA;AACE,IAAA,OAAO,KAAKH,OACb;AAAA,EAAA;AAAA;AAWH,MAsBa7C,GAAA,GAAa2B,CAAA,IACxB,IAAKe,GAAA,CACc,QAAA,IAAA,OAAVf,CAAA,GAAqBA,CAAA,GAAeA,CAAA,GAAP,EAAA,EAAA,QAEpCY,CAAA,CAAA;AAWSjC,EA2BA2C,CAAA,GAAcC,CACzBX,CAAA,EACAX,CAAA,KAAA;IAEA,IAAIJ,GAAA,EACDe,CAAA,CAA0BY,kBAAA,GAAqBvB,CAAA,CAAOwB,GAAA,CAAKzB,CAAA,IAC1DA,CAAA,YAAaW,aAAA,GAAgBX,CAAA,GAAIA,CAAA,CAAEmB,UAAA,CAAA,CAAA,KAGrC,KAAK,MAAMtB,CAAA,IAAKI,CAAA,EAAQ;AACtB,MAAA,MAAMA,CAAA,GAAQyB,QAAA,CAASC,aAAA,CAAc,OAAA,CAAA;QAE/BZ,CAAA,GAASf,CAAA,CAAyB4B,QAAA;MAAA,MAC1B,KAAVb,CAAA,IACFd,CAAA,CAAM4B,YAAA,CAAa,OAAA,EAASd,CAAA,CAAA,EAE9Bd,CAAA,CAAM6B,WAAA,GAAejC,CAAA,CAAgBqB,OAAA,EACrCN,CAAA,CAAWmB,WAAA,CAAY9B,CAAA,CACxB;AAAA,IAAA;AACF,EAAA,CAAA;AAWU/B,EAAAA,GAAA,GACX2B,GAAA,GAEKG,CAAA,IAAyBA,CAAA,GACzBA,CAAA,IACCA,CAAA,YAAaW,aAAA,GAbW,CAACX,CAAA,IAAA;AAC/B,IAAA,IAAIH,CAAA,GAAU,EAAA;IACd,KAAK,MAAMe,CAAA,IAAQZ,CAAA,CAAMgC,QAAA,EACvBnC,CAAA,IAAWe,CAAA,CAAKM,OAAA;IAElB,OAAO7C,GAAA,CAAUwB,CAAA,CAAQ;EAAA,CAAA,EAQkCG,CAAA,IAAKA;;;;;;;AChKlE,MAAA;AAAMiC,IAAAA,EAAA,EACJtD,CAAA;AAAEC,IAAAA,cAAA,EACFiB,GAAA;AAActB,IAAAA,wBAAA,EACd2D,CAAA;AAAwBC,IAAAA,mBAAA,EACxB9D,GAAA;AAAmB+D,IAAAA,qBAAA,EACnBnC,GAAA;AAAqBoC,IAAAA,cAAA,EACrBtB;AAAA,GAAA,GACEzC,MAAA;AAKEgE,EAAAA,CAAA,GAASjC,UAAA;EAUTnC,CAAA,GAAgBoE,CAAA,CACnBC,YAAA;AAMGC,EAAAA,CAAA,GAAiCtE,CAAA,GAClCA,CAAA,CAAauE,WAAA,GACd,EAAA;EAEEC,CAAA,GAEFJ,CAAA,CAAOK,8BAAA;AAoGLnE,EAAAA,CAAA,GAA4BoE,CAChC5C,CAAA,EACAY,CAAA,KACMZ,CAAA;AA0KK6C,EAAAA,CAAA,GAA8C;IACzDC,WAAAA,CAAY9C,CAAA,EAAgBY,CAAA,EAAA;AAC1B,MAAA,QAAQA,CAAA;AACN,QAAA,KAAKmC,OAAA;AACH/C,UAAAA,CAAA,GAAQA,CAAA,GAAQwC,CAAA,GAAiC,IAAA;AACjD,UAAA;AACF,QAAA,KAAKlE,MAAA;AACL,QAAA,KAAK0E,KAAA;UAGHhD,CAAA,GAAiB,IAAA,IAATA,CAAA,GAAgBA,CAAA,GAAQiD,IAAA,CAAKC,SAAA,CAAUlD,CAAA,CAAA;AAAA;AAGnD,MAAA,OAAOA,CACR;AAAA,IAAA,CAAA;IAEDmD,aAAAA,CAAcnD,CAAA,EAAsBY,CAAA,EAAA;MAClC,IAAIjC,CAAA,GAAqBqB,CAAA;AACzB,MAAA,QAAQY,CAAA;AACN,QAAA,KAAKmC,OAAA;UACHpE,CAAA,GAAsB,SAAVqB,CAAA;AACZ,UAAA;AACF,QAAA,KAAKoD,MAAA;AACHzE,UAAAA,CAAA,GAAsB,IAAA,KAAVqB,CAAA,GAAiB,IAAA,GAAOoD,MAAA,CAAOpD,CAAA,CAAA;AAC3C,UAAA;AACF,QAAA,KAAK1B,MAAA;AACL,QAAA,KAAK0E,KAAA;AAIH,UAAA,IAAA;AAEErE,YAAAA,CAAA,GAAYsE,IAAA,CAAKI,KAAA,CAAMrD,CAAA,CACxB;AAAA,UAAA,CAAC,QAAOA,CAAA,EAAA;AACPrB,YAAAA,CAAA,GAAY,IACb;AAAA,UAAA;AAAA;AAGL,MAAA,OAAOA,CACR;AAAA,IAAA;AAAA,GAAA;EAWUM,CAAA,GAAuBqE,CAACtD,CAAA,EAAgBY,CAAA,MAClDjC,CAAA,CAAGqB,CAAA,EAAOY,CAAA,CAAA;AAEP2C,EAAAA,CAAA,GAAkD;AACtDC,IAAAA,SAAA,EAAA,IAAW;AACXC,IAAAA,IAAA,EAAMC,MAAA;AACNC,IAAAA,SAAA,EAAWd,CAAA;AACXe,IAAAA,OAAA,EAAA,KAAS;AACTC,IAAAA,UAAA,EAAA,KAAY;AACZC,IAAAA,UAAA,EAAY7E;AAAA,GAAA;AAsBb4B,MAAA,CAA8BkD,QAAA,KAAalD,MAAA,CAAO,UAAA,CAAA,EAcnDyB,CAAA,CAAO0B,mBAAA,KAAwB,IAAIlD,OAAA,EAAA;AAAA,MAWbmD,CAAA,SASZC,WAAA,CAAA;EAqFR,OAAAhE,cAAOA,CAAeF,CAAA,EAAA;IACpB,IAAA,CAAKmE,IAAA,KACJ,IAAA,CAAK3B,CAAA,KAAkB,EAAA,EAAI4B,IAAA,CAAKpE,CAAA,CAClC;AAAA,EAAA;AAuGD,EAAA,WAAAqE,kBAAWA,GAAA;IAOT,OALA,IAAA,CAAKC,QAAA,EAAA,EAMH,IAAA,CAAKC,IAAA,IAA4B,CAAA,GAAI,IAAA,CAAKA,IAAA,CAAyBC,IAAA,EAAA,CAEtE;AAAA,EAAA;AA6BD,EAAA,OAAAC,cAAOA,CACLzE,CAAA,EACAY,CAAA,GAA+B2C,CAAA,EAAA;AAc/B,IAAA,IAXI3C,CAAA,CAAQ7B,KAAA,KACT6B,CAAA,CAAsD4C,SAAA,GAAA,KAAY,CAAA,EAErE,KAAKW,IAAA,EAAA,EAGD,KAAKzD,SAAA,CAAUgE,cAAA,CAAe1E,CAAA,OAChCY,CAAA,GAAUtC,MAAA,CAAOqG,MAAA,CAAO/D,CAAA,GAChBgE,OAAA,GAAA,OAEV,IAAA,CAAKC,iBAAA,CAAkBrF,GAAA,CAAIQ,CAAA,EAAMY,CAAA,IAC5BA,CAAA,CAAQkE,UAAA,EAAY;MACvB,MAAMnG,CAAA,GAIFkC,MAAA,EAAA;QACEqB,CAAA,GAAa,KAAK6C,qBAAA,CAAsB/E,CAAA,EAAMrB,CAAA,EAAKiC,CAAA,CAAA;MAAA,MACtC,KAAfsB,CAAA,IACFrC,GAAA,CAAe,IAAA,CAAKa,SAAA,EAAWV,CAAA,EAAMkC,CAAA,CAExC;AAAA,IAAA;AACF,EAAA;AA6BS,EAAA,OAAA6C,qBAAOA,CACf/E,CAAA,EACAY,CAAA,EACAjC,CAAA,EAAA;AAEA,IAAA,MAAA;AAAMW,MAAAA,GAAA,EAACO,CAAA;AAAGL,MAAAA,GAAA,EAAEnB;AAAA,KAAA,GAAO6D,CAAA,CAAyB,IAAA,CAAKxB,SAAA,EAAWV,CAAA,CAAA,IAAS;MACnEV,GAAAA,GAAA;QACE,OAAO,IAAA,CAAKsB,CAAA,CACb;AAAA,MAAA,CAAA;AACDpB,MAAAA,GAAAA,CAA2BQ,CAAA,EAAA;QACxB,IAAA,CAAqDY,CAAA,IAAOZ,CAC9D;AAAA,MAAA;AAAA,KAAA;IAmBH,OAAO;AACLV,MAAAA,GAAA,EAAAO,CAAA;AACAL,MAAAA,GAAAA,CAA2BoB,CAAA,EAAA;AACzB,QAAA,MAAMsB,CAAA,GAAWrC,CAAA,EAAKT,IAAA,CAAK,IAAA,CAAA;AAC3Bf,QAAAA,CAAA,EAAKe,IAAA,CAAK,IAAA,EAAMwB,CAAA,CAAA,EAChB,IAAA,CAAKoE,aAAA,CAAchF,CAAA,EAAMkC,CAAA,EAAUvD,CAAA,CACpC;AAAA,MAAA,CAAA;AACDsG,MAAAA,YAAA,EAAA,IAAc;AACdC,MAAAA,UAAA,EAAA;KAEH;AAAA,EAAA;EAgBD,OAAAC,kBAAOA,CAAmBnF,CAAA,EAAA;AACxB,IAAA,OAAO,KAAK6E,iBAAA,CAAkBvF,GAAA,CAAIU,CAAA,KAASuD,CAC5C;AAAA,EAAA;AAgBO,EAAA,OAAAY,IAAOA,GAAA;AACb,IAAA,IACE,IAAA,CAAKO,cAAA,CAAelG,CAAA,CAA0B,mBAAA,CAAA,CAAA,EAG9C;IAGF,MAAMwB,CAAA,GAAYe,GAAA,CAAe,IAAA,CAAA;IACjCf,CAAA,CAAUsE,QAAA,EAAA,EAAA,MAKsB,KAA5BtE,CAAA,CAAUwC,CAAA,KACZ,IAAA,CAAKA,CAAA,GAAgB,CAAA,GAAIxC,CAAA,CAAUwC,CAAA,CAAA,CAAA,EAGrC,IAAA,CAAKqC,iBAAA,GAAoB,IAAIO,GAAA,CAAIpF,CAAA,CAAU6E,iBAAA,CAC5C;AAAA,EAAA;AAaS,EAAA,OAAAP,QAAOA,GAAA;AACf,IAAA,IAAI,IAAA,CAAKI,cAAA,CAAelG,CAAA,CAA0B,WAAA,CAAA,CAAA,EAChD;AAMF,IAAA,IAJA,IAAA,CAAK6G,SAAA,GAAA,IAAY,EACjB,IAAA,CAAKlB,IAAA,EAAA,EAGD,IAAA,CAAKO,cAAA,CAAelG,CAAA,CAA0B,YAAA,CAAA,CAAA,EAAsB;MACtE,MAAMwB,CAAA,GAAQ,IAAA,CAAKsF,UAAA;QACb1E,CAAA,GAAW,IACZvC,GAAA,CAAoB2B,CAAA,CAAA,EAAA,GACpBC,GAAA,CAAsBD,CAAA,CAAA,CAAA;AAE3B,MAAA,KAAK,MAAMrB,CAAA,IAAKiC,CAAA,EACd,IAAA,CAAK6D,cAAA,CAAe9F,CAAA,EAAGqB,CAAA,CAAMrB,CAAA,CAAA,CAEhC;AAAA,IAAA;AAGD,IAAA,MAAMqB,CAAA,GAAW,IAAA,CAAKa,MAAA,CAAOkD,QAAA,CAAA;IAC7B,IAAiB,IAAA,KAAb/D,CAAA,EAAmB;AACrB,MAAA,MAAMY,CAAA,GAAaoD,mBAAA,CAAoB1E,GAAA,CAAIU,CAAA,CAAA;AAC3C,MAAA,IAAA,WAAIY,CAAA,EACF,KAAK,MAAA,CAAOZ,CAAA,EAAGrB,CAAA,CAAA,IAAYiC,CAAA,EACzB,IAAA,CAAKiE,iBAAA,CAAkBrF,GAAA,CAAIQ,CAAA,EAAGrB,CAAA,CAGnC;AAAA,IAAA;IAGD,IAAA,CAAK4F,IAAA,GAA2B,IAAIa,GAAA,EAAA;AACpC,IAAA,KAAK,OAAOpF,CAAA,EAAGY,CAAA,CAAA,IAAY,IAAA,CAAKiE,iBAAA,EAAmB;AACjD,MAAA,MAAMlG,CAAA,GAAO,IAAA,CAAK4G,IAAA,CAA2BvF,CAAA,EAAGY,CAAA,CAAA;MAAA,MACnC,KAATjC,CAAA,IACF,IAAA,CAAK4F,IAAA,CAAyB/E,GAAA,CAAIb,CAAA,EAAMqB,CAAA,CAE3C;AAAA,IAAA;AAED,IAAA,IAAA,CAAKwF,aAAA,GAAgB,IAAA,CAAKC,cAAA,CAAe,IAAA,CAAKC,MAAA,CAkB/C;AAAA,EAAA;EA4BS,OAAAD,cAAOA,CACf7E,CAAA,EAAA;AAEA,IAAA,MAAMjC,CAAA,GAAgB,EAAA;AACtB,IAAA,IAAIqE,KAAA,CAAM2C,OAAA,CAAQ/E,CAAA,CAAA,EAAS;MAIzB,MAAMf,CAAA,GAAM,IAAI+F,GAAA,CAAKhF,CAAA,CAA0BiF,IAAA,CAAK,CAAA,GAAA,CAAA,CAAA,CAAUC,OAAA,EAAA,CAAA;AAE9D,MAAA,KAAK,MAAMlF,CAAA,IAAKf,CAAA,EACdlB,CAAA,CAAcoH,OAAA,CAAQ/F,GAAA,CAAmBY,CAAA,CAAA,CAE5C;IAAA,CAAA,MAAA,MAAqB,KAAXA,CAAA,IACTjC,CAAA,CAAcyF,IAAA,CAAKpE,GAAA,CAAmBY,CAAA,CAAA,CAAA;AAExC,IAAA,OAAOjC,CACR;AAAA,EAAA;AAaO,EAAA,OAAA4G,IAAOA,CACbvF,CAAA,EACAY,CAAA,EAAA;AAEA,IAAA,MAAMjC,CAAA,GAAYiC,CAAA,CAAQ4C,SAAA;AAC1B,IAAA,OAAA,UAAO7E,CAAA,GAAA,MACH,GACqB,QAAA,IAAA,OAAdA,CAAA,GACLA,CAAA,GACgB,QAAA,IAAA,OAATqB,CAAA,GACLA,CAAA,CAAKgG,WAAA,WAEd;AAAA,EAAA;EAiDDhF,WAAAA,GAAA;AACE,IAAA,KAAA,EAAA,EA9WM,KAAoBiF,IAAA,GAAA,QAuU5B,IAAA,CAAeC,eAAA,QAAG,EAOlB,IAAA,CAAUC,UAAA,GAAA,OAwBF,IAAA,CAAoBC,IAAA,GAAuB,IAAA,EASjD,IAAA,CAAKC,IAAA,EACN;AAAA,EAAA;EAMOA,IAAAA,GAAA;AACN,IAAA,IAAA,CAAKC,IAAA,GAAkB,IAAIC,OAAA,CACxBvG,CAAA,IAAS,IAAA,CAAKwG,cAAA,GAAiBxG,CAAA,CAAA,EAElC,IAAA,CAAKyG,IAAA,GAAsB,IAAIrB,GAAA,EAAA,EAG/B,IAAA,CAAKsB,IAAA,EAAA,EAGL,IAAA,CAAK1B,aAAA,EAAA,EACJ,KAAKhE,WAAA,CAAuCwB,CAAA,EAAemE,OAAA,CAAS3G,CAAA,IACnEA,CAAA,CAAE,IAAA,CAAA,CAEL;AAAA,EAAA;AAWD4G,EAAAA,aAAAA,CAAc5G,CAAA,EAAA;IAAA,CACX,IAAA,CAAK6G,IAAA,KAAkB,IAAIjB,GAAA,EAAA,EAAOkB,GAAA,CAAI9G,CAAA,CAAA,EAAA,WAKnC,IAAA,CAAK+G,UAAA,IAA4B,IAAA,CAAKC,WAAA,IACxChH,CAAA,CAAWiH,aAAA,IAEd;AAAA,EAAA;AAMDC,EAAAA,gBAAAA,CAAiBlH,CAAA,EAAA;AACf,IAAA,IAAA,CAAK6G,IAAA,EAAeM,MAAA,CAAOnH,CAAA,CAC5B;AAAA,EAAA;EAQO0G,IAAAA,GAAA;IACN,MAAM1G,CAAA,GAAqB,IAAIoF,GAAA,EAAA;AACzBxE,MAAAA,CAAA,GAAqB,IAAA,CAAKI,WAAA,CAC7B6D,iBAAA;IACH,KAAK,MAAMlG,CAAA,IAAKiC,CAAA,CAAkB4D,IAAA,EAAA,EAC5B,IAAA,CAAKE,cAAA,CAAe/F,CAAA,MACtBqB,CAAA,CAAmBR,GAAA,CAAIb,CAAA,EAAG,IAAA,CAAKA,CAAA,CAAA,CAAA,EAAA,OACxB,IAAA,CAAKA,CAAA,CAAA,CAAA;IAGZqB,CAAA,CAAmBoH,IAAA,GAAO,CAAA,KAC5B,KAAKnB,IAAA,GAAuBjG,CAAA,CAE/B;AAAA,EAAA;EAWSqH,gBAAAA,GAAA;IACR,MAAMrH,CAAA,GACJ,IAAA,CAAKsH,UAAA,IACL,IAAA,CAAKC,YAAA,CACF,IAAA,CAAKvG,WAAA,CAAuCwG,iBAAA,CAAA;IAMjD,OAJA5G,CAAA,CACEZ,CAAA,EACC,KAAKgB,WAAA,CAAuCwE,aAAA,CAAA,EAExCxF,CACR;AAAA,EAAA;EAODyH,iBAAAA,GAAA;AAEG,IAAA,IAAA,CAA4CV,UAAA,KAC3C,IAAA,CAAKM,gBAAA,EAAA,EACP,IAAA,CAAKb,cAAA,CAAA,IAAe,CAAA,EACpB,KAAKK,IAAA,EAAeF,OAAA,CAAS3G,CAAA,IAAMA,CAAA,CAAEiH,aAAA,IAAA,CACtC;AAAA,EAAA;AAQST,EAAAA,cAAAA,CAAexG,CAAA,EAAA,CAA6B;EAQtD0H,oBAAAA,GAAA;IACE,IAAA,CAAKb,IAAA,EAAeF,OAAA,CAAS3G,CAAA,IAAMA,CAAA,CAAE2H,gBAAA,IAAA,CACtC;AAAA,EAAA;AAcDC,EAAAA,wBAAAA,CACE5H,CAAA,EACAY,CAAA,EACAjC,CAAA,EAAA;AAEA,IAAA,IAAA,CAAKkJ,IAAA,CAAsB7H,CAAA,EAAMrB,CAAA,CAClC;AAAA,EAAA;EAEOmJ,IAAAA,CAAsB9H,CAAA,EAAmBY,CAAA,EAAA;IAC/C,MAGMjC,CAAA,GAFJ,IAAA,CAAKqC,WAAA,CACL6D,iBAAA,CAC6BvF,GAAA,CAAIU,CAAA,CAAA;MAC7BH,CAAA,GACJ,KAAKmB,WAAA,CACLuE,IAAA,CAA2BvF,CAAA,EAAMrB,CAAA,CAAA;AACnC,IAAA,IAAA,WAAIkB,CAAA,IAAA,SAAsBlB,CAAA,CAAQiF,OAAA,EAAkB;MAClD,MAKM1B,CAAA,UAHJ,KADCvD,CAAA,CAAQgF,SAAA,EAAyCb,WAAA,GAE7CnE,CAAA,CAAQgF,SAAA,GACTd,CAAA,EACsBC,WAAA,CAAalC,CAAA,EAAOjC,CAAA,CAAQ8E,IAAA,CAAA;MAwBxD,IAAA,CAAK2C,IAAA,GAAuBpG,CAAA,EACX,QAAbkC,CAAA,GACF,IAAA,CAAK6F,eAAA,CAAgBlI,CAAA,IAErB,IAAA,CAAKgC,YAAA,CAAahC,CAAA,EAAMqC,CAAA,CAAA,EAG1B,IAAA,CAAKkE,IAAA,GAAuB,IAC7B;AAAA,IAAA;AACF,EAAA;EAGDyB,IAAAA,CAAsB7H,CAAA,EAAcY,CAAA,EAAA;IAClC,MAAMjC,CAAA,GAAO,IAAA,CAAKqC,WAAA;AAGZnB,MAAAA,CAAA,GAAYlB,CAAA,CAAK4F,IAAA,CAA0CjF,GAAA,CAAIU,CAAA,CAAA;AAGrE,IAAA,IAAA,WAAIH,CAAA,IAA0B,KAAKuG,IAAA,KAAyBvG,CAAA,EAAU;AACpE,MAAA,MAAMG,CAAA,GAAUrB,CAAA,CAAKwG,kBAAA,CAAmBtF,CAAA,CAAA;AAClCqC,QAAAA,CAAA,GACyB,UAAA,IAAA,OAAtBlC,CAAA,CAAQ2D,SAAA,GACX;UAACR,aAAA,EAAenD,CAAA,CAAQ2D;SAAA,GAAA,MACa,KAArC3D,CAAA,CAAQ2D,SAAA,EAAWR,aAAA,GACjBnD,CAAA,CAAQ2D,SAAA,GACRd,CAAA;MAER,IAAA,CAAKuD,IAAA,GAAuBvG,CAAA;MAC5B,MAAMxB,CAAA,GAAiB6D,CAAA,CAAUiB,aAAA,CAAevC,CAAA,EAAOZ,CAAA,CAAQyD,IAAA,CAAA;AAC/D,MAAA,IAAA,CAAK5D,CAAA,CAAA,GACHxB,CAAA,IACA,IAAA,CAAK2J,IAAA,EAAiB1I,GAAA,CAAIO,CAAA,KAEzBxB,CAAA,EAEH,IAAA,CAAK+H,IAAA,GAAuB,IAC7B;AAAA,IAAA;AACF,EAAA;AAgBDpB,EAAAA,aAAAA,CACEhF,CAAA,EACAY,CAAA,EACAjC,CAAA,EAAA;IAGA,IAAA,MAAa,KAATqB,CAAA,EAAoB;MAOtB,MAAMH,CAAA,GAAO,IAAA,CAAKmB,WAAA;QACZkB,CAAA,GAAW,KAAKlC,CAAA,CAAA;MActB,IAbArB,CAAA,KAAYkB,CAAA,CAAKsF,kBAAA,CAAmBnF,CAAA,MAEjCrB,CAAA,CAAQmF,UAAA,IAAc7E,CAAA,EAAUiD,CAAA,EAAUtB,CAAA,CAAA,IAO1CjC,CAAA,CAAQkF,UAAA,IACPlF,CAAA,CAAQiF,OAAA,IACR1B,CAAA,KAAa,KAAK8F,IAAA,EAAiB1I,GAAA,CAAIU,CAAA,MACtC,IAAA,CAAKiI,YAAA,CAAapI,CAAA,CAAK0F,IAAA,CAA2BvF,CAAA,EAAMrB,CAAA,CAAA,CAAA,CAAA,EAK3D;AAHA,MAAA,IAAA,CAAKuJ,CAAA,CAAiBlI,CAAA,EAAMY,CAAA,EAAUjC,CAAA,CAKzC;AAAA,IAAA;IAAA,KAC4B,KAAzB,KAAKuH,eAAA,KACP,KAAKI,IAAA,GAAkB,IAAA,CAAK6B,IAAA,EAAA,CAE/B;AAAA,EAAA;EAKDD,CAAAA,CACElI,CAAA,EACAY,CAAA,EAAA;AACAiD,IAAAA,UAAA,EAAClF,CAAA;AAAUiF,IAAAA,OAAA,EAAE/D,CAAA;AAAO+E,IAAAA,OAAA,EAAE1C;AAAA,GAAA,EACtB7D,CAAA,EAAA;AAIIM,IAAAA,CAAA,IAAA,CAAA,CAAgB,IAAA,CAAKqJ,IAAA,KAAoB,IAAI5C,GAAA,EAAA,EAAOjG,GAAA,CAAIa,CAAA,CAAA,KAC1D,IAAA,CAAKgI,IAAA,CAAgBxI,GAAA,CACnBQ,CAAA,EACA3B,CAAA,IAAmBuC,CAAA,IAAY,IAAA,CAAKZ,CAAA,CAAA,CAAA,EAAA,IAItB,KAAZkC,CAAA,IAAA,WAAoB7D,CAAA,CAAA,KAMrB,IAAA,CAAKoI,IAAA,CAAoBtH,GAAA,CAAIa,CAAA,CAAA,KAG3B,IAAA,CAAKmG,UAAA,IAAexH,CAAA,KACvBiC,CAAA,GAAA,MAAW,CAAA,EAEb,IAAA,CAAK6F,IAAA,CAAoBjH,GAAA,CAAIQ,CAAA,EAAMY,CAAA,CAAA,CAAA,EAAA,IAMrB,KAAZf,CAAA,IAAoB,IAAA,CAAKuG,IAAA,KAAyBpG,CAAA,IAAA,CACnD,IAAA,CAAKoI,IAAA,KAA2B,IAAIxC,GAAA,EAAA,EAAoBkB,GAAA,CAAI9G,CAAA,CAAA,CAEhE;AAAA,EAAA;AAKO,EAAA,MAAAmI,IAAMA,GAAA;AACZ,IAAA,IAAA,CAAKjC,eAAA,GAAA,IAAkB;AACvB,IAAA,IAAA;AAAA,MAAA,MAGQ,KAAKI,IACZ;AAAA,IAAA,CAAC,QAAOtG,CAAA,EAAA;AAKPuG,MAAAA,OAAA,CAAQ8B,MAAA,CAAOrI,CAAA,CAChB;AAAA,IAAA;IACD,MAAMA,CAAA,GAAS,IAAA,CAAKsI,cAAA,EAAA;AAOpB,IAAA,OAHc,QAAVtI,CAAA,KAAA,MACIA,CAAA,CAAA,EAAA,CAEA,KAAKkG,eACd;AAAA,EAAA;EAmBSoC,cAAAA,GAAA;IAiBR,OAhBe,IAAA,CAAKC,aAAA,EAiBrB;AAAA,EAAA;EAYSA,aAAAA,GAAA;IAIR,IAAA,CAAK,IAAA,CAAKrC,eAAA,EACR;IAGF,IAAA,CAAK,IAAA,CAAKC,UAAA,EAAY;MA2BpB,IAxBC,IAAA,CAA4CY,UAAA,KAC3C,IAAA,CAAKM,gBAAA,EAAA,EAuBH,IAAA,CAAKpB,IAAA,EAAsB;QAG7B,KAAK,MAAA,CAAOjG,CAAA,EAAGY,CAAA,CAAA,IAAU,IAAA,CAAKqF,IAAA,EAC5B,IAAA,CAAKjG,CAAA,CAAA,GAAmBY,CAAA;QAE1B,IAAA,CAAKqF,IAAA,SACN;AAAA,MAAA;AAUD,MAAA,MAAMjG,CAAA,GAAqB,IAAA,CAAKgB,WAAA,CAC7B6D,iBAAA;AACH,MAAA,IAAI7E,CAAA,CAAkBoH,IAAA,GAAO,CAAA,EAC3B,KAAK,MAAA,CAAOxG,CAAA,EAAGjC,CAAA,CAAA,IAAYqB,CAAA,EAAmB;AAC5C,QAAA,MAAA;AAAM4E,YAAAA,OAAA,EAAC5E;AAAA,WAAA,GAAWrB,CAAA;UACZkB,CAAA,GAAQ,KAAKe,CAAA,CAAA;QAAA,IAEL,KAAZZ,CAAA,IACC,IAAA,CAAKyG,IAAA,CAAoBtH,GAAA,CAAIyB,CAAA,CAAA,IAAA,MACpB,KAAVf,CAAA,IAEA,IAAA,CAAKqI,CAAA,CAAiBtH,CAAA,QAAG,EAAWjC,CAAA,EAASkB,CAAA,CAEhD;AAAA,MAAA;AAEJ,IAAA;AACD,IAAA,IAAIG,CAAA,GAAA,KAAe;IACnB,MAAMY,CAAA,GAAoB,IAAA,CAAK6F,IAAA;AAC/B,IAAA,IAAA;AACEzG,MAAAA,CAAA,GAAe,IAAA,CAAKwI,YAAA,CAAa5H,CAAA,CAAA,EAC7BZ,CAAA,IACF,IAAA,CAAKyI,UAAA,CAAW7H,CAAA,GAChB,IAAA,CAAKiG,IAAA,EAAeF,OAAA,CAAS3G,CAAA,IAAMA,CAAA,CAAE0I,UAAA,IAAA,CAAA,EACrC,IAAA,CAAKC,MAAA,CAAO/H,CAAA,CAAA,IAEZ,IAAA,CAAKgI,IAAA,EAER;AAAA,IAAA,CAAC,QAAOhI,CAAA,EAAA;AAMP,MAAA,MAHAZ,CAAA,GAAA,KAAe,EAEf,IAAA,CAAK4I,IAAA,IACChI,CACP;AAAA,IAAA;AAEGZ,IAAAA,CAAA,IACF,IAAA,CAAK6I,IAAA,CAAYjI,CAAA,CAEpB;AAAA,EAAA;AAuBS6H,EAAAA,UAAAA,CAAWzI,CAAA,EAAA,CAA4C;AAIjE6I,EAAAA,IAAAA,CAAY7I,CAAA,EAAA;IACV,IAAA,CAAK6G,IAAA,EAAeF,OAAA,CAAS3G,CAAA,IAAMA,CAAA,CAAE8I,WAAA,IAAA,CAAA,EAChC,IAAA,CAAK3C,UAAA,KACR,KAAKA,UAAA,GAAA,IAAa,EAClB,IAAA,CAAK4C,YAAA,CAAa/I,CAAA,CAAA,CAAA,EAEpB,IAAA,CAAKgJ,OAAA,CAAQhJ,CAAA,CAiBd;AAAA,EAAA;EAEO4I,IAAAA,GAAA;IACN,IAAA,CAAKnC,IAAA,GAAsB,IAAIrB,GAAA,IAC/B,IAAA,CAAKc,eAAA,QACN;AAAA,EAAA;AAkBD,EAAA,IAAA+C,cAAIA,GAAA;IACF,OAAO,IAAA,CAAKC,iBAAA,EACb;AAAA,EAAA;EAyBSA,iBAAAA,GAAA;AACR,IAAA,OAAO,KAAK5C,IACb;AAAA,EAAA;AAUSkC,EAAAA,YAAAA,CAAaxI,CAAA,EAAA;AACrB,IAAA,OAAA,IACD;AAAA,EAAA;AAWS2I,EAAAA,MAAAA,CAAO3I,CAAA,EAAA;AAIf,IAAA,IAAA,CAAKoI,IAAA,KAA2B,IAAA,CAAKA,IAAA,CAAuBzB,OAAA,CAAS3G,CAAA,IACnE,KAAK8H,IAAA,CAAsB9H,CAAA,EAAG,IAAA,CAAKA,CAAA,CAAA,CAAA,CAAA,EAErC,IAAA,CAAK4I,IAAA,EACN;AAAA,EAAA;AAYSI,EAAAA,OAAAA,CAAQhJ,CAAA,EAAA,CAAsC;AAkB9C+I,EAAAA,YAAAA,CAAa/I,CAAA,EAAA,CAAsC;AAAA;AAniCtDiE,CAAA,CAAauB,aAAA,GAA6B,IAiT1CvB,CAAA,CAAAuD,iBAAA,GAAoC;AAAC2B,EAAAA,IAAA,EAAM;AAAA,CAAA,EAuvBnDlF,CAAA,CACCzF,CAAA,CAA0B,mBAAA,CAAA,CAAA,GACxB,IAAI4G,GAAA,EAAA,EACPnB,CAAA,CACCzF,CAAA,CAA0B,WAAA,CAAA,CAAA,GACxB,IAAI4G,GAAA,EAAA,EAGR1C,CAAA,GAAkB;AAAC0G,EAAAA,eAAA,EAAAnF;AAAA,CAAA,CAAA,EAAA,CAuClB3B,CAAA,CAAO+G,uBAAA,KAA4B,EAAA,EAAIjF,IAAA,CAAK,OAAA,CAAA;;;;;;;AC9nD7C,MAoBMnE,CAAA,GAAkD;AACtDuD,IAAAA,SAAA,EAAA,IAAW;AACXC,IAAAA,IAAA,EAAMC,MAAA;AACNC,IAAAA,SAAA,EAAW3D,CAAA;AACX4D,IAAAA,OAAA,EAAA,KAAS;AACTE,IAAAA,UAAA,EAAYjE;AAAA,GAAA;EAaDxB,GAAA,GAAmBiL,CAC9BtJ,CAAA,GAA+BC,CAAA,EAC/BJ,CAAA,EACAxB,CAAA,KAAA;AAEA,IAAA,MAAA;AAAMW,MAAAA,IAAA,EAAC+B,CAAA;AAAIgD,MAAAA,QAAA,EAAEpF;AAAA,KAAA,GAAYN,CAAA;IAazB,IAAIuC,CAAA,GAAaP,UAAA,CAAW2D,mBAAA,CAAoB1E,GAAA,CAAIX,CAAA,CAAA;AAUpD,IAAA,IAAA,WATIiC,CAAA,IACFP,UAAA,CAAW2D,mBAAA,CAAoBxE,GAAA,CAAIb,CAAA,EAAWiC,CAAA,GAAa,IAAIwE,GAAA,KAEpD,QAAA,KAATrE,CAAA,MACFf,CAAA,GAAU1B,MAAA,CAAOqG,MAAA,CAAO3E,CAAA,GAChB4E,OAAA,GAAA,OAEVhE,CAAA,CAAWpB,GAAA,CAAInB,CAAA,CAAQ0B,IAAA,EAAMC,CAAA,CAAA,EAEhB,UAAA,KAATe,CAAA,EAAqB;AAIvB,MAAA,MAAA;AAAMhB,QAAAA,IAAA,EAACE;AAAA,OAAA,GAAQ5B,CAAA;MACf,OAAO;AACLmB,QAAAA,GAAAA,CAA2BnB,CAAA,EAAA;AACzB,UAAA,MAAM0C,CAAA,GACJlB,CAAA,CACAP,GAAA,CAAIF,IAAA,CAAK,IAAA,CAAA;AACVS,UAAAA,CAAA,CAA8CL,GAAA,CAAIJ,IAAA,CACjD,MACAf,CAAA,CAAA,EAEF,IAAA,CAAK2G,aAAA,CAAc/E,CAAA,EAAMc,CAAA,EAAUf,CAAA,CACpC;AAAA,QAAA,CAAA;AACDuJ,QAAAA,IAAAA,CAA4B1J,CAAA,EAAA;AAI1B,UAAA,OAAA,MAHU,KAANA,CAAA,IACF,IAAA,CAAKqI,CAAA,CAAiBjI,CAAA,EAAA,MAAM,EAAWD,CAAA,EAASH,CAAA,GAE3CA,CACR;AAAA,QAAA;OAEJ;AAAA,IAAA;IAAM,IAAa,QAAA,KAATkB,CAAA,EAAmB;AAC5B,MAAA,MAAA;AAAMhB,QAAAA,IAAA,EAACE;AAAA,OAAA,GAAQ5B,CAAA;AACf,MAAA,OAAO,UAAiCA,CAAA,EAAA;QACtC,MAAM0C,CAAA,GAAW,IAAA,CAAKd,CAAA,CAAA;AACrBJ,QAAAA,CAAA,CAA8BT,IAAA,CAAK,IAAA,EAAMf,CAAA,CAAA,EAC1C,IAAA,CAAK2G,aAAA,CAAc/E,CAAA,EAAMc,CAAA,EAAUf,CAAA,CACrC;MAAA,CACD;AAAA,IAAA;AACD,IAAA,MAAUF,KAAA,CAAM,kCAAA,GAAmCiB,CAAA,CAAO;AAAA,EAAA,CAAA;AAmCtD,SAAUA,EAASf,CAAA,EAAA;EACvB,OAAO,CACLH,CAAA,EAIAI,CAAA,KAO2B,QAAA,IAAA,OAAlBA,CAAA,GACH5B,GAAA,CACE2B,CAAA,EACAH,CAAA,EAGAI,CAAA,CAAA,GAvJW,EACrBD,CAAA,EACAH,CAAA,EACAI,CAAA,KAAA;AAEA,IAAA,MAAM5B,CAAA,GAAiBwB,CAAA,CAAM6E,cAAA,CAAezE,CAAA,CAAA;IAO5C,OANCJ,CAAA,CAAMmB,WAAA,CAAuCyD,cAAA,CAAexE,CAAA,EAAMD,CAAA,CAAA,EAM5D3B,CAAA,GACHC,MAAA,CAAOC,wBAAA,CAAyBsB,CAAA,EAAOI,CAAA,UAC9B;AAAA,EAAA,CAAA,EA4IHD,CAAA,EACAH,CAAA,EACAI,CAAA,CAIZ;AAAA;;;;;;;AChMM,SAAU5B,EAAMA,CAAA,EAAA;AACpB,EAAA,OAAO2B,CAAA,CAAS;AAAA,IAAA,GACX3B,CAAA;AAIHU,IAAAA,KAAA,EAAA,IAAO;AACPyE,IAAAA,SAAA,EAAA;GAAW,CAEf;AAAA;;;;;;;ACnBa,MAAA3D,GAAA,GAAO5B,CAClB4B,CAAA,EACAG,CAAA,EACA9B,CAAA,MAGAA,CAAA,CAAW+G,YAAA,GAAA,IAAe,EAC1B/G,CAAA,CAAWgH,UAAA,GAAA,IAAa,EAIrBzG,OAAA,CAAkDC,QAAA,IACnC,QAAA,IAAA,OAATsB,CAAA,IAMP1B,MAAA,CAAOM,cAAA,CAAeiB,CAAA,EAAKG,CAAA,EAAM9B,CAAA,GAE5BA,CAAA,CAAA;;;;;;;ACmCO,SAAA2B,CAAAA,CAAMA,CAAA,EAAkBxB,CAAA,EAAA;AACtC,EAAA,OAAA,CACE0C,CAAA,EACAH,CAAA,EACAjC,CAAA,KAAA;IAEA,MAAMsB,CAAA,GAAWD,CAAA,IACCA,CAAA,CAAG+G,UAAA,EAAYyC,aAAA,CAAc3J,CAAA,CAAA,IAAa,IAAA;AA8D1D,IAAA,OAAOG,GAAA,CAAKe,CAAA,EAAeH,CAAA,EAAe;MACxCtB,GAAAA,GAAA;QACE,OAAOW,CAAA,CAAQ,IAAA,CAChB;AAAA,MAAA;KAAA,CAGN;EAAA,CACH;AAAA;;AC/IA;MACsBwJ,mBAAoB,SAAQC,aAAa,CAC7DC,SAAS,CAACC,eAAe,CAACC,QAAQ,CAACC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC,CACvD,CAAA;AAiJC;EACA,IAAIC,IAAIA,GAAA;AACN,IAAA,OAAO,IAAI,CAACC,OAAO,CAAC,UAAU,CAAC;AACjC,EAAA;AAEA;EACmBjB,YAAYA,CAACkB,kBAAwC,EAAA;AACtE,IAAA,KAAK,CAAClB,YAAY,CAACkB,kBAAkB,CAAC;IACtC,CAAC,IAAI,CAACC,UAAU,EAAE,IAAI,CAACC,WAAW,EAAE,IAAI,CAACC,OAAO,CAAC,CAACzD,OAAO,CAAE0D,CAAC,IAAKA,CAAC,EAAEC,MAAM,CAAC,IAAI,CAAC,CAAC;AACnF,EAAA;AAEA;AACSC,EAAAA,MAAMA,GAAA;AACb,IAAA,OAAOC,IAAI,CAAA,kEAAA,EACyC,IAAI,CAACC,QAAQ,CAAA,kEAAA,EACf,IAAI,CAACA,QAAQ,CAAA,yDAAA,EACrB,IAAI,CAACA,QAAQ,8DAEnDC,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAACC,gBAAgB,CAAC,EAAE,GAAGC,OAAO,wBACvC,IAAI,CAACC,cAAc,EAAE,CAAA,YAAA,CACvC;AACT,EAAA;;AArKA;AACgBpB,mBAAA,CAAA/D,MAAM,GAAmBoF,GAAG,sRAUJC,WAAW,CAACC,KAAK,CAACC,SAAS,8HAGaF,WAAW,CAACC,KAAK,CAACC,SAAS,gFAC3BF,WAAW,CAACC,KAAK,CAACC,SAAS,CAAA,yDAAA,EAC/CF,WAAW,CAACC,KAAK,CAACC,SAAS,CAAA,8IAAA,EAMjCF,WAAW,CAACC,KAAK,CAACC,SAAS,CAAA,oNAAA,EAUhCF,WAAW,CAACC,KAAK,CAACE,mBAAmB,CAAA,mEAAA,EAChBH,WAAW,CAACC,KAAK,CAACG,iBAAiB,CAAA,kHAAA,EAKjGJ,WAAW,CAACC,KAAK,CAACE,mBAAmB,2FAIrCH,WAAW,CAACC,KAAK,CAACE,mBAAmB,CAAA,mEAAA,EAEwBH,WAAW,CAACC,KAAK,CAACE,mBAAmB,CAAA,yIAAA,EAQ9DH,WAAW,CAACC,KAAK,CAACC,SAAS,CAAA,2PAAA,EAavBF,WAAW,CAACK,KAAK,CAACC,MAAM,CAACC,UAAU,kBACjEC,SAAS,CAAC,iBAAiBR,WAAW,CAACS,MAAM,CAACC,MAAM,CAACC,WAAW,CAAA,CAAE,CAAC,yGAGnBX,WAAW,CAACK,KAAK,CAACC,MAAM,CAACM,MAAM,CAAA,gEAAA,EAC9BZ,WAAW,CAACK,KAAK,CAACC,MAAM,CAACM,MAAM,4GAG7BZ,WAAW,CAACK,KAAK,CAACC,MAAM,CAACM,MAAM,CAAA,mEAAA,EAC9BZ,WAAW,CAACK,KAAK,CAACC,MAAM,CAACM,MAAM,CAAA,2FAAA,EAGhCZ,WAAW,CAACK,KAAK,CAACC,MAAM,CAACM,MAAM,CAAA,mEAAA,EAC9BZ,WAAW,CAACK,KAAK,CAACC,MAAM,CAACM,MAAM,CAAA,4FAAA,EAG9BZ,WAAW,CAACK,KAAK,CAACC,MAAM,CAACM,MAAM,CAAA,qEAAA,EAC9BZ,WAAW,CAACK,KAAK,CAACC,MAAM,CAACM,MAAM,CAAA,6XAAA,EAe5CZ,WAAW,CAACa,SAAS,CAACC,QAAQ,CAACC,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAA,6DAAA,EAGtGjB,WAAW,CAACa,SAAS,CAACC,QAAQ,CAACC,KAAK,CAACC,KAAK,CAACE,UAAU,iEAIrDlB,WAAW,CAACa,SAAS,CAACC,QAAQ,CAACC,KAAK,CAACC,KAAK,CAACG,UAAU,CAAA,6DAAA,EAEEnB,WAAW,CAACa,SAAS,CAACC,QAAQ,CAACC,KAAK,CAACC,KAAK,CAACI,QAAQ,CAAA,yhBAAA,CAgCjH;AAEsDtO,UAAA,CAAA,CAAtCuO,CAAK,CAAC,aAAa,CAAC,CAAmD,EAAA3C,mBAAA,CAAA/I,SAAA,EAAA,YAAA,EAAA,MAAA,CAAA;AAChC7C,UAAA,CAAA,CAAvCuO,CAAK,CAAC,cAAc,CAAC,CAAqD,EAAA3C,mBAAA,CAAA/I,SAAA,EAAA,aAAA,EAAA,MAAA,CAAA;AACxC7C,UAAA,CAAA,CAAlCuO,CAAK,CAAC,SAAS,CAAC,CAA6C,EAAA3C,mBAAA,CAAA/I,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;;AC7JhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDG;AAEI,IAAM2L,qBAAqB,GAA3B,MAAMA,qBAAsB,SAAQC,OAAO,CAACC,iBAAiB,CAAC,CAAA;AACnE;EACA,IAAIxC,IAAIA,GAAA;AACN,IAAA,OAAO,IAAI,CAACyC,OAAO,EAAEC,OAAO,KAAK,UAAU,GAAmB,IAAI,CAACD,OAAO,GAAG,IAAI;AACnF,EAAA;AAEA;EACSlC,MAAMA,CAACkC,OAAoB,EAAA;AAClC,IAAA,KAAK,CAAClC,MAAM,CAACkC,OAAO,CAAC;AAErB,IAAA,MAAMzC,IAAI,GAAG,IAAI,CAACA,IAAI;AACtB,IAAA,IAAIA,IAAI,EAAE;MACR,IAAI,IAAI,CAAC2C,aAAa,EAAE;AACtB,QAAA,IAAI,CAACA,aAAa,CAACC,YAAY,GAAG,MAAM;AACxC,QAAA,IAAI,CAACD,aAAa,CAACE,YAAY,GAAG,OAAO;QACzC,IAAI7C,IAAI,CAAC8C,EAAE,EAAE;UACXC,mBAAmB,CAAC,IAAI,CAACJ,aAAa,EAAE,eAAe,EAAE3C,IAAI,CAAC8C,EAAE,CAAC;AACnE,QAAA;AACF,MAAA;AACA,MAAA,IAAI,IAAI,CAAC7C,OAAO,CAAC,UAAU,CAAC,EAAE;QAC5BD,IAAI,CAACgD,OAAO,GAAG,IAAI;AACrB,MAAA;AACF,IAAA;AACF,EAAA;AAEA;AACSC,EAAAA,MAAMA,GAAA;IACb,IAAI,IAAI,CAACN,aAAa,EAAE;AACtB,MAAA,IAAI,CAACA,aAAa,CAACC,YAAY,GAAG,IAAI;AACtC,MAAA,IAAI,CAACD,aAAa,CAACE,YAAY,GAAG,IAAI;AAEtC,MAAA,MAAM7C,IAAI,GAAG,IAAI,CAACA,IAAI;MACtB,IAAIA,IAAI,EAAE8C,EAAE,EAAE;QACZI,sBAAsB,CAAC,IAAI,CAACP,aAAa,EAAE,eAAe,EAAE3C,IAAI,CAAC8C,EAAE,CAAC;AACtE,MAAA;AACF,IAAA;IAEA,KAAK,CAACG,MAAM,EAAE;AAChB,EAAA;AAEA;AACSE,EAAAA,QAAQA,GAAA;IACf,IAAI,IAAI,CAACR,aAAa,EAAE;AACtB,MAAA,IAAI,IAAI,CAACA,aAAa,CAACD,OAAO,KAAK,eAAe,EAAE;QAClD,IAAI,CAAC1C,IAAI,EAAEoD,IAAI,CAAC,IAAI,CAACT,aAAa,CAAC;AACrC,MAAA,CAAC,MAAM;QACL,IAAI,CAAC3C,IAAI,EAAEqD,MAAM,CAAC,IAAI,CAACV,aAAa,CAAC;AACvC,MAAA;AACF,IAAA;AACF,EAAA;;AAjDWL,qBAAqB,GAAAxO,UAAA,CAAA,CADjCwP,GAAa,CAAC,kBAAkB,CAAC,CACrB,EAAAhB,qBAAqB,CAkDjC;;;;AC1GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0GG;AAEI,IAAMiB,kBAAkB,GAAAC,oBAAA,GAAxB,MAAMD,kBAAmB,SAAQE,UAAU,CAACC,IAAI,CAAChE,mBAAmB,EAAE,UAAU,CAAC,CAAC,CAAA;AAQvFzI,EAAAA,WAAAA,GAAA;AACE,IAAA,KAAK,EAAE;;AART;IAAyB0M,gCAAA,CAAAlO,GAAA,CAAA,IAAA,EAAiBK,CAAQ,IAAKhB,sBAAA,CAAA,IAAI,sEAAa,CAAAO,IAAA,CAAjB,IAAI,EAAcS,CAAC,CAAC,CAAA;AAC3E;IAAyB8N,kCAAA,CAAAnO,GAAA,CAAA,IAAA,EAAmBK,CAAgB,IAAKhB,sBAAA,CAAA,IAAI,wEAAe,CAAAO,IAAA,CAAnB,IAAI,EAAgBS,CAAC,CAAC,CAAA;AACvF;IAAyB+N,qCAAA,CAAApO,GAAA,CAAA,IAAA,EAAqB,MAAMX,sBAAA,CAAA,IAAI,EAAAgP,6BAAA,EAAA,GAAA,EAAAC,oCAAA,CAAkB,CAAA1O,IAAA,CAAtB,IAAI,CAAoB,CAAA;AAE5E;IAAiC,IAAA,CAAA2O,WAAW,GAAG,KAAK;AACpD;AAAgBC,IAAAA,kCAAA,CAAAxO,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;IAKd,IAAIyO,eAAe,CAAC,IAAI,EAAE;AACxBC,MAAAA,UAAU,EAAE,GAAG;AACfC,MAAAA,QAAQ,EAAE,GAAG;MACbC,QAAQ,EAAGC,QAAQ,IAAI;AACrB,QAAA,IAAIA,QAAQ,IAAI,CAAC,IAAI,CAAC5D,QAAQ,IAAI5L,sBAAA,CAAA,IAAI,EAAAmP,kCAAA,EAAA,GAAA,CAAgB,EAAE;AACtDnP,UAAAA,sBAAA,CAAA,IAAI,0CAAgB,CAACkL,IAAI,EAAEoD,IAAI,CAAC,IAAI,CAAC;AACvC,QAAA;AACF,MAAA;AACD,KAAA,CAAC;AACJ,EAAA;AAEA;EACA,IAAIJ,OAAOA,GAAA;IACT,OAAOlO,uBAAA,IAAI,EAAAmP,kCAAA,EAAA,GAAA,CAAgB,EAAEjE,IAAI,IAAI,IAAI;AAC3C,EAAA;AAEA;AACStC,EAAAA,iBAAiBA,GAAA;IACxB,KAAK,CAACA,iBAAiB,EAAE;AAEzB,IAAA,IAAI,CAAC6G,gBAAgB,CAAC,OAAO,EAAEzP,sBAAA,CAAA,IAAI,EAAA6O,gCAAA,EAAA,GAAA,CAAc,CAAC;AAClD,IAAA,IAAI,CAACY,gBAAgB,CAAC,SAAS,EAAEzP,sBAAA,CAAA,IAAI,EAAA8O,kCAAA,EAAA,GAAA,CAAgB,CAAC;AACtD,IAAA,IAAI,CAACW,gBAAgB,CAAC,YAAY,EAAEzP,sBAAA,CAAA,IAAI,EAAA+O,qCAAA,EAAA,GAAA,CAAmB,CAAC;AAC9D,EAAA;AAEA;AACSlG,EAAAA,oBAAoBA,GAAA;IAC3B,KAAK,CAACA,oBAAoB,EAAE;AAE5B,IAAA,IAAI,CAAC6G,mBAAmB,CAAC,OAAO,EAAE1P,sBAAA,CAAA,IAAI,EAAA6O,gCAAA,EAAA,GAAA,CAAc,CAAC;AACrD,IAAA,IAAI,CAACa,mBAAmB,CAAC,SAAS,EAAE1P,sBAAA,CAAA,IAAI,EAAA8O,kCAAA,EAAA,GAAA,CAAgB,CAAC;AACzD,IAAA,IAAI,CAACY,mBAAmB,CAAC,YAAY,EAAE1P,sBAAA,CAAA,IAAI,EAAA+O,qCAAA,EAAA,GAAA,CAAmB,CAAC;AACjE,EAAA;AAEA;AACmB/C,EAAAA,cAAcA,GAAA;IAC/B,OAAOL,IAAI,CAAA,kDAAA,EAAqD3L,sBAAA,CAAA,IAAI,EAAAgP,6BAAA,EAAA,GAAA,EAAAW,yCAAA,CAAuB,qDAC9C3P,sBAAA,CAAA,IAAI,EAAAgP,6BAAA,EAAA,GAAA,EAAAY,4CAAA,CAA0B,CAAA,gBAAA,EACvE,IAAI,CAACV,WAAW,GACdW,iBAAiB,CAACC,OAAO,KAAK,KAAK,GACjCnE,IAAI,CAAA,2IAAA,CAEG,GACPA,IAAI,CAAA,0IAAA,CAEG,GACTA,IAAI,CAAA,2DAAA,EAA8D3L,sBAAA,CAAA,IAAI,EAAAgP,6BAAA,EAAA,GAAA,EAAAe,iDAAA,CAA+B,CAAA,SAAA,CAC7F,CAAA,CAAE;AAClB,EAAA;;;;;;;qGAG0B/O,CAAQ,EAAA;EAChCN,sBAAA,CAAA,IAAI,EAAAyO,kCAAA,EAAqCnO,CAAC,CAAC9B,MAAO,CAC/C8Q,gBAAgB,CAAC;AAAEC,IAAAA,OAAO,EAAE;GAAM,CAAC,CACnCC,IAAI,CAAE1E,CAAC,IAAKA,CAAC,YAAYgC,qBAAqB,CAAC,EAAA,GAAA,CAAA;AAClD,EAAA,IAAI,CAAC0B,WAAW,GAAGlP,sBAAA,CAAA,IAAI,EAAAmP,kCAAA,EAAA,GAAA,CAAgB,KAAKgB,SAAS;AACvD,CAAC;+FAGsBnP,CAAQ,EAAA;AAC7B,EAAA,IAAI,CAACoP,SAAS,CAAC7B,MAAM,CAAC,YAAY,EAAE8B,gBAAgB,CAAkBrP,CAAC,CAAC9B,MAAM,CAAC,CAAC;AAClF,CAAC;+GAG8B8B,CAAQ,EAAA;AACrC,EAAA,IAAI,CAACoP,SAAS,CAAC7B,MAAM,CAAC,qBAAqB,EAAE8B,gBAAgB,CAAkBrP,CAAC,CAAC9B,MAAM,CAAC,CAAC;AAC3F,CAAC;2EAGY8B,CAAQ,EAAA;EACnB,IAAI,CAACA,CAAC,CAACsP,gBAAgB,IAAI,CAAC,IAAI,CAACpB,WAAW,EAAE;AAC5C,IAAA,IAAI,CAAChE,IAAI,EAAEqF,OAAO,CAAC,IAAI,CAAC;AAC1B,EAAA;AACF,CAAC;+EAGcvP,CAAgB,EAAA;AAC7B,EAAA,IAAIA,CAAC,CAACsP,gBAAgB,IAAI,IAAI,CAAC1E,QAAQ,EAAE;EAEzC,QAAQ5K,CAAC,CAAC7B,GAAG;AACX,IAAA,KAAK,OAAO;AACZ,IAAA,KAAK,YAAY;AACf,MAAA,IAAI0Q,iBAAiB,CAACC,OAAO,KAAK,KAAK,EAAE;QACvC9O,CAAC,CAACwP,cAAc,EAAE;AAClB,QAAA,IAAI,CAACtC,OAAO,EAAEI,IAAI,CAAC,IAAI,CAAC;AAC1B,MAAA;AAEA,MAAA;AAEF,IAAA,KAAK,MAAM;AACX,IAAA,KAAK,WAAW;AACd,MAAA,IAAIuB,iBAAiB,CAACC,OAAO,KAAK,KAAK,EAAE;QACvC9O,CAAC,CAACwP,cAAc,EAAE;AAClB,QAAA,IAAI,CAACtC,OAAO,EAAEI,IAAI,CAAC,IAAI,CAAC;AAC1B,MAAA;AAEA,MAAA;AACJ;AACF,CAAC;;EAIC,IAAI,CAACpD,IAAI,EAAEuF,KAAK,CAAC3I,OAAO,CAAE4I,IAAI,IAAI;AAChC,IAAA,IAAIA,IAAI,YAAYhC,oBAAkB,IAAIgC,IAAI,KAAK,IAAI,IAAIA,IAAI,CAACxC,OAAO,EAAEyC,MAAM,EAAE;AAC/ED,MAAAA,IAAI,CAACxC,OAAO,CAAC0C,IAAI,EAAE;AACrB,IAAA;AACF,EAAA,CAAC,CAAC;AACJ,CAAC;AAjHgC5R,UAAA,CAAA,CAAhBkB,CAAK,EAAE,CAA6B,EAAAuO,kBAAA,CAAA5M,SAAA,EAAA,aAAA,EAAA,MAAA,CAAA;AAL1C4M,kBAAkB,GAAAC,oBAAA,GAAA1P,UAAA,CAAA,CAD9BwP,GAAa,CAAC,eAAe,CAAC,CAClB,EAAAC,kBAAkB,CAuH9B;;;;AC/ND;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4EG;AAEI,IAAMoC,cAAc,GAAAC,gBAAA,GAApB,MAAMD,cAAe,SAAQjC,IAAI,CAAC3D,UAAU,EAAE,MAAM,CAAC,CAAA;AAArD9I,EAAAA,WAAAA,GAAA;;;AAwJL;AAAgB4O,IAAAA,uBAAA,CAAApQ,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAChB;AAAgBqQ,IAAAA,6BAAA,CAAArQ,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAEhB;IAAyBsQ,2BAAA,CAAAtQ,GAAA,CAAA,IAAA,EAAe,IAAIuQ,qBAAqB,EAAuB,CACrFC,QAAQ,EAAE,CACVC,cAAc,EAAE,CAChBC,uBAAuB,EAAE,CAAA;AAE5B;IAAyBC,8BAAA,CAAA3Q,GAAA,CAAA,IAAA,EAAmBK,CAAgB,IAAKhB,sBAAA,CAAA,IAAI,gEAAe,CAAAO,IAAA,CAAnB,IAAI,EAAgBS,CAAC,CAAC,CAAA;AACvF;IAAyBuQ,iCAAA,CAAA5Q,GAAA,CAAA,IAAA,EAAqB,MAAMX,sBAAA,CAAA,IAAI,EAAAwR,yBAAA,EAAA,GAAA,EAAAC,gCAAA,CAAkB,CAAAlR,IAAA,CAAtB,IAAI,CAAoB,CAAA;AAC5E;IAAyBmR,oCAAA,CAAA/Q,GAAA,CAAA,IAAA,EAAyBK,CAAa,IAAKhB,sBAAA,CAAA,IAAI,sEAAqB,CAAAO,IAAA,CAAzB,IAAI,EAAsBS,CAAC,CAAC,CAAA;AAChG;IAAyB2Q,gCAAA,CAAAhR,GAAA,CAAA,IAAA,EAAoB,IAAIiR,gBAAgB,CAAC,IAAI,EAAE;AACtE1S,MAAAA,MAAM,EAAE,IAAI;AACZqQ,MAAAA,QAAQ,EAAGrQ,MAAM,IACfA,MAAM,YAAY4R,gBAAc,GAC5B5R,MAAM,CAACuR,KAAK,CAACoB,MAAM,CAAErG,CAAC,IAAKA,CAAC,YAAYiD,kBAAkB,CAAC,CAAC3G,OAAO,CAAE0D,CAAC,IAAKA,CAAC,CAAC0C,OAAO,EAAE0C,IAAI,EAAE,CAAC,GAC7F,IAAI,CAACL,OAAO;AACnB,KAAA,CAAC,CAAA;AAEF;AAAyBuB,IAAAA,6BAAA,CAAAnR,GAAA,CAAA,IAAA,EAAkBK,CAAc,IAAI;AAC3D,MAAA,IAAIA,CAAC,CAAC+Q,QAAQ,KAAK,QAAQ,EAAE;QAC3B/R,sBAAA,CAAA,IAAI,EAAAgR,6BAAA,EAAA,GAAA,CAAe,EAAEzQ,IAAA,CAArB,IAAI,CAAmB;QACvBG,sBAAA,CAAA,IAAI,EAAAsQ,6BAAA,EAAkBb,SAAS,EAAA,GAAA,CAAA;AACjC,MAAA,CAAC,MAAM;AACL6B,QAAAA,UAAU,CAAC,MAAK;AACdhS,UAAAA,sBAAA,CAAA,IAAI,EAAAiR,2BAAA,EAAA,GAAA,CAAa,CAACgB,aAAa,CAACjS,uBAAA,IAAI,EAAAiR,2BAAA,EAAA,GAAA,CAAa,CAACR,KAAK,CAACP,IAAI,CAAE1E,CAAC,IAAK,CAACA,CAAC,CAACI,QAAQ,CAAC,CAAC;QACnF,CAAC,EAAE,EAAE,CAAC;AACR,MAAA;AACF,IAAA,CAAC,CAAA;AAED;;;AAGG;IACoC,IAAA,CAAAsG,SAAS,GAAkB,OAAO;AAEzE;;;AAGG;IACoC,IAAA,CAAAC,SAAS,GAAkB,OAAO;AAEzE;;;AAGG;IAC0B,IAAA,CAAAC,OAAO,GAAgB,UAAU;AAY9D;IAC4C,IAAA,CAAAlE,OAAO,GAAG,KAAK;AAyQ7D,EAAA;AApRE;EACA,IAAIuC,KAAKA,GAAA;IACP,OAAOzQ,sBAAA,CAAA,IAAI,EAAAiR,2BAAA,EAAA,GAAA,CAAa,CAACR,KAAK;AAChC,EAAA;AAEA;EACA,IAAIE,MAAMA,GAAA;IACR,OAAO3Q,sBAAA,CAAA,IAAI,EAAA+Q,uBAAA,EAAA,GAAA,CAAS,KAAKZ,SAAS;AACpC,EAAA;AAKA;AACSvH,EAAAA,iBAAiBA,GAAA;IACxB,KAAK,CAACA,iBAAiB,EAAE;AAEzB,IAAA,IAAI,CAACyJ,QAAQ,GAAG,EAAE;AAClB,IAAA,IAAI,CAACjC,SAAS,CAACnI,GAAG,CAAC,aAAa,CAAC;AACjC,IAAA,IAAI,CAACjF,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC;AACtC,IAAA,IAAI,CAACyM,gBAAgB,CAAC,SAAS,EAAEzP,sBAAA,CAAA,IAAI,EAAAsR,8BAAA,EAAA,GAAA,CAAgB,CAAC;AACtD,IAAA,IAAI,CAAC7B,gBAAgB,CAAC,YAAY,EAAEzP,sBAAA,CAAA,IAAI,EAAAuR,iCAAA,EAAA,GAAA,CAAmB,CAAC;AAC5D,IAAA,IAAI,CAAC9B,gBAAgB,CAAC,QAAQ,EAAEzP,sBAAA,CAAA,IAAI,EAAA8R,6BAAA,EAAA,GAAA,CAAe,CAAC;AACpDjP,IAAAA,QAAQ,CAAC4M,gBAAgB,CAAC,OAAO,EAAEzP,sBAAA,CAAA,IAAI,EAAA0R,oCAAA,EAAA,GAAA,CAAsB,CAAC;AAChE,EAAA;AAEA;AACS7I,EAAAA,oBAAoBA,GAAA;IAC3B,KAAK,CAACA,oBAAoB,EAAE;AAE5B,IAAA,IAAI,CAAC6G,mBAAmB,CAAC,SAAS,EAAE1P,sBAAA,CAAA,IAAI,EAAAsR,8BAAA,EAAA,GAAA,CAAgB,CAAC;AACzD,IAAA,IAAI,CAAC5B,mBAAmB,CAAC,YAAY,EAAE1P,sBAAA,CAAA,IAAI,EAAAuR,iCAAA,EAAA,GAAA,CAAmB,CAAC;AAC/D,IAAA,IAAI,CAAC7B,mBAAmB,CAAC,QAAQ,EAAE1P,sBAAA,CAAA,IAAI,EAAA8R,6BAAA,EAAA,GAAA,CAAe,CAAC;AACvDjP,IAAAA,QAAQ,CAAC6M,mBAAmB,CAAC,OAAO,EAAE1P,sBAAA,CAAA,IAAI,EAAA0R,oCAAA,EAAA,GAAA,CAAsB,CAAC;AAEjE1R,IAAAA,sBAAA,CAAA,IAAI,EAAAwR,yBAAA,EAAA,GAAA,EAAAc,0BAAA,CAAY,CAAA/R,IAAA,CAAhB,IAAI,CAAc;AACpB,EAAA;AAEA;;;;AAIG;EACH,MAAM+N,IAAIA,CAACiE,OAAoB,EAAA;AAC7B,IAAA,IAAIvS,sBAAA,CAAA,IAAI,EAAA+Q,uBAAA,EAAA,GAAA,CAAS,IAAI/Q,sBAAA,CAAA,IAAI,EAAA+Q,uBAAA,EAAA,GAAA,CAAS,KAAKwB,OAAO,EAAE;MAC9C,IAAI,CAAC3B,IAAI,EAAE;AACb,IAAA;AAEA,IAAA,IAAIsB,SAAS,GAAG,IAAI,CAACA,SAAS;AAC9B,IAAA,IAAIrC,iBAAiB,CAACC,OAAO,KAAK,KAAK,EAAE;AACvCoC,MAAAA,SAAS,GAAGA,SAAS,KAAK,QAAQ,GAAG,OAAO,GAAG,QAAQ;AACzD,IAAA;IAEAxR,sBAAA,CAAA,IAAI,iCAAkB,MAAM8R,cAAc,CACxC,IAAI,EACJD,OAAO,EACP;AACEE,MAAAA,QAAQ,EAAE,IAAI,CAACvE,OAAO,GAClBgE,SAAS,KAAK,QAAQ,GACpB,YAAY,GACZ,aAAa,GACf,IAAI,CAACC,SAAS,KAAK,OAAO,GACxBD,SAAS,KAAK,QAAQ,GACpB,SAAS,GACT,WAAW,GACbA,SAAS,KAAK,QAAQ,GACpB,YAAY,GACZ,cAAc;AACtBQ,MAAAA,MAAM,EAAE,IAAI;AACZC,MAAAA,IAAI,EAAE,IAAI;AACVC,MAAAA,KAAK,EAAE,IAAI;AACXC,MAAAA,MAAM,EAAE,CAAC,IAAI,CAAC3E,OAAO,GAAG,CAAC,GAAGiC;AAC7B,KAAA,EACD,CAAC3E,CAAC,EAAEpG,CAAC,EAAEqN,QAAQ,KAAI;AACjB,MAAA,IAAI,CAAC,IAAI,CAACvE,OAAO,EAAE;AACjB,QAAA,IAAI,CAACkC,SAAS,CAAC7B,MAAM,CAAC,MAAM,EAAEkE,QAAQ,CAACK,QAAQ,CAAC,KAAK,CAAC,CAAC;AACvD,QAAA,IAAI,CAAC1C,SAAS,CAAC7B,MAAM,CAAC,SAAS,EAAEkE,QAAQ,CAACK,QAAQ,CAAC,QAAQ,CAAC,CAAC;MAC/D,CAAC,MAAM,IAAI9S,sBAAA,CAAA,IAAI,EAAA+Q,uBAAA,EAAA,GAAA,CAAS,EAAE;QACxB,MAAMgC,GAAG,GAAG/S,sBAAA,CAAA,IAAI,sEAAqB,CAAAO,IAAA,CAAzB,IAAI,EAAsBP,sBAAA,CAAA,IAAI,EAAA+Q,uBAAA,EAAA,GAAA,CAAS,CAAC,CAAC3L,CAAC;QACtD,IAAI,CAACgL,SAAS,CAAC7B,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC;QAC3C,IAAI,CAAC6B,SAAS,CAAC7B,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC;QACzC,IAAI,CAAC6B,SAAS,CAAC7B,MAAM,CAACyE,IAAI,CAACC,KAAK,CAAC7N,CAAC,CAAC,KAAK4N,IAAI,CAACC,KAAK,CAACF,GAAG,CAAC,GAAG,aAAa,GAAG,WAAW,EAAE,IAAI,CAAC;AAC9F,MAAA;AAEA,MAAA,IAAIlD,iBAAiB,CAACC,OAAO,KAAK,KAAK,EAAE;AACvC,QAAA,IAAI,CAACoD,KAAK,CAACC,KAAK,GAAG,CAAA,EAAGC,MAAM,CAACC,UAAU,GAAG7H,CAAC,GAAG,IAAI,CAAC8H,WAAW,CAAA,EAAA,CAAI;AACpE,MAAA,CAAC,MAAM;AACL,QAAA,IAAI,CAACJ,KAAK,CAACK,IAAI,GAAG,CAAA,EAAG/H,CAAC,CAAA,EAAA,CAAI;AAC5B,MAAA;AACA,MAAA,IAAI,CAAC0H,KAAK,CAACH,GAAG,GAAG,CAAA,EAAG3N,CAAC,CAAA,EAAA,CAAI;IAC3B,CAAC,CACF,MAAA;AAED,IAAA,MAAMoO,MAAM,GAAGjB,OAAO,CAACpH,OAAO,CAAC,UAAU,CAAC;AAC1C,IAAA,IAAIqI,MAAM,EAAE;AACV,MAAA,IAAI,CAACpB,OAAO,GAAGoB,MAAM,CAACpB,OAAO;AAC/B,IAAA,CAAC,MAAM;AACLpS,MAAAA,sBAAA,CAAA,IAAI,EAAAwR,yBAAA,EAAA,GAAA,EAAAiC,wBAAA,CAAU,CAAAlT,IAAA,CAAd,IAAI,CAAY;AAClB,IAAA;IAEA,IAAI,CAACmT,WAAW,EAAE;IAElBhT,sBAAA,CAAA,IAAI,EAAAqQ,uBAAA,EAAYwB,OAAO,EAAA,GAAA,CAAA;IACvBvS,sBAAA,CAAA,IAAI,EAAA+Q,uBAAA,EAAA,GAAA,CAAS,CAAChD,YAAY,GAAG,MAAM;AACnC/N,IAAAA,sBAAA,CAAA,IAAI,wCAAkB,CAAC2T,OAAO,CAAC3T,sBAAA,CAAA,IAAI,EAAA+Q,uBAAA,EAAA,GAAA,CAAS,CAAC;AAC/C,EAAA;AAEA;;;AAGG;AACHH,EAAAA,IAAIA,CAACgD,eAAwB,KAAK,EAAA;AAChC,IAAA,KAAK,MAAMlD,IAAI,IAAI1Q,sBAAA,CAAA,IAAI,EAAAiR,2BAAA,EAAA,GAAA,CAAa,CAACR,KAAK,EAAE;AAC1C,MAAA,MAAMvC,OAAO,GAAwBwC,IAAK,CAACxC,OAAO;AAClD,MAAA,IAAIA,OAAO,IAAIA,OAAO,CAACyC,MAAM,EAAE;QAC7BzC,OAAO,CAAC0C,IAAI,EAAE;AAChB,MAAA;AACF,IAAA;AAEA5Q,IAAAA,sBAAA,CAAA,IAAI,EAAAwR,yBAAA,EAAA,GAAA,EAAAc,0BAAA,CAAY,CAAA/R,IAAA,CAAhB,IAAI,CAAc;IAClB,IAAI,CAACsT,WAAW,EAAE;IAElB,IAAI7T,sBAAA,CAAA,IAAI,EAAA+Q,uBAAA,EAAA,GAAA,CAAS,EAAE;MACjB/Q,sBAAA,CAAA,IAAI,EAAA+Q,uBAAA,EAAA,GAAA,CAAS,CAAChD,YAAY,GAAG,OAAO;AACpC,MAAA,IAAI6F,YAAY,EAAE;QAChB5T,sBAAA,CAAA,IAAI,EAAA+Q,uBAAA,EAAA,GAAA,CAAS,CAAC+C,KAAK,EAAE;AACvB,MAAA;AACA9T,MAAAA,sBAAA,CAAA,IAAI,wCAAkB,CAAC+T,SAAS,CAAC/T,sBAAA,CAAA,IAAI,EAAA+Q,uBAAA,EAAA,GAAA,CAAS,CAAC;MAC/CrQ,sBAAA,CAAA,IAAI,EAAAqQ,uBAAA,EAAYZ,SAAS,EAAA,GAAA,CAAA;AAC3B,IAAA;AACF,EAAA;AAEA;;;AAGG;AACHI,EAAAA,OAAOA,CAACqD,eAAwB,KAAK,EAAA;AACnC;IACA,IAAI1I,IAAI,GAAmB,IAAI;IAC/B,OAAOlL,sBAAA,CAAAkL,IAAI,EAAA6F,uBAAA,EAAA,GAAA,CAAS,EAAE;AACpB,MAAA,MAAMyC,MAAM,GAAGxT,sBAAA,CAAAkL,IAAI,EAAA6F,uBAAA,EAAA,GAAA,CAAS,CAAC5F,OAAO,CAAC,UAAU,CAAC;MAChD,IAAI,CAACqI,MAAM,EAAE;AACX,QAAA;AACF,MAAA;AACAtI,MAAAA,IAAI,GAAGsI,MAAM;AACf,IAAA;AACAtI,IAAAA,IAAI,CAAC0F,IAAI,CAACgD,YAAY,CAAC;AACzB,EAAA;AAEA;;;;AAIG;EACH,MAAMrF,MAAMA,CAACgE,OAAoB,EAAA;IAC/B,IAAIvS,sBAAA,CAAA,IAAI,EAAA+Q,uBAAA,EAAA,GAAA,CAAS,EAAE;MACjB,IAAI,CAACH,IAAI,EAAE;AACb,IAAA,CAAC,MAAM;AACL,MAAA,MAAM,IAAI,CAACtC,IAAI,CAACiE,OAAO,CAAC;AAC1B,IAAA;AACF,EAAA;AAEA;AACmB7G,EAAAA,MAAMA,GAAA;AACvB,IAAA,OAAOC,IAAI,CAAA,qCAAA,EAAwC3L,uBAAA,IAAI,EAAAwR,yBAAA,EAAA,GAAA,EAAAwC,gCAAA,CAAkB,CAAA,eAAA,CAAiB;AAC5F,EAAA;AAEA;EACmB9J,YAAYA,CAACkB,kBAAkC,EAAA;AAChE,IAAA,KAAK,CAAClB,YAAY,CAACkB,kBAAkB,CAAC;IACtC6I,qBAAqB,CAAC,MAAM,IAAI,CAAC7D,SAAS,CAAC8D,MAAM,CAAC,aAAa,CAAC,CAAC;AACnE,EAAA;;;;;;;;;;;;EAIE,MAAM;AAAEC,IAAAA;AAAK,GAAE,GAAGnU,uBAAA,IAAI,EAAAiR,2BAAA,EAAA,GAAA,CAAa,CAACmD,QAAQ,CAC1C,CACE,GAAG,IAAI,CAACC,gBAAgB,CAAsB,0DAA0D,CAAC,CAC1G,CAACxC,MAAM,CAAErG,CAAC,IAAKA,CAAC,CAACL,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAChD;EAED,IAAI,CAACnL,sBAAA,CAAA,IAAI,mCAAa,CAACsU,UAAU,EAAE;IACjCtU,sBAAA,CAAA,IAAI,mCAAa,CAACuU,gBAAgB,CAACJ,KAAK,CAACjE,IAAI,CAAE1E,CAAC,IAAK,CAACA,CAAC,CAACI,QAAQ,CAAC,CAAC;AACpE,EAAA;AAEA5L,EAAAA,sBAAA,CAAA,IAAI,EAAAiR,2BAAA,EAAA,GAAA,CAAa,CAACR,KAAK,CAAC3I,OAAO,CAAC,CAAC0D,CAAC,EAAE1L,CAAC,KAAI;IACvC0L,CAAC,CAAC4E,SAAS,CAAC7B,MAAM,CAAC,QAAQ,EAAEzO,CAAC,KAAK,CAAC,CAAC;IACrC0L,CAAC,CAAC4E,SAAS,CAAC7B,MAAM,CAAC,OAAO,EAAEzO,CAAC,KAAKE,uBAAA,IAAI,EAAAiR,2BAAA,EAAA,GAAA,CAAa,CAACR,KAAK,CAAClR,MAAM,GAAG,CAAC,CAAC;AACvE,EAAA,CAAC,CAAC;AACJ,CAAC;uEAGcyB,CAAgB,EAAA;EAC7B,QAAQA,CAAC,CAAC7B,GAAG;AACX,IAAA,KAAK,OAAO;AACZ,IAAA,KAAK,YAAY;AACf,MAAA,IAAI0Q,iBAAiB,CAACC,OAAO,KAAK,KAAK,EAAE;QACvC9O,CAAC,CAACwP,cAAc,EAAE;AAClB,QAAA,IAAI,CAACI,IAAI,CAAC,IAAI,CAAC;AACjB,MAAA,CAAC,MAAM;QACL5Q,sBAAA,CAAA,IAAI,EAAAiR,2BAAA,EAAA,GAAA,CAAa,CAACuD,SAAS,CAACxT,CAAC,CAAC;AAChC,MAAA;AAEA,MAAA;AACF,IAAA,KAAK,MAAM;AACX,IAAA,KAAK,WAAW;AACd,MAAA,IAAI6O,iBAAiB,CAACC,OAAO,KAAK,KAAK,EAAE;QACvC9O,CAAC,CAACwP,cAAc,EAAE;AAClB,QAAA,IAAI,CAACI,IAAI,CAAC,IAAI,CAAC;AACjB,MAAA,CAAC,MAAM;QACL5Q,sBAAA,CAAA,IAAI,EAAAiR,2BAAA,EAAA,GAAA,CAAa,CAACuD,SAAS,CAACxT,CAAC,CAAC;AAChC,MAAA;AAEA,MAAA;AAEF,IAAA,KAAK,KAAK;MACR,IAAI,CAACuP,OAAO,EAAE;AACd,MAAA;AAEF,IAAA,KAAK,QAAQ;MACX,IAAI,CAACvP,CAAC,CAACyT,QAAQ,IAAI,CAACzT,CAAC,CAAC0T,OAAO,EAAE;AAC7B,QAAA,IAAI,CAAC9D,IAAI,CAAC,IAAI,CAAC;AACjB,MAAA;AACA,MAAA;AAEF,IAAA;MACE5Q,sBAAA,CAAA,IAAI,EAAAiR,2BAAA,EAAA,GAAA,CAAa,CAACuD,SAAS,CAACxT,CAAC,CAAC;AAC9B,MAAA;AACJ;AACF,CAAC;;AAIChB,EAAAA,sBAAA,CAAA,IAAI,EAAAwR,yBAAA,EAAA,GAAA,EAAAiC,wBAAA,CAAU,CAAAlT,IAAA,CAAd,IAAI,CAAY;AAClB,CAAC;mFAGoBS,CAAa,EAAA;AAChC,EAAA,IAAI,CAAC,IAAI,CAACkN,OAAO,IAAI,CAAClN,CAAC,CAAC2T,YAAY,EAAE,CAACC,IAAI,CAAEpJ,CAAC,IAAKA,CAAC,YAAYsF,gBAAc,IAAItF,CAAC,KAAKxL,sBAAA,CAAA,IAAI,EAAA+Q,uBAAA,EAAA,GAAA,CAAS,CAAC,EAAE;IACtG,IAAI,CAACH,IAAI,EAAE;AACb,EAAA;AACF,CAAC;mFAGoBiE,OAAoB,EAAA;EACvC,IAAIrJ,CAAC,GAAG,CAAC;AACPpG,IAAAA,CAAC,GAAG,CAAC;EAEP,KACE,IAAI0K,OAAO,GAAuB+E,OAAO,EACzC/E,OAAO,EACPA,OAAO,GAAGA,OAAO,CAACgF,YAAY,YAAYzP,WAAW,GAAGyK,OAAO,CAACgF,YAAY,GAAG,IAAI,EACnF;IACAtJ,CAAC,IAAIsE,OAAO,CAACiF,UAAU,GAAGjF,OAAO,CAACkF,UAAU,GAAGlF,OAAO,CAACmF,UAAU;IACjE7P,CAAC,IAAI0K,OAAO,CAACoF,SAAS,GAAGpF,OAAO,CAACqF,SAAS,GAAGrF,OAAO,CAACsF,SAAS;AAChE,EAAA;EAEA,OAAO;IAAE5J,CAAC;AAAEpG,IAAAA;GAAG;AACjB,CAAC;;AAIC,EAAA,IAAI,IAAI,KAAK0L,gBAAc,CAACuE,YAAY,EAAE;IACxCvE,gBAAc,CAACuE,YAAY,EAAEjF,SAAS,CAAC8D,MAAM,CAAC,SAAS,CAAC;IACxDpD,gBAAc,CAACuE,YAAY,GAAG,IAAI;IAClCvE,gBAAc,CAACuE,YAAY,EAAEjF,SAAS,CAACnI,GAAG,CAAC,SAAS,CAAC;AACvD,EAAA;AACF,CAAC;;AAIC,EAAA,IAAI,IAAI,KAAK6I,gBAAc,CAACuE,YAAY,EAAE;IACxCvE,gBAAc,CAACuE,YAAY,CAACjF,SAAS,CAAC8D,MAAM,CAAC,SAAS,CAAC;IACvDpD,gBAAc,CAACuE,YAAY,GAAGlF,SAAS;AACzC,EAAA;AACF,CAAC;AA1dD,CAAA,MAAA;AACE,EAAA,IAAItN,QAAQ,EAAE;AACZ,IAAA,MAAMyS,aAAa,GAAG,IAAIxT,aAAa,EAAE;IACzCwT,aAAa,CAAC/S,WAAW,CACvB0J,GAAG,mFAIF,CAACzJ,QAAQ,EAAE,CACb;IAEDK,QAAQ,CAACF,kBAAkB,GAAG,CAAC,GAAGE,QAAQ,CAACF,kBAAkB,EAAE2S,aAAa,CAAC;AAC/E,EAAA;AACF,CAAC,GAAA;AAED;AACgBzE,cAAA,CAAAhK,MAAM,GAAmBoF,GAAG,CAAA,kIAAA,EAQrBC,WAAW,CAACqJ,SAAS,CAACC,SAAS,CAAA,mBAAA,EAC/BtJ,WAAW,CAACqJ,SAAS,CAACpJ,KAAK,CAAA,yVAAA,EAOID,WAAW,CAACuJ,SAAS,CAACC,MAAM,CAAA,4WAAA,EAc7BxJ,WAAW,CAACK,KAAK,CAACC,MAAM,CAACmJ,KAAK,CAAA,6EAAA,EAGvBzJ,WAAW,CAACK,KAAK,CAACC,MAAM,CAACU,KAAK,CAAA,6CAAA,EAGxER,SAAS,CACrB,CAAA,QAAA,EAAWR,WAAW,CAACS,MAAM,CAACiJ,QAAQ,CAACC,MAAM,CAAA,CAAA,EAAI3J,WAAW,CAACS,MAAM,CAACmJ,MAAM,CAAC9I,QAAQ,CAAA;AACvE,kBAAA,EAAAd,WAAW,CAACS,MAAM,CAACiJ,QAAQ,CAACC,MAAM,CAAA,CAAA,EAAI3J,WAAW,CAACS,MAAM,CAACmJ,MAAM,CAAC9I,QAAQ,CAAA;AAC1E,gBAAA,EAAAd,WAAW,CAACS,MAAM,CAACiJ,QAAQ,CAACC,MAAM,CAAA,CAAA,EAAI3J,WAAW,CAACS,MAAM,CAACmJ,MAAM,CAAC9I,QAAQ,CAAA;AACxE,gBAAA,EAAAd,WAAW,CAACS,MAAM,CAACiJ,QAAQ,CAACC,MAAM,CAAA,CAAA,EAAI3J,WAAW,CAACS,MAAM,CAACmJ,MAAM,CAAC9I,QAAQ,CAAA;AAClE,sBAAA,EAAAd,WAAW,CAACS,MAAM,CAACC,MAAM,CAACC,WAAW,CAAA,CAAE,CACxD,CAAA,gkBAAA,EA4B2DX,WAAW,CAACC,KAAK,CAACG,iBAAiB,CAAA,6DAAA,EACnCJ,WAAW,CAACC,KAAK,CAACE,mBAAmB,CAAA,8FAAA,EAG7FH,WAAW,CAACC,KAAK,CAACE,mBAAmB,CAAA,+FAAA,EAIrCH,WAAW,CAACC,KAAK,CAACE,mBAAmB,CAAA,4EAAA,EAEiCH,WAAW,CAACC,KAAK,CAACE,mBAAmB,CAAA,oGAAA,EAG3GH,WAAW,CAACC,KAAK,CAACE,mBAAmB,mFAEqCH,WAAW,CAACC,KAAK,CAAC4J,UAAU,uGAGtG7J,WAAW,CAACC,KAAK,CAAC6J,QAAQ,oHAK1B9J,WAAW,CAACC,KAAK,CAAC4J,UAAU,oHAI5B7J,WAAW,CAACC,KAAK,CAAC4J,UAAU,CAAA,+FAAA,EAI5B7J,WAAW,CAACC,KAAK,CAAC4J,UAAU,CAAA,iFAAA,EAI5B7J,WAAW,CAACC,KAAK,CAACE,mBAAmB,CAAA,sFAAA,EAIWH,WAAW,CAACC,KAAK,CAAC8J,gBAAgB,CAAA,oUAAA,CA7GpE;AAyKiBjX,UAAA,CAAA,CAAtCkX,CAAQ,CAAC;AAAEvR,EAAAA,SAAS,EAAE;CAAc,CAAC,CAAoC,EAAAkM,cAAA,CAAAhP,SAAA,EAAA,WAAA,EAAA,MAAA,CAAA;AAMnC7C,UAAA,CAAA,CAAtCkX,CAAQ,CAAC;AAAEvR,EAAAA,SAAS,EAAE;CAAc,CAAC,CAAoC,EAAAkM,cAAA,CAAAhP,SAAA,EAAA,WAAA,EAAA,MAAA,CAAA;AAM7C7C,UAAA,CAAA,CAA5BkX,CAAQ,CAAC;AAAEnR,EAAAA,OAAO,EAAE;CAAM,CAAC,CAAmC,EAAA8L,cAAA,CAAAhP,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAanB7C,UAAA,CAAA,CAA3CkX,CAAQ,CAAC;AAAEtR,EAAAA,IAAI,EAAEV,OAAO;AAAEa,EAAAA,OAAO,EAAE;AAAI,CAAE,CAAC,CAAiB,EAAA8L,cAAA,CAAAhP,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAnNjDgP,cAAc,GAAAC,gBAAA,GAAA9R,UAAA,CAAA,CAD1BwP,GAAa,CAAC,UAAU,CAAC,CACb,EAAAqC,cAAc,CA4d1B;;;AChjBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwEG;AAEI,IAAMsF,0BAA0B,GAAhC,MAAMA,0BAA2B,SAAQC,OAAO,CAACxH,IAAI,CAAChE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC,CAAA;AAA/FzI,EAAAA,WAAAA,GAAA;;;AAmCL;IAA0BkU,wCAAA,CAAA1V,GAAA,CAAA,IAAA,EAAiBK,CAAQ,IAAKhB,sBAAA,CAAA,IAAI,sFAAa,CAAAO,IAAA,CAAjB,IAAI,EAAcS,CAAC,CAAC,CAAA;AAC5E;IAA0BsV,0CAAA,CAAA3V,GAAA,CAAA,IAAA,EAAmBK,CAAgB,IAAKhB,sBAAA,CAAA,IAAI,wFAAe,CAAAO,IAAA,CAAnB,IAAI,EAAgBS,CAAC,CAAC,CAAA;AACxF;IAA0BuV,wCAAA,CAAA5V,GAAA,CAAA,IAAA,EAAgB,MAAMX,sBAAA,CAAA,IAAI,EAAAwW,qCAAA,EAAA,GAAA,EAAAC,uCAAA,CAAa,CAAAlW,IAAA,CAAjB,IAAI,CAAe,CAAA;AACnE;IAA0BmW,6CAAA,CAAA/V,GAAA,CAAA,IAAA,EAAqB,MAAMX,sBAAA,CAAA,IAAI,EAAAwW,qCAAA,EAAA,GAAA,EAAAG,4CAAA,CAAkB,CAAApW,IAAA,CAAtB,IAAI,CAAoB,CAAA;AAC7E;AAAiBqW,IAAAA,wCAAA,CAAAjW,GAAA,CAAA,IAAA,EAAgB,KAAK,CAAA;AA8ExC,EAAA;AA5EE;AACSiI,EAAAA,iBAAiBA,GAAA;IACxB,KAAK,CAACA,iBAAiB,EAAE;AAEzB,IAAA,IAAI,CAAC6G,gBAAgB,CAAC,OAAO,EAAEzP,sBAAA,CAAA,IAAI,EAAAqW,wCAAA,EAAA,GAAA,CAAc,CAAC;AAClD,IAAA,IAAI,CAAC5G,gBAAgB,CAAC,SAAS,EAAEzP,sBAAA,CAAA,IAAI,EAAAsW,0CAAA,EAAA,GAAA,CAAgB,CAAC;AACtD,IAAA,IAAI,CAAC7G,gBAAgB,CAAC,OAAO,EAAEzP,sBAAA,CAAA,IAAI,EAAAuW,wCAAA,EAAA,GAAA,CAAc,CAAC;AAClD,IAAA,IAAI,CAAC9G,gBAAgB,CAAC,YAAY,EAAEzP,sBAAA,CAAA,IAAI,EAAA0W,6CAAA,EAAA,GAAA,CAAmB,CAAC;AAC9D,EAAA;AAEA;AACS7N,EAAAA,oBAAoBA,GAAA;IAC3B,KAAK,CAACA,oBAAoB,EAAE;AAE5B,IAAA,IAAI,CAAC6G,mBAAmB,CAAC,OAAO,EAAE1P,sBAAA,CAAA,IAAI,EAAAqW,wCAAA,EAAA,GAAA,CAAc,CAAC;AACrD,IAAA,IAAI,CAAC3G,mBAAmB,CAAC,SAAS,EAAE1P,sBAAA,CAAA,IAAI,EAAAsW,0CAAA,EAAA,GAAA,CAAgB,CAAC;AACzD,IAAA,IAAI,CAAC5G,mBAAmB,CAAC,OAAO,EAAE1P,sBAAA,CAAA,IAAI,EAAAuW,wCAAA,EAAA,GAAA,CAAc,CAAC;AACrD,IAAA,IAAI,CAAC7G,mBAAmB,CAAC,YAAY,EAAE1P,sBAAA,CAAA,IAAI,EAAA0W,6CAAA,EAAA,GAAA,CAAmB,CAAC;AACjE,EAAA;AAEA;AACmB1K,EAAAA,cAAcA,GAAA;IAC/B,OAAOL,IAAI,8MAI0B3L,sBAAA,CAAA,IAAI,EAAAwW,qCAAA,EAAA,GAAA,EAAAK,gDAAA,CAAsB,CAAA,uFAAA,EAGA7W,sBAAA,CAAA,IAAI,EAAAwW,qCAAA,EAAA,GAAA,EAAAM,wDAAA,CAA8B,CAAA,SAAA,CAAW;AAC9G,EAAA;;;;;;;;6GAGsB9V,CAAQ,EAAA;AAC5B,EAAA,IAAI,CAACoP,SAAS,CAAC7B,MAAM,CAAC,YAAY,EAAE8B,gBAAgB,CAAkBrP,CAAC,CAAC9B,MAAM,CAAC,CAAC;AAClF,CAAC;6HAG6B8B,CAAQ,EAAA;AACpC,EAAA,IAAI,CAACoP,SAAS,CAAC7B,MAAM,CAAC,qBAAqB,EAAE8B,gBAAgB,CAAkBrP,CAAC,CAAC9B,MAAM,CAAC,CAAC;AAC3F,CAAC;2FAGY8B,CAAQ,EAAA;AACnB,EAAA,IAAI,CAACA,CAAC,CAACsP,gBAAgB,EAAE;AACvB,IAAA,IAAI,CAACyG,OAAO,GAAG,CAAC,IAAI,CAACA,OAAO;IAC5B,IAAI,CAACrN,aAAa,EAAE;IAEpB,IAAI,CAAC1J,sBAAA,CAAA,IAAI,EAAA4W,wCAAA,EAAA,GAAA,CAAc,EAAE;AACvB,MAAA,IAAI,CAACI,oBAAoB,EAAE,EAAE;AAC3BhF,QAAAA,UAAU,CAAC,MAAM,IAAI,CAAC9G,IAAI,EAAEqF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;AACjD,MAAA,CAAC,MAAM;AACL,QAAA,IAAI,CAACrF,IAAI,EAAEqF,OAAO,CAAC,IAAI,CAAC;AAC1B,MAAA;AACF,IAAA;AACF,EAAA;AACF,CAAC;+FAGcvP,CAAgB,EAAA;AAC7BN,EAAAA,sBAAA,CAAA,IAAI,4CAAiBM,CAAC,CAAC7B,GAAG,KAAK,GAAG,MAAA;AACpC,CAAC;;EAICuB,sBAAA,CAAA,IAAI,EAAAkW,wCAAA,EAAiB,KAAK,EAAA,GAAA,CAAA;AAC5B,CAAC;;EAIC,IAAI,CAAC1L,IAAI,EAAEuF,KAAK,CAAC3I,OAAO,CAAE4I,IAAI,IAAI;IAChC,IAAIA,IAAI,YAAYjC,kBAAkB,IAAIiC,IAAI,CAACxC,OAAO,EAAEyC,MAAM,EAAE;AAC9DD,MAAAA,IAAI,CAACxC,OAAO,CAAC0C,IAAI,EAAE;AACrB,IAAA;AACF,EAAA,CAAC,CAAC;AACJ,CAAC;AAnHD;AACgBuF,0BAAA,CAAAtP,MAAM,GAAmB,CACvC+D,mBAAmB,CAAC/D,MAAM,EAC1BoF,GAAG,CAAA,qGAAA,EAKmCC,WAAW,CAACS,MAAM,CAACC,MAAM,CAACC,WAAW,2bAuB1E,CA9BmB;AAFXsJ,0BAA0B,GAAAnX,UAAA,CAAA,CADtCwP,GAAa,CAAC,wBAAwB,CAAC,CAC3B,EAAA2H,0BAA0B,CAqHtC;;ACnMD;;;;;;;;;;;AAWG;AAEI,IAAMc,uBAAuB,GAA7B,MAAMA,uBAAwB,SAAQrI,IAAI,CAAC3D,UAAU,EAAE,OAAO,CAAC,CAAA;AAQpE;AACmBS,EAAAA,MAAMA,GAAA;AACvB,IAAA,OAAOC,IAAI,CAAA,aAAA,CAAe;AAC5B,EAAA;;AAVA;AACgBsL,uBAAA,CAAApQ,MAAM,GAAmBoF,GAAG,CAAA,4BAAA,CAAtB;AAFXgL,uBAAuB,GAAAjY,UAAA,CAAA,CADnCwP,GAAa,CAAC,qBAAqB,CAAC,CACxB,EAAAyI,uBAAuB,CAYnC;;;ACpBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEG;AAEI,IAAMC,uBAAuB,GAA7B,MAAMA,uBAAwB,SAAQd,OAAO,CAACxH,IAAI,CAAChE,mBAAmB,EAAE,eAAe,CAAC,CAAC,CAAA;AAAzFzI,EAAAA,WAAAA,GAAA;;;AAIL;IAAyBgV,qCAAA,CAAAxW,GAAA,CAAA,IAAA,EAAiBK,CAAQ,IAAKhB,sBAAA,CAAA,IAAI,gFAAa,CAAAO,IAAA,CAAjB,IAAI,EAAcS,CAAC,CAAC,CAAA;AAC3E;IAAyBoW,uCAAA,CAAAzW,GAAA,CAAA,IAAA,EAAmBK,CAAgB,IAAKhB,sBAAA,CAAA,IAAI,kFAAe,CAAAO,IAAA,CAAnB,IAAI,EAAgBS,CAAC,CAAC,CAAA;AACvF;IAAyBqW,qCAAA,CAAA1W,GAAA,CAAA,IAAA,EAAgB,MAAMX,sBAAA,CAAA,IAAI,EAAAsX,kCAAA,EAAA,GAAA,EAAAC,oCAAA,CAAa,CAAAhX,IAAA,CAAjB,IAAI,CAAe,CAAA;AAClE;IAAyBiX,0CAAA,CAAA7W,GAAA,CAAA,IAAA,EAAqB,MAAMX,sBAAA,CAAA,IAAI,EAAAsX,kCAAA,EAAA,GAAA,EAAAG,yCAAA,CAAkB,CAAAlX,IAAA,CAAtB,IAAI,CAAoB,CAAA;AAE5E;AAAgBmX,IAAAA,qCAAA,CAAA/W,GAAA,CAAA,IAAA,EAAgB,KAAK,CAAA;AA6FvC,EAAA;AA3FE;AACSiI,EAAAA,iBAAiBA,GAAA;IACxB,KAAK,CAACA,iBAAiB,EAAE;AAEzB,IAAA,IAAI,CAAC6G,gBAAgB,CAAC,OAAO,EAAEzP,sBAAA,CAAA,IAAI,EAAAmX,qCAAA,EAAA,GAAA,CAAc,CAAC;AAClD,IAAA,IAAI,CAAC1H,gBAAgB,CAAC,SAAS,EAAEzP,sBAAA,CAAA,IAAI,EAAAoX,uCAAA,EAAA,GAAA,CAAgB,CAAC;AACtD,IAAA,IAAI,CAAC3H,gBAAgB,CAAC,OAAO,EAAEzP,sBAAA,CAAA,IAAI,EAAAqX,qCAAA,EAAA,GAAA,CAAc,CAAC;AAClD,IAAA,IAAI,CAAC5H,gBAAgB,CAAC,YAAY,EAAEzP,sBAAA,CAAA,IAAI,EAAAwX,0CAAA,EAAA,GAAA,CAAmB,CAAC;AAC9D,EAAA;AAEA;AACS3O,EAAAA,oBAAoBA,GAAA;IAC3B,KAAK,CAACA,oBAAoB,EAAE;AAE5B,IAAA,IAAI,CAAC6G,mBAAmB,CAAC,OAAO,EAAE1P,sBAAA,CAAA,IAAI,EAAAmX,qCAAA,EAAA,GAAA,CAAc,CAAC;AACrD,IAAA,IAAI,CAACzH,mBAAmB,CAAC,SAAS,EAAE1P,sBAAA,CAAA,IAAI,EAAAoX,uCAAA,EAAA,GAAA,CAAgB,CAAC;AACzD,IAAA,IAAI,CAAC1H,mBAAmB,CAAC,OAAO,EAAE1P,sBAAA,CAAA,IAAI,EAAAqX,qCAAA,EAAA,GAAA,CAAc,CAAC;AACrD,IAAA,IAAI,CAAC3H,mBAAmB,CAAC,YAAY,EAAE1P,sBAAA,CAAA,IAAI,EAAAwX,0CAAA,EAAA,GAAA,CAAmB,CAAC;AACjE,EAAA;AAEA;EACmB1N,MAAMA,CAAC6N,iBAAuC,EAAA;AAC/D,IAAA,KAAK,CAAC7N,MAAM,CAAC6N,iBAAiB,CAAC;IAE/B,IAAIA,iBAAiB,CAACrX,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAACyW,OAAO,EAAE;MACpD,CAAC,IAAI,CAAC5L,OAAO,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAACA,OAAO,CAAC,UAAU,CAAC,GACvDkJ,gBAAgB,CAAC,qBAAqB,CAAC,CACxCvM,OAAO,CAAE0D,CAAC,IAAI;AACb,QAAA,IAAIA,CAAC,KAAK,IAAI,IAAIA,CAAC,CAACuL,OAAO,EAAE;UAC3BvL,CAAC,CAACuL,OAAO,GAAG,KAAK;AACnB,QAAA;AACF,MAAA,CAAC,CAAC;AACN,IAAA;AACF,EAAA;AAEA;AACmB/K,EAAAA,cAAcA,GAAA;IAC/B,OAAOL,IAAI,8MAI0B3L,sBAAA,CAAA,IAAI,EAAAsX,kCAAA,EAAA,GAAA,EAAAM,6CAAA,CAAsB,CAAA,uFAAA,EAGA5X,sBAAA,CAAA,IAAI,EAAAsX,kCAAA,EAAA,GAAA,EAAAO,qDAAA,CAA8B,CAAA,SAAA,CAAW;AAC9G,EAAA;;;;;;;;uGAGsB7W,CAAQ,EAAA;AAC5B,EAAA,IAAI,CAACoP,SAAS,CAAC7B,MAAM,CAAC,YAAY,EAAE8B,gBAAgB,CAAkBrP,CAAC,CAAC9B,MAAM,CAAC,CAAC;AAClF,CAAC;uHAG6B8B,CAAQ,EAAA;AACpC,EAAA,IAAI,CAACoP,SAAS,CAAC7B,MAAM,CAAC,qBAAqB,EAAE8B,gBAAgB,CAAkBrP,CAAC,CAAC9B,MAAM,CAAC,CAAC;AAC3F,CAAC;qFAGY8B,CAAQ,EAAA;AACnB,EAAA,IAAI,CAACA,CAAC,CAACsP,gBAAgB,EAAE;IACvB,IAAI,CAACyG,OAAO,GAAG,IAAI;IACnB,IAAI,CAACrN,aAAa,EAAE;IAEpB,IAAI,CAAC1J,sBAAA,CAAA,IAAI,EAAA0X,qCAAA,EAAA,GAAA,CAAc,EAAE;AACvB,MAAA,IAAI,CAACV,oBAAoB,EAAE,EAAE;AAC3BhF,QAAAA,UAAU,CAAC,MAAM,IAAI,CAAC9G,IAAI,EAAEqF,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;AACjD,MAAA,CAAC,MAAM;AACL,QAAA,IAAI,CAACrF,IAAI,EAAEqF,OAAO,CAAC,IAAI,CAAC;AAC1B,MAAA;AACF,IAAA;AACF,EAAA;AACF,CAAC;yFAGcvP,CAAgB,EAAA;AAC7BN,EAAAA,sBAAA,CAAA,IAAI,yCAAiBM,CAAC,CAAC7B,GAAG,KAAK,GAAG,MAAA;AACpC,CAAC;;EAICuB,sBAAA,CAAA,IAAI,EAAAgX,qCAAA,EAAiB,KAAK,EAAA,GAAA,CAAA;AAC5B,CAAC;;EAIC,IAAI,CAACxM,IAAI,EAAEuF,KAAK,CAAC3I,OAAO,CAAE4I,IAAI,IAAI;IAChC,IAAIA,IAAI,YAAYjC,kBAAkB,IAAIiC,IAAI,CAACxC,OAAO,EAAEyC,MAAM,EAAE;AAC9DD,MAAAA,IAAI,CAACxC,OAAO,CAAC0C,IAAI,EAAE;AACrB,IAAA;AACF,EAAA,CAAC,CAAC;AACJ,CAAC;AApGD;AACgBsG,uBAAA,CAAArQ,MAAM,GAAmBsP,0BAA0B,CAACtP,MAAM;AAF/DqQ,uBAAuB,GAAAlY,UAAA,CAAA,CADnCwP,GAAa,CAAC,qBAAqB,CAAC,CACxB,EAAA0I,uBAAuB,CAsGnC;;;;","x_google_ignoreList":[0,1,2,3,4,5,6,7]}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * @license MIT
3
+ * Copyright (c) 2025 matraic
4
+ * See LICENSE file in the project root for full license text.
5
+ */
6
+ import{LitElement as e,nothing as t,html as i,unsafeCSS as s,css as o}from"lit";import{KeyboardClick as n,Focusable as r,AttachInternals as a,Disabled as c,isLinkButtonMixin as l,renderPseudoLink as h,DesignToken as d,HtmlFor as m,ActionElementBase as u,LinkButton as p,Role as f,HoverController as v,hasAssignedNodes as b,ScrollController as g,Checked as y,prefersReducedMotion as w}from"@m3e/web/core";import{addAriaReferencedId as E,removeAriaReferencedId as $,RovingTabIndexManager as k}from"@m3e/web/core/a11y";import{positionAnchor as _}from"@m3e/web/core/anchoring";import{M3eDirectionality as S}from"@m3e/web/core/bidi";function C(e,t,i,s){var o,n=arguments.length,r=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(r=(n<3?o(r):n>3?o(t,i,r):o(t,i))||r);return n>3&&r&&Object.defineProperty(t,i,r),r}function x(e,t,i,s){if("a"===i&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?s:"a"===i?s.call(e):s?s.value:t.get(e)}function L(e,t,i,s,o){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?o.call(e,i):o?o.value=i:t.set(e,i),i}"function"==typeof SuppressedError&&SuppressedError;
7
+ /**
8
+ * @license
9
+ * Copyright 2017 Google LLC
10
+ * SPDX-License-Identifier: BSD-3-Clause
11
+ */
12
+ const M=e=>(t,i)=>{void 0!==i?i.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)},P=globalThis,A=P.ShadowRoot&&(void 0===P.ShadyCSS||P.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,T=Symbol(),U=new WeakMap;
13
+ /**
14
+ * @license
15
+ * Copyright 2019 Google LLC
16
+ * SPDX-License-Identifier: BSD-3-Clause
17
+ */let O=class{constructor(e,t,i){if(this._$cssResult$=!0,i!==T)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(A&&void 0===e){const i=void 0!==t&&1===t.length;i&&(e=U.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),i&&U.set(t,e))}return e}toString(){return this.cssText}};const W=(e,t)=>{if(A)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const i of t){const t=document.createElement("style"),s=P.litNonce;void 0!==s&&t.setAttribute("nonce",s),t.textContent=i.cssText,e.appendChild(t)}},R=A?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const i of e.cssRules)t+=i.cssText;return(e=>new O("string"==typeof e?e:e+"",void 0,T))(t)})(e):e,{is:j,defineProperty:z,getOwnPropertyDescriptor:D,getOwnPropertyNames:q,getOwnPropertySymbols:N,getPrototypeOf:I}=Object,B=globalThis,K=B.trustedTypes,H=K?K.emptyScript:"",Y=B.reactiveElementPolyfillSupport,Z=(e,t)=>e,X={toAttribute(e,t){switch(t){case Boolean:e=e?H:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let i=e;switch(t){case Boolean:i=null!==e;break;case Number:i=null===e?null:Number(e);break;case Object:case Array:try{i=JSON.parse(e)}catch(e){i=null}}return i}},J=(e,t)=>!j(e,t),V={attribute:!0,type:String,converter:X,reflect:!1,useDefault:!1,hasChanged:J};
18
+ /**
19
+ * @license
20
+ * Copyright 2017 Google LLC
21
+ * SPDX-License-Identifier: BSD-3-Clause
22
+ */Symbol.metadata??=Symbol("metadata"),B.litPropertyMetadata??=new WeakMap;class F extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=V){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){const i=Symbol(),s=this.getPropertyDescriptor(e,i,t);void 0!==s&&z(this.prototype,e,s)}}static getPropertyDescriptor(e,t,i){const{get:s,set:o}=D(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:s,set(t){const n=s?.call(this);o?.call(this,t),this.requestUpdate(e,n,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??V}static _$Ei(){if(this.hasOwnProperty(Z("elementProperties")))return;const e=I(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Z("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Z("properties"))){const e=this.properties,t=[...q(e),...N(e)];for(const i of t)this.createProperty(i,e[i])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,i]of t)this.elementProperties.set(e,i)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const i=this._$Eu(e,t);void 0!==i&&this._$Eh.set(i,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const i=new Set(e.flat(1/0).reverse());for(const e of i)t.unshift(R(e))}else void 0!==e&&t.push(R(e));return t}static _$Eu(e,t){const i=t.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const i of t.keys())this.hasOwnProperty(i)&&(e.set(i,this[i]),delete this[i]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return W(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,i){this._$AK(e,i)}_$ET(e,t){const i=this.constructor.elementProperties.get(e),s=this.constructor._$Eu(e,i);if(void 0!==s&&!0===i.reflect){const o=(void 0!==i.converter?.toAttribute?i.converter:X).toAttribute(t,i.type);this._$Em=e,null==o?this.removeAttribute(s):this.setAttribute(s,o),this._$Em=null}}_$AK(e,t){const i=this.constructor,s=i._$Eh.get(e);if(void 0!==s&&this._$Em!==s){const e=i.getPropertyOptions(s),o="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:X;this._$Em=s;const n=o.fromAttribute(t,e.type);this[s]=n??this._$Ej?.get(s)??n,this._$Em=null}}requestUpdate(e,t,i){if(void 0!==e){const s=this.constructor,o=this[e];if(i??=s.getPropertyOptions(e),!((i.hasChanged??J)(o,t)||i.useDefault&&i.reflect&&o===this._$Ej?.get(e)&&!this.hasAttribute(s._$Eu(e,i))))return;this.C(e,t,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:i,reflect:s,wrapped:o},n){i&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,n??t??this[e]),!0!==o||void 0!==n)||(this._$AL.has(e)||(this.hasUpdated||i||(t=void 0),this._$AL.set(e,t)),!0===s&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,i]of e){const{wrapped:e}=i,s=this[t];!0!==e||this._$AL.has(t)||void 0===s||this.C(t,void 0,i,s)}}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}}F.elementStyles=[],F.shadowRootOptions={mode:"open"},F[Z("elementProperties")]=new Map,F[Z("finalized")]=new Map,Y?.({ReactiveElement:F}),(B.reactiveElementVersions??=[]).push("2.1.1");
23
+ /**
24
+ * @license
25
+ * Copyright 2017 Google LLC
26
+ * SPDX-License-Identifier: BSD-3-Clause
27
+ */
28
+ const G={attribute:!0,type:String,converter:X,reflect:!1,hasChanged:J},Q=(e=G,t,i)=>{const{kind:s,metadata:o}=i;let n=globalThis.litPropertyMetadata.get(o);if(void 0===n&&globalThis.litPropertyMetadata.set(o,n=new Map),"setter"===s&&((e=Object.create(e)).wrapped=!0),n.set(i.name,e),"accessor"===s){const{name:s}=i;return{set(i){const o=t.get.call(this);t.set.call(this,i),this.requestUpdate(s,o,e)},init(t){return void 0!==t&&this.C(s,void 0,e,t),t}}}if("setter"===s){const{name:s}=i;return function(i){const o=this[s];t.call(this,i),this.requestUpdate(s,o,e)}}throw Error("Unsupported decorator location: "+s)};function ee(e){return(t,i)=>"object"==typeof i?Q(e,t,i):((e,t,i)=>{const s=t.hasOwnProperty(i);return t.constructor.createProperty(i,e),s?Object.getOwnPropertyDescriptor(t,i):void 0})(e,t,i)}
29
+ /**
30
+ * @license
31
+ * Copyright 2017 Google LLC
32
+ * SPDX-License-Identifier: BSD-3-Clause
33
+ */
34
+ /**
35
+ * @license
36
+ * Copyright 2017 Google LLC
37
+ * SPDX-License-Identifier: BSD-3-Clause
38
+ */
39
+ function te(e,t){return(t,i,s)=>((e,t,i)=>(i.configurable=!0,i.enumerable=!0,Reflect.decorate&&"object"!=typeof t&&Object.defineProperty(e,t,i),i))(t,i,{get(){return(t=>t.renderRoot?.querySelector(e)??null)(this)}})}class ie extends(n(r(a(c(e),!0)))){get menu(){return this.closest("m3e-menu")}firstUpdated(e){super.firstUpdated(e),[this._focusRing,this._stateLayer,this._ripple].forEach(e=>e?.attach(this))}render(){return i`<div class="base"><m3e-state-layer class="state-layer" ?disabled="${this.disabled}"></m3e-state-layer><m3e-focus-ring class="focus-ring" ?disabled="${this.disabled}"></m3e-focus-ring><m3e-ripple class="ripple" ?disabled="${this.disabled}"></m3e-ripple><div class="touch" aria-hidden="true"></div>${l(this)?this[h]():t}<div class="wrapper">${this._renderContent()}</div></div>`}}ie.styles=o`:host { display: inline-block; outline: none; user-select: none; flex: none; height: var(--m3e-menu-item-container-height, 2.75rem); -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not(:disabled):not([aria-expanded="true"])) .base { color: var(--m3e-menu-item-color, ${d.color.onSurface}); } :host(:not([aria-expanded="true"])) .base { --m3e-state-layer-hover-color: var(--m3e-menu-item-container-hover-color, ${d.color.onSurface}); --m3e-state-layer-focus-color: var(--m3e-menu-item-container-focus-color, ${d.color.onSurface}); --m3e-ripple-color: var(--m3e-menu-item-ripple-color, ${d.color.onSurface}); } :host(:not(:disabled)[aria-expanded="true"]) .base { background-color: color-mix( in srgb, var(--m3e-menu-item-active-state-layer-color, ${d.color.onSurface}) var(--m3e-menu-active-state-layer-opacity, 8%), transparent ); } :host([aria-expanded="true"]) .state-layer { display: none; } :host(:not(:disabled)[checked]) .base { color: var(--m3e-menu-item-selected-color, ${d.color.onTertiaryContainer}); background-color: var(--m3e-menu-item-selected-container-color, ${d.color.tertiaryContainer}); } :host([checked]) .base { --m3e-state-layer-hover-color: var( --m3e-menu-item-selected-container-hover-color, ${d.color.onTertiaryContainer} ); --m3e-state-layer-focus-color: var( --m3e-menu-item-selected-container-focus-color, ${d.color.onTertiaryContainer} ); --m3e-ripple-color: var(--m3e-menu-item-selected-ripple-color, ${d.color.onTertiaryContainer}); } :host(:not(:disabled)) { cursor: pointer; } :host(:disabled) .base { color: color-mix( in srgb, var(--m3e-menu-item-disabled-color, ${d.color.onSurface}) var(--m3e-menu-item-disabled-opacity, 38%), transparent ); } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; position: relative; width: 100%; height: 100%; border-radius: var(--m3e-menu-item-shape, ${d.shape.corner.extraSmall}); transition: ${s(`border-radius ${d.motion.spring.fastEffects}`)}; } :host([checked]:not(.-first)) .base { border-top-left-radius: var(--m3e-menu-item-selected-shape, ${d.shape.corner.medium}); border-top-right-radius: var(--m3e-menu-item-selected-shape, ${d.shape.corner.medium}); } :host([checked]:not(.-last)) .base { border-bottom-left-radius: var(--m3e-menu-item-selected-shape, ${d.shape.corner.medium}); border-bottom-right-radius: var(--m3e-menu-item-selected-shape, ${d.shape.corner.medium}); } :host(.-first) .base { border-top-left-radius: var(--m3e-menu-item-first-child-shape, ${d.shape.corner.medium}); border-top-right-radius: var(--m3e-menu-item-first-child-shape, ${d.shape.corner.medium}); } :host(.-last) .base { border-bottom-left-radius: var(--m3e-menu-item-last-child-shape, ${d.shape.corner.medium}); border-bottom-right-radius: var(--m3e-menu-item-last-child-shape, ${d.shape.corner.medium}); } .touch { position: absolute; height: 3rem; left: 0; right: 0; } .wrapper { flex: 1 1 auto; display: inline-flex; align-items: center; column-gap: var(--m3e-menu-item-icon-label-space, 0.5rem); padding-inline-start: var(--m3e-menu-item-padding-start, 0.75rem); padding-inline-end: var(--m3e-menu-item-padding-end, 0.75rem); font-size: var(--m3e-menu-item-label-text-font-size, ${d.typescale.standard.label.large.fontSize}); font-weight: var( --m3e-menu-item-label-text-font-weight, ${d.typescale.standard.label.large.fontWeight} ); line-height: var( --m3e-menu-item-label-text-line-height, ${d.typescale.standard.label.large.lineHeight} ); letter-spacing: var(--m3e-menu-item-label-text-tracking, ${d.typescale.standard.label.large.tracking}); } .focus-ring { border-radius: var(--m3e-menu-item-focus-ring-shape, inherit); } .content { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } ::slotted([slot="icon"]), ::slotted([slot="trailing-icon"]), .trailing-icon { flex: none; width: 1em; font-size: var(--m3e-menu-item-icon-size, 1.25rem) !important; } @media (prefers-reduced-motion) { .base { transition: none; } } @media (forced-colors: active) { .base { background-color: Menu; color: MenuText; } :host(:disabled) .base { color: GrayText; } }`,C([te(".focus-ring")],ie.prototype,"_focusRing",void 0),C([te(".state-layer")],ie.prototype,"_stateLayer",void 0),C([te(".ripple")],ie.prototype,"_ripple",void 0);let se=class extends(m(u)){get menu(){return"M3E-MENU"===this.control?.tagName?this.control:null}attach(e){super.attach(e);const t=this.menu;t&&(this.parentElement&&(this.parentElement.ariaHasPopup="menu",this.parentElement.ariaExpanded="false",t.id&&E(this.parentElement,"aria-controls",t.id)),this.closest("m3e-menu")&&(t.submenu=!0))}detach(){if(this.parentElement){this.parentElement.ariaHasPopup=null,this.parentElement.ariaExpanded=null;const e=this.menu;e?.id&&$(this.parentElement,"aria-controls",e.id)}super.detach()}_onClick(){this.parentElement&&("M3E-MENU-ITEM"===this.parentElement.tagName?this.menu?.show(this.parentElement):this.menu?.toggle(this.parentElement))}};var oe,ne,re,ae,ce,le,he,de,me,ue,pe,fe;se=C([M("m3e-menu-trigger")],se);let ve=fe=class extends(p(f(ie,"menuitem"))){constructor(){super(),oe.add(this),ne.set(this,e=>x(this,oe,"m",me).call(this,e)),re.set(this,e=>x(this,oe,"m",ue).call(this,e)),ae.set(this,()=>x(this,oe,"m",pe).call(this)),this._hasSubmenu=!1,ce.set(this,void 0),new v(this,{startDelay:500,endDelay:500,callback:e=>{e&&!this.disabled&&x(this,ce,"f")&&x(this,ce,"f").menu?.show(this)}})}get submenu(){return x(this,ce,"f")?.menu??null}connectedCallback(){super.connectedCallback(),this.addEventListener("click",x(this,ne,"f")),this.addEventListener("keydown",x(this,re,"f")),this.addEventListener("mouseenter",x(this,ae,"f"))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",x(this,ne,"f")),this.removeEventListener("keydown",x(this,re,"f")),this.removeEventListener("mouseenter",x(this,ae,"f"))}_renderContent(){return i`<slot name="icon" aria-hidden="true" @slotchange="${x(this,oe,"m",he)}"></slot><span class="content"><slot @slotchange="${x(this,oe,"m",le)}"></slot></span>${this._hasSubmenu?"ltr"===S.current?i`<svg class="trailing-icon" aria-hidden="true" viewBox="0 -960 960 960" fill="currentColor"><path d="M400-280v-400l200 200-200 200Z"/></svg>`:i`<svg class="trailing-icon" aria-hidden="true" viewBox="0 -960 960 960" fill="currentColor"><path d="M560-280 360-480l200-200v400Z"/></svg>`:i`<slot name="trailing-icon" aria-hidden="true" @slotchange="${x(this,oe,"m",de)}"></slot>`}`}};var be,ge,ye,we,Ee,$e,ke,_e,Se,Ce,xe,Le,Me,Pe,Ae,Te,Ue;ne=new WeakMap,re=new WeakMap,ae=new WeakMap,ce=new WeakMap,oe=new WeakSet,le=function(e){L(this,ce,e.target.assignedElements({flatten:!0}).find(e=>e instanceof se),"f"),this._hasSubmenu=void 0!==x(this,ce,"f")},he=function(e){this.classList.toggle("-with-icon",b(e.target))},de=function(e){this.classList.toggle("-with-trailing-icon",b(e.target))},me=function(e){e.defaultPrevented||this._hasSubmenu||this.menu?.hideAll(!0)},ue=function(e){if(!e.defaultPrevented&&!this.disabled)switch(e.key){case"Right":case"ArrowRight":"ltr"===S.current&&(e.preventDefault(),this.submenu?.show(this));break;case"Left":case"ArrowLeft":"rtl"===S.current&&(e.preventDefault(),this.submenu?.show(this))}},pe=function(){this.menu?.items.forEach(e=>{e instanceof fe&&e!==this&&e.submenu?.isOpen&&e.submenu.hide()})},C([function(e){return ee({...e,state:!0,attribute:!1})}
40
+ /**
41
+ * @license
42
+ * Copyright 2017 Google LLC
43
+ * SPDX-License-Identifier: BSD-3-Clause
44
+ */()],ve.prototype,"_hasSubmenu",void 0),ve=fe=C([M("m3e-menu-item")],ve);let Oe=Ue=class extends(f(e,"menu")){constructor(){super(...arguments),be.add(this),ge.set(this,void 0),ye.set(this,void 0),we.set(this,(new k).withWrap().withHomeAndEnd().withVerticalOrientation()),Ee.set(this,e=>x(this,be,"m",xe).call(this,e)),$e.set(this,()=>x(this,be,"m",Le).call(this)),ke.set(this,e=>x(this,be,"m",Me).call(this,e)),_e.set(this,new g(this,{target:null,callback:e=>e instanceof Ue?e.items.filter(e=>e instanceof ve).forEach(e=>e.submenu?.hide()):this.hideAll()})),Se.set(this,e=>{"closed"===e.newState?(x(this,ye,"f")?.call(this),L(this,ye,void 0,"f")):setTimeout(()=>{x(this,we,"f").setActiveItem(x(this,we,"f").items.find(e=>!e.disabled))},40)}),this.positionX="after",this.positionY="below",this.variant="standard",this.submenu=!1}get items(){return x(this,we,"f").items}get isOpen(){return void 0!==x(this,ge,"f")}connectedCallback(){super.connectedCallback(),this.tabIndex=-1,this.classList.add("-no-animate"),this.setAttribute("popover","manual"),this.addEventListener("keydown",x(this,Ee,"f")),this.addEventListener("mouseenter",x(this,$e,"f")),this.addEventListener("toggle",x(this,Se,"f")),document.addEventListener("click",x(this,ke,"f"))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("keydown",x(this,Ee,"f")),this.removeEventListener("mouseenter",x(this,$e,"f")),this.removeEventListener("toggle",x(this,Se,"f")),document.removeEventListener("click",x(this,ke,"f")),x(this,be,"m",Te).call(this)}async show(e){x(this,ge,"f")&&x(this,ge,"f")!==e&&this.hide();let t=this.positionX;"rtl"===S.current&&(t="before"===t?"after":"before"),L(this,ye,await _(this,e,{position:this.submenu?"before"===t?"left-start":"right-start":"above"===this.positionY?"before"===t?"top-end":"top-start":"before"===t?"bottom-end":"bottom-start",inline:!0,flip:!0,shift:!0,offset:this.submenu?void 0:4},(e,t,i)=>{if(this.submenu){if(x(this,ge,"f")){const e=x(this,be,"m",Pe).call(this,x(this,ge,"f")).y;this.classList.toggle("-shift-down",!1),this.classList.toggle("-shift-up",!1),this.classList.toggle(Math.round(t)===Math.round(e)?"-shift-down":"-shift-up",!0)}}else this.classList.toggle("-top",i.includes("top")),this.classList.toggle("-bottom",i.includes("bottom"));"rtl"===S.current?this.style.right=window.innerWidth-e-this.clientWidth+"px":this.style.left=`${e}px`,this.style.top=`${t}px`}),"f");const i=e.closest("m3e-menu");i?this.variant=i.variant:x(this,be,"m",Ae).call(this),this.showPopover(),L(this,ge,e,"f"),x(this,ge,"f").ariaExpanded="true",x(this,_e,"f").observe(x(this,ge,"f"))}hide(e=!1){for(const e of x(this,we,"f").items){const t=e.submenu;t&&t.isOpen&&t.hide()}x(this,be,"m",Te).call(this),this.hidePopover(),x(this,ge,"f")&&(x(this,ge,"f").ariaExpanded="false",e&&x(this,ge,"f").focus(),x(this,_e,"f").unobserve(x(this,ge,"f")),L(this,ge,void 0,"f"))}hideAll(e=!1){let t=this;for(;x(t,ge,"f");){const e=x(t,ge,"f").closest("m3e-menu");if(!e)break;t=e}t.hide(e)}async toggle(e){x(this,ge,"f")?this.hide():await this.show(e)}render(){return i`<div class="base"><slot @slotchange="${x(this,be,"m",Ce)}"></slot></div>`}firstUpdated(e){super.firstUpdated(e),requestAnimationFrame(()=>this.classList.remove("-no-animate"))}};var We,Re,je,ze,De,qe,Ne,Ie,Be,Ke,He,Ye;ge=new WeakMap,ye=new WeakMap,we=new WeakMap,Ee=new WeakMap,$e=new WeakMap,ke=new WeakMap,_e=new WeakMap,Se=new WeakMap,be=new WeakSet,Ce=function(){const{added:e}=x(this,we,"f").setItems([...this.querySelectorAll("m3e-menu-item,m3e-menu-item-checkbox,m3e-menu-item-radio")].filter(e=>e.closest("m3e-menu")===this));x(this,we,"f").activeItem||x(this,we,"f").updateActiveItem(e.find(e=>!e.disabled)),x(this,we,"f").items.forEach((e,t)=>{e.classList.toggle("-first",0===t),e.classList.toggle("-last",t===x(this,we,"f").items.length-1)})},xe=function(e){switch(e.key){case"Right":case"ArrowRight":"rtl"===S.current?(e.preventDefault(),this.hide(!0)):x(this,we,"f").onKeyDown(e);break;case"Left":case"ArrowLeft":"ltr"===S.current?(e.preventDefault(),this.hide(!0)):x(this,we,"f").onKeyDown(e);break;case"Tab":this.hideAll();break;case"Escape":e.shiftKey||e.ctrlKey||this.hide(!0);break;default:x(this,we,"f").onKeyDown(e)}},Le=function(){x(this,be,"m",Ae).call(this)},Me=function(e){this.submenu||e.composedPath().some(e=>e instanceof Ue||e===x(this,ge,"f"))||this.hide()},Pe=function(e){let t=0,i=0;for(let s=e;s;s=s.offsetParent instanceof HTMLElement?s.offsetParent:null)t+=s.offsetLeft-s.scrollLeft+s.clientLeft,i+=s.offsetTop-s.scrollTop+s.clientTop;return{x:t,y:i}},Ae=function(){this!==Ue.__activeMenu&&(Ue.__activeMenu?.classList.remove("-active"),Ue.__activeMenu=this,Ue.__activeMenu?.classList.add("-active"))},Te=function(){this===Ue.__activeMenu&&(Ue.__activeMenu.classList.remove("-active"),Ue.__activeMenu=void 0)},(()=>{if(document){const e=new CSSStyleSheet;e.replaceSync(o`m3e-menu > m3e-divider { margin-block: var(--m3e-menu-divider-spacing, 0.5rem); }`.toString()),document.adoptedStyleSheets=[...document.adoptedStyleSheets,e]}})(),Oe.styles=o`:host { position: absolute; padding: unset; margin: unset; border: unset; overflow-y: auto; overflow-x: visible; scrollbar-width: ${d.scrollbar.thinWidth}; scrollbar-color: ${d.scrollbar.color}; scroll-padding-block: calc( var(--m3e-focus-ring-thickness, 0.1875rem) + var(--m3e-menu-container-padding-block, 0.25rem) ); min-width: var(--m3e-menu-container-min-width, 7rem); max-width: var(--m3e-menu-container-max-width, 17.5rem); max-height: var(--m3e-menu-container-max-height, 17.5rem); box-shadow: var(--m3e-menu-container-elevation, ${d.elevation.level3}); opacity: 0; display: none; } .base { display: flex; flex-direction: column; row-gap: var(--m3e-menu-gap, 0.125rem); min-width: inherit; max-width: inherit; padding-block: var(--m3e-menu-container-padding-block, 0.25rem); padding-inline: var(--m3e-menu-container-padding-inline, 0.25rem); } :host(:not(.-active)) { border-radius: var(--m3e-menu-container-shape, ${d.shape.corner.small}); } :host(.-active) { border-radius: var(--m3e-menu-active-container-shape, ${d.shape.corner.large}); } :host(:not(.-no-animate)) { transition: ${s(`opacity ${d.motion.duration.short2} ${d.motion.easing.standard}, \n transform ${d.motion.duration.short2} ${d.motion.easing.standard},\n overlay ${d.motion.duration.short2} ${d.motion.easing.standard} allow-discrete,\n display ${d.motion.duration.short2} ${d.motion.easing.standard} allow-discrete,\n border-radius ${d.motion.spring.fastEffects}`)}; } :host(:not([submenu])) { transform: scaleY(0.8); } :host(:not([submenu]):popover-open) { transform: scaleY(1); } :host::backdrop { background-color: transparent; } :host(:popover-open) { display: block; opacity: 1; } :host(.-bottom) { transform-origin: top; } :host(.-top) { transform-origin: bottom; } :host(.-shift-down) { margin-top: calc(0px - var(--m3e-menu-container-padding-block, 0.25rem)); } :host(.-shift-up) { margin-top: var(--m3e-menu-container-padding-block, 0.25rem); } :host([variant="vibrant"]) { background-color: var(--m3e-vibrant-menu-container-color, ${d.color.tertiaryContainer}); --m3e-menu-item-color: var(--m3e-vibrant-menu-item-color, ${d.color.onTertiaryContainer}); --m3e-menu-item-container-hover-color: var( --m3e-vibrant-menu-item-container-hover-color, ${d.color.onTertiaryContainer} ); --m3e-menu-item-container-focus-color: var( --m3e-vibrant-menu-item-container-focus-color, ${d.color.onTertiaryContainer} ); --m3e-menu-item-ripple-color: var(--m3e-vibrant-menu-item-ripple-color, ${d.color.onTertiaryContainer}); --m3e-menu-item-active-state-layer-color: var( --m3e-vibrant-menu-item-active-state-layer-color, ${d.color.onTertiaryContainer} ); --m3e-menu-item-selected-color: var(--m3e-vibrant-menu-item-selected-color, ${d.color.onTertiary}); --m3e-menu-item-selected-container-color: var( --m3e-vibrant-menu-item-selected-container-color, ${d.color.tertiary} ); --m3e-menu-item-selected-container-hover-color: var( --m3e-vibrant-menu-item-selected-container-hover-color, ${d.color.onTertiary} ); --m3e-menu-item-container-selected-focus-color: var( --m3e-vibrant-menu-item-selected-container-focus-color, ${d.color.onTertiary} ); --m3e-menu-item-selected-ripple-color: var( --m3e-vibrant-menu-item-selected-ripple-color, ${d.color.onTertiary} ); --m3e-menu-item-disabled-color: var( --m3e-vibrant-menu-item-disabled-color, ${d.color.onTertiaryContainer} ); } :host([variant="standard"]) { background-color: var(--m3e-menu-container-color, ${d.color.surfaceContainer}); } @starting-style { :host(:popover-open) { opacity: 0; } :host(:not([submenu]):popover-open) { transform: scaleY(0.8); } } @media (prefers-reduced-motion) { :host(:not(.-no-animate)) { transition: none; } } @media (forced-colors: active) { :host { background-color: Menu; color: MenuText; outline: 1px solid MenuText; } }`,C([ee({attribute:"position-x"})],Oe.prototype,"positionX",void 0),C([ee({attribute:"position-y"})],Oe.prototype,"positionY",void 0),C([ee({reflect:!0})],Oe.prototype,"variant",void 0),C([ee({type:Boolean,reflect:!0})],Oe.prototype,"submenu",void 0),Oe=Ue=C([M("m3e-menu")],Oe);let Ze=class extends(y(f(ie,"menuitemcheckbox"))){constructor(){super(...arguments),We.add(this),Re.set(this,e=>x(this,We,"m",Be).call(this,e)),je.set(this,e=>x(this,We,"m",Ke).call(this,e)),ze.set(this,()=>x(this,We,"m",He).call(this)),De.set(this,()=>x(this,We,"m",Ye).call(this)),qe.set(this,!1)}connectedCallback(){super.connectedCallback(),this.addEventListener("click",x(this,Re,"f")),this.addEventListener("keydown",x(this,je,"f")),this.addEventListener("keyup",x(this,ze,"f")),this.addEventListener("mouseenter",x(this,De,"f"))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",x(this,Re,"f")),this.removeEventListener("keydown",x(this,je,"f")),this.removeEventListener("keyup",x(this,ze,"f")),this.removeEventListener("mouseenter",x(this,De,"f"))}_renderContent(){return i`<div class="icon"><svg class="check" viewBox="0 -960 960 960" aria-hidden="true"><path fill="currentColor" d="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z"/></svg><slot name="icon" @slotchange="${x(this,We,"m",Ne)}"></slot></div><slot></slot><slot name="trailing-icon" aria-hidden="true" @slotchange="${x(this,We,"m",Ie)}"></slot>`}};Re=new WeakMap,je=new WeakMap,ze=new WeakMap,De=new WeakMap,qe=new WeakMap,We=new WeakSet,Ne=function(e){this.classList.toggle("-with-icon",b(e.target))},Ie=function(e){this.classList.toggle("-with-trailing-icon",b(e.target))},Be=function(e){e.defaultPrevented||(this.checked=!this.checked,this.performUpdate(),x(this,qe,"f")||(w()?this.menu?.hideAll(!0):setTimeout(()=>this.menu?.hideAll(!0),150)))},Ke=function(e){L(this,qe," "===e.key,"f")},He=function(){L(this,qe,!1,"f")},Ye=function(){this.menu?.items.forEach(e=>{e instanceof ve&&e.submenu?.isOpen&&e.submenu.hide()})},Ze.styles=[ie.styles,o`.icon { display: flex; align-items: center; justify-content: center; transition: margin-inline-start ${d.motion.spring.fastEffects}; } :host(:not(.-with-icon)) .icon { margin-inline-start: calc(0px - var(--m3e-menu-item-icon-label-space, 0.75rem)); } .check { width: 1em; font-size: var(--m3e-menu-item-icon-size, 1.25rem) !important; } :host(:not([checked])) .check { display: none; } :host([checked]) .icon { margin-inline-start: 0; } :host([checked]) ::slotted([slot="icon"]) { display: none !important; } @media (prefers-reduced-motion) { .icon { transition: none; } }`],Ze=C([M("m3e-menu-item-checkbox")],Ze);let Xe=class extends(f(e,"group")){render(){return i`<slot></slot>`}};var Je,Ve,Fe,Ge,Qe,et,tt,it,st,ot,nt,rt;Xe.styles=o`:host { display: contents; }`,Xe=C([M("m3e-menu-item-group")],Xe);let at=class extends(y(f(ie,"menuitemradio"))){constructor(){super(...arguments),Je.add(this),Ve.set(this,e=>x(this,Je,"m",st).call(this,e)),Fe.set(this,e=>x(this,Je,"m",ot).call(this,e)),Ge.set(this,()=>x(this,Je,"m",nt).call(this)),Qe.set(this,()=>x(this,Je,"m",rt).call(this)),et.set(this,!1)}connectedCallback(){super.connectedCallback(),this.addEventListener("click",x(this,Ve,"f")),this.addEventListener("keydown",x(this,Fe,"f")),this.addEventListener("keyup",x(this,Ge,"f")),this.addEventListener("mouseenter",x(this,Qe,"f"))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",x(this,Ve,"f")),this.removeEventListener("keydown",x(this,Fe,"f")),this.removeEventListener("keyup",x(this,Ge,"f")),this.removeEventListener("mouseenter",x(this,Qe,"f"))}update(e){super.update(e),e.has("checked")&&this.checked&&(this.closest("[role='group']")??this.closest("m3e-menu"))?.querySelectorAll("m3e-menu-item-radio").forEach(e=>{e!==this&&e.checked&&(e.checked=!1)})}_renderContent(){return i`<div class="icon"><svg class="check" viewBox="0 -960 960 960" aria-hidden="true"><path fill="currentColor" d="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z"/></svg><slot name="icon" @slotchange="${x(this,Je,"m",tt)}"></slot></div><slot></slot><slot name="trailing-icon" aria-hidden="true" @slotchange="${x(this,Je,"m",it)}"></slot>`}};Ve=new WeakMap,Fe=new WeakMap,Ge=new WeakMap,Qe=new WeakMap,et=new WeakMap,Je=new WeakSet,tt=function(e){this.classList.toggle("-with-icon",b(e.target))},it=function(e){this.classList.toggle("-with-trailing-icon",b(e.target))},st=function(e){e.defaultPrevented||(this.checked=!0,this.performUpdate(),x(this,et,"f")||(w()?this.menu?.hideAll(!0):setTimeout(()=>this.menu?.hideAll(!0),150)))},ot=function(e){L(this,et," "===e.key,"f")},nt=function(){L(this,et,!1,"f")},rt=function(){this.menu?.items.forEach(e=>{e instanceof ve&&e.submenu?.isOpen&&e.submenu.hide()})},at.styles=Ze.styles,at=C([M("m3e-menu-item-radio")],at);export{Oe as M3eMenuElement,Ze as M3eMenuItemCheckboxElement,ve as M3eMenuItemElement,Xe as M3eMenuItemGroupElement,at as M3eMenuItemRadioElement,se as M3eMenuTriggerElement};
45
+ //# sourceMappingURL=menu.min.js.map