@zenpatient-org/healthspan-marketing-ui 0.1.164 → 0.1.166

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 (50) hide show
  1. package/dist/components/StudyGridCard/StudyGridCard.cjs.js +1 -1
  2. package/dist/components/StudyGridCard/StudyGridCard.d.ts +5 -0
  3. package/dist/components/StudyGridCard/StudyGridCard.es.js +62 -42
  4. package/dist/healthspan-marketing-ui.css +1 -1
  5. package/dist/modules/Curiosity/Curiosity.cjs.js +1 -1
  6. package/dist/modules/Curiosity/Curiosity.d.ts +4 -1
  7. package/dist/modules/Curiosity/Curiosity.es.js +32 -14
  8. package/dist/modules/FeaturedIn/FeaturedIn.cjs.js +1 -1
  9. package/dist/modules/FeaturedIn/FeaturedIn.es.js +7 -8
  10. package/dist/modules/FeaturedIn/featuredIn.module.css.cjs.js +1 -1
  11. package/dist/modules/FeaturedIn/featuredIn.module.css.es.js +10 -12
  12. package/dist/modules/HSModal/components/MailchimpModal/MailchimpModal.cjs.js +1 -1
  13. package/dist/modules/HSModal/components/MailchimpModal/MailchimpModal.d.ts +1 -1
  14. package/dist/modules/HSModal/components/MailchimpModal/MailchimpModal.es.js +13 -9
  15. package/dist/modules/HSModal/components/MailchimpModal/components/Newsletter/Newsletter.cjs.js +1 -1
  16. package/dist/modules/HSModal/components/MailchimpModal/components/Newsletter/Newsletter.d.ts +5 -1
  17. package/dist/modules/HSModal/components/MailchimpModal/components/Newsletter/Newsletter.es.js +79 -58
  18. package/dist/modules/HSModal/types.d.ts +4 -0
  19. package/dist/modules/IndividualProductCard/IndividualProductCard.cjs.js +1 -1
  20. package/dist/modules/IndividualProductCard/IndividualProductCard.d.ts +4 -1
  21. package/dist/modules/IndividualProductCard/IndividualProductCard.es.js +74 -56
  22. package/dist/modules/ResearchFeatured/ResearchFeatured.cjs.js +1 -1
  23. package/dist/modules/ResearchFeatured/ResearchFeatured.d.ts +4 -1
  24. package/dist/modules/ResearchFeatured/ResearchFeatured.es.js +21 -8
  25. package/dist/modules/ResearchFeatured/components/FeaturedArticle/FeaturedArticle.cjs.js +1 -1
  26. package/dist/modules/ResearchFeatured/components/FeaturedArticle/FeaturedArticle.d.ts +1 -1
  27. package/dist/modules/ResearchFeatured/components/FeaturedArticle/FeaturedArticle.es.js +58 -33
  28. package/dist/modules/ResearchFilters/ResearchFilters.cjs.js +1 -1
  29. package/dist/modules/ResearchFilters/ResearchFilters.d.ts +4 -1
  30. package/dist/modules/ResearchFilters/ResearchFilters.es.js +40 -17
  31. package/dist/modules/ResearchStudies/ResearchStudies.cjs.js +1 -1
  32. package/dist/modules/ResearchStudies/ResearchStudies.d.ts +4 -1
  33. package/dist/modules/ResearchStudies/ResearchStudies.es.js +11 -9
  34. package/dist/modules/ResearchStudies/components/StudyCard/StudyCard.cjs.js +1 -1
  35. package/dist/modules/ResearchStudies/components/StudyCard/StudyCard.d.ts +1 -1
  36. package/dist/modules/ResearchStudies/components/StudyCard/StudyCard.es.js +38 -14
  37. package/dist/modules/Studies/Studies.cjs.js +1 -1
  38. package/dist/modules/Studies/Studies.d.ts +4 -1
  39. package/dist/modules/Studies/Studies.es.js +26 -11
  40. package/dist/pageComponents/Footer/Footer.cjs.js +1 -1
  41. package/dist/pageComponents/Footer/Footer.d.ts +5 -1
  42. package/dist/pageComponents/Footer/Footer.es.js +46 -26
  43. package/dist/pageComponents/Footer/components/NewsLetter/NewsLetter.cjs.js +1 -1
  44. package/dist/pageComponents/Footer/components/NewsLetter/NewsLetter.d.ts +3 -1
  45. package/dist/pageComponents/Footer/components/NewsLetter/NewsLetter.es.js +39 -30
  46. package/dist/types/analytics/analytics.cjs.js +1 -0
  47. package/dist/types/analytics/analytics.es.js +5 -0
  48. package/dist/types/analytics.d.ts +81 -0
  49. package/dist/types/articles.d.ts +4 -0
  50. package/package.json +7 -2
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),u=require("../../components/Button/Button.cjs.js"),m=require("../../components/HighlightedTitle/HighlightedTitle.cjs.js"),o=require("../../components/InfiniteScroll/InfiniteScroll.cjs.js"),a=require("../../components/Typography/Typography.cjs.js"),d=require("../../components/StudyGridCard/StudyGridCard.cjs.js"),f=require("../../utils/cn/cn.cjs.js"),t=require("./curiosity.module.css.cjs.js"),h=({title:c,description:r,studies:s,indexed:i})=>e.jsxs("div",{className:f.cn(t.default.root,{[t.default.notIndexed]:!i}),children:[e.jsxs("div",{className:t.default.contentContainer,children:[e.jsxs("div",{className:t.default.containerHeader,children:[e.jsx(m.HighlightedTitle,{title:c,className:t.default.title,defaultVariant:"displayXl",mobileVariant:"displayXs"}),e.jsxs("div",{className:t.default.contentTextContainer,children:[r&&e.jsx(a.Typography,{defaultVariant:"bodyLg",mobileVariant:"bodySm",className:t.default.contentText,children:r}),e.jsx("div",{className:t.default.buttonContainer,children:e.jsx(u.Button,{as:"a",href:"/research",variant:"muted",size:"lg",children:"View all studies"})})]})]}),i&&e.jsxs("div",{className:t.default.dividerContainer,children:[e.jsx(a.Typography,{defaultVariant:"labelMd",children:i.number}),e.jsx("div",{className:t.default.divider}),e.jsx(a.Typography,{defaultVariant:"labelMd",emphasis:!0,children:i.label})]})]}),e.jsxs("div",{className:t.default.containerBottom,children:[e.jsx(o.InfiniteScroll,{items:s,speed:50,slowOnTouch:!0,enableManualScroll:!0,contentClassName:t.default.infiniteScrollContent,itemClassName:t.default.infiniteScrollItem,rootClassName:t.default.infiniteScrollRoot,renderItem:(l,n)=>e.jsx(d.StudyGridCard,{...l,compressed:!0},n)}),e.jsx(o.InfiniteScroll,{items:s,speed:50,direction:"right",slowOnTouch:!0,enableManualScroll:!0,contentClassName:t.default.infiniteScrollContent,itemClassName:t.default.infiniteScrollItemTwo,renderItem:(l,n)=>e.jsx(d.StudyGridCard,{...l,compressed:!0},n)})]})]});exports.Curiosity=h;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),f=require("../../components/Button/Button.cjs.js"),h=require("../../components/HighlightedTitle/HighlightedTitle.cjs.js"),c=require("../../components/InfiniteScroll/InfiniteScroll.cjs.js"),n=require("../../components/Typography/Typography.cjs.js"),u=require("../../components/StudyGridCard/StudyGridCard.cjs.js"),y=require("../../utils/cn/cn.cjs.js"),t=require("./curiosity.module.css.cjs.js"),p=({title:m,description:r,studies:s,indexed:l,trackingEvent:o,trackingLocation:d})=>e.jsxs("div",{className:y.cn(t.default.root,{[t.default.notIndexed]:!l}),children:[e.jsxs("div",{className:t.default.contentContainer,children:[e.jsxs("div",{className:t.default.containerHeader,children:[e.jsx(h.HighlightedTitle,{title:m,className:t.default.title,defaultVariant:"displayXl",mobileVariant:"displayXs"}),e.jsxs("div",{className:t.default.contentTextContainer,children:[r&&e.jsx(n.Typography,{defaultVariant:"bodyLg",mobileVariant:"bodySm",className:t.default.contentText,children:r}),e.jsx("div",{className:t.default.buttonContainer,children:e.jsx(f.Button,{as:"a",href:"/research",variant:"muted",size:"lg",children:"View all studies"})})]})]}),l&&e.jsxs("div",{className:t.default.dividerContainer,children:[e.jsx(n.Typography,{defaultVariant:"labelMd",children:l.number}),e.jsx("div",{className:t.default.divider}),e.jsx(n.Typography,{defaultVariant:"labelMd",emphasis:!0,children:l.label})]})]}),e.jsxs("div",{className:t.default.containerBottom,children:[e.jsx(c.InfiniteScroll,{items:s,speed:50,slowOnTouch:!0,enableManualScroll:!0,contentClassName:t.default.infiniteScrollContent,itemClassName:t.default.infiniteScrollItem,rootClassName:t.default.infiniteScrollRoot,renderItem:(i,a)=>e.jsx(u.StudyGridCard,{...i,compressed:!0,trackingEvent:o,trackingLocation:d},a)}),e.jsx(c.InfiniteScroll,{items:s,speed:50,direction:"right",slowOnTouch:!0,enableManualScroll:!0,contentClassName:t.default.infiniteScrollContent,itemClassName:t.default.infiniteScrollItemTwo,renderItem:(i,a)=>e.jsx(u.StudyGridCard,{...i,compressed:!0,trackingEvent:o,trackingLocation:d},a)})]})]});exports.Curiosity=p;
@@ -1,4 +1,5 @@
1
1
  import { CompressedStudyCardProps } from '../../components/StudyGridCard/StudyGridCard';
