@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
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import getBemClass from '@hugsmidjan/react/utils/getBemClass';
3
+ import { getEfnistaknUrl } from '@reykjavik/hanna-utils/assets';
4
+ import Image from './_abstract/_Image';
5
+ import { Link } from './_abstract/_Link';
6
+ import { useSeenEffect } from './utils/seenEffect';
7
+ import ButtonTertiary from './ButtonTertiary';
8
+ const GridBlocks = (props) => {
9
+ const { blocks, twocol, startSeen } = props;
10
+ const [ref] = useSeenEffect(startSeen);
11
+ return (React.createElement("div", { className: getBemClass('GridBlocks', [twocol && 'twocol']), ref: ref }, blocks.map(({ title, summary, href, links = [], icon, image }, i) => {
12
+ const imageProps = icon ? { src: getEfnistaknUrl(icon) } : image;
13
+ return (React.createElement("div", { key: i, className: "GridBlocks__item" },
14
+ imageProps && React.createElement(Image, Object.assign({ className: "GridBlocks__illustration" }, imageProps)),
15
+ React.createElement("div", { className: "GridBlocks__textwrap" },
16
+ React.createElement("h3", { className: "GridBlocks__item__title" }, href != null ? (React.createElement(Link, { className: "GridBlocks__item__titlelink", href: href }, title)) : (title)),
17
+ React.createElement("div", { className: "GridBlocks__item__summary" }, summary),
18
+ React.createElement("ul", { className: "GridBlocks__links" }, links.map((link, i) => {
19
+ return (React.createElement("li", { key: i, className: "GridBlocks__link" },
20
+ React.createElement(ButtonTertiary, Object.assign({}, link))));
21
+ })))));
22
+ })));
23
+ };
24
+ export default GridBlocks;
package/esm/Heading.d.ts CHANGED
@@ -3,7 +3,7 @@ import { ComponentLayoutProps } from './constants';
3
3
  declare const sizes: {
4
4
  readonly small: "small";
5
5
  /** Default value */
6
- readonly normal: "normal";
6
+ readonly normal: "";
7
7
  readonly large: "large";
8
8
  };
9
9
  declare type HeadingSize = keyof typeof sizes;
@@ -3,17 +3,15 @@ import getBemClass from '@hugsmidjan/react/utils/getBemClass';
3
3
  const sizes = {
4
4
  small: 'small',
5
5
  /** Default value */
6
- normal: 'normal',
6
+ normal: '',
7
7
  large: 'large',
8
8
  };
9
9
  const Heading = (props) => {
10
10
  const { size = 'normal', Tag = 'h2', align, wide, children } = props;
11
- return (<Tag className={getBemClass('Heading', [
11
+ return (React.createElement(Tag, { className: getBemClass('Heading', [
12
12
  sizes[size],
13
13
  align === 'right' && 'align--' + align,
14
14
  !align && wide && 'wide',
15
- ])}>
16
- {children}
17
- </Tag>);
15
+ ]) }, children));
18
16
  };
19
17
  export default Heading;
@@ -1,6 +1,6 @@
1
1
  import { Illustration } from '@reykjavik/hanna-utils/assets';
2
- import { ButtonProps } from './_abstract/Button';
3
- import { ImageProps } from './_abstract/Image';
2
+ import { ButtonProps } from './_abstract/_Button';
3
+ import { ImageProps } from './_abstract/_Image';
4
4
  import { SeenProp } from './utils/seenEffect';
5
5
  declare type HeroBlockImageProps = {
6
6
  illustration: Illustration;
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import { getIllustrationUrl } from '@reykjavik/hanna-utils/assets';
3
+ import Image from './_abstract/_Image';
4
+ import { useSeenEffect } from './utils/seenEffect';
5
+ import ButtonPrimary from './ButtonPrimary';
6
+ import ButtonTertiary from './ButtonTertiary';
7
+ const HeroBlock = (props) => {
8
+ const { title, summary, illustration, image, primaryButton, secondaryButton, startSeen, } = props;
9
+ const hasButtons = Boolean(primaryButton || secondaryButton);
10
+ const imgProps = illustration ? { src: getIllustrationUrl(illustration) } : image;
11
+ const [ref] = useSeenEffect(startSeen);
12
+ return (React.createElement("div", { className: "HeroBlock", ref: ref },
13
+ React.createElement("h1", { className: "HeroBlock__title" }, title),
14
+ React.createElement(Image, Object.assign({ className: "HeroBlock__image" }, imgProps)),
15
+ React.createElement("div", { className: "HeroBlock__summary" }, summary),
16
+ hasButtons && (React.createElement("div", { className: "HeroBlock__buttons" },
17
+ primaryButton && React.createElement(ButtonPrimary, Object.assign({}, primaryButton)),
18
+ ' ',
19
+ secondaryButton && React.createElement(ButtonTertiary, Object.assign({}, secondaryButton))))));
20
+ };
21
+ export default HeroBlock;
@@ -16,11 +16,11 @@ const IframeBlock = (props) => {
16
16
  compact && 'compact',
17
17
  align === 'right' && 'align--' + align,
18
18
  ]);
