@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
@@ -101,49 +101,36 @@ const MainMenu = (props) => {
101
101
  if (menuItems.length === 0) {
102
102
  return null;
103
103
  }
104
- return (<nav className="MainMenu" aria-label={title} data-sprinkled={isBrowser} ref={menuElmRef}>
105
- <h2 className="MainMenu__title">{title}</h2>
106
- <ul className="MainMenu__items">
107
- {menuItems.map((item, i) => {
104
+ return (React.createElement("nav", { className: "MainMenu", "aria-label": title, "data-sprinkled": isBrowser, ref: menuElmRef },
105
+ React.createElement("h2", { className: "MainMenu__title" }, title),
106
+ React.createElement("ul", { className: "MainMenu__items" }, menuItems.map((item, i) => {
108
107
  if (item === '---') {
109
- return <li key={i} className="MainMenu__separator" aria-hidden="true"/>;
108
+ return React.createElement("li", { key: i, className: "MainMenu__separator", "aria-hidden": "true" });
110
109
  }
111
110
  const { label, labelLong, lang, controlsId, onClick } = item;
112
111
  const pressed = (activePanel && controlsId === activePanel.id) || undefined;
113
- return (<li key={i} className={getBemClass('MainMenu__item', item.modifier)} aria-current={item.current || undefined}>
114
- {onClick || (!!item.megaPanel && (isBrowser || item.href != null)) ? (
115
- // only print script-driven buttons in the browser
116
- <button className="MainMenu__link" onClick={() => {
117
- item.megaPanel && setActivePanel(item.megaPanel);
118
- onClick && onClick(i, item);
119
- onItemClick && onItemClick(i, item);
120
- }} ref={pressed && pressedLinkRef} aria-pressed={pressed} aria-controls={controlsId} aria-label={labelLong} title={labelLong} // For auto-tooltips on desktop
121
- lang={lang} type="button">
122
- {label}
123
- </button>) : item.href != null ? (
124
- // always render links server-side
125
- <Link className="MainMenu__link" href={item.href} aria-label={labelLong} title={labelLong} // For auto-tooltips on desktop
126
- onClick={onItemClick && (() => onItemClick(i, item))} lang={lang}>
127
- {label}
128
- </Link>) : undefined // skip rendering non-link menu items server side
129
- }
130
- </li>);
131
- })}
132
- </ul>
133
- {'\n\n'}
134
- {megaPanels.length > 0 && (<div className={getBemClass('MainMenu__panelsWrap', [activePanel && 'active'])}>
135
- <ul className="MainMenu__panels">
136
- {megaPanels.map((panel, i) => {
137
- if (!panel.items.length) {
138
- return;
139
- }
140
- const isActive = activePanel === panel || laggyActivePanel === panel || undefined;
141
- const isParent = !!panel.items.find((item) => item.current);
142
- return (<PrimaryPanel key={i} isParent={isParent} isActive={isActive} panel={panel} isBrowser={isBrowser} setActivePanel={setActivePanel} texts={getTexts(props, defaultMainMenuTexts)} activeRef={activePanelRef}/>);
143
- })}
144
- {auxiliaryPanel && <AuxiliaryPanel {...auxiliaryPanel}/>}
145
- </ul>
146
- </div>)}
147
- </nav>);
112
+ return (React.createElement("li", { key: i, className: getBemClass('MainMenu__item', item.modifier), "aria-current": item.current || undefined }, onClick || (!!item.megaPanel && (isBrowser || item.href != null)) ? (
113
+ // only print script-driven buttons in the browser
114
+ React.createElement("button", { className: "MainMenu__link", onClick: () => {
115
+ item.megaPanel && setActivePanel(item.megaPanel);
116
+ onClick && onClick(i, item);
117
+ onItemClick && onItemClick(i, item);
118
+ }, ref: pressed && pressedLinkRef, "aria-pressed": pressed, "aria-controls": controlsId, "aria-label": labelLong, title: labelLong, lang: lang, type: "button" }, label)) : item.href != null ? (
119
+ // always render links server-side
120
+ React.createElement(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
121
+ ));
122
+ })),
123
+ '\n\n',
124
+ megaPanels.length > 0 && (React.createElement("div", { className: getBemClass('MainMenu__panelsWrap', [activePanel && 'active']) },
125
+ React.createElement("ul", { className: "MainMenu__panels" },
126
+ megaPanels.map((panel, i) => {
127
+ if (!panel.items.length) {
128
+ return;
129
+ }
130
+ const isActive = activePanel === panel || laggyActivePanel === panel || undefined;
131
+ const isParent = !!panel.items.find((item) => item.current);
132
+ return (React.createElement(PrimaryPanel, { key: i, isParent: isParent, isActive: isActive, panel: panel, isBrowser: isBrowser, setActivePanel: setActivePanel, texts: getTexts(props, defaultMainMenuTexts), activeRef: activePanelRef }));
133
+ }),
134
+ auxiliaryPanel && React.createElement(AuxiliaryPanel, Object.assign({}, auxiliaryPanel)))))));
148
135
  };
149
136
  export default MainMenu;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import Button from './_abstract/Button';
3
+ import SeenEffect from './SeenEffect';
4
+ const MiniMetrics = (props) => {
5
+ const { text, moreButton, startSeen } = props;
6
+ return (React.createElement(SeenEffect, { className: "MiniMetrics", startSeen: startSeen },
7
+ React.createElement("strong", { className: "MiniMetrics__text" }, text),
8
+ " ",
9
+ '\n',
10
+ React.createElement(Button, Object.assign({ bem: "MiniMetrics__more" }, moreButton))));
11
+ };
12
+ export default MiniMetrics;
package/esm/Modal.js ADDED
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import _Modal from '@hugsmidjan/react/Modal';
3
+ const Modal = (props) => {
4
+ const { closeDelay = 500, texts = {
5
+ closeButton: 'Loka ',
6
+ }, bling, children, render = () => children, } = props;
7
+ return (React.createElement(_Modal, Object.assign({}, props, { bodyWrap: false, bem: "Modal", closeDelay: closeDelay, texts: texts, render: (args) => bling ? (React.createElement(React.Fragment, null,
8
+ render(args),
9
+ React.createElement("div", { className: "Modal__blings" },
10
+ React.createElement("div", { className: "Modal__blings__inner" }, bling)))) : (render(args)),
11
+ // eslint-disable-next-line react/no-children-prop
12
+ children: undefined })));
13
+ };
14
+ export default Modal;
@@ -43,16 +43,16 @@ const NameCard = (props) => {
43
43
  }
44
44
  const texts = getTexts(props, defaultTexts);
45
45
  const { updatedLabel, availableLabel, unavailableLabel } = texts;
46
- return (<div className="NameCard__meta">
47
- {available != null && (<span className={getBemClass('NameCard__availability', available && 'available')}>
48
- {available
46
+ return (React.createElement("div", { className: "NameCard__meta" },
47
+ available != null && (React.createElement("span", { className: getBemClass('NameCard__availability', available && 'available') },
48
+ available
49
49
  ? availableLabel || texts.vacancyLabel
50
- : unavailableLabel || texts.noVacancyLabel}{' '}
51
- </span>)}
52
- {updated != null && (<span className="NameCard__updated">
53
- {updatedLabel} {formatDate(updated)}
54
- </span>)}
55
- </div>);
50
+ : unavailableLabel || texts.noVacancyLabel,
51
+ ' ')),
52
+ updated != null && (React.createElement("span", { className: "NameCard__updated" },
53
+ updatedLabel,
54
+ " ",
55
+ formatDate(updated)))));
56
56
  };
57
57
  let contactInfo = props.contactInfo;
58
58
  if (!contactInfo) {
@@ -69,19 +69,14 @@ const NameCard = (props) => {
69
69
  }
70
70
  return item;
71
71
  });
