@reykjavik/hanna-react 0.10.53 → 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 (706) hide show
  1. package/{types/AccordionList.d.ts → AccordionList.d.ts} +0 -0
  2. package/AccordionList.jsx +61 -0
  3. package/{types/ActionCards.d.ts → ActionCards.d.ts} +0 -0
  4. package/ActionCards.jsx +15 -0
  5. package/{types/Alert.d.ts → Alert.d.ts} +0 -0
  6. package/Alert.jsx +123 -0
  7. package/{types/ArticleCarousel → ArticleCarousel}/_ArticleCarouselCard.d.ts +1 -1
  8. package/ArticleCarousel/_ArticleCarouselCard.jsx +32 -0
  9. package/{types/ArticleCarousel.d.ts → ArticleCarousel.d.ts} +0 -0
  10. package/ArticleCarousel.jsx +13 -0
  11. package/{types/ArticleMeta.d.ts → ArticleMeta.d.ts} +0 -0
  12. package/ArticleMeta.jsx +42 -0
  13. package/{types/Attention.d.ts → Attention.d.ts} +0 -0
  14. package/Attention.jsx +9 -0
  15. package/{types/BasicTable.d.ts → BasicTable.d.ts} +0 -0
  16. package/BasicTable.jsx +35 -0
  17. package/{types/Bling.d.ts → Bling.d.ts} +0 -0
  18. package/Bling.jsx +49 -0
  19. package/{types/BlockBreak.d.ts → BlockBreak.d.ts} +0 -0
  20. package/BlockBreak.jsx +11 -0
  21. package/{types/BlockQuote.d.ts → BlockQuote.d.ts} +0 -0
  22. package/BlockQuote.jsx +9 -0
  23. package/{types/BreadCrumbs.d.ts → BreadCrumbs.d.ts} +0 -0
  24. package/BreadCrumbs.jsx +36 -0
  25. package/{types/ButtonBack.d.ts → ButtonBack.d.ts} +0 -0
  26. package/ButtonBack.jsx +9 -0
  27. package/{types/ButtonBar.d.ts → ButtonBar.d.ts} +0 -0
  28. package/ButtonBar.jsx +23 -0
  29. package/{types/ButtonPrimary.d.ts → ButtonPrimary.d.ts} +0 -0
  30. package/ButtonPrimary.jsx +9 -0
  31. package/{types/ButtonSecondary.d.ts → ButtonSecondary.d.ts} +0 -0
  32. package/ButtonSecondary.jsx +9 -0
  33. package/{types/ButtonTertiary.d.ts → ButtonTertiary.d.ts} +0 -0
  34. package/ButtonTertiary.jsx +20 -0
  35. package/CHANGELOG.md +14 -6
  36. package/{types/Carousel.d.ts → Carousel.d.ts} +0 -0
  37. package/Carousel.jsx +9 -0
  38. package/{types/CarouselStepper.d.ts → CarouselStepper.d.ts} +0 -0
  39. package/CarouselStepper.jsx +9 -0
  40. package/{types/CenterColumn.d.ts → CenterColumn.d.ts} +0 -0
  41. package/CenterColumn.jsx +14 -0
  42. package/{types/Checkbox.d.ts → Checkbox.d.ts} +0 -0
  43. package/Checkbox.jsx +9 -0
  44. package/{types/CheckboxButtonsGroup.d.ts → CheckboxButtonsGroup.d.ts} +0 -0
  45. package/CheckboxButtonsGroup.jsx +19 -0
  46. package/{types/CheckboxGroup.d.ts → CheckboxGroup.d.ts} +0 -0
  47. package/CheckboxGroup.jsx +12 -0
  48. package/{types/CityBlock.d.ts → CityBlock.d.ts} +0 -0
  49. package/CityBlock.jsx +23 -0
  50. package/{types/ContactBubble.d.ts → ContactBubble.d.ts} +0 -0
  51. package/ContactBubble.jsx +192 -0
  52. package/{types/ContentArticle.d.ts → ContentArticle.d.ts} +0 -0
  53. package/ContentArticle.jsx +29 -0
  54. package/{types/ContentImage.d.ts → ContentImage.d.ts} +0 -0
  55. package/ContentImage.jsx +18 -0
  56. package/{types/Datepicker.d.ts → Datepicker.d.ts} +0 -0
  57. package/Datepicker.jsx +92 -0
  58. package/{types/ExtraLinks.d.ts → ExtraLinks.d.ts} +0 -0
  59. package/ExtraLinks.jsx +47 -0
  60. package/{types/FeatureList.d.ts → FeatureList.d.ts} +0 -0
  61. package/FeatureList.jsx +28 -0
  62. package/{types/FieldGroup.d.ts → FieldGroup.d.ts} +0 -0
  63. package/FieldGroup.jsx +15 -0
  64. package/{types/FileInput.d.ts → FileInput.d.ts} +0 -0
  65. package/FileInput.jsx +185 -0
  66. package/{types/Foonote.d.ts → Foonote.d.ts} +0 -0
  67. package/Foonote.jsx +12 -0
  68. package/{types/FooterBadges.d.ts → FooterBadges.d.ts} +0 -0
  69. package/FooterBadges.jsx +21 -0
  70. package/{types/FooterInfo.d.ts → FooterInfo.d.ts} +0 -0
  71. package/FooterInfo.jsx +19 -0
  72. package/{types/Footnote.d.ts → Footnote.d.ts} +0 -0
  73. package/Footnote.jsx +8 -0
  74. package/{types/Form.d.ts → Form.d.ts} +0 -0
  75. package/Form.jsx +17 -0
  76. package/{types/FormField.d.ts → FormField.d.ts} +0 -0
  77. package/FormField.jsx +121 -0
  78. package/{types/Gallery → Gallery}/_GalleryItem.d.ts +0 -0
  79. package/Gallery/_GalleryItem.jsx +59 -0
  80. package/{types/Gallery → Gallery}/_GalleryModal.d.ts +0 -0
  81. package/Gallery/_GalleryModal.jsx +86 -0
  82. package/{types/Gallery → Gallery}/_GalleryModalContext.d.ts +0 -0
  83. package/Gallery/_GalleryModalContext.js +8 -0
  84. package/{types/Gallery → Gallery}/_GalleryModalItem.d.ts +0 -0
  85. package/Gallery/_GalleryModalItem.jsx +29 -0
  86. package/{types/Gallery.d.ts → Gallery.d.ts} +0 -0
  87. package/Gallery.jsx +56 -0
  88. package/{types/GridBlocks.d.ts → GridBlocks.d.ts} +0 -0
  89. package/GridBlocks.jsx +40 -0
  90. package/{types/Heading.d.ts → Heading.d.ts} +0 -0
  91. package/Heading.jsx +24 -0
  92. package/{types/HeroBlock.d.ts → HeroBlock.d.ts} +0 -0
  93. package/HeroBlock.jsx +27 -0
  94. package/{types/IframeBlock.d.ts → IframeBlock.d.ts} +0 -0
  95. package/IframeBlock.jsx +31 -0
  96. package/{types/Illustration.d.ts → Illustration.d.ts} +0 -0
  97. package/Illustration.jsx +13 -0
  98. package/{types/ImageCards.d.ts → ImageCards.d.ts} +0 -0
  99. package/ImageCards.jsx +28 -0
  100. package/{types/InfoBlock.d.ts → InfoBlock.d.ts} +0 -0
  101. package/InfoBlock.jsx +23 -0
  102. package/{types/InfoHero.d.ts → InfoHero.d.ts} +0 -0
  103. package/InfoHero.jsx +93 -0
  104. package/{types/IslandBlock.d.ts → IslandBlock.d.ts} +0 -0
  105. package/IslandBlock.jsx +21 -0
  106. package/{types/IslandPageBlock.d.ts → IslandPageBlock.d.ts} +0 -0
  107. package/IslandPageBlock.jsx +21 -0
  108. package/{types/LabeledTextBlock.d.ts → LabeledTextBlock.d.ts} +0 -0
  109. package/LabeledTextBlock.jsx +21 -0
  110. package/{types/Layout.d.ts → Layout.d.ts} +0 -0
  111. package/Layout.jsx +69 -0
  112. package/{types/MainMenu → MainMenu}/_Auxiliary.d.ts +0 -0
  113. package/MainMenu/_Auxiliary.jsx +26 -0
  114. package/{types/MainMenu → MainMenu}/_PrimaryPanel.d.ts +0 -0
  115. package/MainMenu/_PrimaryPanel.jsx +37 -0
  116. package/{types/MainMenu.d.ts → MainMenu.d.ts} +1 -1
  117. package/MainMenu.jsx +178 -0
  118. package/{types/MiniMetrics.d.ts → MiniMetrics.d.ts} +0 -0
  119. package/MiniMetrics.jsx +16 -0
  120. package/{types/Modal.d.ts → Modal.d.ts} +0 -0
  121. package/Modal.jsx +21 -0
  122. package/{types/NameCard.d.ts → NameCard.d.ts} +0 -0
  123. package/NameCard.jsx +92 -0
  124. package/{types/NameCards.d.ts → NameCards.d.ts} +0 -0
  125. package/NameCards.jsx +14 -0
  126. package/{types/NewsHero.d.ts → NewsHero.d.ts} +0 -0
  127. package/NewsHero.jsx +93 -0
  128. package/{types/PageFilter.d.ts → PageFilter.d.ts} +0 -0
  129. package/PageFilter.jsx +21 -0
  130. package/{types/PageHeading.d.ts → PageHeading.d.ts} +0 -0
  131. package/PageHeading.jsx +19 -0
  132. package/{types/ProcessOverview.d.ts → ProcessOverview.d.ts} +0 -0
  133. package/ProcessOverview.jsx +25 -0
  134. package/{types/PullQuote.d.ts → PullQuote.d.ts} +0 -0
  135. package/PullQuote.jsx +9 -0
  136. package/{types/RadioButtonsGroup.d.ts → RadioButtonsGroup.d.ts} +0 -0
  137. package/RadioButtonsGroup.jsx +19 -0
  138. package/{types/RadioGroup.d.ts → RadioGroup.d.ts} +0 -0
  139. package/RadioGroup.jsx +12 -0
  140. package/{types/RelatedLinks.d.ts → RelatedLinks.d.ts} +0 -0
  141. package/RelatedLinks.jsx +35 -0
  142. package/{types/RowBlock.d.ts → RowBlock.d.ts} +0 -0
  143. package/RowBlock.jsx +16 -0
  144. package/{types/RowBlockColumn.d.ts → RowBlockColumn.d.ts} +0 -0
  145. package/RowBlockColumn.jsx +18 -0
  146. package/{types/SearchInput.d.ts → SearchInput.d.ts} +0 -0
  147. package/SearchInput.jsx +63 -0
  148. package/{types/SearchResults → SearchResults}/_SearchResultsItem.d.ts +0 -0
  149. package/SearchResults/_SearchResultsItem.jsx +24 -0
  150. package/{types/SearchResults.d.ts → SearchResults.d.ts} +0 -0
  151. package/SearchResults.jsx +146 -0
  152. package/{types/SeenEffect.d.ts → SeenEffect.d.ts} +0 -0
  153. package/SeenEffect.jsx +24 -0
  154. package/{types/Selectbox.d.ts → Selectbox.d.ts} +0 -0
  155. package/Selectbox.jsx +74 -0
  156. package/{types/ShareButtons.d.ts → ShareButtons.d.ts} +0 -0
  157. package/ShareButtons.jsx +82 -0
  158. package/{types/Sharpie.d.ts → Sharpie.d.ts} +0 -0
  159. package/Sharpie.jsx +27 -0
  160. package/{types/SiteSearchAutocomplete.d.ts → SiteSearchAutocomplete.d.ts} +0 -0
  161. package/SiteSearchAutocomplete.jsx +89 -0
  162. package/{types/SiteSearchCurtain.d.ts → SiteSearchCurtain.d.ts} +0 -0
  163. package/SiteSearchCurtain.jsx +65 -0
  164. package/SiteSearchInput.d.ts +24 -0
  165. package/SiteSearchInput.jsx +70 -0
  166. package/{types/Skeleton.d.ts → Skeleton.d.ts} +0 -0
  167. package/Skeleton.jsx +35 -0
  168. package/{types/SubHeading.d.ts → SubHeading.d.ts} +0 -0
  169. package/SubHeading.jsx +20 -0
  170. package/{types/Tabs.d.ts → Tabs.d.ts} +0 -0
  171. package/Tabs.jsx +122 -0
  172. package/{types/TagPill.d.ts → TagPill.d.ts} +0 -0
  173. package/TagPill.jsx +53 -0
  174. package/{types/TextBlock.d.ts → TextBlock.d.ts} +0 -0
  175. package/TextBlock.jsx +22 -0
  176. package/{types/TextButton.d.ts → TextButton.d.ts} +0 -0
  177. package/TextButton.jsx +14 -0
  178. package/{types/TextInput.d.ts → TextInput.d.ts} +0 -0
  179. package/TextInput.jsx +63 -0
  180. package/{types/VSpacer.d.ts → VSpacer.d.ts} +0 -0
  181. package/VSpacer.jsx +46 -0
  182. package/{types/VerticalTabsTOC.d.ts → VerticalTabsTOC.d.ts} +0 -0
  183. package/VerticalTabsTOC.jsx +96 -0
  184. package/{types/WizardLayout.d.ts → WizardLayout.d.ts} +0 -0
  185. package/WizardLayout.jsx +44 -0
  186. package/{types/WizardLayoutClose.d.ts → WizardLayoutClose.d.ts} +0 -0
  187. package/WizardLayoutClose.jsx +9 -0
  188. package/{types/WizardStepper.d.ts → WizardStepper.d.ts} +0 -0
  189. package/WizardStepper.jsx +34 -0
  190. package/{types/_abstract → _abstract}/Button.d.ts +0 -0
  191. package/_abstract/Button.jsx +56 -0
  192. package/{types/_abstract → _abstract}/CardList.d.ts +0 -0
  193. package/_abstract/CardList.jsx +46 -0
  194. package/{types/_abstract → _abstract}/Image.d.ts +0 -0
  195. package/_abstract/Image.jsx +34 -0
  196. package/{types/_abstract → _abstract}/Link.d.ts +0 -0
  197. package/_abstract/Link.jsx +31 -0
  198. package/{types/_abstract → _abstract}/TogglerGroup.d.ts +0 -0
  199. package/_abstract/TogglerGroup.jsx +36 -0
  200. package/{types/_abstract → _abstract}/TogglerGroupField.d.ts +0 -0
  201. package/_abstract/TogglerGroupField.jsx +27 -0
  202. package/{types/_abstract → _abstract}/TogglerInput.d.ts +0 -0
  203. package/_abstract/TogglerInput.jsx +40 -0
  204. package/{types/_abstract → _abstract}/_AbstractCarousel.d.ts +0 -0
  205. package/_abstract/_AbstractCarousel.jsx +161 -0
  206. package/{types/_abstract → _abstract}/_Blings.d.ts +0 -0
  207. package/_abstract/_Blings.jsx +19 -0
  208. package/{types/_abstract → _abstract}/_Block.d.ts +0 -0
  209. package/_abstract/_Block.jsx +32 -0
  210. package/{types/_abstract → _abstract}/_Quote.d.ts +0 -0
  211. package/_abstract/_Quote.jsx +18 -0
  212. package/{types/_abstract → _abstract}/breakOnNL.d.ts +0 -0
  213. package/_abstract/breakOnNL.jsx +13 -0
  214. package/{types/assets.d.ts → assets.d.ts} +0 -0
  215. package/assets.js +51 -0
  216. package/{types/constants.d.ts → constants.d.ts} +0 -0
  217. package/constants.js +25 -0
  218. package/esm/AccordionList.d.ts +17 -0
  219. package/esm/AccordionList.jsx +33 -0
  220. package/esm/ActionCards.d.ts +5 -0
  221. package/esm/ActionCards.jsx +10 -0
  222. package/esm/Alert.d.ts +49 -0
  223. package/esm/Alert.jsx +94 -0
  224. package/esm/ArticleCarousel/_ArticleCarouselCard.d.ts +27 -0
  225. package/esm/ArticleCarousel/_ArticleCarouselCard.jsx +25 -0
  226. package/esm/ArticleCarousel.d.ts +12 -0
  227. package/esm/ArticleCarousel.jsx +8 -0
  228. package/esm/ArticleMeta.d.ts +9 -0
  229. package/esm/ArticleMeta.jsx +17 -0
  230. package/esm/Attention.d.ts +7 -0
  231. package/esm/Attention.jsx +4 -0
  232. package/esm/BasicTable.d.ts +12 -0
  233. package/esm/BasicTable.jsx +30 -0
  234. package/esm/Bling.d.ts +81 -0
  235. package/esm/Bling.jsx +44 -0
  236. package/esm/BlockBreak.d.ts +2 -0
  237. package/esm/BlockBreak.jsx +6 -0
  238. package/esm/BlockQuote.d.ts +4 -0
  239. package/esm/BlockQuote.jsx +4 -0
  240. package/esm/BreadCrumbs.d.ts +11 -0
  241. package/esm/BreadCrumbs.jsx +31 -0
  242. package/esm/ButtonBack.d.ts +7 -0
  243. package/esm/ButtonBack.jsx +4 -0
  244. package/esm/ButtonBar.d.ts +16 -0
  245. package/esm/ButtonBar.jsx +16 -0
  246. package/esm/ButtonPrimary.d.ts +7 -0
  247. package/esm/ButtonPrimary.jsx +4 -0
  248. package/esm/ButtonSecondary.d.ts +7 -0
  249. package/esm/ButtonSecondary.jsx +4 -0
  250. package/esm/ButtonTertiary.d.ts +12 -0
  251. package/esm/ButtonTertiary.jsx +15 -0
  252. package/esm/Carousel.d.ts +4 -0
  253. package/esm/Carousel.jsx +4 -0
  254. package/esm/CarouselStepper.d.ts +4 -0
  255. package/esm/CarouselStepper.jsx +4 -0
  256. package/esm/CenterColumn.d.ts +7 -0
  257. package/esm/CenterColumn.jsx +9 -0
  258. package/esm/Checkbox.d.ts +4 -0
  259. package/esm/Checkbox.jsx +4 -0
  260. package/esm/CheckboxButtonsGroup.d.ts +11 -0
  261. package/esm/CheckboxButtonsGroup.jsx +14 -0
  262. package/esm/CheckboxGroup.d.ts +9 -0
  263. package/esm/CheckboxGroup.jsx +7 -0
  264. package/esm/CityBlock.d.ts +23 -0
  265. package/esm/CityBlock.jsx +18 -0
  266. package/esm/ContactBubble.d.ts +58 -0
  267. package/esm/ContactBubble.jsx +162 -0
  268. package/esm/ContentArticle.d.ts +15 -0
  269. package/esm/ContentArticle.jsx +24 -0
  270. package/esm/ContentImage.d.ts +8 -0
  271. package/esm/ContentImage.jsx +13 -0
  272. package/esm/Datepicker.d.ts +39 -0
  273. package/esm/Datepicker.jsx +64 -0
  274. package/esm/ExtraLinks.d.ts +18 -0
  275. package/esm/ExtraLinks.jsx +42 -0
  276. package/esm/FeatureList.d.ts +12 -0
  277. package/esm/FeatureList.jsx +23 -0
  278. package/esm/FieldGroup.d.ts +9 -0
  279. package/esm/FieldGroup.jsx +10 -0
  280. package/esm/FileInput.d.ts +17 -0
  281. package/esm/FileInput.jsx +157 -0
  282. package/esm/Foonote.d.ts +12 -0
  283. package/esm/Foonote.jsx +7 -0
  284. package/esm/FooterBadges.d.ts +9 -0
  285. package/esm/FooterBadges.jsx +16 -0
  286. package/esm/FooterInfo.d.ts +18 -0
  287. package/esm/FooterInfo.jsx +14 -0
  288. package/esm/Footnote.d.ts +6 -0
  289. package/esm/Footnote.jsx +3 -0
  290. package/esm/Form.d.ts +7 -0
  291. package/esm/Form.jsx +12 -0
  292. package/esm/FormField.d.ts +65 -0
  293. package/esm/FormField.jsx +93 -0
  294. package/esm/Gallery/_GalleryItem.d.ts +8 -0
  295. package/esm/Gallery/_GalleryItem.jsx +31 -0
  296. package/esm/Gallery/_GalleryModal.d.ts +6 -0
  297. package/esm/Gallery/_GalleryModal.jsx +58 -0
  298. package/esm/Gallery/_GalleryModalContext.d.ts +9 -0
  299. package/esm/Gallery/_GalleryModalContext.js +3 -0
  300. package/esm/Gallery/_GalleryModalItem.d.ts +3 -0
  301. package/esm/Gallery/_GalleryModalItem.jsx +24 -0
  302. package/esm/Gallery.d.ts +17 -0
  303. package/esm/Gallery.jsx +28 -0
  304. package/esm/GridBlocks.d.ts +26 -0
  305. package/esm/GridBlocks.jsx +35 -0
  306. package/esm/Heading.d.ts +16 -0
  307. package/esm/Heading.jsx +19 -0
  308. package/esm/HeroBlock.d.ts +19 -0
  309. package/esm/HeroBlock.jsx +22 -0
  310. package/esm/IframeBlock.d.ts +23 -0
  311. package/esm/IframeBlock.jsx +26 -0
  312. package/esm/Illustration.d.ts +13 -0
  313. package/esm/Illustration.jsx +8 -0
  314. package/esm/ImageCards.d.ts +8 -0
  315. package/esm/ImageCards.jsx +23 -0
  316. package/esm/InfoBlock.d.ts +17 -0
  317. package/esm/InfoBlock.jsx +18 -0
  318. package/esm/InfoHero.d.ts +17 -0
  319. package/esm/InfoHero.jsx +88 -0
  320. package/esm/IslandBlock.d.ts +25 -0
  321. package/esm/IslandBlock.jsx +16 -0
  322. package/esm/IslandPageBlock.d.ts +24 -0
  323. package/esm/IslandPageBlock.jsx +16 -0
  324. package/esm/LabeledTextBlock.d.ts +11 -0
  325. package/esm/LabeledTextBlock.jsx +16 -0
  326. package/esm/Layout.d.ts +33 -0
  327. package/esm/Layout.jsx +63 -0
  328. package/esm/MainMenu/_Auxiliary.d.ts +6 -0
  329. package/esm/MainMenu/_Auxiliary.jsx +19 -0
  330. package/esm/MainMenu/_PrimaryPanel.d.ts +13 -0
  331. package/esm/MainMenu/_PrimaryPanel.jsx +30 -0
  332. package/esm/MainMenu.d.ts +48 -0
  333. package/esm/MainMenu.jsx +149 -0
  334. package/esm/MiniMetrics.d.ts +8 -0
  335. package/esm/MiniMetrics.jsx +11 -0
  336. package/esm/Modal.d.ts +10 -0
  337. package/esm/Modal.jsx +16 -0
  338. package/esm/NameCard.d.ts +64 -0
  339. package/esm/NameCard.jsx +87 -0
  340. package/esm/NameCards.d.ts +6 -0
  341. package/esm/NameCards.jsx +9 -0
  342. package/esm/NewsHero.d.ts +14 -0
  343. package/esm/NewsHero.jsx +88 -0
  344. package/esm/PageFilter.d.ts +17 -0
  345. package/esm/PageFilter.jsx +16 -0
  346. package/esm/PageHeading.d.ts +10 -0
  347. package/esm/PageHeading.jsx +14 -0
  348. package/esm/ProcessOverview.d.ts +13 -0
  349. package/esm/ProcessOverview.jsx +20 -0
  350. package/esm/PullQuote.d.ts +4 -0
  351. package/esm/PullQuote.jsx +4 -0
  352. package/esm/RadioButtonsGroup.d.ts +11 -0
  353. package/esm/RadioButtonsGroup.jsx +14 -0
  354. package/esm/RadioGroup.d.ts +13 -0
  355. package/esm/RadioGroup.jsx +7 -0
  356. package/esm/RelatedLinks.d.ts +20 -0
  357. package/esm/RelatedLinks.jsx +30 -0
  358. package/esm/RowBlock.d.ts +12 -0
  359. package/esm/RowBlock.jsx +11 -0
  360. package/esm/RowBlockColumn.d.ts +8 -0
  361. package/esm/RowBlockColumn.jsx +13 -0
  362. package/esm/SearchInput.d.ts +18 -0
  363. package/esm/SearchInput.jsx +35 -0
  364. package/esm/SearchResults/_SearchResultsItem.d.ts +18 -0
  365. package/esm/SearchResults/_SearchResultsItem.jsx +19 -0
  366. package/esm/SearchResults.d.ts +33 -0
  367. package/esm/SearchResults.jsx +118 -0
  368. package/esm/SeenEffect.d.ts +4 -0
  369. package/esm/SeenEffect.jsx +19 -0
  370. package/esm/Selectbox.d.ts +8 -0
  371. package/esm/Selectbox.jsx +46 -0
  372. package/esm/ShareButtons.d.ts +9 -0
  373. package/esm/ShareButtons.jsx +57 -0
  374. package/esm/Sharpie.d.ts +23 -0
  375. package/esm/Sharpie.jsx +22 -0
  376. package/esm/SiteSearchAutocomplete.d.ts +40 -0
  377. package/esm/SiteSearchAutocomplete.jsx +60 -0
  378. package/esm/SiteSearchCurtain.d.ts +6 -0
  379. package/esm/SiteSearchCurtain.jsx +37 -0
  380. package/esm/SiteSearchInput.d.ts +24 -0
  381. package/esm/SiteSearchInput.jsx +42 -0
  382. package/esm/Skeleton.d.ts +25 -0
  383. package/esm/Skeleton.jsx +30 -0
  384. package/esm/SubHeading.d.ts +10 -0
  385. package/esm/SubHeading.jsx +15 -0
  386. package/esm/Tabs.d.ts +35 -0
  387. package/esm/Tabs.jsx +94 -0
  388. package/esm/TagPill.d.ts +27 -0
  389. package/esm/TagPill.jsx +48 -0
  390. package/esm/TextBlock.d.ts +15 -0
  391. package/esm/TextBlock.jsx +17 -0
  392. package/esm/TextButton.d.ts +9 -0
  393. package/esm/TextButton.jsx +9 -0
  394. package/esm/TextInput.d.ts +16 -0
  395. package/esm/TextInput.jsx +35 -0
  396. package/esm/VSpacer.d.ts +24 -0
  397. package/esm/VSpacer.jsx +41 -0
  398. package/esm/VerticalTabsTOC.d.ts +14 -0
  399. package/esm/VerticalTabsTOC.jsx +68 -0
  400. package/esm/WizardLayout.d.ts +15 -0
  401. package/esm/WizardLayout.jsx +39 -0
  402. package/esm/WizardLayoutClose.d.ts +3 -0
  403. package/esm/WizardLayoutClose.jsx +4 -0
  404. package/esm/WizardStepper.d.ts +36 -0
  405. package/esm/WizardStepper.jsx +29 -0
  406. package/esm/_abstract/Button.d.ts +40 -0
  407. package/esm/_abstract/Button.jsx +51 -0
  408. package/esm/_abstract/CardList.d.ts +29 -0
  409. package/esm/_abstract/CardList.jsx +39 -0
  410. package/esm/_abstract/Image.d.ts +32 -0
  411. package/esm/_abstract/Image.jsx +29 -0
  412. package/esm/_abstract/Link.d.ts +27 -0
  413. package/esm/_abstract/Link.jsx +24 -0
  414. package/esm/_abstract/TogglerGroup.d.ts +31 -0
  415. package/esm/_abstract/TogglerGroup.jsx +31 -0
  416. package/esm/_abstract/TogglerGroupField.d.ts +17 -0
  417. package/esm/_abstract/TogglerGroupField.jsx +22 -0
  418. package/esm/_abstract/TogglerInput.d.ts +22 -0
  419. package/esm/_abstract/TogglerInput.jsx +35 -0
  420. package/esm/_abstract/_AbstractCarousel.d.ts +25 -0
  421. package/esm/_abstract/_AbstractCarousel.jsx +133 -0
  422. package/esm/_abstract/_Blings.d.ts +11 -0
  423. package/esm/_abstract/_Blings.jsx +14 -0
  424. package/esm/_abstract/_Block.d.ts +22 -0
  425. package/esm/_abstract/_Block.jsx +27 -0
  426. package/esm/_abstract/_Quote.d.ts +9 -0
  427. package/esm/_abstract/_Quote.jsx +11 -0
  428. package/esm/_abstract/breakOnNL.d.ts +2 -0
  429. package/esm/_abstract/breakOnNL.jsx +8 -0
  430. package/esm/assets.d.ts +42 -0
  431. package/esm/assets.js +56 -0
  432. package/esm/constants.d.ts +39 -0
  433. package/esm/constants.js +22 -0
  434. package/{types → esm}/focus-visible.d.ts +0 -0
  435. package/esm/focus-visible.js +1 -0
  436. package/esm/package.json +1 -0
  437. package/{types → esm}/utils/env.d.ts +0 -0
  438. package/esm/utils/env.js +8 -0
  439. package/{types → esm}/utils/seenEffect.d.ts +0 -0
  440. package/esm/utils/seenEffect.js +73 -0
  441. package/{types → esm}/utils/useFormatMonitor.d.ts +0 -0
  442. package/esm/utils/useFormatMonitor.js +41 -0
  443. package/{types → esm}/utils/useGetSVGtext.d.ts +0 -0
  444. package/esm/utils/useGetSVGtext.js +19 -0
  445. package/{types → esm}/utils/useMenuToggling.d.ts +0 -0
  446. package/esm/utils/useMenuToggling.js +62 -0
  447. package/{types → esm}/utils/useScrollbarWidthCSSVar.d.ts +0 -0
  448. package/esm/utils/useScrollbarWidthCSSVar.js +3 -0
  449. package/{types → esm}/utils.d.ts +0 -0
  450. package/esm/utils.js +2 -0
  451. package/focus-visible.d.ts +1 -0
  452. package/focus-visible.js +3 -0
  453. package/package.json +362 -452
  454. package/utils/env.d.ts +1 -0
  455. package/utils/env.js +14 -0
  456. package/utils/seenEffect.d.ts +28 -0
  457. package/utils/seenEffect.js +81 -0
  458. package/utils/useFormatMonitor.d.ts +38 -0
  459. package/utils/useFormatMonitor.js +44 -0
  460. package/utils/useGetSVGtext.d.ts +6 -0
  461. package/utils/useGetSVGtext.js +23 -0
  462. package/utils/useMenuToggling.d.ts +8 -0
  463. package/utils/useMenuToggling.js +66 -0
  464. package/utils/useScrollbarWidthCSSVar.d.ts +1 -0
  465. package/utils/useScrollbarWidthCSSVar.js +10 -0
  466. package/utils.d.ts +2 -0
  467. package/utils.js +18 -0
  468. package/lib/AccordionList.cjs +0 -91
  469. package/lib/AccordionList.mjs +0 -69
  470. package/lib/ActionCards.cjs +0 -57
  471. package/lib/ActionCards.mjs +0 -35
  472. package/lib/Alert.cjs +0 -159
  473. package/lib/Alert.mjs +0 -139
  474. package/lib/ArticleCarousel/_ArticleCarouselCard.cjs +0 -75
  475. package/lib/ArticleCarousel/_ArticleCarouselCard.mjs +0 -51
  476. package/lib/ArticleCarousel.cjs +0 -43
  477. package/lib/ArticleCarousel.mjs +0 -21
  478. package/lib/ArticleMeta.cjs +0 -46
  479. package/lib/ArticleMeta.mjs +0 -22
  480. package/lib/Attention.cjs +0 -33
  481. package/lib/Attention.mjs +0 -9
  482. package/lib/BasicTable.cjs +0 -72
  483. package/lib/BasicTable.mjs +0 -50
  484. package/lib/Bling.cjs +0 -76
  485. package/lib/Bling.mjs +0 -52
  486. package/lib/BlockBreak.cjs +0 -32
  487. package/lib/BlockBreak.mjs +0 -8
  488. package/lib/BlockQuote.cjs +0 -47
  489. package/lib/BlockQuote.mjs +0 -25
  490. package/lib/BreadCrumbs.cjs +0 -67
  491. package/lib/BreadCrumbs.mjs +0 -43
  492. package/lib/ButtonBack.cjs +0 -47
  493. package/lib/ButtonBack.mjs +0 -25
  494. package/lib/ButtonBar.cjs +0 -45
  495. package/lib/ButtonBar.mjs +0 -18
  496. package/lib/ButtonPrimary.cjs +0 -47
  497. package/lib/ButtonPrimary.mjs +0 -25
  498. package/lib/ButtonSecondary.cjs +0 -47
  499. package/lib/ButtonSecondary.mjs +0 -25
  500. package/lib/ButtonTertiary.cjs +0 -64
  501. package/lib/ButtonTertiary.mjs +0 -42
  502. package/lib/Carousel.cjs +0 -52
  503. package/lib/Carousel.mjs +0 -30
  504. package/lib/CarouselStepper.cjs +0 -51
  505. package/lib/CarouselStepper.mjs +0 -29
  506. package/lib/CenterColumn.cjs +0 -40
  507. package/lib/CenterColumn.mjs +0 -16
  508. package/lib/Checkbox.cjs +0 -52
  509. package/lib/Checkbox.mjs +0 -30
  510. package/lib/CheckboxButtonsGroup.cjs +0 -65
  511. package/lib/CheckboxButtonsGroup.mjs +0 -43
  512. package/lib/CheckboxGroup.cjs +0 -55
  513. package/lib/CheckboxGroup.mjs +0 -33
  514. package/lib/CityBlock.cjs +0 -49
  515. package/lib/CityBlock.mjs +0 -25
  516. package/lib/ContactBubble.cjs +0 -200
  517. package/lib/ContactBubble.mjs +0 -173
  518. package/lib/ContentArticle.cjs +0 -63
  519. package/lib/ContentArticle.mjs +0 -41
  520. package/lib/ContentImage.cjs +0 -58
  521. package/lib/ContentImage.mjs +0 -36
  522. package/lib/Datepicker.cjs +0 -164
  523. package/lib/Datepicker.mjs +0 -142
  524. package/lib/ExtraLinks.cjs +0 -96
  525. package/lib/ExtraLinks.mjs +0 -74
  526. package/lib/FeatureList.cjs +0 -53
  527. package/lib/FeatureList.mjs +0 -29
  528. package/lib/FieldGroup.cjs +0 -40
  529. package/lib/FieldGroup.mjs +0 -16
  530. package/lib/FileInput.cjs +0 -256
  531. package/lib/FileInput.mjs +0 -234
  532. package/lib/Foonote.cjs +0 -30
  533. package/lib/Foonote.mjs +0 -6
  534. package/lib/FooterBadges.cjs +0 -49
  535. package/lib/FooterBadges.mjs +0 -25
  536. package/lib/FooterInfo.cjs +0 -47
  537. package/lib/FooterInfo.mjs +0 -23
  538. package/lib/Footnote.cjs +0 -32
  539. package/lib/Footnote.mjs +0 -8
  540. package/lib/Form.cjs +0 -56
  541. package/lib/Form.mjs +0 -34
  542. package/lib/FormField.cjs +0 -153
  543. package/lib/FormField.mjs +0 -131
  544. package/lib/Gallery/_GalleryItem.cjs +0 -83
  545. package/lib/Gallery/_GalleryItem.mjs +0 -61
  546. package/lib/Gallery/_GalleryModal.cjs +0 -104
  547. package/lib/Gallery/_GalleryModal.mjs +0 -82
  548. package/lib/Gallery/_GalleryModalContext.cjs +0 -30
  549. package/lib/Gallery/_GalleryModalContext.mjs +0 -6
  550. package/lib/Gallery/_GalleryModalItem.cjs +0 -59
  551. package/lib/Gallery/_GalleryModalItem.mjs +0 -36
  552. package/lib/Gallery.cjs +0 -79
  553. package/lib/Gallery.mjs +0 -57
  554. package/lib/GridBlocks.cjs +0 -81
  555. package/lib/GridBlocks.mjs +0 -59
  556. package/lib/Heading.cjs +0 -45
  557. package/lib/Heading.mjs +0 -21
  558. package/lib/HeroBlock.cjs +0 -74
  559. package/lib/HeroBlock.mjs +0 -52
  560. package/lib/IframeBlock.cjs +0 -48
  561. package/lib/IframeBlock.mjs +0 -24
  562. package/lib/Illustration.cjs +0 -51
  563. package/lib/Illustration.mjs +0 -31
  564. package/lib/ImageCards.cjs +0 -72
  565. package/lib/ImageCards.mjs +0 -52
  566. package/lib/InfoBlock.cjs +0 -51
  567. package/lib/InfoBlock.mjs +0 -27
  568. package/lib/InfoHero.cjs +0 -150
  569. package/lib/InfoHero.mjs +0 -128
  570. package/lib/IslandBlock.cjs +0 -63
  571. package/lib/IslandBlock.mjs +0 -41
  572. package/lib/IslandPageBlock.cjs +0 -49
  573. package/lib/IslandPageBlock.mjs +0 -25
  574. package/lib/LabeledTextBlock.cjs +0 -60
  575. package/lib/LabeledTextBlock.mjs +0 -38
  576. package/lib/Layout.cjs +0 -113
  577. package/lib/Layout.mjs +0 -87
  578. package/lib/MainMenu/_Auxiliary.cjs +0 -54
  579. package/lib/MainMenu/_Auxiliary.mjs +0 -28
  580. package/lib/MainMenu/_PrimaryPanel.cjs +0 -74
  581. package/lib/MainMenu/_PrimaryPanel.mjs +0 -48
  582. package/lib/MainMenu.cjs +0 -209
  583. package/lib/MainMenu.mjs +0 -187
  584. package/lib/MiniMetrics.cjs +0 -56
  585. package/lib/MiniMetrics.mjs +0 -34
  586. package/lib/Modal.cjs +0 -70
  587. package/lib/Modal.mjs +0 -48
  588. package/lib/NameCard.cjs +0 -115
  589. package/lib/NameCard.mjs +0 -91
  590. package/lib/NameCards.cjs +0 -52
  591. package/lib/NameCards.mjs +0 -30
  592. package/lib/NewsHero.cjs +0 -136
  593. package/lib/NewsHero.mjs +0 -114
  594. package/lib/PageFilter.cjs +0 -48
  595. package/lib/PageFilter.mjs +0 -24
  596. package/lib/PageHeading.cjs +0 -42
  597. package/lib/PageHeading.mjs +0 -18
  598. package/lib/ProcessOverview.cjs +0 -52
  599. package/lib/ProcessOverview.mjs +0 -28
  600. package/lib/PullQuote.cjs +0 -47
  601. package/lib/PullQuote.mjs +0 -25
  602. package/lib/RadioButtonsGroup.cjs +0 -64
  603. package/lib/RadioButtonsGroup.mjs +0 -42
  604. package/lib/RadioGroup.cjs +0 -58
  605. package/lib/RadioGroup.mjs +0 -36
  606. package/lib/RelatedLinks.cjs +0 -61
  607. package/lib/RelatedLinks.mjs +0 -37
  608. package/lib/RowBlock.cjs +0 -39
  609. package/lib/RowBlock.mjs +0 -15
  610. package/lib/RowBlockColumn.cjs +0 -40
  611. package/lib/RowBlockColumn.mjs +0 -16
  612. package/lib/SearchInput.cjs +0 -136
  613. package/lib/SearchInput.mjs +0 -114
  614. package/lib/SearchResults/_SearchResultsItem.cjs +0 -54
  615. package/lib/SearchResults/_SearchResultsItem.mjs +0 -30
  616. package/lib/SearchResults.cjs +0 -172
  617. package/lib/SearchResults.mjs +0 -150
  618. package/lib/SeenEffect.cjs +0 -66
  619. package/lib/SeenEffect.mjs +0 -44
  620. package/lib/Selectbox.cjs +0 -144
  621. package/lib/Selectbox.mjs +0 -122
  622. package/lib/ShareButtons.cjs +0 -101
  623. package/lib/ShareButtons.mjs +0 -83
  624. package/lib/Sharpie.cjs +0 -51
  625. package/lib/Sharpie.mjs +0 -27
  626. package/lib/SiteSearchAutocomplete.cjs +0 -150
  627. package/lib/SiteSearchAutocomplete.mjs +0 -126
  628. package/lib/SiteSearchCurtain.cjs +0 -78
  629. package/lib/SiteSearchCurtain.mjs +0 -56
  630. package/lib/SiteSearchInput.cjs +0 -119
  631. package/lib/SiteSearchInput.mjs +0 -97
  632. package/lib/Skeleton.cjs +0 -63
  633. package/lib/Skeleton.mjs +0 -39
  634. package/lib/SubHeading.cjs +0 -43
  635. package/lib/SubHeading.mjs +0 -19
  636. package/lib/Tabs.cjs +0 -166
  637. package/lib/Tabs.mjs +0 -144
  638. package/lib/TagPill.cjs +0 -113
  639. package/lib/TagPill.mjs +0 -91
  640. package/lib/TextBlock.cjs +0 -45
  641. package/lib/TextBlock.mjs +0 -21
  642. package/lib/TextButton.cjs +0 -55
  643. package/lib/TextButton.mjs +0 -33
  644. package/lib/TextInput.cjs +0 -136
  645. package/lib/TextInput.mjs +0 -114
  646. package/lib/VSpacer.cjs +0 -70
  647. package/lib/VSpacer.mjs +0 -46
  648. package/lib/VerticalTabsTOC.cjs +0 -123
  649. package/lib/VerticalTabsTOC.mjs +0 -101
  650. package/lib/WizardLayout.cjs +0 -79
  651. package/lib/WizardLayout.mjs +0 -55
  652. package/lib/WizardLayoutClose.cjs +0 -47
  653. package/lib/WizardLayoutClose.mjs +0 -25
  654. package/lib/WizardStepper.cjs +0 -55
  655. package/lib/WizardStepper.mjs +0 -31
  656. package/lib/_abstract/Button.cjs +0 -114
  657. package/lib/_abstract/Button.mjs +0 -92
  658. package/lib/_abstract/CardList.cjs +0 -100
  659. package/lib/_abstract/CardList.mjs +0 -76
  660. package/lib/_abstract/Image.cjs +0 -75
  661. package/lib/_abstract/Image.mjs +0 -51
  662. package/lib/_abstract/Link.cjs +0 -37
  663. package/lib/_abstract/Link.mjs +0 -10
  664. package/lib/_abstract/TogglerGroup.cjs +0 -92
  665. package/lib/_abstract/TogglerGroup.mjs +0 -70
  666. package/lib/_abstract/TogglerGroupField.cjs +0 -121
  667. package/lib/_abstract/TogglerGroupField.mjs +0 -99
  668. package/lib/_abstract/TogglerInput.cjs +0 -105
  669. package/lib/_abstract/TogglerInput.mjs +0 -83
  670. package/lib/_abstract/_AbstractCarousel.cjs +0 -170
  671. package/lib/_abstract/_AbstractCarousel.mjs +0 -152
  672. package/lib/_abstract/_Blings.cjs +0 -47
  673. package/lib/_abstract/_Blings.mjs +0 -23
  674. package/lib/_abstract/_Block.cjs +0 -73
  675. package/lib/_abstract/_Block.mjs +0 -51
  676. package/lib/_abstract/_Quote.cjs +0 -43
  677. package/lib/_abstract/_Quote.mjs +0 -17
  678. package/lib/_abstract/breakOnNL.cjs +0 -30
  679. package/lib/_abstract/breakOnNL.mjs +0 -6
  680. package/lib/assets.cjs +0 -77
  681. package/lib/assets.mjs +0 -53
  682. package/lib/constants.cjs +0 -49
  683. package/lib/constants.mjs +0 -24
  684. package/lib/focus-visible.cjs +0 -1
  685. package/lib/focus-visible.mjs +0 -1
  686. package/lib/utils/config.cjs +0 -27
  687. package/lib/utils/config.mjs +0 -4
  688. package/lib/utils/detectEdgeScroll.cjs +0 -95
  689. package/lib/utils/detectEdgeScroll.mjs +0 -71
  690. package/lib/utils/env.cjs +0 -31
  691. package/lib/utils/env.mjs +0 -5
  692. package/lib/utils/seenEffect.cjs +0 -93
  693. package/lib/utils/seenEffect.mjs +0 -65
  694. package/lib/utils/useFormatMonitor.cjs +0 -29
  695. package/lib/utils/useFormatMonitor.mjs +0 -6
  696. package/lib/utils/useGetSVGtext.cjs +0 -44
  697. package/lib/utils/useGetSVGtext.mjs +0 -21
  698. package/lib/utils/useMenuToggling.cjs +0 -83
  699. package/lib/utils/useMenuToggling.mjs +0 -60
  700. package/lib/utils/useScrollbarWidthCSSVar.cjs +0 -32
  701. package/lib/utils/useScrollbarWidthCSSVar.mjs +0 -6
  702. package/lib/utils.cjs +0 -18
  703. package/lib/utils.mjs +0 -2
  704. package/types/SiteSearchInput.d.ts +0 -24
  705. package/types/utils/config.d.ts +0 -2
  706. package/types/utils/detectEdgeScroll.d.ts +0 -52
