@reykjavik/hanna-react 0.10.53

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 (357) hide show
  1. package/CHANGELOG.md +795 -0
  2. package/README.md +69 -0
  3. package/lib/AccordionList.cjs +91 -0
  4. package/lib/AccordionList.mjs +69 -0
  5. package/lib/ActionCards.cjs +57 -0
  6. package/lib/ActionCards.mjs +35 -0
  7. package/lib/Alert.cjs +159 -0
  8. package/lib/Alert.mjs +139 -0
  9. package/lib/ArticleCarousel/_ArticleCarouselCard.cjs +75 -0
  10. package/lib/ArticleCarousel/_ArticleCarouselCard.mjs +51 -0
  11. package/lib/ArticleCarousel.cjs +43 -0
  12. package/lib/ArticleCarousel.mjs +21 -0
  13. package/lib/ArticleMeta.cjs +46 -0
  14. package/lib/ArticleMeta.mjs +22 -0
  15. package/lib/Attention.cjs +33 -0
  16. package/lib/Attention.mjs +9 -0
  17. package/lib/BasicTable.cjs +72 -0
  18. package/lib/BasicTable.mjs +50 -0
  19. package/lib/Bling.cjs +76 -0
  20. package/lib/Bling.mjs +52 -0
  21. package/lib/BlockBreak.cjs +32 -0
  22. package/lib/BlockBreak.mjs +8 -0
  23. package/lib/BlockQuote.cjs +47 -0
  24. package/lib/BlockQuote.mjs +25 -0
  25. package/lib/BreadCrumbs.cjs +67 -0
  26. package/lib/BreadCrumbs.mjs +43 -0
  27. package/lib/ButtonBack.cjs +47 -0
  28. package/lib/ButtonBack.mjs +25 -0
  29. package/lib/ButtonBar.cjs +45 -0
  30. package/lib/ButtonBar.mjs +18 -0
  31. package/lib/ButtonPrimary.cjs +47 -0
  32. package/lib/ButtonPrimary.mjs +25 -0
  33. package/lib/ButtonSecondary.cjs +47 -0
  34. package/lib/ButtonSecondary.mjs +25 -0
  35. package/lib/ButtonTertiary.cjs +64 -0
  36. package/lib/ButtonTertiary.mjs +42 -0
  37. package/lib/Carousel.cjs +52 -0
  38. package/lib/Carousel.mjs +30 -0
  39. package/lib/CarouselStepper.cjs +51 -0
  40. package/lib/CarouselStepper.mjs +29 -0
  41. package/lib/CenterColumn.cjs +40 -0
  42. package/lib/CenterColumn.mjs +16 -0
  43. package/lib/Checkbox.cjs +52 -0
  44. package/lib/Checkbox.mjs +30 -0
  45. package/lib/CheckboxButtonsGroup.cjs +65 -0
  46. package/lib/CheckboxButtonsGroup.mjs +43 -0
  47. package/lib/CheckboxGroup.cjs +55 -0
  48. package/lib/CheckboxGroup.mjs +33 -0
  49. package/lib/CityBlock.cjs +49 -0
  50. package/lib/CityBlock.mjs +25 -0
  51. package/lib/ContactBubble.cjs +200 -0
  52. package/lib/ContactBubble.mjs +173 -0
  53. package/lib/ContentArticle.cjs +63 -0
  54. package/lib/ContentArticle.mjs +41 -0
  55. package/lib/ContentImage.cjs +58 -0
  56. package/lib/ContentImage.mjs +36 -0
  57. package/lib/Datepicker.cjs +164 -0
  58. package/lib/Datepicker.mjs +142 -0
  59. package/lib/ExtraLinks.cjs +96 -0
  60. package/lib/ExtraLinks.mjs +74 -0
  61. package/lib/FeatureList.cjs +53 -0
  62. package/lib/FeatureList.mjs +29 -0
  63. package/lib/FieldGroup.cjs +40 -0
  64. package/lib/FieldGroup.mjs +16 -0
  65. package/lib/FileInput.cjs +256 -0
  66. package/lib/FileInput.mjs +234 -0
  67. package/lib/Foonote.cjs +30 -0
  68. package/lib/Foonote.mjs +6 -0
  69. package/lib/FooterBadges.cjs +49 -0
  70. package/lib/FooterBadges.mjs +25 -0
  71. package/lib/FooterInfo.cjs +47 -0
  72. package/lib/FooterInfo.mjs +23 -0
  73. package/lib/Footnote.cjs +32 -0
  74. package/lib/Footnote.mjs +8 -0
  75. package/lib/Form.cjs +56 -0
  76. package/lib/Form.mjs +34 -0
  77. package/lib/FormField.cjs +153 -0
  78. package/lib/FormField.mjs +131 -0
  79. package/lib/Gallery/_GalleryItem.cjs +83 -0
  80. package/lib/Gallery/_GalleryItem.mjs +61 -0
  81. package/lib/Gallery/_GalleryModal.cjs +104 -0
  82. package/lib/Gallery/_GalleryModal.mjs +82 -0
  83. package/lib/Gallery/_GalleryModalContext.cjs +30 -0
  84. package/lib/Gallery/_GalleryModalContext.mjs +6 -0
  85. package/lib/Gallery/_GalleryModalItem.cjs +59 -0
  86. package/lib/Gallery/_GalleryModalItem.mjs +36 -0
  87. package/lib/Gallery.cjs +79 -0
  88. package/lib/Gallery.mjs +57 -0
  89. package/lib/GridBlocks.cjs +81 -0
  90. package/lib/GridBlocks.mjs +59 -0
  91. package/lib/Heading.cjs +45 -0
  92. package/lib/Heading.mjs +21 -0
  93. package/lib/HeroBlock.cjs +74 -0
  94. package/lib/HeroBlock.mjs +52 -0
  95. package/lib/IframeBlock.cjs +48 -0
  96. package/lib/IframeBlock.mjs +24 -0
  97. package/lib/Illustration.cjs +51 -0
  98. package/lib/Illustration.mjs +31 -0
  99. package/lib/ImageCards.cjs +72 -0
  100. package/lib/ImageCards.mjs +52 -0
  101. package/lib/InfoBlock.cjs +51 -0
  102. package/lib/InfoBlock.mjs +27 -0
  103. package/lib/InfoHero.cjs +150 -0
  104. package/lib/InfoHero.mjs +128 -0
  105. package/lib/IslandBlock.cjs +63 -0
  106. package/lib/IslandBlock.mjs +41 -0
  107. package/lib/IslandPageBlock.cjs +49 -0
  108. package/lib/IslandPageBlock.mjs +25 -0
  109. package/lib/LabeledTextBlock.cjs +60 -0
  110. package/lib/LabeledTextBlock.mjs +38 -0
  111. package/lib/Layout.cjs +113 -0
  112. package/lib/Layout.mjs +87 -0
  113. package/lib/MainMenu/_Auxiliary.cjs +54 -0
  114. package/lib/MainMenu/_Auxiliary.mjs +28 -0
  115. package/lib/MainMenu/_PrimaryPanel.cjs +74 -0
  116. package/lib/MainMenu/_PrimaryPanel.mjs +48 -0
  117. package/lib/MainMenu.cjs +209 -0
  118. package/lib/MainMenu.mjs +187 -0
  119. package/lib/MiniMetrics.cjs +56 -0
  120. package/lib/MiniMetrics.mjs +34 -0
  121. package/lib/Modal.cjs +70 -0
  122. package/lib/Modal.mjs +48 -0
  123. package/lib/NameCard.cjs +115 -0
  124. package/lib/NameCard.mjs +91 -0
  125. package/lib/NameCards.cjs +52 -0
  126. package/lib/NameCards.mjs +30 -0
  127. package/lib/NewsHero.cjs +136 -0
  128. package/lib/NewsHero.mjs +114 -0
  129. package/lib/PageFilter.cjs +48 -0
  130. package/lib/PageFilter.mjs +24 -0
  131. package/lib/PageHeading.cjs +42 -0
  132. package/lib/PageHeading.mjs +18 -0
  133. package/lib/ProcessOverview.cjs +52 -0
  134. package/lib/ProcessOverview.mjs +28 -0
  135. package/lib/PullQuote.cjs +47 -0
  136. package/lib/PullQuote.mjs +25 -0
  137. package/lib/RadioButtonsGroup.cjs +64 -0
  138. package/lib/RadioButtonsGroup.mjs +42 -0
  139. package/lib/RadioGroup.cjs +58 -0
  140. package/lib/RadioGroup.mjs +36 -0
  141. package/lib/RelatedLinks.cjs +61 -0
  142. package/lib/RelatedLinks.mjs +37 -0
  143. package/lib/RowBlock.cjs +39 -0
  144. package/lib/RowBlock.mjs +15 -0
  145. package/lib/RowBlockColumn.cjs +40 -0
  146. package/lib/RowBlockColumn.mjs +16 -0
  147. package/lib/SearchInput.cjs +136 -0
  148. package/lib/SearchInput.mjs +114 -0
  149. package/lib/SearchResults/_SearchResultsItem.cjs +54 -0
  150. package/lib/SearchResults/_SearchResultsItem.mjs +30 -0
  151. package/lib/SearchResults.cjs +172 -0
  152. package/lib/SearchResults.mjs +150 -0
  153. package/lib/SeenEffect.cjs +66 -0
  154. package/lib/SeenEffect.mjs +44 -0
  155. package/lib/Selectbox.cjs +144 -0
  156. package/lib/Selectbox.mjs +122 -0
  157. package/lib/ShareButtons.cjs +101 -0
  158. package/lib/ShareButtons.mjs +83 -0
  159. package/lib/Sharpie.cjs +51 -0
  160. package/lib/Sharpie.mjs +27 -0
  161. package/lib/SiteSearchAutocomplete.cjs +150 -0
  162. package/lib/SiteSearchAutocomplete.mjs +126 -0
  163. package/lib/SiteSearchCurtain.cjs +78 -0
  164. package/lib/SiteSearchCurtain.mjs +56 -0
  165. package/lib/SiteSearchInput.cjs +119 -0
  166. package/lib/SiteSearchInput.mjs +97 -0
  167. package/lib/Skeleton.cjs +63 -0
  168. package/lib/Skeleton.mjs +39 -0
  169. package/lib/SubHeading.cjs +43 -0
  170. package/lib/SubHeading.mjs +19 -0
  171. package/lib/Tabs.cjs +166 -0
  172. package/lib/Tabs.mjs +144 -0
  173. package/lib/TagPill.cjs +113 -0
  174. package/lib/TagPill.mjs +91 -0
  175. package/lib/TextBlock.cjs +45 -0
  176. package/lib/TextBlock.mjs +21 -0
  177. package/lib/TextButton.cjs +55 -0
  178. package/lib/TextButton.mjs +33 -0
  179. package/lib/TextInput.cjs +136 -0
  180. package/lib/TextInput.mjs +114 -0
  181. package/lib/VSpacer.cjs +70 -0
  182. package/lib/VSpacer.mjs +46 -0
  183. package/lib/VerticalTabsTOC.cjs +123 -0
  184. package/lib/VerticalTabsTOC.mjs +101 -0
  185. package/lib/WizardLayout.cjs +79 -0
  186. package/lib/WizardLayout.mjs +55 -0
  187. package/lib/WizardLayoutClose.cjs +47 -0
  188. package/lib/WizardLayoutClose.mjs +25 -0
  189. package/lib/WizardStepper.cjs +55 -0
  190. package/lib/WizardStepper.mjs +31 -0
  191. package/lib/_abstract/Button.cjs +114 -0
  192. package/lib/_abstract/Button.mjs +92 -0
  193. package/lib/_abstract/CardList.cjs +100 -0
  194. package/lib/_abstract/CardList.mjs +76 -0
  195. package/lib/_abstract/Image.cjs +75 -0
  196. package/lib/_abstract/Image.mjs +51 -0
  197. package/lib/_abstract/Link.cjs +37 -0
  198. package/lib/_abstract/Link.mjs +10 -0
  199. package/lib/_abstract/TogglerGroup.cjs +92 -0
  200. package/lib/_abstract/TogglerGroup.mjs +70 -0
  201. package/lib/_abstract/TogglerGroupField.cjs +121 -0
  202. package/lib/_abstract/TogglerGroupField.mjs +99 -0
  203. package/lib/_abstract/TogglerInput.cjs +105 -0
  204. package/lib/_abstract/TogglerInput.mjs +83 -0
  205. package/lib/_abstract/_AbstractCarousel.cjs +170 -0
  206. package/lib/_abstract/_AbstractCarousel.mjs +152 -0
  207. package/lib/_abstract/_Blings.cjs +47 -0
  208. package/lib/_abstract/_Blings.mjs +23 -0
  209. package/lib/_abstract/_Block.cjs +73 -0
  210. package/lib/_abstract/_Block.mjs +51 -0
  211. package/lib/_abstract/_Quote.cjs +43 -0
  212. package/lib/_abstract/_Quote.mjs +17 -0
  213. package/lib/_abstract/breakOnNL.cjs +30 -0
  214. package/lib/_abstract/breakOnNL.mjs +6 -0
  215. package/lib/assets.cjs +77 -0
  216. package/lib/assets.mjs +53 -0
  217. package/lib/constants.cjs +49 -0
  218. package/lib/constants.mjs +24 -0
  219. package/lib/focus-visible.cjs +1 -0
  220. package/lib/focus-visible.mjs +1 -0
  221. package/lib/utils/config.cjs +27 -0
  222. package/lib/utils/config.mjs +4 -0
  223. package/lib/utils/detectEdgeScroll.cjs +95 -0
  224. package/lib/utils/detectEdgeScroll.mjs +71 -0
  225. package/lib/utils/env.cjs +31 -0
  226. package/lib/utils/env.mjs +5 -0
  227. package/lib/utils/seenEffect.cjs +93 -0
  228. package/lib/utils/seenEffect.mjs +65 -0
  229. package/lib/utils/useFormatMonitor.cjs +29 -0
  230. package/lib/utils/useFormatMonitor.mjs +6 -0
  231. package/lib/utils/useGetSVGtext.cjs +44 -0
  232. package/lib/utils/useGetSVGtext.mjs +21 -0
  233. package/lib/utils/useMenuToggling.cjs +83 -0
  234. package/lib/utils/useMenuToggling.mjs +60 -0
  235. package/lib/utils/useScrollbarWidthCSSVar.cjs +32 -0
  236. package/lib/utils/useScrollbarWidthCSSVar.mjs +6 -0
  237. package/lib/utils.cjs +18 -0
  238. package/lib/utils.mjs +2 -0
  239. package/package.json +491 -0
  240. package/types/AccordionList.d.ts +17 -0
  241. package/types/ActionCards.d.ts +5 -0
  242. package/types/Alert.d.ts +49 -0
  243. package/types/ArticleCarousel/_ArticleCarouselCard.d.ts +27 -0
  244. package/types/ArticleCarousel.d.ts +12 -0
  245. package/types/ArticleMeta.d.ts +9 -0
  246. package/types/Attention.d.ts +7 -0
  247. package/types/BasicTable.d.ts +12 -0
  248. package/types/Bling.d.ts +81 -0
  249. package/types/BlockBreak.d.ts +2 -0
  250. package/types/BlockQuote.d.ts +4 -0
  251. package/types/BreadCrumbs.d.ts +11 -0
  252. package/types/ButtonBack.d.ts +7 -0
  253. package/types/ButtonBar.d.ts +16 -0
  254. package/types/ButtonPrimary.d.ts +7 -0
  255. package/types/ButtonSecondary.d.ts +7 -0
  256. package/types/ButtonTertiary.d.ts +12 -0
  257. package/types/Carousel.d.ts +4 -0
  258. package/types/CarouselStepper.d.ts +4 -0
  259. package/types/CenterColumn.d.ts +7 -0
  260. package/types/Checkbox.d.ts +4 -0
  261. package/types/CheckboxButtonsGroup.d.ts +11 -0
  262. package/types/CheckboxGroup.d.ts +9 -0
  263. package/types/CityBlock.d.ts +23 -0
  264. package/types/ContactBubble.d.ts +58 -0
  265. package/types/ContentArticle.d.ts +15 -0
  266. package/types/ContentImage.d.ts +8 -0
  267. package/types/Datepicker.d.ts +39 -0
  268. package/types/ExtraLinks.d.ts +18 -0
  269. package/types/FeatureList.d.ts +12 -0
  270. package/types/FieldGroup.d.ts +9 -0
  271. package/types/FileInput.d.ts +17 -0
  272. package/types/Foonote.d.ts +12 -0
  273. package/types/FooterBadges.d.ts +9 -0
  274. package/types/FooterInfo.d.ts +18 -0
  275. package/types/Footnote.d.ts +6 -0
  276. package/types/Form.d.ts +7 -0
  277. package/types/FormField.d.ts +65 -0
  278. package/types/Gallery/_GalleryItem.d.ts +8 -0
  279. package/types/Gallery/_GalleryModal.d.ts +6 -0
  280. package/types/Gallery/_GalleryModalContext.d.ts +9 -0
  281. package/types/Gallery/_GalleryModalItem.d.ts +3 -0
  282. package/types/Gallery.d.ts +17 -0
  283. package/types/GridBlocks.d.ts +26 -0
  284. package/types/Heading.d.ts +16 -0
  285. package/types/HeroBlock.d.ts +19 -0
  286. package/types/IframeBlock.d.ts +23 -0
  287. package/types/Illustration.d.ts +13 -0
  288. package/types/ImageCards.d.ts +8 -0
  289. package/types/InfoBlock.d.ts +17 -0
  290. package/types/InfoHero.d.ts +17 -0
  291. package/types/IslandBlock.d.ts +25 -0
  292. package/types/IslandPageBlock.d.ts +24 -0
  293. package/types/LabeledTextBlock.d.ts +11 -0
  294. package/types/Layout.d.ts +33 -0
  295. package/types/MainMenu/_Auxiliary.d.ts +6 -0
  296. package/types/MainMenu/_PrimaryPanel.d.ts +13 -0
  297. package/types/MainMenu.d.ts +48 -0
  298. package/types/MiniMetrics.d.ts +8 -0
  299. package/types/Modal.d.ts +10 -0
  300. package/types/NameCard.d.ts +64 -0
  301. package/types/NameCards.d.ts +6 -0
  302. package/types/NewsHero.d.ts +14 -0
  303. package/types/PageFilter.d.ts +17 -0
  304. package/types/PageHeading.d.ts +10 -0
  305. package/types/ProcessOverview.d.ts +13 -0
  306. package/types/PullQuote.d.ts +4 -0
  307. package/types/RadioButtonsGroup.d.ts +11 -0
  308. package/types/RadioGroup.d.ts +13 -0
  309. package/types/RelatedLinks.d.ts +20 -0
  310. package/types/RowBlock.d.ts +12 -0
  311. package/types/RowBlockColumn.d.ts +8 -0
  312. package/types/SearchInput.d.ts +18 -0
  313. package/types/SearchResults/_SearchResultsItem.d.ts +18 -0
  314. package/types/SearchResults.d.ts +33 -0
  315. package/types/SeenEffect.d.ts +4 -0
  316. package/types/Selectbox.d.ts +8 -0
  317. package/types/ShareButtons.d.ts +9 -0
  318. package/types/Sharpie.d.ts +23 -0
  319. package/types/SiteSearchAutocomplete.d.ts +40 -0
  320. package/types/SiteSearchCurtain.d.ts +6 -0
  321. package/types/SiteSearchInput.d.ts +24 -0
  322. package/types/Skeleton.d.ts +25 -0
  323. package/types/SubHeading.d.ts +10 -0
  324. package/types/Tabs.d.ts +35 -0
  325. package/types/TagPill.d.ts +27 -0
  326. package/types/TextBlock.d.ts +15 -0
  327. package/types/TextButton.d.ts +9 -0
  328. package/types/TextInput.d.ts +16 -0
  329. package/types/VSpacer.d.ts +24 -0
  330. package/types/VerticalTabsTOC.d.ts +14 -0
  331. package/types/WizardLayout.d.ts +15 -0
  332. package/types/WizardLayoutClose.d.ts +3 -0
  333. package/types/WizardStepper.d.ts +36 -0
  334. package/types/_abstract/Button.d.ts +40 -0
  335. package/types/_abstract/CardList.d.ts +29 -0
  336. package/types/_abstract/Image.d.ts +32 -0
  337. package/types/_abstract/Link.d.ts +27 -0
  338. package/types/_abstract/TogglerGroup.d.ts +31 -0
  339. package/types/_abstract/TogglerGroupField.d.ts +17 -0
  340. package/types/_abstract/TogglerInput.d.ts +22 -0
  341. package/types/_abstract/_AbstractCarousel.d.ts +25 -0
  342. package/types/_abstract/_Blings.d.ts +11 -0
  343. package/types/_abstract/_Block.d.ts +22 -0
  344. package/types/_abstract/_Quote.d.ts +9 -0
  345. package/types/_abstract/breakOnNL.d.ts +2 -0
  346. package/types/assets.d.ts +42 -0
  347. package/types/constants.d.ts +39 -0
  348. package/types/focus-visible.d.ts +1 -0
  349. package/types/utils/config.d.ts +2 -0
  350. package/types/utils/detectEdgeScroll.d.ts +52 -0
  351. package/types/utils/env.d.ts +1 -0
  352. package/types/utils/seenEffect.d.ts +28 -0
  353. package/types/utils/useFormatMonitor.d.ts +38 -0
  354. package/types/utils/useGetSVGtext.d.ts +6 -0
  355. package/types/utils/useMenuToggling.d.ts +8 -0
  356. package/types/utils/useScrollbarWidthCSSVar.d.ts +1 -0
  357. package/types/utils.d.ts +2 -0
