@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,234 @@
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
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
32
+ import React, { useEffect, useRef, useState } from "react";
33
+ import { useDropzone } from "react-dropzone";
34
+ import { useDomid } from "@hugsmidjan/react/hooks";
35
+ import getBemClass from "@hugsmidjan/react/utils/getBemClass";
36
+ import FormField from "./FormField";
37
+ const addPreview = (file) => {
38
+ if (!("preview" in file)) {
39
+ file.preview = file.type.includes("image/") ? URL.createObjectURL(file) : void 0;
40
+ }
41
+ };
42
+ const releasePreview = (file) => {
43
+ file.preview && URL.revokeObjectURL(file.preview);
44
+ delete file.preview;
45
+ };
46
+ const arrayToFileList = (arr) => {
47
+ const fileList = new DataTransfer();
48
+ arr.forEach((item) => {
49
+ fileList.items.add(item);
50
+ });
51
+ return fileList.files;
52
+ };
53
+ const dedupeFilesArray = (files) => {
54
+ const newArray = [];
55
+ const found = {};
56
+ files.forEach((file) => {
57
+ if (!(file.name in found)) {
58
+ newArray.push(file);
59
+ found[file.name] = true;
60
+ } else {
61
+ releasePreview(file);
62
+ }
63
+ });
64
+ return newArray;
65
+ };
66
+ const formatBytes = (bytes, decimals = 2) => {
67
+ if (bytes === 0) {
68
+ return "0 Bytes";
69
+ }
70
+ const k = 1024;
71
+ const sizes = ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
72
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
73
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(decimals)) + " " + sizes[i];
74
+ };
75
+ const FileInput = (props) => {
76
+ const _a = props, {
77
+ className,
78
+ id,
79
+ label,
80
+ hideLabel,
81
+ dropzoneProps = { multiple: true },
82
+ dropzoneText,
83
+ removeFileText,
84
+ assistText,
85
+ disabled,
86
+ invalid,
87
+ errorMessage,
88
+ required,
89
+ reqText,
90
+ onFilesUpdated = () => void 0,
91
+ showFileSize,
92
+ showImagePreviews,
93
+ value = []
94
+ } = _a, inputElementProps = __objRest(_a, [
95
+ "className",
96
+ "id",
97
+ "label",
98
+ "hideLabel",
99
+ "dropzoneProps",
100
+ "dropzoneText",
101
+ "removeFileText",
102
+ "assistText",
103
+ "disabled",
104
+ "invalid",
105
+ "errorMessage",
106
+ "required",
107
+ "reqText",
108
+ "onFilesUpdated",
109
+ "showFileSize",
110
+ "showImagePreviews",
111
+ "value"
112
+ ]);
113
+ const domid = useDomid(id);
114
+ const fileInputWrapper = useRef(null);
115
+ const fileInput = useRef(null);
116
+ const files = value;
117
+ const [isHover, setIsHover] = useState(false);
118
+ const { getRootProps, getInputProps, isDragReject, inputRef } = useDropzone(__spreadValues({
119
+ onDrop: (acceptedFiles) => {
120
+ acceptedFiles = acceptedFiles.map((file) => {
121
+ addPreview(file);
122
+ return file;
123
+ });
124
+ addFiles(acceptedFiles);
125
+ setIsHover(false);
126
+ },
127
+ onDropRejected: (rejectedFiles) => {
128
+ window.alert("Error:\n" + rejectedFiles.map((elm) => {
129
+ return elm.name;
130
+ }).join(", "));
131
+ },
132
+ onDragEnter: () => {
133
+ },
134
+ onDragLeave: () => {
135
+ setIsHover(false);
136
+ },
137
+ onDragOver: () => {
138
+ setIsHover(true);
139
+ }
140
+ }, dropzoneProps));
141
+ files.forEach(addPreview);
142
+ useEffect(() => () => {
143
+ files.forEach(releasePreview);
144
+ }, [files]);
145
+ const removeFile = (name) => {
146
+ if (fileInput.current) {
147
+ const newFileList = files.filter((file) => {
148
+ if (file.name !== name) {
149
+ return true;
150
+ }
151
+ releasePreview(file);
152
+ });
153
+ fileInput.current.files = arrayToFileList(newFileList);
154
+ onFilesUpdated(newFileList);
155
+ }
156
+ };
157
+ const addFiles = (filelist) => {
158
+ if (fileInput.current) {
159
+ const newFileList = dropzoneProps.multiple ? dedupeFilesArray(files.concat(filelist)) : filelist;
160
+ fileInput.current.files = arrayToFileList(newFileList);
161
+ onFilesUpdated(newFileList);
162
+ }
163
+ if (inputRef.current) {
164
+ inputRef.current.files = arrayToFileList([]);
165
+ }
166
+ };
167
+ const filesList = files.map((file) => /* @__PURE__ */ React.createElement("li", {
168
+ key: file.name,
169
+ className: "FileInput__file"
170
+ }, /* @__PURE__ */ React.createElement("button", {
171
+ className: "FileInput__file-remove",
172
+ type: "button",
173
+ onClick: () => removeFile(file.name),
174
+ "aria-label": removeFileText
175
+ }, removeFileText), /* @__PURE__ */ React.createElement("span", {
176
+ className: "FileInput__fileinfo"
177
+ }, showImagePreviews && file.preview && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("span", {
178
+ className: "FileInput__preview"
179
+ }, /* @__PURE__ */ React.createElement("img", {
180
+ src: file.preview
181
+ })), " "), /* @__PURE__ */ React.createElement("span", {
182
+ className: "FileInput__filename"
183
+ }, file.name), showFileSize && /* @__PURE__ */ React.createElement("small", {
184
+ className: "FileInput__filesize"
185
+ }, " - (", formatBytes(file.size), ")"))));
186
+ return /* @__PURE__ */ React.createElement(FormField, {
187
+ className: getBemClass("FileInput", [dropzoneProps.multiple && "multi"], className),
188
+ label,
189
+ id: domid + "-fake",
190
+ LabelTag: "h4",
191
+ assistText,
192
+ hideLabel,
193
+ disabled,
194
+ invalid,
195
+ errorMessage,
196
+ required,
197
+ reqText,
198
+ renderInput: (className2, inputProps) => {
199
+ return /* @__PURE__ */ React.createElement("div", {
200
+ className: className2.control,
201
+ ref: fileInputWrapper
202
+ }, /* @__PURE__ */ React.createElement("input", {
203
+ className: "FileInput__input",
204
+ name: inputElementProps.name,
205
+ id: domid,
206
+ ref: fileInput,
207
+ type: "file",
208
+ style: { display: "none" },
209
+ multiple: dropzoneProps.multiple || void 0,
210
+ required: inputProps.required
211
+ }), " ", /* @__PURE__ */ React.createElement("input", __spreadProps(__spreadValues(__spreadProps(__spreadValues({
212
+ className: "FileInput__input--fake"
213
+ }, getInputProps()), {
214
+ tabIndex: void 0,
215
+ style: void 0,
216
+ multiple: dropzoneProps.multiple || void 0
217
+ }), inputProps), {
218
+ required: void 0
219
+ })), " ", /* @__PURE__ */ React.createElement("div", __spreadProps(__spreadValues({
220
+ className: getBemClass("FileInput__dropzone", [isHover && "highlight"])
221
+ }, getRootProps({ isDragReject })), {
222
+ tabIndex: void 0
223
+ }), /* @__PURE__ */ React.createElement("p", {
224
+ className: "FileInput__droptext"
225
+ }, dropzoneText)), filesList.length ? /* @__PURE__ */ React.createElement("ul", {
226
+ className: "FileInput__filelist"
227
+ }, filesList) : "");
228
+ }
229
+ });
230
+ };
231
+ var FileInput_default = FileInput;
232
+ export {
233
+ FileInput_default as default
234
+ };
@@ -0,0 +1,30 @@
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 Foonote_exports = {};
22
+ __export(Foonote_exports, {
23
+ default: () => Foonote_default
24
+ });
25
+ module.exports = __toCommonJS(Foonote_exports);
26
+ var import_Footnote = __toESM(require("./Footnote"));
27
+ const Footnote = import_Footnote.default;
28
+ var Foonote_default = Footnote;
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {});
@@ -0,0 +1,6 @@
1
+ import _Footnote from "./Footnote";
2
+ const Footnote = _Footnote;
3
+ var Foonote_default = Footnote;
4
+ export {
5
+ Foonote_default as default
6
+ };
@@ -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 FooterBadges_exports = {};
22
+ __export(FooterBadges_exports, {
23
+ default: () => FooterBadges_default
24
+ });
25
+ module.exports = __toCommonJS(FooterBadges_exports);
26
+ var import_react = __toESM(require("react"));
27
+ var import_Link = require("./_abstract/Link");
28
+ const FooterBadges = (props) => {
29
+ if (!props.badges.length) {
30
+ return null;
31
+ }
32
+ return /* @__PURE__ */ import_react.default.createElement("ul", {
33
+ className: "FooterBadges"
34
+ }, props.badges.map(({ altText, src, href }, i) => /* @__PURE__ */ import_react.default.createElement("li", {
35
+ key: i,
36
+ className: "FooterBadges__badge"
37
+ }, href ? /* @__PURE__ */ import_react.default.createElement(import_Link.Link, {
38
+ href
39
+ }, " ", /* @__PURE__ */ import_react.default.createElement("img", {
40
+ src,
41
+ alt: altText
42
+ }), " ") : /* @__PURE__ */ import_react.default.createElement("img", {
43
+ src,
44
+ alt: altText
45
+ }))));
46
+ };
47
+ var FooterBadges_default = FooterBadges;
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 { Link } from "./_abstract/Link";
3
+ const FooterBadges = (props) => {
4
+ if (!props.badges.length) {
5
+ return null;
6
+ }
7
+ return /* @__PURE__ */ React.createElement("ul", {
8
+ className: "FooterBadges"
9
+ }, props.badges.map(({ altText, src, href }, i) => /* @__PURE__ */ React.createElement("li", {
10
+ key: i,
11
+ className: "FooterBadges__badge"
12
+ }, href ? /* @__PURE__ */ React.createElement(Link, {
13
+ href
14
+ }, " ", /* @__PURE__ */ React.createElement("img", {
15
+ src,
16
+ alt: altText
17
+ }), " ") : /* @__PURE__ */ React.createElement("img", {
18
+ src,
19
+ alt: altText
20
+ }))));
21
+ };
22
+ var FooterBadges_default = FooterBadges;
23
+ export {
24
+ FooterBadges_default as default
25
+ };
@@ -0,0 +1,47 @@
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 FooterInfo_exports = {};
22
+ __export(FooterInfo_exports, {
23
+ default: () => FooterInfo_default
24
+ });
25
+ module.exports = __toCommonJS(FooterInfo_exports);
26
+ var import_react = __toESM(require("react"));
27
+ var import_getBemClass = __toESM(require("@hugsmidjan/react/utils/getBemClass"));
28
+ const FooterInfo = (props) => {
29
+ const { boxes } = props;
30
+ return /* @__PURE__ */ import_react.default.createElement("div", {
31
+ className: "FooterInfo"
32
+ }, boxes.map((group, i) => /* @__PURE__ */ import_react.default.createElement("div", {
33
+ className: (0, import_getBemClass.default)("FooterInfo__group", group.modifier),
34
+ role: group.role,
35
+ key: i
36
+ }, /* @__PURE__ */ import_react.default.createElement("h3", {
37
+ className: "FooterInfo__grouptitle"
38
+ }, group.title), group.content ? /* @__PURE__ */ import_react.default.createElement("div", {
39
+ className: (0, import_getBemClass.default)("FooterInfo__groupcontent", group.modifier)
40
+ }, group.content) : /* @__PURE__ */ import_react.default.createElement("div", {
41
+ className: (0, import_getBemClass.default)("FooterInfo__groupcontent", group.modifier),
42
+ dangerouslySetInnerHTML: { __html: group.html }
43
+ }))));
44
+ };
45
+ var FooterInfo_default = FooterInfo;
46
+ // Annotate the CommonJS export names for ESM import in node:
47
+ 0 && (module.exports = {});
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import getBemClass from "@hugsmidjan/react/utils/getBemClass";
3
+ const FooterInfo = (props) => {
4
+ const { boxes } = props;
5
+ return /* @__PURE__ */ React.createElement("div", {
6
+ className: "FooterInfo"
7
+ }, boxes.map((group, i) => /* @__PURE__ */ React.createElement("div", {
8
+ className: getBemClass("FooterInfo__group", group.modifier),
9
+ role: group.role,
10
+ key: i
11
+ }, /* @__PURE__ */ React.createElement("h3", {
12
+ className: "FooterInfo__grouptitle"
13
+ }, group.title), group.content ? /* @__PURE__ */ React.createElement("div", {
14
+ className: getBemClass("FooterInfo__groupcontent", group.modifier)
15
+ }, group.content) : /* @__PURE__ */ React.createElement("div", {
16
+ className: getBemClass("FooterInfo__groupcontent", group.modifier),
17
+ dangerouslySetInnerHTML: { __html: group.html }
18
+ }))));
19
+ };
20
+ var FooterInfo_default = FooterInfo;
21
+ export {
22
+ FooterInfo_default as default
23
+ };
@@ -0,0 +1,32 @@
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 Footnote_exports = {};
22
+ __export(Footnote_exports, {
23
+ default: () => Footnote_default
24
+ });
25
+ module.exports = __toCommonJS(Footnote_exports);
26
+ var import_react = __toESM(require("react"));
27
+ const Footnote = (props) => /* @__PURE__ */ import_react.default.createElement("div", {
28
+ className: "Footnote"
29
+ }, props.children);
30
+ var Footnote_default = Footnote;
31
+ // Annotate the CommonJS export names for ESM import in node:
32
+ 0 && (module.exports = {});
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ const Footnote = (props) => /* @__PURE__ */ React.createElement("div", {
3
+ className: "Footnote"
4
+ }, props.children);
5
+ var Footnote_default = Footnote;
6
+ export {
7
+ Footnote_default as default
8
+ };
package/lib/Form.cjs ADDED
@@ -0,0 +1,56 @@
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 Form_exports = {};
39
+ __export(Form_exports, {
40
+ default: () => Form_default
41
+ });
42
+ module.exports = __toCommonJS(Form_exports);
43
+ var import_react = __toESM(require("react"));
44
+ var import_getBemClass = __toESM(require("@hugsmidjan/react/utils/getBemClass"));
45
+ const Form = (props) => {
46
+ const { children, align, wide } = props;
47
+ return /* @__PURE__ */ import_react.default.createElement("form", __spreadProps(__spreadValues({}, props), {
48
+ className: (0, import_getBemClass.default)("Form", [
49
+ align === "right" && "align--" + align,
50
+ !align && wide && "wide"
51
+ ])
52
+ }), children);
53
+ };
54
+ var Form_default = Form;
55
+ // Annotate the CommonJS export names for ESM import in node:
56
+ 0 && (module.exports = {});
package/lib/Form.mjs ADDED
@@ -0,0 +1,34 @@
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 getBemClass from "@hugsmidjan/react/utils/getBemClass";
22
+ const Form = (props) => {
23
+ const { children, align, wide } = props;
24
+ return /* @__PURE__ */ React.createElement("form", __spreadProps(__spreadValues({}, props), {
25
+ className: getBemClass("Form", [
26
+ align === "right" && "align--" + align,
27
+ !align && wide && "wide"
28
+ ])
29
+ }), children);
30
+ };
31
+ var Form_default = Form;
32
+ export {
33
+ Form_default as default
34
+ };