@reykjavik/hanna-react 0.10.55 → 0.10.56

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 (592) hide show
  1. package/AccordionList.jsx +61 -0
  2. package/ActionCards.jsx +15 -0
  3. package/Alert.jsx +123 -0
  4. package/ArticleCarousel/_ArticleCarouselCard.d.ts +1 -1
  5. package/ArticleCarousel/_ArticleCarouselCard.jsx +32 -0
  6. package/ArticleCarousel.jsx +13 -0
  7. package/ArticleMeta.jsx +42 -0
  8. package/Attention.jsx +9 -0
  9. package/BasicTable.jsx +35 -0
  10. package/Bling.jsx +49 -0
  11. package/BlockBreak.jsx +11 -0
  12. package/BlockQuote.jsx +9 -0
  13. package/BreadCrumbs.jsx +36 -0
  14. package/ButtonBack.jsx +9 -0
  15. package/ButtonBar.jsx +23 -0
  16. package/ButtonPrimary.jsx +9 -0
  17. package/ButtonSecondary.jsx +9 -0
  18. package/ButtonTertiary.jsx +20 -0
  19. package/CHANGELOG.md +13 -5
  20. package/Carousel.jsx +9 -0
  21. package/CarouselStepper.jsx +9 -0
  22. package/CenterColumn.jsx +14 -0
  23. package/Checkbox.jsx +9 -0
  24. package/CheckboxButtonsGroup.jsx +19 -0
  25. package/CheckboxGroup.jsx +12 -0
  26. package/CityBlock.jsx +23 -0
  27. package/ContactBubble.jsx +192 -0
  28. package/ContentArticle.jsx +29 -0
  29. package/ContentImage.jsx +18 -0
  30. package/Datepicker.jsx +92 -0
  31. package/ExtraLinks.jsx +47 -0
  32. package/FeatureList.jsx +28 -0
  33. package/FieldGroup.jsx +15 -0
  34. package/FileInput.jsx +185 -0
  35. package/Foonote.jsx +12 -0
  36. package/FooterBadges.jsx +21 -0
  37. package/FooterInfo.jsx +19 -0
  38. package/Footnote.jsx +8 -0
  39. package/Form.jsx +17 -0
  40. package/FormField.jsx +121 -0
  41. package/Gallery/_GalleryItem.jsx +59 -0
  42. package/Gallery/_GalleryModal.jsx +86 -0
  43. package/Gallery/_GalleryModalContext.js +8 -0
  44. package/Gallery/_GalleryModalItem.jsx +29 -0
  45. package/Gallery.jsx +56 -0
  46. package/GridBlocks.jsx +40 -0
  47. package/Heading.jsx +24 -0
  48. package/HeroBlock.jsx +27 -0
  49. package/IframeBlock.jsx +31 -0
  50. package/Illustration.jsx +13 -0
  51. package/ImageCards.jsx +28 -0
  52. package/InfoBlock.jsx +23 -0
  53. package/InfoHero.jsx +93 -0
  54. package/IslandBlock.jsx +21 -0
  55. package/IslandPageBlock.jsx +21 -0
  56. package/LabeledTextBlock.jsx +21 -0
  57. package/Layout.jsx +69 -0
  58. package/MainMenu/_Auxiliary.jsx +26 -0
  59. package/MainMenu/_PrimaryPanel.jsx +37 -0
  60. package/MainMenu.d.ts +1 -1
  61. package/MainMenu.jsx +178 -0
  62. package/MiniMetrics.jsx +16 -0
  63. package/Modal.jsx +21 -0
  64. package/NameCard.jsx +92 -0
  65. package/NameCards.jsx +14 -0
  66. package/NewsHero.jsx +93 -0
  67. package/PageFilter.jsx +21 -0
  68. package/PageHeading.jsx +19 -0
  69. package/ProcessOverview.jsx +25 -0
  70. package/PullQuote.jsx +9 -0
  71. package/RadioButtonsGroup.jsx +19 -0
  72. package/RadioGroup.jsx +12 -0
  73. package/RelatedLinks.jsx +35 -0
  74. package/RowBlock.jsx +16 -0
  75. package/RowBlockColumn.jsx +18 -0
  76. package/SearchInput.jsx +63 -0
  77. package/SearchResults/_SearchResultsItem.jsx +24 -0
  78. package/SearchResults.jsx +146 -0
  79. package/SeenEffect.jsx +24 -0
  80. package/Selectbox.jsx +74 -0
  81. package/ShareButtons.jsx +82 -0
  82. package/Sharpie.jsx +27 -0
  83. package/SiteSearchAutocomplete.jsx +89 -0
  84. package/SiteSearchCurtain.jsx +65 -0
  85. package/SiteSearchInput.d.ts +1 -1
  86. package/SiteSearchInput.jsx +70 -0
  87. package/Skeleton.jsx +35 -0
  88. package/SubHeading.jsx +20 -0
  89. package/Tabs.jsx +122 -0
  90. package/TagPill.jsx +53 -0
  91. package/TextBlock.jsx +22 -0
  92. package/TextButton.jsx +14 -0
  93. package/TextInput.jsx +63 -0
  94. package/VSpacer.jsx +46 -0
  95. package/VerticalTabsTOC.jsx +96 -0
  96. package/WizardLayout.jsx +44 -0
  97. package/WizardLayoutClose.jsx +9 -0
  98. package/WizardStepper.jsx +34 -0
  99. package/_abstract/Button.jsx +56 -0
  100. package/_abstract/CardList.jsx +46 -0
  101. package/_abstract/Image.jsx +34 -0
  102. package/_abstract/Link.jsx +31 -0
  103. package/_abstract/TogglerGroup.jsx +36 -0
  104. package/_abstract/TogglerGroupField.jsx +27 -0
  105. package/_abstract/TogglerInput.jsx +40 -0
  106. package/_abstract/_AbstractCarousel.jsx +161 -0
  107. package/_abstract/_Blings.jsx +19 -0
  108. package/_abstract/_Block.jsx +32 -0
  109. package/_abstract/_Quote.jsx +18 -0
  110. package/_abstract/breakOnNL.jsx +13 -0
  111. package/assets.js +51 -0
  112. package/constants.js +25 -0
  113. package/esm/AccordionList.d.ts +17 -0
  114. package/esm/AccordionList.jsx +33 -0
  115. package/esm/ActionCards.d.ts +5 -0
  116. package/esm/ActionCards.jsx +10 -0
  117. package/esm/Alert.d.ts +49 -0
  118. package/esm/Alert.jsx +94 -0
  119. package/esm/ArticleCarousel/_ArticleCarouselCard.d.ts +27 -0
  120. package/esm/ArticleCarousel/_ArticleCarouselCard.jsx +25 -0
  121. package/esm/ArticleCarousel.d.ts +12 -0
  122. package/esm/ArticleCarousel.jsx +8 -0
  123. package/esm/ArticleMeta.d.ts +9 -0
  124. package/esm/ArticleMeta.jsx +17 -0
  125. package/esm/Attention.d.ts +7 -0
  126. package/esm/Attention.jsx +4 -0
  127. package/esm/BasicTable.d.ts +12 -0
  128. package/esm/BasicTable.jsx +30 -0
  129. package/esm/Bling.d.ts +81 -0
  130. package/esm/Bling.jsx +44 -0
  131. package/esm/BlockBreak.d.ts +2 -0
  132. package/esm/BlockBreak.jsx +6 -0
  133. package/esm/BlockQuote.d.ts +4 -0
  134. package/esm/BlockQuote.jsx +4 -0
  135. package/esm/BreadCrumbs.d.ts +11 -0
  136. package/esm/BreadCrumbs.jsx +31 -0
  137. package/esm/ButtonBack.d.ts +7 -0
  138. package/esm/ButtonBack.jsx +4 -0
  139. package/esm/ButtonBar.d.ts +16 -0
  140. package/esm/ButtonBar.jsx +16 -0
  141. package/esm/ButtonPrimary.d.ts +7 -0
  142. package/esm/ButtonPrimary.jsx +4 -0
  143. package/esm/ButtonSecondary.d.ts +7 -0
  144. package/esm/ButtonSecondary.jsx +4 -0
  145. package/esm/ButtonTertiary.d.ts +12 -0
  146. package/esm/ButtonTertiary.jsx +15 -0
  147. package/esm/Carousel.d.ts +4 -0
  148. package/esm/Carousel.jsx +4 -0
  149. package/esm/CarouselStepper.d.ts +4 -0
  150. package/esm/CarouselStepper.jsx +4 -0
  151. package/esm/CenterColumn.d.ts +7 -0
  152. package/esm/CenterColumn.jsx +9 -0
  153. package/esm/Checkbox.d.ts +4 -0
  154. package/esm/Checkbox.jsx +4 -0
  155. package/esm/CheckboxButtonsGroup.d.ts +11 -0
  156. package/esm/CheckboxButtonsGroup.jsx +14 -0
  157. package/esm/CheckboxGroup.d.ts +9 -0
  158. package/esm/CheckboxGroup.jsx +7 -0
  159. package/esm/CityBlock.d.ts +23 -0
  160. package/esm/CityBlock.jsx +18 -0
  161. package/esm/ContactBubble.d.ts +58 -0
  162. package/esm/ContactBubble.jsx +162 -0
  163. package/esm/ContentArticle.d.ts +15 -0
  164. package/esm/ContentArticle.jsx +24 -0
  165. package/esm/ContentImage.d.ts +8 -0
  166. package/esm/ContentImage.jsx +13 -0
  167. package/esm/Datepicker.d.ts +39 -0
  168. package/esm/Datepicker.jsx +64 -0
  169. package/esm/ExtraLinks.d.ts +18 -0
  170. package/esm/ExtraLinks.jsx +42 -0
  171. package/esm/FeatureList.d.ts +12 -0
  172. package/esm/FeatureList.jsx +23 -0
  173. package/esm/FieldGroup.d.ts +9 -0
  174. package/esm/FieldGroup.jsx +10 -0
  175. package/esm/FileInput.d.ts +17 -0
  176. package/esm/FileInput.jsx +157 -0
  177. package/esm/Foonote.d.ts +12 -0
  178. package/esm/Foonote.jsx +7 -0
  179. package/esm/FooterBadges.d.ts +9 -0
  180. package/esm/FooterBadges.jsx +16 -0
  181. package/esm/FooterInfo.d.ts +18 -0
  182. package/esm/FooterInfo.jsx +14 -0
  183. package/esm/Footnote.d.ts +6 -0
  184. package/esm/Footnote.jsx +3 -0
  185. package/esm/Form.d.ts +7 -0
  186. package/esm/Form.jsx +12 -0
  187. package/esm/FormField.d.ts +65 -0
  188. package/esm/FormField.jsx +93 -0
  189. package/esm/Gallery/_GalleryItem.d.ts +8 -0
  190. package/esm/Gallery/_GalleryItem.jsx +31 -0
  191. package/esm/Gallery/_GalleryModal.d.ts +6 -0
  192. package/esm/Gallery/_GalleryModal.jsx +58 -0
  193. package/esm/Gallery/_GalleryModalContext.d.ts +9 -0
  194. package/esm/Gallery/_GalleryModalContext.js +3 -0
  195. package/esm/Gallery/_GalleryModalItem.d.ts +3 -0
  196. package/esm/Gallery/_GalleryModalItem.jsx +24 -0
  197. package/esm/Gallery.d.ts +17 -0
  198. package/esm/Gallery.jsx +28 -0
  199. package/esm/GridBlocks.d.ts +26 -0
  200. package/esm/GridBlocks.jsx +35 -0
  201. package/esm/Heading.d.ts +16 -0
  202. package/esm/Heading.jsx +19 -0
  203. package/esm/HeroBlock.d.ts +19 -0
  204. package/esm/HeroBlock.jsx +22 -0
  205. package/esm/IframeBlock.d.ts +23 -0
  206. package/esm/IframeBlock.jsx +26 -0
  207. package/esm/Illustration.d.ts +13 -0
  208. package/esm/Illustration.jsx +8 -0
  209. package/esm/ImageCards.d.ts +8 -0
  210. package/esm/ImageCards.jsx +23 -0
  211. package/esm/InfoBlock.d.ts +17 -0
  212. package/esm/InfoBlock.jsx +18 -0
  213. package/esm/InfoHero.d.ts +17 -0
  214. package/esm/InfoHero.jsx +88 -0
  215. package/esm/IslandBlock.d.ts +25 -0
  216. package/esm/IslandBlock.jsx +16 -0
  217. package/esm/IslandPageBlock.d.ts +24 -0
  218. package/esm/IslandPageBlock.jsx +16 -0
  219. package/esm/LabeledTextBlock.d.ts +11 -0
  220. package/esm/LabeledTextBlock.jsx +16 -0
  221. package/esm/Layout.d.ts +33 -0
  222. package/esm/Layout.jsx +63 -0
  223. package/esm/MainMenu/_Auxiliary.d.ts +6 -0
  224. package/esm/MainMenu/_Auxiliary.jsx +19 -0
  225. package/esm/MainMenu/_PrimaryPanel.d.ts +13 -0
  226. package/esm/MainMenu/_PrimaryPanel.jsx +30 -0
  227. package/esm/MainMenu.d.ts +48 -0
  228. package/esm/MainMenu.jsx +149 -0
  229. package/esm/MiniMetrics.d.ts +8 -0
  230. package/esm/MiniMetrics.jsx +11 -0
  231. package/esm/Modal.d.ts +10 -0
  232. package/esm/Modal.jsx +16 -0
  233. package/esm/NameCard.d.ts +64 -0
  234. package/esm/NameCard.jsx +87 -0
  235. package/esm/NameCards.d.ts +6 -0
  236. package/esm/NameCards.jsx +9 -0
  237. package/esm/NewsHero.d.ts +14 -0
  238. package/esm/NewsHero.jsx +88 -0
  239. package/esm/PageFilter.d.ts +17 -0
  240. package/esm/PageFilter.jsx +16 -0
  241. package/esm/PageHeading.d.ts +10 -0
  242. package/esm/PageHeading.jsx +14 -0
  243. package/esm/ProcessOverview.d.ts +13 -0
  244. package/esm/ProcessOverview.jsx +20 -0
  245. package/esm/PullQuote.d.ts +4 -0
  246. package/esm/PullQuote.jsx +4 -0
  247. package/esm/RadioButtonsGroup.d.ts +11 -0
  248. package/esm/RadioButtonsGroup.jsx +14 -0
  249. package/esm/RadioGroup.d.ts +13 -0
  250. package/esm/RadioGroup.jsx +7 -0
  251. package/esm/RelatedLinks.d.ts +20 -0
  252. package/esm/RelatedLinks.jsx +30 -0
  253. package/esm/RowBlock.d.ts +12 -0
  254. package/esm/RowBlock.jsx +11 -0
  255. package/esm/RowBlockColumn.d.ts +8 -0
  256. package/esm/RowBlockColumn.jsx +13 -0
  257. package/esm/SearchInput.d.ts +18 -0
  258. package/esm/SearchInput.jsx +35 -0
  259. package/esm/SearchResults/_SearchResultsItem.d.ts +18 -0
  260. package/esm/SearchResults/_SearchResultsItem.jsx +19 -0
  261. package/esm/SearchResults.d.ts +33 -0
  262. package/esm/SearchResults.jsx +118 -0
  263. package/esm/SeenEffect.d.ts +4 -0
  264. package/esm/SeenEffect.jsx +19 -0
  265. package/esm/Selectbox.d.ts +8 -0
  266. package/esm/Selectbox.jsx +46 -0
  267. package/esm/ShareButtons.d.ts +9 -0
  268. package/esm/ShareButtons.jsx +57 -0
  269. package/esm/Sharpie.d.ts +23 -0
  270. package/esm/Sharpie.jsx +22 -0
  271. package/esm/SiteSearchAutocomplete.d.ts +40 -0
  272. package/esm/SiteSearchAutocomplete.jsx +60 -0
  273. package/esm/SiteSearchCurtain.d.ts +6 -0
  274. package/esm/SiteSearchCurtain.jsx +37 -0
  275. package/esm/SiteSearchInput.d.ts +24 -0
  276. package/esm/SiteSearchInput.jsx +42 -0
  277. package/esm/Skeleton.d.ts +25 -0
  278. package/esm/Skeleton.jsx +30 -0
  279. package/esm/SubHeading.d.ts +10 -0
  280. package/esm/SubHeading.jsx +15 -0
  281. package/esm/Tabs.d.ts +35 -0
  282. package/esm/Tabs.jsx +94 -0
  283. package/esm/TagPill.d.ts +27 -0
  284. package/esm/TagPill.jsx +48 -0
  285. package/esm/TextBlock.d.ts +15 -0
  286. package/esm/TextBlock.jsx +17 -0
  287. package/esm/TextButton.d.ts +9 -0
  288. package/esm/TextButton.jsx +9 -0
  289. package/esm/TextInput.d.ts +16 -0
  290. package/esm/TextInput.jsx +35 -0
  291. package/esm/VSpacer.d.ts +24 -0
  292. package/esm/VSpacer.jsx +41 -0
  293. package/esm/VerticalTabsTOC.d.ts +14 -0
  294. package/esm/VerticalTabsTOC.jsx +68 -0
  295. package/esm/WizardLayout.d.ts +15 -0
  296. package/esm/WizardLayout.jsx +39 -0
  297. package/esm/WizardLayoutClose.d.ts +3 -0
  298. package/esm/WizardLayoutClose.jsx +4 -0
  299. package/esm/WizardStepper.d.ts +36 -0
  300. package/esm/WizardStepper.jsx +29 -0
  301. package/esm/_abstract/Button.d.ts +40 -0
  302. package/esm/_abstract/Button.jsx +51 -0
  303. package/esm/_abstract/CardList.d.ts +29 -0
  304. package/esm/_abstract/CardList.jsx +39 -0
  305. package/esm/_abstract/Image.d.ts +32 -0
  306. package/esm/_abstract/Image.jsx +29 -0
  307. package/esm/_abstract/Link.d.ts +27 -0
  308. package/esm/_abstract/Link.jsx +24 -0
  309. package/esm/_abstract/TogglerGroup.d.ts +31 -0
  310. package/esm/_abstract/TogglerGroup.jsx +31 -0
  311. package/esm/_abstract/TogglerGroupField.d.ts +17 -0
  312. package/esm/_abstract/TogglerGroupField.jsx +22 -0
  313. package/esm/_abstract/TogglerInput.d.ts +22 -0
  314. package/esm/_abstract/TogglerInput.jsx +35 -0
  315. package/esm/_abstract/_AbstractCarousel.d.ts +25 -0
  316. package/esm/_abstract/_AbstractCarousel.jsx +133 -0
  317. package/esm/_abstract/_Blings.d.ts +11 -0
  318. package/esm/_abstract/_Blings.jsx +14 -0
  319. package/esm/_abstract/_Block.d.ts +22 -0
  320. package/esm/_abstract/_Block.jsx +27 -0
  321. package/esm/_abstract/_Quote.d.ts +9 -0
  322. package/esm/_abstract/_Quote.jsx +11 -0
  323. package/esm/_abstract/breakOnNL.d.ts +2 -0
  324. package/esm/_abstract/breakOnNL.jsx +8 -0
  325. package/esm/assets.d.ts +42 -0
  326. package/esm/assets.js +56 -0
  327. package/esm/constants.d.ts +39 -0
  328. package/esm/constants.js +22 -0
  329. package/esm/focus-visible.d.ts +1 -0
  330. package/esm/focus-visible.js +1 -0
  331. package/esm/package.json +1 -0
  332. package/esm/utils/env.d.ts +1 -0
  333. package/esm/utils/env.js +8 -0
  334. package/esm/utils/seenEffect.d.ts +28 -0
  335. package/esm/utils/seenEffect.js +73 -0
  336. package/esm/utils/useFormatMonitor.d.ts +38 -0
  337. package/esm/utils/useFormatMonitor.js +41 -0
  338. package/esm/utils/useGetSVGtext.d.ts +6 -0
  339. package/esm/utils/useGetSVGtext.js +19 -0
  340. package/esm/utils/useMenuToggling.d.ts +8 -0
  341. package/esm/utils/useMenuToggling.js +62 -0
  342. package/esm/utils/useScrollbarWidthCSSVar.d.ts +1 -0
  343. package/esm/utils/useScrollbarWidthCSSVar.js +3 -0
  344. package/esm/utils.d.ts +2 -0
  345. package/esm/utils.js +2 -0
  346. package/focus-visible.js +3 -0
  347. package/package.json +183 -184
  348. package/utils/env.js +14 -0
  349. package/utils/seenEffect.js +81 -0
  350. package/utils/useFormatMonitor.js +44 -0
  351. package/utils/useGetSVGtext.js +23 -0
  352. package/utils/useMenuToggling.js +66 -0
  353. package/utils/useScrollbarWidthCSSVar.js +10 -0
  354. package/utils.js +18 -0
  355. package/AccordionList.cjs +0 -91
  356. package/AccordionList.mjs +0 -69
  357. package/ActionCards.cjs +0 -57
  358. package/ActionCards.mjs +0 -35
  359. package/Alert.cjs +0 -159
  360. package/Alert.mjs +0 -139
  361. package/ArticleCarousel/_ArticleCarouselCard.cjs +0 -75
  362. package/ArticleCarousel/_ArticleCarouselCard.mjs +0 -51
  363. package/ArticleCarousel.cjs +0 -43
  364. package/ArticleCarousel.mjs +0 -21
  365. package/ArticleMeta.cjs +0 -46
  366. package/ArticleMeta.mjs +0 -22
  367. package/Attention.cjs +0 -33
  368. package/Attention.mjs +0 -9
  369. package/BasicTable.cjs +0 -72
  370. package/BasicTable.mjs +0 -50
  371. package/Bling.cjs +0 -76
  372. package/Bling.mjs +0 -52
  373. package/BlockBreak.cjs +0 -32
  374. package/BlockBreak.mjs +0 -8
  375. package/BlockQuote.cjs +0 -47
  376. package/BlockQuote.mjs +0 -25
  377. package/BreadCrumbs.cjs +0 -67
  378. package/BreadCrumbs.mjs +0 -43
  379. package/ButtonBack.cjs +0 -47
  380. package/ButtonBack.mjs +0 -25
  381. package/ButtonBar.cjs +0 -45
  382. package/ButtonBar.mjs +0 -18
  383. package/ButtonPrimary.cjs +0 -47
  384. package/ButtonPrimary.mjs +0 -25
  385. package/ButtonSecondary.cjs +0 -47
  386. package/ButtonSecondary.mjs +0 -25
  387. package/ButtonTertiary.cjs +0 -64
  388. package/ButtonTertiary.mjs +0 -42
  389. package/Carousel.cjs +0 -52
  390. package/Carousel.mjs +0 -30
  391. package/CarouselStepper.cjs +0 -51
  392. package/CarouselStepper.mjs +0 -29
  393. package/CenterColumn.cjs +0 -40
  394. package/CenterColumn.mjs +0 -16
  395. package/Checkbox.cjs +0 -52
  396. package/Checkbox.mjs +0 -30
  397. package/CheckboxButtonsGroup.cjs +0 -65
  398. package/CheckboxButtonsGroup.mjs +0 -43
  399. package/CheckboxGroup.cjs +0 -55
  400. package/CheckboxGroup.mjs +0 -33
  401. package/CityBlock.cjs +0 -49
  402. package/CityBlock.mjs +0 -25
  403. package/ContactBubble.cjs +0 -200
  404. package/ContactBubble.mjs +0 -173
  405. package/ContentArticle.cjs +0 -63
  406. package/ContentArticle.mjs +0 -41
  407. package/ContentImage.cjs +0 -58
  408. package/ContentImage.mjs +0 -36
  409. package/Datepicker.cjs +0 -164
  410. package/Datepicker.mjs +0 -142
  411. package/ExtraLinks.cjs +0 -96
  412. package/ExtraLinks.mjs +0 -74
  413. package/FeatureList.cjs +0 -53
  414. package/FeatureList.mjs +0 -29
  415. package/FieldGroup.cjs +0 -40
  416. package/FieldGroup.mjs +0 -16
  417. package/FileInput.cjs +0 -256
  418. package/FileInput.mjs +0 -234
  419. package/Foonote.cjs +0 -30
  420. package/Foonote.mjs +0 -6
  421. package/FooterBadges.cjs +0 -49
  422. package/FooterBadges.mjs +0 -25
  423. package/FooterInfo.cjs +0 -47
  424. package/FooterInfo.mjs +0 -23
  425. package/Footnote.cjs +0 -32
  426. package/Footnote.mjs +0 -8
  427. package/Form.cjs +0 -56
  428. package/Form.mjs +0 -34
  429. package/FormField.cjs +0 -153
  430. package/FormField.mjs +0 -131
  431. package/Gallery/_GalleryItem.cjs +0 -83
  432. package/Gallery/_GalleryItem.mjs +0 -61
  433. package/Gallery/_GalleryModal.cjs +0 -104
  434. package/Gallery/_GalleryModal.mjs +0 -82
  435. package/Gallery/_GalleryModalContext.cjs +0 -30
  436. package/Gallery/_GalleryModalContext.mjs +0 -6
  437. package/Gallery/_GalleryModalItem.cjs +0 -59
  438. package/Gallery/_GalleryModalItem.mjs +0 -36
  439. package/Gallery.cjs +0 -79
  440. package/Gallery.mjs +0 -57
  441. package/GridBlocks.cjs +0 -81
  442. package/GridBlocks.mjs +0 -59
  443. package/Heading.cjs +0 -45
  444. package/Heading.mjs +0 -21
  445. package/HeroBlock.cjs +0 -74
  446. package/HeroBlock.mjs +0 -52
  447. package/IframeBlock.cjs +0 -48
  448. package/IframeBlock.mjs +0 -24
  449. package/Illustration.cjs +0 -51
  450. package/Illustration.mjs +0 -31
  451. package/ImageCards.cjs +0 -72
  452. package/ImageCards.mjs +0 -52
  453. package/InfoBlock.cjs +0 -51
  454. package/InfoBlock.mjs +0 -27
  455. package/InfoHero.cjs +0 -150
  456. package/InfoHero.mjs +0 -128
  457. package/IslandBlock.cjs +0 -63
  458. package/IslandBlock.mjs +0 -41
  459. package/IslandPageBlock.cjs +0 -49
  460. package/IslandPageBlock.mjs +0 -25
  461. package/LabeledTextBlock.cjs +0 -60
  462. package/LabeledTextBlock.mjs +0 -38
  463. package/Layout.cjs +0 -113
  464. package/Layout.mjs +0 -87
  465. package/MainMenu/_Auxiliary.cjs +0 -54
  466. package/MainMenu/_Auxiliary.mjs +0 -28
  467. package/MainMenu/_PrimaryPanel.cjs +0 -74
  468. package/MainMenu/_PrimaryPanel.mjs +0 -48
  469. package/MainMenu.cjs +0 -209
  470. package/MainMenu.mjs +0 -187
  471. package/MiniMetrics.cjs +0 -56
  472. package/MiniMetrics.mjs +0 -34
  473. package/Modal.cjs +0 -70
  474. package/Modal.mjs +0 -48
  475. package/NameCard.cjs +0 -115
  476. package/NameCard.mjs +0 -91
  477. package/NameCards.cjs +0 -52
  478. package/NameCards.mjs +0 -30
  479. package/NewsHero.cjs +0 -136
  480. package/NewsHero.mjs +0 -114
  481. package/PageFilter.cjs +0 -48
  482. package/PageFilter.mjs +0 -24
  483. package/PageHeading.cjs +0 -42
  484. package/PageHeading.mjs +0 -18
  485. package/ProcessOverview.cjs +0 -52
  486. package/ProcessOverview.mjs +0 -28
  487. package/PullQuote.cjs +0 -47
  488. package/PullQuote.mjs +0 -25
  489. package/RadioButtonsGroup.cjs +0 -64
  490. package/RadioButtonsGroup.mjs +0 -42
  491. package/RadioGroup.cjs +0 -58
  492. package/RadioGroup.mjs +0 -36
  493. package/RelatedLinks.cjs +0 -61
  494. package/RelatedLinks.mjs +0 -37
  495. package/RowBlock.cjs +0 -39
  496. package/RowBlock.mjs +0 -15
  497. package/RowBlockColumn.cjs +0 -40
  498. package/RowBlockColumn.mjs +0 -16
  499. package/SearchInput.cjs +0 -136
  500. package/SearchInput.mjs +0 -114
  501. package/SearchResults/_SearchResultsItem.cjs +0 -54
  502. package/SearchResults/_SearchResultsItem.mjs +0 -30
  503. package/SearchResults.cjs +0 -172
  504. package/SearchResults.mjs +0 -150
  505. package/SeenEffect.cjs +0 -66
  506. package/SeenEffect.mjs +0 -44
  507. package/Selectbox.cjs +0 -144
  508. package/Selectbox.mjs +0 -122
  509. package/ShareButtons.cjs +0 -101
  510. package/ShareButtons.mjs +0 -83
  511. package/Sharpie.cjs +0 -51
  512. package/Sharpie.mjs +0 -27
  513. package/SiteSearchAutocomplete.cjs +0 -150
  514. package/SiteSearchAutocomplete.mjs +0 -126
  515. package/SiteSearchCurtain.cjs +0 -78
  516. package/SiteSearchCurtain.mjs +0 -56
  517. package/SiteSearchInput.cjs +0 -119
  518. package/SiteSearchInput.mjs +0 -97
  519. package/Skeleton.cjs +0 -63
  520. package/Skeleton.mjs +0 -39
  521. package/SubHeading.cjs +0 -43
  522. package/SubHeading.mjs +0 -19
  523. package/Tabs.cjs +0 -166
  524. package/Tabs.mjs +0 -144
  525. package/TagPill.cjs +0 -113
  526. package/TagPill.mjs +0 -91
  527. package/TextBlock.cjs +0 -45
  528. package/TextBlock.mjs +0 -21
  529. package/TextButton.cjs +0 -55
  530. package/TextButton.mjs +0 -33
  531. package/TextInput.cjs +0 -136
  532. package/TextInput.mjs +0 -114
  533. package/VSpacer.cjs +0 -70
  534. package/VSpacer.mjs +0 -46
  535. package/VerticalTabsTOC.cjs +0 -123
  536. package/VerticalTabsTOC.mjs +0 -101
  537. package/WizardLayout.cjs +0 -79
  538. package/WizardLayout.mjs +0 -55
  539. package/WizardLayoutClose.cjs +0 -47
  540. package/WizardLayoutClose.mjs +0 -25
  541. package/WizardStepper.cjs +0 -55
  542. package/WizardStepper.mjs +0 -31
  543. package/_abstract/Button.cjs +0 -114
  544. package/_abstract/Button.mjs +0 -92
  545. package/_abstract/CardList.cjs +0 -100
  546. package/_abstract/CardList.mjs +0 -76
  547. package/_abstract/Image.cjs +0 -75
  548. package/_abstract/Image.mjs +0 -51
  549. package/_abstract/Link.cjs +0 -37
  550. package/_abstract/Link.mjs +0 -10
  551. package/_abstract/TogglerGroup.cjs +0 -92
  552. package/_abstract/TogglerGroup.mjs +0 -70
  553. package/_abstract/TogglerGroupField.cjs +0 -121
  554. package/_abstract/TogglerGroupField.mjs +0 -99
  555. package/_abstract/TogglerInput.cjs +0 -105
  556. package/_abstract/TogglerInput.mjs +0 -83
  557. package/_abstract/_AbstractCarousel.cjs +0 -170
  558. package/_abstract/_AbstractCarousel.mjs +0 -152
  559. package/_abstract/_Blings.cjs +0 -47
  560. package/_abstract/_Blings.mjs +0 -23
  561. package/_abstract/_Block.cjs +0 -73
  562. package/_abstract/_Block.mjs +0 -51
  563. package/_abstract/_Quote.cjs +0 -43
  564. package/_abstract/_Quote.mjs +0 -17
  565. package/_abstract/breakOnNL.cjs +0 -30
  566. package/_abstract/breakOnNL.mjs +0 -6
  567. package/assets.cjs +0 -77
  568. package/assets.mjs +0 -53
  569. package/constants.cjs +0 -49
  570. package/constants.mjs +0 -24
  571. package/focus-visible.cjs +0 -1
  572. package/focus-visible.mjs +0 -1
  573. package/utils/config.cjs +0 -27
  574. package/utils/config.d.ts +0 -2
  575. package/utils/config.mjs +0 -4
  576. package/utils/detectEdgeScroll.cjs +0 -95
  577. package/utils/detectEdgeScroll.d.ts +0 -52
  578. package/utils/detectEdgeScroll.mjs +0 -71
  579. package/utils/env.cjs +0 -31
  580. package/utils/env.mjs +0 -5
  581. package/utils/seenEffect.cjs +0 -93
  582. package/utils/seenEffect.mjs +0 -65
  583. package/utils/useFormatMonitor.cjs +0 -29
  584. package/utils/useFormatMonitor.mjs +0 -6
  585. package/utils/useGetSVGtext.cjs +0 -44
  586. package/utils/useGetSVGtext.mjs +0 -21
  587. package/utils/useMenuToggling.cjs +0 -83
  588. package/utils/useMenuToggling.mjs +0 -60
  589. package/utils/useScrollbarWidthCSSVar.cjs +0 -32
  590. package/utils/useScrollbarWidthCSSVar.mjs +0 -6
  591. package/utils.cjs +0 -18
  592. package/utils.mjs +0 -2
