@reykjavik/hanna-react 0.10.70 → 0.10.72

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 (216) hide show
  1. package/AccordionList.d.ts +1 -1
  2. package/AccordionList.js +3 -1
  3. package/ActionCards.d.ts +1 -1
  4. package/ActionCards.js +3 -1
  5. package/Alert.d.ts +2 -3
  6. package/Alert.js +5 -4
  7. package/ArticleCards.d.ts +4 -2
  8. package/ArticleCards.js +3 -1
  9. package/ArticleCarousel/_ArticleCarouselCard.d.ts +1 -1
  10. package/ArticleCarousel/_ArticleCarouselCard.js +2 -2
  11. package/ArticleCarousel.d.ts +1 -1
  12. package/ArticleCarousel.js +5 -3
  13. package/ArticleMeta.d.ts +1 -1
  14. package/ArticleMeta.js +3 -1
  15. package/Attention.d.ts +1 -1
  16. package/Attention.js +3 -1
  17. package/BasicTable.d.ts +5 -3
  18. package/BasicTable.js +3 -1
  19. package/BgBox.d.ts +1 -1
  20. package/BgBox.js +3 -1
  21. package/Bling.d.ts +1 -1
  22. package/Bling.js +3 -1
  23. package/BlockBreak.d.ts +1 -1
  24. package/BlockBreak.js +3 -1
  25. package/BlockQuote.d.ts +1 -1
  26. package/BlockQuote.js +4 -2
  27. package/BreadCrumbs.d.ts +1 -1
  28. package/BreadCrumbs.js +3 -1
  29. package/ButtonBack.d.ts +1 -1
  30. package/ButtonBack.js +5 -3
  31. package/ButtonPrimary.d.ts +1 -1
  32. package/ButtonPrimary.js +5 -3
  33. package/ButtonSecondary.d.ts +1 -1
  34. package/ButtonSecondary.js +5 -3
  35. package/ButtonTertiary.d.ts +1 -1
  36. package/ButtonTertiary.js +5 -3
  37. package/CHANGELOG.md +41 -0
  38. package/Carousel.d.ts +1 -1
  39. package/Carousel.js +5 -3
  40. package/CarouselStepper.d.ts +1 -1
  41. package/CarouselStepper.js +3 -1
  42. package/CenterColumn.d.ts +1 -1
  43. package/CenterColumn.js +3 -1
  44. package/Checkbox.d.ts +1 -1
  45. package/Checkbox.js +5 -3
  46. package/CheckboxButtonsGroup.d.ts +3 -3
  47. package/CheckboxButtonsGroup.js +7 -5
  48. package/CheckboxGroup.d.ts +1 -1
  49. package/CheckboxGroup.js +5 -3
  50. package/CityBlock.d.ts +1 -1
  51. package/CityBlock.js +5 -3
  52. package/ContactBubble.d.ts +1 -1
  53. package/ContactBubble.js +3 -2
  54. package/ContentArticle.d.ts +2 -2
  55. package/ContentArticle.js +8 -5
  56. package/ContentImage.d.ts +1 -1
  57. package/ContentImage.js +5 -3
  58. package/Datepicker.d.ts +2 -1
  59. package/Datepicker.js +8 -7
  60. package/ExtraLinks.d.ts +1 -1
  61. package/ExtraLinks.js +3 -1
  62. package/FeatureList.d.ts +1 -1
  63. package/FeatureList.js +3 -1
  64. package/FieldGroup.d.ts +1 -1
  65. package/FieldGroup.js +3 -1
  66. package/FileInput/_FileInput.utils.d.ts +1 -1
  67. package/FileInput/_FileInput.utils.js +12 -5
  68. package/FileInput/_FileInputFileList.js +2 -2
  69. package/FileInput.d.ts +5 -5
  70. package/FileInput.js +19 -10
  71. package/Foonote.d.ts +1 -1
  72. package/Foonote.js +3 -2
  73. package/FooterBadges.d.ts +1 -1
  74. package/FooterBadges.js +3 -1
  75. package/FooterInfo.d.ts +4 -2
  76. package/FooterInfo.js +7 -2
  77. package/Footnote.d.ts +1 -1
  78. package/Footnote.js +3 -1
  79. package/Form.d.ts +1 -1
  80. package/Form.js +3 -1
  81. package/FormField.d.ts +1 -1
  82. package/FormField.js +3 -1
  83. package/Gallery/_GalleryItem.d.ts +1 -2
  84. package/Gallery/_GalleryItem.js +9 -8
  85. package/Gallery/_GalleryModal.d.ts +2 -2
  86. package/Gallery/_GalleryModal.js +6 -5
  87. package/Gallery/_GalleryModalContext.d.ts +2 -2
  88. package/Gallery/_GalleryModalContext.js +2 -2
  89. package/Gallery/_GalleryModalItem.d.ts +1 -2
  90. package/Gallery/_GalleryModalItem.js +4 -3
  91. package/Gallery.d.ts +1 -1
  92. package/Gallery.js +10 -8
  93. package/GridBlocks.d.ts +1 -1
  94. package/GridBlocks.js +5 -3
  95. package/Heading.d.ts +3 -2
  96. package/Heading.js +5 -2
  97. package/HeroBlock.d.ts +1 -1
  98. package/HeroBlock.js +5 -3
  99. package/IframeBlock.d.ts +3 -1
  100. package/IframeBlock.js +5 -3
  101. package/Illustration.d.ts +5 -8
  102. package/Illustration.js +5 -3
  103. package/ImageCards.d.ts +3 -3
  104. package/ImageCards.js +3 -1
  105. package/InfoBlock.d.ts +8 -12
  106. package/InfoBlock.js +4 -2
  107. package/InfoHero.d.ts +1 -1
  108. package/InfoHero.js +9 -7
  109. package/IslandBlock.d.ts +1 -1
  110. package/IslandBlock.js +5 -3
  111. package/IslandPageBlock.d.ts +1 -1
  112. package/IslandPageBlock.js +5 -3
  113. package/LabeledTextBlock.d.ts +1 -1
  114. package/LabeledTextBlock.js +3 -1
  115. package/Layout.d.ts +2 -2
  116. package/Layout.js +5 -4
  117. package/MainMenu.d.ts +1 -1
  118. package/MainMenu.js +10 -6
  119. package/MiniMetrics.d.ts +1 -1
  120. package/MiniMetrics.js +5 -3
  121. package/Modal.d.ts +2 -4
  122. package/Modal.js +3 -1
  123. package/NameCard.d.ts +1 -1
  124. package/NameCard.js +7 -5
  125. package/NameCards.d.ts +1 -1
  126. package/NameCards.js +3 -1
  127. package/NewsHero.d.ts +1 -1
  128. package/NewsHero.js +6 -4
  129. package/PageFilter.d.ts +1 -1
  130. package/PageFilter.js +3 -1
  131. package/PageHeading.d.ts +1 -1
  132. package/PageHeading.js +3 -1
  133. package/Picture.d.ts +1 -1
  134. package/Picture.js +5 -3
  135. package/ProcessOverview.d.ts +1 -1
  136. package/ProcessOverview.js +3 -1
  137. package/PullQuote.d.ts +1 -1
  138. package/PullQuote.js +3 -1
  139. package/README.md +6 -1
  140. package/RadioButtonsGroup.d.ts +3 -3
  141. package/RadioButtonsGroup.js +7 -5
  142. package/RadioGroup.d.ts +4 -2
  143. package/RadioGroup.js +9 -6
  144. package/RelatedLinks.d.ts +1 -1
  145. package/RelatedLinks.js +3 -1
  146. package/RowBlock.d.ts +1 -1
  147. package/RowBlock.js +3 -1
  148. package/RowBlockColumn.d.ts +1 -1
  149. package/RowBlockColumn.js +3 -1
  150. package/SearchInput.d.ts +2 -2
  151. package/SearchInput.js +4 -2
  152. package/SearchResults/_SearchResultsItem.d.ts +2 -2
  153. package/SearchResults/_SearchResultsItem.js +4 -3
  154. package/SearchResults.d.ts +1 -1
  155. package/SearchResults.js +7 -6
  156. package/SeenEffect.d.ts +1 -1
  157. package/SeenEffect.js +3 -1
  158. package/Selectbox.d.ts +1 -1
  159. package/Selectbox.js +15 -9
  160. package/ShareButtons.d.ts +2 -2
  161. package/ShareButtons.js +15 -8
  162. package/Sharpie.d.ts +1 -1
  163. package/Sharpie.js +3 -1
  164. package/SiteSearchAutocomplete.d.ts +2 -2
  165. package/SiteSearchAutocomplete.js +4 -3
  166. package/SiteSearchCurtain.d.ts +1 -1
  167. package/SiteSearchCurtain.js +3 -1
  168. package/SiteSearchInput.d.ts +2 -2
  169. package/SiteSearchInput.js +3 -2
  170. package/Skeleton.d.ts +1 -1
  171. package/Skeleton.js +5 -3
  172. package/SubHeading.d.ts +1 -1
  173. package/SubHeading.js +3 -1
  174. package/Tabs.d.ts +1 -1
  175. package/Tabs.js +4 -2
  176. package/TagPill.d.ts +1 -1
  177. package/TagPill.js +6 -4
  178. package/TextBlock.d.ts +1 -1
  179. package/TextBlock.js +3 -1
  180. package/TextButton.d.ts +1 -1
  181. package/TextButton.js +5 -3
  182. package/TextInput.d.ts +2 -2
  183. package/TextInput.js +3 -1
  184. package/VSpacer.d.ts +1 -1
  185. package/VSpacer.js +3 -1
  186. package/VerticalTabsTOC.d.ts +1 -1
  187. package/VerticalTabsTOC.js +3 -1
  188. package/WizardLayout.d.ts +4 -4
  189. package/WizardLayout.js +5 -3
  190. package/WizardLayoutClose.d.ts +1 -1
  191. package/WizardLayoutClose.js +5 -3
  192. package/WizardStepper.d.ts +2 -2
  193. package/WizardStepper.js +5 -2
  194. package/_abstract/_AbstractCarousel.d.ts +12 -5
  195. package/_abstract/_AbstractCarousel.js +8 -3
  196. package/_abstract/_Blings.d.ts +2 -2
  197. package/_abstract/_Blings.js +2 -1
  198. package/_abstract/_Block.d.ts +1 -2
  199. package/_abstract/_Block.js +6 -5
  200. package/_abstract/_Button.d.ts +2 -2
  201. package/_abstract/_Button.js +2 -1
  202. package/_abstract/_CardList.js +4 -4
  203. package/_abstract/_Image.d.ts +2 -2
  204. package/_abstract/_Image.js +2 -1
  205. package/_abstract/_TogglerGroup.d.ts +2 -3
  206. package/_abstract/_TogglerGroup.js +2 -1
  207. package/_abstract/_TogglerGroupField.d.ts +2 -2
  208. package/_abstract/_TogglerGroupField.js +4 -3
  209. package/_abstract/_TogglerInput.d.ts +3 -3
  210. package/_abstract/_TogglerInput.js +2 -1
  211. package/_abstract/breakOnNL.d.ts +1 -2
  212. package/_abstract/breakOnNL.js +2 -1
  213. package/assets.js +1 -1
  214. package/constants.d.ts +8 -28
  215. package/focus-visible.js +2 -0
  216. package/package.json +4 -4
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CheckboxButtonsGroup = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  const react_1 = tslib_1.__importDefault(require("react"));
5
- const _TogglerGroupField_1 = tslib_1.__importDefault(require("./_abstract/_TogglerGroupField"));
6
- const _TogglerInput_1 = tslib_1.__importDefault(require("./_abstract/_TogglerInput"));
7
- const CheckboxButton = (props) => (react_1.default.createElement(_TogglerInput_1.default, Object.assign({ bem: "CheckboxButton" }, props, { type: "checkbox" })));
6
+ const _TogglerGroupField_1 = require("./_abstract/_TogglerGroupField");
7
+ const _TogglerInput_1 = require("./_abstract/_TogglerInput");
8
+ const CheckboxButton = (props) => (react_1.default.createElement(_TogglerInput_1.TogglerInput, Object.assign({ bem: "CheckboxButton" }, props, { type: "checkbox" })));
8
9
  const CheckboxButtonsGroup = (props) => {
9
10
  if (props.layout) {
10
11
  console.warn('`CheckboxButtonsGroupProps.layout` is deprecated.');
@@ -12,6 +13,7 @@ const CheckboxButtonsGroup = (props) => {
12
13
  if (props.columns) {
13
14
  console.warn('`CheckboxButtonsGroupProps.columns` is deprecated.');
14
15
  }
15
- return (react_1.default.createElement(_TogglerGroupField_1.default, Object.assign({}, props, { bem: "CheckboxButtonsGroup", Toggler: CheckboxButton })));
16
+ return (react_1.default.createElement(_TogglerGroupField_1.TogglerGroupField, Object.assign({}, props, { bem: "CheckboxButtonsGroup", Toggler: CheckboxButton })));
16
17
  };
17
- exports.default = CheckboxButtonsGroup;
18
+ exports.CheckboxButtonsGroup = CheckboxButtonsGroup;
19
+ exports.default = exports.CheckboxButtonsGroup;
@@ -5,5 +5,5 @@ export declare type CheckboxGroupProps = TogglerGroupFieldProps & {
5
5
  };
6
6
  export declare type CheckboxGroupOption = TogglerGroupFieldOption;
7
7
  export declare type CheckboxGroupOptions = TogglerGroupFieldOptions;
8
- declare const CheckboxGroup: (props: CheckboxGroupProps) => JSX.Element;
8
+ export declare const CheckboxGroup: (props: CheckboxGroupProps) => JSX.Element;
9
9
  export default CheckboxGroup;
package/CheckboxGroup.js CHANGED
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CheckboxGroup = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  const react_1 = tslib_1.__importDefault(require("react"));
5
- const _TogglerGroupField_1 = tslib_1.__importDefault(require("./_abstract/_TogglerGroupField"));
6
+ const _TogglerGroupField_1 = require("./_abstract/_TogglerGroupField");
6
7
  const Checkbox_1 = tslib_1.__importDefault(require("./Checkbox"));
7
8
  const CheckboxGroup = (props) => {
8
- return (react_1.default.createElement(_TogglerGroupField_1.default, Object.assign({}, props, { bem: "CheckboxGroup", modifier: props.layout, Toggler: Checkbox_1.default })));
9
+ return (react_1.default.createElement(_TogglerGroupField_1.TogglerGroupField, Object.assign({}, props, { bem: "CheckboxGroup", modifier: props.layout, Toggler: Checkbox_1.default })));
9
10
  };
10
- exports.default = CheckboxGroup;
11
+ exports.CheckboxGroup = CheckboxGroup;
12
+ exports.default = exports.CheckboxGroup;
package/CityBlock.d.ts CHANGED
@@ -17,5 +17,5 @@ export declare type CityBlockProps = {
17
17
  }, {
18
18
  image: ImageProps;
19
19
  }> & SeenProp;
20
- declare const CityBlock: (props: CityBlockProps) => JSX.Element;
20
+ export declare const CityBlock: (props: CityBlockProps) => JSX.Element;
21
21
  export default CityBlock;
package/CityBlock.js CHANGED
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CityBlock = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  const react_1 = tslib_1.__importDefault(require("react"));
5
6
  const assets_1 = require("@reykjavik/hanna-utils/assets");
6
- const _Block_1 = tslib_1.__importDefault(require("./_abstract/_Block"));
7
+ const _Block_1 = require("./_abstract/_Block");
7
8
  const constants_1 = require("./constants");
8
9
  const types = {
9
10
  largebox: true,
@@ -16,6 +17,7 @@ const CityBlock = (props) => {
16
17
  const imageProps = props.illustration != null
17
18
  ? { src: (0, assets_1.getIllustrationUrl)(props.illustration) }
18
19
  : props.image;
19
- return (react_1.default.createElement(_Block_1.default, { bem: "CityBlock", modifier: modifier, content: props.content, image: imageProps, startSeen: props.startSeen }));
20
+ return (react_1.default.createElement(_Block_1.Block, { bem: "CityBlock", modifier: modifier, content: props.content, image: imageProps, startSeen: props.startSeen }));
20
21
  };
21
- exports.default = CityBlock;
22
+ exports.CityBlock = CityBlock;
23
+ exports.default = exports.CityBlock;
@@ -54,5 +54,5 @@ export declare type ContactBubbleProps = {
54
54
  open?: undefined;
55
55
  onToggle?: (isOpen: boolean) => void;
56
56
  });
57
- declare const ContactBubble: (props: ContactBubbleProps) => JSX.Element | null;
57
+ export declare const ContactBubble: (props: ContactBubbleProps) => JSX.Element | null;
58
58
  export default ContactBubble;
package/ContactBubble.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ensureIcon = exports.defaultTexts = void 0;
3
+ exports.ContactBubble = exports.ensureIcon = exports.defaultTexts = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importStar(require("react"));
6
6
  const focusElm_1 = tslib_1.__importDefault(require("@hugsmidjan/qj/focusElm"));
@@ -150,4 +150,5 @@ const ContactBubble = (props) => {
150
150
  '\n\n',
151
151
  menu)) : (menu);
152
152
  };