2
+ import { EAnalyticsEvent } from '../../types/analytics';
2
3
 
3
4
  type Props = {
4
5
  title: React.ReactNode;
@@ -8,6 +9,8 @@ type Props = {
8
9
  number: string;
9
10
  label: string;
10
11
  };
12
+ trackingEvent?: EAnalyticsEvent.scienceCardClicked;
13
+ trackingLocation?: string;
11
14
  };
12
- export declare const Curiosity: ({ title, description, studies, indexed }: Props) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const Curiosity: ({ title, description, studies, indexed, trackingEvent, trackingLocation }: Props) => import("react/jsx-runtime").JSX.Element;
13
16
  export {};
@@ -1,19 +1,19 @@
1
1
  "use client";
2
2
  import { jsxs as i, jsx as t } from "react/jsx-runtime";
3
- import { Button as u } from "../../components/Button/Button.es.js";
4
- import { HighlightedTitle as h } from "../../components/HighlightedTitle/HighlightedTitle.es.js";
5
- import { InfiniteScroll as m } from "../../components/InfiniteScroll/InfiniteScroll.es.js";
3
+ import { Button as f } from "../../components/Button/Button.es.js";
4
+ import { HighlightedTitle as p } from "../../components/HighlightedTitle/HighlightedTitle.es.js";
5
+ import { InfiniteScroll as d } from "../../components/InfiniteScroll/InfiniteScroll.es.js";
6
6
  import { Typography as n } from "../../components/Typography/Typography.es.js";
7
- import { StudyGridCard as c } from "../../components/StudyGridCard/StudyGridCard.es.js";
8
- import { cn as f } from "../../utils/cn/cn.es.js";
7
+ import { StudyGridCard as u } from "../../components/StudyGridCard/StudyGridCard.es.js";
8
+ import { cn as N } from "../../utils/cn/cn.es.js";
9
9
  import e from "./curiosity.module.css.es.js";