72
- return (<div className="NameCard">
73
- <div className="NameCard__name">{name}</div>
74
- {contactInfo.length > 0 && (<p className="NameCard__contactinfo">
75
- {cleanContactInfo.map((item, i) => (<>
76
- {typeof item === 'string' ? (<span className="NameCard__contactinfo__item">{item}</span>) : (<Button key={i} bem="NameCard__contactinfo__item" href={item.href} aria-label={item.longLabel} title={item.longLabel}>
77
- {item.label}
78
- </Button>)}{' '}
79
- </>))}
80
- </p>)}
81
- {location && <p className="NameCard__location">{renderContent(location)}</p>}
82
- {hours && <p className="NameCard__hours">{renderContent(hours)}</p>}
83
- {aboutText && <p className="NameCard__abouttext">{renderContent(aboutText)}</p>}
84
- {renderMeta()}
85
- </div>);
72
+ return (React.createElement("div", { className: "NameCard" },
73
+ React.createElement("div", { className: "NameCard__name" }, name),
74
+ contactInfo.length > 0 && (React.createElement("p", { className: "NameCard__contactinfo" }, cleanContactInfo.map((item, i) => (React.createElement(React.Fragment, null,
75
+ typeof item === 'string' ? (React.createElement("span", { className: "NameCard__contactinfo__item" }, item)) : (React.createElement(Button, { key: i, bem: "NameCard__contactinfo__item", href: item.href, "aria-label": item.longLabel, title: item.longLabel }, item.label)),
76
+ ' '))))),
77
+ location && React.createElement("p", { className: "NameCard__location" }, renderContent(location)),
78
+ hours && React.createElement("p", { className: "NameCard__hours" }, renderContent(hours)),
79
+ aboutText && React.createElement("p", { className: "NameCard__abouttext" }, renderContent(aboutText)),
80
+ renderMeta()));
86
81
  };
