@pnx-mixtape/mxds 0.0.6 → 0.0.8

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 (353) hide show
  1. package/dist/build/base.css +16 -19
  2. package/dist/build/breadcrumb.css +10 -6
  3. package/dist/build/button.css +2 -2
  4. package/dist/build/card.css +69 -56
  5. package/dist/build/chunks/drop-menu.entry-BC6x9vst.js +132 -0
  6. package/dist/build/chunks/drop-menu.entry-BC6x9vst.js.map +1 -0
  7. package/dist/build/content-block.css +24 -11
  8. package/dist/build/drop-menu.css +9 -9
  9. package/dist/build/drop-menu.entry.js +1 -128
  10. package/dist/build/drop-menu.entry.js.map +1 -1
  11. package/dist/build/footer.css +118 -28
  12. package/dist/build/form.css +142 -214
  13. package/dist/build/global-alert.css +3 -3
  14. package/dist/build/header.css +37 -30
  15. package/dist/build/header.entry.js +6 -1
  16. package/dist/build/header.entry.js.map +1 -1
  17. package/dist/build/in-page-navigation.css +3 -3
  18. package/dist/build/in-page-navigation.entry.js +2 -2
  19. package/dist/build/in-page-navigation.entry.js.map +1 -1
  20. package/dist/build/list-item.css +114 -0
  21. package/dist/build/masthead.css +7 -16
  22. package/dist/build/navigation.css +134 -113
  23. package/dist/build/navigation.entry.js +6 -5
  24. package/dist/build/navigation.entry.js.map +1 -1
  25. package/dist/build/page.css +14 -118
  26. package/dist/build/pagination.css +26 -19
  27. package/dist/build/side-navigation.css +88 -0
  28. package/dist/build/sidebar.css +15 -15
  29. package/dist/build/social-links.css +20 -0
  30. package/dist/build/steps.css +118 -0
  31. package/dist/build/steps.entry.js +2 -0
  32. package/dist/build/steps.entry.js.map +1 -0
  33. package/dist/build/tabs.css +22 -19
  34. package/dist/build/tabs.entry.js +87 -46
  35. package/dist/build/tabs.entry.js.map +1 -1
  36. package/dist/build/utilities.css +6 -3
  37. package/package.json +2 -2
  38. package/src/Atom/Button/Button.stories.ts +4 -3
  39. package/src/Atom/Button/__snapshots__/Button.stories.tsx.snap +2 -2
  40. package/src/Atom/Button/_buttons.css +1 -1
  41. package/src/Atom/Button/button.twig +1 -1
  42. package/src/Atom/Heading/__snapshots__/Heading.stories.ts.snap +1 -1
  43. package/src/Atom/Heading/heading.twig +4 -1
  44. package/src/Atom/Icon/__snapshots__/Icon.stories.tsx.snap +3 -3
  45. package/src/Atom/Icon/icon.twig +1 -1
  46. package/src/Atom/Link/Link.stories.ts +8 -7
  47. package/src/Atom/Link/__snapshots__/Link.stories.ts.snap +5 -9
  48. package/src/Atom/Link/__snapshots__/Link.stories.tsx.snap +3 -3
  49. package/src/Atom/Link/_links.css +12 -2
  50. package/src/Atom/Link/link.twig +6 -4
  51. package/src/Atom/Media/Media.stories.ts +9 -9
  52. package/src/Atom/Media/__snapshots__/Media.stories.ts.snap +1 -1
  53. package/src/Atom/Media/__snapshots__/Media.stories.tsx.snap +1 -1
  54. package/src/Atom/Media/media.twig +6 -2
  55. package/src/Atom/_generic.css +0 -13
  56. package/src/Component/Accordion/Accordion.stories.ts +9 -7
  57. package/src/Component/Accordion/__snapshots__/Accordion.stories.ts.snap +2 -2
  58. package/src/Component/Accordion/__snapshots__/Accordion.stories.tsx.snap +4 -4
  59. package/src/Component/Accordion/accordion-item.twig +1 -1
  60. package/src/Component/Accordion/accordion.twig +3 -1
  61. package/src/Component/Breadcrumb/Breadcrumb.stories.ts +23 -5
  62. package/src/Component/Breadcrumb/__snapshots__/Breadcrumb.stories.ts.snap +15 -8
  63. package/src/Component/Breadcrumb/__snapshots__/Breadcrumb.stories.tsx.snap +6 -6
  64. package/src/Component/Breadcrumb/breadcrumb.css +7 -3
  65. package/src/Component/Breadcrumb/breadcrumb.twig +14 -12
  66. package/src/Component/Callout/Callout.stories.ts +5 -4
  67. package/src/Component/Callout/__snapshots__/Callout.stories.ts.snap +1 -1
  68. package/src/Component/Callout/callout.twig +1 -1
  69. package/src/Component/Card/Card.stories.ts +47 -20
  70. package/src/Component/Card/Card.stories.tsx +5 -4
  71. package/src/Component/Card/Card.tsx +7 -7
  72. package/src/Component/Card/__snapshots__/Card.stories.ts.snap +123 -49
  73. package/src/Component/Card/__snapshots__/Card.stories.tsx.snap +18 -18
  74. package/src/Component/Card/card.css +57 -43
  75. package/src/Component/Card/card.twig +13 -13
  76. package/src/Component/ContentBlock/ContentBlock.stories.ts +73 -6
  77. package/src/Component/ContentBlock/ContentBlock.stories.tsx +19 -10
  78. package/src/Component/ContentBlock/ContentBlock.tsx +25 -17
  79. package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.ts.snap +137 -5
  80. package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.tsx.snap +21 -14
  81. package/src/Component/ContentBlock/content-block.css +21 -10
  82. package/src/Component/ContentBlock/content-block.twig +21 -11
  83. package/src/Component/DropMenu/Components/DropMenuItem.tsx +1 -1
  84. package/src/Component/DropMenu/DropMenu.stories.ts +1 -1
  85. package/src/Component/DropMenu/DropMenu.tsx +6 -6
  86. package/src/Component/DropMenu/__snapshots__/DropMenu.stories.ts.snap +2 -2
  87. package/src/Component/DropMenu/__snapshots__/DropMenu.stories.tsx.snap +2 -2
  88. package/src/Component/DropMenu/drop-menu.css +2 -2
  89. package/src/Component/DropMenu/drop-menu.twig +2 -2
  90. package/src/Component/GlobalAlert/GlobalAlert.stories.ts +5 -6
  91. package/src/Component/GlobalAlert/__snapshots__/GlobalAlert.stories.tsx.snap +7 -7
  92. package/src/Component/GlobalAlert/global-alert.css +1 -1
  93. package/src/Component/GlobalAlert/global-alert.twig +1 -1
  94. package/src/Component/HeroBanner/HeroBanner.stories.ts +17 -12
  95. package/src/Component/HeroBanner/__snapshots__/HeroBanner.stories.ts.snap +11 -11
  96. package/src/Component/HeroBanner/__snapshots__/HeroBanner.stories.tsx.snap +9 -9
  97. package/src/Component/HeroBanner/hero-banner.twig +2 -2
  98. package/src/Component/InPageAlert/InPageAlert.stories.ts +4 -3
  99. package/src/Component/InPageAlert/__snapshots__/InPageAlert.stories.ts.snap +1 -3
  100. package/src/Component/InPageAlert/in-page-alert.twig +1 -1
  101. package/src/Component/InPageNavigation/Elements/InPageNavigation.ts +2 -2
  102. package/src/Component/InPageNavigation/InPageNavigation.stories.ts +30 -7
  103. package/src/Component/InPageNavigation/InPageNavigation.tsx +4 -4
  104. package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.ts.snap +103 -5
  105. package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.tsx.snap +21 -21
  106. package/src/Component/InPageNavigation/in-page-navigation.css +3 -3
  107. package/src/Component/InPageNavigation/in-page-navigation.twig +13 -17
  108. package/src/Component/InPageNavigation/twig/{in-page-navigation-content-example.twig → content-example.twig} +2 -0
  109. package/src/Component/InPageNavigation/twig/in-page-navigation-story.twig +2 -0
  110. package/src/Component/LinkList/__snapshots__/LinkList.stories.tsx.snap +8 -8
  111. package/src/Component/LinkList/link-list.twig +1 -1
  112. package/src/Component/ListItem/ListItem.stories.ts +105 -0
  113. package/src/Component/ListItem/{Teaser.stories.tsx → ListItem.stories.tsx} +4 -5
  114. package/src/Component/ListItem/ListItem.tsx +55 -0
  115. package/src/Component/ListItem/__snapshots__/ListItem.stories.ts.snap +184 -0
  116. package/src/Component/ListItem/__snapshots__/ListItem.stories.tsx.snap +23 -0
  117. package/src/Component/ListItem/list-item.css +109 -0
  118. package/src/Component/ListItem/list-item.twig +32 -0
  119. package/src/Component/Navigation/Components/DropdownLevel.tsx +11 -6
  120. package/src/Component/Navigation/Dropdown.tsx +2 -2
  121. package/src/Component/Navigation/Elements/Navigation.ts +6 -5
  122. package/src/Component/Navigation/Navigation.stories.ts +261 -5
  123. package/src/Component/Navigation/Navigation.tsx +2 -2
  124. package/src/Component/Navigation/__snapshots__/Dropdown.stories.tsx.snap +4 -4
  125. package/src/Component/Navigation/__snapshots__/Navigation.stories.ts.snap +294 -7
  126. package/src/Component/Navigation/__snapshots__/Navigation.stories.tsx.snap +2 -2
  127. package/src/Component/Navigation/_navigation-collapsible.css +22 -12
  128. package/src/Component/Navigation/_navigation-dropdown.css +8 -8
  129. package/src/Component/Navigation/_navigation-mega.css +4 -4
  130. package/src/Component/Navigation/_navigation.css +9 -6
  131. package/src/Component/Navigation/menu.twig +42 -0
  132. package/src/Component/Navigation/navigation.css +1 -1
  133. package/src/Component/Navigation/navigation.twig +23 -9
  134. package/src/Component/Pagination/Components/PaginationItem.tsx +4 -4
  135. package/src/Component/Pagination/Pagination.stories.ts +55 -6
  136. package/src/Component/Pagination/Pagination.tsx +2 -2
  137. package/src/Component/Pagination/__snapshots__/Pagination.stories.ts.snap +36 -33
  138. package/src/Component/Pagination/__snapshots__/Pagination.stories.tsx.snap +11 -11
  139. package/src/Component/Pagination/pagination-item.twig +7 -0
  140. package/src/Component/Pagination/pagination.css +12 -9
  141. package/src/Component/Pagination/pagination.twig +12 -37
  142. package/src/Component/SideNavigation/SideNavigation.stories.ts +97 -0
  143. package/src/Component/SideNavigation/__snapshots__/SideNavigation.stories.ts.snap +86 -0
  144. package/src/Component/SideNavigation/side-navigation.css +78 -0
  145. package/src/Component/SideNavigation/side-navigation.twig +35 -0
  146. package/src/Component/SideNavigation/twig/side-navigation-story.twig +7 -0
  147. package/src/Component/SocialLinks/SocialLinks.stories.ts +58 -0
  148. package/src/Component/SocialLinks/__snapshots__/SocialLinks.stories.ts.snap +32 -0
  149. package/src/Component/SocialLinks/social-links.css +17 -0
  150. package/src/Component/SocialLinks/social-links.twig +6 -0
  151. package/src/Component/SocialShare/__snapshots__/SocialShare.stories.tsx.snap +3 -3
  152. package/src/Component/Steps/Steps.stories.ts +88 -0
  153. package/src/Component/Steps/__snapshots__/Steps.stories.ts.snap +111 -0
  154. package/src/Component/Steps/step-item.twig +11 -0
  155. package/src/Component/Steps/steps.css +99 -0
  156. package/src/Component/Steps/steps.entry.js +0 -0
  157. package/src/Component/Steps/steps.twig +18 -0
  158. package/src/Component/Sticky/Sticky.stories.ts +3 -0
  159. package/src/Component/Sticky/__snapshots__/Sticky.stories.ts.snap +7 -8
  160. package/src/Component/Sticky/sticky.twig +2 -20
  161. package/src/Component/Tabs/Components/Tab.tsx +1 -2
  162. package/src/Component/Tabs/Components/TabDropMenu.tsx +1 -1
  163. package/src/Component/Tabs/Components/TabList.tsx +1 -1
  164. package/src/Component/Tabs/Components/TabPanel.tsx +2 -2
  165. package/src/Component/Tabs/Elements/Tabs.ts +98 -49
  166. package/src/Component/Tabs/Tabs.stories.ts +45 -8
  167. package/src/Component/Tabs/Tabs.stories.tsx +3 -3
  168. package/src/Component/Tabs/Tabs.tsx +2 -2
  169. package/src/Component/Tabs/__snapshots__/Tabs.stories.ts.snap +46 -92
  170. package/src/Component/Tabs/__snapshots__/Tabs.stories.tsx.snap +11 -14
  171. package/src/Component/Tabs/tab-item.twig +11 -0
  172. package/src/Component/Tabs/tabs.css +20 -17
  173. package/src/Component/Tabs/tabs.twig +10 -46
  174. package/src/Component/Tag/__snapshots__/Tag.stories.tsx.snap +1 -1
  175. package/src/Component/Tag/tags.twig +1 -1
  176. package/src/Component/Tile/__snapshots__/Tile.stories.tsx.snap +4 -4
  177. package/src/Form/Checkbox/Checkbox.stories.ts +39 -0
  178. package/src/Form/Checkbox/FormCheckbox.tsx +3 -3
  179. package/src/Form/Checkbox/__snapshots__/Checkbox.stories.ts.snap +28 -0
  180. package/src/Form/Checkbox/input-checkbox.twig +27 -24
  181. package/src/Form/Description/Description.stories.ts +10 -7
  182. package/src/Form/Description/FormDescription.tsx +3 -3
  183. package/src/Form/Description/FormStatus.stories.ts +31 -0
  184. package/src/Form/Description/__snapshots__/Description.stories.ts.snap +2 -9
  185. package/src/Form/Description/__snapshots__/FormDescription.stories.tsx.snap +1 -1
  186. package/src/Form/Description/__snapshots__/FormStatus.stories.ts.snap +19 -0
  187. package/src/Form/Description/form-description.twig +4 -3
  188. package/src/Form/Description/form-status.twig +10 -0
  189. package/src/Form/Form/FormTitle.tsx +1 -1
  190. package/src/Form/Form/__snapshots__/FormTitle.stories.tsx.snap +1 -1
  191. package/src/Form/Form/form.twig +14 -0
  192. package/src/Form/Form/twig/form-example.twig +4 -4
  193. package/src/Form/FormItem/FormItem.stories.ts +119 -0
  194. package/src/Form/{Item → FormItem}/FormItem.tsx +1 -1
  195. package/src/Form/FormItem/__snapshots__/FormItem.stories.ts.snap +133 -0
  196. package/src/Form/{Item → FormItem}/__snapshots__/FormItem.stories.tsx.snap +24 -16
  197. package/src/Form/FormItem/form-item.twig +22 -0
  198. package/src/Form/Label/FormLabel.tsx +1 -1
  199. package/src/Form/Label/Label.stories.ts +16 -19
  200. package/src/Form/Label/__snapshots__/FormLabel.stories.tsx.snap +6 -2
  201. package/src/Form/Label/__snapshots__/Label.stories.ts.snap +11 -9
  202. package/src/Form/Label/label.twig +13 -2
  203. package/src/Form/Radio/FormRadio.tsx +2 -2
  204. package/src/Form/Radio/Radio.stories.ts +72 -0
  205. package/src/Form/Radio/__snapshots__/Radio.stories.ts.snap +58 -0
  206. package/src/Form/Radio/input-radio.twig +18 -24
  207. package/src/Form/Search/Search.stories.ts +50 -0
  208. package/src/Form/Search/__snapshots__/Search.stories.ts.snap +26 -0
  209. package/src/Form/Search/search-form.twig +11 -0
  210. package/src/Form/Select/FormSelect.tsx +1 -1
  211. package/src/Form/Select/Select.stories.ts +24 -31
  212. package/src/Form/Select/__snapshots__/FormSelect.stories.tsx.snap +1 -1
  213. package/src/Form/Select/__snapshots__/Select.stories.ts.snap +16 -144
  214. package/src/Form/Select/input-select.twig +25 -0
  215. package/src/Form/TextInput/FormText.tsx +4 -7
  216. package/src/Form/TextInput/TextInput.stories.ts +23 -41
  217. package/src/Form/TextInput/__snapshots__/FormText.stories.tsx.snap +1 -1
  218. package/src/Form/TextInput/__snapshots__/InputDivider.stories.ts.snap +10 -14
  219. package/src/Form/TextInput/__snapshots__/TextInput.stories.ts.snap +20 -96
  220. package/src/Form/TextInput/input-divider.twig +7 -8
  221. package/src/Form/TextInput/input-text-icon.twig +5 -5
  222. package/src/Form/TextInput/input-text.twig +31 -5
  223. package/src/Form/Textarea/FormTextarea.tsx +4 -7
  224. package/src/Form/Textarea/Textarea.stories.ts +11 -8
  225. package/src/Form/Textarea/__snapshots__/FormTextarea.stories.tsx.snap +1 -1
  226. package/src/Form/Textarea/__snapshots__/Textarea.stories.ts.snap +8 -16
  227. package/src/Form/Textarea/input-textarea.twig +21 -0
  228. package/src/Form/form.css +103 -103
  229. package/src/Layout/Footer/Footer.stories.ts +197 -5
  230. package/src/Layout/Footer/Footer.stories.tsx +5 -9
  231. package/src/Layout/Footer/Footer.tsx +21 -19
  232. package/src/Layout/Footer/__snapshots__/Footer.stories.ts.snap +296 -78
  233. package/src/Layout/Footer/__snapshots__/Footer.stories.tsx.snap +52 -58
  234. package/src/Layout/Footer/footer.css +102 -25
  235. package/src/Layout/Footer/footer.twig +29 -23
  236. package/src/Layout/Grid/Grid.stories.ts +15 -14
  237. package/src/Layout/Grid/Grid.stories.tsx +14 -14
  238. package/src/Layout/Grid/Grid.tsx +10 -10
  239. package/src/Layout/Grid/__snapshots__/Grid.stories.tsx.snap +10 -10
  240. package/src/Layout/Grid/grid-item.twig +1 -1
  241. package/src/Layout/Grid/grid.twig +7 -4
  242. package/src/Layout/Header/Components/GlobalToggle.tsx +0 -1
  243. package/src/Layout/Header/Components/Logo.tsx +1 -1
  244. package/src/Layout/Header/Elements/GlobalToggle.ts +6 -1
  245. package/src/Layout/Header/Header.stories.ts +242 -7
  246. package/src/Layout/Header/Header.tsx +22 -19
  247. package/src/Layout/Header/__snapshots__/Header.stories.ts.snap +464 -100
  248. package/src/Layout/Header/__snapshots__/Header.stories.tsx.snap +50 -46
  249. package/src/Layout/Header/_header.css +28 -21
  250. package/src/Layout/Header/_toggles.css +2 -2
  251. package/src/Layout/Header/header-stacked.twig +49 -0
  252. package/src/Layout/Header/header.twig +42 -21
  253. package/src/Layout/Header/twig/logo.twig +2 -2
  254. package/src/Layout/Masthead/Masthead.stories.ts +42 -6
  255. package/src/Layout/Masthead/__snapshots__/Masthead.stories.ts.snap +44 -27
  256. package/src/Layout/Masthead/masthead.css +5 -14
  257. package/src/Layout/Masthead/masthead.twig +25 -7
  258. package/src/Layout/Page/Page.tsx +2 -2
  259. package/src/Layout/Page/__snapshots__/Page.stories.tsx.snap +61 -59
  260. package/src/Layout/Page/page.css +19 -84
  261. package/src/Layout/Page/page.twig +8 -3
  262. package/src/Layout/Section/Section.stories.ts +12 -9
  263. package/src/Layout/Section/Section.stories.tsx +5 -9
  264. package/src/Layout/Section/Section.tsx +6 -10
  265. package/src/Layout/Section/SectionGrid.stories.tsx +5 -11
  266. package/src/Layout/Section/SectionGrid.tsx +8 -13
  267. package/src/Layout/Section/__snapshots__/Background.stories.ts.snap +12 -12
  268. package/src/Layout/Section/__snapshots__/Breakouts.stories.ts.snap +17 -17
  269. package/src/Layout/Section/__snapshots__/Flow.stories.ts.snap +18 -18
  270. package/src/Layout/Section/__snapshots__/Section.stories.ts.snap +4 -4
  271. package/src/Layout/Section/__snapshots__/Section.stories.tsx.snap +6 -6
  272. package/src/Layout/Section/__snapshots__/SectionGrid.stories.tsx.snap +6 -6
  273. package/src/Layout/Section/section.twig +1 -1
  274. package/src/Layout/Section/twig/section-background.twig +5 -5
  275. package/src/Layout/Section/twig/sections-breakout.twig +16 -16
  276. package/src/Layout/Section/twig/sections-flow.twig +17 -17
  277. package/src/Layout/Section/twig/sections-stacked.twig +8 -16
  278. package/src/Layout/Sidebar/Sidebar.stories.ts +25 -3
  279. package/src/Layout/Sidebar/Sidebar.stories.tsx +1 -1
  280. package/src/Layout/Sidebar/Sidebar.tsx +4 -4
  281. package/src/Layout/Sidebar/__snapshots__/Sidebar.stories.ts.snap +39 -16
  282. package/src/Layout/Sidebar/__snapshots__/Sidebar.stories.tsx.snap +6 -6
  283. package/src/Layout/Sidebar/sidebar.css +6 -6
  284. package/src/Layout/Sidebar/sidebar.twig +25 -16
  285. package/src/Utility/utilities.css +5 -2
  286. package/src/react.ts +1 -2
  287. package/dist/build/footer-menu.css +0 -32
  288. package/dist/build/nav-list.css +0 -26
  289. package/src/Atom/Button/twig/story-button.twig +0 -11
  290. package/src/Atom/Link/twig/story-link.twig +0 -11
  291. package/src/Atom/Media/twig/story-media.twig +0 -11
  292. package/src/Atom/NavList/NavList.stories.ts +0 -15
  293. package/src/Atom/NavList/__snapshots__/NavList.stories.ts.snap +0 -43
  294. package/src/Atom/NavList/nav-list.css +0 -23
  295. package/src/Atom/NavList/nav-list.twig +0 -25
  296. package/src/Component/Accordion/twig/accordion-story.twig +0 -13
  297. package/src/Component/Author/Author.stories.tsx +0 -18
  298. package/src/Component/Author/Author.tsx +0 -30
  299. package/src/Component/Author/__snapshots__/Author.stories.tsx.snap +0 -21
  300. package/src/Component/Callout/twig/callout-story.twig +0 -11
  301. package/src/Component/Card/twig/old-card.twig +0 -17
  302. package/src/Component/Card/twig/story-card.twig +0 -29
  303. package/src/Component/ContentBlock/twig/content-block-example.twig +0 -7
  304. package/src/Component/GlobalAlert/twig/story-global-alert.twig +0 -14
  305. package/src/Component/HeroBanner/twig/hero-banner-story.twig +0 -19
  306. package/src/Component/InPageAlert/twig/story-in-page-alert.twig +0 -11
  307. package/src/Component/InPageNavigation/twig/in-page-navigation-menu-example.twig +0 -6
  308. package/src/Component/ListItem/Teaser.tsx +0 -54
  309. package/src/Component/ListItem/__snapshots__/Teaser.stories.tsx.snap +0 -32
  310. package/src/Component/Navigation/Collapsible.stories.ts +0 -16
  311. package/src/Component/Navigation/Dropdown.stories.ts +0 -16
  312. package/src/Component/Navigation/MegaNav.stories.ts +0 -16
  313. package/src/Component/Navigation/__snapshots__/Collapsible.stories.ts.snap +0 -123
  314. package/src/Component/Navigation/__snapshots__/Dropdown.stories.ts.snap +0 -125
  315. package/src/Component/Navigation/navigation-collapsible.twig +0 -7
  316. package/src/Component/Navigation/navigation-dropdown.twig +0 -7
  317. package/src/Component/Navigation/navigation-mega-nav.twig +0 -7
  318. package/src/Component/Navigation/twig/navigation-subnav-list.twig +0 -108
  319. package/src/Component/Sticky/twig/sticky-example.twig +0 -4
  320. package/src/Component/Tabs/twig/panel.twig +0 -5
  321. package/src/Component/Tabs/twig/tab-list.twig +0 -26
  322. package/src/Form/Checkbox/Checkboxes.stories.ts +0 -47
  323. package/src/Form/Checkbox/__snapshots__/Checkboxes.stories.ts.snap +0 -115
  324. package/src/Form/Checkbox/input-checkbox-single.twig +0 -6
  325. package/src/Form/Description/ErrorMessage.stories.ts +0 -16
  326. package/src/Form/Description/__snapshots__/ErrorMessage.stories.ts.snap +0 -20
  327. package/src/Form/Description/form-error.twig +0 -5
  328. package/src/Form/Fieldset/Fieldset.stories.ts +0 -34
  329. package/src/Form/Fieldset/__snapshots__/Fieldset.stories.ts.snap +0 -23
  330. package/src/Form/Fieldset/fieldset.twig +0 -4
  331. package/src/Form/Radio/Radios.stories.ts +0 -47
  332. package/src/Form/Radio/__snapshots__/Radios.stories.ts.snap +0 -125
  333. package/src/Form/Search/TextInputWithInlineButton.stories.ts +0 -16
  334. package/src/Form/Search/__snapshots__/TextInputWithInlineButton.stories.ts.snap +0 -26
  335. package/src/Form/Search/input-text-inline-submit.twig +0 -8
  336. package/src/Form/Select/select.twig +0 -16
  337. package/src/Form/TextInput/TextInputWithIcon.stories.ts +0 -40
  338. package/src/Form/TextInput/__snapshots__/TextInputWithIcon.stories.ts.snap +0 -67
  339. package/src/Form/Textarea/textarea.twig +0 -5
  340. package/src/Layout/Footer/FooterMenu/FooterMenu.stories.ts +0 -15
  341. package/src/Layout/Footer/FooterMenu/__snapshots__/FooterMenu.stories.ts.snap +0 -101
  342. package/src/Layout/Footer/FooterMenu/footer-menu.css +0 -29
  343. package/src/Layout/Footer/FooterMenu/footer-menu.twig +0 -5
  344. package/src/Layout/Grid/twig/container-grid-dynamic.twig +0 -47
  345. package/src/Layout/Grid/twig/container-grid.twig +0 -46
  346. package/src/Layout/Grid/twig/grid-story.twig +0 -6
  347. package/src/Layout/Grid/twig/old-grid.twig +0 -46
  348. package/src/Layout/Header/Stacked/Stacked.stories.ts +0 -16
  349. package/src/Layout/Header/Stacked/__snapshots__/Stacked.stories.ts.snap +0 -353
  350. package/src/Layout/Header/Stacked/header-stacked.twig +0 -33
  351. package/src/Layout/Header/twig/global-header.twig +0 -4
  352. package/src/Layout/Section/twig/section-story.twig +0 -14
  353. /package/src/Form/{Item → FormItem}/FormItem.stories.tsx +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drop-menu.entry-BC6x9vst.js","sources":["../../../src/Component/DropMenu/Elements/DropMenu.ts"],"sourcesContent":["/**\n * DropMenu\n * @file Create a DropMenu using the Popover and Anchor APIs\n */\n\nimport { Keyboard, makeAnchor } from \"../../../Utility/utilities\"\n\nexport type DropMenuEvent = CustomEvent<{\n event: MouseEvent | KeyboardEvent\n target: HTMLButtonElement | HTMLAnchorElement\n}>\n\nexport default class DropMenu extends HTMLElement {\n internals_: ElementInternals\n controller: AbortController\n keyboard: Keyboard = new Keyboard()\n closeOnClick: boolean\n\n constructor() {\n super()\n this.internals_ = this.attachInternals()\n this.controller = new AbortController()\n }\n\n async connectedCallback() {\n if (!this.menu || !this.trigger) return\n\n // Polyfill anchor (everywhere so far).\n if (!(\"anchorName\" in document.documentElement.style)) {\n const { default: Polyfills } = await import(\"../polyfills.js\")\n new Polyfills(this.menu) // eslint-disable-line no-new\n }\n // Polyfill popover (FF only)\n if (!Object.hasOwn(HTMLElement, \"popover\")) {\n await import(\"@oddbird/popover-polyfill\")\n }\n this.closeOnClick = this.hasAttribute(\"closeonclick\")\n\n const { signal }: AbortController = this.controller\n document.addEventListener(\n \"click\",\n (event: MouseEvent): void => {\n const { target } = event\n if (\n (target as HTMLElement) !== this.menu &&\n ![...this.items].includes(\n target as HTMLButtonElement | HTMLAnchorElement,\n )\n )\n return\n this.handleSelect(event)\n event.preventDefault()\n },\n {\n signal,\n },\n )\n\n document.addEventListener(\n \"keydown\",\n (event: KeyboardEvent): void => {\n const { target, key } = event\n if (\n (target as HTMLElement) !== this.menu &&\n ![...this.items].includes(\n target as HTMLButtonElement | HTMLAnchorElement,\n )\n )\n return\n if (key === \"Enter\") this.handleSelect(event)\n event.preventDefault()\n },\n {\n signal,\n },\n )\n\n this.keyboard.attachEventListeners(signal)\n this.menu.addEventListener(\"focusin\", this.attachKeyboardMenu, {\n signal,\n })\n this.menu.addEventListener(\"focusout\", this.detachKeyboardMenu, {\n signal,\n })\n this.menu.addEventListener(\"toggle\", this.handleToggle, {\n signal,\n })\n }\n\n disconnectedCallback(): void {\n this.controller.abort()\n this.keyboard.detachMenu()\n }\n\n handleSelect = (event: MouseEvent | KeyboardEvent): void => {\n const target = event.target as HTMLButtonElement | HTMLAnchorElement\n this.items.forEach(item => {\n if (!(item instanceof HTMLButtonElement)) return\n item.setAttribute(\"aria-checked\", String(item === target))\n })\n const newEvent: DropMenuEvent = new CustomEvent(\"drop-menu-select\", {\n bubbles: true,\n cancelable: true,\n detail: {\n event,\n target,\n },\n })\n this.menu.dispatchEvent(newEvent)\n if (this.closeOnClick) this.menu.togglePopover()\n }\n\n handleToggle = ({ newState }: ToggleEvent): void => {\n const handleClose = () => this.menu.togglePopover()\n if (newState === \"open\") {\n this.keyboard.attachPopup(this.menu.id, handleClose)\n } else {\n this.keyboard.detachPopup(this.menu.id)\n }\n }\n\n attachKeyboardMenu = (): void => {\n this.keyboard.attachMenu(this.menu, this.items)\n }\n\n detachKeyboardMenu = (): void => {\n this.keyboard.detachMenu()\n }\n\n get menu(): HTMLDivElement | null {\n const menu: HTMLDivElement | null = this.querySelector(\"[popover]\")\n if (!menu) {\n throw new Error(`${this.localName} must contain a <div popover> element.`)\n }\n menu.id = menu.id || this.generatedId()\n return menu\n }\n\n get items(): NodeListOf<HTMLButtonElement | HTMLAnchorElement> {\n const items: NodeListOf<HTMLButtonElement | HTMLAnchorElement> =\n this.menu.querySelectorAll(\":scope > *\")\n if (!items) {\n throw new Error(`${this.localName} must contain some menu items.`)\n }\n return items\n }\n\n get trigger(): HTMLButtonElement | null {\n const trigger: HTMLButtonElement | null = this.querySelector(\n `[popovertarget=${this.menu?.id}]`,\n )\n if (!trigger) {\n throw new Error(\n `${this.localName} must contain a <button popovertarget=\"${this.menu.id}\">`,\n )\n }\n return trigger\n }\n\n generatedId = (): string => {\n const string: string | undefined = this.trigger?.textContent?.trim()\n return !string ? \"\" : makeAnchor(string)\n }\n}\n\ncustomElements.define(\"mx-dropmenu\", DropMenu)\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"mx-dropmenu\": DropMenu\n }\n}\n"],"names":[],"mappings":"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"}
