@dta-au/civictheme-twig 1.13.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 (667) hide show
  1. package/assets/backgrounds/civictheme_background_1.png +0 -0
  2. package/assets/backgrounds/civictheme_background_2.png +0 -0
  3. package/assets/backgrounds/civictheme_background_3.png +0 -0
  4. package/assets/backgrounds/civictheme_background_4.png +0 -0
  5. package/assets/backgrounds/civictheme_background_5.png +0 -0
  6. package/assets/backgrounds/civictheme_background_6.png +0 -0
  7. package/assets/backgrounds/civictheme_background_7.png +0 -0
  8. package/assets/fonts/.gitkeep +0 -0
  9. package/assets/icons/account.svg +3 -0
  10. package/assets/icons/approve.svg +3 -0
  11. package/assets/icons/bars.svg +3 -0
  12. package/assets/icons/bullet.svg +3 -0
  13. package/assets/icons/calendar-1.svg +3 -0
  14. package/assets/icons/calendar-2.svg +3 -0
  15. package/assets/icons/call.svg +3 -0
  16. package/assets/icons/cancel.svg +3 -0
  17. package/assets/icons/checked.svg +4 -0
  18. package/assets/icons/close-outline.svg +3 -0
  19. package/assets/icons/close.svg +3 -0
  20. package/assets/icons/document.svg +4 -0
  21. package/assets/icons/down-arrow-1.svg +3 -0
  22. package/assets/icons/down-arrow-2.svg +3 -0
  23. package/assets/icons/download-file.svg +3 -0
  24. package/assets/icons/download.svg +3 -0
  25. package/assets/icons/exclamation-mark-1.svg +3 -0
  26. package/assets/icons/exclamation-mark-2.svg +3 -0
  27. package/assets/icons/exclamation-mark-3.svg +3 -0
  28. package/assets/icons/eye.svg +3 -0
  29. package/assets/icons/facebook.svg +3 -0
  30. package/assets/icons/help.svg +3 -0
  31. package/assets/icons/image.svg +5 -0
  32. package/assets/icons/information-mark.svg +3 -0
  33. package/assets/icons/instagram.svg +3 -0
  34. package/assets/icons/layer.svg +4 -0
  35. package/assets/icons/layers.svg +4 -0
  36. package/assets/icons/left-arrow-outline.svg +3 -0
  37. package/assets/icons/left-arrow.svg +3 -0
  38. package/assets/icons/linkedin.svg +3 -0
  39. package/assets/icons/lock-file.svg +4 -0
  40. package/assets/icons/lock-gallery.svg +4 -0
  41. package/assets/icons/magnifier.svg +3 -0
  42. package/assets/icons/map.svg +3 -0
  43. package/assets/icons/megaphone.svg +3 -0
  44. package/assets/icons/message.svg +3 -0
  45. package/assets/icons/mobile.svg +4 -0
  46. package/assets/icons/mortarboard.svg +3 -0
  47. package/assets/icons/newspaper.svg +3 -0
  48. package/assets/icons/open-source.svg +3 -0
  49. package/assets/icons/pdf-file.svg +4 -0
  50. package/assets/icons/progress.svg +3 -0
  51. package/assets/icons/right-arrow-1.svg +3 -0
  52. package/assets/icons/right-arrow-2.svg +3 -0
  53. package/assets/icons/select-box.svg +4 -0
  54. package/assets/icons/share.svg +3 -0
  55. package/assets/icons/square.svg +3 -0
  56. package/assets/icons/to-do.svg +3 -0
  57. package/assets/icons/twitter.svg +3 -0
  58. package/assets/icons/up-arrow.svg +3 -0
  59. package/assets/icons/upper-arrow.svg +3 -0
  60. package/assets/icons/upper-right-arrow.svg +3 -0
  61. package/assets/icons/users.svg +4 -0
  62. package/assets/icons/watch.svg +3 -0
  63. package/assets/icons/water-drop.svg +4 -0
  64. package/assets/icons/web.svg +4 -0
  65. package/assets/icons/word-file.svg +4 -0
  66. package/assets/icons/x.svg +3 -0
  67. package/assets/icons/youtube.svg +3 -0
  68. package/assets/logos/logo_custom_light_desktop_civictheme.svg +32 -0
  69. package/assets/logos/logo_custom_light_mobile_civictheme.svg +32 -0
  70. package/assets/logos/logo_primary_dark_desktop.png +0 -0
  71. package/assets/logos/logo_primary_dark_mobile.png +0 -0
  72. package/assets/logos/logo_primary_light_desktop.png +0 -0
  73. package/assets/logos/logo_primary_light_mobile.png +0 -0
  74. package/assets/logos/logo_secondary_dark_desktop.png +0 -0
  75. package/assets/logos/logo_secondary_dark_mobile.png +0 -0
  76. package/assets/logos/logo_secondary_light_desktop.png +0 -0
  77. package/assets/logos/logo_secondary_light_mobile.png +0 -0
  78. package/components/00-base/_variables.base.scss +482 -0
  79. package/components/00-base/_variables.components.scss +1315 -0
  80. package/components/00-base/about-civictheme/about-civictheme.stories.js +37 -0
  81. package/components/00-base/about-civictheme/about-civictheme.stories.scss +37 -0
  82. package/components/00-base/about-civictheme/about-civictheme.stories.twig +219 -0
  83. package/components/00-base/background/background.scss +12 -0
  84. package/components/00-base/background/background.stories.js +33 -0
  85. package/components/00-base/background/background.stories.scss +16 -0
  86. package/components/00-base/background/background.stories.twig +6 -0
  87. package/components/00-base/background/background.utils.js +23 -0
  88. package/components/00-base/collapsible/collapsible.js +452 -0
  89. package/components/00-base/collapsible/collapsible.scss +80 -0
  90. package/components/00-base/collapsible/collapsible.stories.js +17 -0
  91. package/components/00-base/collapsible/collapsible.stories.scss +38 -0
  92. package/components/00-base/collapsible/collapsible.stories.twig +497 -0
  93. package/components/00-base/collapsible/collapsible.test.js +186 -0
  94. package/components/00-base/colors/colors.stories.js +142 -0
  95. package/components/00-base/colors/colors.stories.scss +78 -0
  96. package/components/00-base/colors/colors.stories.twig +42 -0
  97. package/components/00-base/datetime/__snapshots__/datetime.test.js.snap +114 -0
  98. package/components/00-base/datetime/datetime.stories.js +47 -0
  99. package/components/00-base/datetime/datetime.test.js +75 -0
  100. package/components/00-base/datetime/datetime.twig +24 -0
  101. package/components/00-base/debug/_index.scss +24 -0
  102. package/components/00-base/elevation/elevation.stories.js +14 -0
  103. package/components/00-base/elevation/elevation.stories.scss +21 -0
  104. package/components/00-base/elevation/elevation.stories.twig +8 -0
  105. package/components/00-base/flex/_index.scss +37 -0
  106. package/components/00-base/flyout/flyout.js +207 -0
  107. package/components/00-base/flyout/flyout.scss +47 -0
  108. package/components/00-base/flyout/flyout.stories.js +34 -0
  109. package/components/00-base/flyout/flyout.stories.scss +38 -0
  110. package/components/00-base/flyout/flyout.stories.twig +101 -0
  111. package/components/00-base/fonts/_index.scss +15 -0
  112. package/components/00-base/fonts/fonts.stories.js +40 -0
  113. package/components/00-base/fonts/fonts.stories.scss +28 -0
  114. package/components/00-base/fonts/fonts.stories.twig +15 -0
  115. package/components/00-base/grid/__snapshots__/grid.test.js.snap +2113 -0
  116. package/components/00-base/grid/grid.scss +164 -0
  117. package/components/00-base/grid/grid.stories.js +570 -0
  118. package/components/00-base/grid/grid.stories.scss +184 -0
  119. package/components/00-base/grid/grid.test.js +386 -0
  120. package/components/00-base/grid/grid.twig +96 -0
  121. package/components/00-base/icon/__snapshots__/icon.test.js.snap +76 -0
  122. package/components/00-base/icon/icon.scss +21 -0
  123. package/components/00-base/icon/icon.stories.js +46 -0
  124. package/components/00-base/icon/icon.test.js +53 -0
  125. package/components/00-base/icon/icon.twig +35 -0
  126. package/components/00-base/icon/icon.utils.js +35 -0
  127. package/components/00-base/item-list/__snapshots__/item-list.test.js.snap +255 -0
  128. package/components/00-base/item-list/item-list.scss +66 -0
  129. package/components/00-base/item-list/item-list.stories.js +49 -0
  130. package/components/00-base/item-list/item-list.test.js +96 -0
  131. package/components/00-base/item-list/item-list.twig +35 -0
  132. package/components/00-base/layout/__snapshots__/layout.test.js.snap +520 -0
  133. package/components/00-base/layout/layout.js +97 -0
  134. package/components/00-base/layout/layout.scss +329 -0
  135. package/components/00-base/layout/layout.stories.data.js +22 -0
  136. package/components/00-base/layout/layout.stories.js +120 -0
  137. package/components/00-base/layout/layout.stories.scss +55 -0
  138. package/components/00-base/layout/layout.test.js +166 -0
  139. package/components/00-base/layout/layout.twig +115 -0
  140. package/components/00-base/menu/__snapshots__/menu.test.js.snap +1028 -0
  141. package/components/00-base/menu/menu.stories.js +107 -0
  142. package/components/00-base/menu/menu.stories.scss +11 -0
  143. package/components/00-base/menu/menu.test.js +231 -0
  144. package/components/00-base/menu/menu.twig +133 -0
  145. package/components/00-base/mixins/_background.scss +11 -0
  146. package/components/00-base/mixins/_breakpoint.scss +75 -0
  147. package/components/00-base/mixins/_button.scss +312 -0
  148. package/components/00-base/mixins/_color.scss +137 -0
  149. package/components/00-base/mixins/_component.scss +39 -0
  150. package/components/00-base/mixins/_content-link.scss +58 -0
  151. package/components/00-base/mixins/_content.scss +369 -0
  152. package/components/00-base/mixins/_cssgrid.scss +106 -0
  153. package/components/00-base/mixins/_debug.scss +29 -0
  154. package/components/00-base/mixins/_deprecations.scss +21 -0
  155. package/components/00-base/mixins/_disabled.scss +11 -0
  156. package/components/00-base/mixins/_elevation.scss +37 -0
  157. package/components/00-base/mixins/_font.scss +140 -0
  158. package/components/00-base/mixins/_form.scss +30 -0
  159. package/components/00-base/mixins/_generator.scss +35 -0
  160. package/components/00-base/mixins/_grid.scss +223 -0
  161. package/components/00-base/mixins/_highlight.scss +84 -0
  162. package/components/00-base/mixins/_icon.scss +118 -0
  163. package/components/00-base/mixins/_image.scss +149 -0
  164. package/components/00-base/mixins/_index.scss +25 -0
  165. package/components/00-base/mixins/_link.scss +163 -0
  166. package/components/00-base/mixins/_map.scss +90 -0
  167. package/components/00-base/mixins/_message.scss +11 -0
  168. package/components/00-base/mixins/_outline.scss +32 -0
  169. package/components/00-base/mixins/_particle.scss +40 -0
  170. package/components/00-base/mixins/_print.scss +26 -0
  171. package/components/00-base/mixins/_rem.scss +20 -0
  172. package/components/00-base/mixins/_reset.scss +85 -0
  173. package/components/00-base/mixins/_spacing.scss +57 -0
  174. package/components/00-base/mixins/_string.scss +76 -0
  175. package/components/00-base/mixins/_table.scss +254 -0
  176. package/components/00-base/mixins/_typography.scss +193 -0
  177. package/components/00-base/mixins/_visibility.scss +27 -0
  178. package/components/00-base/platform/platform.js +27 -0
  179. package/components/00-base/responsive/responsive.js +186 -0
  180. package/components/00-base/responsive/responsive.stories.js +17 -0
  181. package/components/00-base/responsive/responsive.stories.twig +121 -0
  182. package/components/00-base/scrollspy/scrollspy.js +36 -0
  183. package/components/00-base/scrollspy/scrollspy.scss +11 -0
  184. package/components/00-base/scrollspy/scrollspy.stories.js +18 -0
  185. package/components/00-base/scrollspy/scrollspy.stories.scss +51 -0
  186. package/components/00-base/scrollspy/scrollspy.stories.twig +9 -0
  187. package/components/00-base/skip-to-target/skip-to-target.js +27 -0
  188. package/components/00-base/spacing/spacing.scss +29 -0
  189. package/components/00-base/spacing/spacing.stories.js +16 -0
  190. package/components/00-base/spacing/spacing.stories.scss +51 -0
  191. package/components/00-base/spacing/spacing.stories.twig +64 -0
  192. package/components/00-base/storybook/storybook.container.utils.stories.scss +105 -0
  193. package/components/00-base/storybook/storybook.docs.utils.js +37 -0
  194. package/components/00-base/storybook/storybook.docs.utils.stories.scss +70 -0
  195. package/components/00-base/storybook/storybook.generators.utils.js +19 -0
  196. package/components/00-base/storybook/storybook.layout.utils.stories.scss +90 -0
  197. package/components/00-base/storybook/storybook.placeholder.utils.stories.scss +75 -0
  198. package/components/00-base/storybook/storybook.stories.scss +8 -0
  199. package/components/00-base/text-icon/text-icon.scss +9 -0
  200. package/components/00-base/text-icon/text-icon.stories.js +57 -0
  201. package/components/00-base/text-icon/text-icon.twig +81 -0
  202. package/components/00-base/typography/typography.scss +81 -0
  203. package/components/00-base/typography/typography.stories.js +17 -0
  204. package/components/00-base/typography/typography.stories.twig +228 -0
  205. package/components/00-base/variables.scss +41 -0
  206. package/components/00-base/visibility/_index.scss +42 -0
  207. package/components/00-base/welcome/welcome.stories.js +37 -0
  208. package/components/00-base/welcome/welcome.stories.scss +30 -0
  209. package/components/00-base/welcome/welcome.stories.twig +41 -0
  210. package/components/01-atoms/button/__snapshots__/button.test.js.snap +205 -0
  211. package/components/01-atoms/button/button.js +127 -0
  212. package/components/01-atoms/button/button.scss +82 -0
  213. package/components/01-atoms/button/button.stories.js +86 -0
  214. package/components/01-atoms/button/button.test.js +103 -0
  215. package/components/01-atoms/button/button.twig +82 -0
  216. package/components/01-atoms/checkbox/__snapshots__/checkbox.test.js.snap +65 -0
  217. package/components/01-atoms/checkbox/checkbox.scss +176 -0
  218. package/components/01-atoms/checkbox/checkbox.stories.js +63 -0
  219. package/components/01-atoms/checkbox/checkbox.test.js +67 -0
  220. package/components/01-atoms/checkbox/checkbox.twig +47 -0
  221. package/components/01-atoms/chip/__snapshots__/chip.test.js.snap +90 -0
  222. package/components/01-atoms/chip/chip.event.stories.js +25 -0
  223. package/components/01-atoms/chip/chip.js +104 -0
  224. package/components/01-atoms/chip/chip.scss +144 -0
  225. package/components/01-atoms/chip/chip.stories.js +74 -0
  226. package/components/01-atoms/chip/chip.test.js +53 -0
  227. package/components/01-atoms/chip/chip.twig +73 -0
  228. package/components/01-atoms/content-link/__snapshots__/content-link.test.js.snap +91 -0
  229. package/components/01-atoms/content-link/content-link.scss +16 -0
  230. package/components/01-atoms/content-link/content-link.stories.js +50 -0
  231. package/components/01-atoms/content-link/content-link.test.js +50 -0
  232. package/components/01-atoms/content-link/content-link.twig +40 -0
  233. package/components/01-atoms/field-description/__snapshots__/field-description.test.js.snap +49 -0
  234. package/components/01-atoms/field-description/field-description.scss +24 -0
  235. package/components/01-atoms/field-description/field-description.stories.js +41 -0
  236. package/components/01-atoms/field-description/field-description.test.js +51 -0
  237. package/components/01-atoms/field-description/field-description.twig +24 -0
  238. package/components/01-atoms/field-message/__snapshots__/field-message.test.js.snap +142 -0
  239. package/components/01-atoms/field-message/field-message.scss +108 -0
  240. package/components/01-atoms/field-message/field-message.stories.js +41 -0
  241. package/components/01-atoms/field-message/field-message.test.js +64 -0
  242. package/components/01-atoms/field-message/field-message.twig +37 -0
  243. package/components/01-atoms/fieldset/__snapshots__/fieldset.test.js.snap +358 -0
  244. package/components/01-atoms/fieldset/fieldset.scss +44 -0
  245. package/components/01-atoms/fieldset/fieldset.stories.js +79 -0
  246. package/components/01-atoms/fieldset/fieldset.test.js +102 -0
  247. package/components/01-atoms/fieldset/fieldset.twig +91 -0
  248. package/components/01-atoms/heading/__snapshots__/heading.test.js.snap +43 -0
  249. package/components/01-atoms/heading/heading.scss +13 -0
  250. package/components/01-atoms/heading/heading.stories.js +41 -0
  251. package/components/01-atoms/heading/heading.test.js +42 -0
  252. package/components/01-atoms/heading/heading.twig +24 -0
  253. package/components/01-atoms/iframe/__snapshots__/iframe.test.js.snap +34 -0
  254. package/components/01-atoms/iframe/iframe.scss +29 -0
  255. package/components/01-atoms/iframe/iframe.stories.js +53 -0
  256. package/components/01-atoms/iframe/iframe.test.js +37 -0
  257. package/components/01-atoms/iframe/iframe.twig +29 -0
  258. package/components/01-atoms/image/__snapshots__/image.test.js.snap +45 -0
  259. package/components/01-atoms/image/image.stories.js +48 -0
  260. package/components/01-atoms/image/image.test.js +45 -0
  261. package/components/01-atoms/image/image.twig +31 -0
  262. package/components/01-atoms/input/__snapshots__/input.test.js.snap +64 -0
  263. package/components/01-atoms/input/input.scss +112 -0
  264. package/components/01-atoms/input/input.stories.js +81 -0
  265. package/components/01-atoms/input/input.test.js +71 -0
  266. package/components/01-atoms/input/input.twig +38 -0
  267. package/components/01-atoms/label/__snapshots__/label.test.js.snap +69 -0
  268. package/components/01-atoms/label/label.scss +34 -0
  269. package/components/01-atoms/label/label.stories.js +65 -0
  270. package/components/01-atoms/label/label.test.js +76 -0
  271. package/components/01-atoms/label/label.twig +35 -0
  272. package/components/01-atoms/link/__snapshots__/link.test.js.snap +138 -0
  273. package/components/01-atoms/link/link.scss +53 -0
  274. package/components/01-atoms/link/link.stories.js +82 -0
  275. package/components/01-atoms/link/link.test.js +84 -0
  276. package/components/01-atoms/link/link.twig +62 -0
  277. package/components/01-atoms/paragraph/__snapshots__/paragraph.test.js.snap +36 -0
  278. package/components/01-atoms/paragraph/paragraph.scss +31 -0
  279. package/components/01-atoms/paragraph/paragraph.stories.js +45 -0
  280. package/components/01-atoms/paragraph/paragraph.test.js +40 -0
  281. package/components/01-atoms/paragraph/paragraph.twig +25 -0
  282. package/components/01-atoms/popover/__snapshots__/popover.test.js.snap +129 -0
  283. package/components/01-atoms/popover/popover.scss +44 -0
  284. package/components/01-atoms/popover/popover.stories.js +52 -0
  285. package/components/01-atoms/popover/popover.test.js +57 -0
  286. package/components/01-atoms/popover/popover.twig +69 -0
  287. package/components/01-atoms/radio/__snapshots__/radio.test.js.snap +83 -0
  288. package/components/01-atoms/radio/radio.scss +176 -0
  289. package/components/01-atoms/radio/radio.stories.js +64 -0
  290. package/components/01-atoms/radio/radio.test.js +76 -0
  291. package/components/01-atoms/radio/radio.twig +47 -0
  292. package/components/01-atoms/select/__snapshots__/select.test.js.snap +165 -0
  293. package/components/01-atoms/select/select.scss +105 -0
  294. package/components/01-atoms/select/select.stories.js +81 -0
  295. package/components/01-atoms/select/select.test.js +117 -0
  296. package/components/01-atoms/select/select.twig +63 -0
  297. package/components/01-atoms/table/__snapshots__/table.test.js.snap +206 -0
  298. package/components/01-atoms/table/table.js +79 -0
  299. package/components/01-atoms/table/table.scss +18 -0
  300. package/components/01-atoms/table/table.stories.js +129 -0
  301. package/components/01-atoms/table/table.test.js +60 -0
  302. package/components/01-atoms/table/table.twig +104 -0
  303. package/components/01-atoms/tag/__snapshots__/tag.test.js.snap +97 -0
  304. package/components/01-atoms/tag/tag.scss +63 -0
  305. package/components/01-atoms/tag/tag.stories.js +55 -0
  306. package/components/01-atoms/tag/tag.test.js +49 -0
  307. package/components/01-atoms/tag/tag.twig +74 -0
  308. package/components/01-atoms/textarea/__snapshots__/textarea.test.js.snap +64 -0
  309. package/components/01-atoms/textarea/textarea.scss +72 -0
  310. package/components/01-atoms/textarea/textarea.stories.js +64 -0
  311. package/components/01-atoms/textarea/textarea.test.js +68 -0
  312. package/components/01-atoms/textarea/textarea.twig +37 -0
  313. package/components/01-atoms/textfield/__snapshots__/textfield.test.js.snap +63 -0
  314. package/components/01-atoms/textfield/textfield.scss +70 -0
  315. package/components/01-atoms/textfield/textfield.stories.js +60 -0
  316. package/components/01-atoms/textfield/textfield.test.js +64 -0
  317. package/components/01-atoms/textfield/textfield.twig +37 -0
  318. package/components/01-atoms/video/__snapshots__/video.test.js.snap +75 -0
  319. package/components/01-atoms/video/video.stories.js +69 -0
  320. package/components/01-atoms/video/video.test.js +57 -0
  321. package/components/01-atoms/video/video.twig +59 -0
  322. package/components/02-molecules/accordion/__snapshots__/accordion.test.js.snap +651 -0
  323. package/components/02-molecules/accordion/accordion.scss +109 -0
  324. package/components/02-molecules/accordion/accordion.stories.js +73 -0
  325. package/components/02-molecules/accordion/accordion.test.js +84 -0
  326. package/components/02-molecules/accordion/accordion.twig +86 -0
  327. package/components/02-molecules/attachment/__snapshots__/attachment.test.js.snap +694 -0
  328. package/components/02-molecules/attachment/attachment.scss +54 -0
  329. package/components/02-molecules/attachment/attachment.stories.js +125 -0
  330. package/components/02-molecules/attachment/attachment.test.js +84 -0
  331. package/components/02-molecules/attachment/attachment.twig +139 -0
  332. package/components/02-molecules/back-to-top/__snapshots__/back-to-top.test.js.snap +172 -0
  333. package/components/02-molecules/back-to-top/back-to-top.scss +39 -0
  334. package/components/02-molecules/back-to-top/back-to-top.stories.js +26 -0
  335. package/components/02-molecules/back-to-top/back-to-top.stories.scss +20 -0
  336. package/components/02-molecules/back-to-top/back-to-top.stories.twig +6 -0
  337. package/components/02-molecules/back-to-top/back-to-top.test.js +31 -0
  338. package/components/02-molecules/back-to-top/back-to-top.twig +32 -0
  339. package/components/02-molecules/basic-content/__snapshots__/basic-content.test.js.snap +110 -0
  340. package/components/02-molecules/basic-content/basic-content.scss +39 -0
  341. package/components/02-molecules/basic-content/basic-content.stories.data.js +157 -0
  342. package/components/02-molecules/basic-content/basic-content.stories.js +56 -0
  343. package/components/02-molecules/basic-content/basic-content.test.js +59 -0
  344. package/components/02-molecules/basic-content/basic-content.twig +42 -0
  345. package/components/02-molecules/breadcrumb/__snapshots__/breadcrumb.test.js.snap +553 -0
  346. package/components/02-molecules/breadcrumb/breadcrumb.scss +23 -0
  347. package/components/02-molecules/breadcrumb/breadcrumb.stories.js +53 -0
  348. package/components/02-molecules/breadcrumb/breadcrumb.test.js +82 -0
  349. package/components/02-molecules/breadcrumb/breadcrumb.twig +85 -0
  350. package/components/02-molecules/callout/__snapshots__/callout.test.js.snap +384 -0
  351. package/components/02-molecules/callout/callout.scss +35 -0
  352. package/components/02-molecules/callout/callout.stories.js +70 -0
  353. package/components/02-molecules/callout/callout.test.js +73 -0
  354. package/components/02-molecules/callout/callout.twig +108 -0
  355. package/components/02-molecules/event-card/__snapshots__/event-card.test.js.snap +382 -0
  356. package/components/02-molecules/event-card/event-card.scss +153 -0
  357. package/components/02-molecules/event-card/event-card.stories.data.js +31 -0
  358. package/components/02-molecules/event-card/event-card.stories.js +68 -0
  359. package/components/02-molecules/event-card/event-card.test.js +74 -0
  360. package/components/02-molecules/event-card/event-card.twig +195 -0
  361. package/components/02-molecules/fast-fact-card/__snapshots__/fast-fact-card.test.js.snap +186 -0
  362. package/components/02-molecules/fast-fact-card/fast-fact-card.scss +104 -0
  363. package/components/02-molecules/fast-fact-card/fast-fact-card.stories.data.js +18 -0
  364. package/components/02-molecules/fast-fact-card/fast-fact-card.stories.js +44 -0
  365. package/components/02-molecules/fast-fact-card/fast-fact-card.test.js +90 -0
  366. package/components/02-molecules/fast-fact-card/fast-fact-card.twig +74 -0
  367. package/components/02-molecules/field/__snapshots__/field.test.js.snap +1526 -0
  368. package/components/02-molecules/field/field.scss +92 -0
  369. package/components/02-molecules/field/field.stories.data.js +52 -0
  370. package/components/02-molecules/field/field.stories.js +117 -0
  371. package/components/02-molecules/field/field.test.js +530 -0
  372. package/components/02-molecules/field/field.twig +206 -0
  373. package/components/02-molecules/figure/__snapshots__/figure.test.js.snap +104 -0
  374. package/components/02-molecules/figure/figure.scss +27 -0
  375. package/components/02-molecules/figure/figure.stories.js +52 -0
  376. package/components/02-molecules/figure/figure.test.js +60 -0
  377. package/components/02-molecules/figure/figure.twig +43 -0
  378. package/components/02-molecules/group-filter/__snapshots__/group-filter.test.js.snap +1466 -0
  379. package/components/02-molecules/group-filter/group-filter.js +33 -0
  380. package/components/02-molecules/group-filter/group-filter.scss +111 -0
  381. package/components/02-molecules/group-filter/group-filter.stories.data.js +83 -0
  382. package/components/02-molecules/group-filter/group-filter.stories.js +81 -0
  383. package/components/02-molecules/group-filter/group-filter.test.js +104 -0
  384. package/components/02-molecules/group-filter/group-filter.twig +192 -0
  385. package/components/02-molecules/inline-filter/inline-filter.scss +58 -0
  386. package/components/02-molecules/inline-filter/inline-filter.stories.data.js +24 -0
  387. package/components/02-molecules/inline-filter/inline-filter.stories.js +52 -0
  388. package/components/02-molecules/inline-filter/inline-filter.twig +48 -0
  389. package/components/02-molecules/logo/__snapshots__/logo.test.js.snap +191 -0
  390. package/components/02-molecules/logo/logo.scss +60 -0
  391. package/components/02-molecules/logo/logo.stories.data.js +34 -0
  392. package/components/02-molecules/logo/logo.stories.js +56 -0
  393. package/components/02-molecules/logo/logo.test.js +111 -0
  394. package/components/02-molecules/logo/logo.twig +71 -0
  395. package/components/02-molecules/logo/logo.utils.js +57 -0
  396. package/components/02-molecules/map/__snapshots__/map.test.js.snap +310 -0
  397. package/components/02-molecules/map/map.scss +35 -0
  398. package/components/02-molecules/map/map.stories.js +65 -0
  399. package/components/02-molecules/map/map.test.js +78 -0
  400. package/components/02-molecules/map/map.twig +86 -0
  401. package/components/02-molecules/navigation-card/__snapshots__/navigation-card.test.js.snap +507 -0
  402. package/components/02-molecules/navigation-card/navigation-card.scss +164 -0
  403. package/components/02-molecules/navigation-card/navigation-card.stories.data.js +26 -0
  404. package/components/02-molecules/navigation-card/navigation-card.stories.js +64 -0
  405. package/components/02-molecules/navigation-card/navigation-card.test.js +146 -0
  406. package/components/02-molecules/navigation-card/navigation-card.twig +165 -0
  407. package/components/02-molecules/next-step/__snapshots__/next-step.test.js.snap +331 -0
  408. package/components/02-molecules/next-step/next-step.scss +46 -0
  409. package/components/02-molecules/next-step/next-step.stories.js +61 -0
  410. package/components/02-molecules/next-step/next-step.test.js +74 -0
  411. package/components/02-molecules/next-step/next-step.twig +104 -0
  412. package/components/02-molecules/pagination/__snapshots__/pagination.test.js.snap +863 -0
  413. package/components/02-molecules/pagination/pagination.scss +103 -0
  414. package/components/02-molecules/pagination/pagination.stories.data.js +55 -0
  415. package/components/02-molecules/pagination/pagination.stories.js +56 -0
  416. package/components/02-molecules/pagination/pagination.test.js +121 -0
  417. package/components/02-molecules/pagination/pagination.twig +177 -0
  418. package/components/02-molecules/promo-card/__snapshots__/promo-card.test.js.snap +407 -0
  419. package/components/02-molecules/promo-card/promo-card.scss +149 -0
  420. package/components/02-molecules/promo-card/promo-card.stories.data.js +32 -0
  421. package/components/02-molecules/promo-card/promo-card.stories.js +62 -0
  422. package/components/02-molecules/promo-card/promo-card.test.js +98 -0
  423. package/components/02-molecules/promo-card/promo-card.twig +198 -0
  424. package/components/02-molecules/publication-card/__snapshots__/publication-card.test.js.snap +342 -0
  425. package/components/02-molecules/publication-card/publication-card.scss +148 -0
  426. package/components/02-molecules/publication-card/publication-card.stories.js +83 -0
  427. package/components/02-molecules/publication-card/publication-card.test.js +113 -0
  428. package/components/02-molecules/publication-card/publication-card.twig +162 -0
  429. package/components/02-molecules/search/__snapshots__/search.test.js.snap +161 -0
  430. package/components/02-molecules/search/search.scss +74 -0
  431. package/components/02-molecules/search/search.stories.js +40 -0
  432. package/components/02-molecules/search/search.test.js +58 -0
  433. package/components/02-molecules/search/search.twig +33 -0
  434. package/components/02-molecules/service-card/__snapshots__/service-card.test.js.snap +324 -0
  435. package/components/02-molecules/service-card/service-card.scss +42 -0
  436. package/components/02-molecules/service-card/service-card.stories.js +65 -0
  437. package/components/02-molecules/service-card/service-card.test.js +91 -0
  438. package/components/02-molecules/service-card/service-card.twig +89 -0
  439. package/components/02-molecules/single-filter/__snapshots__/single-filter.test.js.snap +694 -0
  440. package/components/02-molecules/single-filter/single-filter.js +33 -0
  441. package/components/02-molecules/single-filter/single-filter.scss +70 -0
  442. package/components/02-molecules/single-filter/single-filter.stories.data.js +35 -0
  443. package/components/02-molecules/single-filter/single-filter.stories.js +53 -0
  444. package/components/02-molecules/single-filter/single-filter.test.js +102 -0
  445. package/components/02-molecules/single-filter/single-filter.twig +139 -0
  446. package/components/02-molecules/snippet/__snapshots__/snippet.test.js.snap +367 -0
  447. package/components/02-molecules/snippet/snippet.scss +60 -0
  448. package/components/02-molecules/snippet/snippet.stories.data.js +20 -0
  449. package/components/02-molecules/snippet/snippet.stories.js +50 -0
  450. package/components/02-molecules/snippet/snippet.test.js +108 -0
  451. package/components/02-molecules/snippet/snippet.twig +109 -0
  452. package/components/02-molecules/social-links/__snapshots__/social-links.test.js.snap +311 -0
  453. package/components/02-molecules/social-links/social-links.scss +23 -0
  454. package/components/02-molecules/social-links/social-links.stories.js +77 -0
  455. package/components/02-molecules/social-links/social-links.test.js +82 -0
  456. package/components/02-molecules/social-links/social-links.twig +58 -0
  457. package/components/02-molecules/subject-card/__snapshots__/subject-card.test.js.snap +219 -0
  458. package/components/02-molecules/subject-card/subject-card.scss +112 -0
  459. package/components/02-molecules/subject-card/subject-card.stories.js +58 -0
  460. package/components/02-molecules/subject-card/subject-card.test.js +102 -0
  461. package/components/02-molecules/subject-card/subject-card.twig +81 -0
  462. package/components/02-molecules/table-of-contents/table-of-contents.js +152 -0
  463. package/components/02-molecules/table-of-contents/table-of-contents.scss +115 -0
  464. package/components/02-molecules/table-of-contents/table-of-contents.stories.js +88 -0
  465. package/components/02-molecules/table-of-contents/table-of-contents.twig +63 -0
  466. package/components/02-molecules/tabs/__snapshots__/tabs.test.js.snap +346 -0
  467. package/components/02-molecules/tabs/tabs.js +75 -0
  468. package/components/02-molecules/tabs/tabs.scss +66 -0
  469. package/components/02-molecules/tabs/tabs.stories.js +80 -0
  470. package/components/02-molecules/tabs/tabs.test.js +75 -0
  471. package/components/02-molecules/tabs/tabs.twig +81 -0
  472. package/components/02-molecules/tag-list/__snapshots__/tag-list.test.js.snap +255 -0
  473. package/components/02-molecules/tag-list/tag-list.stories.js +53 -0
  474. package/components/02-molecules/tag-list/tag-list.test.js +64 -0
  475. package/components/02-molecules/tag-list/tag-list.twig +68 -0
  476. package/components/02-molecules/tooltip/__snapshots__/tooltip.test.js.snap +321 -0
  477. package/components/02-molecules/tooltip/tooltip.js +143 -0
  478. package/components/02-molecules/tooltip/tooltip.scss +165 -0
  479. package/components/02-molecules/tooltip/tooltip.stories.js +59 -0
  480. package/components/02-molecules/tooltip/tooltip.test.js +59 -0
  481. package/components/02-molecules/tooltip/tooltip.twig +48 -0
  482. package/components/02-molecules/video-player/__snapshots__/video-player.test.js.snap +244 -0
  483. package/components/02-molecules/video-player/video-player.scss +75 -0
  484. package/components/02-molecules/video-player/video-player.stories.js +180 -0
  485. package/components/02-molecules/video-player/video-player.test.js +81 -0
  486. package/components/02-molecules/video-player/video-player.twig +130 -0
  487. package/components/03-organisms/alert/__snapshots__/alert.test.js.snap +356 -0
  488. package/components/03-organisms/alert/alert.js +268 -0
  489. package/components/03-organisms/alert/alert.scss +90 -0
  490. package/components/03-organisms/alert/alert.stories.js +104 -0
  491. package/components/03-organisms/alert/alert.test.js +59 -0
  492. package/components/03-organisms/alert/alert.twig +76 -0
  493. package/components/03-organisms/banner/__snapshots__/banner.test.js.snap +621 -0
  494. package/components/03-organisms/banner/banner.scss +118 -0
  495. package/components/03-organisms/banner/banner.stories.data.js +88 -0
  496. package/components/03-organisms/banner/banner.stories.js +87 -0
  497. package/components/03-organisms/banner/banner.test.js +94 -0
  498. package/components/03-organisms/banner/banner.twig +218 -0
  499. package/components/03-organisms/campaign/__snapshots__/campaign.test.js.snap +489 -0
  500. package/components/03-organisms/campaign/campaign.scss +64 -0
  501. package/components/03-organisms/campaign/campaign.stories.js +92 -0
  502. package/components/03-organisms/campaign/campaign.test.js +81 -0
  503. package/components/03-organisms/campaign/campaign.twig +152 -0
  504. package/components/03-organisms/footer/__snapshots__/footer.test.js.snap +354 -0
  505. package/components/03-organisms/footer/footer.scss +114 -0
  506. package/components/03-organisms/footer/footer.stories.data.js +42 -0
  507. package/components/03-organisms/footer/footer.stories.js +75 -0
  508. package/components/03-organisms/footer/footer.test.js +85 -0
  509. package/components/03-organisms/footer/footer.twig +157 -0
  510. package/components/03-organisms/header/__snapshots__/header.test.js.snap +411 -0
  511. package/components/03-organisms/header/header.scss +59 -0
  512. package/components/03-organisms/header/header.stories.data.js +132 -0
  513. package/components/03-organisms/header/header.stories.js +78 -0
  514. package/components/03-organisms/header/header.test.js +72 -0
  515. package/components/03-organisms/header/header.twig +141 -0
  516. package/components/03-organisms/list/__snapshots__/list.test.js.snap +454 -0
  517. package/components/03-organisms/list/list.scss +83 -0
  518. package/components/03-organisms/list/list.stories.data.js +98 -0
  519. package/components/03-organisms/list/list.stories.js +223 -0
  520. package/components/03-organisms/list/list.test.js +93 -0
  521. package/components/03-organisms/list/list.twig +263 -0
  522. package/components/03-organisms/message/__snapshots__/message.test.js.snap +517 -0
  523. package/components/03-organisms/message/message.scss +69 -0
  524. package/components/03-organisms/message/message.stories.js +58 -0
  525. package/components/03-organisms/message/message.test.js +158 -0
  526. package/components/03-organisms/message/message.twig +69 -0
  527. package/components/03-organisms/mobile-navigation/__snapshots__/mobile-navigation.test.js.snap +928 -0
  528. package/components/03-organisms/mobile-navigation/mobile-navigation-close.twig +31 -0
  529. package/components/03-organisms/mobile-navigation/mobile-navigation-menu.twig +138 -0
  530. package/components/03-organisms/mobile-navigation/mobile-navigation-trigger.twig +28 -0
  531. package/components/03-organisms/mobile-navigation/mobile-navigation.scss +236 -0
  532. package/components/03-organisms/mobile-navigation/mobile-navigation.stories.js +123 -0
  533. package/components/03-organisms/mobile-navigation/mobile-navigation.stories.scss +21 -0
  534. package/components/03-organisms/mobile-navigation/mobile-navigation.test.js +143 -0
  535. package/components/03-organisms/mobile-navigation/mobile-navigation.twig +86 -0
  536. package/components/03-organisms/navigation/__snapshots__/navigation.test.js.snap +561 -0
  537. package/components/03-organisms/navigation/navigation.scss +433 -0
  538. package/components/03-organisms/navigation/navigation.stories.data.js +60 -0
  539. package/components/03-organisms/navigation/navigation.stories.js +58 -0
  540. package/components/03-organisms/navigation/navigation.test.js +122 -0
  541. package/components/03-organisms/navigation/navigation.twig +106 -0
  542. package/components/03-organisms/promo/__snapshots__/promo.test.js.snap +415 -0
  543. package/components/03-organisms/promo/promo.scss +65 -0
  544. package/components/03-organisms/promo/promo.stories.js +70 -0
  545. package/components/03-organisms/promo/promo.test.js +125 -0
  546. package/components/03-organisms/promo/promo.twig +113 -0
  547. package/components/03-organisms/side-navigation/__snapshots__/side-navigation.test.js.snap +393 -0
  548. package/components/03-organisms/side-navigation/side-navigation.scss +215 -0
  549. package/components/03-organisms/side-navigation/side-navigation.stories.data.js +54 -0
  550. package/components/03-organisms/side-navigation/side-navigation.stories.js +39 -0
  551. package/components/03-organisms/side-navigation/side-navigation.test.js +87 -0
  552. package/components/03-organisms/side-navigation/side-navigation.twig +54 -0
  553. package/components/03-organisms/skip-link/__snapshots__/skip-link.test.js.snap +94 -0
  554. package/components/03-organisms/skip-link/skip-link.scss +28 -0
  555. package/components/03-organisms/skip-link/skip-link.stories.js +42 -0
  556. package/components/03-organisms/skip-link/skip-link.test.js +48 -0
  557. package/components/03-organisms/skip-link/skip-link.twig +31 -0
  558. package/components/03-organisms/slider/__snapshots__/slide.test.js.snap +265 -0
  559. package/components/03-organisms/slider/__snapshots__/slider.test.js.snap +638 -0
  560. package/components/03-organisms/slider/slide.test.js +55 -0
  561. package/components/03-organisms/slider/slide.twig +168 -0
  562. package/components/03-organisms/slider/slider.js +159 -0
  563. package/components/03-organisms/slider/slider.scss +158 -0
  564. package/components/03-organisms/slider/slider.stories.js +90 -0
  565. package/components/03-organisms/slider/slider.test.js +84 -0
  566. package/components/03-organisms/slider/slider.twig +116 -0
  567. package/components/03-organisms/webform/__snapshots__/webform.test.js.snap +145 -0
  568. package/components/03-organisms/webform/webform.js +36 -0
  569. package/components/03-organisms/webform/webform.scss +17 -0
  570. package/components/03-organisms/webform/webform.stories.js +45 -0
  571. package/components/03-organisms/webform/webform.test.js +63 -0
  572. package/components/03-organisms/webform/webform.twig +33 -0
  573. package/components/04-templates/event/.gitkeep +0 -0
  574. package/components/04-templates/page/__snapshots__/page.test.js.snap +1503 -0
  575. package/components/04-templates/page/page.scss +11 -0
  576. package/components/04-templates/page/page.stories.data.js +166 -0
  577. package/components/04-templates/page/page.stories.js +163 -0
  578. package/components/04-templates/page/page.test.js +170 -0
  579. package/components/04-templates/page/page.twig +138 -0
  580. package/components/style.css_variables.scss +129 -0
  581. package/components/style.scss +13 -0
  582. package/components/style.stories.scss +15 -0
  583. package/components/variables.base.scss +33 -0
  584. package/components/variables.components.scss +6 -0
  585. package/dist/assets/backgrounds/civictheme_background_1.png +0 -0
  586. package/dist/assets/backgrounds/civictheme_background_2.png +0 -0
  587. package/dist/assets/backgrounds/civictheme_background_3.png +0 -0
  588. package/dist/assets/backgrounds/civictheme_background_4.png +0 -0
  589. package/dist/assets/backgrounds/civictheme_background_5.png +0 -0
  590. package/dist/assets/backgrounds/civictheme_background_6.png +0 -0
  591. package/dist/assets/backgrounds/civictheme_background_7.png +0 -0
  592. package/dist/assets/icons/account.svg +3 -0
  593. package/dist/assets/icons/approve.svg +3 -0
  594. package/dist/assets/icons/bars.svg +3 -0
  595. package/dist/assets/icons/bullet.svg +3 -0
  596. package/dist/assets/icons/calendar-1.svg +3 -0
  597. package/dist/assets/icons/calendar-2.svg +3 -0
  598. package/dist/assets/icons/call.svg +3 -0
  599. package/dist/assets/icons/cancel.svg +3 -0
  600. package/dist/assets/icons/checked.svg +4 -0
  601. package/dist/assets/icons/close-outline.svg +3 -0
  602. package/dist/assets/icons/close.svg +3 -0
  603. package/dist/assets/icons/document.svg +4 -0
  604. package/dist/assets/icons/down-arrow-1.svg +3 -0
  605. package/dist/assets/icons/down-arrow-2.svg +3 -0
  606. package/dist/assets/icons/download-file.svg +3 -0
  607. package/dist/assets/icons/download.svg +3 -0
  608. package/dist/assets/icons/exclamation-mark-1.svg +3 -0
  609. package/dist/assets/icons/exclamation-mark-2.svg +3 -0
  610. package/dist/assets/icons/exclamation-mark-3.svg +3 -0
  611. package/dist/assets/icons/eye.svg +3 -0
  612. package/dist/assets/icons/facebook.svg +3 -0
  613. package/dist/assets/icons/help.svg +3 -0
  614. package/dist/assets/icons/image.svg +5 -0
  615. package/dist/assets/icons/information-mark.svg +3 -0
  616. package/dist/assets/icons/instagram.svg +3 -0
  617. package/dist/assets/icons/layer.svg +4 -0
  618. package/dist/assets/icons/layers.svg +4 -0
  619. package/dist/assets/icons/left-arrow-outline.svg +3 -0
  620. package/dist/assets/icons/left-arrow.svg +3 -0
  621. package/dist/assets/icons/linkedin.svg +3 -0
  622. package/dist/assets/icons/lock-file.svg +4 -0
  623. package/dist/assets/icons/lock-gallery.svg +4 -0
  624. package/dist/assets/icons/magnifier.svg +3 -0
  625. package/dist/assets/icons/map.svg +3 -0
  626. package/dist/assets/icons/megaphone.svg +3 -0
  627. package/dist/assets/icons/message.svg +3 -0
  628. package/dist/assets/icons/mobile.svg +4 -0
  629. package/dist/assets/icons/mortarboard.svg +3 -0
  630. package/dist/assets/icons/newspaper.svg +3 -0
  631. package/dist/assets/icons/open-source.svg +3 -0
  632. package/dist/assets/icons/pdf-file.svg +4 -0
  633. package/dist/assets/icons/progress.svg +3 -0
  634. package/dist/assets/icons/right-arrow-1.svg +3 -0
  635. package/dist/assets/icons/right-arrow-2.svg +3 -0
  636. package/dist/assets/icons/select-box.svg +4 -0
  637. package/dist/assets/icons/share.svg +3 -0
  638. package/dist/assets/icons/square.svg +3 -0
  639. package/dist/assets/icons/to-do.svg +3 -0
  640. package/dist/assets/icons/twitter.svg +3 -0
  641. package/dist/assets/icons/up-arrow.svg +3 -0
  642. package/dist/assets/icons/upper-arrow.svg +3 -0
  643. package/dist/assets/icons/upper-right-arrow.svg +3 -0
  644. package/dist/assets/icons/users.svg +4 -0
  645. package/dist/assets/icons/watch.svg +3 -0
  646. package/dist/assets/icons/water-drop.svg +4 -0
  647. package/dist/assets/icons/web.svg +4 -0
  648. package/dist/assets/icons/word-file.svg +4 -0
  649. package/dist/assets/icons/x.svg +3 -0
  650. package/dist/assets/icons/youtube.svg +3 -0
  651. package/dist/assets/logos/logo_custom_light_desktop_civictheme.svg +32 -0
  652. package/dist/assets/logos/logo_custom_light_mobile_civictheme.svg +32 -0
  653. package/dist/assets/logos/logo_primary_dark_desktop.png +0 -0
  654. package/dist/assets/logos/logo_primary_dark_mobile.png +0 -0
  655. package/dist/assets/logos/logo_primary_light_desktop.png +0 -0
  656. package/dist/assets/logos/logo_primary_light_mobile.png +0 -0
  657. package/dist/assets/logos/logo_secondary_dark_desktop.png +0 -0
  658. package/dist/assets/logos/logo_secondary_dark_mobile.png +0 -0
  659. package/dist/assets/logos/logo_secondary_light_desktop.png +0 -0
  660. package/dist/assets/logos/logo_secondary_light_mobile.png +0 -0
  661. package/dist/civictheme.css +12303 -0
  662. package/dist/civictheme.stories.css +2807 -0
  663. package/dist/civictheme.storybook.css +12303 -0
  664. package/dist/civictheme.storybook.js +4122 -0
  665. package/dist/civictheme.variables.css +1148 -0
  666. package/dist/constants.json +1562 -0
  667. package/package.json +80 -0
