@reykjavik/hanna-react 0.10.56 → 0.10.59
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.
- package/{AccordionList.jsx → AccordionList.js} +5 -14
- package/ActionCards.d.ts +1 -1
- package/{ActionCards.jsx → ActionCards.js} +3 -4
- package/{Alert.jsx → Alert.js} +7 -9
- package/ArticleCards.d.ts +6 -0
- package/ArticleCards.js +9 -0
- package/ArticleCarousel/_ArticleCarouselCard.d.ts +1 -1
- package/ArticleCarousel/_ArticleCarouselCard.js +31 -0
- package/{ArticleCarousel.jsx → ArticleCarousel.js} +1 -1
- package/ArticleMeta.d.ts +1 -0
- package/{ArticleMeta.jsx → ArticleMeta.js} +15 -10
- package/{Attention.jsx → Attention.js} +1 -1
- package/{BasicTable.jsx → BasicTable.js} +11 -12
- package/BgBox.d.ts +8 -0
- package/BgBox.js +14 -0
- package/{Bling.jsx → Bling.js} +2 -2
- package/{BlockBreak.jsx → BlockBreak.js} +1 -1
- package/{BlockQuote.jsx → BlockQuote.js} +1 -1
- package/BreadCrumbs.js +33 -0
- package/ButtonBack.d.ts +1 -1
- package/{ButtonBack.jsx → ButtonBack.js} +2 -2
- package/{ButtonBar.jsx → ButtonBar.js} +2 -4
- package/ButtonPrimary.d.ts +1 -1
- package/{ButtonPrimary.jsx → ButtonPrimary.js} +2 -2
- package/ButtonSecondary.d.ts +1 -1
- package/{ButtonSecondary.jsx → ButtonSecondary.js} +2 -2
- package/ButtonTertiary.d.ts +1 -1
- package/{ButtonTertiary.jsx → ButtonTertiary.js} +2 -2
- package/CHANGELOG.md +12 -1
- package/{Carousel.jsx → Carousel.js} +1 -1
- package/{CarouselStepper.jsx → CarouselStepper.js} +1 -1
- package/{CenterColumn.jsx → CenterColumn.js} +1 -3
- package/Checkbox.d.ts +1 -1
- package/{Checkbox.jsx → Checkbox.js} +2 -2
- package/CheckboxButtonsGroup.d.ts +1 -1
- package/{CheckboxButtonsGroup.jsx → CheckboxButtonsGroup.js} +4 -4
- package/CheckboxGroup.d.ts +1 -1
- package/{CheckboxGroup.jsx → CheckboxGroup.js} +2 -2
- package/CityBlock.d.ts +1 -1
- package/{CityBlock.jsx → CityBlock.js} +1 -1
- package/{ContactBubble.jsx → ContactBubble.js} +13 -27
- package/{ContentArticle.jsx → ContentArticle.js} +9 -12
- package/ContentImage.d.ts +1 -1
- package/ContentImage.js +23 -0
- package/{Datepicker.jsx → Datepicker.js} +17 -18
- package/ExtraLinks.d.ts +1 -1
- package/{ExtraLinks.jsx → ExtraLinks.js} +11 -19
- package/FeatureList.js +21 -0
- package/{FieldGroup.jsx → FieldGroup.js} +3 -4
- package/{FileInput.jsx → FileInput.js} +22 -25
- package/{Foonote.jsx → Foonote.js} +0 -0
- package/FooterBadges.js +17 -0
- package/FooterInfo.js +14 -0
- package/{Footnote.jsx → Footnote.js} +1 -1
- package/{Form.jsx → Form.js} +2 -4
- package/{FormField.jsx → FormField.js} +20 -22
- package/Gallery/_GalleryItem.d.ts +1 -1
- package/Gallery/{_GalleryItem.jsx → _GalleryItem.js} +10 -11
- package/Gallery/{_GalleryModal.jsx → _GalleryModal.js} +11 -15
- package/Gallery/{_GalleryModalItem.jsx → _GalleryModalItem.js} +6 -8
- package/{Gallery.jsx → Gallery.js} +3 -4
- package/GridBlocks.d.ts +2 -2
- package/GridBlocks.js +29 -0
- package/Heading.d.ts +1 -1
- package/{Heading.jsx → Heading.js} +3 -5
- package/HeroBlock.d.ts +2 -2
- package/{HeroBlock.jsx → HeroBlock.js} +9 -10
- package/{IframeBlock.jsx → IframeBlock.js} +6 -6
- package/Illustration.d.ts +1 -1
- package/{Illustration.jsx → Illustration.js} +2 -2
- package/ImageCards.d.ts +1 -1
- package/{ImageCards.jsx → ImageCards.js} +3 -4
- package/InfoBlock.js +18 -0
- package/InfoHero.d.ts +2 -2
- package/{InfoHero.jsx → InfoHero.js} +10 -16
- package/IslandBlock.d.ts +1 -1
- package/{IslandBlock.jsx → IslandBlock.js} +1 -1
- package/IslandPageBlock.d.ts +1 -1
- package/{IslandPageBlock.jsx → IslandPageBlock.js} +1 -1
- package/LabeledTextBlock.d.ts +1 -1
- package/{LabeledTextBlock.jsx → LabeledTextBlock.js} +5 -7
- package/Layout.js +58 -0
- package/MainMenu/_Auxiliary.js +20 -0
- package/MainMenu/_PrimaryPanel.js +29 -0
- package/{MainMenu.jsx → MainMenu.js} +28 -41
- package/MiniMetrics.d.ts +1 -1
- package/{MiniMetrics.jsx → MiniMetrics.js} +6 -5
- package/Modal.js +19 -0
- package/{NameCard.jsx → NameCard.js} +19 -24
- package/{NameCards.jsx → NameCards.js} +1 -3
- package/NewsHero.d.ts +1 -1
- package/{NewsHero.jsx → NewsHero.js} +8 -10
- package/{PageFilter.jsx → PageFilter.js} +6 -7
- package/{PageHeading.jsx → PageHeading.js} +2 -4
- package/Picture.d.ts +7 -0
- package/Picture.js +13 -0
- package/ProcessOverview.js +22 -0
- package/{PullQuote.jsx → PullQuote.js} +1 -1
- package/RadioButtonsGroup.d.ts +1 -1
- package/{RadioButtonsGroup.jsx → RadioButtonsGroup.js} +4 -4
- package/RadioGroup.d.ts +2 -2
- package/RadioGroup.js +12 -0
- package/RelatedLinks.js +31 -0
- package/{RowBlock.jsx → RowBlock.js} +1 -3
- package/{RowBlockColumn.jsx → RowBlockColumn.js} +2 -4
- package/{SearchInput.jsx → SearchInput.js} +4 -6
- package/SearchResults/_SearchResultsItem.js +20 -0
- package/{SearchResults.jsx → SearchResults.js} +27 -36
- package/{SeenEffect.jsx → SeenEffect.js} +1 -1
- package/{Selectbox.jsx → Selectbox.js} +1 -1
- package/{ShareButtons.jsx → ShareButtons.js} +7 -13
- package/{Sharpie.jsx → Sharpie.js} +1 -1
- package/{SiteSearchAutocomplete.jsx → SiteSearchAutocomplete.js} +5 -7
- package/{SiteSearchCurtain.jsx → SiteSearchCurtain.js} +1 -5
- package/SiteSearchInput.d.ts +1 -1
- package/{SiteSearchInput.jsx → SiteSearchInput.js} +10 -12
- package/{Skeleton.jsx → Skeleton.js} +5 -5
- package/{SubHeading.jsx → SubHeading.js} +2 -4
- package/{Tabs.jsx → Tabs.js} +12 -12
- package/TagPill.d.ts +1 -1
- package/{TagPill.jsx → TagPill.js} +12 -17
- package/{TextBlock.jsx → TextBlock.js} +2 -4
- package/TextButton.d.ts +1 -1
- package/{TextButton.jsx → TextButton.js} +2 -2
- package/{TextInput.jsx → TextInput.js} +1 -1
- package/{VSpacer.jsx → VSpacer.js} +1 -1
- package/{VerticalTabsTOC.jsx → VerticalTabsTOC.js} +2 -2
- package/WizardLayout.js +35 -0
- package/WizardLayoutClose.d.ts +1 -1
- package/{WizardLayoutClose.jsx → WizardLayoutClose.js} +2 -2
- package/WizardStepper.js +30 -0
- package/_abstract/{_AbstractCarousel.jsx → _AbstractCarousel.js} +7 -10
- package/_abstract/{_Blings.jsx → _Blings.js} +1 -3
- package/_abstract/_Block.d.ts +2 -2
- package/_abstract/_Block.js +29 -0
- package/_abstract/{Button.d.ts → _Button.d.ts} +0 -0
- package/_abstract/{Button.jsx → _Button.js} +3 -7
- package/_abstract/{CardList.d.ts → _CardList.d.ts} +2 -1
- package/_abstract/_CardList.js +45 -0
- package/{esm/_abstract/Image.d.ts → _abstract/_Image.d.ts} +9 -5
- package/_abstract/{Image.jsx → _Image.js} +11 -13
- package/_abstract/{Link.d.ts → _Link.d.ts} +0 -0
- package/_abstract/{Link.jsx → _Link.js} +0 -0
- package/_abstract/_Quote.js +15 -0
- package/{esm/_abstract/TogglerGroup.d.ts → _abstract/_TogglerGroup.d.ts} +1 -1
- package/_abstract/_TogglerGroup.js +34 -0
- package/_abstract/{TogglerGroupField.d.ts → _TogglerGroupField.d.ts} +2 -2
- package/_abstract/{TogglerGroupField.jsx → _TogglerGroupField.js} +4 -4
- package/_abstract/{TogglerInput.d.ts → _TogglerInput.d.ts} +0 -0
- package/_abstract/{TogglerInput.jsx → _TogglerInput.js} +13 -15
- package/_abstract/{breakOnNL.jsx → breakOnNL.js} +1 -1
- package/esm/AccordionList.js +24 -0
- package/esm/ActionCards.d.ts +1 -1
- package/esm/ActionCards.js +9 -0
- package/esm/{Alert.jsx → Alert.js} +7 -9
- package/esm/ArticleCards.d.ts +6 -0
- package/esm/ArticleCards.js +4 -0
- package/esm/ArticleCarousel/_ArticleCarouselCard.d.ts +1 -1
- package/esm/ArticleCarousel/_ArticleCarouselCard.js +24 -0
- package/esm/{ArticleCarousel.jsx → ArticleCarousel.js} +1 -1
- package/esm/ArticleMeta.d.ts +1 -0
- package/esm/ArticleMeta.js +19 -0
- package/esm/Attention.js +4 -0
- package/esm/{BasicTable.jsx → BasicTable.js} +11 -12
- package/esm/BgBox.d.ts +8 -0
- package/esm/BgBox.js +9 -0
- package/esm/{Bling.jsx → Bling.js} +2 -2
- package/esm/BlockBreak.js +6 -0
- package/esm/BlockQuote.js +4 -0
- package/esm/BreadCrumbs.js +28 -0
- package/esm/ButtonBack.d.ts +1 -1
- package/esm/ButtonBack.js +4 -0
- package/esm/{ButtonBar.jsx → ButtonBar.js} +2 -4
- package/esm/ButtonPrimary.d.ts +1 -1
- package/esm/ButtonPrimary.js +4 -0
- package/esm/ButtonSecondary.d.ts +1 -1
- package/esm/ButtonSecondary.js +4 -0
- package/esm/ButtonTertiary.d.ts +1 -1
- package/esm/{ButtonTertiary.jsx → ButtonTertiary.js} +2 -2
- package/esm/Carousel.js +4 -0
- package/esm/CarouselStepper.js +4 -0
- package/esm/CenterColumn.js +7 -0
- package/esm/Checkbox.d.ts +1 -1
- package/esm/Checkbox.js +4 -0
- package/esm/CheckboxButtonsGroup.d.ts +1 -1
- package/esm/CheckboxButtonsGroup.js +14 -0
- package/esm/CheckboxGroup.d.ts +1 -1
- package/esm/CheckboxGroup.js +7 -0
- package/esm/CityBlock.d.ts +1 -1
- package/esm/{CityBlock.jsx → CityBlock.js} +1 -1
- package/esm/{ContactBubble.jsx → ContactBubble.js} +13 -27
- package/esm/ContentArticle.js +21 -0
- package/esm/ContentImage.d.ts +1 -1
- package/esm/ContentImage.js +18 -0
- package/esm/{Datepicker.jsx → Datepicker.js} +17 -18
- package/esm/ExtraLinks.d.ts +1 -1
- package/esm/{ExtraLinks.jsx → ExtraLinks.js} +11 -19
- package/esm/FeatureList.js +16 -0
- package/esm/FieldGroup.js +9 -0
- package/esm/{FileInput.jsx → FileInput.js} +22 -25
- package/esm/{Foonote.jsx → Foonote.js} +0 -0
- package/esm/FooterBadges.js +12 -0
- package/esm/FooterInfo.js +9 -0
- package/esm/Footnote.js +3 -0
- package/esm/{Form.jsx → Form.js} +2 -4
- package/esm/{FormField.jsx → FormField.js} +20 -22
- package/esm/Gallery/_GalleryItem.d.ts +1 -1
- package/esm/Gallery/{_GalleryItem.jsx → _GalleryItem.js} +10 -11
- package/esm/Gallery/{_GalleryModal.jsx → _GalleryModal.js} +11 -15
- package/esm/Gallery/{_GalleryModalItem.jsx → _GalleryModalItem.js} +6 -8
- package/esm/{Gallery.jsx → Gallery.js} +3 -4
- package/esm/GridBlocks.d.ts +2 -2
- package/esm/GridBlocks.js +24 -0
- package/esm/Heading.d.ts +1 -1
- package/esm/{Heading.jsx → Heading.js} +3 -5
- package/esm/HeroBlock.d.ts +2 -2
- package/esm/HeroBlock.js +21 -0
- package/esm/{IframeBlock.jsx → IframeBlock.js} +6 -6
- package/esm/Illustration.d.ts +1 -1
- package/esm/{Illustration.jsx → Illustration.js} +2 -2
- package/esm/ImageCards.d.ts +1 -1
- package/esm/{ImageCards.jsx → ImageCards.js} +3 -4
- package/esm/InfoBlock.js +13 -0
- package/esm/InfoHero.d.ts +2 -2
- package/esm/{InfoHero.jsx → InfoHero.js} +10 -16
- package/esm/IslandBlock.d.ts +1 -1
- package/esm/{IslandBlock.jsx → IslandBlock.js} +1 -1
- package/esm/IslandPageBlock.d.ts +1 -1
- package/esm/{IslandPageBlock.jsx → IslandPageBlock.js} +1 -1
- package/esm/LabeledTextBlock.d.ts +1 -1
- package/esm/LabeledTextBlock.js +14 -0
- package/esm/Layout.js +52 -0
- package/esm/MainMenu/_Auxiliary.js +13 -0
- package/esm/MainMenu/_PrimaryPanel.js +22 -0
- package/esm/{MainMenu.jsx → MainMenu.js} +28 -41
- package/esm/MiniMetrics.d.ts +1 -1
- package/esm/MiniMetrics.js +12 -0
- package/esm/Modal.js +14 -0
- package/esm/{NameCard.jsx → NameCard.js} +19 -24
- package/esm/NameCards.js +7 -0
- package/esm/NewsHero.d.ts +1 -1
- package/esm/{NewsHero.jsx → NewsHero.js} +8 -10
- package/esm/PageFilter.js +15 -0
- package/esm/{PageHeading.jsx → PageHeading.js} +2 -4
- package/esm/Picture.d.ts +7 -0
- package/esm/Picture.js +8 -0
- package/esm/ProcessOverview.js +17 -0
- package/esm/PullQuote.js +4 -0
- package/esm/RadioButtonsGroup.d.ts +1 -1
- package/esm/RadioButtonsGroup.js +14 -0
- package/esm/RadioGroup.d.ts +2 -2
- package/esm/RadioGroup.js +7 -0
- package/esm/RelatedLinks.js +26 -0
- package/esm/{RowBlock.jsx → RowBlock.js} +1 -3
- package/esm/{RowBlockColumn.jsx → RowBlockColumn.js} +2 -4
- package/esm/{SearchInput.jsx → SearchInput.js} +4 -6
- package/esm/SearchResults/_SearchResultsItem.js +15 -0
- package/esm/{SearchResults.jsx → SearchResults.js} +27 -36
- package/esm/{SeenEffect.jsx → SeenEffect.js} +1 -1
- package/esm/{Selectbox.jsx → Selectbox.js} +1 -1
- package/esm/{ShareButtons.jsx → ShareButtons.js} +7 -13
- package/esm/{Sharpie.jsx → Sharpie.js} +1 -1
- package/esm/{SiteSearchAutocomplete.jsx → SiteSearchAutocomplete.js} +5 -7
- package/esm/{SiteSearchCurtain.jsx → SiteSearchCurtain.js} +1 -5
- package/esm/SiteSearchInput.d.ts +1 -1
- package/esm/{SiteSearchInput.jsx → SiteSearchInput.js} +10 -12
- package/esm/{Skeleton.jsx → Skeleton.js} +5 -5
- package/esm/{SubHeading.jsx → SubHeading.js} +2 -4
- package/esm/{Tabs.jsx → Tabs.js} +12 -12
- package/esm/TagPill.d.ts +1 -1
- package/esm/{TagPill.jsx → TagPill.js} +12 -17
- package/esm/{TextBlock.jsx → TextBlock.js} +2 -4
- package/esm/TextButton.d.ts +1 -1
- package/esm/{TextButton.jsx → TextButton.js} +2 -2
- package/esm/{TextInput.jsx → TextInput.js} +1 -1
- package/esm/{VSpacer.jsx → VSpacer.js} +1 -1
- package/esm/{VerticalTabsTOC.jsx → VerticalTabsTOC.js} +2 -2
- package/esm/WizardLayout.js +30 -0
- package/esm/WizardLayoutClose.d.ts +1 -1
- package/esm/WizardLayoutClose.js +4 -0
- package/esm/WizardStepper.js +25 -0
- package/esm/_abstract/{_AbstractCarousel.jsx → _AbstractCarousel.js} +7 -10
- package/esm/_abstract/_Blings.js +12 -0
- package/esm/_abstract/_Block.d.ts +2 -2
- package/esm/_abstract/_Block.js +24 -0
- package/esm/_abstract/{Button.d.ts → _Button.d.ts} +0 -0
- package/esm/_abstract/{Button.jsx → _Button.js} +3 -7
- package/esm/_abstract/{CardList.d.ts → _CardList.d.ts} +2 -1
- package/esm/_abstract/_CardList.js +38 -0
- package/{_abstract/Image.d.ts → esm/_abstract/_Image.d.ts} +9 -5
- package/esm/_abstract/_Image.js +27 -0
- package/esm/_abstract/{Link.d.ts → _Link.d.ts} +0 -0
- package/esm/_abstract/{Link.jsx → _Link.js} +0 -0
- package/esm/_abstract/_Quote.js +8 -0
- package/{_abstract/TogglerGroup.d.ts → esm/_abstract/_TogglerGroup.d.ts} +1 -1
- package/esm/_abstract/_TogglerGroup.js +29 -0
- package/esm/_abstract/{TogglerGroupField.d.ts → _TogglerGroupField.d.ts} +2 -2
- package/esm/_abstract/{TogglerGroupField.jsx → _TogglerGroupField.js} +4 -4
- package/esm/_abstract/{TogglerInput.d.ts → _TogglerInput.d.ts} +0 -0
- package/esm/_abstract/{TogglerInput.jsx → _TogglerInput.js} +13 -15
- package/esm/_abstract/{breakOnNL.jsx → breakOnNL.js} +1 -1
- package/esm/utils/seenEffect.d.ts +2 -2
- package/esm/utils/seenEffect.js +1 -1
- package/package.json +106 -91
- package/utils/seenEffect.d.ts +2 -2
- package/utils/seenEffect.js +1 -1
- package/ArticleCarousel/_ArticleCarouselCard.jsx +0 -32
- package/BreadCrumbs.jsx +0 -36
- package/ContentImage.jsx +0 -18
- package/FeatureList.jsx +0 -28
- package/FooterBadges.jsx +0 -21
- package/FooterInfo.jsx +0 -19
- package/GridBlocks.jsx +0 -40
- package/InfoBlock.jsx +0 -23
- package/Layout.jsx +0 -69
- package/MainMenu/_Auxiliary.jsx +0 -26
- package/MainMenu/_PrimaryPanel.jsx +0 -37
- package/Modal.jsx +0 -21
- package/ProcessOverview.jsx +0 -25
- package/RadioGroup.jsx +0 -12
- package/RelatedLinks.jsx +0 -35
- package/SearchResults/_SearchResultsItem.jsx +0 -24
- package/WizardLayout.jsx +0 -44
- package/WizardStepper.jsx +0 -34
- package/_abstract/CardList.jsx +0 -46
- package/_abstract/TogglerGroup.jsx +0 -36
- package/_abstract/_Block.jsx +0 -32
- package/_abstract/_Quote.jsx +0 -18
- package/esm/AccordionList.jsx +0 -33
- package/esm/ActionCards.jsx +0 -10
- package/esm/ArticleCarousel/_ArticleCarouselCard.jsx +0 -25
- package/esm/ArticleMeta.jsx +0 -17
- package/esm/Attention.jsx +0 -4
- package/esm/BlockBreak.jsx +0 -6
- package/esm/BlockQuote.jsx +0 -4
- package/esm/BreadCrumbs.jsx +0 -31
- package/esm/ButtonBack.jsx +0 -4
- package/esm/ButtonPrimary.jsx +0 -4
- package/esm/ButtonSecondary.jsx +0 -4
- package/esm/Carousel.jsx +0 -4
- package/esm/CarouselStepper.jsx +0 -4
- package/esm/CenterColumn.jsx +0 -9
- package/esm/Checkbox.jsx +0 -4
- package/esm/CheckboxButtonsGroup.jsx +0 -14
- package/esm/CheckboxGroup.jsx +0 -7
- package/esm/ContentArticle.jsx +0 -24
- package/esm/ContentImage.jsx +0 -13
- package/esm/FeatureList.jsx +0 -23
- package/esm/FieldGroup.jsx +0 -10
- package/esm/FooterBadges.jsx +0 -16
- package/esm/FooterInfo.jsx +0 -14
- package/esm/Footnote.jsx +0 -3
- package/esm/GridBlocks.jsx +0 -35
- package/esm/HeroBlock.jsx +0 -22
- package/esm/InfoBlock.jsx +0 -18
- package/esm/LabeledTextBlock.jsx +0 -16
- package/esm/Layout.jsx +0 -63
- package/esm/MainMenu/_Auxiliary.jsx +0 -19
- package/esm/MainMenu/_PrimaryPanel.jsx +0 -30
- package/esm/MiniMetrics.jsx +0 -11
- package/esm/Modal.jsx +0 -16
- package/esm/NameCards.jsx +0 -9
- package/esm/PageFilter.jsx +0 -16
- package/esm/ProcessOverview.jsx +0 -20
- package/esm/PullQuote.jsx +0 -4
- package/esm/RadioButtonsGroup.jsx +0 -14
- package/esm/RadioGroup.jsx +0 -7
- package/esm/RelatedLinks.jsx +0 -30
- package/esm/SearchResults/_SearchResultsItem.jsx +0 -19
- package/esm/WizardLayout.jsx +0 -39
- package/esm/WizardLayoutClose.jsx +0 -4
- package/esm/WizardStepper.jsx +0 -29
- package/esm/_abstract/CardList.jsx +0 -39
- package/esm/_abstract/Image.jsx +0 -29
- package/esm/_abstract/TogglerGroup.jsx +0 -31
- package/esm/_abstract/_Blings.jsx +0 -14
- package/esm/_abstract/_Block.jsx +0 -27
- package/esm/_abstract/_Quote.jsx +0 -11
package/esm/ArticleMeta.jsx
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import React, { Fragment } from 'react';
|
|
2
|
-
import { Link } from './_abstract/Link';
|
|
3
|
-
const ArticleMeta = (props) => {
|
|
4
|
-
const { items } = props;
|
|
5
|
-
if (items.length === 0) {
|
|
6
|
-
return null;
|
|
7
|
-
}
|
|
8
|
-
return (<div className="ArticleMeta">
|
|
9
|
-
{items.map(({ label, href }, i) => (<Fragment key={i}>
|
|
10
|
-
{href == null ? (<span className="ArticleMeta__item"> {label} </span>) : (<Link className="ArticleMeta__item" href={href}>
|
|
11
|
-
{' '}
|
|
12
|
-
{label}{' '}
|
|
13
|
-
</Link>)}{' '}
|
|
14
|
-
</Fragment>))}
|
|
15
|
-
</div>);
|
|
16
|
-
};
|
|
17
|
-
export default ArticleMeta;
|
package/esm/Attention.jsx
DELETED
package/esm/BlockBreak.jsx
DELETED
package/esm/BlockQuote.jsx
DELETED
package/esm/BreadCrumbs.jsx
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Link } from './_abstract/Link';
|
|
3
|
-
const BreadCrumbs__item = (props) => {
|
|
4
|
-
const { link, current } = props;
|
|
5
|
-
return link.href != null ? (<Link className="BreadCrumbs__item" href={link.href} aria-current={current || undefined}>
|
|
6
|
-
{link.label}
|
|
7
|
-
</Link>) : (<span className="BreadCrumbs__item" aria-current={current || undefined}>
|
|
8
|
-
{link.label}
|
|
9
|
-
</span>);
|
|
10
|
-
};
|
|
11
|
-
const BreadCrumbs = (props) => {
|
|
12
|
-
const { title, trail } = props;
|
|
13
|
-
if (trail.length === 0) {
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
16
|
-
const ancestors = trail.slice(0, -1);
|
|
17
|
-
const current = trail[trail.length - 1];
|
|
18
|
-
return (<nav className="BreadCrumbs" aria-label={title}>
|
|
19
|
-
<span className="BreadCrumbs__title">{title}:</span>{' '}
|
|
20
|
-
{ancestors.map((link, i) => {
|
|
21
|
-
return (<React.Fragment key={i}>
|
|
22
|
-
<BreadCrumbs__item link={link}/>{' '}
|
|
23
|
-
<span className="BreadCrumbs__separator" aria-label="">
|
|
24
|
-
>
|
|
25
|
-
</span>{' '}
|
|
26
|
-
</React.Fragment>);
|
|
27
|
-
})}
|
|
28
|
-
<BreadCrumbs__item link={current} current/>
|
|
29
|
-
</nav>);
|
|
30
|
-
};
|
|
31
|
-
export default BreadCrumbs;
|
package/esm/ButtonBack.jsx
DELETED
package/esm/ButtonPrimary.jsx
DELETED
package/esm/ButtonSecondary.jsx
DELETED
package/esm/Carousel.jsx
DELETED
package/esm/CarouselStepper.jsx
DELETED
package/esm/CenterColumn.jsx
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import SeenEffect from './SeenEffect';
|
|
3
|
-
const CenterColumn = (props) => {
|
|
4
|
-
const { children, startSeen, effectType } = props;
|
|
5
|
-
return startSeen == null ? (<div className="CenterColumn">{children}</div>) : (<SeenEffect className="CenterColumn" startSeen={startSeen} effectType={effectType}>
|
|
6
|
-
{children}
|
|
7
|
-
</SeenEffect>);
|
|
8
|
-
};
|
|
9
|
-
export default CenterColumn;
|
package/esm/Checkbox.jsx
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import TogglerGroupField from './_abstract/TogglerGroupField';
|
|
3
|
-
import TogglerInput from './_abstract/TogglerInput';
|
|
4
|
-
const CheckboxButton = (props) => (<TogglerInput bem="CheckboxButton" {...props} type="checkbox"/>);
|
|
5
|
-
const CheckboxButtonsGroup = (props) => {
|
|
6
|
-
if (props.layout) {
|
|
7
|
-
console.warn('`CheckboxButtonsGroupProps.layout` is deprecated.');
|
|
8
|
-
}
|
|
9
|
-
if (props.columns) {
|
|
10
|
-
console.warn('`CheckboxButtonsGroupProps.columns` is deprecated.');
|
|
11
|
-
}
|
|
12
|
-
return (<TogglerGroupField {...props} bem="CheckboxButtonsGroup" Toggler={CheckboxButton}/>);
|
|
13
|
-
};
|
|
14
|
-
export default CheckboxButtonsGroup;
|
package/esm/CheckboxGroup.jsx
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import TogglerGroupField from './_abstract/TogglerGroupField';
|
|
3
|
-
import Checkbox from './Checkbox';
|
|
4
|
-
const CheckboxGroup = (props) => {
|
|
5
|
-
return (<TogglerGroupField {...props} bem="CheckboxGroup" modifier={props.layout} Toggler={Checkbox}/>);
|
|
6
|
-
};
|
|
7
|
-
export default CheckboxGroup;
|
package/esm/ContentArticle.jsx
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { useSeenEffect } from './utils/seenEffect';
|
|
3
|
-
import ArticleMeta from './ArticleMeta';
|
|
4
|
-
import ContentImage from './ContentImage';
|
|
5
|
-
import Heading from './Heading';
|
|
6
|
-
import RelatedLinks from './RelatedLinks';
|
|
7
|
-
import TextBlock from './TextBlock';
|
|
8
|
-
import VSpacer from './VSpacer';
|
|
9
|
-
const ContentArticle = (props) => {
|
|
10
|
-
const [ref] = useSeenEffect(props.startSeen);
|
|
11
|
-
return (<div className="ContentArticle" ref={ref}>
|
|
12
|
-
<ArticleMeta items={props.meta}/>
|
|
13
|
-
<Heading>{props.headline}</Heading>
|
|
14
|
-
<TextBlock startSeen>
|
|
15
|
-
{props.topImage && <ContentImage {...props.topImage}/>}
|
|
16
|
-
{props.body}
|
|
17
|
-
</TextBlock>
|
|
18
|
-
<VSpacer size="small">
|
|
19
|
-
<hr />
|
|
20
|
-
</VSpacer>
|
|
21
|
-
{props.relatedLinks && <RelatedLinks {...props.relatedLinks}/>}
|
|
22
|
-
</div>);
|
|
23
|
-
};
|
|
24
|
-
export default ContentArticle;
|
package/esm/ContentImage.jsx
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import Image from './_abstract/Image';
|
|
3
|
-
const ContentImage = (props) => {
|
|
4
|
-
const { image, caption, credit } = props;
|
|
5
|
-
return (<figure className="ContentImage">
|
|
6
|
-
{(caption || credit) && (<figcaption className="ContentImage__caption">
|
|
7
|
-
{caption && <span className="ContentImage__text"> {caption} </span>}{' '}
|
|
8
|
-
{credit && <small className="ContentImage__credit"> {credit} </small>}
|
|
9
|
-
</figcaption>)}
|
|
10
|
-
<Image className="ContentImage__image" {...image}/>
|
|
11
|
-
</figure>);
|
|
12
|
-
};
|
|
13
|
-
export default ContentImage;
|
package/esm/FeatureList.jsx
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { useSeenEffect } from './utils/seenEffect';
|
|
3
|
-
import Bling from './Bling';
|
|
4
|
-
const FeatureList = (props) => {
|
|
5
|
-
const { title, features, startSeen } = props;
|
|
6
|
-
const [ref] = useSeenEffect(startSeen);
|
|
7
|
-
const _features = features.length ? features : [{ name: '...' }];
|
|
8
|
-
return (<>
|
|
9
|
-
<Bling type="snake-large" align="left" vertical="down-ish"/>
|
|
10
|
-
|
|
11
|
-
<div className="FeatureList" ref={ref}>
|
|
12
|
-
<h2 className="FeatureList__title">{title}</h2>
|
|
13
|
-
<ul className="FeatureList__list">
|
|
14
|
-
{_features.map(({ name, icon, iconUrl }, i) => (<li key={i} className="FeatureList__feature" style={iconUrl
|
|
15
|
-
? { '--efnistakn': `url("${iconUrl}")` }
|
|
16
|
-
: undefined} data-efnistakn={!iconUrl ? icon : undefined}>
|
|
17
|
-
{name}
|
|
18
|
-
</li>))}
|
|
19
|
-
</ul>
|
|
20
|
-
</div>
|
|
21
|
-
</>);
|
|
22
|
-
};
|
|
23
|
-
export default FeatureList;
|
package/esm/FieldGroup.jsx
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import getBemClass from '@hugsmidjan/react/utils/getBemClass';
|
|
3
|
-
const FieldGroup = (props) => {
|
|
4
|
-
const { legend, children, className, disabled } = props;
|
|
5
|
-
return (<fieldset className={getBemClass('FieldGroup', null, className)} role="group" disabled={disabled}>
|
|
6
|
-
<legend className="FieldGroup__legend">{legend}</legend>
|
|
7
|
-
{children}
|
|
8
|
-
</fieldset>);
|
|
9
|
-
};
|
|
10
|
-
export default FieldGroup;
|
package/esm/FooterBadges.jsx
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Link } from './_abstract/Link';
|
|
3
|
-
const FooterBadges = (props) => {
|
|
4
|
-
if (!props.badges.length) {
|
|
5
|
-
return null;
|
|
6
|
-
}
|
|
7
|
-
return (<ul className="FooterBadges">
|
|
8
|
-
{props.badges.map(({ altText, src, href }, i) => (<li key={i} className="FooterBadges__badge">
|
|
9
|
-
{href ? (<Link href={href}>
|
|
10
|
-
{' '}
|
|
11
|
-
<img src={src} alt={altText}/>{' '}
|
|
12
|
-
</Link>) : (<img src={src} alt={altText}/>)}
|
|
13
|
-
</li>))}
|
|
14
|
-
</ul>);
|
|
15
|
-
};
|
|
16
|
-
export default FooterBadges;
|
package/esm/FooterInfo.jsx
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import getBemClass from '@hugsmidjan/react/utils/getBemClass';
|
|
3
|
-
const FooterInfo = (props) => {
|
|
4
|
-
const { boxes } = props;
|
|
5
|
-
return (<div className="FooterInfo">
|
|
6
|
-
{boxes.map((group, i) => (<div className={getBemClass('FooterInfo__group', group.modifier)} role={group.role} key={i}>
|
|
7
|
-
<h3 className="FooterInfo__grouptitle">{group.title}</h3>
|
|
8
|
-
{group.content ? (<div className={getBemClass('FooterInfo__groupcontent', group.modifier)}>
|
|
9
|
-
{group.content}
|
|
10
|
-
</div>) : (<div className={getBemClass('FooterInfo__groupcontent', group.modifier)} dangerouslySetInnerHTML={{ __html: group.html }}/>)}
|
|
11
|
-
</div>))}
|
|
12
|
-
</div>);
|
|
13
|
-
};
|
|
14
|
-
export default FooterInfo;
|
package/esm/Footnote.jsx
DELETED
package/esm/GridBlocks.jsx
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import getBemClass from '@hugsmidjan/react/utils/getBemClass';
|
|
3
|
-
import { getEfnistaknUrl } from '@reykjavik/hanna-utils/assets';
|
|
4
|
-
import Image from './_abstract/Image';
|
|
5
|
-
import { Link } from './_abstract/Link';
|
|
6
|
-
import { useSeenEffect } from './utils/seenEffect';
|
|
7
|
-
import ButtonTertiary from './ButtonTertiary';
|
|
8
|
-
const GridBlocks = (props) => {
|
|
9
|
-
const { blocks, twocol, startSeen } = props;
|
|
10
|
-
const [ref] = useSeenEffect(startSeen);
|
|
11
|
-
return (<div className={getBemClass('GridBlocks', [twocol && 'twocol'])} ref={ref}>
|
|
12
|
-
{blocks.map(({ title, summary, href, links = [], icon, image }, i) => {
|
|
13
|
-
const imageProps = icon ? { src: getEfnistaknUrl(icon) } : image;
|
|
14
|
-
return (<div key={i} className="GridBlocks__item">
|
|
15
|
-
{imageProps && <Image className="GridBlocks__illustration" {...imageProps}/>}
|
|
16
|
-
<div className="GridBlocks__textwrap">
|
|
17
|
-
<h3 className="GridBlocks__item__title">
|
|
18
|
-
{href != null ? (<Link className="GridBlocks__item__titlelink" href={href}>
|
|
19
|
-
{title}
|
|
20
|
-
</Link>) : (title)}
|
|
21
|
-
</h3>
|
|
22
|
-
<div className="GridBlocks__item__summary">{summary}</div>
|
|
23
|
-
<ul className="GridBlocks__links">
|
|
24
|
-
{links.map((link, i) => {
|
|
25
|
-
return (<li key={i} className="GridBlocks__link">
|
|
26
|
-
<ButtonTertiary {...link}/>
|
|
27
|
-
</li>);
|
|
28
|
-
})}
|
|
29
|
-
</ul>
|
|
30
|
-
</div>
|
|
31
|
-
</div>);
|
|
32
|
-
})}
|
|
33
|
-
</div>);
|
|
34
|
-
};
|
|
35
|
-
export default GridBlocks;
|
package/esm/HeroBlock.jsx
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { getIllustrationUrl } from '@reykjavik/hanna-utils/assets';
|
|
3
|
-
import Image from './_abstract/Image';
|
|
4
|
-
import { useSeenEffect } from './utils/seenEffect';
|
|
5
|
-
import ButtonPrimary from './ButtonPrimary';
|
|
6
|
-
import ButtonTertiary from './ButtonTertiary';
|
|
7
|
-
const HeroBlock = (props) => {
|
|
8
|
-
const { title, summary, illustration, image, primaryButton, secondaryButton, startSeen, } = props;
|
|
9
|
-
const hasButtons = Boolean(primaryButton || secondaryButton);
|
|
10
|
-
const imgProps = illustration ? { src: getIllustrationUrl(illustration) } : image;
|
|
11
|
-
const [ref] = useSeenEffect(startSeen);
|
|
12
|
-
return (<div className="HeroBlock" ref={ref}>
|
|
13
|
-
<h1 className="HeroBlock__title">{title}</h1>
|
|
14
|
-
<Image className="HeroBlock__image" {...imgProps}/>
|
|
15
|
-
<div className="HeroBlock__summary">{summary}</div>
|
|
16
|
-
{hasButtons && (<div className="HeroBlock__buttons">
|
|
17
|
-
{primaryButton && <ButtonPrimary {...primaryButton}/>}{' '}
|
|
18
|
-
{secondaryButton && <ButtonTertiary {...secondaryButton}/>}
|
|
19
|
-
</div>)}
|
|
20
|
-
</div>);
|
|
21
|
-
};
|
|
22
|
-
export default HeroBlock;
|
package/esm/InfoBlock.jsx
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { useSeenEffect } from './utils/seenEffect';
|
|
3
|
-
const InfoBlock = (props) => {
|
|
4
|
-
const { title, subtitle, items, startSeen } = props;
|
|
5
|
-
const [ref] = useSeenEffect(startSeen);
|
|
6
|
-
return (<div className="InfoBlock" ref={ref}>
|
|
7
|
-
<h2 className="InfoBlock__title">{title}</h2>
|
|
8
|
-
<div className="InfoBlock__subtitle">{subtitle}</div>
|
|
9
|
-
<ul className="InfoBlock__items">
|
|
10
|
-
{items.map((item, i) => (<li key={i} className="InfoBlock__item">
|
|
11
|
-
{item}
|
|
12
|
-
</li>))}
|
|
13
|
-
</ul>
|
|
14
|
-
{'extraInfo' in props && (<div className="InfoBlock__extrainfo">{props.extraInfo}</div>)}
|
|
15
|
-
{'attention' in props && (<div className="InfoBlock__attention">{props.attention}</div>)}
|
|
16
|
-
</div>);
|
|
17
|
-
};
|
|
18
|
-
export default InfoBlock;
|
package/esm/LabeledTextBlock.jsx
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import getBemClass from '@hugsmidjan/react/utils/getBemClass';
|
|
3
|
-
import { useSeenEffect } from './utils/seenEffect';
|
|
4
|
-
import ButtonTertiary from './ButtonTertiary';
|
|
5
|
-
const LabeledTextBlock = (props) => {
|
|
6
|
-
const { label, summary, wide, buttons = [], startSeen } = props;
|
|
7
|
-
const [ref] = useSeenEffect(startSeen);
|
|
8
|
-
return (<div className={getBemClass('LabeledTextBlock', wide && 'wide')} ref={ref}>
|
|
9
|
-
<h2 className="LabeledTextBlock__label">{label}</h2>
|
|
10
|
-
<div className="LabeledTextBlock__summary">
|
|
11
|
-
{summary}
|
|
12
|
-
{buttons.map((button, i) => (<ButtonTertiary key={i} {...button}/>))}
|
|
13
|
-
</div>
|
|
14
|
-
</div>);
|
|
15
|
-
};
|
|
16
|
-
export default LabeledTextBlock;
|
package/esm/Layout.jsx
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { useIsBrowserSide } from '@hugsmidjan/react/hooks';
|
|
3
|
-
import getBemClass from '@hugsmidjan/react/utils/getBemClass';
|
|
4
|
-
import { getAssetUrl } from '@reykjavik/hanna-utils/assets';
|
|
5
|
-
import { getTexts } from '@reykjavik/hanna-utils/i18n';
|
|
6
|
-
import Image from './_abstract/Image';
|
|
7
|
-
import { Link } from './_abstract/Link';
|
|
8
|
-
import { useMenuToggling } from './utils/useMenuToggling';
|
|
9
|
-
import { useScrollbarWidthCSSVar } from './utils/useScrollbarWidthCSSVar';
|
|
10
|
-
export const defaultLayoutTexts = {
|
|
11
|
-
is: {
|
|
12
|
-
lang: 'is',
|
|
13
|
-
skipLinkLabel: 'Valmynd',
|
|
14
|
-
closeMenuLabel: 'Loka',
|
|
15
|
-
closeMenuLabelLong: 'Loka valmynd',
|
|
16
|
-
},
|
|
17
|
-
en: {
|
|
18
|
-
lang: 'en',
|
|
19
|
-
skipLinkLabel: 'Skip to navigation',
|
|
20
|
-
closeMenuLabel: 'Close',
|
|
21
|
-
closeMenuLabelLong: 'Close menu',
|
|
22
|
-
},
|
|
23
|
-
};
|
|
24
|
-
const Layout = (props) => {
|
|
25
|
-
useScrollbarWidthCSSVar();
|
|
26
|
-
const { ssr, globalAlerts, mainChildren, navChildren, footerChildren, colorTheme, children, siteName = 'Reykjavík', logoLink = '/', } = props;
|
|
27
|
-
const { isMenuActive, closeMenu, toggleMenu } = useMenuToggling(ssr !== 'ssr-only');
|
|
28
|
-
const isBrowser = useIsBrowserSide( /* ssr */);
|
|
29
|
-
const txt = getTexts(props, defaultLayoutTexts);
|
|
30
|
-
return (<div className={getBemClass('Layout', props.modifier)} data-sprinkled={isBrowser} data-color-theme={colorTheme}>
|
|
31
|
-
{globalAlerts && (<div className="Layout__alerts" role="alert">
|
|
32
|
-
{globalAlerts}
|
|
33
|
-
</div>)}
|
|
34
|
-
<div className="Layout__content">
|
|
35
|
-
<div className="Layout__header" role="banner">
|
|
36
|
-
<Link className="Layout__header__logo" href={logoLink}>
|
|
37
|
-
{' '}
|
|
38
|
-
<Image inline={true} src={getAssetUrl('reykjavik-logo.svg')}/> {siteName}{' '}
|
|
39
|
-
</Link>{' '}
|
|
40
|
-
{navChildren && (<Link className="Layout__header__skiplink" href="#pagenav" onClick={isMenuActive &&
|
|
41
|
-
((e) => {
|
|
42
|
-
e.preventDefault();
|
|
43
|
-
toggleMenu();
|
|
44
|
-
})} aria-label={txt.skipLinkLabel}>
|
|
45
|
-
{txt.skipLinkLabel}
|
|
46
|
-
</Link>)}
|
|
47
|
-
</div>
|
|
48
|
-
<div className="Layout__main" role="main">
|
|
49
|
-
{mainChildren || children}
|
|
50
|
-
</div>
|
|
51
|
-
{navChildren && (<div className="Layout__nav" id="pagenav" role="navigation">
|
|
52
|
-
{navChildren}
|
|
53
|
-
{isMenuActive && (<button className="Layout__nav__closebutton" onClick={closeMenu} aria-label={txt.closeMenuLabelLong} type="button">
|
|
54
|
-
{txt.closeMenuLabel}
|
|
55
|
-
</button>)}
|
|
56
|
-
</div>)}
|
|
57
|
-
<div className="Layout__footer" role="complementary">
|
|
58
|
-
{footerChildren}
|
|
59
|
-
</div>
|
|
60
|
-
</div>
|
|
61
|
-
</div>);
|
|
62
|
-
};
|
|
63
|
-
export default Layout;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { getIllustrationUrl } from '@reykjavik/hanna-utils/assets';
|
|
3
|
-
import { Link } from '../_abstract/Link';
|
|
4
|
-
export const AuxiliaryPanel = (props) => {
|
|
5
|
-
const { title, id, items, image } = props;
|
|
6
|
-
const imageUrl = image ? getIllustrationUrl(image) : image;
|
|
7
|
-
return (<li className="AuxiliaryPanel" id={id} style={imageUrl
|
|
8
|
-
? { '--menu-auxiliary-image': `url(${imageUrl})` }
|
|
9
|
-
: undefined}>
|
|
10
|
-
<h3 className="AuxiliaryPanel__title">{title}</h3>
|
|
11
|
-
<ul className="AuxiliaryPanel__items">
|
|
12
|
-
{items.map((item, i) => (<li key={i} className="AuxiliaryPanel__item" aria-current={item.current || undefined}>
|
|
13
|
-
<Link className="AuxiliaryPanel__link" href={item.href} target={item.target} lang={item.lang}>
|
|
14
|
-
{item.label}
|
|
15
|
-
</Link>
|
|
16
|
-
</li>))}
|
|
17
|
-
</ul>
|
|
18
|
-
</li>);
|
|
19
|
-
};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import getBemClass from '@hugsmidjan/react/utils/getBemClass';
|
|
3
|
-
import { Link } from '../_abstract/Link';
|
|
4
|
-
export const PrimaryPanel = (props) => {
|
|
5
|
-
const { setActivePanel, panel, isParent, isActive, isBrowser, texts } = props;
|
|
6
|
-
const { items } = panel;
|
|
7
|
-
return (<li ref={isActive ? props.activeRef : undefined} className={getBemClass('PrimaryPanel', [
|
|
8
|
-
isParent && 'parent',
|
|
9
|
-
isActive && 'active',
|
|
10
|
-
items.length > 5 && 'twocol', // TODO: allow setting twocol manually?
|
|
11
|
-
])} id={panel.id}>
|
|
12
|
-
<h3 className="PrimaryPanel__title">
|
|
13
|
-
{' '}
|
|
14
|
-
{isBrowser && !isActive ? (<button className="MainMenu__mega__title-toggler" aria-controls={panel.id} onClick={() => setActivePanel(panel, false)} aria-pressed={isActive} type="button">
|
|
15
|
-
{panel.title}
|
|
16
|
-
</button>) : (panel.title)}
|
|
17
|
-
</h3>
|
|
18
|
-
<ul className="PrimaryPanel__items">
|
|
19
|
-
{items.map((item, i) => (<li key={i} className="PrimaryPanel__item" aria-current={item.current || undefined}>
|
|
20
|
-
<Link className="PrimaryPanel__link" href={item.href} target={item.target} lang={item.lang}>
|
|
21
|
-
<span className="PrimaryPanel__linkTitle">{item.label}</span>{' '}
|
|
22
|
-
<small className="PrimaryPanel__summary">{item.summary}</small>{' '}
|
|
23
|
-
</Link>
|
|
24
|
-
</li>))}
|
|
25
|
-
</ul>
|
|
26
|
-
{isBrowser && isActive && (<button className="MainMenu__megapanel__backtomenu" aria-controls={panel.id} aria-label={texts.backToMenuLong} onClick={() => setActivePanel(undefined)} type="button">
|
|
27
|
-
{texts.backToMenu}
|
|
28
|
-
</button>)}
|
|
29
|
-
</li>);
|
|
30
|
-
};
|
package/esm/MiniMetrics.jsx
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
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 (<SeenEffect className="MiniMetrics" startSeen={startSeen}>
|
|
7
|
-
<strong className="MiniMetrics__text">{text}</strong> {'\n'}
|
|
8
|
-
<Button bem="MiniMetrics__more" {...moreButton}/>
|
|
9
|
-
</SeenEffect>);
|
|
10
|
-
};
|
|
11
|
-
export default MiniMetrics;
|
package/esm/Modal.jsx
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
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 (<_Modal {...props} bodyWrap={false} bem="Modal" closeDelay={closeDelay} texts={texts} render={(args) => bling ? (<>
|
|
8
|
-
{render(args)}
|
|
9
|
-
<div className="Modal__blings">
|
|
10
|
-
<div className="Modal__blings__inner">{bling}</div>
|
|
11
|
-
</div>
|
|
12
|
-
</>) : (render(args))}
|
|
13
|
-
// eslint-disable-next-line react/no-children-prop
|
|
14
|
-
children={undefined}/>);
|
|
15
|
-
};
|
|
16
|
-
export default Modal;
|
package/esm/NameCards.jsx
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import NameCard from './NameCard';
|
|
3
|
-
const NameCards = (props) => {
|
|
4
|
-
const { items } = props;
|
|
5
|
-
return (<div className="NameCards">
|
|
6
|
-
{items.map((item, i) => (<NameCard key={i} {...item}/>))}
|
|
7
|
-
</div>);
|
|
8
|
-
};
|
|
9
|
-
export default NameCards;
|
package/esm/PageFilter.jsx
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
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 (<div className={getBemClass('PageFilter', underlap && 'underlap')} ref={ref}>
|
|
9
|
-
<h2 className="PageFilter__title">{title}</h2>
|
|
10
|
-
{summary && <div className="PageFilter__summary">{summary}</div>}
|
|
11
|
-
<div className="PageFilter__filters">{filters || children}</div>
|
|
12
|
-
<div className="PageFilter__buttons">{buttonRow}</div>
|
|
13
|
-
{footnote && <Footnote>{footnote}</Footnote>}
|
|
14
|
-
</div>);
|
|
15
|
-
};
|
|
16
|
-
export default PageFilter;
|
package/esm/ProcessOverview.jsx
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
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 (<div className={getBemClass('ProcessOverview', [
|
|
6
|
-
transparent && 'transparent',
|
|
7
|
-
narrow && 'narrow',
|
|
8
|
-
])}>
|
|
9
|
-
<h2 className="ProcessOverview__title">{title}</h2>
|
|
10
|
-
{items.map(({ title, content }, i) => {
|
|
11
|
-
return (<div key={i} className="ProcessOverview__item">
|
|
12
|
-
<h3 className="ProcessOverview__item__title">{title}</h3>
|
|
13
|
-
<div className="ProcessOverview__item__content">{content}</div>
|
|
14
|
-
</div>);
|
|
15
|
-
})}
|
|
16
|
-
|
|
17
|
-
{attention && <div className="ProcessOverview__attention">{attention}</div>}
|
|
18
|
-
</div>);
|
|
19
|
-
};
|
|
20
|
-
export default ProcessOverview;
|
package/esm/PullQuote.jsx
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import TogglerGroupField from './_abstract/TogglerGroupField';
|
|
3
|
-
import TogglerInput from './_abstract/TogglerInput';
|
|
4
|
-
const RadioButton = (props) => (<TogglerInput {...props} bem="RadioButton" type="radio"/>);
|
|
5
|
-
const RadioButtonsGroup = (props) => {
|
|
6
|
-
if (props.layout) {
|
|
7
|
-
console.warn('`RadioButtonsGroupProps.layout` is deprecated.');
|
|
8
|
-
}
|
|
9
|
-
if (props.columns) {
|
|
10
|
-
console.warn('`RadioButtonsGroupProps.columns` is deprecated.');
|
|
11
|
-
}
|
|
12
|
-
return <TogglerGroupField {...props} bem="RadioButtonsGroup" Toggler={RadioButton}/>;
|
|
13
|
-
};
|
|
14
|
-
export default RadioButtonsGroup;
|
package/esm/RadioGroup.jsx
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import TogglerGroupField from './_abstract/TogglerGroupField';
|
|
3
|
-
import TogglerInput from './_abstract/TogglerInput';
|
|
4
|
-
const Radio = (props) => (<TogglerInput {...props} bem="Radio" type="radio"/>);
|
|
5
|
-
const RadioGroup = (props) => (<TogglerGroupField {...props} bem="RadioGroup" modifier={props.layout} Toggler={Radio}/>);
|
|
6
|
-
RadioGroup.__Radio = Radio;
|
|
7
|
-
export default RadioGroup;
|
package/esm/RelatedLinks.jsx
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
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 (<div className="RelatedLinks">
|
|
16
|
-
{title && <TitleTag className="RelatedLinks__title">{title}</TitleTag>}
|
|
17
|
-
<ul className="RelatedLinks__list">
|
|
18
|
-
{links.map(({ href, label, type, target }, i) => {
|
|
19
|
-
type = type && types[type] ? type : undefined;
|
|
20
|
-
return (<li key={i} className="RelatedLinks__item">
|
|
21
|
-
<Link className="RelatedLinks__link" href={href} data-type={type} target={target}>
|
|
22
|
-
{' '}
|
|
23
|
-
{label}{' '}
|
|
24
|
-
</Link>
|
|
25
|
-
</li>);
|
|
26
|
-
})}
|
|
27
|
-
</ul>
|
|
28
|
-
</div>);
|
|
29
|
-
};
|
|
30
|
-
export default RelatedLinks;
|
|
@@ -1,19 +0,0 @@
|
|
|
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 (<li className={bem}>
|
|
9
|
-
<Link className={bem + '__link'} href={href}>
|
|
10
|
-
<h3 className={bem + '__title'}>{title}</h3>
|
|
11
|
-
{metaArr.length > 0 && (<span className={bem + '__meta'}>
|
|
12
|
-
{metaArr.map((item, i) => typeof item === 'function' ? item() : item && <span key={i}>{item}</span>)}
|
|
13
|
-
</span>)}
|
|
14
|
-
{highlight && image && <Image className={bem + '__image'} src={image}/>}
|
|
15
|
-
<div className={bem + '__summary'} dangerouslySetInnerHTML={{ __html: summary }}/>
|
|
16
|
-
</Link>
|
|
17
|
-
</li>);
|
|
18
|
-
};
|
|
19
|
-
export default SearchResultsItem;
|