@pnx-mixtape/mxds 0.0.24 → 0.0.26

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 (272) hide show
  1. package/.storybook/decorators.ts +1 -1
  2. package/.storybook/main.ts +9 -1
  3. package/.storybook/preview.ts +1 -0
  4. package/.storybook/theme-demo.css +17 -13
  5. package/.storybook/vitest.setup.ts +17 -0
  6. package/dist/build/accordion.css +76 -86
  7. package/dist/build/accordion.entry.js +46 -72
  8. package/dist/build/base.css +1 -993
  9. package/dist/build/breadcrumb.css +1 -55
  10. package/dist/build/button.css +1 -126
  11. package/dist/build/callout.css +1 -11
  12. package/dist/build/card.css +1 -161
  13. package/dist/build/carousel.css +1 -125
  14. package/dist/build/chunks/Accordion-Dwh42fp7.js +42 -0
  15. package/dist/build/chunks/DropMenu-plGsgySm.js +43 -0
  16. package/dist/build/chunks/Popover-Bws25suh.js +27 -0
  17. package/dist/build/chunks/polyfills-Du4RTZDf.js +511 -0
  18. package/dist/build/chunks/popover-Bd5oQ1Ic.js +407 -0
  19. package/dist/build/chunks/utilities-DepaJdUg.js +242 -0
  20. package/dist/build/constants.css +91 -123
  21. package/dist/build/container-grid.css +1 -186
  22. package/dist/build/content-block.css +1 -36
  23. package/dist/build/dialog.css +1 -108
  24. package/dist/build/dialog.entry.js +45 -85
  25. package/dist/build/drop-menu.css +1 -89
  26. package/dist/build/drop-menu.entry.js +2 -2
  27. package/dist/build/drupal.css +1 -66
  28. package/dist/build/filters.css +1 -117
  29. package/dist/build/filters.entry.js +113 -142
  30. package/dist/build/footer.css +1 -141
  31. package/dist/build/form.css +1 -491
  32. package/dist/build/global-alert.css +1 -60
  33. package/dist/build/global-alert.entry.js +51 -75
  34. package/dist/build/grid.css +1 -195
  35. package/dist/build/header.css +1 -149
  36. package/dist/build/header.entry.js +598 -1180
  37. package/dist/build/hero-banner.css +1 -73
  38. package/dist/build/icon.css +1 -399
  39. package/dist/build/in-page-alert.css +1 -93
  40. package/dist/build/in-page-navigation.css +1 -17
  41. package/dist/build/in-page-navigation.entry.js +67 -103
  42. package/dist/build/link-list.css +1 -45
  43. package/dist/build/list-item.css +1 -29
  44. package/dist/build/masthead.css +1 -53
  45. package/dist/build/navigation.css +1 -356
  46. package/dist/build/navigation.entry.js +79 -222
  47. package/dist/build/page.css +1 -65
  48. package/dist/build/pagination.css +1 -111
  49. package/dist/build/popover.css +1 -119
  50. package/dist/build/popover.entry.js +1 -2
  51. package/dist/build/results-bar.css +1 -21
  52. package/dist/build/section.css +1 -147
  53. package/dist/build/side-navigation.css +1 -85
  54. package/dist/build/sidebar.css +1 -53
  55. package/dist/build/social-links.css +1 -20
  56. package/dist/build/steps.css +1 -118
  57. package/dist/build/sticky.css +1 -47
  58. package/dist/build/sticky.entry.js +48 -59
  59. package/dist/build/tabs.css +1 -108
  60. package/dist/build/tabs.entry.js +130 -209
  61. package/dist/build/tag.css +1 -70
  62. package/dist/build/utilities.css +1 -186
  63. package/dist/build/utility-list.css +1 -43
  64. package/dist/build/utility-list.entry.js +52 -80
  65. package/package.json +40 -52
  66. package/src/Atom/Background/__snapshots__/Background.stories.ts.snap +61 -216
  67. package/src/Atom/Background/_background.css +2 -1
  68. package/src/Atom/Button/Button.stories.tsx +2 -0
  69. package/src/Atom/Button/__snapshots__/Button.stories.ts.snap +77 -97
  70. package/src/Atom/Button/__snapshots__/Button.stories.tsx.snap +3 -15
  71. package/src/Atom/DefinitionList/DefinitionList.stories.tsx +2 -1
  72. package/src/Atom/DefinitionList/__snapshots__/DefinitionList.stories.ts.snap +13 -26
  73. package/src/Atom/DefinitionList/__snapshots__/DefinitionList.stories.tsx.snap +2 -29
  74. package/src/Atom/Heading/Heading.stories.tsx +2 -1
  75. package/src/Atom/Heading/__snapshots__/Heading.stories.ts.snap +9 -13
  76. package/src/Atom/Heading/__snapshots__/Heading.stories.tsx.snap +2 -8
  77. package/src/Atom/Icon/Icon.stories.tsx +2 -1
  78. package/src/Atom/Icon/__snapshots__/Icon.stories.ts.snap +21 -28
  79. package/src/Atom/Icon/__snapshots__/Icon.stories.tsx.snap +4 -15
  80. package/src/Atom/Icon/_icon.css +7 -6
  81. package/src/Atom/Image/__snapshots__/Image.stories.ts.snap +6 -9
  82. package/src/Atom/Link/Link.stories.tsx +2 -1
  83. package/src/Atom/Link/__snapshots__/Link.stories.ts.snap +47 -56
  84. package/src/Atom/Link/__snapshots__/Link.stories.tsx.snap +4 -22
  85. package/src/Atom/Media/Media.stories.ts +1 -1
  86. package/src/Atom/Media/Media.stories.tsx +2 -1
  87. package/src/Atom/Media/__snapshots__/Media.stories.ts.snap +27 -12
  88. package/src/Atom/Media/__snapshots__/Media.stories.tsx.snap +3 -16
  89. package/src/Atom/Spacing/__snapshots__/Spacing.stories.ts.snap +5 -8
  90. package/src/Atom/Table/TableResponsive.stories.ts +0 -1
  91. package/src/Atom/Table/__snapshots__/Table.stories.ts.snap +129 -261
  92. package/src/Atom/Table/__snapshots__/TableResponsive.stories.ts.snap +34 -67
  93. package/src/Atom/Text/Text.stories.tsx +2 -1
  94. package/src/Atom/Text/__snapshots__/Text.stories.ts.snap +32 -46
  95. package/src/Atom/Text/__snapshots__/Text.stories.tsx.snap +2 -6
  96. package/src/Atom/Video/__snapshots__/Video.stories.ts.snap +6 -11
  97. package/src/Atom/_flow.css +16 -1
  98. package/src/Component/Accordion/Accordion.stories.tsx +2 -0
  99. package/src/Component/Accordion/__snapshots__/Accordion.stories.ts.snap +106 -140
  100. package/src/Component/Accordion/__snapshots__/Accordion.stories.tsx.snap +3 -49
  101. package/src/Component/Accordion/__snapshots__/AccordionItem.stories.ts.snap +52 -81
  102. package/src/Component/Breadcrumb/Breadcrumb.stories.tsx +2 -0
  103. package/src/Component/Breadcrumb/__snapshots__/Breadcrumb.stories.ts.snap +29 -33
  104. package/src/Component/Breadcrumb/__snapshots__/Breadcrumb.stories.tsx.snap +3 -62
  105. package/src/Component/Callout/__snapshots__/Callout.stories.ts.snap +9 -11
  106. package/src/Component/Card/Card.stories.tsx +2 -0
  107. package/src/Component/Card/__snapshots__/Card.stories.ts.snap +237 -272
  108. package/src/Component/Card/__snapshots__/Card.stories.tsx.snap +4 -85
  109. package/src/Component/Carousel/Elements/Carousel.ts +10 -7
  110. package/src/Component/Carousel/__snapshots__/Carousel.stories.ts.snap +992 -1187
  111. package/src/Component/ContentBlock/ContentBlock.stories.tsx +2 -0
  112. package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.ts.snap +161 -155
  113. package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.tsx.snap +2 -25
  114. package/src/Component/Dialog/Dialog.stories.tsx +2 -0
  115. package/src/Component/Dialog/__snapshots__/Dialog.stories.ts.snap +92 -110
  116. package/src/Component/Dialog/__snapshots__/Dialog.stories.tsx.snap +2 -31
  117. package/src/Component/DropMenu/DropMenu.stories.tsx +2 -0
  118. package/src/Component/DropMenu/DropMenu.tsx +1 -3
  119. package/src/Component/DropMenu/__snapshots__/DropMenu.stories.ts.snap +25 -72
  120. package/src/Component/DropMenu/__snapshots__/DropMenu.stories.tsx.snap +2 -46
  121. package/src/Component/Filters/__snapshots__/FilterItem.stories.ts.snap +80 -121
  122. package/src/Component/Filters/__snapshots__/Filters.stories.ts.snap +323 -424
  123. package/src/Component/GlobalAlert/GlobalAlert.stories.tsx +2 -0
  124. package/src/Component/GlobalAlert/__snapshots__/GlobalAlert.stories.ts.snap +25 -37
  125. package/src/Component/GlobalAlert/__snapshots__/GlobalAlert.stories.tsx.snap +3 -46
  126. package/src/Component/HeroBanner/HeroBanner.stories.tsx +2 -0
  127. package/src/Component/HeroBanner/__snapshots__/HeroBanner.stories.ts.snap +105 -106
  128. package/src/Component/HeroBanner/__snapshots__/HeroBanner.stories.tsx.snap +3 -34
  129. package/src/Component/HeroSearch/HeroSearch.stories.tsx +2 -0
  130. package/src/Component/HeroSearch/__snapshots__/HeroSearch.stories.ts.snap +121 -158
  131. package/src/Component/HeroSearch/__snapshots__/HeroSearch.stories.tsx.snap +3 -34
  132. package/src/Component/InPageAlert/InPageAlert.stories.tsx +2 -0
  133. package/src/Component/InPageAlert/__snapshots__/InPageAlert.stories.ts.snap +87 -70
  134. package/src/Component/InPageAlert/__snapshots__/InPageAlert.stories.tsx.snap +5 -65
  135. package/src/Component/InPageNavigation/InPageNavigation.stories.ts +1 -0
  136. package/src/Component/InPageNavigation/InPageNavigation.stories.tsx +2 -0
  137. package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.ts.snap +88 -208
  138. package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.tsx.snap +2 -148
  139. package/src/Component/InPageNavigation/in-page-navigation.css +5 -0
  140. package/src/Component/LinkList/LinkList.stories.tsx +2 -1
  141. package/src/Component/LinkList/__snapshots__/LinkList.stories.ts.snap +67 -66
  142. package/src/Component/LinkList/__snapshots__/LinkList.stories.tsx.snap +2 -32
  143. package/src/Component/ListItem/ListItem.stories.tsx +2 -1
  144. package/src/Component/ListItem/__snapshots__/ListItem.stories.ts.snap +153 -167
  145. package/src/Component/ListItem/__snapshots__/ListItem.stories.tsx.snap +2 -25
  146. package/src/Component/Navigation/Dropdown.stories.tsx +2 -0
  147. package/src/Component/Navigation/Elements/Navigation.ts +5 -5
  148. package/src/Component/Navigation/Navigation.stories.tsx +2 -0
  149. package/src/Component/Navigation/__snapshots__/Dropdown.stories.tsx.snap +2 -38
  150. package/src/Component/Navigation/__snapshots__/Navigation.stories.ts.snap +204 -279
  151. package/src/Component/Navigation/__snapshots__/Navigation.stories.tsx.snap +3 -59
  152. package/src/Component/Navigation/_navigation.css +2 -2
  153. package/src/Component/Pagination/Pagination.stories.tsx +2 -0
  154. package/src/Component/Pagination/__snapshots__/Pagination.stories.ts.snap +70 -60
  155. package/src/Component/Pagination/__snapshots__/Pagination.stories.tsx.snap +2 -62
  156. package/src/Component/Popover/Elements/Popover.ts +5 -1
  157. package/src/Component/Popover/__snapshots__/Popover.stories.ts.snap +366 -496
  158. package/src/Component/Popover/popover.css +3 -4
  159. package/src/Component/ResultsBar/ResultsBar.stories.tsx +2 -0
  160. package/src/Component/ResultsBar/__snapshots__/ResultsBar.stories.ts.snap +25 -46
  161. package/src/Component/ResultsBar/__snapshots__/ResultsBar.stories.tsx.snap +4 -50
  162. package/src/Component/SideNavigation/__snapshots__/SideNavigation.stories.ts.snap +76 -81
  163. package/src/Component/SocialLinks/__snapshots__/SocialLinks.stories.ts.snap +35 -32
  164. package/src/Component/SocialShare/SocialShare.stories.tsx +2 -1
  165. package/src/Component/SocialShare/__snapshots__/SocialShare.stories.ts.snap +11 -27
  166. package/src/Component/SocialShare/__snapshots__/SocialShare.stories.tsx.snap +4 -22
  167. package/src/Component/SocialShare/social-share.twig +1 -0
  168. package/src/Component/Steps/__snapshots__/StepItem.stories.ts.snap +11 -23
  169. package/src/Component/Steps/__snapshots__/Steps.stories.ts.snap +142 -173
  170. package/src/Component/Sticky/Sticky.stories.tsx +2 -0
  171. package/src/Component/Sticky/__snapshots__/Sticky.stories.ts.snap +6 -12
  172. package/src/Component/Sticky/__snapshots__/Sticky.stories.tsx.snap +2 -10
  173. package/src/Component/Tabs/Tabs.stories.tsx +2 -0
  174. package/src/Component/Tabs/__snapshots__/TabItem.stories.ts.snap +5 -9
  175. package/src/Component/Tabs/__snapshots__/Tabs.stories.ts.snap +37 -210
  176. package/src/Component/Tabs/__snapshots__/Tabs.stories.tsx.snap +2 -116
  177. package/src/Component/Tag/Tag.stories.tsx +2 -0
  178. package/src/Component/Tag/__snapshots__/Tag.stories.ts.snap +37 -61
  179. package/src/Component/Tag/__snapshots__/Tag.stories.tsx.snap +2 -6
  180. package/src/Component/Tag/tags.twig +6 -6
  181. package/src/Component/UtilityList/__snapshots__/UtilityList.stories.ts.snap +122 -245
  182. package/src/Component/UtilityList/utility-list.css +4 -0
  183. package/src/Component/UtilityList/utility-list.twig +2 -1
  184. package/src/Form/Checkbox/FormCheckbox.stories.tsx +2 -2
  185. package/src/Form/Checkbox/__snapshots__/Checkbox.stories.ts.snap +13 -26
  186. package/src/Form/Checkbox/__snapshots__/FormCheckbox.stories.tsx.snap +5 -0
  187. package/src/Form/Description/FormDescription.stories.tsx +2 -1
  188. package/src/Form/Description/__snapshots__/Description.stories.ts.snap +5 -9
  189. package/src/Form/Description/__snapshots__/FormDescription.stories.tsx.snap +2 -9
  190. package/src/Form/Description/__snapshots__/FormStatus.stories.ts.snap +9 -17
  191. package/src/Form/Form/Form.stories.tsx +2 -1
  192. package/src/Form/Form/FormTitle.stories.tsx +2 -1
  193. package/src/Form/Form/__snapshots__/Form.stories.tsx.snap +2 -5
  194. package/src/Form/Form/__snapshots__/FormTitle.stories.tsx.snap +2 -8
  195. package/src/Form/FormItem/FormItem.stories.tsx +8 -5
  196. package/src/Form/FormItem/__snapshots__/FormItem.stories.ts.snap +88 -129
  197. package/src/Form/Label/FormLabel.stories.tsx +2 -1
  198. package/src/Form/Label/__snapshots__/FormLabel.stories.tsx.snap +3 -18
  199. package/src/Form/Label/__snapshots__/Label.stories.ts.snap +13 -25
  200. package/src/Form/Radio/FormRadio.stories.tsx +2 -14
  201. package/src/Form/Radio/__snapshots__/FormRadio.stories.tsx.snap +3 -0
  202. package/src/Form/Radio/__snapshots__/Radio.stories.ts.snap +42 -57
  203. package/src/Form/Search/__snapshots__/Search.stories.ts.snap +11 -26
  204. package/src/Form/Select/FormSelect.stories.tsx +2 -1
  205. package/src/Form/Select/__snapshots__/FormSelect.stories.tsx.snap +2 -22
  206. package/src/Form/Select/__snapshots__/Select.stories.ts.snap +8 -19
  207. package/src/Form/TextInput/FormText.stories.tsx +2 -1
  208. package/src/Form/TextInput/__snapshots__/FormText.stories.tsx.snap +2 -12
  209. package/src/Form/TextInput/__snapshots__/InputDivider.stories.ts.snap +11 -26
  210. package/src/Form/TextInput/__snapshots__/TextInput.stories.ts.snap +11 -25
  211. package/src/Form/Textarea/FormTextarea.stories.tsx +2 -1
  212. package/src/Form/Textarea/__snapshots__/FormTextarea.stories.tsx.snap +2 -11
  213. package/src/Form/Textarea/__snapshots__/Textarea.stories.ts.snap +5 -11
  214. package/src/Layout/Footer/Footer.stories.ts +18 -1
  215. package/src/Layout/Footer/Footer.stories.tsx +2 -0
  216. package/src/Layout/Footer/__snapshots__/Footer.stories.ts.snap +360 -301
  217. package/src/Layout/Footer/__snapshots__/Footer.stories.tsx.snap +3 -62
  218. package/src/Layout/Footer/footer.css +16 -35
  219. package/src/Layout/Footer/footer.twig +6 -6
  220. package/src/Layout/Grid/Grid.stories.tsx +2 -0
  221. package/src/Layout/Grid/__snapshots__/Grid.stories.ts.snap +72 -66
  222. package/src/Layout/Grid/__snapshots__/Grid.stories.tsx.snap +6 -62
  223. package/src/Layout/Grid/__snapshots__/GridItem.stories.ts.snap +9 -13
  224. package/src/Layout/Header/Header.stories.tsx +2 -1
  225. package/src/Layout/Header/__snapshots__/Header.stories.ts.snap +315 -466
  226. package/src/Layout/Header/__snapshots__/Header.stories.tsx.snap +2 -58
  227. package/src/Layout/Masthead/__snapshots__/Masthead.stories.ts.snap +86 -87
  228. package/src/Layout/Page/Page.stories.tsx +2 -0
  229. package/src/Layout/Page/__snapshots__/Page.stories.tsx.snap +2 -81
  230. package/src/Layout/Section/__snapshots__/Background.stories.ts.snap +51 -61
  231. package/src/Layout/Section/__snapshots__/Breakouts.stories.ts.snap +34 -78
  232. package/src/Layout/Section/__snapshots__/Flow.stories.ts.snap +54 -89
  233. package/src/Layout/Section/__snapshots__/Section.stories.ts.snap +89 -99
  234. package/src/Layout/Section/__snapshots__/Section.stories.tsx.snap +4 -34
  235. package/src/Layout/Section/__snapshots__/SectionGrid.stories.tsx.snap +3 -35
  236. package/src/Layout/Section/section.twig +2 -2
  237. package/src/Layout/Sidebar/Sidebar.stories.tsx +1 -1
  238. package/src/Layout/Sidebar/__snapshots__/Sidebar.stories.ts.snap +49 -40
  239. package/src/Layout/Sidebar/__snapshots__/Sidebar.stories.tsx.snap +4 -44
  240. package/src/Layout/Sidebar/sidebar.css +2 -2
  241. package/src/Layout/Sidebar/sidebar.twig +8 -5
  242. package/src/Utility/_layout-utils.css +9 -1
  243. package/src/constants.css +2 -2
  244. package/src/tokens.js +2 -2
  245. package/.storybook/test-runner.ts +0 -77
  246. package/dist/build/accordion.entry.js.map +0 -1
  247. package/dist/build/chunks/Accordion-D1HQ0FDq.js +0 -63
  248. package/dist/build/chunks/Accordion-D1HQ0FDq.js.map +0 -1
  249. package/dist/build/chunks/disclosure-widget-CdjCdx7t.js +0 -129
  250. package/dist/build/chunks/disclosure-widget-CdjCdx7t.js.map +0 -1
  251. package/dist/build/chunks/drop-menu.entry-fzV-_VFl.js +0 -70
  252. package/dist/build/chunks/drop-menu.entry-fzV-_VFl.js.map +0 -1
  253. package/dist/build/chunks/polyfills-DnrsypYs.js +0 -812
  254. package/dist/build/chunks/polyfills-DnrsypYs.js.map +0 -1
  255. package/dist/build/chunks/popover-DzUcnIlX.js +0 -797
  256. package/dist/build/chunks/popover-DzUcnIlX.js.map +0 -1
  257. package/dist/build/chunks/popover.entry-BQvyR0d5.js +0 -38
  258. package/dist/build/chunks/popover.entry-BQvyR0d5.js.map +0 -1
  259. package/dist/build/chunks/utilities-Ci7wwNeg.js +0 -148
  260. package/dist/build/chunks/utilities-Ci7wwNeg.js.map +0 -1
  261. package/dist/build/dialog.entry.js.map +0 -1
  262. package/dist/build/drop-menu.entry.js.map +0 -1
  263. package/dist/build/filters.entry.js.map +0 -1
  264. package/dist/build/global-alert.entry.js.map +0 -1
  265. package/dist/build/header.entry.js.map +0 -1
  266. package/dist/build/in-page-navigation.entry.js.map +0 -1
  267. package/dist/build/navigation.entry.js.map +0 -1
  268. package/dist/build/popover.entry.js.map +0 -1
  269. package/dist/build/sticky.entry.js.map +0 -1
  270. package/dist/build/tabs.entry.js.map +0 -1
  271. package/dist/build/utility-list.entry.js.map +0 -1
  272. package/src/Form/FormItem/__snapshots__/FormItem.stories.tsx.snap +0 -110