@@ -3,21 +3,34 @@
3
3
  */
4
4
 
5
5
  @layer design-system.components {
6
- .content-block {
7
- inline-size: 100%;
8
- margin-inline: auto;
9
- text-align: center;
6
+ .mx-content-block {
7
+ display: grid;
8
+ grid-gap: var(--content-block-gap, var(--gap));
9
+ gap: var(--content-block-gap, var(--gap));
10
10
  }
11
11
 
12
- .content-block .content-block__actions {
13
- padding-block-start: var(--spacing-m);
12
+ .mx-content-block .mx-link-list {
13
+ inline-size: 100%;
14
14
  }
15
- }
16
15
 
17
- @layer design-system.utilities {
18
- .vertical-flow-flex.content-block {
19
- align-items: center;
16
+ .mx-content-block__media {
17
+ display: grid;
18
+ margin: auto;
19
+ position: relative;
20
+ inline-size: 100%;
20
21
  }
22
+
23
+ .mx-content-block__media img {
24
+ aspect-ratio: var(--ratio);
25
+ border-radius: var(--border-radius);
26
+ -o-object-fit: cover;
27
+ object-fit: cover;
28
+ display: block;
29
+ }
30
+
31
+ .mx-content-block__media .mx-skeleton--bg {
32
+ aspect-ratio: var(--ratio);
33
+ }
21
34
  }
22
35
 
23
- /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbnRlbnQtYmxvY2suY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFOztBQUVGO0VBQ0U7SUFDRSxpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLGtCQUFrQjtFQUtwQjs7SUFIRTtNQUNFLHFDQUFxQztJQUN2QztBQUVKOztBQUVBO0VBQ0U7SUFDRSxtQkFBbUI7RUFDckI7QUFDRiIsImZpbGUiOiJjb250ZW50LWJsb2NrLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udGVudCBibG9ja1xuICovXG5cbkBsYXllciBkZXNpZ24tc3lzdGVtLmNvbXBvbmVudHMge1xuICAuY29udGVudC1ibG9jayB7XG4gICAgaW5saW5lLXNpemU6IDEwMCU7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmIC5jb250ZW50LWJsb2NrX19hY3Rpb25zIHtcbiAgICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNwYWNpbmctbSk7XG4gICAgfVxuICB9XG59XG5cbkBsYXllciBkZXNpZ24tc3lzdGVtLnV0aWxpdGllcyB7XG4gIC52ZXJ0aWNhbC1mbG93LWZsZXguY29udGVudC1ibG9jayB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuIl19 */
36
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbnRlbnQtYmxvY2suY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFOztBQUVGO0VBQ0U7SUFDRSxhQUFhO0lBQ2IsOENBQXlDO0lBQXpDLHlDQUF5QztFQUszQzs7SUFIRTtNQUNFLGlCQUFpQjtJQUNuQjs7RUFHRjtJQUNFLGFBQWE7SUFDYixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLGlCQUFpQjtFQVluQjs7SUFWRTtNQUNFLDBCQUEwQjtNQUMxQixtQ0FBbUM7TUFDbkMsb0JBQWlCO1NBQWpCLGlCQUFpQjtNQUNqQixjQUFjO0lBQ2hCOztJQUVBO01BQ0UsMEJBQTBCO0lBQzVCO0FBRUoiLCJmaWxlIjoiY29udGVudC1ibG9jay5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnRlbnQgYmxvY2tcbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5jb21wb25lbnRzIHtcbiAgLm14LWNvbnRlbnQtYmxvY2sge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiB2YXIoLS1jb250ZW50LWJsb2NrLWdhcCwgdmFyKC0tZ2FwKSk7XG5cbiAgICAmIC5teC1saW5rLWxpc3Qge1xuICAgICAgaW5saW5lLXNpemU6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLm14LWNvbnRlbnQtYmxvY2tfX21lZGlhIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaW5saW5lLXNpemU6IDEwMCU7XG5cbiAgICAmIGltZyB7XG4gICAgICBhc3BlY3QtcmF0aW86IHZhcigtLXJhdGlvKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmIC5teC1za2VsZXRvbi0tYmcge1xuICAgICAgYXNwZWN0LXJhdGlvOiB2YXIoLS1yYXRpbyk7XG4gICAgfVxuICB9XG59XG4iXX0= */
@@ -7,15 +7,15 @@
7
7
  */
8
8
 
9
9
  @layer design-system.components {
10
- .drop-menu__trigger {
10
+ .mx-drop-menu__trigger {
11
11
  anchor-name: --drop-menu;
12
12
  }
13
13
 
14
- .drop-menu__trigger:has(~ :popover-open)::before {
14
+ .mx-drop-menu__trigger:has(~ :popover-open)::before {
15
15
  rotate: 180deg;
16
16
  }
17
17
 
18
- .drop-menu {
18
+ .mx-drop-menu {
19
19
  position: absolute;
20
20
  background-color: var(
21
21
  --drop-menu-background,
@@ -34,7 +34,7 @@
34
34
 
35
35
  @supports (inline-size: anchor-size(width)) {
36
36
 
37
- .drop-menu {
37
+ .mx-drop-menu {
38
38
  position-anchor: --drop-menu;
39
39
  inset-area: bottom;
40
40
  position-area: bottom;
@@ -44,12 +44,12 @@
44
44
  }
45
45
  }
46
46
 
47
- .drop-menu:popover-open {
47
+ .mx-drop-menu:popover-open {
48
48
  display: flex;
49
49
  flex-direction: column;
50
50
  }
51
51
 
52
- .drop-menu button {
52
+ .mx-drop-menu button {
53
53
  -webkit-appearance: none;
54
54
  -moz-appearance: none;
55
55
  appearance: none;
@@ -63,11 +63,11 @@
63
63
  text-align: start;
64
64
  }
65
65
 
66
- .drop-menu button[aria-checked="true"] {
66
+ .mx-drop-menu button[aria-checked="true"] {
67
67
  text-decoration-line: underline;
68
68
  }
69
69
 
70
- .drop-menu :is(a, button) {
70
+ .mx-drop-menu :is(a, button) {
71
71
  padding-block: var(--spacing-xxxs);
72
72
  padding-inline: var(--spacing-xs);
73
73
  cursor: pointer;
@@ -75,4 +75,4 @@
75
75
  }
76
76
  }
77
77
 
78
- /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRyb3AtbWVudS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUhBQXlIOztBQUV6SDs7OztFQUlFOztBQUVGO0VBQ0U7SUFDRSx3QkFBd0I7RUFLMUI7O0lBSEU7TUFDRSxjQUFjO0lBQ2hCOztFQUdGO0lBQ0Usa0JBQWtCO0lBQ2xCOzs7S0FHQztJQUNEOzs7S0FHQztJQUNEOzhDQUMwQztJQUQxQzs4Q0FDMEM7SUFDMUMsU0FBUztFQXFDWDs7SUFuQ0U7O0VBZEY7TUFlSSw0QkFBNEI7TUFDNUIsa0JBQWtCO01BQ2xCLHFCQUFxQjtNQUNyQixnQ0FBZ0M7TUFDaEMsaUNBQWlDO01BQ2pDLG1DQUFtQztFQTZCdkM7SUE1QkU7O0lBRUE7TUFDRSxhQUFhO01BQ2Isc0JBQXNCO0lBQ3hCOztJQUVBO01BQ0Usd0JBQWdCO1NBQWhCLHFCQUFnQjtjQUFoQixnQkFBZ0I7TUFDaEIsb0JBQW9CO01BQ3BCLG9CQUFvQjtNQUNwQixrQkFBa0I7TUFDbEIsNkJBQTZCO01BQzdCLGNBQWM7TUFDZCxnQ0FBYTtNQUFiLGVBQWE7TUFDYixpQkFBaUI7SUFLbkI7O01BSEU7UUFDRSwrQkFBK0I7TUFDakM7O0lBR0Y7TUFDRSxrQ0FBa0M7TUFDbEMsaUNBQWlDO01BQ2pDLGVBQWU7TUFDZixxQkFBcUI7SUFDdkI7QUFFSiIsImZpbGUiOiJkcm9wLW1lbnUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiwgZnVuY3Rpb24tbm8tdW5rbm93biwgcHJvcGVydHktbm8tdW5rbm93biwgc2VsZWN0b3ItcHNldWRvLWNsYXNzLW5vLXVua25vd24gKi9cblxuLyoqXG4gKiBEcm9wIG1lbnVcbiAqXG4gKiAqKkV4cGVyaW1lbnRhbCoqIFVzaW5nIG5ldyBDU1MgQW5jaG9yaW5nIGFuZCBQb3BvdmVyIEFQSSdzLCByZXF1aXJlcyBKUyBwb2x5ZmlsbC5cbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5jb21wb25lbnRzIHtcbiAgLmRyb3AtbWVudV9fdHJpZ2dlciB7XG4gICAgYW5jaG9yLW5hbWU6IC0tZHJvcC1tZW51O1xuXG4gICAgJjpoYXMofiA6cG9wb3Zlci1vcGVuKTo6YmVmb3JlIHtcbiAgICAgIHJvdGF0ZTogMTgwZGVnO1xuICAgIH1cbiAgfVxuXG4gIC5kcm9wLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgICAtLWRyb3AtbWVudS1iYWNrZ3JvdW5kLFxuICAgICAgdmFyKC0tYmFja2dyb3VuZCwgdmFyKC0tY29sb3VyLWJhY2tncm91bmQpKVxuICAgICk7XG4gICAgY29sb3I6IHZhcihcbiAgICAgIC0tZHJvcC1tZW51LWZvcmVncm91bmQsXG4gICAgICB2YXIoLS1mb3JlZ3JvdW5kLCB2YXIoLS1jb2xvdXItZm9yZWdyb3VuZCkpXG4gICAgKTtcbiAgICBib3JkZXI6IHZhcigtLWxpbmUtd2lkdGgsIDJweCkgc29saWRcbiAgICAgIHZhcigtLWxpbmUtY29sb3VyLCB2YXIoLS1jb2xvdXItYm9yZGVyKSk7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQHN1cHBvcnRzIChpbmxpbmUtc2l6ZTogYW5jaG9yLXNpemUod2lkdGgpKSB7XG4gICAgICBwb3NpdGlvbi1hbmNob3I6IC0tZHJvcC1tZW51O1xuICAgICAgaW5zZXQtYXJlYTogYm90dG9tO1xuICAgICAgcG9zaXRpb24tYXJlYTogYm90dG9tO1xuICAgICAgcG9zaXRpb24tdHJ5LW9wdGlvbnM6IGZsaXAtYmxvY2s7XG4gICAgICBwb3NpdGlvbi10cnktZmFsbGJhY2s6IGZsaXAtYmxvY2s7XG4gICAgICBtaW4taW5saW5lLXNpemU6IGFuY2hvci1zaXplKHdpZHRoKTtcbiAgICB9XG5cbiAgICAmOnBvcG92ZXItb3BlbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAmIGJ1dHRvbiB7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXI6IHVuc2V0O1xuICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG5cbiAgICAgICZbYXJpYS1jaGVja2VkPVwidHJ1ZVwiXSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiA6aXMoYSwgYnV0dG9uKSB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zcGFjaW5nLXh4eHMpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNwYWNpbmcteHMpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWluLWlubGluZS1zaXplOiAxNWNoO1xuICAgIH1cbiAgfVxufVxuIl19 */
78
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRyb3AtbWVudS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUhBQXlIOztBQUV6SDs7OztFQUlFOztBQUVGO0VBQ0U7SUFDRSx3QkFBd0I7RUFLMUI7O0lBSEU7TUFDRSxjQUFjO0lBQ2hCOztFQUdGO0lBQ0Usa0JBQWtCO0lBQ2xCOzs7S0FHQztJQUNEOzs7S0FHQztJQUNEOzhDQUMwQztJQUQxQzs4Q0FDMEM7SUFDMUMsU0FBUztFQXFDWDs7SUFuQ0U7O0VBZEY7TUFlSSw0QkFBNEI7TUFDNUIsa0JBQWtCO01BQ2xCLHFCQUFxQjtNQUNyQixnQ0FBZ0M7TUFDaEMsaUNBQWlDO01BQ2pDLG1DQUFtQztFQTZCdkM7SUE1QkU7O0lBRUE7TUFDRSxhQUFhO01BQ2Isc0JBQXNCO0lBQ3hCOztJQUVBO01BQ0Usd0JBQWdCO1NBQWhCLHFCQUFnQjtjQUFoQixnQkFBZ0I7TUFDaEIsb0JBQW9CO01BQ3BCLG9CQUFvQjtNQUNwQixrQkFBa0I7TUFDbEIsNkJBQTZCO01BQzdCLGNBQWM7TUFDZCxnQ0FBYTtNQUFiLGVBQWE7TUFDYixpQkFBaUI7SUFLbkI7O01BSEU7UUFDRSwrQkFBK0I7TUFDakM7O0lBR0Y7TUFDRSxrQ0FBa0M7TUFDbEMsaUNBQWlDO01BQ2pDLGVBQWU7TUFDZixxQkFBcUI7SUFDdkI7QUFFSiIsImZpbGUiOiJkcm9wLW1lbnUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiwgZnVuY3Rpb24tbm8tdW5rbm93biwgcHJvcGVydHktbm8tdW5rbm93biwgc2VsZWN0b3ItcHNldWRvLWNsYXNzLW5vLXVua25vd24gKi9cblxuLyoqXG4gKiBEcm9wIG1lbnVcbiAqXG4gKiAqKkV4cGVyaW1lbnRhbCoqIFVzaW5nIG5ldyBDU1MgQW5jaG9yaW5nIGFuZCBQb3BvdmVyIEFQSSdzLCByZXF1aXJlcyBKUyBwb2x5ZmlsbC5cbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5jb21wb25lbnRzIHtcbiAgLm14LWRyb3AtbWVudV9fdHJpZ2dlciB7XG4gICAgYW5jaG9yLW5hbWU6IC0tZHJvcC1tZW51O1xuXG4gICAgJjpoYXMofiA6cG9wb3Zlci1vcGVuKTo6YmVmb3JlIHtcbiAgICAgIHJvdGF0ZTogMTgwZGVnO1xuICAgIH1cbiAgfVxuXG4gIC5teC1kcm9wLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgICAtLWRyb3AtbWVudS1iYWNrZ3JvdW5kLFxuICAgICAgdmFyKC0tYmFja2dyb3VuZCwgdmFyKC0tY29sb3VyLWJhY2tncm91bmQpKVxuICAgICk7XG4gICAgY29sb3I6IHZhcihcbiAgICAgIC0tZHJvcC1tZW51LWZvcmVncm91bmQsXG4gICAgICB2YXIoLS1mb3JlZ3JvdW5kLCB2YXIoLS1jb2xvdXItZm9yZWdyb3VuZCkpXG4gICAgKTtcbiAgICBib3JkZXI6IHZhcigtLWxpbmUtd2lkdGgsIDJweCkgc29saWRcbiAgICAgIHZhcigtLWxpbmUtY29sb3VyLCB2YXIoLS1jb2xvdXItYm9yZGVyKSk7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQHN1cHBvcnRzIChpbmxpbmUtc2l6ZTogYW5jaG9yLXNpemUod2lkdGgpKSB7XG4gICAgICBwb3NpdGlvbi1hbmNob3I6IC0tZHJvcC1tZW51O1xuICAgICAgaW5zZXQtYXJlYTogYm90dG9tO1xuICAgICAgcG9zaXRpb24tYXJlYTogYm90dG9tO1xuICAgICAgcG9zaXRpb24tdHJ5LW9wdGlvbnM6IGZsaXAtYmxvY2s7XG4gICAgICBwb3NpdGlvbi10cnktZmFsbGJhY2s6IGZsaXAtYmxvY2s7XG4gICAgICBtaW4taW5saW5lLXNpemU6IGFuY2hvci1zaXplKHdpZHRoKTtcbiAgICB9XG5cbiAgICAmOnBvcG92ZXItb3BlbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAmIGJ1dHRvbiB7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXI6IHVuc2V0O1xuICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG5cbiAgICAgICZbYXJpYS1jaGVja2VkPVwidHJ1ZVwiXSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiA6aXMoYSwgYnV0dG9uKSB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zcGFjaW5nLXh4eHMpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNwYWNpbmcteHMpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWluLWlubGluZS1zaXplOiAxNWNoO1xuICAgIH1cbiAgfVxufVxuIl19 */
@@ -1,129 +1,2 @@
1
- import { m as makeAnchor } from "./chunks/utilities-B4YZb689.js";
2
- import { K as Keyboard } from "./chunks/keyboard-C73DHu0c.js";
3
- class DropMenu extends HTMLElement {
4
- constructor() {
5
- super();
6
- this.keyboard = new Keyboard();
7
- this.handleSelect = (event) => {
8
- const target = event.target;
9
- this.items.forEach((item) => {
10
- if (!(item instanceof HTMLButtonElement)) return;
11
- item.setAttribute("aria-checked", String(item === target));
12
- });
13
- const newEvent = new CustomEvent("drop-menu-select", {
14
- bubbles: true,
15
- cancelable: true,
16
- detail: {
17
- event,
18
- target
19
- }
20
- });
21
- this.menu.dispatchEvent(newEvent);
22
- if (this.closeOnClick) this.menu.togglePopover();
23
- };
24
- this.handleToggle = ({ newState }) => {
25
- const handleClose = () => this.menu.togglePopover();
26
- if (newState === "open") {
27
- this.keyboard.attachPopup(this.menu.id, handleClose);
28
- } else {
29
- this.keyboard.detachPopup(this.menu.id);
30
- }
31
- };
32
- this.attachKeyboardMenu = () => {
33
- this.keyboard.attachMenu(this.menu, this.items);
34
- };
35
- this.detachKeyboardMenu = () => {
36
- this.keyboard.detachMenu();
37
- };
38
- this.generatedId = () => {
39
- const string = this.trigger?.textContent?.trim();
40
- return !string ? "" : makeAnchor(string);
41
- };
42
- this.internals_ = this.attachInternals();
43
- this.controller = new AbortController();
44
- }
45
- async connectedCallback() {
46
- if (!this.menu || !this.trigger) return;
47
- if (!("anchorName" in document.documentElement.style)) {
48
- const { default: Polyfills } = await import("./chunks/polyfills-CJ5uTmUJ.js");
49
- new Polyfills(this.menu);
50
- }
51
- if (!Object.hasOwn(HTMLElement, "popover")) {
52
- await import("./chunks/popover-wbPSyFRj.js");
53
- }
54
- this.closeOnClick = this.hasAttribute("closeonclick");
55
- const { signal } = this.controller;
56
- document.addEventListener(
57
- "click",
58
- (event) => {
59
- const { target } = event;
60
- if (target !== this.menu && ![...this.items].includes(
61
- target
62
- ))
63
- return;
64
- this.handleSelect(event);
65
- event.preventDefault();
66
- },
67
- {
68
- signal
69
- }
70
- );
71
- document.addEventListener(
72
- "keydown",
73
- (event) => {
74
- const { target, key } = event;
75
- if (target !== this.menu && ![...this.items].includes(
76
- target
77
- ))
78
- return;
79
- if (key === "Enter") this.handleSelect(event);
80
- event.preventDefault();
81
- },
82
- {
83
- signal
84
- }
85
- );
86
- this.keyboard.attachEventListeners(signal);
87
- this.menu.addEventListener("focusin", this.attachKeyboardMenu, {
88
- signal
89
- });
90
- this.menu.addEventListener("focusout", this.detachKeyboardMenu, {
91
- signal
92
- });
93
- this.menu.addEventListener("toggle", this.handleToggle, {
94
- signal
95
- });
96
- }
97
- disconnectedCallback() {
98
- this.controller.abort();
99
- this.keyboard.detachMenu();
100
- }
101
- get menu() {
102
- const menu = this.querySelector("[popover]");
103
- if (!menu) {
104
- throw new Error(`${this.localName} must contain a <div popover> element.`);
105
- }
106
- menu.id = menu.id || this.generatedId();
107
- return menu;
108
- }
109
- get items() {
110
- const items = this.menu.querySelectorAll(":scope > *");
111
- if (!items) {
112
- throw new Error(`${this.localName} must contain some menu items.`);
113
- }
114
- return items;
115
- }
116
- get trigger() {
117
- const trigger = this.querySelector(
118
- `[popovertarget=${this.menu?.id}]`
119
- );
120
- if (!trigger) {
121
- throw new Error(
122
- `${this.localName} must contain a <button popovertarget="${this.menu.id}">`
123
- );
124
- }
125
- return trigger;
126
- }
127
- }
128
- customElements.define("mx-dropmenu", DropMenu);
1
+ import "./chunks/drop-menu.entry-BC6x9vst.js";
129
2
  //# sourceMappingURL=drop-menu.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drop-menu.entry.js","sources":["../../src/Component/DropMenu/Elements/DropMenu.ts"],"sourcesContent":["/**\n * DropMenu\n * @file Create a DropMenu using the Popover and Anchor APIs\n */\n\nimport { Keyboard, makeAnchor } from \"../../../Utility/utilities\"\n\nexport type DropMenuEvent = CustomEvent<{\n event: MouseEvent | KeyboardEvent\n target: HTMLButtonElement | HTMLAnchorElement\n}>\n\nexport default class DropMenu extends HTMLElement {\n internals_: ElementInternals\n controller: AbortController\n keyboard: Keyboard = new Keyboard()\n closeOnClick: boolean\n\n constructor() {\n super()\n this.internals_ = this.attachInternals()\n this.controller = new AbortController()\n }\n\n async connectedCallback() {\n if (!this.menu || !this.trigger) return\n\n // Polyfill anchor (everywhere so far).\n if (!(\"anchorName\" in document.documentElement.style)) {\n const { default: Polyfills } = await import(\"../polyfills.js\")\n new Polyfills(this.menu) // eslint-disable-line no-new\n }\n // Polyfill popover (FF only)\n if (!Object.hasOwn(HTMLElement, \"popover\")) {\n await import(\"@oddbird/popover-polyfill\")\n }\n this.closeOnClick = this.hasAttribute(\"closeonclick\")\n\n const { signal }: AbortController = this.controller\n document.addEventListener(\n \"click\",\n (event: MouseEvent): void => {\n const { target } = event\n if (\n (target as HTMLElement) !== this.menu &&\n ![...this.items].includes(\n target as HTMLButtonElement | HTMLAnchorElement,\n )\n )\n return\n this.handleSelect(event)\n event.preventDefault()\n },\n {\n signal,\n },\n )\n\n document.addEventListener(\n \"keydown\",\n (event: KeyboardEvent): void => {\n const { target, key } = event\n if (\n (target as HTMLElement) !== this.menu &&\n ![...this.items].includes(\n target as HTMLButtonElement | HTMLAnchorElement,\n )\n )\n return\n if (key === \"Enter\") this.handleSelect(event)\n event.preventDefault()\n },\n {\n signal,\n },\n )\n\n this.keyboard.attachEventListeners(signal)\n this.menu.addEventListener(\"focusin\", this.attachKeyboardMenu, {\n signal,\n })\n this.menu.addEventListener(\"focusout\", this.detachKeyboardMenu, {\n signal,\n })\n this.menu.addEventListener(\"toggle\", this.handleToggle, {\n signal,\n })\n }\n\n disconnectedCallback(): void {\n this.controller.abort()\n this.keyboard.detachMenu()\n }\n\n handleSelect = (event: MouseEvent | KeyboardEvent): void => {\n const target = event.target as HTMLButtonElement | HTMLAnchorElement\n this.items.forEach(item => {\n if (!(item instanceof HTMLButtonElement)) return\n item.setAttribute(\"aria-checked\", String(item === target))\n })\n const newEvent: DropMenuEvent = new CustomEvent(\"drop-menu-select\", {\n bubbles: true,\n cancelable: true,\n detail: {\n event,\n target,\n },\n })\n this.menu.dispatchEvent(newEvent)\n if (this.closeOnClick) this.menu.togglePopover()\n }\n\n handleToggle = ({ newState }: ToggleEvent): void => {\n const handleClose = () => this.menu.togglePopover()\n if (newState === \"open\") {\n this.keyboard.attachPopup(this.menu.id, handleClose)\n } else {\n this.keyboard.detachPopup(this.menu.id)\n }\n }\n\n attachKeyboardMenu = (): void => {\n this.keyboard.attachMenu(this.menu, this.items)\n }\n\n detachKeyboardMenu = (): void => {\n this.keyboard.detachMenu()\n }\n\n get menu(): HTMLDivElement | null {\n const menu: HTMLDivElement | null = this.querySelector(\"[popover]\")\n if (!menu) {\n throw new Error(`${this.localName} must contain a <div popover> element.`)\n }\n menu.id = menu.id || this.generatedId()\n return menu\n }\n\n get items(): NodeListOf<HTMLButtonElement | HTMLAnchorElement> {\n const items: NodeListOf<HTMLButtonElement | HTMLAnchorElement> =\n this.menu.querySelectorAll(\":scope > *\")\n if (!items) {\n throw new Error(`${this.localName} must contain some menu items.`)\n }\n return items\n }\n\n get trigger(): HTMLButtonElement | null {\n const trigger: HTMLButtonElement | null = this.querySelector(\n `[popovertarget=${this.menu?.id}]`,\n )\n if (!trigger) {\n throw new Error(\n `${this.localName} must contain a <button popovertarget=\"${this.menu.id}\">`,\n )\n }\n return trigger\n }\n\n generatedId = (): string => {\n const string: string | undefined = this.trigger?.textContent?.trim()\n return !string ? \"\" : makeAnchor(string)\n }\n}\n\ncustomElements.define(\"mx-dropmenu\", DropMenu)\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"mx-dropmenu\": DropMenu\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drop-menu.entry.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -3,59 +3,149 @@
3
3
  */
4
4
 
5
5
  @layer design-system.layouts {
6
- .footer {
6
+ .mx-footer {
7
7
  position: sticky;
8
8
  inset-block-start: 100vh;
9
9
  }
10
10
 
11
- .footer .nav__toggle {
12
- display: none;
11
+ .mx-footer__inner {
12
+ display: grid;
13
+ grid-template-areas: "brand" "social" "navigation" "copyright" "links";
14
+ }
15
+
16
+ @media (min-width: 720px) {
17
+
18
+ .mx-footer__inner {
19
+ grid-template-areas: "brand navigation" "social navigation" "copyright links";
20
+ gap: 0;
21
+ }
13
22
  }
14
23
 
15
- .footer .grid {
16
- row-gap: var(--footer-row-gap, var(--spacing-xxxl));
24
+ .mx-footer__inner:has(.mx-footer__aoc) {
25
+ grid-template-areas: "aoc" "brand" "social" "navigation" "copyright" "links";
17
26
  }
18
- @media (max-width: 719.98px) {
19
27
 
20
- .footer__logo {
21
- text-align: center;
22
- }
28
+ @media (min-width: 720px) {
29
+
30
+ .mx-footer__inner:has(.mx-footer__aoc) {
31
+ grid-template-areas: "aoc aoc" "brand navigation" "social navigation" "copyright links";
32
+ }
33
+ }
34
+
35
+ .mx-footer__inner .mx-logo {
36
+ grid-area: brand;
37
+ margin-block-end: var(--gap);
38
+ }
39
+
40
+ .mx-footer__inner .mx-social-links {
41
+ grid-area: social;
42
+ align-self: end;
43
+ }
44
+
45
+ .mx-footer__inner .mx-footer__copyright {
46
+ grid-area: copyright;
47
+ align-self: end;
48
+ }
49
+
50
+ .mx-footer__inner .mx-footer__copyright:not(:first-child) {
51
+ padding-block-start: var(--spacing-s);
52
+ border-block-start: 1px solid
53
+ var(--line-colour, var(--colour-border));
54
+ border-block-start: var(--line-width, 1px) solid
55
+ var(--line-colour, var(--colour-border));
56
+ margin-block-start: var(--gap);
57
+ }
58
+ @media (min-width: 720px) {
59
+
60
+ .mx-footer__inner .mx-footer__copyright:not(:first-child) + .mx-footer__links {
61
+ padding-block-start: var(--spacing-s);
62
+ border-block-start: 1px solid
63
+ var(--line-colour, var(--colour-border));
64
+ border-block-start: var(--line-width, 1px) solid
65
+ var(--line-colour, var(--colour-border));
66
+ }
67
+ }
68
+
69
+ .mx-footer__inner .mx-footer__links {
70
+ grid-area: links;
71
+ align-self: end;
23
72
  }
24
73
 
25
- .footer__meta {
26
- padding-block-start: var(--spacing-s);
27
- border-block-start: 1px solid
74
+ @media (min-width: 720px) {
75
+
76
+ .mx-footer__inner .mx-footer__links {
77
+ justify-content: end;
78
+ }
79
+ }
80
+
81
+ .mx-footer__inner .mx-footer__links:not(:first-child) {
82
+ margin-block-start: var(--gap);
83
+ }
84
+
85
+ .mx-footer__aoc {
86
+ grid-area: aoc;
87
+ padding-block-end: var(--footer-row-gap, var(--spacing-xxl));
88
+ border-block-end: 1px solid
28
89
  var(--line-colour, var(--colour-border));
29
- border-block-start: var(--line-width, 1px) solid
90
+ border-block-end: var(--line-width, 1px) solid
30
91
  var(--line-colour, var(--colour-border));
92
+ margin-block-end: var(--gap);
31
93
  text-align: center;
32
- line-height: 2;
33
- display: flex;
34
- justify-content: space-between;
35
- align-items: center;
36
- flex-wrap: wrap;
37
- gap: var(--gap);
38
94
  }
39
95
 
40
- @media (max-width: 419.98px) {
96
+ .mx-nav--footer {
97
+ grid-area: navigation;
98
+ margin-block: var(--spacing-xxxl) var(--spacing-l);
99
+ }
100
+
101
+ @media (min-width: 720px) {
41
102
 
42
- .footer__meta {
43
- flex-direction: column;
103
+ .mx-nav--footer {
104
+ justify-self: end;
105
+ margin-block: 0;
44
106
  }
45
107
  }
46
- @media (max-width: 419.98px) {
47
108
 
48
- .footer__meta .nav--inline > ul {
49
- flex-direction: column;
50
- gap: var(--gap-s);
109
+ .mx-nav--footer:not(:has(.mx-nav__level-2)) ul {
110
+ flex-flow: row wrap;
111
+ align-items: center;
112
+ gap: var(--spacing-l) var(--spacing-xxxl);
51
113
  }
114
+ .mx-nav--footer:has(.mx-nav__level-2) ul {
115
+ display: grid;
116
+ }
117
+
118
+ .mx-nav--footer:has(.mx-nav__level-2) .mx-nav__level-1 {
119
+ gap: var(--spacing-l) var(--spacing-xxxl);
120
+ grid-template-columns: 1fr 1fr;
52
121
  }
122
+
123
+ @media (min-width: 720px) {
124
+
125
+ .mx-nav--footer:has(.mx-nav__level-2) .mx-nav__level-1 {
126
+ grid-template-columns: 1fr 1fr 1fr;
127
+ }
128
+ }
129
+
130
+ .mx-nav--footer:has(.mx-nav__level-2) .mx-nav__level-1 > li > a {
131
+ display: inline-block;
132
+ margin-block-end: var(--spacing-l);
133
+ font-weight: var(--font-weight-bold);
134
+ }
135
+
136
+ .mx-nav--footer:has(.mx-nav__level-2) .mx-nav__level-2 {
137
+ gap: var(--spacing-xs);
138
+ }
139
+
140
+ .mx-nav--footer .mx-nav__toggle {
141
+ display: none;
142
+ }
53
143
  }
54
144
 
55
145
  @media print {
56
- .footer {
146
+ .mx-footer {
57
147
  display: none;
58
148
  }
59
149
  }
60
150
 
61
- /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvb3Rlci5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0VBRUU7O0FBRUY7RUFDRTtJQUNFLGdCQUFnQjtJQUNoQix3QkFBd0I7RUFTMUI7O0lBUEU7TUFDRSxhQUFhO0lBQ2Y7O0lBRUE7TUFDRSxtREFBbUQ7SUFDckQ7SUFJQTs7RUFERjtNQUVJLGtCQUFrQjtFQUV0QjtJQURFOztFQUdGO0lBQ0UscUNBQXFDO0lBQ3JDOzhDQUMwQztJQUQxQzs4Q0FDMEM7SUFDMUMsa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxhQUFhO0lBQ2IsOEJBQThCO0lBQzlCLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsZUFBZTtFQVlqQjs7SUFWRTs7RUFaRjtNQWFJLHNCQUFzQjtFQVMxQjtJQVJFO01BR0U7O0lBREY7UUFFSSxzQkFBc0I7UUFDdEIsaUJBQWlCO0lBRXJCO01BREU7QUFHTjs7QUFFQTtFQUNFO0lBQ0UsYUFBYTtFQUNmO0FBQ0YiLCJmaWxlIjoiZm9vdGVyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2xvYmFsIEZvb3RlclxuICovXG5cbkBsYXllciBkZXNpZ24tc3lzdGVtLmxheW91dHMge1xuICAuZm9vdGVyIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAxMDB2aDtcblxuICAgICYgLm5hdl9fdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJiAuZ3JpZCB7XG4gICAgICByb3ctZ2FwOiB2YXIoLS1mb290ZXItcm93LWdhcCwgdmFyKC0tc3BhY2luZy14eHhsKSk7XG4gICAgfVxuICB9XG5cbiAgLmZvb3Rlcl9fbG9nbyB7XG4gICAgQG1lZGlhICgtLW1lZGl1bS1kb3duKSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLmZvb3Rlcl9fbWV0YSB7XG4gICAgcGFkZGluZy1ibG9jay1zdGFydDogdmFyKC0tc3BhY2luZy1zKTtcbiAgICBib3JkZXItYmxvY2stc3RhcnQ6IHZhcigtLWxpbmUtd2lkdGgsIDFweCkgc29saWRcbiAgICAgIHZhcigtLWxpbmUtY29sb3VyLCB2YXIoLS1jb2xvdXItYm9yZGVyKSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tZ2FwKTtcblxuICAgIEBtZWRpYSAoLS14LXNtYWxsLWRvd24pIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgJiAubmF2LS1pbmxpbmUgPiB1bCB7XG4gICAgICBAbWVkaWEgKC0teC1zbWFsbC1kb3duKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tZ2FwLXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQge1xuICAuZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iXX0= */
151
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvb3Rlci5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0VBRUU7O0FBRUY7RUFDRTtJQUNFLGdCQUFnQjtJQUNoQix3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSxhQUFhO0lBQ2Isc0VBQXNFO0VBeUR4RTs7SUF2REU7O0VBSkY7TUFLSSw2RUFBNkU7TUFDN0UsTUFBTTtFQXFEVjtJQXBERTs7SUFFQTtNQUNFLDRFQUE0RTtJQUs5RTs7TUFIRTs7SUFIRjtRQUlJLHVGQUF1RjtJQUUzRjtNQURFOztJQUdGO01BQ0UsZ0JBQWdCO01BQ2hCLDRCQUE0QjtJQUM5Qjs7SUFFQTtNQUNFLGlCQUFpQjtNQUNqQixlQUFlO0lBQ2pCOztJQUVBO01BQ0Usb0JBQW9CO01BQ3BCLGVBQWU7SUFnQmpCOztNQWRFO1FBQ0UscUNBQXFDO1FBQ3JDO2tEQUMwQztRQUQxQztrREFDMEM7UUFDMUMsOEJBQThCO01BU2hDO1VBTkk7O1FBREY7WUFFSSxxQ0FBcUM7WUFDckM7c0RBQzBDO1lBRDFDO3NEQUMwQztRQUU5QztVQURFOztJQUtOO01BQ0UsZ0JBQWdCO01BQ2hCLGVBQWU7SUFTakI7O01BUEU7O0lBSkY7UUFLSSxvQkFBb0I7SUFNeEI7TUFMRTs7TUFFQTtRQUNFLDhCQUE4QjtNQUNoQzs7RUFJSjtJQUNFLGNBQWM7SUFDZCw0REFBNEQ7SUFDNUQ7OENBQzBDO0lBRDFDOzhDQUMwQztJQUMxQyw0QkFBNEI7SUFDNUIsa0JBQWtCO0VBQ3BCOztFQUVBO0lBQ0UscUJBQXFCO0lBQ3JCLGtEQUFrRDtFQXlDcEQ7O0lBdkNFOztFQUpGO01BS0ksaUJBQWlCO01BQ2pCLGVBQWU7RUFxQ25CO0lBcENFOztJQUVBO01BQ0UsbUJBQW1CO01BQ25CLG1CQUFtQjtNQUNuQix5Q0FBeUM7SUFDM0M7TUFHRTtRQUNFLGFBQWE7TUFDZjs7TUFFQTtRQUNFLHlDQUF5QztRQUN6Qyw4QkFBOEI7TUFXaEM7O1FBVEU7O01BSkY7VUFLSSxrQ0FBa0M7TUFRdEM7UUFQRTs7UUFFQTtVQUNFLHFCQUFxQjtVQUNyQixrQ0FBa0M7VUFDbEMsb0NBQW9DO1FBQ3RDOztNQUdGO1FBQ0Usc0JBQXNCO01BQ3hCOztJQUdGO01BQ0UsYUFBYTtJQUNmO0FBRUo7O0FBRUE7RUFDRTtJQUNFLGFBQWE7RUFDZjtBQUNGIiwiZmlsZSI6ImZvb3Rlci5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdsb2JhbCBGb290ZXJcbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5sYXlvdXRzIHtcbiAgLm14LWZvb3RlciB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBpbnNldC1ibG9jay1zdGFydDogMTAwdmg7XG4gIH1cblxuICAubXgtZm9vdGVyX19pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImJyYW5kXCIgXCJzb2NpYWxcIiBcIm5hdmlnYXRpb25cIiBcImNvcHlyaWdodFwiIFwibGlua3NcIjtcblxuICAgIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiYnJhbmQgbmF2aWdhdGlvblwiIFwic29jaWFsIG5hdmlnYXRpb25cIiBcImNvcHlyaWdodCBsaW5rc1wiO1xuICAgICAgZ2FwOiAwO1xuICAgIH1cblxuICAgICY6aGFzKC5teC1mb290ZXJfX2FvYykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJhb2NcIiBcImJyYW5kXCIgXCJzb2NpYWxcIiBcIm5hdmlnYXRpb25cIiBcImNvcHlyaWdodFwiIFwibGlua3NcIjtcblxuICAgICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImFvYyBhb2NcIiBcImJyYW5kIG5hdmlnYXRpb25cIiBcInNvY2lhbCBuYXZpZ2F0aW9uXCIgXCJjb3B5cmlnaHQgbGlua3NcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5teC1sb2dvIHtcbiAgICAgIGdyaWQtYXJlYTogYnJhbmQ7XG4gICAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1nYXApO1xuICAgIH1cblxuICAgICYgLm14LXNvY2lhbC1saW5rcyB7XG4gICAgICBncmlkLWFyZWE6IHNvY2lhbDtcbiAgICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgICB9XG5cbiAgICAmIC5teC1mb290ZXJfX2NvcHlyaWdodCB7XG4gICAgICBncmlkLWFyZWE6IGNvcHlyaWdodDtcbiAgICAgIGFsaWduLXNlbGY6IGVuZDtcblxuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNwYWNpbmctcyk7XG4gICAgICAgIGJvcmRlci1ibG9jay1zdGFydDogdmFyKC0tbGluZS13aWR0aCwgMXB4KSBzb2xpZFxuICAgICAgICAgIHZhcigtLWxpbmUtY29sb3VyLCB2YXIoLS1jb2xvdXItYm9yZGVyKSk7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tZ2FwKTtcblxuICAgICAgICAmICsgLm14LWZvb3Rlcl9fbGlua3Mge1xuICAgICAgICAgIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNwYWNpbmctcyk7XG4gICAgICAgICAgICBib3JkZXItYmxvY2stc3RhcnQ6IHZhcigtLWxpbmUtd2lkdGgsIDFweCkgc29saWRcbiAgICAgICAgICAgICAgdmFyKC0tbGluZS1jb2xvdXIsIHZhcigtLWNvbG91ci1ib3JkZXIpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5teC1mb290ZXJfX2xpbmtzIHtcbiAgICAgIGdyaWQtYXJlYTogbGlua3M7XG4gICAgICBhbGlnbi1zZWxmOiBlbmQ7XG5cbiAgICAgIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWdhcCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm14LWZvb3Rlcl9fYW9jIHtcbiAgICBncmlkLWFyZWE6IGFvYztcbiAgICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKC0tZm9vdGVyLXJvdy1nYXAsIHZhcigtLXNwYWNpbmcteHhsKSk7XG4gICAgYm9yZGVyLWJsb2NrLWVuZDogdmFyKC0tbGluZS13aWR0aCwgMXB4KSBzb2xpZFxuICAgICAgdmFyKC0tbGluZS1jb2xvdXIsIHZhcigtLWNvbG91ci1ib3JkZXIpKTtcbiAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1nYXApO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5teC1uYXYtLWZvb3RlciB7XG4gICAgZ3JpZC1hcmVhOiBuYXZpZ2F0aW9uO1xuICAgIG1hcmdpbi1ibG9jazogdmFyKC0tc3BhY2luZy14eHhsKSB2YXIoLS1zcGFjaW5nLWwpO1xuXG4gICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgfVxuXG4gICAgJjpub3QoOmhhcygubXgtbmF2X19sZXZlbC0yKSkgdWwge1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IHZhcigtLXNwYWNpbmctbCkgdmFyKC0tc3BhY2luZy14eHhsKTtcbiAgICB9XG5cbiAgICAmOmhhcygubXgtbmF2X19sZXZlbC0yKSB7XG4gICAgICAmIHVsIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIH1cblxuICAgICAgJiAubXgtbmF2X19sZXZlbC0xIHtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjaW5nLWwpIHZhcigtLXNwYWNpbmcteHh4bCk7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcblxuICAgICAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYgPiBsaSA+IGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1zcGFjaW5nLWwpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmIC5teC1uYXZfX2xldmVsLTIge1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNpbmcteHMpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLm14LW5hdl9fdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIC5teC1mb290ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiJdfQ== */