@fabric-msft/fabric-web 5.0.1 → 7.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 (2865) hide show
  1. package/dts/components/accordion/accordion.d.ts.map +1 -0
  2. package/dts/components/accordion/accordion.definition.d.ts.map +1 -0
  3. package/dts/components/accordion/accordion.options.d.ts.map +1 -0
  4. package/dts/components/accordion/define.d.ts.map +1 -0
  5. package/dts/components/accordion/index.d.ts.map +1 -0
  6. package/dts/components/accordion-item/accordion-item.d.ts.map +1 -0
  7. package/dts/components/accordion-item/accordion-item.definition.d.ts.map +1 -0
  8. package/dts/components/accordion-item/accordion-item.options.d.ts.map +1 -0
  9. package/dts/components/accordion-item/define.d.ts.map +1 -0
  10. package/dts/components/accordion-item/index.d.ts.map +1 -0
  11. package/dts/components/accordion-menu/accordion-menu.d.ts.map +1 -0
  12. package/dts/components/accordion-menu/accordion-menu.definition.d.ts.map +1 -0
  13. package/dts/components/accordion-menu/accordion-menu.options.d.ts.map +1 -0
  14. package/dts/components/accordion-menu/accordion-menu.styles.d.ts.map +1 -0
  15. package/dts/components/accordion-menu/accordion-menu.template.d.ts.map +1 -0
  16. package/dts/components/accordion-menu/define.d.ts.map +1 -0
  17. package/dts/components/accordion-menu/index.d.ts.map +1 -0
  18. package/dts/components/accordion-menu-panel/accordion-menu-panel.d.ts.map +1 -0
  19. package/dts/components/accordion-menu-panel/accordion-menu-panel.definition.d.ts.map +1 -0
  20. package/dts/components/accordion-menu-panel/accordion-menu-panel.options.d.ts.map +1 -0
  21. package/dts/components/accordion-menu-panel/accordion-menu-panel.styles.d.ts.map +1 -0
  22. package/dts/components/accordion-menu-panel/accordion-menu-panel.template.d.ts.map +1 -0
  23. package/dts/components/accordion-menu-panel/define.d.ts.map +1 -0
  24. package/dts/components/accordion-menu-panel/index.d.ts.map +1 -0
  25. package/dts/components/anchor-button/anchor-button.d.ts.map +1 -0
  26. package/dts/components/anchor-button/anchor-button.definition.d.ts.map +1 -0
  27. package/dts/components/anchor-button/anchor-button.options.d.ts.map +1 -0
  28. package/dts/components/anchor-button/define.d.ts.map +1 -0
  29. package/dts/components/anchor-button/index.d.ts.map +1 -0
  30. package/dts/components/avatar/avatar.d.ts.map +1 -0
  31. package/dts/components/avatar/avatar.definition.d.ts.map +1 -0
  32. package/dts/components/avatar/avatar.options.d.ts.map +1 -0
  33. package/dts/components/avatar/define.d.ts.map +1 -0
  34. package/dts/components/avatar/index.d.ts.map +1 -0
  35. package/dts/components/badge/badge.d.ts.map +1 -0
  36. package/dts/components/badge/badge.definition.d.ts.map +1 -0
  37. package/dts/components/badge/badge.options.d.ts.map +1 -0
  38. package/dts/components/badge/define.d.ts.map +1 -0
  39. package/dts/components/badge/index.d.ts.map +1 -0
  40. package/dts/components/button/button.d.ts.map +1 -0
  41. package/dts/components/button/button.definition.d.ts.map +1 -0
  42. package/dts/components/button/button.options.d.ts.map +1 -0
  43. package/dts/components/button/button.styles.d.ts.map +1 -0
  44. package/dts/components/button/define.d.ts.map +1 -0
  45. package/dts/components/button/index.d.ts.map +1 -0
  46. package/dts/components/card/card.d.ts.map +1 -0
  47. package/dts/components/card/card.definition.d.ts.map +1 -0
  48. package/dts/components/card/card.options.d.ts.map +1 -0
  49. package/dts/components/card/card.styles.d.ts.map +1 -0
  50. package/dts/components/card/card.template.d.ts.map +1 -0
  51. package/dts/components/card/define.d.ts.map +1 -0
  52. package/dts/components/card/index.d.ts.map +1 -0
  53. package/dts/components/card-carousel/card-carousel.d.ts +264 -0
  54. package/dts/components/card-carousel/card-carousel.d.ts.map +1 -0
  55. package/dts/components/card-carousel/card-carousel.definition.d.ts +9 -0
  56. package/dts/components/card-carousel/card-carousel.definition.d.ts.map +1 -0
  57. package/dts/components/card-carousel/card-carousel.styles.d.ts +2 -0
  58. package/dts/components/card-carousel/card-carousel.styles.d.ts.map +1 -0
  59. package/dts/components/card-carousel/card-carousel.template.d.ts +9 -0
  60. package/dts/components/card-carousel/card-carousel.template.d.ts.map +1 -0
  61. package/dts/components/card-carousel/define.d.ts.map +1 -0
  62. package/dts/components/card-carousel/index.d.ts +5 -0
  63. package/dts/components/card-carousel/index.d.ts.map +1 -0
  64. package/dts/components/card-footer/card-footer.d.ts.map +1 -0
  65. package/dts/components/card-footer/card-footer.definition.d.ts.map +1 -0
  66. package/dts/components/card-footer/card-footer.styles.d.ts.map +1 -0
  67. package/dts/components/card-footer/card-footer.template.d.ts.map +1 -0
  68. package/dts/components/card-footer/define.d.ts.map +1 -0
  69. package/dts/components/card-footer/index.d.ts.map +1 -0
  70. package/dts/components/card-header/card-header.d.ts.map +1 -0
  71. package/dts/components/card-header/card-header.definition.d.ts.map +1 -0
  72. package/dts/components/card-header/card-header.styles.d.ts.map +1 -0
  73. package/dts/components/card-header/card-header.template.d.ts.map +1 -0
  74. package/dts/components/card-header/define.d.ts.map +1 -0
  75. package/dts/components/card-header/index.d.ts.map +1 -0
  76. package/dts/components/card-preview/card-preview.d.ts.map +1 -0
  77. package/dts/components/card-preview/card-preview.definition.d.ts.map +1 -0
  78. package/dts/components/card-preview/card-preview.styles.d.ts.map +1 -0
  79. package/dts/components/card-preview/card-preview.template.d.ts.map +1 -0
  80. package/dts/components/card-preview/define.d.ts.map +1 -0
  81. package/dts/components/card-preview/index.d.ts.map +1 -0
  82. package/dts/components/carousel/carousel.d.ts +150 -0
  83. package/dts/components/carousel/carousel.d.ts.map +1 -0
  84. package/dts/components/carousel/carousel.definition.d.ts +9 -0
  85. package/dts/components/carousel/carousel.definition.d.ts.map +1 -0
  86. package/dts/components/carousel/carousel.events.d.ts +14 -0
  87. package/dts/components/carousel/carousel.events.d.ts.map +1 -0
  88. package/dts/components/carousel/carousel.options.d.ts +16 -0
  89. package/dts/components/carousel/carousel.options.d.ts.map +1 -0
  90. package/dts/components/carousel/carousel.styles.d.ts +7 -0
  91. package/dts/components/carousel/carousel.styles.d.ts.map +1 -0
  92. package/dts/components/carousel/carousel.template.d.ts.map +1 -0
  93. package/dts/components/carousel/define.d.ts +16 -0
  94. package/dts/components/carousel/define.d.ts.map +1 -0
  95. package/dts/components/carousel/index.d.ts +10 -0
  96. package/dts/components/carousel/index.d.ts.map +1 -0
  97. package/dts/components/carousel-item/carousel-item.d.ts +50 -0
  98. package/dts/components/carousel-item/carousel-item.d.ts.map +1 -0
  99. package/dts/components/carousel-item/carousel-item.definition.d.ts +9 -0
  100. package/dts/components/carousel-item/carousel-item.definition.d.ts.map +1 -0
  101. package/dts/components/carousel-item/carousel-item.styles.d.ts +7 -0
  102. package/dts/components/carousel-item/carousel-item.styles.d.ts.map +1 -0
  103. package/dts/components/carousel-item/carousel-item.template.d.ts +10 -0
  104. package/dts/components/carousel-item/carousel-item.template.d.ts.map +1 -0
  105. package/dts/components/carousel-item/define.d.ts.map +1 -0
  106. package/dts/components/carousel-item/index.d.ts +5 -0
  107. package/dts/components/carousel-item/index.d.ts.map +1 -0
  108. package/dts/components/carousel-nav/carousel-nav.d.ts +102 -0
  109. package/dts/components/carousel-nav/carousel-nav.d.ts.map +1 -0
  110. package/dts/components/carousel-nav/carousel-nav.definition.d.ts +9 -0
  111. package/dts/components/carousel-nav/carousel-nav.definition.d.ts.map +1 -0
  112. package/dts/components/carousel-nav/carousel-nav.events.d.ts +16 -0
  113. package/dts/components/carousel-nav/carousel-nav.events.d.ts.map +1 -0
  114. package/dts/components/carousel-nav/carousel-nav.options.d.ts +16 -0
  115. package/dts/components/carousel-nav/carousel-nav.options.d.ts.map +1 -0
  116. package/dts/components/carousel-nav/carousel-nav.styles.d.ts +7 -0
  117. package/dts/components/carousel-nav/carousel-nav.styles.d.ts.map +1 -0
  118. package/dts/components/carousel-nav/carousel-nav.template.d.ts +9 -0
  119. package/dts/components/carousel-nav/carousel-nav.template.d.ts.map +1 -0
  120. package/dts/components/carousel-nav/define.d.ts +2 -0
  121. package/dts/components/carousel-nav/define.d.ts.map +1 -0
  122. package/dts/components/carousel-nav/index.d.ts +9 -0
  123. package/dts/components/carousel-nav/index.d.ts.map +1 -0
  124. package/dts/components/carousel-nav-item/carousel-nav-item.d.ts +48 -0
  125. package/dts/components/carousel-nav-item/carousel-nav-item.d.ts.map +1 -0
  126. package/dts/components/carousel-nav-item/carousel-nav-item.definition.d.ts +9 -0
  127. package/dts/components/carousel-nav-item/carousel-nav-item.definition.d.ts.map +1 -0
  128. package/dts/components/carousel-nav-item/carousel-nav-item.styles.d.ts +7 -0
  129. package/dts/components/carousel-nav-item/carousel-nav-item.styles.d.ts.map +1 -0
  130. package/dts/components/carousel-nav-item/carousel-nav-item.template.d.ts +10 -0
  131. package/dts/components/carousel-nav-item/carousel-nav-item.template.d.ts.map +1 -0
  132. package/dts/components/carousel-nav-item/define.d.ts.map +1 -0
  133. package/dts/components/carousel-nav-item/index.d.ts +5 -0
  134. package/dts/components/carousel-nav-item/index.d.ts.map +1 -0
  135. package/dts/components/checkbox/checkbox.d.ts.map +1 -0
  136. package/dts/components/checkbox/checkbox.definition.d.ts.map +1 -0
  137. package/dts/components/checkbox/checkbox.options.d.ts.map +1 -0
  138. package/dts/components/checkbox/define.d.ts.map +1 -0
  139. package/dts/components/checkbox/index.d.ts.map +1 -0
  140. package/dts/components/compound-button/compound-button.d.ts.map +1 -0
  141. package/dts/components/compound-button/compound-button.definition.d.ts.map +1 -0
  142. package/dts/components/compound-button/compound-button.options.d.ts.map +1 -0
  143. package/dts/components/compound-button/compound-button.styles.d.ts.map +1 -0
  144. package/dts/components/compound-button/define.d.ts.map +1 -0
  145. package/dts/components/compound-button/index.d.ts.map +1 -0
  146. package/dts/components/counter-badge/counter-badge.d.ts.map +1 -0
  147. package/dts/components/counter-badge/counter-badge.definition.d.ts.map +1 -0
  148. package/dts/components/counter-badge/counter-badge.options.d.ts.map +1 -0
  149. package/dts/components/counter-badge/define.d.ts.map +1 -0
  150. package/dts/components/counter-badge/index.d.ts.map +1 -0
  151. package/dts/components/design-system.d.ts.map +1 -0
  152. package/dts/components/dialog/define.d.ts.map +1 -0
  153. package/dts/components/dialog/dialog.d.ts.map +1 -0
  154. package/dts/components/dialog/dialog.definition.d.ts.map +1 -0
  155. package/dts/components/dialog/dialog.options.d.ts.map +1 -0
  156. package/dts/components/dialog/dialog.styles.d.ts.map +1 -0
  157. package/dts/components/dialog/index.d.ts.map +1 -0
  158. package/dts/components/dialog-body/define.d.ts.map +1 -0
  159. package/dts/components/dialog-body/dialog-body.d.ts.map +1 -0
  160. package/dts/components/dialog-body/dialog-body.definition.d.ts.map +1 -0
  161. package/dts/components/dialog-body/index.d.ts.map +1 -0
  162. package/dts/components/divider/define.d.ts.map +1 -0
  163. package/dts/components/divider/divider.d.ts.map +1 -0
  164. package/dts/components/divider/divider.definition.d.ts.map +1 -0
  165. package/dts/components/divider/divider.options.d.ts.map +1 -0
  166. package/dts/components/divider/divider.styles.d.ts.map +1 -0
  167. package/dts/components/divider/divider.template.d.ts.map +1 -0
  168. package/dts/components/divider/index.d.ts.map +1 -0
  169. package/dts/components/drawer/define.d.ts.map +1 -0
  170. package/dts/components/drawer/drawer.d.ts.map +1 -0
  171. package/dts/components/drawer/drawer.definition.d.ts.map +1 -0
  172. package/dts/components/drawer/drawer.options.d.ts.map +1 -0
  173. package/dts/components/drawer/index.d.ts.map +1 -0
  174. package/dts/components/drawer-body/define.d.ts.map +1 -0
  175. package/dts/components/drawer-body/drawer-body.d.ts.map +1 -0
  176. package/dts/components/drawer-body/drawer-body.definition.d.ts.map +1 -0
  177. package/dts/components/drawer-body/index.d.ts.map +1 -0
  178. package/dts/components/dropdown/define.d.ts.map +1 -0
  179. package/dts/components/dropdown/dropdown.d.ts +104 -0
  180. package/dts/components/dropdown/dropdown.d.ts.map +1 -0
  181. package/dts/components/dropdown/dropdown.definition.d.ts.map +1 -0
  182. package/dts/components/dropdown/dropdown.options.d.ts.map +1 -0
  183. package/dts/components/dropdown/dropdown.styles.d.ts.map +1 -0
  184. package/dts/components/dropdown/index.d.ts.map +1 -0
  185. package/dts/components/field/define.d.ts.map +1 -0
  186. package/dts/components/field/field.d.ts.map +1 -0
  187. package/dts/components/field/field.definition.d.ts.map +1 -0
  188. package/dts/components/field/field.options.d.ts.map +1 -0
  189. package/dts/components/field/field.styles.d.ts.map +1 -0
  190. package/dts/components/field/index.d.ts.map +1 -0
  191. package/dts/components/filter-pill/define.d.ts.map +1 -0
  192. package/dts/components/filter-pill/filter-pill.d.ts.map +1 -0
  193. package/dts/components/filter-pill/filter-pill.definition.d.ts.map +1 -0
  194. package/dts/components/filter-pill/filter-pill.options.d.ts.map +1 -0
  195. package/dts/components/filter-pill/filter-pill.styles.d.ts.map +1 -0
  196. package/dts/components/filter-pill/filter-pill.template.d.ts.map +1 -0
  197. package/dts/components/filter-pill/index.d.ts.map +1 -0
  198. package/dts/components/image/define.d.ts.map +1 -0
  199. package/dts/components/image/image.d.ts.map +1 -0
  200. package/dts/components/image/image.definition.d.ts.map +1 -0
  201. package/dts/components/image/image.options.d.ts.map +1 -0
  202. package/dts/components/image/index.d.ts.map +1 -0
  203. package/dts/components/label/define.d.ts.map +1 -0
  204. package/dts/components/label/index.d.ts.map +1 -0
  205. package/dts/components/label/label.d.ts.map +1 -0
  206. package/dts/components/label/label.definition.d.ts.map +1 -0
  207. package/dts/components/label/label.options.d.ts.map +1 -0
  208. package/dts/components/link/define.d.ts.map +1 -0
  209. package/dts/components/link/index.d.ts +6 -0
  210. package/dts/components/link/index.d.ts.map +1 -0
  211. package/dts/components/link/link.d.ts +64 -0
  212. package/dts/components/link/link.d.ts.map +1 -0
  213. package/dts/components/link/link.definition.d.ts.map +1 -0
  214. package/dts/components/link/link.options.d.ts.map +1 -0
  215. package/dts/components/link/link.template.d.ts +14 -0
  216. package/dts/components/link/link.template.d.ts.map +1 -0
  217. package/dts/components/listbox/define.d.ts.map +1 -0
  218. package/dts/components/listbox/index.d.ts.map +1 -0
  219. package/dts/components/listbox/listbox.d.ts +119 -0
  220. package/dts/components/listbox/listbox.d.ts.map +1 -0
  221. package/dts/components/listbox/listbox.definition.d.ts.map +1 -0
  222. package/dts/components/listbox/listbox.styles.d.ts.map +1 -0
  223. package/dts/components/loading-button/define.d.ts.map +1 -0
  224. package/dts/components/loading-button/index.d.ts.map +1 -0
  225. package/dts/components/loading-button/loading-button.d.ts +47 -0
  226. package/dts/components/loading-button/loading-button.d.ts.map +1 -0
  227. package/dts/components/loading-button/loading-button.definition.d.ts +10 -0
  228. package/dts/components/loading-button/loading-button.definition.d.ts.map +1 -0
  229. package/dts/components/loading-button/loading-button.styles.d.ts.map +1 -0
  230. package/dts/components/loading-button/loading-button.template.d.ts +8 -0
  231. package/dts/components/loading-button/loading-button.template.d.ts.map +1 -0
  232. package/dts/components/menu/define.d.ts.map +1 -0
  233. package/dts/components/menu/index.d.ts.map +1 -0
  234. package/dts/components/menu/menu.d.ts +371 -0
  235. package/dts/components/menu/menu.d.ts.map +1 -0
  236. package/dts/components/menu/menu.definition.d.ts.map +1 -0
  237. package/dts/components/menu/menu.options.d.ts.map +1 -0
  238. package/dts/components/menu/menu.positioning.d.ts.map +1 -0
  239. package/dts/components/menu/menu.styles.d.ts.map +1 -0
  240. package/dts/components/menu/menu.template.d.ts.map +1 -0
  241. package/dts/components/menu-button/define.d.ts.map +1 -0
  242. package/dts/components/menu-button/index.d.ts.map +1 -0
  243. package/dts/components/menu-button/menu-button.d.ts.map +1 -0
  244. package/dts/components/menu-button/menu-button.definition.d.ts.map +1 -0
  245. package/dts/components/menu-button/menu-button.options.d.ts.map +1 -0
  246. package/dts/components/menu-item/define.d.ts.map +1 -0
  247. package/dts/components/menu-item/index.d.ts +8 -0
  248. package/dts/components/menu-item/index.d.ts.map +1 -0
  249. package/dts/components/menu-item/menu-item.d.ts +238 -0
  250. package/dts/components/menu-item/menu-item.d.ts.map +1 -0
  251. package/dts/components/menu-item/menu-item.definition.d.ts.map +1 -0
  252. package/dts/components/menu-item/menu-item.options.d.ts +69 -0
  253. package/dts/components/menu-item/menu-item.options.d.ts.map +1 -0
  254. package/dts/components/menu-item/menu-item.styles.d.ts.map +1 -0
  255. package/dts/components/menu-item/menu-item.template.d.ts.map +1 -0
  256. package/dts/components/menu-list/define.d.ts.map +1 -0
  257. package/dts/components/menu-list/index.d.ts.map +1 -0
  258. package/dts/components/menu-list/menu-list.d.ts.map +1 -0
  259. package/dts/components/menu-list/menu-list.definition.d.ts.map +1 -0
  260. package/dts/components/menu-list/menu-list.styles.d.ts.map +1 -0
  261. package/dts/components/menu-list/menu-list.template.d.ts.map +1 -0
  262. package/dts/components/message-bar/define.d.ts.map +1 -0
  263. package/dts/components/message-bar/index.d.ts.map +1 -0
  264. package/dts/components/message-bar/message-bar.d.ts.map +1 -0
  265. package/dts/components/message-bar/message-bar.definition.d.ts.map +1 -0
  266. package/dts/components/multi-view/define.d.ts.map +1 -0
  267. package/dts/components/multi-view/index.d.ts.map +1 -0
  268. package/dts/components/multi-view/multi-view.d.ts.map +1 -0
  269. package/dts/components/multi-view/multi-view.definition.d.ts.map +1 -0
  270. package/dts/components/multi-view/multi-view.options.d.ts.map +1 -0
  271. package/dts/components/multi-view/multi-view.styles.d.ts.map +1 -0
  272. package/dts/components/multi-view/multi-view.template.d.ts.map +1 -0
  273. package/dts/components/multi-view-controller/define.d.ts.map +1 -0
  274. package/dts/components/multi-view-controller/index.d.ts.map +1 -0
  275. package/dts/components/multi-view-controller/multi-view-controller.d.ts.map +1 -0
  276. package/dts/components/multi-view-controller/multi-view-controller.definition.d.ts.map +1 -0
  277. package/dts/components/multi-view-controller/multi-view-controller.styles.d.ts.map +1 -0
  278. package/dts/components/multi-view-controller/multi-view-controller.template.d.ts.map +1 -0
  279. package/dts/components/multi-view-group/define.d.ts.map +1 -0
  280. package/dts/components/multi-view-group/index.d.ts.map +1 -0
  281. package/dts/components/multi-view-group/multi-view-group.d.ts.map +1 -0
  282. package/dts/components/multi-view-group/multi-view-group.definition.d.ts.map +1 -0
  283. package/dts/components/multi-view-group/multi-view-group.options.d.ts.map +1 -0
  284. package/dts/components/multi-view-group/multi-view-group.styles.d.ts.map +1 -0
  285. package/dts/components/multi-view-group/multi-view-group.template.d.ts.map +1 -0
  286. package/dts/components/option/define.d.ts.map +1 -0
  287. package/dts/components/option/index.d.ts.map +1 -0
  288. package/dts/components/option/option.d.ts.map +1 -0
  289. package/dts/components/option/option.definition.d.ts.map +1 -0
  290. package/dts/components/option-group/define.d.ts.map +1 -0
  291. package/dts/components/option-group/index.d.ts.map +1 -0
  292. package/dts/components/option-group/option-group.d.ts.map +1 -0
  293. package/dts/components/option-group/option-group.definition.d.ts.map +1 -0
  294. package/dts/components/option-group/option-group.options.d.ts.map +1 -0
  295. package/dts/components/option-group/option-group.styles.d.ts.map +1 -0
  296. package/dts/components/option-group/option-group.template.d.ts.map +1 -0
  297. package/dts/components/overflow/define.d.ts.map +1 -0
  298. package/dts/components/overflow/index.d.ts +8 -0
  299. package/dts/components/overflow/index.d.ts.map +1 -0
  300. package/dts/components/overflow/overflow.d.ts +138 -0
  301. package/dts/components/overflow/overflow.d.ts.map +1 -0
  302. package/dts/components/overflow/overflow.definition.d.ts +9 -0
  303. package/dts/components/overflow/overflow.definition.d.ts.map +1 -0
  304. package/dts/components/overflow/overflow.events.d.ts +15 -0
  305. package/dts/components/overflow/overflow.events.d.ts.map +1 -0
  306. package/dts/components/overflow/overflow.options.d.ts +16 -0
  307. package/dts/components/overflow/overflow.options.d.ts.map +1 -0
  308. package/dts/components/overflow/overflow.styles.d.ts +6 -0
  309. package/dts/components/overflow/overflow.styles.d.ts.map +1 -0
  310. package/dts/components/overflow/overflow.template.d.ts +8 -0
  311. package/dts/components/overflow/overflow.template.d.ts.map +1 -0
  312. package/dts/components/overflow-divider/define.d.ts.map +1 -0
  313. package/dts/components/overflow-divider/index.d.ts +4 -0
  314. package/dts/components/overflow-divider/index.d.ts.map +1 -0
  315. package/dts/components/overflow-divider/overflow-divider.d.ts +31 -0
  316. package/dts/components/overflow-divider/overflow-divider.d.ts.map +1 -0
  317. package/dts/components/overflow-divider/overflow-divider.definition.d.ts +9 -0
  318. package/dts/components/overflow-divider/overflow-divider.definition.d.ts.map +1 -0
  319. package/dts/components/overflow-divider/overflow-divider.styles.d.ts +6 -0
  320. package/dts/components/overflow-divider/overflow-divider.styles.d.ts.map +1 -0
  321. package/dts/components/overflow-divider/overflow-divider.template.d.ts +8 -0
  322. package/dts/components/overflow-divider/overflow-divider.template.d.ts.map +1 -0
  323. package/dts/components/overflow-item/define.d.ts.map +1 -0
  324. package/dts/components/overflow-item/index.d.ts +4 -0
  325. package/dts/components/overflow-item/index.d.ts.map +1 -0
  326. package/dts/components/overflow-item/overflow-item.d.ts +54 -0
  327. package/dts/components/overflow-item/overflow-item.d.ts.map +1 -0
  328. package/dts/components/overflow-item/overflow-item.definition.d.ts +9 -0
  329. package/dts/components/overflow-item/overflow-item.definition.d.ts.map +1 -0
  330. package/dts/components/overflow-item/overflow-item.styles.d.ts +6 -0
  331. package/dts/components/overflow-item/overflow-item.styles.d.ts.map +1 -0
  332. package/dts/components/overflow-item/overflow-item.template.d.ts +8 -0
  333. package/dts/components/overflow-item/overflow-item.template.d.ts.map +1 -0
  334. package/dts/components/pagination/define.d.ts +16 -0
  335. package/dts/components/pagination/define.d.ts.map +1 -0
  336. package/dts/components/pagination/index.d.ts +11 -0
  337. package/dts/components/pagination/index.d.ts.map +1 -0
  338. package/dts/components/pagination/pagination.d.ts +237 -0
  339. package/dts/components/pagination/pagination.d.ts.map +1 -0
  340. package/dts/components/pagination/pagination.definition.d.ts +6 -0
  341. package/dts/components/pagination/pagination.definition.d.ts.map +1 -0
  342. package/dts/components/pagination/pagination.events.d.ts +23 -0
  343. package/dts/components/pagination/pagination.events.d.ts.map +1 -0
  344. package/dts/components/pagination/pagination.options.d.ts +30 -0
  345. package/dts/components/pagination/pagination.options.d.ts.map +1 -0
  346. package/dts/components/pagination/pagination.styles.d.ts +5 -0
  347. package/dts/components/pagination/pagination.styles.d.ts.map +1 -0
  348. package/dts/components/pagination/pagination.template.d.ts +7 -0
  349. package/dts/components/pagination/pagination.template.d.ts.map +1 -0
  350. package/dts/components/patterns/aria-globals.d.ts.map +1 -0
  351. package/dts/components/popover/define.d.ts.map +1 -0
  352. package/dts/components/popover/index.d.ts.map +1 -0
  353. package/dts/components/popover/popover.d.ts.map +1 -0
  354. package/dts/components/popover/popover.definition.d.ts.map +1 -0
  355. package/dts/components/popover/popover.options.d.ts.map +1 -0
  356. package/dts/components/popover/popover.positioning.d.ts.map +1 -0
  357. package/dts/components/popover/popover.styles.d.ts.map +1 -0
  358. package/dts/components/popover/popover.template.d.ts.map +1 -0
  359. package/dts/components/progress-bar/define.d.ts.map +1 -0
  360. package/dts/components/progress-bar/index.d.ts.map +1 -0
  361. package/dts/components/progress-bar/progress-bar.d.ts.map +1 -0
  362. package/dts/components/progress-bar/progress-bar.definition.d.ts.map +1 -0
  363. package/dts/components/progress-bar/progress-bar.options.d.ts.map +1 -0
  364. package/dts/components/radio/define.d.ts.map +1 -0
  365. package/dts/components/radio/index.d.ts.map +1 -0
  366. package/dts/components/radio/radio.d.ts.map +1 -0
  367. package/dts/components/radio/radio.definition.d.ts.map +1 -0
  368. package/dts/components/radio-group/define.d.ts.map +1 -0
  369. package/dts/components/radio-group/index.d.ts.map +1 -0
  370. package/dts/components/radio-group/radio-group.d.ts.map +1 -0
  371. package/dts/components/radio-group/radio-group.definition.d.ts.map +1 -0
  372. package/dts/components/radio-group/radio-group.options.d.ts.map +1 -0
  373. package/dts/components/rating-display/define.d.ts.map +1 -0
  374. package/dts/components/rating-display/index.d.ts.map +1 -0
  375. package/dts/components/rating-display/rating-display.d.ts.map +1 -0
  376. package/dts/components/rating-display/rating-display.definition.d.ts.map +1 -0
  377. package/dts/components/rating-display/rating-display.options.d.ts.map +1 -0
  378. package/dts/components/search-box/define.d.ts.map +1 -0
  379. package/dts/components/search-box/index.d.ts.map +1 -0
  380. package/dts/components/search-box/search-box.d.ts.map +1 -0
  381. package/dts/components/search-box/search-box.definition.d.ts +10 -0
  382. package/dts/components/search-box/search-box.definition.d.ts.map +1 -0
  383. package/dts/components/search-box/search-box.options.d.ts.map +1 -0
  384. package/dts/components/search-box/search-box.styles.d.ts.map +1 -0
  385. package/dts/components/search-box/search-box.template.d.ts.map +1 -0
  386. package/dts/components/simple-table/define.d.ts.map +1 -0
  387. package/dts/components/simple-table/index.d.ts.map +1 -0
  388. package/dts/components/simple-table/simple-table.d.ts.map +1 -0
  389. package/dts/components/simple-table/simple-table.definition.d.ts.map +1 -0
  390. package/dts/components/simple-table/simple-table.styles.d.ts.map +1 -0
  391. package/dts/components/slider/define.d.ts.map +1 -0
  392. package/dts/components/slider/index.d.ts.map +1 -0
  393. package/dts/components/slider/slider.d.ts.map +1 -0
  394. package/dts/components/slider/slider.definition.d.ts.map +1 -0
  395. package/dts/components/slider/slider.options.d.ts.map +1 -0
  396. package/dts/components/spin-button/define.d.ts.map +1 -0
  397. package/dts/components/spin-button/index.d.ts +9 -0
  398. package/dts/components/spin-button/index.d.ts.map +1 -0
  399. package/dts/components/spin-button/spin-button.d.ts +380 -0
  400. package/dts/components/spin-button/spin-button.d.ts.map +1 -0
  401. package/dts/components/spin-button/spin-button.definition.d.ts +10 -0
  402. package/dts/components/spin-button/spin-button.definition.d.ts.map +1 -0
  403. package/dts/components/spin-button/spin-button.events.d.ts +10 -0
  404. package/dts/components/spin-button/spin-button.events.d.ts.map +1 -0
  405. package/dts/components/spin-button/spin-button.options.d.ts +53 -0
  406. package/dts/components/spin-button/spin-button.options.d.ts.map +1 -0
  407. package/dts/components/spin-button/spin-button.styles.d.ts +8 -0
  408. package/dts/components/spin-button/spin-button.styles.d.ts.map +1 -0
  409. package/dts/components/spin-button/spin-button.template.d.ts +13 -0
  410. package/dts/components/spin-button/spin-button.template.d.ts.map +1 -0
  411. package/dts/components/spinner/define.d.ts.map +1 -0
  412. package/dts/components/spinner/index.d.ts.map +1 -0
  413. package/dts/components/spinner/spinner.d.ts.map +1 -0
  414. package/dts/components/spinner/spinner.definition.d.ts.map +1 -0
  415. package/dts/components/spinner/spinner.options.d.ts.map +1 -0
  416. package/dts/components/styles/index.d.ts.map +1 -0
  417. package/dts/components/styles/states/states.d.ts.map +1 -0
  418. package/dts/components/svg-icon/define.d.ts.map +1 -0
  419. package/dts/components/svg-icon/index.d.ts.map +1 -0
  420. package/dts/components/svg-icon/scripts/sprite-builder.d.ts.map +1 -0
  421. package/dts/components/svg-icon/scripts/svg-list.d.ts.map +1 -0
  422. package/dts/components/svg-icon/scripts/svg-sanitizer.d.ts.map +1 -0
  423. package/dts/components/svg-icon/services/svg-service.d.ts.map +1 -0
  424. package/dts/components/svg-icon/svg-icon.d.ts.map +1 -0
  425. package/dts/components/svg-icon/svg-icon.definition.d.ts.map +1 -0
  426. package/dts/components/svg-icon/svg-icon.styles.d.ts.map +1 -0
  427. package/dts/components/svg-icon/svg-icon.template.d.ts.map +1 -0
  428. package/dts/components/switch/define.d.ts.map +1 -0
  429. package/dts/components/switch/index.d.ts.map +1 -0
  430. package/dts/components/switch/switch.d.ts.map +1 -0
  431. package/dts/components/switch/switch.definition.d.ts.map +1 -0
  432. package/dts/components/switch/switch.options.d.ts.map +1 -0
  433. package/dts/components/tab/define.d.ts.map +1 -0
  434. package/dts/components/tab/index.d.ts.map +1 -0
  435. package/dts/components/tab/tab.d.ts.map +1 -0
  436. package/dts/components/tab/tab.definition.d.ts.map +1 -0
  437. package/dts/components/table/define.d.ts.map +1 -0
  438. package/dts/components/table/index.d.ts.map +1 -0
  439. package/dts/components/table/table.d.ts +249 -0
  440. package/dts/components/table/table.d.ts.map +1 -0
  441. package/dts/components/table/table.definition.d.ts +10 -0
  442. package/dts/components/table/table.definition.d.ts.map +1 -0
  443. package/dts/components/table/table.options.d.ts.map +1 -0
  444. package/dts/components/table/table.styles.d.ts.map +1 -0
  445. package/dts/components/table/table.template.d.ts.map +1 -0
  446. package/dts/components/table-cell/define.d.ts.map +1 -0
  447. package/dts/components/table-cell/index.d.ts.map +1 -0
  448. package/dts/components/table-cell/table-cell.d.ts.map +1 -0
  449. package/dts/components/table-cell/table-cell.definition.d.ts.map +1 -0
  450. package/dts/components/table-cell/table-cell.options.d.ts.map +1 -0
  451. package/dts/components/table-cell/table-cell.styles.d.ts.map +1 -0
  452. package/dts/components/table-cell/table-cell.template.d.ts.map +1 -0
  453. package/dts/components/tablist/define.d.ts.map +1 -0
  454. package/dts/components/tablist/index.d.ts.map +1 -0
  455. package/dts/components/tablist/tablist.d.ts.map +1 -0
  456. package/dts/components/tablist/tablist.definition.d.ts.map +1 -0
  457. package/dts/components/tablist/tablist.options.d.ts.map +1 -0
  458. package/dts/components/tag/define.d.ts.map +1 -0
  459. package/dts/components/tag/index.d.ts.map +1 -0
  460. package/dts/components/tag/tag.d.ts.map +1 -0
  461. package/dts/components/tag/tag.definition.d.ts +10 -0
  462. package/dts/components/tag/tag.definition.d.ts.map +1 -0
  463. package/dts/components/tag/tag.options.d.ts.map +1 -0
  464. package/dts/components/tag/tag.styles.d.ts.map +1 -0
  465. package/dts/components/tag/tag.template.d.ts.map +1 -0
  466. package/dts/components/teaching-bubble/define.d.ts.map +1 -0
  467. package/dts/components/teaching-bubble/index.d.ts.map +1 -0
  468. package/dts/components/teaching-bubble/teaching-bubble.d.ts.map +1 -0
  469. package/dts/components/teaching-bubble/teaching-bubble.definition.d.ts.map +1 -0
  470. package/dts/components/teaching-bubble/teaching-bubble.options.d.ts.map +1 -0
  471. package/dts/components/teaching-bubble/teaching-bubble.styles.d.ts.map +1 -0
  472. package/dts/components/teaching-bubble/teaching-bubble.template.d.ts.map +1 -0
  473. package/dts/components/text/define.d.ts.map +1 -0
  474. package/dts/components/text/index.d.ts.map +1 -0
  475. package/dts/components/text/text.d.ts.map +1 -0
  476. package/dts/components/text/text.definition.d.ts.map +1 -0
  477. package/dts/components/text/text.options.d.ts.map +1 -0
  478. package/dts/components/text-input/define.d.ts.map +1 -0
  479. package/dts/components/text-input/index.d.ts.map +1 -0
  480. package/dts/components/text-input/text-input.base.d.ts.map +1 -0
  481. package/dts/components/text-input/text-input.d.ts.map +1 -0
  482. package/dts/components/text-input/text-input.definition.d.ts.map +1 -0
  483. package/dts/components/text-input/text-input.options.d.ts.map +1 -0
  484. package/dts/components/text-input/text-input.styles.d.ts.map +1 -0
  485. package/dts/components/text-input/text-input.template.d.ts.map +1 -0
  486. package/dts/components/textarea/define.d.ts.map +1 -0
  487. package/dts/components/textarea/index.d.ts.map +1 -0
  488. package/dts/components/textarea/textarea.d.ts.map +1 -0
  489. package/dts/components/textarea/textarea.definition.d.ts.map +1 -0
  490. package/dts/components/textarea/textarea.options.d.ts.map +1 -0
  491. package/dts/components/toggle-button/define.d.ts.map +1 -0
  492. package/dts/components/toggle-button/index.d.ts.map +1 -0
  493. package/dts/components/toggle-button/toggle-button.d.ts.map +1 -0
  494. package/dts/components/toggle-button/toggle-button.definition.d.ts.map +1 -0
  495. package/dts/components/toggle-button/toggle-button.options.d.ts.map +1 -0
  496. package/dts/components/tooltip/define.d.ts +2 -0
  497. package/dts/components/tooltip/define.d.ts.map +1 -0
  498. package/dts/components/tooltip/index.d.ts.map +1 -0
  499. package/dts/components/tooltip/tooltip.d.ts +97 -0
  500. package/dts/components/tooltip/tooltip.d.ts.map +1 -0
  501. package/dts/components/tooltip/tooltip.definition.d.ts.map +1 -0
  502. package/dts/components/tooltip/tooltip.options.d.ts.map +1 -0
  503. package/dts/components/tooltip/tooltip.template.d.ts.map +1 -0
  504. package/dts/components/tree/define.d.ts +2 -0
  505. package/dts/components/tree/define.d.ts.map +1 -0
  506. package/dts/components/tree/index.d.ts.map +1 -0
  507. package/dts/components/tree/tree.d.ts.map +1 -0
  508. package/dts/components/tree/tree.definition.d.ts.map +1 -0
  509. package/dts/components/tree-item/define.d.ts +2 -0
  510. package/dts/components/tree-item/define.d.ts.map +1 -0
  511. package/dts/components/tree-item/index.d.ts.map +1 -0
  512. package/dts/components/tree-item/tree-item.d.ts +81 -0
  513. package/dts/components/tree-item/tree-item.d.ts.map +1 -0
  514. package/dts/components/tree-item/tree-item.definition.d.ts.map +1 -0
  515. package/dts/components/tree-item/tree-item.styles.d.ts.map +1 -0
  516. package/dts/components/tree-item/tree-item.template.d.ts.map +1 -0
  517. package/dts/components/wizard/define.d.ts +2 -0
  518. package/dts/components/wizard/define.d.ts.map +1 -0
  519. package/dts/components/wizard/index.d.ts.map +1 -0
  520. package/dts/components/wizard/wizard.d.ts.map +1 -0
  521. package/dts/components/wizard/wizard.definition.d.ts.map +1 -0
  522. package/dts/components/wizard/wizard.options.d.ts.map +1 -0
  523. package/dts/components/wizard/wizard.styles.d.ts.map +1 -0
  524. package/dts/components/wizard/wizard.template.d.ts.map +1 -0
  525. package/dts/components/wizard-panel/define.d.ts +2 -0
  526. package/dts/components/wizard-panel/define.d.ts.map +1 -0
  527. package/dts/components/wizard-panel/index.d.ts.map +1 -0
  528. package/dts/components/wizard-panel/wizard-panel.cem.d.ts.map +1 -0
  529. package/dts/components/wizard-panel/wizard-panel.d.ts.map +1 -0
  530. package/dts/components/wizard-panel/wizard-panel.definition.d.ts.map +1 -0
  531. package/dts/components/wizard-panel/wizard-panel.options.d.ts.map +1 -0
  532. package/dts/components/wizard-panel/wizard-panel.styles.d.ts.map +1 -0
  533. package/dts/components/wizard-panel/wizard-panel.template.d.ts.map +1 -0
  534. package/dts/components/wizard-step/define.d.ts +2 -0
  535. package/dts/components/wizard-step/define.d.ts.map +1 -0
  536. package/dts/components/wizard-step/index.d.ts.map +1 -0
  537. package/dts/components/wizard-step/wizard-step.d.ts.map +1 -0
  538. package/dts/components/wizard-step/wizard-step.definition.d.ts.map +1 -0
  539. package/dts/components/wizard-step/wizard-step.options.d.ts.map +1 -0
  540. package/dts/components/wizard-step/wizard-step.styles.d.ts.map +1 -0
  541. package/dts/components/wizard-step/wizard-step.template.d.ts.map +1 -0
  542. package/dts/components/wizard-step/wizard-step.unit.component.d.ts.map +1 -0
  543. package/dts/index.d.ts +131 -0
  544. package/dts/index.d.ts.map +1 -0
  545. package/dts/static/component-svgs.d.ts +7 -0
  546. package/dts/static/component-svgs.d.ts.map +1 -0
  547. package/dts/util/accessibility-utilities.d.ts.map +1 -0
  548. package/dts/util/apply-mixins.d.ts.map +1 -0
  549. package/dts/util/attribute-utilities.d.ts.map +1 -0
  550. package/dts/util/collection-event-manager.d.ts +49 -0
  551. package/dts/util/collection-event-manager.d.ts.map +1 -0
  552. package/dts/util/debounce.d.ts.map +1 -0
  553. package/dts/util/debug.d.ts.map +1 -0
  554. package/dts/util/descendants.d.ts.map +1 -0
  555. package/dts/util/direction.d.ts.map +1 -0
  556. package/dts/util/dom.d.ts.map +1 -0
  557. package/dts/util/element-definition.d.ts +53 -0
  558. package/dts/util/element-definition.d.ts.map +1 -0
  559. package/dts/util/element-internal-mocks.d.ts.map +1 -0
  560. package/dts/util/element-internals.d.ts.map +1 -0
  561. package/dts/util/focus-management.d.ts.map +1 -0
  562. package/dts/util/hash-utilities.d.ts.map +1 -0
  563. package/dts/util/icons.d.ts +21 -0
  564. package/dts/util/icons.d.ts.map +1 -0
  565. package/dts/util/index.d.ts +23 -0
  566. package/dts/util/index.d.ts.map +1 -0
  567. package/dts/util/match-media-stylesheet-behaviors.d.ts +121 -0
  568. package/dts/util/match-media-stylesheet-behaviors.d.ts.map +1 -0
  569. package/dts/util/math.d.ts +20 -0
  570. package/dts/util/math.d.ts.map +1 -0
  571. package/dts/util/platform.d.ts +14 -0
  572. package/dts/util/platform.d.ts.map +1 -0
  573. package/dts/util/positioning/flexible-position-strategy.d.ts +87 -0
  574. package/dts/util/positioning/flexible-position-strategy.d.ts.map +1 -0
  575. package/dts/util/positioning/index.d.ts.map +1 -0
  576. package/dts/util/positioning/position-calculator.d.ts.map +1 -0
  577. package/dts/util/positioning/types.d.ts.map +1 -0
  578. package/dts/util/support.d.ts.map +1 -0
  579. package/dts/util/template-helpers.d.ts.map +1 -0
  580. package/dts/util/typings.d.ts.map +1 -0
  581. package/dts/util/whitespace-filter.d.ts.map +1 -0
  582. package/esm/components/accordion/accordion.definition.js.map +1 -0
  583. package/esm/components/accordion/accordion.js.map +1 -0
  584. package/esm/components/accordion/accordion.options.js.map +1 -0
  585. package/esm/components/accordion/define.js.map +1 -0
  586. package/esm/components/accordion/index.js.map +1 -0
  587. package/esm/components/accordion-item/accordion-item.definition.js.map +1 -0
  588. package/esm/components/accordion-item/accordion-item.js.map +1 -0
  589. package/esm/components/accordion-item/accordion-item.options.js.map +1 -0
  590. package/esm/components/accordion-item/define.js.map +1 -0
  591. package/esm/components/accordion-item/index.js.map +1 -0
  592. package/esm/components/accordion-menu/accordion-menu.definition.js.map +1 -0
  593. package/esm/components/accordion-menu/accordion-menu.js.map +1 -0
  594. package/esm/components/accordion-menu/accordion-menu.options.js.map +1 -0
  595. package/esm/components/accordion-menu/accordion-menu.styles.js.map +1 -0
  596. package/esm/components/accordion-menu/accordion-menu.template.js.map +1 -0
  597. package/esm/components/accordion-menu/define.js.map +1 -0
  598. package/esm/components/accordion-menu/index.js.map +1 -0
  599. package/esm/components/accordion-menu-panel/accordion-menu-panel.definition.js.map +1 -0
  600. package/esm/components/accordion-menu-panel/accordion-menu-panel.js.map +1 -0
  601. package/esm/components/accordion-menu-panel/accordion-menu-panel.options.js.map +1 -0
  602. package/esm/components/accordion-menu-panel/accordion-menu-panel.styles.js +14 -0
  603. package/esm/components/accordion-menu-panel/accordion-menu-panel.styles.js.map +1 -0
  604. package/esm/components/accordion-menu-panel/accordion-menu-panel.template.js +13 -0
  605. package/esm/components/accordion-menu-panel/accordion-menu-panel.template.js.map +1 -0
  606. package/esm/components/accordion-menu-panel/define.js.map +1 -0
  607. package/esm/components/accordion-menu-panel/index.js.map +1 -0
  608. package/esm/components/anchor-button/anchor-button.definition.js.map +1 -0
  609. package/esm/components/anchor-button/anchor-button.js.map +1 -0
  610. package/esm/components/anchor-button/anchor-button.options.js.map +1 -0
  611. package/esm/components/anchor-button/define.js.map +1 -0
  612. package/esm/components/anchor-button/index.js.map +1 -0
  613. package/esm/components/avatar/avatar.definition.js.map +1 -0
  614. package/esm/components/avatar/avatar.js.map +1 -0
  615. package/esm/components/avatar/avatar.options.js.map +1 -0
  616. package/esm/components/avatar/define.js.map +1 -0
  617. package/esm/components/avatar/index.js.map +1 -0
  618. package/esm/components/badge/badge.definition.js.map +1 -0
  619. package/esm/components/badge/badge.js.map +1 -0
  620. package/esm/components/badge/badge.options.js.map +1 -0
  621. package/esm/components/badge/define.js.map +1 -0
  622. package/esm/components/badge/index.js.map +1 -0
  623. package/esm/components/button/button.definition.js.map +1 -0
  624. package/esm/components/button/button.js.map +1 -0
  625. package/esm/components/button/button.options.js.map +1 -0
  626. package/esm/components/button/button.styles.js +11 -0
  627. package/esm/components/button/button.styles.js.map +1 -0
  628. package/esm/components/button/define.js.map +1 -0
  629. package/esm/components/button/index.js.map +1 -0
  630. package/esm/components/card/card.definition.js.map +1 -0
  631. package/esm/components/card/card.js.map +1 -0
  632. package/esm/components/card/card.options.js.map +1 -0
  633. package/esm/components/card/card.styles.js.map +1 -0
  634. package/esm/components/card/card.template.js.map +1 -0
  635. package/esm/components/card/define.js.map +1 -0
  636. package/esm/components/card/index.js.map +1 -0
  637. package/esm/components/card-carousel/card-carousel.definition.js +21 -0
  638. package/esm/components/card-carousel/card-carousel.definition.js.map +1 -0
  639. package/esm/components/card-carousel/card-carousel.js +450 -0
  640. package/esm/components/card-carousel/card-carousel.js.map +1 -0
  641. package/esm/components/card-carousel/card-carousel.styles.js.map +1 -0
  642. package/esm/components/card-carousel/card-carousel.template.js +15 -0
  643. package/esm/components/card-carousel/card-carousel.template.js.map +1 -0
  644. package/esm/components/card-carousel/define.js +4 -0
  645. package/esm/components/card-carousel/define.js.map +1 -0
  646. package/esm/components/card-carousel/index.js +5 -0
  647. package/esm/components/card-carousel/index.js.map +1 -0
  648. package/esm/components/card-footer/card-footer.definition.js.map +1 -0
  649. package/esm/components/card-footer/card-footer.js.map +1 -0
  650. package/esm/components/card-footer/card-footer.styles.js.map +1 -0
  651. package/esm/components/card-footer/card-footer.template.js.map +1 -0
  652. package/esm/components/card-footer/define.js.map +1 -0
  653. package/esm/components/card-footer/index.js.map +1 -0
  654. package/esm/components/card-header/card-header.definition.js.map +1 -0
  655. package/esm/components/card-header/card-header.js.map +1 -0
  656. package/esm/components/card-header/card-header.styles.js.map +1 -0
  657. package/esm/components/card-header/card-header.template.js.map +1 -0
  658. package/esm/components/card-header/define.js.map +1 -0
  659. package/esm/components/card-header/index.js.map +1 -0
  660. package/esm/components/card-preview/card-preview.definition.js.map +1 -0
  661. package/esm/components/card-preview/card-preview.js.map +1 -0
  662. package/esm/components/card-preview/card-preview.styles.js.map +1 -0
  663. package/esm/components/card-preview/card-preview.template.js.map +1 -0
  664. package/esm/components/card-preview/define.js.map +1 -0
  665. package/esm/components/card-preview/index.js.map +1 -0
  666. package/esm/components/carousel/carousel.definition.js +21 -0
  667. package/esm/components/carousel/carousel.definition.js.map +1 -0
  668. package/esm/components/carousel/carousel.events.js +9 -0
  669. package/esm/components/carousel/carousel.events.js.map +1 -0
  670. package/esm/components/carousel/carousel.js +246 -0
  671. package/esm/components/carousel/carousel.js.map +1 -0
  672. package/esm/components/carousel/carousel.options.js +10 -0
  673. package/esm/components/carousel/carousel.options.js.map +1 -0
  674. package/esm/components/carousel/carousel.styles.js +11 -0
  675. package/esm/components/carousel/carousel.styles.js.map +1 -0
  676. package/esm/components/carousel/carousel.template.js +17 -0
  677. package/esm/components/carousel/carousel.template.js.map +1 -0
  678. package/esm/components/carousel/define.js +27 -0
  679. package/esm/components/carousel/define.js.map +1 -0
  680. package/esm/components/carousel/index.js +8 -0
  681. package/esm/components/carousel/index.js.map +1 -0
  682. package/esm/components/carousel-item/carousel-item.definition.js +21 -0
  683. package/esm/components/carousel-item/carousel-item.definition.js.map +1 -0
  684. package/esm/components/carousel-item/carousel-item.js +51 -0
  685. package/esm/components/carousel-item/carousel-item.js.map +1 -0
  686. package/esm/components/carousel-item/carousel-item.styles.js +10 -0
  687. package/esm/components/carousel-item/carousel-item.styles.js.map +1 -0
  688. package/esm/components/carousel-item/carousel-item.template.js +13 -0
  689. package/esm/components/carousel-item/carousel-item.template.js.map +1 -0
  690. package/esm/components/carousel-item/define.js +4 -0
  691. package/esm/components/carousel-item/define.js.map +1 -0
  692. package/esm/components/carousel-item/index.js +5 -0
  693. package/esm/components/carousel-item/index.js.map +1 -0
  694. package/esm/components/carousel-nav/carousel-nav.definition.js +21 -0
  695. package/esm/components/carousel-nav/carousel-nav.definition.js.map +1 -0
  696. package/esm/components/carousel-nav/carousel-nav.events.js +11 -0
  697. package/esm/components/carousel-nav/carousel-nav.events.js.map +1 -0
  698. package/esm/components/carousel-nav/carousel-nav.js +197 -0
  699. package/esm/components/carousel-nav/carousel-nav.js.map +1 -0
  700. package/esm/components/carousel-nav/carousel-nav.options.js +11 -0
  701. package/esm/components/carousel-nav/carousel-nav.options.js.map +1 -0
  702. package/esm/components/carousel-nav/carousel-nav.styles.js +18 -0
  703. package/esm/components/carousel-nav/carousel-nav.styles.js.map +1 -0
  704. package/esm/components/carousel-nav/carousel-nav.template.js +16 -0
  705. package/esm/components/carousel-nav/carousel-nav.template.js.map +1 -0
  706. package/esm/components/carousel-nav/define.js +5 -0
  707. package/esm/components/carousel-nav/define.js.map +1 -0
  708. package/esm/components/carousel-nav/index.js +7 -0
  709. package/esm/components/carousel-nav/index.js.map +1 -0
  710. package/esm/components/carousel-nav-item/carousel-nav-item.definition.js +21 -0
  711. package/esm/components/carousel-nav-item/carousel-nav-item.definition.js.map +1 -0
  712. package/esm/components/carousel-nav-item/carousel-nav-item.js +48 -0
  713. package/esm/components/carousel-nav-item/carousel-nav-item.js.map +1 -0
  714. package/esm/components/carousel-nav-item/carousel-nav-item.styles.js +18 -0
  715. package/esm/components/carousel-nav-item/carousel-nav-item.styles.js.map +1 -0
  716. package/esm/components/carousel-nav-item/carousel-nav-item.template.js +13 -0
  717. package/esm/components/carousel-nav-item/carousel-nav-item.template.js.map +1 -0
  718. package/esm/components/carousel-nav-item/define.js +4 -0
  719. package/esm/components/carousel-nav-item/define.js.map +1 -0
  720. package/esm/components/carousel-nav-item/index.js +5 -0
  721. package/esm/components/carousel-nav-item/index.js.map +1 -0
  722. package/esm/components/checkbox/checkbox.definition.js.map +1 -0
  723. package/esm/components/checkbox/checkbox.js.map +1 -0
  724. package/esm/components/checkbox/checkbox.options.js.map +1 -0
  725. package/esm/components/checkbox/define.js.map +1 -0
  726. package/esm/components/checkbox/index.js.map +1 -0
  727. package/esm/components/compound-button/compound-button.definition.js.map +1 -0
  728. package/esm/components/compound-button/compound-button.js.map +1 -0
  729. package/esm/components/compound-button/compound-button.options.js.map +1 -0
  730. package/esm/components/compound-button/compound-button.styles.js.map +1 -0
  731. package/esm/components/compound-button/define.js.map +1 -0
  732. package/esm/components/compound-button/index.js.map +1 -0
  733. package/esm/components/counter-badge/counter-badge.definition.js.map +1 -0
  734. package/esm/components/counter-badge/counter-badge.js.map +1 -0
  735. package/esm/components/counter-badge/counter-badge.options.js.map +1 -0
  736. package/esm/components/counter-badge/define.js.map +1 -0
  737. package/esm/components/counter-badge/index.js.map +1 -0
  738. package/esm/components/design-system.js.map +1 -0
  739. package/esm/components/dialog/define.js.map +1 -0
  740. package/esm/components/dialog/dialog.definition.js.map +1 -0
  741. package/esm/components/dialog/dialog.js.map +1 -0
  742. package/esm/components/dialog/dialog.options.js.map +1 -0
  743. package/esm/components/dialog/dialog.styles.js.map +1 -0
  744. package/esm/components/dialog/index.js.map +1 -0
  745. package/esm/components/dialog-body/define.js.map +1 -0
  746. package/esm/components/dialog-body/dialog-body.definition.js.map +1 -0
  747. package/esm/components/dialog-body/dialog-body.js.map +1 -0
  748. package/esm/components/dialog-body/index.js.map +1 -0
  749. package/esm/components/divider/define.js.map +1 -0
  750. package/esm/components/divider/divider.definition.js.map +1 -0
  751. package/esm/components/divider/divider.js.map +1 -0
  752. package/esm/components/divider/divider.options.js.map +1 -0
  753. package/esm/components/divider/divider.styles.js.map +1 -0
  754. package/esm/components/divider/divider.template.js.map +1 -0
  755. package/esm/components/divider/index.js.map +1 -0
  756. package/esm/components/drawer/define.js.map +1 -0
  757. package/esm/components/drawer/drawer.definition.js.map +1 -0
  758. package/esm/components/drawer/drawer.js.map +1 -0
  759. package/esm/components/drawer/drawer.options.js.map +1 -0
  760. package/esm/components/drawer/index.js.map +1 -0
  761. package/esm/components/drawer-body/define.js.map +1 -0
  762. package/esm/components/drawer-body/drawer-body.definition.js.map +1 -0
  763. package/esm/components/drawer-body/drawer-body.js.map +1 -0
  764. package/esm/components/drawer-body/index.js.map +1 -0
  765. package/esm/components/dropdown/define.js.map +1 -0
  766. package/esm/components/dropdown/dropdown.definition.js.map +1 -0
  767. package/esm/components/dropdown/dropdown.js +164 -0
  768. package/esm/components/dropdown/dropdown.js.map +1 -0
  769. package/esm/components/dropdown/dropdown.options.js.map +1 -0
  770. package/esm/components/dropdown/dropdown.styles.js +10 -0
  771. package/esm/components/dropdown/dropdown.styles.js.map +1 -0
  772. package/esm/components/dropdown/index.js.map +1 -0
  773. package/esm/components/field/define.js.map +1 -0
  774. package/esm/components/field/field.definition.js.map +1 -0
  775. package/esm/components/field/field.js.map +1 -0
  776. package/esm/components/field/field.options.js.map +1 -0
  777. package/esm/components/field/field.styles.js.map +1 -0
  778. package/esm/components/field/index.js.map +1 -0
  779. package/esm/components/filter-pill/define.js.map +1 -0
  780. package/esm/components/filter-pill/filter-pill.definition.js.map +1 -0
  781. package/esm/components/filter-pill/filter-pill.js.map +1 -0
  782. package/esm/components/filter-pill/filter-pill.options.js.map +1 -0
  783. package/esm/components/filter-pill/filter-pill.styles.js +54 -0
  784. package/esm/components/filter-pill/filter-pill.styles.js.map +1 -0
  785. package/esm/components/filter-pill/filter-pill.template.js.map +1 -0
  786. package/esm/components/filter-pill/index.js.map +1 -0
  787. package/esm/components/image/define.js.map +1 -0
  788. package/esm/components/image/image.definition.js.map +1 -0
  789. package/esm/components/image/image.js.map +1 -0
  790. package/esm/components/image/image.options.js.map +1 -0
  791. package/esm/components/image/index.js.map +1 -0
  792. package/esm/components/label/define.js.map +1 -0
  793. package/esm/components/label/index.js.map +1 -0
  794. package/esm/components/label/label.definition.js.map +1 -0
  795. package/esm/components/label/label.js.map +1 -0
  796. package/esm/components/label/label.options.js.map +1 -0
  797. package/esm/components/link/define.js.map +1 -0
  798. package/esm/components/link/index.js +5 -0
  799. package/esm/components/link/index.js.map +1 -0
  800. package/esm/components/link/link.definition.js +20 -0
  801. package/esm/components/link/link.definition.js.map +1 -0
  802. package/esm/components/link/link.js +80 -0
  803. package/esm/components/link/link.js.map +1 -0
  804. package/esm/components/link/link.options.js.map +1 -0
  805. package/esm/components/link/link.template.js +18 -0
  806. package/esm/components/link/link.template.js.map +1 -0
  807. package/esm/components/listbox/define.js.map +1 -0
  808. package/esm/components/listbox/index.js.map +1 -0
  809. package/esm/components/listbox/listbox.definition.js.map +1 -0
  810. package/esm/components/listbox/listbox.js +213 -0
  811. package/esm/components/listbox/listbox.js.map +1 -0
  812. package/esm/components/listbox/listbox.styles.js.map +1 -0
  813. package/esm/components/loading-button/define.js +4 -0
  814. package/esm/components/loading-button/define.js.map +1 -0
  815. package/esm/components/loading-button/index.js.map +1 -0
  816. package/esm/components/loading-button/loading-button.definition.js +27 -0
  817. package/esm/components/loading-button/loading-button.definition.js.map +1 -0
  818. package/esm/components/loading-button/loading-button.js +68 -0
  819. package/esm/components/loading-button/loading-button.js.map +1 -0
  820. package/esm/components/loading-button/loading-button.styles.js.map +1 -0
  821. package/esm/components/loading-button/loading-button.template.js.map +1 -0
  822. package/esm/components/menu/define.js.map +1 -0
  823. package/esm/components/menu/index.js.map +1 -0
  824. package/esm/components/menu/menu.definition.js.map +1 -0
  825. package/esm/components/menu/menu.js +698 -0
  826. package/esm/components/menu/menu.js.map +1 -0
  827. package/esm/components/menu/menu.options.js.map +1 -0
  828. package/esm/components/menu/menu.positioning.js +118 -0
  829. package/esm/components/menu/menu.positioning.js.map +1 -0
  830. package/esm/components/menu/menu.styles.js +14 -0
  831. package/esm/components/menu/menu.styles.js.map +1 -0
  832. package/esm/components/menu/menu.template.js.map +1 -0
  833. package/esm/components/menu-button/define.js.map +1 -0
  834. package/esm/components/menu-button/index.js.map +1 -0
  835. package/esm/components/menu-button/menu-button.definition.js.map +1 -0
  836. package/esm/components/menu-button/menu-button.js.map +1 -0
  837. package/esm/components/menu-button/menu-button.options.js.map +1 -0
  838. package/esm/components/menu-item/define.js.map +1 -0
  839. package/esm/components/menu-item/index.js +6 -0
  840. package/esm/components/menu-item/index.js.map +1 -0
  841. package/esm/components/menu-item/menu-item.definition.js.map +1 -0
  842. package/esm/components/menu-item/menu-item.js +406 -0
  843. package/esm/components/menu-item/menu-item.js.map +1 -0
  844. package/esm/components/menu-item/menu-item.options.js +58 -0
  845. package/esm/components/menu-item/menu-item.options.js.map +1 -0
  846. package/esm/components/menu-item/menu-item.styles.js +17 -0
  847. package/esm/components/menu-item/menu-item.styles.js.map +1 -0
  848. package/esm/components/menu-item/menu-item.template.js.map +1 -0
  849. package/esm/components/menu-list/define.js.map +1 -0
  850. package/esm/components/menu-list/index.js.map +1 -0
  851. package/esm/components/menu-list/menu-list.definition.js.map +1 -0
  852. package/esm/components/menu-list/menu-list.js.map +1 -0
  853. package/esm/components/menu-list/menu-list.styles.js.map +1 -0
  854. package/esm/components/menu-list/menu-list.template.js.map +1 -0
  855. package/esm/components/message-bar/define.js.map +1 -0
  856. package/esm/components/message-bar/index.js.map +1 -0
  857. package/esm/components/message-bar/message-bar.definition.js.map +1 -0
  858. package/esm/components/message-bar/message-bar.js.map +1 -0
  859. package/esm/components/multi-view/define.js.map +1 -0
  860. package/esm/components/multi-view/index.js.map +1 -0
  861. package/esm/components/multi-view/multi-view.definition.js.map +1 -0
  862. package/esm/components/multi-view/multi-view.js.map +1 -0
  863. package/esm/components/multi-view/multi-view.options.js.map +1 -0
  864. package/esm/components/multi-view/multi-view.styles.js +13 -0
  865. package/esm/components/multi-view/multi-view.styles.js.map +1 -0
  866. package/esm/components/multi-view/multi-view.template.js.map +1 -0
  867. package/esm/components/multi-view-controller/define.js.map +1 -0
  868. package/esm/components/multi-view-controller/index.js.map +1 -0
  869. package/esm/components/multi-view-controller/multi-view-controller.definition.js.map +1 -0
  870. package/esm/components/multi-view-controller/multi-view-controller.js.map +1 -0
  871. package/esm/components/multi-view-controller/multi-view-controller.styles.js +10 -0
  872. package/esm/components/multi-view-controller/multi-view-controller.styles.js.map +1 -0
  873. package/esm/components/multi-view-controller/multi-view-controller.template.js.map +1 -0
  874. package/esm/components/multi-view-group/define.js.map +1 -0
  875. package/esm/components/multi-view-group/index.js.map +1 -0
  876. package/esm/components/multi-view-group/multi-view-group.definition.js.map +1 -0
  877. package/esm/components/multi-view-group/multi-view-group.js +690 -0
  878. package/esm/components/multi-view-group/multi-view-group.js.map +1 -0
  879. package/esm/components/multi-view-group/multi-view-group.options.js.map +1 -0
  880. package/esm/components/multi-view-group/multi-view-group.styles.js +12 -0
  881. package/esm/components/multi-view-group/multi-view-group.styles.js.map +1 -0
  882. package/esm/components/multi-view-group/multi-view-group.template.js.map +1 -0
  883. package/esm/components/option/define.js.map +1 -0
  884. package/esm/components/option/index.js.map +1 -0
  885. package/esm/components/option/option.definition.js.map +1 -0
  886. package/esm/components/option/option.js.map +1 -0
  887. package/esm/components/option-group/define.js.map +1 -0
  888. package/esm/components/option-group/index.js.map +1 -0
  889. package/esm/components/option-group/option-group.definition.js.map +1 -0
  890. package/esm/components/option-group/option-group.js.map +1 -0
  891. package/esm/components/option-group/option-group.options.js.map +1 -0
  892. package/esm/components/option-group/option-group.styles.js.map +1 -0
  893. package/esm/components/option-group/option-group.template.js.map +1 -0
  894. package/esm/components/overflow/define.js +4 -0
  895. package/esm/components/overflow/define.js.map +1 -0
  896. package/esm/components/overflow/index.js +6 -0
  897. package/esm/components/overflow/index.js.map +1 -0
  898. package/esm/components/overflow/overflow.definition.js +21 -0
  899. package/esm/components/overflow/overflow.definition.js.map +1 -0
  900. package/esm/components/overflow/overflow.events.js +6 -0
  901. package/esm/components/overflow/overflow.events.js.map +1 -0
  902. package/esm/components/overflow/overflow.js +393 -0
  903. package/esm/components/overflow/overflow.js.map +1 -0
  904. package/esm/components/overflow/overflow.options.js +12 -0
  905. package/esm/components/overflow/overflow.options.js.map +1 -0
  906. package/esm/components/overflow/overflow.styles.js +13 -0
  907. package/esm/components/overflow/overflow.styles.js.map +1 -0
  908. package/esm/components/overflow/overflow.template.js +9 -0
  909. package/esm/components/overflow/overflow.template.js.map +1 -0
  910. package/esm/components/overflow-divider/define.js +4 -0
  911. package/esm/components/overflow-divider/define.js.map +1 -0
  912. package/esm/components/overflow-divider/index.js +4 -0
  913. package/esm/components/overflow-divider/index.js.map +1 -0
  914. package/esm/components/overflow-divider/overflow-divider.definition.js +21 -0
  915. package/esm/components/overflow-divider/overflow-divider.definition.js.map +1 -0
  916. package/esm/components/overflow-divider/overflow-divider.js +38 -0
  917. package/esm/components/overflow-divider/overflow-divider.js.map +1 -0
  918. package/esm/components/overflow-divider/overflow-divider.styles.js +14 -0
  919. package/esm/components/overflow-divider/overflow-divider.styles.js.map +1 -0
  920. package/esm/components/overflow-divider/overflow-divider.template.js +9 -0
  921. package/esm/components/overflow-divider/overflow-divider.template.js.map +1 -0
  922. package/esm/components/overflow-item/define.js +4 -0
  923. package/esm/components/overflow-item/define.js.map +1 -0
  924. package/esm/components/overflow-item/index.js +4 -0
  925. package/esm/components/overflow-item/index.js.map +1 -0
  926. package/esm/components/overflow-item/overflow-item.definition.js +21 -0
  927. package/esm/components/overflow-item/overflow-item.definition.js.map +1 -0
  928. package/esm/components/overflow-item/overflow-item.js +77 -0
  929. package/esm/components/overflow-item/overflow-item.js.map +1 -0
  930. package/esm/components/overflow-item/overflow-item.styles.js +13 -0
  931. package/esm/components/overflow-item/overflow-item.styles.js.map +1 -0
  932. package/esm/components/overflow-item/overflow-item.template.js +9 -0
  933. package/esm/components/overflow-item/overflow-item.template.js.map +1 -0
  934. package/esm/components/pagination/define.js +29 -0
  935. package/esm/components/pagination/define.js.map +1 -0
  936. package/esm/components/pagination/index.js +9 -0
  937. package/esm/components/pagination/index.js.map +1 -0
  938. package/esm/components/pagination/pagination.definition.js +18 -0
  939. package/esm/components/pagination/pagination.definition.js.map +1 -0
  940. package/esm/components/pagination/pagination.events.js +11 -0
  941. package/esm/components/pagination/pagination.events.js.map +1 -0
  942. package/esm/components/pagination/pagination.js +416 -0
  943. package/esm/components/pagination/pagination.js.map +1 -0
  944. package/esm/components/pagination/pagination.options.js +26 -0
  945. package/esm/components/pagination/pagination.options.js.map +1 -0
  946. package/esm/components/pagination/pagination.styles.js +12 -0
  947. package/esm/components/pagination/pagination.styles.js.map +1 -0
  948. package/esm/components/pagination/pagination.template.js +22 -0
  949. package/esm/components/pagination/pagination.template.js.map +1 -0
  950. package/esm/components/patterns/aria-globals.js.map +1 -0
  951. package/esm/components/popover/define.js.map +1 -0
  952. package/esm/components/popover/index.js.map +1 -0
  953. package/esm/components/popover/popover.definition.js.map +1 -0
  954. package/esm/components/popover/popover.js.map +1 -0
  955. package/esm/components/popover/popover.options.js.map +1 -0
  956. package/esm/components/popover/popover.positioning.js.map +1 -0
  957. package/esm/components/popover/popover.styles.js.map +1 -0
  958. package/esm/components/popover/popover.template.js.map +1 -0
  959. package/esm/components/progress-bar/define.js.map +1 -0
  960. package/esm/components/progress-bar/index.js.map +1 -0
  961. package/esm/components/progress-bar/progress-bar.definition.js.map +1 -0
  962. package/esm/components/progress-bar/progress-bar.js.map +1 -0
  963. package/esm/components/progress-bar/progress-bar.options.js.map +1 -0
  964. package/esm/components/radio/define.js.map +1 -0
  965. package/esm/components/radio/index.js.map +1 -0
  966. package/esm/components/radio/radio.definition.js.map +1 -0
  967. package/esm/components/radio/radio.js.map +1 -0
  968. package/esm/components/radio-group/define.js.map +1 -0
  969. package/esm/components/radio-group/index.js.map +1 -0
  970. package/esm/components/radio-group/radio-group.definition.js.map +1 -0
  971. package/esm/components/radio-group/radio-group.js.map +1 -0
  972. package/esm/components/radio-group/radio-group.options.js.map +1 -0
  973. package/esm/components/rating-display/define.js.map +1 -0
  974. package/esm/components/rating-display/index.js.map +1 -0
  975. package/esm/components/rating-display/rating-display.definition.js.map +1 -0
  976. package/esm/components/rating-display/rating-display.js.map +1 -0
  977. package/esm/components/rating-display/rating-display.options.js.map +1 -0
  978. package/esm/components/search-box/define.js.map +1 -0
  979. package/esm/components/search-box/index.js.map +1 -0
  980. package/esm/components/search-box/search-box.definition.js +27 -0
  981. package/esm/components/search-box/search-box.definition.js.map +1 -0
  982. package/esm/components/search-box/search-box.js +176 -0
  983. package/esm/components/search-box/search-box.js.map +1 -0
  984. package/esm/components/search-box/search-box.options.js.map +1 -0
  985. package/esm/components/search-box/search-box.styles.js +11 -0
  986. package/esm/components/search-box/search-box.styles.js.map +1 -0
  987. package/esm/components/search-box/search-box.template.js +18 -0
  988. package/esm/components/search-box/search-box.template.js.map +1 -0
  989. package/esm/components/simple-table/define.js.map +1 -0
  990. package/esm/components/simple-table/index.js.map +1 -0
  991. package/esm/components/simple-table/simple-table.definition.js.map +1 -0
  992. package/esm/components/simple-table/simple-table.js.map +1 -0
  993. package/esm/components/simple-table/simple-table.styles.js +14 -0
  994. package/esm/components/simple-table/simple-table.styles.js.map +1 -0
  995. package/esm/components/slider/define.js.map +1 -0
  996. package/esm/components/slider/index.js.map +1 -0
  997. package/esm/components/slider/slider.definition.js.map +1 -0
  998. package/esm/components/slider/slider.js.map +1 -0
  999. package/esm/components/slider/slider.options.js.map +1 -0
  1000. package/esm/components/spin-button/define.js +4 -0
  1001. package/esm/components/spin-button/define.js.map +1 -0
  1002. package/esm/components/spin-button/index.js +8 -0
  1003. package/esm/components/spin-button/index.js.map +1 -0
  1004. package/esm/components/spin-button/spin-button.definition.js +22 -0
  1005. package/esm/components/spin-button/spin-button.definition.js.map +1 -0
  1006. package/esm/components/spin-button/spin-button.events.js +11 -0
  1007. package/esm/components/spin-button/spin-button.events.js.map +1 -0
  1008. package/esm/components/spin-button/spin-button.js +608 -0
  1009. package/esm/components/spin-button/spin-button.js.map +1 -0
  1010. package/esm/components/spin-button/spin-button.options.js +45 -0
  1011. package/esm/components/spin-button/spin-button.options.js.map +1 -0
  1012. package/esm/components/spin-button/spin-button.styles.js +15 -0
  1013. package/esm/components/spin-button/spin-button.styles.js.map +1 -0
  1014. package/esm/components/spin-button/spin-button.template.js +30 -0
  1015. package/esm/components/spin-button/spin-button.template.js.map +1 -0
  1016. package/esm/components/spinner/define.js.map +1 -0
  1017. package/esm/components/spinner/index.js.map +1 -0
  1018. package/esm/components/spinner/spinner.definition.js.map +1 -0
  1019. package/esm/components/spinner/spinner.js.map +1 -0
  1020. package/esm/components/spinner/spinner.options.js.map +1 -0
  1021. package/esm/components/styles/index.js.map +1 -0
  1022. package/esm/components/styles/states/states.js +638 -0
  1023. package/esm/components/styles/states/states.js.map +1 -0
  1024. package/esm/components/svg-icon/define.js.map +1 -0
  1025. package/esm/components/svg-icon/index.js.map +1 -0
  1026. package/esm/components/svg-icon/scripts/sprite-builder.js.map +1 -0
  1027. package/esm/components/svg-icon/scripts/svg-list.js.map +1 -0
  1028. package/esm/components/svg-icon/scripts/svg-sanitizer.js.map +1 -0
  1029. package/esm/components/svg-icon/services/svg-service.js.map +1 -0
  1030. package/esm/components/svg-icon/svg-icon.definition.js.map +1 -0
  1031. package/esm/components/svg-icon/svg-icon.js.map +1 -0
  1032. package/esm/components/svg-icon/svg-icon.styles.js.map +1 -0
  1033. package/esm/components/svg-icon/svg-icon.template.js.map +1 -0
  1034. package/esm/components/switch/define.js.map +1 -0
  1035. package/esm/components/switch/index.js.map +1 -0
  1036. package/esm/components/switch/switch.definition.js.map +1 -0
  1037. package/esm/components/switch/switch.js.map +1 -0
  1038. package/esm/components/switch/switch.options.js.map +1 -0
  1039. package/esm/components/tab/define.js.map +1 -0
  1040. package/esm/components/tab/index.js.map +1 -0
  1041. package/esm/components/tab/tab.definition.js.map +1 -0
  1042. package/esm/components/tab/tab.js.map +1 -0
  1043. package/esm/components/table/define.js.map +1 -0
  1044. package/esm/components/table/index.js.map +1 -0
  1045. package/esm/components/table/table.definition.js +27 -0
  1046. package/esm/components/table/table.definition.js.map +1 -0
  1047. package/esm/components/table/table.js +487 -0
  1048. package/esm/components/table/table.js.map +1 -0
  1049. package/esm/components/table/table.options.js.map +1 -0
  1050. package/esm/components/table/table.styles.js.map +1 -0
  1051. package/esm/components/table/table.template.js.map +1 -0
  1052. package/esm/components/table-cell/define.js.map +1 -0
  1053. package/esm/components/table-cell/index.js.map +1 -0
  1054. package/esm/components/table-cell/table-cell.definition.js.map +1 -0
  1055. package/esm/components/table-cell/table-cell.js.map +1 -0
  1056. package/esm/components/table-cell/table-cell.options.js.map +1 -0
  1057. package/esm/components/table-cell/table-cell.styles.js.map +1 -0
  1058. package/esm/components/table-cell/table-cell.template.js.map +1 -0
  1059. package/esm/components/tablist/define.js.map +1 -0
  1060. package/esm/components/tablist/index.js.map +1 -0
  1061. package/esm/components/tablist/tablist.definition.js.map +1 -0
  1062. package/esm/components/tablist/tablist.js.map +1 -0
  1063. package/esm/components/tablist/tablist.options.js.map +1 -0
  1064. package/esm/components/tag/define.js.map +1 -0
  1065. package/esm/components/tag/index.js.map +1 -0
  1066. package/esm/components/tag/tag.definition.js +27 -0
  1067. package/esm/components/tag/tag.definition.js.map +1 -0
  1068. package/esm/components/tag/tag.js +318 -0
  1069. package/esm/components/tag/tag.js.map +1 -0
  1070. package/esm/components/tag/tag.options.js.map +1 -0
  1071. package/esm/components/tag/tag.styles.js.map +1 -0
  1072. package/esm/components/tag/tag.template.js.map +1 -0
  1073. package/esm/components/teaching-bubble/define.js.map +1 -0
  1074. package/esm/components/teaching-bubble/index.js.map +1 -0
  1075. package/esm/components/teaching-bubble/teaching-bubble.definition.js.map +1 -0
  1076. package/esm/components/teaching-bubble/teaching-bubble.js.map +1 -0
  1077. package/esm/components/teaching-bubble/teaching-bubble.options.js.map +1 -0
  1078. package/esm/components/teaching-bubble/teaching-bubble.styles.js.map +1 -0
  1079. package/esm/components/teaching-bubble/teaching-bubble.template.js.map +1 -0
  1080. package/esm/components/text/define.js.map +1 -0
  1081. package/esm/components/text/index.js.map +1 -0
  1082. package/esm/components/text/text.definition.js.map +1 -0
  1083. package/esm/components/text/text.js.map +1 -0
  1084. package/esm/components/text/text.options.js.map +1 -0
  1085. package/esm/components/text-input/define.js.map +1 -0
  1086. package/esm/components/text-input/index.js.map +1 -0
  1087. package/esm/components/text-input/text-input.base.js.map +1 -0
  1088. package/esm/components/text-input/text-input.definition.js.map +1 -0
  1089. package/esm/components/text-input/text-input.js.map +1 -0
  1090. package/esm/components/text-input/text-input.options.js.map +1 -0
  1091. package/esm/components/text-input/text-input.styles.js +15 -0
  1092. package/esm/components/text-input/text-input.styles.js.map +1 -0
  1093. package/esm/components/text-input/text-input.template.js.map +1 -0
  1094. package/esm/components/textarea/define.js.map +1 -0
  1095. package/esm/components/textarea/index.js.map +1 -0
  1096. package/esm/components/textarea/textarea.definition.js.map +1 -0
  1097. package/esm/components/textarea/textarea.js.map +1 -0
  1098. package/esm/components/textarea/textarea.options.js.map +1 -0
  1099. package/esm/components/toggle-button/define.js.map +1 -0
  1100. package/esm/components/toggle-button/index.js.map +1 -0
  1101. package/esm/components/toggle-button/toggle-button.definition.js.map +1 -0
  1102. package/esm/components/toggle-button/toggle-button.js.map +1 -0
  1103. package/esm/components/toggle-button/toggle-button.options.js.map +1 -0
  1104. package/esm/components/tooltip/define.js.map +1 -0
  1105. package/esm/components/tooltip/index.js.map +1 -0
  1106. package/esm/components/tooltip/tooltip.definition.js.map +1 -0
  1107. package/esm/components/tooltip/tooltip.js +232 -0
  1108. package/esm/components/tooltip/tooltip.js.map +1 -0
  1109. package/esm/components/tooltip/tooltip.options.js.map +1 -0
  1110. package/esm/components/tooltip/tooltip.template.js.map +1 -0
  1111. package/esm/components/tree/define.js.map +1 -0
  1112. package/esm/components/tree/index.js.map +1 -0
  1113. package/esm/components/tree/tree.definition.js.map +1 -0
  1114. package/esm/components/tree/tree.js +87 -0
  1115. package/esm/components/tree/tree.js.map +1 -0
  1116. package/esm/components/tree-item/define.js.map +1 -0
  1117. package/esm/components/tree-item/index.js.map +1 -0
  1118. package/esm/components/tree-item/tree-item.definition.js.map +1 -0
  1119. package/esm/components/tree-item/tree-item.js +151 -0
  1120. package/esm/components/tree-item/tree-item.js.map +1 -0
  1121. package/esm/components/tree-item/tree-item.styles.js.map +1 -0
  1122. package/esm/components/tree-item/tree-item.template.js +6 -0
  1123. package/esm/components/tree-item/tree-item.template.js.map +1 -0
  1124. package/esm/components/wizard/define.js.map +1 -0
  1125. package/esm/components/wizard/index.js.map +1 -0
  1126. package/esm/components/wizard/wizard.definition.js.map +1 -0
  1127. package/esm/components/wizard/wizard.js.map +1 -0
  1128. package/esm/components/wizard/wizard.options.js.map +1 -0
  1129. package/esm/components/wizard/wizard.styles.js.map +1 -0
  1130. package/esm/components/wizard/wizard.template.js.map +1 -0
  1131. package/esm/components/wizard-panel/define.js.map +1 -0
  1132. package/esm/components/wizard-panel/index.js.map +1 -0
  1133. package/esm/components/wizard-panel/wizard-panel.cem.js.map +1 -0
  1134. package/esm/components/wizard-panel/wizard-panel.definition.js.map +1 -0
  1135. package/esm/components/wizard-panel/wizard-panel.js.map +1 -0
  1136. package/esm/components/wizard-panel/wizard-panel.options.js.map +1 -0
  1137. package/esm/components/wizard-panel/wizard-panel.styles.js.map +1 -0
  1138. package/esm/components/wizard-panel/wizard-panel.template.js.map +1 -0
  1139. package/esm/components/wizard-step/define.js.map +1 -0
  1140. package/esm/components/wizard-step/index.js.map +1 -0
  1141. package/esm/components/wizard-step/wizard-step.definition.js.map +1 -0
  1142. package/esm/components/wizard-step/wizard-step.js.map +1 -0
  1143. package/esm/components/wizard-step/wizard-step.options.js.map +1 -0
  1144. package/esm/components/wizard-step/wizard-step.styles.js.map +1 -0
  1145. package/esm/components/wizard-step/wizard-step.template.js.map +1 -0
  1146. package/esm/components/wizard-step/wizard-step.unit.component.js.map +1 -0
  1147. package/esm/index.js +282 -0
  1148. package/esm/index.js.map +1 -0
  1149. package/esm/static/component-svgs.js +10 -0
  1150. package/esm/static/component-svgs.js.map +1 -0
  1151. package/esm/util/accessibility-utilities.js.map +1 -0
  1152. package/esm/util/apply-mixins.js.map +1 -0
  1153. package/esm/util/attribute-utilities.js.map +1 -0
  1154. package/esm/util/collection-event-manager.js +79 -0
  1155. package/esm/util/collection-event-manager.js.map +1 -0
  1156. package/esm/util/debounce.js.map +1 -0
  1157. package/esm/util/debug.js.map +1 -0
  1158. package/esm/util/descendants.js.map +1 -0
  1159. package/esm/util/direction.js.map +1 -0
  1160. package/esm/util/dom.js.map +1 -0
  1161. package/esm/util/element-definition.js +63 -0
  1162. package/esm/util/element-definition.js.map +1 -0
  1163. package/esm/util/element-internal-mocks.js.map +1 -0
  1164. package/esm/util/element-internals.js.map +1 -0
  1165. package/esm/util/focus-management.js.map +1 -0
  1166. package/esm/util/hash-utilities.js.map +1 -0
  1167. package/esm/util/icons.js +50 -0
  1168. package/esm/util/icons.js.map +1 -0
  1169. package/esm/util/index.js +23 -0
  1170. package/esm/util/index.js.map +1 -0
  1171. package/esm/util/match-media-stylesheet-behaviors.js.map +1 -0
  1172. package/esm/util/math.js +34 -0
  1173. package/esm/util/math.js.map +1 -0
  1174. package/esm/util/platform.js +22 -0
  1175. package/esm/util/platform.js.map +1 -0
  1176. package/esm/util/positioning/flexible-position-strategy.js +232 -0
  1177. package/esm/util/positioning/flexible-position-strategy.js.map +1 -0
  1178. package/esm/util/positioning/index.js.map +1 -0
  1179. package/esm/util/positioning/position-calculator.js.map +1 -0
  1180. package/esm/util/positioning/types.js.map +1 -0
  1181. package/esm/util/support.js.map +1 -0
  1182. package/esm/util/template-helpers.js.map +1 -0
  1183. package/esm/util/typings.js.map +1 -0
  1184. package/esm/util/whitespace-filter.js.map +1 -0
  1185. package/index.d.ts +11570 -0
  1186. package/index.d.ts.map +1 -0
  1187. package/index.js +18858 -0
  1188. package/index.js.map +1 -0
  1189. package/index.min.js +195 -0
  1190. package/index.min.js.map +1 -0
  1191. package/package.json +16 -88
  1192. package/CHANGELOG.json +0 -1063
  1193. package/CHANGELOG.md +0 -581
  1194. package/LICENSE +0 -21
  1195. package/README.md +0 -160
  1196. package/dist/dts/components/accordion/accordion.d.ts.map +0 -1
  1197. package/dist/dts/components/accordion/accordion.definition.d.ts.map +0 -1
  1198. package/dist/dts/components/accordion/accordion.options.d.ts.map +0 -1
  1199. package/dist/dts/components/accordion/define.d.ts.map +0 -1
  1200. package/dist/dts/components/accordion/index.d.ts.map +0 -1
  1201. package/dist/dts/components/accordion-item/accordion-item.d.ts.map +0 -1
  1202. package/dist/dts/components/accordion-item/accordion-item.definition.d.ts.map +0 -1
  1203. package/dist/dts/components/accordion-item/accordion-item.options.d.ts.map +0 -1
  1204. package/dist/dts/components/accordion-item/define.d.ts.map +0 -1
  1205. package/dist/dts/components/accordion-item/index.d.ts.map +0 -1
  1206. package/dist/dts/components/accordion-menu/accordion-menu.d.ts.map +0 -1
  1207. package/dist/dts/components/accordion-menu/accordion-menu.definition.d.ts.map +0 -1
  1208. package/dist/dts/components/accordion-menu/accordion-menu.options.d.ts.map +0 -1
  1209. package/dist/dts/components/accordion-menu/accordion-menu.styles.d.ts.map +0 -1
  1210. package/dist/dts/components/accordion-menu/accordion-menu.template.d.ts.map +0 -1
  1211. package/dist/dts/components/accordion-menu/define.d.ts.map +0 -1
  1212. package/dist/dts/components/accordion-menu/index.d.ts.map +0 -1
  1213. package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.d.ts.map +0 -1
  1214. package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.definition.d.ts.map +0 -1
  1215. package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.options.d.ts.map +0 -1
  1216. package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.styles.d.ts.map +0 -1
  1217. package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.template.d.ts.map +0 -1
  1218. package/dist/dts/components/accordion-menu-panel/define.d.ts.map +0 -1
  1219. package/dist/dts/components/accordion-menu-panel/index.d.ts.map +0 -1
  1220. package/dist/dts/components/anchor-button/anchor-button.d.ts.map +0 -1
  1221. package/dist/dts/components/anchor-button/anchor-button.definition.d.ts.map +0 -1
  1222. package/dist/dts/components/anchor-button/anchor-button.options.d.ts.map +0 -1
  1223. package/dist/dts/components/anchor-button/define.d.ts.map +0 -1
  1224. package/dist/dts/components/anchor-button/index.d.ts.map +0 -1
  1225. package/dist/dts/components/avatar/avatar.d.ts.map +0 -1
  1226. package/dist/dts/components/avatar/avatar.definition.d.ts.map +0 -1
  1227. package/dist/dts/components/avatar/avatar.options.d.ts.map +0 -1
  1228. package/dist/dts/components/avatar/define.d.ts.map +0 -1
  1229. package/dist/dts/components/avatar/index.d.ts.map +0 -1
  1230. package/dist/dts/components/badge/badge.d.ts.map +0 -1
  1231. package/dist/dts/components/badge/badge.definition.d.ts.map +0 -1
  1232. package/dist/dts/components/badge/badge.options.d.ts.map +0 -1
  1233. package/dist/dts/components/badge/define.d.ts.map +0 -1
  1234. package/dist/dts/components/badge/index.d.ts.map +0 -1
  1235. package/dist/dts/components/button/button.d.ts.map +0 -1
  1236. package/dist/dts/components/button/button.definition.d.ts.map +0 -1
  1237. package/dist/dts/components/button/button.options.d.ts.map +0 -1
  1238. package/dist/dts/components/button/button.styles.d.ts.map +0 -1
  1239. package/dist/dts/components/button/define.d.ts.map +0 -1
  1240. package/dist/dts/components/button/index.d.ts.map +0 -1
  1241. package/dist/dts/components/card/card.d.ts.map +0 -1
  1242. package/dist/dts/components/card/card.definition.d.ts.map +0 -1
  1243. package/dist/dts/components/card/card.options.d.ts.map +0 -1
  1244. package/dist/dts/components/card/card.styles.d.ts.map +0 -1
  1245. package/dist/dts/components/card/card.template.d.ts.map +0 -1
  1246. package/dist/dts/components/card/define.d.ts.map +0 -1
  1247. package/dist/dts/components/card/index.d.ts.map +0 -1
  1248. package/dist/dts/components/card-footer/card-footer.d.ts.map +0 -1
  1249. package/dist/dts/components/card-footer/card-footer.definition.d.ts.map +0 -1
  1250. package/dist/dts/components/card-footer/card-footer.styles.d.ts.map +0 -1
  1251. package/dist/dts/components/card-footer/card-footer.template.d.ts.map +0 -1
  1252. package/dist/dts/components/card-footer/define.d.ts.map +0 -1
  1253. package/dist/dts/components/card-footer/index.d.ts.map +0 -1
  1254. package/dist/dts/components/card-header/card-header.d.ts.map +0 -1
  1255. package/dist/dts/components/card-header/card-header.definition.d.ts.map +0 -1
  1256. package/dist/dts/components/card-header/card-header.styles.d.ts.map +0 -1
  1257. package/dist/dts/components/card-header/card-header.template.d.ts.map +0 -1
  1258. package/dist/dts/components/card-header/define.d.ts.map +0 -1
  1259. package/dist/dts/components/card-header/index.d.ts.map +0 -1
  1260. package/dist/dts/components/card-preview/card-preview.d.ts.map +0 -1
  1261. package/dist/dts/components/card-preview/card-preview.definition.d.ts.map +0 -1
  1262. package/dist/dts/components/card-preview/card-preview.styles.d.ts.map +0 -1
  1263. package/dist/dts/components/card-preview/card-preview.template.d.ts.map +0 -1
  1264. package/dist/dts/components/card-preview/define.d.ts.map +0 -1
  1265. package/dist/dts/components/card-preview/index.d.ts.map +0 -1
  1266. package/dist/dts/components/carousel/carousel.d.ts +0 -264
  1267. package/dist/dts/components/carousel/carousel.d.ts.map +0 -1
  1268. package/dist/dts/components/carousel/carousel.definition.d.ts +0 -9
  1269. package/dist/dts/components/carousel/carousel.definition.d.ts.map +0 -1
  1270. package/dist/dts/components/carousel/carousel.styles.d.ts +0 -2
  1271. package/dist/dts/components/carousel/carousel.styles.d.ts.map +0 -1
  1272. package/dist/dts/components/carousel/carousel.template.d.ts.map +0 -1
  1273. package/dist/dts/components/carousel/define.d.ts.map +0 -1
  1274. package/dist/dts/components/carousel/index.d.ts +0 -5
  1275. package/dist/dts/components/carousel/index.d.ts.map +0 -1
  1276. package/dist/dts/components/checkbox/checkbox.d.ts.map +0 -1
  1277. package/dist/dts/components/checkbox/checkbox.definition.d.ts.map +0 -1
  1278. package/dist/dts/components/checkbox/checkbox.options.d.ts.map +0 -1
  1279. package/dist/dts/components/checkbox/define.d.ts.map +0 -1
  1280. package/dist/dts/components/checkbox/index.d.ts.map +0 -1
  1281. package/dist/dts/components/component-register.d.ts +0 -67
  1282. package/dist/dts/components/component-register.d.ts.map +0 -1
  1283. package/dist/dts/components/compound-button/compound-button.d.ts.map +0 -1
  1284. package/dist/dts/components/compound-button/compound-button.definition.d.ts.map +0 -1
  1285. package/dist/dts/components/compound-button/compound-button.options.d.ts.map +0 -1
  1286. package/dist/dts/components/compound-button/compound-button.styles.d.ts.map +0 -1
  1287. package/dist/dts/components/compound-button/define.d.ts.map +0 -1
  1288. package/dist/dts/components/compound-button/index.d.ts.map +0 -1
  1289. package/dist/dts/components/counter-badge/counter-badge.d.ts.map +0 -1
  1290. package/dist/dts/components/counter-badge/counter-badge.definition.d.ts.map +0 -1
  1291. package/dist/dts/components/counter-badge/counter-badge.options.d.ts.map +0 -1
  1292. package/dist/dts/components/counter-badge/define.d.ts.map +0 -1
  1293. package/dist/dts/components/counter-badge/index.d.ts.map +0 -1
  1294. package/dist/dts/components/design-system.d.ts.map +0 -1
  1295. package/dist/dts/components/dialog/define.d.ts.map +0 -1
  1296. package/dist/dts/components/dialog/dialog.d.ts.map +0 -1
  1297. package/dist/dts/components/dialog/dialog.definition.d.ts.map +0 -1
  1298. package/dist/dts/components/dialog/dialog.options.d.ts.map +0 -1
  1299. package/dist/dts/components/dialog/dialog.styles.d.ts.map +0 -1
  1300. package/dist/dts/components/dialog/index.d.ts.map +0 -1
  1301. package/dist/dts/components/dialog-body/define.d.ts.map +0 -1
  1302. package/dist/dts/components/dialog-body/dialog-body.d.ts.map +0 -1
  1303. package/dist/dts/components/dialog-body/dialog-body.definition.d.ts.map +0 -1
  1304. package/dist/dts/components/dialog-body/index.d.ts.map +0 -1
  1305. package/dist/dts/components/divider/define.d.ts.map +0 -1
  1306. package/dist/dts/components/divider/divider.d.ts.map +0 -1
  1307. package/dist/dts/components/divider/divider.definition.d.ts.map +0 -1
  1308. package/dist/dts/components/divider/divider.options.d.ts.map +0 -1
  1309. package/dist/dts/components/divider/divider.styles.d.ts.map +0 -1
  1310. package/dist/dts/components/divider/divider.template.d.ts.map +0 -1
  1311. package/dist/dts/components/divider/index.d.ts.map +0 -1
  1312. package/dist/dts/components/drawer/define.d.ts.map +0 -1
  1313. package/dist/dts/components/drawer/drawer.d.ts.map +0 -1
  1314. package/dist/dts/components/drawer/drawer.definition.d.ts.map +0 -1
  1315. package/dist/dts/components/drawer/drawer.options.d.ts.map +0 -1
  1316. package/dist/dts/components/drawer/index.d.ts.map +0 -1
  1317. package/dist/dts/components/drawer-body/define.d.ts.map +0 -1
  1318. package/dist/dts/components/drawer-body/drawer-body.d.ts.map +0 -1
  1319. package/dist/dts/components/drawer-body/drawer-body.definition.d.ts.map +0 -1
  1320. package/dist/dts/components/drawer-body/index.d.ts.map +0 -1
  1321. package/dist/dts/components/dropdown/define.d.ts.map +0 -1
  1322. package/dist/dts/components/dropdown/dropdown.d.ts +0 -62
  1323. package/dist/dts/components/dropdown/dropdown.d.ts.map +0 -1
  1324. package/dist/dts/components/dropdown/dropdown.definition.d.ts.map +0 -1
  1325. package/dist/dts/components/dropdown/dropdown.options.d.ts.map +0 -1
  1326. package/dist/dts/components/dropdown/dropdown.styles.d.ts.map +0 -1
  1327. package/dist/dts/components/dropdown/index.d.ts.map +0 -1
  1328. package/dist/dts/components/field/define.d.ts.map +0 -1
  1329. package/dist/dts/components/field/field.d.ts.map +0 -1
  1330. package/dist/dts/components/field/field.definition.d.ts.map +0 -1
  1331. package/dist/dts/components/field/field.options.d.ts.map +0 -1
  1332. package/dist/dts/components/field/field.styles.d.ts.map +0 -1
  1333. package/dist/dts/components/field/index.d.ts.map +0 -1
  1334. package/dist/dts/components/filter-pill/define.d.ts.map +0 -1
  1335. package/dist/dts/components/filter-pill/filter-pill.d.ts.map +0 -1
  1336. package/dist/dts/components/filter-pill/filter-pill.definition.d.ts.map +0 -1
  1337. package/dist/dts/components/filter-pill/filter-pill.options.d.ts.map +0 -1
  1338. package/dist/dts/components/filter-pill/filter-pill.styles.d.ts.map +0 -1
  1339. package/dist/dts/components/filter-pill/filter-pill.template.d.ts.map +0 -1
  1340. package/dist/dts/components/filter-pill/index.d.ts.map +0 -1
  1341. package/dist/dts/components/image/define.d.ts.map +0 -1
  1342. package/dist/dts/components/image/image.d.ts.map +0 -1
  1343. package/dist/dts/components/image/image.definition.d.ts.map +0 -1
  1344. package/dist/dts/components/image/image.options.d.ts.map +0 -1
  1345. package/dist/dts/components/image/index.d.ts.map +0 -1
  1346. package/dist/dts/components/label/define.d.ts.map +0 -1
  1347. package/dist/dts/components/label/index.d.ts.map +0 -1
  1348. package/dist/dts/components/label/label.d.ts.map +0 -1
  1349. package/dist/dts/components/label/label.definition.d.ts.map +0 -1
  1350. package/dist/dts/components/label/label.options.d.ts.map +0 -1
  1351. package/dist/dts/components/link/define.d.ts.map +0 -1
  1352. package/dist/dts/components/link/index.d.ts +0 -5
  1353. package/dist/dts/components/link/index.d.ts.map +0 -1
  1354. package/dist/dts/components/link/link.d.ts +0 -50
  1355. package/dist/dts/components/link/link.d.ts.map +0 -1
  1356. package/dist/dts/components/link/link.definition.d.ts.map +0 -1
  1357. package/dist/dts/components/link/link.options.d.ts.map +0 -1
  1358. package/dist/dts/components/listbox/define.d.ts.map +0 -1
  1359. package/dist/dts/components/listbox/index.d.ts.map +0 -1
  1360. package/dist/dts/components/listbox/listbox.d.ts +0 -119
  1361. package/dist/dts/components/listbox/listbox.d.ts.map +0 -1
  1362. package/dist/dts/components/listbox/listbox.definition.d.ts.map +0 -1
  1363. package/dist/dts/components/listbox/listbox.styles.d.ts.map +0 -1
  1364. package/dist/dts/components/loading-button/define.d.ts.map +0 -1
  1365. package/dist/dts/components/loading-button/index.d.ts.map +0 -1
  1366. package/dist/dts/components/loading-button/loading-button.d.ts +0 -46
  1367. package/dist/dts/components/loading-button/loading-button.d.ts.map +0 -1
  1368. package/dist/dts/components/loading-button/loading-button.definition.d.ts +0 -10
  1369. package/dist/dts/components/loading-button/loading-button.definition.d.ts.map +0 -1
  1370. package/dist/dts/components/loading-button/loading-button.styles.d.ts.map +0 -1
  1371. package/dist/dts/components/loading-button/loading-button.template.d.ts +0 -8
  1372. package/dist/dts/components/loading-button/loading-button.template.d.ts.map +0 -1
  1373. package/dist/dts/components/menu/define.d.ts.map +0 -1
  1374. package/dist/dts/components/menu/index.d.ts.map +0 -1
  1375. package/dist/dts/components/menu/menu.d.ts +0 -353
  1376. package/dist/dts/components/menu/menu.d.ts.map +0 -1
  1377. package/dist/dts/components/menu/menu.definition.d.ts.map +0 -1
  1378. package/dist/dts/components/menu/menu.options.d.ts.map +0 -1
  1379. package/dist/dts/components/menu/menu.positioning.d.ts.map +0 -1
  1380. package/dist/dts/components/menu/menu.styles.d.ts.map +0 -1
  1381. package/dist/dts/components/menu/menu.template.d.ts.map +0 -1
  1382. package/dist/dts/components/menu-button/define.d.ts.map +0 -1
  1383. package/dist/dts/components/menu-button/index.d.ts.map +0 -1
  1384. package/dist/dts/components/menu-button/menu-button.d.ts.map +0 -1
  1385. package/dist/dts/components/menu-button/menu-button.definition.d.ts.map +0 -1
  1386. package/dist/dts/components/menu-button/menu-button.options.d.ts.map +0 -1
  1387. package/dist/dts/components/menu-item/define.d.ts.map +0 -1
  1388. package/dist/dts/components/menu-item/index.d.ts +0 -8
  1389. package/dist/dts/components/menu-item/index.d.ts.map +0 -1
  1390. package/dist/dts/components/menu-item/menu-item.d.ts +0 -209
  1391. package/dist/dts/components/menu-item/menu-item.d.ts.map +0 -1
  1392. package/dist/dts/components/menu-item/menu-item.definition.d.ts.map +0 -1
  1393. package/dist/dts/components/menu-item/menu-item.options.d.ts +0 -50
  1394. package/dist/dts/components/menu-item/menu-item.options.d.ts.map +0 -1
  1395. package/dist/dts/components/menu-item/menu-item.styles.d.ts.map +0 -1
  1396. package/dist/dts/components/menu-item/menu-item.template.d.ts.map +0 -1
  1397. package/dist/dts/components/menu-list/define.d.ts.map +0 -1
  1398. package/dist/dts/components/menu-list/index.d.ts.map +0 -1
  1399. package/dist/dts/components/menu-list/menu-list.d.ts.map +0 -1
  1400. package/dist/dts/components/menu-list/menu-list.definition.d.ts.map +0 -1
  1401. package/dist/dts/components/menu-list/menu-list.styles.d.ts.map +0 -1
  1402. package/dist/dts/components/menu-list/menu-list.template.d.ts.map +0 -1
  1403. package/dist/dts/components/message-bar/define.d.ts.map +0 -1
  1404. package/dist/dts/components/message-bar/index.d.ts.map +0 -1
  1405. package/dist/dts/components/message-bar/message-bar.d.ts.map +0 -1
  1406. package/dist/dts/components/message-bar/message-bar.definition.d.ts.map +0 -1
  1407. package/dist/dts/components/multi-view/define.d.ts.map +0 -1
  1408. package/dist/dts/components/multi-view/index.d.ts.map +0 -1
  1409. package/dist/dts/components/multi-view/multi-view.d.ts.map +0 -1
  1410. package/dist/dts/components/multi-view/multi-view.definition.d.ts.map +0 -1
  1411. package/dist/dts/components/multi-view/multi-view.options.d.ts.map +0 -1
  1412. package/dist/dts/components/multi-view/multi-view.styles.d.ts.map +0 -1
  1413. package/dist/dts/components/multi-view/multi-view.template.d.ts.map +0 -1
  1414. package/dist/dts/components/multi-view-controller/define.d.ts.map +0 -1
  1415. package/dist/dts/components/multi-view-controller/index.d.ts.map +0 -1
  1416. package/dist/dts/components/multi-view-controller/multi-view-controller.d.ts.map +0 -1
  1417. package/dist/dts/components/multi-view-controller/multi-view-controller.definition.d.ts.map +0 -1
  1418. package/dist/dts/components/multi-view-controller/multi-view-controller.styles.d.ts.map +0 -1
  1419. package/dist/dts/components/multi-view-controller/multi-view-controller.template.d.ts.map +0 -1
  1420. package/dist/dts/components/multi-view-group/define.d.ts.map +0 -1
  1421. package/dist/dts/components/multi-view-group/index.d.ts.map +0 -1
  1422. package/dist/dts/components/multi-view-group/multi-view-group.d.ts.map +0 -1
  1423. package/dist/dts/components/multi-view-group/multi-view-group.definition.d.ts.map +0 -1
  1424. package/dist/dts/components/multi-view-group/multi-view-group.options.d.ts.map +0 -1
  1425. package/dist/dts/components/multi-view-group/multi-view-group.styles.d.ts.map +0 -1
  1426. package/dist/dts/components/multi-view-group/multi-view-group.template.d.ts.map +0 -1
  1427. package/dist/dts/components/option/define.d.ts.map +0 -1
  1428. package/dist/dts/components/option/index.d.ts.map +0 -1
  1429. package/dist/dts/components/option/option.d.ts.map +0 -1
  1430. package/dist/dts/components/option/option.definition.d.ts.map +0 -1
  1431. package/dist/dts/components/option-group/define.d.ts.map +0 -1
  1432. package/dist/dts/components/option-group/index.d.ts.map +0 -1
  1433. package/dist/dts/components/option-group/option-group.d.ts.map +0 -1
  1434. package/dist/dts/components/option-group/option-group.definition.d.ts.map +0 -1
  1435. package/dist/dts/components/option-group/option-group.options.d.ts.map +0 -1
  1436. package/dist/dts/components/option-group/option-group.styles.d.ts.map +0 -1
  1437. package/dist/dts/components/option-group/option-group.template.d.ts.map +0 -1
  1438. package/dist/dts/components/patterns/aria-globals.d.ts.map +0 -1
  1439. package/dist/dts/components/popover/define.d.ts.map +0 -1
  1440. package/dist/dts/components/popover/index.d.ts.map +0 -1
  1441. package/dist/dts/components/popover/popover.d.ts.map +0 -1
  1442. package/dist/dts/components/popover/popover.definition.d.ts.map +0 -1
  1443. package/dist/dts/components/popover/popover.options.d.ts.map +0 -1
  1444. package/dist/dts/components/popover/popover.positioning.d.ts.map +0 -1
  1445. package/dist/dts/components/popover/popover.styles.d.ts.map +0 -1
  1446. package/dist/dts/components/popover/popover.template.d.ts.map +0 -1
  1447. package/dist/dts/components/progress-bar/define.d.ts.map +0 -1
  1448. package/dist/dts/components/progress-bar/index.d.ts.map +0 -1
  1449. package/dist/dts/components/progress-bar/progress-bar.d.ts.map +0 -1
  1450. package/dist/dts/components/progress-bar/progress-bar.definition.d.ts.map +0 -1
  1451. package/dist/dts/components/progress-bar/progress-bar.options.d.ts.map +0 -1
  1452. package/dist/dts/components/radio/define.d.ts.map +0 -1
  1453. package/dist/dts/components/radio/index.d.ts.map +0 -1
  1454. package/dist/dts/components/radio/radio.d.ts.map +0 -1
  1455. package/dist/dts/components/radio/radio.definition.d.ts.map +0 -1
  1456. package/dist/dts/components/radio-group/define.d.ts.map +0 -1
  1457. package/dist/dts/components/radio-group/index.d.ts.map +0 -1
  1458. package/dist/dts/components/radio-group/radio-group.d.ts.map +0 -1
  1459. package/dist/dts/components/radio-group/radio-group.definition.d.ts.map +0 -1
  1460. package/dist/dts/components/radio-group/radio-group.options.d.ts.map +0 -1
  1461. package/dist/dts/components/rating-display/define.d.ts.map +0 -1
  1462. package/dist/dts/components/rating-display/index.d.ts.map +0 -1
  1463. package/dist/dts/components/rating-display/rating-display.d.ts.map +0 -1
  1464. package/dist/dts/components/rating-display/rating-display.definition.d.ts.map +0 -1
  1465. package/dist/dts/components/rating-display/rating-display.options.d.ts.map +0 -1
  1466. package/dist/dts/components/search-box/define.d.ts.map +0 -1
  1467. package/dist/dts/components/search-box/index.d.ts.map +0 -1
  1468. package/dist/dts/components/search-box/search-box.d.ts.map +0 -1
  1469. package/dist/dts/components/search-box/search-box.definition.d.ts +0 -9
  1470. package/dist/dts/components/search-box/search-box.definition.d.ts.map +0 -1
  1471. package/dist/dts/components/search-box/search-box.options.d.ts.map +0 -1
  1472. package/dist/dts/components/search-box/search-box.styles.d.ts.map +0 -1
  1473. package/dist/dts/components/search-box/search-box.template.d.ts.map +0 -1
  1474. package/dist/dts/components/simple-table/define.d.ts.map +0 -1
  1475. package/dist/dts/components/simple-table/index.d.ts.map +0 -1
  1476. package/dist/dts/components/simple-table/simple-table.d.ts.map +0 -1
  1477. package/dist/dts/components/simple-table/simple-table.definition.d.ts.map +0 -1
  1478. package/dist/dts/components/simple-table/simple-table.styles.d.ts.map +0 -1
  1479. package/dist/dts/components/slider/define.d.ts.map +0 -1
  1480. package/dist/dts/components/slider/index.d.ts.map +0 -1
  1481. package/dist/dts/components/slider/slider.d.ts.map +0 -1
  1482. package/dist/dts/components/slider/slider.definition.d.ts.map +0 -1
  1483. package/dist/dts/components/slider/slider.options.d.ts.map +0 -1
  1484. package/dist/dts/components/spinner/define.d.ts.map +0 -1
  1485. package/dist/dts/components/spinner/index.d.ts.map +0 -1
  1486. package/dist/dts/components/spinner/spinner.d.ts.map +0 -1
  1487. package/dist/dts/components/spinner/spinner.definition.d.ts.map +0 -1
  1488. package/dist/dts/components/spinner/spinner.options.d.ts.map +0 -1
  1489. package/dist/dts/components/styles/index.d.ts.map +0 -1
  1490. package/dist/dts/components/styles/states/states.d.ts.map +0 -1
  1491. package/dist/dts/components/svg-icon/define.d.ts.map +0 -1
  1492. package/dist/dts/components/svg-icon/index.d.ts.map +0 -1
  1493. package/dist/dts/components/svg-icon/scripts/sprite-builder.d.ts.map +0 -1
  1494. package/dist/dts/components/svg-icon/scripts/svg-list.d.ts.map +0 -1
  1495. package/dist/dts/components/svg-icon/scripts/svg-sanitizer.d.ts.map +0 -1
  1496. package/dist/dts/components/svg-icon/services/svg-service.d.ts.map +0 -1
  1497. package/dist/dts/components/svg-icon/svg-icon.d.ts.map +0 -1
  1498. package/dist/dts/components/svg-icon/svg-icon.definition.d.ts.map +0 -1
  1499. package/dist/dts/components/svg-icon/svg-icon.styles.d.ts.map +0 -1
  1500. package/dist/dts/components/svg-icon/svg-icon.template.d.ts.map +0 -1
  1501. package/dist/dts/components/switch/define.d.ts.map +0 -1
  1502. package/dist/dts/components/switch/index.d.ts.map +0 -1
  1503. package/dist/dts/components/switch/switch.d.ts.map +0 -1
  1504. package/dist/dts/components/switch/switch.definition.d.ts.map +0 -1
  1505. package/dist/dts/components/switch/switch.options.d.ts.map +0 -1
  1506. package/dist/dts/components/tab/define.d.ts.map +0 -1
  1507. package/dist/dts/components/tab/index.d.ts.map +0 -1
  1508. package/dist/dts/components/tab/tab.d.ts.map +0 -1
  1509. package/dist/dts/components/tab/tab.definition.d.ts.map +0 -1
  1510. package/dist/dts/components/table/define.d.ts.map +0 -1
  1511. package/dist/dts/components/table/index.d.ts.map +0 -1
  1512. package/dist/dts/components/table/table.d.ts +0 -249
  1513. package/dist/dts/components/table/table.d.ts.map +0 -1
  1514. package/dist/dts/components/table/table.definition.d.ts +0 -3
  1515. package/dist/dts/components/table/table.definition.d.ts.map +0 -1
  1516. package/dist/dts/components/table/table.options.d.ts.map +0 -1
  1517. package/dist/dts/components/table/table.styles.d.ts.map +0 -1
  1518. package/dist/dts/components/table/table.template.d.ts.map +0 -1
  1519. package/dist/dts/components/table-cell/define.d.ts.map +0 -1
  1520. package/dist/dts/components/table-cell/index.d.ts.map +0 -1
  1521. package/dist/dts/components/table-cell/table-cell.d.ts.map +0 -1
  1522. package/dist/dts/components/table-cell/table-cell.definition.d.ts.map +0 -1
  1523. package/dist/dts/components/table-cell/table-cell.options.d.ts.map +0 -1
  1524. package/dist/dts/components/table-cell/table-cell.styles.d.ts.map +0 -1
  1525. package/dist/dts/components/table-cell/table-cell.template.d.ts.map +0 -1
  1526. package/dist/dts/components/tablist/define.d.ts.map +0 -1
  1527. package/dist/dts/components/tablist/index.d.ts.map +0 -1
  1528. package/dist/dts/components/tablist/tablist.d.ts.map +0 -1
  1529. package/dist/dts/components/tablist/tablist.definition.d.ts.map +0 -1
  1530. package/dist/dts/components/tablist/tablist.options.d.ts.map +0 -1
  1531. package/dist/dts/components/tag/define.d.ts.map +0 -1
  1532. package/dist/dts/components/tag/index.d.ts.map +0 -1
  1533. package/dist/dts/components/tag/tag.d.ts.map +0 -1
  1534. package/dist/dts/components/tag/tag.definition.d.ts +0 -9
  1535. package/dist/dts/components/tag/tag.definition.d.ts.map +0 -1
  1536. package/dist/dts/components/tag/tag.options.d.ts.map +0 -1
  1537. package/dist/dts/components/tag/tag.styles.d.ts.map +0 -1
  1538. package/dist/dts/components/tag/tag.template.d.ts.map +0 -1
  1539. package/dist/dts/components/teaching-bubble/define.d.ts.map +0 -1
  1540. package/dist/dts/components/teaching-bubble/index.d.ts.map +0 -1
  1541. package/dist/dts/components/teaching-bubble/teaching-bubble.d.ts.map +0 -1
  1542. package/dist/dts/components/teaching-bubble/teaching-bubble.definition.d.ts.map +0 -1
  1543. package/dist/dts/components/teaching-bubble/teaching-bubble.options.d.ts.map +0 -1
  1544. package/dist/dts/components/teaching-bubble/teaching-bubble.styles.d.ts.map +0 -1
  1545. package/dist/dts/components/teaching-bubble/teaching-bubble.template.d.ts.map +0 -1
  1546. package/dist/dts/components/text/define.d.ts.map +0 -1
  1547. package/dist/dts/components/text/index.d.ts.map +0 -1
  1548. package/dist/dts/components/text/text.d.ts.map +0 -1
  1549. package/dist/dts/components/text/text.definition.d.ts.map +0 -1
  1550. package/dist/dts/components/text/text.options.d.ts.map +0 -1
  1551. package/dist/dts/components/text-input/define.d.ts.map +0 -1
  1552. package/dist/dts/components/text-input/index.d.ts.map +0 -1
  1553. package/dist/dts/components/text-input/text-input.base.d.ts.map +0 -1
  1554. package/dist/dts/components/text-input/text-input.d.ts.map +0 -1
  1555. package/dist/dts/components/text-input/text-input.definition.d.ts.map +0 -1
  1556. package/dist/dts/components/text-input/text-input.options.d.ts.map +0 -1
  1557. package/dist/dts/components/text-input/text-input.styles.d.ts.map +0 -1
  1558. package/dist/dts/components/text-input/text-input.template.d.ts.map +0 -1
  1559. package/dist/dts/components/textarea/define.d.ts.map +0 -1
  1560. package/dist/dts/components/textarea/index.d.ts.map +0 -1
  1561. package/dist/dts/components/textarea/textarea.d.ts.map +0 -1
  1562. package/dist/dts/components/textarea/textarea.definition.d.ts.map +0 -1
  1563. package/dist/dts/components/textarea/textarea.options.d.ts.map +0 -1
  1564. package/dist/dts/components/toggle-button/define.d.ts.map +0 -1
  1565. package/dist/dts/components/toggle-button/index.d.ts.map +0 -1
  1566. package/dist/dts/components/toggle-button/toggle-button.d.ts.map +0 -1
  1567. package/dist/dts/components/toggle-button/toggle-button.definition.d.ts.map +0 -1
  1568. package/dist/dts/components/toggle-button/toggle-button.options.d.ts.map +0 -1
  1569. package/dist/dts/components/tooltip/define.d.ts.map +0 -1
  1570. package/dist/dts/components/tooltip/index.d.ts.map +0 -1
  1571. package/dist/dts/components/tooltip/tooltip.d.ts +0 -63
  1572. package/dist/dts/components/tooltip/tooltip.d.ts.map +0 -1
  1573. package/dist/dts/components/tooltip/tooltip.definition.d.ts.map +0 -1
  1574. package/dist/dts/components/tooltip/tooltip.options.d.ts.map +0 -1
  1575. package/dist/dts/components/tooltip/tooltip.template.d.ts.map +0 -1
  1576. package/dist/dts/components/tree/define.d.ts.map +0 -1
  1577. package/dist/dts/components/tree/index.d.ts.map +0 -1
  1578. package/dist/dts/components/tree/tree.d.ts.map +0 -1
  1579. package/dist/dts/components/tree/tree.definition.d.ts.map +0 -1
  1580. package/dist/dts/components/tree-item/define.d.ts.map +0 -1
  1581. package/dist/dts/components/tree-item/index.d.ts.map +0 -1
  1582. package/dist/dts/components/tree-item/tree-item.d.ts +0 -58
  1583. package/dist/dts/components/tree-item/tree-item.d.ts.map +0 -1
  1584. package/dist/dts/components/tree-item/tree-item.definition.d.ts.map +0 -1
  1585. package/dist/dts/components/tree-item/tree-item.styles.d.ts.map +0 -1
  1586. package/dist/dts/components/tree-item/tree-item.template.d.ts.map +0 -1
  1587. package/dist/dts/components/wizard/define.d.ts.map +0 -1
  1588. package/dist/dts/components/wizard/index.d.ts.map +0 -1
  1589. package/dist/dts/components/wizard/wizard.d.ts.map +0 -1
  1590. package/dist/dts/components/wizard/wizard.definition.d.ts.map +0 -1
  1591. package/dist/dts/components/wizard/wizard.options.d.ts.map +0 -1
  1592. package/dist/dts/components/wizard/wizard.styles.d.ts.map +0 -1
  1593. package/dist/dts/components/wizard/wizard.template.d.ts.map +0 -1
  1594. package/dist/dts/components/wizard-panel/define.d.ts.map +0 -1
  1595. package/dist/dts/components/wizard-panel/index.d.ts.map +0 -1
  1596. package/dist/dts/components/wizard-panel/wizard-panel.cem.d.ts.map +0 -1
  1597. package/dist/dts/components/wizard-panel/wizard-panel.d.ts.map +0 -1
  1598. package/dist/dts/components/wizard-panel/wizard-panel.definition.d.ts.map +0 -1
  1599. package/dist/dts/components/wizard-panel/wizard-panel.options.d.ts.map +0 -1
  1600. package/dist/dts/components/wizard-panel/wizard-panel.styles.d.ts.map +0 -1
  1601. package/dist/dts/components/wizard-panel/wizard-panel.template.d.ts.map +0 -1
  1602. package/dist/dts/components/wizard-step/define.d.ts.map +0 -1
  1603. package/dist/dts/components/wizard-step/index.d.ts.map +0 -1
  1604. package/dist/dts/components/wizard-step/wizard-step.d.ts.map +0 -1
  1605. package/dist/dts/components/wizard-step/wizard-step.definition.d.ts.map +0 -1
  1606. package/dist/dts/components/wizard-step/wizard-step.options.d.ts.map +0 -1
  1607. package/dist/dts/components/wizard-step/wizard-step.styles.d.ts.map +0 -1
  1608. package/dist/dts/components/wizard-step/wizard-step.template.d.ts.map +0 -1
  1609. package/dist/dts/components/wizard-step/wizard-step.unit.component.d.ts.map +0 -1
  1610. package/dist/dts/index.d.ts +0 -117
  1611. package/dist/dts/index.d.ts.map +0 -1
  1612. package/dist/dts/static/component-svgs.d.ts +0 -3
  1613. package/dist/dts/static/component-svgs.d.ts.map +0 -1
  1614. package/dist/dts/util/accessibility-utilities.d.ts.map +0 -1
  1615. package/dist/dts/util/apply-mixins.d.ts.map +0 -1
  1616. package/dist/dts/util/attribute-utilities.d.ts.map +0 -1
  1617. package/dist/dts/util/debounce.d.ts.map +0 -1
  1618. package/dist/dts/util/debug.d.ts.map +0 -1
  1619. package/dist/dts/util/descendants.d.ts.map +0 -1
  1620. package/dist/dts/util/direction.d.ts.map +0 -1
  1621. package/dist/dts/util/dom.d.ts.map +0 -1
  1622. package/dist/dts/util/element-internal-mocks.d.ts.map +0 -1
  1623. package/dist/dts/util/element-internals.d.ts.map +0 -1
  1624. package/dist/dts/util/focus-management.d.ts.map +0 -1
  1625. package/dist/dts/util/hash-utilities.d.ts.map +0 -1
  1626. package/dist/dts/util/index.d.ts +0 -18
  1627. package/dist/dts/util/index.d.ts.map +0 -1
  1628. package/dist/dts/util/match-media-stylesheet-behaviors.d.ts +0 -125
  1629. package/dist/dts/util/match-media-stylesheet-behaviors.d.ts.map +0 -1
  1630. package/dist/dts/util/positioning/flexible-position-strategy.d.ts +0 -87
  1631. package/dist/dts/util/positioning/flexible-position-strategy.d.ts.map +0 -1
  1632. package/dist/dts/util/positioning/index.d.ts.map +0 -1
  1633. package/dist/dts/util/positioning/position-calculator.d.ts.map +0 -1
  1634. package/dist/dts/util/positioning/types.d.ts.map +0 -1
  1635. package/dist/dts/util/support.d.ts.map +0 -1
  1636. package/dist/dts/util/template-helpers.d.ts.map +0 -1
  1637. package/dist/dts/util/typings.d.ts.map +0 -1
  1638. package/dist/dts/util/whitespace-filter.d.ts.map +0 -1
  1639. package/dist/esm/components/accordion/accordion.definition.js.map +0 -1
  1640. package/dist/esm/components/accordion/accordion.js.map +0 -1
  1641. package/dist/esm/components/accordion/accordion.options.js.map +0 -1
  1642. package/dist/esm/components/accordion/define.js.map +0 -1
  1643. package/dist/esm/components/accordion/index.js.map +0 -1
  1644. package/dist/esm/components/accordion-item/accordion-item.definition.js.map +0 -1
  1645. package/dist/esm/components/accordion-item/accordion-item.js.map +0 -1
  1646. package/dist/esm/components/accordion-item/accordion-item.options.js.map +0 -1
  1647. package/dist/esm/components/accordion-item/define.js.map +0 -1
  1648. package/dist/esm/components/accordion-item/index.js.map +0 -1
  1649. package/dist/esm/components/accordion-menu/accordion-menu.definition.js.map +0 -1
  1650. package/dist/esm/components/accordion-menu/accordion-menu.js.map +0 -1
  1651. package/dist/esm/components/accordion-menu/accordion-menu.options.js.map +0 -1
  1652. package/dist/esm/components/accordion-menu/accordion-menu.styles.js.map +0 -1
  1653. package/dist/esm/components/accordion-menu/accordion-menu.template.js.map +0 -1
  1654. package/dist/esm/components/accordion-menu/define.js.map +0 -1
  1655. package/dist/esm/components/accordion-menu/index.js.map +0 -1
  1656. package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.definition.js.map +0 -1
  1657. package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.js.map +0 -1
  1658. package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.options.js.map +0 -1
  1659. package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.styles.js +0 -13
  1660. package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.styles.js.map +0 -1
  1661. package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.template.js +0 -27
  1662. package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.template.js.map +0 -1
  1663. package/dist/esm/components/accordion-menu-panel/define.js.map +0 -1
  1664. package/dist/esm/components/accordion-menu-panel/index.js.map +0 -1
  1665. package/dist/esm/components/anchor-button/anchor-button.definition.js.map +0 -1
  1666. package/dist/esm/components/anchor-button/anchor-button.js.map +0 -1
  1667. package/dist/esm/components/anchor-button/anchor-button.options.js.map +0 -1
  1668. package/dist/esm/components/anchor-button/define.js.map +0 -1
  1669. package/dist/esm/components/anchor-button/index.js.map +0 -1
  1670. package/dist/esm/components/avatar/avatar.definition.js.map +0 -1
  1671. package/dist/esm/components/avatar/avatar.js.map +0 -1
  1672. package/dist/esm/components/avatar/avatar.options.js.map +0 -1
  1673. package/dist/esm/components/avatar/define.js.map +0 -1
  1674. package/dist/esm/components/avatar/index.js.map +0 -1
  1675. package/dist/esm/components/badge/badge.definition.js.map +0 -1
  1676. package/dist/esm/components/badge/badge.js.map +0 -1
  1677. package/dist/esm/components/badge/badge.options.js.map +0 -1
  1678. package/dist/esm/components/badge/define.js.map +0 -1
  1679. package/dist/esm/components/badge/index.js.map +0 -1
  1680. package/dist/esm/components/button/button.definition.js.map +0 -1
  1681. package/dist/esm/components/button/button.js.map +0 -1
  1682. package/dist/esm/components/button/button.options.js.map +0 -1
  1683. package/dist/esm/components/button/button.styles.js +0 -11
  1684. package/dist/esm/components/button/button.styles.js.map +0 -1
  1685. package/dist/esm/components/button/define.js.map +0 -1
  1686. package/dist/esm/components/button/index.js.map +0 -1
  1687. package/dist/esm/components/card/card.definition.js.map +0 -1
  1688. package/dist/esm/components/card/card.js.map +0 -1
  1689. package/dist/esm/components/card/card.options.js.map +0 -1
  1690. package/dist/esm/components/card/card.styles.js.map +0 -1
  1691. package/dist/esm/components/card/card.template.js.map +0 -1
  1692. package/dist/esm/components/card/define.js.map +0 -1
  1693. package/dist/esm/components/card/index.js.map +0 -1
  1694. package/dist/esm/components/card-footer/card-footer.definition.js.map +0 -1
  1695. package/dist/esm/components/card-footer/card-footer.js.map +0 -1
  1696. package/dist/esm/components/card-footer/card-footer.styles.js.map +0 -1
  1697. package/dist/esm/components/card-footer/card-footer.template.js.map +0 -1
  1698. package/dist/esm/components/card-footer/define.js.map +0 -1
  1699. package/dist/esm/components/card-footer/index.js.map +0 -1
  1700. package/dist/esm/components/card-header/card-header.definition.js.map +0 -1
  1701. package/dist/esm/components/card-header/card-header.js.map +0 -1
  1702. package/dist/esm/components/card-header/card-header.styles.js.map +0 -1
  1703. package/dist/esm/components/card-header/card-header.template.js.map +0 -1
  1704. package/dist/esm/components/card-header/define.js.map +0 -1
  1705. package/dist/esm/components/card-header/index.js.map +0 -1
  1706. package/dist/esm/components/card-preview/card-preview.definition.js.map +0 -1
  1707. package/dist/esm/components/card-preview/card-preview.js.map +0 -1
  1708. package/dist/esm/components/card-preview/card-preview.styles.js.map +0 -1
  1709. package/dist/esm/components/card-preview/card-preview.template.js.map +0 -1
  1710. package/dist/esm/components/card-preview/define.js.map +0 -1
  1711. package/dist/esm/components/card-preview/index.js.map +0 -1
  1712. package/dist/esm/components/carousel/carousel.definition.js +0 -21
  1713. package/dist/esm/components/carousel/carousel.definition.js.map +0 -1
  1714. package/dist/esm/components/carousel/carousel.js +0 -450
  1715. package/dist/esm/components/carousel/carousel.js.map +0 -1
  1716. package/dist/esm/components/carousel/carousel.styles.js.map +0 -1
  1717. package/dist/esm/components/carousel/carousel.template.js +0 -15
  1718. package/dist/esm/components/carousel/carousel.template.js.map +0 -1
  1719. package/dist/esm/components/carousel/define.js +0 -4
  1720. package/dist/esm/components/carousel/define.js.map +0 -1
  1721. package/dist/esm/components/carousel/index.js +0 -5
  1722. package/dist/esm/components/carousel/index.js.map +0 -1
  1723. package/dist/esm/components/checkbox/checkbox.definition.js.map +0 -1
  1724. package/dist/esm/components/checkbox/checkbox.js.map +0 -1
  1725. package/dist/esm/components/checkbox/checkbox.options.js.map +0 -1
  1726. package/dist/esm/components/checkbox/define.js.map +0 -1
  1727. package/dist/esm/components/checkbox/index.js.map +0 -1
  1728. package/dist/esm/components/component-register.js +0 -67
  1729. package/dist/esm/components/component-register.js.map +0 -1
  1730. package/dist/esm/components/compound-button/compound-button.definition.js.map +0 -1
  1731. package/dist/esm/components/compound-button/compound-button.js.map +0 -1
  1732. package/dist/esm/components/compound-button/compound-button.options.js.map +0 -1
  1733. package/dist/esm/components/compound-button/compound-button.styles.js.map +0 -1
  1734. package/dist/esm/components/compound-button/define.js.map +0 -1
  1735. package/dist/esm/components/compound-button/index.js.map +0 -1
  1736. package/dist/esm/components/counter-badge/counter-badge.definition.js.map +0 -1
  1737. package/dist/esm/components/counter-badge/counter-badge.js.map +0 -1
  1738. package/dist/esm/components/counter-badge/counter-badge.options.js.map +0 -1
  1739. package/dist/esm/components/counter-badge/define.js.map +0 -1
  1740. package/dist/esm/components/counter-badge/index.js.map +0 -1
  1741. package/dist/esm/components/design-system.js.map +0 -1
  1742. package/dist/esm/components/dialog/define.js.map +0 -1
  1743. package/dist/esm/components/dialog/dialog.definition.js.map +0 -1
  1744. package/dist/esm/components/dialog/dialog.js.map +0 -1
  1745. package/dist/esm/components/dialog/dialog.options.js.map +0 -1
  1746. package/dist/esm/components/dialog/dialog.styles.js.map +0 -1
  1747. package/dist/esm/components/dialog/index.js.map +0 -1
  1748. package/dist/esm/components/dialog-body/define.js.map +0 -1
  1749. package/dist/esm/components/dialog-body/dialog-body.definition.js.map +0 -1
  1750. package/dist/esm/components/dialog-body/dialog-body.js.map +0 -1
  1751. package/dist/esm/components/dialog-body/index.js.map +0 -1
  1752. package/dist/esm/components/divider/define.js.map +0 -1
  1753. package/dist/esm/components/divider/divider.definition.js.map +0 -1
  1754. package/dist/esm/components/divider/divider.js.map +0 -1
  1755. package/dist/esm/components/divider/divider.options.js.map +0 -1
  1756. package/dist/esm/components/divider/divider.styles.js.map +0 -1
  1757. package/dist/esm/components/divider/divider.template.js.map +0 -1
  1758. package/dist/esm/components/divider/index.js.map +0 -1
  1759. package/dist/esm/components/drawer/define.js.map +0 -1
  1760. package/dist/esm/components/drawer/drawer.definition.js.map +0 -1
  1761. package/dist/esm/components/drawer/drawer.js.map +0 -1
  1762. package/dist/esm/components/drawer/drawer.options.js.map +0 -1
  1763. package/dist/esm/components/drawer/index.js.map +0 -1
  1764. package/dist/esm/components/drawer-body/define.js.map +0 -1
  1765. package/dist/esm/components/drawer-body/drawer-body.definition.js.map +0 -1
  1766. package/dist/esm/components/drawer-body/drawer-body.js.map +0 -1
  1767. package/dist/esm/components/drawer-body/index.js.map +0 -1
  1768. package/dist/esm/components/dropdown/define.js.map +0 -1
  1769. package/dist/esm/components/dropdown/dropdown.definition.js.map +0 -1
  1770. package/dist/esm/components/dropdown/dropdown.js +0 -63
  1771. package/dist/esm/components/dropdown/dropdown.js.map +0 -1
  1772. package/dist/esm/components/dropdown/dropdown.options.js.map +0 -1
  1773. package/dist/esm/components/dropdown/dropdown.styles.js +0 -8
  1774. package/dist/esm/components/dropdown/dropdown.styles.js.map +0 -1
  1775. package/dist/esm/components/dropdown/index.js.map +0 -1
  1776. package/dist/esm/components/field/define.js.map +0 -1
  1777. package/dist/esm/components/field/field.definition.js.map +0 -1
  1778. package/dist/esm/components/field/field.js.map +0 -1
  1779. package/dist/esm/components/field/field.options.js.map +0 -1
  1780. package/dist/esm/components/field/field.styles.js.map +0 -1
  1781. package/dist/esm/components/field/index.js.map +0 -1
  1782. package/dist/esm/components/filter-pill/define.js.map +0 -1
  1783. package/dist/esm/components/filter-pill/filter-pill.definition.js.map +0 -1
  1784. package/dist/esm/components/filter-pill/filter-pill.js.map +0 -1
  1785. package/dist/esm/components/filter-pill/filter-pill.options.js.map +0 -1
  1786. package/dist/esm/components/filter-pill/filter-pill.styles.js +0 -52
  1787. package/dist/esm/components/filter-pill/filter-pill.styles.js.map +0 -1
  1788. package/dist/esm/components/filter-pill/filter-pill.template.js.map +0 -1
  1789. package/dist/esm/components/filter-pill/index.js.map +0 -1
  1790. package/dist/esm/components/image/define.js.map +0 -1
  1791. package/dist/esm/components/image/image.definition.js.map +0 -1
  1792. package/dist/esm/components/image/image.js.map +0 -1
  1793. package/dist/esm/components/image/image.options.js.map +0 -1
  1794. package/dist/esm/components/image/index.js.map +0 -1
  1795. package/dist/esm/components/label/define.js.map +0 -1
  1796. package/dist/esm/components/label/index.js.map +0 -1
  1797. package/dist/esm/components/label/label.definition.js.map +0 -1
  1798. package/dist/esm/components/label/label.js.map +0 -1
  1799. package/dist/esm/components/label/label.options.js.map +0 -1
  1800. package/dist/esm/components/link/define.js.map +0 -1
  1801. package/dist/esm/components/link/index.js +0 -4
  1802. package/dist/esm/components/link/index.js.map +0 -1
  1803. package/dist/esm/components/link/link.definition.js +0 -19
  1804. package/dist/esm/components/link/link.definition.js.map +0 -1
  1805. package/dist/esm/components/link/link.js +0 -51
  1806. package/dist/esm/components/link/link.js.map +0 -1
  1807. package/dist/esm/components/link/link.options.js.map +0 -1
  1808. package/dist/esm/components/listbox/define.js.map +0 -1
  1809. package/dist/esm/components/listbox/index.js.map +0 -1
  1810. package/dist/esm/components/listbox/listbox.definition.js.map +0 -1
  1811. package/dist/esm/components/listbox/listbox.js +0 -209
  1812. package/dist/esm/components/listbox/listbox.js.map +0 -1
  1813. package/dist/esm/components/listbox/listbox.styles.js.map +0 -1
  1814. package/dist/esm/components/loading-button/define.js +0 -4
  1815. package/dist/esm/components/loading-button/define.js.map +0 -1
  1816. package/dist/esm/components/loading-button/index.js.map +0 -1
  1817. package/dist/esm/components/loading-button/loading-button.definition.js +0 -22
  1818. package/dist/esm/components/loading-button/loading-button.definition.js.map +0 -1
  1819. package/dist/esm/components/loading-button/loading-button.js +0 -62
  1820. package/dist/esm/components/loading-button/loading-button.js.map +0 -1
  1821. package/dist/esm/components/loading-button/loading-button.styles.js.map +0 -1
  1822. package/dist/esm/components/loading-button/loading-button.template.js.map +0 -1
  1823. package/dist/esm/components/menu/define.js.map +0 -1
  1824. package/dist/esm/components/menu/index.js.map +0 -1
  1825. package/dist/esm/components/menu/menu.definition.js.map +0 -1
  1826. package/dist/esm/components/menu/menu.js +0 -626
  1827. package/dist/esm/components/menu/menu.js.map +0 -1
  1828. package/dist/esm/components/menu/menu.options.js.map +0 -1
  1829. package/dist/esm/components/menu/menu.positioning.js +0 -118
  1830. package/dist/esm/components/menu/menu.positioning.js.map +0 -1
  1831. package/dist/esm/components/menu/menu.styles.js +0 -13
  1832. package/dist/esm/components/menu/menu.styles.js.map +0 -1
  1833. package/dist/esm/components/menu/menu.template.js.map +0 -1
  1834. package/dist/esm/components/menu-button/define.js.map +0 -1
  1835. package/dist/esm/components/menu-button/index.js.map +0 -1
  1836. package/dist/esm/components/menu-button/menu-button.definition.js.map +0 -1
  1837. package/dist/esm/components/menu-button/menu-button.js.map +0 -1
  1838. package/dist/esm/components/menu-button/menu-button.options.js.map +0 -1
  1839. package/dist/esm/components/menu-item/define.js.map +0 -1
  1840. package/dist/esm/components/menu-item/index.js +0 -6
  1841. package/dist/esm/components/menu-item/index.js.map +0 -1
  1842. package/dist/esm/components/menu-item/menu-item.definition.js.map +0 -1
  1843. package/dist/esm/components/menu-item/menu-item.js +0 -371
  1844. package/dist/esm/components/menu-item/menu-item.js.map +0 -1
  1845. package/dist/esm/components/menu-item/menu-item.options.js +0 -44
  1846. package/dist/esm/components/menu-item/menu-item.options.js.map +0 -1
  1847. package/dist/esm/components/menu-item/menu-item.styles.js +0 -17
  1848. package/dist/esm/components/menu-item/menu-item.styles.js.map +0 -1
  1849. package/dist/esm/components/menu-item/menu-item.template.js.map +0 -1
  1850. package/dist/esm/components/menu-list/define.js.map +0 -1
  1851. package/dist/esm/components/menu-list/index.js.map +0 -1
  1852. package/dist/esm/components/menu-list/menu-list.definition.js.map +0 -1
  1853. package/dist/esm/components/menu-list/menu-list.js.map +0 -1
  1854. package/dist/esm/components/menu-list/menu-list.styles.js.map +0 -1
  1855. package/dist/esm/components/menu-list/menu-list.template.js.map +0 -1
  1856. package/dist/esm/components/message-bar/define.js.map +0 -1
  1857. package/dist/esm/components/message-bar/index.js.map +0 -1
  1858. package/dist/esm/components/message-bar/message-bar.definition.js.map +0 -1
  1859. package/dist/esm/components/message-bar/message-bar.js.map +0 -1
  1860. package/dist/esm/components/multi-view/define.js.map +0 -1
  1861. package/dist/esm/components/multi-view/index.js.map +0 -1
  1862. package/dist/esm/components/multi-view/multi-view.definition.js.map +0 -1
  1863. package/dist/esm/components/multi-view/multi-view.js.map +0 -1
  1864. package/dist/esm/components/multi-view/multi-view.options.js.map +0 -1
  1865. package/dist/esm/components/multi-view/multi-view.styles.js +0 -12
  1866. package/dist/esm/components/multi-view/multi-view.styles.js.map +0 -1
  1867. package/dist/esm/components/multi-view/multi-view.template.js.map +0 -1
  1868. package/dist/esm/components/multi-view-controller/define.js.map +0 -1
  1869. package/dist/esm/components/multi-view-controller/index.js.map +0 -1
  1870. package/dist/esm/components/multi-view-controller/multi-view-controller.definition.js.map +0 -1
  1871. package/dist/esm/components/multi-view-controller/multi-view-controller.js.map +0 -1
  1872. package/dist/esm/components/multi-view-controller/multi-view-controller.styles.js +0 -11
  1873. package/dist/esm/components/multi-view-controller/multi-view-controller.styles.js.map +0 -1
  1874. package/dist/esm/components/multi-view-controller/multi-view-controller.template.js.map +0 -1
  1875. package/dist/esm/components/multi-view-group/define.js.map +0 -1
  1876. package/dist/esm/components/multi-view-group/index.js.map +0 -1
  1877. package/dist/esm/components/multi-view-group/multi-view-group.definition.js.map +0 -1
  1878. package/dist/esm/components/multi-view-group/multi-view-group.js +0 -689
  1879. package/dist/esm/components/multi-view-group/multi-view-group.js.map +0 -1
  1880. package/dist/esm/components/multi-view-group/multi-view-group.options.js.map +0 -1
  1881. package/dist/esm/components/multi-view-group/multi-view-group.styles.js +0 -11
  1882. package/dist/esm/components/multi-view-group/multi-view-group.styles.js.map +0 -1
  1883. package/dist/esm/components/multi-view-group/multi-view-group.template.js.map +0 -1
  1884. package/dist/esm/components/option/define.js.map +0 -1
  1885. package/dist/esm/components/option/index.js.map +0 -1
  1886. package/dist/esm/components/option/option.definition.js.map +0 -1
  1887. package/dist/esm/components/option/option.js.map +0 -1
  1888. package/dist/esm/components/option-group/define.js.map +0 -1
  1889. package/dist/esm/components/option-group/index.js.map +0 -1
  1890. package/dist/esm/components/option-group/option-group.definition.js.map +0 -1
  1891. package/dist/esm/components/option-group/option-group.js.map +0 -1
  1892. package/dist/esm/components/option-group/option-group.options.js.map +0 -1
  1893. package/dist/esm/components/option-group/option-group.styles.js.map +0 -1
  1894. package/dist/esm/components/option-group/option-group.template.js.map +0 -1
  1895. package/dist/esm/components/patterns/aria-globals.js.map +0 -1
  1896. package/dist/esm/components/popover/define.js.map +0 -1
  1897. package/dist/esm/components/popover/index.js.map +0 -1
  1898. package/dist/esm/components/popover/popover.definition.js.map +0 -1
  1899. package/dist/esm/components/popover/popover.js.map +0 -1
  1900. package/dist/esm/components/popover/popover.options.js.map +0 -1
  1901. package/dist/esm/components/popover/popover.positioning.js.map +0 -1
  1902. package/dist/esm/components/popover/popover.styles.js.map +0 -1
  1903. package/dist/esm/components/popover/popover.template.js.map +0 -1
  1904. package/dist/esm/components/progress-bar/define.js.map +0 -1
  1905. package/dist/esm/components/progress-bar/index.js.map +0 -1
  1906. package/dist/esm/components/progress-bar/progress-bar.definition.js.map +0 -1
  1907. package/dist/esm/components/progress-bar/progress-bar.js.map +0 -1
  1908. package/dist/esm/components/progress-bar/progress-bar.options.js.map +0 -1
  1909. package/dist/esm/components/radio/define.js.map +0 -1
  1910. package/dist/esm/components/radio/index.js.map +0 -1
  1911. package/dist/esm/components/radio/radio.definition.js.map +0 -1
  1912. package/dist/esm/components/radio/radio.js.map +0 -1
  1913. package/dist/esm/components/radio-group/define.js.map +0 -1
  1914. package/dist/esm/components/radio-group/index.js.map +0 -1
  1915. package/dist/esm/components/radio-group/radio-group.definition.js.map +0 -1
  1916. package/dist/esm/components/radio-group/radio-group.js.map +0 -1
  1917. package/dist/esm/components/radio-group/radio-group.options.js.map +0 -1
  1918. package/dist/esm/components/rating-display/define.js.map +0 -1
  1919. package/dist/esm/components/rating-display/index.js.map +0 -1
  1920. package/dist/esm/components/rating-display/rating-display.definition.js.map +0 -1
  1921. package/dist/esm/components/rating-display/rating-display.js.map +0 -1
  1922. package/dist/esm/components/rating-display/rating-display.options.js.map +0 -1
  1923. package/dist/esm/components/search-box/define.js.map +0 -1
  1924. package/dist/esm/components/search-box/index.js.map +0 -1
  1925. package/dist/esm/components/search-box/search-box.definition.js +0 -21
  1926. package/dist/esm/components/search-box/search-box.definition.js.map +0 -1
  1927. package/dist/esm/components/search-box/search-box.js +0 -181
  1928. package/dist/esm/components/search-box/search-box.js.map +0 -1
  1929. package/dist/esm/components/search-box/search-box.options.js.map +0 -1
  1930. package/dist/esm/components/search-box/search-box.styles.js +0 -11
  1931. package/dist/esm/components/search-box/search-box.styles.js.map +0 -1
  1932. package/dist/esm/components/search-box/search-box.template.js +0 -17
  1933. package/dist/esm/components/search-box/search-box.template.js.map +0 -1
  1934. package/dist/esm/components/simple-table/define.js.map +0 -1
  1935. package/dist/esm/components/simple-table/index.js.map +0 -1
  1936. package/dist/esm/components/simple-table/simple-table.definition.js.map +0 -1
  1937. package/dist/esm/components/simple-table/simple-table.js.map +0 -1
  1938. package/dist/esm/components/simple-table/simple-table.styles.js +0 -12
  1939. package/dist/esm/components/simple-table/simple-table.styles.js.map +0 -1
  1940. package/dist/esm/components/slider/define.js.map +0 -1
  1941. package/dist/esm/components/slider/index.js.map +0 -1
  1942. package/dist/esm/components/slider/slider.definition.js.map +0 -1
  1943. package/dist/esm/components/slider/slider.js.map +0 -1
  1944. package/dist/esm/components/slider/slider.options.js.map +0 -1
  1945. package/dist/esm/components/spinner/define.js.map +0 -1
  1946. package/dist/esm/components/spinner/index.js.map +0 -1
  1947. package/dist/esm/components/spinner/spinner.definition.js.map +0 -1
  1948. package/dist/esm/components/spinner/spinner.js.map +0 -1
  1949. package/dist/esm/components/spinner/spinner.options.js.map +0 -1
  1950. package/dist/esm/components/styles/index.js.map +0 -1
  1951. package/dist/esm/components/styles/states/states.js +0 -638
  1952. package/dist/esm/components/styles/states/states.js.map +0 -1
  1953. package/dist/esm/components/svg-icon/define.js.map +0 -1
  1954. package/dist/esm/components/svg-icon/index.js.map +0 -1
  1955. package/dist/esm/components/svg-icon/scripts/sprite-builder.js.map +0 -1
  1956. package/dist/esm/components/svg-icon/scripts/svg-list.js.map +0 -1
  1957. package/dist/esm/components/svg-icon/scripts/svg-sanitizer.js.map +0 -1
  1958. package/dist/esm/components/svg-icon/services/svg-service.js.map +0 -1
  1959. package/dist/esm/components/svg-icon/svg-icon.definition.js.map +0 -1
  1960. package/dist/esm/components/svg-icon/svg-icon.js.map +0 -1
  1961. package/dist/esm/components/svg-icon/svg-icon.styles.js.map +0 -1
  1962. package/dist/esm/components/svg-icon/svg-icon.template.js.map +0 -1
  1963. package/dist/esm/components/switch/define.js.map +0 -1
  1964. package/dist/esm/components/switch/index.js.map +0 -1
  1965. package/dist/esm/components/switch/switch.definition.js.map +0 -1
  1966. package/dist/esm/components/switch/switch.js.map +0 -1
  1967. package/dist/esm/components/switch/switch.options.js.map +0 -1
  1968. package/dist/esm/components/tab/define.js.map +0 -1
  1969. package/dist/esm/components/tab/index.js.map +0 -1
  1970. package/dist/esm/components/tab/tab.definition.js.map +0 -1
  1971. package/dist/esm/components/tab/tab.js.map +0 -1
  1972. package/dist/esm/components/table/define.js.map +0 -1
  1973. package/dist/esm/components/table/index.js.map +0 -1
  1974. package/dist/esm/components/table/table.definition.js +0 -15
  1975. package/dist/esm/components/table/table.definition.js.map +0 -1
  1976. package/dist/esm/components/table/table.js +0 -491
  1977. package/dist/esm/components/table/table.js.map +0 -1
  1978. package/dist/esm/components/table/table.options.js.map +0 -1
  1979. package/dist/esm/components/table/table.styles.js.map +0 -1
  1980. package/dist/esm/components/table/table.template.js.map +0 -1
  1981. package/dist/esm/components/table-cell/define.js.map +0 -1
  1982. package/dist/esm/components/table-cell/index.js.map +0 -1
  1983. package/dist/esm/components/table-cell/table-cell.definition.js.map +0 -1
  1984. package/dist/esm/components/table-cell/table-cell.js.map +0 -1
  1985. package/dist/esm/components/table-cell/table-cell.options.js.map +0 -1
  1986. package/dist/esm/components/table-cell/table-cell.styles.js.map +0 -1
  1987. package/dist/esm/components/table-cell/table-cell.template.js.map +0 -1
  1988. package/dist/esm/components/tablist/define.js.map +0 -1
  1989. package/dist/esm/components/tablist/index.js.map +0 -1
  1990. package/dist/esm/components/tablist/tablist.definition.js.map +0 -1
  1991. package/dist/esm/components/tablist/tablist.js.map +0 -1
  1992. package/dist/esm/components/tablist/tablist.options.js.map +0 -1
  1993. package/dist/esm/components/tag/define.js.map +0 -1
  1994. package/dist/esm/components/tag/index.js.map +0 -1
  1995. package/dist/esm/components/tag/tag.definition.js +0 -21
  1996. package/dist/esm/components/tag/tag.definition.js.map +0 -1
  1997. package/dist/esm/components/tag/tag.js +0 -322
  1998. package/dist/esm/components/tag/tag.js.map +0 -1
  1999. package/dist/esm/components/tag/tag.options.js.map +0 -1
  2000. package/dist/esm/components/tag/tag.styles.js.map +0 -1
  2001. package/dist/esm/components/tag/tag.template.js.map +0 -1
  2002. package/dist/esm/components/teaching-bubble/define.js.map +0 -1
  2003. package/dist/esm/components/teaching-bubble/index.js.map +0 -1
  2004. package/dist/esm/components/teaching-bubble/teaching-bubble.definition.js.map +0 -1
  2005. package/dist/esm/components/teaching-bubble/teaching-bubble.js.map +0 -1
  2006. package/dist/esm/components/teaching-bubble/teaching-bubble.options.js.map +0 -1
  2007. package/dist/esm/components/teaching-bubble/teaching-bubble.styles.js.map +0 -1
  2008. package/dist/esm/components/teaching-bubble/teaching-bubble.template.js.map +0 -1
  2009. package/dist/esm/components/text/define.js.map +0 -1
  2010. package/dist/esm/components/text/index.js.map +0 -1
  2011. package/dist/esm/components/text/text.definition.js.map +0 -1
  2012. package/dist/esm/components/text/text.js.map +0 -1
  2013. package/dist/esm/components/text/text.options.js.map +0 -1
  2014. package/dist/esm/components/text-input/define.js.map +0 -1
  2015. package/dist/esm/components/text-input/index.js.map +0 -1
  2016. package/dist/esm/components/text-input/text-input.base.js.map +0 -1
  2017. package/dist/esm/components/text-input/text-input.definition.js.map +0 -1
  2018. package/dist/esm/components/text-input/text-input.js.map +0 -1
  2019. package/dist/esm/components/text-input/text-input.options.js.map +0 -1
  2020. package/dist/esm/components/text-input/text-input.styles.js +0 -15
  2021. package/dist/esm/components/text-input/text-input.styles.js.map +0 -1
  2022. package/dist/esm/components/text-input/text-input.template.js.map +0 -1
  2023. package/dist/esm/components/textarea/define.js.map +0 -1
  2024. package/dist/esm/components/textarea/index.js.map +0 -1
  2025. package/dist/esm/components/textarea/textarea.definition.js.map +0 -1
  2026. package/dist/esm/components/textarea/textarea.js.map +0 -1
  2027. package/dist/esm/components/textarea/textarea.options.js.map +0 -1
  2028. package/dist/esm/components/toggle-button/define.js.map +0 -1
  2029. package/dist/esm/components/toggle-button/index.js.map +0 -1
  2030. package/dist/esm/components/toggle-button/toggle-button.definition.js.map +0 -1
  2031. package/dist/esm/components/toggle-button/toggle-button.js.map +0 -1
  2032. package/dist/esm/components/toggle-button/toggle-button.options.js.map +0 -1
  2033. package/dist/esm/components/tooltip/define.js.map +0 -1
  2034. package/dist/esm/components/tooltip/index.js.map +0 -1
  2035. package/dist/esm/components/tooltip/tooltip.definition.js.map +0 -1
  2036. package/dist/esm/components/tooltip/tooltip.js +0 -118
  2037. package/dist/esm/components/tooltip/tooltip.js.map +0 -1
  2038. package/dist/esm/components/tooltip/tooltip.options.js.map +0 -1
  2039. package/dist/esm/components/tooltip/tooltip.template.js.map +0 -1
  2040. package/dist/esm/components/tree/define.js.map +0 -1
  2041. package/dist/esm/components/tree/index.js.map +0 -1
  2042. package/dist/esm/components/tree/tree.definition.js.map +0 -1
  2043. package/dist/esm/components/tree/tree.js +0 -82
  2044. package/dist/esm/components/tree/tree.js.map +0 -1
  2045. package/dist/esm/components/tree-item/define.js.map +0 -1
  2046. package/dist/esm/components/tree-item/index.js.map +0 -1
  2047. package/dist/esm/components/tree-item/tree-item.definition.js.map +0 -1
  2048. package/dist/esm/components/tree-item/tree-item.js +0 -59
  2049. package/dist/esm/components/tree-item/tree-item.js.map +0 -1
  2050. package/dist/esm/components/tree-item/tree-item.styles.js.map +0 -1
  2051. package/dist/esm/components/tree-item/tree-item.template.js +0 -6
  2052. package/dist/esm/components/tree-item/tree-item.template.js.map +0 -1
  2053. package/dist/esm/components/wizard/define.js.map +0 -1
  2054. package/dist/esm/components/wizard/index.js.map +0 -1
  2055. package/dist/esm/components/wizard/wizard.definition.js.map +0 -1
  2056. package/dist/esm/components/wizard/wizard.js.map +0 -1
  2057. package/dist/esm/components/wizard/wizard.options.js.map +0 -1
  2058. package/dist/esm/components/wizard/wizard.styles.js.map +0 -1
  2059. package/dist/esm/components/wizard/wizard.template.js.map +0 -1
  2060. package/dist/esm/components/wizard-panel/define.js.map +0 -1
  2061. package/dist/esm/components/wizard-panel/index.js.map +0 -1
  2062. package/dist/esm/components/wizard-panel/wizard-panel.cem.js.map +0 -1
  2063. package/dist/esm/components/wizard-panel/wizard-panel.definition.js.map +0 -1
  2064. package/dist/esm/components/wizard-panel/wizard-panel.js.map +0 -1
  2065. package/dist/esm/components/wizard-panel/wizard-panel.options.js.map +0 -1
  2066. package/dist/esm/components/wizard-panel/wizard-panel.styles.js.map +0 -1
  2067. package/dist/esm/components/wizard-panel/wizard-panel.template.js.map +0 -1
  2068. package/dist/esm/components/wizard-step/define.js.map +0 -1
  2069. package/dist/esm/components/wizard-step/index.js.map +0 -1
  2070. package/dist/esm/components/wizard-step/wizard-step.definition.js.map +0 -1
  2071. package/dist/esm/components/wizard-step/wizard-step.js.map +0 -1
  2072. package/dist/esm/components/wizard-step/wizard-step.options.js.map +0 -1
  2073. package/dist/esm/components/wizard-step/wizard-step.styles.js.map +0 -1
  2074. package/dist/esm/components/wizard-step/wizard-step.template.js.map +0 -1
  2075. package/dist/esm/components/wizard-step/wizard-step.unit.component.js.map +0 -1
  2076. package/dist/esm/index.js +0 -234
  2077. package/dist/esm/index.js.map +0 -1
  2078. package/dist/esm/static/component-svgs.js +0 -6
  2079. package/dist/esm/static/component-svgs.js.map +0 -1
  2080. package/dist/esm/util/accessibility-utilities.js.map +0 -1
  2081. package/dist/esm/util/apply-mixins.js.map +0 -1
  2082. package/dist/esm/util/attribute-utilities.js.map +0 -1
  2083. package/dist/esm/util/debounce.js.map +0 -1
  2084. package/dist/esm/util/debug.js.map +0 -1
  2085. package/dist/esm/util/descendants.js.map +0 -1
  2086. package/dist/esm/util/direction.js.map +0 -1
  2087. package/dist/esm/util/dom.js.map +0 -1
  2088. package/dist/esm/util/element-internal-mocks.js.map +0 -1
  2089. package/dist/esm/util/element-internals.js.map +0 -1
  2090. package/dist/esm/util/focus-management.js.map +0 -1
  2091. package/dist/esm/util/hash-utilities.js.map +0 -1
  2092. package/dist/esm/util/index.js +0 -18
  2093. package/dist/esm/util/index.js.map +0 -1
  2094. package/dist/esm/util/match-media-stylesheet-behaviors.js.map +0 -1
  2095. package/dist/esm/util/positioning/flexible-position-strategy.js +0 -232
  2096. package/dist/esm/util/positioning/flexible-position-strategy.js.map +0 -1
  2097. package/dist/esm/util/positioning/index.js.map +0 -1
  2098. package/dist/esm/util/positioning/position-calculator.js.map +0 -1
  2099. package/dist/esm/util/positioning/types.js.map +0 -1
  2100. package/dist/esm/util/support.js.map +0 -1
  2101. package/dist/esm/util/template-helpers.js.map +0 -1
  2102. package/dist/esm/util/typings.js.map +0 -1
  2103. package/dist/esm/util/whitespace-filter.js.map +0 -1
  2104. package/dist/index.d.ts +0 -9778
  2105. package/dist/index.d.ts.map +0 -1
  2106. package/dist/index.js +0 -18969
  2107. package/dist/index.js.map +0 -1
  2108. package/dist/index.min.js +0 -174
  2109. package/dist/index.min.js.map +0 -1
  2110. /package/{dist/dts → dts}/components/accordion/accordion.d.ts +0 -0
  2111. /package/{dist/dts → dts}/components/accordion/accordion.definition.d.ts +0 -0
  2112. /package/{dist/dts → dts}/components/accordion/accordion.options.d.ts +0 -0
  2113. /package/{dist/dts → dts}/components/accordion/define.d.ts +0 -0
  2114. /package/{dist/dts → dts}/components/accordion/index.d.ts +0 -0
  2115. /package/{dist/dts → dts}/components/accordion-item/accordion-item.d.ts +0 -0
  2116. /package/{dist/dts → dts}/components/accordion-item/accordion-item.definition.d.ts +0 -0
  2117. /package/{dist/dts → dts}/components/accordion-item/accordion-item.options.d.ts +0 -0
  2118. /package/{dist/dts → dts}/components/accordion-item/define.d.ts +0 -0
  2119. /package/{dist/dts → dts}/components/accordion-item/index.d.ts +0 -0
  2120. /package/{dist/dts → dts}/components/accordion-menu/accordion-menu.d.ts +0 -0
  2121. /package/{dist/dts → dts}/components/accordion-menu/accordion-menu.definition.d.ts +0 -0
  2122. /package/{dist/dts → dts}/components/accordion-menu/accordion-menu.options.d.ts +0 -0
  2123. /package/{dist/dts → dts}/components/accordion-menu/accordion-menu.styles.d.ts +0 -0
  2124. /package/{dist/dts → dts}/components/accordion-menu/accordion-menu.template.d.ts +0 -0
  2125. /package/{dist/dts → dts}/components/accordion-menu/define.d.ts +0 -0
  2126. /package/{dist/dts → dts}/components/accordion-menu/index.d.ts +0 -0
  2127. /package/{dist/dts → dts}/components/accordion-menu-panel/accordion-menu-panel.d.ts +0 -0
  2128. /package/{dist/dts → dts}/components/accordion-menu-panel/accordion-menu-panel.definition.d.ts +0 -0
  2129. /package/{dist/dts → dts}/components/accordion-menu-panel/accordion-menu-panel.options.d.ts +0 -0
  2130. /package/{dist/dts → dts}/components/accordion-menu-panel/accordion-menu-panel.styles.d.ts +0 -0
  2131. /package/{dist/dts → dts}/components/accordion-menu-panel/accordion-menu-panel.template.d.ts +0 -0
  2132. /package/{dist/dts → dts}/components/accordion-menu-panel/define.d.ts +0 -0
  2133. /package/{dist/dts → dts}/components/accordion-menu-panel/index.d.ts +0 -0
  2134. /package/{dist/dts → dts}/components/anchor-button/anchor-button.d.ts +0 -0
  2135. /package/{dist/dts → dts}/components/anchor-button/anchor-button.definition.d.ts +0 -0
  2136. /package/{dist/dts → dts}/components/anchor-button/anchor-button.options.d.ts +0 -0
  2137. /package/{dist/dts → dts}/components/anchor-button/define.d.ts +0 -0
  2138. /package/{dist/dts → dts}/components/anchor-button/index.d.ts +0 -0
  2139. /package/{dist/dts → dts}/components/avatar/avatar.d.ts +0 -0
  2140. /package/{dist/dts → dts}/components/avatar/avatar.definition.d.ts +0 -0
  2141. /package/{dist/dts → dts}/components/avatar/avatar.options.d.ts +0 -0
  2142. /package/{dist/dts → dts}/components/avatar/define.d.ts +0 -0
  2143. /package/{dist/dts → dts}/components/avatar/index.d.ts +0 -0
  2144. /package/{dist/dts → dts}/components/badge/badge.d.ts +0 -0
  2145. /package/{dist/dts → dts}/components/badge/badge.definition.d.ts +0 -0
  2146. /package/{dist/dts → dts}/components/badge/badge.options.d.ts +0 -0
  2147. /package/{dist/dts → dts}/components/badge/define.d.ts +0 -0
  2148. /package/{dist/dts → dts}/components/badge/index.d.ts +0 -0
  2149. /package/{dist/dts → dts}/components/button/button.d.ts +0 -0
  2150. /package/{dist/dts → dts}/components/button/button.definition.d.ts +0 -0
  2151. /package/{dist/dts → dts}/components/button/button.options.d.ts +0 -0
  2152. /package/{dist/dts → dts}/components/button/button.styles.d.ts +0 -0
  2153. /package/{dist/dts → dts}/components/button/define.d.ts +0 -0
  2154. /package/{dist/dts → dts}/components/button/index.d.ts +0 -0
  2155. /package/{dist/dts → dts}/components/card/card.d.ts +0 -0
  2156. /package/{dist/dts → dts}/components/card/card.definition.d.ts +0 -0
  2157. /package/{dist/dts → dts}/components/card/card.options.d.ts +0 -0
  2158. /package/{dist/dts → dts}/components/card/card.styles.d.ts +0 -0
  2159. /package/{dist/dts → dts}/components/card/card.template.d.ts +0 -0
  2160. /package/{dist/dts/components/carousel → dts/components/card}/define.d.ts +0 -0
  2161. /package/{dist/dts → dts}/components/card/index.d.ts +0 -0
  2162. /package/{dist/dts/components/card-footer → dts/components/card-carousel}/define.d.ts +0 -0
  2163. /package/{dist/dts → dts}/components/card-footer/card-footer.d.ts +0 -0
  2164. /package/{dist/dts → dts}/components/card-footer/card-footer.definition.d.ts +0 -0
  2165. /package/{dist/dts → dts}/components/card-footer/card-footer.styles.d.ts +0 -0
  2166. /package/{dist/dts → dts}/components/card-footer/card-footer.template.d.ts +0 -0
  2167. /package/{dist/dts/components/card-header → dts/components/card-footer}/define.d.ts +0 -0
  2168. /package/{dist/dts → dts}/components/card-footer/index.d.ts +0 -0
  2169. /package/{dist/dts → dts}/components/card-header/card-header.d.ts +0 -0
  2170. /package/{dist/dts → dts}/components/card-header/card-header.definition.d.ts +0 -0
  2171. /package/{dist/dts → dts}/components/card-header/card-header.styles.d.ts +0 -0
  2172. /package/{dist/dts → dts}/components/card-header/card-header.template.d.ts +0 -0
  2173. /package/{dist/dts/components/card-preview → dts/components/card-header}/define.d.ts +0 -0
  2174. /package/{dist/dts → dts}/components/card-header/index.d.ts +0 -0
  2175. /package/{dist/dts → dts}/components/card-preview/card-preview.d.ts +0 -0
  2176. /package/{dist/dts → dts}/components/card-preview/card-preview.definition.d.ts +0 -0
  2177. /package/{dist/dts → dts}/components/card-preview/card-preview.styles.d.ts +0 -0
  2178. /package/{dist/dts → dts}/components/card-preview/card-preview.template.d.ts +0 -0
  2179. /package/{dist/dts/components/card → dts/components/card-preview}/define.d.ts +0 -0
  2180. /package/{dist/dts → dts}/components/card-preview/index.d.ts +0 -0
  2181. /package/{dist/dts → dts}/components/carousel/carousel.template.d.ts +0 -0
  2182. /package/{dist/dts/components/checkbox → dts/components/carousel-item}/define.d.ts +0 -0
  2183. /package/{dist/dts/components/compound-button → dts/components/carousel-nav-item}/define.d.ts +0 -0
  2184. /package/{dist/dts → dts}/components/checkbox/checkbox.d.ts +0 -0
  2185. /package/{dist/dts → dts}/components/checkbox/checkbox.definition.d.ts +0 -0
  2186. /package/{dist/dts → dts}/components/checkbox/checkbox.options.d.ts +0 -0
  2187. /package/{dist/dts/components/counter-badge → dts/components/checkbox}/define.d.ts +0 -0
  2188. /package/{dist/dts → dts}/components/checkbox/index.d.ts +0 -0
  2189. /package/{dist/dts → dts}/components/compound-button/compound-button.d.ts +0 -0
  2190. /package/{dist/dts → dts}/components/compound-button/compound-button.definition.d.ts +0 -0
  2191. /package/{dist/dts → dts}/components/compound-button/compound-button.options.d.ts +0 -0
  2192. /package/{dist/dts → dts}/components/compound-button/compound-button.styles.d.ts +0 -0
  2193. /package/{dist/dts/components/dialog-body → dts/components/compound-button}/define.d.ts +0 -0
  2194. /package/{dist/dts → dts}/components/compound-button/index.d.ts +0 -0
  2195. /package/{dist/dts → dts}/components/counter-badge/counter-badge.d.ts +0 -0
  2196. /package/{dist/dts → dts}/components/counter-badge/counter-badge.definition.d.ts +0 -0
  2197. /package/{dist/dts → dts}/components/counter-badge/counter-badge.options.d.ts +0 -0
  2198. /package/{dist/dts/components/dialog → dts/components/counter-badge}/define.d.ts +0 -0
  2199. /package/{dist/dts → dts}/components/counter-badge/index.d.ts +0 -0
  2200. /package/{dist/dts → dts}/components/design-system.d.ts +0 -0
  2201. /package/{dist/dts/components/drawer-body → dts/components/dialog}/define.d.ts +0 -0
  2202. /package/{dist/dts → dts}/components/dialog/dialog.d.ts +0 -0
  2203. /package/{dist/dts → dts}/components/dialog/dialog.definition.d.ts +0 -0
  2204. /package/{dist/dts → dts}/components/dialog/dialog.options.d.ts +0 -0
  2205. /package/{dist/dts → dts}/components/dialog/dialog.styles.d.ts +0 -0
  2206. /package/{dist/dts → dts}/components/dialog/index.d.ts +0 -0
  2207. /package/{dist/dts/components/divider → dts/components/dialog-body}/define.d.ts +0 -0
  2208. /package/{dist/dts → dts}/components/dialog-body/dialog-body.d.ts +0 -0
  2209. /package/{dist/dts → dts}/components/dialog-body/dialog-body.definition.d.ts +0 -0
  2210. /package/{dist/dts → dts}/components/dialog-body/index.d.ts +0 -0
  2211. /package/{dist/dts/components/drawer → dts/components/divider}/define.d.ts +0 -0
  2212. /package/{dist/dts → dts}/components/divider/divider.d.ts +0 -0
  2213. /package/{dist/dts → dts}/components/divider/divider.definition.d.ts +0 -0
  2214. /package/{dist/dts → dts}/components/divider/divider.options.d.ts +0 -0
  2215. /package/{dist/dts → dts}/components/divider/divider.styles.d.ts +0 -0
  2216. /package/{dist/dts → dts}/components/divider/divider.template.d.ts +0 -0
  2217. /package/{dist/dts → dts}/components/divider/index.d.ts +0 -0
  2218. /package/{dist/dts/components/field → dts/components/drawer}/define.d.ts +0 -0
  2219. /package/{dist/dts → dts}/components/drawer/drawer.d.ts +0 -0
  2220. /package/{dist/dts → dts}/components/drawer/drawer.definition.d.ts +0 -0
  2221. /package/{dist/dts → dts}/components/drawer/drawer.options.d.ts +0 -0
  2222. /package/{dist/dts → dts}/components/drawer/index.d.ts +0 -0
  2223. /package/{dist/dts/components/dropdown → dts/components/drawer-body}/define.d.ts +0 -0
  2224. /package/{dist/dts → dts}/components/drawer-body/drawer-body.d.ts +0 -0
  2225. /package/{dist/dts → dts}/components/drawer-body/drawer-body.definition.d.ts +0 -0
  2226. /package/{dist/dts → dts}/components/drawer-body/index.d.ts +0 -0
  2227. /package/{dist/dts/components/filter-pill → dts/components/dropdown}/define.d.ts +0 -0
  2228. /package/{dist/dts → dts}/components/dropdown/dropdown.definition.d.ts +0 -0
  2229. /package/{dist/dts → dts}/components/dropdown/dropdown.options.d.ts +0 -0
  2230. /package/{dist/dts → dts}/components/dropdown/dropdown.styles.d.ts +0 -0
  2231. /package/{dist/dts → dts}/components/dropdown/index.d.ts +0 -0
  2232. /package/{dist/dts/components/image → dts/components/field}/define.d.ts +0 -0
  2233. /package/{dist/dts → dts}/components/field/field.d.ts +0 -0
  2234. /package/{dist/dts → dts}/components/field/field.definition.d.ts +0 -0
  2235. /package/{dist/dts → dts}/components/field/field.options.d.ts +0 -0
  2236. /package/{dist/dts → dts}/components/field/field.styles.d.ts +0 -0
  2237. /package/{dist/dts → dts}/components/field/index.d.ts +0 -0
  2238. /package/{dist/dts/components/label → dts/components/filter-pill}/define.d.ts +0 -0
  2239. /package/{dist/dts → dts}/components/filter-pill/filter-pill.d.ts +0 -0
  2240. /package/{dist/dts → dts}/components/filter-pill/filter-pill.definition.d.ts +0 -0
  2241. /package/{dist/dts → dts}/components/filter-pill/filter-pill.options.d.ts +0 -0
  2242. /package/{dist/dts → dts}/components/filter-pill/filter-pill.styles.d.ts +0 -0
  2243. /package/{dist/dts → dts}/components/filter-pill/filter-pill.template.d.ts +0 -0
  2244. /package/{dist/dts → dts}/components/filter-pill/index.d.ts +0 -0
  2245. /package/{dist/dts/components/link → dts/components/image}/define.d.ts +0 -0
  2246. /package/{dist/dts → dts}/components/image/image.d.ts +0 -0
  2247. /package/{dist/dts → dts}/components/image/image.definition.d.ts +0 -0
  2248. /package/{dist/dts → dts}/components/image/image.options.d.ts +0 -0
  2249. /package/{dist/dts → dts}/components/image/index.d.ts +0 -0
  2250. /package/{dist/dts/components/listbox → dts/components/label}/define.d.ts +0 -0
  2251. /package/{dist/dts → dts}/components/label/index.d.ts +0 -0
  2252. /package/{dist/dts → dts}/components/label/label.d.ts +0 -0
  2253. /package/{dist/dts → dts}/components/label/label.definition.d.ts +0 -0
  2254. /package/{dist/dts → dts}/components/label/label.options.d.ts +0 -0
  2255. /package/{dist/dts/components/loading-button → dts/components/link}/define.d.ts +0 -0
  2256. /package/{dist/dts → dts}/components/link/link.definition.d.ts +0 -0
  2257. /package/{dist/dts → dts}/components/link/link.options.d.ts +0 -0
  2258. /package/{dist/dts/components/menu-button → dts/components/listbox}/define.d.ts +0 -0
  2259. /package/{dist/dts → dts}/components/listbox/index.d.ts +0 -0
  2260. /package/{dist/dts → dts}/components/listbox/listbox.definition.d.ts +0 -0
  2261. /package/{dist/dts → dts}/components/listbox/listbox.styles.d.ts +0 -0
  2262. /package/{dist/dts/components/menu-item → dts/components/loading-button}/define.d.ts +0 -0
  2263. /package/{dist/dts → dts}/components/loading-button/index.d.ts +0 -0
  2264. /package/{dist/dts → dts}/components/loading-button/loading-button.styles.d.ts +0 -0
  2265. /package/{dist/dts/components/multi-view-controller → dts/components/menu}/define.d.ts +0 -0
  2266. /package/{dist/dts → dts}/components/menu/index.d.ts +0 -0
  2267. /package/{dist/dts → dts}/components/menu/menu.definition.d.ts +0 -0
  2268. /package/{dist/dts → dts}/components/menu/menu.options.d.ts +0 -0
  2269. /package/{dist/dts → dts}/components/menu/menu.positioning.d.ts +0 -0
  2270. /package/{dist/dts → dts}/components/menu/menu.styles.d.ts +0 -0
  2271. /package/{dist/dts → dts}/components/menu/menu.template.d.ts +0 -0
  2272. /package/{dist/dts/components/menu-list → dts/components/menu-button}/define.d.ts +0 -0
  2273. /package/{dist/dts → dts}/components/menu-button/index.d.ts +0 -0
  2274. /package/{dist/dts → dts}/components/menu-button/menu-button.d.ts +0 -0
  2275. /package/{dist/dts → dts}/components/menu-button/menu-button.definition.d.ts +0 -0
  2276. /package/{dist/dts → dts}/components/menu-button/menu-button.options.d.ts +0 -0
  2277. /package/{dist/dts/components/menu → dts/components/menu-item}/define.d.ts +0 -0
  2278. /package/{dist/dts → dts}/components/menu-item/menu-item.definition.d.ts +0 -0
  2279. /package/{dist/dts → dts}/components/menu-item/menu-item.styles.d.ts +0 -0
  2280. /package/{dist/dts → dts}/components/menu-item/menu-item.template.d.ts +0 -0
  2281. /package/{dist/dts/components/message-bar → dts/components/menu-list}/define.d.ts +0 -0
  2282. /package/{dist/dts → dts}/components/menu-list/index.d.ts +0 -0
  2283. /package/{dist/dts → dts}/components/menu-list/menu-list.d.ts +0 -0
  2284. /package/{dist/dts → dts}/components/menu-list/menu-list.definition.d.ts +0 -0
  2285. /package/{dist/dts → dts}/components/menu-list/menu-list.styles.d.ts +0 -0
  2286. /package/{dist/dts → dts}/components/menu-list/menu-list.template.d.ts +0 -0
  2287. /package/{dist/dts/components/multi-view-group → dts/components/message-bar}/define.d.ts +0 -0
  2288. /package/{dist/dts → dts}/components/message-bar/index.d.ts +0 -0
  2289. /package/{dist/dts → dts}/components/message-bar/message-bar.d.ts +0 -0
  2290. /package/{dist/dts → dts}/components/message-bar/message-bar.definition.d.ts +0 -0
  2291. /package/{dist/dts/components/option → dts/components/multi-view}/define.d.ts +0 -0
  2292. /package/{dist/dts → dts}/components/multi-view/index.d.ts +0 -0
  2293. /package/{dist/dts → dts}/components/multi-view/multi-view.d.ts +0 -0
  2294. /package/{dist/dts → dts}/components/multi-view/multi-view.definition.d.ts +0 -0
  2295. /package/{dist/dts → dts}/components/multi-view/multi-view.options.d.ts +0 -0
  2296. /package/{dist/dts → dts}/components/multi-view/multi-view.styles.d.ts +0 -0
  2297. /package/{dist/dts → dts}/components/multi-view/multi-view.template.d.ts +0 -0
  2298. /package/{dist/dts/components/multi-view → dts/components/multi-view-controller}/define.d.ts +0 -0
  2299. /package/{dist/dts → dts}/components/multi-view-controller/index.d.ts +0 -0
  2300. /package/{dist/dts → dts}/components/multi-view-controller/multi-view-controller.d.ts +0 -0
  2301. /package/{dist/dts → dts}/components/multi-view-controller/multi-view-controller.definition.d.ts +0 -0
  2302. /package/{dist/dts → dts}/components/multi-view-controller/multi-view-controller.styles.d.ts +0 -0
  2303. /package/{dist/dts → dts}/components/multi-view-controller/multi-view-controller.template.d.ts +0 -0
  2304. /package/{dist/dts/components/option-group → dts/components/multi-view-group}/define.d.ts +0 -0
  2305. /package/{dist/dts → dts}/components/multi-view-group/index.d.ts +0 -0
  2306. /package/{dist/dts → dts}/components/multi-view-group/multi-view-group.d.ts +0 -0
  2307. /package/{dist/dts → dts}/components/multi-view-group/multi-view-group.definition.d.ts +0 -0
  2308. /package/{dist/dts → dts}/components/multi-view-group/multi-view-group.options.d.ts +0 -0
  2309. /package/{dist/dts → dts}/components/multi-view-group/multi-view-group.styles.d.ts +0 -0
  2310. /package/{dist/dts → dts}/components/multi-view-group/multi-view-group.template.d.ts +0 -0
  2311. /package/{dist/dts/components/progress-bar → dts/components/option}/define.d.ts +0 -0
  2312. /package/{dist/dts → dts}/components/option/index.d.ts +0 -0
  2313. /package/{dist/dts → dts}/components/option/option.d.ts +0 -0
  2314. /package/{dist/dts → dts}/components/option/option.definition.d.ts +0 -0
  2315. /package/{dist/dts/components/popover → dts/components/option-group}/define.d.ts +0 -0
  2316. /package/{dist/dts → dts}/components/option-group/index.d.ts +0 -0
  2317. /package/{dist/dts → dts}/components/option-group/option-group.d.ts +0 -0
  2318. /package/{dist/dts → dts}/components/option-group/option-group.definition.d.ts +0 -0
  2319. /package/{dist/dts → dts}/components/option-group/option-group.options.d.ts +0 -0
  2320. /package/{dist/dts → dts}/components/option-group/option-group.styles.d.ts +0 -0
  2321. /package/{dist/dts → dts}/components/option-group/option-group.template.d.ts +0 -0
  2322. /package/{dist/dts/components/rating-display → dts/components/overflow}/define.d.ts +0 -0
  2323. /package/{dist/dts/components/radio-group → dts/components/overflow-divider}/define.d.ts +0 -0
  2324. /package/{dist/dts/components/radio → dts/components/overflow-item}/define.d.ts +0 -0
  2325. /package/{dist/dts → dts}/components/patterns/aria-globals.d.ts +0 -0
  2326. /package/{dist/dts/components/search-box → dts/components/popover}/define.d.ts +0 -0
  2327. /package/{dist/dts → dts}/components/popover/index.d.ts +0 -0
  2328. /package/{dist/dts → dts}/components/popover/popover.d.ts +0 -0
  2329. /package/{dist/dts → dts}/components/popover/popover.definition.d.ts +0 -0
  2330. /package/{dist/dts → dts}/components/popover/popover.options.d.ts +0 -0
  2331. /package/{dist/dts → dts}/components/popover/popover.positioning.d.ts +0 -0
  2332. /package/{dist/dts → dts}/components/popover/popover.styles.d.ts +0 -0
  2333. /package/{dist/dts → dts}/components/popover/popover.template.d.ts +0 -0
  2334. /package/{dist/dts/components/simple-table → dts/components/progress-bar}/define.d.ts +0 -0
  2335. /package/{dist/dts → dts}/components/progress-bar/index.d.ts +0 -0
  2336. /package/{dist/dts → dts}/components/progress-bar/progress-bar.d.ts +0 -0
  2337. /package/{dist/dts → dts}/components/progress-bar/progress-bar.definition.d.ts +0 -0
  2338. /package/{dist/dts → dts}/components/progress-bar/progress-bar.options.d.ts +0 -0
  2339. /package/{dist/dts/components/spinner → dts/components/radio}/define.d.ts +0 -0
  2340. /package/{dist/dts → dts}/components/radio/index.d.ts +0 -0
  2341. /package/{dist/dts → dts}/components/radio/radio.d.ts +0 -0
  2342. /package/{dist/dts → dts}/components/radio/radio.definition.d.ts +0 -0
  2343. /package/{dist/dts/components/slider → dts/components/radio-group}/define.d.ts +0 -0
  2344. /package/{dist/dts → dts}/components/radio-group/index.d.ts +0 -0
  2345. /package/{dist/dts → dts}/components/radio-group/radio-group.d.ts +0 -0
  2346. /package/{dist/dts → dts}/components/radio-group/radio-group.definition.d.ts +0 -0
  2347. /package/{dist/dts → dts}/components/radio-group/radio-group.options.d.ts +0 -0
  2348. /package/{dist/dts/components/svg-icon → dts/components/rating-display}/define.d.ts +0 -0
  2349. /package/{dist/dts → dts}/components/rating-display/index.d.ts +0 -0
  2350. /package/{dist/dts → dts}/components/rating-display/rating-display.d.ts +0 -0
  2351. /package/{dist/dts → dts}/components/rating-display/rating-display.definition.d.ts +0 -0
  2352. /package/{dist/dts → dts}/components/rating-display/rating-display.options.d.ts +0 -0
  2353. /package/{dist/dts/components/switch → dts/components/search-box}/define.d.ts +0 -0
  2354. /package/{dist/dts → dts}/components/search-box/index.d.ts +0 -0
  2355. /package/{dist/dts → dts}/components/search-box/search-box.d.ts +0 -0
  2356. /package/{dist/dts → dts}/components/search-box/search-box.options.d.ts +0 -0
  2357. /package/{dist/dts → dts}/components/search-box/search-box.styles.d.ts +0 -0
  2358. /package/{dist/dts → dts}/components/search-box/search-box.template.d.ts +0 -0
  2359. /package/{dist/dts/components/tab → dts/components/simple-table}/define.d.ts +0 -0
  2360. /package/{dist/dts → dts}/components/simple-table/index.d.ts +0 -0
  2361. /package/{dist/dts → dts}/components/simple-table/simple-table.d.ts +0 -0
  2362. /package/{dist/dts → dts}/components/simple-table/simple-table.definition.d.ts +0 -0
  2363. /package/{dist/dts → dts}/components/simple-table/simple-table.styles.d.ts +0 -0
  2364. /package/{dist/dts/components/table-cell → dts/components/slider}/define.d.ts +0 -0
  2365. /package/{dist/dts → dts}/components/slider/index.d.ts +0 -0
  2366. /package/{dist/dts → dts}/components/slider/slider.d.ts +0 -0
  2367. /package/{dist/dts → dts}/components/slider/slider.definition.d.ts +0 -0
  2368. /package/{dist/dts → dts}/components/slider/slider.options.d.ts +0 -0
  2369. /package/{dist/dts/components/table → dts/components/spin-button}/define.d.ts +0 -0
  2370. /package/{dist/dts/components/tablist → dts/components/spinner}/define.d.ts +0 -0
  2371. /package/{dist/dts → dts}/components/spinner/index.d.ts +0 -0
  2372. /package/{dist/dts → dts}/components/spinner/spinner.d.ts +0 -0
  2373. /package/{dist/dts → dts}/components/spinner/spinner.definition.d.ts +0 -0
  2374. /package/{dist/dts → dts}/components/spinner/spinner.options.d.ts +0 -0
  2375. /package/{dist/dts → dts}/components/styles/index.d.ts +0 -0
  2376. /package/{dist/dts → dts}/components/styles/states/states.d.ts +0 -0
  2377. /package/{dist/dts/components/tag → dts/components/svg-icon}/define.d.ts +0 -0
  2378. /package/{dist/dts → dts}/components/svg-icon/index.d.ts +0 -0
  2379. /package/{dist/dts → dts}/components/svg-icon/scripts/sprite-builder.d.ts +0 -0
  2380. /package/{dist/dts → dts}/components/svg-icon/scripts/svg-list.d.ts +0 -0
  2381. /package/{dist/dts → dts}/components/svg-icon/scripts/svg-sanitizer.d.ts +0 -0
  2382. /package/{dist/dts → dts}/components/svg-icon/services/svg-service.d.ts +0 -0
  2383. /package/{dist/dts → dts}/components/svg-icon/svg-icon.d.ts +0 -0
  2384. /package/{dist/dts → dts}/components/svg-icon/svg-icon.definition.d.ts +0 -0
  2385. /package/{dist/dts → dts}/components/svg-icon/svg-icon.styles.d.ts +0 -0
  2386. /package/{dist/dts → dts}/components/svg-icon/svg-icon.template.d.ts +0 -0
  2387. /package/{dist/dts/components/teaching-bubble → dts/components/switch}/define.d.ts +0 -0
  2388. /package/{dist/dts → dts}/components/switch/index.d.ts +0 -0
  2389. /package/{dist/dts → dts}/components/switch/switch.d.ts +0 -0
  2390. /package/{dist/dts → dts}/components/switch/switch.definition.d.ts +0 -0
  2391. /package/{dist/dts → dts}/components/switch/switch.options.d.ts +0 -0
  2392. /package/{dist/dts/components/text-input → dts/components/tab}/define.d.ts +0 -0
  2393. /package/{dist/dts → dts}/components/tab/index.d.ts +0 -0
  2394. /package/{dist/dts → dts}/components/tab/tab.d.ts +0 -0
  2395. /package/{dist/dts → dts}/components/tab/tab.definition.d.ts +0 -0
  2396. /package/{dist/dts/components/textarea → dts/components/table}/define.d.ts +0 -0
  2397. /package/{dist/dts → dts}/components/table/index.d.ts +0 -0
  2398. /package/{dist/dts → dts}/components/table/table.options.d.ts +0 -0
  2399. /package/{dist/dts → dts}/components/table/table.styles.d.ts +0 -0
  2400. /package/{dist/dts → dts}/components/table/table.template.d.ts +0 -0
  2401. /package/{dist/dts/components/text → dts/components/table-cell}/define.d.ts +0 -0
  2402. /package/{dist/dts → dts}/components/table-cell/index.d.ts +0 -0
  2403. /package/{dist/dts → dts}/components/table-cell/table-cell.d.ts +0 -0
  2404. /package/{dist/dts → dts}/components/table-cell/table-cell.definition.d.ts +0 -0
  2405. /package/{dist/dts → dts}/components/table-cell/table-cell.options.d.ts +0 -0
  2406. /package/{dist/dts → dts}/components/table-cell/table-cell.styles.d.ts +0 -0
  2407. /package/{dist/dts → dts}/components/table-cell/table-cell.template.d.ts +0 -0
  2408. /package/{dist/dts/components/toggle-button → dts/components/tablist}/define.d.ts +0 -0
  2409. /package/{dist/dts → dts}/components/tablist/index.d.ts +0 -0
  2410. /package/{dist/dts → dts}/components/tablist/tablist.d.ts +0 -0
  2411. /package/{dist/dts → dts}/components/tablist/tablist.definition.d.ts +0 -0
  2412. /package/{dist/dts → dts}/components/tablist/tablist.options.d.ts +0 -0
  2413. /package/{dist/dts/components/tooltip → dts/components/tag}/define.d.ts +0 -0
  2414. /package/{dist/dts → dts}/components/tag/index.d.ts +0 -0
  2415. /package/{dist/dts → dts}/components/tag/tag.d.ts +0 -0
  2416. /package/{dist/dts → dts}/components/tag/tag.options.d.ts +0 -0
  2417. /package/{dist/dts → dts}/components/tag/tag.styles.d.ts +0 -0
  2418. /package/{dist/dts → dts}/components/tag/tag.template.d.ts +0 -0
  2419. /package/{dist/dts/components/tree-item → dts/components/teaching-bubble}/define.d.ts +0 -0
  2420. /package/{dist/dts → dts}/components/teaching-bubble/index.d.ts +0 -0
  2421. /package/{dist/dts → dts}/components/teaching-bubble/teaching-bubble.d.ts +0 -0
  2422. /package/{dist/dts → dts}/components/teaching-bubble/teaching-bubble.definition.d.ts +0 -0
  2423. /package/{dist/dts → dts}/components/teaching-bubble/teaching-bubble.options.d.ts +0 -0
  2424. /package/{dist/dts → dts}/components/teaching-bubble/teaching-bubble.styles.d.ts +0 -0
  2425. /package/{dist/dts → dts}/components/teaching-bubble/teaching-bubble.template.d.ts +0 -0
  2426. /package/{dist/dts/components/wizard-panel → dts/components/text}/define.d.ts +0 -0
  2427. /package/{dist/dts → dts}/components/text/index.d.ts +0 -0
  2428. /package/{dist/dts → dts}/components/text/text.d.ts +0 -0
  2429. /package/{dist/dts → dts}/components/text/text.definition.d.ts +0 -0
  2430. /package/{dist/dts → dts}/components/text/text.options.d.ts +0 -0
  2431. /package/{dist/dts/components/tree → dts/components/text-input}/define.d.ts +0 -0
  2432. /package/{dist/dts → dts}/components/text-input/index.d.ts +0 -0
  2433. /package/{dist/dts → dts}/components/text-input/text-input.base.d.ts +0 -0
  2434. /package/{dist/dts → dts}/components/text-input/text-input.d.ts +0 -0
  2435. /package/{dist/dts → dts}/components/text-input/text-input.definition.d.ts +0 -0
  2436. /package/{dist/dts → dts}/components/text-input/text-input.options.d.ts +0 -0
  2437. /package/{dist/dts → dts}/components/text-input/text-input.styles.d.ts +0 -0
  2438. /package/{dist/dts → dts}/components/text-input/text-input.template.d.ts +0 -0
  2439. /package/{dist/dts/components/wizard-step → dts/components/textarea}/define.d.ts +0 -0
  2440. /package/{dist/dts → dts}/components/textarea/index.d.ts +0 -0
  2441. /package/{dist/dts → dts}/components/textarea/textarea.d.ts +0 -0
  2442. /package/{dist/dts → dts}/components/textarea/textarea.definition.d.ts +0 -0
  2443. /package/{dist/dts → dts}/components/textarea/textarea.options.d.ts +0 -0
  2444. /package/{dist/dts/components/wizard → dts/components/toggle-button}/define.d.ts +0 -0
  2445. /package/{dist/dts → dts}/components/toggle-button/index.d.ts +0 -0
  2446. /package/{dist/dts → dts}/components/toggle-button/toggle-button.d.ts +0 -0
  2447. /package/{dist/dts → dts}/components/toggle-button/toggle-button.definition.d.ts +0 -0
  2448. /package/{dist/dts → dts}/components/toggle-button/toggle-button.options.d.ts +0 -0
  2449. /package/{dist/dts → dts}/components/tooltip/index.d.ts +0 -0
  2450. /package/{dist/dts → dts}/components/tooltip/tooltip.definition.d.ts +0 -0
  2451. /package/{dist/dts → dts}/components/tooltip/tooltip.options.d.ts +0 -0
  2452. /package/{dist/dts → dts}/components/tooltip/tooltip.template.d.ts +0 -0
  2453. /package/{dist/dts → dts}/components/tree/index.d.ts +0 -0
  2454. /package/{dist/dts → dts}/components/tree/tree.d.ts +0 -0
  2455. /package/{dist/dts → dts}/components/tree/tree.definition.d.ts +0 -0
  2456. /package/{dist/dts → dts}/components/tree-item/index.d.ts +0 -0
  2457. /package/{dist/dts → dts}/components/tree-item/tree-item.definition.d.ts +0 -0
  2458. /package/{dist/dts → dts}/components/tree-item/tree-item.styles.d.ts +0 -0
  2459. /package/{dist/dts → dts}/components/tree-item/tree-item.template.d.ts +0 -0
  2460. /package/{dist/dts → dts}/components/wizard/index.d.ts +0 -0
  2461. /package/{dist/dts → dts}/components/wizard/wizard.d.ts +0 -0
  2462. /package/{dist/dts → dts}/components/wizard/wizard.definition.d.ts +0 -0
  2463. /package/{dist/dts → dts}/components/wizard/wizard.options.d.ts +0 -0
  2464. /package/{dist/dts → dts}/components/wizard/wizard.styles.d.ts +0 -0
  2465. /package/{dist/dts → dts}/components/wizard/wizard.template.d.ts +0 -0
  2466. /package/{dist/dts → dts}/components/wizard-panel/index.d.ts +0 -0
  2467. /package/{dist/dts → dts}/components/wizard-panel/wizard-panel.cem.d.ts +0 -0
  2468. /package/{dist/dts → dts}/components/wizard-panel/wizard-panel.d.ts +0 -0
  2469. /package/{dist/dts → dts}/components/wizard-panel/wizard-panel.definition.d.ts +0 -0
  2470. /package/{dist/dts → dts}/components/wizard-panel/wizard-panel.options.d.ts +0 -0
  2471. /package/{dist/dts → dts}/components/wizard-panel/wizard-panel.styles.d.ts +0 -0
  2472. /package/{dist/dts → dts}/components/wizard-panel/wizard-panel.template.d.ts +0 -0
  2473. /package/{dist/dts → dts}/components/wizard-step/index.d.ts +0 -0
  2474. /package/{dist/dts → dts}/components/wizard-step/wizard-step.d.ts +0 -0
  2475. /package/{dist/dts → dts}/components/wizard-step/wizard-step.definition.d.ts +0 -0
  2476. /package/{dist/dts → dts}/components/wizard-step/wizard-step.options.d.ts +0 -0
  2477. /package/{dist/dts → dts}/components/wizard-step/wizard-step.styles.d.ts +0 -0
  2478. /package/{dist/dts → dts}/components/wizard-step/wizard-step.template.d.ts +0 -0
  2479. /package/{dist/dts → dts}/components/wizard-step/wizard-step.unit.component.d.ts +0 -0
  2480. /package/{dist/dts → dts}/util/accessibility-utilities.d.ts +0 -0
  2481. /package/{dist/dts → dts}/util/apply-mixins.d.ts +0 -0
  2482. /package/{dist/dts → dts}/util/attribute-utilities.d.ts +0 -0
  2483. /package/{dist/dts → dts}/util/debounce.d.ts +0 -0
  2484. /package/{dist/dts → dts}/util/debug.d.ts +0 -0
  2485. /package/{dist/dts → dts}/util/descendants.d.ts +0 -0
  2486. /package/{dist/dts → dts}/util/direction.d.ts +0 -0
  2487. /package/{dist/dts → dts}/util/dom.d.ts +0 -0
  2488. /package/{dist/dts → dts}/util/element-internal-mocks.d.ts +0 -0
  2489. /package/{dist/dts → dts}/util/element-internals.d.ts +0 -0
  2490. /package/{dist/dts → dts}/util/focus-management.d.ts +0 -0
  2491. /package/{dist/dts → dts}/util/hash-utilities.d.ts +0 -0
  2492. /package/{dist/dts → dts}/util/positioning/index.d.ts +0 -0
  2493. /package/{dist/dts → dts}/util/positioning/position-calculator.d.ts +0 -0
  2494. /package/{dist/dts → dts}/util/positioning/types.d.ts +0 -0
  2495. /package/{dist/dts → dts}/util/support.d.ts +0 -0
  2496. /package/{dist/dts → dts}/util/template-helpers.d.ts +0 -0
  2497. /package/{dist/dts → dts}/util/typings.d.ts +0 -0
  2498. /package/{dist/dts → dts}/util/whitespace-filter.d.ts +0 -0
  2499. /package/{dist/esm → esm}/components/accordion/accordion.definition.js +0 -0
  2500. /package/{dist/esm → esm}/components/accordion/accordion.js +0 -0
  2501. /package/{dist/esm → esm}/components/accordion/accordion.options.js +0 -0
  2502. /package/{dist/esm → esm}/components/accordion/define.js +0 -0
  2503. /package/{dist/esm → esm}/components/accordion/index.js +0 -0
  2504. /package/{dist/esm → esm}/components/accordion-item/accordion-item.definition.js +0 -0
  2505. /package/{dist/esm → esm}/components/accordion-item/accordion-item.js +0 -0
  2506. /package/{dist/esm → esm}/components/accordion-item/accordion-item.options.js +0 -0
  2507. /package/{dist/esm → esm}/components/accordion-item/define.js +0 -0
  2508. /package/{dist/esm → esm}/components/accordion-item/index.js +0 -0
  2509. /package/{dist/esm → esm}/components/accordion-menu/accordion-menu.definition.js +0 -0
  2510. /package/{dist/esm → esm}/components/accordion-menu/accordion-menu.js +0 -0
  2511. /package/{dist/esm → esm}/components/accordion-menu/accordion-menu.options.js +0 -0
  2512. /package/{dist/esm → esm}/components/accordion-menu/accordion-menu.styles.js +0 -0
  2513. /package/{dist/esm → esm}/components/accordion-menu/accordion-menu.template.js +0 -0
  2514. /package/{dist/esm → esm}/components/accordion-menu/define.js +0 -0
  2515. /package/{dist/esm → esm}/components/accordion-menu/index.js +0 -0
  2516. /package/{dist/esm → esm}/components/accordion-menu-panel/accordion-menu-panel.definition.js +0 -0
  2517. /package/{dist/esm → esm}/components/accordion-menu-panel/accordion-menu-panel.js +0 -0
  2518. /package/{dist/esm → esm}/components/accordion-menu-panel/accordion-menu-panel.options.js +0 -0
  2519. /package/{dist/esm → esm}/components/accordion-menu-panel/define.js +0 -0
  2520. /package/{dist/esm → esm}/components/accordion-menu-panel/index.js +0 -0
  2521. /package/{dist/esm → esm}/components/anchor-button/anchor-button.definition.js +0 -0
  2522. /package/{dist/esm → esm}/components/anchor-button/anchor-button.js +0 -0
  2523. /package/{dist/esm → esm}/components/anchor-button/anchor-button.options.js +0 -0
  2524. /package/{dist/esm → esm}/components/anchor-button/define.js +0 -0
  2525. /package/{dist/esm → esm}/components/anchor-button/index.js +0 -0
  2526. /package/{dist/esm → esm}/components/avatar/avatar.definition.js +0 -0
  2527. /package/{dist/esm → esm}/components/avatar/avatar.js +0 -0
  2528. /package/{dist/esm → esm}/components/avatar/avatar.options.js +0 -0
  2529. /package/{dist/esm → esm}/components/avatar/define.js +0 -0
  2530. /package/{dist/esm → esm}/components/avatar/index.js +0 -0
  2531. /package/{dist/esm → esm}/components/badge/badge.definition.js +0 -0
  2532. /package/{dist/esm → esm}/components/badge/badge.js +0 -0
  2533. /package/{dist/esm → esm}/components/badge/badge.options.js +0 -0
  2534. /package/{dist/esm → esm}/components/badge/define.js +0 -0
  2535. /package/{dist/esm → esm}/components/badge/index.js +0 -0
  2536. /package/{dist/esm → esm}/components/button/button.definition.js +0 -0
  2537. /package/{dist/esm → esm}/components/button/button.js +0 -0
  2538. /package/{dist/esm → esm}/components/button/button.options.js +0 -0
  2539. /package/{dist/esm → esm}/components/button/define.js +0 -0
  2540. /package/{dist/esm → esm}/components/button/index.js +0 -0
  2541. /package/{dist/esm → esm}/components/card/card.definition.js +0 -0
  2542. /package/{dist/esm → esm}/components/card/card.js +0 -0
  2543. /package/{dist/esm → esm}/components/card/card.options.js +0 -0
  2544. /package/{dist/esm → esm}/components/card/card.styles.js +0 -0
  2545. /package/{dist/esm → esm}/components/card/card.template.js +0 -0
  2546. /package/{dist/esm → esm}/components/card/define.js +0 -0
  2547. /package/{dist/esm → esm}/components/card/index.js +0 -0
  2548. /package/{dist/esm/components/carousel/carousel.styles.js → esm/components/card-carousel/card-carousel.styles.js} +0 -0
  2549. /package/{dist/esm → esm}/components/card-footer/card-footer.definition.js +0 -0
  2550. /package/{dist/esm → esm}/components/card-footer/card-footer.js +0 -0
  2551. /package/{dist/esm → esm}/components/card-footer/card-footer.styles.js +0 -0
  2552. /package/{dist/esm → esm}/components/card-footer/card-footer.template.js +0 -0
  2553. /package/{dist/esm → esm}/components/card-footer/define.js +0 -0
  2554. /package/{dist/esm → esm}/components/card-footer/index.js +0 -0
  2555. /package/{dist/esm → esm}/components/card-header/card-header.definition.js +0 -0
  2556. /package/{dist/esm → esm}/components/card-header/card-header.js +0 -0
  2557. /package/{dist/esm → esm}/components/card-header/card-header.styles.js +0 -0
  2558. /package/{dist/esm → esm}/components/card-header/card-header.template.js +0 -0
  2559. /package/{dist/esm → esm}/components/card-header/define.js +0 -0
  2560. /package/{dist/esm → esm}/components/card-header/index.js +0 -0
  2561. /package/{dist/esm → esm}/components/card-preview/card-preview.definition.js +0 -0
  2562. /package/{dist/esm → esm}/components/card-preview/card-preview.js +0 -0
  2563. /package/{dist/esm → esm}/components/card-preview/card-preview.styles.js +0 -0
  2564. /package/{dist/esm → esm}/components/card-preview/card-preview.template.js +0 -0
  2565. /package/{dist/esm → esm}/components/card-preview/define.js +0 -0
  2566. /package/{dist/esm → esm}/components/card-preview/index.js +0 -0
  2567. /package/{dist/esm → esm}/components/checkbox/checkbox.definition.js +0 -0
  2568. /package/{dist/esm → esm}/components/checkbox/checkbox.js +0 -0
  2569. /package/{dist/esm → esm}/components/checkbox/checkbox.options.js +0 -0
  2570. /package/{dist/esm → esm}/components/checkbox/define.js +0 -0
  2571. /package/{dist/esm → esm}/components/checkbox/index.js +0 -0
  2572. /package/{dist/esm → esm}/components/compound-button/compound-button.definition.js +0 -0
  2573. /package/{dist/esm → esm}/components/compound-button/compound-button.js +0 -0
  2574. /package/{dist/esm → esm}/components/compound-button/compound-button.options.js +0 -0
  2575. /package/{dist/esm → esm}/components/compound-button/compound-button.styles.js +0 -0
  2576. /package/{dist/esm → esm}/components/compound-button/define.js +0 -0
  2577. /package/{dist/esm → esm}/components/compound-button/index.js +0 -0
  2578. /package/{dist/esm → esm}/components/counter-badge/counter-badge.definition.js +0 -0
  2579. /package/{dist/esm → esm}/components/counter-badge/counter-badge.js +0 -0
  2580. /package/{dist/esm → esm}/components/counter-badge/counter-badge.options.js +0 -0
  2581. /package/{dist/esm → esm}/components/counter-badge/define.js +0 -0
  2582. /package/{dist/esm → esm}/components/counter-badge/index.js +0 -0
  2583. /package/{dist/esm → esm}/components/design-system.js +0 -0
  2584. /package/{dist/esm → esm}/components/dialog/define.js +0 -0
  2585. /package/{dist/esm → esm}/components/dialog/dialog.definition.js +0 -0
  2586. /package/{dist/esm → esm}/components/dialog/dialog.js +0 -0
  2587. /package/{dist/esm → esm}/components/dialog/dialog.options.js +0 -0
  2588. /package/{dist/esm → esm}/components/dialog/dialog.styles.js +0 -0
  2589. /package/{dist/esm → esm}/components/dialog/index.js +0 -0
  2590. /package/{dist/esm → esm}/components/dialog-body/define.js +0 -0
  2591. /package/{dist/esm → esm}/components/dialog-body/dialog-body.definition.js +0 -0
  2592. /package/{dist/esm → esm}/components/dialog-body/dialog-body.js +0 -0
  2593. /package/{dist/esm → esm}/components/dialog-body/index.js +0 -0
  2594. /package/{dist/esm → esm}/components/divider/define.js +0 -0
  2595. /package/{dist/esm → esm}/components/divider/divider.definition.js +0 -0
  2596. /package/{dist/esm → esm}/components/divider/divider.js +0 -0
  2597. /package/{dist/esm → esm}/components/divider/divider.options.js +0 -0
  2598. /package/{dist/esm → esm}/components/divider/divider.styles.js +0 -0
  2599. /package/{dist/esm → esm}/components/divider/divider.template.js +0 -0
  2600. /package/{dist/esm → esm}/components/divider/index.js +0 -0
  2601. /package/{dist/esm → esm}/components/drawer/define.js +0 -0
  2602. /package/{dist/esm → esm}/components/drawer/drawer.definition.js +0 -0
  2603. /package/{dist/esm → esm}/components/drawer/drawer.js +0 -0
  2604. /package/{dist/esm → esm}/components/drawer/drawer.options.js +0 -0
  2605. /package/{dist/esm → esm}/components/drawer/index.js +0 -0
  2606. /package/{dist/esm → esm}/components/drawer-body/define.js +0 -0
  2607. /package/{dist/esm → esm}/components/drawer-body/drawer-body.definition.js +0 -0
  2608. /package/{dist/esm → esm}/components/drawer-body/drawer-body.js +0 -0
  2609. /package/{dist/esm → esm}/components/drawer-body/index.js +0 -0
  2610. /package/{dist/esm → esm}/components/dropdown/define.js +0 -0
  2611. /package/{dist/esm → esm}/components/dropdown/dropdown.definition.js +0 -0
  2612. /package/{dist/esm → esm}/components/dropdown/dropdown.options.js +0 -0
  2613. /package/{dist/esm → esm}/components/dropdown/index.js +0 -0
  2614. /package/{dist/esm → esm}/components/field/define.js +0 -0
  2615. /package/{dist/esm → esm}/components/field/field.definition.js +0 -0
  2616. /package/{dist/esm → esm}/components/field/field.js +0 -0
  2617. /package/{dist/esm → esm}/components/field/field.options.js +0 -0
  2618. /package/{dist/esm → esm}/components/field/field.styles.js +0 -0
  2619. /package/{dist/esm → esm}/components/field/index.js +0 -0
  2620. /package/{dist/esm → esm}/components/filter-pill/define.js +0 -0
  2621. /package/{dist/esm → esm}/components/filter-pill/filter-pill.definition.js +0 -0
  2622. /package/{dist/esm → esm}/components/filter-pill/filter-pill.js +0 -0
  2623. /package/{dist/esm → esm}/components/filter-pill/filter-pill.options.js +0 -0
  2624. /package/{dist/esm → esm}/components/filter-pill/filter-pill.template.js +0 -0
  2625. /package/{dist/esm → esm}/components/filter-pill/index.js +0 -0
  2626. /package/{dist/esm → esm}/components/image/define.js +0 -0
  2627. /package/{dist/esm → esm}/components/image/image.definition.js +0 -0
  2628. /package/{dist/esm → esm}/components/image/image.js +0 -0
  2629. /package/{dist/esm → esm}/components/image/image.options.js +0 -0
  2630. /package/{dist/esm → esm}/components/image/index.js +0 -0
  2631. /package/{dist/esm → esm}/components/label/define.js +0 -0
  2632. /package/{dist/esm → esm}/components/label/index.js +0 -0
  2633. /package/{dist/esm → esm}/components/label/label.definition.js +0 -0
  2634. /package/{dist/esm → esm}/components/label/label.js +0 -0
  2635. /package/{dist/esm → esm}/components/label/label.options.js +0 -0
  2636. /package/{dist/esm → esm}/components/link/define.js +0 -0
  2637. /package/{dist/esm → esm}/components/link/link.options.js +0 -0
  2638. /package/{dist/esm → esm}/components/listbox/define.js +0 -0
  2639. /package/{dist/esm → esm}/components/listbox/index.js +0 -0
  2640. /package/{dist/esm → esm}/components/listbox/listbox.definition.js +0 -0
  2641. /package/{dist/esm → esm}/components/listbox/listbox.styles.js +0 -0
  2642. /package/{dist/esm → esm}/components/loading-button/index.js +0 -0
  2643. /package/{dist/esm → esm}/components/loading-button/loading-button.styles.js +0 -0
  2644. /package/{dist/esm → esm}/components/loading-button/loading-button.template.js +0 -0
  2645. /package/{dist/esm → esm}/components/menu/define.js +0 -0
  2646. /package/{dist/esm → esm}/components/menu/index.js +0 -0
  2647. /package/{dist/esm → esm}/components/menu/menu.definition.js +0 -0
  2648. /package/{dist/esm → esm}/components/menu/menu.options.js +0 -0
  2649. /package/{dist/esm → esm}/components/menu/menu.template.js +0 -0
  2650. /package/{dist/esm → esm}/components/menu-button/define.js +0 -0
  2651. /package/{dist/esm → esm}/components/menu-button/index.js +0 -0
  2652. /package/{dist/esm → esm}/components/menu-button/menu-button.definition.js +0 -0
  2653. /package/{dist/esm → esm}/components/menu-button/menu-button.js +0 -0
  2654. /package/{dist/esm → esm}/components/menu-button/menu-button.options.js +0 -0
  2655. /package/{dist/esm → esm}/components/menu-item/define.js +0 -0
  2656. /package/{dist/esm → esm}/components/menu-item/menu-item.definition.js +0 -0
  2657. /package/{dist/esm → esm}/components/menu-item/menu-item.template.js +0 -0
  2658. /package/{dist/esm → esm}/components/menu-list/define.js +0 -0
  2659. /package/{dist/esm → esm}/components/menu-list/index.js +0 -0
  2660. /package/{dist/esm → esm}/components/menu-list/menu-list.definition.js +0 -0
  2661. /package/{dist/esm → esm}/components/menu-list/menu-list.js +0 -0
  2662. /package/{dist/esm → esm}/components/menu-list/menu-list.styles.js +0 -0
  2663. /package/{dist/esm → esm}/components/menu-list/menu-list.template.js +0 -0
  2664. /package/{dist/esm → esm}/components/message-bar/define.js +0 -0
  2665. /package/{dist/esm → esm}/components/message-bar/index.js +0 -0
  2666. /package/{dist/esm → esm}/components/message-bar/message-bar.definition.js +0 -0
  2667. /package/{dist/esm → esm}/components/message-bar/message-bar.js +0 -0
  2668. /package/{dist/esm → esm}/components/multi-view/define.js +0 -0
  2669. /package/{dist/esm → esm}/components/multi-view/index.js +0 -0
  2670. /package/{dist/esm → esm}/components/multi-view/multi-view.definition.js +0 -0
  2671. /package/{dist/esm → esm}/components/multi-view/multi-view.js +0 -0
  2672. /package/{dist/esm → esm}/components/multi-view/multi-view.options.js +0 -0
  2673. /package/{dist/esm → esm}/components/multi-view/multi-view.template.js +0 -0
  2674. /package/{dist/esm → esm}/components/multi-view-controller/define.js +0 -0
  2675. /package/{dist/esm → esm}/components/multi-view-controller/index.js +0 -0
  2676. /package/{dist/esm → esm}/components/multi-view-controller/multi-view-controller.definition.js +0 -0
  2677. /package/{dist/esm → esm}/components/multi-view-controller/multi-view-controller.js +0 -0
  2678. /package/{dist/esm → esm}/components/multi-view-controller/multi-view-controller.template.js +0 -0
  2679. /package/{dist/esm → esm}/components/multi-view-group/define.js +0 -0
  2680. /package/{dist/esm → esm}/components/multi-view-group/index.js +0 -0
  2681. /package/{dist/esm → esm}/components/multi-view-group/multi-view-group.definition.js +0 -0
  2682. /package/{dist/esm → esm}/components/multi-view-group/multi-view-group.options.js +0 -0
  2683. /package/{dist/esm → esm}/components/multi-view-group/multi-view-group.template.js +0 -0
  2684. /package/{dist/esm → esm}/components/option/define.js +0 -0
  2685. /package/{dist/esm → esm}/components/option/index.js +0 -0
  2686. /package/{dist/esm → esm}/components/option/option.definition.js +0 -0
  2687. /package/{dist/esm → esm}/components/option/option.js +0 -0
  2688. /package/{dist/esm → esm}/components/option-group/define.js +0 -0
  2689. /package/{dist/esm → esm}/components/option-group/index.js +0 -0
  2690. /package/{dist/esm → esm}/components/option-group/option-group.definition.js +0 -0
  2691. /package/{dist/esm → esm}/components/option-group/option-group.js +0 -0
  2692. /package/{dist/esm → esm}/components/option-group/option-group.options.js +0 -0
  2693. /package/{dist/esm → esm}/components/option-group/option-group.styles.js +0 -0
  2694. /package/{dist/esm → esm}/components/option-group/option-group.template.js +0 -0
  2695. /package/{dist/esm → esm}/components/patterns/aria-globals.js +0 -0
  2696. /package/{dist/esm → esm}/components/popover/define.js +0 -0
  2697. /package/{dist/esm → esm}/components/popover/index.js +0 -0
  2698. /package/{dist/esm → esm}/components/popover/popover.definition.js +0 -0
  2699. /package/{dist/esm → esm}/components/popover/popover.js +0 -0
  2700. /package/{dist/esm → esm}/components/popover/popover.options.js +0 -0
  2701. /package/{dist/esm → esm}/components/popover/popover.positioning.js +0 -0
  2702. /package/{dist/esm → esm}/components/popover/popover.styles.js +0 -0
  2703. /package/{dist/esm → esm}/components/popover/popover.template.js +0 -0
  2704. /package/{dist/esm → esm}/components/progress-bar/define.js +0 -0
  2705. /package/{dist/esm → esm}/components/progress-bar/index.js +0 -0
  2706. /package/{dist/esm → esm}/components/progress-bar/progress-bar.definition.js +0 -0
  2707. /package/{dist/esm → esm}/components/progress-bar/progress-bar.js +0 -0
  2708. /package/{dist/esm → esm}/components/progress-bar/progress-bar.options.js +0 -0
  2709. /package/{dist/esm → esm}/components/radio/define.js +0 -0
  2710. /package/{dist/esm → esm}/components/radio/index.js +0 -0
  2711. /package/{dist/esm → esm}/components/radio/radio.definition.js +0 -0
  2712. /package/{dist/esm → esm}/components/radio/radio.js +0 -0
  2713. /package/{dist/esm → esm}/components/radio-group/define.js +0 -0
  2714. /package/{dist/esm → esm}/components/radio-group/index.js +0 -0
  2715. /package/{dist/esm → esm}/components/radio-group/radio-group.definition.js +0 -0
  2716. /package/{dist/esm → esm}/components/radio-group/radio-group.js +0 -0
  2717. /package/{dist/esm → esm}/components/radio-group/radio-group.options.js +0 -0
  2718. /package/{dist/esm → esm}/components/rating-display/define.js +0 -0
  2719. /package/{dist/esm → esm}/components/rating-display/index.js +0 -0
  2720. /package/{dist/esm → esm}/components/rating-display/rating-display.definition.js +0 -0
  2721. /package/{dist/esm → esm}/components/rating-display/rating-display.js +0 -0
  2722. /package/{dist/esm → esm}/components/rating-display/rating-display.options.js +0 -0
  2723. /package/{dist/esm → esm}/components/search-box/define.js +0 -0
  2724. /package/{dist/esm → esm}/components/search-box/index.js +0 -0
  2725. /package/{dist/esm → esm}/components/search-box/search-box.options.js +0 -0
  2726. /package/{dist/esm → esm}/components/simple-table/define.js +0 -0
  2727. /package/{dist/esm → esm}/components/simple-table/index.js +0 -0
  2728. /package/{dist/esm → esm}/components/simple-table/simple-table.definition.js +0 -0
  2729. /package/{dist/esm → esm}/components/simple-table/simple-table.js +0 -0
  2730. /package/{dist/esm → esm}/components/slider/define.js +0 -0
  2731. /package/{dist/esm → esm}/components/slider/index.js +0 -0
  2732. /package/{dist/esm → esm}/components/slider/slider.definition.js +0 -0
  2733. /package/{dist/esm → esm}/components/slider/slider.js +0 -0
  2734. /package/{dist/esm → esm}/components/slider/slider.options.js +0 -0
  2735. /package/{dist/esm → esm}/components/spinner/define.js +0 -0
  2736. /package/{dist/esm → esm}/components/spinner/index.js +0 -0
  2737. /package/{dist/esm → esm}/components/spinner/spinner.definition.js +0 -0
  2738. /package/{dist/esm → esm}/components/spinner/spinner.js +0 -0
  2739. /package/{dist/esm → esm}/components/spinner/spinner.options.js +0 -0
  2740. /package/{dist/esm → esm}/components/styles/index.js +0 -0
  2741. /package/{dist/esm → esm}/components/svg-icon/define.js +0 -0
  2742. /package/{dist/esm → esm}/components/svg-icon/index.js +0 -0
  2743. /package/{dist/esm → esm}/components/svg-icon/scripts/sprite-builder.js +0 -0
  2744. /package/{dist/esm → esm}/components/svg-icon/scripts/svg-list.js +0 -0
  2745. /package/{dist/esm → esm}/components/svg-icon/scripts/svg-sanitizer.js +0 -0
  2746. /package/{dist/esm → esm}/components/svg-icon/services/svg-service.js +0 -0
  2747. /package/{dist/esm → esm}/components/svg-icon/svg-icon.definition.js +0 -0
  2748. /package/{dist/esm → esm}/components/svg-icon/svg-icon.js +0 -0
  2749. /package/{dist/esm → esm}/components/svg-icon/svg-icon.styles.js +0 -0
  2750. /package/{dist/esm → esm}/components/svg-icon/svg-icon.template.js +0 -0
  2751. /package/{dist/esm → esm}/components/switch/define.js +0 -0
  2752. /package/{dist/esm → esm}/components/switch/index.js +0 -0
  2753. /package/{dist/esm → esm}/components/switch/switch.definition.js +0 -0
  2754. /package/{dist/esm → esm}/components/switch/switch.js +0 -0
  2755. /package/{dist/esm → esm}/components/switch/switch.options.js +0 -0
  2756. /package/{dist/esm → esm}/components/tab/define.js +0 -0
  2757. /package/{dist/esm → esm}/components/tab/index.js +0 -0
  2758. /package/{dist/esm → esm}/components/tab/tab.definition.js +0 -0
  2759. /package/{dist/esm → esm}/components/tab/tab.js +0 -0
  2760. /package/{dist/esm → esm}/components/table/define.js +0 -0
  2761. /package/{dist/esm → esm}/components/table/index.js +0 -0
  2762. /package/{dist/esm → esm}/components/table/table.options.js +0 -0
  2763. /package/{dist/esm → esm}/components/table/table.styles.js +0 -0
  2764. /package/{dist/esm → esm}/components/table/table.template.js +0 -0
  2765. /package/{dist/esm → esm}/components/table-cell/define.js +0 -0
  2766. /package/{dist/esm → esm}/components/table-cell/index.js +0 -0
  2767. /package/{dist/esm → esm}/components/table-cell/table-cell.definition.js +0 -0
  2768. /package/{dist/esm → esm}/components/table-cell/table-cell.js +0 -0
  2769. /package/{dist/esm → esm}/components/table-cell/table-cell.options.js +0 -0
  2770. /package/{dist/esm → esm}/components/table-cell/table-cell.styles.js +0 -0
  2771. /package/{dist/esm → esm}/components/table-cell/table-cell.template.js +0 -0
  2772. /package/{dist/esm → esm}/components/tablist/define.js +0 -0
  2773. /package/{dist/esm → esm}/components/tablist/index.js +0 -0
  2774. /package/{dist/esm → esm}/components/tablist/tablist.definition.js +0 -0
  2775. /package/{dist/esm → esm}/components/tablist/tablist.js +0 -0
  2776. /package/{dist/esm → esm}/components/tablist/tablist.options.js +0 -0
  2777. /package/{dist/esm → esm}/components/tag/define.js +0 -0
  2778. /package/{dist/esm → esm}/components/tag/index.js +0 -0
  2779. /package/{dist/esm → esm}/components/tag/tag.options.js +0 -0
  2780. /package/{dist/esm → esm}/components/tag/tag.styles.js +0 -0
  2781. /package/{dist/esm → esm}/components/tag/tag.template.js +0 -0
  2782. /package/{dist/esm → esm}/components/teaching-bubble/define.js +0 -0
  2783. /package/{dist/esm → esm}/components/teaching-bubble/index.js +0 -0
  2784. /package/{dist/esm → esm}/components/teaching-bubble/teaching-bubble.definition.js +0 -0
  2785. /package/{dist/esm → esm}/components/teaching-bubble/teaching-bubble.js +0 -0
  2786. /package/{dist/esm → esm}/components/teaching-bubble/teaching-bubble.options.js +0 -0
  2787. /package/{dist/esm → esm}/components/teaching-bubble/teaching-bubble.styles.js +0 -0
  2788. /package/{dist/esm → esm}/components/teaching-bubble/teaching-bubble.template.js +0 -0
  2789. /package/{dist/esm → esm}/components/text/define.js +0 -0
  2790. /package/{dist/esm → esm}/components/text/index.js +0 -0
  2791. /package/{dist/esm → esm}/components/text/text.definition.js +0 -0
  2792. /package/{dist/esm → esm}/components/text/text.js +0 -0
  2793. /package/{dist/esm → esm}/components/text/text.options.js +0 -0
  2794. /package/{dist/esm → esm}/components/text-input/define.js +0 -0
  2795. /package/{dist/esm → esm}/components/text-input/index.js +0 -0
  2796. /package/{dist/esm → esm}/components/text-input/text-input.base.js +0 -0
  2797. /package/{dist/esm → esm}/components/text-input/text-input.definition.js +0 -0
  2798. /package/{dist/esm → esm}/components/text-input/text-input.js +0 -0
  2799. /package/{dist/esm → esm}/components/text-input/text-input.options.js +0 -0
  2800. /package/{dist/esm → esm}/components/text-input/text-input.template.js +0 -0
  2801. /package/{dist/esm → esm}/components/textarea/define.js +0 -0
  2802. /package/{dist/esm → esm}/components/textarea/index.js +0 -0
  2803. /package/{dist/esm → esm}/components/textarea/textarea.definition.js +0 -0
  2804. /package/{dist/esm → esm}/components/textarea/textarea.js +0 -0
  2805. /package/{dist/esm → esm}/components/textarea/textarea.options.js +0 -0
  2806. /package/{dist/esm → esm}/components/toggle-button/define.js +0 -0
  2807. /package/{dist/esm → esm}/components/toggle-button/index.js +0 -0
  2808. /package/{dist/esm → esm}/components/toggle-button/toggle-button.definition.js +0 -0
  2809. /package/{dist/esm → esm}/components/toggle-button/toggle-button.js +0 -0
  2810. /package/{dist/esm → esm}/components/toggle-button/toggle-button.options.js +0 -0
  2811. /package/{dist/esm → esm}/components/tooltip/define.js +0 -0
  2812. /package/{dist/esm → esm}/components/tooltip/index.js +0 -0
  2813. /package/{dist/esm → esm}/components/tooltip/tooltip.definition.js +0 -0
  2814. /package/{dist/esm → esm}/components/tooltip/tooltip.options.js +0 -0
  2815. /package/{dist/esm → esm}/components/tooltip/tooltip.template.js +0 -0
  2816. /package/{dist/esm → esm}/components/tree/define.js +0 -0
  2817. /package/{dist/esm → esm}/components/tree/index.js +0 -0
  2818. /package/{dist/esm → esm}/components/tree/tree.definition.js +0 -0
  2819. /package/{dist/esm → esm}/components/tree-item/define.js +0 -0
  2820. /package/{dist/esm → esm}/components/tree-item/index.js +0 -0
  2821. /package/{dist/esm → esm}/components/tree-item/tree-item.definition.js +0 -0
  2822. /package/{dist/esm → esm}/components/tree-item/tree-item.styles.js +0 -0
  2823. /package/{dist/esm → esm}/components/wizard/define.js +0 -0
  2824. /package/{dist/esm → esm}/components/wizard/index.js +0 -0
  2825. /package/{dist/esm → esm}/components/wizard/wizard.definition.js +0 -0
  2826. /package/{dist/esm → esm}/components/wizard/wizard.js +0 -0
  2827. /package/{dist/esm → esm}/components/wizard/wizard.options.js +0 -0
  2828. /package/{dist/esm → esm}/components/wizard/wizard.styles.js +0 -0
  2829. /package/{dist/esm → esm}/components/wizard/wizard.template.js +0 -0
  2830. /package/{dist/esm → esm}/components/wizard-panel/define.js +0 -0
  2831. /package/{dist/esm → esm}/components/wizard-panel/index.js +0 -0
  2832. /package/{dist/esm → esm}/components/wizard-panel/wizard-panel.cem.js +0 -0
  2833. /package/{dist/esm → esm}/components/wizard-panel/wizard-panel.definition.js +0 -0
  2834. /package/{dist/esm → esm}/components/wizard-panel/wizard-panel.js +0 -0
  2835. /package/{dist/esm → esm}/components/wizard-panel/wizard-panel.options.js +0 -0
  2836. /package/{dist/esm → esm}/components/wizard-panel/wizard-panel.styles.js +0 -0
  2837. /package/{dist/esm → esm}/components/wizard-panel/wizard-panel.template.js +0 -0
  2838. /package/{dist/esm → esm}/components/wizard-step/define.js +0 -0
  2839. /package/{dist/esm → esm}/components/wizard-step/index.js +0 -0
  2840. /package/{dist/esm → esm}/components/wizard-step/wizard-step.definition.js +0 -0
  2841. /package/{dist/esm → esm}/components/wizard-step/wizard-step.js +0 -0
  2842. /package/{dist/esm → esm}/components/wizard-step/wizard-step.options.js +0 -0
  2843. /package/{dist/esm → esm}/components/wizard-step/wizard-step.styles.js +0 -0
  2844. /package/{dist/esm → esm}/components/wizard-step/wizard-step.template.js +0 -0
  2845. /package/{dist/esm → esm}/components/wizard-step/wizard-step.unit.component.js +0 -0
  2846. /package/{dist/esm → esm}/util/accessibility-utilities.js +0 -0
  2847. /package/{dist/esm → esm}/util/apply-mixins.js +0 -0
  2848. /package/{dist/esm → esm}/util/attribute-utilities.js +0 -0
  2849. /package/{dist/esm → esm}/util/debounce.js +0 -0
  2850. /package/{dist/esm → esm}/util/debug.js +0 -0
  2851. /package/{dist/esm → esm}/util/descendants.js +0 -0
  2852. /package/{dist/esm → esm}/util/direction.js +0 -0
  2853. /package/{dist/esm → esm}/util/dom.js +0 -0
  2854. /package/{dist/esm → esm}/util/element-internal-mocks.js +0 -0
  2855. /package/{dist/esm → esm}/util/element-internals.js +0 -0
  2856. /package/{dist/esm → esm}/util/focus-management.js +0 -0
  2857. /package/{dist/esm → esm}/util/hash-utilities.js +0 -0
  2858. /package/{dist/esm → esm}/util/match-media-stylesheet-behaviors.js +0 -0
  2859. /package/{dist/esm → esm}/util/positioning/index.js +0 -0
  2860. /package/{dist/esm → esm}/util/positioning/position-calculator.js +0 -0
  2861. /package/{dist/esm → esm}/util/positioning/types.js +0 -0
  2862. /package/{dist/esm → esm}/util/support.js +0 -0
  2863. /package/{dist/esm → esm}/util/template-helpers.js +0 -0
  2864. /package/{dist/esm → esm}/util/typings.js +0 -0
  2865. /package/{dist/esm → esm}/util/whitespace-filter.js +0 -0
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../build/esm/util/support.js","../build/esm/util/element-internals.js","../build/esm/util/hash-utilities.js","../build/esm/components/menu-item/menu-item.options.js","../build/esm/components/menu-item/menu-item.js","../build/esm/components/menu-list/menu-list.js","../build/esm/components/accordion-menu-panel/accordion-menu-panel.js","../build/esm/components/accordion-menu/accordion-menu.options.js","../build/esm/components/accordion-menu/accordion-menu.js","../build/esm/components/accordion-menu/accordion-menu.template.js","../build/esm/components/accordion-menu/accordion-menu.styles.js","../build/esm/components/design-system.js","../build/esm/components/accordion-menu/accordion-menu.definition.js","../build/esm/components/accordion-menu-panel/accordion-menu-panel.options.js","../build/esm/util/icons.js","../build/esm/components/accordion-menu-panel/accordion-menu-panel.template.js","../build/esm/components/styles/states/states.js","../build/esm/components/accordion-menu-panel/accordion-menu-panel.styles.js","../build/esm/components/accordion-menu-panel/accordion-menu-panel.definition.js","../build/esm/components/card/card.options.js","../build/esm/components/card/card.js","../build/esm/components/card/card.styles.js","../build/esm/components/card/card.template.js","../build/esm/components/card/card.definition.js","../build/esm/components/card-footer/card-footer.js","../build/esm/components/card-footer/card-footer.styles.js","../build/esm/components/card-footer/card-footer.template.js","../build/esm/components/card-footer/card-footer.definition.js","../build/esm/components/card-header/card-header.js","../build/esm/components/card-header/card-header.styles.js","../build/esm/components/card-header/card-header.template.js","../build/esm/components/card-header/card-header.definition.js","../build/esm/components/card-preview/card-preview.js","../build/esm/components/card-preview/card-preview.styles.js","../build/esm/components/card-preview/card-preview.template.js","../build/esm/components/card-preview/card-preview.definition.js","../build/esm/components/carousel-nav/carousel-nav.options.js","../build/esm/components/carousel/carousel.options.js","../build/esm/components/carousel/carousel.events.js","../build/esm/components/carousel-nav/carousel-nav.events.js","../build/esm/util/direction.js","../build/esm/util/focus-management.js","../build/esm/util/collection-event-manager.js","../build/esm/components/carousel-nav/carousel-nav.js","../build/esm/util/accessibility-utilities.js","../build/esm/util/apply-mixins.js","../build/esm/util/attribute-utilities.js","../build/esm/util/debounce.js","../build/esm/util/debug.js","../build/esm/util/descendants.js","../build/esm/util/dom.js","../build/esm/util/element-internal-mocks.js","../build/esm/util/element-definition.js","../build/esm/util/match-media-stylesheet-behaviors.js","../build/esm/util/platform.js","../build/esm/util/template-helpers.js","../build/esm/util/whitespace-filter.js","../build/esm/util/math.js","../build/esm/components/carousel-nav/carousel-nav.styles.js","../build/esm/components/carousel-nav/carousel-nav.template.js","../build/esm/components/carousel-nav/carousel-nav.definition.js","../build/esm/components/carousel-nav-item/carousel-nav-item.js","../build/esm/components/carousel-nav-item/carousel-nav-item.styles.js","../build/esm/components/carousel-nav-item/carousel-nav-item.template.js","../build/esm/components/carousel-nav-item/carousel-nav-item.definition.js","../build/esm/components/carousel/carousel.js","../build/esm/components/carousel/carousel.styles.js","../build/esm/components/carousel/carousel.template.js","../build/esm/components/carousel/carousel.definition.js","../build/esm/components/carousel/define.js","../build/esm/components/carousel-item/carousel-item.js","../build/esm/components/carousel-item/carousel-item.styles.js","../build/esm/components/carousel-item/carousel-item.template.js","../build/esm/components/carousel-item/carousel-item.definition.js","../build/esm/components/card-carousel/card-carousel.js","../build/esm/components/card-carousel/card-carousel.styles.js","../build/esm/components/card-carousel/card-carousel.template.js","../build/esm/components/card-carousel/card-carousel.definition.js","../build/esm/components/button/button.js","../build/esm/components/button/button.options.js","../build/esm/components/button/button.styles.js","../build/esm/components/button/button.definition.js","../build/esm/components/filter-pill/filter-pill.options.js","../build/esm/components/filter-pill/filter-pill.js","../build/esm/components/filter-pill/filter-pill.styles.js","../build/esm/components/filter-pill/filter-pill.template.js","../build/esm/components/filter-pill/filter-pill.definition.js","../build/esm/components/compound-button/compound-button.options.js","../build/esm/components/compound-button/compound-button.js","../build/esm/components/compound-button/compound-button.styles.js","../build/esm/components/compound-button/compound-button.definition.js","../build/esm/components/spinner/spinner.js","../build/esm/components/spinner/spinner.options.js","../build/esm/components/spinner/spinner.definition.js","../build/esm/components/loading-button/loading-button.js","../build/esm/components/loading-button/loading-button.styles.js","../build/esm/components/loading-button/loading-button.template.js","../build/esm/components/loading-button/loading-button.definition.js","../build/esm/components/multi-view/multi-view.options.js","../build/esm/components/multi-view/multi-view.js","../build/esm/components/multi-view/multi-view.styles.js","../build/esm/components/multi-view/multi-view.template.js","../build/esm/components/multi-view/multi-view.definition.js","../build/esm/components/multi-view-controller/multi-view-controller.js","../build/esm/components/multi-view-controller/multi-view-controller.styles.js","../build/esm/components/multi-view-controller/multi-view-controller.template.js","../build/esm/components/multi-view-controller/multi-view-controller.definition.js","../build/esm/components/multi-view-group/multi-view-group.js","../build/esm/components/multi-view-group/multi-view-group.styles.js","../build/esm/components/multi-view-group/multi-view-group.template.js","../build/esm/components/multi-view-group/multi-view-group.definition.js","../build/esm/components/multi-view-group/multi-view-group.options.js","../build/esm/components/overflow/overflow.events.js","../build/esm/components/overflow-divider/overflow-divider.js","../build/esm/components/overflow-item/overflow-item.js","../build/esm/components/overflow/overflow.js","../build/esm/components/overflow/overflow.styles.js","../build/esm/components/overflow/overflow.template.js","../build/esm/components/overflow/overflow.definition.js","../build/esm/components/overflow/overflow.options.js","../build/esm/components/overflow-item/overflow-item.styles.js","../build/esm/components/overflow-item/overflow-item.template.js","../build/esm/components/overflow-item/overflow-item.definition.js","../build/esm/components/overflow-divider/overflow-divider.styles.js","../build/esm/components/overflow-divider/overflow-divider.template.js","../build/esm/components/overflow-divider/overflow-divider.definition.js","../build/esm/util/positioning/types.js","../build/esm/util/positioning/position-calculator.js","../build/esm/util/positioning/flexible-position-strategy.js","../build/esm/components/popover/popover.options.js","../build/esm/components/popover/popover.positioning.js","../build/esm/components/popover/popover.js","../build/esm/components/popover/popover.styles.js","../build/esm/components/popover/popover.template.js","../build/esm/components/popover/popover.definition.js","../build/esm/components/pagination/pagination.events.js","../build/esm/components/pagination/pagination.options.js","../build/esm/components/pagination/pagination.js","../build/esm/components/pagination/pagination.styles.js","../build/esm/static/component-svgs.js","../build/esm/components/pagination/pagination.template.js","../build/esm/components/pagination/pagination.definition.js","../build/esm/components/dropdown/dropdown.styles.js","../build/esm/components/dropdown/dropdown.js","../build/esm/components/dropdown/dropdown.definition.js","../build/esm/components/option/option.js","../build/esm/components/option/option.definition.js","../build/esm/components/option-group/option-group.options.js","../build/esm/components/listbox/listbox.js","../build/esm/components/listbox/listbox.definition.js","../build/esm/components/pagination/define.js","../build/esm/components/svg-icon/scripts/svg-sanitizer.js","../build/esm/components/svg-icon/services/svg-service.js","../build/esm/components/svg-icon/svg-icon.js","../build/esm/components/svg-icon/svg-icon.styles.js","../build/esm/components/svg-icon/svg-icon.template.js","../build/esm/components/svg-icon/svg-icon.definition.js","../build/esm/components/table/table.js","../build/esm/components/table/table.options.js","../build/esm/components/table-cell/table-cell.js","../build/esm/components/table-cell/table-cell.styles.js","../build/esm/components/table-cell/table-cell.template.js","../build/esm/components/table-cell/table-cell.definition.js","../build/esm/components/table/table.styles.js","../build/esm/components/table/table.template.js","../build/esm/components/table/table.definition.js","../build/esm/components/simple-table/simple-table.js","../build/esm/components/simple-table/simple-table.styles.js","../build/esm/components/simple-table/simple-table.definition.js","../build/esm/components/table-cell/table-cell.options.js","../build/esm/components/tag/tag.options.js","../build/esm/components/tag/tag.js","../build/esm/components/tag/tag.styles.js","../build/esm/components/tag/tag.template.js","../build/esm/components/tag/tag.definition.js","../build/esm/components/teaching-bubble/teaching-bubble.options.js","../build/esm/components/teaching-bubble/teaching-bubble.js","../build/esm/components/teaching-bubble/teaching-bubble.styles.js","../build/esm/components/teaching-bubble/teaching-bubble.template.js","../build/esm/components/teaching-bubble/teaching-bubble.definition.js","../build/esm/components/wizard-step/wizard-step.options.js","../build/esm/components/wizard-panel/wizard-panel.options.js","../build/esm/components/wizard-panel/wizard-panel.js","../build/esm/components/wizard-step/wizard-step.js","../build/esm/components/wizard/wizard.options.js","../build/esm/components/wizard/wizard.js","../build/esm/components/wizard/wizard.styles.js","../build/esm/components/wizard/wizard.template.js","../build/esm/components/wizard/wizard.definition.js","../build/esm/components/wizard-panel/wizard-panel.styles.js","../build/esm/components/wizard-panel/wizard-panel.template.js","../build/esm/components/wizard-panel/wizard-panel.definition.js","../build/esm/components/wizard-step/wizard-step.styles.js","../build/esm/components/wizard-step/wizard-step.template.js","../build/esm/components/wizard-step/wizard-step.definition.js","../build/esm/components/accordion-item/accordion-item.js","../build/esm/components/accordion-item/accordion-item.options.js","../build/esm/components/accordion-item/accordion-item.definition.js","../build/esm/components/accordion/accordion.js","../build/esm/components/accordion/accordion.definition.js","../build/esm/components/accordion/accordion.options.js","../build/esm/components/link/link.options.js","../build/esm/components/link/link.js","../build/esm/components/link/link.template.js","../build/esm/components/link/link.definition.js","../build/esm/components/avatar/avatar.js","../build/esm/components/avatar/avatar.options.js","../build/esm/components/avatar/avatar.definition.js","../build/esm/components/badge/badge.js","../build/esm/components/badge/badge.options.js","../build/esm/components/badge/badge.definition.js","../build/esm/components/checkbox/checkbox.js","../build/esm/components/checkbox/checkbox.options.js","../build/esm/components/checkbox/checkbox.definition.js","../build/esm/components/counter-badge/counter-badge.js","../build/esm/components/counter-badge/counter-badge.options.js","../build/esm/components/counter-badge/counter-badge.definition.js","../build/esm/components/dialog/dialog.js","../build/esm/components/dialog/dialog.styles.js","../build/esm/components/dialog/dialog.definition.js","../build/esm/components/dialog/dialog.options.js","../build/esm/components/dialog-body/dialog-body.js","../build/esm/components/dialog-body/dialog-body.definition.js","../build/esm/components/divider/divider.js","../build/esm/components/divider/divider.options.js","../build/esm/components/divider/divider.styles.js","../build/esm/components/divider/divider.template.js","../build/esm/components/divider/divider.definition.js","../build/esm/components/drawer/drawer.js","../build/esm/components/drawer/drawer.options.js","../build/esm/components/drawer/drawer.definition.js","../build/esm/components/drawer-body/drawer-body.js","../build/esm/components/drawer-body/drawer-body.definition.js","../build/esm/components/dropdown/dropdown.options.js","../build/esm/components/field/field.js","../build/esm/components/field/field.styles.js","../build/esm/components/field/field.options.js","../build/esm/components/field/field.definition.js","../build/esm/components/image/image.js","../build/esm/components/image/image.options.js","../build/esm/components/image/image.definition.js","../build/esm/components/label/label.js","../build/esm/components/label/label.definition.js","../build/esm/components/label/label.options.js","../build/esm/components/anchor-button/anchor-button.js","../build/esm/components/anchor-button/anchor-button.options.js","../build/esm/components/anchor-button/anchor-button.definition.js","../build/esm/components/message-bar/message-bar.js","../build/esm/components/message-bar/message-bar.definition.js","../build/esm/components/menu-button/menu-button.js","../build/esm/components/menu-button/menu-button.options.js","../build/esm/components/menu-button/menu-button.definition.js","../build/esm/components/menu-item/menu-item.styles.js","../build/esm/components/menu-item/menu-item.template.js","../build/esm/components/menu-item/menu-item.definition.js","../build/esm/components/menu-list/menu-list.styles.js","../build/esm/components/menu-list/menu-list.template.js","../build/esm/components/menu-list/menu-list.definition.js","../build/esm/components/menu/menu.options.js","../build/esm/components/menu/menu.positioning.js","../build/esm/components/menu/menu.js","../build/esm/components/menu/menu.styles.js","../build/esm/components/menu/menu.template.js","../build/esm/components/menu/menu.definition.js","../build/esm/components/option-group/option-group.js","../build/esm/components/option-group/option-group.styles.js","../build/esm/components/option-group/option-group.template.js","../build/esm/components/option-group/option-group.definition.js","../build/esm/components/progress-bar/progress-bar.js","../build/esm/components/progress-bar/progress-bar.definition.js","../build/esm/components/progress-bar/progress-bar.options.js","../build/esm/components/radio-group/radio-group.js","../build/esm/components/radio-group/radio-group.options.js","../build/esm/components/radio-group/radio-group.definition.js","../build/esm/components/radio/radio.js","../build/esm/components/radio/radio.definition.js","../build/esm/components/rating-display/rating-display.js","../build/esm/components/rating-display/rating-display.definition.js","../build/esm/components/rating-display/rating-display.options.js","../build/esm/components/text-input/text-input.options.js","../build/esm/components/text-input/text-input.base.js","../build/esm/components/text-input/text-input.js","../build/esm/components/search-box/search-box.options.js","../build/esm/components/search-box/search-box.js","../build/esm/components/text-input/text-input.styles.js","../build/esm/components/search-box/search-box.styles.js","../build/esm/components/search-box/search-box.template.js","../build/esm/components/search-box/search-box.definition.js","../build/esm/components/slider/slider.js","../build/esm/components/slider/slider.options.js","../build/esm/components/slider/slider.definition.js","../build/esm/components/spin-button/spin-button.options.js","../build/esm/components/spin-button/spin-button.events.js","../build/esm/components/spin-button/spin-button.js","../build/esm/components/spin-button/spin-button.styles.js","../build/esm/components/spin-button/spin-button.template.js","../build/esm/components/spin-button/spin-button.definition.js","../build/esm/components/switch/switch.js","../build/esm/components/switch/switch.definition.js","../build/esm/components/tab/tab.js","../build/esm/components/tab/tab.definition.js","../build/esm/components/tablist/tablist.options.js","../build/esm/components/tablist/tablist.js","../build/esm/components/tablist/tablist.definition.js","../build/esm/components/textarea/textarea.js","../build/esm/components/textarea/textarea.definition.js","../build/esm/components/textarea/textarea.options.js","../build/esm/components/text-input/text-input.template.js","../build/esm/components/text-input/text-input.definition.js","../build/esm/components/text/text.js","../build/esm/components/text/text.definition.js","../build/esm/components/text/text.options.js","../build/esm/components/tree/tree.js","../build/esm/components/tree/tree.definition.js","../build/esm/components/tree-item/tree-item.js","../build/esm/components/tree-item/tree-item.template.js","../build/esm/components/tree-item/tree-item.styles.js","../build/esm/components/tree-item/tree-item.definition.js","../build/esm/components/toggle-button/toggle-button.js","../build/esm/components/toggle-button/toggle-button.options.js","../build/esm/components/toggle-button/toggle-button.definition.js","../build/esm/components/tooltip/tooltip.js","../build/esm/components/tooltip/tooltip.definition.js","../build/esm/components/tooltip/tooltip.options.js"],"sourcesContent":["/**\n * Check if the browser supports CSS Anchor Positioning.\n * @public\n */\nexport const AnchorPositioningCSSSupported = CSS.supports(\"anchor-name: --a\");\n/**\n * Check if the browser supports HTML Anchor Positioning.\n * @public\n */\nexport const AnchorPositioningHTMLSupported = \"anchor\" in HTMLElement.prototype;\n/**\n * Check if the browser supports Custom States.\n * @public\n */\nexport const CustomStatesSetSupported = CSS.supports(\"selector(:state(g))\");\n//# sourceMappingURL=support.js.map","import { CustomStatesSetSupported } from \"./support\";\nexport { CustomStatesSetSupported };\n/**\n * Map to store the state values.\n * @internal\n */\nconst statesMap = new Map();\n/**\n * Returns a string that represents a CSS custom state selector.\n *\n * @param state - the state value.\n * @returns a string that represents a CSS state selector, or a custom attribute selector if the browser does not\n * support Custom States.\n *\n * @public\n */\nexport function stateSelector(state) {\n var _a;\n return ((_a = statesMap.get(state)) !== null && _a !== void 0 ? _a : statesMap\n .set(state, CustomStatesSetSupported ? `:state(${state})` : `[state--${state}]`)\n .get(state));\n}\n/**\n * This function is used to toggle a state on the control. If the browser supports Custom States, the state is toggled\n * on the `ElementInternals.states` set. If the browser does not support Custom States, the state is toggled on the host\n * element as an attribute with the format `state--{state}`.\n *\n * @see The {@link https://developer.mozilla.org/en-US/docs/Web/API/CustomStateSet | CustomStateSet} interface\n * @see The {@link https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals | ElementInternals} interface\n * @see The CSS {@link https://developer.mozilla.org/en-US/docs/Web/CSS/:state | `:state()`} pseudo-class\n *\n * @param elementInternals - the `ElementInternals` instance for the component\n * @param state - the state to toggle\n * @param force - force the state to be toggled on or off\n * @internal\n */\nexport function toggleState(elementInternals, state, force) {\n if (!state || !elementInternals) {\n return;\n }\n if (!CustomStatesSetSupported) {\n elementInternals.shadowRoot.host.toggleAttribute(`state--${state}`, force);\n return;\n }\n if (force !== null && force !== void 0 ? force : !elementInternals.states.has(state)) {\n elementInternals.states.add(state);\n return;\n }\n elementInternals.states.delete(state);\n}\n/**\n * A weak map to store the valid states for attributes.\n * @internal\n */\nconst matchingStateMap = new WeakMap();\n/**\n * Check if a given attribute value is a valid state. Attribute values are often kebab-cased, so this function converts\n * the kebab-cased `state` to camelCase and checks if it exists in as a key in the `States` object.\n *\n * @param States - the object containing valid states for the attribute\n * @param state - the state to check\n * @returns true if the state is in the States object\n * @internal\n */\nexport function hasMatchingState(States, state) {\n if (!States || !state) {\n return false;\n }\n if (matchingStateMap.has(States)) {\n return matchingStateMap.get(States).has(state);\n }\n const stateSet = new Set(Object.values(States));\n matchingStateMap.set(States, stateSet);\n return stateSet.has(state);\n}\n/**\n * Swap an old state for a new state.\n *\n * @param elementInternals - the `ElementInternals` instance for the component\n * @param prev - the previous state to remove\n * @param next - the new state to add\n * @param States - the object containing valid states for the attribute\n * @param prefix - an optional prefix to add to the state\n *\n * @internal\n */\nexport function swapStates(elementInternals, prev = \"\", next = \"\", States, prefix = \"\") {\n toggleState(elementInternals, `${prefix}${prev}`, false);\n if (!States || hasMatchingState(States, next)) {\n toggleState(elementInternals, `${prefix}${next}`, true);\n }\n}\n/**\n * A generic helper function to handle attribute changes.\n * @param elementInternals - The internals of the element.\n * @param prev - The previous value of the attribute.\n * @param next - The new value of the attribute.\n * @param toggleFn - A function that performs the toggle action for a given attribute value.\n */\nexport function handleAttributeChange(elementInternals, prev, next, toggleFn) {\n if (prev) {\n toggleFn(elementInternals, prev, false);\n }\n if (next) {\n toggleFn(elementInternals, next, true);\n }\n}\n//# sourceMappingURL=element-internals.js.map","/**\n * Creates a unique ID string using a prefix and counter as salt for the random hex.\n * @param prefix - The prefix string for the ID\n * @param counter - Optional. A counter value used as salt for additional uniqueness\n * @returns A unique ID string in the format `{prefix}{counter}-{randomHex}`\n */\nexport function createUniqueId(prefix, counter = 0) {\n const randomHex = Math.round((Math.random() + counter) * 0x10000)\n .toString(16)\n .slice(0, 8);\n return `${prefix}${counter}-${randomHex}`;\n}\n//# sourceMappingURL=hash-utilities.js.map","/**\n * Appearance values for {@link MenuItem}.\n * @public\n */\nexport const MenuItemAppearances = {\n /**\n * The default appearance.\n */\n normal: \"normal\",\n /**\n * The danger/destructive appearance, applying red foreground color.\n */\n danger: \"danger\"\n};\n/**\n * Menu items roles.\n * @public\n */\nexport const MenuItemRoles = {\n /**\n * The menu item has a \"menuitem\" role\n */\n menuitem: \"menuitem\",\n /**\n * The menu item has a \"menuitemcheckbox\" role\n */\n menuitemcheckbox: \"menuitemcheckbox\",\n /**\n * The menu item has a \"menuitemradio\" role\n */\n menuitemradio: \"menuitemradio\"\n};\n/**\n * @internal\n */\nexport const roleForMenuItem = {\n [MenuItemRoles.menuitem]: \"menuitem\",\n [MenuItemRoles.menuitemcheckbox]: \"menuitemcheckbox\",\n [MenuItemRoles.menuitemradio]: \"menuitemradio\"\n};\n/**\n * Menu items roles.\n * @public\n */\nexport const MenuGroupRoles = {\n /**\n * The \"group\" role\n */\n group: \"group\"\n};\n/**\n * @internal\n */\nexport const roleForMenuGroup = {\n group: MenuGroupRoles.group\n};\n//# sourceMappingURL=menu-item.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\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\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _MenuItem_instances, _MenuItem_attachListeners, _MenuItem_detachListeners;\nimport { attr, FASTElement, observable } from \"@microsoft/fast-element\";\nimport { keyArrowLeft, keyArrowRight, keyEnter, keySpace } from \"@microsoft/fast-web-utilities\";\nimport { handleAttributeChange, toggleState } from \"../../util/element-internals.js\";\nimport { createUniqueId } from \"../../util/hash-utilities.js\";\nimport { MenuItemRoles } from \"./menu-item.options.js\";\n/**\n * MenuItem\n * @summary A MenuItem component that represents an item in a menu with various states and interactions.\n *\n * @example\n * ```html\n * <fabric-menu-item role=\"menuitem\" disabled checked hidden>\n * <span slot=\"start\">Start content</span>\n * Menu item content\n * <span slot=\"end\">End content</span>\n * <span slot=\"submenu-glyph\"></span>\n * <div slot=\"submenu\">Submenu content</div>\n * </fabric-menu-item>\n * ```\n *\n * @attr {boolean} disabled - The disabled state of the element.\n * @attr {MenuItemAppearance} appearance - The appearance of the menu item. Use 'danger' for destructive actions.\n * @attr {MenuItemRole} role - The role of the element. Possible values: 'menuitem', 'menuitemcheckbox', 'menuitemradio'.\n * @attr {boolean} checked - The checked value of the element.\n * @attr {boolean} hidden - The hidden attribute.\n *\n * @prop {boolean} disabled - The disabled state of the element.\n * @prop {MenuItemAppearance} appearance - The appearance of the menu item.\n * @prop {MenuItemRole} role - The role of the element.\n * @prop {boolean} checked - The checked value of the element.\n * @prop {boolean} hidden - The hidden attribute.\n * @prop {HTMLElement[]} slottedSubmenu - The submenu slotted content.\n * @prop {HTMLElement | undefined} submenu - The submenu element associated with this menu item.\n *\n * @slot - Default slot for menu item content.\n * @slot start - Slot for the start content.\n * @slot end - Slot for the end content.\n * @slot indicator - The checkbox or radio indicator.\n * @slot submenu-glyph - The submenu expand/collapse indicator.\n * @slot submenu - Slot for the submenu content.\n *\n * @csspart content - The main content of the menu item.\n *\n * @cssprop --indent - Custom property for indentation level (default: 0).\n * @cssprop --menu-max-height - Maximum height for submenu (default: auto).\n *\n * @internal connectedCallback - Called when the element is added to the document.\n * @internal disconnectedCallback - Called when the element is removed from the document.\n * @method disabledChanged - Handles changes to the disabled attribute.\n * @method roleChanged - Handles changes to the role attribute.\n * @method checkedChanged - Handles changes to the checked attribute.\n * @method slottedSubmenuChanged - Handles changes to the slotted submenu content.\n * @method handleMenuItemKeyDown - Handles keydown events for the menu item.\n * @method handleMenuItemClick - Handles click events for the menu item.\n * @method handleMouseOver - Handles mouse over events for the menu item.\n * @method handleMouseOut - Handles mouse out events for the menu item.\n * @method toggleHandler - Handles toggle events from submenu popover.\n *\n * @fires change - Fired when the checked state changes.\n *\n * @extends FASTElement\n * @tagname fabric-menu-item\n * @public\n */\nexport class MenuItem extends FASTElement {\n constructor() {\n super(...arguments);\n _MenuItem_instances.add(this);\n /**\n * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.\n *\n * @internal\n */\n this.elementInternals = this.attachInternals();\n /**\n * The role of the element.\n *\n * @public\n * @remarks\n * HTML Attribute: role\n */\n this.role = MenuItemRoles.menuitem;\n /**\n * The checked value of the element.\n *\n * @public\n * @remarks\n * HTML Attribute: checked\n */\n this.checked = false;\n /**\n * Auto-generated CSS anchor name for tying the submenu popover to this menu item\n * via CSS anchor positioning. Similar to the menu component's approach.\n * @internal\n */\n this._submenuAnchorName = `--${createUniqueId(\"menu-item-anchor-\")}`;\n /**\n * Handles keydown events for the menu item.\n *\n * @param e - The keyboard event\n * @returns `false` if the event was handled and should not propagate, `true` otherwise\n * @protected\n */\n this.handleMenuItemKeyDown = (e) => {\n var _a;\n if (e.defaultPrevented) {\n return false;\n }\n switch (e.key) {\n case keyEnter:\n case keySpace: {\n this.invoke();\n return false;\n }\n case keyArrowRight: {\n if (!this.disabled && hasTogglePopover(this.submenu)) {\n this.submenu.togglePopover(true);\n this.submenu.focus();\n }\n return false;\n }\n case keyArrowLeft: {\n const parent = this.parentElement;\n if (hasTogglePopover(parent)) {\n parent.togglePopover(false);\n (_a = parent.parentElement) === null || _a === void 0 ? void 0 : _a.focus();\n }\n return false;\n }\n }\n return true;\n };\n /**\n * Handles click events for the menu item.\n *\n * @param e - The mouse event\n * @returns `false` if the event was handled and should not propagate\n * @protected\n */\n this.handleMenuItemClick = (e) => {\n if (e.defaultPrevented || this.disabled) {\n return false;\n }\n // Ignore clicks that bubbled up from within a submenu\n if (this.submenu && e.composedPath().includes(this.submenu)) {\n return false;\n }\n this.invoke();\n return false;\n };\n /**\n * Handles mouse over events for the menu item.\n * Opens any associated submenu when hovering over the item.\n *\n * @param e - The mouse event (unused but required for event handler signature)\n * @returns `false` if the event was handled and should not propagate\n * @protected\n */\n this.handleMouseOver = () => {\n var _a;\n if (this.disabled) {\n return false;\n }\n (_a = this.submenu) === null || _a === void 0 ? void 0 : _a.togglePopover(true);\n return false;\n };\n /**\n * Handles mouse out events for the menu item.\n * Closes any associated submenu when the mouse leaves the item,\n * unless the pointer is moving to a descendant or the focus remains within the menu item.\n *\n * @param e - The mouse event\n * @returns `false` if the event was handled and should not propagate\n * @protected\n */\n this.handleMouseOut = (e) => {\n var _a;\n const related = e.relatedTarget;\n if (related && this.contains(related)) {\n return false;\n }\n (_a = this.submenu) === null || _a === void 0 ? void 0 : _a.togglePopover(false);\n return false;\n };\n /**\n * Handles toggle events from associated submenu popover.\n * Sets up required ARIA attributes and tab navigation when submenu opens/closes.\n *\n * @param e - The toggle event from the submenu popover\n * @protected\n */\n this.toggleHandler = (e) => {\n if (\"newState\" in e && e.newState === \"open\") {\n this.setAttribute(\"tabindex\", \"-1\");\n this.elementInternals.ariaExpanded = \"true\";\n this.setSubmenuPosition();\n }\n if (\"newState\" in e && e.newState === \"closed\") {\n this.elementInternals.ariaExpanded = \"false\";\n this.setAttribute(\"tabindex\", \"0\");\n }\n };\n /**\n * Invokes the appropriate action based on the menu item's role.\n * For checkbox items, toggles the checked state.\n * For radio items, sets the checked state to true if not already checked.\n * For regular menu items, opens submenus or emits a change event.\n *\n * @internal\n */\n this.invoke = () => {\n if (this.disabled) {\n return;\n }\n switch (this.role) {\n case MenuItemRoles.menuitemcheckbox:\n this.checked = !this.checked;\n break;\n case MenuItemRoles.menuitem:\n if (this.submenu) {\n this.submenu.togglePopover(true);\n this.submenu.focus();\n break;\n }\n this.$emit(\"change\");\n break;\n case MenuItemRoles.menuitemradio:\n if (!this.checked) {\n this.checked = true;\n }\n break;\n }\n };\n /**\n * Sets the fallback position of the submenu when CSS anchor positioning is not supported.\n * Uses the position-area CSS property which is automatically applied via inline styles\n * and CSS rules for browsers that support anchor positioning.\n * For browsers without support, applies JavaScript fallback positioning.\n *\n * @internal\n */\n this.setSubmenuPosition = () => {\n if (!CSS.supports(\"anchor-name\", \"--anchor\") && !!this.submenu) {\n const thisRect = this.getBoundingClientRect();\n const thisSubmenuRect = this.submenu.getBoundingClientRect();\n const inlineEnd = getComputedStyle(this).direction === \"ltr\" ? \"right\" : \"left\";\n // If an open submenu is too wide for the viewport, move it above.\n if (thisRect.width + thisSubmenuRect.width > window.innerWidth * 0.75) {\n this.submenu.style.translate = \"0 -100%\";\n return;\n }\n // If the open submenu is overflows the inline-end of the window (e.g. justify-content: end),\n // move to inline-start of menu item\n if (thisRect[inlineEnd] + thisSubmenuRect.width > window.innerWidth) {\n this.submenu.style.translate = \"-100% 0\";\n return;\n }\n // Default to inline-end of menu item\n this.submenu.style.translate = `${thisRect.width - 8}px 0`;\n }\n };\n }\n /**\n * Handles changes to disabled attribute custom states and element internals\n * @param prev - the previous state\n * @param next - the next state\n */\n disabledChanged(_prev, next) {\n this.elementInternals.ariaDisabled = next ? `${next}` : null;\n toggleState(this.elementInternals, \"disabled\", next);\n }\n /**\n * Handles changes to the appearance attribute custom states.\n * @param prev - the previous appearance value\n * @param next - the next appearance value\n */\n appearanceChanged(prev, next) {\n handleAttributeChange(this.elementInternals, prev, next, toggleState);\n }\n /**\n * Handles changes to role attribute element internals properties\n * @param prev - the previous state\n * @param next - the next state\n */\n roleChanged(_prev, next) {\n this.elementInternals.role = next !== null && next !== void 0 ? next : MenuItemRoles.menuitem;\n const checkableMenuItem = (next !== null && next !== void 0 ? next : MenuItemRoles.menuitem) !== MenuItemRoles.menuitem;\n // Initialize ariaChecked for checkable menu items\n this.elementInternals.ariaChecked = checkableMenuItem\n ? `${!!this.checked}`\n : null;\n toggleState(this.elementInternals, \"checked\", checkableMenuItem ? this.checked : false);\n }\n /**\n * Handles changes to checked attribute custom states and element internals.\n * @param prev - the previous state\n * @param next - the next state\n */\n checkedChanged(_prev, next) {\n const checkableMenuItem = this.role !== MenuItemRoles.menuitem;\n this.elementInternals.ariaChecked = checkableMenuItem ? `${!!next}` : null;\n toggleState(this.elementInternals, \"checked\", checkableMenuItem ? next : false);\n if (this.$fastController.isConnected) {\n this.$emit(\"change\", next, { bubbles: true });\n }\n }\n /**\n * Sets the submenu and updates its position.\n *\n * @internal\n */\n slottedSubmenuChanged(_prev, next) {\n var _a, _b;\n (_a = this.submenu) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"toggle\", this.toggleHandler);\n if (next.length) {\n this.submenu = next[0];\n this.submenu.setAttribute(\"popover\", \"manual\");\n this.submenu.addEventListener(\"toggle\", this.toggleHandler);\n this.elementInternals.ariaHasPopup = \"menu\";\n toggleState(this.elementInternals, \"submenu\", true);\n const anchorName = this.getSubmenuAnchorName();\n // Keep one stable host anchor-name\n this.style.anchorName =\n anchorName;\n this.submenu.style.positionAnchor = anchorName;\n }\n else {\n this.elementInternals.ariaHasPopup = null;\n toggleState(this.elementInternals, \"submenu\", false);\n (_b = this.submenu) === null || _b === void 0 ? void 0 : _b.style.removeProperty(\"position-anchor\");\n this.submenu = undefined;\n }\n }\n /**\n * Returns a stable anchor token shared across overlays that anchor to this item.\n * Uses id first to align with Fluent tooltip's default `--${anchor}` behavior.\n */\n getSubmenuAnchorName() {\n return this.id ? `--${this.id}` : this._submenuAnchorName;\n }\n /**\n * @public\n * Sets the role and registers event listeners.\n */\n connectedCallback() {\n var _a;\n super.connectedCallback();\n this.elementInternals.role = (_a = this.role) !== null && _a !== void 0 ? _a : MenuItemRoles.menuitem;\n __classPrivateFieldGet(this, _MenuItem_instances, \"m\", _MenuItem_attachListeners).call(this);\n }\n /**\n * Removes event listeners when component is disconnected.\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n __classPrivateFieldGet(this, _MenuItem_instances, \"m\", _MenuItem_detachListeners).call(this);\n }\n}\n_MenuItem_instances = new WeakSet(), _MenuItem_attachListeners = function _MenuItem_attachListeners() {\n this.addEventListener(\"keydown\", this.handleMenuItemKeyDown);\n this.addEventListener(\"click\", this.handleMenuItemClick);\n this.addEventListener(\"mouseover\", this.handleMouseOver);\n this.addEventListener(\"mouseout\", this.handleMouseOut);\n}, _MenuItem_detachListeners = function _MenuItem_detachListeners() {\n this.removeEventListener(\"keydown\", this.handleMenuItemKeyDown);\n this.removeEventListener(\"click\", this.handleMenuItemClick);\n this.removeEventListener(\"mouseover\", this.handleMouseOver);\n this.removeEventListener(\"mouseout\", this.handleMouseOut);\n};\n__decorate([\n attr({ mode: \"boolean\" })\n], MenuItem.prototype, \"disabled\", void 0);\n__decorate([\n attr\n], MenuItem.prototype, \"appearance\", void 0);\n__decorate([\n attr\n], MenuItem.prototype, \"role\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], MenuItem.prototype, \"checked\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], MenuItem.prototype, \"hidden\", void 0);\n__decorate([\n observable\n], MenuItem.prototype, \"slottedSubmenu\", void 0);\n__decorate([\n observable\n], MenuItem.prototype, \"submenu\", void 0);\n/*\n * Runtime type-guard that returns true only if the given value is an HTMLElement\n * with a callable `togglePopover` method—preventing crashes in browsers that lack the Popover API.\n */\nfunction hasTogglePopover(el) {\n return (typeof el === \"object\" &&\n el !== null &&\n \"togglePopover\" in el &&\n typeof el.togglePopover === \"function\");\n}\n//# sourceMappingURL=menu-item.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, Observable, observable, Updates } from \"@microsoft/fast-element\";\nimport { isHTMLElement, keyArrowDown, keyArrowUp, keyEnd, keyHome } from \"@microsoft/fast-web-utilities\";\nimport { MenuItem } from \"../menu-item/menu-item.js\";\nimport { MenuItemRoles } from \"../menu-item/menu-item.options.js\";\n/**\n * MenuList\n * @summary A Menu Custom HTML Element that implements the ARIA menu pattern.\n *\n * @example\n * ```html\n * <fabric-menu-list>\n * <fabric-menu-item>Item 1</fabric-menu-item>\n * <fabric-menu-item>Item 2</fabric-menu-item>\n * <fabric-menu-item>Item 3</fabric-menu-item>\n * </fabric-menu-list>\n * ```\n *\n * @attr {Element[] | undefined} menuItems - The menu items that are part of the menu list.\n * @attr {number} focusIndex - The index of the focusable element in the items array defaults to -1.\n * @attr {MenuItemRole} focusableElementRoles - Static roles that determine if an element is focusable.\n * @attr {string} role - The ARIA role for the menu list, defaults to 'menu'.\n *\n * @prop {Element[] | undefined} items - The menu items that are part of the menu list.\n *\n * @slot - The default slot for the menu items.\n *\n * @method itemsChanged - Reacts to changes in the items property. Parameters: oldValue: HTMLElement[], newValue: HTMLElement[].\n * @method focus - Focuses the first item in the menu.\n * @method handleMenuKeyDown - Handles keydown events for menu navigation.\n * @method handleFocusOut - Handles focus out events to reset menu state.\n * @method handleChange - Observes changes to the hidden attribute of child elements. Parameters: source: any, propertyName: string.\n * @method setFocus - Sets focus on a menu item based on the provided index and adjustment. Parameters: focusIndex: number, adjustment: number.\n *\n * @extends FASTElement\n * @tagname fabric-menu-list\n * @public\n */\nexport class MenuList extends FASTElement {\n itemsChanged(oldValue, newValue) {\n // only update children after the component is connected and\n // the setItems has run on connectedCallback\n // (menuItems is undefined until then)\n if (this.$fastController.isConnected && oldValue !== newValue) {\n this.setItems();\n }\n }\n constructor() {\n super();\n /**\n * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.\n *\n * @internal\n */\n this.elementInternals = this.attachInternals();\n /**\n * The index of the focusable element in the items array\n * defaults to -1\n */\n this.focusIndex = -1;\n /**\n * @internal\n */\n this.isNestedMenu = () => {\n return (this.parentElement !== null &&\n isHTMLElement(this.parentElement) &&\n this.parentElement.getAttribute(\"role\") === \"menuitem\");\n };\n /**\n * if focus is moving out of the menu, reset to a stable initial state\n * @internal\n */\n this.handleFocusOut = (e) => {\n if (!this.contains(e.relatedTarget) &&\n this.menuItems !== undefined) {\n // find our first focusable element\n const focusIndex = this.menuItems.findIndex(this.isFocusableElement);\n // set the current focus index's tabindex to -1\n this.menuItems[this.focusIndex].setAttribute(\"tabindex\", \"-1\");\n // set the first focusable element tabindex to 0\n this.menuItems[focusIndex].setAttribute(\"tabindex\", \"0\");\n // set the focus index\n this.focusIndex = focusIndex;\n }\n };\n this.handleItemFocus = (e) => {\n const targetItem = e.target;\n if (this.menuItems !== undefined &&\n targetItem !== this.menuItems[this.focusIndex]) {\n this.menuItems[this.focusIndex].setAttribute(\"tabindex\", \"-1\");\n this.focusIndex = this.menuItems.indexOf(targetItem);\n targetItem.setAttribute(\"tabindex\", \"0\");\n }\n };\n /**\n * Handle change from child MenuItem element and set radio group behavior\n */\n this.changedMenuItemHandler = (e) => {\n if (this.menuItems === undefined) {\n return;\n }\n const changedMenuItem = e.target;\n const changeItemIndex = this.menuItems.indexOf(changedMenuItem);\n if (changeItemIndex === -1) {\n return;\n }\n if (changedMenuItem.role === \"menuitemradio\" &&\n changedMenuItem.checked === true) {\n for (let i = changeItemIndex - 1; i >= 0; --i) {\n const item = this.menuItems[i];\n const role = item.getAttribute(\"role\");\n if (role === MenuItemRoles.menuitemradio) {\n item.checked = false;\n }\n if (role === \"separator\") {\n break;\n }\n }\n const maxIndex = this.menuItems.length - 1;\n for (let i = changeItemIndex + 1; i <= maxIndex; ++i) {\n const item = this.menuItems[i];\n const role = item.getAttribute(\"role\");\n if (role === MenuItemRoles.menuitemradio) {\n item.checked = false;\n }\n if (role === \"separator\") {\n break;\n }\n }\n }\n };\n /**\n * check if the item is a menu item\n */\n this.isMenuItemElement = (el) => {\n return (el instanceof MenuItem ||\n (isHTMLElement(el) &&\n el.getAttribute(\"role\") in MenuList.focusableElementRoles));\n };\n /**\n * check if the item is focusable\n */\n this.isFocusableElement = (el) => {\n return this.isMenuItemElement(el);\n };\n this.elementInternals.role = \"menu\";\n }\n /**\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n Updates.enqueue(() => {\n // wait until children have had a chance to\n // connect before setting/checking their props/attributes\n this.setItems();\n });\n this.addEventListener(\"change\", this.changedMenuItemHandler);\n }\n /**\n * @internal\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeItemListeners();\n this.menuItems = undefined;\n this.removeEventListener(\"change\", this.changedMenuItemHandler);\n }\n /**\n * Focuses the first item in the menu.\n *\n * @public\n */\n focus() {\n super.focus();\n }\n /**\n * @internal\n */\n handleMenuKeyDown(e) {\n if (e.defaultPrevented || this.menuItems === undefined) {\n return;\n }\n switch (e.key) {\n case keyArrowDown:\n // go forward one index\n this.setFocus(this.focusIndex + 1, 1);\n return;\n case keyArrowUp:\n // go back one index\n this.setFocus(this.focusIndex - 1, -1);\n return;\n case keyEnd:\n // set focus on last item\n this.setFocus(this.menuItems.length - 1, -1);\n return;\n case keyHome:\n // set focus on first item\n this.setFocus(0, 1);\n return;\n default:\n // if we are not handling the event, do not prevent default\n return true;\n }\n }\n removeItemListeners(items = this.items) {\n items.forEach((item) => {\n item.removeEventListener(\"focus\", this.handleItemFocus);\n Observable.getNotifier(item).unsubscribe(this, \"hidden\");\n });\n }\n static elementIndent(el) {\n const role = el.getAttribute(\"role\");\n const startSlot = el.querySelector(\"[slot=start]\");\n if (role && role !== MenuItemRoles.menuitem) {\n return startSlot ? 2 : 1;\n }\n return startSlot ? 1 : 0;\n }\n setItems() {\n var _a;\n const children = Array.from(this.children);\n this.removeItemListeners(children);\n children.forEach((child) => Observable.getNotifier(child).subscribe(this, \"hidden\"));\n const newItems = children.filter((child) => !child.hasAttribute(\"hidden\"));\n this.menuItems = newItems;\n const menuItems = this.menuItems.filter(this.isMenuItemElement);\n // if our focus index is not -1 we have items\n if (menuItems.length) {\n this.focusIndex = 0;\n }\n menuItems.forEach((item, index) => {\n item.setAttribute(\"tabindex\", index === 0 ? \"0\" : \"-1\");\n item.addEventListener(\"focus\", this.handleItemFocus);\n });\n /**\n * Set the indent attribute on MenuItem elements based on their\n * position in the MenuList. Each MenuItem element has a data-indent attribute that is\n * used to set the indent of the element's start slot content.\n */\n const filteredMenuListItems = (_a = this.menuItems) === null || _a === void 0 ? void 0 : _a.filter(this.isMenuItemElement);\n const indent = filteredMenuListItems === null || filteredMenuListItems === void 0 ? void 0 : filteredMenuListItems.reduce((accum, current) => {\n const elementValue = MenuList.elementIndent(current);\n return Math.max(accum, elementValue);\n }, 0);\n filteredMenuListItems === null || filteredMenuListItems === void 0 ? void 0 : filteredMenuListItems.forEach((item) => {\n if (item instanceof MenuItem) {\n item.setAttribute(\"data-indent\", `${indent}`);\n }\n });\n }\n /**\n * Method for Observable changes to the hidden attribute of child elements\n */\n handleChange(_source, propertyName) {\n if (propertyName === \"hidden\") {\n this.setItems();\n }\n }\n setFocus(focusIndex, adjustment) {\n if (this.menuItems === undefined) {\n return;\n }\n while (focusIndex >= 0 && focusIndex < this.menuItems.length) {\n const child = this.menuItems[focusIndex];\n if (this.isFocusableElement(child)) {\n // change the previous index to -1\n if (this.focusIndex > -1 &&\n this.menuItems.length >= this.focusIndex - 1) {\n this.menuItems[this.focusIndex].setAttribute(\"tabindex\", \"-1\");\n }\n // update the focus index\n this.focusIndex = focusIndex;\n // update the tabindex of next focusable element\n child.setAttribute(\"tabindex\", \"0\");\n // focus the element\n child.focus();\n break;\n }\n focusIndex += adjustment;\n }\n }\n}\nMenuList.focusableElementRoles = MenuItemRoles;\n__decorate([\n observable\n], MenuList.prototype, \"items\", void 0);\n//# sourceMappingURL=menu-list.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { attr, FASTElement, observable, Updates } from \"@microsoft/fast-element\";\nimport { keyEnter, keySpace, keyEscape, uniqueId } from \"@microsoft/fast-web-utilities\";\nimport { toggleState } from \"../../util/element-internals.js\";\nimport { MenuList } from \"../menu-list/menu-list.js\";\n/**\n * AccordionMenuPanel\n * @summary An AccordionMenuPanel component that provides expandable and collapsible sections within an accordion menu.\n *\n * @example\n * ```html\n * <fabric-accordion-menu>\n * <fabric-accordion-menu-panel id=\"examplePanel\" expanded>\n * <div slot=\"heading\">Section 1</div>\n * <span slot=\"marker-expanded\">-</span>\n * <span slot=\"marker-collapsed\">+</span>\n * <fabric-menu-list>\n * <fabric-menu-item>Content for section 1</fabric-menu-item>\n * <fabric-menu-item>Content for section 2</fabric-menu-item>\n * </fabric-menu-list>\n * </fabric-accordion-menu-panel>\n * </fabric-accordion-menu>\n * ```\n *\n * @attr {boolean} expanded - Expands or collapses the item.\n * @attr {boolean} disabled - Disables the accordion item.\n * @attr {string} id - The item ID.\n * @attr {AccordionMenuPanelSize} size - Defines the accordion header font size.\n * @attr {boolean} block - Sets the width of the focus state.\n * @attr {AccordionMenuPanelMarkerPosition} marker-position - Sets expand and collapsed icon position.\n *\n * @prop {ElementInternals} elementInternals - Internal element state used to manage the component.\n * @prop {MenuList[] | undefined} menuList - The menu list element if present.\n * @prop {HTMLElement | undefined} headingElement - Reference to the heading element.\n * @prop {boolean} expanded - Expands or collapses the item.\n * @prop {boolean} disabled - Disables an accordion item\n * @prop {string} id - The item ID.\n * @prop {AccordionMenuPanelSize | undefined} size - Defines accordion header font size.\n * @prop {boolean} block - Sets the width of the focus state.\n * @prop {AccordionMenuPanelMarkerPosition | undefined} markerPosition - Sets expand and collapsed icon position.\n *\n * @slot heading - Slot for the heading content.\n * @slot marker-expanded - Slot for the expanded icon.\n * @slot marker-collapsed - Slot for the collapsed icon.\n * @slot - Default slot for the accordion item content.\n *\n * @csspart heading - Represents the heading of the accordion item.\n * @csspart heading-content - Represents the content container of the heading.\n * @csspart markers - Represents the container for expand/collapse icons.\n * @csspart content - Represents the content of the accordion item.\n *\n * @method focusFirstMenuItem - Focus the first menu item in the menu list.\n * @method expandedChanged - Handles expanded changes.\n * @method disabledChanged - Handles disabled changes.\n * @method sizeChanged - Handles changes to size attribute.\n * @method blockChanged - Handles changes to block attribute.\n * @method markerPositionChanged - Handles changes to marker-position attribute.\n *\n * @fires expanded-change - Event fired when the expanded state changes.\n *\n * @extends FASTElement\n * @tagname fabric-accordion-menu-panel\n * @public\n */\nexport class AccordionMenuPanel extends FASTElement {\n /** Constructor for the AccordionMenuPanel component. */\n constructor() {\n super();\n /** Internal element state used to manage the component. */\n this.elementInternals = this.attachInternals();\n /** The menu list element if present */\n this.menuList = [];\n /**\n * Handles click events.\n * @param e - The click event.\n */\n this.handleClick = (e) => {\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n this.expanded = !this.expanded;\n };\n /**\n * Handles keydown events.\n * @param e - The keyboard event.\n */\n this.handleKeyDown = (e) => {\n var _a;\n if (e.defaultPrevented) {\n return;\n }\n if (e.key === \"Tab\") {\n return true;\n }\n switch (e.key) {\n case keyEnter:\n case keySpace:\n e.preventDefault();\n this.expanded = !this.expanded;\n break;\n case keyEscape:\n if (this.expanded) {\n e.preventDefault();\n this.expanded = false;\n (_a = this.headingElement) === null || _a === void 0 ? void 0 : _a.focus();\n }\n break;\n default:\n return;\n }\n };\n /**\n * Expands or collapses the item.\n *\n * @public\n * @remarks\n * HTML attribute: expanded\n */\n this.expanded = false;\n /**\n * Disables an accordion item\n *\n * @public\n * @remarks\n * HTML attribute: disabled\n */\n this.disabled = false;\n /**\n * The item ID\n *\n * @public\n * @remarks\n * HTML Attribute: id\n */\n this.id = uniqueId(\"accordion-\");\n /**\n * Sets the width of the focus state.\n *\n * @public\n * @remarks\n * HTML Attribute: block\n */\n this.block = false;\n this.elementInternals.role = \"button\";\n }\n /** Lifecycle method called when the component is connected to the DOM. */\n connectedCallback() {\n super.connectedCallback();\n }\n /** Lifecycle method called when the component is disconnected from the DOM. */\n disconnectedCallback() {\n super.disconnectedCallback();\n }\n /**\n * Focus the first menu item in the menu list\n */\n focusFirstMenuItem() {\n if (!this.menuList) {\n return;\n }\n Updates.enqueue(() => {\n var _a;\n if (this.menuList) {\n const menuList = this.menuList;\n if ((_a = menuList[0]) === null || _a === void 0 ? void 0 : _a.menuItems) {\n const menuItem = menuList[0].menuItems[0];\n menuItem.focus();\n }\n }\n });\n }\n /**\n * Handles expanded changes\n * @param prev - previous value\n * @param next - next value\n */\n expandedChanged(prev, next) {\n if (next !== prev) {\n toggleState(this.elementInternals, \"expanded\", next);\n this.$emit(\"expanded-change\", { expanded: next });\n if (next) {\n this.focusFirstMenuItem();\n }\n }\n }\n /**\n * Handles disabled changes\n * @param prev - previous value\n * @param next - next value\n */\n disabledChanged(_prev, next) {\n toggleState(this.elementInternals, \"disabled\", next);\n }\n /**\n * Handles changes to size attribute\n * @param prev - previous value\n * @param next - next value\n */\n sizeChanged(prev, next) {\n if (prev) {\n toggleState(this.elementInternals, prev, false);\n }\n if (next) {\n toggleState(this.elementInternals, next, true);\n }\n }\n /**\n * Handles changes to block attribute\n * @param prev - previous value\n * @param next - next value\n */\n blockChanged(_prev, next) {\n toggleState(this.elementInternals, \"block\", next);\n }\n /**\n * Handles changes to marker-position attribute\n * @param prev - previous value\n * @param next - next value\n */\n markerPositionChanged(prev, next) {\n if (prev) {\n toggleState(this.elementInternals, `align-${prev}`, false);\n }\n if (next) {\n toggleState(this.elementInternals, `align-${next}`, true);\n }\n }\n}\n__decorate([\n observable\n], AccordionMenuPanel.prototype, \"menuList\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], AccordionMenuPanel.prototype, \"expanded\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], AccordionMenuPanel.prototype, \"disabled\", void 0);\n__decorate([\n attr\n], AccordionMenuPanel.prototype, \"id\", void 0);\n__decorate([\n attr\n], AccordionMenuPanel.prototype, \"size\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], AccordionMenuPanel.prototype, \"block\", void 0);\n__decorate([\n attr({ attribute: \"marker-position\" })\n], AccordionMenuPanel.prototype, \"markerPosition\", void 0);\n//# sourceMappingURL=accordion-menu-panel.js.map","/**\n * Expand mode for {@link AccordionMenu}\n * @public\n */\nexport const AccordionMenuExpandModes = {\n single: \"single\",\n multi: \"multi\"\n};\n//# sourceMappingURL=accordion-menu.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { Observable } from \"@microsoft/fast-element\";\nimport { attr, FASTElement, observable, Updates } from \"@microsoft/fast-element\";\nimport { isHTMLElement } from \"@microsoft/fast-web-utilities\";\nimport { AccordionMenuPanel } from \"../accordion-menu-panel/accordion-menu-panel.js\";\nimport { AccordionMenuExpandModes } from \"./accordion-menu.options.js\";\nimport { MenuItem } from \"../menu-item/menu-item.js\";\nimport { MenuItemRoles } from \"../menu-item/menu-item.options.js\";\nimport { MenuList } from \"../menu-list/menu-list.js\";\n/**\n * AccordionMenu\n * @summary An AccordionMenu component that provides an interactive accordion interface, allowing for expandable and collapsible sections. Implements ARIA Accordion.\n *\n * @example\n * ```html\n * <fabric-accordion-menu expand-mode=\"single\">\n * <fabric-accordion-item>\n * <fabric-accordion-menu-panel>\n * <!-- content for first panel -->\n * </fabric-accordion-menu-panel>\n * </fabric-accordion-item>\n * <fabric-accordion-item>\n * <fabric-accordion-menu-panel>\n * <!-- content for second panel -->\n * </fabric-accordion-menu-panel>\n * </fabric-accordion-item>\n * <!-- additional accordion items here -->\n * </fabric-accordion-menu>\n * ```\n *\n * @attr {AccordionMenuExpandMode} expand-mode - Controls the expand mode of the Accordion, either allowing single or multiple item expansion.\n *\n * @prop {ElementInternals} elementInternals - Internal element state used to manage the component.\n * @prop {HTMLElement[]} slottedElements - The slotted accordion menu items.\n * @prop {AccordionMenuExpandMode} expandmode - Controls the expand mode of the Accordion, either allowing single or multiple item expansion.\n *\n * @slot - The default slot for the accordion items.\n *\n * @csspart accordion-menu - Represents the accordion menu container.\n *\n * @method expandmodeChanged - Handles changes to the `expandmode` attribute.\n * @method handleChange - Handles changes to observed properties.\n * @method clearSelections - Clears the selections of menu items.\n * @method findExpandedItem - Finds the first expanded item in the accordion.\n * @method setItems - Sets up the accordion items.\n * @method isSingleExpandMode - Checks if the accordion is in single expand mode.\n * @method setSingleExpandMode - Controls the behavior of the accordion in single expand mode.\n *\n * @fires change - Fires a custom 'change' event when the active item changes.\n *\n * @extends FASTElement\n * @tagname fabric-accordion-menu\n * @public\n */\nexport class AccordionMenu extends FASTElement {\n /** Constructor for the AccordionMenu component. */\n constructor() {\n super();\n /** Internal element state used to manage the component. */\n this.elementInternals = this.attachInternals();\n /**\n * Controls the expand mode of the Accordion, either allowing\n * single or multiple item expansion.\n * HTML attribute: expand-mode\n * @public\n */\n this.expandmode = AccordionMenuExpandModes.multi;\n /**\n * The slotted accordion menu items.\n * @public\n */\n this.slottedElements = [];\n /**\n * check if the item is a menu item\n */\n this.isMenuItemElement = (el) => {\n return (el instanceof MenuItem ||\n (isHTMLElement(el) &&\n el.getAttribute(\"role\") in MenuList.focusableElementRoles));\n };\n /**\n * Removes event listeners from items.\n */\n this.removeItemListeners = (items) => {\n items.forEach((item) => {\n Observable.getNotifier(item).unsubscribe(this, \"disabled\");\n Observable.getNotifier(item).unsubscribe(this, \"expanded\");\n });\n };\n this.elementInternals.role = \"menu\";\n }\n /** Lifecycle method called when the component is connected to the DOM. */\n connectedCallback() {\n super.connectedCallback();\n Updates.enqueue(() => {\n this.setItems();\n });\n }\n /** Lifecycle method called when the component is disconnected from the DOM. */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeItemListeners(this.slottedElements);\n this.slottedElements = [];\n }\n /**\n * Handles changes to the `expandmode` attribute.\n * @param prev - The previous value.\n * @param next - The next value.\n */\n expandmodeChanged(_prev, next) {\n if (!this.$fastController.isConnected) {\n return;\n }\n const expandedItem = this.findExpandedItem();\n if (!expandedItem) {\n return;\n }\n if (next === AccordionMenuExpandModes.single) {\n this.setSingleExpandMode(expandedItem);\n }\n else {\n expandedItem === null || expandedItem === void 0 ? void 0 : expandedItem.removeAttribute(\"aria-disabled\");\n }\n }\n /**\n * Handles changes to observed properties.\n * @param source - The source element.\n * @param propertyName - The name of the property that changed.\n */\n handleChange(source, propertyName) {\n if (propertyName === \"disabled\") {\n this.setItems();\n }\n else if (propertyName === \"expanded\") {\n const sourcePanel = source;\n if (sourcePanel.expanded && this.isSingleExpandMode()) {\n this.setSingleExpandMode(sourcePanel);\n }\n }\n }\n /**\n * Clears the selections of menu items.\n */\n clearSelections() {\n if (this.slottedElements === undefined) {\n return;\n }\n this.slottedElements.forEach((item) => {\n if (item instanceof AccordionMenuPanel && item.menuList) {\n item.menuList.forEach((menuItem) => {\n var _a;\n const menuList = menuItem;\n (_a = menuList.menuItems) === null || _a === void 0 ? void 0 : _a.forEach((menuItem) => {\n if (menuItem instanceof MenuItem) {\n menuItem.checked = false;\n }\n });\n });\n }\n });\n }\n /**\n * Finds the first expanded item in the accordion.\n */\n findExpandedItem() {\n var _a;\n if (this.slottedElements.length === 0) {\n return null;\n }\n return ((_a = this.slottedElements.find((item) => item instanceof AccordionMenuPanel && item.expanded)) !== null && _a !== void 0 ? _a : this.slottedElements[0]);\n }\n /**\n * Sets up the accordion items.\n */\n setItems() {\n var _a;\n if (this.slottedElements.length === 0) {\n return;\n }\n const children = Array.from(this.children);\n this.removeItemListeners(children);\n children.forEach((child) => Observable.getNotifier(child).subscribe(this, \"disabled\"));\n this.slottedElements = children.filter((child) => !child.hasAttribute(\"disabled\"));\n // Set initial tabindex for each accordion item\n this.slottedElements.forEach((item) => {\n if (item instanceof AccordionMenuPanel) {\n Observable.getNotifier(item).subscribe(this, \"expanded\");\n }\n });\n if (this.isSingleExpandMode()) {\n const expandedItem = this.findExpandedItem();\n this.setSingleExpandMode(expandedItem);\n }\n /**\n * Set the indent attribute on MenuItem elements based on their\n * position in the MenuList. Each MenuItem element has a data-indent attribute that is\n * used to set the indent of the element's start slot content.\n */\n const filteredMenuListItems = (_a = this.slottedElements) === null || _a === void 0 ? void 0 : _a.filter(this.isMenuItemElement);\n const indent = filteredMenuListItems === null || filteredMenuListItems === void 0 ? void 0 : filteredMenuListItems.reduce((accum, current) => {\n const elementValue = AccordionMenu.elementIndent(current);\n return Math.max(accum, elementValue);\n }, 0);\n filteredMenuListItems === null || filteredMenuListItems === void 0 ? void 0 : filteredMenuListItems.forEach((item) => {\n if (item instanceof MenuItem) {\n item.setAttribute(\"data-indent\", `${indent}`);\n }\n });\n }\n static elementIndent(el) {\n const role = el.getAttribute(\"role\");\n const startSlot = el.querySelector(\"[slot=start]\");\n if (role && role !== MenuItemRoles.menuitem) {\n return startSlot ? 2 : 1;\n }\n return startSlot ? 1 : 0;\n }\n /**\n * Checks if the accordion is in single expand mode.\n */\n isSingleExpandMode() {\n return this.expandmode === AccordionMenuExpandModes.single;\n }\n /**\n * Controls the behavior of the accordion in single expand mode.\n */\n setSingleExpandMode(expandedItem) {\n if (this.slottedElements.length === 0) {\n return;\n }\n const currentItems = Array.from(this.slottedElements);\n currentItems.forEach((item) => {\n if (item instanceof AccordionMenuPanel) {\n if (item === expandedItem) {\n item.expanded = true;\n this.setAttribute(\"aria-disabled\", \"true\");\n }\n else {\n item.expanded = false;\n if (!item.hasAttribute(\"disabled\")) {\n this.removeAttribute(\"aria-disabled\");\n }\n }\n }\n });\n }\n}\n__decorate([\n attr({ attribute: \"expand-mode\" })\n], AccordionMenu.prototype, \"expandmode\", void 0);\n__decorate([\n observable\n], AccordionMenu.prototype, \"slottedElements\", void 0);\n//# sourceMappingURL=accordion-menu.js.map","import { html, slotted } from \"@microsoft/fast-element\";\n/**\n * @public\n */\nexport function accordionMenuTemplate() {\n return html `\n <template class=\"accordion-menu\">\n <slot\n ${slotted({\n property: \"slottedElements\"\n })}\n ></slot>\n </template>\n `;\n}\nexport const template = accordionMenuTemplate();\n//# sourceMappingURL=accordion-menu.template.js.map","import { css } from \"@microsoft/fast-element\";\nimport { display, spacingVerticalXXS, spacingHorizontalL, spacingHorizontalXL } from \"@fluentui/web-components\";\nexport const styles = css `\n ${display(\"flex\")}\n\n :host {\n contain: content;\n flex-direction: column;\n height: fit-content;\n max-width: calc(${spacingHorizontalXL} * 15);\n min-width: calc(${spacingHorizontalL} * 10);\n width: auto;\n background-color: var(--colorNeutralBackground1);\n border: 1px solid var(--colorTransparentStroke);\n border-radius: var(--borderRadiusMedium);\n box-shadow: var(--shadow16);\n row-gap: ${spacingVerticalXXS};\n }\n`;\n//# sourceMappingURL=accordion-menu.styles.js.map","export const DesignSystem = Object.freeze({\n prefix: \"fabric\",\n shadowRootMode: \"open\",\n registry: customElements\n});\n//# sourceMappingURL=design-system.js.map","import { AccordionMenu } from \"./accordion-menu.js\";\nimport { styles } from \"./accordion-menu.styles.js\";\nimport { template } from \"./accordion-menu.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-accordion-menu>\n */\nexport const definition = AccordionMenu.compose({\n name: `${DesignSystem.prefix}-accordion-menu`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=accordion-menu.definition.js.map","/**\n * An Accordion Menu Panel header font size can be small, medium, large, and extra-large\n * @public\n */\nexport const AccordionMenuPanelSizes = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n extraLarge: \"extra-large\"\n};\n/**\n * An Accordion Menu Panel expand/collapse icon can appear at the start or end of the accordion\n * @public\n */\nexport const AccordionMenuPanelMarkerPositions = {\n start: \"start\",\n end: \"end\"\n};\n//# sourceMappingURL=accordion-menu-panel.options.js.map","import { html } from \"@microsoft/fast-element\";\n/**\n * Chevron left icon (20x20).\n * @internal\n */\nexport const chevronLeftIcon = html `\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.3534 15.8529C12.1585 16.0485 11.8419 16.0491 11.6463 15.8542L6.16178 10.3892C5.94607 10.1743 5.94607 9.82495 6.16178 9.61L11.6463 4.14502C11.8419 3.95011 12.1585 3.95067 12.3534 4.14628C12.5483 4.34189 12.5477 4.65848 12.3521 4.85339L7.18753 9.99961L12.3521 15.1458C12.5477 15.3407 12.5483 15.6573 12.3534 15.8529Z\"\n fill=\"currentColor\"\n />\n </svg>\n`;\n/**\n * Chevron right icon (20x20).\n * @internal\n */\nexport const chevronRightIcon = html `\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7.64582 4.14708C7.84073 3.95147 8.15731 3.9509 8.35292 4.14582L13.8374 9.6108C14.0531 9.82574 14.0531 10.1751 13.8374 10.39L8.35292 15.855C8.15731 16.0499 7.84073 16.0493 7.64582 15.8537C7.4509 15.6581 7.45147 15.3415 7.64708 15.1466L12.8117 10.0004L7.64708 4.85418C7.45147 4.65927 7.4509 4.34269 7.64582 4.14708Z\"\n fill=\"currentColor\"\n />\n </svg>\n`;\n/**\n * Chevron down icon (20x20).\n * @internal\n */\nexport const chevronDownIcon = html.partial(`<svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"default-marker-collapsed\"\n aria-hidden=\"true\"\n>\n <path\n d=\"M15.794 7.73271C16.0797 8.03263 16.0681 8.50737 15.7682 8.79306L10.5178 13.7944C10.2281 14.0703 9.77285 14.0703 9.48318 13.7944L4.23271 8.79306C3.93279 8.50737 3.92125 8.03263 4.20694 7.73271C4.49264 7.43279 4.96737 7.42125 5.26729 7.70694L10.0005 12.2155L14.7336 7.70694C15.0336 7.42125 15.5083 7.43279 15.794 7.73271Z\"\n fill=\"currentColor\"\n />\n</svg>`);\n/**\n * Chevron up icon (20x20).\n * @internal\n */\nexport const chevronUpIcon = html.partial(`<svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"default-marker-expanded\"\n aria-hidden=\"true\"\n>\n <path\n d=\"M4.20694 12.2673C3.92125 11.9674 3.93279 11.4926 4.23271 11.2069L9.48318 6.20561C9.77285 5.92975 10.2281 5.92975 10.5178 6.20561L15.7682 11.2069C16.0681 11.4926 16.0797 11.9674 15.794 12.2673C15.5083 12.5672 15.0336 12.5787 14.7336 12.2931L10.0005 7.78448L5.26729 12.2931C4.96737 12.5787 4.49264 12.5672 4.20694 12.2673Z\"\n fill=\"currentColor\"\n />\n</svg>`);\n//# sourceMappingURL=icons.js.map","import { html, slotted, ref } from \"@microsoft/fast-element\";\nimport { chevronDownIcon, chevronUpIcon } from \"../../util/icons.js\";\nexport function accordionMenuPanelTemplate() {\n return html `\n <template @keydown=\"${(x, c) => x.handleKeyDown(c.event)}\">\n <div\n ${ref(\"headingElement\")}\n class=\"heading\"\n part=\"heading\"\n role=\"button\"\n tabindex=\"0\"\n aria-expanded=\"${(x) => x.expanded}\"\n aria-controls=\"${(x) => x.id}-panel\"\n aria-disabled=\"${(x) => x.disabled}\"\n id=\"${(x) => x.id}\"\n @click=\"${(x, c) => x.handleClick(c.event)}\"\n @keydown=\"${(x, c) => x.handleKeyDown(c.event)}\"\n >\n <slot name=\"start\"></slot>\n <div class=\"heading-content\" part=\"heading-content\">\n <slot name=\"heading\"></slot>\n </div>\n <div class=\"markers\" part=\"markers\">\n <slot name=\"marker-expanded\">${chevronUpIcon}</slot>\n <slot name=\"marker-collapsed\">${chevronDownIcon}</slot>\n </div>\n </div>\n <div\n class=\"content\"\n part=\"content\"\n id=\"${(x) => x.id}-panel\"\n ?hidden=\"${(x) => !x.expanded}\"\n >\n <slot ${slotted(\"menuList\")}></slot>\n </div>\n </template>\n `;\n}\n/**\n * The template for the accordion menu panel component.\n * @public\n */\nexport const template = accordionMenuPanelTemplate();\n//# sourceMappingURL=accordion-menu-panel.template.js.map","import { stateSelector } from \"../../../util/element-internals\";\n/**\n * Selector for the `active` state.\n * @public\n */\nexport const activeState = stateSelector(\"active\");\n/**\n * Selector for the `align-end` state.\n * @public\n */\nexport const alignEndState = stateSelector(\"align-end\");\n/**\n * Selector for the `align-start` state.\n * @public\n */\nexport const alignStartState = stateSelector(\"align-start\");\n/**\n * Selector for the `anchor` state.\n * @public\n */\nexport const anchorState = stateSelector(\"anchor\");\n/**\n * Selector for the `auto-resize` state.\n * @public\n */\nexport const autoResizeState = stateSelector(\"auto-resize\");\n/**\n * Selector for the `bad-input` state.\n * @public\n */\nexport const badInputState = stateSelector(\"bad-input\");\n/**\n * Selector for the `beige` state.\n * @public\n */\nexport const beigeState = stateSelector(\"beige\");\n/**\n * Selector for the `block` state.\n * @public\n */\nexport const blockState = stateSelector(\"block\");\n/**\n * Selector for the `blue` state.\n * @public\n */\nexport const blueState = stateSelector(\"blue\");\n/**\n * Selector for the `bold` state.\n * @public\n */\nexport const boldState = stateSelector(\"bold\");\n/**\n * Selector for the `bordered` state.\n * @public\n */\nexport const borderedState = stateSelector(\"bordered\");\n/**\n * Selector for the `brand` state.\n * @public\n */\nexport const brandState = stateSelector(\"brand\");\n/**\n * Selector for the `brass` state.\n * @public\n */\nexport const brassState = stateSelector(\"brass\");\n/**\n * Selector for the `brown` state.\n * @public\n */\nexport const brownState = stateSelector(\"brown\");\n/**\n * Selector for the `center` state.\n * @public\n */\nexport const centerState = stateSelector(\"center\");\n/**\n * Selector for the `checked` state.\n * @public\n */\nexport const checkedState = stateSelector(\"checked\");\n/**\n * Selector for the `circular` state.\n * @public\n */\nexport const circularState = stateSelector(\"circular\");\n/**\n * Selector for the `cornflower` state.\n * @public\n */\nexport const cornflowerState = stateSelector(\"cornflower\");\n/**\n * Selector for the `cranberry` state.\n * @public\n */\nexport const cranberryState = stateSelector(\"cranberry\");\n/**\n * Selector for the `custom-error` state.\n * @public\n */\nexport const customErrorState = stateSelector(\"custom-error\");\n/**\n * Selector for the `danger` state.\n * @public\n */\nexport const dangerState = stateSelector(\"danger\");\n/**\n * Selector for the `dark-green` state.\n * @public\n */\nexport const darkGreenState = stateSelector(\"dark-green\");\n/**\n * Selector for the `dark-red` state.\n * @public\n */\nexport const darkRedState = stateSelector(\"dark-red\");\n/**\n * Selector for the `description` state.\n */\nexport const descriptionState = stateSelector(\"description\");\n/**\n * Selector for the `disabled` state.\n * @public\n */\nexport const disabledState = stateSelector(\"disabled\");\n/**\n * Selector for the `display-shadow` state.\n * @public\n */\nexport const displayShadowState = stateSelector(\"display-shadow\");\n/**\n * Selector for the `dot` state.\n * @public\n */\nexport const dotState = stateSelector(\"dot\");\n/**\n * Selector for the `end` state.\n * @public\n */\nexport const endState = stateSelector(\"end\");\n/**\n * Selector for the `error` state.\n * @public\n */\nexport const errorState = stateSelector(\"error\");\n/**\n * Selector for the `expanded` state.\n * @public\n */\nexport const expandedState = stateSelector(\"expanded\");\n/**\n * Selector for the `extra-large` state.\n * @public\n */\nexport const extraLargeState = stateSelector(\"extra-large\");\n/**\n * Selector for the `extra-small` state.\n * @public\n */\nexport const extraSmallState = stateSelector(\"extra-small\");\n/**\n * Selector for the `filled-darker` state.\n * @public\n */\nexport const filledDarkerState = stateSelector(\"filled-darker\");\n/**\n * Selector for the `filled-lighter` state.\n * @public\n */\nexport const filledLighterState = stateSelector(\"filled-lighter\");\n/**\n * Selector for the `fit-center` state.\n * @public\n */\nexport const fitCenterState = stateSelector(\"fit-center\");\n/**\n * Selector for the `fit-contain` state.\n * @public\n */\nexport const fitContainState = stateSelector(\"fit-contain\");\n/**\n * Selector for the `fit-cover` state.\n * @public\n */\nexport const fitCoverState = stateSelector(\"fit-cover\");\n/**\n * Selector for the `fit-none` state.\n * @public\n */\nexport const fitNoneState = stateSelector(\"fit-none\");\n/**\n * Selector for the `flip-block` state.\n * @public\n */\nexport const flipBlockState = stateSelector(\"flip-block\");\n/**\n * Selector for the `focus-visible` state.\n * @public\n */\nexport const focusVisibleState = stateSelector(\"focus-visible\");\n/**\n * Selector for the `forest` state.\n * @public\n */\nexport const forestState = stateSelector(\"forest\");\n/**\n * Selector for the `ghost` state.\n * @public\n */\nexport const ghostState = stateSelector(\"ghost\");\n/**\n * Selector for the `gold` state.\n * @public\n */\nexport const goldState = stateSelector(\"gold\");\n/**\n * Selector for the `grape` state.\n * @public\n */\nexport const grapeState = stateSelector(\"grape\");\n/**\n * Selector for the `has-message` state.\n * @public\n */\nexport const hasMessageState = stateSelector(\"has-message\");\n/**\n * Selector for the `huge` state.\n * @public\n */\nexport const hugeState = stateSelector(\"huge\");\n/**\n * Selector for the `icon` state.\n * @public\n */\nexport const iconOnlyState = stateSelector(\"icon\");\n/**\n * Selector for the `important` state.\n * @public\n */\nexport const importantState = stateSelector(\"important\");\n/**\n * Selector for the `indeterminate` state.\n * @public\n */\nexport const indeterminateState = stateSelector(\"indeterminate\");\n/**\n * Selector for the `informative` state.\n * @public\n */\nexport const informativeState = stateSelector(\"informative\");\n/**\n * Selector for the `inline` state.\n * @public\n */\nexport const inlineState = stateSelector(\"inline\");\n/**\n * Selector for the `inset` state.\n * @public\n */\nexport const insetState = stateSelector(\"inset\");\n/**\n * Selector for the `inverted` state.\n * @public\n */\nexport const invertedState = stateSelector(\"inverted\");\n/**\n * Selector for the `italic` state.\n * @public\n */\nexport const italicState = stateSelector(\"italic\");\n/**\n * Selector for the `justify` state.\n * @public\n */\nexport const justifyState = stateSelector(\"justify\");\n/**\n * Selector for the `large` state.\n * @public\n */\nexport const largeState = stateSelector(\"large\");\n/**\n * Selector for the `lavender` state.\n * @public\n */\nexport const lavenderState = stateSelector(\"lavender\");\n/**\n * Selector for the `light-teal` state.\n * @public\n */\nexport const lightTealState = stateSelector(\"light-teal\");\n/**\n * Selector for the `lilac` state.\n * @public\n */\nexport const lilacState = stateSelector(\"lilac\");\n/**\n * Selector for the `magenta` state.\n * @public\n */\nexport const magentaState = stateSelector(\"magenta\");\n/**\n * Selector for the `marigold` state.\n * @public\n */\nexport const marigoldState = stateSelector(\"marigold\");\n/**\n * Selector for the `medium` state.\n * @public\n */\nexport const mediumState = stateSelector(\"medium\");\n/**\n * Selector for the `mink` state.\n * @public\n */\nexport const minkState = stateSelector(\"mink\");\n/**\n * Selector for the `monospace` state.\n * @public\n */\nexport const monospaceState = stateSelector(\"monospace\");\n/**\n * Selector for the `multiline` state.\n * @public\n */\nexport const multiLineState = stateSelector(\"multiline\");\n/**\n * Selector for the `multiselect` state.\n * @public\n */\nexport const multipleState = stateSelector(\"multiple\");\n/**\n * Selector for the `navy` state.\n * @public\n */\nexport const navyState = stateSelector(\"navy\");\n/**\n * Selector for the `neutral` state.\n * @public\n */\nexport const neutralState = stateSelector(\"neutral\");\n/**\n * Selector for the `nowrap` state.\n * @public\n */\nexport const nowrapState = stateSelector(\"nowrap\");\n/**\n * Selector for the `numeric` state.\n * @public\n */\nexport const numericState = stateSelector(\"numeric\");\n/**\n * Selector for the `open` state.\n * @public\n */\nexport const openState = stateSelector(\"open\");\n/**\n * Selector for the `outline` state.\n * @public\n */\nexport const outlineState = stateSelector(\"outline\");\n/**\n * Selector for the `pattern-mismatch` state.\n * @public\n */\nexport const patternMismatchState = stateSelector(\"pattern-mismatch\");\n/**\n * Selector for the `peach` state.\n * @public\n */\nexport const peachState = stateSelector(\"peach\");\n/**\n * Selector for the `pink` state.\n * @public\n */\nexport const pinkState = stateSelector(\"pink\");\n/**\n * Selector for the `placeholder-shown` state.\n * @public\n */\nexport const placeholderShownState = stateSelector(\"placeholder-shown\");\n/**\n * Selector for the `platinum` state.\n * @public\n */\nexport const platinumState = stateSelector(\"platinum\");\n/**\n * Selector for the `plum` state.\n * @public\n */\nexport const plumState = stateSelector(\"plum\");\n/**\n * Selector for the `pressed` state.\n * @public\n */\nexport const pressedState = stateSelector(\"pressed\");\n/**\n * Selector for the `primary` state.\n * @public\n */\nexport const primaryState = stateSelector(\"primary\");\n/**\n * Selector for the `pumpkin` state.\n * @public\n */\nexport const pumpkinState = stateSelector(\"pumpkin\");\n/**\n * Selector for the `purple` state.\n * @public\n */\nexport const purpleState = stateSelector(\"purple\");\n/**\n * Selector for the `range-overflow` state.\n * @public\n */\nexport const rangeOverflowState = stateSelector(\"range-overflow\");\n/**\n * Selector for the `range-underflow` state.\n * @public\n */\nexport const rangeUnderflowState = stateSelector(\"range-underflow\");\n/**\n * Selector for the `red` state.\n * @public\n */\nexport const redState = stateSelector(\"red\");\n/**\n * Selector for the `resize-both` state.\n * @public\n */\nexport const resizeBothState = stateSelector(\"resize-both\");\n/**\n * Selector for the `resize-horizontal` state.\n * @public\n */\nexport const resizeHorizontalState = stateSelector(\"resize-horizontal\");\n/**\n * Selector for the `resize-vertical` state.\n * @public\n */\nexport const resizeVerticalState = stateSelector(\"resize-vertical\");\n/**\n * Selector for the `rounded` state.\n * @public\n */\nexport const roundedState = stateSelector(\"rounded\");\n/**\n * Selector for the `royal-blue` state.\n * @public\n */\nexport const royalBlueState = stateSelector(\"royal-blue\");\n/**\n * Selector for the `seafoam` state.\n * @public\n */\nexport const seafoamState = stateSelector(\"seafoam\");\n/**\n * Selector for the `selected` state.\n * @public\n */\nexport const selectedState = stateSelector(\"selected\");\n/**\n * Selector for the `semibold` state.\n * @public\n */\nexport const semiboldState = stateSelector(\"semibold\");\n/**\n * Selector for the `severe` state.\n * @public\n */\nexport const severeState = stateSelector(\"severe\");\n/**\n * Selector for the `shadow` state.\n * @public\n */\nexport const shadowState = stateSelector(\"shadow\");\n/**\n * Selector for the `size1000` state.\n * @public\n */\nexport const size1000State = stateSelector(\"size-1000\");\n/**\n * Selector for the `size100` state.\n * @public\n */\nexport const size100State = stateSelector(\"size-100\");\n/**\n * Selector for the `size200` state.\n * @public\n */\nexport const size200State = stateSelector(\"size-200\");\n/**\n * Selector for the `size400` state.\n * @public\n */\nexport const size400State = stateSelector(\"size-400\");\n/**\n * Selector for the `size500` state.\n * @public\n */\nexport const size500State = stateSelector(\"size-500\");\n/**\n * Selector for the `size600` state.\n * @public\n */\nexport const size600State = stateSelector(\"size-600\");\n/**\n * Selector for the `size700` state.\n * @public\n */\nexport const size700State = stateSelector(\"size-700\");\n/**\n * Selector for the `size800` state.\n * @public\n */\nexport const size800State = stateSelector(\"size-800\");\n/**\n * Selector for the `size900` state.\n * @public\n */\nexport const size900State = stateSelector(\"size-900\");\n/**\n * Selector for the `small` state.\n * @public\n */\nexport const smallState = stateSelector(\"small\");\n/**\n * Selector for the `square` state.\n * @public\n */\nexport const squareState = stateSelector(\"square\");\n/**\n * Selector for the `steel` state.\n * @public\n */\nexport const steelState = stateSelector(\"steel\");\n/**\n * Selector for the `step-mismatch` state.\n * @public\n */\nexport const stepMismatchState = stateSelector(\"step-mismatch\");\n/**\n * Selector for the `strikethrough` state.\n * @public\n */\nexport const strikethroughState = stateSelector(\"strikethrough\");\n/**\n * Selector for the `strong` state.\n * @public\n */\nexport const strongState = stateSelector(\"strong\");\n/**\n * Selector for the `submenu` state.\n * @public\n */\nexport const submenuState = stateSelector(\"submenu\");\n/**\n * Selector for the `subtle` state.\n * @public\n */\nexport const subtleState = stateSelector(\"subtle\");\n/**\n * Selector for the `success` state.\n * @public\n */\nexport const successState = stateSelector(\"success\");\n/**\n * Selector for the `teal` state.\n * @public\n */\nexport const tealState = stateSelector(\"teal\");\n/**\n * Selector for the `tint` state.\n * @public\n */\nexport const tintState = stateSelector(\"tint\");\n/**\n * Selector for the `tiny` state.\n * @public\n */\nexport const tinyState = stateSelector(\"tiny\");\n/**\n * Selector for the `too-long` state.\n * @public\n */\nexport const tooLongState = stateSelector(\"too-long\");\n/**\n * Selector for the `too-short` state.\n * @public\n */\nexport const tooShortState = stateSelector(\"too-short\");\n/**\n * Selector for the `transparent` state.\n * @public\n */\nexport const transparentState = stateSelector(\"transparent\");\n/**\n * Selector for the `truncate` state.\n * @public\n */\nexport const truncateState = stateSelector(\"truncate\");\n/**\n * Selector for the `type-mismatch` state.\n * @public\n */\nexport const typeMismatchState = stateSelector(\"type-mismatch\");\n/**\n * Selector for the `underline` state.\n * @public\n */\nexport const underlineState = stateSelector(\"underline\");\n/**\n * Selector for the `user-invalid` state.\n * @public\n */\nexport const userInvalidState = stateSelector(\"user-invalid\");\n/**\n * Selector for the `valid` state.\n * @public\n */\nexport const validState = stateSelector(\"valid\");\n/**\n * Selector for the `value-missing` state.\n * @public\n */\nexport const valueMissingState = stateSelector(\"value-missing\");\n/**\n * Selector for the `vertical` state.\n * @public\n */\nexport const verticalState = stateSelector(\"vertical\");\n/**\n * Selector for the `warning` state.\n * @public\n */\nexport const warningState = stateSelector(\"warning\");\n//# sourceMappingURL=states.js.map","import { css } from \"@microsoft/fast-element\";\nimport { alignEndState, disabledState, expandedState, extraLargeState, largeState, smallState } from \"../styles/states/states.js\";\nimport { borderRadiusMedium, colorNeutralForeground3, colorNeutralForegroundDisabled, colorNeutralStroke2, colorStrokeFocus2, colorTransparentBackground, fontSizeBase200, fontSizeBase400, fontSizeBase500, lineHeightBase200, lineHeightBase400, lineHeightBase500, spacingHorizontalMNudge, spacingHorizontalS, spacingHorizontalSNudge, spacingHorizontalXS, spacingHorizontalXXS, strokeWidthThin, display, typographyCaption1StrongStyles } from \"@fluentui/web-components\";\nimport { sizeVerticalXXXL } from \"@fabric-msft/theme\";\nexport const styles = css `\n ${display(\"block\")}\n\n :host {\n contain: content;\n position: relative;\n }\n\n :host(:focus-visible) {\n outline: none;\n }\n\n :host(:focus-visible) .heading {\n border-radius: ${borderRadiusMedium};\n outline: 2px solid ${colorStrokeFocus2};\n }\n\n :host([marker-position=\"start\"]) .heading {\n flex-direction: row-reverse;\n }\n\n :host([marker-position=\"end\"]) .heading {\n flex-direction: row;\n }\n\n .heading {\n display: flex;\n justify-content: space-between;\n height: ${sizeVerticalXXXL};\n align-items: center;\n position: relative;\n padding-inline: ${spacingHorizontalS} ${spacingHorizontalS};\n border-radius: ${borderRadiusMedium};\n ${typographyCaption1StrongStyles}\n grid-template-columns: auto auto 1fr auto;\n padding: 0px ${spacingHorizontalMNudge};\n margin: 1px;\n gap: ${spacingHorizontalXS};\n cursor: pointer;\n color: ${colorNeutralForeground3};\n background: ${colorTransparentBackground};\n transition: background-color 0.2s ease-in-out;\n }\n\n .heading * {\n pointer-events: none;\n }\n\n .heading-content {\n flex: 1;\n display: flex;\n align-items: center;\n }\n\n .content {\n display: none;\n }\n\n :where(.default-marker-collapsed, .default-marker-expanded),\n ::slotted(:is([slot=\"marker-collapsed\"], [slot=\"marker-expanded\"])) {\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n position: relative;\n height: 100%;\n transition: transform 0.2s ease-in-out;\n }\n\n ::slotted([slot=\"start\"]) {\n display: flex;\n justify-content: center;\n align-items: center;\n padding-inline-end: ${spacingHorizontalS};\n }\n\n :host(${disabledState}) .heading {\n color: ${colorNeutralForegroundDisabled};\n cursor: not-allowed;\n }\n\n :host(${disabledState}) svg {\n filter: invert(89%) sepia(0%) saturate(569%) hue-rotate(155deg)\n brightness(88%) contrast(87%);\n }\n\n :host(${expandedState}) .content {\n display: block;\n }\n\n :host(${expandedState}) .default-marker-collapsed,\n :host(${expandedState}) ::slotted([slot=\"marker-collapsed\"]),\n :host(:not(${expandedState})) :is(.default-marker-expanded, .content),\n :host(:not(${expandedState})) ::slotted([slot=\"marker-expanded\"]) {\n display: none;\n }\n\n :host(${expandedState}) ::slotted([slot=\"marker-expanded\"]),\n :host(:not(${expandedState})) ::slotted([slot=\"marker-collapsed\"]) {\n display: flex;\n }\n\n :host(${smallState}) .heading {\n font-size: ${fontSizeBase200};\n line-height: ${lineHeightBase200};\n }\n\n :host(${largeState}) .heading {\n font-size: ${fontSizeBase400};\n line-height: ${lineHeightBase400};\n }\n\n :host(${extraLargeState}) .heading {\n font-size: ${fontSizeBase500};\n line-height: ${lineHeightBase500};\n }\n\n :host(${alignEndState}) :slotted([slot=\"start\"]) {\n grid-column: 1 / span 1;\n }\n\n :host(${alignEndState})\n :is(.default-marker-collapsed, .default-marker-expanded) {\n padding-inline-start: ${spacingHorizontalS};\n padding-inline-end: ${spacingHorizontalXXS};\n }\n\n :host([block]) {\n max-width: 100%;\n }\n\n :host(${alignEndState}) .heading {\n padding-inline: ${spacingHorizontalS};\n }\n\n :host(${alignEndState}:has([slot='start'])) .heading {\n padding-inline: ${spacingHorizontalSNudge} ${spacingHorizontalS};\n }\n\n :host(:not(:first-child)) .heading {\n border-block-start: ${strokeWidthThin} solid ${colorNeutralStroke2};\n border-radius: 0;\n }\n\n ::slotted(fabric-menu-list) {\n box-shadow: none;\n border-radius: 0;\n border: none;\n }\n`;\n//# sourceMappingURL=accordion-menu-panel.styles.js.map","import { AccordionMenuPanel } from \"./accordion-menu-panel.js\";\nimport { styles } from \"./accordion-menu-panel.styles.js\";\nimport { template } from \"./accordion-menu-panel.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\nexport const definition = AccordionMenuPanel.compose({\n name: `${DesignSystem.prefix}-accordion-menu-panel`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=accordion-menu-panel.definition.js.map","/**\n * The appearance variations for the card component\n * @public\n */\nexport const CardAppearances = {\n filled: \"filled\",\n filledAlternative: \"filled-alternative\",\n outline: \"outline\",\n subtle: \"subtle\"\n};\n/**\n * Back-compat runtime alias for {@link CardAppearances}.\n * @public\n */\nexport const CardAppearance = CardAppearances;\n/**\n * The orientation variations for the card component\n * @public\n */\nexport const CardOrientations = {\n horizontal: \"horizontal\",\n vertical: \"vertical\"\n};\n/**\n * Back-compat runtime alias for {@link CardOrientations}.\n * @public\n */\nexport const CardOrientation = CardOrientations;\n/**\n * The focus mode variations for the card component\n * @public\n */\nexport const CardFocusModes = {\n off: \"off\",\n noTab: \"no-tab\",\n tabExit: \"tab-exit\",\n tabOnly: \"tab-only\"\n};\n/**\n * Back-compat runtime alias for {@link CardFocusModes}.\n * @public\n */\nexport const CardFocusMode = CardFocusModes;\n/**\n * Card event names\n * @public\n */\nexport const CardEventNames = {\n interactiveChanged: \"interactive-changed\",\n click: \"click\"\n};\n//# sourceMappingURL=card.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, Updates, attr, observable } from \"@microsoft/fast-element\";\nimport { CardFocusMode, CardAppearance, CardOrientation, CardEventNames } from \"./card.options.js\";\nimport { isTabbable } from \"tabbable\";\nimport { keyEnter, keyEscape, keyTab } from \"@microsoft/fast-web-utilities\";\n/**\n * Card\n * @summary A versatile surface that can display rich content, optional header/footer regions, and interactive behaviors.\n *\n * @example\n * ```html\n * <fabric-card\n * focus-mode=\"off\"\n * appearance=\"filled\"\n * orientation=\"horizontal\"\n * interactive\n * aria-describedby=\"descId\"\n * aria-labelledby=\"labelId\"\n * >\n * <div>Card main content</div>\n * </fabric-card>\n * ```\n *\n * @attr {CardFocusMode} focus-mode - Controls keyboard focus behavior inside the card (including focus trapping and Tab/Escape behavior).\n * @attr {CardAppearance | undefined} appearance - Sets the visual style of the card (for example `filled` or `outline`).\n * @attr {CardOrientation | undefined} orientation - Sets the card layout direction (horizontal or vertical).\n * @attr {string} role - Sets the ARIA role; automatically switches to `button` when `interactive` is true.\n * @attr {string | undefined} value - Optional value associated with the card; emitted with click events.\n * @attr {string | undefined} href - Optional link value that is surfaced in the emitted click event.\n * @attr {boolean} disabled - Disables interactive behaviors and keyboard handling when set.\n * @attr {boolean} interactive - Enables interactive behaviors (for example Enter triggers click) and updates the role.\n * @attr {string | undefined} aria-describedby - Sets `aria-describedby` on the internal root for assistive descriptions.\n * @attr {string | undefined} aria-labelledby - Sets `aria-labelledby` on the internal root for assistive labeling.\n *\n * @prop {CardFocusMode} focusMode - Reflects the `focus-mode` attribute and governs keyboard focus handling.\n * @prop {CardAppearance | undefined} appearance - Reflects the chosen visual style of the card.\n * @prop {CardOrientation | undefined} orientation - Reflects whether content is arranged horizontally or vertically.\n * @prop {string} role - Current ARIA role applied to the card surface.\n * @prop {string | undefined} value - Value included in emitted click events for identification.\n * @prop {string | undefined} href - Link value included in emitted click events.\n * @prop {boolean} disabled - Indicates whether the card is inert to pointer and keyboard interaction.\n * @prop {boolean} interactive - Toggles interactive keyboard/mouse behaviors and role switching.\n * @prop {string | undefined} ariaDescribedby - Programmatic backing property for `aria-describedby`.\n * @prop {string | undefined} ariaLabelledby - Programmatic backing property for `aria-labelledby`.\n * @prop {HTMLElement} card - Reference to the primary card element within the template.\n * @prop {HTMLElement} root - Reference to the root container wrapping the card content.\n *\n * @slot default - Default slot for the card's content.\n *\n * @csspart card - Styles the main card surface element.\n * @csspart root - Styles the outermost root container element.\n * @csspart header - Styles the header region of the card.\n * @csspart content - Styles the content container region of the card.\n *\n * @cssprop --card-width - Controls the card width (any valid CSS length).\n * @cssprop --card-height - Controls the card height (defaults to fit-content).\n * @cssprop --card-elevation - Controls the card elevation level for visual stacking.\n * @cssprop --card-padding - Controls the padding applied to the card content.\n *\n * @method focusFirstElement - Moves focus to the first tabbable element (or the card if none exist).\n * @method focusLastElement - Moves focus to the last tabbable element within the card.\n * @method clickHandler - Handles pointer clicks and emits the card click event when eligible.\n * @method keydownHandler - Handles keyboard interaction including Enter activation and focus management.\n *\n * @fires click - Fired when an interactive, enabled card is activated; detail includes `interactive`, `value`, and `href`.\n * @fires interactive-changed - Fired when the `interactive` state changes; detail includes the new value.\n *\n * @extends FASTElement\n * @tagname fabric-card\n * @public\n */\nexport class Card extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Focus behavior within the card, set via `focus-mode` attribute.\n * @public\n * @attr focus-mode\n */\n this.focusMode = CardFocusMode.off;\n /**\n * The role of the card.\n * @public\n * @attr\n */\n this.role = \"group\";\n /**\n * Indicates if the card is disabled.\n * @public\n * @attr disabled\n */\n this.disabled = false;\n /**\n * Determines whether the card is interactive.\n * @public\n * @observable\n * @attr interactive\n */\n this.interactive = false;\n /**\n * Focuses the element at the specified index.\n * @private\n * @param index - The index of the element to focus.\n */\n this.focusElementAtIndex = (index) => {\n if (this.bounds.length > 0) {\n this.bounds[index].focus();\n }\n else {\n this.card.focus();\n }\n };\n /**\n * Focuses the first element in the card.\n * @public\n */\n this.focusFirstElement = () => {\n this.focusElementAtIndex(0);\n };\n /**\n * Focuses the last element in the card.\n * @public\n */\n this.focusLastElement = () => {\n if (this.bounds.length > 0) {\n this.focusElementAtIndex(this.bounds.length - 1);\n }\n };\n /**\n * Emits an event when the interactive state changes.\n * @protected\n */\n this.interactiveChanged = () => {\n this.role = this.interactive ? \"button\" : \"group\";\n this.emitInteractiveChangedEvent();\n };\n /**\n * Gets the tabbable elements within the given context.\n * @private\n * @param context - The context in which to find tabbable elements.\n * @returns {(HTMLElement | SVGElement)[]} The tabbable elements.\n */\n this.getTabQueueBounds = (context) => {\n const bounds = [];\n return Card.reduceTabbableItems(bounds, context);\n };\n }\n /**\n * Called when the element is added to the document.\n * @public\n */\n connectedCallback() {\n super.connectedCallback();\n this.requestInertUpdate();\n }\n /**\n * Called when the element is removed from the document.\n * @public\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n }\n /**\n * Reacts to focus mode changes.\n */\n focusModeChanged() {\n this.requestInertUpdate();\n }\n /**\n * Reacts to disabled changes.\n */\n disabledChanged() {\n this.requestInertUpdate();\n }\n /**\n * Handles click events on the card.\n * @public\n * @param e - The mouse event.\n * @returns {boolean | void} Returns true if the event was handled.\n */\n clickHandler(e) {\n if (this.disabled || e.defaultPrevented || !this.interactive) {\n return;\n }\n e.preventDefault();\n this.emitClickEvent();\n }\n /**\n * Handles keydown events on the card.\n * @public\n * @param e - The keyboard event.\n * @returns {boolean | void | null} Returns true if the event was handled.\n */\n keydownHandler(e) {\n if (this.disabled || e.defaultPrevented) {\n return true;\n }\n const { key, target, currentTarget, shiftKey } = e;\n const isTargetCurrent = target === currentTarget;\n const isFocusModeOffOrTabOnly = this.focusMode === CardFocusMode.off ||\n this.focusMode === CardFocusMode.tabOnly;\n const isFocusModeOff = this.focusMode === CardFocusMode.off;\n const isLastIndexFocused = this.isBoundsLastIndexFocused;\n const isZeroIndexFocused = this.isBoundsZeroIndexFocused;\n switch (key) {\n case keyEnter:\n if (!isTargetCurrent) {\n return true;\n }\n if (this.interactive) {\n this.emitClickEvent();\n }\n else if (!isFocusModeOff) {\n Updates.enqueue(() => {\n this.root.inert = false;\n this.focusFirstElement();\n });\n }\n e.preventDefault();\n break;\n case keyTab:\n if (this.shouldTrapFocus) {\n if ((isLastIndexFocused && !shiftKey) ||\n (isZeroIndexFocused && shiftKey)) {\n e.preventDefault();\n isLastIndexFocused\n ? this.focusFirstElement()\n : this.focusLastElement();\n }\n return true;\n }\n else if (this.focusMode === CardFocusMode.tabExit) {\n if ((isLastIndexFocused && !shiftKey) ||\n (isZeroIndexFocused && shiftKey) ||\n document.activeElement === this.card) {\n this.root.inert = !this.root.inert;\n }\n return true;\n }\n return true;\n case keyEscape:\n if (this.focusMode !== CardFocusMode.off) {\n this.card.focus();\n }\n if (!isFocusModeOffOrTabOnly) {\n this.root.inert = true;\n }\n e.preventDefault();\n break;\n default:\n return true;\n }\n }\n /**\n * Determines if the card is focusable.\n * @public\n * @returns {boolean} True if the card is focusable.\n */\n get isFocusable() {\n return (!this.disabled &&\n (this.interactive || this.focusMode !== CardFocusMode.off));\n }\n /**\n * Gets the tabbable bounds within the card.\n * @public\n * @returns {(HTMLElement | SVGElement)[]} The tabbable elements.\n */\n get bounds() {\n return this.getTabQueueBounds(this);\n }\n /**\n * Checks if the first element in the bounds is focused.\n * @public\n * @returns {boolean | void} True if the first element is focused.\n */\n get isBoundsZeroIndexFocused() {\n if (this.bounds.length > 0) {\n return document.activeElement === this.bounds[0];\n }\n }\n /**\n * Checks if the last element in the bounds is focused.\n * @public\n * @returns {boolean | void} True if the last element is focused.\n */\n get isBoundsLastIndexFocused() {\n if (this.bounds.length > 0) {\n return document.activeElement === this.bounds[this.bounds.length - 1];\n }\n }\n /**\n * Determines if focus should be trapped within the card.\n * @public\n * @returns {boolean} True if focus should be trapped.\n */\n get shouldTrapFocus() {\n return this.focusMode === CardFocusMode.noTab;\n }\n emitClickEvent() {\n this.dispatchEvent(new CustomEvent(CardEventNames.click, {\n detail: {\n interactive: this.interactive,\n value: this.value,\n href: this.href\n },\n bubbles: true,\n composed: true,\n cancelable: false\n }));\n }\n emitInteractiveChangedEvent() {\n this.dispatchEvent(new CustomEvent(CardEventNames.interactiveChanged, {\n detail: {\n interactive: this.interactive\n },\n bubbles: true,\n composed: true,\n cancelable: false\n }));\n }\n /**\n * Sets the component state based on focus mode and disabled state.\n * @private\n */\n updateInertState() {\n if (!this.root) {\n return;\n }\n const shouldBeInert = this.disabled ||\n (this.focusMode !== CardFocusMode.off &&\n this.focusMode !== CardFocusMode.tabOnly);\n this.root.inert = shouldBeInert;\n }\n requestInertUpdate() {\n var _a;\n if (!((_a = this.$fastController) === null || _a === void 0 ? void 0 : _a.isConnected)) {\n return;\n }\n Updates.enqueue(() => this.updateInertState());\n }\n /**\n * Reduces elements to only tabbable ones.\n * @private\n * @param elements - The elements to filter.\n * @param element - The element to check.\n * @returns {HTMLElement[]} The tabbable elements.\n */\n static reduceTabbableItems(elements, element) {\n if (element.getAttribute(\"tabindex\") === \"-1\") {\n return elements;\n }\n if (isTabbable(element) ||\n (Card.isFocusableFastElement(element) && Card.hasTabbableShadow(element))) {\n elements.push(element);\n return elements;\n }\n return Array.from(element.children).reduce((elements, currentElement) => Card.reduceTabbableItems(elements, currentElement), elements);\n }\n /**\n * Checks if a FASTElement is focusable.\n * @private\n * @param element - The FASTElement to check.\n * @returns {boolean} True if the element is focusable.\n */\n static isFocusableFastElement(element) {\n var _a, _b;\n return !!((_b = (_a = element.$fastController) === null || _a === void 0 ? void 0 : _a.definition.shadowOptions) === null || _b === void 0 ? void 0 : _b.delegatesFocus);\n }\n /**\n * Checks if a FASTElement has tabbable shadow elements.\n * @private\n * @param element - The FASTElement to check.\n * @returns {boolean} True if the shadow contains tabbable elements.\n */\n static hasTabbableShadow(element) {\n var _a, _b;\n return Array.from((_b = (_a = element.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(\"*\")) !== null && _b !== void 0 ? _b : []).some((x) => {\n return isTabbable(x);\n });\n }\n}\n__decorate([\n attr({ attribute: \"focus-mode\" })\n], Card.prototype, \"focusMode\", void 0);\n__decorate([\n attr\n], Card.prototype, \"appearance\", void 0);\n__decorate([\n attr\n], Card.prototype, \"role\", void 0);\n__decorate([\n attr\n], Card.prototype, \"value\", void 0);\n__decorate([\n attr\n], Card.prototype, \"href\", void 0);\n__decorate([\n attr\n], Card.prototype, \"orientation\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], Card.prototype, \"disabled\", void 0);\n__decorate([\n observable,\n attr({ mode: \"boolean\" })\n], Card.prototype, \"interactive\", void 0);\n__decorate([\n attr({ attribute: \"aria-describedby\" })\n], Card.prototype, \"ariaDescribedby\", void 0);\n__decorate([\n attr({ attribute: \"aria-labelledby\" })\n], Card.prototype, \"ariaLabelledby\", void 0);\n//# sourceMappingURL=card.js.map","import { css } from \"@microsoft/fast-element\";\nimport { borderRadiusMedium, colorBrandBackground2, colorNeutralBackground1, colorNeutralBackground1Hover, colorNeutralBackground1Pressed, colorNeutralBackground1Selected, colorNeutralBackground2, colorNeutralBackground2Hover, colorNeutralBackground2Pressed, colorNeutralBackground2Selected, colorNeutralBackgroundDisabled, colorNeutralStroke1, colorNeutralStroke1Hover, colorNeutralStroke1Pressed, colorNeutralStroke1Selected, colorStrokeFocus2, colorSubtleBackground, colorSubtleBackgroundHover, colorSubtleBackgroundPressed, colorSubtleBackgroundSelected, colorTransparentBackground, colorTransparentBackgroundHover, colorTransparentBackgroundPressed, colorTransparentBackgroundSelected, colorTransparentStroke, colorTransparentStrokeDisabled, colorTransparentStrokeInteractive, fontFamilyBase, shadow2, shadow4, shadow8, strokeWidthThick, strokeWidthThin, display } from \"@fluentui/web-components\";\n/** Card styles\n * @public\n */\nexport const styles = css `\n ${display(\"inline-block\")}\n :host {\n font-family: ${fontFamilyBase};\n background: ${colorTransparentBackground};\n border-radius: ${borderRadiusMedium};\n position: relative;\n max-width: 100%;\n height: fit-content;\n overflow: hidden;\n box-shadow: ${shadow4};\n box-sizing: border-box;\n width: var(--card-width, 320px);\n height: var(--card-height, fit-content);\n z-index: var(--card-elevation, 1);\n flex-shrink: 0;\n }\n .card:focus-visible::after {\n content: \"\";\n position: absolute;\n inset: -1px;\n border-color: ${colorBrandBackground2};\n outline: ${strokeWidthThick} solid ${colorTransparentStroke};\n box-shadow:\n ${shadow4},\n 0 0 0 2px ${colorStrokeFocus2};\n }\n .control {\n position: absolute;\n z-index: 2;\n top: 5px;\n inset-inline-end: 5px;\n }\n .content {\n display: grid;\n padding: var(--card-padding, 0);\n }\n .card {\n background: ${colorNeutralBackground1};\n border: ${strokeWidthThin} solid ${colorTransparentStroke};\n border-radius: ${borderRadiusMedium};\n }\n :host([orientation=\"horizontal\"]) .content {\n grid-template-rows: unset;\n row-gap: unset;\n grid-template-columns: auto 1fr;\n align-items: center;\n }\n :host([appearance=\"filled-alternative\"]) .card {\n background: ${colorNeutralBackground2};\n }\n :host([appearance=\"outline\"]) {\n box-shadow: none;\n }\n :host([appearance=\"outline\"]) .card {\n background: ${colorTransparentBackground};\n border-color: ${colorNeutralStroke1};\n box-shadow: none;\n }\n :host([appearance=\"subtle\"]) .card {\n background: ${colorSubtleBackground};\n border-color: ${colorTransparentStroke};\n box-shadow: none;\n }\n :host([interactive]) {\n cursor: pointer;\n user-select: none;\n }\n :host([interactive]:hover) .card {\n background: ${colorNeutralBackground1Hover};\n border-color: ${colorTransparentStrokeInteractive};\n box-shadow: ${shadow8};\n }\n :host([interactive]:active) .card {\n background: ${colorNeutralBackground1Pressed};\n border-color: ${colorTransparentStrokeInteractive};\n }\n :host([interactive][appearance=\"filled-alternative\"]:hover) .card {\n background: ${colorNeutralBackground2Hover};\n }\n :host([interactive][appearance=\"filled-alternative\"]:active) .card {\n background: ${colorNeutralBackground2Pressed};\n }\n :host([interactive][appearance=\"outline\"]:hover) .card {\n background: ${colorTransparentBackgroundHover};\n border-color: ${colorNeutralStroke1Hover};\n box-shadow: none;\n }\n :host([interactive][appearance=\"outline\"]:active) .card {\n background: ${colorTransparentBackgroundPressed};\n border-color: ${colorNeutralStroke1Pressed};\n }\n :host([interactive][appearance=\"subtle\"]:hover) .card {\n background: ${colorSubtleBackgroundHover};\n border-color: ${colorTransparentStrokeInteractive};\n box-shadow: none;\n }\n :host([interactive][appearance=\"subtle\"]:active) .card {\n background: ${colorSubtleBackgroundPressed};\n }\n .card[aria-selected=\"true\"] {\n background: ${colorNeutralBackground1Selected};\n border-color: ${colorTransparentStrokeInteractive};\n cursor: pointer;\n }\n :host([appearance=\"subtle\"]) .card[aria-selected=\"true\"] {\n background: ${colorSubtleBackgroundSelected};\n border-color: ${colorNeutralStroke1Selected};\n }\n :host([appearance=\"outline\"]) .card[aria-selected=\"true\"] {\n background: ${colorTransparentBackgroundSelected};\n border-color: ${colorNeutralStroke1Selected};\n }\n :host([appearance=\"filled-alternative\"]) .card[aria-selected=\"true\"] {\n background: ${colorNeutralBackground2Selected};\n }\n :host([aria-disabled=\"true\"]) .card {\n background: ${colorNeutralBackgroundDisabled};\n border-color: ${colorTransparentStrokeDisabled};\n cursor: not-allowed;\n pointer-events: none;\n box-shadow: ${shadow2};\n }\n :host([appearance=\"subtle\"]) .card[aria-disabled=\"true\"],\n :host([appearance=\"outline\"]) .card[aria-disabled=\"true\"] {\n box-shadow: none;\n }\n :host([appearance=\"outline\"]) .card[aria-disabled=\"true\"] {\n background: ${colorTransparentBackground};\n }\n`;\n//# sourceMappingURL=card.styles.js.map","import { html, ref } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(Card:class)} component.\n * @public\n */\nexport function cardTemplate() {\n return html `\n <template\n orientation=\"${(x) => x.orientation}\"\n appearance=\"${(x) => x.appearance}\"\n ?interactive=\"${(x) => x.interactive}\"\n >\n <div\n role=\"${(x) => (x.interactive ? \"button\" : \"group\")}\"\n class=\"card\"\n tabindex=\"${(x) => (x.isFocusable ? \"0\" : null)}\"\n @click=\"${(x, c) => x.clickHandler(c.event)}\"\n @keydown=\"${(x, c) => x.keydownHandler(c.event)}\"\n aria-label=\"${(x) => x.ariaLabel}\"\n aria-labelledby=\"${(x) => x.ariaLabelledby}\"\n aria-describedby=\"${(x) => x.ariaDescribedby}\"\n aria-disabled=\"${(x) => x.interactive ? (x.disabled ? \"true\" : \"false\") : null}\"\n ${ref(\"card\")}\n >\n <div class=\"root\" ${ref(\"root\")}>\n <div class=\"content\">\n <slot></slot>\n </div>\n </div>\n </div>\n </template>\n `;\n}\nexport const template = cardTemplate();\n//# sourceMappingURL=card.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { Card } from \"./card.js\";\nimport { styles } from \"./card.styles.js\";\nimport { template } from \"./card.template.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-card>\n */\nexport const definition = Card.compose({\n name: `${DesignSystem.prefix}-card`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=card.definition.js.map","import { FASTElement } from \"@microsoft/fast-element\";\n/**\n * CardFooter\n * @summary A CardFooter component for use within a card, providing slots for content and actions.\n *\n * @example\n * ```html\n * <fabric-card-footer>\n * <div>Footer Content</div>\n * <div slot=\"action\">\n * <fabric-button>Action 1</fabric-button>\n * <fabric-button>Action 2</fabric-button>\n * </div>\n * </fabric-card-footer>\n * ```\n *\n * @slot default - Default slot for footer content.\n * @slot action - Slot for footer action elements, such as buttons or links.\n *\n * @csspart content - The content area of the footer.\n * @cssprop --card-size - Controls the card sizing token used by the footer.\n *\n * @extends FASTElement\n * @tagname fabric-card-footer\n * @public\n */\nexport class CardFooter extends FASTElement {\n}\n//# sourceMappingURL=card-footer.js.map","import { css } from \"@microsoft/fast-element\";\nimport { display, spacingHorizontalM, spacingHorizontalS, spacingVerticalS } from \"@fluentui/web-components\";\nexport const styles = css `\n ${display(\"flex\")}\n :host {\n display: grid;\n grid-template-columns: 1fr min-content;\n }\n .content {\n display: flex;\n column-gap: var(--card-size, ${spacingHorizontalM});\n padding: ${spacingVerticalS} ${spacingHorizontalS};\n }\n`;\n//# sourceMappingURL=card-footer.styles.js.map","import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(CardFooter:class)} component.\n * @public\n */\nexport function cardFooterTemplate() {\n return html `\n <template>\n <div class=\"content\" part=\"content\">\n <slot></slot>\n </div>\n <div class=\"action\">\n <slot name=\"action\"></slot>\n </div>\n </template>\n `;\n}\nexport const template = cardFooterTemplate();\n//# sourceMappingURL=card-footer.template.js.map","import { CardFooter } from \"./card-footer.js\";\nimport { styles } from \"./card-footer.styles.js\";\nimport { template } from \"./card-footer.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-card-footer>\n */\nexport const definition = CardFooter.compose({\n name: `${DesignSystem.prefix}-card-footer`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=card-footer.definition.js.map","import { FASTElement } from \"@microsoft/fast-element\";\n/**\n * CardHeader\n * @summary A component for card headers, supporting a flexible slot-based layout for customization.\n *\n * @example\n * ```html\n * <fabric-card-header>\n * <div slot=\"start\">Logo</div>\n * <img slot=\"image\" src=\"path/to/image.jpg\" alt=\"Header Image\">\n * <h1 slot=\"header\">Main Title</h1>\n * <span slot=\"subtitle\">Subtitle Text</span>\n * <fabric-button slot=\"action\">Action Button</fabric-button>\n * <div slot=\"end\">Additional Info</div>\n * </fabric-card-header>\n * ```\n *\n * @slot start - Slot for content positioned at the start of the header.\n * @slot image - Slot for an image within the header.\n * @slot header - Slot for the main header content.\n * @slot subtitle - Slot for the subtitle text.\n * @slot action - Slot for action elements, typically buttons or links.\n * @slot end - Slot for content positioned at the end of the header.\n * @slot default - Default slot for card header content.\n *\n * @csspart image - The image container within the header.\n * @csspart header - The main header container.\n * @csspart row - A row within the header for layout.\n *\n * @extends FASTElement\n * @tagname fabric-card-header\n * @public\n */\nexport class CardHeader extends FASTElement {\n}\n//# sourceMappingURL=card-header.js.map","import { css } from \"@microsoft/fast-element\";\nimport { fontSizeBase300, fontWeightBold, spacingHorizontalXS, spacingHorizontalS, display, fontWeightRegular, fontSizeBase200, spacingVerticalXXS } from \"@fluentui/web-components\";\n/** Card Header styles\n * @public\n */\nexport const styles = css `\n ${display(\"flex\")}\n :host {\n position: relative;\n display: grid;\n grid-template-columns: min-content 1fr auto;\n padding: 6px;\n justify-content: flex-start;\n }\n\n ::slotted([slot=\"icon\"]) {\n align-self: center;\n }\n ::slotted([slot=\"header\"]) {\n font-size: ${fontSizeBase300};\n font-weight: ${fontWeightBold};\n }\n ::slotted([slot=\"action\"]) {\n grid-column: 3;\n justify-self: flex-end;\n }\n ::slotted([slot=\"subtitle\"]) {\n font-size: ${fontSizeBase200};\n font-weight: ${fontWeightRegular};\n }\n .header {\n justify-self: flex-start;\n display: flex;\n flex-direction: column;\n gap: ${spacingVerticalXXS};\n }\n .image {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n margin-inline-end: ${spacingHorizontalS};\n }\n .row {\n display: flex;\n align-items: center;\n gap: ${spacingHorizontalXS};\n }\n`;\n//# sourceMappingURL=card-header.styles.js.map","import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the Fluent Card Header web-component.\n * @public\n */\nexport function cardHeaderTemplate() {\n return html `\n <template>\n <slot name=\"start\"></slot>\n <div class=\"image\" part=\"image\">\n <slot name=\"image\"></slot>\n </div>\n <div class=\"header\" part=\"header\">\n <div class=\"row\" part=\"row\">\n <slot name=\"header\"></slot>\n </div>\n <div class=\"row\" part=\"row\">\n <slot name=\"subtitle\"></slot>\n </div>\n </div>\n <slot></slot>\n <slot name=\"action\"></slot>\n <slot name=\"end\"></slot>\n </template>\n `;\n}\nexport const template = cardHeaderTemplate();\n//# sourceMappingURL=card-header.template.js.map","import { CardHeader } from \"./card-header.js\";\nimport { styles } from \"./card-header.styles.js\";\nimport { template } from \"./card-header.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-card-header>\n */\nexport const definition = CardHeader.compose({\n name: `${DesignSystem.prefix}-card-header`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=card-header.definition.js.map","import { FASTElement } from \"@microsoft/fast-element\";\n/**\n * CardPreview\n * @summary A CardPreview custom HTML Element that provides a preview container for card content, with an optional badge slot.\n *\n * @example\n * ```html\n * <fabric-card-preview>\n * <div>Card content goes here</div>\n * <span slot=\"badge\">New</span>\n * </fabric-card-preview>\n * ```\n *\n * @slot - The default slot for the card preview content.\n * @slot badge - The slot for the badge content.\n *\n * @extends FASTElement\n * @tagname fabric-card-preview\n * @public\n */\nexport class CardPreview extends FASTElement {\n}\n//# sourceMappingURL=card-preview.js.map","import { css } from \"@microsoft/fast-element\";\nimport { display, spacingHorizontalM, spacingVerticalM } from \"@fluentui/web-components\";\n/** Card Header styles\n * @public\n */\nexport const styles = css `\n ${display(\"flex\")}\n :host {\n position: relative;\n overflow: hidden;\n }\n\n ::slotted([slot=\"badge\"]) {\n position: absolute;\n inset-inline-start: ${spacingHorizontalM};\n bottom: ${spacingVerticalM};\n }\n ::slotted(img) {\n overflow: hidden;\n }\n`;\n//# sourceMappingURL=card-preview.styles.js.map","import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the Fluent Card Preview web-component.\n * @public\n */\nexport function cardPreviewTemplate() {\n return html `\n <template>\n <slot></slot>\n <slot name=\"badge\"></slot>\n </template>\n `;\n}\nexport const template = cardPreviewTemplate();\n//# sourceMappingURL=card-preview.template.js.map","import { CardPreview } from \"./card-preview.js\";\nimport { styles } from \"./card-preview.styles.js\";\nimport { template } from \"./card-preview.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-card-preview>\n */\nexport const definition = CardPreview.compose({\n name: `${DesignSystem.prefix}-card-preview`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=card-preview.definition.js.map","/**\n * Button placement options for carousel navigation\n * @public\n */\nexport const CarouselNavButtonPlacements = {\n grouped: \"grouped\",\n flexible: \"flexible\",\n hidden: \"hidden\"\n};\n//# sourceMappingURL=carousel-nav.options.js.map","/**\n * Nav position relative to carousel content\n * @public\n */\nexport const CarouselNavPositions = {\n overContent: \"over-content\",\n outsideContent: \"outside-content\"\n};\n// Re-export button placement from carousel-nav (canonical source)\nexport { CarouselNavButtonPlacements } from \"../carousel-nav/carousel-nav.options.js\";\n//# sourceMappingURL=carousel.options.js.map","/**\n * Event names for the Carousel component\n * @public\n */\nexport const CarouselEventNames = {\n change: \"change\"\n};\n//# sourceMappingURL=carousel.events.js.map","/**\n * Event names for the CarouselNav component\n * @public\n */\nexport const CarouselNavEventNames = {\n select: \"select\",\n previous: \"previous\",\n next: \"next\"\n};\n//# sourceMappingURL=carousel-nav.events.js.map","import { Direction } from \"@microsoft/fast-web-utilities\";\n/**\n * This module provides a composable system for detecting and monitoring text direction\n * (LTR/RTL) changes in web applications. It follows a strategy/observer pattern to allow\n * flexibility for the many ways that direction can be controlled in the document.\n *\n * ## Architecture\n *\n * The system uses two complementary interfaces:\n *\n * - **DirectionStrategy**: Detection - reads direction from a source (CSS, attributes, etc.)\n * - **DirectionObserver**: Change monitoring - watches for direction changes and notifies\n *\n * The `DirectionDetector` class combines the detection and observer strategies to provide\n * robust direction detection with automatic change notifications.\n *\n * ## Built-in Strategies\n *\n * - `DirAttributeStrategy`: Reads the `dir` attribute from elements\n * - `ElementCssStrategy`: Reads computed CSS `direction` property\n *\n * ## Built-in Observers\n *\n * - `DirAttributeObserver`: Watches for `dir` attribute mutations via MutationObserver\n *\n * ## Global DirectionDetector\n *\n * A singleton detector is available via `globalDirectionDetector()`. By default, it\n * monitors the `dir` attribute on the `<html>` element. This is the detector used by the\n * components in this package to correctly adjust layout, keyboard navigation, etc.\n *\n * To customize the global detector, call `setGlobalDirectionDetector()`:\n *\n * ```typescript\n * import {\n * setGlobalDirectionDetector,\n * DirectionDetector,\n * DirAttributeStrategy,\n * DirAttributeObserver\n * } from \"@fabric-msft/fabric-web\";\n *\n * setGlobalDirectionDetector(\n * new DirectionDetector({\n * strategies: [new DirAttributeStrategy([document.documentElement])],\n * observers: [new DirAttributeObserver(\"html\")],\n * onChange: (dir) => console.log(\"Global direction:\", dir)\n * })\n * );\n * ```\n *\n * ## Defaults\n *\n * The default global DirectionDetector will monitor the `dir` attribute on the\n * `html` element. You do not need to set anything if this is the strategy that your app\n * uses to control document direction.\n *\n * ```html\n * <html dir=\"rtl\">\n * ```\n *\n * ## Custom DirectionDetector\n *\n * ```typescript\n * import {\n * DirectionDetector,\n * DirAttributeStrategy,\n * DirAttributeObserver\n * } from \"@fabric-msft/fabric-web\";\n *\n * const detector = new DirectionDetector({\n * strategies: [new DirAttributeStrategy([document.documentElement])],\n * observers: [new DirAttributeObserver(\"html\")],\n * onChange: (dir, { previous }) => {\n * console.log(`Direction changed: ${previous} → ${dir}`);\n * }\n * });\n *\n * // Access current direction\n * console.log(detector.value); // 'ltr' or 'rtl'\n *\n * // Clean up when done\n * detector.stop();\n * ```\n */\n/**\n * Determines the current localization direction of an element.\n *\n * @param rootNode - the HTMLElement to begin the query from, usually \"this\" when used in a component controller\n * @returns the localization direction of the element\n *\n * @public\n */\nexport const getDirection = (rootNode) => {\n var _a;\n return ((_a = rootNode.closest(\"[dir]\")) === null || _a === void 0 ? void 0 : _a.dir) === \"rtl\"\n ? Direction.rtl\n : Direction.ltr;\n};\nexport function findClosestElementsWithDir(element) {\n var _a;\n const candidates = [];\n // Check closest [dir] ancestor from the element\n const closestDir = element.closest(\"[dir]\");\n if (closestDir)\n candidates.push(closestDir);\n // Fall back to documentElement\n const html = ((_a = element === null || element === void 0 ? void 0 : element.ownerDocument) !== null && _a !== void 0 ? _a : document).documentElement;\n if (html === null || html === void 0 ? void 0 : html.hasAttribute(\"dir\"))\n candidates.push(html);\n return candidates;\n}\nexport function isRtl() {\n return globalDirectionDetector().value === Direction.rtl;\n}\n/**\n * Strategy that reads direction from the computed CSS style of a specific element.\n * @public\n */\nexport class ElementCssStrategy {\n constructor(element) {\n var _a;\n this.element = element;\n this.doc = (_a = element === null || element === void 0 ? void 0 : element.ownerDocument) !== null && _a !== void 0 ? _a : document;\n }\n getDirection() {\n if (!this.element)\n return null;\n const win = this.doc.defaultView;\n if (!win)\n return null;\n try {\n const dir = win.getComputedStyle(this.element).direction;\n return dir === Direction.rtl || dir === Direction.ltr ? dir : null;\n }\n catch {\n return null;\n }\n }\n}\n/**\n * Strategy that reads direction from the dir attribute.\n * Takes a list of elements and checks each element until it finds one with a \"dir\" attribute specified.\n * @public\n */\nexport class DirAttributeStrategy {\n constructor(elements) {\n this.elements = elements;\n }\n getDirection() {\n var _a;\n for (const el of this.elements) {\n const raw = ((_a = el.getAttribute(\"dir\")) !== null && _a !== void 0 ? _a : \"\").trim().toLowerCase();\n if (raw === Direction.rtl || raw === Direction.ltr)\n return raw;\n if (raw === \"auto\")\n return null;\n }\n return null;\n }\n}\n/**\n * Observer that watches for dir attribute changes using MutationObserver.\n * @public\n */\nexport class DirAttributeObserver {\n constructor(target = \"html\", doc = document) {\n this.mo = null;\n this.target = target;\n this.doc = doc;\n }\n start(notify) {\n var _a;\n if (this.mo)\n return;\n const observeEl = typeof this.target === \"string\"\n ? ((_a = this.doc.querySelector(this.target)) !== null && _a !== void 0 ? _a : this.doc.documentElement)\n : this.target;\n if (!observeEl)\n return;\n this.mo = new MutationObserver(() => notify());\n this.mo.observe(observeEl, { attributes: true, attributeFilter: [\"dir\"] });\n }\n stop() {\n var _a;\n (_a = this.mo) === null || _a === void 0 ? void 0 : _a.disconnect();\n this.mo = null;\n }\n}\n/**\n * Detects and (optionally) observes direction using a chain of strategies.\n * The first strategy to return a non-null direction wins.\n * @public\n */\nexport class DirectionDetector {\n constructor(options) {\n var _a;\n this.rafId = null;\n this._value = null;\n this.observing = false;\n this.strategies = options.strategies;\n this.observers = (_a = options.observers) !== null && _a !== void 0 ? _a : [];\n this.onChange = options.onChange;\n this._value = this.computeDirection();\n if (this.observers.length > 0)\n this.start();\n }\n get value() {\n var _a;\n return (_a = this._value) !== null && _a !== void 0 ? _a : Direction.ltr;\n }\n /**\n * Start all observers.\n */\n start() {\n if (this.observing)\n return;\n this.observing = true;\n const scheduleRefresh = () => {\n if (this.rafId != null)\n return;\n if (typeof requestAnimationFrame === \"undefined\") {\n this.refresh();\n return;\n }\n this.rafId = requestAnimationFrame(() => {\n this.rafId = null;\n this.refresh();\n });\n };\n for (const observer of this.observers) {\n observer.start(scheduleRefresh);\n }\n // Initial refresh after starting observation\n this.refresh();\n }\n /**\n * Stop observing and cancel any scheduled refresh.\n */\n stop() {\n if (this.rafId != null && typeof cancelAnimationFrame !== \"undefined\") {\n cancelAnimationFrame(this.rafId);\n }\n this.rafId = null;\n for (const observer of this.observers) {\n observer.stop();\n }\n this.observing = false;\n }\n stable() {\n return this.rafId == null;\n }\n /**\n * Force recomputation; invokes onChange only if the resolved direction changed.\n */\n refresh() {\n var _a;\n const previous = this._value;\n const next = this.computeDirection();\n if (next !== previous) {\n this._value = next;\n try {\n (_a = this.onChange) === null || _a === void 0 ? void 0 : _a.call(this, next, { previous });\n }\n catch {\n // ignore callback errors\n }\n }\n return this._value;\n }\n computeDirection() {\n for (const strategy of this.strategies) {\n const dir = strategy.getDirection();\n if (dir)\n return dir;\n }\n return null;\n }\n}\nlet _globalDetector = null;\nexport function setGlobalDirectionDetector(detector) {\n _globalDetector = detector;\n}\nexport function globalDirectionDetector() {\n if (!_globalDetector) {\n // Default to a strategy that expects dir to be on the root html element.\n _globalDetector = new DirectionDetector({\n strategies: [new DirAttributeStrategy([document.documentElement])],\n observers: [new DirAttributeObserver(\"html\")]\n });\n }\n return _globalDetector;\n}\n//# sourceMappingURL=direction.js.map","import { keyArrowUp, keyArrowDown, keyArrowLeft, keyArrowRight, keyHome, keyEnd } from \"@microsoft/fast-web-utilities\";\n/**\n * Default disabled check: matches disabled, aria-disabled=\"true\", or inert attributes.\n */\nconst defaultIsDisabled = (el) => el.matches('[disabled], [aria-disabled=\"true\"], [inert]');\n/**\n * Creates a roving focus controller for managing keyboard navigation\n * across a list of elements using the roving tabindex pattern.\n *\n * @example\n * ```typescript\n * const controller = createRovingFocusController({\n * items: () => this.slottedPills ?? [],\n * orientation: \"vertical\",\n * enableHomeEnd: true,\n * wrap: true\n * });\n *\n * // In connectedCallback or setup:\n * controller.applyTabindex();\n *\n * // In keydown handler:\n * if (controller.handleKeydown(event)) return;\n * // ...handle other keys like Escape\n * ```\n *\n * @public\n */\nexport function createRovingFocusController(options) {\n const { items, isDisabled = defaultIsDisabled, orientation = \"vertical\", enableHomeEnd = true, wrap = true, preventDefault = true, focusItem, onFocusChange, isRtl } = options;\n /**\n * Find the currently active item (the one with tabindex=\"0\").\n */\n const findActiveItem = () => {\n var _a;\n const allItems = items();\n return (_a = allItems.find((el) => el.getAttribute(\"tabindex\") === \"0\")) !== null && _a !== void 0 ? _a : null;\n };\n /**\n * Set tabindex on all items, making the specified element active.\n * Disabled items are always set to -1 regardless of activeEl.\n */\n const setActive = (activeEl, allItems) => {\n const list = allItems !== null && allItems !== void 0 ? allItems : items();\n for (const el of list) {\n const shouldBeActive = el === activeEl && !isDisabled(el);\n el.tabIndex = shouldBeActive ? 0 : -1;\n el.setAttribute(\"tabindex\", shouldBeActive ? \"0\" : \"-1\");\n }\n };\n /**\n * Focus an element using custom focusItem or default focus().\n */\n const doFocus = (el) => {\n if (focusItem) {\n focusItem(el);\n }\n else {\n el.focus();\n }\n };\n /**\n * Activate an item: set tabindex, optionally focus, and fire callback.\n * Centralizes the repeated setActive + doFocus + onFocusChange pattern.\n */\n const activate = (el, enabledIndex, shouldFocus, allItems) => {\n setActive(el, allItems);\n if (shouldFocus)\n doFocus(el);\n if (enabledIndex !== null)\n onFocusChange === null || onFocusChange === void 0 ? void 0 : onFocusChange(el, enabledIndex);\n };\n /**\n * Apply roving tabindex. Preserves current active if still valid;\n * otherwise falls back to first enabled.\n */\n const applyTabindex = () => {\n const allItems = items();\n if (allItems.length === 0)\n return;\n const enabled = allItems.filter((el) => !isDisabled(el));\n if (enabled.length === 0) {\n // No enabled items - all get -1\n setActive(null, allItems);\n return;\n }\n // Try to preserve current active if still valid and enabled\n const currentActive = findActiveItem();\n if (currentActive && enabled.includes(currentActive)) {\n // Current active is still valid - keep it\n setActive(currentActive, allItems);\n return;\n }\n // Fall back to first enabled\n setActive(enabled[0], allItems);\n };\n /**\n * Move focus by delta, with optional wrapping.\n * Uses tabindex=0 to determine current position (Shadow DOM safe).\n */\n const move = (delta) => {\n const allItems = items();\n const enabled = allItems.filter((el) => !isDisabled(el));\n if (enabled.length === 0)\n return false;\n // Single item: nowhere to move\n if (enabled.length === 1)\n return false;\n // Find current index via tabindex=0 (not document.activeElement - Shadow DOM safe)\n const currentActive = findActiveItem();\n let currentIndex = currentActive ? enabled.indexOf(currentActive) : -1;\n if (currentIndex === -1)\n currentIndex = 0;\n // Calculate next index\n let nextIndex = currentIndex + delta;\n if (wrap) {\n nextIndex = (nextIndex + enabled.length) % enabled.length;\n }\n else {\n // Clamp to bounds\n if (nextIndex < 0 || nextIndex >= enabled.length) {\n return false; // At boundary, can't move\n }\n }\n const nextEl = enabled[nextIndex];\n activate(nextEl, nextIndex, true, allItems);\n return true;\n };\n /**\n * Focus first enabled item.\n */\n const focusFirst = () => {\n const allItems = items();\n const enabled = allItems.filter((el) => !isDisabled(el));\n if (enabled.length === 0)\n return false;\n activate(enabled[0], 0, true, allItems);\n return true;\n };\n /**\n * Focus last enabled item.\n */\n const focusLast = () => {\n const allItems = items();\n const enabled = allItems.filter((el) => !isDisabled(el));\n if (enabled.length === 0)\n return false;\n const lastIndex = enabled.length - 1;\n activate(enabled[lastIndex], lastIndex, true, allItems);\n return true;\n };\n /**\n * Focus specific item.\n */\n const focus = (item) => {\n const allItems = items();\n if (!allItems.includes(item))\n return false;\n if (isDisabled(item))\n return false;\n const enabled = allItems.filter((el) => !isDisabled(el));\n const index = enabled.indexOf(item);\n activate(item, index !== -1 ? index : null, true, allItems);\n return true;\n };\n /**\n * Sync tabindex to target without focusing (for click/focusin handlers).\n * Fires onFocusChange to maintain consistency with other activation methods.\n */\n const sync = (target) => {\n if (!target || !(target instanceof HTMLElement))\n return false;\n const allItems = items();\n // Find the closest managed item (target might be a child of a managed item)\n const item = allItems.find((el) => el === target || el.contains(target));\n if (!item)\n return false;\n if (isDisabled(item))\n return false;\n const enabled = allItems.filter((el) => !isDisabled(el));\n const index = enabled.indexOf(item);\n // Use activate with shouldFocus=false to avoid refocus jump\n activate(item, index !== -1 ? index : null, false, allItems);\n return true;\n };\n /**\n * Check if a key matches the navigation direction.\n * Respects RTL mode for horizontal navigation.\n */\n const isNavigationKey = (key, direction) => {\n const rtl = isRtl();\n if (direction === \"prev\") {\n if (orientation === \"vertical\" || orientation === \"both\") {\n if (key === keyArrowUp)\n return true;\n }\n if (orientation === \"horizontal\" || orientation === \"both\") {\n // In RTL, ArrowRight goes to previous\n if (rtl ? key === keyArrowRight : key === keyArrowLeft)\n return true;\n }\n }\n else {\n if (orientation === \"vertical\" || orientation === \"both\") {\n if (key === keyArrowDown)\n return true;\n }\n if (orientation === \"horizontal\" || orientation === \"both\") {\n // In RTL, ArrowLeft goes to next\n if (rtl ? key === keyArrowLeft : key === keyArrowRight)\n return true;\n }\n }\n return false;\n };\n /**\n * Handle keydown event.\n */\n const handleKeydown = (event) => {\n const { key } = event;\n let handled = false;\n if (isNavigationKey(key, \"prev\")) {\n handled = move(-1);\n }\n else if (isNavigationKey(key, \"next\")) {\n handled = move(1);\n }\n else if (enableHomeEnd && key === keyHome) {\n handled = focusFirst();\n }\n else if (enableHomeEnd && key === keyEnd) {\n handled = focusLast();\n }\n if (handled && preventDefault) {\n event.preventDefault();\n }\n return handled;\n };\n /**\n * Cleanup (no-op for now, kept for lifecycle symmetry).\n */\n const destroy = () => {\n // No listeners to clean up - component handles that\n };\n return {\n applyTabindex,\n move,\n focusFirst,\n focusLast,\n focus,\n sync,\n handleKeydown,\n destroy\n };\n}\n//# sourceMappingURL=focus-management.js.map","/**\n * Manages event listeners for a dynamic collection of elements.\n * Uses WeakMap + AbortController to efficiently add/remove listeners\n * only for items that actually change.\n *\n * @example\n * ```typescript\n * class MyComponent extends FASTElement {\n * private itemEvents = new CollectionEventManager<MyItem>();\n *\n * slottedItemsChanged(oldValue: MyItem[], newValue: MyItem[]): void {\n * this.itemEvents.update(oldValue, newValue, (item, index, signal) => {\n * item.addEventListener(\"click\", () => this.handleClick(index), { signal });\n * });\n * }\n *\n * disconnectedCallback(): void {\n * this.itemEvents.dispose();\n * super.disconnectedCallback();\n * }\n * }\n * ```\n *\n * @public\n */\nexport class CollectionEventManager {\n constructor() {\n this.controllers = new WeakMap();\n this.currentItems = [];\n }\n /**\n * Updates the managed collection, removing listeners from removed items\n * and adding listeners to new items.\n *\n * @param oldItems - Previous collection of items (can be undefined)\n * @param newItems - New collection of items (can be undefined)\n * @param setup - Callback to set up listeners on a new item.\n * Receives the item, its index, and an AbortSignal.\n */\n update(oldItems, newItems, setup) {\n const oldSet = new Set(oldItems !== null && oldItems !== void 0 ? oldItems : []);\n const newSet = new Set(newItems !== null && newItems !== void 0 ? newItems : []);\n // Abort listeners for removed items\n oldItems === null || oldItems === void 0 ? void 0 : oldItems.forEach((item) => {\n var _a;\n if (!newSet.has(item)) {\n (_a = this.controllers.get(item)) === null || _a === void 0 ? void 0 : _a.abort();\n }\n });\n // Add listeners for new items\n newItems === null || newItems === void 0 ? void 0 : newItems.forEach((item, index) => {\n if (!oldSet.has(item)) {\n const controller = new AbortController();\n this.controllers.set(item, controller);\n setup(item, index, controller.signal);\n }\n });\n this.currentItems = newItems !== null && newItems !== void 0 ? newItems : [];\n }\n /**\n * Disposes all managed listeners. Call in disconnectedCallback.\n */\n dispose() {\n this.currentItems.forEach((item) => {\n var _a;\n (_a = this.controllers.get(item)) === null || _a === void 0 ? void 0 : _a.abort();\n });\n this.currentItems = [];\n }\n}\n/**\n * Creates a new CollectionEventManager instance.\n * @public\n */\nexport function createCollectionEventManager() {\n return new CollectionEventManager();\n}\n//# sourceMappingURL=collection-event-manager.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, attr, observable } from \"@microsoft/fast-element\";\nimport { keyEnter, keySpace, Direction } from \"@microsoft/fast-web-utilities\";\nimport { CarouselNavButtonPlacements } from \"./carousel-nav.options.js\";\nimport { CarouselNavEventNames } from \"./carousel-nav.events.js\";\nimport { globalDirectionDetector } from \"../../util/direction.js\";\nimport { createRovingFocusController } from \"../../util/focus-management.js\";\nimport { createCollectionEventManager } from \"../../util/collection-event-manager.js\";\n/**\n * @summary Navigation container with step indicators and prev/next buttons.\n *\n * @example\n * ```html\n * <fabric-carousel-nav button-placement=\"grouped\">\n * <fabric-carousel-nav-item active></fabric-carousel-nav-item>\n * <fabric-carousel-nav-item></fabric-carousel-nav-item>\n * <fabric-carousel-nav-item></fabric-carousel-nav-item>\n * </fabric-carousel-nav>\n * ```\n *\n * @attr {string} button-placement - Positioning of prev/next buttons.\n * @attr {number} current-index - Currently selected nav item index.\n *\n * @prop {CarouselNavButtonPlacement} buttonPlacement - Button positioning.\n * @prop {number} currentIndex - Currently selected nav item index.\n *\n * @slot default - Slot for fabric-carousel-nav-item elements.\n *\n * @fires select - Fired when a nav item is selected with detail { index }.\n * @fires previous - Fired when prev button is clicked.\n * @fires next - Fired when next button is clicked.\n *\n * @extends FASTElement\n * @tagname fabric-carousel-nav\n * @public\n */\nexport class CarouselNav extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Positioning of prev/next buttons.\n * @public\n */\n this.buttonPlacement = CarouselNavButtonPlacements.grouped;\n /**\n * Currently selected nav item index.\n * @public\n */\n this.currentIndex = 0;\n /**\n * Roving focus controller for indicator keyboard navigation.\n * @internal\n */\n this.rovingFocus = createRovingFocusController({\n items: () => { var _a; return (_a = this.slottedNavItems) !== null && _a !== void 0 ? _a : []; },\n orientation: \"horizontal\",\n wrap: true,\n enableHomeEnd: true,\n isRtl: () => globalDirectionDetector().value === Direction.rtl\n });\n /**\n * Manages event listeners for nav items.\n * @internal\n */\n this.navItemEvents = createCollectionEventManager();\n /**\n * Slotted nav items.\n * @internal\n */\n this.slottedNavItems = [];\n }\n /**\n * Callback to parse current-index attribute.\n * @internal\n */\n currentIndexChanged(_oldValue, newValue) {\n const numValue = typeof newValue === \"string\" ? parseInt(newValue, 10) : newValue;\n if (!isNaN(numValue) && numValue !== this.currentIndex) {\n this.currentIndex = numValue;\n this.updateActiveStates();\n // Sync roving tabindex to the new active indicator WITHOUT stealing focus.\n // This ensures the indicator is tabbable but doesn't move focus away from buttons.\n if (this.slottedNavItems[this.currentIndex]) {\n this.rovingFocus.sync(this.slottedNavItems[this.currentIndex]);\n }\n }\n }\n /**\n * Callback when nav items change.\n * @internal\n */\n slottedNavItemsChanged(oldValue, newValue) {\n this.navItemEvents.update(oldValue, newValue, (item, index, signal) => {\n item.addEventListener(\"click\", () => this.handleItemClick(index), {\n signal\n });\n item.addEventListener(\"keydown\", (e) => this.handleIndicatorKeydown(e, index), { signal });\n });\n this.updateActiveStates();\n this.rovingFocus.applyTabindex();\n }\n /**\n * Updates active states on nav items.\n * @internal\n */\n updateActiveStates() {\n var _a;\n (_a = this.slottedNavItems) === null || _a === void 0 ? void 0 : _a.forEach((item, index) => {\n item.active = index === this.currentIndex;\n });\n }\n /**\n * Handles keyboard events on indicators.\n * Arrow keys are delegated to roving focus controller.\n * Enter/Space selects the focused indicator.\n * @internal\n */\n handleIndicatorKeydown(event, index) {\n const { key } = event;\n // Enter/Space selects the indicator\n if (key === keyEnter || key === keySpace) {\n event.preventDefault();\n this.emitSelect(index);\n return;\n }\n // Delegate arrow/Home/End keys to roving focus controller\n this.rovingFocus.handleKeydown(event);\n }\n /**\n * Handles nav item click.\n * @internal\n */\n handleItemClick(index) {\n this.emitSelect(index);\n }\n /**\n * Handles prev button click.\n * @internal\n */\n handlePrevClick() {\n this.dispatchEvent(new CustomEvent(CarouselNavEventNames.previous, {\n bubbles: true,\n composed: true\n }));\n }\n /**\n * Handles next button click.\n * @internal\n */\n handleNextClick() {\n this.dispatchEvent(new CustomEvent(CarouselNavEventNames.next, {\n bubbles: true,\n composed: true\n }));\n }\n /**\n * Emits select event.\n * @internal\n */\n emitSelect(index) {\n this.dispatchEvent(new CustomEvent(CarouselNavEventNames.select, {\n detail: { index },\n bubbles: true,\n composed: true\n }));\n }\n disconnectedCallback() {\n this.navItemEvents.dispose();\n this.rovingFocus.destroy();\n super.disconnectedCallback();\n }\n}\n__decorate([\n attr({ attribute: \"button-placement\" })\n], CarouselNav.prototype, \"buttonPlacement\", void 0);\n__decorate([\n attr({ attribute: \"current-index\" })\n], CarouselNav.prototype, \"currentIndex\", void 0);\n__decorate([\n observable\n], CarouselNav.prototype, \"slottedNavItems\", void 0);\n//# sourceMappingURL=carousel-nav.js.map","/**\n * Checks whether the specified element is disabled.\n * @param {Element} el The element to check.\n */\nexport function isDisabledElement(el) {\n return el.getAttribute(\"aria-disabled\") === \"true\";\n}\n/**\n * Checks whether the specified element is hidden.\n * @param {Element} el The element to check.\n */\nexport function isHiddenElement(el) {\n return el.getAttribute(\"aria-hidden\") === \"true\";\n}\n/**\n * Checks whether the specified element is focusable.\n * @param {Element} el The element to check.\n */\nexport function isFocusableElement(el) {\n return (!isDisabledElement(el) &&\n !isHiddenElement(el) &&\n el.offsetParent !== null);\n}\n/**\n * Sets focusability of all focusable children within an element\n * @private\n * @param {HTMLElement} element - The parent element\n * @param {boolean} focusable - Whether children should be focusable\n */\nexport function setChildrenFocusability(element, focusable) {\n const focusableElements = element.querySelectorAll('a[href], button, input, select, textarea, [tabindex]:not([tabindex=\"-1\"]), fabric-button, fabric-link, fabric-input, fabric-card-footer button');\n focusableElements.forEach((child) => {\n const htmlChild = child;\n if (focusable) {\n htmlChild.tabIndex = 0;\n }\n else {\n htmlChild.tabIndex = -1;\n }\n });\n}\n//# sourceMappingURL=accessibility-utilities.js.map","import { AttributeConfiguration } from \"@microsoft/fast-element\";\n/**\n * Apply mixins to a constructor.\n * Sourced from {@link https://www.typescriptlang.org/docs/handbook/mixins.html | TypeScript Documentation }.\n *\n * TODO: Remove with https://github.com/microsoft/fast/pull/6797\n * This was used for Badge where start/end was not yet implemented.\n * The method itself was deprecated as it was largely intended to be \"internals\" for Fast Foundation.\n * Adding here to avoid breaking of the existing API.\n * @internal\n */\nexport function applyMixins(derivedCtor, ...baseCtors) {\n const derivedAttributes = AttributeConfiguration.locate(derivedCtor);\n baseCtors.forEach((baseCtor) => {\n Object.getOwnPropertyNames(baseCtor.prototype).forEach((name) => {\n if (name !== \"constructor\") {\n Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name));\n }\n });\n const baseAttributes = AttributeConfiguration.locate(baseCtor);\n baseAttributes.forEach((x) => derivedAttributes.push(x));\n });\n}\n//# sourceMappingURL=apply-mixins.js.map","/**\n * Sets the specified attributes on the given HTML element.\n * @param {HTMLElement} element The HTML element on which to set attributes.\n * @param {{[key: string]: string}} attributes An object mapping attribute names to values.\n */\nexport function setAttributes(element, attributes) {\n Object.entries(attributes).forEach(([key, value]) => {\n element.setAttribute(key, value);\n });\n}\n//# sourceMappingURL=attribute-utilities.js.map","/**\n * debounce function\n * @param func - function to be debounced\n * @param delay - delay in milliseconds\n */\nexport function debounce(func, delay) {\n let debounceTimer;\n return function (...args) {\n clearTimeout(debounceTimer);\n debounceTimer = window.setTimeout(() => func.apply(this, args), delay);\n };\n}\n//# sourceMappingURL=debounce.js.map","//-----------------------------------------------------------------------\n// <copyright company=\"Microsoft Corporation\">\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// </copyright>\n//-----------------------------------------------------------------------\n/**\n * Holds a collection of debug-related functions. When the instance is not in debug mode, most/all of\n * the side-effects will be disabled.\n */\nexport class debug {\n static setAssertFailFunction(f) {\n debug.assertFailFunction = f;\n }\n /**\n * Asserts that the condition is true, fails otherwise.\n */\n static assert(conditionFunc, message) {\n if (!this.enabled)\n return;\n const condition = conditionFunc();\n message = message !== null && message !== void 0 ? message : \"condition: \" + condition;\n if (condition !== true) {\n debug.assertFail(message);\n }\n }\n /**\n * Asserts that the value is neither null nor undefined, fails otherwise.\n */\n static assertDefined(value, message) {\n if (!this.enabled)\n return;\n debug.assert(() => value !== null && value !== undefined, message);\n }\n /**\n * Asserts that the value is neither null nor undefined, and has a length property that returns greater than zero, fails otherwise.\n */\n static assertNonEmpty(value, message) {\n if (!this.enabled)\n return;\n debug.assert(() => value != null && value.length > 0, message);\n }\n /**\n * Asserts that this function is never called. This is to be used\n */\n static assertNever(neverValue) {\n if (!this.enabled)\n return;\n debug.assertFail(\"Expected to never have value \" + neverValue);\n }\n static assertFail(message) {\n if (!this.enabled)\n return;\n (debug.assertFailFunction || alert)(`Debug Assert failed: ${message}`);\n }\n static log(message, ...optionalParams) {\n if (!this.enabled)\n return;\n console.log(message, ...(optionalParams || []));\n }\n static logDebug(message, ...optionalParams) {\n if (!this.enabled)\n return;\n console.debug(message, ...(optionalParams || []));\n }\n static warn(message, ...optionalParams) {\n if (!this.enabled)\n return;\n if (console && console.warn) {\n console.warn(message, ...(optionalParams || []));\n }\n }\n static execute(action) {\n if (!this.enabled)\n return;\n action();\n }\n static enable() {\n this.enabled = true;\n }\n}\ndebug.enabled = false;\n//# sourceMappingURL=debug.js.map","/**\n * Waits for all custom element descendants to be defined before invoking the callback.\n * Uses `customElements.whenDefined()` to deterministically wait for element registration,\n * with an optional timeout fallback.\n *\n * @param target - The parent element to check for undefined descendants.\n * @param callback - The callback to invoke when all descendants are defined.\n * @param options - Configuration options for the wait behavior.\n * @public\n *\n * @example\n * ```typescript\n * waitForConnectedDescendants(this, () => {\n * // All custom element descendants are now defined\n * this.processChildren();\n * });\n * ```\n */\nexport function waitForConnectedDescendants(target, callback, options) {\n var _a, _b;\n const shallow = (_a = options === null || options === void 0 ? void 0 : options.shallow) !== null && _a !== void 0 ? _a : false; // restricts the check to direct children only\n const timeout = (_b = options === null || options === void 0 ? void 0 : options.timeout) !== null && _b !== void 0 ? _b : 50; // timout after 50ms if definitions never arrive\n const query = `${shallow ? \":scope > \" : \"\"}:not(:defined)`; // CSS pseudo class that matches unregistered custom elements\n const undefinedEls = target.querySelectorAll(query); // query for undefined elements\n // All descendants already defined — invoke immediately\n if (undefinedEls.length === 0) {\n // if every descendant is already defined fire the callback\n callback();\n return;\n }\n // Collect unique tag names that need defining\n const tagNames = new Set();\n for (const el of undefinedEls) {\n tagNames.add(el.localName);\n }\n const definedPromise = Promise.all([...tagNames].map((name) => customElements.whenDefined(name)) // returns a promise that resolves the moment the custom element is defined\n ); // wait for all registrants to be defined\n let settled = false;\n // timeout and promise will \"race\" to call the callback. settle function - guards against multiple calls of the callback\n const settle = () => {\n if (settled) {\n return;\n }\n settled = true;\n callback();\n };\n definedPromise.then(settle);\n // Optional timeout fallback — fires the callback if definitions take too long\n if (timeout > 0) {\n setTimeout(settle, timeout);\n }\n}\n//# sourceMappingURL=descendants.js.map","export const inputElementMethods = [\n \"blur\",\n \"click\",\n \"focus\",\n \"select\",\n \"setSelectionRange\",\n \"setRangeText\",\n \"setCustomValidity\",\n \"showPicker\",\n \"checkValidity\",\n \"reportValidity\",\n \"stepUp\",\n \"stepDown\"\n];\n//# sourceMappingURL=dom.js.map","export class MockElementInternals {\n constructor(element) {\n this.ariaDescription = null;\n this.ariaBrailleLabel = null;\n this.ariaBrailleRoleDescription = null;\n this._form = null;\n this._labels = document.createDocumentFragment().childNodes;\n // ARIA properties\n this.role = \"\";\n this.ariaAtomic = \"\";\n this.ariaAutoComplete = \"\";\n this.ariaBusy = \"\";\n this.ariaChecked = \"\";\n this.ariaColCount = \"\";\n this.ariaColIndex = \"\";\n this.ariaColIndexText = \"\";\n this.ariaColSpan = \"\";\n this.ariaCurrent = \"\";\n this.ariaDisabled = \"\";\n this.ariaExpanded = \"\";\n this.ariaHasPopup = \"\";\n this.ariaHidden = \"\";\n this.ariaInvalid = \"\";\n this.ariaKeyShortcuts = \"\";\n this.ariaLabel = \"\";\n this.ariaLevel = \"\";\n this.ariaLive = \"\";\n this.ariaModal = \"\";\n this.ariaMultiLine = \"\";\n this.ariaMultiSelectable = \"\";\n this.ariaOrientation = \"\";\n this.ariaPlaceholder = \"\";\n this.ariaPosInSet = \"\";\n this.ariaPressed = \"\";\n this.ariaReadOnly = \"\";\n this.ariaRelevant = \"\";\n this.ariaRequired = \"\";\n this.ariaRoleDescription = \"\";\n this.ariaRowCount = \"\";\n this.ariaRowIndex = \"\";\n this.ariaRowIndexText = \"\";\n this.ariaRowSpan = \"\";\n this.ariaSelected = \"\";\n this.ariaSetSize = \"\";\n this.ariaSort = \"\";\n this.ariaValueMax = \"\";\n this.ariaValueMin = \"\";\n this.ariaValueNow = \"\";\n this.ariaValueText = \"\";\n // add the element to the MockElementInternals class\n // the constructor is called when attachInternals is called on the element using ElementInternals.\n this._element = element;\n }\n get form() {\n if (!this._form) {\n // get the closest form element from the element\n this._form = this._element.closest(\"form\");\n }\n return this._form;\n }\n get labels() {\n return this._labels;\n }\n get shadowRoot() {\n return null;\n }\n get states() {\n return new Set();\n }\n // Validation properties\n get validationMessage() {\n return \"\";\n }\n get validity() {\n return {\n badInput: false,\n customError: false,\n patternMismatch: false,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n valid: true,\n valueMissing: false\n };\n }\n get willValidate() {\n return true;\n }\n // Methods\n checkValidity() {\n return true;\n }\n reportValidity() {\n return true;\n }\n setFormValue(_value, _state) { }\n setValidity(_flags, _message, _anchor) { }\n}\n/**\n * If the HTMLElement prototype does not have the attachInternals method, add it.\n * This is used to create a new MockElementInternals instance when the element is attached to the DOM.\n */\nexport function attachMockElementInternals() {\n if (!HTMLElement.prototype.attachInternals) {\n HTMLElement.prototype.attachInternals = function () {\n return new MockElementInternals(this);\n };\n }\n}\n//# sourceMappingURL=element-internal-mocks.js.map","const reservedCustomElementNames = new Set([\n \"annotation-xml\",\n \"color-profile\",\n \"font-face\",\n \"font-face-src\",\n \"font-face-uri\",\n \"font-face-format\",\n \"font-face-name\"\n]);\nfunction resolveCustomElementRegistry(registry) {\n const resolvedRegistry = registry !== null && registry !== void 0 ? registry : globalThis.customElements;\n if (!resolvedRegistry) {\n throw new Error(\"CustomElementRegistry is not available in this environment.\");\n }\n return resolvedRegistry;\n}\nfunction assertValidCustomElementName(name) {\n if (!/^[a-z][.0-9_a-z-]*-[.0-9_a-z-]*$/.test(name) ||\n reservedCustomElementNames.has(name)) {\n throw new Error(`Invalid custom element name: \"${name}\". Custom element names must start with a lowercase ASCII letter, contain a hyphen, and use only lowercase ASCII letters, numbers, '.', '_', or '-'.`);\n }\n}\n/**\n * Validates a FAST element definition and returns it as a Fabric element\n * definition.\n *\n * @param fastDefinition - The FAST definition to validate.\n * @returns The FAST definition as a Fabric element definition.\n *\n * @public\n */\nexport function fromFAST(fastDefinition) {\n assertValidCustomElementName(fastDefinition.name);\n return fastDefinition;\n}\n/**\n * Creates a Fabric element definition for a primary element and any\n * sub-element dependencies it requires.\n *\n * @param primaryDefinition - The primary element definition to expose.\n * @param dependencies - The dependency definitions to register before the\n * primary definition.\n * @returns A Fabric element definition that defines each dependency and the\n * primary definition with the same custom element registry.\n *\n * @public\n */\nexport function composeDefinitions(primaryDefinition, ...dependencies) {\n if (!primaryDefinition) {\n throw new Error(\"composeDefinitions requires at least one definition.\");\n }\n const name = primaryDefinition.name;\n assertValidCustomElementName(name);\n return {\n name,\n define(registry) {\n const resolvedRegistry = resolveCustomElementRegistry(registry);\n const seenNames = new Set();\n for (const definition of [...dependencies, primaryDefinition]) {\n assertValidCustomElementName(definition.name);\n if (seenNames.has(definition.name) ||\n resolvedRegistry.get(definition.name)) {\n seenNames.add(definition.name);\n continue;\n }\n definition.define(resolvedRegistry);\n seenNames.add(definition.name);\n }\n }\n };\n}\n//# sourceMappingURL=element-definition.js.map","/**\n * An abstract behavior to react to media queries. Implementations should implement\n * the `constructListener` method to perform some action based on media query changes.\n *\n * @public\n */\nexport class MatchMediaBehavior {\n /**\n *\n * @param query - The media query to operate from.\n */\n constructor(query) {\n /**\n * The behavior needs to operate on element instances but elements might share a behavior instance.\n * To ensure proper attachment / detachment per instance, we construct a listener for\n * each bind invocation and cache the listeners by element reference.\n */\n this.listenerCache = new WeakMap();\n this.query = query;\n }\n /**\n * Binds the behavior to the element.\n * @param controller - The host controller orchestrating this behavior.\n */\n connectedCallback(controller) {\n const { query } = this;\n let listener = this.listenerCache.get(controller);\n if (!listener) {\n listener = this.constructListener(controller);\n this.listenerCache.set(controller, listener);\n }\n // Invoke immediately to add if the query currently matches\n listener.bind(query)();\n query.addEventListener(\"change\", listener);\n }\n /**\n * Unbinds the behavior from the element.\n * @param controller - The host controller orchestrating this behavior.\n */\n disconnectedCallback(controller) {\n const listener = this.listenerCache.get(controller);\n if (listener) {\n this.query.removeEventListener(\"change\", listener);\n }\n }\n}\n/**\n * A behavior to add or remove a stylesheet from an element based on a media query. The behavior ensures that\n * styles are applied while the a query matches the environment and that styles are not applied if the query does\n * not match the environment.\n *\n * @public\n */\nexport class MatchMediaStyleSheetBehavior extends MatchMediaBehavior {\n /**\n * Constructs a {@link MatchMediaStyleSheetBehavior} instance.\n * @param query - The media query to operate from.\n * @param styles - The styles to coordinate with the query.\n */\n constructor(query, styles) {\n super(query);\n this.styles = styles;\n }\n /**\n * Defines a function to construct {@link MatchMediaStyleSheetBehavior | MatchMediaStyleSheetBehaviors} for\n * a provided query.\n * @param query - The media query to operate from.\n *\n * @public\n * @example\n *\n * ```ts\n * import { css } from \"@microsoft/fast-element\";\n * import { MatchMediaStyleSheetBehavior } from \"@fluentui/web-components\";\n *\n * const landscapeBehavior = MatchMediaStyleSheetBehavior.with(\n * window.matchMedia(\"(orientation: landscape)\")\n * );\n *\n * const styles = css`\n * :host {\n * width: 200px;\n * height: 400px;\n * }\n * `\n * .withBehaviors(landscapeBehavior(css`\n * :host {\n * width: 400px;\n * height: 200px;\n * }\n * `))\n * ```\n */\n static with(query) {\n return (styles) => {\n return new MatchMediaStyleSheetBehavior(query, styles);\n };\n }\n /**\n * Constructs a match-media listener for a provided element.\n * @param source - the element for which to attach or detach styles.\n */\n constructListener(controller) {\n let attached = false;\n const styles = this.styles;\n return function listener() {\n const { matches } = this;\n if (matches && !attached) {\n controller.addStyles(styles);\n attached = matches;\n }\n else if (!matches && attached) {\n controller.removeStyles(styles);\n attached = matches;\n }\n };\n }\n /**\n * Unbinds the behavior from the element.\n * @param controller - The host controller orchestrating this behavior.\n * @internal\n */\n removedCallback(controller) {\n controller.removeStyles(this.styles);\n }\n}\n/**\n * This can be used to construct a behavior to apply a forced-colors only stylesheet.\n * @public\n */\nexport const forcedColorsStylesheetBehavior = MatchMediaStyleSheetBehavior.with(window.matchMedia(\"(forced-colors)\"));\n/**\n * This can be used to construct a behavior to apply a prefers color scheme: dark only stylesheet.\n * @public\n */\nexport const darkModeStylesheetBehavior = MatchMediaStyleSheetBehavior.with(window.matchMedia(\"(prefers-color-scheme: dark)\"));\n/**\n * This can be used to construct a behavior to apply a prefers color scheme: light only stylesheet.\n * @public\n */\nexport const lightModeStylesheetBehavior = MatchMediaStyleSheetBehavior.with(window.matchMedia(\"(prefers-color-scheme: light)\"));\n//# sourceMappingURL=match-media-stylesheet-behaviors.js.map","/**\n * Whether the current platform is macOS.\n * Cached at module load time to avoid repeated user-agent parsing.\n */\nconst isMac = typeof navigator !== \"undefined\" && navigator.userAgent.includes(\"Mac\");\n/**\n * Returns `true` when the platform-appropriate \"action\" modifier key is held.\n * - **macOS**: `metaKey` (⌘ Cmd)\n * - **Other platforms**: `ctrlKey`\n *\n * Use this for keyboard shortcuts that conventionally pair with Ctrl on\n * Windows/Linux and Cmd on macOS (e.g. Ctrl+Click / Cmd+Click to open in a\n * new tab).\n *\n * @param e - Any keyboard or pointer event that exposes modifier key flags.\n * @returns Whether the platform action modifier is pressed.\n */\nexport function isActionModifierKey(e) {\n return isMac ? e.metaKey : e.ctrlKey;\n}\n//# sourceMappingURL=platform.js.map","//Copied from @microsoft/fast-foundation\nimport { HTMLDirective, InlineTemplateDirective } from \"@microsoft/fast-element\";\n/**\n * A function to compose template options.\n * @public\n */\nexport function staticallyCompose(item) {\n if (!item) {\n return InlineTemplateDirective.empty;\n }\n if (typeof item === \"string\") {\n return new InlineTemplateDirective(item);\n }\n if (\"inline\" in item) {\n return item.inline();\n }\n return item;\n}\n//# sourceMappingURL=template-helpers.js.map","//Copied from @microsoft/fast-foundation\n/**\n * filters out any whitespace-only nodes, to be used inside a template.\n *\n * @param value - The Node that is being inspected\n * @param index - The index of the node within the array\n * @param array - The Node array that is being filtered\n * @returns true if the node is not a whitespace-only node, false otherwise\n *\n * @public\n */\nexport const whitespaceFilter = (value) => { var _a; return value.nodeType !== Node.TEXT_NODE || !!((_a = value.nodeValue) === null || _a === void 0 ? void 0 : _a.trim().length); };\n//# sourceMappingURL=whitespace-filter.js.map","/**\n * Calculates the number of decimal places in a number.\n * Used to auto-derive precision from step.\n *\n * @public\n */\nexport function calculatePrecision(value) {\n if (!isFinite(value))\n return 0;\n const str = String(value);\n const dotIndex = str.indexOf(\".\");\n return dotIndex < 0 ? 0 : str.length - dotIndex - 1;\n}\n/**\n * Clamps a value between optional min and max bounds.\n *\n * @public\n */\nexport function clamp(value, min, max) {\n let result = value;\n if (min !== undefined && result < min)\n result = min;\n if (max !== undefined && result > max)\n result = max;\n return result;\n}\n/**\n * Rounds a value to the specified number of decimal places.\n *\n * @public\n */\nexport function precisionRound(value, precision) {\n const factor = Math.pow(10, precision);\n return Math.round(value * factor) / factor;\n}\n//# sourceMappingURL=math.js.map","import { css } from \"@microsoft/fast-element\";\nimport { colorNeutralForeground1, colorNeutralBackground1, colorNeutralStroke1, spacingHorizontalXXL, spacingHorizontalXXS, borderRadiusSmall, spacingHorizontalM } from \"@fluentui/web-components\";\nimport { forcedColorsStylesheetBehavior } from \"../../util/index.js\";\n/**\n * Styles for the {@link @fabric-msft/fabric-web#(CarouselNav:class)} component.\n * @public\n */\nexport const styles = css `\n :host {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n }\n\n .nav-content {\n display: flex;\n align-items: center;\n gap: ${spacingHorizontalM};\n }\n\n /* Grouped: all centered together */\n :host([button-placement=\"grouped\"]) .nav-content {\n justify-content: center;\n }\n\n /* Flexible: prev at start, indicators centered, next at end */\n :host([button-placement=\"flexible\"]) .nav-content {\n justify-content: space-between;\n width: 100%;\n }\n\n :host([button-placement=\"flexible\"]) .indicators {\n flex: 1;\n display: flex;\n justify-content: center;\n }\n\n /* Hidden: indicators only, buttons hidden */\n :host([button-placement=\"hidden\"]) .nav-button {\n display: none;\n }\n\n .indicators {\n display: flex;\n align-items: center;\n }\n\n .nav-button {\n display: flex;\n align-items: center;\n justify-content: center;\n width: ${spacingHorizontalXXL};\n height: ${spacingHorizontalXXL};\n padding: ${spacingHorizontalXXS};\n background: ${colorNeutralBackground1};\n color: ${colorNeutralForeground1};\n cursor: pointer;\n border: none;\n }\n\n .nav-button svg {\n display: block;\n }\n\n :dir(rtl) .nav-button svg {\n transform: scaleX(-1);\n }\n\n .nav-button:hover {\n background: ${colorNeutralStroke1};\n }\n\n .nav-button:focus-visible {\n outline: 2px solid ${colorNeutralForeground1};\n outline-offset: 2px;\n border-radius: ${borderRadiusSmall};\n }\n`.withBehaviors(forcedColorsStylesheetBehavior(css `\n .nav-button:focus-visible {\n outline-color: Highlight !important;\n }\n `));\n//# sourceMappingURL=carousel-nav.styles.js.map","import { html, slotted } from \"@microsoft/fast-element\";\nimport { chevronLeftIcon, chevronRightIcon } from \"../../util/icons.js\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(CarouselNav:class)} component.\n * @public\n */\nexport function carouselNavTemplate() {\n return html `\n <template button-placement=\"${(x) => x.buttonPlacement}\">\n <div class=\"nav-content\">\n <button\n class=\"nav-button prev-button\"\n aria-label=\"Previous\"\n @click=\"${(x) => x.handlePrevClick()}\"\n >\n ${chevronLeftIcon}\n </button>\n <div\n class=\"indicators\"\n role=\"tablist\"\n aria-label=\"Choose slide to display\"\n >\n <slot\n ${slotted({\n property: \"slottedNavItems\",\n filter: (el) => el.tagName === \"FABRIC-CAROUSEL-NAV-ITEM\"\n })}\n ></slot>\n </div>\n <button\n class=\"nav-button next-button\"\n aria-label=\"Next\"\n @click=\"${(x) => x.handleNextClick()}\"\n >\n ${chevronRightIcon}\n </button>\n </div>\n </template>\n `;\n}\nexport const template = carouselNavTemplate();\n//# sourceMappingURL=carousel-nav.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { CarouselNav } from \"./carousel-nav.js\";\nimport { styles } from \"./carousel-nav.styles.js\";\nimport { template } from \"./carousel-nav.template.js\";\n/**\n * The CarouselNav element definition.\n * @public\n * @remarks\n * HTML Element: <fabric-carousel-nav>\n */\nexport const definition = CarouselNav.compose({\n name: `${DesignSystem.prefix}-carousel-nav`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=carousel-nav.definition.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, attr, observable } from \"@microsoft/fast-element\";\n/**\n * @summary A single tab indicator within the carousel navigation.\n *\n * @example\n * ```html\n * <fabric-carousel-nav-item active></fabric-carousel-nav-item>\n * ```\n *\n * @attr {boolean} active - Whether this nav item represents the current step.\n *\n * @prop {boolean} active - Whether this nav item represents the current step.\n * @prop {string} tabId - Unique ID for this tab (set by parent).\n * @prop {string} panelId - ID of the controlled panel (for aria-controls).\n * @prop {string} tabLabel - Accessible label for the tab (e.g., \"Slide 1\").\n *\n * @slot default - Custom content (default renders a dot).\n *\n * @extends FASTElement\n * @tagname fabric-carousel-nav-item\n * @public\n */\nexport class CarouselNavItem extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Whether this nav item represents the current step.\n * @public\n */\n this.active = false;\n }\n}\n__decorate([\n attr({ mode: \"boolean\" })\n], CarouselNavItem.prototype, \"active\", void 0);\n__decorate([\n observable\n], CarouselNavItem.prototype, \"tabId\", void 0);\n__decorate([\n observable\n], CarouselNavItem.prototype, \"panelId\", void 0);\n__decorate([\n observable\n], CarouselNavItem.prototype, \"tabLabel\", void 0);\n//# sourceMappingURL=carousel-nav-item.js.map","import { css } from \"@microsoft/fast-element\";\nimport { colorNeutralForeground1, colorNeutralForeground2, borderRadiusCircular, durationFast, curveEasyEase, spacingHorizontalS, spacingHorizontalL, spacingVerticalXXL, spacingHorizontalXXL, borderRadiusSmall } from \"@fluentui/web-components\";\nimport { forcedColorsStylesheetBehavior } from \"../../util/index.js\";\n/**\n * Styles for the {@link @fabric-msft/fabric-web#(CarouselNavItem:class)} component.\n * @public\n */\nexport const styles = css `\n :host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n width: ${spacingHorizontalXXL};\n height: ${spacingVerticalXXL};\n }\n\n .indicator {\n display: block;\n width: ${spacingHorizontalS};\n height: ${spacingHorizontalS};\n border-radius: ${borderRadiusCircular};\n background: ${colorNeutralForeground2};\n opacity: 0.3;\n transition:\n width ${durationFast} ${curveEasyEase},\n opacity ${durationFast} ${curveEasyEase};\n }\n\n :host([active]) .indicator {\n width: ${spacingHorizontalL};\n opacity: 1;\n background: ${colorNeutralForeground1};\n }\n\n :host(:hover) .indicator {\n opacity: 0.6;\n }\n\n :host([active]:hover) .indicator {\n opacity: 1;\n }\n\n :host(:focus-visible) {\n outline: 2px solid ${colorNeutralForeground1};\n border-radius: ${borderRadiusSmall};\n }\n\n @media (prefers-reduced-motion: reduce) {\n .indicator {\n transition: none;\n }\n }\n`.withBehaviors(forcedColorsStylesheetBehavior(css `\n :host(:focus-visible) {\n outline-color: Highlight !important;\n }\n `));\n//# sourceMappingURL=carousel-nav-item.styles.js.map","import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(CarouselNavItem:class)} component.\n * Uses tab role per ARIA APG tabbed carousel pattern.\n * @public\n */\nexport function carouselNavItemTemplate() {\n return html `\n <template\n role=\"tab\"\n id=\"${(x) => x.tabId}\"\n aria-selected=\"${(x) => x.active}\"\n aria-controls=\"${(x) => x.panelId}\"\n aria-label=\"${(x) => x.tabLabel}\"\n tabindex=\"-1\"\n ?active=\"${(x) => x.active}\"\n >\n <span class=\"indicator\">\n <slot></slot>\n </span>\n </template>\n `;\n}\nexport const template = carouselNavItemTemplate();\n//# sourceMappingURL=carousel-nav-item.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { CarouselNavItem } from \"./carousel-nav-item.js\";\nimport { styles } from \"./carousel-nav-item.styles.js\";\nimport { template } from \"./carousel-nav-item.template.js\";\n/**\n * The CarouselNavItem element definition.\n * @public\n * @remarks\n * HTML Element: <fabric-carousel-nav-item>\n */\nexport const definition = CarouselNavItem.compose({\n name: `${DesignSystem.prefix}-carousel-nav-item`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=carousel-nav-item.definition.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, attr, observable } from \"@microsoft/fast-element\";\nimport { CarouselNavPositions, CarouselNavButtonPlacements } from \"./carousel.options.js\";\nimport { CarouselEventNames } from \"./carousel.events.js\";\nimport { CarouselNavDefinition } from \"../carousel-nav/index.js\";\nimport { CarouselNavItemDefinition } from \"../carousel-nav-item/index.js\";\n/**\n * @summary A Carousel component for displaying items one at a time with navigation.\n *\n * @example\n * ```html\n * <fabric-carousel nav-position=\"outside-content\" nav-button-placement=\"grouped\">\n * <fabric-carousel-item>Item 1</fabric-carousel-item>\n * <fabric-carousel-item>Item 2</fabric-carousel-item>\n * <fabric-carousel-item>Item 3</fabric-carousel-item>\n * </fabric-carousel>\n * ```\n *\n * @attr {string} nav-position - Position of the navigation relative to carousel content.\n * @attr {string} nav-button-placement - Positioning of prev/next buttons within navigation.\n *\n * @prop {CarouselNavPosition} navPosition - Nav position relative to content.\n * @prop {CarouselNavButtonPlacement} navButtonPlacement - Button positioning within nav.\n * @prop {number} currentIndex - Index of the currently visible item.\n * @prop {number} totalItems - Total number of carousel items (readonly).\n *\n * @slot default - Slot for fabric-carousel-item elements.\n * @slot nav - Slot for a custom fabric-carousel-nav element.\n *\n * @fires change - Fired when current item changes with detail { index, previousIndex }.\n *\n * @method next - Advances carousel to the next item.\n * @method prev - Moves carousel to the previous item.\n * @method scrollToIndex - Scrolls carousel to item at specified index.\n *\n * @extends FASTElement\n * @tagname fabric-carousel\n * @public\n */\nexport class Carousel extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Unique ID for this carousel instance.\n * Used to generate unique IDs for tabs and panels.\n * @internal\n */\n this.carouselId = `carousel-${Carousel.idCounter++}`;\n /**\n * Nav position relative to content.\n * @public\n */\n this.navPosition = CarouselNavPositions.outsideContent;\n /**\n * Button positioning within nav.\n * @public\n */\n this.navButtonPlacement = CarouselNavButtonPlacements.grouped;\n /**\n * Index of the currently visible item.\n * @public\n */\n this.currentIndex = 0;\n /**\n * Slotted carousel items.\n * @internal\n */\n this.slottedItems = [];\n }\n /**\n * Total number of carousel items.\n * @public\n * @readonly\n */\n get totalItems() {\n return this.slottedItems.length;\n }\n /**\n * Callback when generatedNav changes.\n * @internal\n */\n generatedNavChanged(_oldValue, newValue) {\n var _a;\n (_a = this.eventListenerAbortController) === null || _a === void 0 ? void 0 : _a.abort();\n if (newValue) {\n this.setupNavListeners(newValue);\n }\n }\n /**\n * Callback when currentIndex changes.\n * @internal\n */\n currentIndexChanged(oldValue, newValue) {\n this.updateActiveStates();\n if (oldValue !== undefined) {\n this.emitChange(newValue, oldValue);\n }\n }\n /**\n * Callback when slotted items change.\n * @internal\n */\n slottedItemsChanged() {\n this.updateActiveStates();\n }\n /**\n * Advances carousel to the next item.\n * @public\n */\n next() {\n if (this.currentIndex < this.totalItems - 1) {\n this.currentIndex++;\n }\n }\n /**\n * Moves carousel to the previous item.\n * @public\n */\n prev() {\n if (this.currentIndex > 0) {\n this.currentIndex--;\n }\n }\n /**\n * Scrolls carousel to item at specified index.\n * @public\n */\n scrollToIndex(index) {\n if (index >= 0 && index < this.totalItems) {\n this.currentIndex = index;\n }\n }\n /**\n * Updates active states on carousel items.\n * @internal\n */\n updateActiveStates() {\n var _a, _b;\n if ((_a = this.slottedItems) === null || _a === void 0 ? void 0 : _a.length) {\n this.currentIndex = Math.min(this.currentIndex, this.slottedItems.length - 1);\n }\n (_b = this.slottedItems) === null || _b === void 0 ? void 0 : _b.forEach((item, index) => {\n item.active = index === this.currentIndex;\n item.panelId = `${this.carouselId}-panel-${index}`;\n item.tabId = `${this.carouselId}-tab-${index}`;\n });\n }\n /**\n * Gets the tab ID for a given index.\n * @internal\n */\n getTabId(index) {\n return `${this.carouselId}-tab-${index}`;\n }\n /**\n * Gets the panel ID for a given index.\n * @internal\n */\n getPanelId(index) {\n return `${this.carouselId}-panel-${index}`;\n }\n /**\n * Gets the tab label for a given index.\n * Uses the item's label if set, otherwise \"Slide N\".\n * @internal\n */\n getTabLabel(index) {\n var _a, _b;\n const item = (_a = this.slottedItems) === null || _a === void 0 ? void 0 : _a[index];\n return (_b = item === null || item === void 0 ? void 0 : item.label) !== null && _b !== void 0 ? _b : `Slide ${index + 1}`;\n }\n /**\n * Sets up event listeners on nav element.\n * @internal\n */\n setupNavListeners(nav) {\n this.eventListenerAbortController = new AbortController();\n const { signal } = this.eventListenerAbortController;\n nav.addEventListener(\"select\", (e) => this.scrollToIndex(e.detail.index), { signal });\n nav.addEventListener(\"previous\", () => this.prev(), { signal });\n nav.addEventListener(\"next\", () => this.next(), { signal });\n }\n /**\n * Emits change event.\n * @internal\n */\n emitChange(index, previousIndex) {\n this.dispatchEvent(new CustomEvent(CarouselEventNames.change, {\n detail: { index, previousIndex },\n bubbles: true,\n composed: true\n }));\n }\n connectedCallback() {\n super.connectedCallback();\n CarouselNavDefinition.define(customElements);\n CarouselNavItemDefinition.define(customElements);\n this.updateActiveStates();\n }\n disconnectedCallback() {\n var _a;\n super.disconnectedCallback();\n (_a = this.eventListenerAbortController) === null || _a === void 0 ? void 0 : _a.abort();\n }\n}\n/**\n * Counter for generating unique carousel IDs.\n * @internal\n */\nCarousel.idCounter = 0;\n__decorate([\n attr({ attribute: \"nav-position\" })\n], Carousel.prototype, \"navPosition\", void 0);\n__decorate([\n attr({ attribute: \"nav-button-placement\" })\n], Carousel.prototype, \"navButtonPlacement\", void 0);\n__decorate([\n observable\n], Carousel.prototype, \"currentIndex\", void 0);\n__decorate([\n observable\n], Carousel.prototype, \"slottedItems\", void 0);\n__decorate([\n observable\n], Carousel.prototype, \"generatedNav\", void 0);\n//# sourceMappingURL=carousel.js.map","import { css } from \"@microsoft/fast-element\";\nimport { colorNeutralBackground1, durationNormal, curveEasyEase, spacingVerticalM } from \"@fluentui/web-components\";\n/**\n * Styles for the {@link @fabric-msft/fabric-web#(Carousel:class)} component.\n * @public\n */\nexport const styles = css `\n :host {\n --_carousel-dir: -1;\n display: flex;\n flex-direction: column;\n position: relative;\n background: ${colorNeutralBackground1};\n }\n\n :host(:dir(rtl)) {\n --_carousel-dir: 1;\n }\n\n .viewport {\n overflow: hidden;\n position: relative;\n width: 100%;\n }\n\n .track {\n display: flex;\n transition: transform ${durationNormal} ${curveEasyEase};\n will-change: transform;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .track {\n transition: none;\n }\n }\n\n .nav-container {\n display: flex;\n justify-content: center;\n width: 100%;\n }\n\n :host([nav-position=\"outside-content\"]) .nav-container {\n position: relative;\n margin-block-start: ${spacingVerticalM};\n }\n\n :host([nav-position=\"over-content\"]) .nav-container {\n position: absolute;\n inset-block-end: ${spacingVerticalM};\n inset-inline: 0;\n z-index: 1;\n }\n`;\n//# sourceMappingURL=carousel.styles.js.map","import { html, slotted, ref, repeat } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(Carousel:class)} component.\n * @public\n */\nexport function carouselTemplate() {\n return html `\n <template\n role=\"region\"\n aria-roledescription=\"carousel\"\n nav-position=\"${(x) => x.navPosition}\"\n nav-button-placement=\"${(x) => x.navButtonPlacement}\"\n >\n <div class=\"viewport\" aria-live=\"polite\" aria-atomic=\"false\">\n <div\n class=\"track\"\n style=\"transform: translateX(calc(var(--_carousel-dir) * ${(x) => x.currentIndex} * 100%))\"\n >\n <slot\n ${slotted({\n property: \"slottedItems\",\n filter: (el) => el.tagName === \"FABRIC-CAROUSEL-ITEM\"\n })}\n ></slot>\n </div>\n </div>\n <div class=\"nav-container\">\n <fabric-carousel-nav\n ${ref(\"generatedNav\")}\n button-placement=\"${(x) => x.navButtonPlacement}\"\n current-index=\"${(x) => x.currentIndex}\"\n >\n ${repeat((x) => x.slottedItems, html `\n <fabric-carousel-nav-item\n :tabId=\"${(_item, c) => c.parent.getTabId(c.index)}\"\n :panelId=\"${(_item, c) => c.parent.getPanelId(c.index)}\"\n :tabLabel=\"${(_item, c) => c.parent.getTabLabel(c.index)}\"\n ></fabric-carousel-nav-item>\n `, { positioning: true })}\n </fabric-carousel-nav>\n </div>\n </template>\n `;\n}\nexport const template = carouselTemplate();\n//# sourceMappingURL=carousel.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { Carousel } from \"./carousel.js\";\nimport { styles } from \"./carousel.styles.js\";\nimport { template } from \"./carousel.template.js\";\n/**\n * The Carousel element definition.\n * @public\n * @remarks\n * HTML Element: <fabric-carousel>\n */\nexport const definition = Carousel.compose({\n name: `${DesignSystem.prefix}-carousel`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=carousel.definition.js.map","import { definition } from \"./carousel.definition.js\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { definition as CarouselNavDefinition } from \"../carousel-nav/carousel-nav.definition.js\";\nimport { definition as CarouselNavItemDefinition } from \"../carousel-nav-item/carousel-nav-item.definition.js\";\n/**\n * Registers the carousel element and all of its internal dependencies\n * (carousel-item, carousel-nav, carousel-nav-item) with the provided registry.\n *\n * @param registry - The CustomElementRegistry to register with. Defaults to `customElements`.\n *\n * @example\n * ```ts\n * import { defineCarousel } from \"@fabric-msft/fabric-web\";\n * defineCarousel(); // registers fabric-carousel and its dependencies\n * ```\n *\n * @public\n */\nexport function defineCarousel(registry = customElements) {\n CarouselNavDefinition.define(registry);\n CarouselNavItemDefinition.define(registry);\n definition.define(registry);\n}\ndefineCarousel(DesignSystem.registry);\n//# sourceMappingURL=define.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, attr, observable } from \"@microsoft/fast-element\";\n/**\n * @summary A single item/slide within a carousel (tabpanel in tabbed pattern).\n *\n * @example\n * ```html\n * <fabric-carousel-item active>\n * <div>Slide content</div>\n * </fabric-carousel-item>\n * ```\n *\n * @attr {boolean} active - Whether this item is currently visible.\n * @attr {string} label - Custom label for the slide.\n *\n * @prop {boolean} active - Whether this item is currently visible.\n * @prop {string} label - Custom label for the slide.\n * @prop {string} panelId - Unique ID for this panel (set by parent carousel).\n * @prop {string} tabId - ID of the associated tab (for aria-labelledby).\n *\n * @slot default - Item content.\n *\n * @extends FASTElement\n * @tagname fabric-carousel-item\n * @public\n */\nexport class CarouselItem extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Whether this item is currently visible.\n * @public\n */\n this.active = false;\n }\n}\n__decorate([\n attr({ mode: \"boolean\" })\n], CarouselItem.prototype, \"active\", void 0);\n__decorate([\n attr\n], CarouselItem.prototype, \"label\", void 0);\n__decorate([\n observable\n], CarouselItem.prototype, \"panelId\", void 0);\n__decorate([\n observable\n], CarouselItem.prototype, \"tabId\", void 0);\n//# sourceMappingURL=carousel-item.js.map","import { css } from \"@microsoft/fast-element\";\n/**\n * Styles for the {@link @fabric-msft/fabric-web#(CarouselItem:class)} component.\n * @public\n */\nexport const styles = css `\n :host {\n display: block;\n flex-shrink: 0;\n width: 100%;\n box-sizing: border-box;\n }\n`;\n//# sourceMappingURL=carousel-item.styles.js.map","import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(CarouselItem:class)} component.\n * Uses tabpanel role per ARIA APG tabbed carousel pattern.\n * @public\n */\nexport function carouselItemTemplate() {\n return html `\n <template\n role=\"tabpanel\"\n id=\"${(x) => x.panelId}\"\n aria-labelledby=\"${(x) => x.tabId}\"\n aria-label=\"${(x) => x.label}\"\n ?active=\"${(x) => x.active}\"\n ?aria-hidden=\"${(x) => !x.active}\"\n tabindex=\"${(x) => (x.active ? 0 : -1)}\"\n >\n <slot></slot>\n </template>\n `;\n}\nexport const template = carouselItemTemplate();\n//# sourceMappingURL=carousel-item.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { CarouselItem } from \"./carousel-item.js\";\nimport { styles } from \"./carousel-item.styles.js\";\nimport { template } from \"./carousel-item.template.js\";\n/**\n * The CarouselItem element definition.\n * @public\n * @remarks\n * HTML Element: <fabric-carousel-item>\n */\nexport const definition = CarouselItem.compose({\n name: `${DesignSystem.prefix}-carousel-item`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=carousel-item.definition.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\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\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\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\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _CardCarousel_isRtl;\nimport { FASTElement, observable, Updates, attr } from \"@microsoft/fast-element\";\nimport { uniqueId } from \"@microsoft/fast-web-utilities\";\nimport { setChildrenFocusability } from \"../../util/accessibility-utilities.js\";\n/**\n * @summary A Carousel component for displaying a set of items in a horizontal, scrollable manner.\n *\n * @example\n * ```html\n * <fabric-card-carousel>\n * <div slot=\"header\">Carousel Header</div>\n * <fabric-button slot=\"prev-button\">Prev</fabric-button>\n * <fabric-button slot=\"next-button\">Next</fabric-button>\n * <div>Item 1</div>\n * <div>Item 2</div>\n * <!-- More carousel items here -->\n * </fabric-card-carousel>\n * ```\n *\n * @attr disable-animation - Disables animation when set to true.\n *\n * @prop {boolean} disableAnimation - Boolean attribute to disable animation.\n * @prop {HTMLElement[]} slottedCarouselItems - An array of carousel items that are slotted into the carousel.\n * @prop {HTMLElement} header - The header element.\n * @prop {number} currentIndex - The current index of the carousel, indicating which item is currently visible.\n * @prop {HTMLElement[]} nextButton - The next button element.\n * @prop {HTMLElement[]} prevButton - The previous button element.\n * @prop {number} visibleItemsCount - Gets the number of items currently visible in the carousel. (readonly)\n *\n * @slot header - Slot for the carousel header content.\n * @slot prev-button - Slot for the carousel's previous navigation button.\n * @slot next-button - Slot for the carousel's next navigation button.\n * @slot - Default slot for carousel items.\n *\n * @method next - Moves the carousel to the next set of items.\n * @method prev - Moves the carousel to the previous set of items.\n * @method scrollToIndex - Scrolls the carousel to a specific index.\n * @method isAtEnd - Checks if the carousel is at the end of the items.\n * @method getNextVisibleItemsCount - Gets the count of the next set of visible items in the carousel.\n * @method updateVisibleItems - Updates the visible items in the carousel.\n *\n * @extends FASTElement\n * @tagname fabric-card-carousel\n * @public\n */\nexport class CardCarousel extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Boolean attribute to check if the component is in RTL mode\n */\n _CardCarousel_isRtl.set(this, void 0);\n /**\n * An array of carousel items that are slotted into the carousel.\n *\n * @public\n * @type {HTMLElement[]}\n * @observable\n */\n this.slottedCarouselItems = [];\n /**\n * Boolean attribute to check if the carousel items are loaded\n */\n this.slottedCarouselItemsLoaded = false;\n /**\n * The current index of the carousel, indicating which item is currently visible.\n *\n * @public\n * @type {number}\n * @observable\n */\n this.currentIndex = 0;\n /**\n * The width of the gap between carousel items, in pixels.\n *\n * @private\n * @type {number}\n */\n this.gapWidth = 16;\n /**\n * Handle the next button click event.\n * @internal\n */\n this.handleNext = () => {\n this.next();\n };\n /**\n * Handle the previous button click event.\n * @internal\n */\n this.handlePrev = () => {\n this.prev();\n };\n /**\n * Cached container width\n * @private\n * @type {number}\n */\n this.cachedContainerWidth = 0;\n /**\n * Whether the layout should be recalculated\n * @private\n * @type {boolean}\n */\n this.shouldRecalculateLayout = true;\n /**\n * Resize observer\n * @private\n * @type {ResizeObserver}\n */\n this.resizeObserver = undefined;\n /**\n * Item measurements\n * @private\n * @type {number[]}\n */\n this.itemMeasurements = [];\n /**\n * The index of the last visible item in the carousel.\n * @private\n * @type {number}\n */\n this.lastVisibleItemIndex = -1;\n }\n /**\n * Callback when slottedCarouselItems changes to update button states\n * @internal\n */\n slottedCarouselItemsChanged(prev, next) {\n if (prev && next && next.length !== prev.length) {\n this.slottedCarouselItemsLoaded = true;\n }\n this.updateButtonStates();\n }\n /**\n * Callback when currentIndex changes to update button states\n * @internal\n */\n currentIndexChanged() {\n this.updateButtonStates();\n }\n /**\n * Updates the disabled state of navigation buttons based on carousel position\n * @internal\n */\n updateButtonStates() {\n var _a, _b;\n if (((_a = this.nextButton) === null || _a === void 0 ? void 0 : _a[0]) && ((_b = this.prevButton) === null || _b === void 0 ? void 0 : _b[0])) {\n this.prevButton[0].toggleAttribute(\"disabled\", this.currentIndex === 0);\n this.nextButton[0].toggleAttribute(\"disabled\", this.isAtEnd());\n }\n }\n /**\n * Sets event listeners for the carousel's navigation buttons.\n * @internal\n */\n setEventListeners() {\n if (this.nextButton && this.nextButton.length > 0) {\n this.nextButton[0].addEventListener(\"click\", this.handleNext);\n }\n if (this.prevButton && this.prevButton.length > 0) {\n this.prevButton[0].addEventListener(\"click\", this.handlePrev);\n }\n }\n /**\n * Removes event listeners for the carousel's navigation buttons.\n * @internal\n */\n removeEventListeners() {\n if (this.nextButton && this.nextButton.length > 0) {\n this.nextButton[0].removeEventListener(\"click\", this.handleNext);\n }\n if (this.prevButton && this.prevButton.length > 0) {\n this.prevButton[0].removeEventListener(\"click\", this.handlePrev);\n }\n }\n /**\n * Invoked when the carousel is added to the document's DOM.\n *\n * @public\n * @returns {void}\n */\n connectedCallback() {\n super.connectedCallback();\n this.updateDirection();\n // Set a unique ID for the header and associate it with the region\n const headerId = `fabric-card-carousel-header-${uniqueId()}`;\n if (this.header) {\n this.header.id = headerId;\n }\n if (this.viewportRef) {\n this.viewportRef.setAttribute(\"aria-labelledby\", headerId);\n }\n this.style.setProperty(\"--gap-width\", `${this.gapWidth}px`);\n Updates.enqueue(() => {\n this.updateVisibleItems();\n this.updateButtonStates();\n this.setEventListeners();\n });\n this.setupResizeObserver();\n }\n /**\n * Invoked when the carousel is removed from the document's DOM.\n *\n * @public\n * @returns {void}\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = undefined;\n }\n this.removeEventListeners();\n }\n /**\n * Moves the carousel to the next set of items.\n *\n * @public\n * @returns {void}\n */\n next() {\n if (!this.isAtEnd()) {\n const visibleCount = this.visibleItemsCount;\n const maxIndex = Math.max(0, this.slottedCarouselItems.length - visibleCount);\n this.currentIndex = Math.min(this.currentIndex + this.getNextVisibleItemsCount(\"next\"), maxIndex);\n this.updateVisibleItems();\n }\n }\n /**\n * Moves the carousel to the previous set of items.\n *\n * @public\n * @returns {void}\n */\n prev() {\n if (this.currentIndex > 0) {\n const itemsToMove = this.getNextVisibleItemsCount(\"prev\");\n this.currentIndex -= itemsToMove;\n this.updateVisibleItems();\n }\n }\n /**\n * Scrolls the carousel to a specific index.\n *\n * @public\n * @param {number} index - The target index to scroll to\n * @returns {void}\n */\n scrollToIndex(index, _attempts = 0) {\n const maxAttempts = 10;\n if (!this.slottedCarouselItemsLoaded) {\n if (_attempts >= maxAttempts) {\n console.warn(`carousel:scrollToIndex -- scroll overflow exceeded: ${maxAttempts}. No slotted carousel elements.`, index);\n return;\n }\n requestAnimationFrame(() => this.scrollToIndex(index));\n return;\n }\n if (index < 0 || index >= this.slottedCarouselItems.length) {\n console.warn(`Invalid index ${index}. Must be between 0 and ${this.slottedCarouselItems.length - 1}`);\n return;\n }\n this.currentIndex = index;\n this.updateVisibleItems();\n this.updateButtonStates();\n }\n /**\n * Sets up a resize observer to watch for changes in the carousel's container width\n */\n setupResizeObserver() {\n this.resizeObserver = new ResizeObserver(() => {\n this.cachedContainerWidth = 0;\n this.measureItems();\n this.updateVisibleItems();\n });\n this.resizeObserver.observe(this);\n }\n /**\n * Measures the width of each item in the carousel.\n * @internal\n */\n measureItems() {\n if (this.shouldRecalculateLayout) {\n this.itemMeasurements = this.slottedCarouselItems.map((item) => item.getBoundingClientRect().width + this.gapWidth);\n this.shouldRecalculateLayout = false;\n }\n }\n /**\n * Gets the number of items currently visible in the carousel.\n *\n * @public\n * @returns {number} The count of visible items.\n */\n get visibleItemsCount() {\n if (!this.cachedContainerWidth || this.shouldRecalculateLayout) {\n this.cachedContainerWidth = this.clientWidth;\n this.measureItems();\n }\n let totalWidth = 0;\n let count = 0;\n let index = this.currentIndex;\n let isLastVisibleEl = false;\n while (!isLastVisibleEl) {\n if (totalWidth + this.itemMeasurements[index] <=\n this.cachedContainerWidth) {\n totalWidth += this.itemMeasurements[index];\n index++;\n if (index >= this.currentIndex) {\n count++;\n }\n }\n else {\n isLastVisibleEl = true;\n }\n }\n this.lastVisibleItemIndex = index - 1;\n return count;\n }\n /**\n * Checks if the carousel is at the end of the items.\n *\n * @public\n * @returns {boolean} True if at the end, false otherwise.\n */\n isAtEnd() {\n const totalItems = this.slottedCarouselItems.length;\n const visibleCount = this.visibleItemsCount;\n const maxIndex = Math.max(0, totalItems - visibleCount);\n return this.currentIndex >= maxIndex;\n }\n /**\n * Gets the count of the next set of visible items in the carousel.\n *\n * @public\n * @param {string} direction - The direction to check (\"next\" or \"prev\")\n * @returns {number} The count of the next visible items.\n */\n getNextVisibleItemsCount(direction) {\n let totalWidth = 0;\n let count = 0;\n if (!this.cachedContainerWidth || this.shouldRecalculateLayout) {\n this.cachedContainerWidth = this.clientWidth;\n this.measureItems();\n }\n const widths = this.itemMeasurements.slice(direction === \"next\" ? this.currentIndex : 0, direction === \"next\"\n ? this.slottedCarouselItems.length\n : this.currentIndex);\n for (const width of widths) {\n if (totalWidth + width <= this.cachedContainerWidth) {\n totalWidth += width;\n count++;\n }\n else {\n break;\n }\n }\n return count;\n }\n /**\n * Detects if the component is in RTL mode\n * @private\n * @returns {boolean} True if RTL is active\n */\n updateDirection() {\n var _a;\n const computedDir = getComputedStyle(this).direction;\n const documentDir = document.documentElement.dir;\n const htmlDir = (_a = document.querySelector(\"html\")) === null || _a === void 0 ? void 0 : _a.getAttribute(\"dir\");\n __classPrivateFieldSet(this, _CardCarousel_isRtl, computedDir === \"rtl\" || documentDir === \"rtl\" || htmlDir === \"rtl\", \"f\");\n }\n /**\n * Gets the appropriate transform direction based on RTL\n * @private\n * @param {number} offset - The offset amount\n * @returns {string} The transform CSS value\n */\n getTransform(offset) {\n if (__classPrivateFieldGet(this, _CardCarousel_isRtl, \"f\") === undefined) {\n this.updateDirection();\n }\n // In RTL, positive offset should move right (positive translateX)\n // In LTR, positive offset should move left (negative translateX)\n const transformValue = __classPrivateFieldGet(this, _CardCarousel_isRtl, \"f\") ? offset : -offset;\n return `translateX(${transformValue}px)`;\n }\n /**\n * Updates the visible items in the carousel.\n *\n * @public\n * @returns {void}\n */\n updateVisibleItems() {\n Updates.enqueue(() => {\n let totalWidth = 0;\n if (this.itemMeasurements.length > 0) {\n this.slottedCarouselItems.forEach((item, index) => {\n if (index > this.lastVisibleItemIndex || index < this.currentIndex) {\n item.setAttribute(\"aria-hidden\", \"true\");\n item.tabIndex = -1;\n setChildrenFocusability(item, false);\n }\n else {\n item.setAttribute(\"aria-hidden\", \"false\");\n item.tabIndex = 0;\n setChildrenFocusability(item, true);\n }\n if (index < this.currentIndex) {\n totalWidth += this.itemMeasurements[index];\n }\n });\n if (this.viewportRef) {\n if (this.disableAnimation) {\n this.viewportRef.style.transition = \"none\";\n }\n else {\n this.viewportRef.style.transition = \"\";\n }\n // Use RTL-aware transform\n this.viewportRef.style.transform = this.getTransform(totalWidth);\n }\n }\n });\n }\n}\n_CardCarousel_isRtl = new WeakMap();\n__decorate([\n attr({ mode: \"boolean\", attribute: \"disable-animation\" })\n], CardCarousel.prototype, \"disableAnimation\", void 0);\n__decorate([\n observable\n], CardCarousel.prototype, \"slottedCarouselItems\", void 0);\n__decorate([\n observable\n], CardCarousel.prototype, \"header\", void 0);\n__decorate([\n observable\n], CardCarousel.prototype, \"viewportRef\", void 0);\n__decorate([\n observable\n], CardCarousel.prototype, \"currentIndex\", void 0);\n__decorate([\n observable\n], CardCarousel.prototype, \"nextButton\", void 0);\n__decorate([\n observable\n], CardCarousel.prototype, \"prevButton\", void 0);\n//# sourceMappingURL=card-carousel.js.map","import { fontFamilyBase, fontSizeBase400, fontWeightBold, lineHeightBase400, spacingHorizontalS, spacingVerticalM, spacingVerticalS, display } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${display(\"block\")}\n :host {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n overflow: hidden;\n padding: ${spacingVerticalM} ${spacingHorizontalS} ${spacingVerticalS}\n ${spacingHorizontalS};\n }\n .navigation {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n margin: ${spacingVerticalM} 0;\n }\n .header {\n font-size: ${fontSizeBase400};\n font-family: ${fontFamilyBase};\n font-weight: ${fontWeightBold};\n line-height: ${lineHeightBase400};\n }\n .viewport {\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n transition: transform 0.3s ease-in-out;\n will-change: transform;\n width: 100%;\n padding-block-start: ${spacingVerticalM};\n padding-inline: 0;\n padding-block-end: ${spacingVerticalS};\n }\n .viewport ::slotted(*) {\n display: inline-block;\n /* Use logical properties for RTL support */\n margin-inline-end: var(--gap-width, 16px);\n }\n`;\n//# sourceMappingURL=card-carousel.styles.js.map","import { elements, html, ref, slotted } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(CardCarousel:class)} component.\n * @public\n */\nexport function cardCarouselTemplate() {\n return html `\n <template ?no-animation=\"${(x) => x.disableAnimation}\">\n <div class=\"navigation\">\n <div class=\"header\" ${ref(\"header\")}>\n <slot name=\"header\"></slot>\n </div>\n <div class=\"button-container\">\n <slot name=\"prev-button\" ${slotted(\"prevButton\")}></slot>\n <slot name=\"next-button\" ${slotted(\"nextButton\")}></slot>\n </div>\n </div>\n\n <div class=\"viewport\" role=\"region\" ${ref(\"viewportRef\")}>\n <slot\n ${slotted({ property: \"slottedCarouselItems\", filter: elements() })}\n ></slot>\n </div>\n </template>\n `;\n}\nexport const template = cardCarouselTemplate();\n//# sourceMappingURL=card-carousel.template.js.map","import { CardCarousel } from \"./card-carousel.js\";\nimport { styles } from \"./card-carousel.styles.js\";\nimport { template } from \"./card-carousel.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-card-carousel>\n */\nexport const definition = CardCarousel.compose({\n name: `${DesignSystem.prefix}-card-carousel`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=card-carousel.definition.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { BaseButton as FluentButton } from \"@fluentui/web-components\";\nimport { attr } from \"@microsoft/fast-element\";\n/**\n * Button\n * @summary A Button Custom HTML Element. Based on FluentButton and includes style and layout specific attributes.\n *\n * @example\n * ```html\n * <fabric-button appearance=\"primary\" shape=\"rounded\" size=\"large\" type=\"submit\" autofocus>\n * <span slot=\"start\">🚀</span>\n * Click me!\n * <span slot=\"end\">→</span>\n * </fabric-button>\n * ```\n *\n * @attr {ButtonAppearance | undefined} appearance - Indicates the styled appearance of the button.\n * @attr {ButtonShape | undefined} shape - The shape of the button.\n * @attr {ButtonSize | undefined} size - The size of the button.\n * @attr {boolean} icon-only - Indicates that the button should only display as an icon with no text content.\n * @attr {boolean} autofocus - Indicates the button should be focused when the page is loaded.\n * @attr {boolean | undefined} disabled - Sets the element's disabled state.\n * @attr {boolean} disabled-focusable - Indicates that the button is focusable while disabled.\n * @attr {number} tabindex - Sets that the button tabindex attribute.\n * @attr {string | undefined} formaction - The URL that processes the form submission.\n * @attr {string | undefined} form - The id of a form to associate the element to.\n * @attr {string | undefined} formenctype - The encoding type for the form submission.\n * @attr {string | undefined} formmethod - The HTTP method that the browser uses to submit the form.\n * @attr {boolean | undefined} formnovalidate - Indicates that the form will not be validated when submitted.\n * @attr {ButtonFormTarget | undefined} formtarget - The target frame or window to open the form submission in.\n * @attr {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @attr {ButtonType} type - The button type.\n * @attr {string | undefined} value - The value attribute.\n *\n * @prop {ButtonAppearance | undefined} appearance - Indicates the styled appearance of the button.\n * @prop {ButtonShape | undefined} shape - The shape of the button.\n * @prop {ButtonSize | undefined} size - The size of the button.\n * @prop {boolean} iconOnly - Indicates that the button should only display as an icon with no text content.\n * @prop {boolean} autofocus - Indicates the button should be focused whein the page is loaded.\n * @prop {boolean | undefined} disabled - Sets the element's disabled state.\n * @prop {boolean} disabledFocusable - Indicates that the button is focusable while disabled.\n * @prop {number} tabindex - Sets that the button tabindex attribute.\n * @prop {string | undefined} formaction - The URL that processes the form submission.\n * @prop {string | undefined} form - The id of a form to associate the element to.\n * @prop {string | undefined} formenctype - The encoding type for the form submission.\n * @prop {string | undefined} formmethod - The HTTP method that the browser uses to submit the form.\n * @prop {boolean | undefined} formnovalidate - Indicates that the form will not be validated when submitted.\n * @prop {ButtonFormTarget | undefined} formtarget - The target frame or window to open the form submission in.\n * @prop {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @prop {ButtonType} type - The button type.\n * @prop {string | undefined} value - The value attribute.\n * @prop {string} role - Accessible role applied to the element (defaults to 'button').\n *\n * @slot start - Content which can be provided before the button content.\n * @slot end - Content which can be provided after the button content.\n * @slot - The default slot for button content.\n *\n * @csspart content - The button content container.\n *\n * @cssprop --icon-spacing - Custom property defined in component styles\n *\n * @method keypressHandler - Handles keypress events for the button.\n * @method press - Presses the button.\n * @method resetForm - Resets the associated form.\n *\n * @extends FluentButton\n * @tagname fabric-button\n * @public\n */\nexport class Button extends FluentButton {\n constructor() {\n super(...arguments);\n /**\n * Indicates that the button should only display as an icon with no text content.\n *\n * @public\n * @remarks\n * HTML Attribute: `icon-only`\n */\n this.iconOnly = false;\n }\n}\n__decorate([\n attr\n], Button.prototype, \"appearance\", void 0);\n__decorate([\n attr\n], Button.prototype, \"shape\", void 0);\n__decorate([\n attr\n], Button.prototype, \"size\", void 0);\n__decorate([\n attr({ attribute: \"icon-only\", mode: \"boolean\" })\n], Button.prototype, \"iconOnly\", void 0);\n//# sourceMappingURL=button.js.map","import { ButtonAppearance as FluentButtonAppearance, ButtonShape as FluentButtonShape, ButtonSize as FluentButtonSize, ButtonFormTarget as FluentButtonFormTarget, ButtonType as FluentButtonType } from \"@fluentui/web-components\";\n/** Appearance values for {@link Button}. */\nexport const ButtonAppearances = {\n ...FluentButtonAppearance,\n primaryOnBrand: \"primary-on-brand\"\n};\n/** Shape values for {@link Button}. */\nexport const ButtonShapes = { ...FluentButtonShape };\n/** Size values for {@link Button}. */\nexport const ButtonSizes = { ...FluentButtonSize };\n/** Form target values for {@link Button}. */\nexport const ButtonFormTargets = { ...FluentButtonFormTarget };\n4;\n/** Button type values for {@link Button}. */\nexport const ButtonTypes = { ...FluentButtonType };\n//# sourceMappingURL=button.options.js.map","import { ButtonStyles, borderRadiusMedium, colorNeutralForegroundOnBrand, colorStrokeFocus2, shadow2, colorNeutralStrokeOnBrand, colorBrandBackground, colorBrandBackgroundHover, colorBrandBackgroundPressed, colorNeutralBackground1, colorNeutralBackground1Hover, colorNeutralBackground1Pressed, colorNeutralForeground1Hover, colorNeutralForeground1Pressed, colorNeutralStroke1Hover, colorNeutralStroke1Pressed } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${ButtonStyles}\n\n /* Override Fluent UI small size border-radius to use borderRadiusMedium */\n :host([size=\"small\"]:not([shape=\"circular\"]):not([shape=\"square\"])) {\n border-radius: ${borderRadiusMedium};\n }\n\n :host([appearance=\"primary-on-brand\"]) {\n background-color: ${colorBrandBackground};\n color: ${colorNeutralForegroundOnBrand};\n border-color: ${colorNeutralStrokeOnBrand};\n }\n\n :host(\n [appearance=\"primary-on-brand\"]:is(:hover, :hover:active):not(\n :focus-visible\n )\n ) {\n border-color: ${colorNeutralStrokeOnBrand};\n }\n\n :host([appearance=\"primary-on-brand\"]:is(:hover, :hover:active)) {\n color: ${colorNeutralForegroundOnBrand};\n background-color: ${colorBrandBackgroundHover};\n }\n\n :host([appearance=\"primary-on-brand\"]:hover:active) {\n background-color: ${colorBrandBackgroundPressed};\n }\n\n :host([appearance=\"primary-on-brand\"]:focus-visible) {\n border-color: ${colorNeutralForegroundOnBrand};\n box-shadow:\n ${shadow2},\n 0 0 0 2px ${colorStrokeFocus2};\n }\n\n /*\n * Fluent UI's upstream rules set the outline button's background to\n * colorTransparentBackground (fully transparent) for the resting state\n * and colorTransparentBackgroundHover/Pressed for interactive states,\n * which yields no visible surface in dark theme (the canvas bleeds\n * through) and no visible feedback on hover/pressed. Restore a\n * theme-aware neutral surface plus visible hover/pressed states while\n * keeping the outline border treatment.\n */\n :host([appearance=\"outline\"]) {\n background-color: ${colorNeutralBackground1};\n }\n\n :host([appearance=\"outline\"]:hover) {\n background-color: ${colorNeutralBackground1Hover};\n color: ${colorNeutralForeground1Hover};\n border-color: ${colorNeutralStroke1Hover};\n }\n\n :host([appearance=\"outline\"]:hover:active) {\n background-color: ${colorNeutralBackground1Pressed};\n color: ${colorNeutralForeground1Pressed};\n border-color: ${colorNeutralStroke1Pressed};\n }\n`;\n//# sourceMappingURL=button.styles.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { Button } from \"./button.js\";\nimport { ButtonTemplate } from \"@fluentui/web-components\";\nimport { styles as ButtonStyles } from \"./button.styles.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-button>\n */\nexport const definition = Button.compose({\n name: `${DesignSystem.prefix}-button`,\n template: ButtonTemplate,\n styles: ButtonStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=button.definition.js.map","import { ButtonFormTargets, ButtonTypes } from \"../button/index.js\";\nexport const FilterPillTypes = {\n ...ButtonTypes\n};\nexport const FilterPillFormTargets = {\n ...ButtonFormTargets\n};\n/** Appearance values for {@link FilterPill}. */\nexport const FilterPillAppearances = {\n primary: \"primary\",\n subtle: \"subtle\",\n transparent: \"transparent\",\n outline: \"outline\",\n primaryOnBrand: \"primary-on-brand\"\n};\n/** Shape values for {@link FilterPill}. */\nexport const FilterPillShapes = {\n circular: \"circular\",\n square: \"square\"\n};\n/** Size values for {@link FilterPill}. */\nexport const FilterPillSizes = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\"\n};\n/**\n * FilterPill event names\n * @public\n */\nexport const FilterPillEventNames = {\n pressedChange: \"pressed-change\"\n};\n//# sourceMappingURL=filter-pill.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { Button } from \"../button/button.js\";\nimport { attr } from \"@microsoft/fast-element\";\nimport { handleAttributeChange, toggleState } from \"../../util/element-internals.js\";\nimport { FilterPillEventNames, FilterPillSizes, FilterPillShapes, FilterPillAppearances } from \"./filter-pill.options.js\";\n/**\n * FilterPill\n * @summary A FilterPill component that represents a button-like pill with various customizable appearances, shapes, and sizes. Based largely on the `<button>` element.\n *\n * @example\n * ```html\n * <fabric-filter-pill appearance=\"primary\" shape=\"circular\" size=\"medium\" icon-only=\"false\" pressed=\"false\" mixed=\"false\">\n * <span slot=\"start\">Start Content</span>\n * Filter Pill Content\n * <span slot=\"end\">End Content</span>\n * </fabric-filter-pill>\n * ```\n *\n * @attr {FilterPillAppearance} appearance - The appearance of the filter pill.\n * @attr {FilterPillShape} shape - The shape of the filter pill.\n * @attr {FilterPillSize} size - The size of the filter pill.\n * @attr {boolean} icon-only - Whether the filter pill is icon-only.\n * @attr {boolean} pressed - Whether the filter pill is pressed.\n * @attr {boolean} mixed - Whether the filter pill is in a mixed state.\n * @attr {string} aria-pressed - The aria-pressed attribute value.\n * @attr {string} aria-label - The aria-label attribute value.\n *\n * @prop {boolean} iconOnly - Whether the filter pill is icon-only.\n * @prop {boolean} pressed - Whether the filter pill is pressed.\n * @prop {boolean} mixed - Whether the filter pill is in a mixed state.\n *\n * @slot - Default slot for the filter pill content.\n * @slot start - Content which can be provided before the button content.\n * @slot end - Content which can be provided after the button content.\n *\n * @csspart content - The content of the filter pill.\n *\n * @cssprop --icon-spacing - Custom property defined in component styles\n *\n * @method iconOnlyChanged - Handles changes to the iconOnly attribute.\n * @method appearanceChanged - Handles changes to the appearance attribute.\n * @method shapeChanged - Handles changes to the shape attribute.\n * @method sizeChanged - Handles changes to the size attribute.\n * @method pressedChanged - Handles changes to the pressed attribute.\n * @method mixedChanged - Handles changes to the mixed attribute.\n * @method press - Toggles the pressed state of the filter pill.\n *\n * @fires pressed-change - Dispatched when the pressed state changes.\n *\n * @extends Button\n * @tagname fabric-filter-pill\n * @public\n */\nexport class FilterPill extends Button {\n /**\n * Creates an instance of FilterPill.\n */\n constructor() {\n super();\n /**\n * The appearance of the filter pill.\n * @attr\n * @type {FilterPillAppearance}\n * @public\n */\n this.appearance = FilterPillAppearances.primary;\n /**\n * The shape of the filter pill.\n * @attr\n * @type {FilterPillShape}\n * @public\n */\n this.shape = FilterPillShapes.circular;\n /**\n * The size of the filter pill.\n * @attr\n * @type {FilterPillSize}\n * @public\n */\n this.size = FilterPillSizes.medium;\n /**\n * Whether the filter pill is icon-only.\n * @attr {boolean} icon-only\n * @type {boolean}\n * @public\n */\n this.iconOnly = false;\n /**\n * Whether the filter pill is pressed.\n * @attr {boolean}\n * @type {boolean}\n * @public\n */\n this.pressed = false;\n /**\n * Whether the filter pill is in a mixed state.\n * @attr {boolean}\n * @type {boolean}\n * @public\n */\n this.mixed = false;\n this.elementInternals.role = \"button\";\n }\n /**\n * Wires click and keypress handlers using a shared AbortSignal.\n */\n attachEventListeners() {\n var _a;\n (_a = this.events) === null || _a === void 0 ? void 0 : _a.abort();\n this.events = new AbortController();\n const { signal } = this.events;\n this.addEventListener(\"click\", this.clickHandler, {\n signal\n });\n this.addEventListener(\"keypress\", this.keypressHandler, {\n signal\n });\n }\n /**\n * Handles changes to the iconOnly attribute.\n * @param {boolean} prev - The previous value of the iconOnly attribute.\n * @param {boolean} next - The new value of the iconOnly attribute.\n */\n iconOnlyChanged(_prev, next) {\n toggleState(this.elementInternals, \"icon\", next);\n }\n /**\n * Handles changes to the appearance attribute.\n * @param {FilterPillAppearance | undefined} prev - The previous value of the appearance attribute.\n * @param {FilterPillAppearance | undefined} next - The new value of the appearance attribute.\n */\n appearanceChanged(prev, next) {\n handleAttributeChange(this.elementInternals, prev, next, toggleState);\n }\n /**\n * Handles changes to the shape attribute.\n * @param {FilterPillShape | undefined} prev - The previous value of the shape attribute.\n * @param {FilterPillShape | undefined} next - The new value of the shape attribute.\n */\n shapeChanged(prev, next) {\n handleAttributeChange(this.elementInternals, prev, next, toggleState);\n }\n /**\n * Handles changes to the size attribute.\n * @param {FilterPillSize | undefined} prev - The previous value of the size attribute.\n * @param {FilterPillSize | undefined} next - The new value of the size attribute.\n */\n sizeChanged(prev, next) {\n handleAttributeChange(this.elementInternals, prev, next, toggleState);\n }\n /**\n * Handles changes to the pressed attribute.\n */\n pressedChanged() {\n this.setPressedState();\n }\n /**\n * Handles changes to the mixed attribute.\n */\n mixedChanged() {\n this.setPressedState();\n }\n /**\n * Toggles the pressed state of the filter pill.\n */\n press() {\n this.pressed = !this.pressed;\n }\n /**\n * Sets the pressed state of the filter pill.\n * @private\n */\n setPressedState() {\n const ariaPressed = `${this.mixed ? \"mixed\" : !!this.pressed}`;\n this.elementInternals.ariaPressed = ariaPressed;\n toggleState(this.elementInternals, \"pressed\", this.pressed || this.mixed);\n this.$emit(FilterPillEventNames.pressedChange, this.pressed);\n }\n /**\n * Lifecycle hook to attach event listeners once connected.\n */\n connectedCallback() {\n super.connectedCallback();\n this.attachEventListeners();\n }\n /**\n * Lifecycle hook to clean up event listeners when disconnected.\n */\n disconnectedCallback() {\n var _a;\n (_a = this.events) === null || _a === void 0 ? void 0 : _a.abort();\n this.events = undefined;\n super.disconnectedCallback();\n }\n}\n__decorate([\n attr\n], FilterPill.prototype, \"appearance\", void 0);\n__decorate([\n attr\n], FilterPill.prototype, \"shape\", void 0);\n__decorate([\n attr\n], FilterPill.prototype, \"size\", void 0);\n__decorate([\n attr({ attribute: \"icon-only\", mode: \"boolean\" })\n], FilterPill.prototype, \"iconOnly\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], FilterPill.prototype, \"pressed\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], FilterPill.prototype, \"mixed\", void 0);\n//# sourceMappingURL=filter-pill.js.map","import { css } from \"@microsoft/fast-element\";\nimport { borderRadiusCircular, borderRadiusLarge, borderRadiusMedium, borderRadiusNone, borderRadiusSmall, colorNeutralBackground4, colorNeutralBackground4Hover, colorNeutralBackgroundDisabled, colorNeutralBackgroundInverted, colorNeutralForeground1Hover, colorNeutralForeground1Pressed, colorNeutralForeground2, colorNeutralForeground2BrandHover, colorBrandBackground, colorBrandBackgroundHover, colorBrandBackgroundPressed, colorNeutralForeground2BrandPressed, colorNeutralForegroundDisabled, colorNeutralStroke2, colorNeutralStrokeDisabled, colorStrokeFocus2, colorSubtleBackground, colorTransparentBackground, colorTransparentStroke, curveEasyEase, display, durationFaster, fontFamilyBase, fontSizeBase200, fontSizeBase300, fontSizeBase400, fontSizeBase600, fontWeightRegular, fontWeightSemibold, lineHeightBase200, lineHeightBase300, lineHeightBase400, shadow2, shadow4, spacingHorizontalL, spacingHorizontalM, spacingHorizontalMNudge, spacingHorizontalS, spacingHorizontalSNudge, spacingHorizontalXS, spacingHorizontalXXXL, spacingVerticalS, spacingVerticalXXXL, strokeWidthThick, colorNeutralBackground1Hover, colorNeutralBackground1Pressed, colorNeutralForeground1, colorNeutralForeground2BrandSelected, colorNeutralForeground2Hover, colorNeutralForeground2Pressed, colorNeutralForeground2Selected, colorNeutralForegroundInverted, colorNeutralForegroundOnBrand, colorNeutralStroke1, colorNeutralStroke1Hover, colorNeutralStroke1Pressed, colorSubtleBackgroundHover, colorSubtleBackgroundPressed, colorSubtleBackgroundSelected, colorTransparentBackgroundHover, colorNeutralStrokeOnBrand, colorTransparentBackgroundPressed, colorTransparentBackgroundSelected, strokeWidthThin } from \"@fluentui/web-components\";\nimport { sizeHorizontalXL, sizeHorizontalXXL, sizeVerticalXL, sizeVerticalXXL, sizeVerticalXXXL } from \"@fabric-msft/theme\";\nimport { forcedColorsStylesheetBehavior } from \"../../util/index.js\";\nimport { circularState, iconOnlyState, largeState, mediumState, outlineState, pressedState, primaryState, smallState, squareState, subtleState, transparentState } from \"../styles/states/states.js\";\n/**\n * The styles for the FilterPill component.\n *\n * @public\n * @privateRemarks\n */\nexport const styles = css `\n ${display(\"inline-flex\")}\n\n :host {\n --icon-spacing: ${spacingHorizontalSNudge};\n position: relative;\n contain: layout style;\n vertical-align: middle;\n align-items: center;\n box-sizing: border-box;\n justify-content: center;\n text-align: center;\n text-decoration-line: none;\n margin: 0;\n /* 32px height tokenized */\n min-height: ${sizeVerticalXXXL};\n outline-style: none;\n background-color: ${colorNeutralBackground4};\n color: ${colorNeutralForeground1};\n border: ${strokeWidthThin} solid ${colorNeutralStroke1};\n padding: 0 ${spacingHorizontalM};\n /* 96px width = 3 * 32px */\n min-width: calc(${spacingHorizontalXXXL} * 3);\n border-radius: ${borderRadiusMedium};\n font-size: ${fontSizeBase300};\n /* @design-token-ok: font family already uses semantic token */\n font-family: ${fontFamilyBase};\n font-weight: ${fontWeightSemibold};\n line-height: ${lineHeightBase300};\n transition-duration: ${durationFaster};\n transition-property: background, border, color;\n transition-timing-function: ${curveEasyEase};\n cursor: pointer;\n user-select: none;\n width: fit-content;\n }\n\n .content {\n display: inherit;\n padding: 0 ${spacingHorizontalSNudge};\n }\n\n :host(${mediumState}) .content {\n padding: 0 ${spacingHorizontalMNudge};\n }\n\n :host(${largeState}) .content {\n padding: 0 ${spacingHorizontalM};\n }\n\n :host(:hover) {\n background-color: ${colorNeutralBackground1Hover};\n color: ${colorNeutralForeground1Hover};\n border-color: ${colorNeutralStroke1Hover};\n }\n\n :host(:hover:active) {\n background-color: ${colorNeutralBackground1Pressed};\n border-color: ${colorNeutralStroke1Pressed};\n color: ${colorNeutralForeground1Pressed};\n outline-style: none;\n }\n\n :host(:focus-visible) {\n border-color: ${colorTransparentStroke};\n outline: ${strokeWidthThick} solid ${colorTransparentStroke};\n box-shadow:\n ${shadow4},\n 0 0 0 ${strokeWidthThick} ${colorStrokeFocus2};\n }\n\n @media screen and (prefers-reduced-motion: reduce) {\n transition-duration: 0.01ms;\n }\n\n ::slotted(svg) {\n /* Icon glyph dimensions mapped to design tokens (20px → base600 / XL spacing) */\n font-size: ${fontSizeBase600};\n height: ${sizeVerticalXL};\n width: ${sizeHorizontalXL};\n }\n\n :is([slot=\"start\"], ::slotted([slot=\"start\"])) {\n margin-inline-end: var(--icon-spacing);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n :is([slot=\"end\"], ::slotted([slot=\"end\"])) {\n margin-inline-start: var(--icon-spacing);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n :host(${iconOnlyState}) {\n width: ${sizeVerticalXXXL};\n height: ${sizeVerticalXXXL};\n min-width: ${sizeVerticalXXXL};\n min-height: ${sizeVerticalXXXL};\n max-width: ${sizeVerticalXXXL};\n max-height: ${sizeVerticalXXXL};\n }\n\n :host(${smallState}) {\n --icon-spacing: ${spacingHorizontalXS};\n min-height: ${sizeVerticalXXL};\n min-width: calc(${spacingHorizontalXXXL} * 2);\n padding: 0 ${spacingHorizontalS};\n border-radius: ${borderRadiusSmall};\n font-size: ${fontSizeBase200};\n line-height: ${lineHeightBase200};\n font-weight: ${fontWeightRegular};\n }\n\n :host(${smallState}${iconOnlyState}) {\n width: ${sizeVerticalXXL};\n height: ${sizeVerticalXXL};\n min-width: ${sizeVerticalXXL};\n min-height: ${sizeVerticalXXL};\n max-width: ${sizeVerticalXXL};\n max-height: ${sizeVerticalXXL};\n }\n\n :host(${largeState}) {\n min-height: calc(${spacingVerticalXXXL} + ${spacingVerticalS});\n border-radius: ${borderRadiusLarge};\n padding: 0 ${spacingHorizontalL};\n font-size: ${fontSizeBase400};\n line-height: ${lineHeightBase400};\n }\n\n :host(${largeState}${iconOnlyState}) {\n min-width: calc(${spacingVerticalXXXL} + ${spacingVerticalS});\n max-width: calc(${spacingVerticalXXXL} + ${spacingVerticalS});\n max-height: calc(${spacingVerticalXXXL} + ${spacingVerticalS});\n min-height: calc(${spacingVerticalXXXL} + ${spacingVerticalS});\n width: calc(${spacingVerticalXXXL} + ${spacingVerticalS});\n height: calc(${spacingVerticalXXXL} + ${spacingVerticalS});\n }\n\n :host(${largeState}) ::slotted(svg) {\n /* Large icon size mapped to tokens (24px → base600 font & XXL spacing) */\n font-size: ${fontSizeBase600};\n height: ${sizeVerticalXXL};\n width: ${sizeHorizontalXXL};\n }\n\n :host(:is(${circularState}, ${circularState}:focus-visible)) {\n border-radius: ${borderRadiusCircular};\n }\n\n :host(:is(${squareState}, ${squareState}:focus-visible)) {\n border-radius: ${borderRadiusNone};\n }\n\n :host(${primaryState}) {\n background-color: ${colorNeutralBackground4};\n color: ${colorNeutralForeground1};\n border-color: transparent;\n }\n\n :host(${primaryState}:hover) {\n background-color: ${colorNeutralBackground4Hover};\n color: ${colorNeutralForeground1};\n }\n\n :host(${primaryState}:is(:hover, :hover:active)) {\n border-color: ${colorNeutralStroke2};\n }\n\n :host(${primaryState}:hover:active) {\n border-color: ${colorTransparentStroke};\n background-color: ${colorNeutralBackgroundInverted};\n color: ${colorNeutralForegroundOnBrand};\n }\n\n :host(${primaryState}:focus-visible) {\n border-color: ${colorNeutralForegroundOnBrand};\n box-shadow:\n ${shadow2},\n 0 0 0 ${strokeWidthThick} ${colorStrokeFocus2};\n }\n\n :host(${outlineState}) {\n background-color: ${colorTransparentBackground};\n color: ${colorNeutralForeground2};\n }\n\n :host(${outlineState}:hover) {\n background-color: ${colorTransparentBackgroundHover};\n }\n\n :host(${outlineState}:hover:active) {\n background-color: ${colorTransparentBackgroundPressed};\n }\n\n :host(${subtleState}) {\n background-color: ${colorSubtleBackground};\n color: ${colorNeutralForeground2};\n border-color: transparent;\n }\n\n :host(${subtleState}:hover) {\n background-color: ${colorSubtleBackgroundHover};\n color: ${colorNeutralForeground2Hover};\n border-color: transparent;\n }\n\n :host(${subtleState}:hover:active) {\n background-color: ${colorSubtleBackgroundPressed};\n color: ${colorNeutralForeground2Pressed};\n border-color: transparent;\n }\n\n :host(${subtleState}:hover) ::slotted(svg) {\n fill: ${colorNeutralForeground2BrandHover};\n }\n\n :host(${subtleState}:hover:active) ::slotted(svg) {\n fill: ${colorNeutralForeground2BrandPressed};\n }\n\n :host(${transparentState}) {\n background-color: ${colorTransparentBackground};\n color: ${colorNeutralForeground2};\n }\n\n :host(${transparentState}:hover) {\n background-color: ${colorTransparentBackgroundHover};\n color: ${colorNeutralForeground2BrandHover};\n }\n\n :host(${transparentState}:hover:active) {\n background-color: ${colorTransparentBackgroundPressed};\n color: ${colorNeutralForeground2BrandPressed};\n }\n\n :host(:is(${transparentState}, ${transparentState}:is(:hover, :active))) {\n border-color: transparent;\n }\n\n :host([appearance=\"primary-on-brand\"]) {\n background-color: ${colorBrandBackground};\n color: ${colorNeutralForegroundOnBrand};\n border-color: ${colorNeutralStrokeOnBrand};\n }\n\n :host(\n [appearance=\"primary-on-brand\"]:is(:hover, :hover:active):not(\n :focus-visible\n )\n ) {\n border-color: ${colorNeutralStrokeOnBrand};\n }\n\n :host([appearance=\"primary-on-brand\"]:is(:hover, :hover:active)) {\n color: ${colorNeutralForegroundOnBrand};\n background-color: ${colorBrandBackgroundHover};\n }\n\n :host([appearance=\"primary-on-brand\"]:hover:active) {\n background-color: ${colorBrandBackgroundPressed};\n }\n\n :host([appearance=\"primary-on-brand\"]:focus-visible) {\n border-color: ${colorNeutralForegroundOnBrand};\n box-shadow:\n ${shadow2},\n 0 0 0 ${strokeWidthThick} ${colorStrokeFocus2};\n }\n :host(\n :is(\n :disabled,\n [disabled-focusable],\n [appearance]:disabled,\n [appearance][disabled-focusable]\n )\n ),\n :host(\n :is(\n :disabled,\n [disabled-focusable],\n [appearance]:disabled,\n [appearance][disabled-focusable]\n ):hover\n ),\n :host(\n :is(\n :disabled,\n [disabled-focusable],\n [appearance]:disabled,\n [appearance][disabled-focusable]\n ):hover:active\n ) {\n background-color: ${colorNeutralBackgroundDisabled};\n border-color: ${colorNeutralStrokeDisabled};\n color: ${colorNeutralForegroundDisabled};\n cursor: not-allowed;\n }\n\n :host(${primaryState}:is(:disabled, [disabled-focusable])),\n :host(\n ${primaryState}:is(:disabled, [disabled-focusable]):is(\n :hover,\n :hover:active\n )\n ) {\n border-color: transparent;\n }\n\n :host(${outlineState}:is(:disabled, [disabled-focusable])),\n :host(\n ${outlineState}:is(:disabled, [disabled-focusable]):is(\n :hover,\n :hover:active\n )\n ) {\n background-color: ${colorTransparentBackground};\n }\n\n :host(${subtleState}:is(:disabled, [disabled-focusable])),\n :host(\n ${subtleState}:is(:disabled, [disabled-focusable]):is(:hover, :hover:active)\n ) {\n background-color: ${colorTransparentBackground};\n border-color: transparent;\n }\n\n :host(${transparentState}:is(:disabled, [disabled-focusable])),\n :host(\n ${transparentState}:is(:disabled, [disabled-focusable]):is(\n :hover,\n :hover:active\n )\n ) {\n border-color: transparent;\n background-color: ${colorTransparentBackground};\n }\n\n :host(${pressedState}) {\n border-color: ${colorTransparentStroke};\n background-color: ${colorNeutralBackgroundInverted};\n color: ${colorNeutralForegroundInverted};\n border-width: ${strokeWidthThin};\n }\n\n :host(${pressedState}:hover) {\n border-color: ${colorNeutralStroke1Hover};\n background-color: ${colorNeutralBackground1Hover};\n color: ${colorNeutralForeground1Hover};\n }\n\n :host(${pressedState}:active) {\n border-color: ${colorNeutralStroke1Pressed};\n background-color: ${colorNeutralBackground1Pressed};\n color: ${colorNeutralForeground1Pressed};\n }\n\n :host(${pressedState}${primaryState}) {\n border-color: ${colorTransparentStroke};\n background-color: ${colorNeutralBackgroundInverted};\n color: ${colorNeutralForegroundInverted};\n }\n\n :host(${pressedState}${primaryState}:hover) {\n background-color: ${colorNeutralForeground1};\n color: ${colorNeutralForegroundInverted};\n }\n\n :host(${pressedState}${primaryState}:active) {\n border-color: ${colorTransparentStroke};\n background-color: ${colorNeutralBackgroundInverted};\n color: ${colorNeutralForegroundInverted};\n }\n\n :host(${pressedState}${subtleState}) {\n border-color: transparent;\n background-color: ${colorSubtleBackgroundSelected};\n color: ${colorNeutralForeground2Selected};\n }\n\n :host(${pressedState}${subtleState}:hover) {\n background-color: ${colorSubtleBackgroundHover};\n color: ${colorNeutralForeground2Hover};\n }\n\n :host(${pressedState}${subtleState}:active) {\n background-color: ${colorSubtleBackgroundPressed};\n color: ${colorNeutralForeground2Pressed};\n }\n\n :host(${pressedState}${outlineState}),\n :host(${pressedState}${transparentState}) {\n background-color: ${colorTransparentBackgroundSelected};\n color: ${colorNeutralForeground1};\n border-color: ${colorNeutralStroke1Pressed};\n }\n\n :host(${pressedState}${outlineState}) {\n border-width: ${strokeWidthThick};\n }\n\n :host(${pressedState}${outlineState}:hover),\n :host(${pressedState}${transparentState}:hover) {\n background-color: ${colorTransparentBackgroundHover};\n }\n\n :host(${pressedState}${outlineState}:active),\n :host(${pressedState}${transparentState}:active) {\n background-color: ${colorTransparentBackgroundPressed};\n border-width: ${strokeWidthThick};\n }\n\n :host(${pressedState}${transparentState}) {\n border-color: transparent;\n color: ${colorNeutralForeground2BrandSelected};\n }\n\n :host(${pressedState}${transparentState}:hover) {\n color: ${colorNeutralForeground2BrandHover};\n }\n\n :host(${pressedState}${transparentState}:active) {\n color: ${colorNeutralForeground2BrandPressed};\n }\n`.withBehaviors(forcedColorsStylesheetBehavior(css `\n :host(${pressedState}),\n :host(${pressedState}${primaryState}),\n :host(${pressedState}${subtleState}),\n :host(${pressedState}${outlineState}),\n :host(${pressedState}${transparentState}) {\n background: SelectedItem;\n color: SelectedItemText;\n }\n `));\n//# sourceMappingURL=filter-pill.styles.js.map","import { html, slotted } from \"@microsoft/fast-element\";\n/**\n * Generates a template for the Button component.\n *\n * @public\n */\nexport function filterPillTemplate() {\n return html `\n <template\n tabindex=\"${(x) => (x.disabled ? -1 : 0)}\"\n appearance=\"${(x) => x.appearance}\"\n shape=\"${(x) => x.shape}\"\n size=\"${(x) => x.size}\"\n icon-only=\"${(x) => x.iconOnly}\"\n aria-label=\"${(x) => x.ariaLabel}\"\n ?pressed=\"${(x) => x.pressed}\"\n ?disabled=\"${(x) => x.disabled}\"\n >\n <slot name=\"start\"></slot>\n <span class=\"content\" part=\"content\">\n <slot ${slotted(\"defaultSlottedContent\")}></slot>\n </span>\n <slot name=\"end\"></slot>\n </template>\n `;\n}\n/**\n * The template for the Button component.\n *\n * @public\n */\nexport const template = filterPillTemplate();\n//# sourceMappingURL=filter-pill.template.js.map","import { FilterPill } from \"./filter-pill.js\";\nimport { styles } from \"./filter-pill.styles.js\";\nimport { template } from \"./filter-pill.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-filter-pill>\n */\nexport const definition = FilterPill.compose({\n name: `${DesignSystem.prefix}-filter-pill`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=filter-pill.definition.js.map","import { ButtonAppearances as FabricButtonAppearances, ButtonShapes as FabricButtonShapes, ButtonSizes as FabricButtonSizes, ButtonFormTargets as FabricButtonFormTargets, ButtonTypes as FabricButtonTypes } from \"../button/index.js\";\n/**\n * Appearances for {@link CompoundButton}\n * Local plural const composed from ButtonAppearances allowing future extensions.\n * @public\n */\nexport const CompoundButtonAppearances = {\n ...FabricButtonAppearances\n};\n/**\n * Shapes for {@link CompoundButton}\n * @public\n */\nexport const CompoundButtonShapes = {\n ...FabricButtonShapes\n};\n/**\n * Sizes for {@link CompoundButton}\n * @public\n */\nexport const CompoundButtonSizes = {\n ...FabricButtonSizes\n};\n/**\n * Form targets for {@link CompoundButton}\n * @public\n */\nexport const CompoundButtonFormTargets = {\n ...FabricButtonFormTargets\n};\n/**\n * Types for {@link CompoundButton}\n * @public\n */\nexport const CompoundButtonTypes = {\n ...FabricButtonTypes\n};\n//# sourceMappingURL=compound-button.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { attr } from \"@microsoft/fast-element\";\nimport { BaseButton } from \"@fluentui/web-components\";\nimport { CompoundButtonAppearances } from \"./compound-button.options.js\";\n/**\n * CompoundButton\n * @summary The base class used for constructing a fabric-compound-button custom element, which extends the Fluent UI CompoundButton with Fabric-specific functionality.\n *\n * @example\n * ```html\n * <fabric-compound-button appearance=\"primary\" shape=\"rounded\" size=\"large\" type=\"submit\" autofocus>\n * <span slot=\"start\">🚀</span>\n * Your Text Here\n * <span slot=\"end\">→</span>\n * <span slot=\"description\">Detailed description here</span>\n * </fabric-compound-button>\n * ```\n *\n * @attr {CompoundButtonAppearance | undefined} appearance - Indicates the styled appearance of the button.\n * @attr {CompoundButtonShape | undefined} shape - The shape of the button.\n * @attr {CompoundButtonSize | undefined} size - The size of the button.\n * @attr {boolean | undefined} icon-only - Indicates that the button should only display as an icon with no text content.\n * @attr {boolean | undefined} autofocus - Indicates the button should be focused when the page is loaded.\n * @attr {boolean | undefined} disabled-focusable - Indicates that the button is focusable while disabled.\n * @attr {number | undefined} tabindex - Sets that the button tabindex attribute.\n * @attr {string | undefined} formaction - The URL that processes the form submission.\n * @attr {string | undefined} form - The id of a form to associate the element to.\n * @attr {string | undefined} formenctype - The encoding type for the form submission.\n * @attr {string | undefined} formmethod - The HTTP method that the browser uses to submit the form.\n * @attr {boolean | undefined} formnovalidate - Indicates that the form will not be validated when submitted.\n * @attr {CompoundButtonFormTarget | undefined} formtarget - The target frame or window to open the form submission in.\n * @attr {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @attr {string | undefined} type - The button type.\n * @attr {string | undefined} value - The value attribute.\n *\n * @prop {CompoundButtonAppearance | undefined} appearance - Indicates the styled appearance of the button.\n * @prop {CompoundButtonShape | undefined} shape - The shape of the button.\n * @prop {CompoundButtonSize | undefined} size - The size of the button.\n * @prop {boolean | undefined} iconOnly - Indicates that the button should only display as an icon with no text content.\n * @prop {boolean | undefined} autofocus - Indicates the button should be focused when the page is loaded.\n * @prop {boolean | undefined} disabledFocusable - Indicates that the button is focusable while disabled.\n * @prop {number | undefined} tabIndex - Sets that the button tabindex attribute.\n * @prop {string | undefined} formAction - The URL that processes the form submission.\n * @prop {string | undefined} form - The id of a form to associate the element to.\n * @prop {string | undefined} formEnctype - The encoding type for the form submission.\n * @prop {string | undefined} formMethod - The HTTP method that the browser uses to submit the form.\n * @prop {boolean | undefined} formNoValidate - Indicates that the form will not be validated when submitted.\n * @prop {CompoundButtonFormTarget | undefined} formTarget - The target frame or window to open the form submission in.\n * @prop {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @prop {string | undefined} type - The button type.\n * @prop {string | undefined} value - The value attribute.\n *\n * @slot start - Content which can be provided before the button content.\n * @slot end - Content which can be provided after the button content.\n * @slot - The default slot for button content.\n * @slot description - A slot for providing additional description.\n *\n * @csspart content - The button content container.\n *\n * @method press - Presses the button.\n * @method resetForm - Resets the associated form.\n *\n * @extends FluentCompoundButton\n * @tagname fabric-compound-button\n * @public\n */\nexport class CompoundButton extends BaseButton {\n constructor() {\n super(...arguments);\n /**\n * The appearance of the compound button.\n *\n * @public\n * @remarks\n * HTML Attribute: `appearance`\n */\n this.appearance = CompoundButtonAppearances.primary;\n /**\n * Indicates that the compound button should only display as an icon with no text content.\n *\n * @public\n * @remarks\n * HTML Attribute: `icon-only`\n */\n this.iconOnly = false;\n }\n}\n__decorate([\n attr\n], CompoundButton.prototype, \"appearance\", void 0);\n__decorate([\n attr\n], CompoundButton.prototype, \"shape\", void 0);\n__decorate([\n attr\n], CompoundButton.prototype, \"size\", void 0);\n__decorate([\n attr({ attribute: \"icon-only\", mode: \"boolean\" })\n], CompoundButton.prototype, \"iconOnly\", void 0);\n//# sourceMappingURL=compound-button.js.map","import { CompoundButtonStyles as FluentCompoundButtonStyles, colorBrandBackground, colorNeutralForegroundOnBrand, colorNeutralStrokeOnBrand, colorBrandBackgroundHover, colorBrandBackgroundPressed, colorStrokeFocus2, shadow2 } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${FluentCompoundButtonStyles}\n :host([appearance='primary-on-brand']) {\n background-color: ${colorBrandBackground};\n color: ${colorNeutralForegroundOnBrand};\n border-color: ${colorNeutralStrokeOnBrand};\n }\n\n :host([appearance=\"primary-on-brand\"]) ::slotted([slot=\"description\"]) {\n color: ${colorNeutralForegroundOnBrand};\n }\n\n :host(\n [appearance=\"primary-on-brand\"]:is(:hover, :hover:active):not(\n :focus-visible\n )\n ) {\n border-color: ${colorNeutralStrokeOnBrand};\n }\n\n :host([appearance=\"primary-on-brand\"]:is(:hover, :hover:active)) {\n color: ${colorNeutralForegroundOnBrand};\n background-color: ${colorBrandBackgroundHover};\n }\n\n :host([appearance=\"primary-on-brand\"]:hover:active) {\n background-color: ${colorBrandBackgroundPressed};\n }\n\n :host([appearance=\"primary-on-brand\"]:focus-visible) {\n border-color: ${colorNeutralForegroundOnBrand};\n box-shadow:\n ${shadow2},\n 0 0 0 2px ${colorStrokeFocus2};\n }\n`;\n//# sourceMappingURL=compound-button.styles.js.map","import { CompoundButtonTemplate } from \"@fluentui/web-components\";\nimport { styles as CompoundButtonStyles } from \"./compound-button.styles.js\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { CompoundButton } from \"./compound-button.js\";\n/**\n * The Fabric Compound Button component.\n *\n * @public\n */\nexport const definition = CompoundButton.compose({\n name: `${DesignSystem.prefix}-compound-button`,\n template: CompoundButtonTemplate,\n styles: CompoundButtonStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=compound-button.definition.js.map","import { Spinner as FluentSpinner } from \"@fluentui/web-components\";\n/**\n * Spinner\n * @summary A Fabric UI Spinner component that provides a visual indication of loading state with customizable size and appearance.\n *\n * @example\n * ```html\n * <fabric-spinner size=\"large\" appearance=\"primary\"></fabric-spinner>\n * ```\n *\n * @attr {SpinnerSize} size - The size of the spinner. One of 'tiny', 'extra-small', 'small', 'medium', 'large', 'extra-large', 'huge'.\n * @attr {SpinnerAppearance} appearance - The appearance of the spinner. One of 'primary', 'inverted'.\n *\n * @prop {SpinnerSize} size - The size of the spinner. One of 'tiny', 'extra-small', 'small', 'medium', 'large', 'extra-large', 'huge'.\n * @prop {SpinnerAppearance} appearance - The appearance of the spinner. One of 'primary', 'inverted'.\n *\n * @slot indicator - Custom content that replaces the default spinner indicator.\n *\n * @csspart background - The background layer of the spinner.\n * @csspart progress - The container for the spinner progress animation.\n * @csspart spinner - The spinner animation container.\n * @csspart start - The start section of the spinner animation.\n * @csspart end - The end section of the spinner animation.\n * @csspart indicator - The visual element that indicates the loading process.\n *\n * @cssprop --duration - Controls the animation duration for the spinner.\n * @cssprop --indicatorSize - Sets the rendered size of the spinner indicator.\n * @cssprop --size - Sets the overall size used by the spinner component.\n *\n * @extends FluentSpinner\n * @tagname fabric-spinner\n * @public\n */\nexport class Spinner extends FluentSpinner {\n}\n//# sourceMappingURL=spinner.js.map","import { SpinnerAppearance as FluentSpinnerAppearance, SpinnerSize as FluentSpinnerSize } from \"@fluentui/web-components\";\n/** Appearance values for {@link Spinner}. */\nexport const SpinnerAppearances = { ...FluentSpinnerAppearance };\n/** Size values for {@link Spinner}. */\nexport const SpinnerSizes = { ...FluentSpinnerSize };\n//# sourceMappingURL=spinner.options.js.map","import { Spinner } from \"./spinner.js\";\nimport { SpinnerStyles, SpinnerTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Spinner component.\n *\n * @public\n */\nexport const definition = Spinner.compose({\n name: `${DesignSystem.prefix}-spinner`,\n template: SpinnerTemplate,\n styles: SpinnerStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=spinner.definition.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { attr } from \"@microsoft/fast-element\";\nimport { Button as FabricButton } from \"@fluentui/web-components\";\nimport { SpinnerDefinition } from \"../spinner/index.js\";\n/**\n * LoadingButton\n * @summary A custom button component with a loading state that extends Fluent UI's Button class. It provides visual feedback with a spinner when the button is in a loading state and disables interaction.\n *\n * @example\n * ```html\n * <fabric-loading-button\n * appearance='primary'\n * size='large'\n * shape='rounded'\n * loading\n * disabled\n * aria-busy='true'>\n * Submit\n * </fabric-loading-button>\n * ```\n *\n * @attr {boolean} loading - Indicates whether the button is in a loading state.\n * @attr {ButtonAppearance} appearance - The appearance of the button.\n * @attr {ButtonShape} shape - The shape of the button.\n * @attr {ButtonSize} size - The size of the button.\n * @attr {string} aria-busy - Indicates whether the button is busy.\n *\n * @prop {boolean} loading - Indicates whether the button is in a loading state. Default: false.\n * @prop {boolean} disabled - Indicates whether the button is disabled. Default: false.\n *\n * @slot - The default slot for the button content.\n * @slot start - Slot for the spinner when the button is loading.\n *\n * @csspart control - The control part of the button, styled differently when loading and disabled.\n *\n * @extends FluentButton\n * @tagname fabric-loading-button\n * @public\n */\nexport class LoadingButton extends FabricButton {\n constructor() {\n super(...arguments);\n /**\n * Indicates whether the button is in a loading state.\n * @public\n * @type {boolean}\n * @default false\n */\n this.loading = false;\n }\n connectedCallback() {\n super.connectedCallback();\n SpinnerDefinition.define(customElements);\n }\n}\n__decorate([\n attr({ mode: \"boolean\" })\n], LoadingButton.prototype, \"loading\", void 0);\n//# sourceMappingURL=loading-button.js.map","import { spacingHorizontalXS, spacingHorizontalS, spacingHorizontalM, borderRadiusMedium, ButtonStyles } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${ButtonStyles}\n\n /* Override Fluent UI small size border-radius to use borderRadiusMedium */\n :host([size=\"small\"]:not([shape=\"circular\"]):not([shape=\"square\"])) {\n border-radius: ${borderRadiusMedium};\n }\n\n :host([size=\"small\"]) fluent-button {\n gap: ${spacingHorizontalXS};\n }\n\n fabric-spinner {\n display: none;\n }\n\n .content {\n gap: ${spacingHorizontalS};\n }\n\n :host([size=\"large\"]) .content {\n gap: ${spacingHorizontalM};\n }\n\n :host([loading]) {\n cursor: not-allowed;\n }\n :host([loading]) fabric-spinner {\n display: block;\n }\n`;\n//# sourceMappingURL=loading-button.styles.js.map","import { html, slotted } from \"@microsoft/fast-element\";\nimport { LoadingButton } from \"./loading-button.js\";\n/**\n * Generates the template for the {@link @fabric-msft/fabric-web#LoadingButton} component.\n *\n * @public\n * @remarks\n * This template provides the HTML structure and bindings for the `LoadingButton` component.\n * It includes conditional rendering of a spinner based on the `loading` property.\n *\n * @returns {ElementViewTemplate<LoadingButton>} The template for the `LoadingButton` component.\n *\n * @slot - Default slot for the button content.\n * @slot start - Slot for the spinner when the button is loading.\n *\n * @csspart control - The control part of the button.\n */\nfunction loadingButtonTemplate() {\n return html `\n <template\n tabindex=\"${(x) => { var _a; return (x.disabled ? null : ((_a = x.tabIndex) !== null && _a !== void 0 ? _a : 0)); }}\"\n @click=\"${(x, c) => x.clickHandler(c.event)}\"\n @keypress=\"${(x, c) => x.keypressHandler(c.event)}\"\n ?loading=\"${(x) => x.loading}\"\n >\n <slot name=\"start\"></slot>\n <span class=\"content\" part=\"content\">\n <fabric-spinner\n appearance=\"${(x) => x.appearance == \"primary\" ? \"inverted\" : \"primary\"}\"\n size=\"tiny\"\n slot=\"start\"\n ?hidden=${(x) => !x.loading}\n ></fabric-spinner>\n <slot ${slotted(\"defaultSlottedContent\")}></slot>\n </span>\n <slot name=\"end\"></slot>\n </template>\n `;\n}\n/**\n * The template for the {@link @fabric-msft/fabric-web#LoadingButton} component.\n * @public\n */\nexport const template = loadingButtonTemplate();\n//# sourceMappingURL=loading-button.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { definition as SpinnerDefinition } from \"../spinner/spinner.definition.js\";\nimport { composeDefinitions, fromFAST } from \"../../util/element-definition.js\";\nimport { LoadingButton } from \"./loading-button.js\";\nimport { styles } from \"./loading-button.styles.js\";\nimport { template } from \"./loading-button.template.js\";\n/** @internal */\nconst LoadingButtonDefinition = LoadingButton.compose({\n name: `${DesignSystem.prefix}-loading-button`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n/**\n * Composed element definition for `<fabric-loading-button>`, registering the\n * `fabric-spinner` dependency before the element itself.\n *\n * @public\n * @remarks\n * HTML Element: `<fabric-loading-button>`\n */\nexport const definition = composeDefinitions(fromFAST(LoadingButtonDefinition), fromFAST(SpinnerDefinition));\n//# sourceMappingURL=loading-button.definition.js.map","/**\n * MultiView event names\n * @public\n */\nexport const MultiViewEventNames = {\n hiddenChange: \"hidden-change\"\n};\n//# sourceMappingURL=multi-view.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, attr } from \"@microsoft/fast-element\";\nimport { MultiViewEventNames } from \"./multi-view.options.js\";\n/**\n * MultiView\n * @summary A customizable step component for a wizard-style interface.\n *\n * @example\n * ```html\n * <fabric-multi-view>\n * <div slot=\"start\">Start Content</div>\n * <div>Default Content</div>\n * <div slot=\"end\">End Content</div>\n * </fabric-multi-view>\n * ```\n *\n * @attr {boolean} hidden - Controls the visibility of the component. True if the component is hidden.\n *\n * @prop {boolean} hidden - Determines the hidden state of the multi-view.\n *\n * @slot - Default slot for adding content that can be shown or hidden.\n *\n * @csspart multi-view - Style part for the main container of the multi-view.\n *\n * @method hiddenChanged(oldValue: string, newValue: string) - Called when the `hidden` attribute changes. It emits the `hidden-change` event.\n *\n * @fires hidden-change - Fires when the hidden state of the component changes.\n *\n * @extends FASTElement\n * @tagname fabric-multi-view\n * @public\n */\nexport class MultiView extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Determines the hidden state of the multi-view\n * @public\n * @type {boolean}\n * @attr\n */\n this.hidden = true;\n }\n hiddenChanged(oldValue, newValue) {\n if (oldValue !== newValue) {\n this.$emit(MultiViewEventNames.hiddenChange, this.hidden);\n }\n }\n}\n__decorate([\n attr({ mode: \"boolean\" })\n], MultiView.prototype, \"hidden\", void 0);\n//# sourceMappingURL=multi-view.js.map","import { colorStrokeFocus2, display, forcedColorsStylesheetBehavior, strokeWidthThick } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\n/** MultiView styles\n * @public\n */\nexport const styles = css `\n ${display(\"block\")}\n\n :host {\n display: block;\n position: relative;\n overflow-y: auto;\n }\n :host([hidden]) {\n display: none;\n }\n :host([data-flexposition=\"2\"]) {\n order: 2;\n }\n :host(:focus-visible)::after {\n content: \"\";\n position: absolute;\n inset: 1px;\n pointer-events: none;\n outline: ${strokeWidthThick} solid ${colorStrokeFocus2};\n outline-offset: calc(${strokeWidthThick} * -1);\n }\n`.withBehaviors(forcedColorsStylesheetBehavior(css `\n :host(:focus-visible)::after {\n outline-color: Highlight;\n }\n `));\n//# sourceMappingURL=multi-view.styles.js.map","import { html } from \"@microsoft/fast-element\";\nimport { MultiView } from \"./multi-view.js\";\n/**\n * Generates the template for the {@link @fabric-msft/fabric-web#MultiView} component.\n *\n * @public\n * @remarks\n * This template provides the HTML structure and bindings for the `MultiView` component.\n * It includes a slot for `multi-view` and dynamically manages the visibility and focus\n * based on the `hidden` property of the `MultiView`.\n *\n * @returns {ElementViewTemplate<MultiView>} The template for the `MultiView` component.\n *\n * @csspart multi-view - The main container for the view content.\n */\nfunction multiViewTemplate() {\n return html `\n <template\n slot=\"multi-view\"\n role=\"tabpanel\"\n ?hidden=\"${(x) => x.hidden}\"\n aria-hidden=\"${(x) => x.hidden}\"\n tabindex=\"${(x) => (!x.hidden ? \"0\" : \"-1\")}\"\n >\n <div class=\"multi-view\" part=\"multi-view\">\n <slot></slot>\n </div>\n </template>\n `;\n}\n/**\n * The template for the {@link @fabric-msft/fabric-web#MultiView} component.\n * @public\n */\nexport const template = multiViewTemplate();\n//# sourceMappingURL=multi-view.template.js.map","import { MultiView } from \"./multi-view.js\";\nimport { styles } from \"./multi-view.styles.js\";\nimport { template } from \"./multi-view.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-multi-view>\n */\nexport const definition = MultiView.compose({\n name: `${DesignSystem.prefix}-multi-view`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=multi-view.definition.js.map","import { FASTElement } from \"@microsoft/fast-element\";\n/**\n * MultiViewController\n * @summary A customizable controller component for a multi-view interface.\n *\n * @example\n * ```html\n * <fabric-multi-view-controller hidden>\n * <fabric-multi-view-group>\n * <fabric-multi-view>\n * <!-- Content for the first view -->\n * </fabric-multi-view>\n * <fabric-multi-view>\n * <!-- Content for the second view -->\n * </fabric-multi-view>\n * </fabric-multi-view-group>\n * </fabric-multi-view-controller>\n * ```\n *\n * @attr {boolean} hidden - Controls the visibility of the component. True if the component is hidden.\n *\n * @prop {boolean} hidden - Controls the visibility of the component. True if the component is hidden.\n *\n * @slot - Default slot for adding a controller.\n *\n * @csspart multi-view - Style part for the main container of the multi-view.\n *\n * @extends FASTElement\n * @tagname fabric-multi-view-controller\n * @public\n */\nexport class MultiViewController extends FASTElement {\n}\n//# sourceMappingURL=multi-view-controller.js.map","import { borderRadiusSmall, colorBrandBackground, colorNeutralBackground1, colorNeutralForeground1, colorNeutralStroke1, colorStrokeFocus2, curveEasyEase, display, durationFaster, fontFamilyBase, fontSizeBase300, fontWeightSemibold, forcedColorsStylesheetBehavior, lineHeightBase300, spacingHorizontalXXXL, spacingVerticalXXXL, strokeWidthThin } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\n// Need to support icon hover styles\nexport const styles = css `\n ${display(\"flex\")}\n :host {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n align-items: center;\n box-sizing: border-box;\n justify-content: center;\n text-decoration-line: none;\n margin: 0px;\n min-height: ${spacingVerticalXXXL};\n min-width: ${spacingHorizontalXXXL};\n outline-style: none;\n background-color: ${colorNeutralBackground1};\n color: ${colorNeutralForeground1};\n border: ${strokeWidthThin} solid ${colorNeutralStroke1};\n font-size: ${fontSizeBase300};\n font-family: ${fontFamilyBase};\n font-weight: ${fontWeightSemibold};\n line-height: ${lineHeightBase300};\n transition-duration: ${durationFaster};\n transition-property: background, border, color;\n transition-timing-function: ${curveEasyEase};\n cursor: pointer;\n }\n\n :host([aria-hidden=\"true\"]) {\n display: none;\n }\n :host([aria-expanded=\"true\"])::before {\n content: \"\";\n z-index: 3;\n position: absolute;\n inset-inline-start: 0;\n height: ${spacingVerticalXXXL};\n width: 3px;\n background: ${colorBrandBackground};\n }\n\n :host(:focus)::after {\n content: \"\";\n position: absolute;\n inset: 0px;\n pointer-events: none;\n border-radius: ${borderRadiusSmall};\n outline: ${strokeWidthThin} solid ${colorStrokeFocus2};\n outline-offset: calc(${strokeWidthThin} * -1);\n }\n`.withBehaviors(forcedColorsStylesheetBehavior(css `\n :host(:focus) {\n border-color: CanvasText;\n }\n\n :host(:focus)::after {\n outline-color: Highlight;\n }\n `));\n//# sourceMappingURL=multi-view-controller.styles.js.map","import { html } from \"@microsoft/fast-element\";\n/**\n * Generates the template for the {@link @fabric-msft/fabric-web#MultiViewController} component.\n *\n * @public\n * @remarks\n * This template provides the HTML structure and bindings for the `MultiViewController` component.\n * It includes a slot for the controller content and assigns the role of \"tab\" for accessibility.\n *\n * @returns {ElementViewTemplate<MultiViewController>} The template for the `MultiViewController` component.\n *\n * @slot controller - Slot for the controller content.\n */\nfunction multiViewControllerTemplate() {\n return html `\n <template slot=\"controller\" role=\"tab\">\n <slot></slot>\n </template>\n `;\n}\n/**\n * The template for the {@link @fabric-msft/fabric-web#MultiViewController} component.\n * @public\n */\nexport const template = multiViewControllerTemplate();\n//# sourceMappingURL=multi-view-controller.template.js.map","import { MultiViewController } from \"./multi-view-controller.js\";\nimport { styles } from \"./multi-view-controller.styles.js\";\nimport { template } from \"./multi-view-controller.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fluent-multi-view-controller>\n */\nexport const definition = MultiViewController.compose({\n name: `${DesignSystem.prefix}-multi-view-controller`,\n template,\n styles\n});\n//# sourceMappingURL=multi-view-controller.definition.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, observable, Updates } from \"@microsoft/fast-element\";\nimport { keyArrowDown, keyArrowUp, keyEnd, keyEnter, keyEscape, keyHome, keySpace, keyTab, limit, uniqueId } from \"@microsoft/fast-web-utilities\";\nimport { MultiView } from \"../multi-view/index.js\";\nimport { MultiViewController } from \"../multi-view-controller/index.js\";\nimport { isActionModifierKey } from \"../../util/platform.js\";\n/**\n * MultiViewGroup\n * @summary The MultiViewGroup component is designed to manage multiple views or panels, controlling their visibility and interaction state.\n *\n * @example\n * ```html\n * <fabric-multi-view-group>\n * <div slot=\"controller\">Controller 1</div>\n * <fabric-multi-view slot=\"multi-view\">View 1</fabric-multi-view>\n * <div slot=\"controller\">Controller 2</div>\n * <fabric-multi-view slot=\"multi-view\">View 2</fabric-multi-view>\n * </fabric-multi-view-group>\n * ```\n *\n * @attr {HTMLElement[]} multiViews - An observable array of HTML elements that represent multiViews.\n * @attr {HTMLElement[]} controllers - An observable array of HTML elements that represent controllers.\n * @attr {HTMLElement[]} openedMultiViews - An observable array of HTML elements that represent opened multiViews.\n * @attr {string} activeid - A string representing the active ID.\n *\n * @prop {HTMLElement | undefined} activeController - A HTML element representing the active controller.\n * @prop {number} prevActiveControllerIndex - A number representing the index of the previously active controller.\n * @prop {number} activeControllerIndex - A number representing the index of the active controller.\n * @prop {string[]} controllerIds - An array of strings that represent the IDs of the controllers.\n * @prop {string[]} multiViewsIds - An array of strings that represent the IDs of the multiViews.\n *\n * @slot multi-view - Slot for the individual view panels managed by this component.\n * @slot controller - Slot for the control elements that toggle the visibility of the view panels.\n *\n * @csspart views - The container for view panels.\n * @csspart controllers - The container for the control elements.\n *\n * @method initialize - Initializes the component by setting up controllers and multiViews.\n * @method openMultiView - Opens the specified multiView.\n * @method manageOpenedMultiViews - Manages opened MultiViews by limiting the number of opened views and setting focus on the newly opened MultiView.\n * @method limitNumberOfOpenMultiViews - Limits the number of opened MultiViews.\n * @method manageOpeningSecondMultiView - Manages the opening of a second MultiView.\n * @method openSecondMultiView - Opens the second multiView.\n * @method closeMultiView - Closes the specified multiView.\n * @method manageClosedMultiViews - Manages the state of closed MultiViews.\n * @method closeAllMultiViews - Closes all opened multiViews.\n * @method toggleMultiView - Toggles the specified multiView.\n * @method activeidChanged - Called when the active ID changes.\n * @method controllersChanged - Called when controllers changes.\n * @method multiViewsChanged - Called when multiViews changes.\n * @method openedMultiViewsChanged - Called when openedMultiViews changes.\n *\n * @fires change - Fires when the state of the opened views changes.\n *\n * @extends FASTElement\n * @tagname fabric-multi-view-group\n * @public\n */\nexport class MultiViewGroup extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * An observable array of HTML elements that represent multiViews.\n */\n this.multiViews = [];\n /**\n * An observable array of HTML elements that represent controllers.\n */\n this.controllers = [];\n /**\n * An observable array of HTML elements that represent opened multiViews.\n */\n this.openedMultiViews = [];\n /**\n * The previously opened MultiView\n */\n this.previouslyOpenedMultiView = null;\n /**\n * A string representing the active ID.\n */\n this.activeid = \"\";\n /**\n * A number representing the index of the previously active controller.\n */\n this.prevActiveControllerIndex = 0;\n /**\n * A number representing the index of the active controller.\n */\n this.activeControllerIndex = 0;\n /**\n * An array of strings that represent the IDs of the controllers.\n */\n this.controllerIds = [];\n /**\n * An array of strings that represent the IDs of the multiViews.\n */\n this.multiViewsIds = [];\n /**\n * Method to open a multiView.\n * @param {MultiView} multiView - The multiView to open.\n */\n this.openMultiView = (multiView) => {\n if (multiView.hidden) {\n this.closeAllMultiViews();\n multiView.hidden = false;\n this.manageOpenedMultiViews(multiView);\n }\n };\n /**\n * Manages opened MultiViews by limiting the number of opened views\n * and setting focus on the newly opened MultiView.\n *\n * @param {MultiView} multiView - The MultiView to manage.\n * @param {CustomEvent} [event] - The event that triggered the managing of the MultiView.\n * @public\n */\n this.manageOpenedMultiViews = (multiView) => {\n this.addMultiViewToOpenedMultiViews(multiView);\n if (this.openedMultiViews.length >= 2) {\n this.limitNumberOfOpenMultiViews();\n }\n Updates.enqueue(() => multiView.focus());\n this.setComponent();\n };\n /**\n * Manages the opening of a second MultiView. It will set the \"data-flexposition\" attribute of the second MultiView,\n * limit the number of opened MultiViews if necessary, and add the second MultiView to the list of opened MultiViews.\n *\n * @param {MultiView} multiView - The MultiView to open.\n * @public\n */\n this.manageOpeningSecondMultiView = (multiView) => {\n multiView.setAttribute(\"data-flexposition\", \"2\");\n if (this.openedMultiViews.length >= 2) {\n this.limitNumberOfOpenMultiViews();\n }\n const multiViewToOpen = this.multiViews[this.activeControllerIndex];\n if (multiViewToOpen.hidden) {\n this.addMultiViewToOpenedMultiViews(multiViewToOpen);\n if (this.previouslyOpenedMultiView) {\n this.previouslyOpenedMultiView.removeAttribute(\"data-flexposition\");\n }\n multiViewToOpen.setAttribute(\"data-flexposition\", \"2\");\n }\n };\n /**\n * Method to open the second multiView.\n */\n this.openSecondMultiView = (multiView) => {\n if (multiView.hidden) {\n this.manageOpeningSecondMultiView(multiView);\n multiView.hidden = false;\n Updates.enqueue(() => multiView.focus());\n this.previouslyOpenedMultiView = multiView;\n }\n };\n /**\n * Method to close a multiView.\n * @param {MultiView} multiView - The multiView to close.\n */\n this.closeMultiView = (multiView) => {\n if (!multiView.hidden) {\n this.manageClosedMultiViews(multiView);\n multiView.hidden = true;\n this.change();\n }\n };\n this.manageClosedMultiViews = (multiView) => {\n if (multiView.hasAttribute(\"data-flexposition\")) {\n multiView.removeAttribute(\"data-flexposition\");\n }\n this.openedMultiViews = this.openedMultiViews.filter((openedMultiView) => openedMultiView !== multiView);\n const closedMultiViewIndex = this.multiViews.indexOf(multiView);\n const controller = this.controllers[closedMultiViewIndex];\n if (controller instanceof HTMLElement) {\n if (this.activeController && this.activeController !== controller) {\n this.activeController.tabIndex = -1;\n }\n this.prevActiveControllerIndex = this.activeControllerIndex;\n this.activeControllerIndex = closedMultiViewIndex;\n controller.tabIndex = 0;\n controller.focus();\n this.activeController = controller;\n }\n this.removeMultiViewFromOpenedMultiViews(multiView);\n };\n /**\n * Method to close all opened multiViews.\n */\n this.closeAllMultiViews = () => {\n this.openedMultiViews.forEach((multiView) => {\n const multiViewToClose = multiView;\n this.closeMultiView(multiViewToClose);\n });\n };\n /**\n * Method to toggle a multiView.\n * @param {MultiView} multiView - The multiView to toggle.\n */\n this.toggleMultiView = (multiView) => {\n if (multiView.hidden) {\n this.openMultiView(multiView);\n }\n else {\n this.closeMultiView(multiView);\n }\n this.change();\n };\n /**\n * Removes a given multiView from the collection of opened multiViews.\n * @private\n * @param {MultiView} multiViewToRemove - The multiView to remove.\n */\n this.removeMultiViewFromOpenedMultiViews = (multiViewToRemove) => {\n const index = this.openedMultiViews.indexOf(multiViewToRemove);\n if (index > -1) {\n this.openedMultiViews.splice(index, 1);\n }\n };\n /**\n * Adds a given multiView to the collection of opened multiViews, unless it's already present.\n * @private\n * @param {MultiView} multiViewToAdd - The multiView to add.\n */\n this.addMultiViewToOpenedMultiViews = (multiViewToAdd) => {\n if (!this.openedMultiViews.includes(multiViewToAdd)) {\n this.openedMultiViews = [...this.openedMultiViews, multiViewToAdd];\n }\n };\n /**\n * Triggers a change event with the currently opened multiViews.\n * @private\n */\n this.change = () => {\n this.$emit(\"change\", this.openedMultiViews);\n };\n this.isDisabledElement = (el) => {\n return el.getAttribute(\"aria-disabled\") === \"true\";\n };\n this.isHiddenElement = (el) => {\n return el.getAttribute(\"aria-hidden\") === \"true\";\n };\n this.isFocusableElement = (el) => {\n return (!this.isDisabledElement(el) &&\n !this.isHiddenElement(el) &&\n el.offsetParent !== null);\n };\n /**\n * Sets attributes for multiViews and determines which multiViews are hidden.\n * @private\n */\n this.setMultiViews = () => {\n this.multiViews.forEach((multiView, index) => {\n if (multiView instanceof MultiView) {\n const controllerId = this.controllerIds[index];\n const multiViewId = this.multiViewsIds[index];\n this.setAttributes(multiView, {\n id: multiViewId,\n \"aria-labelledby\": controllerId\n });\n if (!multiView.hidden) {\n this.addMultiViewToOpenedMultiViews(multiView);\n }\n else {\n this.removeMultiViewFromOpenedMultiViews(multiView);\n }\n }\n });\n };\n /**\n * Sets focus on the first controller in the multi-view group.\n */\n this.focusFirstController = () => {\n this.activeControllerIndex = 0;\n this.activeController = this.controllers[this.activeControllerIndex];\n this.activeController.tabIndex = 0;\n this.activeController.focus();\n };\n /**\n * remove focusability from all controllers\n */\n this.makeControllerUnfocusable = () => {\n this.activeController = undefined;\n this.controllers.forEach((controller) => {\n controller.tabIndex = -1;\n });\n };\n /**\n * Handles click events on the controllers.\n * @private\n * @param {MouseEvent} event - The click event.\n */\n this.handleControllerClick = (event) => {\n const selectedToggleButton = event.currentTarget;\n if (selectedToggleButton.nodeType !== 1 ||\n !this.isFocusableElement(selectedToggleButton)) {\n return;\n }\n this.prevActiveControllerIndex = this.activeControllerIndex;\n this.activeControllerIndex = this.controllers.indexOf(selectedToggleButton);\n const associatedMultiView = this.multiViews[this.activeControllerIndex];\n if (isActionModifierKey(event)) {\n this.openSecondMultiView(associatedMultiView);\n }\n else {\n this.toggleMultiView(associatedMultiView);\n }\n };\n /**\n * Handles keydown events on the controller.\n * @param {KeyboardEvent} event The event object.\n * @private\n */\n this.handleControllerKeyDown = (event) => {\n const associatedMultiView = this.multiViews[this.activeControllerIndex];\n const controller = event.currentTarget;\n switch (event.key) {\n case keyArrowUp:\n event.preventDefault();\n this.adjustBackward();\n break;\n case keyTab:\n event.preventDefault();\n this.makeControllerUnfocusable();\n this.controllersContainer.focus();\n break;\n case keyArrowDown:\n event.preventDefault();\n this.adjustForward();\n break;\n case keyHome:\n event.preventDefault();\n this.adjust(-this.activeControllerIndex);\n break;\n case keyEnd:\n event.preventDefault();\n this.adjust(this.controllers.length - this.activeControllerIndex - 1);\n break;\n case keyEnter:\n case keySpace:\n if (isActionModifierKey(event)) {\n event.preventDefault();\n this.openSecondMultiView(associatedMultiView);\n }\n else {\n event.preventDefault();\n this.toggleMultiView(associatedMultiView);\n }\n break;\n case keyEscape:\n event.preventDefault();\n controller.blur();\n break;\n }\n };\n /**\n * Handles keydown events on the controller.\n * @param {KeyboardEvent} event The event object.\n * @private\n */\n this.handleMultiViewKeyDown = (event) => {\n const associatedMultiView = event.currentTarget;\n switch (event.key) {\n case keyEscape:\n event.preventDefault();\n this.closeMultiView(associatedMultiView);\n break;\n }\n };\n /**\n * Handles keydown events on the controller.\n * @param {KeyboardEvent} event The event object.\n * @private\n */\n this.handleToggleButtonContainerKeyDown = (event) => {\n switch (event.key) {\n case keyEnter:\n event.preventDefault();\n if (event.target === this.controllersContainer) {\n this.focusFirstController();\n }\n break;\n }\n };\n /**\n * Adjusts the active controller forward.\n * @private\n */\n this.adjustForward = () => {\n const group = this.controllers;\n let index = 0;\n index = this.activeController\n ? group.indexOf(this.activeController) + 1\n : 1;\n if (index === group.length) {\n index = 0;\n }\n while (index < group.length && group.length > 1) {\n if (this.isFocusableElement(group[index])) {\n this.moveToToggleButtonByIndex(group, index);\n break;\n }\n else if (this.activeController &&\n index === group.indexOf(this.activeController)) {\n break;\n }\n else if (index + 1 >= group.length) {\n index = 0;\n }\n else {\n index += 1;\n }\n }\n };\n /**\n * Adjusts the active controller backward.\n * @private\n */\n this.adjustBackward = () => {\n const group = this.controllers;\n let index = 0;\n index = this.activeController\n ? group.indexOf(this.activeController) - 1\n : 0;\n index = index < 0 ? group.length - 1 : index;\n while (index >= 0 && group.length > 1) {\n if (this.isFocusableElement(group[index])) {\n this.moveToToggleButtonByIndex(group, index);\n break;\n }\n else if (index - 1 < 0) {\n index = group.length - 1;\n }\n else {\n index -= 1;\n }\n }\n };\n /**\n * Moves the focus to the controller at the specified index.\n * @param {HTMLElement[]} group The array of controllers.\n * @param {number} index The index of the controller to focus.\n * @private\n */\n this.moveToToggleButtonByIndex = (group, index) => {\n const controller = group[index];\n this.activeController = controller;\n this.activeController.tabIndex = 0;\n this.prevActiveControllerIndex = this.activeControllerIndex;\n this.controllers[this.prevActiveControllerIndex].tabIndex = -1;\n this.activeControllerIndex = index;\n controller.focus();\n this.setComponent();\n };\n }\n /**\n * Method to be called when the component is inserted into the document.\n */\n connectedCallback() {\n super.connectedCallback();\n this.initialize();\n }\n /**\n * Method to be called when the component is removed from the document.\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListeners();\n }\n initialize() {\n this.controllerIds = this.getControllerIds();\n this.multiViewsIds = this.getMultiViewIds();\n this.activeControllerIndex = this.getActiveIndex();\n Updates.enqueue(() => this.setControllers());\n Updates.enqueue(() => this.setMultiViews());\n Updates.enqueue(() => this.addEventListeners());\n }\n /**\n * Limits the number of opened MultiViews. If there are more than one MultiViews opened,\n * it will remove the attribute \"data-flexposition\" from the first opened MultiView and hide it.\n * @public\n */\n limitNumberOfOpenMultiViews() {\n const multiView = this.openedMultiViews.shift();\n if (multiView) {\n multiView.removeAttribute(\"data-flexposition\");\n multiView.hidden = true;\n }\n }\n /**\n * Method to be called when the active ID changes.\n * @param {string} oldValue - The previous value of the active ID.\n * @param {string} newValue - The new value of the active ID.\n */\n activeidChanged(oldValue, newValue) {\n if (this.$fastController.isConnected &&\n this.controllers.length <= this.multiViews.length) {\n this.prevActiveControllerIndex = this.controllers.findIndex((item) => item.id === oldValue);\n this.activeControllerIndex = this.controllers.findIndex((item) => item.id === newValue);\n this.controllers[this.activeControllerIndex].tabIndex = 0;\n this.controllers[this.prevActiveControllerIndex].tabIndex = -1;\n this.setControllers();\n this.setMultiViews();\n }\n }\n /**\n * Method to be called when controllers changes.\n */\n controllersChanged() {\n if (this.isValidMultiViewState()) {\n this.controllerIds = this.getControllerIds();\n this.multiViewsIds = this.getMultiViewIds();\n this.setControllers();\n this.setMultiViews();\n }\n }\n /**\n * Method to be called when multiViews changes.\n */\n multiViewsChanged() {\n if (this.isValidMultiViewState()) {\n this.controllerIds = this.getControllerIds();\n this.multiViewsIds = this.getMultiViewIds();\n this.setControllers();\n this.setMultiViews();\n }\n }\n /**\n * Method to be called when opendedMultiViews changes.\n */\n openedMultiViewsChanged() {\n this.controllers.forEach((controller, index) => {\n const multiView = this.multiViews[index];\n if (this.openedMultiViews.includes(multiView)) {\n controller.setAttribute(\"aria-expanded\", \"true\");\n controller.setAttribute(\"aria-selected\", \"true\");\n }\n else {\n controller.setAttribute(\"aria-expanded\", \"false\");\n controller.setAttribute(\"aria-selected\", \"false\");\n }\n });\n }\n isValidMultiViewState() {\n return (this.$fastController.isConnected &&\n this.controllers.length <= this.multiViews.length);\n }\n /**\n * Returns the active index based on the activeid property, falls back to 0 if all elements are hidden.\n * @private\n * @returns {number} - The active index.\n */\n getActiveIndex() {\n const id = this.activeid;\n if (id !== undefined) {\n let index = this.controllerIds.indexOf(this.activeid);\n while (index !== -1) {\n const element = document.getElementById(this.controllerIds[index]);\n if (element && element.getAttribute(\"aria-hidden\") !== \"true\") {\n return index;\n }\n index = this.controllerIds.indexOf(this.activeid, index + 1);\n }\n }\n for (let i = 0; i < this.controllerIds.length; i++) {\n const element = document.getElementById(this.controllerIds[i]);\n if (element && element.getAttribute(\"aria-hidden\") !== \"true\") {\n return i;\n }\n }\n return 0;\n }\n /**\n * Sets attributes for controllers and determines the active controller.\n * @private\n */\n setControllers() {\n this.activeController = this.controllers[this.activeControllerIndex];\n this.controllers.forEach((controller, index) => {\n if (!(controller instanceof HTMLElement))\n return;\n const isActiveToggleButton = this.activeControllerIndex === index &&\n this.isFocusableElement(controller);\n const controllerId = this.controllerIds[index];\n const multiViewId = this.multiViewsIds[index];\n this.setAttributes(controller, {\n id: controllerId,\n \"aria-controls\": multiViewId\n });\n if (isActiveToggleButton) {\n this.activeController = controller;\n this.activeid = controllerId;\n }\n });\n }\n /**\n * Returns an array of IDs for the controllers.\n * @private\n * @returns {Array<string>} - The IDs of the controllers.\n */\n getControllerIds() {\n return this.controllers.map((controller) => {\n var _a;\n return (_a = controller.getAttribute(\"id\")) !== null && _a !== void 0 ? _a : `controller-${uniqueId()}`;\n });\n }\n /**\n * Returns an array of IDs for the multiViews.\n * @private\n * @returns {Array<string>} - The IDs of the multiViews.\n */\n getMultiViewIds() {\n return this.multiViews.map((multiView) => {\n var _a;\n return (_a = multiView.getAttribute(\"id\")) !== null && _a !== void 0 ? _a : `multiView-${uniqueId()}`;\n });\n }\n /**\n * Triggers a change if the active controller index has changed.\n * @private\n */\n setComponent() {\n if (this.activeControllerIndex !== this.prevActiveControllerIndex) {\n this.activeid = this.controllerIds[this.activeControllerIndex];\n this.change();\n }\n }\n /**\n * Handles blur events on the controller.\n * @param {FocusEvent} event The event object.\n * @public\n */\n handleControllerBlur(event) {\n const controller = event.currentTarget;\n controller.tabIndex = -1;\n }\n /**\n * The adjust method for FASTTabs\n * @private\n * @remarks\n * This method allows the active index to be adjusted by numerical increments\n */\n adjust(adjustment) {\n const focusableToggleButtons = this.controllers.filter((t) => !this.isDisabledElement(t));\n if (this.activeController) {\n const currentActiveToggleButtonIndex = focusableToggleButtons.indexOf(this.activeController);\n const nextToggleButtonIndex = limit(0, focusableToggleButtons.length - 1, currentActiveToggleButtonIndex + adjustment);\n const nextIndex = this.controllers.indexOf(focusableToggleButtons[nextToggleButtonIndex]);\n if (nextIndex > -1) {\n this.moveToToggleButtonByIndex(this.controllers, nextIndex);\n }\n }\n }\n /**\n * Sets the specified attributes on the given HTML element.\n * @param {HTMLElement} element The HTML element on which to set attributes.\n * @param {{[key: string]: string}} attributes An object mapping attribute names to values.\n * @private\n */\n setAttributes(element, attributes) {\n Object.entries(attributes).forEach(([key, value]) => {\n element.setAttribute(key, value);\n });\n }\n /**\n * Adds event listeners to the controllers and multiViews.\n *\n * @returns {void}\n */\n addEventListeners() {\n if (this.controllersContainer) {\n this.controllersContainer.addEventListener(\"keydown\", this.handleToggleButtonContainerKeyDown);\n }\n this.controllers.forEach((controller) => {\n controller.addEventListener(\"click\", this.handleControllerClick);\n controller.addEventListener(\"keydown\", this.handleControllerKeyDown);\n controller.addEventListener(\"blur\", this.handleControllerBlur);\n });\n this.multiViews.forEach((multiView) => {\n multiView.addEventListener(\"keydown\", (event) => this.handleMultiViewKeyDown(event));\n });\n }\n /**\n * Removes event listeners from the controllers.\n *\n * @returns {void}\n */\n removeEventListeners() {\n this.controllers.forEach((controller) => {\n controller.removeEventListener(\"click\", this.handleControllerClick);\n controller.removeEventListener(\"keydown\", this.handleControllerKeyDown);\n controller.removeEventListener(\"blur\", this.handleControllerBlur);\n });\n this.multiViews.forEach((multiView) => {\n multiView.removeEventListener(\"keydown\", (event) => this.handleMultiViewKeyDown(event));\n });\n }\n}\n__decorate([\n observable\n], MultiViewGroup.prototype, \"multiViews\", void 0);\n__decorate([\n observable\n], MultiViewGroup.prototype, \"controllers\", void 0);\n__decorate([\n observable\n], MultiViewGroup.prototype, \"controllersContainer\", void 0);\n__decorate([\n observable\n], MultiViewGroup.prototype, \"openedMultiViews\", void 0);\n//# sourceMappingURL=multi-view-group.js.map","import { colorStrokeFocus2, display, forcedColorsStylesheetBehavior, strokeWidthThick } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\n/** PaneSwitcher styles\n * @public\n */\nexport const styles = css `\n ${display(\"flex\")}\n :host {\n flex-direction: column;\n position: absolute;\n z-index: 10;\n inset-inline-end: 0;\n top: 0;\n height: 100%;\n }\n .root {\n display: flex;\n flex-direction: row;\n height: 100%;\n }\n .views {\n display: flex;\n }\n .controllers {\n display: flex;\n flex-direction: column;\n background: var(--colorNeutralBackground1);\n position: relative;\n }\n\n .controllers:focus-visible::after {\n content: \"\";\n position: absolute;\n inset: 1px;\n pointer-events: none;\n outline: ${strokeWidthThick} solid ${colorStrokeFocus2};\n outline-offset: calc(${strokeWidthThick} * -1);\n }\n`.withBehaviors(forcedColorsStylesheetBehavior(css `\n .controllers:focus-visible::after {\n outline-color: Highlight;\n }\n `));\n//# sourceMappingURL=multi-view-group.styles.js.map","import { html, ref, slotted } from \"@microsoft/fast-element\";\n/**\n * Generates the template for the {@link @fabric-msft/fabric-web#MultiViewGroup} component.\n *\n * @public\n * @remarks\n * This template provides the HTML structure and bindings for the `MultiViewGroup` component.\n * It includes slots for `multi-view` and `controller`, and dynamically assigns properties\n * to control accessibility and interaction.\n *\n * @returns {ElementViewTemplate<MultiViewGroup>} The template for the `MultiViewGroup` component.\n *\n * @slot multi-view - Slot for the multiple views managed by the component.\n * @slot controller - Slot for the controllers that switch between views.\n *\n * @csspart views - The container for the views.\n * @csspart controllers - The container for the controllers.\n */\nfunction multiViewGroupTemplate() {\n return html `\n <template>\n <div class=\"root\">\n <div class=\"views\" part=\"views\">\n <slot name=\"multi-view\" ${slotted(\"multiViews\")}></slot>\n </div>\n <div\n class=\"controllers\"\n part=\"controllers\"\n role=\"tablist\"\n aria-label=\"${(x) => x.ariaLabel}\"\n tabindex=\"${(x) => (x.hidden ? \"-1\" : \"0\")}\"\n ${ref(\"controllersContainer\")}\n >\n <slot name=\"controller\" ${slotted(\"controllers\")}></slot>\n </div>\n </div>\n </template>\n `;\n}\n/**\n * The template for the {@link @fabric-msft/fabric-web#MultiViewGroup} component.\n * @public\n */\nexport const template = multiViewGroupTemplate();\n//# sourceMappingURL=multi-view-group.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { MultiViewGroup } from \"./multi-view-group.js\";\nimport { styles } from \"./multi-view-group.styles.js\";\nimport { template } from \"./multi-view-group.template.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fluent-multi-view-group>\n */\nexport const definition = MultiViewGroup.compose({\n name: `${DesignSystem.prefix}-multi-view-group`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=multi-view-group.definition.js.map","/**\n * MultiViewGroupPosition constants\n * @public\n */\nexport const MultiViewGroupPositions = {\n right: \"right\",\n left: \"left\"\n};\n//# sourceMappingURL=multi-view-group.options.js.map","/** Event names for Overflow. */\nexport const OverflowEventNames = {\n overflowChange: \"overflow-change\"\n};\n//# sourceMappingURL=overflow.events.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, attr } from \"@microsoft/fast-element\";\n/**\n * OverflowDivider\n * @summary A divider element that participates in overflow group visibility.\n * When all items in the associated group are overflowed, the divider is hidden.\n * The parent `fabric-overflow` container manages registration automatically.\n *\n * @example\n * ```html\n * <fabric-overflow>\n * <fabric-overflow-item overflow-id=\"a\" group-id=\"1\">A</fabric-overflow-item>\n * <fabric-overflow-divider group-id=\"1\"></fabric-overflow-divider>\n * <fabric-overflow-item overflow-id=\"b\" group-id=\"2\">B</fabric-overflow-item>\n * </fabric-overflow>\n * ```\n *\n * @attr {string} group-id - The group identifier this divider is associated with. Required.\n *\n * @slot - Default slot for divider content.\n *\n * @extends FASTElement\n * @tagname fabric-overflow-divider\n * @public\n */\nexport class OverflowDivider extends FASTElement {\n}\n__decorate([\n attr({ attribute: \"group-id\" })\n], OverflowDivider.prototype, \"groupId\", void 0);\n//# sourceMappingURL=overflow-divider.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, attr } from \"@microsoft/fast-element\";\n/**\n * @internal Event dispatched when overflow-relevant attributes change.\n */\nexport const OVERFLOW_ITEM_UPDATE_EVENT = \"fabric-overflow-item-update\";\n/**\n * OverflowItem\n * @summary Wraps a single overflowable child element. The parent\n * `fabric-overflow` container observes slotted children and manages\n * registration/deregistration automatically.\n *\n * @example\n * ```html\n * <fabric-overflow>\n * <fabric-overflow-item overflow-id=\"item-1\" priority=\"1\">\n * <button>Item 1</button>\n * </fabric-overflow-item>\n * </fabric-overflow>\n * ```\n *\n * @attr {string} overflow-id - Unique identifier for this overflow item. Required.\n * @attr {number} priority - Lower priority items are hidden first. Defaults to 0.\n * @attr {string} group-id - Optional group identifier for grouped overflow behavior.\n * @attr {boolean} pinned - When true, the item is always visible and never overflows.\n *\n * @slot - Default slot for the item content.\n *\n * @extends FASTElement\n * @tagname fabric-overflow-item\n * @public\n */\nexport class OverflowItem extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Lower priority items are hidden first when the container overflows.\n * @default 0\n */\n this.priority = 0;\n /**\n * When true, the item is always visible regardless of overflow.\n * @default false\n */\n this.pinned = false;\n }\n priorityChanged() {\n this.$emit(OVERFLOW_ITEM_UPDATE_EVENT);\n }\n pinnedChanged() {\n this.$emit(OVERFLOW_ITEM_UPDATE_EVENT);\n }\n}\n__decorate([\n attr({ attribute: \"overflow-id\" })\n], OverflowItem.prototype, \"overflowId\", void 0);\n__decorate([\n attr({ converter: { fromView: Number, toView: String } })\n], OverflowItem.prototype, \"priority\", void 0);\n__decorate([\n attr({ attribute: \"group-id\" })\n], OverflowItem.prototype, \"groupId\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], OverflowItem.prototype, \"pinned\", void 0);\n//# sourceMappingURL=overflow-item.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, attr, observable } from \"@microsoft/fast-element\";\nimport { createOverflowManager } from \"@fluentui/priority-overflow\";\nimport { OverflowEventNames } from \"./overflow.events.js\";\nimport { OverflowDivider } from \"../overflow-divider/overflow-divider.js\";\nimport { OverflowItem, OVERFLOW_ITEM_UPDATE_EVENT } from \"../overflow-item/overflow-item.js\";\n/**\n * Overflow\n * @summary A container component that detects overflowing child items and provides\n * overflow state management. Uses `@fluentui/priority-overflow` internally to\n * observe the container width/height and hide items that don't fit.\n *\n * @example\n * ```html\n * <fabric-overflow padding=\"10\">\n * <fabric-overflow-item overflow-id=\"1\">Item 1</fabric-overflow-item>\n * <fabric-overflow-item overflow-id=\"2\">Item 2</fabric-overflow-item>\n * <fabric-overflow-item overflow-id=\"3\">Item 3</fabric-overflow-item>\n * <button slot=\"menu\">+3 items</button>\n * </fabric-overflow>\n * ```\n *\n * @attr {OverflowAxisValue} overflow-axis - Horizontal or vertical overflow. Defaults to \"horizontal\".\n * @attr {OverflowDirection} overflow-direction - Direction where items are removed when overflow occurs. Defaults to \"end\".\n * @attr {number} padding - Padding (in px) at the end of the container before overflow occurs. Defaults to 10.\n * @attr {number} minimum-visible - The minimum number of visible items.\n * @attr {boolean} has-hidden-items - When true, the overflow menu has default hidden items.\n *\n * @prop {number} overflowCount - The number of currently overflowing (invisible) items.\n * @prop {Map<string, boolean>} itemVisibilityMap - Map of item id to visibility state.\n *\n * @slot - Default slot for overflow items and dividers.\n * @slot menu - Slot for the overflow menu trigger element.\n *\n * @fires overflow-change - Emits when the overflow state changes with detail containing visible/invisible items and group visibility.\n *\n * @extends FASTElement\n * @tagname fabric-overflow\n * @public\n */\nexport class Overflow extends FASTElement {\n constructor() {\n super(...arguments);\n this.observing = false;\n this.pendingItems = [];\n this.pendingDividers = [];\n this.registeredItems = new Map();\n this.registeredDividers = new Map();\n /**\n * Horizontal or vertical overflow.\n * @default \"horizontal\"\n */\n this.overflowAxis = \"horizontal\";\n /**\n * Direction where items are removed when overflow occurs.\n * @default \"end\"\n */\n this.overflowDirection = \"end\";\n /**\n * Padding (in px) at the end of the container before overflow occurs.\n * @default 10\n */\n this.padding = 10;\n /**\n * When true, the overflow menu has default hidden items.\n * @default false\n */\n this.hasHiddenItems = false;\n /**\n * The number of currently overflowing (invisible) items.\n */\n this.overflowCount = 0;\n /**\n * Map of item id to visibility state.\n */\n this.itemVisibilityMap = new Map();\n /**\n * Slotted menu elements.\n */\n this.menuSlotted = [];\n /**\n * Slotted overflow elements\n */\n this.defaultSlottedContent = [];\n /**\n * Handles property-change events dispatched by child overflow items.\n */\n this.handleItemUpdate = (event) => {\n const item = event.target;\n if (!(item instanceof OverflowItem))\n return;\n this.updateItem(item.overflowId, {\n priority: item.priority,\n pinned: item.pinned\n });\n };\n }\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener(OVERFLOW_ITEM_UPDATE_EVENT, this.handleItemUpdate);\n this.initManager();\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(OVERFLOW_ITEM_UPDATE_EVENT, this.handleItemUpdate);\n this.disposeManager();\n }\n /**\n * Returns whether a specific overflow item is visible.\n * @param id - The overflow item id to check.\n */\n getItemVisibility(id) {\n var _a;\n return (_a = this.itemVisibilityMap.get(id)) !== null && _a !== void 0 ? _a : true;\n }\n /**\n * Registers an overflow item or divider element with the manager.\n */\n registerElement(el) {\n var _a, _b;\n if (el instanceof OverflowItem) {\n const entry = {\n element: el,\n id: el.overflowId,\n priority: el.priority,\n groupId: el.groupId,\n pinned: el.pinned\n };\n this.registeredItems.set(entry.id, entry);\n if (this.observing) {\n (_a = this.manager) === null || _a === void 0 ? void 0 : _a.addItem(entry);\n }\n else {\n this.pendingItems.push(entry);\n }\n }\n else if (el instanceof OverflowDivider) {\n const entry = {\n element: el,\n groupId: el.groupId\n };\n this.registeredDividers.set(entry.groupId, entry);\n if (this.observing) {\n (_b = this.manager) === null || _b === void 0 ? void 0 : _b.addDivider(entry);\n }\n else {\n this.pendingDividers.push(entry);\n }\n }\n }\n /**\n * Unregisters an overflow item or divider element from the manager.\n */\n unregisterElement(el) {\n var _a, _b;\n if (el instanceof OverflowItem) {\n this.registeredItems.delete(el.overflowId);\n if (this.observing) {\n (_a = this.manager) === null || _a === void 0 ? void 0 : _a.removeItem(el.overflowId);\n }\n else {\n this.pendingItems = this.pendingItems.filter((e) => e.id !== el.overflowId);\n }\n }\n else if (el instanceof OverflowDivider) {\n this.registeredDividers.delete(el.groupId);\n if (this.observing) {\n (_b = this.manager) === null || _b === void 0 ? void 0 : _b.removeDivider(el.groupId);\n }\n else {\n this.pendingDividers = this.pendingDividers.filter((e) => e.groupId !== el.groupId);\n }\n }\n }\n /**\n * Updates an existing overflow item entry in-place and triggers a recalculation.\n */\n updateItem(id, updates) {\n var _a;\n const entry = this.registeredItems.get(id);\n if (!entry)\n return;\n Object.assign(entry, updates);\n (_a = this.manager) === null || _a === void 0 ? void 0 : _a.update();\n }\n /**\n * Triggers an async overflow update.\n */\n update() {\n var _a;\n (_a = this.manager) === null || _a === void 0 ? void 0 : _a.update();\n }\n /**\n * Triggers a synchronous overflow update.\n */\n forceUpdate() {\n var _a;\n (_a = this.manager) === null || _a === void 0 ? void 0 : _a.forceUpdate();\n }\n /**\n * Registers a menu element with the overflow manager, hiding it until\n * items actually overflow.\n */\n registerMenu(menuEl) {\n var _a;\n menuEl.style.flexShrink = \"0\";\n menuEl.style.display = \"none\";\n (_a = this.manager) === null || _a === void 0 ? void 0 : _a.addOverflowMenu(menuEl);\n this.menuSlottedCleanup = () => {\n var _a;\n (_a = this.manager) === null || _a === void 0 ? void 0 : _a.removeOverflowMenu();\n };\n }\n menuSlottedChanged() {\n var _a;\n (_a = this.menuSlottedCleanup) === null || _a === void 0 ? void 0 : _a.call(this);\n this.menuSlottedCleanup = undefined;\n if (this.menuSlotted.length > 0) {\n this.registerMenu(this.menuSlotted[0]);\n }\n }\n defaultSlottedContentChanged() {\n const previousItemIds = new Set(this.registeredItems.keys());\n const previousDividerIds = new Set(this.registeredDividers.keys());\n for (const el of this.defaultSlottedContent) {\n if (el instanceof OverflowItem) {\n if (previousItemIds.delete(el.overflowId))\n continue;\n this.registerElement(el);\n }\n else if (el instanceof OverflowDivider) {\n if (previousDividerIds.delete(el.groupId))\n continue;\n this.registerElement(el);\n }\n }\n // Anything left in the sets was removed from the slot\n for (const id of previousItemIds) {\n const registeredItem = this.registeredItems.get(id);\n if (registeredItem) {\n this.unregisterElement(registeredItem.element);\n }\n }\n for (const groupId of previousDividerIds) {\n const registeredDivider = this.registeredDividers.get(groupId);\n if (registeredDivider) {\n this.unregisterElement(registeredDivider.element);\n }\n }\n }\n /** Re-observe when axis/direction/padding attributes change. */\n overflowAxisChanged() {\n this.reobserve();\n }\n overflowDirectionChanged() {\n this.reobserve();\n }\n paddingChanged() {\n this.reobserve();\n }\n minimumVisibleChanged() {\n this.reobserve();\n }\n hasHiddenItemsChanged() {\n this.reobserve();\n }\n initManager() {\n // Create the manager and start observing after children have connected\n // and the browser has completed a layout pass (rAF). Items that connect\n // before observation goes through pendingItems and are flushed after observe.\n this.pendingRaf = requestAnimationFrame(() => {\n this.pendingRaf = undefined;\n if (!this.isConnected)\n return;\n this.manager = createOverflowManager();\n this.observeContainer();\n });\n }\n observeContainer() {\n var _a;\n if (!this.manager)\n return;\n this.observing = false;\n this.manager.observe(this, {\n padding: this.padding,\n overflowAxis: this.overflowAxis,\n overflowDirection: this.overflowDirection,\n minimumVisible: (_a = this.minimumVisible) !== null && _a !== void 0 ? _a : 0,\n hasHiddenItems: this.hasHiddenItems,\n onUpdateItemVisibility: ({ item, visible }) => {\n this.itemVisibilityMap.set(item.id, visible);\n if (visible) {\n item.element.removeAttribute(\"data-overflowing\");\n item.element.removeAttribute(\"aria-hidden\");\n item.element.removeAttribute(\"inert\");\n }\n else {\n item.element.setAttribute(\"data-overflowing\", \"\");\n item.element.setAttribute(\"aria-hidden\", \"true\");\n item.element.setAttribute(\"inert\", \"\");\n }\n },\n onUpdateOverflow: (data) => {\n this.overflowCount = data.invisibleItems.length;\n // Toggle menu display to match Fluent React's conditional\n // rendering. When display changes, the ResizeObserver fires\n // and the manager re-calculates with the correct menu size.\n const menuEl = this.menuSlotted.length > 0 ? this.menuSlotted[0] : undefined;\n if (menuEl) {\n menuEl.style.display = data.invisibleItems.length > 0 ? \"\" : \"none\";\n }\n const detail = {\n visibleItems: data.visibleItems,\n invisibleItems: data.invisibleItems,\n groupVisibility: data.groupVisibility\n };\n this.dispatchEvent(new CustomEvent(OverflowEventNames.overflowChange, {\n bubbles: true,\n composed: true,\n detail\n }));\n }\n });\n this.observing = true;\n // Register the menu element if it was slotted before the manager existed\n if (this.menuSlotted.length > 0) {\n this.registerMenu(this.menuSlotted[0]);\n }\n this.flushPending();\n }\n flushPending() {\n var _a, _b, _c;\n for (const entry of this.pendingItems) {\n (_a = this.manager) === null || _a === void 0 ? void 0 : _a.addItem(entry);\n }\n this.pendingItems = [];\n for (const entry of this.pendingDividers) {\n (_b = this.manager) === null || _b === void 0 ? void 0 : _b.addDivider(entry);\n }\n this.pendingDividers = [];\n (_c = this.manager) === null || _c === void 0 ? void 0 : _c.forceUpdate();\n }\n reobserve() {\n if (!this.manager || !this.isConnected)\n return;\n this.observing = false;\n this.manager.disconnect();\n // Replay registered items/dividers so they are re-added after observe\n this.pendingItems = [...this.registeredItems.values()];\n this.pendingDividers = [...this.registeredDividers.values()];\n this.observeContainer();\n }\n disposeManager() {\n var _a, _b;\n if (this.pendingRaf !== undefined) {\n cancelAnimationFrame(this.pendingRaf);\n this.pendingRaf = undefined;\n }\n (_a = this.menuSlottedCleanup) === null || _a === void 0 ? void 0 : _a.call(this);\n this.menuSlottedCleanup = undefined;\n (_b = this.manager) === null || _b === void 0 ? void 0 : _b.disconnect();\n this.manager = undefined;\n this.observing = false;\n this.pendingItems = [];\n this.pendingDividers = [];\n this.registeredItems.clear();\n this.registeredDividers.clear();\n }\n}\n__decorate([\n attr({ attribute: \"overflow-axis\" })\n], Overflow.prototype, \"overflowAxis\", void 0);\n__decorate([\n attr({ attribute: \"overflow-direction\" })\n], Overflow.prototype, \"overflowDirection\", void 0);\n__decorate([\n attr({ converter: { fromView: Number, toView: String } })\n], Overflow.prototype, \"padding\", void 0);\n__decorate([\n attr({\n attribute: \"minimum-visible\",\n converter: { fromView: Number, toView: String }\n })\n], Overflow.prototype, \"minimumVisible\", void 0);\n__decorate([\n attr({ attribute: \"has-hidden-items\", mode: \"boolean\" })\n], Overflow.prototype, \"hasHiddenItems\", void 0);\n__decorate([\n observable\n], Overflow.prototype, \"overflowCount\", void 0);\n__decorate([\n observable\n], Overflow.prototype, \"itemVisibilityMap\", void 0);\n__decorate([\n observable\n], Overflow.prototype, \"menuSlotted\", void 0);\n__decorate([\n observable\n], Overflow.prototype, \"defaultSlottedContent\", void 0);\n//# sourceMappingURL=overflow.js.map","import { css } from \"@microsoft/fast-element\";\nimport { display, spacingHorizontalXS } from \"@fluentui/web-components\";\n/**\n * Styles for the {@link Overflow} component.\n * @public\n */\nexport const styles = css `\n ${display(\"flex\")}\n\n :host {\n position: relative;\n min-inline-size: 0;\n inline-size: 100%;\n flex-wrap: nowrap;\n overflow: clip;\n overflow-clip-margin: ${spacingHorizontalXS};\n }\n\n :host([overflow-axis=\"vertical\"]) {\n flex-direction: column;\n block-size: 100%;\n }\n\n :host([overflow-direction=\"start\"]) ::slotted([slot=\"menu\"]) {\n order: -1;\n }\n`;\n//# sourceMappingURL=overflow.styles.js.map","import { html, slotted } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link Overflow} component.\n * @public\n */\nexport const template = html `\n <template>\n <slot ${slotted(\"defaultSlottedContent\")}></slot>\n <slot name=\"menu\" ${slotted(\"menuSlotted\")}></slot>\n </template>\n`;\n//# sourceMappingURL=overflow.template.js.map","import { Overflow } from \"./overflow.js\";\nimport { styles } from \"./overflow.styles.js\";\nimport { template } from \"./overflow.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Overflow component definition.\n * @public\n * @remarks\n * HTML Element: <fabric-overflow>\n */\nexport const definition = Overflow.compose({\n name: `${DesignSystem.prefix}-overflow`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=overflow.definition.js.map","/** Axis values for {@link Overflow}. */\nexport const OverflowAxisValues = {\n horizontal: \"horizontal\",\n vertical: \"vertical\"\n};\n/** Direction values for {@link Overflow}. */\nexport const OverflowDirections = {\n start: \"start\",\n end: \"end\"\n};\n//# sourceMappingURL=overflow.options.js.map","import { css } from \"@microsoft/fast-element\";\nimport { display } from \"@fluentui/web-components\";\n/**\n * Styles for the {@link OverflowItem} component.\n * @public\n */\nexport const styles = css `\n ${display(\"inline-flex\")}\n\n :host {\n flex-shrink: 0;\n }\n\n :host(:focus-within) {\n position: relative;\n }\n\n :host([data-overflowing]) {\n display: none;\n }\n`;\n//# sourceMappingURL=overflow-item.styles.js.map","import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link OverflowItem} component.\n * @public\n */\nexport const template = html `\n <template>\n <slot></slot>\n </template>\n`;\n//# sourceMappingURL=overflow-item.template.js.map","import { OverflowItem } from \"./overflow-item.js\";\nimport { styles } from \"./overflow-item.styles.js\";\nimport { template } from \"./overflow-item.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The OverflowItem component definition.\n * @public\n * @remarks\n * HTML Element: <fabric-overflow-item>\n */\nexport const definition = OverflowItem.compose({\n name: `${DesignSystem.prefix}-overflow-item`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=overflow-item.definition.js.map","import { css } from \"@microsoft/fast-element\";\nimport { display } from \"@fluentui/web-components\";\nimport { colorNeutralStroke2, spacingHorizontalXS, spacingVerticalS, strokeWidthThin } from \"@fluentui/web-components\";\nimport { sizeVerticalXL } from \"@fabric-msft/theme\";\n/**\n * Styles for the {@link OverflowDivider} component.\n * @public\n */\nexport const styles = css `\n ${display(\"inline-flex\")}\n\n :host {\n flex-shrink: 0;\n align-items: stretch;\n padding-block: ${spacingVerticalS};\n padding-inline: ${spacingHorizontalXS};\n min-block-size: ${sizeVerticalXL};\n box-sizing: border-box;\n }\n\n :host::before {\n content: \"\";\n display: block;\n inline-size: ${strokeWidthThin};\n background: ${colorNeutralStroke2};\n }\n\n :host([data-overflowing]) {\n display: none;\n }\n`;\n//# sourceMappingURL=overflow-divider.styles.js.map","import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link OverflowDivider} component.\n * @public\n */\nexport const template = html `\n <template>\n <slot></slot>\n </template>\n`;\n//# sourceMappingURL=overflow-divider.template.js.map","import { OverflowDivider } from \"./overflow-divider.js\";\nimport { styles } from \"./overflow-divider.styles.js\";\nimport { template } from \"./overflow-divider.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The OverflowDivider component definition.\n * @public\n * @remarks\n * HTML Element: <fabric-overflow-divider>\n */\nexport const definition = OverflowDivider.compose({\n name: `${DesignSystem.prefix}-overflow-divider`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=overflow-divider.definition.js.map","/**\n * Core types for Angular CDK-inspired positioning engine.\n * Based on @angular/cdk/overlay positioning strategy.\n */\n/**\n * Horizontal connection positions.\n */\nexport const HorizontalConnectionPositions = {\n start: \"start\",\n center: \"center\",\n end: \"end\"\n};\n/**\n * Vertical connection positions.\n */\nexport const VerticalConnectionPositions = {\n top: \"top\",\n center: \"center\",\n bottom: \"bottom\"\n};\n/**\n * Reposition modes for positioned elements.\n */\nexport const RepositionModes = {\n auto: \"auto\",\n flip: \"flip\",\n none: \"none\"\n};\n/**\n * Default root margin for positioning calculations.\n */\nexport const DEFAULT_ROOT_MARGIN = 15;\n/**\n * Collision edges for boundary detection.\n */\nexport const CollisionEdges = {\n top: \"top\",\n right: \"right\",\n bottom: \"bottom\",\n left: \"left\"\n};\n//# sourceMappingURL=types.js.map","/**\n * Position calculation utilities inspired by Angular CDK's FlexibleConnectedPositionStrategy.\n * Provides coordinate-based positioning calculations for overlays/popovers.\n */\n/**\n * Get the bounding rectangle for the viewport.\n */\nexport function getViewportBounds() {\n return {\n top: 0,\n left: 0,\n bottom: window.innerHeight,\n right: window.innerWidth,\n width: window.innerWidth,\n height: window.innerHeight\n };\n}\n/**\n * Get the bounding rectangle for a custom boundary element.\n */\nexport function getBoundaryBounds(element) {\n const rect = element.getBoundingClientRect();\n return {\n top: rect.top,\n left: rect.left,\n bottom: rect.bottom,\n right: rect.right,\n width: rect.width,\n height: rect.height\n };\n}\n/**\n * Get the effective boundary, accounting for viewport margin.\n */\nexport function getEffectiveBoundary(boundary, viewportMargin = 0) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n if (typeof viewportMargin === \"number\") {\n return {\n top: boundary.top + viewportMargin,\n left: boundary.left + viewportMargin,\n bottom: boundary.bottom - viewportMargin,\n right: boundary.right - viewportMargin,\n width: boundary.width ? boundary.width - viewportMargin * 2 : undefined,\n height: boundary.height ? boundary.height - viewportMargin * 2 : undefined\n };\n }\n return {\n top: boundary.top + ((_a = viewportMargin.top) !== null && _a !== void 0 ? _a : 0),\n left: boundary.left + ((_b = viewportMargin.left) !== null && _b !== void 0 ? _b : 0),\n bottom: boundary.bottom - ((_c = viewportMargin.bottom) !== null && _c !== void 0 ? _c : 0),\n right: boundary.right - ((_d = viewportMargin.right) !== null && _d !== void 0 ? _d : 0),\n width: boundary.width\n ? boundary.width -\n ((_e = viewportMargin.left) !== null && _e !== void 0 ? _e : 0) -\n ((_f = viewportMargin.right) !== null && _f !== void 0 ? _f : 0)\n : undefined,\n height: boundary.height\n ? boundary.height -\n ((_g = viewportMargin.top) !== null && _g !== void 0 ? _g : 0) -\n ((_h = viewportMargin.bottom) !== null && _h !== void 0 ? _h : 0)\n : undefined\n };\n}\n/**\n * Calculate the origin point (x, y) on the origin element based on connection position.\n * This is the point on the anchor element where the overlay will connect.\n */\nexport function getOriginPoint(originRect, position) {\n let x;\n let y;\n // Calculate X coordinate\n if (position.originX === \"center\") {\n x = originRect.left + originRect.width / 2;\n }\n else if (position.originX === \"start\") {\n x = originRect.left;\n }\n else {\n // 'end'\n x = originRect.right;\n }\n // Calculate Y coordinate\n if (position.originY === \"center\") {\n y = originRect.top + originRect.height / 2;\n }\n else if (position.originY === \"top\") {\n y = originRect.top;\n }\n else {\n // 'bottom'\n y = originRect.bottom;\n }\n return { x, y };\n}\n/**\n * Calculate the overlay point (x, y) - the top-left corner of the overlay\n * when positioned relative to the origin point.\n */\nexport function getOverlayPoint(originPoint, overlayRect, position) {\n var _a, _b;\n let overlayStartX;\n let overlayStartY;\n // Calculate horizontal offset from origin point to overlay's desired position\n if (position.overlayX === \"center\") {\n overlayStartX = -overlayRect.width / 2;\n }\n else if (position.overlayX === \"start\") {\n overlayStartX = 0;\n }\n else {\n // 'end'\n overlayStartX = -overlayRect.width;\n }\n // Calculate vertical offset from origin point to overlay's desired position\n if (position.overlayY === \"center\") {\n overlayStartY = -overlayRect.height / 2;\n }\n else if (position.overlayY === \"top\") {\n overlayStartY = 0;\n }\n else {\n // 'bottom'\n overlayStartY = -overlayRect.height;\n }\n // Add any explicit offsets\n const offsetX = (_a = position.offsetX) !== null && _a !== void 0 ? _a : 0;\n const offsetY = (_b = position.offsetY) !== null && _b !== void 0 ? _b : 0;\n return {\n x: originPoint.x + overlayStartX + offsetX,\n y: originPoint.y + overlayStartY + offsetY\n };\n}\n/**\n * Calculate how well the overlay fits within the boundary when positioned at the given point.\n */\nexport function getOverlayFit(overlayPoint, overlayRect, boundary) {\n const overlayRight = overlayPoint.x + overlayRect.width;\n const overlayBottom = overlayPoint.y + overlayRect.height;\n const fitsLeft = overlayPoint.x >= boundary.left;\n const fitsRight = overlayRight <= boundary.right;\n const fitsTop = overlayPoint.y >= boundary.top;\n const fitsBottom = overlayBottom <= boundary.bottom;\n const fitsInViewportHorizontally = fitsLeft && fitsRight;\n const fitsInViewportVertically = fitsTop && fitsBottom;\n const isCompletelyWithinViewport = fitsInViewportHorizontally && fitsInViewportVertically;\n // Calculate visible area (useful for fallback position scoring)\n let visibleWidth = overlayRect.width;\n let visibleHeight = overlayRect.height;\n if (!fitsLeft) {\n visibleWidth = Math.max(0, overlayRight - boundary.left);\n }\n else if (!fitsRight) {\n visibleWidth = Math.max(0, boundary.right - overlayPoint.x);\n }\n if (!fitsTop) {\n visibleHeight = Math.max(0, overlayBottom - boundary.top);\n }\n else if (!fitsBottom) {\n visibleHeight = Math.max(0, boundary.bottom - overlayPoint.y);\n }\n const visibleArea = visibleWidth * visibleHeight;\n return {\n isCompletelyWithinViewport,\n fitsInViewportHorizontally,\n fitsInViewportVertically,\n visibleArea\n };\n}\n/**\n * Apply position styles to the overlay element.\n *\n * By default the overlay is pinned via `top`/`left`. When the resolved\n * {@link ConnectedPosition} attaches the overlay's bottom or end edge\n * (`overlayY === \"bottom\"` or `overlayX === \"end\"`), the corresponding\n * CSS edge is used instead so that any subsequent height/width constraint\n * causes the overlay to shrink from the *unattached* edge rather than\n * detaching from the anchor.\n *\n * When an offsetParent is provided, viewport coordinates are converted to\n * positions relative to that element (for `position: absolute` children).\n */\nexport function applyPositionStyles(overlayElement, overlayPoint, position, offsetParent) {\n const pinBottom = position.overlayY === \"bottom\";\n const pinRight = position.overlayX === \"end\";\n const parentRect = offsetParent === null || offsetParent === void 0 ? void 0 : offsetParent.getBoundingClientRect();\n const overlayRect = pinBottom || pinRight ? overlayElement.getBoundingClientRect() : null;\n // Horizontal positioning\n if (pinRight && overlayRect) {\n const containerRight = parentRect ? parentRect.right : window.innerWidth;\n const right = containerRight - (overlayPoint.x + overlayRect.width);\n overlayElement.style.right = `${Math.round(right)}px`;\n overlayElement.style.left = \"auto\";\n }\n else {\n const x = parentRect ? overlayPoint.x - parentRect.left : overlayPoint.x;\n overlayElement.style.left = `${Math.round(x)}px`;\n overlayElement.style.right = \"auto\";\n }\n // Vertical positioning\n if (pinBottom && overlayRect) {\n const containerBottom = parentRect ? parentRect.bottom : window.innerHeight;\n const bottom = containerBottom - (overlayPoint.y + overlayRect.height);\n overlayElement.style.bottom = `${Math.round(bottom)}px`;\n overlayElement.style.top = \"auto\";\n }\n else {\n const y = parentRect ? overlayPoint.y - parentRect.top : overlayPoint.y;\n overlayElement.style.top = `${Math.round(y)}px`;\n overlayElement.style.bottom = \"auto\";\n }\n}\n//# sourceMappingURL=position-calculator.js.map","/**\n * Flexible position strategy - main positioning engine.\n * Orchestrates position calculation, fallback selection, and style application.\n * Inspired by Angular CDK's FlexibleConnectedPositionStrategy.\n */\nimport { getViewportBounds, getBoundaryBounds, getEffectiveBoundary, getOriginPoint, getOverlayPoint, getOverlayFit, applyPositionStyles } from \"./position-calculator.js\";\n/**\n * Flexible position strategy implementation.\n * Main entry point for positioning overlays with fallback logic.\n */\nexport class FlexiblePositionStrategy {\n constructor(config) {\n var _a, _b, _c, _d;\n this.origin = config.origin;\n this.overlay = config.overlay;\n this.positions = config.positions;\n this.boundaryElement = (_a = config.boundaryElement) !== null && _a !== void 0 ? _a : null;\n this.offsetParent = (_b = config.offsetParent) !== null && _b !== void 0 ? _b : null;\n this.viewportMargin = (_c = config.viewportMargin) !== null && _c !== void 0 ? _c : 0;\n this.resize = (_d = config.resize) !== null && _d !== void 0 ? _d : false;\n this.resizeMinHeight = config.resizeMinHeight;\n }\n /**\n * Get the effective boundary (custom boundary or viewport).\n */\n getBoundary() {\n const rawBoundary = this.boundaryElement\n ? getBoundaryBounds(this.boundaryElement)\n : getViewportBounds();\n return getEffectiveBoundary(rawBoundary, this.viewportMargin);\n }\n /**\n * Returns the configured candidate positions.\n */\n getCandidates() {\n return [...this.positions];\n }\n /**\n * Evaluate a single position against the current boundary.\n * Returns the computed PositionResult without applying any styles.\n */\n evaluatePosition(position) {\n const originRect = this.origin.getBoundingClientRect();\n const overlayRect = this.overlay.getBoundingClientRect();\n const boundary = this.getBoundary();\n const originPoint = getOriginPoint(originRect, position);\n const overlayPoint = getOverlayPoint(originPoint, overlayRect, position);\n const fit = getOverlayFit(overlayPoint, overlayRect, boundary);\n return { position, originPoint, overlayPoint, fit };\n }\n /**\n * Selects the best position from the candidates list.\n *\n * 1. First candidate that fits completely wins immediately.\n * 2. If nothing fits and resize is enabled, picks the one with most\n * available space (best candidate for resize).\n * 3. Otherwise picks the position with the most visible area.\n */\n selectBestPosition() {\n const candidates = this.getCandidates();\n let bestResult = this.evaluatePosition(candidates[0]);\n let bestArea = bestResult.fit.visibleArea;\n if (bestResult.fit.isCompletelyWithinViewport) {\n return bestResult;\n }\n for (let i = 1; i < candidates.length; i++) {\n const result = this.evaluatePosition(candidates[i]);\n if (result.fit.isCompletelyWithinViewport) {\n return result;\n }\n if (result.fit.visibleArea > bestArea) {\n bestResult = result;\n bestArea = result.fit.visibleArea;\n }\n }\n // Nothing fits. If resize is enabled, prefer the candidate with most room.\n if (this.resize && candidates.length > 1) {\n let bestSpace = this.getAvailableSpace(candidates[0]);\n let bestSpaceCandidate = candidates[0];\n for (let i = 1; i < candidates.length; i++) {\n const space = this.getAvailableSpace(candidates[i]);\n if (space > bestSpace) {\n bestSpace = space;\n bestSpaceCandidate = candidates[i];\n }\n }\n if (bestSpaceCandidate !== bestResult.position) {\n return this.evaluatePosition(bestSpaceCandidate);\n }\n }\n return bestResult;\n }\n /**\n * Apply position result to the overlay element.\n */\n applyPositionResult(result) {\n applyPositionStyles(this.overlay, result.overlayPoint, result.position, this.offsetParent);\n }\n /**\n * Get the available space for the overlay in a given position.\n * Measures the distance from the anchor edge to the boundary edge in the\n * relevant direction based on the position's connection points.\n *\n * @param position - The connected position to measure space for.\n * @returns Available space in pixels.\n */\n getAvailableSpace(position) {\n var _a;\n const originRect = this.origin.getBoundingClientRect();\n const boundary = this.getBoundary();\n // Determine direction based on the connection points.\n // \"above\" style: overlayY === bottom, originY === top → space above anchor\n // \"below\" style: overlayY === top, originY === bottom → space below anchor\n if (position.overlayY === \"bottom\" && position.originY === \"top\") {\n // Overlay sits above the anchor\n return Math.max(0, originRect.top - boundary.top);\n }\n if (position.overlayY === \"top\" && position.originY === \"bottom\") {\n // Overlay sits below the anchor\n return Math.max(0, boundary.bottom - originRect.bottom);\n }\n // Horizontal cases (start/end)\n if (position.overlayX === \"end\" && position.originX === \"start\") {\n return Math.max(0, originRect.left - boundary.left);\n }\n if (position.overlayX === \"start\" && position.originX === \"end\") {\n return Math.max(0, boundary.right - originRect.right);\n }\n // Fallback: return full boundary height\n return Math.max(0, ((_a = boundary.height) !== null && _a !== void 0 ? _a : boundary.bottom - boundary.top) || 0);\n }\n /**\n * Applies a resize constraint to the overlay element if it\n * does not fit in the available space for the given position.\n *\n * @param position - The connected position to measure available space for.\n * @returns Whether a constraint was applied and the max-height value.\n */\n tryResize(position) {\n if (!this.resize) {\n return { resized: false, maxHeight: null };\n }\n const overlayHeight = this.overlay.getBoundingClientRect().height;\n const available = this.getAvailableSpace(position);\n if (overlayHeight <= available) {\n return { resized: false, maxHeight: null };\n }\n if (this.resizeMinHeight !== undefined &&\n available < this.resizeMinHeight) {\n return { resized: false, maxHeight: null };\n }\n this.overlay.style.maxHeight = `${available}px`;\n this.overlay.style.overflow = \"auto\";\n return { resized: true, maxHeight: available };\n }\n /**\n * High-level reposition entry point.\n *\n * 1. Clears any previous resize constraint so the overlay is evaluated\n * at its natural size.\n * 2. Selects the best position from the positions array.\n * 3. Applies a resize constraint if the overlay still overflows.\n * 4. Applies the final position.\n *\n * The component controls flip vs auto behavior by choosing which\n * positions to provide:\n * - Flip: `[original, opposite]`\n * - Auto: `[original, ...allOtherCandidates]`\n *\n * @returns A {@link RepositionResult} describing what happened, or `null`\n * if no positions or resize are provided.\n */\n reposition() {\n const candidates = this.getCandidates();\n if (candidates.length === 0 && !this.resize) {\n return null;\n }\n // Clear any previous resize constraint to evaluate natural size\n this.clearResize();\n // Step 1: Select the best position (evaluated at natural overlay size)\n let positionResult = this.selectBestPosition();\n // Step 2: Apply resize constraint if enable\n let resized = false;\n let maxHeight = null;\n if (this.resize) {\n ({ resized, maxHeight } = this.tryResize(positionResult.position));\n if (resized) {\n // Re-evaluate the overlay point now that the element has been resized.\n // The post-resize dimensions are smaller, so any position that depends\n // on overlay height (e.g. \"above\" where overlayY === \"bottom\") would\n // produce a stale — and incorrect — overlayPoint if we skipped this.\n positionResult = this.evaluatePosition(positionResult.position);\n }\n }\n // Step 3: Apply the selected position\n this.applyPositionResult(positionResult);\n return {\n resized,\n maxHeight,\n positionResult\n };\n }\n /**\n * Clear any resize constraint applied to the overlay element.\n */\n clearResize() {\n if (this.resize) {\n this.overlay.style.maxHeight = \"\";\n this.overlay.style.overflow = \"\";\n }\n }\n}\n//# sourceMappingURL=flexible-position-strategy.js.map","import { RepositionModes } from \"../../util/positioning/index.js\";\nimport {} from \"../../util/typings.js\";\n// Re-export collision edge types for backwards compatibility\nexport { CollisionEdges } from \"../../util/positioning/index.js\";\nexport const PositioningShorthands = {\n aboveEnd: \"above-end\",\n aboveCenter: \"above-center\",\n aboveStart: \"above-start\",\n endBottom: \"end-bottom\",\n endMiddle: \"end-middle\",\n endTop: \"end-top\",\n belowEnd: \"below-end\",\n belowCenter: \"below-center\",\n belowStart: \"below-start\",\n startBottom: \"start-bottom\",\n startTop: \"start-top\",\n startMiddle: \"start-middle\"\n};\n// Preserve the established public runtime API while keeping the plural const\n// as the canonical source for the shorthand values.\nexport const PositioningShorthand = PositioningShorthands;\nexport const PopoverPositions = Object.values(PositioningShorthands);\nexport const PopoverRepositionModes = {\n auto: RepositionModes.auto,\n flip: RepositionModes.flip,\n none: RepositionModes.none\n};\nexport const PopoverEventNames = {\n hide: \"hide-popover\",\n show: \"show-popover\",\n toggle: \"toggle-popover\",\n mouseEnter: \"mouse-enter-popover\",\n mouseLeave: \"mouse-leave-popover\"\n};\n//# sourceMappingURL=popover.options.js.map","import { PopoverPositions, PopoverRepositionModes, PositioningShorthand } from \"./popover.options.js\";\nimport { FlexiblePositionStrategy, DEFAULT_ROOT_MARGIN } from \"../../util/positioning/index.js\";\n/** Default beak gap in pixels (beak triangle height + spacing). */\nconst BEAK_OFFSET = 8;\n/**\n * Direct shorthand → opposite-shorthand lookup.\n * Used by flip reposition mode so the opposite position is evaluated first.\n * @internal\n */\nconst OPPOSITE_SHORTHAND = {\n [PositioningShorthand.aboveStart]: PositioningShorthand.belowStart,\n [PositioningShorthand.aboveCenter]: PositioningShorthand.belowCenter,\n [PositioningShorthand.aboveEnd]: PositioningShorthand.belowEnd,\n [PositioningShorthand.belowStart]: PositioningShorthand.aboveStart,\n [PositioningShorthand.belowCenter]: PositioningShorthand.aboveCenter,\n [PositioningShorthand.belowEnd]: PositioningShorthand.aboveEnd,\n [PositioningShorthand.startTop]: PositioningShorthand.endTop,\n [PositioningShorthand.startMiddle]: PositioningShorthand.endMiddle,\n [PositioningShorthand.startBottom]: PositioningShorthand.endBottom,\n [PositioningShorthand.endTop]: PositioningShorthand.startTop,\n [PositioningShorthand.endMiddle]: PositioningShorthand.startMiddle,\n [PositioningShorthand.endBottom]: PositioningShorthand.startBottom\n};\n/**\n * Convert a popover positioning shorthand to a ConnectedPosition.\n * @internal\n */\nfunction popoverShorthandToPosition(shorthand) {\n switch (shorthand) {\n case PositioningShorthand.aboveStart:\n return {\n originX: \"start\",\n originY: \"top\",\n overlayX: \"start\",\n overlayY: \"bottom\"\n };\n case PositioningShorthand.aboveCenter:\n return {\n originX: \"center\",\n originY: \"top\",\n overlayX: \"center\",\n overlayY: \"bottom\"\n };\n case PositioningShorthand.aboveEnd:\n return {\n originX: \"end\",\n originY: \"top\",\n overlayX: \"end\",\n overlayY: \"bottom\"\n };\n case PositioningShorthand.belowStart:\n return {\n originX: \"start\",\n originY: \"bottom\",\n overlayX: \"start\",\n overlayY: \"top\"\n };\n case PositioningShorthand.belowCenter:\n return {\n originX: \"center\",\n originY: \"bottom\",\n overlayX: \"center\",\n overlayY: \"top\"\n };\n case PositioningShorthand.belowEnd:\n return {\n originX: \"end\",\n originY: \"bottom\",\n overlayX: \"end\",\n overlayY: \"top\"\n };\n case PositioningShorthand.startTop:\n return {\n originX: \"start\",\n originY: \"top\",\n overlayX: \"end\",\n overlayY: \"top\"\n };\n case PositioningShorthand.startMiddle:\n return {\n originX: \"start\",\n originY: \"center\",\n overlayX: \"end\",\n overlayY: \"center\"\n };\n case PositioningShorthand.startBottom:\n return {\n originX: \"start\",\n originY: \"bottom\",\n overlayX: \"end\",\n overlayY: \"bottom\"\n };\n case PositioningShorthand.endTop:\n return {\n originX: \"end\",\n originY: \"top\",\n overlayX: \"start\",\n overlayY: \"top\"\n };\n case PositioningShorthand.endMiddle:\n return {\n originX: \"end\",\n originY: \"center\",\n overlayX: \"start\",\n overlayY: \"center\"\n };\n case PositioningShorthand.endBottom:\n return {\n originX: \"end\",\n originY: \"bottom\",\n overlayX: \"start\",\n overlayY: \"bottom\"\n };\n default:\n return {\n originX: \"start\",\n originY: \"bottom\",\n overlayX: \"start\",\n overlayY: \"top\"\n };\n }\n}\n/**\n * Convert a ConnectedPosition back to a popover shorthand.\n * Matches on the four connection-point fields, ignoring offsets.\n * @internal\n */\nfunction connectedPositionToShorthand(pos) {\n const { originX, originY, overlayX, overlayY } = pos;\n for (const shorthand of PopoverPositions) {\n const candidate = popoverShorthandToPosition(shorthand);\n if (candidate.originX === originX &&\n candidate.originY === originY &&\n candidate.overlayX === overlayX &&\n candidate.overlayY === overlayY) {\n return shorthand;\n }\n }\n return null;\n}\n/**\n * Adds beak gap offsets to connected positions.\n * Pushes the overlay away from the anchor so the beak fits between them.\n * @param positions - The base connected positions.\n * @param beakOffset - The gap size in pixels.\n * @returns A new array of positions with offsets applied.\n * @internal\n */\nfunction addBeakOffsets(positions, beakOffset) {\n if (beakOffset === 0) {\n return positions;\n }\n return positions.map((pos) => {\n var _a, _b;\n let offsetX = (_a = pos.offsetX) !== null && _a !== void 0 ? _a : 0;\n let offsetY = (_b = pos.offsetY) !== null && _b !== void 0 ? _b : 0;\n // Vertical gap: origin and overlay on opposite Y edges\n if (pos.originY !== pos.overlayY &&\n pos.originY !== \"center\" &&\n pos.overlayY !== \"center\") {\n offsetY += pos.originY === \"bottom\" ? beakOffset : -beakOffset;\n }\n // Horizontal gap: origin and overlay on opposite X edges\n if (pos.originX !== pos.overlayX &&\n pos.originX !== \"center\" &&\n pos.overlayX !== \"center\") {\n offsetX += pos.originX === \"end\" ? beakOffset : -beakOffset;\n }\n return { ...pos, offsetX, offsetY };\n });\n}\n/**\n * Popover positioning manager.\n *\n * Wraps {@link FlexiblePositionStrategy} to translate between popover-specific\n * {@link PositioningShorthand} values and the strategy's `ConnectedPosition` model.\n *\n * ### How it works\n * 1. Each shorthand is converted to a `ConnectedPosition` (four anchor-point fields).\n * When `hasBeak` is `true`, an 8 px gap offset is baked into every position so the\n * beak triangle fits between the anchor and the popover surface.\n * 2. On `reposition()` the best-fitting candidate is selected by\n * `FlexiblePositionStrategy` against the viewport or the supplied\n * `overflowBoundaryReference`. The resolved shorthand is written back to\n * `this._position` so the component can sync CSS beak-rotation classes.\n * 3. Candidate fallbacks are built from `repositionMode`:\n * - `\"flip\"` — only the geometrically opposite shorthand is tried.\n * - `\"auto\"` — all 11 remaining shorthands are evaluated.\n * - `\"none\"` — no fallbacks; the original position is always used.\n *\n * @internal\n */\nexport class Positioning {\n set repositionMode(value) {\n this._repositionMode = value;\n }\n get repositionMode() {\n return this._repositionMode;\n }\n set position(value) {\n this._position = value;\n }\n get position() {\n return this._position;\n }\n /**\n * Creates a new `Positioning` instance and initialises the\n * {@link FlexiblePositionStrategy} if both `popoverReference` and\n * `anchorReference` are available.\n *\n * @param args.repositionMode - Controls which fallback positions are evaluated\n * (`\"flip\"` / `\"auto\"` / `\"none\"`).\n * @param args.popoverReference - The floating popover element whose position\n * will be set by the strategy.\n * @param args.anchorReference - The anchor / trigger element the popover is\n * connected to.\n * @param args.overflowBoundaryReference - Optional scrolling container used as\n * the collision boundary instead of the document viewport.\n * @param args.hasBeak - When `true`, a {@link BEAK_OFFSET} gap is added to\n * every `ConnectedPosition` so the beak triangle fits between the surfaces.\n */\n constructor(args) {\n var _a, _b;\n this.positionStrategy = null;\n this.rootMargin = DEFAULT_ROOT_MARGIN;\n this._position = PositioningShorthand.aboveEnd;\n this._repositionMode = args.repositionMode;\n this.popoverReference = args.popoverReference;\n this.anchorReference = args.anchorReference;\n this.hasBeak = (_a = args.hasBeak) !== null && _a !== void 0 ? _a : false;\n this.overflowBoundaryReference = (_b = args.overflowBoundaryReference) !== null && _b !== void 0 ? _b : null;\n }\n /**\n * Converts a `PositioningShorthand` to a `ConnectedPosition`, automatically\n * applying {@link BEAK_OFFSET} gap offsets when `hasBeak` is `true`.\n * @param shorthand - The shorthand value to convert.\n * @returns A `ConnectedPosition` ready to be passed to `FlexiblePositionStrategy`.\n */\n toConnectedPosition(shorthand) {\n let position = popoverShorthandToPosition(shorthand);\n if (this.hasBeak) {\n position = addBeakOffsets([position], BEAK_OFFSET)[0];\n }\n return position;\n }\n /**\n * Build the ordered list of candidate positions based on the reposition mode.\n * The original position is always the first entry, followed by fallbacks.\n *\n * - **flip**: `[original, opposite]`\n * - **auto**: `[original, ...allOtherShorthands]`\n * - **none**: `[original]` (no fallbacks)\n */\n buildPositionCandidates() {\n const original = this._position;\n let fallbacks;\n if (this._repositionMode === PopoverRepositionModes.flip) {\n fallbacks = [OPPOSITE_SHORTHAND[original]];\n }\n else if (this._repositionMode === PopoverRepositionModes.auto) {\n fallbacks = PopoverPositions.filter((s) => s !== original);\n }\n else {\n fallbacks = [];\n }\n return [\n this.toConnectedPosition(original),\n ...fallbacks.map((s) => this.toConnectedPosition(s))\n ];\n }\n /**\n * Create a new immutable {@link FlexiblePositionStrategy} from current state.\n * Returns null if required element references are not available.\n */\n createPositionStrategy() {\n var _a;\n if (!this.popoverReference || !this.anchorReference) {\n return null;\n }\n const offsetParent = (_a = this.popoverReference.parentElement) !== null && _a !== void 0 ? _a : null;\n return new FlexiblePositionStrategy({\n origin: this.anchorReference,\n overlay: this.popoverReference,\n positions: this.buildPositionCandidates(),\n boundaryElement: this.overflowBoundaryReference,\n offsetParent,\n viewportMargin: this.rootMargin\n });\n }\n /**\n * Performs a reposition using the configured candidate positions.\n *\n * Delegates to the {@link FlexiblePositionStrategy}'s `reposition()` method,\n * which selects the best-fitting position from the original + fallbacks.\n * Converts the selected `ConnectedPosition` back to a popover shorthand.\n *\n * @returns The reposition result, or `null` if not configured.\n */\n reposition() {\n this.positionStrategy = null;\n this.positionStrategy = this.createPositionStrategy();\n if (!this.positionStrategy) {\n return null;\n }\n const result = this.positionStrategy.reposition();\n if (!result) {\n return null;\n }\n // Convert selected ConnectedPosition back to shorthand\n const shorthand = connectedPositionToShorthand(result.positionResult.position);\n if (shorthand) {\n this._position = shorthand;\n }\n return result;\n }\n}\n//# sourceMappingURL=popover.positioning.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { attr, css, ElementStyles, FASTElement, nullableNumberConverter, observable, Updates } from \"@microsoft/fast-element\";\nimport { uniqueId } from \"@microsoft/fast-web-utilities\";\nimport { debounce } from \"../../util/debounce.js\";\nimport { PopoverEventNames, PopoverRepositionModes, PositioningShorthand } from \"./popover.options\";\nimport { Positioning } from \"./popover.positioning.js\";\nconst TRANSITION_DURATION_DEFAULT = 100;\nconst TRANSITION_DELAY_DEFAULT = 0;\n/**\n * Popover\n * @summary A Popover component that displays content in a floating container, with configurable size, position, and behavior.\n *\n * @example\n * ```html\n * <fabric-popover beak size=\"large\" mode=\"auto\" position=\"above-center\" target-id=\"exampleTarget\" open>\n * <div slot=\"popover-trigger\">Click me</div>\n * <div slot=\"popover-content\">Popover content</div>\n * </fabric-popover>\n * ```\n *\n * @attr {boolean} beak - Whether the popover has a beak.\n * @attr {boolean} non-clickable - Indicates if the popover anchor is not clickable.\n * @attr {PopoverSize} size - The size of the popover.\n * @attr {PopoverMode} mode - The mode of the popover. In auto mode, the popover closes when the user clicks outside of it. In manual mode, the popover stays open.\n * @attr {PositioningShorthandValues} position - The position of the popover.\n * @attr {string} target-id - The ID of the target element.\n * @attr {PopoverRepositionMode} reposition-mode - Controls how the `FlexiblePositionStrategy` selects a fallback when the preferred `position` overflows the boundary. `\"flip\"` tries only the geometrically opposite position (default). `\"auto\"` evaluates all 12 positions and picks the one with the most available space. `\"none\"` disables automatic repositioning.\n * @attr {boolean} open - Whether the popover is open.\n * @attr {number} transition-duration - The duration of the transition of the popover. The default value is 100.\n * @attr {number} transition-delay - The delay of the transition of the popover. The default value is 0.\n *\n * @prop {HTMLElement[] | undefined} anchorReferences - The references to the anchoring / triggering element.\n * @prop {boolean} refsLoaded - Indicates if all references are loaded.\n * @prop {ElementStyles | undefined} styles - Stores the CSS variables required for animations.\n * @prop {boolean} transitionComplete - Indicates if the transition is complete.\n * @prop {PopoverRepositionMode} repositionMode - The mode for repositioning the popover.\n * @prop {HTMLPopoverElement | undefined} popoverReference - The reference to the popover element.\n * @prop {string | undefined} popoverRole - An optional user-defined role for the popover floating content element.\n * @prop {HTMLElement | undefined} overflowBoundary - Optional scrolling container used as the collision boundary by `FlexiblePositionStrategy`. When set, overflow is measured against this element instead of the document viewport, and its `scroll` events trigger repositioning. Only relevant when `reposition-mode` is not `\"none\"`.\n *\n * @slot popover-trigger - Slot for the popover trigger element.\n * @slot popover-content - Slot for the popover content.\n *\n * @csspart popover - The popover container.\n * @csspart beak - The beak element of the popover.\n * @csspart beak-shadow - The shadow element of the beak.\n *\n * @method hidePopover - Hides the popover.\n * @method showPopover - Shows the popover.\n * @method togglePopover - Toggles the popover open state.\n * @method emitHideEvent - Emits the hide event for the popover.\n * @method emitShowEvent - Emits the show event for the popover.\n * @method emitToggleEvent - Emits the toggle event for the popover.\n * @method emitMouseEnterEvent - Emits the mouse enter event for the popover.\n * @method emitMouseLeaveEvent - Emits the mouse leave event for the popover.\n * @method addActiveHandlers - Adds the event listeners for the popover when it is open.\n * @method createPositioningManager - Creates the positioning manager for the popover.\n * @method removeEventListeners - Removes event listeners from the popover.\n *\n * @fires hide-popover - Emits when the popover is hidden.\n * @fires show-popover - Emits when the popover is shown.\n * @fires toggle-popover - Emits when the popover is toggled.\n * @fires mouse-enter-popover - Emits when the mouse enters the popover.\n * @fires mouse-leave-popover - Emits when the mouse leaves the popover.\n *\n * @extends FASTElement\n * @tagname fabric-popover\n * @public\n */\nexport class Popover extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * The positioning instance for the popover.\n * @private\n */\n this.positioning = null;\n /**\n * Whether the popover has a beak.\n * @public\n * @type {boolean}\n * @attr\n */\n this.beak = false;\n /**\n * ## nonClickable\n *\n * controls whether the popover anchor is not clickable. When set to true, the popover will not close when the user clicks the trigger element.\n *\n * @public\n * @type {boolean}\n * @attr non-clickable\n * @default true\n */\n this.nonClickable = false;\n /**\n * The size of the popover.\n * @public\n * @type {PopoverSize}\n * @attr\n */\n this.size = \"medium\";\n /**\n * The mode of the popover. In auto mode, the popover closes when the user clicks outside of it. In manual mode, the popover stays open.\n * @public\n * @type {PopoverMode}\n * @attr\n */\n this.mode = \"manual\";\n /**\n * The position of the popover.\n * @public\n * @type {PositioningShorthandValues}\n * @attr\n */\n this.position = PositioningShorthand.belowCenter;\n this.refsLoaded = false;\n this.refsLoadedChanged = () => {\n this.addTransitionStyles();\n };\n /**\n * transitionDuration\n *\n * @summary - set the duration (in milliseconds) of popover transition for opening and close\n */\n this.transitionDuration = TRANSITION_DURATION_DEFAULT;\n /**\n * transitionDelay\n *\n * @summary - set the delay (in milliseconds) of popover transition for opening and close\n */\n this.transitionDelay = TRANSITION_DELAY_DEFAULT;\n /**\n * ## transitionComplete\n *\n * @summary - a boolean that is set to true when the transition is complete\n */\n this.transitionComplete = true;\n /**\n * ## onTransitionEnd\n */\n this.onTransitionEnd = () => {\n if (!this.transitionComplete) {\n this.transitionComplete = true;\n }\n };\n /**\n * ## onTransitionStart\n */\n this.onTransitionStart = () => {\n if (this.transitionComplete) {\n this.transitionComplete = false;\n }\n };\n /**\n * The mode for repositioning the popover via `FlexiblePositionStrategy`.\n *\n * - `\"flip\"` (default) — tries only the geometrically opposite position\n * (e.g. `above-center` ↔ `below-center`) as a fallback.\n * - `\"auto\"` — evaluates all 12 `PositioningShorthand` positions and picks\n * the one with the most available space.\n * - `\"none\"` — disables automatic repositioning; the popover stays at the\n * declared `position`.\n * @public\n * @type {PopoverRepositionMode}\n * @attr reposition-mode\n * @default flip\n */\n this.repositionMode = PopoverRepositionModes.flip;\n /**\n * ## open\n *\n * @summary Opens and closes the popover. It's used to control the popover from the outside. However, it's not recommended to use this property to control the popover before load. To control the popover correctly, wait until the window has fully loaded before opening the popover. Whether the popover is open.\n * @public\n * @type {boolean}\n * @attr\n * @default false\n */\n this.open = false;\n /**\n * Hides the popover.\n * @public\n */\n this.hidePopover = () => {\n this.open = false;\n this.emitHideEvent();\n };\n /**\n * Shows the popover.\n * @public\n */\n this.showPopover = () => {\n this.open = true;\n this.emitShowEvent();\n };\n /**\n * Toggles the popover open state.\n * @public\n */\n this.togglePopover = () => {\n this.open = !this.open;\n this.emitToggleEvent();\n return this.open;\n };\n /**\n * Emits the hide event for the popover.\n * @public\n */\n this.emitHideEvent = () => {\n var _a;\n (_a = this.popoverReference) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new CustomEvent(PopoverEventNames.hide, {\n bubbles: true,\n composed: true,\n detail: {\n target: this,\n open: this.open,\n newState: \"closed\"\n }\n }));\n };\n /**\n * Emits the show event for the popover.\n * @public\n */\n this.emitShowEvent = () => {\n var _a;\n (_a = this.popoverReference) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new CustomEvent(PopoverEventNames.show, {\n bubbles: true,\n composed: true,\n detail: {\n target: this,\n open: this.open,\n newState: \"open\"\n }\n }));\n };\n /**\n * Emits the mouse enter event for the popover.\n * @public\n */\n this.emitMouseEnterEvent = () => {\n this.dispatchEvent(new CustomEvent(PopoverEventNames.mouseEnter, {\n bubbles: true,\n composed: true,\n detail: {\n target: this,\n open: this.open,\n newState: \"open\"\n }\n }));\n };\n /**\n * Emits the mouse leave event for the popover.\n * @public\n */\n this.emitMouseLeaveEvent = () => {\n this.dispatchEvent(new CustomEvent(PopoverEventNames.mouseLeave, {\n bubbles: true,\n composed: true,\n detail: {\n target: this,\n open: this.open,\n newState: \"closed\"\n }\n }));\n };\n /**\n * ## addMouseOverEventListeners\n *\n * @summary Adds event listeners to the popoverReference to emit mouseEnter and mouseLeave events. Adds mouse over event listeners to the popover.\n * @private\n */\n this.addMouseOverEventListeners = () => {\n var _a, _b, _c, _d;\n (_a = this.popoverReference) === null || _a === void 0 ? void 0 : _a.addEventListener(\"transitionstart\", this.onTransitionStart);\n (_b = this.popoverReference) === null || _b === void 0 ? void 0 : _b.addEventListener(\"transitionend\", this.onTransitionEnd);\n (_c = this.popoverReference) === null || _c === void 0 ? void 0 : _c.addEventListener(\"mouseenter\", this.emitMouseEnterEvent);\n (_d = this.popoverReference) === null || _d === void 0 ? void 0 : _d.addEventListener(\"mouseleave\", this.emitMouseLeaveEvent);\n };\n /**\n * Removes mouse over event listeners from the popover.\n * @private\n */\n this.removeMouseOverEventListeners = () => {\n var _a, _b, _c, _d;\n (_a = this.popoverReference) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"transitionstart\", this.onTransitionStart);\n (_b = this.popoverReference) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"transitionend\", this.onTransitionEnd);\n (_c = this.popoverReference) === null || _c === void 0 ? void 0 : _c.removeEventListener(\"mouseenter\", this.emitMouseEnterEvent);\n (_d = this.popoverReference) === null || _d === void 0 ? void 0 : _d.removeEventListener(\"mouseleave\", this.emitMouseLeaveEvent);\n };\n /**\n * ## handleWindowChanges\n *\n * @summary debounced method to handle window changes. It observes the popover for overflow and repositions the popover when the window is resized or the overflowBoundary is scrolled. Handles window changes with a debounce.\n * @private\n */\n this.handleWindowChanges = debounce(() => {\n var _a;\n const popover = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\".popover\");\n if (popover) {\n // The reason for adding and removing the transition styles is to prevent the popover from animating when the window is resized\n this.removeTransitionStyles();\n }\n this.observePopoverOverflow();\n setTimeout(() => {\n if (popover) {\n // The reason for adding and removing the transition styles is to prevent the popover from animating when the window is resized\n this.addTransitionStyles();\n }\n }, 1000);\n }, 50);\n /**\n * Handles window click events.\n * Uses composedPath() to properly detect clicks inside shadow DOM triggers.\n * @private\n */\n this.handleWindowClick = (event) => {\n const composedPath = event.composedPath();\n if (this.anchorReferences &&\n this.anchorReferences[0] &&\n composedPath.includes(this.anchorReferences[0])) {\n return;\n }\n else if (this.open) {\n this.hidePopover();\n }\n };\n }\n nonClickableChanged() {\n this.processAnchorEventListeners();\n }\n /**\n * Handles changes to the public `position` attribute.\n * Updates the positioning strategy and triggers a reposition if the\n * popover is currently open, without closing/reopening.\n * @public\n */\n positionChanged() {\n if (this.positioning) {\n this.positioning.position = this.position;\n }\n if (this.open) {\n this.observePopoverOverflow();\n }\n }\n /**\n * Handles changes to the anchor references.\n * Adds anchor attributes and event listeners when the anchor is added to the DOM.\n * @internal\n */\n anchorReferencesChanged() {\n this.initializeTargetId();\n this.processAnchorEventListeners();\n this.checkAllLoaded();\n this.observePopoverOverflow();\n }\n /**\n * ## checkAllLoaded\n *\n * @summary checks if all the refs are loaded. If they are, it sets the refsLoaded property to true.\n */\n checkAllLoaded() {\n if (this.popoverReference &&\n this.anchorReferences &&\n this.anchorReferences.length > 0 &&\n this.transitionDuration !== undefined &&\n this.transitionDelay !== undefined) {\n this.refsLoaded = true;\n }\n }\n transitionDurationChanged() {\n this.addTransitionStyles();\n }\n /**\n * ## transitionDelayChanged\n */\n transitionDelayChanged() {\n this.addTransitionStyles();\n }\n /**\n * ## addTransitionStyles\n *\n * @summary - adds the transition styles to the popover element\n */\n addTransitionStyles() {\n var _a;\n if (this.transitionDelay !== undefined &&\n this.transitionDuration !== undefined) {\n const newStyles = css /**css*/ `\n :host {\n --popoverTransition: ${this.transitionDuration.toString()}ms;\n --popoverTransitionDelay: ${this.transitionDelay.toString()}ms;\n }\n `;\n if (newStyles.styles[0] !== ((_a = this.styles) === null || _a === void 0 ? void 0 : _a.styles[0])) {\n this.styles = newStyles;\n this.$fastController.addStyles(this.styles);\n }\n }\n }\n /**\n * ## removeTransitionStyles\n *\n * @summary - removes the transition styles from the popover element\n */\n removeTransitionStyles() {\n this.styles = css /**css*/ `\n :host {\n --popoverTransition: 0ms;\n --popoverTransitionDelay: 0ms;\n }\n `;\n this.$fastController.addStyles(this.styles);\n }\n /**\n * ## openPositions\n *\n * @summary An array of open positions based on the collisionEdge Handles changes to the reposition mode.\n * @public\n */\n repositionModeChanged() {\n if (this.positioning) {\n this.positioning.repositionMode = this.repositionMode;\n }\n }\n /**\n * ## openChanged\n *\n * @summary Adds and removes many of the event listeners for the popover. Handles changes to the open state of the popover. Opens and closes the popover, controlling it from the outside. It's recommended to wait until the window has fully loaded before opening the popover. Adds and removes many of the event listeners.\n * @public\n */\n openChanged() {\n var _a;\n if (this.popoverReference) {\n if (this.open) {\n // Set up positioning and event handlers first\n this.addActiveHandlers();\n // Apply best position before making visible to prevent flash\n this.observePopoverOverflow();\n // Now make visible\n this.popoverReference.classList.add(\"popover-open\");\n }\n else {\n (_a = this.popoverReference) === null || _a === void 0 ? void 0 : _a.classList.remove(\"popover-open\");\n this.removeEventListeners();\n }\n }\n }\n /**\n * ## addActiveHandlers\n *\n * @summary Adds the event listeners for the popover when it is open. Adds active handlers for the popover.\n * @private\n */\n addActiveHandlers() {\n this.addRepositioningHandlers();\n this.addOverlayEventListeners();\n this.addMouseOverEventListeners();\n this.createPositioningManager();\n }\n /**\n * Handles changes to the popover reference element.\n * @internal\n */\n popoverReferenceChanged() {\n this.checkAllLoaded();\n this.observePopoverOverflow();\n }\n /**\n * ## initializeTargetId\n *\n * @summary initializes the targetId with a random id if it's not set by the user. The usefulness of this may not be apparent by the code. When the aria-describedby attribute of the trigger is set to the id of the target (popover), the aria-describedby content will reflect the content of the popover.\n * Initializes the target ID with a random ID if it's not set by the user.\n * @private\n */\n initializeTargetId() {\n if (!this.targetId) {\n const popoverId = uniqueId(\"popover-target-\");\n this.targetId = popoverId;\n }\n if (this.anchorReferences && this.anchorReferences.length > 0) {\n this.anchorReferences[0].setAttribute(\"aria-describedby\", this.targetId);\n }\n }\n /**\n * Handles changes to the overflow boundary.\n * @public\n */\n overflowBoundaryChanged() {\n this.addOverflowBoundaryEventListeners();\n }\n /**\n * Emits the toggle event for the popover.\n * @public\n */\n emitToggleEvent() {\n var _a;\n (_a = this.popoverReference) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new CustomEvent(PopoverEventNames.toggle, {\n bubbles: true,\n composed: true,\n detail: {\n target: this,\n open: this.open,\n newState: this.open ? \"open\" : \"closed\"\n }\n }));\n }\n /**\n * addAnchorEventListeners\n *\n * @summary the popover defaults to adding a click event listener on any clickable anchor reference\n * Adds event listeners to the anchor.\n * @private\n */\n processAnchorEventListeners() {\n if (this.anchorReferences && this.anchorReferences.length) {\n if (this.nonClickable === false) {\n this.anchorReferences[0].addEventListener(\"click\", this.togglePopover);\n }\n else {\n this.anchorReferences[0].removeEventListener(\"click\", this.togglePopover);\n }\n }\n }\n /**\n * Adds overflow boundary event listeners if the overflow boundary exists.\n * @private\n */\n addOverflowBoundaryEventListeners() {\n if (this.overflowBoundary) {\n this.overflowBoundary.addEventListener(\"scroll\", this.handleWindowChanges);\n }\n }\n /**\n * Adds window event listeners.\n * @private\n */\n addWindowEventListeners() {\n window.addEventListener(\"resize\", this.handleWindowChanges);\n window.addEventListener(\"scroll\", this.handleWindowChanges);\n }\n /**\n * Removes window event listeners.\n * @private\n */\n removeWindowEventListeners() {\n window.removeEventListener(\"resize\", this.handleWindowChanges);\n window.removeEventListener(\"scroll\", this.handleWindowChanges);\n }\n /**\n * ## addOverlayEventListeners\n *\n * @summary Adds event listeners to the window or overflowBoundary to close the popover when the user clicks outside of the popover. Adds overlay event listeners.\n * @private\n */\n addOverlayEventListeners() {\n if (this.overflowBoundary && this.mode === \"auto\") {\n this.overflowBoundary.addEventListener(\"click\", this.handleWindowClick);\n }\n else if (this.mode === \"auto\") {\n document.addEventListener(\"click\", this.handleWindowClick);\n }\n }\n /**\n * Removes overlay event listeners.\n * @private\n */\n removeOverlayEventListeners() {\n if (this.overflowBoundary && this.mode === \"auto\") {\n this.overflowBoundary.removeEventListener(\"click\", this.handleWindowClick);\n }\n else if (this.mode === \"auto\") {\n document.removeEventListener(\"click\", this.handleWindowClick);\n }\n }\n /**\n * Checks for overflow and repositions the popover if needed.\n * Writes the resolved position to a `data-position` attribute on\n * the internal `.popover` element so shadow-DOM CSS can follow\n * the repositioned placement without mutating the public `position`\n * attribute.\n * @private\n */\n checkOverflow() {\n if (!this.positioning || !this.popoverReference) {\n return;\n }\n this.positioning.position = this.position;\n const result = this.positioning.reposition();\n if (result) {\n this.popoverReference.dataset.position =\n this.positioning.position;\n }\n }\n /**\n * ## addRepositioningHandlers\n *\n * @summary Adds event listeners to the window and overflowBoundary to reposition the popover when the window is resized or the overflowBoundary is scrolled. Adds repositioning handlers to the popover.\n * @public\n */\n addRepositioningHandlers() {\n if (this.repositionMode !== \"none\") {\n this.addWindowEventListeners();\n }\n }\n /**\n * Creates a new {@link Positioning} instance that wraps `FlexiblePositionStrategy`\n * for this popover.\n *\n * Called every time the popover opens (`openChanged`). Passes the current\n * `repositionMode`, anchor reference, popover element, optional\n * `overflowBoundary`, and the `beak` flag so beak-gap offsets are applied\n * to every candidate position.\n * @public\n */\n createPositioningManager() {\n var _a;\n if (this.popoverReference) {\n this.positioning = null;\n this.positioning = new Positioning({\n repositionMode: this.repositionMode,\n popoverReference: this.popoverReference,\n anchorReference: (_a = this.anchorReferences) === null || _a === void 0 ? void 0 : _a[0],\n overflowBoundaryReference: this.overflowBoundary,\n hasBeak: this.beak\n });\n }\n }\n /**\n * Removes event listeners from the popover.\n * @public\n */\n removeEventListeners() {\n if (this.popoverReference) {\n this.removeWindowEventListeners();\n this.removeOverlayEventListeners();\n this.removeMouseOverEventListeners();\n }\n }\n /**\n * Schedules an overflow check via `FlexiblePositionStrategy` on the next\n * animation frame using `Updates.enqueue()`.\n *\n * Coordinates are applied before the popover becomes visible, preventing a\n * layout flash on open. Also called on every resize and scroll event while\n * the popover is open.\n * @private\n */\n observePopoverOverflow() {\n Updates.enqueue(() => {\n this.checkOverflow();\n });\n }\n connectedCallback() {\n var _a;\n super.connectedCallback();\n if (this.open) {\n (_a = this.popoverReference) === null || _a === void 0 ? void 0 : _a.classList.add(\"popover-open\");\n }\n }\n}\n__decorate([\n attr({ mode: \"boolean\" })\n], Popover.prototype, \"beak\", void 0);\n__decorate([\n attr({ mode: \"boolean\", attribute: \"non-clickable\" })\n], Popover.prototype, \"nonClickable\", void 0);\n__decorate([\n attr\n], Popover.prototype, \"size\", void 0);\n__decorate([\n attr\n], Popover.prototype, \"mode\", void 0);\n__decorate([\n attr\n], Popover.prototype, \"position\", void 0);\n__decorate([\n attr({ attribute: \"target-id\" })\n], Popover.prototype, \"targetId\", void 0);\n__decorate([\n observable\n], Popover.prototype, \"anchorReferences\", void 0);\n__decorate([\n observable\n], Popover.prototype, \"refsLoaded\", void 0);\n__decorate([\n attr({\n attribute: \"transition-duration\",\n converter: nullableNumberConverter\n })\n], Popover.prototype, \"transitionDuration\", void 0);\n__decorate([\n attr({\n attribute: \"transition-delay\",\n converter: nullableNumberConverter\n })\n], Popover.prototype, \"transitionDelay\", void 0);\n__decorate([\n attr({ attribute: \"reposition-mode\" })\n], Popover.prototype, \"repositionMode\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], Popover.prototype, \"open\", void 0);\n__decorate([\n observable\n], Popover.prototype, \"popoverReference\", void 0);\n__decorate([\n observable\n], Popover.prototype, \"popoverRole\", void 0);\n__decorate([\n observable\n], Popover.prototype, \"overflowBoundary\", void 0);\n//# sourceMappingURL=popover.js.map","import { borderRadiusMedium, colorNeutralBackground1, colorTransparentStrokeInteractive, display, fontFamilyBase, shadow8, spacingHorizontalL, spacingHorizontalM, spacingHorizontalXL, spacingVerticalL } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${display(\"block\")}\n\n .popover-container {\n position: relative;\n width: fit-content;\n }\n\n .popover {\n font-family: ${fontFamilyBase};\n background-color: ${colorNeutralBackground1};\n border-radius: ${borderRadiusMedium};\n border: 1px solid ${colorTransparentStrokeInteractive};\n box-shadow: ${shadow8};\n\n visibility: hidden;\n opacity: 0;\n z-index: 0;\n position: absolute;\n\n margin: 0;\n min-width: 50px; /* @design-token-ok */\n min-height: 68px; /* @design-token-ok */\n max-width: var(--popoverMaxWidth, 260px);\n\n width: max-content;\n height: max-content;\n padding: ${spacingHorizontalL};\n\n transition-property: opacity, visibility;\n transition-duration: var(--popoverTransition, 0ms);\n transition-delay: var(--popoverTransitionDelay, 0ms);\n }\n\n .popover.popover-open {\n visibility: visible;\n display: block;\n opacity: 1;\n z-index: 1000;\n }\n\n :host([size=\"small\"]) .popover {\n padding: ${spacingHorizontalM};\n max-width: var(--popoverMaxWidth, 214px);\n }\n\n :host([size=\"large\"]) .popover {\n padding: ${spacingHorizontalXL};\n max-width: var(--popoverMaxWidth, 317px);\n }\n\n .beak {\n position: absolute;\n top: 0;\n width: 0;\n height: 0;\n border-inline-start: 8px solid transparent;\n border-inline-end: 8px solid transparent;\n border-bottom: 8px solid ${colorNeutralBackground1};\n z-index: 1;\n }\n\n :host([beak]) .beak-shadow::after {\n content: \"\";\n position: absolute;\n width: 0;\n height: 0;\n border-inline-start: 8px solid transparent;\n border-inline-end: 9px solid transparent;\n border-bottom: 8px solid rgba(0, 0, 0, 0.14); /* @design-token-ok */\n filter: blur(8px);\n z-index: 0;\n\n opacity: 0;\n transition: all var(--popoverTransition, 0ms);\n transition-delay: var(--popoverTransitionDelay, 0ms);\n }\n\n :host([open][beak]) .beak-shadow:after {\n opacity: 1;\n }\n\n :host([beak]) .popover[data-position=\"above-start\"] ~ .beak-shadow:after {\n start: calc(\n 16px + var(--beakShadowHorizontalNudge, 0px)\n ); /* @design-token-ok */\n top: calc(\n -8px + var(--beakShadowVerticalNudge, 0px)\n ); /* @design-token-ok */\n transform: rotate(180deg);\n }\n\n :host([beak]) .popover[data-position=\"above-start\"] .beak {\n start: 16px; /* @design-token-ok */\n top: 100%;\n transform: rotate(180deg);\n }\n\n :host([beak]) .popover[data-position=\"above-center\"] ~ .beak-shadow:after {\n inset-inline-start: calc(50% - 8px + var(--beakShadowHorizontalNudge, 0px));\n top: calc(-8px + var(--beakShadowVerticalNudge, 0px));\n transform: rotate(180deg);\n }\n\n :host([beak]) .popover[data-position=\"above-center\"] .beak {\n inset-inline-start: calc(50% - 8px);\n top: 100%;\n transform: rotate(180deg);\n }\n\n :host([beak]) .popover[data-position=\"above-end\"] ~ .beak-shadow:after {\n inset-inline-end: calc(\n ${spacingHorizontalL} + var(--beakShadowHorizontalNudge, 0px)\n );\n top: calc(-8px + var(--beakShadowVerticalNudge, 0px));\n transform: rotate(180deg);\n }\n\n :host([beak]) .popover[data-position=\"above-end\"] .beak {\n inset-inline-end: ${spacingHorizontalL};\n top: 100%;\n transform: rotate(180deg);\n }\n\n :host([beak]) .popover[data-position=\"end-top\"] ~ .beak-shadow:after {\n inset-inline-start: calc(\n 100% - 1px + var(--beakShadowHorizontalNudge, 0px)\n );\n top: calc(18px + var(--beakShadowVerticalNudge, 0px));\n transform: rotate(270deg);\n border-bottom: 8px solid rgba(0, 0, 0, 0.07); /* @design-token-ok */\n filter: blur(2px);\n }\n\n :host([beak]) .popover[data-position=\"end-top\"] .beak {\n inset-inline-start: -12px; /* @design-token-ok */\n top: ${spacingVerticalL};\n transform: rotate(270deg);\n }\n\n :host([beak]) .popover[data-position=\"end-middle\"] ~ .beak-shadow:after {\n inset-inline-start: calc(\n 100% - 1px + var(--beakShadowHorizontalNudge, 0px)\n );\n top: calc(50% - 2px + var(--beakShadowVerticalNudge, 0px));\n transform: rotate(270deg);\n border-bottom: 8px solid rgba(0, 0, 0, 0.11); /* @design-token-ok */\n filter: blur(2px);\n }\n\n :host([beak]) .popover[data-position=\"end-middle\"] .beak {\n inset-inline-start: -12px; /* @design-token-ok */\n top: calc(50% - 4px);\n transform: rotate(270deg);\n }\n\n :host([beak]) .popover[data-position=\"end-bottom\"] ~ .beak-shadow:after {\n inset-inline-start: calc(\n 100% - 1px + var(--beakShadowHorizontalNudge, 0px)\n );\n top: unset;\n bottom: calc(18px + var(--beakShadowVerticalNudge, 0px));\n transform: rotate(270deg);\n border-bottom: 8px solid rgba(0, 0, 0, 0.07); /* @design-token-ok */\n filter: blur(2px);\n }\n\n :host([beak]) .popover[data-position=\"end-bottom\"] .beak {\n inset-inline-start: -12px; /* @design-token-ok */\n top: unset;\n bottom: ${spacingVerticalL};\n transform: rotate(270deg);\n }\n\n :host([beak]) .popover[data-position=\"below-start\"] ~ .beak-shadow:after {\n inset-inline-start: calc(\n ${spacingHorizontalL} + var(--beakShadowHorizontalNudge, 0px)\n );\n top: unset;\n bottom: -12px; /* @design-token-ok */\n transform: rotate(0deg);\n border-bottom: 8px solid rgba(0, 0, 0, 0.07); /* @design-token-ok */\n filter: blur(2px);\n }\n\n :host([beak]) .popover[data-position=\"below-start\"] .beak {\n inset-inline-start: ${spacingHorizontalL};\n top: -8px;\n transform: rotate(0deg);\n }\n\n :host([beak]) .popover[data-position=\"below-center\"] ~ .beak-shadow:after {\n inset-inline-start: calc(50% - 8px + var(--beakShadowHorizontalNudge, 0px));\n top: unset;\n bottom: -8px;\n transform: rotate(0deg);\n border-bottom: 8px solid rgba(0, 0, 0, 0.07); /* @design-token-ok */\n filter: blur(2px);\n }\n\n :host([beak]) .popover[data-position=\"below-center\"] .beak {\n inset-inline-start: calc(50% - 8px);\n top: -8px;\n transform: rotate(0deg);\n }\n\n :host([beak]) .popover[data-position=\"below-end\"] ~ .beak-shadow:after {\n inset-inline-end: calc(\n ${spacingHorizontalL} + var(--beakShadowHorizontalNudge, 0px)\n );\n top: unset;\n bottom: -12px; /* @design-token-ok */\n transform: rotate(0deg);\n border-bottom: 8px solid rgba(0, 0, 0, 0.07); /* @design-token-ok */\n filter: blur(2px);\n }\n\n :host([beak]) .popover[data-position=\"below-end\"] .beak {\n inset-inline-end: ${spacingHorizontalL};\n top: -8px;\n transform: rotate(0deg);\n }\n\n :host([beak]) .popover[data-position=\"start-top\"] ~ .beak-shadow:after {\n inset-inline-start: calc(\n -15px + var(--beakShadowHorizontalNudge, 0px)\n ); /* @design-token-ok */\n top: calc(\n 18px + var(--beakShadowVerticalNudge, 0px)\n ); /* @design-token-ok */\n transform: rotate(90deg);\n border-bottom: 8px solid rgba(0, 0, 0, 0.07); /* @design-token-ok */\n filter: blur(2px);\n }\n\n :host([beak]) .popover[data-position=\"start-top\"] .beak {\n inset-inline-end: -12px; /* @design-token-ok */\n top: ${spacingVerticalL};\n transform: rotate(90deg);\n }\n\n :host([beak]) .popover[data-position=\"start-middle\"] ~ .beak-shadow:after {\n inset-inline-start: calc(\n -15px + var(--beakShadowHorizontalNudge, 0px)\n ); /* @design-token-ok */\n top: calc(50% - 2px + var(--beakShadowVerticalNudge, 0px));\n transform: rotate(90deg);\n border-bottom: 8px solid rgba(0, 0, 0, 0.11); /* @design-token-ok */\n filter: blur(2px);\n }\n\n :host([beak]) .popover[data-position=\"start-middle\"] .beak {\n inset-inline-end: -12px; /* @design-token-ok */\n top: calc(50% - 4px);\n transform: rotate(90deg);\n }\n\n :host([beak]) .popover[data-position=\"start-bottom\"] ~ .beak-shadow:after {\n inset-inline-start: calc(\n -15px + var(--beakShadowHorizontalNudge, 0px)\n ); /* @design-token-ok */\n top: unset;\n bottom: calc(18px + var(--beakShadowVerticalNudge, 0px));\n transform: rotate(90deg);\n border-bottom: 8px solid rgba(0, 0, 0, 0.07); /* @design-token-ok */\n filter: blur(2px);\n }\n\n :host([beak]) .popover[data-position=\"start-bottom\"] .beak {\n inset-inline-end: -12px; /* @design-token-ok */\n top: unset;\n bottom: ${spacingVerticalL};\n transform: rotate(90deg);\n }\n`;\n//# sourceMappingURL=popover.styles.js.map","import { html, ref, slotted, when } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#Popover} component.\n *\n * @public\n * @remarks\n * This template provides the HTML structure and bindings for the `Popover` component.\n * It includes slots for `popover-trigger` and `popover-content`, and conditionally\n * renders a beak element when the `beak` property is true and the `Popover` is open.\n *\n * @param {any} options - Additional options that customize the template.\n *\n * @slot popover-trigger - The trigger element that opens the popover.\n * @slot popover-content - The content to display inside the popover.\n *\n * @csspart popover - The main popover element.\n * @csspart beak - The beak element of the popover.\n * @csspart beak-shadow - The shadow of the beak element.\n *\n * @returns {ElementViewTemplate<Popover>} The template for the `Popover` component.\n */\nfunction popoverTemplate() {\n return html `\n <slot name=\"start\"></slot>\n <div class=\"popover-container\" role=\"dialog\">\n <slot name=\"popover-trigger\" ${slotted(\"anchorReferences\")}></slot>\n <div\n role=\"${(x) => x.popoverRole}\"\n aria-label=\"${(x) => x.ariaLabel}\"\n class=\"popover\"\n part=\"popover\"\n id=\"${(x) => x.targetId}\"\n ${ref(\"popoverReference\")}\n >\n <slot name=\"popover-content\" part=\"popover-content\"></slot>\n ${when((x) => x.beak, html `\n <div part=\"beak\" class=\"beak\"></div>\n `)}\n </div>\n ${when((x) => x.beak, html `\n <div part=\"beak-shadow\" class=\"beak-shadow\"></div>\n `)}\n </div>\n <slot name=\"end\"></slot>\n `;\n}\nexport const template = popoverTemplate();\n//# sourceMappingURL=popover.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { Popover } from \"./popover.js\";\nimport { styles } from \"./popover.styles.js\";\nimport { template } from \"./popover.template.js\";\nexport const definition = Popover.compose({\n name: `${DesignSystem.prefix}-popover`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=popover.definition.js.map","/**\n * DOM custom event names emitted by `fabric-pagination`.\n */\nexport const PaginationEventNames = {\n /**\n * Fired when the current page changes due to user or programmatic navigation.\n */\n pageChange: \"page-change\"\n};\n//# sourceMappingURL=pagination.events.js.map","/**\n * Number of page buttons visible at the start or end of a truncated range.\n *\n * When the active page is near a range boundary, the design shows five\n * consecutive pages plus an ellipsis and the opposite boundary page.\n */\nexport const PAGE_WINDOW_SIZE = 5;\n/**\n * Maximum number of visible page slots in default pagination.\n */\nexport const PAGE_VISIBLE_SLOT_COUNT = 7;\n/**\n * Supported visual variants for `fabric-pagination`.\n */\nexport const PaginationVariants = {\n /**\n * Full pagination with previous/next controls and page number buttons.\n */\n default: \"default\",\n /**\n * Condensed pagination with first/previous/next/last icon controls and summary text.\n */\n compact: \"compact\"\n};\n//# sourceMappingURL=pagination.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, attr, observable } from \"@microsoft/fast-element\";\nimport { getString } from \"@fabric-msft/localization\";\nimport { PaginationEventNames } from \"./pagination.events.js\";\nimport { PAGE_VISIBLE_SLOT_COUNT, PAGE_WINDOW_SIZE, PaginationVariants } from \"./pagination.options.js\";\nconst responsiveBreakpoints = {\n compactWithBoundaries: 480,\n numeric: 640,\n full: 1024\n};\n/**\n * Pagination web component state and behavior.\n *\n * Renders an accessible pagination control in either the `default` or\n * `compact` variant. The public API stays focused on pagination state while\n * the component owns its internal ARIA relationships.\n *\n * @summary Provides page navigation in default and compact variants.\n * @slot label-previous - Visible text content for the previous button in the default variant.\n * @slot label-next - Visible text content for the next button in the default variant.\n * @fires page-change - Fired when the current page changes due to user or programmatic navigation.\n * @example\n * ```html\n * <fabric-pagination variant=\"default\" current-page=\"5\" total-pages=\"10\"></fabric-pagination>\n * ```\n * @example Localized compact dropdown options\n * ```html\n * <fabric-pagination\n * variant=\"compact\"\n * current-page=\"3\"\n * total-pages=\"10\"\n * label-page-option=\"Seite {page} von {total}\"\n * label-page-button=\"Seite {page}\"\n * ></fabric-pagination>\n * ```\n */\nexport class Pagination extends FASTElement {\n constructor() {\n super(...arguments);\n this.responsiveLayout = \"full\";\n this.isPaginationStateNormalizationQueued = false;\n this.updateResponsiveLayout = () => {\n this.responsiveLayout = this.resolveResponsiveLayout();\n };\n /**\n * Visual variant of the control.\n */\n this.variant = PaginationVariants.default;\n /**\n * Currently selected page (1-based).\n *\n * Reflected to the `current-page` attribute.\n */\n this.currentPage = 1;\n /**\n * Total number of available pages.\n *\n * Reflected to the `total-pages` attribute.\n */\n this.totalPages = 1;\n /**\n * Disables interaction when true.\n */\n this.disabled = false;\n /**\n * Localizable template string for compact-variant dropdown option labels.\n *\n * Use `{page}` and `{total}` as substitution tokens.\n *\n * @default \"Page {page} of {total}\"\n * @example `\"Seite {page} von {total}\"` → `\"Seite 3 von 10\"`\n */\n this.labelPageOption = \"\";\n /**\n * Localizable template string for default-variant page-number button `aria-label` values.\n *\n * Use `{page}` as the substitution token.\n *\n * @default \"Page {page}\"\n * @example `\"Seite {page}\"` → `\"Seite 5\"`\n */\n this.labelPageButton = \"\";\n /**\n * Accessible label for the navigation landmark.\n *\n * Reflected to the `label-navigation` attribute.\n */\n this.labelNavigation = \"\";\n /**\n * Accessible label for the first-page button (compact variant).\n *\n * Reflected to the `label-first-page` attribute.\n */\n this.labelFirstPage = \"\";\n /**\n * Accessible label for the previous-page button (compact variant).\n *\n * Reflected to the `label-previous-page` attribute.\n */\n this.labelPreviousPage = \"\";\n /**\n * Accessible label for the next-page button (compact variant).\n *\n * Reflected to the `label-next-page` attribute.\n */\n this.labelNextPage = \"\";\n /**\n * Accessible label for the last-page button (compact variant).\n *\n * Reflected to the `label-last-page` attribute.\n */\n this.labelLastPage = \"\";\n /**\n * Accessible label for the page-summary dropdown (compact variant).\n *\n * Reflected to the `label-page-summary` attribute.\n */\n this.labelPageSummary = \"\";\n /**\n * Accessible label for the page-number group (default variant).\n *\n * Reflected to the `label-page-numbers` attribute.\n */\n this.labelPageNumbers = \"\";\n /**\n * Visible label for the previous button in the default variant.\n *\n * Reflected to the `label-previous` attribute and used as the fallback for\n * the `label-previous` slot.\n */\n this.labelPrevious = \"\";\n /**\n * Visible label for the next button in the default variant.\n *\n * Reflected to the `label-next` attribute and used as the fallback for the\n * `label-next` slot.\n */\n this.labelNext = \"\";\n }\n /** @internal */\n connectedCallback() {\n var _a;\n super.connectedCallback();\n (_a = globalThis.window) === null || _a === void 0 ? void 0 : _a.addEventListener(\"resize\", this.updateResponsiveLayout);\n this.queuePaginationStateNormalization();\n this.updateResponsiveLayout();\n }\n /** @internal */\n disconnectedCallback() {\n var _a;\n (_a = globalThis.window) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"resize\", this.updateResponsiveLayout);\n super.disconnectedCallback();\n }\n /** Handles compact dropdown selection changes. */\n handleCompactDropdownChange(event) {\n this.goToPage(Number(event.currentTarget.value));\n }\n /** @internal */\n currentPageChanged() {\n if (this.isConnected)\n this.queuePaginationStateNormalization();\n }\n /** @internal */\n totalPagesChanged() {\n if (this.isConnected)\n this.queuePaginationStateNormalization();\n }\n /** @internal Whether the current responsive state should use compact dropdown controls. */\n get usesCompactControls() {\n return (this.variant === PaginationVariants.compact ||\n this.responsiveLayout === \"compact-minimal\" ||\n this.responsiveLayout === \"compact\");\n }\n /** @internal Whether compact mode should include first/last boundary controls. */\n get showCompactBoundaryControls() {\n return (this.variant === PaginationVariants.compact ||\n this.responsiveLayout !== \"compact-minimal\");\n }\n /** @internal Whether default mode should show visible Previous/Next text labels. */\n get showTextNavigation() {\n return this.responsiveLayout === \"full\";\n }\n /** @internal Gets a localized string used by the pagination template. */\n getLocalizedString(key) {\n return getString(key);\n }\n /**\n * Builds the display string for a compact-variant dropdown option.\n *\n * Substitutes `{page}` and `{total}` tokens in {@link labelPageOption}.\n *\n * @param page - 1-based page number.\n */\n pageOptionLabel(page) {\n return this.formatLabelTemplate(this.labelPageOption || this.getLocalizedString(\"Pagination_PageOption\"), {\n page: String(page),\n total: String(this.normalizedTotalPages)\n });\n }\n /**\n * Builds the `aria-label` string for a default-variant page-number button.\n *\n * Substitutes the `{page}` token in {@link labelPageButton}.\n *\n * @param page - 1-based page number.\n */\n pageButtonLabel(page) {\n return this.formatLabelTemplate(this.labelPageButton || this.getLocalizedString(\"Pagination_PageButton\"), {\n page: String(page)\n });\n }\n /**\n * Replaces all supported localization tokens in a label template.\n */\n formatLabelTemplate(template, values) {\n return Object.entries(values).reduce((label, [token, value]) => label.split(`{${token}}`).join(value), template);\n }\n /**\n * Sanitized total page count constrained to an integer >= 1.\n */\n get normalizedTotalPages() {\n return this.sanitizeTotalPages(this.totalPages);\n }\n /**\n * Sanitized current page constrained to the valid page range.\n */\n get normalizedCurrentPage() {\n return this.sanitizePage(this.currentPage);\n }\n /**\n * Navigates to a specific page number.\n *\n * No-ops when disabled or when the requested page equals the current page.\n *\n * @param page - Requested destination page.\n */\n goToPage(page) {\n if (this.disabled)\n return;\n const next = this.sanitizePage(page);\n const current = this.normalizedCurrentPage;\n if (next === current)\n return;\n const previous = current;\n this.currentPage = next;\n this.emitPageChange(previous, next);\n }\n /**\n * Navigates to the next page.\n */\n nextPage() {\n this.goToPage(this.normalizedCurrentPage + 1);\n }\n /**\n * Navigates to the previous page.\n */\n previousPage() {\n this.goToPage(this.normalizedCurrentPage - 1);\n }\n /**\n * Navigates to the first page.\n */\n firstPage() {\n this.goToPage(1);\n }\n /**\n * Navigates to the last page.\n */\n lastPage() {\n this.goToPage(this.normalizedTotalPages);\n }\n /**\n * Computed item model used by the template to render page controls.\n */\n get pageItems() {\n const total = this.normalizedTotalPages;\n const current = this.normalizedCurrentPage;\n if (total <= PAGE_VISIBLE_SLOT_COUNT) {\n return Array.from({ length: total }, (_, index) => index + 1);\n }\n if (current <= PAGE_WINDOW_SIZE - 2) {\n return [\n ...Array.from({ length: PAGE_WINDOW_SIZE }, (_, index) => index + 1),\n \"ellipsis\",\n total\n ];\n }\n if (current >= total - (PAGE_WINDOW_SIZE - 3)) {\n return [\n 1,\n \"ellipsis\",\n ...Array.from({ length: PAGE_WINDOW_SIZE }, (_, index) => total - PAGE_WINDOW_SIZE + 1 + index)\n ];\n }\n return [\n 1,\n \"ellipsis\",\n current - 1,\n current,\n current + 1,\n \"ellipsis\",\n total\n ];\n }\n /**\n * Normalizes total pages into a finite integer >= 1.\n *\n * @param value - Raw total page input.\n * @returns Sanitized total pages value.\n */\n sanitizeTotalPages(value) {\n const parsed = Number(value);\n if (!Number.isFinite(parsed))\n return 1;\n return Math.max(1, Math.round(parsed));\n }\n /**\n * Normalizes a page number into the valid range `1..normalizedTotalPages`.\n *\n * @param value - Raw page input.\n * @returns Sanitized page value.\n */\n sanitizePage(value) {\n return this.sanitizePageForTotal(value, this.normalizedTotalPages);\n }\n sanitizePageForTotal(value, totalPages) {\n const parsed = Number(value);\n const rounded = Number.isFinite(parsed) ? Math.round(parsed) : 1;\n return Math.min(totalPages, Math.max(1, rounded));\n }\n queuePaginationStateNormalization() {\n if (this.isPaginationStateNormalizationQueued)\n return;\n this.isPaginationStateNormalizationQueued = true;\n queueMicrotask(() => {\n this.isPaginationStateNormalizationQueued = false;\n if (this.isConnected)\n this.normalizePaginationState();\n });\n }\n normalizePaginationState() {\n const totalPages = this.sanitizeTotalPages(this.totalPages);\n const currentPage = this.sanitizePageForTotal(this.currentPage, totalPages);\n if (this.totalPages !== totalPages) {\n this.totalPages = totalPages;\n }\n if (this.currentPage !== currentPage) {\n this.currentPage = currentPage;\n }\n }\n resolveResponsiveLayout() {\n var _a;\n const width = (_a = globalThis.window) === null || _a === void 0 ? void 0 : _a.innerWidth;\n if (typeof width !== \"number\")\n return \"full\";\n if (width < responsiveBreakpoints.compactWithBoundaries) {\n return \"compact-minimal\";\n }\n if (width < responsiveBreakpoints.numeric) {\n return \"compact\";\n }\n if (width < responsiveBreakpoints.full) {\n return \"numeric\";\n }\n return \"full\";\n }\n /**\n * Emits the pagination page-change custom event.\n *\n * @param previousPage - Page before the change.\n * @param currentPage - Page after the change.\n */\n emitPageChange(previousPage, currentPage) {\n const detail = { previousPage, currentPage };\n this.dispatchEvent(new CustomEvent(PaginationEventNames.pageChange, {\n detail,\n bubbles: true,\n composed: true\n }));\n }\n}\n__decorate([\n observable\n], Pagination.prototype, \"responsiveLayout\", void 0);\n__decorate([\n attr\n], Pagination.prototype, \"variant\", void 0);\n__decorate([\n attr({ attribute: \"current-page\" })\n], Pagination.prototype, \"currentPage\", void 0);\n__decorate([\n attr({ attribute: \"total-pages\" })\n], Pagination.prototype, \"totalPages\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], Pagination.prototype, \"disabled\", void 0);\n__decorate([\n attr({ attribute: \"label-page-option\" })\n], Pagination.prototype, \"labelPageOption\", void 0);\n__decorate([\n attr({ attribute: \"label-page-button\" })\n], Pagination.prototype, \"labelPageButton\", void 0);\n__decorate([\n attr({ attribute: \"label-navigation\" })\n], Pagination.prototype, \"labelNavigation\", void 0);\n__decorate([\n attr({ attribute: \"label-first-page\" })\n], Pagination.prototype, \"labelFirstPage\", void 0);\n__decorate([\n attr({ attribute: \"label-previous-page\" })\n], Pagination.prototype, \"labelPreviousPage\", void 0);\n__decorate([\n attr({ attribute: \"label-next-page\" })\n], Pagination.prototype, \"labelNextPage\", void 0);\n__decorate([\n attr({ attribute: \"label-last-page\" })\n], Pagination.prototype, \"labelLastPage\", void 0);\n__decorate([\n attr({ attribute: \"label-page-summary\" })\n], Pagination.prototype, \"labelPageSummary\", void 0);\n__decorate([\n attr({ attribute: \"label-page-numbers\" })\n], Pagination.prototype, \"labelPageNumbers\", void 0);\n__decorate([\n attr({ attribute: \"label-previous\" })\n], Pagination.prototype, \"labelPrevious\", void 0);\n__decorate([\n attr({ attribute: \"label-next\" })\n], Pagination.prototype, \"labelNext\", void 0);\n//# sourceMappingURL=pagination.js.map","import { borderRadiusMedium, colorNeutralForeground1, colorNeutralForeground2, colorNeutralForeground3, colorCompoundBrandStroke, colorStrokeFocus2, display, fontFamilyBase, fontSizeBase300, fontWeightRegular, fontWeightSemibold, lineHeightBase300, spacingHorizontalM, spacingHorizontalS, spacingHorizontalSNudge, spacingHorizontalXS, spacingHorizontalXXL, spacingVerticalXXXL } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\n/**\n * Component styles for `fabric-pagination`.\n */\nexport const styles = css `\n ${display(\"inline-flex\")}\n\n :host {\n box-sizing: border-box;\n font-family: ${fontFamilyBase};\n }\n\n .pagination-root {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: ${spacingHorizontalS};\n min-height: ${spacingVerticalXXXL};\n }\n\n button {\n border: 0;\n background: transparent;\n color: ${colorNeutralForeground2};\n font-size: ${fontSizeBase300};\n line-height: ${lineHeightBase300};\n cursor: pointer;\n }\n\n button:disabled {\n color: ${colorNeutralForeground3};\n cursor: default;\n }\n\n .text-button {\n display: inline-flex;\n align-items: center;\n gap: ${spacingHorizontalXS};\n font-weight: ${fontWeightSemibold};\n padding-block: 0;\n padding-inline: ${spacingHorizontalM};\n block-size: ${spacingVerticalXXXL};\n border-radius: ${borderRadiusMedium};\n }\n\n .button-label {\n display: inline-flex;\n align-items: center;\n }\n\n .page-button {\n inline-size: ${spacingHorizontalXXL};\n box-sizing: border-box;\n block-size: ${spacingVerticalXXXL};\n padding-block: 0;\n padding-inline: ${spacingHorizontalSNudge};\n position: relative;\n font-weight: ${fontWeightRegular};\n color: ${colorNeutralForeground2};\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n\n .page-items {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: ${spacingHorizontalSNudge};\n }\n\n .page-button.current {\n font-weight: ${fontWeightSemibold};\n color: ${colorNeutralForeground1};\n }\n\n .page-button.current::after {\n content: \"\";\n position: absolute;\n inset-inline-start: ${spacingHorizontalSNudge};\n inset-inline-end: ${spacingHorizontalSNudge};\n inset-block-end: 0;\n block-size: 2px;\n background: ${colorCompoundBrandStroke};\n border-radius: 1px;\n }\n\n .ellipsis {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: ${spacingHorizontalXXL};\n box-sizing: border-box;\n color: ${colorNeutralForeground2};\n font-size: ${fontSizeBase300};\n line-height: ${lineHeightBase300};\n padding: 0;\n }\n\n .navigation-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n\n :host(:dir(rtl)) .navigation-icon {\n transform: scaleX(-1);\n }\n\n .icon-button {\n inline-size: ${spacingVerticalXXXL};\n block-size: ${spacingVerticalXXXL};\n padding-block: 0;\n padding-inline: 0;\n border-radius: ${borderRadiusMedium};\n color: ${colorNeutralForeground2};\n font-size: ${fontSizeBase300};\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n\n .summary {\n display: inline-flex;\n }\n\n .compact-dropdown {\n inline-size: 130px; /* @design-token-ok */\n }\n\n :host([disabled]) .page-button,\n :host([disabled]) .text-button,\n :host([disabled]) .icon-button {\n color: ${colorNeutralForeground3};\n }\n\n .text-button:focus-visible,\n .page-button:focus-visible,\n .icon-button:focus-visible {\n outline: 2px solid ${colorStrokeFocus2};\n outline-offset: -2px;\n border-radius: ${borderRadiusMedium};\n }\n\n @media (forced-colors: active) {\n button:not(:disabled) {\n color: ButtonText;\n }\n\n button:disabled {\n color: GrayText;\n }\n\n .page-button.current::after {\n background: Highlight;\n }\n\n .text-button:focus-visible,\n .page-button:focus-visible,\n .icon-button:focus-visible {\n outline: 2px solid Highlight;\n }\n }\n`;\n//# sourceMappingURL=pagination.styles.js.map","import { html } from \"@microsoft/fast-element\";\nexport const searchIcon = html `\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.7291 13.4362C11.5924 14.411 10.115 15 8.5 15C4.91015 15 2 12.0899 2 8.5C2 4.91015 4.91015 2 8.5 2C12.0899 2 15 4.91015 15 8.5C15 10.115 14.411 11.5924 13.4361 12.7292L16.8535 16.1465C17.0487 16.3417 17.0487 16.6583 16.8535 16.8536C16.6799 17.0271 16.4105 17.0464 16.2156 16.9114L16.1464 16.8536L12.7291 13.4362ZM12.0196 12.7266C12.276 12.5128 12.5127 12.2761 12.7265 12.0197C13.5216 11.0659 14 9.83881 14 8.5C14 5.46243 11.5376 3 8.5 3C5.46243 3 3 5.46243 3 8.5C3 11.5376 5.46243 14 8.5 14C9.83877 14 11.0658 13.5217 12.0196 12.7266Z\"\n fill=\"#616161\"\n />\n </svg>\n`;\nexport const dismissIcon = html `\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4.08859 4.21569L4.14645 4.14645C4.32001 3.97288 4.58944 3.9536 4.78431 4.08859L4.85355 4.14645L10 9.293L15.1464 4.14645C15.32 3.97288 15.5894 3.9536 15.7843 4.08859L15.8536 4.14645C16.0271 4.32001 16.0464 4.58944 15.9114 4.78431L15.8536 4.85355L10.707 10L15.8536 15.1464C16.0271 15.32 16.0464 15.5894 15.9114 15.7843L15.8536 15.8536C15.68 16.0271 15.4106 16.0464 15.2157 15.9114L15.1464 15.8536L10 10.707L4.85355 15.8536C4.67999 16.0271 4.41056 16.0464 4.21569 15.9114L4.14645 15.8536C3.97288 15.68 3.9536 15.4106 4.08859 15.2157L4.14645 15.1464L9.293 10L4.14645 4.85355C3.97288 4.67999 3.9536 4.41056 4.08859 4.21569L4.14645 4.14645L4.08859 4.21569Z\"\n fill=\"#616161\"\n />\n </svg>\n`;\nexport const firstPageIcon = html `\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 11C11.7545 11 11.5504 11.1769 11.5081 11.4101L11.5 11.5V20.5C11.5 20.7761 11.7239 21 12 21C12.2455 21 12.4496 20.8231 12.4919 20.5899L12.5 20.5V11.5C12.5 11.2239 12.2761 11 12 11ZM19.8536 11.1464C19.68 10.9729 19.4106 10.9536 19.2157 11.0886L19.1464 11.1464L14.6464 15.6464C14.4729 15.82 14.4536 16.0894 14.5886 16.2843L14.6464 16.3536L19.1464 20.8536C19.3417 21.0488 19.6583 21.0488 19.8536 20.8536C20.0271 20.68 20.0464 20.4106 19.9114 20.2157L19.8536 20.1464L15.7071 16L19.8536 11.8536C20.0488 11.6583 20.0488 11.3417 19.8536 11.1464Z\"\n fill=\"currentColor\"\n />\n </svg>\n`;\nexport const previousPageIcon = html `\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.3544 15.853C12.1594 16.0486 11.8429 16.0492 11.6472 15.8542L6.16276 10.3893C5.94705 10.1743 5.94705 9.82501 6.16276 9.61006L11.6472 4.14508C11.8429 3.95017 12.1594 3.95074 12.3544 4.14634C12.5493 4.34195 12.5487 4.65854 12.3531 4.85345L7.18851 9.99967L12.3531 15.1459C12.5487 15.3408 12.5493 15.6574 12.3544 15.853Z\"\n fill=\"currentColor\"\n />\n </svg>\n`;\nexport const nextPageIcon = html `\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7.64582 4.14708C7.84073 3.95147 8.15731 3.9509 8.35292 4.14582L13.8374 9.6108C14.0531 9.82574 14.0531 10.1751 13.8374 10.39L8.35292 15.855C8.15731 16.0499 7.84073 16.0493 7.64582 15.8537C7.4509 15.6581 7.45147 15.3415 7.64708 15.1466L12.8117 10.0004L7.64708 4.85418C7.45147 4.65927 7.4509 4.34269 7.64582 4.14708Z\"\n fill=\"currentColor\"\n />\n </svg>\n`;\nexport const lastPageIcon = html `\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13.5 5C13.7455 5 13.9496 5.17688 13.9919 5.41012L14 5.5V14.5C14 14.7761 13.7761 15 13.5 15C13.2545 15 13.0504 14.8231 13.0081 14.5899L13 14.5V5.5C13 5.22386 13.2239 5 13.5 5ZM5.64645 5.14645C5.82001 4.97288 6.08944 4.9536 6.28431 5.08859L6.35355 5.14645L10.8536 9.64645C11.0271 9.82001 11.0464 10.0894 10.9114 10.2843L10.8536 10.3536L6.35355 14.8536C6.15829 15.0488 5.84171 15.0488 5.64645 14.8536C5.47288 14.68 5.4536 14.4106 5.58859 14.2157L5.64645 14.1464L9.79289 10L5.64645 5.85355C5.45118 5.65829 5.45118 5.34171 5.64645 5.14645Z\"\n fill=\"currentColor\"\n />\n </svg>\n`;\n//# sourceMappingURL=component-svgs.js.map","import { html, repeat, when } from \"@microsoft/fast-element\";\nimport { getString } from \"@fabric-msft/localization\";\nimport { firstPageIcon, lastPageIcon, nextPageIcon, previousPageIcon } from \"../../static/component-svgs.js\";\nimport { Pagination } from \"./pagination.js\";\n/**\n * Creates the FAST template for `fabric-pagination`.\n *\n * @typeParam T - Pagination host element type.\n * @returns Element view template for pagination.\n */\nfunction paginationTemplate() {\n return html `\n <template>\n <nav\n class=\"pagination-root\"\n aria-label=\"${(x) => x.labelNavigation || getString(\"Pagination_Navigation\")}\"\n >\n ${when((x) => x.usesCompactControls, html `\n ${when((x) => x.showCompactBoundaryControls, html `\n <button\n type=\"button\"\n class=\"icon-button\"\n data-action=\"first\"\n data-nav=\"first\"\n aria-label=\"${(x) => x.labelFirstPage || getString(\"Pagination_FirstPage\")}\"\n @click=\"${(x) => x.firstPage()}\"\n ?disabled=\"${(x) => x.disabled || x.normalizedCurrentPage <= 1}\"\n >\n <span\n class=\"navigation-icon navigation-icon--first\"\n aria-hidden=\"true\"\n >\n ${firstPageIcon}\n </span>\n </button>\n `)}\n <button\n type=\"button\"\n class=\"icon-button\"\n data-action=\"previous\"\n data-nav=\"previous\"\n aria-label=\"${(x) => x.labelPreviousPage || getString(\"Pagination_PreviousPage\")}\"\n @click=\"${(x) => x.previousPage()}\"\n ?disabled=\"${(x) => x.disabled || x.normalizedCurrentPage <= 1}\"\n >\n <span\n class=\"navigation-icon navigation-icon--previous\"\n aria-hidden=\"true\"\n >\n ${previousPageIcon}\n </span>\n </button>\n <fabric-dropdown\n class=\"compact-dropdown\"\n aria-label=\"${(x) => x.labelPageSummary || getString(\"Pagination_PageSummary\")}\"\n value=\"${(x) => String(x.normalizedCurrentPage)}\"\n @change=\"${(x, c) => x.handleCompactDropdownChange(c.event)}\"\n ?disabled=\"${(x) => x.disabled}\"\n >\n <fabric-listbox>\n ${repeat((x) => Array.from({ length: x.normalizedTotalPages }, (_, index) => index + 1), html `\n <fabric-option\n value=\"${(item) => String(item)}\"\n ?selected=\"${(item, c) => item === c.parent.normalizedCurrentPage}\"\n >\n ${(item, c) => c.parent.pageOptionLabel(item)}\n </fabric-option>\n `)}\n </fabric-listbox>\n </fabric-dropdown>\n <button\n type=\"button\"\n class=\"icon-button\"\n data-action=\"next\"\n data-nav=\"next\"\n aria-label=\"${(x) => x.labelNextPage || getString(\"Pagination_NextPage\")}\"\n @click=\"${(x) => x.nextPage()}\"\n ?disabled=\"${(x) => x.disabled ||\n x.normalizedCurrentPage >= x.normalizedTotalPages}\"\n >\n <span\n class=\"navigation-icon navigation-icon--next\"\n aria-hidden=\"true\"\n >\n ${nextPageIcon}\n </span>\n </button>\n ${when((x) => x.showCompactBoundaryControls, html `\n <button\n type=\"button\"\n class=\"icon-button\"\n data-action=\"last\"\n data-nav=\"last\"\n aria-label=\"${(x) => x.labelLastPage || getString(\"Pagination_LastPage\")}\"\n @click=\"${(x) => x.lastPage()}\"\n ?disabled=\"${(x) => x.disabled ||\n x.normalizedCurrentPage >= x.normalizedTotalPages}\"\n >\n <span\n class=\"navigation-icon navigation-icon--last\"\n aria-hidden=\"true\"\n >\n ${lastPageIcon}\n </span>\n </button>\n `)}\n `, html `\n <button\n type=\"button\"\n class=\"${(x) => x.showTextNavigation ? \"text-button\" : \"icon-button\"}\"\n data-action=\"previous\"\n data-nav=\"previous\"\n aria-label=\"${(x) => x.showTextNavigation\n ? undefined\n : x.labelPreviousPage ||\n getString(\"Pagination_PreviousPage\")}\"\n @click=\"${(x) => x.previousPage()}\"\n ?disabled=\"${(x) => x.disabled || x.normalizedCurrentPage <= 1}\"\n >\n <span\n class=\"navigation-icon navigation-icon--previous\"\n aria-hidden=\"true\"\n >\n ${previousPageIcon}\n </span>\n ${when((x) => x.showTextNavigation, html `\n <span class=\"button-label\">\n <slot name=\"label-previous\">\n ${(x) => x.labelPrevious || getString(\"Pagination_Previous\")}\n </slot>\n </span>\n `)}\n </button>\n\n <div\n class=\"page-items\"\n role=\"group\"\n aria-label=\"${(x) => x.labelPageNumbers || getString(\"Pagination_PageNumbers\")}\"\n >\n ${repeat((x) => x.pageItems, html `\n ${when((item) => item === \"ellipsis\", html `\n <span class=\"ellipsis\" aria-hidden=\"true\">...</span>\n `, html `\n <button\n type=\"button\"\n data-action=\"page\"\n data-page=\"${(item) => String(item)}\"\n @click=\"${(item, c) => c.parent.goToPage(Number(item))}\"\n class=\"page-button ${(item, c) => Number(item) === c.parent.normalizedCurrentPage\n ? \"current\"\n : \"\"}\"\n aria-label=\"${(item, c) => c.parent.pageButtonLabel(Number(item))}\"\n aria-current=\"${(item, c) => Number(item) === c.parent.normalizedCurrentPage\n ? \"page\"\n : undefined}\"\n ?disabled=\"${(_, c) => c.parent.disabled}\"\n >\n ${(item) => item}\n </button>\n `)}\n `)}\n </div>\n\n <button\n type=\"button\"\n class=\"${(x) => x.showTextNavigation ? \"text-button\" : \"icon-button\"}\"\n data-action=\"next\"\n data-nav=\"next\"\n aria-label=\"${(x) => x.showTextNavigation\n ? undefined\n : x.labelNextPage || getString(\"Pagination_NextPage\")}\"\n @click=\"${(x) => x.nextPage()}\"\n ?disabled=\"${(x) => x.disabled ||\n x.normalizedCurrentPage >= x.normalizedTotalPages}\"\n >\n ${when((x) => x.showTextNavigation, html `\n <span class=\"button-label\">\n <slot name=\"label-next\">\n ${(x) => x.labelNext || getString(\"Pagination_Next\")}\n </slot>\n </span>\n `)}\n <span\n class=\"navigation-icon navigation-icon--next\"\n aria-hidden=\"true\"\n >\n ${nextPageIcon}\n </span>\n </button>\n `)}\n </nav>\n </template>\n `;\n}\n/**\n * Default template used by the pagination component definition.\n */\nexport const template = paginationTemplate();\n//# sourceMappingURL=pagination.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { Pagination } from \"./pagination.js\";\nimport { styles } from \"./pagination.styles.js\";\nimport { template } from \"./pagination.template.js\";\n/**\n * FAST element definition for `fabric-pagination`.\n */\nexport const definition = Pagination.compose({\n name: `${DesignSystem.prefix}-pagination`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=pagination.definition.js.map","import { DropdownStyles } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nimport { focusVisibleState } from \"../styles/states/states.js\";\nexport const styles = css `\n ${DropdownStyles}\n\n ::slotted([popover]) {\n position: fixed;\n }\n\n @supports (anchor-name: --anchor) {\n ::slotted([popover]) {\n width: anchor-size(width);\n max-width: anchor-size(width);\n }\n\n :host(:where(:focus-within):not(${focusVisibleState})) .control {\n box-shadow: inset 0 0 0 1px var(--control-border-color, transparent);\n outline: none;\n }\n`;\n//# sourceMappingURL=dropdown.styles.js.map","import { Dropdown as FluentDropdown } from \"@fluentui/web-components\";\nimport { toggleState } from \"../../util/element-internals.js\";\n/**\n * Dropdown\n * @summary A Fabric UI Dropdown component that provides a list of options for users to choose from, with support for single or multiple selections, and customizable appearance and size.\n *\n * @example\n * ```html\n * <fabric-dropdown appearance=\"outline\" size=\"medium\" placeholder=\"Select an option\">\n * <fluent-listbox slot=\"listbox\">\n * <fluent-option value=\"option1\">Option 1</fluent-option>\n * <fluent-option value=\"option2\">Option 2</fluent-option>\n * <fluent-option value=\"option3\">Option 3</fluent-option>\n * </fluent-listbox>\n * <span slot=\"indicator\">▼</span>\n * </fabric-dropdown>\n * ```\n *\n * @attr {DropdownAppearance | undefined} appearance - The appearance of the dropdown.\n * @attr {DropdownSize | undefined} size - The size of the dropdown.\n * @attr {string} aria-labelledby - The `aria-labelledby` attribute value of the dropdown.\n * @attr {boolean} disabled - The disabled state of the dropdown.\n * @attr {string} id - Sets the listbox ID to a unique value if one is not provided.\n * @attr {string} value - The value of the selected option.\n * @attr {string} name - The name of the dropdown.\n * @attr {string} placeholder - The placeholder text of the dropdown.\n * @attr {DropdownType | undefined} type - The dropdown type.\n *\n * @prop {DropdownAppearance | undefined} appearance - The appearance of the dropdown.\n * @prop {DropdownSize | undefined} size - The size of the dropdown.\n * @prop {string} ariaLabelledBy - The `aria-labelledby` attribute value of the dropdown.\n * @prop {boolean} disabled - The disabled state of the dropdown.\n * @prop {string} id - Sets the listbox ID to a unique value if one is not provided.\n * @prop {string} value - The value of the selected option.\n * @prop {string} name - The name of the dropdown.\n * @prop {string} placeholder - The placeholder text of the dropdown.\n * @prop {DropdownType | undefined} type - The dropdown type.\n *\n * @slot - The default slot. Accepts a {@link (Listbox:class)} element.\n * @slot indicator - The indicator slot.\n * @slot control - The control slot. This slot is automatically populated and should not be manually manipulated.\n *\n * @csspart control - The dropdown control container.\n * @csspart indicator - The dropdown indicator.\n *\n * @method disabledChanged - Updates the disabled state of the options when the disabled property changes.\n * @method nameChanged - Updates the name of the options when the name property changes.\n * @method changeHandler - Handles the change events for the dropdown.\n * @method checkValidity - Checks the validity of the element and returns the result.\n * @method clickHandler - Handles the click events for the dropdown.\n * @method inputHandler - Handles the input events for the dropdown from the control element.\n * @method insertControl - Inserts the control element based on the dropdown type.\n * @method keydownHandler - Handles the keydown events for the dropdown, including Home/End key support per WAI-ARIA Combobox pattern.\n * @method reportValidity - Reports the validity of the element.\n * @method selectOption - Selects an option by index.\n *\n * @extends FluentDropdown\n * @tagname fabric-dropdown\n * @public\n */\nexport class Dropdown extends FluentDropdown {\n constructor() {\n super(...arguments);\n this._pointerFocused = false;\n this.handlePointerDown = () => {\n this._pointerFocused = true;\n toggleState(this.elementInternals, \"focus-visible\", false);\n };\n this.focusVisibleIn = () => {\n if (!this._pointerFocused) {\n toggleState(this.elementInternals, \"focus-visible\", true);\n }\n this._pointerFocused = false;\n };\n this.focusVisibleOut = () => {\n this._pointerFocused = false;\n toggleState(this.elementInternals, \"focus-visible\", false);\n };\n }\n /**\n * Inserts the control element based on the dropdown type.\n *\n * @public\n * @remarks\n * This method can be overridden in derived classes to provide custom control elements, though this is not recommended.\n */\n insertControl() {\n super.insertControl();\n if (this.control) {\n // Adding style here so user can still 'opt-out' of the normal whitespace by slotting in their own button\n // (as opposed to adding the style in the styles.ts file which would target all buttons slotted in to control slot).\n this.control.style.whiteSpace = \"normal\";\n }\n }\n /**\n * Wires focus-visible tracking handlers using a shared AbortSignal.\n *\n * @remarks\n * EventListeners are used instead of :has(:focus-visible) due to\n * Chromium bug: https://issues.chromium.org/issues/40062355\n * And FluentUI WC bug where :focus-within is used and adds unintended focus ring on mouse-click\n */\n attachEventListeners() {\n var _a;\n (_a = this.events) === null || _a === void 0 ? void 0 : _a.abort();\n this.events = new AbortController();\n const { signal } = this.events;\n this.addEventListener(\"pointerdown\", this.handlePointerDown, { signal });\n this.addEventListener(\"focusin\", this.focusVisibleIn, { signal });\n this.addEventListener(\"focusout\", this.focusVisibleOut, { signal });\n }\n /**\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n this.attachEventListeners();\n }\n /**\n * @internal\n */\n disconnectedCallback() {\n var _a;\n (_a = this.events) === null || _a === void 0 ? void 0 : _a.abort();\n this.events = undefined;\n super.disconnectedCallback();\n }\n /**\n * Handles the keydown events for the dropdown.\n * Extends the base handler with Home/End key support per the\n * WAI-ARIA Combobox pattern (https://www.w3.org/WAI/ARIA/apg/patterns/combobox/).\n *\n * @param e - the keyboard event\n * @public\n */\n keydownHandler(e) {\n if (e.key === \"Home\" || e.key === \"End\") {\n e.preventDefault();\n if (!this.open) {\n this.listbox.showPopover();\n }\n this.activeIndex = e.key === \"Home\" ? 0 : this.enabledOptions.length - 1;\n return true;\n }\n // Prevent the button's native Enter→click from firing clickHandler,\n // which would togglePopover() and immediately close the listbox\n // that the base keydownHandler just opened.\n if (e.key === \"Enter\" && !this.open) {\n e.preventDefault();\n }\n return super.keydownHandler(e);\n }\n}\n//# sourceMappingURL=dropdown.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { DropdownTemplate } from \"@fluentui/web-components\";\nimport { styles as DropdownStyles } from \"./dropdown.styles.js\";\nimport { Dropdown } from \"./dropdown.js\";\n/**\n * The Fabric Dropdown Element definition.\n *\n * @public\n * @remarks\n * HTML Element: `<fabric-dropdown>`\n */\nexport const definition = Dropdown.compose({\n name: `${DesignSystem.prefix}-dropdown`,\n template: DropdownTemplate,\n styles: DropdownStyles,\n shadowOptions: {\n delegatesFocus: true\n }\n});\n//# sourceMappingURL=dropdown.definition.js.map","import { DropdownOption as FluentDropdownOption } from \"@fluentui/web-components\";\n/**\n * DropdownOption\n * @summary A DropdownOption Custom HTML Element based on Fluent UI's DropdownOption with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-option>\n * <span slot=\"checked-indicator\">✔</span>\n * Option Label\n * <span slot=\"description\">Detailed description</span>\n * </fabric-option>\n * ```\n *\n * @attr {boolean} current-selected - Indicates the current selected state of the option.\n * @attr {boolean} selected - Sets the selected property to match the currentSelected state.\n * @attr {boolean} disabled - Toggles the disabled state when the user changes the `disabled` property.\n * @attr {string} form - The associated `<form>` element.\n * @attr {boolean} freeform - Indicates if the option is in a freeform input mode.\n * @attr {string} id - The id of the option. If not provided, a unique id will be assigned.\n * @attr {string} value - The initial value of the option.\n * @attr {boolean} multiple - Indicates that the option is in a multiple selection mode context.\n * @attr {string} name - The name of the option.\n * @attr {string} text - The display text of the option.\n *\n * @prop {boolean} active - Indicates that the option is active.\n * @prop {ElementInternals} elementInternals - The internal ElementInternals instance for the component.\n *\n * @slot checked-indicator - Customizable checked indicator slot.\n * @slot - Default slot for the option label.\n * @slot description - Slot for detailed option description.\n * @slot start - Icon or glyph rendered before the main label.\n *\n * @csspart content - The main content container of the option.\n * @csspart description - The container for the option's description.\n *\n * @method toggleSelected - Toggles the selected state of the control.\n *\n * @extends FluentDropdownOption\n * @tagname fabric-option\n * @public\n */\nexport class DropdownOption extends FluentDropdownOption {\n}\n//# sourceMappingURL=option.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { DropdownOptionStyles, DropdownOptionTemplate } from \"@fluentui/web-components\";\nimport { DropdownOption } from \"./option.js\";\n/**\n * The Fabric Option Element definition.\n *\n * @public\n * @remarks\n * HTML Element: `<fabric-option>`\n */\nexport const definition = DropdownOption.compose({\n name: `${DesignSystem.prefix}-option`,\n template: DropdownOptionTemplate,\n styles: DropdownOptionStyles,\n shadowOptions: {\n delegatesFocus: true\n // No slotAssignment needed for option based on temp implementation\n }\n});\n//# sourceMappingURL=option.definition.js.map","import { isDropdownOption } from \"../option/index.js\";\n/**\n * Predicate function that determines if the element should be considered an option group.\n * Uses duck-typing by checking for the presence of an `options` array property\n * rather than relying on the tag name, making it prefix-agnostic.\n *\n * @param element - The element to check.\n * @returns true if the element is an option group.\n * @public\n */\nexport function isOptionGroup(element) {\n if ((element === null || element === void 0 ? void 0 : element.nodeType) !== Node.ELEMENT_NODE) {\n return false;\n }\n if (\"options\" in element) {\n return Array.isArray(element.options);\n }\n return false;\n}\n/**\n * Gets the dropdown options from an element, handling both direct options and option groups.\n *\n * @param element - The element to extract options from.\n * @returns An array of DropdownOption elements.\n * @public\n */\nexport function getOptionsFromElement(element) {\n if (isOptionGroup(element)) {\n return element.options;\n }\n if (isDropdownOption(element)) {\n return [element];\n }\n return [];\n}\n//# sourceMappingURL=option-group.options.js.map","import { Updates } from \"@microsoft/fast-element\";\nimport { Listbox as FluentListbox } from \"@fluentui/web-components\";\nimport { isDropdownOption } from \"../option/index.js\";\nimport { isOptionGroup } from \"../option-group/option-group.options.js\";\nimport { waitForConnectedDescendants } from \"../../util/descendants.js\";\nimport { toggleState } from \"../../util/element-internals.js\";\n/**\n * Listbox\n * @summary A Listbox Custom HTML Element that allows for single or multiple selection from a list of options.\n * Extends the Fluent Listbox to support option groups ({@link @fabric-msft/fabric-web#OptionGroup}).\n *\n * @example\n * ```html\n * <fabric-listbox id=\"myListbox\" multiple>\n * <fabric-option value=\"option1\">Option 1</fabric-option>\n * <fabric-option value=\"option2\">Option 2</fabric-option>\n * <fabric-option value=\"option3\">Option 3</fabric-option>\n * </fabric-listbox>\n * ```\n *\n * @example\n * ```html\n * <fabric-listbox>\n * <fabric-option-group label=\"Fruits\">\n * <fabric-option value=\"apple\">Apple</fabric-option>\n * <fabric-option value=\"banana\">Banana</fabric-option>\n * </fabric-option-group>\n * <fabric-option-group label=\"Vegetables\">\n * <fabric-option value=\"carrot\">Carrot</fabric-option>\n * </fabric-option-group>\n * </fabric-listbox>\n * ```\n *\n * @attr {string} id - Sets the listbox ID to a unique value if one is not provided.\n * @attr {boolean | undefined} multiple - Indicates whether the listbox allows multiple selection.\n *\n * @prop {Array<HTMLElement>} options - The collection of child options that are not disabled.\n * @prop {Array<HTMLElement>} selectedOptions - The collection of child options that are selected.\n * @prop {number} selectedIndex - The index of the currently selected option.\n *\n * @slot - The default slot for the options and option groups.\n *\n * @method multipleChanged - Updates the multiple selection state of the listbox and its options. Parameters: prev (boolean | undefined), next (boolean | undefined).\n * @method clickHandler - Sets the `selected` state on a target option when clicked. Parameters: e (PointerEvent).\n * @method selectOption - Selects an option by index. Parameters: index (number).\n *\n * @fires connected - Dispatched when the element is connected to the DOM.\n *\n * @extends FluentListbox\n * @tagname fabric-listbox\n * @public\n */\nexport class Listbox extends FluentListbox {\n /**\n * Checks if an option belongs to a disabled option group.\n *\n * @param option - The option to check.\n * @returns true if the option is inside a disabled option group.\n * @internal\n */\n isOptionInDisabledGroup(option) {\n return (isOptionGroup(option.parentElement) && !!option.parentElement.disabled);\n }\n /**\n * Sets the `selected` state on a target option when clicked.\n * Overrides the base implementation to prevent selection of options in disabled groups.\n *\n * @param e - The pointer event\n * @override\n * @public\n */\n clickHandler(e) {\n if (this.dropdown) {\n return true;\n }\n const target = e.target;\n if (isDropdownOption(target) && this.isOptionInDisabledGroup(target)) {\n return true;\n }\n return super.clickHandler(e);\n }\n /**\n * Selects an option by index.\n * Overrides the base implementation to prevent selection of options in disabled groups.\n *\n * @param index - The index of the option to select.\n * @override\n * @public\n */\n selectOption(index) {\n const option = this.enabledOptions[index !== null && index !== void 0 ? index : this.selectedIndex];\n if (option && this.isOptionInDisabledGroup(option)) {\n return;\n }\n super.selectOption(index);\n }\n /**\n * Handles the slotchange event for the listbox.\n * Overrides the base implementation to support option groups.\n * Extracts options from both direct option elements and option group children,\n * flattening them into a single options array while propagating group disabled states.\n *\n * @param e - The slot change event.\n * @override\n * @internal\n */\n slotchangeHandler(e) {\n var _a;\n const target = (_a = e === null || e === void 0 ? void 0 : e.target) !== null && _a !== void 0 ? _a : this.defaultSlot;\n if (!target) {\n return;\n }\n /**\n * waitForConnectedDescendants waits for element registration, Updates.enqueue waits for FAST's reactive bindings to complete. Both are needed because slotted directives populate asynchronously.\n */\n waitForConnectedDescendants(this, () => {\n // Defer to allow OptionGroup's slotted directive to populate\n Updates.enqueue(() => {\n const assigned = target.assignedElements();\n const options = [];\n for (const el of assigned) {\n if (isOptionGroup(el)) {\n const group = el;\n options.push(...group.options);\n }\n else if (isDropdownOption(el)) {\n options.push(el);\n }\n }\n this.options = options;\n });\n });\n }\n /**\n * Handles changes to the options collection.\n * Overrides the base implementation to apply group-aware ARIA positioning.\n *\n * @param prev - The previous options collection.\n * @param next - The new options collection.\n * @override\n * @internal\n */\n optionsChanged(prev, next) {\n var _a;\n // Call the base implementation first\n (_a = super.optionsChanged) === null || _a === void 0 ? void 0 : _a.call(this, prev, next);\n // Apply group-scoped ARIA positioning\n if (next) {\n this.applyGroupScopedAria(next);\n }\n }\n /**\n * Build a list of groups and options\n * @param options\n * @param groups\n */\n setOptionGroups(options, groups) {\n for (const option of options) {\n const parent = option.parentElement;\n const groupKey = isOptionGroup(parent) ? parent : null;\n if (!groups.has(groupKey)) {\n groups.set(groupKey, []);\n }\n groups.get(groupKey).push(option);\n }\n }\n /**\n * Applies group-scoped ARIA positioning attributes to options.\n * Options within the same group share aria-setsize scoped to that group.\n *\n * @param options - The flattened options collection.\n * @internal\n */\n applyGroupScopedAria(options) {\n // Group options by their parent option-group (or null for ungrouped)\n const groups = new Map();\n this.setOptionGroups(options, groups);\n // Apply ARIA attributes scoped to each group\n for (const [group, groupOptions] of groups) {\n const setSize = groupOptions.length;\n groupOptions.forEach((option, index) => {\n // set the position index\n option.elementInternals.ariaPosInSet = `${index + 1}`;\n // set the size of the group\n option.elementInternals.ariaSetSize = `${setSize}`;\n // Set aria-description to announce the group name for screen readers\n if (group && isOptionGroup(group) && group.label) {\n option.elementInternals.ariaDescription = group.label;\n }\n else {\n option.elementInternals.ariaDescription = null;\n }\n });\n }\n }\n /**\n * Updates the multiple selection state of the listbox and its options.\n *\n * @param prev - the previous multiple value\n * @param next - the current multiple value\n */\n multipleChanged(_prev, next) {\n this.elementInternals.ariaMultiSelectable = next ? \"true\" : \"false\";\n toggleState(this.elementInternals, \"multiple\", next);\n Updates.enqueue(() => {\n var _a;\n (_a = this.options) === null || _a === void 0 ? void 0 : _a.forEach((x) => {\n x.multiple = !!next;\n });\n });\n }\n}\n//# sourceMappingURL=listbox.js.map","import { DesignSystem } from \"../design-system\";\nimport { ListboxStyles, ListboxTemplate } from \"@fluentui/web-components\";\nimport { Listbox } from \"./listbox\";\n/**\n * The Listbox element definition.\n *\n * @public\n * @remarks\n * HTML Element: `<fabric-listbox>`\n */\nexport const definition = Listbox.compose({\n name: `${DesignSystem.prefix}-listbox`,\n template: ListboxTemplate,\n styles: ListboxStyles,\n shadowOptions: {\n delegatesFocus: true\n // No slotAssignment needed for listbox based on temp implementation\n }\n});\n//# sourceMappingURL=listbox.definition.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { definition as DropdownDefinition } from \"../dropdown/dropdown.definition.js\";\nimport { definition as ListboxDefinition } from \"../listbox/listbox.definition.js\";\nimport { definition as OptionDefinition } from \"../option/option.definition.js\";\nimport { definition } from \"./pagination.definition.js\";\n/**\n * Registers the pagination element and all of its internal dependencies\n * (dropdown, listbox, option) with the provided registry.\n *\n * @param registry - The CustomElementRegistry to register with. Defaults to `customElements`.\n *\n * @example\n * ```ts\n * import { definePagination } from \"@fabric-msft/fabric-web\";\n * definePagination(); // registers fabric-pagination and its dependencies\n * ```\n *\n * @public\n */\nexport function definePagination(registry = customElements) {\n DropdownDefinition.define(registry);\n ListboxDefinition.define(registry);\n OptionDefinition.define(registry);\n definition.define(registry);\n}\ndefinePagination(DesignSystem.registry);\n//# sourceMappingURL=define.js.map","/**\n * SVG Sanitizer Script\n *\n * This script provides SVG content sanitization through the SvgSanitizer class.\n * It is designed to sanitize SVG content strings by removing potentially harmful\n * or malicious tags and attributes.\n *\n * It strictly disallows a predefined list of tags and attributes that can be exploited\n * for malicious purposes such as Cross-Site Scripting (XSS) attacks. Any occurrence of\n * blocked tags and attributes within the provided SVG content is removed during the\n * sanitization process.\n *\n * Example Usage:\n * const sanitizedSVG = SvgSanitizer.sanitize('<svg><script>alert(\"XSS\")</script></svg>');\n *\n * Upon finding and removing any blocked tags or attributes, the sanitizer logs a warning\n * message to the console for visibility.\n */\nconst BLOCKED_TAGS = [\n \"base\",\n \"embed\",\n \"form\",\n \"frame\",\n \"iframe\",\n \"link\",\n \"meta\",\n \"object\",\n \"script\",\n \"style\"\n];\nconst BLOCKED_ATTRS = [\n \"data\",\n \"formaction\",\n \"onclick\",\n \"onerror\",\n \"onload\",\n \"onmouseover\",\n \"src\"\n];\nexport class SvgSanitizer {\n /**\n * Sanitizes SVG content by removing potentially harmful elements and attributes.\n *\n * @param {string} svgString - The original SVG content string.\n * @returns {string} - Sanitized SVG content string.\n */\n static sanitize(svgString) {\n if (!this.isWellFormedSVG(svgString)) {\n return \"\"; // Return empty string if SVG is not well-formed\n }\n try {\n const doc = this.parser.parseFromString(svgString, \"image/svg+xml\");\n this.removeBlockedElementsAndAttributes(doc, BLOCKED_TAGS, BLOCKED_ATTRS);\n return new XMLSerializer().serializeToString(doc);\n }\n catch (error) {\n console.error(\"SVG parsing error\", error);\n return \"\";\n }\n }\n /**\n * Checks if the SVG content appears well-formed.\n */\n static isWellFormedSVG(svgString) {\n try {\n const doc = this.parser.parseFromString(svgString, \"image/svg+xml\");\n const rootElement = doc.documentElement;\n return rootElement && rootElement.tagName.toLowerCase() === \"svg\";\n }\n catch (error) {\n console.error(\"Error while validating SVG:\", error);\n return false;\n }\n }\n /**\n * Removes blocked elements and attributes from the SVG document.\n */\n static removeBlockedElementsAndAttributes(doc, blockedTags, blockedAttrs) {\n doc.querySelectorAll(\"*\").forEach((element) => {\n var _a;\n const tagName = element.tagName.toLowerCase();\n if (blockedTags.includes(tagName)) {\n console.warn(`Custom SVG Sanitizer: Found and removed blocked tag: <${tagName}>`);\n (_a = element.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(element);\n }\n else {\n element.getAttributeNames().forEach((attr) => {\n if (blockedAttrs.includes(attr.toLowerCase()) ||\n /^on[a-z]+/.test(attr.toLowerCase())) {\n console.warn(`Custom SVG Sanitizer: Found and removed blocked attribute: ${attr} from <${element.tagName.toLowerCase()}>`);\n element.removeAttribute(attr);\n }\n });\n }\n });\n }\n}\nSvgSanitizer.parser = new DOMParser();\n// For backward compatibility and easier migration\nexport const sanitizeSVG = SvgSanitizer.sanitize.bind(SvgSanitizer);\n//# sourceMappingURL=svg-sanitizer.js.map","import { SvgSanitizer } from \"../scripts/svg-sanitizer.js\";\n/**\n * SvgService is used by the SvgIcon component to manage SVG content. It is\n * responsible for fetching, caching, and manipulating SVG content.\n * This includes loading SVG icons or sprites from given paths and preparing SVG\n * content for display. Cached SVGs ensure that repeated fetches are avoided.\n *\n * Typical usage:\n * const svgContent = await SvgService.loadIconOrSprite('/path/to/sprite.svg', 'icon-name');\n *\n */\nexport class SvgService {\n /**\n * Loads an SVG icon or sprite from a given path.\n *\n * @param path {string} - The path to the SVG file.\n * @param name {string} - The name (ID) of the icon if fetching from a sprite.\n * @returns {Promise<string>} - A promise that resolves to the SVG content or rejects with an error.\n */\n static async loadIconOrSprite(path, name) {\n try {\n const svgContent = await this.fetchAndCacheSVG(path);\n if (svgContent.includes(\"<symbol\")) {\n return this.getIconFromSprite(svgContent, name);\n }\n else {\n return svgContent;\n }\n }\n catch (error) {\n console.error(`Failed to load SVG from path ${path}:`, error);\n throw error;\n }\n }\n /**\n * Fetches and caches an SVG from a given path.\n *\n * @param path {string} - The path to the SVG file.\n * @returns {Promise<string>} - A promise that resolves to the SVG content.\n */\n static async fetchAndCacheSVG(path) {\n if (!this.cache.has(path)) {\n try {\n const svgPromise = fetch(path)\n .then((resp) => {\n if (!resp.ok) {\n throw new Error(`Network error: ${resp.status} ${resp.statusText}`);\n }\n return resp.text();\n })\n .then((svg) => {\n // Basic check for SVG format\n if (!/<svg[\\s\\S]+<\\/svg>/.test(svg)) {\n throw new Error(\"Invalid SVG format\");\n }\n return SvgSanitizer.sanitize(svg);\n });\n this.cache.set(path, svgPromise);\n return await svgPromise;\n }\n catch (error) {\n console.error(`Failed to fetch and cache SVG from path ${path}:`, error);\n throw error; // Propagate the error so it can be handled by the calling code if needed\n }\n }\n return await this.cache.get(path);\n }\n /**\n * Extracts an icon from an SVG sprite.\n *\n * @param spriteContent {string} - The SVG sprite content.\n * @param iconName {string} - The name (ID) of the icon to extract.\n * @returns {string} - The SVG content for the icon.\n */\n static getIconFromSprite(spriteContent, iconName) {\n const doc = this.parser.parseFromString(spriteContent, \"image/svg+xml\");\n const symbol = doc.querySelector(`symbol[id=\"${iconName}\"]`);\n if (!symbol) {\n console.error(`Icon with ID ${iconName} not found in sprite.`);\n return \"\";\n }\n // Convert the symbol content into SVG.\n const svgNamespace = \"http://www.w3.org/2000/svg\";\n const svgElement = doc.createElementNS(svgNamespace, \"svg\");\n if (!spriteContent.includes(`xmlns=\"${svgNamespace}\"`)) {\n svgElement.setAttribute(\"xmlns\", svgNamespace);\n }\n svgElement.setAttribute(\"viewBox\", symbol.getAttribute(\"viewBox\") || \"\");\n Array.from(symbol.childNodes).forEach((child) => {\n svgElement.appendChild(child.cloneNode(true));\n });\n removeRedundantXmlns(svgElement);\n return svgElement.outerHTML;\n }\n /**\n * Prepares SVG content, either as a standalone SVG or extracting it from a sprite.\n *\n * @param path {string} - The path to the SVG file.\n * @param name {string} - The name (ID) of the icon if fetching from a sprite.\n * @returns {Promise<{content: string, width?: string, height?: string}>} - A promise that resolves to the prepared SVG content and dimensions.\n */\n static async getPreparedSVG(path, name) {\n try {\n const content = await this.loadIconOrSprite(path, name);\n const doc = this.parseSVG(content);\n const symbol = doc.querySelector(\"symbol\");\n if (symbol) {\n return this.getSVGDetailsFromSymbol(symbol);\n }\n else {\n return this.getSVGDetailsFromSVGElement(doc);\n }\n }\n catch (error) {\n console.error(`Failed to prepare SVG from path ${path}:`, error);\n throw error;\n }\n }\n /**\n * Parse the input SVG string and return an SVG Document.\n *\n * @param svgString {string} - The input SVG content in string format.\n * @returns {Document} - The parsed SVG as a Document.\n */\n static parseSVG(svgString) {\n return this.parser.parseFromString(svgString, \"image/svg+xml\");\n }\n /**\n * Converts an SVG symbol to an SVG element, extracting and returning its content and dimensions.\n *\n * @param symbol {Element} - The SVG symbol element to be converted.\n * @returns {{ content: string, width?: string, height?: string }} - An object containing the SVG content and optional width and height.\n */\n static getSVGDetailsFromSymbol(symbol) {\n const viewBox = symbol.getAttribute(\"viewBox\");\n const svgNamespace = \"http://www.w3.org/2000/svg\";\n const doc = new DOMParser().parseFromString(\"<svg></svg>\", \"image/svg+xml\");\n const svgElement = doc.createElementNS(svgNamespace, \"svg\");\n svgElement.setAttribute(\"viewBox\", viewBox || \"\");\n while (symbol.firstChild) {\n svgElement.appendChild(symbol.firstChild.cloneNode(true));\n }\n removeRedundantXmlns(svgElement);\n const width = symbol.getAttribute(\"width\") || undefined;\n const height = symbol.getAttribute(\"height\") || undefined;\n return {\n content: svgElement.outerHTML,\n width,\n height\n };\n }\n /**\n * Extracts content and dimensions from the first SVG element within a Document.\n *\n * @param doc {Document} - The Document containing SVG data.\n * @returns {{ content: string, width?: string, height?: string }} - An object with the SVG content and optional width and height.\n */\n static getSVGDetailsFromSVGElement(doc) {\n const svgElem = doc.querySelector(\"svg\");\n let width;\n let height;\n if (svgElem) {\n width = svgElem.getAttribute(\"width\") || undefined;\n height = svgElem.getAttribute(\"height\") || undefined;\n }\n return {\n content: (svgElem === null || svgElem === void 0 ? void 0 : svgElem.outerHTML) || \"\",\n width,\n height\n };\n }\n}\nSvgService.cache = new Map();\nSvgService.parser = new DOMParser();\n// Utility function to remove redundant xmlns attributes\nfunction removeRedundantXmlns(element) {\n element.querySelectorAll(\"*\").forEach((child) => {\n if (child.hasAttribute(\"xmlns\")) {\n child.removeAttribute(\"xmlns\");\n }\n });\n}\n//# sourceMappingURL=svg-service.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ElementStyles, FASTElement, attr, css } from \"@microsoft/fast-element\";\nimport { spacingHorizontalXL } from \"@fluentui/web-components\";\nimport { SvgService } from \"./services/svg-service.js\";\n/**\n * SvgIcon\n * @summary This component is used to dynamically load and display SVG icons.\n *\n * @example\n * ```html\n * <fabric-svg-icon\n * name=\"example-icon\"\n * size=\"24\"\n * path=\"/icons/example-icon.svg\"\n * aria-hidden=\"true\"\n * focusable=\"false\"\n * role=\"img\"\n * ></fabric-svg-icon>\n * ```\n *\n * @attr {string} name - The name of the SVG icon.\n * @attr {string} size - The size of the SVG icon.\n * @attr {string} path - The path to the SVG icon file.\n * @attr {string} aria-hidden - The aria-hidden attribute for accessibility.\n * @attr {string} focusable - Indicates whether the SVG icon is focusable.\n *\n * @prop {ElementStyles | undefined} computedStylesheet - The computed stylesheet for the SVG icon.\n * @prop {boolean} isLoading - Indicates whether the icon is currently loading.\n * @prop {boolean} isError - Indicates whether there was an error loading the icon.\n * @prop {string} name - The name of the SVG icon.\n * @prop {string} size - The size of the SVG icon.\n * @prop {string} path - The path to the SVG icon file.\n * @prop {string} ariaHidden - The aria-hidden attribute for accessibility.\n * @prop {string} focusable - Indicates whether the SVG icon is focusable.\n * @prop {string | null} role - The role attribute for accessibility (native property, reflects to/from the role attribute).\n *\n * @csspart svg - The SVG element representing the icon.\n * @cssprop --icon-height - Controls the default height of the SVG icon.\n * @cssprop --icon-width - Controls the default width of the SVG icon.\n *\n * @method nameChanged - Handles changes to the name attribute.\n * @method sizeChanged - Handles changes to the size attribute.\n * @method pathChanged - Handles changes to the path attribute.\n * @method checkAndResolveRenderPromise - Checks and resolves the render promise if conditions are met.\n * @method renderIcon - Renders the SVG icon.\n * @method renderErrorIcon - Renders an error icon when the SVG fails to load.\n * @method updateComputedStylesheet - Updates the computed stylesheet with the provided width and height.\n * @method updateSvgAttributes - Updates the attributes of the SVG element.\n *\n * @fires {CustomEvent} error - Dispatched when the icon fails to load.\n *\n * @extends FASTElement\n * @tagname fabric-svg-icon\n * @public\n */\nexport class SvgIcon extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Indicates whether the icon is currently loading.\n * @private\n * @type {boolean}\n * @default true\n */\n this.isLoading = true;\n /**\n * Indicates whether there was an error loading the icon.\n * @private\n * @type {boolean}\n * @default false\n */\n this.isError = false;\n /**\n * The aria-hidden attribute for accessibility.\n * @public\n * @attr\n * @type {string}\n * @default true\n */\n this.ariaHidden = \"true\";\n /**\n * Indicates whether the SVG icon is focusable.\n * @public\n * @attr\n * @type {string}\n * @default false\n */\n this.focusable = \"false\";\n /**\n * Resolver function for the render promise.\n * @private\n * @type {() => undefined | null}\n */\n this.renderResolver = () => undefined;\n /**\n * Promise that resolves when the icon is rendered.\n * @private\n * @type {Promise<void>}\n */\n this.renderPromise = new Promise((resolve) => {\n this.renderResolver = resolve;\n });\n }\n /**\n * Handles changes to the name attribute.\n * @public\n */\n nameChanged() {\n this.checkAndResolveRenderPromise();\n }\n /**\n * Handles changes to the size attribute.\n * @public\n */\n sizeChanged() {\n this.checkAndResolveRenderPromise();\n }\n /**\n * Handles changes to the path attribute.\n * @public\n */\n pathChanged() {\n this.checkAndResolveRenderPromise();\n }\n /**\n * The role attribute for accessibility.\n * @public\n * @type {string | null}\n * @default null\n */\n get role() {\n return this.getAttribute(\"role\");\n }\n set role(value) {\n if (value === null || value === undefined) {\n this.removeAttribute(\"role\");\n }\n else {\n this.setAttribute(\"role\", value);\n }\n }\n /**\n * Called when the element is connected to the DOM.\n * @public\n */\n connectedCallback() {\n super.connectedCallback();\n this.renderPromise.then(() => this.renderIcon());\n }\n /**\n * Checks and resolves the render promise if conditions are met.\n * @private\n */\n checkAndResolveRenderPromise() {\n if (this.renderResolver) {\n if (this.path) {\n if (!this.name || (this.name && this.name !== \"\")) {\n this.renderResolver();\n this.renderResolver = () => undefined;\n }\n }\n }\n }\n /**\n * Renders the SVG icon.\n * @private\n */\n renderIcon() {\n this.isLoading = true;\n SvgService.getPreparedSVG(this.path, this.name)\n .then(({ content, width, height }) => {\n this.isLoading = false;\n this.shadowRoot.innerHTML = content;\n this.updateComputedStylesheet(width, height);\n const svgElementInShadow = this.shadowRoot.querySelector(\"svg\");\n if (svgElementInShadow) {\n this.updateSvgAttributes(svgElementInShadow);\n }\n })\n .catch((error) => {\n this.isLoading = false;\n this.isError = true;\n console.error(`Failed to load icon: ${this.path}`, error);\n this.renderErrorIcon();\n });\n }\n /**\n * Renders an error icon when the SVG fails to load.\n * @private\n */\n renderErrorIcon() {\n // Creating SVG element for red \"X\"\n const errorSvg = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n errorSvg.style.width = `var(--icon-width, ${spacingHorizontalXL})`;\n errorSvg.style.height = `var(--icon-height, ${spacingHorizontalXL})`;\n errorSvg.setAttribute(\"viewBox\", \"0 0 20 20\");\n errorSvg.setAttribute(\"aria-hidden\", \"false\");\n errorSvg.setAttribute(\"alt\", \"broken image\");\n // Line from top-left to bottom-right\n const line1 = document.createElementNS(\"http://www.w3.org/2000/svg\", \"line\");\n line1.setAttribute(\"x1\", \"0\");\n line1.setAttribute(\"y1\", \"0\");\n line1.setAttribute(\"x2\", \"20\");\n line1.setAttribute(\"y2\", \"20\");\n line1.setAttribute(\"stroke\", \"var(--colorPaletteRedForeground1)\");\n line1.setAttribute(\"stroke-width\", \"var(--strokeWidthThick)\");\n // Line from top-right to bottom-left\n const line2 = document.createElementNS(\"http://www.w3.org/2000/svg\", \"line\");\n line2.setAttribute(\"x1\", \"20\");\n line2.setAttribute(\"y1\", \"0\");\n line2.setAttribute(\"x2\", \"0\");\n line2.setAttribute(\"y2\", \"20\");\n line2.setAttribute(\"stroke\", \"var(--colorPaletteRedForeground1)\");\n line2.setAttribute(\"stroke-width\", \"var(--strokeWidthThick)\");\n errorSvg.appendChild(line1);\n errorSvg.appendChild(line2);\n // Adding SVG to shadowRoot\n this.shadowRoot.innerHTML = \"\";\n this.shadowRoot.appendChild(errorSvg);\n }\n /**\n * Updates the computed stylesheet with the provided width and height.\n * @private\n * @param {string | undefined} width - The width of the SVG icon.\n * @param {string | undefined} height - The height of the SVG icon.\n */\n updateComputedStylesheet(width, height) {\n if (this.size) {\n if ([\"12\", \"16\", \"20\", \"24\", \"28\", \"32\", \"48\"].includes(this.size)) {\n this.computedStylesheet = css `\n :host {\n --icon-height: ${this.size}px;\n --icon-width: ${this.size}px;\n }\n `;\n }\n }\n else if (width && height) {\n this.computedStylesheet = css `\n :host {\n --icon-height: ${height}px;\n --icon-width: ${width}px;\n }\n `;\n }\n if (this.computedStylesheet) {\n this.$fastController.addStyles(this.computedStylesheet);\n }\n }\n /**\n * Updates the attributes of the SVG element.\n * @private\n * @param {SVGSVGElement} svgElement - The SVG element to update.\n */\n updateSvgAttributes(svgElement) {\n var _a, _b;\n if (this.name !== undefined) {\n svgElement.setAttribute(\"name\", this.name);\n // Extract size from icon name if not explicitly provided (e.g. \"accessibility_20_filled\" -> \"20\")\n if (!this.size && this.name.includes(\"_\")) {\n const parts = this.name.split(\"_\");\n const sizeFromName = parts.find((part) => /^\\d+$/.test(part));\n if (sizeFromName) {\n this.size = sizeFromName;\n }\n }\n }\n else {\n svgElement.removeAttribute(\"name\");\n }\n // Handle size attribute\n let finalSize;\n if (this.size) {\n // First try to use the explicit size\n const numericSize = (_a = this.size.split(\"_\")[0].match(/\\d+/)) === null || _a === void 0 ? void 0 : _a[0];\n if (numericSize &&\n [\"12\", \"16\", \"20\", \"24\", \"28\", \"32\", \"48\"].includes(numericSize)) {\n finalSize = numericSize;\n }\n else {\n console.warn(`Invalid size \"${this.size}\" for SVG icon \"${this.name}\". Falling back to the default size token.`);\n }\n }\n if (!finalSize) {\n const cssSize = getComputedStyle(this)\n .getPropertyValue(\"--icon-width\")\n .trim();\n const cssNumeric = (_b = cssSize.match(/\\d+(?:\\.\\d+)?/)) === null || _b === void 0 ? void 0 : _b[0];\n if (cssNumeric) {\n finalSize = cssNumeric;\n }\n }\n if (finalSize) {\n svgElement.setAttribute(\"width\", finalSize);\n svgElement.setAttribute(\"height\", finalSize);\n }\n if (this.ariaLabel) {\n svgElement.setAttribute(\"aria-label\", this.ariaLabel);\n }\n else {\n svgElement.removeAttribute(\"aria-label\");\n }\n svgElement.setAttribute(\"aria-hidden\", this.ariaHidden);\n svgElement.setAttribute(\"focusable\", this.focusable || \"false\");\n if (this.role && this.role.trim() !== \"\") {\n svgElement.setAttribute(\"role\", this.role);\n }\n else {\n svgElement.removeAttribute(\"role\");\n }\n }\n}\n__decorate([\n attr\n], SvgIcon.prototype, \"name\", void 0);\n__decorate([\n attr\n], SvgIcon.prototype, \"size\", void 0);\n__decorate([\n attr\n], SvgIcon.prototype, \"path\", void 0);\n__decorate([\n attr({ attribute: \"aria-hidden\" })\n], SvgIcon.prototype, \"ariaHidden\", void 0);\n__decorate([\n attr\n], SvgIcon.prototype, \"focusable\", void 0);\n//# sourceMappingURL=svg-icon.js.map","import { css } from \"@microsoft/fast-element\";\nimport { display } from \"@fluentui/web-components\";\nimport { sizeHorizontalXL } from \"@fabric-msft/theme\";\nexport const styles = css `\n ${display(\"inline-flex\")}\n\n :host,\n :host svg {\n height: var(--icon-height, ${sizeHorizontalXL});\n width: var(--icon-width, ${sizeHorizontalXL});\n }\n\n :host svg:not([role=\"img\"]) {\n fill: currentcolor;\n }\n`;\n//# sourceMappingURL=svg-icon.styles.js.map","import { html } from \"@microsoft/fast-element\";\nimport { SvgIcon } from \"./svg-icon.js\";\n/**\n * Generates the template for the {@link @fabric-msft/fabric-web#SvgIcon} component.\n *\n * @public\n * @remarks\n * This template provides the HTML structure for the `SvgIcon` component.\n *\n * @returns {ElementViewTemplate<SvgIcon>} The template for the `SvgIcon` component.\n */\nexport const template = html `\n <template></template>\n`;\n//# sourceMappingURL=svg-icon.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { SvgIcon } from \"./svg-icon.js\";\nimport { styles } from \"./svg-icon.styles.js\";\nimport { template } from \"./svg-icon.template.js\";\n/**\n * Compose the SvgIcon component definition.\n *\n * @public\n * @remarks\n * HTML Element: <fabric-svg-icon>\n */\nexport const definition = SvgIcon.compose({\n name: `${DesignSystem.prefix}-svg-icon`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\ndefinition.define(DesignSystem.registry);\n//# sourceMappingURL=svg-icon.definition.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, attr, observable } from \"@microsoft/fast-element\";\nconst DOWN_ARROW = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M10.0025 15.2902L12.6468 12.6458C12.8421 12.4506 13.1587 12.4506 13.3539 12.6458C13.5492 12.8411 13.5492 13.1577 13.3539 13.3529L9.8856 16.8213C9.79388 16.9305 9.65628 17 9.50245 17L9.50079 17C9.4221 17 9.34341 16.9816 9.27177 16.9447C9.22664 16.9215 9.1843 16.891 9.1465 16.8533L9.13652 16.843L5.64645 13.3529C5.45118 13.1577 5.45118 12.8411 5.64645 12.6458C5.84171 12.4505 6.15829 12.4505 6.35355 12.6458L9.00245 15.2947L9.00245 3.5C9.00245 3.22386 9.22631 3 9.50245 3C9.77859 3 10.0025 3.22386 10.0025 3.5L10.0025 15.2902Z\" fill=\"#242424\"/>\n</svg>\n`;\nconst UP_ARROW = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M8.99792 4.70981L6.35355 7.35418C6.15829 7.54944 5.84171 7.54944 5.64645 7.35418C5.45118 7.15891 5.45118 6.84233 5.64645 6.64707L9.11477 3.17874C9.20649 3.06947 9.3441 3 9.49792 3L9.49959 3C9.57828 2.99998 9.65697 3.01841 9.72861 3.05531C9.77374 3.07847 9.81608 3.10895 9.85387 3.14675L9.86386 3.15701L13.3539 6.64709C13.5492 6.84235 13.5492 7.15893 13.3539 7.3542C13.1587 7.54946 12.8421 7.54946 12.6468 7.3542L9.99792 4.7053V16.5C9.99792 16.7761 9.77407 17 9.49792 17C9.22178 17 8.99792 16.7761 8.99792 16.5V4.70981Z\" fill=\"#242424\"/>\n</svg>\n`;\n/**\n * Table\n * @summary A highly accessible, customizable table component supporting sorting, custom cell rendering, and live region announcements for screen readers.\n *\n * @example\n * ```html\n * <fabric-table sortable=\"true\">\n * <thead part=\"head\">\n * <tr>\n * <th part=\"cell\">Column 1</th>\n * <th part=\"cell\">Column 2</th>\n * </tr>\n * </thead>\n * <tbody part=\"body\">\n * <tr part=\"row\">\n * <td part=\"cell\">Row 1, Cell 1</td>\n * <td part=\"cell\">Row 1, Cell 2</td>\n * </tr>\n * <tr part=\"row\">\n * <td part=\"cell\">Row 2, Cell 1</td>\n * <td part=\"cell\">Row 2, Cell 2</td>\n * </tr>\n * </tbody>\n * </fabric-table>\n * ```\n *\n * @attr {boolean} sortable - Whether the table columns are sortable\n * @attr {SortDirection} sort-direction - The current sort direction (\"ascending\" | \"descending\")\n *\n * @prop {HTMLTableSectionElement | null} tableHeadRef - Reference to the table head element.\n * @prop {HTMLTableSectionElement | null} tableBodyRef - Reference to the table body element.\n * @prop {TableRowData[]} rows - The data for the rows of the table.\n * @prop {TableColumnData[]} columns - The data for the columns of the table.\n * @prop {boolean} tableRendered - Flag indicating if the table has been rendered.\n * @prop {SortDirection} sortDirection - The current sort direction of the table.\n * @prop {string} activeColumnKey - The key of the currently active (sorted) column.\n *\n * @slot - Default slot for table content (not directly used, but for consistency)\n *\n * @csspart head - The table head section\n * @csspart body - The table body section\n * @csspart cell - The table cell\n * @csspart row - The table row\n *\n * @method renderTable - Renders the complete table by rendering both head and rows.\n * @method sortByColumn - Handles column sorting when a column header is clicked.\n * @method toggleSortDirection - Toggles the sort direction between ascending and descending.\n * @method sortRows - Sorts the table rows based on the active column and sort direction.\n *\n * @fires {CustomEvent<{direction: SortDirection, columnKey: string}>} sortChanged - Fired when the sort direction or column changes\n * @fires {CustomEvent<Table>} tableRendered - Fired when the table rendering is complete\n *\n * @extends FASTElement\n * @tagname fabric-table\n * @public\n */\nexport class Table extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Reference to the table head element.\n * @type {HTMLTableSectionElement | null}\n * @observable\n */\n this.tableHeadRef = null;\n /**\n * Reference to the table body element.\n * @type {HTMLTableSectionElement | null}\n * @observable\n */\n this.tableBodyRef = null;\n /**\n * The data for the rows of the table.\n * @type {TableRowData[]}\n * @observable\n */\n this.rows = [];\n /**\n * The data for the columns of the table.\n * @type {TableColumnData[]}\n * @observable\n */\n this.columns = [];\n /**\n * Flag indicating if the table has been rendered.\n * @type {boolean}\n * @observable\n */\n this.tableRendered = false;\n /**\n * The current sort direction of the table.\n * @type {SortDirection}\n * @observable\n */\n this.sortDirection = \"ascending\";\n /**\n * The key of the currently active (sorted) column.\n * @type {string}\n */\n this.activeColumnKey = \"\";\n // Add new property for live region\n this.sortAnnouncer = null;\n }\n /**\n * Handler for changes to the sortable attribute.\n * @private\n */\n sortableChanged() {\n if (this.sortable) {\n this.renderTableHead();\n }\n }\n /**\n * Handler for changes to the rows property.\n * @private\n */\n rowsChanged() {\n if (this.rows && this.rows.length > 0) {\n this.renderTableRows();\n }\n }\n /**\n * Handler for changes to the columns property.\n * @private\n */\n columnsChanged() {\n if (this.columns && this.columns.length > 0) {\n this.renderTableHead();\n }\n }\n /**\n * Renders the complete table by rendering both head and rows.\n * @public\n */\n renderTable() {\n this.renderTableHead();\n this.renderTableRows();\n }\n /**\n * Handler for changes to the tableRendered property.\n * Emits a tableRendered event when rendering is complete.\n * @private\n */\n tableRenderedChanged() {\n if (this.tableRendered) {\n this.$emit(\"tableRendered\", this);\n }\n this.tableRendered = false;\n }\n /**\n * Toggles the sort direction between ascending and descending.\n * @public\n */\n toggleSortDirection() {\n this.sortDirection =\n this.sortDirection === \"ascending\" ? \"descending\" : \"ascending\";\n }\n /**\n * Sorts the table rows based on the active column and sort direction.\n * @param {SortDirection} [direction] - The direction to sort (\"ascending\" | \"descending\" | undefined). If undefined, uses the current sortDirection.\n * @public\n */\n sortRows(direction) {\n this.rows.sort((a, b) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n if (\"descending\" === direction) {\n return ((_c = (_b = (_a = a[this.activeColumnKey]) === null || _a === void 0 ? void 0 : _a.label) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : \"\") <\n ((_f = (_e = (_d = b[this.activeColumnKey]) === null || _d === void 0 ? void 0 : _d.label) === null || _e === void 0 ? void 0 : _e[0]) !== null && _f !== void 0 ? _f : \"\")\n ? 1\n : -1;\n }\n else {\n return ((_j = (_h = (_g = a[this.activeColumnKey]) === null || _g === void 0 ? void 0 : _g.label) === null || _h === void 0 ? void 0 : _h[0]) !== null && _j !== void 0 ? _j : \"\") >\n ((_m = (_l = (_k = b[this.activeColumnKey]) === null || _k === void 0 ? void 0 : _k.label) === null || _l === void 0 ? void 0 : _l[0]) !== null && _m !== void 0 ? _m : \"\")\n ? 1\n : -1;\n }\n });\n }\n /**\n * Creates and initializes the live region for sort announcements.\n * @private\n */\n initializeSortAnnouncer() {\n const container = document.createElement(\"div\");\n container.style.cssText = `\n position: absolute;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n overflow: hidden;\n pointer-events: none;\n `;\n this.sortAnnouncer = document.createElement(\"div\");\n this.sortAnnouncer.setAttribute(\"aria-live\", \"assertive\");\n this.sortAnnouncer.setAttribute(\"aria-atomic\", \"true\");\n this.sortAnnouncer.setAttribute(\"role\", \"status\");\n this.sortAnnouncer.setAttribute(\"class\", \"visually-hidden\");\n container.appendChild(this.sortAnnouncer);\n if (this.shadowRoot) {\n this.shadowRoot.insertBefore(container, this.shadowRoot.firstChild);\n }\n else {\n this.insertBefore(container, this.firstChild);\n }\n }\n /**\n * Announces the current sort state to screen readers.\n * @param {string} columnLabel - The label of the sorted column.\n * @param {SortDirection} direction - The sort direction.\n * @private\n */\n announceSortChange(columnLabel, direction) {\n if (this.sortAnnouncer) {\n this.sortAnnouncer.textContent = \"\";\n void this.sortAnnouncer.offsetWidth;\n setTimeout(() => {\n if (this.sortAnnouncer) {\n const message = `Table sorted by ${columnLabel} in ${direction} order`;\n this.sortAnnouncer.textContent = message;\n }\n }, 50);\n }\n }\n /**\n * Handles column sorting when a column header is clicked.\n * @param {Event} event - The click event.\n * @param {string} columnKey - The key of the column to sort by.\n * @public\n */\n sortByColumn(_event, columnKey) {\n this.activeColumnKey = columnKey;\n const column = this.columns.find((col) => col.columnKey === columnKey);\n if (column) {\n this.announceSortChange(column.label, this.sortDirection);\n }\n this.sortRows(this.sortDirection);\n // re-render the table\n this.renderTableHead();\n this.renderTableRows();\n this.$emit(\"sortChanged\", { direction: this.sortDirection, columnKey });\n }\n /**\n * Creates an SVG icon element from an SVG string.\n * @param {typeof UP_ARROW | typeof DOWN_ARROW} icon - The SVG string to convert.\n * @returns {HTMLElement} The created SVG element.\n * @private\n */\n createSVGIcon(icon) {\n const parser = new DOMParser();\n const svgDoc = parser.parseFromString(icon, \"image/svg+xml\");\n return svgDoc.documentElement;\n }\n /**\n * Renders a sortable column header with appropriate attributes and event handlers.\n * @param {TableColumnData} column - The column data.\n * @param {HTMLDivElement} div - The div element within the header cell.\n * @param {HTMLTableCellElement} th - The table header cell element.\n * @private\n */\n renderSortableColumn(column, th) {\n th.setAttribute(\"role\", \"columnheader\");\n th.setAttribute(\"aria-sort\", this.activeColumnKey === column.columnKey ? this.sortDirection : \"none\");\n if (this.sortable) {\n // Always render a button for sortable columns\n const button = document.createElement(\"button\");\n button.type = \"button\";\n button.className = \"table-sort-button\";\n button.textContent = column.label;\n // Add sort icon if this is the active column\n if (this.activeColumnKey === column.columnKey) {\n const arrowIcon = this.sortDirection === \"ascending\" ? UP_ARROW : DOWN_ARROW;\n const svg = this.createSVGIcon(arrowIcon);\n button.appendChild(svg);\n }\n // Add event listeners\n button.addEventListener(\"click\", (event) => {\n // Set the active column to the one clicked\n if (this.activeColumnKey !== column.columnKey) {\n this.sortDirection = \"ascending\"; // or your default\n }\n else {\n this.toggleSortDirection();\n }\n this.sortByColumn(event, column.columnKey);\n });\n // Replace any existing content and append the button\n th.innerHTML = \"\";\n th.appendChild(button);\n }\n else {\n th.textContent = column.label;\n }\n }\n /**\n * Adds focus, blur, click and keyboard event handlers to a header cell.\n * @param {HTMLTableCellElement} th - The table header cell element.\n * @param {TableColumnData} column - The column data.\n * @private\n */\n addHeaderCellEventHandlers(th, column) {\n th.addEventListener(\"focus\", () => {\n th.setAttribute(\"data-table-cell-focus\", \"true\");\n });\n // add blur event to div\n th.addEventListener(\"blur\", () => {\n th.setAttribute(\"data-table-cell-focus\", \"false\");\n });\n // add click event to div\n th.addEventListener(\"click\", (event) => {\n this.toggleSortDirection();\n this.sortByColumn(event, column.columnKey);\n });\n th.addEventListener(\"keydown\", (event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n this.toggleSortDirection();\n this.sortByColumn(event, column.columnKey);\n }\n });\n }\n /**\n * Renders the table header section with column headers.\n * @private\n */\n renderTableHead() {\n if (this.tableHeadRef && this.columns) {\n const fragment = document.createDocumentFragment();\n this.columns.forEach((column) => {\n const th = document.createElement(\"th\");\n this.renderSortableColumn(column, th);\n fragment.appendChild(th);\n });\n this.tableHeadRef.innerHTML = \"\";\n this.tableHeadRef.appendChild(fragment);\n }\n }\n /**\n * Appends content to a destination element.\n * @param {object} args - The arguments for appending content.\n * @param {HTMLElement} args.dest - The destination element.\n * @param {HTMLElement | string | SVGElement} args.content - The content to append.\n * @returns {Promise<void>}\n * @private\n */\n async appendContent(args) {\n if (typeof args.content === \"string\") {\n args.dest.innerHTML += args.content;\n }\n else if (args.content instanceof HTMLElement ||\n args.content instanceof SVGElement) {\n args.dest.appendChild(args.content);\n }\n }\n /**\n * Renders custom content for a table cell using render functions.\n * @param {object} args - The arguments for rendering custom content.\n * @param {TableColumnData} args.column - The column data.\n * @param {HTMLElement} args.cell - The table cell element.\n * @param {any} args.row - The row data.\n * @returns {Promise<void>}\n * @private\n */\n async renderCustomContent(args) {\n var _a, _b;\n if (args.column.render && args.column.render.length > 0) {\n for (const [index, renderFunction] of args.column.render.entries()) {\n const content = await renderFunction((_b = (_a = args.row[args.column.columnKey]) === null || _a === void 0 ? void 0 : _a.renderData) === null || _b === void 0 ? void 0 : _b[index]);\n await this.appendContent({\n content,\n dest: args.cell\n });\n }\n }\n }\n /**\n * Renders the default text content for a table cell.\n * @param {object} args - The arguments for rendering text content.\n * @param {TableColumnData} args.column - The column data.\n * @param {HTMLElement} args.cell - The table cell element.\n * @param {any} args.row - The row data.\n * @returns {Promise<void>}\n * @private\n */\n async renderTextContent(args) {\n const defaultSlot = document.createElement(\"span\");\n defaultSlot.textContent = args.row[args.column.columnKey].label;\n await this.appendContent({\n dest: args.cell,\n content: defaultSlot\n });\n }\n /**\n * Renders a single table row cell.\n * @param {object} args - The arguments for rendering a row.\n * @param {TableColumnData} args.column - The column data.\n * @param {any} args.row - The row data.\n * @param {HTMLElement} args.dest - The destination element (table row).\n * @returns {Promise<void>}\n * @private\n */\n async renderRow(args) {\n const cell = document.createElement(\"fabric-table-cell\");\n await this.renderCustomContent({\n column: args.column,\n cell,\n row: args.row\n });\n await this.renderTextContent({\n column: args.column,\n cell,\n row: args.row\n });\n args.dest.appendChild(cell);\n }\n /**\n * Renders all rows in the table body.\n * @returns {Promise<void>}\n * @private\n */\n async renderTableRows() {\n var _a;\n if (this.tableBodyRef && this.rows) {\n const fragment = document.createDocumentFragment();\n for (const row of this.rows) {\n const tr = document.createElement(\"tr\");\n tr.setAttribute(\"role\", \"row\");\n for (const column of this.columns) {\n await this.renderRow({ column, row, dest: tr });\n }\n fragment.appendChild(tr);\n }\n // delete the old table body\n this.tableBodyRef.innerHTML = \"\";\n (_a = this.tableBodyRef) === null || _a === void 0 ? void 0 : _a.appendChild(fragment);\n }\n }\n /**\n * Lifecycle method called when the element is connected to the DOM.\n * Initializes the sort announcer.\n * @public\n */\n connectedCallback() {\n super.connectedCallback();\n // Initialize the sort announcer\n this.initializeSortAnnouncer();\n }\n /**\n * Lifecycle method called when the element is disconnected from the DOM.\n * Cleans up the sort announcer.\n * @public\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n // Clean up the sort announcer\n if (this.sortAnnouncer) {\n this.sortAnnouncer.remove();\n this.sortAnnouncer = null;\n }\n }\n}\n__decorate([\n observable\n], Table.prototype, \"tableHeadRef\", void 0);\n__decorate([\n observable\n], Table.prototype, \"tableBodyRef\", void 0);\n__decorate([\n observable\n], Table.prototype, \"rows\", void 0);\n__decorate([\n observable\n], Table.prototype, \"columns\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], Table.prototype, \"sortable\", void 0);\n__decorate([\n observable\n], Table.prototype, \"tableRendered\", void 0);\n__decorate([\n attr({ attribute: \"sort-direction\" })\n], Table.prototype, \"sortDirection\", void 0);\n__decorate([\n observable\n], Table.prototype, \"activeColumnKey\", void 0);\n//# sourceMappingURL=table.js.map","/**\n\n\n/**\n * Expand mode for {@link AccordionMenu}\n * @public\n */\nexport const SortDirections = {\n ascending: \"ascending\",\n descending: \"descending\"\n};\nexport {};\n//# sourceMappingURL=table.options.js.map","import { FASTElement } from \"@microsoft/fast-element\";\n/**\n * TableCell\n * @summary TableCell defines a customizable table cell element within a table structure.\n *\n * @example\n * ```html\n * <fabric-table-cell size=\"medium\">\n * <div slot=\"before\">Before content</div>\n * Main content\n * <div slot=\"after\">After content</div>\n * </fabric-table-cell>\n * ```\n *\n * @attr {TableCellSize} size - The size of the table cell. Possible values are 'small', 'medium', 'large'.\n *\n * @prop {TableCellSize} size - The size of the table cell. Possible values are 'small', 'medium', 'large'.\n *\n * @slot before - Slot for content to be inserted before the main content.\n * @slot default - The default slot for the main content of the table cell.\n * @slot after - Slot for content to be inserted after the main content.\n *\n * @csspart table-cell - The main wrapper part of the table cell.\n * @csspart cell-content - The content part of the table cell, acting as a container for slotted elements.\n *\n * @method connectedCallback - Called when the element is connected to the DOM.\n * @method disconnectedCallback - Called when the element is disconnected from the DOM.\n *\n * @extends FASTElement\n * @tagname fabric-table-cell\n * @public\n */\nexport class TableCell extends FASTElement {\n /**\n * Called when the element is connected to the DOM.\n * @public\n */\n connectedCallback() {\n super.connectedCallback();\n }\n /**\n * Called when the element is disconnected to the DOM.\n * @public\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n }\n}\n//# sourceMappingURL=table-cell.js.map","import { display, spacingHorizontalS } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${display(\"table-cell\")}\n\n :host {\n vertical-align: inherit;\n unicode-bidi: isolate;\n }\n\n .cell-content {\n display: flex;\n align-items: center;\n }\n\n ::slotted([slot=\"before\"]) {\n margin-inline-end: ${spacingHorizontalS};\n }\n`;\n//# sourceMappingURL=table-cell.styles.js.map","import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(TableCell:class)} component.\n * @public\n */\nexport function tableCellTemplate() {\n return html `\n <template class=\"table-cell\" part=\"table-cell\">\n <div part=\"cell-content\" class=\"cell-content\" role=\"cell\">\n <slot name=\"before\"></slot>\n <slot></slot>\n <slot name=\"after\"></slot>\n </div>\n </template>\n `;\n}\nexport const template = tableCellTemplate();\n//# sourceMappingURL=table-cell.template.js.map","import { TableCell } from \"./table-cell\";\nimport { styles } from \"./table-cell.styles\";\nimport { template } from \"./table-cell.template\";\nimport { DesignSystem } from \"../design-system\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-table-cell>\n */\nexport const definition = TableCell.compose({\n name: `${DesignSystem.prefix}-table-cell`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=table-cell.definition.js.map","import { colorNeutralBackground1Hover, colorNeutralForeground1, colorNeutralForeground1Hover, colorNeutralStroke2, colorSubtleBackgroundHover, display, fontSizeBase300, fontWeightRegular, lineHeightBase300, spacingHorizontalS, strokeWidthThin } from \"@fluentui/web-components\";\nimport { sizeVerticalXXXL } from \"@fabric-msft/theme\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${display(\"table\")}\n\n table {\n border-collapse: collapse;\n min-width: 510px; /* @design-token-ok */\n table-layout: fixed;\n display: table;\n width: 100%;\n font-size: ${fontSizeBase300};\n line-height: ${lineHeightBase300};\n }\n\n .table-sort-button {\n all: unset;\n align-items: center;\n cursor: pointer;\n font: inherit;\n color: inherit;\n outline-style: none;\n min-height: ${sizeVerticalXXXL};\n box-sizing: content-box;\n display: flex;\n justify-content: space-between;\n align-items: center;\n color: ${colorNeutralForeground1};\n font-weight: ${fontWeightRegular};\n text-align: start;\n }\n\n tr {\n display: table-row;\n box-sizing: border-box;\n color: ${colorNeutralForeground1};\n border-bottom: ${strokeWidthThin} solid ${colorNeutralStroke2};\n }\n\n tbody tr:hover {\n color: ${colorNeutralForeground1Hover};\n background-color: ${colorSubtleBackgroundHover};\n }\n\n th {\n color: ${colorNeutralForeground1};\n text-align: start;\n font-weight: ${fontWeightRegular};\n vertical-align: middle;\n padding: 0px ${spacingHorizontalS};\n border-collapse: collapse;\n }\n\n th div {\n outline-style: none;\n min-height: 32px; /* @design-token-ok */\n box-sizing: content-box;\n display: flex;\n align-items: center;\n }\n\n th[data-table-cell-focus=\"true\"] {\n outline: -webkit-focus-ring-color auto 1px;\n }\n\n :host([sortable]) th:hover {\n cursor: pointer;\n background-color: ${colorNeutralBackground1Hover};\n }\n\n td,\n fabric-table-cell {\n height: 44px; /* @design-token-ok */\n padding: 0px ${spacingHorizontalS};\n vertical-align: middle;\n color: ${colorNeutralForeground1};\n }\n\n .visually-hidden {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important; /* @design-token-ok */\n border: 0 !important;\n }\n`;\n//# sourceMappingURL=table.styles.js.map","import { html, ref } from \"@microsoft/fast-element\";\nimport { Table } from \"./table\";\nfunction tableTemplateFunction() {\n return html `\n <slot name=\"start\"></slot>\n <table\n part=\"table\"\n role=\"table\"\n aria-label=\"${(x) => (x.sortable ? \"table with sort\" : \"table\")}\"\n ?sortable=\"${(x) => x.sortable}\"\n >\n <thead role=\"rowgroup\">\n <tr ${ref(\"tableHeadRef\")} role=\"row\">\n <slot name=\"table-head-row\"></slot>\n </tr>\n </thead>\n <tbody ${ref(\"tableBodyRef\")} role=\"rowgroup\">\n <slot name=\"table-body\"></slot>\n </tbody>\n </table>\n <slot name=\"end\"></slot>\n `;\n}\nexport const template = tableTemplateFunction();\n//# sourceMappingURL=table.template.js.map","import { composeDefinitions, fromFAST } from \"../../util/element-definition.js\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { definition as TableCellDefinition } from \"../table-cell/table-cell.definition.js\";\nimport { Table } from \"./table.js\";\nimport { styles } from \"./table.styles.js\";\nimport { template } from \"./table.template.js\";\n/** @internal */\nconst TableDefinition = Table.compose({\n name: `${DesignSystem.prefix}-table`,\n template: template,\n styles: styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n/**\n * Composed element definition for `<fabric-table>`, registering the\n * `fabric-table-cell` dependency before the element itself.\n *\n * @public\n * @remarks\n * HTML Element: `<fabric-table>`\n */\nexport const definition = composeDefinitions(fromFAST(TableDefinition), fromFAST(TableCellDefinition));\n//# sourceMappingURL=table.definition.js.map","import { FASTElement } from \"@microsoft/fast-element\";\n/**\n * Simple Table\n * @summary A thin shell around native `<table>` that standardizes Fluent styling, RTL/high-contrast, and accessibility—without taking control of data, templates, or rendering.\n *\n * @example\n * ```html\n * <fabric-simple-table>\n * <table>\n * <caption>Account Overview</caption>\n * <thead>\n * <tr>\n * <th scope=\"col\">Account</th>\n * <th scope=\"col\">Owner</th>\n * <th scope=\"col\">Status</th>\n * </tr>\n * </thead>\n * <tbody>\n * <tr>\n * <td>Contoso</td>\n * <td>A. Lee</td>\n * <td><span class=\"badge badge--warning\">Pending</span></td>\n * </tr>\n * </tbody>\n * </table>\n * </fabric-simple-table>\n * ```\n *\n * @extends FASTElement\n * @tagname fabric-simple-table\n * @public\n */\nexport class SimpleTable extends FASTElement {\n /**\n * Lifecycle method called when the element is connected to the DOM.\n * Applies the microsoft-fabric-ux-fabric-simple-table class to child table elements.\n * @public\n */\n connectedCallback() {\n super.connectedCallback();\n this.applyTableClass();\n }\n /**\n * Applies the styling class to child table elements.\n * @public\n */\n applyTableClass() {\n // Use :scope > table to only select direct child table elements\n const tableElement = this.querySelector(\":scope > table\");\n if (!tableElement) {\n console.warn(\"fabric-simple-table: No direct child <table> element found. This component requires a <table> as a direct child.\");\n return;\n }\n tableElement.classList.add(\"microsoft-fabric-ux-fabric-simple-table\");\n }\n}\n//# sourceMappingURL=simple-table.js.map","import { colorNeutralForeground1, colorNeutralStroke2, fontFamilyBase, fontSizeBase300, lineHeightBase300, spacingVerticalM, spacingHorizontalS, strokeWidthThin, fontWeightSemibold } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nimport { forcedColorsStylesheetBehavior } from \"../../util/index.js\";\nexport const styles = css `\n fabric-simple-table {\n display: block;\n font-family: ${fontFamilyBase};\n }\n\n .microsoft-fabric-ux-fabric-simple-table {\n border-collapse: collapse;\n width: 100%;\n font-size: ${fontSizeBase300};\n line-height: ${lineHeightBase300};\n }\n\n .microsoft-fabric-ux-fabric-simple-table tr {\n box-sizing: border-box;\n color: ${colorNeutralForeground1};\n }\n\n .microsoft-fabric-ux-fabric-simple-table tbody tr {\n border-block-end: ${strokeWidthThin} solid ${colorNeutralStroke2};\n }\n\n .microsoft-fabric-ux-fabric-simple-table th {\n color: ${colorNeutralForeground1};\n text-align: start;\n font-weight: ${fontWeightSemibold};\n vertical-align: middle;\n padding-block: ${spacingVerticalM};\n padding-inline: ${spacingHorizontalS};\n }\n\n .microsoft-fabric-ux-fabric-simple-table td {\n padding-block: ${spacingVerticalM};\n padding-inline: ${spacingHorizontalS};\n vertical-align: middle;\n color: ${colorNeutralForeground1};\n }\n`.withBehaviors(forcedColorsStylesheetBehavior(css `\n .microsoft-fabric-ux-fabric-simple-table {\n color: CanvasText;\n background-color: Canvas;\n }\n\n .microsoft-fabric-ux-fabric-simple-table tr {\n border-color: CanvasText;\n }\n\n .microsoft-fabric-ux-fabric-simple-table th {\n color: CanvasText;\n border-color: CanvasText;\n }\n\n .microsoft-fabric-ux-fabric-simple-table td {\n color: CanvasText;\n }\n `));\n//# sourceMappingURL=simple-table.styles.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { SimpleTable } from \"./simple-table.js\";\nimport { styles as SimpleTableStyles } from \"./simple-table.styles.js\";\n/**\n * The Fabric Simple Table component definition.\n *\n * @public\n * @remarks\n * HTML Element: <fabric-simple-table>\n */\nexport const definition = SimpleTable.compose({\n name: `${DesignSystem.prefix}-simple-table`,\n styles: SimpleTableStyles,\n // Light DOM (no shadow root) is required because HTML table semantics don't accept\n // <slot> as a valid child element. The DOM children of <table> must be thead, tbody,\n // tfoot, etc. - not slots. This preserves native table accessibility and framework\n // compatibility while allowing us to apply Fluent and Fabric styling via CSS classes.\n shadowOptions: null\n});\n//# sourceMappingURL=simple-table.definition.js.map","/**\n * @public\n * The size variations for the TableCell component.\n */\nexport const TableCellSizes = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\"\n};\n//# sourceMappingURL=table-cell.options.js.map","/** Size values for {@link Tag}. */\nexport const TagSizes = {\n extraSmall: \"extraSmall\",\n small: \"small\",\n medium: \"medium\"\n};\n/** Primary text size values for {@link Tag}. */\nexport const TagTextSizes = {\n caption1: \"caption1\",\n body1: \"body1\"\n};\n/** Shape values for {@link Tag}. */\nexport const TagShapes = {\n rounded: \"rounded\",\n circular: \"circular\"\n};\n/** Appearance values for {@link Tag}. */\nexport const TagAppearances = {\n filled: \"filled\",\n outline: \"outline\",\n brand: \"brand\"\n};\n/** Event names for Tag. */\nexport const TagEventNames = {\n dismiss: \"dismiss\"\n};\n//# sourceMappingURL=tag.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, attr, observable } from \"@microsoft/fast-element\";\nimport { TagEventNames } from \"./tag.options.js\";\n/**\n * Tag\n * @summary A Tag component that displays one or two lines of text, is dismissable via a dismiss button, and can contain a preceding picture or icon before the text.\n *\n * @example\n * ```html\n * <fabric-tag\n * dismiss-button=\"true\"\n * size=\"medium\"\n * shape=\"rounded\"\n * appearance=\"filled\"\n * >\n * <img slot=\"image\" src=\"path-to-image.png\" alt=\"Tag image\" />\n * <span slot=\"leadingIcon\">Icon</span>\n * <span slot=\"text\">Primary Text</span>\n * <span slot=\"textSecondary\">Secondary Text</span>\n * <span slot=\"dismissIcon\">Dismiss</span>\n * </fabric-tag>\n * ```\n *\n * @attr {boolean} dismiss-button - Whether the tag has a dismiss button.\n * @attr {TagSize} size - The size of the tag.\n * @attr {TagShape} shape - The shape of the tag.\n * @attr {TagAppearance} appearance - The appearance of the tag.\n * @attr {boolean} disabled - Controls whether the tag is disabled.\n *\n * @prop {string} textPrimaryContent - The content of the text primary slot.\n * @prop {HTMLElement[]} textPrimarySlotted - The primary text of the tag that has been slotted.\n * @prop {HTMLElement[]} textSecondarySlotted - The secondary text of the tag.\n * @prop {TagTextSize} textSizePrimary - The text size of the tag.\n * @prop {HTMLElement[]} leadingIconSlotted - The leading icon of the tag.\n *\n * @slot image - The image of the tag.\n * @slot leadingIcon - The leading icon of the tag.\n * @slot text - The text of the tag.\n * @slot textSecondary - The secondary text of the tag.\n * @slot dismissIcon - The dismiss icon of the tag.\n * @slot - The default slot for additional tag content.\n *\n * @csspart container - The container of the tag.\n * @csspart content - The content of the tag.\n * @csspart dismissButton - The dismiss button of the tag.\n * @csspart image - Part wrapping the image slot for sizing and layout.\n * @csspart textContent - Part wrapping the text slots for layout and truncation.\n *\n * @method sizeChanged - Called when the size property changes.\n * @method textPrimarySlottedChanged - Called when the textPrimarySlotted property changes.\n * @method textSecondarySlottedChanged - Called when the textSecondarySlotted property changes.\n * @method handleTextSize - Handles the text size of the tag, which changes depending on the size of the tag.\n * @method compensateSVGSize - Sets the size of the SVG icon to match the size of the tag.\n * @method leadingIconSlottedChanged - Called when the leadingIconSlotted property changes.\n * @method emitDismissEvent - Emits the dismiss event for the tag.\n *\n * @fires dismiss - Emits when the tag is dismissed.\n *\n * @extends FASTElement\n * @tagname fabric-tag\n * @public\n */\nexport class Tag extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * dismissButton\n *\n * Controls whether the dismiss button is shown\n * @public\n * @type {boolean}\n * @defaultValue false\n * @attr dismiss-button\n */\n this.dismissButton = false;\n /**\n * disabled\n *\n * Controls whether the tag is disabled\n * @public\n * @type {boolean}\n */\n this.disabled = false;\n /**\n * size\n *\n * The size of the tag\n * @public\n * @type {TagSize}\n * @defaultValue \"medium\"\n */\n this.size = \"medium\";\n /**\n * shape\n *\n * The shape of the tag container\n * @public\n * @type {TagShape}\n * @defaultValue \"rounded\"\n */\n this.shape = \"rounded\";\n /**\n * appearance\n *\n * The appearance style of the tag\n * @public\n * @type {TagAppearance}\n * @defaultValue \"filled\"\n */\n this.appearance = \"filled\";\n /**\n * textPrimarySlotted\n *\n * The primary text of the tag that has been slotted\n * @public\n * @type {HTMLElement[]}\n * @defaultValue []\n */\n this.textPrimarySlotted = [];\n /**\n * The secondary text of the tag\n * @type {HTMLElement[]}\n * @defaultValue []\n * @public\n */\n this.textSecondarySlotted = [];\n /**\n * textSizePrimary\n *\n * The text size of the tag\n * @type {TagTextSize}\n * @defaultValue \"body1\"\n * @public\n */\n this.textSizePrimary = \"body1\";\n /**\n * The leading icon of the tag\n * @type {HTMLElement[]}\n * @defaultValue []\n * @public\n */\n this.leadingIconSlotted = [];\n }\n /**\n * attachEventListeners\n *\n * Reattaches dismiss button listeners when the reference changes.\n * @public\n */\n dismissButtonRefChanged() {\n this.attachEventListeners();\n }\n sizeChanged() {\n this.handleTextSize();\n }\n /**\n * @summary This method is called when the textPrimarySlotted property changes.\n * @public\n */\n textPrimarySlottedChanged() {\n var _a;\n if (this.textPrimarySlotted.length > 0) {\n this.textPrimaryContent = `Dismiss button for ${((_a = this.textPrimarySlotted[0]) === null || _a === void 0 ? void 0 : _a.textContent) || \"untitled\"} tag`;\n }\n }\n /**\n * textSecondarySlottedChanged\n *\n * Updates derived text size when secondary text slot content changes.\n * @public\n */\n textSecondarySlottedChanged() {\n this.handleTextSize();\n }\n /**\n * handleTextSize\n * handles the text size of the tag, which changes depending on the size of the tag\n * @public\n */\n handleTextSize() {\n var _a;\n switch (this.size) {\n case \"extraSmall\":\n case \"small\":\n this.textSizePrimary = \"caption1\";\n break;\n default:\n if (((_a = this.textSecondarySlotted) === null || _a === void 0 ? void 0 : _a.length) > 0) {\n this.textSizePrimary = \"caption1\";\n }\n else {\n this.textSizePrimary = \"body1\";\n }\n break;\n }\n }\n /**\n * Sets the size of the SVG icon to match the size of the tag. This is necessary because otherwise the developer has to set the size of the SVG icon manually.\n * @public\n */\n compensateSVGSize() {\n var _a;\n let sizeWidth, sizeHeight;\n if (this.size === \"small\") {\n sizeWidth = 16;\n sizeHeight = 16;\n }\n else if (this.size === \"extraSmall\") {\n sizeWidth = 12;\n sizeHeight = 12;\n }\n else {\n sizeWidth = 20;\n sizeHeight = 20;\n }\n const svg = (_a = this.leadingIconSlotted[0]) === null || _a === void 0 ? void 0 : _a.querySelector(\"svg\");\n svg === null || svg === void 0 ? void 0 : svg.setAttribute(\"height\", sizeHeight.toString());\n svg === null || svg === void 0 ? void 0 : svg.setAttribute(\"width\", sizeWidth.toString());\n }\n /**\n * leadingIconSlottedChanged\n *\n * Applies state for leading icon presence and updates icon sizing.\n * @public\n */\n leadingIconSlottedChanged() {\n if (this.leadingIconSlotted.length > 0) {\n this.classList.add(\"hasLeadingIcon\");\n this.compensateSVGSize();\n }\n else {\n this.classList.remove(\"hasLeadingIcon\");\n }\n }\n /**\n * emitDismissEvent\n *\n * @public\n *\n * emits the dismiss event for the tag\n */\n emitDismissEvent() {\n this.emitDismiss();\n }\n /**\n * attachEventListeners\n *\n * Ensures the dismiss button listener is attached and kept in sync.\n * @private\n */\n attachEventListeners() {\n var _a;\n (_a = this.events) === null || _a === void 0 ? void 0 : _a.abort();\n this.events = new AbortController();\n const { signal } = this.events;\n if (this.dismissButtonRef) {\n this.dismissButtonRef.addEventListener(\"click\", this.emitDismissEvent.bind(this), { signal });\n }\n }\n /**\n * emitDismiss\n *\n * Emits the dismiss event.\n * @private\n */\n emitDismiss() {\n this.dispatchEvent(new CustomEvent(TagEventNames.dismiss, {\n bubbles: true,\n composed: true\n }));\n }\n /**\n * connectedCallback\n * connectedCallback for the tag\n * @public\n */\n connectedCallback() {\n super.connectedCallback();\n this.attachEventListeners();\n }\n /**\n * disconnectedCallback\n *\n * Cleans up event listeners when the element disconnects.\n * @public\n */\n disconnectedCallback() {\n var _a;\n (_a = this.events) === null || _a === void 0 ? void 0 : _a.abort();\n this.events = undefined;\n super.disconnectedCallback();\n }\n}\n__decorate([\n observable\n], Tag.prototype, \"dismissButtonRef\", void 0);\n__decorate([\n attr({ mode: \"boolean\", attribute: \"dismiss-button\" })\n], Tag.prototype, \"dismissButton\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], Tag.prototype, \"disabled\", void 0);\n__decorate([\n attr\n], Tag.prototype, \"size\", void 0);\n__decorate([\n attr\n], Tag.prototype, \"shape\", void 0);\n__decorate([\n attr\n], Tag.prototype, \"appearance\", void 0);\n__decorate([\n observable\n], Tag.prototype, \"textPrimaryContent\", void 0);\n__decorate([\n observable\n], Tag.prototype, \"textPrimarySlotted\", void 0);\n__decorate([\n observable\n], Tag.prototype, \"textSecondarySlotted\", void 0);\n__decorate([\n observable\n], Tag.prototype, \"textSizePrimary\", void 0);\n__decorate([\n observable\n], Tag.prototype, \"leadingIconSlotted\", void 0);\n//# sourceMappingURL=tag.js.map","import { css } from \"@microsoft/fast-element\";\nimport { display } from \"@fluentui/web-components\";\nimport { borderRadiusCircular, borderRadiusMedium, colorBrandBackground2, colorBrandForeground1, colorNeutralBackground3, colorNeutralBackground1, colorNeutralBackgroundDisabled, colorNeutralForeground2, colorNeutralForegroundDisabled, colorNeutralStroke1, spacingHorizontalNone, spacingHorizontalXXS, spacingHorizontalXS, spacingHorizontalS, spacingHorizontalSNudge, spacingVerticalXXL, spacingVerticalXXS, spacingVerticalXS, strokeWidthThin, typographyCaption1Styles, typographyCaption2Styles, typographyBody1Styles } from \"@fluentui/web-components\";\nimport { sizeHorizontalL, sizeHorizontalM, sizeVerticalL, sizeVerticalM, sizeVerticalXL, sizeVerticalXXL, sizeVerticalXXXL } from \"@fabric-msft/theme\";\nexport const styles = css `\n ${display(\"block\")}\n .caption1 {\n ${typographyCaption1Styles}\n }\n .caption2 {\n ${typographyCaption2Styles}\n }\n .body1 {\n ${typographyBody1Styles}\n }\n\n :host {\n height: ${sizeVerticalXXXL};\n width: fit-content;\n display: inline-flex;\n align-items: center;\n background-color: ${colorNeutralBackground3};\n color: ${colorNeutralForeground2};\n border-radius: ${borderRadiusMedium};\n border: none;\n }\n\n :host([size=\"extraSmall\"]) {\n height: ${sizeVerticalXL};\n }\n\n :host([size=\"small\"]) {\n height: ${sizeVerticalXXL};\n }\n\n :host([shape=\"circular\"]) {\n border-radius: ${borderRadiusCircular};\n }\n\n :host([appearance=\"outline\"]) {\n border: ${strokeWidthThin} solid ${colorNeutralStroke1};\n background-color: unset;\n }\n\n :host([appearance=\"brand\"]) {\n background-color: ${colorBrandBackground2};\n color: ${colorBrandForeground1};\n }\n\n :host([appearance=\"brand\"]) fluent-button.dismissButton {\n color: ${colorBrandForeground1};\n }\n\n :host([disabled]) {\n color: ${colorNeutralForegroundDisabled};\n }\n\n :host([disabled]) ::slotted(*) {\n color: ${colorNeutralForegroundDisabled};\n }\n\n fluent-button.dismissButton {\n min-width: unset;\n padding: ${spacingHorizontalNone};\n min-height: unset;\n margin-inline-start: ${spacingHorizontalNone};\n margin-inline-end: ${spacingHorizontalSNudge};\n }\n\n :host([disabled]) fluent-button.dismissButton {\n color: ${colorNeutralForegroundDisabled};\n }\n :host([size=\"extraSmall\"]) fluent-button.dismissButton {\n width: ${sizeHorizontalM};\n }\n\n :host([size=\"extraSmall\"]) fluent-button.dismissButton svg {\n height: ${sizeVerticalM};\n }\n\n :host([size=\"small\"]) fluent-button.dismissButton {\n width: ${sizeHorizontalL};\n }\n\n :host([size=\"small\"]) fluent-button.dismissButton svg {\n height: ${sizeVerticalL};\n }\n\n .container {\n display: flex;\n align-items: center;\n }\n\n .content {\n display: flex;\n flex-direction: row;\n align-items: center;\n }\n\n .textContent {\n display: flex;\n flex-direction: column;\n padding: 0 ${spacingHorizontalXXS};\n padding-bottom: ${spacingVerticalXXS};\n margin: ${spacingVerticalXXS} ${spacingHorizontalS};\n }\n\n :host(.hasLeadingIcon) .textContent {\n margin-inline-start: ${spacingHorizontalXS};\n }\n\n :host([dismissButton]) .textContent {\n margin-inline-end: ${spacingHorizontalXS};\n }\n\n ::slotted([slot=\"leadingIcon\"]) {\n margin-inline-end: ${spacingHorizontalNone};\n margin-inline-start: ${spacingHorizontalS};\n display: flex;\n align-items: center;\n }\n\n :host([size=\"small\"]) ::slotted([slot=\"leadingIcon\"]),\n :host([size=\"extraSmall\"]) ::slotted([slot=\"leadingIcon\"]) {\n margin-inline-start: ${spacingHorizontalSNudge};\n }\n\n ::slotted([slot=\"image\"]) {\n margin: ${spacingHorizontalXXS};\n margin-inline-end: ${spacingHorizontalNone};\n display: flex;\n align-items: center;\n height: calc(${spacingVerticalXXL} + ${spacingVerticalXS});\n }\n\n :host([size=\"small\"]) ::slotted([slot=\"image\"]) {\n height: ${sizeVerticalXL};\n }\n\n :host([size=\"extraSmall\"]) ::slotted([slot=\"image\"]) {\n height: ${sizeVerticalL};\n }\n\n :host([appearance=\"brand\"]) ::slotted([slot=\"image\"]) {\n background-color: ${colorBrandForeground1};\n color: ${colorNeutralBackground1};\n }\n\n :host([disabled][appearance=\"brand\"]) ::slotted([slot=\"image\"]) {\n background-color: ${colorNeutralForegroundDisabled};\n color: ${colorNeutralBackgroundDisabled};\n }\n`;\n//# sourceMappingURL=tag.styles.js.map","import { html, ref, slotted, when } from \"@microsoft/fast-element\";\nconst dismissSVG = html `\n <svg\n width=\"21\"\n height=\"20\"\n viewBox=\"0 0 21 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4.58859 4.21569L4.64645 4.14645C4.82001 3.97288 5.08944 3.9536 5.28431 4.08859L5.35355 4.14645L10.5 9.293L15.6464 4.14645C15.82 3.97288 16.0894 3.9536 16.2843 4.08859L16.3536 4.14645C16.5271 4.32001 16.5464 4.58944 16.4114 4.78431L16.3536 4.85355L11.207 10L16.3536 15.1464C16.5271 15.32 16.5464 15.5894 16.4114 15.7843L16.3536 15.8536C16.18 16.0271 15.9106 16.0464 15.7157 15.9114L15.6464 15.8536L10.5 10.707L5.35355 15.8536C5.17999 16.0271 4.91056 16.0464 4.71569 15.9114L4.64645 15.8536C4.47288 15.68 4.4536 15.4106 4.58859 15.2157L4.64645 15.1464L9.793 10L4.64645 4.85355C4.47288 4.67999 4.4536 4.41056 4.58859 4.21569L4.64645 4.14645L4.58859 4.21569Z\"\n fill=\"currentColor\"\n />\n </svg>\n`;\n/**\n * The template for the {@link @fabric-msft/fabric-web#(Tag:class)} component.\n * @public\n */\nexport function tagTemplate() {\n return html `\n <template>\n <div\n class=\"container\"\n part=\"container\"\n aria-disabled=${(x) => x.disabled}\n >\n <slot name=\"image\" class=\"image\" part=\"image\"></slot>\n <div class=\"content\" part=\"content\">\n <slot name=\"leadingIcon\" ${slotted(\"leadingIconSlotted\")}></slot>\n <div class=\"textContent\" part=\"textContent\">\n <slot\n name=\"text\"\n class=\"textPrimary ${(x) => x.textSizePrimary}\"\n ${slotted(\"textPrimarySlotted\")}\n ></slot>\n <slot\n name=\"textSecondary\"\n class=\"textSecondary caption2\"\n ${slotted(\"textSecondarySlotted\")}\n ></slot>\n <slot></slot>\n </div>\n\n ${when((x) => x.dismissButton, html `\n <fluent-button\n class=\"dismissButton\"\n part=\"dismissButton\"\n ${ref(\"dismissButtonRef\")}\n appearance=\"subtle\"\n ?disabled=${(x) => x.disabled}\n aria-label=\"${(x) => x.textPrimaryContent}\"\n >\n <slot name=\"dismissIcon\">${dismissSVG}</slot>\n </fluent-button>\n `)}\n </div>\n </div>\n </template>\n `;\n}\nexport const template = tagTemplate();\n//# sourceMappingURL=tag.template.js.map","import { ButtonDefinition } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { composeDefinitions, fromFAST } from \"../../util/element-definition.js\";\nimport { Tag } from \"./tag.js\";\nimport { styles } from \"./tag.styles.js\";\nimport { template } from \"./tag.template.js\";\n/** @internal */\nconst TagDefinition = Tag.compose({\n name: `${DesignSystem.prefix}-tag`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n/**\n * Composed element definition for `<fabric-tag>`, registering the\n * `fluent-button` dependency before the element itself.\n *\n * @public\n * @remarks\n * HTML Element: `<fabric-tag>`\n */\nexport const definition = composeDefinitions(fromFAST(TagDefinition), fromFAST(ButtonDefinition));\n//# sourceMappingURL=tag.definition.js.map","/**\n * The size variations for the teaching bubble component\n * @public\n */\nexport const TeachingBubbleSizes = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\"\n};\n/**\n * The placement variations for the teaching bubble component\n * @public\n */\nexport const TeachingBubblePlacements = {\n top: \"top\",\n topStart: \"top-start\",\n topEnd: \"top-end\",\n bottom: \"bottom\",\n bottomStart: \"bottom-start\",\n bottomEnd: \"bottom-end\",\n left: \"left\",\n leftStart: \"left-start\",\n leftEnd: \"left-end\",\n right: \"right\",\n rightStart: \"right-start\",\n rightEnd: \"right-end\"\n};\n/**\n * TeachingBubble event names\n * @public\n */\nexport const TeachingBubbleEventNames = {\n openChange: \"open-change\",\n dismiss: \"dismiss\"\n};\n//# sourceMappingURL=teaching-bubble.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { arrow, autoPlacement, autoUpdate, computePosition, offset } from \"@floating-ui/dom\";\nimport { FASTElement, Updates, attr } from \"@microsoft/fast-element\";\nimport { keyEscape, keyTab } from \"@microsoft/fast-web-utilities\";\nimport { isTabbable } from \"tabbable\";\nimport { TeachingBubbleEventNames } from \"./teaching-bubble.options.js\";\n/**\n * TeachingBubble\n * @summary A customizable teaching bubble component for providing contextual help or instruction.\n *\n * @example\n * ```html\n * <fabric-teaching-bubble target=\"help-button\" open placement=\"top\" size=\"medium\">\n * <span slot=\"image\">Image content</span>\n * <span slot=\"close\">Close button</span>\n * <span slot=\"heading\">Heading content</span>\n * <div>Default content</div>\n * <span slot=\"footer\">Footer content</span>\n * </fabric-teaching-bubble>\n * ```\n *\n * @attr {string} target - The ID of the target element for the teaching bubble.\n * @attr {TeachingBubblePlacements} placement - The placement of the teaching bubble.\n * @attr {boolean} open - Controls whether the teaching bubble is open.\n * @attr {boolean} disable-trap-focus - Controls whether trap focus is disabled.\n * @attr {TeachingBubbleSize} size - The size of the teaching bubble.\n *\n * @prop {ElementInternals} elementInternals - The internal ElementInternals instance for the component.\n *\n * @slot image - Slot for adding an image inside the teaching bubble.\n * @slot close - Slot for adding a close button inside the teaching bubble.\n * @slot heading - Slot for adding a heading inside the teaching bubble.\n * @slot default - Default slot for adding content inside the teaching bubble.\n * @slot footer - Slot for adding a footer inside the teaching bubble.\n *\n * @csspart image - Style part for the image inside the teaching bubble.\n * @csspart content - Style part for the content inside the teaching bubble.\n * @csspart close - Style part for the close button inside the teaching bubble.\n * @csspart heading - Style part for the heading inside the teaching bubble.\n * @csspart footer - Style part for the footer inside the teaching bubble.\n * @csspart arrow - Style part for the arrow of the teaching bubble.\n *\n * @method show() - Shows the teaching bubble.\n * @method hide(dismiss: boolean) - Hides the teaching bubble, optionally dismissing it.\n * @method openChanged() - Handles changes to the open attribute.\n *\n * @fires open-change - Fires when the 'open' attribute changes.\n * @fires dismiss - Fires when the teaching bubble is dismissed.\n *\n * @extends FASTElement\n * @tagname fabric-teaching-bubble\n * @public\n */\nexport class TeachingBubble extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * The ID of the target element for the teaching bubble.\n * @public\n * @attr target\n * @type {string}\n */\n this.target = \"\";\n /**\n * Indicates whether trap focus is disabled.\n * @public\n * @attr disable-trap-focus\n * @type {boolean}\n * @default false\n */\n this.disableTrapFocus = false;\n /**\n * The internal ElementInternals instance for the component.\n * @public\n */\n this.elementInternals = this.attachInternals();\n /**\n * Indicates whether the teaching bubble is trapping focus.\n * @private\n * @type {boolean}\n * @default false\n */\n this.isTrappingFocus = false;\n /**\n * Indicates whether a focus operation is currently in progress.\n * Used to prevent infinite recursion in focus handling.\n * @private\n * @type {boolean}\n * @default false\n */\n this.focusInProgress = false;\n /**\n * Indicates whether the teaching bubble should trap focus.\n * @private\n * @type {boolean}\n * @default false\n */\n this.trapFocus = false;\n /**\n * Function to clean up auto updates.\n * @private\n * @type {() => void | null}\n */\n this.cleanAutoUpdate = null;\n /**\n * Shows the teaching bubble.\n * @public\n */\n this.show = () => {\n var _a, _b;\n // Set elements first to ensure we have the latest state\n this.setElements();\n // Check for required elements\n if (!this.targetEl) {\n // Assert in development to catch configuration issues early\n if (typeof console !== \"undefined\" && console.assert) {\n const targetTrimmed = (_b = (_a = this.target) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : \"\";\n if (targetTrimmed === \"\") {\n console.assert(false, `TeachingBubble.show(): target attribute is empty or missing. Expected a valid element ID.`);\n }\n else {\n console.assert(false, `TeachingBubble.show(): target element with ID \"${this.target}\" not found in DOM. ` +\n `Ensure the target element exists before calling show().`);\n }\n }\n // Required elements not yet available; bail quietly\n return;\n }\n // Ensure visibility if previously hidden\n this.removeAttribute(\"hidden\");\n this.updatePosition();\n if (!this.cleanAutoUpdate) {\n this.cleanAutoUpdate = autoUpdate(this.targetEl, this, this.updatePosition);\n }\n if (!this.open)\n this.open = true;\n TeachingBubble.openInstances.add(this);\n // Respect disable-trap-focus attribute\n const shouldTrap = !this.disableTrapFocus;\n this.trapFocus = shouldTrap;\n this.updateTrapFocus(shouldTrap);\n };\n /**\n * Hides the teaching bubble.\n * @public\n * @param {boolean} - Indicates whether the bubble should be dismissed.\n * @fires dismiss - Fires when the teaching bubble is dismissed.\n */\n this.hide = (dismiss = false) => {\n this.open = false;\n // Stop auto updates when hidden\n if (this.cleanAutoUpdate) {\n this.cleanAutoUpdate();\n this.cleanAutoUpdate = null;\n }\n // Disable trapping while hidden\n // Remove from registry first so next topmost bubble (if any) can trap\n TeachingBubble.openInstances.delete(this);\n this.updateTrapFocus(false);\n // Hide element\n this.setAttribute(\"hidden\", \"\");\n if (dismiss) {\n this.dispatchEvent(new CustomEvent(TeachingBubbleEventNames.dismiss, {\n bubbles: true,\n composed: true\n }));\n }\n };\n /**\n * Sets the target, current, and arrow elements.\n * @private\n */\n this.setElements = () => {\n var _a;\n const id = ((_a = this.target) !== null && _a !== void 0 ? _a : \"\").trim();\n this.targetEl = id ? document.getElementById(id) : null;\n };\n /**\n * Updates the position of the teaching bubble.\n * @private\n */\n this.updatePosition = () => {\n this.setElements();\n const arrowMw = this.arrowEl\n ? [arrow({ element: this.arrowEl, padding: 4 })]\n : [];\n const computeObj = this.placement\n ? {\n placement: this.placement,\n middleware: [offset(10), ...arrowMw]\n }\n : {\n middleware: [\n autoPlacement({ autoAlignment: true }),\n offset(10),\n ...arrowMw\n ]\n };\n if (this.targetEl) {\n computePosition(this.targetEl, this, computeObj).then(({ x, y, placement, middlewareData }) => {\n var _a;\n Object.assign(this.style, {\n left: `${x}px`,\n top: `${y}px`\n });\n const arrowData = ((_a = middlewareData.arrow) !== null && _a !== void 0 ? _a : undefined);\n if (this.arrowEl && arrowData) {\n const { x: arrowX, y: arrowY } = arrowData;\n const staticSide = {\n top: \"bottom\",\n right: \"left\",\n bottom: \"top\",\n left: \"right\"\n }[placement.split(\"-\")[0]];\n Object.assign(this.arrowEl.style, {\n left: arrowX != null ? `${arrowX}px` : \"\",\n top: arrowY != null ? `${arrowY}px` : \"\",\n right: \"\",\n bottom: \"\",\n [staticSide]: \"-8px\"\n });\n }\n });\n }\n };\n /**\n * Handles keydown events on the document.\n * @private\n * @param {KeyboardEvent} e - The keyboard event.\n */\n this.handleDocumentKeydown = (e) => {\n if (!e.defaultPrevented && this.open) {\n switch (e.key) {\n case keyTab:\n this.handleTabKeyDown(e);\n break;\n case keyEscape:\n this.hide(true);\n break;\n default:\n break;\n }\n }\n };\n /**\n * Handles the tab keydown event.\n * @private\n * @param {KeyboardEvent} e - The keyboard event.\n */\n this.handleTabKeyDown = (e) => {\n if (!this.trapFocus || !this.open) {\n return;\n }\n const bounds = this.getTabQueueBounds();\n if (bounds.length === 1) {\n bounds[0].focus();\n e.preventDefault();\n return;\n }\n if (e.shiftKey && e.target === bounds[0]) {\n bounds[bounds.length - 1].focus();\n e.preventDefault();\n }\n else if (!e.shiftKey && e.target === bounds[bounds.length - 1]) {\n bounds[0].focus();\n e.preventDefault();\n }\n return;\n };\n /**\n * Gets the bounds of the tab queue.\n * @private\n * @returns {(HTMLElement | SVGElement)[]}\n */\n this.getTabQueueBounds = () => {\n const bounds = [];\n return this.reduceTabbableItems(bounds, this);\n };\n /**\n * Updates the focus trap state.\n * @private\n * @param {boolean} [shouldTrapFocusOverride] - Optional override for whether to trap focus.\n */\n this.updateTrapFocus = (shouldTrapFocusOverride) => {\n const shouldTrapFocusBase = shouldTrapFocusOverride === undefined\n ? this.shouldTrapFocus()\n : shouldTrapFocusOverride;\n // Only the topmost/sole open bubble should trap to avoid jitter\n const isTopmost = TeachingBubble.openInstances.size === 1;\n const shouldTrapFocus = shouldTrapFocusBase && isTopmost;\n if (shouldTrapFocus && !this.isTrappingFocus) {\n this.isTrappingFocus = true;\n // Use host-scoped focusout to detect leaving the component\n this.addEventListener(\"focusout\", this.handleFocusOut, true);\n Updates.enqueue(() => {\n const root = this.getRootNode() || document;\n const activeEl = \"activeElement\" in root\n ? root.activeElement\n : null;\n const active = activeEl !== null && activeEl !== void 0 ? activeEl : document.activeElement;\n if (this.shouldForceFocus(active)) {\n this.focusFirstElement();\n }\n });\n }\n else if (!shouldTrapFocus && this.isTrappingFocus) {\n this.isTrappingFocus = false;\n this.removeEventListener(\"focusout\", this.handleFocusOut, true);\n }\n };\n /**\n * Handles focus moving out of the component; re-focus inside when trapping.\n * @private\n */\n this.handleFocusOut = (e) => {\n if (!this.isTrappingFocus)\n return;\n const next = e.relatedTarget;\n if (!next || !this.contains(next)) {\n queueMicrotask(() => {\n this.focusFirstElement();\n });\n }\n };\n /**\n * Focuses the first element in the tab queue.\n * @private\n */\n this.focusFirstElement = () => {\n if (this.focusInProgress) {\n return false;\n }\n this.focusInProgress = true;\n try {\n const bounds = this.getTabQueueBounds();\n // If multiple bubbles are open, do not intercept focus\n const openCount = TeachingBubble.openInstances.size;\n if (openCount > 1) {\n return false;\n }\n if (bounds.length > 0) {\n bounds[0].focus();\n return true;\n }\n // TeachingBubble extends FASTElement which extends HTMLElement\n this.focus();\n return true;\n }\n finally {\n this.focusInProgress = false;\n }\n };\n /**\n * Determines if the focus should be forced to the teaching bubble.\n * @private\n * @param {Element | null} currentFocusElement - The current focused element.\n * @returns {boolean}\n */\n this.shouldForceFocus = (currentFocusElement) => {\n return this.isTrappingFocus && !this.contains(currentFocusElement);\n };\n /**\n * Determines if the teaching bubble should trap focus.\n * @private\n * @returns {boolean}\n */\n this.shouldTrapFocus = () => {\n return this.trapFocus && this.open;\n };\n }\n /**\n * Called when the element is connected to the DOM.\n * @public\n */\n connectedCallback() {\n super.connectedCallback();\n // Ensure host can be programmatically focused as a last resort\n if (!this.hasAttribute(\"tabindex\")) {\n this.setAttribute(\"tabindex\", \"-1\");\n }\n // Ensure dialog semantics are on the host (not shadow template)\n if (!this.hasAttribute(\"role\")) {\n this.elementInternals.role = \"dialog\";\n }\n // Inline setup: elements, positioning, listeners\n this.setElements();\n this.initializePosition();\n // Scope keyboard handling to the host\n this.addEventListener(\"keydown\", this.handleDocumentKeydown);\n Updates.enqueue(() => {\n // Compute trap state after applying disableTrapFocus\n this.disableTrapFocusHandler();\n this.updateTrapFocus();\n });\n }\n /**\n * Called when the element is disconnected from the DOM.\n * @public\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"keydown\", this.handleDocumentKeydown);\n // Ensure focus trap listeners are removed\n this.removeEventListener(\"focusout\", this.handleFocusOut, true);\n this.updateTrapFocus(false);\n if (this.cleanAutoUpdate) {\n this.cleanAutoUpdate();\n }\n // Remove from registry if present\n TeachingBubble.openInstances.delete(this);\n }\n /**\n * Handles changes to the open attribute.\n * @public\n * @fires open-change - Emitted when the open attribute changes.\n */\n openChanged() {\n this.initializePosition();\n Updates.enqueue(() => {\n // Apply disable-trap-focus, then compute trapping & listeners\n this.disableTrapFocusHandler();\n this.updateTrapFocus();\n });\n this.dispatchEvent(new CustomEvent(TeachingBubbleEventNames.openChange, {\n detail: { open: this.open },\n bubbles: true,\n composed: true\n }));\n // Reflect dialog modality for SRs even when toggled via attribute\n this.elementInternals.ariaModal = this.open ? \"true\" : \"false\";\n // Registry is managed by show()/hide() only\n }\n /**\n * Reduces tabbable items to a list of elements.\n * @private\n * @param {HTMLElement[]} elements - The current list of elements.\n * @param {FASTElement} element - The current element to check.\n * @returns {HTMLElement[]}\n */\n reduceTabbableItems(elements, element) {\n const host = element;\n // Include direct focusables or hosts with tabbables in shadow\n const shouldPush = isTabbable(host) || TeachingBubble.isFocusableFastElement(element);\n if (shouldPush) {\n elements.push(host);\n }\n // Traverse light DOM children\n elements = Array.from(element.children).reduce((acc, child) => this.reduceTabbableItems(acc, child), elements);\n // Traverse shadow DOM children if present\n const sr = host.shadowRoot;\n if (sr) {\n elements = Array.from(sr.children).reduce((acc, child) => this.reduceTabbableItems(acc, child), elements);\n }\n return elements;\n }\n /**\n * Determines if a FAST element is focusable.\n * @private\n * @static\n * @param {FASTElement} element - The element to check.\n * @returns {boolean}\n */\n static isFocusableFastElement(element) {\n var _a, _b;\n return !!((_b = (_a = element.$fastController) === null || _a === void 0 ? void 0 : _a.definition.shadowOptions) === null || _b === void 0 ? void 0 : _b.delegatesFocus);\n }\n /**\n * Handles the trap focus disable state.\n * @private\n */\n disableTrapFocusHandler() {\n if (this.disableTrapFocus) {\n this.trapFocus = false;\n }\n else {\n this.trapFocus = true;\n }\n }\n /**\n * Initializes the position of the teaching bubble.\n * @private\n */\n initializePosition() {\n this.setElements();\n if (this.open) {\n // Let show() handle missing refs gracefully; don't force-close\n this.show();\n }\n else {\n this.hide();\n }\n }\n}\n/**\n * Static registry of open TeachingBubble instances.\n */\nTeachingBubble.openInstances = new Set();\n__decorate([\n attr({ mode: \"fromView\" })\n], TeachingBubble.prototype, \"target\", void 0);\n__decorate([\n attr({ mode: \"reflect\" })\n], TeachingBubble.prototype, \"placement\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], TeachingBubble.prototype, \"open\", void 0);\n__decorate([\n attr({ mode: \"boolean\", attribute: \"disable-trap-focus\" })\n], TeachingBubble.prototype, \"disableTrapFocus\", void 0);\n__decorate([\n attr({ mode: \"reflect\" })\n], TeachingBubble.prototype, \"size\", void 0);\n//# sourceMappingURL=teaching-bubble.js.map","import { borderRadiusMedium, borderRadiusSmall, colorBrandBackground, colorNeutralBackground1, display, fontFamilyBase, fontSizeBase200, fontSizeBase300, fontSizeBase400, fontSizeBase500, fontWeightRegular, fontWeightSemibold, lineHeightBase200, lineHeightBase300, lineHeightBase400, shadow16, spacingHorizontalL, spacingHorizontalM, spacingHorizontalS, spacingHorizontalXXXL } from \"@fluentui/web-components\";\nimport { sizeHorizontalL, sizeVerticalL } from \"@fabric-msft/theme\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${display(\"block\")}\n\n :host {\n position: absolute;\n border: 1px solid ${colorBrandBackground};\n border-radius: ${borderRadiusMedium};\n background-color: ${colorBrandBackground};\n color: ${colorNeutralBackground1};\n padding: ${spacingHorizontalL};\n box-shadow: ${shadow16};\n max-width: calc(${spacingHorizontalXXXL} * 9);\n /* Ensure the bubble renders above typical app layers */\n z-index: var(--fabric-layer-teaching-bubble, 1000);\n }\n\n ::slotted(*) {\n font-family: ${fontFamilyBase};\n font-size: unset;\n font-weight: ${fontWeightRegular};\n line-height: ${lineHeightBase300};\n margin: 0;\n margin-block-start: 0;\n margin-block-end: 0;\n margin-inline-start: 0;\n margin-inline-end: 0;\n }\n\n :host([size=\"small\"]) ::slotted(*) {\n font-size: ${fontSizeBase200};\n }\n\n :host([size=\"medium\"]) ::slotted(*) {\n font-size: ${fontSizeBase300};\n }\n\n :host([size=\"large\"]) ::slotted(*) {\n font-size: ${fontSizeBase400};\n }\n\n slot[name=\"close\"]::slotted(*) {\n position: absolute;\n top: 0;\n inset-inline-end: 0;\n }\n\n .content {\n position: relative;\n }\n\n .heading {\n margin-bottom: ${spacingHorizontalS};\n }\n\n .arrow {\n position: absolute;\n background: ${colorBrandBackground};\n width: ${sizeHorizontalL};\n height: ${sizeVerticalL};\n transform: rotate(45deg);\n border-radius: ${borderRadiusSmall};\n pointer-events: none;\n }\n\n /* Avoid image distortion in the image slot */\n slot[name=\"image\"]::slotted(*) {\n display: block;\n margin-bottom: ${spacingHorizontalM};\n }\n\n /* Common media elements: keep aspect ratio */\n slot[name=\"image\"]::slotted(img),\n slot[name=\"image\"]::slotted(picture),\n slot[name=\"image\"]::slotted(video) {\n max-width: 100%;\n height: auto;\n }\n\n slot[name=\"heading\"]::slotted(*) {\n font-weight: ${fontWeightSemibold};\n line-height: ${lineHeightBase400};\n }\n\n :host([size=\"small\"]) slot[name=\"heading\"]::slotted(*) {\n font-size: ${fontSizeBase300};\n }\n\n :host([size=\"medium\"]) slot[name=\"heading\"]::slotted(*) {\n font-size: ${fontSizeBase400};\n }\n\n :host([size=\"large\"]) slot[name=\"heading\"]::slotted(*) {\n font-size: ${fontSizeBase500};\n }\n\n slot[name=\"footer\"]::slotted(*) {\n line-height: ${lineHeightBase200};\n margin-top: ${spacingHorizontalM};\n padding-top: ${spacingHorizontalM};\n }\n`;\n//# sourceMappingURL=teaching-bubble.styles.js.map","import { html, ref } from \"@microsoft/fast-element\";\nimport { TeachingBubble } from \"./teaching-bubble.js\";\nexport function teachingBubbleTemplate() {\n return html `\n <template ?hidden=\"${(x) => !x.open}\">\n <div class=\"image\">\n <slot name=\"image\"></slot>\n </div>\n <div class=\"content\">\n <div class=\"close\"><slot name=\"close\"></slot></div>\n <div class=\"heading\">\n <slot name=\"heading\"></slot>\n </div>\n <slot></slot>\n <div class=\"footer\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n <div id=\"arrow\" class=\"arrow\" ${ref(\"arrowEl\")}></div>\n </template>\n `;\n}\nexport const template = teachingBubbleTemplate();\n//# sourceMappingURL=teaching-bubble.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { TeachingBubble } from \"./teaching-bubble.js\";\nimport { styles } from \"./teaching-bubble.styles.js\";\nimport { template } from \"./teaching-bubble.template.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-teaching-bubble>\n */\nexport const definition = TeachingBubble.compose({\n name: `${DesignSystem.prefix}-teaching-bubble`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=teaching-bubble.definition.js.map","/**\n * The state variations for the WizardStep component\n * @public\n */\nexport const WizardStepStates = {\n incomplete: \"incomplete\",\n complete: \"complete\",\n error: \"error\"\n};\nexport const WizardStepEvents = {\n stepChange: \"step-change\",\n stepSelect: \"step-select\"\n};\n//# sourceMappingURL=wizard-step.options.js.map","import { WizardStepStates } from \"../wizard-step/wizard-step.options.js\";\nexport const WizardPanelEventNames = {\n panelChange: \"panel-change\"\n};\nexport const WizardPanelStates = { ...WizardStepStates };\n//# sourceMappingURL=wizard-panel.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, attr, observable } from \"@microsoft/fast-element\";\nimport { WizardPanelStates } from \"./wizard-panel.options.js\";\nimport { WizardPanelEventNames } from \"./wizard-panel.options.js\";\n/**\n * WizardPanel\n * @summary A customizable panel component for a wizard-style interface.\n *\n * @example\n * ```html\n * <fabric-wizard-panel id=\"step1\" state=\"incomplete\" hidden>\n * <div slot=\"start\">Start Content</div>\n * <div slot=\"title\">Step 1: Title</div>\n * <div>Step Content</div>\n * <div slot=\"footer\">Step Footer</div>\n * <div slot=\"end\">End Content</div>\n * </fabric-wizard-panel>\n * ```\n *\n * @attr {boolean} hidden - Indicates whether the panel is hidden.\n * @attr {WizardStepState} state - The state of the panel.\n * @attr {boolean} active - Indicates whether the panel is active.\n *\n * @prop {number | undefined} index - The index of the panel in the wizard sequence.\n * @prop {boolean} hidden - Indicates whether the panel is hidden.\n * @prop {WizardStepState} state - The current state of the wizard step.\n * @prop {boolean} active - Indicates whether the panel is currently active.\n *\n * @slot default - The default content of the step.\n * @slot start - The content to display at the start of the step.\n * @slot end - The content to display at the end of the step.\n * @slot title - The content to display as the title of the step.\n * @slot footer - The content to display as the footer of the step.\n *\n * @csspart panel - The root panel container element.\n * @csspart title - The title.\n * @csspart content - The content.\n * @csspart footer - The footer.\n *\n * @method stateChanged - Handles changes to the state attribute.\n * @method activeChanged - Handles changes to the active attribute.\n * @method hiddenChanged - Handles changes to the hidden attribute.\n * @method show - Shows the panel by setting the hidden attribute to false.\n * @method hide - Hides the panel by setting the hidden attribute to true.\n * @method emitChange - Emits a custom event indicating a change in the panel's state.\n *\n * @fires panel-change - Dispatched when the panel state changes.\n *\n * @extends FASTElement\n * @tagname fabric-wizard-panel\n * @public\n */\nexport class WizardPanel extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Indicates whether the panel is hidden.\n * @public\n * @attr\n * @type {boolean}\n * @default true\n */\n this.hidden = true;\n /**\n * The current state of the wizard step.\n * @public\n * @attr\n * @type {WizardPanelState}\n * @default incomplete\n */\n this.state = WizardPanelStates.incomplete;\n /**\n * Indicates whether the panel is currently active.\n * @public\n * @attr\n * @type {boolean}\n * @default false\n */\n this.active = false;\n }\n /**\n * Handles changes to the state attribute.\n * @public\n * @param {WizardPanelState} oldValue - The previous state value.\n * @param {WizardPanelState} newValue - The new state value.\n */\n stateChanged(oldValue, newValue) {\n if (oldValue !== newValue) {\n this.emitChange();\n }\n }\n /**\n * Handles changes to the active attribute.\n * @public\n * @param {boolean} oldValue - The previous active value.\n * @param {boolean} newValue - The new active value.\n */\n activeChanged(oldValue, newValue) {\n if (oldValue !== newValue) {\n if (newValue) {\n this.show();\n }\n else {\n this.hide();\n }\n this.emitChange();\n }\n }\n /**\n * Handles changes to the hidden attribute.\n * @public\n * @param {boolean} oldValue - The previous hidden value.\n * @param {boolean} newValue - The new hidden value.\n */\n hiddenChanged(oldValue, newValue) {\n if (oldValue !== newValue) {\n this.emitChange();\n }\n }\n /**\n * Shows the panel by setting the hidden attribute to false.\n * @public\n */\n show() {\n this.hidden = false;\n }\n /**\n * Hides the panel by setting the hidden attribute to true.\n * @public\n */\n hide() {\n this.hidden = true;\n }\n /**\n * Emits a custom event indicating a change in the panel's state.\n * @public\n */\n emitChange() {\n this.$emit(WizardPanelEventNames.panelChange, {\n id: this.id,\n state: this.state,\n active: this.active,\n index: this.index\n });\n }\n}\n__decorate([\n observable\n], WizardPanel.prototype, \"index\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], WizardPanel.prototype, \"hidden\", void 0);\n__decorate([\n attr\n], WizardPanel.prototype, \"state\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], WizardPanel.prototype, \"active\", void 0);\n//# sourceMappingURL=wizard-panel.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, attr, nullableNumberConverter, observable } from \"@microsoft/fast-element\";\nimport { keyEnter } from \"@microsoft/fast-web-utilities\";\nimport { WizardStepStates, WizardStepEvents } from \"./wizard-step.options.js\";\n/**\n * WizardStep\n * @summary A customizable step component for a wizard-style interface.\n *\n * @example\n * ```html\n * <fabric-wizard-step\n * numbered\n * active\n * state=\"complete\"\n * aria-describedby=\"step1-details\"\n * aria-labelledby=\"step1-title\"\n * >\n * <span slot=\"start\">Start Content</span>\n * <span slot=\"end\">End Content</span>\n * <span slot=\"title\" id=\"step1-title\">Step 1: Title</span>\n * <span slot=\"details\" id=\"step1-details\">Details about Step 1</span>\n * <span slot=\"complete\">Complete</span>\n * <span slot=\"incomplete\">Incomplete</span>\n * <span slot=\"error\">Error</span>\n * </fabric-wizard-step>\n * ```\n *\n * @attr {boolean | undefined} numbered - Indicates whether the step is numbered.\n * @attr {boolean | undefined} hideConnector - Indicates whether the connector is hidden.\n * @attr {boolean} active - Indicates whether the step is active.\n * @attr {boolean} disabled - Indicates whether the step is disabled.\n * @attr {string | undefined} ariaDescribedby - The aria-describedby attribute for accessibility.\n * @attr {string | undefined} ariaLabelledby - The aria-labelledby attribute for accessibility.\n * @attr {WizardStepState} state - The current state of the wizard step.\n *\n * @prop {number} index - The index of the step in the wizard sequence.\n * @prop {string} details - The details of the step.\n * @prop {string} title - The title of the step.\n * @prop {boolean | undefined} numbered - Indicates whether the step is numbered.\n * @prop {boolean | undefined} hideConnector - Indicates whether the connector is hidden.\n * @prop {boolean} active - Indicates whether the step is active.\n * @prop {boolean} disabled - Indicates whether the step is disabled.\n * @prop {string | undefined} ariaDescribedby - The aria-describedby attribute for accessibility.\n * @prop {string | undefined} ariaLabelledby - The aria-labelledby attribute for accessibility.\n * @prop {WizardStepState} state - The current state of the wizard step.\n *\n * @slot start - The content to display at the start of the step.\n * @slot end - The content to display at the end of the step.\n * @slot incomplete - The content to display when the step is incomplete.\n * @slot complete - The content to display when the step is complete.\n * @slot error - The content to display when the step has an error.\n * @slot title - The content to display as the title of the step.\n * @slot details - The content to display as the details of the step.\n *\n * @csspart state-indicator - The state indicator.\n * @csspart icon - The icon.\n * @csspart order - The ordinal number indicator displayed inside the step circle when the step is numbered.\n * @csspart summary - The summary.\n * @csspart title - The title.\n * @csspart details - The details.\n * @csspart step-connector - The visual connector line that links this step to the next step in the wizard sequence.\n *\n * @method stateChanged - Handles changes to the state attribute.\n * @method activeChanged - Handles changes to the active attribute.\n * @method toggleActive - Toggles the active state of the step.\n * @method setComplete - Sets the step to a complete state.\n * @method setIncomplete - Sets the step to an incomplete state.\n * @method setError - Sets the step to an error state.\n * @method emitChange - Emits a custom event indicating a change in the step's state.\n * @method emitSelect - Emits a custom event indicating a selection of the step.\n * @method clickHandler - Handles click events on the step.\n * @method keydownHandler - Handles keydown events on the step.\n *\n * @fires step-change - Dispatched when the step state changes.\n * @fires step-select - Dispatched when the user selects (clicks or activates via keyboard) this wizard step to navigate to it.\n *\n * @cssprop --borderRadiusCircular - The border radius used for the circular state indicator.\n * @cssprop --colorNeutralBackground4 - The background color of the state indicator in the default state.\n * @cssprop --colorNeutralForeground2 - The border color of the state indicator in the default state.\n * @cssprop --colorNeutralForegroundDisabled - The foreground color applied when the step is disabled.\n * @cssprop --fontSizeBase200 - The font size used for the order label and step details.\n * @cssprop --fontWeightRegular - The regular font weight used for the step title and details.\n * @cssprop --fontWeightSemibold - The semibold font weight used for the active step title.\n * @cssprop --lineHeightBase100 - The line height used for the order label.\n * @cssprop --lineHeightBase200 - The line height used for the step details text.\n *\n * @extends FASTElement\n * @tagname fabric-wizard-step\n * @public\n */\nexport class WizardStep extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Indicates whether the step is active.\n * @public\n * @attr\n * @type {boolean}\n * @default false\n */\n this.active = false;\n /**\n * Indicates whether the step is disabled.\n * @public\n * @attr\n * @type {boolean}\n * @default false\n */\n this.disabled = false;\n /**\n * The current state of the wizard step.\n * @public\n * @attr state\n * @type {WizardStepState}\n * @default incomplete\n */\n this.state = WizardStepStates.incomplete;\n /**\n * The index of the step in the wizard sequence.\n * @public\n * @attr\n * @type {number}\n * @default 0\n */\n this.index = 0;\n /**\n * The details of the step.\n * @public\n * @observable\n * @type {string}\n * @default \"\"\n */\n this.details = \"\";\n /**\n * The title of the step.\n * @public\n * @observable\n * @type {string}\n * @default \"\"\n */\n this.title = \"\";\n }\n /**\n * Handles changes to the state attribute.\n * @public\n * @param {WizardStepState} oldValue - The previous state value.\n * @param {WizardStepState} newValue - The new state value.\n */\n stateChanged(oldValue, newValue) {\n if (oldValue !== newValue) {\n this.emitChange();\n }\n }\n /**\n * Handles changes to the active attribute.\n * @public\n * @param {boolean} oldValue - The previous active value.\n * @param {boolean} newValue - The new active value.\n */\n activeChanged(oldValue, newValue) {\n if (oldValue !== newValue) {\n this.emitChange();\n }\n }\n /**\n * Toggles the active state of the step.\n * @public\n */\n toggleActive(_event) {\n this.active = !this.active;\n }\n /**\n * Sets the step to a complete state.\n * @public\n */\n setComplete() {\n this.state = WizardStepStates.complete;\n }\n /**\n * Sets the step to an incomplete state.\n * @public\n */\n setIncomplete() {\n this.state = WizardStepStates.incomplete;\n }\n /**\n * Sets the step to an error state.\n * @public\n */\n setError() {\n this.state = WizardStepStates.error;\n }\n /**\n * Emits a custom event indicating a change in the step's state.\n * @public\n */\n emitChange() {\n this.$emit(WizardStepEvents.stepChange, {\n id: this.id,\n state: this.state,\n active: this.active,\n index: this.index\n });\n }\n /**\n * Emits a custom event indicating a selection of the step.\n * @public\n */\n emitSelect() {\n this.$emit(WizardStepEvents.stepSelect, {\n id: this.id,\n state: this.state,\n active: this.active,\n index: this.index\n });\n }\n /**\n * Handles click events on the step.\n * @public\n * @param {MouseEvent} event - The mouse event.\n */\n clickHandler(event) {\n if (this.disabled) {\n event === null || event === void 0 ? void 0 : event.preventDefault();\n event === null || event === void 0 ? void 0 : event.stopImmediatePropagation();\n }\n else {\n this.emitSelect();\n }\n }\n /**\n * Handles keydown events on the step.\n * @public\n * @param {KeyboardEvent} event - The keyboard event.\n */\n keydownHandler(event) {\n switch (event.key) {\n case keyEnter:\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n else {\n this.emitSelect();\n }\n break;\n default:\n break;\n }\n }\n}\n__decorate([\n attr({ mode: \"boolean\" })\n], WizardStep.prototype, \"numbered\", void 0);\n__decorate([\n attr({ mode: \"boolean\", attribute: \"hide-connector\" })\n], WizardStep.prototype, \"hideConnector\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], WizardStep.prototype, \"active\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], WizardStep.prototype, \"disabled\", void 0);\n__decorate([\n attr({ attribute: \"aria-describedby\" })\n], WizardStep.prototype, \"ariaDescribedby\", void 0);\n__decorate([\n attr({ attribute: \"aria-labelledby\" })\n], WizardStep.prototype, \"ariaLabelledby\", void 0);\n__decorate([\n attr\n], WizardStep.prototype, \"state\", void 0);\n__decorate([\n observable\n], WizardStep.prototype, \"button\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], WizardStep.prototype, \"index\", void 0);\n__decorate([\n observable\n], WizardStep.prototype, \"details\", void 0);\n__decorate([\n observable\n], WizardStep.prototype, \"title\", void 0);\n//# sourceMappingURL=wizard-step.js.map","export const WizardEvents = {\n wizardChange: \"wizard-change\",\n wizardComplete: \"wizard-complete\"\n};\n//# sourceMappingURL=wizard.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { FASTElement, Updates, attr, nullableNumberConverter, observable } from \"@microsoft/fast-element\";\nimport { keyArrowDown, keyArrowUp, keyEnd, keyEnter, keyEscape, keyHome, uniqueId } from \"@microsoft/fast-web-utilities\";\nimport { WizardPanel } from \"../wizard-panel/wizard-panel.js\";\nimport { WizardStepStates } from \"../wizard-step/wizard-step.options.js\";\nimport { WizardStep } from \"../wizard-step/wizard-step.js\";\nimport { WizardEvents } from \"./wizard.options.js\";\n/**\n * # Wizard\n * A customizable wizard component for a step-by-step interface.\n *\n * @summary A customizable wizard component for a step-by-step interface.\n *\n * @example\n * ```html\n * <fabric-wizard numbered linear disable-on-complete>\n * <fabric-wizard-step slot='step'>Step One</fabric-wizard-step>\n * <fabric-wizard-panel slot='panel'>Content for Step One</fabric-wizard-panel>\n * <fabric-wizard-step slot='step'>Step Two</fabric-wizard-step>\n * <fabric-wizard-panel slot='panel'>Content for Step Two</fabric-wizard-panel>\n * <div slot='title'>Wizard Title</div>\n * <fabric-wizard-button slot='button'>Next</fabric-wizard-button>\n * </fabric-wizard>\n * ```\n *\n * @attr {boolean} numbered - Determines whether the step state indicator should be labeled with the order of the steps.\n * @attr {boolean} linear - Indicates whether the wizard enforces linear step completion.\n * @attr {boolean} disable-on-complete - Indicates whether steps should be disabled on completion.\n * @attr {number} current-index - The current index of the active step.\n *\n * @prop {number} numbered - Determines whether the step state indicator should be labeled with the order of the steps.\n * @prop {boolean} linear - Indicates whether the wizard enforces linear step completion.\n * @prop {number} currentIndex - The current index of the active step.\n * @prop {boolean} disableOnComplete - Indicates whether steps should be disabled on completion.\n * @prop {HTMLElement} stepcontainer - The container for wizard steps.\n * @prop {HTMLElement} panelcontainer - The container for wizard panels.\n * @prop {HTMLElement[]} slottedsteps - The list of slotted wizard steps.\n * @prop {Button[]} slottedactions - The list of slotted buttons.\n * @prop {HTMLElement[]} slottedpanels - The list of slotted wizard panels.\n * @prop {string | undefined} activeid - The ID of the active step.\n * @prop {WizardStep | undefined} activestep - The currently active step.\n * @prop {number | undefined} prevActiveStepIndex - The index of the previously active step.\n *\n * @slot step - Slot for adding WizardStep components, representing each step in the wizard.\n * @slot panel - Slot for adding WizardPanel components, representing the content of each step.\n * @slot title - Slot for adding a title to the wizard.\n * @slot button - Slot for adding buttons to the wizard toolbar.\n * @slot actions - Slot for action buttons rendered in the toolbar area, such as Back and Next controls.\n * @slot end - Slot for content appended after the panels container.\n * @slot start - Slot for content prepended before the main wizard area.\n *\n * @csspart wizard - The root element of the wizard component.\n * @csspart steps - The navigation element (tablist) that contains the WizardStep components.\n * @csspart panels - The wrapper element containing all WizardPanel components.\n * @csspart panels-container - The outer container wrapping the toolbar and panels sections.\n * @csspart title - The element that renders the title slot content.\n * @csspart toolbar - The toolbar row containing the title element and action buttons.\n * @csspart button-container - The container element wrapping the actions slot inside the toolbar.\n *\n * @cssprop --wizard-tablist-width - Set's the width of the Wizard tablist step container\n * @cssprop --wizard-toolbar-display - Set's the display of the wizard toolbar\n * @cssprop --wizard-overflow-step-width - Sets the width of each wizard step in overflow mode.\n * @cssprop --wizard-overflow-tablist-width - Sets the width of the wizard tablist in overflow mode.\n * @cssprop --wizard-scrollbar-radius - Sets the border radius of the wizard overflow scrollbar.\n * @cssprop --wizard-scrollbar-spacing - Sets the spacing around the wizard overflow scrollbar.\n * @cssprop --wizard-scrollbar-thumb-color - Sets the color of the wizard overflow scrollbar thumb.\n * @cssprop --wizard-scrollbar-track-color - Sets the color of the wizard overflow scrollbar track.\n *\n * @method next() - Moves to the next step.\n * @method previous() - Moves to the previous step.\n * @method show() - Shows the wizard.\n * @method hide() - Hides the wizard.\n * @method enableStep(index?: number) - Enables the specified step.\n * @method disableStep(index?: number) - Disables the specified step.\n * @method errorStep(index?: number) - Sets the specified step to an error state.\n * @method completeStep(index?: number) - Completes the specified step.\n * @method incompleteStep(index?: number) - Sets the specified step to an incomplete state.\n * @method getStepStatus() - Gets the status of the steps.\n * @method reset() - Resets the wizard to its initial state.\n * @method setActiveStep(step: WizardStep) - Sets the active step.\n * @method focusNextStep(setActive?: boolean) - Focuses the next step.\n * @method focusPreviousStep(setActive?: boolean) - Focuses the previous step.\n * @method moveToStepByIndex(index: number, moveFocus?: boolean) - Moves to the step by its index.\n *\n * @fires wizard-change - Fires when there is a change in the wizard, providing the current index and active ID.\n * @fires wizard-complete - Fires when all steps in the wizard are complete.\n *\n * @extends FASTElement\n * @tagname fabric-wizard\n * @public\n */\nexport class Wizard extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Indicates whether the steps should be visually numbered at smaller viewports.\n * @public\n * @attr\n * @type {boolean}\n * @default false\n */\n this.numbered = false;\n /**\n * Indicates whether steps should be disabled on completion.\n * @public\n * @attr\n * @type {boolean}\n * @default false\n */\n this.disableOnComplete = false;\n /**\n * The current index of the active step.\n * @public\n * @attr\n * @type {number}\n * @default 0\n */\n this.currentIndex = 0;\n /**\n * The list of slotted wizard steps.\n * @public\n * @observable\n * @type {HTMLElement[]}\n */\n this.slottedsteps = [];\n /**\n * The list of slotted buttons.\n * @public\n * @observable\n * @type {HTMLElement[]}\n */\n this.slottedactions = [];\n /**\n * The list of slotted wizard panels.\n * @public\n * @observable\n * @type {HTMLElement[]}\n */\n this.slottedpanels = [];\n /**\n * The list of step IDs.\n * @private\n * @type {string[]}\n */\n this.stepIds = [];\n /**\n * The list of panel IDs.\n * @private\n * @type {string[]}\n */\n this.panelIds = [];\n /**\n * Determines if the element is disabled.\n * @private\n * @param {Element} el - The element to check.\n * @returns {boolean}\n */\n this.isDisabledElement = (el) => {\n return el.getAttribute(\"aria-disabled\") === \"true\";\n };\n /**\n * Determines if the element is hidden.\n * @private\n * @param {Element} el - The element to check.\n * @returns {boolean}\n */\n this.isHiddenElement = (el) => {\n return el.hasAttribute(\"hidden\");\n };\n /**\n * Determines if the element is focusable.\n * @private\n * @param {Element} el - The element to check.\n * @returns {boolean}\n */\n this.isFocusableElement = (el) => {\n return !this.isDisabledElement(el) && !this.isHiddenElement(el);\n };\n /**\n * Handles the step select event.\n * @private\n * @param {Event} event - The event.\n */\n this.handleStepSelect = (event) => {\n const selectedStep = event.currentTarget;\n if (selectedStep.disabled) {\n return;\n }\n else {\n this.setActiveStep(selectedStep);\n }\n };\n this.handleStepContainerFocus = (_event) => {\n this.setAllStepTabIndex(-1);\n };\n this.handleStepContainerBlur = (event) => {\n // If focus moves outside the step group, reset all step tabindex to -1\n // (blur bubbles, so check relatedTarget)\n const related = event.relatedTarget;\n if (!related || !this.slottedsteps.some((step) => step === related)) {\n this.setAllStepTabIndex(-1);\n }\n };\n }\n /**\n * Called when the element is connected to the DOM.\n * @public\n */\n connectedCallback() {\n super.connectedCallback();\n Updates.enqueue(() => {\n this.stepIds = this.getStepIds();\n this.panelIds = this.getPanelIds();\n this.currentIndex = this.getActiveIndex();\n this.addListeners();\n // Add focus/blur listeners for roving tabindex\n if (this.stepcontainer) {\n this.stepcontainer.addEventListener(\"focus\", this.handleStepContainerFocus);\n this.stepcontainer.addEventListener(\"blur\", this.handleStepContainerBlur, true);\n }\n });\n }\n /**\n * Called when the element is disconnected from the DOM.\n * @public\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeListeners();\n // Remove focus/blur listeners\n if (this.stepcontainer) {\n this.stepcontainer.removeEventListener(\"focus\", this.handleStepContainerFocus);\n this.stepcontainer.removeEventListener(\"blur\", this.handleStepContainerBlur, true);\n }\n }\n /**\n * Handles changes to the activeid attribute.\n * @public\n * @param {string} oldValue - The previous value of the active ID.\n * @param {string} newValue - The new value of the active ID.\n */\n activeidChanged(oldValue, _newValue) {\n if (this.$fastController.isConnected) {\n this.prevActiveStepIndex = this.slottedsteps.findIndex((item) => item.id === oldValue);\n this.setSteps();\n }\n }\n /**\n * Handles changes to the slotted panels.\n * @public\n */\n slottedpanelsChanged(oldValue, newValue) {\n if (this.$fastController.isConnected && oldValue !== newValue) {\n this.panelIds = this.getPanelIds();\n this.setSteps();\n }\n }\n /**\n * Handles changes to the slotted steps.\n * @public\n */\n slottedstepsChanged(oldValue, newValue) {\n if (this.$fastController.isConnected && oldValue !== newValue) {\n this.stepIds = this.getStepIds();\n this.setSteps();\n }\n }\n /**\n * Handles changes to the current index.\n * @public\n * @param {number} oldValue - The previous value of the current index.\n * @param {number} newValue - The new value of the current index.\n */\n currentIndexChanged(oldValue, newValue) {\n if (oldValue !== newValue) {\n Updates.enqueue(() => {\n this.prevActiveStepIndex = oldValue;\n this.stepIds = this.getStepIds();\n this.panelIds = this.getPanelIds();\n this.setComponent();\n });\n }\n }\n /**\n * Moves to the next step.\n * @public\n */\n next() {\n this.currentIndex = this.slottedsteps.indexOf(this.activestep);\n // Check if there's a next step\n const nextIndex = this.currentIndex + 1;\n if (nextIndex >= this.slottedsteps.length) {\n // No next step available\n return;\n }\n const nextStep = this.slottedsteps[nextIndex];\n // Only advance if the next step is not disabled\n if (!nextStep.disabled) {\n this.moveToStepByIndex(nextIndex, false); // Don't move focus for programmatic navigation\n this.setActiveStep(nextStep);\n }\n // If the next step is disabled, do nothing (don't move)\n }\n /**\n * Moves to the previous step.\n * @public\n */\n previous() {\n this.currentIndex = this.slottedsteps.indexOf(this.activestep);\n // Check if there's a previous step\n const prevIndex = this.currentIndex - 1;\n if (prevIndex < 0) {\n // No previous step available\n return;\n }\n const prevStep = this.slottedsteps[prevIndex];\n // Only go back if the previous step is not disabled\n if (!prevStep.disabled) {\n this.moveToStepByIndex(prevIndex, false); // Don't move focus for programmatic navigation\n this.setActiveStep(prevStep);\n }\n // If the previous step is disabled, do nothing (don't move)\n }\n /**\n * Shows the wizard.\n * @public\n */\n show() {\n this.hidden = false;\n }\n /**\n * Hides the wizard.\n * @public\n */\n hide() {\n this.hidden = true;\n }\n /**\n * Enables the specified step.\n * @public\n * @param {number} [index] - The index of the step to enable.\n */\n enableStep(index = this.currentIndex) {\n if (this.currentIndex >= 0 && this.slottedsteps.length > 0) {\n this.slottedsteps[index].disabled = false;\n }\n }\n /**\n * Disables the specified step.\n * @public\n * @param {number} [index] - The index of the step to disable.\n */\n disableStep(index = this.currentIndex) {\n if (this.currentIndex >= 0 && this.slottedsteps.length > 0) {\n this.slottedsteps[index].disabled = true;\n }\n }\n /**\n * Sets the specified step to an error state.\n * @public\n * @param {number} [index] - The index of the step to set to an error state.\n */\n errorStep(index = this.currentIndex) {\n if (this.currentIndex >= 0 && this.slottedsteps.length > 0) {\n this.slottedsteps[index].state = WizardStepStates.error;\n }\n }\n /**\n * Completes the specified step.\n * @public\n * @param {number} [index] - The index of the step to complete.\n */\n completeStep(index = this.currentIndex) {\n if (this.currentIndex >= 0 && this.slottedsteps.length > 0) {\n this.slottedsteps[index].state =\n WizardStepStates.complete;\n if (this.disableOnComplete) {\n this.disableStep(index);\n }\n }\n }\n /**\n * Sets the specified step to an incomplete state.\n * @public\n * @param {number} [index] - The index of the step to set to an incomplete state.\n */\n incompleteStep(index = this.currentIndex) {\n if (this.currentIndex >= 0 && this.slottedsteps.length > 0) {\n this.slottedsteps[index].state =\n WizardStepStates.incomplete;\n }\n }\n /**\n * Gets the status of the steps.\n * @public\n * @returns {Array<{id: string, state: string, index: number, active: boolean}>}\n */\n /**\n * Returns an array of objects representing the status of each wizard step.\n *\n * Each object in the returned array contains:\n * - `id`: The HTML element ID of the step.\n * - `state`: The current state of the step.\n * - `index`: The zero-based index of the step.\n * - `active`: Whether the step is currently active.\n *\n * @returns An array of step status objects for all slotted steps.\n */\n getStepStatus() {\n const stepStatus = [];\n if (this.slottedsteps.length > 0) {\n this.slottedsteps.forEach((step, index) => {\n stepStatus.push({\n id: step.id,\n state: step.state,\n index: index,\n active: step.active\n });\n });\n }\n return stepStatus;\n }\n /**\n * Resets the wizard to its initial state.\n * @public\n */\n reset() {\n if (this.slottedsteps.length > 0) {\n this.slottedsteps.forEach((el, _index) => {\n const step = el;\n step.state = WizardStepStates.incomplete;\n });\n this.stepIds = this.getStepIds();\n this.panelIds = this.getPanelIds();\n this.currentIndex = 0;\n this.activeid = undefined;\n this.prevActiveStepIndex = -1;\n }\n }\n /**\n * Sets the active step.\n * @public\n * @param {HTMLElement} step - The step to set as active.\n */\n setActiveStep(step) {\n var _a;\n const stepToActivate = step;\n const index = stepToActivate.index;\n const disabled = (_a = stepToActivate.disabled) !== null && _a !== void 0 ? _a : false;\n if (disabled) {\n return;\n }\n stepToActivate.active = true;\n this.activestep = stepToActivate;\n this.activeid = this.stepIds[index];\n this.currentIndex = index;\n this.setComponent();\n }\n /**\n * Focuses the next step.\n * @public\n * @param {boolean} [setActive=false] - Indicates whether to set the next step as active.\n */\n focusNextStep(setActive = false) {\n const group = this.slottedsteps;\n let index = this.currentIndex + 1;\n if (group.length <= 1)\n return;\n // Wrap around if needed\n if (index >= group.length)\n index = 0;\n const startIndex = index;\n while (true) {\n if (group[index] && !group[index].disabled) {\n break;\n }\n index = (index + 1) % group.length;\n if (index === startIndex) {\n // No enabled step found\n return;\n }\n }\n this.moveToStepByIndex(index, true);\n if (setActive &&\n group[index] &&\n !this.isDisabledElement(group[index]) &&\n !group[index].disabled) {\n this.setActiveStep(group[index]);\n }\n }\n /**\n * Focuses the previous step.\n * @public\n * @param {boolean} [setActive=false] - Indicates whether to set the previous step as active.\n */\n focusPreviousStep(setActive = false) {\n const group = this.slottedsteps;\n let index = this.currentIndex - 1;\n if (group.length <= 1)\n return;\n // Wrap around if needed\n if (index < 0)\n index = group.length - 1;\n const startIndex = index;\n while (true) {\n if (group[index] && !group[index].disabled) {\n break;\n }\n index = (index - 1 + group.length) % group.length;\n if (index === startIndex) {\n // No enabled step found\n return;\n }\n }\n this.moveToStepByIndex(index, true);\n if (setActive &&\n group[index] &&\n !this.isDisabledElement(group[index]) &&\n !group[index].disabled) {\n this.setActiveStep(group[index]);\n }\n }\n /**\n * Moves to the step by its index.\n * @public\n * @param {number} index - The index of the step to move to.\n * @param {boolean} [moveFocus=true] - Whether to move keyboard focus to the step.\n */\n moveToStepByIndex(index, moveFocus = true) {\n const step = this.slottedsteps[index];\n this.currentIndex = index;\n if (moveFocus) {\n step.focus();\n }\n this.setComponent();\n }\n /**\n * Handles keydown events on the step container.\n * @public\n * @param {KeyboardEvent} event - The keyboard event.\n */\n handleStepContainerKeydown(event) {\n if (event.defaultPrevented)\n return;\n switch (event.key) {\n case keyEnter:\n case \" \": // Space key\n event.preventDefault();\n if (document.activeElement === this) {\n this.focusFirstEnabledStep();\n }\n break;\n default:\n return true;\n }\n }\n /**\n * Handles keydown events on a step.\n * @public\n * @param {KeyboardEvent} event - The keyboard event.\n */\n handleStepKeyDown(event) {\n switch (event.key) {\n case keyEscape:\n event.preventDefault();\n this.stepcontainer.focus();\n break;\n case keyEnter:\n event.preventDefault();\n this.handleStepSelect(event);\n break;\n case keyArrowUp:\n event.preventDefault();\n this.focusPreviousStep();\n break;\n case keyArrowDown:\n event.preventDefault();\n this.focusNextStep();\n break;\n case keyHome:\n event.preventDefault();\n this.moveToStepByIndex(-this.currentIndex, true);\n break;\n case keyEnd:\n event.preventDefault();\n this.moveToStepByIndex(this.slottedsteps.length - this.currentIndex - 1, true);\n break;\n default:\n break;\n }\n }\n /**\n * Sets the steps and updates their attributes.\n * @protected\n */\n setSteps() {\n this.currentIndex === -1 ? this.getActiveIndex() : this.currentIndex;\n this.slottedsteps.forEach((el, index) => {\n if (el.slot === \"step\") {\n const step = el;\n const isActiveStep = this.currentIndex === index && this.isFocusableElement(step);\n const stepId = this.stepIds[index];\n // Only set tabindex to 0 if step is focused, otherwise -1\n if (document.activeElement === step) {\n step.setAttribute(\"tabindex\", \"0\");\n }\n else {\n step.setAttribute(\"tabindex\", \"-1\");\n }\n step.setAttribute(\"id\", stepId);\n step.setAttribute(\"role\", \"tab\");\n step.active = isActiveStep;\n step.index = index;\n if (this.numbered) {\n step.numbered = true;\n }\n // Compose disable-on-complete and linear logic\n if (this.disableOnComplete &&\n step.state === WizardStepStates.complete) {\n step.disabled = true;\n }\n else if (this.linear) {\n if (index === 0) {\n step.disabled = false;\n }\n else {\n const prevStep = this.slottedsteps[index - 1];\n step.disabled = prevStep.state !== WizardStepStates.complete;\n }\n }\n // Otherwise, respect the step's own disabled property\n if (isActiveStep) {\n this.activestep = step;\n this.activeid = stepId;\n this.currentIndex = index;\n }\n if (index === this.slottedsteps.length - 1) {\n step.hideConnector = true;\n }\n if (this.slottedsteps.length >= 7) {\n step.classList.add(\"overflow\");\n }\n }\n });\n if (this.slottedsteps.every((step) => step.state === \"complete\")) {\n this.emitComplete();\n }\n if (this.slottedsteps.length >= 7) {\n this.setAttribute(\"class\", \"overflow\");\n }\n this.setPanels();\n }\n /**\n * Sets the panels and updates their attributes.\n * @protected\n */\n setPanels() {\n this.slottedpanels.forEach((el, index) => {\n if (el.slot === \"panel\") {\n const panel = el;\n const stepId = this.stepIds[index];\n const panelId = this.panelIds[index];\n panel.setAttribute(\"id\", panelId);\n panel.setAttribute(\"aria-labelledby\", stepId);\n panel.setAttribute(\"role\", \"tabpanel\");\n panel.index = index;\n const isActivePanel = this.currentIndex === index && this.isFocusableElement(panel);\n panel.active = isActivePanel;\n this.currentIndex !== index ? panel.hide() : panel.show();\n }\n });\n this.emitChange();\n }\n /**\n * Adds event listeners to steps and panels.\n * @protected\n */\n addListeners() {\n this.slottedsteps.forEach((step) => {\n step.addEventListener(\"step-change\", (e) => this.handleWizardStepStateChange(e));\n });\n this.slottedsteps.forEach((step) => {\n step.addEventListener(\"step-select\", (e) => this.handleStepSelect(e));\n });\n this.slottedsteps.forEach((step) => {\n step.addEventListener(\"keydown\", (e) => this.handleStepKeyDown(e));\n });\n this.slottedpanels.forEach((panel) => {\n panel.addEventListener(\"panel-change\", (e) => this.handlePanelStateChange(e));\n });\n }\n /**\n * Removes event listeners from steps and panels.\n * @protected\n */\n removeListeners() {\n this.slottedsteps.forEach((step) => {\n step.removeEventListener(\"step-change\", (e) => this.handleWizardStepStateChange(e));\n });\n this.slottedsteps.forEach((step) => {\n step.removeEventListener(\"step-select\", (e) => this.handleStepSelect(e));\n });\n this.slottedsteps.forEach((step) => {\n step.removeEventListener(\"keydown\", (e) => this.handleStepKeyDown(e));\n });\n this.slottedpanels.forEach((panel) => {\n panel.removeEventListener(\"panel-change\", (e) => this.handlePanelStateChange(e));\n });\n }\n /**\n * Sets the component and updates its state.\n * @private\n */\n setComponent() {\n if (this.currentIndex && this.currentIndex !== this.prevActiveStepIndex) {\n Updates.enqueue(() => {\n this.stepIds = this.getStepIds();\n this.panelIds = this.getPanelIds();\n });\n }\n }\n /**\n * Gets the active step index.\n * @private\n * @returns {number}\n */\n getActiveIndex() {\n var _a;\n const id = (_a = this.activeid) !== null && _a !== void 0 ? _a : \"\";\n if (id !== undefined) {\n return this.stepIds.indexOf(id) === -1 ? 0 : this.stepIds.indexOf(id);\n }\n else {\n return 0;\n }\n }\n /**\n * Gets the IDs of the steps.\n * @private\n * @returns {string[]}\n */\n getStepIds() {\n return this.slottedsteps.map((step) => {\n var _a;\n return ((_a = step.getAttribute(\"id\")) !== null && _a !== void 0 ? _a : `fabric-wizard-step-${parseInt(uniqueId())}`);\n });\n }\n /**\n * Gets the IDs of the panels.\n * @private\n * @returns {string[]}\n */\n getPanelIds() {\n return this.slottedpanels.map((panel) => {\n var _a;\n return ((_a = panel.getAttribute(\"id\")) !== null && _a !== void 0 ? _a : `fabric-wizard-panel-${parseInt(uniqueId())}`);\n });\n }\n /**\n * Handles the step state change event.\n * @private\n * @param {CustomEvent} e - The custom event.\n */\n handleWizardStepStateChange(e) {\n const index = e.detail.index;\n const active = e.detail.active;\n if (active) {\n this.currentIndex = index;\n }\n this.slottedpanels[index].state = e.detail.state;\n this.setSteps();\n }\n /**\n * Handles the panel state change event.\n * @private\n * @param {CustomEvent} e - The custom event.\n */\n handlePanelStateChange(e) {\n const index = e.detail.index;\n const active = e.detail.active;\n if (active) {\n this.currentIndex = index;\n }\n this.slottedsteps[index].state = e.detail.state;\n this.setSteps();\n }\n /**\n * Emits a wizard change event.\n * @fires wizard-change\n * @private\n */\n emitChange() {\n this.$emit(\"wizard-change\", {\n currentIndex: this.currentIndex,\n activeid: this.activeid\n });\n }\n /**\n * Emits a wizard complete event.\n * @fires wizard-complete\n * @private\n */\n emitComplete() {\n this.dispatchEvent(new CustomEvent(WizardEvents.wizardComplete, {\n bubbles: true,\n composed: true\n }));\n }\n setAllStepTabIndex(tabIndex) {\n this.slottedsteps.forEach((step) => {\n step.setAttribute(\"tabindex\", String(tabIndex));\n });\n }\n focusFirstEnabledStep() {\n const firstEnabled = this.slottedsteps.find((step) => !step.disabled);\n if (firstEnabled) {\n this.setAllStepTabIndex(-1);\n firstEnabled.setAttribute(\"tabindex\", \"0\");\n firstEnabled.focus();\n }\n }\n}\n__decorate([\n attr({ mode: \"boolean\" })\n], Wizard.prototype, \"numbered\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], Wizard.prototype, \"linear\", void 0);\n__decorate([\n attr({ mode: \"boolean\", attribute: \"disable-on-complete\" })\n], Wizard.prototype, \"disableOnComplete\", void 0);\n__decorate([\n attr({ attribute: \"current-index\", converter: nullableNumberConverter })\n], Wizard.prototype, \"currentIndex\", void 0);\n__decorate([\n observable\n], Wizard.prototype, \"stepcontainer\", void 0);\n__decorate([\n observable\n], Wizard.prototype, \"panelcontainer\", void 0);\n__decorate([\n observable\n], Wizard.prototype, \"slottedsteps\", void 0);\n__decorate([\n observable\n], Wizard.prototype, \"slottedactions\", void 0);\n__decorate([\n observable\n], Wizard.prototype, \"slottedpanels\", void 0);\n__decorate([\n observable\n], Wizard.prototype, \"activeid\", void 0);\n//# sourceMappingURL=wizard.js.map","import { colorNeutralBackground2, colorNeutralBackground3, colorNeutralForeground3, display, spacingHorizontalM, spacingHorizontalXS, spacingHorizontalXXL, spacingHorizontalXXXL, spacingVerticalM, spacingVerticalS, spacingVerticalXS, spacingVerticalXXL } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\n/** Wizard styles\n * @public\n */\nexport const styles = css `\n ${display(\"block\")}\n\n :host {\n height: 100%;\n width: 100%;\n --wizard-overflow-tablist-width: calc(\n ${spacingHorizontalXXXL} + ${spacingHorizontalXXXL} +\n ${spacingHorizontalXXXL}\n );\n --wizard-overflow-step-width: calc(\n ${spacingHorizontalXXL} + ${spacingHorizontalXS}\n );\n --wizard-scrollbar-radius: ${spacingHorizontalXS};\n --wizard-scrollbar-spacing: ${spacingHorizontalXS};\n --wizard-scrollbar-thumb-color: ${colorNeutralForeground3};\n --wizard-scrollbar-track-color: ${colorNeutralBackground3};\n }\n\n :host(.overflow) .steps {\n justify-content: flex-start;\n overflow-x: auto;\n overflow-y: scroll;\n padding: ${spacingVerticalXXL} ${spacingHorizontalXXL};\n }\n\n .steps {\n background-color: ${colorNeutralBackground3};\n box-sizing: border-box;\n padding: ${spacingVerticalXXL} ${spacingHorizontalXXL};\n position: sticky;\n top: 0;\n inset-inline: 0;\n width: 100%;\n z-index: 9;\n display: flex;\n flex-direction: row;\n }\n\n .wizard {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n .title {\n color: ${colorNeutralForeground3};\n }\n\n .panels-container {\n background: ${colorNeutralBackground2};\n }\n\n .button-container {\n gap: ${spacingHorizontalM};\n order: 1;\n display: flex;\n width: 100%;\n justify-self: flex-end;\n justify-self: self-end;\n justify-content: flex-end;\n }\n\n .toolbar {\n display: var(--wizard-toolbar-display, flex);\n gap: ${spacingVerticalXS};\n flex-direction: column;\n justify-content: space-between;\n padding-block-start: ${spacingVerticalM};\n padding-inline: ${spacingHorizontalXXL};\n padding-block-end: 0;\n margin-bottom: ${spacingVerticalS};\n }\n .title {\n order: 2;\n }\n\n .steps::-webkit-scrollbar-track {\n background-color: var(--wizard-scrollbar-track-color);\n border-radius: var(--wizard-scrollbar-radius);\n }\n\n .steps::-webkit-scrollbar-thumb {\n background-color: var(--wizard-scrollbar-thumb-color);\n border-radius: var(--wizard-scrollbar-radius);\n margin-inline-end: var(--wizard-scrollbar-spacing);\n }\n\n .steps::-webkit-scrollbar-button {\n display: none; /* Hide scrollbar arrows */\n }\n\n @media (min-width: 32.5rem /* @design-token-ok */) {\n :host {\n padding-top: 0;\n }\n .toolbar {\n flex-direction: row;\n margin-bottom: 0;\n gap: 0;\n }\n .panels-container {\n width: 100%;\n }\n .wizard {\n flex-direction: row;\n }\n .title {\n order: 1;\n flex-shrink: 0;\n }\n .buttons-container {\n order: 2;\n width: fit-content;\n }\n .steps {\n padding: ${spacingVerticalXXL} ${spacingHorizontalXXL};\n position: relative;\n max-width: var(--wizard-overflow-tablist-width);\n }\n .steps {\n flex-direction: column;\n }\n :host(.overflow) .steps {\n width: fit-content;\n justify-content: flex-start;\n align-items: center;\n overflow-x: unset;\n overflow-y: unset;\n width: var(--wizard-overflow-step-width);\n }\n }\n\n @media (min-width: 63.9375rem /* @design-token-ok */) {\n .steps {\n max-width: var(\n --wizard-tablist-width,\n var(--wizard-overflow-tablist-width)\n );\n width: var(--wizard-tablist-width, var(--wizard-overflow-tablist-width));\n padding: ${spacingVerticalXXL} ${spacingHorizontalXXXL}\n ${spacingVerticalXXL} ${spacingHorizontalXXL};\n }\n :host(.overflow) .steps {\n width: fit-content;\n }\n }\n`;\n//# sourceMappingURL=wizard.styles.js.map","import { html, ref, slotted } from \"@microsoft/fast-element\";\nimport { Wizard } from \"./wizard.js\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(Stepper:class)} component.\n * @public\n */\nexport function wizardTemplate() {\n return html `\n <template\n ?hidden=\"${(x) => x.hidden}\"\n ?numbered=\"${(x) => x.numbered}\"\n ?linear=\"${(x) => x.linear}\"\n ?disable-on-complete=\"${(x) => x.disableOnComplete}\"\n current-index=\"${(x) => x.currentIndex}\"\n aria-hidden=\"${(x) => (x.hidden ? \"true\" : \"false\")}\"\n >\n <div class=\"wizard\" part=\"wizard\">\n <slot name=\"start\"></slot>\n <nav\n role=\"tablist\"\n class=\"steps\"\n part=\"steps\"\n tabindex=\"0\"\n @keydown=\"${(x, c) => x.handleStepContainerKeydown(c.event)}\"\n ${ref(\"stepcontainer\")}\n >\n <slot name=\"step\" ${slotted(\"slottedsteps\")}></slot>\n </nav>\n <div\n class=\"panels-container\"\n part=\"panels-container\"\n ${ref(\"panelcontainer\")}\n >\n <div class=\"toolbar\" part=\"toolbar\">\n <div class=\"title\" part=\"title\"><slot name=\"title\"></slot></div>\n <div class=\"button-container\" part=\"button-container\">\n <slot name=\"actions\" ${slotted(\"slottedactions\")}></slot>\n </div>\n </div>\n <div class=\"panels\" part=\"panels\">\n <slot name=\"panel\" ${slotted(\"slottedpanels\")}></slot>\n </div>\n <slot name=\"end\"></slot>\n </div>\n </div>\n </template>\n `;\n}\nexport const template = wizardTemplate();\n//# sourceMappingURL=wizard.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { Wizard } from \"./wizard.js\";\nimport { styles } from \"./wizard.styles.js\";\nimport { template } from \"./wizard.template.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-wizard>\n */\nexport const definition = Wizard.compose({\n name: `${DesignSystem.prefix}-wizard`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=wizard.definition.js.map","import { colorNeutralBackground2, colorNeutralForeground1, colorNeutralStroke1, display, spacingHorizontalXXL, spacingVerticalL, spacingVerticalXS, spacingVerticalXXL } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\n/** Wizard Panel styles\n * @public\n */\nexport const styles = css `\n ${display(\"block\")}\n :host {\n height: 100%;\n background: ${colorNeutralBackground2};\n }\n\n :host([active]) {\n display: block;\n }\n\n .content {\n padding-block-start: ${spacingVerticalXXL};\n padding-inline: ${spacingHorizontalXXL};\n padding-block-end: 0;\n }\n\n .title {\n padding-block-start: 0;\n padding-inline: ${spacingHorizontalXXL};\n padding-block-end: ${spacingVerticalXS};\n color: ${colorNeutralForeground1};\n }\n .footer {\n padding-block: ${spacingVerticalL};\n padding-inline: ${spacingHorizontalXXL};\n border-top: 1px solid ${colorNeutralStroke1};\n }\n`;\n//# sourceMappingURL=wizard-panel.styles.js.map","import { html } from \"@microsoft/fast-element\";\nimport { WizardPanel } from \"./wizard-panel.js\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(WizardPanel:class)} component.\n * @public\n */\nexport function wizardPanelTemplate() {\n return html `\n <template\n aria-hidden=\"${(x) => x.hidden}\"\n state=\"${(x) => x.state}\"\n ?active=\"${(x) => x.active}\"\n ?hidden=\"${(x) => x.hidden}\"\n slot=\"panel\"\n >\n <div class=\"panel\" part=\"panel\">\n <slot name=\"start\"></slot>\n <div class=\"title\" part=\"title\">\n <slot name=\"title\"></slot>\n </div>\n <div class=\"content\" part=\"content\"><slot></slot></div>\n <div class=\"footer\" part=\"footer\"><slot name=\"footer\"></slot></div>\n <slot name=\"end\"></slot>\n </div>\n </template>\n `;\n}\nexport const template = wizardPanelTemplate();\n//# sourceMappingURL=wizard-panel.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { WizardPanel } from \"./wizard-panel.js\";\nimport { styles } from \"./wizard-panel.styles.js\";\nimport { template } from \"./wizard-panel.template.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-wizard-panel>\n */\nexport const definition = WizardPanel.compose({\n name: `${DesignSystem.prefix}-wizard-panel`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=wizard-panel.definition.js.map","import { colorBrandForeground2, colorNeutralBackground4, colorNeutralForeground1, colorNeutralForegroundDisabled, colorNeutralForegroundOnBrand, colorNeutralStrokeDisabled, colorPaletteRedForeground3, display, fontFamilyBase, fontSizeBase200, fontSizeBase300, fontWeightRegular, fontWeightSemibold, lineHeightBase200, lineHeightBase300, spacingHorizontalS, spacingHorizontalM, spacingHorizontalXXL, spacingVerticalXXS, spacingVerticalL, spacingVerticalM, strokeWidthThin, strokeWidthThick } from \"@fluentui/web-components\";\nimport { sizeHorizontalM, sizeHorizontalXL, sizeHorizontalXXL, sizeVerticalM, sizeVerticalXL, sizeVerticalXXL } from \"@fabric-msft/theme\";\nimport { css } from \"@microsoft/fast-element\";\n/** Wizard Step styles\n * @public\n */\nexport const styles = css `\n ${display(\"block\")}\n\n .step {\n unset: all;\n background: transparent;\n color: ${colorNeutralForeground1};\n text-align: start;\n border: 0 none;\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n font-family: ${fontFamilyBase};\n position: relative;\n align-items: flex-start;\n column-gap: ${spacingHorizontalM};\n flex-shrink: 0;\n flex-grow: 1;\n }\n\n :host([hide-connector]) .step-connector,\n .summary,\n .title,\n .details {\n display: none;\n }\n\n :host([disabled]) .step {\n cursor: not-allowed;\n pointer-events: none;\n color: ${colorNeutralForegroundDisabled};\n }\n\n :host([disabled]) .step-connector {\n background: ${colorNeutralStrokeDisabled};\n }\n\n :host([disabled]) .icon {\n background: ${colorNeutralBackground4};\n border-color: ${colorNeutralStrokeDisabled};\n }\n\n :host(.overflow) {\n flex-shrink: 0;\n flex-grow: 0;\n width: 36px; /* @design-token-ok: component-specific step indicator container width */\n }\n\n :host(.first) {\n padding-inline-start: ${spacingHorizontalXXL};\n }\n\n :host(.first) .step-connector {\n inset-inline-start: 28px; /* @design-token-ok: connector offset aligns with step indicator center */\n }\n\n :host(.last) {\n padding-inline-end: ${spacingHorizontalXXL};\n }\n\n .state-indicator {\n width: ${sizeHorizontalXXL};\n height: ${sizeVerticalXXL};\n display: flex;\n justify-content: center;\n align-items: center;\n padding: ${spacingVerticalXXS};\n box-sizing: border-box;\n }\n\n .icon {\n position: relative;\n z-index: 9;\n display: flex;\n justify-content: center;\n align-items: center;\n width: ${sizeHorizontalXL};\n height: ${sizeVerticalXL};\n font-weight: var(--fontWeightRegular);\n line-height: var(--lineHeightBase100);\n font-size: var(--fontSizeBase200);\n border-radius: var(--borderRadiusCircular);\n border: ${strokeWidthThick} solid var(--colorNeutralForeground2);\n background: var(--colorNeutralBackground4);\n flex-shrink: 0;\n box-sizing: border-box;\n }\n\n .order {\n font-size: var(--fontSizeBase200);\n font-weight: var(--fontWeightSemibold);\n line-height: var(--lineHeightBase200);\n margin-bottom: 1px; /* @design-token-ok: single-pixel optical alignment correction */\n }\n\n .step-connector {\n position: absolute;\n top: ${spacingVerticalM};\n inset-inline-start: ${spacingHorizontalS};\n height: ${strokeWidthThick};\n width: 100%;\n background: var(--colorNeutralForegroundDisabled);\n }\n\n .title {\n font-weight: ${fontWeightRegular};\n font-size: ${fontSizeBase300};\n line-height: ${lineHeightBase300};\n }\n\n .details {\n font-weight: ${fontWeightRegular};\n font-size: ${fontSizeBase200};\n line-height: ${lineHeightBase200};\n }\n\n .icon svg {\n color: ${colorNeutralForegroundOnBrand};\n fill: ${colorNeutralForegroundOnBrand};\n width: ${sizeHorizontalM};\n height: ${sizeVerticalM};\n box-sizing: border-box;\n vertical-align: middle;\n }\n\n :host([hide-connector]) .step {\n width: fit-content;\n flex-grow: 0;\n min-width: unset;\n }\n\n :host([aria-current=\"step\"]) .title {\n font-weight: ${fontWeightSemibold};\n }\n\n :host([state=\"complete\"]) .icon,\n :host([state=\"complete\"]) .step-connector,\n :host([state=\"complete\"].first) .step-connector,\n :host([active]) .icon {\n background: ${colorBrandForeground2};\n border-color: ${colorBrandForeground2};\n color: ${colorNeutralForegroundOnBrand};\n }\n\n :host([state=\"complete\"]) .icon svg {\n margin-top: ${spacingVerticalXXS};\n }\n\n :host([state=\"error\"]) .icon {\n background: ${colorPaletteRedForeground3};\n border-color: ${colorPaletteRedForeground3};\n }\n\n @media (min-width: 32.5rem /* @design-token-ok: aligns with wizard layout breakpoint */) {\n :host(.overflow) .step,\n :host .step,\n :host(.first) .step {\n display: flex;\n align-items: flex-start;\n width: fit-content;\n height: fit-content;\n max-width: 268px; /* @design-token-ok: component-specific step max-width */\n padding: 0 0 ${spacingVerticalL} 0;\n column-gap: ${spacingHorizontalM};\n flex-grow: 0;\n }\n :host(.first) .step-connector,\n .step-connector {\n position: absolute;\n width: ${strokeWidthThick};\n inset-inline-start: 11px; /* @design-token-ok: connector aligns with step indicator center */\n height: 100%;\n background: var(--colorNeutralForegroundDisabled);\n min-height: 22px; /* @design-token-ok: minimum connector length */\n }\n }\n\n @media (min-width: calc(${spacingHorizontalXXL} * 43 - ${spacingHorizontalS} - ${strokeWidthThin})) {\n :host .step,\n :host(.first) .step {\n flex-direction: row;\n }\n .step-connector {\n inset-inline-start: 11px; /* @design-token-ok: connector aligns with step indicator center */\n }\n :host([aria-current=\"step\"]) .details,\n .title {\n display: block;\n }\n .order {\n display: none;\n }\n .summary {\n display: flex;\n flex-direction: column;\n width: fit-content;\n gap: ${spacingVerticalXXS};\n }\n }\n :host(:hover) .step {\n cursor: pointer;\n }\n :host([disabled]) .step {\n cursor: not-allowed;\n }\n`;\n//# sourceMappingURL=wizard-step.styles.js.map","import { html } from \"@microsoft/fast-element\";\nimport { WizardStep } from \"./wizard-step.js\";\nconst Checkmark16Regular = html `\n <svg\n fill=\"currentColor\"\n aria-hidden=\"true\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13.86 3.66a.5.5 0 0 1-.02.7l-7.93 7.48a.6.6 0 0 1-.84-.02L2.4 9.1a.5.5 0 0 1 .72-.7l2.4 2.44 7.65-7.2a.5.5 0 0 1 .7.02Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n`;\nconst Dismiss16Regular = html `\n <svg\n fill=\"currentColor\"\n aria-hidden=\"true\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"m2.4 2.55.07-.08a.75.75 0 0 1 .98-.07l.08.07L8 6.94l4.47-4.47a.75.75 0 1 1 1.06 1.06L9.06 8l4.47 4.47c.27.27.3.68.07.98l-.07.08a.75.75 0 0 1-.98.07l-.08-.07L8 9.06l-4.47 4.47a.75.75 0 0 1-1.06-1.06L6.94 8 2.47 3.53a.75.75 0 0 1-.07-.98l.07-.08-.07.08Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n`;\n/**\n * The template for the {@link @fabric-msft/fabric-web#(Step:class)} component.\n * @public\n */\nexport function baseStepTemplate() {\n return html `\n <button\n ?hide-connector=\"${(x) => x.hideConnector}\"\n ?active=\"${(x) => x.active}\"\n ?disabled=\"${(x) => x.disabled}\"\n ?numbered=\"${(x) => x.numbered}\"\n slot=\"step\"\n class=\"step\"\n part=\"step\"\n role=\"tab\"\n aria-label=\"${(x) => x.ariaLabel}\"\n aria-current=\"${(x) => (x.active ? \"step\" : null)}\"\n @click=\"${(x, c) => x.clickHandler(c.event)}\"\n >\n <slot name=\"start\"></slot>\n <div class=\"state-indicator\" part=\"state-indicator\">\n <div class=\"icon\" part=\"icon\">\n ${(x) => x.state === \"incomplete\"\n ? html `\n <slot name=\"incomplete\">\n <span class=\"order\" part=\"order\">\n ${(x) => (x.numbered ? x.index + 1 : \"\")}\n </span>\n </slot>\n `\n : \"\"}\n ${(x) => x.state === \"complete\"\n ? html `\n <slot name=\"complete\">${Checkmark16Regular}</slot>\n `\n : \"\"}\n ${(x) => x.state === \"error\"\n ? html `\n <slot name=\"error\">${Dismiss16Regular}</slot>\n `\n : \"\"}\n </div>\n </div>\n <div class=\"summary\" part=\"summary\">\n <div class=\"title\" part=\"title\">\n <slot name=\"title\">${(x) => x.title}</slot>\n </div>\n <div class=\"details\" part=\"details\">\n <slot name=\"details\"></slot>\n </div>\n </div>\n <div part=\"step-connector\" class=\"step-connector\"></div>\n <slot name=\"end\"></slot>\n </button>\n `;\n}\nexport const template = baseStepTemplate();\n//# sourceMappingURL=wizard-step.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { WizardStep } from \"./wizard-step.js\";\nimport { styles } from \"./wizard-step.styles.js\";\nimport { template } from \"./wizard-step.template.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-wizard-step>\n */\nexport const definition = WizardStep.compose({\n name: `${DesignSystem.prefix}-wizard-step`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=wizard-step.definition.js.map","import { AccordionItem as FluentAccordionItem } from \"@fluentui/web-components\";\n/**\n * AccordionItem\n * @summary An Accordion Item Custom HTML Element that can be expanded or collapsed, with customizable size and marker position.\n *\n * @example\n * ```html\n * <fabric-accordion-item size=\"large\" marker-position=\"end\" block>\n * <span slot=\"heading\">Section 1</span>\n * Lorem ipsum dolor sit amet...\n * </fabric-accordion-item>\n * ```\n *\n * @attr {AccordionItemSize | undefined} size - The size of the accordion item header which can be small, medium, large, or extra-large.\n * @attr {AccordionItemMarkerPosition | undefined} marker-position - The position of the expand/collapse icon which can be at the start or end of the accordion.\n * @attr {number | undefined} heading-level - The level of the heading.\n * @attr {boolean | undefined} expanded - Whether the accordion item is expanded.\n * @attr {boolean | undefined} disabled - Whether the accordion item is disabled.\n * @attr {boolean | undefined} block - Sets the width of the focus state to fill the container.\n *\n * @prop {AccordionItemSize | undefined} size - The size of the accordion item header which can be small, medium, large, or extra-large.\n * @prop {AccordionItemMarkerPosition | undefined} markerPosition - The position of the expand/collapse icon which can be at the start or end of the accordion.\n * @prop {number | undefined} headingLevel - The level of the heading.\n * @prop {boolean | undefined} expanded - Whether the accordion item is expanded.\n * @prop {boolean | undefined} disabled - Whether the accordion item is disabled.\n * @prop {boolean | undefined} block - Sets the width of the focus state to fill the container.\n *\n * @slot heading - The content for the accordion item's heading.\n * @slot - The default slot for the accordion item's content.\n * @slot marker-expanded - The content for the expanded state marker, defaults to a chevron down icon.\n * @slot marker-collapsed - The content for the collapsed state marker, defaults to a chevron right icon.\n *\n * @csspart heading - The accordion item's heading container.\n * @csspart button - The button element used to expand or collapse the item.\n * @csspart content - The container for the accordion item's content.\n *\n * @extends FluentAccordionItem\n * @tagname fabric-accordion-item\n * @public\n */\nexport class AccordionItem extends FluentAccordionItem {\n}\n//# sourceMappingURL=accordion-item.js.map","import { AccordionItemSize as FluentAccordionItemSize, AccordionItemMarkerPosition as FluentAccordionItemMarkerPosition } from \"@fluentui/web-components\";\n/**\n * Available size options for the AccordionItem component.\n * @public\n */\nexport const AccordionItemSizes = { ...FluentAccordionItemSize };\n/**\n * Defines the available marker positions for accordion items.\n * Extends the base Fluent accordion marker position options.\n * @public\n */\nexport const AccordionItemMarkerPositions = {\n ...FluentAccordionItemMarkerPosition\n};\n//# sourceMappingURL=accordion-item.options.js.map","import { accordionItemStyles, accordionItemTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { AccordionItem } from \"./accordion-item.js\";\n/**\n * @public\n * @remarks\n * HTML Element: <fabric-accordion-item>\n */\nexport const definition = AccordionItem.compose({\n name: `${DesignSystem.prefix}-accordion-item`,\n template: accordionItemTemplate,\n styles: accordionItemStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=accordion-item.definition.js.map","import { Accordion as FluentAccordion } from \"@fluentui/web-components\";\n/**\n * Accordion\n * @summary An Accordion Custom HTML Element that implements ARIA Accordion, allowing for single or multiple item expansion.\n *\n * @example\n * ```html\n * <fabric-accordion expand-mode=\"multi\">\n * <fabric-accordion-item>Item 1</fabric-accordion-item>\n * <fabric-accordion-item>Item 2</fabric-accordion-item>\n * <fabric-accordion-item>Item 3</fabric-accordion-item>\n * </fabric-accordion>\n * ```\n *\n * @attr {AccordionExpandMode} expand-mode - Controls the expand mode of the Accordion, either allowing single or multiple item expansion.\n *\n * @prop {AccordionExpandMode} expandmode - Controls the expand mode of the Accordion, either allowing single or multiple item expansion.\n *\n * @slot - The default slot for the accordion items\n *\n * @method expandmodeChanged - Called when the expand mode changes.\n * @method findExpandedItem - Find the first expanded item in the accordion.\n * @method isSingleExpandMode - Checks if the accordion is in single expand mode.\n * @method setSingleExpandMode - Controls the behavior of the accordion in single expand mode.\n *\n * @fires change - Fires a custom 'change' event when the active item changes.\n *\n * @extends FluentAccordion\n * @tagname fabric-accordion\n * @public\n */\nexport class Accordion extends FluentAccordion {\n}\n//# sourceMappingURL=accordion.js.map","import { accordionStyles, accordionTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { Accordion } from \"./accordion.js\";\n/**\n * The Fabric Accordion component.\n *\n * @public\n * @remarks\n * HTML Element: <fabric-accordion>\n */\nexport const definition = Accordion.compose({\n name: `${DesignSystem.prefix}-accordion`,\n template: accordionTemplate,\n styles: accordionStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=accordion.definition.js.map","import { AccordionExpandMode as FluentAccordionExpandMode } from \"@fluentui/web-components\";\n/** Expand mode values for {@link Accordion}. */\nexport const AccordionExpandModes = { ...FluentAccordionExpandMode };\n//# sourceMappingURL=accordion.options.js.map","import { LinkAppearance as FluentLinkAppearance, LinkTarget as FluentLinkTarget, AnchorTarget as FluentAnchorTarget } from \"@fluentui/web-components\";\n/** Appearance values for {@link Link}. */\nexport const LinkAppearances = {\n ...FluentLinkAppearance\n};\nexport const LinkAppearance = LinkAppearances;\n/** Target values for {@link Link}. */\nexport const LinkTargets = { ...FluentLinkTarget };\nexport const LinkTarget = LinkTargets;\n/** Anchor target values exposed for downstream consumers. */\nexport const AnchorTargets = { ...FluentAnchorTarget };\nexport const AnchorTarget = AnchorTargets;\n//# sourceMappingURL=link.options.js.map","import { Link as FluentLink } from \"@fluentui/web-components\";\nimport { isActionModifierKey } from \"../../util/platform.js\";\nimport { LinkTargets } from \"./link.options.js\";\n/**\n * Link\n * @summary A Link Custom HTML Element based on Fluent UI's Link with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-link href=\"https://example.com\" appearance=\"subtle\">\n * Visit Example\n * </fabric-link>\n * ```\n *\n * @attr {LinkAppearance} appearance - The appearance the link should have.\n * @attr {boolean | undefined} inline - The link is inline with text. In chromium browsers, if the link is contained within a semantic text element (`h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `p`) or `fluent-text`, `:host-context()` ensures inline links are styled appropriately.\n * @attr {string | undefined} download - Prompts the user to save the linked URL.\n * @attr {string | undefined} href - The URL the hyperlink references.\n * @attr {string | undefined} hreflang - Hints at the language of the referenced resource.\n * @attr {string | undefined} ping - The ping attribute.\n * @attr {string | undefined} referrerpolicy - The referrerpolicy attribute. See The `referrerpolicy` attribute.\n * @attr {string | undefined} rel - The rel attribute. See The `rel` attribute.\n * @attr {string | undefined} target - The target attribute.\n * @attr {string | undefined} type - The type attribute.\n *\n * @prop {string} appearance - The appearance the link should have.\n * @prop {boolean} inline - The link is inline with text. In chromium browsers, if the link is contained within a semantic text element (`h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `p`) or `fluent-text`, `:host-context()` ensures inline links are styled appropriately.\n * @prop {string} download - Prompts the user to save the linked URL.\n * @prop {string} href - The URL the hyperlink references.\n * @prop {string} hreflang - Hints at the language of the referenced resource.\n * @prop {string} ping - The ping attribute.\n * @prop {string} referrerpolicy - The referrerpolicy attribute. See The `referrerpolicy` attribute.\n * @prop {string} rel - The rel attribute. See The `rel` attribute.\n * @prop {string} target - The target attribute.\n * @prop {string} type - The type attribute.\n *\n * @slot - The default slot for link content.\n * @slot start - Content which can be provided before the link content\n * @slot end - Content which can be provided after the link content\n *\n * @csspart control - The anchor element.\n * @csspart content - The element wrapping anchor content.\n *\n * @method keydownHandler - Handles keydown events for the anchor.\n *\n * @extends FluentLink\n * @tagname fabric-link\n * @public\n */\nexport class Link extends FluentLink {\n /**\n * Overrides the upstream `clickHandler` to prevent double-tab navigation\n * when `target=\"_blank\"` is set. The base `BaseAnchor.clickHandler` only\n * checks for modifier keys (Ctrl/Cmd) but ignores the `target` attribute,\n * causing both the native proxy anchor click and `handleNavigation()` to\n * each open a new tab.\n *\n * TODO: Remove this override once the upstream fix lands in `@fluentui/web-components`.\n *\n * @param e - The pointer event\n * @returns true to allow event propagation\n * @override\n */\n clickHandler(e) {\n if (this.href) {\n const newTab = isActionModifierKey(e) || this.target === LinkTargets._blank;\n if (newTab) {\n e.preventDefault();\n window.open(this.href, \"_blank\");\n }\n else {\n // Delegate to the base class for same-tab navigation\n return super.clickHandler(e);\n }\n }\n return true;\n }\n}\n//# sourceMappingURL=link.js.map","import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(Link:class)} component.\n *\n * Overrides the upstream Fluent template to eliminate whitespace text nodes\n * around the slot, which caused text-decoration (underline) to bleed into\n * adjacent whitespace when the link is displayed inline.\n *\n * @public\n */\nexport function linkTemplate() {\n // prettier-ignore\n return html `<template tabindex=\"0\" @click=\"${(x, c) => x.clickHandler(c.event)}\" @keydown=\"${(x, c) => x.keydownHandler(c.event)}\"><slot></slot></template>`;\n}\nexport const template = linkTemplate();\n//# sourceMappingURL=link.template.js.map","import { Link } from \"./link.js\";\nimport { template } from \"./link.template.js\";\nimport { LinkStyles } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Link component.\n *\n * @public\n */\nexport const definition = Link.compose({\n name: `${DesignSystem.prefix}-link`,\n template,\n styles: LinkStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=link.definition.js.map","import { Avatar as FluentAvatar } from \"@fluentui/web-components\";\n/**\n * Avatar\n * @summary An Avatar Custom HTML Element based on FluentAvatar, including style and layout specific attributes.\n *\n * @example\n * ```html\n * <fabric-avatar\n * shape=\"circular\"\n * appearance=\"ring\"\n * size=\"48\"\n * color=\"colorful\"\n * color-id=\"team-1\"\n * >\n * JD\n * <span slot=\"badge\">5</span>\n * </fabric-avatar>\n * ```\n *\n * @attr {AvatarShape | undefined} shape - The avatar can have a circular or square shape.\n * @attr {AvatarAppearance | undefined} appearance - The appearance when `active=\"active\"`.\n * @attr {AvatarSize | undefined} size - Size of the avatar in pixels.\n * @attr {AvatarColor | undefined} color - The color when displaying either an icon or initials.\n * @attr {string} color-id - Specify a string to be used instead of the name, to determine which color to use when color=\"colorful\".\n * @attr {string} name - The name of the avatar.\n * @attr {string} initials - The initials of the avatar.\n *\n * @prop {AvatarShape | undefined} shape - The avatar can have a circular or square shape.\n * @prop {AvatarAppearance | undefined} appearance - The appearance when `active=\"active\"`.\n * @prop {AvatarSize | undefined} size - Size of the avatar in pixels.\n * @prop {AvatarColor | undefined} color - The color when displaying either an icon or initials.\n * @prop {string} colorId - Specify a string to be used instead of the name, to determine which color to use when color=\"colorful\".\n * @prop {string} name - The name of the avatar.\n * @prop {string} initials - The initials of the avatar.\n *\n * @slot - The default slot for the avatar's initials or icon.\n * @slot badge - Slot for adding a badge to the avatar.\n *\n * @extends FluentAvatar\n * @tagname fabric-avatar\n * @public\n */\nexport class Avatar extends FluentAvatar {\n}\n//# sourceMappingURL=avatar.js.map","import { AvatarActive as FluentAvatarActive, AvatarAppearance as FluentAvatarAppearance, AvatarColor as FluentAvatarColor, AvatarNamedColor as FluentAvatarNamedColor, AvatarShape as FluentAvatarShape, AvatarSize as FluentAvatarSize } from \"@fluentui/web-components\";\n/** Active state values for {@link Avatar}. */\nexport const AvatarActives = { ...FluentAvatarActive };\nexport const AvatarActive = AvatarActives;\n/** Appearance values for {@link Avatar}. */\nexport const AvatarAppearances = { ...FluentAvatarAppearance };\nexport const AvatarAppearance = AvatarAppearances;\n/** Color scheme values for {@link Avatar}. */\nexport const AvatarColors = { ...FluentAvatarColor };\nexport const AvatarColor = AvatarColors;\n/** Named color values for {@link Avatar}. */\nexport const AvatarNamedColors = { ...FluentAvatarNamedColor };\nexport const AvatarNamedColor = AvatarNamedColors;\n/** Shape values for {@link Avatar}. */\nexport const AvatarShapes = { ...FluentAvatarShape };\nexport const AvatarShape = AvatarShapes;\n/** Size values for {@link Avatar}. */\nexport const AvatarSizes = { ...FluentAvatarSize };\nexport const AvatarSize = AvatarSizes;\n//# sourceMappingURL=avatar.options.js.map","import { AvatarStyles, AvatarTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { Avatar } from \"./avatar.js\";\n/**\n * The Fabric Avatar component.\n *\n * @public\n */\nexport const definition = Avatar.compose({\n name: `${DesignSystem.prefix}-avatar`,\n template: AvatarTemplate,\n styles: AvatarStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=avatar.definition.js.map","import { Badge as FluentBadge } from \"@fluentui/web-components\";\n/**\n * Badge\n * @summary A badge component representing a small count or label, often used to show status, categorization, or decorative purposes.\n *\n * @example\n * ```html\n * <fabric-badge appearance=\"filled\" color=\"brand\" shape=\"rounded\" size=\"medium\">\n * <span slot=\"start\">🌟</span>\n * 2\n * <span slot=\"end\">🔔</span>\n * </fabric-badge>\n * ```\n *\n * @attr {BadgeAppearance} appearance - The appearance the badge should have. One of: 'outline', 'filled', 'ghost', 'tint'.\n * @attr {BadgeColor} color - The color the badge should have. One of: 'subtle', 'brand', 'danger', 'important', 'informative', 'severe', 'success', 'warning'.\n * @attr {BadgeShape} shape - The shape the badge should have. One of: 'circular', 'rounded', 'square'.\n * @attr {BadgeSize} size - The size the badge should have. One of: 'tiny', 'extra-small', 'small', 'medium', 'large', 'extra-large'.\n *\n * @prop {BadgeAppearance} appearance - The appearance the badge should have. One of: 'outline', 'filled', 'ghost', 'tint'.\n * @prop {BadgeColor} color - The color the badge should have. One of: 'subtle', 'brand', 'danger', 'important', 'informative', 'severe', 'success', 'warning'.\n * @prop {BadgeShape} shape - The shape the badge should have. One of: 'circular', 'rounded', 'square'.\n * @prop {BadgeSize} size - The size the badge should have. One of: 'tiny', 'extra-small', 'small', 'medium', 'large', 'extra-large'.\n *\n * @slot start - Content to be placed at the start of the badge.\n * @slot - Default slot for the badge content.\n * @slot end - Content to be placed at the end of the badge.\n *\n * @method appearanceChanged - Handles changes to appearance attribute custom states.\n * @method colorChanged - Handles changes to color attribute custom states.\n * @method shapeChanged - Handles changes to shape attribute custom states.\n * @method sizeChanged - Handles changes to size attribute custom states.\n *\n * @extends FluentBadge\n * @tagname fabric-badge\n * @public\n */\nexport class Badge extends FluentBadge {\n}\n//# sourceMappingURL=badge.js.map","import { BadgeAppearance as FluentBadgeAppearance, BadgeColor as FluentBadgeColor, BadgeShape as FluentBadgeShape, BadgeSize as FluentBadgeSize } from \"@fluentui/web-components\";\n/** Appearance values for {@link Badge}. */\nexport const BadgeAppearances = { ...FluentBadgeAppearance };\nexport const BadgeAppearance = BadgeAppearances;\n/** Color values for {@link Badge}. */\nexport const BadgeColors = { ...FluentBadgeColor };\nexport const BadgeColor = BadgeColors;\n/** Shape values for {@link Badge}. */\nexport const BadgeShapes = { ...FluentBadgeShape };\nexport const BadgeShape = BadgeShapes;\n/** Size values for {@link Badge}. */\nexport const BadgeSizes = { ...FluentBadgeSize };\nexport const BadgeSize = BadgeSizes;\n//# sourceMappingURL=badge.options.js.map","import { BadgeStyles, BadgeTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { Badge } from \"./badge.js\";\n/**\n * The Fabric Badge component.\n *\n * @public\n */\nexport const definition = Badge.compose({\n name: `${DesignSystem.prefix}-badge`,\n template: BadgeTemplate,\n styles: BadgeStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=badge.definition.js.map","import { Checkbox as FluentCheckbox } from \"@fluentui/web-components\";\n/**\n * Checkbox\n * @summary A Checkbox Custom HTML Element that implements the ARIA checkbox role with customizable states and indicators.\n *\n * @example\n * ```html\n * <fabric-checkbox\n * ?checked=\"${x => x.checked}\"\n * ?disabled=\"${x => x.disabled}\"\n * ?indeterminate=\"${x => x.indeterminate}\"\n * shape=\"${x => x.shape}\"\n * size=\"${x => x.size}\"\n * >\n * <span slot=\"checked-indicator\">[Checked Indicator]</span>\n * <span slot=\"indeterminate-indicator\">[Indeterminate Indicator]</span>\n * </fabric-checkbox>\n * ```\n *\n * @attr {boolean | undefined} checked - The initial checked state of the element.\n * @attr {boolean | undefined} disabled - The initial disabled state of the control.\n * @attr {boolean | undefined} indeterminate - Indicates that the element is in an indeterminate or mixed state.\n * @attr {CheckboxShape | undefined} shape - Indicates the shape of the checkbox.\n * @attr {CheckboxSize | undefined} size - Indicates the size of the control.\n * @attr {boolean | undefined} required - Indicates that the element is required.\n * @attr {string | undefined} name - The name of the checkbox.\n * @attr {string | undefined} value - The value of the checkbox.\n *\n * @prop {boolean} indeterminate - Indicates the indeterminate state of the checkbox.\n * @prop {CheckboxShape} shape - Indicates the shape of the checkbox, can be 'circular' or 'square'.\n * @prop {CheckboxSize} size - Indicates the size of the checkbox, can be 'medium' or 'large'.\n *\n * @slot checked-indicator - The checked indicator.\n * @slot indeterminate-indicator - The indeterminate indicator.\n *\n * @csspart checked-indicator - The checked state indicator.\n * @csspart indeterminate-indicator - The indeterminate state indicator.\n *\n * @method toggleChecked - Toggles the checked state of the control.\n *\n * @fires change - Emits a custom change event when the checked state changes.\n * @fires input - Emits a custom input event when the checked state changes.\n *\n * @extends FluentCheckbox\n * @tagname fabric-checkbox\n * @public\n */\nexport class Checkbox extends FluentCheckbox {\n}\n//# sourceMappingURL=checkbox.js.map","import { CheckboxShape as FluentCheckboxShape, CheckboxSize as FluentCheckboxSize } from \"@fluentui/web-components\";\nexport const CheckboxShapes = {\n ...FluentCheckboxShape\n};\nexport const CheckboxSizes = {\n ...FluentCheckboxSize\n};\n//# sourceMappingURL=checkbox.options.js.map","import { CheckboxStyles, CheckboxTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { Checkbox } from \"./checkbox.js\";\n/**\n * The Fabric Checkbox component.\n *\n * @public\n */\nexport const definition = Checkbox.compose({\n name: `${DesignSystem.prefix}-checkbox`,\n template: CheckboxTemplate,\n styles: CheckboxStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=checkbox.definition.js.map","import { CounterBadge as FluentCounterBadge } from \"@fluentui/web-components\";\n/**\n * CounterBadge\n * @summary A CounterBadge component representing a numeric or dot indicator for UI elements, often used to show the number of items in a list or as a notification count.\n *\n * @example\n * ```html\n * <fabric-counter-badge appearance=\"filled\" color=\"brand\" shape=\"circular\" size=\"medium\" count=\"5\" overflow-count=\"99\" show-zero=\"false\" dot=\"false\"></fabric-counter-badge>\n * ```\n *\n * @attr {CounterBadgeAppearance | undefined} appearance - The appearance the badge should have.\n * @attr {CounterBadgeColor | undefined} color - The color the badge should have.\n * @attr {CounterBadgeShape | undefined} shape - The shape the badge should have.\n * @attr {CounterBadgeSize | undefined} size - The size the badge should have.\n * @attr {number} count - The count the badge should have.\n * @attr {number} overflow-count - Max number to be displayed.\n * @attr {boolean} show-zero - If the badge should be shown when count is 0.\n * @attr {boolean} dot - If a dot should be displayed without the count.\n *\n * @prop {number} count - The numeric value for the badge. If not set, defaults to 0.\n * @prop {number} overflowCount - The maximum number to display before showing '+'. Defaults to 99.\n * @prop {boolean} showZero - Determines whether the badge is shown when the count is 0. Defaults to false.\n * @prop {boolean} dot - Displays a dot instead of the count when set to true. Defaults to false.\n *\n * @extends FluentCounterBadge\n * @tagname fabric-counter-badge\n * @public\n */\nexport class CounterBadge extends FluentCounterBadge {\n}\n//# sourceMappingURL=counter-badge.js.map","import { CounterBadgeAppearance as FluentCounterBadgeAppearance, CounterBadgeColor as FluentCounterBadgeColor, CounterBadgeShape as FluentCounterBadgeShape, CounterBadgeSize as FluentCounterBadgeSize } from \"@fluentui/web-components\";\n/**\n * Appearances for {@link CounterBadge}.\n * @public\n */\nexport const CounterBadgeAppearances = {\n ...FluentCounterBadgeAppearance\n};\n/**\n * Colors for {@link CounterBadge}.\n * @public\n */\nexport const CounterBadgeColors = {\n ...FluentCounterBadgeColor\n};\n/**\n * Shapes for {@link CounterBadge}.\n * @public\n */\nexport const CounterBadgeShapes = {\n ...FluentCounterBadgeShape\n};\n/**\n * Sizes for {@link CounterBadge}.\n * @public\n */\nexport const CounterBadgeSizes = {\n ...FluentCounterBadgeSize\n};\n//# sourceMappingURL=counter-badge.options.js.map","import { CounterBadgeStyles, CounterBadgeTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { CounterBadge } from \"./counter-badge.js\";\n/**\n * The Fabric Counter Badge component.\n *\n * @public\n */\nexport const definition = CounterBadge.compose({\n name: `${DesignSystem.prefix}-counter-badge`,\n template: CounterBadgeTemplate,\n styles: CounterBadgeStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=counter-badge.definition.js.map","import { Dialog as FluentDialog } from \"@fluentui/web-components\";\n/**\n * Dialog\n * @summary A Dialog Custom HTML Element that provides modal, non-modal, and alert dialog types with accessible attributes.\n *\n * @example\n * ```html\n * <fabric-dialog type=\"modal\" aria-labelledby=\"dialog-label\" aria-describedby=\"dialog-desc\">\n * <span slot=\"title\">Title</span>\n * <div>Content of the dialog body</div>\n * <span slot=\"action\">Action buttons</span>\n * </fabric-dialog>\n * ```\n *\n * @attr {string} aria-describedby - Identifies the element (or elements) that describes the object.\n * @attr {string} aria-labelledby - Identifies the element (or elements) that labels the current element.\n * @attr {DialogType} type - The type of dialog ('modal', 'non-modal', 'alert').\n *\n * @prop {HTMLElement} dialog - The internal dialog element reference.\n * @prop {string} ariaDescribedby - Reflects the 'aria-describedby' attribute to associate the dialog with descriptive text.\n * @prop {string} ariaLabelledby - Reflects the 'aria-labelledby' attribute to associate the dialog with its label.\n * @prop {DialogType} type - The type of dialog, which can be 'modal', 'non-modal', or 'alert'.\n *\n * @slot - The default slot for dialog content.\n *\n * @csspart dialog - The dialog container.\n *\n * @method show() - Opens the dialog.\n * @method hide() - Closes the dialog.\n * @method clickHandler() - Handles click events on the dialog.\n *\n * @fires {CustomEvent} beforetoggle - Event emitted before the dialog's open state changes.\n * @fires {CustomEvent} toggle - Event emitted after the dialog's open state changes.\n *\n * @extends FluentDialog\n * @tagname fabric-dialog\n * @public\n */\nexport class Dialog extends FluentDialog {\n}\n//# sourceMappingURL=dialog.js.map","import { DialogStyles } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${DialogStyles}\n dialog {\n max-width: var(--dialog-max-width, 600px);\n }\n}`;\n//# sourceMappingURL=dialog.styles.js.map","import { DialogTemplate } from \"@fluentui/web-components\";\nimport { styles as DialogStyles } from \"./dialog.styles.js\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { Dialog } from \"./dialog.js\";\n/**\n * The Fabric Dialog component.\n *\n * @public\n */\nexport const definition = Dialog.compose({\n name: `${DesignSystem.prefix}-dialog`,\n template: DialogTemplate,\n styles: DialogStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=dialog.definition.js.map","/**\n * Dialog modal type\n * @public\n */\nexport const DialogTypes = {\n modal: \"modal\",\n nonModal: \"non-modal\",\n alert: \"alert\"\n};\n//# sourceMappingURL=dialog.options.js.map","import { DialogBody as FluentDialogBody } from \"@fluentui/web-components\";\n/**\n * DialogBody\n * @summary Dialog Body component that extends the FASTElement class, providing slots for title, title-action, content, and actions.\n *\n * @example\n * ```html\n * <fabric-dialog-body no-title-action=\"false\">\n * <span slot=\"title\">Title</span>\n * <span slot=\"title-action\">Action</span>\n * <div>Content of the dialog body</div>\n * <span slot=\"action\">Action buttons</span>\n * </fabric-dialog-body>\n * ```\n *\n * @attr {boolean} no-title-action - Indicates if the title action should be displayed.\n *\n * @prop {boolean} noTitleAction - Indicates whether the dialog has a title action.\n *\n * @slot title - Slot for the dialog title.\n * @slot title-action - Slot for the dialog title action, typically a close button.\n * @slot - The default slot for dialog content.\n * @slot action - Slot for dialog actions, such as buttons.\n *\n * @csspart title - The dialog title container.\n * @csspart content - The dialog content container.\n * @csspart actions - The dialog actions container.\n * @csspart title-action - The dialog title action container.\n *\n * @extends FluentDialogBody\n * @tagname fabric-dialog-body\n * @public\n */\nexport class DialogBody extends FluentDialogBody {\n}\n//# sourceMappingURL=dialog-body.js.map","import { DialogBodyStyles, DialogBodyTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system\";\nimport { DialogBody } from \"./dialog-body\";\n/**\n * The Fabric Dialog Body component.\n *\n * @public\n */\nexport const definition = DialogBody.compose({\n name: `${DesignSystem.prefix}-dialog-body`,\n template: DialogBodyTemplate,\n styles: DialogBodyStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=dialog-body.definition.js.map","import { Divider as FluentDivider } from \"@fluentui/web-components\";\n/**\n * Divider\n * @summary A Divider Custom HTML Element that semantically separates content or serves for visual presentation.\n *\n * @example\n * ```html\n * <fabric-divider role=\"separator\" orientation=\"vertical\" align-content=\"center\" appearance=\"strong\" inset></fabric-divider>\n * ```\n *\n * @attr {DividerRole} role - The role of the element, either 'separator' or 'presentation'.\n * @attr {DividerOrientation} orientation - The orientation of the divider, either 'horizontal' or 'vertical'.\n * @attr {DividerAlignContent} alignContent - Align content within divider, options are 'center', 'start', 'end'.\n * @attr {DividerAppearance} appearance - Divider appearance, options are 'strong', 'brand', 'subtle'.\n * @attr {boolean} inset - Whether the divider should be inset.\n *\n * @prop {DividerRole} role - The role of the element, either 'separator' or 'presentation'.\n * @prop {DividerOrientation} orientation - The orientation of the divider, either 'horizontal' or 'vertical'.\n * @prop {DividerAlignContent} alignContent - Align content within divider, options are 'center', 'start', 'end'.\n * @prop {DividerAppearance} appearance - Divider appearance, options are 'strong', 'brand', 'subtle'.\n * @prop {boolean} inset - Whether the divider should be inset.\n *\n * @slot - The default slot for the divider content.\n *\n * @extends FluentDivider\n * @tagname fabric-divider\n * @public\n */\nexport class Divider extends FluentDivider {\n}\n//# sourceMappingURL=divider.js.map","import { DividerAlignContent as FluentDividerAlignContent, DividerAppearance as FluentDividerAppearance, DividerOrientation as FluentDividerOrientation, DividerRole as FluentDividerRole } from \"@fluentui/web-components\";\n/**\n * Align-content values supported by {@link Divider}.\n * @public\n */\nexport const DividerAlignContents = {\n ...FluentDividerAlignContent\n};\n/**\n * Appearance values supported by {@link Divider}.\n * @public\n */\nexport const DividerAppearances = {\n ...FluentDividerAppearance\n};\n/**\n * Orientation values supported by {@link Divider}.\n * @public\n */\nexport const DividerOrientations = {\n ...FluentDividerOrientation\n};\n/**\n * Role values supported by {@link Divider}.\n * @public\n */\nexport const DividerRoles = {\n ...FluentDividerRole\n};\n//# sourceMappingURL=divider.options.js.map","import { DividerStyles } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${DividerStyles}\n :host([orientation='vertical']) {\n min-height: unset;\n }\n`;\n//# sourceMappingURL=divider.styles.js.map","import { DividerTemplate as FluentDividerTemplate } from \"@fluentui/web-components\";\n/**\n * Template for the {@link Divider} component.\n * @public\n */\nexport const template = FluentDividerTemplate;\n//# sourceMappingURL=divider.template.js.map","import { DividerTemplate } from \"@fluentui/web-components\";\nimport { styles as DividerStyles } from \"./divider.styles.js\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { Divider } from \"./divider.js\";\n/**\n * The Fabric Divider component.\n *\n * @public\n */\nexport const definition = Divider.compose({\n name: `${DesignSystem.prefix}-divider`,\n template: DividerTemplate,\n styles: DividerStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=divider.definition.js.map","import { Drawer as FluentDrawer } from \"@fluentui/web-components\";\n/**\n * Drawer\n * @summary A Drawer component that allows content to be displayed in a side panel. It can be rendered as modal or non-modal.\n *\n * @example\n * ```html\n * <fabric-drawer type=\"modal\" position=\"start\" size=\"large\" aria-labelledby=\"drawer-title\" aria-describedby=\"drawer-description\">\n * <span slot=\"title\">Title Content</span>\n * <span slot=\"close\">Close Button</span>\n * Main Content\n * <div slot=\"footer\">Footer Content</div>\n * </fabric-drawer>\n * ```\n *\n * @attr {DrawerType} type - Determines whether the drawer should be displayed as modal, non-modal, or alert.\n * @attr {DrawerPosition} position - Sets the position of the drawer (start/end).\n * @attr {DrawerSize} size - Sets the size of the drawer (small/medium/large/full).\n * @attr {string} ariaDescribedby - The ID of the element that describes the drawer.\n * @attr {string} ariaLabelledby - The ID of the element that labels the drawer.\n *\n * @prop {DrawerType} type - Determines whether the drawer should be displayed as modal, non-modal, or alert.\n * @prop {DrawerPosition} position - Sets the position of the drawer (start/end).\n * @prop {DrawerSize} size - Sets the size of the drawer (small/medium/large/full).\n * @prop {string} ariaDescribedby - The ID of the element that describes the drawer.\n * @prop {string} ariaLabelledby - The ID of the element that labels the drawer.\n *\n * @slot - Default slot for the content of the drawer.\n * @slot title - Slot for the title content of the drawer.\n * @slot close - Slot for the close button of the drawer.\n * @slot footer - Slot for the footer content of the drawer.\n *\n * @csspart dialog - The dialog element of the drawer.\n *\n * @method show() - Shows the drawer.\n * @method hide() - Hides the drawer.\n * @method clickHandler() - Handles click events on the drawer.\n *\n * @fires {CustomEvent} toggle - Event emitted after the dialog's open state changes.\n * @fires {CustomEvent} beforetoggle - Event emitted before the dialog's open state changes.\n *\n * @extends FluentDrawer\n * @tagname fabric-drawer\n * @public\n */\nexport class Drawer extends FluentDrawer {\n}\n//# sourceMappingURL=drawer.js.map","import { DrawerPosition as FluentDrawerPosition, DrawerSize as FluentDrawerSize, DrawerType as FluentDrawerType } from \"@fluentui/web-components\";\n/** Positions supported by {@link Drawer}. */\nexport const DrawerPositions = {\n ...FluentDrawerPosition\n};\n/** Size values supported by {@link Drawer}. */\nexport const DrawerSizes = {\n ...FluentDrawerSize\n};\n/** Type values supported by {@link Drawer}. */\nexport const DrawerTypes = {\n ...FluentDrawerType\n};\n//# sourceMappingURL=drawer.options.js.map","import { DrawerStyles, DrawerTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { Drawer } from \"./drawer.js\";\n/**\n * The Fabric Drawer component.\n *\n * @public\n */\nexport const definition = Drawer.compose({\n name: `${DesignSystem.prefix}-drawer`,\n template: DrawerTemplate,\n styles: DrawerStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=drawer.definition.js.map","import { DrawerBody as FluentDrawerBody } from \"@fluentui/web-components\";\n/**\n * DrawerBody\n * @summary A component that provides a drawer body for displaying content in a side panel.\n *\n * @example\n * ```html\n * <fabric-drawer-body>\n * <span slot=\"title\">Title Content</span>\n * <span slot=\"close\">Close Button</span>\n * Main Content\n * <div slot=\"footer\">Footer Content</div>\n * </fabric-drawer-body>\n * ```\n *\n * @slot title - The title slot.\n * @slot close - The close button slot.\n * @slot - The default content slot.\n * @slot footer - The footer slot.\n *\n * @csspart header - The header part of the drawer.\n * @csspart content - The content part of the drawer.\n * @csspart footer - The footer part of the drawer.\n *\n * @extends FluentDrawerBody\n * @tagname fabric-drawer-body\n * @public\n */\nexport class DrawerBody extends FluentDrawerBody {\n}\n//# sourceMappingURL=drawer-body.js.map","import { DrawerBodyStyles, DrawerBodyTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { DrawerBody } from \"./drawer-body.js\";\n/**\n * The Fabric Drawer Body component.\n *\n * @public\n */\nexport const definition = DrawerBody.compose({\n name: `${DesignSystem.prefix}-drawer-body`,\n template: DrawerBodyTemplate,\n styles: DrawerBodyStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=drawer-body.definition.js.map","import { DropdownAppearance as FluentDropdownAppearance, DropdownSize as FluentDropdownSize, DropdownType as FluentDropdownType } from \"@fluentui/web-components\";\n/** Appearance values for {@link Dropdown}. */\nexport const DropdownAppearances = { ...FluentDropdownAppearance };\n/** Size values for {@link Dropdown}. */\nexport const DropdownSizes = { ...FluentDropdownSize };\n/** Dropdown type values for {@link Dropdown}. */\nexport const DropdownTypes = { ...FluentDropdownType };\n//# sourceMappingURL=dropdown.options.js.map","import { Field as FluentField } from \"@fluentui/web-components\";\nimport { uniqueId } from \"@microsoft/fast-web-utilities\";\n/**\n * Field\n * @summary A Field Custom HTML Element based on FluentField, including style and layout specific attributes.\n *\n * @example\n * ```html\n * <fabric-field label-position=\"above\">\n * <label slot=\"label\">Label</label>\n * <input slot=\"input\" />\n * <span slot=\"message\">Error message</span>\n * </fabric-field>\n * ```\n *\n * @attr {FieldLabelPosition} label-position - The position of the label relative to the input. Possible values are 'above', 'after', 'before'.\n *\n * @prop {FieldLabelPosition} labelPosition - The position of the label relative to the input. Possible values are 'above', 'after', 'before'.\n *\n * @slot label - The slot for the label element.\n * @slot input - The slot for the input element.\n * @slot message - The slot for the message element.\n *\n * @csspart label - The label part of the field component.\n * @csspart input - The input part of the field component.\n * @csspart message - The message part of the field component.\n *\n * @method labelSlotChanged - Updates attributes on the slotted label elements.\n * @method inputChanged - Updates the field's states and label properties when the assigned input changes.\n * @method setValidationStates - Sets the validation states for the field.\n *\n * @extends FluentField\n * @tagname fabric-field\n * @public\n */\nexport class Field extends FluentField {\n /**\n * Sets ARIA and form-related attributes on slotted label elements.\n * Extends the base implementation to support custom label elements (e.g., fabric-label)\n * in addition to native HTMLLabelElement.\n *\n * @remarks\n * The base FluentUI implementation only handles native `<label>` elements.\n * This method ensures that custom elements like `<fabric-label>` are properly\n * associated with the input via `aria-labelledby`, enabling screen reader support.\n *\n * @internal\n */\n setLabelPropertiesExtended() {\n var _a;\n if (!this.$fastController.isConnected || !this.input) {\n return;\n }\n this.input.id = this.input.id || uniqueId(\"input\");\n const labelIds = [];\n (_a = this.labelSlot) === null || _a === void 0 ? void 0 : _a.forEach((label, index) => {\n if (label instanceof HTMLElement) {\n // Generate unique ID for each label if not already set\n // Use index suffix to ensure uniqueness when multiple labels exist\n const defaultId = index === 0\n ? `${this.input.id}--label`\n : `${this.input.id}--label-${index}`;\n label.id = label.id || defaultId;\n labelIds.push(label.id);\n // Native <label> also gets htmlFor for click-to-focus behavior\n if (label instanceof HTMLLabelElement) {\n label.htmlFor = label.htmlFor || this.input.id;\n }\n }\n });\n // Set aria-labelledby with all label IDs (overwrites to avoid duplicates)\n if (labelIds.length) {\n this.input.setAttribute(\"aria-labelledby\", labelIds.join(\" \"));\n }\n }\n /**\n * Updates attributes on the slotted label elements.\n * Overrides base to add support for custom label elements.\n *\n * @param prev - the previous list of slotted label elements\n * @param next - the current list of slotted label elements\n * @internal\n */\n labelSlotChanged(prev, next) {\n super.labelSlotChanged(prev, next);\n if (next && this.input) {\n this.setLabelPropertiesExtended();\n }\n }\n /**\n * Updates the field's states and label properties when the assigned input changes.\n * Overrides base to add support for custom label elements.\n *\n * @param prev - the previous input\n * @param next - the current input\n * @internal\n */\n inputChanged(prev, next) {\n super.inputChanged(prev, next);\n if (next) {\n this.setLabelPropertiesExtended();\n }\n }\n}\n//# sourceMappingURL=field.js.map","import { FieldStyles } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${FieldStyles}\n`;\n//# sourceMappingURL=field.styles.js.map","/**\n * Label position values exposed by {@link Field}.\n */\nexport const LabelPositions = {\n above: \"above\",\n after: \"after\",\n before: \"before\"\n};\n/**\n * Back-compat aliases preserving the Field-prefixed naming used previously.\n */\nexport const FieldLabelPositions = LabelPositions;\nexport const FieldLabelPosition = LabelPositions;\n/**\n * Validation state flags surfaced by {@link Field}.\n */\nexport const ValidationFlags = {\n badInput: \"bad-input\",\n customError: \"custom-error\",\n patternMismatch: \"pattern-mismatch\",\n rangeOverflow: \"range-overflow\",\n rangeUnderflow: \"range-underflow\",\n stepMismatch: \"step-mismatch\",\n tooLong: \"too-long\",\n tooShort: \"too-short\",\n typeMismatch: \"type-mismatch\",\n valueMissing: \"value-missing\",\n valid: \"valid\"\n};\n/**\n * Synthetic entry describing the structural requirements for slotted inputs.\n * Provides a plural const so option-normalization rules can derive {@link SlottableInput}.\n */\nexport const SlottableInputs = {\n structural: undefined\n};\n//# sourceMappingURL=field.options.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { Field } from \"./field.js\";\nimport { FieldTemplate } from \"@fluentui/web-components\";\nimport { styles as FieldStyles } from \"./field.styles.js\";\n/**\n * The Fabric Field component.\n *\n * @public\n */\nexport const definition = Field.compose({\n name: `${DesignSystem.prefix}-field`,\n template: FieldTemplate,\n styles: FieldStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=field.definition.js.map","import { Image as FluentImage } from \"@fluentui/web-components\";\n/**\n * Image\n * @summary A Fabric UI Image component that provides a customizable image element with layout, border, shadow, fit, and shape options.\n *\n * @example\n * ```html\n * <fabric-image block fit=\"cover\" shape=\"rounded\">\n * <img src=\"path-to-image.jpg\" alt=\"Descriptive text\">\n * </fabric-image>\n * ```\n *\n * @attr {boolean} block - Image layout. Boolean attribute that, when present, applies a block layout to the image.\n * @attr {boolean} bordered - Image border. Boolean attribute that, when present, applies a border to the image.\n * @attr {boolean} shadow - Image shadow. Boolean attribute that, when present, applies a shadow effect to the image.\n * @attr {ImageFit} fit - Image fit, with options 'none', 'center', 'contain', 'cover'. Determines how the image should be resized to fit its container.\n * @attr {ImageShape} shape - Image shape, with options 'circular', 'rounded', 'square'. Determines the shape of the image.\n *\n * @prop {boolean} block - Image layout. Boolean property that, when set, applies a block layout to the image.\n * @prop {boolean} bordered - Image border. Boolean property that, when set, applies a border to the image.\n * @prop {boolean} shadow - Image shadow. Boolean property that, when set, applies a shadow effect to the image.\n * @prop {ImageFit} fit - Image fit, with options 'none', 'center', 'contain', 'cover'. Determines how the image should be resized to fit its container.\n * @prop {ImageShape} shape - Image shape, with options 'circular', 'rounded', 'square'. Determines the shape of the image.\n *\n * @slot - The default slot for the image content. Place an <img> element here to display the image.\n *\n * @extends FluentImage\n * @tagname fabric-image\n * @public\n */\nexport class Image extends FluentImage {\n}\n//# sourceMappingURL=image.js.map","import { ImageFit as FluentImageFit, ImageShape as FluentImageShape } from \"@fluentui/web-components\";\n/** Fit values for {@link Image}. */\nexport const ImageFits = { ...FluentImageFit };\n/** Shape values for {@link Image}. */\nexport const ImageShapes = { ...FluentImageShape };\n//# sourceMappingURL=image.options.js.map","import { Image } from \"./image.js\";\nimport { ImageStyles, ImageTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Image component.\n *\n * @public\n */\nexport const definition = Image.compose({\n name: `${DesignSystem.prefix}-image`,\n template: ImageTemplate,\n styles: ImageStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=image.definition.js.map","import { Label as FluentLabel } from \"@fluentui/web-components\";\n/**\n * Label\n * @summary A Fabric UI Label component that provides a customizable label element, supporting different sizes, weights, and required state indication.\n *\n * @example\n * ```html\n * <fabric-label size=\"large\" weight=\"semibold\" required>\n * Username\n * <span slot=\"asterisk\">*</span>\n * </fabric-label>\n * ```\n *\n * @attr {LabelSize} size - Specifies font size of a label. Can be 'small', 'medium', or 'large'.\n * @attr {LabelWeight} weight - Specifies font weight of a label. Can be 'regular' or 'semibold'.\n * @attr {boolean} disabled - Specifies styles for label when associated input is disabled. Defaults to false.\n * @attr {boolean} required - Specifies styles for label when associated input is a required field. Defaults to false.\n *\n * @prop {LabelSize} size - Specifies font size of a label. Can be 'small', 'medium', or 'large'.\n * @prop {LabelWeight} weight - Specifies font weight of a label. Can be 'regular' or 'semibold'.\n * @prop {boolean} disabled - Specifies styles for label when associated input is disabled. Defaults to false.\n * @prop {boolean} required - Specifies styles for label when associated input is a required field. Defaults to false.\n *\n * @slot - The default slot for the label's text.\n * @slot asterisk - The slot for the required field indicator, an asterisk by default.\n *\n * @csspart asterisk - The part representing the required field indicator.\n *\n * @extends FluentLabel\n * @tagname fabric-label\n * @public\n */\nexport class Label extends FluentLabel {\n}\n//# sourceMappingURL=label.js.map","import { Label } from \"./label.js\";\nimport { LabelStyles, LabelTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Label component.\n *\n * @public\n */\nexport const definition = Label.compose({\n name: `${DesignSystem.prefix}-label`,\n template: LabelTemplate,\n styles: LabelStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=label.definition.js.map","import { LabelSize as FluentLabelSize, LabelWeight as FluentLabelWeight } from \"@fluentui/web-components\";\n/** Size values for {@link Label}. */\nexport const LabelSizes = { ...FluentLabelSize };\n/** Weight values for {@link Label}. */\nexport const LabelWeights = { ...FluentLabelWeight };\n//# sourceMappingURL=label.options.js.map","import { AnchorButton as FluentAnchorButton } from \"@fluentui/web-components\";\n/**\n * AnchorButton\n * @summary An Anchor Custom HTML Element that functions as a button with customizable appearance, shape, and size, and can be used as a link.\n *\n * @example\n * ```html\n * <fabric-anchor-button appearance=\"primary\" shape=\"rounded\" size=\"large\" href=\"https://example.com\" target=\"_blank\">\n * <span slot=\"start\">🔗</span>\n * Visit our page\n * <span slot=\"end\">→</span>\n * </fabric-anchor-button>\n * ```\n *\n * @attr {AnchorButtonAppearance} appearance - The visual appearance of the button.\n * @attr {AnchorButtonShape} shape - The shape of the button, can be square, circular, or rounded.\n * @attr {AnchorButtonSize} size - The size of the button, can be small, medium, or large.\n * @attr {boolean} icon-only - Indicates the button has an icon only, no text content.\n * @attr {string} href - The URL that the hyperlink points to.\n * @attr {AnchorTarget} target - Specifies where to open the linked document.\n *\n * @prop {boolean} iconOnly - Indicates whether the button has an icon only, with no text content.\n *\n * @slot start - Content before the button content.\n * @slot - The default slot for button text or content.\n * @slot end - Content after the button content.\n *\n * @csspart content - The button content container.\n *\n * @fires click - Fired when the button is clicked.\n *\n * @extends FluentAnchorButton\n * @tagname fabric-anchor-button\n * @public\n */\nexport class AnchorButton extends FluentAnchorButton {\n}\n//# sourceMappingURL=anchor-button.js.map","import { AnchorButtonAppearance as FluentAnchorButtonAppearance, AnchorButtonShape as FluentAnchorButtonShape, AnchorButtonSize as FluentAnchorButtonSize, AnchorTarget as FluentAnchorTarget } from \"@fluentui/web-components\";\n/** Appearance values for {@link AnchorButton}. */\nexport const AnchorButtonAppearances = {\n ...FluentAnchorButtonAppearance\n};\nexport const AnchorButtonAppearance = AnchorButtonAppearances;\n/** Shape values for {@link AnchorButton}. */\nexport const AnchorButtonShapes = { ...FluentAnchorButtonShape };\nexport const AnchorButtonShape = AnchorButtonShapes;\n/** Size values for {@link AnchorButton}. */\nexport const AnchorButtonSizes = { ...FluentAnchorButtonSize };\nexport const AnchorButtonSize = AnchorButtonSizes;\n/** Target values for {@link AnchorButton}. */\nexport const AnchorTargets = { ...FluentAnchorTarget };\nexport const AnchorTarget = AnchorTargets;\n//# sourceMappingURL=anchor-button.options.js.map","import { AnchorButtonTemplate, ToggleButtonStyles } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { AnchorButton } from \"./anchor-button.js\";\n/**\n * The Fabric Anchor Button component.\n *\n * @public\n */\nexport const definition = AnchorButton.compose({\n name: `${DesignSystem.prefix}-anchor-button`,\n template: AnchorButtonTemplate,\n styles: ToggleButtonStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=anchor-button.definition.js.map","import { MessageBar as FluentMessageBar } from \"@fluentui/web-components\";\n/**\n * MessageBar\n * @summary A Message Bar Custom HTML Element with custom styling and behavior based on Fluent UI's MessageBar.\n *\n * @example\n * ```html\n * <fabric-message-bar\n * shape=\"rounded\"\n * layout=\"singleline\"\n * intent=\"info\"\n * role=\"status\">\n * <span slot=\"icon\">ℹ️</span>\n * Important information\n * <span slot=\"actions\"><button>Action</button></span>\n * <span slot=\"dismiss\">✖</span>\n * </fabric-message-bar>\n * ```\n *\n * @attr {MessageBarShape} shape - Sets the shape of the Message Bar. Possible values are 'rounded' or 'square'.\n * @attr {MessageBarLayout} layout - Sets the layout of the control. Possible values are 'multiline' or 'singleline'.\n * @attr {MessageBarIntent} intent - Sets the intent of the control. Possible values are 'success', 'warning', 'error', or 'info'.\n *\n * @prop {MessageBarShape} shape - Sets the shape of the Message Bar. Possible values are 'rounded' or 'square'.\n * @prop {MessageBarLayout} layout - Sets the layout of the control. Possible values are 'multiline' or 'singleline'.\n * @prop {MessageBarIntent} intent - Sets the intent of the control. Possible values are 'success', 'warning', 'error', or 'info'.\n *\n * @slot icon - Slot for the icon content.\n * @slot - The default slot for the content.\n * @slot actions - Slot for the actions content.\n * @slot dismiss - Slot for the dismiss button content.\n *\n * @csspart content - The main content container of the Message Bar.\n * @csspart actions - The container for action elements.\n *\n * @method dismissMessageBar - Method to emit a `dismiss` event when the message bar is dismissed.\n *\n * @fires dismiss - Fired when the message bar is dismissed.\n *\n * @extends FluentMessageBar\n * @tagname fabric-message-bar\n * @public\n */\nexport class MessageBar extends FluentMessageBar {\n}\n//# sourceMappingURL=message-bar.js.map","import { DesignSystem } from \"../design-system\";\nimport { MessageBar } from \"./message-bar.js\";\nimport { MessageBarStyles, MessageBarTemplate } from \"@fluentui/web-components\";\n/**\n * The Fabric MessageBar Element definition.\n *\n * @public\n * @remarks\n * HTML Element: `<fabric-message-bar>`\n */\nexport const definition = MessageBar.compose({\n name: `${DesignSystem.prefix}-message-bar`,\n template: MessageBarTemplate,\n styles: MessageBarStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=message-bar.definition.js.map","import { MenuButton as FluentMenuButton } from \"@fluentui/web-components\";\n/**\n * MenuButton\n * @summary A MenuButton component that extends Fluent UI's MenuButton with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-menu-button appearance=\"primary\" shape=\"rounded\" size=\"large\">\n * <span slot=\"start\">🚀</span>\n * Menu\n * <span slot=\"end\"></span>\n * </fabric-menu-button>\n * ```\n *\n * @attr {MenuButtonAppearances | undefined} appearance - Indicates the styled appearance of the button.\n * @attr {MenuButtonShape | undefined} shape - The shape of the button.\n * @attr {MenuButtonSize | undefined} size - The size of the button.\n * @attr {boolean | undefined} icon-only - Indicates that the button should only display as an icon with no text content.\n * @attr {boolean | undefined} autofocus - Indicates the button should be focused when the page is loaded.\n * @attr {boolean | undefined} disabled-focusable - Indicates that the button is focusable while disabled.\n * @attr {number | undefined} tabindex - Sets that the button tabindex attribute.\n * @attr {string | undefined} formaction - The URL that processes the form submission.\n * @attr {string | undefined} form - The id of a form to associate the element to.\n * @attr {string | undefined} formenctype - The encoding type for the form submission.\n * @attr {string | undefined} formmethod - The HTTP method that the browser uses to submit the form.\n * @attr {boolean | undefined} formnovalidate - Indicates that the form will not be validated when submitted.\n * @attr {string | undefined} formtarget - The target frame or window to open the form submission in.\n * @attr {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @attr {string | undefined} type - The button type.\n * @attr {string | undefined} value - The value attribute.\n *\n * @prop {MenuButtonAppearances | undefined} appearance - Indicates the styled appearance of the button.\n * @prop {MenuButtonShape | undefined} shape - The shape of the button.\n * @prop {MenuButtonSize | undefined} size - The size of the button.\n * @prop {boolean | undefined} iconOnly - Indicates that the button should only display as an icon with no text content.\n * @prop {boolean | undefined} autofocus - Indicates the button should be focused when the page is loaded.\n * @prop {boolean | undefined} disabledFocusable - Indicates that the button is focusable while disabled.\n * @prop {number | undefined} tabindex - Sets that the button tabindex attribute.\n * @prop {string | undefined} formaction - The URL that processes the form submission.\n * @prop {string | undefined} form - The id of a form to associate the element to.\n * @prop {string | undefined} formenctype - The encoding type for the form submission.\n * @prop {string | undefined} formmethod - The HTTP method that the browser uses to submit the form.\n * @prop {boolean | undefined} formnovalidate - Indicates that the form will not be validated when submitted.\n * @prop {string | undefined} formtarget - The target frame or window to open the form submission in.\n * @prop {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @prop {string | undefined} type - The button type.\n * @prop {string | undefined} value - The value attribute.\n *\n * @slot start - Content which can be provided before the button content.\n * @slot end - Content which can be provided after the button content.\n * @slot - The default slot for button content.\n *\n * @csspart content - The button content container.\n *\n * @cssprop --icon-spacing - Custom property defined in component styles\n *\n * @method keypressHandler - Handles keypress events for the button.\n * @method press - Programmatically presses the button.\n * @method resetForm - Resets the associated form.\n *\n * @extends FluentMenuButton\n * @tagname fabric-menu-button\n * @public\n */\nexport class MenuButton extends FluentMenuButton {\n}\n//# sourceMappingURL=menu-button.js.map","import { ButtonAppearance, ButtonShape, ButtonSize } from \"@fluentui/web-components\";\n/**\n * Menu Button Appearance constants\n * @public\n */\nexport const MenuButtonAppearances = ButtonAppearance;\n/**\n * A Menu Button can be square, circular or rounded.\n * @public\n */\nexport const MenuButtonShapes = ButtonShape;\n/**\n * A Menu Button can be a size of small, medium or large.\n * @public\n */\nexport const MenuButtonSizes = ButtonSize;\n//# sourceMappingURL=menu-button.options.js.map","/**\n * Menu Button definition\n *\n * Uses Fluent UI's MenuButtonTemplate which includes the chevron icon,\n * rather than a custom template, to maintain consistency with Fluent UI.\n */\nimport { MenuButtonStyles, MenuButtonTemplate } from \"@fluentui/web-components\";\nimport { MenuButton } from \"./menu-button.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-menu-button>\n */\nexport const definition = MenuButton.compose({\n name: `${DesignSystem.prefix}-menu-button`,\n template: MenuButtonTemplate,\n styles: MenuButtonStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=menu-button.definition.js.map","import { css } from \"@microsoft/fast-element\";\nimport { display, forcedColorsStylesheetBehavior, borderRadiusMedium, colorCompoundBrandForeground1Pressed, colorNeutralBackground1, colorNeutralBackground1Hover, colorNeutralBackground1Selected, colorNeutralBackgroundDisabled, colorNeutralForeground2, colorNeutralForeground2Hover, colorNeutralForeground2Pressed, colorNeutralForeground3, colorNeutralForegroundDisabled, colorStatusDangerForeground1, colorStrokeFocus2, fontFamilyBase, fontSizeBase200, fontSizeBase300, fontWeightRegular, lineHeightBase200, lineHeightBase300, spacingHorizontalMNudge, spacingHorizontalXL, spacingHorizontalXS, spacingHorizontalXXS, strokeWidthThick } from \"@fluentui/web-components\";\nimport { sizeHorizontalXL, sizeVerticalXXXL } from \"@fabric-msft/theme\";\nimport { checkedState, dangerState, disabledState, submenuState } from \"../styles/states/states.js\";\n/** MenuItem styles\n * @public\n */\nexport const styles = css `\n ${display(\"grid\")}\n\n :host {\n --indent: 0;\n align-items: center;\n background: ${colorNeutralBackground1};\n border-radius: ${borderRadiusMedium};\n color: ${colorNeutralForeground2};\n contain: layout;\n cursor: pointer;\n /* Prevent shrinking of MenuItems when max-height is applied to MenuList */\n flex-shrink: 0;\n font: ${fontWeightRegular} ${fontSizeBase300} / ${lineHeightBase300}\n ${fontFamilyBase};\n grid-gap: ${spacingHorizontalXS};\n grid-template-columns: ${spacingHorizontalXL} ${spacingHorizontalXL} auto ${spacingHorizontalXL};\n height: ${sizeVerticalXXXL};\n overflow: visible;\n padding: 0 ${spacingHorizontalMNudge};\n }\n\n :host(:hover) {\n background: ${colorNeutralBackground1Hover};\n color: ${colorNeutralForeground2Hover};\n }\n\n :host(:active) {\n background-color: ${colorNeutralBackground1Selected};\n color: ${colorNeutralForeground2Pressed};\n }\n\n :host(:active) ::slotted([slot=\"start\"]) {\n color: ${colorCompoundBrandForeground1Pressed};\n }\n\n :host(${dangerState}) {\n color: ${colorStatusDangerForeground1};\n }\n\n :host(${dangerState}) ::slotted([slot=\"start\"]),\n :host(${dangerState}) ::slotted([slot=\"end\"]) {\n color: ${colorStatusDangerForeground1};\n }\n\n :host(${disabledState}) {\n background-color: ${colorNeutralBackgroundDisabled};\n color: ${colorNeutralForegroundDisabled};\n }\n\n :host(${disabledState}) ::slotted([slot=\"start\"]),\n :host(${disabledState}) ::slotted([slot=\"end\"]) {\n color: ${colorNeutralForegroundDisabled};\n }\n\n :host(:focus-visible) {\n border-radius: ${borderRadiusMedium};\n outline: ${strokeWidthThick} solid ${colorStrokeFocus2};\n }\n\n .content {\n white-space: nowrap; /* @design-token-ok: CSS property */\n flex-grow: 1;\n grid-column: auto / span 2;\n padding: 0 ${spacingHorizontalXXS};\n }\n\n :host(:not(${checkedState})) .indicator,\n :host(:not(${checkedState})) ::slotted([slot=\"indicator\"]),\n :host(:not(${submenuState})) .submenu-glyph,\n :host(:not(${submenuState})) ::slotted([slot=\"submenu-glyph\"]) {\n display: none;\n }\n\n ::slotted([slot=\"end\"]) {\n color: ${colorNeutralForeground3};\n font: ${fontWeightRegular} ${fontSizeBase200} / ${lineHeightBase200}\n ${fontFamilyBase};\n white-space: nowrap; /* @design-token-ok: CSS property */\n }\n\n :host([data-indent=\"1\"]) {\n --indent: 1;\n }\n\n :host([data-indent=\"2\"]) {\n --indent: 2;\n grid-template-columns: ${spacingHorizontalXL} ${spacingHorizontalXL} auto auto;\n }\n\n :host(${submenuState}) {\n grid-template-columns: ${spacingHorizontalXL} auto auto ${spacingHorizontalXL};\n }\n\n :host([data-indent=\"2\"]${submenuState}) {\n grid-template-columns: ${spacingHorizontalXL} ${spacingHorizontalXL} auto auto ${spacingHorizontalXL};\n }\n\n .indicator,\n ::slotted([slot=\"indicator\"]) {\n grid-column: 1 / span 1;\n width: ${sizeHorizontalXL};\n }\n\n ::slotted([slot=\"start\"]) {\n display: inline-flex;\n grid-column: calc(var(--indent)) / span 1;\n }\n\n .content {\n grid-column: calc(var(--indent) + 1) / span 1;\n }\n\n ::slotted([slot=\"end\"]) {\n grid-column: calc(var(--indent) + 2) / span 1;\n justify-self: end;\n }\n\n .submenu-glyph,\n ::slotted([slot=\"submenu-glyph\"]) {\n grid-column: -2 / span 1;\n justify-self: end;\n }\n\n @layer popover {\n :host {\n position: relative;\n }\n\n ::slotted([popover]) {\n margin: 0;\n max-height: var(--menu-max-height, auto);\n position: fixed;\n inset: auto;\n position-area: inline-end span-block-end;\n position-try-fallbacks: flip-inline;\n z-index: 1;\n }\n\n ::slotted([popover]:not(:popover-open)) {\n display: none;\n }\n\n ::slotted([popover]:popover-open) {\n inset: unset;\n }\n\n /* Fallback for no anchor-positioning */\n @supports not (anchor-name: --menu-trigger) {\n ::slotted([popover]) {\n position: absolute;\n align-self: start;\n }\n }\n }\n`.withBehaviors(forcedColorsStylesheetBehavior(css `\n :host(${disabledState}),\n :host(${disabledState}) ::slotted([slot=\"start\"]),\n :host(${disabledState}) ::slotted([slot=\"end\"]) {\n color: GrayText;\n }\n `));\n//# sourceMappingURL=menu-item.styles.js.map","import { html, slotted } from \"@microsoft/fast-element\";\nimport {} from \"./menu-item.js\";\nconst Checkmark16Filled = html.partial(`<svg class=\"indicator\" fill=\"currentColor\" aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.05 3.49c.28.3.27.77-.04 1.06l-7.93 7.47A.85.85 0 014.9 12L2.22 9.28a.75.75 0 111.06-1.06l2.24 2.27 7.47-7.04a.75.75 0 011.06.04z\" fill=\"currentColor\"></path></svg>`);\nconst chevronRight16Filled = html.partial(`<svg class=\"submenu-glyph\" fill=\"currentColor\" aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.74 3.2a.75.75 0 00-.04 1.06L9.23 8 5.7 11.74a.75.75 0 101.1 1.02l4-4.25a.75.75 0 000-1.02l-4-4.25a.75.75 0 00-1.06-.04z\" fill=\"currentColor\"></path></svg>`);\nexport function menuItemTemplate() {\n return html `\n <template>\n <slot name=\"indicator\">${Checkmark16Filled}</slot>\n <slot name=\"start\"></slot>\n <div part=\"content\" class=\"content\">\n <slot></slot>\n </div>\n <slot name=\"end\"></slot>\n <slot name=\"submenu-glyph\">${chevronRight16Filled}</slot>\n <slot name=\"submenu\" ${slotted({ property: \"slottedSubmenu\" })}></slot>\n </template>\n `;\n}\nexport const template = menuItemTemplate();\n//# sourceMappingURL=menu-item.template.js.map","import { MenuItem } from \"./menu-item.js\";\nimport { styles } from \"./menu-item.styles.js\";\nimport { template } from \"./menu-item.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-menu-item>\n */\nexport const definition = MenuItem.compose({\n name: `${DesignSystem.prefix}-menu-item`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\ndefinition.define(DesignSystem.registry);\n//# sourceMappingURL=menu-item.definition.js.map","import { css } from \"@microsoft/fast-element\";\nimport { borderRadiusMedium, colorNeutralBackground1, colorTransparentStroke, shadow16, display, spacingHorizontalXXXL, spacingHorizontalXS, spacingHorizontalXXS } from \"@fluentui/web-components\";\n/** MenuList styles\n * @public\n */\nexport const styles = css `\n ${display(\"flex\")}\n\n :host {\n flex-direction: column;\n height: fit-content;\n min-width: calc(${spacingHorizontalXXXL} * 5);\n width: auto;\n background-color: ${colorNeutralBackground1};\n border: 1px solid ${colorTransparentStroke};\n border-radius: ${borderRadiusMedium};\n box-shadow: ${shadow16};\n padding: ${spacingHorizontalXS};\n row-gap: ${spacingHorizontalXXS};\n }\n`;\n//# sourceMappingURL=menu-list.styles.js.map","import { html, slotted } from \"@microsoft/fast-element\";\nexport function menuTemplate() {\n return html `\n <template\n slot=\"${(x) => (x.slot ? x.slot : x.isNestedMenu() ? \"submenu\" : void 0)}\"\n @keydown=\"${(x, c) => x.handleMenuKeyDown(c.event)}\"\n @focusout=\"${(x, c) => x.handleFocusOut(c.event)}\"\n >\n <slot ${slotted(\"items\")}></slot>\n </template>\n `;\n}\nexport const template = menuTemplate();\n//# sourceMappingURL=menu-list.template.js.map","import { MenuList } from \"./menu-list.js\";\nimport { styles } from \"./menu-list.styles.js\";\nimport { template } from \"./menu-list.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-menu-list>\n */\nexport const definition = MenuList.compose({\n name: `${DesignSystem.prefix}-menu-list`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=menu-list.definition.js.map","import { RepositionModes } from \"../../util/positioning/index.js\";\n/**\n * The position variations for the menu component\n * @public\n */\nexport const MenuPositions = {\n above: \"above\",\n below: \"below\"\n};\n/**\n * Reposition modes for the menu\n * @public\n */\nexport const MenuRepositionModes = {\n auto: RepositionModes.auto,\n none: RepositionModes.none\n};\n//# sourceMappingURL=menu.options.js.map","import { MenuPositions } from \"./menu.options.js\";\nimport { FlexiblePositionStrategy } from \"../../util/positioning/index.js\";\n/**\n * Convert a menu positioning shorthand to a ConnectedPosition.\n * @internal\n */\nfunction menuShorthandToPosition(shorthand) {\n switch (shorthand) {\n case MenuPositions.above:\n return {\n originX: \"start\",\n originY: \"top\",\n overlayX: \"start\",\n overlayY: \"bottom\"\n };\n case MenuPositions.below:\n return {\n originX: \"start\",\n originY: \"bottom\",\n overlayX: \"start\",\n overlayY: \"top\"\n };\n default:\n return {\n originX: \"start\",\n originY: \"bottom\",\n overlayX: \"start\",\n overlayY: \"top\"\n };\n }\n}\n/**\n * Positioning manager for menu component.\n * Delegates all coordinate-based positioning to {@link FlexiblePositionStrategy}.\n * @internal\n */\nexport class MenuPositioning {\n set position(value) {\n this._position = value;\n }\n get position() {\n return this._position;\n }\n /**\n * Updates the overflow boundary reference used for collision detection.\n */\n setOverflowBoundaryReference(boundary) {\n this.overflowBoundaryReference = boundary !== null && boundary !== void 0 ? boundary : null;\n }\n constructor(options) {\n var _a;\n this.positionStrategy = null;\n this._position = MenuPositions.below;\n this.menuReference = options.menuReference;\n this.anchorReference = options.anchorReference;\n this.overflowBoundaryReference = (_a = options.overflowBoundaryReference) !== null && _a !== void 0 ? _a : null;\n }\n /**\n * Build the ordered list of candidate positions.\n * The original position is always the first entry, followed by fallbacks.\n */\n buildPositionCandidates() {\n const original = this._position;\n const allPositionValues = Object.values(MenuPositions);\n return [\n menuShorthandToPosition(original),\n ...allPositionValues\n .filter((s) => s !== original)\n .map((s) => menuShorthandToPosition(s))\n ];\n }\n /**\n * Create a new immutable FlexiblePositionStrategy from current state.\n * Returns null if required element references are not available.\n */\n createPositionStrategy() {\n if (!this.menuReference || !this.anchorReference) {\n return null;\n }\n // Top-layer elements (popover) have their containing block reset to the\n // viewport, so coordinates must remain viewport-relative (no offsetParent).\n return new FlexiblePositionStrategy({\n origin: this.anchorReference,\n overlay: this.menuReference,\n positions: this.buildPositionCandidates(),\n boundaryElement: this.overflowBoundaryReference,\n viewportMargin: 15,\n offsetParent: null,\n resize: true\n });\n }\n /**\n * Performs a combined resize + auto reposition.\n *\n * Delegates to the {@link FlexiblePositionStrategy}'s `reposition()` method,\n * which selects the best-fitting position from the original + fallbacks.\n * Converts the selected `ConnectedPosition` back to a menu shorthand.\n *\n * After repositioning, updates the internal position shorthand.\n *\n * @returns The reposition result, or `null` if not configured.\n */\n reposition() {\n this.positionStrategy = null;\n this.positionStrategy = this.createPositionStrategy();\n if (!this.positionStrategy) {\n return null;\n }\n const result = this.positionStrategy.reposition();\n if (!result) {\n return null;\n }\n // Determine whether the selected position is \"above\" by checking\n // the overlay attachment point directly.\n const selectedPos = result.positionResult.position;\n const isAbove = selectedPos.originY === \"top\" && selectedPos.overlayY === \"bottom\";\n this._position = isAbove ? MenuPositions.above : MenuPositions.below;\n return result;\n }\n}\n//# sourceMappingURL=menu.positioning.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { attr, FASTElement, observable, Updates } from \"@microsoft/fast-element\";\nimport { keyEnter, keyEscape, keySpace } from \"@microsoft/fast-web-utilities\";\nimport { MenuItem } from \"../menu-item/menu-item.js\";\nimport { MenuList } from \"../menu-list/menu-list.js\";\nimport { MenuPositions, MenuRepositionModes } from \"./menu.options.js\";\nimport { MenuPositioning } from \"./menu.positioning.js\";\nimport { createUniqueId } from \"../../util/hash-utilities.js\";\n/**\n * Menu\n * @summary A Menu component that provides an interactive menu interface with support for various trigger and open behaviors.\n *\n * When `reposition-mode=\"auto\"` is set the component creates a {@link MenuPositioning} manager backed by\n * `FlexiblePositionStrategy`. On every open/resize/scroll cycle the strategy measures available space, picks\n * the best-fitting position from the preferred position plus its fallbacks, and resizes the menu if there is\n * not enough available space. When `reposition-mode=\"none\"` (default) the same strategy positions the menu\n * once on open but does not reposition on resize or scroll. Supply `overflowBoundary` to scope collision\n * detection to a specific scrolling container instead of the viewport.\n *\n * @example\n * ```html\n * <fabric-menu open-on-hover=\"true\" open-on-context=\"true\" close-on-scroll=\"true\" persist-on-item-click=\"true\">\n * <div slot=\"trigger\">Menu Trigger</div>\n * <ul>\n * <li>Menu Item 1</li>\n * <li>Menu Item 2</li>\n * <li>Menu Item 3</li>\n * </ul>\n * </fabric-menu>\n * ```\n *\n * @attr {boolean | undefined} open-on-hover - Determines if the menu should open on hover.\n * @attr {boolean | undefined} open-on-context - Determines if the menu should open on right click.\n * @attr {boolean | undefined} close-on-scroll - Determines if the menu should close on scroll.\n * @attr {boolean | undefined} persist-on-item-click - Determines if the menu open state should persist on click of a menu item.\n * @attr {boolean | undefined} split - Determines if the menu is in split state (for split button pattern).\n * @attr {MenuPosition | undefined} menu-position - Determines whether the menu list is above or below the trigger. Defaults to `\"below\"`.\n * @attr {MenuRepositionMode | undefined} reposition-mode - Controls JS-based repositioning. `\"auto\"` enables\n * `FlexiblePositionStrategy` which detects collisions and flips the menu to the best-fitting position on\n * every resize/scroll cycle. `\"none\"` (default) disables JS repositioning and relies on CSS anchored positioning.\n *\n * @prop {boolean | undefined} openOnHover - Determines if the menu should open on hover.\n * @prop {boolean | undefined} openOnContext - Determines if the menu should open on right click.\n * @prop {boolean | undefined} closeOnScroll - Determines if the menu should close on scroll.\n * @prop {boolean | undefined} persistOnItemClick - Determines if the menu open state should persist on click of a menu item.\n * @prop {boolean | undefined} split - Determines if the menu is in split state.\n * @prop {MenuList[]} slottedMenuList - Holds the slotted menu list.\n * @prop {HTMLElement[]} slottedTriggers - Holds the slotted triggers.\n * @prop {MenuPosition | undefined} menuPosition - Reflects the active resolved position (`\"above\"` or `\"below\"`). May\n * differ from the authored `menu-position` attribute when `reposition-mode=\"auto\"` has flipped the menu.\n * @prop {MenuRepositionMode | undefined} repositionMode - The active repositioning mode (`\"auto\"` | `\"none\"`).\n * @prop {HTMLElement | undefined} overflowBoundary - An optional scrolling container used by the\n * `FlexiblePositionStrategy` as the collision boundary instead of the viewport. Only relevant when\n * `reposition-mode=\"auto\"`.\n *\n * @slot primary-action - Slot for the primary action element (used when split is true).\n * @slot trigger - Slot for the trigger element.\n * @slot - Default slot for the menu list.\n *\n * @csspart trigger - Represents the trigger element of the menu.\n * @csspart menu-list - Represents the menu list element.\n *\n * @method toggleMenu - Toggles the open state of the menu.\n * @method closeMenu - Closes the menu.\n * @method openMenu - Opens the menu.\n * @method focusMenuList - Focuses on the menu list.\n * @method focusTrigger - Focuses on the menu trigger.\n * @method menuKeydownHandler - Handles keyboard interaction for the menu.\n * @method triggerKeydownHandler - Handles keyboard interaction for the trigger.\n *\n * @fires toggle - Event fired when the menu is toggled.\n * @fires change - Event fired when the state of a menu item changes.\n *\n * @extends FASTElement\n * @tagname fabric-menu\n * @public\n */\nexport class Menu extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * The positioning instance for the menu.\n * @private\n */\n this.positioning = null;\n /**\n * Determines if the menu should open on hover.\n * @public\n */\n this.openOnHover = false;\n /**\n * Determines if the menu should open on right click.\n * @public\n */\n this.openOnContext = false;\n /**\n * Determines if the menu should close on scroll.\n * @public\n */\n this.closeOnScroll = false;\n /**\n * Determines if the menu open state should persis on click of menu item\n * @public\n */\n this.persistOnItemClick = false;\n /**\n * Determines if the menu is in split state (for split button pattern).\n * @public\n */\n this.split = false;\n /**\n * Determines whether the menu list is above or below the trigger.\n * @public\n */\n this.menuPosition = MenuPositions.below;\n /**\n * The mode for repositioning the menu when it overflows the boundary.\n *\n * Both modes render the menu list on the top layer via the popover API.\n *\n * - `\"none\"` (default) — uses CSS anchor positioning to keep the popover\n * attached to the trigger. No JS scroll/resize listeners are added.\n * The menu will not flip or resize to avoid overflow.\n * - `\"auto\"` — uses `FlexiblePositionStrategy` for JS-based positioning.\n * On every resize and scroll event the strategy measures available space,\n * picks the best-fitting position from the preferred position plus its\n * fallbacks, and resizes the menu if there is not enough available space.\n *\n * @public\n * @default \"none\"\n */\n this.repositionMode = MenuRepositionModes.none;\n /**\n * Holds the slotted menu list.\n * @public\n */\n this.slottedMenuList = [];\n /**\n * Holds the slotted triggers.\n * @public\n */\n this.slottedTriggers = [];\n /**\n * Defines whether the menu is open or not.\n * @internal\n */\n this._open = false;\n /**\n * Auto-generated CSS anchor name for tying the popover to the trigger\n * via CSS anchor positioning when `reposition-mode=\"none\"`.\n * @internal\n */\n this._anchorName = `--${createUniqueId(\"menu-anchor-\")}`;\n /**\n * Internal open handler used by multiple entry points.\n * @private\n */\n this.openMenuInternal = (e) => {\n if (this._open) {\n return;\n }\n if (this.repositionMode === MenuRepositionModes.auto) {\n this.createPositioningManager();\n this.scheduleReposition();\n this.addRepositioningHandlers();\n }\n this.setMenuOpenState(true);\n this.focusMenuList();\n if (e && this.openOnContext) {\n e.preventDefault();\n }\n document.addEventListener(\"click\", this.documentClickHandler);\n if (this.closeOnScroll) {\n document.addEventListener(\"scroll\", this.closeMenu);\n }\n };\n /**\n * Internal close handler used by multiple entry points.\n * @private\n */\n this.closeMenuInternal = () => {\n var _a;\n if (!this._open) {\n return;\n }\n // Close any open submenu popovers before hiding the menu list\n if (this._menuList instanceof MenuList && this._menuList.menuItems) {\n for (const item of this._menuList.menuItems) {\n if (item instanceof MenuItem) {\n try {\n (_a = item.submenu) === null || _a === void 0 ? void 0 : _a.hidePopover();\n }\n catch {\n /* already closed */\n }\n }\n }\n }\n this.setMenuOpenState(false);\n this.removeRepositioningListeners();\n document.removeEventListener(\"click\", this.documentClickHandler);\n if (this.closeOnScroll) {\n document.removeEventListener(\"scroll\", this.closeMenu);\n }\n };\n /**\n * Delegates resize + flip logic to the positioning strategy.\n * @private\n */\n this.repositionMenu = () => {\n var _a;\n if (!this.positioning || !this._menuList) {\n return;\n }\n this.positioning.position = (_a = this.menuPosition) !== null && _a !== void 0 ? _a : MenuPositions.below;\n this.positioning.reposition();\n };\n /**\n * Handler for window resize/scroll changes.\n * Called synchronously so the menu tracks the trigger without a frame of lag.\n * @private\n */\n this.handleWindowChanges = () => {\n if (!this._open) {\n return;\n }\n this.repositionMenu();\n };\n /**\n * Toggles the open state of the menu.\n * @public\n */\n this.toggleMenu = () => {\n this.setComponent();\n if (this._open) {\n this.closeMenuInternal();\n this.focusTrigger();\n }\n else {\n this.openMenuInternal();\n }\n };\n /**\n * Closes the menu.\n * @public\n */\n this.closeMenu = () => {\n this.closeMenuInternal();\n };\n /**\n * Opens the menu.\n * @public\n */\n this.openMenu = (e) => {\n this.openMenuInternal(e);\n };\n /**\n * Handles keyboard interaction for the trigger. Toggles the menu when the Space or Enter key is pressed.\n *\n * @param e - the keyboard event\n * @public\n */\n this.triggerKeydownHandler = (e) => {\n if (e.defaultPrevented) {\n return;\n }\n const key = e.key;\n switch (key) {\n case keySpace:\n case keyEnter:\n e.preventDefault();\n this.toggleMenu();\n break;\n default:\n return true;\n }\n };\n /**\n * Handles document click events to close the menu when clicking outside (light dismiss).\n * @internal\n * @param e - The event triggered on document click.\n */\n this.documentClickHandler = (e) => {\n if (!this._open) {\n return;\n }\n if (!e\n .composedPath()\n .some((el) => el === this._trigger || el === this._menuList)) {\n this.closeMenu();\n }\n };\n }\n /**\n * Handles changes to the menuPosition attribute.\n * Updates the positioning strategy and triggers a reposition if\n * the menu is currently open, without mutating the public attribute.\n * @public\n */\n menuPositionChanged() {\n var _a;\n if (this.positioning) {\n this.positioning.position = (_a = this.menuPosition) !== null && _a !== void 0 ? _a : MenuPositions.below;\n }\n if (this._open) {\n this.scheduleReposition();\n }\n }\n /**\n * Handles menu list slot changes.\n * @internal\n */\n slottedMenuListChanged() {\n this.setComponent();\n if (this._open) {\n this.scheduleReposition();\n }\n }\n /**\n * Handles trigger slot changes.\n * @internal\n */\n slottedTriggersChanged() {\n this.setComponent();\n if (this._open) {\n this.scheduleReposition();\n }\n }\n /**\n * Updates menu list open state and ARIA expanded.\n * @private\n */\n setMenuOpenState(isOpen) {\n var _a;\n this._open = isOpen;\n (_a = this._trigger) === null || _a === void 0 ? void 0 : _a.setAttribute(\"aria-expanded\", `${isOpen}`);\n if (this._menuList) {\n this._menuList.classList.toggle(\"menu-open\", isOpen);\n try {\n if (isOpen) {\n this._menuList.showPopover();\n }\n else {\n this._menuList.hidePopover();\n }\n }\n catch {\n // Ignore if popover state already matches\n }\n }\n }\n /**\n * Schedules a reposition on the next microtask.\n * @private\n */\n scheduleReposition() {\n Updates.enqueue(() => {\n this.repositionMenu();\n });\n }\n /**\n * Adds window event listeners.\n * @private\n */\n addWindowEventListeners() {\n window.addEventListener(\"resize\", this.handleWindowChanges);\n window.addEventListener(\"scroll\", this.handleWindowChanges, {\n passive: true\n });\n }\n /**\n * Removes window event listeners.\n * @private\n */\n removeWindowEventListeners() {\n window.removeEventListener(\"resize\", this.handleWindowChanges);\n window.removeEventListener(\"scroll\", this.handleWindowChanges);\n }\n /**\n * Adds overflow boundary event listeners.\n * @private\n */\n addOverflowBoundaryEventListeners() {\n if (this.overflowBoundary) {\n this.overflowBoundary.addEventListener(\"scroll\", this.handleWindowChanges, { passive: true });\n }\n }\n /**\n * Adds repositioning handlers.\n * @private\n */\n addRepositioningHandlers() {\n this.addWindowEventListeners();\n this.addOverflowBoundaryEventListeners();\n }\n /**\n * Creates the positioning manager.\n * @private\n */\n createPositioningManager() {\n if (this._menuList && this._trigger) {\n this.positioning = null;\n this.positioning = new MenuPositioning({\n menuReference: this._menuList,\n anchorReference: this._trigger,\n overflowBoundaryReference: this.overflowBoundary\n });\n }\n }\n /**\n * Clears inline position styles written by JS positioning so that\n * CSS anchor positioning rules can take effect.\n * @private\n */\n clearInlinePositionStyles() {\n if (this._menuList) {\n const s = this._menuList.style;\n s.left = \"\";\n s.right = \"\";\n s.top = \"\";\n s.bottom = \"\";\n s.maxHeight = \"\";\n s.overflow = \"\";\n }\n }\n /**\n * Removes repositioning event listeners.\n * @private\n */\n removeRepositioningListeners() {\n if (this._menuList) {\n this.removeWindowEventListeners();\n }\n if (this.overflowBoundary) {\n this.overflowBoundary.removeEventListener(\"scroll\", this.handleWindowChanges);\n }\n }\n /**\n * Called when the element is connected to the DOM.\n * @public\n */\n connectedCallback() {\n super.connectedCallback();\n Updates.enqueue(() => {\n this.setComponent();\n });\n }\n /**\n * Called when the element is disconnected from the DOM.\n * @public\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeListeners();\n this.removeRepositioningListeners();\n document.removeEventListener(\"click\", this.documentClickHandler);\n document.removeEventListener(\"scroll\", this.closeMenu);\n }\n /**\n * Sets the component.\n * @public\n */\n setComponent() {\n if (this.$fastController.isConnected &&\n this.slottedMenuList.length &&\n this.slottedTriggers.length) {\n this._trigger = this.slottedTriggers[0];\n this._menuList = this.slottedMenuList[0];\n this._trigger.setAttribute(\"aria-haspopup\", \"true\");\n this._trigger.setAttribute(\"aria-expanded\", `${this._open}`);\n this._menuList.setAttribute(\"data-menu-list\", \"\");\n this._menuList.setAttribute(\"popover\", \"manual\");\n // Preserve any existing anchor-name values (e.g. set by a fabric-tooltip)\n // so the trigger can serve as a CSS anchor for multiple positioned elements.\n const existingAnchorName = this._trigger.style.getPropertyValue(\"anchor-name\");\n this._trigger.style.anchorName = existingAnchorName\n ? `${existingAnchorName}, ${this._anchorName}`\n : this._anchorName;\n this._menuList.style.positionAnchor = this._anchorName;\n this.addListeners();\n }\n }\n /**\n * Focuses on the menu list.\n * @public\n */\n focusMenuList() {\n Updates.enqueue(() => {\n const list = this._menuList;\n list.focus();\n });\n }\n /**\n * Focuses on the menu trigger.\n * @public\n */\n focusTrigger() {\n Updates.enqueue(() => {\n this._trigger.focus();\n });\n }\n /**\n * Called whenever the 'openOnHover' property changes.\n *\n * @param oldValue - The previous value of 'openOnHover'.\n * @param newValue - The new value of 'openOnHover'.\n * @public\n */\n openOnHoverChanged(_oldValue, newValue) {\n var _a, _b;\n if (newValue) {\n (_a = this._trigger) === null || _a === void 0 ? void 0 : _a.addEventListener(\"mouseover\", this.openMenu);\n }\n else {\n (_b = this._trigger) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"mouseover\", this.openMenu);\n }\n }\n /**\n * Called whenever the 'persistOnItemClick' property changes.\n *\n * @public\n * @param oldValue - The previous value of 'persistOnItemClick'.\n * @param newValue - The new value of 'persistOnItemClick'.\n */\n persistOnItemClickChanged(_oldValue, newValue) {\n var _a, _b;\n if (!newValue) {\n (_a = this._menuList) === null || _a === void 0 ? void 0 : _a.addEventListener(\"change\", this.closeMenu);\n }\n else {\n (_b = this._menuList) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"change\", this.closeMenu);\n }\n }\n /**\n * Called whenever the 'repositionMode' property changes.\n *\n * @public\n * @param oldValue - The previous value of 'repositionMode'.\n * @param newValue - The new value of 'repositionMode'.\n */\n repositionModeChanged(_oldValue, newValue) {\n if (this._open) {\n if (newValue === MenuRepositionModes.auto) {\n if (!this.positioning) {\n this.createPositioningManager();\n }\n this.addRepositioningHandlers();\n this.scheduleReposition();\n }\n else {\n this.removeRepositioningListeners();\n this.clearInlinePositionStyles();\n }\n }\n }\n /**\n * Called whenever the 'overflowBoundary' property changes.\n *\n * @public\n */\n overflowBoundaryChanged(oldValue, newValue) {\n var _a;\n if (oldValue) {\n oldValue.removeEventListener(\"scroll\", this.handleWindowChanges);\n }\n if (this._open) {\n if (newValue) {\n newValue.addEventListener(\"scroll\", this.handleWindowChanges, {\n passive: true\n });\n }\n (_a = this.positioning) === null || _a === void 0 ? void 0 : _a.setOverflowBoundaryReference(newValue !== null && newValue !== void 0 ? newValue : null);\n this.scheduleReposition();\n }\n else if (this.positioning) {\n this.positioning.setOverflowBoundaryReference(newValue !== null && newValue !== void 0 ? newValue : null);\n }\n }\n /**\n * Called whenever the 'openOnContext' property changes.\n *\n * @public\n * @param oldValue - The previous value of 'openOnContext'.\n * @param newValue - The new value of 'openOnContext'.\n */\n openOnContextChanged(_oldValue, newValue) {\n var _a, _b;\n if (newValue) {\n (_a = this._trigger) === null || _a === void 0 ? void 0 : _a.addEventListener(\"contextmenu\", this.openMenu);\n }\n else {\n (_b = this._trigger) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"contextmenu\", this.openMenu);\n }\n }\n /**\n * Called whenever the 'closeOnScroll' property changes.\n *\n * @public\n * @param oldValue - The previous value of 'closeOnScroll'.\n * @param newValue - The new value of 'closeOnScroll'.\n */\n closeOnScrollChanged(_oldValue, newValue) {\n if (!this._open) {\n return;\n }\n if (newValue) {\n document.addEventListener(\"scroll\", this.closeMenu);\n }\n else {\n document.removeEventListener(\"scroll\", this.closeMenu);\n }\n }\n /**\n * Adds event listeners.\n *\n * @internal\n */\n addListeners() {\n var _a, _b, _c, _d, _e;\n (_a = this._trigger) === null || _a === void 0 ? void 0 : _a.addEventListener(\"keydown\", this.triggerKeydownHandler);\n if (!this.persistOnItemClick) {\n (_b = this._menuList) === null || _b === void 0 ? void 0 : _b.addEventListener(\"change\", this.closeMenu);\n }\n if (this.openOnHover) {\n (_c = this._trigger) === null || _c === void 0 ? void 0 : _c.addEventListener(\"mouseover\", this.openMenu);\n }\n else if (this.openOnContext) {\n (_d = this._trigger) === null || _d === void 0 ? void 0 : _d.addEventListener(\"contextmenu\", this.openMenu);\n }\n else {\n (_e = this._trigger) === null || _e === void 0 ? void 0 : _e.addEventListener(\"click\", this.toggleMenu);\n }\n }\n /**\n * Removes event listeners.\n *\n * @internal\n */\n removeListeners() {\n var _a, _b, _c, _d, _e;\n (_a = this._trigger) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"keydown\", this.triggerKeydownHandler);\n if (!this.persistOnItemClick) {\n (_b = this._menuList) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"change\", this.closeMenu);\n }\n if (this.openOnHover) {\n (_c = this._trigger) === null || _c === void 0 ? void 0 : _c.removeEventListener(\"mouseover\", this.openMenu);\n }\n if (this.openOnContext) {\n (_d = this._trigger) === null || _d === void 0 ? void 0 : _d.removeEventListener(\"contextmenu\", this.openMenu);\n }\n else {\n (_e = this._trigger) === null || _e === void 0 ? void 0 : _e.removeEventListener(\"click\", this.toggleMenu);\n }\n }\n /**\n * Handles keyboard interaction for the menu. Closes the menu and focuses on the trigger when the Escape key is pressed.\n *\n * @param e - the keyboard event\n * @public\n */\n menuKeydownHandler(e) {\n if (e.defaultPrevented) {\n return;\n }\n const key = e.key;\n switch (key) {\n case keyEscape:\n e.preventDefault();\n if (this._open) {\n this.closeMenuInternal();\n this.focusTrigger();\n }\n break;\n default:\n return true;\n }\n }\n}\n__decorate([\n attr({ attribute: \"open-on-hover\", mode: \"boolean\" })\n], Menu.prototype, \"openOnHover\", void 0);\n__decorate([\n attr({ attribute: \"open-on-context\", mode: \"boolean\" })\n], Menu.prototype, \"openOnContext\", void 0);\n__decorate([\n attr({ attribute: \"close-on-scroll\", mode: \"boolean\" })\n], Menu.prototype, \"closeOnScroll\", void 0);\n__decorate([\n attr({ attribute: \"persist-on-item-click\", mode: \"boolean\" })\n], Menu.prototype, \"persistOnItemClick\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], Menu.prototype, \"split\", void 0);\n__decorate([\n attr({ attribute: \"menu-position\" })\n], Menu.prototype, \"menuPosition\", void 0);\n__decorate([\n attr({ attribute: \"reposition-mode\" })\n], Menu.prototype, \"repositionMode\", void 0);\n__decorate([\n observable\n], Menu.prototype, \"overflowBoundary\", void 0);\n__decorate([\n observable\n], Menu.prototype, \"slottedMenuList\", void 0);\n__decorate([\n observable\n], Menu.prototype, \"slottedTriggers\", void 0);\n//# sourceMappingURL=menu.js.map","import { colorNeutralForegroundInverted, colorNeutralStroke1, display, strokeWidthThin } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\n/** Menu styles\n * @public\n */\nexport const styles = css `\n ${display(\"inline-block\")}\n\n :host {\n position: relative;\n }\n\n ::slotted([data-menu-list]) {\n margin: 0;\n max-height: var(--menu-max-height, auto);\n overflow-y: auto;\n position: absolute;\n inset-block-start: 100%;\n inset-inline-start: 0;\n z-index: 1;\n }\n\n ::slotted([data-menu-list][popover]) {\n position: fixed;\n inset: auto;\n }\n\n /* CSS anchor positioning for reposition-mode=\"none\" (default) */\n :host(:not([reposition-mode=\"auto\"])) ::slotted([data-menu-list][popover]) {\n inset-inline-start: anchor(start);\n inset-inline-end: auto;\n inset-block-start: anchor(bottom);\n inset-block-end: auto;\n }\n\n :host([menu-position=\"above\"]:not([reposition-mode=\"auto\"]))\n ::slotted([data-menu-list][popover]) {\n inset-block-start: auto;\n inset-block-end: anchor(top);\n }\n\n ::slotted([data-menu-list]:not(.menu-open)) {\n display: none;\n }\n\n /* Split button styles */\n :host([split]) {\n display: inline-flex;\n }\n\n :host([split]) ::slotted([slot=\"primary-action\"]) {\n border-inline-end: ${strokeWidthThin} solid ${colorNeutralStroke1};\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n z-index: 1;\n }\n\n /* Keeps focus visible visuals above trigger slot */\n :host([split]) ::slotted([slot=\"primary-action\"]:focus-visible) {\n z-index: 1;\n }\n\n :host([split]) ::slotted([slot=\"primary-action\"][appearance=\"primary\"]) {\n border-inline-end: ${strokeWidthThin} solid\n ${colorNeutralForegroundInverted};\n }\n\n :host([split]) ::slotted([slot=\"trigger\"]) {\n border-inline-start: 0;\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n`;\n//# sourceMappingURL=menu.styles.js.map","import { elements, html, slotted } from \"@microsoft/fast-element\";\nexport function menuTemplate() {\n return html `\n <template\n ?open-on-hover=\"${(x) => x.openOnHover}\"\n ?open-on-context=\"${(x) => x.openOnContext}\"\n ?close-on-scroll=\"${(x) => x.closeOnScroll}\"\n ?persist-on-item-click=\"${(x) => x.persistOnItemClick}\"\n ?split=\"${(x) => x.split}\"\n menu-position=\"${(x) => x.menuPosition}\"\n @keydown=\"${(x, c) => x.menuKeydownHandler(c.event)}\"\n >\n <slot name=\"primary-action\"></slot>\n <slot\n name=\"trigger\"\n ${slotted({ property: \"slottedTriggers\", filter: elements() })}\n ></slot>\n <slot\n ${slotted({ property: \"slottedMenuList\", filter: elements() })}\n ></slot>\n </template>\n `;\n}\nexport const template = menuTemplate();\n//# sourceMappingURL=menu.template.js.map","import { Menu } from \"./menu.js\";\nimport { styles } from \"./menu.styles.js\";\nimport { template } from \"./menu.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n *\n * @public\n * @remarks\n * HTML Element: <fabric-menu>\n */\nexport const definition = Menu.compose({\n name: `${DesignSystem.prefix}-menu`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=menu.definition.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { attr, FASTElement, observable } from \"@microsoft/fast-element\";\nimport { isDropdownOption } from \"../option/index.js\";\n/**\n * OptionGroup\n * @summary An OptionGroup Custom HTML Element that groups related options within a listbox or dropdown.\n * Implements semantics similar to the native {@link https://developer.mozilla.org/docs/Web/HTML/Element/optgroup | HTMLOptGroupElement}.\n *\n * @example\n * ```html\n * <fabric-listbox>\n * <fabric-option-group label=\"Fruits\">\n * <fabric-option value=\"apple\">Apple</fabric-option>\n * <fabric-option value=\"banana\">Banana</fabric-option>\n * </fabric-option-group>\n * <fabric-option-group label=\"Vegetables\" disabled>\n * <fabric-option value=\"carrot\">Carrot</fabric-option>\n * <fabric-option value=\"broccoli\">Broccoli</fabric-option>\n * </fabric-option-group>\n * </fabric-listbox>\n * ```\n *\n * @attr {string} label - The label for the option group, displayed as a non-selectable header.\n * @attr {boolean} disabled - When true, disables all options within this group.\n *\n * @prop {DropdownOption[]} options - The collection of child option elements.\n *\n * @slot - Default slot for fabric-option elements.\n *\n * @csspart label - The label element for the group header.\n *\n * @extends FASTElement\n * @tagname fabric-option-group\n * @public\n */\nexport class OptionGroup extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | ElementInternals} instance for the component.\n *\n * @internal\n */\n this.elementInternals = this.attachInternals();\n /**\n * The collection of slotted option elements.\n *\n * @internal\n */\n this.slottedOptions = [];\n }\n /**\n * Gets the collection of child option elements.\n *\n * @public\n */\n get options() {\n return this.slottedOptions.filter((el) => {\n return isDropdownOption(el);\n });\n }\n /**\n * Handles changes to the disabled attribute.\n * Updates the aria-disabled state on the element internals.\n *\n * @param prev - The previous disabled state.\n * @param next - The new disabled state.\n * @internal\n */\n disabledChanged(_prev, next) {\n this.elementInternals.ariaDisabled = next ? \"true\" : \"false\";\n }\n connectedCallback() {\n super.connectedCallback();\n this.elementInternals.role = \"group\";\n }\n /**\n * Handles changes to the label attribute.\n * Updates the aria-label for accessibility.\n *\n * @param _prev - The previous label.\n * @param next - The new label.\n * @internal\n */\n labelChanged(_prev, next) {\n this.elementInternals.ariaLabel = next !== null && next !== void 0 ? next : null;\n }\n}\n__decorate([\n attr\n], OptionGroup.prototype, \"label\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], OptionGroup.prototype, \"disabled\", void 0);\n__decorate([\n observable\n], OptionGroup.prototype, \"slottedOptions\", void 0);\n//# sourceMappingURL=option-group.js.map","import { css } from \"@microsoft/fast-element\";\nimport { colorNeutralBackground1, colorNeutralForeground3, colorNeutralForegroundDisabled, fontFamilyBase, fontSizeBase200, fontWeightSemibold, lineHeightBase200, spacingHorizontalM, spacingVerticalS, spacingVerticalXS } from \"@fluentui/web-components\";\n/**\n * Styles for the {@link @fabric-msft/fabric-web#(OptionGroup:class)} component.\n *\n * @public\n */\nexport const styles = css `\n :host {\n display: block;\n font-family: ${fontFamilyBase};\n }\n\n :host([hidden]) {\n display: none;\n }\n\n .label {\n color: ${colorNeutralForeground3};\n font-size: ${fontSizeBase200};\n font-weight: ${fontWeightSemibold};\n line-height: ${lineHeightBase200};\n padding-block: ${spacingVerticalXS};\n padding-inline: ${spacingHorizontalM};\n user-select: none;\n cursor: default;\n }\n\n :host([disabled]) .label {\n color: ${colorNeutralForegroundDisabled};\n }\n\n :host([disabled]) ::slotted(*) {\n color: ${colorNeutralForegroundDisabled};\n background-color: ${colorNeutralBackground1};\n cursor: default;\n }\n\n .options {\n display: flex;\n flex-direction: column;\n padding-block-end: ${spacingVerticalS};\n }\n`;\n//# sourceMappingURL=option-group.styles.js.map","import { html, slotted } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(OptionGroup:class)} component.\n *\n * @public\n */\nexport function optionGroupTemplate() {\n return html `\n <template ?disabled=\"${(x) => x.disabled}\">\n <div class=\"label\">${(x) => x.label}</div>\n <div class=\"options\" role=\"presentation\">\n <slot ${slotted(\"slottedOptions\")}></slot>\n </div>\n </template>\n `;\n}\nexport const template = optionGroupTemplate();\n//# sourceMappingURL=option-group.template.js.map","import { DesignSystem } from \"../design-system.js\";\nimport { OptionGroup } from \"./option-group.js\";\nimport { styles } from \"./option-group.styles.js\";\nimport { template } from \"./option-group.template.js\";\n/**\n * The Fabric OptionGroup Element definition.\n *\n * @public\n * @remarks\n * HTML Element: `<fabric-option-group>`\n */\nexport const definition = OptionGroup.compose({\n name: `${DesignSystem.prefix}-option-group`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=option-group.definition.js.map","import { ProgressBar as FluentProgressBar } from \"@fluentui/web-components\";\n/**\n * ProgressBar\n * @summary A custom progress bar element with customizable thickness, shape, and validation states.\n *\n * @example\n * ```html\n * <fabric-progress-bar thickness=\"large\" shape=\"rounded\" validation-state=\"success\"></fabric-progress-bar>\n * ```\n *\n * @attr {ProgressBarThickness} thickness - The thickness of the progress bar. Possible values are 'medium' and 'large'.\n * @attr {ProgressBarShape} shape - The shape of the progress bar. Possible values are 'rounded' and 'square'.\n * @attr {ProgressBarValidationState} validation-state - The validation state of the progress bar. Possible values are 'success', 'warning', and 'error'.\n *\n * @prop {ProgressBarThickness} thickness - The thickness of the progress bar. Possible values are 'medium' and 'large'.\n * @prop {ProgressBarShape} shape - The shape of the progress bar. Possible values are 'rounded' and 'square'.\n * @prop {ProgressBarValidationState} validationState - The validation state of the progress bar. Possible values are 'success', 'warning', and 'error'.\n *\n * @csspart indicator - The progress bar indicator.\n *\n * @cssprop --indicator-width - Computed percentage width of the progress indicator, based on the current value, min, and max.\n * @cssprop --max - CSS variable reflecting the max attribute value. Defaults to 100.\n * @cssprop --min - CSS variable reflecting the min attribute value. Defaults to 0.\n * @cssprop --value - CSS variable reflecting the current value attribute. Defaults to 0.\n *\n * @extends FluentProgressBar\n * @tagname fabric-progress-bar\n * @public\n */\nexport class ProgressBar extends FluentProgressBar {\n}\n//# sourceMappingURL=progress-bar.js.map","import { ProgressBar } from \"./progress-bar.js\";\nimport { ProgressBarStyles, ProgressBarTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Progress Bar component.\n *\n * @public\n */\nexport const definition = ProgressBar.compose({\n name: `${DesignSystem.prefix}-progress-bar`,\n template: ProgressBarTemplate,\n styles: ProgressBarStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=progress-bar.definition.js.map","import { ProgressBarShape as FluentProgressBarShapeBase, ProgressBarThickness as FluentProgressBarThicknessBase, ProgressBarValidationState as FluentProgressBarValidationStateBase } from \"@fluentui/web-components\";\n/** Shape values for {@link ProgressBar}. */\nexport const ProgressBarShapes = { ...FluentProgressBarShapeBase };\n/** Thickness values for {@link ProgressBar}. */\nexport const ProgressBarThicknesses = {\n ...FluentProgressBarThicknessBase\n};\n/** Validation state values for {@link ProgressBar}. */\nexport const ProgressBarValidationStates = {\n ...FluentProgressBarValidationStateBase\n};\n//# sourceMappingURL=progress-bar.options.js.map","import { RadioGroup as FluentRadioGroup } from \"@fluentui/web-components\";\n/**\n * RadioGroup\n * @summary A custom Radio Group element based on Fluent UI's RadioGroup with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-radio-group name=\"group1\" orientation=\"horizontal\">\n * <fabric-radio value=\"option1\">Option 1</fabric-radio>\n * <fabric-radio value=\"option2\">Option 2</fabric-radio>\n * <fabric-radio value=\"option3\">Option 3</fabric-radio>\n * </fabric-radio-group>\n * ```\n *\n * @attr {boolean} disabled - Disables the radio group and child radios.\n * @attr {string} value - The value of the checked radio.\n * @attr {string} name - The name of the radio group.\n * @attr {RadioGroupOrientation} orientation - The orientation of the group.\n * @attr {boolean} required - Indicates whether the radio group is required.\n *\n * @prop {boolean} disabled - Disables the radio group and child radios.\n * @prop {string} value - The value of the checked radio.\n * @prop {string} name - The name of the radio group.\n * @prop {RadioGroupOrientation} orientation - The orientation of the group.\n * @prop {boolean} required - Indicates whether the radio group is required.\n *\n * @slot - The default slot for the radio group.\n *\n * @method initialValueChanged - Sets the matching radio to checked when the value changes.\n * @method radiosChanged - Updates the enabled radios collection when properties on the child radios change.\n * @method requiredChanged - Called when the required property changes.\n * @method changeHandler - Sets the checked state of all radios when any radio emits a `change` event.\n * @method checkValidity - Checks the validity of the element and returns the result.\n * @method formResetCallback - Resets the radio group to its initial state during a form reset.\n * @method reportValidity - Reports the validity of the element.\n *\n * @fires change - Emits when the checked radio changes.\n *\n * @extends FASTElement\n * @tagname fabric-radio-group\n * @public\n */\nexport class RadioGroup extends FluentRadioGroup {\n}\n//# sourceMappingURL=radio-group.js.map","import { RadioGroupOrientation as FluentRadioGroupOrientation } from \"@fluentui/web-components\";\n/** Orientation values for {@link RadioGroup}. */\nexport const RadioGroupOrientations = {\n ...FluentRadioGroupOrientation\n};\n/**\n * Radio group event names.\n */\nexport const RadioGroupEventNames = {\n change: \"change\"\n};\n//# sourceMappingURL=radio-group.options.js.map","import { RadioGroupStyles, RadioGroupTemplate } from \"@fluentui/web-components\";\nimport { RadioGroup } from \"./radio-group.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Radio Group component.\n *\n * @public\n */\nexport const definition = RadioGroup.compose({\n name: `${DesignSystem.prefix}-radio-group`,\n template: RadioGroupTemplate,\n styles: RadioGroupStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=radio-group.definition.js.map","import { Radio as FluentRadio } from \"@fluentui/web-components\";\n/**\n * Radio\n * @summary A Radio Custom HTML Element based on Fluent UI's Radio with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-radio name=\"group1\" value=\"option1\" checked>\n * Option 1\n * </fabric-radio>\n * <fabric-radio name=\"group1\" value=\"option2\">\n * Option 2\n * </fabric-radio>\n * ```\n *\n * @attr {boolean} autofocus - Indicates that the element should get focus after the page finishes loading.\n * @attr {boolean} disabled - The initial disabled state of the control.\n * @attr {string} form - The id of a form to associate the element to.\n * @attr {boolean} checked - The initial checked state of the element.\n * @attr {string} value - The initial value of the input.\n * @attr {string} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n *\n * @prop {boolean} autofocus - Indicates that the element should get focus after the page finishes loading.\n * @prop {boolean} disabled - The initial disabled state of the control.\n * @prop {string} form - The id of a form to associate the element to.\n * @prop {boolean} checked - The initial checked state of the element.\n * @prop {string} value - The initial value of the input.\n * @prop {string} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n *\n * @slot checked-indicator - Custom slot for the checked indicator.\n *\n * @csspart checked-indicator - The checked state indicator of the radio.\n * @cssprop --size - Controls the size of the radio control.\n *\n * @method toggleChecked - Toggles the checked state of the control.\n * @method checkValidity - Checks the validity of the element and returns the result.\n * @method reportValidity - Reports the validity of the element.\n * @method setCustomValidity - Sets a custom validity message.\n *\n * @fires change - Emits a custom change event when the checked state changes\n * @fires input - Emits a custom input event when the checked state changes\n * @fires disabled - Emits a custom event when the disabled state changes\n *\n * @extends FluentRadio\n * @tagname fabric-radio\n * @public\n */\nexport class Radio extends FluentRadio {\n}\n//# sourceMappingURL=radio.js.map","import { Radio } from \"./radio.js\";\nimport { RadioStyles, RadioTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Radio component.\n *\n * @public\n */\nexport const definition = Radio.compose({\n name: `${DesignSystem.prefix}-radio`,\n template: RadioTemplate,\n styles: RadioStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=radio.definition.js.map","import { RatingDisplay as FluentRatingDisplay } from \"@fluentui/web-components\";\n/**\n * RatingDisplay\n * @summary A Rating Display Custom HTML Element. Based on FluentRatingDisplay and includes style and layout specific attributes.\n *\n * @example\n * ```html\n * <fabric-rating-display color=\"marigold\" size=\"large\" compact>\n * <svg slot=\"icon\" viewBox=\"0 0 20 20\"><use href=\"#star\"></use></svg>\n * <span slot=\"value\">4.5</span>\n * <span slot=\"count\">(10)</span>\n * </fabric-rating-display>\n * ```\n *\n * @attr {RatingDisplayColor | undefined} color - The color of the rating display icons. Default: `marigold`\n * @attr {RatingDisplaySize | undefined} size - The size of the component. Default: 'medium'\n * @attr {boolean | undefined} compact - Renders a single filled icon with a label next to it. Default: false\n *\n * @prop {boolean} compact - Renders a single filled icon with a label next to it. Default: false\n *\n * @slot icon - SVG element used as the rating icon. Default: star symbol.\n * @slot value - Displays the value of the rating.\n * @slot count - Displays the number of ratings.\n *\n * @cssprop --_attr-max - Internal max value derived from the max attribute.\n * @cssprop --_attr-value - Internal value derived from the value attribute.\n * @cssprop --_default-max - Default max fallback used when no attribute is set.\n * @cssprop --_default-value - Default value fallback used when no attribute is set.\n * @cssprop --_icon-color-empty - Color for empty (unfilled) icons.\n * @cssprop --_icon-color-value - Color for the filled icon portion.\n * @cssprop --_icon-gradient-degree - Gradient angle used for partial fill rendering.\n * @cssprop --_icon-gradient-stop - Primary gradient stop for partial fill.\n * @cssprop --_icon-gradient-stop-visual-adjustment - Adjustment applied to the gradient stop to align visuals.\n * @cssprop --_icon-size - Computed icon size used for layout.\n * @cssprop --_mask-image-filled - Mask image for the filled icon state.\n * @cssprop --_mask-image-outlined - Mask image for the outlined icon state.\n * @cssprop --_mask-inline-size - Inline size of the mask image.\n * @cssprop --_mask-position-x - Horizontal mask position used for partial fill.\n * @cssprop --_max - Computed max value used in layout calculations.\n * @cssprop --_value - Computed current value used in layout calculations.\n *\n * @extends FluentRatingDisplay\n * @tagname fabric-rating-display\n * @public\n */\nexport class RatingDisplay extends FluentRatingDisplay {\n}\n//# sourceMappingURL=rating-display.js.map","import { RatingDisplay } from \"./rating-display.js\";\nimport { RatingDisplayStyles, RatingDisplayTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * @public\n * @remarks\n * HTML Element: <fabric-rating-display>\n */\nexport const definition = RatingDisplay.compose({\n name: `${DesignSystem.prefix}-rating-display`,\n template: RatingDisplayTemplate,\n styles: RatingDisplayStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=rating-display.definition.js.map","import { RatingDisplayColor as FluentRatingDisplayColor, RatingDisplaySize as FluentRatingDisplaySize } from \"@fluentui/web-components\";\n/** Color values for {@link RatingDisplay}. */\nexport const RatingDisplayColors = { ...FluentRatingDisplayColor };\n/** Size values for {@link RatingDisplay}. */\nexport const RatingDisplaySizes = { ...FluentRatingDisplaySize };\n//# sourceMappingURL=rating-display.options.js.map","/**\n * Values for the `control-size` attribute on TextInput elements.\n *\n * @public\n */\nexport const TextInputControlSizes = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\"\n};\n/**\n * Values for the `appearance` attribute on TextInput elements.\n *\n * @public\n */\nexport const TextInputAppearances = {\n outline: \"outline\",\n underline: \"underline\",\n filledLighter: \"filled-lighter\",\n filledDarker: \"filled-darker\"\n};\n/**\n * Values for the `type` attribute on TextInput elements.\n *\n * @public\n */\nexport const TextInputTypes = {\n email: \"email\",\n password: \"password\",\n number: \"number\",\n tel: \"tel\",\n text: \"text\",\n url: \"url\"\n};\n/**\n * Input types that block implicit form submission.\n *\n * @public\n */\nexport const ImplicitSubmissionBlockingTypes = [\n \"date\",\n \"datetime-local\",\n \"email\",\n \"month\",\n \"number\",\n \"password\",\n \"search\",\n \"tel\",\n \"text\",\n \"time\",\n \"url\",\n \"week\"\n];\n//# sourceMappingURL=text-input.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { attr, FASTElement, nullableNumberConverter, Observable, observable } from \"@microsoft/fast-element\";\nimport { ImplicitSubmissionBlockingTypes, TextInputTypes } from \"./text-input.options.js\";\n/**\n * A Text Input Custom HTML Element.\n * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input | `<input>`} element.\n *\n * @slot start - Content which can be provided before the input\n * @slot end - Content which can be provided after the input\n * @slot - The default slot for button content\n * @csspart label - The internal `<label>` element\n * @csspart root - the root container for the internal control\n * @csspart control - The internal `<input>` control\n * @public\n */\nexport class BaseTextInput extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * Allows setting a type or mode of text.\n *\n * @public\n * @remarks\n * HTML Attribute: `type`\n */\n this.type = TextInputTypes.text;\n /**\n * Indicates that the value has been changed by the user.\n *\n * @internal\n */\n this.dirtyValue = false;\n /**\n * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.\n *\n * @internal\n */\n this.elementInternals = this.attachInternals();\n }\n /**\n * Tracks the current value of the input.\n *\n * @param prev - the previous value\n * @param next - the next value\n *\n * @internal\n */\n currentValueChanged(_prev, next) {\n this.value = next;\n }\n /**\n * Updates the control label visibility based on the presence of default slotted content.\n *\n * @internal\n */\n defaultSlottedNodesChanged(_prev, next) {\n if (this.$fastController.isConnected) {\n this.controlLabel.hidden = !(next === null || next === void 0 ? void 0 : next.length);\n }\n }\n /**\n * Sets the value of the element to the initial value.\n *\n * @internal\n */\n initialValueChanged() {\n if (!this.dirtyValue) {\n this.value = this.initialValue;\n }\n }\n /**\n * Syncs the `ElementInternals.ariaReadOnly` property when the `readonly` property changes.\n *\n * @internal\n */\n readOnlyChanged() {\n if (this.$fastController.isConnected) {\n this.elementInternals.ariaReadOnly = `${!!this.readOnly}`;\n }\n }\n /**\n * Syncs the element's internal `aria-required` state with the `required` attribute.\n *\n * @param previous - the previous required state\n * @param next - the current required state\n *\n * @internal\n */\n requiredChanged(_previous, next) {\n if (this.$fastController.isConnected) {\n this.elementInternals.ariaRequired = `${!!next}`;\n }\n }\n /**\n * Calls the `setValidity` method when the control reference changes.\n *\n * @param prev - the previous control reference\n * @param next - the current control reference\n *\n * @internal\n */\n controlChanged(_prev, _next) {\n this.setValidity();\n }\n /**\n * The element's validity state.\n *\n * @public\n * @remarks\n * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/validity | `ElementInternals.validity`} property.\n */\n get validity() {\n return this.elementInternals.validity;\n }\n /**\n * The validation message.\n *\n * @public\n * @remarks\n * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/validationMessage | `ElementInternals.validationMessage`} property.\n */\n get validationMessage() {\n return (this.elementInternals.validationMessage || this.control.validationMessage);\n }\n /**\n * The current value of the input.\n * @public\n */\n get value() {\n Observable.track(this, \"value\");\n return this.currentValue;\n }\n set value(value) {\n this.currentValue = value;\n if (this.$fastController.isConnected) {\n this.control.value = value !== null && value !== void 0 ? value : \"\";\n this.setFormValue(value);\n this.setValidity();\n Observable.notify(this, \"value\");\n }\n }\n /**\n * Determines if the control can be submitted for constraint validation.\n *\n * @public\n * @remarks\n * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/willValidate | `ElementInternals.willValidate`} property.\n */\n get willValidate() {\n return this.elementInternals.willValidate;\n }\n /**\n * The associated form element.\n *\n * @public\n * @remarks\n * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/form | `ElementInternals.form`} property.\n */\n get form() {\n return this.elementInternals.form;\n }\n /**\n * Handles the internal control's `keypress` event.\n *\n * @internal\n */\n beforeinputHandler(e) {\n if (e.inputType === \"insertLineBreak\") {\n this.implicitSubmit();\n }\n return true;\n }\n /**\n * Change event handler for inner control.\n *\n * @internal\n * @privateRemarks\n * \"Change\" events are not `composable` so they will not permeate the shadow DOM boundary. This function effectively\n * proxies the change event, emitting a `change` event whenever the internal control emits a `change` event.\n */\n changeHandler(e) {\n this.setValidity();\n this.$emit(\"change\", e, {\n bubbles: true,\n composed: true\n });\n return true;\n }\n /**\n * Checks the validity of the element and returns the result.\n *\n * @public\n * @remarks\n * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/checkValidity | `HTMLInputElement.checkValidity()`} method.\n */\n checkValidity() {\n return this.elementInternals.checkValidity();\n }\n /**\n * Clicks the inner control when the component is clicked.\n *\n * @param e - the event object\n */\n clickHandler(e) {\n var _a;\n if (e.target === this) {\n (_a = this.control) === null || _a === void 0 ? void 0 : _a.click();\n }\n return true;\n }\n connectedCallback() {\n super.connectedCallback();\n this.setFormValue(this.value);\n this.setValidity();\n }\n /**\n * Focuses the inner control when the component is focused.\n *\n * @param e - the event object\n * @public\n */\n focusinHandler(e) {\n var _a;\n if (e.target === this) {\n (_a = this.control) === null || _a === void 0 ? void 0 : _a.focus();\n }\n return true;\n }\n /**\n * Resets the value to its initial value when the form is reset.\n *\n * @internal\n */\n formResetCallback() {\n this.value = this.initialValue;\n this.dirtyValue = false;\n }\n /**\n * Handles implicit form submission when the user presses the \"Enter\" key.\n *\n * @internal\n */\n implicitSubmit() {\n if (!this.elementInternals.form) {\n return;\n }\n if (this.elementInternals.form.elements.length === 1) {\n this.elementInternals.form.requestSubmit();\n return;\n }\n const formElements = Array.from(this.elementInternals.form.elements);\n // Try submitting with the first submit button, if any\n const submitButton = formElements.find((x) => x.getAttribute(\"type\") === \"submit\");\n if (submitButton) {\n submitButton.click();\n return;\n }\n // Determine if there is only one implicit submission blocking element\n const filteredElements = formElements.filter((x) => { var _a; return ImplicitSubmissionBlockingTypes.includes((_a = x.getAttribute(\"type\")) !== null && _a !== void 0 ? _a : \"\"); });\n if (filteredElements.length > 1) {\n return;\n }\n this.elementInternals.form.requestSubmit();\n }\n /**\n * Handles the internal control's `input` event.\n *\n * @internal\n */\n inputHandler(_e) {\n this.dirtyValue = true;\n this.value = this.control.value;\n return true;\n }\n /**\n * Handles the internal control's `keydown` event.\n *\n * @param e - the event object\n * @internal\n */\n keydownHandler(e) {\n if (e.key === \"Enter\") {\n this.implicitSubmit();\n }\n return true;\n }\n /**\n * Selects all the text in the text field.\n *\n * @public\n * @privateRemarks\n * The `select` event does not permeate the shadow DOM boundary. This function effectively proxies the event,\n * emitting a `select` event whenever the internal control emits a `select` event\n *\n */\n select() {\n this.control.select();\n this.$emit(\"select\");\n }\n /**\n * Sets the custom validity message.\n * @param message - The message to set\n *\n * @public\n */\n setCustomValidity(message) {\n this.elementInternals.setValidity({ customError: true }, message);\n this.reportValidity();\n }\n /**\n * Reports the validity of the element.\n *\n * @public\n * @remarks\n * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/reportValidity | `HTMLInputElement.reportValidity()`} method.\n */\n reportValidity() {\n return this.elementInternals.reportValidity();\n }\n /**\n * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/setFormValue | `ElementInternals.setFormValue()`} method.\n *\n * @internal\n */\n setFormValue(value, state) {\n this.elementInternals.setFormValue(value, value !== null && value !== void 0 ? value : state);\n }\n /**\n * Sets the validity of the control.\n *\n * @param flags - Validity flags. If not provided, the control's `validity` will be used.\n * @param message - Optional message to supply. If not provided, the control's `validationMessage` will be used. If the control does not have a `validationMessage`, the message will be empty.\n * @param anchor - Optional anchor to use for the validation message. If not provided, the control will be used.\n *\n * @internal\n */\n setValidity(flags, message, anchor) {\n if (this.$fastController.isConnected && this.control) {\n if (this.disabled) {\n this.elementInternals.setValidity({});\n return;\n }\n this.elementInternals.setValidity(flags !== null && flags !== void 0 ? flags : this.control.validity, message !== null && message !== void 0 ? message : this.validationMessage, anchor !== null && anchor !== void 0 ? anchor : this.control);\n }\n }\n}\n/**\n * The form-associated flag.\n * @see {@link https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-face-example | Form-associated custom elements}\n *\n * @public\n */\nBaseTextInput.formAssociated = true;\n__decorate([\n attr\n], BaseTextInput.prototype, \"autocomplete\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], BaseTextInput.prototype, \"autofocus\", void 0);\n__decorate([\n attr({ attribute: \"current-value\" })\n], BaseTextInput.prototype, \"currentValue\", void 0);\n__decorate([\n observable\n], BaseTextInput.prototype, \"defaultSlottedNodes\", void 0);\n__decorate([\n attr\n], BaseTextInput.prototype, \"dirname\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], BaseTextInput.prototype, \"disabled\", void 0);\n__decorate([\n attr({ attribute: \"form\" })\n], BaseTextInput.prototype, \"formAttribute\", void 0);\n__decorate([\n attr({ attribute: \"value\", mode: \"fromView\" })\n], BaseTextInput.prototype, \"initialValue\", void 0);\n__decorate([\n attr\n], BaseTextInput.prototype, \"list\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], BaseTextInput.prototype, \"maxlength\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], BaseTextInput.prototype, \"minlength\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], BaseTextInput.prototype, \"multiple\", void 0);\n__decorate([\n attr\n], BaseTextInput.prototype, \"name\", void 0);\n__decorate([\n attr\n], BaseTextInput.prototype, \"pattern\", void 0);\n__decorate([\n attr\n], BaseTextInput.prototype, \"placeholder\", void 0);\n__decorate([\n attr({ attribute: \"readonly\", mode: \"boolean\" })\n], BaseTextInput.prototype, \"readOnly\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], BaseTextInput.prototype, \"required\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], BaseTextInput.prototype, \"size\", void 0);\n__decorate([\n attr({\n converter: {\n fromView: (value) => typeof value === \"string\"\n ? [\"true\", \"\"].includes(value.trim().toLowerCase())\n : null,\n toView: (value) => value.toString()\n }\n })\n], BaseTextInput.prototype, \"spellcheck\", void 0);\n__decorate([\n attr\n], BaseTextInput.prototype, \"type\", void 0);\n__decorate([\n observable\n], BaseTextInput.prototype, \"control\", void 0);\n__decorate([\n observable\n], BaseTextInput.prototype, \"controlLabel\", void 0);\n//# sourceMappingURL=text-input.base.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { StartEnd } from \"@fluentui/web-components\";\nimport { BaseTextInput } from \"./text-input.base\";\nimport { attr } from \"@microsoft/fast-element\";\nimport { applyMixins } from \"../../util/apply-mixins\";\n/**\n * TextInput\n * @summary A custom text input element based on Fluent UI's TextInput with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-text-input appearance=\"outline\" control-size=\"medium\" type=\"text\" placeholder=\"Enter text here...\">\n * <span slot=\"start\">🔍</span>\n * <span slot=\"end\">✖️</span>\n * </fabric-text-input>\n * ```\n *\n * @attr {string | undefined} appearance - Indicates the styled appearance of the element.\n * @attr {string | undefined} control-size - Sets the size of the control.\n * @attr {string | undefined} autocomplete - Indicates the element's autocomplete state.\n * @attr {boolean | undefined} autofocus - Indicates that the element should get focus after the page finishes loading.\n * @attr {string} current-value - The current value of the input.\n * @attr {string | undefined} dirname - Sets the directionality of the element to be submitted with form data.\n * @attr {boolean | undefined} disabled - Sets the element's disabled state.\n * @attr {string | undefined} form - The id of a form to associate the element to.\n * @attr {string | undefined} list - Allows associating a `<datalist>` to the element by ID.\n * @attr {number | undefined} maxlength - The maximum number of characters a user can enter.\n * @attr {number | undefined} minlength - The minimum number of characters a user can enter.\n * @attr {boolean | undefined} multiple - Indicates that a comma-separated list of email addresses can be entered. This attribute is only valid when `type=\"email\"`.\n * @attr {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @attr {string | undefined} pattern - A regular expression that the value must match to pass validation.\n * @attr {string | undefined} placeholder - Sets the placeholder value of the element, generally used to provide a hint to the user.\n * @attr {boolean | undefined} readonly - When true, the control will be immutable by user interaction.\n * @attr {boolean | undefined} required - The element's required attribute.\n * @attr {number | undefined} size - Sets the width of the element to a specified number of characters.\n * @attr {string | boolean | undefined} spellcheck - Controls whether or not to enable spell checking for the input field, or if the default spell checking configuration should be used.\n * @attr {string | undefined} type - Allows setting a type or mode of text.\n * @attr {string} value - The initial value of the input.\n *\n * @prop {string | undefined} appearance - Indicates the styled appearance of the element.\n * @prop {string | undefined} controlSize - Sets the size of the control.\n * @prop {string | undefined} autocomplete - Indicates the element's autocomplete state.\n * @prop {boolean | undefined} autofocus - Indicates that the element should get focus after the page finishes loading.\n * @prop {string} currentValue - The current value of the input.\n * @prop {string | undefined} dirname - Sets the directionality of the element to be submitted with form data.\n * @prop {boolean | undefined} disabled - Sets the element's disabled state.\n * @prop {string | undefined} form - The id of a form to associate the element to.\n * @prop {string | undefined} list - Allows associating a `<datalist>` to the element by ID.\n * @prop {number | undefined} maxlength - The maximum number of characters a user can enter.\n * @prop {number | undefined} minlength - The minimum number of characters a user can enter.\n * @prop {boolean | undefined} multiple - Indicates that a comma-separated list of email addresses can be entered. This attribute is only valid when `type=\"email\"`.\n * @prop {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @prop {string | undefined} pattern - A regular expression that the value must match to pass validation.\n * @prop {string | undefined} placeholder - Sets the placeholder value of the element, generally used to provide a hint to the user.\n * @prop {boolean | undefined} readOnly - When true, the control will be immutable by user interaction.\n * @prop {boolean | undefined} required - The element's required attribute.\n * @prop {number | undefined} size - Sets the width of the element to a specified number of characters.\n * @prop {string | boolean | undefined} spellcheck - Controls whether or not to enable spell checking for the input field, or if the default spell checking configuration should be used.\n * @prop {string | undefined} type - Allows setting a type or mode of text.\n * @prop {string} value - The initial value of the input.\n *\n * @slot start - Content which can be provided before the input.\n * @slot end - Content which can be provided after the input.\n * @slot - The default slot for button content.\n *\n * @csspart label - The internal `<label>` element.\n * @csspart root - The root container for the internal control.\n * @csspart control - The internal `<input>` control.\n *\n * @method checkValidity - Checks the validity of the element and returns the result.\n * @method clickHandler - Clicks the inner control when the component is clicked.\n * @method focusinHandler - Focuses the inner control when the component is focused.\n * @method select - Selects all the text in the text field.\n * @method setCustomValidity - Sets the custom validity message.\n * @method reportValidity - Reports the validity of the element.\n *\n * @extends FluentTextInput\n * @tagname fabric-text-input\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging\nexport class TextInput extends BaseTextInput {\n}\n__decorate([\n attr\n], TextInput.prototype, \"appearance\", void 0);\n__decorate([\n attr({ attribute: \"control-size\" })\n], TextInput.prototype, \"controlSize\", void 0);\napplyMixins(TextInput, StartEnd);\n//# sourceMappingURL=text-input.js.map","import { TextInputAppearances, TextInputControlSizes, TextInputTypes, ImplicitSubmissionBlockingTypes as TextInputImplicitSubmissionBlockingTypes } from \"../text-input/text-input.options.js\";\n/**\n * Values for the `control-size` attribute on SearchBox elements.\n *\n * @public\n */\nexport const SearchBoxControlSizes = {\n ...TextInputControlSizes\n};\n/**\n * Values for the `appearance` attribute on SearchBox elements.\n *\n * @public\n */\nexport const SearchBoxAppearances = {\n ...TextInputAppearances\n};\n/**\n * Values for the `type` attribute on SearchBox elements.\n *\n * @public\n */\nexport const SearchBoxTypes = {\n ...TextInputTypes\n};\n/**\n * Input types that block implicit form submission.\n *\n * @public\n */\nexport const ImplicitSubmissionBlockingTypes = [\n ...TextInputImplicitSubmissionBlockingTypes\n];\n/**\n * SearchBox event names.\n *\n * @public\n */\nexport const SearchBoxEventNames = {\n search: \"search\"\n};\n//# sourceMappingURL=search-box.options.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { TextInput } from \"../text-input/text-input.js\";\nimport { SearchBoxEventNames, SearchBoxTypes } from \"./search-box.options.js\";\nimport { observable } from \"@microsoft/fast-element\";\n/**\n * SearchBox\n * @summary A SearchBox custom HTML input element based on Fluent UI's SearchBox. Inherits from fabric UX TextInput.\n *\n * @example\n * ```html\n * <fabric-search-box aria-label=\"Search Box\" placeholder=\"Search...\"></fabric-search-box>\n * ```\n *\n * @attr {string | undefined} appearance - Indicates the styled appearance of the element.\n * @attr {string | undefined} control-size - Sets the size of the control.\n * @attr {string | undefined} autocomplete - Indicates the element's autocomplete state.\n * @attr {boolean | undefined} autofocus - Indicates that the element should get focus after the page finishes loading.\n * @attr {string} current-value - The current value of the input.\n * @attr {string | undefined} dirname - Sets the directionality of the element to be submitted with form data.\n * @attr {boolean | undefined} disabled - Sets the element's disabled state.\n * @attr {string | undefined} form - The id of a form to associate the element to.\n * @attr {string | undefined} list - Allows associating a `<datalist>` to the element by ID.\n * @attr {number | undefined} maxlength - The maximum number of characters a user can enter.\n * @attr {number | undefined} minlength - The minimum number of characters a user can enter.\n * @attr {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @attr {string | undefined} pattern - A regular expression that the value must match to pass validation.\n * @attr {string | undefined} placeholder - Sets the placeholder value of the element, generally used to provide a hint to the user.\n * @attr {boolean | undefined} readonly - When true, the control will be immutable by user interaction.\n * @attr {boolean | undefined} required - The element's required attribute.\n * @attr {number | undefined} size - Sets the width of the element to a specified number of characters.\n * @attr {string | boolean | undefined} spellcheck - Controls whether or not to enable spell checking for the input field, or if the default spell checking configuration should be used.\n * @attr {string | undefined} type - Allows setting a type or mode of text.\n * @attr {string} value - The initial value of the input.\n *\n * @prop {string | undefined} appearance - Indicates the styled appearance of the element.\n * @prop {string | undefined} controlSize - Sets the size of the control.\n * @prop {string | undefined} autocomplete - Indicates the element's autocomplete state.\n * @prop {boolean | undefined} autofocus - Indicates that the element should get focus after the page finishes loading.\n * @prop {string} currentValue - The current value of the input.\n * @prop {string | undefined} dirname - Sets the directionality of the element to be submitted with form data.\n * @prop {boolean | undefined} disabled - Sets the element's disabled state.\n * @prop {string | undefined} form - The id of a form to associate the element to.\n * @prop {string | undefined} list - Allows associating a `<datalist>` to the element by ID.\n * @prop {number | undefined} maxlength - The maximum number of characters a user can enter.\n * @prop {number | undefined} minlength - The minimum number of characters a user can enter.\n * @prop {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @prop {string | undefined} pattern - A regular expression that the value must match to pass validation.\n * @prop {string | undefined} placeholder - Sets the placeholder value of the element, generally used to provide a hint to the user.\n * @prop {boolean | undefined} readOnly - When true, the control will be immutable by user interaction.\n * @prop {boolean | undefined} required - The element's required attribute.\n * @prop {number | undefined} size - Sets the width of the element to a specified number of characters.\n * @prop {string | boolean | undefined} spellcheck - Controls whether or not to enable spell checking for the input field, or if the default spell checking configuration should be used.\n * @prop {string | undefined} type - Allows setting a type or mode of text.\n * @prop {string} value - The initial value of the input.\n * @prop {HTMLElement | undefined} clearButton - The clear button element.\n *\n * @slot start - Content which can be provided before the input.\n * @slot end - Content which can be provided after the input.\n * @slot - The default slot for input content.\n *\n * @csspart root - The root container for the internal control.\n * @csspart control - The internal `<input>` control.\n *\n * @fires change - Fires a custom 'change' event when the value has changed.\n * @fires input - Fires a custom 'input' event when the value has changed.\n * @fires search - Fires a custom 'submit' event when the search is submitted.\n * @fires select - Fired when text is selected in the input.\n *\n * @method clear - Clears the search box value and focuses the input.\n * @method currentValueChanged - Tracks the current value of the input and shows/hides the clear button.\n * @method checkValidity - Checks the validity of the element and returns the result.\n * @method select - Selects all the text in the text field.\n * @method setCustomValidity - Sets the custom validity message.\n * @method reportValidity - Reports the validity of the element.\n *\n * @extends TextInput\n * @tagname fabric-search-box\n * @public\n */\nexport class SearchBox extends TextInput {\n constructor() {\n super(...arguments);\n this.type = SearchBoxTypes.text;\n /**\n * The clear button element.\n */\n this.clearButton = undefined;\n }\n /** Focuses the input element */\n focus() {\n this.control.focus();\n }\n /** Blurs the input element */\n blur() {\n this.control.blur();\n }\n /** Show the clear button */\n showClearButton() {\n if (this.clearButton) {\n this.clearButton.style.display = \"inline-flex\";\n this.clearButton.setAttribute(\"aria-hidden\", \"false\");\n }\n }\n /** Hide the clear button */\n hideClearButton() {\n if (this.clearButton) {\n this.clearButton.style.display = \"none\";\n this.clearButton.setAttribute(\"aria-hidden\", \"true\");\n }\n }\n /**\n * Tracks the current value of the input.\n *\n * @param prev - the previous value\n * @param next - the next value\n *\n * @internal\n */\n currentValueChanged(_prev, next) {\n this.value = next;\n if (this.clearButton && this.value.length > 0) {\n this.showClearButton();\n }\n else {\n this.hideClearButton();\n }\n }\n /**\n * Clear the search box value\n * @method\n */\n clear() {\n this.value = \"\";\n this.control.focus();\n }\n /** Handle the submit action */\n handleSubmit() {\n this.emitSearch();\n }\n /**\n * Emits the search event.\n *\n * @fires search - Fired when a search is submitted.\n */\n emitSearch() {\n this.dispatchEvent(new CustomEvent(SearchBoxEventNames.search, {\n bubbles: true,\n composed: true,\n detail: { query: this.value }\n }));\n }\n handleKeydown(event) {\n if (event.key === \"Enter\" && !!this.currentValue) {\n this.handleSubmit();\n }\n }\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener(\"keydown\", this.handleKeydown);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"keydown\", this.handleKeydown);\n }\n}\n__decorate([\n observable\n], SearchBox.prototype, \"clearButton\", void 0);\n//# sourceMappingURL=search-box.js.map","import { css } from \"@microsoft/fast-element\";\nimport { borderRadiusMedium, colorCompoundBrandStroke, colorCompoundBrandStrokePressed, colorNeutralBackground1, colorNeutralBackground3, colorNeutralBackgroundInverted, colorNeutralForeground1, colorNeutralForeground3, colorNeutralForeground4, colorNeutralForegroundDisabled, colorNeutralForegroundInverted, colorNeutralStroke1, colorNeutralStroke1Hover, colorNeutralStroke1Pressed, colorNeutralStrokeAccessible, colorNeutralStrokeAccessibleHover, colorNeutralStrokeAccessiblePressed, colorNeutralStrokeDisabled, colorPaletteRedBorder2, colorTransparentBackground, colorTransparentStroke, colorTransparentStrokeInteractive, curveAccelerateMid, curveDecelerateMid, durationNormal, durationUltraFast, fontFamilyBase, fontSizeBase200, fontSizeBase300, fontSizeBase400, fontSizeBase500, fontSizeBase600, fontWeightRegular, lineHeightBase200, lineHeightBase300, lineHeightBase400, spacingHorizontalM, spacingHorizontalMNudge, spacingHorizontalS, spacingHorizontalSNudge, spacingHorizontalXS, spacingHorizontalXXS, spacingVerticalXS, strokeWidthThin, display } from \"@fluentui/web-components\";\nimport { sizeVerticalXXL, sizeVerticalXXXL } from \"@fabric-msft/theme\";\n/**\n * Styles for the TextInput component.\n *\n * @public\n */\nexport const styles = css `\n ${display(\"block\")}\n\n :host {\n font-family: ${fontFamilyBase};\n font-size: ${fontSizeBase300};\n font-weight: ${fontWeightRegular};\n line-height: ${lineHeightBase300};\n }\n .label {\n display: flex;\n color: ${colorNeutralForeground1};\n padding-bottom: ${spacingVerticalXS};\n flex-shrink: 0;\n padding-inline-end: ${spacingHorizontalXS};\n }\n\n .label[hidden],\n :host(:empty) .label {\n display: none;\n }\n\n .root {\n align-items: center;\n background-color: ${colorNeutralBackground1};\n border: ${strokeWidthThin} solid ${colorNeutralStroke1};\n border-bottom-color: ${colorNeutralStrokeAccessible};\n border-radius: ${borderRadiusMedium};\n box-sizing: border-box;\n height: ${sizeVerticalXXXL};\n display: inline-flex;\n flex-direction: row;\n gap: ${spacingHorizontalXXS};\n padding: 0 ${spacingHorizontalMNudge};\n position: relative;\n width: 100%;\n box-shadow: unset;\n }\n\n :has(.control:user-invalid) {\n border-color: ${colorPaletteRedBorder2};\n }\n\n .root::after {\n box-sizing: border-box;\n content: \"\";\n position: absolute;\n inset-inline-start: -1px;\n bottom: 0px;\n inset-inline-end: -1px;\n height: max(2px, ${borderRadiusMedium});\n border-radius: 0 0 ${borderRadiusMedium} ${borderRadiusMedium};\n border-bottom: 2px solid ${colorCompoundBrandStroke};\n clip-path: inset(calc(100% - 2px) 1px 0px);\n transform: scaleX(0);\n transition-property: transform;\n transition-duration: ${durationUltraFast};\n transition-delay: ${curveAccelerateMid};\n }\n .control {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n color: ${colorNeutralForeground1};\n border-radius: ${borderRadiusMedium};\n background: ${colorTransparentBackground};\n font-family: ${fontFamilyBase};\n font-weight: ${fontWeightRegular};\n font-size: ${fontSizeBase300};\n border: none;\n vertical-align: center;\n }\n .control:focus-visible {\n outline: 0;\n border: 0;\n }\n .control::placeholder {\n color: ${colorNeutralForeground4};\n }\n :host ::slotted([slot=\"start\"]),\n :host ::slotted([slot=\"end\"]) {\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${colorNeutralForeground3};\n font-size: ${fontSizeBase500};\n }\n :host ::slotted([slot=\"start\"]) {\n padding-inline-end: ${spacingHorizontalXXS};\n }\n :host ::slotted([slot=\"end\"]) {\n padding-inline-start: ${spacingHorizontalXXS};\n gap: ${spacingHorizontalXS};\n }\n :host(:hover) .root {\n border-color: ${colorNeutralStroke1Hover};\n border-bottom-color: ${colorNeutralStrokeAccessibleHover};\n }\n :host(:active) .root {\n border-color: ${colorNeutralStroke1Pressed};\n }\n :host(:focus-within) .root {\n outline: transparent solid 2px;\n border-bottom: 0;\n }\n :host(:focus-within) .root::after {\n transform: scaleX(1);\n transition-property: transform;\n transition-duration: ${durationNormal};\n transition-delay: ${curveDecelerateMid};\n }\n :host(:focus-within:active) .root:after {\n border-bottom-color: ${colorCompoundBrandStrokePressed};\n }\n :host([appearance=\"outline\"]:focus-within) .root {\n border: ${strokeWidthThin} solid ${colorNeutralStroke1};\n }\n :host(:focus-within) .control {\n color: ${colorNeutralForeground1};\n }\n :host([disabled]) .root {\n background: ${colorTransparentBackground};\n border: ${strokeWidthThin} solid ${colorNeutralStrokeDisabled};\n }\n :host([disabled]) .control::placeholder,\n :host([disabled]) ::slotted([slot=\"start\"]),\n :host([disabled]) ::slotted([slot=\"end\"]) {\n color: ${colorNeutralForegroundDisabled};\n }\n ::selection {\n color: ${colorNeutralForegroundInverted};\n background-color: ${colorNeutralBackgroundInverted};\n }\n :host([control-size=\"small\"]) .control {\n font-size: ${fontSizeBase200};\n font-weight: ${fontWeightRegular};\n line-height: ${lineHeightBase200};\n }\n :host([control-size=\"small\"]) .root {\n height: ${sizeVerticalXXL};\n gap: ${spacingHorizontalXXS};\n padding: 0 ${spacingHorizontalSNudge};\n }\n :host([control-size=\"small\"]) ::slotted([slot=\"start\"]),\n :host([control-size=\"small\"]) ::slotted([slot=\"end\"]) {\n font-size: ${fontSizeBase400};\n }\n :host([control-size=\"large\"]) .control {\n font-size: ${fontSizeBase400};\n font-weight: ${fontWeightRegular};\n line-height: ${lineHeightBase400};\n }\n :host([control-size=\"large\"]) .root {\n height: 40px; /* @design-token-ok */\n gap: ${spacingHorizontalS};\n padding: 0 ${spacingHorizontalM};\n }\n :host([control-size=\"large\"]) ::slotted([slot=\"start\"]),\n :host([control-size=\"large\"]) ::slotted([slot=\"end\"]) {\n font-size: ${fontSizeBase600};\n }\n :host([appearance=\"underline\"]) .root {\n background: ${colorTransparentBackground};\n border: 0;\n border-radius: 0;\n border-bottom: ${strokeWidthThin} solid ${colorNeutralStrokeAccessible};\n }\n :host([appearance=\"underline\"]:hover) .root {\n border-bottom-color: ${colorNeutralStrokeAccessibleHover};\n }\n :host([appearance=\"underline\"]:active) .root {\n border-bottom-color: ${colorNeutralStrokeAccessiblePressed};\n }\n :host([appearance=\"underline\"]:focus-within) .root {\n border: 0;\n border-bottom-color: ${colorNeutralStrokeAccessiblePressed};\n }\n :host([appearance=\"underline\"][disabled]) .root {\n border-bottom-color: ${colorNeutralStrokeDisabled};\n }\n :host([appearance=\"filled-lighter\"]) .root,\n :host([appearance=\"filled-darker\"]) .root {\n border: ${strokeWidthThin} solid ${colorTransparentStroke};\n }\n :host([appearance=\"filled-lighter\"]) .root {\n background: ${colorNeutralBackground1};\n }\n :host([appearance=\"filled-darker\"]) .root {\n background: ${colorNeutralBackground3};\n }\n :host([appearance=\"filled-lighter\"]:hover) .root,\n :host([appearance=\"filled-darker\"]:hover) .root {\n border-color: ${colorTransparentStrokeInteractive};\n }\n :host([appearance=\"filled-lighter\"]:active) .root,\n :host([appearance=\"filled-darker\"]:active) .root {\n border-color: ${colorTransparentStrokeInteractive};\n background: ${colorNeutralBackground3};\n }\n`;\n//# sourceMappingURL=text-input.styles.js.map","import { css } from \"@microsoft/fast-element\";\nimport { styles as textInputStyles } from \"../text-input/text-input.styles.js\";\nimport { colorNeutralForeground3, spacingHorizontalMNudge, spacingHorizontalS, spacingHorizontalXS } from \"@fluentui/web-components\";\nimport { sizeHorizontalXL } from \"@fabric-msft/theme\";\nexport const styles = css `\n ${textInputStyles}\n\n .root {\n padding-inline: ${spacingHorizontalS};\n padding-inline-end: 0px;\n }\n\n :host([control-size=\"small\"]) .root {\n padding-inline-end: 0px;\n }\n\n :host([control-size=\"large\"]) .root {\n padding-inline: ${spacingHorizontalMNudge};\n padding-inline-end: 0px;\n }\n\n .search-icon {\n display: flex;\n box-sizing: border-box;\n color: ${colorNeutralForeground3};\n }\n\n fabric-button.clear-button {\n min-width: ${sizeHorizontalXL};\n min-height: ${sizeHorizontalXL};\n margin-inline-end: ${spacingHorizontalXS};\n padding: 0px 2px;\n display: none;\n }\n`;\n//# sourceMappingURL=search-box.styles.js.map","import { html, slotted, ref, oneTime } from \"@microsoft/fast-element\";\nimport { whitespaceFilter } from \"../../util/whitespace-filter.js\";\nimport { searchIcon, dismissIcon } from \"../../static/component-svgs.js\";\nimport { getString } from \"@fabric-msft/localization\";\n/**\n * The template for the {@link @fabric-msft/fabric-web#(SearchBox:class)} component.\n * @public\n */\nexport function searchBoxTemplate() {\n return html `\n <template\n @beforeinput=\"${(x, c) => x.beforeinputHandler(c.event)}\"\n @focusin=\"${(x, c) => x.focusinHandler(c.event)}\"\n @keydown=\"${(x, c) => x.keydownHandler(c.event)}\"\n >\n <label for=\"control\" class=\"label\" ${ref(\"controlLabel\")}>\n <slot\n ${slotted({\n property: \"defaultSlottedNodes\",\n filter: whitespaceFilter\n })}\n ></slot>\n </label>\n <span class=\"root\">\n <span class=\"search-icon\">${searchIcon}</span>\n <input\n aria-label=\"${(x) => x.ariaLabel}\"\n class=\"control\"\n id=\"control\"\n @change=\"${(x, c) => x.changeHandler(c.event)}\"\n @input=\"${(x, c) => x.inputHandler(c.event)}\"\n ?autofocus=\"${(x) => x.autofocus}\"\n autocomplete=\"${(x) => x.autocomplete}\"\n ?disabled=\"${(x) => x.disabled}\"\n list=\"${(x) => x.list}\"\n maxlength=\"${(x) => x.maxlength}\"\n minlength=\"${(x) => x.minlength}\"\n ?multiple=\"${(x) => x.multiple}\"\n name=\"${(x) => x.name}\"\n pattern=\"${(x) => x.pattern}\"\n placeholder=\"${(x) => x.placeholder}\"\n ?readonly=\"${(x) => x.readOnly}\"\n ?required=\"${(x) => x.required}\"\n size=\"${(x) => x.size}\"\n spellcheck=\"${(x) => x.spellcheck}\"\n type=\"${(x) => x.type}\"\n value=\"${(x) => x.initialValue}\"\n ${ref(\"control\")}\n />\n <fabric-button\n aria-label=\"${oneTime(() => getString(\"SearchBox_Clear\"))}\"\n appearance=\"transparent\"\n class=\"clear-button\"\n aria-hidden=\"true\"\n ${ref(\"clearButton\")}\n @click=\"${(x) => x.clear()}\"\n >\n ${dismissIcon}\n </fabric-button>\n <slot name=\"end\"></slot>\n </span>\n </template>\n `;\n}\nexport const template = searchBoxTemplate();\n//# sourceMappingURL=search-box.template.js.map","import { definition as ButtonDefinition } from \"../button/button.definition.js\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { composeDefinitions, fromFAST } from \"../../util/element-definition.js\";\nimport { SearchBox } from \"./search-box.js\";\nimport { styles } from \"./search-box.styles.js\";\nimport { template } from \"./search-box.template.js\";\n/** @internal */\nconst SearchBoxDefinition = SearchBox.compose({\n name: `${DesignSystem.prefix}-search-box`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n/**\n * Composed element definition for `<fabric-search-box>`, registering the\n * `fabric-button` dependency before the element itself.\n *\n * @public\n * @remarks\n * HTML Element: `<fabric-search-box>`\n */\nexport const definition = composeDefinitions(fromFAST(SearchBoxDefinition), fromFAST(ButtonDefinition));\n//# sourceMappingURL=search-box.definition.js.map","import { Slider as FluentSlider } from \"@fluentui/web-components\";\n/**\n * Slider\n * @summary A Slider Custom HTML Element based on Fluent UI's Slider with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-slider min=\"0\" max=\"10\" step=\"1\" value=\"5\" orientation=\"horizontal\">\n * <div slot=\"thumb\" class=\"custom-thumb\"></div>\n * </fabric-slider>\n * ```\n *\n * @attr {SliderSize | undefined} size - The size of the slider.\n * @attr {string} value - The initial value of the input.\n * @attr {boolean} disabled - The element's disabled state.\n * @attr {number} min - The minimum allowed value.\n * @attr {number} max - The maximum allowed value.\n * @attr {number} step - Value to increment or decrement via arrow keys, mouse click or drag.\n * @attr {SliderOrientation | undefined} orientation - The orientation of the slider.\n * @attr {SliderMode | undefined} mode - The selection mode.\n *\n * @prop {SliderSize | undefined} size - The size of the slider.\n * @prop {string} value - The initial value of the input.\n * @prop {boolean} disabled - The element's disabled state.\n * @prop {number} min - The minimum allowed value.\n * @prop {number} max - The maximum allowed value.\n * @prop {number} step - Value to increment or decrement via arrow keys, mouse click or drag.\n * @prop {SliderOrientation | undefined} orientation - The orientation of the slider.\n * @prop {SliderMode | undefined} mode - The selection mode.\n *\n * @slot thumb - The slot for a custom thumb element.\n *\n * @csspart track-container - The container element of the track.\n * @csspart thumb-container - The container element of the thumb.\n *\n * @cssprop --border-radius - Sets the border radius for the track and thumb.\n * @cssprop --rail-color - Sets the color of the unfilled rail.\n * @cssprop --slider-direction - Defines the direction used to calculate the track styling.\n * @cssprop --slider-progress - Represents the current progress for styling the track.\n * @cssprop --slider-thumb - Defines the thumb styling for the slider.\n * @cssprop --step-marker-inset - Offsets step markers relative to the track.\n * @cssprop --step-rate - Defines the spacing rate for step markers.\n * @cssprop --thumb-size - Sets the size of the slider thumb.\n * @cssprop --track-color - Sets the color of the filled track.\n * @cssprop --track-margin-inline - Sets the inline margin for the track.\n * @cssprop --track-overhang - Controls how far the track extends past the thumb.\n * @cssprop --track-size - Sets the thickness of the track.\n *\n * @method handleChange - Handles changes to the slider's value.\n * @method handleStepStyles - Handles changes to step styling based on the step value.\n * @method checkValidity - Checks the element's validity.\n * @method reportValidity - Reports the element's validity.\n * @method setCustomValidity - Sets a custom validity message.\n * @method directionChanged - Called when the direction changes.\n * @method increment - Increment the value by the step.\n * @method decrement - Decrement the value by the step.\n * @method handleKeydown - Handles keydown events for the slider.\n * @method setSliderPosition - Places the thumb based on the current value.\n * @method updateStepMultiplier - Update the step multiplier used to ensure rounding errors from steps that are not whole numbers.\n * @method convertToConstrainedValue - Converts a given value to a constrained value within the slider's min and max.\n * @method setDisabledSideEffect - Makes sure the side effects are set up when the disabled state changes.\n *\n * @fires change - Fires a custom 'change' event when the value changes.\n *\n * @extends FluentSlider\n * @tagname fabric-slider\n * @public\n */\nexport class Slider extends FluentSlider {\n}\n//# sourceMappingURL=slider.js.map","import { SliderMode as FluentSliderMode, SliderOrientation as FluentSliderOrientation, SliderSize as FluentSliderSize } from \"@fluentui/web-components\";\n/** Selection mode values for {@link Slider}. */\nexport const SliderModes = {\n ...FluentSliderMode\n};\n/** Orientation values for {@link Slider}. */\nexport const SliderOrientations = {\n ...FluentSliderOrientation\n};\n/** Size values for {@link Slider}. */\nexport const SliderSizes = {\n ...FluentSliderSize\n};\n/** Event names for {@link Slider}. */\nexport const SliderEventNames = {\n change: \"change\"\n};\n//# sourceMappingURL=slider.options.js.map","import { Slider } from \"./slider.js\";\nimport { SliderStyles, SliderTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Slider component.\n *\n * @public\n */\nexport const definition = Slider.compose({\n name: `${DesignSystem.prefix}-slider`,\n template: SliderTemplate,\n styles: SliderStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=slider.definition.js.map","/**\n * Appearance values for {@link SpinButton}.\n *\n * @public\n */\nexport const SpinButtonAppearances = {\n outline: \"outline\",\n underline: \"underline\",\n filledLighter: \"filled-lighter\",\n filledDarker: \"filled-darker\"\n};\n/**\n * Size values for {@link SpinButton}.\n *\n * @public\n */\nexport const SpinButtonControlSizes = {\n small: \"small\",\n medium: \"medium\"\n};\n/**\n * Spin state values for {@link SpinButton}.\n * Tracks the direction in which the spin button is currently spinning.\n *\n * @public\n */\nexport const SpinButtonSpinStates = {\n rest: \"rest\",\n up: \"up\",\n down: \"down\"\n};\n/**\n * Bound state values for {@link SpinButton}.\n * Tracks whether the current value is at a boundary.\n *\n * @public\n */\nexport const SpinButtonBounds = {\n none: \"none\",\n min: \"min\",\n max: \"max\",\n both: \"both\"\n};\n//# sourceMappingURL=spin-button.options.js.map","/**\n * Event names for {@link SpinButton}.\n *\n * @public\n */\nexport const SpinButtonEventNames = {\n change: \"change\",\n input: \"input\"\n};\n//# sourceMappingURL=spin-button.events.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { attr, FASTElement, nullableNumberConverter, Observable, observable } from \"@microsoft/fast-element\";\nimport { SpinButtonAppearances, SpinButtonBounds, SpinButtonSpinStates } from \"./spin-button.options.js\";\nimport { SpinButtonEventNames } from \"./spin-button.events.js\";\nimport { calculatePrecision, clamp, precisionRound } from \"../../util/math.js\";\n/**\n * SpinButton\n * @summary A spin button (numeric stepper) Custom HTML Element that allows users to\n * incrementally adjust a numeric value using buttons or keyboard controls.\n *\n * @example\n * ```html\n * <fabric-spin-button min=\"0\" max=\"100\" step=\"1\" value=\"50\">\n * <fabric-label>Quantity</fabric-label>\n * </fabric-spin-button>\n * ```\n *\n * @attr {SpinButtonControlSize | undefined} control-size - Sets the size of the control.\n * @attr {number | undefined} min - The minimum allowed value.\n * @attr {number | undefined} max - The maximum allowed value.\n * @attr {number} step - The increment/decrement step value. Defaults to 1.\n * @attr {number} step-page - The large step value for Page Up/Down. Defaults to 1.\n * @attr {number | undefined} precision - Decimal places to round to. Auto-calculated from step if not set.\n * @attr {boolean | undefined} disabled - Sets the element's disabled state.\n * @attr {string | undefined} name - Form submission name.\n * @attr {boolean | undefined} required - Whether a value is required for form validity.\n * @attr {string | undefined} placeholder - Placeholder text for the input when empty.\n *\n * @prop {number | null} value - The current numeric value.\n * @prop {string} displayValue - A string override for the displayed value.\n * @prop {SpinButtonBound} atBound - Tracks whether value is at min/max boundary.\n *\n * @slot - The default slot for label content displayed above the input.\n * @slot start - Content rendered before the input control.\n * @slot end - Content rendered after the input control.\n *\n * @fires change - Fires when the committed value changes.\n * @fires input - Fires on each keystroke in the input field.\n *\n * @extends FASTElement\n * @tagname fabric-spin-button\n * @public\n */\nexport class SpinButton extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * The visual appearance of the control.\n *\n * @public\n * @remarks\n * HTML Attribute: `appearance`\n */\n this.appearance = SpinButtonAppearances.outline;\n /**\n * The increment/decrement step value. Defaults to 1.\n *\n * @public\n * @remarks\n * HTML Attribute: `step`\n */\n this.step = 1;\n /**\n * The large step value used for Page Up/Page Down keys. Defaults to 1.\n *\n * @public\n * @remarks\n * HTML Attribute: `step-page`\n */\n this.stepPage = 1;\n /**\n * Tracks the spin direction (internal — used for keyboard visual feedback).\n *\n * @internal\n */\n this.spinState = SpinButtonSpinStates.rest;\n /**\n * Tracks whether the value is at a boundary.\n *\n * @public\n */\n this.atBound = SpinButtonBounds.none;\n /**\n * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance.\n *\n * @internal\n */\n this.elementInternals = this.attachInternals();\n /**\n * Whether the user is currently editing the text directly.\n * @internal\n */\n this._isEditing = false;\n /**\n * When true, `commitValue` updates the value but skips emitting the change event.\n * Used during keyboard-held stepping so a single change fires on key release.\n * @internal\n */\n this._suppressChangeEvent = false;\n /**\n * Captures the value before a keyboard-held step sequence begins.\n * Compared on keyup to determine whether a change event should fire.\n * @internal\n */\n this._valueBeforeKeyStep = null;\n /**\n * The internal numeric value. `null` means no value.\n * @internal\n */\n this._value = null;\n /**\n * The display value override. When set, the input shows this string\n * instead of the numeric value.\n * @internal\n */\n this._displayValue = \"\";\n }\n /**\n * Updates the control label visibility based on the presence of default slotted content.\n *\n * @internal\n */\n defaultSlottedNodesChanged(_prev, next) {\n if (this.$fastController.isConnected && this.labelEl) {\n this.labelEl.hidden = !(next === null || next === void 0 ? void 0 : next.length);\n }\n }\n /**\n * The current numeric value. `null` indicates no value.\n *\n * @public\n */\n get value() {\n Observable.track(this, \"value\");\n return this._value;\n }\n set value(next) {\n const prev = this._value;\n if (prev === next)\n return;\n this._value = next;\n if (this.$fastController.isConnected) {\n this.syncInputDisplay();\n this.updateBoundState();\n this.updateFormValue();\n this.updateAriaValue();\n Observable.notify(this, \"value\");\n }\n }\n /**\n * String representation for display. When set, the input shows\n * this string instead of the formatted numeric value.\n *\n * @public\n */\n get displayValue() {\n Observable.track(this, \"displayValue\");\n return this._displayValue;\n }\n set displayValue(next) {\n const prev = this._displayValue;\n if (prev === next)\n return;\n this._displayValue = next;\n if (this.$fastController.isConnected) {\n this.syncInputDisplay();\n Observable.notify(this, \"displayValue\");\n }\n }\n /**\n * The associated form element.\n *\n * @public\n */\n get form() {\n return this.elementInternals.form;\n }\n /**\n * The element's validity state.\n *\n * @public\n */\n get validity() {\n return this.elementInternals.validity;\n }\n /**\n * The validation message.\n *\n * @public\n */\n get validationMessage() {\n return this.elementInternals.validationMessage;\n }\n /**\n * Determines the effective precision value.\n * If precision is explicitly set, that is used; otherwise it's auto-calculated from the step.\n * @internal\n */\n get effectivePrecision() {\n var _a;\n return (_a = this.precision) !== null && _a !== void 0 ? _a : calculatePrecision(this.step);\n }\n // ---- Lifecycle ----\n connectedCallback() {\n super.connectedCallback();\n this.elementInternals.role = \"spinbutton\";\n this.updateAriaValue();\n this.updateBoundState();\n this.updateFormValue();\n this.syncInputDisplay();\n }\n /**\n * Resets the value when the form is reset.\n *\n * @internal\n */\n formResetCallback() {\n this.value = null;\n this.displayValue = \"\";\n }\n // ---- Attribute change handlers ----\n /** @internal */\n minChanged() {\n this.updateBoundState();\n this.updateAriaValue();\n }\n /** @internal */\n maxChanged() {\n this.updateBoundState();\n this.updateAriaValue();\n }\n /** @internal */\n disabledChanged() {\n if (this.$fastController.isConnected) {\n this.elementInternals.ariaDisabled = this.disabled ? \"true\" : null;\n }\n }\n /** @internal */\n requiredChanged() {\n if (this.$fastController.isConnected) {\n this.elementInternals.ariaRequired = this.required ? \"true\" : null;\n }\n }\n // ---- Event handlers ----\n /**\n * Handles focus on the host by forwarding to the internal input.\n *\n * @internal\n */\n focusinHandler(e) {\n var _a;\n if (e.target === this) {\n (_a = this.control) === null || _a === void 0 ? void 0 : _a.focus();\n }\n return true;\n }\n /**\n * Handles the internal input's `input` event.\n *\n * @internal\n */\n inputHandler() {\n this._isEditing = true;\n this.$emit(SpinButtonEventNames.input, undefined, {\n bubbles: true,\n composed: true\n });\n return true;\n }\n /**\n * Handles blur on the internal input — commits the typed value.\n *\n * @internal\n */\n blurHandler() {\n if (this._isEditing) {\n this.commitInput();\n }\n this.spinState = SpinButtonSpinStates.rest;\n }\n /**\n * Handles keydown events for keyboard navigation.\n *\n * @internal\n */\n keydownHandler(e) {\n if (this.disabled)\n return true;\n switch (e.key) {\n case \"ArrowUp\":\n e.preventDefault();\n if (!e.repeat) {\n this._valueBeforeKeyStep = this._value;\n }\n this._suppressChangeEvent = true;\n this.stepUp();\n return;\n case \"ArrowDown\":\n e.preventDefault();\n if (!e.repeat) {\n this._valueBeforeKeyStep = this._value;\n }\n this._suppressChangeEvent = true;\n this.stepDown();\n return;\n case \"PageUp\":\n e.preventDefault();\n if (!e.repeat) {\n this._valueBeforeKeyStep = this._value;\n }\n this._suppressChangeEvent = true;\n this.stepUp(this.stepPage);\n return;\n case \"PageDown\":\n e.preventDefault();\n if (!e.repeat) {\n this._valueBeforeKeyStep = this._value;\n }\n this._suppressChangeEvent = true;\n this.stepDown(this.stepPage);\n return;\n case \"Enter\":\n this.commitInput();\n return;\n case \"Escape\":\n this._isEditing = false;\n this.syncInputDisplay();\n return;\n case \"Home\":\n if (this.min !== undefined) {\n e.preventDefault();\n this.commitValue(this.min);\n }\n return;\n case \"End\":\n if (this.max !== undefined) {\n e.preventDefault();\n this.commitValue(this.max);\n }\n return;\n }\n return true;\n }\n /**\n * Handles the increment button click.\n *\n * @internal\n */\n incrementHandler() {\n var _a;\n if (this.disabled)\n return;\n this.stepUp();\n this.spinState = SpinButtonSpinStates.rest;\n (_a = this.control) === null || _a === void 0 ? void 0 : _a.focus();\n }\n /**\n * Handles the decrement button click.\n *\n * @internal\n */\n decrementHandler() {\n var _a;\n if (this.disabled)\n return;\n this.stepDown();\n this.spinState = SpinButtonSpinStates.rest;\n (_a = this.control) === null || _a === void 0 ? void 0 : _a.focus();\n }\n // ---- Public methods ----\n /**\n * Increment the value by the given amount (defaults to step).\n *\n * @public\n */\n stepUp(amount) {\n var _a;\n const delta = amount !== null && amount !== void 0 ? amount : this.step;\n const current = (_a = this._value) !== null && _a !== void 0 ? _a : 0;\n const next = clamp(precisionRound(current + delta, this.effectivePrecision), this.min, this.max);\n this.commitValue(next);\n this.spinState = SpinButtonSpinStates.up;\n }\n /**\n * Decrement the value by the given amount (defaults to step).\n *\n * @public\n */\n stepDown(amount) {\n var _a;\n const delta = amount !== null && amount !== void 0 ? amount : this.step;\n const current = (_a = this._value) !== null && _a !== void 0 ? _a : 0;\n const next = clamp(precisionRound(current - delta, this.effectivePrecision), this.min, this.max);\n this.commitValue(next);\n this.spinState = SpinButtonSpinStates.down;\n }\n /**\n * Checks the validity of the element.\n *\n * @public\n */\n checkValidity() {\n return this.elementInternals.checkValidity();\n }\n /**\n * Sets a custom validity message. Pass an empty string to clear.\n *\n * @public\n */\n setCustomValidity(message) {\n if (message) {\n this.elementInternals.setValidity({ customError: true }, message, this.control);\n }\n else {\n this.elementInternals.setValidity({});\n }\n }\n /**\n * Sets validity flags on the element. Consumers use this to report\n * constraint violations (e.g., `rangeOverflow`, `valueMissing`).\n * Pass an empty object to clear all flags and mark the element as valid.\n *\n * @public\n */\n setValidity(flags, message, anchor) {\n this.elementInternals.setValidity(flags, message, anchor !== null && anchor !== void 0 ? anchor : this.control);\n }\n // ---- Internal helpers ----\n /**\n * Handles keyup events — resets the spin state visual feedback.\n *\n * @internal\n */\n keyupHandler(e) {\n switch (e.key) {\n case \"ArrowUp\":\n case \"ArrowDown\":\n case \"PageUp\":\n case \"PageDown\":\n this.spinState = SpinButtonSpinStates.rest;\n this._suppressChangeEvent = false;\n // Uses emitChangeEvent() instead of commitValue() because the value was already\n // set incrementally during the keydown repeats — this is a deferred notification,\n // not a state change. commitValue(this._value) would be a no-op since the setter's\n // equality guard (prev === next) would short-circuit.\n // Example: user holds ArrowUp from 5 → 10 over several keydown repeats. Each\n // repeat stepped the value silently (suppressed). On keyup, _value is already 10,\n // so we compare 10 !== 5 and fire a single change event for the entire sequence.\n if (this._value !== this._valueBeforeKeyStep) {\n this.emitChangeEvent();\n }\n this._valueBeforeKeyStep = null;\n return;\n }\n return true;\n }\n /**\n * Commits the value currently typed in the input field.\n * @internal\n */\n commitInput() {\n var _a, _b, _c;\n this._isEditing = false;\n const rawText = (_c = (_b = (_a = this.control) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.trim()) !== null && _c !== void 0 ? _c : \"\";\n if (rawText === \"\") {\n this.commitValue(null);\n return;\n }\n const parsed = parseFloat(rawText);\n if (isNaN(parsed)) {\n // Non-numeric typed input — revert display to current value\n this.syncInputDisplay();\n return;\n }\n this.commitValue(parsed);\n }\n /**\n * Commits a new value. Sets value, syncs display, and emits `change`\n * unless the change event is suppressed (keyboard-held stepping).\n * @internal\n */\n commitValue(next) {\n const prev = this._value;\n this.value = next;\n // Guard: only emit when the value actually changed AND we're not mid-key-hold.\n // Example: user clicks the increment button once, stepping from 5 → 6.\n // prev (5) !== next (6) and _suppressChangeEvent is false, so change fires\n // immediately. During a held ArrowUp, _suppressChangeEvent is true, so the\n // event is deferred to keyupHandler.\n if (prev !== next && !this._suppressChangeEvent) {\n this.emitChangeEvent();\n }\n }\n /**\n * Emits the change event with the current value and display value.\n * @internal\n */\n emitChangeEvent() {\n this.$emit(SpinButtonEventNames.change, {\n value: this._value,\n displayValue: this._displayValue ||\n (this._value !== null ? String(this._value) : \"\")\n }, {\n bubbles: true,\n composed: true\n });\n }\n /**\n * Synchronizes the internal input's displayed text.\n * @internal\n */\n syncInputDisplay() {\n if (!this.control || this._isEditing)\n return;\n if (this._displayValue) {\n this.control.value = this._displayValue;\n }\n else if (this._value !== null) {\n this.control.value = String(this._value);\n }\n else {\n this.control.value = \"\";\n }\n }\n /**\n * Updates the `atBound` state based on current value, min, and max.\n * @internal\n */\n updateBoundState() {\n if (this._value === null) {\n this.atBound = SpinButtonBounds.none;\n return;\n }\n const atMin = this.min !== undefined && this._value <= this.min;\n const atMax = this.max !== undefined && this._value >= this.max;\n if (atMin && atMax) {\n this.atBound = SpinButtonBounds.both;\n }\n else if (atMin) {\n this.atBound = SpinButtonBounds.min;\n }\n else if (atMax) {\n this.atBound = SpinButtonBounds.max;\n }\n else {\n this.atBound = SpinButtonBounds.none;\n }\n }\n /**\n * Updates the form value for form participation.\n * @internal\n */\n updateFormValue() {\n if (!this.$fastController.isConnected)\n return;\n const formValue = this._value !== null ? String(this._value) : null;\n this.elementInternals.setFormValue(formValue);\n }\n /**\n * Updates ARIA attributes for assistive technology.\n * @internal\n */\n updateAriaValue() {\n if (!this.$fastController.isConnected)\n return;\n this.elementInternals.ariaValueNow =\n this._value !== null ? String(this._value) : null;\n this.elementInternals.ariaValueMin =\n this.min !== undefined ? String(this.min) : null;\n this.elementInternals.ariaValueMax =\n this.max !== undefined ? String(this.max) : null;\n }\n}\n/**\n * The form-associated flag.\n *\n * @public\n */\nSpinButton.formAssociated = true;\n__decorate([\n attr\n], SpinButton.prototype, \"appearance\", void 0);\n__decorate([\n attr({ attribute: \"control-size\" })\n], SpinButton.prototype, \"controlSize\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], SpinButton.prototype, \"min\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], SpinButton.prototype, \"max\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], SpinButton.prototype, \"step\", void 0);\n__decorate([\n attr({ attribute: \"step-page\", converter: nullableNumberConverter })\n], SpinButton.prototype, \"stepPage\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], SpinButton.prototype, \"precision\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], SpinButton.prototype, \"disabled\", void 0);\n__decorate([\n attr\n], SpinButton.prototype, \"name\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], SpinButton.prototype, \"required\", void 0);\n__decorate([\n attr\n], SpinButton.prototype, \"placeholder\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], SpinButton.prototype, \"error\", void 0);\n__decorate([\n observable\n], SpinButton.prototype, \"defaultSlottedNodes\", void 0);\n__decorate([\n observable\n], SpinButton.prototype, \"labelEl\", void 0);\n__decorate([\n observable\n], SpinButton.prototype, \"control\", void 0);\n__decorate([\n observable\n], SpinButton.prototype, \"spinState\", void 0);\n__decorate([\n observable\n], SpinButton.prototype, \"atBound\", void 0);\n//# sourceMappingURL=spin-button.js.map","import { css } from \"@microsoft/fast-element\";\nimport { borderRadiusMedium, colorCompoundBrandStroke, colorCompoundBrandStrokePressed, colorNeutralBackground1, colorNeutralBackground3, colorNeutralBackground3Pressed, colorNeutralForeground1, colorNeutralForeground3, colorNeutralForeground4, colorNeutralForegroundDisabled, colorNeutralStroke1, colorNeutralStroke1Hover, colorNeutralStroke1Pressed, colorNeutralStrokeAccessible, colorNeutralStrokeAccessibleHover, colorNeutralStrokeAccessiblePressed, colorNeutralStrokeDisabled, colorStatusDangerBorder2, colorTransparentBackground, colorTransparentStroke, colorTransparentStrokeInteractive, curveAccelerateMid, curveDecelerateMid, durationNormal, durationUltraFast, fontFamilyBase, fontSizeBase200, fontSizeBase300, fontWeightRegular, lineHeightBase200, lineHeightBase300, spacingHorizontalMNudge, spacingHorizontalSNudge, spacingHorizontalXS, spacingHorizontalXXS, spacingVerticalXS, strokeWidthThin, display } from \"@fluentui/web-components\";\nimport { sizeVerticalXXL, sizeVerticalXXXL } from \"@fabric-msft/theme\";\n/**\n * Styles for the SpinButton component.\n *\n * @public\n */\nexport const styles = css `\n ${display(\"block\")}\n\n :host {\n font-family: ${fontFamilyBase};\n font-size: ${fontSizeBase300};\n font-weight: ${fontWeightRegular};\n line-height: ${lineHeightBase300};\n max-width: 400px; /* @design-token-ok */\n }\n\n .label {\n display: flex;\n color: ${colorNeutralForeground1};\n padding-bottom: ${spacingVerticalXS};\n flex-shrink: 0;\n padding-inline-end: ${spacingHorizontalXS};\n }\n\n .label[hidden],\n :host(:empty) .label {\n display: none;\n }\n\n .root {\n align-items: center;\n background-color: ${colorNeutralBackground1};\n border: ${strokeWidthThin} solid ${colorNeutralStroke1};\n border-bottom-color: ${colorNeutralStrokeAccessible};\n border-radius: ${borderRadiusMedium};\n box-sizing: border-box;\n height: ${sizeVerticalXXXL};\n display: inline-flex;\n flex-direction: row;\n gap: ${spacingHorizontalXXS};\n padding: 0 0 0 ${spacingHorizontalMNudge};\n position: relative;\n width: 100%;\n }\n\n .root::after {\n box-sizing: border-box;\n content: \"\";\n position: absolute;\n inset-inline-start: -1px;\n bottom: 0px;\n inset-inline-end: -1px;\n height: max(2px, ${borderRadiusMedium});\n border-radius: 0 0 ${borderRadiusMedium} ${borderRadiusMedium};\n border-bottom: 2px solid ${colorCompoundBrandStroke};\n clip-path: inset(calc(100% - 2px) 1px 0px);\n transform: scaleX(0);\n transition-property: transform;\n transition-duration: ${durationUltraFast};\n transition-delay: ${curveAccelerateMid};\n }\n\n .control {\n flex: 1;\n min-width: 0;\n height: 100%;\n box-sizing: border-box;\n color: ${colorNeutralForeground1};\n border-radius: ${borderRadiusMedium};\n background: ${colorTransparentBackground};\n font-family: ${fontFamilyBase};\n font-weight: ${fontWeightRegular};\n font-size: ${fontSizeBase300};\n line-height: ${lineHeightBase300};\n border: none;\n padding: 0;\n text-align: start;\n }\n\n .control:focus-visible {\n outline: 0;\n border: 0;\n }\n\n .control::placeholder {\n color: ${colorNeutralForeground4};\n }\n\n :host ::slotted([slot=\"start\"]),\n :host ::slotted([slot=\"end\"]) {\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${colorNeutralForeground3};\n }\n\n :host ::slotted([slot=\"start\"]) {\n padding-inline-end: ${spacingHorizontalXXS};\n }\n\n :host ::slotted([slot=\"end\"]) {\n padding-inline-start: ${spacingHorizontalXXS};\n }\n\n .buttons {\n display: flex;\n flex-direction: column;\n height: 100%;\n flex-shrink: 0;\n }\n\n .increment-button,\n .decrement-button {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n border: none;\n background: ${colorTransparentBackground};\n color: ${colorNeutralForeground3};\n cursor: pointer;\n padding: 0 ${spacingHorizontalSNudge};\n flex: 1;\n min-height: 0;\n box-sizing: border-box;\n }\n\n .increment-button {\n justify-content: flex-end;\n border-start-end-radius: ${borderRadiusMedium};\n }\n\n .decrement-button {\n justify-content: flex-start;\n border-end-end-radius: ${borderRadiusMedium};\n }\n\n .increment-button:hover,\n .decrement-button:hover {\n background: ${colorNeutralBackground3};\n }\n\n .increment-button:active,\n .increment-button.pressed,\n .decrement-button:active,\n .decrement-button.pressed {\n color: ${colorNeutralForeground1};\n background: ${colorNeutralBackground3Pressed};\n }\n\n .increment-button:disabled,\n .decrement-button:disabled {\n color: ${colorNeutralForegroundDisabled};\n cursor: not-allowed;\n background: ${colorTransparentBackground};\n }\n\n /* --- Host states --- */\n\n :host(:hover) .root {\n border-color: ${colorNeutralStroke1Hover};\n border-bottom-color: ${colorNeutralStrokeAccessibleHover};\n }\n\n :host(:active) .root {\n border-color: ${colorNeutralStroke1Pressed};\n }\n\n :host(:focus-within) .root {\n outline: transparent solid 2px;\n border-bottom: 0;\n }\n\n :host(:focus-within) .root::after {\n transform: scaleX(1);\n transition-property: transform;\n transition-duration: ${durationNormal};\n transition-delay: ${curveDecelerateMid};\n }\n\n :host(:focus-within:active) .root::after {\n border-bottom-color: ${colorCompoundBrandStrokePressed};\n }\n\n :host(:focus-within) .root {\n border: ${strokeWidthThin} solid ${colorNeutralStroke1};\n }\n\n /* --- Disabled --- */\n\n :host([disabled]) .root {\n background: ${colorTransparentBackground};\n border: ${strokeWidthThin} solid ${colorNeutralStrokeDisabled};\n }\n\n :host([disabled]) .control,\n :host([disabled]) .control::placeholder,\n :host([disabled]) ::slotted([slot=\"start\"]),\n :host([disabled]) ::slotted([slot=\"end\"]) {\n color: ${colorNeutralForegroundDisabled};\n }\n\n /* --- Size: small --- */\n\n :host([control-size=\"small\"]) .control {\n font-size: ${fontSizeBase200};\n font-weight: ${fontWeightRegular};\n line-height: ${lineHeightBase200};\n }\n\n :host([control-size=\"small\"]) .root {\n height: ${sizeVerticalXXL};\n gap: ${spacingHorizontalXXS};\n padding: 0 0 0 ${spacingHorizontalSNudge};\n }\n\n /* --- Error --- */\n\n .root.error,\n :host(:hover) .root.error,\n :host(:active) .root.error,\n :host(:focus-within) .root.error {\n border: ${strokeWidthThin} solid ${colorStatusDangerBorder2};\n }\n\n :host(:has(.control:user-invalid)) .root {\n border: ${strokeWidthThin} solid ${colorStatusDangerBorder2};\n }\n\n /* --- Underline --- */\n\n :host([appearance=\"underline\"]) .root {\n background: ${colorTransparentBackground};\n border: 0;\n border-radius: 0;\n border-bottom: ${strokeWidthThin} solid ${colorNeutralStrokeAccessible};\n }\n\n :host([appearance=\"underline\"]:hover) .root {\n border-bottom-color: ${colorNeutralStrokeAccessibleHover};\n }\n\n :host([appearance=\"underline\"]:active) .root {\n border-bottom-color: ${colorNeutralStrokeAccessiblePressed};\n }\n\n :host([appearance=\"underline\"]:focus-within) .root {\n border: 0;\n border-bottom-color: ${colorNeutralStrokeAccessiblePressed};\n }\n\n :host([appearance=\"underline\"][disabled]) .root {\n border-bottom-color: ${colorNeutralStrokeDisabled};\n }\n\n /* --- Filled lighter / darker --- */\n\n :host([appearance=\"filled-lighter\"]) .root,\n :host([appearance=\"filled-darker\"]) .root {\n border: ${strokeWidthThin} solid ${colorTransparentStroke};\n }\n\n :host([appearance=\"filled-lighter\"]) .root {\n background: ${colorNeutralBackground1};\n }\n\n :host([appearance=\"filled-darker\"]) .root {\n background: ${colorNeutralBackground3};\n }\n\n :host([appearance=\"filled-lighter\"]:hover) .root,\n :host([appearance=\"filled-darker\"]:hover) .root {\n border-color: ${colorTransparentStrokeInteractive};\n }\n\n :host([appearance=\"filled-lighter\"]:active) .root,\n :host([appearance=\"filled-darker\"]:active) .root {\n border-color: ${colorTransparentStrokeInteractive};\n background: ${colorNeutralBackground3};\n }\n`;\n//# sourceMappingURL=spin-button.styles.js.map","import { html, ref, slotted } from \"@microsoft/fast-element\";\nimport { whitespaceFilter } from \"../../util/whitespace-filter.js\";\n/**\n * Default increment chevron icon (ChevronUp12Regular from @fluentui/svg-icons).\n * @internal\n */\nconst incrementIcon = html `\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M2.15 7.35c.2.2.5.2.7 0L6 4.21l3.15 3.14a.5.5 0 1 0 .7-.7l-3.5-3.5a.5.5 0 0 0-.7 0l-3.5 3.5a.5.5 0 0 0 0 .7Z\"\n />\n </svg>\n`;\n/**\n * Default decrement chevron icon (ChevronDown12Regular from @fluentui/svg-icons).\n * @internal\n */\nconst decrementIcon = html `\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M2.15 4.65c.2-.2.5-.2.7 0L6 7.79l3.15-3.14a.5.5 0 1 1 .7.7l-3.5 3.5a.5.5 0 0 1-.7 0l-3.5-3.5a.5.5 0 0 1 0-.7Z\"\n />\n </svg>\n`;\n/**\n * Generates a template for the SpinButton component.\n *\n * @public\n */\nexport function spinButtonTemplate() {\n return html `\n <template\n @focusin=\"${(x, c) => x.focusinHandler(c.event)}\"\n @keydown=\"${(x, c) => x.keydownHandler(c.event)}\"\n @keyup=\"${(x, c) => x.keyupHandler(c.event)}\"\n >\n <label class=\"label\" ${ref(\"labelEl\")}>\n <slot\n ${slotted({\n property: \"defaultSlottedNodes\",\n filter: whitespaceFilter\n })}\n ></slot>\n </label>\n <div class=\"root ${(x) => (x.error ? \"error\" : \"\")}\">\n <slot name=\"start\"></slot>\n <input\n class=\"control\"\n id=\"control\"\n type=\"text\"\n inputmode=\"decimal\"\n ?disabled=\"${(x) => x.disabled}\"\n ?required=\"${(x) => x.required}\"\n placeholder=\"${(x) => x.placeholder}\"\n @input=\"${(x) => x.inputHandler()}\"\n @blur=\"${(x) => x.blurHandler()}\"\n ${ref(\"control\")}\n />\n <slot name=\"end\"></slot>\n <div class=\"buttons\">\n <button\n aria-role=\"button\"\n class=\"increment-button ${(x) => x.spinState === \"up\" ? \"pressed\" : \"\"}\"\n tabindex=\"-1\"\n type=\"button\"\n ?disabled=\"${(x) => x.disabled}\"\n @mousedown=\"${(_, c) => c.event.preventDefault()}\"\n @click=\"${(x) => x.incrementHandler()}\"\n >\n ${incrementIcon}\n </button>\n <button\n aria-role=\"button\"\n class=\"decrement-button ${(x) => x.spinState === \"down\" ? \"pressed\" : \"\"}\"\n tabindex=\"-1\"\n type=\"button\"\n ?disabled=\"${(x) => x.disabled}\"\n @mousedown=\"${(_, c) => c.event.preventDefault()}\"\n @click=\"${(x) => x.decrementHandler()}\"\n >\n ${decrementIcon}\n </button>\n </div>\n </div>\n </template>\n `;\n}\n/**\n * @internal\n */\nexport const template = spinButtonTemplate();\n//# sourceMappingURL=spin-button.template.js.map","import { SpinButton } from \"./spin-button.js\";\nimport { styles as SpinButtonStyles } from \"./spin-button.styles.js\";\nimport { template as SpinButtonTemplate } from \"./spin-button.template.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric SpinButton component definition.\n *\n * @public\n * @remarks\n * HTML Element: fabric-spin-button;\n */\nexport const definition = SpinButton.compose({\n name: `${DesignSystem.prefix}-spin-button`,\n template: SpinButtonTemplate,\n styles: SpinButtonStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=spin-button.definition.js.map","import { Switch as FluentSwitch } from \"@fluentui/web-components\";\n/**\n * Switch\n * @summary A Fabric UI Switch component that extends Fluent UI's Switch with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-switch checked>\n * <span slot=\"switch\">Toggle</span>\n * </fabric-switch>\n * ```\n *\n * @attr {boolean | undefined} autofocus - Indicates that the element should get focus after the page finishes loading.\n * @attr {boolean | undefined} disabled - The disabled state of the control.\n * @attr {string | undefined} form - The id of a form to associate the element to.\n * @attr {boolean | undefined} checked - The initial checked state of the element.\n * @attr {string | undefined} value - The initial value of the input.\n * @attr {boolean | undefined} required - The required state of the element.\n * @attr {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n *\n * @prop {boolean} autofocus - Indicates that the element should get focus after the page finishes loading.\n * @prop {boolean} disabled - The disabled state of the control.\n * @prop {string} form - The id of a form to associate the element to.\n * @prop {boolean} checked - The initial checked state of the element.\n * @prop {boolean} required - The required state of the element.\n * @prop {string} value - The initial value of the input.\n * @prop {string} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n *\n * @slot switch - Custom slot for the switch indicator.\n *\n * @csspart checked-indicator - The part representing the checked state indicator.\n *\n * @method checkValidity - Checks the validity of the element and returns the result.\n * @method reportValidity - Reports the validity of the element.\n * @method setCustomValidity - Sets a custom validity message with the provided message.\n * @method toggleChecked - Toggles the checked state of the control, with an optional force parameter.\n *\n * @extends FluentSwitch\n * @tagname fabric-switch\n * @public\n */\nexport class Switch extends FluentSwitch {\n}\n//# sourceMappingURL=switch.js.map","import { Switch } from \"./switch.js\";\nimport { SwitchStyles, SwitchTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Switch component.\n *\n * @public\n */\nexport const definition = Switch.compose({\n name: `${DesignSystem.prefix}-switch`,\n template: SwitchTemplate,\n styles: SwitchStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=switch.definition.js.map","import { Tab as FluentTab } from \"@fluentui/web-components\";\n/**\n * Tab\n * @summary A Fabric UI Tab component that extends Fluent UI's Tab, providing a tab item for use within a tab list with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-tab disabled>\n * <span slot=\"start\">Icon</span>\n * Tab Title\n * <span slot=\"end\">Close</span>\n * </fabric-tab>\n * ```\n *\n * @attr {boolean} disabled - When true, the control will be immutable by user interaction.\n *\n * @prop {boolean} disabled - When true, the control will be immutable by user interaction.\n *\n * @slot start - Content before the tab content.\n * @slot default - The default slot for tab text or content.\n * @slot end - Content after the tab content.\n *\n * @csspart tab-content - The container for the tab's content.\n * @cssprop --textContent - Controls the tab text content styling.\n *\n * @extends FluentTab\n * @tagname fabric-tab\n * @public\n */\nexport class Tab extends FluentTab {\n}\n//# sourceMappingURL=tab.js.map","import { TabStyles, TabTemplate } from \"@fluentui/web-components\";\nimport { Tab } from \"./tab.js\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Tab component\n *\n * @public\n */\nexport const definition = Tab.compose({\n name: `${DesignSystem.prefix}-tab`,\n template: TabTemplate,\n styles: TabStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=tab.definition.js.map","import { TablistAppearance as FluentTablistAppearance, TablistOrientation as FluentTablistOrientation, TablistSize as FluentTablistSize } from \"@fluentui/web-components\";\n/** Appearance values for Tablist. */\nexport const TablistAppearances = {\n ...FluentTablistAppearance\n};\n/** Orientation values for Tablist. */\nexport const TablistOrientations = {\n ...FluentTablistOrientation\n};\n/** Size values for Tablist. */\nexport const TablistSizes = {\n ...FluentTablistSize\n};\n/** Event names for Tablist. */\nexport const TablistEventNames = {\n activeIndexChange: \"active-index-change\",\n change: \"change\"\n};\n//# sourceMappingURL=tablist.options.js.map","import { Tablist as FluentTablist } from \"@fluentui/web-components\";\nimport { TablistEventNames } from \"./tablist.options.js\";\n/**\n * Tablist\n * @summary A custom Tablist component based on Fluent UI's Tablist, enhanced with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-tablist appearance=\"subtle\" size=\"medium\" orientation=\"horizontal\" disabled=\"false\" activeid=\"tab1\">\n * <fabric-tab slot=\"tab\">Tab 1</fabric-tab>\n * <fabric-tab slot=\"tab\">Tab 2</fabric-tab>\n * <fabric-tab slot=\"tab\">Tab 3</fabric-tab>\n * </fabric-tablist>\n * ```\n *\n * @attr {string} appearance - There are two modes of appearance: transparent and subtle.\n * @attr {string} size - Used to set the size of all the tab controls, which affects text size and margins. Three sizes: small, medium, and large.\n * @attr {string} orientation - The orientation, which can be 'horizontal' or 'vertical'.\n * @attr {boolean} disabled - Used for disabling all click and keyboard events for the tabs, child tab elements.\n * @attr {string} activeid - The id of the active tab.\n *\n * @prop {TablistAppearance} appearance - There are two modes of appearance: transparent and subtle.\n * @prop {TablistSize} size - Used to set the size of all the tab controls, which affects text size and margins. Three sizes: small, medium, and large.\n * @prop {TablistOrientation} orientation - The orientation, which can be 'horizontal' or 'vertical'.\n * @prop {boolean} disabled - Used for disabling all click and keyboard events for the tabs, child tab elements.\n * @prop {string} activeid - The id of the active tab.\n *\n * @slot tab - Slot for individual tabs.\n *\n * @cssprop --tabIndicatorInsetBlock - Controls the block inset for the active tab indicator.\n * @cssprop --tabIndicatorInsetInline - Controls the inline inset for the active tab indicator.\n * @cssprop --tabIndicatorOffset - Offsets the active tab indicator from its default position.\n * @cssprop --tabIndicatorScale - Scales the active tab indicator size.\n * @cssprop --tabPaddingBlock - Sets the block padding for each tab.\n * @cssprop --tabPaddingInline - Sets the inline padding for each tab.\n *\n * @method activeidChanged - Initiates the active tab indicator animation loop when activeid changes.\n * @method activeTabIndexPublic - Returns the index of the currently active tab based on the activeid property.\n * @method tabsChanged - Initiates the active tab indicator animation loop when tabs change.\n * @method setTabs - Function that is invoked whenever the selected tab or the tab collection changes.\n * @method adjust - The adjust method for FASTTabs.\n *\n * @fires active-index-change - Event fired when the active tab index changes, providing the new index in the event detail.\n * @fires change - Event fired when the active tab id changes, providing the new id in the event detail.\n *\n * @extends FluentTablist\n * @tagname fabric-tablist\n * @public\n */\nexport class Tablist extends FluentTablist {\n get activeTabIndexPublic() {\n if (!this.tabs || !this.activeid)\n return -1;\n return this.tabs.findIndex((tab) => tab.id === this.activeid);\n }\n emitActiveIndexChange(activeTabIndex) {\n this.dispatchEvent(new CustomEvent(TablistEventNames.activeIndexChange, {\n detail: { activeTabIndex },\n bubbles: true,\n composed: true\n }));\n }\n // Example: emit event with the active tab index\n activeidChanged(oldValue, newValue) {\n super.activeidChanged(oldValue, newValue);\n this.emitActiveIndexChange(this.activeTabIndexPublic);\n }\n}\n//# sourceMappingURL=tablist.js.map","import { TablistStyles, TablistTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { Tablist } from \"./tablist.js\";\n/**\n * The Fabric Tablist component.\n *\n * @public\n */\nexport const definition = Tablist.compose({\n name: `${DesignSystem.prefix}-tablist`,\n template: TablistTemplate,\n styles: TablistStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=tablist.definition.js.map","import { TextArea as FluentTextArea } from \"@fluentui/web-components\";\n/**\n * TextArea\n * @summary A Fabric UI TextArea component that extends Fluent UI's TextArea with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-textarea\n * appearance=\"filled-darker\"\n * block\n * size=\"large\"\n * autocomplete=\"on\"\n * auto-resize\n * maxlength=\"500\"\n * minlength=\"10\"\n * placeholder=\"Enter text here...\"\n * readonly\n * required\n * >\n * <span slot=\"label\">Label</span>\n * Your text here...\n * </fabric-textarea>\n * ```\n *\n * @attr {TextAreaAppearance | undefined} appearance - Indicates the visual appearance of the element.\n * @attr {boolean | undefined} block - Indicates whether the textarea should be a block-level element.\n * @attr {TextAreaSize | undefined} size - Sets the size of the control.\n * @attr {TextAreaAutocomplete | undefined} autocomplete - Indicates the element's autocomplete state.\n * @attr {boolean | undefined} auto-resize - Indicates whether the element’s block size (height) should be automatically changed based on the content.\n * @attr {string | undefined} dirname - Sets the name of the value directionality to be submitted with form data.\n * @attr {boolean | undefined} display-shadow - Indicates whether the element displays a box shadow.\n * @attr {string | undefined} form - The id of a form to associate the element to.\n * @attr {number | undefined} maxlength - The maximum number of characters a user can enter.\n * @attr {number | undefined} minlength - The minimum number of characters a user can enter.\n * @attr {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @attr {string | undefined} placeholder - Sets the placeholder value of the element, generally used to provide a hint to the user.\n * @attr {boolean | undefined} readonly - When true, the control will be immutable by user interaction.\n * @attr {boolean | undefined} required - The element's required attribute.\n *\n * @prop {string} appearance - Indicates the visual appearance of the element.\n * @prop {boolean} block - Indicates whether the textarea should be a block-level element.\n * @prop {TextAreaSize} size - Sets the size of the control.\n * @prop {TextAreaAutocomplete} autocomplete - Indicates the element's autocomplete state.\n * @prop {boolean} autoResize - Indicates whether the element’s block size (height) should be automatically changed based on the content.\n * @prop {string} dirname - Sets the name of the value directionality to be submitted with form data.\n * @prop {boolean} displayShadow - Indicates whether the element displays a box shadow.\n * @prop {string} form - The id of a form to associate the element to.\n * @prop {number} maxlength - The maximum number of characters a user can enter.\n * @prop {number} minlength - The minimum number of characters a user can enter.\n * @prop {string} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @prop {string} placeholder - Sets the placeholder value of the element, generally used to provide a hint to the user.\n * @prop {boolean} readonly - When true, the control will be immutable by user interaction.\n * @prop {boolean} required - The element's required attribute.\n *\n * @slot - The default content/value of the component.\n * @slot label - The content for the `<label>`, it should be a `<fluent-label>` element.\n *\n * @csspart label - The `<label>` element.\n * @csspart root - The container element of the `<textarea>` element.\n * @csspart control - The internal `<textarea>` element.\n *\n * @method checkValidity - Checks the validity of the element and returns the result.\n * @method reportValidity - Reports the validity of the element.\n * @method setCustomValidity - Sets the custom validity message.\n * @method select - Selects the content in the element.\n *\n * @fires change - Fires after the control loses focus, if the content has changed.\n * @fires select - Fires when the `select()` method is called.\n *\n * @extends FluentTextArea\n * @tagname fabric-textarea\n * @public\n */\nexport class TextArea extends FluentTextArea {\n}\n//# sourceMappingURL=textarea.js.map","import { TextAreaStyles, TextAreaTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system\";\nimport { TextArea } from \"./textarea\";\n/**\n * The Fabric Text Area component.\n *\n * @public\n */\nexport const definition = TextArea.compose({\n name: `${DesignSystem.prefix}-textarea`,\n template: TextAreaTemplate,\n styles: TextAreaStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=textarea.definition.js.map","import { TextAreaAppearance as FluentTextAreaAppearance, TextAreaAutocomplete as FluentTextAreaAutocomplete, TextAreaResize as FluentTextAreaResize, TextAreaSize as FluentTextAreaSize, TextAreaAppearancesForDisplayShadow as FluentTextAreaAppearancesForDisplayShadow } from \"@fluentui/web-components\";\n/** Appearance values for {@link TextArea}. */\nexport const TextareaAppearances = { ...FluentTextAreaAppearance };\n/** Autocomplete values for {@link TextArea}. */\nexport const TextareaAutocompletes = { ...FluentTextAreaAutocomplete };\n/** Resize values for {@link TextArea}. */\nexport const TextareaResizes = { ...FluentTextAreaResize };\n/** Size values for {@link TextArea}. */\nexport const TextareaSizes = { ...FluentTextAreaSize };\n/** Appearance values that support display shadows for {@link TextArea}. */\nexport const TextareaAppearancesForDisplayShadows = [\n ...FluentTextAreaAppearancesForDisplayShadow\n];\n//# sourceMappingURL=textarea.options.js.map","import { html, ref, slotted } from \"@microsoft/fast-element\";\nimport { whitespaceFilter } from \"../../util/whitespace-filter.js\";\n/**\n * Generates a template for the TextInput component.\n *\n * @public\n */\nexport function textInputTemplate() {\n return html `\n <template\n @beforeinput=\"${(x, c) => x.beforeinputHandler(c.event)}\"\n @focusin=\"${(x, c) => x.focusinHandler(c.event)}\"\n @keydown=\"${(x, c) => x.keydownHandler(c.event)}\"\n >\n <label part=\"label\" for=\"control\" class=\"label\" ${ref(\"controlLabel\")}>\n <slot\n ${slotted({\n property: \"defaultSlottedNodes\",\n filter: whitespaceFilter\n })}\n ></slot>\n </label>\n <div class=\"root\" part=\"root\">\n <slot name=\"start\"></slot>\n <input\n class=\"control\"\n part=\"control\"\n id=\"control\"\n @change=\"${(x, c) => x.changeHandler(c.event)}\"\n @input=\"${(x, c) => x.inputHandler(c.event)}\"\n ?autofocus=\"${(x) => x.autofocus}\"\n autocomplete=\"${(x) => x.autocomplete}\"\n ?disabled=\"${(x) => x.disabled}\"\n list=\"${(x) => x.list}\"\n maxlength=\"${(x) => x.maxlength}\"\n minlength=\"${(x) => x.minlength}\"\n ?multiple=\"${(x) => x.multiple}\"\n name=\"${(x) => x.name}\"\n pattern=\"${(x) => x.pattern}\"\n placeholder=\"${(x) => x.placeholder}\"\n ?readonly=\"${(x) => x.readOnly}\"\n ?required=\"${(x) => x.required}\"\n size=\"${(x) => x.size}\"\n spellcheck=\"${(x) => x.spellcheck}\"\n type=\"${(x) => x.type}\"\n value=\"${(x) => x.initialValue}\"\n ${ref(\"control\")}\n />\n <slot name=\"end\"></slot>\n </div>\n </template>\n `;\n}\n/**\n * @internal\n */\nexport const template = textInputTemplate();\n//# sourceMappingURL=text-input.template.js.map","import { TextInput } from \"./text-input.js\";\nimport { styles as TextInputStyles } from \"./text-input.styles\";\nimport { template as TextInputTemplate } from \"./text-input.template\";\nimport { DesignSystem } from \"../design-system\";\n/**\n * The Fabric Text Input component.\n *\n * @public\n */\nexport const definition = TextInput.compose({\n name: `${DesignSystem.prefix}-text-input`,\n template: TextInputTemplate,\n styles: TextInputStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=text-input.definition.js.map","import { Text as FluentText } from \"@fluentui/web-components\";\n/**\n * Text\n * @summary A Text Custom HTML Element based on Fluent UI's Text with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-text nowrap size=\"700\" weight=\"bold\" align=\"center\">\n * Your text here\n * </fabric-text>\n * ```\n *\n * @attr {boolean} nowrap - The text will not wrap. Boolean attributes which default to true in HTML can't be switched off in the DOM.\n * @attr {boolean} truncate - The text truncates.\n * @attr {boolean} italic - The text style is italic.\n * @attr {boolean} underline - The text style is underline.\n * @attr {boolean} strikethrough - The text style is strikethrough.\n * @attr {boolean} block - A text can take up the width of its container.\n * @attr {TextSize} size - The Text size. One of '100', '200', '300', '400', '500', '600', '700', '800', '900', '1000'.\n * @attr {TextFont} font - The Text font. One of 'base', 'numeric', 'monospace'.\n * @attr {TextWeight} weight - The Text weight. One of 'medium', 'regular', 'semibold', 'bold'.\n * @attr {TextAlign} align - The Text alignment. One of 'start', 'end', 'center', 'justify'.\n *\n * @prop {boolean} nowrap - The text will not wrap.\n * @prop {boolean} truncate - The text truncates.\n * @prop {boolean} italic - The text style is italic.\n * @prop {boolean} underline - The text style is underline.\n * @prop {boolean} strikethrough - The text style is strikethrough.\n * @prop {boolean} block - A text can take up the width of its container.\n * @prop {TextSize} size - The Text size.\n * @prop {TextFont} font - The Text font.\n * @prop {TextWeight} weight - The Text weight.\n * @prop {TextAlign} align - The Text alignment.\n *\n * @slot default - The default slot for text content.\n *\n * @extends FluentText\n * @tagname fabric-text\n * @public\n */\nexport class Text extends FluentText {\n}\n//# sourceMappingURL=text.js.map","import { Text } from \"./text.js\";\nimport { TextStyles, TextTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Text component.\n *\n * @public\n */\nexport const definition = Text.compose({\n name: `${DesignSystem.prefix}-text`,\n template: TextTemplate,\n styles: TextStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=text.definition.js.map","import { TextAlign as FluentTextAlign, TextFont as FluentTextFont, TextSize as FluentTextSize, TextWeight as FluentTextWeight } from \"@fluentui/web-components\";\nexport const TextAligns = { ...FluentTextAlign };\nexport const TextFonts = { ...FluentTextFont };\nexport const TextSizes = { ...FluentTextSize };\nexport const TextWeights = { ...FluentTextWeight };\n//# sourceMappingURL=text.options.js.map","import { Tree as FluentTree } from \"@fluentui/web-components\";\n/**\n * Tree\n * @summary A Fabric UI Tree component that extends Fluent UI's Tree with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-tree size=\"medium\" appearance=\"subtle\">\n * <fabric-tree-item expanded>\n * Root Item\n * <fabric-tree-item>Child Item 1</fabric-tree-item>\n * <fabric-tree-item selected>Child Item 2</fabric-tree-item>\n * </fabric-tree-item>\n * </fabric-tree>\n * ```\n *\n * @attr {string | undefined} size - The size of tree items within this tree (small, medium).\n * @attr {string | undefined} appearance - The appearance variant of tree items (subtle, subtleAlpha, transparent).\n *\n * @prop {string} size - The size of tree items within this tree.\n * @prop {string} appearance - The appearance variant of tree items.\n * @prop {HTMLElement | null} currentSelected - The currently selected tree item.\n * @prop {Array} childTreeItems - Array of immediate child tree items.\n *\n * @slot default - Container for tree-item elements that make up the tree structure.\n *\n * @csspart root - The component's outermost element.\n *\n * @method keydownHandler - Handles keyboard navigation (arrow keys, home, end, enter, space).\n * @method focusHandler - Manages focus behavior when tree receives focus.\n * @method blurHandler - Manages focus behavior when tree loses focus.\n * @method clickHandler - Handles click events from child tree items.\n * @method changeHandler - Handles selection change events from child tree items.\n * @method updateSizeAndAppearance - Updates size and appearance of all child tree items.\n *\n * @fires change - Fired when a tree item selection changes.\n *\n * @extends FluentTree\n * @tagname fabric-tree\n * @public\n */\nexport class Tree extends FluentTree {\n /**\n * Overrides the upstream click handler to resolve the closest tree item\n * from the event target. The upstream implementation uses `e.target` directly,\n * which fails when the click originates from a child element (e.g., an icon\n * in the `start` slot or text inside the default slot wrapper).\n *\n * @internal\n */\n clickHandler(e) {\n if (e.defaultPrevented) {\n return;\n }\n const item = this.findClosestTreeItem(e.target);\n if (!item) {\n return true;\n }\n item.toggleExpansion();\n // Deselect previously selected item before selecting the new one\n if (this.currentSelected &&\n this.currentSelected !== item) {\n this.currentSelected.selected = false;\n }\n item.selected = true;\n this.currentSelected = item;\n }\n /**\n * Walks up the DOM from the event target to find the nearest tree item.\n * The upstream `isTreeItem` check uses `e.target` directly, which fails\n * when the click originates from a slotted child element (e.g., an icon\n * in the `start` slot or text inside the default slot wrapper).\n */\n findClosestTreeItem(target) {\n var _a;\n let el = target;\n while (el && el !== this) {\n if ((_a = el.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase().endsWith(\"-tree-item\")) {\n return el;\n }\n el = el.parentElement;\n }\n return undefined;\n }\n}\n//# sourceMappingURL=tree.js.map","import { TreeStyles, TreeTemplate } from \"@fluentui/web-components\";\nimport { Tree } from \"./tree\";\nimport { DesignSystem } from \"../design-system\";\n/**\n * The Fabric Tree component.\n *\n * @public\n */\nexport const definition = Tree.compose({\n name: `${DesignSystem.prefix}-tree`,\n template: TreeTemplate,\n styles: TreeStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=tree.definition.js.map","import { TreeItem as FluentTreeItem } from \"@fluentui/web-components\";\n/**\n * TreeItem\n * @summary A Fabric UI TreeItem component that extends Fluent UI's TreeItem with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-tree-item expanded selected>\n * <span slot=\"start\">📁</span>\n * Folder Name\n * <span slot=\"end\">🔔</span>\n * <fabric-tree-item>Child Item</fabric-tree-item>\n * </fabric-tree-item>\n * ```\n *\n * @attr {boolean | undefined} expanded - Whether the tree item is expanded to show child items.\n * @attr {boolean | undefined} selected - Whether the tree item is selected.\n * @attr {boolean | undefined} empty - Whether the tree item has no child items.\n * @attr {string | undefined} size - The size of the tree item (small, medium).\n * @attr {string | undefined} appearance - The appearance variant (subtle, subtleAlpha, transparent).\n * @attr {string | undefined} title - Optional tooltip text. When omitted, the component auto-sets a\n * native tooltip when text is truncated. Set `title=\"\"` to suppress the auto tooltip (e.g., when\n * using `<fabric-tooltip>` instead). Set `title=\"Custom text\"` to always show a specific tooltip.\n * @attr {number | undefined} data-indent - The indentation level for nested items.\n *\n * @prop {boolean} expanded - Whether the tree item is expanded.\n * @prop {boolean} selected - Whether the tree item is selected.\n * @prop {boolean} empty - Whether the tree item has no child items.\n * @prop {string} size - The size of the tree item.\n * @prop {string} appearance - The appearance variant.\n * @prop {number} dataIndent - The indentation level.\n * @prop {Array} childTreeItems - Array of child tree items.\n * @prop {boolean} isNestedItem - Whether this item is nested within another tree item.\n *\n * @slot default - The main content of the tree item.\n * @slot start - Content displayed before the main content (typically icons).\n * @slot end - Content displayed after the main content.\n * @slot aside - Content displayed at the far end of the tree item.\n * @slot chevron - Custom expand/collapse indicator (defaults to built-in chevron).\n * @slot item - Container where child tree items are automatically placed.\n *\n * @csspart positioning-region - Container for the tree item content and aside sections.\n * @csspart content - Container for the main tree item content (chevron, start, default, end slots).\n * @csspart chevron - The expand/collapse indicator.\n * @csspart aside - Container for the aside slot content.\n * @csspart items - Container for nested child tree items.\n *\n * @method toggleExpansion - Toggles the expanded state if the item has children.\n * @method updateChildTreeItems - Updates the indentation and appearance of child items.\n * @method updateSizeAndAppearance - Updates size and appearance of all child tree items.\n *\n * @fires toggle - Fired when the expanded state changes. Detail: {oldState: string, newState: string}\n * @fires change - Fired when the selected state changes.\n *\n * @extends FluentTreeItem\n * @tagname fabric-tree-item\n * @public\n */\nexport class TreeItem extends FluentTreeItem {\n constructor() {\n super(...arguments);\n this.isObservingResize = false;\n }\n /** @internal */\n get textEl() {\n return this._textEl;\n }\n set textEl(el) {\n if (this._textEl === el) {\n return;\n }\n this.stopResizeObserving();\n this._textEl = el;\n if (this.isConnected) {\n this.syncTitle();\n }\n }\n connectedCallback() {\n super.connectedCallback();\n this.titleObserver = new MutationObserver(() => this.syncTitle());\n this.titleObserver.observe(this, {\n attributes: true,\n attributeFilter: [\"title\"]\n });\n this.syncTitle();\n }\n disconnectedCallback() {\n var _a;\n super.disconnectedCallback();\n this.stopResizeObserving();\n (_a = this.titleObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n this.titleObserver = undefined;\n }\n /**\n * Reconciles the title tooltip and resize observation state.\n * Every entry point (connect, textEl change, title attr change, resize)\n * converges here so the logic lives in one place.\n * @internal\n */\n syncTitle() {\n const el = this._textEl;\n if (!el) {\n return;\n }\n if (this.hasAttribute(\"title\")) {\n // Manual mode: consumer owns the tooltip — no resize observation needed.\n this.stopResizeObserving();\n el.title = this.title;\n }\n else {\n // Auto mode: observe resize and detect truncation.\n this.startResizeObserving();\n el.title = el.scrollWidth > el.clientWidth ? this.getSlottedText(el) : \"\";\n }\n }\n getSlottedText(el) {\n var _a, _b;\n const slot = el.querySelector(\"slot\");\n return slot\n ? slot\n .assignedNodes({ flatten: true })\n .map((n) => { var _a; return (_a = n.textContent) !== null && _a !== void 0 ? _a : \"\"; })\n .join(\" \")\n .replace(/\\s+/g, \" \")\n .trim()\n : ((_b = (_a = el.textContent) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : \"\");\n }\n startResizeObserving() {\n if (this.isObservingResize || !this._textEl) {\n return;\n }\n TreeItem.observedItems.set(this._textEl, this);\n TreeItem.sharedResizeObserver.observe(this._textEl);\n this.isObservingResize = true;\n }\n stopResizeObserving() {\n if (!this.isObservingResize || !this._textEl) {\n return;\n }\n TreeItem.sharedResizeObserver.unobserve(this._textEl);\n TreeItem.observedItems.delete(this._textEl);\n this.isObservingResize = false;\n }\n}\nTreeItem.observedItems = new WeakMap();\nTreeItem.sharedResizeObserver = new ResizeObserver((entries) => {\n var _a;\n for (const entry of entries) {\n (_a = TreeItem.observedItems.get(entry.target)) === null || _a === void 0 ? void 0 : _a.syncTitle();\n }\n});\n//# sourceMappingURL=tree-item.js.map","import { html, ref } from \"@microsoft/fast-element\";\nconst chevronIcon = html.partial(`<svg viewBox=\"0 0 12 12\" fill=\"currentColor\"><path d=\"M4.65 2.15a.5.5 0 000 .7L7.79 6 4.65 9.15a.5.5 0 10.7.7l3.5-3.5a.5.5 0 000-.7l-3.5-3.5a.5.5 0 00-.7 0z\"></path></svg>`);\nexport const template = html `\n <template slot=\"${(x) => (x.isNestedItem ? \"item\" : void 0)}\">\n <div class=\"positioning-region\" part=\"positioning-region\">\n <div class=\"content\" part=\"content\">\n <span class=\"chevron\" part=\"chevron\" aria-hidden=\"true\">\n <slot name=\"chevron\">${chevronIcon}</slot>\n </span>\n <slot name=\"start\"></slot>\n <div class=\"text\" ${ref(\"textEl\")}><slot></slot></div>\n <slot name=\"end\"></slot>\n </div>\n <div class=\"aside\" part=\"aside\">\n <slot name=\"aside\"></slot>\n </div>\n </div>\n <div role=\"group\" class=\"items\" part=\"items\">\n <slot\n name=\"item\"\n ${ref(\"itemSlot\")}\n @slotchange=\"${(x) => x.handleItemSlotChange()}\"\n ></slot>\n </div>\n </template>\n`;\n//# sourceMappingURL=tree-item.template.js.map","import { TreeItemStyles } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const styles = css `\n ${TreeItemStyles}\n\n .content {\n min-inline-size: 0;\n }\n\n .text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; /* @design-token-ok: CSS property */\n }\n`;\n//# sourceMappingURL=tree-item.styles.js.map","import { TreeItem } from \"./tree-item.js\";\nimport { template } from \"./tree-item.template.js\";\nimport { styles } from \"./tree-item.styles.js\";\nimport { DesignSystem } from \"../design-system\";\n/**\n * The Fabric TreeItem component.\n *\n * @public\n */\nexport const definition = TreeItem.compose({\n name: `${DesignSystem.prefix}-tree-item`,\n template,\n styles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=tree-item.definition.js.map","import { ToggleButton as FluentToggleButton } from \"@fluentui/web-components\";\n/**\n * ToggleButton\n * @summary A ToggleButton Custom HTML Element based on Fluent UI's ToggleButton with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-toggle-button appearance=\"primary\" shape=\"rounded\" size=\"large\" type=\"submit\" autofocus>\n * <span slot=\"start\">🚀</span>\n * Toggle me!\n * <span slot=\"end\">→</span>\n * </fabric-toggle-button>\n * ```\n *\n * @attr {boolean | undefined} pressed - Indicates the pressed state of the control.\n * @attr {boolean | undefined} mixed - Indicates the mixed state of the control. This property takes precedence over `pressed`.\n * @attr {ToggleButtonAppearance | undefined} appearance - Indicates the styled appearance of the button.\n * @attr {ToggleButtonShape | undefined} shape - The shape of the button.\n * @attr {ToggleButtonSize | undefined} size - The size of the button.\n * @attr {boolean | undefined} icon-only - Indicates that the button should only display as an icon with no text content.\n * @attr {boolean | undefined} autofocus - Indicates the button should be focused when the page is loaded.\n * @attr {boolean | undefined} disabled - Sets the element's disabled state.\n * @attr {boolean | undefined} disabled-focusable - Indicates that the button is focusable while disabled.\n * @attr {number | undefined} tabindex - Sets that the button tabindex attribute.\n * @attr {string | undefined} form - The associated form element.\n * @attr {string | undefined} formaction - The URL that processes the form submission.\n * @attr {string | undefined} formenctype - The encoding type for the form submission.\n * @attr {string | undefined} formmethod - The HTTP method that the browser uses to submit the form.\n * @attr {boolean | undefined} formnovalidate - Indicates that the form will not be validated when submitted.\n * @attr {ToggleButtonFormTarget | undefined} formtarget - The target frame or window to open the form submission in.\n * @attr {string | undefined} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @attr {ToggleButtonType | undefined} type - The button type.\n * @attr {string | undefined} value - The value attribute.\n *\n * @prop {boolean} pressed - Indicates the pressed state of the control.\n * @prop {boolean} mixed - Indicates the mixed state of the control. This property takes precedence over `pressed`.\n * @prop {ToggleButtonAppearance} appearance - Indicates the styled appearance of the button.\n * @prop {ToggleButtonShape} shape - The shape of the button.\n * @prop {ToggleButtonSize} size - The size of the button.\n * @prop {boolean} icon-only - Indicates that the button should only display as an icon with no text content.\n * @prop {boolean} autofocus - Indicates the button should be focused when the page is loaded.\n * @prop {boolean} disabled - Sets the element's disabled state.\n * @prop {boolean} disabled-focusable - Indicates that the button is focusable while disabled.\n * @prop {number} tabindex - Sets that the button tabindex attribute.\n * @prop {string} form - The associated form element.\n * @prop {string} formaction - The URL that processes the form submission.\n * @prop {string} formenctype - The encoding type for the form submission.\n * @prop {string} formmethod - The HTTP method that the browser uses to submit the form.\n * @prop {boolean} formnovalidate - Indicates that the form will not be validated when submitted.\n * @prop {ToggleButtonFormTarget} formtarget - The target frame or window to open the form submission in.\n * @prop {string} name - The name of the element. This element's value will be surfaced during form submission under the provided name.\n * @prop {ToggleButtonType} type - The button type.\n * @prop {string} value - The value attribute.\n *\n * @slot start - Content which can be provided before the button content.\n * @slot end - Content which can be provided after the button content.\n * @slot - The default slot for button content.\n *\n * @csspart content - The button content container.\n *\n * @method press - Toggles the pressed state of the button.\n * @method keypressHandler - Handles keypress events for the button.\n * @method resetForm - Resets the associated form.\n *\n * @extends FluentToggleButton\n * @tagname fabric-toggle-button\n * @public\n */\nexport class ToggleButton extends FluentToggleButton {\n}\n//# sourceMappingURL=toggle-button.js.map","import { ToggleButtonAppearance as FluentButtonAppearance, ToggleButtonShape as FluentButtonShape, ToggleButtonSize as FluentButtonSize, ButtonFormTarget as FluentButtonFormTarget, ButtonType as FluentButtonType } from \"@fluentui/web-components\";\n/** Appearance values for {@link ToggleButton}. */\nexport const ToggleButtonAppearances = {\n ...FluentButtonAppearance\n};\n/** Shape values for {@link ToggleButton}. */\nexport const ToggleButtonShapes = { ...FluentButtonShape };\n/** Size values for {@link ToggleButton}. */\nexport const ToggleButtonSizes = { ...FluentButtonSize };\n/** Type values for {@link ToggleButton}. */\nexport const ToggleButtonTypes = { ...FluentButtonType };\n/** Type values for {@link ToggleButton}. */\nexport const ToggleButtonFormTargets = { ...FluentButtonFormTarget };\n//# sourceMappingURL=toggle-button.options.js.map","import { ToggleButtonStyles, ToggleButtonTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\nimport { ToggleButton } from \"./toggle-button.js\";\n/**\n * The Fabric Toggle Button component.\n *\n * @public\n */\nexport const definition = ToggleButton.compose({\n name: `${DesignSystem.prefix}-toggle-button`,\n template: ToggleButtonTemplate,\n styles: ToggleButtonStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=toggle-button.definition.js.map","import { Tooltip as FluentTooltip } from \"@fluentui/web-components\";\nimport { keyEscape, uniqueId } from \"@microsoft/fast-web-utilities\";\n/**\n * Tooltip\n * @summary A custom HTML Tooltip element based on Fluent UI's Tooltip, enhanced with custom styling and behavior.\n *\n * @example\n * ```html\n * <fabric-tooltip id=\"exampleTooltip\" anchor=\"buttonId\" delay=\"300\" positioning=\"above\">\n * Tooltip content\n * </fabric-tooltip>\n * ```\n *\n * @attr {string} id - The item ID.\n * @attr {number | null} delay - Set the delay for the tooltip to appear.\n * @attr {string} positioning - Set the positioning of the tooltip relative to the anchor element.\n * @attr {string} anchor - The id of the anchor element for the tooltip.\n *\n * @prop {string} id - The item ID.\n * @prop {number | null} delay - Set the delay for the tooltip to appear.\n * @prop {string} positioning - Set the positioning of the tooltip relative to the anchor element.\n * @prop {string} anchor - The id of the anchor element for the tooltip.\n *\n * @slot - The default slot for the tooltip content.\n *\n * @cssprop --block-offset - Offset applied along the block axis for tooltip positioning.\n * @cssprop --inline-offset - Offset applied along the inline axis for tooltip positioning.\n * @cssprop --position-area - CSS position area used to place the tooltip.\n * @cssprop --position-try-options - CSS position-try options for tooltip fallback placement.\n *\n * @extends FluentTooltip\n * @tagname fabric-tooltip\n * @public\n */\nexport class Tooltip extends FluentTooltip {\n constructor() {\n super(...arguments);\n this.anchorListenerTarget = null;\n this._ownedAnchorName = false;\n /**\n * The closest popover ancestor of the anchor, tracked so the tooltip\n * can be hidden immediately when the containing popover closes.\n * @internal\n */\n this._popoverAncestor = null;\n /**\n * Handles Escape key to dismiss the tooltip.\n * Required because `popover=\"manual\"` does not support native light-dismiss.\n */\n this.handleKeydown = (e) => {\n if (e.key !== keyEscape) {\n return;\n }\n this.hideImmediately();\n };\n /**\n * Handles beforetoggle events from the ancestor popover. When the ancestor\n * is about to close, the tooltip hides immediately to prevent a position flash.\n * Uses beforetoggle instead of toggle because it fires synchronously before\n * the popover state changes, eliminating any rendering frame where the tooltip\n * could appear at 0,0 with an invisible anchor.\n * @internal\n */\n this.handleAncestorToggle = (e) => {\n if (\"newState\" in e && e.newState === \"closed\") {\n this.hideImmediately();\n }\n };\n }\n anchorChanged() {\n this.detachAnchorListeners();\n if (!this.isConnected)\n return;\n const anchor = this.resolvedAnchorElement;\n if (!anchor)\n return;\n this.anchorListenerTarget = anchor;\n this.addDescribedBy(anchor);\n anchor.addEventListener(\"focus\", this.focusAnchorHandler);\n anchor.addEventListener(\"blur\", this.blurAnchorHandler);\n anchor.addEventListener(\"mouseenter\", this.mouseenterAnchorHandler);\n anchor.addEventListener(\"mouseleave\", this.mouseleaveAnchorHandler);\n const existingAnchorName = anchor.style.getPropertyValue(\"anchor-name\");\n const anchorName = existingAnchorName || `--${this.anchor}`;\n this._ownedAnchorName = !existingAnchorName;\n anchor.style.setProperty(\"anchor-name\", anchorName);\n this.style.setProperty(\"position-anchor\", anchorName);\n }\n connectedCallback() {\n const anchor = this.resolvedAnchorElement;\n const hadAnchorName = !!(anchor === null || anchor === void 0 ? void 0 : anchor.style.getPropertyValue(\"anchor-name\"));\n super.connectedCallback();\n this.anchorListenerTarget = anchor;\n if (anchor) {\n this._ownedAnchorName = !hadAnchorName;\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.detachAnchorListeners();\n this.clearTimers();\n this.removePopoverToggleListener();\n document.removeEventListener(\"keydown\", this.handleKeydown);\n }\n detachAnchorListeners() {\n if (!this.anchorListenerTarget)\n return;\n this.anchorListenerTarget.removeEventListener(\"focus\", this.focusAnchorHandler);\n this.anchorListenerTarget.removeEventListener(\"blur\", this.blurAnchorHandler);\n this.anchorListenerTarget.removeEventListener(\"mouseenter\", this.mouseenterAnchorHandler);\n this.anchorListenerTarget.removeEventListener(\"mouseleave\", this.mouseleaveAnchorHandler);\n this.removeDescribedBy(this.anchorListenerTarget);\n if (this._ownedAnchorName) {\n this.anchorListenerTarget.style.removeProperty(\"anchor-name\");\n this._ownedAnchorName = false;\n }\n this.style.removeProperty(\"position-anchor\");\n this.anchorListenerTarget = null;\n }\n /**\n * Resolves the anchor element from the DOM.\n */\n get resolvedAnchorElement() {\n var _a;\n const root = this.getRootNode();\n const scope = root instanceof ShadowRoot || root instanceof Document ? root : document;\n return scope.getElementById((_a = this.anchor) !== null && _a !== void 0 ? _a : \"\");\n }\n addDescribedBy(el) {\n var _a, _b;\n if (!this.id) {\n this.id = uniqueId(\"tooltip-\");\n }\n const tokens = (_b = (_a = el.getAttribute(\"aria-describedby\")) === null || _a === void 0 ? void 0 : _a.split(/\\s+/).filter(Boolean)) !== null && _b !== void 0 ? _b : [];\n if (!tokens.includes(this.id)) {\n tokens.push(this.id);\n el.setAttribute(\"aria-describedby\", tokens.join(\" \"));\n }\n }\n removeDescribedBy(el) {\n var _a;\n const raw = el.getAttribute(\"aria-describedby\");\n const tokens = (_a = raw === null || raw === void 0 ? void 0 : raw.split(/\\s+/).filter((t) => t !== this.id && Boolean(t))) !== null && _a !== void 0 ? _a : [];\n if (tokens.length > 0) {\n el.setAttribute(\"aria-describedby\", tokens.join(\" \"));\n }\n else {\n el.removeAttribute(\"aria-describedby\");\n }\n }\n clearTimers() {\n clearTimeout(this.showTimer);\n this.showTimer = undefined;\n clearTimeout(this.hideTimer);\n this.hideTimer = undefined;\n }\n /**\n * Immediately hides the tooltip, cancelling any pending timers.\n * @internal\n */\n hideImmediately() {\n this.clearTimers();\n this.removePopoverToggleListener();\n this.setAttribute(\"aria-hidden\", \"true\");\n try {\n this.hidePopover();\n }\n catch {\n /* already closed */\n }\n document.removeEventListener(\"keydown\", this.handleKeydown);\n }\n /**\n * Adds a beforetoggle listener to the closest popover ancestor of the anchor.\n * When the ancestor is about to close, the tooltip hides immediately to prevent a position flash.\n * @internal\n */\n addPopoverToggleListener() {\n var _a;\n this.removePopoverToggleListener();\n const popover = (_a = this.resolvedAnchorElement) === null || _a === void 0 ? void 0 : _a.closest(\"[popover]\");\n if (popover instanceof HTMLElement) {\n this._popoverAncestor = popover;\n popover.addEventListener(\"beforetoggle\", this.handleAncestorToggle);\n }\n }\n /**\n * Removes the beforetoggle listener from the tracked ancestor popover.\n * @internal\n */\n removePopoverToggleListener() {\n if (this._popoverAncestor) {\n this._popoverAncestor.removeEventListener(\"beforetoggle\", this.handleAncestorToggle);\n this._popoverAncestor = null;\n }\n }\n /**\n * Shows the tooltip after the specified delay.\n * Cancels any pending hide timer to prevent conflicts.\n * @param delay - Number of milliseconds to delay showing the tooltip\n * @internal\n */\n showTooltip(delay) {\n var _a;\n this.clearTimers();\n this.addPopoverToggleListener();\n const resolvedDelay = (_a = delay !== null && delay !== void 0 ? delay : this.delay) !== null && _a !== void 0 ? _a : Tooltip.DEFAULT_DELAY;\n this.showTimer = setTimeout(() => {\n this.showTimer = undefined;\n this.setAttribute(\"aria-hidden\", \"false\");\n this.showPopover();\n document.addEventListener(\"keydown\", this.handleKeydown);\n }, resolvedDelay);\n }\n /** @internal */\n hideTooltip(delay) {\n var _a;\n this.clearTimers();\n const resolvedDelay = (_a = delay !== null && delay !== void 0 ? delay : this.delay) !== null && _a !== void 0 ? _a : Tooltip.DEFAULT_DELAY;\n this.hideTimer = setTimeout(() => {\n var _a;\n this.hideTimer = undefined;\n if (this.matches(\":hover\") ||\n ((_a = this.resolvedAnchorElement) === null || _a === void 0 ? void 0 : _a.matches(\":hover\"))) {\n this.hideTooltip(resolvedDelay);\n return;\n }\n this.removePopoverToggleListener();\n this.setAttribute(\"aria-hidden\", \"true\");\n this.hidePopover();\n document.removeEventListener(\"keydown\", this.handleKeydown);\n }, resolvedDelay);\n }\n}\nTooltip.DEFAULT_DELAY = 250;\n//# sourceMappingURL=tooltip.js.map","import { Tooltip } from \"./tooltip.js\";\nimport { TooltipStyles, TooltipTemplate } from \"@fluentui/web-components\";\nimport { DesignSystem } from \"../design-system.js\";\n/**\n * The Fabric Tooltip component.\n *\n * @public\n */\nexport const definition = Tooltip.compose({\n name: `${DesignSystem.prefix}-tooltip`,\n template: TooltipTemplate,\n styles: TooltipStyles,\n shadowOptions: {\n mode: DesignSystem.shadowRootMode\n }\n});\n//# sourceMappingURL=tooltip.definition.js.map","import { TooltipPositioningOption as FluentTooltipPositioningOption } from \"@fluentui/web-components\";\n/** Positioning values for {@link Tooltip}. */\nexport const TooltipPositioningOptions = {\n ...FluentTooltipPositioningOption\n};\n//# sourceMappingURL=tooltip.options.js.map"],"names":["__decorate","this","__classPrivateFieldGet","template","styles","definition","CarouselNavDefinition","CarouselNavItemDefinition","FluentButton","FluentButtonAppearance","FluentButtonShape","FluentButtonSize","FluentButtonFormTarget","FluentButtonType","ButtonStyles","FabricButtonAppearances","FabricButtonShapes","FabricButtonSizes","FabricButtonFormTargets","FabricButtonTypes","FluentCompoundButtonStyles","CompoundButtonStyles","FluentSpinner","FluentSpinnerAppearance","FluentSpinnerSize","FabricButton","SpinnerDefinition","forcedColorsStylesheetBehavior","FluentDropdown","DropdownStyles","FluentDropdownOption","FluentListbox","DropdownDefinition","ListboxDefinition","OptionDefinition","TableCellDefinition","SimpleTableStyles","FluentAccordionItem","FluentAccordionItemSize","FluentAccordionItemMarkerPosition","FluentAccordion","FluentAccordionExpandMode","FluentLinkAppearance","FluentLinkTarget","FluentAnchorTarget","FluentLink","FluentAvatar","FluentAvatarActive","FluentAvatarAppearance","FluentAvatarColor","FluentAvatarNamedColor","FluentAvatarShape","FluentAvatarSize","FluentBadge","FluentBadgeAppearance","FluentBadgeColor","FluentBadgeShape","FluentBadgeSize","FluentCheckbox","FluentCheckboxShape","FluentCheckboxSize","FluentCounterBadge","FluentCounterBadgeAppearance","FluentCounterBadgeColor","FluentCounterBadgeShape","FluentCounterBadgeSize","FluentDialog","DialogStyles","FluentDialogBody","FluentDivider","FluentDividerAlignContent","FluentDividerAppearance","FluentDividerOrientation","FluentDividerRole","FluentDividerTemplate","DividerStyles","FluentDrawer","FluentDrawerPosition","FluentDrawerSize","FluentDrawerType","FluentDrawerBody","FluentDropdownAppearance","FluentDropdownSize","FluentDropdownType","FluentField","FieldStyles","FluentImage","FluentImageFit","FluentImageShape","FluentLabel","FluentLabelSize","FluentLabelWeight","FluentAnchorButton","FluentAnchorButtonAppearance","FluentAnchorButtonShape","FluentAnchorButtonSize","FluentMessageBar","FluentMenuButton","menuTemplate","FluentProgressBar","FluentProgressBarShapeBase","FluentProgressBarThicknessBase","FluentProgressBarValidationStateBase","FluentRadioGroup","FluentRadioGroupOrientation","FluentRadio","FluentRatingDisplay","FluentRatingDisplayColor","FluentRatingDisplaySize","ImplicitSubmissionBlockingTypes","TextInputImplicitSubmissionBlockingTypes","textInputStyles","ButtonDefinition","FluentSlider","FluentSliderMode","FluentSliderOrientation","FluentSliderSize","SpinButtonTemplate","SpinButtonStyles","FluentSwitch","FluentTab","FluentTablistAppearance","FluentTablistOrientation","FluentTablistSize","FluentTablist","FluentTextArea","FluentTextAreaAppearance","FluentTextAreaAutocomplete","FluentTextAreaResize","FluentTextAreaSize","FluentTextAreaAppearancesForDisplayShadow","TextInputTemplate","TextInputStyles","FluentText","FluentTextAlign","FluentTextFont","FluentTextSize","FluentTextWeight","FluentTree","FluentTreeItem","FluentToggleButton","FluentTooltip","FluentTooltipPositioningOption"],"mappings":"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AC,OAAO;AAC/C;AACA;AACA;AACA;AACyB,aAAa,CAAC,MAAM;AAC7C;AACA;AACA;AACA;AACqC,aAAa,CAAC,mBAAmB;AACtE;AACA;AACA;AACA;AAC6B,aAAa,CAAC,UAAU;AACrD;AACA;AACA;AACA;AACyB,aAAa,CAAC,MAAM;AAC7C;AACA;AACA;AACA;AACO,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC;AACpD;AACA;AACA;AACA;AACO,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC;AACpD;AACA;AACA;AACA;AAC4B,aAAa,CAAC,SAAS;AACnD;AACA;AACA;AACA;AAC2B,aAAa,CAAC,QAAQ;AACjD;AACA;AACA;AACA;AACkC,aAAa,CAAC,gBAAgB;AAChE;AACA;AACA;AACA;AACmC,aAAa,CAAC,iBAAiB;AAClE;AACA;AACA;AACA;AACwB,aAAa,CAAC,KAAK;AAC3C;AACA;AACA;AACA;AAC+B,aAAa,CAAC,aAAa;AAC1D;AACA;AACA;AACA;AACqC,aAAa,CAAC,mBAAmB;AACtE;AACA;AACA;AACA;AACmC,aAAa,CAAC,iBAAiB;AAClE;AACA;AACA;AACA;AAC4B,aAAa,CAAC,SAAS;AACnD;AACA;AACA;AACA;AAC8B,aAAa,CAAC,YAAY;AACxD;AACA;AACA;AACA;AAC4B,aAAa,CAAC,SAAS;AACnD;AACA;AACA;AACA;AAC6B,aAAa,CAAC,UAAU;AACrD;AACA;AACA;AACA;AAC6B,aAAa,CAAC,UAAU;AACrD;AACA;AACA;AACA;AAC2B,aAAa,CAAC,QAAQ;AACjD;AACA;AACA;AACA;AAC2B,aAAa,CAAC,QAAQ;AACjD;AACA;AACA;AACA;AAC6B,aAAa,CAAC,WAAW;AACtD;AACA;AACA;AACA;AAC4B,aAAa,CAAC,UAAU;AACpD;AACA;AACA;AACA;AAC4B,aAAa,CAAC,UAAU;AACpD;AACA;AACA;AACA;AAC4B,aAAa,CAAC,UAAU;AACpD;AACA;AACA;AACA;AAC4B,aAAa,CAAC,UAAU;AACpD;AACA;AACA;AACA;AAC4B,aAAa,CAAC,UAAU;AACpD;AACA;AACA;AACA;AAC4B,aAAa,CAAC,UAAU;AACpD;AACA;AACA;AACA;AAC4B,aAAa,CAAC,UAAU;AACpD;AACA;AACA;AACA;AAC4B,aAAa,CAAC,UAAU;AACpD;AACA;AACA;AACA;AACO,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC;AAChD;AACA;AACA;AACA;AACO,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC;AAClD;AACA;AACA;AACA;AAC0B,aAAa,CAAC,OAAO;AAC/C;AACA;AACA;AACA;AACiC,aAAa,CAAC,eAAe;AAC9D;AACA;AACA;AACA;AACkC,aAAa,CAAC,eAAe;AAC/D;AACA;AACA;AACA;AAC2B,aAAa,CAAC,QAAQ;AACjD;AACA;AACA;AACA;AACO,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC;AACpD;AACA;AACA;AACA;AACO,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC;AAClD;AACA;AACA;AACA;AAC4B,aAAa,CAAC,SAAS;AACnD;AACA;AACA;AACA;AACyB,aAAa,CAAC,MAAM;AAC7C;AACA;AACA;AACA;AACyB,aAAa,CAAC,MAAM;AAC7C;AACA;AACA;AACA;AACyB,aAAa,CAAC,MAAM;AAC7C;AACA;AACA;AACA;AAC4B,aAAa,CAAC,UAAU;AACpD;AACA;AACA;AACA;AAC6B,aAAa,CAAC,WAAW;AACtD;AACA;AACA;AACA;AACO,MAAM,gBAAgB,GAAG,aAAa,CAAC,aAAa,CAAC;AAC5D;AACA;AACA;AACA;AAC6B,aAAa,CAAC,UAAU;AACrD;AACA;AACA;AACA;AACiC,aAAa,CAAC,eAAe;AAC9D;AACA;AACA;AACA;AAC8B,aAAa,CAAC,WAAW;AACvD;AACA;AACA;AACA;AACgC,aAAa,CAAC,cAAc;AAC5D;AACA;AACA;AACA;AAC0B,aAAa,CAAC,OAAO;AAC/C;AACA;AACA;AACA;AACiC,aAAa,CAAC,eAAe;AAC9D;AACA;AACA;AACA;AAC6B,aAAa,CAAC,UAAU;AACrD;AACA;AACA;AACA;AAC4B,aAAa,CAAC,SAAS;;ACtnBvC,MAACC,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC;;AAEpB,0HAA0H,EAAE,kBAAkB,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,4LAA4L,EAAE,gBAAgB,CAAC,qDAAqD,EAAE,kBAAkB,CAAC,CAAC,EAAE,kBAAkB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,EAAE,8BAA8B;AAC1iB,yDAAyD,EAAE,uBAAuB,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,YAAY,EAAE,0BAA0B,CAAC,4gBAA4gB,EAAE,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,iBAAiB,EAAE,8BAA8B,CAAC,0BAA0B,EAAE,aAAa,CAAC;AACt2B,0CAA0C,EAAE,aAAa,CAAC,+BAA+B,EAAE,aAAa,CAAC,kCAAkC,EAAE,aAAa,CAAC,kDAAkD,EAAE,aAAa,CAAC,qDAAqD,EAAE,aAAa,CAAC,0DAA0D,EAAE,aAAa,CAAC,iDAAiD,EAAE,aAAa,CAAC,2DAA2D,EAAE,UAAU,CAAC,qBAAqB,EAAE,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,qBAAqB,EAAE,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,qBAAqB,EAAE,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,wDAAwD,EAAE,aAAa,CAAC;AACz1B,iFAAiF,EAAE,kBAAkB,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,qCAAqC,EAAE,aAAa,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,8CAA8C,EAAE,uBAAuB,CAAC,CAAC,EAAE,kBAAkB,CAAC,uDAAuD,EAAE,eAAe,CAAC,OAAO,EAAE,mBAAmB,CAAC,yFAAyF;;ACN7hB,MAACC,aAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC;AACrD,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,qBAAqB,CAAC;AACrD,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACXD;AACA;AACA;AACA;AACY,MAAC,eAAe,GAAG;AAC/B,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE,iBAAiB,EAAE,oBAAoB;AACzC,EAAE,OAAO,EAAE,SAAS;AACpB,EAAE,MAAM,EAAE;AACV;AAMA;AACA;AACA;AACA;AACY,MAAC,gBAAgB,GAAG;AAChC,EAAE,UAAU,EAAE,YAAY;AAC1B,EAAE,QAAQ,EAAE;AACZ;AAMA;AACA;AACA;AACA;AACY,MAAC,cAAc,GAAG;AAC9B,EAAE,GAAG,EAAE,KAAK;AACZ,EAAE,KAAK,EAAE,QAAQ;AACjB,EAAE,OAAO,EAAE,UAAU;AACrB,EAAE,OAAO,EAAE;AACX;AACA;AACA;AACA;AACA;AACO,MAAM,aAAa,GAAG,cAAc;AAC3C;AACA;AACA;AACA;AACY,MAAC,cAAc,GAAG;AAC9B,EAAE,kBAAkB,EAAE,qBAAqB;AAC3C,EAAE,KAAK,EAAE;AACT;;AClDA,IAAIJ,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAKD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,IAAI,SAAS,WAAW,CAAC;AACtC,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,GAAG;AACtC;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,WAAW,GAAG,KAAK;AAC5B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,mBAAmB,GAAG,KAAK,IAAI;AACxC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE;AAClC,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACzB,MAAM;AACN,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,iBAAiB,GAAG,MAAM;AACnC,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;AACjC,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,gBAAgB,GAAG,MAAM;AAClC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,QAAQ,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACxD,MAAM;AACN,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,kBAAkB,GAAG,MAAM;AACpC,MAAM,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,QAAQ,GAAG,OAAO;AACvD,MAAM,IAAI,CAAC,2BAA2B,EAAE;AACxC,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,iBAAiB,GAAG,OAAO,IAAI;AACxC,MAAM,MAAM,MAAM,GAAG,EAAE;AACvB,MAAM,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC;AACtD,IAAI,CAAC;AACL,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,iBAAiB,GAAG;AACtB,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAC7B,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,oBAAoB,GAAG;AACzB,IAAI,KAAK,CAAC,oBAAoB,EAAE;AAChC,EAAE;AACF;AACA;AACA;AACA,EAAE,gBAAgB,GAAG;AACrB,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,EAAE;AACF;AACA;AACA;AACA,EAAE,eAAe,GAAG;AACpB,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,YAAY,CAAC,CAAC,EAAE;AAClB,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AAClE,MAAM;AACN,IAAI;AACJ,IAAI,CAAC,CAAC,cAAc,EAAE;AACtB,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,cAAc,CAAC,CAAC,EAAE;AACpB,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,gBAAgB,EAAE;AAC7C,MAAM,OAAO,IAAI;AACjB,IAAI;AACJ,IAAI,MAAM;AACV,MAAM,GAAG;AACT,MAAM,MAAM;AACZ,MAAM,aAAa;AACnB,MAAM;AACN,KAAK,GAAG,CAAC;AACT,IAAI,MAAM,eAAe,GAAG,MAAM,KAAK,aAAa;AACpD,IAAI,MAAM,uBAAuB,GAAG,IAAI,CAAC,SAAS,KAAK,aAAa,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,KAAK,aAAa,CAAC,OAAO;AACpH,IAAI,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,KAAK,aAAa,CAAC,GAAG;AAC/D,IAAI,MAAM,kBAAkB,GAAG,IAAI,CAAC,wBAAwB;AAC5D,IAAI,MAAM,kBAAkB,GAAG,IAAI,CAAC,wBAAwB;AAC5D,IAAI,QAAQ,GAAG;AACf,MAAM,KAAK,QAAQ;AACnB,QAAQ,IAAI,CAAC,eAAe,EAAE;AAC9B,UAAU,OAAO,IAAI;AACrB,QAAQ;AACR,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;AAC9B,UAAU,IAAI,CAAC,cAAc,EAAE;AAC/B,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE;AACpC,UAAU,OAAO,CAAC,OAAO,CAAC,MAAM;AAChC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK;AACnC,YAAY,IAAI,CAAC,iBAAiB,EAAE;AACpC,UAAU,CAAC,CAAC;AACZ,QAAQ;AACR,QAAQ,CAAC,CAAC,cAAc,EAAE;AAC1B,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE;AAClC,UAAU,IAAI,kBAAkB,IAAI,CAAC,QAAQ,IAAI,kBAAkB,IAAI,QAAQ,EAAE;AACjF,YAAY,CAAC,CAAC,cAAc,EAAE;AAC9B,YAAY,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE;AACnF,UAAU;AACV,UAAU,OAAO,IAAI;AACrB,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,aAAa,CAAC,OAAO,EAAE;AAC7D,UAAU,IAAI,kBAAkB,IAAI,CAAC,QAAQ,IAAI,kBAAkB,IAAI,QAAQ,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,IAAI,EAAE;AACzH,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;AAC9C,UAAU;AACV,UAAU,OAAO,IAAI;AACrB,QAAQ;AACR,QAAQ,OAAO,IAAI;AACnB,MAAM,KAAK,SAAS;AACpB,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,aAAa,CAAC,GAAG,EAAE;AAClD,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AAC3B,QAAQ;AACR,QAAQ,IAAI,CAAC,uBAAuB,EAAE;AACtC,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI;AAChC,QAAQ;AACR,QAAQ,CAAC,CAAC,cAAc,EAAE;AAC1B,QAAQ;AACR,MAAM;AACN,QAAQ,OAAO,IAAI;AACnB;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,WAAW,GAAG;AACpB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,aAAa,CAAC,GAAG,CAAC;AACvF,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,MAAM,GAAG;AACf,IAAI,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;AACvC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,wBAAwB,GAAG;AACjC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAChC,MAAM,OAAO,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,wBAAwB,GAAG;AACjC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAChC,MAAM,OAAO,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3E,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,eAAe,GAAG;AACxB,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,aAAa,CAAC,KAAK;AACjD,EAAE;AACF,EAAE,cAAc,GAAG;AACnB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,cAAc,CAAC,KAAK,EAAE;AAC7D,MAAM,MAAM,EAAE;AACd,QAAQ,WAAW,EAAE,IAAI,CAAC,WAAW;AACrC,QAAQ,KAAK,EAAE,IAAI,CAAC,KAAK;AACzB,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO;AACP,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,UAAU,EAAE;AAClB,KAAK,CAAC,CAAC;AACP,EAAE;AACF,EAAE,2BAA2B,GAAG;AAChC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,cAAc,CAAC,kBAAkB,EAAE;AAC1E,MAAM,MAAM,EAAE;AACd,QAAQ,WAAW,EAAE,IAAI,CAAC;AAC1B,OAAO;AACP,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,UAAU,EAAE;AAClB,KAAK,CAAC,CAAC;AACP,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,gBAAgB,GAAG;AACrB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACpB,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,aAAa,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,KAAK,aAAa,CAAC,OAAO;AAC3H,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,aAAa;AACnC,EAAE;AACF,EAAE,kBAAkB,GAAG;AACvB,IAAI,IAAI,EAAE;AACV,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,eAAe,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE;AAC5F,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAClD,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE;AAChD,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;AACnD,MAAM,OAAO,QAAQ;AACrB,IAAI;AACJ,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE;AACxG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5B,MAAM,OAAO,QAAQ;AACrB,IAAI;AACJ,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,QAAQ,CAAC;AAC1I,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,sBAAsB,CAAC,OAAO,EAAE;AACzC,IAAI,IAAI,EAAE,EAAE,EAAE;AACd,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,eAAe,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,cAAc,CAAC;AAC5K,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,iBAAiB,CAAC,OAAO,EAAE;AACpC,IAAI,IAAI,EAAE,EAAE,EAAE;AACd,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI;AACpK,MAAM,OAAO,UAAU,CAAC,CAAC,CAAC;AAC1B,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACAD,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC;AACzCA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC;AACxDA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AAClDA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;AACnDA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AAClDA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;AACzDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,IAAI,EAAE;AACR,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;AACxCA,YAAU,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC;AAC7B,EAAE,IAAI,EAAE;AACR,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;AAC3CA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAAC;AAC/CA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC;;AC5Y9C;AACA;AACA;AACY,MAACI,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,cAAc,CAAC;AAC3B,oBAAoB,EAAE,cAAc,CAAC,YAAY,EAAE,0BAA0B,CAAC,eAAe,EAAE,kBAAkB,CAAC,gFAAgF,EAAE,OAAO,CAAC,yNAAyN,EAAE,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,CAAC,OAAO,EAAE,sBAAsB,CAAC,YAAY,EAAE,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,wIAAwI,EAAE,uBAAuB,CAAC,QAAQ,EAAE,eAAe,CAAC,OAAO,EAAE,sBAAsB,CAAC,eAAe,EAAE,kBAAkB,CAAC,+LAA+L,EAAE,uBAAuB,CAAC,8FAA8F,EAAE,0BAA0B,CAAC,cAAc,EAAE,mBAAmB,CAAC,+DAA+D,EAAE,qBAAqB,CAAC,cAAc,EAAE,sBAAsB,CAAC,kHAAkH,EAAE,4BAA4B,CAAC,cAAc,EAAE,iCAAiC,CAAC,YAAY,EAAE,OAAO,CAAC,8CAA8C,EAAE,8BAA8B,CAAC,cAAc,EAAE,iCAAiC,CAAC,8EAA8E,EAAE,4BAA4B,CAAC,+EAA+E,EAAE,8BAA8B,CAAC,mEAAmE,EAAE,+BAA+B,CAAC,cAAc,EAAE,wBAAwB,CAAC,oFAAoF,EAAE,iCAAiC,CAAC,cAAc,EAAE,0BAA0B,CAAC,kEAAkE,EAAE,0BAA0B,CAAC,cAAc,EAAE,iCAAiC,CAAC,mFAAmF,EAAE,4BAA4B,CAAC,wCAAwC,EAAE,+BAA+B,CAAC,cAAc,EAAE,iCAAiC,CAAC,oFAAoF,EAAE,6BAA6B,CAAC,cAAc,EAAE,2BAA2B,CAAC,sEAAsE,EAAE,kCAAkC,CAAC,cAAc,EAAE,2BAA2B,CAAC,iFAAiF,EAAE,+BAA+B,CAAC,gDAAgD,EAAE,8BAA8B,CAAC,cAAc,EAAE,8BAA8B,CAAC,mDAAmD,EAAE,OAAO,CAAC,yMAAyM,EAAE,0BAA0B,CAAC,CAAC;;ACNz1G;AACA;AACA;AACA;AACO,SAAS,YAAY,GAAG;AAC/B,EAAE,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,gEAAgE,CAAC;AAC3oB;AACY,MAACD,UAAQ,GAAG,YAAY;;ACJpC;AACA;AACA;AACA;AACA;AACA;AACY,MAACE,aAAU,GAAG,IAAI,CAAC,OAAO,CAAC;AACvC,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,UAAU,SAAS,WAAW,CAAC;;ACxBrC,MAAMA,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC;AACnB,4GAA4G,EAAE,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC;;ACHtL;AACA;AACA;AACA;AACO,SAAS,kBAAkB,GAAG;AACrC,EAAE,OAAO,IAAI,CAAC,iIAAiI,CAAC;AAChJ;AACO,MAAMD,UAAQ,GAAG,kBAAkB,EAAE;;ACJ5C;AACA;AACA;AACA;AACA;AACA;AACY,MAACE,aAAU,GAAG,UAAU,CAAC,OAAO,CAAC;AAC7C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;AAC5C,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,UAAU,SAAS,WAAW,CAAC;;AC/B5C;AACA;AACA;AACO,MAAMA,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC;AACnB,yMAAyM,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC,uGAAuG,EAAE,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC,wEAAwE,EAAE,kBAAkB,CAAC,uGAAuG,EAAE,kBAAkB,CAAC,0CAA0C,EAAE,mBAAmB,CAAC,CAAC,CAAC;;ACN9qB;AACA;AACA;AACA;AACO,SAAS,kBAAkB,GAAG;AACrC,EAAE,OAAO,IAAI,CAAC,mVAAmV,CAAC;AAClW;AACO,MAAMD,UAAQ,GAAG,kBAAkB,EAAE;;ACJ5C;AACA;AACA;AACA;AACA;AACA;AACY,MAACE,aAAU,GAAG,UAAU,CAAC,OAAO,CAAC;AAC7C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;AAC5C,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,WAAW,SAAS,WAAW,CAAC;;AClB7C;AACA;AACA;AACO,MAAMA,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC;AACnB,yGAAyG,EAAE,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,gCAAgC,CAAC;;ACN1L;AACA;AACA;AACA;AACO,SAAS,mBAAmB,GAAG;AACtC,EAAE,OAAO,IAAI,CAAC,4DAA4D,CAAC;AAC3E;AACO,MAAMD,UAAQ,GAAG,mBAAmB,EAAE;;ACJ7C;AACA;AACA;AACA;AACA;AACA;AACY,MAACE,aAAU,GAAG,WAAW,CAAC,OAAO,CAAC;AAC9C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC;AAC7C,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACjBD;AACA;AACA;AACA;AACY,MAAC,2BAA2B,GAAG;AAC3C,EAAE,OAAO,EAAE,SAAS;AACpB,EAAE,QAAQ,EAAE,UAAU;AACtB,EAAE,MAAM,EAAE;AACV;;ACRA;AACA;AACA;AACA;AACY,MAAC,oBAAoB,GAAG;AACpC,EAAE,WAAW,EAAE,cAAc;AAC7B,EAAE,cAAc,EAAE;AAClB;;ACPA;AACA;AACA;AACA;AACY,MAAC,kBAAkB,GAAG;AAClC,EAAE,MAAM,EAAE;AACV;;ACNA;AACA;AACA;AACA;AACY,MAAC,qBAAqB,GAAG;AACrC,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE,QAAQ,EAAE,UAAU;AACtB,EAAE,IAAI,EAAE;AACR;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,YAAY,GAAG,QAAQ,IAAI;AACxC,EAAE,IAAI,EAAE;AACR,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,GAAG,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG;AACjI;AAYO,SAAS,KAAK,GAAG;AACxB,EAAE,OAAO,uBAAuB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,GAAG;AAC1D;AAuBA;AACA;AACA;AACA;AACA;AACO,MAAM,oBAAoB,CAAC;AAClC,EAAE,WAAW,CAAC,QAAQ,EAAE;AACxB,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAC5B,EAAE;AACF,EAAE,YAAY,GAAG;AACjB,IAAI,IAAI,EAAE;AACV,IAAI,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE;AACpC,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE;AAC1G,MAAM,IAAI,GAAG,KAAK,SAAS,CAAC,GAAG,IAAI,GAAG,KAAK,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG;AACpE,MAAM,IAAI,GAAG,KAAK,MAAM,EAAE,OAAO,IAAI;AACrC,IAAI;AACJ,IAAI,OAAO,IAAI;AACf,EAAE;AACF;AACA;AACA;AACA;AACA;AACO,MAAM,oBAAoB,CAAC;AAClC,EAAE,WAAW,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,QAAQ,EAAE;AAC/C,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI;AAClB,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM;AACxB,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG;AAClB,EAAE;AACF,EAAE,KAAK,CAAC,MAAM,EAAE;AAChB,IAAI,IAAI,EAAE;AACV,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE;AACjB,IAAI,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM;AAC1K,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI,gBAAgB,CAAC,MAAM,MAAM,EAAE,CAAC;AAClD,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE;AAC/B,MAAM,UAAU,EAAE,IAAI;AACtB,MAAM,eAAe,EAAE,CAAC,KAAK;AAC7B,KAAK,CAAC;AACN,EAAE;AACF,EAAE,IAAI,GAAG;AACT,IAAI,IAAI,EAAE;AACV,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,UAAU,EAAE;AACvE,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI;AAClB,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,iBAAiB,CAAC;AAC/B,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,IAAI,EAAE;AACV,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI;AACrB,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI;AACtB,IAAI,IAAI,CAAC,SAAS,GAAG,KAAK;AAC1B,IAAI,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU;AACxC,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,EAAE;AACjF,IAAI,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;AACpC,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE;AACzC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE;AAC/C,EAAE;AACF,EAAE,IAAI,KAAK,GAAG;AACd,IAAI,IAAI,EAAE;AACV,IAAI,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG;AAC5E,EAAE;AACF;AACA;AACA;AACA,EAAE,KAAK,GAAG;AACV,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;AACxB,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI;AACzB,IAAI,MAAM,eAAe,GAAG,MAAM;AAClC,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;AAC9B,MAAM,IAAI,OAAO,qBAAqB,KAAK,WAAW,EAAE;AACxD,QAAQ,IAAI,CAAC,OAAO,EAAE;AACtB,QAAQ;AACR,MAAM;AACN,MAAM,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,MAAM;AAC/C,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI;AACzB,QAAQ,IAAI,CAAC,OAAO,EAAE;AACtB,MAAM,CAAC,CAAC;AACR,IAAI,CAAC;AACL,IAAI,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;AAC3C,MAAM,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC;AACrC,IAAI;AACJ;AACA,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,EAAE;AACF;AACA;AACA;AACA,EAAE,IAAI,GAAG;AACT,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,OAAO,oBAAoB,KAAK,WAAW,EAAE;AAC3E,MAAM,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC;AACtC,IAAI;AACJ,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI;AACrB,IAAI,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;AAC3C,MAAM,QAAQ,CAAC,IAAI,EAAE;AACrB,IAAI;AACJ,IAAI,IAAI,CAAC,SAAS,GAAG,KAAK;AAC1B,EAAE;AACF,EAAE,MAAM,GAAG;AACX,IAAI,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI;AAC7B,EAAE;AACF;AACA;AACA;AACA,EAAE,OAAO,GAAG;AACZ,IAAI,IAAI,EAAE;AACV,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM;AAChC,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE;AACxC,IAAI,IAAI,IAAI,KAAK,QAAQ,EAAE;AAC3B,MAAM,IAAI,CAAC,MAAM,GAAG,IAAI;AACxB,MAAM,IAAI;AACV,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE;AACtF,UAAU;AACV,SAAS,CAAC;AACV,MAAM,CAAC,CAAC,MAAM;AACd;AACA,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,IAAI,CAAC,MAAM;AACtB,EAAE;AACF,EAAE,gBAAgB,GAAG;AACrB,IAAI,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE;AAC5C,MAAM,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,EAAE;AACzC,MAAM,IAAI,GAAG,EAAE,OAAO,GAAG;AACzB,IAAI;AACJ,IAAI,OAAO,IAAI;AACf,EAAE;AACF;AACA,IAAI,eAAe,GAAG,IAAI;AACnB,SAAS,0BAA0B,CAAC,QAAQ,EAAE;AACrD,EAAE,eAAe,GAAG,QAAQ;AAC5B;AACO,SAAS,uBAAuB,GAAG;AAC1C,EAAE,IAAI,CAAC,eAAe,EAAE;AACxB;AACA,IAAI,eAAe,GAAG,IAAI,iBAAiB,CAAC;AAC5C,MAAM,UAAU,EAAE,CAAC,IAAI,oBAAoB,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;AACxE,MAAM,SAAS,EAAE,CAAC,IAAI,oBAAoB,CAAC,MAAM,CAAC;AAClD,KAAK,CAAC;AACN,EAAE;AACF,EAAE,OAAO,eAAe;AACxB;;ACrRA;AACA;AACA;AACA,MAAM,iBAAiB,GAAG,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,2BAA2B,CAAC,OAAO,EAAE;AACrD,EAAE,MAAM;AACR,IAAI,KAAK;AACT,IAAI,UAAU,GAAG,iBAAiB;AAClC,IAAI,WAAW,GAAG,UAAU;AAC5B,IAAI,aAAa,GAAG,IAAI;AACxB,IAAI,IAAI,GAAG,IAAI;AACf,IAAI,cAAc,GAAG,IAAI;AACzB,IAAI,SAAS;AACb,IAAI,aAAa;AACjB,IAAI;AACJ,GAAG,GAAG,OAAO;AACb;AACA;AACA;AACA,EAAE,MAAM,cAAc,GAAG,MAAM;AAC/B,IAAI,IAAI,EAAE;AACV,IAAI,MAAM,QAAQ,GAAG,KAAK,EAAE;AAC5B,IAAI,OAAO,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,IAAI;AAChH,EAAE,CAAC;AACH;AACA;AACA;AACA;AACA,EAAE,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,QAAQ,KAAK;AAC5C,IAAI,MAAM,IAAI,GAAG,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,GAAG,QAAQ,GAAG,KAAK,EAAE;AAC9E,IAAI,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE;AAC3B,MAAM,MAAM,cAAc,GAAG,EAAE,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;AAC/D,MAAM,EAAE,CAAC,QAAQ,GAAG,cAAc,GAAG,CAAC,GAAG,EAAE;AAC3C,MAAM,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC;AAC9D,IAAI;AACJ,EAAE,CAAC;AACH;AACA;AACA;AACA,EAAE,MAAM,OAAO,GAAG,EAAE,IAAI;AACxB,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,SAAS,CAAC,EAAE,CAAC;AACnB,IAAI,CAAC,MAAM;AACX,MAAM,EAAE,CAAC,KAAK,EAAE;AAChB,IAAI;AACJ,EAAE,CAAC;AACH;AACA;AACA;AACA;AACA,EAAE,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,KAAK;AAChE,IAAI,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC;AAC3B,IAAI,IAAI,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,KAAK,IAAI,EAAE,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC,EAAE,EAAE,YAAY,CAAC;AAC5H,EAAE,CAAC;AACH;AACA;AACA;AACA;AACA,EAAE,MAAM,aAAa,GAAG,MAAM;AAC9B,IAAI,MAAM,QAAQ,GAAG,KAAK,EAAE;AAC5B,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;AAC/B,IAAI,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AAC1D,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9B;AACA,MAAM,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC;AAC/B,MAAM;AACN,IAAI;AACJ;AACA,IAAI,MAAM,aAAa,GAAG,cAAc,EAAE;AAC1C,IAAI,IAAI,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;AAC1D;AACA,MAAM,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC;AACxC,MAAM;AACN,IAAI;AACJ;AACA,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC;AACnC,EAAE,CAAC;AACH;AACA;AACA;AACA;AACA,EAAE,MAAM,IAAI,GAAG,KAAK,IAAI;AACxB,IAAI,MAAM,QAAQ,GAAG,KAAK,EAAE;AAC5B,IAAI,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AAC1D,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;AAC1C;AACA,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;AAC1C;AACA,IAAI,MAAM,aAAa,GAAG,cAAc,EAAE;AAC1C,IAAI,IAAI,YAAY,GAAG,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE;AAC1E,IAAI,IAAI,YAAY,KAAK,EAAE,EAAE,YAAY,GAAG,CAAC;AAC7C;AACA,IAAI,IAAI,SAAS,GAAG,YAAY,GAAG,KAAK;AACxC,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,SAAS,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM;AAC/D,IAAI,CAAC,MAAM;AACX;AACA,MAAM,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE;AACxD,QAAQ,OAAO,KAAK,CAAC;AACrB,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;AACrC,IAAI,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;AAC/C,IAAI,OAAO,IAAI;AACf,EAAE,CAAC;AACH;AACA;AACA;AACA,EAAE,MAAM,UAAU,GAAG,MAAM;AAC3B,IAAI,MAAM,QAAQ,GAAG,KAAK,EAAE;AAC5B,IAAI,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AAC1D,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;AAC1C,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC;AAC3C,IAAI,OAAO,IAAI;AACf,EAAE,CAAC;AACH;AACA;AACA;AACA,EAAE,MAAM,SAAS,GAAG,MAAM;AAC1B,IAAI,MAAM,QAAQ,GAAG,KAAK,EAAE;AAC5B,IAAI,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AAC1D,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;AAC1C,IAAI,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;AACxC,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;AAC3D,IAAI,OAAO,IAAI;AACf,EAAE,CAAC;AACH;AACA;AACA;AACA,EAAE,MAAM,KAAK,GAAG,IAAI,IAAI;AACxB,IAAI,MAAM,QAAQ,GAAG,KAAK,EAAE;AAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK;AAC9C,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK;AACtC,IAAI,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AAC1D,IAAI,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;AACvC,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,GAAG,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC;AAC/D,IAAI,OAAO,IAAI;AACf,EAAE,CAAC;AACH;AACA;AACA;AACA;AACA,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;AACzB,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,MAAM,YAAY,WAAW,CAAC,EAAE,OAAO,KAAK;AACjE,IAAI,MAAM,QAAQ,GAAG,KAAK,EAAE;AAC5B;AACA,IAAI,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1E,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK;AAC3B,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK;AACtC,IAAI,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AAC1D,IAAI,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;AACvC;AACA,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,GAAG,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC;AAChE,IAAI,OAAO,IAAI;AACf,EAAE,CAAC;AACH;AACA;AACA;AACA;AACA,EAAE,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,SAAS,KAAK;AAC9C,IAAI,MAAM,GAAG,GAAG,KAAK,EAAE;AACvB,IAAI,IAAI,SAAS,KAAK,MAAM,EAAE;AAC9B,MAAM,IAAI,WAAW,KAAK,UAAU,IAAI,WAAW,KAAK,MAAM,EAAE;AAChE,QAAQ,IAAI,GAAG,KAAK,UAAU,EAAE,OAAO,IAAI;AAC3C,MAAM;AACN,MAAM,IAAI,WAAW,KAAK,YAAY,IAAI,WAAW,KAAK,MAAM,EAAE;AAClE;AACA,QAAQ,IAAI,GAAG,GAAG,GAAG,KAAK,aAAa,GAAG,GAAG,KAAK,YAAY,EAAE,OAAO,IAAI;AAC3E,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,WAAW,KAAK,UAAU,IAAI,WAAW,KAAK,MAAM,EAAE;AAChE,QAAQ,IAAI,GAAG,KAAK,YAAY,EAAE,OAAO,IAAI;AAC7C,MAAM;AACN,MAAM,IAAI,WAAW,KAAK,YAAY,IAAI,WAAW,KAAK,MAAM,EAAE;AAClE;AACA,QAAQ,IAAI,GAAG,GAAG,GAAG,KAAK,YAAY,GAAG,GAAG,KAAK,aAAa,EAAE,OAAO,IAAI;AAC3E,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,KAAK;AAChB,EAAE,CAAC;AACH;AACA;AACA;AACA,EAAE,MAAM,aAAa,GAAG,KAAK,IAAI;AACjC,IAAI,MAAM;AACV,MAAM;AACN,KAAK,GAAG,KAAK;AACb,IAAI,IAAI,OAAO,GAAG,KAAK;AACvB,IAAI,IAAI,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE;AACtC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;AACxB,IAAI,CAAC,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE;AAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;AACvB,IAAI,CAAC,MAAM,IAAI,aAAa,IAAI,GAAG,KAAK,OAAO,EAAE;AACjD,MAAM,OAAO,GAAG,UAAU,EAAE;AAC5B,IAAI,CAAC,MAAM,IAAI,aAAa,IAAI,GAAG,KAAK,MAAM,EAAE;AAChD,MAAM,OAAO,GAAG,SAAS,EAAE;AAC3B,IAAI;AACJ,IAAI,IAAI,OAAO,IAAI,cAAc,EAAE;AACnC,MAAM,KAAK,CAAC,cAAc,EAAE;AAC5B,IAAI;AACJ,IAAI,OAAO,OAAO;AAClB,EAAE,CAAC;AACH;AACA;AACA;AACA,EAAE,MAAM,OAAO,GAAG,MAAM;AACxB;AACA,EAAE,CAAC;AACH,EAAE,OAAO;AACT,IAAI,aAAa;AACjB,IAAI,IAAI;AACR,IAAI,UAAU;AACd,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,aAAa;AACjB,IAAI;AACJ,GAAG;AACH;;ACnPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,sBAAsB,CAAC;AACpC,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,EAAE;AACpC,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;AACpC,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,GAAG,QAAQ,GAAG,EAAE,CAAC;AACpF,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,GAAG,QAAQ,GAAG,EAAE,CAAC;AACpF;AACA,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI;AACjF,MAAM,IAAI,EAAE;AACZ,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC7B,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,EAAE;AACzF,MAAM;AACN,IAAI,CAAC,CAAC;AACN;AACA,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;AAC1F,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC7B,QAAQ,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE;AAChD,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC;AAC9C,QAAQ,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC;AAC7C,MAAM;AACN,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,YAAY,GAAG,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,GAAG,QAAQ,GAAG,EAAE;AAChF,EAAE;AACF;AACA;AACA;AACA,EAAE,OAAO,GAAG;AACZ,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,IAAI;AACtC,MAAM,IAAI,EAAE;AACZ,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,EAAE;AACvF,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,EAAE;AACF;AACA;AACA;AACA;AACA;AACO,SAAS,4BAA4B,GAAG;AAC/C,EAAE,OAAO,IAAI,sBAAsB,EAAE;AACrC;;AC5EA,IAAIJ,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAQD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,WAAW,SAAS,WAAW,CAAC;AAC7C,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,eAAe,GAAG,2BAA2B,CAAC,OAAO;AAC9D;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,WAAW,GAAG,2BAA2B,CAAC;AACnD,MAAM,KAAK,EAAE,MAAM;AACnB,QAAQ,IAAI,EAAE;AACd,QAAQ,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,eAAe,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,EAAE;AAC9E,MAAM,CAAC;AACP,MAAM,WAAW,EAAE,YAAY;AAC/B,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,aAAa,EAAE,IAAI;AACzB,MAAM,KAAK,EAAE,MAAM,uBAAuB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;AACjE,KAAK,CAAC;AACN;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,4BAA4B,EAAE;AACvD;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE;AAC7B,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE;AAC3C,IAAI,MAAM,QAAQ,GAAG,OAAO,QAAQ,KAAK,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ;AACrF,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;AAC5D,MAAM,IAAI,CAAC,YAAY,GAAG,QAAQ;AAClC,MAAM,IAAI,CAAC,kBAAkB,EAAE;AAC/B;AACA;AACA,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;AACnD,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACtE,MAAM;AACN,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE;AAC7C,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK;AAC3E,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;AACxE,QAAQ;AACR,OAAO,CAAC;AACR,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;AACnF,QAAQ;AACR,OAAO,CAAC;AACR,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;AACpC,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,kBAAkB,GAAG;AACvB,IAAI,IAAI,EAAE;AACV,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,eAAe,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;AACjG,MAAM,IAAI,CAAC,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC,YAAY;AAC/C,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE;AACvC,IAAI,MAAM;AACV,MAAM;AACN,KAAK,GAAG,KAAK;AACb;AACA,IAAI,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,EAAE;AAC9C,MAAM,KAAK,CAAC,cAAc,EAAE;AAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAC5B,MAAM;AACN,IAAI;AACJ;AACA,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC;AACzC,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,eAAe,CAAC,KAAK,EAAE;AACzB,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAC1B,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,eAAe,GAAG;AACpB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,qBAAqB,CAAC,QAAQ,EAAE;AACvE,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,QAAQ,EAAE;AAChB,KAAK,CAAC,CAAC;AACP,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,eAAe,GAAG;AACpB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,qBAAqB,CAAC,IAAI,EAAE;AACnE,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,QAAQ,EAAE;AAChB,KAAK,CAAC,CAAC;AACP,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,UAAU,CAAC,KAAK,EAAE;AACpB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,qBAAqB,CAAC,MAAM,EAAE;AACrE,MAAM,MAAM,EAAE;AACd,QAAQ;AACR,OAAO;AACP,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,QAAQ,EAAE;AAChB,KAAK,CAAC,CAAC;AACP,EAAE;AACF,EAAE,oBAAoB,GAAG;AACzB,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;AAChC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;AAC9B,IAAI,KAAK,CAAC,oBAAoB,EAAE;AAChC,EAAE;AACF;AACAD,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAAC;AACtDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC;AACnDA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAAC;;ACjM1E;AACA;AACA;AACA;AACO,SAAS,iBAAiB,CAAC,EAAE,EAAE;AACtC,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM;AACpD;AACA;AACA;AACA;AACA;AACO,SAAS,eAAe,CAAC,EAAE,EAAE;AACpC,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,MAAM;AAClD;AACA;AACA;AACA;AACA;AACO,SAAS,kBAAkB,CAAC,EAAE,EAAE;AACvC,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,YAAY,KAAK,IAAI;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE;AAC5D,EAAE,MAAM,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,gJAAgJ,CAAC;AACtM,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAAK,IAAI;AACrC,IAAI,MAAM,SAAS,GAAG,KAAK;AAC3B,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,SAAS,CAAC,QAAQ,GAAG,CAAC;AAC5B,IAAI,CAAC,MAAM;AACX,MAAM,SAAS,CAAC,QAAQ,GAAG,EAAE;AAC7B,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,WAAW,CAAC,WAAW,EAAE,GAAG,SAAS,EAAE;AACvD,EAAE,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,MAAM,CAAC,WAAW,CAAC;AACtE,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI;AAChC,IAAI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI;AACnE,MAAM,IAAI,IAAI,KAAK,aAAa,EAAE;AAClC,QAAQ,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACrH,MAAM;AACN,IAAI,CAAC,CAAC;AACN,IAAI,MAAM,cAAc,GAAG,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC;AAClE,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1D,EAAE,CAAC,CAAC;AACJ;;ACtBA;AACA;AACA;AACA;AACA;AACO,SAAS,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE;AACnD,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AACvD,IAAI,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC;AACpC,EAAE,CAAC,CAAC;AACJ;;ACTA;AACA;AACA;AACA;AACA;AACO,SAAS,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;AACtC,EAAE,IAAI,aAAa;AACnB,EAAE,OAAO,UAAU,GAAG,IAAI,EAAE;AAC5B,IAAI,YAAY,CAAC,aAAa,CAAC;AAC/B,IAAI,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC;AAC1E,EAAE,CAAC;AACH;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,KAAK,CAAC;AACnB,EAAE,OAAO,qBAAqB,CAAC,CAAC,EAAE;AAClC,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC;AAChC,EAAE;AACF;AACA;AACA;AACA,EAAE,OAAO,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE;AACxC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACvB,IAAI,MAAM,SAAS,GAAG,aAAa,EAAE;AACrC,IAAI,OAAO,GAAG,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,SAAS;AAC1F,IAAI,IAAI,SAAS,KAAK,IAAI,EAAE;AAC5B,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;AAC/B,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA,EAAE,OAAO,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE;AACvC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,OAAO,CAAC;AACtE,EAAE;AACF;AACA;AACA;AACA,EAAE,OAAO,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE;AACxC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,CAAC;AAClE,EAAE;AACF;AACA;AACA;AACA,EAAE,OAAO,WAAW,CAAC,UAAU,EAAE;AACjC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,UAAU,CAAC,+BAA+B,GAAG,UAAU,CAAC;AAClE,EAAE;AACF,EAAE,OAAO,UAAU,CAAC,OAAO,EAAE;AAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACvB,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,KAAK,EAAE,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC,CAAC;AAC1E,EAAE;AACF,EAAE,OAAO,GAAG,CAAC,OAAO,EAAE,GAAG,cAAc,EAAE;AACzC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACvB,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,cAAc,IAAI,EAAE,CAAC,CAAC;AACnD,EAAE;AACF,EAAE,OAAO,QAAQ,CAAC,OAAO,EAAE,GAAG,cAAc,EAAE;AAC9C,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACvB,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,cAAc,IAAI,EAAE,CAAC,CAAC;AACrD,EAAE;AACF,EAAE,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,cAAc,EAAE;AAC1C,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACvB,IAAI,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE;AACjC,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,cAAc,IAAI,EAAE,CAAC,CAAC;AACtD,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,OAAO,CAAC,MAAM,EAAE;AACzB,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACvB,IAAI,MAAM,EAAE;AACZ,EAAE;AACF,EAAE,OAAO,MAAM,GAAG;AAClB,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI;AACvB,EAAE;AACF;AACA,KAAK,CAAC,OAAO,GAAG,KAAK;;ACvErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,2BAA2B,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;AACvE,EAAE,IAAI,EAAE,EAAE,EAAE;AACZ,EAAE,MAAM,OAAO,GAAG,CAAC,EAAE,GAA4C,MAAM,CAAkB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC;AAClI,EAAE,MAAM,OAAO,GAAG,CAAC,EAAE,GAA4C,MAAM,CAAkB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC;AAC/H,EAAE,MAAM,KAAK,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC;AAC9D,EAAE,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACtD;AACA,EAAE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;AACjC;AACA,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,EAAE;AACF;AACA,EAAE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE;AAC5B,EAAE,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE;AACjC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC;AAC9B,EAAE;AACF,EAAE,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAChG,GAAG,CAAC;AACJ,EAAE,IAAI,OAAO,GAAG,KAAK;AACrB;AACA,EAAE,MAAM,MAAM,GAAG,MAAM;AACvB,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,GAAG,IAAI;AAClB,IAAI,QAAQ,EAAE;AACd,EAAE,CAAC;AACH,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7B;AACA,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE;AACnB,IAAI,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;AAC/B,EAAE;AACF;;ACnDY,MAAC,mBAAmB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU;;ACAhM,MAAM,oBAAoB,CAAC;AAClC,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI;AAC/B,IAAI,IAAI,CAAC,gBAAgB,GAAG,IAAI;AAChC,IAAI,IAAI,CAAC,0BAA0B,GAAG,IAAI;AAC1C,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI;AACrB,IAAI,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC,UAAU;AAC/D;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE;AAClB,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE;AACxB,IAAI,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC9B,IAAI,IAAI,CAAC,QAAQ,GAAG,EAAE;AACtB,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE;AACzB,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,IAAI,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC9B,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE;AACzB,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE;AACzB,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE;AACxB,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE;AACzB,IAAI,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC9B,IAAI,IAAI,CAAC,SAAS,GAAG,EAAE;AACvB,IAAI,IAAI,CAAC,SAAS,GAAG,EAAE;AACvB,IAAI,IAAI,CAAC,QAAQ,GAAG,EAAE;AACtB,IAAI,IAAI,CAAC,SAAS,GAAG,EAAE;AACvB,IAAI,IAAI,CAAC,aAAa,GAAG,EAAE;AAC3B,IAAI,IAAI,CAAC,mBAAmB,GAAG,EAAE;AACjC,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE;AAC7B,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE;AAC7B,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE;AACzB,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,IAAI,IAAI,CAAC,mBAAmB,GAAG,EAAE;AACjC,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,IAAI,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC9B,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE;AACzB,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE;AACzB,IAAI,IAAI,CAAC,QAAQ,GAAG,EAAE;AACtB,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,IAAI,IAAI,CAAC,aAAa,GAAG,EAAE;AAC3B;AACA;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,OAAO;AAC3B,EAAE;AACF,EAAE,IAAI,IAAI,GAAG;AACb,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACrB;AACA,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;AAChD,IAAI;AACJ,IAAI,OAAO,IAAI,CAAC,KAAK;AACrB,EAAE;AACF,EAAE,IAAI,MAAM,GAAG;AACf,IAAI,OAAO,IAAI,CAAC,OAAO;AACvB,EAAE;AACF,EAAE,IAAI,UAAU,GAAG;AACnB,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,MAAM,GAAG;AACf,IAAI,OAAO,IAAI,GAAG,EAAE;AACpB,EAAE;AACF;AACA,EAAE,IAAI,iBAAiB,GAAG;AAC1B,IAAI,OAAO,EAAE;AACb,EAAE;AACF,EAAE,IAAI,QAAQ,GAAG;AACjB,IAAI,OAAO;AACX,MAAM,QAAQ,EAAE,KAAK;AACrB,MAAM,WAAW,EAAE,KAAK;AACxB,MAAM,eAAe,EAAE,KAAK;AAC5B,MAAM,aAAa,EAAE,KAAK;AAC1B,MAAM,cAAc,EAAE,KAAK;AAC3B,MAAM,YAAY,EAAE,KAAK;AACzB,MAAM,OAAO,EAAE,KAAK;AACpB,MAAM,QAAQ,EAAE,KAAK;AACrB,MAAM,YAAY,EAAE,KAAK;AACzB,MAAM,KAAK,EAAE,IAAI;AACjB,MAAM,YAAY,EAAE;AACpB,KAAK;AACL,EAAE;AACF,EAAE,IAAI,YAAY,GAAG;AACrB,IAAI,OAAO,IAAI;AACf,EAAE;AACF;AACA,EAAE,aAAa,GAAG;AAClB,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,cAAc,GAAG;AACnB,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;AAChC,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACO,SAAS,0BAA0B,GAAG;AAC7C,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,EAAE;AAC9C,IAAI,WAAW,CAAC,SAAS,CAAC,eAAe,GAAG,YAAY;AACxD,MAAM,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC;AAC3C,IAAI,CAAC;AACL,EAAE;AACF;;AC/GA,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;AACpK,SAAS,4BAA4B,CAAC,QAAQ,EAAE;AAChD,EAAE,MAAM,gBAAgB,GAAG,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC,cAAc;AAC1G,EAAE,IAAI,CAAC,gBAAgB,EAAE;AACzB,IAAI,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC;AAClF,EAAE;AACF,EAAE,OAAO,gBAAgB;AACzB;AACA,SAAS,4BAA4B,CAAC,IAAI,EAAE;AAC5C,EAAE,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC9F,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,8BAA8B,EAAE,IAAI,CAAC,oJAAoJ,CAAC,CAAC;AAChN,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,QAAQ,CAAC,cAAc,EAAE;AACzC,EAAE,4BAA4B,CAAC,cAAc,CAAC,IAAI,CAAC;AACnD,EAAE,OAAO,cAAc;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,kBAAkB,CAAC,iBAAiB,EAAE,GAAG,YAAY,EAAE;AACvE,EAAE,IAAI,CAAC,iBAAiB,EAAE;AAC1B,IAAI,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC;AAC3E,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI;AACrC,EAAE,4BAA4B,CAAC,IAAI,CAAC;AACpC,EAAE,OAAO;AACT,IAAI,IAAI;AACR,IAAI,MAAM,CAAC,QAAQ,EAAE;AACrB,MAAM,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,QAAQ,CAAC;AACrE,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE;AACjC,MAAM,KAAK,MAAM,UAAU,IAAI,CAAC,GAAG,YAAY,EAAE,iBAAiB,CAAC,EAAE;AACrE,QAAQ,4BAA4B,CAAC,UAAU,CAAC,IAAI,CAAC;AACrD,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACrF,UAAU,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;AACxC,UAAU;AACV,QAAQ;AACR,QAAQ,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAQ,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;AACtC,MAAM;AACN,IAAI;AACJ,GAAG;AACH;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,kBAAkB,CAAC;AAChC;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,KAAK,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,OAAO,EAAE;AACtC,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK;AACtB,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,iBAAiB,CAAC,UAAU,EAAE;AAChC,IAAI,MAAM;AACV,MAAM;AACN,KAAK,GAAG,IAAI;AACZ,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;AACrD,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;AACnD,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AAClD,IAAI;AACJ;AACA,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC1B,IAAI,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAC9C,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,oBAAoB,CAAC,UAAU,EAAE;AACnC,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;AACvD,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC;AACxD,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,4BAA4B,SAAS,kBAAkB,CAAC;AACrE;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE;AAC7B,IAAI,KAAK,CAAC,KAAK,CAAC;AAChB,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM;AACxB,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE;AACrB,IAAI,OAAO,MAAM,IAAI;AACrB,MAAM,OAAO,IAAI,4BAA4B,CAAC,KAAK,EAAE,MAAM,CAAC;AAC5D,IAAI,CAAC;AACL,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,iBAAiB,CAAC,UAAU,EAAE;AAChC,IAAI,IAAI,QAAQ,GAAG,KAAK;AACxB,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;AAC9B,IAAI,OAAO,SAAS,QAAQ,GAAG;AAC/B,MAAM,MAAM;AACZ,QAAQ;AACR,OAAO,GAAG,IAAI;AACd,MAAM,IAAI,OAAO,IAAI,CAAC,QAAQ,EAAE;AAChC,QAAQ,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC;AACpC,QAAQ,QAAQ,GAAG,OAAO;AAC1B,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE;AACvC,QAAQ,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC;AACvC,QAAQ,QAAQ,GAAG,OAAO;AAC1B,MAAM;AACN,IAAI,CAAC;AACL,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,eAAe,CAAC,UAAU,EAAE;AAC9B,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;AACxC,EAAE;AACF;AACA;AACA;AACA;AACA;AACO,MAAM,8BAA8B,GAAG,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACrH;AACA;AACA;AACA;AAC0C,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC;AAC7H;AACA;AACA;AACA;AAC2C,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,+BAA+B,CAAC;;AC/I/H;AACA;AACA;AACA;AACA,MAAM,KAAK,GAAG,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,mBAAmB,CAAC,CAAC,EAAE;AACvC,EAAE,OAAO,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO;AACtC;;ACnBA;AAEA;AACA;AACA;AACA;AACO,SAAS,iBAAiB,CAAC,IAAI,EAAE;AACxC,EAAE,IAAI,CAAC,IAAI,EAAE;AACb,IAAI,OAAO,uBAAuB,CAAC,KAAK;AACxC,EAAE;AACF,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAChC,IAAI,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC;AAC5C,EAAE;AACF,EAAE,IAAI,QAAQ,IAAI,IAAI,EAAE;AACxB,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE;AACxB,EAAE;AACF,EAAE,OAAO,IAAI;AACb;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,gBAAgB,GAAG,KAAK,IAAI;AACzC,EAAE,IAAI,EAAE;AACR,EAAE,OAAO,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;AAC9H;;ACdA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,kBAAkB,CAAC,KAAK,EAAE;AAC1C,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;AAChC,EAAE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC;AAC3B,EAAE,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;AACnC,EAAE,OAAO,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC;AACrD;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE;AACvC,EAAE,IAAI,MAAM,GAAG,KAAK;AACpB,EAAE,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG;AACrD,EAAE,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG;AACrD,EAAE,OAAO,MAAM;AACf;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE;AACjD,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC;AACxC,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,MAAM;AAC5C;;AC5BA;AACA;AACA;AACA;AACY,MAACI,QAAM,GAAG,GAAG;AACzB,2HAA2H,EAAE,kBAAkB,CAAC,ibAAib,EAAE,oBAAoB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,SAAS,EAAE,oBAAoB,CAAC,YAAY,EAAE,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,CAAC,sIAAsI,EAAE,mBAAmB,CAAC,6CAA6C,EAAE,uBAAuB,CAAC,kCAAkC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,8BAA8B,CAAC,GAAG;AAC1iC,iEAAiE,CAAC,CAAC;;ACPnE;AACA;AACA;AACA;AACO,SAAS,mBAAmB,GAAG;AACtC,EAAE,OAAO,IAAI,CAAC,4BAA4B,EAAE,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,gGAAgG,EAAE,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,eAAe,CAAC,2FAA2F,EAAE,OAAO,CAAC;AACvT,IAAI,QAAQ,EAAE,iBAAiB;AAC/B,IAAI,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,KAAK;AACjC,GAAG,CAAC,CAAC,+EAA+E,EAAE,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,gBAAgB,CAAC,0BAA0B,CAAC;AAC/J;AACY,MAACD,UAAQ,GAAG,mBAAmB;;ACR3C;AACA;AACA;AACA;AACA;AACA;AACY,MAACE,aAAU,GAAG,WAAW,CAAC,OAAO,CAAC;AAC9C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC;AAC7C,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACjBD,IAAIJ,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,eAAe,SAAS,WAAW,CAAC;AACjD,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK;AACvB,EAAE;AACF;AACAD,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,IAAI,EAAE;AACR,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;AACjDA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;AACpEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;AACtEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;;ACzCvE;AACA;AACA;AACA;AACY,MAACI,QAAM,GAAG,GAAG;AACzB,2FAA2F,EAAE,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,gCAAgC,EAAE,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,eAAe,EAAE,oBAAoB,CAAC,YAAY,EAAE,uBAAuB,CAAC,8BAA8B,EAAE,YAAY,CAAC,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,EAAE,aAAa,CAAC,kCAAkC,EAAE,kBAAkB,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,yHAAyH,EAAE,uBAAuB,CAAC,eAAe,EAAE,iBAAiB,CAAC,oEAAoE,CAAC,CAAC,aAAa,CAAC,8BAA8B,CAAC,GAAG;AACvyB,6DAA6D,CAAC,CAAC;;ACR/D;AACA;AACA;AACA;AACA;AACO,SAAS,uBAAuB,GAAG;AAC1C,EAAE,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,yDAAyD,CAAC;AAC5P;AACY,MAACD,UAAQ,GAAG,uBAAuB;;ACL/C;AACA;AACA;AACA;AACA;AACA;AACY,MAACE,aAAU,GAAG,eAAe,CAAC,OAAO,CAAC;AAClD,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,kBAAkB,CAAC;AAClD,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACjBD,IAAIJ,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAMD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,QAAQ,SAAS,WAAW,CAAC;AAC1C,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;AACxD;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC,cAAc;AAC1D;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,kBAAkB,GAAG,2BAA2B,CAAC,OAAO;AACjE;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,UAAU,GAAG;AACnB,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM;AACnC,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE;AAC3C,IAAI,IAAI,EAAE;AACV,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,4BAA4B,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,EAAE;AAC5F,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;AACtC,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE;AAC1C,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE;AAChC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC;AACzC,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,mBAAmB,GAAG;AACxB,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,IAAI,GAAG;AACT,IAAI,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE;AACjD,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,IAAI,GAAG;AACT,IAAI,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;AAC/B,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,aAAa,CAAC,KAAK,EAAE;AACvB,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE;AAC/C,MAAM,IAAI,CAAC,YAAY,GAAG,KAAK;AAC/B,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,kBAAkB,GAAG;AACvB,IAAI,IAAI,EAAE,EAAE,EAAE;AACd,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE;AACjF,MAAM,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;AACnF,IAAI;AACJ,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;AAC9F,MAAM,IAAI,CAAC,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC,YAAY;AAC/C,MAAM,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACxD,MAAM,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACpD,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,QAAQ,CAAC,KAAK,EAAE;AAClB,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC5C,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,UAAU,CAAC,KAAK,EAAE;AACpB,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC9C,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,KAAK,EAAE;AACrB,IAAI,IAAI,EAAE,EAAE,EAAE;AACd,IAAI,MAAM,IAAI,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC;AACxF,IAAI,OAAO,CAAC,EAAE,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;AAC9H,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,iBAAiB,CAAC,GAAG,EAAE;AACzB,IAAI,IAAI,CAAC,4BAA4B,GAAG,IAAI,eAAe,EAAE;AAC7D,IAAI,MAAM;AACV,MAAM;AACN,KAAK,GAAG,IAAI,CAAC,4BAA4B;AACzC,IAAI,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AAC5E,MAAM;AACN,KAAK,CAAC;AACN,IAAI,GAAG,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE;AACxD,MAAM;AACN,KAAK,CAAC;AACN,IAAI,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE;AACpD,MAAM;AACN,KAAK,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE;AACnC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kBAAkB,CAAC,MAAM,EAAE;AAClE,MAAM,MAAM,EAAE;AACd,QAAQ,KAAK;AACb,QAAQ;AACR,OAAO;AACP,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,QAAQ,EAAE;AAChB,KAAK,CAAC,CAAC;AACP,EAAE;AACF,EAAE,iBAAiB,GAAG;AACtB,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAC7B,IAAIK,aAAqB,CAAC,MAAM,CAAC,cAAc,CAAC;AAChD,IAAIC,aAAyB,CAAC,MAAM,CAAC,cAAc,CAAC;AACpD,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,EAAE;AACF,EAAE,oBAAoB,GAAG;AACzB,IAAI,IAAI,EAAE;AACV,IAAI,KAAK,CAAC,oBAAoB,EAAE;AAChC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,4BAA4B,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,EAAE;AAC5F,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,QAAQ,CAAC,SAAS,GAAG,CAAC;AACtBP,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;AAC/CA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,oBAAoB,EAAE,MAAM,CAAC;AACtDA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC;AACpEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC;AACpEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC;;ACzOpE;AACA;AACA;AACA;AACY,MAACI,QAAM,GAAG,GAAG;AACzB,2FAA2F,EAAE,uBAAuB,CAAC,oIAAoI,EAAE,cAAc,CAAC,CAAC,EAAE,aAAa,CAAC,gPAAgP,EAAE,gBAAgB,CAAC,uFAAuF,EAAE,gBAAgB,CAAC,0BAA0B;;ACNlqB;AACA;AACA;AACA;AACO,SAAS,gBAAgB,GAAG;AACnC,EAAE,OAAO,IAAI,CAAC,sEAAsE,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,2IAA2I,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC;AACzV,IAAI,QAAQ,EAAE,cAAc;AAC5B,IAAI,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,KAAK;AACjC,GAAG,CAAC,CAAC,oEAAoE,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,kCAAkC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,6BAA6B,CAAC,EAAE;AAC3b,IAAI,WAAW,EAAE;AACjB,GAAG,CAAC,CAAC,uCAAuC,CAAC;AAC7C;AACY,MAACD,UAAQ,GAAG,gBAAgB;;ACTxC;AACA;AACA;AACA;AACA;AACA;AACY,MAACE,aAAU,GAAG,QAAQ,CAAC,OAAO,CAAC;AAC3C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC;AACzC,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACbD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,cAAc,CAAC,QAAQ,GAAG,cAAc,EAAE;AAC1D,EAAEE,aAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC;AACxC,EAAEC,aAAyB,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC5C,EAAEF,aAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC7B;AACA,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC;;ACvBrC,IAAIL,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,YAAY,SAAS,WAAW,CAAC;AAC9C,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK;AACvB,EAAE;AACF;AACAD,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,IAAI,EAAE;AACR,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;AAC9CA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;AAC3DA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;AACnEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;;AC9CjE;AACA;AACA;AACA;AACY,MAACI,QAAM,GAAG,GAAG;AACzB,qEAAqE;;ACLrE;AACA;AACA;AACA;AACA;AACO,SAAS,oBAAoB,GAAG;AACvC,EAAE,OAAO,IAAI,CAAC,8BAA8B,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC;AACxP;AACY,MAACD,UAAQ,GAAG,oBAAoB;;ACL5C;AACA;AACA;AACA;AACA;AACA;AACY,MAACE,aAAU,GAAG,YAAY,CAAC,OAAO,CAAC;AAC/C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC;AAC9C,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACjBD,IAAIJ,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AACD,IAAI,sBAAsB,GAAGA,MAAI,IAAIA,MAAI,CAAC,sBAAsB,IAAI,UAAU,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE;AAC/G,EAAE,IAAI,IAAI,KAAK,GAAG,EAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC;AACzE,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC;AAC9F,EAAE,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC;AACnL,EAAE,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,KAAK;AACzG,CAAC;AACD,IAAI,sBAAsB,GAAGA,MAAI,IAAIA,MAAI,CAAC,sBAAsB,IAAI,UAAU,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE;AACxG,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC;AAC9F,EAAE,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC;AACpL,EAAE,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC/F,CAAC;AACD,IAAI,mBAAmB;AAIvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,YAAY,SAAS,WAAW,CAAC;AAC9C,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,oBAAoB,GAAG,EAAE;AAClC;AACA;AACA;AACA,IAAI,IAAI,CAAC,0BAA0B,GAAG,KAAK;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,UAAU,GAAG,MAAM;AAC5B,MAAM,IAAI,CAAC,IAAI,EAAE;AACjB,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,UAAU,GAAG,MAAM;AAC5B,MAAM,IAAI,CAAC,IAAI,EAAE;AACjB,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,oBAAoB,GAAG,CAAC;AACjC;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,uBAAuB,GAAG,IAAI;AACvC;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,cAAc,GAAG,SAAS;AACnC;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,oBAAoB,GAAG,EAAE;AAClC,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,2BAA2B,CAAC,IAAI,EAAE,IAAI,EAAE;AAC1C,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;AACrD,MAAM,IAAI,CAAC,0BAA0B,GAAG,IAAI;AAC5C,IAAI;AACJ,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,mBAAmB,GAAG;AACxB,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,kBAAkB,GAAG;AACvB,IAAI,IAAI,EAAE,EAAE,EAAE;AACd,IAAI,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;AACpJ,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC;AAC7E,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;AACpE,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,iBAAiB,GAAG;AACtB,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACvD,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;AACnE,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACvD,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;AACnE,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,oBAAoB,GAAG;AACzB,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACvD,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;AACtE,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACvD,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;AACtE,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,iBAAiB,GAAG;AACtB,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAC7B,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B;AACA,IAAI,MAAM,QAAQ,GAAG,CAAC,4BAA4B,EAAE,QAAQ,EAAE,CAAC,CAAC;AAChE,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;AACrB,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ;AAC/B,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;AAC1B,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,iBAAiB,EAAE,QAAQ,CAAC;AAChE,IAAI;AACJ,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC/D,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM;AAC1B,MAAM,IAAI,CAAC,kBAAkB,EAAE;AAC/B,MAAM,IAAI,CAAC,kBAAkB,EAAE;AAC/B,MAAM,IAAI,CAAC,iBAAiB,EAAE;AAC9B,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC9B,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,oBAAoB,GAAG;AACzB,IAAI,KAAK,CAAC,oBAAoB,EAAE;AAChC,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE;AAC7B,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;AACtC,MAAM,IAAI,CAAC,cAAc,GAAG,SAAS;AACrC,IAAI;AACJ,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC/B,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,GAAG;AACT,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;AACzB,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB;AACjD,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,YAAY,CAAC;AACnF,MAAM,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;AACvG,MAAM,IAAI,CAAC,kBAAkB,EAAE;AAC/B,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,GAAG;AACT,IAAI,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;AAC/B,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC;AAC/D,MAAM,IAAI,CAAC,YAAY,IAAI,WAAW;AACtC,MAAM,IAAI,CAAC,kBAAkB,EAAE;AAC/B,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,CAAC,EAAE;AACtC,IAAI,MAAM,WAAW,GAAG,EAAE;AAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE;AAC1C,MAAM,IAAI,SAAS,IAAI,WAAW,EAAE;AACpC,QAAQ,OAAO,CAAC,IAAI,CAAC,CAAC,oDAAoD,EAAE,WAAW,CAAC,+BAA+B,CAAC,EAAE,KAAK,CAAC;AAChI,QAAQ;AACR,MAAM;AACN,MAAM,qBAAqB,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC5D,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE;AAChE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC,wBAAwB,EAAE,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3G,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,CAAC,YAAY,GAAG,KAAK;AAC7B,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,EAAE;AACF;AACA;AACA;AACA,EAAE,mBAAmB,GAAG;AACxB,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM;AACnD,MAAM,IAAI,CAAC,oBAAoB,GAAG,CAAC;AACnC,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB,MAAM,IAAI,CAAC,kBAAkB,EAAE;AAC/B,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;AACrC,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,YAAY,GAAG;AACjB,IAAI,IAAI,IAAI,CAAC,uBAAuB,EAAE;AACtC,MAAM,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;AACvH,MAAM,IAAI,CAAC,uBAAuB,GAAG,KAAK;AAC1C,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,iBAAiB,GAAG;AAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,uBAAuB,EAAE;AACpE,MAAM,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW;AAClD,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB,IAAI;AACJ,IAAI,IAAI,UAAU,GAAG,CAAC;AACtB,IAAI,IAAI,KAAK,GAAG,CAAC;AACjB,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY;AACjC,IAAI,IAAI,eAAe,GAAG,KAAK;AAC/B,IAAI,OAAO,CAAC,eAAe,EAAE;AAC7B,MAAM,IAAI,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAClF,QAAQ,UAAU,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAClD,QAAQ,KAAK,EAAE;AACf,QAAQ,IAAI,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE;AACxC,UAAU,KAAK,EAAE;AACjB,QAAQ;AACR,MAAM,CAAC,MAAM;AACb,QAAQ,eAAe,GAAG,IAAI;AAC9B,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,CAAC,oBAAoB,GAAG,KAAK,GAAG,CAAC;AACzC,IAAI,OAAO,KAAK;AAChB,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,GAAG;AACZ,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM;AACvD,IAAI,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB;AAC/C,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;AAC3D,IAAI,OAAO,IAAI,CAAC,YAAY,IAAI,QAAQ;AACxC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,wBAAwB,CAAC,SAAS,EAAE;AACtC,IAAI,IAAI,UAAU,GAAG,CAAC;AACtB,IAAI,IAAI,KAAK,GAAG,CAAC;AACjB,IAAI,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,uBAAuB,EAAE;AACpE,MAAM,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW;AAClD,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB,IAAI;AACJ,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,KAAK,MAAM,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;AACzK,IAAI,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAChC,MAAM,IAAI,UAAU,GAAG,KAAK,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC3D,QAAQ,UAAU,IAAI,KAAK;AAC3B,QAAQ,KAAK,EAAE;AACf,MAAM,CAAC,MAAM;AACb,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,KAAK;AAChB,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,eAAe,GAAG;AACpB,IAAI,IAAI,EAAE;AACV,IAAI,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,SAAS;AACxD,IAAI,MAAM,WAAW,GAAG,QAAQ,CAAC,eAAe,CAAC,GAAG;AACpD,IAAI,MAAM,OAAO,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;AACrH,IAAI,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,EAAE,WAAW,KAAK,KAAK,IAAI,WAAW,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,EAAE,GAAG,CAAC;AAC/H,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,YAAY,CAAC,MAAM,EAAE;AACvB,IAAI,IAAI,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,CAAC,KAAK,SAAS,EAAE;AAC9E,MAAM,IAAI,CAAC,eAAe,EAAE;AAC5B,IAAI;AACJ;AACA;AACA,IAAI,MAAM,cAAc,GAAG,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM;AACpG,IAAI,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC;AAC5C,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,kBAAkB,GAAG;AACvB,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM;AAC1B,MAAM,IAAI,UAAU,GAAG,CAAC;AACxB,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5C,QAAQ,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;AAC3D,UAAU,IAAI,KAAK,GAAG,IAAI,CAAC,oBAAoB,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE;AAC9E,YAAY,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;AACpD,YAAY,IAAI,CAAC,QAAQ,GAAG,EAAE;AAC9B,YAAY,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC;AAChD,UAAU,CAAC,MAAM;AACjB,YAAY,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC;AACrD,YAAY,IAAI,CAAC,QAAQ,GAAG,CAAC;AAC7B,YAAY,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC;AAC/C,UAAU;AACV,UAAU,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE;AACzC,YAAY,UAAU,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AACtD,UAAU;AACV,QAAQ,CAAC,CAAC;AACV,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;AAC9B,UAAU,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACrC,YAAY,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM;AACtD,UAAU,CAAC,MAAM;AACjB,YAAY,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE;AAClD,UAAU;AACV;AACA,UAAU,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;AAC1E,QAAQ;AACR,MAAM;AACN,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA,mBAAmB,GAAG,IAAI,OAAO,EAAE;AACnCD,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,IAAI,EAAE,SAAS;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC;AACxDA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,SAAS,EAAE,sBAAsB,EAAE,MAAM,CAAC;AAChFA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;AAClEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;AACvEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC;AACxEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC;AACtEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC;;AC5b1D,MAACI,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC;AACpB,iGAAiG,EAAE,gBAAgB,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,gBAAgB;AAC7J,MAAM,EAAE,kBAAkB,CAAC,6FAA6F,EAAE,gBAAgB,CAAC,qBAAqB,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC,aAAa,EAAE,iBAAiB,CAAC,iKAAiK,EAAE,gBAAgB,CAAC,oCAAoC,EAAE,gBAAgB,CAAC,qFAAqF;;ACJ/kB;AACA;AACA;AACA;AACO,SAAS,oBAAoB,GAAG;AACvC,EAAE,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,8CAA8C,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,yFAAyF,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,iCAAiC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,wDAAwD,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC;AACvY,IAAI,QAAQ,EAAE,sBAAsB;AACpC,IAAI,MAAM,EAAE,QAAQ;AACpB,GAAG,CAAC,CAAC,yBAAyB,CAAC;AAC/B;AACY,MAACD,UAAQ,GAAG,oBAAoB;;ACP5C;AACA;AACA;AACA;AACA;AACA;AACY,MAACE,aAAU,GAAG,YAAY,CAAC,OAAO,CAAC;AAC/C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC;AAC9C,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACjBD,IAAIJ,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,MAAM,SAASO,UAAY,CAAC;AACzC,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK;AACzB,EAAE;AACF;AACAR,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC;AAC1DA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;AACrDA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACpDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE,WAAW;AACxB,EAAE,IAAI,EAAE;AACR,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;;AC7F1C;AACY,MAAC,iBAAiB,GAAG;AACjC,EAAE,GAAGS,gBAAsB;AAC3B,EAAE,cAAc,EAAE;AAClB;AACA;AACY,MAAC,YAAY,GAAG;AAC5B,EAAE,GAAGC;AACL;AACA;AACY,MAAC,WAAW,GAAG;AAC3B,EAAE,GAAGC;AACL;AACA;AACY,MAAC,iBAAiB,GAAG;AACjC,EAAE,GAAGC;AACL;AAEA;AACY,MAAC,WAAW,GAAG;AAC3B,EAAE,GAAGC;AACL;;ACpBY,MAACT,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,YAAY,CAAC,kFAAkF,EAAE,kBAAkB,CAAC,yDAAyD,EAAE,oBAAoB,CAAC,OAAO,EAAE,6BAA6B,CAAC,cAAc,EAAE,yBAAyB,CAAC;AACzR;AACA;AACA;AACA,iBAAiB,EAAE,yBAAyB,CAAC,uEAAuE,EAAE,6BAA6B,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,sEAAsE,EAAE,2BAA2B,CAAC,mEAAmE,EAAE,6BAA6B,CAAC,YAAY,EAAE,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,gDAAgD,EAAE,uBAAuB,CAAC,sDAAsD,EAAE,4BAA4B,CAAC,OAAO,EAAE,4BAA4B,CAAC,cAAc,EAAE,wBAAwB,CAAC,6DAA6D,EAAE,8BAA8B,CAAC,OAAO,EAAE,8BAA8B,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;;ACH91B;AACA;AACA;AACA;AACA;AACA;AACY,MAACC,YAAU,GAAG,MAAM,CAAC,OAAO,CAAC;AACzC,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;AACvC,EAAE,QAAQ,EAAE,cAAc;AAC1B,EAAE,MAAM,EAAES,QAAY;AACtB,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;AChBW,MAAC,eAAe,GAAG;AAC/B,EAAE,GAAG;AACL;AACY,MAAC,qBAAqB,GAAG;AACrC,EAAE,GAAG;AACL;AACA;AACY,MAAC,qBAAqB,GAAG;AACrC,EAAE,OAAO,EAAE,SAAS;AACpB,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE,WAAW,EAAE,aAAa;AAC5B,EAAE,OAAO,EAAE,SAAS;AACpB,EAAE,cAAc,EAAE;AAClB;AACA;AACY,MAAC,gBAAgB,GAAG;AAChC,EAAE,QAAQ,EAAE,UAAU;AACtB,EAAE,MAAM,EAAE;AACV;AACA;AACY,MAAC,eAAe,GAAG;AAC/B,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE,KAAK,EAAE;AACT;AACA;AACA;AACA;AACA;AACY,MAAC,oBAAoB,GAAG;AACpC,EAAE,aAAa,EAAE;AACjB;;AChCA,IAAId,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAKD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,UAAU,SAAS,MAAM,CAAC;AACvC;AACA;AACA;AACA,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,EAAE;AACX;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,KAAK,GAAG,gBAAgB,CAAC,QAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,MAAM;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,OAAO,GAAG,KAAK;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK;AACtB,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,QAAQ;AACzC,EAAE;AACF;AACA;AACA;AACA,EAAE,oBAAoB,GAAG;AACzB,IAAI,IAAI,EAAE;AACV,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,EAAE;AACtE,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,EAAE;AACvC,IAAI,MAAM;AACV,MAAM;AACN,KAAK,GAAG,IAAI,CAAC,MAAM;AACnB,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;AACtD,MAAM;AACN,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE;AAC5D,MAAM;AACN,KAAK,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE;AAC/B,IAAI,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC;AACpD,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE;AAChC,IAAI,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC;AACzE,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE;AAC3B,IAAI,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC;AACzE,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE;AAC1B,IAAI,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC;AACzE,EAAE;AACF;AACA;AACA;AACA,EAAE,cAAc,GAAG;AACnB,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,EAAE;AACF;AACA;AACA;AACA,EAAE,YAAY,GAAG;AACjB,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,EAAE;AACF;AACA;AACA;AACA,EAAE,KAAK,GAAG;AACV,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO;AAChC,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,eAAe,GAAG;AACpB,IAAI,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClE,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,GAAG,WAAW;AACnD,IAAI,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC;AAC7E,IAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC;AAChE,EAAE;AACF;AACA;AACA;AACA,EAAE,iBAAiB,GAAG;AACtB,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAC7B,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC/B,EAAE;AACF;AACA;AACA;AACA,EAAE,oBAAoB,GAAG;AACzB,IAAI,IAAI,EAAE;AACV,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,EAAE;AACtE,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS;AAC3B,IAAI,KAAK,CAAC,oBAAoB,EAAE;AAChC,EAAE;AACF;AACAD,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC;AAC9DA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;AACzDA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACxDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE,WAAW;AACxB,EAAE,IAAI,EAAE;AACR,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;AAC9CA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,IAAI,EAAE;AACR,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;AAC7CA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,IAAI,EAAE;AACR,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;;AClN3C;AACA;AACA;AACA;AACA;AACA;AACO,MAAMI,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC;;AAE1B,uBAAuB,EAAE,uBAAuB,CAAC,8LAA8L,EAAE,gBAAgB,CAAC,qCAAqC,EAAE,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,CAAC,QAAQ,EAAE,eAAe,CAAC,OAAO,EAAE,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC,aAAa,EAAE,kBAAkB,CAAC,aAAa,EAAE,iBAAiB,CAAC,qBAAqB,EAAE,cAAc,CAAC,wEAAwE,EAAE,aAAa,CAAC,sFAAsF,EAAE,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,OAAO,EAAE,UAAU,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,gCAAgC,EAAE,4BAA4B,CAAC,OAAO,EAAE,4BAA4B,CAAC,cAAc,EAAE,wBAAwB,CAAC,uCAAuC,EAAE,8BAA8B,CAAC,cAAc,EAAE,0BAA0B,CAAC,OAAO,EAAE,8BAA8B,CAAC,uDAAuD,EAAE,sBAAsB,CAAC,SAAS,EAAE,gBAAgB,CAAC,OAAO,EAAE,sBAAsB,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAE,iBAAiB,CAAC,uGAAuG,EAAE,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,2RAA2R,EAAE,aAAa,CAAC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,YAAY,EAAE,eAAe,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,eAAe,EAAE,iBAAiB,CAAC,WAAW,EAAE,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC,aAAa,EAAE,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,aAAa,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,YAAY,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,YAAY,EAAE,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,WAAW,EAAE,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,aAAa,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,CAAC,cAAc,EAAE,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,2BAA2B,EAAE,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,OAAO,EAAE,iBAAiB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,EAAE,aAAa,CAAC,+BAA+B,EAAE,oBAAoB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,+BAA+B,EAAE,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,CAAC,gCAAgC,EAAE,YAAY,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,YAAY,CAAC,wCAAwC,EAAE,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,4BAA4B,EAAE,sBAAsB,CAAC,kBAAkB,EAAE,8BAA8B,CAAC,OAAO,EAAE,6BAA6B,CAAC,OAAO,EAAE,YAAY,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAE,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,YAAY,CAAC,yBAAyB,EAAE,+BAA+B,CAAC,OAAO,EAAE,YAAY,CAAC,gCAAgC,EAAE,iCAAiC,CAAC,OAAO,EAAE,WAAW,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,CAAC,gCAAgC,EAAE,WAAW,CAAC,yBAAyB,EAAE,0BAA0B,CAAC,OAAO,EAAE,4BAA4B,CAAC,gCAAgC,EAAE,WAAW,CAAC,gCAAgC,EAAE,4BAA4B,CAAC,OAAO,EAAE,8BAA8B,CAAC,gCAAgC,EAAE,WAAW,CAAC,4BAA4B,EAAE,iCAAiC,CAAC,OAAO,EAAE,WAAW,CAAC,mCAAmC,EAAE,mCAAmC,CAAC,OAAO,EAAE,gBAAgB,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,CAAC,yBAAyB,EAAE,+BAA+B,CAAC,OAAO,EAAE,iCAAiC,CAAC,OAAO,EAAE,gBAAgB,CAAC,gCAAgC,EAAE,iCAAiC,CAAC,OAAO,EAAE,mCAAmC,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,EAAE,gBAAgB,CAAC,uGAAuG,EAAE,oBAAoB,CAAC,OAAO,EAAE,6BAA6B,CAAC,cAAc,EAAE,yBAAyB,CAAC;AACrlL;AACA;AACA;AACA,iBAAiB,EAAE,yBAAyB,CAAC,uEAAuE,EAAE,6BAA6B,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,sEAAsE,EAAE,2BAA2B,CAAC,mEAAmE,EAAE,6BAA6B,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAE,iBAAiB,CAAC;AAC9c;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE,8BAA8B,CAAC,cAAc,EAAE,0BAA0B,CAAC,OAAO,EAAE,8BAA8B,CAAC,0BAA0B,EAAE,YAAY,CAAC;AAClL,IAAI,EAAE,YAAY,CAAC;AACnB;AACA;AACA,mCAAmC,EAAE,YAAY,CAAC;AAClD,IAAI,EAAE,YAAY,CAAC;AACnB;AACA;AACA,qBAAqB,EAAE,0BAA0B,CAAC,OAAO,EAAE,WAAW,CAAC;AACvE,IAAI,EAAE,WAAW,CAAC;AAClB,qBAAqB,EAAE,0BAA0B,CAAC,gCAAgC,EAAE,gBAAgB,CAAC;AACrG,IAAI,EAAE,gBAAgB,CAAC;AACvB;AACA;AACA,8CAA8C,EAAE,0BAA0B,CAAC,OAAO,EAAE,YAAY,CAAC,eAAe,EAAE,sBAAsB,CAAC,kBAAkB,EAAE,8BAA8B,CAAC,OAAO,EAAE,8BAA8B,CAAC,cAAc,EAAE,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,kBAAkB,EAAE,4BAA4B,CAAC,OAAO,EAAE,4BAA4B,CAAC,OAAO,EAAE,YAAY,CAAC,sBAAsB,EAAE,0BAA0B,CAAC,kBAAkB,EAAE,8BAA8B,CAAC,OAAO,EAAE,8BAA8B,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,eAAe,EAAE,sBAAsB,CAAC,kBAAkB,EAAE,8BAA8B,CAAC,OAAO,EAAE,8BAA8B,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,kBAAkB,EAAE,8BAA8B,CAAC,OAAO,EAAE,8BAA8B,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,4CAA4C,EAAE,6BAA6B,CAAC,OAAO,EAAE,+BAA+B,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,yBAAyB,EAAE,0BAA0B,CAAC,OAAO,EAAE,4BAA4B,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,0BAA0B,EAAE,4BAA4B,CAAC,OAAO,EAAE,8BAA8B,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,gBAAgB,CAAC,mBAAmB,EAAE,kCAAkC,CAAC,OAAO,EAAE,uBAAuB,CAAC,cAAc,EAAE,0BAA0B,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,eAAe,EAAE,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,EAAE,gBAAgB,CAAC,yBAAyB,EAAE,+BAA+B,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,eAAe,EAAE,YAAY,CAAC,EAAE,gBAAgB,CAAC,0BAA0B,EAAE,iCAAiC,CAAC,cAAc,EAAE,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,gBAAgB,CAAC,iCAAiC,EAAE,oCAAoC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,gBAAgB,CAAC,cAAc,EAAE,iCAAiC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,gBAAgB,CAAC,eAAe,EAAE,mCAAmC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,8BAA8B,CAAC,GAAG;AACt3E,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,gBAAgB,CAAC,iDAAiD,CAAC,CAAC,CAAC;;AC5CxO;AACA;AACA;AACA;AACA;AACO,SAAS,kBAAkB,GAAG;AACrC,EAAE,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,uEAAuE,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC,kDAAkD,CAAC;AACta;AACA;AACA;AACA;AACA;AACA;AACO,MAAMD,UAAQ,GAAG,kBAAkB,EAAE;;ACV5C;AACA;AACA;AACA;AACA;AACA;AACY,MAACE,YAAU,GAAG,UAAU,CAAC,OAAO,CAAC;AAC7C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;AAC5C,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;AChBD;AACA;AACA;AACA;AACA;AACY,MAAC,yBAAyB,GAAG;AACzC,EAAE,GAAGW;AACL;AACA;AACA;AACA;AACA;AACY,MAAC,oBAAoB,GAAG;AACpC,EAAE,GAAGC;AACL;AACA;AACA;AACA;AACA;AACY,MAAC,mBAAmB,GAAG;AACnC,EAAE,GAAGC;AACL;AACA;AACA;AACA;AACA;AACY,MAAC,yBAAyB,GAAG;AACzC,EAAE,GAAGC;AACL;AACA;AACA;AACA;AACA;AACY,MAAC,mBAAmB,GAAG;AACnC,EAAE,GAAGC;AACL;;ACpCA,IAAInB,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAID;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,cAAc,SAAS,UAAU,CAAC;AAC/C,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,UAAU,GAAG,yBAAyB,CAAC,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK;AACzB,EAAE;AACF;AACAD,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC;AAClEA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;AAC7DA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AAC5DA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE,WAAW;AACxB,EAAE,IAAI,EAAE;AACR,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;;ACjG3C,MAAMI,QAAM,GAAG,GAAG;AACzB,EAAE,EAAEgB,oBAA0B;AAC9B,0DAA0D,EAAE,oBAAoB,CAAC,OAAO,EAAE,6BAA6B,CAAC,cAAc,EAAE,yBAAyB,CAAC,8EAA8E,EAAE,6BAA6B,CAAC;AAChR;AACA;AACA;AACA,iBAAiB,EAAE,yBAAyB,CAAC,uEAAuE,EAAE,6BAA6B,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,sEAAsE,EAAE,2BAA2B,CAAC,mEAAmE,EAAE,6BAA6B,CAAC,YAAY,EAAE,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC;;ACJhc;AACA;AACA;AACA;AACA;AACY,MAACf,YAAU,GAAG,cAAc,CAAC,OAAO,CAAC;AACjD,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC;AAChD,EAAE,QAAQ,EAAE,sBAAsB;AAClC,EAAE,MAAM,EAAEgB,QAAoB;AAC9B,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACfD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,OAAO,SAASC,SAAa,CAAC;;AChC3C;AACY,MAAC,kBAAkB,GAAG;AAClC,EAAE,GAAGC;AACL;AACA;AACY,MAAC,YAAY,GAAG;AAC5B,EAAE,GAAGC;AACL;;ACLA;AACA;AACA;AACA;AACA;AACY,MAACnB,YAAU,GAAG,OAAO,CAAC,OAAO,CAAC;AAC1C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;AACxC,EAAE,QAAQ,EAAE,eAAe;AAC3B,EAAE,MAAM,EAAE,aAAa;AACvB,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACfD,IAAIL,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAID;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,aAAa,SAASwB,QAAY,CAAC;AAChD,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,OAAO,GAAG,KAAK;AACxB,EAAE;AACF,EAAE,iBAAiB,GAAG;AACtB,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAC7B,IAAIC,YAAiB,CAAC,MAAM,CAAC,cAAc,CAAC;AAC5C,EAAE;AACF;AACA1B,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,IAAI,EAAE;AACR,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;;AC7DzC,MAAMI,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,YAAY,CAAC,kFAAkF,EAAE,kBAAkB,CAAC,yCAAyC,EAAE,mBAAmB,CAAC,0CAA0C,EAAE,kBAAkB,CAAC,oCAAoC,EAAE,kBAAkB,CAAC,mFAAmF,CAAC;;ACDnY;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,qBAAqB,GAAG;AACjC,EAAE,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI;AACzC,IAAI,IAAI,EAAE;AACV,IAAI,OAAO,CAAC,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,QAAQ,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC;AACnF,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,6FAA6F,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,mCAAmC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAwB,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC,kDAAkD,CAAC;AAC7b;AACA;AACA;AACA;AACA;AACO,MAAMD,UAAQ,GAAG,qBAAqB,EAAE;;ACrB/C;AACA,MAAM,uBAAuB,GAAG,aAAa,CAAC,OAAO,CAAC;AACtD,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC;AAC/C,YAAEA,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAACC,YAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,QAAQ,CAACqB,YAAiB,CAAC;;ACvB3G;AACA;AACA;AACA;AACY,MAAC,mBAAmB,GAAG;AACnC,EAAE,YAAY,EAAE;AAChB;;ACNA,IAAI1B,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,SAAS,SAAS,WAAW,CAAC;AAC3C,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI;AACtB,EAAE;AACF,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE;AACpC,IAAI,IAAI,QAAQ,KAAK,QAAQ,EAAE;AAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC;AAC/D,IAAI;AACJ,EAAE;AACF;AACAD,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,IAAI,EAAE;AACR,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;;ACvD3C;AACA;AACA;AACO,MAAMI,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC;;AAEpB,4NAA4N,EAAE,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,aAAa,CAACuB,gCAA8B,CAAC,GAAG;AAC3W,yDAAyD,CAAC,CAAC,CAAC;;ACP5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iBAAiB,GAAG;AAC7B,EAAE,OAAO,IAAI,CAAC,qDAAqD,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,0EAA0E,CAAC;AACvO;AACA;AACA;AACA;AACA;AACO,MAAMxB,UAAQ,GAAG,iBAAiB,EAAE;;AClB3C;AACA;AACA;AACA;AACA;AACA;AACY,MAACE,YAAU,GAAG,SAAS,CAAC,OAAO,CAAC;AAC5C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;AAC3C,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,mBAAmB,SAAS,WAAW,CAAC;;AC7BrD;AACO,MAAMA,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC;AACnB,iMAAiM,EAAE,mBAAmB,CAAC,WAAW,EAAE,qBAAqB,CAAC,qCAAqC,EAAE,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,CAAC,QAAQ,EAAE,eAAe,CAAC,OAAO,EAAE,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC,aAAa,EAAE,kBAAkB,CAAC,aAAa,EAAE,iBAAiB,CAAC,qBAAqB,EAAE,cAAc,CAAC,wEAAwE,EAAE,aAAa,CAAC,kKAAkK,EAAE,mBAAmB,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,+FAA+F,EAAE,iBAAiB,CAAC,SAAS,EAAE,eAAe,CAAC,OAAO,EAAE,iBAAiB,CAAC,qBAAqB,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,aAAa,CAACuB,gCAA8B,CAAC,GAAG;AAC3nC,uFAAuF,CAAC,CAAC,CAAC;;ACL1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,2BAA2B,GAAG;AACvC,EAAE,OAAO,IAAI,CAAC,+DAA+D,CAAC;AAC9E;AACA;AACA;AACA;AACA;AACO,MAAMxB,UAAQ,GAAG,2BAA2B,EAAE;;AChBrD;AACA;AACA;AACA;AACA;AACA;AACY,MAACE,YAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC;AACtD,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,sBAAsB,CAAC;AACtD,YAAEF,UAAQ;AACV,UAAEC;AACF,CAAC;;ACdD,IAAIJ,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAMD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,cAAc,SAAS,WAAW,CAAC;AAChD,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE;AACxB;AACA;AACA;AACA,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE;AACzB;AACA;AACA;AACA,IAAI,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC9B;AACA;AACA;AACA,IAAI,IAAI,CAAC,yBAAyB,GAAG,IAAI;AACzC;AACA;AACA;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,EAAE;AACtB;AACA;AACA;AACA,IAAI,IAAI,CAAC,yBAAyB,GAAG,CAAC;AACtC;AACA;AACA;AACA,IAAI,IAAI,CAAC,qBAAqB,GAAG,CAAC;AAClC;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,EAAE;AAC3B;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,EAAE;AAC3B;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,SAAS,IAAI;AACtC,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE;AAC5B,QAAQ,IAAI,CAAC,kBAAkB,EAAE;AACjC,QAAQ,SAAS,CAAC,MAAM,GAAG,KAAK;AAChC,QAAQ,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC;AAC9C,MAAM;AACN,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,sBAAsB,GAAG,SAAS,IAAI;AAC/C,MAAM,IAAI,CAAC,8BAA8B,CAAC,SAAS,CAAC;AACpD,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,EAAE;AAC7C,QAAQ,IAAI,CAAC,2BAA2B,EAAE;AAC1C,MAAM;AACN,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;AAC9C,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,4BAA4B,GAAG,SAAS,IAAI;AACrD,MAAM,SAAS,CAAC,YAAY,CAAC,mBAAmB,EAAE,GAAG,CAAC;AACtD,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,EAAE;AAC7C,QAAQ,IAAI,CAAC,2BAA2B,EAAE;AAC1C,MAAM;AACN,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC;AACzE,MAAM,IAAI,eAAe,CAAC,MAAM,EAAE;AAClC,QAAQ,IAAI,CAAC,8BAA8B,CAAC,eAAe,CAAC;AAC5D,QAAQ,IAAI,IAAI,CAAC,yBAAyB,EAAE;AAC5C,UAAU,IAAI,CAAC,yBAAyB,CAAC,eAAe,CAAC,mBAAmB,CAAC;AAC7E,QAAQ;AACR,QAAQ,eAAe,CAAC,YAAY,CAAC,mBAAmB,EAAE,GAAG,CAAC;AAC9D,MAAM;AACN,IAAI,CAAC;AACL;AACA;AACA;AACA,IAAI,IAAI,CAAC,mBAAmB,GAAG,SAAS,IAAI;AAC5C,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE;AAC5B,QAAQ,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC;AACpD,QAAQ,SAAS,CAAC,MAAM,GAAG,KAAK;AAChC,QAAQ,OAAO,CAAC,OAAO,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;AAChD,QAAQ,IAAI,CAAC,yBAAyB,GAAG,SAAS;AAClD,MAAM;AACN,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,cAAc,GAAG,SAAS,IAAI;AACvC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;AAC7B,QAAQ,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC;AAC9C,QAAQ,SAAS,CAAC,MAAM,GAAG,IAAI;AAC/B,QAAQ,IAAI,CAAC,MAAM,EAAE;AACrB,MAAM;AACN,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,sBAAsB,GAAG,SAAS,IAAI;AAC/C,MAAM,IAAI,SAAS,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE;AACvD,QAAQ,SAAS,CAAC,eAAe,CAAC,mBAAmB,CAAC;AACtD,MAAM;AACN,MAAM,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,eAAe,IAAI,eAAe,KAAK,SAAS,CAAC;AAC5G,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;AACrE,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC;AAC/D,MAAM,IAAI,UAAU,YAAY,WAAW,EAAE;AAC7C,QAAQ,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,KAAK,UAAU,EAAE;AAC3E,UAAU,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,EAAE;AAC7C,QAAQ;AACR,QAAQ,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,qBAAqB;AACnE,QAAQ,IAAI,CAAC,qBAAqB,GAAG,oBAAoB;AACzD,QAAQ,UAAU,CAAC,QAAQ,GAAG,CAAC;AAC/B,QAAQ,UAAU,CAAC,KAAK,EAAE;AAC1B,QAAQ,IAAI,CAAC,gBAAgB,GAAG,UAAU;AAC1C,MAAM;AACN,MAAM,IAAI,CAAC,mCAAmC,CAAC,SAAS,CAAC;AACzD,IAAI,CAAC;AACL;AACA;AACA;AACA,IAAI,IAAI,CAAC,kBAAkB,GAAG,MAAM;AACpC,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,IAAI;AACjD,QAAQ,MAAM,gBAAgB,GAAG,SAAS;AAC1C,QAAQ,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;AAC7C,MAAM,CAAC,CAAC;AACR,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,eAAe,GAAG,SAAS,IAAI;AACxC,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE;AAC5B,QAAQ,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;AACrC,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;AACtC,MAAM;AACN,MAAM,IAAI,CAAC,MAAM,EAAE;AACnB,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,mCAAmC,GAAG,iBAAiB,IAAI;AACpE,MAAM,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,iBAAiB,CAAC;AACpE,MAAM,IAAI,KAAK,GAAG,EAAE,EAAE;AACtB,QAAQ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAC9C,MAAM;AACN,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,8BAA8B,GAAG,cAAc,IAAI;AAC5D,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;AAC3D,QAAQ,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC;AAC1E,MAAM;AACN,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM;AACxB,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACjD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,iBAAiB,GAAG,EAAE,IAAI;AACnC,MAAM,OAAO,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM;AACxD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE,IAAI;AACjC,MAAM,OAAO,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,MAAM;AACtD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,kBAAkB,GAAG,EAAE,IAAI;AACpC,MAAM,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,YAAY,KAAK,IAAI;AACjG,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,MAAM;AAC/B,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,KAAK;AACpD,QAAQ,IAAI,SAAS,YAAY,SAAS,EAAE;AAC5C,UAAU,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AACxD,UAAU,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AACvD,UAAU,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;AACxC,YAAY,EAAE,EAAE,WAAW;AAC3B,YAAY,iBAAiB,EAAE;AAC/B,WAAW,CAAC;AACZ,UAAU,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;AACjC,YAAY,IAAI,CAAC,8BAA8B,CAAC,SAAS,CAAC;AAC1D,UAAU,CAAC,MAAM;AACjB,YAAY,IAAI,CAAC,mCAAmC,CAAC,SAAS,CAAC;AAC/D,UAAU;AACV,QAAQ;AACR,MAAM,CAAC,CAAC;AACR,IAAI,CAAC;AACL;AACA;AACA;AACA,IAAI,IAAI,CAAC,oBAAoB,GAAG,MAAM;AACtC,MAAM,IAAI,CAAC,qBAAqB,GAAG,CAAC;AACpC,MAAM,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC;AAC1E,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,CAAC;AACxC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;AACnC,IAAI,CAAC;AACL;AACA;AACA;AACA,IAAI,IAAI,CAAC,yBAAyB,GAAG,MAAM;AAC3C,MAAM,IAAI,CAAC,gBAAgB,GAAG,SAAS;AACvC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,IAAI;AAC7C,QAAQ,UAAU,CAAC,QAAQ,GAAG,EAAE;AAChC,MAAM,CAAC,CAAC;AACR,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,qBAAqB,GAAG,KAAK,IAAI;AAC1C,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,aAAa;AACtD,MAAM,IAAI,oBAAoB,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,EAAE;AACjG,QAAQ;AACR,MAAM;AACN,MAAM,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,qBAAqB;AACjE,MAAM,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,oBAAoB,CAAC;AACjF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC;AAC7E,MAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE;AACtC,QAAQ,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC;AACrD,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC;AACjD,MAAM;AACN,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,uBAAuB,GAAG,KAAK,IAAI;AAC5C,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC;AAC7E,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa;AAC5C,MAAM,QAAQ,KAAK,CAAC,GAAG;AACvB,QAAQ,KAAK,UAAU;AACvB,UAAU,KAAK,CAAC,cAAc,EAAE;AAChC,UAAU,IAAI,CAAC,cAAc,EAAE;AAC/B,UAAU;AACV,QAAQ,KAAK,MAAM;AACnB,UAAU,KAAK,CAAC,cAAc,EAAE;AAChC,UAAU,IAAI,CAAC,yBAAyB,EAAE;AAC1C,UAAU,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE;AAC3C,UAAU;AACV,QAAQ,KAAK,YAAY;AACzB,UAAU,KAAK,CAAC,cAAc,EAAE;AAChC,UAAU,IAAI,CAAC,aAAa,EAAE;AAC9B,UAAU;AACV,QAAQ,KAAK,OAAO;AACpB,UAAU,KAAK,CAAC,cAAc,EAAE;AAChC,UAAU,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;AAClD,UAAU;AACV,QAAQ,KAAK,MAAM;AACnB,UAAU,KAAK,CAAC,cAAc,EAAE;AAChC,UAAU,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;AAC/E,UAAU;AACV,QAAQ,KAAK,QAAQ;AACrB,QAAQ,KAAK,QAAQ;AACrB,UAAU,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE;AAC1C,YAAY,KAAK,CAAC,cAAc,EAAE;AAClC,YAAY,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC;AACzD,UAAU,CAAC,MAAM;AACjB,YAAY,KAAK,CAAC,cAAc,EAAE;AAClC,YAAY,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC;AACrD,UAAU;AACV,UAAU;AACV,QAAQ,KAAK,SAAS;AACtB,UAAU,KAAK,CAAC,cAAc,EAAE;AAChC,UAAU,UAAU,CAAC,IAAI,EAAE;AAC3B,UAAU;AACV;AACA,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,sBAAsB,GAAG,KAAK,IAAI;AAC3C,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,aAAa;AACrD,MAAM,QAAQ,KAAK,CAAC,GAAG;AACvB,QAAQ,KAAK,SAAS;AACtB,UAAU,KAAK,CAAC,cAAc,EAAE;AAChC,UAAU,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC;AAClD,UAAU;AACV;AACA,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,kCAAkC,GAAG,KAAK,IAAI;AACvD,MAAM,QAAQ,KAAK,CAAC,GAAG;AACvB,QAAQ,KAAK,QAAQ;AACrB,UAAU,KAAK,CAAC,cAAc,EAAE;AAChC,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,oBAAoB,EAAE;AAC1D,YAAY,IAAI,CAAC,oBAAoB,EAAE;AACvC,UAAU;AACV,UAAU;AACV;AACA,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,MAAM;AAC/B,MAAM,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW;AACpC,MAAM,IAAI,KAAK,GAAG,CAAC;AACnB,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;AAClF,MAAM,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,EAAE;AAClC,QAAQ,KAAK,GAAG,CAAC;AACjB,MAAM;AACN,MAAM,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACvD,QAAQ,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;AACnD,UAAU,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC;AACtD,UAAU;AACV,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB,IAAI,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;AAC5F,UAAU;AACV,QAAQ,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE;AAC9C,UAAU,KAAK,GAAG,CAAC;AACnB,QAAQ,CAAC,MAAM;AACf,UAAU,KAAK,IAAI,CAAC;AACpB,QAAQ;AACR,MAAM;AACN,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,cAAc,GAAG,MAAM;AAChC,MAAM,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW;AACpC,MAAM,IAAI,KAAK,GAAG,CAAC;AACnB,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;AAClF,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK;AAClD,MAAM,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7C,QAAQ,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;AACnD,UAAU,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC;AACtD,UAAU;AACV,QAAQ,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE;AAClC,UAAU,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;AAClC,QAAQ,CAAC,MAAM;AACf,UAAU,KAAK,IAAI,CAAC;AACpB,QAAQ;AACR,MAAM;AACN,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,yBAAyB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK;AACvD,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;AACrC,MAAM,IAAI,CAAC,gBAAgB,GAAG,UAAU;AACxC,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,CAAC;AACxC,MAAM,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,qBAAqB;AACjE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,QAAQ,GAAG,EAAE;AACpE,MAAM,IAAI,CAAC,qBAAqB,GAAG,KAAK;AACxC,MAAM,UAAU,CAAC,KAAK,EAAE;AACxB,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB,IAAI,CAAC;AACL,EAAE;AACF;AACA;AACA;AACA,EAAE,iBAAiB,GAAG;AACtB,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAC7B,IAAI,IAAI,CAAC,UAAU,EAAE;AACrB,EAAE;AACF;AACA;AACA;AACA,EAAE,oBAAoB,GAAG;AACzB,IAAI,KAAK,CAAC,oBAAoB,EAAE;AAChC,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC/B,EAAE;AACF,EAAE,UAAU,GAAG;AACf,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE;AAChD,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,EAAE;AAC/C,IAAI,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,cAAc,EAAE;AACtD,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;AAChD,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;AAC/C,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;AACnD,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,2BAA2B,GAAG;AAChC,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;AACnD,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,SAAS,CAAC,eAAe,CAAC,mBAAmB,CAAC;AACpD,MAAM,SAAS,CAAC,MAAM,GAAG,IAAI;AAC7B,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE;AACtC,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;AAC/F,MAAM,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC;AAC/F,MAAM,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC;AAC3F,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,QAAQ,GAAG,CAAC;AAC/D,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,QAAQ,GAAG,EAAE;AACpE,MAAM,IAAI,CAAC,cAAc,EAAE;AAC3B,MAAM,IAAI,CAAC,aAAa,EAAE;AAC1B,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA,EAAE,kBAAkB,GAAG;AACvB,IAAI,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE;AACtC,MAAM,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE;AAClD,MAAM,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,EAAE;AACjD,MAAM,IAAI,CAAC,cAAc,EAAE;AAC3B,MAAM,IAAI,CAAC,aAAa,EAAE;AAC1B,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA,EAAE,iBAAiB,GAAG;AACtB,IAAI,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE;AACtC,MAAM,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE;AAClD,MAAM,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,EAAE;AACjD,MAAM,IAAI,CAAC,cAAc,EAAE;AAC3B,MAAM,IAAI,CAAC,aAAa,EAAE;AAC1B,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA,EAAE,uBAAuB,GAAG;AAC5B,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,KAAK;AACpD,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AAC9C,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AACrD,QAAQ,UAAU,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;AACxD,QAAQ,UAAU,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;AACxD,MAAM,CAAC,MAAM;AACb,QAAQ,UAAU,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC;AACzD,QAAQ,UAAU,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC;AACzD,MAAM;AACN,IAAI,CAAC,CAAC;AACN,EAAE;AACF,EAAE,qBAAqB,GAAG;AAC1B,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM;AAChG,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,cAAc,GAAG;AACnB,IAAI,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ;AAC5B,IAAI,IAAI,EAAE,KAAK,SAAS,EAAE;AAC1B,MAAM,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC3D,MAAM,OAAO,KAAK,KAAK,EAAE,EAAE;AAC3B,QAAQ,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC1E,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,MAAM,EAAE;AACvE,UAAU,OAAO,KAAK;AACtB,QAAQ;AACR,QAAQ,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC;AACpE,MAAM;AACN,IAAI;AACJ,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACxD,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AACpE,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,MAAM,EAAE;AACrE,QAAQ,OAAO,CAAC;AAChB,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,CAAC;AACZ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,cAAc,GAAG;AACnB,IAAI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC;AACxE,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,KAAK;AACpD,MAAM,IAAI,EAAE,UAAU,YAAY,WAAW,CAAC,EAAE;AAChD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,KAAK,KAAK,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC;AAC9G,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AACpD,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AACnD,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;AACrC,QAAQ,EAAE,EAAE,YAAY;AACxB,QAAQ,eAAe,EAAE;AACzB,OAAO,CAAC;AACR,MAAM,IAAI,oBAAoB,EAAE;AAChC,QAAQ,IAAI,CAAC,gBAAgB,GAAG,UAAU;AAC1C,QAAQ,IAAI,CAAC,QAAQ,GAAG,YAAY;AACpC,MAAM;AACN,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,gBAAgB,GAAG;AACrB,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,IAAI;AAC9C,MAAM,IAAI,EAAE;AACZ,MAAM,OAAO,CAAC,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC7G,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,eAAe,GAAG;AACpB,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,IAAI;AAC5C,MAAM,IAAI,EAAE;AACZ,MAAM,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC3G,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,YAAY,GAAG;AACjB,IAAI,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,CAAC,yBAAyB,EAAE;AACvE,MAAM,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC;AACpE,MAAM,IAAI,CAAC,MAAM,EAAE;AACnB,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,oBAAoB,CAAC,KAAK,EAAE;AAC9B,IAAI,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa;AAC1C,IAAI,UAAU,CAAC,QAAQ,GAAG,EAAE;AAC5B,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,CAAC,UAAU,EAAE;AACrB,IAAI,MAAM,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAC3F,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC/B,MAAM,MAAM,8BAA8B,GAAG,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC;AAClG,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,8BAA8B,GAAG,UAAU,CAAC;AAC5H,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,CAAC;AAC/F,MAAM,IAAI,SAAS,GAAG,EAAE,EAAE;AAC1B,QAAQ,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;AACnE,MAAM;AACN,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE;AACrC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AACzD,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC;AACtC,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,iBAAiB,GAAG;AACtB,IAAI,IAAI,IAAI,CAAC,oBAAoB,EAAE;AACnC,MAAM,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,kCAAkC,CAAC;AACpG,IAAI;AACJ,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,IAAI;AAC3C,MAAM,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC;AACtE,MAAM,UAAU,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC;AAC1E,MAAM,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC;AACpE,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,IAAI;AACzC,MAAM,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,IAAI,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;AACxF,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,oBAAoB,GAAG;AACzB,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,IAAI;AAC3C,MAAM,UAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC;AACzE,MAAM,UAAU,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC;AAC7E,MAAM,UAAU,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC;AACvE,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,IAAI;AACzC,MAAM,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,IAAI,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAC3F,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACAD,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC;AACxEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;AACzEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,SAAS,EAAE,sBAAsB,EAAE,MAAM,CAAC;AAClFA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC;;AC3qB9E;AACA;AACA;AACO,MAAMI,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC;AACnB,uXAAuX,EAAE,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,aAAa,CAACuB,gCAA8B,CAAC,GAAG;AACtgB,8DAA8D,CAAC,CAAC,CAAC;;ACPjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,sBAAsB,GAAG;AAClC,EAAE,OAAO,IAAI,CAAC,oFAAoF,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,qFAAqF,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,yBAAyB,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,+BAA+B,CAAC;AAC7X;AACA;AACA;AACA;AACA;AACO,MAAMxB,UAAQ,GAAG,sBAAsB,EAAE;;ACrBhD;AACA;AACA;AACA;AACA;AACA;AACY,MAACE,YAAU,GAAG,cAAc,CAAC,OAAO,CAAC;AACjD,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC;AACjD,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACjBD;AACA;AACA;AACA;AACY,MAAC,uBAAuB,GAAG;AACvC,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,IAAI,EAAE;AACR;;ACPA;AACY,MAAC,kBAAkB,GAAG;AAClC,EAAE,cAAc,EAAE;AAClB;;ACHA,IAAIJ,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,eAAe,SAAS,WAAW,CAAC;AACjDD,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;;AClClD,IAAIA,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED;AACA;AACA;AACO,MAAM,0BAA0B,GAAG,6BAA6B;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,YAAY,SAAS,WAAW,CAAC;AAC9C,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC;AACrB;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK;AACvB,EAAE;AACF,EAAE,eAAe,GAAG;AACpB,IAAI,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC;AAC1C,EAAE;AACF,EAAE,aAAa,GAAG;AAClB,IAAI,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC;AAC1C,EAAE;AACF;AACAD,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC;AAClDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,IAAI,QAAQ,EAAE,MAAM;AACpB,IAAI,MAAM,EAAE;AACZ;AACA,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;AAChDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;AAC/CA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,IAAI,EAAE;AACR,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;;ACzE9C,IAAIA,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAMD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,QAAQ,SAAS,WAAW,CAAC;AAC1C,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB,IAAI,IAAI,CAAC,SAAS,GAAG,KAAK;AAC1B,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE;AAC7B,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE;AACpC,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAAE;AACvC;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,YAAY,GAAG,YAAY;AACpC;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,iBAAiB,GAAG,KAAK;AAClC;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,OAAO,GAAG,EAAE;AACrB;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,cAAc,GAAG,KAAK;AAC/B;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC;AAC1B;AACA;AACA;AACA,IAAI,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAE;AACtC;AACA;AACA;AACA,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE;AACzB;AACA;AACA;AACA,IAAI,IAAI,CAAC,qBAAqB,GAAG,EAAE;AACnC;AACA;AACA;AACA,IAAI,IAAI,CAAC,gBAAgB,GAAG,KAAK,IAAI;AACrC,MAAM,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM;AAC/B,MAAM,IAAI,EAAE,IAAI,YAAY,YAAY,CAAC,EAAE;AAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE;AACvC,QAAQ,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAC/B,QAAQ,MAAM,EAAE,IAAI,CAAC;AACrB,OAAO,CAAC;AACR,IAAI,CAAC;AACL,EAAE;AACF,EAAE,iBAAiB,GAAG;AACtB,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAC7B,IAAI,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,IAAI,CAAC,gBAAgB,CAAC;AAC5E,IAAI,IAAI,CAAC,WAAW,EAAE;AACtB,EAAE;AACF,EAAE,oBAAoB,GAAG;AACzB,IAAI,KAAK,CAAC,oBAAoB,EAAE;AAChC,IAAI,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,EAAE,IAAI,CAAC,gBAAgB,CAAC;AAC/E,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,iBAAiB,CAAC,EAAE,EAAE;AACxB,IAAI,IAAI,EAAE;AACV,IAAI,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,IAAI;AACtF,EAAE;AACF;AACA;AACA;AACA,EAAE,eAAe,CAAC,EAAE,EAAE;AACtB,IAAI,IAAI,EAAE,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,YAAY,YAAY,EAAE;AACpC,MAAM,MAAM,KAAK,GAAG;AACpB,QAAQ,OAAO,EAAE,EAAE;AACnB,QAAQ,EAAE,EAAE,EAAE,CAAC,UAAU;AACzB,QAAQ,QAAQ,EAAE,EAAE,CAAC,QAAQ;AAC7B,QAAQ,OAAO,EAAE,EAAE,CAAC,OAAO;AAC3B,QAAQ,MAAM,EAAE,EAAE,CAAC;AACnB,OAAO;AACP,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC;AAC/C,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE;AAC1B,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;AAClF,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;AACrC,MAAM;AACN,IAAI,CAAC,MAAM,IAAI,EAAE,YAAY,eAAe,EAAE;AAC9C,MAAM,MAAM,KAAK,GAAG;AACpB,QAAQ,OAAO,EAAE,EAAE;AACnB,QAAQ,OAAO,EAAE,EAAE,CAAC;AACpB,OAAO;AACP,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC;AACvD,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE;AAC1B,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;AACrF,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;AACxC,MAAM;AACN,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA,EAAE,iBAAiB,CAAC,EAAE,EAAE;AACxB,IAAI,IAAI,EAAE,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,YAAY,YAAY,EAAE;AACpC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC;AAChD,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE;AAC1B,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC;AAC7F,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC;AACjF,MAAM;AACN,IAAI,CAAC,MAAM,IAAI,EAAE,YAAY,eAAe,EAAE;AAC9C,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC;AAChD,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE;AAC1B,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC;AAC7F,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,OAAO,CAAC;AACzF,MAAM;AACN,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA,EAAE,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE;AAC1B,IAAI,IAAI,EAAE;AACV,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;AAC9C,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;AACjC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE;AACxE,EAAE;AACF;AACA;AACA;AACA,EAAE,MAAM,GAAG;AACX,IAAI,IAAI,EAAE;AACV,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE;AACxE,EAAE;AACF;AACA;AACA;AACA,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,EAAE;AACV,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,WAAW,EAAE;AAC7E,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,YAAY,CAAC,MAAM,EAAE;AACvB,IAAI,IAAI,EAAE;AACV,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG;AACjC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;AACjC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC;AACvF,IAAI,IAAI,CAAC,kBAAkB,GAAG,MAAM;AACpC,MAAM,IAAI,EAAE;AACZ,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,kBAAkB,EAAE;AACtF,IAAI,CAAC;AACL,EAAE;AACF,EAAE,kBAAkB,GAAG;AACvB,IAAI,IAAI,EAAE;AACV,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,kBAAkB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;AACrF,IAAI,IAAI,CAAC,kBAAkB,GAAG,SAAS;AACvC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AACrC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAC5C,IAAI;AACJ,EAAE;AACF,EAAE,4BAA4B,GAAG;AACjC,IAAI,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;AAChE,IAAI,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;AACtE,IAAI,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,qBAAqB,EAAE;AACjD,MAAM,IAAI,EAAE,YAAY,YAAY,EAAE;AACtC,QAAQ,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;AACnD,QAAQ,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;AAChC,MAAM,CAAC,MAAM,IAAI,EAAE,YAAY,eAAe,EAAE;AAChD,QAAQ,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;AACnD,QAAQ,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;AAChC,MAAM;AACN,IAAI;AACJ;AACA,IAAI,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE;AACtC,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;AACzD,MAAM,IAAI,cAAc,EAAE;AAC1B,QAAQ,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC;AACtD,MAAM;AACN,IAAI;AACJ,IAAI,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE;AAC9C,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC;AACpE,MAAM,IAAI,iBAAiB,EAAE;AAC7B,QAAQ,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC;AACzD,MAAM;AACN,IAAI;AACJ,EAAE;AACF;AACA,EAAE,mBAAmB,GAAG;AACxB,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,EAAE;AACF,EAAE,wBAAwB,GAAG;AAC7B,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,EAAE;AACF,EAAE,cAAc,GAAG;AACnB,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,EAAE;AACF,EAAE,qBAAqB,GAAG;AAC1B,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,EAAE;AACF,EAAE,qBAAqB,GAAG;AAC1B,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,EAAE;AACF,EAAE,WAAW,GAAG;AAChB;AACA;AACA;AACA,IAAI,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,MAAM;AAClD,MAAM,IAAI,CAAC,UAAU,GAAG,SAAS;AACjC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AAC7B,MAAM,IAAI,CAAC,OAAO,GAAG,qBAAqB,EAAE;AAC5C,MAAM,IAAI,CAAC,gBAAgB,EAAE;AAC7B,IAAI,CAAC,CAAC;AACN,EAAE;AACF,EAAE,gBAAgB,GAAG;AACrB,IAAI,IAAI,EAAE;AACV,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACvB,IAAI,IAAI,CAAC,SAAS,GAAG,KAAK;AAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE;AAC/B,MAAM,OAAO,EAAE,IAAI,CAAC,OAAO;AAC3B,MAAM,YAAY,EAAE,IAAI,CAAC,YAAY;AACrC,MAAM,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;AAC/C,MAAM,cAAc,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC;AACnF,MAAM,cAAc,EAAE,IAAI,CAAC,cAAc;AACzC,MAAM,sBAAsB,EAAE,CAAC;AAC/B,QAAQ,IAAI;AACZ,QAAQ;AACR,OAAO,KAAK;AACZ,QAAQ,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC;AACpD,QAAQ,IAAI,OAAO,EAAE;AACrB,UAAU,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,kBAAkB,CAAC;AAC1D,UAAU,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC;AACrD,UAAU,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC;AAC/C,QAAQ,CAAC,MAAM;AACf,UAAU,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,CAAC;AAC3D,UAAU,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;AAC1D,UAAU,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;AAChD,QAAQ;AACR,MAAM,CAAC;AACP,MAAM,gBAAgB,EAAE,IAAI,IAAI;AAChC,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM;AACvD;AACA;AACA;AACA,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS;AACpF,QAAQ,IAAI,MAAM,EAAE;AACpB,UAAU,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM;AAC7E,QAAQ;AACR,QAAQ,MAAM,MAAM,GAAG;AACvB,UAAU,YAAY,EAAE,IAAI,CAAC,YAAY;AACzC,UAAU,cAAc,EAAE,IAAI,CAAC,cAAc;AAC7C,UAAU,eAAe,EAAE,IAAI,CAAC;AAChC,SAAS;AACT,QAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kBAAkB,CAAC,cAAc,EAAE;AAC9E,UAAU,OAAO,EAAE,IAAI;AACvB,UAAU,QAAQ,EAAE,IAAI;AACxB,UAAU;AACV,SAAS,CAAC,CAAC;AACX,MAAM;AACN,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI;AACzB;AACA,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AACrC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAC5C,IAAI;AACJ,IAAI,IAAI,CAAC,YAAY,EAAE;AACvB,EAAE;AACF,EAAE,YAAY,GAAG;AACjB,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE;AAClB,IAAI,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE;AAC3C,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;AAChF,IAAI;AACJ,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,IAAI,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE;AAC9C,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;AACnF,IAAI;AACJ,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE;AAC7B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,WAAW,EAAE;AAC7E,EAAE;AACF,EAAE,SAAS,GAAG;AACd,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AAC5C,IAAI,IAAI,CAAC,SAAS,GAAG,KAAK;AAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AAC7B;AACA,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;AAC1D,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;AAChE,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC3B,EAAE;AACF,EAAE,cAAc,GAAG;AACnB,IAAI,IAAI,EAAE,EAAE,EAAE;AACd,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;AACvC,MAAM,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC;AAC3C,MAAM,IAAI,CAAC,UAAU,GAAG,SAAS;AACjC,IAAI;AACJ,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,kBAAkB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;AACrF,IAAI,IAAI,CAAC,kBAAkB,GAAG,SAAS;AACvC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,UAAU,EAAE;AAC5E,IAAI,IAAI,CAAC,OAAO,GAAG,SAAS;AAC5B,IAAI,IAAI,CAAC,SAAS,GAAG,KAAK;AAC1B,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE;AAC1B,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE;AAC7B,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;AAChC,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE;AACnC,EAAE;AACF;AACAD,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC;AAChDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,mBAAmB,EAAE,MAAM,CAAC;AACrDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,IAAI,QAAQ,EAAE,MAAM;AACpB,IAAI,MAAM,EAAE;AACZ;AACA,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;AAC3CA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE,iBAAiB;AAC9B,EAAE,SAAS,EAAE;AACb,IAAI,QAAQ,EAAE,MAAM;AACpB,IAAI,MAAM,EAAE;AACZ;AACA,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC;AAClDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE,kBAAkB;AAC/B,EAAE,IAAI,EAAE;AACR,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC;AAClDA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC;AACrEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,mBAAmB,EAAE,MAAM,CAAC;AACzEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;AACnEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,uBAAuB,EAAE,MAAM,CAAC;;ACnY7E;AACA;AACA;AACA;AACY,MAACI,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC;;AAEnB,iHAAiH,EAAE,mBAAmB,CAAC,+IAA+I;;ACRtR;AACA;AACA;AACA;AACO,MAAMD,UAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC,0BAA0B,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,mBAAmB,CAAC;;ACDvJ;AACA;AACA;AACA;AACA;AACA;AACY,MAACE,YAAU,GAAG,QAAQ,CAAC,OAAO,CAAC;AAC3C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC;AACzC,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACjBD;AACY,MAAC,kBAAkB,GAAG;AAClC,EAAE,UAAU,EAAE,YAAY;AAC1B,EAAE,QAAQ,EAAE;AACZ;AACA;AACY,MAAC,kBAAkB,GAAG;AAClC,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,GAAG,EAAE;AACP;;ACPA;AACA;AACA;AACA;AACY,MAACA,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC;;AAE1B,oGAAoG;;ACRpG;AACA;AACA;AACA;AACO,MAAMD,UAAQ,GAAG,IAAI,CAAC,kCAAkC,CAAC;;ACDhE;AACA;AACA;AACA;AACA;AACA;AACY,MAACE,YAAU,GAAG,YAAY,CAAC,OAAO,CAAC;AAC/C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC;AAC9C,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACbD;AACA;AACA;AACA;AACY,MAACA,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC;;AAE1B,wDAAwD,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,gBAAgB,EAAE,cAAc,CAAC,0EAA0E,EAAE,eAAe,CAAC,YAAY,EAAE,mBAAmB,CAAC,wCAAwC;;ACVxT;AACA;AACA;AACA;AACO,MAAMD,UAAQ,GAAG,IAAI,CAAC,kCAAkC,CAAC;;ACDhE;AACA;AACA;AACA;AACA;AACA;AACY,MAACE,YAAU,GAAG,eAAe,CAAC,OAAO,CAAC;AAClD,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC;AACjD,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACjBD;AACA;AACA;AACA;AACA;AACA;AACA;AAcA;AACA;AACA;AACO,MAAM,eAAe,GAAG;AAC/B,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,IAAI,EAAE;AACR,CAAC;AACD;AACA;AACA;AACO,MAAM,mBAAmB,GAAG,EAAE;AACrC;AACA;AACA;AACY,MAAC,cAAc,GAAG;AAC9B,EAAE,GAAG,EAAE,KAAK;AACZ,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE,IAAI,EAAE;AACR;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,iBAAiB,GAAG;AACpC,EAAE,OAAO;AACT,IAAI,GAAG,EAAE,CAAC;AACV,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,MAAM,EAAE,MAAM,CAAC,WAAW;AAC9B,IAAI,KAAK,EAAE,MAAM,CAAC,UAAU;AAC5B,IAAI,KAAK,EAAE,MAAM,CAAC,UAAU;AAC5B,IAAI,MAAM,EAAE,MAAM,CAAC;AACnB,GAAG;AACH;AACA;AACA;AACA;AACO,SAAS,iBAAiB,CAAC,OAAO,EAAE;AAC3C,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE;AAC9C,EAAE,OAAO;AACT,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG;AACjB,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI;AACnB,IAAI,MAAM,EAAE,IAAI,CAAC,MAAM;AACvB,IAAI,KAAK,EAAE,IAAI,CAAC,KAAK;AACrB,IAAI,KAAK,EAAE,IAAI,CAAC,KAAK;AACrB,IAAI,MAAM,EAAE,IAAI,CAAC;AACjB,GAAG;AACH;AACA;AACA;AACA;AACO,SAAS,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,CAAC,EAAE;AACnE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AACpC,EAAE,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;AAC1C,IAAI,OAAO;AACX,MAAM,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,cAAc;AACxC,MAAM,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,cAAc;AAC1C,MAAM,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,cAAc;AAC9C,MAAM,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,cAAc;AAC5C,MAAM,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,GAAG,cAAc,GAAG,CAAC,GAAG,SAAS;AAC7E,MAAM,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,cAAc,GAAG,CAAC,GAAG;AACvE,KAAK;AACL,EAAE;AACF,EAAE,OAAO;AACT,IAAI,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;AACtF,IAAI,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,IAAI,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;AACzF,IAAI,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,MAAM,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;AAC/F,IAAI,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,KAAK,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;AAC5F,IAAI,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,IAAI,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,KAAK,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS;AAC3L,IAAI,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,MAAM,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG;AACrL,GAAG;AACH;AACA;AACA;AACA;AACA;AACO,SAAS,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE;AACrD,EAAE,IAAI,CAAC;AACP,EAAE,IAAI,CAAC;AACP;AACA,EAAE,IAAI,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE;AACrC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC;AAC9C,EAAE,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,EAAE;AAC3C,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI;AACvB,EAAE,CAAC,MAAM;AACT;AACA,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK;AACxB,EAAE;AACF;AACA,EAAE,IAAI,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE;AACrC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;AAC9C,EAAE,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE;AACzC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG;AACtB,EAAE,CAAC,MAAM;AACT;AACA,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM;AACzB,EAAE;AACF,EAAE,OAAO;AACT,IAAI,CAAC;AACL,IAAI;AACJ,GAAG;AACH;AACA;AACA;AACA;AACA;AACO,SAAS,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE;AACpE,EAAE,IAAI,EAAE,EAAE,EAAE;AACZ,EAAE,IAAI,aAAa;AACnB,EAAE,IAAI,aAAa;AACnB;AACA,EAAE,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE;AACtC,IAAI,aAAa,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC;AAC1C,EAAE,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,EAAE;AAC5C,IAAI,aAAa,GAAG,CAAC;AACrB,EAAE,CAAC,MAAM;AACT;AACA,IAAI,aAAa,GAAG,CAAC,WAAW,CAAC,KAAK;AACtC,EAAE;AACF;AACA,EAAE,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE;AACtC,IAAI,aAAa,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;AAC3C,EAAE,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,KAAK,KAAK,EAAE;AAC1C,IAAI,aAAa,GAAG,CAAC;AACrB,EAAE,CAAC,MAAM;AACT;AACA,IAAI,aAAa,GAAG,CAAC,WAAW,CAAC,MAAM;AACvC,EAAE;AACF;AACA,EAAE,MAAM,OAAO,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC;AAC5E,EAAE,MAAM,OAAO,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC;AAC5E,EAAE,OAAO;AACT,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,aAAa,GAAG,OAAO;AAC9C,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,aAAa,GAAG;AACvC,GAAG;AACH;AACA;AACA;AACA;AACO,SAAS,aAAa,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE;AACnE,EAAE,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK;AACzD,EAAE,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM;AAC3D,EAAE,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI;AAClD,EAAE,MAAM,SAAS,GAAG,YAAY,IAAI,QAAQ,CAAC,KAAK;AAClD,EAAE,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG;AAChD,EAAE,MAAM,UAAU,GAAG,aAAa,IAAI,QAAQ,CAAC,MAAM;AACrD,EAAE,MAAM,0BAA0B,GAAG,QAAQ,IAAI,SAAS;AAC1D,EAAE,MAAM,wBAAwB,GAAG,OAAO,IAAI,UAAU;AACxD,EAAE,MAAM,0BAA0B,GAAG,0BAA0B,IAAI,wBAAwB;AAC3F;AACA,EAAE,IAAI,YAAY,GAAG,WAAW,CAAC,KAAK;AACtC,EAAE,IAAI,aAAa,GAAG,WAAW,CAAC,MAAM;AACxC,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC5D,EAAE,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE;AACzB,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC;AAC/D,EAAE;AACF,EAAE,IAAI,CAAC,OAAO,EAAE;AAChB,IAAI,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC;AAC7D,EAAE,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE;AAC1B,IAAI,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC;AACjE,EAAE;AACF,EAAE,MAAM,WAAW,GAAG,YAAY,GAAG,aAAa;AAClD,EAAE,OAAO;AACT,IAAI,0BAA0B;AAC9B,IAAI,0BAA0B;AAC9B,IAAI,wBAAwB;AAC5B,IAAI;AACJ,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,mBAAmB,CAAC,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE;AAC1F,EAAE,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,KAAK,QAAQ;AAClD,EAAE,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,KAAK,KAAK;AAC9C,EAAE,MAAM,UAAU,GAAG,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC,qBAAqB,EAAE;AACrH,EAAE,MAAM,WAAW,GAAG,SAAS,IAAI,QAAQ,GAAG,cAAc,CAAC,qBAAqB,EAAE,GAAG,IAAI;AAC3F;AACA,EAAE,IAAI,QAAQ,IAAI,WAAW,EAAE;AAC/B,IAAI,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU;AAC5E,IAAI,MAAM,KAAK,GAAG,cAAc,IAAI,YAAY,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC;AACvE,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AACzD,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM;AACtC,EAAE,CAAC,MAAM;AACT,IAAI,MAAM,CAAC,GAAG,UAAU,GAAG,YAAY,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC;AAC5E,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpD,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM;AACvC,EAAE;AACF;AACA,EAAE,IAAI,SAAS,IAAI,WAAW,EAAE;AAChC,IAAI,MAAM,eAAe,GAAG,UAAU,GAAG,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW;AAC/E,IAAI,MAAM,MAAM,GAAG,eAAe,IAAI,YAAY,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;AAC1E,IAAI,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;AAC3D,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM;AACrC,EAAE,CAAC,MAAM;AACT,IAAI,MAAM,CAAC,GAAG,UAAU,GAAG,YAAY,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC;AAC3E,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,IAAI,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM;AACxC,EAAE;AACF;;ACjMA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACO,MAAM,wBAAwB,CAAC;AACtC,EAAE,WAAW,CAAC,MAAM,EAAE;AACtB,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AACtB,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;AAC/B,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO;AACjC,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS;AACrC,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,eAAe,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,IAAI;AAC9F,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,YAAY,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,IAAI;AACxF,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,cAAc,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC;AACzF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,KAAK;AAC7E,IAAI,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe;AACjD,EAAE;AACF;AACA;AACA;AACA,EAAE,WAAW,GAAG;AAChB,IAAI,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,iBAAiB,EAAE;AAC5G,IAAI,OAAO,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;AACjE,EAAE;AACF;AACA;AACA;AACA,EAAE,aAAa,GAAG;AAClB,IAAI,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAC9B,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,gBAAgB,CAAC,QAAQ,EAAE;AAC7B,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;AAC1D,IAAI,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE;AAC5D,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;AACvC,IAAI,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC;AAC5D,IAAI,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC;AAC5E,IAAI,MAAM,GAAG,GAAG,aAAa,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC;AAClE,IAAI,OAAO;AACX,MAAM,QAAQ;AACd,MAAM,WAAW;AACjB,MAAM,YAAY;AAClB,MAAM;AACN,KAAK;AACL,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,kBAAkB,GAAG;AACvB,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE;AAC3C,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACzD,IAAI,IAAI,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW;AAC7C,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,0BAA0B,EAAE;AACnD,MAAM,OAAO,UAAU;AACvB,IAAI;AACJ,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChD,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACzD,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,0BAA0B,EAAE;AACjD,QAAQ,OAAO,MAAM;AACrB,MAAM;AACN,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,GAAG,QAAQ,EAAE;AAC7C,QAAQ,UAAU,GAAG,MAAM;AAC3B,QAAQ,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW;AACzC,MAAM;AACN,IAAI;AACJ;AACA,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9C,MAAM,IAAI,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC3D,MAAM,IAAI,kBAAkB,GAAG,UAAU,CAAC,CAAC,CAAC;AAC5C,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClD,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC3D,QAAQ,IAAI,KAAK,GAAG,SAAS,EAAE;AAC/B,UAAU,SAAS,GAAG,KAAK;AAC3B,UAAU,kBAAkB,GAAG,UAAU,CAAC,CAAC,CAAC;AAC5C,QAAQ;AACR,MAAM;AACN,MAAM,IAAI,kBAAkB,KAAK,UAAU,CAAC,QAAQ,EAAE;AACtD,QAAQ,OAAO,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC;AACxD,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,UAAU;AACrB,EAAE;AACF;AACA;AACA;AACA,EAAE,mBAAmB,CAAC,MAAM,EAAE;AAC9B,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;AAC9F,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,iBAAiB,CAAC,QAAQ,EAAE;AAC9B,IAAI,IAAI,EAAE;AACV,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;AAC1D,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;AACvC;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE;AACtE;AACA,MAAM,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;AACvD,IAAI;AACJ,IAAI,IAAI,QAAQ,CAAC,QAAQ,KAAK,KAAK,IAAI,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE;AACtE;AACA,MAAM,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;AAC7D,IAAI;AACJ;AACA,IAAI,IAAI,QAAQ,CAAC,QAAQ,KAAK,KAAK,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,EAAE;AACrE,MAAM,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;AACzD,IAAI;AACJ,IAAI,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE;AACrE,MAAM,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;AAC3D,IAAI;AACJ;AACA,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,MAAM,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC;AACrH,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,CAAC,QAAQ,EAAE;AACtB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACtB,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,KAAK;AACtB,QAAQ,SAAS,EAAE;AACnB,OAAO;AACP,IAAI;AACJ,IAAI,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM;AACrE,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;AACtD,IAAI,IAAI,aAAa,IAAI,SAAS,EAAE;AACpC,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,KAAK;AACtB,QAAQ,SAAS,EAAE;AACnB,OAAO;AACP,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE;AAChF,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,KAAK;AACtB,QAAQ,SAAS,EAAE;AACnB,OAAO;AACP,IAAI;AACJ,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;AACnD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM;AACxC,IAAI,OAAO;AACX,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,SAAS,EAAE;AACjB,KAAK;AACL,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,UAAU,GAAG;AACf,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE;AAC3C,IAAI,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACjD,MAAM,OAAO,IAAI;AACjB,IAAI;AACJ;AACA,IAAI,IAAI,CAAC,WAAW,EAAE;AACtB;AACA,IAAI,IAAI,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE;AAClD;AACA,IAAI,IAAI,OAAO,GAAG,KAAK;AACvB,IAAI,IAAI,SAAS,GAAG,IAAI;AACxB,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;AACrB,MAAM,CAAC;AACP,QAAQ,OAAO;AACf,QAAQ;AACR,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC;AACjD,MAAM,IAAI,OAAO,EAAE;AACnB;AACA;AACA;AACA;AACA,QAAQ,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC;AACvE,MAAM;AACN,IAAI;AACJ;AACA,IAAI,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC;AAC5C,IAAI,OAAO;AACX,MAAM,OAAO;AACb,MAAM,SAAS;AACf,MAAM;AACN,KAAK;AACL,EAAE;AACF;AACA;AACA;AACA,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;AACrB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE;AACvC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE;AACtC,IAAI;AACJ,EAAE;AACF;;AChOO,MAAM,qBAAqB,GAAG;AACrC,EAAE,QAAQ,EAAE,WAAW;AACvB,EAAE,WAAW,EAAE,cAAc;AAC7B,EAAE,UAAU,EAAE,aAAa;AAC3B,EAAE,SAAS,EAAE,YAAY;AACzB,EAAE,SAAS,EAAE,YAAY;AACzB,EAAE,MAAM,EAAE,SAAS;AACnB,EAAE,QAAQ,EAAE,WAAW;AACvB,EAAE,WAAW,EAAE,cAAc;AAC7B,EAAE,UAAU,EAAE,aAAa;AAC3B,EAAE,WAAW,EAAE,cAAc;AAC7B,EAAE,QAAQ,EAAE,WAAW;AACvB,EAAE,WAAW,EAAE;AACf,CAAC;AACD;AACA;AACY,MAAC,oBAAoB,GAAG;AACxB,MAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB;AACvD,MAAC,sBAAsB,GAAG;AACtC,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI;AAC5B,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI;AAC5B,EAAE,IAAI,EAAE,eAAe,CAAC;AACxB;AACY,MAAC,iBAAiB,GAAG;AACjC,EAAE,IAAI,EAAE,cAAc;AACtB,EAAE,IAAI,EAAE,cAAc;AACtB,EAAE,MAAM,EAAE,gBAAgB;AAC1B,EAAE,UAAU,EAAE,qBAAqB;AACnC,EAAE,UAAU,EAAE;AACd;;AC/BA;AACA,MAAM,WAAW,GAAG,CAAC;AACrB;AACA;AACA;AACA;AACA;AACA,MAAM,kBAAkB,GAAG;AAC3B,EAAE,CAAC,oBAAoB,CAAC,UAAU,GAAG,oBAAoB,CAAC,UAAU;AACpE,EAAE,CAAC,oBAAoB,CAAC,WAAW,GAAG,oBAAoB,CAAC,WAAW;AACtE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,GAAG,oBAAoB,CAAC,QAAQ;AAChE,EAAE,CAAC,oBAAoB,CAAC,UAAU,GAAG,oBAAoB,CAAC,UAAU;AACpE,EAAE,CAAC,oBAAoB,CAAC,WAAW,GAAG,oBAAoB,CAAC,WAAW;AACtE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,GAAG,oBAAoB,CAAC,QAAQ;AAChE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,GAAG,oBAAoB,CAAC,MAAM;AAC9D,EAAE,CAAC,oBAAoB,CAAC,WAAW,GAAG,oBAAoB,CAAC,SAAS;AACpE,EAAE,CAAC,oBAAoB,CAAC,WAAW,GAAG,oBAAoB,CAAC,SAAS;AACpE,EAAE,CAAC,oBAAoB,CAAC,MAAM,GAAG,oBAAoB,CAAC,QAAQ;AAC9D,EAAE,CAAC,oBAAoB,CAAC,SAAS,GAAG,oBAAoB,CAAC,WAAW;AACpE,EAAE,CAAC,oBAAoB,CAAC,SAAS,GAAG,oBAAoB,CAAC;AACzD,CAAC;AACD;AACA;AACA;AACA;AACA,SAAS,0BAA0B,CAAC,SAAS,EAAE;AAC/C,EAAE,QAAQ,SAAS;AACnB,IAAI,KAAK,oBAAoB,CAAC,UAAU;AACxC,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,OAAO;AACxB,QAAQ,OAAO,EAAE,KAAK;AACtB,QAAQ,QAAQ,EAAE,OAAO;AACzB,QAAQ,QAAQ,EAAE;AAClB,OAAO;AACP,IAAI,KAAK,oBAAoB,CAAC,WAAW;AACzC,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,QAAQ;AACzB,QAAQ,OAAO,EAAE,KAAK;AACtB,QAAQ,QAAQ,EAAE,QAAQ;AAC1B,QAAQ,QAAQ,EAAE;AAClB,OAAO;AACP,IAAI,KAAK,oBAAoB,CAAC,QAAQ;AACtC,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,KAAK;AACtB,QAAQ,OAAO,EAAE,KAAK;AACtB,QAAQ,QAAQ,EAAE,KAAK;AACvB,QAAQ,QAAQ,EAAE;AAClB,OAAO;AACP,IAAI,KAAK,oBAAoB,CAAC,UAAU;AACxC,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,OAAO;AACxB,QAAQ,OAAO,EAAE,QAAQ;AACzB,QAAQ,QAAQ,EAAE,OAAO;AACzB,QAAQ,QAAQ,EAAE;AAClB,OAAO;AACP,IAAI,KAAK,oBAAoB,CAAC,WAAW;AACzC,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,QAAQ;AACzB,QAAQ,OAAO,EAAE,QAAQ;AACzB,QAAQ,QAAQ,EAAE,QAAQ;AAC1B,QAAQ,QAAQ,EAAE;AAClB,OAAO;AACP,IAAI,KAAK,oBAAoB,CAAC,QAAQ;AACtC,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,KAAK;AACtB,QAAQ,OAAO,EAAE,QAAQ;AACzB,QAAQ,QAAQ,EAAE,KAAK;AACvB,QAAQ,QAAQ,EAAE;AAClB,OAAO;AACP,IAAI,KAAK,oBAAoB,CAAC,QAAQ;AACtC,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,OAAO;AACxB,QAAQ,OAAO,EAAE,KAAK;AACtB,QAAQ,QAAQ,EAAE,KAAK;AACvB,QAAQ,QAAQ,EAAE;AAClB,OAAO;AACP,IAAI,KAAK,oBAAoB,CAAC,WAAW;AACzC,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,OAAO;AACxB,QAAQ,OAAO,EAAE,QAAQ;AACzB,QAAQ,QAAQ,EAAE,KAAK;AACvB,QAAQ,QAAQ,EAAE;AAClB,OAAO;AACP,IAAI,KAAK,oBAAoB,CAAC,WAAW;AACzC,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,OAAO;AACxB,QAAQ,OAAO,EAAE,QAAQ;AACzB,QAAQ,QAAQ,EAAE,KAAK;AACvB,QAAQ,QAAQ,EAAE;AAClB,OAAO;AACP,IAAI,KAAK,oBAAoB,CAAC,MAAM;AACpC,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,KAAK;AACtB,QAAQ,OAAO,EAAE,KAAK;AACtB,QAAQ,QAAQ,EAAE,OAAO;AACzB,QAAQ,QAAQ,EAAE;AAClB,OAAO;AACP,IAAI,KAAK,oBAAoB,CAAC,SAAS;AACvC,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,KAAK;AACtB,QAAQ,OAAO,EAAE,QAAQ;AACzB,QAAQ,QAAQ,EAAE,OAAO;AACzB,QAAQ,QAAQ,EAAE;AAClB,OAAO;AACP,IAAI,KAAK,oBAAoB,CAAC,SAAS;AACvC,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,KAAK;AACtB,QAAQ,OAAO,EAAE,QAAQ;AACzB,QAAQ,QAAQ,EAAE,OAAO;AACzB,QAAQ,QAAQ,EAAE;AAClB,OAAO;AACP,IAAI;AACJ,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,OAAO;AACxB,QAAQ,OAAO,EAAE,QAAQ;AACzB,QAAQ,QAAQ,EAAE,OAAO;AACzB,QAAQ,QAAQ,EAAE;AAClB,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,4BAA4B,CAAC,GAAG,EAAE;AAC3C,EAAE,MAAM;AACR,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI;AACJ,GAAG,GAAG,GAAG;AACT,EAAE,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE;AAC5C,IAAI,MAAM,SAAS,GAAG,0BAA0B,CAAC,SAAS,CAAC;AAC3D,IAAI,IAAI,SAAS,CAAC,OAAO,KAAK,OAAO,IAAI,SAAS,CAAC,OAAO,KAAK,OAAO,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE;AAC9I,MAAM,OAAO,SAAS;AACtB,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE;AAI/C,EAAE,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI;AAC9B,IAAI,IAAI,EAAE,EAAE,EAAE;AACd,IAAI,IAAI,OAAO,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC;AACvE,IAAI,IAAI,OAAO,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,CAAC;AACvE;AACA,IAAI,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE;AAC/F,MAAM,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ,GAAG,UAAU,GAAG,CAAC,UAAU;AACpE,IAAI;AACJ;AACA,IAAI,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE;AAC/F,MAAM,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,GAAG,UAAU,GAAG,CAAC,UAAU;AACjE,IAAI;AACJ,IAAI,OAAO;AACX,MAAM,GAAG,GAAG;AACZ,MAAM,OAAO;AACb,MAAM;AACN,KAAK;AACL,EAAE,CAAC,CAAC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,WAAW,CAAC;AACzB,EAAE,IAAI,cAAc,CAAC,KAAK,EAAE;AAC5B,IAAI,IAAI,CAAC,eAAe,GAAG,KAAK;AAChC,EAAE;AACF,EAAE,IAAI,cAAc,GAAG;AACvB,IAAI,OAAO,IAAI,CAAC,eAAe;AAC/B,EAAE;AACF,EAAE,IAAI,QAAQ,CAAC,KAAK,EAAE;AACtB,IAAI,IAAI,CAAC,SAAS,GAAG,KAAK;AAC1B,EAAE;AACF,EAAE,IAAI,QAAQ,GAAG;AACjB,IAAI,OAAO,IAAI,CAAC,SAAS;AACzB,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,IAAI,EAAE;AACpB,IAAI,IAAI,EAAE,EAAE,EAAE;AACd,IAAI,IAAI,CAAC,gBAAgB,GAAG,IAAI;AAChC,IAAI,IAAI,CAAC,UAAU,GAAG,mBAAmB;AACzC,IAAI,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC,QAAQ;AAClD,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc;AAC9C,IAAI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB;AACjD,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe;AAC/C,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,KAAK;AAC7E,IAAI,IAAI,CAAC,yBAAyB,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,yBAAyB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,IAAI;AAChH,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAmB,CAAC,SAAS,EAAE;AACjC,IAAI,IAAI,QAAQ,GAAG,0BAA0B,CAAC,SAAS,CAAC;AACxD,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;AACtB,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;AAC3D,IAAI;AACJ,IAAI,OAAO,QAAQ;AACnB,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,uBAAuB,GAAG;AAC5B,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS;AACnC,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI,IAAI,CAAC,eAAe,KAAK,sBAAsB,CAAC,IAAI,EAAE;AAC9D,MAAM,SAAS,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAChD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,KAAK,sBAAsB,CAAC,IAAI,EAAE;AACrE,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC;AAC9D,IAAI,CAAC,MAAM;AACX,MAAM,SAAS,GAAG,EAAE;AACpB,IAAI;AACJ,IAAI,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;AACnG,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,sBAAsB,GAAG;AAC3B,IAAI,IAAI,EAAE;AACV,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AACzD,MAAM,OAAO,IAAI;AACjB,IAAI;AACJ,IAAI,MAAM,YAAY,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,IAAI;AACzG,IAAI,OAAO,IAAI,wBAAwB,CAAC;AACxC,MAAM,MAAM,EAAE,IAAI,CAAC,eAAe;AAClC,MAAM,OAAO,EAAE,IAAI,CAAC,gBAAgB;AACpC,MAAM,SAAS,EAAE,IAAI,CAAC,uBAAuB,EAAE;AAC/C,MAAM,eAAe,EAAE,IAAI,CAAC,yBAAyB;AACrD,MAAM,YAAY;AAClB,MAAM,cAAc,EAAE,IAAI,CAAC;AAC3B,KAAK,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,UAAU,GAAG;AACf,IAAI,IAAI,CAAC,gBAAgB,GAAG,IAAI;AAChC,IAAI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,EAAE;AACzD,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAChC,MAAM,OAAO,IAAI;AACjB,IAAI;AACJ,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AACrD,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,MAAM,OAAO,IAAI;AACjB,IAAI;AACJ;AACA,IAAI,MAAM,SAAS,GAAG,4BAA4B,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC;AAClF,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,IAAI,CAAC,SAAS,GAAG,SAAS;AAChC,IAAI;AACJ,IAAI,OAAO,MAAM;AACjB,EAAE;AACF;;ACxTA,IAAIJ,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAMD,MAAM,2BAA2B,GAAG,GAAG;AACvC,MAAM,wBAAwB,GAAG,CAAC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,OAAO,SAAS,WAAW,CAAC;AACzC,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,KAAK;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,YAAY,GAAG,KAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,oBAAoB,CAAC,WAAW;AACpD,IAAI,IAAI,CAAC,UAAU,GAAG,KAAK;AAC3B,IAAI,IAAI,CAAC,iBAAiB,GAAG,MAAM;AACnC,MAAM,IAAI,CAAC,mBAAmB,EAAE;AAChC,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,kBAAkB,GAAG,2BAA2B;AACzD;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,eAAe,GAAG,wBAAwB;AACnD;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,kBAAkB,GAAG,IAAI;AAClC;AACA;AACA;AACA,IAAI,IAAI,CAAC,eAAe,GAAG,MAAM;AACjC,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;AACpC,QAAQ,IAAI,CAAC,kBAAkB,GAAG,IAAI;AACtC,MAAM;AACN,IAAI,CAAC;AACL;AACA;AACA;AACA,IAAI,IAAI,CAAC,iBAAiB,GAAG,MAAM;AACnC,MAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACnC,QAAQ,IAAI,CAAC,kBAAkB,GAAG,KAAK;AACvC,MAAM;AACN,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,cAAc,GAAG,sBAAsB,CAAC,IAAI;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,KAAK;AACrB;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,MAAM,IAAI,CAAC,IAAI,GAAG,KAAK;AACvB,MAAM,IAAI,CAAC,aAAa,EAAE;AAC1B,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,MAAM,IAAI,CAAC,IAAI,GAAG,IAAI;AACtB,MAAM,IAAI,CAAC,aAAa,EAAE;AAC1B,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,MAAM;AAC/B,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI;AAC5B,MAAM,IAAI,CAAC,eAAe,EAAE;AAC5B,MAAM,OAAO,IAAI,CAAC,IAAI;AACtB,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,MAAM;AAC/B,MAAM,IAAI,EAAE;AACZ,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE;AACjI,QAAQ,OAAO,EAAE,IAAI;AACrB,QAAQ,QAAQ,EAAE,IAAI;AACtB,QAAQ,MAAM,EAAE;AAChB,UAAU,MAAM,EAAE,IAAI;AACtB,UAAU,IAAI,EAAE,IAAI,CAAC,IAAI;AACzB,UAAU,QAAQ,EAAE;AACpB;AACA,OAAO,CAAC,CAAC;AACT,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,MAAM;AAC/B,MAAM,IAAI,EAAE;AACZ,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE;AACjI,QAAQ,OAAO,EAAE,IAAI;AACrB,QAAQ,QAAQ,EAAE,IAAI;AACtB,QAAQ,MAAM,EAAE;AAChB,UAAU,MAAM,EAAE,IAAI;AACtB,UAAU,IAAI,EAAE,IAAI,CAAC,IAAI;AACzB,UAAU,QAAQ,EAAE;AACpB;AACA,OAAO,CAAC,CAAC;AACT,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,mBAAmB,GAAG,MAAM;AACrC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,CAAC,UAAU,EAAE;AACvE,QAAQ,OAAO,EAAE,IAAI;AACrB,QAAQ,QAAQ,EAAE,IAAI;AACtB,QAAQ,MAAM,EAAE;AAChB,UAAU,MAAM,EAAE,IAAI;AACtB,UAAU,IAAI,EAAE,IAAI,CAAC,IAAI;AACzB,UAAU,QAAQ,EAAE;AACpB;AACA,OAAO,CAAC,CAAC;AACT,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,mBAAmB,GAAG,MAAM;AACrC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,CAAC,UAAU,EAAE;AACvE,QAAQ,OAAO,EAAE,IAAI;AACrB,QAAQ,QAAQ,EAAE,IAAI;AACtB,QAAQ,MAAM,EAAE;AAChB,UAAU,MAAM,EAAE,IAAI;AACtB,UAAU,IAAI,EAAE,IAAI,CAAC,IAAI;AACzB,UAAU,QAAQ,EAAE;AACpB;AACA,OAAO,CAAC,CAAC;AACT,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,0BAA0B,GAAG,MAAM;AAC5C,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AACxB,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACtI,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC;AAClI,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC;AACnI,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC;AACnI,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,6BAA6B,GAAG,MAAM;AAC/C,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AACxB,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACzI,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,mBAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC;AACrI,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC;AACtI,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC;AACtI,IAAI,CAAC;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,MAAM;AAC9C,MAAM,IAAI,EAAE;AACZ,MAAM,MAAM,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC;AAC9G,MAAM,IAAI,OAAO,EAAE;AACnB;AACA,QAAQ,IAAI,CAAC,sBAAsB,EAAE;AACrC,MAAM;AACN,MAAM,IAAI,CAAC,sBAAsB,EAAE;AACnC,MAAM,UAAU,CAAC,MAAM;AACvB,QAAQ,IAAI,OAAO,EAAE;AACrB;AACA,UAAU,IAAI,CAAC,mBAAmB,EAAE;AACpC,QAAQ;AACR,MAAM,CAAC,EAAE,IAAI,CAAC;AACd,IAAI,CAAC,EAAE,EAAE,CAAC;AACV;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,iBAAiB,GAAG,KAAK,IAAI;AACtC,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE;AAC/C,MAAM,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE;AAChH,QAAQ;AACR,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;AAC5B,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,MAAM;AACN,IAAI,CAAC;AACL,EAAE;AACF,EAAE,mBAAmB,GAAG;AACxB,IAAI,IAAI,CAAC,2BAA2B,EAAE;AACtC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,eAAe,GAAG;AACpB,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;AAC1B,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAC/C,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;AACnB,MAAM,IAAI,CAAC,sBAAsB,EAAE;AACnC,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,uBAAuB,GAAG;AAC5B,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,IAAI,IAAI,CAAC,2BAA2B,EAAE;AACtC,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB,IAAI,IAAI,CAAC,sBAAsB,EAAE;AACjC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,cAAc,GAAG;AACnB,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE;AAC3K,MAAM,IAAI,CAAC,UAAU,GAAG,IAAI;AAC5B,IAAI;AACJ,EAAE;AACF,EAAE,yBAAyB,GAAG;AAC9B,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC9B,EAAE;AACF;AACA;AACA;AACA,EAAE,sBAAsB,GAAG;AAC3B,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC9B,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAmB,GAAG;AACxB,IAAI,IAAI,EAAE;AACV,IAAI,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAAE;AACrF,MAAM,MAAM,SAAS,GAAG,GAAG,SAAS;AACpC,kCAAkC,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,4BAA4B,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC;AACzI,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;AAC1G,QAAQ,IAAI,CAAC,MAAM,GAAG,SAAS;AAC/B,QAAQ,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;AACnD,MAAM;AACN,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,sBAAsB,GAAG;AAC3B,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,SAAS;AAC9B,iEAAiE,CAAC;AAClE,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;AAC/C,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,qBAAqB,GAAG;AAC1B,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;AAC1B,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc;AAC3D,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,EAAE;AACV,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC/B,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;AACrB;AACA,QAAQ,IAAI,CAAC,iBAAiB,EAAE;AAChC;AACA,QAAQ,IAAI,CAAC,sBAAsB,EAAE;AACrC;AACA,QAAQ,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;AAC3D,MAAM,CAAC,MAAM;AACb,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC;AAC7G,QAAQ,IAAI,CAAC,oBAAoB,EAAE;AACnC,MAAM;AACN,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,iBAAiB,GAAG;AACtB,IAAI,IAAI,CAAC,wBAAwB,EAAE;AACnC,IAAI,IAAI,CAAC,wBAAwB,EAAE;AACnC,IAAI,IAAI,CAAC,0BAA0B,EAAE;AACrC,IAAI,IAAI,CAAC,wBAAwB,EAAE;AACnC,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,uBAAuB,GAAG;AAC5B,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB,IAAI,IAAI,CAAC,sBAAsB,EAAE;AACjC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,kBAAkB,GAAG;AACvB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACxB,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,iBAAiB,CAAC;AACnD,MAAM,IAAI,CAAC,QAAQ,GAAG,SAAS;AAC/B,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;AACnE,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC;AAC9E,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,uBAAuB,GAAG;AAC5B,IAAI,IAAI,CAAC,iCAAiC,EAAE;AAC5C,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,eAAe,GAAG;AACpB,IAAI,IAAI,EAAE;AACV,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,CAAC,MAAM,EAAE;AACjI,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,MAAM,EAAE;AACd,QAAQ,MAAM,EAAE,IAAI;AACpB,QAAQ,IAAI,EAAE,IAAI,CAAC,IAAI;AACvB,QAAQ,QAAQ,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG;AACvC;AACA,KAAK,CAAC,CAAC;AACP,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,2BAA2B,GAAG;AAChC,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;AAC/D,MAAM,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE;AACvC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC;AAC9E,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC;AACjF,MAAM;AACN,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,iCAAiC,GAAG;AACtC,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC/B,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAChF,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,uBAAuB,GAAG;AAC5B,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAC/D,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAC/D,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,0BAA0B,GAAG;AAC/B,IAAI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAClE,IAAI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAClE,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,wBAAwB,GAAG;AAC7B,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AACvD,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC;AAC7E,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AACrC,MAAM,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC;AAChE,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,2BAA2B,GAAG;AAChC,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AACvD,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC;AAChF,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AACrC,MAAM,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACnE,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,aAAa,GAAG;AAClB,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AACrD,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAC7C,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;AAChD,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ;AACxE,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,wBAAwB,GAAG;AAC7B,IAAI,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,EAAE;AACxC,MAAM,IAAI,CAAC,uBAAuB,EAAE;AACpC,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,wBAAwB,GAAG;AAC7B,IAAI,IAAI,EAAE;AACV,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC/B,MAAM,IAAI,CAAC,WAAW,GAAG,IAAI;AAC7B,MAAM,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC;AACzC,QAAQ,cAAc,EAAE,IAAI,CAAC,cAAc;AAC3C,QAAQ,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;AAC/C,QAAQ,eAAe,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AAChG,QAAQ,yBAAyB,EAAE,IAAI,CAAC,gBAAgB;AACxD,QAAQ,OAAO,EAAE,IAAI,CAAC;AACtB,OAAO,CAAC;AACR,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,oBAAoB,GAAG;AACzB,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC/B,MAAM,IAAI,CAAC,0BAA0B,EAAE;AACvC,MAAM,IAAI,CAAC,2BAA2B,EAAE;AACxC,MAAM,IAAI,CAAC,6BAA6B,EAAE;AAC1C,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,sBAAsB,GAAG;AAC3B,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM;AAC1B,MAAM,IAAI,CAAC,aAAa,EAAE;AAC1B,IAAI,CAAC,CAAC;AACN,EAAE;AACF,EAAE,iBAAiB,GAAG;AACtB,IAAI,IAAI,EAAE;AACV,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAC7B,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;AACnB,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;AACxG,IAAI;AACJ,EAAE;AACF;AACAD,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,IAAI,EAAE;AACR,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACvCA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,IAAI,EAAE,SAAS;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC;AAC/CA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACrDA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACrDA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;AACzDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3CA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC;AACvEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC;AACjEA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE,qBAAqB;AAClC,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,oBAAoB,EAAE,MAAM,CAAC;AACrDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE,kBAAkB;AAC/B,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAAC;AAClDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC;AACjDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,IAAI,EAAE;AACR,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACvCA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC;AACvEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;AAClEA,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC;;ACnqB3D,MAACI,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC;;AAEpB,8EAA8E,EAAE,cAAc,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,eAAe,EAAE,kBAAkB,CAAC,kBAAkB,EAAE,iCAAiC,CAAC,YAAY,EAAE,OAAO,CAAC,qLAAqL,EAAE,kBAAkB,CAAC,iQAAiQ,EAAE,kBAAkB,CAAC,+EAA+E,EAAE,mBAAmB,CAAC,iMAAiM,EAAE,uBAAuB,CAAC;AAC3hC;AACA;AACA;AACA;AACA,MAAM,EAAE,kBAAkB,CAAC;AAC3B,4JAA4J,EAAE,kBAAkB,CAAC;AACjL;AACA,gOAAgO,EAAE,gBAAgB,CAAC;AACnP;AACA;AACA;AACA,6PAA6P,EAAE,gBAAgB,CAAC;AAChR,MAAM,EAAE,kBAAkB,CAAC;AAC3B,2LAA2L,EAAE,kBAAkB,CAAC;AAChN,MAAM,EAAE,kBAAkB,CAAC;AAC3B,uLAAuL,EAAE,kBAAkB,CAAC;AAC5M;AACA;AACA;AACA,2KAA2K,EAAE,gBAAgB,CAAC;AAC9L;AACA;AACA;AACA,4PAA4P,EAAE,gBAAgB,CAAC,yBAAyB;;AC5BxS;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,eAAe,GAAG;AAC3B,EAAE,OAAO,IAAI,CAAC,oGAAoG,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,qCAAqC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC,4DAA4D,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC,8BAA8B,CAAC;AAC3hB;AACY,MAACD,UAAQ,GAAG,eAAe;;ACpB3B,MAACE,YAAU,GAAG,OAAO,CAAC,OAAO,CAAC;AAC1C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;AACxC,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACXD;AACA;AACA;AACY,MAAC,oBAAoB,GAAG;AACpC;AACA;AACA;AACA,EAAE,UAAU,EAAE;AACd;;ACRA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,gBAAgB,GAAG,CAAC;AACjC;AACA;AACA;AACO,MAAM,uBAAuB,GAAG,CAAC;AACxC;AACA;AACA;AACY,MAAC,kBAAkB,GAAG;AAClC;AACA;AACA;AACA,EAAE,OAAO,EAAE,SAAS;AACpB;AACA;AACA;AACA,EAAE,OAAO,EAAE;AACX;;ACvBA,IAAIJ,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAKD,MAAM,qBAAqB,GAAG;AAC9B,EAAE,qBAAqB,EAAE,GAAG;AAC5B,EAAE,OAAO,EAAE,GAAG;AACd,EAAE,IAAI,EAAE;AACR,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,UAAU,SAAS,WAAW,CAAC;AAC5C,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB,IAAI,IAAI,CAAC,gBAAgB,GAAG,MAAM;AAClC,IAAI,IAAI,CAAC,oCAAoC,GAAG,KAAK;AACrD,IAAI,IAAI,CAAC,sBAAsB,GAAG,MAAM;AACxC,MAAM,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,EAAE;AAC5D,IAAI,CAAC;AACL;AACA;AACA;AACA,IAAI,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC;AACxB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC;AACvB;AACA;AACA;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,cAAc,GAAG,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,iBAAiB,GAAG,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,SAAS,GAAG,EAAE;AACvB,EAAE;AACF;AACA,EAAE,iBAAiB,GAAG;AACtB,IAAI,IAAI,EAAE;AACV,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAC7B,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,MAAM,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,sBAAsB,CAAC;AAC5H,IAAI,IAAI,CAAC,iCAAiC,EAAE;AAC5C,IAAI,IAAI,CAAC,sBAAsB,EAAE;AACjC,EAAE;AACF;AACA,EAAE,oBAAoB,GAAG;AACzB,IAAI,IAAI,EAAE;AACV,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,MAAM,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,sBAAsB,CAAC;AAC/H,IAAI,KAAK,CAAC,oBAAoB,EAAE;AAChC,EAAE;AACF;AACA,EAAE,2BAA2B,CAAC,KAAK,EAAE;AACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACpD,EAAE;AACF;AACA,EAAE,kBAAkB,GAAG;AACvB,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,iCAAiC,EAAE;AAClE,EAAE;AACF;AACA,EAAE,iBAAiB,GAAG;AACtB,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,iCAAiC,EAAE;AAClE,EAAE;AACF;AACA,EAAE,IAAI,mBAAmB,GAAG;AAC5B,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,kBAAkB,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,KAAK,iBAAiB,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS;AAC5I,EAAE;AACF;AACA,EAAE,IAAI,2BAA2B,GAAG;AACpC,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,kBAAkB,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,KAAK,iBAAiB;AACrG,EAAE;AACF;AACA,EAAE,IAAI,kBAAkB,GAAG;AAC3B,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,MAAM;AAC3C,EAAE;AACF;AACA,EAAE,kBAAkB,CAAC,GAAG,EAAE;AAC1B,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC;AACzB,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,eAAe,CAAC,IAAI,EAAE;AACxB,IAAI,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,EAAE;AAC9G,MAAM,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;AACxB,MAAM,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB;AAC7C,KAAK,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,eAAe,CAAC,IAAI,EAAE;AACxB,IAAI,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,EAAE;AAC9G,MAAM,IAAI,EAAE,MAAM,CAAC,IAAI;AACvB,KAAK,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA,EAAE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE;AACxC,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;AACpH,EAAE;AACF;AACA;AACA;AACA,EAAE,IAAI,oBAAoB,GAAG;AAC7B,IAAI,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AACnD,EAAE;AACF;AACA;AACA;AACA,EAAE,IAAI,qBAAqB,GAAG;AAC9B,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;AAC9C,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,QAAQ,CAAC,IAAI,EAAE;AACjB,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACxC,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB;AAC9C,IAAI,IAAI,IAAI,KAAK,OAAO,EAAE;AAC1B,IAAI,MAAM,QAAQ,GAAG,OAAO;AAC5B,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI;AAC3B,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC;AACvC,EAAE;AACF;AACA;AACA;AACA,EAAE,QAAQ,GAAG;AACb,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;AACjD,EAAE;AACF;AACA;AACA;AACA,EAAE,YAAY,GAAG;AACjB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;AACjD,EAAE;AACF;AACA;AACA;AACA,EAAE,SAAS,GAAG;AACd,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACpB,EAAE;AACF;AACA;AACA;AACA,EAAE,QAAQ,GAAG;AACb,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC;AAC5C,EAAE;AACF;AACA;AACA;AACA,EAAE,IAAI,SAAS,GAAG;AAClB,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB;AAC3C,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB;AAC9C,IAAI,IAAI,KAAK,IAAI,uBAAuB,EAAE;AAC1C,MAAM,OAAO,KAAK,CAAC,IAAI,CAAC;AACxB,QAAQ,MAAM,EAAE;AAChB,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC;AACjC,IAAI;AACJ,IAAI,IAAI,OAAO,IAAI,gBAAgB,GAAG,CAAC,EAAE;AACzC,MAAM,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;AAC5B,QAAQ,MAAM,EAAE;AAChB,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC;AACrD,IAAI;AACJ,IAAI,IAAI,OAAO,IAAI,KAAK,IAAI,gBAAgB,GAAG,CAAC,CAAC,EAAE;AACnD,MAAM,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;AAC3C,QAAQ,MAAM,EAAE;AAChB,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,gBAAgB,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;AAC7D,IAAI;AACJ,IAAI,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC;AAChF,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,kBAAkB,CAAC,KAAK,EAAE;AAC5B,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;AAChC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;AAC1C,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC1C,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,YAAY,CAAC,KAAK,EAAE;AACtB,IAAI,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC;AACtE,EAAE;AACF,EAAE,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE;AAC1C,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;AAChC,IAAI,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;AACpE,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACrD,EAAE;AACF,EAAE,iCAAiC,GAAG;AACtC,IAAI,IAAI,IAAI,CAAC,oCAAoC,EAAE;AACnD,IAAI,IAAI,CAAC,oCAAoC,GAAG,IAAI;AACpD,IAAI,cAAc,CAAC,MAAM;AACzB,MAAM,IAAI,CAAC,oCAAoC,GAAG,KAAK;AACvD,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,wBAAwB,EAAE;AAC3D,IAAI,CAAC,CAAC;AACN,EAAE;AACF,EAAE,wBAAwB,GAAG;AAC7B,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AAC/D,IAAI,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;AAC/E,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE;AACxC,MAAM,IAAI,CAAC,UAAU,GAAG,UAAU;AAClC,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;AAC1C,MAAM,IAAI,CAAC,WAAW,GAAG,WAAW;AACpC,IAAI;AACJ,EAAE;AACF,EAAE,uBAAuB,GAAG;AAC5B,IAAI,IAAI,EAAE;AACV,IAAI,MAAM,KAAK,GAAG,CAAC,EAAE,GAAG,UAAU,CAAC,MAAM,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,UAAU;AAC7F,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,OAAO,MAAM;AAChD,IAAI,IAAI,KAAK,GAAG,qBAAqB,CAAC,qBAAqB,EAAE;AAC7D,MAAM,OAAO,iBAAiB;AAC9B,IAAI;AACJ,IAAI,IAAI,KAAK,GAAG,qBAAqB,CAAC,OAAO,EAAE;AAC/C,MAAM,OAAO,SAAS;AACtB,IAAI;AACJ,IAAI,IAAI,KAAK,GAAG,qBAAqB,CAAC,IAAI,EAAE;AAC5C,MAAM,OAAO,SAAS;AACtB,IAAI;AACJ,IAAI,OAAO,MAAM;AACjB,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,cAAc,CAAC,YAAY,EAAE,WAAW,EAAE;AAC5C,IAAI,MAAM,MAAM,GAAG;AACnB,MAAM,YAAY;AAClB,MAAM;AACN,KAAK;AACL,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,oBAAoB,CAAC,UAAU,EAAE;AACxE,MAAM,MAAM;AACZ,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,QAAQ,EAAE;AAChB,KAAK,CAAC,CAAC;AACP,EAAE;AACF;AACAD,YAAU,CAAC,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC;AAC1EA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;AAC3DA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;AACjDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC;AAChDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,IAAI,EAAE;AACR,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;AAC9CA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAAC;AACrDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAAC;AACrDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAAC;AACrDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC;AACpDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,mBAAmB,EAAE,MAAM,CAAC;AACvDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC;AACnDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC;AACnDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC;AACtDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC;AACtDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC;AACnDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC;;AC1Z/C;AACA;AACA;AACO,MAAMI,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC;;AAE1B,0CAA0C,EAAE,cAAc,CAAC,oFAAoF,EAAE,kBAAkB,CAAC,YAAY,EAAE,mBAAmB,CAAC,8CAA8C,EAAE,uBAAuB,CAAC,WAAW,EAAE,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC,sCAAsC,EAAE,uBAAuB,CAAC,wEAAwE,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,gCAAgC,EAAE,kBAAkB,CAAC,YAAY,EAAE,mBAAmB,CAAC,eAAe,EAAE,kBAAkB,CAAC,+EAA+E,EAAE,oBAAoB,CAAC,kCAAkC,EAAE,mBAAmB,CAAC,gCAAgC,EAAE,uBAAuB,CAAC,+BAA+B,EAAE,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,CAAC,6IAA6I,EAAE,uBAAuB,CAAC,kCAAkC,EAAE,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,CAAC,6EAA6E,EAAE,uBAAuB,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,6CAA6C,EAAE,wBAAwB,CAAC,uGAAuG,EAAE,oBAAoB,CAAC,6BAA6B,EAAE,uBAAuB,CAAC,WAAW,EAAE,eAAe,CAAC,aAAa,EAAE,iBAAiB,CAAC,0KAA0K,EAAE,mBAAmB,CAAC,YAAY,EAAE,mBAAmB,CAAC,gDAAgD,EAAE,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,CAAC,WAAW,EAAE,eAAe,CAAC,oOAAoO,EAAE,uBAAuB,CAAC,oGAAoG,EAAE,iBAAiB,CAAC,mCAAmC,EAAE,kBAAkB,CAAC,oQAAoQ,CAAC;;ACPjpF,MAAM,UAAU,GAAG,IAAI,CAAC,kqBAAkqB,CAAC;AAC3rB,MAAM,WAAW,GAAG,IAAI,CAAC,oxBAAoxB,CAAC;AAC9yB,MAAM,aAAa,GAAG,IAAI,CAAC,mqBAAmqB,CAAC;AAC/rB,MAAM,gBAAgB,GAAG,IAAI,CAAC,qcAAqc,CAAC;AACpe,MAAM,YAAY,GAAG,IAAI,CAAC,gcAAgc,CAAC;AAC3d,MAAM,YAAY,GAAG,IAAI,CAAC,6pBAA6pB,CAAC;;ACF/rB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kBAAkB,GAAG;AAC9B,EAAE,OAAO,IAAI,CAAC,mDAAmD,EAAE,CAAC,IAAI,CAAC,CAAC,eAAe,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,2BAA2B,EAAE,IAAI,CAAC,2FAA2F,EAAE,CAAC,IAAI,CAAC,CAAC,cAAc,IAAI,SAAS,CAAC,sBAAsB,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,qBAAqB,IAAI,CAAC,CAAC,0EAA0E,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,iGAAiG,EAAE,CAAC,IAAI,CAAC,CAAC,iBAAiB,IAAI,SAAS,CAAC,yBAAyB,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,qBAAqB,IAAI,CAAC,CAAC,6EAA6E,EAAE,gBAAgB,CAAC,sEAAsE,EAAE,CAAC,IAAI,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;AACluC,IAAI,MAAM,EAAE,CAAC,CAAC;AACd,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,4HAA4H,EAAE,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,SAAS,CAAC,qBAAqB,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,qBAAqB,IAAI,CAAC,CAAC,oBAAoB,CAAC,yEAAyE,EAAE,YAAY,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,2BAA2B,EAAE,IAAI,CAAC,yFAAyF,EAAE,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,SAAS,CAAC,qBAAqB,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,qBAAqB,IAAI,CAAC,CAAC,oBAAoB,CAAC,yEAAyE,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,6BAA6B,EAAE,CAAC,IAAI,CAAC,CAAC,kBAAkB,GAAG,aAAa,GAAG,aAAa,CAAC,yDAAyD,EAAE,CAAC,IAAI,CAAC,CAAC,kBAAkB,GAAG,SAAS,GAAG,CAAC,CAAC,iBAAiB,IAAI,SAAS,CAAC,yBAAyB,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,qBAAqB,IAAI,CAAC,CAAC,6EAA6E,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,IAAI,CAAC,uDAAuD,EAAE,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,SAAS,CAAC,qBAAqB,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,0DAA0D,EAAE,CAAC,IAAI,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,UAAU,EAAE,IAAI,CAAC,oDAAoD,CAAC,EAAE,IAAI,CAAC,oDAAoD,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,qBAAqB,GAAG,SAAS,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC,EAAE,CAAC,IAAI,CAAC,CAAC,kBAAkB,GAAG,aAAa,GAAG,aAAa,CAAC,iDAAiD,EAAE,CAAC,IAAI,CAAC,CAAC,kBAAkB,GAAG,SAAS,GAAG,CAAC,CAAC,aAAa,IAAI,SAAS,CAAC,qBAAqB,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,qBAAqB,IAAI,CAAC,CAAC,oBAAoB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,IAAI,CAAC,mDAAmD,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,uEAAuE,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACx9F;AACA;AACA;AACA;AACO,MAAMD,UAAQ,GAAG,kBAAkB,EAAE;;ACd5C;AACA;AACA;AACY,MAACE,YAAU,GAAG,UAAU,CAAC,OAAO,CAAC;AAC7C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;AAC3C,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACXM,MAAMA,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,cAAc;;AAElB,kLAAkL,EAAE,iBAAiB,CAAC,4FAA4F,CAAC;;ACJnS;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,QAAQ,SAASwB,UAAc,CAAC;AAC7C,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB,IAAI,IAAI,CAAC,eAAe,GAAG,KAAK;AAChC,IAAI,IAAI,CAAC,iBAAiB,GAAG,MAAM;AACnC,MAAM,IAAI,CAAC,eAAe,GAAG,IAAI;AACjC,MAAM,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,EAAE,KAAK,CAAC;AAChE,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,cAAc,GAAG,MAAM;AAChC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AACjC,QAAQ,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,EAAE,IAAI,CAAC;AACjE,MAAM;AACN,MAAM,IAAI,CAAC,eAAe,GAAG,KAAK;AAClC,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,eAAe,GAAG,MAAM;AACjC,MAAM,IAAI,CAAC,eAAe,GAAG,KAAK;AAClC,MAAM,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,EAAE,KAAK,CAAC;AAChE,IAAI,CAAC;AACL,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,aAAa,GAAG;AAClB,IAAI,KAAK,CAAC,aAAa,EAAE;AACzB,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;AACtB;AACA;AACA,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ;AAC9C,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,oBAAoB,GAAG;AACzB,IAAI,IAAI,EAAE;AACV,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,EAAE;AACtE,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,EAAE;AACvC,IAAI,MAAM;AACV,MAAM;AACN,KAAK,GAAG,IAAI,CAAC,MAAM;AACnB,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE;AACjE,MAAM;AACN,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE;AAC1D,MAAM;AACN,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE;AAC5D,MAAM;AACN,KAAK,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA,EAAE,iBAAiB,GAAG;AACtB,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAC7B,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC/B,EAAE;AACF;AACA;AACA;AACA,EAAE,oBAAoB,GAAG;AACzB,IAAI,IAAI,EAAE;AACV,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,EAAE;AACtE,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS;AAC3B,IAAI,KAAK,CAAC,oBAAoB,EAAE;AAChC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,cAAc,CAAC,CAAC,EAAE;AACpB,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,EAAE;AAC7C,MAAM,CAAC,CAAC,cAAc,EAAE;AACxB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACtB,QAAQ,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AAClC,MAAM;AACN,MAAM,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,KAAK,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;AAC9E,MAAM,OAAO,IAAI;AACjB,IAAI;AACJ;AACA;AACA;AACA,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACzC,MAAM,CAAC,CAAC,cAAc,EAAE;AACxB,IAAI;AACJ,IAAI,OAAO,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;AAClC,EAAE;AACF;;AC5JA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAACvB,YAAU,GAAG,QAAQ,CAAC,OAAO,CAAC;AAC3C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC;AACzC,EAAE,QAAQ,EAAE,gBAAgB;AAC5B,EAAE,MAAM,EAAEwB,QAAc;AACxB,EAAE,aAAa,EAAE;AACjB,IAAI,cAAc,EAAE;AACpB;AACA,CAAC;;ACjBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,cAAc,SAASC,gBAAoB,CAAC;;ACvCzD;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAACzB,YAAU,GAAG,cAAc,CAAC,OAAO,CAAC;AACjD,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;AACvC,EAAE,QAAQ,EAAE,sBAAsB;AAClC,EAAE,MAAM,EAAE,oBAAoB;AAC9B,EAAE,aAAa,EAAE;AACjB,IAAI,cAAc,EAAE;AACpB;AACA;AACA,CAAC;;ACjBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,aAAa,CAAC,OAAO,EAAE;AACvC,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,MAAM,IAAI,CAAC,YAAY,EAAE;AAClG,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,IAAI,SAAS,IAAI,OAAO,EAAE;AAC5B,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;AACzC,EAAE;AACF,EAAE,OAAO,KAAK;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,qBAAqB,CAAC,OAAO,EAAE;AAC/C,EAAE,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;AAC9B,IAAI,OAAO,OAAO,CAAC,OAAO;AAC1B,EAAE;AACF,EAAE,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE;AACjC,IAAI,OAAO,CAAC,OAAO,CAAC;AACpB,EAAE;AACF,EAAE,OAAO,EAAE;AACX;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,OAAO,SAAS0B,SAAa,CAAC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,uBAAuB,CAAC,MAAM,EAAE;AAClC,IAAI,OAAO,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ;AACjF,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,YAAY,CAAC,CAAC,EAAE;AAClB,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB,MAAM,OAAO,IAAI;AACjB,IAAI;AACJ,IAAI,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM;AAC3B,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE;AAC1E,MAAM,OAAO,IAAI;AACjB,IAAI;AACJ,IAAI,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;AAChC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,YAAY,CAAC,KAAK,EAAE;AACtB,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;AACvG,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE;AACxD,MAAM;AACN,IAAI;AACJ,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC;AAC7B,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,iBAAiB,CAAC,CAAC,EAAE;AACvB,IAAI,IAAI,EAAE;AACV,IAAI,MAAM,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,MAAM,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW;AAC1H,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,MAAM;AACN,IAAI;AACJ;AACA;AACA;AACA,IAAI,2BAA2B,CAAC,IAAI,EAAE,MAAM;AAC5C;AACA,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM;AAC5B,QAAQ,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,EAAE;AAClD,QAAQ,MAAM,OAAO,GAAG,EAAE;AAC1B,QAAQ,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE;AACnC,UAAU,IAAI,aAAa,CAAC,EAAE,CAAC,EAAE;AACjC,YAAY,MAAM,KAAK,GAAG,EAAE;AAC5B,YAAY,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;AAC1C,UAAU,CAAC,MAAM,IAAI,gBAAgB,CAAC,EAAE,CAAC,EAAE;AAC3C,YAAY,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;AAC5B,UAAU;AACV,QAAQ;AACR,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO;AAC9B,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE;AAC7B,IAAI,IAAI,EAAE;AACV;AACA,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,cAAc,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AAC9F;AACA,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;AACrC,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE;AACnC,IAAI,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;AAClC,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa;AACzC,MAAM,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI;AAC5D,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;AACjC,QAAQ,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;AAChC,MAAM;AACN,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AACvC,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,oBAAoB,CAAC,OAAO,EAAE;AAChC;AACA,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE;AAC5B,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC;AACzC;AACA,IAAI,KAAK,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,MAAM,EAAE;AAChD,MAAM,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM;AACzC,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,KAAK;AAC9C;AACA,QAAQ,MAAM,CAAC,gBAAgB,CAAC,YAAY,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;AAC7D;AACA,QAAQ,MAAM,CAAC,gBAAgB,CAAC,WAAW,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;AAC1D;AACA,QAAQ,IAAI,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE;AAC1D,UAAU,MAAM,CAAC,gBAAgB,CAAC,eAAe,GAAG,KAAK,CAAC,KAAK;AAC/D,QAAQ,CAAC,MAAM;AACf,UAAU,MAAM,CAAC,gBAAgB,CAAC,eAAe,GAAG,IAAI;AACxD,QAAQ;AACR,MAAM,CAAC,CAAC;AACR,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE;AAC/B,IAAI,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO;AACvE,IAAI,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,EAAE,IAAI,CAAC;AACxD,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM;AAC1B,MAAM,IAAI,EAAE;AACZ,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI;AAC/E,QAAQ,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI;AAC3B,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,EAAE;AACF;;AC9MA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC1B,YAAU,GAAG,OAAO,CAAC,OAAO,CAAC;AAC1C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;AACxC,EAAE,QAAQ,EAAE,eAAe;AAC3B,EAAE,MAAM,EAAE,aAAa;AACvB,EAAE,aAAa,EAAE;AACjB,IAAI,cAAc,EAAE;AACpB;AACA;AACA,CAAC;;ACbD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,gBAAgB,CAAC,QAAQ,GAAG,cAAc,EAAE;AAC5D,EAAE2B,YAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC;AACrC,EAAEC,YAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC;AACpC,EAAEC,YAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC;AACnC,EAAE7B,YAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC7B;AACA,gBAAgB,CAAC,YAAY,CAAC,QAAQ,CAAC;;ACzBvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC;AAC9G,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC;AAC3F,MAAM,YAAY,CAAC;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,QAAQ,CAAC,SAAS,EAAE;AAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE;AAC1C,MAAM,OAAO,EAAE,CAAC;AAChB,IAAI;AACJ,IAAI,IAAI;AACR,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC;AACzE,MAAM,IAAI,CAAC,kCAAkC,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC;AAC/E,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC;AACvD,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;AACpB,MAAM,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC;AAC/C,MAAM,OAAO,EAAE;AACf,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA,EAAE,OAAO,eAAe,CAAC,SAAS,EAAE;AACpC,IAAI,IAAI;AACR,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC;AACzE,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,eAAe;AAC7C,MAAM,OAAO,WAAW,IAAI,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK;AACvE,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;AACpB,MAAM,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC;AACzD,MAAM,OAAO,KAAK;AAClB,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA,EAAE,OAAO,kCAAkC,CAAC,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE;AAC5E,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI;AACjD,MAAM,IAAI,EAAE;AACZ,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE;AACnD,MAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACzC,QAAQ,OAAO,CAAC,IAAI,CAAC,CAAC,sDAAsD,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACzF,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,UAAU,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC;AAC9F,MAAM,CAAC,MAAM;AACb,QAAQ,OAAO,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI;AACpD,UAAU,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE;AACjG,YAAY,OAAO,CAAC,IAAI,CAAC,CAAC,2DAA2D,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;AACtI,YAAY,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;AACzC,UAAU;AACV,QAAQ,CAAC,CAAC;AACV,MAAM;AACN,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA,YAAY,CAAC,MAAM,GAAG,IAAI,SAAS,EAAE;AACrC;AAC2B,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY;;AC3ElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,UAAU,CAAC;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,aAAa,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE;AAC5C,IAAI,IAAI;AACR,MAAM,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC1D,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AAC1C,QAAQ,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC;AACvD,MAAM,CAAC,MAAM;AACb,QAAQ,OAAO,UAAU;AACzB,MAAM;AACN,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;AACpB,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;AACnE,MAAM,MAAM,KAAK;AACjB,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,aAAa,gBAAgB,CAAC,IAAI,EAAE;AACtC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC/B,MAAM,IAAI;AACV,QAAQ,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI;AACpD,UAAU,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACxB,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAC/E,UAAU;AACV,UAAU,OAAO,IAAI,CAAC,IAAI,EAAE;AAC5B,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI;AACvB;AACA,UAAU,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC/C,YAAY,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC;AACjD,UAAU;AACV,UAAU,OAAO,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;AAC3C,QAAQ,CAAC,CAAC;AACV,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC;AACxC,QAAQ,OAAO,MAAM,UAAU;AAC/B,MAAM,CAAC,CAAC,OAAO,KAAK,EAAE;AACtB,QAAQ,OAAO,CAAC,KAAK,CAAC,CAAC,wCAAwC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;AAChF,QAAQ,MAAM,KAAK,CAAC;AACpB,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;AACrC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,iBAAiB,CAAC,aAAa,EAAE,QAAQ,EAAE;AACpD,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE,eAAe,CAAC;AAC3E,IAAI,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;AAChE,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AACpE,MAAM,OAAO,EAAE;AACf,IAAI;AACJ;AACA,IAAI,MAAM,YAAY,GAAG,4BAA4B;AACrD,IAAI,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC;AAC/D,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;AAC5D,MAAM,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC;AACpD,IAAI;AACJ,IAAI,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AAC5E,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI;AACnD,MAAM,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACnD,IAAI,CAAC,CAAC;AACN,IAAI,oBAAoB,CAAC,UAAU,CAAC;AACpC,IAAI,OAAO,UAAU,CAAC,SAAS;AAC/B,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,aAAa,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE;AAC1C,IAAI,IAAI;AACR,MAAM,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC;AAC7D,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACxC,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC;AAChD,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC;AACnD,MAAM,CAAC,MAAM;AACb,QAAQ,OAAO,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC;AACpD,MAAM;AACN,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;AACpB,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;AACtE,MAAM,MAAM,KAAK;AACjB,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,QAAQ,CAAC,SAAS,EAAE;AAC7B,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC;AAClE,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,uBAAuB,CAAC,MAAM,EAAE;AACzC,IAAI,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC;AAClD,IAAI,MAAM,YAAY,GAAG,4BAA4B;AACrD,IAAI,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,aAAa,EAAE,eAAe,CAAC;AAC/E,IAAI,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC;AAC/D,IAAI,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,IAAI,EAAE,CAAC;AACrD,IAAI,OAAO,MAAM,CAAC,UAAU,EAAE;AAC9B,MAAM,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/D,IAAI;AACJ,IAAI,oBAAoB,CAAC,UAAU,CAAC;AACpC,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,SAAS;AAC3D,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,SAAS;AAC7D,IAAI,OAAO;AACX,MAAM,OAAO,EAAE,UAAU,CAAC,SAAS;AACnC,MAAM,KAAK;AACX,MAAM;AACN,KAAK;AACL,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,2BAA2B,CAAC,GAAG,EAAE;AAC1C,IAAI,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;AAC5C,IAAI,IAAI,KAAK;AACb,IAAI,IAAI,MAAM;AACd,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,SAAS;AACxD,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,SAAS;AAC1D,IAAI;AACJ,IAAI,OAAO;AACX,MAAM,OAAO,EAAE,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,SAAS,KAAK,EAAE;AAC1F,MAAM,KAAK;AACX,MAAM;AACN,KAAK;AACL,EAAE;AACF;AACA,UAAU,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE;AAC5B,UAAU,CAAC,MAAM,GAAG,IAAI,SAAS,EAAE;AACnC;AACA,SAAS,oBAAoB,CAAC,OAAO,EAAE;AACvC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI;AACjD,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;AACrC,MAAM,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC;AACpC,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ;;AC9KA,IAAIL,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAID;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,OAAO,SAAS,WAAW,CAAC;AACzC,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,OAAO,GAAG,KAAK;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,UAAU,GAAG,MAAM;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,SAAS,GAAG,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,cAAc,GAAG,MAAM,SAAS;AACzC;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,OAAO,CAAC,OAAO,IAAI;AAChD,MAAM,IAAI,CAAC,cAAc,GAAG,OAAO;AACnC,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,CAAC,4BAA4B,EAAE;AACvC,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,CAAC,4BAA4B,EAAE;AACvC,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,CAAC,4BAA4B,EAAE;AACvC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,IAAI,GAAG;AACb,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;AACpC,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE;AAClB,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AAC/C,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;AAClC,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;AACtC,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,iBAAiB,GAAG;AACtB,IAAI,KAAK,CAAC,iBAAiB,EAAE;AAC7B,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;AACpD,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,4BAA4B,GAAG;AACjC,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE;AAC7B,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;AACrB,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE;AACzD,UAAU,IAAI,CAAC,cAAc,EAAE;AAC/B,UAAU,IAAI,CAAC,cAAc,GAAG,MAAM,SAAS;AAC/C,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,UAAU,GAAG;AACf,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI;AACzB,IAAI,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAC1D,MAAM,OAAO;AACb,MAAM,KAAK;AACX,MAAM;AACN,KAAK,KAAK;AACV,MAAM,IAAI,CAAC,SAAS,GAAG,KAAK;AAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,OAAO;AACzC,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC;AAClD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC;AACrE,MAAM,IAAI,kBAAkB,EAAE;AAC9B,QAAQ,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC;AACpD,MAAM;AACN,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI;AACtB,MAAM,IAAI,CAAC,SAAS,GAAG,KAAK;AAC5B,MAAM,IAAI,CAAC,OAAO,GAAG,IAAI;AACzB,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC;AAC/D,MAAM,IAAI,CAAC,eAAe,EAAE;AAC5B,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,eAAe,GAAG;AACpB;AACA,IAAI,MAAM,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,KAAK,CAAC;AAClF,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AACtE,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AACxE,IAAI,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC;AACjD,IAAI,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC;AACjD,IAAI,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC;AAChD;AACA,IAAI,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,MAAM,CAAC;AAChF,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC;AACjC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC;AACjC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;AAClC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;AAClC,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,mCAAmC,CAAC;AACrE,IAAI,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,yBAAyB,CAAC;AACjE;AACA,IAAI,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,MAAM,CAAC;AAChF,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;AAClC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC;AACjC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC;AACjC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC;AAClC,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,mCAAmC,CAAC;AACrE,IAAI,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,yBAAyB,CAAC;AACjE,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;AAC/B,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;AAC/B;AACA,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,EAAE;AAClC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE;AAC1C,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;AACnB,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC1E,QAAQ,IAAI,CAAC,kBAAkB,GAAG,GAAG;AACrC,8BAA8B,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC1E,MAAM;AACN,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,MAAM,EAAE;AAChC,MAAM,IAAI,CAAC,kBAAkB,GAAG,GAAG;AACnC,4BAA4B,EAAE,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC;AACjE,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACjC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAC7D,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAmB,CAAC,UAAU,EAAE;AAClC,IAAI,IAAI,EAAE,EAAE,EAAE;AACd,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;AACjC,MAAM,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;AAChD;AACA,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACjD,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1C,QAAQ,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnE,QAAQ,IAAI,YAAY,EAAE;AAC1B,UAAU,IAAI,CAAC,IAAI,GAAG,YAAY;AAClC,QAAQ;AACR,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC;AACxC,IAAI;AACJ;AACA,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;AACnB;AACA,MAAM,MAAM,WAAW,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AAChH,MAAM,IAAI,WAAW,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;AAC3F,QAAQ,SAAS,GAAG,WAAW;AAC/B,MAAM,CAAC,MAAM;AACb,QAAQ,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;AACxH,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,MAAM,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE;AACpF,MAAM,MAAM,UAAU,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AACzG,MAAM,IAAI,UAAU,EAAE;AACtB,QAAQ,SAAS,GAAG,UAAU;AAC9B,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC;AACjD,MAAM,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC;AAClD,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;AACxB,MAAM,UAAU,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;AAC3D,IAAI,CAAC,MAAM;AACX,MAAM,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC;AAC9C,IAAI;AACJ,IAAI,UAAU,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC;AAC3D,IAAI,UAAU,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC;AACnE,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;AAC9C,MAAM,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;AAChD,IAAI,CAAC,MAAM;AACX,MAAM,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC;AACxC,IAAI;AACJ,EAAE;AACF;AACAD,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACrDA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACrDA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AACrDA,YAAU,CAAC,CAAC,IAAI,CAAC;AACjB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC;AAC7CA,YAAU,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC;;AClTnD,MAAMI,QAAM,GAAG,GAAG;AACzB,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC;;AAE1B,2CAA2C,EAAE,gBAAgB,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,gDAAgD,CAAC;;ACJ3J;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMD,UAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC;;ACPnD;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAACE,YAAU,GAAG,OAAO,CAAC,OAAO,CAAC;AAC1C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC;AACzC,YAAEF,UAAQ;AACV,UAAEC,QAAM;AACR,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;AACDC,YAAU,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;;ACnBxC,IAAIL,YAAU,GAAGC,MAAI,IAAIA,MAAI,CAAC,UAAU,IAAI,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;AACrF,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM;AAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;AACnG,IAAI,CAAC;AACL,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,GAAG,CAAC;AACpB;AACA;AACA,CAAC;AACD,MAAM,QAAQ,GAAG,CAAC;AAClB;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,KAAK,SAAS,WAAW,CAAC;AACvC,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI;AAC5B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI;AAC5B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,OAAO,GAAG,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,KAAK;AAC9B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,WAAW;AACpC;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE;AAC7B;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI;AAC7B,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,eAAe,GAAG;AACpB,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB,MAAM,IAAI,CAAC,eAAe,EAAE;AAC5B,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE,WAAW,GAAG;AAChB,IAAI,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GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAClR,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,GAAG,SAAS,WAAW,CAAC;AACrC,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,aAAa,GAAG,KAAK;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,KAAK,GAAG,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,UAAU,GAAG,QAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,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vB;AACA,CAAC;;ACdD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,SAAS,SAASmC,WAAe,CAAC;;AC5B/C;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAACnC,YAAU,GAAG,SAAS,CAAC,OAAO,CAAC;AAC5C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC;AAC1C,EAAE,QAAQ,EAAE,iBAAiB;AAC7B,EAAE,MAAM,EAAE,eAAe;AACzB,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;AChBD;AACY,MAAC,oBAAoB,GAAG;AACpC,EAAE,GAAGoC;AACL;;ACHA;AACY,MAAC,eAAe,GAAG;AAC/B,EAAE,GAAGC;AACL;AAEA;AACY,MAAC,WAAW,GAAG;AAC3B,EAAE,GAAGC;AACL;AAEA;AACY,MAAC,aAAa,GAAG;AAC7B,EAAE,GAAGC;AACL;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,IAAI,SAASC,MAAU,CAAC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,YAAY,CAAC,CAAC,EAAE;AAClB,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;AACnB,MAAM,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM;AACjF,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,CAAC,CAAC,cAAc,EAAE;AAC1B,QAAQ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACxC,MAAM,CAAC,MAAM;AACb;AACA,QAAQ,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;AACpC,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,IAAI;AACf,EAAE;AACF;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,YAAY,GAAG;AAC/B;AACA,EAAE,OAAO,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,0BAA0B,CAAC;AAC9J;AACO,MAAM1C,UAAQ,GAAG,YAAY,EAAE;;ACVtC;AACA;AACA;AACA;AACA;AACY,MAACE,YAAU,GAAG,IAAI,CAAC,OAAO,CAAC;AACvC,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,YAAEF,UAAQ;AACV,EAAE,MAAM,EAAE,UAAU;AACpB,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACfD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,MAAM,SAAS2C,QAAY,CAAC;;ACzCzC;AACY,MAAC,aAAa,GAAG;AAC7B,EAAE,GAAGC;AACL;AAEA;AACY,MAAC,iBAAiB,GAAG;AACjC,EAAE,GAAGC;AACL;AAEA;AACY,MAAC,YAAY,GAAG;AAC5B,EAAE,GAAGC;AACL;AAEA;AACY,MAAC,iBAAiB,GAAG;AACjC,EAAE,GAAGC;AACL;AAEA;AACY,MAAC,YAAY,GAAG;AAC5B,EAAE,GAAGC;AACL;AAEA;AACY,MAAC,WAAW,GAAG;AAC3B,EAAE,GAAGC;AACL;;AC1BA;AACA;AACA;AACA;AACA;AACY,MAAC/C,YAAU,GAAG,MAAM,CAAC,OAAO,CAAC;AACzC,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;AACvC,EAAE,QAAQ,EAAE,cAAc;AAC1B,EAAE,MAAM,EAAE,YAAY;AACtB,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACdD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,KAAK,SAASgD,OAAW,CAAC;;ACpCvC;AACY,MAAC,gBAAgB,GAAG;AAChC,EAAE,GAAGC;AACL;AAEA;AACY,MAAC,WAAW,GAAG;AAC3B,EAAE,GAAGC;AACL;AAEA;AACY,MAAC,WAAW,GAAG;AAC3B,EAAE,GAAGC;AACL;AAEA;AACY,MAAC,UAAU,GAAG;AAC1B,EAAE,GAAGC;AACL;;AChBA;AACA;AACA;AACA;AACA;AACY,MAACpD,YAAU,GAAG,KAAK,CAAC,OAAO,CAAC;AACxC,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;AACtC,EAAE,QAAQ,EAAE,aAAa;AACzB,EAAE,MAAM,EAAE,WAAW;AACrB,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACdD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MA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CjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACdD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,UAAU,SAAS2F,YAAgB,CAAC;;ACxCjD;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC3F,YAAU,GAAG,UAAU,CAAC,OAAO,CAAC;AAC7C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;AAC5C,EAAE,QAAQ,EAAE,kBAAkB;AAC9B,EAAE,MAAM,EAAE,gBAAgB;AAC1B,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,UAAU,SAAS4F,YAAgB,CAAC;;AC/DjD;AACA;AACA;AACA;AACY,MAAC,qBAAqB,GAAG;AACrC;AACA;AACA;AACA;AACY,MAAC,gBAAgB,GAAG;AAChC;AACA;AACA;AACA;AACY,MAAC,eAAe,GAAG;;ACf/B;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC5F,YAAU,GAAG,UAAU,CAAC,OAAO,CAAC;AAC7C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;AA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Y,CAAC,MAAM,CAAC,aAAa,CAAC;AAC7C,EAAE,QAAQ,EAAE,mBAAmB;AAC/B,EAAE,MAAM,EAAE,iBAAiB;AAC3B,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACdD;AACY,MAAC,iBAAiB,GAAG;AACjC,EAAE,GAAG+F;AACL;AACA;AACY,MAAC,sBAAsB,GAAG;AACtC,EAAE,GAAGC;AACL;AACA;AACY,MAAC,2BAA2B,GAAG;AAC3C,EAAE,GAAGC;AACL;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,UAAU,SAASC,YAAgB,CAAC;;ACzCjD;AACY,MAAC,sBAAsB,GAAG;AACtC,EAAE,GAAGC;AACL;;ACDA;AACA;AACA;AACA;AACA;AACY,MAACnG,YAAU,GAAG,UAAU,CAAC,OAAO,CAAC;AAC7C,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;AAC5C,EAAE,QAAQ,EAAE,kBAAkB;AAC9B,EAAE,MAAM,EAAE,gBAAgB;AAC1B,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACdD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,KAAK,SAASoG,OAAW,CAAC;;AC5CvC;AACA;AACA;AACA;AACA;AACY,MAACpG,YAAU,GAAG,KAAK,CAAC,OAAO,CAAC;AACxC,EAAE,IAAI,EAAE,CAA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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,MAAM,SAASC,QAAY,CAAC;;ACtCzC;AACA;AACA;AACA;AACA;AACY,MAAClH,YAAU,GAAG,MAAM,CAAC,OAAO,CAAC;AACzC,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;AACvC,EAAE,QAAQ,EAAE,cAAc;AAC1B,EAAE,MAAM,EAAE,YAAY;AACtB,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACdD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,GAAG,SAASmH,KAAS,CAAC;;AC1BnC;AACA;AACA;AACA;AACA;AACY,MAACnH,YAAU,GAAG,GAAG,CAAC,OAAO,CAAC;AACtC,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;AACpC,EAAE,QAAQ,EAAE,WAAW;AACvB,EAAE,MAAM,EAAE,SAAS;AACnB,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,YAAY,CAAC;AACvB;AACA,CAAC;;ACdD;AACY,MAAC,kBAAkB,GAAG;AAClC,EAAE,GAAGoH;AACL;AACA;AACY,MAAC,mBAAmB,GAAG;AACnC,EAAE,GAAGC;AACL;AACA;AACY,MAAC,YAAY,GAAG;AAC5B,EAAE,GAAGC;AACL;AACA;AACY,MAAC,iBAAiB,GAAG;AACjC,EAAE,iBAAiB,EAAE,qBAAqB;AAC1C,EAAE,MAAM,EAAE;AACV;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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"}