87
82
  export default NameCard;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import NameCard from './NameCard';
3
+ const NameCards = (props) => {
4
+ const { items } = props;
5
+ return (React.createElement("div", { className: "NameCards" }, items.map((item, i) => (React.createElement(NameCard, Object.assign({ key: i }, item))))));
6
+ };
7
+ export default NameCards;
@@ -75,14 +75,12 @@ const NewsHero = (props) => {
75
75
  const { title, sharing = true, meta, summary, image, blingType, startSeen } = props;
76
76
  const [ref] = useSeenEffect(startSeen);
77
77
  const blings = (blingType && blingOptions[blingType]) || getStableRandomItem(blingOptions, title);
78
- return (<div className={getBemClass('NewsHero', [!image && 'align--right'])} ref={ref}>
79
- <div className="NewsHero__content">
80
- <h1 className="NewsHero__title">{title}</h1>
81
- {meta && <span className="NewsHero__meta">{meta}</span>}
82
- <div className="NewsHero__summary">{summary}</div>
83
- {sharing === true ? <ShareButtons /> : sharing && sharing()}
84
- </div>
85
- {image ? (<Image className="NewsHero__image" {...image}/>) : (<Blings blings={blings}/>)}
86
- </div>);
78
+ return (React.createElement("div", { className: getBemClass('NewsHero', [!image && 'align--right']), ref: ref },
79
+ React.createElement("div", { className: "NewsHero__content" },
80
+ React.createElement("h1", { className: "NewsHero__title" }, title),
81
+ meta && React.createElement("span", { className: "NewsHero__meta" }, meta),
82
+ React.createElement("div", { className: "NewsHero__summary" }, summary),
83
+ sharing === true ? React.createElement(ShareButtons, null) : sharing && sharing()),
84
+ image ? (React.createElement(Image, Object.assign({ className: "NewsHero__image" }, image))) : (React.createElement(Blings, { blings: blings }))));
87
85
  };
88
86
  export default NewsHero;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import getBemClass from '@hugsmidjan/react/utils/getBemClass';
3
+ import { useSeenEffect } from './utils/seenEffect';
4
+ import Footnote from './Footnote';
5
+ const PageFilter = (props) => {
6
+ const { title, summary, footnote, filters, children, buttonRow, underlap, startSeen } = props;
7
+ const [ref] = useSeenEffect(startSeen);
8
+ return (React.createElement("div", { className: getBemClass('PageFilter', underlap && 'underlap'), ref: ref },
9
+ React.createElement("h2", { className: "PageFilter__title" }, title),
10
+ summary && React.createElement("div", { className: "PageFilter__summary" }, summary),
11
+ React.createElement("div", { className: "PageFilter__filters" }, filters || children),
12
+ React.createElement("div", { className: "PageFilter__buttons" }, buttonRow),
13
+ footnote && React.createElement(Footnote, null, footnote)));
14
+ };
15
+ export default PageFilter;
@@ -4,11 +4,9 @@ import { useSeenEffect } from './utils/seenEffect';
4
4
  const PageHeading = (props) => {
5
5
  const { Tag = 'h1', align, small, children, startSeen } = props;
6
6
  const [ref] = useSeenEffect(startSeen);
7
- return (<Tag className={getBemClass('PageHeading', [
7
+ return (React.createElement(Tag, { className: getBemClass('PageHeading', [
8
8
  small && 'small',
9
9
  align === 'right' && 'align--' + align,
10
- ])} ref={ref}>
11
- {children}
12
- </Tag>);
10
+ ]), ref: ref }, children));
13
11
  };
14
12
  export default PageHeading;
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import getBemClass from '@hugsmidjan/react/utils/getBemClass';
3
+ const ProcessOverview = (props) => {
4
+ const { title, items, attention, transparent, narrow } = props;
5
+ return (React.createElement("div", { className: getBemClass('ProcessOverview', [
6
+ transparent && 'transparent',
7
+ narrow && 'narrow',
8
+ ]) },
9
+ React.createElement("h2", { className: "ProcessOverview__title" }, title),
10
+ items.map(({ title, content }, i) => {
11
+ return (React.createElement("div", { key: i, className: "ProcessOverview__item" },
12
+ React.createElement("h3", { className: "ProcessOverview__item__title" }, title),
13
+ React.createElement("div", { className: "ProcessOverview__item__content" }, content)));
14
+ }),
15
+ attention && React.createElement("div", { className: "ProcessOverview__attention" }, attention)));
16
+ };
17
+ export default ProcessOverview;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { _Quote } from './_abstract/_Quote';
3
+ const PullQuote = (props) => React.createElement(_Quote, Object.assign({ bem: "PullQuote" }, props));
4
+ export default PullQuote;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import TogglerGroupField from './_abstract/TogglerGroupField';
3
3
  import TogglerInput from './_abstract/TogglerInput';