10
- const V = ({ title: d, description: o, studies: s, indexed: r }) => /* @__PURE__ */ i("div", { className: f(e.root, { [e.notIndexed]: !r }), children: [
10
+ const g = ({ title: h, description: o, studies: s, indexed: r, trackingEvent: m, trackingLocation: c }) => /* @__PURE__ */ i("div", { className: N(e.root, { [e.notIndexed]: !r }), children: [
11
11
  /* @__PURE__ */ i("div", { className: e.contentContainer, children: [
12
12
  /* @__PURE__ */ i("div", { className: e.containerHeader, children: [
13
13
  /* @__PURE__ */ t(
14
- h,
14
+ p,
15
15
  {
16
- title: d,
16
+ title: h,
17
17
  className: e.title,
18
18
  defaultVariant: "displayXl",
19
19
  mobileVariant: "displayXs"
@@ -21,7 +21,7 @@ const V = ({ title: d, description: o, studies: s, indexed: r }) => /* @__PURE__
21
21
  ),
22
22
  /* @__PURE__ */ i("div", { className: e.contentTextContainer, children: [
23
23
  o && /* @__PURE__ */ t(n, { defaultVariant: "bodyLg", mobileVariant: "bodySm", className: e.contentText, children: o }),
24
- /* @__PURE__ */ t("div", { className: e.buttonContainer, children: /* @__PURE__ */ t(u, { as: "a", href: "/research", variant: "muted", size: "lg", children: "View all studies" }) })
24
+ /* @__PURE__ */ t("div", { className: e.buttonContainer, children: /* @__PURE__ */ t(f, { as: "a", href: "/research", variant: "muted", size: "lg", children: "View all studies" }) })
25
25
  ] })
26
26
  ] }),
27
27
  r && /* @__PURE__ */ i("div", { className: e.dividerContainer, children: [
@@ -32,7 +32,7 @@ const V = ({ title: d, description: o, studies: s, indexed: r }) => /* @__PURE__
32
32
  ] }),
33
33
  /* @__PURE__ */ i("div", { className: e.containerBottom, children: [
34
34
  /* @__PURE__ */ t(
35
- m,
35
+ d,
36
36
  {
37
37
  items: s,
38
38
  speed: 50,
@@ -41,11 +41,20 @@ const V = ({ title: d, description: o, studies: s, indexed: r }) => /* @__PURE__
41
41
  contentClassName: e.infiniteScrollContent,
42
42
  itemClassName: e.infiniteScrollItem,
43
43
  rootClassName: e.infiniteScrollRoot,
44
- renderItem: (a, l) => /* @__PURE__ */ t(c, { ...a, compressed: !0 }, l)
44
+ renderItem: (l, a) => /* @__PURE__ */ t(
45
+ u,
46
+ {
47
+ ...l,
48
+ compressed: !0,
49
+ trackingEvent: m,
50
+ trackingLocation: c
51
+ },
52
+ a
53
+ )
45
54
  }
46
55
  ),
47
56
  /* @__PURE__ */ t(
48
- m,
57
+ d,
49
58
  {
50
59
  items: s,
51
60
  speed: 50,
@@ -54,11 +63,20 @@ const V = ({ title: d, description: o, studies: s, indexed: r }) => /* @__PURE__
54
63
  enableManualScroll: !0,
55
64
  contentClassName: e.infiniteScrollContent,
56
65
  itemClassName: e.infiniteScrollItemTwo,
57
- renderItem: (a, l) => /* @__PURE__ */ t(c, { ...a, compressed: !0 }, l)
66
+ renderItem: (l, a) => /* @__PURE__ */ t(
67
+ u,
68
+ {
69
+ ...l,
70
+ compressed: !0,
71
+ trackingEvent: m,
72
+ trackingLocation: c
73
+ },
74
+ a
75
+ )
58
76
  }
59
77
  )
60
78
  ] })
61
79
  ] });
62
80
  export {
63
- V as Curiosity
81
+ g as Curiosity
64
82
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=require("react"),o=require("../../components/InfiniteScroll/InfiniteScroll.cjs.js"),l=require("../../components/Typography/Typography.cjs.js"),s=require("../../utils/cn/cn.cjs.js"),a=require("./featuredIn.module.css.cjs.js");function i({media:n}){return e.jsx("div",{className:a.default.mediaFeaturedInBlock,children:n.filter(r=>!!r.logo).map(({logo:r,url:t},d)=>{const u=t?"a":"div";return e.jsx(u,{href:t,target:"_blank",rel:"noopener noreferrer",className:a.default.mediaFeaturedInImageContainer,children:e.jsx("div",{className:a.default.mediaFeaturedInImage,style:{backgroundImage:`url(${r})`}})},`${t}_${d}`)})})}function f({quote:n}){return e.jsx("div",{className:a.default.quoteFeaturedInBlock,children:e.jsxs(l.Typography,{as:"p",defaultVariant:"headingSm",mobileVariant:"headingXxs",className:a.default.quoteFeaturedInText,children:["“",n,"”"]})})}function m({button_label:n}){return e.jsx("a",{href:"https://app.gethealthspan.com/#/product/signup/6896e50bc0af7d4d26738948",className:a.default.ctaFeaturedIn,children:e.jsx("p",{className:a.default.ctaFeaturedInText,children:n})})}function p({label:n,content:r}){return e.jsxs("section",{className:a.default.container,children:[e.jsx("p",{className:s.cn(a.default.title,a.default.customTitle),children:"(Featured In)"}),e.jsx(l.Typography,{as:"p",defaultVariant:"displayMd",className:s.cn(a.default.title,a.default.defaultTitle),children:"(Featured In)"}),e.jsx(l.Typography,{as:"p",defaultVariant:"labelMd",mobileVariant:"labelSm",className:a.default.label,children:n}),e.jsx(o.InfiniteScroll,{items:r,contentClassName:a.default.content,itemClassName:a.default.item,rootClassName:a.default.scrollRoot,renderItem:t=>e.jsxs(c.Fragment,{children:[t.type==="media"&&e.jsx(i,{media:t.media}),t.type==="quote"&&e.jsx(f,{quote:t.quote}),t.type==="cta"&&e.jsx(m,{button_label:t.button_label}),e.jsx("div",{className:a.default.spacer})]},t.type)})]})}exports.FeaturedIn=p;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("react"),c=require("../../components/InfiniteScroll/InfiniteScroll.cjs.js"),l=require("../../components/Typography/Typography.cjs.js"),s=require("../../utils/cn/cn.cjs.js"),a=require("./featuredIn.module.css.cjs.js");function i({media:n}){return e.jsx("div",{className:a.default.mediaFeaturedInBlock,children:n.filter(r=>!!r.logo).map(({logo:r,url:t},d)=>{const u=t?"a":"div";return e.jsx(u,{href:t,target:"_blank",rel:"noopener noreferrer",className:a.default.mediaFeaturedInImageContainer,children:e.jsx("div",{className:a.default.mediaFeaturedInImage,style:{backgroundImage:`url(${r})`}})},`${t}_${d}`)})})}function m({quote:n}){return e.jsx("div",{className:a.default.quoteFeaturedInBlock,children:e.jsxs(l.Typography,{as:"p",defaultVariant:"headingSm",mobileVariant:"headingXxs",className:a.default.quoteFeaturedInText,children:["“",n,"”"]})})}function f({button_label:n}){return e.jsx("a",{href:"https://app.gethealthspan.com/#/product/signup/6896e50bc0af7d4d26738948",className:a.default.ctaFeaturedIn,children:e.jsx("span",{className:a.default.ctaFeaturedInText,children:n})})}function p({label:n,content:r}){return e.jsxs("section",{className:a.default.container,children:[e.jsx("p",{className:s.cn(a.default.title,a.default.customTitle),children:"(Featured In)"}),e.jsx(l.Typography,{as:"p",defaultVariant:"displayMd",className:s.cn(a.default.title,a.default.defaultTitle),children:"(Featured In)"}),e.jsx(l.Typography,{as:"p",defaultVariant:"labelMd",mobileVariant:"labelSm",emphasis:!0,className:a.default.label,children:n}),e.jsx(c.InfiniteScroll,{items:r,contentClassName:a.default.content,itemClassName:a.default.item,rootClassName:a.default.scrollRoot,renderItem:t=>e.jsxs(o.Fragment,{children:[t.type==="media"&&e.jsx(i,{media:t.media}),t.type==="quote"&&e.jsx(m,{quote:t.quote}),t.type==="cta"&&e.jsx(f,{button_label:t.button_label})]},t.type)})]})}exports.FeaturedIn=p;
@@ -1,11 +1,11 @@
1
1
  import { jsxs as l, jsx as a } from "react/jsx-runtime";
2
- import { Fragment as s } from "react";
2
+ import { Fragment as d } from "react";
3
3
  import { InfiniteScroll as c } from "../../components/InfiniteScroll/InfiniteScroll.es.js";
4
4
  import { Typography as o } from "../../components/Typography/Typography.es.js";
5
5
  import { cn as i } from "../../utils/cn/cn.es.js";
6
6
  import e from "./featuredIn.module.css.es.js";
7
7
  function m({ media: r }) {
8
- return /* @__PURE__ */ a("div", { className: e.mediaFeaturedInBlock, children: r.filter((n) => !!n.logo).map(({ logo: n, url: t }, d) => /* @__PURE__ */ a(
8
+ return /* @__PURE__ */ a("div", { className: e.mediaFeaturedInBlock, children: r.filter((n) => !!n.logo).map(({ logo: n, url: t }, s) => /* @__PURE__ */ a(
9
9
  t ? "a" : "div",
10
10
  {
11
11
  href: t,
@@ -14,7 +14,7 @@ function m({ media: r }) {
14
14
  className: e.mediaFeaturedInImageContainer,
15
15
  children: /* @__PURE__ */ a("div", { className: e.mediaFeaturedInImage, style: { backgroundImage: `url(${n})` } })
16
16
  },
17
- `${t}_${d}`
17
+ `${t}_${s}`
18
18
  )) });
19
19
  }
20
20
  function u({ quote: r }) {
@@ -39,7 +39,7 @@ function p({ button_label: r }) {
39
39
  {
40
40
  href: "https://app.gethealthspan.com/#/product/signup/6896e50bc0af7d4d26738948",
41
41
  className: e.ctaFeaturedIn,
42
- children: /* @__PURE__ */ a("p", { className: e.ctaFeaturedInText, children: r })
42
+ children: /* @__PURE__ */ a("span", { className: e.ctaFeaturedInText, children: r })
43
43
  }
44
44
  );
45
45
  }
@@ -47,7 +47,7 @@ function y({ label: r, content: n }) {
47
47
  return /* @__PURE__ */ l("section", { className: e.container, children: [
48
48
  /* @__PURE__ */ a("p", { className: i(e.title, e.customTitle), children: "(Featured In)" }),
49
49
  /* @__PURE__ */ a(o, { as: "p", defaultVariant: "displayMd", className: i(e.title, e.defaultTitle), children: "(Featured In)" }),
50
- /* @__PURE__ */ a(o, { as: "p", defaultVariant: "labelMd", mobileVariant: "labelSm", className: e.label, children: r }),
50
+ /* @__PURE__ */ a(o, { as: "p", defaultVariant: "labelMd", mobileVariant: "labelSm", emphasis: !0, className: e.label, children: r }),
51
51
  /* @__PURE__ */ a(
52
52
  c,
53
53
  {
@@ -55,11 +55,10 @@ function y({ label: r, content: n }) {
55
55
  contentClassName: e.content,
56
56
  itemClassName: e.item,
57
57
  rootClassName: e.scrollRoot,
58
- renderItem: (t) => /* @__PURE__ */ l(s, { children: [
58
+ renderItem: (t) => /* @__PURE__ */ l(d, { children: [
59
59
  t.type === "media" && /* @__PURE__ */ a(m, { media: t.media }),
60
60
  t.type === "quote" && /* @__PURE__ */ a(u, { quote: t.quote }),
61
- t.type === "cta" && /* @__PURE__ */ a(p, { button_label: t.button_label }),
62
- /* @__PURE__ */ a("div", { className: e.spacer })
61
+ t.type === "cta" && /* @__PURE__ */ a(p, { button_label: t.button_label })
63
62
  ] }, t.type)
64
63
  }
65
64
  )
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="featuredIn-module__container___WFzUN",t="featuredIn-module__label___RaWYk",a="featuredIn-module__scrollRoot___kFYfd",n="featuredIn-module__item___RskSp",u="featuredIn-module__title___LRXHK",o="featuredIn-module__customTitle___R5G6Z",_="featuredIn-module__defaultTitle___s7UOV",d="featuredIn-module__content___XhQ45",r="featuredIn-module__mediaFeaturedInBlock___t7JKi",l="featuredIn-module__mediaFeaturedInImageContainer___mUgw0",c="featuredIn-module__mediaFeaturedInImage___xjFq3",I="featuredIn-module__quoteFeaturedInBlock___Rykyr",m="featuredIn-module__quoteFeaturedInText___GvOUa",i="featuredIn-module__ctaFeaturedIn___zAyLU",s="featuredIn-module__ctaFeaturedInText___9XABT",F="featuredIn-module__spacer___uImPI",f={container:e,label:t,scrollRoot:a,item:n,title:u,customTitle:o,defaultTitle:_,content:d,mediaFeaturedInBlock:r,mediaFeaturedInImageContainer:l,mediaFeaturedInImage:c,quoteFeaturedInBlock:I,quoteFeaturedInText:m,ctaFeaturedIn:i,ctaFeaturedInText:s,spacer:F};exports.container=e;exports.content=d;exports.ctaFeaturedIn=i;exports.ctaFeaturedInText=s;exports.customTitle=o;exports.default=f;exports.defaultTitle=_;exports.item=n;exports.label=t;exports.mediaFeaturedInBlock=r;exports.mediaFeaturedInImage=c;exports.mediaFeaturedInImageContainer=l;exports.quoteFeaturedInBlock=I;exports.quoteFeaturedInText=m;exports.scrollRoot=a;exports.spacer=F;exports.title=u;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="featuredIn-module__container___WFzUN",t="featuredIn-module__label___RaWYk",a="featuredIn-module__scrollRoot___kFYfd",n="featuredIn-module__item___RskSp",u="featuredIn-module__title___LRXHK",o="featuredIn-module__customTitle___R5G6Z",d="featuredIn-module__defaultTitle___s7UOV",_="featuredIn-module__content___XhQ45",l="featuredIn-module__mediaFeaturedInBlock___t7JKi",r="featuredIn-module__mediaFeaturedInImageContainer___mUgw0",I="featuredIn-module__mediaFeaturedInImage___xjFq3",c="featuredIn-module__quoteFeaturedInBlock___Rykyr",m="featuredIn-module__quoteFeaturedInText___GvOUa",i="featuredIn-module__ctaFeaturedIn___zAyLU",s="featuredIn-module__ctaFeaturedInText___9XABT",F={container:e,label:t,scrollRoot:a,item:n,title:u,customTitle:o,defaultTitle:d,content:_,mediaFeaturedInBlock:l,mediaFeaturedInImageContainer:r,mediaFeaturedInImage:I,quoteFeaturedInBlock:c,quoteFeaturedInText:m,ctaFeaturedIn:i,ctaFeaturedInText:s};exports.container=e;exports.content=_;exports.ctaFeaturedIn=i;exports.ctaFeaturedInText=s;exports.customTitle=o;exports.default=F;exports.defaultTitle=d;exports.item=n;exports.label=t;exports.mediaFeaturedInBlock=l;exports.mediaFeaturedInImage=I;exports.mediaFeaturedInImageContainer=r;exports.quoteFeaturedInBlock=c;exports.quoteFeaturedInText=m;exports.scrollRoot=a;exports.title=u;
@@ -1,4 +1,4 @@
1
- const e = "featuredIn-module__container___WFzUN", t = "featuredIn-module__label___RaWYk", _ = "featuredIn-module__scrollRoot___kFYfd", a = "featuredIn-module__item___RskSp", n = "featuredIn-module__title___LRXHK", d = "featuredIn-module__customTitle___R5G6Z", o = "featuredIn-module__defaultTitle___s7UOV", u = "featuredIn-module__content___XhQ45", r = "featuredIn-module__mediaFeaturedInBlock___t7JKi", l = "featuredIn-module__mediaFeaturedInImageContainer___mUgw0", I = "featuredIn-module__mediaFeaturedInImage___xjFq3", c = "featuredIn-module__quoteFeaturedInBlock___Rykyr", m = "featuredIn-module__quoteFeaturedInText___GvOUa", s = "featuredIn-module__ctaFeaturedIn___zAyLU", i = "featuredIn-module__ctaFeaturedInText___9XABT", F = "featuredIn-module__spacer___uImPI", f = {
1
+ const e = "featuredIn-module__container___WFzUN", t = "featuredIn-module__label___RaWYk", _ = "featuredIn-module__scrollRoot___kFYfd", a = "featuredIn-module__item___RskSp", n = "featuredIn-module__title___LRXHK", d = "featuredIn-module__customTitle___R5G6Z", o = "featuredIn-module__defaultTitle___s7UOV", u = "featuredIn-module__content___XhQ45", l = "featuredIn-module__mediaFeaturedInBlock___t7JKi", r = "featuredIn-module__mediaFeaturedInImageContainer___mUgw0", I = "featuredIn-module__mediaFeaturedInImage___xjFq3", c = "featuredIn-module__quoteFeaturedInBlock___Rykyr", m = "featuredIn-module__quoteFeaturedInText___GvOUa", i = "featuredIn-module__ctaFeaturedIn___zAyLU", s = "featuredIn-module__ctaFeaturedInText___9XABT", F = {
2
2
  container: e,
3
3
  label: t,
4
4
  scrollRoot: _,
@@ -7,31 +7,29 @@ const e = "featuredIn-module__container___WFzUN", t = "featuredIn-module__label_
7
7
  customTitle: d,
8
8
  defaultTitle: o,
9
9
  content: u,
10
- mediaFeaturedInBlock: r,
11
- mediaFeaturedInImageContainer: l,
10
+ mediaFeaturedInBlock: l,
11
+ mediaFeaturedInImageContainer: r,
12
12
  mediaFeaturedInImage: I,
13
13
  quoteFeaturedInBlock: c,
14
14
  quoteFeaturedInText: m,
15
- ctaFeaturedIn: s,
16
- ctaFeaturedInText: i,
17
- spacer: F
15
+ ctaFeaturedIn: i,
16
+ ctaFeaturedInText: s
18
17
  };
19
18
  export {
20
19
  e as container,
21
20
  u as content,
22
- s as ctaFeaturedIn,
23
- i as ctaFeaturedInText,
21
+ i as ctaFeaturedIn,
22
+ s as ctaFeaturedInText,
24
23
  d as customTitle,
25
- f as default,
24
+ F as default,
26
25
  o as defaultTitle,
27
26
  a as item,
28
27
  t as label,
29
- r as mediaFeaturedInBlock,
28
+ l as mediaFeaturedInBlock,
30
29
  I as mediaFeaturedInImage,
31
- l as mediaFeaturedInImageContainer,
30
+ r as mediaFeaturedInImageContainer,
32
31
  c as quoteFeaturedInBlock,
33
32
  m as quoteFeaturedInText,
34
33
  _ as scrollRoot,
35
- F as spacer,
36
34
  n as title
37
35
  };
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("../../../../components/Typography/Typography.cjs.js"),c=require("../../../../utils/cn/cn.cjs.js"),f=require("./components/Newsletter/Newsletter.cjs.js"),a=require("./mailchimpModal.module.css.cjs.js"),j=({title:n,description:t,buttonText:d,image:s,layout:i="plain-column",colorScheme:l="light",onCloseCallback:o,onClickCallback:u,cancelButtonText:p="no, thanks",tags:m,placeholder:h})=>{const g=y=>{y.stopPropagation()};return e.jsxs("div",{className:c.cn(a.default.contentWrapper,a.default[l]),"data-image-position":i,onClick:g,children:[e.jsxs("div",{className:c.cn(a.default.content,a.default[l]),children:[(n||t)&&e.jsxs("div",{className:a.default.text,children:[n&&e.jsx(r.Typography,{defaultVariant:"headingLg",children:n}),t&&e.jsx(r.Typography,{defaultVariant:"bodySm",children:t})]}),e.jsx(f.Newsletter,{buttonText:d,cancelButtonText:p,colorScheme:l,onCloseCallback:o,onClickCallback:u,tags:m,placeholder:h})]}),s&&i!=="plain-column"&&e.jsx("div",{className:a.default.imageWrapper,children:e.jsx("div",{style:{backgroundImage:`url(${s})`},className:a.default.image})})]})};exports.MailchimpModal=j;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("../../../../components/Typography/Typography.cjs.js"),c=require("../../../../utils/cn/cn.cjs.js"),x=require("./components/Newsletter/Newsletter.cjs.js"),a=require("./mailchimpModal.module.css.cjs.js"),N=({title:n,description:t,buttonText:d,image:s,layout:i="plain-column",colorScheme:l="light",onCloseCallback:o,onClickCallback:u,cancelButtonText:p="no, thanks",tags:m,placeholder:h,trackingEvent:g,trackingLocation:y})=>{const f=j=>{j.stopPropagation()};return e.jsxs("div",{className:c.cn(a.default.contentWrapper,a.default[l]),"data-image-position":i,onClick:f,children:[e.jsxs("div",{className:c.cn(a.default.content,a.default[l]),children:[(n||t)&&e.jsxs("div",{className:a.default.text,children:[n&&e.jsx(r.Typography,{defaultVariant:"headingLg",children:n}),t&&e.jsx(r.Typography,{defaultVariant:"bodySm",children:t})]}),e.jsx(x.Newsletter,{buttonText:d,cancelButtonText:p,colorScheme:l,onCloseCallback:o,onClickCallback:u,tags:m,placeholder:h,trackingEvent:g,trackingLocation:y})]}),s&&i!=="plain-column"&&e.jsx("div",{className:a.default.imageWrapper,children:e.jsx("div",{style:{backgroundImage:`url(${s})`},className:a.default.image})})]})};exports.MailchimpModal=N;
@@ -1,3 +1,3 @@
1
1
  import { TMailchimpModal } from '../../types';
2
2
 
3
- export declare const MailchimpModal: ({ title, description, buttonText, image, layout, colorScheme, onCloseCallback, onClickCallback, cancelButtonText, tags, placeholder, }: Omit<TMailchimpModal, "id" | "type">) => import("react/jsx-runtime").JSX.Element;
3
+ export declare const MailchimpModal: ({ title, description, buttonText, image, layout, colorScheme, onCloseCallback, onClickCallback, cancelButtonText, tags, placeholder, trackingEvent, trackingLocation, }: Omit<TMailchimpModal, "id" | "type">) => import("react/jsx-runtime").JSX.Element;
@@ -2,9 +2,9 @@
2
2
  import { jsxs as t, jsx as n } from "react/jsx-runtime";
3
3
  import { Typography as s } from "../../../../components/Typography/Typography.es.js";
4
4
  import { cn as m } from "../../../../utils/cn/cn.es.js";
5
- import { Newsletter as v } from "./components/Newsletter/Newsletter.es.js";
5
+ import { Newsletter as x } from "./components/Newsletter/Newsletter.es.js";
6
6
  import a from "./mailchimpModal.module.css.es.js";
7
- const j = ({
7
+ const V = ({
8
8
  title: i,
9
9
  description: r,
10
10
  buttonText: c,
@@ -15,17 +15,19 @@ const j = ({
15
15
  onClickCallback: p,
16
16
  cancelButtonText: h = "no, thanks",
17
17
  tags: g,
18
- placeholder: f
18
+ placeholder: f,
19
+ trackingEvent: u,
20
+ trackingLocation: N
19
21
  }) => {
20
- const u = (N) => {
21
- N.stopPropagation();
22
+ const v = (k) => {
23
+ k.stopPropagation();
22
24
  };
23
25
  return /* @__PURE__ */ t(
24
26
  "div",
25
27
  {
26
28
  className: m(a.contentWrapper, a[e]),
27
29
  "data-image-position": o,
28
- onClick: u,
30
+ onClick: v,
29
31
  children: [
30
32
  /* @__PURE__ */ t("div", { className: m(a.content, a[e]), children: [
31
33
  (i || r) && /* @__PURE__ */ t("div", { className: a.text, children: [
@@ -33,7 +35,7 @@ const j = ({
33
35
  r && /* @__PURE__ */ n(s, { defaultVariant: "bodySm", children: r })
34
36
  ] }),
35
37
  /* @__PURE__ */ n(
36
- v,
38
+ x,
37
39
  {
38
40
  buttonText: c,
39
41
  cancelButtonText: h,
@@ -41,7 +43,9 @@ const j = ({
41
43
  onCloseCallback: d,
42
44
  onClickCallback: p,
43
45
  tags: g,
44
- placeholder: f
46
+ placeholder: f,
47
+ trackingEvent: u,
48
+ trackingLocation: N
45
49
  }
46
50
  )
47
51
  ] }),
@@ -51,5 +55,5 @@ const j = ({
51
55
  );
52
56
  };
53
57
  export {
54
- j as MailchimpModal
58
+ V as MailchimpModal
55
59
  };
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),u=require("react"),I=require("../../../../../../components/TextInput/TextInput.cjs.js"),B=require("../../../../../../node_modules/react-mailchimp-subscribe/es/index.cjs.js"),M=require("../../../../../../utils/isValidEmail.cjs.js"),x=require("../../../../../../components/Button/Button.cjs.js"),y=require("./newsletter.module.css.cjs.js"),N=e=>`//gethealthspan.us21.list-manage.com/subscribe/post?u=664ad54ec243b3582164cf116&amp;id=2483a4d606&amp;f_id=0050e6e6f0&tags=${e}`,P=({status:e,message:o,subscribe:c,buttonText:l,colorScheme:d,onCloseCallback:r,cancelButtonText:m,onClickCallback:a,placeholder:f})=>{const[i,p]=u.useState(""),[g,s]=u.useState(!1),[j,n]=u.useState(""),[q,h]=u.useState(!1),E=v=>{p(v.target.value),g&&(s(!1),n("")),h(v.target.value.length>0)},S=()=>{if(!i){s(!0),n("Please enter your email address");return}if(!M.isValidEmail(i)){s(!0),n("Please enter a valid email address");return}s(!1),n(""),c({EMAIL:i}),a==null||a()};u.useEffect(()=>{e==="success"&&(p(""),s(!1),n(""),h(!1),r==null||r()),e==="error"&&typeof o=="string"&&(s(!0),n("Subscription failed. Please try again."))},[e,o]);const T=d==="light"?"primary":"primary-invert",_=d==="light"?"primary":"primary-invert";return t.jsxs("div",{className:y.default.interface,children:[t.jsx(I.TextInput,{placeholder:f||"Email",variant:T,value:i,handleChange:E,error:g,errorText:j,active:q}),t.jsxs("div",{className:y.default.buttonContainer,children:[t.jsx(x.Button,{size:"md",variant:_,onClick:S,children:e==="sending"?"submitting…":l}),t.jsx(x.Button,{size:"md",variant:"ghost",onClick:r,children:m})]})]})},V=({buttonText:e,colorScheme:o,onCloseCallback:c,cancelButtonText:l,tags:d,onClickCallback:r,placeholder:m})=>t.jsx(B.default,{url:N(d),render:({subscribe:a,status:f,message:i})=>t.jsx(P,{status:f,message:i,subscribe:a,buttonText:e,colorScheme:o,onCloseCallback:c,onClickCallback:r,cancelButtonText:l,placeholder:m})});exports.Newsletter=V;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),o=require("react"),I=require("../../../../../../components/TextInput/TextInput.cjs.js"),N=require("../../../../../../node_modules/react-mailchimp-subscribe/es/index.cjs.js"),P=require("../../../../../../utils/isValidEmail.cjs.js"),q=require("../../../../../../components/Button/Button.cjs.js"),V=require("../../../../../../types/analytics/analytics.cjs.js"),E=require("./newsletter.module.css.cjs.js"),A=e=>`//gethealthspan.us21.list-manage.com/subscribe/post?u=664ad54ec243b3582164cf116&amp;id=2483a4d606&amp;f_id=0050e6e6f0&tags=${e}`,$=({status:e,message:c,subscribe:m,buttonText:p,colorScheme:l,onCloseCallback:i,cancelButtonText:f,onClickCallback:a,placeholder:h,trackingEvent:d,trackingLocation:g})=>{const[t,v]=o.useState(""),[y,n]=o.useState(!1),[j,s]=o.useState(""),[S,x]=o.useState(!1),T=u=>{v(u.target.value),y&&(n(!1),s("")),x(u.target.value.length>0)},_=()=>{var u;if(!t){n(!0),s("Please enter your email address");return}if(!P.isValidEmail(t)){n(!0),s("Please enter a valid email address");return}if(n(!1),s(""),m({EMAIL:t}),a==null||a(),d){const B={event:d,location:g||"",type:V.EAnalyticsEventType.interaction,payload:{email:t,component:"HSModal",element:"MailchimpCustomForm",pageTitle:document.title}};(u=window.eventBus)==null||u.emit("analytics",B)}};o.useEffect(()=>{e==="success"&&(v(""),n(!1),s(""),x(!1),i==null||i()),e==="error"&&typeof c=="string"&&(n(!0),s("Subscription failed. Please try again."))},[e,c]);const M=l==="light"?"primary":"primary-invert",w=l==="light"?"primary":"primary-invert";return r.jsxs("div",{className:E.default.interface,children:[r.jsx(I.TextInput,{placeholder:h||"Email",variant:M,value:t,handleChange:T,error:y,errorText:j,active:S}),r.jsxs("div",{className:E.default.buttonContainer,children:[r.jsx(q.Button,{size:"md",variant:w,onClick:_,children:e==="sending"?"submitting…":p}),r.jsx(q.Button,{size:"md",variant:"ghost",onClick:i,children:f})]})]})},z=({buttonText:e,colorScheme:c,onCloseCallback:m,cancelButtonText:p,tags:l,onClickCallback:i,placeholder:f,trackingEvent:a,trackingLocation:h})=>r.jsx(N.default,{url:A(l),render:({subscribe:d,status:g,message:t})=>r.jsx($,{status:g,message:t,subscribe:d,buttonText:e,colorScheme:c,onCloseCallback:m,onClickCallback:i,cancelButtonText:p,placeholder:f,trackingEvent:a,trackingLocation:h})});exports.Newsletter=z;
@@ -1,4 +1,6 @@
1
- export declare const Newsletter: ({ buttonText, colorScheme, onCloseCallback, cancelButtonText, tags, onClickCallback, placeholder, }: {
1
+ import { EAnalyticsEvent } from '../../../../../../types/analytics';
2
+
3
+ export declare const Newsletter: ({ buttonText, colorScheme, onCloseCallback, cancelButtonText, tags, onClickCallback, placeholder, trackingEvent, trackingLocation, }: {
2
4
  buttonText: string;
3
5
  colorScheme: "light" | "dark";
4
6
  onCloseCallback?: () => void;
@@ -6,4 +8,6 @@ export declare const Newsletter: ({ buttonText, colorScheme, onCloseCallback, ca
6
8
  tags: string;
7
9
  onClickCallback?: () => void;
8
10
  placeholder?: string;
11
+ trackingEvent?: EAnalyticsEvent.mailchimpSubmitClicked;
12
+ trackingLocation?: string;
9
13
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,91 +1,112 @@
1
1
  "use client";
2
- import { jsx as n, jsxs as y } from "react/jsx-runtime";
3
- import { useState as u, useEffect as V } from "react";
4
- import { TextInput as j } from "../../../../../../components/TextInput/TextInput.es.js";
5
- import z from "../../../../../../node_modules/react-mailchimp-subscribe/es/index.es.js";
6
- import { isValidEmail as A } from "../../../../../../utils/isValidEmail.es.js";
7
- import { Button as E } from "../../../../../../components/Button/Button.es.js";
8
- import x from "./newsletter.module.css.es.js";
9
- const b = (e) => `//gethealthspan.us21.list-manage.com/subscribe/post?u=664ad54ec243b3582164cf116&amp;id=2483a4d606&amp;f_id=0050e6e6f0&tags=${e}`, w = ({
2
+ import { jsx as m, jsxs as x } from "react/jsx-runtime";
3
+ import { useState as d, useEffect as j } from "react";
4
+ import { TextInput as z } from "../../../../../../components/TextInput/TextInput.es.js";
5
+ import B from "../../../../../../node_modules/react-mailchimp-subscribe/es/index.es.js";
6
+ import { isValidEmail as F } from "../../../../../../utils/isValidEmail.es.js";
7
+ import { Button as M } from "../../../../../../components/Button/Button.es.js";
8
+ import { EAnalyticsEventType as b } from "../../../../../../types/analytics/analytics.es.js";
9
+ import T from "./newsletter.module.css.es.js";
10
+ const H = (e) => `//gethealthspan.us21.list-manage.com/subscribe/post?u=664ad54ec243b3582164cf116&amp;id=2483a4d606&amp;f_id=0050e6e6f0&tags=${e}`, L = ({
10
11
  status: e,
11
- message: m,
12
- subscribe: f,
13
- buttonText: d,
14
- colorScheme: o,
12
+ message: o,
13
+ subscribe: c,
14
+ buttonText: f,
15
+ colorScheme: p,
15
16
  onCloseCallback: r,
16
- cancelButtonText: p,
17
+ cancelButtonText: l,
17
18
  onClickCallback: a,
18
- placeholder: c
19
+ placeholder: h,
20
+ trackingEvent: u,
21
+ trackingLocation: v
19
22
  }) => {
20
- const [t, l] = u(""), [h, i] = u(!1), [M, s] = u(""), [I, g] = u(!1), N = (v) => {
21
- l(v.target.value), h && (i(!1), s("")), g(v.target.value.length > 0);
22
- }, P = () => {
23
+ const [t, g] = d(""), [y, i] = d(!1), [S, n] = d(""), [w, E] = d(!1), A = (s) => {
24
+ g(s.target.value), y && (i(!1), n("")), E(s.target.value.length > 0);
25
+ }, I = () => {
26
+ var s;
23
27
  if (!t) {
24
- i(!0), s("Please enter your email address");
28
+ i(!0), n("Please enter your email address");
25
29
  return;
26
30
  }
27
- if (!A(t)) {
28
- i(!0), s("Please enter a valid email address");
31
+ if (!F(t)) {
32
+ i(!0), n("Please enter a valid email address");
29
33
  return;
30
34
  }
31
- i(!1), s(""), f({
35
+ if (i(!1), n(""), c({
32
36
  EMAIL: t
33
- }), a == null || a();
37
+ }), a == null || a(), u) {
38
+ const V = {
39
+ event: u,
40
+ location: v || "",
41
+ type: b.interaction,
42
+ payload: {
43
+ email: t,
44
+ component: "HSModal",
45
+ element: "MailchimpCustomForm",
46
+ pageTitle: document.title
47
+ }
48
+ };
49
+ (s = window.eventBus) == null || s.emit("analytics", V);
50
+ }
34
51
  };
35
- V(() => {
36
- e === "success" && (l(""), i(!1), s(""), g(!1), r == null || r()), e === "error" && typeof m == "string" && (i(!0), s("Subscription failed. Please try again."));
37
- }, [e, m]);
38
- const S = o === "light" ? "primary" : "primary-invert", T = o === "light" ? "primary" : "primary-invert";
39
- return /* @__PURE__ */ y("div", { className: x.interface, children: [
40
- /* @__PURE__ */ n(
41
- j,
52
+ j(() => {
53
+ e === "success" && (g(""), i(!1), n(""), E(!1), r == null || r()), e === "error" && typeof o == "string" && (i(!0), n("Subscription failed. Please try again."));
54
+ }, [e, o]);
55
+ const N = p === "light" ? "primary" : "primary-invert", P = p === "light" ? "primary" : "primary-invert";
56
+ return /* @__PURE__ */ x("div", { className: T.interface, children: [
57
+ /* @__PURE__ */ m(
58
+ z,
42
59
  {
43
- placeholder: c || "Email",
44
- variant: S,
60
+ placeholder: h || "Email",
61
+ variant: N,
45
62
  value: t,
46
- handleChange: N,
47
- error: h,
48
- errorText: M,
49
- active: I
63
+ handleChange: A,
64
+ error: y,
65
+ errorText: S,
66
+ active: w
50
67
  }
51
68
  ),
52
- /* @__PURE__ */ y("div", { className: x.buttonContainer, children: [
53
- /* @__PURE__ */ n(E, { size: "md", variant: T, onClick: P, children: e === "sending" ? "submitting…" : d }),
54
- /* @__PURE__ */ n(E, { size: "md", variant: "ghost", onClick: r, children: p })
69
+ /* @__PURE__ */ x("div", { className: T.buttonContainer, children: [
70
+ /* @__PURE__ */ m(M, { size: "md", variant: P, onClick: I, children: e === "sending" ? "submitting…" : f }),
71
+ /* @__PURE__ */ m(M, { size: "md", variant: "ghost", onClick: r, children: l })
55
72
  ] })
56
73
  ] });
57
- }, D = ({
74
+ }, O = ({
58
75
  buttonText: e,
59
- colorScheme: m,
60
- onCloseCallback: f,
61
- cancelButtonText: d,
62
- tags: o,
76
+ colorScheme: o,
77
+ onCloseCallback: c,
78
+ cancelButtonText: f,
79
+ tags: p,
63
80
  onClickCallback: r,
64
- placeholder: p
65
- }) => /* @__PURE__ */ n(
66
- z,
81
+ placeholder: l,
82
+ trackingEvent: a,
83
+ trackingLocation: h
84
+ }) => /* @__PURE__ */ m(
85
+ B,
67
86
  {
68
- url: b(o),
87
+ url: H(p),
69
88
  render: ({
70
- subscribe: a,
71
- status: c,
89
+ subscribe: u,
90
+ status: v,
72
91
  message: t
73
- }) => /* @__PURE__ */ n(
74
- w,
92
+ }) => /* @__PURE__ */ m(
93
+ L,
75
94
  {
76
- status: c,
95
+ status: v,
77
96
  message: t,
78
- subscribe: a,
97
+ subscribe: u,
79
98
  buttonText: e,
80
- colorScheme: m,
81
- onCloseCallback: f,
99
+ colorScheme: o,
100
+ onCloseCallback: c,
82
101
  onClickCallback: r,
83
- cancelButtonText: d,
84
- placeholder: p
102
+ cancelButtonText: f,
103
+ placeholder: l,
104
+ trackingEvent: a,
105
+ trackingLocation: h
85
106
  }
86
107
  )
87
108
  }
88
109
  );
89
110
  export {
90
- D as Newsletter
111
+ O as Newsletter
91
112
  };
@@ -1,3 +1,5 @@
1
+ import { EAnalyticsEvent } from '../../types/analytics';
2
+
1
3
  type TimerTrigger = {
2
4
  type: 'timer';
3
5
  delay: number;
@@ -15,6 +17,8 @@ type THSModal = {
15
17
  onCloseCallback?: () => void;
16
18
  onClickCallback?: () => void;
17
19
  initiallyOpen?: boolean;
20
+ trackingEvent?: EAnalyticsEvent.mailchimpSubmitClicked;
21
+ trackingLocation?: string;
18
22
  };
19
23
  export type TMailchimpModal = THSModal & {
20
24
  type: 'mailchimp';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),y=require("../../utils/cn/cn.cjs.js"),u=require("../../components/Button/Button.cjs.js"),m=require("../../components/TextButton/TextButton.cjs.js"),f=require("../../components/ImageGallery/ImageGallery.cjs.js"),i=require("../../components/Typography/Typography.cjs.js"),v=require("../../components/SmartCallout/SmartCallout.cjs.js"),S=require("../../components/RatingStars/RatingStars.cjs.js"),_=require("./components/Features/Features.cjs.js"),q=require("./components/PlanCard/PlanCard.cjs.js"),a=require("./individualProductCard.module.css.cjs.js"),b=({name:h,description:c,features:g,images:p,label:j,rating:r,plans:t,button:l,textButton:s,selectedPlanId:x,onSelectPlan:o})=>{const n=t&&t.length>0&&o;return e.jsx("section",{className:a.default.root,children:e.jsxs("div",{className:y.cn(a.default.container,!n&&a.default.noPlans),children:[e.jsxs("div",{className:a.default.info,children:[e.jsxs("div",{className:a.default.infoHeader,children:[e.jsx(i.Typography,{as:"h3",defaultVariant:"displayXs",mobileVariant:"headingLg",weight:"regular",children:h}),!!c&&e.jsx(i.Typography,{as:"p",defaultVariant:"bodySm",className:a.default.infoDescription,weight:"regular",children:c}),r&&e.jsxs("div",{className:a.default.ratingContainer,children:[!!r.stars&&e.jsx(S.RatingStars,{rating:r.stars,size:"sm"}),!!r.totalReviews&&e.jsxs(i.Typography,{as:"p",defaultVariant:"labelSm",emphasis:!0,children:[r.totalReviews," reviews"]})]})]}),e.jsx(_.Features,{features:g}),e.jsxs("div",{className:a.default.actions,children:[e.jsx(v.SmartCallout,{label:"HSA/FSA Eligible"}),!n&&e.jsxs(e.Fragment,{children:[e.jsx(u.Button,{variant:"primary",size:"lg",...l,children:l.label}),s&&e.jsx(m.TextButton,{...s,children:s.label})]})]})]}),e.jsx(f.ImageGallery,{className:a.default.gallery,images:p,label:j}),n&&e.jsxs("div",{className:a.default.plansSection,children:[e.jsxs("div",{className:a.default.plans,children:[e.jsx(i.Typography,{as:"h4",defaultVariant:"labelSm",emphasis:!0,weight:"regular",children:"Subscribe & Save"}),t.map(d=>e.jsx(q.PlanCard,{plan:d,onSelect:o,isActive:x===d.id},d.id))]}),e.jsxs("div",{className:a.default.actions,children:[e.jsx(u.Button,{variant:"primary",size:"lg",...l,children:l.label}),s&&e.jsx(m.TextButton,{...s,children:s.label})]})]})]})})};exports.IndividualProductCard=b;
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,6 +1,7 @@
1
1
  import { ButtonProps } from '../../components/Button';
2
2
  import { TextButtonProps } from '../../components/TextButton';
3
3
  import { TProductFeature, TProductPlan } from './types';
4
+ import { EAnalyticsEvent } from '../../types/analytics';
4
5
 
5
6
  type IndividualProductCardProps = {
6
7
  name: string;
@@ -21,6 +22,8 @@ type IndividualProductCardProps = {
21
22
  plans?: Array<TProductPlan>;
22
23
  selectedPlanId?: TProductPlan['id'];
23
24
  onSelectPlan?: (planId: TProductPlan['id']) => void;
25
+ trackingEvent?: EAnalyticsEvent.userSelectedPlan;
26
+ trackingLocation?: string;
24
27
  };
25
- export declare const IndividualProductCard: ({ name, description, features, images, label, rating, plans, button, textButton, selectedPlanId, onSelectPlan, }: IndividualProductCardProps) => import("react/jsx-runtime").JSX.Element;
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;
26
29
  export {};