@opensite/ui 3.7.2 → 3.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hero-ad-campaign-expert.cjs +46 -1
- package/dist/hero-ad-campaign-expert.d.cts +16 -1
- package/dist/hero-ad-campaign-expert.d.ts +16 -1
- package/dist/hero-ad-campaign-expert.js +46 -1
- package/dist/hero-adaptable-product-grid.cjs +46 -1
- package/dist/hero-adaptable-product-grid.d.cts +16 -1
- package/dist/hero-adaptable-product-grid.d.ts +16 -1
- package/dist/hero-adaptable-product-grid.js +46 -1
- package/dist/hero-agency-animated-images.cjs +46 -1
- package/dist/hero-agency-animated-images.d.cts +16 -1
- package/dist/hero-agency-animated-images.d.ts +16 -1
- package/dist/hero-agency-animated-images.js +46 -1
- package/dist/hero-ai-powered-carousel.cjs +46 -1
- package/dist/hero-ai-powered-carousel.d.cts +16 -1
- package/dist/hero-ai-powered-carousel.d.ts +16 -1
- package/dist/hero-ai-powered-carousel.js +46 -1
- package/dist/hero-announcement-badge.cjs +47 -1
- package/dist/hero-announcement-badge.d.cts +16 -1
- package/dist/hero-announcement-badge.d.ts +16 -1
- package/dist/hero-announcement-badge.js +47 -1
- package/dist/hero-architecture-fullscreen.cjs +46 -1
- package/dist/hero-architecture-fullscreen.d.cts +16 -1
- package/dist/hero-architecture-fullscreen.d.ts +16 -1
- package/dist/hero-architecture-fullscreen.js +46 -1
- package/dist/hero-badge-image-split.cjs +46 -1
- package/dist/hero-badge-image-split.d.cts +16 -1
- package/dist/hero-badge-image-split.d.ts +16 -1
- package/dist/hero-badge-image-split.js +46 -1
- package/dist/hero-badge-shadow-overlay.cjs +46 -1
- package/dist/hero-badge-shadow-overlay.d.cts +16 -1
- package/dist/hero-badge-shadow-overlay.d.ts +16 -1
- package/dist/hero-badge-shadow-overlay.js +46 -1
- package/dist/hero-business-carousel-dots.cjs +46 -1
- package/dist/hero-business-carousel-dots.d.cts +16 -1
- package/dist/hero-business-carousel-dots.d.ts +16 -1
- package/dist/hero-business-carousel-dots.js +46 -1
- package/dist/hero-business-operations-mosaic.cjs +46 -1
- package/dist/hero-business-operations-mosaic.d.cts +16 -1
- package/dist/hero-business-operations-mosaic.d.ts +16 -1
- package/dist/hero-business-operations-mosaic.js +46 -1
- package/dist/hero-centered-gradient-cta.cjs +47 -1
- package/dist/hero-centered-gradient-cta.d.cts +16 -1
- package/dist/hero-centered-gradient-cta.d.ts +16 -1
- package/dist/hero-centered-gradient-cta.js +47 -1
- package/dist/hero-centered-image-grid.cjs +46 -1
- package/dist/hero-centered-image-grid.d.cts +16 -1
- package/dist/hero-centered-image-grid.d.ts +16 -1
- package/dist/hero-centered-image-grid.js +46 -1
- package/dist/hero-centered-screenshot.cjs +46 -1
- package/dist/hero-centered-screenshot.d.cts +16 -1
- package/dist/hero-centered-screenshot.d.ts +16 -1
- package/dist/hero-centered-screenshot.js +46 -1
- package/dist/hero-coming-soon-countdown.cjs +47 -1
- package/dist/hero-coming-soon-countdown.d.cts +16 -1
- package/dist/hero-coming-soon-countdown.d.ts +16 -1
- package/dist/hero-coming-soon-countdown.js +47 -1
- package/dist/hero-community-survey-cta.cjs +46 -1
- package/dist/hero-community-survey-cta.d.cts +16 -1
- package/dist/hero-community-survey-cta.d.ts +16 -1
- package/dist/hero-community-survey-cta.js +46 -1
- package/dist/hero-conversation-intelligence.cjs +46 -1
- package/dist/hero-conversation-intelligence.d.cts +16 -1
- package/dist/hero-conversation-intelligence.d.ts +16 -1
- package/dist/hero-conversation-intelligence.js +46 -1
- package/dist/hero-creative-studio-stacked.cjs +46 -1
- package/dist/hero-creative-studio-stacked.d.cts +17 -2
- package/dist/hero-creative-studio-stacked.d.ts +17 -2
- package/dist/hero-creative-studio-stacked.js +46 -1
- package/dist/hero-crm-streamlined.cjs +46 -1
- package/dist/hero-crm-streamlined.d.cts +16 -1
- package/dist/hero-crm-streamlined.d.ts +16 -1
- package/dist/hero-crm-streamlined.js +46 -1
- package/dist/hero-customer-support-layered.cjs +46 -1
- package/dist/hero-customer-support-layered.d.cts +16 -1
- package/dist/hero-customer-support-layered.d.ts +16 -1
- package/dist/hero-customer-support-layered.js +46 -1
- package/dist/hero-design-system-3d.cjs +67 -20
- package/dist/hero-design-system-3d.d.cts +16 -1
- package/dist/hero-design-system-3d.d.ts +16 -1
- package/dist/hero-design-system-3d.js +67 -20
- package/dist/hero-developer-tools-code.cjs +47 -1
- package/dist/hero-developer-tools-code.d.cts +16 -1
- package/dist/hero-developer-tools-code.d.ts +16 -1
- package/dist/hero-developer-tools-code.js +47 -1
- package/dist/hero-digital-agency-fullscreen.cjs +46 -1
- package/dist/hero-digital-agency-fullscreen.d.cts +16 -1
- package/dist/hero-digital-agency-fullscreen.d.ts +16 -1
- package/dist/hero-digital-agency-fullscreen.js +46 -1
- package/dist/hero-ecommerce-product-showcase.cjs +46 -1
- package/dist/hero-ecommerce-product-showcase.d.cts +16 -1
- package/dist/hero-ecommerce-product-showcase.d.ts +16 -1
- package/dist/hero-ecommerce-product-showcase.js +46 -1
- package/dist/hero-enterprise-security.cjs +47 -1
- package/dist/hero-enterprise-security.d.cts +16 -1
- package/dist/hero-enterprise-security.d.ts +16 -1
- package/dist/hero-enterprise-security.js +47 -1
- package/dist/hero-feature-cards-grid.cjs +47 -1
- package/dist/hero-feature-cards-grid.d.cts +16 -1
- package/dist/hero-feature-cards-grid.d.ts +16 -1
- package/dist/hero-feature-cards-grid.js +47 -1
- package/dist/hero-fullscreen-background-image.cjs +46 -1
- package/dist/hero-fullscreen-background-image.d.cts +16 -1
- package/dist/hero-fullscreen-background-image.d.ts +16 -1
- package/dist/hero-fullscreen-background-image.js +46 -1
- package/dist/hero-gradient-avatars-rating.cjs +46 -1
- package/dist/hero-gradient-avatars-rating.d.cts +16 -1
- package/dist/hero-gradient-avatars-rating.d.ts +16 -1
- package/dist/hero-gradient-avatars-rating.js +46 -1
- package/dist/hero-gradient-client-focused.cjs +46 -1
- package/dist/hero-gradient-client-focused.d.cts +16 -1
- package/dist/hero-gradient-client-focused.d.ts +16 -1
- package/dist/hero-gradient-client-focused.js +46 -1
- package/dist/hero-grid-pattern-efficiency.cjs +47 -1
- package/dist/hero-grid-pattern-efficiency.d.cts +16 -1
- package/dist/hero-grid-pattern-efficiency.d.ts +16 -1
- package/dist/hero-grid-pattern-efficiency.js +47 -1
- package/dist/hero-grid-pattern-solutions.cjs +46 -1
- package/dist/hero-grid-pattern-solutions.d.cts +16 -1
- package/dist/hero-grid-pattern-solutions.d.ts +16 -1
- package/dist/hero-grid-pattern-solutions.js +46 -1
- package/dist/hero-hiring-animated-text.cjs +47 -1
- package/dist/hero-hiring-animated-text.d.cts +16 -1
- package/dist/hero-hiring-animated-text.d.ts +16 -1
- package/dist/hero-hiring-animated-text.js +47 -1
- package/dist/hero-image-left-content.cjs +46 -1
- package/dist/hero-image-left-content.d.cts +16 -1
- package/dist/hero-image-left-content.d.ts +16 -1
- package/dist/hero-image-left-content.js +46 -1
- package/dist/hero-image-slider.cjs +46 -1
- package/dist/hero-image-slider.d.cts +16 -1
- package/dist/hero-image-slider.d.ts +16 -1
- package/dist/hero-image-slider.js +46 -1
- package/dist/hero-innovation-image-grid.cjs +46 -1
- package/dist/hero-innovation-image-grid.d.cts +16 -1
- package/dist/hero-innovation-image-grid.d.ts +16 -1
- package/dist/hero-innovation-image-grid.js +46 -1
- package/dist/hero-marketplace-scattered-images.cjs +46 -1
- package/dist/hero-marketplace-scattered-images.d.cts +16 -1
- package/dist/hero-marketplace-scattered-images.d.ts +16 -1
- package/dist/hero-marketplace-scattered-images.js +46 -1
- package/dist/hero-minimal-centered-dark.cjs +47 -1
- package/dist/hero-minimal-centered-dark.d.cts +16 -1
- package/dist/hero-minimal-centered-dark.d.ts +16 -1
- package/dist/hero-minimal-centered-dark.js +47 -1
- package/dist/hero-mobile-app-download.cjs +46 -1
- package/dist/hero-mobile-app-download.d.cts +16 -1
- package/dist/hero-mobile-app-download.d.ts +16 -1
- package/dist/hero-mobile-app-download.js +46 -1
- package/dist/hero-newsletter-minimal.cjs +48 -1
- package/dist/hero-newsletter-minimal.d.cts +16 -1
- package/dist/hero-newsletter-minimal.d.ts +16 -1
- package/dist/hero-newsletter-minimal.js +48 -1
- package/dist/hero-overlay-cta-grid.cjs +46 -1
- package/dist/hero-overlay-cta-grid.d.cts +16 -1
- package/dist/hero-overlay-cta-grid.d.ts +16 -1
- package/dist/hero-overlay-cta-grid.js +46 -1
- package/dist/hero-portfolio-creative.cjs +46 -1
- package/dist/hero-portfolio-creative.d.cts +16 -1
- package/dist/hero-portfolio-creative.d.ts +16 -1
- package/dist/hero-portfolio-creative.js +46 -1
- package/dist/hero-premium-split-avatars.cjs +46 -1
- package/dist/hero-premium-split-avatars.d.cts +16 -1
- package/dist/hero-premium-split-avatars.d.ts +16 -1
- package/dist/hero-premium-split-avatars.js +46 -1
- package/dist/hero-presentation-platform-video.cjs +47 -1
- package/dist/hero-presentation-platform-video.d.cts +16 -1
- package/dist/hero-presentation-platform-video.d.ts +16 -1
- package/dist/hero-presentation-platform-video.js +47 -1
- package/dist/hero-pricing-comparison.cjs +47 -1
- package/dist/hero-pricing-comparison.d.cts +16 -1
- package/dist/hero-pricing-comparison.d.ts +16 -1
- package/dist/hero-pricing-comparison.js +47 -1
- package/dist/hero-product-showcase-floating.cjs +46 -1
- package/dist/hero-product-showcase-floating.d.cts +16 -1
- package/dist/hero-product-showcase-floating.d.ts +16 -1
- package/dist/hero-product-showcase-floating.js +46 -1
- package/dist/hero-productivity-launcher-video.cjs +68 -20
- package/dist/hero-productivity-launcher-video.d.cts +16 -1
- package/dist/hero-productivity-launcher-video.d.ts +16 -1
- package/dist/hero-productivity-launcher-video.js +68 -20
- package/dist/hero-saas-dashboard-preview.cjs +46 -1
- package/dist/hero-saas-dashboard-preview.d.cts +16 -1
- package/dist/hero-saas-dashboard-preview.d.ts +16 -1
- package/dist/hero-saas-dashboard-preview.js +46 -1
- package/dist/hero-shared-inbox-layered.cjs +46 -1
- package/dist/hero-shared-inbox-layered.d.cts +16 -1
- package/dist/hero-shared-inbox-layered.d.ts +16 -1
- package/dist/hero-shared-inbox-layered.js +46 -1
- package/dist/hero-simple-centered-image.cjs +46 -1
- package/dist/hero-simple-centered-image.d.cts +16 -1
- package/dist/hero-simple-centered-image.d.ts +16 -1
- package/dist/hero-simple-centered-image.js +46 -1
- package/dist/hero-software-growth-video-dialog.cjs +46 -1
- package/dist/hero-software-growth-video-dialog.d.cts +16 -1
- package/dist/hero-software-growth-video-dialog.d.ts +16 -1
- package/dist/hero-software-growth-video-dialog.js +46 -1
- package/dist/hero-spiral-pattern-cards.cjs +46 -1
- package/dist/hero-spiral-pattern-cards.d.cts +16 -1
- package/dist/hero-spiral-pattern-cards.d.ts +16 -1
- package/dist/hero-spiral-pattern-cards.js +46 -1
- package/dist/hero-split-geometric-shapes.cjs +46 -1
- package/dist/hero-split-geometric-shapes.d.cts +16 -1
- package/dist/hero-split-geometric-shapes.d.ts +16 -1
- package/dist/hero-split-geometric-shapes.js +46 -1
- package/dist/hero-split-icon-cards.cjs +47 -1
- package/dist/hero-split-icon-cards.d.cts +16 -1
- package/dist/hero-split-icon-cards.d.ts +16 -1
- package/dist/hero-split-icon-cards.js +47 -1
- package/dist/hero-split-image-newsletter.cjs +46 -1
- package/dist/hero-split-image-newsletter.d.cts +16 -1
- package/dist/hero-split-image-newsletter.d.ts +16 -1
- package/dist/hero-split-image-newsletter.js +47 -2
- package/dist/hero-split-spiral-shapes.cjs +46 -1
- package/dist/hero-split-spiral-shapes.d.cts +16 -1
- package/dist/hero-split-spiral-shapes.d.ts +16 -1
- package/dist/hero-split-spiral-shapes.js +46 -1
- package/dist/hero-startup-launch-cta.cjs +46 -1
- package/dist/hero-startup-launch-cta.d.cts +16 -1
- package/dist/hero-startup-launch-cta.d.ts +16 -1
- package/dist/hero-startup-launch-cta.js +46 -1
- package/dist/hero-stats-social-proof.cjs +46 -1
- package/dist/hero-stats-social-proof.d.cts +16 -1
- package/dist/hero-stats-social-proof.d.ts +16 -1
- package/dist/hero-stats-social-proof.js +46 -1
- package/dist/hero-task-timer-animated.cjs +46 -1
- package/dist/hero-task-timer-animated.d.cts +16 -1
- package/dist/hero-task-timer-animated.d.ts +16 -1
- package/dist/hero-task-timer-animated.js +46 -1
- package/dist/hero-testimonial-image-grid.cjs +46 -1
- package/dist/hero-testimonial-image-grid.d.cts +16 -1
- package/dist/hero-testimonial-image-grid.d.ts +16 -1
- package/dist/hero-testimonial-image-grid.js +46 -1
- package/dist/hero-therapy-testimonial-grid.cjs +46 -1
- package/dist/hero-therapy-testimonial-grid.d.cts +16 -1
- package/dist/hero-therapy-testimonial-grid.d.ts +16 -1
- package/dist/hero-therapy-testimonial-grid.js +46 -1
- package/dist/hero-ui-library-showcase.cjs +3 -2
- package/dist/hero-ui-library-showcase.d.cts +13 -5
- package/dist/hero-ui-library-showcase.d.ts +13 -5
- package/dist/hero-ui-library-showcase.js +3 -2
- package/dist/hero-video-background-dark.cjs +47 -1
- package/dist/hero-video-background-dark.d.cts +16 -1
- package/dist/hero-video-background-dark.d.ts +16 -1
- package/dist/hero-video-background-dark.js +47 -1
- package/dist/{hero-video-dialog-gradient-Cr96k01H.d.ts → hero-video-dialog-gradient-B6-kFIvZ.d.ts} +14 -1
- package/dist/{hero-video-dialog-gradient-Dc0wRYdW.d.cts → hero-video-dialog-gradient-DPnh6Vn-.d.cts} +14 -1
- package/dist/hero-video-dialog-gradient.cjs +46 -1
- package/dist/hero-video-dialog-gradient.d.cts +4 -1
- package/dist/hero-video-dialog-gradient.d.ts +4 -1
- package/dist/hero-video-dialog-gradient.js +46 -1
- package/dist/hero-welcome-asymmetric-images.cjs +46 -1
- package/dist/hero-welcome-asymmetric-images.d.cts +16 -1
- package/dist/hero-welcome-asymmetric-images.d.ts +16 -1
- package/dist/hero-welcome-asymmetric-images.js +46 -1
- package/dist/link-page-bento-layout.cjs +59 -3
- package/dist/link-page-bento-layout.d.cts +16 -1
- package/dist/link-page-bento-layout.d.ts +16 -1
- package/dist/link-page-bento-layout.js +59 -3
- package/dist/link-page-grid-cards.cjs +59 -3
- package/dist/link-page-grid-cards.d.cts +16 -1
- package/dist/link-page-grid-cards.d.ts +16 -1
- package/dist/link-page-grid-cards.js +59 -3
- package/dist/link-page-minimal-profile.cjs +59 -3
- package/dist/link-page-minimal-profile.d.cts +16 -1
- package/dist/link-page-minimal-profile.d.ts +16 -1
- package/dist/link-page-minimal-profile.js +59 -3
- package/dist/link-page-newsletter-social.cjs +59 -3
- package/dist/link-page-newsletter-social.d.cts +16 -1
- package/dist/link-page-newsletter-social.d.ts +16 -1
- package/dist/link-page-newsletter-social.js +59 -3
- package/dist/link-tree-block.cjs +58 -2
- package/dist/link-tree-block.d.cts +16 -1
- package/dist/link-tree-block.d.ts +16 -1
- package/dist/link-tree-block.js +58 -2
- package/dist/registry.cjs +704 -182
- package/dist/registry.js +704 -182
- package/dist/social-link-icon.d.cts +1 -1
- package/dist/social-link-icon.d.ts +1 -1
- package/package.json +1 -1
|
@@ -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, M as MediaItem, 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';
|
|
@@ -104,7 +107,19 @@ interface HeroSoftwareGrowthVideoDialogProps {
|
|
|
104
107
|
* Video aspect ratio
|
|
105
108
|
*/
|
|
106
109
|
videoAspectRatio?: "horizontal" | "vertical";
|
|
110
|
+
/**
|
|
111
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
112
|
+
*/
|
|
113
|
+
logo?: LogoConfig;
|
|
114
|
+
/**
|
|
115
|
+
* Custom slot for logo (overrides logo prop)
|
|
116
|
+
*/
|
|
117
|
+
logoSlot?: React.ReactNode;
|
|
118
|
+
/**
|
|
119
|
+
* Additional CSS classes for the logo container
|
|
120
|
+
*/
|
|
121
|
+
logoClassName?: string;
|
|
107
122
|
}
|
|
108
|
-
declare function HeroSoftwareGrowthVideoDialog({ videoAspectRatio, heading, description, videoAction, actions, showcaseImages, showcaseImagesSlot, modalVideo, videoDialogTitle, videoDialog, onVideoClick, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, showcaseClassName, optixFlowConfig, }: HeroSoftwareGrowthVideoDialogProps): React.JSX.Element;
|
|
123
|
+
declare function HeroSoftwareGrowthVideoDialog({ videoAspectRatio, heading, description, videoAction, actions, showcaseImages, showcaseImagesSlot, modalVideo, videoDialogTitle, videoDialog, onVideoClick, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, showcaseClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroSoftwareGrowthVideoDialogProps): React.JSX.Element;
|
|
109
124
|
|
|
110
125
|
export { HeroSoftwareGrowthVideoDialog, type HeroSoftwareGrowthVideoDialogProps };
|
|
@@ -535,6 +535,47 @@ function ActionComponent({ action }) {
|
|
|
535
535
|
}
|
|
536
536
|
);
|
|
537
537
|
}
|
|
538
|
+
var SIZE_CLASSES = {
|
|
539
|
+
sm: "max-h-6 sm:max-h-7",
|
|
540
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
541
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
542
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
543
|
+
};
|
|
544
|
+
var BrandLogo = ({
|
|
545
|
+
logo,
|
|
546
|
+
logoSlot,
|
|
547
|
+
logoClassName,
|
|
548
|
+
size = "md",
|
|
549
|
+
optixFlowConfig
|
|
550
|
+
}) => {
|
|
551
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
552
|
+
if (!logo || !logo.src) return null;
|
|
553
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
554
|
+
Img,
|
|
555
|
+
{
|
|
556
|
+
src: logo.src,
|
|
557
|
+
className: cn(
|
|
558
|
+
"w-auto object-contain",
|
|
559
|
+
SIZE_CLASSES[size],
|
|
560
|
+
logo.className
|
|
561
|
+
),
|
|
562
|
+
alt: logo.alt || "Logo",
|
|
563
|
+
optixFlowConfig,
|
|
564
|
+
loading: "eager"
|
|
565
|
+
}
|
|
566
|
+
);
|
|
567
|
+
if (logo.url) {
|
|
568
|
+
return /* @__PURE__ */ jsx(
|
|
569
|
+
Pressable,
|
|
570
|
+
{
|
|
571
|
+
href: logo.url,
|
|
572
|
+
className: cn("flex items-center", logoClassName),
|
|
573
|
+
children: imgElement
|
|
574
|
+
}
|
|
575
|
+
);
|
|
576
|
+
}
|
|
577
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
578
|
+
};
|
|
538
579
|
function HeroSoftwareGrowthVideoDialog({
|
|
539
580
|
videoAspectRatio = "horizontal",
|
|
540
581
|
heading,
|
|
@@ -556,7 +597,10 @@ function HeroSoftwareGrowthVideoDialog({
|
|
|
556
597
|
headingClassName,
|
|
557
598
|
descriptionClassName,
|
|
558
599
|
showcaseClassName,
|
|
559
|
-
optixFlowConfig
|
|
600
|
+
optixFlowConfig,
|
|
601
|
+
logo,
|
|
602
|
+
logoSlot,
|
|
603
|
+
logoClassName
|
|
560
604
|
}) {
|
|
561
605
|
const [isVideoOpen, setIsVideoOpen] = useState(false);
|
|
562
606
|
const [skinClasses, setSkinClasses] = useState(null);
|
|
@@ -641,6 +685,7 @@ function HeroSoftwareGrowthVideoDialog({
|
|
|
641
685
|
containerClassName,
|
|
642
686
|
children: /* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-10 md:gap-6", children: [
|
|
643
687
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-8 pt-6 md:pt-0", children: [
|
|
688
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
644
689
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
645
690
|
"h1",
|
|
646
691
|
{
|
|
@@ -504,6 +504,47 @@ function ActionComponent({ action }) {
|
|
|
504
504
|
}
|
|
505
505
|
);
|
|
506
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
|
+
};
|
|
507
548
|
function HeroSpiralPatternCards({
|
|
508
549
|
sectionId = "hero-spiral-pattern-cards",
|
|
509
550
|
badgeText,
|
|
@@ -523,7 +564,10 @@ function HeroSpiralPatternCards({
|
|
|
523
564
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
524
565
|
headingClassName,
|
|
525
566
|
descriptionClassName,
|
|
526
|
-
imagesClassName
|
|
567
|
+
imagesClassName,
|
|
568
|
+
logo,
|
|
569
|
+
logoSlot,
|
|
570
|
+
logoClassName
|
|
527
571
|
}) {
|
|
528
572
|
const renderImages = React.useMemo(() => {
|
|
529
573
|
if (imagesSlot) return imagesSlot;
|
|
@@ -589,6 +633,7 @@ function HeroSpiralPatternCards({
|
|
|
589
633
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
590
634
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center text-center", children: [
|
|
591
635
|
badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Badge, { children: badgeText }) : badgeText),
|
|
636
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
592
637
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
593
638
|
"h1",
|
|
594
639
|
{
|
|
@@ -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 HeroSpiralPatternCardsProps {
|
|
|
79
82
|
* Additional CSS classes for the images container
|
|
80
83
|
*/
|
|
81
84
|
imagesClassName?: string;
|
|
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 HeroSpiralPatternCards({ sectionId, badgeText, heading, description, actions, actionsSlot, actionsClassName, images, imagesSlot, optixFlowConfig, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, imagesClassName, }: HeroSpiralPatternCardsProps): React.JSX.Element;
|
|
100
|
+
declare function HeroSpiralPatternCards({ sectionId, badgeText, heading, description, actions, actionsSlot, actionsClassName, images, imagesSlot, optixFlowConfig, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, imagesClassName, logo, logoSlot, logoClassName, }: HeroSpiralPatternCardsProps): React.JSX.Element;
|
|
86
101
|
|
|
87
102
|
export { HeroSpiralPatternCards, type HeroSpiralPatternCardsProps };
|
|
@@ -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 HeroSpiralPatternCardsProps {
|
|
|
79
82
|
* Additional CSS classes for the images container
|
|
80
83
|
*/
|
|
81
84
|
imagesClassName?: string;
|
|
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 HeroSpiralPatternCards({ sectionId, badgeText, heading, description, actions, actionsSlot, actionsClassName, images, imagesSlot, optixFlowConfig, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, imagesClassName, }: HeroSpiralPatternCardsProps): React.JSX.Element;
|
|
100
|
+
declare function HeroSpiralPatternCards({ sectionId, badgeText, heading, description, actions, actionsSlot, actionsClassName, images, imagesSlot, optixFlowConfig, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, imagesClassName, logo, logoSlot, logoClassName, }: HeroSpiralPatternCardsProps): React.JSX.Element;
|
|
86
101
|
|
|
87
102
|
export { HeroSpiralPatternCards, type HeroSpiralPatternCardsProps };
|
|
@@ -498,6 +498,47 @@ function ActionComponent({ action }) {
|
|
|
498
498
|
}
|
|
499
499
|
);
|
|
500
500
|
}
|
|
501
|
+
var SIZE_CLASSES = {
|
|
502
|
+
sm: "max-h-6 sm:max-h-7",
|
|
503
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
504
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
505
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
506
|
+
};
|
|
507
|
+
var BrandLogo = ({
|
|
508
|
+
logo,
|
|
509
|
+
logoSlot,
|
|
510
|
+
logoClassName,
|
|
511
|
+
size = "md",
|
|
512
|
+
optixFlowConfig
|
|
513
|
+
}) => {
|
|
514
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
515
|
+
if (!logo || !logo.src) return null;
|
|
516
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
517
|
+
Img,
|
|
518
|
+
{
|
|
519
|
+
src: logo.src,
|
|
520
|
+
className: cn(
|
|
521
|
+
"w-auto object-contain",
|
|
522
|
+
SIZE_CLASSES[size],
|
|
523
|
+
logo.className
|
|
524
|
+
),
|
|
525
|
+
alt: logo.alt || "Logo",
|
|
526
|
+
optixFlowConfig,
|
|
527
|
+
loading: "eager"
|
|
528
|
+
}
|
|
529
|
+
);
|
|
530
|
+
if (logo.url) {
|
|
531
|
+
return /* @__PURE__ */ jsx(
|
|
532
|
+
Pressable,
|
|
533
|
+
{
|
|
534
|
+
href: logo.url,
|
|
535
|
+
className: cn("flex items-center", logoClassName),
|
|
536
|
+
children: imgElement
|
|
537
|
+
}
|
|
538
|
+
);
|
|
539
|
+
}
|
|
540
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
541
|
+
};
|
|
501
542
|
function HeroSpiralPatternCards({
|
|
502
543
|
sectionId = "hero-spiral-pattern-cards",
|
|
503
544
|
badgeText,
|
|
@@ -517,7 +558,10 @@ function HeroSpiralPatternCards({
|
|
|
517
558
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
518
559
|
headingClassName,
|
|
519
560
|
descriptionClassName,
|
|
520
|
-
imagesClassName
|
|
561
|
+
imagesClassName,
|
|
562
|
+
logo,
|
|
563
|
+
logoSlot,
|
|
564
|
+
logoClassName
|
|
521
565
|
}) {
|
|
522
566
|
const renderImages = useMemo(() => {
|
|
523
567
|
if (imagesSlot) return imagesSlot;
|
|
@@ -583,6 +627,7 @@ function HeroSpiralPatternCards({
|
|
|
583
627
|
children: /* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
584
628
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center text-center", children: [
|
|
585
629
|
badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsx(Badge, { children: badgeText }) : badgeText),
|
|
630
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
586
631
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
587
632
|
"h1",
|
|
588
633
|
{
|
|
@@ -471,6 +471,47 @@ function ActionComponent({ action }) {
|
|
|
471
471
|
}
|
|
472
472
|
);
|
|
473
473
|
}
|
|
474
|
+
var SIZE_CLASSES = {
|
|
475
|
+
sm: "max-h-6 sm:max-h-7",
|
|
476
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
477
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
478
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
479
|
+
};
|
|
480
|
+
var BrandLogo = ({
|
|
481
|
+
logo,
|
|
482
|
+
logoSlot,
|
|
483
|
+
logoClassName,
|
|
484
|
+
size = "md",
|
|
485
|
+
optixFlowConfig
|
|
486
|
+
}) => {
|
|
487
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
488
|
+
if (!logo || !logo.src) return null;
|
|
489
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
490
|
+
img.Img,
|
|
491
|
+
{
|
|
492
|
+
src: logo.src,
|
|
493
|
+
className: cn(
|
|
494
|
+
"w-auto object-contain",
|
|
495
|
+
SIZE_CLASSES[size],
|
|
496
|
+
logo.className
|
|
497
|
+
),
|
|
498
|
+
alt: logo.alt || "Logo",
|
|
499
|
+
optixFlowConfig,
|
|
500
|
+
loading: "eager"
|
|
501
|
+
}
|
|
502
|
+
);
|
|
503
|
+
if (logo.url) {
|
|
504
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
505
|
+
pressable.Pressable,
|
|
506
|
+
{
|
|
507
|
+
href: logo.url,
|
|
508
|
+
className: cn("flex items-center", logoClassName),
|
|
509
|
+
children: imgElement
|
|
510
|
+
}
|
|
511
|
+
);
|
|
512
|
+
}
|
|
513
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
514
|
+
};
|
|
474
515
|
function HeroSplitGeometricShapes({
|
|
475
516
|
sectionId = "hero-split-geometric-shapes",
|
|
476
517
|
badgeText,
|
|
@@ -492,7 +533,10 @@ function HeroSplitGeometricShapes({
|
|
|
492
533
|
descriptionClassName,
|
|
493
534
|
imagesClassName,
|
|
494
535
|
imageClassName,
|
|
495
|
-
optixFlowConfig
|
|
536
|
+
optixFlowConfig,
|
|
537
|
+
logo,
|
|
538
|
+
logoSlot,
|
|
539
|
+
logoClassName
|
|
496
540
|
}) {
|
|
497
541
|
const [lightboxOpen, setLightboxOpen] = React.useState(false);
|
|
498
542
|
const [lightboxIndex, setLightboxIndex] = React.useState(0);
|
|
@@ -611,6 +655,7 @@ function HeroSplitGeometricShapes({
|
|
|
611
655
|
),
|
|
612
656
|
children: [
|
|
613
657
|
badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { children: badgeText }) : badgeText),
|
|
658
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
614
659
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
615
660
|
"h1",
|
|
616
661
|
{
|
|
@@ -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, 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';
|
|
@@ -103,9 +106,21 @@ interface HeroSplitGeometricShapesProps {
|
|
|
103
106
|
* Additional CSS classes for the actions container
|
|
104
107
|
*/
|
|
105
108
|
actionsClassName?: string;
|
|
109
|
+
/**
|
|
110
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
111
|
+
*/
|
|
112
|
+
logo?: LogoConfig;
|
|
113
|
+
/**
|
|
114
|
+
* Custom slot for logo (overrides logo prop)
|
|
115
|
+
*/
|
|
116
|
+
logoSlot?: React.ReactNode;
|
|
117
|
+
/**
|
|
118
|
+
* Additional CSS classes for the logo container
|
|
119
|
+
*/
|
|
120
|
+
logoClassName?: string;
|
|
106
121
|
/** Optional Section ID */
|
|
107
122
|
sectionId?: string;
|
|
108
123
|
}
|
|
109
|
-
declare function HeroSplitGeometricShapes({ sectionId, badgeText, heading, description, actions, actionsSlot, images, imagesSlot, background, containerClassName, spacing, pattern, actionsClassName, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imagesClassName, imageClassName, optixFlowConfig, }: HeroSplitGeometricShapesProps): React.JSX.Element;
|
|
124
|
+
declare function HeroSplitGeometricShapes({ sectionId, badgeText, heading, description, actions, actionsSlot, images, imagesSlot, background, containerClassName, spacing, pattern, actionsClassName, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imagesClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroSplitGeometricShapesProps): React.JSX.Element;
|
|
110
125
|
|
|
111
126
|
export { HeroSplitGeometricShapes, type HeroSplitGeometricShapesImage, type HeroSplitGeometricShapesProps };
|
|
@@ -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, 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';
|
|
@@ -103,9 +106,21 @@ interface HeroSplitGeometricShapesProps {
|
|
|
103
106
|
* Additional CSS classes for the actions container
|
|
104
107
|
*/
|
|
105
108
|
actionsClassName?: string;
|
|
109
|
+
/**
|
|
110
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
111
|
+
*/
|
|
112
|
+
logo?: LogoConfig;
|
|
113
|
+
/**
|
|
114
|
+
* Custom slot for logo (overrides logo prop)
|
|
115
|
+
*/
|
|
116
|
+
logoSlot?: React.ReactNode;
|
|
117
|
+
/**
|
|
118
|
+
* Additional CSS classes for the logo container
|
|
119
|
+
*/
|
|
120
|
+
logoClassName?: string;
|
|
106
121
|
/** Optional Section ID */
|
|
107
122
|
sectionId?: string;
|
|
108
123
|
}
|
|
109
|
-
declare function HeroSplitGeometricShapes({ sectionId, badgeText, heading, description, actions, actionsSlot, images, imagesSlot, background, containerClassName, spacing, pattern, actionsClassName, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imagesClassName, imageClassName, optixFlowConfig, }: HeroSplitGeometricShapesProps): React.JSX.Element;
|
|
124
|
+
declare function HeroSplitGeometricShapes({ sectionId, badgeText, heading, description, actions, actionsSlot, images, imagesSlot, background, containerClassName, spacing, pattern, actionsClassName, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imagesClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroSplitGeometricShapesProps): React.JSX.Element;
|
|
110
125
|
|
|
111
126
|
export { HeroSplitGeometricShapes, type HeroSplitGeometricShapesImage, type HeroSplitGeometricShapesProps };
|
|
@@ -465,6 +465,47 @@ function ActionComponent({ action }) {
|
|
|
465
465
|
}
|
|
466
466
|
);
|
|
467
467
|
}
|
|
468
|
+
var SIZE_CLASSES = {
|
|
469
|
+
sm: "max-h-6 sm:max-h-7",
|
|
470
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
471
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
472
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
473
|
+
};
|
|
474
|
+
var BrandLogo = ({
|
|
475
|
+
logo,
|
|
476
|
+
logoSlot,
|
|
477
|
+
logoClassName,
|
|
478
|
+
size = "md",
|
|
479
|
+
optixFlowConfig
|
|
480
|
+
}) => {
|
|
481
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
482
|
+
if (!logo || !logo.src) return null;
|
|
483
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
484
|
+
Img,
|
|
485
|
+
{
|
|
486
|
+
src: logo.src,
|
|
487
|
+
className: cn(
|
|
488
|
+
"w-auto object-contain",
|
|
489
|
+
SIZE_CLASSES[size],
|
|
490
|
+
logo.className
|
|
491
|
+
),
|
|
492
|
+
alt: logo.alt || "Logo",
|
|
493
|
+
optixFlowConfig,
|
|
494
|
+
loading: "eager"
|
|
495
|
+
}
|
|
496
|
+
);
|
|
497
|
+
if (logo.url) {
|
|
498
|
+
return /* @__PURE__ */ jsx(
|
|
499
|
+
Pressable,
|
|
500
|
+
{
|
|
501
|
+
href: logo.url,
|
|
502
|
+
className: cn("flex items-center", logoClassName),
|
|
503
|
+
children: imgElement
|
|
504
|
+
}
|
|
505
|
+
);
|
|
506
|
+
}
|
|
507
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
508
|
+
};
|
|
468
509
|
function HeroSplitGeometricShapes({
|
|
469
510
|
sectionId = "hero-split-geometric-shapes",
|
|
470
511
|
badgeText,
|
|
@@ -486,7 +527,10 @@ function HeroSplitGeometricShapes({
|
|
|
486
527
|
descriptionClassName,
|
|
487
528
|
imagesClassName,
|
|
488
529
|
imageClassName,
|
|
489
|
-
optixFlowConfig
|
|
530
|
+
optixFlowConfig,
|
|
531
|
+
logo,
|
|
532
|
+
logoSlot,
|
|
533
|
+
logoClassName
|
|
490
534
|
}) {
|
|
491
535
|
const [lightboxOpen, setLightboxOpen] = useState(false);
|
|
492
536
|
const [lightboxIndex, setLightboxIndex] = useState(0);
|
|
@@ -605,6 +649,7 @@ function HeroSplitGeometricShapes({
|
|
|
605
649
|
),
|
|
606
650
|
children: [
|
|
607
651
|
badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsx("p", { children: badgeText }) : badgeText),
|
|
652
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
608
653
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
609
654
|
"h1",
|
|
610
655
|
{
|
|
@@ -7,6 +7,7 @@ var tailwindMerge = require('tailwind-merge');
|
|
|
7
7
|
var icon = require('@page-speed/icon');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
9
|
var pressable = require('@page-speed/pressable');
|
|
10
|
+
var img = require('@page-speed/img');
|
|
10
11
|
|
|
11
12
|
function _interopNamespace(e) {
|
|
12
13
|
if (e && e.__esModule) return e;
|
|
@@ -464,6 +465,47 @@ var Section = React__namespace.default.forwardRef(
|
|
|
464
465
|
}
|
|
465
466
|
);
|
|
466
467
|
Section.displayName = "Section";
|
|
468
|
+
var SIZE_CLASSES = {
|
|
469
|
+
sm: "max-h-6 sm:max-h-7",
|
|
470
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
471
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
472
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
473
|
+
};
|
|
474
|
+
var BrandLogo = ({
|
|
475
|
+
logo,
|
|
476
|
+
logoSlot,
|
|
477
|
+
logoClassName,
|
|
478
|
+
size = "md",
|
|
479
|
+
optixFlowConfig
|
|
480
|
+
}) => {
|
|
481
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
482
|
+
if (!logo || !logo.src) return null;
|
|
483
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
484
|
+
img.Img,
|
|
485
|
+
{
|
|
486
|
+
src: logo.src,
|
|
487
|
+
className: cn(
|
|
488
|
+
"w-auto object-contain",
|
|
489
|
+
SIZE_CLASSES[size],
|
|
490
|
+
logo.className
|
|
491
|
+
),
|
|
492
|
+
alt: logo.alt || "Logo",
|
|
493
|
+
optixFlowConfig,
|
|
494
|
+
loading: "eager"
|
|
495
|
+
}
|
|
496
|
+
);
|
|
497
|
+
if (logo.url) {
|
|
498
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
499
|
+
pressable.Pressable,
|
|
500
|
+
{
|
|
501
|
+
href: logo.url,
|
|
502
|
+
className: cn("flex items-center", logoClassName),
|
|
503
|
+
children: imgElement
|
|
504
|
+
}
|
|
505
|
+
);
|
|
506
|
+
}
|
|
507
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
508
|
+
};
|
|
467
509
|
function HeroSplitIconCards({
|
|
468
510
|
sectionId = "hero-split-icon-cards",
|
|
469
511
|
eyebrow,
|
|
@@ -484,7 +526,10 @@ function HeroSplitIconCards({
|
|
|
484
526
|
descriptionClassName,
|
|
485
527
|
verticalSpacing,
|
|
486
528
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
487
|
-
spacing = "pt-32 pb-8 md:pt-32 md:pb-32"
|
|
529
|
+
spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
|
|
530
|
+
logo,
|
|
531
|
+
logoSlot,
|
|
532
|
+
logoClassName
|
|
488
533
|
}) {
|
|
489
534
|
const renderActions = React.useMemo(() => {
|
|
490
535
|
if (actionsSlot) return actionsSlot;
|
|
@@ -549,6 +594,7 @@ function HeroSplitIconCards({
|
|
|
549
594
|
children: eyebrow
|
|
550
595
|
}
|
|
551
596
|
) : eyebrow),
|
|
597
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
552
598
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
553
599
|
"h2",
|
|
554
600
|
{
|
|
@@ -1,10 +1,13 @@
|
|
|
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 './blocks-DyouPohq.cjs';
|
|
4
5
|
import 'class-variance-authority';
|
|
5
6
|
import '@page-speed/pressable';
|
|
6
7
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
7
8
|
import 'react/jsx-runtime';
|
|
9
|
+
import './dynamic-icon.cjs';
|
|
10
|
+
import '@page-speed/icon';
|
|
8
11
|
|
|
9
12
|
interface HeroSplitIconCardsItem {
|
|
10
13
|
/**
|
|
@@ -105,6 +108,18 @@ interface HeroSplitIconCardsProps {
|
|
|
105
108
|
containerClassName?: string;
|
|
106
109
|
/** Section spacing variant */
|
|
107
110
|
spacing?: SectionSpacing;
|
|
111
|
+
/**
|
|
112
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
113
|
+
*/
|
|
114
|
+
logo?: LogoConfig;
|
|
115
|
+
/**
|
|
116
|
+
* Custom slot for logo (overrides logo prop)
|
|
117
|
+
*/
|
|
118
|
+
logoSlot?: React.ReactNode;
|
|
119
|
+
/**
|
|
120
|
+
* Additional CSS classes for the logo container
|
|
121
|
+
*/
|
|
122
|
+
logoClassName?: string;
|
|
108
123
|
/** Optional Section ID */
|
|
109
124
|
sectionId?: string;
|
|
110
125
|
}
|
|
@@ -113,6 +128,6 @@ interface HeroSplitIconCardsProps {
|
|
|
113
128
|
* a stacked list of icon cards on the right. Ideal for service pages that need
|
|
114
129
|
* an explanatory hero plus quick benefit callouts.
|
|
115
130
|
*/
|
|
116
|
-
declare function HeroSplitIconCards({ sectionId, eyebrow, heading, description, primaryCta, secondaryCta, actionsSlot, children, cardItems, cardsSlot, background, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, verticalSpacing, containerClassName, spacing, }: HeroSplitIconCardsProps): React.JSX.Element;
|
|
131
|
+
declare function HeroSplitIconCards({ sectionId, eyebrow, heading, description, primaryCta, secondaryCta, actionsSlot, children, cardItems, cardsSlot, background, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, verticalSpacing, containerClassName, spacing, logo, logoSlot, logoClassName, }: HeroSplitIconCardsProps): React.JSX.Element;
|
|
117
132
|
|
|
118
133
|
export { HeroSplitIconCards, type HeroSplitIconCardsProps };
|
|
@@ -1,10 +1,13 @@
|
|
|
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 './blocks-DyouPohq.js';
|
|
4
5
|
import 'class-variance-authority';
|
|
5
6
|
import '@page-speed/pressable';
|
|
6
7
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
7
8
|
import 'react/jsx-runtime';
|
|
9
|
+
import './dynamic-icon.js';
|
|
10
|
+
import '@page-speed/icon';
|
|
8
11
|
|
|
9
12
|
interface HeroSplitIconCardsItem {
|
|
10
13
|
/**
|
|
@@ -105,6 +108,18 @@ interface HeroSplitIconCardsProps {
|
|
|
105
108
|
containerClassName?: string;
|
|
106
109
|
/** Section spacing variant */
|
|
107
110
|
spacing?: SectionSpacing;
|
|
111
|
+
/**
|
|
112
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
113
|
+
*/
|
|
114
|
+
logo?: LogoConfig;
|
|
115
|
+
/**
|
|
116
|
+
* Custom slot for logo (overrides logo prop)
|
|
117
|
+
*/
|
|
118
|
+
logoSlot?: React.ReactNode;
|
|
119
|
+
/**
|
|
120
|
+
* Additional CSS classes for the logo container
|
|
121
|
+
*/
|
|
122
|
+
logoClassName?: string;
|
|
108
123
|
/** Optional Section ID */
|
|
109
124
|
sectionId?: string;
|
|
110
125
|
}
|
|
@@ -113,6 +128,6 @@ interface HeroSplitIconCardsProps {
|
|
|
113
128
|
* a stacked list of icon cards on the right. Ideal for service pages that need
|
|
114
129
|
* an explanatory hero plus quick benefit callouts.
|
|
115
130
|
*/
|
|
116
|
-
declare function HeroSplitIconCards({ sectionId, eyebrow, heading, description, primaryCta, secondaryCta, actionsSlot, children, cardItems, cardsSlot, background, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, verticalSpacing, containerClassName, spacing, }: HeroSplitIconCardsProps): React.JSX.Element;
|
|
131
|
+
declare function HeroSplitIconCards({ sectionId, eyebrow, heading, description, primaryCta, secondaryCta, actionsSlot, children, cardItems, cardsSlot, background, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, verticalSpacing, containerClassName, spacing, logo, logoSlot, logoClassName, }: HeroSplitIconCardsProps): React.JSX.Element;
|
|
117
132
|
|
|
118
133
|
export { HeroSplitIconCards, type HeroSplitIconCardsProps };
|