@commandcenterio/convert-ui 0.0.6 → 0.0.7

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/index.js CHANGED
@@ -1,12 +1,28 @@
1
- "use strict";
2
- var __create = Object.create;
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React3 = require('react');
5
+ var reactIntersectionObserver = require('react-intersection-observer');
6
+ var classNames = require('classnames');
7
+ var react = require('@gsap/react');
8
+ var gsap3 = require('gsap');
9
+ var ScrollTrigger = require('gsap/dist/ScrollTrigger');
10
+ var TextPlugin = require('gsap/dist/TextPlugin');
11
+ var ScrollTrigger$1 = require('gsap/ScrollTrigger');
12
+ var fa6 = require('react-icons/fa6');
13
+ var Marquee = require('react-fast-marquee');
14
+
15
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
16
+
17
+ var React3__default = /*#__PURE__*/_interopDefault(React3);
18
+ var classNames__default = /*#__PURE__*/_interopDefault(classNames);
19
+ var gsap3__default = /*#__PURE__*/_interopDefault(gsap3);
20
+ var Marquee__default = /*#__PURE__*/_interopDefault(Marquee);
21
+
3
22
  var __defProp = Object.defineProperty;
4
23
  var __defProps = Object.defineProperties;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
24
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
- var __getOwnPropNames = Object.getOwnPropertyNames;
8
25
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
- var __getProtoOf = Object.getPrototypeOf;
10
26
  var __hasOwnProp = Object.prototype.hasOwnProperty;
11
27
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
28
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -34,94 +50,30 @@ var __objRest = (source, exclude) => {
34
50
  }
35
51
  return target;
36
52
  };
37
- var __export = (target, all) => {
38
- for (var name in all)
39
- __defProp(target, name, { get: all[name], enumerable: true });
40
- };
41
- var __copyProps = (to, from, except, desc) => {
42
- if (from && typeof from === "object" || typeof from === "function") {
43
- for (let key of __getOwnPropNames(from))
44
- if (!__hasOwnProp.call(to, key) && key !== except)
45
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
46
- }
47
- return to;
48
- };
49
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
50
- // If the importer is in node compatibility mode or this is not an ESM
51
- // file that has been converted to a CommonJS file using a Babel-
52
- // compatible transform (i.e. "__esModule" has not been set), then set
53
- // "default" to the CommonJS "module.exports" for node compatibility.
54
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
55
- mod
56
- ));
57
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
58
-
59
- // src/index.tsx
60
- var src_exports = {};
61
- __export(src_exports, {
62
- AccordionContainer: () => AccordionContainer,
63
- AccordionItem: () => AccordionItem,
64
- AnimateBorder: () => AnimateBorder,
65
- AnimatedHeader: () => AnimatedHeader,
66
- AnimationObserver: () => AnimationObserver,
67
- BentoBox: () => BentoBox,
68
- BookNow: () => BookNow,
69
- Button: () => Button,
70
- CTA: () => CTA,
71
- CookieConsentForm: () => CookieConsentForm,
72
- Footer: () => Footer,
73
- Hero: () => Hero,
74
- Masonry: () => Masonry,
75
- Navbar: () => Navbar,
76
- Offer: () => Offer,
77
- PrettyCard: () => PrettyCard,
78
- Ratings: () => Ratings,
79
- SectionContainer: () => SectionContainer,
80
- SectionHeader: () => SectionHeader,
81
- SellingPropContainer: () => SellingPropContainer,
82
- SellingProposition: () => SellingProposition,
83
- StackedScroller: () => StackedScroller,
84
- TestimonialCard: () => TestimonialCard,
85
- TestimonialDisplay: () => TestimonialDisplay
86
- });
87
- module.exports = __toCommonJS(src_exports);
88
-
89
- // src/Accordion/Accordion.tsx
90
- var import_jsx_runtime = require("react/jsx-runtime");
91
53
  var AccordionContainer = ({ children }) => {
92
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "join join-vertical w-full", children });
54
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "join join-vertical w-full", children });
93
55
  };
94
56
  var AccordionItem = ({ title, content, isOpen = false }) => {
95
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "collapse collapse-arrow join-item border border-base-300 bg-dark-200 text-base-content", children: [
96
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", { type: "radio", name: "my-accordion-4", defaultChecked: isOpen }),
97
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "collapse-title text-xl font-medium", children: title }),
98
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "collapse-content p-0", style: { padding: "0 !important" }, children: content })
57
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "collapse collapse-arrow join-item border border-base-300 bg-dark-200 text-base-content", children: [
58
+ /* @__PURE__ */ jsxRuntime.jsx("input", { type: "radio", name: "my-accordion-4", defaultChecked: isOpen }),
59
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "collapse-title text-xl font-medium", children: title }),
60
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "collapse-content p-0", style: { padding: "0 !important" }, children: content })
99
61
  ] });
100
62
  };
