@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
|
@@ -501,6 +501,7 @@ var SocialLinkIcon = React__namespace.forwardRef(
|
|
|
501
501
|
iconClassName,
|
|
502
502
|
className,
|
|
503
503
|
iconNameOverride,
|
|
504
|
+
iconOnly = false,
|
|
504
505
|
...pressableProps
|
|
505
506
|
}, ref) => {
|
|
506
507
|
const platform = usePlatformFromUrl.usePlatformFromUrl(href);
|
|
@@ -513,6 +514,21 @@ var SocialLinkIcon = React__namespace.forwardRef(
|
|
|
513
514
|
const accessibleLabel = React__namespace.useMemo(() => {
|
|
514
515
|
return label || platformName;
|
|
515
516
|
}, [label, platformName]);
|
|
517
|
+
const icon = React__namespace.useMemo(() => {
|
|
518
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
519
|
+
DynamicIcon,
|
|
520
|
+
{
|
|
521
|
+
name: iconName,
|
|
522
|
+
size: iconSize,
|
|
523
|
+
color: iconColor,
|
|
524
|
+
className: iconClassName,
|
|
525
|
+
alt: accessibleLabel
|
|
526
|
+
}
|
|
527
|
+
);
|
|
528
|
+
}, [iconName, iconSize, iconColor, iconClassName, accessibleLabel]);
|
|
529
|
+
if (iconOnly) {
|
|
530
|
+
return icon;
|
|
531
|
+
}
|
|
516
532
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
517
533
|
Pressable,
|
|
518
534
|
{
|
|
@@ -524,16 +540,7 @@ var SocialLinkIcon = React__namespace.forwardRef(
|
|
|
524
540
|
className
|
|
525
541
|
),
|
|
526
542
|
...pressableProps,
|
|
527
|
-
children:
|
|
528
|
-
DynamicIcon,
|
|
529
|
-
{
|
|
530
|
-
name: iconName,
|
|
531
|
-
size: iconSize,
|
|
532
|
-
color: iconColor,
|
|
533
|
-
className: iconClassName,
|
|
534
|
-
alt: accessibleLabel
|
|
535
|
-
}
|
|
536
|
-
)
|
|
543
|
+
children: icon
|
|
537
544
|
}
|
|
538
545
|
);
|
|
539
546
|
}
|
|
@@ -45,6 +45,11 @@ interface SocialLinkIconProps extends Omit<PressableProps, "children">, SocialLi
|
|
|
45
45
|
* Required href for the link
|
|
46
46
|
*/
|
|
47
47
|
href: string;
|
|
48
|
+
/**
|
|
49
|
+
* Return icon only
|
|
50
|
+
* @default false
|
|
51
|
+
*/
|
|
52
|
+
iconOnly?: boolean;
|
|
48
53
|
}
|
|
49
54
|
/**
|
|
50
55
|
* SocialLinkIcon - A reusable social media link icon component.
|
|
@@ -45,6 +45,11 @@ interface SocialLinkIconProps extends Omit<PressableProps, "children">, SocialLi
|
|
|
45
45
|
* Required href for the link
|
|
46
46
|
*/
|
|
47
47
|
href: string;
|
|
48
|
+
/**
|
|
49
|
+
* Return icon only
|
|
50
|
+
* @default false
|
|
51
|
+
*/
|
|
52
|
+
iconOnly?: boolean;
|
|
48
53
|
}
|
|
49
54
|
/**
|
|
50
55
|
* SocialLinkIcon - A reusable social media link icon component.
|
package/dist/social-link-icon.js
CHANGED
|
@@ -479,6 +479,7 @@ var SocialLinkIcon = React.forwardRef(
|
|
|
479
479
|
iconClassName,
|
|
480
480
|
className,
|
|
481
481
|
iconNameOverride,
|
|
482
|
+
iconOnly = false,
|
|
482
483
|
...pressableProps
|
|
483
484
|
}, ref) => {
|
|
484
485
|
const platform = usePlatformFromUrl(href);
|
|
@@ -491,6 +492,21 @@ var SocialLinkIcon = React.forwardRef(
|
|
|
491
492
|
const accessibleLabel = React.useMemo(() => {
|
|
492
493
|
return label || platformName;
|
|
493
494
|
}, [label, platformName]);
|
|
495
|
+
const icon = React.useMemo(() => {
|
|
496
|
+
return /* @__PURE__ */ jsx(
|
|
497
|
+
DynamicIcon,
|
|
498
|
+
{
|
|
499
|
+
name: iconName,
|
|
500
|
+
size: iconSize,
|
|
501
|
+
color: iconColor,
|
|
502
|
+
className: iconClassName,
|
|
503
|
+
alt: accessibleLabel
|
|
504
|
+
}
|
|
505
|
+
);
|
|
506
|
+
}, [iconName, iconSize, iconColor, iconClassName, accessibleLabel]);
|
|
507
|
+
if (iconOnly) {
|
|
508
|
+
return icon;
|
|
509
|
+
}
|
|
494
510
|
return /* @__PURE__ */ jsx(
|
|
495
511
|
Pressable,
|
|
496
512
|
{
|
|
@@ -502,16 +518,7 @@ var SocialLinkIcon = React.forwardRef(
|
|
|
502
518
|
className
|
|
503
519
|
),
|
|
504
520
|
...pressableProps,
|
|
505
|
-
children:
|
|
506
|
-
DynamicIcon,
|
|
507
|
-
{
|
|
508
|
-
name: iconName,
|
|
509
|
-
size: iconSize,
|
|
510
|
-
color: iconColor,
|
|
511
|
-
className: iconClassName,
|
|
512
|
-
alt: accessibleLabel
|
|
513
|
-
}
|
|
514
|
-
)
|
|
521
|
+
children: icon
|
|
515
522
|
}
|
|
516
523
|
);
|
|
517
524
|
}
|
|
@@ -1003,14 +1003,14 @@ function TestimonialsAnimatedSplit({
|
|
|
1003
1003
|
animate: { opacity: 1, y: 0 },
|
|
1004
1004
|
exit: { opacity: 0, y: -20 },
|
|
1005
1005
|
transition: { duration: 0.4 },
|
|
1006
|
-
className: "space-y-6",
|
|
1006
|
+
className: "space-y-4 md:space-y-6",
|
|
1007
1007
|
children: [
|
|
1008
1008
|
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "mdi/comment-quote-outline", size: 48 }),
|
|
1009
1009
|
current.quote && (typeof current.quote === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1010
1010
|
"blockquote",
|
|
1011
1011
|
{
|
|
1012
1012
|
className: cn(
|
|
1013
|
-
"text-lg font-
|
|
1013
|
+
"text-base md:text-lg font-thin leading-normal md:leading-relaxed md:text-2xl line-clamp-4",
|
|
1014
1014
|
quoteClassName
|
|
1015
1015
|
),
|
|
1016
1016
|
children: current.quote
|
|
@@ -1022,9 +1022,9 @@ function TestimonialsAnimatedSplit({
|
|
|
1022
1022
|
/* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { children: getInitials(authorName) })
|
|
1023
1023
|
] }),
|
|
1024
1024
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
1025
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
|
|
1026
|
-
current.author && (typeof current.author === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold", children: current.author }) : current.author),
|
|
1027
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "
|
|
1025
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col md:flex-row items-start md:items-center gap-0 md:gap-1", children: [
|
|
1026
|
+
current.author && (typeof current.author === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm md:text-base font-semibold", children: current.author }) : current.author),
|
|
1027
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm md:text-base font-normal tracking-normal md:tracking-wide", children: [
|
|
1028
1028
|
current.role && (typeof current.role === "string" ? current.role : null),
|
|
1029
1029
|
current.company && (typeof current.company === "string" ? ` at ${current.company}` : null)
|
|
1030
1030
|
] })
|
|
@@ -981,14 +981,14 @@ function TestimonialsAnimatedSplit({
|
|
|
981
981
|
animate: { opacity: 1, y: 0 },
|
|
982
982
|
exit: { opacity: 0, y: -20 },
|
|
983
983
|
transition: { duration: 0.4 },
|
|
984
|
-
className: "space-y-6",
|
|
984
|
+
className: "space-y-4 md:space-y-6",
|
|
985
985
|
children: [
|
|
986
986
|
/* @__PURE__ */ jsx(DynamicIcon, { name: "mdi/comment-quote-outline", size: 48 }),
|
|
987
987
|
current.quote && (typeof current.quote === "string" ? /* @__PURE__ */ jsx(
|
|
988
988
|
"blockquote",
|
|
989
989
|
{
|
|
990
990
|
className: cn(
|
|
991
|
-
"text-lg font-
|
|
991
|
+
"text-base md:text-lg font-thin leading-normal md:leading-relaxed md:text-2xl line-clamp-4",
|
|
992
992
|
quoteClassName
|
|
993
993
|
),
|
|
994
994
|
children: current.quote
|
|
@@ -1000,9 +1000,9 @@ function TestimonialsAnimatedSplit({
|
|
|
1000
1000
|
/* @__PURE__ */ jsx(AvatarFallback, { children: getInitials(authorName) })
|
|
1001
1001
|
] }),
|
|
1002
1002
|
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
1003
|
-
/* @__PURE__ */ jsxs("div", { className: "flex gap-1", children: [
|
|
1004
|
-
current.author && (typeof current.author === "string" ? /* @__PURE__ */ jsx("span", { className: "font-semibold", children: current.author }) : current.author),
|
|
1005
|
-
/* @__PURE__ */ jsxs("span", { className: "
|
|
1003
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col md:flex-row items-start md:items-center gap-0 md:gap-1", children: [
|
|
1004
|
+
current.author && (typeof current.author === "string" ? /* @__PURE__ */ jsx("span", { className: "text-sm md:text-base font-semibold", children: current.author }) : current.author),
|
|
1005
|
+
/* @__PURE__ */ jsxs("span", { className: "text-sm md:text-base font-normal tracking-normal md:tracking-wide", children: [
|
|
1006
1006
|
current.role && (typeof current.role === "string" ? current.role : null),
|
|
1007
1007
|
current.company && (typeof current.company === "string" ? ` at ${current.company}` : null)
|
|
1008
1008
|
] })
|
|
@@ -505,29 +505,6 @@ function AvatarFallback({
|
|
|
505
505
|
}
|
|
506
506
|
);
|
|
507
507
|
}
|
|
508
|
-
function Card({ className, ...props }) {
|
|
509
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
510
|
-
"div",
|
|
511
|
-
{
|
|
512
|
-
"data-slot": "card",
|
|
513
|
-
className: cn(
|
|
514
|
-
"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
|
|
515
|
-
className
|
|
516
|
-
),
|
|
517
|
-
...props
|
|
518
|
-
}
|
|
519
|
-
);
|
|
520
|
-
}
|
|
521
|
-
function CardContent({ className, ...props }) {
|
|
522
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
523
|
-
"div",
|
|
524
|
-
{
|
|
525
|
-
"data-slot": "card-content",
|
|
526
|
-
className: cn("px-6", className),
|
|
527
|
-
...props
|
|
528
|
-
}
|
|
529
|
-
);
|
|
530
|
-
}
|
|
531
508
|
var maxWidthStyles = {
|
|
532
509
|
sm: "max-w-screen-sm",
|
|
533
510
|
md: "max-w-screen-md",
|
|
@@ -956,10 +933,13 @@ function TestimonialsBentoGrid({
|
|
|
956
933
|
),
|
|
957
934
|
children: [
|
|
958
935
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
959
|
-
|
|
936
|
+
"div",
|
|
960
937
|
{
|
|
961
|
-
className: cn(
|
|
962
|
-
|
|
938
|
+
className: cn(
|
|
939
|
+
"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm md:col-span-2 lg:row-span-2",
|
|
940
|
+
featuredCardClassName
|
|
941
|
+
),
|
|
942
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full flex-col justify-between p-6 md:p-8 gap-8 md:gap-12", children: [
|
|
963
943
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
964
944
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
965
945
|
DynamicIcon,
|
|
@@ -989,11 +969,11 @@ function TestimonialsBentoGrid({
|
|
|
989
969
|
{
|
|
990
970
|
className: cn("mt-6 flex items-center gap-4", authorClassName),
|
|
991
971
|
children: [
|
|
992
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: "size-12", children: [
|
|
972
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: "relative flex shrink-0 overflow-hidden rounded-full size-12 ring-4 ring-primary shadow-lg", children: [
|
|
993
973
|
/* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: featuredAvatarSrc, alt: featuredAuthorName }),
|
|
994
974
|
/* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { children: getInitials(featuredAuthorName) })
|
|
995
975
|
] }),
|
|
996
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
976
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-0 leading-tight", children: [
|
|
997
977
|
featured.author && (typeof featured.author === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold", children: featured.author }) : featured.author),
|
|
998
978
|
(featured.role || featured.company) && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm text-muted-foreground", children: [
|
|
999
979
|
featured.role && (typeof featured.role === "string" ? featured.role : featured.role),
|
|
@@ -1004,7 +984,8 @@ function TestimonialsBentoGrid({
|
|
|
1004
984
|
{
|
|
1005
985
|
href: featured.linkConfig.href,
|
|
1006
986
|
className: cn(
|
|
1007
|
-
"text-sm
|
|
987
|
+
"text-sm transition-all duration-300",
|
|
988
|
+
"underline underline-offset-4",
|
|
1008
989
|
featured.linkConfig.className
|
|
1009
990
|
),
|
|
1010
991
|
children: featured.linkConfig.label
|
|
@@ -1020,34 +1001,45 @@ function TestimonialsBentoGrid({
|
|
|
1020
1001
|
others.slice(0, 5).map((testimonial, index) => {
|
|
1021
1002
|
const authorName = getAuthorName(testimonial);
|
|
1022
1003
|
const avatarSrc = getAvatarSrc(testimonial);
|
|
1023
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1031
|
-
/* @__PURE__ */ jsxRuntime.
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1004
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1005
|
+
"div",
|
|
1006
|
+
{
|
|
1007
|
+
className: cn(
|
|
1008
|
+
cardClassName,
|
|
1009
|
+
"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm"
|
|
1010
|
+
),
|
|
1011
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full flex-col justify-between p-6 gap-8", children: [
|
|
1012
|
+
testimonial.quote && (typeof testimonial.quote === "string" ? /* @__PURE__ */ jsxRuntime.jsxs("blockquote", { className: "text-sm leading-relaxed line-clamp-3", children: [
|
|
1013
|
+
"\u201C",
|
|
1014
|
+
testimonial.quote,
|
|
1015
|
+
"\u201D"
|
|
1016
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "line-clamp-3", children: testimonial.quote })),
|
|
1017
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-4 flex items-center gap-3", children: [
|
|
1018
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: "relative flex shrink-0 overflow-hidden rounded-full size-12 ring-4 ring-primary shadow-lg", children: [
|
|
1019
|
+
/* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: avatarSrc, alt: authorName }),
|
|
1020
|
+
/* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { className: "text-xs", children: getInitials(authorName) })
|
|
1021
|
+
] }),
|
|
1022
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-0 leading-tight", children: [
|
|
1023
|
+
testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: testimonial.author }) : testimonial.author),
|
|
1024
|
+
testimonial.role && (typeof testimonial.role === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs", children: testimonial.role }) : testimonial.role),
|
|
1025
|
+
testimonial.linkConfig?.href && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1026
|
+
Pressable,
|
|
1027
|
+
{
|
|
1028
|
+
href: testimonial.linkConfig.href,
|
|
1029
|
+
className: cn(
|
|
1030
|
+
"text-sm transition-all duration-300",
|
|
1031
|
+
"underline underline-offset-4",
|
|
1032
|
+
testimonial.linkConfig.className
|
|
1033
|
+
),
|
|
1034
|
+
children: testimonial.linkConfig.label
|
|
1035
|
+
}
|
|
1036
|
+
)
|
|
1037
|
+
] })
|
|
1038
|
+
] })
|
|
1048
1039
|
] })
|
|
1049
|
-
|
|
1050
|
-
|
|
1040
|
+
},
|
|
1041
|
+
index
|
|
1042
|
+
);
|
|
1051
1043
|
})
|
|
1052
1044
|
]
|
|
1053
1045
|
}
|
|
@@ -483,29 +483,6 @@ function AvatarFallback({
|
|
|
483
483
|
}
|
|
484
484
|
);
|
|
485
485
|
}
|
|
486
|
-
function Card({ className, ...props }) {
|
|
487
|
-
return /* @__PURE__ */ jsx(
|
|
488
|
-
"div",
|
|
489
|
-
{
|
|
490
|
-
"data-slot": "card",
|
|
491
|
-
className: cn(
|
|
492
|
-
"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
|
|
493
|
-
className
|
|
494
|
-
),
|
|
495
|
-
...props
|
|
496
|
-
}
|
|
497
|
-
);
|
|
498
|
-
}
|
|
499
|
-
function CardContent({ className, ...props }) {
|
|
500
|
-
return /* @__PURE__ */ jsx(
|
|
501
|
-
"div",
|
|
502
|
-
{
|
|
503
|
-
"data-slot": "card-content",
|
|
504
|
-
className: cn("px-6", className),
|
|
505
|
-
...props
|
|
506
|
-
}
|
|
507
|
-
);
|
|
508
|
-
}
|
|
509
486
|
var maxWidthStyles = {
|
|
510
487
|
sm: "max-w-screen-sm",
|
|
511
488
|
md: "max-w-screen-md",
|
|
@@ -934,10 +911,13 @@ function TestimonialsBentoGrid({
|
|
|
934
911
|
),
|
|
935
912
|
children: [
|
|
936
913
|
/* @__PURE__ */ jsx(
|
|
937
|
-
|
|
914
|
+
"div",
|
|
938
915
|
{
|
|
939
|
-
className: cn(
|
|
940
|
-
|
|
916
|
+
className: cn(
|
|
917
|
+
"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm md:col-span-2 lg:row-span-2",
|
|
918
|
+
featuredCardClassName
|
|
919
|
+
),
|
|
920
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col justify-between p-6 md:p-8 gap-8 md:gap-12", children: [
|
|
941
921
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
942
922
|
/* @__PURE__ */ jsx(
|
|
943
923
|
DynamicIcon,
|
|
@@ -967,11 +947,11 @@ function TestimonialsBentoGrid({
|
|
|
967
947
|
{
|
|
968
948
|
className: cn("mt-6 flex items-center gap-4", authorClassName),
|
|
969
949
|
children: [
|
|
970
|
-
/* @__PURE__ */ jsxs(Avatar, { className: "size-12", children: [
|
|
950
|
+
/* @__PURE__ */ jsxs(Avatar, { className: "relative flex shrink-0 overflow-hidden rounded-full size-12 ring-4 ring-primary shadow-lg", children: [
|
|
971
951
|
/* @__PURE__ */ jsx(AvatarImage, { src: featuredAvatarSrc, alt: featuredAuthorName }),
|
|
972
952
|
/* @__PURE__ */ jsx(AvatarFallback, { children: getInitials(featuredAuthorName) })
|
|
973
953
|
] }),
|
|
974
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
954
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-0 leading-tight", children: [
|
|
975
955
|
featured.author && (typeof featured.author === "string" ? /* @__PURE__ */ jsx("p", { className: "font-semibold", children: featured.author }) : featured.author),
|
|
976
956
|
(featured.role || featured.company) && /* @__PURE__ */ jsxs("p", { className: "text-sm text-muted-foreground", children: [
|
|
977
957
|
featured.role && (typeof featured.role === "string" ? featured.role : featured.role),
|
|
@@ -982,7 +962,8 @@ function TestimonialsBentoGrid({
|
|
|
982
962
|
{
|
|
983
963
|
href: featured.linkConfig.href,
|
|
984
964
|
className: cn(
|
|
985
|
-
"text-sm
|
|
965
|
+
"text-sm transition-all duration-300",
|
|
966
|
+
"underline underline-offset-4",
|
|
986
967
|
featured.linkConfig.className
|
|
987
968
|
),
|
|
988
969
|
children: featured.linkConfig.label
|
|
@@ -998,34 +979,45 @@ function TestimonialsBentoGrid({
|
|
|
998
979
|
others.slice(0, 5).map((testimonial, index) => {
|
|
999
980
|
const authorName = getAuthorName(testimonial);
|
|
1000
981
|
const avatarSrc = getAvatarSrc(testimonial);
|
|
1001
|
-
return /* @__PURE__ */ jsx(
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
/* @__PURE__ */ jsxs(
|
|
1009
|
-
/* @__PURE__ */
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
982
|
+
return /* @__PURE__ */ jsx(
|
|
983
|
+
"div",
|
|
984
|
+
{
|
|
985
|
+
className: cn(
|
|
986
|
+
cardClassName,
|
|
987
|
+
"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border shadow-sm"
|
|
988
|
+
),
|
|
989
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col justify-between p-6 gap-8", children: [
|
|
990
|
+
testimonial.quote && (typeof testimonial.quote === "string" ? /* @__PURE__ */ jsxs("blockquote", { className: "text-sm leading-relaxed line-clamp-3", children: [
|
|
991
|
+
"\u201C",
|
|
992
|
+
testimonial.quote,
|
|
993
|
+
"\u201D"
|
|
994
|
+
] }) : /* @__PURE__ */ jsx("div", { className: "line-clamp-3", children: testimonial.quote })),
|
|
995
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-4 flex items-center gap-3", children: [
|
|
996
|
+
/* @__PURE__ */ jsxs(Avatar, { className: "relative flex shrink-0 overflow-hidden rounded-full size-12 ring-4 ring-primary shadow-lg", children: [
|
|
997
|
+
/* @__PURE__ */ jsx(AvatarImage, { src: avatarSrc, alt: authorName }),
|
|
998
|
+
/* @__PURE__ */ jsx(AvatarFallback, { className: "text-xs", children: getInitials(authorName) })
|
|
999
|
+
] }),
|
|
1000
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-0 leading-tight", children: [
|
|
1001
|
+
testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: testimonial.author }) : testimonial.author),
|
|
1002
|
+
testimonial.role && (typeof testimonial.role === "string" ? /* @__PURE__ */ jsx("p", { className: "text-xs", children: testimonial.role }) : testimonial.role),
|
|
1003
|
+
testimonial.linkConfig?.href && /* @__PURE__ */ jsx(
|
|
1004
|
+
Pressable,
|
|
1005
|
+
{
|
|
1006
|
+
href: testimonial.linkConfig.href,
|
|
1007
|
+
className: cn(
|
|
1008
|
+
"text-sm transition-all duration-300",
|
|
1009
|
+
"underline underline-offset-4",
|
|
1010
|
+
testimonial.linkConfig.className
|
|
1011
|
+
),
|
|
1012
|
+
children: testimonial.linkConfig.label
|
|
1013
|
+
}
|
|
1014
|
+
)
|
|
1015
|
+
] })
|
|
1016
|
+
] })
|
|
1026
1017
|
] })
|
|
1027
|
-
|
|
1028
|
-
|
|
1018
|
+
},
|
|
1019
|
+
index
|
|
1020
|
+
);
|
|
1029
1021
|
})
|
|
1030
1022
|
]
|
|
1031
1023
|
}
|