4
- const RadioButton = (props) => (<TogglerInput {...props} bem="RadioButton" type="radio"/>);
4
+ const RadioButton = (props) => (React.createElement(TogglerInput, Object.assign({}, props, { bem: "RadioButton", type: "radio" })));
5
5
  const RadioButtonsGroup = (props) => {
6
6
  if (props.layout) {
7
7
  console.warn('`RadioButtonsGroupProps.layout` is deprecated.');
@@ -9,6 +9,6 @@ const RadioButtonsGroup = (props) => {
9
9
  if (props.columns) {
10
10
  console.warn('`RadioButtonsGroupProps.columns` is deprecated.');
11
11
  }
12
- return <TogglerGroupField {...props} bem="RadioButtonsGroup" Toggler={RadioButton}/>;
12
+ return React.createElement(TogglerGroupField, Object.assign({}, props, { bem: "RadioButtonsGroup", Toggler: RadioButton }));
13
13
  };
14
14
  export default RadioButtonsGroup;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import TogglerGroupField from './_abstract/TogglerGroupField';
3
+ import TogglerInput from './_abstract/TogglerInput';
4
+ const Radio = (props) => (React.createElement(TogglerInput, Object.assign({}, props, { bem: "Radio", type: "radio" })));
5
+ const RadioGroup = (props) => (React.createElement(TogglerGroupField, Object.assign({}, props, { bem: "RadioGroup", modifier: props.layout, Toggler: Radio })));
6
+ RadioGroup.__Radio = Radio;
7
+ export default RadioGroup;
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { Link } from './_abstract/Link';
3
+ const types = {
4
+ external: 1,
5
+ document: 1,
6
+ pdf: 1,
7
+ link: 0,
8
+ };
9
+ const RelatedLinks = (props) => {
10
+ const { title, links } = props;
11
+ if (links.length === 0) {
12
+ return null;
13
+ }
14
+ const TitleTag = props.titleTag || 'h3';
15
+ return (React.createElement("div", { className: "RelatedLinks" },
16
+ title && React.createElement(TitleTag, { className: "RelatedLinks__title" }, title),
17
+ React.createElement("ul", { className: "RelatedLinks__list" }, links.map(({ href, label, type, target }, i) => {
18
+ type = type && types[type] ? type : undefined;
19
+ return (React.createElement("li", { key: i, className: "RelatedLinks__item" },
20
+ React.createElement(Link, { className: "RelatedLinks__link", href: href, "data-type": type, target: target },
21
+ ' ',
22
+ label,
23
+ ' ')));
24
+ }))));
25
+ };
26
+ export default RelatedLinks;
@@ -4,8 +4,6 @@ import { useSeenEffect } from './utils/seenEffect';
4
4
  const RowBlock = (props) => {
5
5
  const { right, modifier, className, children, startSeen } = props;
6
6
  const [ref] = useSeenEffect(startSeen);
7
- return (<div className={getBemClass('RowBlock', [modifier, right && 'align--right'], className)} ref={ref}>
8
- {children}
9
- </div>);
7
+ return (React.createElement("div", { className: getBemClass('RowBlock', [modifier, right && 'align--right'], className), ref: ref }, children));
10
8
  };
11
9
  export default RowBlock;
@@ -2,12 +2,10 @@ import React from 'react';
2
2
  import getBemClass from '@hugsmidjan/react/utils/getBemClass';
3
3
  const RowBlockColumn = (props) => {
4
4
  const { background, narrow, children } = props;
5
- return (<div className={getBemClass('RowBlockColumn', [
5
+ return (React.createElement("div", { className: getBemClass('RowBlockColumn', [
6
6
  narrow && 'narrow',
7
7
  background && 'background',
8
8
  background === 'primary' && 'background--primary',
9
- ])}>
10
- {children}
11
- </div>);
9
+ ]) }, children));
12
10
  };
13
11
  export default RowBlockColumn;
@@ -25,11 +25,9 @@ const SearchInput = (props) => {
25
25
  setHasValue(!!e.target.value);
26
26
  onChange && onChange(e);
27
27
  };
28
- return (<FormField className={getBemClass('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()}>
29
- <input className="SearchInput__input" onChange={_onChange} {...inputProps} {...inputElementProps} ref={props.inputRef}/>{' '}
30
- {onButtonClick && (<button className="SearchInput__button" type="button" onClick={onButtonClick} title={buttonText} ref={props.buttonRef}>
31
- {buttonText}
32
- </button>)}
33
- </div>)}/>);
28
+ return (React.createElement(FormField, { className: getBemClass('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.createElement("div", Object.assign({ className: className.input }, addFocusProps()),
29
+ React.createElement("input", Object.assign({ className: "SearchInput__input", onChange: _onChange }, inputProps, inputElementProps, { ref: props.inputRef })),
30
+ ' ',
31
+ onButtonClick && (React.createElement("button", { className: "SearchInput__button", type: "button", onClick: onButtonClick, title: buttonText, ref: props.buttonRef }, buttonText)))) }));
34
32
  };
