@vodafone_de/brix-components 10.0.0 → 10.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.
- package/dist/components/Accordion/index.js +1 -1
- package/dist/components/Badge/index.js +1 -1
- package/dist/components/Button/index.js +3 -3
- package/dist/components/ButtonAsLink/index.js +1 -1
- package/dist/components/ButtonGroup/index.js +2 -2
- package/dist/components/CheckboxGroup/index.js +1 -1
- package/dist/components/ColorSwatchGroup/index.js +1 -1
- package/dist/components/ConsentMessage/index.js +2 -2
- package/dist/components/DiscoveryCard/index.js +5 -6
- package/dist/components/DiscoveryCardGroup/index.js +4 -4
- package/dist/components/EnergySnippet/index.js +1 -1
- package/dist/components/FeatureCardGroup/components/FeatureCard/index.d.ts +5 -0
- package/dist/components/FeatureCardGroup/components/FeatureCard/props.d.ts +55 -0
- package/dist/components/FeatureCardGroup/components/FeatureCard/styled.d.ts +4 -0
- package/dist/components/FeatureCardGroup/index.d.ts +5 -0
- package/dist/components/FeatureCardGroup/index.js +119 -0
- package/dist/components/FeatureCardGroup/props.d.ts +31 -0
- package/dist/components/FeatureCardGroup/styled.d.ts +2 -0
- package/dist/components/FilterGroup/index.js +1 -1
- package/dist/components/Flex/index.js +2 -2
- package/dist/components/Form/index.js +1 -1
- package/dist/components/FormHelperStatusIcon/index.js +1 -1
- package/dist/components/Icon/index.js +1 -1
- package/dist/components/IconButton/index.js +2 -2
- package/dist/components/IconLoader/index.js +2 -1
- package/dist/components/IconSnippet/index.js +2 -2
- package/dist/components/Image/index.js +2 -2
- package/dist/components/ImageHeader/index.js +3 -3
- package/dist/components/Legend/index.js +1 -1
- package/dist/components/Link/index.js +3 -3
- package/dist/components/LinkAsButton/index.js +1 -1
- package/dist/components/LinkListItem/index.js +2 -2
- package/dist/components/MediaText/index.js +3 -3
- package/dist/components/Notification/index.js +2 -2
- package/dist/components/OpenTextFootnoteAdapter/index.js +1 -1
- package/dist/components/PickerGroup/index.js +2 -2
- package/dist/components/ProductCard/index.js +3 -3
- package/dist/components/RichText/index.js +1 -1
- package/dist/components/RichtTextContentful/index.js +1 -1
- package/dist/components/SearchInput/index.js +1 -1
- package/dist/components/SuggestInput/index.js +1 -1
- package/dist/components/Switch/index.js +1 -1
- package/dist/components/TabGroup/index.js +1 -1
- package/dist/components/TextList/index.js +1 -1
- package/dist/components/Tray/index.js +1 -1
- package/dist/components/UtilityLink/index.d.ts +1 -0
- package/dist/contentful/live-preview-inspector/index.js +1 -1
- package/dist/contentful/live-preview-renderer/index.js +1 -1
- package/dist/contentful/renderer/index.js +1 -1
- package/dist/{index--RjkzZm0.js → index-B3v10poy.js} +7 -2
- package/dist/{index-DP6Nlg-a.js → index-BXt1ptbH.js} +14 -13
- package/dist/{index-72IFVw5W.js → index-CflWbzuv.js} +4 -4
- package/dist/{index-Dd-A7i9Y.js → index-r-dbrZxA.js} +2 -2
- package/dist/{index-DwGcrvTh.js → index-sJClnrzW.js} +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +56 -54
- package/dist/{mapContentToComponents-DcPjYAXH.js → mapContentToComponents-D215P4kM.js} +8 -8
- package/dist/{styled-CUp4EbPh.js → styled-BY19C9EO.js} +1 -1
- package/dist/{styled-BKH3egch.js → styled-CepQAcdi.js} +1 -1
- package/dist/{validate-CLBUbscx.js → validate-BxqNSkch.js} +2 -2
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
3
3
|
import { useRef, useState, useEffect } from "react";
|
|
4
4
|
import Collapsible from "../Collapsible/index.js";
|
|
5
|
-
import { b as iconNames, I as IconLoader } from "../../index
|
|
5
|
+
import { b as iconNames, I as IconLoader } from "../../index-B3v10poy.js";
|
|
6
6
|
import { c as iconSizeMd } from "../../IconSize-AJp7xdJi.js";
|
|
7
7
|
import { bf as ChevronDownIcon } from "../../_5gPlusIcon-CnxmOo1u.js";
|
|
8
8
|
import styled from "styled-components";
|
|
@@ -4,7 +4,7 @@ import "../../index-BsykXBqC.js";
|
|
|
4
4
|
import "../../IconSize-AJp7xdJi.js";
|
|
5
5
|
import "../../SizeTypes-Ck_RdzIf.js";
|
|
6
6
|
import "../../Spacing-8v6hcO2x.js";
|
|
7
|
-
import { b, c, d, B, i, p, s, a, t, v } from "../../index-
|
|
7
|
+
import { b, c, d, B, i, p, s, a, t, v } from "../../index-sJClnrzW.js";
|
|
8
8
|
export {
|
|
9
9
|
b as BadgeAppearanceColor,
|
|
10
10
|
c as badgeAppearances,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { B as ButtonAsLink, g as getButtonIcon } from "../../validate-
|
|
4
|
-
import { c, a, b, d, f, e } from "../../validate-
|
|
5
|
-
import { B as ButtonStyled } from "../../styled-
|
|
3
|
+
import { B as ButtonAsLink, g as getButtonIcon } from "../../validate-BxqNSkch.js";
|
|
4
|
+
import { c, a, b, d, f, e } from "../../validate-BxqNSkch.js";
|
|
5
|
+
import { B as ButtonStyled } from "../../styled-CepQAcdi.js";
|
|
6
6
|
const isButtonAsLinkProp = (props) => {
|
|
7
7
|
return props.href !== void 0;
|
|
8
8
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import "react/jsx-runtime";
|
|
3
|
-
import { B, i, v } from "../../validate-
|
|
3
|
+
import { B, i, v } from "../../validate-BxqNSkch.js";
|
|
4
4
|
import "../../hooks/useLinkComponent/index.js";
|
|
5
5
|
import "../../filterProps-CxkibNnG.js";
|
|
6
6
|
import "../../sanitizeLinkProps-D2Kkovy1.js";
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import Button from "../Button/index.js";
|
|
4
4
|
import Flex from "../Flex/index.js";
|
|
5
|
-
import { b as flexJustifyStart, c as flexJustifyEnd, d as flexJustifyCenter, e as flexJustifyBetween, f as flexOrientationHorizontal, a as flexOrientationVertical } from "../../styled-
|
|
5
|
+
import { b as flexJustifyStart, c as flexJustifyEnd, d as flexJustifyCenter, e as flexJustifyBetween, f as flexOrientationHorizontal, a as flexOrientationVertical } from "../../styled-BY19C9EO.js";
|
|
6
6
|
import FlexItem from "../FlexItem/index.js";
|
|
7
7
|
import { b as spacingSm, s as spacingMd } from "../../Spacing-8v6hcO2x.js";
|
|
8
8
|
import { u as useViewport } from "../../index-DKCzYjXw.js";
|
|
9
|
-
import { e as validateButtonProps, v as validateButtonAsLinkProps } from "../../validate-
|
|
9
|
+
import { e as validateButtonProps, v as validateButtonAsLinkProps } from "../../validate-BxqNSkch.js";
|
|
10
10
|
import { i as isObject, h as hasMatchingComponentName } from "../../isObject-BYBrvoVW.js";
|
|
11
11
|
import { i as isBottomSpacing } from "../../isBottomSpacing-BxfreCZU.js";
|
|
12
12
|
const flexJustifyBehaviours = [flexJustifyStart, flexJustifyEnd, flexJustifyCenter, flexJustifyBetween];
|
|
@@ -5,7 +5,7 @@ import Checkbox from "../Checkbox/index.js";
|
|
|
5
5
|
import Fieldset from "../Fieldset/index.js";
|
|
6
6
|
import { g as spacingLg, s as spacingMd, c as spacingNone } from "../../Spacing-8v6hcO2x.js";
|
|
7
7
|
import styled from "styled-components";
|
|
8
|
-
import { F as FlexStyled } from "../../styled-
|
|
8
|
+
import { F as FlexStyled } from "../../styled-BY19C9EO.js";
|
|
9
9
|
import { getBottomSpacing } from "../../foundations/token/getBottomSpacing/index.js";
|
|
10
10
|
import { getSpacing } from "../../foundations/token/getSpacing/index.js";
|
|
11
11
|
import { a as filterProps } from "../../filterProps-CxkibNnG.js";
|
|
@@ -3,7 +3,7 @@ import { jsx } from "react/jsx-runtime";
|
|
|
3
3
|
import ColorSwatch, { colorSwatchSizeSmall, colorSwatchSizes } from "../ColorSwatch/index.js";
|
|
4
4
|
import { s as spacingMd, f as spacing2Xs } from "../../Spacing-8v6hcO2x.js";
|
|
5
5
|
import styled from "styled-components";
|
|
6
|
-
import { F as FlexStyled } from "../../styled-
|
|
6
|
+
import { F as FlexStyled } from "../../styled-BY19C9EO.js";
|
|
7
7
|
import { getBottomSpacing } from "../../foundations/token/getBottomSpacing/index.js";
|
|
8
8
|
import { c as iconSizeMd } from "../../IconSize-AJp7xdJi.js";
|
|
9
9
|
import { a as filterProps } from "../../filterProps-CxkibNnG.js";
|
|
@@ -3,9 +3,9 @@ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
|
3
3
|
import { useState, useEffect } from "react";
|
|
4
4
|
import Body, { bodyAlignCenter } from "../Body/index.js";
|
|
5
5
|
import Button from "../Button/index.js";
|
|
6
|
-
import { a as buttonAutoWidth } from "../../validate-
|
|
6
|
+
import { a as buttonAutoWidth } from "../../validate-BxqNSkch.js";
|
|
7
7
|
import styled from "styled-components";
|
|
8
|
-
import { B as ButtonStyled, t as tertiaryAppearance } from "../../styled-
|
|
8
|
+
import { B as ButtonStyled, t as tertiaryAppearance } from "../../styled-CepQAcdi.js";
|
|
9
9
|
import viewport from "../../foundations/media-query/viewport/index.js";
|
|
10
10
|
import { getBackgroundColor } from "../../foundations/token/getBackgroundColor/index.js";
|
|
11
11
|
import { getSpacing } from "../../foundations/token/getSpacing/index.js";
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { Fragment } from "react";
|
|
4
|
-
import { e as BadgeStyled, i as isBadgeProps, B as Badge } from "../../index-
|
|
4
|
+
import { e as BadgeStyled, i as isBadgeProps, B as Badge } from "../../index-sJClnrzW.js";
|
|
5
5
|
import Body, { isBodyProps, bodyAlignLeft, bodyAlignCenter } from "../Body/index.js";
|
|
6
6
|
import Heading, { isHeadingProps } from "../Heading/index.js";
|
|
7
7
|
import Link, { isLinkProps } from "../Link/index.js";
|
|
8
8
|
import { k as isPriceProps, b as priceSizeSm, P as Price, f as priceAlignLeft, g as priceAlignCenter, a as priceOrientationVertical } from "../../index-DCXRnuHz.js";
|
|
9
|
-
import { R as RichText } from "../../index-
|
|
9
|
+
import { R as RichText } from "../../index-BXt1ptbH.js";
|
|
10
10
|
import { f as fontWeightBold } from "../../FontWeight-DEBGHbtO.js";
|
|
11
11
|
import { b as textHeadingSm } from "../../HeadingSize-CfCRn3Lh.js";
|
|
12
12
|
import { s as smallSize } from "../../SizeTypes-Ck_RdzIf.js";
|
|
13
13
|
import { s as spacingMd, c as spacingNone, a as spacingXs, b as spacingSm } from "../../Spacing-8v6hcO2x.js";
|
|
14
14
|
import "../../index-C2E3JrhF.js";
|
|
15
15
|
import "../../index-BsykXBqC.js";
|
|
16
|
-
import "../../styled-
|
|
17
|
-
import { a as LinkStyled } from "../../index-
|
|
16
|
+
import "../../styled-CepQAcdi.js";
|
|
17
|
+
import { a as LinkStyled } from "../../index-r-dbrZxA.js";
|
|
18
18
|
import "../../hooks/useLinkComponent/index.js";
|
|
19
19
|
import "html-react-parser";
|
|
20
20
|
import "../InlineLink/index.js";
|
|
@@ -25,7 +25,6 @@ import Image, { aspectRatio16_9, aspectRatio1_1, isImageProps } from "../Image/i
|
|
|
25
25
|
import { getBottomSpacing } from "../../foundations/token/getBottomSpacing/index.js";
|
|
26
26
|
import { getSpacing } from "../../foundations/token/getSpacing/index.js";
|
|
27
27
|
import { a as filterProps } from "../../filterProps-CxkibNnG.js";
|
|
28
|
-
import { a as cornerRounded } from "../../CornerStyle-JEbGNArR.js";
|
|
29
28
|
import "../../index-DbG0QL9D.js";
|
|
30
29
|
import "../../index-Bu-7sSif.js";
|
|
31
30
|
import "../UtilityLink/index.js";
|
|
@@ -110,7 +109,7 @@ const DiscoveryCardLinkedImage = ({
|
|
|
110
109
|
},
|
|
111
110
|
orientation = discoveryCardOrientationVertical,
|
|
112
111
|
bottomSpacing
|
|
113
|
-
}) => /* @__PURE__ */ jsx(DiscoveryCardImageLinkStyled, { ...linkProps, tabIndex: -1, "aria-describedby": `headingId-${uid}`, orientation, bottomSpacing, children: /* @__PURE__ */ jsx(Image, { ...image, aspectRatio: orientation === discoveryCardOrientationVertical ? aspectRatio16_9 : aspectRatio1_1,
|
|
112
|
+
}) => /* @__PURE__ */ jsx(DiscoveryCardImageLinkStyled, { ...linkProps, tabIndex: -1, "aria-describedby": `headingId-${uid}`, orientation, bottomSpacing, children: /* @__PURE__ */ jsx(Image, { ...image, aspectRatio: orientation === discoveryCardOrientationVertical ? aspectRatio16_9 : aspectRatio1_1, roundedCorners: true, bottomSpacing: spacingNone }) });
|
|
114
113
|
const validateDiscoveryCardProps = (props) => {
|
|
115
114
|
if (!isObject(props)) {
|
|
116
115
|
return false;
|
|
@@ -3,23 +3,23 @@ import { jsxs, jsx } from "react/jsx-runtime";
|
|
|
3
3
|
import styled from "styled-components";
|
|
4
4
|
import DiscoveryCard, { discoveryCardOrientationVertical, validateDiscoveryCardProps, discoveryCardOrientationHorizontal } from "../DiscoveryCard/index.js";
|
|
5
5
|
import { a as Grid, G as GridItem } from "../../index-Bu-7sSif.js";
|
|
6
|
-
import { a as LinkStyled } from "../../index-
|
|
6
|
+
import { a as LinkStyled } from "../../index-r-dbrZxA.js";
|
|
7
7
|
import { getSpacing } from "../../foundations/token/getSpacing/index.js";
|
|
8
8
|
import { s as spacingMd } from "../../Spacing-8v6hcO2x.js";
|
|
9
9
|
import "react";
|
|
10
10
|
import "../../index-C2E3JrhF.js";
|
|
11
11
|
import "../../index-BsykXBqC.js";
|
|
12
|
-
import "../../index-
|
|
12
|
+
import "../../index-sJClnrzW.js";
|
|
13
13
|
import { i as isObject, h as hasMatchingComponentName } from "../../isObject-BYBrvoVW.js";
|
|
14
14
|
import "../Body/index.js";
|
|
15
15
|
import "../Heading/index.js";
|
|
16
|
-
import "../../styled-
|
|
16
|
+
import "../../styled-CepQAcdi.js";
|
|
17
17
|
import "../../hooks/useLinkComponent/index.js";
|
|
18
18
|
import "../../index-DCXRnuHz.js";
|
|
19
19
|
import "html-react-parser";
|
|
20
20
|
import "../InlineLink/index.js";
|
|
21
21
|
import "../../TableWrapper-Do9KCTGV.js";
|
|
22
|
-
import "../../index-
|
|
22
|
+
import "../../index-BXt1ptbH.js";
|
|
23
23
|
import "../../index-DbG0QL9D.js";
|
|
24
24
|
import "../UtilityLink/index.js";
|
|
25
25
|
import "../../hooks/useImageComponent/index.js";
|
|
@@ -4,7 +4,7 @@ import Link from "../Link/index.js";
|
|
|
4
4
|
import styled from "styled-components";
|
|
5
5
|
import viewport from "../../foundations/media-query/viewport/index.js";
|
|
6
6
|
import { a as filterProps } from "../../filterProps-CxkibNnG.js";
|
|
7
|
-
import { F as FlexStyled } from "../../styled-
|
|
7
|
+
import { F as FlexStyled } from "../../styled-BY19C9EO.js";
|
|
8
8
|
import UtilityLink from "../UtilityLink/index.js";
|
|
9
9
|
const letterPathMapping = {
|
|
10
10
|
A: "M46.99,29.398c0.118,0.365 0.186,0.649 0.22,0.86c0.025,0.211 -0.009,0.365 -0.118,0.47c-0.11,0.106 -0.296,0.171 -0.566,0.195c-0.269,0.024 -0.64,0.04 -1.113,0.04c-0.472,0 -0.877,0 -1.147,-0.024c-0.27,-0.024 -0.489,-0.049 -0.633,-0.089c-0.143,-0.049 -0.244,-0.106 -0.303,-0.187c-0.059,-0.081 -0.11,-0.186 -0.143,-0.316l-1.257,-3.916l-7.035,-0l-1.189,3.811c-0.042,0.138 -0.092,0.259 -0.151,0.357c-0.06,0.097 -0.161,0.17 -0.304,0.227c-0.143,0.056 -0.337,0.089 -0.591,0.113c-0.253,0.016 -0.59,0.033 -1.003,0.033c-0.447,-0 -0.793,-0.017 -1.046,-0.049c-0.253,-0.033 -0.422,-0.106 -0.523,-0.219c-0.093,-0.114 -0.126,-0.276 -0.101,-0.487c0.025,-0.21 0.101,-0.494 0.219,-0.843l5.778,-17.28c0.059,-0.17 0.126,-0.308 0.202,-0.413c0.076,-0.105 0.202,-0.186 0.371,-0.243c0.169,-0.057 0.405,-0.089 0.7,-0.106c0.295,-0.016 0.692,-0.024 1.189,-0.024c0.566,0 1.021,0 1.358,0.024c0.338,0.025 0.599,0.049 0.793,0.106c0.194,0.057 0.321,0.138 0.405,0.251c0.084,0.114 0.152,0.26 0.211,0.454l5.786,17.272l-0.009,-0.017Zm-8.594,-14.287l-0.017,-0l-2.648,8.279l5.313,-0l-2.648,-8.279Z",
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
import { BadgeProps } from '../../../Badge';
|
|
3
|
+
import { HeadingProps } from '../../../Heading';
|
|
4
|
+
import { ImageProps } from '../../../Image';
|
|
5
|
+
import { LinkProps } from '../../../Link';
|
|
6
|
+
import { PriceProps } from '../../../Price';
|
|
7
|
+
import { RichTextProps } from '../../../RichText';
|
|
8
|
+
import { ToggleButtonProps } from '../../../ToggleButton';
|
|
9
|
+
import { PatternProps } from '../../../../foundations/PatternProps';
|
|
10
|
+
export interface FeatureCardProps extends PatternProps, HTMLAttributes<HTMLDivElement> {
|
|
11
|
+
/**
|
|
12
|
+
* Pin component's name from string to the concrete name
|
|
13
|
+
*/
|
|
14
|
+
component?: 'FeatureCard';
|
|
15
|
+
/**
|
|
16
|
+
* Unique feature id.
|
|
17
|
+
*/
|
|
18
|
+
featureId: string;
|
|
19
|
+
/**
|
|
20
|
+
* Optional visual representation of the feature.
|
|
21
|
+
* Aspect ratio is controlled by the FeatureCard layout
|
|
22
|
+
* and therefore cannot be overridden.
|
|
23
|
+
*/
|
|
24
|
+
image?: Omit<ImageProps, 'aspectRatio'>;
|
|
25
|
+
/**
|
|
26
|
+
* Primary heading of the card.
|
|
27
|
+
*/
|
|
28
|
+
heading: Omit<HeadingProps, 'size' | 'weight' | 'bottomSpacing' | 'align'> & {
|
|
29
|
+
size?: HeadingProps['size'];
|
|
30
|
+
weight?: HeadingProps['weight'];
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Optional badge shown near the heading.
|
|
34
|
+
*/
|
|
35
|
+
badge?: BadgeProps;
|
|
36
|
+
/**
|
|
37
|
+
* Pricing information for the feature.
|
|
38
|
+
*/
|
|
39
|
+
price: Omit<PriceProps, 'size' | 'orientation' | 'align' | 'bottomSpacing'> & {
|
|
40
|
+
size?: PriceProps['size'];
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Optional descriptive content for the feature.
|
|
44
|
+
*/
|
|
45
|
+
richText?: RichTextProps;
|
|
46
|
+
/**
|
|
47
|
+
* Optional URL of page that opens when the link in the card is clicked
|
|
48
|
+
*/
|
|
49
|
+
link?: LinkProps;
|
|
50
|
+
/**
|
|
51
|
+
* Optional toggle control used to select or activate the feature.
|
|
52
|
+
* Typically part of a comparison or multi-select flow.
|
|
53
|
+
*/
|
|
54
|
+
toggleButton?: ToggleButtonProps;
|
|
55
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const FeatureCardStyled: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('../../../Card').CardProps, never>> & string & Omit<import('react').FC<import('../../../Card').CardProps>, keyof import('react').Component<any, {}, any>>;
|
|
2
|
+
export declare const FeatureCardUpperContentStyled: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').ClassAttributes<HTMLDivElement> & import('react').HTMLAttributes<HTMLDivElement>, never>> & string;
|
|
3
|
+
export declare const FeatureCardLowerContentStyled: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').ClassAttributes<HTMLDivElement> & import('react').HTMLAttributes<HTMLDivElement>, never>> & string;
|
|
4
|
+
export declare const FeatureCardImageStyled: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('../../../Image').ImageProps, never>> & string & Omit<import('react').FC<import('../../../Image').ImageProps>, keyof import('react').Component<any, {}, any>>;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
3
|
+
import { a as Grid, G as GridItem } from "../../index-Bu-7sSif.js";
|
|
4
|
+
import ToggleButtonProvider from "../ToggleButtonProvider/index.js";
|
|
5
|
+
import { B as Badge } from "../../index-sJClnrzW.js";
|
|
6
|
+
import Heading, { headingAlignCenter } from "../Heading/index.js";
|
|
7
|
+
import "react";
|
|
8
|
+
import "../../index-DbG0QL9D.js";
|
|
9
|
+
import "../../hooks/useLinkComponent/index.js";
|
|
10
|
+
import "../UtilityLink/index.js";
|
|
11
|
+
import "../../hooks/useImageComponent/index.js";
|
|
12
|
+
import Image, { aspectRatio1_1 } from "../Image/index.js";
|
|
13
|
+
import Link from "../Link/index.js";
|
|
14
|
+
import { d as priceSizeMd, P as Price, g as priceAlignCenter, a as priceOrientationVertical } from "../../index-DCXRnuHz.js";
|
|
15
|
+
import { R as RichText } from "../../index-BXt1ptbH.js";
|
|
16
|
+
import ToggleButton from "../ToggleButton/index.js";
|
|
17
|
+
import { f as fontWeightBold } from "../../FontWeight-DEBGHbtO.js";
|
|
18
|
+
import { a as textHeadingMd } from "../../HeadingSize-CfCRn3Lh.js";
|
|
19
|
+
import { s as spacingMd, c as spacingNone } from "../../Spacing-8v6hcO2x.js";
|
|
20
|
+
import styled from "styled-components";
|
|
21
|
+
import Card from "../Card/index.js";
|
|
22
|
+
import { getSpacing } from "../../foundations/token/getSpacing/index.js";
|
|
23
|
+
const FeatureCardStyled = styled(Card).withConfig({
|
|
24
|
+
displayName: "FeatureCardStyled",
|
|
25
|
+
componentId: "sc-1dad94e-0"
|
|
26
|
+
})({
|
|
27
|
+
gap: getSpacing(spacingMd),
|
|
28
|
+
alignItems: "center",
|
|
29
|
+
justifyContent: "space-between"
|
|
30
|
+
});
|
|
31
|
+
const contentCssObject = {
|
|
32
|
+
gap: getSpacing(spacingMd),
|
|
33
|
+
alignItems: "center",
|
|
34
|
+
display: "flex",
|
|
35
|
+
flexDirection: "column",
|
|
36
|
+
width: "100%"
|
|
37
|
+
};
|
|
38
|
+
const FeatureCardUpperContentStyled = styled("div").withConfig({
|
|
39
|
+
displayName: "FeatureCardUpperContentStyled",
|
|
40
|
+
componentId: "sc-1dad94e-1"
|
|
41
|
+
})({
|
|
42
|
+
...contentCssObject
|
|
43
|
+
});
|
|
44
|
+
const FeatureCardLowerContentStyled = styled("div").withConfig({
|
|
45
|
+
displayName: "FeatureCardLowerContentStyled",
|
|
46
|
+
componentId: "sc-1dad94e-2"
|
|
47
|
+
})(contentCssObject);
|
|
48
|
+
const FeatureCardImageStyled = styled(Image).withConfig({
|
|
49
|
+
displayName: "FeatureCardImageStyled",
|
|
50
|
+
componentId: "sc-1dad94e-3"
|
|
51
|
+
})({
|
|
52
|
+
height: "200px"
|
|
53
|
+
});
|
|
54
|
+
const FeatureCard = ({
|
|
55
|
+
featureId,
|
|
56
|
+
image,
|
|
57
|
+
heading,
|
|
58
|
+
badge,
|
|
59
|
+
price,
|
|
60
|
+
richText,
|
|
61
|
+
link,
|
|
62
|
+
toggleButton,
|
|
63
|
+
...props
|
|
64
|
+
}) => {
|
|
65
|
+
const headingId = `heading-${featureId == null ? void 0 : featureId.replace(/\s/g, "")}`;
|
|
66
|
+
const headingProps = {
|
|
67
|
+
...heading,
|
|
68
|
+
id: headingId,
|
|
69
|
+
size: heading.size || textHeadingMd,
|
|
70
|
+
weight: heading.weight || fontWeightBold,
|
|
71
|
+
bottomSpacing: spacingNone,
|
|
72
|
+
align: headingAlignCenter
|
|
73
|
+
};
|
|
74
|
+
const priceProps = {
|
|
75
|
+
...price,
|
|
76
|
+
orientation: priceOrientationVertical,
|
|
77
|
+
align: priceAlignCenter,
|
|
78
|
+
size: price.size || priceSizeMd,
|
|
79
|
+
bottomSpacing: spacingNone
|
|
80
|
+
};
|
|
81
|
+
return /* @__PURE__ */ jsxs(FeatureCardStyled, { ...props, children: [
|
|
82
|
+
/* @__PURE__ */ jsxs(FeatureCardUpperContentStyled, { children: [
|
|
83
|
+
image && /* @__PURE__ */ jsx(FeatureCardImageStyled, { ...image, aspectRatio: aspectRatio1_1 }),
|
|
84
|
+
/* @__PURE__ */ jsx(Heading, { ...headingProps }),
|
|
85
|
+
badge && /* @__PURE__ */ jsx(Badge, { ...badge, bottomSpacing: spacingNone })
|
|
86
|
+
] }),
|
|
87
|
+
/* @__PURE__ */ jsxs(FeatureCardLowerContentStyled, { children: [
|
|
88
|
+
price && /* @__PURE__ */ jsx(Price, { ...priceProps }),
|
|
89
|
+
richText && /* @__PURE__ */ jsx(RichText, { ...richText, bottomSpacing: spacingNone }),
|
|
90
|
+
link && /* @__PURE__ */ jsx(Link, { ...link, bottomSpacing: spacingNone, "aria-describedby": headingId }),
|
|
91
|
+
toggleButton && /* @__PURE__ */ jsx(ToggleButton, { ...toggleButton })
|
|
92
|
+
] })
|
|
93
|
+
] });
|
|
94
|
+
};
|
|
95
|
+
const FeatureCardGroupStyled = styled(Grid).withConfig({
|
|
96
|
+
displayName: "FeatureCardGroupStyled",
|
|
97
|
+
componentId: "sc-12niz1k-0"
|
|
98
|
+
})(({
|
|
99
|
+
gapSpacing = spacingMd
|
|
100
|
+
}) => ({
|
|
101
|
+
gap: getSpacing(gapSpacing)
|
|
102
|
+
}));
|
|
103
|
+
const FeatureCardGroup = ({
|
|
104
|
+
featureCardList,
|
|
105
|
+
toggleButtonProvider,
|
|
106
|
+
gridConfig = {
|
|
107
|
+
sm: 12,
|
|
108
|
+
md: 6,
|
|
109
|
+
lg: 4
|
|
110
|
+
},
|
|
111
|
+
...props
|
|
112
|
+
}) => {
|
|
113
|
+
return /* @__PURE__ */ jsx(ToggleButtonProvider, { ...toggleButtonProvider, children: /* @__PURE__ */ jsx(FeatureCardGroupStyled, { ...props, autoLayout: gridConfig, stretch: true, component: "Grid", children: featureCardList.map((featureCard) => {
|
|
114
|
+
return /* @__PURE__ */ jsx(GridItem, { ...gridConfig, children: /* @__PURE__ */ jsx(FeatureCard, { ...featureCard }) }, featureCard.featureId);
|
|
115
|
+
}) }) });
|
|
116
|
+
};
|
|
117
|
+
export {
|
|
118
|
+
FeatureCardGroup as default
|
|
119
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
import { GridConfig } from '../Grid';
|
|
3
|
+
import { ToggleButtonProviderProps } from '../ToggleButtonProvider';
|
|
4
|
+
import { PatternProps } from '../../foundations/PatternProps';
|
|
5
|
+
import { Spacing } from '../../foundations/types/Spacing';
|
|
6
|
+
import { FeatureCardProps } from './components/FeatureCard/props';
|
|
7
|
+
export interface FeatureCardGroupProps extends PatternProps, HTMLAttributes<HTMLDivElement> {
|
|
8
|
+
/**
|
|
9
|
+
* Pin component's name from string to the concrete name
|
|
10
|
+
*/
|
|
11
|
+
component?: 'FeatureCardGroup';
|
|
12
|
+
/**
|
|
13
|
+
* Config of grid to align Feature Cards
|
|
14
|
+
*/
|
|
15
|
+
gridConfig?: GridConfig;
|
|
16
|
+
/**
|
|
17
|
+
* Spacing between Feature Cards.
|
|
18
|
+
*/
|
|
19
|
+
gapSpacing?: Spacing;
|
|
20
|
+
/**
|
|
21
|
+
* List of feature cards to be rendered in the group.
|
|
22
|
+
* Order matters and defines the visual/layout order.
|
|
23
|
+
*/
|
|
24
|
+
featureCardList: FeatureCardProps[];
|
|
25
|
+
/**
|
|
26
|
+
* Shared toggle state provider for all cards in the group.
|
|
27
|
+
* Ensures toggle buttons behave consistently
|
|
28
|
+
* (e.g. single-select vs multi-select).
|
|
29
|
+
*/
|
|
30
|
+
toggleButtonProvider: ToggleButtonProviderProps;
|
|
31
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { FeatureCardGroupProps } from './props';
|
|
2
|
+
export declare const FeatureCardGroupStyled: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components/dist/types').Substitute<import('../Grid').GridProps, Pick<FeatureCardGroupProps, "gapSpacing">>> & string & Omit<import('react').FC<import('../Grid').GridProps>, keyof import('react').Component<any, {}, any>>;
|
|
@@ -4,7 +4,7 @@ import { useState } from "react";
|
|
|
4
4
|
import Fieldset from "../Fieldset/index.js";
|
|
5
5
|
import { i as iconSizeSm } from "../../IconSize-AJp7xdJi.js";
|
|
6
6
|
import styled from "styled-components";
|
|
7
|
-
import { I as IconLoader } from "../../index
|
|
7
|
+
import { I as IconLoader } from "../../index-B3v10poy.js";
|
|
8
8
|
import { s as screenreaderOnly } from "../../index-C2E3JrhF.js";
|
|
9
9
|
import forcedColors from "../../foundations/media-query/forcedColors/index.js";
|
|
10
10
|
import { getBackgroundColor } from "../../foundations/token/getBackgroundColor/index.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { F as FlexStyled } from "../../styled-
|
|
4
|
-
import { i, h, g, e, d, c, b, f, a } from "../../styled-
|
|
3
|
+
import { F as FlexStyled } from "../../styled-BY19C9EO.js";
|
|
4
|
+
import { i, h, g, e, d, c, b, f, a } from "../../styled-BY19C9EO.js";
|
|
5
5
|
const Flex = ({
|
|
6
6
|
children,
|
|
7
7
|
...props
|
|
@@ -4,7 +4,7 @@ import Body from "../Body/index.js";
|
|
|
4
4
|
import ButtonGroup from "../ButtonGroup/index.js";
|
|
5
5
|
import Heading from "../Heading/index.js";
|
|
6
6
|
import IconSnippet from "../IconSnippet/index.js";
|
|
7
|
-
import { R as RichText } from "../../index-
|
|
7
|
+
import { R as RichText } from "../../index-BXt1ptbH.js";
|
|
8
8
|
import { c as spacingNone } from "../../Spacing-8v6hcO2x.js";
|
|
9
9
|
import styled from "styled-components";
|
|
10
10
|
import { getBottomSpacing } from "../../foundations/token/getBottomSpacing/index.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import { i as iconSizeSm } from "../../IconSize-AJp7xdJi.js";
|
|
4
4
|
import styled from "styled-components";
|
|
5
|
-
import { I as IconLoader } from "../../index
|
|
5
|
+
import { I as IconLoader } from "../../index-B3v10poy.js";
|
|
6
6
|
import forcedColors from "../../foundations/media-query/forcedColors/index.js";
|
|
7
7
|
import { getIconColor } from "../../foundations/token/getIconColor/index.js";
|
|
8
8
|
import { c as colorIconSuccess, a as colorIconCritical } from "../../IconColor-CtC9WUgr.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import HifiIcon from "../HifiIcon/index.js";
|
|
4
|
-
import { I as IconLoader } from "../../index
|
|
4
|
+
import { I as IconLoader } from "../../index-B3v10poy.js";
|
|
5
5
|
const isIconProp = (props) => {
|
|
6
6
|
return props.icon !== void 0;
|
|
7
7
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { I as IconLoader } from "../../index
|
|
3
|
+
import { I as IconLoader } from "../../index-B3v10poy.js";
|
|
4
4
|
import { i as iconSizeSm } from "../../IconSize-AJp7xdJi.js";
|
|
5
5
|
import styled from "styled-components";
|
|
6
6
|
import { s as shadow28 } from "../../shadow-u158mzuN.js";
|
|
@@ -12,7 +12,7 @@ import { getOpacity } from "../../foundations/token/getOpacity/index.js";
|
|
|
12
12
|
import { getSpacing } from "../../foundations/token/getSpacing/index.js";
|
|
13
13
|
import { b as borderRadiusMd, a as borderRadiusFull } from "../../BorderRadius-2LdggXbQ.js";
|
|
14
14
|
import { c as borderWidthSelected } from "../../BorderWidth-BjXpOdM5.js";
|
|
15
|
-
import { b as buttonHeight, p as primaryAppearance } from "../../styled-
|
|
15
|
+
import { b as buttonHeight, p as primaryAppearance } from "../../styled-CepQAcdi.js";
|
|
16
16
|
import { a as opacityDisabled } from "../../Opacity-smkGiwsf.js";
|
|
17
17
|
import { a as spacingXs, s as spacingMd } from "../../Spacing-8v6hcO2x.js";
|
|
18
18
|
import { a as filterProps } from "../../filterProps-CxkibNnG.js";
|
|
@@ -4,12 +4,12 @@ import Body from "../Body/index.js";
|
|
|
4
4
|
import Heading from "../Heading/index.js";
|
|
5
5
|
import InlineLink from "../InlineLink/index.js";
|
|
6
6
|
import Link from "../Link/index.js";
|
|
7
|
-
import { R as RichText } from "../../index-
|
|
7
|
+
import { R as RichText } from "../../index-BXt1ptbH.js";
|
|
8
8
|
import { d as divTagName, c as spanTagName } from "../../tags-Cwgg3Gx2.js";
|
|
9
9
|
import { a as iconSizeLg, f as iconSize3xl, i as iconSizeSm } from "../../IconSize-AJp7xdJi.js";
|
|
10
10
|
import { b as spacingSm, s as spacingMd, c as spacingNone, a as spacingXs } from "../../Spacing-8v6hcO2x.js";
|
|
11
11
|
import styled from "styled-components";
|
|
12
|
-
import { I as IconLoader } from "../../index
|
|
12
|
+
import { I as IconLoader } from "../../index-B3v10poy.js";
|
|
13
13
|
import { getBottomSpacing } from "../../foundations/token/getBottomSpacing/index.js";
|
|
14
14
|
import { getSpacing } from "../../foundations/token/getSpacing/index.js";
|
|
15
15
|
import { a as filterProps } from "../../filterProps-CxkibNnG.js";
|
|
@@ -8,10 +8,10 @@ import { useImageComponent, filterImagePropsToImageComponentProps } from "../../
|
|
|
8
8
|
import { g as getSizesFromGridConfig } from "../../getSizesFromGridConfig-DKOLupyb.js";
|
|
9
9
|
import styled from "styled-components";
|
|
10
10
|
import { getBorderRadius } from "../../foundations/token/getBorderRadius/index.js";
|
|
11
|
-
import { b as borderRadiusMd, c as borderRadiusNone } from "../../BorderRadius-2LdggXbQ.js";
|
|
12
|
-
import { a as filterProps } from "../../filterProps-CxkibNnG.js";
|
|
13
11
|
import { getBottomSpacing } from "../../foundations/token/getBottomSpacing/index.js";
|
|
12
|
+
import { b as borderRadiusMd, c as borderRadiusNone } from "../../BorderRadius-2LdggXbQ.js";
|
|
14
13
|
import { s as spacingMd } from "../../Spacing-8v6hcO2x.js";
|
|
14
|
+
import { a as filterProps } from "../../filterProps-CxkibNnG.js";
|
|
15
15
|
import { i as isObject, h as hasMatchingComponentName } from "../../isObject-BYBrvoVW.js";
|
|
16
16
|
const aspectRatio1_1 = "1/1";
|
|
17
17
|
const aspectRatio3_4 = "3/4";
|
|
@@ -5,15 +5,15 @@ import Button from "../Button/index.js";
|
|
|
5
5
|
import { C as Container } from "../../index-DbG0QL9D.js";
|
|
6
6
|
import Heading, { headingAlignCenter } from "../Heading/index.js";
|
|
7
7
|
import { P as Price, b as priceSizeSm } from "../../index-DCXRnuHz.js";
|
|
8
|
-
import { R as RichText } from "../../index-
|
|
8
|
+
import { R as RichText } from "../../index-BXt1ptbH.js";
|
|
9
9
|
import { b as fontWeightLight } from "../../FontWeight-DEBGHbtO.js";
|
|
10
10
|
import { m as mediumSize } from "../../SizeTypes-Ck_RdzIf.js";
|
|
11
11
|
import { s as spacingMd, b as spacingSm, e as spacingXl, a as spacingXs, f as spacing2Xs, c as spacingNone } from "../../Spacing-8v6hcO2x.js";
|
|
12
12
|
import styled from "styled-components";
|
|
13
13
|
import ArtDirectedImage from "../ArtDirectedImage/index.js";
|
|
14
|
-
import { B as Badge } from "../../index-
|
|
14
|
+
import { B as Badge } from "../../index-sJClnrzW.js";
|
|
15
15
|
import ButtonGroup from "../ButtonGroup/index.js";
|
|
16
|
-
import { a as flexOrientationVertical } from "../../styled-
|
|
16
|
+
import { a as flexOrientationVertical } from "../../styled-BY19C9EO.js";
|
|
17
17
|
import { a as Grid, G as GridItem } from "../../index-Bu-7sSif.js";
|
|
18
18
|
import viewport from "../../foundations/media-query/viewport/index.js";
|
|
19
19
|
import { getBackgroundColor } from "../../foundations/token/getBackgroundColor/index.js";
|
|
@@ -3,7 +3,7 @@ import { jsx, Fragment } from "react/jsx-runtime";
|
|
|
3
3
|
import Body from "../Body/index.js";
|
|
4
4
|
import Heading from "../Heading/index.js";
|
|
5
5
|
import IconSnippet, { iconSnippetAlignCenter } from "../IconSnippet/index.js";
|
|
6
|
-
import { R as RichText } from "../../index-
|
|
6
|
+
import { R as RichText } from "../../index-BXt1ptbH.js";
|
|
7
7
|
import styled from "styled-components";
|
|
8
8
|
const LegendStyled = styled.legend.withConfig({
|
|
9
9
|
displayName: "LegendStyled",
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { L as LinkAsButton, p as primaryAppearance, a as LinkStyled, g as getLinkIcon } from "../../index-
|
|
3
|
+
import { L as LinkAsButton, p as primaryAppearance, a as LinkStyled, g as getLinkIcon } from "../../index-r-dbrZxA.js";
|
|
4
4
|
import { useLinkComponent } from "../../hooks/useLinkComponent/index.js";
|
|
5
5
|
import { f as filterPropsForUnstyledComponent } from "../../filterProps-CxkibNnG.js";
|
|
6
6
|
import { s as sanitizeLinkProps } from "../../sanitizeLinkProps-D2Kkovy1.js";
|
|
7
|
-
import { b as iconNames } from "../../index
|
|
8
|
-
import { l as leftPosition, r as rightPosition } from "../../styled-
|
|
7
|
+
import { b as iconNames } from "../../index-B3v10poy.js";
|
|
8
|
+
import { l as leftPosition, r as rightPosition } from "../../styled-CepQAcdi.js";
|
|
9
9
|
import { i as isObject, h as hasMatchingComponentName } from "../../isObject-BYBrvoVW.js";
|
|
10
10
|
const validateLinkProps = (props) => {
|
|
11
11
|
if (!isObject(props)) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
3
|
-
import { B as Badge } from "../../index-
|
|
4
|
-
import { I as IconLoader } from "../../index
|
|
3
|
+
import { B as Badge } from "../../index-sJClnrzW.js";
|
|
4
|
+
import { I as IconLoader } from "../../index-B3v10poy.js";
|
|
5
5
|
import { c as spanTagName } from "../../tags-Cwgg3Gx2.js";
|
|
6
6
|
import { c as iconSizeMd } from "../../IconSize-AJp7xdJi.js";
|
|
7
7
|
import { s as smallSize } from "../../SizeTypes-Ck_RdzIf.js";
|
|
@@ -6,7 +6,7 @@ import "../FlexItem/index.js";
|
|
|
6
6
|
import "../Heading/index.js";
|
|
7
7
|
import "../Image/index.js";
|
|
8
8
|
import "../Link/index.js";
|
|
9
|
-
import "../../index-
|
|
9
|
+
import "../../index-BXt1ptbH.js";
|
|
10
10
|
import "../RichtTextContentful/index.js";
|
|
11
11
|
import "../YoutubeVideo/index.js";
|
|
12
12
|
import "../../tags-Cwgg3Gx2.js";
|
|
@@ -14,8 +14,8 @@ import "../../FontWeight-DEBGHbtO.js";
|
|
|
14
14
|
import "../../HeadingSize-CfCRn3Lh.js";
|
|
15
15
|
import "../../Spacing-8v6hcO2x.js";
|
|
16
16
|
import "../../index-DKCzYjXw.js";
|
|
17
|
-
import { M, i, a, b, m, c, v } from "../../index-
|
|
18
|
-
import "../../styled-
|
|
17
|
+
import { M, i, a, b, m, c, v } from "../../index-CflWbzuv.js";
|
|
18
|
+
import "../../styled-BY19C9EO.js";
|
|
19
19
|
export {
|
|
20
20
|
M as default,
|
|
21
21
|
i as isMediaTextProps,
|
|
@@ -5,9 +5,9 @@ import Button from "../Button/index.js";
|
|
|
5
5
|
import ButtonGroup from "../ButtonGroup/index.js";
|
|
6
6
|
import Flex from "../Flex/index.js";
|
|
7
7
|
import Heading from "../Heading/index.js";
|
|
8
|
-
import { I as IconLoader } from "../../index
|
|
8
|
+
import { I as IconLoader } from "../../index-B3v10poy.js";
|
|
9
9
|
import Link from "../Link/index.js";
|
|
10
|
-
import { R as RichText } from "../../index-
|
|
10
|
+
import { R as RichText } from "../../index-BXt1ptbH.js";
|
|
11
11
|
import { i as iconSizeSm } from "../../IconSize-AJp7xdJi.js";
|
|
12
12
|
import { getBorderColor } from "../../foundations/token/getBorderColor/index.js";
|
|
13
13
|
import { getObjectColor } from "../../foundations/token/getObjectColor/index.js";
|