@reykjavik/hanna-react 0.10.56 → 0.10.59

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 (378) hide show
  1. package/{AccordionList.jsx → AccordionList.js} +5 -14
  2. package/ActionCards.d.ts +1 -1
  3. package/{ActionCards.jsx → ActionCards.js} +3 -4
  4. package/{Alert.jsx → Alert.js} +7 -9
  5. package/ArticleCards.d.ts +6 -0
  6. package/ArticleCards.js +9 -0
  7. package/ArticleCarousel/_ArticleCarouselCard.d.ts +1 -1
  8. package/ArticleCarousel/_ArticleCarouselCard.js +31 -0
  9. package/{ArticleCarousel.jsx → ArticleCarousel.js} +1 -1
  10. package/ArticleMeta.d.ts +1 -0
  11. package/{ArticleMeta.jsx → ArticleMeta.js} +15 -10
  12. package/{Attention.jsx → Attention.js} +1 -1
  13. package/{BasicTable.jsx → BasicTable.js} +11 -12
  14. package/BgBox.d.ts +8 -0
  15. package/BgBox.js +14 -0
  16. package/{Bling.jsx → Bling.js} +2 -2
  17. package/{BlockBreak.jsx → BlockBreak.js} +1 -1
  18. package/{BlockQuote.jsx → BlockQuote.js} +1 -1
  19. package/BreadCrumbs.js +33 -0
  20. package/ButtonBack.d.ts +1 -1
  21. package/{ButtonBack.jsx → ButtonBack.js} +2 -2
  22. package/{ButtonBar.jsx → ButtonBar.js} +2 -4
  23. package/ButtonPrimary.d.ts +1 -1
  24. package/{ButtonPrimary.jsx → ButtonPrimary.js} +2 -2
  25. package/ButtonSecondary.d.ts +1 -1
  26. package/{ButtonSecondary.jsx → ButtonSecondary.js} +2 -2
  27. package/ButtonTertiary.d.ts +1 -1
  28. package/{ButtonTertiary.jsx → ButtonTertiary.js} +2 -2
  29. package/CHANGELOG.md +12 -1
  30. package/{Carousel.jsx → Carousel.js} +1 -1
  31. package/{CarouselStepper.jsx → CarouselStepper.js} +1 -1
  32. package/{CenterColumn.jsx → CenterColumn.js} +1 -3
  33. package/Checkbox.d.ts +1 -1
  34. package/{Checkbox.jsx → Checkbox.js} +2 -2
  35. package/CheckboxButtonsGroup.d.ts +1 -1
  36. package/{CheckboxButtonsGroup.jsx → CheckboxButtonsGroup.js} +4 -4
  37. package/CheckboxGroup.d.ts +1 -1
  38. package/{CheckboxGroup.jsx → CheckboxGroup.js} +2 -2
  39. package/CityBlock.d.ts +1 -1
  40. package/{CityBlock.jsx → CityBlock.js} +1 -1
  41. package/{ContactBubble.jsx → ContactBubble.js} +13 -27
  42. package/{ContentArticle.jsx → ContentArticle.js} +9 -12
  43. package/ContentImage.d.ts +1 -1
  44. package/ContentImage.js +23 -0
  45. package/{Datepicker.jsx → Datepicker.js} +17 -18
  46. package/ExtraLinks.d.ts +1 -1
  47. package/{ExtraLinks.jsx → ExtraLinks.js} +11 -19
  48. package/FeatureList.js +21 -0
  49. package/{FieldGroup.jsx → FieldGroup.js} +3 -4
  50. package/{FileInput.jsx → FileInput.js} +22 -25
  51. package/{Foonote.jsx → Foonote.js} +0 -0
  52. package/FooterBadges.js +17 -0
  53. package/FooterInfo.js +14 -0
  54. package/{Footnote.jsx → Footnote.js} +1 -1
  55. package/{Form.jsx → Form.js} +2 -4
  56. package/{FormField.jsx → FormField.js} +20 -22
  57. package/Gallery/_GalleryItem.d.ts +1 -1
  58. package/Gallery/{_GalleryItem.jsx → _GalleryItem.js} +10 -11
  59. package/Gallery/{_GalleryModal.jsx → _GalleryModal.js} +11 -15
  60. package/Gallery/{_GalleryModalItem.jsx → _GalleryModalItem.js} +6 -8
  61. package/{Gallery.jsx → Gallery.js} +3 -4
  62. package/GridBlocks.d.ts +2 -2
  63. package/GridBlocks.js +29 -0
  64. package/Heading.d.ts +1 -1
  65. package/{Heading.jsx → Heading.js} +3 -5
  66. package/HeroBlock.d.ts +2 -2
  67. package/{HeroBlock.jsx → HeroBlock.js} +9 -10
  68. package/{IframeBlock.jsx → IframeBlock.js} +6 -6
  69. package/Illustration.d.ts +1 -1
  70. package/{Illustration.jsx → Illustration.js} +2 -2
  71. package/ImageCards.d.ts +1 -1
  72. package/{ImageCards.jsx → ImageCards.js} +3 -4
  73. package/InfoBlock.js +18 -0
  74. package/InfoHero.d.ts +2 -2
  75. package/{InfoHero.jsx → InfoHero.js} +10 -16
  76. package/IslandBlock.d.ts +1 -1
  77. package/{IslandBlock.jsx → IslandBlock.js} +1 -1
  78. package/IslandPageBlock.d.ts +1 -1
  79. package/{IslandPageBlock.jsx → IslandPageBlock.js} +1 -1
  80. package/LabeledTextBlock.d.ts +1 -1
  81. package/{LabeledTextBlock.jsx → LabeledTextBlock.js} +5 -7
  82. package/Layout.js +58 -0
  83. package/MainMenu/_Auxiliary.js +20 -0
  84. package/MainMenu/_PrimaryPanel.js +29 -0
  85. package/{MainMenu.jsx → MainMenu.js} +28 -41
  86. package/MiniMetrics.d.ts +1 -1
  87. package/{MiniMetrics.jsx → MiniMetrics.js} +6 -5
  88. package/Modal.js +19 -0
  89. package/{NameCard.jsx → NameCard.js} +19 -24
  90. package/{NameCards.jsx → NameCards.js} +1 -3
  91. package/NewsHero.d.ts +1 -1
  92. package/{NewsHero.jsx → NewsHero.js} +8 -10
  93. package/{PageFilter.jsx → PageFilter.js} +6 -7
  94. package/{PageHeading.jsx → PageHeading.js} +2 -4
  95. package/Picture.d.ts +7 -0
  96. package/Picture.js +13 -0
  97. package/ProcessOverview.js +22 -0
  98. package/{PullQuote.jsx → PullQuote.js} +1 -1
  99. package/RadioButtonsGroup.d.ts +1 -1
  100. package/{RadioButtonsGroup.jsx → RadioButtonsGroup.js} +4 -4
  101. package/RadioGroup.d.ts +2 -2
  102. package/RadioGroup.js +12 -0
  103. package/RelatedLinks.js +31 -0
  104. package/{RowBlock.jsx → RowBlock.js} +1 -3
  105. package/{RowBlockColumn.jsx → RowBlockColumn.js} +2 -4
  106. package/{SearchInput.jsx → SearchInput.js} +4 -6
  107. package/SearchResults/_SearchResultsItem.js +20 -0
  108. package/{SearchResults.jsx → SearchResults.js} +27 -36
  109. package/{SeenEffect.jsx → SeenEffect.js} +1 -1
  110. package/{Selectbox.jsx → Selectbox.js} +1 -1
  111. package/{ShareButtons.jsx → ShareButtons.js} +7 -13
  112. package/{Sharpie.jsx → Sharpie.js} +1 -1
  113. package/{SiteSearchAutocomplete.jsx → SiteSearchAutocomplete.js} +5 -7
  114. package/{SiteSearchCurtain.jsx → SiteSearchCurtain.js} +1 -5
  115. package/SiteSearchInput.d.ts +1 -1
  116. package/{SiteSearchInput.jsx → SiteSearchInput.js} +10 -12
  117. package/{Skeleton.jsx → Skeleton.js} +5 -5
  118. package/{SubHeading.jsx → SubHeading.js} +2 -4
  119. package/{Tabs.jsx → Tabs.js} +12 -12
  120. package/TagPill.d.ts +1 -1
  121. package/{TagPill.jsx → TagPill.js} +12 -17
  122. package/{TextBlock.jsx → TextBlock.js} +2 -4
  123. package/TextButton.d.ts +1 -1
  124. package/{TextButton.jsx → TextButton.js} +2 -2
  125. package/{TextInput.jsx → TextInput.js} +1 -1
  126. package/{VSpacer.jsx → VSpacer.js} +1 -1
  127. package/{VerticalTabsTOC.jsx → VerticalTabsTOC.js} +2 -2
  128. package/WizardLayout.js +35 -0
  129. package/WizardLayoutClose.d.ts +1 -1
  130. package/{WizardLayoutClose.jsx → WizardLayoutClose.js} +2 -2
  131. package/WizardStepper.js +30 -0
  132. package/_abstract/{_AbstractCarousel.jsx → _AbstractCarousel.js} +7 -10
  133. package/_abstract/{_Blings.jsx → _Blings.js} +1 -3
  134. package/_abstract/_Block.d.ts +2 -2
  135. package/_abstract/_Block.js +29 -0
  136. package/_abstract/{Button.d.ts → _Button.d.ts} +0 -0
  137. package/_abstract/{Button.jsx → _Button.js} +3 -7
  138. package/_abstract/{CardList.d.ts → _CardList.d.ts} +2 -1
  139. package/_abstract/_CardList.js +45 -0
  140. package/{esm/_abstract/Image.d.ts → _abstract/_Image.d.ts} +9 -5
  141. package/_abstract/{Image.jsx → _Image.js} +11 -13
  142. package/_abstract/{Link.d.ts → _Link.d.ts} +0 -0
  143. package/_abstract/{Link.jsx → _Link.js} +0 -0
  144. package/_abstract/_Quote.js +15 -0
  145. package/{esm/_abstract/TogglerGroup.d.ts → _abstract/_TogglerGroup.d.ts} +1 -1
  146. package/_abstract/_TogglerGroup.js +34 -0
  147. package/_abstract/{TogglerGroupField.d.ts → _TogglerGroupField.d.ts} +2 -2
  148. package/_abstract/{TogglerGroupField.jsx → _TogglerGroupField.js} +4 -4
  149. package/_abstract/{TogglerInput.d.ts → _TogglerInput.d.ts} +0 -0
  150. package/_abstract/{TogglerInput.jsx → _TogglerInput.js} +13 -15
  151. package/_abstract/{breakOnNL.jsx → breakOnNL.js} +1 -1
  152. package/esm/AccordionList.js +24 -0
  153. package/esm/ActionCards.d.ts +1 -1
  154. package/esm/ActionCards.js +9 -0
  155. package/esm/{Alert.jsx → Alert.js} +7 -9
  156. package/esm/ArticleCards.d.ts +6 -0
  157. package/esm/ArticleCards.js +4 -0
  158. package/esm/ArticleCarousel/_ArticleCarouselCard.d.ts +1 -1
  159. package/esm/ArticleCarousel/_ArticleCarouselCard.js +24 -0
  160. package/esm/{ArticleCarousel.jsx → ArticleCarousel.js} +1 -1
  161. package/esm/ArticleMeta.d.ts +1 -0
  162. package/esm/ArticleMeta.js +19 -0
  163. package/esm/Attention.js +4 -0
  164. package/esm/{BasicTable.jsx → BasicTable.js} +11 -12
  165. package/esm/BgBox.d.ts +8 -0
  166. package/esm/BgBox.js +9 -0
  167. package/esm/{Bling.jsx → Bling.js} +2 -2
  168. package/esm/BlockBreak.js +6 -0
  169. package/esm/BlockQuote.js +4 -0
  170. package/esm/BreadCrumbs.js +28 -0
  171. package/esm/ButtonBack.d.ts +1 -1
  172. package/esm/ButtonBack.js +4 -0
  173. package/esm/{ButtonBar.jsx → ButtonBar.js} +2 -4
  174. package/esm/ButtonPrimary.d.ts +1 -1
  175. package/esm/ButtonPrimary.js +4 -0
  176. package/esm/ButtonSecondary.d.ts +1 -1
  177. package/esm/ButtonSecondary.js +4 -0
  178. package/esm/ButtonTertiary.d.ts +1 -1
  179. package/esm/{ButtonTertiary.jsx → ButtonTertiary.js} +2 -2
  180. package/esm/Carousel.js +4 -0
  181. package/esm/CarouselStepper.js +4 -0
  182. package/esm/CenterColumn.js +7 -0
  183. package/esm/Checkbox.d.ts +1 -1
  184. package/esm/Checkbox.js +4 -0
  185. package/esm/CheckboxButtonsGroup.d.ts +1 -1
  186. package/esm/CheckboxButtonsGroup.js +14 -0
  187. package/esm/CheckboxGroup.d.ts +1 -1
  188. package/esm/CheckboxGroup.js +7 -0
  189. package/esm/CityBlock.d.ts +1 -1
  190. package/esm/{CityBlock.jsx → CityBlock.js} +1 -1
  191. package/esm/{ContactBubble.jsx → ContactBubble.js} +13 -27
  192. package/esm/ContentArticle.js +21 -0
  193. package/esm/ContentImage.d.ts +1 -1
  194. package/esm/ContentImage.js +18 -0
  195. package/esm/{Datepicker.jsx → Datepicker.js} +17 -18
  196. package/esm/ExtraLinks.d.ts +1 -1
  197. package/esm/{ExtraLinks.jsx → ExtraLinks.js} +11 -19
  198. package/esm/FeatureList.js +16 -0
  199. package/esm/FieldGroup.js +9 -0
  200. package/esm/{FileInput.jsx → FileInput.js} +22 -25
  201. package/esm/{Foonote.jsx → Foonote.js} +0 -0
  202. package/esm/FooterBadges.js +12 -0
  203. package/esm/FooterInfo.js +9 -0
  204. package/esm/Footnote.js +3 -0
  205. package/esm/{Form.jsx → Form.js} +2 -4
  206. package/esm/{FormField.jsx → FormField.js} +20 -22
  207. package/esm/Gallery/_GalleryItem.d.ts +1 -1
  208. package/esm/Gallery/{_GalleryItem.jsx → _GalleryItem.js} +10 -11
  209. package/esm/Gallery/{_GalleryModal.jsx → _GalleryModal.js} +11 -15
  210. package/esm/Gallery/{_GalleryModalItem.jsx → _GalleryModalItem.js} +6 -8
  211. package/esm/{Gallery.jsx → Gallery.js} +3 -4
  212. package/esm/GridBlocks.d.ts +2 -2
  213. package/esm/GridBlocks.js +24 -0
  214. package/esm/Heading.d.ts +1 -1
  215. package/esm/{Heading.jsx → Heading.js} +3 -5
  216. package/esm/HeroBlock.d.ts +2 -2
  217. package/esm/HeroBlock.js +21 -0
  218. package/esm/{IframeBlock.jsx → IframeBlock.js} +6 -6
  219. package/esm/Illustration.d.ts +1 -1
  220. package/esm/{Illustration.jsx → Illustration.js} +2 -2
  221. package/esm/ImageCards.d.ts +1 -1
  222. package/esm/{ImageCards.jsx → ImageCards.js} +3 -4
  223. package/esm/InfoBlock.js +13 -0
  224. package/esm/InfoHero.d.ts +2 -2
  225. package/esm/{InfoHero.jsx → InfoHero.js} +10 -16
  226. package/esm/IslandBlock.d.ts +1 -1
  227. package/esm/{IslandBlock.jsx → IslandBlock.js} +1 -1
  228. package/esm/IslandPageBlock.d.ts +1 -1
  229. package/esm/{IslandPageBlock.jsx → IslandPageBlock.js} +1 -1
  230. package/esm/LabeledTextBlock.d.ts +1 -1
  231. package/esm/LabeledTextBlock.js +14 -0
  232. package/esm/Layout.js +52 -0
  233. package/esm/MainMenu/_Auxiliary.js +13 -0
  234. package/esm/MainMenu/_PrimaryPanel.js +22 -0
  235. package/esm/{MainMenu.jsx → MainMenu.js} +28 -41
  236. package/esm/MiniMetrics.d.ts +1 -1
  237. package/esm/MiniMetrics.js +12 -0
  238. package/esm/Modal.js +14 -0
  239. package/esm/{NameCard.jsx → NameCard.js} +19 -24
  240. package/esm/NameCards.js +7 -0
  241. package/esm/NewsHero.d.ts +1 -1
  242. package/esm/{NewsHero.jsx → NewsHero.js} +8 -10
  243. package/esm/PageFilter.js +15 -0
  244. package/esm/{PageHeading.jsx → PageHeading.js} +2 -4
  245. package/esm/Picture.d.ts +7 -0
  246. package/esm/Picture.js +8 -0
  247. package/esm/ProcessOverview.js +17 -0
  248. package/esm/PullQuote.js +4 -0
  249. package/esm/RadioButtonsGroup.d.ts +1 -1
  250. package/esm/RadioButtonsGroup.js +14 -0
  251. package/esm/RadioGroup.d.ts +2 -2
  252. package/esm/RadioGroup.js +7 -0
  253. package/esm/RelatedLinks.js +26 -0
  254. package/esm/{RowBlock.jsx → RowBlock.js} +1 -3
  255. package/esm/{RowBlockColumn.jsx → RowBlockColumn.js} +2 -4
  256. package/esm/{SearchInput.jsx → SearchInput.js} +4 -6
  257. package/esm/SearchResults/_SearchResultsItem.js +15 -0
  258. package/esm/{SearchResults.jsx → SearchResults.js} +27 -36
  259. package/esm/{SeenEffect.jsx → SeenEffect.js} +1 -1
  260. package/esm/{Selectbox.jsx → Selectbox.js} +1 -1
  261. package/esm/{ShareButtons.jsx → ShareButtons.js} +7 -13
  262. package/esm/{Sharpie.jsx → Sharpie.js} +1 -1
  263. package/esm/{SiteSearchAutocomplete.jsx → SiteSearchAutocomplete.js} +5 -7
  264. package/esm/{SiteSearchCurtain.jsx → SiteSearchCurtain.js} +1 -5
  265. package/esm/SiteSearchInput.d.ts +1 -1
  266. package/esm/{SiteSearchInput.jsx → SiteSearchInput.js} +10 -12
  267. package/esm/{Skeleton.jsx → Skeleton.js} +5 -5
  268. package/esm/{SubHeading.jsx → SubHeading.js} +2 -4
  269. package/esm/{Tabs.jsx → Tabs.js} +12 -12
  270. package/esm/TagPill.d.ts +1 -1
  271. package/esm/{TagPill.jsx → TagPill.js} +12 -17
  272. package/esm/{TextBlock.jsx → TextBlock.js} +2 -4
  273. package/esm/TextButton.d.ts +1 -1
  274. package/esm/{TextButton.jsx → TextButton.js} +2 -2
  275. package/esm/{TextInput.jsx → TextInput.js} +1 -1
  276. package/esm/{VSpacer.jsx → VSpacer.js} +1 -1
  277. package/esm/{VerticalTabsTOC.jsx → VerticalTabsTOC.js} +2 -2
  278. package/esm/WizardLayout.js +30 -0
  279. package/esm/WizardLayoutClose.d.ts +1 -1
  280. package/esm/WizardLayoutClose.js +4 -0
  281. package/esm/WizardStepper.js +25 -0
  282. package/esm/_abstract/{_AbstractCarousel.jsx → _AbstractCarousel.js} +7 -10
  283. package/esm/_abstract/_Blings.js +12 -0
  284. package/esm/_abstract/_Block.d.ts +2 -2
  285. package/esm/_abstract/_Block.js +24 -0
  286. package/esm/_abstract/{Button.d.ts → _Button.d.ts} +0 -0
  287. package/esm/_abstract/{Button.jsx → _Button.js} +3 -7
  288. package/esm/_abstract/{CardList.d.ts → _CardList.d.ts} +2 -1
  289. package/esm/_abstract/_CardList.js +38 -0
  290. package/{_abstract/Image.d.ts → esm/_abstract/_Image.d.ts} +9 -5
  291. package/esm/_abstract/_Image.js +27 -0
  292. package/esm/_abstract/{Link.d.ts → _Link.d.ts} +0 -0
  293. package/esm/_abstract/{Link.jsx → _Link.js} +0 -0
  294. package/esm/_abstract/_Quote.js +8 -0
  295. package/{_abstract/TogglerGroup.d.ts → esm/_abstract/_TogglerGroup.d.ts} +1 -1
  296. package/esm/_abstract/_TogglerGroup.js +29 -0
  297. package/esm/_abstract/{TogglerGroupField.d.ts → _TogglerGroupField.d.ts} +2 -2
  298. package/esm/_abstract/{TogglerGroupField.jsx → _TogglerGroupField.js} +4 -4
  299. package/esm/_abstract/{TogglerInput.d.ts → _TogglerInput.d.ts} +0 -0
  300. package/esm/_abstract/{TogglerInput.jsx → _TogglerInput.js} +13 -15
  301. package/esm/_abstract/{breakOnNL.jsx → breakOnNL.js} +1 -1
  302. package/esm/utils/seenEffect.d.ts +2 -2
  303. package/esm/utils/seenEffect.js +1 -1
  304. package/package.json +106 -91
  305. package/utils/seenEffect.d.ts +2 -2
  306. package/utils/seenEffect.js +1 -1
  307. package/ArticleCarousel/_ArticleCarouselCard.jsx +0 -32
  308. package/BreadCrumbs.jsx +0 -36
  309. package/ContentImage.jsx +0 -18
  310. package/FeatureList.jsx +0 -28
  311. package/FooterBadges.jsx +0 -21
  312. package/FooterInfo.jsx +0 -19
  313. package/GridBlocks.jsx +0 -40
  314. package/InfoBlock.jsx +0 -23
  315. package/Layout.jsx +0 -69
  316. package/MainMenu/_Auxiliary.jsx +0 -26
  317. package/MainMenu/_PrimaryPanel.jsx +0 -37
  318. package/Modal.jsx +0 -21
  319. package/ProcessOverview.jsx +0 -25
  320. package/RadioGroup.jsx +0 -12
  321. package/RelatedLinks.jsx +0 -35
  322. package/SearchResults/_SearchResultsItem.jsx +0 -24
  323. package/WizardLayout.jsx +0 -44
  324. package/WizardStepper.jsx +0 -34
  325. package/_abstract/CardList.jsx +0 -46
  326. package/_abstract/TogglerGroup.jsx +0 -36
  327. package/_abstract/_Block.jsx +0 -32
  328. package/_abstract/_Quote.jsx +0 -18
  329. package/esm/AccordionList.jsx +0 -33
  330. package/esm/ActionCards.jsx +0 -10
  331. package/esm/ArticleCarousel/_ArticleCarouselCard.jsx +0 -25
  332. package/esm/ArticleMeta.jsx +0 -17
  333. package/esm/Attention.jsx +0 -4
  334. package/esm/BlockBreak.jsx +0 -6
  335. package/esm/BlockQuote.jsx +0 -4
  336. package/esm/BreadCrumbs.jsx +0 -31
  337. package/esm/ButtonBack.jsx +0 -4
  338. package/esm/ButtonPrimary.jsx +0 -4
  339. package/esm/ButtonSecondary.jsx +0 -4
  340. package/esm/Carousel.jsx +0 -4
  341. package/esm/CarouselStepper.jsx +0 -4
  342. package/esm/CenterColumn.jsx +0 -9
  343. package/esm/Checkbox.jsx +0 -4
  344. package/esm/CheckboxButtonsGroup.jsx +0 -14
  345. package/esm/CheckboxGroup.jsx +0 -7
  346. package/esm/ContentArticle.jsx +0 -24
  347. package/esm/ContentImage.jsx +0 -13
  348. package/esm/FeatureList.jsx +0 -23
  349. package/esm/FieldGroup.jsx +0 -10
  350. package/esm/FooterBadges.jsx +0 -16
  351. package/esm/FooterInfo.jsx +0 -14
  352. package/esm/Footnote.jsx +0 -3
  353. package/esm/GridBlocks.jsx +0 -35
  354. package/esm/HeroBlock.jsx +0 -22
  355. package/esm/InfoBlock.jsx +0 -18
  356. package/esm/LabeledTextBlock.jsx +0 -16
  357. package/esm/Layout.jsx +0 -63
  358. package/esm/MainMenu/_Auxiliary.jsx +0 -19
  359. package/esm/MainMenu/_PrimaryPanel.jsx +0 -30
  360. package/esm/MiniMetrics.jsx +0 -11
  361. package/esm/Modal.jsx +0 -16
  362. package/esm/NameCards.jsx +0 -9
  363. package/esm/PageFilter.jsx +0 -16
  364. package/esm/ProcessOverview.jsx +0 -20
  365. package/esm/PullQuote.jsx +0 -4
  366. package/esm/RadioButtonsGroup.jsx +0 -14
  367. package/esm/RadioGroup.jsx +0 -7
  368. package/esm/RelatedLinks.jsx +0 -30
  369. package/esm/SearchResults/_SearchResultsItem.jsx +0 -19
  370. package/esm/WizardLayout.jsx +0 -39
  371. package/esm/WizardLayoutClose.jsx +0 -4
  372. package/esm/WizardStepper.jsx +0 -29
  373. package/esm/_abstract/CardList.jsx +0 -39
  374. package/esm/_abstract/Image.jsx +0 -29
  375. package/esm/_abstract/TogglerGroup.jsx +0 -31
  376. package/esm/_abstract/_Blings.jsx +0 -14
  377. package/esm/_abstract/_Block.jsx +0 -27
  378. package/esm/_abstract/_Quote.jsx +0 -11