35
33
  export default SearchInput;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import Image from '../_abstract/Image';
3
+ import { Link } from '../_abstract/Link';
4
+ const SearchResultsItem = (props) => {
5
+ const { highlight, title, summary, href, meta, image } = props;
6
+ const bem = highlight ? 'SearchResultsHighlightItem' : 'SearchResultsItem';
7
+ const metaArr = (Array.isArray(meta) ? meta : [meta]);
8
+ return (React.createElement("li", { className: bem },
9
+ React.createElement(Link, { className: bem + '__link', href: href },
10
+ React.createElement("h3", { className: bem + '__title' }, title),
11
+ metaArr.length > 0 && (React.createElement("span", { className: bem + '__meta' }, metaArr.map((item, i) => typeof item === 'function' ? item() : item && React.createElement("span", { key: i }, item)))),
12
+ highlight && image && React.createElement(Image, { className: bem + '__image', src: image }),
13
+ React.createElement("div", { className: bem + '__summary', dangerouslySetInnerHTML: { __html: summary } }))));
14
+ };
15
+ export default SearchResultsItem;
@@ -8,11 +8,10 @@ import { DEFAULT_LANG, getTexts } from '@reykjavik/hanna-utils/i18n';
8
8
  import SearchResultsItem from './SearchResults/_SearchResultsItem';
9
9
  import Alert from './Alert';
10
10
  import Tabs from './Tabs';
11
- const renderDefaultErrorText = () => (<>
12
- Úps, það hefur komið upp villa. bjóða þér prófa aftur leita?
13
- <br />
14
- Ef ekkert lát er á villunni þá kunnum við meta þú látir okkur vita.
15
- </>);
11
+ const renderDefaultErrorText = () => (React.createElement(React.Fragment, null,
12
+ "\u00DAps, \u00FEa\u00F0 hefur komi\u00F0 upp villa. M\u00E1 bj\u00F3\u00F0a \u00FE\u00E9r a\u00F0 pr\u00F3fa aftur a\u00F0 leita?",
13
+ React.createElement("br", null),
14
+ "Ef ekkert l\u00E1t er \u00E1 villunni \u00FE\u00E1 kunnum vi\u00F0 a\u00F0 meta a\u00F0 \u00FE\u00FA l\u00E1tir okkur vita."));
16
15
  const defaultTexts = {
17
16
  en: {
18
17
  lang: 'en',
@@ -37,11 +36,9 @@ const SearchResults_Tabs = (props) => {
37
36
  label,
38
37
  badge: prettyNum(count, { lang }),
39
38
  })), [filters, lang]);
40
- return tabs.length ? (<Tabs role="tablist" aria-controls={domid} tabs={tabs} activeIdx={activeIdx || 0} onSetActive={(i) => setFilter && setFilter(i)}/>) : null;
39
+ return tabs.length ? (React.createElement(Tabs, { role: "tablist", "aria-controls": domid, tabs: tabs, activeIdx: activeIdx || 0, onSetActive: (i) => setFilter && setFilter(i) })) : null;
41
40
  };
42
- const LoadingScaffold = (props) => props.count ? (<ol className="SearchResults__list SearchResults__list--loading">
43
- {range(1, props.count).map((item, i) => (<SearchResultsItem key={i} title="..." summary="" href=""/>))}
44
- </ol>) : null;
41
+ const LoadingScaffold = (props) => props.count ? (React.createElement("ol", { className: "SearchResults__list SearchResults__list--loading" }, range(1, props.count).map((item, i) => (React.createElement(SearchResultsItem, { key: i, title: "...", summary: "", href: "" }))))) : null;
45
42
  // ===========================================================================
46
43
  const NUM_AUTOLOADS = 2;
