@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
@@ -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[`Atom/Button Button smoke-test 1`] = `
4
4
  <button class="mx-button"
@@ -13,8 +13,7 @@
13
13
  font-weight: var(--font-weight-bold);
14
14
  font-family: var(--font-family);
15
15
  line-height: var(--line-height-ui);
16
- border: var(--line-width, 2px) solid
17
- var(--line-colour, var(--colour-border));
16
+ border: var(--line-width, 2px) solid var(--line-colour, var(--colour-border));
18
17
  border-radius: var(--radius, var(--border-radius-l));
19
18
  padding-block: var(--vertical-padding, var(--spacing-xxs));
20
19
  padding-inline: var(--horizontal-padding, var(--spacing-m));
@@ -57,9 +56,10 @@
57
56
  overflow: hidden;
58
57
  flex-wrap: wrap;
59
58
 
60
- &::before {
61
- inline-size: 100%;
62
- block-size: 100%;
59
+ &::before,
60
+ &::after {
61
+ --icon-size: 100%;
62
+
63
63
  mask-size: var(--spacing-s);
64
64
  }
65
65
 
@@ -2,7 +2,12 @@ import { Meta, StoryObj } from "@storybook/html-vite"
2
2
  import Component from "./definition-list.twig"
3
3
  import "../_base.css"
4
4
  import { DefinitionList as DefinitionListType } from "@pnx-mixtape/ids-shape"
5
+ import { Icons } from "../../enums"
5
6
 
7
+ /**
8
+ * The definition list is useful for categorising short pieces of content.
9
+ * It uses `subgrid` to maintain alignment.
10
+ */
6
11
  const meta: Meta<DefinitionListType> = {
7
12
  tags: ["autodocs", "ids-mvp"],
8
13
  component: Component,
@@ -22,11 +27,23 @@ const meta: Meta<DefinitionListType> = {
22
27
  },
23
28
  ],
24
29
  },
30
+ argTypes: {
31
+ items: {
32
+ description:
33
+ "A list of title/content objects to use, where title is the `<dt>` value and content is the `<dd>` value.",
34
+ type: {
35
+ name: "other",
36
+ required: true,
37
+ value: "array",
38
+ },
39
+ table: {
40
+ type: { summary: "{ title: string, content: string }[]" },
41
+ },
42
+ },
43
+ },
25
44
  }
26
45
 
27
46
  export default meta
28
47
  type Story = StoryObj<DefinitionListType>
29
48
 
30
- export const DefinitionList: Story = {
31
- args: {},
32
- }
49
+ export const DefinitionList: Story = {}
@@ -7,15 +7,9 @@ const meta: Meta<typeof Component> = {
7
7
  args: {
8
8
  children: (
9
9
  <>
10
- <DefinitionListItem title="Item #1">
11
- Data for item #1
12
- </DefinitionListItem>
13
- <DefinitionListItem title="Item #2">
14
- Data for item #2
15
- </DefinitionListItem>
16
- <DefinitionListItem title="Item #3">
17
- Data for item #3
18
- </DefinitionListItem>
10
+ <DefinitionListItem title="Item #1">Data for item #1</DefinitionListItem>
11
+ <DefinitionListItem title="Item #2">Data for item #2</DefinitionListItem>
12
+ <DefinitionListItem title="Item #3">Data for item #3</DefinitionListItem>
19
13
  </>
20
14
  ),
21
15
  },
@@ -2,10 +2,9 @@ import { JSX, ComponentPropsWithoutRef, PropsWithChildren } from "react"
2
2
 
3
3
  type DefinitionListProps = ComponentPropsWithoutRef<"dl"> & PropsWithChildren
4
4
 
5
- const DefinitionList = ({
6
- children,
7
- ...props
8
- }: DefinitionListProps): JSX.Element => <dl {...props}>{children}</dl>
5
+ const DefinitionList = ({ children, ...props }: DefinitionListProps): JSX.Element => (
6
+ <dl {...props}>{children}</dl>
7
+ )
9
8
 
10
9
  type DefinitionListItemProps = ComponentPropsWithoutRef<"div"> &
11
10
  PropsWithChildren & {
@@ -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[`Atom/DefinitionList DefinitionList 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[`Atom/Definition List DefinitionList smoke-test 1`] = `
4
4
  <dl>
@@ -1,28 +1,70 @@
1
1
  import { Meta, StoryObj } from "@storybook/html-vite"
2
2
  import Component from "./heading.twig"
3
3
  import "../_base.css"
4
- import { HeadingTypes } from "@pnx-mixtape/ids-shape"
4
+ import { Heading as HeadingType, HeadingTypes } from "@pnx-mixtape/ids-shape"
5
5
 
6
- const meta: Meta<typeof Component> = {
6
+ /**
7
+ * Heading element should always follow correct html heading order. The modifier class can be used to visually change the size when needed.
8
+ */
9
+ const meta: Meta<HeadingType> = {
7
10
  tags: ["autodocs", "ids-mvp"],
8
11
  component: Component,
9
12
  args: {
13
+ as: HeadingTypes.TWO,
10
14
  title: "Heading",
11
15
  },
12
16
  argTypes: {
13
- as: { options: Object.values(HeadingTypes), control: "select" },
17
+ as: {
18
+ description: "The semantic heading level.",
19
+ options: Object.values(HeadingTypes),
20
+ control: "select",
21
+ table: {
22
+ defaultValue: { summary: HeadingTypes.TWO },
23
+ type: { summary: "enum" },
24
+ },
25
+ },
14
26
  modifiers: {
27
+ description: "The visual heading size (only one applies)",
15
28
  // @todo add mixtapes heading modifiers.
16
29
  options: Object.values(HeadingTypes),
17
30
  control: "multi-select",
31
+ table: {
32
+ type: { summary: "enum" },
33
+ },
34
+ },
35
+ title: {
36
+ description: "The heading text",
37
+ type: "string",
38
+ },
39
+ excluded: {
40
+ description:
41
+ "Mark the heading as 'excluded' to remove it from certain javascript contexts (like [InPageNavigation](/?path=/docs/component-inpagenavigation--docs))",
42
+ type: "boolean",
43
+ table: {
44
+ defaultValue: { summary: "false" },
45
+ },
46
+ },
47
+ srOnly: {
48
+ description:
49
+ "Mark the heading as visually hidden so that it's only available for screen reader context.",
50
+ type: "boolean",
51
+ table: {
52
+ defaultValue: { summary: "false" },
53
+ },
18
54
  },
19
- title: { control: "text" },
20
- excluded: { control: "boolean" },
21
- srOnly: { control: "boolean" },
22
55
  },
23
56
  }
24
57
 
25
58
  export default meta
26
- type Story = StoryObj<typeof meta>
59
+ type Story = StoryObj<HeadingType>
27
60
 
28
61
  export const Headings: Story = {}
62
+
63
+ /**
64
+ * The modifier class can be used to visually change the size when needed.
65
+ */
66
+ export const Resized: Story = {
67
+ args: {
68
+ modifiers: [HeadingTypes.FOUR],
69
+ },
70
+ }
@@ -30,12 +30,7 @@ const Heading = ({
30
30
  }, [anchor, ref])
31
31
 
32
32
  return (
33
- <Tag
34
- className={classNames(modifier, className)}
35
- id={anchor}
36
- ref={ref}
37
- {...props}
38
- >
33
+ <Tag className={classNames(modifier, className)} id={anchor} ref={ref} {...props}>
39
34
  {children}
40
35
  </Tag>
41
36
  )
@@ -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[`Atom/Heading Headings smoke-test 1`] = `
4
4
  <div class="mx-page default">
