@reykjavik/hanna-react 0.10.56 → 0.10.57

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 (275) hide show
  1. package/{AccordionList.jsx → AccordionList.js} +5 -14
  2. package/{ActionCards.jsx → ActionCards.js} +2 -3
  3. package/{Alert.jsx → Alert.js} +6 -8
  4. package/ArticleCarousel/_ArticleCarouselCard.js +31 -0
  5. package/{ArticleCarousel.jsx → ArticleCarousel.js} +1 -1
  6. package/{ArticleMeta.jsx → ArticleMeta.js} +9 -8
  7. package/{Attention.jsx → Attention.js} +1 -1
  8. package/{BasicTable.jsx → BasicTable.js} +11 -12
  9. package/{Bling.jsx → Bling.js} +2 -2
  10. package/{BlockBreak.jsx → BlockBreak.js} +1 -1
  11. package/{BlockQuote.jsx → BlockQuote.js} +1 -1
  12. package/BreadCrumbs.js +33 -0
  13. package/{ButtonBack.jsx → ButtonBack.js} +1 -1
  14. package/{ButtonBar.jsx → ButtonBar.js} +2 -4
  15. package/{ButtonPrimary.jsx → ButtonPrimary.js} +1 -1
  16. package/{ButtonSecondary.jsx → ButtonSecondary.js} +1 -1
  17. package/{ButtonTertiary.jsx → ButtonTertiary.js} +1 -1
  18. package/CHANGELOG.md +1 -1
  19. package/{Carousel.jsx → Carousel.js} +1 -1
  20. package/{CarouselStepper.jsx → CarouselStepper.js} +1 -1
  21. package/{CenterColumn.jsx → CenterColumn.js} +1 -3
  22. package/{Checkbox.jsx → Checkbox.js} +1 -1
  23. package/{CheckboxButtonsGroup.jsx → CheckboxButtonsGroup.js} +2 -2
  24. package/{CheckboxGroup.jsx → CheckboxGroup.js} +1 -1
  25. package/{CityBlock.jsx → CityBlock.js} +1 -1
  26. package/{ContactBubble.jsx → ContactBubble.js} +12 -26
  27. package/{ContentArticle.jsx → ContentArticle.js} +9 -12
  28. package/ContentImage.js +23 -0
  29. package/{Datepicker.jsx → Datepicker.js} +17 -18
  30. package/{ExtraLinks.jsx → ExtraLinks.js} +9 -17
  31. package/FeatureList.js +21 -0
  32. package/{FieldGroup.jsx → FieldGroup.js} +3 -4
  33. package/{FileInput.jsx → FileInput.js} +22 -25
  34. package/{Foonote.jsx → Foonote.js} +0 -0
  35. package/FooterBadges.js +17 -0
  36. package/FooterInfo.js +14 -0
  37. package/{Footnote.jsx → Footnote.js} +1 -1
  38. package/{Form.jsx → Form.js} +2 -4
  39. package/{FormField.jsx → FormField.js} +20 -22
  40. package/Gallery/{_GalleryItem.jsx → _GalleryItem.js} +8 -9
  41. package/Gallery/{_GalleryModal.jsx → _GalleryModal.js} +11 -15
  42. package/Gallery/{_GalleryModalItem.jsx → _GalleryModalItem.js} +5 -7
  43. package/{Gallery.jsx → Gallery.js} +3 -4
  44. package/GridBlocks.js +29 -0
  45. package/{Heading.jsx → Heading.js} +2 -4
  46. package/{HeroBlock.jsx → HeroBlock.js} +8 -9
  47. package/{IframeBlock.jsx → IframeBlock.js} +6 -6
  48. package/{Illustration.jsx → Illustration.js} +1 -1
  49. package/{ImageCards.jsx → ImageCards.js} +2 -3
  50. package/InfoBlock.js +18 -0
  51. package/{InfoHero.jsx → InfoHero.js} +9 -15
  52. package/{IslandBlock.jsx → IslandBlock.js} +1 -1
  53. package/{IslandPageBlock.jsx → IslandPageBlock.js} +1 -1
  54. package/{LabeledTextBlock.jsx → LabeledTextBlock.js} +5 -7
  55. package/Layout.js +58 -0
  56. package/MainMenu/{_Auxiliary.jsx → _Auxiliary.js} +5 -11
  57. package/MainMenu/_PrimaryPanel.js +29 -0
  58. package/{MainMenu.jsx → MainMenu.js} +27 -40
  59. package/{MiniMetrics.jsx → MiniMetrics.js} +5 -4
  60. package/Modal.js +19 -0
  61. package/{NameCard.jsx → NameCard.js} +18 -23
  62. package/{NameCards.jsx → NameCards.js} +1 -3
  63. package/{NewsHero.jsx → NewsHero.js} +7 -9
  64. package/{PageFilter.jsx → PageFilter.js} +6 -7
  65. package/{PageHeading.jsx → PageHeading.js} +2 -4
  66. package/ProcessOverview.js +22 -0
  67. package/{PullQuote.jsx → PullQuote.js} +1 -1
  68. package/{RadioButtonsGroup.jsx → RadioButtonsGroup.js} +2 -2
  69. package/{RadioGroup.jsx → RadioGroup.js} +2 -2
  70. package/{RelatedLinks.jsx → RelatedLinks.js} +9 -13
  71. package/{RowBlock.jsx → RowBlock.js} +1 -3
  72. package/{RowBlockColumn.jsx → RowBlockColumn.js} +2 -4
  73. package/{SearchInput.jsx → SearchInput.js} +4 -6
  74. package/SearchResults/_SearchResultsItem.js +20 -0
  75. package/{SearchResults.jsx → SearchResults.js} +27 -36
  76. package/{SeenEffect.jsx → SeenEffect.js} +1 -1
  77. package/{Selectbox.jsx → Selectbox.js} +1 -1
  78. package/{ShareButtons.jsx → ShareButtons.js} +6 -12
  79. package/{Sharpie.jsx → Sharpie.js} +1 -1
  80. package/{SiteSearchAutocomplete.jsx → SiteSearchAutocomplete.js} +5 -7
  81. package/{SiteSearchCurtain.jsx → SiteSearchCurtain.js} +1 -5
  82. package/{SiteSearchInput.jsx → SiteSearchInput.js} +10 -12
  83. package/{Skeleton.jsx → Skeleton.js} +5 -5
  84. package/{SubHeading.jsx → SubHeading.js} +2 -4
  85. package/{Tabs.jsx → Tabs.js} +12 -12
  86. package/{TagPill.jsx → TagPill.js} +11 -16
  87. package/{TextBlock.jsx → TextBlock.js} +2 -4
  88. package/{TextButton.jsx → TextButton.js} +1 -1
  89. package/{TextInput.jsx → TextInput.js} +1 -1
  90. package/{VSpacer.jsx → VSpacer.js} +1 -1
  91. package/{VerticalTabsTOC.jsx → VerticalTabsTOC.js} +2 -2
  92. package/WizardLayout.js +35 -0
  93. package/{WizardLayoutClose.jsx → WizardLayoutClose.js} +1 -1
  94. package/WizardStepper.js +30 -0
  95. package/_abstract/{Button.jsx → Button.js} +2 -6
  96. package/_abstract/CardList.js +43 -0
  97. package/_abstract/{Image.jsx → Image.js} +10 -12
  98. package/_abstract/{Link.jsx → Link.js} +0 -0
  99. package/_abstract/TogglerGroup.js +34 -0
  100. package/_abstract/{TogglerGroupField.jsx → TogglerGroupField.js} +3 -3
  101. package/_abstract/{TogglerInput.jsx → TogglerInput.js} +13 -15
  102. package/_abstract/{_AbstractCarousel.jsx → _AbstractCarousel.js} +7 -10
  103. package/_abstract/{_Blings.jsx → _Blings.js} +1 -3
  104. package/_abstract/_Block.js +29 -0
  105. package/_abstract/{_Quote.jsx → _Quote.js} +3 -6
  106. package/_abstract/{breakOnNL.jsx → breakOnNL.js} +1 -1
  107. package/esm/AccordionList.js +24 -0
  108. package/esm/{ActionCards.jsx → ActionCards.js} +2 -3
  109. package/esm/{Alert.jsx → Alert.js} +6 -8
  110. package/esm/ArticleCarousel/_ArticleCarouselCard.js +24 -0
  111. package/esm/{ArticleCarousel.jsx → ArticleCarousel.js} +1 -1
  112. package/esm/ArticleMeta.js +18 -0
  113. package/esm/Attention.js +4 -0
  114. package/esm/{BasicTable.jsx → BasicTable.js} +11 -12
  115. package/esm/{Bling.jsx → Bling.js} +2 -2
  116. package/esm/BlockBreak.js +6 -0
  117. package/esm/BlockQuote.js +4 -0
  118. package/esm/BreadCrumbs.js +28 -0
  119. package/esm/ButtonBack.js +4 -0
  120. package/esm/{ButtonBar.jsx → ButtonBar.js} +2 -4
  121. package/esm/ButtonPrimary.js +4 -0
  122. package/esm/ButtonSecondary.js +4 -0
  123. package/esm/{ButtonTertiary.jsx → ButtonTertiary.js} +1 -1
  124. package/esm/Carousel.js +4 -0
  125. package/esm/CarouselStepper.js +4 -0
  126. package/esm/CenterColumn.js +7 -0
  127. package/esm/Checkbox.js +4 -0
  128. package/esm/{CheckboxButtonsGroup.jsx → CheckboxButtonsGroup.js} +2 -2
  129. package/esm/{CheckboxGroup.jsx → CheckboxGroup.js} +1 -1
  130. package/esm/{CityBlock.jsx → CityBlock.js} +1 -1
  131. package/esm/{ContactBubble.jsx → ContactBubble.js} +12 -26
  132. package/esm/ContentArticle.js +21 -0
  133. package/esm/ContentImage.js +18 -0
  134. package/esm/{Datepicker.jsx → Datepicker.js} +17 -18
  135. package/esm/{ExtraLinks.jsx → ExtraLinks.js} +9 -17
  136. package/esm/FeatureList.js +16 -0
  137. package/esm/FieldGroup.js +9 -0
  138. package/esm/{FileInput.jsx → FileInput.js} +22 -25
  139. package/esm/{Foonote.jsx → Foonote.js} +0 -0
  140. package/esm/FooterBadges.js +12 -0
  141. package/esm/FooterInfo.js +9 -0
  142. package/esm/Footnote.js +3 -0
  143. package/esm/{Form.jsx → Form.js} +2 -4
  144. package/esm/{FormField.jsx → FormField.js} +20 -22
  145. package/esm/Gallery/{_GalleryItem.jsx → _GalleryItem.js} +8 -9
  146. package/esm/Gallery/{_GalleryModal.jsx → _GalleryModal.js} +11 -15
  147. package/esm/Gallery/{_GalleryModalItem.jsx → _GalleryModalItem.js} +5 -7
  148. package/esm/{Gallery.jsx → Gallery.js} +3 -4
  149. package/esm/GridBlocks.js +24 -0
  150. package/esm/{Heading.jsx → Heading.js} +2 -4
  151. package/esm/HeroBlock.js +21 -0
  152. package/esm/{IframeBlock.jsx → IframeBlock.js} +6 -6
  153. package/esm/{Illustration.jsx → Illustration.js} +1 -1
  154. package/esm/{ImageCards.jsx → ImageCards.js} +2 -3
  155. package/esm/InfoBlock.js +13 -0
  156. package/esm/{InfoHero.jsx → InfoHero.js} +9 -15
  157. package/esm/{IslandBlock.jsx → IslandBlock.js} +1 -1
  158. package/esm/{IslandPageBlock.jsx → IslandPageBlock.js} +1 -1
  159. package/esm/LabeledTextBlock.js +14 -0
  160. package/esm/Layout.js +52 -0
  161. package/esm/MainMenu/_Auxiliary.js +13 -0
  162. package/esm/MainMenu/_PrimaryPanel.js +22 -0
  163. package/esm/{MainMenu.jsx → MainMenu.js} +27 -40
  164. package/esm/MiniMetrics.js +12 -0
  165. package/esm/Modal.js +14 -0
  166. package/esm/{NameCard.jsx → NameCard.js} +18 -23
  167. package/esm/NameCards.js +7 -0
  168. package/esm/{NewsHero.jsx → NewsHero.js} +7 -9
  169. package/esm/PageFilter.js +15 -0
  170. package/esm/{PageHeading.jsx → PageHeading.js} +2 -4
  171. package/esm/ProcessOverview.js +17 -0
  172. package/esm/PullQuote.js +4 -0
  173. package/esm/{RadioButtonsGroup.jsx → RadioButtonsGroup.js} +2 -2
  174. package/esm/RadioGroup.js +7 -0
  175. package/esm/RelatedLinks.js +26 -0
  176. package/esm/{RowBlock.jsx → RowBlock.js} +1 -3
  177. package/esm/{RowBlockColumn.jsx → RowBlockColumn.js} +2 -4
  178. package/esm/{SearchInput.jsx → SearchInput.js} +4 -6
  179. package/esm/SearchResults/_SearchResultsItem.js +15 -0
  180. package/esm/{SearchResults.jsx → SearchResults.js} +27 -36
  181. package/esm/{SeenEffect.jsx → SeenEffect.js} +1 -1
  182. package/esm/{Selectbox.jsx → Selectbox.js} +1 -1
  183. package/esm/{ShareButtons.jsx → ShareButtons.js} +6 -12
  184. package/esm/{Sharpie.jsx → Sharpie.js} +1 -1
  185. package/esm/{SiteSearchAutocomplete.jsx → SiteSearchAutocomplete.js} +5 -7
  186. package/esm/{SiteSearchCurtain.jsx → SiteSearchCurtain.js} +1 -5
  187. package/esm/{SiteSearchInput.jsx → SiteSearchInput.js} +10 -12
  188. package/esm/{Skeleton.jsx → Skeleton.js} +5 -5
  189. package/esm/{SubHeading.jsx → SubHeading.js} +2 -4
  190. package/esm/{Tabs.jsx → Tabs.js} +12 -12
  191. package/esm/{TagPill.jsx → TagPill.js} +11 -16
  192. package/esm/{TextBlock.jsx → TextBlock.js} +2 -4
  193. package/esm/{TextButton.jsx → TextButton.js} +1 -1
  194. package/esm/{TextInput.jsx → TextInput.js} +1 -1
  195. package/esm/{VSpacer.jsx → VSpacer.js} +1 -1
  196. package/esm/{VerticalTabsTOC.jsx → VerticalTabsTOC.js} +2 -2
  197. package/esm/WizardLayout.js +30 -0
  198. package/esm/WizardLayoutClose.js +4 -0
  199. package/esm/WizardStepper.js +25 -0
  200. package/esm/_abstract/{Button.jsx → Button.js} +2 -6
  201. package/esm/_abstract/CardList.js +36 -0
  202. package/esm/_abstract/{Image.jsx → Image.js} +10 -12
  203. package/esm/_abstract/{Link.jsx → Link.js} +0 -0
  204. package/esm/_abstract/TogglerGroup.js +29 -0
  205. package/esm/_abstract/{TogglerGroupField.jsx → TogglerGroupField.js} +3 -3
  206. package/esm/_abstract/{TogglerInput.jsx → TogglerInput.js} +13 -15
  207. package/esm/_abstract/{_AbstractCarousel.jsx → _AbstractCarousel.js} +7 -10
  208. package/esm/_abstract/_Blings.js +12 -0
  209. package/esm/_abstract/_Block.js +24 -0
  210. package/esm/_abstract/_Quote.js +8 -0
  211. package/esm/_abstract/{breakOnNL.jsx → breakOnNL.js} +1 -1
  212. package/package.json +91 -91
  213. package/ArticleCarousel/_ArticleCarouselCard.jsx +0 -32
  214. package/BreadCrumbs.jsx +0 -36
  215. package/ContentImage.jsx +0 -18
  216. package/FeatureList.jsx +0 -28
  217. package/FooterBadges.jsx +0 -21
  218. package/FooterInfo.jsx +0 -19
  219. package/GridBlocks.jsx +0 -40
  220. package/InfoBlock.jsx +0 -23
  221. package/Layout.jsx +0 -69
  222. package/MainMenu/_PrimaryPanel.jsx +0 -37
  223. package/Modal.jsx +0 -21
  224. package/ProcessOverview.jsx +0 -25
  225. package/SearchResults/_SearchResultsItem.jsx +0 -24
  226. package/WizardLayout.jsx +0 -44
  227. package/WizardStepper.jsx +0 -34
  228. package/_abstract/CardList.jsx +0 -46
  229. package/_abstract/TogglerGroup.jsx +0 -36
  230. package/_abstract/_Block.jsx +0 -32
  231. package/esm/AccordionList.jsx +0 -33
  232. package/esm/ArticleCarousel/_ArticleCarouselCard.jsx +0 -25
  233. package/esm/ArticleMeta.jsx +0 -17
  234. package/esm/Attention.jsx +0 -4
  235. package/esm/BlockBreak.jsx +0 -6
  236. package/esm/BlockQuote.jsx +0 -4
  237. package/esm/BreadCrumbs.jsx +0 -31
  238. package/esm/ButtonBack.jsx +0 -4
  239. package/esm/ButtonPrimary.jsx +0 -4
  240. package/esm/ButtonSecondary.jsx +0 -4
  241. package/esm/Carousel.jsx +0 -4
  242. package/esm/CarouselStepper.jsx +0 -4
  243. package/esm/CenterColumn.jsx +0 -9
  244. package/esm/Checkbox.jsx +0 -4
  245. package/esm/ContentArticle.jsx +0 -24
  246. package/esm/ContentImage.jsx +0 -13
  247. package/esm/FeatureList.jsx +0 -23
  248. package/esm/FieldGroup.jsx +0 -10
  249. package/esm/FooterBadges.jsx +0 -16
  250. package/esm/FooterInfo.jsx +0 -14
  251. package/esm/Footnote.jsx +0 -3
  252. package/esm/GridBlocks.jsx +0 -35
  253. package/esm/HeroBlock.jsx +0 -22
  254. package/esm/InfoBlock.jsx +0 -18
  255. package/esm/LabeledTextBlock.jsx +0 -16
  256. package/esm/Layout.jsx +0 -63
  257. package/esm/MainMenu/_Auxiliary.jsx +0 -19
  258. package/esm/MainMenu/_PrimaryPanel.jsx +0 -30
  259. package/esm/MiniMetrics.jsx +0 -11
  260. package/esm/Modal.jsx +0 -16
  261. package/esm/NameCards.jsx +0 -9
  262. package/esm/PageFilter.jsx +0 -16
  263. package/esm/ProcessOverview.jsx +0 -20
  264. package/esm/PullQuote.jsx +0 -4
  265. package/esm/RadioGroup.jsx +0 -7
  266. package/esm/RelatedLinks.jsx +0 -30
  267. package/esm/SearchResults/_SearchResultsItem.jsx +0 -19
  268. package/esm/WizardLayout.jsx +0 -39
  269. package/esm/WizardLayoutClose.jsx +0 -4
  270. package/esm/WizardStepper.jsx +0 -29
  271. package/esm/_abstract/CardList.jsx +0 -39
  272. package/esm/_abstract/TogglerGroup.jsx +0 -31
  273. package/esm/_abstract/_Blings.jsx +0 -14
  274. package/esm/_abstract/_Block.jsx +0 -27
  275. package/esm/_abstract/_Quote.jsx +0 -11
