@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
@@ -0,0 +1,90 @@
1
+ import { Meta, StoryObj } from "@storybook/html-vite"
2
+ import Component from "./accordion-item.twig"
3
+ import AccordionMobile from "./twig/accordion-mobile.twig"
4
+ import AccordionDiv from "./twig/accordion-div.twig"
5
+
6
+ import "./Elements/Accordion"
7
+ import "./Elements/AccordionMobile"
8
+ import "./Elements/AccordionDiv"
9
+ import "./accordion.css"
10
+ import { AccordionItem as AccordionItemType } from "@pnx-mixtape/ids-shape"
11
+
12
+ /**
13
+ * An HTML Details based accordion.
14
+ * For extra features like anchor opening, include the `Accordion` custom element javascript.
15
+ */
16
+ const meta: Meta<AccordionItemType> = {
17
+ tags: ["autodocs", "ids-mvp"],
18
+ component: Component,
19
+ args: {
20
+ title: "Music",
21
+ content:
22
+ "I'm baby air plant hashtag letterpress blue bottle. Cloud bread dreamcatcher everyday carry lumbersexual, iceland cardigan swag chicharrones lo-fi fanny pack affogato freegan XOXO shaman. Shoreditch cloud bread waistcoat tbh XOXO. Chillwave pour-over umami pug glossier health goth.",
23
+ id: "music-accordion",
24
+ open: false,
25
+ },
26
+ argTypes: {
27
+ title: {
28
+ description: "The accordion title, shown as the toggle",
29
+ control: "text",
30
+ type: {
31
+ name: "string",
32
+ required: true,
33
+ },
34
+ },
35
+ content: {
36
+ description: "Content.",
37
+ control: "text",
38
+ type: {
39
+ name: "string",
40
+ required: true,
41
+ },
42
+ table: { type: { summary: "WysiwygText" } },
43
+ },
44
+ id: {
45
+ description: "The AccordionItem id",
46
+ type: {
47
+ name: "string",
48
+ required: true,
49
+ },
50
+ },
51
+ open: {
52
+ description: "Option to set the accordion as open by default.",
53
+ type: "boolean",
54
+ table: {
55
+ defaultValue: { summary: "false" },
56
+ },
57
+ },
58
+ },
59
+ }
60
+
61
+ export default meta
62
+ type Story = StoryObj<AccordionItemType>
63
+
64
+ export const AccordionItem: Story = {}
65
+
66
+ /**
67
+ * Open by default accordion.
68
+ */
69
+ export const Open: Story = {
70
+ args: {
71
+ open: true,
72
+ id: "open-accordion-item",
73
+ },
74
+ }
75
+
76
+ /**
77
+ * A special version that is only collapsed on mobile viewports (used in the [Filters](/?path=/docs/component-filters--docs)).
78
+ * It requires the `AccordionMobile` custom element javascript, to toggle the `[open]` attributes based on viewport/resize.
79
+ */
80
+ export const MobileOnly: Story = {
81
+ render: args => AccordionMobile({ ...args }),
82
+ }
83
+
84
+ /**
85
+ * A variant which used a Div rather than the HTML Details elements (should be avoided).
86
+ * It requires the `AccordionDiv` custom element javascript.
87
+ */
88
+ export const Div: Story = {
89
+ render: args => AccordionDiv({ ...args }),
90
+ }
@@ -8,11 +8,7 @@ const AccordionContent = ({ children }: PropsWithChildren): JSX.Element => {
8
8
  <div
9
9
  role="region"
10
10
  aria-labelledby={id}
11
- className={classNames(
12
- "mx-accordion__content",
13
- "mx-rich-text",
14
- "mx-vertical-flow",
15
- )}
11
+ className={classNames("mx-accordion__content", "mx-rich-text", "mx-vertical-flow")}
16
12
  // @ts-expect-error inert is allowed.
17
13
  inert={!on ? "" : null}
18
14
  >
@@ -6,10 +6,7 @@ type AccordionTitleProps = PropsWithChildren & {
6
6
  headingLevel?: HeadingTypes
7
7
  }
8
8
 
9
- const AccordionTitle = ({
10
- children,
11
- headingLevel = null,
12
- }: AccordionTitleProps): JSX.Element => {
9
+ const AccordionTitle = ({ children, headingLevel = null }: AccordionTitleProps): JSX.Element => {
13
10
  const { id, on, toggle } = useAccordion()
14
11
  const Heading = headingLevel ? headingLevel : Fragment
15
12
 
@@ -73,7 +73,7 @@ export default class Accordion extends HTMLElement {
73
73
  }
74
74
  }
75
75
 
76
- customElements.define("mx-accordion", Accordion)
76
+ if (!customElements.get("mx-accordion")) customElements.define("mx-accordion", Accordion)
77
77
 
78
78
  declare global {
79
79
  interface HTMLElementTagNameMap {
@@ -37,11 +37,7 @@ export default class AccordionDiv extends HTMLElement {
37
37
  this.controller.abort()
38
38
  }
39
39
 
40
- attributeChangedCallback(
41
- name: string,
42
- oldValue: string,
43
- newValue: string,
44
- ): void {
40
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void {
45
41
  const isClosed = newValue === null
46
42
  this.content?.toggleAttribute("inert", isClosed)
47
43
  }
@@ -54,8 +50,7 @@ export default class AccordionDiv extends HTMLElement {
54
50
  }
55
51
 
56
52
  get trigger(): HTMLButtonElement {
57
- const trigger: HTMLButtonElement | null =
58
- this.querySelector(":scope > button")
53
+ const trigger: HTMLButtonElement | null = this.querySelector(":scope > button")
59
54
  if (!trigger) {
60
55
  throw new Error(`${this.localName} must contain a <button> element.`)
61
56
  }
@@ -66,15 +61,13 @@ export default class AccordionDiv extends HTMLElement {
66
61
  const content: HTMLDivElement | null | undefined = this.trigger
67
62
  ?.nextElementSibling as HTMLDivElement
68
63
  if (!content) {
69
- throw new Error(
70
- `${this.localName} must contain a <div> element after the <button>.`,
71
- )
64
+ throw new Error(`${this.localName} must contain a <div> element after the <button>.`)
72
65
  }
73
66
  return content
74
67
  }
75
68
  }
76
69
 
77
- customElements.define("mx-accordiondiv", AccordionDiv)
70
+ if (!customElements.get("mx-accordiondiv")) customElements.define("mx-accordiondiv", AccordionDiv)
78
71
 
79
72
  declare global {
80
73
  interface HTMLElementTagNameMap {
@@ -53,51 +53,37 @@ export default class AccordionGroup extends HTMLElement {
53
53
  }
54
54
 
55
55
  handleToggle = () => {
56
- this.expandTrigger.disabled = [...this.accordions].every(
57
- details => details.open === true,
58
- )
59
- this.collapseTrigger.disabled = [...this.accordions].every(
60
- details => details.open !== true,
61
- )
56
+ this.expandTrigger.disabled = [...this.accordions].every(details => details.open === true)
57
+ this.collapseTrigger.disabled = [...this.accordions].every(details => details.open !== true)
62
58
  }
63
59
 
64
60
  get accordions(): NodeListOf<HTMLDetailsElement> | null {
65
- const accordions: NodeListOf<HTMLDetailsElement> | null =
66
- this.querySelectorAll("details")
61
+ const accordions: NodeListOf<HTMLDetailsElement> | null = this.querySelectorAll("details")
67
62
  if (!accordions.length) {
68
- throw new Error(
69
- `${this.localName} must contain at least one <details> element.`,
70
- )
63
+ throw new Error(`${this.localName} must contain at least one <details> element.`)
71
64
  }
72
65
  return accordions
73
66
  }
74
67
 
75
68
  get expandTrigger(): HTMLButtonElement | null {
76
- const trigger: HTMLButtonElement | null = this.querySelector(
77
- "button[data-expand]",
78
- )
69
+ const trigger: HTMLButtonElement | null = this.querySelector("button[data-expand]")
79
70
  if (!trigger) {
80
- throw new Error(
81
- `${this.localName} must contain a <button data-expand> element.`,
82
- )
71
+ throw new Error(`${this.localName} must contain a <button data-expand> element.`)
83
72
  }
84
73
  return trigger
85
74
  }
86
75
 
87
76
  get collapseTrigger(): HTMLButtonElement | null {
88
- const trigger: HTMLButtonElement | null = this.querySelector(
89
- "button[data-collapse]",
90
- )
77
+ const trigger: HTMLButtonElement | null = this.querySelector("button[data-collapse]")
91
78
  if (!trigger) {
92
- throw new Error(
93
- `${this.localName} must contain a <button data-collapse> element.`,
94
- )
79
+ throw new Error(`${this.localName} must contain a <button data-collapse> element.`)
95
80
  }
96
81
  return trigger
97
82
  }
98
83
  }
99
84
 
100
- customElements.define("mx-accordion-group", AccordionGroup)
85
+ if (!customElements.get("mx-accordion-group"))
86
+ customElements.define("mx-accordion-group", AccordionGroup)
101
87
 
102
88
  declare global {
103
89
  interface HTMLElementTagNameMap {
@@ -15,6 +15,7 @@ export default class AccordionMobile extends Accordion {
15
15
  }
16
16
 
17
17
  connectedCallback(): void {
18
+ super.connectedCallback()
18
19
  this.handleBreakpoint(this.breakpoint)
19
20
  const { signal }: AbortController = this.controller
20
21
  this.breakpoint.addEventListener("change", this.handleBreakpoint, {
@@ -26,9 +27,7 @@ export default class AccordionMobile extends Accordion {
26
27
  this.controller.abort()
27
28
  }
28
29
 
29
- handleBreakpoint = ({
30
- matches,
31
- }: MediaQueryList | MediaQueryListEvent): void => {
30
+ handleBreakpoint = ({ matches }: MediaQueryList | MediaQueryListEvent): void => {
32
31
  if (!this.details) return
33
32
  this.details.toggleAttribute("open", !matches)
34
33
  }
@@ -38,7 +37,8 @@ export default class AccordionMobile extends Accordion {
38
37
  }
39
38
  }
40
39
 
41
- customElements.define("mx-accordionmobile", AccordionMobile)
40
+ if (!customElements.get("mx-accordionmobile"))
41
+ customElements.define("mx-accordionmobile", AccordionMobile)
42
42
 
43
43
  declare global {
44
44
  interface HTMLElementTagNameMap {
@@ -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/Accordion Accordion smoke-test 1`] = `
4
4
  <div class="mx-page default">
@@ -9,7 +9,9 @@ exports[`Component/Accordion Accordion smoke-test 1`] = `
9
9
  </h2>
10
10
  </div>
11
11
  <mx-accordion>
12
- <details class="mx-accordion mx-accordion--divided">
12
+ <details class="mx-accordion mx-accordion--divided"
13
+ id="music"
14
+ >
13
15
  <summary class="mx-accordion__toggle">
14
16
  Music
15
17
  <span class="mx-button mx-icon mx-button--small mx-button--icon-only mx-icon--chevron-down"
@@ -23,7 +25,9 @@ exports[`Component/Accordion Accordion smoke-test 1`] = `
23
25
  </details>
24
26
  </mx-accordion>
25
27
  <mx-accordion>
26
- <details class="mx-accordion mx-accordion--divided">
28
+ <details class="mx-accordion mx-accordion--divided"
29
+ id="performances"
30
+ >
27
31
  <summary class="mx-accordion__toggle">
28
32
  Performances
29
33
  <span class="mx-button mx-icon mx-button--small mx-button--icon-only mx-icon--chevron-down"
@@ -49,7 +53,9 @@ exports[`Component/Accordion DefaultOpen smoke-test 1`] = `
49
53
  </h2>
50
54
  </div>
51
55
  <mx-accordion>
52
- <details class="mx-accordion mx-accordion--divided">
56
+ <details class="mx-accordion mx-accordion--divided"
57
+ id="music"
58
+ >
53
59
  <summary class="mx-accordion__toggle">
54
60
  Music
55
61
  <span class="mx-button mx-icon mx-button--small mx-button--icon-only mx-icon--chevron-down"
@@ -65,6 +71,7 @@ exports[`Component/Accordion DefaultOpen smoke-test 1`] = `
65
71
  <mx-accordion>
66
72
  <details class="mx-accordion mx-accordion--divided"
67
73
  open
74
+ id="performances-default-"
68
75
  >
69
76
  <summary class="mx-accordion__toggle">
70
77
  Performances (default open)
@@ -107,7 +114,9 @@ exports[`Component/Accordion ToggleAll smoke-test 1`] = `
107
114
  </div>
108
115
  </div>
109
116
  <mx-accordion>
110
- <details class="mx-accordion mx-accordion--divided">
117
+ <details class="mx-accordion mx-accordion--divided"
118
+ id="music"
119
+ >
111
120
  <summary class="mx-accordion__toggle">
112
121
  Music
113
122
  <span class="mx-button mx-icon mx-button--small mx-button--icon-only mx-icon--chevron-down"
@@ -121,7 +130,9 @@ exports[`Component/Accordion ToggleAll smoke-test 1`] = `
121
130
  </details>
122
131
  </mx-accordion>
123
132
  <mx-accordion>
124
- <details class="mx-accordion mx-accordion--divided">
133
+ <details class="mx-accordion mx-accordion--divided"
134
+ id="performances"
135
+ >
125
136
  <summary class="mx-accordion__toggle">
126
137
  Performances
127
138
  <span class="mx-button mx-icon mx-button--small mx-button--icon-only mx-icon--chevron-down"
@@ -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/Accordion Accordion smoke-test 1`] = `
4
4
  <div class="mx-accordion mx-accordion--divided"
@@ -0,0 +1,90 @@
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
+
3
+ exports[`Component/Accordion/AccordionItem AccordionItem smoke-test 1`] = `
4
+ <div class="mx-page default">
5
+ <mx-accordion>
6
+ <details class="mx-accordion mx-accordion--divided"
7
+ id="music-accordion"
8
+ >
9
+ <summary class="mx-accordion__toggle">
10
+ Music
11
+ <span class="mx-button mx-icon mx-button--small mx-button--icon-only mx-icon--chevron-down"
12
+ aria-hidden="true"
13
+ >
14
+ </span>
15
+ </summary>
16
+ <div class="mx-accordion__content mx-rich-text mx-vertical-flow">
17
+ I'm baby air plant hashtag letterpress blue bottle. Cloud bread dreamcatcher everyday carry lumbersexual, iceland cardigan swag chicharrones lo-fi fanny pack affogato freegan XOXO shaman. Shoreditch cloud bread waistcoat tbh XOXO. Chillwave pour-over umami pug glossier health goth.
18
+ </div>
19
+ </details>
20
+ </mx-accordion>
21
+ </div>
22
+ `;
23
+
24
+ exports[`Component/Accordion/AccordionItem Div smoke-test 1`] = `
25
+ <div class="mx-page default">
26
+ <mx-accordiondiv class="mx-accordion mx-accordion--divided">
27
+ <button type="button"
28
+ class="mx-accordion__toggle"
29
+ aria-expanded="false"
30
+ aria-controls="unique-0"
31
+ >
32
+ Music
33
+ <span class="mx-button mx-icon mx-button--small mx-button--icon-only mx-icon--chevron-down"
34
+ aria-hidden="true"
35
+ >
36
+ </span>
37
+ </button>
38
+ <div class="mx-accordion__content mx-rich-text mx-vertical-flow"
39
+ inert
40
+ role="region"
41
+ >
42
+ I'm baby air plant hashtag letterpress blue bottle. Cloud bread dreamcatcher everyday carry lumbersexual, iceland cardigan swag chicharrones lo-fi fanny pack affogato freegan XOXO shaman. Shoreditch cloud bread waistcoat tbh XOXO. Chillwave pour-over umami pug glossier health goth.
43
+ </div>
44
+ </mx-accordiondiv>
45
+ </div>
46
+ `;
47
+
48
+ exports[`Component/Accordion/AccordionItem MobileOnly smoke-test 1`] = `
49
+ <div class="mx-page default">
50
+ <mx-accordionmobile>
51
+ <details class="mx-accordion mx-accordion--divided"
52
+ id="music-accordion"
53
+ open
54
+ >
55
+ <summary class="mx-accordion__toggle">
56
+ Music
57
+ <span class="mx-button mx-icon mx-button--small mx-button--icon-only mx-icon--chevron-down"
58
+ aria-hidden="true"
59
+ >
60
+ </span>
61
+ </summary>
62
+ <div class="mx-accordion__content mx-rich-text mx-vertical-flow">
63
+ I'm baby air plant hashtag letterpress blue bottle. Cloud bread dreamcatcher everyday carry lumbersexual, iceland cardigan swag chicharrones lo-fi fanny pack affogato freegan XOXO shaman. Shoreditch cloud bread waistcoat tbh XOXO. Chillwave pour-over umami pug glossier health goth.
64
+ </div>
65
+ </details>
66
+ </mx-accordionmobile>
67
+ </div>
68
+ `;
69
+
70
+ exports[`Component/Accordion/AccordionItem Open smoke-test 1`] = `
71
+ <div class="mx-page default">
72
+ <mx-accordion>
73
+ <details class="mx-accordion mx-accordion--divided"
74
+ id="open-accordion-item"
75
+ open
76
+ >
77
+ <summary class="mx-accordion__toggle">
78
+ Music
79
+ <span class="mx-button mx-icon mx-button--small mx-button--icon-only mx-icon--chevron-down"
80
+ aria-hidden="true"
81
+ >
82
+ </span>
83
+ </summary>
84
+ <div class="mx-accordion__content mx-rich-text mx-vertical-flow">
85
+ I'm baby air plant hashtag letterpress blue bottle. Cloud bread dreamcatcher everyday carry lumbersexual, iceland cardigan swag chicharrones lo-fi fanny pack affogato freegan XOXO shaman. Shoreditch cloud bread waistcoat tbh XOXO. Chillwave pour-over umami pug glossier health goth.
86
+ </div>
87
+ </details>
88
+ </mx-accordion>
89
+ </div>
90
+ `;
@@ -14,7 +14,7 @@
14
14
  }
15
15
  }
16
16
 
17
- :is(mx-accordion, mx-accordiondiv, mx-accordionmobile) {
17
+ :is(mx-accordion, mx-accordiondiv, mx-accordionmobile, mx-accordion-group) {
18
18
  display: block;
19
19
  }
20
20
 
@@ -28,6 +28,10 @@
28
28
  padding: initial;
29
29
  }
30
30
  }
31
+
32
+ mx-accordion-group:not(:defined) .mx-accordions__toggle-all {
33
+ display: none;
34
+ }
31
35
  }
32
36
 
33
37
  @layer design-system.components {
@@ -79,8 +83,7 @@
79
83
  }
80
84
 
81
85
  .mx-accordion--divided {
82
- border-block-end: var(--line-width, 1px) solid
83
- var(--line-colour, var(--colour-border));
86
+ border-block-end: var(--line-width, 1px) solid var(--line-colour, var(--colour-border));
84
87
 
85
88
  & .mx-accordion__toggle {
86
89
  padding-block: var(--vertical-padding, var(--spacing-xxs));
@@ -93,8 +96,7 @@
93
96
 
94
97
  &:is([open], [data-open="true"]) {
95
98
  & > .mx-accordion__content {
96
- border-block-start: var(--line-width, 1px) solid
97
- var(--line-colour, var(--colour-border));
99
+ border-block-start: var(--line-width, 1px) solid var(--line-colour, var(--colour-border));
98
100
  padding-block: var(--vertical-padding, var(--spacing-xxs));
99
101
  padding-inline: var(--horizontal-padding, 0);
100
102
  }
@@ -1,13 +1,15 @@
1
- <mx-accordiondiv class="accordion {{ modifier_class }}">
2
- {% block summary %}
3
- <button type="button" class="accordion__toggle">
4
- {{ title | default('Open Me') }}
5
- <span class="button icon button--small button--icon-only icon--chevron-down" aria-hidden="true"></span>
6
- </button>
7
- {% endblock %}
8
- <div class="accordion__content rich-text vertical-flow">
9
- {% block content %}
10
- <p>This content is hidden inside the accordion body until it is disclosed by clicking the accordion toggle.</p>
11
- {% endblock %}
1
+ {% set baseClass = 'mx-accordion' %}
2
+ {% set classes = [
3
+ baseClass,
4
+ baseClass~'--divided',
5
+ ] %}
6
+ {% set attributes = (attributes ?? create_attribute()).addClass(classes) %}
7
+ <mx-accordiondiv{{ attributes }}>
8
+ <button type="button" class="mx-accordion__toggle">
9
+ {{ title }}
10
+ <span class="mx-button mx-icon mx-button--small mx-button--icon-only mx-icon--chevron-down" aria-hidden="true"></span>
11
+ </button>
12
+ <div class="mx-accordion__content mx-rich-text mx-vertical-flow">
13
+ {{ content }}
12
14
  </div>
13
15
  </mx-accordiondiv>
@@ -1,15 +1,17 @@
1
+ {% set baseClass = 'mx-accordion' %}
2
+ {% set classes = [
3
+ baseClass,
4
+ baseClass~'--divided',
5
+ ] %}
6
+ {% set attributes = (attributes ?? create_attribute()).addClass(classes) %}
1
7
  <mx-accordionmobile>
2
- <details class="accordion {{ modifier_class }}">
3
- {% block summary %}
4
- <summary class="accordion__toggle">
5
- {{ title | default('Open Me') }}
6
- <span class="button icon button--small button--icon-only icon--chevron-down" aria-hidden="true"></span>
7
- </summary>
8
- {% endblock %}
9
- <div class="accordion__content rich-text vertical-flow">
10
- {% block content %}
11
- <p>This content is hidden inside the accordion body until it is disclosed by clicking the accordion toggle.</p>
12
- {% endblock %}
8
+ <details{{ attributes }}{% if id is not empty %} id="{{ id }}"{% endif %}{% if open %} open{% endif %}>
9
+ <summary class="mx-accordion__toggle">
10
+ {{ title }}
11
+ <span class="mx-button mx-icon mx-button--small mx-button--icon-only mx-icon--chevron-down" aria-hidden="true"></span>
12
+ </summary>
13
+ <div class="mx-accordion__content mx-rich-text mx-vertical-flow">
14
+ {{ content }}
13
15
  </div>
14
16
  </details>
15
17
  </mx-accordionmobile>
@@ -25,6 +25,20 @@ const meta: Meta<BreadcrumbsType> = {
25
25
  }),
26
26
  ],
27
27
  },
28
+ argTypes: {
29
+ items: {
30
+ description:
31
+ "A list of [Link](/?path=/docs/atom-link--docs) objects, where the last item gets the `current=true` flag.",
32
+ type: {
33
+ name: "other",
34
+ required: true,
35
+ value: "array",
36
+ },
37
+ table: {
38
+ type: { summary: "Link[]" },
39
+ },
40
+ },
41
+ },
28
42
  }
29
43
 
30
44
  export default meta
@@ -9,19 +9,9 @@ type BreadcrumbProps = ComponentPropsWithoutRef<"nav"> & {
9
9
  className?: string
10
10
  }
11
11
 
12
- const Breadcrumb = ({
13
- items,
14
- title,
15
- className,
16
- ...props
17
- }: BreadcrumbProps): JSX.Element => (
12
+ const Breadcrumb = ({ items, title, className, ...props }: BreadcrumbProps): JSX.Element => (
18
13
  <nav
19
- className={classNames(
20
- "mx-nav",
21
- "mx-nav--breadcrumb",
22
- "mx-nav--inline",
23
- className,
24
- )}
14
+ className={classNames("mx-nav", "mx-nav--breadcrumb", "mx-nav--inline", className)}
25
15
  aria-label="You are here"
26
16
  {...props}
27
17
  >
@@ -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/Breadcrumb Breadcrumb smoke-test 1`] = `
4
4
  <div class="mx-page default">
@@ -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/Breadcrumb Breadcrumb smoke-test 1`] = `
4
4
  <nav class="mx-nav mx-nav--breadcrumb mx-nav--inline"
@@ -20,10 +20,7 @@
20
20
  }
21
21
 
22
22
  & > ul > li {
23
- color: var(
24
- --breadcrumb-foreground,
25
- var(--foreground, var(--colour-foreground-alt))
26
- );
23
+ color: var(--breadcrumb-foreground, var(--foreground, var(--colour-foreground-alt)));
27
24
  display: flex;
28
25
  align-items: center;
29
26
 
@@ -14,6 +14,26 @@ const meta: Meta<CalloutType> = {
14
14
  }),
15
15
  content: "<p>Some callout content.</p>",
16
16
  },
17
+ argTypes: {
18
+ title: {
19
+ description: "Optional [Heading](/?path=/docs/atom-heading--docs).",
20
+ control: "text",
21
+ table: {
22
+ type: { summary: "Heading" },
23
+ },
24
+ },
25
+ content: {
26
+ description: "Content.",
27
+ control: "text",
28
+ type: {
29
+ name: "string",
30
+ required: true,
31
+ },
32
+ table: {
33
+ type: { summary: "WysiwygText" },
34
+ },
35
+ },
36
+ },
17
37
  }
18
38
 
19
39
  export default meta
@@ -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/Callout Callout smoke-test 1`] = `
4
4
  <div class="mx-page default">
@@ -1,7 +1,6 @@
1
1
  @layer design-system.components {
2
2
  .mx-callout {
3
3
  padding-inline-start: var(--line-gap, var(--gap));
4
- border-inline-start: var(--line-width, 6px) solid
5
- var(--line-colour, var(--colour-primary));
4
+ border-inline-start: var(--line-width, 6px) solid var(--line-colour, var(--colour-primary));
6
5
  }
7
6
  }