153
- exports.default = ContactBubble;
153
+ exports.ContactBubble = ContactBubble;
154
+ exports.default = exports.ContactBubble;
@@ -5,12 +5,12 @@ import { ContentImageProps } from './ContentImage';
5
5
  import { RelatedLinksProps } from './RelatedLinks';
6
6
  export declare type ContentArticleProps = {
7
7
  /** Date, author, etc. */
8
- meta: ArticleMetaProps['items'];
8
+ meta?: ArticleMetaProps['items'];
9
9
  headline: string;
10
10
  headlineTag?: 'h1' | 'h2';
11
11
  topImage?: ContentImageProps;
12
12
  body: ReactNode;
13
13
  relatedLinks?: RelatedLinksProps;
14
14
  } & SeenProp;
15
- declare const ContentArticle: (props: ContentArticleProps) => JSX.Element;
15
+ export declare const ContentArticle: (props: ContentArticleProps) => JSX.Element;
16
16
  export default ContentArticle;
package/ContentArticle.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContentArticle = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  const react_1 = tslib_1.__importDefault(require("react"));
5
6
  const seenEffect_1 = require("./utils/seenEffect");
@@ -10,15 +11,17 @@ const RelatedLinks_1 = tslib_1.__importDefault(require("./RelatedLinks"));
10
11
  const TextBlock_1 = tslib_1.__importDefault(require("./TextBlock"));