@@ -10,17 +10,11 @@ const Link_1 = require("../_abstract/Link");
10
10
  const AuxiliaryPanel = (props) => {
11
11
  const { title, id, items, image } = props;
12
12
  const imageUrl = image ? (0, assets_1.getIllustrationUrl)(image) : image;
13
- return (<li className="AuxiliaryPanel" id={id} style={imageUrl
13
+ return (react_1.default.createElement("li", { className: "AuxiliaryPanel", id: id, style: imageUrl
14
14
  ? { '--menu-auxiliary-image': `url(${imageUrl})` }
15
- : undefined}>
16
- <h3 className="AuxiliaryPanel__title">{title}</h3>
17
- <ul className="AuxiliaryPanel__items">
18
- {items.map((item, i) => (<li key={i} className="AuxiliaryPanel__item" aria-current={item.current || undefined}>
19
- <Link_1.Link className="AuxiliaryPanel__link" href={item.href} target={item.target} lang={item.lang}>
20
- {item.label}
21
- </Link_1.Link>
22
- </li>))}
23
- </ul>
24
- </li>);
15
+ : undefined },
16
+ react_1.default.createElement("h3", { className: "AuxiliaryPanel__title" }, title),
17
+ react_1.default.createElement("ul", { className: "AuxiliaryPanel__items" }, items.map((item, i) => (react_1.default.createElement("li", { key: i, className: "AuxiliaryPanel__item", "aria-current": item.current || undefined },
18
+ react_1.default.createElement(Link_1.Link, { className: "AuxiliaryPanel__link", href: item.href, target: item.target, lang: item.lang }, item.label)))))));
25
19
  };
