@pnx-mixtape/mxds 0.0.22 → 0.0.23

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 (375) hide show
  1. package/dist/build/accordion.entry.js +32 -43
  2. package/dist/build/accordion.entry.js.map +1 -1
  3. package/dist/build/base.css +17 -39
  4. package/dist/build/button.css +9 -10
  5. package/dist/build/chunks/{Accordion-O-huO4At.js → Accordion-D1HQ0FDq.js} +23 -21
  6. package/dist/build/chunks/{Accordion-O-huO4At.js.map → Accordion-D1HQ0FDq.js.map} +1 -1
  7. package/dist/build/chunks/disclosure-widget-CdjCdx7t.js +129 -0
  8. package/dist/build/chunks/disclosure-widget-CdjCdx7t.js.map +1 -0
  9. package/dist/build/chunks/drop-menu.entry-fzV-_VFl.js +70 -0
  10. package/dist/build/chunks/drop-menu.entry-fzV-_VFl.js.map +1 -0
  11. package/dist/build/chunks/{polyfills-C-B7iqDG.js → polyfills-DnrsypYs.js} +35 -26
  12. package/dist/build/chunks/polyfills-DnrsypYs.js.map +1 -0
  13. package/dist/build/chunks/popover.entry-BQvyR0d5.js +38 -0
  14. package/dist/build/chunks/popover.entry-BQvyR0d5.js.map +1 -0
  15. package/dist/build/chunks/{utilities-DXELy_An.js → utilities-Ci7wwNeg.js} +9 -106
  16. package/dist/build/chunks/utilities-Ci7wwNeg.js.map +1 -0
  17. package/dist/build/constants.css +10 -31
  18. package/dist/build/dialog.entry.js +23 -31
  19. package/dist/build/dialog.entry.js.map +1 -1
  20. package/dist/build/drop-menu.entry.js +1 -1
  21. package/dist/build/drupal.css +5 -9
  22. package/dist/build/filters.entry.js +54 -50
  23. package/dist/build/filters.entry.js.map +1 -1
  24. package/dist/build/form.css +12 -26
  25. package/dist/build/global-alert.entry.js +26 -19
  26. package/dist/build/global-alert.entry.js.map +1 -1
  27. package/dist/build/grid.css +3 -9
  28. package/dist/build/header.entry.js +93 -88
  29. package/dist/build/header.entry.js.map +1 -1
  30. package/dist/build/icon.css +3 -3
  31. package/dist/build/in-page-navigation.entry.js +16 -12
  32. package/dist/build/in-page-navigation.entry.js.map +1 -1
  33. package/dist/build/navigation.css +9 -23
  34. package/dist/build/navigation.entry.js +148 -50
  35. package/dist/build/navigation.entry.js.map +1 -1
  36. package/dist/build/page.css +1 -1
  37. package/dist/build/popover.css +119 -0
  38. package/dist/build/popover.entry.js +2 -0
  39. package/dist/build/popover.entry.js.map +1 -0
  40. package/dist/build/section.css +1 -1
  41. package/dist/build/sticky.entry.js +11 -12
  42. package/dist/build/sticky.entry.js.map +1 -1
  43. package/dist/build/tabs.entry.js +108 -91
  44. package/dist/build/tabs.entry.js.map +1 -1
  45. package/dist/build/utility-list.css +43 -0
  46. package/dist/build/utility-list.entry.js +80 -0
  47. package/dist/build/utility-list.entry.js.map +1 -0
  48. package/package.json +9 -10
  49. package/src/Atom/{Base.mdx → Atom.mdx} +1 -1
  50. package/src/Atom/Background/Backgrounds.stories.ts +21 -4
  51. package/src/Atom/Background/__snapshots__/Backgrounds.stories.ts.snap +1 -1
  52. package/src/Atom/Background/_background.css +1 -2
  53. package/src/Atom/Blockquote/_blockquote.css +1 -2
  54. package/src/Atom/Button/Button.stories.ts +128 -19
  55. package/src/Atom/Button/__snapshots__/Button.stories.ts.snap +75 -11
  56. package/src/Atom/Button/__snapshots__/Button.stories.tsx.snap +1 -1
  57. package/src/Atom/Button/_buttons.css +4 -5
  58. package/src/Atom/DefinitionList/DefinitionList.stories.ts +20 -3
  59. package/src/Atom/DefinitionList/DefinitionList.stories.tsx +3 -9
  60. package/src/Atom/DefinitionList/DefinitionList.tsx +3 -4
  61. package/src/Atom/DefinitionList/__snapshots__/DefinitionList.stories.ts.snap +1 -1
  62. package/src/Atom/DefinitionList/__snapshots__/DefinitionList.stories.tsx.snap +1 -1
  63. package/src/Atom/Heading/Heading.stories.ts +49 -7
  64. package/src/Atom/Heading/Heading.tsx +1 -6
  65. package/src/Atom/Heading/__snapshots__/Heading.stories.ts.snap +9 -1
  66. package/src/Atom/Heading/__snapshots__/Heading.stories.tsx.snap +1 -1
  67. package/src/Atom/Heading/_headings.css +1 -2
  68. package/src/Atom/Icon/Icon.mdx +5 -1
  69. package/src/Atom/Icon/Icon.stories.ts +76 -6
  70. package/src/Atom/Icon/Icon.tsx +1 -8
  71. package/src/Atom/Icon/__snapshots__/Icon.stories.ts.snap +18 -4
  72. package/src/Atom/Icon/__snapshots__/Icon.stories.tsx.snap +1 -1
  73. package/src/Atom/Icon/_icon.css +1 -1
  74. package/src/Atom/Image/Image.stories.ts +4 -3
  75. package/src/Atom/Image/__snapshots__/Image.stories.ts.snap +1 -1
  76. package/src/Atom/Link/Link.stories.ts +74 -7
  77. package/src/Atom/Link/__snapshots__/Link.stories.ts.snap +4 -4
  78. package/src/Atom/Link/__snapshots__/Link.stories.tsx.snap +1 -1
  79. package/src/Atom/Media/Media.stories.ts +34 -5
  80. package/src/Atom/Media/Media.tsx +1 -6
  81. package/src/Atom/Media/__snapshots__/Media.stories.ts.snap +2 -2
  82. package/src/Atom/Media/__snapshots__/Media.stories.tsx.snap +1 -1
  83. package/src/Atom/Media/_media.css +2 -10
  84. package/src/Atom/Spacing/Spacing.stories.ts +45 -31
  85. package/src/Atom/Spacing/__snapshots__/Spacing.stories.ts.snap +5 -4
  86. package/src/Atom/Spacing/spacing.twig +5 -2
  87. package/src/Atom/Table/__snapshots__/Table.stories.ts.snap +1 -1
  88. package/src/Atom/Table/__snapshots__/TableResponsive.stories.ts.snap +1 -1
  89. package/src/Atom/Table/_table.css +1 -2
  90. package/src/Atom/Text/Text.stories.ts +62 -0
  91. package/src/Atom/Text/__snapshots__/{TextSizes.stories.ts.snap → Text.stories.ts.snap} +14 -27
  92. package/src/Atom/Text/__snapshots__/Text.stories.tsx.snap +1 -1
  93. package/src/Atom/Text/_text-sizes.css +2 -4
  94. package/src/Atom/Text/text-style.twig +11 -1
  95. package/src/Atom/Text/text-styles-example.twig +2 -16
  96. package/src/Atom/Video/Video.stories.ts +6 -4
  97. package/src/Atom/Video/Video.tsx +1 -5
  98. package/src/Atom/Video/__snapshots__/Video.stories.ts.snap +1 -1
  99. package/src/Atom/_generic.css +2 -4
  100. package/src/Atom/_hr.css +1 -2
  101. package/src/Component/Accordion/Accordion.stories.ts +26 -8
  102. package/src/Component/Accordion/Accordion.stories.tsx +8 -10
  103. package/src/Component/Accordion/Accordion.tsx +2 -13
  104. package/src/Component/Accordion/AccordionItem.stories.ts +90 -0
  105. package/src/Component/Accordion/Components/AccordionContent.tsx +1 -5
  106. package/src/Component/Accordion/Components/AccordionTitle.tsx +1 -4
  107. package/src/Component/Accordion/Elements/Accordion.ts +1 -1
  108. package/src/Component/Accordion/Elements/AccordionDiv.ts +4 -11
  109. package/src/Component/Accordion/Elements/AccordionGroup.ts +10 -24
  110. package/src/Component/Accordion/Elements/AccordionMobile.ts +4 -4
  111. package/src/Component/Accordion/__snapshots__/Accordion.stories.ts.snap +17 -6
  112. package/src/Component/Accordion/__snapshots__/Accordion.stories.tsx.snap +1 -1
  113. package/src/Component/Accordion/__snapshots__/AccordionItem.stories.ts.snap +90 -0
  114. package/src/Component/Accordion/accordion.css +7 -5
  115. package/src/Component/Accordion/twig/accordion-div.twig +13 -11
  116. package/src/Component/Accordion/twig/accordion-mobile.twig +13 -11
  117. package/src/Component/Breadcrumb/Breadcrumb.stories.ts +14 -0
  118. package/src/Component/Breadcrumb/Breadcrumb.tsx +2 -12
  119. package/src/Component/Breadcrumb/__snapshots__/Breadcrumb.stories.ts.snap +1 -1
  120. package/src/Component/Breadcrumb/__snapshots__/Breadcrumb.stories.tsx.snap +1 -1
  121. package/src/Component/Breadcrumb/breadcrumb.css +1 -4
  122. package/src/Component/Callout/Callout.stories.ts +20 -0
  123. package/src/Component/Callout/__snapshots__/Callout.stories.ts.snap +1 -1
  124. package/src/Component/Callout/callout.css +1 -2
  125. package/src/Component/Card/Card.stories.ts +129 -14
  126. package/src/Component/Card/Card.stories.tsx +2 -2
  127. package/src/Component/Card/Components/CardContent.tsx +1 -5
  128. package/src/Component/Card/__snapshots__/Card.stories.ts.snap +16 -16
  129. package/src/Component/Card/__snapshots__/Card.stories.tsx.snap +1 -1
  130. package/src/Component/Card/card.css +2 -6
  131. package/src/Component/Carousel/Carousel.stories.ts +61 -8
  132. package/src/Component/Carousel/Elements/Carousel.ts +10 -19
  133. package/src/Component/Carousel/__snapshots__/Carousel.stories.ts.snap +288 -2
  134. package/src/Component/Carousel/carousel.css +1 -2
  135. package/src/Component/ContentBlock/Components/ContentBlockContent.tsx +1 -5
  136. package/src/Component/ContentBlock/Components/ContentBlockMedia.tsx +1 -4
  137. package/src/Component/ContentBlock/ContentBlock.stories.ts +63 -13
  138. package/src/Component/ContentBlock/ContentBlock.stories.tsx +2 -2
  139. package/src/Component/ContentBlock/ContentBlock.tsx +1 -5
  140. package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.ts.snap +11 -11
  141. package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.tsx.snap +1 -1
  142. package/src/Component/Dialog/Dialog.stories.ts +78 -21
  143. package/src/Component/Dialog/Dialog.stories.tsx +2 -3
  144. package/src/Component/Dialog/Elements/Dialog.ts +7 -16
  145. package/src/Component/Dialog/__snapshots__/Dialog.stories.ts.snap +8 -11
  146. package/src/Component/Dialog/__snapshots__/Dialog.stories.tsx.snap +1 -1
  147. package/src/Component/Dialog/dialog.css +1 -2
  148. package/src/Component/Dialog/dialog.twig +1 -1
  149. package/src/Component/DropMenu/Components/DropMenuContext.tsx +4 -12
  150. package/src/Component/DropMenu/DropMenu.stories.ts +60 -1
  151. package/src/Component/DropMenu/DropMenu.tsx +2 -7
  152. package/src/Component/DropMenu/Elements/DropMenu.ts +21 -91
  153. package/src/Component/DropMenu/__snapshots__/DropMenu.stories.ts.snap +53 -11
  154. package/src/Component/DropMenu/__snapshots__/DropMenu.stories.tsx.snap +1 -1
  155. package/src/Component/DropMenu/drop-menu.css +13 -41
  156. package/src/Component/DropMenu/drop-menu.twig +8 -6
  157. package/src/Component/Filters/Elements/Filters.ts +7 -11
  158. package/src/Component/Filters/FilterItem.stories.ts +180 -0
  159. package/src/Component/Filters/Filters.stories.ts +83 -8
  160. package/src/Component/Filters/__snapshots__/FilterItem.stories.ts.snap +135 -0
  161. package/src/Component/Filters/__snapshots__/Filters.stories.ts.snap +43 -41
  162. package/src/Component/Filters/filter-item.twig +1 -1
  163. package/src/Component/Filters/filters.css +33 -17
  164. package/src/Component/GlobalAlert/Elements/ClosableAlert.ts +8 -7
  165. package/src/Component/GlobalAlert/GlobalAlert.stories.ts +60 -12
  166. package/src/Component/GlobalAlert/GlobalAlert.stories.tsx +1 -2
  167. package/src/Component/GlobalAlert/__snapshots__/GlobalAlert.stories.ts.snap +8 -6
  168. package/src/Component/GlobalAlert/__snapshots__/GlobalAlert.stories.tsx.snap +3 -3
  169. package/src/Component/HeroBanner/HeroBanner.stories.ts +84 -7
  170. package/src/Component/HeroBanner/HeroBanner.stories.tsx +4 -4
  171. package/src/Component/HeroBanner/__snapshots__/HeroBanner.stories.ts.snap +91 -99
  172. package/src/Component/HeroBanner/__snapshots__/HeroBanner.stories.tsx.snap +1 -1
  173. package/src/Component/HeroSearch/HeroSearch.stories.ts +23 -4
  174. package/src/Component/HeroSearch/HeroSearch.stories.tsx +4 -4
  175. package/src/Component/HeroSearch/__snapshots__/HeroSearch.stories.ts.snap +10 -10
  176. package/src/Component/HeroSearch/__snapshots__/HeroSearch.stories.tsx.snap +1 -1
  177. package/src/Component/InPageAlert/InPageAlert.stories.ts +76 -8
  178. package/src/Component/InPageAlert/InPageAlert.stories.tsx +1 -2
  179. package/src/Component/InPageAlert/InPageAlert.tsx +1 -4
  180. package/src/Component/InPageAlert/__snapshots__/InPageAlert.stories.ts.snap +80 -2
  181. package/src/Component/InPageAlert/__snapshots__/InPageAlert.stories.tsx.snap +1 -1
  182. package/src/Component/InPageNavigation/Elements/InPageNavigation.ts +7 -9
  183. package/src/Component/InPageNavigation/Hooks/useInPageNavigation.ts +3 -5
  184. package/src/Component/InPageNavigation/InPageNavigation.stories.ts +44 -9
  185. package/src/Component/InPageNavigation/InPageNavigation.stories.tsx +32 -40
  186. package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.ts.snap +152 -5
  187. package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.tsx.snap +1 -1
  188. package/src/Component/LinkList/LinkList.stories.ts +23 -0
  189. package/src/Component/LinkList/__snapshots__/LinkList.stories.ts.snap +8 -8
  190. package/src/Component/LinkList/__snapshots__/LinkList.stories.tsx.snap +1 -1
  191. package/src/Component/LinkList/link-list.css +1 -2
  192. package/src/Component/ListItem/Components/ListItemContent.tsx +1 -5
  193. package/src/Component/ListItem/Components/ListItemMedia.tsx +1 -4
  194. package/src/Component/ListItem/ListItem.stories.ts +91 -11
  195. package/src/Component/ListItem/ListItem.stories.tsx +6 -7
  196. package/src/Component/ListItem/__snapshots__/ListItem.stories.ts.snap +1 -1
  197. package/src/Component/ListItem/__snapshots__/ListItem.stories.tsx.snap +1 -1
  198. package/src/Component/ListItem/list-item.css +1 -2
  199. package/src/Component/Navigation/Components/DropdownLevel.tsx +5 -13
  200. package/src/Component/Navigation/Elements/Navigation.ts +6 -13
  201. package/src/Component/Navigation/Navigation.stories.ts +48 -0
  202. package/src/Component/Navigation/__snapshots__/Dropdown.stories.tsx.snap +1 -1
  203. package/src/Component/Navigation/__snapshots__/Navigation.stories.ts.snap +1 -1
  204. package/src/Component/Navigation/__snapshots__/Navigation.stories.tsx.snap +1 -1
  205. package/src/Component/Navigation/_navigation-collapsible.css +2 -4
  206. package/src/Component/Navigation/_navigation-dropdown.css +2 -6
  207. package/src/Component/Navigation/_navigation-mega.css +1 -4
  208. package/src/Component/Navigation/_navigation.css +1 -4
  209. package/src/Component/Pagination/Components/PaginationContext.tsx +5 -19
  210. package/src/Component/Pagination/Components/PaginationItem.tsx +1 -5
  211. package/src/Component/Pagination/Pagination.stories.ts +28 -0
  212. package/src/Component/Pagination/Pagination.tsx +3 -11
  213. package/src/Component/Pagination/__snapshots__/Pagination.stories.ts.snap +3 -3
  214. package/src/Component/Pagination/__snapshots__/Pagination.stories.tsx.snap +1 -1
  215. package/src/Component/Pagination/pagination.css +1 -4
  216. package/src/Component/Popover/Elements/Popover.ts +55 -0
  217. package/src/Component/Popover/Popover.stories.ts +259 -0
  218. package/src/Component/Popover/__snapshots__/Popover.stories.ts.snap +508 -0
  219. package/src/Component/{DropMenu → Popover}/polyfills.js +6 -4
  220. package/src/Component/Popover/popover.css +113 -0
  221. package/src/Component/Popover/popover.entry.js +1 -0
  222. package/src/Component/Popover/popover.twig +27 -0
  223. package/src/Component/ResultsBar/Components/ResultsBarInfo.tsx +2 -7
  224. package/src/Component/ResultsBar/Components/ResultsBarSort.tsx +1 -6
  225. package/src/Component/ResultsBar/ResultsBar.stories.ts +34 -4
  226. package/src/Component/ResultsBar/__snapshots__/ResultsBar.stories.ts.snap +3 -3
  227. package/src/Component/ResultsBar/__snapshots__/ResultsBar.stories.tsx.snap +1 -1
  228. package/src/Component/SideNavigation/SideNavigation.stories.ts +40 -0
  229. package/src/Component/SideNavigation/__snapshots__/SideNavigation.stories.ts.snap +1 -1
  230. package/src/Component/SideNavigation/side-navigation.css +3 -6
  231. package/src/Component/SocialLinks/SocialLinks.stories.ts +20 -0
  232. package/src/Component/SocialLinks/__snapshots__/SocialLinks.stories.ts.snap +5 -5
  233. package/src/Component/SocialShare/SocialShare.stories.ts +37 -0
  234. package/src/Component/SocialShare/SocialShare.tsx +2 -4
  235. package/src/Component/SocialShare/__snapshots__/SocialShare.stories.ts.snap +40 -0
  236. package/src/Component/SocialShare/__snapshots__/SocialShare.stories.tsx.snap +1 -1
  237. package/src/Component/SocialShare/social-share.twig +34 -0
  238. package/src/Component/Steps/StepItem.stories.ts +48 -0
  239. package/src/Component/Steps/Steps.stories.ts +82 -13
  240. package/src/Component/Steps/__snapshots__/StepItem.stories.ts.snap +31 -0
  241. package/src/Component/Steps/__snapshots__/Steps.stories.ts.snap +97 -16
  242. package/src/Component/Steps/steps.css +4 -11
  243. package/src/Component/Sticky/Elements/Sticky.ts +3 -8
  244. package/src/Component/Sticky/Sticky.stories.ts +35 -3
  245. package/src/Component/Sticky/__snapshots__/Sticky.stories.ts.snap +1 -1
  246. package/src/Component/Sticky/__snapshots__/Sticky.stories.tsx.snap +1 -1
  247. package/src/Component/Sticky/sticky.twig +1 -1
  248. package/src/Component/Tabs/Components/Tab.tsx +2 -8
  249. package/src/Component/Tabs/Components/TabPanel.tsx +1 -5
  250. package/src/Component/Tabs/Elements/Tabs.ts +21 -31
  251. package/src/Component/Tabs/TabItem.stories.ts +52 -0
  252. package/src/Component/Tabs/Tabs.stories.ts +51 -8
  253. package/src/Component/Tabs/Tabs.tsx +6 -22
  254. package/src/Component/Tabs/__snapshots__/TabItem.stories.ts.snap +12 -0
  255. package/src/Component/Tabs/__snapshots__/Tabs.stories.ts.snap +127 -11
  256. package/src/Component/Tabs/__snapshots__/Tabs.stories.tsx.snap +1 -1
  257. package/src/Component/Tabs/tab-item.twig +1 -2
  258. package/src/Component/Tabs/tabs.css +56 -59
  259. package/src/Component/Tag/Tag.stories.ts +30 -0
  260. package/src/Component/Tag/Tag.tsx +1 -5
  261. package/src/Component/Tag/__snapshots__/Tag.stories.ts.snap +1 -1
  262. package/src/Component/Tag/__snapshots__/Tag.stories.tsx.snap +1 -1
  263. package/src/Component/Tag/tag.css +1 -4
  264. package/src/Component/UtilityList/Elements/UtilityList.ts +110 -0
  265. package/src/Component/UtilityList/UtilityList.stories.ts +72 -0
  266. package/src/Component/UtilityList/__snapshots__/UtilityList.stories.ts.snap +274 -0
  267. package/src/Component/UtilityList/utility-list.css +40 -0
  268. package/src/Component/UtilityList/utility-list.entry.js +1 -0
  269. package/src/Component/UtilityList/utility-list.twig +66 -0
  270. package/src/Form/Checkbox/FormCheckbox.stories.tsx +1 -3
  271. package/src/Form/Checkbox/FormCheckbox.tsx +4 -25
  272. package/src/Form/Checkbox/__snapshots__/Checkbox.stories.ts.snap +3 -3
  273. package/src/Form/Description/Description.stories.ts +1 -2
  274. package/src/Form/Description/FormStatus.stories.ts +1 -4
  275. package/src/Form/Description/__snapshots__/Description.stories.ts.snap +1 -1
  276. package/src/Form/Description/__snapshots__/FormDescription.stories.tsx.snap +1 -1
  277. package/src/Form/Description/__snapshots__/FormStatus.stories.ts.snap +3 -3
  278. package/src/Form/Form/Form.tsx +1 -3
  279. package/src/Form/Form/__snapshots__/Form.stories.tsx.snap +1 -1
  280. package/src/Form/Form/__snapshots__/FormTitle.stories.tsx.snap +1 -1
  281. package/src/Form/FormItem/FormItem.stories.ts +3 -9
  282. package/src/Form/FormItem/__snapshots__/FormItem.stories.ts.snap +18 -18
  283. package/src/Form/FormItem/__snapshots__/FormItem.stories.tsx.snap +1 -1
  284. package/src/Form/Label/FormLabel.tsx +1 -5
  285. package/src/Form/Label/__snapshots__/FormLabel.stories.tsx.snap +1 -1
  286. package/src/Form/Label/__snapshots__/Label.stories.ts.snap +3 -3
  287. package/src/Form/Radio/FormRadio.stories.tsx +1 -3
  288. package/src/Form/Radio/FormRadio.tsx +4 -25
  289. package/src/Form/Radio/__snapshots__/Radio.stories.ts.snap +9 -9
  290. package/src/Form/Search/__snapshots__/Search.stories.ts.snap +1 -1
  291. package/src/Form/Select/FormSelect.tsx +3 -9
  292. package/src/Form/Select/__snapshots__/FormSelect.stories.tsx.snap +1 -1
  293. package/src/Form/Select/__snapshots__/Select.stories.ts.snap +2 -2
  294. package/src/Form/TextInput/FormText.tsx +3 -9
  295. package/src/Form/TextInput/TextInput.stories.ts +1 -4
  296. package/src/Form/TextInput/__snapshots__/FormText.stories.tsx.snap +1 -1
  297. package/src/Form/TextInput/__snapshots__/InputDivider.stories.ts.snap +1 -1
  298. package/src/Form/TextInput/__snapshots__/TextInput.stories.ts.snap +3 -3
  299. package/src/Form/Textarea/FormTextarea.tsx +3 -9
  300. package/src/Form/Textarea/__snapshots__/FormTextarea.stories.tsx.snap +1 -1
  301. package/src/Form/Textarea/__snapshots__/Textarea.stories.ts.snap +2 -2
  302. package/src/Form/form.css +6 -14
  303. package/src/Introduction.mdx +1 -2
  304. package/src/Layout/Footer/Footer.stories.ts +1 -5
  305. package/src/Layout/Footer/Footer.stories.tsx +2 -3
  306. package/src/Layout/Footer/Footer.tsx +3 -12
  307. package/src/Layout/Footer/__snapshots__/Footer.stories.ts.snap +4 -4
  308. package/src/Layout/Footer/__snapshots__/Footer.stories.tsx.snap +1 -1
  309. package/src/Layout/Grid/Grid.stories.ts +40 -8
  310. package/src/Layout/Grid/Grid.tsx +1 -2
  311. package/src/Layout/Grid/GridItem.stories.ts +63 -0
  312. package/src/Layout/Grid/__snapshots__/Grid.stories.ts.snap +29 -4
  313. package/src/Layout/Grid/__snapshots__/Grid.stories.tsx.snap +1 -1
  314. package/src/Layout/Grid/__snapshots__/GridItem.stories.ts.snap +19 -0
  315. package/src/Layout/Grid/grid-item.twig +3 -9
  316. package/src/Layout/Grid/grid.css +1 -4
  317. package/src/Layout/Header/Elements/GlobalToggle.ts +9 -29
  318. package/src/Layout/Header/__snapshots__/Header.stories.ts.snap +5 -5
  319. package/src/Layout/Header/__snapshots__/Header.stories.tsx.snap +3 -3
  320. package/src/Layout/Masthead/Masthead.stories.ts +1 -4
  321. package/src/Layout/Masthead/__snapshots__/Masthead.stories.ts.snap +3 -3
  322. package/src/Layout/Page/Page.stories.tsx +2 -2
  323. package/src/Layout/Page/__snapshots__/Page.stories.tsx.snap +3 -3
  324. package/src/Layout/Page/page.css +2 -10
  325. package/src/Layout/Section/Background.stories.ts +14 -39
  326. package/src/Layout/Section/Breakouts.stories.ts +3 -0
  327. package/src/Layout/Section/Flow.stories.ts +3 -0
  328. package/src/Layout/Section/Section.stories.ts +93 -11
  329. package/src/Layout/Section/Section.tsx +3 -13
  330. package/src/Layout/Section/SectionGrid.tsx +2 -9
  331. package/src/Layout/Section/__snapshots__/Background.stories.ts.snap +4 -4
  332. package/src/Layout/Section/__snapshots__/Breakouts.stories.ts.snap +1 -1
  333. package/src/Layout/Section/__snapshots__/Flow.stories.ts.snap +1 -1
  334. package/src/Layout/Section/__snapshots__/Section.stories.ts.snap +93 -3
  335. package/src/Layout/Section/__snapshots__/Section.stories.tsx.snap +1 -1
  336. package/src/Layout/Section/__snapshots__/SectionGrid.stories.tsx.snap +1 -1
  337. package/src/Layout/Section/section.css +2 -5
  338. package/src/Layout/Section/section.twig +1 -3
  339. package/src/Layout/Sidebar/Sidebar.stories.ts +46 -4
  340. package/src/Layout/Sidebar/Sidebar.tsx +1 -3
  341. package/src/Layout/Sidebar/__snapshots__/Sidebar.stories.ts.snap +4 -4
  342. package/src/Layout/Sidebar/__snapshots__/Sidebar.stories.tsx.snap +1 -1
  343. package/src/Utility/Context/ImageComponent.tsx +4 -8
  344. package/src/Utility/Context/LinkComponent.tsx +1 -5
  345. package/src/Utility/Drupal/drupal.css +2 -4
  346. package/src/Utility/Elements/breakpoint-loader.ts +4 -10
  347. package/src/Utility/Elements/cookie-compliance.ts +2 -8
  348. package/src/Utility/Elements/disclosure-widget.ts +11 -18
  349. package/src/Utility/Elements/io-loader.ts +4 -6
  350. package/src/Utility/Elements/keyboard.ts +4 -14
  351. package/src/Utility/Hooks/useLocalStorage.ts +5 -18
  352. package/src/Utility/Hooks/useMediaQuery.ts +1 -4
  353. package/src/Utility/Hooks/useToggle.ts +1 -3
  354. package/src/Utility/global.d.ts +1 -5
  355. package/src/Utility/utilities.ts +20 -45
  356. package/src/constants.css +7 -28
  357. package/src/enums.ts +3 -1
  358. package/src/react.ts +5 -21
  359. package/src/tokens.js +2 -2
  360. package/dist/build/chunks/disclosure-widget-DVpnRsTI.js +0 -126
  361. package/dist/build/chunks/disclosure-widget-DVpnRsTI.js.map +0 -1
  362. package/dist/build/chunks/drop-menu.entry-B4TtnC50.js +0 -132
  363. package/dist/build/chunks/drop-menu.entry-B4TtnC50.js.map +0 -1
  364. package/dist/build/chunks/keyboard-rvZ4dfGF.js +0 -104
  365. package/dist/build/chunks/keyboard-rvZ4dfGF.js.map +0 -1
  366. package/dist/build/chunks/polyfills-C-B7iqDG.js.map +0 -1
  367. package/dist/build/chunks/utilities-DXELy_An.js.map +0 -1
  368. package/src/Atom/Text/TextSizes.stories.ts +0 -25
  369. package/src/Atom/Text/text-alignment.twig +0 -5
  370. package/src/Component/Accordion/twig/accordion-example.twig +0 -36
  371. package/src/Component/Tile/README.md +0 -3
  372. package/src/Component/Tile/Tile.stories.ts +0 -49
  373. package/src/Component/Tile/Tile.stories.tsx +0 -35
  374. package/src/Component/Tile/__snapshots__/Tile.stories.ts.snap +0 -57
  375. package/src/Component/Tile/__snapshots__/Tile.stories.tsx.snap +0 -23
