@zenpatient-org/healthspan-marketing-ui 0.2.12 → 0.2.14

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),s=require("../Typography/Typography.cjs.js"),e=require("../../src/components/PriceDisplay/priceDisplay.module.css"),c=require("../../utils/cn/cn.cjs.js"),l=require("../../utils/periodView.cjs.js"),o=({items:i})=>a.jsx("div",{className:e.root,children:i.map((r,n)=>a.jsxs("div",{className:c.cn(e.container,r.display==="double"?e.double:e.single),children:[a.jsx(s.Typography,{as:"p",defaultVariant:"bodySm",className:e.description,children:r.description}),a.jsxs("div",{className:e.priceWrapper,children:[a.jsx(s.Typography,{as:"p",defaultVariant:"bodySm",className:e.prefix,children:r.prefix}),a.jsxs("div",{className:e.priceAmount,children:[a.jsx(s.Typography,{as:"p",defaultVariant:"headingXl",mobileVariant:"headingLg",className:e.price,children:(r.price/100).toFixed(0)}),a.jsx(s.Typography,{as:"p",defaultVariant:"headingXs",mobileVariant:"headingXxs",className:e.currency,children:"$"}),r.period!=="none"&&a.jsxs(s.Typography,{as:"p",defaultVariant:"labelMd",className:e.period,children:["/",l.shortPeriod(r.period)]})]})]})]},n))});exports.PriceDisplay=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),s=require("../Typography/Typography.cjs.js"),e=require("../../src/components/PriceDisplay/priceDisplay.module.css"),c=require("../../utils/cn/cn.cjs.js"),o=require("../../utils/periodView.cjs.js"),l=({items:i})=>a.jsx("div",{className:e.root,children:i.map((r,n)=>a.jsxs("div",{className:c.cn(e.container,r.display==="double"?e.double:e.single),children:[a.jsx(s.Typography,{as:"p",defaultVariant:"bodySm",className:e.description,children:r.description}),a.jsxs("div",{className:e.priceWrapper,children:[!!r.prefix&&a.jsx(s.Typography,{as:"p",defaultVariant:"bodySm",className:e.prefix,children:r.prefix}),a.jsxs("div",{className:e.priceAmount,children:[a.jsx(s.Typography,{as:"p",defaultVariant:"headingXl",mobileVariant:"headingLg",className:e.price,children:(r.price/100).toFixed(0)}),a.jsx(s.Typography,{as:"p",defaultVariant:"headingXs",mobileVariant:"headingXxs",className:e.currency,children:"$"}),r.period!=="none"&&a.jsxs(s.Typography,{as:"p",defaultVariant:"labelMd",className:e.period,children:["/",o.shortPeriod(r.period)]})]})]})]},n))});exports.PriceDisplay=l;
@@ -3,7 +3,7 @@ import { default as React } from 'react';
3
3
  export type PriceDisplayProps = {
4
4
  display: 'single' | 'double';
5
5
  description: string;
6
- prefix: string;
6
+ prefix?: string;
7
7
  price: number;
8
8
  period: 'none' | 'month' | 'year' | 'quarter';
9
9
  };
@@ -1,16 +1,16 @@
1
1
  import { jsx as e, jsxs as s } from "react/jsx-runtime";
2
2
  import { Typography as i } from "../Typography/Typography.es.js";
3
3
  import a from "../../components/PriceDisplay/priceDisplay.module.css";