26
20
  exports.AuxiliaryPanel = AuxiliaryPanel;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PrimaryPanel = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const getBemClass_1 = __importDefault(require("@hugsmidjan/react/utils/getBemClass"));
9
+ const Link_1 = require("../_abstract/Link");
10
+ const PrimaryPanel = (props) => {
11
+ const { setActivePanel, panel, isParent, isActive, isBrowser, texts } = props;
12
+ const { items } = panel;
13
+ return (react_1.default.createElement("li", { ref: isActive ? props.activeRef : undefined, className: (0, getBemClass_1.default)('PrimaryPanel', [
14
+ isParent && 'parent',
15
+ isActive && 'active',
16
+ items.length > 5 && 'twocol', // TODO: allow setting twocol manually?
17
+ ]), id: panel.id },
18
+ react_1.default.createElement("h3", { className: "PrimaryPanel__title" },
19
+ ' ',
20
+ isBrowser && !isActive ? (react_1.default.createElement("button", { className: "MainMenu__mega__title-toggler", "aria-controls": panel.id, onClick: () => setActivePanel(panel, false), "aria-pressed": isActive, type: "button" }, panel.title)) : (panel.title)),
21
+ react_1.default.createElement("ul", { className: "PrimaryPanel__items" }, items.map((item, i) => (react_1.default.createElement("li", { key: i, className: "PrimaryPanel__item", "aria-current": item.current || undefined },
22
+ react_1.default.createElement(Link_1.Link, { className: "PrimaryPanel__link", href: item.href, target: item.target, lang: item.lang },
23
+ react_1.default.createElement("span", { className: "PrimaryPanel__linkTitle" }, item.label),
24
+ ' ',
25
+ react_1.default.createElement("small", { className: "PrimaryPanel__summary" }, item.summary),
26
+ ' '))))),
27
+ isBrowser && isActive && (react_1.default.createElement("button", { className: "MainMenu__megapanel__backtomenu", "aria-controls": panel.id, "aria-label": texts.backToMenuLong, onClick: () => setActivePanel(undefined), type: "button" }, texts.backToMenu))));
28
+ };
29
+ exports.PrimaryPanel = PrimaryPanel;
@@ -130,49 +130,36 @@ const MainMenu = (props) => {
130
130
  if (menuItems.length === 0) {
131
131
  return null;
132
132
  }
133
- return (<nav className="MainMenu" aria-label={title} data-sprinkled={isBrowser} ref={menuElmRef}>
134
- <h2 className="MainMenu__title">{title}</h2>
135
- <ul className="MainMenu__items">
136
- {menuItems.map((item, i) => {
133
+ return (react_1.default.createElement("nav", { className: "MainMenu", "aria-label": title, "data-sprinkled": isBrowser, ref: menuElmRef },
134
+ react_1.default.createElement("h2", { className: "MainMenu__title" }, title),
135
+ react_1.default.createElement("ul", { className: "MainMenu__items" }, menuItems.map((item, i) => {
137
136
  if (item === '---') {
138
- return <li key={i} className="MainMenu__separator" aria-hidden="true"/>;
137
+ return react_1.default.createElement("li", { key: i, className: "MainMenu__separator", "aria-hidden": "true" });
139
138
  }
140
139
  const { label, labelLong, lang, controlsId, onClick } = item;
141
140
  const pressed = (activePanel && controlsId === activePanel.id) || undefined;
142
- return (<li key={i} className={(0, getBemClass_1.default)('MainMenu__item', item.modifier)} aria-current={item.current || undefined}>
143
- {onClick || (!!item.megaPanel && (isBrowser || item.href != null)) ? (
144
- // only print script-driven buttons in the browser
145
- <button className="MainMenu__link" onClick={() => {
146
- item.megaPanel && setActivePanel(item.megaPanel);
147
- onClick && onClick(i, item);
148
- onItemClick && onItemClick(i, item);
149
- }} ref={pressed && pressedLinkRef} aria-pressed={pressed} aria-controls={controlsId} aria-label={labelLong} title={labelLong} // For auto-tooltips on desktop
150
- lang={lang} type="button">
151
- {label}
152
- </button>) : item.href != null ? (
153
- // always render links server-side
154
- <Link_1.Link className="MainMenu__link" href={item.href} aria-label={labelLong} title={labelLong} // For auto-tooltips on desktop
155
- onClick={onItemClick && (() => onItemClick(i, item))} lang={lang}>
156
- {label}
157
- </Link_1.Link>) : undefined // skip rendering non-link menu items server side
158
- }
159
- </li>);
160
- })}
161
- </ul>
162
- {'\n\n'}
163
- {megaPanels.length > 0 && (<div className={(0, getBemClass_1.default)('MainMenu__panelsWrap', [activePanel && 'active'])}>
164
- <ul className="MainMenu__panels">
165
- {megaPanels.map((panel, i) => {
166
- if (!panel.items.length) {
167
- return;
168
- }
169
- const isActive = activePanel === panel || laggyActivePanel === panel || undefined;
170
- const isParent = !!panel.items.find((item) => item.current);
171
- return (<_PrimaryPanel_1.PrimaryPanel key={i} isParent={isParent} isActive={isActive} panel={panel} isBrowser={isBrowser} setActivePanel={setActivePanel} texts={(0, i18n_1.getTexts)(props, exports.defaultMainMenuTexts)} activeRef={activePanelRef}/>);
172
- })}
173
- {auxiliaryPanel && <_Auxiliary_1.AuxiliaryPanel {...auxiliaryPanel}/>}
174
- </ul>
175
- </div>)}
176
- </nav>);
141
+ return (react_1.default.createElement("li", { key: i, className: (0, getBemClass_1.default)('MainMenu__item', item.modifier), "aria-current": item.current || undefined }, onClick || (!!item.megaPanel && (isBrowser || item.href != null)) ? (
142
+ // only print script-driven buttons in the browser
143
+ react_1.default.createElement("button", { className: "MainMenu__link", onClick: () => {
144
+ item.megaPanel && setActivePanel(item.megaPanel);
145
+ onClick && onClick(i, item);
146
+ onItemClick && onItemClick(i, item);
147
+ }, ref: pressed && pressedLinkRef, "aria-pressed": pressed, "aria-controls": controlsId, "aria-label": labelLong, title: labelLong, lang: lang, type: "button" }, label)) : item.href != null ? (
148
+ // always render links server-side
149
+ react_1.default.createElement(Link_1.Link, { className: "MainMenu__link", href: item.href, "aria-label": labelLong, title: labelLong, onClick: onItemClick && (() => onItemClick(i, item)), lang: lang }, label)) : undefined // skip rendering non-link menu items server side
150
+ ));
151
+ })),
152
+ '\n\n',
153
+ megaPanels.length > 0 && (react_1.default.createElement("div", { className: (0, getBemClass_1.default)('MainMenu__panelsWrap', [activePanel && 'active']) },
154
+ react_1.default.createElement("ul", { className: "MainMenu__panels" },
155
+ megaPanels.map((panel, i) => {
156
+ if (!panel.items.length) {
157
+ return;
158
+ }
159
+ const isActive = activePanel === panel || laggyActivePanel === panel || undefined;
160
+ const isParent = !!panel.items.find((item) => item.current);
161
+ return (react_1.default.createElement(_PrimaryPanel_1.PrimaryPanel, { key: i, isParent: isParent, isActive: isActive, panel: panel, isBrowser: isBrowser, setActivePanel: setActivePanel, texts: (0, i18n_1.getTexts)(props, exports.defaultMainMenuTexts), activeRef: activePanelRef }));
162
+ }),
163
+ auxiliaryPanel && react_1.default.createElement(_Auxiliary_1.AuxiliaryPanel, Object.assign({}, auxiliaryPanel)))))));
177
164
  };