@@ -3,5 +3,5 @@ import { Decorator } from "@storybook/html-vite"
3
3
 
4
4
  export const Page: Decorator = (story, { globals }) => {
5
5
  const { background } = globals
6
- return `<div class="mx-page ${background}">${story()}</div>`
6
+ return `<div class="mx-page ${background}" data-testid="page">${story()}</div>`
7
7
  }
@@ -3,7 +3,7 @@ import { StorybookConfig } from "@storybook/html-vite"
3
3
  const config: StorybookConfig = {
4
4
  stories: ["../src/**/*.mdx", "../src/**/*.stories.ts", "../mockups/*.stories.ts"],
5
5
  staticDirs: ["./public"],
6
- addons: ["@storybook/addon-a11y", "@storybook/addon-docs"],
6
+ addons: ["@storybook/addon-a11y", "@storybook/addon-docs", "@storybook/addon-vitest"],
7
7
  framework: "@storybook/html-vite",
8
8
  refs: (config, { configType }) => {
9
9
  if (configType === "DEVELOPMENT") {
@@ -16,6 +16,14 @@ const config: StorybookConfig = {
16
16
  },
17
17
  }
18
18
  },
19
+ async viteFinal(config) {
20
+ // Merge custom configuration into the default config
21
+ const { mergeConfig } = await import("vite")
22
+ return mergeConfig(config, {
23
+ // Add dependencies to pre-optimization
24
+ cacheDir: `${config.cacheDir}/html`,
25
+ })
26
+ },
19
27
  }
