@opensite/ui 2.8.7 → 2.8.9

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.
Files changed (163) hide show
  1. package/dist/about-culture-tabs.cjs +174 -174
  2. package/dist/about-culture-tabs.js +174 -174
  3. package/dist/about-developer-profile.cjs +200 -200
  4. package/dist/about-developer-profile.js +198 -198
  5. package/dist/about-developer-story.cjs +142 -142
  6. package/dist/about-developer-story.js +142 -142
  7. package/dist/about-mission-dual-image.cjs +142 -142
  8. package/dist/about-mission-dual-image.js +142 -142
  9. package/dist/about-mission-features.cjs +142 -142
  10. package/dist/about-mission-features.js +142 -142
  11. package/dist/about-network-spotlight.cjs +142 -142
  12. package/dist/about-network-spotlight.js +142 -142
  13. package/dist/about-story-expertise.cjs +142 -142
  14. package/dist/about-story-expertise.js +142 -142
  15. package/dist/about-streamline-team.cjs +142 -142
  16. package/dist/about-streamline-team.js +142 -142
  17. package/dist/carousel-icon-sidebar.cjs +5 -4
  18. package/dist/carousel-icon-sidebar.js +5 -4
  19. package/dist/community-initiatives.cjs +142 -142
  20. package/dist/community-initiatives.js +142 -142
  21. package/dist/components.cjs +723 -1364
  22. package/dist/components.d.cts +0 -2
  23. package/dist/components.d.ts +0 -2
  24. package/dist/components.js +633 -1273
  25. package/dist/contact-map.cjs +14 -1069
  26. package/dist/contact-map.d.cts +13 -3
  27. package/dist/contact-map.d.ts +13 -3
  28. package/dist/contact-map.js +14 -1069
  29. package/dist/cta-feature-checklist.cjs +142 -142
  30. package/dist/cta-feature-checklist.js +142 -142
  31. package/dist/faq-numbered-grid.cjs +142 -142
  32. package/dist/faq-numbered-grid.js +142 -142
  33. package/dist/feature-animated-carousel.cjs +142 -142
  34. package/dist/feature-animated-carousel.js +142 -142
  35. package/dist/feature-bento-utilities.cjs +142 -142
  36. package/dist/feature-bento-utilities.js +142 -142
  37. package/dist/feature-capabilities-grid.cjs +142 -142
  38. package/dist/feature-capabilities-grid.js +142 -142
  39. package/dist/feature-category-image-cards.cjs +142 -142
  40. package/dist/feature-category-image-cards.js +142 -142
  41. package/dist/feature-icon-grid-bordered.cjs +142 -142
  42. package/dist/feature-icon-grid-bordered.js +142 -142
  43. package/dist/feature-icon-grid-muted.cjs +142 -142
  44. package/dist/feature-icon-grid-muted.js +142 -142
  45. package/dist/feature-numbered-cards.cjs +142 -142
  46. package/dist/feature-numbered-cards.js +142 -142
  47. package/dist/feature-three-column-values.cjs +142 -142
  48. package/dist/feature-three-column-values.js +142 -142
  49. package/dist/hero-ad-campaign-expert.cjs +142 -142
  50. package/dist/hero-ad-campaign-expert.js +142 -142
  51. package/dist/hero-adaptable-product-grid.cjs +142 -142
  52. package/dist/hero-adaptable-product-grid.js +142 -142
  53. package/dist/hero-agency-animated-images.cjs +142 -142
  54. package/dist/hero-agency-animated-images.js +142 -142
  55. package/dist/hero-announcement-badge.cjs +142 -142
  56. package/dist/hero-announcement-badge.js +142 -142
  57. package/dist/hero-badge-image-split.cjs +142 -142
  58. package/dist/hero-badge-image-split.js +142 -142
  59. package/dist/hero-business-carousel-dots.cjs +142 -142
  60. package/dist/hero-business-carousel-dots.js +142 -142
  61. package/dist/hero-business-operations-mosaic.cjs +142 -142
  62. package/dist/hero-business-operations-mosaic.js +142 -142
  63. package/dist/hero-conversation-intelligence.cjs +142 -142
  64. package/dist/hero-conversation-intelligence.js +142 -142
  65. package/dist/hero-creative-studio-stacked.cjs +142 -142
  66. package/dist/hero-creative-studio-stacked.js +142 -142
  67. package/dist/hero-crm-streamlined.cjs +142 -142
  68. package/dist/hero-crm-streamlined.js +142 -142
  69. package/dist/hero-customer-support-layered.cjs +142 -142
  70. package/dist/hero-customer-support-layered.js +142 -142
  71. package/dist/hero-design-showcase-logos.cjs +142 -142
  72. package/dist/hero-design-showcase-logos.js +142 -142
  73. package/dist/hero-design-system-3d.cjs +142 -142
  74. package/dist/hero-design-system-3d.js +142 -142
  75. package/dist/hero-developer-tools-code.cjs +142 -142
  76. package/dist/hero-developer-tools-code.js +142 -142
  77. package/dist/hero-digital-agency-fullscreen.cjs +142 -142
  78. package/dist/hero-digital-agency-fullscreen.js +142 -142
  79. package/dist/hero-ecommerce-product-showcase.cjs +174 -174
  80. package/dist/hero-ecommerce-product-showcase.js +174 -174
  81. package/dist/hero-event-registration.cjs +142 -142
  82. package/dist/hero-event-registration.js +142 -142
  83. package/dist/hero-fullscreen-background-image.cjs +142 -142
  84. package/dist/hero-fullscreen-background-image.js +142 -142
  85. package/dist/hero-gradient-avatars-rating.cjs +142 -142
  86. package/dist/hero-gradient-avatars-rating.js +142 -142
  87. package/dist/hero-gradient-client-focused.cjs +142 -142
  88. package/dist/hero-gradient-client-focused.js +142 -142
  89. package/dist/hero-hiring-animated-text.cjs +142 -142
  90. package/dist/hero-hiring-animated-text.js +142 -142
  91. package/dist/hero-image-left-content.cjs +142 -142
  92. package/dist/hero-image-left-content.js +142 -142
  93. package/dist/hero-innovation-image-grid.cjs +142 -142
  94. package/dist/hero-innovation-image-grid.js +142 -142
  95. package/dist/hero-mental-health-team.cjs +142 -142
  96. package/dist/hero-mental-health-team.js +142 -142
  97. package/dist/hero-minimal-centered-dark.cjs +174 -174
  98. package/dist/hero-minimal-centered-dark.js +174 -174
  99. package/dist/hero-presentation-platform-video.cjs +142 -142
  100. package/dist/hero-presentation-platform-video.js +142 -142
  101. package/dist/hero-product-showcase-floating.cjs +174 -174
  102. package/dist/hero-product-showcase-floating.js +174 -174
  103. package/dist/hero-shared-inbox-layered.cjs +142 -142
  104. package/dist/hero-shared-inbox-layered.js +142 -142
  105. package/dist/hero-software-growth-video-dialog.cjs +142 -142
  106. package/dist/hero-software-growth-video-dialog.js +142 -142
  107. package/dist/hero-spiral-pattern-cards.cjs +174 -174
  108. package/dist/hero-spiral-pattern-cards.js +174 -174
  109. package/dist/hero-split-geometric-shapes.cjs +142 -142
  110. package/dist/hero-split-geometric-shapes.js +142 -142
  111. package/dist/hero-startup-launch-cta.cjs +174 -174
  112. package/dist/hero-startup-launch-cta.js +174 -174
  113. package/dist/hero-stats-social-proof.cjs +174 -174
  114. package/dist/hero-stats-social-proof.js +174 -174
  115. package/dist/hero-task-timer-animated.cjs +142 -142
  116. package/dist/hero-task-timer-animated.js +142 -142
  117. package/dist/hero-testimonial-image-grid.cjs +142 -142
  118. package/dist/hero-testimonial-image-grid.js +142 -142
  119. package/dist/hero-therapy-testimonial-grid.cjs +142 -142
  120. package/dist/hero-therapy-testimonial-grid.js +142 -142
  121. package/dist/hero-ui-library-showcase.cjs +142 -142
  122. package/dist/hero-ui-library-showcase.js +142 -142
  123. package/dist/hero-video-background-dark.cjs +174 -174
  124. package/dist/hero-video-background-dark.js +174 -174
  125. package/dist/hero-video-dialog-gradient.cjs +142 -142
  126. package/dist/hero-video-dialog-gradient.js +142 -142
  127. package/dist/hero-video-overlay-stars.cjs +142 -142
  128. package/dist/hero-video-overlay-stars.js +142 -142
  129. package/dist/hero-welcome-asymmetric-images.cjs +142 -142
  130. package/dist/hero-welcome-asymmetric-images.js +142 -142
  131. package/dist/index.cjs +725 -1366
  132. package/dist/index.d.cts +0 -2
  133. package/dist/index.d.ts +0 -2
  134. package/dist/index.js +634 -1274
  135. package/dist/registry.cjs +2371 -2915
  136. package/dist/registry.js +1120 -1664
  137. package/dist/testimonials-large-quote.cjs +74 -43
  138. package/dist/testimonials-large-quote.d.cts +5 -1
  139. package/dist/testimonials-large-quote.d.ts +5 -1
  140. package/dist/testimonials-large-quote.js +74 -43
  141. package/dist/testimonials-logo-cards.cjs +8 -2
  142. package/dist/testimonials-logo-cards.js +8 -2
  143. package/dist/testimonials-masonry-grid.cjs +486 -69
  144. package/dist/testimonials-masonry-grid.d.cts +5 -1
  145. package/dist/testimonials-masonry-grid.d.ts +5 -1
  146. package/dist/testimonials-masonry-grid.js +483 -63
  147. package/dist/testimonials-mini-dividers.cjs +2 -3
  148. package/dist/testimonials-mini-dividers.js +2 -3
  149. package/dist/testimonials-minimal-numbered.cjs +5 -4
  150. package/dist/testimonials-minimal-numbered.js +5 -4
  151. package/dist/testimonials-parallax-number.cjs +5 -4
  152. package/dist/testimonials-parallax-number.js +5 -4
  153. package/dist/testimonials-scrolling-columns.cjs +7 -12
  154. package/dist/testimonials-scrolling-columns.js +7 -12
  155. package/dist/testimonials-stats-header.cjs +528 -87
  156. package/dist/testimonials-stats-header.d.cts +39 -3
  157. package/dist/testimonials-stats-header.d.ts +39 -3
  158. package/dist/testimonials-stats-header.js +523 -82
  159. package/package.json +4 -7
  160. package/dist/geo-map.cjs +0 -1103
  161. package/dist/geo-map.d.cts +0 -92
  162. package/dist/geo-map.d.ts +0 -92
  163. package/dist/geo-map.js +0 -1081