178
165
  exports.default = MainMenu;
@@ -8,9 +8,10 @@ const Button_1 = __importDefault(require("./_abstract/Button"));
8
8
  const SeenEffect_1 = __importDefault(require("./SeenEffect"));
9
9
  const MiniMetrics = (props) => {
10
10
  const { text, moreButton, startSeen } = props;
11
- return (<SeenEffect_1.default className="MiniMetrics" startSeen={startSeen}>
12
- <strong className="MiniMetrics__text">{text}</strong> {'\n'}
13
- <Button_1.default bem="MiniMetrics__more" {...moreButton}/>
14
- </SeenEffect_1.default>);
11
+ return (react_1.default.createElement(SeenEffect_1.default, { className: "MiniMetrics", startSeen: startSeen },
12
+ react_1.default.createElement("strong", { className: "MiniMetrics__text" }, text),
13
+ " ",
14
+ '\n',
15
+ react_1.default.createElement(Button_1.default, Object.assign({ bem: "MiniMetrics__more" }, moreButton))));
15
16
  };
16
17
  exports.default = MiniMetrics;
package/Modal.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const Modal_1 = __importDefault(require("@hugsmidjan/react/Modal"));
8
+ const Modal = (props) => {
9
+ const { closeDelay = 500, texts = {
10
+ closeButton: 'Loka ',
11
+ }, bling, children, render = () => children, } = props;
12
+ return (react_1.default.createElement(Modal_1.default, Object.assign({}, props, { bodyWrap: false, bem: "Modal", closeDelay: closeDelay, texts: texts, render: (args) => bling ? (react_1.default.createElement(react_1.default.Fragment, null,
13
+ render(args),
14
+ react_1.default.createElement("div", { className: "Modal__blings" },
15
+ react_1.default.createElement("div", { className: "Modal__blings__inner" }, bling)))) : (render(args)),
16
+ // eslint-disable-next-line react/no-children-prop
17
+ children: undefined })));
18
+ };
19
+ exports.default = Modal;
@@ -48,16 +48,16 @@ const NameCard = (props) => {
48
48
  }
