@opensite/ui 3.7.2 → 3.7.4
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 +56 -8
- 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 +56 -8
- 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 +54 -3
- 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 +54 -3
- 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 +58 -9
- package/dist/hero-crm-streamlined.d.cts +16 -1
- package/dist/hero-crm-streamlined.d.ts +16 -1
- package/dist/hero-crm-streamlined.js +58 -9
- 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 +734 -199
- package/dist/registry.js +734 -199
- package/dist/social-link-icon.d.cts +1 -1
- package/dist/social-link-icon.d.ts +1 -1
- package/package.json +1 -1
|
@@ -499,6 +499,47 @@ function ActionComponent({ action }) {
|
|
|
499
499
|
}
|
|
500
500
|
);
|
|
501
501
|
}
|
|
502
|
+
var SIZE_CLASSES = {
|
|
503
|
+
sm: "max-h-6 sm:max-h-7",
|
|
504
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
505
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
506
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
507
|
+
};
|
|
508
|
+
var BrandLogo = ({
|
|
509
|
+
logo,
|
|
510
|
+
logoSlot,
|
|
511
|
+
logoClassName,
|
|
512
|
+
size = "md",
|
|
513
|
+
optixFlowConfig
|
|
514
|
+
}) => {
|
|
515
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
516
|
+
if (!logo || !logo.src) return null;
|
|
517
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
518
|
+
Img,
|
|
519
|
+
{
|
|
520
|
+
src: logo.src,
|
|
521
|
+
className: cn(
|
|
522
|
+
"w-auto object-contain",
|
|
523
|
+
SIZE_CLASSES[size],
|
|
524
|
+
logo.className
|
|
525
|
+
),
|
|
526
|
+
alt: logo.alt || "Logo",
|
|
527
|
+
optixFlowConfig,
|
|
528
|
+
loading: "eager"
|
|
529
|
+
}
|
|
530
|
+
);
|
|
531
|
+
if (logo.url) {
|
|
532
|
+
return /* @__PURE__ */ jsx(
|
|
533
|
+
Pressable,
|
|
534
|
+
{
|
|
535
|
+
href: logo.url,
|
|
536
|
+
className: cn("flex items-center", logoClassName),
|
|
537
|
+
children: imgElement
|
|
538
|
+
}
|
|
539
|
+
);
|
|
540
|
+
}
|
|
541
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
542
|
+
};
|
|
502
543
|
var fadeVariants = {
|
|
503
544
|
initial: { opacity: 0 },
|
|
504
545
|
animate: {
|
|
@@ -533,7 +574,10 @@ function HeroBusinessCarouselDots({
|
|
|
533
574
|
descriptionClassName,
|
|
534
575
|
actionsClassName,
|
|
535
576
|
carouselClassName,
|
|
536
|
-
optixFlowConfig
|
|
577
|
+
optixFlowConfig,
|
|
578
|
+
logo,
|
|
579
|
+
logoSlot,
|
|
580
|
+
logoClassName
|
|
537
581
|
}) {
|
|
538
582
|
const [currentIndex, setCurrentIndex] = useState(0);
|
|
539
583
|
const timerRef = useRef(null);
|
|
@@ -572,6 +616,7 @@ function HeroBusinessCarouselDots({
|
|
|
572
616
|
),
|
|
573
617
|
children: [
|
|
574
618
|
badge && /* @__PURE__ */ jsx(Badge, { variant: badgeVariant, className: badgeClassName, children: badge }),
|
|
619
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
575
620
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
576
621
|
"h1",
|
|
577
622
|
{
|
|
@@ -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 HeroBusinessOperationsMosaic({
|
|
499
540
|
sectionId = "hero-business-operations-mosaic",
|
|
500
541
|
heading,
|
|
@@ -514,7 +555,10 @@ function HeroBusinessOperationsMosaic({
|
|
|
514
555
|
contentClassName,
|
|
515
556
|
headingClassName,
|
|
516
557
|
mosaicClassName,
|
|
517
|
-
optixFlowConfig
|
|
558
|
+
optixFlowConfig,
|
|
559
|
+
logo,
|
|
560
|
+
logoSlot,
|
|
561
|
+
logoClassName
|
|
518
562
|
}) {
|
|
519
563
|
const renderMosaic = React.useMemo(() => {
|
|
520
564
|
if (imagesSlot) return imagesSlot;
|
|
@@ -578,6 +622,7 @@ function HeroBusinessOperationsMosaic({
|
|
|
578
622
|
contentClassName
|
|
579
623
|
),
|
|
580
624
|
children: [
|
|
625
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
581
626
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
582
627
|
"h1",
|
|
583
628
|
{
|
|
@@ -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';
|
|
@@ -79,9 +82,21 @@ interface HeroBusinessOperationsMosaicProps {
|
|
|
79
82
|
* OptixFlow image optimization configuration
|
|
80
83
|
*/
|
|
81
84
|
optixFlowConfig?: OptixFlowConfig;
|
|
85
|
+
/**
|
|
86
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
87
|
+
*/
|
|
88
|
+
logo?: LogoConfig;
|
|
89
|
+
/**
|
|
90
|
+
* Custom slot for logo (overrides logo prop)
|
|
91
|
+
*/
|
|
92
|
+
logoSlot?: React.ReactNode;
|
|
93
|
+
/**
|
|
94
|
+
* Additional CSS classes for the logo container
|
|
95
|
+
*/
|
|
96
|
+
logoClassName?: string;
|
|
82
97
|
/** Optional Section ID */
|
|
83
98
|
sectionId?: string;
|
|
84
99
|
}
|
|
85
|
-
declare function HeroBusinessOperationsMosaic({ sectionId, heading, description, descriptionClassName, images, imagesSlot, actions, actionsSlot, actionsClassName, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, mosaicClassName, optixFlowConfig, }: HeroBusinessOperationsMosaicProps): React.JSX.Element;
|
|
100
|
+
declare function HeroBusinessOperationsMosaic({ sectionId, heading, description, descriptionClassName, images, imagesSlot, actions, actionsSlot, actionsClassName, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, mosaicClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroBusinessOperationsMosaicProps): React.JSX.Element;
|
|
86
101
|
|
|
87
102
|
export { HeroBusinessOperationsMosaic, type HeroBusinessOperationsMosaicProps };
|
|
@@ -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';
|
|
@@ -79,9 +82,21 @@ interface HeroBusinessOperationsMosaicProps {
|
|
|
79
82
|
* OptixFlow image optimization configuration
|
|
80
83
|
*/
|
|
81
84
|
optixFlowConfig?: OptixFlowConfig;
|
|
85
|
+
/**
|
|
86
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
87
|
+
*/
|
|
88
|
+
logo?: LogoConfig;
|
|
89
|
+
/**
|
|
90
|
+
* Custom slot for logo (overrides logo prop)
|
|
91
|
+
*/
|
|
92
|
+
logoSlot?: React.ReactNode;
|
|
93
|
+
/**
|
|
94
|
+
* Additional CSS classes for the logo container
|
|
95
|
+
*/
|
|
96
|
+
logoClassName?: string;
|
|
82
97
|
/** Optional Section ID */
|
|
83
98
|
sectionId?: string;
|
|
84
99
|
}
|
|
85
|
-
declare function HeroBusinessOperationsMosaic({ sectionId, heading, description, descriptionClassName, images, imagesSlot, actions, actionsSlot, actionsClassName, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, mosaicClassName, optixFlowConfig, }: HeroBusinessOperationsMosaicProps): React.JSX.Element;
|
|
100
|
+
declare function HeroBusinessOperationsMosaic({ sectionId, heading, description, descriptionClassName, images, imagesSlot, actions, actionsSlot, actionsClassName, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, mosaicClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroBusinessOperationsMosaicProps): React.JSX.Element;
|
|
86
101
|
|
|
87
102
|
export { HeroBusinessOperationsMosaic, type HeroBusinessOperationsMosaicProps };
|
|
@@ -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 HeroBusinessOperationsMosaic({
|
|
474
515
|
sectionId = "hero-business-operations-mosaic",
|
|
475
516
|
heading,
|
|
@@ -489,7 +530,10 @@ function HeroBusinessOperationsMosaic({
|
|
|
489
530
|
contentClassName,
|
|
490
531
|
headingClassName,
|
|
491
532
|
mosaicClassName,
|
|
492
|
-
optixFlowConfig
|
|
533
|
+
optixFlowConfig,
|
|
534
|
+
logo,
|
|
535
|
+
logoSlot,
|
|
536
|
+
logoClassName
|
|
493
537
|
}) {
|
|
494
538
|
const renderMosaic = useMemo(() => {
|
|
495
539
|
if (imagesSlot) return imagesSlot;
|
|
@@ -553,6 +597,7 @@ function HeroBusinessOperationsMosaic({
|
|
|
553
597
|
contentClassName
|
|
554
598
|
),
|
|
555
599
|
children: [
|
|
600
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
556
601
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
557
602
|
"h1",
|
|
558
603
|
{
|
|
@@ -8,6 +8,7 @@ var pressable = require('@page-speed/pressable');
|
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
9
|
var reactSlot = require('@radix-ui/react-slot');
|
|
10
10
|
var classVarianceAuthority = require('class-variance-authority');
|
|
11
|
+
var img = require('@page-speed/img');
|
|
11
12
|
|
|
12
13
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
14
|
|
|
@@ -503,6 +504,47 @@ function ActionComponent({ action }) {
|
|
|
503
504
|
}
|
|
504
505
|
);
|
|
505
506
|
}
|
|
507
|
+
var SIZE_CLASSES = {
|
|
508
|
+
sm: "max-h-6 sm:max-h-7",
|
|
509
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
510
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
511
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
512
|
+
};
|
|
513
|
+
var BrandLogo = ({
|
|
514
|
+
logo,
|
|
515
|
+
logoSlot,
|
|
516
|
+
logoClassName,
|
|
517
|
+
size = "md",
|
|
518
|
+
optixFlowConfig
|
|
519
|
+
}) => {
|
|
520
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
521
|
+
if (!logo || !logo.src) return null;
|
|
522
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
523
|
+
img.Img,
|
|
524
|
+
{
|
|
525
|
+
src: logo.src,
|
|
526
|
+
className: cn(
|
|
527
|
+
"w-auto object-contain",
|
|
528
|
+
SIZE_CLASSES[size],
|
|
529
|
+
logo.className
|
|
530
|
+
),
|
|
531
|
+
alt: logo.alt || "Logo",
|
|
532
|
+
optixFlowConfig,
|
|
533
|
+
loading: "eager"
|
|
534
|
+
}
|
|
535
|
+
);
|
|
536
|
+
if (logo.url) {
|
|
537
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
538
|
+
pressable.Pressable,
|
|
539
|
+
{
|
|
540
|
+
href: logo.url,
|
|
541
|
+
className: cn("flex items-center", logoClassName),
|
|
542
|
+
children: imgElement
|
|
543
|
+
}
|
|
544
|
+
);
|
|
545
|
+
}
|
|
546
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
547
|
+
};
|
|
506
548
|
function HeroCenteredGradientCta({
|
|
507
549
|
sectionId = "hero-centered-gradient-cta",
|
|
508
550
|
badge,
|
|
@@ -524,7 +566,10 @@ function HeroCenteredGradientCta({
|
|
|
524
566
|
headingClassName,
|
|
525
567
|
descriptionClassName,
|
|
526
568
|
actionsClassName,
|
|
527
|
-
featuresClassName
|
|
569
|
+
featuresClassName,
|
|
570
|
+
logo,
|
|
571
|
+
logoSlot,
|
|
572
|
+
logoClassName
|
|
528
573
|
}) {
|
|
529
574
|
const renderFeatures = React.useMemo(() => {
|
|
530
575
|
if (featuresSlot) return featuresSlot;
|
|
@@ -557,6 +602,7 @@ function HeroCenteredGradientCta({
|
|
|
557
602
|
badgeIcon,
|
|
558
603
|
typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-bold", children: badge }) : badge
|
|
559
604
|
] }),
|
|
605
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
560
606
|
(heading || headingHighlight) && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
561
607
|
"h1",
|
|
562
608
|
{
|
|
@@ -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, F as FeatureItem } 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';
|
|
@@ -91,9 +94,21 @@ interface HeroCenteredGradientCtaProps {
|
|
|
91
94
|
* Additional CSS classes for the features container
|
|
92
95
|
*/
|
|
93
96
|
featuresClassName?: string;
|
|
97
|
+
/**
|
|
98
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
99
|
+
*/
|
|
100
|
+
logo?: LogoConfig;
|
|
101
|
+
/**
|
|
102
|
+
* Custom slot for logo (overrides logo prop)
|
|
103
|
+
*/
|
|
104
|
+
logoSlot?: React.ReactNode;
|
|
105
|
+
/**
|
|
106
|
+
* Additional CSS classes for the logo container
|
|
107
|
+
*/
|
|
108
|
+
logoClassName?: string;
|
|
94
109
|
/** Optional Section ID */
|
|
95
110
|
sectionId?: string;
|
|
96
111
|
}
|
|
97
|
-
declare function HeroCenteredGradientCta({ sectionId, badge, badgeIcon, heading, headingHighlight, description, actions, actionsSlot, features, featuresSlot, background, spacing, pattern, patternOpacity, className, containerClassName, badgeClassName, headingClassName, descriptionClassName, actionsClassName, featuresClassName, }: HeroCenteredGradientCtaProps): React.JSX.Element;
|
|
112
|
+
declare function HeroCenteredGradientCta({ sectionId, badge, badgeIcon, heading, headingHighlight, description, actions, actionsSlot, features, featuresSlot, background, spacing, pattern, patternOpacity, className, containerClassName, badgeClassName, headingClassName, descriptionClassName, actionsClassName, featuresClassName, logo, logoSlot, logoClassName, }: HeroCenteredGradientCtaProps): React.JSX.Element;
|
|
98
113
|
|
|
99
114
|
export { HeroCenteredGradientCta, type HeroCenteredGradientCtaProps };
|
|
@@ -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, F as FeatureItem } 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';
|
|
@@ -91,9 +94,21 @@ interface HeroCenteredGradientCtaProps {
|
|
|
91
94
|
* Additional CSS classes for the features container
|
|
92
95
|
*/
|
|
93
96
|
featuresClassName?: string;
|
|
97
|
+
/**
|
|
98
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
99
|
+
*/
|
|
100
|
+
logo?: LogoConfig;
|
|
101
|
+
/**
|
|
102
|
+
* Custom slot for logo (overrides logo prop)
|
|
103
|
+
*/
|
|
104
|
+
logoSlot?: React.ReactNode;
|
|
105
|
+
/**
|
|
106
|
+
* Additional CSS classes for the logo container
|
|
107
|
+
*/
|
|
108
|
+
logoClassName?: string;
|
|
94
109
|
/** Optional Section ID */
|
|
95
110
|
sectionId?: string;
|
|
96
111
|
}
|
|
97
|
-
declare function HeroCenteredGradientCta({ sectionId, badge, badgeIcon, heading, headingHighlight, description, actions, actionsSlot, features, featuresSlot, background, spacing, pattern, patternOpacity, className, containerClassName, badgeClassName, headingClassName, descriptionClassName, actionsClassName, featuresClassName, }: HeroCenteredGradientCtaProps): React.JSX.Element;
|
|
112
|
+
declare function HeroCenteredGradientCta({ sectionId, badge, badgeIcon, heading, headingHighlight, description, actions, actionsSlot, features, featuresSlot, background, spacing, pattern, patternOpacity, className, containerClassName, badgeClassName, headingClassName, descriptionClassName, actionsClassName, featuresClassName, logo, logoSlot, logoClassName, }: HeroCenteredGradientCtaProps): React.JSX.Element;
|
|
98
113
|
|
|
99
114
|
export { HeroCenteredGradientCta, type HeroCenteredGradientCtaProps };
|
|
@@ -6,6 +6,7 @@ import { Pressable, buttonVariants } from '@page-speed/pressable';
|
|
|
6
6
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
7
|
import { Slot } from '@radix-ui/react-slot';
|
|
8
8
|
import { cva } from 'class-variance-authority';
|
|
9
|
+
import { Img } from '@page-speed/img';
|
|
9
10
|
|
|
10
11
|
// components/blocks/hero/hero-centered-gradient-cta.tsx
|
|
11
12
|
function cn(...inputs) {
|
|
@@ -497,6 +498,47 @@ function ActionComponent({ action }) {
|
|
|
497
498
|
}
|
|
498
499
|
);
|
|
499
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
|
+
};
|
|
500
542
|
function HeroCenteredGradientCta({
|
|
501
543
|
sectionId = "hero-centered-gradient-cta",
|
|
502
544
|
badge,
|
|
@@ -518,7 +560,10 @@ function HeroCenteredGradientCta({
|
|
|
518
560
|
headingClassName,
|
|
519
561
|
descriptionClassName,
|
|
520
562
|
actionsClassName,
|
|
521
|
-
featuresClassName
|
|
563
|
+
featuresClassName,
|
|
564
|
+
logo,
|
|
565
|
+
logoSlot,
|
|
566
|
+
logoClassName
|
|
522
567
|
}) {
|
|
523
568
|
const renderFeatures = useMemo(() => {
|
|
524
569
|
if (featuresSlot) return featuresSlot;
|
|
@@ -551,6 +596,7 @@ function HeroCenteredGradientCta({
|
|
|
551
596
|
badgeIcon,
|
|
552
597
|
typeof badge === "string" ? /* @__PURE__ */ jsx("span", { className: "font-bold", children: badge }) : badge
|
|
553
598
|
] }),
|
|
599
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
554
600
|
(heading || headingHighlight) && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
555
601
|
"h1",
|
|
556
602
|
{
|
|
@@ -392,6 +392,47 @@ var Section = React__default.default.forwardRef(
|
|
|
392
392
|
}
|
|
393
393
|
);
|
|
394
394
|
Section.displayName = "Section";
|
|
395
|
+
var SIZE_CLASSES = {
|
|
396
|
+
sm: "max-h-6 sm:max-h-7",
|
|
397
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
398
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
399
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
400
|
+
};
|
|
401
|
+
var BrandLogo = ({
|
|
402
|
+
logo,
|
|
403
|
+
logoSlot,
|
|
404
|
+
logoClassName,
|
|
405
|
+
size = "md",
|
|
406
|
+
optixFlowConfig
|
|
407
|
+
}) => {
|
|
408
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
409
|
+
if (!logo || !logo.src) return null;
|
|
410
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
411
|
+
img.Img,
|
|
412
|
+
{
|
|
413
|
+
src: logo.src,
|
|
414
|
+
className: cn(
|
|
415
|
+
"w-auto object-contain",
|
|
416
|
+
SIZE_CLASSES[size],
|
|
417
|
+
logo.className
|
|
418
|
+
),
|
|
419
|
+
alt: logo.alt || "Logo",
|
|
420
|
+
optixFlowConfig,
|
|
421
|
+
loading: "eager"
|
|
422
|
+
}
|
|
423
|
+
);
|
|
424
|
+
if (logo.url) {
|
|
425
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
426
|
+
pressable.Pressable,
|
|
427
|
+
{
|
|
428
|
+
href: logo.url,
|
|
429
|
+
className: cn("flex items-center", logoClassName),
|
|
430
|
+
children: imgElement
|
|
431
|
+
}
|
|
432
|
+
);
|
|
433
|
+
}
|
|
434
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
435
|
+
};
|
|
395
436
|
function HeroCenteredImageGrid({
|
|
396
437
|
sectionId = "hero-centered-image-grid",
|
|
397
438
|
heading,
|
|
@@ -412,7 +453,10 @@ function HeroCenteredImageGrid({
|
|
|
412
453
|
descriptionClassName,
|
|
413
454
|
actionsClassName,
|
|
414
455
|
imageGridClassName,
|
|
415
|
-
optixFlowConfig
|
|
456
|
+
optixFlowConfig,
|
|
457
|
+
logo,
|
|
458
|
+
logoSlot,
|
|
459
|
+
logoClassName
|
|
416
460
|
}) {
|
|
417
461
|
const renderActions = React.useMemo(() => {
|
|
418
462
|
if (actionsSlot) return actionsSlot;
|
|
@@ -478,6 +522,7 @@ function HeroCenteredImageGrid({
|
|
|
478
522
|
),
|
|
479
523
|
children: [
|
|
480
524
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-3xl", children: [
|
|
525
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
481
526
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
482
527
|
"h1",
|
|
483
528
|
{
|
|
@@ -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';
|
|
@@ -83,9 +86,21 @@ interface HeroCenteredImageGridProps {
|
|
|
83
86
|
* OptixFlow image optimization configuration
|
|
84
87
|
*/
|
|
85
88
|
optixFlowConfig?: OptixFlowConfig;
|
|
89
|
+
/**
|
|
90
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
91
|
+
*/
|
|
92
|
+
logo?: LogoConfig;
|
|
93
|
+
/**
|
|
94
|
+
* Custom slot for logo (overrides logo prop)
|
|
95
|
+
*/
|
|
96
|
+
logoSlot?: React.ReactNode;
|
|
97
|
+
/**
|
|
98
|
+
* Additional CSS classes for the logo container
|
|
99
|
+
*/
|
|
100
|
+
logoClassName?: string;
|
|
86
101
|
/** Optional Section ID */
|
|
87
102
|
sectionId?: string;
|
|
88
103
|
}
|
|
89
|
-
declare function HeroCenteredImageGrid({ sectionId, heading, description, actions, actionsSlot, gridImages, gridImagesSlot, imageOverlayAction, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageGridClassName, optixFlowConfig, }: HeroCenteredImageGridProps): React.JSX.Element;
|
|
104
|
+
declare function HeroCenteredImageGrid({ sectionId, heading, description, actions, actionsSlot, gridImages, gridImagesSlot, imageOverlayAction, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageGridClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroCenteredImageGridProps): React.JSX.Element;
|
|
90
105
|
|
|
91
106
|
export { HeroCenteredImageGrid, type HeroCenteredImageGridProps };
|
|
@@ -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';
|
|
@@ -83,9 +86,21 @@ interface HeroCenteredImageGridProps {
|
|
|
83
86
|
* OptixFlow image optimization configuration
|
|
84
87
|
*/
|
|
85
88
|
optixFlowConfig?: OptixFlowConfig;
|
|
89
|
+
/**
|
|
90
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
91
|
+
*/
|
|
92
|
+
logo?: LogoConfig;
|
|
93
|
+
/**
|
|
94
|
+
* Custom slot for logo (overrides logo prop)
|
|
95
|
+
*/
|
|
96
|
+
logoSlot?: React.ReactNode;
|
|
97
|
+
/**
|
|
98
|
+
* Additional CSS classes for the logo container
|
|
99
|
+
*/
|
|
100
|
+
logoClassName?: string;
|
|
86
101
|
/** Optional Section ID */
|
|
87
102
|
sectionId?: string;
|
|
88
103
|
}
|
|
89
|
-
declare function HeroCenteredImageGrid({ sectionId, heading, description, actions, actionsSlot, gridImages, gridImagesSlot, imageOverlayAction, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageGridClassName, optixFlowConfig, }: HeroCenteredImageGridProps): React.JSX.Element;
|
|
104
|
+
declare function HeroCenteredImageGrid({ sectionId, heading, description, actions, actionsSlot, gridImages, gridImagesSlot, imageOverlayAction, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageGridClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroCenteredImageGridProps): React.JSX.Element;
|
|
90
105
|
|
|
91
106
|
export { HeroCenteredImageGrid, type HeroCenteredImageGridProps };
|