@pnx-mixtape/mxds 0.0.1

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 (622) hide show
  1. package/README.md +274 -0
  2. package/dist/build/Accordion.js +61 -0
  3. package/dist/build/Accordion.js.map +1 -0
  4. package/dist/build/AccordionDiv.js +62 -0
  5. package/dist/build/AccordionDiv.js.map +1 -0
  6. package/dist/build/AccordionGroup.js +85 -0
  7. package/dist/build/AccordionGroup.js.map +1 -0
  8. package/dist/build/AccordionMobile.js +31 -0
  9. package/dist/build/AccordionMobile.js.map +1 -0
  10. package/dist/build/Dialog.js +116 -0
  11. package/dist/build/Dialog.js.map +1 -0
  12. package/dist/build/DropMenu.js +132 -0
  13. package/dist/build/DropMenu.js.map +1 -0
  14. package/dist/build/GlobalToggle.js +103 -0
  15. package/dist/build/GlobalToggle.js.map +1 -0
  16. package/dist/build/InPageAlert.js +61 -0
  17. package/dist/build/InPageAlert.js.map +1 -0
  18. package/dist/build/InPageNavigation.js +92 -0
  19. package/dist/build/InPageNavigation.js.map +1 -0
  20. package/dist/build/Navigation.js +126 -0
  21. package/dist/build/Navigation.js.map +1 -0
  22. package/dist/build/Sticky.js +63 -0
  23. package/dist/build/Sticky.js.map +1 -0
  24. package/dist/build/Tabs.js +164 -0
  25. package/dist/build/Tabs.js.map +1 -0
  26. package/dist/build/accordion.css +108 -0
  27. package/dist/build/base.css +1000 -0
  28. package/dist/build/breadcrumb.css +47 -0
  29. package/dist/build/breakpoint-loader.js +52 -0
  30. package/dist/build/breakpoint-loader.js.map +1 -0
  31. package/dist/build/button.css +126 -0
  32. package/dist/build/callout.css +11 -0
  33. package/dist/build/card.css +135 -0
  34. package/dist/build/chunks/js.cookie-CiMiGxWx.js +101 -0
  35. package/dist/build/chunks/js.cookie-CiMiGxWx.js.map +1 -0
  36. package/dist/build/chunks/polyfills-CJ5uTmUJ.js +749 -0
  37. package/dist/build/chunks/polyfills-CJ5uTmUJ.js.map +1 -0
  38. package/dist/build/chunks/popover-wbPSyFRj.js +654 -0
  39. package/dist/build/chunks/popover-wbPSyFRj.js.map +1 -0
  40. package/dist/build/chunks/utilities-BIk0P2KX.js +61 -0
  41. package/dist/build/chunks/utilities-BIk0P2KX.js.map +1 -0
  42. package/dist/build/constants.css +120 -0
  43. package/dist/build/container-grid.css +207 -0
  44. package/dist/build/content-block.css +23 -0
  45. package/dist/build/cookie-compliance.js +122 -0
  46. package/dist/build/cookie-compliance.js.map +1 -0
  47. package/dist/build/dialog.css +98 -0
  48. package/dist/build/disclosure-widget.js +124 -0
  49. package/dist/build/disclosure-widget.js.map +1 -0
  50. package/dist/build/drop-menu.css +78 -0
  51. package/dist/build/drupal.css +74 -0
  52. package/dist/build/footer-menu.css +32 -0
  53. package/dist/build/footer.css +61 -0
  54. package/dist/build/form.css +589 -0
  55. package/dist/build/grid.css +200 -0
  56. package/dist/build/header.css +131 -0
  57. package/dist/build/hero-banner.css +62 -0
  58. package/dist/build/icon.css +399 -0
  59. package/dist/build/in-page-alert.css +94 -0
  60. package/dist/build/in-page-navigation.css +17 -0
  61. package/dist/build/index.css +4980 -0
  62. package/dist/build/io-loader.js +44 -0
  63. package/dist/build/io-loader.js.map +1 -0
  64. package/dist/build/keyboard.js +101 -0
  65. package/dist/build/keyboard.js.map +1 -0
  66. package/dist/build/link-list.css +72 -0
  67. package/dist/build/masthead.css +39 -0
  68. package/dist/build/nav-list.css +29 -0
  69. package/dist/build/navigation.css +371 -0
  70. package/dist/build/page.css +184 -0
  71. package/dist/build/pagination.css +123 -0
  72. package/dist/build/section.css +160 -0
  73. package/dist/build/sidebar.css +105 -0
  74. package/dist/build/sticky.css +47 -0
  75. package/dist/build/tabs.css +106 -0
  76. package/dist/build/tag.css +67 -0
  77. package/dist/build/tiles.css +61 -0
  78. package/dist/build/utilities.css +175 -0
  79. package/package.json +130 -0
  80. package/src/Atom/Background/Backgrounds.stories.ts +36 -0
  81. package/src/Atom/Background/__snapshots__/Backgrounds.stories.ts.snap +100 -0
  82. package/src/Atom/Background/_background.css +80 -0
  83. package/src/Atom/Background/backgrounds.twig +10 -0
  84. package/src/Atom/Base.mdx +76 -0
  85. package/src/Atom/Blockquote/_blockquote.css +7 -0
  86. package/src/Atom/Button/Button.stories.ts +71 -0
  87. package/src/Atom/Button/Button.stories.tsx +31 -0
  88. package/src/Atom/Button/Button.tsx +70 -0
  89. package/src/Atom/Button/README.md +30 -0
  90. package/src/Atom/Button/__snapshots__/Button.stories.ts.snap +41 -0
  91. package/src/Atom/Button/__snapshots__/Button.stories.tsx.snap +17 -0
  92. package/src/Atom/Button/_buttons-styles.css +48 -0
  93. package/src/Atom/Button/_buttons.css +71 -0
  94. package/src/Atom/Button/button.css +2 -0
  95. package/src/Atom/Button/button.twig +23 -0
  96. package/src/Atom/DefinitionList/DefinitionList.stories.tsx +25 -0
  97. package/src/Atom/DefinitionList/DefinitionList.tsx +27 -0
  98. package/src/Atom/DefinitionList/__snapshots__/DefinitionList.stories.tsx.snap +30 -0
  99. package/src/Atom/Heading/Heading.stories.ts +25 -0
  100. package/src/Atom/Heading/Heading.stories.tsx +19 -0
  101. package/src/Atom/Heading/Heading.tsx +44 -0
  102. package/src/Atom/Heading/__snapshots__/Heading.stories.ts.snap +7 -0
  103. package/src/Atom/Heading/__snapshots__/Heading.stories.tsx.snap +9 -0
  104. package/src/Atom/Heading/_headings.css +84 -0
  105. package/src/Atom/Heading/heading.twig +8 -0
  106. package/src/Atom/Icon/Icon.mdx +32 -0
  107. package/src/Atom/Icon/Icon.stories.ts +50 -0
  108. package/src/Atom/Icon/Icon.stories.tsx +44 -0
  109. package/src/Atom/Icon/Icon.tsx +30 -0
  110. package/src/Atom/Icon/README.md +7 -0
  111. package/src/Atom/Icon/__snapshots__/Icon.stories.ts.snap +18 -0
  112. package/src/Atom/Icon/__snapshots__/Icon.stories.tsx.snap +18 -0
  113. package/src/Atom/Icon/_extended-set.css +45 -0
  114. package/src/Atom/Icon/_icon.css +151 -0
  115. package/src/Atom/Icon/_mixin-icon.css +5 -0
  116. package/src/Atom/Icon/icon.css +2 -0
  117. package/src/Atom/Icon/icon.twig +12 -0
  118. package/src/Atom/Icon/images/arrow-down.svg +1 -0
  119. package/src/Atom/Icon/images/arrow-left.svg +1 -0
  120. package/src/Atom/Icon/images/arrow-right.svg +1 -0
  121. package/src/Atom/Icon/images/arrow-up.svg +1 -0
  122. package/src/Atom/Icon/images/attachment.svg +1 -0
  123. package/src/Atom/Icon/images/blockquote.svg +1 -0
  124. package/src/Atom/Icon/images/bluesky.svg +1 -0
  125. package/src/Atom/Icon/images/bookmark.svg +1 -0
  126. package/src/Atom/Icon/images/building.svg +1 -0
  127. package/src/Atom/Icon/images/calendar.svg +1 -0
  128. package/src/Atom/Icon/images/chevron-down.svg +1 -0
  129. package/src/Atom/Icon/images/chevron-left.svg +1 -0
  130. package/src/Atom/Icon/images/chevron-right.svg +1 -0
  131. package/src/Atom/Icon/images/chevron-up.svg +1 -0
  132. package/src/Atom/Icon/images/clock.svg +1 -0
  133. package/src/Atom/Icon/images/close.svg +1 -0
  134. package/src/Atom/Icon/images/collapse.svg +1 -0
  135. package/src/Atom/Icon/images/controls.svg +1 -0
  136. package/src/Atom/Icon/images/download.svg +1 -0
  137. package/src/Atom/Icon/images/drupal.svg +3 -0
  138. package/src/Atom/Icon/images/email.svg +1 -0
  139. package/src/Atom/Icon/images/error.svg +1 -0
  140. package/src/Atom/Icon/images/expand.svg +1 -0
  141. package/src/Atom/Icon/images/external-link.svg +1 -0
  142. package/src/Atom/Icon/images/facebook.svg +1 -0
  143. package/src/Atom/Icon/images/file.svg +1 -0
  144. package/src/Atom/Icon/images/globe.svg +1 -0
  145. package/src/Atom/Icon/images/google.svg +1 -0
  146. package/src/Atom/Icon/images/heart-selected.svg +1 -0
  147. package/src/Atom/Icon/images/heart-unselected.svg +1 -0
  148. package/src/Atom/Icon/images/home.svg +1 -0
  149. package/src/Atom/Icon/images/image.svg +1 -0
  150. package/src/Atom/Icon/images/info.svg +1 -0
  151. package/src/Atom/Icon/images/instagram.svg +1 -0
  152. package/src/Atom/Icon/images/link.svg +1 -0
  153. package/src/Atom/Icon/images/linkedin.svg +1 -0
  154. package/src/Atom/Icon/images/list.svg +1 -0
  155. package/src/Atom/Icon/images/lock.svg +1 -0
  156. package/src/Atom/Icon/images/login.svg +1 -0
  157. package/src/Atom/Icon/images/mastodon.svg +3 -0
  158. package/src/Atom/Icon/images/media-next.svg +1 -0
  159. package/src/Atom/Icon/images/media-pause.svg +1 -0
  160. package/src/Atom/Icon/images/media-play.svg +1 -0
  161. package/src/Atom/Icon/images/media-previous.svg +1 -0
  162. package/src/Atom/Icon/images/media-rewind.svg +1 -0
  163. package/src/Atom/Icon/images/media-skip.svg +1 -0
  164. package/src/Atom/Icon/images/media-stop.svg +1 -0
  165. package/src/Atom/Icon/images/menu.svg +1 -0
  166. package/src/Atom/Icon/images/more.svg +1 -0
  167. package/src/Atom/Icon/images/notification.svg +1 -0
  168. package/src/Atom/Icon/images/pencil.svg +1 -0
  169. package/src/Atom/Icon/images/phone.svg +1 -0
  170. package/src/Atom/Icon/images/pin.svg +1 -0
  171. package/src/Atom/Icon/images/print.svg +1 -0
  172. package/src/Atom/Icon/images/question.svg +1 -0
  173. package/src/Atom/Icon/images/restart.svg +1 -0
  174. package/src/Atom/Icon/images/search.svg +1 -0
  175. package/src/Atom/Icon/images/settings.svg +1 -0
  176. package/src/Atom/Icon/images/share.svg +1 -0
  177. package/src/Atom/Icon/images/star-selected.svg +1 -0
  178. package/src/Atom/Icon/images/star-unselected.svg +1 -0
  179. package/src/Atom/Icon/images/success.svg +1 -0
  180. package/src/Atom/Icon/images/tick.svg +1 -0
  181. package/src/Atom/Icon/images/trash.svg +1 -0
  182. package/src/Atom/Icon/images/twitter.svg +1 -0
  183. package/src/Atom/Icon/images/user.svg +1 -0
  184. package/src/Atom/Icon/images/video.svg +1 -0
  185. package/src/Atom/Icon/images/warning.svg +1 -0
  186. package/src/Atom/Icon/images/youtube.svg +1 -0
  187. package/src/Atom/Image/Image.stories.ts +20 -0
  188. package/src/Atom/Image/__snapshots__/Image.stories.ts.snap +9 -0
  189. package/src/Atom/Image/_image.css +29 -0
  190. package/src/Atom/Image/image.twig +13 -0
  191. package/src/Atom/Link/Link.stories.ts +37 -0
  192. package/src/Atom/Link/Link.stories.tsx +30 -0
  193. package/src/Atom/Link/Link.tsx +38 -0
  194. package/src/Atom/Link/__snapshots__/Link.stories.ts.snap +17 -0
  195. package/src/Atom/Link/__snapshots__/Link.stories.tsx.snap +25 -0
  196. package/src/Atom/Link/_links.css +39 -0
  197. package/src/Atom/Link/link.twig +12 -0
  198. package/src/Atom/Media/Media.stories.ts +26 -0
  199. package/src/Atom/Media/Media.stories.tsx +25 -0
  200. package/src/Atom/Media/Media.tsx +42 -0
  201. package/src/Atom/Media/__snapshots__/Media.stories.ts.snap +14 -0
  202. package/src/Atom/Media/__snapshots__/Media.stories.tsx.snap +18 -0
  203. package/src/Atom/Media/_media.css +40 -0
  204. package/src/Atom/Media/media.twig +18 -0
  205. package/src/Atom/NavList/NavList.stories.ts +15 -0
  206. package/src/Atom/NavList/__snapshots__/NavList.stories.ts.snap +43 -0
  207. package/src/Atom/NavList/nav-list.css +29 -0
  208. package/src/Atom/NavList/nav-list.twig +25 -0
  209. package/src/Atom/README.md +5 -0
  210. package/src/Atom/Spacing/Spacing.stories.ts +48 -0
  211. package/src/Atom/Spacing/__snapshots__/Spacing.stories.ts.snap +8 -0
  212. package/src/Atom/Spacing/_spacing.css +36 -0
  213. package/src/Atom/Spacing/spacing.twig +3 -0
  214. package/src/Atom/Table/Table.stories.ts +39 -0
  215. package/src/Atom/Table/TableResponsive.stories.ts +16 -0
  216. package/src/Atom/Table/__snapshots__/Table.stories.ts.snap +261 -0
  217. package/src/Atom/Table/__snapshots__/TableResponsive.stories.ts.snap +68 -0
  218. package/src/Atom/Table/_table.css +72 -0
  219. package/src/Atom/Table/table-responsive.twig +32 -0
  220. package/src/Atom/Table/table.twig +30 -0
  221. package/src/Atom/Text/Text.stories.tsx +20 -0
  222. package/src/Atom/Text/Text.tsx +26 -0
  223. package/src/Atom/Text/TextSizes.stories.ts +25 -0
  224. package/src/Atom/Text/__snapshots__/Text.stories.tsx.snap +7 -0
  225. package/src/Atom/Text/__snapshots__/TextSizes.stories.ts.snap +63 -0
  226. package/src/Atom/Text/_text-align.css +13 -0
  227. package/src/Atom/Text/_text-sizes.css +117 -0
  228. package/src/Atom/Text/text-alignment.twig +5 -0
  229. package/src/Atom/Text/text-style.twig +1 -0
  230. package/src/Atom/Text/text-styles-example.twig +35 -0
  231. package/src/Atom/Video/Video.stories.ts +16 -0
  232. package/src/Atom/Video/Video.tsx +17 -0
  233. package/src/Atom/Video/__snapshots__/Video.stories.ts.snap +21 -0
  234. package/src/Atom/Video/_video.css +10 -0
  235. package/src/Atom/Video/video.twig +5 -0
  236. package/src/Atom/_animated.css +65 -0
  237. package/src/Atom/_base.css +62 -0
  238. package/src/Atom/_flow-legacy.css +48 -0
  239. package/src/Atom/_flow.css +53 -0
  240. package/src/Atom/_generic.css +93 -0
  241. package/src/Atom/_hr.css +10 -0
  242. package/src/Atom/_mixins.css +22 -0
  243. package/src/Atom/_print.css +20 -0
  244. package/src/Atom/base.css +5 -0
  245. package/src/Atom/images/external-link.svg +1 -0
  246. package/src/Component/Accordion/Accordion.stories.ts +51 -0
  247. package/src/Component/Accordion/Accordion.stories.tsx +22 -0
  248. package/src/Component/Accordion/Accordion.tsx +83 -0
  249. package/src/Component/Accordion/Elements/Accordion.ts +82 -0
  250. package/src/Component/Accordion/Elements/AccordionDiv.ts +83 -0
  251. package/src/Component/Accordion/Elements/AccordionGroup.ts +106 -0
  252. package/src/Component/Accordion/Elements/AccordionMobile.ts +47 -0
  253. package/src/Component/Accordion/README.md +45 -0
  254. package/src/Component/Accordion/__snapshots__/Accordion.stories.ts.snap +94 -0
  255. package/src/Component/Accordion/__snapshots__/Accordion.stories.tsx.snap +26 -0
  256. package/src/Component/Accordion/accordion-item.twig +18 -0
  257. package/src/Component/Accordion/accordion.css +107 -0
  258. package/src/Component/Accordion/accordion.twig +19 -0
  259. package/src/Component/Accordion/images/collapse.svg +1 -0
  260. package/src/Component/Accordion/images/expand.svg +1 -0
  261. package/src/Component/Accordion/twig/accordion-div.twig +13 -0
  262. package/src/Component/Accordion/twig/accordion-example.twig +36 -0
  263. package/src/Component/Accordion/twig/accordion-mobile.twig +15 -0
  264. package/src/Component/Accordion/twig/accordion-story.twig +13 -0
  265. package/src/Component/Author/Author.stories.tsx +18 -0
  266. package/src/Component/Author/Author.tsx +30 -0
  267. package/src/Component/Author/__snapshots__/Author.stories.tsx.snap +21 -0
  268. package/src/Component/Breadcrumb/Breadcrumb.stories.ts +15 -0
  269. package/src/Component/Breadcrumb/Breadcrumb.stories.tsx +38 -0
  270. package/src/Component/Breadcrumb/Breadcrumb.tsx +34 -0
  271. package/src/Component/Breadcrumb/__snapshots__/Breadcrumb.stories.ts.snap +26 -0
  272. package/src/Component/Breadcrumb/__snapshots__/Breadcrumb.stories.tsx.snap +60 -0
  273. package/src/Component/Breadcrumb/breadcrumb.css +46 -0
  274. package/src/Component/Breadcrumb/breadcrumb.twig +12 -0
  275. package/src/Component/Callout/Callout.stories.ts +29 -0
  276. package/src/Component/Callout/callout.css +7 -0
  277. package/src/Component/Callout/callout.twig +10 -0
  278. package/src/Component/Callout/twig/callout-story.twig +11 -0
  279. package/src/Component/Card/CHANGELOG.md +187 -0
  280. package/src/Component/Card/Card.stories.ts +106 -0
  281. package/src/Component/Card/Card.stories.tsx +50 -0
  282. package/src/Component/Card/Card.tsx +56 -0
  283. package/src/Component/Card/README.md +21 -0
  284. package/src/Component/Card/__snapshots__/Card.stories.ts.snap +186 -0
  285. package/src/Component/Card/__snapshots__/Card.stories.tsx.snap +88 -0
  286. package/src/Component/Card/__snapshots__/CardGrid.stories.ts.snap +89 -0
  287. package/src/Component/Card/card-grid.twig +10 -0
  288. package/src/Component/Card/card.css +128 -0
  289. package/src/Component/Card/card.twig +45 -0
  290. package/src/Component/Card/twig/old-card.twig +17 -0
  291. package/src/Component/Card/twig/story-card.twig +29 -0
  292. package/src/Component/ContentBlock/ContentBlock.stories.ts +15 -0
  293. package/src/Component/ContentBlock/ContentBlock.stories.tsx +30 -0
  294. package/src/Component/ContentBlock/ContentBlock.tsx +37 -0
  295. package/src/Component/ContentBlock/README.md +21 -0
  296. package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.ts.snap +26 -0
  297. package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.tsx.snap +21 -0
  298. package/src/Component/ContentBlock/content-block.css +21 -0
  299. package/src/Component/ContentBlock/content-block.twig +12 -0
  300. package/src/Component/ContentBlock/twig/content-block-example.twig +7 -0
  301. package/src/Component/Dialog/Dialog.stories.ts +28 -0
  302. package/src/Component/Dialog/Dialog.stories.tsx +45 -0
  303. package/src/Component/Dialog/Dialog.tsx +79 -0
  304. package/src/Component/Dialog/Elements/Dialog.ts +145 -0
  305. package/src/Component/Dialog/README.md +63 -0
  306. package/src/Component/Dialog/__snapshots__/Dialog.stories.ts.snap +85 -0
  307. package/src/Component/Dialog/__snapshots__/Dialog.stories.tsx.snap +39 -0
  308. package/src/Component/Dialog/dialog.css +85 -0
  309. package/src/Component/Dialog/dialog.twig +19 -0
  310. package/src/Component/DropMenu/Components/DropMenuContext.tsx +192 -0
  311. package/src/Component/DropMenu/Components/DropMenuItem.tsx +35 -0
  312. package/src/Component/DropMenu/DropMenu.stories.ts +36 -0
  313. package/src/Component/DropMenu/DropMenu.stories.tsx +24 -0
  314. package/src/Component/DropMenu/DropMenu.tsx +81 -0
  315. package/src/Component/DropMenu/Elements/DropMenu.ts +172 -0
  316. package/src/Component/DropMenu/README.md +11 -0
  317. package/src/Component/DropMenu/__snapshots__/DropMenu.stories.ts.snap +32 -0
  318. package/src/Component/DropMenu/__snapshots__/DropMenu.stories.tsx.snap +47 -0
  319. package/src/Component/DropMenu/drop-menu.css +68 -0
  320. package/src/Component/DropMenu/drop-menu.twig +27 -0
  321. package/src/Component/DropMenu/polyfills.js +28 -0
  322. package/src/Component/HeroBanner/HeroBanner.stories.ts +75 -0
  323. package/src/Component/HeroBanner/HeroBanner.stories.tsx +30 -0
  324. package/src/Component/HeroBanner/HeroBanner.tsx +50 -0
  325. package/src/Component/HeroBanner/__snapshots__/PageTitle.stories.ts.snap +31 -0
  326. package/src/Component/HeroBanner/__snapshots__/PageTitle.stories.tsx.snap +36 -0
  327. package/src/Component/HeroBanner/hero-banner.css +51 -0
  328. package/src/Component/HeroBanner/hero-banner.twig +41 -0
  329. package/src/Component/HeroBanner/twig/hero-banner-story.twig +19 -0
  330. package/src/Component/InPageAlert/Elements/InPageAlert.ts +87 -0
  331. package/src/Component/InPageAlert/InPageAlert.stories.ts +35 -0
  332. package/src/Component/InPageAlert/InPageAlert.stories.tsx +43 -0
  333. package/src/Component/InPageAlert/InPageAlert.tsx +50 -0
  334. package/src/Component/InPageAlert/README.md +27 -0
  335. package/src/Component/InPageAlert/__snapshots__/InPageAlert.stories.ts.snap +43 -0
  336. package/src/Component/InPageAlert/__snapshots__/InPageAlert.stories.tsx.snap +69 -0
  337. package/src/Component/InPageAlert/in-page-alert.css +89 -0
  338. package/src/Component/InPageAlert/in-page-alert.twig +18 -0
  339. package/src/Component/InPageNavigation/Elements/InPageNavigation.ts +125 -0
  340. package/src/Component/InPageNavigation/Hooks/useInPageNavigation.ts +45 -0
  341. package/src/Component/InPageNavigation/InPageNavigation.stories.ts +16 -0
  342. package/src/Component/InPageNavigation/InPageNavigation.stories.tsx +86 -0
  343. package/src/Component/InPageNavigation/InPageNavigation.tsx +38 -0
  344. package/src/Component/InPageNavigation/README.md +30 -0
  345. package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.ts.snap +73 -0
  346. package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.tsx.snap +149 -0
  347. package/src/Component/InPageNavigation/in-page-navigation.css +17 -0
  348. package/src/Component/InPageNavigation/in-page-navigation.twig +17 -0
  349. package/src/Component/InPageNavigation/twig/in-page-navigation-content-example.twig +16 -0
  350. package/src/Component/InPageNavigation/twig/in-page-navigation-menu-example.twig +6 -0
  351. package/src/Component/LinkList/LinkList.stories.ts +29 -0
  352. package/src/Component/LinkList/LinkList.stories.tsx +29 -0
  353. package/src/Component/LinkList/LinkList.tsx +43 -0
  354. package/src/Component/LinkList/README.md +19 -0
  355. package/src/Component/LinkList/__snapshots__/LinkList.stories.ts.snap +58 -0
  356. package/src/Component/LinkList/__snapshots__/LinkList.stories.tsx.snap +53 -0
  357. package/src/Component/LinkList/link-list.css +68 -0
  358. package/src/Component/LinkList/link-list.twig +12 -0
  359. package/src/Component/ListItem/Teaser.stories.tsx +34 -0
  360. package/src/Component/ListItem/Teaser.tsx +54 -0
  361. package/src/Component/ListItem/__snapshots__/Teaser.stories.tsx.snap +32 -0
  362. package/src/Component/Navigation/Collapsible.stories.ts +16 -0
  363. package/src/Component/Navigation/Components/DropdownLevel.tsx +107 -0
  364. package/src/Component/Navigation/Dropdown.stories.ts +16 -0
  365. package/src/Component/Navigation/Dropdown.stories.tsx +46 -0
  366. package/src/Component/Navigation/Dropdown.tsx +39 -0
  367. package/src/Component/Navigation/Elements/Navigation.ts +174 -0
  368. package/src/Component/Navigation/MegaNav.stories.ts +16 -0
  369. package/src/Component/Navigation/Navigation.stories.ts +15 -0
  370. package/src/Component/Navigation/Navigation.stories.tsx +40 -0
  371. package/src/Component/Navigation/Navigation.tsx +51 -0
  372. package/src/Component/Navigation/README.md +17 -0
  373. package/src/Component/Navigation/__snapshots__/Collapsible.stories.ts.snap +123 -0
  374. package/src/Component/Navigation/__snapshots__/Dropdown.stories.ts.snap +125 -0
  375. package/src/Component/Navigation/__snapshots__/Dropdown.stories.tsx.snap +39 -0
  376. package/src/Component/Navigation/__snapshots__/Navigation.stories.ts.snap +25 -0
  377. package/src/Component/Navigation/__snapshots__/Navigation.stories.tsx.snap +61 -0
  378. package/src/Component/Navigation/_navigation-collapsible.css +72 -0
  379. package/src/Component/Navigation/_navigation-dropdown.css +152 -0
  380. package/src/Component/Navigation/_navigation-mega.css +51 -0
  381. package/src/Component/Navigation/_navigation.css +55 -0
  382. package/src/Component/Navigation/navigation-collapsible.twig +7 -0
  383. package/src/Component/Navigation/navigation-dropdown.twig +7 -0
  384. package/src/Component/Navigation/navigation-mega-nav.twig +7 -0
  385. package/src/Component/Navigation/navigation.css +4 -0
  386. package/src/Component/Navigation/navigation.twig +9 -0
  387. package/src/Component/Navigation/twig/navigation-subnav-list.twig +108 -0
  388. package/src/Component/Pagination/Components/PaginationContext.tsx +188 -0
  389. package/src/Component/Pagination/Components/PaginationItem.tsx +48 -0
  390. package/src/Component/Pagination/Pagination.stories.ts +15 -0
  391. package/src/Component/Pagination/Pagination.stories.tsx +25 -0
  392. package/src/Component/Pagination/Pagination.tsx +75 -0
  393. package/src/Component/Pagination/README.md +19 -0
  394. package/src/Component/Pagination/__snapshots__/Pagination.stories.ts.snap +58 -0
  395. package/src/Component/Pagination/__snapshots__/Pagination.stories.tsx.snap +57 -0
  396. package/src/Component/Pagination/pagination.css +112 -0
  397. package/src/Component/Pagination/pagination.twig +44 -0
  398. package/src/Component/SocialShare/SocialShare.stories.tsx +26 -0
  399. package/src/Component/SocialShare/SocialShare.tsx +53 -0
  400. package/src/Component/SocialShare/__snapshots__/SocialShare.stories.tsx.snap +25 -0
  401. package/src/Component/Sticky/Elements/Sticky.ts +93 -0
  402. package/src/Component/Sticky/README.md +23 -0
  403. package/src/Component/Sticky/Sticky.stories.ts +16 -0
  404. package/src/Component/Sticky/Sticky.stories.tsx +14 -0
  405. package/src/Component/Sticky/Sticky.tsx +34 -0
  406. package/src/Component/Sticky/__snapshots__/Sticky.stories.ts.snap +86 -0
  407. package/src/Component/Sticky/__snapshots__/Sticky.stories.tsx.snap +11 -0
  408. package/src/Component/Sticky/sticky.css +39 -0
  409. package/src/Component/Sticky/sticky.twig +21 -0
  410. package/src/Component/Sticky/twig/sticky-example.twig +4 -0
  411. package/src/Component/Tabs/Components/Tab.tsx +45 -0
  412. package/src/Component/Tabs/Components/TabDropMenu.tsx +14 -0
  413. package/src/Component/Tabs/Components/TabList.tsx +9 -0
  414. package/src/Component/Tabs/Components/TabPanel.tsx +32 -0
  415. package/src/Component/Tabs/Elements/Tabs.ts +213 -0
  416. package/src/Component/Tabs/README.md +23 -0
  417. package/src/Component/Tabs/Tabs.stories.ts +22 -0
  418. package/src/Component/Tabs/Tabs.stories.tsx +51 -0
  419. package/src/Component/Tabs/Tabs.tsx +100 -0
  420. package/src/Component/Tabs/__snapshots__/Tabs.stories.ts.snap +144 -0
  421. package/src/Component/Tabs/__snapshots__/Tabs.stories.tsx.snap +120 -0
  422. package/src/Component/Tabs/tabs.css +103 -0
  423. package/src/Component/Tabs/tabs.twig +49 -0
  424. package/src/Component/Tabs/twig/panel.twig +5 -0
  425. package/src/Component/Tabs/twig/tab-list.twig +26 -0
  426. package/src/Component/Tag/README.md +19 -0
  427. package/src/Component/Tag/Tag.stories.ts +54 -0
  428. package/src/Component/Tag/Tag.stories.tsx +13 -0
  429. package/src/Component/Tag/Tag.tsx +19 -0
  430. package/src/Component/Tag/__snapshots__/Tag.stories.ts.snap +64 -0
  431. package/src/Component/Tag/__snapshots__/Tag.stories.tsx.snap +7 -0
  432. package/src/Component/Tag/tag.css +57 -0
  433. package/src/Component/Tag/tags.twig +23 -0
  434. package/src/Component/Tile/README.md +3 -0
  435. package/src/Component/Tile/Tile.stories.ts +23 -0
  436. package/src/Component/Tile/Tile.stories.tsx +30 -0
  437. package/src/Component/Tile/Tile.tsx +40 -0
  438. package/src/Component/Tile/__snapshots__/Tile.stories.ts.snap +83 -0
  439. package/src/Component/Tile/__snapshots__/Tile.stories.tsx.snap +38 -0
  440. package/src/Component/Tile/tile.twig +10 -0
  441. package/src/Component/Tile/tiles.css +58 -0
  442. package/src/Component/Tile/twig/tiles.twig +18 -0
  443. package/src/Form/Checkbox/Checkboxes.stories.ts +47 -0
  444. package/src/Form/Checkbox/FormCheckbox.stories.tsx +32 -0
  445. package/src/Form/Checkbox/FormCheckbox.tsx +124 -0
  446. package/src/Form/Checkbox/__snapshots__/Checkboxes.stories.ts.snap +115 -0
  447. package/src/Form/Checkbox/input-checkbox-single.twig +6 -0
  448. package/src/Form/Checkbox/input-checkbox.twig +24 -0
  449. package/src/Form/Description/Description.stories.ts +16 -0
  450. package/src/Form/Description/ErrorMessage.stories.ts +16 -0
  451. package/src/Form/Description/FormDescription.stories.tsx +14 -0
  452. package/src/Form/Description/FormDescription.tsx +28 -0
  453. package/src/Form/Description/__snapshots__/Description.stories.ts.snap +17 -0
  454. package/src/Form/Description/__snapshots__/ErrorMessage.stories.ts.snap +20 -0
  455. package/src/Form/Description/__snapshots__/FormDescription.stories.tsx.snap +10 -0
  456. package/src/Form/Description/form-description.twig +3 -0
  457. package/src/Form/Description/form-error.twig +5 -0
  458. package/src/Form/Fieldset/Fieldset.stories.ts +34 -0
  459. package/src/Form/Fieldset/__snapshots__/Fieldset.stories.ts.snap +23 -0
  460. package/src/Form/Fieldset/fieldset.twig +4 -0
  461. package/src/Form/Form/Form.stories.tsx +10 -0
  462. package/src/Form/Form/Form.tsx +9 -0
  463. package/src/Form/Form/FormTitle.stories.tsx +14 -0
  464. package/src/Form/Form/FormTitle.tsx +12 -0
  465. package/src/Form/Form/__snapshots__/Form.stories.tsx.snap +6 -0
  466. package/src/Form/Form/__snapshots__/FormTitle.stories.tsx.snap +9 -0
  467. package/src/Form/Form/twig/form-example.twig +13 -0
  468. package/src/Form/Item/FormItem.stories.tsx +58 -0
  469. package/src/Form/Item/FormItem.tsx +26 -0
  470. package/src/Form/Item/__snapshots__/FormItem.stories.tsx.snap +102 -0
  471. package/src/Form/Label/FormLabel.stories.tsx +20 -0
  472. package/src/Form/Label/FormLabel.tsx +19 -0
  473. package/src/Form/Label/Label.stories.ts +34 -0
  474. package/src/Form/Label/__snapshots__/FormLabel.stories.tsx.snap +16 -0
  475. package/src/Form/Label/__snapshots__/Label.stories.ts.snap +23 -0
  476. package/src/Form/Label/label.twig +2 -0
  477. package/src/Form/README.md +11 -0
  478. package/src/Form/Radio/FormRadio.stories.tsx +37 -0
  479. package/src/Form/Radio/FormRadio.tsx +80 -0
  480. package/src/Form/Radio/Radios.stories.ts +47 -0
  481. package/src/Form/Radio/__snapshots__/Radios.stories.ts.snap +125 -0
  482. package/src/Form/Radio/input-radio.twig +24 -0
  483. package/src/Form/Search/TextInputWithInlineButton.stories.ts +16 -0
  484. package/src/Form/Search/__snapshots__/TextInputWithInlineButton.stories.ts.snap +26 -0
  485. package/src/Form/Search/input-text-inline-submit.twig +8 -0
  486. package/src/Form/Select/FormSelect.stories.tsx +34 -0
  487. package/src/Form/Select/FormSelect.tsx +67 -0
  488. package/src/Form/Select/Select.stories.ts +40 -0
  489. package/src/Form/Select/__snapshots__/FormSelect.stories.tsx.snap +23 -0
  490. package/src/Form/Select/__snapshots__/Select.stories.ts.snap +148 -0
  491. package/src/Form/Select/select.twig +16 -0
  492. package/src/Form/TextInput/FormText.stories.tsx +15 -0
  493. package/src/Form/TextInput/FormText.tsx +55 -0
  494. package/src/Form/TextInput/InputDivider.stories.ts +16 -0
  495. package/src/Form/TextInput/TextInput.stories.ts +57 -0
  496. package/src/Form/TextInput/TextInputWithIcon.stories.ts +40 -0
  497. package/src/Form/TextInput/__snapshots__/FormText.stories.tsx.snap +13 -0
  498. package/src/Form/TextInput/__snapshots__/InputDivider.stories.ts.snap +32 -0
  499. package/src/Form/TextInput/__snapshots__/TextInput.stories.ts.snap +101 -0
  500. package/src/Form/TextInput/__snapshots__/TextInputWithIcon.stories.ts.snap +67 -0
  501. package/src/Form/TextInput/input-divider.twig +11 -0
  502. package/src/Form/TextInput/input-text-icon.twig +7 -0
  503. package/src/Form/TextInput/input-text.twig +5 -0
  504. package/src/Form/Textarea/FormTextarea.stories.tsx +14 -0
  505. package/src/Form/Textarea/FormTextarea.tsx +53 -0
  506. package/src/Form/Textarea/Textarea.stories.ts +16 -0
  507. package/src/Form/Textarea/__snapshots__/FormTextarea.stories.tsx.snap +12 -0
  508. package/src/Form/Textarea/__snapshots__/Textarea.stories.ts.snap +19 -0
  509. package/src/Form/Textarea/textarea.twig +5 -0
  510. package/src/Form/form.css +479 -0
  511. package/src/Form/images/checkmark.svg +1 -0
  512. package/src/Form/images/form-chevron-down.svg +1 -0
  513. package/src/Form/images/form-error.svg +1 -0
  514. package/src/Form/images/form-success.svg +1 -0
  515. package/src/Layout/Footer/Footer.stories.ts +15 -0
  516. package/src/Layout/Footer/Footer.stories.tsx +42 -0
  517. package/src/Layout/Footer/Footer.tsx +55 -0
  518. package/src/Layout/Footer/FooterMenu/FooterMenu.stories.ts +15 -0
  519. package/src/Layout/Footer/FooterMenu/__snapshots__/FooterMenu.stories.ts.snap +101 -0
  520. package/src/Layout/Footer/FooterMenu/footer-menu.css +29 -0
  521. package/src/Layout/Footer/FooterMenu/footer-menu.twig +5 -0
  522. package/src/Layout/Footer/__snapshots__/Footer.stories.ts.snap +139 -0
  523. package/src/Layout/Footer/__snapshots__/Footer.stories.tsx.snap +70 -0
  524. package/src/Layout/Footer/footer.css +54 -0
  525. package/src/Layout/Footer/footer.twig +25 -0
  526. package/src/Layout/Grid/Grid.stories.ts +68 -0
  527. package/src/Layout/Grid/Grid.stories.tsx +125 -0
  528. package/src/Layout/Grid/Grid.tsx +51 -0
  529. package/src/Layout/Grid/__snapshots__/Grid.stories.ts.snap +103 -0
  530. package/src/Layout/Grid/__snapshots__/Grid.stories.tsx.snap +67 -0
  531. package/src/Layout/Grid/container-grid.css +190 -0
  532. package/src/Layout/Grid/grid-item.twig +16 -0
  533. package/src/Layout/Grid/grid.css +190 -0
  534. package/src/Layout/Grid/grid.twig +10 -0
  535. package/src/Layout/Grid/twig/container-grid-dynamic.twig +47 -0
  536. package/src/Layout/Grid/twig/container-grid.twig +46 -0
  537. package/src/Layout/Grid/twig/grid-story.twig +6 -0
  538. package/src/Layout/Grid/twig/old-grid.twig +46 -0
  539. package/src/Layout/Header/Components/GlobalToggle.tsx +35 -0
  540. package/src/Layout/Header/Components/Logo.tsx +17 -0
  541. package/src/Layout/Header/Elements/GlobalToggle.ts +137 -0
  542. package/src/Layout/Header/Header.stories.ts +18 -0
  543. package/src/Layout/Header/Header.stories.tsx +17 -0
  544. package/src/Layout/Header/Header.tsx +73 -0
  545. package/src/Layout/Header/Stacked/Stacked.stories.ts +16 -0
  546. package/src/Layout/Header/Stacked/__snapshots__/Stacked.stories.ts.snap +353 -0
  547. package/src/Layout/Header/Stacked/header-stacked.twig +33 -0
  548. package/src/Layout/Header/__snapshots__/Header.stories.ts.snap +157 -0
  549. package/src/Layout/Header/__snapshots__/Header.stories.tsx.snap +55 -0
  550. package/src/Layout/Header/_header.css +89 -0
  551. package/src/Layout/Header/_toggles.css +31 -0
  552. package/src/Layout/Header/header.css +2 -0
  553. package/src/Layout/Header/header.twig +24 -0
  554. package/src/Layout/Header/twig/global-header.twig +4 -0
  555. package/src/Layout/Header/twig/logo.twig +3 -0
  556. package/src/Layout/Masthead/Masthead.stories.ts +16 -0
  557. package/src/Layout/Masthead/__snapshots__/Masthead.stories.ts.snap +32 -0
  558. package/src/Layout/Masthead/masthead.css +36 -0
  559. package/src/Layout/Masthead/masthead.twig +10 -0
  560. package/src/Layout/Page/Page.stories.tsx +22 -0
  561. package/src/Layout/Page/Page.tsx +16 -0
  562. package/src/Layout/Page/README.md +19 -0
  563. package/src/Layout/Page/__snapshots__/Page.stories.tsx.snap +80 -0
  564. package/src/Layout/Page/page.css +150 -0
  565. package/src/Layout/Page/page.twig +3 -0
  566. package/src/Layout/README.md +19 -0
  567. package/src/Layout/Section/Background.stories.ts +25 -0
  568. package/src/Layout/Section/Breakouts.stories.ts +16 -0
  569. package/src/Layout/Section/Flow.stories.ts +16 -0
  570. package/src/Layout/Section/Section.stories.ts +63 -0
  571. package/src/Layout/Section/Section.stories.tsx +56 -0
  572. package/src/Layout/Section/Section.tsx +83 -0
  573. package/src/Layout/Section/SectionGrid.stories.tsx +53 -0
  574. package/src/Layout/Section/SectionGrid.tsx +71 -0
  575. package/src/Layout/Section/__snapshots__/Section.stories.ts.snap +19 -0
  576. package/src/Layout/Section/__snapshots__/Section.stories.tsx.snap +37 -0
  577. package/src/Layout/Section/__snapshots__/SectionBackground.stories.ts.snap +55 -0
  578. package/src/Layout/Section/__snapshots__/SectionGrid.stories.tsx.snap +37 -0
  579. package/src/Layout/Section/__snapshots__/SectionsBreakouts.stories.ts.snap +78 -0
  580. package/src/Layout/Section/__snapshots__/SectionsFlowsGroups.stories.ts.snap +89 -0
  581. package/src/Layout/Section/section.css +156 -0
  582. package/src/Layout/Section/section.twig +25 -0
  583. package/src/Layout/Section/twig/section-background.twig +12 -0
  584. package/src/Layout/Section/twig/section-story.twig +14 -0
  585. package/src/Layout/Section/twig/sections-breakout.twig +38 -0
  586. package/src/Layout/Section/twig/sections-flow.twig +51 -0
  587. package/src/Layout/Section/twig/sections-stacked.twig +28 -0
  588. package/src/Layout/Sidebar/Sidebar.stories.ts +35 -0
  589. package/src/Layout/Sidebar/Sidebar.stories.tsx +33 -0
  590. package/src/Layout/Sidebar/Sidebar.tsx +34 -0
  591. package/src/Layout/Sidebar/__snapshots__/Sidebar.stories.ts.snap +40 -0
  592. package/src/Layout/Sidebar/__snapshots__/Sidebar.stories.tsx.snap +47 -0
  593. package/src/Layout/Sidebar/sidebar.css +69 -0
  594. package/src/Layout/Sidebar/sidebar.twig +17 -0
  595. package/src/Layout/images/mixtape-logo.png +0 -0
  596. package/src/Utility/Context/ImageComponent.tsx +49 -0
  597. package/src/Utility/Context/LinkComponent.tsx +57 -0
  598. package/src/Utility/Drupal/README.md +9 -0
  599. package/src/Utility/Drupal/drupal.css +66 -0
  600. package/src/Utility/Drupal/twig/local-tasks.twig +17 -0
  601. package/src/Utility/Drupal/twig/login-form.twig +22 -0
  602. package/src/Utility/Elements/breakpoint-loader.ts +79 -0
  603. package/src/Utility/Elements/cookie-compliance.ts +174 -0
  604. package/src/Utility/Elements/disclosure-widget.ts +173 -0
  605. package/src/Utility/Elements/io-loader.ts +57 -0
  606. package/src/Utility/Elements/keyboard.ts +150 -0
  607. package/src/Utility/Hooks/useLocalStorage.ts +78 -0
  608. package/src/Utility/Hooks/useMediaQuery.ts +31 -0
  609. package/src/Utility/Hooks/useToggle.ts +17 -0
  610. package/src/Utility/Hooks/useUrlParams.ts +24 -0
  611. package/src/Utility/README.md +15 -0
  612. package/src/Utility/_layout-utils.css +78 -0
  613. package/src/Utility/global.d.ts +25 -0
  614. package/src/Utility/utilities.css +88 -0
  615. package/src/Utility/utilities.ts +163 -0
  616. package/src/_custom-media.css +33 -0
  617. package/src/constants.css +118 -0
  618. package/src/elements.ts +13 -0
  619. package/src/enums.ts +260 -0
  620. package/src/index.css +27 -0
  621. package/src/react.ts +68 -0
  622. package/src/tokens.js +119 -0
