@zenpatient-org/healthspan-marketing-ui 0.1.31 → 0.1.33

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 (163) hide show
  1. package/dist/components/AnchorLinks/AnchorLinks.cjs.js +1 -0
  2. package/dist/components/AnchorLinks/AnchorLinks.d.ts +3 -0
  3. package/dist/components/AnchorLinks/AnchorLinks.es.js +20 -0
  4. package/dist/components/AnchorLinks/anchorLinks.module.css.cjs.js +1 -0
  5. package/dist/components/AnchorLinks/anchorLinks.module.css.es.js +13 -0
  6. package/dist/components/AnchorLinks/index.d.ts +1 -0
  7. package/dist/components/AnchorLinks/types.d.ts +17 -0
  8. package/dist/components/FAQComponent/components/FAQComponentItem/FAQComponentItem.cjs.js +1 -1
  9. package/dist/components/FAQComponent/components/FAQComponentItem/FAQComponentItem.es.js +12 -12
  10. package/dist/components/FAQComponent/components/FAQComponentItem/faqComponentItem.module.css.cjs.js +1 -1
  11. package/dist/components/FAQComponent/components/FAQComponentItem/faqComponentItem.module.css.es.js +16 -14
  12. package/dist/components/FilterMenu/FilterMenu.cjs.js +1 -1
  13. package/dist/components/FilterMenu/FilterMenu.d.ts +9 -3
  14. package/dist/components/FilterMenu/FilterMenu.es.js +33 -30
  15. package/dist/components/GalleryPagination/GalleryPagination.cjs.js +1 -0
  16. package/dist/components/GalleryPagination/GalleryPagination.d.ts +7 -0
  17. package/dist/components/GalleryPagination/GalleryPagination.es.js +7 -0
  18. package/dist/components/GalleryPagination/galleryPagination.module.css.cjs.js +1 -0
  19. package/dist/components/GalleryPagination/galleryPagination.module.css.es.js +13 -0
  20. package/dist/components/GalleryPagination/index.d.ts +1 -0
  21. package/dist/components/ImageGallery/ImageGallery.cjs.js +1 -0
  22. package/dist/components/ImageGallery/ImageGallery.d.ts +8 -0
  23. package/dist/components/ImageGallery/ImageGallery.es.js +35 -0
  24. package/dist/components/ImageGallery/imageGallery.module.css.cjs.js +1 -0
  25. package/dist/components/ImageGallery/imageGallery.module.css.es.js +15 -0
  26. package/dist/components/ImageGallery/index.d.ts +1 -0
  27. package/dist/components/Pagination/Pagination.cjs.js +1 -1
  28. package/dist/components/Pagination/Pagination.es.js +9 -10
  29. package/dist/components/Pagination/pagination.module.css.cjs.js +1 -0
  30. package/dist/components/Pagination/pagination.module.css.es.js +19 -0
  31. package/dist/components/Pricing/components/BenefitItem/BenefitItem.cjs.js +1 -1
  32. package/dist/components/Pricing/components/BenefitItem/BenefitItem.es.js +8 -7
  33. package/dist/components/RadioButton/RadioButton.cjs.js +1 -0
  34. package/dist/components/RadioButton/RadioButton.d.ts +9 -0
  35. package/dist/components/RadioButton/RadioButton.es.js +38 -0
  36. package/dist/components/RadioButton/index.d.ts +1 -0
  37. package/dist/components/RadioButton/radioButton.module.css.cjs.js +1 -0
  38. package/dist/components/RadioButton/radioButton.module.css.es.js +21 -0
  39. package/dist/components/SmartCallout/SmartCallout.cjs.js +1 -0
  40. package/dist/components/SmartCallout/SmartCallout.d.ts +5 -0
  41. package/dist/components/SmartCallout/SmartCallout.es.js +7 -0
  42. package/dist/components/SmartCallout/index.d.ts +1 -0
  43. package/dist/components/SmartCallout/smartCallout.module.css.cjs.js +1 -0
  44. package/dist/components/SmartCallout/smartCallout.module.css.es.js +7 -0
  45. package/dist/components/TextButton/TextButton.d.ts +2 -2
  46. package/dist/components/TextButton/index.d.ts +1 -0
  47. package/dist/healthspan-marketing-ui.css +1 -1
  48. package/dist/index.cjs.js +1 -1
  49. package/dist/index.es.js +3 -2
  50. package/dist/modules/AllInOne/AllInOne.cjs.js +1 -0
  51. package/dist/modules/AllInOne/AllInOne.d.ts +11 -0
  52. package/dist/modules/AllInOne/AllInOne.es.js +222 -0
  53. package/dist/modules/AllInOne/allInOne.module.css.cjs.js +1 -0
  54. package/dist/modules/AllInOne/allInOne.module.css.es.js +23 -0
  55. package/dist/modules/AllInOne/index.d.ts +1 -0
  56. package/dist/modules/CallToAction/CallToAction.cjs.js +1 -0
  57. package/dist/modules/CallToAction/CallToAction.d.ts +15 -0
  58. package/dist/modules/CallToAction/CallToAction.es.js +165 -0
  59. package/dist/modules/CallToAction/callToAction.module.css.cjs.js +1 -0
  60. package/dist/modules/CallToAction/callToAction.module.css.es.js +43 -0
  61. package/dist/modules/CallToAction/index.d.ts +1 -0
  62. package/dist/modules/HighestStandards/components/TabsMenu/TabsMenu.cjs.js +1 -1
  63. package/dist/modules/HighestStandards/components/TabsMenu/TabsMenu.es.js +12 -12
  64. package/dist/modules/HighestStandards/components/TabsMenu/components/TabsMenutem/TabsMenuItem.cjs.js +1 -1
  65. package/dist/modules/HighestStandards/components/TabsMenu/components/TabsMenutem/TabsMenuItem.es.js +17 -17
  66. package/dist/modules/HighestStandards/components/TabsMenu/components/TabsMenutem/tabsMenuItem.module.css.cjs.js +1 -1
  67. package/dist/modules/HighestStandards/components/TabsMenu/components/TabsMenutem/tabsMenuItem.module.css.es.js +8 -6
  68. package/dist/modules/IndividualProductCard/IndividualProductCard.cjs.js +1 -0
  69. package/dist/modules/IndividualProductCard/IndividualProductCard.d.ts +26 -0
  70. package/dist/modules/IndividualProductCard/IndividualProductCard.es.js +80 -0
  71. package/dist/modules/IndividualProductCard/components/Features/Features.cjs.js +1 -0
  72. package/dist/modules/IndividualProductCard/components/Features/Features.d.ts +7 -0
  73. package/dist/modules/IndividualProductCard/components/Features/Features.es.js +35 -0
  74. package/dist/modules/IndividualProductCard/components/Features/features.module.css.cjs.js +1 -0
  75. package/dist/modules/IndividualProductCard/components/Features/features.module.css.es.js +17 -0
  76. package/dist/modules/IndividualProductCard/components/Features/index.d.ts +1 -0
  77. package/dist/modules/IndividualProductCard/components/PlanCard/PlanCard.cjs.js +1 -0
  78. package/dist/modules/IndividualProductCard/components/PlanCard/PlanCard.d.ts +9 -0
  79. package/dist/modules/IndividualProductCard/components/PlanCard/PlanCard.es.js +48 -0
  80. package/dist/modules/IndividualProductCard/components/PlanCard/index.d.ts +1 -0
  81. package/dist/modules/IndividualProductCard/components/PlanCard/planCard.module.css.cjs.js +1 -0
  82. package/dist/modules/IndividualProductCard/components/PlanCard/planCard.module.css.es.js +35 -0
  83. package/dist/modules/IndividualProductCard/index.d.ts +1 -0
  84. package/dist/modules/IndividualProductCard/individualProductCard.module.css.cjs.js +1 -0
  85. package/dist/modules/IndividualProductCard/individualProductCard.module.css.es.js +27 -0
  86. package/dist/modules/IndividualProductCard/types.d.ts +17 -0
  87. package/dist/modules/IngredientHighlight/components/Ingredient/Ingredient.cjs.js +1 -1
  88. package/dist/modules/IngredientHighlight/components/Ingredient/Ingredient.es.js +2 -2
  89. package/dist/modules/IngredientHighlight/components/Ingredient/ingredient.module.css.cjs.js +1 -1
  90. package/dist/modules/IngredientHighlight/components/Ingredient/ingredient.module.css.es.js +6 -4
  91. package/dist/pageComponents/Bubbles/Bubbles.cjs.js +1 -1
  92. package/dist/pageComponents/Bubbles/Bubbles.es.js +30 -18
  93. package/dist/pageComponents/Bubbles/bubbles.module.css.cjs.js +1 -1
  94. package/dist/pageComponents/Bubbles/bubbles.module.css.es.js +4 -2
  95. package/dist/pageComponents/LabsHero/LabsHero.cjs.js +1 -0
  96. package/dist/pageComponents/LabsHero/LabsHero.d.ts +1 -0
  97. package/dist/pageComponents/LabsHero/LabsHero.es.js +73 -0
  98. package/dist/pageComponents/LabsHero/assets/icon1.png.cjs.js +1 -0
  99. package/dist/pageComponents/LabsHero/assets/icon1.png.es.js +4 -0
  100. package/dist/pageComponents/LabsHero/assets/icon2.png.cjs.js +1 -0
  101. package/dist/pageComponents/LabsHero/assets/icon2.png.es.js +4 -0
  102. package/dist/pageComponents/LabsHero/assets/icon3.png.cjs.js +1 -0
  103. package/dist/pageComponents/LabsHero/assets/icon3.png.es.js +4 -0
  104. package/dist/pageComponents/LabsHero/assets/img1.png.cjs.js +1 -0
  105. package/dist/pageComponents/LabsHero/assets/img1.png.es.js +4 -0
  106. package/dist/pageComponents/LabsHero/assets/img2.png.cjs.js +1 -0
  107. package/dist/pageComponents/LabsHero/assets/img2.png.es.js +4 -0
  108. package/dist/pageComponents/LabsHero/assets/img3.png.cjs.js +1 -0
  109. package/dist/pageComponents/LabsHero/assets/img3.png.es.js +4 -0
  110. package/dist/pageComponents/LabsHero/assets/svg1.svg.cjs.js +1 -0
  111. package/dist/pageComponents/LabsHero/assets/svg1.svg.es.js +7 -0
  112. package/dist/pageComponents/LabsHero/assets/svg2.svg.cjs.js +1 -0
  113. package/dist/pageComponents/LabsHero/assets/svg2.svg.es.js +5 -0
  114. package/dist/pageComponents/LabsHero/assets/svg3.svg.cjs.js +1 -0
  115. package/dist/pageComponents/LabsHero/assets/svg3.svg.es.js +7 -0
  116. package/dist/pageComponents/LabsHero/index.d.ts +1 -0
  117. package/dist/pageComponents/LabsHero/labsHero.module.css.cjs.js +1 -0
  118. package/dist/pageComponents/LabsHero/labsHero.module.css.es.js +41 -0
  119. package/dist/pageComponents/PersonalizedProtocolHero/PersonalizedProtocolHero.cjs.js +1 -0
  120. package/dist/pageComponents/PersonalizedProtocolHero/PersonalizedProtocolHero.d.ts +1 -0
  121. package/dist/pageComponents/PersonalizedProtocolHero/PersonalizedProtocolHero.es.js +179 -0
  122. package/dist/pageComponents/PersonalizedProtocolHero/assets/graph1.svg.cjs.js +1 -0
  123. package/dist/pageComponents/PersonalizedProtocolHero/assets/graph1.svg.es.js +7 -0
  124. package/dist/pageComponents/PersonalizedProtocolHero/assets/graph2.svg.cjs.js +1 -0
  125. package/dist/pageComponents/PersonalizedProtocolHero/assets/graph2.svg.es.js +7 -0
  126. package/dist/pageComponents/PersonalizedProtocolHero/assets/graph3.svg.cjs.js +1 -0
  127. package/dist/pageComponents/PersonalizedProtocolHero/assets/graph3.svg.es.js +7 -0
  128. package/dist/pageComponents/PersonalizedProtocolHero/assets/pill1.png.cjs.js +1 -0
  129. package/dist/pageComponents/PersonalizedProtocolHero/assets/pill1.png.es.js +4 -0
  130. package/dist/pageComponents/PersonalizedProtocolHero/assets/pill2.png.cjs.js +1 -0
  131. package/dist/pageComponents/PersonalizedProtocolHero/assets/pill2.png.es.js +4 -0
  132. package/dist/pageComponents/PersonalizedProtocolHero/assets/pill3.png.cjs.js +1 -0
  133. package/dist/pageComponents/PersonalizedProtocolHero/assets/pill3.png.es.js +4 -0
  134. package/dist/pageComponents/PersonalizedProtocolHero/assets/prod1.png.cjs.js +1 -0
  135. package/dist/pageComponents/PersonalizedProtocolHero/assets/prod1.png.es.js +4 -0
  136. package/dist/pageComponents/PersonalizedProtocolHero/assets/prod2.png.cjs.js +1 -0
  137. package/dist/pageComponents/PersonalizedProtocolHero/assets/prod2.png.es.js +4 -0
  138. package/dist/pageComponents/PersonalizedProtocolHero/assets/prod3.png.cjs.js +1 -0
  139. package/dist/pageComponents/PersonalizedProtocolHero/assets/prod3.png.es.js +4 -0
  140. package/dist/pageComponents/PersonalizedProtocolHero/index.d.ts +1 -0
  141. package/dist/pageComponents/PersonalizedProtocolHero/personalizedProtocolHero.module.css.cjs.js +1 -0
  142. package/dist/pageComponents/PersonalizedProtocolHero/personalizedProtocolHero.module.css.es.js +71 -0
  143. package/dist/pageComponents/TreatmentsHero/TreatmentsHero.cjs.js +1 -0
  144. package/dist/pageComponents/TreatmentsHero/TreatmentsHero.d.ts +15 -0
  145. package/dist/pageComponents/TreatmentsHero/TreatmentsHero.es.js +20 -0
  146. package/dist/pageComponents/TreatmentsHero/components/TreatmentHeroCard/TreatmentHeroCard.cjs.js +1 -0
  147. package/dist/pageComponents/TreatmentsHero/components/TreatmentHeroCard/TreatmentHeroCard.d.ts +7 -0
  148. package/dist/pageComponents/TreatmentsHero/components/TreatmentHeroCard/TreatmentHeroCard.es.js +10 -0
  149. package/dist/pageComponents/TreatmentsHero/components/TreatmentHeroCard/index.d.ts +1 -0
  150. package/dist/pageComponents/TreatmentsHero/components/TreatmentHeroCard/treatmentHeroCard.module.css.cjs.js +1 -0
  151. package/dist/pageComponents/TreatmentsHero/components/TreatmentHeroCard/treatmentHeroCard.module.css.es.js +11 -0
  152. package/dist/pageComponents/TreatmentsHero/index.d.ts +1 -0
  153. package/dist/pageComponents/TreatmentsHero/treatmentsHero.module.css.cjs.js +1 -0
  154. package/dist/pageComponents/TreatmentsHero/treatmentsHero.module.css.es.js +21 -0
  155. package/dist/utils/debounce.cjs.js +1 -0
  156. package/dist/utils/debounce.d.ts +2 -0
  157. package/dist/utils/debounce.es.js +9 -0
  158. package/dist/utils/formatUnits/formatUnits.cjs.js +1 -1
  159. package/dist/utils/formatUnits/formatUnits.es.js +5 -3
  160. package/dist/utils/formatUnits.d.ts +1 -1
  161. package/package.json +56 -1
  162. package/dist/components/Pagination/Pagination.module.css.cjs.js +0 -1
  163. package/dist/components/Pagination/Pagination.module.css.es.js +0 -19
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="tabsMenuItem-module__root___-QHe-",t="tabsMenuItem-module__header___krKM1",o="tabsMenuItem-module__titleWithPrefixIconWrapper___mnvj1",n="tabsMenuItem-module__prefixIcon___pEK8g",_="tabsMenuItem-module__closeButtonWrapper___AQIuV",r="tabsMenuItem-module__closeButton___shzRB",s="tabsMenuItem-module__closeButtonActive___YVd-W",c="tabsMenuItem-module__description___U1czl",i="tabsMenuItem-module__descriptionShow___FiI3T",u={root:e,header:t,titleWithPrefixIconWrapper:o,prefixIcon:n,closeButtonWrapper:_,closeButton:r,closeButtonActive:s,description:c,descriptionShow:i};exports.closeButton=r;exports.closeButtonActive=s;exports.closeButtonWrapper=_;exports.default=u;exports.description=c;exports.descriptionShow=i;exports.header=t;exports.prefixIcon=n;exports.root=e;exports.titleWithPrefixIconWrapper=o;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="tabsMenuItem-module__root___-QHe-",t="tabsMenuItem-module__header___krKM1",o="tabsMenuItem-module__titleWithPrefixIconWrapper___mnvj1",n="tabsMenuItem-module__prefixIcon___pEK8g",r="tabsMenuItem-module__closeButtonWrapper___AQIuV",s="tabsMenuItem-module__closeButton___shzRB",_="tabsMenuItem-module__closeButtonActive___YVd-W",c="tabsMenuItem-module__description___U1czl",i="tabsMenuItem-module__descriptionInner___XjZI3",u="tabsMenuItem-module__descriptionShow___FiI3T",l={root:e,header:t,titleWithPrefixIconWrapper:o,prefixIcon:n,closeButtonWrapper:r,closeButton:s,closeButtonActive:_,description:c,descriptionInner:i,descriptionShow:u};exports.closeButton=s;exports.closeButtonActive=_;exports.closeButtonWrapper=r;exports.default=l;exports.description=c;exports.descriptionInner=i;exports.descriptionShow=u;exports.header=t;exports.prefixIcon=n;exports.root=e;exports.titleWithPrefixIconWrapper=o;
@@ -1,23 +1,25 @@
1
- const e = "tabsMenuItem-module__root___-QHe-", t = "tabsMenuItem-module__header___krKM1", o = "tabsMenuItem-module__titleWithPrefixIconWrapper___mnvj1", _ = "tabsMenuItem-module__prefixIcon___pEK8g", n = "tabsMenuItem-module__closeButtonWrapper___AQIuV", s = "tabsMenuItem-module__closeButton___shzRB", c = "tabsMenuItem-module__closeButtonActive___YVd-W", r = "tabsMenuItem-module__description___U1czl", u = "tabsMenuItem-module__descriptionShow___FiI3T", i = {
1
+ const e = "tabsMenuItem-module__root___-QHe-", t = "tabsMenuItem-module__header___krKM1", o = "tabsMenuItem-module__titleWithPrefixIconWrapper___mnvj1", n = "tabsMenuItem-module__prefixIcon___pEK8g", _ = "tabsMenuItem-module__closeButtonWrapper___AQIuV", s = "tabsMenuItem-module__closeButton___shzRB", c = "tabsMenuItem-module__closeButtonActive___YVd-W", r = "tabsMenuItem-module__description___U1czl", i = "tabsMenuItem-module__descriptionInner___XjZI3", u = "tabsMenuItem-module__descriptionShow___FiI3T", p = {
2
2
  root: e,
3
3
  header: t,
4
4
  titleWithPrefixIconWrapper: o,
5
- prefixIcon: _,
6
- closeButtonWrapper: n,
5
+ prefixIcon: n,
6
+ closeButtonWrapper: _,
7
7
  closeButton: s,
8
8
  closeButtonActive: c,
9
9
  description: r,
10
+ descriptionInner: i,
10
11
  descriptionShow: u
11
12
  };
12
13
  export {
13
14
  s as closeButton,
14
15
  c as closeButtonActive,
15
- n as closeButtonWrapper,
16
- i as default,
16
+ _ as closeButtonWrapper,
17
+ p as default,
17
18
  r as description,
19
+ i as descriptionInner,
18
20
  u as descriptionShow,
19
21
  t as header,
20
- _ as prefixIcon,
22
+ n as prefixIcon,
21
23
  e as root,
22
24
  o as titleWithPrefixIconWrapper
23
25
  };
@@ -0,0 +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 Eligibile"}),!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;
@@ -0,0 +1,26 @@
1
+ import { ButtonProps } from '../../components/Button';
2
+ import { TextButtonProps } from '../../components/TextButton';
3
+ import { TProductFeature, TProductPlan } from './types';
4
+
5
+ type IndividualProductCardProps = {
6
+ name: string;
7
+ images: Array<string>;
8
+ features: Array<TProductFeature>;
9
+ description?: string;
10
+ label?: string;
11
+ rating?: {
12
+ stars: number;
13
+ totalReviews: number;
14
+ };
15
+ button: {
16
+ label: string;
17
+ } & ButtonProps;
18
+ textButton?: {
19
+ label: string;
20
+ } & TextButtonProps;
21
+ plans?: Array<TProductPlan>;
22
+ selectedPlanId?: TProductPlan['id'];
23
+ onSelectPlan?: (planId: TProductPlan['id']) => void;
24
+ };
25
+ export declare const IndividualProductCard: ({ name, description, features, images, label, rating, plans, button, textButton, selectedPlanId, onSelectPlan, }: IndividualProductCardProps) => import("react/jsx-runtime").JSX.Element;
26
+ export {};
@@ -0,0 +1,80 @@
1
+ import { jsx as a, jsxs as i, Fragment as b } from "react/jsx-runtime";
2
+ import { cn as u } from "../../utils/cn/cn.es.js";
3
+ import { Button as h } from "../../components/Button/Button.es.js";
4
+ import { TextButton as p } from "../../components/TextButton/TextButton.es.js";
5
+ import { ImageGallery as y } from "../../components/ImageGallery/ImageGallery.es.js";
6
+ import { Typography as m } from "../../components/Typography/Typography.es.js";
7
+ import { SmartCallout as w } from "../../components/SmartCallout/SmartCallout.es.js";
8
+ import { RatingStars as V } from "../../components/RatingStars/RatingStars.es.js";
9
+ import { Features as C } from "./components/Features/Features.es.js";
10
+ import { PlanCard as z } from "./components/PlanCard/PlanCard.es.js";
11
+ import e from "./individualProductCard.module.css.es.js";
12
+ const L = ({
13
+ name: f,
14
+ description: n,
15
+ features: v,
16
+ images: g,
17
+ label: N,
18
+ rating: l,
19
+ plans: c,
20
+ button: s,
21
+ textButton: r,
22
+ selectedPlanId: S,
23
+ onSelectPlan: t
24
+ }) => {
25
+ const d = c && c.length > 0 && t;
26
+ return /* @__PURE__ */ a("section", { className: e.root, children: /* @__PURE__ */ i("div", { className: u(e.container, !d && e.noPlans), children: [
27
+ /* @__PURE__ */ i("div", { className: e.info, children: [
28
+ /* @__PURE__ */ i("div", { className: e.infoHeader, children: [
29
+ /* @__PURE__ */ a(m, { as: "h3", defaultVariant: "displayXs", mobileVariant: "headingLg", weight: "regular", children: f }),
30
+ !!n && /* @__PURE__ */ a(
31
+ m,
32
+ {
33
+ as: "p",
34
+ defaultVariant: "bodySm",
35
+ className: e.infoDescription,
36
+ weight: "regular",
37
+ children: n
38
+ }
39
+ ),
40
+ l && /* @__PURE__ */ i("div", { className: e.ratingContainer, children: [
41
+ !!l.stars && /* @__PURE__ */ a(V, { rating: l.stars, size: "sm" }),
42
+ !!l.totalReviews && /* @__PURE__ */ i(m, { as: "p", defaultVariant: "labelSm", emphasis: !0, children: [
43
+ l.totalReviews,
44
+ " reviews"
45
+ ] })
46
+ ] })
47
+ ] }),
48
+ /* @__PURE__ */ a(C, { features: v }),
49
+ /* @__PURE__ */ i("div", { className: e.actions, children: [
50
+ /* @__PURE__ */ a(w, { label: "HSA/FSA Eligibile" }),
51
+ !d && /* @__PURE__ */ i(b, { children: [
52
+ /* @__PURE__ */ a(h, { variant: "primary", size: "lg", ...s, children: s.label }),
53
+ r && /* @__PURE__ */ a(p, { ...r, children: r.label })
54
+ ] })
55
+ ] })
56
+ ] }),
57
+ /* @__PURE__ */ a(y, { className: e.gallery, images: g, label: N }),
58
+ d && /* @__PURE__ */ i("div", { className: e.plansSection, children: [
59
+ /* @__PURE__ */ i("div", { className: e.plans, children: [
60
+ /* @__PURE__ */ a(m, { as: "h4", defaultVariant: "labelSm", emphasis: !0, weight: "regular", children: "Subscribe & Save" }),
61
+ c.map((o) => /* @__PURE__ */ a(
62
+ z,
63
+ {
64
+ plan: o,
65
+ onSelect: t,
66
+ isActive: S === o.id
67
+ },
68
+ o.id
69
+ ))
70
+ ] }),
71
+ /* @__PURE__ */ i("div", { className: e.actions, children: [
72
+ /* @__PURE__ */ a(h, { variant: "primary", size: "lg", ...s, children: s.label }),
73
+ r && /* @__PURE__ */ a(p, { ...r, children: r.label })
74
+ ] })
75
+ ] })
76
+ ] }) });
77
+ };
78
+ export {
79
+ L as IndividualProductCard
80
+ };
@@ -0,0 +1 @@
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),c=require("react"),d=require("../../../../utils/cn/cn.cjs.js"),p=require("../../../../components/IconBracket/IconBracket.cjs.js"),l=require("../../../../components/Typography/Typography.cjs.js"),y=require("../../../../components/TypeBadge/TypeBadge.cjs.js"),r=require("./features.module.css.cjs.js"),g=({features:n})=>{const[a,i]=c.useState([]),o=c.useCallback(e=>{i(s=>s.includes(e)?s.filter(u=>u!==e):[...s,e])},[]);return t.jsx("div",{className:r.default.root,children:n.map((e,s)=>t.jsxs("div",{className:r.default.feature,children:[t.jsxs("button",{className:r.default.header,onClick:()=>o(s),children:[t.jsxs("div",{className:r.default.labelWrapper,children:[t.jsx(y.TypeBadge,{type:e.type},s),t.jsx(l.Typography,{as:"span",defaultVariant:"bodySm",mobileVariant:"labelMd",weight:"regular",children:e.label})]}),e.description&&t.jsx(p.IconBracket,{variant:a.includes(s)?"close":"plus",size:"sm"})]}),e.description&&t.jsx(l.Typography,{as:"p",defaultVariant:"bodyXs",className:d.cn(r.default.description,a.includes(s)&&r.default.descriptionActive),weight:"regular",children:e.description})]},`${e.label}-${s}`))})};exports.Features=g;
@@ -0,0 +1,7 @@
1
+ import { TProductFeature } from '../../types';
2
+
3
+ type FeaturesProps = {
4
+ features: Array<TProductFeature>;
5
+ };
6
+ export declare const Features: ({ features }: FeaturesProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,35 @@
1
+ "use client";
2
+ import { jsx as t, jsxs as i } from "react/jsx-runtime";
3
+ import { useState as m, useCallback as d } from "react";
4
+ import { cn as u } from "../../../../utils/cn/cn.es.js";
5
+ import { IconBracket as h } from "../../../../components/IconBracket/IconBracket.es.js";
6
+ import { Typography as l } from "../../../../components/Typography/Typography.es.js";
7
+ import { TypeBadge as b } from "../../../../components/TypeBadge/TypeBadge.es.js";
8
+ import s from "./features.module.css.es.js";
9
+ const V = ({ features: o }) => {
10
+ const [a, c] = m([]), n = d((e) => {
11
+ c((r) => r.includes(e) ? r.filter((p) => p !== e) : [...r, e]);
12
+ }, []);
13
+ return /* @__PURE__ */ t("div", { className: s.root, children: o.map((e, r) => /* @__PURE__ */ i("div", { className: s.feature, children: [
14
+ /* @__PURE__ */ i("button", { className: s.header, onClick: () => n(r), children: [
15
+ /* @__PURE__ */ i("div", { className: s.labelWrapper, children: [
16
+ /* @__PURE__ */ t(b, { type: e.type }, r),
17
+ /* @__PURE__ */ t(l, { as: "span", defaultVariant: "bodySm", mobileVariant: "labelMd", weight: "regular", children: e.label })
18
+ ] }),
19
+ e.description && /* @__PURE__ */ t(h, { variant: a.includes(r) ? "close" : "plus", size: "sm" })
20
+ ] }),
21
+ e.description && /* @__PURE__ */ t(
22
+ l,
23
+ {
24
+ as: "p",
25
+ defaultVariant: "bodyXs",
26
+ className: u(s.description, a.includes(r) && s.descriptionActive),
27
+ weight: "regular",
28
+ children: e.description
29
+ }
30
+ )
31
+ ] }, `${e.label}-${r}`)) });
32
+ };
33
+ export {
34
+ V as Features
35
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="features-module__root___ts6Mh",t="features-module__feature___RGQxn",r="features-module__header___iedRh",o="features-module__labelWrapper___TAIS-",_="features-module__description___RiwC6",s="features-module__descriptionActive___Sq4Tm",a={root:e,feature:t,header:r,labelWrapper:o,description:_,descriptionActive:s};exports.default=a;exports.description=_;exports.descriptionActive=s;exports.feature=t;exports.header=r;exports.labelWrapper=o;exports.root=e;
@@ -0,0 +1,17 @@
1
+ const e = "features-module__root___ts6Mh", t = "features-module__feature___RGQxn", _ = "features-module__header___iedRh", r = "features-module__labelWrapper___TAIS-", o = "features-module__description___RiwC6", s = "features-module__descriptionActive___Sq4Tm", a = {
2
+ root: e,
3
+ feature: t,
4
+ header: _,
5
+ labelWrapper: r,
6
+ description: o,
7
+ descriptionActive: s
8
+ };
9
+ export {
10
+ a as default,
11
+ o as description,
12
+ s as descriptionActive,
13
+ t as feature,
14
+ _ as header,
15
+ r as labelWrapper,
16
+ e as root
17
+ };
@@ -0,0 +1 @@
1
+ export { Features } from './Features';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=require("../../../../components/Icon/Icon.cjs.js"),l=require("../../../../components/Icon/constants.cjs.js"),d=require("../../../../components/RadioButton/RadioButton.cjs.js"),t=require("../../../../components/Typography/Typography.cjs.js"),u=require("../../../../components/Label/Label.cjs.js"),n=require("../../../../utils/cn/cn.cjs.js"),i=require("../../../../utils/formatUnits/formatUnits.cjs.js"),a=require("./planCard.module.css.cjs.js"),m=({plan:s,isActive:r,onSelect:o})=>e.jsxs("button",{className:n.cn(a.default.root,r&&a.default.active),onClick:()=>o(s.id),children:[s.featured&&e.jsx(u.Label,{color:"black",className:a.default.label,size:"sm",children:"Most popular"}),e.jsxs("div",{className:a.default.planContainer,children:[e.jsxs("div",{className:a.default.planInfo,children:[e.jsx(d.RadioButton,{checked:r}),e.jsxs("div",{className:a.default.planDetails,children:[e.jsx(t.Typography,{as:"h4",defaultVariant:"bodySm",emphasis:!0,children:s.label}),!!s.savingsPercentage&&e.jsxs(t.Typography,{as:"p",defaultVariant:"labelXs",weight:"regular",className:a.default.description,children:["Save ",s.savingsPercentage,"%"]})]})]}),e.jsxs("div",{className:a.default.priceDetails,children:[e.jsxs("div",{className:n.cn(a.default.priceContainer),children:[s.price!==s.totalPrice&&e.jsx(t.Typography,{as:"p",defaultVariant:"bodySm",weight:"regular",className:a.default.totalPrice,children:i.formatUnits(s.price,"usd",0)}),e.jsx(t.Typography,{as:"p",defaultVariant:"bodySm",emphasis:!0,className:a.default.price,children:i.formatUnits(s.totalPrice,"usd",0)})]}),!!s.monthlyPrice&&e.jsxs(t.Typography,{as:"p",defaultVariant:"labelXs",weight:"regular",className:a.default.description,children:[i.formatUnits(s.monthlyPrice,"usd",0),"/mo"]})]})]}),!!s.duration&&s.duration!=="one-time"&&e.jsx("div",{className:n.cn(a.default.benefitsContainer,r&&a.default.benefitsActive),children:e.jsxs("div",{className:a.default.benefitsContent,children:[e.jsxs("div",{className:a.default.benefit,children:[e.jsx(c.Icon,{name:l.EIconName.ARROW_RETURN,className:a.default.benefitIcon}),e.jsx(t.Typography,{as:"p",defaultVariant:"bodyXs",children:"Delivered every month"})]}),e.jsxs("div",{className:a.default.benefit,children:[e.jsx(c.Icon,{name:l.EIconName.CALENDAR,className:a.default.benefitIcon}),e.jsx(t.Typography,{as:"p",defaultVariant:"bodyXs",children:"Modify or cancel anytime"})]})]})})]});exports.PlanCard=m;
@@ -0,0 +1,9 @@
1
+ import { TProductPlan } from '../../types';
2
+
3
+ type PlanCardProps = {
4
+ plan: TProductPlan;
5
+ onSelect: (planId: TProductPlan['id']) => void;
6
+ isActive: boolean;
7
+ };
8
+ export declare const PlanCard: ({ plan, isActive, onSelect }: PlanCardProps) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,48 @@
1
+ import { jsxs as i, jsx as r } from "react/jsx-runtime";
2
+ import { Icon as n } from "../../../../components/Icon/Icon.es.js";
3
+ import { EIconName as o } from "../../../../components/Icon/constants.es.js";
4
+ import { RadioButton as m } from "../../../../components/RadioButton/RadioButton.es.js";
5
+ import { Typography as t } from "../../../../components/Typography/Typography.es.js";
6
+ import { Label as h } from "../../../../components/Label/Label.es.js";
7
+ import { cn as c } from "../../../../utils/cn/cn.es.js";
8
+ import { formatUnits as l } from "../../../../utils/formatUnits/formatUnits.es.js";
9
+ import e from "./planCard.module.css.es.js";
10
+ const C = ({ plan: a, isActive: s, onSelect: d }) => /* @__PURE__ */ i("button", { className: c(e.root, s && e.active), onClick: () => d(a.id), children: [
11
+ a.featured && /* @__PURE__ */ r(h, { color: "black", className: e.label, size: "sm", children: "Most popular" }),
12
+ /* @__PURE__ */ i("div", { className: e.planContainer, children: [
13
+ /* @__PURE__ */ i("div", { className: e.planInfo, children: [
14
+ /* @__PURE__ */ r(m, { checked: s }),
15
+ /* @__PURE__ */ i("div", { className: e.planDetails, children: [
16
+ /* @__PURE__ */ r(t, { as: "h4", defaultVariant: "bodySm", emphasis: !0, children: a.label }),
17
+ !!a.savingsPercentage && /* @__PURE__ */ i(t, { as: "p", defaultVariant: "labelXs", weight: "regular", className: e.description, children: [
18
+ "Save ",
19
+ a.savingsPercentage,
20
+ "%"
21
+ ] })
22
+ ] })
23
+ ] }),
24
+ /* @__PURE__ */ i("div", { className: e.priceDetails, children: [
25
+ /* @__PURE__ */ i("div", { className: c(e.priceContainer), children: [
26
+ a.price !== a.totalPrice && /* @__PURE__ */ r(t, { as: "p", defaultVariant: "bodySm", weight: "regular", className: e.totalPrice, children: l(a.price, "usd", 0) }),
27
+ /* @__PURE__ */ r(t, { as: "p", defaultVariant: "bodySm", emphasis: !0, className: e.price, children: l(a.totalPrice, "usd", 0) })
28
+ ] }),
29
+ !!a.monthlyPrice && /* @__PURE__ */ i(t, { as: "p", defaultVariant: "labelXs", weight: "regular", className: e.description, children: [
30
+ l(a.monthlyPrice, "usd", 0),
31
+ "/mo"
32
+ ] })
33
+ ] })
34
+ ] }),
35
+ !!a.duration && a.duration !== "one-time" && /* @__PURE__ */ r("div", { className: c(e.benefitsContainer, s && e.benefitsActive), children: /* @__PURE__ */ i("div", { className: e.benefitsContent, children: [
36
+ /* @__PURE__ */ i("div", { className: e.benefit, children: [
37
+ /* @__PURE__ */ r(n, { name: o.ARROW_RETURN, className: e.benefitIcon }),
38
+ /* @__PURE__ */ r(t, { as: "p", defaultVariant: "bodyXs", children: "Delivered every month" })
39
+ ] }),
40
+ /* @__PURE__ */ i("div", { className: e.benefit, children: [
41
+ /* @__PURE__ */ r(n, { name: o.CALENDAR, className: e.benefitIcon }),
42
+ /* @__PURE__ */ r(t, { as: "p", defaultVariant: "bodyXs", children: "Modify or cancel anytime" })
43
+ ] })
44
+ ] }) })
45
+ ] });
46
+ export {
47
+ C as PlanCard
48
+ };
@@ -0,0 +1 @@
1
+ export { PlanCard } from './PlanCard';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="planCard-module__root___zp7Tv",n="planCard-module__active___Jfcov",t="planCard-module__label___QCNmN",a="planCard-module__planContainer___11Plm",o="planCard-module__planInfo___WnxmB",_="planCard-module__planDetails___3SReq",i="planCard-module__priceDetails___76mLM",l="planCard-module__priceContainer___RLU3v",r="planCard-module__description___aIuab",c="planCard-module__totalPrice___KJB6P",s="planCard-module__benefitsContainer___YkMqx",p="planCard-module__benefitsActive___yxSvM",d="planCard-module__benefitsContent___PEjLg",C="planCard-module__benefit___L4KF1",b="planCard-module__benefitIcon___IVAlB",f={root:e,active:n,label:t,planContainer:a,planInfo:o,planDetails:_,priceDetails:i,priceContainer:l,description:r,totalPrice:c,benefitsContainer:s,benefitsActive:p,benefitsContent:d,benefit:C,benefitIcon:b};exports.active=n;exports.benefit=C;exports.benefitIcon=b;exports.benefitsActive=p;exports.benefitsContainer=s;exports.benefitsContent=d;exports.default=f;exports.description=r;exports.label=t;exports.planContainer=a;exports.planDetails=_;exports.planInfo=o;exports.priceContainer=l;exports.priceDetails=i;exports.root=e;exports.totalPrice=c;
@@ -0,0 +1,35 @@
1
+ const n = "planCard-module__root___zp7Tv", e = "planCard-module__active___Jfcov", _ = "planCard-module__label___QCNmN", t = "planCard-module__planContainer___11Plm", a = "planCard-module__planInfo___WnxmB", o = "planCard-module__planDetails___3SReq", l = "planCard-module__priceDetails___76mLM", i = "planCard-module__priceContainer___RLU3v", r = "planCard-module__description___aIuab", c = "planCard-module__totalPrice___KJB6P", s = "planCard-module__benefitsContainer___YkMqx", p = "planCard-module__benefitsActive___yxSvM", d = "planCard-module__benefitsContent___PEjLg", C = "planCard-module__benefit___L4KF1", f = "planCard-module__benefitIcon___IVAlB", b = {
2
+ root: n,
3
+ active: e,
4
+ label: _,
5
+ planContainer: t,
6
+ planInfo: a,
7
+ planDetails: o,
8
+ priceDetails: l,
9
+ priceContainer: i,
10
+ description: r,
11
+ totalPrice: c,
12
+ benefitsContainer: s,
13
+ benefitsActive: p,
14
+ benefitsContent: d,
15
+ benefit: C,
16
+ benefitIcon: f
17
+ };
18
+ export {
19
+ e as active,
20
+ C as benefit,
21
+ f as benefitIcon,
22
+ p as benefitsActive,
23
+ s as benefitsContainer,
24
+ d as benefitsContent,
25
+ b as default,
26
+ r as description,
27
+ _ as label,
28
+ t as planContainer,
29
+ o as planDetails,
30
+ a as planInfo,
31
+ i as priceContainer,
32
+ l as priceDetails,
33
+ n as root,
34
+ c as totalPrice
35
+ };
@@ -0,0 +1 @@
1
+ export { IndividualProductCard } from './IndividualProductCard';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n="individualProductCard-module__root___fX53y",o="individualProductCard-module__container___m6HC1",i="individualProductCard-module__noPlans___Sqc1d",d="individualProductCard-module__info___D9znj",a="individualProductCard-module__infoHeader___walQw",t="individualProductCard-module__infoDescription___VAX0Z",_="individualProductCard-module__gallery___Hp-Ue",e="individualProductCard-module__plansSection___N7Y3e",r="individualProductCard-module__plans___Nfzwn",l="individualProductCard-module__ratingContainer___KInZH",c="individualProductCard-module__actions___EU3Yo",u={root:n,container:o,noPlans:i,info:d,infoHeader:a,infoDescription:t,gallery:_,plansSection:e,plans:r,ratingContainer:l,actions:c};exports.actions=c;exports.container=o;exports.default=u;exports.gallery=_;exports.info=d;exports.infoDescription=t;exports.infoHeader=a;exports.noPlans=i;exports.plans=r;exports.plansSection=e;exports.ratingContainer=l;exports.root=n;
@@ -0,0 +1,27 @@
1
+ const n = "individualProductCard-module__root___fX53y", o = "individualProductCard-module__container___m6HC1", i = "individualProductCard-module__noPlans___Sqc1d", d = "individualProductCard-module__info___D9znj", _ = "individualProductCard-module__infoHeader___walQw", a = "individualProductCard-module__infoDescription___VAX0Z", t = "individualProductCard-module__gallery___Hp-Ue", r = "individualProductCard-module__plansSection___N7Y3e", l = "individualProductCard-module__plans___Nfzwn", e = "individualProductCard-module__ratingContainer___KInZH", c = "individualProductCard-module__actions___EU3Yo", u = {
2
+ root: n,
3
+ container: o,
4
+ noPlans: i,
5
+ info: d,
6
+ infoHeader: _,
7
+ infoDescription: a,
8
+ gallery: t,
9
+ plansSection: r,
10
+ plans: l,
11
+ ratingContainer: e,
12
+ actions: c
13
+ };
14
+ export {
15
+ c as actions,
16
+ o as container,
17
+ u as default,
18
+ t as gallery,
19
+ d as info,
20
+ a as infoDescription,
21
+ _ as infoHeader,
22
+ i as noPlans,
23
+ l as plans,
24
+ r as plansSection,
25
+ e as ratingContainer,
26
+ n as root
27
+ };
@@ -0,0 +1,17 @@
1
+ import { ETypeBadge } from '../../components/TypeBadge';
2
+
3
+ export type TProductFeature = {
4
+ label: string;
5
+ type: ETypeBadge;
6
+ description?: string;
7
+ };
8
+ export type TProductPlan = {
9
+ id: string;
10
+ label: string;
11
+ price: number;
12
+ totalPrice: number;
13
+ monthlyPrice?: number;
14
+ savingsPercentage?: number;
15
+ duration?: 'one-time' | 'day' | 'month' | 'year';
16
+ featured?: boolean;
17
+ };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("../../../../components/Typography/Typography.cjs.js"),d=require("../../../../utils/cn/cn.cjs.js"),r=require("./ingredient.module.css.cjs.js"),c=({label:i,content:a,isOpen:n,index:o,onClick:s})=>e.jsxs("div",{onClick:()=>s(o??0),className:d.cn(r.default.root,{[r.default.rootOpened]:n}),children:[e.jsx("div",{className:r.default.header,children:e.jsx(t.Typography,{defaultVariant:"headingXs",children:i})}),e.jsx("div",{className:d.cn(r.default.description,{[r.default.descriptionOpened]:n}),children:e.jsx(t.Typography,{as:"p",defaultVariant:"bodySm",children:a})})]});exports.Ingredient=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("../../../../components/Typography/Typography.cjs.js"),t=require("../../../../utils/cn/cn.cjs.js"),r=require("./ingredient.module.css.cjs.js"),o=({label:d,content:a,isOpen:n,index:s,onClick:c})=>e.jsxs("div",{onClick:()=>c(s??0),className:t.cn(r.default.root,{[r.default.rootOpened]:n}),children:[e.jsx("div",{className:r.default.header,children:e.jsx(i.Typography,{defaultVariant:"headingXs",children:d})}),e.jsx("div",{className:t.cn(r.default.description,{[r.default.descriptionShow]:n}),children:e.jsx("div",{className:r.default.descriptionInner,children:e.jsx(i.Typography,{as:"p",defaultVariant:"bodySm",children:a})})})]});exports.Ingredient=o;
@@ -2,9 +2,9 @@ import { jsxs as c, jsx as e } from "react/jsx-runtime";
2
2
  import { Typography as o } from "../../../../components/Typography/Typography.es.js";
3
3
  import { cn as d } from "../../../../utils/cn/cn.es.js";
4
4
  import r from "./ingredient.module.css.es.js";
5
- const f = ({ label: n, content: t, isOpen: i, index: a, onClick: s }) => /* @__PURE__ */ c("div", { onClick: () => s(a ?? 0), className: d(r.root, { [r.rootOpened]: i }), children: [
5
+ const f = ({ label: n, content: a, isOpen: i, index: s, onClick: t }) => /* @__PURE__ */ c("div", { onClick: () => t(s ?? 0), className: d(r.root, { [r.rootOpened]: i }), children: [
6
6
  /* @__PURE__ */ e("div", { className: r.header, children: /* @__PURE__ */ e(o, { defaultVariant: "headingXs", children: n }) }),
7
- /* @__PURE__ */ e("div", { className: d(r.description, { [r.descriptionOpened]: i }), children: /* @__PURE__ */ e(o, { as: "p", defaultVariant: "bodySm", children: t }) })
7
+ /* @__PURE__ */ e("div", { className: d(r.description, { [r.descriptionShow]: i }), children: /* @__PURE__ */ e("div", { className: r.descriptionInner, children: /* @__PURE__ */ e(o, { as: "p", defaultVariant: "bodySm", children: a }) }) })
8
8
  ] });
9
9
  export {
10
10
  f as Ingredient
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="ingredient-module__root___kt-ps",o="ingredient-module__rootOpened___5PA6m",t="ingredient-module__header___BDlV9",d="ingredient-module__description___sO6x5",n="ingredient-module__descriptionOpened___jgqeG",i={root:e,rootOpened:o,header:t,description:d,descriptionOpened:n};exports.default=i;exports.description=d;exports.descriptionOpened=n;exports.header=t;exports.root=e;exports.rootOpened=o;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="ingredient-module__root___kt-ps",o="ingredient-module__rootOpened___5PA6m",n="ingredient-module__header___BDlV9",t="ingredient-module__description___sO6x5",i="ingredient-module__descriptionInner___1uX0t",r="ingredient-module__descriptionShow___Wy5P5",d={root:e,rootOpened:o,header:n,description:t,descriptionInner:i,descriptionShow:r};exports.default=d;exports.description=t;exports.descriptionInner=i;exports.descriptionShow=r;exports.header=n;exports.root=e;exports.rootOpened=o;
@@ -1,14 +1,16 @@
1
- const e = "ingredient-module__root___kt-ps", o = "ingredient-module__rootOpened___5PA6m", n = "ingredient-module__header___BDlV9", t = "ingredient-module__description___sO6x5", d = "ingredient-module__descriptionOpened___jgqeG", _ = {
1
+ const e = "ingredient-module__root___kt-ps", o = "ingredient-module__rootOpened___5PA6m", n = "ingredient-module__header___BDlV9", t = "ingredient-module__description___sO6x5", i = "ingredient-module__descriptionInner___1uX0t", _ = "ingredient-module__descriptionShow___Wy5P5", d = {
2
2
  root: e,
3
3
  rootOpened: o,
4
4
  header: n,
5
5
  description: t,
6
- descriptionOpened: d
6
+ descriptionInner: i,
7
+ descriptionShow: _
7
8
  };
8
9
  export {
9
- _ as default,
10
+ d as default,
10
11
  t as description,
11
- d as descriptionOpened,
12
+ i as descriptionInner,
13
+ _ as descriptionShow,
12
14
  n as header,
13
15
  e as root,
14
16
  o as rootOpened
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),t=require("react"),l=require("../../utils/cn/cn.cjs.js"),n=require("./bubbles.module.css.cjs.js"),b=["xs","lg","sm","sm","xl","sm","xl","xl","xl","md","md","md","lg"],m=({className:o})=>{const[r,a]=t.useState(!1),[i,d]=t.useState(!1),c=t.useRef(null);return t.useEffect(()=>{const s=new window.IntersectionObserver(([e])=>{e.isIntersecting&&e.intersectionRatio===1&&!r&&!i&&(a(!0),setTimeout(()=>d(!0),5e3))},{threshold:1});return c.current&&s.observe(c.current),()=>s.disconnect()},[r,i]),u.jsx("section",{ref:c,className:l.cn(n.default.root,o),children:u.jsx("div",{className:n.default.container,children:b.map((s,e)=>u.jsx("div",{className:l.cn(n.default.bubble,(i||r)&&n.default.bubbleFinished),"data-size":s,"data-index":e},e))})})};exports.Bubbles=m;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),e=require("react"),d=require("../../utils/cn/cn.cjs.js"),r=require("./bubbles.module.css.cjs.js"),v=["xs","lg","md","md","xl","sm","sm","md","lg","md","xl","xl","xl"],w=({className:b})=>{const[n,f]=e.useState(!1),[c,m]=e.useState("forward"),[o,u]=e.useState(!1),l=e.useRef(null),a=e.useRef(0);return e.useEffect(()=>{const s=()=>{const t=window.scrollY;m(t>a.current?"forward":"reverse"),a.current=t};return window.addEventListener("scroll",s,{passive:!0}),()=>window.removeEventListener("scroll",s)},[]),e.useEffect(()=>{const s=new window.IntersectionObserver(([t])=>{f(t.isIntersecting)},{threshold:.5});return l.current&&s.observe(l.current),()=>s.disconnect()},[]),e.useEffect(()=>{n&&c==="forward"&&u(!0),n&&c==="reverse"&&u(!1)},[n,c]),i.jsx("section",{ref:l,className:d.cn(r.default.root,b),children:i.jsx("div",{className:r.default.container,children:v.map((s,t)=>i.jsx("div",{className:d.cn(r.default.bubble,o&&r.default.bubbleFinished,!o&&r.default.bubbleReverse),"data-size":s,"data-index":t},t))})})};exports.Bubbles=w;
@@ -1,28 +1,40 @@
1
1
  "use client";
2
- import { jsx as o } from "react/jsx-runtime";
3
- import { useState as c, useRef as u, useEffect as b } from "react";
4
- import { cn as l } from "../../utils/cn/cn.es.js";
5
- import t from "./bubbles.module.css.es.js";
6
- const f = ["xs", "lg", "sm", "sm", "xl", "sm", "xl", "xl", "xl", "md", "md", "md", "lg"], g = ({ className: m }) => {
7
- const [n, a] = c(!1), [r, d] = c(!1), i = u(null);
8
- return b(() => {
9
- const s = new window.IntersectionObserver(
10
- ([e]) => {
11
- e.isIntersecting && e.intersectionRatio === 1 && !n && !r && (a(!0), setTimeout(() => d(!0), 5e3));
2
+ import { jsx as i } from "react/jsx-runtime";
3
+ import { useState as c, useRef as u, useEffect as l } from "react";
4
+ import { cn as b } from "../../utils/cn/cn.es.js";
5
+ import r from "./bubbles.module.css.es.js";
6
+ const h = ["xs", "lg", "md", "md", "xl", "sm", "sm", "md", "lg", "md", "xl", "xl", "xl"], F = ({ className: f }) => {
7
+ const [t, v] = c(!1), [n, w] = c("forward"), [d, a] = c(!1), o = u(null), m = u(0);
8
+ return l(() => {
9
+ const e = () => {
10
+ const s = window.scrollY;
11
+ w(s > m.current ? "forward" : "reverse"), m.current = s;
12
+ };
13
+ return window.addEventListener("scroll", e, { passive: !0 }), () => window.removeEventListener("scroll", e);
14
+ }, []), l(() => {
15
+ const e = new window.IntersectionObserver(
16
+ ([s]) => {
17
+ v(s.isIntersecting);
12
18
  },
13
- { threshold: 1 }
19
+ { threshold: 0.5 }
14
20
  );
15
- return i.current && s.observe(i.current), () => s.disconnect();
16
- }, [n, r]), /* @__PURE__ */ o("section", { ref: i, className: l(t.root, m), children: /* @__PURE__ */ o("div", { className: t.container, children: f.map((s, e) => /* @__PURE__ */ o(
21
+ return o.current && e.observe(o.current), () => e.disconnect();
22
+ }, []), l(() => {
23
+ t && n === "forward" && a(!0), t && n === "reverse" && a(!1);
24
+ }, [t, n]), /* @__PURE__ */ i("section", { ref: o, className: b(r.root, f), children: /* @__PURE__ */ i("div", { className: r.container, children: h.map((e, s) => /* @__PURE__ */ i(
17
25
  "div",
18
26
  {
19
- className: l(t.bubble, (r || n) && t.bubbleFinished),
20
- "data-size": s,
21
- "data-index": e
27
+ className: b(
28
+ r.bubble,
29
+ d && r.bubbleFinished,
30
+ !d && r.bubbleReverse
31
+ ),
32
+ "data-size": e,
33
+ "data-index": s
22
34
  },
23
- e
35
+ s
24
36
  )) }) });
25
37
  };
26
38
  export {
27
- g as Bubbles
39
+ F as Bubbles
28
40
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="bubbles-module__root___DUhTG",b="bubbles-module__container___eH7Zj",o="bubbles-module__bubble___FKp2x",l="bubbles-module__bubbleFinished___TNKmv",u={root:e,container:b,bubble:o,bubbleFinished:l};exports.bubble=o;exports.bubbleFinished=l;exports.container=b;exports.default=u;exports.root=e;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="bubbles-module__root___DUhTG",b="bubbles-module__container___eH7Zj",l="bubbles-module__bubble___FKp2x",u="bubbles-module__bubbleReverse___9awzJ",o="bubbles-module__bubbleFinished___TNKmv",_={root:e,container:b,bubble:l,bubbleReverse:u,bubbleFinished:o};exports.bubble=l;exports.bubbleFinished=o;exports.bubbleReverse=u;exports.container=b;exports.default=_;exports.root=e;
@@ -1,13 +1,15 @@
1
- const b = "bubbles-module__root___DUhTG", e = "bubbles-module__container___eH7Zj", _ = "bubbles-module__bubble___FKp2x", o = "bubbles-module__bubbleFinished___TNKmv", l = {
1
+ const b = "bubbles-module__root___DUhTG", e = "bubbles-module__container___eH7Zj", _ = "bubbles-module__bubble___FKp2x", l = "bubbles-module__bubbleReverse___9awzJ", o = "bubbles-module__bubbleFinished___TNKmv", s = {
2
2
  root: b,
3
3
  container: e,
4
4
  bubble: _,
5
+ bubbleReverse: l,
5
6
  bubbleFinished: o
6
7
  };
7
8
  export {
8
9
  _ as bubble,
9
10
  o as bubbleFinished,
11
+ l as bubbleReverse,
10
12
  e as container,
11
- l as default,
13
+ s as default,
12
14
  b as root
13
15
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("../../utils/cn/cn.cjs.js"),l=require("../../components/Typography/Typography.cjs.js"),i=require("../../components/HighlightedTitle/HighlightedTitle.cjs.js"),t=require("../../components/Button/Button.cjs.js"),r=require("./assets/icon1.png.cjs.js"),c=require("./assets/icon2.png.cjs.js"),n=require("./assets/icon3.png.cjs.js"),d=require("./assets/img1.png.cjs.js"),o=require("./assets/img2.png.cjs.js"),u=require("./assets/img3.png.cjs.js"),m=require("./assets/svg1.svg.cjs.js"),g=require("./assets/svg2.svg.cjs.js"),f=require("./assets/svg3.svg.cjs.js"),a=require("./labsHero.module.css.cjs.js"),p=()=>e.jsxs("section",{className:a.default.root,children:[e.jsxs("div",{className:a.default.container,children:[e.jsx("div",{className:a.default.title,children:e.jsx(i.HighlightedTitle,{as:"p",colorScheme:"dark",defaultVariant:"displayMd",mobileVariant:"displayXs",title:e.jsxs(e.Fragment,{children:["To see results, you need to ",e.jsx("b",{children:"see your results"})]})})}),e.jsx(l.Typography,{as:"p",defaultVariant:"bodyMd",mobileVariant:"bodySm",className:a.default.description,children:"Healthspan's advanced lab panels provide precise data on 100+ biomarkers. Your dedicated clinical care team analyzes and explains the results in plain terms, helping you personalize and optimize your longevity protocol."}),e.jsx("div",{className:s.cn(a.default.buttonWrap,a.default.mobile),children:e.jsx(t.Button,{as:"a",href:"https://app.gethealthspan.com/#/product/signup/61f89782d9ecee002014f33e",variant:"secondary",size:"md",children:"Get Started"})}),e.jsx("div",{className:s.cn(a.default.buttonWrap,a.default.desktop),children:e.jsx(t.Button,{as:"a",href:"https://app.gethealthspan.com/#/product/signup/61f89782d9ecee002014f33e",variant:"secondary",size:"lg",children:"Get Started"})})]}),e.jsxs("div",{className:a.default.animationContainer,children:[e.jsxs("div",{className:s.cn(a.default.imageSet,a.default.active),children:[e.jsx("img",{src:r.default,className:a.default.set1Icon,alt:"Image Icon"}),e.jsx("img",{src:d.default,className:a.default.set1Image,alt:"Product Image"}),e.jsx(m.default,{className:a.default.set1Svg})]}),e.jsxs("div",{className:a.default.imageSet,children:[e.jsx("img",{src:c.default,className:a.default.set2Icon,alt:"Image Icon"}),e.jsx("img",{src:o.default,className:a.default.set2Image,alt:"Product Image"}),e.jsx(g.default,{className:a.default.set2Svg})]}),e.jsxs("div",{className:a.default.imageSet,children:[e.jsx("img",{src:n.default,className:a.default.set3Icon,alt:"Image Icon"}),e.jsx("img",{src:u.default,className:a.default.set3Image,alt:"Product Image"}),e.jsx(f.default,{className:a.default.set3Svg})]})]})]});exports.LabsHero=p;
@@ -0,0 +1 @@
1
+ export declare const LabsHero: () => import("react/jsx-runtime").JSX.Element;