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

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.
@@ -43,12 +43,23 @@
43
43
  gap: 40px;
44
44
  flex-direction: row;
45
45
  align-items: flex-start;
46
+ padding-bottom: 1rem;
46
47
  }
47
48
 
48
49
  .container.double:first-child {
49
50
  border-right: none;
50
- border-bottom: 1px solid var(--color-neutral-200);
51
51
  padding-right: 0;
52
+ position: relative;
53
+ }
54
+
55
+ .container.double:first-child::after {
56
+ content: '';
57
+ position: absolute;
58
+ bottom: 0;
59
+ left: -1rem;
60
+ right: -1rem;
61
+ height: 1px;
62
+ background-color: var(--color-neutral-200);
52
63
  }
53
64
  }
54
65
 
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("../Typography/Typography.cjs.js"),t=require("../../src/components/Quote/Quote.module.css"),l=require("./const.cjs.js"),u=({prefix:a,color:s,quote:c,source:o,sourcePrefix:n})=>{var r;return e.jsxs("div",{className:t.quoteContainer,children:[e.jsxs("div",{className:t.quoteContent,children:[a&&s&&e.jsx("img",{src:(r=l.prefixSelection[a])==null?void 0:r[s],alt:`${a} icon`,className:t.quoteIcon}),e.jsx(i.Typography,{as:"p",defaultVariant:"preambleSm",mobileVariant:"bodyXl",className:t.quoteText,children:c})]}),o&&n&&e.jsxs(i.Typography,{as:"figcaption",defaultVariant:"labelMd",mobileVariant:"labelSm",emphasis:!0,className:t.quoteAuthor,children:[l.sourcePrefixSelection[n]," ",o]})]})};exports.Quote=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("../Typography/Typography.cjs.js"),t=require("../../src/components/Quote/Quote.module.css"),l=require("./const.cjs.js"),u=({prefix:a,color:s,quote:c,source:o,sourcePrefix:n})=>{var r;return e.jsxs("div",{className:t.quoteContainer,children:[e.jsxs("div",{className:t.quoteContent,children:[a&&s&&e.jsx("img",{src:(r=l.prefixSelection[a])==null?void 0:r[s],alt:`${a} icon`,className:t.quoteIcon}),e.jsx(i.Typography,{as:"p",defaultVariant:"preambleSm",mobileVariant:"bodyXl",className:t.quoteText,children:c})]}),o&&n&&e.jsxs(i.Typography,{as:"figcaption",defaultVariant:"labelSm",mobileVariant:"labelXs",emphasis:!0,className:t.quoteAuthor,children:[l.sourcePrefixSelection[n]," ",o]})]})};exports.Quote=u;
@@ -1,24 +1,24 @@
1
- import { jsxs as t, jsx as m } from "react/jsx-runtime";
2
- import { Typography as s } from "../Typography/Typography.es.js";
1
+ import { jsxs as t, jsx as s } from "react/jsx-runtime";
2
+ import { Typography as m } from "../Typography/Typography.es.js";
3
3
  import e from "../../components/Quote/Quote.module.css";