101
-
102
- // src/Observer/AnimationObserver.tsx
103
- var import_react = require("react");
104
- var import_react_intersection_observer = require("react-intersection-observer");
105
63
  var AnimationObserver = function({
106
64
  children,
107
65
  animationClassNames,
108
66
  threshold = 0.2,
109
67
  defaultClassNames
110
68
  }) {
111
- const { ref, inView } = (0, import_react_intersection_observer.useInView)({
69
+ const { ref, inView } = reactIntersectionObserver.useInView({
112
70
  threshold
113
71
  });
114
- return (0, import_react.cloneElement)(children, {
72
+ return React3.cloneElement(children, {
115
73
  ref,
116
74
  className: `${children.props.className} ${inView ? animationClassNames : defaultClassNames}`.trim()
117
75
  });
118
76
  };
119
-
120
- // src/BorderAnimation/BorderAnimation.tsx
121
- var import_react2 = require("react");
122
- var import_react_intersection_observer2 = require("react-intersection-observer");
123
- var import_classnames = __toESM(require("classnames"));
124
- var import_jsx_runtime2 = require("react/jsx-runtime");
125
77
  var AnimateBorder = ({
126
78
  elementToAnimate,
127
79
  children,
@@ -130,13 +82,13 @@ var AnimateBorder = ({
130
82
  iconsToAnimate,
131
83
  borderRadius = "lg"
132
84
  }) => {
133
- const parentRef = (0, import_react2.useRef)(null);
134
- const { inView, ref: viewRef } = (0, import_react_intersection_observer2.useInView)({ threshold: 0.2 });
85
+ const parentRef = React3.useRef(null);
86
+ const { inView, ref: viewRef } = reactIntersectionObserver.useInView({ threshold: 0.2 });
135
87
  const cloneElementWithAnimation = (element, index = 0) => {
136
88
  const animationDelay = `${index * 0.5}s`;
137
- return (0, import_react2.cloneElement)(element, {
89
+ return React3.cloneElement(element, {
138
90
  style: __spreadProps(__spreadValues({}, element.props.style), { animationDelay }),
139
- className: (0, import_classnames.default)({
91
+ className: classNames__default.default({
140
92
  "absolute": inView,
141
93
  "hidden": !inView,
142
94
  "ml-4": index !== 0,
@@ -147,7 +99,7 @@ var AnimateBorder = ({
147
99
  };
148
100
  const clonedAnimatedElement = elementToAnimate && cloneElementWithAnimation(elementToAnimate);
149
101
  const clonedIconElements = iconsToAnimate == null ? void 0 : iconsToAnimate.map(cloneElementWithAnimation);
150
- (0, import_react2.useEffect)(() => {
102
+ React3.useEffect(() => {
151
103
  const handleResize = () => {
152
104
  if (parentRef.current) {
153
105
  document.documentElement.style.setProperty("--parent-width", `${parentRef.current.offsetWidth}px`);
@@ -160,13 +112,13 @@ var AnimateBorder = ({
160
112
  window.addEventListener("resize", handleResize);
161
113
  return () => window.removeEventListener("resize", handleResize);
162
114
  }, []);
163
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
164
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { ref: viewRef, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { ref: viewRef, className: `relative ${hideOverflow && "overflow-hidden"}`, children: [
115
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
116
+ /* @__PURE__ */ jsxRuntime.jsx("div", { ref: viewRef, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: viewRef, className: `relative ${hideOverflow && "overflow-hidden"}`, children: [
165
117
  clonedAnimatedElement && !hideOverflow && clonedAnimatedElement,
166
118
  clonedIconElements && hideOverflow && clonedIconElements,
167
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { ref: parentRef, className: "flex items-center z-50 relative justify-center p-1", children })
119
+ /* @__PURE__ */ jsxRuntime.jsx("div", { ref: parentRef, className: "flex items-center z-50 relative justify-center p-1", children })
168
120
  ] }) }),
169
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("style", { children: `
121
+ /* @__PURE__ */ jsxRuntime.jsx("style", { children: `
170
122
  ::root {
171
123
  /* --border-radius: 0px; */
172
124
  --parent-height: 0px;
@@ -197,14 +149,7 @@ var AnimateBorder = ({
197
149
  ` })
198
150
  ] });
199
151
  };
200
-
201
- // src/AnimatedHeader/AnimatedHeader.tsx
202
- var import_react3 = require("@gsap/react");
203
- var import_gsap = require("gsap");
204
- var import_ScrollTrigger = require("gsap/dist/ScrollTrigger");
205
- var import_TextPlugin = require("gsap/dist/TextPlugin");
206
- var import_jsx_runtime3 = require("react/jsx-runtime");
207
- import_gsap.gsap.registerPlugin(import_TextPlugin.TextPlugin, import_ScrollTrigger.ScrollTrigger);
152
+ gsap3.gsap.registerPlugin(TextPlugin.TextPlugin, ScrollTrigger.ScrollTrigger);
208
153
  var AnimatedHeader = function({
209
154
  textToAnimate,
210
155
  textClassNames,
@@ -217,8 +162,8 @@ var AnimatedHeader = function({
217
162
  }) {
218
163
  const modifiedId = "#" + identifiers.child;
219
164
  const modifiedParentId = "#" + identifiers.parent;
220
- (0, import_react3.useGSAP)(() => {
221
- import_gsap.gsap.timeline().fromTo(
165
+ react.useGSAP(() => {
166
+ gsap3.gsap.timeline().fromTo(
222
167
  modifiedId,
223
168
  {
224
169
  scale: scaleAnimation.start
@@ -244,23 +189,19 @@ var AnimatedHeader = function({
244
189
  }
245
190
  );
246
191
  }, []);
247
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
192
+ return /* @__PURE__ */ jsxRuntime.jsx(
248
193
  "div",
249
194
  {
250
195
  id: identifiers.parent,
251
196
  className: `flex items-center justify-center ${containerClassNames} `,
252
- children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("h2", { id: identifiers.child, className: textClassNames })
197
+ children: /* @__PURE__ */ jsxRuntime.jsx("h2", { id: identifiers.child, className: textClassNames })
253
198
  }
254
199
  );
255
200
  };
256
-
257
- // src/Bento/BentoBox.tsx
258
- var import_react4 = __toESM(require("react"));
259
- var import_jsx_runtime4 = require("react/jsx-runtime");
260
201
  var BentoBox = ({ children, classNames: classNames2 = "" }) => {
261
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "@container", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: `${classNames2}`, children: import_react4.default.Children.map(
202
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "@container", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${classNames2}`, children: React3__default.default.Children.map(
262
203
  children,
263
- (child, index) => import_react4.default.isValidElement(child) ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
204
+ (child, index) => React3__default.default.isValidElement(child) ? /* @__PURE__ */ jsxRuntime.jsx(
264
205
  "div",
265
206
  {
266
207
  className: child.props.className,
@@ -270,10 +211,6 @@ var BentoBox = ({ children, classNames: classNames2 = "" }) => {
270
211
  ) : null
271
212
  ) }) });
272
213
  };
273
-
274
- // src/BookNow/BookNow.tsx
275
- var import_react5 = require("react");
276
- var import_jsx_runtime5 = require("react/jsx-runtime");
277
214
  var BookNow = ({
278
215
  scriptPathUrl,
279
216
  show,
@@ -282,7 +219,7 @@ var BookNow = ({
282
219
  className,
283
220
  dataPath
284
221
  }) => {
285
- (0, import_react5.useEffect)(() => {
222
+ React3.useEffect(() => {
286
223
  if (show) {
287
224
  if (document.getElementById("calendar-script")) {
288
225
  return;
@@ -301,13 +238,13 @@ var BookNow = ({
301
238
  };
302
239
  }
303
240
  }, [show, scriptPathUrl, vendor]);
304
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
241
+ return /* @__PURE__ */ jsxRuntime.jsx(
305
242
  "div",
306
243
  {
307
244
  id: "book-now",
308
245
  className: `w-[100%] ${className}`,
309
246
  style: { display: show ? "block" : "none" },
310
- children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
247
+ children: /* @__PURE__ */ jsxRuntime.jsx(
311
248
  "div",
312
249
  {
313
250
  className: `${vendor === "tidycal" && "tidycal-embed"} ${vendor === "calendly" && "calendly-inline-widget h-[700px] min-w-[320px]"}`,
@@ -318,12 +255,6 @@ var BookNow = ({
318
255
  }
319
256
  );
320
257
  };
321
-
322
- // src/CookieConsentForm/cookieformstyles.module.css
323
- var cookieformstyles_default = {};
324
-
325
- // src/CookieConsentForm/CookieConsentForm.tsx
326
- var import_jsx_runtime6 = require("react/jsx-runtime");
327
258
  var CookieConsentForm = function({
328
259
  positionX,
329
260
  positionY,
@@ -342,27 +273,27 @@ var CookieConsentForm = function({
342
273
  onReject();
343
274
  }
344
275
  };
345
- return show ? /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
276
+ return show ? /* @__PURE__ */ jsxRuntime.jsxs(
346
277
  "div",
347
278
  {
348
279
  className: `z-[100] h-auto w-full max-w-[350px] rounded-box p-4 shadow-lg @container ${type} ${positionX} ${positionY} ${classNames2}`,
349
280
  children: [
350
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { className: cookieformstyles_default.header, children: cookieHeader }),
351
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { className: cookieformstyles_default.text, children: cookieText }),
352
- /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: cookieformstyles_default.button_container, children: [
353
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
281
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-4 text-xl font-semibold", children: cookieHeader }),
282
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-4 text-sm", children: cookieText }),
283
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-start gap-2", children: [
284
+ /* @__PURE__ */ jsxRuntime.jsx(
354
285
  "button",
355
286
  {
356
287
  onClick: () => handleSelection(true),
357
- className: cookieformstyles_default.accept_button,
288
+ className: "btn btn-primary btn-sm rounded-box",
358
289
  children: "Accept"
359
290
  }
360
291
  ),
361
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
292
+ /* @__PURE__ */ jsxRuntime.jsx(
362
293
  "button",
363
294
  {
364
295
  onClick: () => handleSelection(false),
365
- className: cookieformstyles_default.reject_button,
296
+ className: "btn btn-outline btn-sm rounded-box",
366
297
  children: "Reject"
367
298
  }
368
299
  )
@@ -371,9 +302,6 @@ var CookieConsentForm = function({
371
302
  }
372
303
  ) : null;
373
304
  };
374
-
375
- // src/CTA/CTA.tsx
376
- var import_jsx_runtime7 = require("react/jsx-runtime");
377
305
  var CTA = function({
378
306
  type = "basic",
379
307
  ctaText,
@@ -387,25 +315,22 @@ var CTA = function({
387
315
  const renderCTALayout = () => {
388
316
  switch (type) {
389
317
  case "emphasized":
390
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", {});
318
+ return /* @__PURE__ */ jsxRuntime.jsx("div", {});
391
319
  case "minimal":
392
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", {});
320
+ return /* @__PURE__ */ jsxRuntime.jsx("div", {});
393
321
  default:
394
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: `${basicLayoutStyles} @container`, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex w-full flex-col items-center @2xl:flex-row gap-8", children: [
395
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex w-full flex-col items-center gap-2 @2xl:items-start", children: [
396
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "mb-3 text-center text-sm font-semibold uppercase tracking-[0.5px] text-secondary", children: smallheading }),
397
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("h3", { className: "mb-4 text-center text-3xl font-semibold @2xl:text-start", children: subheading }),
398
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "mb-4 text-center opacity-60 @2xl:text-start", children: paragraph })
322
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${basicLayoutStyles} @container`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-col items-center @2xl:flex-row gap-8", children: [
323
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-col items-center gap-2 @2xl:items-start", children: [
324
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-3 text-center text-sm font-semibold uppercase tracking-[0.5px] text-secondary", children: smallheading }),
325
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 text-center text-3xl font-semibold @2xl:text-start", children: subheading }),
326
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-4 text-center opacity-60 @2xl:text-start", children: paragraph })
399
327
  ] }),
400
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "relative z-50 flex flex-col min-w-[15vw] items-center @2xl:items-end", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("button", { onClick, className: "btn btn-primary w-full transform duration-300 hover:scale-[0.95] @xl:w-auto", children: ctaText }) })
328
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-50 flex flex-col min-w-[15vw] items-center @2xl:items-end", children: /* @__PURE__ */ jsxRuntime.jsx("button", { onClick, className: "btn btn-primary w-full transform duration-300 hover:scale-[0.95] @xl:w-auto", children: ctaText }) })
401
329
  ] }) });
402
330
  }
403
331
  };
404
332
  return renderCTALayout();
405
333
  };
406
-
407
- // src/Footer/Footer.tsx
408
- var import_jsx_runtime8 = require("react/jsx-runtime");
409
334
  var Footer = function({
410
335
  links,
411
336
  logo,
@@ -420,16 +345,16 @@ var Footer = function({
420
345
  const logoHeightStyle = {
421
346
  "--footer-logo-height": logoHeight
422
347
  };
423
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "h-full w-full @container", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("footer", { className: "footer flex w-full flex-col items-center justify-center gap-10 bg-base-200 p-10 text-base-content @xl:flex-row @xl:items-start", children: [
424
- leftElement ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("aside", { className: "flex flex-col items-center justify-center gap-4 mt-auto px-8 border-b-[1px] pb-4 border-base-100 md:border-r-[1px] md:border-b-0 md:pb-0 md:mt-0", children: leftElement }) : /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("aside", { className: "flex flex-col items-center justify-center gap-4 mt-auto px-8 border-b-[1px] pb-4 border-base-100 md:border-r-[1px] md:border-b-0 md:pb-0 md:mt-0", children: [
425
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: logoHeightStyle, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("img", { src: logo || "", alt: "Company Logo", className: "h-[var(--footer-logo-height)]" }) }),
426
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { children: logoText })
348
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-full w-full @container", children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { className: "footer flex w-full flex-col items-center justify-center gap-10 bg-base-200 p-10 text-base-content @xl:flex-row @xl:items-start", children: [
349
+ leftElement ? /* @__PURE__ */ jsxRuntime.jsx("aside", { className: "flex flex-col items-center justify-center gap-4 mt-auto px-8 border-b-[1px] pb-4 border-base-100 md:border-r-[1px] md:border-b-0 md:pb-0 md:mt-0", children: leftElement }) : /* @__PURE__ */ jsxRuntime.jsxs("aside", { className: "flex flex-col items-center justify-center gap-4 mt-auto px-8 border-b-[1px] pb-4 border-base-100 md:border-r-[1px] md:border-b-0 md:pb-0 md:mt-0", children: [
350
+ /* @__PURE__ */ jsxRuntime.jsx("div", { style: logoHeightStyle, children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: logo || "", alt: "Company Logo", className: "h-[var(--footer-logo-height)]" }) }),
351
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: logoText })
427
352
  ] }),
428
353
  links == null ? void 0 : links.map((item, index) => {
429
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("nav", { children: [
430
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("header", { className: "footer-title mx-auto @xl:mx-0", children: item.header }),
354
+ return /* @__PURE__ */ jsxRuntime.jsxs("nav", { children: [
355
+ /* @__PURE__ */ jsxRuntime.jsx("header", { className: "footer-title mx-auto @xl:mx-0", children: item.header }),
431
356
  item.links.map((link, index2) => {
432
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
357
+ return /* @__PURE__ */ jsxRuntime.jsx(
433
358
  "a",
434
359
  {
435
360
  className: "link-hover link mx-auto @xl:mx-0",
@@ -441,26 +366,26 @@ var Footer = function({
441
366
  })
442
367
  ] }, index);
443
368
  }),
444
- socialLinks && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("nav", { children: [
445
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("header", { className: "footer-title mx-auto @xl:mx-0", children: "Social" }),
369
+ socialLinks && /* @__PURE__ */ jsxRuntime.jsxs("nav", { children: [
370
+ /* @__PURE__ */ jsxRuntime.jsx("header", { className: "footer-title mx-auto @xl:mx-0", children: "Social" }),
446
371
  socialLinks == null ? void 0 : socialLinks.map((link, index) => {
447
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
372
+ return /* @__PURE__ */ jsxRuntime.jsx(
448
373
  "a",
449
374
  {
450
375
  href: link.url,
451
376
  className: "link-hover link mx-auto @xl:mx-0",
452
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(link.icon, { className: "text-base-content", size: 30 })
377
+ children: /* @__PURE__ */ jsxRuntime.jsx(link.icon, { className: "text-base-content", size: 30 })
453
378
  },
454
379
  index
455
380
  );
456
381
  })
457
382
  ] }),
458
- openingHours && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex flex-col gap-2 w-fit", children: [
459
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("header", { className: "footer-title mx-auto @xl:mx-0", children: openingHours.header }),
383
+ openingHours && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 w-fit", children: [
384
+ /* @__PURE__ */ jsxRuntime.jsx("header", { className: "footer-title mx-auto @xl:mx-0", children: openingHours.header }),
460
385
  openingHours.hours.map(({ day, openingTime }, index, arr) => {
461
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex items-center w-[200px] justify-between", children: [
462
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { className: "inline-block w-fit", children: day }),
463
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
386
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center w-[200px] justify-between", children: [
387
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "inline-block w-fit", children: day }),
388
+ /* @__PURE__ */ jsxRuntime.jsx(
464
389
  "p",
465
390
  {
466
391
  className: `inline-block w-fit ${openingTime === "Closed" && "font-semibold"}`,
@@ -472,9 +397,6 @@ var Footer = function({
472
397
  ] })
473
398
  ] }) });
474
399
  };
475
-
476
- // src/Hero/Hero.tsx
477
- var import_jsx_runtime9 = require("react/jsx-runtime");
478
400
  var Hero = function({
479
401
  styleType,
480
402
  headline,
@@ -487,35 +409,31 @@ var Hero = function({
487
409
  }) {
488
410
  const backgroundImageStyle = styleType === "Image" && imageSrc ? { backgroundImage: `url(${imageSrc})` } : {};
489
411
  const overlayOpacityStyle = styleType === "Image" ? { opacity: imageOverlayOpacity } : {};
490
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
412
+ return /* @__PURE__ */ jsxRuntime.jsxs(
491
413
  "div",
492
414
  {
493
415
  style: backgroundImageStyle,
494
416
  className: `${classNames2} hero relative w-full overflow-hidden @container`,
495
417
  "aria-label": styleType === "Image" ? imageAlt : void 0,
496
418
  children: [
497
- styleType === "Image" && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { style: overlayOpacityStyle, className: "hero-overlay absolute left-0 top-0 z-0 h-[100%] w-[100%] bg-base-100" }),
498
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "hero-content flex h-auto pt-48 max-w-3xl flex-col gap-4 text-center md:gap-6", children: [
499
- headline && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("h1", { className: "text-4xl font-bold md:text-5xl lg:text-6xl xl:text-7xl", children: headline }),
500
- subheadline && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("p", { className: "mb-8 mt-6 text-base sm:text-lg", children: subheadline }),
419
+ styleType === "Image" && /* @__PURE__ */ jsxRuntime.jsx("div", { style: overlayOpacityStyle, className: "hero-overlay absolute left-0 top-0 z-0 h-[100%] w-[100%] bg-base-100" }),
420
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "hero-content flex h-auto pt-48 max-w-3xl flex-col gap-4 text-center md:gap-6", children: [
421
+ headline && /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-4xl font-bold md:text-5xl lg:text-6xl xl:text-7xl", children: headline }),
422
+ subheadline && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-8 mt-6 text-base sm:text-lg", children: subheadline }),
501
423
  children
502
424
  ] })
503
425
  ]
504
426
  }
505
427
  );
506
428
  };
507
-
508
- // src/Masonry/Masonry.tsx
509
- var import_react6 = __toESM(require("react"));
510
- var import_jsx_runtime10 = require("react/jsx-runtime");
511
429
  var Masonry = ({
512
430
  children,
513
431
  classNames: classNames2 = "mx-auto w-full columns-1 space-y-4 p-4 @2xl:columns-2 @3xl:columns-3 @4xl:w-[90%] @5xl:w-[85%]",
514
432
  itemMaxWidth = "max-w-[425px]"
515
433
  }) => {
516
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "h-full w-full @container", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: `${classNames2}`, children: import_react6.default.Children.map(
434
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-full w-full @container", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${classNames2}`, children: React3__default.default.Children.map(
517
435
  children,
518
- (child, index) => import_react6.default.isValidElement(child) ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
436
+ (child, index) => React3__default.default.isValidElement(child) ? /* @__PURE__ */ jsxRuntime.jsx(
519
437
  "div",
520
438
  {
521
439
  className: `${child.props.className} mx-auto ${itemMaxWidth}`,
@@ -525,9 +443,6 @@ var Masonry = ({
525
443
  ) : null
526
444
  ) }) });
527
445
  };
528
-
529
- // src/Navbar/Navbar.tsx
530
- var import_jsx_runtime11 = require("react/jsx-runtime");
531
446
  var Navbar = function({
532
447
  logo,
533
448
  links,
@@ -539,7 +454,7 @@ var Navbar = function({
539
454
  }) {
540
455
  const renderMenuItem = () => {
541
456
  return links.map((link, idx) => {
542
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("a", { href: link.link, className: "btn btn-sm btn-ghost", children: link.text }, idx);
457
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href: link.link, className: "btn btn-sm btn-ghost", children: link.text }, idx);
543
458
  });
544
459
  };
545
460
  const roundedClassNames = type === "rounded" ? "navbar mx-auto flex max-w-[95%] items-center justify-between rounded-full bg-base-200 px-4 py-2 shadow-sm @xl:max-w-[90%] @2xl:max-w-[85%] @3xl:max-w-[80%] @4xl:max-w-[75%]" : null;
@@ -548,20 +463,16 @@ var Navbar = function({
548
463
  const containerClasses = roundedClassNames || fullClassNames || defaultClassNames;
549
464
  const logoHeight = maxLogoHeight ? maxLogoHeight : "50px";
550
465
  const logoHeightStyle = { "--logo-height": logoHeight };
551
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "w-full @container", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: `${containerClasses} ${classNames2}`, children: [
552
- !!children ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "flex flex-row justify-between items-center", children }) : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "h-[var(--logo-height)]", style: logoHeightStyle, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("img", { className: "h-[var(--logo-height)]", src: logo || "", alt: "logo" }) }),
553
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("ul", { className: "menu menu-horizontal hidden items-center gap-2 px-1 @2xl:flex flex-nowrap", children: renderMenuItem() }),
554
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("ul", { className: "menu menu-horizontal items-center gap-2 px-1 @2xl:hidden", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("li", { className: "flex", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("details", { className: "items-start", children: [
555
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("summary", { children: "Navigate" }),
556
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "flex flex-col gap-2 absolute bg-base-300 rounded-box mt-2 p-4", children: renderMenuItem() })
466
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full @container", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${containerClasses} ${classNames2}`, children: [
467
+ !!children ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-row justify-between items-center", children }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-[var(--logo-height)]", style: logoHeightStyle, children: /* @__PURE__ */ jsxRuntime.jsx("img", { className: "h-[var(--logo-height)]", src: logo || "", alt: "logo" }) }),
468
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "menu menu-horizontal hidden items-center gap-2 px-1 @2xl:flex flex-nowrap", children: renderMenuItem() }),
469
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "menu menu-horizontal items-center gap-2 px-1 @2xl:hidden", children: /* @__PURE__ */ jsxRuntime.jsx("li", { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs("details", { className: "items-start", children: [
470
+ /* @__PURE__ */ jsxRuntime.jsx("summary", { children: "Navigate" }),
471
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-2 absolute bg-base-300 rounded-box mt-2 p-4", children: renderMenuItem() })
557
472
  ] }) }) }),
558
473
  ctaElement && ctaElement
559
474
  ] }) });
560
475
  };
561
-
562
- // src/Offer/Offer.tsx
563
- var import_react7 = require("react");
564
- var import_jsx_runtime12 = require("react/jsx-runtime");
565
476
  var Offer = ({
566
477
  offer,
567
478
  offerDateEnd,
@@ -571,13 +482,13 @@ var Offer = ({
571
482
  fontSize = "text-3xl",
572
483
  classNames: classNames2 = "p-4 bg-accent text-white"
573
484
  }) => {
574
- const [timeRemaining, setTimeRemaining] = (0, import_react7.useState)({
485
+ const [timeRemaining, setTimeRemaining] = React3.useState({
575
486
  days: 0,
576
487
  hours: 0,
577
488
  minutes: 0,
578
489
  seconds: 0
579
490
  });
580
- (0, import_react7.useEffect)(() => {
491
+ React3.useEffect(() => {
581
492
  const intervalId = setInterval(() => updateCountdown(offerDateEnd), 1e3);
582
493
  return () => clearInterval(intervalId);
583
494
  }, [offerDateEnd]);
@@ -594,39 +505,32 @@ var Offer = ({
594
505
  const days = Math.floor(difference / (1e3 * 60 * 60 * 24));
595
506
  setTimeRemaining({ days, hours, minutes, seconds });
596
507
  }
597
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: `w-full flex items-center justify-between ${classNames2}`, children: [
598
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "flex flex-col flex-1 justify-center items-start", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("p", { className: "offer_text", children: offer }) }),
599
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex gap-4 items-center justify-center", children: [
600
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "invisible w-0 grid grid-flow-col gap-5 text-center auto-cols-max md:visible md:w-auto", children: [
601
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex flex-col", children: [
602
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: `countdown font-mono text-5xl ${fontSize}`, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { style: { "--value": timeRemaining.days } }) }),
508
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `w-full flex items-center justify-between ${classNames2}`, children: [
509
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col flex-1 justify-center items-start", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "offer_text", children: offer }) }),
510
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-4 items-center justify-center", children: [
511
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "invisible w-0 grid grid-flow-col gap-5 text-center auto-cols-max md:visible md:w-auto", children: [
512
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
513
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: `countdown font-mono text-5xl ${fontSize}`, children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: { "--value": timeRemaining.days } }) }),
603
514
  "days"
604
515
  ] }),
605
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex flex-col", children: [
606
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: `countdown font-mono text-5xl ${fontSize}`, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { style: { "--value": timeRemaining.hours } }) }),
516
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
517
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: `countdown font-mono text-5xl ${fontSize}`, children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: { "--value": timeRemaining.hours } }) }),
607
518
  "hours"
608
519
  ] }),
609
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex flex-col", children: [
610
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: `countdown font-mono text-5xl ${fontSize}`, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { style: { "--value": timeRemaining.minutes } }) }),
520
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
521
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: `countdown font-mono text-5xl ${fontSize}`, children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: { "--value": timeRemaining.minutes } }) }),
611
522
  "min"
612
523
  ] }),
613
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex flex-col", children: [
614
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: `countdown font-mono text-5xl ${fontSize}`, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { style: { "--value": timeRemaining.seconds } }) }),
524
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
525
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: `countdown font-mono text-5xl ${fontSize}`, children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: { "--value": timeRemaining.seconds } }) }),
615
526
  "sec"
616
527
  ] })
617
528
  ] }),