20
28
 
21
29
  export default config
@@ -25,6 +25,7 @@ const preview: Preview = {
25
25
  },
26
26
  resultTypes: ["violations"],
27
27
  },
28
+ test: "error",
28
29
  },
29
30
  options: {
30
31
  storySort: {
@@ -22,11 +22,17 @@
22
22
  }
23
23
 
24
24
  & .mx-rich-text p {
25
- max-inline-size: var(--container-max-width);
25
+ max-inline-size: 76ch;
26
+
27
+ &.mx-text--lede {
28
+ --font-size: var(--font-size-l);
29
+
30
+ max-inline-size: 50ch;
31
+ }
26
32
  }
27
33
 
28
34
  & .mx-background--box {
29
- border-width: 2px;
35
+ --line-width: 2px;
30
36
  }
31
37
 
32
38
  &
@@ -68,22 +74,20 @@
68
74
  --font-size: var(--font-size-xl);
69
75
  --container-max-width-narrow: 40ch;
70
76
  }
77
+
78
+ &[class*="mx-background--"] .mx-hero-banner__aside-image {
79
+ margin-bottom: -2rem;
80
+ }
71
81
  }
72
82
 
73
83
  & .mx-footer__inner {
74
84
  & .mx-footer__aoc {
75
- margin-inline: auto;
76
- max-inline-size: 101ch;
77
- }
78
-
79
- & .mx-social-links {
80
- grid-area: links;
81
- justify-content: end;
82
- }
85
+ border-block-start: 2px solid currentcolor;
83
86
 
84
- & .mx-footer__copyright:not(:first-child) {
85
- padding-block-start: 0;
86
- margin-block-start: 0;
87
+ & p {
88
+ max-inline-size: 96ch;
89
+ text-wrap: balance;
90
+ }
87
91
  }
88
92
  }