11
12
  const VSpacer_1 = tslib_1.__importDefault(require("./VSpacer"));
12
13
  const ContentArticle = (props) => {
14
+ const { relatedLinks } = props;
13
15
  const [ref] = (0, seenEffect_1.useSeenEffect)(props.startSeen);
14
16
  return (react_1.default.createElement("div", { className: "ContentArticle", ref: ref },
15
- react_1.default.createElement(ArticleMeta_1.default, { items: props.meta }),
17
+ props.meta && react_1.default.createElement(ArticleMeta_1.default, { items: props.meta }),
16
18
  react_1.default.createElement(Heading_1.default, { forceH1: props.headlineTag === 'h1' }, props.headline),
17
19
  react_1.default.createElement(TextBlock_1.default, { startSeen: true },
18
20
  props.topImage && react_1.default.createElement(ContentImage_1.default, Object.assign({}, props.topImage)),
19
21
  props.body),
20
- react_1.default.createElement(VSpacer_1.default, { size: "small" },
21
- react_1.default.createElement("hr", null)),
22
- props.relatedLinks && react_1.default.createElement(RelatedLinks_1.default, Object.assign({}, props.relatedLinks))));
22
+ relatedLinks && relatedLinks.links.length > 0 && (react_1.default.createElement(VSpacer_1.default, { size: "small" },
23
+ react_1.default.createElement("hr", null))),
24
+ relatedLinks && react_1.default.createElement(RelatedLinks_1.default, Object.assign({}, relatedLinks))));
23
25
  };
