@pnx-mixtape/mxds 0.0.21 → 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 (380) 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 +19 -39
  4. package/dist/build/button.css +7 -8
  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.css +5 -3
  29. package/dist/build/header.entry.js +93 -88
  30. package/dist/build/header.entry.js.map +1 -1
  31. package/dist/build/icon.css +3 -3
  32. package/dist/build/in-page-navigation.entry.js +16 -12
  33. package/dist/build/in-page-navigation.entry.js.map +1 -1
  34. package/dist/build/navigation.css +21 -56
  35. package/dist/build/navigation.entry.js +148 -50
  36. package/dist/build/navigation.entry.js.map +1 -1
  37. package/dist/build/page.css +1 -1
  38. package/dist/build/popover.css +119 -0
  39. package/dist/build/popover.entry.js +2 -0
  40. package/dist/build/popover.entry.js.map +1 -0
  41. package/dist/build/section.css +1 -1
  42. package/dist/build/sticky.entry.js +11 -12
  43. package/dist/build/sticky.entry.js.map +1 -1
  44. package/dist/build/tabs.entry.js +108 -91
  45. package/dist/build/tabs.entry.js.map +1 -1
  46. package/dist/build/utility-list.css +43 -0
  47. package/dist/build/utility-list.entry.js +80 -0
  48. package/dist/build/utility-list.entry.js.map +1 -0
  49. package/package.json +9 -10
  50. package/src/Atom/{Base.mdx → Atom.mdx} +1 -1
  51. package/src/Atom/Background/Backgrounds.stories.ts +21 -4
  52. package/src/Atom/Background/__snapshots__/Backgrounds.stories.ts.snap +1 -1
  53. package/src/Atom/Background/_background.css +1 -2
  54. package/src/Atom/Blockquote/_blockquote.css +1 -2
  55. package/src/Atom/Button/Button.stories.ts +128 -19
  56. package/src/Atom/Button/__snapshots__/Button.stories.ts.snap +75 -11
  57. package/src/Atom/Button/__snapshots__/Button.stories.tsx.snap +1 -1
  58. package/src/Atom/Button/_buttons.css +5 -5
  59. package/src/Atom/DefinitionList/DefinitionList.stories.ts +20 -3
  60. package/src/Atom/DefinitionList/DefinitionList.stories.tsx +3 -9
  61. package/src/Atom/DefinitionList/DefinitionList.tsx +3 -4
  62. package/src/Atom/DefinitionList/__snapshots__/DefinitionList.stories.ts.snap +1 -1
  63. package/src/Atom/DefinitionList/__snapshots__/DefinitionList.stories.tsx.snap +1 -1
  64. package/src/Atom/Heading/Heading.stories.ts +49 -7
  65. package/src/Atom/Heading/Heading.tsx +1 -6
  66. package/src/Atom/Heading/__snapshots__/Heading.stories.ts.snap +9 -1
  67. package/src/Atom/Heading/__snapshots__/Heading.stories.tsx.snap +1 -1
  68. package/src/Atom/Heading/_headings.css +1 -2
  69. package/src/Atom/Icon/Icon.mdx +5 -1
  70. package/src/Atom/Icon/Icon.stories.ts +76 -6
  71. package/src/Atom/Icon/Icon.tsx +1 -8
  72. package/src/Atom/Icon/__snapshots__/Icon.stories.ts.snap +18 -4
  73. package/src/Atom/Icon/__snapshots__/Icon.stories.tsx.snap +1 -1
  74. package/src/Atom/Icon/_icon.css +1 -1
  75. package/src/Atom/Image/Image.stories.ts +4 -3
  76. package/src/Atom/Image/__snapshots__/Image.stories.ts.snap +1 -1
  77. package/src/Atom/Link/Link.stories.ts +74 -7
  78. package/src/Atom/Link/__snapshots__/Link.stories.ts.snap +4 -4
  79. package/src/Atom/Link/__snapshots__/Link.stories.tsx.snap +1 -1
  80. package/src/Atom/Media/Media.stories.ts +34 -5
  81. package/src/Atom/Media/Media.tsx +1 -6
  82. package/src/Atom/Media/__snapshots__/Media.stories.ts.snap +2 -2
  83. package/src/Atom/Media/__snapshots__/Media.stories.tsx.snap +1 -1
  84. package/src/Atom/Media/_media.css +2 -10
  85. package/src/Atom/Spacing/Spacing.stories.ts +45 -31
  86. package/src/Atom/Spacing/__snapshots__/Spacing.stories.ts.snap +5 -4
  87. package/src/Atom/Spacing/spacing.twig +5 -2
  88. package/src/Atom/Table/__snapshots__/Table.stories.ts.snap +1 -1
  89. package/src/Atom/Table/__snapshots__/TableResponsive.stories.ts.snap +1 -1
  90. package/src/Atom/Table/_table.css +1 -2
  91. package/src/Atom/Text/Text.stories.ts +62 -0
  92. package/src/Atom/Text/__snapshots__/{TextSizes.stories.ts.snap → Text.stories.ts.snap} +14 -27
  93. package/src/Atom/Text/__snapshots__/Text.stories.tsx.snap +1 -1
  94. package/src/Atom/Text/_text-sizes.css +2 -4
  95. package/src/Atom/Text/text-style.twig +11 -1
  96. package/src/Atom/Text/text-styles-example.twig +2 -16
  97. package/src/Atom/Video/Video.stories.ts +6 -4
  98. package/src/Atom/Video/Video.tsx +1 -5
  99. package/src/Atom/Video/__snapshots__/Video.stories.ts.snap +1 -1
  100. package/src/Atom/_generic.css +4 -4
  101. package/src/Atom/_hr.css +1 -2
  102. package/src/Component/Accordion/Accordion.stories.ts +26 -8
  103. package/src/Component/Accordion/Accordion.stories.tsx +8 -10
  104. package/src/Component/Accordion/Accordion.tsx +2 -13
  105. package/src/Component/Accordion/AccordionItem.stories.ts +90 -0
  106. package/src/Component/Accordion/Components/AccordionContent.tsx +1 -5
  107. package/src/Component/Accordion/Components/AccordionTitle.tsx +1 -4
  108. package/src/Component/Accordion/Elements/Accordion.ts +1 -1
  109. package/src/Component/Accordion/Elements/AccordionDiv.ts +4 -11
  110. package/src/Component/Accordion/Elements/AccordionGroup.ts +10 -24
  111. package/src/Component/Accordion/Elements/AccordionMobile.ts +4 -4
  112. package/src/Component/Accordion/__snapshots__/Accordion.stories.ts.snap +17 -6
  113. package/src/Component/Accordion/__snapshots__/Accordion.stories.tsx.snap +1 -1
  114. package/src/Component/Accordion/__snapshots__/AccordionItem.stories.ts.snap +90 -0
  115. package/src/Component/Accordion/accordion.css +7 -5
  116. package/src/Component/Accordion/twig/accordion-div.twig +13 -11
  117. package/src/Component/Accordion/twig/accordion-mobile.twig +13 -11
  118. package/src/Component/Breadcrumb/Breadcrumb.stories.ts +14 -0
  119. package/src/Component/Breadcrumb/Breadcrumb.tsx +2 -12
  120. package/src/Component/Breadcrumb/__snapshots__/Breadcrumb.stories.ts.snap +1 -1
  121. package/src/Component/Breadcrumb/__snapshots__/Breadcrumb.stories.tsx.snap +1 -1
  122. package/src/Component/Breadcrumb/breadcrumb.css +1 -4
  123. package/src/Component/Callout/Callout.stories.ts +20 -0
  124. package/src/Component/Callout/__snapshots__/Callout.stories.ts.snap +1 -1
  125. package/src/Component/Callout/callout.css +1 -2
  126. package/src/Component/Card/Card.stories.ts +129 -14
  127. package/src/Component/Card/Card.stories.tsx +2 -2
  128. package/src/Component/Card/Components/CardContent.tsx +1 -5
  129. package/src/Component/Card/__snapshots__/Card.stories.ts.snap +24 -24
  130. package/src/Component/Card/__snapshots__/Card.stories.tsx.snap +1 -1
  131. package/src/Component/Card/card.css +2 -6
  132. package/src/Component/Card/card.twig +1 -1
  133. package/src/Component/Carousel/Carousel.stories.ts +61 -8
  134. package/src/Component/Carousel/Elements/Carousel.ts +10 -19
  135. package/src/Component/Carousel/__snapshots__/Carousel.stories.ts.snap +321 -35
  136. package/src/Component/Carousel/carousel.css +1 -2
  137. package/src/Component/ContentBlock/Components/ContentBlockContent.tsx +1 -5
  138. package/src/Component/ContentBlock/Components/ContentBlockMedia.tsx +1 -4
  139. package/src/Component/ContentBlock/ContentBlock.stories.ts +63 -13
  140. package/src/Component/ContentBlock/ContentBlock.stories.tsx +2 -2
  141. package/src/Component/ContentBlock/ContentBlock.tsx +1 -5
  142. package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.ts.snap +11 -11
  143. package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.tsx.snap +1 -1
  144. package/src/Component/Dialog/Dialog.stories.ts +78 -21
  145. package/src/Component/Dialog/Dialog.stories.tsx +2 -3
  146. package/src/Component/Dialog/Elements/Dialog.ts +7 -16
  147. package/src/Component/Dialog/__snapshots__/Dialog.stories.ts.snap +8 -11
  148. package/src/Component/Dialog/__snapshots__/Dialog.stories.tsx.snap +1 -1
  149. package/src/Component/Dialog/dialog.css +1 -2
  150. package/src/Component/Dialog/dialog.twig +1 -1
  151. package/src/Component/DropMenu/Components/DropMenuContext.tsx +4 -12
  152. package/src/Component/DropMenu/DropMenu.stories.ts +60 -1
  153. package/src/Component/DropMenu/DropMenu.tsx +2 -7
  154. package/src/Component/DropMenu/Elements/DropMenu.ts +21 -91
  155. package/src/Component/DropMenu/__snapshots__/DropMenu.stories.ts.snap +53 -11
  156. package/src/Component/DropMenu/__snapshots__/DropMenu.stories.tsx.snap +1 -1
  157. package/src/Component/DropMenu/drop-menu.css +13 -41
  158. package/src/Component/DropMenu/drop-menu.twig +8 -6
  159. package/src/Component/Filters/Elements/Filters.ts +7 -11
  160. package/src/Component/Filters/FilterItem.stories.ts +180 -0
  161. package/src/Component/Filters/Filters.stories.ts +83 -8
  162. package/src/Component/Filters/__snapshots__/FilterItem.stories.ts.snap +135 -0
  163. package/src/Component/Filters/__snapshots__/Filters.stories.ts.snap +43 -41
  164. package/src/Component/Filters/filter-item.twig +1 -1
  165. package/src/Component/Filters/filters.css +33 -17
  166. package/src/Component/GlobalAlert/Elements/ClosableAlert.ts +8 -7
  167. package/src/Component/GlobalAlert/GlobalAlert.stories.ts +60 -12
  168. package/src/Component/GlobalAlert/GlobalAlert.stories.tsx +1 -2
  169. package/src/Component/GlobalAlert/__snapshots__/GlobalAlert.stories.ts.snap +8 -6
  170. package/src/Component/GlobalAlert/__snapshots__/GlobalAlert.stories.tsx.snap +3 -3
  171. package/src/Component/HeroBanner/HeroBanner.stories.ts +84 -7
  172. package/src/Component/HeroBanner/HeroBanner.stories.tsx +4 -4
  173. package/src/Component/HeroBanner/__snapshots__/HeroBanner.stories.ts.snap +91 -99
  174. package/src/Component/HeroBanner/__snapshots__/HeroBanner.stories.tsx.snap +1 -1
  175. package/src/Component/HeroSearch/HeroSearch.stories.ts +23 -4
  176. package/src/Component/HeroSearch/HeroSearch.stories.tsx +4 -4
  177. package/src/Component/HeroSearch/__snapshots__/HeroSearch.stories.ts.snap +10 -10
  178. package/src/Component/HeroSearch/__snapshots__/HeroSearch.stories.tsx.snap +1 -1
  179. package/src/Component/InPageAlert/InPageAlert.stories.ts +76 -8
  180. package/src/Component/InPageAlert/InPageAlert.stories.tsx +1 -2
  181. package/src/Component/InPageAlert/InPageAlert.tsx +1 -4
  182. package/src/Component/InPageAlert/__snapshots__/InPageAlert.stories.ts.snap +80 -2
  183. package/src/Component/InPageAlert/__snapshots__/InPageAlert.stories.tsx.snap +1 -1
  184. package/src/Component/InPageNavigation/Elements/InPageNavigation.ts +7 -9
  185. package/src/Component/InPageNavigation/Hooks/useInPageNavigation.ts +3 -5
  186. package/src/Component/InPageNavigation/InPageNavigation.stories.ts +44 -9
  187. package/src/Component/InPageNavigation/InPageNavigation.stories.tsx +32 -40
  188. package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.ts.snap +152 -5
  189. package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.tsx.snap +1 -1
  190. package/src/Component/LinkList/LinkList.stories.ts +23 -0
  191. package/src/Component/LinkList/__snapshots__/LinkList.stories.ts.snap +8 -8
  192. package/src/Component/LinkList/__snapshots__/LinkList.stories.tsx.snap +1 -1
  193. package/src/Component/LinkList/link-list.css +1 -2
  194. package/src/Component/ListItem/Components/ListItemContent.tsx +1 -5
  195. package/src/Component/ListItem/Components/ListItemMedia.tsx +1 -4
  196. package/src/Component/ListItem/ListItem.stories.ts +91 -11
  197. package/src/Component/ListItem/ListItem.stories.tsx +6 -7
  198. package/src/Component/ListItem/__snapshots__/ListItem.stories.ts.snap +1 -1
  199. package/src/Component/ListItem/__snapshots__/ListItem.stories.tsx.snap +1 -1
  200. package/src/Component/ListItem/list-item.css +1 -2
  201. package/src/Component/Navigation/Components/DropdownLevel.tsx +5 -13
  202. package/src/Component/Navigation/Elements/Navigation.ts +6 -13
  203. package/src/Component/Navigation/Navigation.stories.ts +48 -0
  204. package/src/Component/Navigation/__snapshots__/Dropdown.stories.tsx.snap +1 -1
  205. package/src/Component/Navigation/__snapshots__/Navigation.stories.ts.snap +1 -1
  206. package/src/Component/Navigation/__snapshots__/Navigation.stories.tsx.snap +1 -1
  207. package/src/Component/Navigation/_navigation-collapsible.css +2 -4
  208. package/src/Component/Navigation/_navigation-dropdown.css +10 -32
  209. package/src/Component/Navigation/_navigation-mega.css +1 -4
  210. package/src/Component/Navigation/_navigation.css +1 -4
  211. package/src/Component/Pagination/Components/PaginationContext.tsx +5 -19
  212. package/src/Component/Pagination/Components/PaginationItem.tsx +1 -5
  213. package/src/Component/Pagination/Pagination.stories.ts +28 -0
  214. package/src/Component/Pagination/Pagination.tsx +3 -11
  215. package/src/Component/Pagination/__snapshots__/Pagination.stories.ts.snap +3 -3
  216. package/src/Component/Pagination/__snapshots__/Pagination.stories.tsx.snap +1 -1
  217. package/src/Component/Pagination/pagination.css +1 -4
  218. package/src/Component/Popover/Elements/Popover.ts +55 -0
  219. package/src/Component/Popover/Popover.stories.ts +259 -0
  220. package/src/Component/Popover/__snapshots__/Popover.stories.ts.snap +508 -0
  221. package/src/Component/{DropMenu → Popover}/polyfills.js +6 -4
  222. package/src/Component/Popover/popover.css +113 -0
  223. package/src/Component/Popover/popover.entry.js +1 -0
  224. package/src/Component/Popover/popover.twig +27 -0
  225. package/src/Component/ResultsBar/Components/ResultsBarInfo.tsx +2 -7
  226. package/src/Component/ResultsBar/Components/ResultsBarSort.tsx +1 -6
  227. package/src/Component/ResultsBar/ResultsBar.stories.ts +34 -4
  228. package/src/Component/ResultsBar/__snapshots__/ResultsBar.stories.ts.snap +3 -3
  229. package/src/Component/ResultsBar/__snapshots__/ResultsBar.stories.tsx.snap +1 -1
  230. package/src/Component/SideNavigation/SideNavigation.stories.ts +40 -0
  231. package/src/Component/SideNavigation/__snapshots__/SideNavigation.stories.ts.snap +1 -1
  232. package/src/Component/SideNavigation/side-navigation.css +3 -6
  233. package/src/Component/SocialLinks/SocialLinks.stories.ts +20 -0
  234. package/src/Component/SocialLinks/__snapshots__/SocialLinks.stories.ts.snap +5 -5
  235. package/src/Component/SocialShare/SocialShare.stories.ts +37 -0
  236. package/src/Component/SocialShare/SocialShare.tsx +2 -4
  237. package/src/Component/SocialShare/__snapshots__/SocialShare.stories.ts.snap +40 -0
  238. package/src/Component/SocialShare/__snapshots__/SocialShare.stories.tsx.snap +1 -1
  239. package/src/Component/SocialShare/social-share.twig +34 -0
  240. package/src/Component/Steps/StepItem.stories.ts +48 -0
  241. package/src/Component/Steps/Steps.stories.ts +82 -13
  242. package/src/Component/Steps/__snapshots__/StepItem.stories.ts.snap +31 -0
  243. package/src/Component/Steps/__snapshots__/Steps.stories.ts.snap +109 -28
  244. package/src/Component/Steps/step-item.twig +1 -1
  245. package/src/Component/Steps/steps.css +4 -11
  246. package/src/Component/Sticky/Elements/Sticky.ts +3 -8
  247. package/src/Component/Sticky/Sticky.stories.ts +35 -3
  248. package/src/Component/Sticky/__snapshots__/Sticky.stories.ts.snap +1 -1
  249. package/src/Component/Sticky/__snapshots__/Sticky.stories.tsx.snap +1 -1
  250. package/src/Component/Sticky/sticky.twig +1 -1
  251. package/src/Component/Tabs/Components/Tab.tsx +2 -8
  252. package/src/Component/Tabs/Components/TabPanel.tsx +1 -5
  253. package/src/Component/Tabs/Elements/Tabs.ts +21 -31
  254. package/src/Component/Tabs/TabItem.stories.ts +52 -0
  255. package/src/Component/Tabs/Tabs.stories.ts +51 -8
  256. package/src/Component/Tabs/Tabs.tsx +6 -22
  257. package/src/Component/Tabs/__snapshots__/TabItem.stories.ts.snap +12 -0
  258. package/src/Component/Tabs/__snapshots__/Tabs.stories.ts.snap +127 -11
  259. package/src/Component/Tabs/__snapshots__/Tabs.stories.tsx.snap +1 -1
  260. package/src/Component/Tabs/tab-item.twig +1 -2
  261. package/src/Component/Tabs/tabs.css +56 -59
  262. package/src/Component/Tag/Tag.stories.ts +30 -0
  263. package/src/Component/Tag/Tag.tsx +1 -5
  264. package/src/Component/Tag/__snapshots__/Tag.stories.ts.snap +1 -1
  265. package/src/Component/Tag/__snapshots__/Tag.stories.tsx.snap +1 -1
  266. package/src/Component/Tag/tag.css +1 -4
  267. package/src/Component/UtilityList/Elements/UtilityList.ts +110 -0
  268. package/src/Component/UtilityList/UtilityList.stories.ts +72 -0
  269. package/src/Component/UtilityList/__snapshots__/UtilityList.stories.ts.snap +274 -0
  270. package/src/Component/UtilityList/utility-list.css +40 -0
  271. package/src/Component/UtilityList/utility-list.entry.js +1 -0
  272. package/src/Component/UtilityList/utility-list.twig +66 -0
  273. package/src/Form/Checkbox/FormCheckbox.stories.tsx +1 -3
  274. package/src/Form/Checkbox/FormCheckbox.tsx +4 -25
  275. package/src/Form/Checkbox/__snapshots__/Checkbox.stories.ts.snap +3 -3
  276. package/src/Form/Description/Description.stories.ts +1 -2
  277. package/src/Form/Description/FormStatus.stories.ts +1 -4
  278. package/src/Form/Description/__snapshots__/Description.stories.ts.snap +1 -1
  279. package/src/Form/Description/__snapshots__/FormDescription.stories.tsx.snap +1 -1
  280. package/src/Form/Description/__snapshots__/FormStatus.stories.ts.snap +3 -3
  281. package/src/Form/Form/Form.tsx +1 -3
  282. package/src/Form/Form/__snapshots__/Form.stories.tsx.snap +1 -1
  283. package/src/Form/Form/__snapshots__/FormTitle.stories.tsx.snap +1 -1
  284. package/src/Form/FormItem/FormItem.stories.ts +3 -9
  285. package/src/Form/FormItem/__snapshots__/FormItem.stories.ts.snap +18 -18
  286. package/src/Form/FormItem/__snapshots__/FormItem.stories.tsx.snap +1 -1
  287. package/src/Form/Label/FormLabel.tsx +1 -5
  288. package/src/Form/Label/__snapshots__/FormLabel.stories.tsx.snap +1 -1
  289. package/src/Form/Label/__snapshots__/Label.stories.ts.snap +3 -3
  290. package/src/Form/Radio/FormRadio.stories.tsx +1 -3
  291. package/src/Form/Radio/FormRadio.tsx +4 -25
  292. package/src/Form/Radio/__snapshots__/Radio.stories.ts.snap +9 -9
  293. package/src/Form/Search/__snapshots__/Search.stories.ts.snap +1 -1
  294. package/src/Form/Select/FormSelect.tsx +3 -9
  295. package/src/Form/Select/__snapshots__/FormSelect.stories.tsx.snap +1 -1
  296. package/src/Form/Select/__snapshots__/Select.stories.ts.snap +2 -2
  297. package/src/Form/TextInput/FormText.tsx +3 -9
  298. package/src/Form/TextInput/TextInput.stories.ts +1 -4
  299. package/src/Form/TextInput/__snapshots__/FormText.stories.tsx.snap +1 -1
  300. package/src/Form/TextInput/__snapshots__/InputDivider.stories.ts.snap +1 -1
  301. package/src/Form/TextInput/__snapshots__/TextInput.stories.ts.snap +3 -3
  302. package/src/Form/Textarea/FormTextarea.tsx +3 -9
  303. package/src/Form/Textarea/__snapshots__/FormTextarea.stories.tsx.snap +1 -1
  304. package/src/Form/Textarea/__snapshots__/Textarea.stories.ts.snap +2 -2
  305. package/src/Form/form.css +6 -14
  306. package/src/Introduction.mdx +1 -2
  307. package/src/Layout/Footer/Footer.stories.ts +1 -5
  308. package/src/Layout/Footer/Footer.stories.tsx +2 -3
  309. package/src/Layout/Footer/Footer.tsx +3 -12
  310. package/src/Layout/Footer/__snapshots__/Footer.stories.ts.snap +4 -4
  311. package/src/Layout/Footer/__snapshots__/Footer.stories.tsx.snap +1 -1
  312. package/src/Layout/Grid/Grid.stories.ts +40 -8
  313. package/src/Layout/Grid/Grid.tsx +1 -2
  314. package/src/Layout/Grid/GridItem.stories.ts +63 -0
  315. package/src/Layout/Grid/__snapshots__/Grid.stories.ts.snap +29 -4
  316. package/src/Layout/Grid/__snapshots__/Grid.stories.tsx.snap +1 -1
  317. package/src/Layout/Grid/__snapshots__/GridItem.stories.ts.snap +19 -0
  318. package/src/Layout/Grid/grid-item.twig +3 -9
  319. package/src/Layout/Grid/grid.css +1 -4
  320. package/src/Layout/Header/Elements/GlobalToggle.ts +9 -29
  321. package/src/Layout/Header/__snapshots__/Header.stories.ts.snap +25 -45
  322. package/src/Layout/Header/__snapshots__/Header.stories.tsx.snap +3 -3
  323. package/src/Layout/Header/_toggles.css +2 -2
  324. package/src/Layout/Header/header.twig +1 -1
  325. package/src/Layout/Masthead/Masthead.stories.ts +1 -4
  326. package/src/Layout/Masthead/__snapshots__/Masthead.stories.ts.snap +3 -3
  327. package/src/Layout/Page/Page.stories.tsx +2 -2
  328. package/src/Layout/Page/__snapshots__/Page.stories.tsx.snap +3 -3
  329. package/src/Layout/Page/page.css +2 -10
  330. package/src/Layout/Section/Background.stories.ts +14 -39
  331. package/src/Layout/Section/Breakouts.stories.ts +3 -0
  332. package/src/Layout/Section/Flow.stories.ts +3 -0
  333. package/src/Layout/Section/Section.stories.ts +93 -11
  334. package/src/Layout/Section/Section.tsx +3 -13
  335. package/src/Layout/Section/SectionGrid.tsx +2 -9
  336. package/src/Layout/Section/__snapshots__/Background.stories.ts.snap +4 -4
  337. package/src/Layout/Section/__snapshots__/Breakouts.stories.ts.snap +1 -1
  338. package/src/Layout/Section/__snapshots__/Flow.stories.ts.snap +1 -1
  339. package/src/Layout/Section/__snapshots__/Section.stories.ts.snap +93 -3
  340. package/src/Layout/Section/__snapshots__/Section.stories.tsx.snap +1 -1
  341. package/src/Layout/Section/__snapshots__/SectionGrid.stories.tsx.snap +1 -1
  342. package/src/Layout/Section/section.css +2 -5
  343. package/src/Layout/Section/section.twig +1 -3
  344. package/src/Layout/Sidebar/Sidebar.stories.ts +46 -4
  345. package/src/Layout/Sidebar/Sidebar.tsx +1 -3
  346. package/src/Layout/Sidebar/__snapshots__/Sidebar.stories.ts.snap +4 -4
  347. package/src/Layout/Sidebar/__snapshots__/Sidebar.stories.tsx.snap +1 -1
  348. package/src/Utility/Context/ImageComponent.tsx +4 -8
  349. package/src/Utility/Context/LinkComponent.tsx +1 -5
  350. package/src/Utility/Drupal/drupal.css +2 -4
  351. package/src/Utility/Elements/breakpoint-loader.ts +4 -10
  352. package/src/Utility/Elements/cookie-compliance.ts +2 -8
  353. package/src/Utility/Elements/disclosure-widget.ts +11 -18
  354. package/src/Utility/Elements/io-loader.ts +4 -6
  355. package/src/Utility/Elements/keyboard.ts +4 -14
  356. package/src/Utility/Hooks/useLocalStorage.ts +5 -18
  357. package/src/Utility/Hooks/useMediaQuery.ts +1 -4
  358. package/src/Utility/Hooks/useToggle.ts +1 -3
  359. package/src/Utility/global.d.ts +1 -5
  360. package/src/Utility/utilities.ts +20 -45
  361. package/src/constants.css +7 -28
  362. package/src/enums.ts +3 -1
  363. package/src/react.ts +5 -21
  364. package/src/tokens.js +2 -2
  365. package/dist/build/chunks/disclosure-widget-DVpnRsTI.js +0 -126
  366. package/dist/build/chunks/disclosure-widget-DVpnRsTI.js.map +0 -1
  367. package/dist/build/chunks/drop-menu.entry-B4TtnC50.js +0 -132
  368. package/dist/build/chunks/drop-menu.entry-B4TtnC50.js.map +0 -1
  369. package/dist/build/chunks/keyboard-rvZ4dfGF.js +0 -104
  370. package/dist/build/chunks/keyboard-rvZ4dfGF.js.map +0 -1
  371. package/dist/build/chunks/polyfills-C-B7iqDG.js.map +0 -1
  372. package/dist/build/chunks/utilities-DXELy_An.js.map +0 -1
  373. package/src/Atom/Text/TextSizes.stories.ts +0 -25
  374. package/src/Atom/Text/text-alignment.twig +0 -5
  375. package/src/Component/Accordion/twig/accordion-example.twig +0 -36
  376. package/src/Component/Tile/README.md +0 -3
  377. package/src/Component/Tile/Tile.stories.ts +0 -49
  378. package/src/Component/Tile/Tile.stories.tsx +0 -35
  379. package/src/Component/Tile/__snapshots__/Tile.stories.ts.snap +0 -57
  380. package/src/Component/Tile/__snapshots__/Tile.stories.tsx.snap +0 -23