49
49
  const texts = (0, i18n_1.getTexts)(props, defaultTexts);
50
50
  const { updatedLabel, availableLabel, unavailableLabel } = texts;
51
- return (<div className="NameCard__meta">
52
- {available != null && (<span className={(0, getBemClass_1.default)('NameCard__availability', available && 'available')}>
53
- {available
51
+ return (react_1.default.createElement("div", { className: "NameCard__meta" },
52
+ available != null && (react_1.default.createElement("span", { className: (0, getBemClass_1.default)('NameCard__availability', available && 'available') },
53
+ available
54
54
  ? availableLabel || texts.vacancyLabel
55
- : unavailableLabel || texts.noVacancyLabel}{' '}
56
- </span>)}
57
- {updated != null && (<span className="NameCard__updated">
58
- {updatedLabel} {formatDate(updated)}
59
- </span>)}
60
- </div>);
55
+ : unavailableLabel || texts.noVacancyLabel,
56
+ ' ')),
57
+ updated != null && (react_1.default.createElement("span", { className: "NameCard__updated" },
58
+ updatedLabel,
59
+ " ",
60
+ formatDate(updated)))));
61
61
  };
62
62
  let contactInfo = props.contactInfo;
63
63
  if (!contactInfo) {
@@ -74,19 +74,14 @@ const NameCard = (props) => {
74
74
  }
75
75
  return item;
76
76
  });
77
- return (<div className="NameCard">
78
- <div className="NameCard__name">{name}</div>
79
- {contactInfo.length > 0 && (<p className="NameCard__contactinfo">
80
- {cleanContactInfo.map((item, i) => (<>
81
- {typeof item === 'string' ? (<span className="NameCard__contactinfo__item">{item}</span>) : (<Button_1.default key={i} bem="NameCard__contactinfo__item" href={item.href} aria-label={item.longLabel} title={item.longLabel}>
82
- {item.label}
83
- </Button_1.default>)}{' '}
84
- </>))}
85
- </p>)}
86
- {location && <p className="NameCard__location">{renderContent(location)}</p>}
87
- {hours && <p className="NameCard__hours">{renderContent(hours)}</p>}
88
- {aboutText && <p className="NameCard__abouttext">{renderContent(aboutText)}</p>}
89
- {renderMeta()}
90
- </div>);
77
+ return (react_1.default.createElement("div", { className: "NameCard" },
78
+ react_1.default.createElement("div", { className: "NameCard__name" }, name),
79
+ contactInfo.length > 0 && (react_1.default.createElement("p", { className: "NameCard__contactinfo" }, cleanContactInfo.map((item, i) => (react_1.default.createElement(react_1.default.Fragment, null,
80
+ typeof item === 'string' ? (react_1.default.createElement("span", { className: "NameCard__contactinfo__item" }, item)) : (react_1.default.createElement(Button_1.default, { key: i, bem: "NameCard__contactinfo__item", href: item.href, "aria-label": item.longLabel, title: item.longLabel }, item.label)),
81
+ ' '))))),
82
+ location && react_1.default.createElement("p", { className: "NameCard__location" }, renderContent(location)),
83
+ hours && react_1.default.createElement("p", { className: "NameCard__hours" }, renderContent(hours)),
84
+ aboutText && react_1.default.createElement("p", { className: "NameCard__abouttext" }, renderContent(aboutText)),
85
+ renderMeta()));
91
86
  };
92
87
  exports.default = NameCard;
@@ -7,8 +7,6 @@ const react_1 = __importDefault(require("react"));
7
7
  const NameCard_1 = __importDefault(require("./NameCard"));
8
8
  const NameCards = (props) => {
9
9
  const { items } = props;
10
- return (<div className="NameCards">
11
- {items.map((item, i) => (<NameCard_1.default key={i} {...item}/>))}
12
- </div>);
10
+ return (react_1.default.createElement("div", { className: "NameCards" }, items.map((item, i) => (react_1.default.createElement(NameCard_1.default, Object.assign({ key: i }, item))))));
13
11
  };
14
12
  exports.default = NameCards;
@@ -80,14 +80,12 @@ const NewsHero = (props) => {
80
80
  const { title, sharing = true, meta, summary, image, blingType, startSeen } = props;
81
81
  const [ref] = (0, seenEffect_1.useSeenEffect)(startSeen);
82
82
  const blings = (blingType && blingOptions[blingType]) || (0, hanna_utils_1.getStableRandomItem)(blingOptions, title);
83
- return (<div className={(0, getBemClass_1.default)('NewsHero', [!image && 'align--right'])} ref={ref}>
84
- <div className="NewsHero__content">
85
- <h1 className="NewsHero__title">{title}</h1>
86
- {meta && <span className="NewsHero__meta">{meta}</span>}
87
- <div className="NewsHero__summary">{summary}</div>
88
- {sharing === true ? <ShareButtons_1.default /> : sharing && sharing()}
89
- </div>
90
- {image ? (<Image_1.default className="NewsHero__image" {...image}/>) : (<_Blings_1.default blings={blings}/>)}
91
- </div>);
83
+ return (react_1.default.createElement("div", { className: (0, getBemClass_1.default)('NewsHero', [!image && 'align--right']), ref: ref },
84
+ react_1.default.createElement("div", { className: "NewsHero__content" },
85
+ react_1.default.createElement("h1", { className: "NewsHero__title" }, title),
86
+ meta && react_1.default.createElement("span", { className: "NewsHero__meta" }, meta),
87
+ react_1.default.createElement("div", { className: "NewsHero__summary" }, summary),
88
+ sharing === true ? react_1.default.createElement(ShareButtons_1.default, null) : sharing && sharing()),
89
+ image ? (react_1.default.createElement(Image_1.default, Object.assign({ className: "NewsHero__image" }, image))) : (react_1.default.createElement(_Blings_1.default, { blings: blings }))));
92
90
  };
