@reykjavik/hanna-react 0.10.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +795 -0
- package/README.md +69 -0
- package/lib/AccordionList.cjs +91 -0
- package/lib/AccordionList.mjs +69 -0
- package/lib/ActionCards.cjs +57 -0
- package/lib/ActionCards.mjs +35 -0
- package/lib/Alert.cjs +159 -0
- package/lib/Alert.mjs +139 -0
- package/lib/ArticleCarousel/_ArticleCarouselCard.cjs +75 -0
- package/lib/ArticleCarousel/_ArticleCarouselCard.mjs +51 -0
- package/lib/ArticleCarousel.cjs +43 -0
- package/lib/ArticleCarousel.mjs +21 -0
- package/lib/ArticleMeta.cjs +46 -0
- package/lib/ArticleMeta.mjs +22 -0
- package/lib/Attention.cjs +33 -0
- package/lib/Attention.mjs +9 -0
- package/lib/BasicTable.cjs +72 -0
- package/lib/BasicTable.mjs +50 -0
- package/lib/Bling.cjs +76 -0
- package/lib/Bling.mjs +52 -0
- package/lib/BlockBreak.cjs +32 -0
- package/lib/BlockBreak.mjs +8 -0
- package/lib/BlockQuote.cjs +47 -0
- package/lib/BlockQuote.mjs +25 -0
- package/lib/BreadCrumbs.cjs +67 -0
- package/lib/BreadCrumbs.mjs +43 -0
- package/lib/ButtonBack.cjs +47 -0
- package/lib/ButtonBack.mjs +25 -0
- package/lib/ButtonBar.cjs +45 -0
- package/lib/ButtonBar.mjs +18 -0
- package/lib/ButtonPrimary.cjs +47 -0
- package/lib/ButtonPrimary.mjs +25 -0
- package/lib/ButtonSecondary.cjs +47 -0
- package/lib/ButtonSecondary.mjs +25 -0
- package/lib/ButtonTertiary.cjs +64 -0
- package/lib/ButtonTertiary.mjs +42 -0
- package/lib/Carousel.cjs +52 -0
- package/lib/Carousel.mjs +30 -0
- package/lib/CarouselStepper.cjs +51 -0
- package/lib/CarouselStepper.mjs +29 -0
- package/lib/CenterColumn.cjs +40 -0
- package/lib/CenterColumn.mjs +16 -0
- package/lib/Checkbox.cjs +52 -0
- package/lib/Checkbox.mjs +30 -0
- package/lib/CheckboxButtonsGroup.cjs +65 -0
- package/lib/CheckboxButtonsGroup.mjs +43 -0
- package/lib/CheckboxGroup.cjs +55 -0
- package/lib/CheckboxGroup.mjs +33 -0
- package/lib/CityBlock.cjs +49 -0
- package/lib/CityBlock.mjs +25 -0
- package/lib/ContactBubble.cjs +200 -0
- package/lib/ContactBubble.mjs +173 -0
- package/lib/ContentArticle.cjs +63 -0
- package/lib/ContentArticle.mjs +41 -0
- package/lib/ContentImage.cjs +58 -0
- package/lib/ContentImage.mjs +36 -0
- package/lib/Datepicker.cjs +164 -0
- package/lib/Datepicker.mjs +142 -0
- package/lib/ExtraLinks.cjs +96 -0
- package/lib/ExtraLinks.mjs +74 -0
- package/lib/FeatureList.cjs +53 -0
- package/lib/FeatureList.mjs +29 -0
- package/lib/FieldGroup.cjs +40 -0
- package/lib/FieldGroup.mjs +16 -0
- package/lib/FileInput.cjs +256 -0
- package/lib/FileInput.mjs +234 -0
- package/lib/Foonote.cjs +30 -0
- package/lib/Foonote.mjs +6 -0
- package/lib/FooterBadges.cjs +49 -0
- package/lib/FooterBadges.mjs +25 -0
- package/lib/FooterInfo.cjs +47 -0
- package/lib/FooterInfo.mjs +23 -0
- package/lib/Footnote.cjs +32 -0
- package/lib/Footnote.mjs +8 -0
- package/lib/Form.cjs +56 -0
- package/lib/Form.mjs +34 -0
- package/lib/FormField.cjs +153 -0
- package/lib/FormField.mjs +131 -0
- package/lib/Gallery/_GalleryItem.cjs +83 -0
- package/lib/Gallery/_GalleryItem.mjs +61 -0
- package/lib/Gallery/_GalleryModal.cjs +104 -0
- package/lib/Gallery/_GalleryModal.mjs +82 -0
- package/lib/Gallery/_GalleryModalContext.cjs +30 -0
- package/lib/Gallery/_GalleryModalContext.mjs +6 -0
- package/lib/Gallery/_GalleryModalItem.cjs +59 -0
- package/lib/Gallery/_GalleryModalItem.mjs +36 -0
- package/lib/Gallery.cjs +79 -0
- package/lib/Gallery.mjs +57 -0
- package/lib/GridBlocks.cjs +81 -0
- package/lib/GridBlocks.mjs +59 -0
- package/lib/Heading.cjs +45 -0
- package/lib/Heading.mjs +21 -0
- package/lib/HeroBlock.cjs +74 -0
- package/lib/HeroBlock.mjs +52 -0
- package/lib/IframeBlock.cjs +48 -0
- package/lib/IframeBlock.mjs +24 -0
- package/lib/Illustration.cjs +51 -0
- package/lib/Illustration.mjs +31 -0
- package/lib/ImageCards.cjs +72 -0
- package/lib/ImageCards.mjs +52 -0
- package/lib/InfoBlock.cjs +51 -0
- package/lib/InfoBlock.mjs +27 -0
- package/lib/InfoHero.cjs +150 -0
- package/lib/InfoHero.mjs +128 -0
- package/lib/IslandBlock.cjs +63 -0
- package/lib/IslandBlock.mjs +41 -0
- package/lib/IslandPageBlock.cjs +49 -0
- package/lib/IslandPageBlock.mjs +25 -0
- package/lib/LabeledTextBlock.cjs +60 -0
- package/lib/LabeledTextBlock.mjs +38 -0
- package/lib/Layout.cjs +113 -0
- package/lib/Layout.mjs +87 -0
- package/lib/MainMenu/_Auxiliary.cjs +54 -0
- package/lib/MainMenu/_Auxiliary.mjs +28 -0
- package/lib/MainMenu/_PrimaryPanel.cjs +74 -0
- package/lib/MainMenu/_PrimaryPanel.mjs +48 -0
- package/lib/MainMenu.cjs +209 -0
- package/lib/MainMenu.mjs +187 -0
- package/lib/MiniMetrics.cjs +56 -0
- package/lib/MiniMetrics.mjs +34 -0
- package/lib/Modal.cjs +70 -0
- package/lib/Modal.mjs +48 -0
- package/lib/NameCard.cjs +115 -0
- package/lib/NameCard.mjs +91 -0
- package/lib/NameCards.cjs +52 -0
- package/lib/NameCards.mjs +30 -0
- package/lib/NewsHero.cjs +136 -0
- package/lib/NewsHero.mjs +114 -0
- package/lib/PageFilter.cjs +48 -0
- package/lib/PageFilter.mjs +24 -0
- package/lib/PageHeading.cjs +42 -0
- package/lib/PageHeading.mjs +18 -0
- package/lib/ProcessOverview.cjs +52 -0
- package/lib/ProcessOverview.mjs +28 -0
- package/lib/PullQuote.cjs +47 -0
- package/lib/PullQuote.mjs +25 -0
- package/lib/RadioButtonsGroup.cjs +64 -0
- package/lib/RadioButtonsGroup.mjs +42 -0
- package/lib/RadioGroup.cjs +58 -0
- package/lib/RadioGroup.mjs +36 -0
- package/lib/RelatedLinks.cjs +61 -0
- package/lib/RelatedLinks.mjs +37 -0
- package/lib/RowBlock.cjs +39 -0
- package/lib/RowBlock.mjs +15 -0
- package/lib/RowBlockColumn.cjs +40 -0
- package/lib/RowBlockColumn.mjs +16 -0
- package/lib/SearchInput.cjs +136 -0
- package/lib/SearchInput.mjs +114 -0
- package/lib/SearchResults/_SearchResultsItem.cjs +54 -0
- package/lib/SearchResults/_SearchResultsItem.mjs +30 -0
- package/lib/SearchResults.cjs +172 -0
- package/lib/SearchResults.mjs +150 -0
- package/lib/SeenEffect.cjs +66 -0
- package/lib/SeenEffect.mjs +44 -0
- package/lib/Selectbox.cjs +144 -0
- package/lib/Selectbox.mjs +122 -0
- package/lib/ShareButtons.cjs +101 -0
- package/lib/ShareButtons.mjs +83 -0
- package/lib/Sharpie.cjs +51 -0
- package/lib/Sharpie.mjs +27 -0
- package/lib/SiteSearchAutocomplete.cjs +150 -0
- package/lib/SiteSearchAutocomplete.mjs +126 -0
- package/lib/SiteSearchCurtain.cjs +78 -0
- package/lib/SiteSearchCurtain.mjs +56 -0
- package/lib/SiteSearchInput.cjs +119 -0
- package/lib/SiteSearchInput.mjs +97 -0
- package/lib/Skeleton.cjs +63 -0
- package/lib/Skeleton.mjs +39 -0
- package/lib/SubHeading.cjs +43 -0
- package/lib/SubHeading.mjs +19 -0
- package/lib/Tabs.cjs +166 -0
- package/lib/Tabs.mjs +144 -0
- package/lib/TagPill.cjs +113 -0
- package/lib/TagPill.mjs +91 -0
- package/lib/TextBlock.cjs +45 -0
- package/lib/TextBlock.mjs +21 -0
- package/lib/TextButton.cjs +55 -0
- package/lib/TextButton.mjs +33 -0
- package/lib/TextInput.cjs +136 -0
- package/lib/TextInput.mjs +114 -0
- package/lib/VSpacer.cjs +70 -0
- package/lib/VSpacer.mjs +46 -0
- package/lib/VerticalTabsTOC.cjs +123 -0
- package/lib/VerticalTabsTOC.mjs +101 -0
- package/lib/WizardLayout.cjs +79 -0
- package/lib/WizardLayout.mjs +55 -0
- package/lib/WizardLayoutClose.cjs +47 -0
- package/lib/WizardLayoutClose.mjs +25 -0
- package/lib/WizardStepper.cjs +55 -0
- package/lib/WizardStepper.mjs +31 -0
- package/lib/_abstract/Button.cjs +114 -0
- package/lib/_abstract/Button.mjs +92 -0
- package/lib/_abstract/CardList.cjs +100 -0
- package/lib/_abstract/CardList.mjs +76 -0
- package/lib/_abstract/Image.cjs +75 -0
- package/lib/_abstract/Image.mjs +51 -0
- package/lib/_abstract/Link.cjs +37 -0
- package/lib/_abstract/Link.mjs +10 -0
- package/lib/_abstract/TogglerGroup.cjs +92 -0
- package/lib/_abstract/TogglerGroup.mjs +70 -0
- package/lib/_abstract/TogglerGroupField.cjs +121 -0
- package/lib/_abstract/TogglerGroupField.mjs +99 -0
- package/lib/_abstract/TogglerInput.cjs +105 -0
- package/lib/_abstract/TogglerInput.mjs +83 -0
- package/lib/_abstract/_AbstractCarousel.cjs +170 -0
- package/lib/_abstract/_AbstractCarousel.mjs +152 -0
- package/lib/_abstract/_Blings.cjs +47 -0
- package/lib/_abstract/_Blings.mjs +23 -0
- package/lib/_abstract/_Block.cjs +73 -0
- package/lib/_abstract/_Block.mjs +51 -0
- package/lib/_abstract/_Quote.cjs +43 -0
- package/lib/_abstract/_Quote.mjs +17 -0
- package/lib/_abstract/breakOnNL.cjs +30 -0
- package/lib/_abstract/breakOnNL.mjs +6 -0
- package/lib/assets.cjs +77 -0
- package/lib/assets.mjs +53 -0
- package/lib/constants.cjs +49 -0
- package/lib/constants.mjs +24 -0
- package/lib/focus-visible.cjs +1 -0
- package/lib/focus-visible.mjs +1 -0
- package/lib/utils/config.cjs +27 -0
- package/lib/utils/config.mjs +4 -0
- package/lib/utils/detectEdgeScroll.cjs +95 -0
- package/lib/utils/detectEdgeScroll.mjs +71 -0
- package/lib/utils/env.cjs +31 -0
- package/lib/utils/env.mjs +5 -0
- package/lib/utils/seenEffect.cjs +93 -0
- package/lib/utils/seenEffect.mjs +65 -0
- package/lib/utils/useFormatMonitor.cjs +29 -0
- package/lib/utils/useFormatMonitor.mjs +6 -0
- package/lib/utils/useGetSVGtext.cjs +44 -0
- package/lib/utils/useGetSVGtext.mjs +21 -0
- package/lib/utils/useMenuToggling.cjs +83 -0
- package/lib/utils/useMenuToggling.mjs +60 -0
- package/lib/utils/useScrollbarWidthCSSVar.cjs +32 -0
- package/lib/utils/useScrollbarWidthCSSVar.mjs +6 -0
- package/lib/utils.cjs +18 -0
- package/lib/utils.mjs +2 -0
- package/package.json +491 -0
- package/types/AccordionList.d.ts +17 -0
- package/types/ActionCards.d.ts +5 -0
- package/types/Alert.d.ts +49 -0
- package/types/ArticleCarousel/_ArticleCarouselCard.d.ts +27 -0
- package/types/ArticleCarousel.d.ts +12 -0
- package/types/ArticleMeta.d.ts +9 -0
- package/types/Attention.d.ts +7 -0
- package/types/BasicTable.d.ts +12 -0
- package/types/Bling.d.ts +81 -0
- package/types/BlockBreak.d.ts +2 -0
- package/types/BlockQuote.d.ts +4 -0
- package/types/BreadCrumbs.d.ts +11 -0
- package/types/ButtonBack.d.ts +7 -0
- package/types/ButtonBar.d.ts +16 -0
- package/types/ButtonPrimary.d.ts +7 -0
- package/types/ButtonSecondary.d.ts +7 -0
- package/types/ButtonTertiary.d.ts +12 -0
- package/types/Carousel.d.ts +4 -0
- package/types/CarouselStepper.d.ts +4 -0
- package/types/CenterColumn.d.ts +7 -0
- package/types/Checkbox.d.ts +4 -0
- package/types/CheckboxButtonsGroup.d.ts +11 -0
- package/types/CheckboxGroup.d.ts +9 -0
- package/types/CityBlock.d.ts +23 -0
- package/types/ContactBubble.d.ts +58 -0
- package/types/ContentArticle.d.ts +15 -0
- package/types/ContentImage.d.ts +8 -0
- package/types/Datepicker.d.ts +39 -0
- package/types/ExtraLinks.d.ts +18 -0
- package/types/FeatureList.d.ts +12 -0
- package/types/FieldGroup.d.ts +9 -0
- package/types/FileInput.d.ts +17 -0
- package/types/Foonote.d.ts +12 -0
- package/types/FooterBadges.d.ts +9 -0
- package/types/FooterInfo.d.ts +18 -0
- package/types/Footnote.d.ts +6 -0
- package/types/Form.d.ts +7 -0
- package/types/FormField.d.ts +65 -0
- package/types/Gallery/_GalleryItem.d.ts +8 -0
- package/types/Gallery/_GalleryModal.d.ts +6 -0
- package/types/Gallery/_GalleryModalContext.d.ts +9 -0
- package/types/Gallery/_GalleryModalItem.d.ts +3 -0
- package/types/Gallery.d.ts +17 -0
- package/types/GridBlocks.d.ts +26 -0
- package/types/Heading.d.ts +16 -0
- package/types/HeroBlock.d.ts +19 -0
- package/types/IframeBlock.d.ts +23 -0
- package/types/Illustration.d.ts +13 -0
- package/types/ImageCards.d.ts +8 -0
- package/types/InfoBlock.d.ts +17 -0
- package/types/InfoHero.d.ts +17 -0
- package/types/IslandBlock.d.ts +25 -0
- package/types/IslandPageBlock.d.ts +24 -0
- package/types/LabeledTextBlock.d.ts +11 -0
- package/types/Layout.d.ts +33 -0
- package/types/MainMenu/_Auxiliary.d.ts +6 -0
- package/types/MainMenu/_PrimaryPanel.d.ts +13 -0
- package/types/MainMenu.d.ts +48 -0
- package/types/MiniMetrics.d.ts +8 -0
- package/types/Modal.d.ts +10 -0
- package/types/NameCard.d.ts +64 -0
- package/types/NameCards.d.ts +6 -0
- package/types/NewsHero.d.ts +14 -0
- package/types/PageFilter.d.ts +17 -0
- package/types/PageHeading.d.ts +10 -0
- package/types/ProcessOverview.d.ts +13 -0
- package/types/PullQuote.d.ts +4 -0
- package/types/RadioButtonsGroup.d.ts +11 -0
- package/types/RadioGroup.d.ts +13 -0
- package/types/RelatedLinks.d.ts +20 -0
- package/types/RowBlock.d.ts +12 -0
- package/types/RowBlockColumn.d.ts +8 -0
- package/types/SearchInput.d.ts +18 -0
- package/types/SearchResults/_SearchResultsItem.d.ts +18 -0
- package/types/SearchResults.d.ts +33 -0
- package/types/SeenEffect.d.ts +4 -0
- package/types/Selectbox.d.ts +8 -0
- package/types/ShareButtons.d.ts +9 -0
- package/types/Sharpie.d.ts +23 -0
- package/types/SiteSearchAutocomplete.d.ts +40 -0
- package/types/SiteSearchCurtain.d.ts +6 -0
- package/types/SiteSearchInput.d.ts +24 -0
- package/types/Skeleton.d.ts +25 -0
- package/types/SubHeading.d.ts +10 -0
- package/types/Tabs.d.ts +35 -0
- package/types/TagPill.d.ts +27 -0
- package/types/TextBlock.d.ts +15 -0
- package/types/TextButton.d.ts +9 -0
- package/types/TextInput.d.ts +16 -0
- package/types/VSpacer.d.ts +24 -0
- package/types/VerticalTabsTOC.d.ts +14 -0
- package/types/WizardLayout.d.ts +15 -0
- package/types/WizardLayoutClose.d.ts +3 -0
- package/types/WizardStepper.d.ts +36 -0
- package/types/_abstract/Button.d.ts +40 -0
- package/types/_abstract/CardList.d.ts +29 -0
- package/types/_abstract/Image.d.ts +32 -0
- package/types/_abstract/Link.d.ts +27 -0
- package/types/_abstract/TogglerGroup.d.ts +31 -0
- package/types/_abstract/TogglerGroupField.d.ts +17 -0
- package/types/_abstract/TogglerInput.d.ts +22 -0
- package/types/_abstract/_AbstractCarousel.d.ts +25 -0
- package/types/_abstract/_Blings.d.ts +11 -0
- package/types/_abstract/_Block.d.ts +22 -0
- package/types/_abstract/_Quote.d.ts +9 -0
- package/types/_abstract/breakOnNL.d.ts +2 -0
- package/types/assets.d.ts +42 -0
- package/types/constants.d.ts +39 -0
- package/types/focus-visible.d.ts +1 -0
- package/types/utils/config.d.ts +2 -0
- package/types/utils/detectEdgeScroll.d.ts +52 -0
- package/types/utils/env.d.ts +1 -0
- package/types/utils/seenEffect.d.ts +28 -0
- package/types/utils/useFormatMonitor.d.ts +38 -0
- package/types/utils/useGetSVGtext.d.ts +6 -0
- package/types/utils/useMenuToggling.d.ts +8 -0
- package/types/utils/useScrollbarWidthCSSVar.d.ts +1 -0
- package/types/utils.d.ts +2 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var IslandPageBlock_exports = {};
|
|
22
|
+
__export(IslandPageBlock_exports, {
|
|
23
|
+
default: () => IslandPageBlock_default
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(IslandPageBlock_exports);
|
|
26
|
+
var import_react = __toESM(require("react"));
|
|
27
|
+
var import_assets = require("@reykjavik/hanna-utils/assets");
|
|
28
|
+
var import_Block = __toESM(require("./_abstract/_Block"));
|
|
29
|
+
var import_constants = require("./constants");
|
|
30
|
+
const backgrounds = {
|
|
31
|
+
none: void 0,
|
|
32
|
+
gray: "gray",
|
|
33
|
+
secondary: "secondary"
|
|
34
|
+
};
|
|
35
|
+
const IslandPageBlock = (props) => {
|
|
36
|
+
const { title, summary, buttons, illustration, image, align, background, startSeen } = props;
|
|
37
|
+
const alignment = align && import_constants.aligns[align] ? align : "right";
|
|
38
|
+
const bg = backgrounds[background || "none"];
|
|
39
|
+
return /* @__PURE__ */ import_react.default.createElement(import_Block.default, {
|
|
40
|
+
bem: "IslandPageBlock",
|
|
41
|
+
modifier: ["align--" + alignment, bg && "background--" + bg],
|
|
42
|
+
content: { title, summary, buttons },
|
|
43
|
+
image: illustration ? { src: (0, import_assets.getIllustrationUrl)(illustration) } : image || {},
|
|
44
|
+
startSeen
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
var IslandPageBlock_default = IslandPageBlock;
|
|
48
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
49
|
+
0 && (module.exports = {});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { getIllustrationUrl } from "@reykjavik/hanna-utils/assets";
|
|
3
|
+
import Block from "./_abstract/_Block";
|
|
4
|
+
import { aligns } from "./constants";
|
|
5
|
+
const backgrounds = {
|
|
6
|
+
none: void 0,
|
|
7
|
+
gray: "gray",
|
|
8
|
+
secondary: "secondary"
|
|
9
|
+
};
|
|
10
|
+
const IslandPageBlock = (props) => {
|
|
11
|
+
const { title, summary, buttons, illustration, image, align, background, startSeen } = props;
|
|
12
|
+
const alignment = align && aligns[align] ? align : "right";
|
|
13
|
+
const bg = backgrounds[background || "none"];
|
|
14
|
+
return /* @__PURE__ */ React.createElement(Block, {
|
|
15
|
+
bem: "IslandPageBlock",
|
|
16
|
+
modifier: ["align--" + alignment, bg && "background--" + bg],
|
|
17
|
+
content: { title, summary, buttons },
|
|
18
|
+
image: illustration ? { src: getIllustrationUrl(illustration) } : image || {},
|
|
19
|
+
startSeen
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var IslandPageBlock_default = IslandPageBlock;
|
|
23
|
+
export {
|
|
24
|
+
IslandPageBlock_default as default
|
|
25
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
9
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
+
var __spreadValues = (a, b) => {
|
|
11
|
+
for (var prop in b || (b = {}))
|
|
12
|
+
if (__hasOwnProp.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
if (__getOwnPropSymbols)
|
|
15
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
16
|
+
if (__propIsEnum.call(b, prop))
|
|
17
|
+
__defNormalProp(a, prop, b[prop]);
|
|
18
|
+
}
|
|
19
|
+
return a;
|
|
20
|
+
};
|
|
21
|
+
var __export = (target, all) => {
|
|
22
|
+
for (var name in all)
|
|
23
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
24
|
+
};
|
|
25
|
+
var __copyProps = (to, from, except, desc) => {
|
|
26
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
27
|
+
for (let key of __getOwnPropNames(from))
|
|
28
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
29
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
30
|
+
}
|
|
31
|
+
return to;
|
|
32
|
+
};
|
|
33
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
34
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
35
|
+
var LabeledTextBlock_exports = {};
|
|
36
|
+
__export(LabeledTextBlock_exports, {
|
|
37
|
+
default: () => LabeledTextBlock_default
|
|
38
|
+
});
|
|
39
|
+
module.exports = __toCommonJS(LabeledTextBlock_exports);
|
|
40
|
+
var import_react = __toESM(require("react"));
|
|
41
|
+
var import_getBemClass = __toESM(require("@hugsmidjan/react/utils/getBemClass"));
|
|
42
|
+
var import_seenEffect = require("./utils/seenEffect");
|
|
43
|
+
var import_ButtonTertiary = __toESM(require("./ButtonTertiary"));
|
|
44
|
+
const LabeledTextBlock = (props) => {
|
|
45
|
+
const { label, summary, wide, buttons = [], startSeen } = props;
|
|
46
|
+
const [ref] = (0, import_seenEffect.useSeenEffect)(startSeen);
|
|
47
|
+
return /* @__PURE__ */ import_react.default.createElement("div", {
|
|
48
|
+
className: (0, import_getBemClass.default)("LabeledTextBlock", wide && "wide"),
|
|
49
|
+
ref
|
|
50
|
+
}, /* @__PURE__ */ import_react.default.createElement("h2", {
|
|
51
|
+
className: "LabeledTextBlock__label"
|
|
52
|
+
}, label), /* @__PURE__ */ import_react.default.createElement("div", {
|
|
53
|
+
className: "LabeledTextBlock__summary"
|
|
54
|
+
}, summary, buttons.map((button, i) => /* @__PURE__ */ import_react.default.createElement(import_ButtonTertiary.default, __spreadValues({
|
|
55
|
+
key: i
|
|
56
|
+
}, button)))));
|
|
57
|
+
};
|
|
58
|
+
var LabeledTextBlock_default = LabeledTextBlock;
|
|
59
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
60
|
+
0 && (module.exports = {});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __spreadValues = (a, b) => {
|
|
7
|
+
for (var prop in b || (b = {}))
|
|
8
|
+
if (__hasOwnProp.call(b, prop))
|
|
9
|
+
__defNormalProp(a, prop, b[prop]);
|
|
10
|
+
if (__getOwnPropSymbols)
|
|
11
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
12
|
+
if (__propIsEnum.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
}
|
|
15
|
+
return a;
|
|
16
|
+
};
|
|
17
|
+
import React from "react";
|
|
18
|
+
import getBemClass from "@hugsmidjan/react/utils/getBemClass";
|
|
19
|
+
import { useSeenEffect } from "./utils/seenEffect";
|
|
20
|
+
import ButtonTertiary from "./ButtonTertiary";
|
|
21
|
+
const LabeledTextBlock = (props) => {
|
|
22
|
+
const { label, summary, wide, buttons = [], startSeen } = props;
|
|
23
|
+
const [ref] = useSeenEffect(startSeen);
|
|
24
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
25
|
+
className: getBemClass("LabeledTextBlock", wide && "wide"),
|
|
26
|
+
ref
|
|
27
|
+
}, /* @__PURE__ */ React.createElement("h2", {
|
|
28
|
+
className: "LabeledTextBlock__label"
|
|
29
|
+
}, label), /* @__PURE__ */ React.createElement("div", {
|
|
30
|
+
className: "LabeledTextBlock__summary"
|
|
31
|
+
}, summary, buttons.map((button, i) => /* @__PURE__ */ React.createElement(ButtonTertiary, __spreadValues({
|
|
32
|
+
key: i
|
|
33
|
+
}, button)))));
|
|
34
|
+
};
|
|
35
|
+
var LabeledTextBlock_default = LabeledTextBlock;
|
|
36
|
+
export {
|
|
37
|
+
LabeledTextBlock_default as default
|
|
38
|
+
};
|
package/lib/Layout.cjs
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var Layout_exports = {};
|
|
22
|
+
__export(Layout_exports, {
|
|
23
|
+
default: () => Layout_default,
|
|
24
|
+
defaultLayoutTexts: () => defaultLayoutTexts
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(Layout_exports);
|
|
27
|
+
var import_react = __toESM(require("react"));
|
|
28
|
+
var import_hooks = require("@hugsmidjan/react/hooks");
|
|
29
|
+
var import_getBemClass = __toESM(require("@hugsmidjan/react/utils/getBemClass"));
|
|
30
|
+
var import_assets = require("@reykjavik/hanna-utils/assets");
|
|
31
|
+
var import_i18n = require("@reykjavik/hanna-utils/i18n");
|
|
32
|
+
var import_Image = __toESM(require("./_abstract/Image"));
|
|
33
|
+
var import_Link = require("./_abstract/Link");
|
|
34
|
+
var import_useMenuToggling = require("./utils/useMenuToggling");
|
|
35
|
+
var import_useScrollbarWidthCSSVar = require("./utils/useScrollbarWidthCSSVar");
|
|
36
|
+
const defaultLayoutTexts = {
|
|
37
|
+
is: {
|
|
38
|
+
lang: "is",
|
|
39
|
+
skipLinkLabel: "Valmynd",
|
|
40
|
+
closeMenuLabel: "Loka",
|
|
41
|
+
closeMenuLabelLong: "Loka valmynd"
|
|
42
|
+
},
|
|
43
|
+
en: {
|
|
44
|
+
lang: "en",
|
|
45
|
+
skipLinkLabel: "Skip to navigation",
|
|
46
|
+
closeMenuLabel: "Close",
|
|
47
|
+
closeMenuLabelLong: "Close menu"
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
const Layout = (props) => {
|
|
51
|
+
(0, import_useScrollbarWidthCSSVar.useScrollbarWidthCSSVar)();
|
|
52
|
+
const {
|
|
53
|
+
ssr,
|
|
54
|
+
globalAlerts,
|
|
55
|
+
mainChildren,
|
|
56
|
+
navChildren,
|
|
57
|
+
footerChildren,
|
|
58
|
+
colorTheme,
|
|
59
|
+
children,
|
|
60
|
+
siteName = "Reykjav\xEDk",
|
|
61
|
+
logoLink = "/"
|
|
62
|
+
} = props;
|
|
63
|
+
const { isMenuActive, closeMenu, toggleMenu } = (0, import_useMenuToggling.useMenuToggling)(ssr !== "ssr-only");
|
|
64
|
+
const isBrowser = (0, import_hooks.useIsBrowserSide)();
|
|
65
|
+
const txt = (0, import_i18n.getTexts)(props, defaultLayoutTexts);
|
|
66
|
+
return /* @__PURE__ */ import_react.default.createElement("div", {
|
|
67
|
+
className: (0, import_getBemClass.default)("Layout", props.modifier),
|
|
68
|
+
"data-sprinkled": isBrowser,
|
|
69
|
+
"data-color-theme": colorTheme
|
|
70
|
+
}, globalAlerts && /* @__PURE__ */ import_react.default.createElement("div", {
|
|
71
|
+
className: "Layout__alerts",
|
|
72
|
+
role: "alert"
|
|
73
|
+
}, globalAlerts), /* @__PURE__ */ import_react.default.createElement("div", {
|
|
74
|
+
className: "Layout__content"
|
|
75
|
+
}, /* @__PURE__ */ import_react.default.createElement("div", {
|
|
76
|
+
className: "Layout__header",
|
|
77
|
+
role: "banner"
|
|
78
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_Link.Link, {
|
|
79
|
+
className: "Layout__header__logo",
|
|
80
|
+
href: logoLink
|
|
81
|
+
}, " ", /* @__PURE__ */ import_react.default.createElement(import_Image.default, {
|
|
82
|
+
inline: true,
|
|
83
|
+
src: (0, import_assets.getAssetUrl)("reykjavik-logo.svg")
|
|
84
|
+
}), " ", siteName, " "), " ", navChildren && /* @__PURE__ */ import_react.default.createElement(import_Link.Link, {
|
|
85
|
+
className: "Layout__header__skiplink",
|
|
86
|
+
href: "#pagenav",
|
|
87
|
+
onClick: isMenuActive && ((e) => {
|
|
88
|
+
e.preventDefault();
|
|
89
|
+
toggleMenu();
|
|
90
|
+
}),
|
|
91
|
+
"aria-label": txt.skipLinkLabel
|
|
92
|
+
}, txt.skipLinkLabel)), /* @__PURE__ */ import_react.default.createElement("div", {
|
|
93
|
+
className: "Layout__main",
|
|
94
|
+
role: "main"
|
|
95
|
+
}, mainChildren || children), navChildren && /* @__PURE__ */ import_react.default.createElement("div", {
|
|
96
|
+
className: "Layout__nav",
|
|
97
|
+
id: "pagenav",
|
|
98
|
+
role: "navigation"
|
|
99
|
+
}, navChildren, isMenuActive && /* @__PURE__ */ import_react.default.createElement("button", {
|
|
100
|
+
className: "Layout__nav__closebutton",
|
|
101
|
+
onClick: closeMenu,
|
|
102
|
+
"aria-label": txt.closeMenuLabelLong,
|
|
103
|
+
type: "button"
|
|
104
|
+
}, txt.closeMenuLabel)), /* @__PURE__ */ import_react.default.createElement("div", {
|
|
105
|
+
className: "Layout__footer",
|
|
106
|
+
role: "complementary"
|
|
107
|
+
}, footerChildren)));
|
|
108
|
+
};
|
|
109
|
+
var Layout_default = Layout;
|
|
110
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
111
|
+
0 && (module.exports = {
|
|
112
|
+
defaultLayoutTexts
|
|
113
|
+
});
|
package/lib/Layout.mjs
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
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
|
+
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 {
|
|
27
|
+
ssr,
|
|
28
|
+
globalAlerts,
|
|
29
|
+
mainChildren,
|
|
30
|
+
navChildren,
|
|
31
|
+
footerChildren,
|
|
32
|
+
colorTheme,
|
|
33
|
+
children,
|
|
34
|
+
siteName = "Reykjav\xEDk",
|
|
35
|
+
logoLink = "/"
|
|
36
|
+
} = props;
|
|
37
|
+
const { isMenuActive, closeMenu, toggleMenu } = useMenuToggling(ssr !== "ssr-only");
|
|
38
|
+
const isBrowser = useIsBrowserSide();
|
|
39
|
+
const txt = getTexts(props, defaultLayoutTexts);
|
|
40
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
41
|
+
className: getBemClass("Layout", props.modifier),
|
|
42
|
+
"data-sprinkled": isBrowser,
|
|
43
|
+
"data-color-theme": colorTheme
|
|
44
|
+
}, globalAlerts && /* @__PURE__ */ React.createElement("div", {
|
|
45
|
+
className: "Layout__alerts",
|
|
46
|
+
role: "alert"
|
|
47
|
+
}, globalAlerts), /* @__PURE__ */ React.createElement("div", {
|
|
48
|
+
className: "Layout__content"
|
|
49
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
50
|
+
className: "Layout__header",
|
|
51
|
+
role: "banner"
|
|
52
|
+
}, /* @__PURE__ */ React.createElement(Link, {
|
|
53
|
+
className: "Layout__header__logo",
|
|
54
|
+
href: logoLink
|
|
55
|
+
}, " ", /* @__PURE__ */ React.createElement(Image, {
|
|
56
|
+
inline: true,
|
|
57
|
+
src: getAssetUrl("reykjavik-logo.svg")
|
|
58
|
+
}), " ", siteName, " "), " ", navChildren && /* @__PURE__ */ React.createElement(Link, {
|
|
59
|
+
className: "Layout__header__skiplink",
|
|
60
|
+
href: "#pagenav",
|
|
61
|
+
onClick: isMenuActive && ((e) => {
|
|
62
|
+
e.preventDefault();
|
|
63
|
+
toggleMenu();
|
|
64
|
+
}),
|
|
65
|
+
"aria-label": txt.skipLinkLabel
|
|
66
|
+
}, txt.skipLinkLabel)), /* @__PURE__ */ React.createElement("div", {
|
|
67
|
+
className: "Layout__main",
|
|
68
|
+
role: "main"
|
|
69
|
+
}, mainChildren || children), navChildren && /* @__PURE__ */ React.createElement("div", {
|
|
70
|
+
className: "Layout__nav",
|
|
71
|
+
id: "pagenav",
|
|
72
|
+
role: "navigation"
|
|
73
|
+
}, navChildren, isMenuActive && /* @__PURE__ */ React.createElement("button", {
|
|
74
|
+
className: "Layout__nav__closebutton",
|
|
75
|
+
onClick: closeMenu,
|
|
76
|
+
"aria-label": txt.closeMenuLabelLong,
|
|
77
|
+
type: "button"
|
|
78
|
+
}, txt.closeMenuLabel)), /* @__PURE__ */ React.createElement("div", {
|
|
79
|
+
className: "Layout__footer",
|
|
80
|
+
role: "complementary"
|
|
81
|
+
}, footerChildren)));
|
|
82
|
+
};
|
|
83
|
+
var Layout_default = Layout;
|
|
84
|
+
export {
|
|
85
|
+
Layout_default as default,
|
|
86
|
+
defaultLayoutTexts
|
|
87
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var Auxiliary_exports = {};
|
|
22
|
+
__export(Auxiliary_exports, {
|
|
23
|
+
AuxiliaryPanel: () => AuxiliaryPanel
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(Auxiliary_exports);
|
|
26
|
+
var import_react = __toESM(require("react"));
|
|
27
|
+
var import_assets = require("@reykjavik/hanna-utils/assets");
|
|
28
|
+
var import_Link = require("../_abstract/Link");
|
|
29
|
+
const AuxiliaryPanel = (props) => {
|
|
30
|
+
const { title, id, items, image } = props;
|
|
31
|
+
const imageUrl = image ? (0, import_assets.getIllustrationUrl)(image) : image;
|
|
32
|
+
return /* @__PURE__ */ import_react.default.createElement("li", {
|
|
33
|
+
className: "AuxiliaryPanel",
|
|
34
|
+
id,
|
|
35
|
+
style: imageUrl ? { "--menu-auxiliary-image": `url(${imageUrl})` } : void 0
|
|
36
|
+
}, /* @__PURE__ */ import_react.default.createElement("h3", {
|
|
37
|
+
className: "AuxiliaryPanel__title"
|
|
38
|
+
}, title), /* @__PURE__ */ import_react.default.createElement("ul", {
|
|
39
|
+
className: "AuxiliaryPanel__items"
|
|
40
|
+
}, items.map((item, i) => /* @__PURE__ */ import_react.default.createElement("li", {
|
|
41
|
+
key: i,
|
|
42
|
+
className: "AuxiliaryPanel__item",
|
|
43
|
+
"aria-current": item.current || void 0
|
|
44
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_Link.Link, {
|
|
45
|
+
className: "AuxiliaryPanel__link",
|
|
46
|
+
href: item.href,
|
|
47
|
+
target: item.target,
|
|
48
|
+
lang: item.lang
|
|
49
|
+
}, item.label)))));
|
|
50
|
+
};
|
|
51
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
52
|
+
0 && (module.exports = {
|
|
53
|
+
AuxiliaryPanel
|
|
54
|
+
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { getIllustrationUrl } from "@reykjavik/hanna-utils/assets";
|
|
3
|
+
import { Link } from "../_abstract/Link";
|
|
4
|
+
const AuxiliaryPanel = (props) => {
|
|
5
|
+
const { title, id, items, image } = props;
|
|
6
|
+
const imageUrl = image ? getIllustrationUrl(image) : image;
|
|
7
|
+
return /* @__PURE__ */ React.createElement("li", {
|
|
8
|
+
className: "AuxiliaryPanel",
|
|
9
|
+
id,
|
|
10
|
+
style: imageUrl ? { "--menu-auxiliary-image": `url(${imageUrl})` } : void 0
|
|
11
|
+
}, /* @__PURE__ */ React.createElement("h3", {
|
|
12
|
+
className: "AuxiliaryPanel__title"
|
|
13
|
+
}, title), /* @__PURE__ */ React.createElement("ul", {
|
|
14
|
+
className: "AuxiliaryPanel__items"
|
|
15
|
+
}, items.map((item, i) => /* @__PURE__ */ React.createElement("li", {
|
|
16
|
+
key: i,
|
|
17
|
+
className: "AuxiliaryPanel__item",
|
|
18
|
+
"aria-current": item.current || void 0
|
|
19
|
+
}, /* @__PURE__ */ React.createElement(Link, {
|
|
20
|
+
className: "AuxiliaryPanel__link",
|
|
21
|
+
href: item.href,
|
|
22
|
+
target: item.target,
|
|
23
|
+
lang: item.lang
|
|
24
|
+
}, item.label)))));
|
|
25
|
+
};
|
|
26
|
+
export {
|
|
27
|
+
AuxiliaryPanel
|
|
28
|
+
};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var PrimaryPanel_exports = {};
|
|
22
|
+
__export(PrimaryPanel_exports, {
|
|
23
|
+
PrimaryPanel: () => PrimaryPanel
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(PrimaryPanel_exports);
|
|
26
|
+
var import_react = __toESM(require("react"));
|
|
27
|
+
var import_getBemClass = __toESM(require("@hugsmidjan/react/utils/getBemClass"));
|
|
28
|
+
var import_Link = require("../_abstract/Link");
|
|
29
|
+
const PrimaryPanel = (props) => {
|
|
30
|
+
const { setActivePanel, panel, isParent, isActive, isBrowser, texts } = props;
|
|
31
|
+
const { items } = panel;
|
|
32
|
+
return /* @__PURE__ */ import_react.default.createElement("li", {
|
|
33
|
+
ref: isActive ? props.activeRef : void 0,
|
|
34
|
+
className: (0, import_getBemClass.default)("PrimaryPanel", [
|
|
35
|
+
isParent && "parent",
|
|
36
|
+
isActive && "active",
|
|
37
|
+
items.length > 5 && "twocol"
|
|
38
|
+
]),
|
|
39
|
+
id: panel.id
|
|
40
|
+
}, /* @__PURE__ */ import_react.default.createElement("h3", {
|
|
41
|
+
className: "PrimaryPanel__title"
|
|
42
|
+
}, " ", isBrowser && !isActive ? /* @__PURE__ */ import_react.default.createElement("button", {
|
|
43
|
+
className: "MainMenu__mega__title-toggler",
|
|
44
|
+
"aria-controls": panel.id,
|
|
45
|
+
onClick: () => setActivePanel(panel, false),
|
|
46
|
+
"aria-pressed": isActive,
|
|
47
|
+
type: "button"
|
|
48
|
+
}, panel.title) : panel.title), /* @__PURE__ */ import_react.default.createElement("ul", {
|
|
49
|
+
className: "PrimaryPanel__items"
|
|
50
|
+
}, items.map((item, i) => /* @__PURE__ */ import_react.default.createElement("li", {
|
|
51
|
+
key: i,
|
|
52
|
+
className: "PrimaryPanel__item",
|
|
53
|
+
"aria-current": item.current || void 0
|
|
54
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_Link.Link, {
|
|
55
|
+
className: "PrimaryPanel__link",
|
|
56
|
+
href: item.href,
|
|
57
|
+
target: item.target,
|
|
58
|
+
lang: item.lang
|
|
59
|
+
}, /* @__PURE__ */ import_react.default.createElement("span", {
|
|
60
|
+
className: "PrimaryPanel__linkTitle"
|
|
61
|
+
}, item.label), " ", /* @__PURE__ */ import_react.default.createElement("small", {
|
|
62
|
+
className: "PrimaryPanel__summary"
|
|
63
|
+
}, item.summary), " ")))), isBrowser && isActive && /* @__PURE__ */ import_react.default.createElement("button", {
|
|
64
|
+
className: "MainMenu__megapanel__backtomenu",
|
|
65
|
+
"aria-controls": panel.id,
|
|
66
|
+
"aria-label": texts.backToMenuLong,
|
|
67
|
+
onClick: () => setActivePanel(void 0),
|
|
68
|
+
type: "button"
|
|
69
|
+
}, texts.backToMenu));
|
|
70
|
+
};
|
|
71
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
72
|
+
0 && (module.exports = {
|
|
73
|
+
PrimaryPanel
|
|
74
|
+
});
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import getBemClass from "@hugsmidjan/react/utils/getBemClass";
|
|
3
|
+
import { Link } from "../_abstract/Link";
|
|
4
|
+
const PrimaryPanel = (props) => {
|
|
5
|
+
const { setActivePanel, panel, isParent, isActive, isBrowser, texts } = props;
|
|
6
|
+
const { items } = panel;
|
|
7
|
+
return /* @__PURE__ */ React.createElement("li", {
|
|
8
|
+
ref: isActive ? props.activeRef : void 0,
|
|
9
|
+
className: getBemClass("PrimaryPanel", [
|
|
10
|
+
isParent && "parent",
|
|
11
|
+
isActive && "active",
|
|
12
|
+
items.length > 5 && "twocol"
|
|
13
|
+
]),
|
|
14
|
+
id: panel.id
|
|
15
|
+
}, /* @__PURE__ */ React.createElement("h3", {
|
|
16
|
+
className: "PrimaryPanel__title"
|
|
17
|
+
}, " ", isBrowser && !isActive ? /* @__PURE__ */ React.createElement("button", {
|
|
18
|
+
className: "MainMenu__mega__title-toggler",
|
|
19
|
+
"aria-controls": panel.id,
|
|
20
|
+
onClick: () => setActivePanel(panel, false),
|
|
21
|
+
"aria-pressed": isActive,
|
|
22
|
+
type: "button"
|
|
23
|
+
}, panel.title) : panel.title), /* @__PURE__ */ React.createElement("ul", {
|
|
24
|
+
className: "PrimaryPanel__items"
|
|
25
|
+
}, items.map((item, i) => /* @__PURE__ */ React.createElement("li", {
|
|
26
|
+
key: i,
|
|
27
|
+
className: "PrimaryPanel__item",
|
|
28
|
+
"aria-current": item.current || void 0
|
|
29
|
+
}, /* @__PURE__ */ React.createElement(Link, {
|
|
30
|
+
className: "PrimaryPanel__link",
|
|
31
|
+
href: item.href,
|
|
32
|
+
target: item.target,
|
|
33
|
+
lang: item.lang
|
|
34
|
+
}, /* @__PURE__ */ React.createElement("span", {
|
|
35
|
+
className: "PrimaryPanel__linkTitle"
|
|
36
|
+
}, item.label), " ", /* @__PURE__ */ React.createElement("small", {
|
|
37
|
+
className: "PrimaryPanel__summary"
|
|
38
|
+
}, item.summary), " ")))), isBrowser && isActive && /* @__PURE__ */ React.createElement("button", {
|
|
39
|
+
className: "MainMenu__megapanel__backtomenu",
|
|
40
|
+
"aria-controls": panel.id,
|
|
41
|
+
"aria-label": texts.backToMenuLong,
|
|
42
|
+
onClick: () => setActivePanel(void 0),
|
|
43
|
+
type: "button"
|
|
44
|
+
}, texts.backToMenu));
|
|
45
|
+
};
|
|
46
|
+
export {
|
|
47
|
+
PrimaryPanel
|
|
48
|
+
};
|