47
44
  const SearchResults__loadmore = (props) => {
@@ -61,58 +58,52 @@ const SearchResults__loadmore = (props) => {
61
58
  }
62
59
  }, [theEndIsNigh, loadMore]);
63
60
  const moreAvailable = status === 'results' && moreCount && loadMore;
64
- return status === 'loadingmore' ? (<LoadingScaffold count={Math.min(pageSize, moreCount)}/>) : moreAvailable ? (<button ref={refFn} className="SearchResults__loadmore" type="button" onClick={loadMore}>
65
- {texts.loadMore}{' '}
66
- <span className="SearchResults__loadmore__count">
67
- ({prettyNum(moreCount, { lang })})
68
- </span>
69
- </button>) : null;
61
+ return status === 'loadingmore' ? (React.createElement(LoadingScaffold, { count: Math.min(pageSize, moreCount) })) : moreAvailable ? (React.createElement("button", { ref: refFn, className: "SearchResults__loadmore", type: "button", onClick: loadMore },
62
+ texts.loadMore,
63
+ ' ',
64
+ React.createElement("span", { className: "SearchResults__loadmore__count" },
65
+ "(",
66
+ prettyNum(moreCount, { lang }),
67
+ ")"))) : null;
70
68
  };
71
69
  // ===========================================================================
72
70
  const renderTitle = (props, texts) => {
73
71
  const { status, totalHits, query } = props;
74
72
  const lang = texts.lang || props.lang || DEFAULT_LANG;
75
- return (<h2 className="SearchResults__title">
76
- {status === 'loadingquery'
73
+ return (React.createElement("h2", { className: "SearchResults__title" },
74
+ status === 'loadingquery'
77
75
  ? texts.loadQueryTitle
78
76
  : totalHits
79
77
  ? prettyNum(totalHits, { lang: lang }) +
80
78
  ' ' +
81
79
  texts.resultsTitle
82
- : texts.noResultsTitle}
83
- <span className="SearchResults__query">{query}</span>
84
- </h2>);
80
+ : texts.noResultsTitle,
81
+ React.createElement("span", { className: "SearchResults__query" }, query)));
85
82
  };
86
83
  // ---------------------------------------------------------------------------
87
84
  const renderResults = (props) => {
88
85
  const { status, pageSize, items, hits } = props;
89
86
  if (status === 'loadingquery' || status === 'loadingfilter') {
90
- return <LoadingScaffold count={Math.min(pageSize, hits || 999)}/>;
87
+ return React.createElement(LoadingScaffold, { count: Math.min(pageSize, hits || 999) });
91
88
  }
92
- return items && items.length ? (<ol className="SearchResults__list">
93
- {items.map((item, i) => (<SearchResultsItem key={i} {...item}/>))}
94
- </ol>) : null;
89
+ return items && items.length ? (React.createElement("ol", { className: "SearchResults__list" }, items.map((item, i) => (React.createElement(SearchResultsItem, Object.assign({ key: i }, item)))))) : null;
95
90
  };
96
91
  // ---------------------------------------------------------------------------
97
92
  const renderLoadMore = (props, texts) => {
98
93
  const { hits, items, status, pageSize, loadMore } = props;
99
- return (<SearchResults__loadmore hits={hits} numItems={items && items.length} status={status} pageSize={pageSize} loadMore={loadMore} texts={texts}/>);
94
+ return (React.createElement(SearchResults__loadmore, { hits: hits, numItems: items && items.length, status: status, pageSize: pageSize, loadMore: loadMore, texts: texts }));
100
95
  };
101
96
  // TODO: add plural translation thingy for result string
102
97
  const SearchResults = (props) => {
103
98
  const { filters, activeFilterIdx, setFilter, status, errorText } = props;
104
99
  const texts = getTexts(props, defaultTexts);
105
100
  const domid = useDomid();
106
- return (<div className={getBemClass('SearchResults', status !== 'results' && status)}>
107
- {renderTitle(props, texts)}
108
-
109
- <SearchResults_Tabs domid={domid} filters={filters} activeIdx={activeFilterIdx} setFilter={setFilter} lang={texts.lang}/>
110
-
111
- <div className="SearchResults__results" id={domid}>
112
- {renderResults(props)}
113
- {status === 'error' && (<Alert type="error">{errorText || renderDefaultErrorText()}</Alert>)}
114
- {renderLoadMore(props, texts)}
115
- </div>
116
- </div>);
101
+ return (React.createElement("div", { className: getBemClass('SearchResults', status !== 'results' && status) },
102
+ renderTitle(props, texts),
103
+ React.createElement(SearchResults_Tabs, { domid: domid, filters: filters, activeIdx: activeFilterIdx, setFilter: setFilter, lang: texts.lang }),
104
+ React.createElement("div", { className: "SearchResults__results", id: domid },
105
+ renderResults(props),
106
+ status === 'error' && (React.createElement(Alert, { type: "error" }, errorText || renderDefaultErrorText())),
107
+ renderLoadMore(props, texts))));
117
108
  };