93
91
  exports.default = NewsHero;
@@ -10,12 +10,11 @@ const Footnote_1 = __importDefault(require("./Footnote"));
10
10
  const PageFilter = (props) => {
11
11
  const { title, summary, footnote, filters, children, buttonRow, underlap, startSeen } = props;
12
12
  const [ref] = (0, seenEffect_1.useSeenEffect)(startSeen);
13
- return (<div className={(0, getBemClass_1.default)('PageFilter', underlap && 'underlap')} ref={ref}>
14
- <h2 className="PageFilter__title">{title}</h2>
15
- {summary && <div className="PageFilter__summary">{summary}</div>}
16
- <div className="PageFilter__filters">{filters || children}</div>
17
- <div className="PageFilter__buttons">{buttonRow}</div>
18
- {footnote && <Footnote_1.default>{footnote}</Footnote_1.default>}
19
- </div>);
13
+ return (react_1.default.createElement("div", { className: (0, getBemClass_1.default)('PageFilter', underlap && 'underlap'), ref: ref },
14
+ react_1.default.createElement("h2", { className: "PageFilter__title" }, title),
15
+ summary && react_1.default.createElement("div", { className: "PageFilter__summary" }, summary),
16
+ react_1.default.createElement("div", { className: "PageFilter__filters" }, filters || children),
17
+ react_1.default.createElement("div", { className: "PageFilter__buttons" }, buttonRow),
18
+ footnote && react_1.default.createElement(Footnote_1.default, null, footnote)));
20
19
  };
21
20
  exports.default = PageFilter;
@@ -9,11 +9,9 @@ const seenEffect_1 = require("./utils/seenEffect");
9
9
  const PageHeading = (props) => {
10
10
  const { Tag = 'h1', align, small, children, startSeen } = props;
11
11
  const [ref] = (0, seenEffect_1.useSeenEffect)(startSeen);
12
- return (<Tag className={(0, getBemClass_1.default)('PageHeading', [
12
+ return (react_1.default.createElement(Tag, { className: (0, getBemClass_1.default)('PageHeading', [
13
13
  small && 'small',
14
14
  align === 'right' && 'align--' + align,
15
- ])} ref={ref}>
16
- {children}
17
- </Tag>);
15
+ ]), ref: ref }, children));
18
16
  };
19
17
  exports.default = PageHeading;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const getBemClass_1 = __importDefault(require("@hugsmidjan/react/utils/getBemClass"));
8
+ const ProcessOverview = (props) => {
9
+ const { title, items, attention, transparent, narrow } = props;
10
+ return (react_1.default.createElement("div", { className: (0, getBemClass_1.default)('ProcessOverview', [
11
+ transparent && 'transparent',
12
+ narrow && 'narrow',
13
+ ]) },
14
+ react_1.default.createElement("h2", { className: "ProcessOverview__title" }, title),
15
+ items.map(({ title, content }, i) => {
16
+ return (react_1.default.createElement("div", { key: i, className: "ProcessOverview__item" },
17
+ react_1.default.createElement("h3", { className: "ProcessOverview__item__title" }, title),
18
+ react_1.default.createElement("div", { className: "ProcessOverview__item__content" }, content)));
19
+ }),
20
+ attention && react_1.default.createElement("div", { className: "ProcessOverview__attention" }, attention)));
21
+ };
22
+ exports.default = ProcessOverview;
@@ -5,5 +5,5 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
7
  const _Quote_1 = require("./_abstract/_Quote");
8
- const PullQuote = (props) => <_Quote_1._Quote bem="PullQuote" {...props}/>;
8
+ const PullQuote = (props) => react_1.default.createElement(_Quote_1._Quote, Object.assign({ bem: "PullQuote" }, props));
9
9
  exports.default = PullQuote;
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
7
  const TogglerGroupField_1 = __importDefault(require("./_abstract/TogglerGroupField"));
8
8
  const TogglerInput_1 = __importDefault(require("./_abstract/TogglerInput"));