@@ -0,0 +1,30 @@
1
+ <table class="{{ modifier_class }}{% if modifier %} table--{{ modifier }}{% endif %}">
2
+ <thead>
3
+ <tr>
4
+ <th>Type</th>
5
+ <th>Desktop</th>
6
+ <th>Tablet</th>
7
+ <th>Mobile</th>
8
+ </tr>
9
+ </thead>
10
+ <tbody>
11
+ <tr>
12
+ <th>Columns</th>
13
+ <td>12</td>
14
+ <td>12</td>
15
+ <td>4</td>
16
+ </tr>
17
+ <tr>
18
+ <th>Gutter</th>
19
+ <td>32px</td>
20
+ <td>16px</td>
21
+ <td>16px</td>
22
+ </tr>
23
+ <tr>
24
+ <th>Max-width</th>
25
+ <td>1180px</td>
26
+ <td>1024px</td>
27
+ <td>~500px</td>
28
+ </tr>
29
+ </tbody>
30
+ </table>
@@ -0,0 +1,20 @@
1
+ import { Meta, StoryObj } from "@storybook/react"
2
+ import Component from "./Text"
3
+ import { TextStyles, TextTags } from "../../enums"
4
+
5
+ const meta: Meta<typeof Component> = {
6
+ title: "Atom/Typography/Text",
7
+ tags: ["autodocs"],
8
+ component: Component,
9
+ args: {
10
+ tag: TextTags.P,
11
+ children: "Text",
12
+ },
13
+ argTypes: {
14
+ modifier: { options: Object.values(TextStyles) },
15
+ tag: { options: Object.values(TextTags) },
16
+ },
17
+ }
18
+
19
+ export default meta
20
+ export const Text: StoryObj<typeof meta> = {}
@@ -0,0 +1,26 @@
1
+ import { JSX, PropsWithChildren } from "react"
2
+ import classNames from "classnames"
3
+ import { TextStyles, TextTags } from "../../enums"
4
+
5
+ type TextProps = PropsWithChildren & {
6
+ tag?: TextTags
7
+ modifier?: TextStyles
8
+ className?: string
9
+ }
10
+
11
+ const Text = ({
12
+ children,
13
+ tag = TextTags.P,
14
+ modifier = null,
15
+ className = null,
16
+ ...props
17
+ }: TextProps): JSX.Element => {
18
+ const Tag: JSX.ElementType = `${tag}` as unknown as JSX.ElementType
19
+ return (
20
+ <Tag className={classNames(modifier, className)} {...props}>
21
+ {children}
22
+ </Tag>
23
+ )
24
+ }
25
+
26
+ export default Text
@@ -0,0 +1,25 @@
1
+ import { Meta, StoryObj } from "@storybook/html"
2
+ import Component from "./text-style.twig"
3
+ import ExampleComponent from "./text-styles-example.twig"
4
+ import "../_base.css"
5
+ import { TextStyles } from "../../enums"
6
+
7
+ const meta: Meta<typeof Component> = {
8
+ title: "Atom/Typography/Text Sizes",
9
+ tags: ["autodocs"],
10
+ component: Component,
11
+ argTypes: {
12
+ modifier: { options: Object.values(TextStyles), control: "select" },
13
+ },
14
+ }
15
+
16
+ export default meta
17
+ type Story = StoryObj<typeof meta>
18
+
19
+ export const TextSizes: Story = {
20
+ args: {},
21
+ }
22
+
23
+ export const Example: Story = {
24
+ render: args => `${ExampleComponent(args)}`,
25
+ }
@@ -0,0 +1,7 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Base/Typography/Text Text smoke-test 1`] = `
4
+ <p class>
5
+ Text
6
+ </p>
7
+ `;
@@ -0,0 +1,63 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Base/Typography/Text Sizes Example smoke-test 1`] = `
4
+ <div class="vertical-flow">
5
+ <p class="text--embellished-headline">
6
+ Embelished headline: Lorem ipsum dolor sit amet consectetur
7
+ </p>
8
+ <p class="text--section-headline">
9
+ Section headline: Lorem ipsum dolor sit amet consectetur
10
+ </p>
11
+ <h2 class="headline">
12
+ Headline: Lorem ipsum dolor sit amet consectetur
13
+ </h2>
14
+ <p class="heading--xxl">
15
+ Heading xxl: Lorem ipsum dolor sit amet consectetur
16
+ </p>
17
+ <p class="heading--xl">
18
+ Heading xl: Lorem ipsum dolor sit amet consectetur
19
+ </p>
20
+ <p class="heading--l">
21
+ Heading l: Lorem ipsum dolor sit amet consectetur
22
+ </p>
23
+ <p class="heading--m">
24
+ Heading m: Lorem ipsum dolor sit amet consectetur
25
+ </p>
26
+ <p class="heading--s">
27
+ Heading s: Lorem ipsum dolor sit amet consectetur
28
+ </p>
29
+ <p class="heading--xs">
30
+ Heading xs: Lorem ipsum dolor sit amet consectetur
31
+ </p>
32
+ <p class="text--xxxl">
33
+ Text xxxl: Lorem ipsum dolor sit amet consectetur
34
+ </p>
35
+ <p class="text--xxl">
36
+ Text xxl: Lorem ipsum dolor sit amet consectetur
37
+ </p>
38
+ <p class="text--xl">
39
+ Text xl: Lorem ipsum dolor sit amet consectetur
40
+ </p>
41
+ <p class="text--l">
42
+ Text l: Lorem ipsum dolor sit amet consectetur
43
+ </p>
44
+ <p class="text--m">
45
+ Text m: Lorem ipsum dolor sit amet consectetur
46
+ </p>
47
+ <p>
48
+ Text: Lorem ipsum dolor sit amet consectetur
49
+ </p>
50
+ <p class="text--s">
51
+ Text s: Lorem ipsum dolor sit amet consectetur
52
+ </p>
53
+ <p class="text--xs">
54
+ Text xs: Lorem ipsum dolor sit amet consectetur
55
+ </p>
56
+ </div>
57
+ `;
58
+
59
+ exports[`Base/Typography/Text Sizes TextSizes smoke-test 1`] = `
60
+ <p class>
61
+ In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content (also called greeking). Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.
62
+ </p>
63
+ `;
@@ -0,0 +1,13 @@
1
+ @layer utlities {
2
+ .text--left {
3
+ text-align: start;
4
+ }
5
+
6
+ .text--right {
7
+ text-align: end;
8
+ }
9
+
10
+ .text--center {
11
+ text-align: center;
12
+ }
13
+ }
@@ -0,0 +1,117 @@
1
+ @layer utlities {
2
+ :is(
3
+ .text--section-headline,
4
+ .text--embellished-headline,
5
+ .text--lede,
6
+ .text--xs,
7
+ .text--s,
8
+ .text--m,
9
+ .text--l,
10
+ .text--xl,
11
+ .text--xxl,
12
+ .text--xxxl,
13
+ .text--fluid
14
+ ) {
15
+ font-size: var(--font-size);
16
+ }
17
+
18
+ @supports (font-size: 1cqi) {
19
+ :is(
20
+ .text--section-headline,
21
+ .text--lede,
22
+ .text--m,
23
+ .text--l,
24
+ .text--xl,
25
+ .text--xxl,
26
+ .text--xxxl,
27
+ .text--fluid
28
+ ) {
29
+ --font-min: calc(
30
+ var(--font-size) - var(--font-size) * var(--font-size-diff, 0.3)
31
+ );
32
+
33
+ font-size: clamp(
34
+ max(var(--base-font-size), var(--font-min)),
35
+ var(--font-min) + 1cqi,
36
+ var(--font-size)
37
+ );
38
+ }
39
+ }
40
+
41
+ .text--section-headline {
42
+ --font-size: var(--font-size-m);
43
+
44
+ font-weight: var(--heading-font-weight, var(--font-weight-bold));
45
+ font-family: var(--heading-font-family, var(--font-family));
46
+ line-height: var(--line-height-h);
47
+ color: var(--foreground, var(--colour-foreground-alt));
48
+ margin-block-start: 0;
49
+ text-wrap: balance;
50
+
51
+ & + :is(h2, h3) {
52
+ margin-block-start: var(--spacing-xxxxs) !important;
53
+ }
54
+ }
55
+
56
+ .text--embellished-headline {
57
+ --font-size: var(--font-size-s);
58
+
59
+ text-transform: uppercase;
60
+ position: relative;
61
+ font-weight: var(--heading-font-weight, var(--font-weight-bold));
62
+ font-family: var(--heading-font-family, var(--font-family));
63
+ line-height: var(--line-height-h);
64
+ margin-block: 0 var(--spacing-l);
65
+ text-wrap: balance;
66
+
67
+ &::after {
68
+ content: "";
69
+ display: block;
70
+ position: absolute;
71
+ inline-size: var(--spacing-xxxl);
72
+ block-size: 3px;
73
+ background-color: var(--colour-primary);
74
+ inset-block-start: var(--gap);
75
+ }
76
+ }
77
+
78
+ .text--lede {
79
+ --font-size: var(--font-size-sm);
80
+ }
81
+
82
+ .text--xxxl {
83
+ --font-size: var(--font-size-xxxl);
84
+
85
+ line-height: var(--line-height-h);
86
+ }
87
+
88
+ .text--xxl {
89
+ --font-size: var(--font-size-xxl);
90
+
91
+ line-height: var(--line-height-h);
92
+ }
93
+
94
+ .text--xl {
95
+ --font-size: var(--font-size-xl);
96
+
97
+ line-height: var(--line-height-h);
98
+ }
99
+
100
+ .text--l {
101
+ --font-size: var(--font-size-l);
102
+
103
+ line-height: var(--line-height-h);
104
+ }
105
+
106
+ .text--m {
107
+ --font-size: var(--font-size-m);
108
+ }
109
+
110
+ .text--s {
111
+ --font-size: var(--font-size-s);
112
+ }
113
+
114
+ .text--xs {
115
+ --font-size: var(--font-size-xs);
116
+ }
117
+ }
@@ -0,0 +1,5 @@
1
+ <p class="text--left">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed quam ex, ultricies vel commodo nec, porta vitae eros. Ut lacinia nunc augue. Duis eu scelerisque sapien.</p>
2
+
3
+ <p class="text--right">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed quam ex, ultricies vel commodo nec, porta vitae eros. Ut lacinia nunc augue. Duis eu scelerisque sapien.</p>
4
+
5
+ <p class="text--center">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed quam ex, ultricies vel commodo nec, porta vitae eros. Ut lacinia nunc augue. Duis eu scelerisque sapien.</p>
@@ -0,0 +1 @@
1
+ <p class="{{ modifier }}">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content (also called greeking). Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
@@ -0,0 +1,35 @@
1
+ <div class="vertical-flow">
2
+ <p class="text--embellished-headline">Embelished headline: Lorem ipsum dolor sit amet consectetur</p>
3
+
4
+ <p class="text--section-headline">Section headline: Lorem ipsum dolor sit amet consectetur</p>
5
+
6
+ <h2 class="headline">Headline: Lorem ipsum dolor sit amet consectetur</h2>
7
+
8
+ <p class="heading--xxl">Heading xxl: Lorem ipsum dolor sit amet consectetur</p>
9
+
10
+ <p class="heading--xl">Heading xl: Lorem ipsum dolor sit amet consectetur</p>
11
+
12
+ <p class="heading--l">Heading l: Lorem ipsum dolor sit amet consectetur</p>
13
+
14
+ <p class="heading--m">Heading m: Lorem ipsum dolor sit amet consectetur</p>
15
+
16
+ <p class="heading--s">Heading s: Lorem ipsum dolor sit amet consectetur</p>
17
+
18
+ <p class="heading--xs">Heading xs: Lorem ipsum dolor sit amet consectetur</p>
19
+
20
+ <p class="text--xxxl">Text xxxl: Lorem ipsum dolor sit amet consectetur</p>
21
+
22
+ <p class="text--xxl">Text xxl: Lorem ipsum dolor sit amet consectetur</p>
23
+
24
+ <p class="text--xl">Text xl: Lorem ipsum dolor sit amet consectetur</p>
25
+
26
+ <p class="text--l">Text l: Lorem ipsum dolor sit amet consectetur</p>
27
+
28
+ <p class="text--m">Text m: Lorem ipsum dolor sit amet consectetur</p>
29
+
30
+ <p>Text: Lorem ipsum dolor sit amet consectetur</p>
31
+
32
+ <p class="text--s">Text s: Lorem ipsum dolor sit amet consectetur</p>
33
+
34
+ <p class="text--xs">Text xs: Lorem ipsum dolor sit amet consectetur</p>
35
+ </div>
@@ -0,0 +1,16 @@
1
+ import { Meta, StoryObj } from "@storybook/html"
2
+ import Component from "./video.twig"
3
+ import "../_base.css"
4
+
5
+ const meta: Meta<typeof Component> = {
6
+ title: "Atom/Video",
7
+ tags: ["autodocs"],
8
+ component: Component,
9
+ }
10
+
11
+ export default meta
12
+ type Story = StoryObj<typeof meta>
13
+
14
+ export const Video: Story = {
15
+ args: {},
16
+ }
@@ -0,0 +1,17 @@
1
+ /* eslint-disable @eslint-react/dom/no-missing-iframe-sandbox */
2
+ import { JSX, ComponentPropsWithoutRef } from "react"
3
+ import classNames from "classnames"
4
+
5
+ type VideoProps = ComponentPropsWithoutRef<"iframe">
6
+
7
+ const Video = ({
8
+ title,
9
+ className = null,
10
+ ...props
11
+ }: VideoProps): JSX.Element => (
12
+ <figure className={classNames("video", className)}>
13
+ <iframe title={title} {...props} />
14
+ </figure>
15
+ )
16
+
17
+ export default Video
@@ -0,0 +1,21 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Base/Video Video smoke-test 1`] = `
4
+ <p>
5
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
6
+ </p>
7
+ <figure class="video">
8
+ <iframe title="Some video"
9
+ width="560"
10
+ height="315"
11
+ src="https://www.youtube.com/embed/NpEaa2P7qZI"
12
+ frameborder="0"
13
+ allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
14
+ allowfullscreen
15
+ >
16
+ </iframe>
17
+ </figure>
18
+ <p>
19
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
20
+ </p>
21
+ `;
@@ -0,0 +1,10 @@
1
+ @layer defaults {
2
+ .video {
3
+ &,
4
+ & :is(embed, object, iframe) {
5
+ aspect-ratio: 16 / 9;
6
+ block-size: 100%;
7
+ inline-size: 100%;
8
+ }
9
+ }
10
+ }
@@ -0,0 +1,5 @@
1
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
2
+ <figure class="video">
3
+ <iframe title="Some video" width="560" height="315" src="https://www.youtube.com/embed/NpEaa2P7qZI" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
4
+ </figure>
5
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
@@ -0,0 +1,65 @@
1
+ @layer utilities {
2
+ .animated--fade-in {
3
+ animation: fade-in 0.5s var(--ease);
4
+ }
5
+
6
+ .animated--fade-out {
7
+ animation: fade-out 0.5s var(--ease);
8
+ }
9
+
10
+ .animated--spin::before {
11
+ animation: spin 2s linear infinite;
12
+ }
13
+
14
+ .animated--scale-up {
15
+ animation: scale-up 0.5s var(--ease);
16
+ }
17
+
18
+ .animated--scale-down {
19
+ animation: scale-down 0.5s var(--ease);
20
+ }
21
+ }
22
+
23
+ @keyframes fade-in {
24
+ to {
25
+ opacity: 1;
26
+ }
27
+ }
28
+
29
+ @keyframes fade-out {
30
+ to {
31
+ opacity: 0;
32
+ }
33
+ }
34
+
35
+ @keyframes spin {
36
+ to {
37
+ transform: rotate(1turn);
38
+ }
39
+ }
40
+
41
+ @keyframes scale-up {
42
+ to {
43
+ transform: scale(1.25);
44
+ }
45
+ }
46
+
47
+ @keyframes scale-down {
48
+ to {
49
+ transform: scale(0.75);
50
+ }
51
+ }
52
+
53
+ @media (--reduce-motion) {
54
+ *,
55
+ ::before,
56
+ ::after {
57
+ animation-delay: -1ms !important;
58
+ animation-duration: 1ms !important;
59
+ animation-iteration-count: 1 !important;
60
+ background-attachment: initial !important;
61
+ scroll-behavior: auto !important;
62
+ transition-delay: 0s !important;
63
+ transition-duration: 0s !important;
64
+ }
65
+ }
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Atom
3
+ */
4
+
5
+ @import "_generic.css";
6
+ @import "_flow.css";
7
+
8
+ /**
9
+ * Typography
10
+ */
11
+
12
+ @import "./Heading/_headings.css";
13
+ @import "./Blockquote/_blockquote.css";
14
+ @import "_hr.css";
15
+
16
+ /**
17
+ * Links
18
+ */
19
+
20
+ @import "./Link/_links.css";
21
+
22
+ /**
23
+ * Text Sizes
24
+ */
25
+
26
+ @import "./Text/_text-sizes.css";
27
+ @import "./Text/_text-align.css";
28
+
29
+ /**
30
+ * Spacing
31
+ */
32
+
33
+ @import "./Spacing/_spacing.css";
34
+
35
+ /**
36
+ * Images
37
+ */
38
+
39
+ @import "./Image/_image.css";
40
+ @import "./Media/_media.css";
41
+
42
+ /**
43
+ * Video
44
+ */
45
+
46
+ @import "./Video/_video.css";
47
+
48
+ /**
49
+ * Table
50
+ */
51
+
52
+ /**
53
+ * Table Responsive
54
+ */
55
+
56
+ @import "./Table/_table.css";
57
+
58
+ /**
59
+ * Print Stylesheet
60
+ */
61
+
62
+ @import "_print.css";
@@ -0,0 +1,48 @@
1
+ @layer defaults {
2
+ * + h1 {
3
+ margin-block-start: var(--spacing-m);
4
+ }
5
+
6
+ * + h2 {
7
+ margin-block-start: var(--spacing-xl);
8
+ }
9
+
10
+ * + h3 {
11
+ margin-block-start: var(--spacing-l);
12
+ }
13
+
14
+ * + h4 {
15
+ margin-block-start: var(--spacing-l);
16
+ }
17
+
18
+ * + p {
19
+ margin-block-start: var(--spacing-m);
20
+
21
+ & + a {
22
+ margin-block-start: var(--spacing-s);
23
+ }
24
+
25
+ & + img {
26
+ margin-block-start: var(--spacing-m);
27
+ }
28
+ }
29
+
30
+ * + h5,
31
+ * + h6,
32
+ * + hr,
33
+ * + blockquote,
34
+ * + figure,
35
+ * + table,
36
+ * + .video {
37
+ margin-block-start: var(--spacing-m);
38
+ }
39
+
40
+ * + ul,
41
+ * + ol {
42
+ margin-block-start: var(--spacing-m);
43
+
44
+ & + a {
45
+ margin-block-start: var(--spacing-s);
46
+ }
47
+ }
48
+ }
@@ -0,0 +1,53 @@
1
+ @layer utilities {
2
+ .vertical-flow {
3
+ /* Default vertical flow. */
4
+
5
+ & > :where(:not(:first-child)) {
6
+ margin-block-start: var(--flow-gap, var(--gap));
7
+ }
8
+
9
+ & > .vertical-flow__collapse {
10
+ margin-block-start: 0;
11
+ }
12
+
13
+ /* Rich text vertical flow is enhanced */
14
+ &.rich-text > .text--lede {
15
+ --flow-gap: var(--gap-xl);
16
+ }
17
+ }
18
+
19
+ .vertical-flow-flex {
20
+ display: flex;
21
+ flex-direction: column;
22
+ align-items: flex-start;
23
+ gap: var(--flow-gap, var(--gap));
24
+
25
+ & > * {
26
+ margin: 0;
27
+
28
+ &.container {
29
+ inline-size: 100%;
30
+ }
31
+ }
32
+
33
+ &:is(ul, ol) {
34
+ padding-inline-start: unset;
35
+ list-style: none;
36
+ }
37
+ }
38
+
39
+ .horizontal-flow-flex {
40
+ display: flex;
41
+ flex-wrap: wrap;
42
+ gap: var(--flow-gap, var(--gap));
43
+
44
+ & > * {
45
+ margin: 0;
46
+ }
47
+
48
+ &:is(ul, ol) {
49
+ padding-inline-start: unset;
50
+ list-style: none;
51
+ }
52
+ }
53
+ }