118
109
  export default SearchResults;
@@ -14,6 +14,6 @@ import { getEffectAttr, useSeenEffect } from './utils/seenEffect';
14
14
  const SeenEffect = (props) => {
15
15
  const { effectType, startSeen } = props, divProps = __rest(props, ["effectType", "startSeen"]);
16
16
  const [ref] = useSeenEffect(startSeen);
17
- return <div {...divProps} ref={ref} {...getEffectAttr(effectType)}/>;
17
+ return React.createElement("div", Object.assign({}, divProps, { ref: ref }, getEffectAttr(effectType)));
18
18
  };
19
19
  export default SeenEffect;
@@ -41,6 +41,6 @@ const Selectbox = (props) => {
41
41
  setIsEmpty(!((_a = selectElm.selectedOptions[0]) === null || _a === void 0 ? void 0 : _a.text));
42
42
  onChange && onChange(e);
43
43
  };
44
- return (<FormField className={getBemClass('Selectbox', null, className)} ssr={ssr} small={small} label={label} empty={isEmpty} filled={isFilled} assistText={assistText} hideLabel={hideLabel} disabled={disabled} readOnly={readOnly} invalid={invalid} errorMessage={errorMessage} required={required} reqText={reqText} id={id} renderInput={(className, inputProps, addFocusProps) => (<_Selectbox bem={className.input} ssr={ssr} onChange={_onChange} {...inputProps} {...addFocusProps(selectProps)} selectRef={selectRef}/>)}/>);
44
+ return (React.createElement(FormField, { className: getBemClass('Selectbox', null, className), ssr: ssr, small: small, label: label, empty: isEmpty, filled: isFilled, assistText: assistText, hideLabel: hideLabel, disabled: disabled, readOnly: readOnly, invalid: invalid, errorMessage: errorMessage, required: required, reqText: reqText, id: id, renderInput: (className, inputProps, addFocusProps) => (React.createElement(_Selectbox, Object.assign({ bem: className.input, ssr: ssr, onChange: _onChange }, inputProps, addFocusProps(selectProps), { selectRef: selectRef }))) }));
45
45
  };
46
46
  export default Selectbox;
@@ -15,11 +15,8 @@ const ShareButtons__item = (props) => {
15
15
  const { label, type, href } = props;
16
16
  const buttonText = getShareButtonLabel(type, label);
17
17
  const popup = type !== 'email';
18
- return (<li className="ShareButtons__item">
19
- <Link className={'ShareButtons__link ShareButtons__link--' + type} href={href} title={buttonText} rel="noopener noreferrer" target={popup ? '_blank' : undefined} onClick={popup ? openInPopup : undefined}>
20
- {buttonText}
21
- </Link>
22
- </li>);
18
+ return (React.createElement("li", { className: "ShareButtons__item" },
19
+ React.createElement(Link, { className: 'ShareButtons__link ShareButtons__link--' + type, href: href, title: buttonText, rel: "noopener noreferrer", target: popup ? '_blank' : undefined, onClick: popup ? openInPopup : undefined }, buttonText)));
23
20
  };
