@opensite/ui 2.8.5 → 2.8.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/about-developer-profile.cjs +17 -10
- package/dist/about-developer-profile.js +17 -10
- package/dist/article-chapters-author.cjs +17 -10
- package/dist/article-chapters-author.js +17 -10
- package/dist/carousel-animated-sections.cjs +79 -25
- package/dist/carousel-animated-sections.d.cts +7 -2
- package/dist/carousel-animated-sections.d.ts +7 -2
- package/dist/carousel-animated-sections.js +79 -25
- package/dist/carousel-gallery-thumbnails.cjs +79 -25
- package/dist/carousel-gallery-thumbnails.d.cts +7 -2
- package/dist/carousel-gallery-thumbnails.d.ts +7 -2
- package/dist/carousel-gallery-thumbnails.js +79 -25
- package/dist/carousel-portfolio-hero.cjs +79 -25
- package/dist/carousel-portfolio-hero.d.cts +7 -2
- package/dist/carousel-portfolio-hero.d.ts +7 -2
- package/dist/carousel-portfolio-hero.js +79 -25
- package/dist/components.cjs +35 -10
- package/dist/components.d.cts +29 -2
- package/dist/components.d.ts +29 -2
- package/dist/components.js +35 -11
- package/dist/footer-accordion-social.cjs +17 -10
- package/dist/footer-accordion-social.js +17 -10
- package/dist/footer-animated-social.cjs +17 -10
- package/dist/footer-animated-social.js +17 -10
- package/dist/footer-brand-description.cjs +17 -10
- package/dist/footer-brand-description.js +17 -10
- package/dist/footer-brand-links-contact.cjs +17 -10
- package/dist/footer-brand-links-contact.js +17 -10
- package/dist/footer-comprehensive-links.cjs +17 -10
- package/dist/footer-comprehensive-links.js +17 -10
- package/dist/footer-contact-card.cjs +17 -10
- package/dist/footer-contact-card.js +17 -10
- package/dist/footer-cta-banner.cjs +17 -10
- package/dist/footer-cta-banner.js +17 -10
- package/dist/footer-cta-social.cjs +17 -10
- package/dist/footer-cta-social.js +17 -10
- package/dist/footer-info-cards-accordion.cjs +17 -10
- package/dist/footer-info-cards-accordion.js +17 -10
- package/dist/footer-nav-social.cjs +17 -10
- package/dist/footer-nav-social.js +17 -10
- package/dist/footer-newsletter-contact.cjs +17 -10
- package/dist/footer-newsletter-contact.js +17 -10
- package/dist/footer-newsletter-grid.cjs +17 -10
- package/dist/footer-newsletter-grid.js +17 -10
- package/dist/footer-newsletter-minimal.cjs +17 -10
- package/dist/footer-newsletter-minimal.js +17 -10
- package/dist/footer-social-apps.cjs +17 -10
- package/dist/footer-social-apps.js +17 -10
- package/dist/footer-social-newsletter.cjs +17 -10
- package/dist/footer-social-newsletter.js +17 -10
- package/dist/footer-split-image-accordion.cjs +17 -10
- package/dist/footer-split-image-accordion.js +17 -10
- package/dist/hero-badge-shadow-overlay.cjs +1 -1
- package/dist/hero-badge-shadow-overlay.js +1 -1
- package/dist/hero-coming-soon-countdown.cjs +17 -10
- package/dist/hero-coming-soon-countdown.js +17 -10
- package/dist/hero-video-background-dark.cjs +78 -16
- package/dist/hero-video-background-dark.d.cts +7 -2
- package/dist/hero-video-background-dark.d.ts +7 -2
- package/dist/hero-video-background-dark.js +78 -16
- package/dist/index.cjs +35 -10
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +35 -11
- package/dist/link-page-bento-layout.cjs +17 -10
- package/dist/link-page-bento-layout.js +17 -10
- package/dist/link-page-grid-cards.cjs +17 -10
- package/dist/link-page-grid-cards.js +17 -10
- package/dist/link-page-minimal-profile.cjs +17 -10
- package/dist/link-page-minimal-profile.js +17 -10
- package/dist/link-page-newsletter-social.cjs +17 -10
- package/dist/link-page-newsletter-social.js +17 -10
- package/dist/link-tree-block.cjs +17 -10
- package/dist/link-tree-block.js +17 -10
- package/dist/navbar-fullscreen-menu.cjs +17 -10
- package/dist/navbar-fullscreen-menu.js +17 -10
- package/dist/navbar-transparent-overlay.cjs +17 -10
- package/dist/navbar-transparent-overlay.js +17 -10
- package/dist/registry.cjs +1398 -851
- package/dist/registry.js +1398 -851
- package/dist/social-link-icon.cjs +17 -10
- package/dist/social-link-icon.d.cts +5 -0
- package/dist/social-link-icon.d.ts +5 -0
- package/dist/social-link-icon.js +17 -10
- package/dist/testimonials-animated-split.cjs +5 -5
- package/dist/testimonials-animated-split.js +5 -5
- package/dist/testimonials-bento-grid.cjs +48 -56
- package/dist/testimonials-bento-grid.js +48 -56
- package/dist/testimonials-carousel-image.cjs +608 -96
- package/dist/testimonials-carousel-image.d.cts +26 -2
- package/dist/testimonials-carousel-image.d.ts +26 -2
- package/dist/testimonials-carousel-image.js +609 -97
- package/dist/testimonials-centered-avatars.cjs +89 -62
- package/dist/testimonials-centered-avatars.d.cts +5 -1
- package/dist/testimonials-centered-avatars.d.ts +5 -1
- package/dist/testimonials-centered-avatars.js +89 -62
- package/dist/testimonials-company-logo.cjs +6 -6
- package/dist/testimonials-company-logo.js +6 -6
- package/dist/testimonials-grid-add-review.cjs +51 -29
- package/dist/testimonials-grid-add-review.js +51 -29
- package/dist/testimonials-images-helpful.cjs +181 -160
- package/dist/testimonials-images-helpful.d.cts +9 -1
- package/dist/testimonials-images-helpful.d.ts +9 -1
- package/dist/testimonials-images-helpful.js +181 -159
- package/dist/testimonials-list-verified.cjs +63 -44
- package/dist/testimonials-list-verified.d.cts +5 -1
- package/dist/testimonials-list-verified.d.ts +5 -1
- package/dist/testimonials-list-verified.js +64 -45
- package/dist/testimonials-logo-cards.cjs +53 -29
- package/dist/testimonials-logo-cards.d.cts +5 -1
- package/dist/testimonials-logo-cards.d.ts +5 -1
- package/dist/testimonials-logo-cards.js +53 -29
- package/dist/testimonials-marquee.cjs +524 -102
- package/dist/testimonials-marquee.d.cts +5 -1
- package/dist/testimonials-marquee.d.ts +5 -1
- package/dist/testimonials-marquee.js +525 -100
- package/dist/testimonials-mini-dividers.cjs +120 -83
- package/dist/testimonials-mini-dividers.d.cts +10 -6
- package/dist/testimonials-mini-dividers.d.ts +10 -6
- package/dist/testimonials-mini-dividers.js +120 -83
- package/dist/testimonials-minimal-numbered.cjs +7 -6
- package/dist/testimonials-minimal-numbered.d.cts +5 -1
- package/dist/testimonials-minimal-numbered.d.ts +5 -1
- package/dist/testimonials-minimal-numbered.js +7 -6
- package/dist/testimonials-parallax-number.cjs +14 -8
- package/dist/testimonials-parallax-number.js +14 -8
- package/dist/testimonials-scrolling-columns.cjs +97 -13
- package/dist/testimonials-scrolling-columns.js +97 -13
- package/dist/testimonials-simple-grid.cjs +513 -68
- package/dist/testimonials-simple-grid.d.cts +9 -5
- package/dist/testimonials-simple-grid.d.ts +9 -5
- package/dist/testimonials-simple-grid.js +510 -62
- package/dist/testimonials-slider-minimal.cjs +604 -90
- package/dist/testimonials-slider-minimal.d.cts +17 -1
- package/dist/testimonials-slider-minimal.d.ts +17 -1
- package/dist/testimonials-slider-minimal.js +598 -81
- package/dist/testimonials-split-image.cjs +452 -17
- package/dist/testimonials-split-image.js +448 -13
- package/dist/testimonials-twitter-cards.cjs +26 -14
- package/dist/testimonials-twitter-cards.js +26 -14
- package/package.json +11 -1
package/dist/registry.js
CHANGED
|
@@ -40,16 +40,6 @@ import { TextInput as TextInput$1 } from '@page-speed/forms/inputs';
|
|
|
40
40
|
function cn(...inputs) {
|
|
41
41
|
return twMerge(clsx(inputs));
|
|
42
42
|
}
|
|
43
|
-
var BRIGHTNESS_CLASS_MAP = {
|
|
44
|
-
"10": "brightness-[.1]",
|
|
45
|
-
"20": "brightness-[.2]",
|
|
46
|
-
"25": "brightness-[.25]",
|
|
47
|
-
"30": "brightness-[.3]",
|
|
48
|
-
"40": "brightness-[.4]",
|
|
49
|
-
"50": "brightness-50",
|
|
50
|
-
"75": "brightness-75",
|
|
51
|
-
"100": "brightness-100"
|
|
52
|
-
};
|
|
53
43
|
function getNestedCardBg(parentBg, variant = "muted", options) {
|
|
54
44
|
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
55
45
|
if (isDark) {
|
|
@@ -2030,6 +2020,23 @@ function PopoverContent({
|
|
|
2030
2020
|
}
|
|
2031
2021
|
) });
|
|
2032
2022
|
}
|
|
2023
|
+
function StarRating({
|
|
2024
|
+
rating,
|
|
2025
|
+
size = 18,
|
|
2026
|
+
className
|
|
2027
|
+
}) {
|
|
2028
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center gap-0.5", className), children: [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ jsx(
|
|
2029
|
+
DynamicIcon,
|
|
2030
|
+
{
|
|
2031
|
+
name: "icon-park-solid/star",
|
|
2032
|
+
size,
|
|
2033
|
+
className: cn(
|
|
2034
|
+
star <= rating ? "fill-primary text-primary" : "fill-muted text-muted"
|
|
2035
|
+
)
|
|
2036
|
+
},
|
|
2037
|
+
star
|
|
2038
|
+
)) });
|
|
2039
|
+
}
|
|
2033
2040
|
var BUTTON_SIZES = {
|
|
2034
2041
|
sm: { buttonSize: "size-8", iconSize: 16 },
|
|
2035
2042
|
md: { buttonSize: "size-10", iconSize: 20 },
|
|
@@ -2131,6 +2138,7 @@ var SocialLinkIcon = React8.forwardRef(
|
|
|
2131
2138
|
iconClassName,
|
|
2132
2139
|
className,
|
|
2133
2140
|
iconNameOverride,
|
|
2141
|
+
iconOnly = false,
|
|
2134
2142
|
...pressableProps
|
|
2135
2143
|
}, ref) => {
|
|
2136
2144
|
const platform = usePlatformFromUrl(href);
|
|
@@ -2143,6 +2151,21 @@ var SocialLinkIcon = React8.forwardRef(
|
|
|
2143
2151
|
const accessibleLabel = React8.useMemo(() => {
|
|
2144
2152
|
return label || platformName;
|
|
2145
2153
|
}, [label, platformName]);
|
|
2154
|
+
const icon = React8.useMemo(() => {
|
|
2155
|
+
return /* @__PURE__ */ jsx(
|
|
2156
|
+
DynamicIcon,
|
|
2157
|
+
{
|
|
2158
|
+
name: iconName,
|
|
2159
|
+
size: iconSize,
|
|
2160
|
+
color: iconColor,
|
|
2161
|
+
className: iconClassName,
|
|
2162
|
+
alt: accessibleLabel
|
|
2163
|
+
}
|
|
2164
|
+
);
|
|
2165
|
+
}, [iconName, iconSize, iconColor, iconClassName, accessibleLabel]);
|
|
2166
|
+
if (iconOnly) {
|
|
2167
|
+
return icon;
|
|
2168
|
+
}
|
|
2146
2169
|
return /* @__PURE__ */ jsx(
|
|
2147
2170
|
Pressable,
|
|
2148
2171
|
{
|
|
@@ -2154,16 +2177,7 @@ var SocialLinkIcon = React8.forwardRef(
|
|
|
2154
2177
|
className
|
|
2155
2178
|
),
|
|
2156
2179
|
...pressableProps,
|
|
2157
|
-
children:
|
|
2158
|
-
DynamicIcon,
|
|
2159
|
-
{
|
|
2160
|
-
name: iconName,
|
|
2161
|
-
size: iconSize,
|
|
2162
|
-
color: iconColor,
|
|
2163
|
-
className: iconClassName,
|
|
2164
|
-
alt: accessibleLabel
|
|
2165
|
-
}
|
|
2166
|
-
)
|
|
2180
|
+
children: icon
|
|
2167
2181
|
}
|
|
2168
2182
|
);
|
|
2169
2183
|
}
|
|
@@ -19721,6 +19735,67 @@ function ContactHelpCenter({
|
|
|
19721
19735
|
}
|
|
19722
19736
|
);
|
|
19723
19737
|
}
|
|
19738
|
+
var DIRECTION_STYLES = {
|
|
19739
|
+
"bottom-to-top": "bg-linear-to-t",
|
|
19740
|
+
"top-to-bottom": "bg-linear-to-b",
|
|
19741
|
+
"left-to-right": "bg-linear-to-r",
|
|
19742
|
+
"right-to-left": "bg-linear-to-l",
|
|
19743
|
+
"bottom-left-to-top-right": "bg-linear-to-tr",
|
|
19744
|
+
"bottom-right-to-top-left": "bg-linear-to-tl",
|
|
19745
|
+
"top-left-to-bottom-right": "bg-linear-to-br",
|
|
19746
|
+
"top-right-to-bottom-left": "bg-linear-to-bl"
|
|
19747
|
+
};
|
|
19748
|
+
var INTENSITY_STOPS = {
|
|
19749
|
+
low: "from-black/40 via-black/20 to-transparent",
|
|
19750
|
+
default: "from-black/70 via-black/35 to-transparent",
|
|
19751
|
+
high: "from-black/85 via-black/50 to-transparent",
|
|
19752
|
+
"very-high": "from-black/95 via-black/60 to-black/20"
|
|
19753
|
+
};
|
|
19754
|
+
var RADIAL_INTENSITY = {
|
|
19755
|
+
low: {
|
|
19756
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.40) 0%, rgba(0,0,0,0.20) 50%, transparent 100%)"
|
|
19757
|
+
},
|
|
19758
|
+
default: {
|
|
19759
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.35) 50%, transparent 100%)"
|
|
19760
|
+
},
|
|
19761
|
+
high: {
|
|
19762
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.50) 50%, transparent 100%)"
|
|
19763
|
+
},
|
|
19764
|
+
"very-high": {
|
|
19765
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.60) 50%, rgba(0,0,0,0.20) 100%)"
|
|
19766
|
+
}
|
|
19767
|
+
};
|
|
19768
|
+
function GradientOverlay({
|
|
19769
|
+
direction = "bottom-to-top",
|
|
19770
|
+
intensity = "default",
|
|
19771
|
+
className,
|
|
19772
|
+
style,
|
|
19773
|
+
...props
|
|
19774
|
+
}) {
|
|
19775
|
+
if (direction === "radial-center") {
|
|
19776
|
+
return /* @__PURE__ */ jsx(
|
|
19777
|
+
"div",
|
|
19778
|
+
{
|
|
19779
|
+
className: cn("absolute inset-0", className),
|
|
19780
|
+
style: { ...RADIAL_INTENSITY[intensity], ...style },
|
|
19781
|
+
...props
|
|
19782
|
+
}
|
|
19783
|
+
);
|
|
19784
|
+
}
|
|
19785
|
+
return /* @__PURE__ */ jsx(
|
|
19786
|
+
"div",
|
|
19787
|
+
{
|
|
19788
|
+
className: cn(
|
|
19789
|
+
"absolute inset-0",
|
|
19790
|
+
DIRECTION_STYLES[direction],
|
|
19791
|
+
INTENSITY_STOPS[intensity],
|
|
19792
|
+
className
|
|
19793
|
+
),
|
|
19794
|
+
style,
|
|
19795
|
+
...props
|
|
19796
|
+
}
|
|
19797
|
+
);
|
|
19798
|
+
}
|
|
19724
19799
|
function CarouselAnimatedSections({
|
|
19725
19800
|
sections,
|
|
19726
19801
|
sectionsSlot,
|
|
@@ -19736,7 +19811,8 @@ function CarouselAnimatedSections({
|
|
|
19736
19811
|
navigationClassName,
|
|
19737
19812
|
arrowsClassName,
|
|
19738
19813
|
counterClassName,
|
|
19739
|
-
slideMediaBrightness
|
|
19814
|
+
slideMediaBrightness,
|
|
19815
|
+
slideMediaOverlayIntensity = "high",
|
|
19740
19816
|
optixFlowConfig,
|
|
19741
19817
|
background = "dark",
|
|
19742
19818
|
spacing = "py-0",
|
|
@@ -19825,7 +19901,7 @@ function CarouselAnimatedSections({
|
|
|
19825
19901
|
containerMaxWidth,
|
|
19826
19902
|
containerClassName,
|
|
19827
19903
|
children: [
|
|
19828
|
-
sectionsSlot ? sectionsSlot : currentSection ? /* @__PURE__ */ jsx(AnimatePresence, { initial: false, custom: direction, mode: "wait", children: /* @__PURE__ */
|
|
19904
|
+
sectionsSlot ? sectionsSlot : currentSection ? /* @__PURE__ */ jsx(AnimatePresence, { initial: false, custom: direction, mode: "wait", children: /* @__PURE__ */ jsxs(
|
|
19829
19905
|
motion.div,
|
|
19830
19906
|
{
|
|
19831
19907
|
custom: direction,
|
|
@@ -19836,19 +19912,21 @@ function CarouselAnimatedSections({
|
|
|
19836
19912
|
transition: { duration: 0.6, ease: [0.4, 0, 0.2, 1] },
|
|
19837
19913
|
onAnimationComplete: () => setIsAnimating(false),
|
|
19838
19914
|
className: cn("absolute inset-0", currentSection?.className),
|
|
19839
|
-
children:
|
|
19840
|
-
|
|
19841
|
-
|
|
19842
|
-
|
|
19843
|
-
|
|
19844
|
-
|
|
19845
|
-
|
|
19846
|
-
|
|
19847
|
-
|
|
19848
|
-
|
|
19849
|
-
|
|
19850
|
-
|
|
19851
|
-
|
|
19915
|
+
children: [
|
|
19916
|
+
/* @__PURE__ */ jsx(
|
|
19917
|
+
Img,
|
|
19918
|
+
{
|
|
19919
|
+
src: currentSection?.image,
|
|
19920
|
+
alt: typeof currentSection?.title === "string" ? currentSection?.title : `Section ${currentSection?.id}`,
|
|
19921
|
+
className: cn(
|
|
19922
|
+
"h-full w-full object-cover",
|
|
19923
|
+
currentSection?.imageClassName
|
|
19924
|
+
),
|
|
19925
|
+
optixFlowConfig
|
|
19926
|
+
}
|
|
19927
|
+
),
|
|
19928
|
+
/* @__PURE__ */ jsx(GradientOverlay, { intensity: slideMediaOverlayIntensity })
|
|
19929
|
+
]
|
|
19852
19930
|
},
|
|
19853
19931
|
currentIndex
|
|
19854
19932
|
) }) : null,
|
|
@@ -20813,7 +20891,8 @@ function CarouselGalleryThumbnails({
|
|
|
20813
20891
|
spacing = "sm",
|
|
20814
20892
|
pattern,
|
|
20815
20893
|
patternOpacity,
|
|
20816
|
-
slideMediaBrightness
|
|
20894
|
+
slideMediaBrightness,
|
|
20895
|
+
slideMediaOverlayIntensity = "default"
|
|
20817
20896
|
}) {
|
|
20818
20897
|
const [currentIndex, setCurrentIndex] = React8.useState(0);
|
|
20819
20898
|
const prevSlide = React8.useCallback(() => {
|
|
@@ -20862,7 +20941,7 @@ function CarouselGalleryThumbnails({
|
|
|
20862
20941
|
"relative aspect-video w-full overflow-hidden",
|
|
20863
20942
|
slideClassName
|
|
20864
20943
|
),
|
|
20865
|
-
children: imagesSlot ? imagesSlot : images?.map((image, index) => /* @__PURE__ */
|
|
20944
|
+
children: imagesSlot ? imagesSlot : images?.map((image, index) => /* @__PURE__ */ jsxs(
|
|
20866
20945
|
"div",
|
|
20867
20946
|
{
|
|
20868
20947
|
className: cn(
|
|
@@ -20870,19 +20949,21 @@ function CarouselGalleryThumbnails({
|
|
|
20870
20949
|
index === currentIndex ? "translate-x-0 opacity-100" : index < currentIndex ? "-translate-x-full opacity-0" : "translate-x-full opacity-0",
|
|
20871
20950
|
image.className
|
|
20872
20951
|
),
|
|
20873
|
-
children:
|
|
20874
|
-
|
|
20875
|
-
|
|
20876
|
-
|
|
20877
|
-
|
|
20878
|
-
|
|
20879
|
-
|
|
20880
|
-
|
|
20881
|
-
|
|
20882
|
-
|
|
20883
|
-
|
|
20884
|
-
|
|
20885
|
-
|
|
20952
|
+
children: [
|
|
20953
|
+
/* @__PURE__ */ jsx(
|
|
20954
|
+
Img,
|
|
20955
|
+
{
|
|
20956
|
+
src: image.src,
|
|
20957
|
+
alt: typeof image.alt === "string" ? image.alt : `Image ${index + 1}`,
|
|
20958
|
+
className: cn(
|
|
20959
|
+
"h-full w-full object-cover",
|
|
20960
|
+
image.imageClassName
|
|
20961
|
+
),
|
|
20962
|
+
optixFlowConfig
|
|
20963
|
+
}
|
|
20964
|
+
),
|
|
20965
|
+
/* @__PURE__ */ jsx(GradientOverlay, { intensity: slideMediaOverlayIntensity })
|
|
20966
|
+
]
|
|
20886
20967
|
},
|
|
20887
20968
|
`slide-${index}`
|
|
20888
20969
|
))
|
|
@@ -21699,7 +21780,8 @@ function CarouselPortfolioHero({
|
|
|
21699
21780
|
spacing = "none",
|
|
21700
21781
|
pattern,
|
|
21701
21782
|
patternOpacity,
|
|
21702
|
-
slideMediaBrightness
|
|
21783
|
+
slideMediaBrightness,
|
|
21784
|
+
slideMediaOverlayIntensity = "high"
|
|
21703
21785
|
}) {
|
|
21704
21786
|
const [currentIndex, setCurrentIndex] = React8.useState(0);
|
|
21705
21787
|
const intervalRef = React8.useRef(null);
|
|
@@ -21740,7 +21822,7 @@ function CarouselPortfolioHero({
|
|
|
21740
21822
|
patternOpacity,
|
|
21741
21823
|
containerClassName,
|
|
21742
21824
|
children: [
|
|
21743
|
-
slidesSlot ? slidesSlot : slides?.map((slide, index) => /* @__PURE__ */
|
|
21825
|
+
slidesSlot ? slidesSlot : slides?.map((slide, index) => /* @__PURE__ */ jsxs(
|
|
21744
21826
|
"div",
|
|
21745
21827
|
{
|
|
21746
21828
|
className: cn(
|
|
@@ -21748,19 +21830,21 @@ function CarouselPortfolioHero({
|
|
|
21748
21830
|
index === currentIndex ? "opacity-100" : "opacity-0",
|
|
21749
21831
|
slide.className
|
|
21750
21832
|
),
|
|
21751
|
-
children:
|
|
21752
|
-
|
|
21753
|
-
|
|
21754
|
-
|
|
21755
|
-
|
|
21756
|
-
|
|
21757
|
-
|
|
21758
|
-
|
|
21759
|
-
|
|
21760
|
-
|
|
21761
|
-
|
|
21762
|
-
|
|
21763
|
-
|
|
21833
|
+
children: [
|
|
21834
|
+
/* @__PURE__ */ jsx(
|
|
21835
|
+
Img,
|
|
21836
|
+
{
|
|
21837
|
+
src: slide.image,
|
|
21838
|
+
alt: typeof slide.title === "string" ? slide.title : `Slide ${index + 1}`,
|
|
21839
|
+
className: cn(
|
|
21840
|
+
"h-full w-full object-cover",
|
|
21841
|
+
slide.imageClassName
|
|
21842
|
+
),
|
|
21843
|
+
optixFlowConfig
|
|
21844
|
+
}
|
|
21845
|
+
),
|
|
21846
|
+
/* @__PURE__ */ jsx(GradientOverlay, { intensity: slideMediaOverlayIntensity })
|
|
21847
|
+
]
|
|
21764
21848
|
},
|
|
21765
21849
|
slide.id
|
|
21766
21850
|
)),
|
|
@@ -43809,19 +43893,6 @@ function CaseStudiesTestimonialStats({
|
|
|
43809
43893
|
}
|
|
43810
43894
|
);
|
|
43811
43895
|
}
|
|
43812
|
-
function StarRating({ rating, size = 16 }) {
|
|
43813
|
-
return /* @__PURE__ */ jsx("div", { className: "flex items-center gap-0.5", children: [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ jsx(
|
|
43814
|
-
DynamicIcon,
|
|
43815
|
-
{
|
|
43816
|
-
name: "lucide/star",
|
|
43817
|
-
size,
|
|
43818
|
-
className: cn(
|
|
43819
|
-
star <= rating ? "fill-primary text-primary" : "fill-muted text-muted"
|
|
43820
|
-
)
|
|
43821
|
-
},
|
|
43822
|
-
star
|
|
43823
|
-
)) });
|
|
43824
|
-
}
|
|
43825
43896
|
function TestimonialsListVerified({
|
|
43826
43897
|
reviews,
|
|
43827
43898
|
reviewsSlot,
|
|
@@ -43834,7 +43905,8 @@ function TestimonialsListVerified({
|
|
|
43834
43905
|
contentClassName,
|
|
43835
43906
|
authorClassName,
|
|
43836
43907
|
background,
|
|
43837
|
-
spacing,
|
|
43908
|
+
spacing = "lg",
|
|
43909
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
43838
43910
|
pattern,
|
|
43839
43911
|
patternOpacity
|
|
43840
43912
|
}) {
|
|
@@ -43853,35 +43925,49 @@ function TestimonialsListVerified({
|
|
|
43853
43925
|
return /* @__PURE__ */ jsx("div", { className: "space-y-0", children: reviews.map((review, index) => {
|
|
43854
43926
|
const authorName = getAuthorName(review);
|
|
43855
43927
|
return /* @__PURE__ */ jsxs("div", { className: reviewClassName, children: [
|
|
43856
|
-
index > 0 && /* @__PURE__ */ jsx(Separator, { className: "my-
|
|
43857
|
-
/* @__PURE__ */ jsxs("div", { className: cn("space-y-
|
|
43858
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
43859
|
-
/* @__PURE__ */ jsx(StarRating, { rating: review.rating, size:
|
|
43860
|
-
review.title && (typeof review.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "
|
|
43928
|
+
index > 0 && /* @__PURE__ */ jsx(Separator, { className: "bg-border/50 shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px my-12 md:my-16" }),
|
|
43929
|
+
/* @__PURE__ */ jsxs("div", { className: cn("space-y-6 md:space-y-12", contentClassName), children: [
|
|
43930
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
43931
|
+
/* @__PURE__ */ jsx(StarRating, { rating: review.rating, size: 22 }),
|
|
43932
|
+
review.title && (typeof review.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "font-medium", children: review.title }) : review.title)
|
|
43861
43933
|
] }),
|
|
43862
|
-
review.content && (typeof review.content === "string" ? /* @__PURE__ */ jsx("p", { className: "text-
|
|
43863
|
-
/* @__PURE__ */ jsxs("div", { className: cn("flex items-center
|
|
43864
|
-
/* @__PURE__ */ jsxs(
|
|
43865
|
-
|
|
43866
|
-
|
|
43867
|
-
|
|
43868
|
-
|
|
43869
|
-
|
|
43870
|
-
|
|
43871
|
-
|
|
43872
|
-
|
|
43873
|
-
|
|
43874
|
-
|
|
43875
|
-
|
|
43876
|
-
|
|
43877
|
-
|
|
43878
|
-
|
|
43879
|
-
|
|
43934
|
+
review.content && (typeof review.content === "string" ? /* @__PURE__ */ jsx("p", { className: "text-base md:text-lg leading-relaxed font-light", children: review.content }) : review.content),
|
|
43935
|
+
/* @__PURE__ */ jsxs("div", { className: cn("flex items-center justify-between w-full"), children: [
|
|
43936
|
+
/* @__PURE__ */ jsxs(
|
|
43937
|
+
"div",
|
|
43938
|
+
{
|
|
43939
|
+
className: cn("flex items-center gap-5", authorClassName),
|
|
43940
|
+
children: [
|
|
43941
|
+
/* @__PURE__ */ jsxs(Avatar, { className: "size-12 ring-4 ring-primary shadow-lg", children: [
|
|
43942
|
+
/* @__PURE__ */ jsx(AvatarImage, { src: review.avatarSrc, alt: authorName }),
|
|
43943
|
+
/* @__PURE__ */ jsx(AvatarFallback, { className: "text-md", children: getInitials(authorName) })
|
|
43944
|
+
] }),
|
|
43945
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 text-base flex-col items-start", children: [
|
|
43946
|
+
review.author && (typeof review.author === "string" ? /* @__PURE__ */ jsx("span", { className: "font-medium", children: review.author }) : review.author),
|
|
43947
|
+
review.verified && /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1", children: [
|
|
43948
|
+
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/badge-check", size: 18 }),
|
|
43949
|
+
verifiedPurchaseLabel && (typeof verifiedPurchaseLabel === "string" ? /* @__PURE__ */ jsx("span", { className: "text-sm", children: verifiedPurchaseLabel }) : verifiedPurchaseLabel),
|
|
43950
|
+
!verifiedPurchaseLabel && /* @__PURE__ */ jsx("span", { className: "text-sm", children: "Verified Purchase" })
|
|
43951
|
+
] })
|
|
43952
|
+
] })
|
|
43953
|
+
]
|
|
43954
|
+
}
|
|
43955
|
+
),
|
|
43956
|
+
review.date && /* @__PURE__ */ jsx("span", { className: "relative", children: review.date })
|
|
43880
43957
|
] })
|
|
43881
43958
|
] })
|
|
43882
43959
|
] }, index);
|
|
43883
43960
|
}) });
|
|
43884
|
-
}, [
|
|
43961
|
+
}, [
|
|
43962
|
+
reviewsSlot,
|
|
43963
|
+
reviews,
|
|
43964
|
+
reviewClassName,
|
|
43965
|
+
contentClassName,
|
|
43966
|
+
authorClassName,
|
|
43967
|
+
verifiedPurchaseLabel,
|
|
43968
|
+
getAuthorName,
|
|
43969
|
+
getInitials
|
|
43970
|
+
]);
|
|
43885
43971
|
return /* @__PURE__ */ jsx(
|
|
43886
43972
|
Section,
|
|
43887
43973
|
{
|
|
@@ -43890,21 +43976,21 @@ function TestimonialsListVerified({
|
|
|
43890
43976
|
pattern,
|
|
43891
43977
|
patternOpacity,
|
|
43892
43978
|
className,
|
|
43893
|
-
children: /* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-3xl", children: [
|
|
43894
|
-
/* @__PURE__ */ jsxs("div", { className: cn("mb-
|
|
43979
|
+
children: /* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-full md:max-w-3xl", children: [
|
|
43980
|
+
/* @__PURE__ */ jsxs("div", { className: cn("mb-12 md:mb-24 space-y-6", headerClassName), children: [
|
|
43895
43981
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
43896
43982
|
"h2",
|
|
43897
43983
|
{
|
|
43898
43984
|
className: cn(
|
|
43899
|
-
"text-2xl font-semibold tracking-tight md:text-3xl",
|
|
43985
|
+
"text-2xl font-semibold tracking-tight md:text-3xl lg:text-4xl",
|
|
43900
43986
|
headingClassName
|
|
43901
43987
|
),
|
|
43902
43988
|
children: heading
|
|
43903
43989
|
}
|
|
43904
|
-
) :
|
|
43990
|
+
) : heading),
|
|
43905
43991
|
totalReviews > 0 && /* @__PURE__ */ jsxs("div", { className: "mt-2 flex items-center gap-3", children: [
|
|
43906
|
-
/* @__PURE__ */ jsx(StarRating, { rating: Math.round(averageRating), size:
|
|
43907
|
-
/* @__PURE__ */ jsxs("span", { className: "text-sm
|
|
43992
|
+
/* @__PURE__ */ jsx(StarRating, { rating: Math.round(averageRating), size: 22 }),
|
|
43993
|
+
/* @__PURE__ */ jsxs("span", { className: "text-sm", children: [
|
|
43908
43994
|
averageRating.toFixed(1),
|
|
43909
43995
|
" out of 5 \xB7 ",
|
|
43910
43996
|
totalReviews,
|
|
@@ -43917,23 +44003,11 @@ function TestimonialsListVerified({
|
|
|
43917
44003
|
}
|
|
43918
44004
|
);
|
|
43919
44005
|
}
|
|
43920
|
-
function StarRating2({ rating, size = 16 }) {
|
|
43921
|
-
return /* @__PURE__ */ jsx("div", { className: "flex items-center gap-0.5", children: [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ jsx(
|
|
43922
|
-
DynamicIcon,
|
|
43923
|
-
{
|
|
43924
|
-
name: "lucide/star",
|
|
43925
|
-
size,
|
|
43926
|
-
className: cn(
|
|
43927
|
-
star <= rating ? "fill-primary text-primary" : "fill-muted text-muted"
|
|
43928
|
-
)
|
|
43929
|
-
},
|
|
43930
|
-
star
|
|
43931
|
-
)) });
|
|
43932
|
-
}
|
|
43933
44006
|
function TestimonialsImagesHelpful({
|
|
43934
44007
|
reviews,
|
|
43935
44008
|
reviewsSlot,
|
|
43936
44009
|
heading,
|
|
44010
|
+
verifiedPurchaseLabel,
|
|
43937
44011
|
writeReviewLabel,
|
|
43938
44012
|
reportButtonLabel,
|
|
43939
44013
|
className,
|
|
@@ -43945,12 +44019,16 @@ function TestimonialsImagesHelpful({
|
|
|
43945
44019
|
imagesClassName,
|
|
43946
44020
|
onWriteReview,
|
|
43947
44021
|
background,
|
|
43948
|
-
spacing = "
|
|
44022
|
+
spacing = "lg",
|
|
44023
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
43949
44024
|
pattern,
|
|
43950
44025
|
patternOpacity,
|
|
43951
44026
|
optixFlowConfig
|
|
43952
44027
|
}) {
|
|
43953
44028
|
const [helpfulClicked, setHelpfulClicked] = useState(/* @__PURE__ */ new Set());
|
|
44029
|
+
const [lightboxOpen, setLightboxOpen] = useState(false);
|
|
44030
|
+
const [lightboxItems, setLightboxItems] = useState([]);
|
|
44031
|
+
const [lightboxIndex, setLightboxIndex] = useState(0);
|
|
43954
44032
|
const totalReviews = reviews?.length ?? 0;
|
|
43955
44033
|
const averageRating = totalReviews > 0 ? (reviews?.reduce((sum, review) => sum + review.rating, 0) ?? 0) / totalReviews : 0;
|
|
43956
44034
|
const handleHelpful = useCallback((reviewIndex) => {
|
|
@@ -43964,6 +44042,25 @@ function TestimonialsImagesHelpful({
|
|
|
43964
44042
|
return newSet;
|
|
43965
44043
|
});
|
|
43966
44044
|
}, []);
|
|
44045
|
+
const handleImageClick = useCallback(
|
|
44046
|
+
(reviewImages, imageIndex) => {
|
|
44047
|
+
const items = reviewImages.map((src, i) => ({
|
|
44048
|
+
id: `review-image-${i}`,
|
|
44049
|
+
type: "image",
|
|
44050
|
+
src,
|
|
44051
|
+
alt: `Review image ${i + 1}`,
|
|
44052
|
+
download: true,
|
|
44053
|
+
share: true
|
|
44054
|
+
}));
|
|
44055
|
+
setLightboxItems(items);
|
|
44056
|
+
setLightboxIndex(imageIndex);
|
|
44057
|
+
setLightboxOpen(true);
|
|
44058
|
+
},
|
|
44059
|
+
[]
|
|
44060
|
+
);
|
|
44061
|
+
const handleLightboxClose = useCallback(() => {
|
|
44062
|
+
setLightboxOpen(false);
|
|
44063
|
+
}, []);
|
|
43967
44064
|
const getAuthorName = useCallback((review) => {
|
|
43968
44065
|
if (typeof review.author === "string") return review.author;
|
|
43969
44066
|
return "";
|
|
@@ -43977,54 +44074,28 @@ function TestimonialsImagesHelpful({
|
|
|
43977
44074
|
return /* @__PURE__ */ jsx("div", { className: "space-y-0", children: reviews.map((review, index) => {
|
|
43978
44075
|
const authorName = getAuthorName(review);
|
|
43979
44076
|
return /* @__PURE__ */ jsxs("div", { className: reviewClassName, children: [
|
|
43980
|
-
index > 0 && /* @__PURE__ */ jsx(Separator, { className: "my-
|
|
43981
|
-
/* @__PURE__ */
|
|
43982
|
-
/* @__PURE__ */ jsxs(
|
|
43983
|
-
|
|
43984
|
-
{
|
|
43985
|
-
className: cn(
|
|
43986
|
-
"flex items-start justify-between gap-4",
|
|
43987
|
-
authorClassName
|
|
43988
|
-
),
|
|
43989
|
-
children: [
|
|
43990
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
43991
|
-
/* @__PURE__ */ jsxs(Avatar, { className: "size-10", children: [
|
|
43992
|
-
/* @__PURE__ */ jsx(AvatarImage, { src: review.avatarSrc, alt: authorName }),
|
|
43993
|
-
/* @__PURE__ */ jsx(AvatarFallback, { children: getInitials(authorName) })
|
|
43994
|
-
] }),
|
|
43995
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
43996
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
43997
|
-
review.author && (typeof review.author === "string" ? /* @__PURE__ */ jsx("span", { className: "font-medium", children: review.author }) : review.author),
|
|
43998
|
-
review.verified && /* @__PURE__ */ jsx("span", { className: "flex items-center gap-1 text-emerald-600", children: /* @__PURE__ */ jsx(
|
|
43999
|
-
DynamicIcon,
|
|
44000
|
-
{
|
|
44001
|
-
name: "lucide/badge-check",
|
|
44002
|
-
size: 16
|
|
44003
|
-
}
|
|
44004
|
-
) })
|
|
44005
|
-
] }),
|
|
44006
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm text-muted-foreground", children: [
|
|
44007
|
-
review.date && /* @__PURE__ */ jsx("span", { children: review.date }),
|
|
44008
|
-
review.variant && /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
44009
|
-
/* @__PURE__ */ jsx("span", { children: "\xB7" }),
|
|
44010
|
-
/* @__PURE__ */ jsx("span", { children: review.variant })
|
|
44011
|
-
] })
|
|
44012
|
-
] })
|
|
44013
|
-
] })
|
|
44014
|
-
] }),
|
|
44015
|
-
/* @__PURE__ */ jsx(StarRating2, { rating: review.rating, size: 16 })
|
|
44016
|
-
]
|
|
44017
|
-
}
|
|
44018
|
-
),
|
|
44019
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
44020
|
-
review.title && (typeof review.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "font-medium", children: review.title }) : review.title),
|
|
44021
|
-
review.content && (typeof review.content === "string" ? /* @__PURE__ */ jsx("p", { className: "mt-2 text-sm leading-relaxed text-muted-foreground", children: review.content }) : /* @__PURE__ */ jsx("div", { className: "mt-2", children: review.content }))
|
|
44077
|
+
index > 0 && /* @__PURE__ */ jsx(Separator, { className: "bg-border/50 shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px my-12 md:my-16" }),
|
|
44078
|
+
/* @__PURE__ */ jsxs("div", { className: cn("space-y-6 md:space-y-12", contentClassName), children: [
|
|
44079
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
44080
|
+
/* @__PURE__ */ jsx(StarRating, { rating: review.rating, size: 22 }),
|
|
44081
|
+
review.title && (typeof review.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "font-medium", children: review.title }) : review.title)
|
|
44022
44082
|
] }),
|
|
44023
|
-
review.
|
|
44083
|
+
review.content && (typeof review.content === "string" ? /* @__PURE__ */ jsx("p", { className: "text-base md:text-lg leading-relaxed font-light", children: review.content }) : review.content),
|
|
44084
|
+
review.images && review.images.length > 0 && /* @__PURE__ */ jsx("div", { className: cn("flex gap-3", imagesClassName), children: review.images.map((image, imgIndex) => /* @__PURE__ */ jsx(
|
|
44024
44085
|
"div",
|
|
44025
44086
|
{
|
|
44026
|
-
className: "size-20 overflow-hidden rounded-lg sm:size-24",
|
|
44027
|
-
|
|
44087
|
+
className: "size-20 cursor-pointer overflow-hidden rounded-lg sm:size-24 transition-transform duration-300 hover:scale-[1.03] shadow-sm hover:shadow-lg",
|
|
44088
|
+
onClick: () => handleImageClick(review.images, imgIndex),
|
|
44089
|
+
role: "button",
|
|
44090
|
+
tabIndex: 0,
|
|
44091
|
+
onKeyDown: (e) => {
|
|
44092
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
44093
|
+
e.preventDefault();
|
|
44094
|
+
handleImageClick(review.images, imgIndex);
|
|
44095
|
+
}
|
|
44096
|
+
},
|
|
44097
|
+
"aria-label": `View review image ${imgIndex + 1} in lightbox`,
|
|
44098
|
+
children: /* @__PURE__ */ jsx(
|
|
44028
44099
|
Img,
|
|
44029
44100
|
{
|
|
44030
44101
|
src: image,
|
|
@@ -44032,54 +44103,85 @@ function TestimonialsImagesHelpful({
|
|
|
44032
44103
|
className: "size-full object-cover",
|
|
44033
44104
|
optixFlowConfig
|
|
44034
44105
|
}
|
|
44035
|
-
)
|
|
44106
|
+
)
|
|
44036
44107
|
},
|
|
44037
44108
|
imgIndex
|
|
44038
44109
|
)) }),
|
|
44039
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center
|
|
44110
|
+
/* @__PURE__ */ jsxs("div", { className: cn("flex items-center justify-between w-full"), children: [
|
|
44040
44111
|
/* @__PURE__ */ jsxs(
|
|
44041
|
-
|
|
44112
|
+
"div",
|
|
44042
44113
|
{
|
|
44043
|
-
|
|
44044
|
-
variant: "ghost",
|
|
44045
|
-
size: "sm",
|
|
44046
|
-
className: cn(
|
|
44047
|
-
"h-8 gap-1.5 text-muted-foreground",
|
|
44048
|
-
helpfulClicked.has(index) && "text-foreground"
|
|
44049
|
-
),
|
|
44050
|
-
onClick: () => handleHelpful(index),
|
|
44114
|
+
className: cn("flex items-center gap-5", authorClassName),
|
|
44051
44115
|
children: [
|
|
44052
|
-
/* @__PURE__ */
|
|
44053
|
-
|
|
44054
|
-
{
|
|
44055
|
-
|
|
44056
|
-
|
|
44057
|
-
|
|
44058
|
-
|
|
44059
|
-
|
|
44060
|
-
|
|
44061
|
-
|
|
44062
|
-
|
|
44063
|
-
|
|
44064
|
-
|
|
44065
|
-
|
|
44066
|
-
|
|
44116
|
+
/* @__PURE__ */ jsxs(Avatar, { className: "size-12 ring-4 ring-primary shadow-lg", children: [
|
|
44117
|
+
/* @__PURE__ */ jsx(AvatarImage, { src: review.avatarSrc, alt: authorName }),
|
|
44118
|
+
/* @__PURE__ */ jsx(AvatarFallback, { className: "text-md", children: getInitials(authorName) })
|
|
44119
|
+
] }),
|
|
44120
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-start gap-0", children: [
|
|
44121
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
44122
|
+
review.author && (typeof review.author === "string" ? /* @__PURE__ */ jsx("span", { className: "font-medium", children: review.author }) : review.author),
|
|
44123
|
+
review.verified && /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1", children: [
|
|
44124
|
+
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/badge-check", size: 18 }),
|
|
44125
|
+
verifiedPurchaseLabel && (typeof verifiedPurchaseLabel === "string" ? /* @__PURE__ */ jsx("span", { className: "text-sm", children: verifiedPurchaseLabel }) : verifiedPurchaseLabel),
|
|
44126
|
+
!verifiedPurchaseLabel && /* @__PURE__ */ jsx("span", { className: "text-sm", children: "Verified Purchase" })
|
|
44127
|
+
] })
|
|
44128
|
+
] }),
|
|
44129
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm", children: [
|
|
44130
|
+
review.date && /* @__PURE__ */ jsx("span", { children: review.date }),
|
|
44131
|
+
review.variant && /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
44132
|
+
/* @__PURE__ */ jsx("span", { children: "\xB7" }),
|
|
44133
|
+
/* @__PURE__ */ jsx("span", { children: review.variant })
|
|
44134
|
+
] })
|
|
44135
|
+
] })
|
|
44067
44136
|
] })
|
|
44068
44137
|
]
|
|
44069
44138
|
}
|
|
44070
44139
|
),
|
|
44071
|
-
/* @__PURE__ */
|
|
44072
|
-
|
|
44073
|
-
|
|
44074
|
-
|
|
44075
|
-
|
|
44076
|
-
|
|
44077
|
-
|
|
44078
|
-
|
|
44079
|
-
|
|
44080
|
-
|
|
44140
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4", children: [
|
|
44141
|
+
/* @__PURE__ */ jsxs(
|
|
44142
|
+
Pressable,
|
|
44143
|
+
{
|
|
44144
|
+
asButton: true,
|
|
44145
|
+
variant: "ghost",
|
|
44146
|
+
size: "sm",
|
|
44147
|
+
className: cn(
|
|
44148
|
+
"h-8 gap-1.5",
|
|
44149
|
+
helpfulClicked.has(index) ? "text-foreground" : "text-muted-foreground"
|
|
44150
|
+
),
|
|
44151
|
+
onClick: () => handleHelpful(index),
|
|
44152
|
+
children: [
|
|
44153
|
+
/* @__PURE__ */ jsx(
|
|
44154
|
+
DynamicIcon,
|
|
44155
|
+
{
|
|
44156
|
+
name: "lucide/thumbs-up",
|
|
44157
|
+
size: 16,
|
|
44158
|
+
className: cn(
|
|
44159
|
+
helpfulClicked.has(index) && "fill-current"
|
|
44160
|
+
)
|
|
44161
|
+
}
|
|
44162
|
+
),
|
|
44163
|
+
"Helpful",
|
|
44164
|
+
review.helpful !== void 0 && /* @__PURE__ */ jsxs("span", { children: [
|
|
44165
|
+
"(",
|
|
44166
|
+
review.helpful + (helpfulClicked.has(index) ? 1 : 0),
|
|
44167
|
+
")"
|
|
44168
|
+
] })
|
|
44169
|
+
]
|
|
44170
|
+
}
|
|
44171
|
+
),
|
|
44172
|
+
/* @__PURE__ */ jsx(
|
|
44173
|
+
Pressable,
|
|
44174
|
+
{
|
|
44175
|
+
asButton: true,
|
|
44176
|
+
variant: "ghost",
|
|
44177
|
+
size: "sm",
|
|
44178
|
+
className: "h-8 text-muted-foreground",
|
|
44179
|
+
children: reportButtonLabel ?? "Report"
|
|
44180
|
+
}
|
|
44181
|
+
)
|
|
44182
|
+
] })
|
|
44081
44183
|
] })
|
|
44082
|
-
] })
|
|
44184
|
+
] })
|
|
44083
44185
|
] }, index);
|
|
44084
44186
|
}) });
|
|
44085
44187
|
}, [
|
|
@@ -44092,11 +44194,13 @@ function TestimonialsImagesHelpful({
|
|
|
44092
44194
|
helpfulClicked,
|
|
44093
44195
|
optixFlowConfig,
|
|
44094
44196
|
reportButtonLabel,
|
|
44197
|
+
verifiedPurchaseLabel,
|
|
44095
44198
|
getAuthorName,
|
|
44096
44199
|
getInitials,
|
|
44097
|
-
handleHelpful
|
|
44200
|
+
handleHelpful,
|
|
44201
|
+
handleImageClick
|
|
44098
44202
|
]);
|
|
44099
|
-
return /* @__PURE__ */
|
|
44203
|
+
return /* @__PURE__ */ jsxs(
|
|
44100
44204
|
Section,
|
|
44101
44205
|
{
|
|
44102
44206
|
background,
|
|
@@ -44104,42 +44208,57 @@ function TestimonialsImagesHelpful({
|
|
|
44104
44208
|
pattern,
|
|
44105
44209
|
patternOpacity,
|
|
44106
44210
|
className,
|
|
44107
|
-
|
|
44108
|
-
|
|
44109
|
-
|
|
44110
|
-
{
|
|
44111
|
-
className:
|
|
44112
|
-
"
|
|
44113
|
-
|
|
44114
|
-
|
|
44115
|
-
|
|
44116
|
-
|
|
44117
|
-
|
|
44118
|
-
|
|
44119
|
-
|
|
44120
|
-
|
|
44121
|
-
|
|
44122
|
-
headingClassName
|
|
44123
|
-
),
|
|
44124
|
-
children: heading
|
|
44125
|
-
}
|
|
44126
|
-
) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
|
|
44127
|
-
totalReviews > 0 && /* @__PURE__ */ jsxs("div", { className: "mt-2 flex items-center gap-2", children: [
|
|
44128
|
-
/* @__PURE__ */ jsx(StarRating2, { rating: Math.round(averageRating), size: 20 }),
|
|
44129
|
-
/* @__PURE__ */ jsx("span", { className: "text-lg font-semibold", children: averageRating.toFixed(1) }),
|
|
44130
|
-
/* @__PURE__ */ jsxs("span", { className: "text-sm text-muted-foreground", children: [
|
|
44131
|
-
"(",
|
|
44132
|
-
totalReviews,
|
|
44133
|
-
" reviews)"
|
|
44134
|
-
] })
|
|
44135
|
-
] })
|
|
44136
|
-
] }),
|
|
44211
|
+
containerClassName,
|
|
44212
|
+
children: [
|
|
44213
|
+
/* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-full md:max-w-3xl", children: [
|
|
44214
|
+
/* @__PURE__ */ jsxs("div", { className: cn("mb-12 md:mb-24 space-y-6", headerClassName), children: [
|
|
44215
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 sm:flex-row sm:items-end sm:justify-between", children: [
|
|
44216
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
44217
|
+
"h2",
|
|
44218
|
+
{
|
|
44219
|
+
className: cn(
|
|
44220
|
+
"text-2xl font-semibold tracking-tight md:text-3xl lg:text-4xl",
|
|
44221
|
+
headingClassName
|
|
44222
|
+
),
|
|
44223
|
+
children: heading
|
|
44224
|
+
}
|
|
44225
|
+
) : heading),
|
|
44137
44226
|
(writeReviewLabel || onWriteReview) && /* @__PURE__ */ jsx(Pressable, { asButton: true, variant: "outline", onClick: onWriteReview, children: writeReviewLabel })
|
|
44138
|
-
]
|
|
44227
|
+
] }),
|
|
44228
|
+
totalReviews > 0 && /* @__PURE__ */ jsxs("div", { className: "mt-2 flex items-center gap-3", children: [
|
|
44229
|
+
/* @__PURE__ */ jsx(StarRating, { rating: Math.round(averageRating), size: 22 }),
|
|
44230
|
+
/* @__PURE__ */ jsxs("span", { className: "text-sm", children: [
|
|
44231
|
+
averageRating.toFixed(1),
|
|
44232
|
+
" out of 5 \xB7 ",
|
|
44233
|
+
totalReviews,
|
|
44234
|
+
" reviews"
|
|
44235
|
+
] })
|
|
44236
|
+
] })
|
|
44237
|
+
] }),
|
|
44238
|
+
renderedReviews
|
|
44239
|
+
] }),
|
|
44240
|
+
lightboxOpen && /* @__PURE__ */ jsx(
|
|
44241
|
+
Lightbox,
|
|
44242
|
+
{
|
|
44243
|
+
items: lightboxItems,
|
|
44244
|
+
initialIndex: lightboxIndex,
|
|
44245
|
+
layout: "horizontal",
|
|
44246
|
+
controls: {
|
|
44247
|
+
navigation: true,
|
|
44248
|
+
thumbnails: true,
|
|
44249
|
+
download: true,
|
|
44250
|
+
share: true,
|
|
44251
|
+
fullscreen: true,
|
|
44252
|
+
captions: true,
|
|
44253
|
+
counter: true
|
|
44254
|
+
},
|
|
44255
|
+
onClose: handleLightboxClose,
|
|
44256
|
+
enableKeyboardShortcuts: true,
|
|
44257
|
+
closeOnEscape: true,
|
|
44258
|
+
closeOnBackdropClick: true
|
|
44139
44259
|
}
|
|
44140
|
-
)
|
|
44141
|
-
|
|
44142
|
-
] })
|
|
44260
|
+
)
|
|
44261
|
+
]
|
|
44143
44262
|
}
|
|
44144
44263
|
);
|
|
44145
44264
|
}
|
|
@@ -44195,10 +44314,13 @@ function TestimonialsBentoGrid({
|
|
|
44195
44314
|
),
|
|
44196
44315
|
children: [
|
|
44197
44316
|
/* @__PURE__ */ jsx(
|
|
44198
|
-
|
|
44317
|
+
"div",
|
|
44199
44318
|
{
|
|
44200
|
-
className: cn(
|
|
44201
|
-
|
|
44319
|
+
className: cn(
|
|
44320
|
+
"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm md:col-span-2 lg:row-span-2",
|
|
44321
|
+
featuredCardClassName
|
|
44322
|
+
),
|
|
44323
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col justify-between p-6 md:p-8 gap-8 md:gap-12", children: [
|
|
44202
44324
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
44203
44325
|
/* @__PURE__ */ jsx(
|
|
44204
44326
|
DynamicIcon,
|
|
@@ -44228,11 +44350,11 @@ function TestimonialsBentoGrid({
|
|
|
44228
44350
|
{
|
|
44229
44351
|
className: cn("mt-6 flex items-center gap-4", authorClassName),
|
|
44230
44352
|
children: [
|
|
44231
|
-
/* @__PURE__ */ jsxs(Avatar, { className: "size-12", children: [
|
|
44353
|
+
/* @__PURE__ */ jsxs(Avatar, { className: "relative flex shrink-0 overflow-hidden rounded-full size-12 ring-4 ring-primary shadow-lg", children: [
|
|
44232
44354
|
/* @__PURE__ */ jsx(AvatarImage, { src: featuredAvatarSrc, alt: featuredAuthorName }),
|
|
44233
44355
|
/* @__PURE__ */ jsx(AvatarFallback, { children: getInitials(featuredAuthorName) })
|
|
44234
44356
|
] }),
|
|
44235
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
44357
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-0 leading-tight", children: [
|
|
44236
44358
|
featured.author && (typeof featured.author === "string" ? /* @__PURE__ */ jsx("p", { className: "font-semibold", children: featured.author }) : featured.author),
|
|
44237
44359
|
(featured.role || featured.company) && /* @__PURE__ */ jsxs("p", { className: "text-sm text-muted-foreground", children: [
|
|
44238
44360
|
featured.role && (typeof featured.role === "string" ? featured.role : featured.role),
|
|
@@ -44243,7 +44365,8 @@ function TestimonialsBentoGrid({
|
|
|
44243
44365
|
{
|
|
44244
44366
|
href: featured.linkConfig.href,
|
|
44245
44367
|
className: cn(
|
|
44246
|
-
"text-sm
|
|
44368
|
+
"text-sm transition-all duration-300",
|
|
44369
|
+
"underline underline-offset-4",
|
|
44247
44370
|
featured.linkConfig.className
|
|
44248
44371
|
),
|
|
44249
44372
|
children: featured.linkConfig.label
|
|
@@ -44259,34 +44382,45 @@ function TestimonialsBentoGrid({
|
|
|
44259
44382
|
others.slice(0, 5).map((testimonial, index) => {
|
|
44260
44383
|
const authorName = getAuthorName(testimonial);
|
|
44261
44384
|
const avatarSrc = getAvatarSrc(testimonial);
|
|
44262
|
-
return /* @__PURE__ */ jsx(
|
|
44263
|
-
|
|
44264
|
-
|
|
44265
|
-
|
|
44266
|
-
|
|
44267
|
-
|
|
44268
|
-
|
|
44269
|
-
/* @__PURE__ */ jsxs(
|
|
44270
|
-
/* @__PURE__ */
|
|
44271
|
-
|
|
44272
|
-
|
|
44273
|
-
|
|
44274
|
-
|
|
44275
|
-
|
|
44276
|
-
|
|
44277
|
-
|
|
44278
|
-
|
|
44279
|
-
|
|
44280
|
-
|
|
44281
|
-
|
|
44282
|
-
|
|
44283
|
-
|
|
44284
|
-
|
|
44285
|
-
|
|
44286
|
-
|
|
44385
|
+
return /* @__PURE__ */ jsx(
|
|
44386
|
+
"div",
|
|
44387
|
+
{
|
|
44388
|
+
className: cn(
|
|
44389
|
+
cardClassName,
|
|
44390
|
+
"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm"
|
|
44391
|
+
),
|
|
44392
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col justify-between p-6 gap-8", children: [
|
|
44393
|
+
testimonial.quote && (typeof testimonial.quote === "string" ? /* @__PURE__ */ jsxs("blockquote", { className: "text-sm leading-relaxed line-clamp-3", children: [
|
|
44394
|
+
"\u201C",
|
|
44395
|
+
testimonial.quote,
|
|
44396
|
+
"\u201D"
|
|
44397
|
+
] }) : /* @__PURE__ */ jsx("div", { className: "line-clamp-3", children: testimonial.quote })),
|
|
44398
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-4 flex items-center gap-3", children: [
|
|
44399
|
+
/* @__PURE__ */ jsxs(Avatar, { className: "relative flex shrink-0 overflow-hidden rounded-full size-12 ring-4 ring-primary shadow-lg", children: [
|
|
44400
|
+
/* @__PURE__ */ jsx(AvatarImage, { src: avatarSrc, alt: authorName }),
|
|
44401
|
+
/* @__PURE__ */ jsx(AvatarFallback, { className: "text-xs", children: getInitials(authorName) })
|
|
44402
|
+
] }),
|
|
44403
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-0 leading-tight", children: [
|
|
44404
|
+
testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: testimonial.author }) : testimonial.author),
|
|
44405
|
+
testimonial.role && (typeof testimonial.role === "string" ? /* @__PURE__ */ jsx("p", { className: "text-xs", children: testimonial.role }) : testimonial.role),
|
|
44406
|
+
testimonial.linkConfig?.href && /* @__PURE__ */ jsx(
|
|
44407
|
+
Pressable,
|
|
44408
|
+
{
|
|
44409
|
+
href: testimonial.linkConfig.href,
|
|
44410
|
+
className: cn(
|
|
44411
|
+
"text-sm transition-all duration-300",
|
|
44412
|
+
"underline underline-offset-4",
|
|
44413
|
+
testimonial.linkConfig.className
|
|
44414
|
+
),
|
|
44415
|
+
children: testimonial.linkConfig.label
|
|
44416
|
+
}
|
|
44417
|
+
)
|
|
44418
|
+
] })
|
|
44419
|
+
] })
|
|
44287
44420
|
] })
|
|
44288
|
-
|
|
44289
|
-
|
|
44421
|
+
},
|
|
44422
|
+
index
|
|
44423
|
+
);
|
|
44290
44424
|
})
|
|
44291
44425
|
]
|
|
44292
44426
|
}
|
|
@@ -44383,7 +44517,7 @@ function TestimonialsTwitterCards({
|
|
|
44383
44517
|
"div",
|
|
44384
44518
|
{
|
|
44385
44519
|
className: cn(
|
|
44386
|
-
"grid gap-
|
|
44520
|
+
"grid gap-6 lg:gap-8 md:grid-cols-2 lg:grid-cols-3",
|
|
44387
44521
|
gridClassName
|
|
44388
44522
|
),
|
|
44389
44523
|
children: testimonials.map((testimonial, index) => {
|
|
@@ -44393,14 +44527,18 @@ function TestimonialsTwitterCards({
|
|
|
44393
44527
|
{
|
|
44394
44528
|
href: testimonial.linkConfig?.href,
|
|
44395
44529
|
className: cn(
|
|
44396
|
-
"bg-card text-card-foreground
|
|
44530
|
+
"bg-card text-card-foreground",
|
|
44531
|
+
"flex flex-col gap-6",
|
|
44532
|
+
testimonial.linkConfig?.href ? "cursor-pointer hover:bg-primary hover:text-primary-foreground transition-all duration-500" : "",
|
|
44533
|
+
"rounded-2xl py-6 shadow-xl group",
|
|
44534
|
+
"ring-4 ring-primary",
|
|
44397
44535
|
cardClassName
|
|
44398
44536
|
),
|
|
44399
44537
|
children: /* @__PURE__ */ jsxs(
|
|
44400
44538
|
CardContent,
|
|
44401
44539
|
{
|
|
44402
44540
|
className: cn(
|
|
44403
|
-
"px-6 h-full flex flex-col-reverse items-stretch justify-between",
|
|
44541
|
+
"px-6 h-full flex flex-col-reverse items-stretch justify-between gap-12",
|
|
44404
44542
|
cardContentClassName
|
|
44405
44543
|
),
|
|
44406
44544
|
children: [
|
|
@@ -44432,7 +44570,8 @@ function TestimonialsTwitterCards({
|
|
|
44432
44570
|
SocialLinkIcon,
|
|
44433
44571
|
{
|
|
44434
44572
|
href: testimonial.linkConfig.href,
|
|
44435
|
-
iconSize:
|
|
44573
|
+
iconSize: 24,
|
|
44574
|
+
iconOnly: true
|
|
44436
44575
|
}
|
|
44437
44576
|
)
|
|
44438
44577
|
]
|
|
@@ -44505,122 +44644,257 @@ function TestimonialsTwitterCards({
|
|
|
44505
44644
|
function TestimonialsCarouselImage({
|
|
44506
44645
|
testimonials,
|
|
44507
44646
|
testimonialsSlot,
|
|
44508
|
-
|
|
44509
|
-
|
|
44647
|
+
autoPlayInterval,
|
|
44648
|
+
height = "h-70dvh lg:h-60dvh",
|
|
44649
|
+
overlayOpacity = 0.6,
|
|
44510
44650
|
previousButtonAriaLabel,
|
|
44511
44651
|
nextButtonAriaLabel,
|
|
44512
44652
|
className,
|
|
44513
44653
|
contentClassName,
|
|
44514
44654
|
quoteIconClassName,
|
|
44655
|
+
logoClassName,
|
|
44515
44656
|
quoteClassName,
|
|
44516
44657
|
authorClassName,
|
|
44517
44658
|
navigationClassName,
|
|
44518
44659
|
navButtonClassName,
|
|
44519
44660
|
dotsClassName,
|
|
44520
|
-
optixFlowConfig
|
|
44661
|
+
optixFlowConfig,
|
|
44662
|
+
background,
|
|
44663
|
+
containerClassName = "mx-0 w-screen px-0 sm:px-0 lg:px-0 max-w-screen relative z-10 h-full",
|
|
44664
|
+
spacing = "none",
|
|
44665
|
+
pattern,
|
|
44666
|
+
patternOpacity
|
|
44521
44667
|
}) {
|
|
44522
44668
|
const [currentIndex, setCurrentIndex] = useState(0);
|
|
44523
44669
|
const totalTestimonials = testimonials?.length ?? 0;
|
|
44524
|
-
const
|
|
44525
|
-
|
|
44526
|
-
|
|
44527
|
-
|
|
44528
|
-
)
|
|
44529
|
-
|
|
44670
|
+
const autoPlayTimerRef = React8.useRef(
|
|
44671
|
+
null
|
|
44672
|
+
);
|
|
44673
|
+
const resetAutoPlay = useCallback(() => {
|
|
44674
|
+
if (autoPlayTimerRef.current) {
|
|
44675
|
+
clearInterval(autoPlayTimerRef.current);
|
|
44676
|
+
autoPlayTimerRef.current = null;
|
|
44677
|
+
}
|
|
44678
|
+
if (!autoPlayInterval || autoPlayInterval <= 0 || totalTestimonials === 0)
|
|
44679
|
+
return;
|
|
44680
|
+
autoPlayTimerRef.current = setInterval(() => {
|
|
44681
|
+
setCurrentIndex((prev) => (prev + 1) % totalTestimonials);
|
|
44682
|
+
}, autoPlayInterval);
|
|
44683
|
+
}, [autoPlayInterval, totalTestimonials]);
|
|
44530
44684
|
const goToNext = useCallback(() => {
|
|
44531
44685
|
if (totalTestimonials === 0) return;
|
|
44532
|
-
setCurrentIndex(
|
|
44533
|
-
|
|
44534
|
-
|
|
44535
|
-
|
|
44686
|
+
setCurrentIndex((prev) => prev === totalTestimonials - 1 ? 0 : prev + 1);
|
|
44687
|
+
resetAutoPlay();
|
|
44688
|
+
}, [totalTestimonials, resetAutoPlay]);
|
|
44689
|
+
const goToPrevious = useCallback(() => {
|
|
44690
|
+
if (totalTestimonials === 0) return;
|
|
44691
|
+
setCurrentIndex((prev) => prev === 0 ? totalTestimonials - 1 : prev - 1);
|
|
44692
|
+
resetAutoPlay();
|
|
44693
|
+
}, [totalTestimonials, resetAutoPlay]);
|
|
44694
|
+
const goToIndex = useCallback(
|
|
44695
|
+
(index) => {
|
|
44696
|
+
setCurrentIndex(index);
|
|
44697
|
+
resetAutoPlay();
|
|
44698
|
+
},
|
|
44699
|
+
[resetAutoPlay]
|
|
44700
|
+
);
|
|
44701
|
+
useEffect(() => {
|
|
44702
|
+
resetAutoPlay();
|
|
44703
|
+
return () => {
|
|
44704
|
+
if (autoPlayTimerRef.current) {
|
|
44705
|
+
clearInterval(autoPlayTimerRef.current);
|
|
44706
|
+
}
|
|
44707
|
+
};
|
|
44708
|
+
}, [resetAutoPlay]);
|
|
44536
44709
|
const current = testimonials?.[currentIndex];
|
|
44537
44710
|
const renderedTestimonialContent = useMemo(() => {
|
|
44538
44711
|
if (testimonialsSlot) return testimonialsSlot;
|
|
44539
44712
|
if (!current) return null;
|
|
44540
|
-
return /* @__PURE__ */ jsxs(
|
|
44541
|
-
|
|
44542
|
-
|
|
44543
|
-
|
|
44544
|
-
|
|
44545
|
-
|
|
44546
|
-
className: cn("mx-auto mb-6 opacity-50", quoteIconClassName)
|
|
44547
|
-
}
|
|
44548
|
-
),
|
|
44549
|
-
current.quote && (typeof current.quote === "string" ? /* @__PURE__ */ jsxs("blockquote", { className: cn("text-2xl font-light leading-relaxed md:text-4xl", quoteClassName), children: [
|
|
44550
|
-
"\u201C",
|
|
44551
|
-
current.quote,
|
|
44552
|
-
"\u201D"
|
|
44553
|
-
] }) : /* @__PURE__ */ jsx("div", { className: quoteClassName, children: current.quote })),
|
|
44554
|
-
/* @__PURE__ */ jsxs("div", { className: cn("mt-8", authorClassName), children: [
|
|
44555
|
-
current.author && (typeof current.author === "string" ? /* @__PURE__ */ jsx("p", { className: "text-lg font-semibold", children: current.author }) : current.author),
|
|
44556
|
-
(current.role || current.company) && /* @__PURE__ */ jsxs("p", { className: "text-sm opacity-80", children: [
|
|
44557
|
-
current.role && (typeof current.role === "string" ? current.role : current.role),
|
|
44558
|
-
current.company && (typeof current.company === "string" ? `, ${current.company}` : current.company)
|
|
44559
|
-
] })
|
|
44560
|
-
] })
|
|
44561
|
-
] });
|
|
44562
|
-
}, [testimonialsSlot, contentClassName, quoteIconClassName, current, quoteClassName, authorClassName]);
|
|
44563
|
-
return /* @__PURE__ */ jsxs("section", { className: cn("relative", height, className), children: [
|
|
44564
|
-
/* @__PURE__ */ jsxs("div", { className: "absolute inset-0", children: [
|
|
44565
|
-
current?.backgroundImage && /* @__PURE__ */ jsx(
|
|
44566
|
-
Img,
|
|
44567
|
-
{
|
|
44568
|
-
src: current.backgroundImage,
|
|
44569
|
-
alt: "",
|
|
44570
|
-
className: "size-full object-cover",
|
|
44571
|
-
optixFlowConfig
|
|
44572
|
-
}
|
|
44573
|
-
),
|
|
44574
|
-
/* @__PURE__ */ jsx(
|
|
44575
|
-
"div",
|
|
44576
|
-
{
|
|
44577
|
-
className: "absolute inset-0 bg-foreground",
|
|
44578
|
-
style: { opacity: overlayOpacity }
|
|
44579
|
-
}
|
|
44580
|
-
)
|
|
44581
|
-
] }),
|
|
44582
|
-
/* @__PURE__ */ jsxs("div", { className: "relative z-10 flex h-full flex-col items-center justify-center px-4", children: [
|
|
44583
|
-
renderedTestimonialContent,
|
|
44584
|
-
/* @__PURE__ */ jsxs("div", { className: cn("absolute bottom-8 left-0 right-0 flex items-center justify-center gap-4", navigationClassName), children: [
|
|
44585
|
-
/* @__PURE__ */ jsx(
|
|
44586
|
-
Pressable,
|
|
44587
|
-
{
|
|
44588
|
-
asButton: true,
|
|
44589
|
-
variant: "ghost",
|
|
44590
|
-
size: "icon",
|
|
44591
|
-
className: cn("size-10 rounded-full bg-white/10 text-white backdrop-blur-sm hover:bg-white/20", navButtonClassName),
|
|
44592
|
-
onClick: goToPrevious,
|
|
44593
|
-
"aria-label": previousButtonAriaLabel ?? "Previous testimonial",
|
|
44594
|
-
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-left", size: 24 })
|
|
44595
|
-
}
|
|
44713
|
+
return /* @__PURE__ */ jsxs(
|
|
44714
|
+
"div",
|
|
44715
|
+
{
|
|
44716
|
+
className: cn(
|
|
44717
|
+
"mx-auto max-w-full md:max-w-md text-center text-shadow-lg text-white pb-32 pt-20",
|
|
44718
|
+
contentClassName
|
|
44596
44719
|
),
|
|
44597
|
-
|
|
44598
|
-
|
|
44599
|
-
|
|
44600
|
-
|
|
44601
|
-
|
|
44602
|
-
"
|
|
44603
|
-
|
|
44604
|
-
|
|
44605
|
-
|
|
44606
|
-
|
|
44607
|
-
|
|
44608
|
-
|
|
44609
|
-
|
|
44610
|
-
|
|
44611
|
-
|
|
44612
|
-
|
|
44613
|
-
|
|
44614
|
-
|
|
44615
|
-
|
|
44616
|
-
|
|
44617
|
-
|
|
44618
|
-
|
|
44619
|
-
|
|
44620
|
-
|
|
44621
|
-
|
|
44622
|
-
|
|
44623
|
-
|
|
44720
|
+
children: [
|
|
44721
|
+
current?.logoSrc ? /* @__PURE__ */ jsx(
|
|
44722
|
+
Img,
|
|
44723
|
+
{
|
|
44724
|
+
src: current.logoSrc,
|
|
44725
|
+
alt: typeof current.company === "string" ? `${current.company} logo` : typeof current.author === "string" ? `${current.author} company logo` : "Company logo",
|
|
44726
|
+
className: cn(
|
|
44727
|
+
"mx-auto mb-6 max-h-12 max-w-32 object-contain md:max-h-16 md:max-w-48",
|
|
44728
|
+
logoClassName
|
|
44729
|
+
),
|
|
44730
|
+
optixFlowConfig
|
|
44731
|
+
}
|
|
44732
|
+
) : /* @__PURE__ */ jsx(
|
|
44733
|
+
DynamicIcon,
|
|
44734
|
+
{
|
|
44735
|
+
name: "mdi/comment-quote-outline",
|
|
44736
|
+
size: 48,
|
|
44737
|
+
className: cn("mx-auto mb-6 opacity-50", quoteIconClassName)
|
|
44738
|
+
}
|
|
44739
|
+
),
|
|
44740
|
+
current.quote && (typeof current.quote === "string" ? /* @__PURE__ */ jsxs(
|
|
44741
|
+
"blockquote",
|
|
44742
|
+
{
|
|
44743
|
+
className: cn(
|
|
44744
|
+
"text-xl font-light leading-relaxed md:text-2xl text-balance",
|
|
44745
|
+
quoteClassName
|
|
44746
|
+
),
|
|
44747
|
+
children: [
|
|
44748
|
+
"\u201C",
|
|
44749
|
+
current.quote,
|
|
44750
|
+
"\u201D"
|
|
44751
|
+
]
|
|
44752
|
+
}
|
|
44753
|
+
) : /* @__PURE__ */ jsx("div", { className: quoteClassName, children: current.quote })),
|
|
44754
|
+
/* @__PURE__ */ jsxs(
|
|
44755
|
+
"div",
|
|
44756
|
+
{
|
|
44757
|
+
className: cn(
|
|
44758
|
+
"mt-8 text-balance flex flex-col items-center",
|
|
44759
|
+
authorClassName
|
|
44760
|
+
),
|
|
44761
|
+
children: [
|
|
44762
|
+
current.author && (typeof current.author === "string" ? /* @__PURE__ */ jsx("p", { className: "text-lg font-semibold", children: current.author }) : current.author),
|
|
44763
|
+
(current.role || current.company) && /* @__PURE__ */ jsxs("p", { className: "text-sm opacity-80", children: [
|
|
44764
|
+
current.role && (typeof current.role === "string" ? current.role : current.role),
|
|
44765
|
+
current.company && (typeof current.company === "string" ? `, ${current.company}` : current.company)
|
|
44766
|
+
] }),
|
|
44767
|
+
current.linkConfig?.href && /* @__PURE__ */ jsx(
|
|
44768
|
+
Pressable,
|
|
44769
|
+
{
|
|
44770
|
+
href: current.linkConfig.href,
|
|
44771
|
+
className: cn(
|
|
44772
|
+
"transition-all duration-500",
|
|
44773
|
+
"hover:underline hover:underline-offset-4",
|
|
44774
|
+
"text-sm",
|
|
44775
|
+
current.linkConfig.className
|
|
44776
|
+
),
|
|
44777
|
+
children: current.linkConfig.label
|
|
44778
|
+
}
|
|
44779
|
+
)
|
|
44780
|
+
]
|
|
44781
|
+
}
|
|
44782
|
+
)
|
|
44783
|
+
]
|
|
44784
|
+
}
|
|
44785
|
+
);
|
|
44786
|
+
}, [
|
|
44787
|
+
testimonialsSlot,
|
|
44788
|
+
contentClassName,
|
|
44789
|
+
quoteIconClassName,
|
|
44790
|
+
logoClassName,
|
|
44791
|
+
optixFlowConfig,
|
|
44792
|
+
current,
|
|
44793
|
+
quoteClassName,
|
|
44794
|
+
authorClassName
|
|
44795
|
+
]);
|
|
44796
|
+
return /* @__PURE__ */ jsxs(
|
|
44797
|
+
Section,
|
|
44798
|
+
{
|
|
44799
|
+
background,
|
|
44800
|
+
spacing,
|
|
44801
|
+
pattern,
|
|
44802
|
+
patternOpacity,
|
|
44803
|
+
className: cn("relative", height, className),
|
|
44804
|
+
containerClassName,
|
|
44805
|
+
children: [
|
|
44806
|
+
/* @__PURE__ */ jsxs("div", { className: "absolute inset-0", children: [
|
|
44807
|
+
/* @__PURE__ */ jsx(AnimatePresence, { initial: false, children: current?.backgroundImage && /* @__PURE__ */ jsx(
|
|
44808
|
+
motion.div,
|
|
44809
|
+
{
|
|
44810
|
+
initial: { opacity: 0 },
|
|
44811
|
+
animate: { opacity: 1 },
|
|
44812
|
+
exit: { opacity: 0 },
|
|
44813
|
+
transition: { duration: 0.6, ease: "easeInOut" },
|
|
44814
|
+
className: "absolute inset-0",
|
|
44815
|
+
children: /* @__PURE__ */ jsx(
|
|
44816
|
+
Img,
|
|
44817
|
+
{
|
|
44818
|
+
src: current.backgroundImage,
|
|
44819
|
+
alt: "Testimonial background image",
|
|
44820
|
+
className: "size-full object-cover",
|
|
44821
|
+
optixFlowConfig
|
|
44822
|
+
}
|
|
44823
|
+
)
|
|
44824
|
+
},
|
|
44825
|
+
currentIndex
|
|
44826
|
+
) }),
|
|
44827
|
+
/* @__PURE__ */ jsx(
|
|
44828
|
+
"div",
|
|
44829
|
+
{
|
|
44830
|
+
className: "absolute inset-0 bg-black",
|
|
44831
|
+
style: { opacity: overlayOpacity }
|
|
44832
|
+
}
|
|
44833
|
+
)
|
|
44834
|
+
] }),
|
|
44835
|
+
/* @__PURE__ */ jsxs("div", { className: "relative z-10 flex h-full flex-col items-center justify-center px-4", children: [
|
|
44836
|
+
/* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsx(
|
|
44837
|
+
motion.div,
|
|
44838
|
+
{
|
|
44839
|
+
initial: { opacity: 0, y: 10 },
|
|
44840
|
+
animate: { opacity: 1, y: 0 },
|
|
44841
|
+
exit: { opacity: 0, y: -10 },
|
|
44842
|
+
transition: { duration: 0.4, ease: "easeInOut" },
|
|
44843
|
+
children: renderedTestimonialContent
|
|
44844
|
+
},
|
|
44845
|
+
currentIndex
|
|
44846
|
+
) }),
|
|
44847
|
+
/* @__PURE__ */ jsxs(
|
|
44848
|
+
"div",
|
|
44849
|
+
{
|
|
44850
|
+
className: cn(
|
|
44851
|
+
"absolute bottom-8 left-0 right-0 flex items-center justify-center gap-4",
|
|
44852
|
+
navigationClassName
|
|
44853
|
+
),
|
|
44854
|
+
children: [
|
|
44855
|
+
/* @__PURE__ */ jsx(
|
|
44856
|
+
Pressable,
|
|
44857
|
+
{
|
|
44858
|
+
asButton: true,
|
|
44859
|
+
variant: "default",
|
|
44860
|
+
size: "icon",
|
|
44861
|
+
className: cn("size-10 rounded-full", navButtonClassName),
|
|
44862
|
+
onClick: goToPrevious,
|
|
44863
|
+
"aria-label": previousButtonAriaLabel ?? "Previous testimonial",
|
|
44864
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-left", size: 24 })
|
|
44865
|
+
}
|
|
44866
|
+
),
|
|
44867
|
+
/* @__PURE__ */ jsx("div", { className: cn("flex gap-2", dotsClassName), children: testimonials?.map((_, index) => /* @__PURE__ */ jsx(
|
|
44868
|
+
"button",
|
|
44869
|
+
{
|
|
44870
|
+
onClick: () => goToIndex(index),
|
|
44871
|
+
className: cn(
|
|
44872
|
+
"size-2 rounded-full transition-all",
|
|
44873
|
+
index === currentIndex ? "w-6 bg-primary" : "bg-white/40 hover:bg-white/60"
|
|
44874
|
+
),
|
|
44875
|
+
"aria-label": `Go to testimonial ${index + 1}`
|
|
44876
|
+
},
|
|
44877
|
+
index
|
|
44878
|
+
)) }),
|
|
44879
|
+
/* @__PURE__ */ jsx(
|
|
44880
|
+
Pressable,
|
|
44881
|
+
{
|
|
44882
|
+
asButton: true,
|
|
44883
|
+
variant: "default",
|
|
44884
|
+
size: "icon",
|
|
44885
|
+
className: cn("size-10 rounded-full", navButtonClassName),
|
|
44886
|
+
onClick: goToNext,
|
|
44887
|
+
"aria-label": nextButtonAriaLabel ?? "Next testimonial",
|
|
44888
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 24 })
|
|
44889
|
+
}
|
|
44890
|
+
)
|
|
44891
|
+
]
|
|
44892
|
+
}
|
|
44893
|
+
)
|
|
44894
|
+
] })
|
|
44895
|
+
]
|
|
44896
|
+
}
|
|
44897
|
+
);
|
|
44624
44898
|
}
|
|
44625
44899
|
function TestimonialsCenteredAvatars({
|
|
44626
44900
|
testimonials,
|
|
@@ -44637,7 +44911,8 @@ function TestimonialsCenteredAvatars({
|
|
|
44637
44911
|
quoteClassName,
|
|
44638
44912
|
authorClassName,
|
|
44639
44913
|
background,
|
|
44640
|
-
|
|
44914
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
44915
|
+
spacing = "xl",
|
|
44641
44916
|
pattern,
|
|
44642
44917
|
patternOpacity
|
|
44643
44918
|
}) {
|
|
@@ -44645,46 +44920,62 @@ function TestimonialsCenteredAvatars({
|
|
|
44645
44920
|
if (typeof testimonial.author === "string") return testimonial.author;
|
|
44646
44921
|
return "";
|
|
44647
44922
|
}, []);
|
|
44648
|
-
const getAvatarSrc = useCallback(
|
|
44649
|
-
|
|
44650
|
-
|
|
44923
|
+
const getAvatarSrc = useCallback(
|
|
44924
|
+
(testimonial) => {
|
|
44925
|
+
return testimonial.avatarSrc || testimonial.avatar?.src;
|
|
44926
|
+
},
|
|
44927
|
+
[]
|
|
44928
|
+
);
|
|
44651
44929
|
const getInitials = useCallback((name) => {
|
|
44652
44930
|
return name.split(" ").map((n) => n[0]).join("");
|
|
44653
44931
|
}, []);
|
|
44654
44932
|
const renderedTestimonials = useMemo(() => {
|
|
44655
44933
|
if (testimonialsSlot) return testimonialsSlot;
|
|
44656
44934
|
if (!testimonials || testimonials.length === 0) return null;
|
|
44657
|
-
return /* @__PURE__ */ jsx(
|
|
44935
|
+
return /* @__PURE__ */ jsx(
|
|
44658
44936
|
"div",
|
|
44659
44937
|
{
|
|
44660
|
-
className: cn("space-y-
|
|
44661
|
-
children:
|
|
44662
|
-
|
|
44663
|
-
|
|
44664
|
-
|
|
44665
|
-
|
|
44666
|
-
|
|
44667
|
-
|
|
44668
|
-
|
|
44669
|
-
|
|
44670
|
-
|
|
44671
|
-
|
|
44672
|
-
|
|
44673
|
-
|
|
44674
|
-
|
|
44675
|
-
|
|
44676
|
-
|
|
44677
|
-
|
|
44678
|
-
|
|
44679
|
-
|
|
44680
|
-
|
|
44681
|
-
|
|
44682
|
-
|
|
44683
|
-
|
|
44684
|
-
|
|
44685
|
-
|
|
44686
|
-
|
|
44687
|
-
|
|
44938
|
+
className: cn("mt-12 space-y-8 md:space-y-12", testimonialsClassName),
|
|
44939
|
+
children: testimonials.map((testimonial, index) => /* @__PURE__ */ jsxs(
|
|
44940
|
+
"div",
|
|
44941
|
+
{
|
|
44942
|
+
className: cn("space-y-4", testimonialItemClassName),
|
|
44943
|
+
children: [
|
|
44944
|
+
testimonial.quote && (typeof testimonial.quote === "string" ? /* @__PURE__ */ jsxs(
|
|
44945
|
+
"blockquote",
|
|
44946
|
+
{
|
|
44947
|
+
className: cn(
|
|
44948
|
+
"text-lg leading-relaxed md:text-xl text-balance",
|
|
44949
|
+
quoteClassName
|
|
44950
|
+
),
|
|
44951
|
+
children: [
|
|
44952
|
+
"\u201C",
|
|
44953
|
+
testimonial.quote,
|
|
44954
|
+
"\u201D"
|
|
44955
|
+
]
|
|
44956
|
+
}
|
|
44957
|
+
) : /* @__PURE__ */ jsx("div", { className: quoteClassName, children: testimonial.quote })),
|
|
44958
|
+
/* @__PURE__ */ jsxs("div", { className: authorClassName, children: [
|
|
44959
|
+
testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsx("p", { className: "font-semibold", children: testimonial.author }) : testimonial.author),
|
|
44960
|
+
(testimonial.role || testimonial.company) && /* @__PURE__ */ jsxs("p", { className: "text-sm opacity-75", children: [
|
|
44961
|
+
testimonial.role && (typeof testimonial.role === "string" ? testimonial.role : testimonial.role),
|
|
44962
|
+
testimonial.company && (typeof testimonial.company === "string" ? ` at ${testimonial.company}` : testimonial.company)
|
|
44963
|
+
] })
|
|
44964
|
+
] })
|
|
44965
|
+
]
|
|
44966
|
+
},
|
|
44967
|
+
index
|
|
44968
|
+
))
|
|
44969
|
+
}
|
|
44970
|
+
);
|
|
44971
|
+
}, [
|
|
44972
|
+
testimonialsSlot,
|
|
44973
|
+
testimonialsClassName,
|
|
44974
|
+
testimonials,
|
|
44975
|
+
testimonialItemClassName,
|
|
44976
|
+
quoteClassName,
|
|
44977
|
+
authorClassName
|
|
44978
|
+
]);
|
|
44688
44979
|
return /* @__PURE__ */ jsx(
|
|
44689
44980
|
Section,
|
|
44690
44981
|
{
|
|
@@ -44693,35 +44984,45 @@ function TestimonialsCenteredAvatars({
|
|
|
44693
44984
|
pattern,
|
|
44694
44985
|
patternOpacity,
|
|
44695
44986
|
className,
|
|
44696
|
-
|
|
44697
|
-
|
|
44698
|
-
|
|
44699
|
-
|
|
44700
|
-
|
|
44701
|
-
|
|
44702
|
-
|
|
44703
|
-
|
|
44704
|
-
|
|
44705
|
-
children:
|
|
44706
|
-
|
|
44707
|
-
|
|
44708
|
-
|
|
44709
|
-
|
|
44710
|
-
|
|
44711
|
-
|
|
44712
|
-
|
|
44713
|
-
|
|
44714
|
-
|
|
44715
|
-
|
|
44716
|
-
|
|
44717
|
-
|
|
44718
|
-
|
|
44719
|
-
|
|
44720
|
-
|
|
44721
|
-
|
|
44722
|
-
|
|
44723
|
-
|
|
44724
|
-
|
|
44987
|
+
containerClassName,
|
|
44988
|
+
children: /* @__PURE__ */ jsxs(
|
|
44989
|
+
"div",
|
|
44990
|
+
{
|
|
44991
|
+
className: cn(
|
|
44992
|
+
"mx-auto max-w-full md:max-w-md text-center flex flex-col items-center gap-6 bg-card/50 px-10 py-20 shadow-xl border border-border/50 rounded-3xl backdrop-blur-md",
|
|
44993
|
+
contentClassName
|
|
44994
|
+
),
|
|
44995
|
+
children: [
|
|
44996
|
+
badge && (typeof badge === "string" ? /* @__PURE__ */ jsx(Badge, { className: badgeClassName, children: badge }) : badge),
|
|
44997
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
44998
|
+
"h2",
|
|
44999
|
+
{
|
|
45000
|
+
className: cn(
|
|
45001
|
+
"text-2xl font-semibold tracking-tight md:text-4xl lg:text-6xl text-balance",
|
|
45002
|
+
headingClassName
|
|
45003
|
+
),
|
|
45004
|
+
children: heading
|
|
45005
|
+
}
|
|
45006
|
+
) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
|
|
45007
|
+
testimonials && testimonials.length > 0 && /* @__PURE__ */ jsx("div", { className: cn("mt-8 flex justify-center", avatarsClassName), children: /* @__PURE__ */ jsx("div", { className: "flex -space-x-4", children: testimonials.map((testimonial, index) => {
|
|
45008
|
+
const authorName = getAuthorName(testimonial);
|
|
45009
|
+
const avatarSrc = getAvatarSrc(testimonial);
|
|
45010
|
+
return /* @__PURE__ */ jsxs(
|
|
45011
|
+
Avatar,
|
|
45012
|
+
{
|
|
45013
|
+
className: "relative flex shrink-0 overflow-hidden rounded-full size-16 ring-4 ring-primary md:size-20 shadow-xl",
|
|
45014
|
+
children: [
|
|
45015
|
+
/* @__PURE__ */ jsx(AvatarImage, { src: avatarSrc, alt: authorName }),
|
|
45016
|
+
/* @__PURE__ */ jsx(AvatarFallback, { className: "text-lg", children: getInitials(authorName) })
|
|
45017
|
+
]
|
|
45018
|
+
},
|
|
45019
|
+
index
|
|
45020
|
+
);
|
|
45021
|
+
}) }) }),
|
|
45022
|
+
renderedTestimonials
|
|
45023
|
+
]
|
|
45024
|
+
}
|
|
45025
|
+
)
|
|
44725
45026
|
}
|
|
44726
45027
|
);
|
|
44727
45028
|
}
|
|
@@ -44749,14 +45050,14 @@ function TestimonialsCompanyLogo({
|
|
|
44749
45050
|
const renderedTestimonial = useMemo(() => {
|
|
44750
45051
|
if (testimonialSlot) return testimonialSlot;
|
|
44751
45052
|
if (!testimonial) return null;
|
|
44752
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("space-y-
|
|
45053
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("space-y-12 md:space-y-16", contentClassName), children: [
|
|
44753
45054
|
/* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
44754
45055
|
/* @__PURE__ */ jsx(DynamicIcon, { name: "mdi/comment-quote-outline", size: 48 }),
|
|
44755
45056
|
testimonial.quote && (typeof testimonial.quote === "string" ? /* @__PURE__ */ jsx(
|
|
44756
45057
|
"blockquote",
|
|
44757
45058
|
{
|
|
44758
45059
|
className: cn(
|
|
44759
|
-
"relative text-
|
|
45060
|
+
"relative text-lg font-light leading-relaxed md:text-2xl",
|
|
44760
45061
|
quoteClassName
|
|
44761
45062
|
),
|
|
44762
45063
|
children: testimonial.quote
|
|
@@ -44774,15 +45075,15 @@ function TestimonialsCompanyLogo({
|
|
|
44774
45075
|
}
|
|
44775
45076
|
),
|
|
44776
45077
|
/* @__PURE__ */ jsxs("div", { className: cn("space-y-1 text-right", authorClassName), children: [
|
|
44777
|
-
/* @__PURE__ */ jsxs("div", { className: "
|
|
45078
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-end", children: [
|
|
44778
45079
|
testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsx("span", { className: "font-semibold", children: testimonial.author }) : testimonial.author),
|
|
44779
|
-
testimonial.role && (typeof testimonial.role === "string" ? /* @__PURE__ */ jsx("span", { className: "text-sm", children: testimonial.role }) : testimonial.role)
|
|
45080
|
+
testimonial.role && (typeof testimonial.role === "string" ? /* @__PURE__ */ jsx("span", { className: "text-sm opacity-75", children: testimonial.role }) : testimonial.role)
|
|
44780
45081
|
] }),
|
|
44781
45082
|
/* @__PURE__ */ jsx(
|
|
44782
45083
|
Pressable,
|
|
44783
45084
|
{
|
|
44784
45085
|
href: testimonial.linkConfig?.href,
|
|
44785
|
-
className: "text-sm font-bold uppercase transition-all duration-
|
|
45086
|
+
className: "cursor-pointer text-sm font-bold uppercase transition-all duration-500 hover:underline hover:underline-offset-4",
|
|
44786
45087
|
children: testimonial.linkConfig?.label || "Learn more"
|
|
44787
45088
|
}
|
|
44788
45089
|
)
|
|
@@ -44813,7 +45114,7 @@ function TestimonialsCompanyLogo({
|
|
|
44813
45114
|
"div",
|
|
44814
45115
|
{
|
|
44815
45116
|
className: cn(
|
|
44816
|
-
"grid items-center gap-
|
|
45117
|
+
"grid items-center gap-16 lg:gap-24 grid-cols-1 lg:grid-cols-2",
|
|
44817
45118
|
gridClassName
|
|
44818
45119
|
),
|
|
44819
45120
|
children: [
|
|
@@ -44844,19 +45145,6 @@ function TestimonialsCompanyLogo({
|
|
|
44844
45145
|
}
|
|
44845
45146
|
);
|
|
44846
45147
|
}
|
|
44847
|
-
function StarRating3({ rating, size = 16 }) {
|
|
44848
|
-
return /* @__PURE__ */ jsx("div", { className: "flex items-center gap-0.5", children: [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ jsx(
|
|
44849
|
-
DynamicIcon,
|
|
44850
|
-
{
|
|
44851
|
-
name: "lucide/star",
|
|
44852
|
-
size,
|
|
44853
|
-
className: cn(
|
|
44854
|
-
star <= rating ? "fill-primary text-primary" : "fill-muted text-muted"
|
|
44855
|
-
)
|
|
44856
|
-
},
|
|
44857
|
-
star
|
|
44858
|
-
)) });
|
|
44859
|
-
}
|
|
44860
45148
|
function TestimonialsGridAddReview({
|
|
44861
45149
|
reviews,
|
|
44862
45150
|
reviewsSlot,
|
|
@@ -44903,27 +45191,33 @@ function TestimonialsGridAddReview({
|
|
|
44903
45191
|
addReviewCardClassName
|
|
44904
45192
|
),
|
|
44905
45193
|
onClick: onAddReview,
|
|
44906
|
-
children: /* @__PURE__ */ jsxs(
|
|
44907
|
-
|
|
44908
|
-
|
|
44909
|
-
|
|
44910
|
-
|
|
44911
|
-
|
|
44912
|
-
|
|
44913
|
-
|
|
44914
|
-
size:
|
|
44915
|
-
|
|
44916
|
-
|
|
44917
|
-
|
|
44918
|
-
|
|
44919
|
-
|
|
44920
|
-
|
|
45194
|
+
children: /* @__PURE__ */ jsxs(
|
|
45195
|
+
CardContent,
|
|
45196
|
+
{
|
|
45197
|
+
className: cn(
|
|
45198
|
+
"flex flex-col items-center gap-3 py-12 text-center",
|
|
45199
|
+
getNestedCardTextColor(background)
|
|
45200
|
+
),
|
|
45201
|
+
children: [
|
|
45202
|
+
/* @__PURE__ */ jsx("div", { className: "flex size-12 items-center justify-center rounded-full bg-primary/10", children: /* @__PURE__ */ jsx(
|
|
45203
|
+
DynamicIcon,
|
|
45204
|
+
{
|
|
45205
|
+
name: "lucide/plus",
|
|
45206
|
+
size: 24,
|
|
45207
|
+
className: "text-primary"
|
|
45208
|
+
}
|
|
45209
|
+
) }),
|
|
45210
|
+
addReviewText && (typeof addReviewText === "string" ? /* @__PURE__ */ jsx("p", { className: "font-medium", children: addReviewText }) : addReviewText),
|
|
45211
|
+
addReviewSubtext && (typeof addReviewSubtext === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: addReviewSubtext }) : addReviewSubtext)
|
|
45212
|
+
]
|
|
45213
|
+
}
|
|
45214
|
+
)
|
|
44921
45215
|
}
|
|
44922
45216
|
),
|
|
44923
45217
|
reviews?.map((review, index) => {
|
|
44924
45218
|
const authorName = getAuthorName(review);
|
|
44925
45219
|
return /* @__PURE__ */ jsx(Card, { className: cardClassName, children: /* @__PURE__ */ jsxs(CardContent, { className: "space-y-4 p-6", children: [
|
|
44926
|
-
/* @__PURE__ */ jsx(
|
|
45220
|
+
/* @__PURE__ */ jsx(StarRating, { rating: review.rating }),
|
|
44927
45221
|
review.content && (typeof review.content === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm leading-relaxed", children: review.content }) : review.content),
|
|
44928
45222
|
/* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-3", authorClassName), children: [
|
|
44929
45223
|
/* @__PURE__ */ jsxs(Avatar, { className: "size-8", children: [
|
|
@@ -44937,7 +45231,19 @@ function TestimonialsGridAddReview({
|
|
|
44937
45231
|
]
|
|
44938
45232
|
}
|
|
44939
45233
|
);
|
|
44940
|
-
}, [
|
|
45234
|
+
}, [
|
|
45235
|
+
reviewsSlot,
|
|
45236
|
+
gridClassName,
|
|
45237
|
+
addReviewCardClassName,
|
|
45238
|
+
onAddReview,
|
|
45239
|
+
addReviewText,
|
|
45240
|
+
addReviewSubtext,
|
|
45241
|
+
reviews,
|
|
45242
|
+
cardClassName,
|
|
45243
|
+
authorClassName,
|
|
45244
|
+
getAuthorName,
|
|
45245
|
+
getInitials
|
|
45246
|
+
]);
|
|
44941
45247
|
return /* @__PURE__ */ jsxs(
|
|
44942
45248
|
Section,
|
|
44943
45249
|
{
|
|
@@ -45001,7 +45307,8 @@ function TestimonialsMarquee({
|
|
|
45001
45307
|
quoteClassName,
|
|
45002
45308
|
authorClassName,
|
|
45003
45309
|
background,
|
|
45004
|
-
|
|
45310
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
45311
|
+
spacing = "xl",
|
|
45005
45312
|
pattern,
|
|
45006
45313
|
patternOpacity
|
|
45007
45314
|
}) {
|
|
@@ -45011,81 +45318,102 @@ function TestimonialsMarquee({
|
|
|
45011
45318
|
if (typeof testimonial.author === "string") return testimonial.author;
|
|
45012
45319
|
return "";
|
|
45013
45320
|
}, []);
|
|
45014
|
-
const getAvatarSrc = useCallback(
|
|
45015
|
-
|
|
45016
|
-
|
|
45321
|
+
const getAvatarSrc = useCallback(
|
|
45322
|
+
(testimonial) => {
|
|
45323
|
+
return testimonial.avatarSrc || testimonial.avatar?.src;
|
|
45324
|
+
},
|
|
45325
|
+
[]
|
|
45326
|
+
);
|
|
45017
45327
|
const getInitials = useCallback((name) => {
|
|
45018
45328
|
return name.split(" ").map((n) => n[0]).join("");
|
|
45019
45329
|
}, []);
|
|
45020
45330
|
const renderedTestimonials = useMemo(() => {
|
|
45021
45331
|
if (testimonialsSlot) return testimonialsSlot;
|
|
45022
45332
|
if (!testimonials || testimonials.length === 0) return null;
|
|
45023
|
-
return /* @__PURE__ */
|
|
45024
|
-
|
|
45025
|
-
|
|
45026
|
-
|
|
45027
|
-
|
|
45028
|
-
|
|
45029
|
-
|
|
45030
|
-
|
|
45031
|
-
|
|
45032
|
-
|
|
45033
|
-
|
|
45034
|
-
"
|
|
45035
|
-
{
|
|
45036
|
-
|
|
45037
|
-
|
|
45038
|
-
|
|
45039
|
-
|
|
45040
|
-
|
|
45041
|
-
|
|
45042
|
-
|
|
45043
|
-
|
|
45044
|
-
|
|
45045
|
-
|
|
45046
|
-
|
|
45047
|
-
|
|
45048
|
-
|
|
45049
|
-
|
|
45050
|
-
|
|
45051
|
-
|
|
45052
|
-
|
|
45053
|
-
|
|
45054
|
-
|
|
45055
|
-
|
|
45056
|
-
|
|
45057
|
-
|
|
45058
|
-
|
|
45059
|
-
|
|
45060
|
-
|
|
45061
|
-
|
|
45062
|
-
|
|
45063
|
-
|
|
45064
|
-
|
|
45065
|
-
|
|
45066
|
-
|
|
45067
|
-
|
|
45068
|
-
|
|
45069
|
-
|
|
45070
|
-
|
|
45071
|
-
|
|
45072
|
-
|
|
45073
|
-
|
|
45074
|
-
|
|
45075
|
-
|
|
45076
|
-
|
|
45077
|
-
|
|
45078
|
-
|
|
45079
|
-
|
|
45080
|
-
|
|
45081
|
-
|
|
45082
|
-
|
|
45083
|
-
|
|
45084
|
-
|
|
45085
|
-
|
|
45086
|
-
|
|
45087
|
-
|
|
45088
|
-
|
|
45333
|
+
return /* @__PURE__ */ jsx(
|
|
45334
|
+
"div",
|
|
45335
|
+
{
|
|
45336
|
+
className: cn(
|
|
45337
|
+
"relative marquee-fade",
|
|
45338
|
+
pauseOnHover && "marquee-pause-on-hover",
|
|
45339
|
+
marqueeClassName
|
|
45340
|
+
),
|
|
45341
|
+
children: /* @__PURE__ */ jsx("div", { className: "flex gap-4", children: /* @__PURE__ */ jsx(
|
|
45342
|
+
"div",
|
|
45343
|
+
{
|
|
45344
|
+
className: "marquee-content flex shrink-0 animate-marquee gap-4",
|
|
45345
|
+
style: {
|
|
45346
|
+
animationDuration: speedMap[effectiveSpeed]
|
|
45347
|
+
},
|
|
45348
|
+
children: duplicatedTestimonials.map((testimonial, index) => {
|
|
45349
|
+
const authorName = getAuthorName(testimonial);
|
|
45350
|
+
const avatarSrc = getAvatarSrc(testimonial);
|
|
45351
|
+
return /* @__PURE__ */ jsx(
|
|
45352
|
+
Pressable,
|
|
45353
|
+
{
|
|
45354
|
+
href: testimonial?.linkConfig?.href,
|
|
45355
|
+
className: cn(
|
|
45356
|
+
"bg-card text-card-foreground",
|
|
45357
|
+
"rounded-2xl border shadow-xl",
|
|
45358
|
+
"cursor-pointer transition-all duration-500",
|
|
45359
|
+
"hover:bg-primary hover:text-primary-foreground",
|
|
45360
|
+
"flex flex-col gap-6 w-80 shrink-0",
|
|
45361
|
+
cardClassName
|
|
45362
|
+
),
|
|
45363
|
+
children: /* @__PURE__ */ jsxs(CardContent, { className: "p-6 h-full flex flex-col justify-between gap-12", children: [
|
|
45364
|
+
testimonial.quote && (typeof testimonial.quote === "string" ? /* @__PURE__ */ jsxs(
|
|
45365
|
+
"p",
|
|
45366
|
+
{
|
|
45367
|
+
className: cn(
|
|
45368
|
+
"mb-4 text-sm leading-relaxed",
|
|
45369
|
+
quoteClassName
|
|
45370
|
+
),
|
|
45371
|
+
children: [
|
|
45372
|
+
"\u201C",
|
|
45373
|
+
testimonial.quote,
|
|
45374
|
+
"\u201D"
|
|
45375
|
+
]
|
|
45376
|
+
}
|
|
45377
|
+
) : /* @__PURE__ */ jsx("div", { className: cn("mb-4", quoteClassName), children: testimonial.quote })),
|
|
45378
|
+
/* @__PURE__ */ jsxs(
|
|
45379
|
+
"div",
|
|
45380
|
+
{
|
|
45381
|
+
className: cn("flex items-center gap-4", authorClassName),
|
|
45382
|
+
children: [
|
|
45383
|
+
/* @__PURE__ */ jsxs(Avatar, { className: "relative flex shrink-0 overflow-hidden rounded-full size-10 ring-4 ring-primary shadow-lg", children: [
|
|
45384
|
+
/* @__PURE__ */ jsx(AvatarImage, { src: avatarSrc, alt: authorName }),
|
|
45385
|
+
/* @__PURE__ */ jsx(AvatarFallback, { className: "text-xs", children: getInitials(authorName) })
|
|
45386
|
+
] }),
|
|
45387
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
45388
|
+
testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsx("p", { className: "text-base font-medium", children: testimonial.author }) : testimonial.author),
|
|
45389
|
+
testimonial.role && (typeof testimonial.role === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm", children: testimonial.role }) : testimonial.role)
|
|
45390
|
+
] })
|
|
45391
|
+
]
|
|
45392
|
+
}
|
|
45393
|
+
)
|
|
45394
|
+
] })
|
|
45395
|
+
},
|
|
45396
|
+
index
|
|
45397
|
+
);
|
|
45398
|
+
})
|
|
45399
|
+
}
|
|
45400
|
+
) })
|
|
45401
|
+
}
|
|
45402
|
+
);
|
|
45403
|
+
}, [
|
|
45404
|
+
testimonialsSlot,
|
|
45405
|
+
marqueeClassName,
|
|
45406
|
+
pauseOnHover,
|
|
45407
|
+
effectiveSpeed,
|
|
45408
|
+
duplicatedTestimonials,
|
|
45409
|
+
cardClassName,
|
|
45410
|
+
quoteClassName,
|
|
45411
|
+
authorClassName,
|
|
45412
|
+
testimonials,
|
|
45413
|
+
getAuthorName,
|
|
45414
|
+
getAvatarSrc,
|
|
45415
|
+
getInitials
|
|
45416
|
+
]);
|
|
45089
45417
|
return /* @__PURE__ */ jsxs(
|
|
45090
45418
|
Section,
|
|
45091
45419
|
{
|
|
@@ -45094,28 +45422,20 @@ function TestimonialsMarquee({
|
|
|
45094
45422
|
pattern,
|
|
45095
45423
|
patternOpacity,
|
|
45096
45424
|
className: cn("overflow-hidden", className),
|
|
45425
|
+
containerClassName,
|
|
45097
45426
|
children: [
|
|
45098
|
-
/* @__PURE__ */ jsx("div", { className: cn("mb-12", headerClassName), children: /* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-2xl text-center", children: [
|
|
45427
|
+
/* @__PURE__ */ jsx("div", { className: cn("mb-12", headerClassName), children: /* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-full md:max-w-2xl text-center space-y-2", children: [
|
|
45099
45428
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
45100
45429
|
"h2",
|
|
45101
45430
|
{
|
|
45102
45431
|
className: cn(
|
|
45103
|
-
"text-3xl font-semibold tracking-tight md:text-4xl",
|
|
45432
|
+
"text-3xl font-semibold tracking-tight md:text-4xl lg:text-6xl text-pretty",
|
|
45104
45433
|
headingClassName
|
|
45105
45434
|
),
|
|
45106
45435
|
children: heading
|
|
45107
45436
|
}
|
|
45108
|
-
) :
|
|
45109
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
45110
|
-
"p",
|
|
45111
|
-
{
|
|
45112
|
-
className: cn(
|
|
45113
|
-
"mt-4 text-lg text-muted-foreground",
|
|
45114
|
-
descriptionClassName
|
|
45115
|
-
),
|
|
45116
|
-
children: description
|
|
45117
|
-
}
|
|
45118
|
-
) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", descriptionClassName), children: description }))
|
|
45437
|
+
) : heading),
|
|
45438
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-lg text-balance", descriptionClassName), children: description }) : description)
|
|
45119
45439
|
] }) }),
|
|
45120
45440
|
renderedTestimonials,
|
|
45121
45441
|
/* @__PURE__ */ jsx("style", { children: `
|
|
@@ -45130,9 +45450,13 @@ function TestimonialsMarquee({
|
|
|
45130
45450
|
.animate-marquee {
|
|
45131
45451
|
animation: marquee linear infinite;
|
|
45132
45452
|
}
|
|
45133
|
-
.pause {
|
|
45453
|
+
.marquee-pause-on-hover:hover .marquee-content {
|
|
45134
45454
|
animation-play-state: paused;
|
|
45135
45455
|
}
|
|
45456
|
+
.marquee-fade {
|
|
45457
|
+
-webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
|
|
45458
|
+
mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
|
|
45459
|
+
}
|
|
45136
45460
|
` })
|
|
45137
45461
|
]
|
|
45138
45462
|
}
|
|
@@ -45148,6 +45472,7 @@ function TestimonialsSimpleGrid({
|
|
|
45148
45472
|
headerClassName,
|
|
45149
45473
|
headingClassName,
|
|
45150
45474
|
descriptionClassName,
|
|
45475
|
+
cardContentClassName,
|
|
45151
45476
|
gridClassName,
|
|
45152
45477
|
cardClassName,
|
|
45153
45478
|
quoteClassName,
|
|
@@ -45158,17 +45483,11 @@ function TestimonialsSimpleGrid({
|
|
|
45158
45483
|
pattern,
|
|
45159
45484
|
patternOpacity
|
|
45160
45485
|
}) {
|
|
45161
|
-
const gridCols = {
|
|
45162
|
-
2: "sm:grid-cols-2",
|
|
45163
|
-
3: "sm:grid-cols-2 lg:grid-cols-3",
|
|
45164
|
-
4: "sm:grid-cols-2 lg:grid-cols-4"
|
|
45165
|
-
};
|
|
45166
|
-
const effectiveColumns = columns || 3;
|
|
45167
45486
|
const getAuthorName = useCallback((testimonial) => {
|
|
45168
45487
|
if (typeof testimonial.author === "string") return testimonial.author;
|
|
45169
45488
|
return "";
|
|
45170
45489
|
}, []);
|
|
45171
|
-
|
|
45490
|
+
useCallback(
|
|
45172
45491
|
(testimonial) => {
|
|
45173
45492
|
return testimonial.avatarSrc || testimonial.avatar?.src;
|
|
45174
45493
|
},
|
|
@@ -45183,53 +45502,89 @@ function TestimonialsSimpleGrid({
|
|
|
45183
45502
|
return /* @__PURE__ */ jsx(
|
|
45184
45503
|
"div",
|
|
45185
45504
|
{
|
|
45186
|
-
className: cn(
|
|
45505
|
+
className: cn(
|
|
45506
|
+
"grid gap-4 md:gap-6 lg:gap-8 md:grid-cols-2 lg:grid-cols-3",
|
|
45507
|
+
gridClassName
|
|
45508
|
+
),
|
|
45187
45509
|
children: testimonials.map((testimonial, index) => {
|
|
45188
45510
|
const authorName = getAuthorName(testimonial);
|
|
45189
|
-
|
|
45190
|
-
|
|
45191
|
-
|
|
45192
|
-
|
|
45193
|
-
|
|
45194
|
-
|
|
45195
|
-
|
|
45196
|
-
|
|
45197
|
-
|
|
45198
|
-
|
|
45199
|
-
|
|
45200
|
-
|
|
45201
|
-
|
|
45202
|
-
|
|
45203
|
-
|
|
45204
|
-
|
|
45205
|
-
|
|
45206
|
-
|
|
45207
|
-
|
|
45208
|
-
|
|
45209
|
-
|
|
45210
|
-
|
|
45211
|
-
|
|
45212
|
-
|
|
45213
|
-
|
|
45214
|
-
|
|
45215
|
-
|
|
45216
|
-
|
|
45217
|
-
|
|
45218
|
-
|
|
45511
|
+
return /* @__PURE__ */ jsx(
|
|
45512
|
+
Pressable,
|
|
45513
|
+
{
|
|
45514
|
+
href: testimonial.linkConfig?.href,
|
|
45515
|
+
className: cn(
|
|
45516
|
+
"bg-card text-card-foreground",
|
|
45517
|
+
"flex flex-col gap-6",
|
|
45518
|
+
testimonial.linkConfig?.href ? "cursor-pointer hover:bg-black hover:text-white transition-all duration-500" : "",
|
|
45519
|
+
"rounded-2xl py-0 shadow-xl group",
|
|
45520
|
+
"ring-4 ring-ring",
|
|
45521
|
+
cardClassName
|
|
45522
|
+
),
|
|
45523
|
+
children: /* @__PURE__ */ jsxs(
|
|
45524
|
+
CardContent,
|
|
45525
|
+
{
|
|
45526
|
+
className: cn(
|
|
45527
|
+
"px-0 h-full flex flex-col-reverse items-stretch justify-between gap-12",
|
|
45528
|
+
cardContentClassName
|
|
45529
|
+
),
|
|
45530
|
+
children: [
|
|
45531
|
+
/* @__PURE__ */ jsx(
|
|
45532
|
+
"div",
|
|
45533
|
+
{
|
|
45534
|
+
className: cn(
|
|
45535
|
+
"flex items-center justify-between",
|
|
45536
|
+
authorClassName
|
|
45537
|
+
),
|
|
45538
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4", children: [
|
|
45539
|
+
/* @__PURE__ */ jsxs(Avatar, { className: "relative flex shrink-0 size-24 border-t-4 border-r-4 border-primary rounded-tr-xl rounded-tl-none rounded-br-none rounded-bl-none shadow-xl", children: [
|
|
45540
|
+
/* @__PURE__ */ jsx(
|
|
45541
|
+
AvatarImage,
|
|
45542
|
+
{
|
|
45543
|
+
src: testimonial.avatarSrc,
|
|
45544
|
+
alt: authorName
|
|
45545
|
+
}
|
|
45546
|
+
),
|
|
45547
|
+
/* @__PURE__ */ jsx(AvatarFallback, { children: getInitials(authorName) })
|
|
45548
|
+
] }),
|
|
45549
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1 pt-2 pr-6 pb-2", children: [
|
|
45550
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-0", children: [
|
|
45551
|
+
testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsx("p", { className: "text-lg font-semibold leading-relaxed", children: testimonial.author }) : testimonial.author),
|
|
45552
|
+
testimonial.role && (typeof testimonial.role === "string" ? /* @__PURE__ */ jsx("p", { className: "text-base", children: testimonial.role }) : testimonial.role)
|
|
45553
|
+
] }),
|
|
45554
|
+
testimonial.linkConfig?.href && /* @__PURE__ */ jsx(
|
|
45555
|
+
Pressable,
|
|
45556
|
+
{
|
|
45557
|
+
href: testimonial.linkConfig.href,
|
|
45558
|
+
className: cn(
|
|
45559
|
+
"text-base transition-all duration-300",
|
|
45560
|
+
"underline underline-offset-4",
|
|
45561
|
+
testimonial.linkConfig.className
|
|
45562
|
+
),
|
|
45563
|
+
children: testimonial.linkConfig.label
|
|
45564
|
+
}
|
|
45565
|
+
)
|
|
45566
|
+
] })
|
|
45567
|
+
] })
|
|
45568
|
+
}
|
|
45569
|
+
),
|
|
45570
|
+
/* @__PURE__ */ jsx("div", { className: "pt-6 md: pt-8 px-6 md:px-8", children: testimonial.quote && (typeof testimonial.quote === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm leading-relaxed", children: testimonial.quote }) : testimonial.quote) })
|
|
45571
|
+
]
|
|
45572
|
+
}
|
|
45573
|
+
)
|
|
45574
|
+
},
|
|
45575
|
+
index
|
|
45576
|
+
);
|
|
45219
45577
|
})
|
|
45220
45578
|
}
|
|
45221
45579
|
);
|
|
45222
45580
|
}, [
|
|
45223
45581
|
testimonialsSlot,
|
|
45224
|
-
gridCols,
|
|
45225
|
-
effectiveColumns,
|
|
45226
45582
|
gridClassName,
|
|
45227
45583
|
testimonials,
|
|
45228
45584
|
cardClassName,
|
|
45229
|
-
|
|
45585
|
+
cardContentClassName,
|
|
45230
45586
|
authorClassName,
|
|
45231
45587
|
getAuthorName,
|
|
45232
|
-
getAvatarSrc,
|
|
45233
45588
|
getInitials
|
|
45234
45589
|
]);
|
|
45235
45590
|
return /* @__PURE__ */ jsxs(
|
|
@@ -45245,19 +45600,29 @@ function TestimonialsSimpleGrid({
|
|
|
45245
45600
|
/* @__PURE__ */ jsxs(
|
|
45246
45601
|
"div",
|
|
45247
45602
|
{
|
|
45248
|
-
className: cn(
|
|
45603
|
+
className: cn(
|
|
45604
|
+
"mx-auto mb-12 max-w-full md:max-w-2xl text-center",
|
|
45605
|
+
headerClassName
|
|
45606
|
+
),
|
|
45249
45607
|
children: [
|
|
45250
45608
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
45251
45609
|
"h2",
|
|
45252
45610
|
{
|
|
45253
45611
|
className: cn(
|
|
45254
|
-
"text-
|
|
45612
|
+
"text-pretty text-3xl md:text-4xl lg:text-6xl",
|
|
45613
|
+
"font-semibold tracking-tight",
|
|
45255
45614
|
headingClassName
|
|
45256
45615
|
),
|
|
45257
45616
|
children: heading
|
|
45258
45617
|
}
|
|
45259
|
-
) :
|
|
45260
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
45618
|
+
) : heading),
|
|
45619
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
45620
|
+
"p",
|
|
45621
|
+
{
|
|
45622
|
+
className: cn("mt-4 text-lg text-balance", descriptionClassName),
|
|
45623
|
+
children: description
|
|
45624
|
+
}
|
|
45625
|
+
) : description)
|
|
45261
45626
|
]
|
|
45262
45627
|
}
|
|
45263
45628
|
),
|
|
@@ -45275,36 +45640,58 @@ function TestimonialsSliderMinimal({
|
|
|
45275
45640
|
quoteClassName,
|
|
45276
45641
|
authorClassName,
|
|
45277
45642
|
avatarClassName,
|
|
45643
|
+
navButtonClassName,
|
|
45278
45644
|
dotsClassName,
|
|
45279
45645
|
background,
|
|
45280
45646
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
45281
|
-
spacing = "
|
|
45647
|
+
spacing = "none",
|
|
45282
45648
|
pattern,
|
|
45283
|
-
patternOpacity
|
|
45649
|
+
patternOpacity,
|
|
45650
|
+
previousButtonAriaLabel,
|
|
45651
|
+
nextButtonAriaLabel,
|
|
45652
|
+
navigationClassName
|
|
45284
45653
|
}) {
|
|
45285
45654
|
const [currentIndex, setCurrentIndex] = useState(0);
|
|
45286
|
-
const [isTransitioning, setIsTransitioning] = useState(false);
|
|
45287
45655
|
const totalTestimonials = testimonials?.length ?? 0;
|
|
45288
|
-
const
|
|
45289
|
-
|
|
45656
|
+
const autoPlayTimerRef = React8.useRef(
|
|
45657
|
+
null
|
|
45658
|
+
);
|
|
45659
|
+
const resetAutoPlay = useCallback(() => {
|
|
45660
|
+
if (autoPlayTimerRef.current) {
|
|
45661
|
+
clearInterval(autoPlayTimerRef.current);
|
|
45662
|
+
autoPlayTimerRef.current = null;
|
|
45663
|
+
}
|
|
45664
|
+
if (!autoPlayInterval || autoPlayInterval <= 0 || totalTestimonials === 0)
|
|
45665
|
+
return;
|
|
45666
|
+
autoPlayTimerRef.current = setInterval(() => {
|
|
45667
|
+
setCurrentIndex((prev) => (prev + 1) % totalTestimonials);
|
|
45668
|
+
}, autoPlayInterval);
|
|
45669
|
+
}, [autoPlayInterval, totalTestimonials]);
|
|
45670
|
+
const goToNext = useCallback(() => {
|
|
45671
|
+
if (totalTestimonials === 0) return;
|
|
45672
|
+
setCurrentIndex((prev) => prev === totalTestimonials - 1 ? 0 : prev + 1);
|
|
45673
|
+
resetAutoPlay();
|
|
45674
|
+
}, [totalTestimonials, resetAutoPlay]);
|
|
45675
|
+
const goToPrevious = useCallback(() => {
|
|
45676
|
+
if (totalTestimonials === 0) return;
|
|
45677
|
+
setCurrentIndex((prev) => prev === 0 ? totalTestimonials - 1 : prev - 1);
|
|
45678
|
+
resetAutoPlay();
|
|
45679
|
+
}, [totalTestimonials, resetAutoPlay]);
|
|
45680
|
+
const goToIndex = useCallback(
|
|
45290
45681
|
(index) => {
|
|
45291
|
-
|
|
45292
|
-
|
|
45293
|
-
setTimeout(() => {
|
|
45294
|
-
setCurrentIndex(index);
|
|
45295
|
-
setIsTransitioning(false);
|
|
45296
|
-
}, 300);
|
|
45682
|
+
setCurrentIndex(index);
|
|
45683
|
+
resetAutoPlay();
|
|
45297
45684
|
},
|
|
45298
|
-
[
|
|
45685
|
+
[resetAutoPlay]
|
|
45299
45686
|
);
|
|
45300
45687
|
useEffect(() => {
|
|
45301
|
-
|
|
45302
|
-
|
|
45303
|
-
|
|
45304
|
-
|
|
45305
|
-
|
|
45306
|
-
|
|
45307
|
-
}, [
|
|
45688
|
+
resetAutoPlay();
|
|
45689
|
+
return () => {
|
|
45690
|
+
if (autoPlayTimerRef.current) {
|
|
45691
|
+
clearInterval(autoPlayTimerRef.current);
|
|
45692
|
+
}
|
|
45693
|
+
};
|
|
45694
|
+
}, [resetAutoPlay]);
|
|
45308
45695
|
const current = testimonials?.[currentIndex];
|
|
45309
45696
|
const getAuthorName = useCallback((testimonial) => {
|
|
45310
45697
|
if (typeof testimonial.author === "string") return testimonial.author;
|
|
@@ -45324,53 +45711,64 @@ function TestimonialsSliderMinimal({
|
|
|
45324
45711
|
if (!current) return null;
|
|
45325
45712
|
const authorName = getAuthorName(current);
|
|
45326
45713
|
const avatarSrc = getAvatarSrc(current);
|
|
45327
|
-
return /* @__PURE__ */ jsxs(
|
|
45328
|
-
"
|
|
45329
|
-
|
|
45330
|
-
|
|
45331
|
-
|
|
45332
|
-
|
|
45333
|
-
|
|
45334
|
-
|
|
45335
|
-
|
|
45336
|
-
"
|
|
45337
|
-
|
|
45338
|
-
|
|
45339
|
-
|
|
45340
|
-
|
|
45341
|
-
|
|
45342
|
-
|
|
45343
|
-
|
|
45344
|
-
|
|
45345
|
-
|
|
45346
|
-
|
|
45347
|
-
|
|
45348
|
-
)
|
|
45349
|
-
|
|
45350
|
-
|
|
45351
|
-
|
|
45352
|
-
|
|
45353
|
-
|
|
45354
|
-
|
|
45355
|
-
|
|
45356
|
-
|
|
45357
|
-
|
|
45714
|
+
return /* @__PURE__ */ jsxs("div", { className: "space-y-12 md:space-y-24", children: [
|
|
45715
|
+
current.quote && (typeof current.quote === "string" ? /* @__PURE__ */ jsxs(
|
|
45716
|
+
"blockquote",
|
|
45717
|
+
{
|
|
45718
|
+
className: cn(
|
|
45719
|
+
"text-xl font-thin leading-relaxed md:text-2xl text-balance line-clamp-6",
|
|
45720
|
+
quoteClassName
|
|
45721
|
+
),
|
|
45722
|
+
children: [
|
|
45723
|
+
"\u201C",
|
|
45724
|
+
current.quote,
|
|
45725
|
+
"\u201D"
|
|
45726
|
+
]
|
|
45727
|
+
}
|
|
45728
|
+
) : current.quote),
|
|
45729
|
+
/* @__PURE__ */ jsxs(
|
|
45730
|
+
"div",
|
|
45731
|
+
{
|
|
45732
|
+
className: cn(
|
|
45733
|
+
"mt-8 flex flex-col items-center gap-6 md:gap-12",
|
|
45734
|
+
authorClassName
|
|
45735
|
+
),
|
|
45736
|
+
children: [
|
|
45737
|
+
/* @__PURE__ */ jsxs(
|
|
45738
|
+
Avatar,
|
|
45739
|
+
{
|
|
45740
|
+
className: cn(
|
|
45741
|
+
"relative flex shrink-0 overflow-hidden rounded-full ring-4 ring-primary shadow-xl size-12",
|
|
45742
|
+
avatarClassName
|
|
45743
|
+
),
|
|
45744
|
+
children: [
|
|
45358
45745
|
/* @__PURE__ */ jsx(AvatarImage, { src: avatarSrc, alt: authorName }),
|
|
45359
45746
|
/* @__PURE__ */ jsx(AvatarFallback, { children: getInitials(authorName) })
|
|
45360
|
-
]
|
|
45361
|
-
|
|
45362
|
-
|
|
45363
|
-
|
|
45364
|
-
|
|
45365
|
-
|
|
45366
|
-
}
|
|
45367
|
-
|
|
45368
|
-
|
|
45369
|
-
|
|
45370
|
-
|
|
45747
|
+
]
|
|
45748
|
+
}
|
|
45749
|
+
),
|
|
45750
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-0", children: [
|
|
45751
|
+
current.author && (typeof current.author === "string" ? /* @__PURE__ */ jsx("p", { className: "font-semibold", children: current.author }) : current.author),
|
|
45752
|
+
current.role && (typeof current.role === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm ", children: current.role }) : current.role)
|
|
45753
|
+
] }),
|
|
45754
|
+
current.linkConfig?.href && /* @__PURE__ */ jsx(
|
|
45755
|
+
Pressable,
|
|
45756
|
+
{
|
|
45757
|
+
href: current.linkConfig.href,
|
|
45758
|
+
className: cn(
|
|
45759
|
+
current.linkConfig.className,
|
|
45760
|
+
"text-sm font-bold tracking-wide uppercase",
|
|
45761
|
+
"hover:underline hover:underline-offset-2"
|
|
45762
|
+
),
|
|
45763
|
+
children: current.linkConfig.label
|
|
45764
|
+
}
|
|
45765
|
+
)
|
|
45766
|
+
]
|
|
45767
|
+
}
|
|
45768
|
+
)
|
|
45769
|
+
] });
|
|
45371
45770
|
}, [
|
|
45372
45771
|
testimonialsSlot,
|
|
45373
|
-
isTransitioning,
|
|
45374
45772
|
current,
|
|
45375
45773
|
quoteClassName,
|
|
45376
45774
|
authorClassName,
|
|
@@ -45388,21 +45786,75 @@ function TestimonialsSliderMinimal({
|
|
|
45388
45786
|
patternOpacity,
|
|
45389
45787
|
className,
|
|
45390
45788
|
containerClassName,
|
|
45391
|
-
children: /* @__PURE__ */ jsxs(
|
|
45392
|
-
|
|
45393
|
-
|
|
45394
|
-
|
|
45395
|
-
|
|
45396
|
-
|
|
45397
|
-
|
|
45398
|
-
|
|
45399
|
-
|
|
45400
|
-
|
|
45401
|
-
|
|
45402
|
-
|
|
45403
|
-
|
|
45404
|
-
|
|
45405
|
-
|
|
45789
|
+
children: /* @__PURE__ */ jsxs(
|
|
45790
|
+
"div",
|
|
45791
|
+
{
|
|
45792
|
+
className: cn(
|
|
45793
|
+
"mx-auto max-w-3xl text-center min-h-[700px] flex flex-col items-center justify-center",
|
|
45794
|
+
contentClassName
|
|
45795
|
+
),
|
|
45796
|
+
children: [
|
|
45797
|
+
/* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsx(
|
|
45798
|
+
motion.div,
|
|
45799
|
+
{
|
|
45800
|
+
initial: { opacity: 0, y: 10 },
|
|
45801
|
+
animate: { opacity: 1, y: 0 },
|
|
45802
|
+
exit: { opacity: 0, y: -10 },
|
|
45803
|
+
transition: { duration: 0.4, ease: "easeInOut" },
|
|
45804
|
+
children: renderedTestimonial
|
|
45805
|
+
},
|
|
45806
|
+
currentIndex
|
|
45807
|
+
) }),
|
|
45808
|
+
testimonials && testimonials.length > 1 && /* @__PURE__ */ jsxs(
|
|
45809
|
+
"div",
|
|
45810
|
+
{
|
|
45811
|
+
className: cn(
|
|
45812
|
+
"mt-8 flex items-center justify-center gap-4",
|
|
45813
|
+
navigationClassName
|
|
45814
|
+
),
|
|
45815
|
+
children: [
|
|
45816
|
+
/* @__PURE__ */ jsx(
|
|
45817
|
+
Pressable,
|
|
45818
|
+
{
|
|
45819
|
+
asButton: true,
|
|
45820
|
+
variant: "default",
|
|
45821
|
+
size: "icon",
|
|
45822
|
+
className: cn("size-10 rounded-full", navButtonClassName),
|
|
45823
|
+
onClick: goToPrevious,
|
|
45824
|
+
"aria-label": previousButtonAriaLabel ?? "Previous testimonial",
|
|
45825
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-left", size: 24 })
|
|
45826
|
+
}
|
|
45827
|
+
),
|
|
45828
|
+
/* @__PURE__ */ jsx("div", { className: cn("flex items-center gap-2", dotsClassName), children: testimonials.map((_, index) => /* @__PURE__ */ jsx(
|
|
45829
|
+
"button",
|
|
45830
|
+
{
|
|
45831
|
+
onClick: () => goToIndex(index),
|
|
45832
|
+
className: cn(
|
|
45833
|
+
"size-2 rounded-full transition-all",
|
|
45834
|
+
index === currentIndex ? "w-6 bg-primary text-primary-foreground" : "bg-card text-card-foreground"
|
|
45835
|
+
),
|
|
45836
|
+
"aria-label": `Go to testimonial ${index + 1}`
|
|
45837
|
+
},
|
|
45838
|
+
index
|
|
45839
|
+
)) }),
|
|
45840
|
+
/* @__PURE__ */ jsx(
|
|
45841
|
+
Pressable,
|
|
45842
|
+
{
|
|
45843
|
+
asButton: true,
|
|
45844
|
+
variant: "default",
|
|
45845
|
+
size: "icon",
|
|
45846
|
+
className: cn("size-10 rounded-full", navButtonClassName),
|
|
45847
|
+
onClick: goToNext,
|
|
45848
|
+
"aria-label": nextButtonAriaLabel ?? "Next testimonial",
|
|
45849
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 24 })
|
|
45850
|
+
}
|
|
45851
|
+
)
|
|
45852
|
+
]
|
|
45853
|
+
}
|
|
45854
|
+
)
|
|
45855
|
+
]
|
|
45856
|
+
}
|
|
45857
|
+
)
|
|
45406
45858
|
}
|
|
45407
45859
|
);
|
|
45408
45860
|
}
|
|
@@ -45454,32 +45906,44 @@ function TestimonialsSplitImage({
|
|
|
45454
45906
|
/* @__PURE__ */ jsx(
|
|
45455
45907
|
DynamicIcon,
|
|
45456
45908
|
{
|
|
45457
|
-
name: "
|
|
45909
|
+
name: "mdi/comment-quote-outline",
|
|
45458
45910
|
size: 48,
|
|
45459
|
-
className:
|
|
45911
|
+
className: quoteIconClassName
|
|
45460
45912
|
}
|
|
45461
45913
|
),
|
|
45462
45914
|
testimonial.quote && (typeof testimonial.quote === "string" ? /* @__PURE__ */ jsx(
|
|
45463
45915
|
"blockquote",
|
|
45464
45916
|
{
|
|
45465
45917
|
className: cn(
|
|
45466
|
-
"text-
|
|
45918
|
+
"text-lg font-light leading-relaxed md:text-2xl lg:text-3xl",
|
|
45467
45919
|
quoteClassName
|
|
45468
45920
|
),
|
|
45469
45921
|
children: testimonial.quote
|
|
45470
45922
|
}
|
|
45471
45923
|
) : /* @__PURE__ */ jsx("div", { className: quoteClassName, children: testimonial.quote })),
|
|
45472
45924
|
/* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-4 pt-4", authorClassName), children: [
|
|
45473
|
-
/* @__PURE__ */ jsxs(Avatar, { className: "size-
|
|
45925
|
+
/* @__PURE__ */ jsxs(Avatar, { className: "relative flex shrink-0 overflow-hidden shadow-xl rounded-2xl size-18", children: [
|
|
45474
45926
|
/* @__PURE__ */ jsx(AvatarImage, { src: avatarSrc, alt: authorName }),
|
|
45475
45927
|
/* @__PURE__ */ jsx(AvatarFallback, { children: getInitials(authorName) })
|
|
45476
45928
|
] }),
|
|
45477
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
45929
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0", children: [
|
|
45478
45930
|
testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsx("p", { className: "font-semibold", children: testimonial.author }) : testimonial.author),
|
|
45479
45931
|
(testimonial.role || testimonial.company) && /* @__PURE__ */ jsxs("p", { className: "text-sm ", children: [
|
|
45480
45932
|
testimonial.role && (typeof testimonial.role === "string" ? testimonial.role : testimonial.role),
|
|
45481
45933
|
testimonial.company && (typeof testimonial.company === "string" ? ` at ${testimonial.company}` : testimonial.company)
|
|
45482
|
-
] })
|
|
45934
|
+
] }),
|
|
45935
|
+
testimonial.linkConfig?.href && /* @__PURE__ */ jsx(
|
|
45936
|
+
Pressable,
|
|
45937
|
+
{
|
|
45938
|
+
href: testimonial.linkConfig.href,
|
|
45939
|
+
className: cn(
|
|
45940
|
+
testimonial.linkConfig.className,
|
|
45941
|
+
"text-sm font-bold tracking-wide uppercase",
|
|
45942
|
+
"hover:underline hover:underline-offset-2"
|
|
45943
|
+
),
|
|
45944
|
+
children: testimonial.linkConfig.label
|
|
45945
|
+
}
|
|
45946
|
+
)
|
|
45483
45947
|
] })
|
|
45484
45948
|
] })
|
|
45485
45949
|
]
|
|
@@ -45509,13 +45973,17 @@ function TestimonialsSplitImage({
|
|
|
45509
45973
|
children: /* @__PURE__ */ jsxs(
|
|
45510
45974
|
"div",
|
|
45511
45975
|
{
|
|
45512
|
-
className: cn(
|
|
45976
|
+
className: cn(
|
|
45977
|
+
"grid items-center gap-10 md:gap-12 grid-cols-1 lg:grid-cols-2",
|
|
45978
|
+
gridClassName
|
|
45979
|
+
),
|
|
45513
45980
|
children: [
|
|
45514
45981
|
imageSrc && /* @__PURE__ */ jsx(
|
|
45515
45982
|
"div",
|
|
45516
45983
|
{
|
|
45517
45984
|
className: cn(
|
|
45518
|
-
"
|
|
45985
|
+
"shadow-xl rounded-2xl",
|
|
45986
|
+
"relative aspect-4/3 overflow-hidden lg:aspect-square",
|
|
45519
45987
|
effectiveImagePosition === "right" && "lg:order-2",
|
|
45520
45988
|
imageClassName
|
|
45521
45989
|
),
|
|
@@ -45838,19 +46306,6 @@ function TestimonialsWallCompact({
|
|
|
45838
46306
|
}
|
|
45839
46307
|
);
|
|
45840
46308
|
}
|
|
45841
|
-
function StarRating4({ rating, size = 14 }) {
|
|
45842
|
-
return /* @__PURE__ */ jsx("div", { className: "flex items-center gap-0.5", children: [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ jsx(
|
|
45843
|
-
DynamicIcon,
|
|
45844
|
-
{
|
|
45845
|
-
name: "lucide/star",
|
|
45846
|
-
size,
|
|
45847
|
-
className: cn(
|
|
45848
|
-
star <= rating ? "fill-primary text-primary" : "fill-muted text-muted"
|
|
45849
|
-
)
|
|
45850
|
-
},
|
|
45851
|
-
star
|
|
45852
|
-
)) });
|
|
45853
|
-
}
|
|
45854
46309
|
function TestimonialsMiniDividers({
|
|
45855
46310
|
testimonials,
|
|
45856
46311
|
testimonialsSlot,
|
|
@@ -45865,101 +46320,134 @@ function TestimonialsMiniDividers({
|
|
|
45865
46320
|
quoteClassName,
|
|
45866
46321
|
authorClassName,
|
|
45867
46322
|
background,
|
|
45868
|
-
spacing,
|
|
46323
|
+
spacing = "lg",
|
|
46324
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
45869
46325
|
pattern,
|
|
45870
46326
|
patternOpacity
|
|
45871
46327
|
}) {
|
|
45872
|
-
const getAuthorName = useCallback(
|
|
45873
|
-
|
|
45874
|
-
|
|
45875
|
-
|
|
45876
|
-
|
|
45877
|
-
|
|
45878
|
-
|
|
46328
|
+
const getAuthorName = useCallback(
|
|
46329
|
+
(testimonial) => {
|
|
46330
|
+
if (typeof testimonial.author === "string") return testimonial.author;
|
|
46331
|
+
return "";
|
|
46332
|
+
},
|
|
46333
|
+
[]
|
|
46334
|
+
);
|
|
46335
|
+
const getAvatarSrc = useCallback(
|
|
46336
|
+
(testimonial) => {
|
|
46337
|
+
return testimonial.avatarSrc || testimonial.avatar?.src;
|
|
46338
|
+
},
|
|
46339
|
+
[]
|
|
46340
|
+
);
|
|
45879
46341
|
const getInitials = useCallback((name) => {
|
|
45880
46342
|
return name.split(" ").map((n) => n[0]).join("");
|
|
45881
46343
|
}, []);
|
|
45882
46344
|
const renderedTestimonials = useMemo(() => {
|
|
45883
46345
|
if (testimonialsSlot) return testimonialsSlot;
|
|
45884
46346
|
if (!testimonials || testimonials.length === 0) return null;
|
|
45885
|
-
return /* @__PURE__ */
|
|
46347
|
+
return /* @__PURE__ */ jsxs(
|
|
45886
46348
|
"div",
|
|
45887
46349
|
{
|
|
45888
46350
|
className: cn(
|
|
45889
|
-
"
|
|
46351
|
+
"relative grid border-x border-dashed md:grid-cols-3",
|
|
45890
46352
|
gridClassName
|
|
45891
46353
|
),
|
|
45892
|
-
children:
|
|
45893
|
-
|
|
45894
|
-
|
|
45895
|
-
return /* @__PURE__ */ jsxs(
|
|
45896
|
-
"div",
|
|
46354
|
+
children: [
|
|
46355
|
+
/* @__PURE__ */ jsx(
|
|
46356
|
+
DynamicIcon,
|
|
45897
46357
|
{
|
|
45898
|
-
|
|
45899
|
-
|
|
45900
|
-
|
|
45901
|
-
|
|
45902
|
-
|
|
45903
|
-
|
|
45904
|
-
|
|
45905
|
-
|
|
45906
|
-
|
|
45907
|
-
|
|
45908
|
-
|
|
45909
|
-
|
|
45910
|
-
|
|
45911
|
-
|
|
45912
|
-
|
|
45913
|
-
|
|
45914
|
-
|
|
45915
|
-
|
|
45916
|
-
|
|
45917
|
-
|
|
45918
|
-
|
|
45919
|
-
|
|
45920
|
-
|
|
45921
|
-
|
|
45922
|
-
|
|
45923
|
-
|
|
45924
|
-
|
|
45925
|
-
|
|
45926
|
-
|
|
45927
|
-
|
|
45928
|
-
|
|
45929
|
-
|
|
45930
|
-
|
|
45931
|
-
|
|
45932
|
-
|
|
45933
|
-
|
|
45934
|
-
}
|
|
45935
|
-
|
|
45936
|
-
|
|
45937
|
-
|
|
45938
|
-
|
|
45939
|
-
|
|
45940
|
-
|
|
46358
|
+
name: "lucide/sparkle",
|
|
46359
|
+
size: 20,
|
|
46360
|
+
className: "absolute top-0 right-0 translate-x-2.5 -translate-y-2.5 fill-primary"
|
|
46361
|
+
}
|
|
46362
|
+
),
|
|
46363
|
+
/* @__PURE__ */ jsx(
|
|
46364
|
+
DynamicIcon,
|
|
46365
|
+
{
|
|
46366
|
+
name: "lucide/sparkle",
|
|
46367
|
+
size: 20,
|
|
46368
|
+
className: "absolute top-0 left-0 -translate-x-2.5 -translate-y-2.5 fill-primary"
|
|
46369
|
+
}
|
|
46370
|
+
),
|
|
46371
|
+
testimonials.map((testimonial, index) => {
|
|
46372
|
+
const authorName = getAuthorName(testimonial);
|
|
46373
|
+
const avatarSrc = getAvatarSrc(testimonial);
|
|
46374
|
+
return /* @__PURE__ */ jsxs(
|
|
46375
|
+
"div",
|
|
46376
|
+
{
|
|
46377
|
+
className: cn(
|
|
46378
|
+
"group flex flex-col gap-4 border-t border-dashed p-4 transition-colors duration-300 hover:bg-muted/50 lg:p-8",
|
|
46379
|
+
index === 1 && "md:border-x md:border-dashed",
|
|
46380
|
+
index === 2 ? "border-b" : "md:border-b",
|
|
46381
|
+
itemClassName
|
|
46382
|
+
),
|
|
46383
|
+
children: [
|
|
46384
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4", children: [
|
|
46385
|
+
/* @__PURE__ */ jsxs(Avatar, { className: "size-10 shrink-0 rounded-md bg-card shadow-sm lg:size-12", children: [
|
|
46386
|
+
/* @__PURE__ */ jsx(AvatarImage, { src: avatarSrc, alt: authorName }),
|
|
46387
|
+
/* @__PURE__ */ jsx(AvatarFallback, { className: "rounded-md bg-card text-card-foreground text-sm", children: getInitials(authorName) })
|
|
46388
|
+
] }),
|
|
46389
|
+
/* @__PURE__ */ jsxs("div", { className: cn("min-w-0", authorClassName), children: [
|
|
46390
|
+
testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsx("p", { className: "truncate font-medium", children: testimonial.author }) : testimonial.author),
|
|
46391
|
+
testimonial.role && (typeof testimonial.role === "string" ? /* @__PURE__ */ jsx("p", { className: "truncate text-sm text-muted-foreground", children: testimonial.role }) : testimonial.role)
|
|
46392
|
+
] })
|
|
46393
|
+
] }),
|
|
46394
|
+
testimonial.rating != null && /* @__PURE__ */ jsx(StarRating, { rating: testimonial.rating }),
|
|
46395
|
+
testimonial.quote && (typeof testimonial.quote === "string" ? /* @__PURE__ */ jsxs(
|
|
46396
|
+
"p",
|
|
46397
|
+
{
|
|
46398
|
+
className: cn(
|
|
46399
|
+
"text-sm leading-relaxed text-muted-foreground",
|
|
46400
|
+
quoteClassName
|
|
46401
|
+
),
|
|
46402
|
+
children: [
|
|
46403
|
+
"\u201C",
|
|
46404
|
+
testimonial.quote,
|
|
46405
|
+
"\u201D"
|
|
46406
|
+
]
|
|
46407
|
+
}
|
|
46408
|
+
) : /* @__PURE__ */ jsx("div", { className: cn("text-sm", quoteClassName), children: testimonial.quote }))
|
|
46409
|
+
]
|
|
46410
|
+
},
|
|
46411
|
+
index
|
|
46412
|
+
);
|
|
46413
|
+
})
|
|
46414
|
+
]
|
|
45941
46415
|
}
|
|
45942
46416
|
);
|
|
45943
|
-
}, [
|
|
45944
|
-
|
|
46417
|
+
}, [
|
|
46418
|
+
testimonialsSlot,
|
|
46419
|
+
gridClassName,
|
|
46420
|
+
testimonials,
|
|
46421
|
+
itemClassName,
|
|
46422
|
+
quoteClassName,
|
|
46423
|
+
authorClassName,
|
|
46424
|
+
getAuthorName,
|
|
46425
|
+
getAvatarSrc,
|
|
46426
|
+
getInitials
|
|
46427
|
+
]);
|
|
46428
|
+
return /* @__PURE__ */ jsx(
|
|
45945
46429
|
Section,
|
|
45946
46430
|
{
|
|
45947
46431
|
background,
|
|
45948
46432
|
spacing,
|
|
45949
46433
|
pattern,
|
|
45950
46434
|
patternOpacity,
|
|
45951
|
-
className,
|
|
45952
|
-
|
|
45953
|
-
|
|
46435
|
+
className: cn("relative flex items-center justify-center", className),
|
|
46436
|
+
containerClassName,
|
|
46437
|
+
children: /* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
46438
|
+
/* @__PURE__ */ jsx(
|
|
45954
46439
|
"div",
|
|
45955
46440
|
{
|
|
45956
|
-
className: cn(
|
|
45957
|
-
|
|
46441
|
+
className: cn(
|
|
46442
|
+
"border-x border-t border-dashed px-4 py-6 md:py-16 md:px-16",
|
|
46443
|
+
headerClassName
|
|
46444
|
+
),
|
|
46445
|
+
children: /* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-3xl", children: [
|
|
45958
46446
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
45959
46447
|
"h2",
|
|
45960
46448
|
{
|
|
45961
46449
|
className: cn(
|
|
45962
|
-
"text-3xl font-semibold tracking-tight md:text-4xl",
|
|
46450
|
+
"text-center text-3xl font-semibold tracking-tight md:text-4xl",
|
|
45963
46451
|
headingClassName
|
|
45964
46452
|
),
|
|
45965
46453
|
children: heading
|
|
@@ -45969,17 +46457,17 @@ function TestimonialsMiniDividers({
|
|
|
45969
46457
|
"p",
|
|
45970
46458
|
{
|
|
45971
46459
|
className: cn(
|
|
45972
|
-
"mt-4 text-lg text-
|
|
46460
|
+
"mx-auto mt-4 max-w-2xl text-center text-lg text-balance",
|
|
45973
46461
|
descriptionClassName
|
|
45974
46462
|
),
|
|
45975
46463
|
children: description
|
|
45976
46464
|
}
|
|
45977
|
-
) : /* @__PURE__ */ jsx("div", { className:
|
|
45978
|
-
]
|
|
46465
|
+
) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
|
|
46466
|
+
] })
|
|
45979
46467
|
}
|
|
45980
46468
|
),
|
|
45981
46469
|
renderedTestimonials
|
|
45982
|
-
]
|
|
46470
|
+
] })
|
|
45983
46471
|
}
|
|
45984
46472
|
);
|
|
45985
46473
|
}
|
|
@@ -45999,18 +46487,25 @@ function TestimonialsLogoCards({
|
|
|
45999
46487
|
quoteClassName,
|
|
46000
46488
|
authorClassName,
|
|
46001
46489
|
background,
|
|
46002
|
-
spacing,
|
|
46490
|
+
spacing = "lg",
|
|
46491
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
46003
46492
|
pattern,
|
|
46004
46493
|
patternOpacity,
|
|
46005
46494
|
optixFlowConfig
|
|
46006
46495
|
}) {
|
|
46007
|
-
const getAuthorName = useCallback(
|
|
46008
|
-
|
|
46009
|
-
|
|
46010
|
-
|
|
46011
|
-
|
|
46012
|
-
|
|
46013
|
-
|
|
46496
|
+
const getAuthorName = useCallback(
|
|
46497
|
+
(testimonial) => {
|
|
46498
|
+
if (typeof testimonial.author === "string") return testimonial.author;
|
|
46499
|
+
return "";
|
|
46500
|
+
},
|
|
46501
|
+
[]
|
|
46502
|
+
);
|
|
46503
|
+
const getAvatarSrc = useCallback(
|
|
46504
|
+
(testimonial) => {
|
|
46505
|
+
return testimonial.avatarSrc || testimonial.avatar?.src;
|
|
46506
|
+
},
|
|
46507
|
+
[]
|
|
46508
|
+
);
|
|
46014
46509
|
const getInitials = useCallback((name) => {
|
|
46015
46510
|
return name.split(" ").map((n) => n[0]).join("");
|
|
46016
46511
|
}, []);
|
|
@@ -46041,7 +46536,10 @@ function TestimonialsLogoCards({
|
|
|
46041
46536
|
{
|
|
46042
46537
|
src: testimonial.companyLogo,
|
|
46043
46538
|
alt: testimonial.companyLogoAlt || "Company logo",
|
|
46044
|
-
className:
|
|
46539
|
+
className: cn(
|
|
46540
|
+
index === 0 ? "h-10" : "h-5",
|
|
46541
|
+
"w-auto object-contain"
|
|
46542
|
+
),
|
|
46045
46543
|
optixFlowConfig
|
|
46046
46544
|
}
|
|
46047
46545
|
) }),
|
|
@@ -46058,20 +46556,29 @@ function TestimonialsLogoCards({
|
|
|
46058
46556
|
{
|
|
46059
46557
|
className: cn(
|
|
46060
46558
|
"leading-relaxed",
|
|
46061
|
-
index === 0 ? "text-xl font-
|
|
46559
|
+
index === 0 ? "text-lg md:text-xl font-light" : "text-sm md:text-base",
|
|
46062
46560
|
quoteClassName
|
|
46063
46561
|
),
|
|
46064
46562
|
children: testimonial.quote
|
|
46065
46563
|
}
|
|
46066
|
-
) :
|
|
46564
|
+
) : testimonial.quote),
|
|
46067
46565
|
/* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-3", authorClassName), children: [
|
|
46068
|
-
/* @__PURE__ */ jsxs(
|
|
46069
|
-
|
|
46070
|
-
|
|
46071
|
-
|
|
46566
|
+
/* @__PURE__ */ jsxs(
|
|
46567
|
+
Avatar,
|
|
46568
|
+
{
|
|
46569
|
+
className: cn(
|
|
46570
|
+
index === 0 ? "size-12" : "size-10",
|
|
46571
|
+
"ring-4 ring-primary"
|
|
46572
|
+
),
|
|
46573
|
+
children: [
|
|
46574
|
+
/* @__PURE__ */ jsx(AvatarImage, { src: avatarSrc, alt: authorName }),
|
|
46575
|
+
/* @__PURE__ */ jsx(AvatarFallback, { children: getInitials(authorName) })
|
|
46576
|
+
]
|
|
46577
|
+
}
|
|
46578
|
+
),
|
|
46072
46579
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
46073
|
-
testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsx("cite", { className: "text-sm font-medium
|
|
46074
|
-
testimonial.role && (typeof testimonial.role === "string" ? /* @__PURE__ */ jsx("p", { className: "text-xs text-
|
|
46580
|
+
testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsx("cite", { className: "text-sm md:text-base font-medium", children: testimonial.author }) : testimonial.author),
|
|
46581
|
+
testimonial.role && (typeof testimonial.role === "string" ? /* @__PURE__ */ jsx("p", { className: "text-xs md:text-sm", children: testimonial.role }) : testimonial.role)
|
|
46075
46582
|
] })
|
|
46076
46583
|
] })
|
|
46077
46584
|
]
|
|
@@ -46084,7 +46591,20 @@ function TestimonialsLogoCards({
|
|
|
46084
46591
|
})
|
|
46085
46592
|
}
|
|
46086
46593
|
);
|
|
46087
|
-
}, [
|
|
46594
|
+
}, [
|
|
46595
|
+
testimonialsSlot,
|
|
46596
|
+
gridClassName,
|
|
46597
|
+
testimonials,
|
|
46598
|
+
cardClassName,
|
|
46599
|
+
cardHeaderClassName,
|
|
46600
|
+
optixFlowConfig,
|
|
46601
|
+
cardContentClassName,
|
|
46602
|
+
quoteClassName,
|
|
46603
|
+
authorClassName,
|
|
46604
|
+
getAuthorName,
|
|
46605
|
+
getAvatarSrc,
|
|
46606
|
+
getInitials
|
|
46607
|
+
]);
|
|
46088
46608
|
return /* @__PURE__ */ jsxs(
|
|
46089
46609
|
Section,
|
|
46090
46610
|
{
|
|
@@ -46093,6 +46613,7 @@ function TestimonialsLogoCards({
|
|
|
46093
46613
|
pattern,
|
|
46094
46614
|
patternOpacity,
|
|
46095
46615
|
className,
|
|
46616
|
+
containerClassName,
|
|
46096
46617
|
children: [
|
|
46097
46618
|
/* @__PURE__ */ jsxs(
|
|
46098
46619
|
"div",
|
|
@@ -46108,17 +46629,8 @@ function TestimonialsLogoCards({
|
|
|
46108
46629
|
),
|
|
46109
46630
|
children: heading
|
|
46110
46631
|
}
|
|
46111
|
-
) :
|
|
46112
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
46113
|
-
"p",
|
|
46114
|
-
{
|
|
46115
|
-
className: cn(
|
|
46116
|
-
"mt-4 text-lg text-muted-foreground",
|
|
46117
|
-
descriptionClassName
|
|
46118
|
-
),
|
|
46119
|
-
children: description
|
|
46120
|
-
}
|
|
46121
|
-
) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", descriptionClassName), children: description }))
|
|
46632
|
+
) : heading),
|
|
46633
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-lg", descriptionClassName), children: description }) : description)
|
|
46122
46634
|
]
|
|
46123
46635
|
}
|
|
46124
46636
|
),
|
|
@@ -46413,14 +46925,14 @@ function TestimonialsAnimatedSplit({
|
|
|
46413
46925
|
animate: { opacity: 1, y: 0 },
|
|
46414
46926
|
exit: { opacity: 0, y: -20 },
|
|
46415
46927
|
transition: { duration: 0.4 },
|
|
46416
|
-
className: "space-y-6",
|
|
46928
|
+
className: "space-y-4 md:space-y-6",
|
|
46417
46929
|
children: [
|
|
46418
46930
|
/* @__PURE__ */ jsx(DynamicIcon, { name: "mdi/comment-quote-outline", size: 48 }),
|
|
46419
46931
|
current.quote && (typeof current.quote === "string" ? /* @__PURE__ */ jsx(
|
|
46420
46932
|
"blockquote",
|
|
46421
46933
|
{
|
|
46422
46934
|
className: cn(
|
|
46423
|
-
"text-lg font-
|
|
46935
|
+
"text-base md:text-lg font-thin leading-normal md:leading-relaxed md:text-2xl line-clamp-4",
|
|
46424
46936
|
quoteClassName
|
|
46425
46937
|
),
|
|
46426
46938
|
children: current.quote
|
|
@@ -46432,9 +46944,9 @@ function TestimonialsAnimatedSplit({
|
|
|
46432
46944
|
/* @__PURE__ */ jsx(AvatarFallback, { children: getInitials(authorName) })
|
|
46433
46945
|
] }),
|
|
46434
46946
|
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
46435
|
-
/* @__PURE__ */ jsxs("div", { className: "flex gap-1", children: [
|
|
46436
|
-
current.author && (typeof current.author === "string" ? /* @__PURE__ */ jsx("span", { className: "font-semibold", children: current.author }) : current.author),
|
|
46437
|
-
/* @__PURE__ */ jsxs("span", { className: "
|
|
46947
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col md:flex-row items-start md:items-center gap-0 md:gap-1", children: [
|
|
46948
|
+
current.author && (typeof current.author === "string" ? /* @__PURE__ */ jsx("span", { className: "text-sm md:text-base font-semibold", children: current.author }) : current.author),
|
|
46949
|
+
/* @__PURE__ */ jsxs("span", { className: "text-sm md:text-base font-normal tracking-normal md:tracking-wide", children: [
|
|
46438
46950
|
current.role && (typeof current.role === "string" ? current.role : null),
|
|
46439
46951
|
current.company && (typeof current.company === "string" ? ` at ${current.company}` : null)
|
|
46440
46952
|
] })
|
|
@@ -46588,7 +47100,7 @@ function TestimonialsScrollingColumns({
|
|
|
46588
47100
|
motion.div,
|
|
46589
47101
|
{
|
|
46590
47102
|
className: cn(
|
|
46591
|
-
"relative overflow-hidden rounded-
|
|
47103
|
+
"relative overflow-hidden rounded-2xl bg-card text-card-foreground shadow-sm",
|
|
46592
47104
|
cardClassName
|
|
46593
47105
|
),
|
|
46594
47106
|
variants: itemVariants2,
|
|
@@ -46603,15 +47115,25 @@ function TestimonialsScrollingColumns({
|
|
|
46603
47115
|
optixFlowConfig
|
|
46604
47116
|
}
|
|
46605
47117
|
),
|
|
46606
|
-
/* @__PURE__ */ jsx(
|
|
47118
|
+
/* @__PURE__ */ jsx(GradientOverlay, {})
|
|
46607
47119
|
] }),
|
|
46608
|
-
/* @__PURE__ */ jsxs("div", { className: "absolute bottom-0 left-0 right-0 p-6 text-left
|
|
46609
|
-
/* @__PURE__ */ jsx(
|
|
47120
|
+
/* @__PURE__ */ jsxs("div", { className: "absolute bottom-0 left-0 right-0 p-6 text-left", children: [
|
|
47121
|
+
testimonial?.logoSrc ? /* @__PURE__ */ jsx(
|
|
47122
|
+
Img,
|
|
47123
|
+
{
|
|
47124
|
+
src: testimonial.logoSrc,
|
|
47125
|
+
alt: typeof testimonial.company === "string" ? `${testimonial.company} logo` : typeof testimonial.author === "string" ? `${testimonial.author} company logo` : "Company logo",
|
|
47126
|
+
className: cn(
|
|
47127
|
+
"mx-auto mb-6 max-h-12 max-w-32 object-contain md:max-h-16 md:max-w-48"
|
|
47128
|
+
),
|
|
47129
|
+
optixFlowConfig
|
|
47130
|
+
}
|
|
47131
|
+
) : /* @__PURE__ */ jsx(
|
|
46610
47132
|
DynamicIcon,
|
|
46611
47133
|
{
|
|
46612
|
-
name: "
|
|
46613
|
-
size:
|
|
46614
|
-
className: "
|
|
47134
|
+
name: "mdi/comment-quote-outline",
|
|
47135
|
+
size: 42,
|
|
47136
|
+
className: cn("opacity-50")
|
|
46615
47137
|
}
|
|
46616
47138
|
),
|
|
46617
47139
|
testimonial.quote && (typeof testimonial.quote === "string" ? /* @__PURE__ */ jsx(
|
|
@@ -46623,12 +47145,12 @@ function TestimonialsScrollingColumns({
|
|
|
46623
47145
|
),
|
|
46624
47146
|
children: testimonial.quote
|
|
46625
47147
|
}
|
|
46626
|
-
) :
|
|
47148
|
+
) : testimonial.quote),
|
|
46627
47149
|
/* @__PURE__ */ jsx("figcaption", { className: cn("mt-4", authorClassName), children: /* @__PURE__ */ jsxs("p", { className: "font-semibold", children: [
|
|
46628
47150
|
"\u2014",
|
|
46629
47151
|
" ",
|
|
46630
47152
|
testimonial.author && (typeof testimonial.author === "string" ? testimonial.author : null),
|
|
46631
|
-
testimonial.role && (typeof testimonial.role === "string" ? /* @__PURE__ */ jsxs("span", { className: "ml-1
|
|
47153
|
+
testimonial.role && (typeof testimonial.role === "string" ? /* @__PURE__ */ jsxs("span", { className: "ml-1", children: [
|
|
46632
47154
|
", ",
|
|
46633
47155
|
testimonial.role
|
|
46634
47156
|
] }) : null)
|
|
@@ -46664,19 +47186,32 @@ function TestimonialsScrollingColumns({
|
|
|
46664
47186
|
/* @__PURE__ */ jsxs(
|
|
46665
47187
|
"div",
|
|
46666
47188
|
{
|
|
46667
|
-
className: cn(
|
|
47189
|
+
className: cn(
|
|
47190
|
+
"mx-auto mb-12 max-w-full md:max-w-2xl space-y-4 text-center",
|
|
47191
|
+
headerClassName
|
|
47192
|
+
),
|
|
46668
47193
|
children: [
|
|
46669
47194
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
46670
47195
|
"h2",
|
|
46671
47196
|
{
|
|
46672
47197
|
className: cn(
|
|
46673
|
-
"text-
|
|
47198
|
+
"text-pretty text-3xl md:text-4xl lg:text-6xl",
|
|
47199
|
+
"font-semibold tracking-tight",
|
|
46674
47200
|
headingClassName
|
|
46675
47201
|
),
|
|
46676
47202
|
children: heading
|
|
46677
47203
|
}
|
|
46678
|
-
) :
|
|
46679
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
47204
|
+
) : heading),
|
|
47205
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
47206
|
+
"p",
|
|
47207
|
+
{
|
|
47208
|
+
className: cn(
|
|
47209
|
+
"text-base text-base md:text-lg text-balance",
|
|
47210
|
+
descriptionClassName
|
|
47211
|
+
),
|
|
47212
|
+
children: description
|
|
47213
|
+
}
|
|
47214
|
+
) : description)
|
|
46680
47215
|
]
|
|
46681
47216
|
}
|
|
46682
47217
|
),
|
|
@@ -46696,7 +47231,8 @@ function TestimonialsMinimalNumbered({
|
|
|
46696
47231
|
authorClassName,
|
|
46697
47232
|
navigationClassName,
|
|
46698
47233
|
background,
|
|
46699
|
-
spacing,
|
|
47234
|
+
spacing = "lg",
|
|
47235
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
46700
47236
|
pattern,
|
|
46701
47237
|
patternOpacity
|
|
46702
47238
|
}) {
|
|
@@ -46754,14 +47290,14 @@ function TestimonialsMinimalNumbered({
|
|
|
46754
47290
|
"span",
|
|
46755
47291
|
{
|
|
46756
47292
|
className: cn(
|
|
46757
|
-
"text-8xl font-light leading-none select-none transition-all duration-500 md:text-9xl",
|
|
47293
|
+
"text-4xl md:text-8xl font-light leading-none select-none transition-all duration-500 md:text-9xl",
|
|
46758
47294
|
numberClassName
|
|
46759
47295
|
),
|
|
46760
47296
|
style: { fontFeatureSettings: '"tnum"' },
|
|
46761
47297
|
children: String(active + 1).padStart(2, "0")
|
|
46762
47298
|
}
|
|
46763
47299
|
),
|
|
46764
|
-
/* @__PURE__ */ jsxs("div", { className: "flex-1 pt-6", children: [
|
|
47300
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1 pt-0 md:pt-6", children: [
|
|
46765
47301
|
current.quote && (typeof current.quote === "string" ? /* @__PURE__ */ jsx(
|
|
46766
47302
|
"blockquote",
|
|
46767
47303
|
{
|
|
@@ -46867,13 +47403,13 @@ function TestimonialsMinimalNumbered({
|
|
|
46867
47403
|
String(testimonials.length).padStart(2, "0")
|
|
46868
47404
|
] })
|
|
46869
47405
|
] }) }),
|
|
46870
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-
|
|
47406
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
46871
47407
|
/* @__PURE__ */ jsx(
|
|
46872
47408
|
"button",
|
|
46873
47409
|
{
|
|
46874
47410
|
onClick: handlePrev,
|
|
46875
47411
|
className: "rounded-full p-2 transition-all duration-300 ",
|
|
46876
|
-
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-left", size:
|
|
47412
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-left", size: 24 })
|
|
46877
47413
|
}
|
|
46878
47414
|
),
|
|
46879
47415
|
/* @__PURE__ */ jsx(
|
|
@@ -46881,7 +47417,7 @@ function TestimonialsMinimalNumbered({
|
|
|
46881
47417
|
{
|
|
46882
47418
|
onClick: handleNext,
|
|
46883
47419
|
className: "rounded-full p-2 transition-all duration-300 ",
|
|
46884
|
-
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size:
|
|
47420
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 24 })
|
|
46885
47421
|
}
|
|
46886
47422
|
)
|
|
46887
47423
|
] })
|
|
@@ -47002,10 +47538,11 @@ function TestimonialsParallaxNumber({
|
|
|
47002
47538
|
motion.div,
|
|
47003
47539
|
{
|
|
47004
47540
|
className: cn(
|
|
47541
|
+
"opacity-15",
|
|
47005
47542
|
"pointer-events-none absolute -left-8 top-1/2 -translate-y-1/2 select-none text-[20rem] font-bold leading-none tracking-tighter ",
|
|
47006
47543
|
numberClassName
|
|
47007
47544
|
),
|
|
47008
|
-
style: { x: numberX, y: numberY },
|
|
47545
|
+
style: { x: numberX, y: numberY, opacity: 0.1 },
|
|
47009
47546
|
children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsx(
|
|
47010
47547
|
motion.span,
|
|
47011
47548
|
{
|
|
@@ -47014,14 +47551,14 @@ function TestimonialsParallaxNumber({
|
|
|
47014
47551
|
exit: { opacity: 0, scale: 1.1, filter: "blur(10px)" },
|
|
47015
47552
|
transition: { duration: 0.6, ease: [0.22, 1, 0.36, 1] },
|
|
47016
47553
|
className: "block",
|
|
47017
|
-
children: current.backgroundIcon ? /* @__PURE__ */ jsx(DynamicIcon, { name: current.backgroundIcon }) : current.backgroundLabel != null ? current.backgroundLabel : null
|
|
47554
|
+
children: current.backgroundIcon ? /* @__PURE__ */ jsx(DynamicIcon, { name: current.backgroundIcon, size: 320 }) : current.backgroundLabel != null ? current.backgroundLabel : null
|
|
47018
47555
|
},
|
|
47019
47556
|
activeIndex
|
|
47020
47557
|
) })
|
|
47021
47558
|
}
|
|
47022
47559
|
),
|
|
47023
47560
|
/* @__PURE__ */ jsxs("div", { className: "relative flex", children: [
|
|
47024
|
-
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center border-r border-border/50 pr-16", children: [
|
|
47561
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center border-r-0 md:border-r border-border/50 pr-4 md:pr-16", children: [
|
|
47025
47562
|
/* @__PURE__ */ jsxs(
|
|
47026
47563
|
motion.span,
|
|
47027
47564
|
{
|
|
@@ -47047,7 +47584,7 @@ function TestimonialsParallaxNumber({
|
|
|
47047
47584
|
}
|
|
47048
47585
|
) })
|
|
47049
47586
|
] }),
|
|
47050
|
-
/* @__PURE__ */ jsxs("div", { className: "flex-1 py-12 pl-16", children: [
|
|
47587
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1 py-6 md:py-12 pl-4 md:pl-16", children: [
|
|
47051
47588
|
/* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsx(
|
|
47052
47589
|
motion.div,
|
|
47053
47590
|
{
|
|
@@ -47064,7 +47601,7 @@ function TestimonialsParallaxNumber({
|
|
|
47064
47601
|
motion.blockquote,
|
|
47065
47602
|
{
|
|
47066
47603
|
className: cn(
|
|
47067
|
-
"text-3xl font-light leading-[1.15] tracking-tight md:text-4xl lg:text-5xl",
|
|
47604
|
+
"text-2xl md:text-3xl font-light leading-[1.15] tracking-tight md:text-4xl lg:text-5xl",
|
|
47068
47605
|
quoteClassName
|
|
47069
47606
|
),
|
|
47070
47607
|
initial: "hidden",
|
|
@@ -47099,7 +47636,7 @@ function TestimonialsParallaxNumber({
|
|
|
47099
47636
|
},
|
|
47100
47637
|
activeIndex
|
|
47101
47638
|
) }) }),
|
|
47102
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-end justify-between", children: [
|
|
47639
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-start md:items-end justify-between", children: [
|
|
47103
47640
|
/* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsx(
|
|
47104
47641
|
motion.div,
|
|
47105
47642
|
{
|
|
@@ -47116,7 +47653,9 @@ function TestimonialsParallaxNumber({
|
|
|
47116
47653
|
{
|
|
47117
47654
|
href: current.linkConfig.href,
|
|
47118
47655
|
className: cn(
|
|
47119
|
-
"
|
|
47656
|
+
"transition-all duration-500",
|
|
47657
|
+
"hover:underline hover:underline-offset-4",
|
|
47658
|
+
"text-sm",
|
|
47120
47659
|
current.linkConfig.className
|
|
47121
47660
|
),
|
|
47122
47661
|
children: current.linkConfig.label
|
|
@@ -47129,7 +47668,10 @@ function TestimonialsParallaxNumber({
|
|
|
47129
47668
|
/* @__PURE__ */ jsxs(
|
|
47130
47669
|
"div",
|
|
47131
47670
|
{
|
|
47132
|
-
className: cn(
|
|
47671
|
+
className: cn(
|
|
47672
|
+
"flex items-center gap-4 flex-col md:flex-row",
|
|
47673
|
+
navigationClassName
|
|
47674
|
+
),
|
|
47133
47675
|
children: [
|
|
47134
47676
|
/* @__PURE__ */ jsx(
|
|
47135
47677
|
motion.button,
|
|
@@ -51645,7 +52187,7 @@ function HeroBadgeShadowOverlay({
|
|
|
51645
52187
|
backgroundImageUrl,
|
|
51646
52188
|
optixFlowConfig,
|
|
51647
52189
|
background,
|
|
51648
|
-
spacing = "
|
|
52190
|
+
spacing = "none",
|
|
51649
52191
|
pattern,
|
|
51650
52192
|
patternOpacity,
|
|
51651
52193
|
className,
|
|
@@ -51732,7 +52274,8 @@ function HeroVideoBackgroundDark({
|
|
|
51732
52274
|
videoSrc,
|
|
51733
52275
|
videoSlot,
|
|
51734
52276
|
background,
|
|
51735
|
-
videoBrightness
|
|
52277
|
+
videoBrightness,
|
|
52278
|
+
videoOverlayIntensity = "high",
|
|
51736
52279
|
spacing = "py-0 md:py-0",
|
|
51737
52280
|
pattern,
|
|
51738
52281
|
patternOpacity,
|
|
@@ -51744,21 +52287,21 @@ function HeroVideoBackgroundDark({
|
|
|
51744
52287
|
}) {
|
|
51745
52288
|
const renderVideo = useMemo(() => {
|
|
51746
52289
|
if (videoSlot) return videoSlot;
|
|
51747
|
-
return /* @__PURE__ */
|
|
51748
|
-
|
|
51749
|
-
|
|
51750
|
-
|
|
51751
|
-
|
|
51752
|
-
|
|
51753
|
-
|
|
51754
|
-
"absolute top-0 left-0 size-full object-cover",
|
|
51755
|
-
|
|
51756
|
-
|
|
51757
|
-
|
|
51758
|
-
|
|
51759
|
-
}
|
|
51760
|
-
);
|
|
51761
|
-
}, [videoSlot, videoSrc,
|
|
52290
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
52291
|
+
/* @__PURE__ */ jsx(
|
|
52292
|
+
"video",
|
|
52293
|
+
{
|
|
52294
|
+
loop: true,
|
|
52295
|
+
playsInline: true,
|
|
52296
|
+
src: videoSrc,
|
|
52297
|
+
className: "absolute top-0 left-0 size-full object-cover",
|
|
52298
|
+
autoPlay: true,
|
|
52299
|
+
muted: true
|
|
52300
|
+
}
|
|
52301
|
+
),
|
|
52302
|
+
/* @__PURE__ */ jsx(GradientOverlay, { intensity: videoOverlayIntensity })
|
|
52303
|
+
] });
|
|
52304
|
+
}, [videoSlot, videoSrc, videoOverlayIntensity]);
|
|
51762
52305
|
return /* @__PURE__ */ jsx(
|
|
51763
52306
|
Section,
|
|
51764
52307
|
{
|
|
@@ -115329,8 +115872,8 @@ var BLOCK_REGISTRY = {
|
|
|
115329
115872
|
},
|
|
115330
115873
|
"testimonials-centered-avatars": {
|
|
115331
115874
|
id: "testimonials-centered-avatars",
|
|
115332
|
-
name: "Testimonials Centered with
|
|
115333
|
-
description: "A
|
|
115875
|
+
name: "Testimonials Centered with Glassmorphism Card",
|
|
115876
|
+
description: "A modern testimonial section featuring a glassmorphism card with frosted glass effect as the primary focal point. Displays an overlapping avatar stack at the top, creating a community feel, with rotating testimonials including quote, author name, role, and navigation dots. The translucent card design creates visual depth and sophistication. Perfect for SaaS landing pages and premium marketing sites.",
|
|
115334
115877
|
semanticTags: [
|
|
115335
115878
|
"testimonials",
|
|
115336
115879
|
"centered",
|
|
@@ -115338,7 +115881,11 @@ var BLOCK_REGISTRY = {
|
|
|
115338
115881
|
"stack",
|
|
115339
115882
|
"community",
|
|
115340
115883
|
"social-proof",
|
|
115341
|
-
"
|
|
115884
|
+
"glassmorphism",
|
|
115885
|
+
"glass",
|
|
115886
|
+
"frosted",
|
|
115887
|
+
"modern",
|
|
115888
|
+
"premium",
|
|
115342
115889
|
"rotating"
|
|
115343
115890
|
],
|
|
115344
115891
|
category: "testimonials",
|