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