24
21
  const ShareButtons = (props) => {
25
22
  const { texts, ssr, facebook = true, twitter = true, linkedin, email, } = props;
@@ -39,7 +36,7 @@ const ShareButtons = (props) => {
39
36
  const { label, buttonLabel } = txt;
40
37
  if (!docMeta || ssr === 'ssr-only') {
41
38
  // Generate SSR markup for hanna-sprinkles to pick up on.
42
- return (<div className="ShareButtons" data-button-types={generateTypeList(facebook, twitter, linkedin, email)} data-label={label} data-buttonlabel={buttonLabel} data-emailsubject={txt.emailSubject || undefined}/>);
39
+ return (React.createElement("div", { className: "ShareButtons", "data-button-types": generateTypeList(facebook, twitter, linkedin, email), "data-label": label, "data-buttonlabel": buttonLabel, "data-emailsubject": txt.emailSubject || undefined }));
43
40
  }
44
41
  const showTypes = {
45
42
  facebook,
@@ -47,11 +44,8 @@ const ShareButtons = (props) => {
47
44
  linkedin,
48
45
  email,
49
46
  };
50
- return (<div className="ShareButtons" aria-label={label} data-sprinkled="true">
51
- {label && <strong className="ShareButtons__label">{label}</strong>}
52
- <ul className="ShareButtons__list">
53
- {shareButtonTypes.map((type) => showTypes[type] && (<ShareButtons__item key={type} type={type} label={buttonLabel || ''} href={docMeta.hrefs[type]}/>))}
54
- </ul>
55
- </div>);
47
+ return (React.createElement("div", { className: "ShareButtons", "aria-label": label, "data-sprinkled": "true" },
48
+ label && React.createElement("strong", { className: "ShareButtons__label" }, label),
49
+ React.createElement("ul", { className: "ShareButtons__list" }, shareButtonTypes.map((type) => showTypes[type] && (React.createElement(ShareButtons__item, { key: type, type: type, label: buttonLabel || '', href: docMeta.hrefs[type] }))))));
56
50
  };
57
51
  export default ShareButtons;
@@ -17,6 +17,6 @@ const Sharpie = (props) => {
17
17
  const { color, tag, children } = props;
18
18
  const colorModifier = colors[color] ? color : 'green';
19
19
  const Tag = tag && tags[tag] ? tag : 'span';
20
- return <Tag className={getBemClass('Sharpie', colorModifier)}>{children}</Tag>;
20
+ return React.createElement(Tag, { className: getBemClass('Sharpie', colorModifier) }, children);
21
21
  };
22
22
  export default Sharpie;
@@ -34,7 +34,7 @@ const SiteSearchAutocomplete = (props) => {
34
34
  const [value, setValue] = useState('');
35
35
  const inputRef = createRef();
36
36
  const txt = getTexts(props, defaultSiteSearchACTexts);
37
- return (<Autosuggest theme={{
37
+ return (React.createElement(Autosuggest, { theme: {
38
38
  container: bem,
39
39
  containerOpen: bem + '--open',
40
40
  suggestionsContainer: bem + '__container',
@@ -42,19 +42,17 @@ const SiteSearchAutocomplete = (props) => {
42
42
  suggestionsList: bem + '__list',
43
43
  suggestion: bem + '__item',
44
44
  suggestionHighlighted: bem + '__item--highlighted',
45
- }} focusInputOnSuggestionClick={true} suggestions={suggestions} onSuggestionsClearRequested={() => setSuggestions([])} onSuggestionsFetchRequested={onSuggestionsFetchRequested} getSuggestionValue={getSuggestionValue} onSuggestionSelected={onSuggestionSelected} onSuggestionHighlighted={onSuggestionHighlighted} renderSuggestion={renderSuggestion} containerProps={{ 'aria-label': txt.label }} renderSuggestionsContainer={({ containerProps, children }) => (<div {...containerProps} aria-label={txt.suggestionsLabel}>
46
- {children}
47
- </div>)} inputProps={{
45
+ }, focusInputOnSuggestionClick: true, suggestions: suggestions, onSuggestionsClearRequested: () => setSuggestions([]), onSuggestionsFetchRequested: onSuggestionsFetchRequested, getSuggestionValue: getSuggestionValue, onSuggestionSelected: onSuggestionSelected, onSuggestionHighlighted: onSuggestionHighlighted, renderSuggestion: renderSuggestion, containerProps: { 'aria-label': txt.label }, renderSuggestionsContainer: ({ containerProps, children }) => (React.createElement("div", Object.assign({}, containerProps, { "aria-label": txt.suggestionsLabel }), children)), inputProps: {
48
46
  ref: inputRef,
49
47
  value: value,
50
48
  onChange: (_, { newValue }) => {
51
49
  setValue(newValue);
52
50
  },
53
- }} renderInputComponent={(inputProps) => {
51
+ }, renderInputComponent: (inputProps) => {
54
52
  /* prettier-ignore */
55
53
  const { className, type, disabled, readOnly, required, children } = inputProps, //eslint-disable-line @typescript-eslint/no-unused-vars
56
54
  siteSearchProps = __rest(inputProps, ["className", "type", "disabled", "readOnly", "required", "children"]);
57
- return (<SiteSearchInput {...siteSearchProps} label={props.label || txt.inputLabel} placeholder={txt.placeholder} onSubmit={onSubmit && (() => onSubmit(value))} onButtonClick={onButtonClick && (() => onButtonClick(value))}/>);
58
- }}/>);
55
+ return (React.createElement(SiteSearchInput, Object.assign({}, siteSearchProps, { label: props.label || txt.inputLabel, placeholder: txt.placeholder, onSubmit: onSubmit && (() => onSubmit(value)), onButtonClick: onButtonClick && (() => onButtonClick(value)) })));
56
+ } }));
59
57
  };
60
58
  export default SiteSearchAutocomplete;