@@ -7,3 +7,11 @@ exports[`Atom/Heading Headings smoke-test 1`] = `
7
7
  </h2>
8
8
  </div>
9
9
  `;
10
+
11
+ exports[`Atom/Heading Resized smoke-test 1`] = `
12
+ <div class="mx-page default">
13
+ <h2 class="mx-heading--m">
14
+ Heading
15
+ </h2>
16
+ </div>
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[`Atom/Typography/Heading Heading smoke-test 1`] = `
4
4
  <h2 class
@@ -36,8 +36,7 @@
36
36
  .mx-heading--s
37
37
  ) {
38
38
  --font-min: calc(
39
- var(--heading-font-size) - var(--heading-font-size) *
40
- var(--font-size-diff, 0.3)
39
+ var(--heading-font-size) - var(--heading-font-size) * var(--font-size-diff, 0.3)
41
40
  );
42
41
 
43
42
  font-size: clamp(
@@ -13,7 +13,7 @@ import { Icons } from "../../enums"
13
13
 
14
14
  # Icon set
15
15
 
16
- Icons are available as a css image mask.
16
+ SVG icon classes are available (as a css image mask).
17
17
 
18
18
  <IconGallery>
19
19
  {Object.values(Icons).map(name => (
@@ -23,8 +23,12 @@ Icons are available as a css image mask.
23
23
  ))}
24
24
  </IconGallery>
25
25
 
26
+ ---
27
+
26
28
  # Icon
27
29
 
30
+ An icon atom that is used by other components.
31
+
28
32
  <Primary />
29
33
 
30
34
  <Controls />
@@ -19,14 +19,60 @@ const meta: Meta<IconArgs> = {
19
19
  component: Component,
20
20
  args: {
21
21
  icon: Icons.ARROW_RIGHT,
22
+ size: IconSizeModifier.SMALL,
22
23
  },
23
24
  argTypes: {
24
- icon: { options: Object.values(Icons), control: "select" },
25
- align: { options: Object.values(AlignmentTypes), control: "select" },
26
- color: { options: Object.values(IconColourModifier), control: "select" },
27
- rotate: { options: Object.values(IconRotateModifier), control: "select" },
28
- size: { options: Object.values(IconSizeModifier), control: "select" },
29
- text: { control: "text" },
25
+ icon: {
26
+ description: "The name of the icon to use",
27
+ options: Object.values(Icons),
28
+ control: "select",
29
+ type: {
30
+ name: "string",
31
+ required: true,
32
+ },
33
+ table: {
34
+ type: { summary: "enum" },
35
+ },
36
+ },
37
+ color: {
38
+ description: "Icons can be coloured.",
39
+ options: Object.values(IconColourModifier),
40
+ control: "select",
41
+ table: {
42
+ type: { summary: "enum" },
43
+ },
44
+ },
45
+ size: {
46
+ description: "Optionally adjust the size of the icon.",
47
+ options: Object.values(IconSizeModifier),
48
+ control: "radio",
49
+ table: {
50
+ defaultValue: { summary: IconSizeModifier.SMALL },
51
+ type: { summary: "enum" },
52
+ },
53
+ },
54
+ rotate: {
55
+ description: "Optionally rotate an icon.",
56
+ options: Object.values(IconRotateModifier),
57
+ control: "radio",
58
+ table: {
59
+ type: { summary: "enum" },
60
+ },
61
+ },
62
+ text: {
63
+ description: "Text can be placed next to an icon.",
64
+ type: "string",
65
+ },
66
+ align: {
67
+ description: "When used with text, you can align to the start or end of it.",
68
+ options: Object.values(AlignmentTypes),
69
+ control: "radio",
70
+ table: {
71
+ defaultValue: { summary: AlignmentTypes.START },
72
+ type: { summary: "enum" },
73
+ },
74
+ if: { arg: "text" },
75
+ },
30
76
  },
31
77
  }
32
78
 
@@ -35,12 +81,36 @@ type Story = StoryObj<IconArgs>
35
81
 
36
82
  export const Icon: Story = {}
37
83
 
84
+ /**
85
+ * Icons by default inherit the current text colour, but they can be explicitly coloured.
86
+ */
87
+ export const Primary: Story = {
88
+ args: {
89
+ color: IconColourModifier.BRAND,
90
+ },
91
+ }
92
+
93
+ /**
94
+ * Icons can be sized.
95
+ */
96
+ export const Large: Story = {
97
+ args: {
98
+ size: IconSizeModifier.XLARGE,
99
+ },
100
+ }
101
+
102
+ /**
103
+ * Add some text to the icon.
104
+ */
38
105
  export const WithText: Story = {
39
106
  args: {
40
107
  text: "Message with icon",
41
108
  },
42
109
  }
43
110
 
111
+ /**
112
+ * Align the text to the end instead of the start.
113
+ */
44
114
  export const Alignment: Story = {
45
115
  args: {
46
116
  text: "Message with icon",
@@ -7,14 +7,7 @@ export type IconProps = IconType & {
7
7
  icon: Icons
8
8
  }
9
9
 
10
- const Icon = ({
11
- icon,
12
- color,
13
- text,
14
- align,
15
- rotate,
16
- size,
17
- }: IconProps): JSX.Element => (
10
+ const Icon = ({ icon, color, text, align, rotate, size }: IconProps): JSX.Element => (
18
11
  <span
19
12
  className={classNames("mx-icon", `mx-icon--${icon}`, {
20
13
  [`mx-icon--color-${color}`]: color,
@@ -1,8 +1,8 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`Atom/Icon Alignment smoke-test 1`] = `
4
4
  <div class="mx-page default">
5
- <span class="mx-icon mx-icon--arrow-left mx-icon--end ">
5
+ <span class="mx-icon mx-icon--arrow-left mx-icon--end mx-icon--size-sm">
6
6
  Message with icon
7
7
  </span>
8
8
  </div>
@@ -10,14 +10,28 @@ exports[`Atom/Icon Alignment smoke-test 1`] = `
10
10
 
11
11
  exports[`Atom/Icon Icon smoke-test 1`] = `
12
12
  <div class="mx-page default">
13
- <span class="mx-icon mx-icon--arrow-right ">
13
+ <span class="mx-icon mx-icon--arrow-right mx-icon--size-sm">
14
+ </span>
15
+ </div>
16
+ `;
17
+
18
+ exports[`Atom/Icon Large smoke-test 1`] = `
19
+ <div class="mx-page default">
20
+ <span class="mx-icon mx-icon--arrow-right mx-icon--size-xl">
21
+ </span>
22
+ </div>
23
+ `;
24
+
25
+ exports[`Atom/Icon Primary smoke-test 1`] = `
26
+ <div class="mx-page default">
27
+ <span class="mx-icon mx-icon--arrow-right mx-icon--color-brand mx-icon--size-sm">
14
28
  </span>
15
29
  </div>
16
30
  `;
17
31
 
18
32
  exports[`Atom/Icon WithText smoke-test 1`] = `
19
33
  <div class="mx-page default">
20
- <span class="mx-icon mx-icon--arrow-right ">
34
+ <span class="mx-icon mx-icon--arrow-right mx-icon--size-sm">
21
35
  Message with icon
22
36
  </span>
23
37
  </div>
@@ -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[`Atom/Icon Alignment smoke-test 1`] = `
4
4
  <span class="mx-icon mx-icon--arrow-left mx-icon--end">
@@ -5,7 +5,7 @@
5
5
  */
6
6
 
7
7
  @layer design-system.atoms {
8
- .mx-icon {
8
+ :where(.mx-icon) {
9
9
  display: inline-flex;
10
10
  align-items: center;
11
11
  gap: var(--spacing-xxs);
@@ -3,6 +3,9 @@ import Component from "./image.twig"
3
3
  import "../_base.css"
4
4
  import { Image as ImageType } from "@pnx-mixtape/ids-shape"
5
5
 
6
+ /**
7
+ * A simple image atom.
8
+ */
6
9
  const meta: Meta<ImageType> = {
7
10
  tags: ["autodocs", "ids-mvp"],
8
11
  component: Component,
@@ -15,6 +18,4 @@ const meta: Meta<ImageType> = {
15
18
  export default meta
16
19
  type Story = StoryObj<ImageType>
17
20
 
18
- export const Image: Story = {
19
- args: {},
20
- }
21
+ export const Image: Story = {}
@@ -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[`Atom/Image Image smoke-test 1`] = `
4
4
  <div class="mx-page default">
@@ -5,6 +5,9 @@ import "../_base.css"
5
5
  import { Link as LinkType } from "@pnx-mixtape/ids-shape"
6
6
  import { Icons } from "../../enums"
7
7
 
8
+ /**
9
+ * A link atom, with optional icon.
10
+ */
8
11
  const meta: Meta<LinkType> = {
9
12
  tags: ["autodocs", "ids-mvp"],
10
13
  component: Component,
@@ -13,13 +16,65 @@ const meta: Meta<LinkType> = {
13
16
  title: "Hyperlink",
14
17
  },
15
18
  argTypes: {
16
- more: { control: "boolean" },
17
- external: { control: "boolean" },
18
- download: { control: "boolean" },
19
- current: { control: "boolean" },
20
- // @ts-expect-error The controls follow the shape
21
- "iconStart.icon": { options: Object.values(Icons), control: "select" },
22
- "iconEnd.icon": { options: Object.values(Icons), control: "select" },
19
+ href: {
20
+ description: "The links URL value.",
21
+ },
22
+ title: {
23
+ description: "The links text.",
24
+ },
25
+ current: {
26
+ description: 'Adds the `aria-current="page"` attribute.',
27
+ type: "boolean",
28
+ table: {
29
+ defaultValue: { summary: "false" },
30
+ },
31
+ },
32
+ more: {
33
+ description: "A bolder link, usually combined with the **arrow-right** icon.",
34
+ type: "boolean",
35
+ table: {
36
+ defaultValue: { summary: "false" },
37
+ subcategory: "Special variants",
38
+ },
39
+ },
40
+ external: {
41
+ description: "Adds the **external-link** icon and screen reader text.",
42
+ type: "boolean",
43
+ table: {
44
+ defaultValue: { summary: "false" },
45
+ subcategory: "Special variants",
46
+ },
47
+ },
48
+ download: {
49
+ description: "Usually combined with the **download** icon.",
50
+ type: "boolean",
51
+ table: {
52
+ defaultValue: { summary: "false" },
53
+ subcategory: "Special variants",
54
+ },
55
+ },
56
+ iconStart: {
57
+ description:
58
+ "An [Icon](/?path=/docs/atom-icon--docs) object, to display **before** the text.",
59
+ table: {
60
+ subcategory: "Icon",
61
+ },
62
+ },
63
+ iconEnd: {
64
+ description: "An [Icon](/?path=/docs/atom-icon--docs) object, to display **after** the text.",
65
+ table: {
66
+ subcategory: "Icon",
67
+ },
68
+ },
69
+ iconOnly: {
70
+ description:
71
+ "When an icon is added, visually hide the link text so that only the icon is displayed.",
72
+ control: "boolean",
73
+ table: {
74
+ defaultValue: { summary: "false" },
75
+ subcategory: "Icon",
76
+ },
77
+ },
23
78
  },
24
79
  }
25
80
 
@@ -28,6 +83,9 @@ type Story = StoryObj<LinkType>
28
83
 
29
84
  export const Link: Story = {}
30
85
 
86
+ /**
87
+ * More links are bolder and have a slight hover animation on their icon.
88
+ */
31
89
  export const More: Story = {
32
90
  args: {
33
91
  more: true,
@@ -37,12 +95,18 @@ export const More: Story = {
37
95
  },
38
96
  }
39
97
 
98
+ /**
99
+ * External links add screen reader text "(opens in a new window)" to reflect their icon.
100
+ */
40
101
  export const External: Story = {
41
102
  args: {
42
103
  external: true,
43
104
  },
44
105
  }
45
106
 
107
+ /**
108
+ * Download links have a slight hover animation on their icon.
109
+ */
46
110
  export const Download: Story = {
47
111
  args: {
48
112
  download: true,
@@ -53,6 +117,9 @@ export const Download: Story = {
53
117
  },
54
118
  }
55
119
 
120
+ /**
121
+ * Any [Icon](/?path=/docs/atom-icon--docs) from the set can be used on links.
122
+ */
56
123
  export const IconLink: Story = {
57
124
  args: {
58
125
  iconStart: Icon({
@@ -1,11 +1,11 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`Atom/Link Download smoke-test 1`] = `
4
4
  <div class="mx-page default">
5
5
  <a class="mx-link--download"
6
6
  href="#"
7
7
  >
8
- <span class="mx-icon mx-icon--download ">
8
+ <span class="mx-icon mx-icon--download">
9
9
  </span>
10
10
  <span>
11
11
  Download (PDF 12kb)
@@ -32,7 +32,7 @@ exports[`Atom/Link External smoke-test 1`] = `
32
32
  exports[`Atom/Link IconLink smoke-test 1`] = `
33
33
  <div class="mx-page default">
34
34
  <a href="#">
35
- <span class="mx-icon mx-icon--link ">
35
+ <span class="mx-icon mx-icon--link">
36
36
  </span>
37
37
  <span>
38
38
  Hyperlink
@@ -59,7 +59,7 @@ exports[`Atom/Link More smoke-test 1`] = `
59
59
  <span>
60
60
  Hyperlink
61
61
  </span>
62
- <span class="mx-icon mx-icon--arrow-right ">
62
+ <span class="mx-icon mx-icon--arrow-right">
63
63
  </span>
64
64
  </a>
65
65
  </div>
@@ -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[`Atom/Link External smoke-test 1`] = `
4
4
  <a href="http://example.com"