24
- exports.default = ContentArticle;
26
+ exports.ContentArticle = ContentArticle;
27
+ exports.default = exports.ContentArticle;
package/ContentImage.d.ts CHANGED
@@ -4,5 +4,5 @@ export declare type ContentImageProps = {
4
4
  caption?: string | JSX.Element;
5
5
  credit?: string | JSX.Element;
6
6
  };
7
- declare const ContentImage: (props: ContentImageProps) => JSX.Element;
7
+ export declare const ContentImage: (props: ContentImageProps) => JSX.Element;
8
8
  export default ContentImage;
package/ContentImage.js CHANGED
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContentImage = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  const react_1 = tslib_1.__importDefault(require("react"));
5
- const _Image_1 = tslib_1.__importDefault(require("./_abstract/_Image"));
6
+ const _Image_1 = require("./_abstract/_Image");
6
7
  const ContentImage = (props) => {
7
8
  const { image, caption, credit } = props;
8
9
  return (react_1.default.createElement("figure", { className: "ContentImage" },
@@ -16,6 +17,7 @@ const ContentImage = (props) => {
16
17
  " ",
17
18
  credit,
18
19
  " "))),
19
- react_1.default.createElement(_Image_1.default, Object.assign({ className: "ContentImage__image" }, image))));
20
+ react_1.default.createElement(_Image_1.Image, Object.assign({ className: "ContentImage__image" }, image))));
20
21
  };
21
- exports.default = ContentImage;
22
+ exports.ContentImage = ContentImage;
23
+ exports.default = exports.ContentImage;
package/Datepicker.d.ts CHANGED
@@ -4,6 +4,7 @@ export declare type DatepickerProps = {
4
4
  small?: boolean;
5
5
  placeholder?: string;
6
6
  value?: Date;
7
+ name?: string;
7
8
  startDate?: Date;
8
9
  endDate?: Date;
9
10
  minDate?: Date;
@@ -35,5 +36,5 @@ export declare type DatepickerLocaleProps = {
35
36
  chooseDayAriaLabelPrefix: string;
36
37
  disabledDayAriaLabelPrefix: string;
37
38
  };
38
- declare const Datepicker: (props: DatepickerProps) => JSX.Element;
39
+ export declare const Datepicker: (props: DatepickerProps) => JSX.Element;
39
40
  export default Datepicker;
package/Datepicker.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDateDiff = void 0;
3
+ exports.Datepicker = exports.getDateDiff = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
6
  // Documentation: https://reactdatepicker.com/
@@ -36,19 +36,19 @@ const i18n = {
36
36
  },
37
37
  };