@@ -0,0 +1,29 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import React from "react";
21
+ import _CarouselStepper from "@hugsmidjan/react/CarouselStepper";
22
+ const CarouselStepper = (props) => /* @__PURE__ */ React.createElement(_CarouselStepper, __spreadProps(__spreadValues({}, props), {
23
+ bem: void 0,
24
+ modifier: void 0
25
+ }));
26
+ var CarouselStepper_default = CarouselStepper;
27
+ export {
28
+ CarouselStepper_default as default
29
+ };
@@ -0,0 +1,40 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+ var CenterColumn_exports = {};
22
+ __export(CenterColumn_exports, {
23
+ default: () => CenterColumn_default
24
+ });
25
+ module.exports = __toCommonJS(CenterColumn_exports);
26
+ var import_react = __toESM(require("react"));
27
+ var import_SeenEffect = __toESM(require("./SeenEffect"));
28
+ const CenterColumn = (props) => {
29
+ const { children, startSeen, effectType } = props;
30
+ return startSeen == null ? /* @__PURE__ */ import_react.default.createElement("div", {
31
+ className: "CenterColumn"
32
+ }, children) : /* @__PURE__ */ import_react.default.createElement(import_SeenEffect.default, {
33
+ className: "CenterColumn",
34
+ startSeen,
35
+ effectType
36
+ }, children);
37
+ };
38
+ var CenterColumn_default = CenterColumn;
39
+ // Annotate the CommonJS export names for ESM import in node:
40
+ 0 && (module.exports = {});
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ import SeenEffect from "./SeenEffect";
3
+ const CenterColumn = (props) => {
4
+ const { children, startSeen, effectType } = props;
5
+ return startSeen == null ? /* @__PURE__ */ React.createElement("div", {
6
+ className: "CenterColumn"
7
+ }, children) : /* @__PURE__ */ React.createElement(SeenEffect, {
8
+ className: "CenterColumn",
9
+ startSeen,
10
+ effectType
11
+ }, children);
12
+ };
13
+ var CenterColumn_default = CenterColumn;
14
+ export {
15
+ CenterColumn_default as default
16
+ };
@@ -0,0 +1,52 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var __export = (target, all) => {
25
+ for (var name in all)
26
+ __defProp(target, name, { get: all[name], enumerable: true });
27
+ };
28
+ var __copyProps = (to, from, except, desc) => {
29
+ if (from && typeof from === "object" || typeof from === "function") {
30
+ for (let key of __getOwnPropNames(from))
31
+ if (!__hasOwnProp.call(to, key) && key !== except)
32
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
33
+ }
34
+ return to;
35
+ };
36
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
37
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
38
+ var Checkbox_exports = {};
39
+ __export(Checkbox_exports, {
40
+ default: () => Checkbox_default
41
+ });
42
+ module.exports = __toCommonJS(Checkbox_exports);
43
+ var import_react = __toESM(require("react"));
44
+ var import_TogglerInput = __toESM(require("./_abstract/TogglerInput"));
45
+ const Checkbox = (props) => /* @__PURE__ */ import_react.default.createElement(import_TogglerInput.default, __spreadProps(__spreadValues({
46
+ bem: "Checkbox"
47
+ }, props), {
48
+ type: "checkbox"
49
+ }));
50
+ var Checkbox_default = Checkbox;
51
+ // Annotate the CommonJS export names for ESM import in node:
52
+ 0 && (module.exports = {});
@@ -0,0 +1,30 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import React from "react";
21
+ import TogglerInput from "./_abstract/TogglerInput";
22
+ const Checkbox = (props) => /* @__PURE__ */ React.createElement(TogglerInput, __spreadProps(__spreadValues({
23
+ bem: "Checkbox"
24
+ }, props), {
25
+ type: "checkbox"
26
+ }));
27
+ var Checkbox_default = Checkbox;
28
+ export {
29
+ Checkbox_default as default
30
+ };
@@ -0,0 +1,65 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var __export = (target, all) => {
25
+ for (var name in all)
26
+ __defProp(target, name, { get: all[name], enumerable: true });
27
+ };
28
+ var __copyProps = (to, from, except, desc) => {
29
+ if (from && typeof from === "object" || typeof from === "function") {
30
+ for (let key of __getOwnPropNames(from))
31
+ if (!__hasOwnProp.call(to, key) && key !== except)
32
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
33
+ }
34
+ return to;
35
+ };
36
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
37
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
38
+ var CheckboxButtonsGroup_exports = {};
39
+ __export(CheckboxButtonsGroup_exports, {
40
+ default: () => CheckboxButtonsGroup_default
41
+ });
42
+ module.exports = __toCommonJS(CheckboxButtonsGroup_exports);
43
+ var import_react = __toESM(require("react"));
44
+ var import_TogglerGroupField = __toESM(require("./_abstract/TogglerGroupField"));
45
+ var import_TogglerInput = __toESM(require("./_abstract/TogglerInput"));
46
+ const CheckboxButton = (props) => /* @__PURE__ */ import_react.default.createElement(import_TogglerInput.default, __spreadProps(__spreadValues({
47
+ bem: "CheckboxButton"
48
+ }, props), {
49
+ type: "checkbox"
50
+ }));
51
+ const CheckboxButtonsGroup = (props) => {
52
+ if (props.layout) {
53
+ console.warn("`CheckboxButtonsGroupProps.layout` is deprecated.");
54
+ }
55
+ if (props.columns) {
56
+ console.warn("`CheckboxButtonsGroupProps.columns` is deprecated.");
57
+ }
58
+ return /* @__PURE__ */ import_react.default.createElement(import_TogglerGroupField.default, __spreadProps(__spreadValues({}, props), {
59
+ bem: "CheckboxButtonsGroup",
60
+ Toggler: CheckboxButton
61
+ }));
62
+ };
63
+ var CheckboxButtonsGroup_default = CheckboxButtonsGroup;
64
+ // Annotate the CommonJS export names for ESM import in node:
65
+ 0 && (module.exports = {});
@@ -0,0 +1,43 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import React from "react";
21
+ import TogglerGroupField from "./_abstract/TogglerGroupField";
22
+ import TogglerInput from "./_abstract/TogglerInput";
23
+ const CheckboxButton = (props) => /* @__PURE__ */ React.createElement(TogglerInput, __spreadProps(__spreadValues({
24
+ bem: "CheckboxButton"
25
+ }, props), {
26
+ type: "checkbox"
27
+ }));
28
+ const CheckboxButtonsGroup = (props) => {
29
+ if (props.layout) {
30
+ console.warn("`CheckboxButtonsGroupProps.layout` is deprecated.");
31
+ }
32
+ if (props.columns) {
33
+ console.warn("`CheckboxButtonsGroupProps.columns` is deprecated.");
34
+ }
35
+ return /* @__PURE__ */ React.createElement(TogglerGroupField, __spreadProps(__spreadValues({}, props), {
36
+ bem: "CheckboxButtonsGroup",
37
+ Toggler: CheckboxButton
38
+ }));
39
+ };
40
+ var CheckboxButtonsGroup_default = CheckboxButtonsGroup;
41
+ export {
42
+ CheckboxButtonsGroup_default as default
43
+ };
@@ -0,0 +1,55 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var __export = (target, all) => {
25
+ for (var name in all)
26
+ __defProp(target, name, { get: all[name], enumerable: true });
27
+ };
28
+ var __copyProps = (to, from, except, desc) => {
29
+ if (from && typeof from === "object" || typeof from === "function") {
30
+ for (let key of __getOwnPropNames(from))
31
+ if (!__hasOwnProp.call(to, key) && key !== except)
32
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
33
+ }
34
+ return to;
35
+ };
36
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
37
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
38
+ var CheckboxGroup_exports = {};
39
+ __export(CheckboxGroup_exports, {
40
+ default: () => CheckboxGroup_default
41
+ });
42
+ module.exports = __toCommonJS(CheckboxGroup_exports);
43
+ var import_react = __toESM(require("react"));
44
+ var import_TogglerGroupField = __toESM(require("./_abstract/TogglerGroupField"));
45
+ var import_Checkbox = __toESM(require("./Checkbox"));
46
+ const CheckboxGroup = (props) => {
47
+ return /* @__PURE__ */ import_react.default.createElement(import_TogglerGroupField.default, __spreadProps(__spreadValues({}, props), {
48
+ bem: "CheckboxGroup",
49
+ modifier: props.layout,
50
+ Toggler: import_Checkbox.default
51
+ }));
52
+ };
53
+ var CheckboxGroup_default = CheckboxGroup;
54
+ // Annotate the CommonJS export names for ESM import in node:
55
+ 0 && (module.exports = {});
@@ -0,0 +1,33 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import React from "react";
21
+ import TogglerGroupField from "./_abstract/TogglerGroupField";
22
+ import Checkbox from "./Checkbox";
23
+ const CheckboxGroup = (props) => {
24
+ return /* @__PURE__ */ React.createElement(TogglerGroupField, __spreadProps(__spreadValues({}, props), {
25
+ bem: "CheckboxGroup",
26
+ modifier: props.layout,
27
+ Toggler: Checkbox
28
+ }));
29
+ };
30
+ var CheckboxGroup_default = CheckboxGroup;
31
+ export {
32
+ CheckboxGroup_default as default
33
+ };
@@ -0,0 +1,49 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+ var CityBlock_exports = {};
22
+ __export(CityBlock_exports, {
23
+ default: () => CityBlock_default
24
+ });
25
+ module.exports = __toCommonJS(CityBlock_exports);
26
+ var import_react = __toESM(require("react"));
27
+ var import_assets = require("@reykjavik/hanna-utils/assets");
28
+ var import_Block = __toESM(require("./_abstract/_Block"));
29
+ var import_constants = require("./constants");
30
+ const types = {
31
+ largebox: true,
32
+ largeimage: true
33
+ };
34
+ const CityBlock = (props) => {
35
+ const align = props.align || "right";
36
+ const type = !props.illustration && props.type;
37
+ const modifier = [import_constants.aligns[align] && "align--" + align, type && types[type] && type];
38
+ const imageProps = props.illustration != null ? { src: (0, import_assets.getIllustrationUrl)(props.illustration) } : props.image;
39
+ return /* @__PURE__ */ import_react.default.createElement(import_Block.default, {
40
+ bem: "CityBlock",
41
+ modifier,
42
+ content: props.content,
43
+ image: imageProps,
44
+ startSeen: props.startSeen
45
+ });
46
+ };
47
+ var CityBlock_default = CityBlock;
48
+ // Annotate the CommonJS export names for ESM import in node:
49
+ 0 && (module.exports = {});
@@ -0,0 +1,25 @@
1
+ import React from "react";
2
+ import { getIllustrationUrl } from "@reykjavik/hanna-utils/assets";
3
+ import Block from "./_abstract/_Block";
4
+ import { aligns } from "./constants";
5
+ const types = {
6
+ largebox: true,
7
+ largeimage: true
8
+ };
9
+ const CityBlock = (props) => {
10
+ const align = props.align || "right";
11
+ const type = !props.illustration && props.type;
12
+ const modifier = [aligns[align] && "align--" + align, type && types[type] && type];
13
+ const imageProps = props.illustration != null ? { src: getIllustrationUrl(props.illustration) } : props.image;
14
+ return /* @__PURE__ */ React.createElement(Block, {
15
+ bem: "CityBlock",
16
+ modifier,
17
+ content: props.content,
18
+ image: imageProps,
19
+ startSeen: props.startSeen
20
+ });
21
+ };
22
+ var CityBlock_default = CityBlock;
23
+ export {
24
+ CityBlock_default as default
25
+ };
@@ -0,0 +1,200 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+ var ContactBubble_exports = {};
22
+ __export(ContactBubble_exports, {
23
+ default: () => ContactBubble_default,
24
+ defaultTexts: () => defaultTexts,
25
+ ensureIcon: () => ensureIcon
26
+ });
27
+ module.exports = __toCommonJS(ContactBubble_exports);
28
+ var import_react = __toESM(require("react"));
29
+ var import_focusElm = __toESM(require("@hugsmidjan/qj/focusElm"));
30
+ var import_hooks = require("@hugsmidjan/react/hooks");
31
+ var import_getBemClass = __toESM(require("@hugsmidjan/react/utils/getBemClass"));
32
+ var import_hanna_utils = require("@reykjavik/hanna-utils");
33
+ var import_i18n = require("@reykjavik/hanna-utils/i18n");
34
+ var import_Link = require("./_abstract/Link");
35
+ const defaultTexts = {
36
+ is: {
37
+ lang: "is",
38
+ openBtn: "Hafa samband",
39
+ closeBtn: "Loka",
40
+ closeBtnLong: "Loka valmynd"
41
+ },
42
+ en: {
43
+ lang: "en",
44
+ openBtn: "Contact us",
45
+ closeBtn: "Close",
46
+ closeBtnLong: "Close bubble"
47
+ }
48
+ };
49
+ const icons = {
50
+ suggestions: 1,
51
+ phone: 1,
52
+ faq: 1,
53
+ livechat: 1,
54
+ other: 0
55
+ };
56
+ const ensureIcon = (maybeIcon) => maybeIcon && icons[maybeIcon] ? maybeIcon : void 0;
57
+ const ContactBubble = (props) => {
58
+ const { title, links, onToggle, alwaysShow } = props;
59
+ const txt = (0, import_i18n.getTexts)(props, defaultTexts);
60
+ const useLocalState = props.open == null;
61
+ const [localOpen, setLocalOpen] = (0, import_react.useState)(false);
62
+ const open = useLocalState ? localOpen : props.open;
63
+ const isBrowser = (0, import_hooks.useIsBrowserSide)(props.ssr);
64
+ const domid = (0, import_hooks.useDomid)();
65
+ const wrapperRef = (0, import_react.useRef)(null);
66
+ const { openBubble, closeBubble } = (0, import_react.useMemo)(() => ({
67
+ openBubble: () => {
68
+ useLocalState && setLocalOpen(true);
69
+ onToggle && onToggle(true);
70
+ },
71
+ closeBubble: (setFocus) => {
72
+ useLocalState && setLocalOpen(false);
73
+ onToggle && onToggle(false);
74
+ setFocus !== false && (0, import_focusElm.default)(wrapperRef.current);
75
+ }
76
+ }), [useLocalState, onToggle]);
77
+ (0, import_react.useEffect)(() => {
78
+ const wrapperElm = wrapperRef.current;
79
+ if (!wrapperElm) {
80
+ return;
81
+ }
82
+ if (alwaysShow) {
83
+ wrapperElm.dataset.show = "true";
84
+ return;
85
+ }
86
+ const scrollElm = (0, import_hanna_utils.getPageScrollElm)();
87
+ let pending = 0;
88
+ const checkScroll = () => {
89
+ if (!pending) {
90
+ pending = requestAnimationFrame(() => {
91
+ const { scrollTop, scrollHeight, clientHeight } = scrollElm;
92
+ const scrollLength = scrollHeight - clientHeight;
93
+ const f = 1;
94
+ const show = scrollTop > f * 150 && scrollLength - scrollTop > f * 250;
95
+ wrapperElm.dataset.show = String(show);
96
+ !show && closeBubble(false);
97
+ pending = 0;
98
+ });
99
+ }
100
+ };
101
+ checkScroll();
102
+ document.addEventListener("scroll", checkScroll);
103
+ scrollElm.addEventListener("scroll", checkScroll);
104
+ return () => {
105
+ document.removeEventListener("scroll", checkScroll);
106
+ scrollElm.removeEventListener("scroll", checkScroll);
107
+ };
108
+ }, [isBrowser, alwaysShow, closeBubble]);
109
+ (0, import_react.useEffect)(() => {
110
+ const escHandler = (e) => e.key === "Escape" && closeBubble();
111
+ const outsideClickHandler = (e) => {
112
+ var _a;
113
+ if (open && !((_a = wrapperRef.current) == null ? void 0 : _a.contains(e.target))) {
114
+ closeBubble(false);
115
+ }
116
+ };
117
+ document.addEventListener("keydown", escHandler);
118
+ document.addEventListener("click", outsideClickHandler, true);
119
+ const htmlDataset = document.documentElement.dataset;
120
+ if (open) {
121
+ htmlDataset.contactBubble = "true";
122
+ } else {
123
+ delete htmlDataset.contactBubble;
124
+ }
125
+ return () => {
126
+ delete htmlDataset.contactBubble;
127
+ document.removeEventListener("keydown", escHandler);
128
+ document.removeEventListener("click", outsideClickHandler, true);
129
+ };
130
+ }, [open, closeBubble]);
131
+ if (links.length === 0) {
132
+ return null;
133
+ }
134
+ const menu = /* @__PURE__ */ import_react.default.createElement("div", {
135
+ className: "ContactBubble",
136
+ id: isBrowser && domid,
137
+ hidden: isBrowser && !open,
138
+ "data-always-show": alwaysShow || void 0,
139
+ "data-sprinkled": isBrowser
140
+ }, /* @__PURE__ */ import_react.default.createElement("h2", {
141
+ className: "ContactBubble__title"
142
+ }, title || txt.openBtn), /* @__PURE__ */ import_react.default.createElement("ul", {
143
+ className: "ContactBubble__list"
144
+ }, links.map((linkInfo, i) => {
145
+ const { href, label, extraLabel, target, onClick } = linkInfo;
146
+ const icon = ensureIcon(linkInfo.icon);
147
+ const itemClass = (0, import_getBemClass.default)("ContactBubble__item", icon && "type--" + icon);
148
+ const onClickHandler = onClick && ((e) => {
149
+ if (!onClick()) {
150
+ e.preventDefault();
151
+ closeBubble(false);
152
+ }
153
+ });
154
+ const content = [
155
+ " ",
156
+ label,
157
+ "\n",
158
+ extraLabel && /* @__PURE__ */ import_react.default.createElement("small", {
159
+ key: "\u{1F921}"
160
+ }, extraLabel),
161
+ "\n"
162
+ ];
163
+ return /* @__PURE__ */ import_react.default.createElement("li", {
164
+ key: i,
165
+ className: itemClass
166
+ }, href && href !== "#" ? /* @__PURE__ */ import_react.default.createElement(import_Link.Link, {
167
+ className: "ContactBubble__link",
168
+ href,
169
+ onClick: onClickHandler,
170
+ target
171
+ }, content) : /* @__PURE__ */ import_react.default.createElement("button", {
172
+ className: "ContactBubble__link",
173
+ onClick: onClickHandler,
174
+ type: "button"
175
+ }, content));
176
+ })), "\n\n", isBrowser && /* @__PURE__ */ import_react.default.createElement("button", {
177
+ className: "ContactBubble__closebtn",
178
+ "aria-controls": domid,
179
+ "aria-label": txt.closeBtnLong,
180
+ onClick: () => closeBubble(),
181
+ type: "button"
182
+ }, txt.closeBtn));
183
+ return isBrowser ? /* @__PURE__ */ import_react.default.createElement("div", {
184
+ className: "ContactBubble__wrapper",
185
+ ref: wrapperRef
186
+ }, /* @__PURE__ */ import_react.default.createElement("button", {
187
+ className: "ContactBubble__openbtn",
188
+ "aria-controls": domid,
189
+ "aria-expanded": open,
190
+ "aria-label": txt.openBtnLong,
191
+ onClick: open ? () => closeBubble() : openBubble,
192
+ type: "button"
193
+ }, txt.openBtn), "\n\n", menu) : menu;
194
+ };
195
+ var ContactBubble_default = ContactBubble;
196
+ // Annotate the CommonJS export names for ESM import in node:
197
+ 0 && (module.exports = {
198
+ defaultTexts,
199
+ ensureIcon
200
+ });