618
- ctaText && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("button", { onClick: ctaFunctionality, className: btnClassnames, children: ctaText })
529
+ ctaText && /* @__PURE__ */ jsxRuntime.jsx("button", { onClick: ctaFunctionality, className: btnClassnames, children: ctaText })
619
530
  ] })
620
531
  ] });
621
532
  };
622
-
623
- // src/PrettyCard/PrettyCard.tsx
624
- var import_react8 = __toESM(require("react"));
625
- var import_react9 = require("@gsap/react");
626
- var import_gsap2 = require("gsap");
627
- var import_ScrollTrigger2 = require("gsap/ScrollTrigger");
628
- var import_jsx_runtime13 = require("react/jsx-runtime");
629
- import_gsap2.gsap.registerPlugin(import_ScrollTrigger2.ScrollTrigger);
533
+ gsap3.gsap.registerPlugin(ScrollTrigger$1.ScrollTrigger);
630
534
  var PrettyCard = ({
631
535
  buttonText,
632
536
  altButtonJsx,
@@ -637,13 +541,13 @@ var PrettyCard = ({
637
541
  showAnimationOnce = false,
638
542
  className = "relative bg-base-300/40 z-10 box-border shadow-lg flex flex-col items-center justify-end md:h-[38.75rem] mb-5 p-12 rounded-box overflow-hidden lg:h-[38.75rem] lg:p-20 xl:h-[45.75rem]"
639
543
  }) => {
640
- (0, import_react9.useGSAP)(() => {
544
+ react.useGSAP(() => {
641
545
  let btnId = "#cta-button";
642
- if (import_react8.default.isValidElement(altButtonJsx)) {
546
+ if (React3__default.default.isValidElement(altButtonJsx)) {
643
547
  const { id } = altButtonJsx.props;
644
548
  btnId = "#" + id;
645
549
  }
646
- const tl = import_gsap2.gsap.timeline();
550
+ const tl = gsap3.gsap.timeline();
647
551
  tl.fromTo(
648
552
  "#gradient-element",
649
553
  {
@@ -722,13 +626,13 @@ var PrettyCard = ({
722
626
  );
723
627
  }, []);
724
628
  const gradient = gradientColors ? `bg-gradient-to-br ${gradientColors.start} ${gradientColors.end}` : "bg-gradient-to-br from-accent to-primary";
725
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
629
+ return /* @__PURE__ */ jsxRuntime.jsxs(
726
630
  "div",
727
631
  {
728
632
  id: "parent-element",
729
633
  className: `${className}`,
730
634
  children: [
731
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "absolute top-0 right-0 flex justify-center md:justify-start lg:left-0 lg:top-0 w-full h-full pointer-events-none xl:w-auto", children: cardImage && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
635
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-0 right-0 flex justify-center md:justify-start lg:left-0 lg:top-0 w-full h-full pointer-events-none xl:w-auto", children: cardImage && /* @__PURE__ */ jsxRuntime.jsx(
732
636
  "img",
733
637
  {
734
638
  id: "image-element",
@@ -739,15 +643,15 @@ var PrettyCard = ({
739
643
  src: cardImage
740
644
  }
741
645
  ) }),
742
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { id: "card-element", className: `relative z-10 lg:ml-auto`, children: [
646
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { id: "card-element", className: `relative z-10 lg:ml-auto`, children: [
743
647
  content,
744
648
  children
745
649
  ] }),
746
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "flex w-full justify-center absolute px-4 bottom-4 lg:justify-start", children: [
650
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full justify-center absolute px-4 bottom-4 lg:justify-start", children: [
747
651
  altButtonJsx && altButtonJsx,
748
- !altButtonJsx && buttonText && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("button", { id: "cta-button", className: "btn btn-primary z-10 shadow-md", children: buttonText })
652
+ !altButtonJsx && buttonText && /* @__PURE__ */ jsxRuntime.jsx("button", { id: "cta-button", className: "btn btn-primary z-10 shadow-md", children: buttonText })
749
653
  ] }),
750
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
654
+ /* @__PURE__ */ jsxRuntime.jsx(
751
655
  "div",
752
656
  {
753
657
  id: "gradient-element",
@@ -759,23 +663,19 @@ var PrettyCard = ({
759
663
  }
760
664
  );
761
665
  };
762
-
763
- // src/Ratings/Ratings.tsx
764
- var import_fa6 = require("react-icons/fa6");
765
- var import_jsx_runtime14 = require("react/jsx-runtime");
766
666
  var Ratings = function({ imagesSrc, rating, trusted, column }) {
767
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "flex items-center justify-center py-4 @container", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
667
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center py-4 @container", children: /* @__PURE__ */ jsxRuntime.jsxs(
768
668
  "div",
769
669
  {
770
670
  className: `mx-auto flex items-center justify-center ${column && "flex-col"} gap-2`,
771
671
  children: [
772
- imagesSrc && imagesSrc.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "@apply relative h-[45px] w-[165px]", children: imagesSrc == null ? void 0 : imagesSrc.map((src, idx) => {
773
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
672
+ imagesSrc && imagesSrc.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "@apply relative h-[45px] w-[165px]", children: imagesSrc == null ? void 0 : imagesSrc.map((src, idx) => {
673
+ return /* @__PURE__ */ jsxRuntime.jsx(
774
674
  "div",
775
675
  {
776
676
  style: { left: `${idx * 30}px` },
777
677
  className: "@apply absolute flex h-[40px] w-[40px] items-center justify-center rounded-full bg-base-100",
778
- children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
678
+ children: /* @__PURE__ */ jsxRuntime.jsx(
779
679
  "img",
780
680
  {
781
681
  src,
@@ -789,22 +689,22 @@ var Ratings = function({ imagesSrc, rating, trusted, column }) {
789
689
  idx
790
690
  );
791
691
  }) }),
792
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
692
+ /* @__PURE__ */ jsxRuntime.jsxs(
793
693
  "div",
794
694
  {
795
695
  className: `flex flex-col gap-2 ${column && "items-center"}`,
796
696
  children: [
797
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("p", { className: "@apply text-left text-xs", children: [
697
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "@apply text-left text-xs", children: [
798
698
  "Trusted by ",
799
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("strong", { children: [
699
+ /* @__PURE__ */ jsxRuntime.jsxs("strong", { children: [
800
700
  trusted || 100,
801
701
  "+"
802
702
  ] }),
803
703
  " people"
804
704
  ] }),
805
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "@apply flex w-full items-center justify-center", children: [...Array(5)].map((_, idx) => {
806
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
807
- import_fa6.FaStar,
705
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "@apply flex w-full items-center justify-center", children: [...Array(5)].map((_, idx) => {
706
+ return /* @__PURE__ */ jsxRuntime.jsx(
707
+ fa6.FaStar,
808
708
  {
809
709
  size: 22.5,
810
710
  className: `
@@ -820,16 +720,10 @@ var Ratings = function({ imagesSrc, rating, trusted, column }) {
820
720
  }
821
721
  ) });
822
722
  };
823
-
824
- // src/SectionContainer/SectionContainer.tsx
825
- var import_jsx_runtime15 = require("react/jsx-runtime");
826
723
  var SectionContainer = ({ children, classNames: classNames2, padded = true, id }) => {
827
724
  const paddingClasses = padded ? "px-4 py-12 sm:px-8 sm:py-20 md:px-16 md:py-30 lg:px-30 lg:py-32" : "";
828
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: `${paddingClasses} ${classNames2}`, id: id || "", children });
725
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${paddingClasses} ${classNames2}`, id: id || "", children });
829
726
  };
830
-
831
- // src/SectionHeader/SectionHeader.tsx
832
- var import_jsx_runtime16 = require("react/jsx-runtime");
833
727
  var SectionHeader = function({
834
728
  headline,
835
729
  subheadline,
@@ -845,50 +739,44 @@ var SectionHeader = function({
845
739
  const HeadlineTag = headlineTag;
846
740
  const alignmentClass = `${breakpoint}:text-${mobileAlignment} text-${desktopAlignment}`;
847
741
  const twoColumnClasses = `flex flex-col ${breakpoint}:flex-row gap-${gap} w-full justify-between items-center`;
848
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
742
+ return /* @__PURE__ */ jsxRuntime.jsx(
849
743
  "div",
850
744
  {
851
745
  className: `w-full ${classNames2 || ""} mb-${Number(gap) * 2}`,
852
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
746
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
853
747
  "div",
854
748
  {
855
749
  className: `${isTwoColumnLayout ? twoColumnClasses : ""}`,
856
750
  "data-breakpoint": breakpoint,
857
751
  children: [
858
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("article", { className: `prose ${alignmentClass} gap-${gap} flex flex-col`, children: [
859
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(HeadlineTag, { className: "text-4xl font-bold", children: headline }),
860
- subheadline && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("h5", { className: "text-2xl font-semibold", children: subheadline })
752
+ /* @__PURE__ */ jsxRuntime.jsxs("article", { className: `prose ${alignmentClass} gap-${gap} flex flex-col`, children: [
753
+ /* @__PURE__ */ jsxRuntime.jsx(HeadlineTag, { className: "text-4xl font-bold", children: headline }),
754
+ subheadline && /* @__PURE__ */ jsxRuntime.jsx("h5", { className: "text-2xl font-semibold", children: subheadline })
861
755
  ] }),
862
- isTwoColumnLayout && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { children })
756
+ isTwoColumnLayout && /* @__PURE__ */ jsxRuntime.jsx("div", { children })
863
757
  ]
864
758
  }
865
759
  )
866
760
  }
867
761
  );
868
762
  };
869
-
870
- // src/SellingProposition/SellingProposition.tsx
871
- var import_jsx_runtime17 = require("react/jsx-runtime");
872
763
  var SellingProposition = function({
873
764
  sellingItems,
874
765
  containerClassNames
875
766
  }) {
876
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "w-[100%] @container", children: sellingItems == null ? void 0 : sellingItems.map((item, index) => {
767
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-[100%] @container", children: sellingItems == null ? void 0 : sellingItems.map((item, index) => {
877
768
  if (typeof item.a === "string") {
878
- item.a = /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { dangerouslySetInnerHTML: { __html: item.a } });
769
+ item.a = /* @__PURE__ */ jsxRuntime.jsx("div", { dangerouslySetInnerHTML: { __html: item.a } });
879
770
  }
880
771
  if (typeof item.b === "string") {
881
- item.b = /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { dangerouslySetInnerHTML: { __html: item.b } });
772
+ item.b = /* @__PURE__ */ jsxRuntime.jsx("div", { dangerouslySetInnerHTML: { __html: item.b } });
882
773
  }
883
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: `mx-auto mb-8 flex w-[100%] flex-col items-center gap-2 rounded-box py-4 @xs:w-[90%] @sm:w-[85%] @md:max-w-[500px] @3xl:w-[100%] @3xl:max-w-[900px] @3xl:flex-row ${containerClassNames}`, children: [
884
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "card grid w-full max-w-[95%] flex-grow place-items-center rounded-box @3xl:max-w-[50%] @3xl:p-8", children: index % 2 === 0 ? item.a : item.b }),
885
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "card grid w-full max-w-[95%] flex-grow place-items-center rounded-box @3xl:max-w-[50%] @3xl:p-8", children: index % 2 === 0 ? item.b : item.a })
774
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `mx-auto mb-8 flex w-[100%] flex-col items-center gap-2 rounded-box py-4 @xs:w-[90%] @sm:w-[85%] @md:max-w-[500px] @3xl:w-[100%] @3xl:max-w-[900px] @3xl:flex-row ${containerClassNames}`, children: [
775
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "card grid w-full max-w-[95%] flex-grow place-items-center rounded-box @3xl:max-w-[50%] @3xl:p-8", children: index % 2 === 0 ? item.a : item.b }),
776
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "card grid w-full max-w-[95%] flex-grow place-items-center rounded-box @3xl:max-w-[50%] @3xl:p-8", children: index % 2 === 0 ? item.b : item.a })
886
777
  ] }, index);
887
778
  }) });
888
779
  };
889
-
890
- // src/SellingPropContainer/SellingPropContainer.tsx
891
- var import_jsx_runtime18 = require("react/jsx-runtime");
892
780
  var SellingPropContainer = function({
893
781
  smallHeader,
894
782
  mainHeader,
@@ -896,24 +784,17 @@ var SellingPropContainer = function({
896
784
  ctaText,
897
785
  ctaFunctionality
898
786
  }) {
899
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "w-full @container", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "flex w-full flex-col items-center justify-between gap-4 p-4", children: [
900
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: "text-center text-sm font-semibold uppercase text-secondary", children: smallHeader }),
901
- /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("h3", { className: "text-center text-2xl font-bold", children: [
787
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full @container", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-col items-center justify-between gap-4 p-4", children: [
788
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-center text-sm font-semibold uppercase text-secondary", children: smallHeader }),
789
+ /* @__PURE__ */ jsxRuntime.jsxs("h3", { className: "text-center text-2xl font-bold", children: [
902
790
  mainHeader,
903
791
  mainHeader
904
792
  ] }),
905
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: "text-center", children: text }),
906
- ctaText && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("button", { className: "btn btn-outline", onClick: ctaFunctionality, children: ctaText })
793
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-center", children: text }),
794
+ ctaText && /* @__PURE__ */ jsxRuntime.jsx("button", { className: "btn btn-outline", onClick: ctaFunctionality, children: ctaText })
907
795
  ] }) });
908
796
  };
909
-
910
- // src/StackedScroller/StackedScroller.tsx
911
- var import_gsap3 = __toESM(require("gsap"));
912
- var import_react10 = require("@gsap/react");
913
- var import_ScrollTrigger3 = require("gsap/ScrollTrigger");
914
- var import_react11 = require("react");
915
- var import_jsx_runtime19 = require("react/jsx-runtime");
916
- import_gsap3.default.registerPlugin(import_ScrollTrigger3.ScrollTrigger);
797
+ gsap3__default.default.registerPlugin(ScrollTrigger$1.ScrollTrigger);
917
798
  var StackedScroller = function({
918
799
  services,
919
800
  defaultHeading,
@@ -922,14 +803,14 @@ var StackedScroller = function({
922
803
  activeContainerClassNames,
923
804
  defaultContainerClassNames
924
805
  }) {
925
- const [firstRound, setFirstRound] = (0, import_react11.useState)(true);
806
+ const [firstRound, setFirstRound] = React3.useState(true);
926
807
  const newServices = services.map((item, index) => {
927
808
  return __spreadProps(__spreadValues({}, item), {
928
809
  id: "item-" + (index + 1),
929
810
  active: false
930
811
  });
931
812
  });
932
- const [activeElements, setActiveElements] = (0, import_react11.useState)(newServices);
813
+ const [activeElements, setActiveElements] = React3.useState(newServices);
933
814
  const updateActiveElements = (id) => {
934
815
  const newOne = newServices.map((item, index) => {
935
816
  if (id === `item-${index + 1}`)
@@ -942,9 +823,9 @@ var StackedScroller = function({
942
823
  const newActiveElements = updateActiveElements(id);
943
824
  setActiveElements(newActiveElements);
944
825
  };
945
- (0, import_react10.useGSAP)(() => {
826
+ react.useGSAP(() => {
946
827
  newServices.forEach(({ id }, index) => {
947
- import_gsap3.default.fromTo(
828
+ gsap3__default.default.fromTo(
948
829
  `#${id}`,
949
830
  {
950
831
  opacity: firstRound ? 0 : 1,
@@ -979,26 +860,26 @@ var StackedScroller = function({
979
860
  );
980
861
  });
981
862
  }, [firstRound]);
982
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
863
+ return /* @__PURE__ */ jsxRuntime.jsx(
983
864
  "div",
984
865
  {
985
866
  id: "stacked-scroller",
986
867
  className: "w-full py-6 flex flex-col items-center gap-20",
987
868
  children: newServices.map(({ text, title, id }, index) => {
988
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
869
+ return /* @__PURE__ */ jsxRuntime.jsxs(
989
870
  "div",
990
871
  {
991
872
  id,
992
873
  className: `${activeElements[index].active && activeContainerClassNames} ${defaultContainerClassNames} max-w-[90vw] sm:max-w-[80vw] md:max-w-[75vw] duration-200 lg:max-w-[65vw] flex p-4 flex-col gap-2 items-center`,
993
874
  children: [
994
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
875
+ /* @__PURE__ */ jsxRuntime.jsx(
995
876
  "h4",
996
877
  {
997
878
  className: `${activeElements[index].active ? activeHeaderClassNames : defaultHeading} `,
998
879
  children: title
999
880
  }
1000
881
  ),
1001
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: activeTextClassNames, children: text })
882
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: activeTextClassNames, children: text })
1002
883
  ]
1003
884
  },
1004
885
  index
@@ -1007,45 +888,37 @@ var StackedScroller = function({
1007
888
  }
1008
889
  );
1009
890
  };
1010
-
1011
- // src/TestimonialCard/TestimonialCard.tsx
1012
- var import_fa62 = require("react-icons/fa6");
1013
- var import_jsx_runtime20 = require("react/jsx-runtime");
1014
891
  var TestimonialCard = function({
1015
892
  testimonialContent,
1016
893
  carousel,
1017
894
  classNames: classNames2 = ""
1018
895
  }) {
1019
896
  const { text, author, photoUrl, link, companyOrPosition } = testimonialContent;
1020
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
897
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1021
898
  "div",
1022
899
  {
1023
900
  className: `${classNames2} ${carousel ? "gap-4" : "m-0"} relative flex w-auto break-inside-avoid flex-col items-center justify-center gap-4 rounded-box p-2 px-1 py-4 @container @md:p-4`,
1024
901
  children: [
1025
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex w-full items-center justify-center text-4xl opacity-30 @sm:justify-end @sm:text-2xl @lg:text-4xl", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_fa62.FaQuoteLeft, {}) }),
1026
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "flex w-full items-center justify-center p-0 text-center leading-[22px] @sm:justify-start @sm:px-6 @sm:py-2 @sm:text-left", children: text }),
1027
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "my-2 h-[0.5px] w-full border-t border-base-content opacity-10" }),
1028
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex w-full flex-col items-center gap-2 px-6 py-2 opacity-70 @sm:flex-row @sm:items-start @sm:gap-4", children: [
1029
- photoUrl ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("img", { src: photoUrl, alt: "user profile image", className: "rounded-full max-w-[50px]" }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_fa62.FaRegUser, { className: "my-auto h-auto text-inherit" }),
1030
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "", children: [
1031
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("a", { href: link || "", className: "w-full text-center text-sm @sm:text-left", children: author }),
1032
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "w-full text-center text-sm @sm:text-left", children: companyOrPosition })
902
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-full items-center justify-center text-4xl opacity-30 @sm:justify-end @sm:text-2xl @lg:text-4xl", children: /* @__PURE__ */ jsxRuntime.jsx(fa6.FaQuoteLeft, {}) }),
903
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "flex w-full items-center justify-center p-0 text-center leading-[22px] @sm:justify-start @sm:px-6 @sm:py-2 @sm:text-left", children: text }),
904
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "my-2 h-[0.5px] w-full border-t border-base-content opacity-10" }),
905
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-col items-center gap-2 px-6 py-2 opacity-70 @sm:flex-row @sm:items-start @sm:gap-4", children: [
906
+ photoUrl ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: photoUrl, alt: "user profile image", className: "rounded-full max-w-[50px]" }) : /* @__PURE__ */ jsxRuntime.jsx(fa6.FaRegUser, { className: "my-auto h-auto text-inherit" }),
907
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "", children: [
908
+ /* @__PURE__ */ jsxRuntime.jsx("a", { href: link || "", className: "w-full text-center text-sm @sm:text-left", children: author }),
909
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "w-full text-center text-sm @sm:text-left", children: companyOrPosition })
1033
910
  ] })
1034
911
  ] })
1035
912
  ]
1036
913
  }
1037
914
  );
1038
915
  };
1039
-
1040
- // src/TestimonialDisplay/TestimonialDisplay.tsx
1041
- var import_react_fast_marquee = __toESM(require("react-fast-marquee"));
1042
- var import_jsx_runtime21 = require("react/jsx-runtime");
1043
916
  var TestimonialDisplay = function({
1044
917
  style,
1045
918
  children
1046
919
  }) {
1047
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "@container w-full", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "box-border flex items-center justify-center @container/inner", children: style === "carousel" ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1048
- import_react_fast_marquee.default,
920
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "@container w-full", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "box-border flex items-center justify-center @container/inner", children: style === "carousel" ? /* @__PURE__ */ jsxRuntime.jsx(
921
+ Marquee__default.default,
1049
922
  {
1050
923
  play: true,
1051
924
  className: "max-w-[90vw]",
@@ -1057,40 +930,35 @@ var TestimonialDisplay = function({
1057
930
  pauseOnClick: true,
1058
931
  children
1059
932
  }
1060
- ) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "grid w-full columns-1 gap-4 p-4 grid-cols-1 md:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4", children }) }) });
933
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid w-full columns-1 gap-4 p-4 grid-cols-1 md:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4", children }) }) });
1061
934
  };
1062
-
1063
- // src/button.tsx
1064
- var import_jsx_runtime22 = require("react/jsx-runtime");
1065
935
  function Button(_a) {
1066
936
  var _b = _a, { children } = _b, other = __objRest(_b, ["children"]);
1067
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("button", __spreadProps(__spreadValues({ type: "button" }, other), { children }));
937
+ return /* @__PURE__ */ jsxRuntime.jsx("button", __spreadProps(__spreadValues({ type: "button" }, other), { children }));
1068
938
  }
1069
939
  Button.displayName = "Button";
1070
- // Annotate the CommonJS export names for ESM import in node:
1071
- 0 && (module.exports = {
1072
- AccordionContainer,
1073
- AccordionItem,
1074
- AnimateBorder,
1075
- AnimatedHeader,
1076
- AnimationObserver,
1077
- BentoBox,
1078
- BookNow,
1079
- Button,
1080
- CTA,
1081
- CookieConsentForm,
1082
- Footer,
1083
- Hero,
1084
- Masonry,
1085
- Navbar,
1086
- Offer,
1087
- PrettyCard,
1088
- Ratings,
1089
- SectionContainer,
1090
- SectionHeader,
1091
- SellingPropContainer,
1092
- SellingProposition,
1093
- StackedScroller,
1094
- TestimonialCard,
1095
- TestimonialDisplay
1096
- });
940
+
941
+ exports.AccordionContainer = AccordionContainer;
942
+ exports.AccordionItem = AccordionItem;
943
+ exports.AnimateBorder = AnimateBorder;
944
+ exports.AnimatedHeader = AnimatedHeader;
945
+ exports.AnimationObserver = AnimationObserver;
946
+ exports.BentoBox = BentoBox;
947
+ exports.BookNow = BookNow;
948
+ exports.Button = Button;
949
+ exports.CTA = CTA;
950
+ exports.CookieConsentForm = CookieConsentForm;
951
+ exports.Footer = Footer;
952
+ exports.Hero = Hero;
953
+ exports.Masonry = Masonry;
954
+ exports.Navbar = Navbar;
955
+ exports.Offer = Offer;
956
+ exports.PrettyCard = PrettyCard;
957
+ exports.Ratings = Ratings;
958
+ exports.SectionContainer = SectionContainer;
959
+ exports.SectionHeader = SectionHeader;
960
+ exports.SellingPropContainer = SellingPropContainer;
961
+ exports.SellingProposition = SellingProposition;
962
+ exports.StackedScroller = StackedScroller;
963
+ exports.TestimonialCard = TestimonialCard;
964
+ exports.TestimonialDisplay = TestimonialDisplay;