@zenpatient-org/healthspan-marketing-ui 0.2.10 → 0.2.12
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.
- package/dist/components/PlainFeaturesGroup/PlainFeaturesGroup.cjs.js +1 -1
- package/dist/components/PlainFeaturesGroup/PlainFeaturesGroup.es.js +11 -7
- package/dist/components/PlainFeaturesGroup/plainFeaturesGroup.module.css +13 -4
- package/dist/components/PriceDisplay/PriceDisplay.cjs.js +1 -1
- package/dist/components/PriceDisplay/PriceDisplay.es.js +10 -18
- package/dist/components/PriceDisplay/priceDisplay.module.css +1 -1
- package/dist/modules/IndividualProductCardV2/IndividualProductCardV2.cjs.js +1 -1
- package/dist/modules/IndividualProductCardV2/IndividualProductCardV2.es.js +35 -36
- package/dist/modules/IndividualProductCardV2/individualProductCardV2.module.css +8 -0
- package/dist/modules/IndividualProductCardV2/types.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("./assets/VectorLogo.svg.cjs.js"),s=require("../../src/components/PlainFeaturesGroup/plainFeaturesGroup.module.css"),c=require("../Icon/Icon.cjs.js"),t=require("../Typography/Typography.cjs.js"),u=({items:a})=>e.jsxs("div",{className:s.container,children:[e.jsx("div",{className:s.plainFeaturesGroup,children:a&&a.map((r,o)=>e.jsxs("div",{className:s.feature,children:[r.icon&&e.jsx(c.Icon,{name:r.icon,className:s.featureIcon}),e.jsx(t.Typography,{className:s.featureText,defaultVariant:"bodyXs",children:r.text})]},o))}),e.jsx(n.default,{className:s.logo})]});exports.PlainFeaturesGroup=u;
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
1
|
+
import { jsxs as s, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import c from "./assets/VectorLogo.svg.es.js";
|
|
3
3
|
import r from "../../components/PlainFeaturesGroup/plainFeaturesGroup.module.css";
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
/* @__PURE__ */ e(
|
|
4
|
+
import { Icon as n } from "../Icon/Icon.es.js";
|
|
5
|
+
import { Typography as i } from "../Typography/Typography.es.js";
|
|
6
|
+
const u = ({ items: o }) => /* @__PURE__ */ s("div", { className: r.container, children: [
|
|
7
|
+
/* @__PURE__ */ a("div", { className: r.plainFeaturesGroup, children: o && o.map((e, t) => /* @__PURE__ */ s("div", { className: r.feature, children: [
|
|
8
|
+
e.icon && /* @__PURE__ */ a(n, { name: e.icon, className: r.featureIcon }),
|
|
9
|
+
/* @__PURE__ */ a(i, { className: r.featureText, defaultVariant: "bodyXs", children: e.text })
|
|
10
|
+
] }, t)) }),
|
|
11
|
+
/* @__PURE__ */ a(c, { className: r.logo })
|
|
8
12
|
] });
|
|
9
13
|
export {
|
|
10
|
-
|
|
14
|
+
u as PlainFeaturesGroup
|
|
11
15
|
};
|
|
@@ -20,7 +20,9 @@
|
|
|
20
20
|
position: relative;
|
|
21
21
|
height: 200px;
|
|
22
22
|
width: 300px;
|
|
23
|
-
margin-
|
|
23
|
+
margin-top: -13px;
|
|
24
|
+
margin-right: -37px;
|
|
25
|
+
margin-bottom: -200px;
|
|
24
26
|
flex-shrink: 0;
|
|
25
27
|
z-index: 0;
|
|
26
28
|
opacity: 0.6;
|
|
@@ -33,9 +35,10 @@
|
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
.featureIcon {
|
|
38
|
+
margin-top: -1px;
|
|
36
39
|
color: var(--color-text-secondary);
|
|
37
|
-
width:
|
|
38
|
-
height:
|
|
40
|
+
width: 16px;
|
|
41
|
+
height: 16px;
|
|
39
42
|
}
|
|
40
43
|
|
|
41
44
|
.featureText {
|
|
@@ -44,7 +47,13 @@
|
|
|
44
47
|
|
|
45
48
|
@media (width <= 1200px) {
|
|
46
49
|
.logo {
|
|
47
|
-
margin-
|
|
50
|
+
margin-right: -180px;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@media (width <= 768px) {
|
|
55
|
+
.logo {
|
|
56
|
+
margin-right: -220px;
|
|
48
57
|
margin-top: -30px;
|
|
49
58
|
}
|
|
50
59
|
}
|
|
@@ -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"),
|
|
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,25 +1,17 @@
|
|
|
1
|
-
import { jsx as e, jsxs as
|
|
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
|
|
5
|
-
import { shortPeriod as
|
|
6
|
-
const f = ({ items:
|
|
4
|
+
import { cn as n } from "../../utils/cn/cn.es.js";
|
|
5
|
+
import { shortPeriod as o } from "../../utils/periodView.es.js";
|
|
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:
|
|
9
|
+
className: n(a.container, r.display === "double" ? a.double : a.single),
|
|
10
10
|
children: [
|
|
11
|
-
/* @__PURE__ */ e(
|
|
12
|
-
|
|
13
|
-
{
|
|
14
|
-
as: "p",
|
|
15
|
-
defaultVariant: r.display === "double" ? "bodySm" : "bodyLg",
|
|
16
|
-
className: a.description,
|
|
17
|
-
children: r.description
|
|
18
|
-
}
|
|
19
|
-
),
|
|
20
|
-
/* @__PURE__ */ d("div", { className: a.priceWrapper, children: [
|
|
11
|
+
/* @__PURE__ */ e(i, { as: "p", defaultVariant: "bodySm", className: a.description, children: r.description }),
|
|
12
|
+
/* @__PURE__ */ s("div", { className: a.priceWrapper, children: [
|
|
21
13
|
/* @__PURE__ */ e(i, { as: "p", defaultVariant: "bodySm", className: a.prefix, children: r.prefix }),
|
|
22
|
-
/* @__PURE__ */
|
|
14
|
+
/* @__PURE__ */ s("div", { className: a.priceAmount, children: [
|
|
23
15
|
/* @__PURE__ */ e(
|
|
24
16
|
i,
|
|
25
17
|
{
|
|
@@ -40,9 +32,9 @@ const f = ({ items: s }) => /* @__PURE__ */ e("div", { className: a.root, childr
|
|
|
40
32
|
children: "$"
|
|
41
33
|
}
|
|
42
34
|
),
|
|
43
|
-
r.period !== "none" && /* @__PURE__ */
|
|
35
|
+
r.period !== "none" && /* @__PURE__ */ s(i, { as: "p", defaultVariant: "labelMd", className: a.period, children: [
|
|
44
36
|
"/",
|
|
45
|
-
|
|
37
|
+
o(r.period)
|
|
46
38
|
] })
|
|
47
39
|
] })
|
|
48
40
|
] })
|
|
@@ -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"),
|
|
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,70 +1,69 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { EAnalyticsEventType as
|
|
1
|
+
import { jsx as a, jsxs as r } from "react/jsx-runtime";
|
|
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
|
-
import
|
|
5
|
-
import { ImageGallery as
|
|
6
|
-
import { RatingPreview as
|
|
4
|
+
import i from "../../modules/IndividualProductCardV2/individualProductCardV2.module.css";
|
|
5
|
+
import { ImageGallery as g } from "../../components/ImageGallery/ImageGallery.es.js";
|
|
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
|
|
8
|
+
import { Typography as t } 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
|
-
import { Button as
|
|
13
|
-
|
|
14
|
-
const H = ({
|
|
12
|
+
import { Button as V } from "../../components/Button/Button.es.js";
|
|
13
|
+
const z = ({
|
|
15
14
|
zenpatientId: d,
|
|
16
|
-
signupUrl:
|
|
15
|
+
signupUrl: e,
|
|
17
16
|
name: p,
|
|
18
17
|
description: h,
|
|
19
18
|
label: y,
|
|
20
19
|
images: f,
|
|
21
20
|
features: v,
|
|
22
|
-
quote:
|
|
23
|
-
priceDisplay:
|
|
24
|
-
featuresGroup:
|
|
25
|
-
ratingPreview:
|
|
21
|
+
quote: n,
|
|
22
|
+
priceDisplay: o,
|
|
23
|
+
featuresGroup: l,
|
|
24
|
+
ratingPreview: s
|
|
26
25
|
}) => {
|
|
27
26
|
const u = {
|
|
28
|
-
event:
|
|
29
|
-
type:
|
|
27
|
+
event: b.ctaClicked,
|
|
28
|
+
type: N.interaction,
|
|
30
29
|
component: "Pricing",
|
|
31
30
|
payload: {
|
|
32
31
|
ctaLabel: "GET STARTED",
|
|
33
|
-
ctaLink:
|
|
32
|
+
ctaLink: e,
|
|
34
33
|
productId: d
|
|
35
34
|
}
|
|
36
35
|
};
|
|
37
|
-
return /* @__PURE__ */
|
|
38
|
-
/* @__PURE__ */
|
|
39
|
-
/* @__PURE__ */
|
|
40
|
-
/* @__PURE__ */
|
|
41
|
-
|
|
36
|
+
return /* @__PURE__ */ a("section", { className: i.root, children: /* @__PURE__ */ r("div", { className: i.mainContainer, children: [
|
|
37
|
+
/* @__PURE__ */ r("div", { className: i.leftColumn, children: [
|
|
38
|
+
/* @__PURE__ */ a(g, { images: f, label: y }),
|
|
39
|
+
/* @__PURE__ */ a("div", { className: m(i.ratingContainer, i.mobileOnly), children: /* @__PURE__ */ a(c, { ...s }) }),
|
|
40
|
+
n && /* @__PURE__ */ a(E, { ...n })
|
|
42
41
|
] }),
|
|
43
|
-
/* @__PURE__ */
|
|
44
|
-
/* @__PURE__ */
|
|
45
|
-
/* @__PURE__ */
|
|
46
|
-
/* @__PURE__ */
|
|
47
|
-
|
|
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 }),
|
|
45
|
+
/* @__PURE__ */ a(
|
|
46
|
+
t,
|
|
48
47
|
{
|
|
49
48
|
as: "p",
|
|
50
49
|
defaultVariant: "bodyMd",
|
|
51
50
|
mobileVariant: "bodySm",
|
|
52
|
-
className:
|
|
51
|
+
className: i.description,
|
|
53
52
|
children: h
|
|
54
53
|
}
|
|
55
54
|
)
|
|
56
55
|
] }),
|
|
57
|
-
/* @__PURE__ */
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
/* @__PURE__ */
|
|
61
|
-
/* @__PURE__ */
|
|
62
|
-
/* @__PURE__ */
|
|
63
|
-
/* @__PURE__ */
|
|
56
|
+
/* @__PURE__ */ a(C, { features: v }),
|
|
57
|
+
l && /* @__PURE__ */ a(A, { ...l }),
|
|
58
|
+
o && /* @__PURE__ */ a(T, { items: o }),
|
|
59
|
+
/* @__PURE__ */ a("div", { className: m(i.ratingContainer, i.desktopOnly), children: /* @__PURE__ */ a(c, { ...s }) }),
|
|
60
|
+
/* @__PURE__ */ r("div", { className: i.actions, children: [
|
|
61
|
+
/* @__PURE__ */ a(V, { variant: "primary", size: "lg", href: e, analyticsProps: u, children: "Get started" }),
|
|
62
|
+
/* @__PURE__ */ a(t, { as: "p", defaultVariant: "labelMd", className: i.hsaFsaText, children: "HSA/FSA Eligible" })
|
|
64
63
|
] })
|
|
65
64
|
] })
|
|
66
65
|
] }) });
|
|
67
66
|
};
|
|
68
67
|
export {
|
|
69
|
-
|
|
68
|
+
z as IndividualProductCardV2
|
|
70
69
|
};
|
|
@@ -63,6 +63,14 @@
|
|
|
63
63
|
display: block;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
+
.hsaFsaText {
|
|
67
|
+
background-color: var(--color-bg-neutral-light);
|
|
68
|
+
text-align: center;
|
|
69
|
+
padding: 1rem;
|
|
70
|
+
width: 100%;
|
|
71
|
+
border-radius: var(--border-radius-md);
|
|
72
|
+
}
|
|
73
|
+
|
|
66
74
|
@media (width <= 1024px) {
|
|
67
75
|
.mainContainer {
|
|
68
76
|
padding: 2rem 1rem;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ETypeBadge } from '../../components/TypeBadge';
|
|
2
|
+
import { EIconName } from '../../components/Icon/constants';
|
|
2
3
|
|
|
3
4
|
export type TTypeBadge = 'senescence' | 'supplements' | 'outline' | 'energy' | 'metabolism' | 'labs';
|
|
4
5
|
export type TProductFeature = {
|
|
@@ -26,7 +27,7 @@ export type TPriceDisplayComponentView = {
|
|
|
26
27
|
};
|
|
27
28
|
export type TInternalPlainFeatureItemView = {
|
|
28
29
|
text: string;
|
|
29
|
-
icon:
|
|
30
|
+
icon: EIconName;
|
|
30
31
|
href?: string;
|
|
31
32
|
};
|
|
32
33
|
export type TPlainFeaturesGroupView = {
|