@@ -6,10 +6,7 @@ type InPageAlertProps = PropsWithChildren & {
6
6
  type?: InPageAlertTypes
7
7
  }
8
8
 
9
- const InPageAlert = ({
10
- children,
11
- type = InPageAlertTypes.INFO,
12
- }: InPageAlertProps): JSX.Element => (
9
+ const InPageAlert = ({ children, type = InPageAlertTypes.INFO }: InPageAlertProps): JSX.Element => (
13
10
  <div
14
11
  className={classNames("message", {
15
12
  [`message--${type}`]: type,
@@ -1,9 +1,87 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
+
3
+ exports[`Component/InPageAlert Error smoke-test 1`] = `
4
+ <div class="mx-page default">
5
+ <div class="message message--error mx-icon mx-icon--error">
6
+ <div class="message__content">
7
+ Something happened that requires your attention
8
+ <a href="#">
9
+ <span>
10
+ Click here
11
+ </span>
12
+ </a>
13
+ </div>
14
+ </div>
15
+ </div>
16
+ `;
2
17
 
3
18
  exports[`Component/InPageAlert InPageAlert smoke-test 1`] = `
4
19
  <div class="mx-page default">
5
- <div class="message ">
20
+ <div class="message">
21
+ <div class="message__content">
22
+ Something happened that requires your attention
23
+ <a href="#">
24
+ <span>
25
+ Click here
26
+ </span>
27
+ </a>
28
+ </div>
29
+ </div>
30
+ </div>
31
+ `;
32
+
33
+ exports[`Component/InPageAlert Info smoke-test 1`] = `
34
+ <div class="mx-page default">
35
+ <div class="message message--info mx-icon mx-icon--info">
36
+ <div class="message__content">
37
+ Something happened that requires your attention
38
+ <a href="#">
39
+ <span>
40
+ Click here
41
+ </span>
42
+ </a>
43
+ </div>
44
+ </div>
45
+ </div>
46
+ `;
47
+
48
+ exports[`Component/InPageAlert Success smoke-test 1`] = `
49
+ <div class="mx-page default">
50
+ <div class="message message--success mx-icon mx-icon--success">
51
+ <div class="message__content">
52
+ Something happened that requires your attention
53
+ <a href="#">
54
+ <span>
55
+ Click here
56
+ </span>
57
+ </a>
58
+ </div>
59
+ </div>
60
+ </div>
61
+ `;
62
+
63
+ exports[`Component/InPageAlert Warning smoke-test 1`] = `
64
+ <div class="mx-page default">
65
+ <div class="message message--warning mx-icon mx-icon--warning">
66
+ <div class="message__content">
67
+ Something happened that requires your attention
68
+ <a href="#">
69
+ <span>
70
+ Click here
71
+ </span>
72
+ </a>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ `;
77
+
78
+ exports[`Component/InPageAlert WithHeading smoke-test 1`] = `
79
+ <div class="mx-page default">
80
+ <div class="message">
6
81
  <div class="message__content">
82
+ <h2 class="mx-heading--m">
83
+ In page alert
84
+ </h2>
7
85
  Something happened that requires your attention
8
86
  <a href="#">
9
87
  <span>
@@ -1,4 +1,4 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`Component/InPageAlert Error smoke-test 1`] = `
4
4
  <div class="message message--error icon icon--error">
@@ -1,6 +1,6 @@
1
1
  /**
2
- * DialogBase
3
- * @file Support opening/closing, and adding a scroll lock to the body.
2
+ * InPageNavigation
3
+ * @file Ensure headings have IDs and build the menu if not set.
4
4
  */
5
5
 
6
6
  import { makeAnchor, createElement } from "../../../Utility/utilities"
@@ -33,9 +33,7 @@ export default class InPageNavigation extends HTMLElement {
33
33
  })
34
34
  } else {
35
35
  this.links.forEach((link: HTMLAnchorElement) => {
36
- const heading: HTMLHeadingElement = this.container.querySelector(
37
- link.hash,
38
- )
36
+ const heading: HTMLHeadingElement = this.container.querySelector(link.hash)
39
37
  if (!heading) return
40
38
  this.items.push({ link, heading })
41
39
  })
@@ -72,8 +70,7 @@ export default class InPageNavigation extends HTMLElement {
72
70
  }
73
71
 
74
72
  get menu(): HTMLUListElement | HTMLOListElement | null {
75
- const menu: HTMLUListElement | HTMLOListElement | null =
76
- this.querySelector("ul, ol")
73
+ const menu: HTMLUListElement | HTMLOListElement | null = this.querySelector("ul, ol")
77
74
  if (!menu) {
78
75
  throw new Error(`${this.localName} must contain a <ul> or <ol> element.`)
79
76
  }
@@ -91,7 +88,7 @@ export default class InPageNavigation extends HTMLElement {
91
88
  }
92
89
 
93
90
  get headings(): NodeListOf<HTMLHeadingElement> | undefined {
94
- return this.container?.querySelectorAll(this.headingLevels)
91
+ return this.container?.querySelectorAll(`:is(${this.headingLevels}):not(.is-excluded)`)
95
92
  }
96
93
 
97
94
  get links(): NodeListOf<HTMLAnchorElement> | undefined {
@@ -126,7 +123,8 @@ export default class InPageNavigation extends HTMLElement {
126
123
  }
127
124
  }
128
125
 
129
- customElements.define("mx-in-page-navigation", InPageNavigation)
126
+ if (!customElements.get("mx-in-page-navigation"))
127
+ customElements.define("mx-in-page-navigation", InPageNavigation)
130
128
 
131
129
  declare global {
132
130
  interface HTMLElementTagNameMap {
@@ -32,11 +32,9 @@ const useInPageNavigation = ({
32
32
  }) as HeadingType,
33
33
  )
34
34
  setHeadings([...new Set(values)])
35
- headingElements.forEach(
36
- (heading: HTMLHeadingElement, index: number): void => {
37
- if (!heading.id) heading.id = values[index].id
38
- },
39
- )
35
+ headingElements.forEach((heading: HTMLHeadingElement, index: number): void => {
36
+ if (!heading.id) heading.id = values[index].id
37
+ })
40
38
  }, [ref, levels])
41
39
 
42
40
  return { headings }
@@ -2,10 +2,7 @@ import { Meta, StoryObj } from "@storybook/html-vite"
2
2
  import Component from "./twig/in-page-navigation-story.twig"
3
3
  import "./in-page-navigation.css"
4
4
  import "./Elements/InPageNavigation"
5
- import {
6
- HeadingTypes,
7
- InPageNavigation as InPageNavigationType,
8
- } from "@pnx-mixtape/ids-shape"
5
+ import { HeadingTypes, InPageNavigation as InPageNavigationType } from "@pnx-mixtape/ids-shape"
9
6
 
10
7
  // Deps.
11
8
  import Heading from "../../Atom/Heading/heading.twig"
@@ -13,6 +10,10 @@ import Link from "../../Atom/Link/link.twig"
13
10
  import Icon from "../../Atom/Icon/icon.twig"
14
11
  import { Icons } from "../../enums"
15
12
 
13
+ /**
14
+ * A table of contents with anchor links to the headings.
15
+ * It is enhanced by the `InPageNavigation` element javascript (not needed if all headings have IDs and the `items` are provided).
16
+ */
16
17
  const meta: Meta<InPageNavigationType> = {
17
18
  tags: ["autodocs", "ids-mvp"],
18
19
  component: Component,
@@ -47,13 +48,28 @@ const meta: Meta<InPageNavigationType> = {
47
48
  ],
48
49
  },
49
50
  argTypes: {
50
- levels: { options: Object.values(HeadingTypes), control: "multi-select" },
51
- // @ts-expect-error The controls follow the shape
52
- "title.title": { control: "text" },
53
- "title.as": { options: Object.values(HeadingTypes), control: "select" },
54
- "title.modifiers": {
51
+ levels: {
52
+ description:
53
+ "If no `items` are provided, the javascript can build the items from the headings. This chooses the headings to include. eg; `h2,h3`",
55
54
  options: Object.values(HeadingTypes),
56
55
  control: "multi-select",
56
+ table: {
57
+ type: { summary: "enum" },
58
+ defaultValue: { summary: HeadingTypes.TWO },
59
+ },
60
+ },
61
+ title: {
62
+ description: "Optional [Heading](/?path=/docs/atom-heading--docs) component.",
63
+ control: "text",
64
+ table: {
65
+ type: { summary: "Heading" },
66
+ },
67
+ },
68
+ items: {
69
+ description: "A list of [Link](/?path=/docs/atom-link--docs) objects to use for the menu.",
70
+ table: {
71
+ type: { summary: "Link[]" },
72
+ },
57
73
  },
58
74
  },
59
75
  }
@@ -62,3 +78,22 @@ export default meta
62
78
  type Story = StoryObj<InPageNavigationType>
63
79
 
64
80
  export const InPageNavigation: Story = {}
81
+
82
+ /**
83
+ * When the `items` are empty, the Javascript builds them.
84
+ */
85
+ export const GeneratedItems: Story = {
86
+ args: {
87
+ items: [],
88
+ },
89
+ }
90
+
91
+ /**
92
+ * Adding levels builds a nested menu.
93
+ */
94
+ export const Nested: Story = {
95
+ args: {
96
+ items: [],
97
+ levels: [HeadingTypes.TWO, HeadingTypes.THREE],
98
+ },
99
+ }
@@ -14,69 +14,61 @@ const meta: Meta<typeof Component> = {
14
14
  <div className="mx-vertical-flow">
15
15
  <Heading level={HeadingLevels.TWO}>Section 1</Heading>
16
16
  <Text>
17
- In publishing and graphic design, lorem ipsum is a placeholder text
18
- commonly used to demonstrate the visual form of a document without
19
- relying on meaningful content. Replacing the actual content with
20
- placeholder text allows designers to design the form of the content
21
- before the content itself has been produced.
17
+ In publishing and graphic design, lorem ipsum is a placeholder text commonly used to
18
+ demonstrate the visual form of a document without relying on meaningful content. Replacing
19
+ the actual content with placeholder text allows designers to design the form of the
20
+ content before the content itself has been produced.
22
21
  </Text>
23
22
  <Heading level={HeadingLevels.TWO} id="anchor-test">
24
23
  Section 2
25
24
  </Heading>
26
25
  <Text>
27
- In publishing and graphic design, lorem ipsum is a placeholder text
28
- commonly used to demonstrate the visual form of a document without
29
- relying on meaningful content. Replacing the actual content with
30
- placeholder text allows designers to design the form of the content
31
- before the content itself has been produced.
26
+ In publishing and graphic design, lorem ipsum is a placeholder text commonly used to
27
+ demonstrate the visual form of a document without relying on meaningful content. Replacing
28
+ the actual content with placeholder text allows designers to design the form of the
29
+ content before the content itself has been produced.
32
30
  </Text>
33
31
  <Heading level={HeadingLevels.THREE}>Test level 3</Heading>
34
32
  <Text>
35
- In publishing and graphic design, lorem ipsum is a placeholder text
36
- commonly used to demonstrate the visual form of a document without
37
- relying on meaningful content. Replacing the actual content with
38
- placeholder text allows designers to design the form of the content
39
- before the content itself has been produced.
33
+ In publishing and graphic design, lorem ipsum is a placeholder text commonly used to
34
+ demonstrate the visual form of a document without relying on meaningful content. Replacing
35
+ the actual content with placeholder text allows designers to design the form of the
36
+ content before the content itself has been produced.
40
37
  </Text>
41
38
  <Heading level={HeadingLevels.TWO}>Section 3</Heading>
42
39
  <Text>
43
- In publishing and graphic design, lorem ipsum is a placeholder text
44
- commonly used to demonstrate the visual form of a document without
45
- relying on meaningful content. Replacing the actual content with
46
- placeholder text allows designers to design the form of the content
47
- before the content itself has been produced.
40
+ In publishing and graphic design, lorem ipsum is a placeholder text commonly used to
41
+ demonstrate the visual form of a document without relying on meaningful content. Replacing
42
+ the actual content with placeholder text allows designers to design the form of the
43
+ content before the content itself has been produced.
48
44
  </Text>
49
45
  <Heading level={HeadingLevels.TWO}>Section 4</Heading>
50
46
  <Text>
51
- In publishing and graphic design, lorem ipsum is a placeholder text
52
- commonly used to demonstrate the visual form of a document without
53
- relying on meaningful content. Replacing the actual content with
54
- placeholder text allows designers to design the form of the content
55
- before the content itself has been produced.
47
+ In publishing and graphic design, lorem ipsum is a placeholder text commonly used to
48
+ demonstrate the visual form of a document without relying on meaningful content. Replacing
49
+ the actual content with placeholder text allows designers to design the form of the
50
+ content before the content itself has been produced.
56
51
  </Text>
57
52
  <Heading level={HeadingLevels.TWO}>Section 5</Heading>
58
53
  <Text>
59
- In publishing and graphic design, lorem ipsum is a placeholder text
60
- commonly used to demonstrate the visual form of a document without
61
- relying on meaningful content. Replacing the actual content with
62
- placeholder text allows designers to design the form of the content
63
- before the content itself has been produced.
54
+ In publishing and graphic design, lorem ipsum is a placeholder text commonly used to
55
+ demonstrate the visual form of a document without relying on meaningful content. Replacing
56
+ the actual content with placeholder text allows designers to design the form of the
57
+ content before the content itself has been produced.
64
58
  </Text>
65
59
  <Heading level={HeadingLevels.THREE}>Test level 6</Heading>
66
60
  <Text>
67
- In publishing and graphic design, lorem ipsum is a placeholder text
68
- commonly used to demonstrate the visual form of a document without
69
- relying on meaningful content. Replacing the actual content with
70
- placeholder text allows designers to design the form of the content
71
- before the content itself has been produced.
61
+ In publishing and graphic design, lorem ipsum is a placeholder text commonly used to
62
+ demonstrate the visual form of a document without relying on meaningful content. Replacing
63
+ the actual content with placeholder text allows designers to design the form of the
64
+ content before the content itself has been produced.
72
65
  </Text>
73
66
  <Heading level={HeadingLevels.TWO}>Section 7</Heading>
74
67
  <Text>
75
- In publishing and graphic design, lorem ipsum is a placeholder text
76
- commonly used to demonstrate the visual form of a document without
77
- relying on meaningful content. Replacing the actual content with
78
- placeholder text allows designers to design the form of the content
79
- before the content itself has been produced.
68
+ In publishing and graphic design, lorem ipsum is a placeholder text commonly used to
69
+ demonstrate the visual form of a document without relying on meaningful content. Replacing
70
+ the actual content with placeholder text allows designers to design the form of the
71
+ content before the content itself has been produced.
80
72
  </Text>
81
73
  </div>
82
74
  </Sidebar>
@@ -1,4 +1,73 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
+
3
+ exports[`Component/InPageNavigation GeneratedItems smoke-test 1`] = `
4
+ <div class="mx-page default">
5
+ <mx-in-page-navigation data-content=".js-content"
6
+ data-headings
7
+ >
8
+ <nav class="mx-nav mx-nav--list mx-in-page-navigation mx-vertical-flow">
9
+ <h2 class="mx-heading--m">
10
+ On this page
11
+ </h2>
12
+ <ul>
13
+ <li class="mx-in-page-navigation__level--h2">
14
+ <a href="#section-1">
15
+ <span class="mx-icon mx-icon--chevron-right">
16
+ </span>
17
+ <span>
18
+ Section 1
19
+ </span>
20
+ </a>
21
+ </li>
22
+ <li class="mx-in-page-navigation__level--h2">
23
+ <a href="#section-2">
24
+ <span class="mx-icon mx-icon--chevron-right">
25
+ </span>
26
+ <span>
27
+ Section 2
28
+ </span>
29
+ </a>
30
+ </li>
31
+ <li class="mx-in-page-navigation__level--h2">
32
+ <a href="#section-3">
33
+ <span class="mx-icon mx-icon--chevron-right">
34
+ </span>
35
+ <span>
36
+ Section 3
37
+ </span>
38
+ </a>
39
+ </li>
40
+ </ul>
41
+ </nav>
42
+ </mx-in-page-navigation>
43
+ <div class="js-content mx-rich-text mx-vertical-flow mx-section--l">
44
+ <h2 id="section-1">
45
+ Section 1
46
+ </h2>
47
+ <p>
48
+ In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.
49
+ </p>
50
+ <h2 id="section-2">
51
+ Section 2
52
+ </h2>
53
+ <p>
54
+ In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.
55
+ </p>
56
+ <h3 id="test-level-3">
57
+ Test level 3
58
+ </h3>
59
+ <p>
60
+ In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.
61
+ </p>
62
+ <h2 id="section-3">
63
+ Section 3
64
+ </h2>
65
+ <p>
66
+ In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.
67
+ </p>
68
+ </div>
69
+ </div>
70
+ `;
2
71
 
3
72
  exports[`Component/InPageNavigation InPageNavigation smoke-test 1`] = `
4
73
  <div class="mx-page default">
@@ -6,13 +75,13 @@ exports[`Component/InPageNavigation InPageNavigation smoke-test 1`] = `
6
75
  data-headings
7
76
  >
8
77
  <nav class="mx-nav mx-nav--list mx-in-page-navigation mx-vertical-flow">
9
- <h2 class=" mx-heading--m">
78
+ <h2 class="mx-heading--m">
10
79
  On this page
11
80
  </h2>
12
81
  <ul>
13
82
  <li>
14
83
  <a href="#section-1">
15
- <span class="mx-icon mx-icon--chevron-right ">
84
+ <span class="mx-icon mx-icon--chevron-right">
16
85
  </span>
17
86
  <span>
18
87
  Section 1
@@ -21,7 +90,7 @@ exports[`Component/InPageNavigation InPageNavigation smoke-test 1`] = `
21
90
  </li>
22
91
  <li>
23
92
  <a href="#section-2">
24
- <span class="mx-icon mx-icon--chevron-right ">
93
+ <span class="mx-icon mx-icon--chevron-right">
25
94
  </span>
26
95
  <span>
27
96
  Section 2
@@ -30,7 +99,85 @@ exports[`Component/InPageNavigation InPageNavigation smoke-test 1`] = `
30
99
  </li>
31
100
  <li>
32
101
  <a href="#section-3">
33
- <span class="mx-icon mx-icon--chevron-right ">
102
+ <span class="mx-icon mx-icon--chevron-right">
103
+ </span>
104
+ <span>
105
+ Section 3
106
+ </span>
107
+ </a>
108
+ </li>
109
+ </ul>
110
+ </nav>
111
+ </mx-in-page-navigation>
112
+ <div class="js-content mx-rich-text mx-vertical-flow mx-section--l">
113
+ <h2 id="section-1">
114
+ Section 1
115
+ </h2>
116
+ <p>
117
+ In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.
118
+ </p>
119
+ <h2 id="section-2">
120
+ Section 2
121
+ </h2>
122
+ <p>
123
+ In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.
124
+ </p>
125
+ <h3 id="test-level-3">
126
+ Test level 3
127
+ </h3>
128
+ <p>
129
+ In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.
130
+ </p>
131
+ <h2 id="section-3">
132
+ Section 3
133
+ </h2>
134
+ <p>
135
+ In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.
136
+ </p>
137
+ </div>
138
+ </div>
139
+ `;
140
+
141
+ exports[`Component/InPageNavigation Nested smoke-test 1`] = `
142
+ <div class="mx-page default">
143
+ <mx-in-page-navigation data-content=".js-content"
144
+ data-headings="h2,h3"
145
+ >
146
+ <nav class="mx-nav mx-nav--list mx-in-page-navigation mx-vertical-flow">
147
+ <h2 class="mx-heading--m">
148
+ On this page
149
+ </h2>
150
+ <ul>
151
+ <li class="mx-in-page-navigation__level--h2">
152
+ <a href="#section-1">
153
+ <span class="mx-icon mx-icon--chevron-right">
154
+ </span>
155
+ <span>
156
+ Section 1
157
+ </span>
158
+ </a>
159
+ </li>
160
+ <li class="mx-in-page-navigation__level--h2">
161
+ <a href="#section-2">
162
+ <span class="mx-icon mx-icon--chevron-right">
163
+ </span>
164
+ <span>
165
+ Section 2
166
+ </span>
167
+ </a>
168
+ </li>
169
+ <li class="mx-in-page-navigation__level--h3">
170
+ <a href="#test-level-3">
171
+ <span class="mx-icon mx-icon--chevron-right">
172
+ </span>
173
+ <span>
174
+ Test level 3
175
+ </span>
176
+ </a>
177
+ </li>
178
+ <li class="mx-in-page-navigation__level--h2">
179
+ <a href="#section-3">
180
+ <span class="mx-icon mx-icon--chevron-right">
34
181
  </span>
35
182
  <span>
36
183
  Section 3
@@ -1,4 +1,4 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`Component/InPageNavigation InPageNavigation smoke-test 1`] = `
4
4
  <div class="mx-grid--sidebar">
@@ -37,6 +37,26 @@ const meta: Meta<typeof Component> = {
37
37
  }),
38
38
  ],
39
39
  },
40
+ argTypes: {
41
+ title: {
42
+ description: "Optional [Heading](/?path=/docs/atom-heading--docs) component.",
43
+ control: "text",
44
+ table: {
45
+ type: { summary: "Heading" },
46
+ },
47
+ },
48
+ items: {
49
+ description: `A list of [Link](/?path=/docs/atom-link--docs) objects to use for the menu. These should include the \`${Icons.CHEVRON_RIGHT}\` [Icon](/?path=/docs/atom-icon--docs)`,
50
+ type: {
51
+ name: "other",
52
+ required: true,
53
+ value: "array",
54
+ },
55
+ table: {
56
+ type: { summary: "Link[]" },
57
+ },
58
+ },
59
+ },
40
60
  }
41
61
 
42
62
  export default meta
@@ -44,6 +64,9 @@ type Story = StoryObj<typeof meta>
44
64
 
45
65
  export const LinkList: Story = {}
46
66
 
67
+ /**
68
+ * Adds a heading above the list.
69
+ */
47
70
  export const WithTitle: Story = {
48
71
  args: {
49
72
  title: Heading({
@@ -1,4 +1,4 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`Component/LinkList LinkList smoke-test 1`] = `
4
4
  <div class="mx-page default">
@@ -8,7 +8,7 @@ exports[`Component/LinkList LinkList smoke-test 1`] = `
8
8
  <span>
9
9
  Music
10
10
  </span>
11
- <span class="mx-icon mx-icon--chevron-right ">
11
+ <span class="mx-icon mx-icon--chevron-right">
12
12
  </span>
13
13
  </a>
14
14
  </li>
@@ -17,7 +17,7 @@ exports[`Component/LinkList LinkList smoke-test 1`] = `
17
17
  <span>
18
18
  Performances
19
19
  </span>
20
- <span class="mx-icon mx-icon--chevron-right ">
20
+ <span class="mx-icon mx-icon--chevron-right">
21
21
  </span>
22
22
  </a>
23
23
  </li>
@@ -26,7 +26,7 @@ exports[`Component/LinkList LinkList smoke-test 1`] = `
26
26
  <span>
27
27
  Get involved
28
28
  </span>
29
- <span class="mx-icon mx-icon--chevron-right ">
29
+ <span class="mx-icon mx-icon--chevron-right">
30
30
  </span>
31
31
  </a>
32
32
  </li>
@@ -36,7 +36,7 @@ exports[`Component/LinkList LinkList smoke-test 1`] = `
36
36
 
37
37
  exports[`Component/LinkList WithTitle smoke-test 1`] = `
38
38
  <div class="mx-page default">
39
- <h2 class=" mx-heading--m">
39
+ <h2 class="mx-heading--m">
40
40
  Popular links
41
41
  </h2>
42
42
  <ul class="mx-link-list">
@@ -45,7 +45,7 @@ exports[`Component/LinkList WithTitle smoke-test 1`] = `
45
45
  <span>
46
46
  Music
47
47
  </span>
48
- <span class="mx-icon mx-icon--chevron-right ">
48
+ <span class="mx-icon mx-icon--chevron-right">
49
49
  </span>
50
50
  </a>
51
51
  </li>
@@ -54,7 +54,7 @@ exports[`Component/LinkList WithTitle smoke-test 1`] = `
54
54
  <span>
55
55
  Performances
56
56
  </span>
57
- <span class="mx-icon mx-icon--chevron-right ">
57
+ <span class="mx-icon mx-icon--chevron-right">
58
58
  </span>
59
59
  </a>
60
60
  </li>
@@ -63,7 +63,7 @@ exports[`Component/LinkList WithTitle smoke-test 1`] = `
63
63
  <span>
64
64
  Get involved
65
65
  </span>
66
- <span class="mx-icon mx-icon--chevron-right ">
66
+ <span class="mx-icon mx-icon--chevron-right">
67
67
  </span>
68
68
  </a>
69
69
  </li>
@@ -1,4 +1,4 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`Navigation/Link List LinkList smoke-test 1`] = `
4
4
  <ul class="mx-link-list">