@@ -472,7 +472,8 @@ function TestimonialsLargeQuote({
472
472
  authorClassName,
473
473
  avatarClassName,
474
474
  background,
475
- spacing,
475
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
476
+ spacing = "xl",
476
477
  pattern,
477
478
  patternOpacity
478
479
  }) {
@@ -491,49 +492,78 @@ function TestimonialsLargeQuote({
491
492
  if (!testimonial) return null;
492
493
  const authorName = getAuthorName();
493
494
  const avatarSrc = getAvatarSrc();
494
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-4xl text-center", contentClassName), children: [
495
- /* @__PURE__ */ jsxRuntime.jsx(
496
- DynamicIcon,
497
- {
498
- name: "lucide/quote",
499
- size: 64,
500
- className: cn("mx-auto mb-8 text-primary/20", quoteIconClassName)
501
- }
502
- ),
503
- testimonial.quote && (typeof testimonial.quote === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
504
- "blockquote",
505
- {
506
- className: cn(
507
- "text-2xl font-medium leading-relaxed md:text-3xl lg:text-4xl",
508
- quoteClassName
509
- ),
510
- children: testimonial.quote
511
- }
512
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: quoteClassName, children: testimonial.quote })),
513
- /* @__PURE__ */ jsxRuntime.jsxs(
514
- "div",
515
- {
516
- className: cn(
517
- "mt-10 flex flex-col items-center gap-4",
518
- authorClassName
495
+ return /* @__PURE__ */ jsxRuntime.jsxs(
496
+ "div",
497
+ {
498
+ className: cn(
499
+ "mx-auto max-full md:max-w-lg text-center",
500
+ contentClassName
501
+ ),
502
+ children: [
503
+ /* @__PURE__ */ jsxRuntime.jsx(
504
+ DynamicIcon,
505
+ {
506
+ name: "mdi/comment-quote-outline",
507
+ size: 48,
508
+ className: cn("mx-auto mb-8 ", quoteIconClassName)
509
+ }
519
510
  ),
520
- children: [
521
- /* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: cn("size-16", avatarClassName), children: [
522
- /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: avatarSrc, alt: authorName }),
523
- /* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { className: "text-lg", children: getInitials(authorName) })
524
- ] }),
525
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
526
- testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-lg font-semibold", children: testimonial.author }) : testimonial.author),
527
- (testimonial.role || testimonial.company) && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-muted-foreground", children: [
528
- testimonial.role && (typeof testimonial.role === "string" ? testimonial.role : testimonial.role),
529
- testimonial.company && (typeof testimonial.company === "string" ? ` at ${testimonial.company}` : testimonial.company)
530
- ] })
531
- ] })
532
- ]
533
- }
534
- )
535
- ] });
536
- }, [testimonialSlot, contentClassName, quoteIconClassName, testimonial, quoteClassName, authorClassName, avatarClassName, getAuthorName, getAvatarSrc, getInitials]);
511
+ testimonial.quote && (typeof testimonial.quote === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
512
+ "blockquote",
513
+ {
514
+ className: cn(
515
+ "text-2xl font-light leading-relaxed md:text-3xl lg:text-4xl text-balance",
516
+ quoteClassName
517
+ ),
518
+ children: testimonial.quote
519
+ }
520
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: quoteClassName, children: testimonial.quote })),
521
+ /* @__PURE__ */ jsxRuntime.jsxs(
522
+ "div",
523
+ {
524
+ className: cn(
525
+ "mt-10 md:mt-16 flex flex-col items-center gap-4 md:gap-8",
526
+ authorClassName
527
+ ),
528
+ children: [
529
+ /* @__PURE__ */ jsxRuntime.jsxs(
530
+ Avatar,
531
+ {
532
+ className: cn(
533
+ "relative flex shrink-0 overflow-hidden rounded-full size-16 ring-4 ring-primary shadow-lg",
534
+ avatarClassName
535
+ ),
536
+ children: [
537
+ /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: avatarSrc, alt: authorName }),
538
+ /* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { className: "text-lg", children: getInitials(authorName) })
539
+ ]
540
+ }
541
+ ),
542
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-4", children: [
543
+ testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-lg font-semibold", children: testimonial.author }) : testimonial.author),
544
+ (testimonial.role || testimonial.company) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-2", children: [
545
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base font-normal opacity-75", children: testimonial.role && (typeof testimonial.role === "string" ? testimonial.role : testimonial.role) }),
546
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm uppercase font-semibold opacity-75", children: testimonial.company && (typeof testimonial.company === "string" ? ` at ${testimonial.company}` : testimonial.company) })
547
+ ] })
548
+ ] })
549
+ ]
550
+ }
551
+ )
552
+ ]
553
+ }
554
+ );
555
+ }, [
556
+ testimonialSlot,
557
+ contentClassName,
558
+ quoteIconClassName,
559
+ testimonial,
560
+ quoteClassName,
561
+ authorClassName,
562
+ avatarClassName,
563
+ getAuthorName,
564
+ getAvatarSrc,
565
+ getInitials
566
+ ]);
537
567
  return /* @__PURE__ */ jsxRuntime.jsx(
538
568
  Section,
539
569
  {
@@ -542,6 +572,7 @@ function TestimonialsLargeQuote({
542
572
  pattern,
543
573
  patternOpacity,
544
574
  className,
575
+ containerClassName,
545
576
  children: renderedTestimonial
546
577
  }
547
578
  );
@@ -56,6 +56,10 @@ interface TestimonialsLargeQuoteProps {
56
56
  * Pattern overlay opacity (0-1)
57
57
  */
58
58
  patternOpacity?: number;
59
+ /**
60
+ * Additional CSS classes for the container
61
+ */
62
+ containerClassName?: string;
59
63
  }
60
64
  /**
61
65
  * TestimonialsLargeQuote - A centered, single testimonial section featuring an oversized
@@ -79,6 +83,6 @@ interface TestimonialsLargeQuoteProps {
79
83
  * />
80
84
  * ```
81
85
  */
82
- declare function TestimonialsLargeQuote({ testimonial, testimonialSlot, className, contentClassName, quoteIconClassName, quoteClassName, authorClassName, avatarClassName, background, spacing, pattern, patternOpacity, }: TestimonialsLargeQuoteProps): React.JSX.Element;
86
+ declare function TestimonialsLargeQuote({ testimonial, testimonialSlot, className, contentClassName, quoteIconClassName, quoteClassName, authorClassName, avatarClassName, background, containerClassName, spacing, pattern, patternOpacity, }: TestimonialsLargeQuoteProps): React.JSX.Element;
83
87
 
84
88
  export { TestimonialsLargeQuote, type TestimonialsLargeQuoteProps };
@@ -56,6 +56,10 @@ interface TestimonialsLargeQuoteProps {
56
56
  * Pattern overlay opacity (0-1)
57
57
  */
58
58
  patternOpacity?: number;
59
+ /**
60
+ * Additional CSS classes for the container
61
+ */
62
+ containerClassName?: string;
59
63
  }
60
64
  /**
61
65
  * TestimonialsLargeQuote - A centered, single testimonial section featuring an oversized
@@ -79,6 +83,6 @@ interface TestimonialsLargeQuoteProps {
79
83
  * />
80
84
  * ```
81
85
  */
82
- declare function TestimonialsLargeQuote({ testimonial, testimonialSlot, className, contentClassName, quoteIconClassName, quoteClassName, authorClassName, avatarClassName, background, spacing, pattern, patternOpacity, }: TestimonialsLargeQuoteProps): React.JSX.Element;
86
+ declare function TestimonialsLargeQuote({ testimonial, testimonialSlot, className, contentClassName, quoteIconClassName, quoteClassName, authorClassName, avatarClassName, background, containerClassName, spacing, pattern, patternOpacity, }: TestimonialsLargeQuoteProps): React.JSX.Element;
83
87
 
84
88
  export { TestimonialsLargeQuote, type TestimonialsLargeQuoteProps };
@@ -450,7 +450,8 @@ function TestimonialsLargeQuote({
450
450
  authorClassName,
451
451
  avatarClassName,
452
452
  background,
453
- spacing,
453
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
454
+ spacing = "xl",
454
455
  pattern,
455
456
  patternOpacity
456
457
  }) {
@@ -469,49 +470,78 @@ function TestimonialsLargeQuote({
469
470
  if (!testimonial) return null;
470
471
  const authorName = getAuthorName();
471
472
  const avatarSrc = getAvatarSrc();
472
- return /* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-4xl text-center", contentClassName), children: [
473
- /* @__PURE__ */ jsx(
474
- DynamicIcon,
475
- {
476
- name: "lucide/quote",
477
- size: 64,
478
- className: cn("mx-auto mb-8 text-primary/20", quoteIconClassName)
479
- }
480
- ),
481
- testimonial.quote && (typeof testimonial.quote === "string" ? /* @__PURE__ */ jsx(
482
- "blockquote",
483
- {
484
- className: cn(
485
- "text-2xl font-medium leading-relaxed md:text-3xl lg:text-4xl",
486
- quoteClassName
487
- ),
488
- children: testimonial.quote
489
- }
490
- ) : /* @__PURE__ */ jsx("div", { className: quoteClassName, children: testimonial.quote })),
491
- /* @__PURE__ */ jsxs(
492
- "div",
493
- {
494
- className: cn(
495
- "mt-10 flex flex-col items-center gap-4",
496
- authorClassName
473
+ return /* @__PURE__ */ jsxs(
474
+ "div",
475
+ {
476
+ className: cn(
477
+ "mx-auto max-full md:max-w-lg text-center",
478
+ contentClassName
479
+ ),
480
+ children: [
481
+ /* @__PURE__ */ jsx(
482
+ DynamicIcon,
483
+ {
484
+ name: "mdi/comment-quote-outline",
485
+ size: 48,
486
+ className: cn("mx-auto mb-8 ", quoteIconClassName)
487
+ }
497
488
  ),
498
- children: [
499
- /* @__PURE__ */ jsxs(Avatar, { className: cn("size-16", avatarClassName), children: [
500
- /* @__PURE__ */ jsx(AvatarImage, { src: avatarSrc, alt: authorName }),
501
- /* @__PURE__ */ jsx(AvatarFallback, { className: "text-lg", children: getInitials(authorName) })
502
- ] }),
503
- /* @__PURE__ */ jsxs("div", { children: [
504
- testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsx("p", { className: "text-lg font-semibold", children: testimonial.author }) : testimonial.author),
505
- (testimonial.role || testimonial.company) && /* @__PURE__ */ jsxs("p", { className: "text-muted-foreground", children: [
506
- testimonial.role && (typeof testimonial.role === "string" ? testimonial.role : testimonial.role),
507
- testimonial.company && (typeof testimonial.company === "string" ? ` at ${testimonial.company}` : testimonial.company)
508
- ] })
509
- ] })
510
- ]
511
- }
512
- )
513
- ] });
514
- }, [testimonialSlot, contentClassName, quoteIconClassName, testimonial, quoteClassName, authorClassName, avatarClassName, getAuthorName, getAvatarSrc, getInitials]);
489
+ testimonial.quote && (typeof testimonial.quote === "string" ? /* @__PURE__ */ jsx(
490
+ "blockquote",
491
+ {
492
+ className: cn(
493
+ "text-2xl font-light leading-relaxed md:text-3xl lg:text-4xl text-balance",
494
+ quoteClassName
495
+ ),
496
+ children: testimonial.quote
497
+ }
498
+ ) : /* @__PURE__ */ jsx("div", { className: quoteClassName, children: testimonial.quote })),
499
+ /* @__PURE__ */ jsxs(
500
+ "div",
501
+ {
502
+ className: cn(
503
+ "mt-10 md:mt-16 flex flex-col items-center gap-4 md:gap-8",
504
+ authorClassName
505
+ ),
506
+ children: [
507
+ /* @__PURE__ */ jsxs(
508
+ Avatar,
509
+ {
510
+ className: cn(
511
+ "relative flex shrink-0 overflow-hidden rounded-full size-16 ring-4 ring-primary shadow-lg",
512
+ avatarClassName
513
+ ),
514
+ children: [
515
+ /* @__PURE__ */ jsx(AvatarImage, { src: avatarSrc, alt: authorName }),
516
+ /* @__PURE__ */ jsx(AvatarFallback, { className: "text-lg", children: getInitials(authorName) })
517
+ ]
518
+ }
519
+ ),
520
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-4", children: [
521
+ testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsx("p", { className: "text-lg font-semibold", children: testimonial.author }) : testimonial.author),
522
+ (testimonial.role || testimonial.company) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-2", children: [
523
+ /* @__PURE__ */ jsx("div", { className: "text-base font-normal opacity-75", children: testimonial.role && (typeof testimonial.role === "string" ? testimonial.role : testimonial.role) }),
524
+ /* @__PURE__ */ jsx("div", { className: "text-sm uppercase font-semibold opacity-75", children: testimonial.company && (typeof testimonial.company === "string" ? ` at ${testimonial.company}` : testimonial.company) })
525
+ ] })
526
+ ] })
527
+ ]
528
+ }
529
+ )
530
+ ]
531
+ }
532
+ );
533
+ }, [
534
+ testimonialSlot,
535
+ contentClassName,
536
+ quoteIconClassName,
537
+ testimonial,
538
+ quoteClassName,
539
+ authorClassName,
540
+ avatarClassName,
541
+ getAuthorName,
542
+ getAvatarSrc,
543
+ getInitials
544
+ ]);
515
545
  return /* @__PURE__ */ jsx(
516
546
  Section,
517
547
  {
@@ -520,6 +550,7 @@ function TestimonialsLargeQuote({
520
550
  pattern,
521
551
  patternOpacity,
522
552
  className,
553
+ containerClassName,
523
554
  children: renderedTestimonial
524
555
  }
525
556
  );
@@ -645,13 +645,19 @@ function TestimonialsLogoCards({
645
645
  "h2",
646
646
  {
647
647
  className: cn(
648
- "text-3xl font-semibold tracking-tight md:text-4xl",
648
+ "text-3xl font-semibold tracking-tight md:text-4xl text-balance",
649
649
  headingClassName
650
650
  ),
651
651
  children: heading
652
652
  }
653
653
  ) : heading),
654
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-lg", descriptionClassName), children: description }) : description)
654
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
655
+ "p",
656
+ {
657
+ className: cn("mt-4 text-lg text-balance", descriptionClassName),
658
+ children: description
659
+ }
660
+ ) : description)
655
661
  ]
656
662
  }
657
663
  ),
@@ -620,13 +620,19 @@ function TestimonialsLogoCards({
620
620
  "h2",
621
621
  {
622
622
  className: cn(
623
- "text-3xl font-semibold tracking-tight md:text-4xl",
623
+ "text-3xl font-semibold tracking-tight md:text-4xl text-balance",
624
624
  headingClassName
625
625
  ),
626
626
  children: heading
627
627
  }
628
628
  ) : heading),
629
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-lg", descriptionClassName), children: description }) : description)
629
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
630
+ "p",
631
+ {
632
+ className: cn("mt-4 text-lg text-balance", descriptionClassName),
633
+ children: description
634
+ }
635
+ ) : description)
630
636
  ]
631
637
  }
632
638
  ),