38
38
  const Datepicker = (props) => {
39
- const { className, id, label, hideLabel, assistText, disabled, readOnly, invalid, errorMessage, required, reqText, placeholder, small, localeCode, dateFormat = 'd.M.yyy', initialDate, value = initialDate, startDate, endDate, minDate, maxDate, isStartDate = false, isEndDate = false, onChange, datepickerExtraProps, ssr, inputRef, } = props;
39
+ const { className, id, label, hideLabel, assistText, disabled, readOnly, invalid, errorMessage, required, reqText, placeholder, small, localeCode, dateFormat = 'd.M.yyy', initialDate, value = initialDate, name, startDate, endDate, minDate, maxDate, isStartDate = false, isEndDate = false, onChange, datepickerExtraProps, ssr, inputRef, } = props;
40
40
  const domid = (0, hooks_1.useDomid)(id);
41
41
  const txts = (localeCode && i18n[localeCode]) || {};
42
42
  const filled = !!value;
43
43
  const empty = !filled && !placeholder;
44
44
  return (react_1.default.createElement(FormField_1.default, { className: (0, getBemClass_1.default)('Datepicker', [], className), ssr: ssr, label: label, small: small, assistText: assistText, hideLabel: hideLabel, invalid: invalid, required: required, reqText: reqText, disabled: disabled, readOnly: readOnly, filled: filled, empty: empty, errorMessage: errorMessage, renderInput: (className, inputProps, addFocusProps) => {
45
- return (react_1.default.createElement("div", { className: className.input, ref: inputRef &&
45
+ return (react_1.default.createElement("div", Object.assign({ className: className.input, onClick: (e) => e.currentTarget.querySelector('input').focus(), ref: inputRef &&
46
46
  ((elm) => {
47
47
  inputRef.current =
48
48
  (elm === null || elm === void 0 ? void 0 : elm.querySelector('input')) || undefined;
49
49
  return elm;
50
- }) },
51
- react_1.default.createElement(react_datepicker_1.default, Object.assign({ id: domid, required: inputProps.required, disabled: inputProps.disabled, readOnly: inputProps.readOnly, selected: value, locale: localeCode, dateFormat: dateFormat, onChange: (date) => {
50
+ }) }, addFocusProps()),
51
+ react_1.default.createElement(react_datepicker_1.default, Object.assign({ id: domid, required: inputProps.required, disabled: inputProps.disabled, readOnly: inputProps.readOnly, selected: value, name: name, locale: localeCode, dateFormat: dateFormat, onChange: (date) => {
52
52
  onChange(date || undefined);
53
53
  const inputElm = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current;
54
54
  if (inputElm) {
@@ -60,7 +60,8 @@ const Datepicker = (props) => {
60
60
  minDate: minDate, maxDate: maxDate, startDate: startDate, endDate: endDate, selectsStart: isStartDate, selectsEnd: isEndDate, formatWeekDay: (weekday) => {
61
61
  // TODO: if we use costom locale we don't need this
62
62
  return weekday.charAt(0).toUpperCase();
63
- }, showYearDropdown: true, scrollableYearDropdown: true, yearDropdownItemNumber: 15, showMonthDropdown: true }, inputProps, txts, addFocusProps(datepickerExtraProps)))));
63
+ }, showYearDropdown: true, scrollableYearDropdown: true, yearDropdownItemNumber: 15, showMonthDropdown: true }, inputProps, txts, datepickerExtraProps))));
64
64
  } }));
65
65
  };
66
- exports.default = Datepicker;
66
+ exports.Datepicker = Datepicker;
67
+ exports.default = exports.Datepicker;
package/ExtraLinks.d.ts CHANGED
@@ -14,5 +14,5 @@ export declare type ExtraLinksCardProps = TextCardListProps['cards'][number];
14
14
  export declare type ExtraLinksProps = TextCardListProps & RelatedProps & {
15
15
  className?: string;
16
16
  } & SeenProp;
17
- declare const ExtraLinks: (props: ExtraLinksProps) => JSX.Element;
17
+ export declare const ExtraLinks: (props: ExtraLinksProps) => JSX.Element;
18
18
  export default ExtraLinks;
package/ExtraLinks.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExtraLinks = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  const react_1 = tslib_1.__importDefault(require("react"));
5
6
  const getBemClass_1 = tslib_1.__importDefault(require("@hugsmidjan/react/utils/getBemClass"));
@@ -23,4 +24,5 @@ const ExtraLinks = (props) => {
23
24
  react_1.default.createElement(_CardList_1.CardList, Object.assign({}, cardListProps, { bemPrefix: "ExtraLinks" }))),
24
25
  hasRelated && (react_1.default.createElement(ExtraLinks__related, { relatedTitle: relatedTitle, relatedLinks: relatedLinks }))));
25
26
  };
26
- exports.default = ExtraLinks;
27
+ exports.ExtraLinks = ExtraLinks;
28
+ exports.default = exports.ExtraLinks;
package/FeatureList.d.ts CHANGED
@@ -8,5 +8,5 @@ export declare type FeatureListProps = {
8
8
  name: string;
9
9
  }>;
10
10
  } & SeenProp;
11
- declare const FeatureList: (props: FeatureListProps) => JSX.Element;
11
+ export declare const FeatureList: (props: FeatureListProps) => JSX.Element;
12
12
  export default FeatureList;
package/FeatureList.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FeatureList = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  const react_1 = tslib_1.__importDefault(require("react"));
5
6
  const seenEffect_1 = require("./utils/seenEffect");
@@ -16,4 +17,5 @@ const FeatureList = (props) => {
16
17
  ? { '--efnistakn': `url("${iconUrl}")` }
17
18
  : undefined, "data-efnistakn": !iconUrl ? icon : undefined }, name)))))));
18
19
  };
19
- exports.default = FeatureList;
20
+ exports.FeatureList = FeatureList;
21
+ exports.default = exports.FeatureList;
package/FieldGroup.d.ts CHANGED
@@ -5,5 +5,5 @@ export declare type FieldGroupProps = {
5
5
  className?: string;
6
6
  children: ReactNode;
7
7
  };
8
- declare const FieldGroup: (props: FieldGroupProps) => JSX.Element;
8
+ export declare const FieldGroup: (props: FieldGroupProps) => JSX.Element;
9
9
  export default FieldGroup;
