@windstream/react-shared-components 0.1.71 → 0.1.73
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.d.ts +104 -28
- package/dist/contentful/index.esm.js +2 -2
- package/dist/contentful/index.esm.js.map +1 -1
- package/dist/contentful/index.js +2 -2
- package/dist/contentful/index.js.map +1 -1
- package/dist/core.d.ts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/next/index.esm.js.map +1 -1
- package/dist/next/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utils/index.d.ts +12 -1
- package/dist/utils/index.esm.js +1 -1
- package/dist/utils/index.esm.js.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/next-image/index.tsx +3 -1
- package/src/contentful/blocks/accordion/Accordion.stories.mocks.tsx +8 -8
- package/src/contentful/blocks/accordion/Accordion.stories.tsx +5 -13
- package/src/contentful/blocks/anchored-bottom-banner/index.tsx +114 -3
- package/src/contentful/blocks/anchored-bottom-banner/types.ts +4 -1
- package/src/contentful/blocks/callout/index.tsx +201 -37
- package/src/contentful/blocks/callout/types.ts +56 -3
- package/src/contentful/blocks/cards/floating-image-card/index.tsx +119 -0
- package/src/contentful/blocks/cards/floating-image-card/types.ts +30 -0
- package/src/contentful/blocks/cards/full-image-card/index.tsx +130 -0
- package/src/contentful/blocks/cards/full-image-card/types.ts +29 -0
- package/src/contentful/blocks/cards/simple-card/index.tsx +294 -58
- package/src/contentful/blocks/cards/simple-card/types.ts +47 -4
- package/src/contentful/blocks/comparison-table/index.tsx +3 -1
- package/src/contentful/blocks/footer/Footer.stories.tsx +145 -32
- package/src/hooks/contentful/use-contentful-rich-text.tsx +5 -3
- package/src/utils/index.ts +3 -0
- package/src/utils/speed-card-bg.ts +24 -0
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/utils/cx.ts","../../src/utils/cookie.ts","../../src/types/utm.ts","../../src/utils/contentful/to-document.ts","../../src/hooks/contentful/use-contentful-rich-text.tsx","../../src/hooks/contentful/use-processed-check-list.ts","../../src/utils/utm.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["twMerge","extendTailwindMerge","extend","classGroups","UTM_COOKIE_KEY","DEFAULT_DOMAIN","getCookie","key","window","encryptedValue","Cookies","get","Base64","decode","UTM_PARAM_NAMES","isDocument","v","toDocument","json","defaultOptions","renderMark","MARKS","BOLD","text","_jsx","className","children","ITALIC","UNDERLINE","CODE","renderNode","BLOCKS","PARAGRAPH","_node","HEADING_1","node","Text","as","HEADING_2","HEADING_3","HEADING_4","HEADING_5","HEADING_6","QUOTE","UL_LIST","OL_LIST","LIST_ITEM","INLINES","HYPERLINK","url","_a","data","uri","external","test","href","target","undefined","rel","EMBEDDED_ASSET","fields","file","_b","alt","title","description","src","startsWith","style","maxWidth","EMBEDDED_ENTRY","entry","_d","sys","contentType","id","_jsxs","border","padding","borderRadius","body","display","alignItems","gap","backgroundColor","fontSize","_f","_e","renderContentfulRichText","doc","linkClassName","options","Array","isArray","content","merged","shouldOpenBlank","Link","variant","documentToReactComponents","label1BoldOptions","createElement","currentSearch","currentParams","URLSearchParams","utmSet","Set","stripParams","basePath","targetParams","URL","origin","pathname","searchParams","path","query","split","forEach","value","has","toLowerCase","set","queryString","toString","existing","incoming","every","utm_content","utm_term","hasNewContent","hasNewTerm","val","clsx","utms","campaign","utm_campaign","name","utm_source","source","utm_medium","medium","term","utm_campaign_id","campaign_id","utm_adgroup_id","adgroup_id","gclid","fbclid","msclkid","Object","keys","length","document","referrer","referrerHost","hostname","includes","JSON","parse","raw","decoded","location","search","found","param","domain","remove","links","_Fragment","TABLE","TABLE_ROW","TABLE_HEADER_CELL","isScrollable","parent","TABLE_CELL","rawText","_c","trim","MaterialIcon","color","fill","entryId","entries","inline","find","e","__typename","items","list","map","item","checkListTitle","Checklist","listIconName","listItemClassName","stringValue","stringify","encode","encoded","sameSite","useMemo","checklistData","titlesOnly","richTextOptions","richTextClassName","rawItems","iconUrl","icon","anchorId"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/utils/cx.ts","../../src/utils/cookie.ts","../../src/types/utm.ts","../../src/utils/contentful/to-document.ts","../../src/hooks/contentful/use-contentful-rich-text.tsx","../../src/hooks/contentful/use-processed-check-list.ts","../../src/utils/speed-card-bg.ts","../../src/utils/utm.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["twMerge","extendTailwindMerge","extend","classGroups","UTM_COOKIE_KEY","DEFAULT_DOMAIN","getCookie","key","window","encryptedValue","Cookies","get","Base64","decode","UTM_PARAM_NAMES","isDocument","v","toDocument","json","defaultOptions","renderMark","MARKS","BOLD","text","_jsx","className","children","ITALIC","UNDERLINE","CODE","renderNode","BLOCKS","PARAGRAPH","_node","HEADING_1","node","Text","as","HEADING_2","HEADING_3","HEADING_4","HEADING_5","HEADING_6","QUOTE","UL_LIST","OL_LIST","LIST_ITEM","INLINES","HYPERLINK","url","_a","data","uri","external","test","href","target","undefined","rel","EMBEDDED_ASSET","fields","file","_b","alt","title","description","src","startsWith","style","maxWidth","EMBEDDED_ENTRY","entry","_d","sys","contentType","id","_jsxs","border","padding","borderRadius","body","display","alignItems","gap","backgroundColor","fontSize","_f","_e","renderContentfulRichText","doc","linkClassName","options","Array","isArray","content","merged","shouldOpenBlank","Link","variant","documentToReactComponents","label1BoldOptions","createElement","color","currentSearch","currentParams","URLSearchParams","utmSet","Set","stripParams","basePath","targetParams","URL","origin","pathname","searchParams","path","query","split","forEach","value","has","toLowerCase","set","queryString","toString","existing","incoming","every","utm_content","utm_term","hasNewContent","hasNewTerm","val","clsx","utms","campaign","utm_campaign","name","utm_source","source","utm_medium","medium","term","utm_campaign_id","campaign_id","utm_adgroup_id","adgroup_id","gclid","fbclid","msclkid","Object","keys","length","document","referrer","referrerHost","hostname","includes","JSON","parse","raw","decoded","location","search","found","param","domain","remove","links","_Fragment","TABLE","TABLE_ROW","TABLE_HEADER_CELL","isScrollable","parent","TABLE_CELL","rawText","_c","trim","MaterialIcon","fill","entryId","entries","inline","find","e","__typename","items","list","map","item","checkListTitle","Checklist","listIconName","listItemClassName","stringValue","stringify","encode","encoded","sameSite","useMemo","checklistData","titlesOnly","richTextOptions","richTextClassName","rawItems","iconUrl","icon","anchorId"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -24,7 +24,9 @@ const resolveDefaultExport = (mod: unknown): unknown => {
|
|
|
24
24
|
}
|
|
25
25
|
return current;
|
|
26
26
|
};
|
|
27
|
-
const NextJsImage = resolveDefaultExport(
|
|
27
|
+
const NextJsImage = resolveDefaultExport(
|
|
28
|
+
NextJsImageImport
|
|
29
|
+
) as typeof NextJsImageImport;
|
|
28
30
|
|
|
29
31
|
export interface NextImageComponentProps extends NextImageProps {
|
|
30
32
|
className?: string;
|
|
@@ -37,7 +37,7 @@ export const RICH_FAQ_ITEMS: AccordionItem[] = [
|
|
|
37
37
|
|
|
38
38
|
<p>You can check your windstream.net emails in the following ways:</p>
|
|
39
39
|
|
|
40
|
-
<ol className="list-decimal
|
|
40
|
+
<ol className="ml-6 list-decimal">
|
|
41
41
|
<li>
|
|
42
42
|
Go to <strong>www.windstream.net</strong> and click{" "}
|
|
43
43
|
<strong>Email</strong> in the top‑right of the menu bar.
|
|
@@ -60,7 +60,7 @@ export const RICH_FAQ_ITEMS: AccordionItem[] = [
|
|
|
60
60
|
<strong>Wanting to set up a new .net email account?</strong>
|
|
61
61
|
</p>
|
|
62
62
|
|
|
63
|
-
<ul className="list-disc
|
|
63
|
+
<ul className="ml-6 list-disc">
|
|
64
64
|
<li>
|
|
65
65
|
If you do not already have a windstream.net email account, new
|
|
66
66
|
windstream.net email addresses are no longer being created.
|
|
@@ -78,9 +78,9 @@ export const RICH_FAQ_ITEMS: AccordionItem[] = [
|
|
|
78
78
|
description: (
|
|
79
79
|
<>
|
|
80
80
|
<p>
|
|
81
|
-
For a household with <strong>4+ internet users</strong> who use the
|
|
82
|
-
for online gaming, music and video streaming, uploading pictures
|
|
83
|
-
videos, as well as email and browsing, a{" "}
|
|
81
|
+
For a household with <strong>4+ internet users</strong> who use the
|
|
82
|
+
web for online gaming, music and video streaming, uploading pictures
|
|
83
|
+
and videos, as well as email and browsing, a{" "}
|
|
84
84
|
<strong>1‑Gigabit plan</strong> would be best suited.
|
|
85
85
|
</p>
|
|
86
86
|
|
|
@@ -117,12 +117,12 @@ export const RICH_FAQ_ITEMS: AccordionItem[] = [
|
|
|
117
117
|
description: (
|
|
118
118
|
<>
|
|
119
119
|
<p>
|
|
120
|
-
Yes, of course! You are under no obligation. If a situation arises
|
|
121
|
-
requires a change, simply give us a call at{" "}
|
|
120
|
+
Yes, of course! You are under no obligation. If a situation arises
|
|
121
|
+
that requires a change, simply give us a call at{" "}
|
|
122
122
|
<strong>855‑939‑2381</strong>.
|
|
123
123
|
</p>
|
|
124
124
|
</>
|
|
125
125
|
),
|
|
126
126
|
},
|
|
127
127
|
];
|
|
128
|
-
|
|
128
|
+
``;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { FAQ_ITEMS, RICH_FAQ_ITEMS } from "./Accordion.stories.mocks";
|
|
1
2
|
import { Accordion } from "./index";
|
|
2
3
|
import type { AccordionProps } from "./types";
|
|
3
|
-
import { DocsPage } from "@shared/stories/DocsTemplate";
|
|
4
|
-
import type { Meta, StoryObj, ArgTypes } from "@storybook/react";
|
|
5
4
|
|
|
6
|
-
import {
|
|
5
|
+
import { DocsPage } from "@shared/stories/DocsTemplate";
|
|
6
|
+
import type { ArgTypes, Meta, StoryObj } from "@storybook/react";
|
|
7
7
|
|
|
8
8
|
/* ------------
|
|
9
9
|
ArgTypes
|
|
@@ -20,15 +20,7 @@ const argTypes: ArgTypes<AccordionProps> = {
|
|
|
20
20
|
},
|
|
21
21
|
background: {
|
|
22
22
|
control: { type: "select" as const },
|
|
23
|
-
options: [
|
|
24
|
-
"blue",
|
|
25
|
-
"green",
|
|
26
|
-
"yellow",
|
|
27
|
-
"purple",
|
|
28
|
-
"white",
|
|
29
|
-
"navy",
|
|
30
|
-
"cream500",
|
|
31
|
-
],
|
|
23
|
+
options: ["blue", "green", "yellow", "purple", "white", "navy", "cream500"],
|
|
32
24
|
description: "Background color of the accordion",
|
|
33
25
|
},
|
|
34
26
|
enableHeading: {
|
|
@@ -103,4 +95,4 @@ export const WithRichTextContent = {
|
|
|
103
95
|
title: "FAQs - Rich Content",
|
|
104
96
|
items: RICH_FAQ_ITEMS,
|
|
105
97
|
},
|
|
106
|
-
};
|
|
98
|
+
};
|
|
@@ -1,9 +1,34 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React, {
|
|
2
|
+
useCallback,
|
|
3
|
+
useEffect,
|
|
4
|
+
useMemo,
|
|
5
|
+
useRef,
|
|
6
|
+
useState,
|
|
7
|
+
} from "react";
|
|
2
8
|
import { AnchoredBottomBannerProps } from "./types";
|
|
3
9
|
import Link from "next/link";
|
|
4
10
|
|
|
5
11
|
import { MaterialIcon } from "@shared/components/material-icon";
|
|
6
12
|
|
|
13
|
+
function parseCountdownDateTime(value?: string): number | undefined {
|
|
14
|
+
if (!value) return undefined;
|
|
15
|
+
const parsed = Date.parse(value);
|
|
16
|
+
if (!Number.isFinite(parsed)) {
|
|
17
|
+
console.error("Invalid countdown datetime", { value });
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
return parsed;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function formatCountdown(totalSeconds: number) {
|
|
24
|
+
const safeSeconds = Math.max(0, Math.floor(totalSeconds));
|
|
25
|
+
const hours = Math.floor(safeSeconds / 3600);
|
|
26
|
+
const minutes = Math.floor((safeSeconds % 3600) / 60);
|
|
27
|
+
const seconds = safeSeconds % 60;
|
|
28
|
+
|
|
29
|
+
return `${String(hours).padStart(2, "0")}H : ${String(minutes).padStart(2, "0")}M : ${String(seconds).padStart(2, "0")}`;
|
|
30
|
+
}
|
|
31
|
+
|
|
7
32
|
export const AnchoredBottomBanner: React.FC<AnchoredBottomBannerProps> = ({
|
|
8
33
|
ctaSuffixText,
|
|
9
34
|
backgroundColor,
|
|
@@ -13,6 +38,9 @@ export const AnchoredBottomBanner: React.FC<AnchoredBottomBannerProps> = ({
|
|
|
13
38
|
ctaButtonLink,
|
|
14
39
|
ctaButtonTarget,
|
|
15
40
|
anchorId = "anchored-banner",
|
|
41
|
+
enableCountdownTimer,
|
|
42
|
+
countdownStartDateTime,
|
|
43
|
+
countdownEndDateTime,
|
|
16
44
|
}) => {
|
|
17
45
|
const backGroundColorClasses = {
|
|
18
46
|
navy: "bg-bg-fill-inverse",
|
|
@@ -20,14 +48,91 @@ export const AnchoredBottomBanner: React.FC<AnchoredBottomBannerProps> = ({
|
|
|
20
48
|
blue: "bg-bg-fill-brand-supporting",
|
|
21
49
|
purple: "bg-bg-fill-brand-tertiary",
|
|
22
50
|
yellow: "bg-bg-fill-brand-accent",
|
|
51
|
+
white: "bg-white",
|
|
23
52
|
};
|
|
24
53
|
|
|
25
54
|
const bgClass = backgroundColor
|
|
26
55
|
? backGroundColorClasses[backgroundColor]
|
|
27
56
|
: "bg-bg-fill-brand-accent";
|
|
28
57
|
|
|
29
|
-
const
|
|
30
|
-
|
|
58
|
+
const isLightBackground =
|
|
59
|
+
backgroundColor === "yellow" ||
|
|
60
|
+
backgroundColor === "white" ||
|
|
61
|
+
!backgroundColor;
|
|
62
|
+
const textColorClass = isLightBackground ? "text-text-primary" : "text-white";
|
|
63
|
+
|
|
64
|
+
// Memoize parsed timestamps so they aren't re-parsed every second
|
|
65
|
+
const endMs = useMemo(
|
|
66
|
+
() => parseCountdownDateTime(countdownEndDateTime),
|
|
67
|
+
[countdownEndDateTime]
|
|
68
|
+
);
|
|
69
|
+
const startMs = useMemo(
|
|
70
|
+
() => parseCountdownDateTime(countdownStartDateTime),
|
|
71
|
+
[countdownStartDateTime]
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
const isTimerValid = useMemo(() => {
|
|
75
|
+
if (!enableCountdownTimer || endMs === undefined) return false;
|
|
76
|
+
if (countdownStartDateTime && startMs === undefined) return false;
|
|
77
|
+
if (startMs !== undefined && startMs >= endMs) {
|
|
78
|
+
console.error("Invalid countdown range: start must be before end", {
|
|
79
|
+
countdownStartDateTime,
|
|
80
|
+
countdownEndDateTime,
|
|
81
|
+
});
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
return true;
|
|
85
|
+
}, [
|
|
86
|
+
enableCountdownTimer,
|
|
87
|
+
endMs,
|
|
88
|
+
startMs,
|
|
89
|
+
countdownStartDateTime,
|
|
90
|
+
countdownEndDateTime,
|
|
91
|
+
]);
|
|
92
|
+
|
|
93
|
+
const [nowMs, setNowMs] = useState(() => Date.now());
|
|
94
|
+
const intervalRef = useRef<number | null>(null);
|
|
95
|
+
|
|
96
|
+
const clearTimer = useCallback(() => {
|
|
97
|
+
if (intervalRef.current !== null) {
|
|
98
|
+
window.clearInterval(intervalRef.current);
|
|
99
|
+
intervalRef.current = null;
|
|
100
|
+
}
|
|
101
|
+
}, []);
|
|
102
|
+
|
|
103
|
+
useEffect(() => {
|
|
104
|
+
if (!isTimerValid) {
|
|
105
|
+
clearTimer();
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
intervalRef.current = window.setInterval(() => {
|
|
110
|
+
const now = Date.now();
|
|
111
|
+
// Auto-clear interval once countdown expires
|
|
112
|
+
if (endMs !== undefined && now >= endMs) {
|
|
113
|
+
clearTimer();
|
|
114
|
+
}
|
|
115
|
+
setNowMs(now);
|
|
116
|
+
}, 1000);
|
|
117
|
+
|
|
118
|
+
return clearTimer;
|
|
119
|
+
}, [isTimerValid, endMs, clearTimer]);
|
|
120
|
+
|
|
121
|
+
const countdown = useMemo(() => {
|
|
122
|
+
if (!isTimerValid || endMs === undefined) {
|
|
123
|
+
return { shouldShow: false, text: "" };
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
const isBeforeStart = startMs !== undefined && nowMs < startMs;
|
|
127
|
+
const isAfterEnd = nowMs >= endMs;
|
|
128
|
+
if (isBeforeStart || isAfterEnd) return { shouldShow: false, text: "" };
|
|
129
|
+
|
|
130
|
+
const remainingSeconds = (endMs - nowMs) / 1000;
|
|
131
|
+
return {
|
|
132
|
+
shouldShow: remainingSeconds > 0,
|
|
133
|
+
text: formatCountdown(remainingSeconds),
|
|
134
|
+
};
|
|
135
|
+
}, [isTimerValid, endMs, startMs, nowMs]);
|
|
31
136
|
|
|
32
137
|
return (
|
|
33
138
|
<section id={anchorId}>
|
|
@@ -57,6 +162,12 @@ export const AnchoredBottomBanner: React.FC<AnchoredBottomBannerProps> = ({
|
|
|
57
162
|
className={`${textColorClass} align-text-bottom`}
|
|
58
163
|
/>
|
|
59
164
|
)}
|
|
165
|
+
{countdown.shouldShow && (
|
|
166
|
+
<span className="inline-block whitespace-nowrap rounded-lg bg-white px-1 tabular-nums text-text">
|
|
167
|
+
{countdown.text}
|
|
168
|
+
</span>
|
|
169
|
+
)}
|
|
170
|
+
{countdown.shouldShow ? " " : null}
|
|
60
171
|
{ctaButtonLabel && ctaButtonLabel}{" "}
|
|
61
172
|
{ctaSuffixText && <span className="ml-0.5">{ctaSuffixText}</span>}
|
|
62
173
|
</div>
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
export interface AnchoredBottomBannerProps {
|
|
2
2
|
ctaSuffixText?: string;
|
|
3
|
-
backgroundColor?: "navy" | "yellow" | "green" | "purple" | "blue";
|
|
3
|
+
backgroundColor?: "navy" | "yellow" | "green" | "purple" | "blue" | "white";
|
|
4
4
|
iconName?: string;
|
|
5
5
|
boxShadow?: boolean;
|
|
6
6
|
ctaButtonLabel?: string;
|
|
7
7
|
ctaButtonLink?: string;
|
|
8
8
|
ctaButtonTarget?: string;
|
|
9
9
|
anchorId?: string;
|
|
10
|
+
enableCountdownTimer?: boolean;
|
|
11
|
+
countdownStartDateTime?: string;
|
|
12
|
+
countdownEndDateTime?: string;
|
|
10
13
|
}
|
|
@@ -1,64 +1,205 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { Button } from "../button";
|
|
2
3
|
import BlogCard from "../cards/blog-card";
|
|
4
|
+
import FloatingImageCard from "../cards/floating-image-card";
|
|
5
|
+
import FullImageCard from "../cards/full-image-card";
|
|
3
6
|
import SimpleCard from "../cards/simple-card";
|
|
4
|
-
import { CalloutProps } from "./types";
|
|
7
|
+
import { CalloutCardType, CalloutItem, CalloutProps } from "./types";
|
|
5
8
|
|
|
6
9
|
import { Text } from "@shared/components/text";
|
|
10
|
+
import { cx } from "@shared/utils";
|
|
11
|
+
|
|
12
|
+
const backgroundClassMap: Record<string, string> = {
|
|
13
|
+
cream500: "bg-[#FFFEEF]",
|
|
14
|
+
gray100: "bg-fill-secondary",
|
|
15
|
+
white: "bg-white",
|
|
16
|
+
transparent: "",
|
|
17
|
+
blue: "bg-fill-brand",
|
|
18
|
+
green: "bg-fill-brand-accent",
|
|
19
|
+
navy: "bg-fill-inverse",
|
|
20
|
+
purple: "bg-fill-brand-tertiary",
|
|
21
|
+
yellow: "bg-[#F5FF1E]",
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// Literal class strings (Tailwind JIT only picks up literal tokens; do not
|
|
25
|
+
// build these by concatenation at runtime).
|
|
26
|
+
const baseColMap: Record<number, string> = {
|
|
27
|
+
1: "grid-cols-1",
|
|
28
|
+
2: "grid-cols-2",
|
|
29
|
+
3: "grid-cols-3",
|
|
30
|
+
4: "grid-cols-4",
|
|
31
|
+
5: "grid-cols-5",
|
|
32
|
+
6: "grid-cols-6",
|
|
33
|
+
};
|
|
34
|
+
const lgColMap: Record<number, string> = {
|
|
35
|
+
1: "lg:grid-cols-1",
|
|
36
|
+
2: "lg:grid-cols-2",
|
|
37
|
+
3: "lg:grid-cols-3",
|
|
38
|
+
4: "lg:grid-cols-4",
|
|
39
|
+
5: "lg:grid-cols-5",
|
|
40
|
+
6: "lg:grid-cols-6",
|
|
41
|
+
};
|
|
42
|
+
const xlColMap: Record<number, string> = {
|
|
43
|
+
1: "xl:grid-cols-1",
|
|
44
|
+
2: "xl:grid-cols-2",
|
|
45
|
+
3: "xl:grid-cols-3",
|
|
46
|
+
4: "xl:grid-cols-4",
|
|
47
|
+
5: "xl:grid-cols-5",
|
|
48
|
+
6: "xl:grid-cols-6",
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Mirrors the local @ui Callout `calculateOptimalColumns` logic:
|
|
53
|
+
* - ≤4 cards: one per column
|
|
54
|
+
* - divisible by 3: 3 cols
|
|
55
|
+
* - divisible by 4: 4 cols
|
|
56
|
+
* - >6 cards: 4 cols
|
|
57
|
+
* - else: 3 cols
|
|
58
|
+
*/
|
|
59
|
+
const calculateOptimalColumns = (count: number): number => {
|
|
60
|
+
if (count <= 4) return count || 1;
|
|
61
|
+
if (count % 3 === 0) return 3;
|
|
62
|
+
if (count % 4 === 0) return 4;
|
|
63
|
+
if (count > 6) return 4;
|
|
64
|
+
return 3;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const clampCol = (n: number) => Math.max(1, Math.min(6, n));
|
|
7
68
|
|
|
8
69
|
export const Callout: React.FC<CalloutProps> = ({
|
|
70
|
+
anchorId,
|
|
9
71
|
title,
|
|
10
72
|
items,
|
|
11
73
|
enableHeading = false,
|
|
12
74
|
subtitle,
|
|
75
|
+
description,
|
|
76
|
+
finePrint,
|
|
77
|
+
cta,
|
|
13
78
|
color = "dark",
|
|
14
79
|
maxWidth = true,
|
|
15
80
|
maxCardsPerRow,
|
|
16
81
|
cardType = "simple",
|
|
82
|
+
backgroundColor,
|
|
83
|
+
background,
|
|
84
|
+
textColor,
|
|
85
|
+
containerClassName,
|
|
86
|
+
innerClassName,
|
|
87
|
+
applyBoxShadow = false,
|
|
88
|
+
cardStackingMobile = true,
|
|
89
|
+
cardsWidth = true,
|
|
90
|
+
noGutter = false,
|
|
17
91
|
}) => {
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
4: " lg:w-[calc(25%-1.125rem)]",
|
|
24
|
-
}[maxCardsPerRow || 4] || " lg:w-[calc(25%-1.125rem)]";
|
|
92
|
+
const itemCount = items?.length ?? 0;
|
|
93
|
+
const desktopCols = clampCol(
|
|
94
|
+
maxCardsPerRow ?? calculateOptimalColumns(itemCount)
|
|
95
|
+
);
|
|
96
|
+
const lgCols = clampCol(Math.min(desktopCols, itemCount || desktopCols));
|
|
25
97
|
|
|
26
|
-
|
|
98
|
+
// Mobile / md: 1 col when stacking flag is on, else 2 (or 1 when single).
|
|
99
|
+
const mobileCols = clampCol(cardStackingMobile ? 1 : itemCount === 1 ? 1 : 2);
|
|
27
100
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
lgWidth={lgWidth}
|
|
41
|
-
mdWidth={mdWidth}
|
|
42
|
-
/>
|
|
101
|
+
// When cardsWidth is false: full-width stacked layout (no grid).
|
|
102
|
+
const gridClass = cardsWidth
|
|
103
|
+
? cx(
|
|
104
|
+
"grid items-stretch self-stretch",
|
|
105
|
+
noGutter ? "gap-0" : "gap-6",
|
|
106
|
+
baseColMap[mobileCols],
|
|
107
|
+
lgColMap[lgCols],
|
|
108
|
+
xlColMap[desktopCols]
|
|
109
|
+
)
|
|
110
|
+
: cx(
|
|
111
|
+
"flex flex-col items-stretch self-stretch",
|
|
112
|
+
noGutter ? "gap-0" : "gap-6"
|
|
43
113
|
);
|
|
114
|
+
|
|
115
|
+
const renderCard = (item: CalloutItem, index: number) => {
|
|
116
|
+
const itemCardType: CalloutCardType = item.cardType ?? cardType;
|
|
117
|
+
|
|
118
|
+
// When cardsWidth is true we control widths via grid columns, so do
|
|
119
|
+
// NOT pass legacy lgWidth/mdWidth (which would force fixed pixel
|
|
120
|
+
// widths and break the responsive grid).
|
|
121
|
+
const widthProps = cardsWidth
|
|
122
|
+
? {}
|
|
123
|
+
: { lgWidth: undefined, mdWidth: undefined };
|
|
124
|
+
|
|
125
|
+
switch (itemCardType) {
|
|
126
|
+
case "blog": {
|
|
127
|
+
const blogItem = item as any;
|
|
128
|
+
return (
|
|
129
|
+
<BlogCard
|
|
130
|
+
key={index}
|
|
131
|
+
title={blogItem.title}
|
|
132
|
+
href={blogItem.slug}
|
|
133
|
+
description={blogItem.shortDescription}
|
|
134
|
+
date={blogItem.blogCreationDate}
|
|
135
|
+
category={blogItem.category}
|
|
136
|
+
image={blogItem.cover}
|
|
137
|
+
asGrid={false}
|
|
138
|
+
{...widthProps}
|
|
139
|
+
/>
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
case "fullImage":
|
|
143
|
+
return (
|
|
144
|
+
<FullImageCard
|
|
145
|
+
key={index}
|
|
146
|
+
card={{
|
|
147
|
+
...(item as any),
|
|
148
|
+
shadow: (item as any).shadow ?? applyBoxShadow,
|
|
149
|
+
}}
|
|
150
|
+
{...widthProps}
|
|
151
|
+
/>
|
|
152
|
+
);
|
|
153
|
+
case "floatingImage":
|
|
154
|
+
return (
|
|
155
|
+
<FloatingImageCard
|
|
156
|
+
key={index}
|
|
157
|
+
card={{
|
|
158
|
+
...(item as any),
|
|
159
|
+
shadow: (item as any).shadow ?? applyBoxShadow,
|
|
160
|
+
}}
|
|
161
|
+
{...widthProps}
|
|
162
|
+
/>
|
|
163
|
+
);
|
|
164
|
+
case "simple":
|
|
165
|
+
default:
|
|
166
|
+
return (
|
|
167
|
+
<SimpleCard
|
|
168
|
+
key={index}
|
|
169
|
+
card={{
|
|
170
|
+
...(item as any),
|
|
171
|
+
shadow: (item as any).shadow ?? applyBoxShadow,
|
|
172
|
+
}}
|
|
173
|
+
{...widthProps}
|
|
174
|
+
/>
|
|
175
|
+
);
|
|
44
176
|
}
|
|
45
|
-
return (
|
|
46
|
-
<SimpleCard
|
|
47
|
-
key={index}
|
|
48
|
-
card={item as any}
|
|
49
|
-
lgWidth={lgWidth}
|
|
50
|
-
mdWidth={mdWidth}
|
|
51
|
-
/>
|
|
52
|
-
);
|
|
53
177
|
};
|
|
54
178
|
|
|
179
|
+
const sectionStyle = background ? { background } : undefined;
|
|
180
|
+
const headingStyle = textColor ? { color: textColor } : undefined;
|
|
181
|
+
const sectionBgClass = background
|
|
182
|
+
? ""
|
|
183
|
+
: backgroundColor
|
|
184
|
+
? (backgroundClassMap[backgroundColor] ?? "")
|
|
185
|
+
: "";
|
|
186
|
+
|
|
55
187
|
return (
|
|
56
|
-
<
|
|
188
|
+
<section
|
|
189
|
+
id={anchorId}
|
|
190
|
+
className={cx("component-container", sectionBgClass, containerClassName)}
|
|
191
|
+
style={sectionStyle}
|
|
192
|
+
>
|
|
57
193
|
<div
|
|
58
|
-
className={
|
|
194
|
+
className={cx(
|
|
195
|
+
noGutter ? "p-0" : "mx-5 mb-5 mt-12",
|
|
196
|
+
maxWidth && "max-w-120 xl:mx-auto",
|
|
197
|
+
color === "dark" ? "text-text" : "text-white",
|
|
198
|
+
innerClassName
|
|
199
|
+
)}
|
|
59
200
|
>
|
|
60
201
|
<div className="callout-container flex flex-col gap-10 md:gap-16">
|
|
61
|
-
<div className="title-holder">
|
|
202
|
+
<div className="title-holder" style={headingStyle}>
|
|
62
203
|
{title && (
|
|
63
204
|
<Text
|
|
64
205
|
as={enableHeading ? "h1" : "h2"}
|
|
@@ -75,13 +216,36 @@ export const Callout: React.FC<CalloutProps> = ({
|
|
|
75
216
|
{subtitle}
|
|
76
217
|
</Text>
|
|
77
218
|
)}
|
|
219
|
+
{description && (
|
|
220
|
+
<Text as="p" className="body1 mt-4 text-center md:mt-6">
|
|
221
|
+
{description}
|
|
222
|
+
</Text>
|
|
223
|
+
)}
|
|
78
224
|
</div>
|
|
79
|
-
<div className="card-holder
|
|
225
|
+
<div className={cx("card-holder", gridClass)}>
|
|
80
226
|
{items.map((item, index: number) => renderCard(item, index))}
|
|
81
227
|
</div>
|
|
228
|
+
{(cta || finePrint) && (
|
|
229
|
+
<div className="flex flex-col items-center gap-4">
|
|
230
|
+
{cta ? (
|
|
231
|
+
<Button
|
|
232
|
+
linkClassName="label1"
|
|
233
|
+
buttonClassName="label1"
|
|
234
|
+
{...cta}
|
|
235
|
+
>
|
|
236
|
+
{cta.label ?? cta.buttonLabel}
|
|
237
|
+
</Button>
|
|
238
|
+
) : null}
|
|
239
|
+
{finePrint ? (
|
|
240
|
+
<Text as="div" className="footnote text-center text-text">
|
|
241
|
+
{finePrint}
|
|
242
|
+
</Text>
|
|
243
|
+
) : null}
|
|
244
|
+
</div>
|
|
245
|
+
)}
|
|
82
246
|
</div>
|
|
83
247
|
</div>
|
|
84
|
-
</
|
|
248
|
+
</section>
|
|
85
249
|
);
|
|
86
250
|
};
|
|
87
251
|
|