89
93
  }
@@ -0,0 +1,17 @@
1
+ import { beforeAll, afterEach, expect } from "vitest"
2
+ import { page } from "vitest/browser"
3
+ import { setProjectAnnotations } from "@storybook/html-vite"
4
+ import * as a11yAddonAnnotations from "@storybook/addon-a11y/preview"
5
+ import * as previewAnnotations from "./preview"
6
+
7
+ // This is an important step to apply the right configuration when testing your stories.
8
+ // More info at: https://storybook.js.org/docs/api/portable-stories/portable-stories-vitest#setprojectannotations
9
+ const annotations = setProjectAnnotations([previewAnnotations, a11yAddonAnnotations])
10
+
11
+ beforeAll(annotations.beforeAll)
12
+
13
+ afterEach(async () => {
14
+ await new Promise(resolve => window.requestIdleCallback(resolve))
15
+ const element = page.getByTestId("page")?.element()?.innerHTML
16
+ expect(element).toMatchSnapshot()
17
+ })
@@ -1,113 +1,103 @@
1
- /**
2
- * Accordion
3
- */
4
-
5
1
  @layer design-system.defaults {
6
- details summary {
7
- list-style-type: none;
8
- }
2
+ details summary {
3
+ list-style-type: none
4
+ }
5
+
6
+ :is(details summary):is(::-webkit-details-marker,::marker) {
7
+ display: none;
8
+ content: ""
9
+ }
9
10
 
10
- :is(details summary):is(::-webkit-details-marker,::marker) {
11
- display: none;
12
- content: "";
13
- }
11
+ :is(mx-accordion,mx-accordiondiv,mx-accordionmobile,mx-accordion-group) {
12
+ display: block
13
+ }
14
14
 
15
- :is(mx-accordion, mx-accordiondiv, mx-accordionmobile) {
16
- display: block;
15
+ :where(:is(div.mx-accordion,mx-accordiondiv)) .mx-accordion__toggle {
16
+ -webkit-appearance: none;
17
+ -moz-appearance: none;
18
+ appearance: none;
19
+ color: inherit;
20
+ font-size: inherit;
21
+ background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
22
+ background: initial;
23
+ border: medium none currentcolor;
24
+ border: initial;
25
+ padding: 0;
26
+ padding: initial
17
27
  }
18
- :where(:is(div.mx-accordion,mx-accordiondiv)) .mx-accordion__toggle {
19
- -webkit-appearance: none;
20
- -moz-appearance: none;
21
- appearance: none;
22
- color: inherit;
23
- font-size: inherit;
24
- background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
25
- background: initial;
26
- border: medium none currentcolor;
27
- border: initial;
28
- padding: 0;
29
- padding: initial;
30
- }
31
- }
32
28
 
29
+ mx-accordion-group:not(:defined) .mx-accordions__toggle-all {
30
+ display: none
31
+ }
32
+ }
33
33
  @layer design-system.components {
34
34
  .mx-accordion__title {
35
35
  margin-block-end: var(--spacing-m);
36
36
  display: flex;
37
37
  flex-flow: row wrap;
38
38
  gap: var(--spacing-s);
39
- align-items: center;
39
+ align-items: center
40
40
  }
41
41
 
42
42
  .mx-accordions__toggle-all {
43
- margin-inline-start: auto;
43
+ margin-inline-start: auto
44
44
  }
45
- .mx-accordion .mx-accordion__toggle {
46
- cursor: pointer;
47
- inline-size: 100%;
48
- }
49
45
 
50
- .mx-accordion:is( > h2, > h3, > h4, > h5, > h6) {
51
- all: unset;
52
- }
53
-
54
- .mx-accordion > .mx-accordion__content {
55
- display: none;
56
- opacity: 0;
57
- overflow: hidden;
58
- }
59
- :is(.mx-accordion:is([open],[data-open="true"]) > .mx-accordion__toggle) .mx-icon--chevron-down {
60
- transform: rotate(180deg);
61
- }
46
+ .mx-accordion .mx-accordion__toggle {
47
+ cursor: pointer;
48
+ inline-size: 100%
49
+ }
62
50
 
63
- .mx-accordion:is([open],[data-open="true"]) > .mx-accordion__content {
64
- opacity: 1;
65
- display: block;
66
- }
51
+ .mx-accordion:is(>h2,>h3,>h4,>h5,>h6) {
52
+ all: unset
53
+ }
67
54
 
68
- @starting-style {
55
+ .mx-accordion > .mx-accordion__content {
56
+ display: none;
57
+ opacity: 0;
58
+ overflow: hidden
59
+ }
69
60
 
70
- .mx-accordion:is([open],[data-open="true"]) > .mx-accordion__content {
71
- opacity: 0;
72
- display: block;
73
- }
74
- }
61
+ :is(.mx-accordion:is([open],[data-open=true])>.mx-accordion__toggle) .mx-icon--chevron-down {
62
+ transform: rotate(180deg)
63
+ }
75
64
 
76
- .mx-accordion--divided {
77
- border-block-end: 1px solid
78
- var(--line-colour, var(--colour-border));
79
- border-block-end: var(--line-width, 1px) solid
80
- var(--line-colour, var(--colour-border));
65
+ .mx-accordion:is([open],[data-open=true]) > .mx-accordion__content {
66
+ opacity: 1;
67
+ display: block
81
68
  }
82
69
 
83
- .mx-accordion--divided .mx-accordion__toggle {
84
- padding-block: var(--vertical-padding, var(--spacing-xxs));
85
- padding-inline: 0;
86
- padding-inline: var(--horizontal-padding, 0);
87
- display: flex;
88
- justify-content: space-between;
89
- align-items: center;
90
- gap: var(--spacing-xxs);
70
+ @starting-style {
71
+ .mx-accordion:is([open],[data-open=true]) > .mx-accordion__content {
72
+ opacity: 0;
73
+ display: block
91
74
  }
92
- .mx-accordion--divided:is([open],[data-open="true"]) > .mx-accordion__content {
93
- border-block-start: 1px solid
94
- var(--line-colour, var(--colour-border));
95
- border-block-start: var(--line-width, 1px) solid
96
- var(--line-colour, var(--colour-border));
97
- padding-block: var(--vertical-padding, var(--spacing-xxs));
98
- padding-inline: 0;
99
- padding-inline: var(--horizontal-padding, 0);
100
- }
101
- }
75
+ }.mx-accordion--divided {
76
+ border-block-end: 1px solid var(--line-colour, var(--colour-border));
77
+ border-block-end: var(--line-width, 1px) solid var(--line-colour, var(--colour-border))
78
+ }
102
79
 
103
- /**
104
- * Print stylesheet
105
- */
80
+ .mx-accordion--divided .mx-accordion__toggle {
81
+ padding-block: var(--vertical-padding, var(--spacing-xxs));
82
+ padding-inline: 0;
83
+ padding-inline: var(--horizontal-padding, 0);
84
+ display: flex;
85
+ justify-content: space-between;
86
+ align-items: center;
87
+ gap: var(--spacing-xxs)
88
+ }
106
89
 
107
- @media print {
108
- .mx-accordion .mx-accordion__content {
109
- display: block !important;
110
- }
90
+ .mx-accordion--divided:is([open],[data-open=true]) > .mx-accordion__content {
91
+ border-block-start: 1px solid var(--line-colour, var(--colour-border));
92
+ border-block-start: var(--line-width, 1px) solid var(--line-colour, var(--colour-border));
93
+ padding-block: var(--vertical-padding, var(--spacing-xxs));
94
+ padding-inline: 0;
95
+ padding-inline: var(--horizontal-padding, 0)
96
+ }
111
97
  }
112
98
 
113
- /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFjY29yZGlvbi5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0VBRUU7O0FBRUY7SUFFSTtNQUNFLHFCQUFxQjtJQU12Qjs7TUFKRTtRQUNFLGFBQWE7UUFDYixXQUFXO01BQ2I7O0VBSUo7SUFDRSxjQUFjO0VBQ2hCO0lBR0U7TUFDRSx3QkFBZ0I7U0FBaEIscUJBQWdCO2NBQWhCLGdCQUFnQjtNQUNoQixjQUFjO01BQ2Qsa0JBQWtCO01BQ2xCLGlGQUFtQjtNQUFuQixtQkFBbUI7TUFDbkIsZ0NBQWU7TUFBZixlQUFlO01BQ2YsVUFBZ0I7TUFBaEIsZ0JBQWdCO0lBQ2xCO0FBRUo7O0FBRUE7RUFDRTtJQUNFLGtDQUFrQztJQUNsQyxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQixtQkFBbUI7RUFDckI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7SUFHRTtNQUNFLGVBQWU7TUFDZixpQkFBaUI7SUFDbkI7O0lBRUE7TUFDRSxVQUFVO0lBQ1o7O0lBRUE7TUFDRSxhQUFhO01BQ2IsVUFBVTtNQUNWLGdCQUFnQjtJQUNsQjtRQUlJO1VBQ0UseUJBQXlCO1FBQzNCOztNQUdGO1FBQ0UsVUFBVTtRQUNWLGNBQWM7TUFNaEI7O1FBSkU7O01BSkY7VUFLSSxVQUFVO1VBQ1YsY0FBYztNQUVsQjtRQURFOztFQUtOO0lBQ0U7OENBQzBDO0lBRDFDOzhDQUMwQztFQW1CNUM7O0lBakJFO01BQ0UsMERBQTBEO01BQzFELGlCQUE0QztNQUE1Qyw0Q0FBNEM7TUFDNUMsYUFBYTtNQUNiLDhCQUE4QjtNQUM5QixtQkFBbUI7TUFDbkIsdUJBQXVCO0lBQ3pCO01BR0U7UUFDRTtrREFDMEM7UUFEMUM7a0RBQzBDO1FBQzFDLDBEQUEwRDtRQUMxRCxpQkFBNEM7UUFBNUMsNENBQTRDO01BQzlDO0FBR047O0FBRUE7O0VBRUU7O0FBRUY7SUFFSTtNQUNFLHlCQUF5QjtJQUMzQjtBQUVKIiwiZmlsZSI6ImFjY29yZGlvbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFjY29yZGlvblxuICovXG5cbkBsYXllciBkZXNpZ24tc3lzdGVtLmRlZmF1bHRzIHtcbiAgZGV0YWlscyB7XG4gICAgJiBzdW1tYXJ5IHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICAgJjppcyg6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIsIDo6bWFya2VyKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgOmlzKG14LWFjY29yZGlvbiwgbXgtYWNjb3JkaW9uZGl2LCBteC1hY2NvcmRpb25tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIDp3aGVyZSg6aXMoZGl2Lm14LWFjY29yZGlvbiwgbXgtYWNjb3JkaW9uZGl2KSkge1xuICAgICYgLm14LWFjY29yZGlvbl9fdG9nZ2xlIHtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQ6IGluaXRpYWw7XG4gICAgICBib3JkZXI6IGluaXRpYWw7XG4gICAgICBwYWRkaW5nOiBpbml0aWFsO1xuICAgIH1cbiAgfVxufVxuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5jb21wb25lbnRzIHtcbiAgLm14LWFjY29yZGlvbl9fdGl0bGUge1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXNwYWNpbmctbSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2luZy1zKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLm14LWFjY29yZGlvbnNfX3RvZ2dsZS1hbGwge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gIH1cblxuICAubXgtYWNjb3JkaW9uIHtcbiAgICAmIC5teC1hY2NvcmRpb25fX3RvZ2dsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgICB9XG5cbiAgICAmOmlzKD4gaDIsID4gaDMsID4gaDQsID4gaDUsID4gaDYpIHtcbiAgICAgIGFsbDogdW5zZXQ7XG4gICAgfVxuXG4gICAgJiA+IC5teC1hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICY6aXMoW29wZW5dLCBbZGF0YS1vcGVuPVwidHJ1ZVwiXSkge1xuICAgICAgJiA+IC5teC1hY2NvcmRpb25fX3RvZ2dsZSB7XG4gICAgICAgICYgLm14LWljb24tLWNoZXZyb24tZG93biB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmID4gLm14LWFjY29yZGlvbl9fY29udGVudCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIEBzdGFydGluZy1zdHlsZSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5teC1hY2NvcmRpb24tLWRpdmlkZWQge1xuICAgIGJvcmRlci1ibG9jay1lbmQ6IHZhcigtLWxpbmUtd2lkdGgsIDFweCkgc29saWRcbiAgICAgIHZhcigtLWxpbmUtY29sb3VyLCB2YXIoLS1jb2xvdXItYm9yZGVyKSk7XG5cbiAgICAmIC5teC1hY2NvcmRpb25fX3RvZ2dsZSB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS12ZXJ0aWNhbC1wYWRkaW5nLCB2YXIoLS1zcGFjaW5nLXh4cykpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWhvcml6b250YWwtcGFkZGluZywgMCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogdmFyKC0tc3BhY2luZy14eHMpO1xuICAgIH1cblxuICAgICY6aXMoW29wZW5dLCBbZGF0YS1vcGVuPVwidHJ1ZVwiXSkge1xuICAgICAgJiA+IC5teC1hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgICAgICBib3JkZXItYmxvY2stc3RhcnQ6IHZhcigtLWxpbmUtd2lkdGgsIDFweCkgc29saWRcbiAgICAgICAgICB2YXIoLS1saW5lLWNvbG91ciwgdmFyKC0tY29sb3VyLWJvcmRlcikpO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS12ZXJ0aWNhbC1wYWRkaW5nLCB2YXIoLS1zcGFjaW5nLXh4cykpO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taG9yaXpvbnRhbC1wYWRkaW5nLCAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBQcmludCBzdHlsZXNoZWV0XG4gKi9cblxuQG1lZGlhIHByaW50IHtcbiAgLm14LWFjY29yZGlvbiB7XG4gICAgJiAubXgtYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iXX0= */
99
+ @media print {
100
+ .mx-accordion .mx-accordion__content {
101
+ display: block !important
102
+ }
103
+ }
@@ -1,72 +1,46 @@
1
- import "./chunks/Accordion-D1HQ0FDq.js";
2
- class AccordionGroup extends HTMLElement {
3
- internals_;
4
- controller;
5
- constructor() {
6
- super();
7
- this.internals_ = this.attachInternals();
8
- this.controller = new AbortController();
9
- }
10
- connectedCallback() {
11
- if (!this.accordions || !this.expandTrigger || !this.collapseTrigger) return;
12
- this.handleToggle();
13
- const { signal } = this.controller;
14
- this.addEventListener("click", this.handleClick, {
15
- signal
16
- });
17
- this.accordions.forEach(
18
- (details) => details.addEventListener("toggle", this.handleToggle, {
19
- signal
20
- })
21
- );
22
- }
23
- disconnectedCallback() {
24
- this.controller.abort();
25
- }
26
- handleClick = ({ target }) => {
27
- if (target === this.expandTrigger) {
28
- this.handleExpand();
29
- }
30
- if (target === this.collapseTrigger) {
31
- this.handleCollapse();
32
- }
33
- };
34
- handleExpand = () => {
35
- this.accordions.forEach((detail) => detail.open = true);
36
- this.expandTrigger.disabled = true;
37
- this.collapseTrigger.disabled = false;
38
- };
39
- handleCollapse = () => {
40
- this.accordions.forEach((detail) => detail.open = false);
41
- this.expandTrigger.disabled = false;
42
- this.collapseTrigger.disabled = true;
43
- };
44
- handleToggle = () => {
45
- this.expandTrigger.disabled = [...this.accordions].every((details) => details.open === true);
46
- this.collapseTrigger.disabled = [...this.accordions].every((details) => details.open !== true);
47
- };
48
- get accordions() {
49
- const accordions = this.querySelectorAll("details");
50
- if (!accordions.length) {
51
- throw new Error(`${this.localName} must contain at least one <details> element.`);
52
- }
53
- return accordions;
54
- }
55
- get expandTrigger() {
56
- const trigger = this.querySelector("button[data-expand]");
57
- if (!trigger) {
58
- throw new Error(`${this.localName} must contain a <button data-expand> element.`);
59
- }
60
- return trigger;
61
- }
62
- get collapseTrigger() {
63
- const trigger = this.querySelector("button[data-collapse]");
64
- if (!trigger) {
65
- throw new Error(`${this.localName} must contain a <button data-collapse> element.`);
66
- }
67
- return trigger;
68
- }
69
- }
70
- if (!customElements.get("mx-accordion-group"))
71
- customElements.define("mx-accordion-group", AccordionGroup);
72
- //# sourceMappingURL=accordion.entry.js.map
1
+ import "./chunks/utilities-DepaJdUg.js";
2
+ import "./chunks/Accordion-Dwh42fp7.js";
3
+ var AccordionGroup = class extends HTMLElement {
4
+ internals_;
5
+ controller;
6
+ constructor() {
7
+ super(), this.internals_ = this.attachInternals(), this.controller = new AbortController();
8
+ }
9
+ connectedCallback() {
10
+ if (!this.accordions || !this.expandTrigger || !this.collapseTrigger) return;
11
+ this.handleToggle();
12
+ let { signal: e } = this.controller;
13
+ this.addEventListener("click", this.handleClick, { signal: e }), this.accordions.forEach((t) => t.addEventListener("toggle", this.handleToggle, { signal: e }));
14
+ }
15
+ disconnectedCallback() {
16
+ this.controller.abort();
17
+ }
18
+ handleClick = ({ target: e }) => {
19
+ e === this.expandTrigger && this.handleExpand(), e === this.collapseTrigger && this.handleCollapse();
20
+ };
21
+ handleExpand = () => {
22
+ this.accordions.forEach((e) => e.open = !0), this.expandTrigger.disabled = !0, this.collapseTrigger.disabled = !1;
23
+ };
24
+ handleCollapse = () => {
25
+ this.accordions.forEach((e) => e.open = !1), this.expandTrigger.disabled = !1, this.collapseTrigger.disabled = !0;
26
+ };
27
+ handleToggle = () => {
28
+ this.expandTrigger.disabled = [...this.accordions].every((e) => e.open === !0), this.collapseTrigger.disabled = [...this.accordions].every((e) => e.open !== !0);
29
+ };
30
+ get accordions() {
31
+ let e = this.querySelectorAll("details");
32
+ if (!e.length) throw Error(`${this.localName} must contain at least one <details> element.`);
33
+ return e;
34
+ }
35
+ get expandTrigger() {
36
+ let e = this.querySelector("button[data-expand]");
37
+ if (!e) throw Error(`${this.localName} must contain a <button data-expand> element.`);
38
+ return e;
39
+ }
40
+ get collapseTrigger() {
41
+ let e = this.querySelector("button[data-collapse]");
42
+ if (!e) throw Error(`${this.localName} must contain a <button data-collapse> element.`);
43
+ return e;
44
+ }
45
+ };
46
+ customElements.get("mx-accordion-group") || customElements.define("mx-accordion-group", AccordionGroup);