@zenpatient-org/healthspan-marketing-ui 0.1.169 → 0.1.171
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/Button/Button.cjs.js +1 -1
- package/dist/components/Button/Button.d.ts +3 -0
- package/dist/components/Button/Button.es.js +34 -28
- package/dist/components/Callback/Callback.d.ts +1 -0
- package/dist/components/Pricing/Pricing.cjs.js +1 -1
- package/dist/components/Pricing/Pricing.d.ts +1 -1
- package/dist/components/Pricing/Pricing.es.js +51 -37
- package/dist/components/Pricing/types.d.ts +2 -0
- package/dist/components/ProductGallery/ProductGallery.cjs.js +1 -1
- package/dist/components/ProductGallery/ProductGallery.es.js +4 -3
- package/dist/components/ProductGalleryCard/ProductGalleryCard.cjs.js +1 -1
- package/dist/components/ProductGalleryCard/ProductGalleryCard.d.ts +1 -1
- package/dist/components/ProductGalleryCard/ProductGalleryCard.es.js +51 -22
- package/dist/components/ProductGalleryCard/types.d.ts +1 -0
- package/dist/components/ProductListing/ProductListing.cjs.js +1 -1
- package/dist/components/ProductListing/ProductListing.d.ts +3 -1
- package/dist/components/ProductListing/ProductListing.es.js +48 -25
- package/dist/modules/CallToAction/CallToAction.cjs.js +1 -1
- package/dist/modules/CallToAction/CallToAction.es.js +86 -73
- package/dist/modules/Callback/Callback.cjs.js +1 -1
- package/dist/modules/Callback/Callback.d.ts +3 -1
- package/dist/modules/Callback/Callback.es.js +46 -24
- package/dist/modules/Compare/Compare.cjs.js +1 -1
- package/dist/modules/Compare/Compare.es.js +12 -12
- package/dist/modules/Compare/types.d.ts +2 -2
- package/dist/modules/FeaturedIn/FeaturedIn.cjs.js +1 -1
- package/dist/modules/FeaturedIn/FeaturedIn.es.js +23 -32
- package/dist/modules/FeaturedIn/components/CtaFeaturedIn.cjs.js +1 -0
- package/dist/modules/FeaturedIn/components/CtaFeaturedIn.d.ts +5 -0
- package/dist/modules/FeaturedIn/components/CtaFeaturedIn.es.js +22 -0
- package/dist/modules/HowItWorks/HowItWorks.cjs.js +1 -1
- package/dist/modules/HowItWorks/HowItWorks.es.js +61 -30
- package/dist/modules/IndividualProductCard/IndividualProductCard.cjs.js +1 -1
- package/dist/modules/IndividualProductCard/IndividualProductCard.d.ts +2 -1
- package/dist/modules/IndividualProductCard/IndividualProductCard.es.js +84 -64
- package/dist/modules/ProgramsDetailsHero/ProgramsDetailsHero.cjs.js +1 -1
- package/dist/modules/ProgramsDetailsHero/ProgramsDetailsHero.es.js +38 -26
- package/dist/modules/YourProtocol/YourProtocol.cjs.js +1 -1
- package/dist/modules/YourProtocol/YourProtocol.es.js +48 -35
- package/dist/pageComponents/HomepageHero/HomepageHero.cjs.js +1 -1
- package/dist/pageComponents/HomepageHero/HomepageHero.es.js +19 -28
- package/dist/pageComponents/LabsHero/LabsHero.cjs.js +1 -1
- package/dist/pageComponents/LabsHero/LabsHero.es.js +54 -43
- package/dist/pageComponents/PersonalizedProtocolHero/PersonalizedProtocolHero.cjs.js +1 -1
- package/dist/pageComponents/PersonalizedProtocolHero/PersonalizedProtocolHero.es.js +73 -60
- package/dist/types/analytics/analytics.cjs.js +1 -1
- package/dist/types/analytics/analytics.es.js +3 -3
- package/dist/types/analytics.d.ts +26 -3
- package/package.json +1 -1
|
@@ -1,50 +1,81 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsxs as
|
|
3
|
-
import { Button as
|
|
4
|
-
import { ProgressButton as
|
|
5
|
-
import { Typography as
|
|
6
|
-
import { Content as
|
|
7
|
-
import
|
|
8
|
-
import { useSwiper as
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
2
|
+
import { jsxs as r, jsx as i } from "react/jsx-runtime";
|
|
3
|
+
import { Button as d } from "../../components/Button/Button.es.js";
|
|
4
|
+
import { ProgressButton as c } from "../../components/ProgressButton/ProgressButton.es.js";
|
|
5
|
+
import { Typography as v } from "../../components/Typography/Typography.es.js";
|
|
6
|
+
import { Content as p } from "./components/Content/Content.es.js";
|
|
7
|
+
import a from "./howItWorks.module.css.es.js";
|
|
8
|
+
import { useSwiper as C } from "../../utils/useSwiper/useSwiper.es.js";
|
|
9
|
+
import { EAnalyticsEventType as f, EAnalyticsEvent as k } from "../../types/analytics/analytics.es.js";
|
|
10
|
+
const P = ({ title: m, getStartedLink: e, items: h, colorScheme: t = "light" }) => {
|
|
11
|
+
const n = C(), s = t === "dark" ? "muted-invert" : "muted", l = (u) => {
|
|
12
|
+
var o;
|
|
13
|
+
(o = window.eventBus) == null || o.emit("analytics", {
|
|
14
|
+
event: k.ctaClicked,
|
|
15
|
+
type: f.interaction,
|
|
16
|
+
component: "HowItWorks",
|
|
17
|
+
payload: {
|
|
18
|
+
link: e
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
return /* @__PURE__ */ r("section", { className: a.root, "data-color-scheme": t, children: [
|
|
23
|
+
/* @__PURE__ */ r("div", { className: a.headerContainer, children: [
|
|
24
|
+
/* @__PURE__ */ i(v, { as: "h2", defaultVariant: "displayMd", mobileVariant: "headingXl", children: m }),
|
|
25
|
+
e && /* @__PURE__ */ i("div", { className: a.desktop, children: /* @__PURE__ */ i(
|
|
26
|
+
d,
|
|
27
|
+
{
|
|
28
|
+
as: "a",
|
|
29
|
+
href: e,
|
|
30
|
+
variant: s,
|
|
31
|
+
size: "lg",
|
|
32
|
+
onClick: l,
|
|
33
|
+
children: "Get started"
|
|
34
|
+
}
|
|
35
|
+
) }),
|
|
36
|
+
e && /* @__PURE__ */ i("div", { className: a.mobile, children: /* @__PURE__ */ i(
|
|
37
|
+
d,
|
|
38
|
+
{
|
|
39
|
+
as: "a",
|
|
40
|
+
href: e,
|
|
41
|
+
variant: s,
|
|
42
|
+
size: "sm",
|
|
43
|
+
onClick: l,
|
|
44
|
+
children: "Get started"
|
|
45
|
+
}
|
|
46
|
+
) }),
|
|
47
|
+
!e && /* @__PURE__ */ i("div", { className: a.navigation, children: /* @__PURE__ */ i(
|
|
48
|
+
c,
|
|
18
49
|
{
|
|
19
|
-
invert:
|
|
50
|
+
invert: t === "dark",
|
|
20
51
|
left: {
|
|
21
|
-
disabled:
|
|
22
|
-
onClick:
|
|
52
|
+
disabled: n.isBeginning,
|
|
53
|
+
onClick: n.handlePrevClick
|
|
23
54
|
},
|
|
24
55
|
right: {
|
|
25
|
-
disabled:
|
|
26
|
-
onClick:
|
|
56
|
+
disabled: n.isEnd,
|
|
57
|
+
onClick: n.handleNextClick
|
|
27
58
|
}
|
|
28
59
|
}
|
|
29
60
|
) })
|
|
30
61
|
] }),
|
|
31
|
-
/* @__PURE__ */ i(
|
|
32
|
-
!
|
|
33
|
-
|
|
62
|
+
/* @__PURE__ */ i(p, { items: h, colorScheme: t, swiper: n, showBottomNav: !!e }),
|
|
63
|
+
!e && /* @__PURE__ */ i("div", { className: a.mobileNavigation, children: /* @__PURE__ */ i(
|
|
64
|
+
c,
|
|
34
65
|
{
|
|
35
|
-
invert:
|
|
66
|
+
invert: t === "dark",
|
|
36
67
|
left: {
|
|
37
|
-
disabled:
|
|
38
|
-
onClick:
|
|
68
|
+
disabled: n.isBeginning,
|
|
69
|
+
onClick: n.handlePrevClick
|
|
39
70
|
},
|
|
40
71
|
right: {
|
|
41
|
-
disabled:
|
|
42
|
-
onClick:
|
|
72
|
+
disabled: n.isEnd,
|
|
73
|
+
onClick: n.handleNextClick
|
|
43
74
|
}
|
|
44
75
|
}
|
|
45
76
|
) })
|
|
46
77
|
] });
|
|
47
78
|
};
|
|
48
79
|
export {
|
|
49
|
-
|
|
80
|
+
P as HowItWorks
|
|
50
81
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),S=require("../../utils/cn/cn.cjs.js"),j=require("../../components/Button/Button.cjs.js"),f=require("../../components/TextButton/TextButton.cjs.js"),E=require("../../components/ImageGallery/ImageGallery.cjs.js"),d=require("../../components/Typography/Typography.cjs.js"),w=require("../../components/SmartCallout/SmartCallout.cjs.js"),k=require("../../components/RatingStars/RatingStars.cjs.js"),A=require("./components/Features/Features.cjs.js"),I=require("./components/PlanCard/PlanCard.cjs.js"),c=require("../../types/analytics/analytics.cjs.js"),a=require("./individualProductCard.module.css.cjs.js"),R=({zenpatientId:_,name:u,description:y,features:C,images:x,label:b,rating:l,plans:t,button:n,textButton:s,selectedPlanId:p,onSelectPlan:o,trackingEvent:T,trackingLocation:h})=>{const m=t&&t.length>0&&o,q=i=>{if(o==null||o(i),T){const r=t==null?void 0:t.find(N=>N.id===i);c.EAnalyticsEventType.interaction,r==null||r.price,r==null||r.duration}},v=()=>{var r;const i={event:c.EAnalyticsEvent.ctaClicked,location:h||"not_set",type:c.EAnalyticsEventType.interaction,component:"IndividualProductCard",element:"primary_button",payload:{productId:_,ctaLabel:n.label,productName:u,selectedPlanId:p||"none"}};(r=window.eventBus)==null||r.emit("analytics",i)},g=()=>{var i;(i=window.eventBus)==null||i.emit("analytics",{event:c.EAnalyticsEvent.ctaClicked,location:h||"not_set",type:c.EAnalyticsEventType.interaction,component:"IndividualProductCard",element:"secondary_button",payload:{ctaLabel:s==null?void 0:s.label,productName:u}})};return e.jsx("section",{className:a.default.root,children:e.jsxs("div",{className:S.cn(a.default.container,!m&&a.default.noPlans),children:[e.jsxs("div",{className:a.default.info,children:[e.jsxs("div",{className:a.default.infoHeader,children:[e.jsx(d.Typography,{as:"h3",defaultVariant:"displayXs",mobileVariant:"headingLg",weight:"regular",children:u}),!!y&&e.jsx(d.Typography,{as:"p",defaultVariant:"bodySm",className:a.default.infoDescription,weight:"regular",children:y}),l&&e.jsxs("div",{className:a.default.ratingContainer,children:[!!l.stars&&e.jsx(k.RatingStars,{rating:l.stars,size:"sm"}),!!l.totalReviews&&e.jsxs(d.Typography,{as:"p",defaultVariant:"labelSm",emphasis:!0,children:[l.totalReviews," reviews"]})]})]}),e.jsx(A.Features,{features:C}),e.jsxs("div",{className:a.default.actions,children:[e.jsx(w.SmartCallout,{label:"HSA/FSA Eligible"}),!m&&e.jsxs(e.Fragment,{children:[e.jsx(j.Button,{variant:"primary",size:"lg",...n,onClick:v,children:n.label}),s&&e.jsx(f.TextButton,{...s,onClick:g,children:s.label})]})]})]}),e.jsx(E.ImageGallery,{className:a.default.gallery,images:x,label:b}),m&&e.jsxs("div",{className:a.default.plansSection,children:[e.jsxs("div",{className:a.default.plans,children:[e.jsx(d.Typography,{as:"h4",defaultVariant:"labelSm",emphasis:!0,weight:"regular",children:"Subscribe & Save"}),t.map(i=>e.jsx(I.PlanCard,{plan:i,onSelect:q,isActive:p===i.id},i.id))]}),e.jsxs("div",{className:a.default.actions,children:[e.jsx(j.Button,{variant:"primary",size:"lg",...n,onClick:v,children:n.label}),s&&e.jsx(f.TextButton,{...s,onClick:g,children:s.label})]})]})]})})};exports.IndividualProductCard=R;
|
|
@@ -4,6 +4,7 @@ import { TProductFeature, TProductPlan } from './types';
|
|
|
4
4
|
import { EAnalyticsEvent } from '../../types/analytics';
|
|
5
5
|
|
|
6
6
|
type IndividualProductCardProps = {
|
|
7
|
+
zenpatientId: string;
|
|
7
8
|
name: string;
|
|
8
9
|
images: Array<string>;
|
|
9
10
|
features: Array<TProductFeature>;
|
|
@@ -25,5 +26,5 @@ type IndividualProductCardProps = {
|
|
|
25
26
|
trackingEvent?: EAnalyticsEvent.userSelectedPlan;
|
|
26
27
|
trackingLocation?: string;
|
|
27
28
|
};
|
|
28
|
-
export declare const IndividualProductCard: ({ name, description, features, images, label, rating, plans, button, textButton, selectedPlanId, onSelectPlan, trackingEvent, trackingLocation, }: IndividualProductCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export declare const IndividualProductCard: ({ zenpatientId, name, description, features, images, label, rating, plans, button, textButton, selectedPlanId, onSelectPlan, trackingEvent, trackingLocation, }: IndividualProductCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
30
|
export {};
|
|
@@ -1,98 +1,118 @@
|
|
|
1
|
-
import { jsx as i, jsxs as
|
|
2
|
-
import { cn as
|
|
3
|
-
import { Button as
|
|
1
|
+
import { jsx as i, jsxs as r, Fragment as T } from "react/jsx-runtime";
|
|
2
|
+
import { cn as _ } from "../../utils/cn/cn.es.js";
|
|
3
|
+
import { Button as b } from "../../components/Button/Button.es.js";
|
|
4
4
|
import { TextButton as g } from "../../components/TextButton/TextButton.es.js";
|
|
5
|
-
import { ImageGallery as
|
|
5
|
+
import { ImageGallery as z } from "../../components/ImageGallery/ImageGallery.es.js";
|
|
6
6
|
import { Typography as t } from "../../components/Typography/Typography.es.js";
|
|
7
|
-
import { SmartCallout as
|
|
8
|
-
import { RatingStars as
|
|
9
|
-
import { Features as
|
|
10
|
-
import { PlanCard as
|
|
11
|
-
import { EAnalyticsEventType as
|
|
12
|
-
import
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
7
|
+
import { SmartCallout as F } from "../../components/SmartCallout/SmartCallout.es.js";
|
|
8
|
+
import { RatingStars as R } from "../../components/RatingStars/RatingStars.es.js";
|
|
9
|
+
import { Features as j } from "./components/Features/Features.es.js";
|
|
10
|
+
import { PlanCard as D } from "./components/PlanCard/PlanCard.es.js";
|
|
11
|
+
import { EAnalyticsEventType as p, EAnalyticsEvent as N } from "../../types/analytics/analytics.es.js";
|
|
12
|
+
import a from "./individualProductCard.module.css.es.js";
|
|
13
|
+
const Y = ({
|
|
14
|
+
zenpatientId: w,
|
|
15
|
+
name: m,
|
|
16
|
+
description: v,
|
|
17
|
+
features: k,
|
|
18
|
+
images: S,
|
|
19
|
+
label: E,
|
|
20
|
+
rating: n,
|
|
21
|
+
plans: o,
|
|
22
|
+
button: s,
|
|
22
23
|
textButton: l,
|
|
23
|
-
selectedPlanId:
|
|
24
|
+
selectedPlanId: y,
|
|
24
25
|
onSelectPlan: d,
|
|
25
|
-
trackingEvent:
|
|
26
|
-
trackingLocation:
|
|
26
|
+
trackingEvent: A,
|
|
27
|
+
trackingLocation: f
|
|
27
28
|
}) => {
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
event: f,
|
|
33
|
-
location: S || "",
|
|
34
|
-
type: H.interaction,
|
|
35
|
-
payload: {
|
|
36
|
-
planId: e,
|
|
37
|
-
planPrice: m == null ? void 0 : m.price,
|
|
38
|
-
planDuration: m == null ? void 0 : m.duration
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
(p = window.eventBus) == null || p.emit("analytics", V);
|
|
29
|
+
const h = o && o.length > 0 && d, V = (e) => {
|
|
30
|
+
if (d == null || d(e), A) {
|
|
31
|
+
const c = o == null ? void 0 : o.find((I) => I.id === e);
|
|
32
|
+
p.interaction, c == null || c.price, c == null || c.duration;
|
|
42
33
|
}
|
|
34
|
+
}, u = () => {
|
|
35
|
+
var c;
|
|
36
|
+
const e = {
|
|
37
|
+
event: N.ctaClicked,
|
|
38
|
+
location: f || "not_set",
|
|
39
|
+
type: p.interaction,
|
|
40
|
+
component: "IndividualProductCard",
|
|
41
|
+
element: "primary_button",
|
|
42
|
+
payload: {
|
|
43
|
+
productId: w,
|
|
44
|
+
ctaLabel: s.label,
|
|
45
|
+
productName: m,
|
|
46
|
+
selectedPlanId: y || "none"
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
(c = window.eventBus) == null || c.emit("analytics", e);
|
|
50
|
+
}, C = () => {
|
|
51
|
+
var e;
|
|
52
|
+
(e = window.eventBus) == null || e.emit("analytics", {
|
|
53
|
+
event: N.ctaClicked,
|
|
54
|
+
location: f || "not_set",
|
|
55
|
+
type: p.interaction,
|
|
56
|
+
component: "IndividualProductCard",
|
|
57
|
+
element: "secondary_button",
|
|
58
|
+
payload: {
|
|
59
|
+
ctaLabel: l == null ? void 0 : l.label,
|
|
60
|
+
productName: m
|
|
61
|
+
}
|
|
62
|
+
});
|
|
43
63
|
};
|
|
44
|
-
return /* @__PURE__ */ i("section", { className:
|
|
45
|
-
/* @__PURE__ */
|
|
46
|
-
/* @__PURE__ */
|
|
47
|
-
/* @__PURE__ */ i(t, { as: "h3", defaultVariant: "displayXs", mobileVariant: "headingLg", weight: "regular", children:
|
|
48
|
-
!!
|
|
64
|
+
return /* @__PURE__ */ i("section", { className: a.root, children: /* @__PURE__ */ r("div", { className: _(a.container, !h && a.noPlans), children: [
|
|
65
|
+
/* @__PURE__ */ r("div", { className: a.info, children: [
|
|
66
|
+
/* @__PURE__ */ r("div", { className: a.infoHeader, children: [
|
|
67
|
+
/* @__PURE__ */ i(t, { as: "h3", defaultVariant: "displayXs", mobileVariant: "headingLg", weight: "regular", children: m }),
|
|
68
|
+
!!v && /* @__PURE__ */ i(
|
|
49
69
|
t,
|
|
50
70
|
{
|
|
51
71
|
as: "p",
|
|
52
72
|
defaultVariant: "bodySm",
|
|
53
|
-
className:
|
|
73
|
+
className: a.infoDescription,
|
|
54
74
|
weight: "regular",
|
|
55
|
-
children:
|
|
75
|
+
children: v
|
|
56
76
|
}
|
|
57
77
|
),
|
|
58
|
-
|
|
59
|
-
!!
|
|
60
|
-
!!
|
|
61
|
-
|
|
78
|
+
n && /* @__PURE__ */ r("div", { className: a.ratingContainer, children: [
|
|
79
|
+
!!n.stars && /* @__PURE__ */ i(R, { rating: n.stars, size: "sm" }),
|
|
80
|
+
!!n.totalReviews && /* @__PURE__ */ r(t, { as: "p", defaultVariant: "labelSm", emphasis: !0, children: [
|
|
81
|
+
n.totalReviews,
|
|
62
82
|
" reviews"
|
|
63
83
|
] })
|
|
64
84
|
] })
|
|
65
85
|
] }),
|
|
66
|
-
/* @__PURE__ */ i(
|
|
67
|
-
/* @__PURE__ */
|
|
68
|
-
/* @__PURE__ */ i(
|
|
69
|
-
!
|
|
70
|
-
/* @__PURE__ */ i(
|
|
71
|
-
l && /* @__PURE__ */ i(g, { ...l, children: l.label })
|
|
86
|
+
/* @__PURE__ */ i(j, { features: k }),
|
|
87
|
+
/* @__PURE__ */ r("div", { className: a.actions, children: [
|
|
88
|
+
/* @__PURE__ */ i(F, { label: "HSA/FSA Eligible" }),
|
|
89
|
+
!h && /* @__PURE__ */ r(T, { children: [
|
|
90
|
+
/* @__PURE__ */ i(b, { variant: "primary", size: "lg", ...s, onClick: u, children: s.label }),
|
|
91
|
+
l && /* @__PURE__ */ i(g, { ...l, onClick: C, children: l.label })
|
|
72
92
|
] })
|
|
73
93
|
] })
|
|
74
94
|
] }),
|
|
75
|
-
/* @__PURE__ */ i(
|
|
76
|
-
|
|
77
|
-
/* @__PURE__ */
|
|
95
|
+
/* @__PURE__ */ i(z, { className: a.gallery, images: S, label: E }),
|
|
96
|
+
h && /* @__PURE__ */ r("div", { className: a.plansSection, children: [
|
|
97
|
+
/* @__PURE__ */ r("div", { className: a.plans, children: [
|
|
78
98
|
/* @__PURE__ */ i(t, { as: "h4", defaultVariant: "labelSm", emphasis: !0, weight: "regular", children: "Subscribe & Save" }),
|
|
79
|
-
|
|
80
|
-
|
|
99
|
+
o.map((e) => /* @__PURE__ */ i(
|
|
100
|
+
D,
|
|
81
101
|
{
|
|
82
102
|
plan: e,
|
|
83
|
-
onSelect:
|
|
84
|
-
isActive:
|
|
103
|
+
onSelect: V,
|
|
104
|
+
isActive: y === e.id
|
|
85
105
|
},
|
|
86
106
|
e.id
|
|
87
107
|
))
|
|
88
108
|
] }),
|
|
89
|
-
/* @__PURE__ */
|
|
90
|
-
/* @__PURE__ */ i(
|
|
91
|
-
l && /* @__PURE__ */ i(g, { ...l, children: l.label })
|
|
109
|
+
/* @__PURE__ */ r("div", { className: a.actions, children: [
|
|
110
|
+
/* @__PURE__ */ i(b, { variant: "primary", size: "lg", ...s, onClick: u, children: s.label }),
|
|
111
|
+
l && /* @__PURE__ */ i(g, { ...l, onClick: C, children: l.label })
|
|
92
112
|
] })
|
|
93
113
|
] })
|
|
94
114
|
] }) });
|
|
95
115
|
};
|
|
96
116
|
export {
|
|
97
|
-
|
|
117
|
+
Y as IndividualProductCard
|
|
98
118
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("../../components/Typography/Typography.cjs.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("../../components/Typography/Typography.cjs.js"),c=require("../../components/Button/Button.cjs.js"),a=require("./programsDetailsHero.module.css.cjs.js"),r=require("../../types/analytics/analytics.cjs.js"),d=({title:i,description:n,button:t,backgroundImage:l})=>{const o={event:r.EAnalyticsEvent.ctaClicked,type:r.EAnalyticsEventType.interaction,component:"ProgramsDetailsHero",payload:{ctaLink:t.link,ctaLabel:t.text}};return e.jsx("section",{className:a.default.root,"data-type":"hero",style:{backgroundImage:`url(${l})`},children:e.jsx("div",{className:a.default.container,children:e.jsxs("div",{className:a.default.headline,children:[e.jsx("div",{className:a.default.titleContainer,children:e.jsx(s.Typography,{className:a.default.title,as:"h2",defaultVariant:"displayMd",mobileVariant:"headingXl",children:i})}),e.jsx("div",{className:a.default.midBorder}),e.jsx("div",{className:a.default.infoContainer,children:e.jsxs("div",{className:a.default.infoBox,children:[e.jsx(s.Typography,{className:a.default.description,as:"p",defaultVariant:"bodyMd",mobileVariant:"bodySm",children:n}),e.jsx(c.Button,{as:"a",href:t.link,variant:"secondary",size:"md",analyticsProps:o,children:t.text})]})})]})})})};exports.ProgramsDetailsHero=d;
|
|
@@ -1,33 +1,45 @@
|
|
|
1
1
|
import { jsx as e, jsxs as r } from "react/jsx-runtime";
|
|
2
|
-
import { Typography as
|
|
3
|
-
import { Button as
|
|
2
|
+
import { Typography as t } from "../../components/Typography/Typography.es.js";
|
|
3
|
+
import { Button as c } from "../../components/Button/Button.es.js";
|
|
4
4
|
import a from "./programsDetailsHero.module.css.es.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
import { EAnalyticsEventType as d, EAnalyticsEvent as m } from "../../types/analytics/analytics.es.js";
|
|
6
|
+
const N = ({ title: n, description: s, button: i, backgroundImage: l }) => {
|
|
7
|
+
const o = {
|
|
8
|
+
event: m.ctaClicked,
|
|
9
|
+
type: d.interaction,
|
|
10
|
+
component: "ProgramsDetailsHero",
|
|
11
|
+
payload: {
|
|
12
|
+
ctaLink: i.link,
|
|
13
|
+
ctaLabel: i.text
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
/* @__PURE__ */ e("
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
s,
|
|
15
|
+
};
|
|
16
|
+
return /* @__PURE__ */ e("section", { className: a.root, "data-type": "hero", style: { backgroundImage: `url(${l})` }, children: /* @__PURE__ */ e("div", { className: a.container, children: /* @__PURE__ */ r("div", { className: a.headline, children: [
|
|
17
|
+
/* @__PURE__ */ e("div", { className: a.titleContainer, children: /* @__PURE__ */ e(
|
|
18
|
+
t,
|
|
20
19
|
{
|
|
21
|
-
className: a.
|
|
22
|
-
as: "
|
|
23
|
-
defaultVariant: "
|
|
24
|
-
mobileVariant: "
|
|
25
|
-
children:
|
|
20
|
+
className: a.title,
|
|
21
|
+
as: "h2",
|
|
22
|
+
defaultVariant: "displayMd",
|
|
23
|
+
mobileVariant: "headingXl",
|
|
24
|
+
children: n
|
|
26
25
|
}
|
|
27
|
-
),
|
|
28
|
-
/* @__PURE__ */ e(
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
) }),
|
|
27
|
+
/* @__PURE__ */ e("div", { className: a.midBorder }),
|
|
28
|
+
/* @__PURE__ */ e("div", { className: a.infoContainer, children: /* @__PURE__ */ r("div", { className: a.infoBox, children: [
|
|
29
|
+
/* @__PURE__ */ e(
|
|
30
|
+
t,
|
|
31
|
+
{
|
|
32
|
+
className: a.description,
|
|
33
|
+
as: "p",
|
|
34
|
+
defaultVariant: "bodyMd",
|
|
35
|
+
mobileVariant: "bodySm",
|
|
36
|
+
children: s
|
|
37
|
+
}
|
|
38
|
+
),
|
|
39
|
+
/* @__PURE__ */ e(c, { as: "a", href: i.link, variant: "secondary", size: "md", analyticsProps: o, children: i.text })
|
|
40
|
+
] }) })
|
|
41
|
+
] }) }) });
|
|
42
|
+
};
|
|
31
43
|
export {
|
|
32
|
-
|
|
44
|
+
N as ProgramsDetailsHero
|
|
33
45
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),l=require("../../components/Callback/Callback.cjs.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),l=require("../../components/Callback/Callback.cjs.js"),c=require("../../components/HighlightedTitle/HighlightedTitle.cjs.js"),u=require("../../utils/cn/cn.cjs.js"),d=require("./components/ProtocolTags/ProtocolTags.cjs.js"),o=require("./yourProtocol.module.css.cjs.js"),s=require("../../types/analytics/analytics.cjs.js"),m=({title:r,image:n,tags:i,callbackView:t})=>{const a={event:s.EAnalyticsEvent.ctaClicked,type:s.EAnalyticsEventType.interaction,component:"YourProtocol",element:"Callback",payload:{ctaLink:(t==null?void 0:t.signupUrl)??""}};return e.jsx("section",{className:o.default.root,children:e.jsxs("div",{className:o.default.container,children:[e.jsxs("div",{className:o.default.content,children:[e.jsx(c.HighlightedTitle,{title:r,className:o.default.title,defaultVariant:"displaySm",mobileVariant:"headingXl"}),e.jsx(d.ProtocolTags,{tags:i}),t&&e.jsx("div",{className:o.default.callback,children:e.jsx(l.Callback,{title:t.title,description:t.description??"",price:t.price??"",image:t.image,button:{href:t.signupUrl??"",as:"a",analyticsProps:a},size:"sm",shape:t.shape})})]}),e.jsx("img",{src:n,alt:"Your Protocol",className:u.cn(o.default.image,o.default.desktop),width:481})]})})};exports.YourProtocol=m;
|
|
@@ -1,39 +1,52 @@
|
|
|
1
|
-
import { jsx as r, jsxs as
|
|
1
|
+
import { jsx as r, jsxs as e } from "react/jsx-runtime";
|
|
2
2
|
import { Callback as a } from "../../components/Callback/Callback.es.js";
|
|
3
|
-
import { HighlightedTitle as
|
|
4
|
-
import { cn as
|
|
5
|
-
import { ProtocolTags as
|
|
3
|
+
import { HighlightedTitle as p } from "../../components/HighlightedTitle/HighlightedTitle.es.js";
|
|
4
|
+
import { cn as d } from "../../utils/cn/cn.es.js";
|
|
5
|
+
import { ProtocolTags as l } from "./components/ProtocolTags/ProtocolTags.es.js";
|
|
6
6
|
import o from "./yourProtocol.module.css.es.js";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
7
|
+
import { EAnalyticsEventType as c, EAnalyticsEvent as h } from "../../types/analytics/analytics.es.js";
|
|
8
|
+
const P = ({ title: i, image: s, tags: n, callbackView: t }) => {
|
|
9
|
+
const m = {
|
|
10
|
+
event: h.ctaClicked,
|
|
11
|
+
type: c.interaction,
|
|
12
|
+
component: "YourProtocol",
|
|
13
|
+
element: "Callback",
|
|
14
|
+
payload: {
|
|
15
|
+
ctaLink: (t == null ? void 0 : t.signupUrl) ?? ""
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
return /* @__PURE__ */ r("section", { className: o.root, children: /* @__PURE__ */ e("div", { className: o.container, children: [
|
|
19
|
+
/* @__PURE__ */ e("div", { className: o.content, children: [
|
|
20
|
+
/* @__PURE__ */ r(
|
|
21
|
+
p,
|
|
22
|
+
{
|
|
23
|
+
title: i,
|
|
24
|
+
className: o.title,
|
|
25
|
+
defaultVariant: "displaySm",
|
|
26
|
+
mobileVariant: "headingXl"
|
|
27
|
+
}
|
|
28
|
+
),
|
|
29
|
+
/* @__PURE__ */ r(l, { tags: n }),
|
|
30
|
+
t && /* @__PURE__ */ r("div", { className: o.callback, children: /* @__PURE__ */ r(
|
|
31
|
+
a,
|
|
32
|
+
{
|
|
33
|
+
title: t.title,
|
|
34
|
+
description: t.description ?? "",
|
|
35
|
+
price: t.price ?? "",
|
|
36
|
+
image: t.image,
|
|
37
|
+
button: {
|
|
38
|
+
href: t.signupUrl ?? "",
|
|
39
|
+
as: "a",
|
|
40
|
+
analyticsProps: m
|
|
41
|
+
},
|
|
42
|
+
size: "sm",
|
|
43
|
+
shape: t.shape
|
|
44
|
+
}
|
|
45
|
+
) })
|
|
46
|
+
] }),
|
|
47
|
+
/* @__PURE__ */ r("img", { src: s, alt: "Your Protocol", className: d(o.image, o.desktop), width: 481 })
|
|
48
|
+
] }) });
|
|
49
|
+
};
|
|
37
50
|
export {
|
|
38
|
-
|
|
51
|
+
P as YourProtocol
|
|
39
52
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),l=require("../../components/HighlightedTitle/HighlightedTitle.cjs.js"),i=require("../../components/Typography/Typography.cjs.js"),o=require("../../components/Button/Button.cjs.js"),c=require("./components/MiddleCarousel/MiddleCarousel.cjs.js"),s=require("../../utils/cn/cn.cjs.js"),a=require("./homepageHero.module.css.cjs.js"),r=require("../../types/analytics/analytics.cjs.js");function d(){const t="https://app.gethealthspan.com/#/product/signup/6896e50bc0af7d4d26738948",n={event:r.EAnalyticsEvent.ctaClicked,type:r.EAnalyticsEventType.interaction,component:"HomepageHero",payload:{ctaLink:t}};return e.jsxs("section",{className:a.default.root,"data-type":"hero",children:[e.jsx("div",{className:a.default.carouselArea,children:e.jsx(c.MiddleCarousel,{})}),e.jsxs("div",{className:a.default.contentContainer,children:[e.jsx("div",{className:a.default.headline,children:e.jsx(l.HighlightedTitle,{colorScheme:"dark",title:e.jsx(i.Typography,{as:"div",defaultVariant:"displayXs",mobileVariant:"headingLg",children:e.jsxs("p",{children:[e.jsx("b",{children:"Transform your quality of living"})," through the science of aging."]})})})}),e.jsxs("div",{className:a.default.callAction,children:[e.jsx(i.Typography,{as:"p",defaultVariant:"bodyLg",mobileVariant:"bodySm",className:a.default.text,children:"Defy your age with advanced longevity protocols tailored to you by clinical experts and optimized over time through ongoing labs, performance coaching, and results tracking."}),e.jsx("div",{className:s.cn(a.default.buttonWrapper,a.default.desktop),children:e.jsx(o.Button,{as:"a",href:t,variant:"secondary",size:"lg",analyticsProps:n,children:"Join Healthspan"})}),e.jsx("div",{className:s.cn(a.default.buttonWrapper,a.default.mobile),children:e.jsx(o.Button,{as:"a",href:t,variant:"secondary",size:"md",analyticsProps:n,children:"Join Healthspan"})})]})]})]})}exports.HomepageHero=d;
|
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
import { jsxs as i, jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { HighlightedTitle as
|
|
2
|
+
import { HighlightedTitle as c } from "../../components/HighlightedTitle/HighlightedTitle.es.js";
|
|
3
3
|
import { Typography as r } from "../../components/Typography/Typography.es.js";
|
|
4
|
-
import { Button as
|
|
5
|
-
import { MiddleCarousel as
|
|
6
|
-
import { cn as
|
|
4
|
+
import { Button as n } from "../../components/Button/Button.es.js";
|
|
5
|
+
import { MiddleCarousel as s } from "./components/MiddleCarousel/MiddleCarousel.es.js";
|
|
6
|
+
import { cn as l } from "../../utils/cn/cn.es.js";
|
|
7
7
|
import a from "./homepageHero.module.css.es.js";
|
|
8
|
-
|
|
8
|
+
import { EAnalyticsEventType as d, EAnalyticsEvent as p } from "../../types/analytics/analytics.es.js";
|
|
9
|
+
function N() {
|
|
10
|
+
const t = "https://app.gethealthspan.com/#/product/signup/6896e50bc0af7d4d26738948", o = {
|
|
11
|
+
event: p.ctaClicked,
|
|
12
|
+
type: d.interaction,
|
|
13
|
+
component: "HomepageHero",
|
|
14
|
+
payload: {
|
|
15
|
+
ctaLink: t
|
|
16
|
+
}
|
|
17
|
+
};
|
|
9
18
|
return /* @__PURE__ */ i("section", { className: a.root, "data-type": "hero", children: [
|
|
10
|
-
/* @__PURE__ */ e("div", { className: a.carouselArea, children: /* @__PURE__ */ e(
|
|
19
|
+
/* @__PURE__ */ e("div", { className: a.carouselArea, children: /* @__PURE__ */ e(s, {}) }),
|
|
11
20
|
/* @__PURE__ */ i("div", { className: a.contentContainer, children: [
|
|
12
21
|
/* @__PURE__ */ e("div", { className: a.headline, children: /* @__PURE__ */ e(
|
|
13
|
-
|
|
22
|
+
c,
|
|
14
23
|
{
|
|
15
24
|
colorScheme: "dark",
|
|
16
25
|
title: /* @__PURE__ */ e(r, { as: "div", defaultVariant: "displayXs", mobileVariant: "headingLg", children: /* @__PURE__ */ i("p", { children: [
|
|
@@ -21,30 +30,12 @@ function u() {
|
|
|
21
30
|
) }),
|
|
22
31
|
/* @__PURE__ */ i("div", { className: a.callAction, children: [
|
|
23
32
|
/* @__PURE__ */ e(r, { as: "p", defaultVariant: "bodyLg", mobileVariant: "bodySm", className: a.text, children: "Defy your age with advanced longevity protocols tailored to you by clinical experts and optimized over time through ongoing labs, performance coaching, and results tracking." }),
|
|
24
|
-
/* @__PURE__ */ e("div", { className:
|
|
25
|
-
|
|
26
|
-
{
|
|
27
|
-
as: "a",
|
|
28
|
-
href: "https://app.gethealthspan.com/#/product/signup/6896e50bc0af7d4d26738948",
|
|
29
|
-
variant: "secondary",
|
|
30
|
-
size: "lg",
|
|
31
|
-
children: "Join Healthspan"
|
|
32
|
-
}
|
|
33
|
-
) }),
|
|
34
|
-
/* @__PURE__ */ e("div", { className: t(a.buttonWrapper, a.mobile), children: /* @__PURE__ */ e(
|
|
35
|
-
o,
|
|
36
|
-
{
|
|
37
|
-
as: "a",
|
|
38
|
-
href: "https://app.gethealthspan.com/#/product/signup/6896e50bc0af7d4d26738948",
|
|
39
|
-
variant: "secondary",
|
|
40
|
-
size: "md",
|
|
41
|
-
children: "Join Healthspan"
|
|
42
|
-
}
|
|
43
|
-
) })
|
|
33
|
+
/* @__PURE__ */ e("div", { className: l(a.buttonWrapper, a.desktop), children: /* @__PURE__ */ e(n, { as: "a", href: t, variant: "secondary", size: "lg", analyticsProps: o, children: "Join Healthspan" }) }),
|
|
34
|
+
/* @__PURE__ */ e("div", { className: l(a.buttonWrapper, a.mobile), children: /* @__PURE__ */ e(n, { as: "a", href: t, variant: "secondary", size: "md", analyticsProps: o, children: "Join Healthspan" }) })
|
|
44
35
|
] })
|
|
45
36
|
] })
|
|
46
37
|
] });
|
|
47
38
|
}
|
|
48
39
|
export {
|
|
49
|
-
|
|
40
|
+
N as HomepageHero
|
|
50
41
|
};
|