@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
|
@@ -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 };
|
|
@@ -6,6 +6,7 @@ import { twMerge } from 'tailwind-merge';
|
|
|
6
6
|
import { Icon } from '@page-speed/icon';
|
|
7
7
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
8
8
|
import { Pressable } from '@page-speed/pressable';
|
|
9
|
+
import { Img } from '@page-speed/img';
|
|
9
10
|
|
|
10
11
|
// components/blocks/hero/hero-split-icon-cards.tsx
|
|
11
12
|
function cn(...inputs) {
|
|
@@ -443,6 +444,47 @@ var Section = React__default.forwardRef(
|
|
|
443
444
|
}
|
|
444
445
|
);
|
|
445
446
|
Section.displayName = "Section";
|
|
447
|
+
var SIZE_CLASSES = {
|
|
448
|
+
sm: "max-h-6 sm:max-h-7",
|
|
449
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
450
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
451
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
452
|
+
};
|
|
453
|
+
var BrandLogo = ({
|
|
454
|
+
logo,
|
|
455
|
+
logoSlot,
|
|
456
|
+
logoClassName,
|
|
457
|
+
size = "md",
|
|
458
|
+
optixFlowConfig
|
|
459
|
+
}) => {
|
|
460
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
461
|
+
if (!logo || !logo.src) return null;
|
|
462
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
463
|
+
Img,
|
|
464
|
+
{
|
|
465
|
+
src: logo.src,
|
|
466
|
+
className: cn(
|
|
467
|
+
"w-auto object-contain",
|
|
468
|
+
SIZE_CLASSES[size],
|
|
469
|
+
logo.className
|
|
470
|
+
),
|
|
471
|
+
alt: logo.alt || "Logo",
|
|
472
|
+
optixFlowConfig,
|
|
473
|
+
loading: "eager"
|
|
474
|
+
}
|
|
475
|
+
);
|
|
476
|
+
if (logo.url) {
|
|
477
|
+
return /* @__PURE__ */ jsx(
|
|
478
|
+
Pressable,
|
|
479
|
+
{
|
|
480
|
+
href: logo.url,
|
|
481
|
+
className: cn("flex items-center", logoClassName),
|
|
482
|
+
children: imgElement
|
|
483
|
+
}
|
|
484
|
+
);
|
|
485
|
+
}
|
|
486
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
487
|
+
};
|
|
446
488
|
function HeroSplitIconCards({
|
|
447
489
|
sectionId = "hero-split-icon-cards",
|
|
448
490
|
eyebrow,
|
|
@@ -463,7 +505,10 @@ function HeroSplitIconCards({
|
|
|
463
505
|
descriptionClassName,
|
|
464
506
|
verticalSpacing,
|
|
465
507
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
466
|
-
spacing = "pt-32 pb-8 md:pt-32 md:pb-32"
|
|
508
|
+
spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
|
|
509
|
+
logo,
|
|
510
|
+
logoSlot,
|
|
511
|
+
logoClassName
|
|
467
512
|
}) {
|
|
468
513
|
const renderActions = useMemo(() => {
|
|
469
514
|
if (actionsSlot) return actionsSlot;
|
|
@@ -528,6 +573,7 @@ function HeroSplitIconCards({
|
|
|
528
573
|
children: eyebrow
|
|
529
574
|
}
|
|
530
575
|
) : eyebrow),
|
|
576
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
531
577
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
532
578
|
"h2",
|
|
533
579
|
{
|
|
@@ -410,6 +410,47 @@ var Section = React3__namespace.default.forwardRef(
|
|
|
410
410
|
}
|
|
411
411
|
);
|
|
412
412
|
Section.displayName = "Section";
|
|
413
|
+
var SIZE_CLASSES = {
|
|
414
|
+
sm: "max-h-6 sm:max-h-7",
|
|
415
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
416
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
417
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
418
|
+
};
|
|
419
|
+
var BrandLogo = ({
|
|
420
|
+
logo,
|
|
421
|
+
logoSlot,
|
|
422
|
+
logoClassName,
|
|
423
|
+
size = "md",
|
|
424
|
+
optixFlowConfig
|
|
425
|
+
}) => {
|
|
426
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
427
|
+
if (!logo || !logo.src) return null;
|
|
428
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
429
|
+
img.Img,
|
|
430
|
+
{
|
|
431
|
+
src: logo.src,
|
|
432
|
+
className: cn(
|
|
433
|
+
"w-auto object-contain",
|
|
434
|
+
SIZE_CLASSES[size],
|
|
435
|
+
logo.className
|
|
436
|
+
),
|
|
437
|
+
alt: logo.alt || "Logo",
|
|
438
|
+
optixFlowConfig,
|
|
439
|
+
loading: "eager"
|
|
440
|
+
}
|
|
441
|
+
);
|
|
442
|
+
if (logo.url) {
|
|
443
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
444
|
+
pressable.Pressable,
|
|
445
|
+
{
|
|
446
|
+
href: logo.url,
|
|
447
|
+
className: cn("flex items-center", logoClassName),
|
|
448
|
+
children: imgElement
|
|
449
|
+
}
|
|
450
|
+
);
|
|
451
|
+
}
|
|
452
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
453
|
+
};
|
|
413
454
|
var DEFAULT_FORM_FIELDS = [
|
|
414
455
|
{
|
|
415
456
|
name: "email",
|
|
@@ -445,7 +486,10 @@ function HeroSplitImageNewsletter({
|
|
|
445
486
|
headingClassName,
|
|
446
487
|
descriptionClassName,
|
|
447
488
|
imageClassName,
|
|
448
|
-
optixFlowConfig
|
|
489
|
+
optixFlowConfig,
|
|
490
|
+
logo,
|
|
491
|
+
logoSlot,
|
|
492
|
+
logoClassName
|
|
449
493
|
}) {
|
|
450
494
|
const {
|
|
451
495
|
uploadTokens,
|
|
@@ -581,6 +625,7 @@ function HeroSplitImageNewsletter({
|
|
|
581
625
|
contentClassName
|
|
582
626
|
),
|
|
583
627
|
children: [
|
|
628
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
584
629
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
585
630
|
"h1",
|
|
586
631
|
{
|
|
@@ -1,8 +1,11 @@
|
|
|
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 { FormFieldConfig, PageSpeedFormConfig } from '@page-speed/forms/integration';
|
|
4
|
+
import { L as LogoConfig } from './types-mWZcgKth.cjs';
|
|
4
5
|
import { A as ActionConfig, I as ImageItem, O as OptixFlowConfig } from './blocks-DyouPohq.cjs';
|
|
5
6
|
import 'react/jsx-runtime';
|
|
7
|
+
import './dynamic-icon.cjs';
|
|
8
|
+
import '@page-speed/icon';
|
|
6
9
|
import 'class-variance-authority';
|
|
7
10
|
import '@page-speed/pressable';
|
|
8
11
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
@@ -103,9 +106,21 @@ interface HeroSplitImageNewsletterProps {
|
|
|
103
106
|
* OptixFlow image optimization configuration
|
|
104
107
|
*/
|
|
105
108
|
optixFlowConfig?: OptixFlowConfig;
|
|
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 HeroSplitImageNewsletter({ sectionId, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, image, imageSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, }: HeroSplitImageNewsletterProps): React.JSX.Element;
|
|
124
|
+
declare function HeroSplitImageNewsletter({ sectionId, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, image, imageSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroSplitImageNewsletterProps): React.JSX.Element;
|
|
110
125
|
|
|
111
126
|
export { HeroSplitImageNewsletter, type HeroSplitImageNewsletterProps };
|
|
@@ -1,8 +1,11 @@
|
|
|
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 { FormFieldConfig, PageSpeedFormConfig } from '@page-speed/forms/integration';
|
|
4
|
+
import { L as LogoConfig } from './types-hJ2R0GoH.js';
|
|
4
5
|
import { A as ActionConfig, I as ImageItem, O as OptixFlowConfig } from './blocks-DyouPohq.js';
|
|
5
6
|
import 'react/jsx-runtime';
|
|
7
|
+
import './dynamic-icon.js';
|
|
8
|
+
import '@page-speed/icon';
|
|
6
9
|
import 'class-variance-authority';
|
|
7
10
|
import '@page-speed/pressable';
|
|
8
11
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
@@ -103,9 +106,21 @@ interface HeroSplitImageNewsletterProps {
|
|
|
103
106
|
* OptixFlow image optimization configuration
|
|
104
107
|
*/
|
|
105
108
|
optixFlowConfig?: OptixFlowConfig;
|
|
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 HeroSplitImageNewsletter({ sectionId, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, image, imageSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, }: HeroSplitImageNewsletterProps): React.JSX.Element;
|
|
124
|
+
declare function HeroSplitImageNewsletter({ sectionId, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, image, imageSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroSplitImageNewsletterProps): React.JSX.Element;
|
|
110
125
|
|
|
111
126
|
export { HeroSplitImageNewsletter, type HeroSplitImageNewsletterProps };
|
|
@@ -5,7 +5,7 @@ import { clsx } from 'clsx';
|
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { Pressable } from '@page-speed/pressable';
|
|
7
7
|
import { Img } from '@page-speed/img';
|
|
8
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
8
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
9
9
|
import { Form } from '@page-speed/forms';
|
|
10
10
|
import { useFileUpload, useContactForm, DynamicFormField } from '@page-speed/forms/integration';
|
|
11
11
|
|
|
@@ -389,6 +389,47 @@ var Section = React3__default.forwardRef(
|
|
|
389
389
|
}
|
|
390
390
|
);
|
|
391
391
|
Section.displayName = "Section";
|
|
392
|
+
var SIZE_CLASSES = {
|
|
393
|
+
sm: "max-h-6 sm:max-h-7",
|
|
394
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
395
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
396
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
397
|
+
};
|
|
398
|
+
var BrandLogo = ({
|
|
399
|
+
logo,
|
|
400
|
+
logoSlot,
|
|
401
|
+
logoClassName,
|
|
402
|
+
size = "md",
|
|
403
|
+
optixFlowConfig
|
|
404
|
+
}) => {
|
|
405
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
406
|
+
if (!logo || !logo.src) return null;
|
|
407
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
408
|
+
Img,
|
|
409
|
+
{
|
|
410
|
+
src: logo.src,
|
|
411
|
+
className: cn(
|
|
412
|
+
"w-auto object-contain",
|
|
413
|
+
SIZE_CLASSES[size],
|
|
414
|
+
logo.className
|
|
415
|
+
),
|
|
416
|
+
alt: logo.alt || "Logo",
|
|
417
|
+
optixFlowConfig,
|
|
418
|
+
loading: "eager"
|
|
419
|
+
}
|
|
420
|
+
);
|
|
421
|
+
if (logo.url) {
|
|
422
|
+
return /* @__PURE__ */ jsx(
|
|
423
|
+
Pressable,
|
|
424
|
+
{
|
|
425
|
+
href: logo.url,
|
|
426
|
+
className: cn("flex items-center", logoClassName),
|
|
427
|
+
children: imgElement
|
|
428
|
+
}
|
|
429
|
+
);
|
|
430
|
+
}
|
|
431
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
432
|
+
};
|
|
392
433
|
var DEFAULT_FORM_FIELDS = [
|
|
393
434
|
{
|
|
394
435
|
name: "email",
|
|
@@ -424,7 +465,10 @@ function HeroSplitImageNewsletter({
|
|
|
424
465
|
headingClassName,
|
|
425
466
|
descriptionClassName,
|
|
426
467
|
imageClassName,
|
|
427
|
-
optixFlowConfig
|
|
468
|
+
optixFlowConfig,
|
|
469
|
+
logo,
|
|
470
|
+
logoSlot,
|
|
471
|
+
logoClassName
|
|
428
472
|
}) {
|
|
429
473
|
const {
|
|
430
474
|
uploadTokens,
|
|
@@ -560,6 +604,7 @@ function HeroSplitImageNewsletter({
|
|
|
560
604
|
contentClassName
|
|
561
605
|
),
|
|
562
606
|
children: [
|
|
607
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
563
608
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
564
609
|
"h1",
|
|
565
610
|
{
|