@@ -0,0 +1,18 @@
1
+ import { TextCardListProps } from './_abstract/CardList';
2
+ import { SeenProp } from './utils/seenEffect';
3
+ export declare type RelatedLink = {
4
+ href: string;
5
+ label: string;
6
+ blank?: boolean;
7
+ type?: 'link' | 'pdf' | 'text';
8
+ };
9
+ declare type RelatedProps = {
10
+ relatedTitle?: string;
11
+ relatedLinks?: Array<RelatedLink>;
12
+ };
13
+ export declare type ExtraLinksCardProps = TextCardListProps['cards'][number];
14
+ export declare type ExtraLinksProps = TextCardListProps & RelatedProps & {
15
+ className?: string;
16
+ } & SeenProp;
17
+ declare const ExtraLinks: (props: ExtraLinksProps) => JSX.Element;
18
+ export default ExtraLinks;
@@ -0,0 +1,42 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React from 'react';
13
+ import getBemClass from '@hugsmidjan/react/utils/getBemClass';
14
+ import { CardList } from './_abstract/CardList';
15
+ import { Link } from './_abstract/Link';
16
+ import { useSeenEffect } from './utils/seenEffect';
17
+ const ExtraLinks__related = (props) => {
18
+ const { relatedTitle, relatedLinks } = props;
19
+ return (<div className="ExtraLinks__related">
20
+ {relatedTitle && <h3 className="ExtraLinks__related__title">{relatedTitle}</h3>}
21
+ <ul className="ExtraLinks__related__list">
22
+ {relatedLinks &&
23
+ relatedLinks.map(({ href, label, blank = false, type }, i) => (<li className="ExtraLinks__related__item" key={i}>
24
+ <Link className={getBemClass('ExtraLinks__related__link', type)} href={href} target={blank ? '_blank' : ''} rel={blank ? 'noreferrer noopener' : ''}>
25
+ {label}
26
+ </Link>
27
+ </li>))}
28
+ </ul>
29
+ </div>);
30
+ };
31
+ const ExtraLinks = (props) => {
32
+ const { relatedTitle, relatedLinks, className, startSeen } = props, cardListProps = __rest(props, ["relatedTitle", "relatedLinks", "className", "startSeen"]);
33
+ const hasRelated = !!(relatedLinks && relatedLinks.length);
34
+ const [ref] = useSeenEffect(startSeen);
35
+ return (<div className={getBemClass('ExtraLinks', hasRelated && 'related', className)} ref={ref}>
36
+ <div className="ExtraLinks__main">
37
+ <CardList {...cardListProps} bemPrefix="ExtraLinks"/>
38
+ </div>
39
+ {hasRelated && (<ExtraLinks__related relatedTitle={relatedTitle} relatedLinks={relatedLinks}/>)}
40
+ </div>);
41
+ };
42
+ export default ExtraLinks;
@@ -0,0 +1,12 @@
1
+ import { Efnistakn } from '@reykjavik/hanna-utils/assets';
2
+ import { SeenProp } from './utils/seenEffect';
3
+ export declare type FeatureListProps = {
4
+ title: string;
5
+ features: Array<{
6
+ icon?: Efnistakn;
7
+ iconUrl?: string;
8
+ name: string;
9
+ }>;
10
+ } & SeenProp;
11
+ declare const FeatureList: (props: FeatureListProps) => JSX.Element;
12
+ export default FeatureList;
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import { useSeenEffect } from './utils/seenEffect';
3
+ import Bling from './Bling';
4
+ const FeatureList = (props) => {
5
+ const { title, features, startSeen } = props;
6
+ const [ref] = useSeenEffect(startSeen);
7
+ const _features = features.length ? features : [{ name: '...' }];
8
+ return (<>
9
+ <Bling type="snake-large" align="left" vertical="down-ish"/>
10
+
11
+ <div className="FeatureList" ref={ref}>
12
+ <h2 className="FeatureList__title">{title}</h2>
13
+ <ul className="FeatureList__list">
14
+ {_features.map(({ name, icon, iconUrl }, i) => (<li key={i} className="FeatureList__feature" style={iconUrl
15
+ ? { '--efnistakn': `url("${iconUrl}")` }
16
+ : undefined} data-efnistakn={!iconUrl ? icon : undefined}>
17
+ {name}
18
+ </li>))}
19
+ </ul>
20
+ </div>
21
+ </>);
22
+ };
23
+ export default FeatureList;
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ export declare type FieldGroupProps = {
3
+ legend: string;
4
+ disabled?: boolean;
5
+ className?: string;
6
+ children: ReactNode;
7
+ };
8
+ declare const FieldGroup: (props: FieldGroupProps) => JSX.Element;
9
+ export default FieldGroup;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import getBemClass from '@hugsmidjan/react/utils/getBemClass';
3
+ const FieldGroup = (props) => {
4
+ const { legend, children, className, disabled } = props;
5
+ return (<fieldset className={getBemClass('FieldGroup', null, className)} role="group" disabled={disabled}>
6
+ <legend className="FieldGroup__legend">{legend}</legend>
7
+ {children}
8
+ </fieldset>);
9
+ };
10
+ export default FieldGroup;
@@ -0,0 +1,17 @@
1
+ import { FormFieldWrappingProps } from './FormField';
2
+ declare type dropzonePropsProps = {
3
+ accept?: string;
4
+ multiple?: boolean;
5
+ };
6
+ export declare type FileInputProps = {
7
+ dropzoneProps: dropzonePropsProps;
8
+ dropzoneText: string | JSX.Element;
9
+ showFileSize?: boolean;
10
+ showImagePreviews?: boolean;
11
+ removeFileText: string;
12
+ onFilesUpdated?: (files: Array<File>) => void;
13
+ name?: string;
14
+ value?: ReadonlyArray<File>;
15
+ } & FormFieldWrappingProps;
16
+ declare const FileInput: (props: FileInputProps) => JSX.Element;
17
+ export default FileInput;
@@ -0,0 +1,157 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React, { useEffect, useRef, useState } from 'react';
13
+ import { useDropzone } from 'react-dropzone'; // https://react-dropzone.js.org/#!/Dropzone
14
+ import { useDomid } from '@hugsmidjan/react/hooks';
15
+ import getBemClass from '@hugsmidjan/react/utils/getBemClass';
16
+ import FormField from './FormField';
17
+ /**
18
+ * Attaches a `preview` prop to file objects that don't already have a `preview` key defined
19
+ *
20
+ * The preview's value is either a data URI (for image-type files) or `undefined`
21
+ */
22
+ const addPreview = (file) => {
23
+ if (!('preview' in file)) {
24
+ file.preview = file.type.includes('image/') ? URL.createObjectURL(file) : undefined;
25
+ }
26
+ };
27
+ /**
28
+ * Revokes `preview` data URIs to avoid memory leaks
29
+ *
30
+ * (See: https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL)
31
+ */
32
+ const releasePreview = (file) => {
33
+ file.preview && URL.revokeObjectURL(file.preview);
34
+ delete file.preview;
35
+ };
36
+ const arrayToFileList = (arr) => {
37
+ const fileList = new DataTransfer();
38
+ arr.forEach((item) => {
39
+ fileList.items.add(item);
40
+ });
41
+ return fileList.files;
42
+ };
43
+ const dedupeFilesArray = (files) => {
44
+ const newArray = [];
45
+ const found = {};
46
+ files.forEach((file) => {
47
+ if (!(file.name in found)) {
48
+ newArray.push(file);
49
+ found[file.name] = true;
50
+ }
51
+ else {
52
+ releasePreview(file);
53
+ }
54
+ });
55
+ return newArray;
56
+ };
57
+ const formatBytes = (bytes, decimals = 2) => {
58
+ if (bytes === 0) {
59
+ return '0 Bytes';
60
+ }
61
+ const k = 1024;
62
+ const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
63
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
64
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(decimals)) + ' ' + sizes[i];
65
+ };
66
+ const FileInput = (props) => {
67
+ const { className, id, label, hideLabel, dropzoneProps = { multiple: true }, dropzoneText, removeFileText, assistText, disabled, invalid, errorMessage, required, reqText, onFilesUpdated = () => undefined, showFileSize, showImagePreviews, value = [] } = props, inputElementProps = __rest(props, ["className", "id", "label", "hideLabel", "dropzoneProps", "dropzoneText", "removeFileText", "assistText", "disabled", "invalid", "errorMessage", "required", "reqText", "onFilesUpdated", "showFileSize", "showImagePreviews", "value"]);
68
+ const domid = useDomid(id);
69
+ const fileInputWrapper = useRef(null);
70
+ const fileInput = useRef(null);
71
+ const files = value;
72
+ const [isHover, setIsHover] = useState(false);
73
+ const { getRootProps, getInputProps, isDragReject, inputRef } = useDropzone(Object.assign({ onDrop: (acceptedFiles) => {
74
+ acceptedFiles = acceptedFiles.map((file) => {
75
+ addPreview(file);
76
+ return file;
77
+ });
78
+ addFiles(acceptedFiles); // eslint-disable-line
79
+ setIsHover(false);
80
+ }, onDropRejected: (rejectedFiles) => {
81
+ window.alert('Error:\n' +
82
+ rejectedFiles
83
+ .map((elm) => {
84
+ return elm.name;
85
+ })
86
+ .join(', '));
87
+ }, onDragEnter: () => {
88
+ // 'dragLeave' always fires right after 'dragEnter', use 'dragOver' instead
89
+ // console.log('enter');
90
+ // setIsHover(true);
91
+ }, onDragLeave: () => {
92
+ // console.log('leave');
93
+ setIsHover(false);
94
+ }, onDragOver: () => {
95
+ // TODO: add error icon? 'isDragReject' gives unstable results
96
+ // console.log(isDragReject);
97
+ setIsHover(true);
98
+ } }, dropzoneProps));
99
+ // Add previews on incoming files
100
+ // (NOTE: `addPreview` ignores files that already have preview.)
101
+ files.forEach(addPreview);
102
+ useEffect(() => () => {
103
+ // Make sure to revoke the data uris on unmount to avoid memory leaks
104
+ files.forEach(releasePreview);
105
+ }, [files]);
106
+ const removeFile = (name) => {
107
+ if (fileInput.current) {
108
+ const newFileList = files.filter((file) => {
109
+ if (file.name !== name) {
110
+ return true;
111
+ }
112
+ releasePreview(file);
113
+ });
114
+ fileInput.current.files = arrayToFileList(newFileList);
115
+ onFilesUpdated(newFileList);
116
+ }
117
+ };
118
+ const addFiles = (filelist) => {
119
+ if (fileInput.current) {
120
+ const newFileList = dropzoneProps.multiple
121
+ ? dedupeFilesArray(files.concat(filelist))
122
+ : filelist;
123
+ fileInput.current.files = arrayToFileList(newFileList);
124
+ onFilesUpdated(newFileList);
125
+ }
126
+ if (inputRef.current) {
127
+ // Empty on every add
128
+ inputRef.current.files = arrayToFileList([]);
129
+ }
130
+ };
131
+ const filesList = files.map((file) => (<li key={file.name} className="FileInput__file">
132
+ <button className="FileInput__file-remove" type="button" onClick={() => removeFile(file.name)} aria-label={removeFileText}>
133
+ {removeFileText}
134
+ </button>
135
+ <span className="FileInput__fileinfo">
136
+ {showImagePreviews && file.preview && (<>
137
+ <span className="FileInput__preview">
138
+ <img src={file.preview}/>
139
+ </span>{' '}
140
+ </>)}
141
+ <span className="FileInput__filename">{file.name}</span>
142
+ {showFileSize && (<small className="FileInput__filesize"> - ({formatBytes(file.size)})</small>)}
143
+ </span>
144
+ </li>));
145
+ return (<FormField className={getBemClass('FileInput', [dropzoneProps.multiple && 'multi'], className)} label={label} id={domid + '-fake'} LabelTag="h4" assistText={assistText} hideLabel={hideLabel} disabled={disabled} invalid={invalid} errorMessage={errorMessage} required={required} reqText={reqText} renderInput={(className, inputProps /* , addFocusProps */) => {
146
+ return (<div className={className.control} ref={fileInputWrapper}>
147
+ <input className="FileInput__input" name={inputElementProps.name} id={domid} ref={fileInput} type="file" style={{ display: 'none' }} multiple={dropzoneProps.multiple || undefined} required={inputProps.required} // ??? Bad idea ?? Scream test!!
148
+ />{' '}
149
+ <input className="FileInput__input--fake" {...getInputProps()} tabIndex={undefined} style={undefined} multiple={dropzoneProps.multiple || undefined} {...inputProps} required={undefined}/>{' '}
150
+ <div className={getBemClass('FileInput__dropzone', [isHover && 'highlight'])} {...getRootProps({ isDragReject })} tabIndex={undefined}>
151
+ <p className="FileInput__droptext">{dropzoneText}</p>
152
+ </div>
153
+ {filesList.length ? <ul className="FileInput__filelist">{filesList}</ul> : ''}
154
+ </div>);
155
+ }}/>);
156
+ };
157
+ export default FileInput;
@@ -0,0 +1,12 @@
1
+ import { FootnoteProps as _FootnoteProps } from './Footnote';
2
+ /** @deprecated (Will be removed in v0.11)
3
+ *
4
+ * This module file is a typo. import from `Footnote` instead
5
+ */
6
+ export declare type FootnoteProps = _FootnoteProps;
7
+ /** @deprecated (Will be removed in v0.11)
8
+ *
9
+ * This module file is a typo. import from `Footnote` instead
10
+ */
11
+ declare const Footnote: (props: _FootnoteProps) => JSX.Element;
12
+ export default Footnote;
@@ -0,0 +1,7 @@
1
+ import _Footnote from './Footnote';
2
+ /** @deprecated (Will be removed in v0.11)
3
+ *
4
+ * This module file is a typo. import from `Footnote` instead
5
+ */
6
+ const Footnote = _Footnote;
7
+ export default Footnote;
@@ -0,0 +1,9 @@
1
+ export declare type FooterBadgesProps = {
2
+ badges: Array<{
3
+ altText: string;
4
+ src: string;
5
+ href?: string;
6
+ }>;
7
+ };
8
+ declare const FooterBadges: (props: FooterBadgesProps) => JSX.Element | null;
9
+ export default FooterBadges;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { Link } from './_abstract/Link';
3
+ const FooterBadges = (props) => {
4
+ if (!props.badges.length) {
5
+ return null;
6
+ }
7
+ return (<ul className="FooterBadges">
8
+ {props.badges.map(({ altText, src, href }, i) => (<li key={i} className="FooterBadges__badge">
9
+ {href ? (<Link href={href}>
10
+ {' '}
11
+ <img src={src} alt={altText}/>{' '}
12
+ </Link>) : (<img src={src} alt={altText}/>)}
13
+ </li>))}
14
+ </ul>);
15
+ };
16
+ export default FooterBadges;
@@ -0,0 +1,18 @@
1
+ import { BemPropsModifier } from '@hugsmidjan/react/types';
2
+ export declare type FooterInfoGroup = {
3
+ title: string;
4
+ role?: JSX.IntrinsicElements['div']['role'];
5
+ modifier?: string;
6
+ } & BemPropsModifier & ({
7
+ content: JSX.Element;
8
+ html?: undefined;
9
+ } | {
10
+ html: string;
11
+ content?: undefined;
12
+ });
13
+ export declare type FooterInfoBoxes = Array<FooterInfoGroup>;
14
+ export declare type FooterInfoProps = {
15
+ boxes: FooterInfoBoxes;
16
+ };
17
+ declare const FooterInfo: (props: FooterInfoProps) => JSX.Element;
18
+ export default FooterInfo;
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import getBemClass from '@hugsmidjan/react/utils/getBemClass';
3
+ const FooterInfo = (props) => {
4
+ const { boxes } = props;
5
+ return (<div className="FooterInfo">
6
+ {boxes.map((group, i) => (<div className={getBemClass('FooterInfo__group', group.modifier)} role={group.role} key={i}>
7
+ <h3 className="FooterInfo__grouptitle">{group.title}</h3>
8
+ {group.content ? (<div className={getBemClass('FooterInfo__groupcontent', group.modifier)}>
9
+ {group.content}
10
+ </div>) : (<div className={getBemClass('FooterInfo__groupcontent', group.modifier)} dangerouslySetInnerHTML={{ __html: group.html }}/>)}
11
+ </div>))}
12
+ </div>);
13
+ };
14
+ export default FooterInfo;
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ export declare type FootnoteProps = {
3
+ children: ReactNode;
4
+ };
5
+ declare const Footnote: (props: FootnoteProps) => JSX.Element;
6
+ export default Footnote;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ const Footnote = (props) => (<div className="Footnote">{props.children}</div>);
3
+ export default Footnote;
package/esm/Form.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import React, { ReactNode } from 'react';
2
+ import { ComponentLayoutProps } from './constants';
3
+ export declare type FormProps = ComponentLayoutProps & React.FormHTMLAttributes<HTMLFormElement> & {
4
+ children: ReactNode;
5
+ };
6
+ declare const Form: (props: FormProps) => JSX.Element;
7
+ export default Form;
package/esm/Form.jsx ADDED
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import getBemClass from '@hugsmidjan/react/utils/getBemClass';
3
+ const Form = (props) => {
4
+ const { children, align, wide } = props;
5
+ return (<form {...props} className={getBemClass('Form', [
6
+ align === 'right' && 'align--' + align,
7
+ !align && wide && 'wide',
8
+ ])}>
9
+ {children}
10
+ </form>);
11
+ };
12
+ export default Form;
@@ -0,0 +1,65 @@
1
+ import { RefObject } from 'react';
2
+ import { SSRSupport } from '@hugsmidjan/react/hooks';
3
+ declare type InputClassNames = {
4
+ /** Basic/raw FormField BEM name */
5
+ bem: string;
6
+ /** Standard name for "<input/>"-styled controls */
7
+ input: string;
8
+ /** Standard name for radio/checkbox group conotrols */
9
+ options: string;
10
+ /** Generic name for unstyled/free-form controls. */
11
+ control: string;
12
+ };
13
+ export declare type FormFieldInputProps = {
14
+ id?: string;
15
+ required?: boolean;
16
+ readOnly?: boolean;
17
+ disabled?: boolean;
18
+ 'aria-invalid'?: boolean | 'true' | 'false';
19
+ 'aria-labelledby'?: string;
20
+ 'aria-describedby'?: string;
21
+ };
22
+ declare type FocusEvents = {
23
+ onFocus?: (e: any) => void;
24
+ onBlur?: (e: any) => void;
25
+ };
26
+ declare type FocusPropMaker = <P extends FocusEvents>(ownProps?: P) => P & Required<FocusEvents>;
27
+ export declare type FormFieldWrappingProps = {
28
+ /** Container className - alongside "FormField" */
29
+ className?: string;
30
+ label: string | JSX.Element;
31
+ assistText?: string | JSX.Element;
32
+ hideLabel?: boolean;
33
+ disabled?: boolean;
34
+ readOnly?: boolean;
35
+ invalid?: boolean;
36
+ errorMessage?: string | JSX.Element;
37
+ required?: boolean;
38
+ /** Hidden label prefix text to indicate that the field is required.
39
+ *
40
+ * If your field is required but should not say so in its label
41
+ * then set this prop to `false`
42
+ *
43
+ * Default: `"Þarf að fylla út"`
44
+ * */
45
+ reqText?: string | false;
46
+ /** Optional pre-determinted id="" for the __input */
47
+ id?: string;
48
+ /** Ref object pointing to the outermost `.FormField` element */
49
+ wrapperRef?: RefObject<HTMLElement>;
50
+ ssr?: SSRSupport;
51
+ };
52
+ export declare type FormFieldGroupWrappingProps = FormFieldWrappingProps & {
53
+ LabelTag?: 'h3' | 'h4' | 'h5';
54
+ };
55
+ export declare type FormFieldProps = FormFieldGroupWrappingProps & {
56
+ /** Container className - alongside "FormField" */
57
+ className: string;
58
+ small?: boolean;
59
+ group?: boolean;
60
+ empty?: boolean;
61
+ filled?: boolean;
62
+ renderInput(className: InputClassNames, inputProps: FormFieldInputProps, addFocusProps: FocusPropMaker, isBrowser?: boolean): JSX.Element;
63
+ };
64
+ declare const FormField: (props: FormFieldProps) => JSX.Element;
65
+ export default FormField;
@@ -0,0 +1,93 @@
1
+ import React, { useCallback, useState } from 'react';
2
+ import { useDomid, useIsBrowserSide } from '@hugsmidjan/react/hooks';
3
+ import getBemClass from '@hugsmidjan/react/utils/getBemClass';
4
+ import { isPreact } from './utils/env';
5
+ const inputClassNames = {
6
+ bem: 'FormField',
7
+ input: 'FormField__input',
8
+ options: 'FormField__options',
9
+ control: 'FormField__control',
10
+ };
11
+ // ---------------------------------------------------------------------------
12
+ // eslint-disable-next-line complexity
13
+ const FormField = (props) => {
14
+ const { className, small, group, LabelTag = group ? 'h4' : undefined, label, assistText, hideLabel, empty, filled, readOnly, disabled, invalid, errorMessage, required, reqText, // i18n
15
+ renderInput, id, ssr, } = props;
16
+ const isBrowser = useIsBrowserSide(ssr);
17
+ const isInvalid = invalid || !!errorMessage || undefined;
18
+ const domid = useDomid(id);
19
+ const [focused, setFocused] = useState(false);
20
+ // @ts-expect-error (Duck knows why this errors?!)
21
+ const addFocusProps = useCallback((ownProps) => {
22
+ const { onFocus, onBlur } = ownProps || {};
23
+ const focusHandler = (e) => {
24
+ if (!e.relatedTarget || !e.currentTarget.contains(e.relatedTarget)) {
25
+ setFocused(true);
26
+ }
27
+ onFocus && onFocus(e);
28
+ };
29
+ const blurHandler = (e) => {
30
+ if (!e.relatedTarget || !e.currentTarget.contains(e.relatedTarget)) {
31
+ setFocused(false);
32
+ }
33
+ onBlur && onBlur(e);
34
+ };
35
+ const focusProps = Object.assign(Object.assign({}, ownProps), { onFocus: focusHandler, onBlur: blurHandler });
36
+ if (isPreact) {
37
+ const focusinHandler = (e) => {
38
+ e.currentTarget !== e.target && focusHandler(e);
39
+ };
40
+ const focusoutHandler = (e) => {
41
+ e.currentTarget !== e.target && blurHandler(e);
42
+ };
43
+ // @ts-expect-error (Sneak this in as Preact does not bubble `FocusEvent`s)
44
+ focusProps.onfocusin = focusinHandler;
45
+ // @ts-expect-error (Sneak this in as Preact does not bubble `FocusEvent`s)
46
+ focusProps.onfocusout = focusoutHandler;
47
+ }
48
+ return focusProps;
49
+ }, []);
50
+ const errorId = errorMessage ? 'error:' + domid : undefined;
51
+ const assistTextId = assistText ? 'assist:' + domid : undefined;
52
+ const labelId = LabelTag ? 'label:' + domid : undefined;
53
+ const reqStar = required && reqText !== false && (<abbr className={'FormField__label__reqstar'}
54
+ // TODO: add mo-better i18n thinking
55
+ title={(reqText || 'Þarf að fylla út') + ': '}>
56
+ *
57
+ </abbr>);
58
+ const inputProps = {
59
+ id: domid,
60
+ disabled: disabled,
61
+ required: required,
62
+ readOnly: readOnly,
63
+ 'aria-invalid': isInvalid,
64
+ 'aria-describedby': assistTextId && errorId ? assistTextId + ' ' + errorId : assistTextId || errorId,
65
+ 'aria-labelledby': labelId, // undefined if normalLabel
66
+ };
67
+ return (<div className={getBemClass('FormField', [
68
+ small && 'small',
69
+ hideLabel && 'nolabel',
70
+ isInvalid && 'invalid',
71
+ disabled && 'disabled',
72
+ readOnly && 'readonly',
73
+ isBrowser && empty && 'empty',
74
+ isBrowser && filled && 'filled',
75
+ isBrowser && focused && 'focused',
76
+ ], className)} role={group ? 'group' : undefined} ref={props.wrapperRef}>
77
+ {LabelTag ? (<LabelTag className={'FormField__label'} id={labelId}>
78
+ {' '}
79
+ {reqStar} {label}{' '}
80
+ </LabelTag>) : (<label className={'FormField__label'} htmlFor={domid}>
81
+ {' '}
82
+ {reqStar} {label}{' '}
83
+ </label>)}{' '}
84
+ {renderInput(inputClassNames, inputProps, addFocusProps, isBrowser)}
85
+ {assistText && (<div id={assistTextId} className={'FormField__assist'}>
86
+ {assistText}
87
+ </div>)}
88
+ {errorMessage && (<div id={errorId} className={'FormField__error'}>
89
+ {errorMessage}
90
+ </div>)}
91
+ </div>);
92
+ };
93
+ export default FormField;
@@ -0,0 +1,8 @@
1
+ import { ImageProps } from '../_abstract/Image';
2
+ export declare type GalleryItemProps = {
3
+ caption?: string;
4
+ description?: string;
5
+ largeImageSrc?: string;
6
+ } & ImageProps;
7
+ declare const GalleryItem: (props: GalleryItemProps) => JSX.Element;
8
+ export default GalleryItem;
@@ -0,0 +1,31 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React, { useContext } from 'react';
13
+ import Button from '../_abstract/Button';
14
+ import Image from '../_abstract/Image';
15
+ import GalleryModalContext from './_GalleryModalContext';
16
+ const GalleryItem = (props) => {
17
+ const { caption, description, largeImageSrc } = props, image = __rest(props, ["caption", "description", "largeImageSrc"]);
18
+ const { setCurrentImage } = useContext(GalleryModalContext);
19
+ return (<figure className="GalleryItem">
20
+ <figcaption className="GalleryItem__caption">{caption}</figcaption>
21
+ {largeImageSrc ? (<Button bem="GalleryItem__button" href={largeImageSrc} onClick={(e) => {
22
+ e.preventDefault();
23
+ setCurrentImage(Object.assign(Object.assign({}, image), { caption, description, largeImageSrc }));
24
+ }}>
25
+ {' '}
26
+ <Image className="GalleryItem__image" {...image}/>{' '}
27
+ </Button>) : (<Image className="GalleryItem__image" {...image}/>)}
28
+ {description && <div className="GalleryItem__description">{description}</div>}
29
+ </figure>);
30
+ };
31
+ export default GalleryItem;
@@ -0,0 +1,6 @@
1
+ import { GalleryI18n } from '../Gallery';
2
+ declare type GalleryModalProps = {
3
+ texts: Readonly<GalleryI18n>;
4
+ };
5
+ declare const GalleryModal: (props: GalleryModalProps) => JSX.Element | null;
6
+ export default GalleryModal;