package/FooterInfo.jsx DELETED
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const getBemClass_1 = __importDefault(require("@hugsmidjan/react/utils/getBemClass"));
8
- const FooterInfo = (props) => {
9
- const { boxes } = props;
10
- return (<div className="FooterInfo">
11
- {boxes.map((group, i) => (<div className={(0, getBemClass_1.default)('FooterInfo__group', group.modifier)} role={group.role} key={i}>
12
- <h3 className="FooterInfo__grouptitle">{group.title}</h3>
13
- {group.content ? (<div className={(0, getBemClass_1.default)('FooterInfo__groupcontent', group.modifier)}>
14
- {group.content}
15
- </div>) : (<div className={(0, getBemClass_1.default)('FooterInfo__groupcontent', group.modifier)} dangerouslySetInnerHTML={{ __html: group.html }}/>)}
16
- </div>))}
17
- </div>);
18
- };
19
- exports.default = FooterInfo;
package/GridBlocks.jsx DELETED
@@ -1,40 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const getBemClass_1 = __importDefault(require("@hugsmidjan/react/utils/getBemClass"));
8
- const assets_1 = require("@reykjavik/hanna-utils/assets");
9
- const Image_1 = __importDefault(require("./_abstract/Image"));
10
- const Link_1 = require("./_abstract/Link");
11
- const seenEffect_1 = require("./utils/seenEffect");
12
- const ButtonTertiary_1 = __importDefault(require("./ButtonTertiary"));
13
- const GridBlocks = (props) => {
14
- const { blocks, twocol, startSeen } = props;
15
- const [ref] = (0, seenEffect_1.useSeenEffect)(startSeen);
16
- return (<div className={(0, getBemClass_1.default)('GridBlocks', [twocol && 'twocol'])} ref={ref}>
17
- {blocks.map(({ title, summary, href, links = [], icon, image }, i) => {
18
- const imageProps = icon ? { src: (0, assets_1.getEfnistaknUrl)(icon) } : image;
19
- return (<div key={i} className="GridBlocks__item">
20
- {imageProps && <Image_1.default className="GridBlocks__illustration" {...imageProps}/>}
21
- <div className="GridBlocks__textwrap">
22
- <h3 className="GridBlocks__item__title">
23
- {href != null ? (<Link_1.Link className="GridBlocks__item__titlelink" href={href}>
24
- {title}
25
- </Link_1.Link>) : (title)}
26
- </h3>
27
- <div className="GridBlocks__item__summary">{summary}</div>
28
- <ul className="GridBlocks__links">
29
- {links.map((link, i) => {
30
- return (<li key={i} className="GridBlocks__link">
31
- <ButtonTertiary_1.default {...link}/>
32
- </li>);
33
- })}
34
- </ul>
35
- </div>
36
- </div>);
37
- })}
38
- </div>);
39
- };
40
- exports.default = GridBlocks;
package/InfoBlock.jsx DELETED
@@ -1,23 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const seenEffect_1 = require("./utils/seenEffect");
8
- const InfoBlock = (props) => {
9
- const { title, subtitle, items, startSeen } = props;
10
- const [ref] = (0, seenEffect_1.useSeenEffect)(startSeen);
11
- return (<div className="InfoBlock" ref={ref}>
12
- <h2 className="InfoBlock__title">{title}</h2>
13
- <div className="InfoBlock__subtitle">{subtitle}</div>
14
- <ul className="InfoBlock__items">
15
- {items.map((item, i) => (<li key={i} className="InfoBlock__item">
16
- {item}
17
- </li>))}
18
- </ul>
19
- {'extraInfo' in props && (<div className="InfoBlock__extrainfo">{props.extraInfo}</div>)}
20
- {'attention' in props && (<div className="InfoBlock__attention">{props.attention}</div>)}
21
- </div>);
22
- };
23
- exports.default = InfoBlock;
package/Layout.jsx DELETED
@@ -1,69 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.defaultLayoutTexts = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const hooks_1 = require("@hugsmidjan/react/hooks");
9
- const getBemClass_1 = __importDefault(require("@hugsmidjan/react/utils/getBemClass"));
10
- const assets_1 = require("@reykjavik/hanna-utils/assets");
11
- const i18n_1 = require("@reykjavik/hanna-utils/i18n");
12
- const Image_1 = __importDefault(require("./_abstract/Image"));
13
- const Link_1 = require("./_abstract/Link");
14
- const useMenuToggling_1 = require("./utils/useMenuToggling");
15
- const useScrollbarWidthCSSVar_1 = require("./utils/useScrollbarWidthCSSVar");
16
- exports.defaultLayoutTexts = {
17
- is: {
18
- lang: 'is',
19
- skipLinkLabel: 'Valmynd',
20
- closeMenuLabel: 'Loka',
21
- closeMenuLabelLong: 'Loka valmynd',
22
- },
23
- en: {
24
- lang: 'en',
25
- skipLinkLabel: 'Skip to navigation',
26
- closeMenuLabel: 'Close',
27
- closeMenuLabelLong: 'Close menu',
28
- },
29
- };
30
- const Layout = (props) => {
31
- (0, useScrollbarWidthCSSVar_1.useScrollbarWidthCSSVar)();
32
- const { ssr, globalAlerts, mainChildren, navChildren, footerChildren, colorTheme, children, siteName = 'Reykjavík', logoLink = '/', } = props;
33
- const { isMenuActive, closeMenu, toggleMenu } = (0, useMenuToggling_1.useMenuToggling)(ssr !== 'ssr-only');
34
- const isBrowser = (0, hooks_1.useIsBrowserSide)( /* ssr */);
35
- const txt = (0, i18n_1.getTexts)(props, exports.defaultLayoutTexts);
36
- return (<div className={(0, getBemClass_1.default)('Layout', props.modifier)} data-sprinkled={isBrowser} data-color-theme={colorTheme}>
37
- {globalAlerts && (<div className="Layout__alerts" role="alert">
38
- {globalAlerts}
39
- </div>)}
40
- <div className="Layout__content">
41
- <div className="Layout__header" role="banner">
42
- <Link_1.Link className="Layout__header__logo" href={logoLink}>
43
- {' '}
44
- <Image_1.default inline={true} src={(0, assets_1.getAssetUrl)('reykjavik-logo.svg')}/> {siteName}{' '}
45
- </Link_1.Link>{' '}
46
- {navChildren && (<Link_1.Link className="Layout__header__skiplink" href="#pagenav" onClick={isMenuActive &&
47
- ((e) => {
48
- e.preventDefault();
49
- toggleMenu();
50
- })} aria-label={txt.skipLinkLabel}>
51
- {txt.skipLinkLabel}
52
- </Link_1.Link>)}
53
- </div>
54
- <div className="Layout__main" role="main">
55
- {mainChildren || children}
56
- </div>
57
- {navChildren && (<div className="Layout__nav" id="pagenav" role="navigation">
58
- {navChildren}
59
- {isMenuActive && (<button className="Layout__nav__closebutton" onClick={closeMenu} aria-label={txt.closeMenuLabelLong} type="button">
60
- {txt.closeMenuLabel}
61
- </button>)}
62
- </div>)}
63
- <div className="Layout__footer" role="complementary">
64
- {footerChildren}
65
- </div>
66
- </div>
67
- </div>);
68
- };
69
- exports.default = Layout;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.AuxiliaryPanel = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const assets_1 = require("@reykjavik/hanna-utils/assets");
9
- const Link_1 = require("../_abstract/Link");
10
- const AuxiliaryPanel = (props) => {
11
- const { title, id, items, image } = props;
12
- const imageUrl = image ? (0, assets_1.getIllustrationUrl)(image) : image;
13
- return (<li className="AuxiliaryPanel" id={id} style={imageUrl
14
- ? { '--menu-auxiliary-image': `url(${imageUrl})` }
15
- : undefined}>
16
- <h3 className="AuxiliaryPanel__title">{title}</h3>
17
- <ul className="AuxiliaryPanel__items">
18
- {items.map((item, i) => (<li key={i} className="AuxiliaryPanel__item" aria-current={item.current || undefined}>
19
- <Link_1.Link className="AuxiliaryPanel__link" href={item.href} target={item.target} lang={item.lang}>
20
- {item.label}
21
- </Link_1.Link>
22
- </li>))}
23
- </ul>
24
- </li>);
25
- };
26
- exports.AuxiliaryPanel = AuxiliaryPanel;
@@ -1,37 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.PrimaryPanel = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const getBemClass_1 = __importDefault(require("@hugsmidjan/react/utils/getBemClass"));
9
- const Link_1 = require("../_abstract/Link");
10
- const PrimaryPanel = (props) => {
11
- const { setActivePanel, panel, isParent, isActive, isBrowser, texts } = props;
12
- const { items } = panel;
13
- return (<li ref={isActive ? props.activeRef : undefined} className={(0, getBemClass_1.default)('PrimaryPanel', [
14
- isParent && 'parent',
15
- isActive && 'active',
16
- items.length > 5 && 'twocol', // TODO: allow setting twocol manually?
17
- ])} id={panel.id}>
18
- <h3 className="PrimaryPanel__title">
19
- {' '}
20
- {isBrowser && !isActive ? (<button className="MainMenu__mega__title-toggler" aria-controls={panel.id} onClick={() => setActivePanel(panel, false)} aria-pressed={isActive} type="button">
21
- {panel.title}
22
- </button>) : (panel.title)}
23
- </h3>
24
- <ul className="PrimaryPanel__items">
25
- {items.map((item, i) => (<li key={i} className="PrimaryPanel__item" aria-current={item.current || undefined}>
26
- <Link_1.Link className="PrimaryPanel__link" href={item.href} target={item.target} lang={item.lang}>
27
- <span className="PrimaryPanel__linkTitle">{item.label}</span>{' '}
28
- <small className="PrimaryPanel__summary">{item.summary}</small>{' '}
29
- </Link_1.Link>
30
- </li>))}
31
- </ul>
32
- {isBrowser && isActive && (<button className="MainMenu__megapanel__backtomenu" aria-controls={panel.id} aria-label={texts.backToMenuLong} onClick={() => setActivePanel(undefined)} type="button">
33
- {texts.backToMenu}
34
- </button>)}
35
- </li>);
36
- };
37
- exports.PrimaryPanel = PrimaryPanel;
package/Modal.jsx DELETED
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const Modal_1 = __importDefault(require("@hugsmidjan/react/Modal"));
8
- const Modal = (props) => {
9
- const { closeDelay = 500, texts = {
10
- closeButton: 'Loka ',
11
- }, bling, children, render = () => children, } = props;
12
- return (<Modal_1.default {...props} bodyWrap={false} bem="Modal" closeDelay={closeDelay} texts={texts} render={(args) => bling ? (<>
13
- {render(args)}
14
- <div className="Modal__blings">
15
- <div className="Modal__blings__inner">{bling}</div>
16
- </div>
17
- </>) : (render(args))}
18
- // eslint-disable-next-line react/no-children-prop
19
- children={undefined}/>);
20
- };
21
- exports.default = Modal;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const getBemClass_1 = __importDefault(require("@hugsmidjan/react/utils/getBemClass"));
8
- const ProcessOverview = (props) => {
9
- const { title, items, attention, transparent, narrow } = props;
10
- return (<div className={(0, getBemClass_1.default)('ProcessOverview', [
11
- transparent && 'transparent',
12
- narrow && 'narrow',
13
- ])}>
14
- <h2 className="ProcessOverview__title">{title}</h2>
15
- {items.map(({ title, content }, i) => {
16
- return (<div key={i} className="ProcessOverview__item">
17
- <h3 className="ProcessOverview__item__title">{title}</h3>
18
- <div className="ProcessOverview__item__content">{content}</div>
19
- </div>);
20
- })}
21
-
22
- {attention && <div className="ProcessOverview__attention">{attention}</div>}
23
- </div>);
24
- };
25
- exports.default = ProcessOverview;
package/RadioGroup.jsx DELETED
@@ -1,12 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const TogglerGroupField_1 = __importDefault(require("./_abstract/TogglerGroupField"));
8
- const TogglerInput_1 = __importDefault(require("./_abstract/TogglerInput"));
9
- const Radio = (props) => (<TogglerInput_1.default {...props} bem="Radio" type="radio"/>);
10
- const RadioGroup = (props) => (<TogglerGroupField_1.default {...props} bem="RadioGroup" modifier={props.layout} Toggler={Radio}/>);
11
- RadioGroup.__Radio = Radio;
12
- exports.default = RadioGroup;
package/RelatedLinks.jsx DELETED
@@ -1,35 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const Link_1 = require("./_abstract/Link");
8
- const types = {
9
- external: 1,
10
- document: 1,
11
- pdf: 1,
12
- link: 0,
13
- };
14
- const RelatedLinks = (props) => {
15
- const { title, links } = props;
16
- if (links.length === 0) {
17
- return null;
18
- }
19
- const TitleTag = props.titleTag || 'h3';
20
- return (<div className="RelatedLinks">
21
- {title && <TitleTag className="RelatedLinks__title">{title}</TitleTag>}
22
- <ul className="RelatedLinks__list">
23
- {links.map(({ href, label, type, target }, i) => {
24
- type = type && types[type] ? type : undefined;
25
- return (<li key={i} className="RelatedLinks__item">
26
- <Link_1.Link className="RelatedLinks__link" href={href} data-type={type} target={target}>
27
- {' '}
28
- {label}{' '}
29
- </Link_1.Link>
30
- </li>);
31
- })}
32
- </ul>
33
- </div>);
34
- };
35
- exports.default = RelatedLinks;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const Image_1 = __importDefault(require("../_abstract/Image"));
8
- const Link_1 = require("../_abstract/Link");
9
- const SearchResultsItem = (props) => {
10
- const { highlight, title, summary, href, meta, image } = props;
11
- const bem = highlight ? 'SearchResultsHighlightItem' : 'SearchResultsItem';
12
- const metaArr = (Array.isArray(meta) ? meta : [meta]);
13
- return (<li className={bem}>
14
- <Link_1.Link className={bem + '__link'} href={href}>
15
- <h3 className={bem + '__title'}>{title}</h3>
16
- {metaArr.length > 0 && (<span className={bem + '__meta'}>
17
- {metaArr.map((item, i) => typeof item === 'function' ? item() : item && <span key={i}>{item}</span>)}
18
- </span>)}
19
- {highlight && image && <Image_1.default className={bem + '__image'} src={image}/>}
20
- <div className={bem + '__summary'} dangerouslySetInnerHTML={{ __html: summary }}/>
21
- </Link_1.Link>
22
- </li>);
23
- };
24
- exports.default = SearchResultsItem;
package/WizardLayout.jsx DELETED
@@ -1,44 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const hooks_1 = require("@hugsmidjan/react/hooks");
8
- const assets_1 = require("@reykjavik/hanna-utils/assets");
9
- const Image_1 = __importDefault(require("./_abstract/Image"));
10
- const Link_1 = require("./_abstract/Link");
11
- const useScrollbarWidthCSSVar_1 = require("./utils/useScrollbarWidthCSSVar");
12
- const WizardLayout = (props) => {
13
- (0, useScrollbarWidthCSSVar_1.useScrollbarWidthCSSVar)();
14
- const {
15
- // ssr,
16
- wizardStepper, wizardFooter, children, colorTheme, logoLink = '/', siteName = 'Reykjavík', globalAlerts, } = props;
17
- const isBrowser = (0, hooks_1.useIsBrowserSide)( /* ssr */);
18
- return (<div className="WizardLayout" data-sprinkled={isBrowser} data-color-theme={colorTheme}>
19
- {globalAlerts && (<div className="WizardLayout__alerts" role="alert">
20
- {globalAlerts}
21
- </div>)}
22
- <div className="WizardLayout__content">
23
- <div className="WizardLayout__header" role="banner">
24
- <Link_1.Link className="WizardLayout__header__logo" href={logoLink}>
25
- {' '}
26
- <Image_1.default inline={true} src={(0, assets_1.getAssetUrl)('reykjavik-logo.svg')}/> {siteName}{' '}
27
- </Link_1.Link>{' '}
28
- </div>
29
- <div className="WizardLayout__wrap">
30
- {wizardStepper && (<div className="WizardLayout__stepper" role="navigation">
31
- {wizardStepper}
32
- </div>)}
33
- <div className="WizardLayout__main" role="main">
34
- {children}
35
- </div>
36
- <div className="WizardLayout__deco WizardLayout__deco--geometry"/>
37
- </div>
38
- <div className="WizardLayout__footer" role="complementary">
39
- {wizardFooter}
40
- </div>
41
- </div>
42
- </div>);
43
- };
44
- exports.default = WizardLayout;
package/WizardStepper.jsx DELETED
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const getBemClass_1 = __importDefault(require("@hugsmidjan/react/utils/getBemClass"));
8
- const WizardStepper = (props) => {
9
- const { steps, activeStep = -1, allowForwardSkip, disableBacktrack, onClick } = props;
10
- return (<div className={(0, getBemClass_1.default)('WizardStepper', activeStep === -1 && 'preview')}>
11
- {steps.map((step, i) => {
12
- const { label, clickable, done, neutral } = step;
13
- const stepClass = (0, getBemClass_1.default)('WizardStepper__step', [
14
- (done || (done == null && i < activeStep)) && 'done',
15
- neutral && 'neutral',
16
- ]);
17
- const isClickable = clickable === 'always' ||
18
- (clickable &&
19
- (activeStep === i ||
20
- (i > activeStep && allowForwardSkip) ||
21
- (i < activeStep && !disableBacktrack)));
22
- const ariaCurrent = activeStep === i ? 'step' : undefined;
23
- return (<react_1.default.Fragment key={i}>
24
- {isClickable ? (<button type="button" className={stepClass} onClick={() => onClick(i)} aria-current={ariaCurrent}>
25
- {label}
26
- </button>) : (<span className={stepClass} aria-current={ariaCurrent}>
27
- {' '}
28
- {label}{' '}
29
- </span>)}{' '}
30
- </react_1.default.Fragment>);
31
- })}
32
- </div>);
33
- };
34
- exports.default = WizardStepper;
@@ -1,46 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CardList = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const Button_1 = __importDefault(require("./Button"));
9
- const Image_1 = __importDefault(require("./Image"));
10
- const Card = (props) => {
11
- const { bem, href, title, imgPlaceholder } = props;
12
- const cardClass = `${bem}__card`;
13
- const image = 'image' in props && props.image;
14
- const meta = 'meta' in props && props.meta;
15
- const summary = 'summary' in props && props.summary;
16
- return (<>
17
- <Button_1.default bem={cardClass} href={href}>
18
- {' '}
19
- <Image_1.default className={`${bem}__image`} {...image} placeholder={imgPlaceholder}/>
20
- <span className={`${cardClass}__title`}>{title}</span>{' '}
21
- {meta && <span className={`${cardClass}__meta`}>{meta}</span>}{' '}
22
- {summary && <span className={`${cardClass}__summary`}>{summary}</span>}{' '}
23
- </Button_1.default>{' '}
24
- </>);
25
- };
26
- const CardList = (props) => {
27
- const { bemPrefix, title, summaryElement, cards, titleTag = 'h2', children, imgPlaceholder, } = props;
28
- const TitleTag = titleTag;
29
- const fallbackImage = (imgPlaceholder !== true && imgPlaceholder) || undefined;
30
- const fallbackImageStyle = fallbackImage
31
- ? { '--ImageCards--fallback': `url("${fallbackImage}")` }
32
- : undefined;
33
- return (<>
34
- {summaryElement ? (<div className={bemPrefix + '__summary'}>
35
- {title && <TitleTag className={bemPrefix + '__title'}>{title}</TitleTag>}
36
- {summaryElement}
37
- </div>) : (title && <TitleTag className={bemPrefix + '__title'}>{title}</TitleTag>)}
38
- <ul className={bemPrefix + '__list'} style={fallbackImageStyle}>
39
- {cards.map((card, i) => (<li key={i} className={bemPrefix + '__item'}>
40
- <Card {...card} bem={bemPrefix} imgPlaceholder={!!imgPlaceholder}/>
41
- </li>))}
42
- </ul>
43
- {children}
44
- </>);
45
- };
46
- exports.CardList = CardList;
@@ -1,36 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const getBemClass_1 = __importDefault(require("@hugsmidjan/react/utils/getBemClass"));
8
- const TogglerGroup = (props) => {
9
- const {
10
- // id,
11
- className, bem, name, disabled, Toggler, onSelected, options, inputProps = {}, } = props;
12
- const values = props.value || [];
13
- return (<ul className={(0, getBemClass_1.default)(bem, null, className)} role="group" aria-labelledby={props['aria-labelledby']} aria-describedby={props['aria-describedby']} aria-required={props.required}>
14
- {options.map((option, i) => {
15
- const isDisabled = option.disabled != null
16
- ? option.disabled
17
- : disabled && typeof disabled !== 'boolean'
18
- ? disabled.includes(i)
19
- : disabled;
20
- const isChecked = values.includes(option.value);
21
- return (<Toggler key={i} {...inputProps} className={bem + '__item'} name={name} Wrapper="li" {...option} label={option.label || option.value} onChange={onSelected
22
- ? (e) => {
23
- const { value } = option;
24
- const checked = e.currentTarget.checked;
25
- inputProps.onChange && inputProps.onChange(e);
26
- const selectedValues = values.filter((val) => val !== value);
27
- if (checked) {
28
- selectedValues.push(value);
29
- }
30
- onSelected({ value, checked, option, selectedValues });
31
- }
32
- : inputProps.onChange} disabled={isDisabled} aria-invalid={props['aria-invalid']} checked={isChecked}/>);
33
- })}
34
- </ul>);
35
- };
36
- exports.default = TogglerGroup;
@@ -1,32 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const getBemClass_1 = __importDefault(require("@hugsmidjan/react/utils/getBemClass"));
8
- const seenEffect_1 = require("../utils/seenEffect");
9
- const Button_1 = __importDefault(require("./Button"));
10
- const Image_1 = __importDefault(require("./Image"));
11
- const Block = (props) => {
12
- const { image, modifier, bem, content, startSeen } = props;
13
- const [ref] = (0, seenEffect_1.useSeenEffect)(startSeen);
14
- const contentItems = Array.isArray(content) ? content : [content];
15
- return (<div className={(0, getBemClass_1.default)(bem, modifier)} ref={ref}>
16
- {contentItems.map(({ title, summary, buttons = [] }, i) => {
17
- const hasSummary = summary && (typeof summary !== 'string' || !!summary.trim());
18
- return (<div key={i} className={`${bem}__content`}>
19
- <h2 className={`${bem}__title`}>{title}</h2>
20
- {hasSummary && <div className={`${bem}__summary`}>{summary}</div>}
21
- {buttons.length > 0 && (<div className={`${bem}__buttons`}>
22
- {' '}
23
- {buttons.map((buttonProps, i) => (<>
24
- <Button_1.default bem={`${bem}__button`} key={i} {...buttonProps}/>{' '}
25
- </>))}
26
- </div>)}
27
- </div>);
28
- })}
29
- {image && <Image_1.default className={`${bem}__image`} {...image}/>}
30
- </div>);
31
- };
32
- exports.default = Block;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports._Quote = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const Link_1 = require("./Link");
9
- const _Quote = (props) => {
10
- const { bem, children, by, byHref } = props;
11
- return (<figure className={bem}>
12
- <blockquote className={bem + '__quote'}>{children}</blockquote>
13
- {by && (<figcaption className={bem + '__by'}>
14
- {byHref ? (<Link_1.Link href={byHref}>{by}</Link_1.Link>) : typeof by === 'string' ? (<span>{by}</span>) : (by)}
15
- </figcaption>)}
16
- </figure>);
17
- };
18
- exports._Quote = _Quote;
@@ -1,33 +0,0 @@
1
- import React, { useEffect, useState } from 'react';
2
- import { useDomid, useIsBrowserSide } from '@hugsmidjan/react/hooks';
3
- import getBemClass from '@hugsmidjan/react/utils/getBemClass';
4
- import { useSeenEffect } from './utils/seenEffect';
5
- const AccordionListItem = (props) => {
6
- const { title, content, id, disabled = false, defaultOpen, ssr } = props;
7
- const [open, setOpen] = useState(defaultOpen);
8
- useEffect(() => setOpen(defaultOpen), [defaultOpen]);
9
- const domid = useDomid();
10
- const isBrowser = useIsBrowserSide(ssr);
11
- const itemDisabled = (isBrowser && disabled) || !content;
12
- return (<div className={getBemClass('AccordionList__item', [itemDisabled && 'disabled'])} id={id} data-start-open={defaultOpen || undefined} data-sprinkled={isBrowser}>
13
- <h3 className="AccordionList__title">
14
- {isBrowser ? (<button type="button" className="AccordionList__button" aria-controls={domid} aria-expanded={open || undefined} onClick={() => {
15
- setOpen(!open);
16
- }} disabled={itemDisabled}>
17
- {title}
18
- </button>) : (title)}
19
- </h3>
20
- <div id={isBrowser && domid} className="AccordionList__content" hidden={isBrowser && (!open || itemDisabled)}>
21
- {content}
22
- </div>
23
- </div>);
24
- };
25
- // ---------------------------------------------------------------------------
26
- const AccordionList = (props) => {
27
- const { items, ssr, wide, defaultOpen, startSeen } = props;
28
- const [ref] = useSeenEffect(startSeen);
29
- return (<div className={getBemClass('AccordionList', [wide && 'wide'])} ref={ref}>
30
- {items.map((item, i) => (<AccordionListItem key={i} {...item} ssr={ssr} defaultOpen={defaultOpen && defaultOpen.includes(i)}/>))}
31
- </div>);
32
- };
33
- export default AccordionList;
@@ -1,10 +0,0 @@
1
- import React from 'react';
2
- import { CardList } from './_abstract/CardList';
3
- import { useSeenEffect } from './utils/seenEffect';
4
- const ActionCards = (props) => {
5
- const [ref] = useSeenEffect(props.startSeen);
6
- return (<div className="ActionCards" ref={ref}>
7
- <CardList {...props} bemPrefix="ActionCards"/>
8
- </div>);
9
- };
10
- export default ActionCards;
@@ -1,25 +0,0 @@
1
- import React from 'react';
2
- import getBemClass from '@hugsmidjan/react/utils/getBemClass';
3
- import { getIllustrationUrl } from '@reykjavik/hanna-utils/assets';
4
- import Image from '../_abstract/Image';
5
- import { Link } from '../_abstract/Link';
6
- import { colorFamilies, themeOptions } from '../constants';
7
- export const ArticleCarouselCard = (props) => {
8
- const { date, title, summary, href, moreLabel, color, theme, illustration, image } = props;
9
- const photo = image === null || image === void 0 ? void 0 : image.photo;
10
- const imageProps = illustration ? { src: getIllustrationUrl(illustration) } : image;
11
- return (<div className="ArticleCarouselCard" data-color={color && colorFamilies[color]} data-color-theme={!color ? theme && themeOptions[theme] : undefined} // color takes precedence over "theme"
12
- >
13
- <Link className="ArticleCarouselCard__link" href={href}>
14
- {' '}
15
- <Image placeholder className={getBemClass('ArticleCarouselCard__illustration', photo && 'photo')} {...imageProps}/>
16
- <h3 className="ArticleCarouselCard__title">{title}</h3>{' '}
17
- </Link>{' '}
18
- {date && <span className="ArticleCarouselCard__date">{date}</span>}
19
- <div className="ArticleCarouselCard__summary">{summary}</div>
20
- {moreLabel && (<Link className="ArticleCarouselCard__morelink" href={href} aria-label={title}>
21
- {' '}
22
- {moreLabel}{' '}
23
- </Link>)}
24
- </div>);
25
- };