package/FieldGroup.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FieldGroup = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  const react_1 = tslib_1.__importDefault(require("react"));
5
6
  const getBemClass_1 = tslib_1.__importDefault(require("@hugsmidjan/react/utils/getBemClass"));
@@ -9,4 +10,5 @@ const FieldGroup = (props) => {
9
10
  react_1.default.createElement("legend", { className: "FieldGroup__legend" }, legend),
10
11
  children));
11
12
  };
12
- exports.default = FieldGroup;
13
+ exports.FieldGroup = FieldGroup;
14
+ exports.default = exports.FieldGroup;
@@ -16,7 +16,7 @@ export declare const releasePreview: (file: CustomFile) => void;
16
16
  /**
17
17
  * Small+stupid file size pretty-printer.
18
18
  */
19
- export declare const formatBytes: (bytes: number, decimals?: number) => string;
19
+ export declare const formatBytes: (bytes: number, lang?: string, decimals?: number) => string;
20
20
  /**
21
21
  * Figures out how to handle adding files to a FileInput
22
22
  * Which files to retaine, which too delete, and
@@ -22,17 +22,24 @@ const releasePreview = (file) => {
22
22
  delete file.preview;
23
23
  };
24
24
  exports.releasePreview = releasePreview;
25
+ // ---------------------------------------------------------------------------
26
+ const k = 1024;
27
+ const kThreshold = 970 / k; // Snap up a unit level at this point
28
+ const units = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB' /*, 'EB', 'ZB', 'YB' */];
29
+ const decimalSymbols = { is: ',', en: '.', pl: ',' };
25
30
  /**
26
31
  * Small+stupid file size pretty-printer.
27
32
  */
28
- const formatBytes = (bytes, decimals = 2) => {
33
+ const formatBytes = (bytes, lang = 'is', decimals = 2) => {
29
34
  if (bytes === 0) {
30
35
  return '0 Bytes';
31
36
  }
32
- const k = 1024;
33
- const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
34
- const i = Math.floor(Math.log(bytes) / Math.log(k));
35
- return parseFloat((bytes / Math.pow(k, i)).toFixed(decimals)) + ' ' + sizes[i];
37
+ const i = Math.min(Math.floor(Math.log(Math.abs(bytes) / kThreshold) / Math.log(k)), units.length - 1);
38
+ const scaled = bytes / Math.pow(k, i);
39
+ const formatted = (parseFloat(scaled.toFixed(decimals)) + '').replace('.',
40
+ // NOTE: As of 2022-11 Chrome still doesn't support Icelandic
41
+ decimalSymbols[lang] || (1.1).toLocaleString(lang)[1]);
42
+ return `${formatted} ${units[i]}`;
36
43
  };
37
44
  exports.formatBytes = formatBytes;
38
45
  /**
@@ -9,11 +9,11 @@ const DefaultFileList = (props) => {
9
9
  return null;
10
10
  }
11
11
  return (react_1.default.createElement("ul", { className: "FileInput__filelist" }, files.map((file) => (react_1.default.createElement("li", { key: file.name, className: "FileInput__file" },
12
- react_1.default.createElement("button", { className: "FileInput__file-remove", type: "button", onClick: () => removeFile(file), "aria-label": removeFileText }, removeFileText),
12
+ react_1.default.createElement("button", { className: "FileInput__file-remove", type: "button", onClick: () => removeFile(file), "aria-label": `${removeFileText} ${file.name}` }, removeFileText),
13
13
  react_1.default.createElement("span", { className: "FileInput__fileinfo" },
14
14
  showImagePreviews && file.preview && (react_1.default.createElement(react_1.default.Fragment, null,
15
15
  react_1.default.createElement("span", { className: "FileInput__preview" },
16
- react_1.default.createElement("img", { src: file.preview })),
16
+ react_1.default.createElement("img", { src: file.preview, alt: "" })),
17
17
  ' ')),
18
18
  react_1.default.createElement("span", { className: "FileInput__filename" }, file.name),
19
19
  showFileSize && (react_1.default.createElement("small", { className: "FileInput__filesize" },
package/FileInput.d.ts CHANGED
@@ -14,7 +14,8 @@ export declare type FileInputProps = {
14
14
  */
15
15
  accept?: string | Array<string>;
16
16
  dropzoneText: string | JSX.Element;
17
- removeFileText: string;
17
+ removeFileText?: string;
18
+ lang?: string;
18
19
  showFileSize?: boolean;
19
20
  showImagePreviews?: boolean;
20
21
  FileList?: false | ((props: FileListProps) => JSX.Element | null);
@@ -34,15 +35,14 @@ export declare type FileInputProps = {
34
35
  deleted?: Array<File>;
35
36
  added?: Array<File>;
36
37
  }) => void;
38
+ onFilesRejected?: (rejectedFiles: Array<File>) => void;
37
39
  name?: string;
38
40
  value?: ReadonlyArray<File>;
39
- /**
40
- * @deprecated Use props `multiple`, `accept` instead (Will be removed in v0.11)
41
- */
41
+ /** @deprecated Use props `multiple`, `accept` instead (Will be removed in v0.11) */
42
42
  dropzoneProps?: {
43
43
  accept?: string;
44
44
  multiple?: boolean;
45
45
  };
46
46
  } & FormFieldWrappingProps;
47
- declare const FileInput: (props: FileInputProps) => JSX.Element;
47
+ export declare const FileInput: (props: FileInputProps) => JSX.Element;
48
48
  export default FileInput;
package/FileInput.js CHANGED
@@ -1,13 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileInput = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  const react_1 = tslib_1.__importStar(require("react"));
5
6
  const react_dropzone_1 = require("react-dropzone"); // https://react-dropzone.js.org/#!/Dropzone
