@zenpatient-org/healthspan-marketing-ui 0.2.17 → 0.2.19

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 e=require("react/jsx-runtime"),r=require("../../src/modules/FeaturesGallery/featuresGallery.module.css"),o=require("../../components/HighlightedTitle/HighlightedTitle.cjs.js"),d=require("../../components/Typography/Typography.cjs.js"),c=require("./components/FeatureGrid/FeatureGrid.cjs.js"),h=require("../../components/InfiniteScroll/InfiniteScroll.cjs.js"),m=({label:s,url:i})=>e.jsx("a",{href:i,className:r.label,children:e.jsx(d.Typography,{defaultVariant:"labelMd",emphasis:!0,mobileVariant:"labelSm",weight:"regular",children:s})}),y=({title:s,description:i,features:l,labels:n})=>e.jsxs("section",{className:r.root,children:[e.jsxs("div",{className:r.container,children:[e.jsxs("div",{className:r.header,children:[e.jsx(o.HighlightedTitle,{title:s,className:r.title,defaultVariant:"displayMd",mobileVariant:"headingXl"}),i&&e.jsx(d.Typography,{as:"p",defaultVariant:"bodyLg",mobileVariant:"bodySm",children:i})]}),e.jsxs("div",{className:r.features,children:[e.jsx("div",{className:r.primaryFeatures,children:l.slice(0,2).map((a,t)=>e.jsx(c.FeatureGrid,{feature:a,index:t,type:"primary"},a.label))}),l.length>2&&e.jsx("div",{className:r.secondaryFeatures,children:l.slice(2).map((a,t)=>e.jsx(c.FeatureGrid,{feature:a,index:t,type:"secondary"},a.label))})]})]}),n.length>0&&e.jsx("div",{className:r.footer,children:e.jsx(h.InfiniteScroll,{items:n,renderItem:m})})]});exports.FeaturesGallery=y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("../../src/modules/FeaturesGallery/featuresGallery.module.css"),o=require("../../components/HighlightedTitle/HighlightedTitle.cjs.js"),c=require("../../components/Typography/Typography.cjs.js"),n=require("./components/FeatureGrid/FeatureGrid.cjs.js"),h=require("../../components/InfiniteScroll/InfiniteScroll.cjs.js"),m=({label:s,url:a})=>e.jsx("a",{href:a,className:r.label,children:e.jsx(c.Typography,{defaultVariant:"labelMd",emphasis:!0,mobileVariant:"labelSm",weight:"regular",children:s})}),y=({title:s,description:a,features:l,labels:t})=>e.jsxs("section",{className:r.root,children:[e.jsxs("div",{className:r.container,children:[e.jsxs("div",{className:r.header,children:[e.jsx(o.HighlightedTitle,{title:s,className:r.title,defaultVariant:"displayMd",mobileVariant:"headingXl"}),a&&e.jsx(c.Typography,{as:"p",defaultVariant:"bodyLg",mobileVariant:"bodySm",children:a})]}),e.jsxs("div",{className:r.features,children:[e.jsx("div",{className:r.primaryFeatures,children:l.slice(0,2).map((i,d)=>e.jsx(n.FeatureGrid,{feature:i,type:"primary"},i.label))}),l.length>2&&e.jsx("div",{className:r.secondaryFeatures,children:l.slice(2).map((i,d)=>e.jsx(n.FeatureGrid,{feature:i,type:"secondary"},i.label))})]})]}),t.length>0&&e.jsx("div",{className:r.footer,children:e.jsx(h.InfiniteScroll,{items:t,renderItem:m})})]});exports.FeaturesGallery=y;
@@ -1,12 +1,12 @@
1
- import { jsxs as i, jsx as e } from "react/jsx-runtime";
1
+ import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
2
  import a from "../../modules/FeaturesGallery/featuresGallery.module.css";
3
3
  import { HighlightedTitle as c } from "../../components/HighlightedTitle/HighlightedTitle.es.js";
