@opensite/ui 3.7.1 → 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/badge.d.cts +1 -1
- package/dist/badge.d.ts +1 -1
- 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-logo-centered-screenshot.cjs +2 -2
- package/dist/hero-logo-centered-screenshot.js +2 -2
- 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 +706 -184
- package/dist/registry.js +706 -184
- package/dist/social-link-icon.d.cts +1 -1
- package/dist/social-link-icon.d.ts +1 -1
- package/package.json +1 -1
|
@@ -464,6 +464,47 @@ function ActionComponent({ action }) {
|
|
|
464
464
|
}
|
|
465
465
|
);
|
|
466
466
|
}
|
|
467
|
+
var SIZE_CLASSES = {
|
|
468
|
+
sm: "max-h-6 sm:max-h-7",
|
|
469
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
470
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
471
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
472
|
+
};
|
|
473
|
+
var BrandLogo = ({
|
|
474
|
+
logo,
|
|
475
|
+
logoSlot,
|
|
476
|
+
logoClassName,
|
|
477
|
+
size = "md",
|
|
478
|
+
optixFlowConfig
|
|
479
|
+
}) => {
|
|
480
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
481
|
+
if (!logo || !logo.src) return null;
|
|
482
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
483
|
+
Img,
|
|
484
|
+
{
|
|
485
|
+
src: logo.src,
|
|
486
|
+
className: cn(
|
|
487
|
+
"w-auto object-contain",
|
|
488
|
+
SIZE_CLASSES[size],
|
|
489
|
+
logo.className
|
|
490
|
+
),
|
|
491
|
+
alt: logo.alt || "Logo",
|
|
492
|
+
optixFlowConfig,
|
|
493
|
+
loading: "eager"
|
|
494
|
+
}
|
|
495
|
+
);
|
|
496
|
+
if (logo.url) {
|
|
497
|
+
return /* @__PURE__ */ jsx(
|
|
498
|
+
Pressable,
|
|
499
|
+
{
|
|
500
|
+
href: logo.url,
|
|
501
|
+
className: cn("flex items-center", logoClassName),
|
|
502
|
+
children: imgElement
|
|
503
|
+
}
|
|
504
|
+
);
|
|
505
|
+
}
|
|
506
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
507
|
+
};
|
|
467
508
|
function HeroDigitalAgencyFullscreen({
|
|
468
509
|
sectionId = "hero-digital-agency-fullscreen",
|
|
469
510
|
heading,
|
|
@@ -481,7 +522,10 @@ function HeroDigitalAgencyFullscreen({
|
|
|
481
522
|
headingClassName,
|
|
482
523
|
descriptionClassName,
|
|
483
524
|
actionsClassName,
|
|
484
|
-
optixFlowConfig
|
|
525
|
+
optixFlowConfig,
|
|
526
|
+
logo,
|
|
527
|
+
logoSlot,
|
|
528
|
+
logoClassName
|
|
485
529
|
}) {
|
|
486
530
|
const [isImageLoaded, setIsImageLoaded] = useState(false);
|
|
487
531
|
const bgImageRef = useRef(null);
|
|
@@ -539,6 +583,7 @@ function HeroDigitalAgencyFullscreen({
|
|
|
539
583
|
contentClassName
|
|
540
584
|
),
|
|
541
585
|
children: /* @__PURE__ */ jsxs("div", { className: "container flex flex-col gap-6 mb-6 md:mb-24 px-6 md:px-0", children: [
|
|
586
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "xl" }) }),
|
|
542
587
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
543
588
|
"h1",
|
|
544
589
|
{
|
|
@@ -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 HeroEcommerceProductShowcase({
|
|
538
579
|
sectionId = "hero-ecommerce-product-showcase",
|
|
539
580
|
badgeText,
|
|
@@ -560,7 +601,10 @@ function HeroEcommerceProductShowcase({
|
|
|
560
601
|
actionsClassName,
|
|
561
602
|
statsClassName,
|
|
562
603
|
imagesClassName,
|
|
563
|
-
optixFlowConfig
|
|
604
|
+
optixFlowConfig,
|
|
605
|
+
logo,
|
|
606
|
+
logoSlot,
|
|
607
|
+
logoClassName
|
|
564
608
|
}) {
|
|
565
609
|
const renderBadge = React.useMemo(() => {
|
|
566
610
|
if (badgeSlot) return badgeSlot;
|
|
@@ -691,6 +735,7 @@ function HeroEcommerceProductShowcase({
|
|
|
691
735
|
),
|
|
692
736
|
children: [
|
|
693
737
|
renderBadge,
|
|
738
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
694
739
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
695
740
|
"h1",
|
|
696
741
|
{
|
|
@@ -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, 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';
|
|
@@ -107,9 +110,21 @@ interface HeroEcommerceProductShowcaseProps {
|
|
|
107
110
|
* OptixFlow image optimization configuration
|
|
108
111
|
*/
|
|
109
112
|
optixFlowConfig?: OptixFlowConfig;
|
|
113
|
+
/**
|
|
114
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
115
|
+
*/
|
|
116
|
+
logo?: LogoConfig;
|
|
117
|
+
/**
|
|
118
|
+
* Custom slot for logo (overrides logo prop)
|
|
119
|
+
*/
|
|
120
|
+
logoSlot?: React.ReactNode;
|
|
121
|
+
/**
|
|
122
|
+
* Additional CSS classes for the logo container
|
|
123
|
+
*/
|
|
124
|
+
logoClassName?: string;
|
|
110
125
|
/** Optional Section ID */
|
|
111
126
|
sectionId?: string;
|
|
112
127
|
}
|
|
113
|
-
declare function HeroEcommerceProductShowcase({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, actions, actionsSlot, stats, statsSlot, images, imagesSlot, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, statsClassName, imagesClassName, optixFlowConfig, }: HeroEcommerceProductShowcaseProps): React.JSX.Element;
|
|
128
|
+
declare function HeroEcommerceProductShowcase({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, actions, actionsSlot, stats, statsSlot, images, imagesSlot, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, statsClassName, imagesClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroEcommerceProductShowcaseProps): React.JSX.Element;
|
|
114
129
|
|
|
115
130
|
export { HeroEcommerceProductShowcase, type HeroEcommerceProductShowcaseProps };
|
|
@@ -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, 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';
|
|
@@ -107,9 +110,21 @@ interface HeroEcommerceProductShowcaseProps {
|
|
|
107
110
|
* OptixFlow image optimization configuration
|
|
108
111
|
*/
|
|
109
112
|
optixFlowConfig?: OptixFlowConfig;
|
|
113
|
+
/**
|
|
114
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
115
|
+
*/
|
|
116
|
+
logo?: LogoConfig;
|
|
117
|
+
/**
|
|
118
|
+
* Custom slot for logo (overrides logo prop)
|
|
119
|
+
*/
|
|
120
|
+
logoSlot?: React.ReactNode;
|
|
121
|
+
/**
|
|
122
|
+
* Additional CSS classes for the logo container
|
|
123
|
+
*/
|
|
124
|
+
logoClassName?: string;
|
|
110
125
|
/** Optional Section ID */
|
|
111
126
|
sectionId?: string;
|
|
112
127
|
}
|
|
113
|
-
declare function HeroEcommerceProductShowcase({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, actions, actionsSlot, stats, statsSlot, images, imagesSlot, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, statsClassName, imagesClassName, optixFlowConfig, }: HeroEcommerceProductShowcaseProps): React.JSX.Element;
|
|
128
|
+
declare function HeroEcommerceProductShowcase({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, actions, actionsSlot, stats, statsSlot, images, imagesSlot, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, statsClassName, imagesClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroEcommerceProductShowcaseProps): React.JSX.Element;
|
|
114
129
|
|
|
115
130
|
export { HeroEcommerceProductShowcase, type HeroEcommerceProductShowcaseProps };
|
|
@@ -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 HeroEcommerceProductShowcase({
|
|
517
558
|
sectionId = "hero-ecommerce-product-showcase",
|
|
518
559
|
badgeText,
|
|
@@ -539,7 +580,10 @@ function HeroEcommerceProductShowcase({
|
|
|
539
580
|
actionsClassName,
|
|
540
581
|
statsClassName,
|
|
541
582
|
imagesClassName,
|
|
542
|
-
optixFlowConfig
|
|
583
|
+
optixFlowConfig,
|
|
584
|
+
logo,
|
|
585
|
+
logoSlot,
|
|
586
|
+
logoClassName
|
|
543
587
|
}) {
|
|
544
588
|
const renderBadge = useMemo(() => {
|
|
545
589
|
if (badgeSlot) return badgeSlot;
|
|
@@ -670,6 +714,7 @@ function HeroEcommerceProductShowcase({
|
|
|
670
714
|
),
|
|
671
715
|
children: [
|
|
672
716
|
renderBadge,
|
|
717
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
673
718
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
674
719
|
"h1",
|
|
675
720
|
{
|
|
@@ -9,6 +9,7 @@ var icon = require('@page-speed/icon');
|
|
|
9
9
|
var jsxRuntime = require('react/jsx-runtime');
|
|
10
10
|
var reactSlot = require('@radix-ui/react-slot');
|
|
11
11
|
var classVarianceAuthority = require('class-variance-authority');
|
|
12
|
+
var img = require('@page-speed/img');
|
|
12
13
|
|
|
13
14
|
function _interopNamespace(e) {
|
|
14
15
|
if (e && e.__esModule) return e;
|
|
@@ -533,6 +534,47 @@ function ActionComponent({ action }) {
|
|
|
533
534
|
}
|
|
534
535
|
);
|
|
535
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
|
+
};
|
|
536
578
|
function HeroEnterpriseSecurity({
|
|
537
579
|
sectionId = "hero-enterprise-security",
|
|
538
580
|
badge,
|
|
@@ -555,7 +597,10 @@ function HeroEnterpriseSecurity({
|
|
|
555
597
|
headingClassName,
|
|
556
598
|
descriptionClassName,
|
|
557
599
|
actionsClassName,
|
|
558
|
-
featuresClassName
|
|
600
|
+
featuresClassName,
|
|
601
|
+
logo,
|
|
602
|
+
logoSlot,
|
|
603
|
+
logoClassName
|
|
559
604
|
}) {
|
|
560
605
|
const renderFeatures = React.useMemo(() => {
|
|
561
606
|
if (featuresSlot) return featuresSlot;
|
|
@@ -626,6 +671,7 @@ function HeroEnterpriseSecurity({
|
|
|
626
671
|
badgeIcon,
|
|
627
672
|
typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { children: badge }) : badge
|
|
628
673
|
] }),
|
|
674
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
629
675
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
630
676
|
"h1",
|
|
631
677
|
{
|
|
@@ -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, 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';
|
|
@@ -97,9 +100,21 @@ interface HeroEnterpriseSecurityProps {
|
|
|
97
100
|
* OptixFlow image optimization configuration
|
|
98
101
|
*/
|
|
99
102
|
optixFlowConfig?: OptixFlowConfig;
|
|
103
|
+
/**
|
|
104
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
105
|
+
*/
|
|
106
|
+
logo?: LogoConfig;
|
|
107
|
+
/**
|
|
108
|
+
* Custom slot for logo (overrides logo prop)
|
|
109
|
+
*/
|
|
110
|
+
logoSlot?: React.ReactNode;
|
|
111
|
+
/**
|
|
112
|
+
* Additional CSS classes for the logo container
|
|
113
|
+
*/
|
|
114
|
+
logoClassName?: string;
|
|
100
115
|
/** Optional Section ID */
|
|
101
116
|
sectionId?: string;
|
|
102
117
|
}
|
|
103
|
-
declare function HeroEnterpriseSecurity({ sectionId, badge, badgeIcon, badgeClassName, heading, description, actions, actionsSlot, features, featuresSlot, background, pattern, patternOpacity, patternClassName, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, featuresClassName, }: HeroEnterpriseSecurityProps): React.JSX.Element;
|
|
118
|
+
declare function HeroEnterpriseSecurity({ sectionId, badge, badgeIcon, badgeClassName, heading, description, actions, actionsSlot, features, featuresSlot, background, pattern, patternOpacity, patternClassName, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, featuresClassName, logo, logoSlot, logoClassName, }: HeroEnterpriseSecurityProps): React.JSX.Element;
|
|
104
119
|
|
|
105
120
|
export { HeroEnterpriseSecurity, type HeroEnterpriseSecurityProps };
|
|
@@ -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, 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';
|
|
@@ -97,9 +100,21 @@ interface HeroEnterpriseSecurityProps {
|
|
|
97
100
|
* OptixFlow image optimization configuration
|
|
98
101
|
*/
|
|
99
102
|
optixFlowConfig?: OptixFlowConfig;
|
|
103
|
+
/**
|
|
104
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
105
|
+
*/
|
|
106
|
+
logo?: LogoConfig;
|
|
107
|
+
/**
|
|
108
|
+
* Custom slot for logo (overrides logo prop)
|
|
109
|
+
*/
|
|
110
|
+
logoSlot?: React.ReactNode;
|
|
111
|
+
/**
|
|
112
|
+
* Additional CSS classes for the logo container
|
|
113
|
+
*/
|
|
114
|
+
logoClassName?: string;
|
|
100
115
|
/** Optional Section ID */
|
|
101
116
|
sectionId?: string;
|
|
102
117
|
}
|
|
103
|
-
declare function HeroEnterpriseSecurity({ sectionId, badge, badgeIcon, badgeClassName, heading, description, actions, actionsSlot, features, featuresSlot, background, pattern, patternOpacity, patternClassName, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, featuresClassName, }: HeroEnterpriseSecurityProps): React.JSX.Element;
|
|
118
|
+
declare function HeroEnterpriseSecurity({ sectionId, badge, badgeIcon, badgeClassName, heading, description, actions, actionsSlot, features, featuresSlot, background, pattern, patternOpacity, patternClassName, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, featuresClassName, logo, logoSlot, logoClassName, }: HeroEnterpriseSecurityProps): React.JSX.Element;
|
|
104
119
|
|
|
105
120
|
export { HeroEnterpriseSecurity, type HeroEnterpriseSecurityProps };
|
|
@@ -8,6 +8,7 @@ import { Icon } from '@page-speed/icon';
|
|
|
8
8
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
9
9
|
import { Slot } from '@radix-ui/react-slot';
|
|
10
10
|
import { cva } from 'class-variance-authority';
|
|
11
|
+
import { Img } from '@page-speed/img';
|
|
11
12
|
|
|
12
13
|
// components/blocks/hero/hero-enterprise-security.tsx
|
|
13
14
|
function cn(...inputs) {
|
|
@@ -512,6 +513,47 @@ function ActionComponent({ action }) {
|
|
|
512
513
|
}
|
|
513
514
|
);
|
|
514
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
|
+
};
|
|
515
557
|
function HeroEnterpriseSecurity({
|
|
516
558
|
sectionId = "hero-enterprise-security",
|
|
517
559
|
badge,
|
|
@@ -534,7 +576,10 @@ function HeroEnterpriseSecurity({
|
|
|
534
576
|
headingClassName,
|
|
535
577
|
descriptionClassName,
|
|
536
578
|
actionsClassName,
|
|
537
|
-
featuresClassName
|
|
579
|
+
featuresClassName,
|
|
580
|
+
logo,
|
|
581
|
+
logoSlot,
|
|
582
|
+
logoClassName
|
|
538
583
|
}) {
|
|
539
584
|
const renderFeatures = useMemo(() => {
|
|
540
585
|
if (featuresSlot) return featuresSlot;
|
|
@@ -605,6 +650,7 @@ function HeroEnterpriseSecurity({
|
|
|
605
650
|
badgeIcon,
|
|
606
651
|
typeof badge === "string" ? /* @__PURE__ */ jsx("span", { children: badge }) : badge
|
|
607
652
|
] }),
|
|
653
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
608
654
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
609
655
|
"h1",
|
|
610
656
|
{
|
|
@@ -7,6 +7,7 @@ var tailwindMerge = require('tailwind-merge');
|
|
|
7
7
|
var pressable = require('@page-speed/pressable');
|
|
8
8
|
var icon = require('@page-speed/icon');
|
|
9
9
|
var jsxRuntime = require('react/jsx-runtime');
|
|
10
|
+
var img = require('@page-speed/img');
|
|
10
11
|
|
|
11
12
|
function _interopNamespace(e) {
|
|
12
13
|
if (e && e.__esModule) return e;
|
|
@@ -499,6 +500,47 @@ function ActionComponent({ action }) {
|
|
|
499
500
|
}
|
|
500
501
|
);
|
|
501
502
|
}
|
|
503
|
+
var SIZE_CLASSES = {
|
|
504
|
+
sm: "max-h-6 sm:max-h-7",
|
|
505
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
506
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
507
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
508
|
+
};
|
|
509
|
+
var BrandLogo = ({
|
|
510
|
+
logo,
|
|
511
|
+
logoSlot,
|
|
512
|
+
logoClassName,
|
|
513
|
+
size = "md",
|
|
514
|
+
optixFlowConfig
|
|
515
|
+
}) => {
|
|
516
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
517
|
+
if (!logo || !logo.src) return null;
|
|
518
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
519
|
+
img.Img,
|
|
520
|
+
{
|
|
521
|
+
src: logo.src,
|
|
522
|
+
className: cn(
|
|
523
|
+
"w-auto object-contain",
|
|
524
|
+
SIZE_CLASSES[size],
|
|
525
|
+
logo.className
|
|
526
|
+
),
|
|
527
|
+
alt: logo.alt || "Logo",
|
|
528
|
+
optixFlowConfig,
|
|
529
|
+
loading: "eager"
|
|
530
|
+
}
|
|
531
|
+
);
|
|
532
|
+
if (logo.url) {
|
|
533
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
534
|
+
pressable.Pressable,
|
|
535
|
+
{
|
|
536
|
+
href: logo.url,
|
|
537
|
+
className: cn("flex items-center", logoClassName),
|
|
538
|
+
children: imgElement
|
|
539
|
+
}
|
|
540
|
+
);
|
|
541
|
+
}
|
|
542
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
543
|
+
};
|
|
502
544
|
function HeroFeatureCardsGrid({
|
|
503
545
|
sectionId = "hero-feature-cards-grid",
|
|
504
546
|
heading,
|
|
@@ -517,7 +559,10 @@ function HeroFeatureCardsGrid({
|
|
|
517
559
|
headingClassName,
|
|
518
560
|
descriptionClassName,
|
|
519
561
|
actionsClassName,
|
|
520
|
-
featuresClassName
|
|
562
|
+
featuresClassName,
|
|
563
|
+
logo,
|
|
564
|
+
logoSlot,
|
|
565
|
+
logoClassName
|
|
521
566
|
}) {
|
|
522
567
|
const renderFeatures = React.useMemo(() => {
|
|
523
568
|
if (featuresSlot) return featuresSlot;
|
|
@@ -580,6 +625,7 @@ function HeroFeatureCardsGrid({
|
|
|
580
625
|
contentClassName
|
|
581
626
|
),
|
|
582
627
|
children: [
|
|
628
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
583
629
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
584
630
|
"h1",
|
|
585
631
|
{
|
|
@@ -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';
|
|
@@ -76,9 +79,21 @@ interface HeroFeatureCardsGridProps {
|
|
|
76
79
|
* Additional CSS classes for the features container
|
|
77
80
|
*/
|
|
78
81
|
featuresClassName?: string;
|
|
82
|
+
/**
|
|
83
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
84
|
+
*/
|
|
85
|
+
logo?: LogoConfig;
|
|
86
|
+
/**
|
|
87
|
+
* Custom slot for logo (overrides logo prop)
|
|
88
|
+
*/
|
|
89
|
+
logoSlot?: React.ReactNode;
|
|
90
|
+
/**
|
|
91
|
+
* Additional CSS classes for the logo container
|
|
92
|
+
*/
|
|
93
|
+
logoClassName?: string;
|
|
79
94
|
/** Optional Section ID */
|
|
80
95
|
sectionId?: string;
|
|
81
96
|
}
|
|
82
|
-
declare function HeroFeatureCardsGrid({ sectionId, heading, description, actions, actionsSlot, features, featuresSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, featuresClassName, }: HeroFeatureCardsGridProps): React.JSX.Element;
|
|
97
|
+
declare function HeroFeatureCardsGrid({ sectionId, heading, description, actions, actionsSlot, features, featuresSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, featuresClassName, logo, logoSlot, logoClassName, }: HeroFeatureCardsGridProps): React.JSX.Element;
|
|
83
98
|
|
|
84
99
|
export { HeroFeatureCardsGrid, type HeroFeatureCardsGridProps };
|
|
@@ -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';
|
|
@@ -76,9 +79,21 @@ interface HeroFeatureCardsGridProps {
|
|
|
76
79
|
* Additional CSS classes for the features container
|
|
77
80
|
*/
|
|
78
81
|
featuresClassName?: string;
|
|
82
|
+
/**
|
|
83
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
84
|
+
*/
|
|
85
|
+
logo?: LogoConfig;
|
|
86
|
+
/**
|
|
87
|
+
* Custom slot for logo (overrides logo prop)
|
|
88
|
+
*/
|
|
89
|
+
logoSlot?: React.ReactNode;
|
|
90
|
+
/**
|
|
91
|
+
* Additional CSS classes for the logo container
|
|
92
|
+
*/
|
|
93
|
+
logoClassName?: string;
|
|
79
94
|
/** Optional Section ID */
|
|
80
95
|
sectionId?: string;
|
|
81
96
|
}
|
|
82
|
-
declare function HeroFeatureCardsGrid({ sectionId, heading, description, actions, actionsSlot, features, featuresSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, featuresClassName, }: HeroFeatureCardsGridProps): React.JSX.Element;
|
|
97
|
+
declare function HeroFeatureCardsGrid({ sectionId, heading, description, actions, actionsSlot, features, featuresSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, featuresClassName, logo, logoSlot, logoClassName, }: HeroFeatureCardsGridProps): React.JSX.Element;
|
|
83
98
|
|
|
84
99
|
export { HeroFeatureCardsGrid, type HeroFeatureCardsGridProps };
|