@opensite/ui 3.7.2 → 3.7.3
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/hero-ad-campaign-expert.cjs +46 -1
- package/dist/hero-ad-campaign-expert.d.cts +16 -1
- package/dist/hero-ad-campaign-expert.d.ts +16 -1
- package/dist/hero-ad-campaign-expert.js +46 -1
- package/dist/hero-adaptable-product-grid.cjs +46 -1
- package/dist/hero-adaptable-product-grid.d.cts +16 -1
- package/dist/hero-adaptable-product-grid.d.ts +16 -1
- package/dist/hero-adaptable-product-grid.js +46 -1
- package/dist/hero-agency-animated-images.cjs +46 -1
- package/dist/hero-agency-animated-images.d.cts +16 -1
- package/dist/hero-agency-animated-images.d.ts +16 -1
- package/dist/hero-agency-animated-images.js +46 -1
- package/dist/hero-ai-powered-carousel.cjs +46 -1
- package/dist/hero-ai-powered-carousel.d.cts +16 -1
- package/dist/hero-ai-powered-carousel.d.ts +16 -1
- package/dist/hero-ai-powered-carousel.js +46 -1
- package/dist/hero-announcement-badge.cjs +47 -1
- package/dist/hero-announcement-badge.d.cts +16 -1
- package/dist/hero-announcement-badge.d.ts +16 -1
- package/dist/hero-announcement-badge.js +47 -1
- package/dist/hero-architecture-fullscreen.cjs +46 -1
- package/dist/hero-architecture-fullscreen.d.cts +16 -1
- package/dist/hero-architecture-fullscreen.d.ts +16 -1
- package/dist/hero-architecture-fullscreen.js +46 -1
- package/dist/hero-badge-image-split.cjs +46 -1
- package/dist/hero-badge-image-split.d.cts +16 -1
- package/dist/hero-badge-image-split.d.ts +16 -1
- package/dist/hero-badge-image-split.js +46 -1
- package/dist/hero-badge-shadow-overlay.cjs +46 -1
- package/dist/hero-badge-shadow-overlay.d.cts +16 -1
- package/dist/hero-badge-shadow-overlay.d.ts +16 -1
- package/dist/hero-badge-shadow-overlay.js +46 -1
- package/dist/hero-business-carousel-dots.cjs +46 -1
- package/dist/hero-business-carousel-dots.d.cts +16 -1
- package/dist/hero-business-carousel-dots.d.ts +16 -1
- package/dist/hero-business-carousel-dots.js +46 -1
- package/dist/hero-business-operations-mosaic.cjs +46 -1
- package/dist/hero-business-operations-mosaic.d.cts +16 -1
- package/dist/hero-business-operations-mosaic.d.ts +16 -1
- package/dist/hero-business-operations-mosaic.js +46 -1
- package/dist/hero-centered-gradient-cta.cjs +47 -1
- package/dist/hero-centered-gradient-cta.d.cts +16 -1
- package/dist/hero-centered-gradient-cta.d.ts +16 -1
- package/dist/hero-centered-gradient-cta.js +47 -1
- package/dist/hero-centered-image-grid.cjs +46 -1
- package/dist/hero-centered-image-grid.d.cts +16 -1
- package/dist/hero-centered-image-grid.d.ts +16 -1
- package/dist/hero-centered-image-grid.js +46 -1
- package/dist/hero-centered-screenshot.cjs +46 -1
- package/dist/hero-centered-screenshot.d.cts +16 -1
- package/dist/hero-centered-screenshot.d.ts +16 -1
- package/dist/hero-centered-screenshot.js +46 -1
- package/dist/hero-coming-soon-countdown.cjs +47 -1
- package/dist/hero-coming-soon-countdown.d.cts +16 -1
- package/dist/hero-coming-soon-countdown.d.ts +16 -1
- package/dist/hero-coming-soon-countdown.js +47 -1
- package/dist/hero-community-survey-cta.cjs +46 -1
- package/dist/hero-community-survey-cta.d.cts +16 -1
- package/dist/hero-community-survey-cta.d.ts +16 -1
- package/dist/hero-community-survey-cta.js +46 -1
- package/dist/hero-conversation-intelligence.cjs +46 -1
- package/dist/hero-conversation-intelligence.d.cts +16 -1
- package/dist/hero-conversation-intelligence.d.ts +16 -1
- package/dist/hero-conversation-intelligence.js +46 -1
- package/dist/hero-creative-studio-stacked.cjs +46 -1
- package/dist/hero-creative-studio-stacked.d.cts +17 -2
- package/dist/hero-creative-studio-stacked.d.ts +17 -2
- package/dist/hero-creative-studio-stacked.js +46 -1
- package/dist/hero-crm-streamlined.cjs +46 -1
- package/dist/hero-crm-streamlined.d.cts +16 -1
- package/dist/hero-crm-streamlined.d.ts +16 -1
- package/dist/hero-crm-streamlined.js +46 -1
- package/dist/hero-customer-support-layered.cjs +46 -1
- package/dist/hero-customer-support-layered.d.cts +16 -1
- package/dist/hero-customer-support-layered.d.ts +16 -1
- package/dist/hero-customer-support-layered.js +46 -1
- package/dist/hero-design-system-3d.cjs +67 -20
- package/dist/hero-design-system-3d.d.cts +16 -1
- package/dist/hero-design-system-3d.d.ts +16 -1
- package/dist/hero-design-system-3d.js +67 -20
- package/dist/hero-developer-tools-code.cjs +47 -1
- package/dist/hero-developer-tools-code.d.cts +16 -1
- package/dist/hero-developer-tools-code.d.ts +16 -1
- package/dist/hero-developer-tools-code.js +47 -1
- package/dist/hero-digital-agency-fullscreen.cjs +46 -1
- package/dist/hero-digital-agency-fullscreen.d.cts +16 -1
- package/dist/hero-digital-agency-fullscreen.d.ts +16 -1
- package/dist/hero-digital-agency-fullscreen.js +46 -1
- package/dist/hero-ecommerce-product-showcase.cjs +46 -1
- package/dist/hero-ecommerce-product-showcase.d.cts +16 -1
- package/dist/hero-ecommerce-product-showcase.d.ts +16 -1
- package/dist/hero-ecommerce-product-showcase.js +46 -1
- package/dist/hero-enterprise-security.cjs +47 -1
- package/dist/hero-enterprise-security.d.cts +16 -1
- package/dist/hero-enterprise-security.d.ts +16 -1
- package/dist/hero-enterprise-security.js +47 -1
- package/dist/hero-feature-cards-grid.cjs +47 -1
- package/dist/hero-feature-cards-grid.d.cts +16 -1
- package/dist/hero-feature-cards-grid.d.ts +16 -1
- package/dist/hero-feature-cards-grid.js +47 -1
- package/dist/hero-fullscreen-background-image.cjs +46 -1
- package/dist/hero-fullscreen-background-image.d.cts +16 -1
- package/dist/hero-fullscreen-background-image.d.ts +16 -1
- package/dist/hero-fullscreen-background-image.js +46 -1
- package/dist/hero-gradient-avatars-rating.cjs +46 -1
- package/dist/hero-gradient-avatars-rating.d.cts +16 -1
- package/dist/hero-gradient-avatars-rating.d.ts +16 -1
- package/dist/hero-gradient-avatars-rating.js +46 -1
- package/dist/hero-gradient-client-focused.cjs +46 -1
- package/dist/hero-gradient-client-focused.d.cts +16 -1
- package/dist/hero-gradient-client-focused.d.ts +16 -1
- package/dist/hero-gradient-client-focused.js +46 -1
- package/dist/hero-grid-pattern-efficiency.cjs +47 -1
- package/dist/hero-grid-pattern-efficiency.d.cts +16 -1
- package/dist/hero-grid-pattern-efficiency.d.ts +16 -1
- package/dist/hero-grid-pattern-efficiency.js +47 -1
- package/dist/hero-grid-pattern-solutions.cjs +46 -1
- package/dist/hero-grid-pattern-solutions.d.cts +16 -1
- package/dist/hero-grid-pattern-solutions.d.ts +16 -1
- package/dist/hero-grid-pattern-solutions.js +46 -1
- package/dist/hero-hiring-animated-text.cjs +47 -1
- package/dist/hero-hiring-animated-text.d.cts +16 -1
- package/dist/hero-hiring-animated-text.d.ts +16 -1
- package/dist/hero-hiring-animated-text.js +47 -1
- package/dist/hero-image-left-content.cjs +46 -1
- package/dist/hero-image-left-content.d.cts +16 -1
- package/dist/hero-image-left-content.d.ts +16 -1
- package/dist/hero-image-left-content.js +46 -1
- package/dist/hero-image-slider.cjs +46 -1
- package/dist/hero-image-slider.d.cts +16 -1
- package/dist/hero-image-slider.d.ts +16 -1
- package/dist/hero-image-slider.js +46 -1
- package/dist/hero-innovation-image-grid.cjs +46 -1
- package/dist/hero-innovation-image-grid.d.cts +16 -1
- package/dist/hero-innovation-image-grid.d.ts +16 -1
- package/dist/hero-innovation-image-grid.js +46 -1
- package/dist/hero-marketplace-scattered-images.cjs +46 -1
- package/dist/hero-marketplace-scattered-images.d.cts +16 -1
- package/dist/hero-marketplace-scattered-images.d.ts +16 -1
- package/dist/hero-marketplace-scattered-images.js +46 -1
- package/dist/hero-minimal-centered-dark.cjs +47 -1
- package/dist/hero-minimal-centered-dark.d.cts +16 -1
- package/dist/hero-minimal-centered-dark.d.ts +16 -1
- package/dist/hero-minimal-centered-dark.js +47 -1
- package/dist/hero-mobile-app-download.cjs +46 -1
- package/dist/hero-mobile-app-download.d.cts +16 -1
- package/dist/hero-mobile-app-download.d.ts +16 -1
- package/dist/hero-mobile-app-download.js +46 -1
- package/dist/hero-newsletter-minimal.cjs +48 -1
- package/dist/hero-newsletter-minimal.d.cts +16 -1
- package/dist/hero-newsletter-minimal.d.ts +16 -1
- package/dist/hero-newsletter-minimal.js +48 -1
- package/dist/hero-overlay-cta-grid.cjs +46 -1
- package/dist/hero-overlay-cta-grid.d.cts +16 -1
- package/dist/hero-overlay-cta-grid.d.ts +16 -1
- package/dist/hero-overlay-cta-grid.js +46 -1
- package/dist/hero-portfolio-creative.cjs +46 -1
- package/dist/hero-portfolio-creative.d.cts +16 -1
- package/dist/hero-portfolio-creative.d.ts +16 -1
- package/dist/hero-portfolio-creative.js +46 -1
- package/dist/hero-premium-split-avatars.cjs +46 -1
- package/dist/hero-premium-split-avatars.d.cts +16 -1
- package/dist/hero-premium-split-avatars.d.ts +16 -1
- package/dist/hero-premium-split-avatars.js +46 -1
- package/dist/hero-presentation-platform-video.cjs +47 -1
- package/dist/hero-presentation-platform-video.d.cts +16 -1
- package/dist/hero-presentation-platform-video.d.ts +16 -1
- package/dist/hero-presentation-platform-video.js +47 -1
- package/dist/hero-pricing-comparison.cjs +47 -1
- package/dist/hero-pricing-comparison.d.cts +16 -1
- package/dist/hero-pricing-comparison.d.ts +16 -1
- package/dist/hero-pricing-comparison.js +47 -1
- package/dist/hero-product-showcase-floating.cjs +46 -1
- package/dist/hero-product-showcase-floating.d.cts +16 -1
- package/dist/hero-product-showcase-floating.d.ts +16 -1
- package/dist/hero-product-showcase-floating.js +46 -1
- package/dist/hero-productivity-launcher-video.cjs +68 -20
- package/dist/hero-productivity-launcher-video.d.cts +16 -1
- package/dist/hero-productivity-launcher-video.d.ts +16 -1
- package/dist/hero-productivity-launcher-video.js +68 -20
- package/dist/hero-saas-dashboard-preview.cjs +46 -1
- package/dist/hero-saas-dashboard-preview.d.cts +16 -1
- package/dist/hero-saas-dashboard-preview.d.ts +16 -1
- package/dist/hero-saas-dashboard-preview.js +46 -1
- package/dist/hero-shared-inbox-layered.cjs +46 -1
- package/dist/hero-shared-inbox-layered.d.cts +16 -1
- package/dist/hero-shared-inbox-layered.d.ts +16 -1
- package/dist/hero-shared-inbox-layered.js +46 -1
- package/dist/hero-simple-centered-image.cjs +46 -1
- package/dist/hero-simple-centered-image.d.cts +16 -1
- package/dist/hero-simple-centered-image.d.ts +16 -1
- package/dist/hero-simple-centered-image.js +46 -1
- package/dist/hero-software-growth-video-dialog.cjs +46 -1
- package/dist/hero-software-growth-video-dialog.d.cts +16 -1
- package/dist/hero-software-growth-video-dialog.d.ts +16 -1
- package/dist/hero-software-growth-video-dialog.js +46 -1
- package/dist/hero-spiral-pattern-cards.cjs +46 -1
- package/dist/hero-spiral-pattern-cards.d.cts +16 -1
- package/dist/hero-spiral-pattern-cards.d.ts +16 -1
- package/dist/hero-spiral-pattern-cards.js +46 -1
- package/dist/hero-split-geometric-shapes.cjs +46 -1
- package/dist/hero-split-geometric-shapes.d.cts +16 -1
- package/dist/hero-split-geometric-shapes.d.ts +16 -1
- package/dist/hero-split-geometric-shapes.js +46 -1
- package/dist/hero-split-icon-cards.cjs +47 -1
- package/dist/hero-split-icon-cards.d.cts +16 -1
- package/dist/hero-split-icon-cards.d.ts +16 -1
- package/dist/hero-split-icon-cards.js +47 -1
- package/dist/hero-split-image-newsletter.cjs +46 -1
- package/dist/hero-split-image-newsletter.d.cts +16 -1
- package/dist/hero-split-image-newsletter.d.ts +16 -1
- package/dist/hero-split-image-newsletter.js +47 -2
- package/dist/hero-split-spiral-shapes.cjs +46 -1
- package/dist/hero-split-spiral-shapes.d.cts +16 -1
- package/dist/hero-split-spiral-shapes.d.ts +16 -1
- package/dist/hero-split-spiral-shapes.js +46 -1
- package/dist/hero-startup-launch-cta.cjs +46 -1
- package/dist/hero-startup-launch-cta.d.cts +16 -1
- package/dist/hero-startup-launch-cta.d.ts +16 -1
- package/dist/hero-startup-launch-cta.js +46 -1
- package/dist/hero-stats-social-proof.cjs +46 -1
- package/dist/hero-stats-social-proof.d.cts +16 -1
- package/dist/hero-stats-social-proof.d.ts +16 -1
- package/dist/hero-stats-social-proof.js +46 -1
- package/dist/hero-task-timer-animated.cjs +46 -1
- package/dist/hero-task-timer-animated.d.cts +16 -1
- package/dist/hero-task-timer-animated.d.ts +16 -1
- package/dist/hero-task-timer-animated.js +46 -1
- package/dist/hero-testimonial-image-grid.cjs +46 -1
- package/dist/hero-testimonial-image-grid.d.cts +16 -1
- package/dist/hero-testimonial-image-grid.d.ts +16 -1
- package/dist/hero-testimonial-image-grid.js +46 -1
- package/dist/hero-therapy-testimonial-grid.cjs +46 -1
- package/dist/hero-therapy-testimonial-grid.d.cts +16 -1
- package/dist/hero-therapy-testimonial-grid.d.ts +16 -1
- package/dist/hero-therapy-testimonial-grid.js +46 -1
- package/dist/hero-ui-library-showcase.cjs +3 -2
- package/dist/hero-ui-library-showcase.d.cts +13 -5
- package/dist/hero-ui-library-showcase.d.ts +13 -5
- package/dist/hero-ui-library-showcase.js +3 -2
- package/dist/hero-video-background-dark.cjs +47 -1
- package/dist/hero-video-background-dark.d.cts +16 -1
- package/dist/hero-video-background-dark.d.ts +16 -1
- package/dist/hero-video-background-dark.js +47 -1
- package/dist/{hero-video-dialog-gradient-Cr96k01H.d.ts → hero-video-dialog-gradient-B6-kFIvZ.d.ts} +14 -1
- package/dist/{hero-video-dialog-gradient-Dc0wRYdW.d.cts → hero-video-dialog-gradient-DPnh6Vn-.d.cts} +14 -1
- package/dist/hero-video-dialog-gradient.cjs +46 -1
- package/dist/hero-video-dialog-gradient.d.cts +4 -1
- package/dist/hero-video-dialog-gradient.d.ts +4 -1
- package/dist/hero-video-dialog-gradient.js +46 -1
- package/dist/hero-welcome-asymmetric-images.cjs +46 -1
- package/dist/hero-welcome-asymmetric-images.d.cts +16 -1
- package/dist/hero-welcome-asymmetric-images.d.ts +16 -1
- package/dist/hero-welcome-asymmetric-images.js +46 -1
- package/dist/link-page-bento-layout.cjs +59 -3
- package/dist/link-page-bento-layout.d.cts +16 -1
- package/dist/link-page-bento-layout.d.ts +16 -1
- package/dist/link-page-bento-layout.js +59 -3
- package/dist/link-page-grid-cards.cjs +59 -3
- package/dist/link-page-grid-cards.d.cts +16 -1
- package/dist/link-page-grid-cards.d.ts +16 -1
- package/dist/link-page-grid-cards.js +59 -3
- package/dist/link-page-minimal-profile.cjs +59 -3
- package/dist/link-page-minimal-profile.d.cts +16 -1
- package/dist/link-page-minimal-profile.d.ts +16 -1
- package/dist/link-page-minimal-profile.js +59 -3
- package/dist/link-page-newsletter-social.cjs +59 -3
- package/dist/link-page-newsletter-social.d.cts +16 -1
- package/dist/link-page-newsletter-social.d.ts +16 -1
- package/dist/link-page-newsletter-social.js +59 -3
- package/dist/link-tree-block.cjs +58 -2
- package/dist/link-tree-block.d.cts +16 -1
- package/dist/link-tree-block.d.ts +16 -1
- package/dist/link-tree-block.js +58 -2
- package/dist/registry.cjs +704 -182
- package/dist/registry.js +704 -182
- package/dist/social-link-icon.d.cts +1 -1
- package/dist/social-link-icon.d.ts +1 -1
- package/package.json +1 -1
|
@@ -498,6 +498,47 @@ function ActionComponent({ action }) {
|
|
|
498
498
|
}
|
|
499
499
|
);
|
|
500
500
|
}
|
|
501
|
+
var SIZE_CLASSES = {
|
|
502
|
+
sm: "max-h-6 sm:max-h-7",
|
|
503
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
504
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
505
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
506
|
+
};
|
|
507
|
+
var BrandLogo = ({
|
|
508
|
+
logo,
|
|
509
|
+
logoSlot,
|
|
510
|
+
logoClassName,
|
|
511
|
+
size = "md",
|
|
512
|
+
optixFlowConfig
|
|
513
|
+
}) => {
|
|
514
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
515
|
+
if (!logo || !logo.src) return null;
|
|
516
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
517
|
+
Img,
|
|
518
|
+
{
|
|
519
|
+
src: logo.src,
|
|
520
|
+
className: cn(
|
|
521
|
+
"w-auto object-contain",
|
|
522
|
+
SIZE_CLASSES[size],
|
|
523
|
+
logo.className
|
|
524
|
+
),
|
|
525
|
+
alt: logo.alt || "Logo",
|
|
526
|
+
optixFlowConfig,
|
|
527
|
+
loading: "eager"
|
|
528
|
+
}
|
|
529
|
+
);
|
|
530
|
+
if (logo.url) {
|
|
531
|
+
return /* @__PURE__ */ jsx(
|
|
532
|
+
Pressable,
|
|
533
|
+
{
|
|
534
|
+
href: logo.url,
|
|
535
|
+
className: cn("flex items-center", logoClassName),
|
|
536
|
+
children: imgElement
|
|
537
|
+
}
|
|
538
|
+
);
|
|
539
|
+
}
|
|
540
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
541
|
+
};
|
|
501
542
|
function HeroStartupLaunchCta({
|
|
502
543
|
sectionId = "hero-startup-launch-cta",
|
|
503
544
|
badge,
|
|
@@ -527,7 +568,10 @@ function HeroStartupLaunchCta({
|
|
|
527
568
|
actionsClassName,
|
|
528
569
|
socialProofClassName,
|
|
529
570
|
imageClassName,
|
|
530
|
-
optixFlowConfig
|
|
571
|
+
optixFlowConfig,
|
|
572
|
+
logo,
|
|
573
|
+
logoSlot,
|
|
574
|
+
logoClassName
|
|
531
575
|
}) {
|
|
532
576
|
const renderAvatars = useMemo(() => {
|
|
533
577
|
if (avatarsSlot) return avatarsSlot;
|
|
@@ -582,6 +626,7 @@ function HeroStartupLaunchCta({
|
|
|
582
626
|
badgeIcon,
|
|
583
627
|
typeof badge === "string" ? /* @__PURE__ */ jsx("span", { children: badge }) : badge
|
|
584
628
|
] }),
|
|
629
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
585
630
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
586
631
|
"h1",
|
|
587
632
|
{
|
|
@@ -534,6 +534,47 @@ function ActionComponent({ action }) {
|
|
|
534
534
|
}
|
|
535
535
|
);
|
|
536
536
|
}
|
|
537
|
+
var SIZE_CLASSES = {
|
|
538
|
+
sm: "max-h-6 sm:max-h-7",
|
|
539
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
540
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
541
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
542
|
+
};
|
|
543
|
+
var BrandLogo = ({
|
|
544
|
+
logo,
|
|
545
|
+
logoSlot,
|
|
546
|
+
logoClassName,
|
|
547
|
+
size = "md",
|
|
548
|
+
optixFlowConfig
|
|
549
|
+
}) => {
|
|
550
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
551
|
+
if (!logo || !logo.src) return null;
|
|
552
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
553
|
+
img.Img,
|
|
554
|
+
{
|
|
555
|
+
src: logo.src,
|
|
556
|
+
className: cn(
|
|
557
|
+
"w-auto object-contain",
|
|
558
|
+
SIZE_CLASSES[size],
|
|
559
|
+
logo.className
|
|
560
|
+
),
|
|
561
|
+
alt: logo.alt || "Logo",
|
|
562
|
+
optixFlowConfig,
|
|
563
|
+
loading: "eager"
|
|
564
|
+
}
|
|
565
|
+
);
|
|
566
|
+
if (logo.url) {
|
|
567
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
568
|
+
pressable.Pressable,
|
|
569
|
+
{
|
|
570
|
+
href: logo.url,
|
|
571
|
+
className: cn("flex items-center", logoClassName),
|
|
572
|
+
children: imgElement
|
|
573
|
+
}
|
|
574
|
+
);
|
|
575
|
+
}
|
|
576
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
577
|
+
};
|
|
537
578
|
function HeroStatsSocialProof({
|
|
538
579
|
sectionId = "hero-stats-social-proof",
|
|
539
580
|
badge,
|
|
@@ -561,7 +602,10 @@ function HeroStatsSocialProof({
|
|
|
561
602
|
actionsClassName,
|
|
562
603
|
statsClassName,
|
|
563
604
|
imageClassName,
|
|
564
|
-
optixFlowConfig
|
|
605
|
+
optixFlowConfig,
|
|
606
|
+
logo,
|
|
607
|
+
logoSlot,
|
|
608
|
+
logoClassName
|
|
565
609
|
}) {
|
|
566
610
|
const renderStats = React.useMemo(() => {
|
|
567
611
|
if (statsSlot) return statsSlot;
|
|
@@ -608,6 +652,7 @@ function HeroStatsSocialProof({
|
|
|
608
652
|
badgeIcon,
|
|
609
653
|
typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { children: badge }) : badge
|
|
610
654
|
] }),
|
|
655
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
611
656
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
612
657
|
"h1",
|
|
613
658
|
{
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Cgd-IXlI.cjs';
|
|
3
|
+
import { L as LogoConfig } from './types-mWZcgKth.cjs';
|
|
3
4
|
import { A as ActionConfig, k as StatItem, O as OptixFlowConfig } from './blocks-DyouPohq.cjs';
|
|
4
5
|
import 'react/jsx-runtime';
|
|
6
|
+
import './dynamic-icon.cjs';
|
|
7
|
+
import '@page-speed/icon';
|
|
5
8
|
import 'class-variance-authority';
|
|
6
9
|
import '@page-speed/pressable';
|
|
7
10
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
@@ -114,9 +117,21 @@ interface HeroStatsSocialProofProps {
|
|
|
114
117
|
* OptixFlow image optimization configuration
|
|
115
118
|
*/
|
|
116
119
|
optixFlowConfig?: OptixFlowConfig;
|
|
120
|
+
/**
|
|
121
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
122
|
+
*/
|
|
123
|
+
logo?: LogoConfig;
|
|
124
|
+
/**
|
|
125
|
+
* Custom slot for logo (overrides logo prop)
|
|
126
|
+
*/
|
|
127
|
+
logoSlot?: React.ReactNode;
|
|
128
|
+
/**
|
|
129
|
+
* Additional CSS classes for the logo container
|
|
130
|
+
*/
|
|
131
|
+
logoClassName?: string;
|
|
117
132
|
/** Optional Section ID */
|
|
118
133
|
sectionId?: string;
|
|
119
134
|
}
|
|
120
|
-
declare function HeroStatsSocialProof({ sectionId, badge, badgeIcon, heading, description, actions, actionsSlot, stats, statsSlot, imageSrc, imageAlt, statusCard, statusCardSlot, background, pattern, patternOpacity, className, spacing, containerClassName, contentClassName, badgeClassName, headingClassName, descriptionClassName, actionsClassName, statsClassName, imageClassName, optixFlowConfig, }: HeroStatsSocialProofProps): React.JSX.Element;
|
|
135
|
+
declare function HeroStatsSocialProof({ sectionId, badge, badgeIcon, heading, description, actions, actionsSlot, stats, statsSlot, imageSrc, imageAlt, statusCard, statusCardSlot, background, pattern, patternOpacity, className, spacing, containerClassName, contentClassName, badgeClassName, headingClassName, descriptionClassName, actionsClassName, statsClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroStatsSocialProofProps): React.JSX.Element;
|
|
121
136
|
|
|
122
137
|
export { HeroStatsSocialProof, type HeroStatsSocialProofProps };
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Dud0DKXB.js';
|
|
3
|
+
import { L as LogoConfig } from './types-hJ2R0GoH.js';
|
|
3
4
|
import { A as ActionConfig, k as StatItem, O as OptixFlowConfig } from './blocks-DyouPohq.js';
|
|
4
5
|
import 'react/jsx-runtime';
|
|
6
|
+
import './dynamic-icon.js';
|
|
7
|
+
import '@page-speed/icon';
|
|
5
8
|
import 'class-variance-authority';
|
|
6
9
|
import '@page-speed/pressable';
|
|
7
10
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
@@ -114,9 +117,21 @@ interface HeroStatsSocialProofProps {
|
|
|
114
117
|
* OptixFlow image optimization configuration
|
|
115
118
|
*/
|
|
116
119
|
optixFlowConfig?: OptixFlowConfig;
|
|
120
|
+
/**
|
|
121
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
122
|
+
*/
|
|
123
|
+
logo?: LogoConfig;
|
|
124
|
+
/**
|
|
125
|
+
* Custom slot for logo (overrides logo prop)
|
|
126
|
+
*/
|
|
127
|
+
logoSlot?: React.ReactNode;
|
|
128
|
+
/**
|
|
129
|
+
* Additional CSS classes for the logo container
|
|
130
|
+
*/
|
|
131
|
+
logoClassName?: string;
|
|
117
132
|
/** Optional Section ID */
|
|
118
133
|
sectionId?: string;
|
|
119
134
|
}
|
|
120
|
-
declare function HeroStatsSocialProof({ sectionId, badge, badgeIcon, heading, description, actions, actionsSlot, stats, statsSlot, imageSrc, imageAlt, statusCard, statusCardSlot, background, pattern, patternOpacity, className, spacing, containerClassName, contentClassName, badgeClassName, headingClassName, descriptionClassName, actionsClassName, statsClassName, imageClassName, optixFlowConfig, }: HeroStatsSocialProofProps): React.JSX.Element;
|
|
135
|
+
declare function HeroStatsSocialProof({ sectionId, badge, badgeIcon, heading, description, actions, actionsSlot, stats, statsSlot, imageSrc, imageAlt, statusCard, statusCardSlot, background, pattern, patternOpacity, className, spacing, containerClassName, contentClassName, badgeClassName, headingClassName, descriptionClassName, actionsClassName, statsClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroStatsSocialProofProps): React.JSX.Element;
|
|
121
136
|
|
|
122
137
|
export { HeroStatsSocialProof, type HeroStatsSocialProofProps };
|
|
@@ -513,6 +513,47 @@ function ActionComponent({ action }) {
|
|
|
513
513
|
}
|
|
514
514
|
);
|
|
515
515
|
}
|
|
516
|
+
var SIZE_CLASSES = {
|
|
517
|
+
sm: "max-h-6 sm:max-h-7",
|
|
518
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
519
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
520
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
521
|
+
};
|
|
522
|
+
var BrandLogo = ({
|
|
523
|
+
logo,
|
|
524
|
+
logoSlot,
|
|
525
|
+
logoClassName,
|
|
526
|
+
size = "md",
|
|
527
|
+
optixFlowConfig
|
|
528
|
+
}) => {
|
|
529
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
530
|
+
if (!logo || !logo.src) return null;
|
|
531
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
532
|
+
Img,
|
|
533
|
+
{
|
|
534
|
+
src: logo.src,
|
|
535
|
+
className: cn(
|
|
536
|
+
"w-auto object-contain",
|
|
537
|
+
SIZE_CLASSES[size],
|
|
538
|
+
logo.className
|
|
539
|
+
),
|
|
540
|
+
alt: logo.alt || "Logo",
|
|
541
|
+
optixFlowConfig,
|
|
542
|
+
loading: "eager"
|
|
543
|
+
}
|
|
544
|
+
);
|
|
545
|
+
if (logo.url) {
|
|
546
|
+
return /* @__PURE__ */ jsx(
|
|
547
|
+
Pressable,
|
|
548
|
+
{
|
|
549
|
+
href: logo.url,
|
|
550
|
+
className: cn("flex items-center", logoClassName),
|
|
551
|
+
children: imgElement
|
|
552
|
+
}
|
|
553
|
+
);
|
|
554
|
+
}
|
|
555
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
556
|
+
};
|
|
516
557
|
function HeroStatsSocialProof({
|
|
517
558
|
sectionId = "hero-stats-social-proof",
|
|
518
559
|
badge,
|
|
@@ -540,7 +581,10 @@ function HeroStatsSocialProof({
|
|
|
540
581
|
actionsClassName,
|
|
541
582
|
statsClassName,
|
|
542
583
|
imageClassName,
|
|
543
|
-
optixFlowConfig
|
|
584
|
+
optixFlowConfig,
|
|
585
|
+
logo,
|
|
586
|
+
logoSlot,
|
|
587
|
+
logoClassName
|
|
544
588
|
}) {
|
|
545
589
|
const renderStats = useMemo(() => {
|
|
546
590
|
if (statsSlot) return statsSlot;
|
|
@@ -587,6 +631,7 @@ function HeroStatsSocialProof({
|
|
|
587
631
|
badgeIcon,
|
|
588
632
|
typeof badge === "string" ? /* @__PURE__ */ jsx("span", { children: badge }) : badge
|
|
589
633
|
] }),
|
|
634
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
590
635
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
591
636
|
"h1",
|
|
592
637
|
{
|
|
@@ -495,6 +495,47 @@ function ActionComponent({ action }) {
|
|
|
495
495
|
}
|
|
496
496
|
);
|
|
497
497
|
}
|
|
498
|
+
var SIZE_CLASSES = {
|
|
499
|
+
sm: "max-h-6 sm:max-h-7",
|
|
500
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
501
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
502
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
503
|
+
};
|
|
504
|
+
var BrandLogo = ({
|
|
505
|
+
logo,
|
|
506
|
+
logoSlot,
|
|
507
|
+
logoClassName,
|
|
508
|
+
size = "md",
|
|
509
|
+
optixFlowConfig
|
|
510
|
+
}) => {
|
|
511
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
512
|
+
if (!logo || !logo.src) return null;
|
|
513
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
514
|
+
img.Img,
|
|
515
|
+
{
|
|
516
|
+
src: logo.src,
|
|
517
|
+
className: cn(
|
|
518
|
+
"w-auto object-contain",
|
|
519
|
+
SIZE_CLASSES[size],
|
|
520
|
+
logo.className
|
|
521
|
+
),
|
|
522
|
+
alt: logo.alt || "Logo",
|
|
523
|
+
optixFlowConfig,
|
|
524
|
+
loading: "eager"
|
|
525
|
+
}
|
|
526
|
+
);
|
|
527
|
+
if (logo.url) {
|
|
528
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
529
|
+
pressable.Pressable,
|
|
530
|
+
{
|
|
531
|
+
href: logo.url,
|
|
532
|
+
className: cn("flex items-center", logoClassName),
|
|
533
|
+
children: imgElement
|
|
534
|
+
}
|
|
535
|
+
);
|
|
536
|
+
}
|
|
537
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
538
|
+
};
|
|
498
539
|
function HeroTaskTimerAnimated({
|
|
499
540
|
sectionId = "hero-task-timer-animated",
|
|
500
541
|
heading,
|
|
@@ -514,7 +555,10 @@ function HeroTaskTimerAnimated({
|
|
|
514
555
|
headerClassName,
|
|
515
556
|
headingClassName,
|
|
516
557
|
imagesClassName,
|
|
517
|
-
optixFlowConfig
|
|
558
|
+
optixFlowConfig,
|
|
559
|
+
logo,
|
|
560
|
+
logoSlot,
|
|
561
|
+
logoClassName
|
|
518
562
|
}) {
|
|
519
563
|
const renderImages = React.useMemo(() => {
|
|
520
564
|
if (imagesSlot) return imagesSlot;
|
|
@@ -574,6 +618,7 @@ function HeroTaskTimerAnimated({
|
|
|
574
618
|
headerClassName
|
|
575
619
|
),
|
|
576
620
|
children: [
|
|
621
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
577
622
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
578
623
|
"h1",
|
|
579
624
|
{
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Cgd-IXlI.cjs';
|
|
3
|
+
import { L as LogoConfig } from './types-mWZcgKth.cjs';
|
|
3
4
|
import { A as ActionConfig, I as ImageItem, O as OptixFlowConfig } from './blocks-DyouPohq.cjs';
|
|
4
5
|
import 'react/jsx-runtime';
|
|
6
|
+
import './dynamic-icon.cjs';
|
|
7
|
+
import '@page-speed/icon';
|
|
5
8
|
import 'class-variance-authority';
|
|
6
9
|
import '@page-speed/pressable';
|
|
7
10
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
@@ -78,9 +81,21 @@ interface HeroTaskTimerAnimatedProps {
|
|
|
78
81
|
* Additional CSS classes for the description
|
|
79
82
|
*/
|
|
80
83
|
descriptionClassName?: string;
|
|
84
|
+
/**
|
|
85
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
86
|
+
*/
|
|
87
|
+
logo?: LogoConfig;
|
|
88
|
+
/**
|
|
89
|
+
* Custom slot for logo (overrides logo prop)
|
|
90
|
+
*/
|
|
91
|
+
logoSlot?: React.ReactNode;
|
|
92
|
+
/**
|
|
93
|
+
* Additional CSS classes for the logo container
|
|
94
|
+
*/
|
|
95
|
+
logoClassName?: string;
|
|
81
96
|
/** Optional Section ID */
|
|
82
97
|
sectionId?: string;
|
|
83
98
|
}
|
|
84
|
-
declare function HeroTaskTimerAnimated({ sectionId, heading, description, descriptionClassName, actions, actionsSlot, actionsClassName, images, imagesSlot, background, pattern, patternOpacity, className, spacing, containerClassName, headerClassName, headingClassName, imagesClassName, optixFlowConfig, }: HeroTaskTimerAnimatedProps): React.JSX.Element;
|
|
99
|
+
declare function HeroTaskTimerAnimated({ sectionId, heading, description, descriptionClassName, actions, actionsSlot, actionsClassName, images, imagesSlot, background, pattern, patternOpacity, className, spacing, containerClassName, headerClassName, headingClassName, imagesClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroTaskTimerAnimatedProps): React.JSX.Element;
|
|
85
100
|
|
|
86
101
|
export { HeroTaskTimerAnimated, type HeroTaskTimerAnimatedProps };
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Dud0DKXB.js';
|
|
3
|
+
import { L as LogoConfig } from './types-hJ2R0GoH.js';
|
|
3
4
|
import { A as ActionConfig, I as ImageItem, O as OptixFlowConfig } from './blocks-DyouPohq.js';
|
|
4
5
|
import 'react/jsx-runtime';
|
|
6
|
+
import './dynamic-icon.js';
|
|
7
|
+
import '@page-speed/icon';
|
|
5
8
|
import 'class-variance-authority';
|
|
6
9
|
import '@page-speed/pressable';
|
|
7
10
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
@@ -78,9 +81,21 @@ interface HeroTaskTimerAnimatedProps {
|
|
|
78
81
|
* Additional CSS classes for the description
|
|
79
82
|
*/
|
|
80
83
|
descriptionClassName?: string;
|
|
84
|
+
/**
|
|
85
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
86
|
+
*/
|
|
87
|
+
logo?: LogoConfig;
|
|
88
|
+
/**
|
|
89
|
+
* Custom slot for logo (overrides logo prop)
|
|
90
|
+
*/
|
|
91
|
+
logoSlot?: React.ReactNode;
|
|
92
|
+
/**
|
|
93
|
+
* Additional CSS classes for the logo container
|
|
94
|
+
*/
|
|
95
|
+
logoClassName?: string;
|
|
81
96
|
/** Optional Section ID */
|
|
82
97
|
sectionId?: string;
|
|
83
98
|
}
|
|
84
|
-
declare function HeroTaskTimerAnimated({ sectionId, heading, description, descriptionClassName, actions, actionsSlot, actionsClassName, images, imagesSlot, background, pattern, patternOpacity, className, spacing, containerClassName, headerClassName, headingClassName, imagesClassName, optixFlowConfig, }: HeroTaskTimerAnimatedProps): React.JSX.Element;
|
|
99
|
+
declare function HeroTaskTimerAnimated({ sectionId, heading, description, descriptionClassName, actions, actionsSlot, actionsClassName, images, imagesSlot, background, pattern, patternOpacity, className, spacing, containerClassName, headerClassName, headingClassName, imagesClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroTaskTimerAnimatedProps): React.JSX.Element;
|
|
85
100
|
|
|
86
101
|
export { HeroTaskTimerAnimated, type HeroTaskTimerAnimatedProps };
|
|
@@ -470,6 +470,47 @@ function ActionComponent({ action }) {
|
|
|
470
470
|
}
|
|
471
471
|
);
|
|
472
472
|
}
|
|
473
|
+
var SIZE_CLASSES = {
|
|
474
|
+
sm: "max-h-6 sm:max-h-7",
|
|
475
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
476
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
477
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
478
|
+
};
|
|
479
|
+
var BrandLogo = ({
|
|
480
|
+
logo,
|
|
481
|
+
logoSlot,
|
|
482
|
+
logoClassName,
|
|
483
|
+
size = "md",
|
|
484
|
+
optixFlowConfig
|
|
485
|
+
}) => {
|
|
486
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
487
|
+
if (!logo || !logo.src) return null;
|
|
488
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
489
|
+
Img,
|
|
490
|
+
{
|
|
491
|
+
src: logo.src,
|
|
492
|
+
className: cn(
|
|
493
|
+
"w-auto object-contain",
|
|
494
|
+
SIZE_CLASSES[size],
|
|
495
|
+
logo.className
|
|
496
|
+
),
|
|
497
|
+
alt: logo.alt || "Logo",
|
|
498
|
+
optixFlowConfig,
|
|
499
|
+
loading: "eager"
|
|
500
|
+
}
|
|
501
|
+
);
|
|
502
|
+
if (logo.url) {
|
|
503
|
+
return /* @__PURE__ */ jsx(
|
|
504
|
+
Pressable,
|
|
505
|
+
{
|
|
506
|
+
href: logo.url,
|
|
507
|
+
className: cn("flex items-center", logoClassName),
|
|
508
|
+
children: imgElement
|
|
509
|
+
}
|
|
510
|
+
);
|
|
511
|
+
}
|
|
512
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
513
|
+
};
|
|
473
514
|
function HeroTaskTimerAnimated({
|
|
474
515
|
sectionId = "hero-task-timer-animated",
|
|
475
516
|
heading,
|
|
@@ -489,7 +530,10 @@ function HeroTaskTimerAnimated({
|
|
|
489
530
|
headerClassName,
|
|
490
531
|
headingClassName,
|
|
491
532
|
imagesClassName,
|
|
492
|
-
optixFlowConfig
|
|
533
|
+
optixFlowConfig,
|
|
534
|
+
logo,
|
|
535
|
+
logoSlot,
|
|
536
|
+
logoClassName
|
|
493
537
|
}) {
|
|
494
538
|
const renderImages = useMemo(() => {
|
|
495
539
|
if (imagesSlot) return imagesSlot;
|
|
@@ -549,6 +593,7 @@ function HeroTaskTimerAnimated({
|
|
|
549
593
|
headerClassName
|
|
550
594
|
),
|
|
551
595
|
children: [
|
|
596
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
552
597
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
553
598
|
"h1",
|
|
554
599
|
{
|
|
@@ -542,6 +542,47 @@ function ActionComponent({ action }) {
|
|
|
542
542
|
}
|
|
543
543
|
);
|
|
544
544
|
}
|
|
545
|
+
var SIZE_CLASSES = {
|
|
546
|
+
sm: "max-h-6 sm:max-h-7",
|
|
547
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
548
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
549
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
550
|
+
};
|
|
551
|
+
var BrandLogo = ({
|
|
552
|
+
logo,
|
|
553
|
+
logoSlot,
|
|
554
|
+
logoClassName,
|
|
555
|
+
size = "md",
|
|
556
|
+
optixFlowConfig
|
|
557
|
+
}) => {
|
|
558
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
559
|
+
if (!logo || !logo.src) return null;
|
|
560
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
561
|
+
img.Img,
|
|
562
|
+
{
|
|
563
|
+
src: logo.src,
|
|
564
|
+
className: cn(
|
|
565
|
+
"w-auto object-contain",
|
|
566
|
+
SIZE_CLASSES[size],
|
|
567
|
+
logo.className
|
|
568
|
+
),
|
|
569
|
+
alt: logo.alt || "Logo",
|
|
570
|
+
optixFlowConfig,
|
|
571
|
+
loading: "eager"
|
|
572
|
+
}
|
|
573
|
+
);
|
|
574
|
+
if (logo.url) {
|
|
575
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
576
|
+
pressable.Pressable,
|
|
577
|
+
{
|
|
578
|
+
href: logo.url,
|
|
579
|
+
className: cn("flex items-center", logoClassName),
|
|
580
|
+
children: imgElement
|
|
581
|
+
}
|
|
582
|
+
);
|
|
583
|
+
}
|
|
584
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
585
|
+
};
|
|
545
586
|
function HeroTestimonialImageGrid({
|
|
546
587
|
sectionId = "hero-testimonial-image-grid",
|
|
547
588
|
heading,
|
|
@@ -561,7 +602,10 @@ function HeroTestimonialImageGrid({
|
|
|
561
602
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
562
603
|
headingClassName,
|
|
563
604
|
descriptionClassName,
|
|
564
|
-
optixFlowConfig
|
|
605
|
+
optixFlowConfig,
|
|
606
|
+
logo,
|
|
607
|
+
logoSlot,
|
|
608
|
+
logoClassName
|
|
565
609
|
}) {
|
|
566
610
|
const renderTestimonial = React.useMemo(() => {
|
|
567
611
|
if (testimonialSlot) return testimonialSlot;
|
|
@@ -620,6 +664,7 @@ function HeroTestimonialImageGrid({
|
|
|
620
664
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-10 md:pt-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-8 md:flex-row", children: [
|
|
621
665
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1", children: [
|
|
622
666
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 lg:gap-8", children: [
|
|
667
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
623
668
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
624
669
|
"h1",
|
|
625
670
|
{
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Cgd-IXlI.cjs';
|
|
3
|
+
import { L as LogoConfig } from './types-mWZcgKth.cjs';
|
|
3
4
|
import { A as ActionConfig } from './blocks-DyouPohq.cjs';
|
|
4
5
|
import 'react/jsx-runtime';
|
|
6
|
+
import './dynamic-icon.cjs';
|
|
7
|
+
import '@page-speed/icon';
|
|
5
8
|
import 'class-variance-authority';
|
|
6
9
|
import '@page-speed/pressable';
|
|
7
10
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
@@ -123,6 +126,18 @@ interface HeroTestimonialImageGridProps {
|
|
|
123
126
|
apiKey: string;
|
|
124
127
|
compression?: number;
|
|
125
128
|
};
|
|
129
|
+
/**
|
|
130
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
131
|
+
*/
|
|
132
|
+
logo?: LogoConfig;
|
|
133
|
+
/**
|
|
134
|
+
* Custom slot for logo (overrides logo prop)
|
|
135
|
+
*/
|
|
136
|
+
logoSlot?: React.ReactNode;
|
|
137
|
+
/**
|
|
138
|
+
* Additional CSS classes for the logo container
|
|
139
|
+
*/
|
|
140
|
+
logoClassName?: string;
|
|
126
141
|
/** Optional Section ID */
|
|
127
142
|
sectionId?: string;
|
|
128
143
|
}
|
|
@@ -130,6 +145,6 @@ interface HeroTestimonialImageGridProps {
|
|
|
130
145
|
* HeroTestimonialImageGrid - A hero layout with heading, description, testimonial,
|
|
131
146
|
* and a creative 2x2 image grid. Ideal for showcasing product features or portfolio work.
|
|
132
147
|
*/
|
|
133
|
-
declare function HeroTestimonialImageGrid({ sectionId, heading, description, actions, actionsSlot, actionsClassName, testimonial, testimonialSlot, gridImages, imagesSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, optixFlowConfig, }: HeroTestimonialImageGridProps): React.JSX.Element;
|
|
148
|
+
declare function HeroTestimonialImageGrid({ sectionId, heading, description, actions, actionsSlot, actionsClassName, testimonial, testimonialSlot, gridImages, imagesSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroTestimonialImageGridProps): React.JSX.Element;
|
|
134
149
|
|
|
135
150
|
export { HeroTestimonialImageGrid, type HeroTestimonialImageGridProps };
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Dud0DKXB.js';
|
|
3
|
+
import { L as LogoConfig } from './types-hJ2R0GoH.js';
|
|
3
4
|
import { A as ActionConfig } from './blocks-DyouPohq.js';
|
|
4
5
|
import 'react/jsx-runtime';
|
|
6
|
+
import './dynamic-icon.js';
|
|
7
|
+
import '@page-speed/icon';
|
|
5
8
|
import 'class-variance-authority';
|
|
6
9
|
import '@page-speed/pressable';
|
|
7
10
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
@@ -123,6 +126,18 @@ interface HeroTestimonialImageGridProps {
|
|
|
123
126
|
apiKey: string;
|
|
124
127
|
compression?: number;
|
|
125
128
|
};
|
|
129
|
+
/**
|
|
130
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
131
|
+
*/
|
|
132
|
+
logo?: LogoConfig;
|
|
133
|
+
/**
|
|
134
|
+
* Custom slot for logo (overrides logo prop)
|
|
135
|
+
*/
|
|
136
|
+
logoSlot?: React.ReactNode;
|
|
137
|
+
/**
|
|
138
|
+
* Additional CSS classes for the logo container
|
|
139
|
+
*/
|
|
140
|
+
logoClassName?: string;
|
|
126
141
|
/** Optional Section ID */
|
|
127
142
|
sectionId?: string;
|
|
128
143
|
}
|
|
@@ -130,6 +145,6 @@ interface HeroTestimonialImageGridProps {
|
|
|
130
145
|
* HeroTestimonialImageGrid - A hero layout with heading, description, testimonial,
|
|
131
146
|
* and a creative 2x2 image grid. Ideal for showcasing product features or portfolio work.
|
|
132
147
|
*/
|
|
133
|
-
declare function HeroTestimonialImageGrid({ sectionId, heading, description, actions, actionsSlot, actionsClassName, testimonial, testimonialSlot, gridImages, imagesSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, optixFlowConfig, }: HeroTestimonialImageGridProps): React.JSX.Element;
|
|
148
|
+
declare function HeroTestimonialImageGrid({ sectionId, heading, description, actions, actionsSlot, actionsClassName, testimonial, testimonialSlot, gridImages, imagesSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroTestimonialImageGridProps): React.JSX.Element;
|
|
134
149
|
|
|
135
150
|
export { HeroTestimonialImageGrid, type HeroTestimonialImageGridProps };
|