19
- return height === 'auto' ? (<IframeResizer className={className} src={src}/>) : (<iframe className={className} src={src}
20
- // hidden tiger: pass negative height to disable iframe-resizer but not set height explicitly
21
- // (Silly hack, don't rely on this)
22
- height={height < 0 ? undefined : height}
23
- // allow undefined to suppress scrolling attribute
24
- scrolling={scrolling === true ? 'yes' : scrolling === false ? 'no' : scrolling}/>);
19
+ return height === 'auto' ? (React.createElement(IframeResizer, { className: className, src: src })) : (React.createElement("iframe", { className: className, src: src,
20
+ // hidden tiger: pass negative height to disable iframe-resizer but not set height explicitly
21
+ // (Silly hack, don't rely on this)
22
+ height: height < 0 ? undefined : height,
23
+ // allow undefined to suppress scrolling attribute
24
+ scrolling: scrolling === true ? 'yes' : scrolling === false ? 'no' : scrolling }));
25
25
  };
26
26
  export default IframeBlock;
@@ -1,5 +1,5 @@
1
1
  import { Illustration as IllustrationName } from '@reykjavik/hanna-utils/assets';
2
- import { ImageProps } from './_abstract/Image';
2
+ import { ImageProps } from './_abstract/_Image';
3
3
  declare type IllustrationProps = {
4
4
  children?: undefined;
5
5
  } & ({
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { getIllustrationUrl, } from '@reykjavik/hanna-utils/assets';
3
- import Image from './_abstract/Image';
3
+ import Image from './_abstract/_Image';
4
4
  const Illustration = (props) => {
5
5
  const imgProps = props.type ? { src: getIllustrationUrl(props.type) } : props.image;
6
- return <Image className="Illustration" {...imgProps}/>;
6
+ return React.createElement(Image, Object.assign({ className: "Illustration" }, imgProps));
7
7
  };
8
8
  export default Illustration;
@@ -1,4 +1,4 @@
1
- import { ImageCardListProps, ImageCardProps as ICP } from './_abstract/CardList';
1
+ import { ImageCardListProps, ImageCardProps as ICP } from './_abstract/_CardList';
2
2
  import { SeenProp } from './utils/seenEffect';
3
3
  export declare type ImageCardProps = ICP;
4
4
  declare type _ImageCardProps = ImageCardListProps & {
@@ -11,13 +11,12 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  };
12
12
  import React from 'react';
13
13
  import getBemClass from '@hugsmidjan/react/utils/getBemClass';
14
- import { CardList, } from './_abstract/CardList';
14
+ import { CardList, } from './_abstract/_CardList';
15
15
  import { useSeenEffect } from './utils/seenEffect';
16
16
  const ImageCards = (props) => {
17
17
  const { background, startSeen } = props, cardListProps = __rest(props, ["background", "startSeen"]);
18
18
  const [ref] = useSeenEffect(startSeen);
19
- return (<div className={getBemClass('ImageCards', background && 'background')} ref={ref}>
20
- <CardList {...cardListProps} bemPrefix="ImageCards" imgPlaceholder={props.imgPlaceholder || true}/>
21
- </div>);
19
+ return (React.createElement("div", { className: getBemClass('ImageCards', background && 'background'), ref: ref },
20
+ React.createElement(CardList, Object.assign({}, cardListProps, { bemPrefix: "ImageCards", imgPlaceholder: props.imgPlaceholder || true }))));
22
21
  };
23
22
  export default ImageCards;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { useSeenEffect } from './utils/seenEffect';
3
+ const InfoBlock = (props) => {
4
+ const { title, subtitle, items, startSeen } = props;
5
+ const [ref] = useSeenEffect(startSeen);
6
+ return (React.createElement("div", { className: "InfoBlock", ref: ref },
7
+ React.createElement("h2", { className: "InfoBlock__title" }, title),
8
+ React.createElement("div", { className: "InfoBlock__subtitle" }, subtitle),
9
+ React.createElement("ul", { className: "InfoBlock__items" }, items.map((item, i) => (React.createElement("li", { key: i, className: "InfoBlock__item" }, item)))),
10
+ 'extraInfo' in props && (React.createElement("div", { className: "InfoBlock__extrainfo" }, props.extraInfo)),
11
+ 'attention' in props && (React.createElement("div", { className: "InfoBlock__attention" }, props.attention))));
12
+ };
13
+ export default InfoBlock;
package/esm/InfoHero.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { ButtonProps } from './_abstract/Button';
2
- import { ImageProps } from './_abstract/Image';
1
+ import { ButtonProps } from './_abstract/_Button';
2
+ import { ImageProps } from './_abstract/_Image';
3
3
  import { Alignment } from './constants';
4
4
  declare type BlingOptions = 'waves' | 'sunny-waves' | 'triangles' | 'circles';
5
5
  export declare type InfoHeroProps = {
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import getBemClass from '@hugsmidjan/react/utils/getBemClass';
3
3
  import Blings from './_abstract/_Blings';
4
+ import Image from './_abstract/_Image';
4
5
  import breakOnNL from './_abstract/breakOnNL';
5
- import Image from './_abstract/Image';
6
6
  import ButtonTertiary from './ButtonTertiary';
7
7
  import { aligns } from './constants';
8
8
  const blingOptions = {
@@ -69,20 +69,14 @@ const InfoHero = (props) => {
69
69
  const alignment = align && aligns[align] ? align : 'right';
70
70
  const blings = (blingType && blingOptions[blingType]) ||
71
71
  blingOptions.waves; // default to `waves`
72
- return (<div className={getBemClass('InfoHero', 'align--' + alignment)}>
73
- <div className="InfoHero__content">
74
- <h1 className="InfoHero__title">{title}</h1>
75
- {titleBlurb && <div className="InfoHero__titleblurb">{titleBlurb}</div>}
76
-
77
- {subTitle && <div className="InfoHero__subtitle">{breakOnNL(subTitle)}</div>}
78
- {blurb && <div className="InfoHero__blurb">{blurb}</div>}
79
-
80
- {showButtons && (<div className="InfoHero__buttons">
81
- {buttons.map((buttonProps, i) => (<ButtonTertiary key={i} {...buttonProps}/>))}
82
- </div>)}
83
- </div>
84
- <Image className="InfoHero__image" altText={title} {...image} placeholder/>
85
- <Blings blings={blings} mirror={alignment === 'right'}/>
86
- </div>);
72
+ return (React.createElement("div", { className: getBemClass('InfoHero', 'align--' + alignment) },
73
+ React.createElement("div", { className: "InfoHero__content" },
74
+ React.createElement("h1", { className: "InfoHero__title" }, title),
75
+ titleBlurb && React.createElement("div", { className: "InfoHero__titleblurb" }, titleBlurb),
76
+ subTitle && React.createElement("div", { className: "InfoHero__subtitle" }, breakOnNL(subTitle)),
77
+ blurb && React.createElement("div", { className: "InfoHero__blurb" }, blurb),
78
+ showButtons && (React.createElement("div", { className: "InfoHero__buttons" }, buttons.map((buttonProps, i) => (React.createElement(ButtonTertiary, Object.assign({ key: i }, buttonProps))))))),
79
+ React.createElement(Image, Object.assign({ className: "InfoHero__image", altText: title }, image, { placeholder: true })),
80
+ React.createElement(Blings, { blings: blings, mirror: alignment === 'right' })));
87
81
  };
88
82
  export default InfoHero;
@@ -1,6 +1,6 @@
1
1
  import { Formheimur } from '@reykjavik/hanna-utils/assets';
2
2
  import { BlockItem } from './_abstract/_Block';
3
- import { ImageProps } from './_abstract/Image';
3
+ import { ImageProps } from './_abstract/_Image';
4
4
  import { SeenProp } from './utils/seenEffect';
5
5
  import { Alignment } from './constants';
6
6
  declare type IslandBaseBlockProps = {
@@ -11,6 +11,6 @@ const IslandBlock = (props) => {
11
11
  content,
12
12
  image: shapes ? { src: getFormheimurUrl(shapes), inline: true } : image || {},
13
13
  };
14
- return (<Block bem="IslandBlock" modifier={'align--' + alignment} {...blockProps} startSeen={startSeen}/>);
14
+ return (React.createElement(Block, Object.assign({ bem: "IslandBlock", modifier: 'align--' + alignment }, blockProps, { startSeen: startSeen })));
15
15
  };
16
16
  export default IslandBlock;
@@ -1,6 +1,6 @@
1
1
  import { Illustration } from '@reykjavik/hanna-utils/assets';
2
2
  import { BlockItem } from './_abstract/_Block';
3
- import { ImageProps } from './_abstract/Image';
3
+ import { ImageProps } from './_abstract/_Image';
4
4
  import { SeenProp } from './utils/seenEffect';
5
5
  import { Alignment } from './constants';
6
6
  declare const backgrounds: {
@@ -11,6 +11,6 @@ const IslandPageBlock = (props) => {
11
11
  const { title, summary, buttons, illustration, image, align, background, startSeen } = props;
12
12
  const alignment = align && aligns[align] ? align : 'right';
13
13
  const bg = backgrounds[background || 'none'];
14
- return (<Block bem="IslandPageBlock" modifier={['align--' + alignment, bg && 'background--' + bg]} content={{ title, summary, buttons }} image={illustration ? { src: getIllustrationUrl(illustration) } : image || {}} startSeen={startSeen}/>);
14
+ return (React.createElement(Block, { bem: "IslandPageBlock", modifier: ['align--' + alignment, bg && 'background--' + bg], content: { title, summary, buttons }, image: illustration ? { src: getIllustrationUrl(illustration) } : image || {}, startSeen: startSeen }));
15
15
  };
16
16
  export default IslandPageBlock;
@@ -1,5 +1,5 @@
1
1
  import { ReactElement } from 'react';
2
- import { ButtonProps } from './_abstract/Button';
2
+ import { ButtonProps } from './_abstract/_Button';
3
3
  import { SeenProp } from './utils/seenEffect';
4
4
  export declare type LabeledTextBlockProps = {
5
5
  label: string;
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import getBemClass from '@hugsmidjan/react/utils/getBemClass';
3
+ import { useSeenEffect } from './utils/seenEffect';
4
+ import ButtonTertiary from './ButtonTertiary';
5
+ const LabeledTextBlock = (props) => {
6
+ const { label, summary, wide, buttons = [], startSeen } = props;
7
+ const [ref] = useSeenEffect(startSeen);
8
+ return (React.createElement("div", { className: getBemClass('LabeledTextBlock', wide && 'wide'), ref: ref },
9
+ React.createElement("h2", { className: "LabeledTextBlock__label" }, label),
10
+ React.createElement("div", { className: "LabeledTextBlock__summary" },
11
+ summary,
12
+ buttons.map((button, i) => (React.createElement(ButtonTertiary, Object.assign({ key: i }, button)))))));
13
+ };
14
+ export default LabeledTextBlock;
package/esm/Layout.js ADDED
@@ -0,0 +1,52 @@
1
+ import React from 'react';
2
+ import { useIsBrowserSide } from '@hugsmidjan/react/hooks';
3
+ import getBemClass from '@hugsmidjan/react/utils/getBemClass';
4
+ import { getAssetUrl } from '@reykjavik/hanna-utils/assets';
5
+ import { getTexts } from '@reykjavik/hanna-utils/i18n';
6
+ import Image from './_abstract/_Image';
7
+ import { Link } from './_abstract/_Link';
8
+ import { useMenuToggling } from './utils/useMenuToggling';
9
+ import { useScrollbarWidthCSSVar } from './utils/useScrollbarWidthCSSVar';
10
+ export const defaultLayoutTexts = {
11
+ is: {
12
+ lang: 'is',
13
+ skipLinkLabel: 'Valmynd',
14
+ closeMenuLabel: 'Loka',
15
+ closeMenuLabelLong: 'Loka valmynd',
16
+ },
17
+ en: {
18
+ lang: 'en',
19
+ skipLinkLabel: 'Skip to navigation',
20
+ closeMenuLabel: 'Close',
21
+ closeMenuLabelLong: 'Close menu',
22
+ },
23
+ };
24
+ const Layout = (props) => {
25
+ useScrollbarWidthCSSVar();
26
+ const { ssr, globalAlerts, mainChildren, navChildren, footerChildren, colorTheme, children, siteName = 'Reykjavík', logoLink = '/', } = props;
27
+ const { isMenuActive, closeMenu, toggleMenu } = useMenuToggling(ssr !== 'ssr-only');
28
+ const isBrowser = useIsBrowserSide( /* ssr */);
29
+ const txt = getTexts(props, defaultLayoutTexts);
30
+ return (React.createElement("div", { className: getBemClass('Layout', props.modifier), "data-sprinkled": isBrowser, "data-color-theme": colorTheme },
31
+ globalAlerts && (React.createElement("div", { className: "Layout__alerts", role: "alert" }, globalAlerts)),
32
+ React.createElement("div", { className: "Layout__content" },
33
+ React.createElement("div", { className: "Layout__header", role: "banner" },
34
+ React.createElement(Link, { className: "Layout__header__logo", href: logoLink },
35
+ ' ',
36
+ React.createElement(Image, { className: undefined, inline: true, src: getAssetUrl('reykjavik-logo.svg') }),
37
+ ' ',
38
+ siteName,
39
+ ' '),
40
+ ' ',
41
+ navChildren && (React.createElement(Link, { className: "Layout__header__skiplink", href: "#pagenav", onClick: isMenuActive &&
42
+ ((e) => {
43
+ e.preventDefault();
44
+ toggleMenu();
45
+ }), "aria-label": txt.skipLinkLabel }, txt.skipLinkLabel))),
46
+ React.createElement("div", { className: "Layout__main", role: "main" }, mainChildren || children),
47
+ navChildren && (React.createElement("div", { className: "Layout__nav", id: "pagenav", role: "navigation" },
48
+ navChildren,
49
+ isMenuActive && (React.createElement("button", { className: "Layout__nav__closebutton", onClick: closeMenu, "aria-label": txt.closeMenuLabelLong, type: "button" }, txt.closeMenuLabel)))),
50
+ React.createElement("div", { className: "Layout__footer", role: "complementary" }, footerChildren))));
51
+ };
52
+ export default Layout;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { getIllustrationUrl } from '@reykjavik/hanna-utils/assets';
3
+ import { Link } from '../_abstract/_Link';
4
+ export const AuxiliaryPanel = (props) => {
5
+ const { title, id, items, image } = props;
6
+ const imageUrl = image ? getIllustrationUrl(image) : image;
7
+ return (React.createElement("li", { className: "AuxiliaryPanel", id: id, style: imageUrl
8
+ ? { '--menu-auxiliary-image': `url(${imageUrl})` }
9
+ : undefined },
10
+ React.createElement("h3", { className: "AuxiliaryPanel__title" }, title),
11
+ React.createElement("ul", { className: "AuxiliaryPanel__items" }, items.map((item, i) => (React.createElement("li", { key: i, className: "AuxiliaryPanel__item", "aria-current": item.current || undefined },
12
+ React.createElement(Link, { className: "AuxiliaryPanel__link", href: item.href, target: item.target, lang: item.lang }, item.label)))))));
13
+ };
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import getBemClass from '@hugsmidjan/react/utils/getBemClass';
3
+ import { Link } from '../_abstract/_Link';
4
+ export const PrimaryPanel = (props) => {
5
+ const { setActivePanel, panel, isParent, isActive, isBrowser, texts } = props;
6
+ const { items } = panel;
7
+ return (React.createElement("li", { ref: isActive ? props.activeRef : undefined, className: getBemClass('PrimaryPanel', [
8
+ isParent && 'parent',
9
+ isActive && 'active',
10
+ items.length > 5 && 'twocol', // TODO: allow setting twocol manually?
11
+ ]), id: panel.id },
12
+ React.createElement("h3", { className: "PrimaryPanel__title" },
13
+ ' ',
14
+ isBrowser && !isActive ? (React.createElement("button", { className: "MainMenu__mega__title-toggler", "aria-controls": panel.id, onClick: () => setActivePanel(panel, false), "aria-pressed": isActive, type: "button" }, panel.title)) : (panel.title)),
15
+ React.createElement("ul", { className: "PrimaryPanel__items" }, items.map((item, i) => (React.createElement("li", { key: i, className: "PrimaryPanel__item", "aria-current": item.current || undefined },
16
+ React.createElement(Link, { className: "PrimaryPanel__link", href: item.href, target: item.target, lang: item.lang },
17
+ React.createElement("span", { className: "PrimaryPanel__linkTitle" }, item.label),
18
+ ' ',
19
+ React.createElement("small", { className: "PrimaryPanel__summary" }, item.summary),
20
+ ' '))))),
21
+ isBrowser && isActive && (React.createElement("button", { className: "MainMenu__megapanel__backtomenu", "aria-controls": panel.id, "aria-label": texts.backToMenuLong, onClick: () => setActivePanel(undefined), type: "button" }, texts.backToMenu))));
22
+ };
@@ -5,7 +5,7 @@ import useShortState from '@hugsmidjan/react/hooks/useShortState';
5
5
  import getBemClass from '@hugsmidjan/react/utils/getBemClass';
6
6
  import { getPageScrollElm } from '@reykjavik/hanna-utils';
7
7
  import { getTexts } from '@reykjavik/hanna-utils/i18n';
8
- import { Link } from './_abstract/Link';
8
+ import { Link } from './_abstract/_Link';
9
9
  import { AuxiliaryPanel, } from './MainMenu/_Auxiliary';
10
10
  import { PrimaryPanel } from './MainMenu/_PrimaryPanel';
11
11
  import { useFormatMonitor } from './utils/useFormatMonitor';
@@ -101,49 +101,36 @@ const MainMenu = (props) => {
101
101
  if (menuItems.length === 0) {
102
102
  return null;
103
103
  }
104
- return (<nav className="MainMenu" aria-label={title} data-sprinkled={isBrowser} ref={menuElmRef}>
105
- <h2 className="MainMenu__title">{title}</h2>
106
- <ul className="MainMenu__items">
107
- {menuItems.map((item, i) => {
104
+ return (React.createElement("nav", { className: "MainMenu", "aria-label": title, "data-sprinkled": isBrowser, ref: menuElmRef },
105
+ React.createElement("h2", { className: "MainMenu__title" }, title),
106
+ React.createElement("ul", { className: "MainMenu__items" }, menuItems.map((item, i) => {
108
107
  if (item === '---') {
109
- return <li key={i} className="MainMenu__separator" aria-hidden="true"/>;
108
+ return React.createElement("li", { key: i, className: "MainMenu__separator", "aria-hidden": "true" });
110
109
  }
111
110
  const { label, labelLong, lang, controlsId, onClick } = item;
112
111
  const pressed = (activePanel && controlsId === activePanel.id) || undefined;
113
- return (<li key={i} className={getBemClass('MainMenu__item', item.modifier)} aria-current={item.current || undefined}>
114
- {onClick || (!!item.megaPanel && (isBrowser || item.href != null)) ? (
115
- // only print script-driven buttons in the browser
116
- <button className="MainMenu__link" onClick={() => {
117
- item.megaPanel && setActivePanel(item.megaPanel);
118
- onClick && onClick(i, item);
119
- onItemClick && onItemClick(i, item);
120
- }} ref={pressed && pressedLinkRef} aria-pressed={pressed} aria-controls={controlsId} aria-label={labelLong} title={labelLong} // For auto-tooltips on desktop
121
- lang={lang} type="button">
122
- {label}
123
- </button>) : item.href != null ? (
124
- // always render links server-side
125
- <Link className="MainMenu__link" href={item.href} aria-label={labelLong} title={labelLong} // For auto-tooltips on desktop
126
- onClick={onItemClick && (() => onItemClick(i, item))} lang={lang}>
127
- {label}
128
- </Link>) : undefined // skip rendering non-link menu items server side
129
- }
130
- </li>);
131
- })}
132
- </ul>
133
- {'\n\n'}
134
- {megaPanels.length > 0 && (<div className={getBemClass('MainMenu__panelsWrap', [activePanel && 'active'])}>
135
- <ul className="MainMenu__panels">
136
- {megaPanels.map((panel, i) => {
137
- if (!panel.items.length) {
138
- return;
139
- }
140
- const isActive = activePanel === panel || laggyActivePanel === panel || undefined;
141
- const isParent = !!panel.items.find((item) => item.current);
142
- return (<PrimaryPanel key={i} isParent={isParent} isActive={isActive} panel={panel} isBrowser={isBrowser} setActivePanel={setActivePanel} texts={getTexts(props, defaultMainMenuTexts)} activeRef={activePanelRef}/>);
143
- })}
144
- {auxiliaryPanel && <AuxiliaryPanel {...auxiliaryPanel}/>}
145
- </ul>
146
- </div>)}
147
- </nav>);
112
+ return (React.createElement("li", { key: i, className: getBemClass('MainMenu__item', item.modifier), "aria-current": item.current || undefined }, onClick || (!!item.megaPanel && (isBrowser || item.href != null)) ? (
113
+ // only print script-driven buttons in the browser
114
+ React.createElement("button", { className: "MainMenu__link", onClick: () => {
115
+ item.megaPanel && setActivePanel(item.megaPanel);
116
+ onClick && onClick(i, item);
117
+ onItemClick && onItemClick(i, item);
118
+ }, ref: pressed && pressedLinkRef, "aria-pressed": pressed, "aria-controls": controlsId, "aria-label": labelLong, title: labelLong, lang: lang, type: "button" }, label)) : item.href != null ? (
119
+ // always render links server-side
120
+ React.createElement(Link, { className: "MainMenu__link", href: item.href, "aria-label": labelLong, title: labelLong, onClick: onItemClick && (() => onItemClick(i, item)), lang: lang }, label)) : undefined // skip rendering non-link menu items server side
121
+ ));
122
+ })),
123
+ '\n\n',
124
+ megaPanels.length > 0 && (React.createElement("div", { className: getBemClass('MainMenu__panelsWrap', [activePanel && 'active']) },
125
+ React.createElement("ul", { className: "MainMenu__panels" },
126
+ megaPanels.map((panel, i) => {
127
+ if (!panel.items.length) {
128
+ return;
129
+ }
130
+ const isActive = activePanel === panel || laggyActivePanel === panel || undefined;
131
+ const isParent = !!panel.items.find((item) => item.current);
132
+ return (React.createElement(PrimaryPanel, { key: i, isParent: isParent, isActive: isActive, panel: panel, isBrowser: isBrowser, setActivePanel: setActivePanel, texts: getTexts(props, defaultMainMenuTexts), activeRef: activePanelRef }));
133
+ }),
134
+ auxiliaryPanel && React.createElement(AuxiliaryPanel, Object.assign({}, auxiliaryPanel)))))));
148
135
  };
149
136
  export default MainMenu;
@@ -1,4 +1,4 @@
1
- import { ButtonProps } from './_abstract/Button';
1
+ import { ButtonProps } from './_abstract/_Button';
2
2
  import { SeenProp } from './utils/seenEffect';
3
3
  export declare type MiniMetricsProps = {
4
4
  text: string;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import Button from './_abstract/_Button';
3
+ import SeenEffect from './SeenEffect';
4
+ const MiniMetrics = (props) => {
5
+ const { text, moreButton, startSeen } = props;
6
+ return (React.createElement(SeenEffect, { className: "MiniMetrics", startSeen: startSeen },
7
+ React.createElement("strong", { className: "MiniMetrics__text" }, text),
8
+ " ",
9
+ '\n',
10
+ React.createElement(Button, Object.assign({ bem: "MiniMetrics__more" }, moreButton))));
11
+ };
12
+ export default MiniMetrics;
package/esm/Modal.js ADDED
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import _Modal from '@hugsmidjan/react/Modal';
3
+ const Modal = (props) => {
4
+ const { closeDelay = 500, texts = {
5
+ closeButton: 'Loka ',
6
+ }, bling, children, render = () => children, } = props;
7
+ return (React.createElement(_Modal, Object.assign({}, props, { bodyWrap: false, bem: "Modal", closeDelay: closeDelay, texts: texts, render: (args) => bling ? (React.createElement(React.Fragment, null,
8
+ render(args),
9
+ React.createElement("div", { className: "Modal__blings" },
10
+ React.createElement("div", { className: "Modal__blings__inner" }, bling)))) : (render(args)),
11
+ // eslint-disable-next-line react/no-children-prop
12
+ children: undefined })));
13
+ };
14
+ export default Modal;
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import getBemClass from '@hugsmidjan/react/utils/getBemClass';
3
3
  import { getTexts } from '@reykjavik/hanna-utils/i18n';
4
+ import Button from './_abstract/_Button';
4
5
  import breakOnNL from './_abstract/breakOnNL';
5
- import Button from './_abstract/Button';
6
6
  const formatDate = (date) => {
7
7
  return typeof date === 'string'
8
8
  ? date
@@ -43,16 +43,16 @@ const NameCard = (props) => {
43
43
  }
44
44
  const texts = getTexts(props, defaultTexts);
45
45
  const { updatedLabel, availableLabel, unavailableLabel } = texts;
46
- return (<div className="NameCard__meta">
47
- {available != null && (<span className={getBemClass('NameCard__availability', available && 'available')}>
48
- {available
46
+ return (React.createElement("div", { className: "NameCard__meta" },
47
+ available != null && (React.createElement("span", { className: getBemClass('NameCard__availability', available && 'available') },
48
+ available
49
49
  ? availableLabel || texts.vacancyLabel
50
- : unavailableLabel || texts.noVacancyLabel}{' '}
51
- </span>)}
52
- {updated != null && (<span className="NameCard__updated">
53
- {updatedLabel} {formatDate(updated)}
54
- </span>)}
55
- </div>);
50
+ : unavailableLabel || texts.noVacancyLabel,
51
+ ' ')),
52
+ updated != null && (React.createElement("span", { className: "NameCard__updated" },
53
+ updatedLabel,
54
+ " ",
55
+ formatDate(updated)))));
56
56
  };
57
57
  let contactInfo = props.contactInfo;
58
58
  if (!contactInfo) {
@@ -69,19 +69,14 @@ const NameCard = (props) => {
69
69
  }
70
70
  return item;
71
71
  });
72
- return (<div className="NameCard">
73
- <div className="NameCard__name">{name}</div>
74
- {contactInfo.length > 0 && (<p className="NameCard__contactinfo">
75
- {cleanContactInfo.map((item, i) => (<>
76
- {typeof item === 'string' ? (<span className="NameCard__contactinfo__item">{item}</span>) : (<Button key={i} bem="NameCard__contactinfo__item" href={item.href} aria-label={item.longLabel} title={item.longLabel}>
77
- {item.label}
78
- </Button>)}{' '}
79
- </>))}
80
- </p>)}
81
- {location && <p className="NameCard__location">{renderContent(location)}</p>}
82
- {hours && <p className="NameCard__hours">{renderContent(hours)}</p>}
83
- {aboutText && <p className="NameCard__abouttext">{renderContent(aboutText)}</p>}
84
- {renderMeta()}
85
- </div>);
72
+ return (React.createElement("div", { className: "NameCard" },
73
+ React.createElement("div", { className: "NameCard__name" }, name),
74
+ contactInfo.length > 0 && (React.createElement("p", { className: "NameCard__contactinfo" }, cleanContactInfo.map((item, i) => (React.createElement(React.Fragment, null,
75
+ typeof item === 'string' ? (React.createElement("span", { className: "NameCard__contactinfo__item" }, item)) : (React.createElement(Button, { key: i, bem: "NameCard__contactinfo__item", href: item.href, "aria-label": item.longLabel, title: item.longLabel }, item.label)),
76
+ ' '))))),
77
+ location && React.createElement("p", { className: "NameCard__location" }, renderContent(location)),
78
+ hours && React.createElement("p", { className: "NameCard__hours" }, renderContent(hours)),
79
+ aboutText && React.createElement("p", { className: "NameCard__abouttext" }, renderContent(aboutText)),
80
+ renderMeta()));
86
81
  };
87
82
  export default NameCard;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import NameCard from './NameCard';
3
+ const NameCards = (props) => {
4
+ const { items } = props;
5
+ return (React.createElement("div", { className: "NameCards" }, items.map((item, i) => (React.createElement(NameCard, Object.assign({ key: i }, item))))));
6
+ };
7
+ export default NameCards;
package/esm/NewsHero.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ImageProps } from './_abstract/Image';
1
+ import { ImageProps } from './_abstract/_Image';
2
2
  import { SeenProp } from './utils/seenEffect';
3
3
  declare type BlingOptions = 'interesting' | 'snake' | 'pentagon' | 'dome' | 'balls-small' | 'balls-large';
4
4
  export declare type NewsHeroProps = {