4
- import { prefixSelection as c, sourcePrefixSelection as d } from "./const.es.js";
4
+ import { prefixSelection as c, sourcePrefixSelection as p } from "./const.es.js";
5
5
  const f = ({ prefix: a, color: o, quote: n, source: i, sourcePrefix: l }) => {
6
6
  var r;
7
7
  return /* @__PURE__ */ t("div", { className: e.quoteContainer, children: [
8
8
  /* @__PURE__ */ t("div", { className: e.quoteContent, children: [
9
- a && o && /* @__PURE__ */ m("img", { src: (r = c[a]) == null ? void 0 : r[o], alt: `${a} icon`, className: e.quoteIcon }),
10
- /* @__PURE__ */ m(s, { as: "p", defaultVariant: "preambleSm", mobileVariant: "bodyXl", className: e.quoteText, children: n })
9
+ a && o && /* @__PURE__ */ s("img", { src: (r = c[a]) == null ? void 0 : r[o], alt: `${a} icon`, className: e.quoteIcon }),
10
+ /* @__PURE__ */ s(m, { as: "p", defaultVariant: "preambleSm", mobileVariant: "bodyXl", className: e.quoteText, children: n })
11
11
  ] }),
12
12
  i && l && /* @__PURE__ */ t(
13
- s,
13
+ m,
14
14
  {
15
15
  as: "figcaption",
16
- defaultVariant: "labelMd",
17
- mobileVariant: "labelSm",
16
+ defaultVariant: "labelSm",
17
+ mobileVariant: "labelXs",
18
18
  emphasis: !0,
19
19
  className: e.quoteAuthor,
20
20
  children: [
21
- d[l],
21
+ p[l],
22
22
  " ",
23
23
  i
24
24
  ]
@@ -14,6 +14,10 @@
14
14
  color: var(--color-text-primary);
15
15
  }
16
16
 
17
+ .feature:last-child {
18
+ border-bottom: none;
19
+ }
20
+
17
21
  .header {
18
22
  width: 100%;
19
23
  display: flex;
@@ -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"),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;
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"),q=require("../../components/PriceDisplay/PriceDisplay.cjs.js"),b=require("../../components/Button/Button.cjs.js"),N=({zenpatientId:u,signupUrl:n,name:p,description:y,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("div",{className:a.quoteWrapper,children: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:p}),e.jsx(s.Typography,{as:"p",defaultVariant:"bodyMd",mobileVariant:"bodySm",className:a.description,children:y})]}),e.jsx(_.Features,{features:j}),r&&e.jsx(P.PlainFeaturesGroup,{...r}),i&&e.jsx(q.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(b.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=N;
@@ -1,18 +1,18 @@
1
- import { jsx as a, jsxs as r } from "react/jsx-runtime";
1
+ import { jsx as a, jsxs as e } from "react/jsx-runtime";
2
2
  import { EAnalyticsEventType as N, EAnalyticsEvent as b } from "../../types/analytics/analytics.es.js";
3
3
  import { cn as m } from "../../utils/cn/cn.es.js";
4
4
  import i from "../../modules/IndividualProductCardV2/individualProductCardV2.module.css";
5
5
  import { ImageGallery as g } from "../../components/ImageGallery/ImageGallery.es.js";
6
6
  import { RatingPreview as c } from "../../components/RatingPreview/RatingPreview.es.js";
7
7
  import { Quote as E } from "../../components/Quote/Quote.es.js";
8
- import { Typography as t } from "../../components/Typography/Typography.es.js";
8
+ import { Typography as r } from "../../components/Typography/Typography.es.js";
9
9
  import { Features as C } from "../IndividualProductCard/components/Features/Features.es.js";
10
10
  import { PlainFeaturesGroup as A } from "../../components/PlainFeaturesGroup/PlainFeaturesGroup.es.js";
11
11
  import { PriceDisplay as T } from "../../components/PriceDisplay/PriceDisplay.es.js";
12
12
  import { Button as V } from "../../components/Button/Button.es.js";
13
13
  const z = ({
14
14
  zenpatientId: d,
15
- signupUrl: e,
15
+ signupUrl: t,
16
16
  name: p,
17
17
  description: h,
18
18
  label: y,
@@ -29,21 +29,21 @@ const z = ({
29
29
  component: "Pricing",
30
30
  payload: {
31
31
  ctaLabel: "GET STARTED",
32
- ctaLink: e,
32
+ ctaLink: t,
33
33
  productId: d
34
34
  }
35
35
  };
36
- return /* @__PURE__ */ a("section", { className: i.root, children: /* @__PURE__ */ r("div", { className: i.mainContainer, children: [
37
- /* @__PURE__ */ r("div", { className: i.leftColumn, children: [
36
+ return /* @__PURE__ */ a("section", { className: i.root, children: /* @__PURE__ */ e("div", { className: i.mainContainer, children: [
37
+ /* @__PURE__ */ e("div", { className: i.leftColumn, children: [
38
38
  /* @__PURE__ */ a(g, { images: f, label: y }),
39
39
  /* @__PURE__ */ a("div", { className: m(i.ratingContainer, i.mobileOnly), children: /* @__PURE__ */ a(c, { ...s }) }),
40
- n && /* @__PURE__ */ a(E, { ...n })
40
+ n && /* @__PURE__ */ a("div", { className: i.quoteWrapper, children: /* @__PURE__ */ a(E, { ...n }) })
41
41
  ] }),
42
- /* @__PURE__ */ r("div", { className: i.rightColumn, children: [
43
- /* @__PURE__ */ r("div", { className: i.header, children: [
44
- /* @__PURE__ */ a(t, { as: "h1", defaultVariant: "displayXs", mobileVariant: "headingLg", children: p }),
42
+ /* @__PURE__ */ e("div", { className: i.rightColumn, children: [
43
+ /* @__PURE__ */ e("div", { className: i.header, children: [
44
+ /* @__PURE__ */ a(r, { as: "h1", defaultVariant: "displayXs", mobileVariant: "headingLg", children: p }),
45
45
  /* @__PURE__ */ a(
46
- t,
46
+ r,
47
47
  {
48
48
  as: "p",
49
49
  defaultVariant: "bodyMd",
@@ -57,19 +57,19 @@ const z = ({
57
57
  l && /* @__PURE__ */ a(A, { ...l }),
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
- /* @__PURE__ */ r("div", { className: i.actions, children: [
60
+ /* @__PURE__ */ e("div", { className: i.actions, children: [
61
61
  /* @__PURE__ */ a(
62
62
  V,
63
63
  {
64
64
  as: "a",
65
65
  variant: "primary",
66
66
  size: "lg",
67
- href: e,
67
+ href: t,
68
68
  analyticsProps: u,
69
69
  children: "Get started"
70
70
  }
71
71
  ),
72
- /* @__PURE__ */ a(t, { as: "p", defaultVariant: "labelMd", className: i.hsaFsaText, children: "HSA/FSA Eligible" })
72
+ /* @__PURE__ */ a(r, { as: "p", defaultVariant: "labelMd", className: i.hsaFsaText, children: "HSA/FSA Eligible" })
73
73
  ] })
74
74
  ] })
75
75
  ] }) });
@@ -13,6 +13,7 @@
13
13
  flex-direction: column;
14
14
  gap: 3rem;
15
15
  overflow: hidden;
16
+ align-items: center;
16
17
  }
17
18
 
18
19
  .rightColumn {
@@ -21,6 +22,11 @@
21
22
  gap: 2rem;
22
23
  }
23
24
 
25
+ .quoteWrapper {
26
+ width: 100%;
27
+ max-width: 435px;
28
+ }
29
+
24
30
  .header {
25
31
  display: flex;
26
32
  flex-direction: column;
@@ -68,7 +74,7 @@
68
74
  text-align: center;
69
75
  padding: 1rem;
70
76
  width: 100%;
71
- border-radius: var(--border-radius-md);
77
+ border-radius: var(--border-radius-xs);
72
78
  }
73
79
 
74
80
  @media (width <= 1024px) {
@@ -87,4 +93,7 @@
87
93
  .desktopOnly {
88
94
  display: none;
89
95
  }
96
+ .quoteWrapper {
97
+ max-width: 100%;
98
+ }
90
99
  }
@@ -6,45 +6,43 @@
6
6
  background-size: cover;
7
7
  background-repeat: no-repeat;
8
8
  background-position: center;
9
+ background-color: var(--color-black);
10
+ -webkit-font-smoothing: antialiased;
11
+ -moz-osx-font-smoothing: grayscale;
9
12
  }
10
13
 
11
14
  .container {
12
15
  position: relative;
13
16
  display: flex;
14
- justify-content: flex-end;
17
+ align-items: flex-end;
15
18
  width: 100%;
16
- max-width: var(--content-max-width);
17
- height: 100%;
19
+ height: 100vh;
20
+ min-height: 50vh;
18
21
  }
19
22
 
20
23
  .headline {
21
24
  position: relative;
22
- display: flex;
25
+ display: grid;
23
26
  width: 100%;
24
- min-height: 216px;
27
+ grid-template-columns: 1fr var(--border-width-sm) 1fr;
25
28
  justify-content: center;
26
- align-items: flex-start;
27
- margin-top: 564px;
28
29
  margin-bottom: 30px;
29
30
  }
30
31
 
31
32
  .infoContainer,
32
33
  .titleContainer {
33
34
  display: flex;
34
- padding-top: 54px;
35
+ align-items: center;
36
+ padding: 46px;
35
37
  position: relative;
36
- width: 50%;
37
38
  height: 100%;
38
39
  overflow: hidden;
39
40
  }
40
41
 
41
- .infoContainer {
42
- padding-left: 46px;
43
- padding-bottom: 46px;
44
- }
45
42
 
46
43
  .titleContainer {
47
44
  justify-content: flex-end;
45
+ align-items: flex-end;
48
46
  padding-right: 46px;
49
47
  }
50
48
 
@@ -81,16 +79,14 @@
81
79
 
82
80
  .title {
83
81
  color: var(--color-white);
84
- text-align: center;
82
+ max-width: 14ch;
85
83
  }
86
84
 
87
85
  .midBorder {
88
86
  position: relative;
89
- height: 148px;
90
- margin-top: 38px;
87
+ margin-block: 38px;
91
88
  width: var(--border-width-sm);
92
89
  background: var(--border-color-alpha-white-20);
93
- min-height: 1px;
94
90
  }
95
91
 
96
92
  .infoBox {
@@ -113,17 +109,21 @@
113
109
 
114
110
  @media screen and (width <= 768px) {
115
111
  .headline {
116
- flex-direction: column;
117
- margin-top: 372px;
118
- margin-bottom: 16px;
119
112
  height: 100%;
120
- max-height: none;
113
+ grid-template-columns: 1fr;
114
+ grid-template-rows: 1fr var(--border-width-sm) 1fr;
115
+ align-items: end;
116
+ height: fit-content;
121
117
  }
122
118
 
123
119
  .infoContainer,
124
120
  .titleContainer {
121
+ max-height: fit-content;
125
122
  padding: 24px;
126
123
  width: 100%;
124
+ }
125
+
126
+ .titleContainer {
127
127
  justify-content: flex-start;
128
128
  }
129
129
 
@@ -151,3 +151,10 @@
151
151
  width: 100%;
152
152
  }
153
153
  }
154
+
155
+
156
+ @media screen and ( height > 1080px) {
157
+ .container {
158
+ height: 50vh;
159
+ }
160
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zenpatient-org/healthspan-marketing-ui",
3
- "version": "0.2.14",
3
+ "version": "0.2.16",
4
4
  "description": "Design system",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.es.js",