@@ -3,13 +3,13 @@
3
3
  */
4
4
 
5
5
  @layer design-system.atoms {
6
- .mx-icon {
6
+ :where(.mx-icon) {
7
7
  display: inline-flex;
8
8
  align-items: center;
9
9
  gap: var(--spacing-xxs);
10
10
  }
11
11
 
12
- .mx-icon::before {
12
+ :where(.mx-icon)::before {
13
13
  content: "";
14
14
  display: block;
15
15
  flex-shrink: 0;
@@ -396,4 +396,4 @@
396
396
  }
397
397
  }
398
398
 
399
- /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9pY29uLmNzcyIsIl9taXhpbi1pY29uLmNzcyIsIl9leHRlbmRlZC1zZXQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztFQUVFOztBQUVGO0VBQ0U7SUFDRSxvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLHVCQUF1QjtFQWF6Qjs7SUFYRTtNQUNFLFdBQVc7TUFDWCxjQUFjO01BQ2QsY0FBYztNQUNkLCtDQUErQztNQUMvQyw4Q0FBOEM7TUFDOUMsNkJBQXFCO2NBQXJCLHFCQUFxQjtNQUNyQiwwQkFBa0I7Y0FBbEIsa0JBQWtCO01BQ2xCLDhCQUFzQjtjQUF0QixzQkFBc0I7TUFDdEIsOEJBQThCO0lBQ2hDOztFQUdGO0lBQ0UsK0NBQStDO0lBQy9DLDhDQUE4QztJQUM5QyxnQkFBZ0I7SUFDaEIsZUFBZTtFQU9qQjs7SUFMRTtNQUNFLGlCQUFpQjtNQUNqQixnQkFBZ0I7TUFDaEIscURBQTZDO2NBQTdDLDZDQUE2QztJQUMvQzs7RUNsQ0Y7SUFDRSxpTkFBNEM7WUFBNUMseU1BQTRDO0VBQzlDO0VBRkE7SUFDRSw4TUFBNEM7WUFBNUMsc01BQTRDO0VBQzlDO0VBRkE7SUFDRSw2TUFBNEM7WUFBNUMscU1BQTRDO0VBQzlDO0VBRkE7SUFDRSxnTkFBNEM7WUFBNUMsd01BQTRDO0VBQzlDO0VBRkE7SUFDRSw0TEFBNEM7WUFBNUMsb0xBQTRDO0VBQzlDO0VBRkE7SUFDRSwrTEFBNEM7WUFBNUMsdUxBQTRDO0VBQzlDO0VBRkE7SUFDRSw2TEFBNEM7WUFBNUMscUxBQTRDO0VBQzlDO0VBRkE7SUFDRSxnTUFBNEM7WUFBNUMsd0xBQTRDO0VBQzlDO0VBRkE7SUFDRSw0V0FBNEM7WUFBNUMsb1dBQTRDO0VBQzlDO0VBRkE7SUFDRSxvS0FBNEM7WUFBNUMsNEpBQTRDO0VBQzlDO0VBRkE7SUFDRSx1UUFBNEM7WUFBNUMsK1BBQTRDO0VBQzlDO0VBRkE7SUFDRSxnNEJBQTRDO1lBQTVDLHczQkFBNEM7RUFDOUM7RUFGQTtJQUNFLGdUQUE0QztZ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OUM7RUFGQTtJQUNFLHdMQUE0QztZQUE1QyxnTEFBNEM7RUFDOUM7RUFGQTtJQUNFLDZPQUE0QztZQUE1QyxxT0FBNEM7RUFDOUM7RUFGQTtJQUNFLCtVQUE0QztZQUE1Qyx1VUFBNEM7RUFDOUM7RUFGQTtJQUNFLHdVQUE0QztZQUE1QyxnVUFBNEM7RUFDOUM7RUFGQTtJQUNFLHFWQUE0QztZQUE1Qyw2VUFBNEM7RUFDOUM7RUFGQTtJQUNFLGlWQUE0QztZQUE1Qyx5VUFBNEM7RUFDOUM7RUFGQTtJQUNFLHliQUE0QztZQUE1QyxpYkFBNEM7RUFDOUM7RUFGQTtJQUNFLGthQUE0QztZQUE1QywwWkFBNEM7RUFDOUM7RUFGQTtJQUNFLDZUQUE0QztZQUE1QyxxVEFBNEM7RUFDOUM7RUFGQTtJQUNFLDZlQUE0QztZQUE1QyxxZUFBNEM7RUFDOUM7RUFGQTtJQUNFLDZTQUE0QztZQUE1QyxxU0FBNEM7RUFDOUM7RUFGQTtJQUNFLGdhQUE0QztZQUE1Qyx3WkFBNEM7RUFDOUM7RUFGQTtJQUNFLHNvQkFBNEM7WUFBNUMsOG5CQUE0QztFQUM5QztFQUZBO0lBQ0Usc01BQTRDO1lBQTVDLDhMQUE0QztFQUM5QztFQUZBO0lBQ0Usc1JBQTRDO1lBQTVDLDhRQUE0QztFQUM5QztFQUZBO0lBQ0UsK1ZBQTRDO1lBQTVDLHVWQUE0QztFQUM5QztFQUZBO0lBQ0UseWVBQTRDO1lBQTVDLGllQUE0QztFQUM5QztBQ3lDRiIsImZpbGUiOiJpY29uLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJfbWl4aW4taWNvbi5jc3NcIjtcblxuLyoqXG4gKiBJY29uXG4gKi9cblxuQGxheWVyIGRlc2lnbi1zeXN0ZW0uYXRvbXMge1xuICAubXgtaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNpbmcteHhzKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGlubGluZS1zaXplOiB2YXIoLS1pY29uLXNpemUsIHZhcigtLXNwYWNpbmctcykpO1xuICAgICAgYmxvY2stc2l6ZTogdmFyKC0taWNvbi1zaXplLCB2YXIoLS1zcGFjaW5nLXMpKTtcbiAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm14LWljb24tLW9ubHkge1xuICAgIGlubGluZS1zaXplOiB2YXIoLS1pY29uLXNpemUsIHZhcigtLXNwYWNpbmctcykpO1xuICAgIGJsb2NrLXNpemU6IHZhcigtLWljb24tc2l6ZSwgdmFyKC0tc3BhY2luZy1zKSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgaW5saW5lLXNpemU6IDEwMCU7XG4gICAgICBibG9jay1zaXplOiAxMDAlO1xuICAgICAgbWFzay1zaXplOiB2YXIoLS1pY29uLXNpemUsIHZhcigtLXNwYWNpbmctcykpO1xuICAgIH1cbiAgfVxuXG4gIEBtaXhpbiBpY29uIGFycm93LWRvd247XG4gIEBtaXhpbiBpY29uIGFycm93LWxlZnQ7XG4gIEBtaXhpbiBpY29uIGFycm93LXVwO1xuICBAbWl4aW4gaWNvbiBhcnJvdy1yaWdodDtcbiAgQG1peGluIGljb24gY2hldnJvbi1kb3duO1xuICBAbWl4aW4gaWNvbiBjaGV2cm9uLWxlZnQ7XG4gIEBtaXhpbiBpY29uIGNoZXZyb24tcmlnaHQ7XG4gIEBtaXhpbiBpY29uIGNoZXZyb24tdXA7XG4gIEBtaXhpbiBpY29uIGNsb3NlO1xuICBAbWl4aW4gaWNvbiBjb2xsYXBzZTtcbiAgQG1peGluIGljb24gZG93bmxvYWQ7XG4gIEBtaXhpbiBpY29uIGRydXBhbDtcbiAgQG1peGluIGljb24gZXJyb3I7XG4gIEBtaXhpbiBpY29uIGV4cGFuZDtcbiAgQG1peGluIGljb24gZXh0ZXJuYWwtbGluaztcbiAgQG1peGluIGljb24gZmFjZWJvb2s7XG4gIEBtaXhpbiBpY29uIGdvb2dsZTtcbiAgQG1peGluIGljb24gaW5mbztcbiAgQG1peGluIGljb24gaW5zdGFncmFtO1xuICBAbWl4aW4gaWNvbiBsaW5rZWRpbjtcbiAgQG1peGluIGljb24gbWFzdG9kb247XG4gIEBtaXhpbiBpY29uIGJsdWVza3k7XG4gIEBtaXhpbiBpY29uIG1lbnU7XG4gIEBtaXhpbiBpY29uIHNlYXJjaDtcbiAgQG1peGluIGljb24gc3VjY2VzcztcbiAgQG1peGluIGljb24gdHdpdHRlcjtcbiAgQG1peGluIGljb24gd2FybmluZztcbiAgQG1peGluIGljb24geW91dHViZTtcblxuICAubXgtaWNvbi0tc3RhdHVzOjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHN2Zy1sb2FkKFwiLi9pbWFnZXMvaW5mby5zdmdcIik7XG4gIH1cbn1cblxuLyoqXG4gKiBJY29uIC0gQ29sb3Vyc1xuICovXG5cbkBsYXllciBkZXNpZ24tc3lzdGVtLmF0b21zIHtcbiAgLm14LWljb24tLWNvbG9yLWluZm86OmJlZm9yZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG91ci1pbmZvKTtcbiAgfVxuXG4gIC5teC1pY29uLS1jb2xvci1lcnJvcjo6YmVmb3JlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3VyLWVycm9yKTtcbiAgfVxuXG4gIC5teC1pY29uLS1jb2xvci13YXJuaW5nOjpiZWZvcmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvdXItd2FybmluZyk7XG4gIH1cblxuICAubXgtaWNvbi0tY29sb3Itc3VjY2Vzczo6YmVmb3JlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3VyLXN1Y2Nlc3MpO1xuICB9XG5cbiAgLm14LWljb24tLWNvbG9yLWJyYW5kOjpiZWZvcmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvdXItcHJpbWFyeSk7XG4gIH1cblxuICAubXgtaWNvbi0tY29sb3ItYWNjZW50OjpiZWZvcmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvdXItYWNjZW50KTtcbiAgfVxufVxuXG4vKipcbiAqIEljb24gLSBhbGlnbm1lbnRcbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5hdG9tcyB7XG4gIC5teC1pY29uLS1lbmQ6OmJlZm9yZSB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbn1cblxuLyoqXG4gKiBJY29uIC0gcm90YXRlXG4gKi9cblxuQGxheWVyIGRlc2lnbi1zeXN0ZW0uYXRvbXMge1xuICAubXgtaWNvbi0tcm90YXRlLTkwOjpiZWZvcmUge1xuICAgIHJvdGF0ZTogOTBkZWc7XG4gIH1cblxuICAubXgtaWNvbi0tcm90YXRlLTE4MDo6YmVmb3JlIHtcbiAgICByb3RhdGU6IDE4MGRlZztcbiAgfVxuXG4gIC5teC1pY29uLS1yb3RhdGUtMjcwOjpiZWZvcmUge1xuICAgIHJvdGF0ZTogMjcwZGVnO1xuICB9XG59XG5cbi8qKlxuICogSWNvbiAtIHNpemVcbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5hdG9tcyB7XG4gIC5teC1pY29uLS1zaXplLXNtOjpiZWZvcmUge1xuICAgIC0taWNvbi1zaXplOiB2YXIoLS1zcGFjaW5nLXMpO1xuICB9XG5cbiAgLm14LWljb24tLXNpemUtbWQ6OmJlZm9yZSB7XG4gICAgLS1pY29uLXNpemU6IHZhcigtLXNwYWNpbmctbSk7XG4gIH1cblxuICAubXgtaWNvbi0tc2l6ZS1sZzo6YmVmb3JlIHtcbiAgICAtLWljb24tc2l6ZTogdmFyKC0tc3BhY2luZy1sKTtcbiAgfVxuXG4gIC5teC1pY29uLS1zaXplLXhsOjpiZWZvcmUge1xuICAgIC0taWNvbi1zaXplOiB2YXIoLS1zcGFjaW5nLXhsKTtcbiAgfVxufVxuIiwiQGRlZmluZS1taXhpbiBpY29uICRuYW1lIHtcbiAgLm14LWljb24tLSQobmFtZSk6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogc3ZnLWxvYWQoXCIuL2ltYWdlcy8kKG5hbWUpLnN2Z1wiKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIl9taXhpbi1pY29uLmNzc1wiO1xuXG4vKipcbiAqIEljb24gLSBFeHRlbmRlZFxuICovXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5hdG9tcyB7XG4gIEBtaXhpbiBpY29uIGF0dGFjaG1lbnQ7XG4gIEBtaXhpbiBpY29uIGJsb2NrcXVvdGU7XG4gIEBtaXhpbiBpY29uIGJ1aWxkaW5nO1xuICBAbWl4aW4gaWNvbiBjYWxlbmRhcjtcbiAgQG1peGluIGljb24gY2xvY2s7XG4gIEBtaXhpbiBpY29uIGVtYWlsO1xuICBAbWl4aW4gaWNvbiBmaWxlO1xuICBAbWl4aW4gaWNvbiBnbG9iZTtcbiAgQG1peGluIGljb24gaGVhcnQtc2VsZWN0ZWQ7XG4gIEBtaXhpbiBpY29uIGhlYXJ0LXVuc2VsZWN0ZWQ7XG4gIEBtaXhpbiBpY29uIGltYWdlO1xuICBAbWl4aW4gaWNvbiBob21lO1xuICBAbWl4aW4gaWNvbiBsaW5rO1xuICBAbWl4aW4gaWNvbiBsb2NrO1xuICBAbWl4aW4gaWNvbiBsb2dpbjtcbiAgQG1peGluIGljb24gbWVkaWEtcGxheTtcbiAgQG1peGluIGljb24gbWVkaWEtcGF1c2U7XG4gIEBtaXhpbiBpY29uIG1lZGlhLXN0b3A7XG4gIEBtaXhpbiBpY29uIG1lZGlhLW5leHQ7XG4gIEBtaXhpbiBpY29uIG1lZGlhLXByZXZpb3VzO1xuICBAbWl4aW4gaWNvbiBtZWRpYS1yZXdpbmQ7XG4gIEBtaXhpbiBpY29uIG1lZGlhLXNraXA7XG4gIEBtaXhpbiBpY29uIG1vcmU7XG4gIEBtaXhpbiBpY29uIG5vdGlmaWNhdGlvbjtcbiAgQG1peGluIGljb24gcGVuY2lsO1xuICBAbWl4aW4gaWNvbiBwaG9uZTtcbiAgQG1peGluIGljb24gcGluO1xuICBAbWl4aW4gaWNvbiBwcmludDtcbiAgQG1peGluIGljb24gcXVlc3Rpb247XG4gIEBtaXhpbiBpY29uIHJlc3RhcnQ7XG4gIEBtaXhpbiBpY29uIHNldHRpbmdzO1xuICBAbWl4aW4gaWNvbiBzaGFyZTtcbiAgQG1peGluIGljb24gc3Rhci1zZWxlY3RlZDtcbiAgQG1peGluIGljb24gc3Rhci11bnNlbGVjdGVkO1xuICBAbWl4aW4gaWNvbiB0aWNrO1xuICBAbWl4aW4gaWNvbiB0cmFzaDtcbiAgQG1peGluIGljb24gdXNlcjtcbiAgQG1peGluIGljb24gdmlkZW87XG59XG4iXX0= */
399
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9pY29uLmNzcyIsIl9taXhpbi1pY29uLmNzcyIsIl9leHRlbmRlZC1zZXQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztFQUVFOztBQUVGO0VBQ0U7SUFDRSxvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLHVCQUF1QjtFQWF6Qjs7SUFYRTtNQUNFLFdBQVc7TUFDWCxjQUFjO01BQ2QsY0FBYztNQUNkLCtDQUErQztNQUMvQyw4Q0FBOEM7TUFDOUMsNkJBQXFCO2NBQXJCLHFCQUFxQjtNQUNyQiwwQkFBa0I7Y0FBbEIsa0JBQWtCO01BQ2xCLDhCQUFzQjtjQUF0QixzQkFBc0I7TUFDdEIsOEJBQThCO0lBQ2hDOztFQUdGO0lBQ0UsK0NBQStDO0lBQy9DLDhDQUE4QztJQUM5QyxnQkFBZ0I7SUFDaEIsZUFBZTtFQU9qQjs7SUFMRTtNQUNFLGlCQUFpQjtNQUNqQixnQkFBZ0I7TUFDaEIscURBQTZDO2NBQTdDLDZDQUE2QztJQUMvQzs7RUNsQ0Y7SUFDRSxpTkFBNEM7WUFBNUMseU1BQTRDO0VBQzlDO0VBRkE7SUFDRSw4TUFBNEM7WUFBNUMsc01BQTRDO0VBQzlDO0VBRkE7SUFDRSw2TUFBNEM7WUFBNUMscU1BQTRDO0VBQzlDO0VBRkE7SUFDRSxnTkFBNEM7WUFBNUMsd01BQTRDO0VBQzlDO0VBRkE7SUFDRSw0TEFBNEM7WUFBNUMsb0xBQTRDO0VBQzlDO0VBRkE7SUFDRSwrTEFBNEM7WUFBNUMsdUxBQTRDO0VBQzlDO0VBRkE7SUFDRSw2TEFBNEM7WUFBNUMscUxBQTRDO0VBQzlDO0VBRkE7SUFDRSxnTUFBNEM7WUFBNUMsd0xBQTRDO0VBQzlDO0VBRkE7SUFDRSw0V0FBNEM7WUFBNUMsb1dBQTRDO0VBQzlDO0VBRkE7SUFDRSxvS0FBNEM7WUFBNUMsNEpBQTRDO0VBQzlDO0VBRkE7SUFDRSx1UUFBNEM7WUFBNUMsK1BBQTRDO0VBQzlDO0VBRkE7SUFDRSxnNEJBQTRDO1lBQTVDLHczQkFBNEM7RUFDOUM7RUFGQTtJQUNFLGdUQUE0QztZ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OUM7RUFGQTtJQUNFLHdMQUE0QztZQUE1QyxnTEFBNEM7RUFDOUM7RUFGQTtJQUNFLDZPQUE0QztZQUE1QyxxT0FBNEM7RUFDOUM7RUFGQTtJQUNFLCtVQUE0QztZQUE1Qyx1VUFBNEM7RUFDOUM7RUFGQTtJQUNFLHdVQUE0QztZQUE1QyxnVUFBNEM7RUFDOUM7RUFGQTtJQUNFLHFWQUE0QztZQUE1Qyw2VUFBNEM7RUFDOUM7RUFGQTtJQUNFLGlWQUE0QztZQUE1Qyx5VUFBNEM7RUFDOUM7RUFGQTtJQUNFLHliQUE0QztZQUE1QyxpYkFBNEM7RUFDOUM7RUFGQTtJQUNFLGthQUE0QztZQUE1QywwWkFBNEM7RUFDOUM7RUFGQTtJQUNFLDZUQUE0QztZQUE1QyxxVEFBNEM7RUFDOUM7RUFGQTtJQUNFLDZlQUE0QztZQUE1QyxxZUFBNEM7RUFDOUM7RUFGQTtJQUNFLDZTQUE0QztZQUE1QyxxU0FBNEM7RUFDOUM7RUFGQTtJQUNFLGdhQUE0QztZQUE1Qyx3WkFBNEM7RUFDOUM7RUFGQTtJQUNFLHNvQkFBNEM7WUFBNUMsOG5CQUE0QztFQUM5QztFQUZBO0lBQ0Usc01BQTRDO1lBQTVDLDhMQUE0QztFQUM5QztFQUZBO0lBQ0Usc1JBQTRDO1lBQTVDLDhRQUE0QztFQUM5QztFQUZBO0lBQ0UsK1ZBQTRDO1lBQTVDLHVWQUE0QztFQUM5QztFQUZBO0lBQ0UseWVBQTRDO1lBQTVDLGllQUE0QztFQUM5QztBQ3lDRiIsImZpbGUiOiJpY29uLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJfbWl4aW4taWNvbi5jc3NcIjtcblxuLyoqXG4gKiBJY29uXG4gKi9cblxuQGxheWVyIGRlc2lnbi1zeXN0ZW0uYXRvbXMge1xuICA6d2hlcmUoLm14LWljb24pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2luZy14eHMpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgaW5saW5lLXNpemU6IHZhcigtLWljb24tc2l6ZSwgdmFyKC0tc3BhY2luZy1zKSk7XG4gICAgICBibG9jay1zaXplOiB2YXIoLS1pY29uLXNpemUsIHZhcigtLXNwYWNpbmctcykpO1xuICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICB9XG4gIH1cblxuICAubXgtaWNvbi0tb25seSB7XG4gICAgaW5saW5lLXNpemU6IHZhcigtLWljb24tc2l6ZSwgdmFyKC0tc3BhY2luZy1zKSk7XG4gICAgYmxvY2stc2l6ZTogdmFyKC0taWNvbi1zaXplLCB2YXIoLS1zcGFjaW5nLXMpKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgICAgIGJsb2NrLXNpemU6IDEwMCU7XG4gICAgICBtYXNrLXNpemU6IHZhcigtLWljb24tc2l6ZSwgdmFyKC0tc3BhY2luZy1zKSk7XG4gICAgfVxuICB9XG5cbiAgQG1peGluIGljb24gYXJyb3ctZG93bjtcbiAgQG1peGluIGljb24gYXJyb3ctbGVmdDtcbiAgQG1peGluIGljb24gYXJyb3ctdXA7XG4gIEBtaXhpbiBpY29uIGFycm93LXJpZ2h0O1xuICBAbWl4aW4gaWNvbiBjaGV2cm9uLWRvd247XG4gIEBtaXhpbiBpY29uIGNoZXZyb24tbGVmdDtcbiAgQG1peGluIGljb24gY2hldnJvbi1yaWdodDtcbiAgQG1peGluIGljb24gY2hldnJvbi11cDtcbiAgQG1peGluIGljb24gY2xvc2U7XG4gIEBtaXhpbiBpY29uIGNvbGxhcHNlO1xuICBAbWl4aW4gaWNvbiBkb3dubG9hZDtcbiAgQG1peGluIGljb24gZHJ1cGFsO1xuICBAbWl4aW4gaWNvbiBlcnJvcjtcbiAgQG1peGluIGljb24gZXhwYW5kO1xuICBAbWl4aW4gaWNvbiBleHRlcm5hbC1saW5rO1xuICBAbWl4aW4gaWNvbiBmYWNlYm9vaztcbiAgQG1peGluIGljb24gZ29vZ2xlO1xuICBAbWl4aW4gaWNvbiBpbmZvO1xuICBAbWl4aW4gaWNvbiBpbnN0YWdyYW07XG4gIEBtaXhpbiBpY29uIGxpbmtlZGluO1xuICBAbWl4aW4gaWNvbiBtYXN0b2RvbjtcbiAgQG1peGluIGljb24gYmx1ZXNreTtcbiAgQG1peGluIGljb24gbWVudTtcbiAgQG1peGluIGljb24gc2VhcmNoO1xuICBAbWl4aW4gaWNvbiBzdWNjZXNzO1xuICBAbWl4aW4gaWNvbiB0d2l0dGVyO1xuICBAbWl4aW4gaWNvbiB3YXJuaW5nO1xuICBAbWl4aW4gaWNvbiB5b3V0dWJlO1xuXG4gIC5teC1pY29uLS1zdGF0dXM6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogc3ZnLWxvYWQoXCIuL2ltYWdlcy9pbmZvLnN2Z1wiKTtcbiAgfVxufVxuXG4vKipcbiAqIEljb24gLSBDb2xvdXJzXG4gKi9cblxuQGxheWVyIGRlc2lnbi1zeXN0ZW0uYXRvbXMge1xuICAubXgtaWNvbi0tY29sb3ItaW5mbzo6YmVmb3JlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3VyLWluZm8pO1xuICB9XG5cbiAgLm14LWljb24tLWNvbG9yLWVycm9yOjpiZWZvcmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvdXItZXJyb3IpO1xuICB9XG5cbiAgLm14LWljb24tLWNvbG9yLXdhcm5pbmc6OmJlZm9yZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG91ci13YXJuaW5nKTtcbiAgfVxuXG4gIC5teC1pY29uLS1jb2xvci1zdWNjZXNzOjpiZWZvcmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvdXItc3VjY2Vzcyk7XG4gIH1cblxuICAubXgtaWNvbi0tY29sb3ItYnJhbmQ6OmJlZm9yZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG91ci1wcmltYXJ5KTtcbiAgfVxuXG4gIC5teC1pY29uLS1jb2xvci1hY2NlbnQ6OmJlZm9yZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG91ci1hY2NlbnQpO1xuICB9XG59XG5cbi8qKlxuICogSWNvbiAtIGFsaWdubWVudFxuICovXG5cbkBsYXllciBkZXNpZ24tc3lzdGVtLmF0b21zIHtcbiAgLm14LWljb24tLWVuZDo6YmVmb3JlIHtcbiAgICBvcmRlcjogMjtcbiAgfVxufVxuXG4vKipcbiAqIEljb24gLSByb3RhdGVcbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5hdG9tcyB7XG4gIC5teC1pY29uLS1yb3RhdGUtOTA6OmJlZm9yZSB7XG4gICAgcm90YXRlOiA5MGRlZztcbiAgfVxuXG4gIC5teC1pY29uLS1yb3RhdGUtMTgwOjpiZWZvcmUge1xuICAgIHJvdGF0ZTogMTgwZGVnO1xuICB9XG5cbiAgLm14LWljb24tLXJvdGF0ZS0yNzA6OmJlZm9yZSB7XG4gICAgcm90YXRlOiAyNzBkZWc7XG4gIH1cbn1cblxuLyoqXG4gKiBJY29uIC0gc2l6ZVxuICovXG5cbkBsYXllciBkZXNpZ24tc3lzdGVtLmF0b21zIHtcbiAgLm14LWljb24tLXNpemUtc206OmJlZm9yZSB7XG4gICAgLS1pY29uLXNpemU6IHZhcigtLXNwYWNpbmctcyk7XG4gIH1cblxuICAubXgtaWNvbi0tc2l6ZS1tZDo6YmVmb3JlIHtcbiAgICAtLWljb24tc2l6ZTogdmFyKC0tc3BhY2luZy1tKTtcbiAgfVxuXG4gIC5teC1pY29uLS1zaXplLWxnOjpiZWZvcmUge1xuICAgIC0taWNvbi1zaXplOiB2YXIoLS1zcGFjaW5nLWwpO1xuICB9XG5cbiAgLm14LWljb24tLXNpemUteGw6OmJlZm9yZSB7XG4gICAgLS1pY29uLXNpemU6IHZhcigtLXNwYWNpbmcteGwpO1xuICB9XG59XG4iLCJAZGVmaW5lLW1peGluIGljb24gJG5hbWUge1xuICAubXgtaWNvbi0tJChuYW1lKTo6YmVmb3JlIHtcbiAgICBtYXNrLWltYWdlOiBzdmctbG9hZChcIi4vaW1hZ2VzLyQobmFtZSkuc3ZnXCIpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiX21peGluLWljb24uY3NzXCI7XG5cbi8qKlxuICogSWNvbiAtIEV4dGVuZGVkXG4gKi9cbkBsYXllciBkZXNpZ24tc3lzdGVtLmF0b21zIHtcbiAgQG1peGluIGljb24gYXR0YWNobWVudDtcbiAgQG1peGluIGljb24gYmxvY2txdW90ZTtcbiAgQG1peGluIGljb24gYnVpbGRpbmc7XG4gIEBtaXhpbiBpY29uIGNhbGVuZGFyO1xuICBAbWl4aW4gaWNvbiBjbG9jaztcbiAgQG1peGluIGljb24gZW1haWw7XG4gIEBtaXhpbiBpY29uIGZpbGU7XG4gIEBtaXhpbiBpY29uIGdsb2JlO1xuICBAbWl4aW4gaWNvbiBoZWFydC1zZWxlY3RlZDtcbiAgQG1peGluIGljb24gaGVhcnQtdW5zZWxlY3RlZDtcbiAgQG1peGluIGljb24gaW1hZ2U7XG4gIEBtaXhpbiBpY29uIGhvbWU7XG4gIEBtaXhpbiBpY29uIGxpbms7XG4gIEBtaXhpbiBpY29uIGxvY2s7XG4gIEBtaXhpbiBpY29uIGxvZ2luO1xuICBAbWl4aW4gaWNvbiBtZWRpYS1wbGF5O1xuICBAbWl4aW4gaWNvbiBtZWRpYS1wYXVzZTtcbiAgQG1peGluIGljb24gbWVkaWEtc3RvcDtcbiAgQG1peGluIGljb24gbWVkaWEtbmV4dDtcbiAgQG1peGluIGljb24gbWVkaWEtcHJldmlvdXM7XG4gIEBtaXhpbiBpY29uIG1lZGlhLXJld2luZDtcbiAgQG1peGluIGljb24gbWVkaWEtc2tpcDtcbiAgQG1peGluIGljb24gbW9yZTtcbiAgQG1peGluIGljb24gbm90aWZpY2F0aW9uO1xuICBAbWl4aW4gaWNvbiBwZW5jaWw7XG4gIEBtaXhpbiBpY29uIHBob25lO1xuICBAbWl4aW4gaWNvbiBwaW47XG4gIEBtaXhpbiBpY29uIHByaW50O1xuICBAbWl4aW4gaWNvbiBxdWVzdGlvbjtcbiAgQG1peGluIGljb24gcmVzdGFydDtcbiAgQG1peGluIGljb24gc2V0dGluZ3M7XG4gIEBtaXhpbiBpY29uIHNoYXJlO1xuICBAbWl4aW4gaWNvbiBzdGFyLXNlbGVjdGVkO1xuICBAbWl4aW4gaWNvbiBzdGFyLXVuc2VsZWN0ZWQ7XG4gIEBtaXhpbiBpY29uIHRpY2s7XG4gIEBtaXhpbiBpY29uIHRyYXNoO1xuICBAbWl4aW4gaWNvbiB1c2VyO1xuICBAbWl4aW4gaWNvbiB2aWRlbztcbn1cbiJdfQ== */
@@ -1,13 +1,12 @@
1
- import { m as makeAnchor, c as createElement } from "./chunks/utilities-DXELy_An.js";
1
+ import { m as makeAnchor, c as createElement } from "./chunks/utilities-Ci7wwNeg.js";
2
2
  class InPageNavigation extends HTMLElement {
3
+ internals_;
4
+ controller;
5
+ headingLevels;
6
+ items;
7
+ active;
3
8
  constructor() {
4
9
  super();
5
- this.handleClick = (target) => {
6
- this.active = this.items.find((item) => item.link === target);
7
- if (!this.links || !this.active) return;
8
- this.links.forEach((link) => link.classList.remove("is-active"));
9
- this.active.link.classList.add("is-active");
10
- };
11
10
  this.internals_ = this.attachInternals();
12
11
  this.controller = new AbortController();
13
12
  this.headingLevels = this.dataset?.headings || "h2";
@@ -25,9 +24,7 @@ class InPageNavigation extends HTMLElement {
25
24
  });
26
25
  } else {
27
26
  this.links.forEach((link) => {
28
- const heading = this.container.querySelector(
29
- link.hash
30
- );
27
+ const heading = this.container.querySelector(link.hash);
31
28
  if (!heading) return;
32
29
  this.items.push({ link, heading });
33
30
  });
@@ -51,6 +48,12 @@ class InPageNavigation extends HTMLElement {
51
48
  this.items = [];
52
49
  this.controller.abort();
53
50
  }
51
+ handleClick = (target) => {
52
+ this.active = this.items.find((item) => item.link === target);
53
+ if (!this.links || !this.active) return;
54
+ this.links.forEach((link) => link.classList.remove("is-active"));
55
+ this.active.link.classList.add("is-active");
56
+ };
54
57
  get menu() {
55
58
  const menu = this.querySelector("ul, ol");
56
59
  if (!menu) {
@@ -68,7 +71,7 @@ class InPageNavigation extends HTMLElement {
68
71
  return this.closest(selector) || this.parentElement.querySelector(selector);
69
72
  }
70
73
  get headings() {
71
- return this.container?.querySelectorAll(this.headingLevels);
74
+ return this.container?.querySelectorAll(`:is(${this.headingLevels}):not(.is-excluded)`);
72
75
  }
73
76
  get links() {
74
77
  return this.menu?.querySelectorAll("a");
@@ -95,5 +98,6 @@ class InPageNavigation extends HTMLElement {
95
98
  return item;
96
99
  }
97
100
  }
98
- customElements.define("mx-in-page-navigation", InPageNavigation);
101
+ if (!customElements.get("mx-in-page-navigation"))
102
+ customElements.define("mx-in-page-navigation", InPageNavigation);
99
103
  //# sourceMappingURL=in-page-navigation.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"in-page-navigation.entry.js","sources":["../../src/Component/InPageNavigation/Elements/InPageNavigation.ts"],"sourcesContent":["/**\n * DialogBase\n * @file Support opening/closing, and adding a scroll lock to the body.\n */\n\nimport { makeAnchor, createElement } from \"../../../Utility/utilities\"\n\nexport default class InPageNavigation extends HTMLElement {\n internals_: ElementInternals\n controller: AbortController\n headingLevels: string\n items: { link: HTMLAnchorElement; heading: HTMLHeadingElement }[]\n active: { link: HTMLAnchorElement; heading: HTMLHeadingElement } | undefined\n\n constructor() {\n super()\n this.internals_ = this.attachInternals()\n this.controller = new AbortController()\n this.headingLevels = this.dataset?.headings || \"h2\"\n this.items = []\n }\n\n connectedCallback(): void {\n if (!this.menu || !this.headings) return\n if (!this.links.length) {\n // Build links if not provided.\n this.headings.forEach((heading: HTMLHeadingElement) => {\n const listItem: HTMLLIElement = this.generateListItem(heading)\n const link: HTMLAnchorElement = this.generateAnchor(heading)\n this.items.push({ link, heading })\n listItem.appendChild(link)\n this.menu?.appendChild(listItem)\n })\n } else {\n this.links.forEach((link: HTMLAnchorElement) => {\n const heading: HTMLHeadingElement = this.container.querySelector(\n link.hash,\n )\n if (!heading) return\n this.items.push({ link, heading })\n })\n }\n\n const { signal }: AbortController = this.controller\n\n // Open on toggle click.\n this.menu.addEventListener(\n \"click\",\n (e: MouseEvent): void => {\n const { target } = e\n if (!(target instanceof HTMLAnchorElement)) return\n this.handleClick(target)\n },\n {\n signal,\n },\n )\n }\n\n disconnectedCallback(): void {\n if (!this.menu || !this.headings) return\n this.menu.textContent = \"\"\n this.items = []\n this.controller.abort()\n }\n\n handleClick = (target: EventTarget | null): void => {\n this.active = this.items.find(item => item.link === target)\n if (!this.links || !this.active) return\n this.links.forEach(link => link.classList.remove(\"is-active\"))\n this.active.link.classList.add(\"is-active\")\n }\n\n get menu(): HTMLUListElement | HTMLOListElement | null {\n const menu: HTMLUListElement | HTMLOListElement | null =\n this.querySelector(\"ul, ol\")\n if (!menu) {\n throw new Error(`${this.localName} must contain a <ul> or <ol> element.`)\n }\n return menu\n }\n\n get container(): HTMLElement | null {\n const selector: string | null = this.getAttribute(\"data-content\")\n if (!selector) {\n throw new Error(\n `${this.localName} must have a [data-content] attribute that contains the content selector.`,\n )\n }\n return this.closest(selector) || this.parentElement.querySelector(selector)\n }\n\n get headings(): NodeListOf<HTMLHeadingElement> | undefined {\n return this.container?.querySelectorAll(this.headingLevels)\n }\n\n get links(): NodeListOf<HTMLAnchorElement> | undefined {\n return this.menu?.querySelectorAll(\"a\")\n }\n\n generatedId(heading: HTMLHeadingElement): string {\n const string: string | undefined = heading?.textContent?.trim()\n return !string ? \"\" : makeAnchor(string)\n }\n\n generateAnchor(heading: HTMLHeadingElement): HTMLAnchorElement {\n const { textContent, id } = heading\n const linkText: string | null =\n heading.getAttribute(\"data-in-page-navigation-title\") || textContent\n const targetID: string = id || this.generatedId(heading)\n if (!id) heading.id = targetID\n const item: Element = createElement(\n `<a href=\"#${targetID}\"><span class=\"mx-icon mx-icon--chevron-right\"></span><span>${linkText}</span></a>`,\n )\n\n return item as HTMLAnchorElement\n }\n\n generateListItem(heading: HTMLHeadingElement): HTMLLIElement {\n const { tagName } = heading\n const item: Element = createElement(\n `<li class=\"mx-in-page-navigation__level--${tagName.toLowerCase()}\"></li>`,\n )\n\n return item as HTMLLIElement\n }\n}\n\ncustomElements.define(\"mx-in-page-navigation\", InPageNavigation)\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"mx-in-page-navigation\": InPageNavigation\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"in-page-navigation.entry.js","sources":["../../src/Component/InPageNavigation/Elements/InPageNavigation.ts"],"sourcesContent":["/**\n * InPageNavigation\n * @file Ensure headings have IDs and build the menu if not set.\n */\n\nimport { makeAnchor, createElement } from \"../../../Utility/utilities\"\n\nexport default class InPageNavigation extends HTMLElement {\n internals_: ElementInternals\n controller: AbortController\n headingLevels: string\n items: { link: HTMLAnchorElement; heading: HTMLHeadingElement }[]\n active: { link: HTMLAnchorElement; heading: HTMLHeadingElement } | undefined\n\n constructor() {\n super()\n this.internals_ = this.attachInternals()\n this.controller = new AbortController()\n this.headingLevels = this.dataset?.headings || \"h2\"\n this.items = []\n }\n\n connectedCallback(): void {\n if (!this.menu || !this.headings) return\n if (!this.links.length) {\n // Build links if not provided.\n this.headings.forEach((heading: HTMLHeadingElement) => {\n const listItem: HTMLLIElement = this.generateListItem(heading)\n const link: HTMLAnchorElement = this.generateAnchor(heading)\n this.items.push({ link, heading })\n listItem.appendChild(link)\n this.menu?.appendChild(listItem)\n })\n } else {\n this.links.forEach((link: HTMLAnchorElement) => {\n const heading: HTMLHeadingElement = this.container.querySelector(link.hash)\n if (!heading) return\n this.items.push({ link, heading })\n })\n }\n\n const { signal }: AbortController = this.controller\n\n // Open on toggle click.\n this.menu.addEventListener(\n \"click\",\n (e: MouseEvent): void => {\n const { target } = e\n if (!(target instanceof HTMLAnchorElement)) return\n this.handleClick(target)\n },\n {\n signal,\n },\n )\n }\n\n disconnectedCallback(): void {\n if (!this.menu || !this.headings) return\n this.menu.textContent = \"\"\n this.items = []\n this.controller.abort()\n }\n\n handleClick = (target: EventTarget | null): void => {\n this.active = this.items.find(item => item.link === target)\n if (!this.links || !this.active) return\n this.links.forEach(link => link.classList.remove(\"is-active\"))\n this.active.link.classList.add(\"is-active\")\n }\n\n get menu(): HTMLUListElement | HTMLOListElement | null {\n const menu: HTMLUListElement | HTMLOListElement | null = this.querySelector(\"ul, ol\")\n if (!menu) {\n throw new Error(`${this.localName} must contain a <ul> or <ol> element.`)\n }\n return menu\n }\n\n get container(): HTMLElement | null {\n const selector: string | null = this.getAttribute(\"data-content\")\n if (!selector) {\n throw new Error(\n `${this.localName} must have a [data-content] attribute that contains the content selector.`,\n )\n }\n return this.closest(selector) || this.parentElement.querySelector(selector)\n }\n\n get headings(): NodeListOf<HTMLHeadingElement> | undefined {\n return this.container?.querySelectorAll(`:is(${this.headingLevels}):not(.is-excluded)`)\n }\n\n get links(): NodeListOf<HTMLAnchorElement> | undefined {\n return this.menu?.querySelectorAll(\"a\")\n }\n\n generatedId(heading: HTMLHeadingElement): string {\n const string: string | undefined = heading?.textContent?.trim()\n return !string ? \"\" : makeAnchor(string)\n }\n\n generateAnchor(heading: HTMLHeadingElement): HTMLAnchorElement {\n const { textContent, id } = heading\n const linkText: string | null =\n heading.getAttribute(\"data-in-page-navigation-title\") || textContent\n const targetID: string = id || this.generatedId(heading)\n if (!id) heading.id = targetID\n const item: Element = createElement(\n `<a href=\"#${targetID}\"><span class=\"mx-icon mx-icon--chevron-right\"></span><span>${linkText}</span></a>`,\n )\n\n return item as HTMLAnchorElement\n }\n\n generateListItem(heading: HTMLHeadingElement): HTMLLIElement {\n const { tagName } = heading\n const item: Element = createElement(\n `<li class=\"mx-in-page-navigation__level--${tagName.toLowerCase()}\"></li>`,\n )\n\n return item as HTMLLIElement\n }\n}\n\nif (!customElements.get(\"mx-in-page-navigation\"))\n customElements.define(\"mx-in-page-navigation\", InPageNavigation)\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"mx-in-page-navigation\": InPageNavigation\n }\n}\n"],"names":[],"mappings":"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"}
@@ -38,10 +38,7 @@
38
38
  -moz-appearance: none;
39
39
  appearance: none;
40
40
  position: absolute;
41
- color: var(
42
- --toggle-foreground,
43
- var(--foreground, var(--colour-foreground))
44
- );
41
+ color: var(--toggle-foreground, var(--foreground, var(--colour-foreground)));
45
42
  inline-size: var(--spacing-l);
46
43
  block-size: var(--spacing-l);
47
44
  inset-block-start: 12px;
@@ -85,13 +82,10 @@
85
82
  :is(.mx-nav--collapsible ul li) a {
86
83
  display: block;
87
84
  color: inherit;
88
- border-block-end: 1px solid
89
- var(--line-colour, var(--colour-border));
90
- border-block-end: var(--line-width, 1px) solid
91
- var(--line-colour, var(--colour-border));
85
+ border-block-end: 1px solid var(--line-colour, var(--colour-border));
86
+ border-block-end: var(--line-width, 1px) solid var(--line-colour, var(--colour-border));
92
87
  padding-block: var(--item-spacing, var(--spacing-xxs));
93
- padding-inline: var(--indent, var(--spacing-xxs))
94
- var(--item-spacing, var(--spacing-xxs));
88
+ padding-inline: var(--indent, var(--spacing-xxs)) var(--item-spacing, var(--spacing-xxs));
95
89
  }
96
90
 
97
91
  .mx-nav--collapsible .mx-nav__level-2 > li > a {
@@ -235,10 +229,7 @@
235
229
 
236
230
  :is(.mx-nav--dropdown .mx-nav__level-1) > li > a:where(:not(.mx-button)) {
237
231
  padding-block: var(--item-spacing, var(--spacing-xxs));
238
- padding-inline-end: var(
239
- --toggle-gap,
240
- var(--item-spacing, var(--spacing-xxs))
241
- );
232
+ padding-inline-end: var(--toggle-gap, var(--item-spacing, var(--spacing-xxs)));
242
233
  }
243
234
 
244
235
  @media (min-width: 720px) {
@@ -298,10 +289,8 @@
298
289
  }
299
290
 
300
291
  .mx-nav--dropdown .mx-nav__separator {
301
- border-block-start: 1px solid
302
- var(--line-colour, var(--colour-border));
303
- border-block-start: var(--line-width, 1px) solid
304
- var(--line-colour, var(--colour-border));
292
+ border-block-start: 1px solid var(--line-colour, var(--colour-border));
293
+ border-block-start: var(--line-width, 1px) solid var(--line-colour, var(--colour-border));
305
294
  }
306
295
  }
307
296
 
@@ -338,10 +327,7 @@
338
327
  padding-inline-start: 0;
339
328
  border-block-start: 0;
340
329
  border-radius: 0 var(--border-radius) var(--border-radius) 0;
341
- background-color: var(
342
- --expanded-background,
343
- var(--colour-background-alt)
344
- );
330
+ background-color: var(--expanded-background, var(--colour-background-alt));
345
331
  color: inherit;
346
332
  color: var(--expanded-foreground, inherit);
347
333
  }
@@ -367,4 +353,4 @@
367
353
  }
368
354
  }
369
355
 
370
- /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9uYXZpZ2F0aW9uLmNzcyIsIl9uYXZpZ2F0aW9uLWNvbGxhcHNpYmxlLmNzcyIsIl9uYXZpZ2F0aW9uLWRyb3Bkb3duLmNzcyIsIl9uYXZpZ2F0aW9uLW1lZ2EuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFOztBQUVGO0lBRUk7TUFFRSxhQUFhO01BQ2Isc0JBQXNCO01BQ3RCLHFCQUFxQjtNQUNyQix1QkFBdUI7TUFDdkIsaURBQWlEO0lBQ25EOztJQUVBO01BQ0UsMkJBQTJCOztNQUUzQiwwQkFBZ0Q7O01BQWhELGdEQUFnRDtJQUtsRDs7TUFIRTtRQUNFLCtCQUE0RDtRQUE1RCw0REFBNEQ7TUFDOUQ7SUFLRjtNQUVFLG1CQUFtQjtNQUNuQixtQkFBbUI7TUFDbkIscUNBQXFDO0lBQ3ZDOztFQUdGO0lBQ0UsaUZBQWlCO0lBQWpCLG1CQUFpQjtJQUNqQixVQUFVO0lBQ1YsU0FBUztJQUNULHdCQUFnQjtPQUFoQixxQkFBZ0I7WUFBaEIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQjs7O0tBR0M7SUFDRCw2QkFBNkI7SUFDN0IsNEJBQTRCO0lBQzVCLHVCQUEwQztJQUExQywwQ0FBMEM7SUFDMUMsbUJBQW1CO0lBQ25CLGVBQWU7RUFDakI7SUFHRTtNQUNFLHlCQUF5QjtJQUMzQjtBQUVKOztBQ3pEQTs7RUFFRTs7QUFFRjtFQUNFO0lBQ0UsNEJBQXNCO0VBdUV4Qjs7SUFyRUU7TUFDRSxxQ0FBcUM7SUFLdkM7O01BSEU7O0lBSEY7UUFJSSxjQUFjO0lBRWxCO01BREU7O0lBR0Y7TUFDRSxrQkFBa0I7SUFlcEI7O01BYkU7UUFDRSxvQ0FBb0M7TUFDdEM7O01BRUE7UUFDRSxjQUFjO1FBQ2QsY0FBYztRQUNkO2tEQUMwQztRQUQxQztrREFDMEM7UUFDMUMsc0RBQXNEO1FBQ3REO2lEQUN5QztNQUMzQzs7SUFHRjtNQUNFLDBCQUEwQjtJQUs1Qjs7TUFIRTs7SUFIRjtRQUlJLDBCQUEwQjtJQUU5QjtNQURFOztJQUdGO01BQ0UsMEJBQTBCO0lBSzVCOztNQUhFOztJQUhGO1FBSUksMEJBQTBCO0lBRTlCO01BREU7O0lBR0Y7TUFDRTs7O09BR0M7TUFDRCxjQUE0QztNQUE1Qyw0Q0FBNEM7SUFDOUM7O0lBRUE7TUFDRSxVQUFVO01BQ1YsYUFBYTtJQVlmOztNQVZFOztJQUpGO1FBS0ksVUFBVTtRQUNWLGFBQWE7SUFRakI7TUFQRTs7TUFFQTtRQUNFLFVBQVU7UUFDVixhQUFhO1FBQ2IseUJBQXlCO01BQzNCOztJQUdGO01BQ0Usb0NBQW9DO0lBQ3RDO0FBRUo7O0FDOUVBOztFQUVFOztBQUVGO0VBQ0U7SUFDRSw0QkFBc0I7SUFDdEIsNEJBQTRCOztJQUU1Qiw4QkFBOEI7RUF5SGhDOztJQXZIRTtFQU5GO01BT0ksZUFBZTtFQXNIbkI7SUFySEU7O0lBRUE7TUFDRSxTQUFTO0lBU1g7O01BUEU7UUFDRSxrQkFBa0I7TUFLcEI7O1FBSEU7VUFDRSw4QkFBOEI7UUFDaEM7O0lBSUo7TUFDRSxjQUFjO0lBZWhCO1FBWkk7O01BREY7VUFFSTs7O1dBR0M7VUFDRCxjQUE4QztVQUE5Qyw4Q0FBOEM7TUFNbEQ7O1VBSkk7WUFDRSxjQUE4QztZQUE5Qyw4Q0FBOEM7VUFDaEQ7UUFDRjs7SUFJSjtNQUNFLGFBQWE7TUFDYixVQUFVO0lBWVo7O01BVkU7O0lBSkY7UUFLSSxVQUFVO1FBQ1YsYUFBYTtJQVFqQjtNQVBFOztNQUVBO1FBQ0UsVUFBVTtRQUNWLGFBQWE7UUFDYix5QkFBeUI7TUFDM0I7O0lBR0Y7TUFDRSxTQUFTO01BQ1QsZ0JBQWdCO0lBb0JsQjs7TUFsQkU7O0lBSkY7UUFLSSxpQkFBaUI7UUFDakIsY0FBYztRQUNkLG1CQUFtQjtRQUNuQiwyQkFBMkI7SUFjL0I7TUFiRTs7TUFFQTtRQUNFLHNEQUFzRDtRQUN0RDs7O1NBR0M7TUFLSDs7UUFIRTs7TUFQRjtVQVFJLDZEQUE2RDtNQUVqRTtRQURFOztJQUlKO01BQ0UsYUFBYTtNQUNiLGtCQUFrQjtNQUNsQixxQkFBcUI7TUFDckIsaUJBQWlCO01BQ2pCLFNBQVM7SUF3Qlg7O01BdEJFOztJQVBGO1FBUUksa0JBQWtCO1FBQ2xCLGtCQUF5QztRQUF6Qyx5Q0FBeUM7UUFDekMsbUNBQW1DO1FBQ25DOzs7U0FHQztRQUNELGNBQThDO1FBQTlDLDhDQUE4QztJQWNsRDs7UUFaSTtVQUNFLHlCQUF5QjtRQUMzQjtNQUNGOztNQUVBO1FBQ0UsZ0RBQWdEO01BS2xEOztRQUhFOztNQUhGO1VBSUksc0NBQXNDO01BRTFDO1FBREU7TUFLRjs7SUFERjtRQUVJLG9CQUFvQjtJQU14Qjs7UUFKSTtVQUNFLHdCQUF3QjtRQUMxQjtNQUNGOztJQUdGO01BQ0U7Z0RBQzBDO01BRDFDO2dEQUMwQztJQUM1QztBQUVKOztBQ25JQTs7RUFFRTs7QUFFRjtJQUVJO0VBREY7TUFFSSxvQkFBb0I7TUFDcEIsY0FBYztFQXlDbEI7SUF4Q0U7O0lBRUE7TUFDRSxjQUFjO01BQ2Qsa0JBQWtCO01BQ2xCLHNDQUFzQztNQUN0QyxrREFBa0Q7TUFDbEQsaUJBQWlCO0lBeUJuQjs7TUF2QkU7O0lBUEY7UUFRSSxrQkFBa0I7UUFDbEIseUJBQWdEO1FBQWhELGdEQUFnRDtRQUNoRCxvQkFBb0I7UUFDcEIsa0JBQXlDO1FBQXpDLHlDQUF5QztRQUN6QyxvQkFBb0I7UUFDcEIsdUJBQXVCO1FBQ3ZCLHFCQUFxQjtRQUNyQiw0REFBNEQ7UUFDNUQ7OztTQUdDO1FBQ0QsY0FBMEM7UUFBMUMsMENBQTBDO0lBVTlDO01BVEU7O01BRUE7UUFDRSxnREFBZ0Q7TUFLbEQ7O1FBSEU7O01BSEY7VUFJSSxzQ0FBc0M7TUFFMUM7UUFERTtNQUtGOztJQURGO1FBRUksb0NBQTJEO1FBQTNELDJEQUEyRDtRQUMzRCw0REFBNEQ7SUFFaEU7TUFERTtBQUdOIiwiZmlsZSI6Im5hdmlnYXRpb24uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBOYXZpZ2F0aW9uXG4gKi9cblxuQGxheWVyIGRlc2lnbi1zeXN0ZW0uYXRvbXMge1xuICAubXgtbmF2IHtcbiAgICAmOndoZXJlKDpub3QoOmhhcyh1bCkpKSxcbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1uYXYtZm9udC1zaXplLCB2YXIoLS1mb250LXNpemUpKTtcbiAgICB9XG5cbiAgICAmIGFbaHJlZl0ge1xuICAgICAgLS1saW5rLWNvbG91cjogY3VycmVudGNvbG9yO1xuXG4gICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdmFyKC0tbmF2LXVuZGVybGluZSwgbm9uZSk7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdmFyKC0tbmF2LWFjdGl2ZS11bmRlcmxpbmUsIHVuZGVybGluZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm14LW5hdi0taW5saW5lIHtcbiAgICAmOndoZXJlKDpub3QoOmhhcyh1bCkpKSxcbiAgICA+IHVsIHtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiB2YXIoLS1uYXYtZ2FwLCB2YXIoLS1zcGFjaW5nLXMpKTtcbiAgICB9XG4gIH1cblxuICAubXgtbmF2X190b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IHVuc2V0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbG9yOiB2YXIoXG4gICAgICAtLXRvZ2dsZS1mb3JlZ3JvdW5kLFxuICAgICAgdmFyKC0tZm9yZWdyb3VuZCwgdmFyKC0tY29sb3VyLWZvcmVncm91bmQpKVxuICAgICk7XG4gICAgaW5saW5lLXNpemU6IHZhcigtLXNwYWNpbmctbCk7XG4gICAgYmxvY2stc2l6ZTogdmFyKC0tc3BhY2luZy1sKTtcbiAgICBpbnNldC1ibG9jay1zdGFydDogdmFyKC0tdG9nZ2xlLXRvcCwgMTJweCk7XG4gICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAubXgtbmF2LS1vcGVuIHtcbiAgICAmID4gLm14LW5hdl9fdG9nZ2xlOjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogQ29sbGFwc2libGUgTmF2aWdhdGlvblxuICovXG5cbkBsYXllciBkZXNpZ24tc3lzdGVtLmNvbXBvbmVudHMge1xuICAubXgtbmF2LS1jb2xsYXBzaWJsZSB7XG4gICAgLS1vdXRsaW5lLW9mZnNldDogLTFweDtcblxuICAgICYgLm14LW5hdl9fdG9nZ2xlIHtcbiAgICAgIGluc2V0LWlubGluZTogYXV0byB2YXIoLS1zcGFjaW5nLXh4cyk7XG5cbiAgICAgIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6aGFzKFthcmlhLWN1cnJlbnQ9XCJwYWdlXCJdLCAuaXMtYWN0aXZlKSA+IGEge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICB9XG5cbiAgICAgICYgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWJsb2NrLWVuZDogdmFyKC0tbGluZS13aWR0aCwgMXB4KSBzb2xpZFxuICAgICAgICAgIHZhcigtLWxpbmUtY29sb3VyLCB2YXIoLS1jb2xvdXItYm9yZGVyKSk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWl0ZW0tc3BhY2luZywgdmFyKC0tc3BhY2luZy14eHMpKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWluZGVudCwgdmFyKC0tc3BhY2luZy14eHMpKVxuICAgICAgICAgIHZhcigtLWl0ZW0tc3BhY2luZywgdmFyKC0tc3BhY2luZy14eHMpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5teC1uYXZfX2xldmVsLTIgPiBsaSA+IGEge1xuICAgICAgLS1pbmRlbnQ6IHZhcigtLXNwYWNpbmctcyk7XG5cbiAgICAgIEBtZWRpYSAoLS1nbG9iYWwtbmF2LXVwKSB7XG4gICAgICAgIC0taW5kZW50OiB2YXIoLS1zcGFjaW5nLW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLm14LW5hdl9fbGV2ZWwtMyA+IGxpID4gYSB7XG4gICAgICAtLWluZGVudDogdmFyKC0tc3BhY2luZy1tKTtcblxuICAgICAgQG1lZGlhICgtLWdsb2JhbC1uYXYtdXApIHtcbiAgICAgICAgLS1pbmRlbnQ6IHZhcigtLXNwYWNpbmctbCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiA6aXMoW2FyaWEtY3VycmVudD1cInBhZ2VcIl0sIC5pcy1hY3RpdmUgPiBhKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgICAgIC0tbmF2LWFjdGl2ZS1iYWNrZ3JvdW5kLFxuICAgICAgICB2YXIoLS1iYWNrZ3JvdW5kLCB2YXIoLS1jb2xvdXItYmFja2dyb3VuZC1hbHQpKVxuICAgICAgKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1uYXYtYWN0aXZlLWZvcmVncm91bmQsIGluaGVyaXQpO1xuICAgIH1cblxuICAgICYgbGkgPiB1bCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgZGlzcGxheTogZ3JpZDtcblxuICAgICAgQHN0YXJ0aW5nLXN0eWxlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIH1cblxuICAgICAgJltpbmVydF0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgbGk6aXMoLm14LW5hdl9faGFzLXN1Ym5hdiwgOmhhcyg+IHVsKSkgPiBhIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc3BhY2luZy1sKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogRHJvcGRvd24gTmF2aWdhdGlvblxuICovXG5cbkBsYXllciBkZXNpZ24tc3lzdGVtLmNvbXBvbmVudHMge1xuICAubXgtbmF2LS1kcm9wZG93biB7XG4gICAgLS1vdXRsaW5lLW9mZnNldDogLTFweDtcbiAgICAtLW5hdi1hY3RpdmUtdW5kZXJsaW5lOiBub25lO1xuXG4gICAgbWFyZ2luLWJsb2NrOiB2YXIoLS1zcGFjaW5nLW0pO1xuXG4gICAgQG1lZGlhICgtLWdsb2JhbC1uYXYtdXApIHtcbiAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICB9XG5cbiAgICAmIGxpIHtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgJjppcygubXgtbmF2X19oYXMtc3VibmF2LCA6aGFzKD4gdWwpKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmID4gYSB7XG4gICAgICAgICAgLS10b2dnbGUtZ2FwOiB2YXIoLS1zcGFjaW5nLWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgQG1lZGlhICgtLWdsb2JhbC1uYXYtdXApIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgICAgICAgICAtLW5hdi1leHBhbmRlZC1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgdmFyKC0tYmFja2dyb3VuZCwgdmFyKC0tY29sb3VyLWJhY2tncm91bmQtYWx0KSlcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1uYXYtZXhwYW5kZWQtZm9yZWdyb3VuZCwgaW5oZXJpdCk7XG5cbiAgICAgICAgICAmICsgLm14LW5hdl9fdG9nZ2xlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uYXYtZXhwYW5kZWQtZm9yZWdyb3VuZCwgaW5oZXJpdCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiBsaSA+IHVsIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICBAc3RhcnRpbmctc3R5bGUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgfVxuXG4gICAgICAmW2luZXJ0XSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNHM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiAubXgtbmF2X19sZXZlbC0xIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIEBtZWRpYSAoLS1nbG9iYWwtbmF2LXVwKSB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBmbGV4LWZsb3c6IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuXG4gICAgICAmID4gbGkgPiBhOndoZXJlKDpub3QoLm14LWJ1dHRvbikpIHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taXRlbS1zcGFjaW5nLCB2YXIoLS1zcGFjaW5nLXh4cykpO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcihcbiAgICAgICAgICAtLXRvZ2dsZS1nYXAsXG4gICAgICAgICAgdmFyKC0taXRlbS1zcGFjaW5nLCB2YXIoLS1zcGFjaW5nLXh4cykpXG4gICAgICAgICk7XG5cbiAgICAgICAgQG1lZGlhICgtLWdsb2JhbC1uYXYtdXApIHtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0taXRlbS1zcGFjaW5nLCB2YXIoLS1zcGFjaW5nLXh4cykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiAubXgtbmF2X19sZXZlbC0yIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgQG1lZGlhICgtLWdsb2JhbC1uYXYtdXApIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbmxpbmUtc2l6ZTogdmFyKC0tZHJvcGRvd24td2lkdGgsIDI3MHB4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcihcbiAgICAgICAgICAtLW5hdi1leHBhbmRlZC1iYWNrZ3JvdW5kLFxuICAgICAgICAgIHZhcigtLWJhY2tncm91bmQsIHZhcigtLWNvbG91ci1iYWNrZ3JvdW5kLWFsdCkpXG4gICAgICAgICk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1uYXYtZXhwYW5kZWQtZm9yZWdyb3VuZCwgaW5oZXJpdCk7XG5cbiAgICAgICAgJiAubXgtbmF2X190b2dnbGU6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmID4gbGkgPiBhOndoZXJlKDpub3QoLm14LWJ1dHRvbikpIHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0taXRlbS1zcGFjaW5nLCB2YXIoLS1zcGFjaW5nLXh4cykpO1xuXG4gICAgICAgIEBtZWRpYSAoLS1nbG9iYWwtbmF2LWRvd24pIHtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc3BhY2luZy1sKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYgLm14LW5hdi0tcmV2ZXJzZSAubmF2X19sZXZlbC0yIHtcbiAgICAgIEBtZWRpYSAoLS1nbG9iYWwtbmF2LXVwKSB7XG4gICAgICAgIGluc2V0LWlubGluZTogYXV0byAwO1xuXG4gICAgICAgICYgLm14LW5hdl9fdG9nZ2xlOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYgLm14LW5hdl9fc2VwYXJhdG9yIHtcbiAgICAgIGJvcmRlci1ibG9jay1zdGFydDogdmFyKC0tbGluZS13aWR0aCwgMXB4KSBzb2xpZFxuICAgICAgICB2YXIoLS1saW5lLWNvbG91ciwgdmFyKC0tY29sb3VyLWJvcmRlcikpO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBEcm9wZG93biBOYXZpZ2F0aW9uIC0gTWVnYSBOYXZcbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5jb21wb25lbnRzIHtcbiAgLm14LW5hdi0tbWVnYS1uYXYge1xuICAgIEBtZWRpYSAoLS1nbG9iYWwtbmF2LWRvd24pIHtcbiAgICAgIG1heC1ibG9jay1zaXplOiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuXG4gICAgJiAubXgtbmF2X19sZXZlbC0yIHVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXNwYWNpbmctbCk7XG4gICAgICBib3JkZXItYmxvY2stc3RhcnQ6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgICAgIGlubGluZS1zaXplOiAxMDAlO1xuXG4gICAgICBAbWVkaWEgKC0tZ2xvYmFsLW5hdi11cCkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogdmFyKC0tZHJvcGRvd24td2lkdGgsIDI3MHB4KTtcbiAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IDA7XG4gICAgICAgIGlubGluZS1zaXplOiB2YXIoLS1kcm9wZG93bi13aWR0aCwgMjcwcHgpO1xuICAgICAgICBtaW4tYmxvY2stc2l6ZTogMTAwJTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgIGJvcmRlci1ibG9jay1zdGFydDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKSAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgICAgICAgLS1leHBhbmRlZC1iYWNrZ3JvdW5kLFxuICAgICAgICAgIHZhcigtLWNvbG91ci1iYWNrZ3JvdW5kLWFsdClcbiAgICAgICAgKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWV4cGFuZGVkLWZvcmVncm91bmQsIGluaGVyaXQpO1xuICAgICAgfVxuXG4gICAgICAmID4gbGkgPiBhOndoZXJlKDpub3QoLm14LWJ1dHRvbikpIHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0taXRlbS1zcGFjaW5nLCB2YXIoLS1zcGFjaW5nLXh4cykpO1xuXG4gICAgICAgIEBtZWRpYSAoLS1nbG9iYWwtbmF2LWRvd24pIHtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc3BhY2luZy1sKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYgLm14LW5hdi0tcmV2ZXJzZSAubXgtbmF2X19sZXZlbC0yIHVsIHtcbiAgICAgIEBtZWRpYSAoLS1nbG9iYWwtbmF2LXVwKSB7XG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1kcm9wZG93bi13aWR0aCwgMjcwcHgpICogLTEpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSAwIDAgdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0= */
356
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9uYXZpZ2F0aW9uLmNzcyIsIl9uYXZpZ2F0aW9uLWNvbGxhcHNpYmxlLmNzcyIsIl9uYXZpZ2F0aW9uLWRyb3Bkb3duLmNzcyIsIl9uYXZpZ2F0aW9uLW1lZ2EuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFOztBQUVGO0lBRUk7TUFFRSxhQUFhO01BQ2Isc0JBQXNCO01BQ3RCLHFCQUFxQjtNQUNyQix1QkFBdUI7TUFDdkIsaURBQWlEO0lBQ25EOztJQUVBO01BQ0UsMkJBQTJCOztNQUUzQiwwQkFBZ0Q7O01BQWhELGdEQUFnRDtJQUtsRDs7TUFIRTtRQUNFLCtCQUE0RDtRQUE1RCw0REFBNEQ7TUFDOUQ7SUFLRjtNQUVFLG1CQUFtQjtNQUNuQixtQkFBbUI7TUFDbkIscUNBQXFDO0lBQ3ZDOztFQUdGO0lBQ0UsaUZBQWlCO0lBQWpCLG1CQUFpQjtJQUNqQixVQUFVO0lBQ1YsU0FBUztJQUNULHdCQUFnQjtPQUFoQixxQkFBZ0I7WUFBaEIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQiw0RUFBNEU7SUFDNUUsNkJBQTZCO0lBQzdCLDRCQUE0QjtJQUM1Qix1QkFBMEM7SUFBMUMsMENBQTBDO0lBQzFDLG1CQUFtQjtJQUNuQixlQUFlO0VBQ2pCO0lBR0U7TUFDRSx5QkFBeUI7SUFDM0I7QUFFSjs7QUN0REE7O0VBRUU7O0FBRUY7RUFDRTtJQUNFLDRCQUFzQjtFQXFFeEI7O0lBbkVFO01BQ0UscUNBQXFDO0lBS3ZDOztNQUhFOztJQUhGO1FBSUksY0FBYztJQUVsQjtNQURFOztJQUdGO01BQ0Usa0JBQWtCO0lBYXBCOztNQVhFO1FBQ0Usb0NBQW9DO01BQ3RDOztNQUVBO1FBQ0UsY0FBYztRQUNkLGNBQWM7UUFDZCxvRUFBdUY7UUFBdkYsdUZBQXVGO1FBQ3ZGLHNEQUFzRDtRQUN0RCx5RkFBeUY7TUFDM0Y7O0lBR0Y7TUFDRSwwQkFBMEI7SUFLNUI7O01BSEU7O0lBSEY7UUFJSSwwQkFBMEI7SUFFOUI7TUFERTs7SUFHRjtNQUNFLDBCQUEwQjtJQUs1Qjs7TUFIRTs7SUFIRjtRQUlJLDBCQUEwQjtJQUU5QjtNQURFOztJQUdGO01BQ0U7OztPQUdDO01BQ0QsY0FBNEM7TUFBNUMsNENBQTRDO0lBQzlDOztJQUVBO01BQ0UsVUFBVTtNQUNWLGFBQWE7SUFZZjs7TUFWRTs7SUFKRjtRQUtJLFVBQVU7UUFDVixhQUFhO0lBUWpCO01BUEU7O01BRUE7UUFDRSxVQUFVO1FBQ1YsYUFBYTtRQUNiLHlCQUF5QjtNQUMzQjs7SUFHRjtNQUNFLG9DQUFvQztJQUN0QztBQUVKOztBQzVFQTs7RUFFRTs7QUFFRjtFQUNFO0lBQ0UsNEJBQXNCO0lBQ3RCLDRCQUE0Qjs7SUFFNUIsOEJBQThCO0VBcUhoQzs7SUFuSEU7RUFORjtNQU9JLGVBQWU7RUFrSG5CO0lBakhFOztJQUVBO01BQ0UsU0FBUztJQVNYOztNQVBFO1FBQ0Usa0JBQWtCO01BS3BCOztRQUhFO1VBQ0UsOEJBQThCO1FBQ2hDOztJQUlKO01BQ0UsY0FBYztJQWVoQjtRQVpJOztNQURGO1VBRUk7OztXQUdDO1VBQ0QsY0FBOEM7VUFBOUMsOENBQThDO01BTWxEOztVQUpJO1lBQ0UsY0FBOEM7WUFBOUMsOENBQThDO1VBQ2hEO1FBQ0Y7O0lBSUo7TUFDRSxhQUFhO01BQ2IsVUFBVTtJQVlaOztNQVZFOztJQUpGO1FBS0ksVUFBVTtRQUNWLGFBQWE7SUFRakI7TUFQRTs7TUFFQTtRQUNFLFVBQVU7UUFDVixhQUFhO1FBQ2IseUJBQXlCO01BQzNCOztJQUdGO01BQ0UsU0FBUztNQUNULGdCQUFnQjtJQWlCbEI7O01BZkU7O0lBSkY7UUFLSSxpQkFBaUI7UUFDakIsY0FBYztRQUNkLG1CQUFtQjtRQUNuQiwyQkFBMkI7SUFXL0I7TUFWRTs7TUFFQTtRQUNFLHNEQUFzRDtRQUN0RCw4RUFBOEU7TUFLaEY7O1FBSEU7O01BSkY7VUFLSSw2REFBNkQ7TUFFakU7UUFERTs7SUFJSjtNQUNFLGFBQWE7TUFDYixrQkFBa0I7TUFDbEIscUJBQXFCO01BQ3JCLGlCQUFpQjtNQUNqQixTQUFTO0lBd0JYOztNQXRCRTs7SUFQRjtRQVFJLGtCQUFrQjtRQUNsQixrQkFBeUM7UUFBekMseUNBQXlDO1FBQ3pDLG1DQUFtQztRQUNuQzs7O1NBR0M7UUFDRCxjQUE4QztRQUE5Qyw4Q0FBOEM7SUFjbEQ7O1FBWkk7VUFDRSx5QkFBeUI7UUFDM0I7TUFDRjs7TUFFQTtRQUNFLGdEQUFnRDtNQUtsRDs7UUFIRTs7TUFIRjtVQUlJLHNDQUFzQztNQUUxQztRQURFO01BS0Y7O0lBREY7UUFFSSxvQkFBb0I7SUFNeEI7O1FBSkk7VUFDRSx3QkFBd0I7UUFDMUI7TUFDRjs7SUFHRjtNQUNFLHNFQUF5RjtNQUF6Rix5RkFBeUY7SUFDM0Y7QUFFSjs7QUMvSEE7O0VBRUU7O0FBRUY7SUFFSTtFQURGO01BRUksb0JBQW9CO01BQ3BCLGNBQWM7RUFzQ2xCO0lBckNFOztJQUVBO01BQ0UsY0FBYztNQUNkLGtCQUFrQjtNQUNsQixzQ0FBc0M7TUFDdEMsa0RBQWtEO01BQ2xELGlCQUFpQjtJQXNCbkI7O01BcEJFOztJQVBGO1FBUUksa0JBQWtCO1FBQ2xCLHlCQUFnRDtRQUFoRCxnREFBZ0Q7UUFDaEQsb0JBQW9CO1FBQ3BCLGtCQUF5QztRQUF6Qyx5Q0FBeUM7UUFDekMsb0JBQW9CO1FBQ3BCLHVCQUF1QjtRQUN2QixxQkFBcUI7UUFDckIsNERBQTREO1FBQzVELDBFQUEwRTtRQUMxRSxjQUEwQztRQUExQywwQ0FBMEM7SUFVOUM7TUFURTs7TUFFQTtRQUNFLGdEQUFnRDtNQUtsRDs7UUFIRTs7TUFIRjtVQUlJLHNDQUFzQztNQUUxQztRQURFO01BS0Y7O0lBREY7UUFFSSxvQ0FBMkQ7UUFBM0QsMkRBQTJEO1FBQzNELDREQUE0RDtJQUVoRTtNQURFO0FBR04iLCJmaWxlIjoibmF2aWdhdGlvbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE5hdmlnYXRpb25cbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5hdG9tcyB7XG4gIC5teC1uYXYge1xuICAgICY6d2hlcmUoOm5vdCg6aGFzKHVsKSkpLFxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICBmb250LXNpemU6IHZhcigtLW5hdi1mb250LXNpemUsIHZhcigtLWZvbnQtc2l6ZSkpO1xuICAgIH1cblxuICAgICYgYVtocmVmXSB7XG4gICAgICAtLWxpbmstY29sb3VyOiBjdXJyZW50Y29sb3I7XG5cbiAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB2YXIoLS1uYXYtdW5kZXJsaW5lLCBub25lKTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB2YXIoLS1uYXYtYWN0aXZlLXVuZGVybGluZSwgdW5kZXJsaW5lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubXgtbmF2LS1pbmxpbmUge1xuICAgICY6d2hlcmUoOm5vdCg6aGFzKHVsKSkpLFxuICAgID4gdWwge1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IHZhcigtLW5hdi1nYXAsIHZhcigtLXNwYWNpbmctcykpO1xuICAgIH1cbiAgfVxuXG4gIC5teC1uYXZfX3RvZ2dsZSB7XG4gICAgYmFja2dyb3VuZDogdW5zZXQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29sb3I6IHZhcigtLXRvZ2dsZS1mb3JlZ3JvdW5kLCB2YXIoLS1mb3JlZ3JvdW5kLCB2YXIoLS1jb2xvdXItZm9yZWdyb3VuZCkpKTtcbiAgICBpbmxpbmUtc2l6ZTogdmFyKC0tc3BhY2luZy1sKTtcbiAgICBibG9jay1zaXplOiB2YXIoLS1zcGFjaW5nLWwpO1xuICAgIGluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS10b2dnbGUtdG9wLCAxMnB4KTtcbiAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5teC1uYXYtLW9wZW4ge1xuICAgICYgPiAubXgtbmF2X190b2dnbGU6OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBDb2xsYXBzaWJsZSBOYXZpZ2F0aW9uXG4gKi9cblxuQGxheWVyIGRlc2lnbi1zeXN0ZW0uY29tcG9uZW50cyB7XG4gIC5teC1uYXYtLWNvbGxhcHNpYmxlIHtcbiAgICAtLW91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuXG4gICAgJiAubXgtbmF2X190b2dnbGUge1xuICAgICAgaW5zZXQtaW5saW5lOiBhdXRvIHZhcigtLXNwYWNpbmcteHhzKTtcblxuICAgICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjpoYXMoW2FyaWEtY3VycmVudD1cInBhZ2VcIl0sIC5pcy1hY3RpdmUpID4gYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgIH1cblxuICAgICAgJiBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItYmxvY2stZW5kOiB2YXIoLS1saW5lLXdpZHRoLCAxcHgpIHNvbGlkIHZhcigtLWxpbmUtY29sb3VyLCB2YXIoLS1jb2xvdXItYm9yZGVyKSk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWl0ZW0tc3BhY2luZywgdmFyKC0tc3BhY2luZy14eHMpKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWluZGVudCwgdmFyKC0tc3BhY2luZy14eHMpKSB2YXIoLS1pdGVtLXNwYWNpbmcsIHZhcigtLXNwYWNpbmcteHhzKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiAubXgtbmF2X19sZXZlbC0yID4gbGkgPiBhIHtcbiAgICAgIC0taW5kZW50OiB2YXIoLS1zcGFjaW5nLXMpO1xuXG4gICAgICBAbWVkaWEgKC0tZ2xvYmFsLW5hdi11cCkge1xuICAgICAgICAtLWluZGVudDogdmFyKC0tc3BhY2luZy1tKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5teC1uYXZfX2xldmVsLTMgPiBsaSA+IGEge1xuICAgICAgLS1pbmRlbnQ6IHZhcigtLXNwYWNpbmctbSk7XG5cbiAgICAgIEBtZWRpYSAoLS1nbG9iYWwtbmF2LXVwKSB7XG4gICAgICAgIC0taW5kZW50OiB2YXIoLS1zcGFjaW5nLWwpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgOmlzKFthcmlhLWN1cnJlbnQ9XCJwYWdlXCJdLCAuaXMtYWN0aXZlID4gYSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgICAtLW5hdi1hY3RpdmUtYmFja2dyb3VuZCxcbiAgICAgICAgdmFyKC0tYmFja2dyb3VuZCwgdmFyKC0tY29sb3VyLWJhY2tncm91bmQtYWx0KSlcbiAgICAgICk7XG4gICAgICBjb2xvcjogdmFyKC0tbmF2LWFjdGl2ZS1mb3JlZ3JvdW5kLCBpbmhlcml0KTtcbiAgICB9XG5cbiAgICAmIGxpID4gdWwge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG5cbiAgICAgIEBzdGFydGluZy1zdHlsZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICB9XG5cbiAgICAgICZbaW5lcnRdIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIGxpOmlzKC5teC1uYXZfX2hhcy1zdWJuYXYsIDpoYXMoPiB1bCkpID4gYSB7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLXNwYWNpbmctbCk7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIERyb3Bkb3duIE5hdmlnYXRpb25cbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5jb21wb25lbnRzIHtcbiAgLm14LW5hdi0tZHJvcGRvd24ge1xuICAgIC0tb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgLS1uYXYtYWN0aXZlLXVuZGVybGluZTogbm9uZTtcblxuICAgIG1hcmdpbi1ibG9jazogdmFyKC0tc3BhY2luZy1tKTtcblxuICAgIEBtZWRpYSAoLS1nbG9iYWwtbmF2LXVwKSB7XG4gICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgfVxuXG4gICAgJiBsaSB7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgICY6aXMoLm14LW5hdl9faGFzLXN1Ym5hdiwgOmhhcyg+IHVsKSkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJiA+IGEge1xuICAgICAgICAgIC0tdG9nZ2xlLWdhcDogdmFyKC0tc3BhY2luZy1sKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgIEBtZWRpYSAoLS1nbG9iYWwtbmF2LXVwKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgICAgICAgLS1uYXYtZXhwYW5kZWQtYmFja2dyb3VuZCxcbiAgICAgICAgICAgIHZhcigtLWJhY2tncm91bmQsIHZhcigtLWNvbG91ci1iYWNrZ3JvdW5kLWFsdCkpXG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tbmF2LWV4cGFuZGVkLWZvcmVncm91bmQsIGluaGVyaXQpO1xuXG4gICAgICAgICAgJiArIC5teC1uYXZfX3RvZ2dsZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tbmF2LWV4cGFuZGVkLWZvcmVncm91bmQsIGluaGVyaXQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYgbGkgPiB1bCB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgQHN0YXJ0aW5nLXN0eWxlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIH1cblxuICAgICAgJltpbmVydF0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLm14LW5hdl9fbGV2ZWwtMSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBAbWVkaWEgKC0tZ2xvYmFsLW5hdi11cCkge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cblxuICAgICAgJiA+IGxpID4gYTp3aGVyZSg6bm90KC5teC1idXR0b24pKSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWl0ZW0tc3BhY2luZywgdmFyKC0tc3BhY2luZy14eHMpKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS10b2dnbGUtZ2FwLCB2YXIoLS1pdGVtLXNwYWNpbmcsIHZhcigtLXNwYWNpbmcteHhzKSkpO1xuXG4gICAgICAgIEBtZWRpYSAoLS1nbG9iYWwtbmF2LXVwKSB7XG4gICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWl0ZW0tc3BhY2luZywgdmFyKC0tc3BhY2luZy14eHMpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYgLm14LW5hdl9fbGV2ZWwtMiB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgaW5saW5lLXNpemU6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIEBtZWRpYSAoLS1nbG9iYWwtbmF2LXVwKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5saW5lLXNpemU6IHZhcigtLWRyb3Bkb3duLXdpZHRoLCAyNzBweCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgICAgICAgLS1uYXYtZXhwYW5kZWQtYmFja2dyb3VuZCxcbiAgICAgICAgICB2YXIoLS1iYWNrZ3JvdW5kLCB2YXIoLS1jb2xvdXItYmFja2dyb3VuZC1hbHQpKVxuICAgICAgICApO1xuICAgICAgICBjb2xvcjogdmFyKC0tbmF2LWV4cGFuZGVkLWZvcmVncm91bmQsIGluaGVyaXQpO1xuXG4gICAgICAgICYgLm14LW5hdl9fdG9nZ2xlOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJiA+IGxpID4gYTp3aGVyZSg6bm90KC5teC1idXR0b24pKSB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWl0ZW0tc3BhY2luZywgdmFyKC0tc3BhY2luZy14eHMpKTtcblxuICAgICAgICBAbWVkaWEgKC0tZ2xvYmFsLW5hdi1kb3duKSB7XG4gICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXNwYWNpbmctbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5teC1uYXYtLXJldmVyc2UgLm5hdl9fbGV2ZWwtMiB7XG4gICAgICBAbWVkaWEgKC0tZ2xvYmFsLW5hdi11cCkge1xuICAgICAgICBpbnNldC1pbmxpbmU6IGF1dG8gMDtcblxuICAgICAgICAmIC5teC1uYXZfX3RvZ2dsZTo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5teC1uYXZfX3NlcGFyYXRvciB7XG4gICAgICBib3JkZXItYmxvY2stc3RhcnQ6IHZhcigtLWxpbmUtd2lkdGgsIDFweCkgc29saWQgdmFyKC0tbGluZS1jb2xvdXIsIHZhcigtLWNvbG91ci1ib3JkZXIpKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogRHJvcGRvd24gTmF2aWdhdGlvbiAtIE1lZ2EgTmF2XG4gKi9cblxuQGxheWVyIGRlc2lnbi1zeXN0ZW0uY29tcG9uZW50cyB7XG4gIC5teC1uYXYtLW1lZ2EtbmF2IHtcbiAgICBAbWVkaWEgKC0tZ2xvYmFsLW5hdi1kb3duKSB7XG4gICAgICBtYXgtYmxvY2stc2l6ZTogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cblxuICAgICYgLm14LW5hdl9fbGV2ZWwtMiB1bCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zcGFjaW5nLWwpO1xuICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0OiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XG4gICAgICBpbmxpbmUtc2l6ZTogMTAwJTtcblxuICAgICAgQG1lZGlhICgtLWdsb2JhbC1uYXYtdXApIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IHZhcigtLWRyb3Bkb3duLXdpZHRoLCAyNzBweCk7XG4gICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgICBpbmxpbmUtc2l6ZTogdmFyKC0tZHJvcGRvd24td2lkdGgsIDI3MHB4KTtcbiAgICAgICAgbWluLWJsb2NrLXNpemU6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICBib3JkZXItYmxvY2stc3RhcnQ6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cykgMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXhwYW5kZWQtYmFja2dyb3VuZCwgdmFyKC0tY29sb3VyLWJhY2tncm91bmQtYWx0KSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1leHBhbmRlZC1mb3JlZ3JvdW5kLCBpbmhlcml0KTtcbiAgICAgIH1cblxuICAgICAgJiA+IGxpID4gYTp3aGVyZSg6bm90KC5teC1idXR0b24pKSB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWl0ZW0tc3BhY2luZywgdmFyKC0tc3BhY2luZy14eHMpKTtcblxuICAgICAgICBAbWVkaWEgKC0tZ2xvYmFsLW5hdi1kb3duKSB7XG4gICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXNwYWNpbmctbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5teC1uYXYtLXJldmVyc2UgLm14LW5hdl9fbGV2ZWwtMiB1bCB7XG4gICAgICBAbWVkaWEgKC0tZ2xvYmFsLW5hdi11cCkge1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tZHJvcGRvd24td2lkdGgsIDI3MHB4KSAqIC0xKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgMCAwIHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19 */
@@ -1,50 +1,112 @@
1
- import { m as makeAnchor } from "./chunks/utilities-DXELy_An.js";
2
- import { K as Keyboard } from "./chunks/keyboard-rvZ4dfGF.js";
3
- import { D as DisclosureWidget } from "./chunks/disclosure-widget-DVpnRsTI.js";
4
- class Navigation extends HTMLElement {
1
+ import { m as makeAnchor } from "./chunks/utilities-Ci7wwNeg.js";
2
+ import { D as DisclosureWidget } from "./chunks/disclosure-widget-CdjCdx7t.js";
3
+ class Keyboard {
5
4
  constructor() {
6
- super();
7
- this.handleDisclosure = ({ detail }) => {
8
- const { isOpen, id } = detail;
9
- const { item } = this.subNavs.get(id);
10
- item.classList.toggle("mx-nav--open");
11
- if (isOpen) {
12
- this.keyboard.attachPopup(id, this.handleCloseAny);
13
- } else {
14
- this.keyboard.detachPopup(id);
15
- }
16
- };
17
- this.handleCloseAny = () => {
18
- this.subNavs.forEach(({ widget }) => {
19
- if (!widget) return;
20
- if (widget.isOpen) widget.handleToggle();
21
- });
22
- };
23
- this.handleFlyout = (event) => {
24
- const target = event.target;
25
- const parent = target.closest("li");
26
- if (!parent) return;
27
- const subnav = parent.querySelector(":scope > ul");
28
- if (!subnav) return;
29
- this.subNavs.forEach(({ widget, list }) => {
30
- if (!widget) return;
31
- if (widget.isOpen) widget.handleToggle();
32
- if (list.id === subnav.id) widget.handleToggle();
33
- });
5
+ window.Mixtape = window.Mixtape || {};
6
+ window.Mixtape.Popups = window.Mixtape.Popups || [];
7
+ window.Mixtape.Menu = window.Mixtape.Menu || {};
8
+ }
9
+ attachPopup = (id, closefn) => {
10
+ window.Mixtape.Popups.push({
11
+ id,
12
+ closefn
13
+ });
14
+ };
15
+ detachPopup = (id) => {
16
+ window.Mixtape.Popups = window.Mixtape.Popups.filter((item) => item.id !== id);
17
+ };
18
+ attachMenu = (context, items) => {
19
+ window.Mixtape.Menu = {
20
+ context,
21
+ items
34
22
  };
35
- this.handleBreakpoint = ({
36
- matches
37
- }) => {
38
- const { signal } = this.controller;
39
- if (matches) {
40
- this.addEventListener("mouseover", this.handleFlyout, { signal });
41
- this.addEventListener("mouseleave", this.handleCloseAny, { signal });
42
- if (this.edgeCheck) this.handleEdgeCheck();
43
- } else {
44
- this.removeEventListener("mouseover", this.handleFlyout);
45
- this.removeEventListener("mouseleave", this.handleCloseAny);
23
+ };
24
+ detachMenu = () => {
25
+ window.Mixtape.Menu = null;
26
+ };
27
+ getNextFocusableMenuItem = (active, back = false) => {
28
+ if (!back) {
29
+ return window.Mixtape.Menu.items.length > active + 1 ? active + 1 : 0;
30
+ }
31
+ return active === 0 ? window.Mixtape.Menu.items.length - 1 : active - 1;
32
+ };
33
+ moveFocus = (target, back = false) => {
34
+ if (!window.Mixtape.Menu.items) return;
35
+ let active = 0;
36
+ window.Mixtape.Menu.items.forEach((element, index) => {
37
+ if (element === target) {
38
+ active = index;
46
39
  }
47
- };
40
+ });
41
+ let focus = this.getNextFocusableMenuItem(active, back);
42
+ let tabbable = window.Mixtape.Menu.items[focus].getAttribute("tabindex");
43
+ if (tabbable !== "-1") {
44
+ window.Mixtape.Menu.items[focus].focus();
45
+ } else {
46
+ while (tabbable === "-1") {
47
+ focus = this.getNextFocusableMenuItem(focus, back);
48
+ tabbable = window.Mixtape.Menu.items[focus].getAttribute("tabindex");
49
+ }
50
+ window.Mixtape.Menu.items[focus].focus();
51
+ }
52
+ window.Mixtape.Menu.active = focus;
53
+ };
54
+ handleGlobalClick = ({ target }) => {
55
+ const activePopup = window.Mixtape.Popups ? window.Mixtape.Popups[window.Mixtape.Popups.length - 1] : null;
56
+ if (!activePopup) return;
57
+ if (activePopup.id) {
58
+ const popupEl = document.querySelector(`#${activePopup.id}`).parentElement;
59
+ if (popupEl && (target === popupEl || popupEl?.contains(target))) return;
60
+ activePopup.closefn();
61
+ }
62
+ };
63
+ handleGlobalKeydown = (event) => {
64
+ const activePopup = window.Mixtape.Popups ? window.Mixtape.Popups[window.Mixtape.Popups.length - 1] : null;
65
+ const target = event.target;
66
+ switch (event.key) {
67
+ // Escape always closes an open popup followed by any open popups.
68
+ case "Escape":
69
+ if (activePopup) {
70
+ activePopup.closefn();
71
+ }
72
+ break;
73
+ // Down/Right arrows navigate focus forward, with wrapping.
74
+ case "ArrowDown":
75
+ case "ArrowRight":
76
+ if (window.Mixtape.Menu?.items) {
77
+ event.preventDefault();
78
+ this.moveFocus(target);
79
+ }
80
+ break;
81
+ // Up/Left arrows navigate focus backwards, with wrapping.
82
+ case "ArrowUp":
83
+ case "ArrowLeft":
84
+ if (window.Mixtape.Menu?.items) {
85
+ event.preventDefault();
86
+ this.moveFocus(target, true);
87
+ }
88
+ break;
89
+ }
90
+ };
91
+ attachEventListeners = (signal) => {
92
+ window.addEventListener("click", this.handleGlobalClick, {
93
+ signal
94
+ });
95
+ window.addEventListener("keydown", this.handleGlobalKeydown, {
96
+ signal
97
+ });
98
+ };
99
+ }
100
+ class Navigation extends HTMLElement {
101
+ internals_;
102
+ controller;
103
+ keyboard;
104
+ subNavs;
105
+ flyout;
106
+ edgeCheck;
107
+ mq;
108
+ constructor() {
109
+ super();
48
110
  this.internals_ = this.attachInternals();
49
111
  this.controller = new AbortController();
50
112
  this.flyout = this.hasAttribute("flyout");
@@ -65,9 +127,7 @@ class Navigation extends HTMLElement {
65
127
  const item = list.closest("li");
66
128
  const link = item.querySelector(":scope > a");
67
129
  const id = makeAnchor(`subnav-${index}-${link.textContent}`, 30);
68
- const trigger = item.querySelector(
69
- ":scope > button.mx-nav__toggle"
70
- );
130
+ const trigger = item.querySelector(":scope > button.mx-nav__toggle");
71
131
  if (item && link && trigger) {
72
132
  const labelId = `list-label-${id}`;
73
133
  link.setAttribute("id", labelId);
@@ -91,12 +151,50 @@ class Navigation extends HTMLElement {
91
151
  this.controller.abort();
92
152
  this.subNavs.forEach((subNav) => subNav.widget.detach());
93
153
  }
154
+ handleDisclosure = ({ detail }) => {
155
+ const { isOpen, id } = detail;
156
+ const { item } = this.subNavs.get(id);
157
+ item.classList.toggle("mx-nav--open");
158
+ if (isOpen) {
159
+ this.keyboard.attachPopup(id, this.handleCloseAny);
160
+ } else {
161
+ this.keyboard.detachPopup(id);
162
+ }
163
+ };
164
+ handleCloseAny = () => {
165
+ this.subNavs.forEach(({ widget }) => {
166
+ if (!widget) return;
167
+ if (widget.isOpen) widget.handleToggle();
168
+ });
169
+ };
170
+ handleFlyout = (event) => {
171
+ const target = event.target;
172
+ const parent = target.closest("li");
173
+ if (!parent) return;
174
+ const subnav = parent.querySelector(":scope > ul");
175
+ if (!subnav) return;
176
+ this.subNavs.forEach(({ widget, list }) => {
177
+ if (!widget) return;
178
+ if (widget.isOpen) widget.handleToggle();
179
+ if (list.id === subnav.id) widget.handleToggle();
180
+ });
181
+ };
182
+ handleBreakpoint = ({ matches }) => {
183
+ const { signal } = this.controller;
184
+ if (matches) {
185
+ this.addEventListener("mouseover", this.handleFlyout, { signal });
186
+ this.addEventListener("mouseleave", this.handleCloseAny, { signal });
187
+ if (this.edgeCheck) this.handleEdgeCheck();
188
+ } else {
189
+ this.removeEventListener("mouseover", this.handleFlyout);
190
+ this.removeEventListener("mouseleave", this.handleCloseAny);
191
+ }
192
+ };
94
193
  handleEdgeCheck() {
95
194
  const windowInnerWidth = window.innerWidth;
96
195
  const edgeCheck = new IntersectionObserver(
97
196
  ([{ boundingClientRect, target }], obs) => {
98
- if (windowInnerWidth < boundingClientRect.right)
99
- target.classList.add("mx-nav--reverse");
197
+ if (windowInnerWidth < boundingClientRect.right) target.classList.add("mx-nav--reverse");
100
198
  obs.disconnect();
101
199
  }
102
200
  );
@@ -120,5 +218,5 @@ class Navigation extends HTMLElement {
120
218
  return window.matchMedia(this.mq);
121
219
  }
122
220
  }
123
- customElements.define("mx-nav", Navigation);
221
+ if (!customElements.get("mx-nav")) customElements.define("mx-nav", Navigation);
124
222
  //# sourceMappingURL=navigation.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.entry.js","sources":["../../src/Component/Navigation/Elements/Navigation.ts"],"sourcesContent":["/**\n * Main Navigation\n * @file Drop down navigation handler.\n */\n\nimport {\n Keyboard,\n makeAnchor,\n DisclosureWidget,\n DisclosureWidgetEvent,\n} from \"../../../Utility/utilities\"\n\ntype SubNavType = {\n list: HTMLElement\n trigger: HTMLButtonElement\n link: HTMLAnchorElement\n item?: HTMLLIElement\n widget?: DisclosureWidget\n linkWidget?: DisclosureWidget\n}\n\nexport default class Navigation extends HTMLElement {\n internals_: ElementInternals\n controller: AbortController\n keyboard: Keyboard\n subNavs?: Map<string, SubNavType>\n flyout?: boolean\n edgeCheck!: boolean\n mq!: string\n\n constructor() {\n super()\n this.internals_ = this.attachInternals()\n this.controller = new AbortController()\n this.flyout = this.hasAttribute(\"flyout\")\n }\n\n connectedCallback(): void {\n const { signal }: AbortController = this.controller\n\n // Add keyboard navigation events.\n this.keyboard = new Keyboard()\n this.keyboard.attachEventListeners(signal)\n\n // Add keyboard focus handler for menu links.\n this.addEventListener(\"focusin\", () => {\n this.keyboard.attachMenu(this, this.links)\n })\n this.addEventListener(\"focusout\", () => {\n this.keyboard.detachMenu()\n })\n\n if (!this.lists.length) return\n this.subNavs = new Map()\n this.lists.forEach((list: HTMLUListElement, index: number): void => {\n const item: HTMLLIElement = list.closest(\"li\")\n const link: HTMLAnchorElement = item.querySelector(\":scope > a\")\n const id: string = makeAnchor(`subnav-${index}-${link.textContent}`, 30)\n const trigger: HTMLButtonElement = item.querySelector(\n \":scope > button.mx-nav__toggle\",\n )\n if (item && link && trigger) {\n const labelId = `list-label-${id}`\n link.setAttribute(\"id\", labelId)\n list.setAttribute(\"id\", id)\n list.setAttribute(\"aria-labelledby\", labelId)\n const widget = new DisclosureWidget(trigger, list)\n widget.init()\n this.subNavs.set(id, { item, trigger, list, link, widget })\n }\n })\n\n this.addEventListener(\"disclosure-toggle\", this.handleDisclosure)\n\n if (!this.flyout) return\n this.edgeCheck = this.hasAttribute(\"edgeCheck\")\n this.mq = this.getAttribute(\"mq\") || \"(min-width: 720px)\"\n this.handleBreakpoint(this.breakpoint)\n this.breakpoint.addEventListener(\"change\", this.handleBreakpoint, {\n signal,\n })\n }\n\n disconnectedCallback(): void {\n this.controller.abort()\n this.subNavs.forEach((subNav: SubNavType): void => subNav.widget.detach())\n }\n\n handleDisclosure = ({ detail }: CustomEvent<DisclosureWidgetEvent>): void => {\n const { isOpen, id } = detail\n const { item } = this.subNavs.get(id)\n item.classList.toggle(\"mx-nav--open\")\n if (isOpen) {\n this.keyboard.attachPopup(id, this.handleCloseAny)\n } else {\n this.keyboard.detachPopup(id)\n }\n }\n\n handleCloseAny = (): void => {\n this.subNavs.forEach(({ widget }: SubNavType): void => {\n if (!widget) return\n if (widget.isOpen) widget.handleToggle()\n })\n }\n\n handleFlyout = (event: MouseEvent): void => {\n const target = event.target as HTMLElement\n const parent: HTMLLIElement = target.closest(\"li\")\n if (!parent) return\n const subnav: HTMLUListElement = parent.querySelector(\":scope > ul\")\n if (!subnav) return\n this.subNavs.forEach(({ widget, list }: SubNavType): void => {\n if (!widget) return\n if (widget.isOpen) widget.handleToggle()\n if (list.id === subnav.id) widget.handleToggle()\n })\n }\n\n handleBreakpoint = ({\n matches,\n }: MediaQueryList | MediaQueryListEvent): void => {\n const { signal }: AbortController = this.controller\n if (matches) {\n this.addEventListener(\"mouseover\", this.handleFlyout, { signal })\n this.addEventListener(\"mouseleave\", this.handleCloseAny, { signal })\n if (this.edgeCheck) this.handleEdgeCheck()\n } else {\n this.removeEventListener(\"mouseover\", this.handleFlyout)\n this.removeEventListener(\"mouseleave\", this.handleCloseAny)\n }\n }\n\n handleEdgeCheck() {\n const windowInnerWidth: number = window.innerWidth\n const edgeCheck: IntersectionObserver = new IntersectionObserver(\n ([{ boundingClientRect, target }], obs) => {\n if (windowInnerWidth < boundingClientRect.right)\n target.classList.add(\"mx-nav--reverse\")\n obs.disconnect()\n },\n )\n this.subNavs.forEach(({ list }: SubNavType): void => {\n edgeCheck.observe(list)\n const nestedLists: NodeListOf<HTMLUListElement> =\n list.querySelectorAll(\"ul\")\n nestedLists.forEach(nestedList => edgeCheck.observe(nestedList))\n })\n }\n\n get links(): NodeListOf<HTMLAnchorElement> | null {\n const links: NodeListOf<HTMLAnchorElement> | null =\n this.querySelectorAll(\"a\")\n if (!links.length) {\n throw new Error(`${this.localName} must links`)\n }\n return links\n }\n\n get lists(): NodeListOf<HTMLUListElement> | null {\n return this.querySelectorAll(\"li > ul\")\n }\n\n get breakpoint(): MediaQueryList {\n return window.matchMedia(this.mq)\n }\n}\n\ncustomElements.define(\"mx-nav\", Navigation)\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"mx-nav\": Navigation\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigation.entry.js","sources":["../../src/Utility/Elements/keyboard.ts","../../src/Component/Navigation/Elements/Navigation.ts"],"sourcesContent":["/**\n * Class for Keyboard navigation helper.\n */\n\nexport default class Keyboard {\n constructor() {\n window.Mixtape = window.Mixtape || {}\n window.Mixtape.Popups = window.Mixtape.Popups || []\n window.Mixtape.Menu = window.Mixtape.Menu || {}\n }\n\n attachPopup = (id: string, closefn: () => void): void => {\n window.Mixtape.Popups.push({\n id,\n closefn,\n })\n }\n\n detachPopup = (id: string): void => {\n window.Mixtape.Popups = window.Mixtape.Popups.filter(item => item.id !== id)\n }\n\n attachMenu = (\n context: HTMLElement,\n items: NodeListOf<HTMLAnchorElement | HTMLButtonElement>,\n ): void => {\n window.Mixtape.Menu = {\n context,\n items,\n }\n }\n\n detachMenu = (): void => {\n window.Mixtape.Menu = null\n }\n\n getNextFocusableMenuItem = (active: number, back: boolean = false): number => {\n if (!back) {\n // If moving forward, it's the active index + 1, or 0 if we are at the\n // end of the menu.\n return window.Mixtape.Menu.items.length > active + 1 ? active + 1 : 0\n }\n // If moving back, it's the active index - 1, or the menu length if we\n // are at the start of the menu.\n return active === 0 ? window.Mixtape.Menu.items.length - 1 : active - 1\n }\n\n moveFocus = (target: HTMLElement, back: boolean = false): void => {\n if (!window.Mixtape.Menu.items) return\n let active: number = 0\n // Retrieve the active menu item by looping through the list of menu links.\n window.Mixtape.Menu.items.forEach((element, index): void => {\n if (element === target) {\n active = index\n }\n })\n let focus: number = this.getNextFocusableMenuItem(active, back)\n\n // Check if item is tabbable.\n // Some menus, like the secondary nav have hidden items that require a\n // toggle to be clicked before the items are tabbable. This allows invisible\n // menu items to be skipped when moving focus with the this.\n // Make sure tabbable.\n let tabbable: string = window.Mixtape.Menu.items[focus].getAttribute(\"tabindex\")\n if (tabbable !== \"-1\") {\n window.Mixtape.Menu.items[focus].focus()\n } else {\n // Loop through items until we find a visible one.\n while (tabbable === \"-1\") {\n focus = this.getNextFocusableMenuItem(focus, back)\n tabbable = window.Mixtape.Menu.items[focus].getAttribute(\"tabindex\")\n }\n window.Mixtape.Menu.items[focus].focus()\n }\n\n window.Mixtape.Menu.active = focus\n }\n\n handleGlobalClick = ({ target }: MouseEvent): void => {\n const activePopup = window.Mixtape.Popups\n ? window.Mixtape.Popups[window.Mixtape.Popups.length - 1]\n : null\n if (!activePopup) return\n\n // Click away from a popup to close it.\n // It's up to the popup class to preventDefault on it's contents to\n // stop this from being triggered.\n if (activePopup.id) {\n const popupEl: HTMLElement = document.querySelector(`#${activePopup.id}`).parentElement\n if (popupEl && (target === popupEl || popupEl?.contains(target as HTMLElement))) return\n activePopup.closefn()\n }\n }\n\n handleGlobalKeydown = (event: KeyboardEvent): void => {\n const activePopup = window.Mixtape.Popups\n ? window.Mixtape.Popups[window.Mixtape.Popups.length - 1]\n : null\n const target = event.target as HTMLElement\n\n switch (event.key) {\n // Escape always closes an open popup followed by any open popups.\n case \"Escape\":\n if (activePopup) {\n activePopup.closefn()\n }\n break\n\n // Down/Right arrows navigate focus forward, with wrapping.\n case \"ArrowDown\":\n case \"ArrowRight\":\n if (window.Mixtape.Menu?.items) {\n event.preventDefault()\n this.moveFocus(target)\n }\n break\n\n // Up/Left arrows navigate focus backwards, with wrapping.\n case \"ArrowUp\":\n case \"ArrowLeft\":\n if (window.Mixtape.Menu?.items) {\n event.preventDefault()\n this.moveFocus(target, true)\n }\n break\n\n default:\n break\n }\n }\n\n attachEventListeners = (signal: AbortSignal): void => {\n window.addEventListener(\"click\", this.handleGlobalClick, {\n signal,\n })\n window.addEventListener(\"keydown\", this.handleGlobalKeydown, {\n signal,\n })\n }\n}\n","/**\n * Main Navigation\n * @file Drop down navigation handler.\n */\n\nimport {\n Keyboard,\n makeAnchor,\n DisclosureWidget,\n DisclosureWidgetEvent,\n} from \"../../../Utility/utilities\"\n\ntype SubNavType = {\n list: HTMLElement\n trigger: HTMLButtonElement\n link: HTMLAnchorElement\n item?: HTMLLIElement\n widget?: DisclosureWidget\n linkWidget?: DisclosureWidget\n}\n\nexport default class Navigation extends HTMLElement {\n internals_: ElementInternals\n controller: AbortController\n keyboard: Keyboard\n subNavs?: Map<string, SubNavType>\n flyout?: boolean\n edgeCheck!: boolean\n mq!: string\n\n constructor() {\n super()\n this.internals_ = this.attachInternals()\n this.controller = new AbortController()\n this.flyout = this.hasAttribute(\"flyout\")\n }\n\n connectedCallback(): void {\n const { signal }: AbortController = this.controller\n\n // Add keyboard navigation events.\n this.keyboard = new Keyboard()\n this.keyboard.attachEventListeners(signal)\n\n // Add keyboard focus handler for menu links.\n this.addEventListener(\"focusin\", () => {\n this.keyboard.attachMenu(this, this.links)\n })\n this.addEventListener(\"focusout\", () => {\n this.keyboard.detachMenu()\n })\n\n if (!this.lists.length) return\n this.subNavs = new Map()\n this.lists.forEach((list: HTMLUListElement, index: number): void => {\n const item: HTMLLIElement = list.closest(\"li\")\n const link: HTMLAnchorElement = item.querySelector(\":scope > a\")\n const id: string = makeAnchor(`subnav-${index}-${link.textContent}`, 30)\n const trigger: HTMLButtonElement = item.querySelector(\":scope > button.mx-nav__toggle\")\n if (item && link && trigger) {\n const labelId = `list-label-${id}`\n link.setAttribute(\"id\", labelId)\n list.setAttribute(\"id\", id)\n list.setAttribute(\"aria-labelledby\", labelId)\n const widget = new DisclosureWidget(trigger, list)\n widget.init()\n this.subNavs.set(id, { item, trigger, list, link, widget })\n }\n })\n\n this.addEventListener(\"disclosure-toggle\", this.handleDisclosure)\n\n if (!this.flyout) return\n this.edgeCheck = this.hasAttribute(\"edgeCheck\")\n this.mq = this.getAttribute(\"mq\") || \"(min-width: 720px)\"\n this.handleBreakpoint(this.breakpoint)\n this.breakpoint.addEventListener(\"change\", this.handleBreakpoint, {\n signal,\n })\n }\n\n disconnectedCallback(): void {\n this.controller.abort()\n this.subNavs.forEach((subNav: SubNavType): void => subNav.widget.detach())\n }\n\n handleDisclosure = ({ detail }: CustomEvent<DisclosureWidgetEvent>): void => {\n const { isOpen, id } = detail\n const { item } = this.subNavs.get(id)\n item.classList.toggle(\"mx-nav--open\")\n if (isOpen) {\n this.keyboard.attachPopup(id, this.handleCloseAny)\n } else {\n this.keyboard.detachPopup(id)\n }\n }\n\n handleCloseAny = (): void => {\n this.subNavs.forEach(({ widget }: SubNavType): void => {\n if (!widget) return\n if (widget.isOpen) widget.handleToggle()\n })\n }\n\n handleFlyout = (event: MouseEvent): void => {\n const target = event.target as HTMLElement\n const parent: HTMLLIElement = target.closest(\"li\")\n if (!parent) return\n const subnav: HTMLUListElement = parent.querySelector(\":scope > ul\")\n if (!subnav) return\n this.subNavs.forEach(({ widget, list }: SubNavType): void => {\n if (!widget) return\n if (widget.isOpen) widget.handleToggle()\n if (list.id === subnav.id) widget.handleToggle()\n })\n }\n\n handleBreakpoint = ({ matches }: MediaQueryList | MediaQueryListEvent): void => {\n const { signal }: AbortController = this.controller\n if (matches) {\n this.addEventListener(\"mouseover\", this.handleFlyout, { signal })\n this.addEventListener(\"mouseleave\", this.handleCloseAny, { signal })\n if (this.edgeCheck) this.handleEdgeCheck()\n } else {\n this.removeEventListener(\"mouseover\", this.handleFlyout)\n this.removeEventListener(\"mouseleave\", this.handleCloseAny)\n }\n }\n\n handleEdgeCheck() {\n const windowInnerWidth: number = window.innerWidth\n const edgeCheck: IntersectionObserver = new IntersectionObserver(\n ([{ boundingClientRect, target }], obs) => {\n if (windowInnerWidth < boundingClientRect.right) target.classList.add(\"mx-nav--reverse\")\n obs.disconnect()\n },\n )\n this.subNavs.forEach(({ list }: SubNavType): void => {\n edgeCheck.observe(list)\n const nestedLists: NodeListOf<HTMLUListElement> = list.querySelectorAll(\"ul\")\n nestedLists.forEach(nestedList => edgeCheck.observe(nestedList))\n })\n }\n\n get links(): NodeListOf<HTMLAnchorElement> | null {\n const links: NodeListOf<HTMLAnchorElement> | null = this.querySelectorAll(\"a\")\n if (!links.length) {\n throw new Error(`${this.localName} must links`)\n }\n return links\n }\n\n get lists(): NodeListOf<HTMLUListElement> | null {\n return this.querySelectorAll(\"li > ul\")\n }\n\n get breakpoint(): MediaQueryList {\n return window.matchMedia(this.mq)\n }\n}\n\nif (!customElements.get(\"mx-nav\")) customElements.define(\"mx-nav\", Navigation)\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"mx-nav\": Navigation\n }\n}\n"],"names":[],"mappings":"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"}
@@ -62,4 +62,4 @@
62
62
  }
63
63
  }
64
64
 
65
- /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhZ2UuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFOztBQUVGO0VBQ0U7SUFDRSxhQUFvQztJQUNwQyxhQUFzQztJQUN0Qyx3Q0FBd0M7SUFDeEMsNkRBQTBEO0lBQzFELGtDQUFrQztJQUNsQyxxRUFBcUU7SUFDckUsa0NBQWtDO0lBQ2xDLG1DQUFtQzs7SUFFbkMsYUFBYTtJQUNiOzs7Ozs7OzRCQU93QjtJQVB4Qjs7Ozs7Ozs0QkFPd0I7RUF3QjFCOztJQXRCRTtNQUtFLHNCQUEwQztNQUExQywwQ0FBMEM7SUFDNUM7O0lBRUEsNkRBQTZEO0lBQzdEO01BQ0UsaUJBQWlCO01BQ2pCLGFBQWE7TUFDYiw4QkFBOEI7SUFTaEM7O01BUEU7UUFLRSxzQkFBMEM7UUFBMUMsMENBQTBDO01BQzVDOztFQUlKO0lBQ0Usc0JBQXNCO0VBQ3hCOztFQUVBO0lBQ0UscUJBQXFCO0VBQ3ZCOztFQUVBO0lBQ0UsbUJBQW1CO0VBQ3JCO0FBQ0YiLCJmaWxlIjoicGFnZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFBhZ2VcbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5sYXlvdXRzIHtcbiAgOndoZXJlKC5teC1wYWdlKSB7XG4gICAgLS1wbHVzOiB0b2tlbihcInNpemUuY29udGFpbmVyLnBsdXNcIik7XG4gICAgLS1taW51czogdG9rZW4oXCJzaXplLmNvbnRhaW5lci5taW51c1wiKTtcbiAgICAtLWRpZmY6IGNhbGModmFyKC0tcGx1cykgLSB2YXIoLS1taW51cykpO1xuICAgIC0tZ3V0dGVyOiBjbGFtcCh2YXIoLS1ndXR0ZXItbWluKSwgNnZ3LCB2YXIoLS1ndXR0ZXItbWF4KSk7XG4gICAgLS1mdWxsOiBtaW5tYXgodmFyKC0tZ3V0dGVyKSwgMWZyKTtcbiAgICAtLW5hcnJvdzogbWluKHZhcigtLWNvbnRhaW5lci1tYXgtd2lkdGgpLCAxMDAlIC0gKHZhcigtLWd1dHRlcikgKiAyKSk7XG4gICAgLS1mZWF0dXJlOiBtaW5tYXgoMCwgdmFyKC0tbWludXMpKTtcbiAgICAtLWNvbnRhaW5lcjogbWlubWF4KDAsIHZhcigtLWRpZmYpKTtcblxuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOlxuICAgICAgW2Z1bGwtc3RhcnRdIHZhcigtLWZ1bGwpXG4gICAgICBbY29udGFpbmVyLXN0YXJ0XSB2YXIoLS1jb250YWluZXIpXG4gICAgICBbZmVhdHVyZS1zdGFydF0gdmFyKC0tZmVhdHVyZSlcbiAgICAgIFtuYXJyb3ctc3RhcnRdIHZhcigtLW5hcnJvdykgW25hcnJvdy1lbmRdXG4gICAgICB2YXIoLS1mZWF0dXJlKSBbZmVhdHVyZS1lbmRdXG4gICAgICB2YXIoLS1jb250YWluZXIpIFtjb250YWluZXItZW5kXVxuICAgICAgdmFyKC0tZnVsbCkgW2Z1bGwtZW5kXTtcblxuICAgICZcbiAgICAgID4gOndoZXJlKFxuICAgICAgICAqOm5vdCgubXgtcGFnZSwgW2NsYXNzKj1cIm14LWJhY2tncm91bmQtLVwiXSksXG4gICAgICAgIC5teC1iYWNrZ3JvdW5kLS1ib3hcbiAgICAgICkge1xuICAgICAgZ3JpZC1jb2x1bW46IHZhcigtLWdyaWQtY29sdW1uLCBjb250YWluZXIpO1xuICAgIH1cblxuICAgIC8qIEltbWVkaWF0ZSBuZXN0ZWQgb3IgYWRkaW5nIGEgYmFja2dyb3VuZCB0cmlnZ2VycyBzdWJncmlkICovXG4gICAgJiA+IDp3aGVyZSgubXgtcGFnZSwgW2NsYXNzKj1cIm14LWJhY2tncm91bmQtLVwiXTpub3QoLm14LWJhY2tncm91bmQtLWJveCkpIHtcbiAgICAgIGdyaWQtY29sdW1uOiBmdWxsO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDtcblxuICAgICAgJlxuICAgICAgICA+IDp3aGVyZShcbiAgICAgICAgICAqOm5vdCgubXgtcGFnZSwgW2NsYXNzKj1cIm14LWJhY2tncm91bmQtLVwiXSksXG4gICAgICAgICAgLm14LWJhY2tncm91bmQtLWJveFxuICAgICAgICApIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHZhcigtLWdyaWQtY29sdW1uLCBjb250YWluZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIDp3aGVyZSgubXgtcGFnZS0tZmVhdHVyZSA+ICosIC5teC1zZWN0aW9uLS1mZWF0dXJlKSB7XG4gICAgLS1ncmlkLWNvbHVtbjogZmVhdHVyZTtcbiAgfVxuXG4gIDp3aGVyZSgubXgtcGFnZS0tbmFycm93ID4gKiwgLm14LXNlY3Rpb24tLW5hcnJvdykge1xuICAgIC0tZ3JpZC1jb2x1bW46IG5hcnJvdztcbiAgfVxuXG4gIDp3aGVyZSgubXgtcGFnZS0tZnVsbCA+ICosIC5teC1zZWN0aW9uLS1mdWxsKSB7XG4gICAgLS1ncmlkLWNvbHVtbjogZnVsbDtcbiAgfVxufVxuIl19 */
65
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhZ2UuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFOztBQUVGO0VBQ0U7SUFDRSxhQUFvQztJQUNwQyxhQUFzQztJQUN0Qyx3Q0FBd0M7SUFDeEMsNkRBQTBEO0lBQzFELGtDQUFrQztJQUNsQyxxRUFBcUU7SUFDckUsa0NBQWtDO0lBQ2xDLG1DQUFtQzs7SUFFbkMsYUFBYTtJQUNiOzs7Ozs7OzRCQU93QjtJQVB4Qjs7Ozs7Ozs0QkFPd0I7RUFnQjFCOztJQWRFO01BQ0Usc0JBQTBDO01BQTFDLDBDQUEwQztJQUM1Qzs7SUFFQSw2REFBNkQ7SUFDN0Q7TUFDRSxpQkFBaUI7TUFDakIsYUFBYTtNQUNiLDhCQUE4QjtJQUtoQzs7TUFIRTtRQUNFLHNCQUEwQztRQUExQywwQ0FBMEM7TUFDNUM7O0VBSUo7SUFDRSxzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRSxxQkFBcUI7RUFDdkI7O0VBRUE7SUFDRSxtQkFBbUI7RUFDckI7QUFDRiIsImZpbGUiOiJwYWdlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUGFnZVxuICovXG5cbkBsYXllciBkZXNpZ24tc3lzdGVtLmxheW91dHMge1xuICA6d2hlcmUoLm14LXBhZ2UpIHtcbiAgICAtLXBsdXM6IHRva2VuKFwic2l6ZS5jb250YWluZXIucGx1c1wiKTtcbiAgICAtLW1pbnVzOiB0b2tlbihcInNpemUuY29udGFpbmVyLm1pbnVzXCIpO1xuICAgIC0tZGlmZjogY2FsYyh2YXIoLS1wbHVzKSAtIHZhcigtLW1pbnVzKSk7XG4gICAgLS1ndXR0ZXI6IGNsYW1wKHZhcigtLWd1dHRlci1taW4pLCA2dncsIHZhcigtLWd1dHRlci1tYXgpKTtcbiAgICAtLWZ1bGw6IG1pbm1heCh2YXIoLS1ndXR0ZXIpLCAxZnIpO1xuICAgIC0tbmFycm93OiBtaW4odmFyKC0tY29udGFpbmVyLW1heC13aWR0aCksIDEwMCUgLSAodmFyKC0tZ3V0dGVyKSAqIDIpKTtcbiAgICAtLWZlYXR1cmU6IG1pbm1heCgwLCB2YXIoLS1taW51cykpO1xuICAgIC0tY29udGFpbmVyOiBtaW5tYXgoMCwgdmFyKC0tZGlmZikpO1xuXG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6XG4gICAgICBbZnVsbC1zdGFydF0gdmFyKC0tZnVsbClcbiAgICAgIFtjb250YWluZXItc3RhcnRdIHZhcigtLWNvbnRhaW5lcilcbiAgICAgIFtmZWF0dXJlLXN0YXJ0XSB2YXIoLS1mZWF0dXJlKVxuICAgICAgW25hcnJvdy1zdGFydF0gdmFyKC0tbmFycm93KSBbbmFycm93LWVuZF1cbiAgICAgIHZhcigtLWZlYXR1cmUpIFtmZWF0dXJlLWVuZF1cbiAgICAgIHZhcigtLWNvbnRhaW5lcikgW2NvbnRhaW5lci1lbmRdXG4gICAgICB2YXIoLS1mdWxsKSBbZnVsbC1lbmRdO1xuXG4gICAgJiA+IDp3aGVyZSgqOm5vdCgubXgtcGFnZSwgW2NsYXNzKj1cIm14LWJhY2tncm91bmQtLVwiXSksIC5teC1iYWNrZ3JvdW5kLS1ib3gpIHtcbiAgICAgIGdyaWQtY29sdW1uOiB2YXIoLS1ncmlkLWNvbHVtbiwgY29udGFpbmVyKTtcbiAgICB9XG5cbiAgICAvKiBJbW1lZGlhdGUgbmVzdGVkIG9yIGFkZGluZyBhIGJhY2tncm91bmQgdHJpZ2dlcnMgc3ViZ3JpZCAqL1xuICAgICYgPiA6d2hlcmUoLm14LXBhZ2UsIFtjbGFzcyo9XCJteC1iYWNrZ3JvdW5kLS1cIl06bm90KC5teC1iYWNrZ3JvdW5kLS1ib3gpKSB7XG4gICAgICBncmlkLWNvbHVtbjogZnVsbDtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XG5cbiAgICAgICYgPiA6d2hlcmUoKjpub3QoLm14LXBhZ2UsIFtjbGFzcyo9XCJteC1iYWNrZ3JvdW5kLS1cIl0pLCAubXgtYmFja2dyb3VuZC0tYm94KSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiB2YXIoLS1ncmlkLWNvbHVtbiwgY29udGFpbmVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA6d2hlcmUoLm14LXBhZ2UtLWZlYXR1cmUgPiAqLCAubXgtc2VjdGlvbi0tZmVhdHVyZSkge1xuICAgIC0tZ3JpZC1jb2x1bW46IGZlYXR1cmU7XG4gIH1cblxuICA6d2hlcmUoLm14LXBhZ2UtLW5hcnJvdyA+ICosIC5teC1zZWN0aW9uLS1uYXJyb3cpIHtcbiAgICAtLWdyaWQtY29sdW1uOiBuYXJyb3c7XG4gIH1cblxuICA6d2hlcmUoLm14LXBhZ2UtLWZ1bGwgPiAqLCAubXgtc2VjdGlvbi0tZnVsbCkge1xuICAgIC0tZ3JpZC1jb2x1bW46IGZ1bGw7XG4gIH1cbn1cbiJdfQ== */