9
- const RadioButton = (props) => (<TogglerInput_1.default {...props} bem="RadioButton" type="radio"/>);
9
+ const RadioButton = (props) => (react_1.default.createElement(TogglerInput_1.default, Object.assign({}, props, { bem: "RadioButton", type: "radio" })));
10
10
  const RadioButtonsGroup = (props) => {
11
11
  if (props.layout) {
12
12
  console.warn('`RadioButtonsGroupProps.layout` is deprecated.');
@@ -14,6 +14,6 @@ const RadioButtonsGroup = (props) => {
14
14
  if (props.columns) {
15
15
  console.warn('`RadioButtonsGroupProps.columns` is deprecated.');
16
16
  }
17
- return <TogglerGroupField_1.default {...props} bem="RadioButtonsGroup" Toggler={RadioButton}/>;
17
+ return react_1.default.createElement(TogglerGroupField_1.default, Object.assign({}, props, { bem: "RadioButtonsGroup", Toggler: RadioButton }));
18
18
  };
19
19
  exports.default = RadioButtonsGroup;
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
7
  const TogglerGroupField_1 = __importDefault(require("./_abstract/TogglerGroupField"));
8
8
  const TogglerInput_1 = __importDefault(require("./_abstract/TogglerInput"));
9
- const Radio = (props) => (<TogglerInput_1.default {...props} bem="Radio" type="radio"/>);
10
- const RadioGroup = (props) => (<TogglerGroupField_1.default {...props} bem="RadioGroup" modifier={props.layout} Toggler={Radio}/>);
9
+ const Radio = (props) => (react_1.default.createElement(TogglerInput_1.default, Object.assign({}, props, { bem: "Radio", type: "radio" })));
10
+ const RadioGroup = (props) => (react_1.default.createElement(TogglerGroupField_1.default, Object.assign({}, props, { bem: "RadioGroup", modifier: props.layout, Toggler: Radio })));
11
11
  RadioGroup.__Radio = Radio;
12
12
  exports.default = RadioGroup;
@@ -17,19 +17,15 @@ const RelatedLinks = (props) => {
17
17
  return null;
18
18
  }
19
19
  const TitleTag = props.titleTag || 'h3';
20
- return (<div className="RelatedLinks">
21
- {title && <TitleTag className="RelatedLinks__title">{title}</TitleTag>}
22
- <ul className="RelatedLinks__list">
23
- {links.map(({ href, label, type, target }, i) => {
20
+ return (react_1.default.createElement("div", { className: "RelatedLinks" },
21
+ title && react_1.default.createElement(TitleTag, { className: "RelatedLinks__title" }, title),
22
+ react_1.default.createElement("ul", { className: "RelatedLinks__list" }, links.map(({ href, label, type, target }, i) => {
24
23
  type = type && types[type] ? type : undefined;
25
- return (<li key={i} className="RelatedLinks__item">
26
- <Link_1.Link className="RelatedLinks__link" href={href} data-type={type} target={target}>
27
- {' '}
28
- {label}{' '}
29
- </Link_1.Link>
30
- </li>);
31
- })}
32
- </ul>
33
- </div>);
24
+ return (react_1.default.createElement("li", { key: i, className: "RelatedLinks__item" },
25
+ react_1.default.createElement(Link_1.Link, { className: "RelatedLinks__link", href: href, "data-type": type, target: target },
26
+ ' ',
27
+ label,
28
+ ' ')));
29
+ }))));
34
30
  };
35
31
  exports.default = RelatedLinks;
@@ -9,8 +9,6 @@ const seenEffect_1 = require("./utils/seenEffect");
9
9
  const RowBlock = (props) => {
10
10
  const { right, modifier, className, children, startSeen } = props;
11
11
  const [ref] = (0, seenEffect_1.useSeenEffect)(startSeen);
12
- return (<div className={(0, getBemClass_1.default)('RowBlock', [modifier, right && 'align--right'], className)} ref={ref}>
13
- {children}
14
- </div>);
12
+ return (react_1.default.createElement("div", { className: (0, getBemClass_1.default)('RowBlock', [modifier, right && 'align--right'], className), ref: ref }, children));
15
13
  };
16
14
  exports.default = RowBlock;
@@ -7,12 +7,10 @@ const react_1 = __importDefault(require("react"));
7
7
  const getBemClass_1 = __importDefault(require("@hugsmidjan/react/utils/getBemClass"));
8
8
  const RowBlockColumn = (props) => {
9
9
  const { background, narrow, children } = props;
10
- return (<div className={(0, getBemClass_1.default)('RowBlockColumn', [
10
+ return (react_1.default.createElement("div", { className: (0, getBemClass_1.default)('RowBlockColumn', [
11
11
  narrow && 'narrow',
12
12
  background && 'background',
13
13
  background === 'primary' && 'background--primary',
14
- ])}>
15
- {children}
16
- </div>);
14
+ ]) }, children));
17
15
  };
18
16
  exports.default = RowBlockColumn;
@@ -53,11 +53,9 @@ const SearchInput = (props) => {
53
53
  setHasValue(!!e.target.value);
54
54
  onChange && onChange(e);
55
55
  };
56
- return (<FormField_1.default className={(0, getBemClass_1.default)('SearchInput', [], className)} ssr={ssr} small={small} label={label} empty={empty} filled={filled} assistText={assistText} hideLabel={hideLabel} disabled={disabled} readOnly={readOnly} invalid={invalid} errorMessage={errorMessage} required={required} reqText={reqText} id={id} renderInput={(className, inputProps, addFocusProps) => (<div className={className.input} {...addFocusProps()}>
57
- <input className="SearchInput__input" onChange={_onChange} {...inputProps} {...inputElementProps} ref={props.inputRef}/>{' '}
58
- {onButtonClick && (<button className="SearchInput__button" type="button" onClick={onButtonClick} title={buttonText} ref={props.buttonRef}>
59
- {buttonText}
60
- </button>)}
61
- </div>)}/>);
56
+ return (react_1.default.createElement(FormField_1.default, { className: (0, getBemClass_1.default)('SearchInput', [], className), ssr: ssr, small: small, label: label, empty: empty, filled: filled, assistText: assistText, hideLabel: hideLabel, disabled: disabled, readOnly: readOnly, invalid: invalid, errorMessage: errorMessage, required: required, reqText: reqText, id: id, renderInput: (className, inputProps, addFocusProps) => (react_1.default.createElement("div", Object.assign({ className: className.input }, addFocusProps()),
57
+ react_1.default.createElement("input", Object.assign({ className: "SearchInput__input", onChange: _onChange }, inputProps, inputElementProps, { ref: props.inputRef })),
58
+ ' ',
59
+ onButtonClick && (react_1.default.createElement("button", { className: "SearchInput__button", type: "button", onClick: onButtonClick, title: buttonText, ref: props.buttonRef }, buttonText)))) }));
62
60
  };
63
61
  exports.default = SearchInput;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const Image_1 = __importDefault(require("../_abstract/Image"));
8
+ const Link_1 = require("../_abstract/Link");
9
+ const SearchResultsItem = (props) => {
10
+ const { highlight, title, summary, href, meta, image } = props;
11
+ const bem = highlight ? 'SearchResultsHighlightItem' : 'SearchResultsItem';
12
+ const metaArr = (Array.isArray(meta) ? meta : [meta]);
13
+ return (react_1.default.createElement("li", { className: bem },
14
+ react_1.default.createElement(Link_1.Link, { className: bem + '__link', href: href },
15
+ react_1.default.createElement("h3", { className: bem + '__title' }, title),
16
+ metaArr.length > 0 && (react_1.default.createElement("span", { className: bem + '__meta' }, metaArr.map((item, i) => typeof item === 'function' ? item() : item && react_1.default.createElement("span", { key: i }, item)))),
17
+ highlight && image && react_1.default.createElement(Image_1.default, { className: bem + '__image', src: image }),
18
+ react_1.default.createElement("div", { className: bem + '__summary', dangerouslySetInnerHTML: { __html: summary } }))));
19
+ };
20
+ exports.default = SearchResultsItem;
@@ -36,11 +36,10 @@ const i18n_1 = require("@reykjavik/hanna-utils/i18n");
36
36
  const _SearchResultsItem_1 = __importDefault(require("./SearchResults/_SearchResultsItem"));
37
37
  const Alert_1 = __importDefault(require("./Alert"));
38
38
  const Tabs_1 = __importDefault(require("./Tabs"));
39
- const renderDefaultErrorText = () => (<>
40
- Úps, það hefur komið upp villa. bjóða þér prófa aftur leita?
41
- <br />
42
- Ef ekkert lát er á villunni þá kunnum við meta þú látir okkur vita.
43
- </>);
39
+ const renderDefaultErrorText = () => (react_1.default.createElement(react_1.default.Fragment, null,
40
+ "\u00DAps, \u00FEa\u00F0 hefur komi\u00F0 upp villa. M\u00E1 bj\u00F3\u00F0a \u00FE\u00E9r a\u00F0 pr\u00F3fa aftur a\u00F0 leita?",
41
+ react_1.default.createElement("br", null),
42
+ "Ef ekkert l\u00E1t er \u00E1 villunni \u00FE\u00E1 kunnum vi\u00F0 a\u00F0 meta a\u00F0 \u00FE\u00FA l\u00E1tir okkur vita."));
44
43
  const defaultTexts = {
45
44
  en: {
46
45
  lang: 'en',
@@ -65,11 +64,9 @@ const SearchResults_Tabs = (props) => {
65
64
  label,
66
65
  badge: (0, prettyNum_1.prettyNum)(count, { lang }),
67
66
  })), [filters, lang]);
