@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
|
@@ -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 };
|
|
@@ -6,6 +6,7 @@ import { twMerge } from 'tailwind-merge';
|
|
|
6
6
|
import { Pressable, buttonVariants } from '@page-speed/pressable';
|
|
7
7
|
import { Icon } from '@page-speed/icon';
|
|
8
8
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
9
|
+
import { Img } from '@page-speed/img';
|
|
9
10
|
|
|
10
11
|
// components/blocks/hero/hero-feature-cards-grid.tsx
|
|
11
12
|
function cn(...inputs) {
|
|
@@ -478,6 +479,47 @@ function ActionComponent({ action }) {
|
|
|
478
479
|
}
|
|
479
480
|
);
|
|
480
481
|
}
|
|
482
|
+
var SIZE_CLASSES = {
|
|
483
|
+
sm: "max-h-6 sm:max-h-7",
|
|
484
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
485
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
486
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
487
|
+
};
|
|
488
|
+
var BrandLogo = ({
|
|
489
|
+
logo,
|
|
490
|
+
logoSlot,
|
|
491
|
+
logoClassName,
|
|
492
|
+
size = "md",
|
|
493
|
+
optixFlowConfig
|
|
494
|
+
}) => {
|
|
495
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
496
|
+
if (!logo || !logo.src) return null;
|
|
497
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
498
|
+
Img,
|
|
499
|
+
{
|
|
500
|
+
src: logo.src,
|
|
501
|
+
className: cn(
|
|
502
|
+
"w-auto object-contain",
|
|
503
|
+
SIZE_CLASSES[size],
|
|
504
|
+
logo.className
|
|
505
|
+
),
|
|
506
|
+
alt: logo.alt || "Logo",
|
|
507
|
+
optixFlowConfig,
|
|
508
|
+
loading: "eager"
|
|
509
|
+
}
|
|
510
|
+
);
|
|
511
|
+
if (logo.url) {
|
|
512
|
+
return /* @__PURE__ */ jsx(
|
|
513
|
+
Pressable,
|
|
514
|
+
{
|
|
515
|
+
href: logo.url,
|
|
516
|
+
className: cn("flex items-center", logoClassName),
|
|
517
|
+
children: imgElement
|
|
518
|
+
}
|
|
519
|
+
);
|
|
520
|
+
}
|
|
521
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
522
|
+
};
|
|
481
523
|
function HeroFeatureCardsGrid({
|
|
482
524
|
sectionId = "hero-feature-cards-grid",
|
|
483
525
|
heading,
|
|
@@ -496,7 +538,10 @@ function HeroFeatureCardsGrid({
|
|
|
496
538
|
headingClassName,
|
|
497
539
|
descriptionClassName,
|
|
498
540
|
actionsClassName,
|
|
499
|
-
featuresClassName
|
|
541
|
+
featuresClassName,
|
|
542
|
+
logo,
|
|
543
|
+
logoSlot,
|
|
544
|
+
logoClassName
|
|
500
545
|
}) {
|
|
501
546
|
const renderFeatures = useMemo(() => {
|
|
502
547
|
if (featuresSlot) return featuresSlot;
|
|
@@ -559,6 +604,7 @@ function HeroFeatureCardsGrid({
|
|
|
559
604
|
contentClassName
|
|
560
605
|
),
|
|
561
606
|
children: [
|
|
607
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
562
608
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
563
609
|
"h1",
|
|
564
610
|
{
|
|
@@ -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__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
487
|
+
if (!logo || !logo.src) return null;
|
|
488
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
489
|
+
img.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__ */ jsxRuntime.jsx(
|
|
504
|
+
pressable.Pressable,
|
|
505
|
+
{
|
|
506
|
+
href: logo.url,
|
|
507
|
+
className: cn("flex items-center", logoClassName),
|
|
508
|
+
children: imgElement
|
|
509
|
+
}
|
|
510
|
+
);
|
|
511
|
+
}
|
|
512
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
513
|
+
};
|
|
473
514
|
function HeroFullscreenBackgroundImage({
|
|
474
515
|
sectionId = "hero-fullscreen-background-image",
|
|
475
516
|
heading,
|
|
@@ -487,7 +528,10 @@ function HeroFullscreenBackgroundImage({
|
|
|
487
528
|
headingClassName,
|
|
488
529
|
descriptionClassName,
|
|
489
530
|
actionsClassName,
|
|
490
|
-
optixFlowConfig
|
|
531
|
+
optixFlowConfig,
|
|
532
|
+
logo,
|
|
533
|
+
logoSlot,
|
|
534
|
+
logoClassName
|
|
491
535
|
}) {
|
|
492
536
|
const renderBackground = React.useMemo(() => {
|
|
493
537
|
if (!backgroundImage) return null;
|
|
@@ -529,6 +573,7 @@ function HeroFullscreenBackgroundImage({
|
|
|
529
573
|
contentClassName
|
|
530
574
|
),
|
|
531
575
|
children: [
|
|
576
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "xl" }) }),
|
|
532
577
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
533
578
|
"h1",
|
|
534
579
|
{
|
|
@@ -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';
|
|
@@ -74,9 +77,21 @@ interface HeroFullscreenBackgroundImageProps {
|
|
|
74
77
|
apiKey: string;
|
|
75
78
|
compression?: number;
|
|
76
79
|
};
|
|
80
|
+
/**
|
|
81
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
82
|
+
*/
|
|
83
|
+
logo?: LogoConfig;
|
|
84
|
+
/**
|
|
85
|
+
* Custom slot for logo (overrides logo prop)
|
|
86
|
+
*/
|
|
87
|
+
logoSlot?: React.ReactNode;
|
|
88
|
+
/**
|
|
89
|
+
* Additional CSS classes for the logo container
|
|
90
|
+
*/
|
|
91
|
+
logoClassName?: string;
|
|
77
92
|
/** Optional Section ID */
|
|
78
93
|
sectionId?: string;
|
|
79
94
|
}
|
|
80
|
-
declare function HeroFullscreenBackgroundImage({ sectionId, heading, description, actions, actionsSlot, backgroundImage, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, actionsClassName, optixFlowConfig, }: HeroFullscreenBackgroundImageProps): React.JSX.Element;
|
|
95
|
+
declare function HeroFullscreenBackgroundImage({ sectionId, heading, description, actions, actionsSlot, backgroundImage, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, actionsClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroFullscreenBackgroundImageProps): React.JSX.Element;
|
|
81
96
|
|
|
82
97
|
export { HeroFullscreenBackgroundImage, type HeroFullscreenBackgroundImageProps };
|
|
@@ -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';
|
|
@@ -74,9 +77,21 @@ interface HeroFullscreenBackgroundImageProps {
|
|
|
74
77
|
apiKey: string;
|
|
75
78
|
compression?: number;
|
|
76
79
|
};
|
|
80
|
+
/**
|
|
81
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
82
|
+
*/
|
|
83
|
+
logo?: LogoConfig;
|
|
84
|
+
/**
|
|
85
|
+
* Custom slot for logo (overrides logo prop)
|
|
86
|
+
*/
|
|
87
|
+
logoSlot?: React.ReactNode;
|
|
88
|
+
/**
|
|
89
|
+
* Additional CSS classes for the logo container
|
|
90
|
+
*/
|
|
91
|
+
logoClassName?: string;
|
|
77
92
|
/** Optional Section ID */
|
|
78
93
|
sectionId?: string;
|
|
79
94
|
}
|
|
80
|
-
declare function HeroFullscreenBackgroundImage({ sectionId, heading, description, actions, actionsSlot, backgroundImage, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, actionsClassName, optixFlowConfig, }: HeroFullscreenBackgroundImageProps): React.JSX.Element;
|
|
95
|
+
declare function HeroFullscreenBackgroundImage({ sectionId, heading, description, actions, actionsSlot, backgroundImage, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, actionsClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroFullscreenBackgroundImageProps): React.JSX.Element;
|
|
81
96
|
|
|
82
97
|
export { HeroFullscreenBackgroundImage, type HeroFullscreenBackgroundImageProps };
|
|
@@ -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 HeroFullscreenBackgroundImage({
|
|
468
509
|
sectionId = "hero-fullscreen-background-image",
|
|
469
510
|
heading,
|
|
@@ -481,7 +522,10 @@ function HeroFullscreenBackgroundImage({
|
|
|
481
522
|
headingClassName,
|
|
482
523
|
descriptionClassName,
|
|
483
524
|
actionsClassName,
|
|
484
|
-
optixFlowConfig
|
|
525
|
+
optixFlowConfig,
|
|
526
|
+
logo,
|
|
527
|
+
logoSlot,
|
|
528
|
+
logoClassName
|
|
485
529
|
}) {
|
|
486
530
|
const renderBackground = useMemo(() => {
|
|
487
531
|
if (!backgroundImage) return null;
|
|
@@ -523,6 +567,7 @@ function HeroFullscreenBackgroundImage({
|
|
|
523
567
|
contentClassName
|
|
524
568
|
),
|
|
525
569
|
children: [
|
|
570
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "xl" }) }),
|
|
526
571
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
527
572
|
"h1",
|
|
528
573
|
{
|