6
7
  const hooks_1 = require("@hugsmidjan/react/hooks");
7
8
  const getBemClass_1 = tslib_1.__importDefault(require("@hugsmidjan/react/utils/getBemClass"));
9
+ const i18n_1 = require("@reykjavik/hanna-utils/i18n");
8
10
  const _FileInput_utils_1 = require("./FileInput/_FileInput.utils");
9
11
  const _FileInputFileList_1 = require("./FileInput/_FileInputFileList");
10
12
  const FormField_1 = tslib_1.__importDefault(require("./FormField"));
13
+ const defaultRemoveFileText = {
14
+ is: 'Fjarlægja',
15
+ en: 'Remove',
16
+ pl: 'Usuń',
17
+ };
18
+ const defaultOnFilesRejected = (rejectedFiles) => {
19
+ window.alert('Error:\n' +
20
+ rejectedFiles
21
+ .map((elm) => {
22
+ return elm.name;
23
+ })
24
+ .join(', '));
25
+ };
11
26
  const arrayToFileList = (arr) => {
12
27
  const fileList = new DataTransfer();
13
28
  arr.forEach((item) => {
@@ -16,7 +31,7 @@ const arrayToFileList = (arr) => {
16
31
  return fileList.files;
17
32
  };
18
33
  const FileInput = (props) => {
19
- const { className, id, label, hideLabel, dropzoneProps = { multiple: true }, multiple = dropzoneProps.multiple, accept, dropzoneText, removeFileText, assistText, disabled, invalid, errorMessage, required, reqText, FileList = _FileInputFileList_1.DefaultFileList, onFilesUpdated = () => undefined, showFileSize, showImagePreviews, value = [] } = props, inputElementProps = tslib_1.__rest(props, ["className", "id", "label", "hideLabel", "dropzoneProps", "multiple", "accept", "dropzoneText", "removeFileText", "assistText", "disabled", "invalid", "errorMessage", "required", "reqText", "FileList", "onFilesUpdated", "showFileSize", "showImagePreviews", "value"]);
34
+ const { className, id, label, hideLabel, dropzoneProps = { multiple: true }, multiple = dropzoneProps.multiple, accept, dropzoneText, lang = i18n_1.DEFAULT_LANG, removeFileText = defaultRemoveFileText[lang] || defaultRemoveFileText[i18n_1.DEFAULT_LANG], assistText, disabled, invalid, errorMessage, required, reqText, FileList = _FileInputFileList_1.DefaultFileList, onFilesUpdated = () => undefined, onFilesRejected, showFileSize, showImagePreviews, value = [] } = props, inputElementProps = tslib_1.__rest(props, ["className", "id", "label", "hideLabel", "dropzoneProps", "multiple", "accept", "dropzoneText", "lang", "removeFileText", "assistText", "disabled", "invalid", "errorMessage", "required", "reqText", "FileList", "onFilesUpdated", "onFilesRejected", "showFileSize", "showImagePreviews", "value"]);
20
35
  const domid = (0, hooks_1.useDomid)(id);
21
36
  const fileInputWrapper = (0, react_1.useRef)(null);
22
37
  const fileInput = (0, react_1.useRef)(null);
@@ -32,14 +47,7 @@ const FileInput = (props) => {
32
47
  addFiles(acceptedFiles);
33
48
  setIsHover(false);
34
49
  },
35
- onDropRejected: (rejectedFiles) => {
36
- window.alert('Error:\n' +
37
- rejectedFiles
38
- .map((elm) => {
39
- return elm.name;
40
- })
41
- .join(', '));
42
- },
50
+ onDropRejected: onFilesRejected || defaultOnFilesRejected,
43
51
  onDragEnter: () => {
44
52
  // 'dragLeave' always fires right after 'dragEnter', use 'dragOver' instead
45
53
  // console.log('enter');
@@ -122,4 +130,5 @@ const FileInput = (props) => {
122
130
  })))));
123
131
  } }));
124
132
  };
125
- exports.default = FileInput;
133
+ exports.FileInput = FileInput;
134
+ exports.default = exports.FileInput;
package/Foonote.d.ts CHANGED
@@ -8,5 +8,5 @@ export declare type FootnoteProps = _FootnoteProps;
8
8
  *
9
9
  * This module file is a typo. import from `Footnote` instead
10
10
  */
11
- declare const Footnote: (props: _FootnoteProps) => JSX.Element;
11
+ export declare const Footnote: (props: _FootnoteProps) => JSX.Element;
12
12
  export default Footnote;
package/Foonote.js CHANGED
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Footnote = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  const Footnote_1 = tslib_1.__importDefault(require("./Footnote"));
5
6
  /** @deprecated (Will be removed in v0.11)
6
7
  *
7
8
  * This module file is a typo. import from `Footnote` instead
8
9
  */
9
- const Footnote = Footnote_1.default;
10
- exports.default = Footnote;
10
+ exports.Footnote = Footnote_1.default;
11
+ exports.default = exports.Footnote;
package/FooterBadges.d.ts CHANGED
@@ -5,5 +5,5 @@ export declare type FooterBadgesProps = {
5
5
  href?: string;
6
6
  }>;
7
7
  };
8
- declare const FooterBadges: (props: FooterBadgesProps) => JSX.Element | null;
8
+ export declare const FooterBadges: (props: FooterBadgesProps) => JSX.Element | null;
9
9
  export default FooterBadges;
package/FooterBadges.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FooterBadges = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  const react_1 = tslib_1.__importDefault(require("react"));
5
6
  const _Link_1 = require("./_abstract/_Link");
@@ -12,4 +13,5 @@ const FooterBadges = (props) => {
12
13
  react_1.default.createElement("img", { src: src, alt: altText }),
13
14
  ' ')) : (react_1.default.createElement("img", { src: src, alt: altText })))))));
14
15
  };