package/GridBlocks.jsx ADDED
@@ -0,0 +1,40 @@
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/Heading.jsx ADDED
@@ -0,0 +1,24 @@
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 sizes = {
9
+ small: 'small',
10
+ /** Default value */
11
+ normal: 'normal',
12
+ large: 'large',
13
+ };
14
+ const Heading = (props) => {
15
+ const { size = 'normal', Tag = 'h2', align, wide, children } = props;
16
+ return (<Tag className={(0, getBemClass_1.default)('Heading', [
17
+ sizes[size],
18
+ align === 'right' && 'align--' + align,
19
+ !align && wide && 'wide',
20
+ ])}>
21
+ {children}
22
+ </Tag>);
23
+ };
24
+ exports.default = Heading;
package/HeroBlock.jsx ADDED
@@ -0,0 +1,27 @@
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 assets_1 = require("@reykjavik/hanna-utils/assets");
8
+ const Image_1 = __importDefault(require("./_abstract/Image"));
9
+ const seenEffect_1 = require("./utils/seenEffect");
10
+ const ButtonPrimary_1 = __importDefault(require("./ButtonPrimary"));
11
+ const ButtonTertiary_1 = __importDefault(require("./ButtonTertiary"));
12
+ const HeroBlock = (props) => {
13
+ const { title, summary, illustration, image, primaryButton, secondaryButton, startSeen, } = props;
14
+ const hasButtons = Boolean(primaryButton || secondaryButton);
15
+ const imgProps = illustration ? { src: (0, assets_1.getIllustrationUrl)(illustration) } : image;
16
+ const [ref] = (0, seenEffect_1.useSeenEffect)(startSeen);
17
+ return (<div className="HeroBlock" ref={ref}>
18
+ <h1 className="HeroBlock__title">{title}</h1>
19
+ <Image_1.default className="HeroBlock__image" {...imgProps}/>
20
+ <div className="HeroBlock__summary">{summary}</div>
21
+ {hasButtons && (<div className="HeroBlock__buttons">
22
+ {primaryButton && <ButtonPrimary_1.default {...primaryButton}/>}{' '}
23
+ {secondaryButton && <ButtonTertiary_1.default {...secondaryButton}/>}
24
+ </div>)}
25
+ </div>);
26
+ };
27
+ exports.default = HeroBlock;
@@ -0,0 +1,31 @@
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 iframe_resizer_react_1 = __importDefault(require("iframe-resizer-react"));
9
+ /**
10
+ * When `height` is undefined or "auto", then Add the following code-snipped to the iframed page:
11
+ *
12
+ * ```js
13
+ * <script> window.iFrameResizer = { targetOrigin: '*' }; </script>
14
+ * <script src="https://styles.reykjavik.is/assets/scripts/iframeResizer.contentWindow@4.js"></script>
15
+ * ```
16
+ */
17
+ const IframeBlock = (props) => {
18
+ const { src, framed, compact, scrolling, height = 'auto', align } = props;
19
+ const className = (0, getBemClass_1.default)('IframeBlock', [
20
+ framed && 'framed',
21
+ compact && 'compact',
22
+ align === 'right' && 'align--' + align,
23
+ ]);
24
+ return height === 'auto' ? (<iframe_resizer_react_1.default className={className} src={src}/>) : (<iframe className={className} src={src}
25
+ // hidden tiger: pass negative height to disable iframe-resizer but not set height explicitly
26
+ // (Silly hack, don't rely on this)
27
+ height={height < 0 ? undefined : height}
28
+ // allow undefined to suppress scrolling attribute
29
+ scrolling={scrolling === true ? 'yes' : scrolling === false ? 'no' : scrolling}/>);
30
+ };
31
+ exports.default = IframeBlock;
@@ -0,0 +1,13 @@
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 assets_1 = require("@reykjavik/hanna-utils/assets");
8
+ const Image_1 = __importDefault(require("./_abstract/Image"));
9
+ const Illustration = (props) => {
10
+ const imgProps = props.type ? { src: (0, assets_1.getIllustrationUrl)(props.type) } : props.image;
11
+ return <Image_1.default className="Illustration" {...imgProps}/>;
12
+ };
13
+ exports.default = Illustration;
package/ImageCards.jsx ADDED
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ const react_1 = __importDefault(require("react"));
18
+ const getBemClass_1 = __importDefault(require("@hugsmidjan/react/utils/getBemClass"));
19
+ const CardList_1 = require("./_abstract/CardList");
20
+ const seenEffect_1 = require("./utils/seenEffect");
21
+ const ImageCards = (props) => {
22
+ const { background, startSeen } = props, cardListProps = __rest(props, ["background", "startSeen"]);
23
+ const [ref] = (0, seenEffect_1.useSeenEffect)(startSeen);
24
+ return (<div className={(0, getBemClass_1.default)('ImageCards', background && 'background')} ref={ref}>
25
+ <CardList_1.CardList {...cardListProps} bemPrefix="ImageCards" imgPlaceholder={props.imgPlaceholder || true}/>
26
+ </div>);
27
+ };
28
+ exports.default = ImageCards;
package/InfoBlock.jsx ADDED
@@ -0,0 +1,23 @@
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/InfoHero.jsx ADDED
@@ -0,0 +1,93 @@
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 _Blings_1 = __importDefault(require("./_abstract/_Blings"));
9
+ const breakOnNL_1 = __importDefault(require("./_abstract/breakOnNL"));
10
+ const Image_1 = __importDefault(require("./_abstract/Image"));
11
+ const ButtonTertiary_1 = __importDefault(require("./ButtonTertiary"));
12
+ const constants_1 = require("./constants");
13
+ const blingOptions = {
14
+ waves: [
15
+ {
16
+ type: 'waves-medium',
17
+ color: 'primary',
18
+ align: 'left',
19
+ vertical: 'up',
20
+ parent: 'bottom',
21
+ },
22
+ ],
23
+ 'sunny-waves': [
24
+ {
25
+ type: 'waves-medium',
26
+ align: 'left',
27
+ parent: 'bottom',
28
+ vertical: 'up',
29
+ },
30
+ {
31
+ type: 'circle-medium',
32
+ color: 'secondary',
33
+ align: 'right-center',
34
+ parent: 'top',
35
+ vertical: 'down-ish',
36
+ },
37
+ ],
38
+ triangles: [
39
+ {
40
+ type: 'triangle-large',
41
+ align: 'left-center',
42
+ parent: 'bottom',
43
+ vertical: 'up',
44
+ },
45
+ {
46
+ type: 'triangle-small',
47
+ color: 'secondary',
48
+ align: 'right',
49
+ parent: 'top-ish',
50
+ vertical: 'down-ish',
51
+ overlay: true,
52
+ },
53
+ ],
54
+ circles: [
55
+ {
56
+ type: 'circle-large',
57
+ align: 'left',
58
+ parent: 'top',
59
+ vertical: 'down',
60
+ },
61
+ {
62
+ type: 'circle-small',
63
+ color: 'secondary',
64
+ align: 'right',
65
+ parent: 'bottom-ish',
66
+ vertical: 'up-ish',
67
+ overlay: true,
68
+ },
69
+ ],
70
+ };
71
+ const InfoHero = (props) => {
72
+ const { title, titleBlurb, subTitle, blurb, image, buttons = [], align, blingType, } = props;
73
+ const showButtons = Boolean(buttons.length);
74
+ const alignment = align && constants_1.aligns[align] ? align : 'right';
75
+ const blings = (blingType && blingOptions[blingType]) ||
76
+ blingOptions.waves; // default to `waves`
77
+ return (<div className={(0, getBemClass_1.default)('InfoHero', 'align--' + alignment)}>
78
+ <div className="InfoHero__content">
79
+ <h1 className="InfoHero__title">{title}</h1>
80
+ {titleBlurb && <div className="InfoHero__titleblurb">{titleBlurb}</div>}
81
+
82
+ {subTitle && <div className="InfoHero__subtitle">{(0, breakOnNL_1.default)(subTitle)}</div>}
83
+ {blurb && <div className="InfoHero__blurb">{blurb}</div>}
84
+
85
+ {showButtons && (<div className="InfoHero__buttons">
86
+ {buttons.map((buttonProps, i) => (<ButtonTertiary_1.default key={i} {...buttonProps}/>))}
87
+ </div>)}
88
+ </div>
89
+ <Image_1.default className="InfoHero__image" altText={title} {...image} placeholder/>
90
+ <_Blings_1.default blings={blings} mirror={alignment === 'right'}/>
91
+ </div>);
92
+ };
93
+ exports.default = InfoHero;
@@ -0,0 +1,21 @@
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 assets_1 = require("@reykjavik/hanna-utils/assets");
8
+ const _Block_1 = __importDefault(require("./_abstract/_Block"));
9
+ const constants_1 = require("./constants");
10
+ const IslandBlock = (props) => {
11
+ const { align, content, shapes, image, startSeen } = props;
12
+ const alignment = align && constants_1.aligns[align] ? align : 'right';
13
+ const blockProps = Array.isArray(content)
14
+ ? { content }
15
+ : {
16
+ content,
17
+ image: shapes ? { src: (0, assets_1.getFormheimurUrl)(shapes), inline: true } : image || {},
18
+ };
19
+ return (<_Block_1.default bem="IslandBlock" modifier={'align--' + alignment} {...blockProps} startSeen={startSeen}/>);
20
+ };
21
+ exports.default = IslandBlock;
@@ -0,0 +1,21 @@
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 assets_1 = require("@reykjavik/hanna-utils/assets");
8
+ const _Block_1 = __importDefault(require("./_abstract/_Block"));
9
+ const constants_1 = require("./constants");
10
+ const backgrounds = {
11
+ none: undefined,
12
+ gray: 'gray',
13
+ secondary: 'secondary',
14
+ };
15
+ const IslandPageBlock = (props) => {
16
+ const { title, summary, buttons, illustration, image, align, background, startSeen } = props;
17
+ const alignment = align && constants_1.aligns[align] ? align : 'right';
18
+ const bg = backgrounds[background || 'none'];
19
+ return (<_Block_1.default bem="IslandPageBlock" modifier={['align--' + alignment, bg && 'background--' + bg]} content={{ title, summary, buttons }} image={illustration ? { src: (0, assets_1.getIllustrationUrl)(illustration) } : image || {}} startSeen={startSeen}/>);
20
+ };
21
+ exports.default = IslandPageBlock;
@@ -0,0 +1,21 @@
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 ButtonTertiary_1 = __importDefault(require("./ButtonTertiary"));
10
+ const LabeledTextBlock = (props) => {
11
+ const { label, summary, wide, buttons = [], startSeen } = props;
12
+ const [ref] = (0, seenEffect_1.useSeenEffect)(startSeen);
13
+ return (<div className={(0, getBemClass_1.default)('LabeledTextBlock', wide && 'wide')} ref={ref}>
14
+ <h2 className="LabeledTextBlock__label">{label}</h2>
15
+ <div className="LabeledTextBlock__summary">
16
+ {summary}
17
+ {buttons.map((button, i) => (<ButtonTertiary_1.default key={i} {...button}/>))}
18
+ </div>
19
+ </div>);
20
+ };
21
+ exports.default = LabeledTextBlock;
package/Layout.jsx ADDED
@@ -0,0 +1,69 @@
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;
@@ -0,0 +1,26 @@
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;
@@ -0,0 +1,37 @@
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/MainMenu.d.ts CHANGED
@@ -44,5 +44,5 @@ export declare type MainMenuProps = {
44
44
  lang?: string;
45
45
  ssr?: SSRSupport;
46
46
  };
47
- declare const MainMenu: (props: MainMenuProps) => JSX.Element;
47
+ declare const MainMenu: (props: MainMenuProps) => JSX.Element | null;
48
48
  export default MainMenu;