68
- return tabs.length ? (<Tabs_1.default role="tablist" aria-controls={domid} tabs={tabs} activeIdx={activeIdx || 0} onSetActive={(i) => setFilter && setFilter(i)}/>) : null;
67
+ return tabs.length ? (react_1.default.createElement(Tabs_1.default, { role: "tablist", "aria-controls": domid, tabs: tabs, activeIdx: activeIdx || 0, onSetActive: (i) => setFilter && setFilter(i) })) : null;
69
68
  };
70
- const LoadingScaffold = (props) => props.count ? (<ol className="SearchResults__list SearchResults__list--loading">
71
- {(0, range_1.default)(1, props.count).map((item, i) => (<_SearchResultsItem_1.default key={i} title="..." summary="" href=""/>))}
72
- </ol>) : null;
69
+ const LoadingScaffold = (props) => props.count ? (react_1.default.createElement("ol", { className: "SearchResults__list SearchResults__list--loading" }, (0, range_1.default)(1, props.count).map((item, i) => (react_1.default.createElement(_SearchResultsItem_1.default, { key: i, title: "...", summary: "", href: "" }))))) : null;
73
70
  // ===========================================================================
74
71
  const NUM_AUTOLOADS = 2;
75
72
  const SearchResults__loadmore = (props) => {
@@ -89,58 +86,52 @@ const SearchResults__loadmore = (props) => {
89
86
  }
90
87
  }, [theEndIsNigh, loadMore]);
91
88
  const moreAvailable = status === 'results' && moreCount && loadMore;
92
- return status === 'loadingmore' ? (<LoadingScaffold count={Math.min(pageSize, moreCount)}/>) : moreAvailable ? (<button ref={refFn} className="SearchResults__loadmore" type="button" onClick={loadMore}>
93
- {texts.loadMore}{' '}
94
- <span className="SearchResults__loadmore__count">
95
- ({(0, prettyNum_1.prettyNum)(moreCount, { lang })})
96
- </span>
97
- </button>) : null;
89
+ return status === 'loadingmore' ? (react_1.default.createElement(LoadingScaffold, { count: Math.min(pageSize, moreCount) })) : moreAvailable ? (react_1.default.createElement("button", { ref: refFn, className: "SearchResults__loadmore", type: "button", onClick: loadMore },
90
+ texts.loadMore,
91
+ ' ',
92
+ react_1.default.createElement("span", { className: "SearchResults__loadmore__count" },
93
+ "(",
94
+ (0, prettyNum_1.prettyNum)(moreCount, { lang }),
95
+ ")"))) : null;
98
96
  };
99
97
  // ===========================================================================
100
98
  const renderTitle = (props, texts) => {
101
99
  const { status, totalHits, query } = props;
102
100
  const lang = texts.lang || props.lang || i18n_1.DEFAULT_LANG;
103
- return (<h2 className="SearchResults__title">
104
- {status === 'loadingquery'
101
+ return (react_1.default.createElement("h2", { className: "SearchResults__title" },
102
+ status === 'loadingquery'
105
103
  ? texts.loadQueryTitle
106
104
  : totalHits
107
105
  ? (0, prettyNum_1.prettyNum)(totalHits, { lang: lang }) +
108
106
  ' ' +
109
107
  texts.resultsTitle
110
- : texts.noResultsTitle}
111
- <span className="SearchResults__query">{query}</span>
112
- </h2>);
108
+ : texts.noResultsTitle,
109
+ react_1.default.createElement("span", { className: "SearchResults__query" }, query)));
113
110
  };
114
111
  // ---------------------------------------------------------------------------
115
112
  const renderResults = (props) => {
116
113
  const { status, pageSize, items, hits } = props;
117
114
  if (status === 'loadingquery' || status === 'loadingfilter') {
118
- return <LoadingScaffold count={Math.min(pageSize, hits || 999)}/>;
115
+ return react_1.default.createElement(LoadingScaffold, { count: Math.min(pageSize, hits || 999) });
119
116
  }
120
- return items && items.length ? (<ol className="SearchResults__list">
121
- {items.map((item, i) => (<_SearchResultsItem_1.default key={i} {...item}/>))}
122
- </ol>) : null;
117
+ return items && items.length ? (react_1.default.createElement("ol", { className: "SearchResults__list" }, items.map((item, i) => (react_1.default.createElement(_SearchResultsItem_1.default, Object.assign({ key: i }, item)))))) : null;
123
118
  };
124
119
  // ---------------------------------------------------------------------------
125
120
  const renderLoadMore = (props, texts) => {
126
121
  const { hits, items, status, pageSize, loadMore } = props;
127
- return (<SearchResults__loadmore hits={hits} numItems={items && items.length} status={status} pageSize={pageSize} loadMore={loadMore} texts={texts}/>);
122
+ return (react_1.default.createElement(SearchResults__loadmore, { hits: hits, numItems: items && items.length, status: status, pageSize: pageSize, loadMore: loadMore, texts: texts }));
128
123
  };
129
124
  // TODO: add plural translation thingy for result string
130
125
  const SearchResults = (props) => {
131
126
  const { filters, activeFilterIdx, setFilter, status, errorText } = props;
132
127
  const texts = (0, i18n_1.getTexts)(props, defaultTexts);
133
128
  const domid = (0, hooks_1.useDomid)();
134
- return (<div className={(0, getBemClass_1.default)('SearchResults', status !== 'results' && status)}>
135
- {renderTitle(props, texts)}
136
-
137
- <SearchResults_Tabs domid={domid} filters={filters} activeIdx={activeFilterIdx} setFilter={setFilter} lang={texts.lang}/>
138
-
139
- <div className="SearchResults__results" id={domid}>
140
- {renderResults(props)}
141
- {status === 'error' && (<Alert_1.default type="error">{errorText || renderDefaultErrorText()}</Alert_1.default>)}
142
- {renderLoadMore(props, texts)}
143
- </div>
144
- </div>);
129
+ return (react_1.default.createElement("div", { className: (0, getBemClass_1.default)('SearchResults', status !== 'results' && status) },
130
+ renderTitle(props, texts),
131
+ react_1.default.createElement(SearchResults_Tabs, { domid: domid, filters: filters, activeIdx: activeFilterIdx, setFilter: setFilter, lang: texts.lang }),
132
+ react_1.default.createElement("div", { className: "SearchResults__results", id: domid },
133
+ renderResults(props),
134
+ status === 'error' && (react_1.default.createElement(Alert_1.default, { type: "error" }, errorText || renderDefaultErrorText())),
135
+ renderLoadMore(props, texts))));
145
136
  };
146
137
  exports.default = SearchResults;
@@ -19,6 +19,6 @@ const seenEffect_1 = require("./utils/seenEffect");
19
19
  const SeenEffect = (props) => {
20
20
  const { effectType, startSeen } = props, divProps = __rest(props, ["effectType", "startSeen"]);
21
21
  const [ref] = (0, seenEffect_1.useSeenEffect)(startSeen);
22
- return <div {...divProps} ref={ref} {...(0, seenEffect_1.getEffectAttr)(effectType)}/>;
22
+ return react_1.default.createElement("div", Object.assign({}, divProps, { ref: ref }, (0, seenEffect_1.getEffectAttr)(effectType)));
23
23
  };
24
24
  exports.default = SeenEffect;