@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
|
@@ -698,6 +698,47 @@ function ActionComponent({ action }) {
|
|
|
698
698
|
}
|
|
699
699
|
);
|
|
700
700
|
}
|
|
701
|
+
var SIZE_CLASSES = {
|
|
702
|
+
sm: "max-h-6 sm:max-h-7",
|
|
703
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
704
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
705
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
706
|
+
};
|
|
707
|
+
var BrandLogo = ({
|
|
708
|
+
logo,
|
|
709
|
+
logoSlot,
|
|
710
|
+
logoClassName,
|
|
711
|
+
size = "md",
|
|
712
|
+
optixFlowConfig
|
|
713
|
+
}) => {
|
|
714
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
715
|
+
if (!logo || !logo.src) return null;
|
|
716
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
717
|
+
img.Img,
|
|
718
|
+
{
|
|
719
|
+
src: logo.src,
|
|
720
|
+
className: cn(
|
|
721
|
+
"w-auto object-contain",
|
|
722
|
+
SIZE_CLASSES[size],
|
|
723
|
+
logo.className
|
|
724
|
+
),
|
|
725
|
+
alt: logo.alt || "Logo",
|
|
726
|
+
optixFlowConfig,
|
|
727
|
+
loading: "eager"
|
|
728
|
+
}
|
|
729
|
+
);
|
|
730
|
+
if (logo.url) {
|
|
731
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
732
|
+
pressable.Pressable,
|
|
733
|
+
{
|
|
734
|
+
href: logo.url,
|
|
735
|
+
className: cn("flex items-center", logoClassName),
|
|
736
|
+
children: imgElement
|
|
737
|
+
}
|
|
738
|
+
);
|
|
739
|
+
}
|
|
740
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
741
|
+
};
|
|
701
742
|
function HeroAdCampaignExpert({
|
|
702
743
|
sectionId = "hero-ad-campaign-expert",
|
|
703
744
|
heading,
|
|
@@ -717,7 +758,10 @@ function HeroAdCampaignExpert({
|
|
|
717
758
|
contentClassName,
|
|
718
759
|
headingClassName,
|
|
719
760
|
descriptionClassName,
|
|
720
|
-
optixFlowConfig
|
|
761
|
+
optixFlowConfig,
|
|
762
|
+
logo,
|
|
763
|
+
logoSlot,
|
|
764
|
+
logoClassName
|
|
721
765
|
}) {
|
|
722
766
|
const { responsiveClassName } = useResponsiveLayout({ directionConfig });
|
|
723
767
|
const renderActions = React4.useMemo(() => {
|
|
@@ -794,6 +838,7 @@ function HeroAdCampaignExpert({
|
|
|
794
838
|
responsiveClassName
|
|
795
839
|
),
|
|
796
840
|
children: [
|
|
841
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
797
842
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
798
843
|
ContentGroup,
|
|
799
844
|
{
|
|
@@ -1,11 +1,14 @@
|
|
|
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
3
|
import { ResponsiveMediaAspectRatioProps } from './media-aspect-ratio.cjs';
|
|
4
|
+
import { L as LogoConfig } from './types-mWZcgKth.cjs';
|
|
4
5
|
import { A as ActionConfig, M as MediaItem, O as OptixFlowConfig, h as DirectionConfig } from './blocks-DyouPohq.cjs';
|
|
5
6
|
import 'react/jsx-runtime';
|
|
6
7
|
import 'class-variance-authority';
|
|
7
8
|
import '@page-speed/pressable';
|
|
8
9
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
10
|
+
import './dynamic-icon.cjs';
|
|
11
|
+
import '@page-speed/icon';
|
|
9
12
|
|
|
10
13
|
interface HeroAdCampaignExpertProps {
|
|
11
14
|
/**
|
|
@@ -83,9 +86,21 @@ interface HeroAdCampaignExpertProps {
|
|
|
83
86
|
* @default { desktop: 'mediaRight', mobile: 'mediaTop' }
|
|
84
87
|
*/
|
|
85
88
|
directionConfig?: DirectionConfig;
|
|
89
|
+
/**
|
|
90
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
91
|
+
*/
|
|
92
|
+
logo?: LogoConfig;
|
|
93
|
+
/**
|
|
94
|
+
* Custom slot for logo (overrides logo prop)
|
|
95
|
+
*/
|
|
96
|
+
logoSlot?: React.ReactNode;
|
|
97
|
+
/**
|
|
98
|
+
* Additional CSS classes for the logo container
|
|
99
|
+
*/
|
|
100
|
+
logoClassName?: string;
|
|
86
101
|
/** Optional Section ID */
|
|
87
102
|
sectionId?: string;
|
|
88
103
|
}
|
|
89
|
-
declare function HeroAdCampaignExpert({ sectionId, heading, description, actions, actionsSlot, actionsClassName, mediaItem, background, containerClassName, spacing, mediaAspectRatios, directionConfig, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, optixFlowConfig, }: HeroAdCampaignExpertProps): React.JSX.Element;
|
|
104
|
+
declare function HeroAdCampaignExpert({ sectionId, heading, description, actions, actionsSlot, actionsClassName, mediaItem, background, containerClassName, spacing, mediaAspectRatios, directionConfig, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroAdCampaignExpertProps): React.JSX.Element;
|
|
90
105
|
|
|
91
106
|
export { DirectionConfig, HeroAdCampaignExpert, type HeroAdCampaignExpertProps };
|
|
@@ -1,11 +1,14 @@
|
|
|
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
3
|
import { ResponsiveMediaAspectRatioProps } from './media-aspect-ratio.js';
|
|
4
|
+
import { L as LogoConfig } from './types-hJ2R0GoH.js';
|
|
4
5
|
import { A as ActionConfig, M as MediaItem, O as OptixFlowConfig, h as DirectionConfig } from './blocks-DyouPohq.js';
|
|
5
6
|
import 'react/jsx-runtime';
|
|
6
7
|
import 'class-variance-authority';
|
|
7
8
|
import '@page-speed/pressable';
|
|
8
9
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
10
|
+
import './dynamic-icon.js';
|
|
11
|
+
import '@page-speed/icon';
|
|
9
12
|
|
|
10
13
|
interface HeroAdCampaignExpertProps {
|
|
11
14
|
/**
|
|
@@ -83,9 +86,21 @@ interface HeroAdCampaignExpertProps {
|
|
|
83
86
|
* @default { desktop: 'mediaRight', mobile: 'mediaTop' }
|
|
84
87
|
*/
|
|
85
88
|
directionConfig?: DirectionConfig;
|
|
89
|
+
/**
|
|
90
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
91
|
+
*/
|
|
92
|
+
logo?: LogoConfig;
|
|
93
|
+
/**
|
|
94
|
+
* Custom slot for logo (overrides logo prop)
|
|
95
|
+
*/
|
|
96
|
+
logoSlot?: React.ReactNode;
|
|
97
|
+
/**
|
|
98
|
+
* Additional CSS classes for the logo container
|
|
99
|
+
*/
|
|
100
|
+
logoClassName?: string;
|
|
86
101
|
/** Optional Section ID */
|
|
87
102
|
sectionId?: string;
|
|
88
103
|
}
|
|
89
|
-
declare function HeroAdCampaignExpert({ sectionId, heading, description, actions, actionsSlot, actionsClassName, mediaItem, background, containerClassName, spacing, mediaAspectRatios, directionConfig, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, optixFlowConfig, }: HeroAdCampaignExpertProps): React.JSX.Element;
|
|
104
|
+
declare function HeroAdCampaignExpert({ sectionId, heading, description, actions, actionsSlot, actionsClassName, mediaItem, background, containerClassName, spacing, mediaAspectRatios, directionConfig, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroAdCampaignExpertProps): React.JSX.Element;
|
|
90
105
|
|
|
91
106
|
export { DirectionConfig, HeroAdCampaignExpert, type HeroAdCampaignExpertProps };
|
|
@@ -676,6 +676,47 @@ function ActionComponent({ action }) {
|
|
|
676
676
|
}
|
|
677
677
|
);
|
|
678
678
|
}
|
|
679
|
+
var SIZE_CLASSES = {
|
|
680
|
+
sm: "max-h-6 sm:max-h-7",
|
|
681
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
682
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
683
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
684
|
+
};
|
|
685
|
+
var BrandLogo = ({
|
|
686
|
+
logo,
|
|
687
|
+
logoSlot,
|
|
688
|
+
logoClassName,
|
|
689
|
+
size = "md",
|
|
690
|
+
optixFlowConfig
|
|
691
|
+
}) => {
|
|
692
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
693
|
+
if (!logo || !logo.src) return null;
|
|
694
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
695
|
+
Img,
|
|
696
|
+
{
|
|
697
|
+
src: logo.src,
|
|
698
|
+
className: cn(
|
|
699
|
+
"w-auto object-contain",
|
|
700
|
+
SIZE_CLASSES[size],
|
|
701
|
+
logo.className
|
|
702
|
+
),
|
|
703
|
+
alt: logo.alt || "Logo",
|
|
704
|
+
optixFlowConfig,
|
|
705
|
+
loading: "eager"
|
|
706
|
+
}
|
|
707
|
+
);
|
|
708
|
+
if (logo.url) {
|
|
709
|
+
return /* @__PURE__ */ jsx(
|
|
710
|
+
Pressable,
|
|
711
|
+
{
|
|
712
|
+
href: logo.url,
|
|
713
|
+
className: cn("flex items-center", logoClassName),
|
|
714
|
+
children: imgElement
|
|
715
|
+
}
|
|
716
|
+
);
|
|
717
|
+
}
|
|
718
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
719
|
+
};
|
|
679
720
|
function HeroAdCampaignExpert({
|
|
680
721
|
sectionId = "hero-ad-campaign-expert",
|
|
681
722
|
heading,
|
|
@@ -695,7 +736,10 @@ function HeroAdCampaignExpert({
|
|
|
695
736
|
contentClassName,
|
|
696
737
|
headingClassName,
|
|
697
738
|
descriptionClassName,
|
|
698
|
-
optixFlowConfig
|
|
739
|
+
optixFlowConfig,
|
|
740
|
+
logo,
|
|
741
|
+
logoSlot,
|
|
742
|
+
logoClassName
|
|
699
743
|
}) {
|
|
700
744
|
const { responsiveClassName } = useResponsiveLayout({ directionConfig });
|
|
701
745
|
const renderActions = useMemo(() => {
|
|
@@ -772,6 +816,7 @@ function HeroAdCampaignExpert({
|
|
|
772
816
|
responsiveClassName
|
|
773
817
|
),
|
|
774
818
|
children: [
|
|
819
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
775
820
|
/* @__PURE__ */ jsx(
|
|
776
821
|
ContentGroup,
|
|
777
822
|
{
|
|
@@ -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 HeroAdaptableProductGrid({
|
|
474
515
|
sectionId = "hero-adaptable-product-grid",
|
|
475
516
|
heading,
|
|
@@ -490,7 +531,10 @@ function HeroAdaptableProductGrid({
|
|
|
490
531
|
imageContainerClassName,
|
|
491
532
|
imageClassName,
|
|
492
533
|
actionsClassName,
|
|
493
|
-
optixFlowConfig
|
|
534
|
+
optixFlowConfig,
|
|
535
|
+
logo,
|
|
536
|
+
logoSlot,
|
|
537
|
+
logoClassName
|
|
494
538
|
}) {
|
|
495
539
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
496
540
|
Section,
|
|
@@ -503,6 +547,7 @@ function HeroAdaptableProductGrid({
|
|
|
503
547
|
className,
|
|
504
548
|
containerClassName,
|
|
505
549
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pt-8 md:pt-0", children: [
|
|
550
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
506
551
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
507
552
|
"h1",
|
|
508
553
|
{
|
|
@@ -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';
|
|
@@ -83,9 +86,21 @@ interface HeroAdaptableProductGridProps {
|
|
|
83
86
|
* OptixFlow image optimization configuration
|
|
84
87
|
*/
|
|
85
88
|
optixFlowConfig?: OptixFlowConfig;
|
|
89
|
+
/**
|
|
90
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
91
|
+
*/
|
|
92
|
+
logo?: LogoConfig;
|
|
93
|
+
/**
|
|
94
|
+
* Custom slot for logo (overrides logo prop)
|
|
95
|
+
*/
|
|
96
|
+
logoSlot?: React.ReactNode;
|
|
97
|
+
/**
|
|
98
|
+
* Additional CSS classes for the logo container
|
|
99
|
+
*/
|
|
100
|
+
logoClassName?: string;
|
|
86
101
|
/** Optional Section ID */
|
|
87
102
|
sectionId?: string;
|
|
88
103
|
}
|
|
89
|
-
declare function HeroAdaptableProductGrid({ sectionId, heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, headingClassName, descriptionClassName, contentClassName, imageContainerClassName, imageClassName, actionsClassName, optixFlowConfig, }: HeroAdaptableProductGridProps): React.JSX.Element;
|
|
104
|
+
declare function HeroAdaptableProductGrid({ sectionId, heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, headingClassName, descriptionClassName, contentClassName, imageContainerClassName, imageClassName, actionsClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroAdaptableProductGridProps): React.JSX.Element;
|
|
90
105
|
|
|
91
106
|
export { HeroAdaptableProductGrid, type HeroAdaptableProductGridProps };
|
|
@@ -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';
|
|
@@ -83,9 +86,21 @@ interface HeroAdaptableProductGridProps {
|
|
|
83
86
|
* OptixFlow image optimization configuration
|
|
84
87
|
*/
|
|
85
88
|
optixFlowConfig?: OptixFlowConfig;
|
|
89
|
+
/**
|
|
90
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
91
|
+
*/
|
|
92
|
+
logo?: LogoConfig;
|
|
93
|
+
/**
|
|
94
|
+
* Custom slot for logo (overrides logo prop)
|
|
95
|
+
*/
|
|
96
|
+
logoSlot?: React.ReactNode;
|
|
97
|
+
/**
|
|
98
|
+
* Additional CSS classes for the logo container
|
|
99
|
+
*/
|
|
100
|
+
logoClassName?: string;
|
|
86
101
|
/** Optional Section ID */
|
|
87
102
|
sectionId?: string;
|
|
88
103
|
}
|
|
89
|
-
declare function HeroAdaptableProductGrid({ sectionId, heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, headingClassName, descriptionClassName, contentClassName, imageContainerClassName, imageClassName, actionsClassName, optixFlowConfig, }: HeroAdaptableProductGridProps): React.JSX.Element;
|
|
104
|
+
declare function HeroAdaptableProductGrid({ sectionId, heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, headingClassName, descriptionClassName, contentClassName, imageContainerClassName, imageClassName, actionsClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroAdaptableProductGridProps): React.JSX.Element;
|
|
90
105
|
|
|
91
106
|
export { HeroAdaptableProductGrid, type HeroAdaptableProductGridProps };
|
|
@@ -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 HeroAdaptableProductGrid({
|
|
468
509
|
sectionId = "hero-adaptable-product-grid",
|
|
469
510
|
heading,
|
|
@@ -484,7 +525,10 @@ function HeroAdaptableProductGrid({
|
|
|
484
525
|
imageContainerClassName,
|
|
485
526
|
imageClassName,
|
|
486
527
|
actionsClassName,
|
|
487
|
-
optixFlowConfig
|
|
528
|
+
optixFlowConfig,
|
|
529
|
+
logo,
|
|
530
|
+
logoSlot,
|
|
531
|
+
logoClassName
|
|
488
532
|
}) {
|
|
489
533
|
return /* @__PURE__ */ jsx(
|
|
490
534
|
Section,
|
|
@@ -497,6 +541,7 @@ function HeroAdaptableProductGrid({
|
|
|
497
541
|
className,
|
|
498
542
|
containerClassName,
|
|
499
543
|
children: /* @__PURE__ */ jsxs("div", { className: "pt-8 md:pt-0", children: [
|
|
544
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
500
545
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
501
546
|
"h1",
|
|
502
547
|
{
|
|
@@ -496,6 +496,47 @@ function ActionComponent({ action }) {
|
|
|
496
496
|
}
|
|
497
497
|
);
|
|
498
498
|
}
|
|
499
|
+
var SIZE_CLASSES = {
|
|
500
|
+
sm: "max-h-6 sm:max-h-7",
|
|
501
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
502
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
503
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
504
|
+
};
|
|
505
|
+
var BrandLogo = ({
|
|
506
|
+
logo,
|
|
507
|
+
logoSlot,
|
|
508
|
+
logoClassName,
|
|
509
|
+
size = "md",
|
|
510
|
+
optixFlowConfig
|
|
511
|
+
}) => {
|
|
512
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
513
|
+
if (!logo || !logo.src) return null;
|
|
514
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
515
|
+
img.Img,
|
|
516
|
+
{
|
|
517
|
+
src: logo.src,
|
|
518
|
+
className: cn(
|
|
519
|
+
"w-auto object-contain",
|
|
520
|
+
SIZE_CLASSES[size],
|
|
521
|
+
logo.className
|
|
522
|
+
),
|
|
523
|
+
alt: logo.alt || "Logo",
|
|
524
|
+
optixFlowConfig,
|
|
525
|
+
loading: "eager"
|
|
526
|
+
}
|
|
527
|
+
);
|
|
528
|
+
if (logo.url) {
|
|
529
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
530
|
+
pressable.Pressable,
|
|
531
|
+
{
|
|
532
|
+
href: logo.url,
|
|
533
|
+
className: cn("flex items-center", logoClassName),
|
|
534
|
+
children: imgElement
|
|
535
|
+
}
|
|
536
|
+
);
|
|
537
|
+
}
|
|
538
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
539
|
+
};
|
|
499
540
|
var imageAnimationVariants = [
|
|
500
541
|
// Top-left: slides in from left + up
|
|
501
542
|
{
|
|
@@ -544,7 +585,10 @@ function HeroAgencyAnimatedImages({
|
|
|
544
585
|
contentClassName,
|
|
545
586
|
headingClassName,
|
|
546
587
|
imagesContainerClassName,
|
|
547
|
-
optixFlowConfig
|
|
588
|
+
optixFlowConfig,
|
|
589
|
+
logo,
|
|
590
|
+
logoSlot,
|
|
591
|
+
logoClassName
|
|
548
592
|
}) {
|
|
549
593
|
const renderImages = React.useMemo(() => {
|
|
550
594
|
if (imagesSlot) return imagesSlot;
|
|
@@ -634,6 +678,7 @@ function HeroAgencyAnimatedImages({
|
|
|
634
678
|
contentClassName
|
|
635
679
|
),
|
|
636
680
|
children: [
|
|
681
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
637
682
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
638
683
|
"h1",
|
|
639
684
|
{
|
|
@@ -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 HeroAgencyAnimatedImagesProps {
|
|
|
79
82
|
* OptixFlow image optimization configuration
|
|
80
83
|
*/
|
|
81
84
|
optixFlowConfig?: OptixFlowConfig;
|
|
85
|
+
/**
|
|
86
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
87
|
+
*/
|
|
88
|
+
logo?: LogoConfig;
|
|
89
|
+
/**
|
|
90
|
+
* Custom slot for logo (overrides logo prop)
|
|
91
|
+
*/
|
|
92
|
+
logoSlot?: React.ReactNode;
|
|
93
|
+
/**
|
|
94
|
+
* Additional CSS classes for the logo container
|
|
95
|
+
*/
|
|
96
|
+
logoClassName?: string;
|
|
82
97
|
/** Optional Section ID */
|
|
83
98
|
sectionId?: string;
|
|
84
99
|
}
|
|
85
|
-
declare function HeroAgencyAnimatedImages({ sectionId, heading, description, descriptionClassName, actions, actionsSlot, actionsClassName, images, imagesSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, imagesContainerClassName, optixFlowConfig, }: HeroAgencyAnimatedImagesProps): React.JSX.Element;
|
|
100
|
+
declare function HeroAgencyAnimatedImages({ sectionId, heading, description, descriptionClassName, actions, actionsSlot, actionsClassName, images, imagesSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, imagesContainerClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroAgencyAnimatedImagesProps): React.JSX.Element;
|
|
86
101
|
|
|
87
102
|
export { HeroAgencyAnimatedImages, type HeroAgencyAnimatedImagesProps };
|
|
@@ -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 HeroAgencyAnimatedImagesProps {
|
|
|
79
82
|
* OptixFlow image optimization configuration
|
|
80
83
|
*/
|
|
81
84
|
optixFlowConfig?: OptixFlowConfig;
|
|
85
|
+
/**
|
|
86
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
87
|
+
*/
|
|
88
|
+
logo?: LogoConfig;
|
|
89
|
+
/**
|
|
90
|
+
* Custom slot for logo (overrides logo prop)
|
|
91
|
+
*/
|
|
92
|
+
logoSlot?: React.ReactNode;
|
|
93
|
+
/**
|
|
94
|
+
* Additional CSS classes for the logo container
|
|
95
|
+
*/
|
|
96
|
+
logoClassName?: string;
|
|
82
97
|
/** Optional Section ID */
|
|
83
98
|
sectionId?: string;
|
|
84
99
|
}
|
|
85
|
-
declare function HeroAgencyAnimatedImages({ sectionId, heading, description, descriptionClassName, actions, actionsSlot, actionsClassName, images, imagesSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, imagesContainerClassName, optixFlowConfig, }: HeroAgencyAnimatedImagesProps): React.JSX.Element;
|
|
100
|
+
declare function HeroAgencyAnimatedImages({ sectionId, heading, description, descriptionClassName, actions, actionsSlot, actionsClassName, images, imagesSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, imagesContainerClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroAgencyAnimatedImagesProps): React.JSX.Element;
|
|
86
101
|
|
|
87
102
|
export { HeroAgencyAnimatedImages, type HeroAgencyAnimatedImagesProps };
|
|
@@ -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__ */ jsx(Fragment, { children: logoSlot });
|
|
488
|
+
if (!logo || !logo.src) return null;
|
|
489
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
490
|
+
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__ */ jsx(
|
|
505
|
+
Pressable,
|
|
506
|
+
{
|
|
507
|
+
href: logo.url,
|
|
508
|
+
className: cn("flex items-center", logoClassName),
|
|
509
|
+
children: imgElement
|
|
510
|
+
}
|
|
511
|
+
);
|
|
512
|
+
}
|
|
513
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
514
|
+
};
|
|
474
515
|
var imageAnimationVariants = [
|
|
475
516
|
// Top-left: slides in from left + up
|
|
476
517
|
{
|
|
@@ -519,7 +560,10 @@ function HeroAgencyAnimatedImages({
|
|
|
519
560
|
contentClassName,
|
|
520
561
|
headingClassName,
|
|
521
562
|
imagesContainerClassName,
|
|
522
|
-
optixFlowConfig
|
|
563
|
+
optixFlowConfig,
|
|
564
|
+
logo,
|
|
565
|
+
logoSlot,
|
|
566
|
+
logoClassName
|
|
523
567
|
}) {
|
|
524
568
|
const renderImages = useMemo(() => {
|
|
525
569
|
if (imagesSlot) return imagesSlot;
|
|
@@ -609,6 +653,7 @@ function HeroAgencyAnimatedImages({
|
|
|
609
653
|
contentClassName
|
|
610
654
|
),
|
|
611
655
|
children: [
|
|
656
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
612
657
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
613
658
|
"h1",
|
|
614
659
|
{
|