@windstream/react-shared-components 0.1.36 → 0.1.38
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/contentful/index.esm.js +2 -4
- package/dist/contentful/index.esm.js.map +1 -1
- package/dist/contentful/index.js +2 -4
- package/dist/contentful/index.js.map +1 -1
- package/dist/core.d.ts +1 -1
- package/dist/index.esm.js +5 -7
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +5 -7
- package/dist/index.js.map +1 -1
- package/dist/next/index.esm.js +1 -3
- package/dist/next/index.esm.js.map +1 -1
- package/dist/next/index.js +1 -3
- package/dist/next/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utils/index.d.ts +0 -1
- package/package.json +1 -1
- package/src/components/link/index.tsx +109 -109
- package/src/contentful/blocks/accordion/Accordion.stories.tsx +29 -29
- package/src/contentful/blocks/accordion/types.ts +17 -17
- package/src/contentful/blocks/breadcrumbs/index.tsx +51 -51
- package/src/contentful/blocks/breadcrumbs/types.ts +5 -5
- package/src/contentful/blocks/cards/simple-card/types.ts +28 -28
- package/src/contentful/blocks/comparison-table/index.tsx +27 -27
- package/src/contentful/blocks/comparison-table/types.ts +6 -6
- package/src/contentful/blocks/cookiebanner/index.tsx +1 -1
- package/src/contentful/blocks/cta-callout/index.tsx +32 -23
- package/src/contentful/blocks/find-kinetic/FindKinetic.stories.tsx +23 -23
- package/src/contentful/blocks/find-kinetic/types.ts +19 -19
- package/src/contentful/blocks/footer/types.ts +13 -13
- package/src/contentful/blocks/image-promo-bar/index.tsx +2 -2
- package/src/contentful/blocks/primary-hero/index.tsx +2 -2
- package/src/contentful/blocks/search-block/types.ts +15 -15
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
|
|
3
|
-
export type AccordionProps = {
|
|
4
|
-
title: string;
|
|
5
|
-
enableHeading?: boolean;
|
|
6
|
-
background?: "blue" | "green" | "navy" | "purple" | "white" | "yellow";
|
|
7
|
-
items: { title: string; description: React.ReactNode }[];
|
|
8
|
-
maxWidth?: boolean;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export type ThemeKey =
|
|
12
|
-
| "blue"
|
|
13
|
-
| "green"
|
|
14
|
-
| "yellow"
|
|
15
|
-
| "purple"
|
|
16
|
-
| "white"
|
|
17
|
-
| "navy";
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
export type AccordionProps = {
|
|
4
|
+
title: string;
|
|
5
|
+
enableHeading?: boolean;
|
|
6
|
+
background?: "blue" | "green" | "navy" | "purple" | "white" | "yellow";
|
|
7
|
+
items: { title: string; description: React.ReactNode }[];
|
|
8
|
+
maxWidth?: boolean;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export type ThemeKey =
|
|
12
|
+
| "blue"
|
|
13
|
+
| "green"
|
|
14
|
+
| "yellow"
|
|
15
|
+
| "purple"
|
|
16
|
+
| "white"
|
|
17
|
+
| "navy";
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import Button from "../button";
|
|
3
|
-
import { BreadcrumbNavigationProps } from "./types";
|
|
4
|
-
|
|
5
|
-
import { MaterialIcon } from "@shared/components/material-icon";
|
|
6
|
-
import { Text } from "@shared/components/text";
|
|
7
|
-
|
|
8
|
-
export const BreadcrumbNavigation: React.FC<
|
|
9
|
-
BreadcrumbNavigationProps
|
|
10
|
-
> = props => {
|
|
11
|
-
const { links = [], textColor = "dark", maxWidth = true } = props;
|
|
12
|
-
const color =
|
|
13
|
-
textColor === "dark"
|
|
14
|
-
? "text-white xl:text-text"
|
|
15
|
-
: "text-text xl:text-white";
|
|
16
|
-
if (!links.length) return null;
|
|
17
|
-
return (
|
|
18
|
-
<nav
|
|
19
|
-
aria-label="Breadcrumb"
|
|
20
|
-
className={`${maxWidth ? "mx-5 max-w-120 xl:mx-auto" : "mx-auto"} relative`}
|
|
21
|
-
>
|
|
22
|
-
<ol
|
|
23
|
-
className={
|
|
24
|
-
"relative right-0 z-10 mt-4 flex w-full flex-nowrap items-center gap-2 xl:absolute xl:flex-wrap"
|
|
25
|
-
}
|
|
26
|
-
>
|
|
27
|
-
{links.map((link, index) => {
|
|
28
|
-
const isLast = index === links.length - 1;
|
|
29
|
-
return !isLast ? (
|
|
30
|
-
<li key={index} className="flex flex-none items-center">
|
|
31
|
-
<Button
|
|
32
|
-
{...link}
|
|
33
|
-
linkClassName={`label3 mr-2 whitespace-nowrap ${color}`}
|
|
34
|
-
linkVariant="unstyled"
|
|
35
|
-
/>
|
|
36
|
-
<MaterialIcon name="chevron_right" className={`${color} `} />
|
|
37
|
-
</li>
|
|
38
|
-
) : (
|
|
39
|
-
<li key={index} className="flex min-w-0 items-center">
|
|
40
|
-
<Text as="span" className={`body3 mr-2 break-words ${color}`}>
|
|
41
|
-
{link.buttonLabel}
|
|
42
|
-
</Text>
|
|
43
|
-
</li>
|
|
44
|
-
);
|
|
45
|
-
})}
|
|
46
|
-
</ol>
|
|
47
|
-
</nav>
|
|
48
|
-
);
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
export default BreadcrumbNavigation;
|
|
1
|
+
import React from "react";
|
|
2
|
+
import Button from "../button";
|
|
3
|
+
import { BreadcrumbNavigationProps } from "./types";
|
|
4
|
+
|
|
5
|
+
import { MaterialIcon } from "@shared/components/material-icon";
|
|
6
|
+
import { Text } from "@shared/components/text";
|
|
7
|
+
|
|
8
|
+
export const BreadcrumbNavigation: React.FC<
|
|
9
|
+
BreadcrumbNavigationProps
|
|
10
|
+
> = props => {
|
|
11
|
+
const { links = [], textColor = "dark", maxWidth = true } = props;
|
|
12
|
+
const color =
|
|
13
|
+
textColor === "dark"
|
|
14
|
+
? "text-white xl:text-text"
|
|
15
|
+
: "text-text xl:text-white";
|
|
16
|
+
if (!links.length) return null;
|
|
17
|
+
return (
|
|
18
|
+
<nav
|
|
19
|
+
aria-label="Breadcrumb"
|
|
20
|
+
className={`${maxWidth ? "mx-5 max-w-120 xl:mx-auto" : "mx-auto"} relative`}
|
|
21
|
+
>
|
|
22
|
+
<ol
|
|
23
|
+
className={
|
|
24
|
+
"relative right-0 z-10 mt-4 flex w-full flex-nowrap items-center gap-2 xl:absolute xl:flex-wrap"
|
|
25
|
+
}
|
|
26
|
+
>
|
|
27
|
+
{links.map((link, index) => {
|
|
28
|
+
const isLast = index === links.length - 1;
|
|
29
|
+
return !isLast ? (
|
|
30
|
+
<li key={index} className="flex flex-none items-center">
|
|
31
|
+
<Button
|
|
32
|
+
{...link}
|
|
33
|
+
linkClassName={`label3 mr-2 whitespace-nowrap ${color}`}
|
|
34
|
+
linkVariant="unstyled"
|
|
35
|
+
/>
|
|
36
|
+
<MaterialIcon name="chevron_right" className={`${color} `} />
|
|
37
|
+
</li>
|
|
38
|
+
) : (
|
|
39
|
+
<li key={index} className="flex min-w-0 items-center">
|
|
40
|
+
<Text as="span" className={`body3 mr-2 break-words ${color}`}>
|
|
41
|
+
{link.buttonLabel}
|
|
42
|
+
</Text>
|
|
43
|
+
</li>
|
|
44
|
+
);
|
|
45
|
+
})}
|
|
46
|
+
</ol>
|
|
47
|
+
</nav>
|
|
48
|
+
);
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export default BreadcrumbNavigation;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export type BreadcrumbNavigationProps = {
|
|
2
|
-
links?: Array<any>;
|
|
3
|
-
textColor?: "dark" | "light";
|
|
4
|
-
maxWidth?: boolean;
|
|
5
|
-
};
|
|
1
|
+
export type BreadcrumbNavigationProps = {
|
|
2
|
+
links?: Array<any>;
|
|
3
|
+
textColor?: "dark" | "light";
|
|
4
|
+
maxWidth?: boolean;
|
|
5
|
+
};
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
2
|
-
import { ButtonProps } from "../../button/types";
|
|
3
|
-
|
|
4
|
-
export type Item = {
|
|
5
|
-
title?: string;
|
|
6
|
-
image?: string;
|
|
7
|
-
imageAlignment?: "left" | "right" | "center";
|
|
8
|
-
imageView?: "standard" | "icon" | "full";
|
|
9
|
-
cta?: ButtonProps;
|
|
10
|
-
ctaAlignment?: "left" | "right" | "center";
|
|
11
|
-
body?: ReactNode;
|
|
12
|
-
backgroundColor?: string;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export type SimpleCardProps = {
|
|
16
|
-
card: Item;
|
|
17
|
-
lgWidth?: string;
|
|
18
|
-
mdWidth?: string;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
export const backgroundColorMap: Record<string, string> = {
|
|
22
|
-
blue: "bg-fill-brand",
|
|
23
|
-
green: "bg-fill-brand-accent",
|
|
24
|
-
navy: "bg-fill-inverse",
|
|
25
|
-
purple: "bg-fill-brand-tertiary",
|
|
26
|
-
white: "bg-white",
|
|
27
|
-
yellow: "bg-[#F5FF1E]",
|
|
28
|
-
};
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { ButtonProps } from "../../button/types";
|
|
3
|
+
|
|
4
|
+
export type Item = {
|
|
5
|
+
title?: string;
|
|
6
|
+
image?: string;
|
|
7
|
+
imageAlignment?: "left" | "right" | "center";
|
|
8
|
+
imageView?: "standard" | "icon" | "full";
|
|
9
|
+
cta?: ButtonProps;
|
|
10
|
+
ctaAlignment?: "left" | "right" | "center";
|
|
11
|
+
body?: ReactNode;
|
|
12
|
+
backgroundColor?: string;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export type SimpleCardProps = {
|
|
16
|
+
card: Item;
|
|
17
|
+
lgWidth?: string;
|
|
18
|
+
mdWidth?: string;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export const backgroundColorMap: Record<string, string> = {
|
|
22
|
+
blue: "bg-fill-brand",
|
|
23
|
+
green: "bg-fill-brand-accent",
|
|
24
|
+
navy: "bg-fill-inverse",
|
|
25
|
+
purple: "bg-fill-brand-tertiary",
|
|
26
|
+
white: "bg-white",
|
|
27
|
+
yellow: "bg-[#F5FF1E]",
|
|
28
|
+
};
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { ComparisonTableProps } from "./types";
|
|
3
|
-
|
|
4
|
-
import { Text } from "@shared/components/text";
|
|
5
|
-
|
|
6
|
-
export const ComparisonTable: React.FC<ComparisonTableProps> = ({
|
|
7
|
-
title,
|
|
8
|
-
disclaimer,
|
|
9
|
-
table,
|
|
10
|
-
maxWidth = true,
|
|
11
|
-
}) => {
|
|
12
|
-
return (
|
|
13
|
-
<div className="component-container">
|
|
14
|
-
<div
|
|
15
|
-
className={`mx-5 mb-5 mt-8 lg:mt-10 ${maxWidth ? "max-w-120 xl:mx-auto" : ""}`}
|
|
16
|
-
>
|
|
17
|
-
<Text as="h2" className="heading2 lg:heading1 lg:text-center">
|
|
18
|
-
{title}
|
|
19
|
-
</Text>
|
|
20
|
-
<div className="comparison-table-container mt-20 xl:mt-10">{table}</div>
|
|
21
|
-
<Text as="div" className="micro mt-8 text-center">
|
|
22
|
-
{disclaimer}
|
|
23
|
-
</Text>
|
|
24
|
-
</div>
|
|
25
|
-
</div>
|
|
26
|
-
);
|
|
27
|
-
};
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ComparisonTableProps } from "./types";
|
|
3
|
+
|
|
4
|
+
import { Text } from "@shared/components/text";
|
|
5
|
+
|
|
6
|
+
export const ComparisonTable: React.FC<ComparisonTableProps> = ({
|
|
7
|
+
title,
|
|
8
|
+
disclaimer,
|
|
9
|
+
table,
|
|
10
|
+
maxWidth = true,
|
|
11
|
+
}) => {
|
|
12
|
+
return (
|
|
13
|
+
<div className="component-container">
|
|
14
|
+
<div
|
|
15
|
+
className={`mx-5 mb-5 mt-8 lg:mt-10 ${maxWidth ? "max-w-120 xl:mx-auto" : ""}`}
|
|
16
|
+
>
|
|
17
|
+
<Text as="h2" className="heading2 lg:heading1 lg:text-center">
|
|
18
|
+
{title}
|
|
19
|
+
</Text>
|
|
20
|
+
<div className="comparison-table-container mt-20 xl:mt-10">{table}</div>
|
|
21
|
+
<Text as="div" className="micro mt-8 text-center">
|
|
22
|
+
{disclaimer}
|
|
23
|
+
</Text>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
);
|
|
27
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export type ComparisonTableProps = {
|
|
2
|
-
title?: string;
|
|
3
|
-
disclaimer?: React.ReactNode;
|
|
4
|
-
table: React.ReactNode;
|
|
5
|
-
maxWidth?: boolean;
|
|
6
|
-
};
|
|
1
|
+
export type ComparisonTableProps = {
|
|
2
|
+
title?: string;
|
|
3
|
+
disclaimer?: React.ReactNode;
|
|
4
|
+
table: React.ReactNode;
|
|
5
|
+
maxWidth?: boolean;
|
|
6
|
+
};
|
|
@@ -93,7 +93,7 @@ export default function CookieBanner({
|
|
|
93
93
|
const handleClose = () => {
|
|
94
94
|
const expirationDate = new Date(Date.now() + 43200 * 60 * 1000);
|
|
95
95
|
setIsBannerVisible(false);
|
|
96
|
-
setCookie("cookieBannerClosed",
|
|
96
|
+
setCookie("cookieBannerClosed", true, {
|
|
97
97
|
expires: expirationDate,
|
|
98
98
|
});
|
|
99
99
|
};
|
|
@@ -19,38 +19,47 @@ export const CtaCallout: React.FC<CtaCalloutProps> = ({
|
|
|
19
19
|
renderCheckPlans,
|
|
20
20
|
}) => {
|
|
21
21
|
const bgColorClasses: Record<ThemeKey, string> = {
|
|
22
|
-
|
|
23
|
-
green: "bg-
|
|
24
|
-
|
|
25
|
-
purple: "bg-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
navy: "bg-bg-fill-inverse",
|
|
23
|
+
green: "bg-bg-fill-success",
|
|
24
|
+
blue: "bg-bg-fill-brand",
|
|
25
|
+
purple: "bg-bg-fill-brand-tertiary",
|
|
26
|
+
yellow: "bg-bg-fill-brand-accent",
|
|
27
|
+
white: "bg-bg",
|
|
28
28
|
};
|
|
29
29
|
return (
|
|
30
|
-
<div className={`${bgColorClasses[background]} component-container`}>
|
|
30
|
+
<div className={`${bgColorClasses[background]} component-container px-5 py-16 lg:px-13 lg:py-24`}>
|
|
31
31
|
<div
|
|
32
|
-
className={`${maxWidth ? "mx-auto max-w-120" : ""} color-${color} flex flex-col ${color == "dark" ? "text-text" : "text-
|
|
32
|
+
className={`${maxWidth ? "mx-auto max-w-120" : ""} color-${color} flex flex-col ${color == "dark" ? "text-text" : "text-text-inverse"}`}
|
|
33
33
|
>
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
34
|
+
{title && (
|
|
35
|
+
<Text
|
|
36
|
+
as={enableHeading ? "h1" : "h2"}
|
|
37
|
+
className={`heading2 lg:heading1 text-${contentAlignment}`}
|
|
38
|
+
>
|
|
39
|
+
{title}
|
|
40
|
+
</Text>
|
|
41
|
+
)}
|
|
42
|
+
{subTitle && (
|
|
43
|
+
<Text
|
|
44
|
+
as="h3"
|
|
45
|
+
className={`subheading3 pt-2 lg:subheading1 lg:pt-3 text-${contentAlignment}`}
|
|
46
|
+
>
|
|
47
|
+
{subTitle}
|
|
48
|
+
</Text>
|
|
49
|
+
)}
|
|
50
|
+
{description && (
|
|
51
|
+
<div
|
|
52
|
+
className={`pt-2 text-body1 lg:pt-3 text-${descriptionAlignment}`}
|
|
53
|
+
>
|
|
54
|
+
{description}
|
|
55
|
+
</div>
|
|
56
|
+
)}
|
|
49
57
|
<div className="flex justify-center pt-5 lg:pt-14">
|
|
50
58
|
<Button
|
|
51
59
|
{...button}
|
|
52
60
|
renderCheckPlans={renderCheckPlans}
|
|
53
61
|
onModalButtonClick={onModalButtonClick}
|
|
62
|
+
size={{ base: "large" }}
|
|
54
63
|
/>
|
|
55
64
|
</div>
|
|
56
65
|
</div>
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { FindKinetic } from "./index";
|
|
2
|
-
|
|
3
|
-
import { DocsPage } from "@shared/stories/DocsTemplate";
|
|
4
|
-
import type { Meta, StoryObj } from "@storybook/react";
|
|
5
|
-
|
|
6
|
-
const meta: Meta<typeof FindKinetic> = {
|
|
7
|
-
title: "Contentful Blocks/FindKinetic",
|
|
8
|
-
component: FindKinetic,
|
|
9
|
-
tags: ["autodocs"],
|
|
10
|
-
parameters: {
|
|
11
|
-
layout: "centered",
|
|
12
|
-
docs: {
|
|
13
|
-
page: DocsPage,
|
|
14
|
-
description: {
|
|
15
|
-
component: "Contentful FindKinetic block.",
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
},
|
|
19
|
-
args: {},
|
|
20
|
-
};
|
|
21
|
-
export default meta;
|
|
22
|
-
type Story = StoryObj<typeof meta>;
|
|
23
|
-
export const Default: Story = {};
|
|
1
|
+
import { FindKinetic } from "./index";
|
|
2
|
+
|
|
3
|
+
import { DocsPage } from "@shared/stories/DocsTemplate";
|
|
4
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
5
|
+
|
|
6
|
+
const meta: Meta<typeof FindKinetic> = {
|
|
7
|
+
title: "Contentful Blocks/FindKinetic",
|
|
8
|
+
component: FindKinetic,
|
|
9
|
+
tags: ["autodocs"],
|
|
10
|
+
parameters: {
|
|
11
|
+
layout: "centered",
|
|
12
|
+
docs: {
|
|
13
|
+
page: DocsPage,
|
|
14
|
+
description: {
|
|
15
|
+
component: "Contentful FindKinetic block.",
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
args: {},
|
|
20
|
+
};
|
|
21
|
+
export default meta;
|
|
22
|
+
type Story = StoryObj<typeof meta>;
|
|
23
|
+
export const Default: Story = {};
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
export type FindKineticProps = {
|
|
2
|
-
title?: string;
|
|
3
|
-
enableHeading?: boolean;
|
|
4
|
-
subTitle?: string;
|
|
5
|
-
description?: string;
|
|
6
|
-
background?: "blue" | "green" | "navy" | "purple" | "white" | "yellow";
|
|
7
|
-
image?: string;
|
|
8
|
-
list?: { name: string; code: string }[];
|
|
9
|
-
maxWidth?: boolean;
|
|
10
|
-
color?: "dark" | "light";
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
export type ThemeKey =
|
|
14
|
-
| "blue"
|
|
15
|
-
| "green"
|
|
16
|
-
| "yellow"
|
|
17
|
-
| "purple"
|
|
18
|
-
| "white"
|
|
19
|
-
| "navy";
|
|
1
|
+
export type FindKineticProps = {
|
|
2
|
+
title?: string;
|
|
3
|
+
enableHeading?: boolean;
|
|
4
|
+
subTitle?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
background?: "blue" | "green" | "navy" | "purple" | "white" | "yellow";
|
|
7
|
+
image?: string;
|
|
8
|
+
list?: { name: string; code: string }[];
|
|
9
|
+
maxWidth?: boolean;
|
|
10
|
+
color?: "dark" | "light";
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export type ThemeKey =
|
|
14
|
+
| "blue"
|
|
15
|
+
| "green"
|
|
16
|
+
| "yellow"
|
|
17
|
+
| "purple"
|
|
18
|
+
| "white"
|
|
19
|
+
| "navy";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
|
|
3
|
-
export type FooterProps = {
|
|
4
|
-
body: React.ReactNode;
|
|
5
|
-
links?: Array<any>;
|
|
6
|
-
bottomLinks?: Array<any>;
|
|
7
|
-
copyrights?: React.ReactNode;
|
|
8
|
-
terms?: string;
|
|
9
|
-
maxWidth?: boolean;
|
|
10
|
-
onClick?: (
|
|
11
|
-
event: React.MouseEvent<HTMLAnchorElement | HTMLButtonElement>
|
|
12
|
-
) => void;
|
|
13
|
-
};
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
export type FooterProps = {
|
|
4
|
+
body: React.ReactNode;
|
|
5
|
+
links?: Array<any>;
|
|
6
|
+
bottomLinks?: Array<any>;
|
|
7
|
+
copyrights?: React.ReactNode;
|
|
8
|
+
terms?: string;
|
|
9
|
+
maxWidth?: boolean;
|
|
10
|
+
onClick?: (
|
|
11
|
+
event: React.MouseEvent<HTMLAnchorElement | HTMLButtonElement>
|
|
12
|
+
) => void;
|
|
13
|
+
};
|
|
@@ -63,7 +63,7 @@ export const ImagePromoBar: React.FC<ImagePromoBarProps> = ({
|
|
|
63
63
|
return (
|
|
64
64
|
<div className="component-container">
|
|
65
65
|
<div
|
|
66
|
-
className={`image-promo-bar-content ${maxWidth ? "max-w-120 lg:mx-auto" : ""} mx-5 my-16
|
|
66
|
+
className={`image-promo-bar-content ${maxWidth ? "max-w-120 lg:mx-auto" : ""} mx-5 my-16`}
|
|
67
67
|
>
|
|
68
68
|
<div
|
|
69
69
|
className={`flex shrink-0 flex-col items-center gap-8 lg:gap-10 xl:gap-[126px] lg:items-stretch ${mediaPosition ? "lg:flex-row-reverse" : "lg:flex-row"}`}
|
|
@@ -159,7 +159,7 @@ export const ImagePromoBar: React.FC<ImagePromoBarProps> = ({
|
|
|
159
159
|
<aside className="flex w-full shrink-0 items-center justify-center lg:w-auto">
|
|
160
160
|
{/* Media Section */}
|
|
161
161
|
{image && (
|
|
162
|
-
<div className="relative w-[334px] h-[334px] md:w-[486px] md:h-[
|
|
162
|
+
<div className="relative w-[334px] h-[334px] md:w-[486px] md:h-[486px] rounded-image overflow-hidden">
|
|
163
163
|
<NextImage
|
|
164
164
|
src={image}
|
|
165
165
|
alt="section-image"
|
|
@@ -84,7 +84,7 @@ export const PrimaryHero: React.FC<PrimaryHeroProps> = props => {
|
|
|
84
84
|
{/* checklist */}
|
|
85
85
|
{checklist && (
|
|
86
86
|
<Checklist
|
|
87
|
-
listItemClassName="text-white
|
|
87
|
+
listItemClassName="text-white text-left"
|
|
88
88
|
items={checklist.map(item => item.title)}
|
|
89
89
|
/>
|
|
90
90
|
)}
|
|
@@ -93,7 +93,7 @@ export const PrimaryHero: React.FC<PrimaryHeroProps> = props => {
|
|
|
93
93
|
<div className="flex flex-col gap-3">
|
|
94
94
|
{/* desktop CTA */}
|
|
95
95
|
{primaryCta1 && (
|
|
96
|
-
<div className={cx("
|
|
96
|
+
<div className={cx("flex justify-center md:flex-col md:items-start [&_a]:whitespace-nowrap [&_button]:whitespace-nowrap")}>
|
|
97
97
|
<Button
|
|
98
98
|
{...primaryCta1}
|
|
99
99
|
renderCheckPlans={renderCheckPlans}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
|
|
3
|
-
export type SearchBlockProps = {
|
|
4
|
-
anchorId?: string;
|
|
5
|
-
title?: string;
|
|
6
|
-
subTitle?: string;
|
|
7
|
-
searchDescription?: string;
|
|
8
|
-
searchInputPlaceholder?: string;
|
|
9
|
-
caption?: React.ReactNode;
|
|
10
|
-
basicCaption?: React.ReactNode;
|
|
11
|
-
enableHeading?: boolean;
|
|
12
|
-
backgroundColor: "supporting" | "white" | "brand";
|
|
13
|
-
color: "light" | "dark";
|
|
14
|
-
onSubmit?: (values: { searchText: string }) => void;
|
|
15
|
-
};
|
|
1
|
+
import React from "react";
|
|
2
|
+
|
|
3
|
+
export type SearchBlockProps = {
|
|
4
|
+
anchorId?: string;
|
|
5
|
+
title?: string;
|
|
6
|
+
subTitle?: string;
|
|
7
|
+
searchDescription?: string;
|
|
8
|
+
searchInputPlaceholder?: string;
|
|
9
|
+
caption?: React.ReactNode;
|
|
10
|
+
basicCaption?: React.ReactNode;
|
|
11
|
+
enableHeading?: boolean;
|
|
12
|
+
backgroundColor: "supporting" | "white" | "brand";
|
|
13
|
+
color: "light" | "dark";
|
|
14
|
+
onSubmit?: (values: { searchText: string }) => void;
|
|
15
|
+
};
|