@vodafone_de/brix-components 3.0.0 → 3.0.2

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 (140) hide show
  1. package/dist/BackgroundColor-JObp_2xA.js +14 -0
  2. package/dist/BorderColor-BummoQ1-.js +24 -0
  3. package/dist/BorderRadius-ClUShVLu.js +10 -0
  4. package/dist/BorderWidth-DfOlyKK7.js +16 -0
  5. package/dist/CornerStyle-JEbGNArR.js +6 -0
  6. package/dist/FontWeight-CR22KTex.js +8 -0
  7. package/dist/HeadingSize-CfCRn3Lh.js +12 -0
  8. package/dist/IconColor-CtC9WUgr.js +10 -0
  9. package/dist/ObjectColor-BZDBuV8H.js +22 -0
  10. package/dist/Opacity-smkGiwsf.js +6 -0
  11. package/dist/SizeTypes-Ck_RdzIf.js +8 -0
  12. package/dist/Spacing-D0HQH9YJ.js +16 -0
  13. package/dist/TextBodySize-BcZR9mh2.js +6 -0
  14. package/dist/TextColor-BXiR5Uq9.js +16 -0
  15. package/dist/colorUtils-uLZF5UIN.js +94 -0
  16. package/dist/components/Accordion/index.js +195 -0
  17. package/dist/components/AccordionGroup/index.js +59 -0
  18. package/dist/components/Badge/index.js +11 -0
  19. package/dist/components/Body/index.js +72 -6
  20. package/dist/components/BottomBar/index.js +79 -0
  21. package/dist/components/Button/index.js +24 -0
  22. package/dist/components/ButtonAsLink/index.js +7 -0
  23. package/dist/components/ButtonGroup/index.js +34 -0
  24. package/dist/components/Card/index.js +18 -0
  25. package/dist/components/Carousel/index.js +497 -0
  26. package/dist/components/Checkbox/index.js +218 -0
  27. package/dist/components/CheckboxGroup/index.js +58 -0
  28. package/dist/components/Collapsible/index.js +85 -0
  29. package/dist/components/ColorSwatch/index.js +87 -0
  30. package/dist/components/ColorSwatchGroup/index.js +43 -0
  31. package/dist/components/Container/index.js +76 -0
  32. package/dist/components/DateInput/index.js +86 -0
  33. package/dist/components/DemoBox/index.js +21 -0
  34. package/dist/components/Dialog/index.js +172 -0
  35. package/dist/components/DiscoveryCard/index.js +130 -0
  36. package/dist/components/DiscoveryCardGroup/index.js +53 -0
  37. package/dist/components/Divider/index.js +30 -0
  38. package/dist/components/Fieldset/index.js +41 -0
  39. package/dist/components/FilterGroup/index.js +148 -0
  40. package/dist/components/Flex/index.js +17 -0
  41. package/dist/components/FlexItem/index.js +41 -0
  42. package/dist/components/FootnoteContent/index.js +39 -0
  43. package/dist/components/FootnoteLink/index.js +46 -0
  44. package/dist/components/Form/index.js +20 -0
  45. package/dist/components/FormElement/index.js +31 -0
  46. package/dist/components/FormHelperLabel/index.js +21 -0
  47. package/dist/components/FormHelperMessage/index.js +47 -0
  48. package/dist/components/FormHelperStatusIcon/index.js +50 -0
  49. package/dist/components/GoogleMap/index.js +196 -0
  50. package/dist/components/Grid/index.js +39 -0
  51. package/dist/components/GridItem/index.js +12 -0
  52. package/dist/components/Heading/index.js +94 -0
  53. package/dist/components/HifiIcon/index.js +31 -0
  54. package/dist/components/Icon/index.js +38 -0
  55. package/dist/components/IconButton/index.js +85 -0
  56. package/dist/components/IconSnippet/index.js +112 -0
  57. package/dist/components/IconSnippet/styled.d.ts +1 -1
  58. package/dist/components/IconSnippetList/index.js +25 -0
  59. package/dist/components/Image/index.js +84 -0
  60. package/dist/components/ImageHeader/index.js +262 -0
  61. package/dist/components/ImageHeader/styled.d.ts +4 -4
  62. package/dist/components/InlineLink/index.js +43 -0
  63. package/dist/components/Input/index.js +55 -0
  64. package/dist/components/Label/index.js +22 -0
  65. package/dist/components/Legend/index.js +60 -0
  66. package/dist/components/Link/index.js +19 -0
  67. package/dist/components/LinkAsButton/index.js +7 -0
  68. package/dist/components/LinkList/index.js +64 -0
  69. package/dist/components/LinkListItem/index.js +316 -0
  70. package/dist/components/LoadingSpinner/index.js +70 -0
  71. package/dist/components/Notification/index.js +181 -0
  72. package/dist/components/Overlay/index.js +33 -0
  73. package/dist/components/PickerGroup/index.js +282 -0
  74. package/dist/components/Price/index.js +18 -0
  75. package/dist/components/ProductCard/index.js +81 -0
  76. package/dist/components/RadioGroup/index.js +197 -0
  77. package/dist/components/ResponsiveImage/index.js +89 -0
  78. package/dist/components/RichText/index.js +7 -0
  79. package/dist/components/ScreenreaderOnly/index.js +6 -0
  80. package/dist/components/SearchInput/index.js +140 -0
  81. package/dist/components/SelectInput/index.js +160 -0
  82. package/dist/components/Stepper/index.js +205 -0
  83. package/dist/components/SuggestInput/index.js +387 -0
  84. package/dist/components/Switch/index.js +169 -0
  85. package/dist/components/TabularPrice/index.js +8 -0
  86. package/dist/components/TextList/index.js +10 -0
  87. package/dist/components/Textarea/index.js +156 -0
  88. package/dist/components/Tray/index.js +218 -0
  89. package/dist/easing-Dm-pO8SY.js +6 -0
  90. package/dist/filterProps-Cewck8OH.js +13 -0
  91. package/dist/foundations/GlobalStyle/index.js +3 -292
  92. package/dist/foundations/PatternProps/index.js +1 -0
  93. package/dist/foundations/media-query/forcedColors/index.js +12 -0
  94. package/dist/foundations/media-query/reducedMotion/index.js +21 -0
  95. package/dist/foundations/media-query/viewport/index.js +6 -0
  96. package/dist/foundations/token/getBackgroundColor/index.js +5 -0
  97. package/dist/foundations/token/getBodySize/index.js +13 -2
  98. package/dist/foundations/token/getBorderColor/index.js +5 -0
  99. package/dist/foundations/token/getBorderRadius/index.js +15 -0
  100. package/dist/foundations/token/getBorderWidth/index.js +19 -0
  101. package/dist/foundations/token/getBottomSpacing/index.js +14 -0
  102. package/dist/foundations/token/getFontWeight/index.js +13 -0
  103. package/dist/foundations/token/getHeadingSize/index.js +27 -0
  104. package/dist/foundations/token/getHoverColor/index.js +7 -0
  105. package/dist/foundations/token/getIconColor/index.js +5 -0
  106. package/dist/foundations/token/getObjectColor/index.js +5 -0
  107. package/dist/foundations/token/getOpacity/index.js +11 -0
  108. package/dist/foundations/token/getPressColor/index.js +7 -0
  109. package/dist/foundations/token/getSpacing/index.js +5 -0
  110. package/dist/foundations/token/getTextColor/index.js +5 -0
  111. package/dist/foundations/token/getTextDecoration/index.js +13 -0
  112. package/dist/getCssVar-BP6T9pFM.js +6 -0
  113. package/dist/hooks/useFocusWithin/index.js +36 -0
  114. package/dist/hooks/useForcedColors/index.js +9 -0
  115. package/dist/hooks/useMediaQuery/index.js +19 -0
  116. package/dist/hooks/useReducedMotion/index.js +9 -0
  117. package/dist/hooks/useThirdPartyConsent/index.js +54 -0
  118. package/dist/hooks/useViewport/index.js +24 -0
  119. package/dist/index-BXLT6ke-.js +79 -0
  120. package/dist/index-C4XnzWFL.js +61 -0
  121. package/dist/index-CeJsIf3Z.js +208 -0
  122. package/dist/index-Ck2bCrhT.js +32 -0
  123. package/dist/index-CzTqNQTT.js +79 -0
  124. package/dist/index-D6hvbziL.js +167 -0
  125. package/dist/index-DQhtQZ85.js +24 -0
  126. package/dist/props-Czq9XX2J.js +6 -0
  127. package/dist/renderInlineRichTextFromOpenText-CA52y1-B.js +2383 -0
  128. package/dist/shadow-u158mzuN.js +4 -0
  129. package/dist/styled-BpvuD699.js +45 -0
  130. package/dist/styled-CDWclYAa.js +124 -0
  131. package/dist/styled-CXSdomF5.js +34 -0
  132. package/dist/styled-CpoX5USb.js +71 -0
  133. package/dist/styled-DZo6MwrF.js +245 -0
  134. package/dist/styled-FNJyDkPV.js +165 -0
  135. package/dist/styled-Wlt68LfQ.js +133 -0
  136. package/dist/styled-ZpQohvyx.js +29 -0
  137. package/dist/tags-DI6H1biK.js +29 -0
  138. package/package.json +1 -2
  139. package/dist/index-BoPDwZgt.js +0 -18
  140. package/dist/index-DRj4iUs9.js +0 -117