@@ -0,0 +1,73 @@
1
+ import DrupalAttribute from 'drupal-attribute';
2
+
3
+ const template = 'components/02-molecules/callout/callout.twig';
4
+
5
+ describe('Callout Component', () => {
6
+ test('renders with required attributes', async () => {
7
+ const c = await dom(template, {
8
+ content: 'This is the main content of the callout.',
9
+ });
10
+
11
+ expect(c.querySelectorAll('.ct-callout')).toHaveLength(1);
12
+ expect(c.querySelector('.ct-callout__content').textContent.trim()).toEqual('This is the main content of the callout.');
13
+
14
+ assertUniqueCssClasses(c);
15
+ });
16
+
17
+ test('renders with optional attributes', async () => {
18
+ const c = await dom(template, {
19
+ content_top: 'Top content',
20
+ title: 'Callout Title',
21
+ content: 'This is the main content of the callout.',
22
+ links: [
23
+ { text: 'Link 1', url: 'https://example.com', is_new_window: true, is_external: true },
24
+ { text: 'Link 2', url: 'https://example.com' },
25
+ ],
26
+ content_bottom: 'Bottom content',
27
+ theme: 'dark',
28
+ vertical_spacing: 'both',
29
+ attributes: new DrupalAttribute().setAttribute('data-test', 'true'),
30
+ modifier_class: 'custom-class',
31
+ });
32
+
33
+ const element = c.querySelector('.ct-callout');
34
+ expect(element).not.toBeNull();
35
+ expect(element.classList.contains('ct-theme-dark')).toBe(true);
36
+ expect(element.classList.contains('ct-vertical-spacing-inset--both')).toBe(true);
37
+ expect(element.classList.contains('custom-class')).toBe(true);
38
+ expect(element.getAttribute('data-test')).toEqual('true');
39
+
40
+ expect(c.querySelector('.ct-callout__content-top').textContent.trim()).toEqual('Top content');
41
+ expect(c.querySelector('.ct-callout__title').textContent.trim()).toEqual('Callout Title');
42
+ expect(c.querySelector('.ct-callout__content').textContent.trim()).toEqual('This is the main content of the callout.');
43
+ expect(c.querySelector('.ct-callout__content-bottom').textContent.trim()).toEqual('Bottom content');
44
+
45
+ const links = c.querySelectorAll('.ct-callout__links .ct-button');
46
+ expect(links).toHaveLength(2);
47
+ expect(links[0].textContent.trim()).toContain('Link 1');
48
+ expect(links[0].getAttribute('href')).toEqual('https://example.com');
49
+ expect(links[0].getAttribute('target')).toEqual('_blank');
50
+ expect(links[1].textContent.trim()).toContain('Link 2');
51
+ expect(links[1].getAttribute('href')).toEqual('https://example.com');
52
+
53
+ assertUniqueCssClasses(c);
54
+ });
55
+
56
+ test('renders with multiple links', async () => {
57
+ const c = await dom(template, {
58
+ links: [
59
+ { text: 'Link 1', url: 'https://example.com' },
60
+ { text: 'Link 2', url: 'https://example.com' },
61
+ { text: 'Link 3', url: 'https://example.com' },
62
+ ],
63
+ });
64
+
65
+ const links = c.querySelectorAll('.ct-callout__links .ct-button');
66
+ expect(links).toHaveLength(3);
67
+ expect(links[0].textContent.trim()).toEqual('Link 1');
68
+ expect(links[1].textContent.trim()).toEqual('Link 2');
69
+ expect(links[2].textContent.trim()).toEqual('Link 3');
70
+
71
+ assertUniqueCssClasses(c);
72
+ });
73
+ });
@@ -0,0 +1,108 @@
1
+ {#
2
+ /**
3
+ * @file
4
+ * CivicTheme Callout component.
5
+ *
6
+ * Props:
7
+ * - theme: [string] Theme variation (light or dark).
8
+ * - vertical_spacing: [string] Vertical spacing position (top, bottom, both).
9
+ * - modifier_class: [string] Additional CSS classes.
10
+ * - links: [array] Callout links:
11
+ * Each item contains:
12
+ * - text: [string] Link text.
13
+ * - url: [string] Link URL.
14
+ * - is_new_window: [boolean] Whether to open link in a new window.
15
+ * - is_external: [boolean] Whether the link is external.
16
+ * - attributes: [Drupal\Core\Template\Attribute] Additional HTML attributes.
17
+ *
18
+ * Slots:
19
+ * - title: Title text.
20
+ * - content: Content text.
21
+ * - content_top: Callout top content.
22
+ * - content_bottom: Callout bottom content.
23
+ *
24
+ * Blocks:
25
+ * - content_top_block
26
+ * - content_block
27
+ * - links_block
28
+ * - content_bottom_block
29
+ */
30
+ #}
31
+
32
+ {% set vertical_spacing_class = vertical_spacing in ['top', 'bottom', 'both'] ? 'ct-vertical-spacing-inset--%s'|format(vertical_spacing) : '' %}
33
+ {% set theme_class = 'ct-theme-%s'|format(theme|default('light')) %}
34
+ {% set modifier_class = '%s %s %s'|format(theme_class, vertical_spacing_class, modifier_class|default('')) %}
35
+
36
+ <div class="ct-callout {{ modifier_class -}}" {% if attributes is defined and attributes is not null %}{{- attributes -}}{% endif %}>
37
+ <div class="container">
38
+ <div class="row">
39
+ <div class="col-xxs-12">
40
+ <div class="ct-callout__wrapper">
41
+ {% block content_top_block %}
42
+ {% if content_top is not empty %}
43
+ <div class="ct-callout__content-top">
44
+ {{- content_top -}}
45
+ </div>
46
+ {% endif %}
47
+ {% endblock %}
48
+
49
+ {% block content_block %}
50
+ {% if title is not empty or content is not empty %}
51
+ <div class="ct-callout__inner">
52
+ {% if title %}
53
+ {% include '@atoms/heading/heading.twig' with {
54
+ content: title,
55
+ level: 4,
56
+ theme: theme,
57
+ modifier_class: 'ct-callout__title',
58
+ } only %}
59
+ {% endif %}
60
+
61
+ {% if content is not empty %}
62
+ {% include '@atoms/paragraph/paragraph.twig' with {
63
+ theme: theme,
64
+ content: content,
65
+ no_margin: true,
66
+ modifier_class: 'ct-callout__content',
67
+ } only %}
68
+ {% endif %}
69
+ </div>
70
+ {% endif %}
71
+ {% endblock %}
72
+
73
+ {% block links_block %}
74
+ {% set link_items = [] %}
75
+ {% for link in links %}
76
+ {%- set link %}
77
+ {% include '@atoms/button/button.twig' with {
78
+ theme: theme,
79
+ kind: 'link',
80
+ type: loop.index > 1 ? 'secondary' : 'primary',
81
+ text: link.text,
82
+ url: link.url,
83
+ is_external: link.is_external,
84
+ is_new_window: link.is_new_window,
85
+ } only %}
86
+ {% endset -%}
87
+ {% set link_items = link_items|merge([link]) %}
88
+ {% endfor %}
89
+
90
+ {% include '@base/item-list/item-list.twig' with {
91
+ items: link_items,
92
+ size: 'small',
93
+ modifier_class: 'ct-callout__links',
94
+ } only %}
95
+ {% endblock %}
96
+
97
+ {% block content_bottom_block %}
98
+ {% if content_bottom is not empty %}
99
+ <div class="ct-callout__content-bottom">
100
+ {{- content_bottom -}}
101
+ </div>
102
+ {% endif %}
103
+ {% endblock %}
104
+ </div>
105
+ </div>
106
+ </div>
107
+ </div>
108
+ </div>
@@ -0,0 +1,382 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Event Card Component renders with optional attributes 1`] = `
4
+ <div>
5
+
6
+
7
+
8
+ <div
9
+ class="ct-event-card ct-theme-dark ct-event-card--with-image ct-event-card--image-over ct-event-card--card-clickable custom-class"
10
+ data-test="true"
11
+ >
12
+
13
+
14
+ <div
15
+ class="ct-event-card__image"
16
+ >
17
+
18
+
19
+
20
+
21
+
22
+ <img
23
+ alt="Image description"
24
+ class="ct-image ct-theme-dark "
25
+ src="https://example.com/image.jpg"
26
+ />
27
+
28
+
29
+
30
+ <div
31
+ class="ct-event-card__image__over"
32
+ >
33
+
34
+ Image over content
35
+
36
+ </div>
37
+
38
+
39
+ </div>
40
+
41
+
42
+
43
+ <div
44
+ class="ct-event-card__content"
45
+ >
46
+
47
+
48
+ <div
49
+ class="ct-event-card__content-top"
50
+ >
51
+ Top content
52
+ </div>
53
+
54
+
55
+
56
+
57
+ <div
58
+ class="ct-event-card__date"
59
+ >
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+ <span
68
+ class="ct-tag ct-theme-dark ct-tag--secondary ct-tag--with-icon ct-tag--icon-before "
69
+ >
70
+
71
+
72
+ <svg
73
+ aria-hidden="true"
74
+ class="ct-icon ct-tag__icon"
75
+ height="24"
76
+ role="img"
77
+ viewBox="0 0 24 24"
78
+ width="24"
79
+ xmlns="http://www.w3.org/2000/svg"
80
+ >
81
+
82
+
83
+ <path
84
+ d="M12 14C12.1978 14 12.3911 13.9414 12.5556 13.8315C12.72 13.7216 12.8482 13.5654 12.9239 13.3827C12.9996 13.2 13.0194 12.9989 12.9808 12.8049C12.9422 12.6109 12.847 12.4327 12.7071 12.2929C12.5673 12.153 12.3891 12.0578 12.1951 12.0192C12.0011 11.9806 11.8 12.0004 11.6173 12.0761C11.4346 12.1518 11.2784 12.28 11.1685 12.4444C11.0586 12.6089 11 12.8022 11 13C11 13.2652 11.1054 13.5196 11.2929 13.7071C11.4804 13.8946 11.7348 14 12 14ZM17 14C17.1978 14 17.3911 13.9414 17.5556 13.8315C17.72 13.7216 17.8482 13.5654 17.9239 13.3827C17.9996 13.2 18.0194 12.9989 17.9808 12.8049C17.9422 12.6109 17.847 12.4327 17.7071 12.2929C17.5673 12.153 17.3891 12.0578 17.1951 12.0192C17.0011 11.9806 16.8 12.0004 16.6173 12.0761C16.4346 12.1518 16.2784 12.28 16.1685 12.4444C16.0586 12.6089 16 12.8022 16 13C16 13.2652 16.1054 13.5196 16.2929 13.7071C16.4804 13.8946 16.7348 14 17 14ZM12 18C12.1978 18 12.3911 17.9414 12.5556 17.8315C12.72 17.7216 12.8482 17.5654 12.9239 17.3827C12.9996 17.2 13.0194 16.9989 12.9808 16.8049C12.9422 16.6109 12.847 16.4327 12.7071 16.2929C12.5673 16.153 12.3891 16.0578 12.1951 16.0192C12.0011 15.9806 11.8 16.0004 11.6173 16.0761C11.4346 16.1518 11.2784 16.28 11.1685 16.4444C11.0586 16.6089 11 16.8022 11 17C11 17.2652 11.1054 17.5196 11.2929 17.7071C11.4804 17.8946 11.7348 18 12 18ZM17 18C17.1978 18 17.3911 17.9414 17.5556 17.8315C17.72 17.7216 17.8482 17.5654 17.9239 17.3827C17.9996 17.2 18.0194 16.9989 17.9808 16.8049C17.9422 16.6109 17.847 16.4327 17.7071 16.2929C17.5673 16.153 17.3891 16.0578 17.1951 16.0192C17.0011 15.9806 16.8 16.0004 16.6173 16.0761C16.4346 16.1518 16.2784 16.28 16.1685 16.4444C16.0586 16.6089 16 16.8022 16 17C16 17.2652 16.1054 17.5196 16.2929 17.7071C16.4804 17.8946 16.7348 18 17 18ZM7 14C7.19778 14 7.39112 13.9414 7.55557 13.8315C7.72002 13.7216 7.84819 13.5654 7.92388 13.3827C7.99957 13.2 8.01937 12.9989 7.98079 12.8049C7.9422 12.6109 7.84696 12.4327 7.70711 12.2929C7.56725 12.153 7.38907 12.0578 7.19509 12.0192C7.00111 11.9806 6.80004 12.0004 6.61732 12.0761C6.43459 12.1518 6.27841 12.28 6.16853 12.4444C6.05865 12.6089 6 12.8022 6 13C6 13.2652 6.10536 13.5196 6.29289 13.7071C6.48043 13.8946 6.73478 14 7 14ZM19 4H18V3C18 2.73478 17.8946 2.48043 17.7071 2.29289C17.5196 2.10536 17.2652 2 17 2C16.7348 2 16.4804 2.10536 16.2929 2.29289C16.1054 2.48043 16 2.73478 16 3V4H8V3C8 2.73478 7.89464 2.48043 7.70711 2.29289C7.51957 2.10536 7.26522 2 7 2C6.73478 2 6.48043 2.10536 6.29289 2.29289C6.10536 2.48043 6 2.73478 6 3V4H5C4.20435 4 3.44129 4.31607 2.87868 4.87868C2.31607 5.44129 2 6.20435 2 7V19C2 19.7956 2.31607 20.5587 2.87868 21.1213C3.44129 21.6839 4.20435 22 5 22H19C19.7956 22 20.5587 21.6839 21.1213 21.1213C21.6839 20.5587 22 19.7956 22 19V7C22 6.20435 21.6839 5.44129 21.1213 4.87868C20.5587 4.31607 19.7956 4 19 4ZM20 19C20 19.2652 19.8946 19.5196 19.7071 19.7071C19.5196 19.8946 19.2652 20 19 20H5C4.73478 20 4.48043 19.8946 4.29289 19.7071C4.10536 19.5196 4 19.2652 4 19V10H20V19ZM20 8H4V7C4 6.73478 4.10536 6.48043 4.29289 6.29289C4.48043 6.10536 4.73478 6 5 6H19C19.2652 6 19.5196 6.10536 19.7071 6.29289C19.8946 6.48043 20 6.73478 20 7V8ZM7 18C7.19778 18 7.39112 17.9414 7.55557 17.8315C7.72002 17.7216 7.84819 17.5654 7.92388 17.3827C7.99957 17.2 8.01937 16.9989 7.98079 16.8049C7.9422 16.6109 7.84696 16.4327 7.70711 16.2929C7.56725 16.153 7.38907 16.0578 7.19509 16.0192C7.00111 15.9806 6.80004 16.0004 6.61732 16.0761C6.43459 16.1518 6.27841 16.28 6.16853 16.4444C6.05865 16.6089 6 16.8022 6 17C6 17.2652 6.10536 17.5196 6.29289 17.7071C6.48043 17.8946 6.73478 18 7 18Z"
85
+ />
86
+
87
+
88
+ </svg>
89
+
90
+
91
+ <span
92
+ class="ct-datetime "
93
+ >
94
+
95
+
96
+ <time
97
+ class="ct-timestamp__start"
98
+ datetime="2023-01-01T12:00:00Z"
99
+ >
100
+ 2023-01-01 12:00
101
+ </time>
102
+
103
+
104
+ </span>
105
+
106
+
107
+
108
+ </span>
109
+
110
+
111
+ </div>
112
+
113
+
114
+
115
+ <div
116
+ class="ct-event-card__title"
117
+ >
118
+
119
+ <a
120
+ class="ct-event-card__title-link"
121
+ href="https://example.com"
122
+ >
123
+ Event Title
124
+ </a>
125
+
126
+
127
+ </div>
128
+
129
+
130
+
131
+ <div
132
+ class="ct-event-card__middle"
133
+ >
134
+ Middle content
135
+ </div>
136
+
137
+
138
+
139
+
140
+
141
+ <div
142
+ class="ct-paragraph ct-theme-dark ct-paragraph--regular ct-event-card__location"
143
+ >
144
+ Event Location
145
+ </div>
146
+
147
+
148
+
149
+
150
+ <div
151
+ class="ct-paragraph ct-theme-dark ct-paragraph--regular ct-paragraph--no-margin ct-event-card__summary"
152
+ >
153
+ This is a summary of the event.
154
+ </div>
155
+
156
+
157
+ <div
158
+ class="ct-event-card__tags"
159
+ >
160
+
161
+
162
+
163
+
164
+ <div
165
+ class="ct-tag-list ct-theme-dark "
166
+ >
167
+
168
+
169
+
170
+
171
+
172
+ <ul
173
+ class="ct-item-list ct-item-list--horizontal ct-item-list--small ct-tag-list__content"
174
+ >
175
+
176
+
177
+ <li
178
+ class="ct-item-list__item"
179
+ >
180
+
181
+
182
+
183
+
184
+
185
+
186
+ <span
187
+ class="ct-tag ct-theme-dark ct-tag--primary "
188
+ >
189
+ Tag 1
190
+ </span>
191
+
192
+
193
+ </li>
194
+
195
+
196
+ <li
197
+ class="ct-item-list__item"
198
+ >
199
+
200
+
201
+
202
+
203
+
204
+
205
+ <span
206
+ class="ct-tag ct-theme-dark ct-tag--primary "
207
+ >
208
+ Tag 2
209
+ </span>
210
+
211
+
212
+ </li>
213
+
214
+
215
+ </ul>
216
+
217
+
218
+
219
+ </div>
220
+
221
+
222
+
223
+ <div
224
+ class="ct-event-card__link-graphic"
225
+ >
226
+
227
+
228
+ <svg
229
+ aria-hidden="true"
230
+ class="ct-icon ct-icon--size-regular"
231
+ height="24"
232
+ role="img"
233
+ viewBox="0 0 24 24"
234
+ width="24"
235
+ xmlns="http://www.w3.org/2000/svg"
236
+ >
237
+
238
+
239
+ <path
240
+ d="M17.92 11.62C17.8724 11.4973 17.801 11.3851 17.71 11.29L12.71 6.29C12.6168 6.19676 12.5061 6.1228 12.3842 6.07234C12.2624 6.02188 12.1319 5.99591 12 5.99591C11.7337 5.99591 11.4783 6.1017 11.29 6.29C11.1968 6.38324 11.1228 6.49393 11.0723 6.61575C11.0219 6.73758 10.9959 6.86814 10.9959 7C10.9959 7.2663 11.1017 7.5217 11.29 7.71L14.59 11H7C6.73478 11 6.48043 11.1054 6.29289 11.2929C6.10536 11.4804 6 11.7348 6 12C6 12.2652 6.10536 12.5196 6.29289 12.7071C6.48043 12.8946 6.73478 13 7 13H14.59L11.29 16.29C11.1963 16.383 11.1219 16.4936 11.0711 16.6154C11.0203 16.7373 10.9942 16.868 10.9942 17C10.9942 17.132 11.0203 17.2627 11.0711 17.3846C11.1219 17.5064 11.1963 17.617 11.29 17.71C11.383 17.8037 11.4936 17.8781 11.6154 17.9289C11.7373 17.9797 11.868 18.0058 12 18.0058C12.132 18.0058 12.2627 17.9797 12.3846 17.9289C12.5064 17.8781 12.617 17.8037 12.71 17.71L17.71 12.71C17.801 12.6149 17.8724 12.5028 17.92 12.38C18.02 12.1365 18.02 11.8635 17.92 11.62Z"
241
+ />
242
+
243
+
244
+ </svg>
245
+
246
+
247
+ </div>
248
+
249
+
250
+ </div>
251
+
252
+
253
+
254
+ <div
255
+ class="ct-event-card__content-bottom"
256
+ >
257
+ Bottom content
258
+ </div>
259
+
260
+
261
+ </div>
262
+
263
+
264
+ </div>
265
+
266
+
267
+ </div>
268
+ `;
269
+
270
+ exports[`Event Card Component renders with required attributes 1`] = `
271
+ <div>
272
+
273
+
274
+
275
+ <div
276
+ class="ct-event-card ct-theme-light "
277
+ >
278
+
279
+
280
+
281
+ <div
282
+ class="ct-event-card__content"
283
+ >
284
+
285
+
286
+
287
+
288
+ <div
289
+ class="ct-event-card__date"
290
+ >
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+ <span
299
+ class="ct-tag ct-theme-light ct-tag--secondary ct-tag--with-icon ct-tag--icon-before "
300
+ >
301
+
302
+
303
+ <svg
304
+ aria-hidden="true"
305
+ class="ct-icon ct-tag__icon"
306
+ height="24"
307
+ role="img"
308
+ viewBox="0 0 24 24"
309
+ width="24"
310
+ xmlns="http://www.w3.org/2000/svg"
311
+ >
312
+
313
+
314
+ <path
315
+ d="M12 14C12.1978 14 12.3911 13.9414 12.5556 13.8315C12.72 13.7216 12.8482 13.5654 12.9239 13.3827C12.9996 13.2 13.0194 12.9989 12.9808 12.8049C12.9422 12.6109 12.847 12.4327 12.7071 12.2929C12.5673 12.153 12.3891 12.0578 12.1951 12.0192C12.0011 11.9806 11.8 12.0004 11.6173 12.0761C11.4346 12.1518 11.2784 12.28 11.1685 12.4444C11.0586 12.6089 11 12.8022 11 13C11 13.2652 11.1054 13.5196 11.2929 13.7071C11.4804 13.8946 11.7348 14 12 14ZM17 14C17.1978 14 17.3911 13.9414 17.5556 13.8315C17.72 13.7216 17.8482 13.5654 17.9239 13.3827C17.9996 13.2 18.0194 12.9989 17.9808 12.8049C17.9422 12.6109 17.847 12.4327 17.7071 12.2929C17.5673 12.153 17.3891 12.0578 17.1951 12.0192C17.0011 11.9806 16.8 12.0004 16.6173 12.0761C16.4346 12.1518 16.2784 12.28 16.1685 12.4444C16.0586 12.6089 16 12.8022 16 13C16 13.2652 16.1054 13.5196 16.2929 13.7071C16.4804 13.8946 16.7348 14 17 14ZM12 18C12.1978 18 12.3911 17.9414 12.5556 17.8315C12.72 17.7216 12.8482 17.5654 12.9239 17.3827C12.9996 17.2 13.0194 16.9989 12.9808 16.8049C12.9422 16.6109 12.847 16.4327 12.7071 16.2929C12.5673 16.153 12.3891 16.0578 12.1951 16.0192C12.0011 15.9806 11.8 16.0004 11.6173 16.0761C11.4346 16.1518 11.2784 16.28 11.1685 16.4444C11.0586 16.6089 11 16.8022 11 17C11 17.2652 11.1054 17.5196 11.2929 17.7071C11.4804 17.8946 11.7348 18 12 18ZM17 18C17.1978 18 17.3911 17.9414 17.5556 17.8315C17.72 17.7216 17.8482 17.5654 17.9239 17.3827C17.9996 17.2 18.0194 16.9989 17.9808 16.8049C17.9422 16.6109 17.847 16.4327 17.7071 16.2929C17.5673 16.153 17.3891 16.0578 17.1951 16.0192C17.0011 15.9806 16.8 16.0004 16.6173 16.0761C16.4346 16.1518 16.2784 16.28 16.1685 16.4444C16.0586 16.6089 16 16.8022 16 17C16 17.2652 16.1054 17.5196 16.2929 17.7071C16.4804 17.8946 16.7348 18 17 18ZM7 14C7.19778 14 7.39112 13.9414 7.55557 13.8315C7.72002 13.7216 7.84819 13.5654 7.92388 13.3827C7.99957 13.2 8.01937 12.9989 7.98079 12.8049C7.9422 12.6109 7.84696 12.4327 7.70711 12.2929C7.56725 12.153 7.38907 12.0578 7.19509 12.0192C7.00111 11.9806 6.80004 12.0004 6.61732 12.0761C6.43459 12.1518 6.27841 12.28 6.16853 12.4444C6.05865 12.6089 6 12.8022 6 13C6 13.2652 6.10536 13.5196 6.29289 13.7071C6.48043 13.8946 6.73478 14 7 14ZM19 4H18V3C18 2.73478 17.8946 2.48043 17.7071 2.29289C17.5196 2.10536 17.2652 2 17 2C16.7348 2 16.4804 2.10536 16.2929 2.29289C16.1054 2.48043 16 2.73478 16 3V4H8V3C8 2.73478 7.89464 2.48043 7.70711 2.29289C7.51957 2.10536 7.26522 2 7 2C6.73478 2 6.48043 2.10536 6.29289 2.29289C6.10536 2.48043 6 2.73478 6 3V4H5C4.20435 4 3.44129 4.31607 2.87868 4.87868C2.31607 5.44129 2 6.20435 2 7V19C2 19.7956 2.31607 20.5587 2.87868 21.1213C3.44129 21.6839 4.20435 22 5 22H19C19.7956 22 20.5587 21.6839 21.1213 21.1213C21.6839 20.5587 22 19.7956 22 19V7C22 6.20435 21.6839 5.44129 21.1213 4.87868C20.5587 4.31607 19.7956 4 19 4ZM20 19C20 19.2652 19.8946 19.5196 19.7071 19.7071C19.5196 19.8946 19.2652 20 19 20H5C4.73478 20 4.48043 19.8946 4.29289 19.7071C4.10536 19.5196 4 19.2652 4 19V10H20V19ZM20 8H4V7C4 6.73478 4.10536 6.48043 4.29289 6.29289C4.48043 6.10536 4.73478 6 5 6H19C19.2652 6 19.5196 6.10536 19.7071 6.29289C19.8946 6.48043 20 6.73478 20 7V8ZM7 18C7.19778 18 7.39112 17.9414 7.55557 17.8315C7.72002 17.7216 7.84819 17.5654 7.92388 17.3827C7.99957 17.2 8.01937 16.9989 7.98079 16.8049C7.9422 16.6109 7.84696 16.4327 7.70711 16.2929C7.56725 16.153 7.38907 16.0578 7.19509 16.0192C7.00111 15.9806 6.80004 16.0004 6.61732 16.0761C6.43459 16.1518 6.27841 16.28 6.16853 16.4444C6.05865 16.6089 6 16.8022 6 17C6 17.2652 6.10536 17.5196 6.29289 17.7071C6.48043 17.8946 6.73478 18 7 18Z"
316
+ />
317
+
318
+
319
+ </svg>
320
+
321
+
322
+ <span
323
+ class="ct-datetime "
324
+ >
325
+
326
+
327
+ <time
328
+ class="ct-timestamp__start"
329
+ datetime="2023-01-01T12:00:00Z"
330
+ >
331
+ 2023-01-01 12:00
332
+ </time>
333
+
334
+
335
+ </span>
336
+
337
+
338
+
339
+ </span>
340
+
341
+
342
+ </div>
343
+
344
+
345
+
346
+ <div
347
+ class="ct-event-card__title"
348
+ >
349
+ Event Title
350
+
351
+ </div>
352
+
353
+
354
+
355
+
356
+
357
+
358
+ <div
359
+ class="ct-paragraph ct-theme-light ct-paragraph--regular ct-event-card__location"
360
+ >
361
+ Event Location
362
+ </div>
363
+
364
+
365
+
366
+
367
+ <div
368
+ class="ct-paragraph ct-theme-light ct-paragraph--regular ct-paragraph--no-margin ct-event-card__summary"
369
+ >
370
+ This is a summary of the event.
371
+ </div>
372
+
373
+
374
+
375
+ </div>
376
+
377
+
378
+ </div>
379
+
380
+
381
+ </div>
382
+ `;