4
- import { Typography as o } from "../../components/Typography/Typography.es.js";
5
- import { FeatureGrid as n } from "./components/FeatureGrid/FeatureGrid.es.js";
4
+ import { Typography as n } from "../../components/Typography/Typography.es.js";
5
+ import { FeatureGrid as m } from "./components/FeatureGrid/FeatureGrid.es.js";
6
6
  import { InfiniteScroll as h } from "../../components/InfiniteScroll/InfiniteScroll.es.js";
7
- const p = ({ label: t, url: l }) => /* @__PURE__ */ e("a", { href: l, className: a.label, children: /* @__PURE__ */ e(o, { defaultVariant: "labelMd", emphasis: !0, mobileVariant: "labelSm", weight: "regular", children: t }) }), v = ({ title: t, description: l, features: s, labels: d }) => /* @__PURE__ */ i("section", { className: a.root, children: [
8
- /* @__PURE__ */ i("div", { className: a.container, children: [
9
- /* @__PURE__ */ i("div", { className: a.header, children: [
7
+ const p = ({ label: t, url: i }) => /* @__PURE__ */ e("a", { href: i, className: a.label, children: /* @__PURE__ */ e(n, { defaultVariant: "labelMd", emphasis: !0, mobileVariant: "labelSm", weight: "regular", children: t }) }), v = ({ title: t, description: i, features: s, labels: d }) => /* @__PURE__ */ l("section", { className: a.root, children: [
8
+ /* @__PURE__ */ l("div", { className: a.container, children: [
9
+ /* @__PURE__ */ l("div", { className: a.header, children: [
10
10
  /* @__PURE__ */ e(
11
11
  c,
12
12
  {
@@ -16,11 +16,11 @@ const p = ({ label: t, url: l }) => /* @__PURE__ */ e("a", { href: l, className:
16
16
  mobileVariant: "headingXl"
17
17
  }
18
18
  ),
19
- l && /* @__PURE__ */ e(o, { as: "p", defaultVariant: "bodyLg", mobileVariant: "bodySm", children: l })
19
+ i && /* @__PURE__ */ e(n, { as: "p", defaultVariant: "bodyLg", mobileVariant: "bodySm", children: i })
20
20
  ] }),
21
- /* @__PURE__ */ i("div", { className: a.features, children: [
22
- /* @__PURE__ */ e("div", { className: a.primaryFeatures, children: s.slice(0, 2).map((r, m) => /* @__PURE__ */ e(n, { feature: r, index: m, type: "primary" }, r.label)) }),
23
- s.length > 2 && /* @__PURE__ */ e("div", { className: a.secondaryFeatures, children: s.slice(2).map((r, m) => /* @__PURE__ */ e(n, { feature: r, index: m, type: "secondary" }, r.label)) })
21
+ /* @__PURE__ */ l("div", { className: a.features, children: [
22
+ /* @__PURE__ */ e("div", { className: a.primaryFeatures, children: s.slice(0, 2).map((r, o) => /* @__PURE__ */ e(m, { feature: r, type: "primary" }, r.label)) }),
23
+ s.length > 2 && /* @__PURE__ */ e("div", { className: a.secondaryFeatures, children: s.slice(2).map((r, o) => /* @__PURE__ */ e(m, { feature: r, type: "secondary" }, r.label)) })
24
24
  ] })
25
25
  ] }),
26
26
  d.length > 0 && /* @__PURE__ */ e("div", { className: a.footer, children: /* @__PURE__ */ e(h, { items: d, renderItem: p }) })
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("../../../../components/Icon/constants.cjs.js"),l=require("../../../../utils/cn/cn.cjs.js"),n=require("../../../../src/modules/FeaturesGallery/components/FeatureGrid/FeatureGrid.module.css"),m=require("../../../../components/Typography/Typography.cjs.js"),t=require("../../../../components/IconButton/IconButton.cjs.js"),i={primary:{default:"headingXl",mobile:"headingXs"},secondary:{default:"headingSm",mobile:"headingXxs"}},d=({feature:a,className:r,index:c,type:s})=>e.jsxs("a",{className:l.cn(n.root,n[s],r),style:{backgroundImage:`url("${a.image}")`},href:a.url,children:[e.jsx("div",{className:n.smoke,"data-smoke":c%3}),e.jsxs("div",{className:n.content,children:[e.jsx(m.Typography,{as:"h3",defaultVariant:i[s].default,mobileVariant:i[s].mobile,className:n.label,children:a.label}),e.jsx("div",{className:n.desktop,children:e.jsx(t.IconButton,{iconName:o.EIconName.ARROW_FORWARD,variant:"muted-invert",size:s==="primary"?"lg":"md"})}),e.jsx("div",{className:n.mobile,children:e.jsx(t.IconButton,{iconName:o.EIconName.ARROW_FORWARD,variant:"muted-invert",size:"sm"})})]})]});exports.FeatureGrid=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),a=require("../../../../components/Icon/constants.cjs.js"),c=require("../../../../utils/cn/cn.cjs.js"),n=require("../../../../src/modules/FeaturesGallery/components/FeatureGrid/FeatureGrid.module.css"),l=require("../../../../components/Typography/Typography.cjs.js"),i=require("../../../../components/IconButton/IconButton.cjs.js"),t={primary:{default:"headingXl",mobile:"headingXs"},secondary:{default:"headingSm",mobile:"headingXxs"}},m=({feature:s,className:r,type:o})=>e.jsxs("a",{className:c.cn(n.root,n[o],r),style:{backgroundImage:`url("${s.image}")`},href:s.url,children:[s.hoverTint&&e.jsx("div",{className:n.smoke,"data-smoke":s.hoverTint}),e.jsxs("div",{className:n.content,children:[e.jsx(l.Typography,{as:"h3",defaultVariant:t[o].default,mobileVariant:t[o].mobile,className:n.label,children:s.label}),e.jsx("div",{className:n.desktop,children:e.jsx(i.IconButton,{iconName:a.EIconName.ARROW_FORWARD,variant:"muted-invert",size:o==="primary"?"lg":"md"})}),e.jsx("div",{className:n.mobile,children:e.jsx(i.IconButton,{iconName:a.EIconName.ARROW_FORWARD,variant:"muted-invert",size:"sm"})})]})]});exports.FeatureGrid=m;
@@ -2,9 +2,8 @@ import { TFeature } from '../../types';
2
2
 
3
3
  type Props = {
4
4
  feature: TFeature;
5
- index: number;
6
5
  type: 'primary' | 'secondary';
7
6
  className?: string;
8
7
  };
9
- export declare const FeatureGrid: ({ feature, className, index, type }: Props) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const FeatureGrid: ({ feature, className, type }: Props) => import("react/jsx-runtime").JSX.Element;
10
9
  export {};
@@ -1,29 +1,29 @@
1
1
  import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
2
  import { EIconName as o } from "../../../../components/Icon/constants.es.js";
3
- import { cn as d } from "../../../../utils/cn/cn.es.js";
3
+ import { cn as t } from "../../../../utils/cn/cn.es.js";
4
4
  import a from "../../../../modules/FeaturesGallery/components/FeatureGrid/FeatureGrid.module.css";
5
- import { Typography as c } from "../../../../components/Typography/Typography.es.js";
5
+ import { Typography as d } from "../../../../components/Typography/Typography.es.js";
6
6
  import { IconButton as l } from "../../../../components/IconButton/IconButton.es.js";
7
- const s = {
7
+ const n = {
8
8
  primary: { default: "headingXl", mobile: "headingXs" },
9
9
  secondary: { default: "headingSm", mobile: "headingXxs" }
10
- }, R = ({ feature: m, className: n, index: t, type: i }) => /* @__PURE__ */ r(
10
+ }, R = ({ feature: i, className: s, type: m }) => /* @__PURE__ */ r(
11
11
  "a",
12
12
  {
13
- className: d(a.root, a[i], n),
14
- style: { backgroundImage: `url("${m.image}")` },
15
- href: m.url,
13
+ className: t(a.root, a[m], s),
14
+ style: { backgroundImage: `url("${i.image}")` },
15
+ href: i.url,
16
16
  children: [
17
- /* @__PURE__ */ e("div", { className: a.smoke, "data-smoke": t % 3 }),
17
+ i.hoverTint && /* @__PURE__ */ e("div", { className: a.smoke, "data-smoke": i.hoverTint }),
18
18
  /* @__PURE__ */ r("div", { className: a.content, children: [
19
19
  /* @__PURE__ */ e(
20
- c,
20
+ d,
21
21
  {
22
22
  as: "h3",
23
- defaultVariant: s[i].default,
24
- mobileVariant: s[i].mobile,
23
+ defaultVariant: n[m].default,
24
+ mobileVariant: n[m].mobile,
25
25
  className: a.label,
26
- children: m.label
26
+ children: i.label
27
27
  }
28
28
  ),
29
29
  /* @__PURE__ */ e("div", { className: a.desktop, children: /* @__PURE__ */ e(
@@ -31,7 +31,7 @@ const s = {
31
31
  {
32
32
  iconName: o.ARROW_FORWARD,
33
33
  variant: "muted-invert",
34
- size: i === "primary" ? "lg" : "md"
34
+ size: m === "primary" ? "lg" : "md"
35
35
  }
36
36
  ) }),
37
37
  /* @__PURE__ */ e("div", { className: a.mobile, children: /* @__PURE__ */ e(l, { iconName: o.ARROW_FORWARD, variant: "muted-invert", size: "sm" }) })
@@ -54,15 +54,15 @@
54
54
  background: lightgray -44.215px 0 / 114.84% 100% no-repeat;
55
55
  transition: opacity 0.3s ease-in-out;
56
56
 
57
- &[data-smoke='0'] {
57
+ &[data-smoke='orange'] {
58
58
  background: url('./assets/smoke-1.jpg') lightgray 50% / cover no-repeat;
59
59
  }
60
60
 
61
- &[data-smoke='1'] {
61
+ &[data-smoke='blue'] {
62
62
  background: url('./assets/smoke-2.jpg') lightgray 1.232px 0 / 114.84% 100% no-repeat;
63
63
  }
64
64
 
65
- &[data-smoke='2'] {
65
+ &[data-smoke='red'] {
66
66
  background: url('./assets/smoke-3.jpg') lightgray -44.215px 0 / 114.84% 100% no-repeat;
67
67
  }
68
68
  }
@@ -77,7 +77,7 @@
77
77
  display: flex;
78
78
  width: 100%;
79
79
  justify-content: space-between;
80
- align-items: center;
80
+ align-items: inherit;
81
81
  gap: var(--spacing-16);
82
82
  }
83
83
 
@@ -2,4 +2,5 @@ export type TFeature = {
2
2
  image: string;
3
3
  label: string;
4
4
  url: string;
5
+ hoverTint?: 'red' | 'orange' | 'blue';
5
6
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=require("../../pageComponents/HomepageHero/components/MiddleCarousel/MiddleCarousel.cjs.js"),o=require("../../components/Button/Button.cjs.js"),s=require("../../src/modules/HomepageHeroV2/homepageHeroV2.module.css"),l=require("../../components/Icon/Icon.cjs.js"),d=require("../../components/Icon/constants.cjs.js"),n=require("../../components/Typography/Typography.cjs.js");function m({title:t,description:i,button:r,buttonInverted:a}){return e.jsx("section",{className:s.root,"data-type":"hero",children:e.jsxs("div",{className:s.container,children:[e.jsxs("div",{className:s.textContent,children:[e.jsxs("div",{className:s.hsaContainer,children:[e.jsx(l.Icon,{name:d.EIconName.CIRCLE_CHECK,className:s.checkIcon}),e.jsx(n.Typography,{className:s.hsaText,as:"p",defaultVariant:"bodySm",children:"HSA/FSA Eligible"})]}),e.jsx(n.Typography,{className:s.title,as:"h2",defaultVariant:"displayXs",mobileVariant:"headingLg",children:t}),e.jsx(n.Typography,{className:s.description,as:"p",defaultVariant:"bodySm",mobileVariant:"bodyXs",children:i}),e.jsxs("div",{className:s.buttonContainer,children:[e.jsx(o.Button,{as:"a",href:r.link,variant:"secondary",size:"md",children:r.text}),a&&e.jsx(o.Button,{as:"a",href:a.link,variant:"muted-invert",size:"md",children:a.text})]})]}),e.jsx("div",{className:s.carouselArea,children:e.jsx(c.MiddleCarousel,{})})]})})}exports.HomepageHeroV2=m;
@@ -0,0 +1,13 @@
1
+ export type HomepageHeroV2Props = {
2
+ title: string;
3
+ description: string;
4
+ button: {
5
+ text: string;
6
+ link: string;
7
+ };
8
+ buttonInverted?: {
9
+ text: string;
10
+ link: string;
11
+ };
12
+ };
13
+ export declare function HomepageHeroV2({ title, description, button, buttonInverted }: HomepageHeroV2Props): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,27 @@
1
+ import { jsx as e, jsxs as i } from "react/jsx-runtime";
2
+ import { MiddleCarousel as m } from "../../pageComponents/HomepageHero/components/MiddleCarousel/MiddleCarousel.es.js";
3
+ import { Button as t } from "../../components/Button/Button.es.js";
4
+ import a from "../../modules/HomepageHeroV2/homepageHeroV2.module.css";
5
+ import { Icon as c } from "../../components/Icon/Icon.es.js";
6
+ import { EIconName as d } from "../../components/Icon/constants.es.js";
7
+ import { Typography as s } from "../../components/Typography/Typography.es.js";
8
+ function x({ title: n, description: l, button: o, buttonInverted: r }) {
9
+ return /* @__PURE__ */ e("section", { className: a.root, "data-type": "hero", children: /* @__PURE__ */ i("div", { className: a.container, children: [
10
+ /* @__PURE__ */ i("div", { className: a.textContent, children: [
11
+ /* @__PURE__ */ i("div", { className: a.hsaContainer, children: [
12
+ /* @__PURE__ */ e(c, { name: d.CIRCLE_CHECK, className: a.checkIcon }),
13
+ /* @__PURE__ */ e(s, { className: a.hsaText, as: "p", defaultVariant: "bodySm", children: "HSA/FSA Eligible" })
14
+ ] }),
15
+ /* @__PURE__ */ e(s, { className: a.title, as: "h2", defaultVariant: "displayXs", mobileVariant: "headingLg", children: n }),
16
+ /* @__PURE__ */ e(s, { className: a.description, as: "p", defaultVariant: "bodySm", mobileVariant: "bodyXs", children: l }),
17
+ /* @__PURE__ */ i("div", { className: a.buttonContainer, children: [
18
+ /* @__PURE__ */ e(t, { as: "a", href: o.link, variant: "secondary", size: "md", children: o.text }),
19
+ r && /* @__PURE__ */ e(t, { as: "a", href: r.link, variant: "muted-invert", size: "md", children: r.text })
20
+ ] })
21
+ ] }),
22
+ /* @__PURE__ */ e("div", { className: a.carouselArea, children: /* @__PURE__ */ e(m, {}) })
23
+ ] }) });
24
+ }
25
+ export {
26
+ x as HomepageHeroV2
27
+ };
@@ -0,0 +1,125 @@
1
+ .root {
2
+ position: relative;
3
+ display: flex;
4
+ width: 100%;
5
+ justify-content: center;
6
+ align-items: center;
7
+ overflow: hidden;
8
+ padding: 0 32px;
9
+ }
10
+
11
+ .container {
12
+ position: relative;
13
+ display: flex;
14
+ height: 100%;
15
+ width: 100%;
16
+ max-width: var(--content-max-width);
17
+ align-items: center;
18
+ border-radius: var(--border-radius-lg);
19
+ background-image: url('./assets/bg.jpg');
20
+ background-size: cover;
21
+ background-position: center;
22
+ background-repeat: no-repeat;
23
+ }
24
+
25
+ .textContent {
26
+ position: relative;
27
+ display: flex;
28
+ flex-direction: column;
29
+ gap: 24px;
30
+ color: var(--color-text-primary-inverted);
31
+ max-width: 480px;
32
+ margin-left: 88px;
33
+ margin-bottom: 196px;
34
+ margin-top: 196px;
35
+ justify-content: flex-start;
36
+ }
37
+
38
+ .hsaContainer {
39
+ display: flex;
40
+ align-items: center;
41
+ gap: 8px;
42
+ }
43
+
44
+ .checkIcon {
45
+ margin-top: -2px;
46
+ width: 20px;
47
+ height: 20px;
48
+ }
49
+
50
+ .buttonContainer {
51
+ display: flex;
52
+ gap: 12px;
53
+ }
54
+
55
+ .buttonContainer a {
56
+ width: fit-content;
57
+ }
58
+
59
+ .carouselArea {
60
+ display: flex;
61
+ position: absolute;
62
+ width: 360px;
63
+ height: 540px;
64
+ left: 50%;
65
+ transform: translateX(30px);
66
+ overflow: visible;
67
+ }
68
+
69
+ @media (width <= 1150px) {
70
+ .textContent {
71
+ max-width: 319px;
72
+ gap: 12px;
73
+ margin-top: 222px;
74
+ margin-bottom: 287px;
75
+ margin-left: 32px;
76
+ }
77
+
78
+ .title {
79
+ font-size: 32px;
80
+ line-height: 110%;
81
+ letter-spacing: -1.28px;
82
+ }
83
+
84
+ .description {
85
+ font-size: 14px;
86
+ letter-spacing: -0.28px;
87
+ }
88
+
89
+ .buttonContainer {
90
+ margin-top: 4px;
91
+ }
92
+ }
93
+
94
+ @media (width <= 868px) {
95
+ .root {
96
+ padding: 0 4px;
97
+ }
98
+
99
+ .container {
100
+ background-image: url('./assets/bgmobile.jpg');
101
+ align-items: center;
102
+ justify-content: center;
103
+ }
104
+
105
+ .textContent {
106
+ justify-content: center;
107
+ text-align: center;
108
+ margin: unset;
109
+ margin-top: 221px;
110
+ padding: 32px 24px;
111
+ max-width: 510px;
112
+ }
113
+
114
+ .hsaContainer {
115
+ justify-content: inherit;
116
+ }
117
+
118
+ .buttonContainer {
119
+ justify-content: inherit;
120
+ }
121
+
122
+ .carouselArea {
123
+ display: none;
124
+ }
125
+ }
@@ -0,0 +1 @@
1
+ export { HomepageHeroV2 } from './HomepageHeroV2';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zenpatient-org/healthspan-marketing-ui",
3
- "version": "0.2.17",
3
+ "version": "0.2.19",
4
4
  "description": "Design system",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.es.js",
@@ -595,6 +595,11 @@
595
595
  "import": "./dist/modules/ScrollingText/ScrollingText.es.js",
596
596
  "require": "./dist/modules/ScrollingText/ScrollingText.cjs.js"
597
597
  },
598
+ "./HomepageHeroV2": {
599
+ "types": "./dist/modules/HomepageHeroV2/HomepageHeroV2.d.ts",
600
+ "import": "./dist/modules/HomepageHeroV2/HomepageHeroV2.es.js",
601
+ "require": "./dist/modules/HomepageHeroV2/HomepageHeroV2.cjs.js"
602
+ },
598
603
  "./Bubbles": {
599
604
  "types": "./dist/pageComponents/Bubbles/Bubbles.d.ts",
600
605
  "import": "./dist/pageComponents/Bubbles/Bubbles.es.js",