@stackshift-ui/testimonial 6.0.5 → 6.0.6-beta.1

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
- import{a as p}from"./chunk-7K534YAE.mjs";import{a as f}from"./chunk-OSCUIEZF.mjs";import{a as c}from"./chunk-QIPOFBUY.mjs";import{a}from"./chunk-3NRVKPEL.mjs";import{Suspense as v}from"react";import{jsx as T}from"react/jsx-runtime";var y={variant_a:p,variant_b:f,variant_c:c,variant_d:a},S=({data:i})=>{var s,t,e,r,l,m;let n=i==null?void 0:i.variant,o=n&&y[n],u={caption:(t=(s=i==null?void 0:i.variants)==null?void 0:s.subtitle)!=null?t:void 0,title:(r=(e=i==null?void 0:i.variants)==null?void 0:e.title)!=null?r:void 0,testimonials:(m=(l=i==null?void 0:i.variants)==null?void 0:l.testimonials)!=null?m:void 0};return o?T(v,{fallback:null,children:T(o,{...u})}):null};S.displayName="Testimonial";export{S as a};
1
+ import{a as p}from"./chunk-7K534YAE.mjs";import{a as f}from"./chunk-OSCUIEZF.mjs";import{a as c}from"./chunk-GGQRTTGL.mjs";import{a}from"./chunk-3NRVKPEL.mjs";import{Suspense as v}from"react";import{jsx as T}from"react/jsx-runtime";var y={variant_a:p,variant_b:f,variant_c:c,variant_d:a},S=({data:i})=>{var s,t,e,r,l,m;let n=i==null?void 0:i.variant,o=n&&y[n],u={caption:(t=(s=i==null?void 0:i.variants)==null?void 0:s.subtitle)!=null?t:void 0,title:(r=(e=i==null?void 0:i.variants)==null?void 0:e.title)!=null?r:void 0,testimonials:(m=(l=i==null?void 0:i.variants)==null?void 0:l.testimonials)!=null?m:void 0};return o?T(v,{fallback:null,children:T(o,{...u})}):null};S.displayName="Testimonial";export{S as a};
@@ -1 +1 @@
1
- import{Card as g}from"@stackshift-ui/card";import{Container as x}from"@stackshift-ui/container";import{Flex as p}from"@stackshift-ui/flex";import{Heading as h}from"@stackshift-ui/heading";import{Image as w}from"@stackshift-ui/image";import{Section as b}from"@stackshift-ui/section";import{SwiperButton as m}from"@stackshift-ui/swiper-button";import{Text as c}from"@stackshift-ui/text";import T from"react";import{jsx as l,jsxs as s}from"react/jsx-runtime";function N({caption:e,title:a,testimonials:r}){let[o,t]=T.useState(r);return s(b,{className:"py-10 overflow-hidden bg-background lg:py-20",children:[l(x,{className:"pb-6 lg:pb-16",maxWidth:1280,children:s(p,{wrap:!0,align:"center",justify:"center",className:"text-center lg:justify-between lg:text-left",children:[l(v,{caption:e,title:a}),l(C,{testimony:o,slider:u=>{t(f=>{if(!f||f.length===0)return f;let n=[...f];if(u==="next"){let i=n.shift();i&&n.push(i)}else if(u==="prev"){let i=n.pop();i&&n.unshift(i)}return n})}})]})}),l(I,{testimony:o})]})}function v({caption:e,title:a}){return s("div",{className:"w-full mb-4 lg:mb-0 lg:w-4/5",children:[l(c,{weight:"bold",className:"text-secondary",children:e}),l(h,{fontSize:"3xl",children:a})]})}function C({testimony:e,slider:a}){return e?s("div",{className:"w-full lg:w-1/5",children:[e&&(e==null?void 0:e.length)>=4&&l(m,{type:"left",className:"order-last p-5 mr-4 bg-white lg:order-first",onClick:()=>a("prev"),ariaLabel:"Show previous testimonial"}),e&&(e==null?void 0:e.length)>=4&&l(m,{type:"right",className:"order-last p-5 bg-white",onClick:()=>a("next"),ariaLabel:"Show next testimonial"})]}):null}function I({testimony:e}){var a;return e?l(p,{className:"relative",children:e&&l(p,{wrap:!0,className:"!items-stretch max-w-6xl px-2 mx-auto",children:(a=e==null?void 0:e.slice(0,3))==null?void 0:a.map((r,o)=>l(k,{item:r,index:o},r==null?void 0:r._key))})}):null}function k({item:e,index:a}){var r,o,t,d;return e?l("div",{className:"flex-1 w-full px-3 mb-4 lg:w-1/3",children:s(g,{className:"p-8 text-center h-full",borderRadius:"md",children:[l(c,{className:"mb-8 leading-loose",muted:!0,children:e==null?void 0:e.testimony}),((r=e==null?void 0:e.mainImage)==null?void 0:r.image)&&l("div",{className:"w-[48px] h-[48px] mx-auto border-0",children:l(w,{className:"w-full h-full object-cover rounded-full",width:48,height:48,src:`${(o=e==null?void 0:e.mainImage)==null?void 0:o.image}`,alt:(d=(t=e==null?void 0:e.mainImage)==null?void 0:t.alt)!=null?d:`testimonial-source-${e==null?void 0:e.name}-profile-image`})}),l(c,{className:"mb-1",fontSize:"2xl",weight:"bold",children:e==null?void 0:e.name}),l(c,{muted:!0,children:e==null?void 0:e.jobTitle})]})},a):null}export{N as a};
1
+ import{Card as g}from"@stackshift-ui/card";import{Container as x}from"@stackshift-ui/container";import{Flex as p}from"@stackshift-ui/flex";import{Heading as h}from"@stackshift-ui/heading";import{Image as w}from"@stackshift-ui/image";import{Section as b}from"@stackshift-ui/section";import{SwiperButton as m}from"@stackshift-ui/swiper-button";import{Text as f}from"@stackshift-ui/text";import T from"react";import{jsx as l,jsxs as s}from"react/jsx-runtime";function N({caption:e,title:a,testimonials:r}){let[n,t]=T.useState(r);return s(b,{className:"py-10 overflow-hidden bg-background lg:py-20",children:[l(x,{className:"pb-6 lg:pb-16",maxWidth:1280,children:s(p,{wrap:!0,align:"center",justify:"center",className:"text-center lg:justify-between lg:text-left",children:[l(v,{caption:e,title:a}),l(C,{testimony:n,slider:u=>{t(c=>{if(!c||c.length===0)return c;let o=[...c];if(u==="next"){let i=o.shift();i&&o.push(i)}else if(u==="prev"){let i=o.pop();i&&o.unshift(i)}return o})}})]})}),l(I,{testimony:n})]})}function v({caption:e,title:a}){return s("div",{className:"w-full mb-4 lg:mb-0 lg:w-4/5",children:[l(f,{weight:"bold",className:"text-secondary",children:e}),l(h,{fontSize:"3xl",children:a})]})}function C({testimony:e,slider:a}){return e?s("div",{className:"w-full lg:w-1/5",children:[e&&(e==null?void 0:e.length)>=4&&l(m,{type:"left",className:"order-last p-5 mr-4 bg-white lg:order-first",onClick:()=>a("prev"),ariaLabel:"Show previous testimonial"}),e&&(e==null?void 0:e.length)>=4&&l(m,{type:"right",className:"order-last p-5 bg-white",onClick:()=>a("next"),ariaLabel:"Show next testimonial"})]}):null}function I({testimony:e}){var a;return e?l(p,{className:"relative",children:e&&l(p,{wrap:!0,className:"!items-stretch max-w-6xl px-2 mx-auto",children:(a=e==null?void 0:e.slice(0,3))==null?void 0:a.map((r,n)=>l(k,{item:r,index:n},r==null?void 0:r._key))})}):null}function k({item:e,index:a}){var r,n,t,d;return e?l("div",{className:"flex-1 w-full px-3 mb-4 lg:w-1/3",children:s(g,{className:"p-8 text-center h-full items-center",borderRadius:"md",children:[l(f,{className:"mb-8 leading-loose",muted:!0,children:e==null?void 0:e.testimony}),((r=e==null?void 0:e.mainImage)==null?void 0:r.image)&&l("div",{className:"w-[48px] h-[48px] mx-auto border-0",children:l(w,{className:"w-full h-full object-cover rounded-full",width:48,height:48,src:`${(n=e==null?void 0:e.mainImage)==null?void 0:n.image}`,alt:(d=(t=e==null?void 0:e.mainImage)==null?void 0:t.alt)!=null?d:`testimonial-source-${e==null?void 0:e.name}-profile-image`})}),l(f,{className:"mb-1",fontSize:"2xl",weight:"bold",children:e==null?void 0:e.name}),l(f,{muted:!0,children:e==null?void 0:e.jobTitle})]})},a):null}export{N as a};
package/dist/index.js CHANGED
@@ -1,505 +1,2 @@
1
- "use strict";
2
1
  "use client";
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __export = (target, all) => {
10
- for (var name in all)
11
- __defProp(target, name, { get: all[name], enumerable: true });
12
- };
13
- var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from))
16
- if (!__hasOwnProp.call(to, key) && key !== except)
17
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
- }
19
- return to;
20
- };
21
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
- // If the importer is in node compatibility mode or this is not an ESM
23
- // file that has been converted to a CommonJS file using a Babel-
24
- // compatible transform (i.e. "__esModule" has not been set), then set
25
- // "default" to the CommonJS "module.exports" for node compatibility.
26
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
- mod
28
- ));
29
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
-
31
- // src/index.ts
32
- var src_exports = {};
33
- __export(src_exports, {
34
- Testimonial: () => Testimonial,
35
- Testimonial_A: () => Testimonial_A,
36
- Testimonial_B: () => Testimonial_B,
37
- Testimonial_C: () => Testimonial_C,
38
- Testimonial_D: () => Testimonial_D
39
- });
40
- module.exports = __toCommonJS(src_exports);
41
-
42
- // src/testimonial.tsx
43
- var import_react5 = require("react");
44
-
45
- // src/testimonial_a.tsx
46
- var import_card = require("@stackshift-ui/card");
47
- var import_container = require("@stackshift-ui/container");
48
- var import_flex = require("@stackshift-ui/flex");
49
- var import_heading = require("@stackshift-ui/heading");
50
- var import_image = require("@stackshift-ui/image");
51
- var import_section = require("@stackshift-ui/section");
52
- var import_swiper_pagination = require("@stackshift-ui/swiper-pagination");
53
- var import_text = require("@stackshift-ui/text");
54
- var import_react = __toESM(require("react"));
55
- var import_jsx_runtime = require("react/jsx-runtime");
56
- function Testimonial_A({ testimonials }) {
57
- const [testimony, setTestimony] = import_react.default.useState(0);
58
- const slider = (index) => {
59
- setTestimony(index);
60
- };
61
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_section.Section, { className: "py-20 bg-background", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_container.Container, { maxWidth: 1280, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_card.Card, { className: "py-10", borderRadius: "md", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_flex.Flex, { wrap: true, align: "center", justify: "center", className: "max-w-5xl p-4", children: [
62
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AvatarSection, { testimonials, testimony }),
63
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TestimonyContent, { testimonials, testimony, slider })
64
- ] }) }) }) });
65
- }
66
- function AvatarSection({
67
- testimonials,
68
- testimony
69
- }) {
70
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
71
- if (!(testimonials == null ? void 0 : testimonials[testimony])) return null;
72
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "w-full mb-6 text-center lg:w-1/3", children: [
73
- ((_b = (_a = testimonials == null ? void 0 : testimonials[testimony]) == null ? void 0 : _a.mainImage) == null ? void 0 : _b.image) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
74
- import_image.Image,
75
- {
76
- width: 128,
77
- height: 128,
78
- className: "mx-auto border-0 w-[128px] h-[128px] object-cover rounded-full",
79
- src: `${(_d = (_c = testimonials == null ? void 0 : testimonials[testimony]) == null ? void 0 : _c.mainImage) == null ? void 0 : _d.image}`,
80
- alt: (_h = (_f = (_e = testimonials == null ? void 0 : testimonials[testimony]) == null ? void 0 : _e.mainImage) == null ? void 0 : _f.alt) != null ? _h : `testimonial-source-${(_g = testimonials == null ? void 0 : testimonials[testimony]) == null ? void 0 : _g.name}-profile-image`
81
- }
82
- ) : null,
83
- ((_i = testimonials == null ? void 0 : testimonials[testimony]) == null ? void 0 : _i.name) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_text.Text, { className: "text-xl", children: (_j = testimonials == null ? void 0 : testimonials[testimony]) == null ? void 0 : _j.name }) : null,
84
- ((_k = testimonials == null ? void 0 : testimonials[testimony]) == null ? void 0 : _k.jobTitle) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_text.Text, { className: "text-primary", children: (_l = testimonials == null ? void 0 : testimonials[testimony]) == null ? void 0 : _l.jobTitle }) : null
85
- ] });
86
- }
87
- function TestimonyContent({
88
- testimonials,
89
- testimony,
90
- slider
91
- }) {
92
- var _a;
93
- if (!(testimonials == null ? void 0 : testimonials[testimony])) return null;
94
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "w-full lg:w-2/3", children: [
95
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
96
- "svg",
97
- {
98
- className: "w-10 h-10 mb-4 text-primary",
99
- viewBox: "0 0 32 28",
100
- fill: "none",
101
- xmlns: "http://www.w3.org/2000/svg",
102
- children: [
103
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
104
- "path",
105
- {
106
- d: "M10.2418 12.749C9.45369 12.522 8.66554 12.4069 7.89887 12.4069C6.71496 12.4069 5.72709 12.6775 4.96109 13.0088C5.69957 10.3053 7.47358 5.6405 11.0075 5.11517C11.3348 5.0665 11.603 4.82986 11.6923 4.51131L12.4646 1.74875C12.5298 1.51512 12.4912 1.26505 12.3579 1.06231C12.2246 0.859563 12.0105 0.724288 11.7705 0.691393C11.5097 0.655812 11.2438 0.637686 10.9803 0.637686C6.73846 0.637686 2.53756 5.06516 0.764895 11.4046C-0.275679 15.1238 -0.580802 20.7154 1.98237 24.2349C3.41668 26.2043 5.50924 27.2559 8.20198 27.361C8.21305 27.3613 8.2238 27.3616 8.23487 27.3616C11.5573 27.3616 14.5035 25.1241 15.3997 21.9208C15.9351 20.0058 15.6931 17.9975 14.7176 16.2644C13.7526 14.5508 12.1632 13.3018 10.2418 12.749Z",
107
- fill: "currentColor"
108
- }
109
- ),
110
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
111
- "path",
112
- {
113
- d: "M31.0396 16.2648C30.0746 14.5508 28.4852 13.3018 26.5638 12.749C25.7757 12.522 24.9875 12.4069 24.2212 12.4069C23.0373 12.4069 22.0491 12.6775 21.2831 13.0088C22.0215 10.3053 23.7955 5.6405 27.3298 5.11517C27.6571 5.0665 27.9249 4.82986 28.0146 4.51131L28.7869 1.74875C28.8521 1.51512 28.8135 1.26505 28.6802 1.06231C28.5473 0.859563 28.3331 0.724288 28.0928 0.691393C27.8323 0.655812 27.5664 0.637686 27.3026 0.637686C23.0608 0.637686 18.8599 5.06516 17.0869 11.4046C16.0466 15.1238 15.7415 20.7154 18.305 24.2356C19.739 26.2046 21.8319 27.2566 24.5243 27.3613C24.5354 27.3616 24.5461 27.362 24.5575 27.362C27.8796 27.362 30.8261 25.1244 31.7224 21.9211C32.2571 20.0061 32.0147 17.9975 31.0396 16.2648Z",
114
- fill: "currentColor"
115
- }
116
- )
117
- ]
118
- }
119
- ),
120
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_heading.Heading, { children: (_a = testimonials == null ? void 0 : testimonials[testimony]) == null ? void 0 : _a.testimony }),
121
- (testimonials == null ? void 0 : testimonials.length) > 1 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.default.Fragment, { children: testimonials.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
122
- import_swiper_pagination.SwiperPagination,
123
- {
124
- colorScheme: "blue",
125
- isActive: index === testimony,
126
- ariaLabel: `Show Testimonial ${index}`,
127
- onClick: () => slider(index)
128
- },
129
- index
130
- )) }) : null
131
- ] });
132
- }
133
-
134
- // src/testimonial_b.tsx
135
- var import_card2 = require("@stackshift-ui/card");
136
- var import_container2 = require("@stackshift-ui/container");
137
- var import_flex2 = require("@stackshift-ui/flex");
138
- var import_heading2 = require("@stackshift-ui/heading");
139
- var import_section2 = require("@stackshift-ui/section");
140
- var import_swiper_button = require("@stackshift-ui/swiper-button");
141
- var import_text2 = require("@stackshift-ui/text");
142
- var import_react2 = require("react");
143
- var import_jsx_runtime2 = require("react/jsx-runtime");
144
- function Testimonial_B({ caption, title, testimonials }) {
145
- const [testimony, setTestimony] = (0, import_react2.useState)(testimonials);
146
- const slider = (action) => {
147
- setTestimony((prevState) => {
148
- const currentState = prevState || [];
149
- if (action === "next") {
150
- const firstItem = currentState.length > 0 ? currentState.shift() : void 0;
151
- return firstItem ? [...currentState, firstItem] : currentState;
152
- } else if (action === "prev") {
153
- const lastItem = currentState.length > 0 ? currentState.pop() : void 0;
154
- return lastItem ? [lastItem, ...currentState] : currentState;
155
- }
156
- return currentState;
157
- });
158
- };
159
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_section2.Section, { className: "py-20 overflow-hidden bg-background", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_container2.Container, { maxWidth: 1280, children: [
160
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_flex2.Flex, { wrap: true, align: "center", justify: "center", className: "pt-8 pb-16", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(SwiperControl, { testimony, slider, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(TestimonialHeader, { caption, title }) }) }),
161
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(TestimonialList, { testimonials: testimony })
162
- ] }) });
163
- }
164
- function TestimonialHeader({ caption, title }) {
165
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_container2.Container, { maxWidth: 576, className: "mb-10 text-center ", children: [
166
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_text2.Text, { weight: "bold", className: "text-secondary", children: caption }),
167
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_heading2.Heading, { fontSize: "3xl", className: "mt-4", children: title })
168
- ] });
169
- }
170
- function SwiperControl({
171
- testimony,
172
- slider,
173
- children
174
- }) {
175
- if (!testimony) return null;
176
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "flex items-center justify-between w-full", children: [
177
- (testimony == null ? void 0 : testimony.length) >= 4 && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
178
- import_swiper_button.SwiperButton,
179
- {
180
- type: "left",
181
- className: "p-4 bg-white",
182
- onClick: () => slider("prev"),
183
- ariaLabel: "Show previous testimonial"
184
- }
185
- ),
186
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "flex-1 text-center", children }),
187
- (testimony == null ? void 0 : testimony.length) >= 4 && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
188
- import_swiper_button.SwiperButton,
189
- {
190
- type: "right",
191
- className: "p-4 bg-white",
192
- onClick: () => slider("next"),
193
- ariaLabel: "Show next testimonial"
194
- }
195
- )
196
- ] });
197
- }
198
- function TestimonialList({ testimonials }) {
199
- if (!testimonials) return null;
200
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "relative w-full", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_flex2.Flex, { wrap: true, justify: "center", className: "!items-stretch mx-auto", children: testimonials.slice(0, 3).map((testimonial, index) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(TestimonialItem, { ...testimonial }, index)) }) });
201
- }
202
- function TestimonialItem({
203
- testimony,
204
- name,
205
- jobTitle
206
- }) {
207
- if (!testimony) return null;
208
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "flex-1 mb-4 px-3 w-full lg:w-1/3", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_card2.Card, { className: "p-5 h-full", borderRadius: "md", children: [
209
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(QuoteIcon, {}),
210
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_text2.Text, { className: "mb-4 leading-loose", muted: true, children: testimony }),
211
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_text2.Text, { weight: "bold", children: name }),
212
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_text2.Text, { muted: true, children: jobTitle })
213
- ] }) });
214
- }
215
- function QuoteIcon() {
216
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
217
- "svg",
218
- {
219
- className: "w-8 h-8 mb-6 text-primary",
220
- viewBox: "0 0 32 28",
221
- fill: "none",
222
- xmlns: "http://www.w3.org/2000/svg",
223
- children: [
224
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
225
- "path",
226
- {
227
- d: "M10.2418 12.749C9.45369 12.522 8.66554 12.4069 7.89887 12.4069C6.71496 12.4069 5.72709 12.6775 4.96109 13.0088C5.69957 10.3053 7.47358 5.6405 11.0075 5.11517C11.3348 5.0665 11.603 4.82986 11.6923 4.51131L12.4646 1.74875C12.5298 1.51512 12.4912 1.26505 12.3579 1.06231C12.2246 0.859563 12.0105 0.724288 11.7705 0.691393C11.5097 0.655812 11.2438 0.637686 10.9803 0.637686C6.73846 0.637686 2.53756 5.06516 0.764895 11.4046C-0.275679 15.1238 -0.580802 20.7154 1.98237 24.2349C3.41668 26.2043 5.50924 27.2559 8.20198 27.361C8.21305 27.3613 8.2238 27.3616 8.23487 27.3616C11.5573 27.3616 14.5035 25.1241 15.3997 21.9208C15.9351 20.0058 15.6931 17.9975 14.7176 16.2644C13.7526 14.5508 12.1632 13.3018 10.2418 12.749Z",
228
- fill: "currentColor"
229
- }
230
- ),
231
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
232
- "path",
233
- {
234
- d: "M31.0396 16.2648C30.0746 14.5508 28.4852 13.3018 26.5638 12.749C25.7757 12.522 24.9875 12.4069 24.2212 12.4069C23.0373 12.4069 22.0491 12.6775 21.2831 13.0088C22.0215 10.3053 23.7955 5.6405 27.3298 5.11517C27.6571 5.0665 27.9249 4.82986 28.0146 4.51131L28.7869 1.74875C28.8521 1.51512 28.8135 1.26505 28.6802 1.06231C28.5473 0.859563 28.3331 0.724288 28.0928 0.691393C27.8323 0.655812 27.5664 0.637686 27.3026 0.637686C23.0608 0.637686 18.8599 5.06516 17.0869 11.4046C16.0466 15.1238 15.7415 20.7154 18.305 24.2356C19.739 26.2046 21.8319 27.2566 24.5243 27.3613C24.5354 27.3616 24.5461 27.362 24.5575 27.362C27.8796 27.362 30.8261 25.1244 31.7224 21.9211C32.2571 20.0061 32.0147 17.9975 31.0396 16.2648Z",
235
- fill: "currentColor"
236
- }
237
- )
238
- ]
239
- }
240
- );
241
- }
242
-
243
- // src/testimonial_c.tsx
244
- var import_card3 = require("@stackshift-ui/card");
245
- var import_container3 = require("@stackshift-ui/container");
246
- var import_flex3 = require("@stackshift-ui/flex");
247
- var import_heading3 = require("@stackshift-ui/heading");
248
- var import_image2 = require("@stackshift-ui/image");
249
- var import_section3 = require("@stackshift-ui/section");
250
- var import_swiper_button2 = require("@stackshift-ui/swiper-button");
251
- var import_text3 = require("@stackshift-ui/text");
252
- var import_react3 = __toESM(require("react"));
253
- var import_jsx_runtime3 = require("react/jsx-runtime");
254
- function Testimonial_C({ caption, title, testimonials }) {
255
- const [testimony, setTestimony] = import_react3.default.useState(testimonials);
256
- const slider = (action) => {
257
- setTestimony((prevState) => {
258
- if (!prevState || prevState.length === 0) return prevState;
259
- const updatedTestimony = [...prevState];
260
- if (action === "next") {
261
- const firstItem = updatedTestimony.shift();
262
- if (firstItem) updatedTestimony.push(firstItem);
263
- } else if (action === "prev") {
264
- const lastItem = updatedTestimony.pop();
265
- if (lastItem) updatedTestimony.unshift(lastItem);
266
- }
267
- return updatedTestimony;
268
- });
269
- };
270
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_section3.Section, { className: "py-10 overflow-hidden bg-background lg:py-20", children: [
271
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_container3.Container, { className: "pb-6 lg:pb-16", maxWidth: 1280, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
272
- import_flex3.Flex,
273
- {
274
- wrap: true,
275
- align: "center",
276
- justify: "center",
277
- className: "text-center lg:justify-between lg:text-left",
278
- children: [
279
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(TestimonialHeader2, { caption, title }),
280
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(TestimonialSwiper, { testimony, slider })
281
- ]
282
- }
283
- ) }),
284
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(TestimonialList2, { testimony })
285
- ] });
286
- }
287
- function TestimonialHeader2({ caption, title }) {
288
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "w-full mb-4 lg:mb-0 lg:w-4/5", children: [
289
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_text3.Text, { weight: "bold", className: "text-secondary", children: caption }),
290
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_heading3.Heading, { fontSize: "3xl", children: title })
291
- ] });
292
- }
293
- function TestimonialSwiper({
294
- testimony,
295
- slider
296
- }) {
297
- if (!testimony) return null;
298
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "w-full lg:w-1/5", children: [
299
- testimony && (testimony == null ? void 0 : testimony.length) >= 4 && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
300
- import_swiper_button2.SwiperButton,
301
- {
302
- type: "left",
303
- className: "order-last p-5 mr-4 bg-white lg:order-first",
304
- onClick: () => slider("prev"),
305
- ariaLabel: "Show previous testimonial"
306
- }
307
- ),
308
- testimony && (testimony == null ? void 0 : testimony.length) >= 4 && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
309
- import_swiper_button2.SwiperButton,
310
- {
311
- type: "right",
312
- className: "order-last p-5 bg-white",
313
- onClick: () => slider("next"),
314
- ariaLabel: "Show next testimonial"
315
- }
316
- )
317
- ] });
318
- }
319
- function TestimonialList2({ testimony }) {
320
- var _a;
321
- if (!testimony) return null;
322
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_flex3.Flex, { className: "relative", children: testimony && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_flex3.Flex, { wrap: true, className: "!items-stretch max-w-6xl px-2 mx-auto", children: (_a = testimony == null ? void 0 : testimony.slice(0, 3)) == null ? void 0 : _a.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(TestimonialItem2, { item, index }, item == null ? void 0 : item._key)) }) });
323
- }
324
- function TestimonialItem2({ item, index }) {
325
- var _a, _b, _c, _d;
326
- if (!item) return null;
327
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "flex-1 w-full px-3 mb-4 lg:w-1/3", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_card3.Card, { className: "p-8 text-center h-full items-center", borderRadius: "md", children: [
328
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_text3.Text, { className: "mb-8 leading-loose", muted: true, children: item == null ? void 0 : item.testimony }),
329
- ((_a = item == null ? void 0 : item.mainImage) == null ? void 0 : _a.image) && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "w-[48px] h-[48px] mx-auto border-0", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
330
- import_image2.Image,
331
- {
332
- className: "w-full h-full object-cover rounded-full",
333
- width: 48,
334
- height: 48,
335
- src: `${(_b = item == null ? void 0 : item.mainImage) == null ? void 0 : _b.image}`,
336
- alt: (_d = (_c = item == null ? void 0 : item.mainImage) == null ? void 0 : _c.alt) != null ? _d : `testimonial-source-${item == null ? void 0 : item.name}-profile-image`
337
- }
338
- ) }),
339
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_text3.Text, { className: "mb-1", fontSize: "2xl", weight: "bold", children: item == null ? void 0 : item.name }),
340
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_text3.Text, { muted: true, children: item == null ? void 0 : item.jobTitle })
341
- ] }) }, index);
342
- }
343
-
344
- // src/testimonial_d.tsx
345
- var import_card4 = require("@stackshift-ui/card");
346
- var import_container4 = require("@stackshift-ui/container");
347
- var import_flex4 = require("@stackshift-ui/flex");
348
- var import_image3 = require("@stackshift-ui/image");
349
- var import_section4 = require("@stackshift-ui/section");
350
- var import_swiper_button3 = require("@stackshift-ui/swiper-button");
351
- var import_text4 = require("@stackshift-ui/text");
352
- var import_react4 = __toESM(require("react"));
353
- var import_jsx_runtime4 = require("react/jsx-runtime");
354
- function Testimonial_D({ testimonials }) {
355
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
356
- const [currentIndex, setCurrentIndex] = import_react4.default.useState(0);
357
- const handleSlider = (direction) => {
358
- if (!testimonials || testimonials.length <= 1) return;
359
- if (direction === "next") {
360
- setCurrentIndex((prev) => prev !== testimonials.length - 1 ? prev + 1 : 0);
361
- } else {
362
- setCurrentIndex((prev) => prev > 0 ? prev - 1 : testimonials.length - 1);
363
- }
364
- };
365
- const getRatingToArray = (rating) => {
366
- const num = [];
367
- for (let i = 0; i < rating; i++) {
368
- num.push(i);
369
- }
370
- return num;
371
- };
372
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_section4.Section, { className: "py-20 bg-background", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_container4.Container, { maxWidth: 1280, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "items-center justify-center md:space-x-8 lg:flex", children: [
373
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "mb-10 text-center lg:hidden", children: [
374
- testimonials && (testimonials == null ? void 0 : testimonials.length) > 1 && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
375
- import_swiper_button3.SwiperButton,
376
- {
377
- type: "left",
378
- className: "p-4 mr-6 bg-white lg:order-first lg:mr-0",
379
- onClick: () => handleSlider("prev"),
380
- ariaLabel: "Show previous testimonial"
381
- }
382
- ),
383
- testimonials && (testimonials == null ? void 0 : testimonials.length) > 1 && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
384
- import_swiper_button3.SwiperButton,
385
- {
386
- type: "right",
387
- className: "p-4 mr-6 bg-white lg:order-first lg:mr-0",
388
- onClick: () => handleSlider("next"),
389
- ariaLabel: "Show next testimonial"
390
- }
391
- )
392
- ] }),
393
- testimonials && (testimonials == null ? void 0 : testimonials.length) > 1 && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
394
- import_swiper_button3.SwiperButton,
395
- {
396
- type: "left",
397
- className: "hidden p-4 mr-6 bg-white lg:block lg:order-first lg:mr-0",
398
- onClick: () => handleSlider("prev"),
399
- ariaLabel: "Show previous testimonial"
400
- }
401
- ),
402
- (testimonials == null ? void 0 : testimonials[currentIndex]) && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_card4.Card, { className: "flex flex-wrap w-full", borderRadius: "md", children: [
403
- ((_a = testimonials == null ? void 0 : testimonials[currentIndex]) == null ? void 0 : _a.rating) && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "w-full py-10 text-center border-b lg:border-r lg:border-b-0 lg:w-1/3", children: [
404
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "text-5xl font-bold lg:text-6xl", children: `${(_b = testimonials == null ? void 0 : testimonials[currentIndex]) == null ? void 0 : _b.rating}.0` }),
405
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_flex4.Flex, { align: "center", justify: "center", className: "mb-6 text-primary", children: ((_c = testimonials == null ? void 0 : testimonials[currentIndex]) == null ? void 0 : _c.rating) !== void 0 && getRatingToArray(Number((_d = testimonials == null ? void 0 : testimonials[currentIndex]) == null ? void 0 : _d.rating)).map(
406
- (_, idx) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(RatingIcon, {}, idx)
407
- ) }),
408
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "object-contain w-32 h-24 mx-auto mb-6 rounded-full", children: ((_f = (_e = testimonials[currentIndex]) == null ? void 0 : _e.mainImage) == null ? void 0 : _f.image) && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
409
- import_image3.Image,
410
- {
411
- className: "h-[96px] w-[128px] object-scale-down",
412
- src: `${(_h = (_g = testimonials[currentIndex]) == null ? void 0 : _g.mainImage) == null ? void 0 : _h.image}`,
413
- width: 128,
414
- height: 96,
415
- alt: (_k = (_j = (_i = testimonials[currentIndex]) == null ? void 0 : _i.mainImage) == null ? void 0 : _j.alt) != null ? _k : `testimonial-source-profile-image${currentIndex}`
416
- }
417
- ) })
418
- ] }),
419
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "w-full px-6 py-10 lg:w-2/3", children: [
420
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(QuoteIcon2, {}),
421
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_text4.Text, { muted: true, className: "mb-10 text-xl leading-loose lg:text-2xl", children: (_l = testimonials[currentIndex]) == null ? void 0 : _l.testimony }),
422
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_text4.Text, { weight: "bold", fontSize: "2xl", children: (_m = testimonials[currentIndex]) == null ? void 0 : _m.name }),
423
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_text4.Text, { muted: true, children: (_n = testimonials[currentIndex]) == null ? void 0 : _n.jobTitle })
424
- ] })
425
- ] }),
426
- testimonials && (testimonials == null ? void 0 : testimonials.length) > 1 && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
427
- import_swiper_button3.SwiperButton,
428
- {
429
- type: "right",
430
- className: "hidden bg-white lg:block p-4 mr-6 lg:mr-0",
431
- onClick: () => handleSlider("next"),
432
- ariaLabel: "Show next testimonial"
433
- }
434
- )
435
- ] }) }) });
436
- }
437
- function RatingIcon() {
438
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
439
- "svg",
440
- {
441
- className: "w-6 h-6",
442
- xmlns: "http://www.w3.org/2000/svg",
443
- viewBox: "0 0 20 20",
444
- fill: "currentColor",
445
- children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z" })
446
- }
447
- );
448
- }
449
- function QuoteIcon2() {
450
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
451
- "svg",
452
- {
453
- className: "w-10 h-10 mb-4 text-primary",
454
- viewBox: "0 0 32 28",
455
- fill: "none",
456
- xmlns: "http://www.w3.org/2000/svg",
457
- children: [
458
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
459
- "path",
460
- {
461
- d: "M10.2418 12.749C9.45369 12.522 8.66554 12.4069 7.89887 12.4069C6.71496 12.4069 5.72709 12.6775 4.96109 13.0088C5.69957 10.3053 7.47358 5.6405 11.0075 5.11517C11.3348 5.0665 11.603 4.82986 11.6923 4.51131L12.4646 1.74875C12.5298 1.51512 12.4912 1.26505 12.3579 1.06231C12.2246 0.859563 12.0105 0.724288 11.7705 0.691393C11.5097 0.655812 11.2438 0.637686 10.9803 0.637686C6.73846 0.637686 2.53756 5.06516 0.764895 11.4046C-0.275679 15.1238 -0.580802 20.7154 1.98237 24.2349C3.41668 26.2043 5.50924 27.2559 8.20198 27.361C8.21305 27.3613 8.2238 27.3616 8.23487 27.3616C11.5573 27.3616 14.5035 25.1241 15.3997 21.9208C15.9351 20.0058 15.6931 17.9975 14.7176 16.2644C13.7526 14.5508 12.1632 13.3018 10.2418 12.749Z",
462
- fill: "currentColor"
463
- }
464
- ),
465
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
466
- "path",
467
- {
468
- d: "M31.0396 16.2648C30.0746 14.5508 28.4852 13.3018 26.5638 12.749C25.7757 12.522 24.9875 12.4069 24.2212 12.4069C23.0373 12.4069 22.0491 12.6775 21.2831 13.0088C22.0215 10.3053 23.7955 5.6405 27.3298 5.11517C27.6571 5.0665 27.9249 4.82986 28.0146 4.51131L28.7869 1.74875C28.8521 1.51512 28.8135 1.26505 28.6802 1.06231C28.5473 0.859563 28.3331 0.724288 28.0928 0.691393C27.8323 0.655812 27.5664 0.637686 27.3026 0.637686C23.0608 0.637686 18.8599 5.06516 17.0869 11.4046C16.0466 15.1238 15.7415 20.7154 18.305 24.2356C19.739 26.2046 21.8319 27.2566 24.5243 27.3613C24.5354 27.3616 24.5461 27.362 24.5575 27.362C27.8796 27.362 30.8261 25.1244 31.7224 21.9211C32.2571 20.0061 32.0147 17.9975 31.0396 16.2648Z",
469
- fill: "currentColor"
470
- }
471
- )
472
- ]
473
- }
474
- );
475
- }
476
-
477
- // src/testimonial.tsx
478
- var import_jsx_runtime5 = require("react/jsx-runtime");
479
- var Variants = {
480
- variant_a: Testimonial_A,
481
- variant_b: Testimonial_B,
482
- variant_c: Testimonial_C,
483
- variant_d: Testimonial_D
484
- };
485
- var Testimonial = ({ data }) => {
486
- var _a, _b, _c, _d, _e, _f;
487
- const variant = data == null ? void 0 : data.variant;
488
- const Variant = variant && Variants[variant];
489
- const props = {
490
- caption: (_b = (_a = data == null ? void 0 : data.variants) == null ? void 0 : _a.subtitle) != null ? _b : void 0,
491
- title: (_d = (_c = data == null ? void 0 : data.variants) == null ? void 0 : _c.title) != null ? _d : void 0,
492
- testimonials: (_f = (_e = data == null ? void 0 : data.variants) == null ? void 0 : _e.testimonials) != null ? _f : void 0
493
- };
494
- if (!Variant) return null;
495
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react5.Suspense, { fallback: null, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Variant, { ...props }) });
496
- };
497
- Testimonial.displayName = "Testimonial";
498
- // Annotate the CommonJS export names for ESM import in node:
499
- 0 && (module.exports = {
500
- Testimonial,
501
- Testimonial_A,
502
- Testimonial_B,
503
- Testimonial_C,
504
- Testimonial_D
505
- });
2
+ "use strict";var C1=Object.create;var N=Object.defineProperty;var h1=Object.getOwnPropertyDescriptor;var w1=Object.getOwnPropertyNames;var b1=Object.getPrototypeOf,s1=Object.prototype.hasOwnProperty;var v1=(e,r)=>{for(var l in r)N(e,l,{get:r[l],enumerable:!0})},Q=(e,r,l,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let c of w1(r))!s1.call(e,c)&&c!==l&&N(e,c,{get:()=>r[c],enumerable:!(n=h1(r,c))||n.enumerable});return e};var j=(e,r,l)=>(l=e!=null?C1(b1(e)):{},Q(r||!e||!e.__esModule?N(l,"default",{value:e,enumerable:!0}):l,e)),T1=e=>Q(N({},"__esModule",{value:!0}),e);var M1={};v1(M1,{Testimonial:()=>x1,Testimonial_A:()=>S,Testimonial_B:()=>y,Testimonial_C:()=>k,Testimonial_D:()=>R});module.exports=T1(M1);var g1=require("react");var q=require("@stackshift-ui/card"),E=require("@stackshift-ui/container"),G=require("@stackshift-ui/flex"),J=require("@stackshift-ui/heading"),K=require("@stackshift-ui/image"),O=require("@stackshift-ui/section"),U=require("@stackshift-ui/swiper-pagination"),P=require("@stackshift-ui/text"),_=j(require("react")),f=require("react/jsx-runtime");function S({testimonials:e}){let[r,l]=_.default.useState(0);return(0,f.jsx)(O.Section,{className:"py-20 bg-background",children:(0,f.jsx)(E.Container,{maxWidth:1280,children:(0,f.jsx)(q.Card,{className:"py-10",borderRadius:"md",children:(0,f.jsxs)(G.Flex,{wrap:!0,align:"center",justify:"center",className:"max-w-5xl p-4",children:[(0,f.jsx)(N1,{testimonials:e,testimony:r}),(0,f.jsx)(S1,{testimonials:e,testimony:r,slider:c=>{l(c)}})]})})})})}function N1({testimonials:e,testimony:r}){var l,n,c,m,d,u,t,p,x,C,h,w;return e!=null&&e[r]?(0,f.jsxs)("div",{className:"w-full mb-6 text-center lg:w-1/3",children:[(n=(l=e==null?void 0:e[r])==null?void 0:l.mainImage)!=null&&n.image?(0,f.jsx)(K.Image,{width:128,height:128,className:"mx-auto border-0 w-[128px] h-[128px] object-cover rounded-full",src:`${(m=(c=e==null?void 0:e[r])==null?void 0:c.mainImage)==null?void 0:m.image}`,alt:(p=(u=(d=e==null?void 0:e[r])==null?void 0:d.mainImage)==null?void 0:u.alt)!=null?p:`testimonial-source-${(t=e==null?void 0:e[r])==null?void 0:t.name}-profile-image`}):null,(x=e==null?void 0:e[r])!=null&&x.name?(0,f.jsx)(P.Text,{className:"text-xl",children:(C=e==null?void 0:e[r])==null?void 0:C.name}):null,(h=e==null?void 0:e[r])!=null&&h.jobTitle?(0,f.jsx)(P.Text,{className:"text-primary",children:(w=e==null?void 0:e[r])==null?void 0:w.jobTitle}):null]}):null}function S1({testimonials:e,testimony:r,slider:l}){var n;return e!=null&&e[r]?(0,f.jsxs)("div",{className:"w-full lg:w-2/3",children:[(0,f.jsxs)("svg",{className:"w-10 h-10 mb-4 text-primary",viewBox:"0 0 32 28",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,f.jsx)("path",{d:"M10.2418 12.749C9.45369 12.522 8.66554 12.4069 7.89887 12.4069C6.71496 12.4069 5.72709 12.6775 4.96109 13.0088C5.69957 10.3053 7.47358 5.6405 11.0075 5.11517C11.3348 5.0665 11.603 4.82986 11.6923 4.51131L12.4646 1.74875C12.5298 1.51512 12.4912 1.26505 12.3579 1.06231C12.2246 0.859563 12.0105 0.724288 11.7705 0.691393C11.5097 0.655812 11.2438 0.637686 10.9803 0.637686C6.73846 0.637686 2.53756 5.06516 0.764895 11.4046C-0.275679 15.1238 -0.580802 20.7154 1.98237 24.2349C3.41668 26.2043 5.50924 27.2559 8.20198 27.361C8.21305 27.3613 8.2238 27.3616 8.23487 27.3616C11.5573 27.3616 14.5035 25.1241 15.3997 21.9208C15.9351 20.0058 15.6931 17.9975 14.7176 16.2644C13.7526 14.5508 12.1632 13.3018 10.2418 12.749Z",fill:"currentColor"}),(0,f.jsx)("path",{d:"M31.0396 16.2648C30.0746 14.5508 28.4852 13.3018 26.5638 12.749C25.7757 12.522 24.9875 12.4069 24.2212 12.4069C23.0373 12.4069 22.0491 12.6775 21.2831 13.0088C22.0215 10.3053 23.7955 5.6405 27.3298 5.11517C27.6571 5.0665 27.9249 4.82986 28.0146 4.51131L28.7869 1.74875C28.8521 1.51512 28.8135 1.26505 28.6802 1.06231C28.5473 0.859563 28.3331 0.724288 28.0928 0.691393C27.8323 0.655812 27.5664 0.637686 27.3026 0.637686C23.0608 0.637686 18.8599 5.06516 17.0869 11.4046C16.0466 15.1238 15.7415 20.7154 18.305 24.2356C19.739 26.2046 21.8319 27.2566 24.5243 27.3613C24.5354 27.3616 24.5461 27.362 24.5575 27.362C27.8796 27.362 30.8261 25.1244 31.7224 21.9211C32.2571 20.0061 32.0147 17.9975 31.0396 16.2648Z",fill:"currentColor"})]}),(0,f.jsx)(J.Heading,{children:(n=e==null?void 0:e[r])==null?void 0:n.testimony}),(e==null?void 0:e.length)>1?(0,f.jsx)(_.default.Fragment,{children:e.map((c,m)=>(0,f.jsx)(U.SwiperPagination,{colorScheme:"blue",isActive:m===r,ariaLabel:`Show Testimonial ${m}`,onClick:()=>l(m)},m))}):null]}):null}var B=require("@stackshift-ui/swiper-button");function y({caption:e,title:r,testimonials:l}){let[n,c]=(0,g1.useState)(l);return(0,f.jsx)(O.Section,{className:"py-20 overflow-hidden bg-background",children:(0,f.jsxs)(E.Container,{maxWidth:1280,children:[(0,f.jsx)($.Flex,{wrap:!0,align:"center",justify:"center",className:"pt-8 pb-16",children:(0,f.jsx)(I1,{testimony:n,slider:d=>{c(u=>{let t=u||[];if(d==="next"){let p=t.length>0?t.shift():void 0;return p?[...t,p]:t}else if(d==="prev"){let p=t.length>0?t.pop():void 0;return p?[p,...t]:t}return t})},children:(0,f.jsx)(y1,{caption:e,title:r})})}),(0,f.jsx)(k1,{testimonials:n})]})})}function y1({caption:e,title:r}){return(0,f.jsxs)(E.Container,{maxWidth:576,className:"mb-10 text-center ",children:[(0,f.jsx)(P.Text,{weight:"bold",className:"text-secondary",children:e}),(0,f.jsx)(J.Heading,{fontSize:"3xl",className:"mt-4",children:r})]})}function I1({testimony:e,slider:r,children:l}){return e?(0,f.jsxs)("div",{className:"flex items-center justify-between w-full",children:[(e==null?void 0:e.length)>=4&&(0,f.jsx)(B.SwiperButton,{type:"left",className:"p-4 bg-white",onClick:()=>r("prev"),ariaLabel:"Show previous testimonial"}),(0,f.jsx)("div",{className:"flex-1 text-center",children:l}),(e==null?void 0:e.length)>=4&&(0,f.jsx)(B.SwiperButton,{type:"right",className:"p-4 bg-white",onClick:()=>r("next"),ariaLabel:"Show next testimonial"})]}):null}function k1({testimonials:e}){return e?(0,f.jsx)("div",{className:"relative w-full",children:(0,f.jsx)($.Flex,{wrap:!0,justify:"center",className:"!items-stretch mx-auto",children:e.slice(0,3).map((r,l)=>(0,f.jsx)(L1,{...r},l))})}):null}function L1({testimony:e,name:r,jobTitle:l}){return e?(0,f.jsx)("div",{className:"flex-1 mb-4 px-3 w-full lg:w-1/3",children:(0,f.jsxs)(q.Card,{className:"p-5 h-full",borderRadius:"md",children:[(0,f.jsx)(R1,{}),(0,f.jsx)(P.Text,{className:"mb-4 leading-loose",muted:!0,children:e}),(0,f.jsx)(P.Text,{weight:"bold",children:r}),(0,f.jsx)(P.Text,{muted:!0,children:l})]})}):null}function R1(){return(0,f.jsxs)("svg",{className:"w-8 h-8 mb-6 text-primary",viewBox:"0 0 32 28",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,f.jsx)("path",{d:"M10.2418 12.749C9.45369 12.522 8.66554 12.4069 7.89887 12.4069C6.71496 12.4069 5.72709 12.6775 4.96109 13.0088C5.69957 10.3053 7.47358 5.6405 11.0075 5.11517C11.3348 5.0665 11.603 4.82986 11.6923 4.51131L12.4646 1.74875C12.5298 1.51512 12.4912 1.26505 12.3579 1.06231C12.2246 0.859563 12.0105 0.724288 11.7705 0.691393C11.5097 0.655812 11.2438 0.637686 10.9803 0.637686C6.73846 0.637686 2.53756 5.06516 0.764895 11.4046C-0.275679 15.1238 -0.580802 20.7154 1.98237 24.2349C3.41668 26.2043 5.50924 27.2559 8.20198 27.361C8.21305 27.3613 8.2238 27.3616 8.23487 27.3616C11.5573 27.3616 14.5035 25.1241 15.3997 21.9208C15.9351 20.0058 15.6931 17.9975 14.7176 16.2644C13.7526 14.5508 12.1632 13.3018 10.2418 12.749Z",fill:"currentColor"}),(0,f.jsx)("path",{d:"M31.0396 16.2648C30.0746 14.5508 28.4852 13.3018 26.5638 12.749C25.7757 12.522 24.9875 12.4069 24.2212 12.4069C23.0373 12.4069 22.0491 12.6775 21.2831 13.0088C22.0215 10.3053 23.7955 5.6405 27.3298 5.11517C27.6571 5.0665 27.9249 4.82986 28.0146 4.51131L28.7869 1.74875C28.8521 1.51512 28.8135 1.26505 28.6802 1.06231C28.5473 0.859563 28.3331 0.724288 28.0928 0.691393C27.8323 0.655812 27.5664 0.637686 27.3026 0.637686C23.0608 0.637686 18.8599 5.06516 17.0869 11.4046C16.0466 15.1238 15.7415 20.7154 18.305 24.2356C19.739 26.2046 21.8319 27.2566 24.5243 27.3613C24.5354 27.3616 24.5461 27.362 24.5575 27.362C27.8796 27.362 30.8261 25.1244 31.7224 21.9211C32.2571 20.0061 32.0147 17.9975 31.0396 16.2648Z",fill:"currentColor"})]})}var i1=j(require("react"));function k({caption:e,title:r,testimonials:l}){let[n,c]=i1.default.useState(l);return(0,f.jsxs)(O.Section,{className:"py-10 overflow-hidden bg-background lg:py-20",children:[(0,f.jsx)(E.Container,{className:"pb-6 lg:pb-16",maxWidth:1280,children:(0,f.jsxs)(G.Flex,{wrap:!0,align:"center",justify:"center",className:"text-center lg:justify-between lg:text-left",children:[(0,f.jsx)(F1,{caption:e,title:r}),(0,f.jsx)(j1,{testimony:n,slider:d=>{c(u=>{if(!u||u.length===0)return u;let t=[...u];if(d==="next"){let p=t.shift();p&&t.push(p)}else if(d==="prev"){let p=t.pop();p&&t.unshift(p)}return t})}})]})}),(0,f.jsx)(P1,{testimony:n})]})}function F1({caption:e,title:r}){return(0,f.jsxs)("div",{className:"w-full mb-4 lg:mb-0 lg:w-4/5",children:[(0,f.jsx)(P.Text,{weight:"bold",className:"text-secondary",children:e}),(0,f.jsx)(J.Heading,{fontSize:"3xl",children:r})]})}function j1({testimony:e,slider:r}){return e?(0,f.jsxs)("div",{className:"w-full lg:w-1/5",children:[e&&(e==null?void 0:e.length)>=4&&(0,f.jsx)(B.SwiperButton,{type:"left",className:"order-last p-5 mr-4 bg-white lg:order-first",onClick:()=>r("prev"),ariaLabel:"Show previous testimonial"}),e&&(e==null?void 0:e.length)>=4&&(0,f.jsx)(B.SwiperButton,{type:"right",className:"order-last p-5 bg-white",onClick:()=>r("next"),ariaLabel:"Show next testimonial"})]}):null}function P1({testimony:e}){var r;return e?(0,f.jsx)(G.Flex,{className:"relative",children:e&&(0,f.jsx)(G.Flex,{wrap:!0,className:"!items-stretch max-w-6xl px-2 mx-auto",children:(r=e==null?void 0:e.slice(0,3))==null?void 0:r.map((l,n)=>(0,f.jsx)(_1,{item:l,index:n},l==null?void 0:l._key))})}):null}function _1({item:e,index:r}){var l,n,c,m;return e?(0,f.jsx)("div",{className:"flex-1 w-full px-3 mb-4 lg:w-1/3",children:(0,f.jsxs)(q.Card,{className:"p-8 text-center h-full items-center",borderRadius:"md",children:[(0,f.jsx)(P.Text,{className:"mb-8 leading-loose",muted:!0,children:e==null?void 0:e.testimony}),((l=e==null?void 0:e.mainImage)==null?void 0:l.image)&&(0,f.jsx)("div",{className:"w-[48px] h-[48px] mx-auto border-0",children:(0,f.jsx)(K.Image,{className:"w-full h-full object-cover rounded-full",width:48,height:48,src:`${(n=e==null?void 0:e.mainImage)==null?void 0:n.image}`,alt:(m=(c=e==null?void 0:e.mainImage)==null?void 0:c.alt)!=null?m:`testimonial-source-${e==null?void 0:e.name}-profile-image`})}),(0,f.jsx)(P.Text,{className:"mb-1",fontSize:"2xl",weight:"bold",children:e==null?void 0:e.name}),(0,f.jsx)(P.Text,{muted:!0,children:e==null?void 0:e.jobTitle})]})},r):null}var d1=j(require("react"));function R({testimonials:e}){var m,d,u,t,p,x,C,h,w,Z,A,W,V,D;let[r,l]=d1.default.useState(0),n=T=>{!e||e.length<=1||l(T==="next"?g=>g!==e.length-1?g+1:0:g=>g>0?g-1:e.length-1)},c=T=>{let g=[];for(let F=0;F<T;F++)g.push(F);return g};return(0,f.jsx)(O.Section,{className:"py-20 bg-background",children:(0,f.jsx)(E.Container,{maxWidth:1280,children:(0,f.jsxs)("div",{className:"items-center justify-center md:space-x-8 lg:flex",children:[(0,f.jsxs)("div",{className:"mb-10 text-center lg:hidden",children:[e&&(e==null?void 0:e.length)>1&&(0,f.jsx)(B.SwiperButton,{type:"left",className:"p-4 mr-6 bg-white lg:order-first lg:mr-0",onClick:()=>n("prev"),ariaLabel:"Show previous testimonial"}),e&&(e==null?void 0:e.length)>1&&(0,f.jsx)(B.SwiperButton,{type:"right",className:"p-4 mr-6 bg-white lg:order-first lg:mr-0",onClick:()=>n("next"),ariaLabel:"Show next testimonial"})]}),e&&(e==null?void 0:e.length)>1&&(0,f.jsx)(B.SwiperButton,{type:"left",className:"hidden p-4 mr-6 bg-white lg:block lg:order-first lg:mr-0",onClick:()=>n("prev"),ariaLabel:"Show previous testimonial"}),(e==null?void 0:e[r])&&(0,f.jsxs)(q.Card,{className:"flex flex-wrap w-full",borderRadius:"md",children:[((m=e==null?void 0:e[r])==null?void 0:m.rating)&&(0,f.jsxs)("div",{className:"w-full py-10 text-center border-P lg:border-r lg:border-P-0 lg:w-1/3",children:[(0,f.jsx)("span",{className:"text-5xl font-bold lg:text-6xl",children:`${(d=e==null?void 0:e[r])==null?void 0:d.rating}.0`}),(0,f.jsx)(G.Flex,{align:"center",justify:"center",className:"mb-6 text-primary",children:((u=e==null?void 0:e[r])==null?void 0:u.rating)!==void 0&&c(Number((t=e==null?void 0:e[r])==null?void 0:t.rating)).map((T,g)=>(0,f.jsx)(B1,{},g))}),(0,f.jsx)("div",{className:"object-contain w-32 h-24 mx-auto mb-6 rounded-full",children:((x=(p=e[r])==null?void 0:p.mainImage)==null?void 0:x.image)&&(0,f.jsx)(K.Image,{className:"h-[96px] w-[128px] object-scale-down",src:`${(h=(C=e[r])==null?void 0:C.mainImage)==null?void 0:h.image}`,width:128,height:96,alt:(A=(Z=(w=e[r])==null?void 0:w.mainImage)==null?void 0:Z.alt)!=null?A:`testimonial-source-profile-image${r}`})})]}),(0,f.jsxs)("div",{className:"w-full px-6 py-10 lg:w-2/3",children:[(0,f.jsx)(H1,{}),(0,f.jsx)(P.Text,{muted:!0,className:"mb-10 text-xl leading-loose lg:text-2xl",children:(W=e[r])==null?void 0:W.testimony}),(0,f.jsx)(P.Text,{weight:"bold",fontSize:"2xl",children:(V=e[r])==null?void 0:V.name}),(0,f.jsx)(P.Text,{muted:!0,children:(D=e[r])==null?void 0:D.jobTitle})]})]}),e&&(e==null?void 0:e.length)>1&&(0,f.jsx)(B.SwiperButton,{type:"right",className:"hidden bg-white lg:block p-4 mr-6 lg:mr-0",onClick:()=>n("next"),ariaLabel:"Show next testimonial"})]})})})}function B1(){return(0,f.jsx)("svg",{className:"w-6 h-6",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",children:(0,f.jsx)("path",{d:"M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"})})}function H1(){return(0,f.jsxs)("svg",{className:"w-10 h-10 mb-4 text-primary",viewBox:"0 0 32 28",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,f.jsx)("path",{d:"M10.2418 12.749C9.45369 12.522 8.66554 12.4069 7.89887 12.4069C6.71496 12.4069 5.72709 12.6775 4.96109 13.0088C5.69957 10.3053 7.47358 5.6405 11.0075 5.11517C11.3348 5.0665 11.603 4.82986 11.6923 4.51131L12.4646 1.74875C12.5298 1.51512 12.4912 1.26505 12.3579 1.06231C12.2246 0.859563 12.0105 0.724288 11.7705 0.691393C11.5097 0.655812 11.2438 0.637686 10.9803 0.637686C6.73846 0.637686 2.53756 5.06516 0.764895 11.4046C-0.275679 15.1238 -0.580802 20.7154 1.98237 24.2349C3.41668 26.2043 5.50924 27.2559 8.20198 27.361C8.21305 27.3613 8.2238 27.3616 8.23487 27.3616C11.5573 27.3616 14.5035 25.1241 15.3997 21.9208C15.9351 20.0058 15.6931 17.9975 14.7176 16.2644C13.7526 14.5508 12.1632 13.3018 10.2418 12.749Z",fill:"currentColor"}),(0,f.jsx)("path",{d:"M31.0396 16.2648C30.0746 14.5508 28.4852 13.3018 26.5638 12.749C25.7757 12.522 24.9875 12.4069 24.2212 12.4069C23.0373 12.4069 22.0491 12.6775 21.2831 13.0088C22.0215 10.3053 23.7955 5.6405 27.3298 5.11517C27.6571 5.0665 27.9249 4.82986 28.0146 4.51131L28.7869 1.74875C28.8521 1.51512 28.8135 1.26505 28.6802 1.06231C28.5473 0.859563 28.3331 0.724288 28.0928 0.691393C27.8323 0.655812 27.5664 0.637686 27.3026 0.637686C23.0608 0.637686 18.8599 5.06516 17.0869 11.4046C16.0466 15.1238 15.7415 20.7154 18.305 24.2356C19.739 26.2046 21.8319 27.2566 24.5243 27.3613C24.5354 27.3616 24.5461 27.362 24.5575 27.362C27.8796 27.362 30.8261 25.1244 31.7224 21.9211C32.2571 20.0061 32.0147 17.9975 31.0396 16.2648Z",fill:"currentColor"})]})}var $1={variant_a:S,variant_b:y,variant_c:k,variant_d:R},x1=({data:e})=>{var c,m,d,u,t,p;let r=e==null?void 0:e.variant,l=r&&$1[r],n={caption:(m=(c=e==null?void 0:e.variants)==null?void 0:c.subtitle)!=null?m:void 0,title:(u=(d=e==null?void 0:e.variants)==null?void 0:d.title)!=null?u:void 0,testimonials:(p=(t=e==null?void 0:e.variants)==null?void 0:t.testimonials)!=null?p:void 0};return l?(0,f.jsx)(g1.Suspense,{fallback:null,children:(0,f.jsx)(l,{...n})}):null};x1.displayName="Testimonial";0&&(module.exports={Testimonial,Testimonial_A,Testimonial_B,Testimonial_C,Testimonial_D});
package/dist/index.mjs CHANGED
@@ -1,24 +1,2 @@
1
1
  "use client";
2
- "use strict";
3
- import {
4
- Testimonial
5
- } from "./chunk-Q6JSMTJP.mjs";
6
- import {
7
- Testimonial_A
8
- } from "./chunk-RO3QLJ5Y.mjs";
9
- import {
10
- Testimonial_B
11
- } from "./chunk-2P5MVWOK.mjs";
12
- import {
13
- Testimonial_C
14
- } from "./chunk-SWKKWYIR.mjs";
15
- import {
16
- Testimonial_D
17
- } from "./chunk-C7NFFKD2.mjs";
18
- export {
19
- Testimonial,
20
- Testimonial_A,
21
- Testimonial_B,
22
- Testimonial_C,
23
- Testimonial_D
24
- };
2
+ "use strict";import{a as f}from"./chunk-7R2JKXUL.mjs";import{a as o}from"./chunk-7K534YAE.mjs";import{a as r}from"./chunk-OSCUIEZF.mjs";import{a as e}from"./chunk-GGQRTTGL.mjs";import{a as t}from"./chunk-3NRVKPEL.mjs";export{f as Testimonial,o as Testimonial_A,r as Testimonial_B,e as Testimonial_C,t as Testimonial_D};