4
- import { cn as n } from "../../utils/cn/cn.es.js";
5
- import { shortPeriod as o } from "../../utils/periodView.es.js";
4
+ import { cn as o } from "../../utils/cn/cn.es.js";
5
+ import { shortPeriod as n } from "../../utils/periodView.es.js";
6
6
  const f = ({ items: d }) => /* @__PURE__ */ e("div", { className: a.root, children: d.map((r, l) => /* @__PURE__ */ s(
7
7
  "div",
8
8
  {
9
- className: n(a.container, r.display === "double" ? a.double : a.single),
9
+ className: o(a.container, r.display === "double" ? a.double : a.single),
10
10
  children: [
11
11
  /* @__PURE__ */ e(i, { as: "p", defaultVariant: "bodySm", className: a.description, children: r.description }),
12
12
  /* @__PURE__ */ s("div", { className: a.priceWrapper, children: [
13
- /* @__PURE__ */ e(i, { as: "p", defaultVariant: "bodySm", className: a.prefix, children: r.prefix }),
13
+ !!r.prefix && /* @__PURE__ */ e(i, { as: "p", defaultVariant: "bodySm", className: a.prefix, children: r.prefix }),
14
14
  /* @__PURE__ */ s("div", { className: a.priceAmount, children: [
15
15
  /* @__PURE__ */ e(
16
16
  i,
@@ -34,7 +34,7 @@ const f = ({ items: d }) => /* @__PURE__ */ e("div", { className: a.root, childr
34
34
  ),
35
35
  r.period !== "none" && /* @__PURE__ */ s(i, { as: "p", defaultVariant: "labelMd", className: a.period, children: [
36
36
  "/",
37
- o(r.period)
37
+ n(r.period)
38
38
  ] })
39
39
  ] })
40
40
  ] })
@@ -1,6 +1,8 @@
1
1
  .root {
2
2
  display: flex;
3
- gap: 2.25rem;
3
+ gap: 36px;
4
+ padding-bottom: 24px;
5
+ border-bottom: 1px solid var(--color-neutral-200);
4
6
  }
5
7
 
6
8
  @media (max-width: 768px) {
@@ -21,7 +23,7 @@
21
23
  display: flex;
22
24
  justify-content: space-between;
23
25
  align-items: center;
24
- gap: 3vw;
26
+ gap: 40px;
25
27
  width: 100%;
26
28
  }
27
29
 
@@ -32,11 +34,13 @@
32
34
  }
33
35
 
34
36
  .container.double:first-child {
37
+ padding-right: 36px;
35
38
  border-right: 1px solid var(--color-neutral-200);
36
39
  }
37
40
 
38
41
  @media (max-width: 768px) {
39
42
  .container.double {
43
+ gap: 40px;
40
44
  flex-direction: row;
41
45
  align-items: flex-start;
42
46
  }
@@ -44,6 +48,7 @@
44
48
  .container.double:first-child {
45
49
  border-right: none;
46
50
  border-bottom: 1px solid var(--color-neutral-200);
51
+ padding-right: 0;
47
52
  }
48
53
  }
49
54
 
@@ -54,10 +59,11 @@
54
59
 
55
60
  .priceWrapper {
56
61
  display: flex;
57
- gap: 0.25rem;
62
+ gap: 4px;
58
63
  flex-direction: column;
59
64
  align-items: flex-start;
60
65
  text-align: left;
66
+ min-width: 90px;
61
67
  }
62
68
 
63
69
  .prefix {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("../../types/analytics/analytics.cjs.js"),l=require("../../utils/cn/cn.cjs.js"),a=require("../../src/modules/IndividualProductCardV2/individualProductCardV2.module.css"),g=require("../../components/ImageGallery/ImageGallery.cjs.js"),d=require("../../components/RatingPreview/RatingPreview.cjs.js"),v=require("../../components/Quote/Quote.cjs.js"),n=require("../../components/Typography/Typography.cjs.js"),_=require("../IndividualProductCard/components/Features/Features.cjs.js"),P=require("../../components/PlainFeaturesGroup/PlainFeaturesGroup.cjs.js"),b=require("../../components/PriceDisplay/PriceDisplay.cjs.js"),q=require("../../components/Button/Button.cjs.js"),T=({zenpatientId:u,signupUrl:s,name:y,description:p,label:m,images:h,features:j,quote:t,priceDisplay:i,featuresGroup:r,ratingPreview:c})=>{const x={event:o.EAnalyticsEvent.ctaClicked,type:o.EAnalyticsEventType.interaction,component:"Pricing",payload:{ctaLabel:"GET STARTED",ctaLink:s,productId:u}};return e.jsx("section",{className:a.root,children:e.jsxs("div",{className:a.mainContainer,children:[e.jsxs("div",{className:a.leftColumn,children:[e.jsx(g.ImageGallery,{images:h,label:m}),e.jsx("div",{className:l.cn(a.ratingContainer,a.mobileOnly),children:e.jsx(d.RatingPreview,{...c})}),t&&e.jsx(v.Quote,{...t})]}),e.jsxs("div",{className:a.rightColumn,children:[e.jsxs("div",{className:a.header,children:[e.jsx(n.Typography,{as:"h1",defaultVariant:"displayXs",mobileVariant:"headingLg",children:y}),e.jsx(n.Typography,{as:"p",defaultVariant:"bodyMd",mobileVariant:"bodySm",className:a.description,children:p})]}),e.jsx(_.Features,{features:j}),r&&e.jsx(P.PlainFeaturesGroup,{...r}),i&&e.jsx(b.PriceDisplay,{items:i}),e.jsx("div",{className:l.cn(a.ratingContainer,a.desktopOnly),children:e.jsx(d.RatingPreview,{...c})}),e.jsxs("div",{className:a.actions,children:[e.jsx(q.Button,{variant:"primary",size:"lg",href:s,analyticsProps:x,children:"Get started"}),e.jsx(n.Typography,{as:"p",defaultVariant:"labelMd",className:a.hsaFsaText,children:"HSA/FSA Eligible"})]})]})]})})};exports.IndividualProductCardV2=T;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("../../types/analytics/analytics.cjs.js"),l=require("../../utils/cn/cn.cjs.js"),a=require("../../src/modules/IndividualProductCardV2/individualProductCardV2.module.css"),g=require("../../components/ImageGallery/ImageGallery.cjs.js"),d=require("../../components/RatingPreview/RatingPreview.cjs.js"),v=require("../../components/Quote/Quote.cjs.js"),s=require("../../components/Typography/Typography.cjs.js"),_=require("../IndividualProductCard/components/Features/Features.cjs.js"),P=require("../../components/PlainFeaturesGroup/PlainFeaturesGroup.cjs.js"),b=require("../../components/PriceDisplay/PriceDisplay.cjs.js"),q=require("../../components/Button/Button.cjs.js"),T=({zenpatientId:u,signupUrl:n,name:y,description:p,label:m,images:h,features:j,quote:t,priceDisplay:i,featuresGroup:r,ratingPreview:c})=>{const x={event:o.EAnalyticsEvent.ctaClicked,type:o.EAnalyticsEventType.interaction,component:"Pricing",payload:{ctaLabel:"GET STARTED",ctaLink:n,productId:u}};return e.jsx("section",{className:a.root,children:e.jsxs("div",{className:a.mainContainer,children:[e.jsxs("div",{className:a.leftColumn,children:[e.jsx(g.ImageGallery,{images:h,label:m}),e.jsx("div",{className:l.cn(a.ratingContainer,a.mobileOnly),children:e.jsx(d.RatingPreview,{...c})}),t&&e.jsx(v.Quote,{...t})]}),e.jsxs("div",{className:a.rightColumn,children:[e.jsxs("div",{className:a.header,children:[e.jsx(s.Typography,{as:"h1",defaultVariant:"displayXs",mobileVariant:"headingLg",children:y}),e.jsx(s.Typography,{as:"p",defaultVariant:"bodyMd",mobileVariant:"bodySm",className:a.description,children:p})]}),e.jsx(_.Features,{features:j}),r&&e.jsx(P.PlainFeaturesGroup,{...r}),i&&e.jsx(b.PriceDisplay,{items:i}),e.jsx("div",{className:l.cn(a.ratingContainer,a.desktopOnly),children:e.jsx(d.RatingPreview,{...c})}),e.jsxs("div",{className:a.actions,children:[e.jsx(q.Button,{as:"a",variant:"primary",size:"lg",href:n,analyticsProps:x,children:"Get started"}),e.jsx(s.Typography,{as:"p",defaultVariant:"labelMd",className:a.hsaFsaText,children:"HSA/FSA Eligible"})]})]})]})})};exports.IndividualProductCardV2=T;
@@ -58,7 +58,17 @@ const z = ({
58
58
  o && /* @__PURE__ */ a(T, { items: o }),
59
59
  /* @__PURE__ */ a("div", { className: m(i.ratingContainer, i.desktopOnly), children: /* @__PURE__ */ a(c, { ...s }) }),
60
60
  /* @__PURE__ */ r("div", { className: i.actions, children: [
61
- /* @__PURE__ */ a(V, { variant: "primary", size: "lg", href: e, analyticsProps: u, children: "Get started" }),
61
+ /* @__PURE__ */ a(
62
+ V,
63
+ {
64
+ as: "a",
65
+ variant: "primary",
66
+ size: "lg",
67
+ href: e,
68
+ analyticsProps: u,
69
+ children: "Get started"
70
+ }
71
+ ),
62
72
  /* @__PURE__ */ a(t, { as: "p", defaultVariant: "labelMd", className: i.hsaFsaText, children: "HSA/FSA Eligible" })
63
73
  ] })
64
74
  ] })
@@ -24,6 +24,7 @@ export type TPriceDisplayComponentView = {
24
24
  price: number;
25
25
  period: 'none' | 'month' | 'quarter' | 'year';
26
26
  prefix?: string;
27
+ display: 'single' | 'double';
27
28
  };
28
29
  export type TInternalPlainFeatureItemView = {
29
30
  text: string;
@@ -1,6 +1,7 @@
1
1
  .root {
2
2
  display: flex;
3
3
  width: 100%;
4
+ overflow: hidden;
4
5
  }
5
6
 
6
7
  .featuresContainer {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zenpatient-org/healthspan-marketing-ui",
3
- "version": "0.2.12",
3
+ "version": "0.2.14",
4
4
  "description": "Design system",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.es.js",