@opensite/ui 2.8.6 → 2.8.8
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-icon-sidebar.cjs +5 -4
- package/dist/carousel-icon-sidebar.js +5 -4
- 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 +81 -42
- package/dist/components.d.cts +29 -2
- package/dist/components.d.ts +29 -2
- package/dist/components.js +81 -43
- package/dist/contact-map.cjs +46 -32
- package/dist/contact-map.js +46 -32
- 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/geo-map.cjs +46 -32
- package/dist/geo-map.js +46 -32
- 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 +81 -42
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +81 -43
- 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 +967 -620
- package/dist/registry.js +967 -620
- 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-bento-grid.cjs +1 -1
- package/dist/testimonials-bento-grid.js +1 -1
- package/dist/testimonials-carousel-image.cjs +16 -2
- package/dist/testimonials-carousel-image.d.cts +5 -1
- package/dist/testimonials-carousel-image.d.ts +5 -1
- package/dist/testimonials-carousel-image.js +16 -2
- package/dist/testimonials-centered-avatars.cjs +1 -1
- package/dist/testimonials-centered-avatars.js +1 -1
- 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-large-quote.cjs +74 -43
- package/dist/testimonials-large-quote.d.cts +5 -1
- package/dist/testimonials-large-quote.d.ts +5 -1
- package/dist/testimonials-large-quote.js +74 -43
- 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 +55 -25
- package/dist/testimonials-logo-cards.d.cts +5 -1
- package/dist/testimonials-logo-cards.d.ts +5 -1
- package/dist/testimonials-logo-cards.js +55 -25
- package/dist/testimonials-marquee.cjs +440 -28
- package/dist/testimonials-marquee.js +441 -26
- package/dist/testimonials-masonry-grid.cjs +486 -69
- package/dist/testimonials-masonry-grid.d.cts +5 -1
- package/dist/testimonials-masonry-grid.d.ts +5 -1
- package/dist/testimonials-masonry-grid.js +483 -63
- package/dist/testimonials-mini-dividers.cjs +119 -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 +119 -83
- package/dist/testimonials-minimal-numbered.cjs +9 -7
- package/dist/testimonials-minimal-numbered.d.cts +5 -1
- package/dist/testimonials-minimal-numbered.d.ts +5 -1
- package/dist/testimonials-minimal-numbered.js +9 -7
- package/dist/testimonials-parallax-number.cjs +14 -9
- package/dist/testimonials-parallax-number.js +14 -9
- package/dist/testimonials-scrolling-columns.cjs +100 -21
- package/dist/testimonials-scrolling-columns.js +100 -21
- package/dist/testimonials-simple-grid.cjs +22 -5
- package/dist/testimonials-simple-grid.js +22 -5
- package/dist/testimonials-slider-minimal.cjs +1 -1
- package/dist/testimonials-slider-minimal.js +1 -1
- package/dist/testimonials-stats-header.cjs +528 -87
- package/dist/testimonials-stats-header.d.cts +39 -3
- package/dist/testimonials-stats-header.d.ts +39 -3
- package/dist/testimonials-stats-header.js +523 -82
- package/dist/testimonials-twitter-cards.cjs +20 -12
- package/dist/testimonials-twitter-cards.js +20 -12
- package/package.json +11 -1
|
@@ -473,7 +473,8 @@ function TestimonialsMinimalNumbered({
|
|
|
473
473
|
authorClassName,
|
|
474
474
|
navigationClassName,
|
|
475
475
|
background,
|
|
476
|
-
spacing,
|
|
476
|
+
spacing = "py-8 md:py-12",
|
|
477
|
+
containerClassName = "w-full px-6 sm:px-6 md:px-8 lg:px-0 max-w-full md:max-w-lg min-h-70dvh h-70dvh flex flex-col items-center justify-center",
|
|
477
478
|
pattern,
|
|
478
479
|
patternOpacity
|
|
479
480
|
}) {
|
|
@@ -526,19 +527,19 @@ function TestimonialsMinimalNumbered({
|
|
|
526
527
|
if (!current) return null;
|
|
527
528
|
const authorName = getAuthorName(current);
|
|
528
529
|
const avatarSrc = getAvatarSrc(current);
|
|
529
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-start gap-8", contentClassName), children: [
|
|
530
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-start gap-4 md:gap-8", contentClassName), children: [
|
|
530
531
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
531
532
|
"span",
|
|
532
533
|
{
|
|
533
534
|
className: cn(
|
|
534
|
-
"text-8xl font-light leading-none select-none transition-all duration-500
|
|
535
|
+
"text-4xl md:text-8xl font-light leading-none select-none transition-all duration-500",
|
|
535
536
|
numberClassName
|
|
536
537
|
),
|
|
537
538
|
style: { fontFeatureSettings: '"tnum"' },
|
|
538
539
|
children: String(active + 1).padStart(2, "0")
|
|
539
540
|
}
|
|
540
541
|
),
|
|
541
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 pt-6", children: [
|
|
542
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 pt-0 md:pt-6", children: [
|
|
542
543
|
current.quote && (typeof current.quote === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
543
544
|
"blockquote",
|
|
544
545
|
{
|
|
@@ -609,6 +610,7 @@ function TestimonialsMinimalNumbered({
|
|
|
609
610
|
pattern,
|
|
610
611
|
patternOpacity,
|
|
611
612
|
className,
|
|
613
|
+
containerClassName,
|
|
612
614
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-4xl mx-auto", children: [
|
|
613
615
|
renderedTestimonial,
|
|
614
616
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -644,13 +646,13 @@ function TestimonialsMinimalNumbered({
|
|
|
644
646
|
String(testimonials.length).padStart(2, "0")
|
|
645
647
|
] })
|
|
646
648
|
] }) }),
|
|
647
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-
|
|
649
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
648
650
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
649
651
|
"button",
|
|
650
652
|
{
|
|
651
653
|
onClick: handlePrev,
|
|
652
654
|
className: "rounded-full p-2 transition-all duration-300 ",
|
|
653
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-left", size:
|
|
655
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-left", size: 24 })
|
|
654
656
|
}
|
|
655
657
|
),
|
|
656
658
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -658,7 +660,7 @@ function TestimonialsMinimalNumbered({
|
|
|
658
660
|
{
|
|
659
661
|
onClick: handleNext,
|
|
660
662
|
className: "rounded-full p-2 transition-all duration-300 ",
|
|
661
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size:
|
|
663
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 24 })
|
|
662
664
|
}
|
|
663
665
|
)
|
|
664
666
|
] })
|
|
@@ -60,6 +60,10 @@ interface TestimonialsMinimalNumberedProps {
|
|
|
60
60
|
* Pattern overlay opacity (0-1)
|
|
61
61
|
*/
|
|
62
62
|
patternOpacity?: number;
|
|
63
|
+
/**
|
|
64
|
+
* Additional CSS classes for the container
|
|
65
|
+
*/
|
|
66
|
+
containerClassName?: string;
|
|
63
67
|
}
|
|
64
68
|
/**
|
|
65
69
|
* TestimonialsMinimalNumbered - A minimal testimonial slider featuring large numbered
|
|
@@ -86,6 +90,6 @@ interface TestimonialsMinimalNumberedProps {
|
|
|
86
90
|
* />
|
|
87
91
|
* ```
|
|
88
92
|
*/
|
|
89
|
-
declare function TestimonialsMinimalNumbered({ testimonials, testimonialsSlot, autoPlayInterval, className, contentClassName, numberClassName, quoteClassName, authorClassName, navigationClassName, background, spacing, pattern, patternOpacity, }: TestimonialsMinimalNumberedProps): React.JSX.Element;
|
|
93
|
+
declare function TestimonialsMinimalNumbered({ testimonials, testimonialsSlot, autoPlayInterval, className, contentClassName, numberClassName, quoteClassName, authorClassName, navigationClassName, background, spacing, containerClassName, pattern, patternOpacity, }: TestimonialsMinimalNumberedProps): React.JSX.Element;
|
|
90
94
|
|
|
91
95
|
export { TestimonialsMinimalNumbered, type TestimonialsMinimalNumberedProps };
|
|
@@ -60,6 +60,10 @@ interface TestimonialsMinimalNumberedProps {
|
|
|
60
60
|
* Pattern overlay opacity (0-1)
|
|
61
61
|
*/
|
|
62
62
|
patternOpacity?: number;
|
|
63
|
+
/**
|
|
64
|
+
* Additional CSS classes for the container
|
|
65
|
+
*/
|
|
66
|
+
containerClassName?: string;
|
|
63
67
|
}
|
|
64
68
|
/**
|
|
65
69
|
* TestimonialsMinimalNumbered - A minimal testimonial slider featuring large numbered
|
|
@@ -86,6 +90,6 @@ interface TestimonialsMinimalNumberedProps {
|
|
|
86
90
|
* />
|
|
87
91
|
* ```
|
|
88
92
|
*/
|
|
89
|
-
declare function TestimonialsMinimalNumbered({ testimonials, testimonialsSlot, autoPlayInterval, className, contentClassName, numberClassName, quoteClassName, authorClassName, navigationClassName, background, spacing, pattern, patternOpacity, }: TestimonialsMinimalNumberedProps): React.JSX.Element;
|
|
93
|
+
declare function TestimonialsMinimalNumbered({ testimonials, testimonialsSlot, autoPlayInterval, className, contentClassName, numberClassName, quoteClassName, authorClassName, navigationClassName, background, spacing, containerClassName, pattern, patternOpacity, }: TestimonialsMinimalNumberedProps): React.JSX.Element;
|
|
90
94
|
|
|
91
95
|
export { TestimonialsMinimalNumbered, type TestimonialsMinimalNumberedProps };
|
|
@@ -451,7 +451,8 @@ function TestimonialsMinimalNumbered({
|
|
|
451
451
|
authorClassName,
|
|
452
452
|
navigationClassName,
|
|
453
453
|
background,
|
|
454
|
-
spacing,
|
|
454
|
+
spacing = "py-8 md:py-12",
|
|
455
|
+
containerClassName = "w-full px-6 sm:px-6 md:px-8 lg:px-0 max-w-full md:max-w-lg min-h-70dvh h-70dvh flex flex-col items-center justify-center",
|
|
455
456
|
pattern,
|
|
456
457
|
patternOpacity
|
|
457
458
|
}) {
|
|
@@ -504,19 +505,19 @@ function TestimonialsMinimalNumbered({
|
|
|
504
505
|
if (!current) return null;
|
|
505
506
|
const authorName = getAuthorName(current);
|
|
506
507
|
const avatarSrc = getAvatarSrc(current);
|
|
507
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("flex items-start gap-8", contentClassName), children: [
|
|
508
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("flex items-start gap-4 md:gap-8", contentClassName), children: [
|
|
508
509
|
/* @__PURE__ */ jsx(
|
|
509
510
|
"span",
|
|
510
511
|
{
|
|
511
512
|
className: cn(
|
|
512
|
-
"text-8xl font-light leading-none select-none transition-all duration-500
|
|
513
|
+
"text-4xl md:text-8xl font-light leading-none select-none transition-all duration-500",
|
|
513
514
|
numberClassName
|
|
514
515
|
),
|
|
515
516
|
style: { fontFeatureSettings: '"tnum"' },
|
|
516
517
|
children: String(active + 1).padStart(2, "0")
|
|
517
518
|
}
|
|
518
519
|
),
|
|
519
|
-
/* @__PURE__ */ jsxs("div", { className: "flex-1 pt-6", children: [
|
|
520
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1 pt-0 md:pt-6", children: [
|
|
520
521
|
current.quote && (typeof current.quote === "string" ? /* @__PURE__ */ jsx(
|
|
521
522
|
"blockquote",
|
|
522
523
|
{
|
|
@@ -587,6 +588,7 @@ function TestimonialsMinimalNumbered({
|
|
|
587
588
|
pattern,
|
|
588
589
|
patternOpacity,
|
|
589
590
|
className,
|
|
591
|
+
containerClassName,
|
|
590
592
|
children: /* @__PURE__ */ jsxs("div", { className: "max-w-4xl mx-auto", children: [
|
|
591
593
|
renderedTestimonial,
|
|
592
594
|
/* @__PURE__ */ jsxs(
|
|
@@ -622,13 +624,13 @@ function TestimonialsMinimalNumbered({
|
|
|
622
624
|
String(testimonials.length).padStart(2, "0")
|
|
623
625
|
] })
|
|
624
626
|
] }) }),
|
|
625
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-
|
|
627
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
626
628
|
/* @__PURE__ */ jsx(
|
|
627
629
|
"button",
|
|
628
630
|
{
|
|
629
631
|
onClick: handlePrev,
|
|
630
632
|
className: "rounded-full p-2 transition-all duration-300 ",
|
|
631
|
-
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-left", size:
|
|
633
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-left", size: 24 })
|
|
632
634
|
}
|
|
633
635
|
),
|
|
634
636
|
/* @__PURE__ */ jsx(
|
|
@@ -636,7 +638,7 @@ function TestimonialsMinimalNumbered({
|
|
|
636
638
|
{
|
|
637
639
|
onClick: handleNext,
|
|
638
640
|
className: "rounded-full p-2 transition-all duration-300 ",
|
|
639
|
-
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size:
|
|
641
|
+
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 24 })
|
|
640
642
|
}
|
|
641
643
|
)
|
|
642
644
|
] })
|
|
@@ -945,10 +945,11 @@ function TestimonialsParallaxNumber({
|
|
|
945
945
|
framerMotion.motion.div,
|
|
946
946
|
{
|
|
947
947
|
className: cn(
|
|
948
|
-
"
|
|
948
|
+
"opacity-15",
|
|
949
|
+
"pointer-events-none absolute -left-8 top-1/2 -translate-y-1/2 select-none text-[20rem] font-bold leading-none tracking-tighter",
|
|
949
950
|
numberClassName
|
|
950
951
|
),
|
|
951
|
-
style: { x: numberX, y: numberY },
|
|
952
|
+
style: { x: numberX, y: numberY, opacity: 0.1 },
|
|
952
953
|
children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
953
954
|
framerMotion.motion.span,
|
|
954
955
|
{
|
|
@@ -957,14 +958,14 @@ function TestimonialsParallaxNumber({
|
|
|
957
958
|
exit: { opacity: 0, scale: 1.1, filter: "blur(10px)" },
|
|
958
959
|
transition: { duration: 0.6, ease: [0.22, 1, 0.36, 1] },
|
|
959
960
|
className: "block",
|
|
960
|
-
children: current.backgroundIcon ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: current.backgroundIcon }) : current.backgroundLabel != null ? current.backgroundLabel : null
|
|
961
|
+
children: current.backgroundIcon ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: current.backgroundIcon, size: 320 }) : current.backgroundLabel != null ? current.backgroundLabel : null
|
|
961
962
|
},
|
|
962
963
|
activeIndex
|
|
963
964
|
) })
|
|
964
965
|
}
|
|
965
966
|
),
|
|
966
967
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex", children: [
|
|
967
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center justify-center border-r border-border/
|
|
968
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center justify-center border-r-0 md:border-r border-border/30 pr-4 md:pr-16", children: [
|
|
968
969
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
969
970
|
framerMotion.motion.span,
|
|
970
971
|
{
|
|
@@ -990,7 +991,7 @@ function TestimonialsParallaxNumber({
|
|
|
990
991
|
}
|
|
991
992
|
) })
|
|
992
993
|
] }),
|
|
993
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 py-12 pl-16", children: [
|
|
994
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 py-6 md:py-12 pl-4 md:pl-16", children: [
|
|
994
995
|
/* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
995
996
|
framerMotion.motion.div,
|
|
996
997
|
{
|
|
@@ -999,7 +1000,7 @@ function TestimonialsParallaxNumber({
|
|
|
999
1000
|
exit: { opacity: 0, x: 20 },
|
|
1000
1001
|
transition: { duration: 0.4 },
|
|
1001
1002
|
className: "mb-8",
|
|
1002
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex items-center gap-2 rounded-full border border-border px-
|
|
1003
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex items-center gap-2 rounded-full border border-border px-4 py-2 text-sm", children: companyName })
|
|
1003
1004
|
},
|
|
1004
1005
|
activeIndex
|
|
1005
1006
|
) }),
|
|
@@ -1007,7 +1008,8 @@ function TestimonialsParallaxNumber({
|
|
|
1007
1008
|
framerMotion.motion.blockquote,
|
|
1008
1009
|
{
|
|
1009
1010
|
className: cn(
|
|
1010
|
-
"text-
|
|
1011
|
+
"text-2xl md:text-4xl lg:text-5xl",
|
|
1012
|
+
"font-light leading-[1.15] tracking-tight",
|
|
1011
1013
|
quoteClassName
|
|
1012
1014
|
),
|
|
1013
1015
|
initial: "hidden",
|
|
@@ -1042,7 +1044,7 @@ function TestimonialsParallaxNumber({
|
|
|
1042
1044
|
},
|
|
1043
1045
|
activeIndex
|
|
1044
1046
|
) }) }),
|
|
1045
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-end justify-between", children: [
|
|
1047
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start md:items-end justify-between", children: [
|
|
1046
1048
|
/* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1047
1049
|
framerMotion.motion.div,
|
|
1048
1050
|
{
|
|
@@ -1074,7 +1076,10 @@ function TestimonialsParallaxNumber({
|
|
|
1074
1076
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1075
1077
|
"div",
|
|
1076
1078
|
{
|
|
1077
|
-
className: cn(
|
|
1079
|
+
className: cn(
|
|
1080
|
+
"flex items-center gap-4 flex-col md:flex-row",
|
|
1081
|
+
navigationClassName
|
|
1082
|
+
),
|
|
1078
1083
|
children: [
|
|
1079
1084
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1080
1085
|
framerMotion.motion.button,
|
|
@@ -924,10 +924,11 @@ function TestimonialsParallaxNumber({
|
|
|
924
924
|
motion.div,
|
|
925
925
|
{
|
|
926
926
|
className: cn(
|
|
927
|
-
"
|
|
927
|
+
"opacity-15",
|
|
928
|
+
"pointer-events-none absolute -left-8 top-1/2 -translate-y-1/2 select-none text-[20rem] font-bold leading-none tracking-tighter",
|
|
928
929
|
numberClassName
|
|
929
930
|
),
|
|
930
|
-
style: { x: numberX, y: numberY },
|
|
931
|
+
style: { x: numberX, y: numberY, opacity: 0.1 },
|
|
931
932
|
children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsx(
|
|
932
933
|
motion.span,
|
|
933
934
|
{
|
|
@@ -936,14 +937,14 @@ function TestimonialsParallaxNumber({
|
|
|
936
937
|
exit: { opacity: 0, scale: 1.1, filter: "blur(10px)" },
|
|
937
938
|
transition: { duration: 0.6, ease: [0.22, 1, 0.36, 1] },
|
|
938
939
|
className: "block",
|
|
939
|
-
children: current.backgroundIcon ? /* @__PURE__ */ jsx(DynamicIcon, { name: current.backgroundIcon }) : current.backgroundLabel != null ? current.backgroundLabel : null
|
|
940
|
+
children: current.backgroundIcon ? /* @__PURE__ */ jsx(DynamicIcon, { name: current.backgroundIcon, size: 320 }) : current.backgroundLabel != null ? current.backgroundLabel : null
|
|
940
941
|
},
|
|
941
942
|
activeIndex
|
|
942
943
|
) })
|
|
943
944
|
}
|
|
944
945
|
),
|
|
945
946
|
/* @__PURE__ */ jsxs("div", { className: "relative flex", children: [
|
|
946
|
-
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center border-r border-border/
|
|
947
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center border-r-0 md:border-r border-border/30 pr-4 md:pr-16", children: [
|
|
947
948
|
/* @__PURE__ */ jsxs(
|
|
948
949
|
motion.span,
|
|
949
950
|
{
|
|
@@ -969,7 +970,7 @@ function TestimonialsParallaxNumber({
|
|
|
969
970
|
}
|
|
970
971
|
) })
|
|
971
972
|
] }),
|
|
972
|
-
/* @__PURE__ */ jsxs("div", { className: "flex-1 py-12 pl-16", children: [
|
|
973
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1 py-6 md:py-12 pl-4 md:pl-16", children: [
|
|
973
974
|
/* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsx(
|
|
974
975
|
motion.div,
|
|
975
976
|
{
|
|
@@ -978,7 +979,7 @@ function TestimonialsParallaxNumber({
|
|
|
978
979
|
exit: { opacity: 0, x: 20 },
|
|
979
980
|
transition: { duration: 0.4 },
|
|
980
981
|
className: "mb-8",
|
|
981
|
-
children: /* @__PURE__ */ jsx("span", { className: "inline-flex items-center gap-2 rounded-full border border-border px-
|
|
982
|
+
children: /* @__PURE__ */ jsx("span", { className: "inline-flex items-center gap-2 rounded-full border border-border px-4 py-2 text-sm", children: companyName })
|
|
982
983
|
},
|
|
983
984
|
activeIndex
|
|
984
985
|
) }),
|
|
@@ -986,7 +987,8 @@ function TestimonialsParallaxNumber({
|
|
|
986
987
|
motion.blockquote,
|
|
987
988
|
{
|
|
988
989
|
className: cn(
|
|
989
|
-
"text-
|
|
990
|
+
"text-2xl md:text-4xl lg:text-5xl",
|
|
991
|
+
"font-light leading-[1.15] tracking-tight",
|
|
990
992
|
quoteClassName
|
|
991
993
|
),
|
|
992
994
|
initial: "hidden",
|
|
@@ -1021,7 +1023,7 @@ function TestimonialsParallaxNumber({
|
|
|
1021
1023
|
},
|
|
1022
1024
|
activeIndex
|
|
1023
1025
|
) }) }),
|
|
1024
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-end justify-between", children: [
|
|
1026
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-start md:items-end justify-between", children: [
|
|
1025
1027
|
/* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsx(
|
|
1026
1028
|
motion.div,
|
|
1027
1029
|
{
|
|
@@ -1053,7 +1055,10 @@ function TestimonialsParallaxNumber({
|
|
|
1053
1055
|
/* @__PURE__ */ jsxs(
|
|
1054
1056
|
"div",
|
|
1055
1057
|
{
|
|
1056
|
-
className: cn(
|
|
1058
|
+
className: cn(
|
|
1059
|
+
"flex items-center gap-4 flex-col md:flex-row",
|
|
1060
|
+
navigationClassName
|
|
1061
|
+
),
|
|
1057
1062
|
children: [
|
|
1058
1063
|
/* @__PURE__ */ jsx(
|
|
1059
1064
|
motion.button,
|
|
@@ -41,6 +41,67 @@ var DynamicIcon = React__namespace.memo(function DynamicIcon2({
|
|
|
41
41
|
return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
42
42
|
});
|
|
43
43
|
DynamicIcon.displayName = "DynamicIcon";
|
|
44
|
+
var DIRECTION_STYLES = {
|
|
45
|
+
"bottom-to-top": "bg-linear-to-t",
|
|
46
|
+
"top-to-bottom": "bg-linear-to-b",
|
|
47
|
+
"left-to-right": "bg-linear-to-r",
|
|
48
|
+
"right-to-left": "bg-linear-to-l",
|
|
49
|
+
"bottom-left-to-top-right": "bg-linear-to-tr",
|
|
50
|
+
"bottom-right-to-top-left": "bg-linear-to-tl",
|
|
51
|
+
"top-left-to-bottom-right": "bg-linear-to-br",
|
|
52
|
+
"top-right-to-bottom-left": "bg-linear-to-bl"
|
|
53
|
+
};
|
|
54
|
+
var INTENSITY_STOPS = {
|
|
55
|
+
low: "from-black/40 via-black/20 to-transparent",
|
|
56
|
+
default: "from-black/70 via-black/35 to-transparent",
|
|
57
|
+
high: "from-black/85 via-black/50 to-transparent",
|
|
58
|
+
"very-high": "from-black/95 via-black/60 to-black/20"
|
|
59
|
+
};
|
|
60
|
+
var RADIAL_INTENSITY = {
|
|
61
|
+
low: {
|
|
62
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.40) 0%, rgba(0,0,0,0.20) 50%, transparent 100%)"
|
|
63
|
+
},
|
|
64
|
+
default: {
|
|
65
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.35) 50%, transparent 100%)"
|
|
66
|
+
},
|
|
67
|
+
high: {
|
|
68
|
+
background: "radial-gradient(ellipse at center, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.50) 50%, transparent 100%)"
|
|
69
|
+
},
|
|
70
|
+
"very-high": {
|
|
71
|
+
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%)"
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
function GradientOverlay({
|
|
75
|
+
direction = "bottom-to-top",
|
|
76
|
+
intensity = "default",
|
|
77
|
+
className,
|
|
78
|
+
style,
|
|
79
|
+
...props
|
|
80
|
+
}) {
|
|
81
|
+
if (direction === "radial-center") {
|
|
82
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
83
|
+
"div",
|
|
84
|
+
{
|
|
85
|
+
className: cn("absolute inset-0", className),
|
|
86
|
+
style: { ...RADIAL_INTENSITY[intensity], ...style },
|
|
87
|
+
...props
|
|
88
|
+
}
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
92
|
+
"div",
|
|
93
|
+
{
|
|
94
|
+
className: cn(
|
|
95
|
+
"absolute inset-0",
|
|
96
|
+
DIRECTION_STYLES[direction],
|
|
97
|
+
INTENSITY_STOPS[intensity],
|
|
98
|
+
className
|
|
99
|
+
),
|
|
100
|
+
style,
|
|
101
|
+
...props
|
|
102
|
+
}
|
|
103
|
+
);
|
|
104
|
+
}
|
|
44
105
|
var maxWidthStyles = {
|
|
45
106
|
sm: "max-w-screen-sm",
|
|
46
107
|
md: "max-w-screen-md",
|
|
@@ -483,7 +544,7 @@ function TestimonialsScrollingColumns({
|
|
|
483
544
|
framerMotion.motion.div,
|
|
484
545
|
{
|
|
485
546
|
className: cn(
|
|
486
|
-
"relative overflow-hidden rounded-
|
|
547
|
+
"relative overflow-hidden rounded-2xl shadow-sm",
|
|
487
548
|
cardClassName
|
|
488
549
|
),
|
|
489
550
|
variants: itemVariants,
|
|
@@ -498,35 +559,40 @@ function TestimonialsScrollingColumns({
|
|
|
498
559
|
optixFlowConfig
|
|
499
560
|
}
|
|
500
561
|
),
|
|
501
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
562
|
+
/* @__PURE__ */ jsxRuntime.jsx(GradientOverlay, {})
|
|
502
563
|
] }),
|
|
503
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute bottom-0 left-0 right-0 p-6 text-left
|
|
504
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
564
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute bottom-0 left-0 right-0 p-6 text-left", children: [
|
|
565
|
+
testimonial?.logoSrc ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
566
|
+
img.Img,
|
|
567
|
+
{
|
|
568
|
+
src: testimonial.logoSrc,
|
|
569
|
+
alt: typeof testimonial.company === "string" ? `${testimonial.company} logo` : typeof testimonial.author === "string" ? `${testimonial.author} company logo` : "Company logo",
|
|
570
|
+
className: cn(
|
|
571
|
+
"flex justify-start items-start mb-6 max-h-10 max-w-32 object-contain md:max-h-10 md:max-w-48"
|
|
572
|
+
),
|
|
573
|
+
optixFlowConfig
|
|
574
|
+
}
|
|
575
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
505
576
|
DynamicIcon,
|
|
506
577
|
{
|
|
507
|
-
name: "
|
|
508
|
-
size:
|
|
509
|
-
className: "
|
|
578
|
+
name: "mdi/comment-quote-outline",
|
|
579
|
+
size: 42,
|
|
580
|
+
className: cn("opacity-50")
|
|
510
581
|
}
|
|
511
582
|
),
|
|
512
583
|
testimonial.quote && (typeof testimonial.quote === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
513
584
|
"blockquote",
|
|
514
585
|
{
|
|
515
586
|
className: cn(
|
|
516
|
-
"text-base font-
|
|
587
|
+
"text-base font-base leading-relaxed",
|
|
517
588
|
quoteClassName
|
|
518
589
|
),
|
|
519
590
|
children: testimonial.quote
|
|
520
591
|
}
|
|
521
|
-
) :
|
|
522
|
-
/* @__PURE__ */ jsxRuntime.jsx("figcaption", { className: cn("mt-4", authorClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("
|
|
523
|
-
"
|
|
524
|
-
" ",
|
|
525
|
-
testimonial.author && (typeof testimonial.author === "string" ? testimonial.author : null),
|
|
526
|
-
testimonial.role && (typeof testimonial.role === "string" ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ml-1 text-background/60", children: [
|
|
527
|
-
", ",
|
|
528
|
-
testimonial.role
|
|
529
|
-
] }) : null)
|
|
592
|
+
) : testimonial.quote),
|
|
593
|
+
/* @__PURE__ */ jsxRuntime.jsx("figcaption", { className: cn("mt-4", authorClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
594
|
+
testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "uppercase text-base font-semibold", children: testimonial.author }) : null),
|
|
595
|
+
testimonial.role && (typeof testimonial.role === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-thin", children: testimonial.role }) : null)
|
|
530
596
|
] }) })
|
|
531
597
|
] })
|
|
532
598
|
]
|
|
@@ -559,19 +625,32 @@ function TestimonialsScrollingColumns({
|
|
|
559
625
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
560
626
|
"div",
|
|
561
627
|
{
|
|
562
|
-
className: cn(
|
|
628
|
+
className: cn(
|
|
629
|
+
"mx-auto mb-12 max-w-full md:max-w-2xl space-y-4 text-center",
|
|
630
|
+
headerClassName
|
|
631
|
+
),
|
|
563
632
|
children: [
|
|
564
633
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
565
634
|
"h2",
|
|
566
635
|
{
|
|
567
636
|
className: cn(
|
|
568
|
-
"text-
|
|
637
|
+
"text-pretty text-3xl md:text-4xl lg:text-6xl",
|
|
638
|
+
"font-semibold tracking-tight",
|
|
569
639
|
headingClassName
|
|
570
640
|
),
|
|
571
641
|
children: heading
|
|
572
642
|
}
|
|
573
|
-
) :
|
|
574
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
643
|
+
) : heading),
|
|
644
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
645
|
+
"p",
|
|
646
|
+
{
|
|
647
|
+
className: cn(
|
|
648
|
+
"text-base md:text-lg text-balance",
|
|
649
|
+
descriptionClassName
|
|
650
|
+
),
|
|
651
|
+
children: description
|
|
652
|
+
}
|
|
653
|
+
) : description)
|
|
575
654
|
]
|
|
576
655
|
}
|
|
577
656
|
),
|