@zenpatient-org/healthspan-marketing-ui 0.1.60 → 0.1.62

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 (47) hide show
  1. package/dist/components/TextInput/TextInput.cjs.js +1 -1
  2. package/dist/components/TextInput/TextInput.es.js +53 -52
  3. package/dist/components/Typography/Typography.d.ts +1 -1
  4. package/dist/healthspan-marketing-ui.css +1 -1
  5. package/dist/modules/ProgramDetails/ProgramDetails.cjs.js +1 -0
  6. package/dist/modules/ProgramDetails/ProgramDetails.d.ts +10 -0
  7. package/dist/modules/ProgramDetails/ProgramDetails.es.js +17 -0
  8. package/dist/modules/ProgramDetails/components/Features/Features.cjs.js +1 -0
  9. package/dist/modules/ProgramDetails/components/Features/Features.d.ts +7 -0
  10. package/dist/modules/ProgramDetails/components/Features/Features.es.js +34 -0
  11. package/dist/modules/ProgramDetails/components/Features/features.module.css.cjs.js +1 -0
  12. package/dist/modules/ProgramDetails/components/Features/features.module.css.es.js +21 -0
  13. package/dist/modules/ProgramDetails/components/Features/index.d.ts +1 -0
  14. package/dist/modules/ProgramDetails/index.d.ts +1 -0
  15. package/dist/modules/ProgramDetails/programDetails.module.css.cjs.js +1 -0
  16. package/dist/modules/ProgramDetails/programDetails.module.css.es.js +15 -0
  17. package/dist/modules/ProgramDetails/types.d.ts +8 -0
  18. package/dist/pageComponents/Banner/Banner.cjs.js +1 -0
  19. package/dist/pageComponents/Banner/Banner.d.ts +11 -0
  20. package/dist/pageComponents/Banner/Banner.es.js +15 -0
  21. package/dist/pageComponents/Banner/banner.module.css.cjs.js +1 -0
  22. package/dist/pageComponents/Banner/banner.module.css.es.js +9 -0
  23. package/dist/pageComponents/Banner/index.d.ts +1 -0
  24. package/dist/pageComponents/Footer/Footer.cjs.js +1 -1
  25. package/dist/pageComponents/Footer/Footer.es.js +31 -47
  26. package/dist/pageComponents/Footer/components/FooterAbout/FooterAbout.cjs.js +1 -1
  27. package/dist/pageComponents/Footer/components/FooterAbout/FooterAbout.es.js +22 -18
  28. package/dist/pageComponents/Footer/components/FooterAbout/footerAbout.module.css.cjs.js +1 -1
  29. package/dist/pageComponents/Footer/components/FooterAbout/footerAbout.module.css.es.js +6 -4
  30. package/dist/pageComponents/Footer/components/NewsLetter/NewsLetter.cjs.js +1 -1
  31. package/dist/pageComponents/Footer/components/NewsLetter/NewsLetter.es.js +26 -26
  32. package/dist/pageComponents/Footer/components/TopTreatmentsSlider/TopTreatmentsSlider.cjs.js +1 -0
  33. package/dist/pageComponents/Footer/components/TopTreatmentsSlider/TopTreatmentsSlider.d.ts +12 -0
  34. package/dist/pageComponents/Footer/components/TopTreatmentsSlider/TopTreatmentsSlider.es.js +81 -0
  35. package/dist/pageComponents/Footer/components/TopTreatmentsSlider/index.d.ts +1 -0
  36. package/dist/pageComponents/Footer/components/TopTreatmentsSlider/topTreatmentsSlider.module.css.cjs.js +1 -0
  37. package/dist/pageComponents/Footer/components/TopTreatmentsSlider/topTreatmentsSlider.module.css.es.js +37 -0
  38. package/dist/pageComponents/Footer/components/index.d.ts +1 -0
  39. package/dist/styles/typography.module.css.cjs.js +1 -1
  40. package/dist/styles/typography.module.css.es.js +94 -90
  41. package/package.json +11 -1
  42. package/dist/pageComponents/Footer/components/TopTreatmentsCard/TopTreatmentsCard.cjs.js +0 -1
  43. package/dist/pageComponents/Footer/components/TopTreatmentsCard/TopTreatmentsCard.d.ts +0 -11
  44. package/dist/pageComponents/Footer/components/TopTreatmentsCard/TopTreatmentsCard.es.js +0 -47
  45. package/dist/pageComponents/Footer/components/TopTreatmentsCard/index.d.ts +0 -1
  46. package/dist/pageComponents/Footer/components/TopTreatmentsCard/topTreatmentsCard.module.css.cjs.js +0 -1
  47. package/dist/pageComponents/Footer/components/TopTreatmentsCard/topTreatmentsCard.module.css.es.js +0 -33
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("../../components/Typography/Typography.cjs.js"),o=require("./components/Features/Features.cjs.js"),a=require("./programDetails.module.css.cjs.js"),n=({label:r,description:l,image:i,features:s})=>e.jsx("section",{className:a.default.root,children:e.jsxs("div",{className:a.default.container,children:[e.jsxs("div",{className:a.default.header,children:[r&&e.jsx(t.Typography,{as:"p",defaultVariant:"labelMd",mobileVariant:"labelSm",emphasis:!0,children:r}),e.jsx(t.Typography,{as:"p",defaultVariant:"preambleLg",mobileVariant:"preambleSm",children:l})]}),e.jsxs("div",{className:a.default.content,children:[e.jsx("img",{className:a.default.image,src:i,alt:"program detatils"}),s.length>0&&e.jsx(o.Features,{features:s})]})]})});exports.ProgramDetails=n;
@@ -0,0 +1,10 @@
1
+ import { TProgramDetailsFeature } from './types';
2
+
3
+ type ProgramDetailsProps = {
4
+ label?: string;
5
+ description: string;
6
+ image: string;
7
+ features: Array<TProgramDetailsFeature>;
8
+ };
9
+ export declare const ProgramDetails: ({ label, description, image, features }: ProgramDetailsProps) => import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,17 @@
1
+ import { jsx as a, jsxs as r } from "react/jsx-runtime";
2
+ import { Typography as l } from "../../components/Typography/Typography.es.js";
3
+ import { Features as o } from "./components/Features/Features.es.js";
4
+ import e from "./programDetails.module.css.es.js";
5
+ const h = ({ label: i, description: m, image: s, features: t }) => /* @__PURE__ */ a("section", { className: e.root, children: /* @__PURE__ */ r("div", { className: e.container, children: [
6
+ /* @__PURE__ */ r("div", { className: e.header, children: [
7
+ i && /* @__PURE__ */ a(l, { as: "p", defaultVariant: "labelMd", mobileVariant: "labelSm", emphasis: !0, children: i }),
8
+ /* @__PURE__ */ a(l, { as: "p", defaultVariant: "preambleLg", mobileVariant: "preambleSm", children: m })
9
+ ] }),
10
+ /* @__PURE__ */ r("div", { className: e.content, children: [
11
+ /* @__PURE__ */ a("img", { className: e.image, src: s, alt: "program detatils" }),
12
+ t.length > 0 && /* @__PURE__ */ a(o, { features: t })
13
+ ] })
14
+ ] }) });
15
+ export {
16
+ h as ProgramDetails
17
+ };
@@ -0,0 +1 @@
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),u=require("react"),r=require("../../../../utils/cn/cn.cjs.js"),c=require("../../../../components/Typography/Typography.cjs.js"),h=require("../../../../components/IconBracket/IconBracket.cjs.js"),p=require("../../../../components/Label/Label.cjs.js"),a=require("./features.module.css.cjs.js"),m=({features:i})=>{const[l,o]=u.useState(0);return e.jsx("div",{className:a.default.root,children:i.map((s,n)=>e.jsxs("div",{className:a.default.feature,children:[e.jsxs("button",{className:a.default.header,onClick:()=>o(t=>n===t?null:n),children:[e.jsx(c.Typography,{as:"h4",defaultVariant:"headingSm",mobileVariant:"headingSm",weight:"regular",children:s.label}),s.description&&e.jsx(h.IconBracket,{variant:l===n?"close":"plus",size:"sm"})]}),e.jsx("div",{className:r.cn(a.default.content,l===n&&a.default.contentActive),children:e.jsxs("div",{className:r.cn(a.default.contentInner),children:[s.description&&e.jsx(c.Typography,{as:"p",defaultVariant:"bodyXs",weight:"regular",children:s.description}),s.info&&e.jsxs("div",{className:a.default.info,children:[e.jsx(c.Typography,{defaultVariant:"bodyXs",children:s.info.label}),e.jsx("div",{className:a.default.labels,children:s.info.labels.map((t,d)=>e.jsx(p.Label,{color:"black",size:"sm",children:t},`${t}-${d}`))})]})]})})]},`${s.label}-${n}`))})};exports.Features=m;
@@ -0,0 +1,7 @@
1
+ import { TProgramDetailsFeature } from '../../types';
2
+
3
+ type FeaturesProps = {
4
+ features: Array<TProgramDetailsFeature>;
5
+ };
6
+ export declare const Features: ({ features }: FeaturesProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,34 @@
1
+ "use client";
2
+ import { jsx as i, jsxs as n } from "react/jsx-runtime";
3
+ import { useState as h } from "react";
4
+ import { cn as t } from "../../../../utils/cn/cn.es.js";
5
+ import { Typography as s } from "../../../../components/Typography/Typography.es.js";
6
+ import { IconBracket as p } from "../../../../components/IconBracket/IconBracket.es.js";
7
+ import { Label as b } from "../../../../components/Label/Label.es.js";
8
+ import a from "./features.module.css.es.js";
9
+ const V = ({ features: c }) => {
10
+ const [o, m] = h(0);
11
+ return /* @__PURE__ */ i("div", { className: a.root, children: c.map((e, r) => /* @__PURE__ */ n("div", { className: a.feature, children: [
12
+ /* @__PURE__ */ n(
13
+ "button",
14
+ {
15
+ className: a.header,
16
+ onClick: () => m((l) => r === l ? null : r),
17
+ children: [
18
+ /* @__PURE__ */ i(s, { as: "h4", defaultVariant: "headingSm", mobileVariant: "headingSm", weight: "regular", children: e.label }),
19
+ e.description && /* @__PURE__ */ i(p, { variant: o === r ? "close" : "plus", size: "sm" })
20
+ ]
21
+ }
22
+ ),
23
+ /* @__PURE__ */ i("div", { className: t(a.content, o === r && a.contentActive), children: /* @__PURE__ */ n("div", { className: t(a.contentInner), children: [
24
+ e.description && /* @__PURE__ */ i(s, { as: "p", defaultVariant: "bodyXs", weight: "regular", children: e.description }),
25
+ e.info && /* @__PURE__ */ n("div", { className: a.info, children: [
26
+ /* @__PURE__ */ i(s, { defaultVariant: "bodyXs", children: e.info.label }),
27
+ /* @__PURE__ */ i("div", { className: a.labels, children: e.info.labels.map((l, d) => /* @__PURE__ */ i(b, { color: "black", size: "sm", children: l }, `${l}-${d}`)) })
28
+ ] })
29
+ ] }) })
30
+ ] }, `${e.label}-${r}`)) });
31
+ };
32
+ export {
33
+ V as Features
34
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="features-module__root___z1Nk2",t="features-module__feature___WIRc6",n="features-module__header___FV9hQ",o="features-module__content___EeU69",_="features-module__contentActive___g9qRq",r="features-module__contentInner___187za",c="features-module__info___JbCA-",s="features-module__labels___1h3JU",u={root:e,feature:t,header:n,content:o,contentActive:_,contentInner:r,info:c,labels:s};exports.content=o;exports.contentActive=_;exports.contentInner=r;exports.default=u;exports.feature=t;exports.header=n;exports.info=c;exports.labels=s;exports.root=e;
@@ -0,0 +1,21 @@
1
+ const e = "features-module__root___z1Nk2", t = "features-module__feature___WIRc6", _ = "features-module__header___FV9hQ", n = "features-module__content___EeU69", o = "features-module__contentActive___g9qRq", s = "features-module__contentInner___187za", c = "features-module__info___JbCA-", r = "features-module__labels___1h3JU", a = {
2
+ root: e,
3
+ feature: t,
4
+ header: _,
5
+ content: n,
6
+ contentActive: o,
7
+ contentInner: s,
8
+ info: c,
9
+ labels: r
10
+ };
11
+ export {
12
+ n as content,
13
+ o as contentActive,
14
+ s as contentInner,
15
+ a as default,
16
+ t as feature,
17
+ _ as header,
18
+ c as info,
19
+ r as labels,
20
+ e as root
21
+ };
@@ -0,0 +1 @@
1
+ export { Features } from './Features';
@@ -0,0 +1 @@
1
+ export { ProgramDetails } from './ProgramDetails';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="programDetails-module__root___vJGKv",t="programDetails-module__container___PbyNG",o="programDetails-module__header___tQr9F",r="programDetails-module__content___uOXWt",_="programDetails-module__image___K0f68",a={root:e,container:t,header:o,content:r,image:_};exports.container=t;exports.content=r;exports.default=a;exports.header=o;exports.image=_;exports.root=e;
@@ -0,0 +1,15 @@
1
+ const o = "programDetails-module__root___vJGKv", e = "programDetails-module__container___PbyNG", t = "programDetails-module__header___tQr9F", _ = "programDetails-module__content___uOXWt", a = "programDetails-module__image___K0f68", r = {
2
+ root: o,
3
+ container: e,
4
+ header: t,
5
+ content: _,
6
+ image: a
7
+ };
8
+ export {
9
+ e as container,
10
+ _ as content,
11
+ r as default,
12
+ t as header,
13
+ a as image,
14
+ o as root
15
+ };
@@ -0,0 +1,8 @@
1
+ export type TProgramDetailsFeature = {
2
+ label: string;
3
+ description?: string;
4
+ info?: {
5
+ label: string;
6
+ labels: Array<string>;
7
+ };
8
+ };
@@ -0,0 +1 @@
1
+ "use client";"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/TextButton/TextButton.cjs.js"),a=require("../../components/Icon/Icon.cjs.js"),l=require("../../components/Icon/constants.cjs.js"),t=require("./banner.module.css.cjs.js"),i=({content:r,button:n,onClose:o})=>e.jsxs("section",{className:t.default.root,children:[e.jsx(s.Typography,{className:t.default.content,defaultVariant:"labelMd",mobileVariant:"labelSm",children:r}),n&&e.jsx(c.TextButton,{as:"a",size:"sm",href:n.link,children:n.text}),o&&e.jsx("div",{className:t.default.close,role:"button",onClick:o,children:e.jsx(a.Icon,{name:l.EIconName.CLOSE})})]});exports.Banner=i;
@@ -0,0 +1,11 @@
1
+ import { default as React } from 'react';
2
+
3
+ export type BannerProps = {
4
+ content: React.ReactNode;
5
+ button?: {
6
+ text: string;
7
+ link: string;
8
+ };
9
+ onClose?: () => void;
10
+ };
11
+ export declare const Banner: ({ content, button, onClose }: BannerProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,15 @@
1
+ "use client";
2
+ import { jsxs as a, jsx as e } from "react/jsx-runtime";
3
+ import { Typography as i } from "../../components/Typography/Typography.es.js";
4
+ import { TextButton as l } from "../../components/TextButton/TextButton.es.js";
5
+ import { Icon as n } from "../../components/Icon/Icon.es.js";
6
+ import { EIconName as s } from "../../components/Icon/constants.es.js";
7
+ import o from "./banner.module.css.es.js";
8
+ const N = ({ content: m, button: r, onClose: t }) => /* @__PURE__ */ a("section", { className: o.root, children: [
9
+ /* @__PURE__ */ e(i, { className: o.content, defaultVariant: "labelMd", mobileVariant: "labelSm", children: m }),
10
+ r && /* @__PURE__ */ e(l, { as: "a", size: "sm", href: r.link, children: r.text }),
11
+ t && /* @__PURE__ */ e("div", { className: o.close, role: "button", onClick: t, children: /* @__PURE__ */ e(n, { name: s.CLOSE }) })
12
+ ] });
13
+ export {
14
+ N as Banner
15
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="banner-module__root___Lhn5q",o="banner-module__close___TVbrg",t={root:e,close:o};exports.close=o;exports.default=t;exports.root=e;
@@ -0,0 +1,9 @@
1
+ const o = "banner-module__root___Lhn5q", e = "banner-module__close___TVbrg", _ = {
2
+ root: o,
3
+ close: e
4
+ };
5
+ export {
6
+ e as close,
7
+ _ as default,
8
+ o as root
9
+ };
@@ -0,0 +1 @@
1
+ export { Banner } from './Banner';
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("../../components/Icon/Icon.cjs.js");const a=require("../../components/Icon/constants.cjs.js"),i=require("../../components/IconButton/IconButton.cjs.js"),f=require("./components/FooterAbout/FooterAbout.cjs.js"),x=require("./components/FooterLinksBlock/FooterLinksBlock.cjs.js"),j=require("./components/NewsLetter/NewsLetter.cjs.js"),N=require("react");require("../../components/Button/Button.cjs.js");const v=require("./components/TopTreatmentsCard/TopTreatmentsCard.cjs.js"),g=require("./components/LinksColumn/LinksColumn.cjs.js"),p=require("./assets/CompanyName.svg.cjs.js"),t=require("./footer.module.css.cjs.js"),l={title:"Treatments",content:[{title:"All Treatments",href:"/all"},{title:"Personalized Protocols",href:"/personalized"},{title:"Labs",href:"/labs"},{title:"Medications",href:"/medications"},{title:"Supplements",href:"/supplements"}]},k=({socialMedia:o,products:s})=>{const[d,c]=N.useState(0),u=()=>c(r=>r===0?s.length-1:r-1),m=()=>c(r=>r===s.length-1?0:r+1),n=s[d],h=()=>{window.open(n==null?void 0:n.link,"_blank")};return e.jsx("div",{className:t.default.root,children:e.jsxs("div",{className:t.default.container,children:[e.jsxs("div",{className:t.default.content,children:[e.jsx("div",{className:t.default.footerLeft,children:e.jsx(j.NewsLetter,{})}),e.jsxs("div",{className:t.default.footerRight,children:[e.jsxs("div",{className:t.default.columns,children:[e.jsx(g.LinksColumn,{title:l.title,links:l.content},l.title),n&&e.jsx(v.TopTreatmentsCard,{title:"Top Treatments",image:n.image,name:n.name,price:n.price,onPrev:u,onNext:m,onLearnMore:h})]}),e.jsx("div",{className:t.default.footerLinks,children:e.jsx(x.FooterLinksBlock,{})}),e.jsxs("div",{className:t.default.about,children:[e.jsx(f.FooterAbout,{}),e.jsxs("div",{className:t.default.socials,children:[e.jsx("a",{href:o.facebook,target:"_blank",rel:"noopener noreferrer",children:e.jsx(i.IconButton,{iconName:a.EIconName.FACEBOOK,variant:"muted-invert",size:"lg"})}),e.jsx("a",{href:o.instagram,target:"_blank",rel:"noopener noreferrer",children:e.jsx(i.IconButton,{iconName:a.EIconName.INSTAGRAM,variant:"muted-invert",size:"lg"})}),e.jsx("a",{href:o.twitter,target:"_blank",rel:"noopener noreferrer",children:e.jsx(i.IconButton,{iconName:a.EIconName.X,variant:"muted-invert",size:"lg"})})]})]})]})]}),e.jsx("div",{className:t.default.img,children:e.jsx(p.default,{width:"100%",height:"100%",preserveAspectRatio:"xMidYMid meet"})})]})})};exports.Footer=k;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("../../components/Icon/Icon.cjs.js");const n=require("../../components/Icon/constants.cjs.js"),s=require("../../components/IconButton/IconButton.cjs.js"),l=require("./components/FooterAbout/FooterAbout.cjs.js"),a=require("./components/FooterLinksBlock/FooterLinksBlock.cjs.js"),c=require("./components/NewsLetter/NewsLetter.cjs.js");require("react");require("../../components/Button/Button.cjs.js");const u=require("./components/TopTreatmentsSlider/TopTreatmentsSlider.cjs.js"),d=require("./components/LinksColumn/LinksColumn.cjs.js"),m=require("./assets/CompanyName.svg.cjs.js"),t=require("./footer.module.css.cjs.js"),o={title:"Treatments",content:[{title:"All Treatments",href:"/all"},{title:"Personalized Protocols",href:"/personalized"},{title:"Labs",href:"/labs"},{title:"Medications",href:"/medications"},{title:"Supplements",href:"/supplements"}]},f=({socialMedia:r,products:i})=>e.jsx("div",{className:t.default.root,children:e.jsxs("div",{className:t.default.container,children:[e.jsxs("div",{className:t.default.content,children:[e.jsx("div",{className:t.default.footerLeft,children:e.jsx(c.NewsLetter,{})}),e.jsxs("div",{className:t.default.footerRight,children:[e.jsxs("div",{className:t.default.columns,children:[e.jsx(d.LinksColumn,{title:o.title,links:o.content},o.title),i.length>0&&e.jsx(u.TopTreatmentsSlider,{title:"Top Treatments",products:i})]}),e.jsx("div",{className:t.default.footerLinks,children:e.jsx(a.FooterLinksBlock,{})}),e.jsxs("div",{className:t.default.about,children:[e.jsx(l.FooterAbout,{}),e.jsxs("div",{className:t.default.socials,children:[e.jsx("a",{href:r.facebook,target:"_blank",rel:"noopener noreferrer",children:e.jsx(s.IconButton,{iconName:n.EIconName.FACEBOOK,variant:"muted-invert",size:"lg"})}),e.jsx("a",{href:r.instagram,target:"_blank",rel:"noopener noreferrer",children:e.jsx(s.IconButton,{iconName:n.EIconName.INSTAGRAM,variant:"muted-invert",size:"lg"})}),e.jsx("a",{href:r.twitter,target:"_blank",rel:"noopener noreferrer",children:e.jsx(s.IconButton,{iconName:n.EIconName.X,variant:"muted-invert",size:"lg"})})]})]})]})]}),e.jsx("div",{className:t.default.img,children:e.jsx(m.default,{width:"100%",height:"100%",preserveAspectRatio:"xMidYMid meet"})})]})});exports.Footer=f;
@@ -1,18 +1,18 @@
1
1
  "use client";
2
- import { jsx as e, jsxs as n } from "react/jsx-runtime";
2
+ import { jsx as e, jsxs as r } from "react/jsx-runtime";
3
3
  import "../../components/Icon/Icon.es.js";
4
- import { EIconName as l } from "../../components/Icon/constants.es.js";
5
- import { IconButton as m } from "../../components/IconButton/IconButton.es.js";
6
- import { FooterAbout as N } from "./components/FooterAbout/FooterAbout.es.js";
7
- import { FooterLinksBlock as v } from "./components/FooterLinksBlock/FooterLinksBlock.es.js";
8
- import { NewsLetter as g } from "./components/NewsLetter/NewsLetter.es.js";
9
- import { useState as u } from "react";
4
+ import { EIconName as o } from "../../components/Icon/constants.es.js";
5
+ import { IconButton as n } from "../../components/IconButton/IconButton.es.js";
6
+ import { FooterAbout as m } from "./components/FooterAbout/FooterAbout.es.js";
7
+ import { FooterLinksBlock as s } from "./components/FooterLinksBlock/FooterLinksBlock.es.js";
8
+ import { NewsLetter as c } from "./components/NewsLetter/NewsLetter.es.js";
9
+ import "react";
10
10
  import "../../components/Button/Button.es.js";
11
- import { TopTreatmentsCard as k } from "./components/TopTreatmentsCard/TopTreatmentsCard.es.js";
12
- import { LinksColumn as b } from "./components/LinksColumn/LinksColumn.es.js";
13
- import T from "./assets/CompanyName.svg.es.js";
11
+ import { TopTreatmentsSlider as d } from "./components/TopTreatmentsSlider/TopTreatmentsSlider.es.js";
12
+ import { LinksColumn as f } from "./components/LinksColumn/LinksColumn.es.js";
13
+ import h from "./assets/CompanyName.svg.es.js";
14
14
  import t from "./footer.module.css.es.js";
15
- const s = {
15
+ const l = {
16
16
  title: "Treatments",
17
17
  content: [
18
18
  { title: "All Treatments", href: "/all" },
@@ -21,43 +21,27 @@ const s = {
21
21
  { title: "Medications", href: "/medications" },
22
22
  { title: "Supplements", href: "/supplements" }
23
23
  ]
24
- }, R = ({ socialMedia: i, products: a }) => {
25
- const [d, c] = u(0), h = () => c((o) => o === 0 ? a.length - 1 : o - 1), f = () => c((o) => o === a.length - 1 ? 0 : o + 1), r = a[d], p = () => {
26
- window.open(r == null ? void 0 : r.link, "_blank");
27
- };
28
- return /* @__PURE__ */ e("div", { className: t.root, children: /* @__PURE__ */ n("div", { className: t.container, children: [
29
- /* @__PURE__ */ n("div", { className: t.content, children: [
30
- /* @__PURE__ */ e("div", { className: t.footerLeft, children: /* @__PURE__ */ e(g, {}) }),
31
- /* @__PURE__ */ n("div", { className: t.footerRight, children: [
32
- /* @__PURE__ */ n("div", { className: t.columns, children: [
33
- /* @__PURE__ */ e(b, { title: s.title, links: s.content }, s.title),
34
- r && /* @__PURE__ */ e(
35
- k,
36
- {
37
- title: "Top Treatments",
38
- image: r.image,
39
- name: r.name,
40
- price: r.price,
41
- onPrev: h,
42
- onNext: f,
43
- onLearnMore: p
44
- }
45
- )
46
- ] }),
47
- /* @__PURE__ */ e("div", { className: t.footerLinks, children: /* @__PURE__ */ e(v, {}) }),
48
- /* @__PURE__ */ n("div", { className: t.about, children: [
49
- /* @__PURE__ */ e(N, {}),
50
- /* @__PURE__ */ n("div", { className: t.socials, children: [
51
- /* @__PURE__ */ e("a", { href: i.facebook, target: "_blank", rel: "noopener noreferrer", children: /* @__PURE__ */ e(m, { iconName: l.FACEBOOK, variant: "muted-invert", size: "lg" }) }),
52
- /* @__PURE__ */ e("a", { href: i.instagram, target: "_blank", rel: "noopener noreferrer", children: /* @__PURE__ */ e(m, { iconName: l.INSTAGRAM, variant: "muted-invert", size: "lg" }) }),
53
- /* @__PURE__ */ e("a", { href: i.twitter, target: "_blank", rel: "noopener noreferrer", children: /* @__PURE__ */ e(m, { iconName: l.X, variant: "muted-invert", size: "lg" }) })
54
- ] })
24
+ }, S = ({ socialMedia: i, products: a }) => /* @__PURE__ */ e("div", { className: t.root, children: /* @__PURE__ */ r("div", { className: t.container, children: [
25
+ /* @__PURE__ */ r("div", { className: t.content, children: [
26
+ /* @__PURE__ */ e("div", { className: t.footerLeft, children: /* @__PURE__ */ e(c, {}) }),
27
+ /* @__PURE__ */ r("div", { className: t.footerRight, children: [
28
+ /* @__PURE__ */ r("div", { className: t.columns, children: [
29
+ /* @__PURE__ */ e(f, { title: l.title, links: l.content }, l.title),
30
+ a.length > 0 && /* @__PURE__ */ e(d, { title: "Top Treatments", products: a })
31
+ ] }),
32
+ /* @__PURE__ */ e("div", { className: t.footerLinks, children: /* @__PURE__ */ e(s, {}) }),
33
+ /* @__PURE__ */ r("div", { className: t.about, children: [
34
+ /* @__PURE__ */ e(m, {}),
35
+ /* @__PURE__ */ r("div", { className: t.socials, children: [
36
+ /* @__PURE__ */ e("a", { href: i.facebook, target: "_blank", rel: "noopener noreferrer", children: /* @__PURE__ */ e(n, { iconName: o.FACEBOOK, variant: "muted-invert", size: "lg" }) }),
37
+ /* @__PURE__ */ e("a", { href: i.instagram, target: "_blank", rel: "noopener noreferrer", children: /* @__PURE__ */ e(n, { iconName: o.INSTAGRAM, variant: "muted-invert", size: "lg" }) }),
38
+ /* @__PURE__ */ e("a", { href: i.twitter, target: "_blank", rel: "noopener noreferrer", children: /* @__PURE__ */ e(n, { iconName: o.X, variant: "muted-invert", size: "lg" }) })
55
39
  ] })
56
40
  ] })
57
- ] }),
58
- /* @__PURE__ */ e("div", { className: t.img, children: /* @__PURE__ */ e(T, { width: "100%", height: "100%", preserveAspectRatio: "xMidYMid meet" }) })
59
- ] }) });
60
- };
41
+ ] })
42
+ ] }),
43
+ /* @__PURE__ */ e("div", { className: t.img, children: /* @__PURE__ */ e(h, { width: "100%", height: "100%", preserveAspectRatio: "xMidYMid meet" }) })
44
+ ] }) });
61
45
  export {
62
- R as Footer
46
+ S as Footer
63
47
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),a=require("../../assets/logo.png.cjs.js"),r=require("../../../../components/Typography/Typography.cjs.js"),e=require("./footerAbout.module.css.cjs.js"),l=[{title:"(Terms of Use)",hasBrackets:!0},{title:"(privacy policy)",hasBrackets:!0},{title:"(telehealth consent policy)",hasBrackets:!0},{title:"©2025 Healthspan.",hasBrackets:!1},{title:"All rights reserved.",hasBrackets:!1}],o=()=>t.jsxs("div",{className:e.default.root,children:[t.jsx("img",{src:a.default,alt:"contentImg",className:e.default.contentImg}),t.jsx("div",{className:e.default.container,children:l.map((s,c)=>t.jsx(r.Typography,{as:"span",defaultVariant:"labelXs",emphasis:!0,className:s.hasBrackets?e.default.titleWithBrackets:e.default.title,children:s.title},s.title))})]});exports.FooterAbout=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),r=require("../../assets/logo.png.cjs.js"),a=require("../../../../components/Typography/Typography.cjs.js"),e=require("./footerAbout.module.css.cjs.js"),l=[{title:"(Terms of Use)",hasBrackets:!0,href:"/terms-of-use"},{title:"(privacy policy)",hasBrackets:!0,href:"/privacy-policy"},{title:"(telehealth consent policy)",hasBrackets:!0,href:"/telehealth-consent"},{title:"©2025 Healthspan.",hasBrackets:!1,href:"#"},{title:"All rights reserved.",hasBrackets:!1,href:"#"}],o=()=>t.jsxs("div",{className:e.default.root,children:[t.jsx("img",{src:r.default,alt:"contentImg",className:e.default.contentImg}),t.jsx("div",{className:e.default.container,children:l.map((s,c)=>t.jsx("a",{href:s.href,className:e.default.link,children:t.jsx(a.Typography,{as:"span",defaultVariant:"labelXs",emphasis:!0,className:s.hasBrackets?e.default.titleWithBrackets:e.default.title,children:s.title})},s.title))})]});exports.FooterAbout=o;
@@ -1,42 +1,46 @@
1
- import { jsxs as a, jsx as s } from "react/jsx-runtime";
2
- import r from "../../assets/logo.png.es.js";
1
+ import { jsxs as r, jsx as s } from "react/jsx-runtime";
2
+ import a from "../../assets/logo.png.es.js";
3
3
  import { Typography as l } from "../../../../components/Typography/Typography.es.js";
4
- import t from "./footerAbout.module.css.es.js";
5
- const i = [
4
+ import e from "./footerAbout.module.css.es.js";
5
+ const c = [
6
6
  {
7
7
  title: "(Terms of Use)",
8
- hasBrackets: !0
8
+ hasBrackets: !0,
9
+ href: "/terms-of-use"
9
10
  },
10
11
  {
11
12
  title: "(privacy policy)",
12
- hasBrackets: !0
13
+ hasBrackets: !0,
14
+ href: "/privacy-policy"
13
15
  },
14
16
  {
15
17
  title: "(telehealth consent policy)",
16
- hasBrackets: !0
18
+ hasBrackets: !0,
19
+ href: "/telehealth-consent"
17
20
  },
18
21
  {
19
22
  title: "©2025 Healthspan.",
20
- hasBrackets: !1
23
+ hasBrackets: !1,
24
+ href: "#"
21
25
  },
22
26
  {
23
27
  title: "All rights reserved.",
24
- hasBrackets: !1
28
+ hasBrackets: !1,
29
+ href: "#"
25
30
  }
26
- ], p = () => /* @__PURE__ */ a("div", { className: t.root, children: [
27
- /* @__PURE__ */ s("img", { src: r, alt: "contentImg", className: t.contentImg }),
28
- /* @__PURE__ */ s("div", { className: t.container, children: i.map((e, c) => /* @__PURE__ */ s(
31
+ ], f = () => /* @__PURE__ */ r("div", { className: e.root, children: [
32
+ /* @__PURE__ */ s("img", { src: a, alt: "contentImg", className: e.contentImg }),
33
+ /* @__PURE__ */ s("div", { className: e.container, children: c.map((t, i) => /* @__PURE__ */ s("a", { href: t.href, className: e.link, children: /* @__PURE__ */ s(
29
34
  l,
30
35
  {
31
36
  as: "span",
32
37
  defaultVariant: "labelXs",
33
38
  emphasis: !0,
34
- className: e.hasBrackets ? t.titleWithBrackets : t.title,
35
- children: e.title
36
- },
37
- e.title
38
- )) })
39
+ className: t.hasBrackets ? e.titleWithBrackets : e.title,
40
+ children: t.title
41
+ }
42
+ ) }, t.title)) })
39
43
  ] });
40
44
  export {
41
- p as FooterAbout
45
+ f as FooterAbout
42
46
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o="footerAbout-module__root___G9z5j",t="footerAbout-module__contentImg___UN0eD",e="footerAbout-module__container___N-gju",n={root:o,contentImg:t,container:e};exports.container=e;exports.contentImg=t;exports.default=n;exports.root=o;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o="footerAbout-module__root___G9z5j",t="footerAbout-module__contentImg___UN0eD",e="footerAbout-module__container___N-gju",n="footerAbout-module__link___nrXpE",_={root:o,contentImg:t,container:e,link:n};exports.container=e;exports.contentImg=t;exports.default=_;exports.link=n;exports.root=o;
@@ -1,11 +1,13 @@
1
- const o = "footerAbout-module__root___G9z5j", t = "footerAbout-module__contentImg___UN0eD", e = "footerAbout-module__container___N-gju", n = {
1
+ const o = "footerAbout-module__root___G9z5j", t = "footerAbout-module__contentImg___UN0eD", n = "footerAbout-module__container___N-gju", _ = "footerAbout-module__link___nrXpE", e = {
2
2
  root: o,
3
3
  contentImg: t,
4
- container: e
4
+ container: n,
5
+ link: _
5
6
  };
6
7
  export {
7
- e as container,
8
+ n as container,
8
9
  t as contentImg,
9
- n as default,
10
+ e as default,
11
+ _ as link,
10
12
  o as root
11
13
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),a=require("react"),h=require("../../../../components/Typography/Typography.cjs.js"),x=require("../../../../components/TextInput/TextInput.cjs.js"),S=require("../../../../utils/cn/cn.cjs.js"),T=require("../../../../node_modules/react-mailchimp-subscribe/es/index.cjs.js"),w=require("../../../../utils/isValidEmail.cjs.js"),i=require("./newsLetter.module.css.cjs.js"),j="//gethealthspan.us21.list-manage.com/subscribe/post?u=664ad54ec243b3582164cf116&amp;id=2483a4d606&amp;f_id=0050e6e6f0&tags=239347,239351",q=({status:e,message:l,subscribe:c})=>{const[n,o]=a.useState(""),[p,f]=a.useState(""),[u,s]=a.useState(!1),[g,r]=a.useState(""),[b,d]=a.useState(!1),y=m=>{o(m.target.value),u&&(s(!1),r("")),d(m.target.value.length>0)},v=()=>{if(!n){s(!0),r("Please enter your email address");return}if(!w.isValidEmail(n)){s(!0),r("Please enter a valid email address");return}s(!1),r(""),c({EMAIL:n})};return a.useEffect(()=>{e==="success"&&(f(n),o(""),s(!1),r(""),d(!1)),e==="error"&&typeof l=="string"&&(s(!0),r("Subscription failed. Please try again."))},[e,l]),t.jsxs("div",{className:S.cn(i.default.root,{[i.default.subscribed]:e==="success"}),children:[t.jsxs("div",{className:i.default.container,children:[t.jsx(h.Typography,{defaultVariant:"headingLg",mobileVariant:"headingSm",as:"h2",className:i.default.title,children:e==="success"?"Thanks for subscribing!":"Read the latest research reviews"}),t.jsx(h.Typography,{defaultVariant:"bodySm",mobileVariant:"bodyXs",as:"span",className:i.default.text,children:e==="success"?t.jsxs(t.Fragment,{children:["You will now begin receiving our monthly newsletter at"," ",t.jsx("b",{className:i.default.email,children:p}),". It's a great way to keep up to date on the latest developments in longevity science."]}):"Request The Longevity Blueprint to receive our weekly newsletter containing synopses of the latest clinical research."})]}),e==="sending"&&t.jsx("div",{style:{marginTop:"1rem"},children:"Subscribing, please wait..."}),e!=="success"&&e!=="sending"&&t.jsx(x.TextInput,{placeholder:"Your email",variant:"primary-invert",value:n,handleChange:y,onButtonClick:v,showButton:!0,error:u,errorText:g,active:b})]})},E=()=>t.jsx(T.default,{url:j,render:({subscribe:e,status:l,message:c})=>t.jsx(q,{status:l,message:c,subscribe:e})});exports.NewsLetter=E;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("react"),o=require("../../../../components/Typography/Typography.cjs.js"),v=require("../../../../components/TextInput/TextInput.cjs.js"),S=require("../../../../utils/cn/cn.cjs.js"),T=require("../../../../node_modules/react-mailchimp-subscribe/es/index.cjs.js"),j=require("../../../../utils/isValidEmail.cjs.js"),a=require("./newsLetter.module.css.cjs.js"),w="//gethealthspan.us21.list-manage.com/subscribe/post?u=664ad54ec243b3582164cf116&amp;id=2483a4d606&amp;f_id=0050e6e6f0&tags=239347,239351",q=({status:t,message:l,subscribe:c})=>{const[n,u]=i.useState(""),[p,f]=i.useState(""),[d,s]=i.useState(!1),[g,r]=i.useState(""),[b,m]=i.useState(!1),y=h=>{u(h.target.value),d&&(s(!1),r("")),m(h.target.value.length>0)},x=()=>{if(!n){s(!0),r("Please enter your email address");return}if(!j.isValidEmail(n)){s(!0),r("Please enter a valid email address");return}s(!1),r(""),c({EMAIL:n})};return i.useEffect(()=>{t==="success"&&(f(n),u(""),s(!1),r(""),m(!1)),t==="error"&&typeof l=="string"&&(s(!0),r("Subscription failed. Please try again."))},[t,l]),e.jsxs("div",{className:S.cn(a.default.root,{[a.default.subscribed]:t==="success"}),children:[e.jsxs("div",{className:a.default.container,children:[e.jsx(o.Typography,{defaultVariant:"headingLg",mobileVariant:"headingSm",as:"h2",className:a.default.title,children:t==="success"?"Thanks for subscribing!":"Read the latest research reviews"}),e.jsx(o.Typography,{defaultVariant:"bodySm",mobileVariant:"bodyXs",as:"span",className:a.default.text,children:t==="success"?e.jsxs(e.Fragment,{children:["You will now begin receiving our monthly newsletter at"," ",e.jsx("b",{className:a.default.email,children:p}),". It's a great way to keep up to date on the latest developments in longevity science."]}):"Request The Longevity Blueprint to receive our weekly newsletter containing synopses of the latest clinical research."})]}),t==="sending"&&e.jsx("div",{className:a.default.container,children:e.jsx(o.Typography,{defaultVariant:"bodySm",mobileVariant:"bodyXs",as:"span",className:a.default.text,children:"Subscribing, please wait..."})}),t!=="success"&&t!=="sending"&&e.jsx(v.TextInput,{placeholder:"Your email",variant:"primary-invert",value:n,handleChange:y,onButtonClick:x,showButton:!0,error:d,errorText:g,active:b})]})},E=()=>e.jsx(T.default,{url:w,render:({subscribe:t,status:l,message:c})=>e.jsx(q,{status:l,message:c,subscribe:t})});exports.NewsLetter=E;
@@ -1,24 +1,24 @@
1
- import { jsx as r, jsxs as c, Fragment as E } from "react/jsx-runtime";
2
- import { useState as n, useEffect as S } from "react";
3
- import { Typography as p } from "../../../../components/Typography/Typography.es.js";
4
- import { TextInput as x } from "../../../../components/TextInput/TextInput.es.js";
5
- import { cn as T } from "../../../../utils/cn/cn.es.js";
6
- import N from "../../../../node_modules/react-mailchimp-subscribe/es/index.es.js";
7
- import { isValidEmail as V } from "../../../../utils/isValidEmail.es.js";
8
- import a from "./newsLetter.module.css.es.js";
1
+ import { jsx as a, jsxs as c, Fragment as S } from "react/jsx-runtime";
2
+ import { useState as n, useEffect as x } from "react";
3
+ import { Typography as m } from "../../../../components/Typography/Typography.es.js";
4
+ import { TextInput as E } from "../../../../components/TextInput/TextInput.es.js";
5
+ import { cn as N } from "../../../../utils/cn/cn.es.js";
6
+ import V from "../../../../node_modules/react-mailchimp-subscribe/es/index.es.js";
7
+ import { isValidEmail as T } from "../../../../utils/isValidEmail.es.js";
8
+ import r from "./newsLetter.module.css.es.js";
9
9
  const k = "//gethealthspan.us21.list-manage.com/subscribe/post?u=664ad54ec243b3582164cf116&amp;id=2483a4d606&amp;f_id=0050e6e6f0&tags=239347,239351", C = ({
10
10
  status: e,
11
11
  message: l,
12
12
  subscribe: o
13
13
  }) => {
14
- const [s, m] = n(""), [f, g] = n(""), [d, t] = n(!1), [b, i] = n(""), [v, u] = n(!1), y = (h) => {
15
- m(h.target.value), d && (t(!1), i("")), u(h.target.value.length > 0);
14
+ const [s, d] = n(""), [f, b] = n(""), [u, t] = n(!1), [g, i] = n(""), [v, h] = n(!1), y = (p) => {
15
+ d(p.target.value), u && (t(!1), i("")), h(p.target.value.length > 0);
16
16
  }, w = () => {
17
17
  if (!s) {
18
18
  t(!0), i("Please enter your email address");
19
19
  return;
20
20
  }
21
- if (!V(s)) {
21
+ if (!T(s)) {
22
22
  t(!0), i("Please enter a valid email address");
23
23
  return;
24
24
  }
@@ -26,21 +26,21 @@ const k = "//gethealthspan.us21.list-manage.com/subscribe/post?u=664ad54ec243b35
26
26
  EMAIL: s
27
27
  });
28
28
  };
29
- return S(() => {
30
- e === "success" && (g(s), m(""), t(!1), i(""), u(!1)), e === "error" && typeof l == "string" && (t(!0), i("Subscription failed. Please try again."));
31
- }, [e, l]), /* @__PURE__ */ c("div", { className: T(a.root, { [a.subscribed]: e === "success" }), children: [
32
- /* @__PURE__ */ c("div", { className: a.container, children: [
33
- /* @__PURE__ */ r(p, { defaultVariant: "headingLg", mobileVariant: "headingSm", as: "h2", className: a.title, children: e === "success" ? "Thanks for subscribing!" : "Read the latest research reviews" }),
34
- /* @__PURE__ */ r(p, { defaultVariant: "bodySm", mobileVariant: "bodyXs", as: "span", className: a.text, children: e === "success" ? /* @__PURE__ */ c(E, { children: [
29
+ return x(() => {
30
+ e === "success" && (b(s), d(""), t(!1), i(""), h(!1)), e === "error" && typeof l == "string" && (t(!0), i("Subscription failed. Please try again."));
31
+ }, [e, l]), /* @__PURE__ */ c("div", { className: N(r.root, { [r.subscribed]: e === "success" }), children: [
32
+ /* @__PURE__ */ c("div", { className: r.container, children: [
33
+ /* @__PURE__ */ a(m, { defaultVariant: "headingLg", mobileVariant: "headingSm", as: "h2", className: r.title, children: e === "success" ? "Thanks for subscribing!" : "Read the latest research reviews" }),
34
+ /* @__PURE__ */ a(m, { defaultVariant: "bodySm", mobileVariant: "bodyXs", as: "span", className: r.text, children: e === "success" ? /* @__PURE__ */ c(S, { children: [
35
35
  "You will now begin receiving our monthly newsletter at",
36
36
  " ",
37
- /* @__PURE__ */ r("b", { className: a.email, children: f }),
37
+ /* @__PURE__ */ a("b", { className: r.email, children: f }),
38
38
  ". It's a great way to keep up to date on the latest developments in longevity science."
39
39
  ] }) : "Request The Longevity Blueprint to receive our weekly newsletter containing synopses of the latest clinical research." })
40
40
  ] }),
41
- e === "sending" && /* @__PURE__ */ r("div", { style: { marginTop: "1rem" }, children: "Subscribing, please wait..." }),
42
- e !== "success" && e !== "sending" && /* @__PURE__ */ r(
43
- x,
41
+ e === "sending" && /* @__PURE__ */ a("div", { className: r.container, children: /* @__PURE__ */ a(m, { defaultVariant: "bodySm", mobileVariant: "bodyXs", as: "span", className: r.text, children: "Subscribing, please wait..." }) }),
42
+ e !== "success" && e !== "sending" && /* @__PURE__ */ a(
43
+ E,
44
44
  {
45
45
  placeholder: "Your email",
46
46
  variant: "primary-invert",
@@ -48,21 +48,21 @@ const k = "//gethealthspan.us21.list-manage.com/subscribe/post?u=664ad54ec243b35
48
48
  handleChange: y,
49
49
  onButtonClick: w,
50
50
  showButton: !0,
51
- error: d,
52
- errorText: b,
51
+ error: u,
52
+ errorText: g,
53
53
  active: v
54
54
  }
55
55
  )
56
56
  ] });
57
- }, R = () => /* @__PURE__ */ r(
58
- N,
57
+ }, R = () => /* @__PURE__ */ a(
58
+ V,
59
59
  {
60
60
  url: k,
61
61
  render: ({
62
62
  subscribe: e,
63
63
  status: l,
64
64
  message: o
65
- }) => /* @__PURE__ */ r(C, { status: l, message: o, subscribe: e })
65
+ }) => /* @__PURE__ */ a(C, { status: l, message: o, subscribe: e })
66
66
  }
67
67
  );
68
68
  export {
@@ -0,0 +1 @@
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("react"),k=require("../../../../components/Button/Button.cjs.js"),u=require("../../../../components/Icon/constants.cjs.js"),o=require("../../../../components/Typography/Typography.cjs.js"),x=require("../../../../components/Icon/Icon.cjs.js"),a=require("./topTreatmentsSlider.module.css.cjs.js"),p=({title:g,products:n})=>{const[l,m]=i.useState(0),[r,c]=i.useState(1),[t,d]=i.useState(!1),j=i.useMemo(()=>{if(n.length===2){const h=(l-1+n.length)%n.length,f=(l+1)%n.length;return[n[h],n[l===h?f:l],n[f]].filter((T,S,_)=>_.findIndex(C=>C.name===T.name)===S)}const s=(l-1+n.length)%n.length,I=(l+1)%n.length;return[n[s],n[l],n[I]]},[l,n]),v=i.useCallback(()=>{t||(d(!0),c(2))},[t]),N=i.useCallback(()=>{t||(d(!0),c(0))},[t]),y=()=>{r===2?m(s=>(s+1)%n.length):r===0&&m(s=>(s-1+n.length)%n.length),c(1),d(!1)},b=i.useCallback(()=>{const s=n[l];s!=null&&s.link&&window.open(s.link,"_blank")},[n,l]);return e.jsxs("div",{className:a.default.root,children:[e.jsx(o.Typography,{as:"span",defaultVariant:"labelSm",mobileVariant:"labelXs",weight:"regular",emphasis:!0,className:a.default.title,children:g}),e.jsxs("div",{className:a.default.sliderContainer,children:[e.jsx("div",{className:a.default.sliderTrack,style:{transform:`translateX(calc(-${r*100}% - ${r*10}px))`,transition:t?"transform 0.3s cubic-bezier(0.4,0,0.2,1)":"none"},onTransitionEnd:y,children:j.map(s=>e.jsx("div",{className:a.default.slide,children:e.jsxs("div",{className:a.default.productCard,children:[e.jsx("div",{className:a.default.imageWrapper,children:e.jsx("img",{src:s.image,alt:s.name,className:a.default.image})}),e.jsxs("div",{className:a.default.rightSide,children:[e.jsxs("div",{className:a.default.headerSplit,children:[e.jsx("div",{className:a.default.nameContainer,children:e.jsx(o.Typography,{defaultVariant:"headingXs",children:s.name})}),e.jsx(o.Typography,{defaultVariant:"bodyMd",mobileVariant:"bodySm",className:a.default.price,children:s.price})]}),e.jsx("div",{className:a.default.actions,children:e.jsx("div",{className:a.default.btnLearnMore,children:e.jsx(k.Button,{size:"sm",variant:"primary-invert",onClick:b,children:"Learn More"})})})]})]})},s.name))}),e.jsxs("div",{className:a.default.switchers,children:[e.jsx("div",{className:a.default.arrowIcon,onClick:N,children:e.jsx(x.Icon,{name:u.EIconName.ARROW_BACK})}),e.jsx("div",{className:a.default.arrowIcon,onClick:v,children:e.jsx(x.Icon,{name:u.EIconName.ARROW_FORWARD})})]})]})]})};exports.TopTreatmentsSlider=p;
@@ -0,0 +1,12 @@
1
+ type TProduct = {
2
+ name: string;
3
+ image: string;
4
+ price: string;
5
+ link: string;
6
+ };
7
+ type TTopTreatmentsSliderProps = {
8
+ title: string;
9
+ products: Array<TProduct>;
10
+ };
11
+ export declare const TopTreatmentsSlider: ({ title, products }: TTopTreatmentsSliderProps) => import("react/jsx-runtime").JSX.Element;
12
+ export {};