@zenpatient-org/healthspan-marketing-ui 0.1.25 → 0.1.26
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/healthspan-marketing-ui.css +1 -1
- package/dist/modules/SlidingTabsGallery/SlidingTabsGallery.cjs.js +1 -1
- package/dist/modules/SlidingTabsGallery/SlidingTabsGallery.d.ts +3 -2
- package/dist/modules/SlidingTabsGallery/SlidingTabsGallery.es.js +93 -89
- package/dist/modules/SlidingTabsGallery/SlidingTabsGallery.module.css.cjs.js +1 -1
- package/dist/modules/SlidingTabsGallery/SlidingTabsGallery.module.css.es.js +23 -21
- package/dist/modules/Testimonial/Testimonial.cjs.js +1 -1
- package/dist/modules/Testimonial/Testimonial.es.js +15 -15
- package/dist/modules/Testimonial/components/TextCard/TextCard.cjs.js +1 -1
- package/dist/modules/Testimonial/components/TextCard/TextCard.es.js +32 -29
- package/dist/modules/Testimonial/components/VideoCard/VideoCard.cjs.js +1 -1
- package/dist/modules/Testimonial/components/VideoCard/VideoCard.es.js +28 -27
- package/dist/modules/Testimonial/types.d.ts +4 -3
- package/dist/pageComponents/Bubbles/Bubbles.cjs.js +1 -0
- package/dist/pageComponents/Bubbles/Bubbles.d.ts +3 -0
- package/dist/pageComponents/Bubbles/Bubbles.es.js +28 -0
- package/dist/pageComponents/Bubbles/bubbles.module.css.cjs.js +1 -0
- package/dist/pageComponents/Bubbles/bubbles.module.css.es.js +13 -0
- package/dist/pageComponents/Bubbles/index.d.ts +1 -0
- package/dist/pageComponents/Gradient/Gradient.cjs.js +1 -0
- package/dist/pageComponents/Gradient/Gradient.es.js +9 -0
- package/dist/pageComponents/Gradient/gradient.module.css.cjs.js +1 -0
- package/dist/pageComponents/Gradient/gradient.module.css.es.js +13 -0
- package/dist/pageComponents/StillHaveQuestions/StillHaveQuestions.cjs.js +1 -0
- package/dist/pageComponents/StillHaveQuestions/StillHaveQuestions.es.js +25 -0
- package/dist/pageComponents/StillHaveQuestions/stillHaveQuestions.module.css.cjs.js +1 -0
- package/dist/pageComponents/StillHaveQuestions/stillHaveQuestions.module.css.es.js +17 -0
- package/package.json +16 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),f=require("react"),
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),f=require("react"),x=require("../../node_modules/gsap/index.cjs.js"),p=require("../../node_modules/gsap/Flip.cjs.js"),R=require("../../node_modules/@gsap/react/src/index.cjs.js"),q=require("../../pageComponents/Bubbles/Bubbles.cjs.js"),C=require("../../pageComponents/Gradient/Gradient.cjs.js"),T=require("../../components/HighlightedTitle/HighlightedTitle.cjs.js"),_=require("../../utils/cn/cn.cjs.js"),b=require("../../components/Typography/Typography.cjs.js"),B=require("../../components/Icon/Icon.cjs.js"),t=require("./SlidingTabsGallery.module.css.cjs.js");x.gsap.registerPlugin(p.Flip);const S=({title:y,tabs:o,withBubbles:j,withGradient:v})=>{const s=f.useRef(null),a=f.useRef(null),[l,h]=f.useState(o[0]);R.useGSAP(()=>{const i=s.current,n=a.current,u=r=>{if(i&&n&&r){const m=n.getBoundingClientRect(),g=r.getBoundingClientRect();x.gsap.set(i,{left:g.left-m.left,top:g.top-m.top,width:g.width,height:g.height})}};if(n&&n.children.length>1){const r=n.children[1];r&&u(r)}let c;const d=()=>{clearTimeout(c),c=setTimeout(()=>{if(i&&n&&n.children.length>1&&o.length>0){const r=n.children[1];r&&(u(r),h(o[0]))}},250)};return window.addEventListener("resize",d),()=>{clearTimeout(c),window.removeEventListener("resize",d)}},{dependencies:[o,h],scope:a});const N=(i,n)=>{if(i===l)return;const u=p.Flip.getState(s.current);if(h(i),s.current&&a.current&&a.current.children.length>n+1){const c=a.current.children[n+1];if(c){const d=a.current.getBoundingClientRect(),r=c.getBoundingClientRect();s.current.style.left=`${r.left-d.left}px`,s.current.style.top=`${r.top-d.top}px`,s.current.style.width=`${r.width}px`,s.current.style.height=`${r.height}px`}}p.Flip.from(u,{targets:s.current,duration:.3,ease:"power1.inOut"})};return e.jsxs("section",{className:t.default.root,children:[j&&e.jsx(q.Bubbles,{className:t.default.bubbles}),e.jsxs("div",{className:t.default.container,children:[e.jsx(T.HighlightedTitle,{as:"div",title:y,className:t.default.header,colorScheme:"dark"}),e.jsxs("div",{className:t.default.content,children:[l.image&&e.jsx("div",{className:t.default.imageWrap,children:e.jsx("img",{src:l.image,alt:"Total Care",className:t.default.image})}),e.jsx("div",{className:t.default.tabsContainer,children:e.jsxs("div",{ref:a,className:t.default.tabs,children:[e.jsx("div",{ref:s,id:"marker",className:t.default.marker}),o.map((i,n)=>e.jsxs("button",{className:_.cn(t.default.tab,{[t.default.active]:l===i}),onClick:()=>N(i,n),children:[i.icon&&e.jsx(b.Typography,{defaultVariant:"displayMd",className:t.default.icon,children:e.jsx(B.Icon,{name:i.icon})}),e.jsx(b.Typography,{defaultVariant:"headingXs",children:i.label})]},i.label))]})}),l.description&&e.jsx("div",{className:t.default.description,children:e.jsx(T.HighlightedTitle,{as:"div",defaultVariant:"headingXs",mobileVariant:"bodyMd",className:t.default.descriptionText,title:l.description,colorScheme:"dark"})})]})]}),v&&e.jsx(C.Gradient,{variant:"blue"})]})};exports.SlidingTabsGallery=S;
|
|
@@ -3,7 +3,8 @@ import { TContentTab } from '../../components/ContentTabs';
|
|
|
3
3
|
|
|
4
4
|
export type SlidingTabsGalleryProps = {
|
|
5
5
|
title: ReactNode;
|
|
6
|
-
label: string;
|
|
7
6
|
tabs: ReadonlyArray<TContentTab>;
|
|
7
|
+
withBubbles?: boolean;
|
|
8
|
+
withGradient?: boolean;
|
|
8
9
|
};
|
|
9
|
-
export declare const SlidingTabsGallery: ({ title, tabs }: SlidingTabsGalleryProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare const SlidingTabsGallery: ({ title, tabs, withBubbles, withGradient }: SlidingTabsGalleryProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,102 +1,106 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import { useRef as
|
|
4
|
-
import {
|
|
5
|
-
import e from "./SlidingTabsGallery.module.css.es.js";
|
|
6
|
-
import { cn as w } from "../../utils/cn/cn.es.js";
|
|
7
|
-
/* empty css */
|
|
8
|
-
/* empty css */
|
|
9
|
-
/* empty css */
|
|
10
|
-
/* empty css */
|
|
11
|
-
/* empty css */
|
|
12
|
-
import S from "../../styles/typography.module.css.es.js";
|
|
13
|
-
import { Icon as b } from "../../components/Icon/Icon.es.js";
|
|
14
|
-
import { gsap as y } from "../../node_modules/gsap/index.es.js";
|
|
2
|
+
import { jsxs as m, jsx as n } from "react/jsx-runtime";
|
|
3
|
+
import { useRef as v, useState as w } from "react";
|
|
4
|
+
import { gsap as N } from "../../node_modules/gsap/index.es.js";
|
|
15
5
|
import { Flip as f } from "../../node_modules/gsap/Flip.es.js";
|
|
16
|
-
import { useGSAP as
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
const d = () => {
|
|
39
|
-
clearTimeout(a), a = setTimeout(() => {
|
|
40
|
-
if (t && r && r.children.length > 1 && l.length > 0) {
|
|
41
|
-
const i = r.children[1];
|
|
42
|
-
i && (m(i), u(l[0]));
|
|
6
|
+
import { useGSAP as B } from "../../node_modules/@gsap/react/src/index.es.js";
|
|
7
|
+
import { Bubbles as S } from "../../pageComponents/Bubbles/Bubbles.es.js";
|
|
8
|
+
import { Gradient as x } from "../../pageComponents/Gradient/Gradient.es.js";
|
|
9
|
+
import { HighlightedTitle as T } from "../../components/HighlightedTitle/HighlightedTitle.es.js";
|
|
10
|
+
import { cn as z } from "../../utils/cn/cn.es.js";
|
|
11
|
+
import { Typography as b } from "../../components/Typography/Typography.es.js";
|
|
12
|
+
import { Icon as V } from "../../components/Icon/Icon.es.js";
|
|
13
|
+
import e from "./SlidingTabsGallery.module.css.es.js";
|
|
14
|
+
N.registerPlugin(f);
|
|
15
|
+
const I = ({ title: C, tabs: l, withBubbles: R, withGradient: y }) => {
|
|
16
|
+
const a = v(null), c = v(null), [o, p] = w(l[0]);
|
|
17
|
+
B(
|
|
18
|
+
() => {
|
|
19
|
+
const t = a.current, r = c.current, u = (i) => {
|
|
20
|
+
if (t && r && i) {
|
|
21
|
+
const g = r.getBoundingClientRect(), h = i.getBoundingClientRect();
|
|
22
|
+
N.set(t, {
|
|
23
|
+
left: h.left - g.left,
|
|
24
|
+
top: h.top - g.top,
|
|
25
|
+
width: h.width,
|
|
26
|
+
height: h.height
|
|
27
|
+
});
|
|
43
28
|
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
29
|
+
};
|
|
30
|
+
if (r && r.children.length > 1) {
|
|
31
|
+
const i = r.children[1];
|
|
32
|
+
i && u(i);
|
|
33
|
+
}
|
|
34
|
+
let s;
|
|
35
|
+
const d = () => {
|
|
36
|
+
clearTimeout(s), s = setTimeout(() => {
|
|
37
|
+
if (t && r && r.children.length > 1 && l.length > 0) {
|
|
38
|
+
const i = r.children[1];
|
|
39
|
+
i && (u(i), p(l[0]));
|
|
40
|
+
}
|
|
41
|
+
}, 250);
|
|
42
|
+
};
|
|
43
|
+
return window.addEventListener("resize", d), () => {
|
|
44
|
+
clearTimeout(s), window.removeEventListener("resize", d);
|
|
45
|
+
};
|
|
46
|
+
},
|
|
47
|
+
{ dependencies: [l, p], scope: c }
|
|
48
|
+
);
|
|
49
|
+
const k = (t, r) => {
|
|
50
|
+
if (t === o) return;
|
|
51
|
+
const u = f.getState(a.current);
|
|
52
|
+
if (p(t), a.current && c.current && c.current.children.length > r + 1) {
|
|
53
|
+
const s = c.current.children[r + 1];
|
|
54
|
+
if (s) {
|
|
55
|
+
const d = c.current.getBoundingClientRect(), i = s.getBoundingClientRect();
|
|
56
|
+
a.current.style.left = `${i.left - d.left}px`, a.current.style.top = `${i.top - d.top}px`, a.current.style.width = `${i.width}px`, a.current.style.height = `${i.height}px`;
|
|
58
57
|
}
|
|
59
58
|
}
|
|
60
|
-
f.from(
|
|
61
|
-
targets:
|
|
59
|
+
f.from(u, {
|
|
60
|
+
targets: a.current,
|
|
62
61
|
duration: 0.3,
|
|
63
62
|
ease: "power1.inOut"
|
|
64
63
|
});
|
|
65
64
|
};
|
|
66
|
-
return /* @__PURE__ */
|
|
67
|
-
/* @__PURE__ */ n(
|
|
68
|
-
/* @__PURE__ */
|
|
69
|
-
|
|
70
|
-
/* @__PURE__ */
|
|
71
|
-
/* @__PURE__ */ n("div", {
|
|
72
|
-
|
|
73
|
-
"
|
|
65
|
+
return /* @__PURE__ */ m("section", { className: e.root, children: [
|
|
66
|
+
R && /* @__PURE__ */ n(S, { className: e.bubbles }),
|
|
67
|
+
/* @__PURE__ */ m("div", { className: e.container, children: [
|
|
68
|
+
/* @__PURE__ */ n(T, { as: "div", title: C, className: e.header, colorScheme: "dark" }),
|
|
69
|
+
/* @__PURE__ */ m("div", { className: e.content, children: [
|
|
70
|
+
o.image && /* @__PURE__ */ n("div", { className: e.imageWrap, children: /* @__PURE__ */ n("img", { src: o.image, alt: "Total Care", className: e.image }) }),
|
|
71
|
+
/* @__PURE__ */ n("div", { className: e.tabsContainer, children: /* @__PURE__ */ m("div", { ref: c, className: e.tabs, children: [
|
|
72
|
+
/* @__PURE__ */ n("div", { ref: a, id: "marker", className: e.marker }),
|
|
73
|
+
l.map((t, r) => /* @__PURE__ */ m(
|
|
74
|
+
"button",
|
|
75
|
+
{
|
|
76
|
+
className: z(e.tab, {
|
|
77
|
+
[e.active]: o === t
|
|
78
|
+
}),
|
|
79
|
+
onClick: () => k(t, r),
|
|
80
|
+
children: [
|
|
81
|
+
t.icon && /* @__PURE__ */ n(b, { defaultVariant: "displayMd", className: e.icon, children: /* @__PURE__ */ n(V, { name: t.icon }) }),
|
|
82
|
+
/* @__PURE__ */ n(b, { defaultVariant: "headingXs", children: t.label })
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
t.label
|
|
86
|
+
))
|
|
87
|
+
] }) }),
|
|
88
|
+
o.description && /* @__PURE__ */ n("div", { className: e.description, children: /* @__PURE__ */ n(
|
|
89
|
+
T,
|
|
74
90
|
{
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
s.description && /* @__PURE__ */ n("div", { className: e.description, children: /* @__PURE__ */ n(
|
|
88
|
-
v,
|
|
89
|
-
{
|
|
90
|
-
as: "div",
|
|
91
|
-
defaultVariant: "headingXs",
|
|
92
|
-
className: e.descriptionText,
|
|
93
|
-
title: s.description,
|
|
94
|
-
colorScheme: "dark"
|
|
95
|
-
}
|
|
96
|
-
) })
|
|
97
|
-
] })
|
|
98
|
-
] }) });
|
|
91
|
+
as: "div",
|
|
92
|
+
defaultVariant: "headingXs",
|
|
93
|
+
mobileVariant: "bodyMd",
|
|
94
|
+
className: e.descriptionText,
|
|
95
|
+
title: o.description,
|
|
96
|
+
colorScheme: "dark"
|
|
97
|
+
}
|
|
98
|
+
) })
|
|
99
|
+
] })
|
|
100
|
+
] }),
|
|
101
|
+
y && /* @__PURE__ */ n(x, { variant: "blue" })
|
|
102
|
+
] });
|
|
99
103
|
};
|
|
100
104
|
export {
|
|
101
|
-
|
|
105
|
+
I as SlidingTabsGallery
|
|
102
106
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="SlidingTabsGallery-module__root___BsvYn",a="SlidingTabsGallery-module__container___vP0rd",
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="SlidingTabsGallery-module__root___BsvYn",a="SlidingTabsGallery-module__bubbles___XumkJ",_="SlidingTabsGallery-module__container___vP0rd",l="SlidingTabsGallery-module__header___eJQXu",t="SlidingTabsGallery-module__content___jjd1o",i="SlidingTabsGallery-module__tabsContainer___Se1lx",n="SlidingTabsGallery-module__tabs___ZEKrF",o="SlidingTabsGallery-module__tab___Ztklx",r="SlidingTabsGallery-module__active___XatLw",s="SlidingTabsGallery-module__marker___c5lgj",d="SlidingTabsGallery-module__imageWrap___OWtqZ",b="SlidingTabsGallery-module__description___JBoEm",c="SlidingTabsGallery-module__image___E02Sh",m={root:e,bubbles:a,container:_,header:l,content:t,tabsContainer:i,tabs:n,tab:o,active:r,marker:s,imageWrap:d,description:b,image:c};exports.active=r;exports.bubbles=a;exports.container=_;exports.content=t;exports.default=m;exports.description=b;exports.header=l;exports.image=c;exports.imageWrap=d;exports.marker=s;exports.root=e;exports.tab=o;exports.tabs=n;exports.tabsContainer=i;
|
|
@@ -1,29 +1,31 @@
|
|
|
1
|
-
const
|
|
2
|
-
root:
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
const _ = "SlidingTabsGallery-module__root___BsvYn", e = "SlidingTabsGallery-module__bubbles___XumkJ", a = "SlidingTabsGallery-module__container___vP0rd", l = "SlidingTabsGallery-module__header___eJQXu", t = "SlidingTabsGallery-module__content___jjd1o", n = "SlidingTabsGallery-module__tabsContainer___Se1lx", o = "SlidingTabsGallery-module__tabs___ZEKrF", i = "SlidingTabsGallery-module__tab___Ztklx", s = "SlidingTabsGallery-module__active___XatLw", r = "SlidingTabsGallery-module__marker___c5lgj", d = "SlidingTabsGallery-module__imageWrap___OWtqZ", b = "SlidingTabsGallery-module__description___JBoEm", c = "SlidingTabsGallery-module__image___E02Sh", m = {
|
|
2
|
+
root: _,
|
|
3
|
+
bubbles: e,
|
|
4
|
+
container: a,
|
|
5
|
+
header: l,
|
|
6
|
+
content: t,
|
|
7
|
+
tabsContainer: n,
|
|
8
|
+
tabs: o,
|
|
9
|
+
tab: i,
|
|
10
|
+
active: s,
|
|
10
11
|
marker: r,
|
|
11
|
-
imageWrap:
|
|
12
|
-
description:
|
|
12
|
+
imageWrap: d,
|
|
13
|
+
description: b,
|
|
13
14
|
image: c
|
|
14
15
|
};
|
|
15
16
|
export {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
s as active,
|
|
18
|
+
e as bubbles,
|
|
19
|
+
a as container,
|
|
20
|
+
t as content,
|
|
19
21
|
m as default,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
b as description,
|
|
23
|
+
l as header,
|
|
22
24
|
c as image,
|
|
23
|
-
|
|
25
|
+
d as imageWrap,
|
|
24
26
|
r as marker,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
_ as root,
|
|
28
|
+
i as tab,
|
|
29
|
+
o as tabs,
|
|
30
|
+
n as tabsContainer
|
|
29
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),j=require("../../node_modules/swiper/modules/navigation.cjs.js"),d=require("../../node_modules/swiper/swiper-react.cjs.js");;/* empty css */;/* empty css */;/* empty css */const c=require("../../components/ProgressButton/ProgressButton.cjs.js"),f=require("../../components/HighlightedTitle/HighlightedTitle.cjs.js"),q=require("../../components/Typography/Typography.cjs.js"),C=require("../../components/RatingStars/RatingStars.cjs.js"),
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),j=require("../../node_modules/swiper/modules/navigation.cjs.js"),d=require("../../node_modules/swiper/swiper-react.cjs.js");;/* empty css */;/* empty css */;/* empty css */const c=require("../../components/ProgressButton/ProgressButton.cjs.js"),f=require("../../components/HighlightedTitle/HighlightedTitle.cjs.js"),q=require("../../components/Typography/Typography.cjs.js"),C=require("../../components/RatingStars/RatingStars.cjs.js"),w=require("../../utils/useSwiper/useSwiper.cjs.js"),R=require("./components/VideoCard/VideoCard.cjs.js"),k=require("./components/TextCard/TextCard.cjs.js"),i=require("./testimonial.module.css.cjs.js"),N=[j.default],_=({title:u,rating:a,reviews:h})=>{const{isEnd:r,isBeginning:n,hideNav:t,handleSlideChange:g,handlePrevClick:l,handleNextClick:o,onSwiperInit:p,handleSwiperResize:m,handleReachEnd:S,handleReachBeginning:x}=w.useSwiper();return e.jsxs("section",{className:i.default.root,children:[e.jsxs("div",{className:i.default.headerContainer,children:[a&&e.jsxs("div",{className:i.default.ratingContainer,children:[!!a.stars&&e.jsx(C.RatingStars,{rating:a.stars}),!!a.totalReviews&&e.jsxs(q.Typography,{as:"p",defaultVariant:"labelLg",mobileVariant:"labelSm",emphasis:!0,children:[a.totalReviews,"+ member reviews"]})]}),e.jsxs("div",{className:i.default.headerRow,children:[e.jsx(f.HighlightedTitle,{title:u,colorScheme:"light"}),!t&&e.jsx("div",{className:i.default.desktopNavigation,children:e.jsx(c.ProgressButton,{left:{disabled:n,onClick:l},right:{disabled:r,onClick:o}})})]})]}),e.jsx("div",{className:i.default.content,children:e.jsx(d.Swiper,{onSwiper:p,onResize:m,onSlideChange:g,onReachEnd:S,onReachBeginning:x,modules:N,spaceBetween:0,slidesPerView:"auto",className:i.default.swiper,wrapperClass:i.default.swiperWrapper,children:h.map((s,b)=>e.jsx(d.SwiperSlide,{className:i.default.swiperSlide,children:s.background.type==="video"?e.jsx(R.VideoCard,{...s,background:s.background}):e.jsx(k.TextCard,{...s,background:s.background})},`${s.background.type}_${b}`))})}),!t&&e.jsx("div",{className:i.default.mobileNavigation,children:e.jsx(c.ProgressButton,{left:{disabled:n,onClick:l},right:{disabled:r,onClick:o}})})]})};exports.Testimonial=_;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsxs as
|
|
2
|
+
import { jsxs as o, jsx as e } from "react/jsx-runtime";
|
|
3
3
|
import N from "../../node_modules/swiper/modules/navigation.es.js";
|
|
4
4
|
import { Swiper as k, SwiperSlide as C } from "../../node_modules/swiper/swiper-react.es.js";
|
|
5
5
|
/* empty css */
|
|
@@ -13,11 +13,11 @@ import { useSwiper as x } from "../../utils/useSwiper/useSwiper.es.js";
|
|
|
13
13
|
import { VideoCard as y } from "./components/VideoCard/VideoCard.es.js";
|
|
14
14
|
import { TextCard as B } from "./components/TextCard/TextCard.es.js";
|
|
15
15
|
import i from "./testimonial.module.css.es.js";
|
|
16
|
-
const E = [N], U = ({ title: m, rating:
|
|
16
|
+
const E = [N], U = ({ title: m, rating: r, reviews: p }) => {
|
|
17
17
|
const {
|
|
18
18
|
isEnd: n,
|
|
19
|
-
isBeginning:
|
|
20
|
-
hideNav:
|
|
19
|
+
isBeginning: s,
|
|
20
|
+
hideNav: l,
|
|
21
21
|
handleSlideChange: h,
|
|
22
22
|
handlePrevClick: t,
|
|
23
23
|
handleNextClick: d,
|
|
@@ -26,22 +26,22 @@ const E = [N], U = ({ title: m, rating: o, reviews: p }) => {
|
|
|
26
26
|
handleReachEnd: S,
|
|
27
27
|
handleReachBeginning: f
|
|
28
28
|
} = x();
|
|
29
|
-
return /* @__PURE__ */
|
|
30
|
-
/* @__PURE__ */
|
|
31
|
-
|
|
32
|
-
/* @__PURE__ */ e(v, { rating:
|
|
33
|
-
/* @__PURE__ */
|
|
34
|
-
|
|
29
|
+
return /* @__PURE__ */ o("section", { className: i.root, children: [
|
|
30
|
+
/* @__PURE__ */ o("div", { className: i.headerContainer, children: [
|
|
31
|
+
r && /* @__PURE__ */ o("div", { className: i.ratingContainer, children: [
|
|
32
|
+
!!r.stars && /* @__PURE__ */ e(v, { rating: r.stars }),
|
|
33
|
+
!!r.totalReviews && /* @__PURE__ */ o(R, { as: "p", defaultVariant: "labelLg", mobileVariant: "labelSm", emphasis: !0, children: [
|
|
34
|
+
r.totalReviews,
|
|
35
35
|
"+ member reviews"
|
|
36
36
|
] })
|
|
37
37
|
] }),
|
|
38
|
-
/* @__PURE__ */
|
|
38
|
+
/* @__PURE__ */ o("div", { className: i.headerRow, children: [
|
|
39
39
|
/* @__PURE__ */ e(w, { title: m, colorScheme: "light" }),
|
|
40
|
-
!
|
|
40
|
+
!l && /* @__PURE__ */ e("div", { className: i.desktopNavigation, children: /* @__PURE__ */ e(
|
|
41
41
|
c,
|
|
42
42
|
{
|
|
43
43
|
left: {
|
|
44
|
-
disabled:
|
|
44
|
+
disabled: s,
|
|
45
45
|
onClick: t
|
|
46
46
|
},
|
|
47
47
|
right: {
|
|
@@ -68,11 +68,11 @@ const E = [N], U = ({ title: m, rating: o, reviews: p }) => {
|
|
|
68
68
|
children: p.map((a, u) => /* @__PURE__ */ e(C, { className: i.swiperSlide, children: a.background.type === "video" ? /* @__PURE__ */ e(y, { ...a, background: a.background }) : /* @__PURE__ */ e(B, { ...a, background: a.background }) }, `${a.background.type}_${u}`))
|
|
69
69
|
}
|
|
70
70
|
) }),
|
|
71
|
-
!
|
|
71
|
+
!l && /* @__PURE__ */ e("div", { className: i.mobileNavigation, children: /* @__PURE__ */ e(
|
|
72
72
|
c,
|
|
73
73
|
{
|
|
74
74
|
left: {
|
|
75
|
-
disabled:
|
|
75
|
+
disabled: s,
|
|
76
76
|
onClick: t
|
|
77
77
|
},
|
|
78
78
|
right: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),r=require("../../../../components/Typography/Typography.cjs.js"),o=require("../../../../components/RatingStars/RatingStars.cjs.js"),u=require("../Product/Product.cjs.js"),s=require("./textCard.module.css.cjs.js"),d=({background:i,review:a,product:e})=>{var n,l;return t.jsxs("div",{className:s.default.root,style:{backgroundImage:`url(${i.url})`},children:[!!a.stars&&t.jsx(o.RatingStars,{rating:a.stars}),a&&t.jsxs("div",{className:s.default.reviewContainer,children:[a.title&&t.jsx(r.Typography,{as:"h3",defaultVariant:"headingSm",mobileVariant:"headingXs",weight:"regular",children:a.title}),a.description&&t.jsx(r.Typography,{as:"p",defaultVariant:"bodyMd",mobileVariant:"bodySm",weight:"regular",children:a.description}),((n=a.author)==null?void 0:n.name)&&t.jsx(r.Typography,{as:"p",defaultVariant:"labelSm",mobileVariant:"labelXs",weight:"regular",emphasis:!0,className:s.default.reviewAuthor,children:a.author.name})]}),t.jsxs("div",{className:s.default.infoContainer,children:[((l=a==null?void 0:a.author)==null?void 0:l.username)&&t.jsx(r.Typography,{as:"p",defaultVariant:"labelSm",mobileVariant:"labelXs",emphasis:!0,weight:"regular",children:a.author.username}),e&&t.jsx(u.Product,{image:e.image,name:e.name,link:e.link})]})]})};exports.TextCard=d;
|
|
@@ -1,31 +1,34 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { Typography as
|
|
3
|
-
import { RatingStars as
|
|
4
|
-
import { Product as
|
|
5
|
-
import
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
/* @__PURE__ */
|
|
9
|
-
/* @__PURE__ */
|
|
10
|
-
/* @__PURE__ */
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
1
|
+
import { jsxs as n, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { Typography as l } from "../../../../components/Typography/Typography.es.js";
|
|
3
|
+
import { RatingStars as o } from "../../../../components/RatingStars/RatingStars.es.js";
|
|
4
|
+
import { Product as h } from "../Product/Product.es.js";
|
|
5
|
+
import i from "./textCard.module.css.es.js";
|
|
6
|
+
const b = ({ background: m, review: a, product: r }) => {
|
|
7
|
+
var e, s;
|
|
8
|
+
return /* @__PURE__ */ n("div", { className: i.root, style: { backgroundImage: `url(${m.url})` }, children: [
|
|
9
|
+
!!a.stars && /* @__PURE__ */ t(o, { rating: a.stars }),
|
|
10
|
+
a && /* @__PURE__ */ n("div", { className: i.reviewContainer, children: [
|
|
11
|
+
a.title && /* @__PURE__ */ t(l, { as: "h3", defaultVariant: "headingSm", mobileVariant: "headingXs", weight: "regular", children: a.title }),
|
|
12
|
+
a.description && /* @__PURE__ */ t(l, { as: "p", defaultVariant: "bodyMd", mobileVariant: "bodySm", weight: "regular", children: a.description }),
|
|
13
|
+
((e = a.author) == null ? void 0 : e.name) && /* @__PURE__ */ t(
|
|
14
|
+
l,
|
|
15
|
+
{
|
|
16
|
+
as: "p",
|
|
17
|
+
defaultVariant: "labelSm",
|
|
18
|
+
mobileVariant: "labelXs",
|
|
19
|
+
weight: "regular",
|
|
20
|
+
emphasis: !0,
|
|
21
|
+
className: i.reviewAuthor,
|
|
22
|
+
children: a.author.name
|
|
23
|
+
}
|
|
24
|
+
)
|
|
25
|
+
] }),
|
|
26
|
+
/* @__PURE__ */ n("div", { className: i.infoContainer, children: [
|
|
27
|
+
((s = a == null ? void 0 : a.author) == null ? void 0 : s.username) && /* @__PURE__ */ t(l, { as: "p", defaultVariant: "labelSm", mobileVariant: "labelXs", emphasis: !0, weight: "regular", children: a.author.username }),
|
|
28
|
+
r && /* @__PURE__ */ t(h, { image: r.image, name: r.name, link: r.link })
|
|
29
|
+
] })
|
|
30
|
+
] });
|
|
31
|
+
};
|
|
29
32
|
export {
|
|
30
|
-
|
|
33
|
+
b as TextCard
|
|
31
34
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("react"),
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("react"),m=require("../../../../components/Typography/Typography.cjs.js"),y=require("../../../../components/PlayButton/PlayButton.cjs.js"),p=require("../../../../utils/cn/cn.cjs.js"),g=require("../Product/Product.cjs.js"),t=require("./videoCard.module.css.cjs.js"),h=({product:a,review:l,background:d})=>{var f;const[r,u]=s.useState(!1),n=s.useRef(null),c=s.useRef(null);return s.useEffect(()=>{const i=new IntersectionObserver(([o])=>{!o.isIntersecting&&r&&u(!1)},{threshold:.2});return c.current&&i.observe(c.current),()=>i.disconnect()},[r]),s.useEffect(()=>{!r&&n.current&&(n.current.pause(),n.current.currentTime=0)},[r]),e.jsxs("div",{className:t.default.root,ref:c,onClick:()=>r?u(!1):void 0,style:{backgroundImage:`url(${d.preview})`},children:[e.jsxs("div",{className:t.default.mediaContainer,children:[e.jsx("video",{ref:n,src:d.url,playsInline:!0,controls:!1,muted:!0,loop:!0,className:p.cn(t.default.media,!r&&t.default.mediaHidden)}),!r&&e.jsx("div",{className:t.default.playButton,children:e.jsx(y.PlayButton,{onClick:i=>{var o;i.stopPropagation(),(o=n.current)==null||o.play(),u(!0)}})})]}),e.jsxs("div",{className:t.default.infoContainer,children:[((f=l==null?void 0:l.author)==null?void 0:f.username)&&e.jsx(m.Typography,{as:"p",defaultVariant:"labelSm",mobileVariant:"labelXs",emphasis:!0,weight:"regular",children:l.author.username}),a&&e.jsx(g.Product,{image:a.image,name:a.name,link:a.link})]})]})};exports.VideoCard=h;
|
|
@@ -1,32 +1,33 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsxs as
|
|
3
|
-
import { useState as
|
|
4
|
-
import { Typography as
|
|
5
|
-
import { PlayButton as
|
|
6
|
-
import { cn as
|
|
7
|
-
import { Product as
|
|
2
|
+
import { jsxs as c, jsx as n } from "react/jsx-runtime";
|
|
3
|
+
import { useState as h, useRef as d, useEffect as p } from "react";
|
|
4
|
+
import { Typography as g } from "../../../../components/Typography/Typography.es.js";
|
|
5
|
+
import { PlayButton as y } from "../../../../components/PlayButton/PlayButton.es.js";
|
|
6
|
+
import { cn as b } from "../../../../utils/cn/cn.es.js";
|
|
7
|
+
import { Product as v } from "../Product/Product.es.js";
|
|
8
8
|
import r from "./videoCard.module.css.es.js";
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
const V = ({ product: a, review: s, background: u }) => {
|
|
10
|
+
var f;
|
|
11
|
+
const [e, l] = h(!1), t = d(null), m = d(null);
|
|
12
|
+
return p(() => {
|
|
13
|
+
const i = new IntersectionObserver(
|
|
14
|
+
([o]) => {
|
|
15
|
+
!o.isIntersecting && e && l(!1);
|
|
15
16
|
},
|
|
16
17
|
{ threshold: 0.2 }
|
|
17
18
|
);
|
|
18
|
-
return
|
|
19
|
-
}, [e]),
|
|
19
|
+
return m.current && i.observe(m.current), () => i.disconnect();
|
|
20
|
+
}, [e]), p(() => {
|
|
20
21
|
!e && t.current && (t.current.pause(), t.current.currentTime = 0);
|
|
21
|
-
}, [e]), /* @__PURE__ */
|
|
22
|
+
}, [e]), /* @__PURE__ */ c(
|
|
22
23
|
"div",
|
|
23
24
|
{
|
|
24
25
|
className: r.root,
|
|
25
|
-
ref:
|
|
26
|
-
onClick: () => e ?
|
|
26
|
+
ref: m,
|
|
27
|
+
onClick: () => e ? l(!1) : void 0,
|
|
27
28
|
style: { backgroundImage: `url(${u.preview})` },
|
|
28
29
|
children: [
|
|
29
|
-
/* @__PURE__ */
|
|
30
|
+
/* @__PURE__ */ c("div", { className: r.mediaContainer, children: [
|
|
30
31
|
/* @__PURE__ */ n(
|
|
31
32
|
"video",
|
|
32
33
|
{
|
|
@@ -36,27 +37,27 @@ const R = ({ product: i, review: c, background: u }) => {
|
|
|
36
37
|
controls: !1,
|
|
37
38
|
muted: !0,
|
|
38
39
|
loop: !0,
|
|
39
|
-
className:
|
|
40
|
+
className: b(r.media, !e && r.mediaHidden)
|
|
40
41
|
}
|
|
41
42
|
),
|
|
42
43
|
!e && /* @__PURE__ */ n("div", { className: r.playButton, children: /* @__PURE__ */ n(
|
|
43
|
-
|
|
44
|
+
y,
|
|
44
45
|
{
|
|
45
|
-
onClick: (
|
|
46
|
-
var
|
|
47
|
-
|
|
46
|
+
onClick: (i) => {
|
|
47
|
+
var o;
|
|
48
|
+
i.stopPropagation(), (o = t.current) == null || o.play(), l(!0);
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
51
|
) })
|
|
51
52
|
] }),
|
|
52
|
-
/* @__PURE__ */
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
/* @__PURE__ */ c("div", { className: r.infoContainer, children: [
|
|
54
|
+
((f = s == null ? void 0 : s.author) == null ? void 0 : f.username) && /* @__PURE__ */ n(g, { as: "p", defaultVariant: "labelSm", mobileVariant: "labelXs", emphasis: !0, weight: "regular", children: s.author.username }),
|
|
55
|
+
a && /* @__PURE__ */ n(v, { image: a.image, name: a.name, link: a.link })
|
|
55
56
|
] })
|
|
56
57
|
]
|
|
57
58
|
}
|
|
58
59
|
);
|
|
59
60
|
};
|
|
60
61
|
export {
|
|
61
|
-
|
|
62
|
+
V as VideoCard
|
|
62
63
|
};
|
|
@@ -9,11 +9,12 @@ type TBackground = {
|
|
|
9
9
|
export type RichReviewCard = {
|
|
10
10
|
background: TBackground;
|
|
11
11
|
review: {
|
|
12
|
-
title
|
|
13
|
-
description
|
|
14
|
-
author
|
|
12
|
+
title?: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
author?: {
|
|
15
15
|
name?: string;
|
|
16
16
|
username?: string;
|
|
17
|
+
link?: string;
|
|
17
18
|
};
|
|
18
19
|
stars?: number;
|
|
19
20
|
};
|
|
@@ -0,0 +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;
|