15
- exports.default = FooterBadges;
16
+ exports.FooterBadges = FooterBadges;
17
+ exports.default = exports.FooterBadges;
package/FooterInfo.d.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  import { BemPropsModifier } from '@hugsmidjan/react/types';
2
2
  export declare type FooterInfoGroup = {
3
3
  title: string;
4
- role?: JSX.IntrinsicElements['div']['role'];
5
4
  modifier?: string;
5
+ main?: boolean;
6
+ /** @deprecated (Will be removed in v0.11) */
7
+ role?: JSX.IntrinsicElements['div']['role'];
6
8
  } & BemPropsModifier & ({
7
9
  content: JSX.Element;
8
10
  html?: undefined;
@@ -14,5 +16,5 @@ export declare type FooterInfoBoxes = Array<FooterInfoGroup>;
14
16
  export declare type FooterInfoProps = {
15
17
  boxes: FooterInfoBoxes;
16
18
  };
17
- declare const FooterInfo: (props: FooterInfoProps) => JSX.Element;
19
+ export declare const FooterInfo: (props: FooterInfoProps) => JSX.Element;
18
20
  export default FooterInfo;
package/FooterInfo.js CHANGED
@@ -1,12 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FooterInfo = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  const react_1 = tslib_1.__importDefault(require("react"));
5
6
  const getBemClass_1 = tslib_1.__importDefault(require("@hugsmidjan/react/utils/getBemClass"));
6
7
  const FooterInfo = (props) => {
7
8
  const { boxes } = props;
8
- return (react_1.default.createElement("div", { className: "FooterInfo" }, boxes.map((group, i) => (react_1.default.createElement("div", { className: (0, getBemClass_1.default)('FooterInfo__group', group.modifier), role: group.role, key: i },
9
+ return (react_1.default.createElement("div", { className: "FooterInfo" }, boxes.map((group, i) => (react_1.default.createElement("div", { className: (0, getBemClass_1.default)('FooterInfo__group', [
10
+ group.main && 'main',
11
+ group.modifier,
12
+ ]), key: i },
9
13
  react_1.default.createElement("h3", { className: "FooterInfo__grouptitle" }, group.title),
10
14
  group.content ? (react_1.default.createElement("div", { className: (0, getBemClass_1.default)('FooterInfo__groupcontent', group.modifier) }, group.content)) : (react_1.default.createElement("div", { className: (0, getBemClass_1.default)('FooterInfo__groupcontent', group.modifier), dangerouslySetInnerHTML: { __html: group.html } })))))));
11
15
  };
12
- exports.default = FooterInfo;
16
+ exports.FooterInfo = FooterInfo;
17
+ exports.default = exports.FooterInfo;
package/Footnote.d.ts CHANGED
@@ -2,5 +2,5 @@ import { ReactNode } from 'react';
2
2
  export declare type FootnoteProps = {
3
3
  children: ReactNode;
4
4
  };
5
- declare const Footnote: (props: FootnoteProps) => JSX.Element;
5
+ export declare const Footnote: (props: FootnoteProps) => JSX.Element;
6
6
  export default Footnote;
package/Footnote.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Footnote = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  const react_1 = tslib_1.__importDefault(require("react"));
5
6
  const Footnote = (props) => (react_1.default.createElement("div", { className: "Footnote" }, props.children));
6
- exports.default = Footnote;
7
+ exports.Footnote = Footnote;
8
+ exports.default = exports.Footnote;
package/Form.d.ts CHANGED
@@ -3,5 +3,5 @@ import { ComponentLayoutProps } from './constants';
3
3
  export declare type FormProps = ComponentLayoutProps & React.FormHTMLAttributes<HTMLFormElement> & {
4
4
  children: ReactNode;
5
5
  };
6
- declare const Form: (props: FormProps) => JSX.Element;
6
+ export declare const Form: (props: FormProps) => JSX.Element;
7
7
  export default Form;
package/Form.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Form = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  const react_1 = tslib_1.__importDefault(require("react"));
5
6
  const getBemClass_1 = tslib_1.__importDefault(require("@hugsmidjan/react/utils/getBemClass"));
@@ -10,4 +11,5 @@ const Form = (props) => {
10
11
  !align && wide && 'wide',
11
12
  ]) }), children));
12
13
  };
13
- exports.default = Form;
14
+ exports.Form = Form;
15
+ exports.default = exports.Form;
package/FormField.d.ts CHANGED
@@ -61,5 +61,5 @@ export declare type FormFieldProps = FormFieldGroupWrappingProps & {
61
61
  filled?: boolean;
62
62
  renderInput(className: InputClassNames, inputProps: FormFieldInputProps, addFocusProps: FocusPropMaker, isBrowser?: boolean): JSX.Element;
63
63
  };
64
- declare const FormField: (props: FormFieldProps) => JSX.Element;
64
+ export declare const FormField: (props: FormFieldProps) => JSX.Element;
65
65
  export default FormField;
package/FormField.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FormField = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  const react_1 = tslib_1.__importStar(require("react"));
5
6
  const hooks_1 = require("@hugsmidjan/react/hooks");
@@ -91,4 +92,5 @@ const FormField = (props) => {
91
92
  assistText && (react_1.default.createElement("div", { id: assistTextId, className: 'FormField__assist' }, assistText)),
92
93
  errorMessage && (react_1.default.createElement("div", { id: errorId, className: 'FormField__error' }, errorMessage))));
93
94
  };
94
- exports.default = FormField;
95
+ exports.FormField = FormField;
96
+ exports.default = exports.FormField;
@@ -4,5 +4,4 @@ export declare type GalleryItemProps = {
4
4
  description?: string;
5
5
  largeImageSrc?: string;
6
6
  } & ImageProps;
7
- declare const GalleryItem: (props: GalleryItemProps) => JSX.Element;
8
- export default GalleryItem;
7
+ export declare const GalleryItem: (props: GalleryItemProps) => JSX.Element;