@@ -0,0 +1,46 @@
1
+ "use client";
2
+ import { jsxs, jsx } from "react/jsx-runtime";
3
+ import { S as ScreenreaderOnly } from "../../index-DQhtQZ85.js";
4
+ import styled from "styled-components";
5
+ import InlineLink from "../InlineLink/index.js";
6
+ import { getSpacing } from "../../foundations/token/getSpacing/index.js";
7
+ import { e as spacing2Xs } from "../../Spacing-D0HQH9YJ.js";
8
+ const FootnoteLinkStyled = styled(InlineLink).withConfig({
9
+ displayName: "FootnoteLinkStyled",
10
+ componentId: "sc-ydos3j-0"
11
+ })({
12
+ verticalAlign: "super",
13
+ fontSize: "smaller",
14
+ paddingLeft: getSpacing(spacing2Xs),
15
+ paddingRight: getSpacing(spacing2Xs)
16
+ });
17
+ const FootnoteLink = ({
18
+ uid,
19
+ contentUid,
20
+ screenReaderLabel,
21
+ children,
22
+ component: _component
23
+ }) => {
24
+ const onClick = (event) => {
25
+ const linkbackToContent = document.getElementById(`back-${contentUid}`);
26
+ if (!linkbackToContent) {
27
+ return;
28
+ }
29
+ linkbackToContent.setAttribute("href", `#${uid}`);
30
+ const details = linkbackToContent.closest("details");
31
+ if (details && null === details.getAttribute("open")) {
32
+ event.preventDefault();
33
+ details.setAttribute("open", "open");
34
+ setTimeout(() => {
35
+ event.target.click();
36
+ }, 15);
37
+ }
38
+ };
39
+ return /* @__PURE__ */ jsxs(FootnoteLinkStyled, { id: uid, href: `#${contentUid}`, onClick, children: [
40
+ children,
41
+ /* @__PURE__ */ jsx(ScreenreaderOnly, { children: screenReaderLabel })
42
+ ] });
43
+ };
44
+ export {
45
+ FootnoteLink as default
46
+ };
@@ -0,0 +1,20 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { b as spacingNone } from "../../Spacing-D0HQH9YJ.js";
4
+ import styled from "styled-components";
5
+ import { getBottomSpacing } from "../../foundations/token/getBottomSpacing/index.js";
6
+ import { f as filterProps } from "../../filterProps-Cewck8OH.js";
7
+ const FormStyled = styled.form.withConfig({
8
+ shouldForwardProp: filterProps(),
9
+ displayName: "FormStyled",
10
+ componentId: "sc-1j3j22h-0"
11
+ })(getBottomSpacing);
12
+ const Form = ({
13
+ children,
14
+ noValidate = true,
15
+ bottomSpacing = spacingNone,
16
+ ...props
17
+ }) => /* @__PURE__ */ jsx(FormStyled, { ...props, noValidate, bottomSpacing, children });
18
+ export {
19
+ Form as default
20
+ };
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import styled from "styled-components";
4
+ import { getBodySize } from "../../foundations/token/getBodySize/index.js";
5
+ import { getBottomSpacing } from "../../foundations/token/getBottomSpacing/index.js";
6
+ import { getOpacity } from "../../foundations/token/getOpacity/index.js";
7
+ import { a as opacityDisabled } from "../../Opacity-smkGiwsf.js";
8
+ import { f as filterProps } from "../../filterProps-Cewck8OH.js";
9
+ const FormElementStyled = styled.div.withConfig({
10
+ shouldForwardProp: filterProps(),
11
+ displayName: "FormElementStyled",
12
+ componentId: "sc-1b7ghm7-0"
13
+ })(getBodySize("md"), ({
14
+ $disabled
15
+ }) => {
16
+ if ($disabled) {
17
+ return {
18
+ pointerEvents: "none",
19
+ opacity: getOpacity(opacityDisabled)
20
+ };
21
+ }
22
+ return {};
23
+ }, getBottomSpacing);
24
+ const FormElement = ({
25
+ disabled,
26
+ children,
27
+ ...props
28
+ }) => /* @__PURE__ */ jsx(FormElementStyled, { ...props, $disabled: disabled, children });
29
+ export {
30
+ FormElement as default
31
+ };
@@ -0,0 +1,21 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import Label from "../Label/index.js";
4
+ import { a as spacingXs } from "../../Spacing-D0HQH9YJ.js";
5
+ const FormHelperLabel = ({
6
+ label,
7
+ uid
8
+ }) => {
9
+ if (typeof label === "string") {
10
+ const labelProps = {
11
+ htmlFor: uid,
12
+ bottomSpacing: spacingXs,
13
+ children: label
14
+ };
15
+ return /* @__PURE__ */ jsx(Label, { ...labelProps });
16
+ }
17
+ return /* @__PURE__ */ jsx(Label, { ...label });
18
+ };
19
+ export {
20
+ FormHelperLabel as default
21
+ };
@@ -0,0 +1,47 @@
1
+ "use client";
2
+ import { jsxs } from "react/jsx-runtime";
3
+ import { a as spacingXs, b as spacingNone } from "../../Spacing-D0HQH9YJ.js";
4
+ import { a as textBodySm } from "../../TextBodySize-BcZR9mh2.js";
5
+ import styled from "styled-components";
6
+ import Body from "../Body/index.js";
7
+ import { getSpacing } from "../../foundations/token/getSpacing/index.js";
8
+ import { getTextColor } from "../../foundations/token/getTextColor/index.js";
9
+ import { g as colorTextCritical } from "../../TextColor-BXiR5Uq9.js";
10
+ const FormHelperMessageStyled = styled(Body).withConfig({
11
+ displayName: "FormHelperMessageStyled",
12
+ componentId: "sc-cxtjnu-0"
13
+ })({
14
+ display: "flex",
15
+ alignItems: "center",
16
+ gap: getSpacing(spacingXs)
17
+ }, ({
18
+ status
19
+ }) => {
20
+ if (!status) {
21
+ return {};
22
+ }
23
+ if ("error" === status) {
24
+ return {
25
+ "&&": {
26
+ color: `${getTextColor(colorTextCritical)}`
27
+ }
28
+ };
29
+ }
30
+ });
31
+ const FormHelperMessage = ({
32
+ message,
33
+ id,
34
+ status,
35
+ children
36
+ }) => {
37
+ if (!message) {
38
+ return null;
39
+ }
40
+ return /* @__PURE__ */ jsxs(FormHelperMessageStyled, { id, size: textBodySm, bottomSpacing: spacingNone, status, children: [
41
+ children,
42
+ message
43
+ ] });
44
+ };
45
+ export {
46
+ FormHelperMessage as default
47
+ };
@@ -0,0 +1,50 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { IconLoader, iconSizeSm } from "@vfde-react/inline-icon-library";
4
+ import styled from "styled-components";
5
+ import forcedColors from "../../foundations/media-query/forcedColors/index.js";
6
+ import { getIconColor } from "../../foundations/token/getIconColor/index.js";
7
+ import { c as colorIconSuccess, a as colorIconCritical } from "../../IconColor-CtC9WUgr.js";
8
+ const FormHelperStatusIconStyled = styled(IconLoader).withConfig({
9
+ displayName: "FormHelperStatusIconStyled",
10
+ componentId: "sc-1k8ga6j-0"
11
+ })(({
12
+ status
13
+ }) => {
14
+ if (!status) {
15
+ return {};
16
+ }
17
+ if ("success" === status) {
18
+ return {
19
+ ...forcedColors({
20
+ color: "FieldText"
21
+ }),
22
+ color: getIconColor(colorIconSuccess)
23
+ };
24
+ }
25
+ if ("error" === status) {
26
+ return {
27
+ ...forcedColors({
28
+ color: "FieldText"
29
+ }),
30
+ color: getIconColor(colorIconCritical)
31
+ };
32
+ }
33
+ });
34
+ const inputStatusIcons = {
35
+ error: "NotificationError",
36
+ success: "NotificationTick"
37
+ };
38
+ const FormHelperStatusIcon = ({
39
+ status,
40
+ className
41
+ }) => {
42
+ if (!status) {
43
+ return null;
44
+ }
45
+ return /* @__PURE__ */ jsx(FormHelperStatusIconStyled, { name: inputStatusIcons[status], size: iconSizeSm, status, className });
46
+ };
47
+ export {
48
+ FormHelperStatusIcon as default,
49
+ inputStatusIcons
50
+ };
@@ -0,0 +1,196 @@
1
+ "use client";
2
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
3
+ import { useMap, APIProvider, Map } from "@vis.gl/react-google-maps";
4
+ import { useState, useEffect } from "react";
5
+ import { s as spacingMd, a as spacingXs, b as spacingNone } from "../../Spacing-D0HQH9YJ.js";
6
+ import { useThirdPartyConsent } from "../../hooks/useThirdPartyConsent/index.js";
7
+ import Body, { bodyAlignCenter } from "../Body/index.js";
8
+ import Button, { buttonAutoWidth } from "../Button/index.js";
9
+ import styled from "styled-components";
10
+ import { B as ButtonStyled, t as tertiaryAppearance } from "../../styled-FNJyDkPV.js";
11
+ import { v as viewport } from "../../index-Ck2bCrhT.js";
12
+ import { getBackgroundColor } from "../../foundations/token/getBackgroundColor/index.js";
13
+ import { getSpacing } from "../../foundations/token/getSpacing/index.js";
14
+ import { a as colorBackgroundOverlay } from "../../BackgroundColor-JObp_2xA.js";
15
+ import Heading, { headingAlignCenter } from "../Heading/index.js";
16
+ import { t as textHeadingXs } from "../../HeadingSize-CfCRn3Lh.js";
17
+ import { getBorderColor } from "../../foundations/token/getBorderColor/index.js";
18
+ import { getBorderRadius } from "../../foundations/token/getBorderRadius/index.js";
19
+ import { getBorderWidth } from "../../foundations/token/getBorderWidth/index.js";
20
+ import { getBottomSpacing } from "../../foundations/token/getBottomSpacing/index.js";
21
+ import { j as colorBorderSubtle } from "../../BorderColor-BummoQ1-.js";
22
+ import { b as borderRadiusMd, a as borderRadiusNone } from "../../BorderRadius-ClUShVLu.js";
23
+ import { c as borderWidthSm } from "../../BorderWidth-DfOlyKK7.js";
24
+ import { c as cornerStraight } from "../../CornerStyle-JEbGNArR.js";
25
+ import { f as filterProps } from "../../filterProps-Cewck8OH.js";
26
+ const mapBG = "R0lGODlhjABPANUAAJfU/sHeosfhrOj1/tXezKvYyqXX+9Xu/7XasbDd/cno/bvj/vP47M7ltNDe6Nrg1e/25s3eu/f7897uzdbpweDl29LnuvL6/tTr5+by2rra7qTX4cvlxczn1eHx5Onv4+ry4b/i4tTpy+/z6uPo7evr7PHx8eXl5uHh4uPj5O3t7unp6v39/fn5+fv7++r04OLw0/v9+drryPX38/j8/97w/PP18fn79/Pz8/X19efn6Pf39+/v8L3cm////9/f4CH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDIgNzkuYjdjNjRjY2Y5LCAyMDI0LzA3LzE2LTEyOjM5OjA0ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjYuMCAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozRDlBQzk4M0VEMjIxMUVGOUMyN0NBQUIzREFFNTdENCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozRDlBQzk4NEVEMjIxMUVGOUMyN0NBQUIzREFFNTdENCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjNEOUFDOTgxRUQyMjExRUY5QzI3Q0FBQjNEQUU1N0Q0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjNEOUFDOTgyRUQyMjExRUY5QzI3Q0FBQjNEQUU1N0Q0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAAAAAAAsAAAAAIwATwAABv/AnrBHiQUKG4gSMhEMBZShdDoZQqZYYcPng8AaE1hP9nrJGjCYMyaJQnyln3w+N514OnkKTp+7cjkuPConfTo+fTl9JXl9PyYtLXM9AmkNFg0IAAAbBQUhHhAvExkyTllDVUIvqFNbPlE9DBZEMBNhLxkUAT4ZGS8SPo2OPzoqdnMtij8pdDkoPzyFjofD0c1zxn0pOjouKnMwu0MZBZvnmxsACwMYGAMQGadSArQ9AaytQhMvDL1CsDI0kNKEQgY2XLjk6baCBw8TO0wEijNHhQ8cEcHJKREHDzEUwuh47FYCIyCIOBzqwDEMCwUN6RAgQLLBA4UXMDxsoMQgwBT/GD6JxEKFLwoMHzGEmMKiqsebi1x2OFTRDZscHnNWYOTzYwcdr90ccbv4MOKOFg4Z6TBB7MeKFZN+BpA5JUOAAFUC6EQgAEJQSk39thLA4BQFLvOYBqDwtMUhRG3lsIiYQ0WzFjjk2EFRYiIPqSd3pORxcVoxjXO8EtOBVc7PxEICqKF0qoGCApQgnMowBE0rxn8FcJGRRYAMfwlz4PHBIrKcZSKb/1DhojpmjjigOZJK504fth9b/6AXCwElGbZgC8mwk9KoCQMFTFDyVwoM3lNidBkSwAIM5D64YMIKgvCwgg+qRQZedz4EwoU0dCzYh2jfTfgDCt2oUNYOLOBA/4gUDQyEgAWlqEePBwWY10MDDMTARAgbLCaEACEeN5QUL3DRwwQAxvCNVSY4RFqCbRGZggotBFgCCsh81VYOCXKDFg8YmfCHQyuEJUdmrElBgQAIiCCGPlrIMAMMMHbAAQcyGLBBB8DcIudAqEzAhX4+MABfDy+YFs1oPkhITGac5dCCCWtJd4KgmenRjUMcfjYaS1ZBSIxqKcx4SwEU3IgFXrZYUBsMEMT4CwMd4EUmYADuoMILfwUwg3bRSIWDD+LRkeFngFg2xwk+wNVVIpKqpEMKPEiXWh9UnbArD1CykNCOTXDqqSvyoAKDJ/EEAAACTU0BxUHM5VBCVMXYMP9BUBbYoUMJO0i1w0Ua4pADRFhqSYyAcvj5wzPEnJtIMdEmZPDBXLyAQYoyXOslfiA2IMBdPXTggRCahLvif1yglWCSkP1QAgOxvKDcStVJi4e/ztXhQlusreYDrT9shTDC8UrFQwMiQCCBi++JSs+Y99xkhgX84FSOJz1swIEAxr2gX4fC3IEaDtJao8IMDQTAADSfkRZSy20dyLIcO1glhzEXQTRvQi5mMME33TRC5A8IoFdfAxTA8AITBmFi9DgPY4xAf1JHRciFPhyq9YN9oMADE2yFzUUzGOqQJdlzsCCos1rtAKULB0+mMw44VCDFB9vgIKwcX4gb4uwy8Kj/BOHiziIDE8gJuALNAlPTOHR0pIBDDCrg4MLbP5wgmjA4UBRZ5tVh9LbBLbiQElU6oOCYrjwQIAUIqEWzAvEzkornzeznqcT65ZagtjN394ugso7ccRbIP7SAwh6FyEEhSLIhaR1MGfnCBgp2QLOuWCMFGuuBDeigghI4RkNiSwgLJiMkIYkGWi5oQbxApsHKaMg5ICkfHRrkg7PN4TNv00ELGtK4HZDOYKZLi5ZYkKs+NOQ7PcQPjcDAgCqJDkslqFyWmrGoS82BeG2xVNlYML9k5IAra9OcQ5RnQIRpz17daKAjcCCJyKQtQq5zCJRu8EE84KCKc2gUBV83B+P1/0tQxICiI5IFMw6xYHldbF+AWAAN7vyQc+eCox6UARETYKQqV+mDFLfjCD1OR1hNmp4l6XCuBhJIkBq0IYICUTNwSGWBinRECp2jAtTo4G5380hbBIUCS8qxfo5YgfTaApLvbQlhphPECk7olg3yIHg8aMFkcODCJ7Fgk2ibxgL7IMe10ZEhG+LkLuVQyzuSzQSpZIYJYBCMHazgeuB8WzMShBVHQmQFwKIj5xxxrkyKpQXTeJlI1LJF7UFpKt1gJjWryBHNNHNZzjlUFBijQXhFgwsScYH8+reDjuwgDxwSIzO6RzaQ5CAFSWSJKl3AmkCJBiOYwYMOToCstlDFQv+V1A4064jH7pigBLEQDnMK8cYDtbArK4DETx+KA4hMpgRlkYhyeKDRSqJlmPb8lQtWUMZsyLOauqKjdyoph2GS7VzmgmOQdhCUo3CFqXsISXaghTq4zEsGGTjBgXJgjXlW5CJSUWF3ROenmDlpNbmKqlso8kaymeuKjZukq/LRg2AoSzVcAIcFNXICqiBmBpoZm12LhyC4nGCb3WGBNSQnSW6wJqmAEA8uCzssw3JTe9LyXWVxOiMuyFEj87IDAq1iER9YQCMgIeRm+6AMbvZwEY0AHVr+GSkDrXSMKbAjJd2i1/y1ZqtruSGUTmFWedasXNCom2VmYKcMYKOVkxn/LgVnFlS1EfAz2YvIIF6pNqyKJV6g9WrNwnmVaUxyLUjiAgSOwxxiiG1+5zsIAzCLNrcESr3MOJcRI5qW5PWrh1jlAX8JZq66PQJz9s0jQuugwM4kJMTnwuuSKrI7H2hEuqTxbr+0SCV5LXV5fiKSHLEay7o6SnNYu5lERQZaVS4DBX9YXGs5yQUZPyYPjKgsCmZgAX+c93UcwmBogqRSOPJxji8csWaKN4gtnsWLiCqEAxxAgmQFyH9k0+VG4sCaeOHxivjTVVRodc4M/Ac6REIyC3433HguQlhaAuej4Hu9hIhwqXVDgZ8McI4DJIAdCPLxd7CRHQr6WFq4LIZC/4inAgtIjSLS/dVFIKy94q1EjSJEWCR0liWkcs4BlAZAAg5wgRoowAALuECmzSjmJasaQW1xABcegaUfzMBrM+tvJV2sXhOYTtZH/Mxz17bNmnb1B7jehAKEvTwO+WAACwh241ZcvEZ5p7IOMZ18qcQF4dIB1wkIkBxaUAIV7CADVQb0pW51UGIAa6lZOpuGwQfTfW1i11ygKx3O6YMLpHsAzIkeNkoAFxRgxIADCLnIQ37AYcBE18j+lyJKnQEJUKSJhlCB9+xtV361TJbGnRBTc+kDdQtCka+s+AIMcACMM8eGkeDCABSQgIcn4OkJUIACFsCFokclBZSmtAIebP88DbWAnNF+BMvAyQwWVHWeyiObvp6TiHNu88w5kDE15kWDA1B6AVKnwdIXcOkaCBuUMfC1unmQAHBvHRwqcKsumIMMXCboEGN9yEwdXHC/PnFg0ZA4M+Cw4T6cYIMVP8DULb2AA9AgsWqhGQqkZQt/XCDvg9YAxjEqh1IfhRASmSHNYH6VBtVhopHxXMtaGiFJasfjzJQWhLUR1EYHaOGRORcLhJijESQA4zgQNjMaNYPG+gAbiOpMZQoR1RywQJqT3M7Z28JjSVrjBKRrjus2W35nNbUPpIserIRggRjEIN2n5wIG4ACOIw+NI2ZrYX6ENgfe4wL3dyFakQO3wl//d4NVjEAHq/d8RyIa7OYcd9NN80QawqUDPREbOeJrXLAAAOAAzuMfD0ZdYhE9vTINn4dLhWIu0LBKziEo0Lc25SN9GMKA4gd8YiEo+kU2KSAt0nMCNzAPMsAFNXAAPacBzuZ908BaYLY2KAERuCKEgOCAibB+0/VC1mB5P0A6x5UVZ6FkFSFPZMc584JVU0YnKxIDNKABUrgAKWCA+mRsxbZID1VB9rJiBcVk4YRVaxcNc5BiD/hGaxER06BHk3dX2tNAtTQUhBEDEIcDLggeR1hHIdY/coCGzQND/BY5WMQNDSEp+KQr0cMrUJIMq6ZJ3cGKrcM5wHJ+r8QyOEA0/15DAwAgbAEQDFcoRonXFiXhKiEEiR7oT5BWVFdRQZ8BAi9wUabRKI8RToXILBkAATgoMnI3IVyRAuZETxAjAIFnAD6QI/rkcYNyL1XkDXHweZNoEVB0PmvzAhIzBIzyHL7nHAAzRj6xGC8AEQUnalgFjYtQgkTQc1v3gvBiiYqgA+YiEh/lKiLThazUOGqDLOHVFAFAALC0eZpFDKnWBwyABdojFc1kQ2IUkZ5XGEIAARegjkOVAxZwAzs3Z3VAKJURR4JwKzIWVAMiQtV1IU0hAI8gSd8lhsziZMRBD9fVSHV1CEXWPK1YPDPgBMIhhXyAAgzAABDAGDsXkJqRTP/DAC1ugWd+0mxXwUORwVg98C+SlGJX+YeawQAwYA9jUFeVJRrCYkMohJEYOAMMdW5cwBEMIDG8QQEzIBGLAGda6Axmd3/AIpm6ogN+EQG/wiyk04dtwXsWciQzAHAMEBlHAiVYFBlZ6Qz84AM0cH0BEjv7NwYSopBxxFuE8EzOsTyQAhFLpZbOkWKdpiBnkwISAlKTaEMS2EwnoEdg2QNmdQAA4JUx0CmxwCOZQY7blALEoxrncpQLVBpOND3SEncSqEihdowTd5TZwAfI6SpiZJYvFAXB4A+W5ncJk5JE0AAmc357NAyH9F11JX6k4ULe9kv2dgIYIU9m6AyO8Ib/ZgSaaylS3hQ5V3AYPiAD53IBCWAApBEMAzEBEiAB0YNHRMJAdKBMTIQR7AaXBqZpjLOaF/IZdICFGCiJLWOVYqEcUmE8VYQDA5EjMUAAGUmdBkACAhYPEqARFroRqHGSF/JHP0pNTjkdMnouFFokyNidoZgaWyp2a6M88nQCvEEYEvACi+gDSKqkGzoDplFLGkEd0iNQhjCLi/B9q3GVt0KfEdIM20hNDRSowlNkH4gkb2gDTuA3EsA6azoAAGAA54KZiwgBIJABlcGSm2QRoAUSRfagsigR89cH50mpf3WjDyhCxPCJ3WEvPJAXSiABFZCnNVkDNBCm4iOd0/BK/+FofiyzhhgkJBGQhj+gEMzgb5nEGZ8JWtpAXDKakZqGo6okAT5xEz4gAT72eT2Xbz42kAy2bygUCQ1kbT/wAL8QNQ0QapdjU1UqMlzIQ0DCMpJzio6wPB8xeSiAH6/pA7PqQ/NCnRdwN7lKAdIjfidjcM9kDKjzPCdwAiSqGyEyAm2xbAa3DJgSZAIVahfib7t0oMRQQTuqCrfABQ/wHWvlA5emp3MQAffAAJz5HNrxlyxZR0lyUcd3ESXwAATwCxRgASAwsS5mDNAigR+1ndUkOaQjOl+FFiiweqGosYtIJ/wQA6fJgBU5ipBKAxISAQGgG0IQARUQYqwBCPZiPP8liUW8MQGMsVEN0UjnGWUW8lLbEVs7GX2qCUeiGUWnMB9dkA2tmZG7BoZyEAETwJc9YF4tM0A2RHNw+S7kZakSoDP6ckU15VXHJUMreSsdEk6rJzr3UgKmIVjbYQX+56gq4Kc/wAJ2p5E/gBd0GABXyiwflYQJwpwqpR04t4jzUkb1VUXOo2GKoAjIAmpyRxrYkAINITqQcJAgYAXDQZEtIFbAWAP6JD57sg9QMiAAmRXBgja4tEQbEj0+VWcVVUiRU7aDJZolEFsdOKWhiLySYgJyi4EQ8wYxwJLPGVV7wHdduKjzULVHsr1gWki41KyOkCS+1BkRYZFpiZz+whL/ePaGxss5GDK0HpIHKzAU/lCNxdNIptECNQAANcACDzCTQ0CwnIOcnIUVgmldyFhgN4oRKOB2zAIJ2wAeyCktLNFq6lXB5mcGYGAnEFCyESpCdnAuBmAANMCfRAMBD5gV3UZF88J+vKSEoCgZxakrY/WGcsaA1NFkEPZCxNEA3dgDPjABL1s8LlAIi5IkIZxvfnEFK5KgmxY5zzTFqvS3N5pyj9AIpGMCDcRaDOoqdop/oCEVz1o2+OE1ASAcE2CkJsssPbcOp7d/iMs5lpRiQ8VNqPMQetw86zpNL8QcdVs/BPIRWPScjLQC/OU8D+AT+iid6wjJzgBat6KCCSAt/zGQAb6UOe/iXFYRarcyPNDSGcOASgf8YNsYINdjLv0mYjynNphSEsrAhgx4Rg8ABqvABf1KQQ1kPFckeET3d6DkO8TaP917FZ+DR1paAqCJVCSUEOXbwcRgw6caDd1DvngADZpXCT7RAE9Yki61c2Lza9Wpa1DXdOgAbCOMIFc5L+Ixv3GUPwmRhkcSzxFHEV1MXNVkhnHneckTCfIjPvkAHxJAUs5hPNZARlxwARb3oUlsABqgAQ4w07kGACT3c+IY0T42JR3EA6ToHM8ZSBknQMSwmhIddyMQAUxNACWrFQTgH6Igk/ABARcVGRpCM+R4rIgFSuemACFMdKeneeldgadSqgMfQMRzQAAf8I/O8UaLckMaNKprs8l0+StYcROigBMwgFksOyNy0w8thxYG96S5mQ1MVTeKrdgm9tVaR24yZwIp9wARkAGocQIMSQnpc3QktM8MWE1xXTrz92WXVxF5MAE1ITcsQsSU3QMWEAtkzACCsKpitBKcFI6GAAhQiMs1wBykMwMR4IRFZAN2cQ9gAAIAwnhy/S4eAg2E2lXZo0HMwZt4jao/AAMbgAEjAAISIAN98AAfENwCEAH/wR2cw9ZteZBXkQcoEGB1J9MN7QNqADX0bWr8EAxRcVPvMt01tANBAAA7";
27
+ const ConsentMessageBackgroundStyled = styled.div.withConfig({
28
+ displayName: "ConsentMessageBackgroundStyled",
29
+ componentId: "sc-la2plq-0"
30
+ })({
31
+ position: "absolute",
32
+ top: 0,
33
+ left: 0,
34
+ right: 0,
35
+ bottom: 0,
36
+ overflow: "hidden"
37
+ });
38
+ const ConsentMessageBackgroundMapStyled = styled.div.withConfig({
39
+ displayName: "ConsentMessageBackgroundMapStyled",
40
+ componentId: "sc-la2plq-1"
41
+ })({
42
+ position: "absolute",
43
+ top: "-10%",
44
+ left: "-10%",
45
+ right: "-10%",
46
+ bottom: "-10%",
47
+ backgroundImage: `url("data:image/gif;base64, ${mapBG} ")`,
48
+ backgroundPosition: "center",
49
+ backgroundSize: "cover",
50
+ backgroundColor: getBackgroundColor(colorBackgroundOverlay),
51
+ backgroundBlendMode: "overlay",
52
+ filter: "blur(8px)"
53
+ });
54
+ const ConsentMessageStyled = styled.div.withConfig({
55
+ displayName: "ConsentMessageStyled",
56
+ componentId: "sc-la2plq-2"
57
+ })({
58
+ position: "absolute",
59
+ top: "50%",
60
+ transform: "translate(0, -50%)",
61
+ left: getSpacing(spacingMd),
62
+ right: getSpacing(spacingMd),
63
+ ...viewport.md({
64
+ /* no token for this maxWidth, but invented by Daniel */
65
+ maxWidth: "600px",
66
+ left: "50%",
67
+ right: "unset",
68
+ transform: "translate(-50%, -50%)"
69
+ })
70
+ }, () => {
71
+ const css = {};
72
+ const buttonSelector = `& ${ButtonStyled.toString()}`;
73
+ css[buttonSelector] = {
74
+ marginLeft: "auto",
75
+ marginRight: "auto"
76
+ };
77
+ return css;
78
+ });
79
+ const ConsentMessage = ({
80
+ heading,
81
+ body,
82
+ button
83
+ }) => {
84
+ const [render, setRender] = useState(false);
85
+ useEffect(() => {
86
+ setRender(true);
87
+ }, []);
88
+ if (!render) {
89
+ return null;
90
+ }
91
+ const openConsentBanner = () => {
92
+ try {
93
+ window.adv_lib.consent.showBanner();
94
+ } catch (e) {
95
+ console.log("Could not open consentBanner");
96
+ }
97
+ };
98
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
99
+ /* @__PURE__ */ jsx(ConsentMessageBackgroundStyled, { children: /* @__PURE__ */ jsx(ConsentMessageBackgroundMapStyled, {}) }),
100
+ /* @__PURE__ */ jsxs(ConsentMessageStyled, { children: [
101
+ /* @__PURE__ */ jsx(Heading, { size: textHeadingXs, bottomSpacing: spacingXs, align: headingAlignCenter, children: heading }),
102
+ /* @__PURE__ */ jsx(Body, { bottomSpacing: spacingMd, align: bodyAlignCenter, children: body }),
103
+ /* @__PURE__ */ jsx(Button, { appearance: tertiaryAppearance, width: buttonAutoWidth, onClick: openConsentBanner, bottomSpacing: spacingNone, children: button })
104
+ ] })
105
+ ] });
106
+ };
107
+ const MapInner = ({
108
+ setMap,
109
+ children
110
+ }) => {
111
+ const mapIdentifier = void 0 !== children.props.id ? children.props.id : void 0;
112
+ const map = useMap(mapIdentifier);
113
+ useEffect(() => {
114
+ if (!map) {
115
+ return;
116
+ }
117
+ setMap(map);
118
+ }, [map, setMap]);
119
+ return children;
120
+ };
121
+ const MapProvider = ({
122
+ apiKey,
123
+ children,
124
+ setMap
125
+ }) => {
126
+ return /* @__PURE__ */ jsx(APIProvider, { apiKey, children: /* @__PURE__ */ jsx(MapInner, { setMap, children }) });
127
+ };
128
+ const GoogleMapStyled = styled.div.withConfig({
129
+ shouldForwardProp: filterProps(),
130
+ displayName: "GoogleMapStyled",
131
+ componentId: "sc-jtxldi-0"
132
+ })({
133
+ position: "relative",
134
+ borderWidth: getBorderWidth(borderWidthSm),
135
+ borderColor: getBorderColor(colorBorderSubtle),
136
+ borderStyle: "solid"
137
+ }, ({
138
+ viewportHeight
139
+ }) => {
140
+ let height = {
141
+ height: `${viewportHeight.sm}px`
142
+ };
143
+ if (viewportHeight.md) {
144
+ height = {
145
+ ...height,
146
+ ...viewport.md({
147
+ height: `${viewportHeight.md}px`
148
+ })
149
+ };
150
+ }
151
+ if (viewportHeight.lg) {
152
+ height = {
153
+ ...height,
154
+ ...viewport.lg({
155
+ height: `${viewportHeight.lg}px`
156
+ })
157
+ };
158
+ }
159
+ return height;
160
+ }, ({
161
+ corners = cornerStraight
162
+ }) => ({
163
+ borderRadius: corners === "rounded" ? getBorderRadius(borderRadiusMd) : getBorderRadius(borderRadiusNone),
164
+ "& > div > div": {
165
+ borderRadius: corners === "rounded" ? getBorderRadius(borderRadiusMd) : getBorderRadius(borderRadiusNone)
166
+ }
167
+ }), getBottomSpacing);
168
+ const defaultBasicMap = /* @__PURE__ */ jsx(Map, { defaultZoom: 18, defaultCenter: {
169
+ lat: 51.235587,
170
+ lng: 6.731483
171
+ }, disableDefaultUI: true, gestureHandling: "greedy" });
172
+ const GoogleMap = ({
173
+ children,
174
+ apiKey,
175
+ bottomSpacing = spacingMd,
176
+ onMapReady,
177
+ consentMessage,
178
+ ...props
179
+ }) => {
180
+ const consent = useThirdPartyConsent();
181
+ const [map, setMap] = useState(null);
182
+ children = children || defaultBasicMap;
183
+ useEffect(() => {
184
+ if (!map) {
185
+ return;
186
+ }
187
+ if (!onMapReady) {
188
+ return;
189
+ }
190
+ onMapReady(map);
191
+ }, [map, onMapReady]);
192
+ return /* @__PURE__ */ jsx(GoogleMapStyled, { ...props, bottomSpacing, children: !consent ? /* @__PURE__ */ jsx(ConsentMessage, { ...consentMessage }) : /* @__PURE__ */ jsx(MapProvider, { apiKey, setMap, children }) });
193
+ };
194
+ export {
195
+ GoogleMap as default
196
+ };
@@ -0,0 +1,39 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { l as liTagName, d as divTagName } from "../../tags-DI6H1biK.js";
4
+ import { s as spacingMd } from "../../Spacing-D0HQH9YJ.js";
5
+ import { Children, cloneElement } from "react";
6
+ import { G as GridStyled } from "../../styled-ZpQohvyx.js";
7
+ const autoLayout = (props) => {
8
+ if (!props.autoLayout) {
9
+ return props.children;
10
+ }
11
+ if (props.children && Array.isArray(props.children)) {
12
+ return props.children.map((child) => {
13
+ return cloneElement(child, {
14
+ ...props.autoLayout
15
+ });
16
+ });
17
+ }
18
+ if (props.children && !Array.isArray(props.children)) {
19
+ return cloneElement(props.children, {
20
+ ...props.autoLayout
21
+ });
22
+ }
23
+ };
24
+ const inheritTagandSpacingToGridItems = (gridItems, tag, spacing) => {
25
+ return Children.map(gridItems, (gridItem) => cloneElement(gridItem, {
26
+ tag: tag !== divTagName ? liTagName : divTagName,
27
+ spacing
28
+ }));
29
+ };
30
+ const Grid = ({
31
+ tag = divTagName,
32
+ spacing = spacingMd,
33
+ ...props
34
+ }) => {
35
+ return /* @__PURE__ */ jsx(GridStyled, { ...props, as: tag, spacing, children: inheritTagandSpacingToGridItems(autoLayout(props), tag, spacing) });
36
+ };
37
+ export {
38
+ Grid as default
39
+ };
@@ -0,0 +1,12 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { d as divTagName } from "../../tags-DI6H1biK.js";
4
+ import { G as GridItemStyled } from "../../styled-Wlt68LfQ.js";
5
+ const GridItem = ({
6
+ sm = 12,
7
+ tag = divTagName,
8
+ ...props
9
+ }) => /* @__PURE__ */ jsx(GridItemStyled, { ...props, as: tag, sm, children: props.children });
10
+ export {
11
+ GridItem as default
12
+ };
@@ -0,0 +1,94 @@
1
+ "use client";
2
+ import { jsxs, jsx } from "react/jsx-runtime";
3
+ import FootnoteLink from "../FootnoteLink/index.js";
4
+ import { a as spacingXs, c as spacingSm, s as spacingMd, f as spacingLg, d as spacingXl } from "../../Spacing-D0HQH9YJ.js";
5
+ import { r as renderInlineRichTextFromOpenText } from "../../renderInlineRichTextFromOpenText-CA52y1-B.js";
6
+ import styled from "styled-components";
7
+ import { h as h5TagName, a as h4TagName, b as h3TagName, c as h2TagName, e as h1TagName, f as headingHtmlTags } from "../../tags-DI6H1biK.js";
8
+ import { getBottomSpacing } from "../../foundations/token/getBottomSpacing/index.js";
9
+ import { getFontWeight } from "../../foundations/token/getFontWeight/index.js";
10
+ import { getHeadingSize } from "../../foundations/token/getHeadingSize/index.js";
11
+ import { getTextColor } from "../../foundations/token/getTextColor/index.js";
12
+ import { f as fontWeightBold, a as fontWeightLight } from "../../FontWeight-CR22KTex.js";
13
+ import { a as colorTextNeutral } from "../../TextColor-BXiR5Uq9.js";
14
+ import { f as filterProps } from "../../filterProps-Cewck8OH.js";
15
+ const headingAlignLeft = "left";
16
+ const headingAlignCenter = "center";
17
+ const mapHeadingSizeToFontWeight = {
18
+ xl: fontWeightLight,
19
+ lg: fontWeightLight,
20
+ md: fontWeightLight,
21
+ sm: fontWeightBold,
22
+ xs: fontWeightBold
23
+ };
24
+ const mapSizeToTag = {
25
+ xl: h1TagName,
26
+ lg: h2TagName,
27
+ md: h3TagName,
28
+ sm: h4TagName,
29
+ xs: h5TagName
30
+ };
31
+ const mapSizeToBottomSpacing = {
32
+ xl: spacingXl,
33
+ lg: spacingLg,
34
+ md: spacingMd,
35
+ sm: spacingSm,
36
+ xs: spacingXs
37
+ };
38
+ const attributes = (props) => {
39
+ const attrs = {};
40
+ attrs.as = props.tag ? props.tag : mapSizeToTag[props.size];
41
+ if (attrs.as && false === headingHtmlTags.includes(attrs.as)) {
42
+ attrs.role = "heading";
43
+ if (!props["aria-level"]) {
44
+ const level = parseInt(mapSizeToTag[props.size].replace("h", ""));
45
+ attrs["aria-level"] = level;
46
+ }
47
+ }
48
+ return attrs;
49
+ };
50
+ const HeadingStyled = styled.h1.withConfig({
51
+ shouldForwardProp: filterProps(),
52
+ displayName: "HeadingStyled",
53
+ componentId: "sc-qb1b6s-0"
54
+ }).attrs(attributes)({
55
+ color: getTextColor(colorTextNeutral),
56
+ "&:focus-visible": {
57
+ outline: "none"
58
+ }
59
+ }, ({
60
+ size
61
+ }) => getHeadingSize(size), ({
62
+ weight,
63
+ size
64
+ }) => ({
65
+ fontWeight: getFontWeight(weight ? weight : mapHeadingSizeToFontWeight[size])
66
+ }), ({
67
+ align = headingAlignLeft
68
+ }) => ({
69
+ textAlign: align
70
+ }), ({
71
+ bottomSpacing,
72
+ size
73
+ }) => {
74
+ if (bottomSpacing) {
75
+ return getBottomSpacing({
76
+ bottomSpacing
77
+ });
78
+ }
79
+ return getBottomSpacing({
80
+ bottomSpacing: mapSizeToBottomSpacing[size]
81
+ });
82
+ });
83
+ const Heading = ({
84
+ bottomSpacing = spacingMd,
85
+ ...props
86
+ }) => /* @__PURE__ */ jsxs(HeadingStyled, { ...props, bottomSpacing, children: [
87
+ renderInlineRichTextFromOpenText(props.children),
88
+ props.footnote && /* @__PURE__ */ jsx(FootnoteLink, { ...props.footnote })
89
+ ] });
90
+ export {
91
+ Heading as default,
92
+ headingAlignCenter,
93
+ headingAlignLeft
94
+ };
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import styled from "styled-components";
4
+ import { getBottomSpacing } from "../../foundations/token/getBottomSpacing/index.js";
5
+ import { s as spacingMd } from "../../Spacing-D0HQH9YJ.js";
6
+ import { f as filterProps } from "../../filterProps-Cewck8OH.js";
7
+ import { g as getCssVar } from "../../getCssVar-BP6T9pFM.js";
8
+ const IconStyled = styled.img.withConfig({
9
+ shouldForwardProp: filterProps(),
10
+ displayName: "IconStyled",
11
+ componentId: "sc-8y9akr-0"
12
+ })(({
13
+ size
14
+ }) => {
15
+ return {
16
+ width: getCssVar(`${size}`),
17
+ height: getCssVar(`${size}`),
18
+ display: "block"
19
+ };
20
+ }, ({
21
+ bottomSpacing = spacingMd
22
+ }) => getBottomSpacing({
23
+ bottomSpacing
24
+ }));
25
+ const HifiIcon = ({
26
+ alt = "",
27
+ ...props
28
+ }) => /* @__PURE__ */ jsx(IconStyled, { ...props, alt });
29
+ export {
30
+ HifiIcon as default
31
+ };
@@ -0,0 +1,38 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { IconLoader } from "@vfde-react/inline-icon-library";
4
+ import HifiIcon from "../HifiIcon/index.js";
5
+ const iconSize5xl = "iconSize5xl";
6
+ const iconSize6xl = "iconSize6xl";
7
+ const iconSize7xl = "iconSize7xl";
8
+ const iconSize8xl = "iconSize8xl";
9
+ const iconSize9xl = "iconSize9xl";
10
+ const isIconProp = (props) => {
11
+ return props.icon !== void 0;
12
+ };
13
+ const isHifiIconProp = (props) => {
14
+ return props.src !== void 0;
15
+ };
16
+ const isIconLoaderProp = (props) => {
17
+ return props.name !== void 0;
18
+ };
19
+ const Icon = (props) => {
20
+ if (isIconProp(props)) {
21
+ return props.icon;
22
+ }
23
+ if (isHifiIconProp(props)) {
24
+ return /* @__PURE__ */ jsx(HifiIcon, { ...props });
25
+ }
26
+ if (isIconLoaderProp(props)) {
27
+ return /* @__PURE__ */ jsx(IconLoader, { ...props });
28
+ }
29
+ return null;
30
+ };
31
+ export {
32
+ Icon as default,
33
+ iconSize5xl,
34
+ iconSize6xl,
35
+ iconSize7xl,
36
+ iconSize8xl,
37
+ iconSize9xl
38
+ };