@opensite/ui 3.7.1 → 3.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/badge.d.cts +1 -1
- package/dist/badge.d.ts +1 -1
- package/dist/hero-ad-campaign-expert.cjs +46 -1
- package/dist/hero-ad-campaign-expert.d.cts +16 -1
- package/dist/hero-ad-campaign-expert.d.ts +16 -1
- package/dist/hero-ad-campaign-expert.js +46 -1
- package/dist/hero-adaptable-product-grid.cjs +46 -1
- package/dist/hero-adaptable-product-grid.d.cts +16 -1
- package/dist/hero-adaptable-product-grid.d.ts +16 -1
- package/dist/hero-adaptable-product-grid.js +46 -1
- package/dist/hero-agency-animated-images.cjs +46 -1
- package/dist/hero-agency-animated-images.d.cts +16 -1
- package/dist/hero-agency-animated-images.d.ts +16 -1
- package/dist/hero-agency-animated-images.js +46 -1
- package/dist/hero-ai-powered-carousel.cjs +46 -1
- package/dist/hero-ai-powered-carousel.d.cts +16 -1
- package/dist/hero-ai-powered-carousel.d.ts +16 -1
- package/dist/hero-ai-powered-carousel.js +46 -1
- package/dist/hero-announcement-badge.cjs +47 -1
- package/dist/hero-announcement-badge.d.cts +16 -1
- package/dist/hero-announcement-badge.d.ts +16 -1
- package/dist/hero-announcement-badge.js +47 -1
- package/dist/hero-architecture-fullscreen.cjs +46 -1
- package/dist/hero-architecture-fullscreen.d.cts +16 -1
- package/dist/hero-architecture-fullscreen.d.ts +16 -1
- package/dist/hero-architecture-fullscreen.js +46 -1
- package/dist/hero-badge-image-split.cjs +46 -1
- package/dist/hero-badge-image-split.d.cts +16 -1
- package/dist/hero-badge-image-split.d.ts +16 -1
- package/dist/hero-badge-image-split.js +46 -1
- package/dist/hero-badge-shadow-overlay.cjs +46 -1
- package/dist/hero-badge-shadow-overlay.d.cts +16 -1
- package/dist/hero-badge-shadow-overlay.d.ts +16 -1
- package/dist/hero-badge-shadow-overlay.js +46 -1
- package/dist/hero-business-carousel-dots.cjs +46 -1
- package/dist/hero-business-carousel-dots.d.cts +16 -1
- package/dist/hero-business-carousel-dots.d.ts +16 -1
- package/dist/hero-business-carousel-dots.js +46 -1
- package/dist/hero-business-operations-mosaic.cjs +46 -1
- package/dist/hero-business-operations-mosaic.d.cts +16 -1
- package/dist/hero-business-operations-mosaic.d.ts +16 -1
- package/dist/hero-business-operations-mosaic.js +46 -1
- package/dist/hero-centered-gradient-cta.cjs +47 -1
- package/dist/hero-centered-gradient-cta.d.cts +16 -1
- package/dist/hero-centered-gradient-cta.d.ts +16 -1
- package/dist/hero-centered-gradient-cta.js +47 -1
- package/dist/hero-centered-image-grid.cjs +46 -1
- package/dist/hero-centered-image-grid.d.cts +16 -1
- package/dist/hero-centered-image-grid.d.ts +16 -1
- package/dist/hero-centered-image-grid.js +46 -1
- package/dist/hero-centered-screenshot.cjs +46 -1
- package/dist/hero-centered-screenshot.d.cts +16 -1
- package/dist/hero-centered-screenshot.d.ts +16 -1
- package/dist/hero-centered-screenshot.js +46 -1
- package/dist/hero-coming-soon-countdown.cjs +47 -1
- package/dist/hero-coming-soon-countdown.d.cts +16 -1
- package/dist/hero-coming-soon-countdown.d.ts +16 -1
- package/dist/hero-coming-soon-countdown.js +47 -1
- package/dist/hero-community-survey-cta.cjs +46 -1
- package/dist/hero-community-survey-cta.d.cts +16 -1
- package/dist/hero-community-survey-cta.d.ts +16 -1
- package/dist/hero-community-survey-cta.js +46 -1
- package/dist/hero-conversation-intelligence.cjs +46 -1
- package/dist/hero-conversation-intelligence.d.cts +16 -1
- package/dist/hero-conversation-intelligence.d.ts +16 -1
- package/dist/hero-conversation-intelligence.js +46 -1
- package/dist/hero-creative-studio-stacked.cjs +46 -1
- package/dist/hero-creative-studio-stacked.d.cts +17 -2
- package/dist/hero-creative-studio-stacked.d.ts +17 -2
- package/dist/hero-creative-studio-stacked.js +46 -1
- package/dist/hero-crm-streamlined.cjs +46 -1
- package/dist/hero-crm-streamlined.d.cts +16 -1
- package/dist/hero-crm-streamlined.d.ts +16 -1
- package/dist/hero-crm-streamlined.js +46 -1
- package/dist/hero-customer-support-layered.cjs +46 -1
- package/dist/hero-customer-support-layered.d.cts +16 -1
- package/dist/hero-customer-support-layered.d.ts +16 -1
- package/dist/hero-customer-support-layered.js +46 -1
- package/dist/hero-design-system-3d.cjs +67 -20
- package/dist/hero-design-system-3d.d.cts +16 -1
- package/dist/hero-design-system-3d.d.ts +16 -1
- package/dist/hero-design-system-3d.js +67 -20
- package/dist/hero-developer-tools-code.cjs +47 -1
- package/dist/hero-developer-tools-code.d.cts +16 -1
- package/dist/hero-developer-tools-code.d.ts +16 -1
- package/dist/hero-developer-tools-code.js +47 -1
- package/dist/hero-digital-agency-fullscreen.cjs +46 -1
- package/dist/hero-digital-agency-fullscreen.d.cts +16 -1
- package/dist/hero-digital-agency-fullscreen.d.ts +16 -1
- package/dist/hero-digital-agency-fullscreen.js +46 -1
- package/dist/hero-ecommerce-product-showcase.cjs +46 -1
- package/dist/hero-ecommerce-product-showcase.d.cts +16 -1
- package/dist/hero-ecommerce-product-showcase.d.ts +16 -1
- package/dist/hero-ecommerce-product-showcase.js +46 -1
- package/dist/hero-enterprise-security.cjs +47 -1
- package/dist/hero-enterprise-security.d.cts +16 -1
- package/dist/hero-enterprise-security.d.ts +16 -1
- package/dist/hero-enterprise-security.js +47 -1
- package/dist/hero-feature-cards-grid.cjs +47 -1
- package/dist/hero-feature-cards-grid.d.cts +16 -1
- package/dist/hero-feature-cards-grid.d.ts +16 -1
- package/dist/hero-feature-cards-grid.js +47 -1
- package/dist/hero-fullscreen-background-image.cjs +46 -1
- package/dist/hero-fullscreen-background-image.d.cts +16 -1
- package/dist/hero-fullscreen-background-image.d.ts +16 -1
- package/dist/hero-fullscreen-background-image.js +46 -1
- package/dist/hero-gradient-avatars-rating.cjs +46 -1
- package/dist/hero-gradient-avatars-rating.d.cts +16 -1
- package/dist/hero-gradient-avatars-rating.d.ts +16 -1
- package/dist/hero-gradient-avatars-rating.js +46 -1
- package/dist/hero-gradient-client-focused.cjs +46 -1
- package/dist/hero-gradient-client-focused.d.cts +16 -1
- package/dist/hero-gradient-client-focused.d.ts +16 -1
- package/dist/hero-gradient-client-focused.js +46 -1
- package/dist/hero-grid-pattern-efficiency.cjs +47 -1
- package/dist/hero-grid-pattern-efficiency.d.cts +16 -1
- package/dist/hero-grid-pattern-efficiency.d.ts +16 -1
- package/dist/hero-grid-pattern-efficiency.js +47 -1
- package/dist/hero-grid-pattern-solutions.cjs +46 -1
- package/dist/hero-grid-pattern-solutions.d.cts +16 -1
- package/dist/hero-grid-pattern-solutions.d.ts +16 -1
- package/dist/hero-grid-pattern-solutions.js +46 -1
- package/dist/hero-hiring-animated-text.cjs +47 -1
- package/dist/hero-hiring-animated-text.d.cts +16 -1
- package/dist/hero-hiring-animated-text.d.ts +16 -1
- package/dist/hero-hiring-animated-text.js +47 -1
- package/dist/hero-image-left-content.cjs +46 -1
- package/dist/hero-image-left-content.d.cts +16 -1
- package/dist/hero-image-left-content.d.ts +16 -1
- package/dist/hero-image-left-content.js +46 -1
- package/dist/hero-image-slider.cjs +46 -1
- package/dist/hero-image-slider.d.cts +16 -1
- package/dist/hero-image-slider.d.ts +16 -1
- package/dist/hero-image-slider.js +46 -1
- package/dist/hero-innovation-image-grid.cjs +46 -1
- package/dist/hero-innovation-image-grid.d.cts +16 -1
- package/dist/hero-innovation-image-grid.d.ts +16 -1
- package/dist/hero-innovation-image-grid.js +46 -1
- package/dist/hero-logo-centered-screenshot.cjs +2 -2
- package/dist/hero-logo-centered-screenshot.js +2 -2
- package/dist/hero-marketplace-scattered-images.cjs +46 -1
- package/dist/hero-marketplace-scattered-images.d.cts +16 -1
- package/dist/hero-marketplace-scattered-images.d.ts +16 -1
- package/dist/hero-marketplace-scattered-images.js +46 -1
- package/dist/hero-minimal-centered-dark.cjs +47 -1
- package/dist/hero-minimal-centered-dark.d.cts +16 -1
- package/dist/hero-minimal-centered-dark.d.ts +16 -1
- package/dist/hero-minimal-centered-dark.js +47 -1
- package/dist/hero-mobile-app-download.cjs +46 -1
- package/dist/hero-mobile-app-download.d.cts +16 -1
- package/dist/hero-mobile-app-download.d.ts +16 -1
- package/dist/hero-mobile-app-download.js +46 -1
- package/dist/hero-newsletter-minimal.cjs +48 -1
- package/dist/hero-newsletter-minimal.d.cts +16 -1
- package/dist/hero-newsletter-minimal.d.ts +16 -1
- package/dist/hero-newsletter-minimal.js +48 -1
- package/dist/hero-overlay-cta-grid.cjs +46 -1
- package/dist/hero-overlay-cta-grid.d.cts +16 -1
- package/dist/hero-overlay-cta-grid.d.ts +16 -1
- package/dist/hero-overlay-cta-grid.js +46 -1
- package/dist/hero-portfolio-creative.cjs +46 -1
- package/dist/hero-portfolio-creative.d.cts +16 -1
- package/dist/hero-portfolio-creative.d.ts +16 -1
- package/dist/hero-portfolio-creative.js +46 -1
- package/dist/hero-premium-split-avatars.cjs +46 -1
- package/dist/hero-premium-split-avatars.d.cts +16 -1
- package/dist/hero-premium-split-avatars.d.ts +16 -1
- package/dist/hero-premium-split-avatars.js +46 -1
- package/dist/hero-presentation-platform-video.cjs +47 -1
- package/dist/hero-presentation-platform-video.d.cts +16 -1
- package/dist/hero-presentation-platform-video.d.ts +16 -1
- package/dist/hero-presentation-platform-video.js +47 -1
- package/dist/hero-pricing-comparison.cjs +47 -1
- package/dist/hero-pricing-comparison.d.cts +16 -1
- package/dist/hero-pricing-comparison.d.ts +16 -1
- package/dist/hero-pricing-comparison.js +47 -1
- package/dist/hero-product-showcase-floating.cjs +46 -1
- package/dist/hero-product-showcase-floating.d.cts +16 -1
- package/dist/hero-product-showcase-floating.d.ts +16 -1
- package/dist/hero-product-showcase-floating.js +46 -1
- package/dist/hero-productivity-launcher-video.cjs +68 -20
- package/dist/hero-productivity-launcher-video.d.cts +16 -1
- package/dist/hero-productivity-launcher-video.d.ts +16 -1
- package/dist/hero-productivity-launcher-video.js +68 -20
- package/dist/hero-saas-dashboard-preview.cjs +46 -1
- package/dist/hero-saas-dashboard-preview.d.cts +16 -1
- package/dist/hero-saas-dashboard-preview.d.ts +16 -1
- package/dist/hero-saas-dashboard-preview.js +46 -1
- package/dist/hero-shared-inbox-layered.cjs +46 -1
- package/dist/hero-shared-inbox-layered.d.cts +16 -1
- package/dist/hero-shared-inbox-layered.d.ts +16 -1
- package/dist/hero-shared-inbox-layered.js +46 -1
- package/dist/hero-simple-centered-image.cjs +46 -1
- package/dist/hero-simple-centered-image.d.cts +16 -1
- package/dist/hero-simple-centered-image.d.ts +16 -1
- package/dist/hero-simple-centered-image.js +46 -1
- package/dist/hero-software-growth-video-dialog.cjs +46 -1
- package/dist/hero-software-growth-video-dialog.d.cts +16 -1
- package/dist/hero-software-growth-video-dialog.d.ts +16 -1
- package/dist/hero-software-growth-video-dialog.js +46 -1
- package/dist/hero-spiral-pattern-cards.cjs +46 -1
- package/dist/hero-spiral-pattern-cards.d.cts +16 -1
- package/dist/hero-spiral-pattern-cards.d.ts +16 -1
- package/dist/hero-spiral-pattern-cards.js +46 -1
- package/dist/hero-split-geometric-shapes.cjs +46 -1
- package/dist/hero-split-geometric-shapes.d.cts +16 -1
- package/dist/hero-split-geometric-shapes.d.ts +16 -1
- package/dist/hero-split-geometric-shapes.js +46 -1
- package/dist/hero-split-icon-cards.cjs +47 -1
- package/dist/hero-split-icon-cards.d.cts +16 -1
- package/dist/hero-split-icon-cards.d.ts +16 -1
- package/dist/hero-split-icon-cards.js +47 -1
- package/dist/hero-split-image-newsletter.cjs +46 -1
- package/dist/hero-split-image-newsletter.d.cts +16 -1
- package/dist/hero-split-image-newsletter.d.ts +16 -1
- package/dist/hero-split-image-newsletter.js +47 -2
- package/dist/hero-split-spiral-shapes.cjs +46 -1
- package/dist/hero-split-spiral-shapes.d.cts +16 -1
- package/dist/hero-split-spiral-shapes.d.ts +16 -1
- package/dist/hero-split-spiral-shapes.js +46 -1
- package/dist/hero-startup-launch-cta.cjs +46 -1
- package/dist/hero-startup-launch-cta.d.cts +16 -1
- package/dist/hero-startup-launch-cta.d.ts +16 -1
- package/dist/hero-startup-launch-cta.js +46 -1
- package/dist/hero-stats-social-proof.cjs +46 -1
- package/dist/hero-stats-social-proof.d.cts +16 -1
- package/dist/hero-stats-social-proof.d.ts +16 -1
- package/dist/hero-stats-social-proof.js +46 -1
- package/dist/hero-task-timer-animated.cjs +46 -1
- package/dist/hero-task-timer-animated.d.cts +16 -1
- package/dist/hero-task-timer-animated.d.ts +16 -1
- package/dist/hero-task-timer-animated.js +46 -1
- package/dist/hero-testimonial-image-grid.cjs +46 -1
- package/dist/hero-testimonial-image-grid.d.cts +16 -1
- package/dist/hero-testimonial-image-grid.d.ts +16 -1
- package/dist/hero-testimonial-image-grid.js +46 -1
- package/dist/hero-therapy-testimonial-grid.cjs +46 -1
- package/dist/hero-therapy-testimonial-grid.d.cts +16 -1
- package/dist/hero-therapy-testimonial-grid.d.ts +16 -1
- package/dist/hero-therapy-testimonial-grid.js +46 -1
- package/dist/hero-ui-library-showcase.cjs +3 -2
- package/dist/hero-ui-library-showcase.d.cts +13 -5
- package/dist/hero-ui-library-showcase.d.ts +13 -5
- package/dist/hero-ui-library-showcase.js +3 -2
- package/dist/hero-video-background-dark.cjs +47 -1
- package/dist/hero-video-background-dark.d.cts +16 -1
- package/dist/hero-video-background-dark.d.ts +16 -1
- package/dist/hero-video-background-dark.js +47 -1
- package/dist/{hero-video-dialog-gradient-Cr96k01H.d.ts → hero-video-dialog-gradient-B6-kFIvZ.d.ts} +14 -1
- package/dist/{hero-video-dialog-gradient-Dc0wRYdW.d.cts → hero-video-dialog-gradient-DPnh6Vn-.d.cts} +14 -1
- package/dist/hero-video-dialog-gradient.cjs +46 -1
- package/dist/hero-video-dialog-gradient.d.cts +4 -1
- package/dist/hero-video-dialog-gradient.d.ts +4 -1
- package/dist/hero-video-dialog-gradient.js +46 -1
- package/dist/hero-welcome-asymmetric-images.cjs +46 -1
- package/dist/hero-welcome-asymmetric-images.d.cts +16 -1
- package/dist/hero-welcome-asymmetric-images.d.ts +16 -1
- package/dist/hero-welcome-asymmetric-images.js +46 -1
- package/dist/link-page-bento-layout.cjs +59 -3
- package/dist/link-page-bento-layout.d.cts +16 -1
- package/dist/link-page-bento-layout.d.ts +16 -1
- package/dist/link-page-bento-layout.js +59 -3
- package/dist/link-page-grid-cards.cjs +59 -3
- package/dist/link-page-grid-cards.d.cts +16 -1
- package/dist/link-page-grid-cards.d.ts +16 -1
- package/dist/link-page-grid-cards.js +59 -3
- package/dist/link-page-minimal-profile.cjs +59 -3
- package/dist/link-page-minimal-profile.d.cts +16 -1
- package/dist/link-page-minimal-profile.d.ts +16 -1
- package/dist/link-page-minimal-profile.js +59 -3
- package/dist/link-page-newsletter-social.cjs +59 -3
- package/dist/link-page-newsletter-social.d.cts +16 -1
- package/dist/link-page-newsletter-social.d.ts +16 -1
- package/dist/link-page-newsletter-social.js +59 -3
- package/dist/link-tree-block.cjs +58 -2
- package/dist/link-tree-block.d.cts +16 -1
- package/dist/link-tree-block.d.ts +16 -1
- package/dist/link-tree-block.js +58 -2
- package/dist/registry.cjs +706 -184
- package/dist/registry.js +706 -184
- package/dist/social-link-icon.d.cts +1 -1
- package/dist/social-link-icon.d.ts +1 -1
- package/package.json +1 -1
|
@@ -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';
|
|
@@ -79,9 +82,21 @@ interface HeroCenteredScreenshotProps {
|
|
|
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 HeroCenteredScreenshot({ sectionId, heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageClassName, optixFlowConfig, }: HeroCenteredScreenshotProps): React.JSX.Element;
|
|
100
|
+
declare function HeroCenteredScreenshot({ sectionId, heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroCenteredScreenshotProps): React.JSX.Element;
|
|
86
101
|
|
|
87
102
|
export { HeroCenteredScreenshot, type HeroCenteredScreenshotProps };
|
|
@@ -386,6 +386,47 @@ var Section = React.forwardRef(
|
|
|
386
386
|
}
|
|
387
387
|
);
|
|
388
388
|
Section.displayName = "Section";
|
|
389
|
+
var SIZE_CLASSES = {
|
|
390
|
+
sm: "max-h-6 sm:max-h-7",
|
|
391
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
392
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
393
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
394
|
+
};
|
|
395
|
+
var BrandLogo = ({
|
|
396
|
+
logo,
|
|
397
|
+
logoSlot,
|
|
398
|
+
logoClassName,
|
|
399
|
+
size = "md",
|
|
400
|
+
optixFlowConfig
|
|
401
|
+
}) => {
|
|
402
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
403
|
+
if (!logo || !logo.src) return null;
|
|
404
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
405
|
+
Img,
|
|
406
|
+
{
|
|
407
|
+
src: logo.src,
|
|
408
|
+
className: cn(
|
|
409
|
+
"w-auto object-contain",
|
|
410
|
+
SIZE_CLASSES[size],
|
|
411
|
+
logo.className
|
|
412
|
+
),
|
|
413
|
+
alt: logo.alt || "Logo",
|
|
414
|
+
optixFlowConfig,
|
|
415
|
+
loading: "eager"
|
|
416
|
+
}
|
|
417
|
+
);
|
|
418
|
+
if (logo.url) {
|
|
419
|
+
return /* @__PURE__ */ jsx(
|
|
420
|
+
Pressable,
|
|
421
|
+
{
|
|
422
|
+
href: logo.url,
|
|
423
|
+
className: cn("flex items-center", logoClassName),
|
|
424
|
+
children: imgElement
|
|
425
|
+
}
|
|
426
|
+
);
|
|
427
|
+
}
|
|
428
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
429
|
+
};
|
|
389
430
|
function HeroCenteredScreenshot({
|
|
390
431
|
sectionId = "hero-centered-screenshot",
|
|
391
432
|
heading,
|
|
@@ -405,7 +446,10 @@ function HeroCenteredScreenshot({
|
|
|
405
446
|
descriptionClassName,
|
|
406
447
|
actionsClassName,
|
|
407
448
|
imageClassName,
|
|
408
|
-
optixFlowConfig
|
|
449
|
+
optixFlowConfig,
|
|
450
|
+
logo,
|
|
451
|
+
logoSlot,
|
|
452
|
+
logoClassName
|
|
409
453
|
}) {
|
|
410
454
|
const renderActions = useMemo(() => {
|
|
411
455
|
if (actionsSlot) return actionsSlot;
|
|
@@ -451,6 +495,7 @@ function HeroCenteredScreenshot({
|
|
|
451
495
|
{
|
|
452
496
|
className: cn("z-10 items-center text-center", contentClassName),
|
|
453
497
|
children: [
|
|
498
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
454
499
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
455
500
|
"h1",
|
|
456
501
|
{
|
|
@@ -13,6 +13,7 @@ var classVarianceAuthority = require('class-variance-authority');
|
|
|
13
13
|
var usePlatformFromUrl = require('@opensite/hooks/usePlatformFromUrl');
|
|
14
14
|
var forms = require('@page-speed/forms');
|
|
15
15
|
var integration = require('@page-speed/forms/integration');
|
|
16
|
+
var img = require('@page-speed/img');
|
|
16
17
|
|
|
17
18
|
function _interopNamespace(e) {
|
|
18
19
|
if (e && e.__esModule) return e;
|
|
@@ -547,6 +548,47 @@ var SocialLinkIcon = React4__namespace.forwardRef(
|
|
|
547
548
|
}
|
|
548
549
|
);
|
|
549
550
|
SocialLinkIcon.displayName = "SocialLinkIcon";
|
|
551
|
+
var SIZE_CLASSES = {
|
|
552
|
+
sm: "max-h-6 sm:max-h-7",
|
|
553
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
554
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
555
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
556
|
+
};
|
|
557
|
+
var BrandLogo = ({
|
|
558
|
+
logo,
|
|
559
|
+
logoSlot,
|
|
560
|
+
logoClassName,
|
|
561
|
+
size = "md",
|
|
562
|
+
optixFlowConfig
|
|
563
|
+
}) => {
|
|
564
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
565
|
+
if (!logo || !logo.src) return null;
|
|
566
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
567
|
+
img.Img,
|
|
568
|
+
{
|
|
569
|
+
src: logo.src,
|
|
570
|
+
className: cn(
|
|
571
|
+
"w-auto object-contain",
|
|
572
|
+
SIZE_CLASSES[size],
|
|
573
|
+
logo.className
|
|
574
|
+
),
|
|
575
|
+
alt: logo.alt || "Logo",
|
|
576
|
+
optixFlowConfig,
|
|
577
|
+
loading: "eager"
|
|
578
|
+
}
|
|
579
|
+
);
|
|
580
|
+
if (logo.url) {
|
|
581
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
582
|
+
pressable.Pressable,
|
|
583
|
+
{
|
|
584
|
+
href: logo.url,
|
|
585
|
+
className: cn("flex items-center", logoClassName),
|
|
586
|
+
children: imgElement
|
|
587
|
+
}
|
|
588
|
+
);
|
|
589
|
+
}
|
|
590
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
591
|
+
};
|
|
550
592
|
var DEFAULT_FORM_FIELDS = [
|
|
551
593
|
{
|
|
552
594
|
name: "email",
|
|
@@ -626,7 +668,10 @@ function HeroComingSoonCountdown({
|
|
|
626
668
|
descriptionClassName,
|
|
627
669
|
countdownClassName,
|
|
628
670
|
formClassName,
|
|
629
|
-
socialLinksClassName
|
|
671
|
+
socialLinksClassName,
|
|
672
|
+
logo,
|
|
673
|
+
logoSlot,
|
|
674
|
+
logoClassName
|
|
630
675
|
}) {
|
|
631
676
|
const [timeLeft, setTimeLeft] = React4__namespace.useState(null);
|
|
632
677
|
const {
|
|
@@ -779,6 +824,7 @@ function HeroComingSoonCountdown({
|
|
|
779
824
|
badgeIcon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: badgeIcon, size: 16 }),
|
|
780
825
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: badgeText })
|
|
781
826
|
] }),
|
|
827
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
782
828
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
783
829
|
"h1",
|
|
784
830
|
{
|
|
@@ -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, j as SocialLinkItem } 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';
|
|
@@ -130,9 +133,21 @@ interface HeroComingSoonCountdownProps {
|
|
|
130
133
|
* Additional CSS classes for the pattern overlay
|
|
131
134
|
*/
|
|
132
135
|
patternClassName?: string;
|
|
136
|
+
/**
|
|
137
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
138
|
+
*/
|
|
139
|
+
logo?: LogoConfig;
|
|
140
|
+
/**
|
|
141
|
+
* Custom slot for logo (overrides logo prop)
|
|
142
|
+
*/
|
|
143
|
+
logoSlot?: React.ReactNode;
|
|
144
|
+
/**
|
|
145
|
+
* Additional CSS classes for the logo container
|
|
146
|
+
*/
|
|
147
|
+
logoClassName?: string;
|
|
133
148
|
/** Optional Section ID */
|
|
134
149
|
sectionId?: string;
|
|
135
150
|
}
|
|
136
|
-
declare function HeroComingSoonCountdown({ sectionId, badgeIcon, badgeText, heading, description, countdownDate, countdownSlot, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, socialLinks, socialLinksSlot, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, className, badgeClassName, headingClassName, descriptionClassName, countdownClassName, formClassName, socialLinksClassName, }: HeroComingSoonCountdownProps): React.JSX.Element;
|
|
151
|
+
declare function HeroComingSoonCountdown({ sectionId, badgeIcon, badgeText, heading, description, countdownDate, countdownSlot, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, socialLinks, socialLinksSlot, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, className, badgeClassName, headingClassName, descriptionClassName, countdownClassName, formClassName, socialLinksClassName, logo, logoSlot, logoClassName, }: HeroComingSoonCountdownProps): React.JSX.Element;
|
|
137
152
|
|
|
138
153
|
export { HeroComingSoonCountdown, type HeroComingSoonCountdownProps };
|
|
@@ -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, j as SocialLinkItem } 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';
|
|
@@ -130,9 +133,21 @@ interface HeroComingSoonCountdownProps {
|
|
|
130
133
|
* Additional CSS classes for the pattern overlay
|
|
131
134
|
*/
|
|
132
135
|
patternClassName?: string;
|
|
136
|
+
/**
|
|
137
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
138
|
+
*/
|
|
139
|
+
logo?: LogoConfig;
|
|
140
|
+
/**
|
|
141
|
+
* Custom slot for logo (overrides logo prop)
|
|
142
|
+
*/
|
|
143
|
+
logoSlot?: React.ReactNode;
|
|
144
|
+
/**
|
|
145
|
+
* Additional CSS classes for the logo container
|
|
146
|
+
*/
|
|
147
|
+
logoClassName?: string;
|
|
133
148
|
/** Optional Section ID */
|
|
134
149
|
sectionId?: string;
|
|
135
150
|
}
|
|
136
|
-
declare function HeroComingSoonCountdown({ sectionId, badgeIcon, badgeText, heading, description, countdownDate, countdownSlot, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, socialLinks, socialLinksSlot, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, className, badgeClassName, headingClassName, descriptionClassName, countdownClassName, formClassName, socialLinksClassName, }: HeroComingSoonCountdownProps): React.JSX.Element;
|
|
151
|
+
declare function HeroComingSoonCountdown({ sectionId, badgeIcon, badgeText, heading, description, countdownDate, countdownSlot, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, socialLinks, socialLinksSlot, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, className, badgeClassName, headingClassName, descriptionClassName, countdownClassName, formClassName, socialLinksClassName, logo, logoSlot, logoClassName, }: HeroComingSoonCountdownProps): React.JSX.Element;
|
|
137
152
|
|
|
138
153
|
export { HeroComingSoonCountdown, type HeroComingSoonCountdownProps };
|
|
@@ -12,6 +12,7 @@ import { cva } from 'class-variance-authority';
|
|
|
12
12
|
import { usePlatformFromUrl } from '@opensite/hooks/usePlatformFromUrl';
|
|
13
13
|
import { Form } from '@page-speed/forms';
|
|
14
14
|
import { useFileUpload, useContactForm, DynamicFormField } from '@page-speed/forms/integration';
|
|
15
|
+
import { Img } from '@page-speed/img';
|
|
15
16
|
|
|
16
17
|
// components/blocks/hero/hero-coming-soon-countdown.tsx
|
|
17
18
|
function cn(...inputs) {
|
|
@@ -526,6 +527,47 @@ var SocialLinkIcon = React4.forwardRef(
|
|
|
526
527
|
}
|
|
527
528
|
);
|
|
528
529
|
SocialLinkIcon.displayName = "SocialLinkIcon";
|
|
530
|
+
var SIZE_CLASSES = {
|
|
531
|
+
sm: "max-h-6 sm:max-h-7",
|
|
532
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
533
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
534
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
535
|
+
};
|
|
536
|
+
var BrandLogo = ({
|
|
537
|
+
logo,
|
|
538
|
+
logoSlot,
|
|
539
|
+
logoClassName,
|
|
540
|
+
size = "md",
|
|
541
|
+
optixFlowConfig
|
|
542
|
+
}) => {
|
|
543
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
544
|
+
if (!logo || !logo.src) return null;
|
|
545
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
546
|
+
Img,
|
|
547
|
+
{
|
|
548
|
+
src: logo.src,
|
|
549
|
+
className: cn(
|
|
550
|
+
"w-auto object-contain",
|
|
551
|
+
SIZE_CLASSES[size],
|
|
552
|
+
logo.className
|
|
553
|
+
),
|
|
554
|
+
alt: logo.alt || "Logo",
|
|
555
|
+
optixFlowConfig,
|
|
556
|
+
loading: "eager"
|
|
557
|
+
}
|
|
558
|
+
);
|
|
559
|
+
if (logo.url) {
|
|
560
|
+
return /* @__PURE__ */ jsx(
|
|
561
|
+
Pressable,
|
|
562
|
+
{
|
|
563
|
+
href: logo.url,
|
|
564
|
+
className: cn("flex items-center", logoClassName),
|
|
565
|
+
children: imgElement
|
|
566
|
+
}
|
|
567
|
+
);
|
|
568
|
+
}
|
|
569
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
570
|
+
};
|
|
529
571
|
var DEFAULT_FORM_FIELDS = [
|
|
530
572
|
{
|
|
531
573
|
name: "email",
|
|
@@ -605,7 +647,10 @@ function HeroComingSoonCountdown({
|
|
|
605
647
|
descriptionClassName,
|
|
606
648
|
countdownClassName,
|
|
607
649
|
formClassName,
|
|
608
|
-
socialLinksClassName
|
|
650
|
+
socialLinksClassName,
|
|
651
|
+
logo,
|
|
652
|
+
logoSlot,
|
|
653
|
+
logoClassName
|
|
609
654
|
}) {
|
|
610
655
|
const [timeLeft, setTimeLeft] = React4.useState(null);
|
|
611
656
|
const {
|
|
@@ -758,6 +803,7 @@ function HeroComingSoonCountdown({
|
|
|
758
803
|
badgeIcon && /* @__PURE__ */ jsx(DynamicIcon, { name: badgeIcon, size: 16 }),
|
|
759
804
|
/* @__PURE__ */ jsx("span", { children: badgeText })
|
|
760
805
|
] }),
|
|
806
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
761
807
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
762
808
|
"h1",
|
|
763
809
|
{
|
|
@@ -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 HeroCommunitySurveyCta({
|
|
508
549
|
sectionId = "hero-community-survey-cta",
|
|
509
550
|
announcementPrimary,
|
|
@@ -529,7 +570,10 @@ function HeroCommunitySurveyCta({
|
|
|
529
570
|
descriptionClassName,
|
|
530
571
|
actionsClassName,
|
|
531
572
|
imagesClassName,
|
|
532
|
-
optixFlowConfig
|
|
573
|
+
optixFlowConfig,
|
|
574
|
+
logo,
|
|
575
|
+
logoSlot,
|
|
576
|
+
logoClassName
|
|
533
577
|
}) {
|
|
534
578
|
const renderAnnouncement = React.useMemo(() => {
|
|
535
579
|
if (announcementSlot) return announcementSlot;
|
|
@@ -678,6 +722,7 @@ function HeroCommunitySurveyCta({
|
|
|
678
722
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative grid grid-cols-1 items-center gap-8 lg:grid-cols-2 lg:gap-12", children: [
|
|
679
723
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-start gap-6 md:gap-8 pt-8 md:pt-0", children: [
|
|
680
724
|
renderAnnouncement,
|
|
725
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
681
726
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
682
727
|
"h1",
|
|
683
728
|
{
|
|
@@ -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';
|
|
@@ -103,9 +106,21 @@ interface HeroCommunitySurveyCtaProps {
|
|
|
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 HeroCommunitySurveyCta({ sectionId, announcementPrimary, announcementLinkText, announcementHref, announcementSlot, heading, description, actions, actionsSlot, mainImage, leftOverlayImage, rightOverlayImage, imagesSlot, background, containerClassName, spacing, pattern, patternOpacity, className, announcementClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, }: HeroCommunitySurveyCtaProps): React.JSX.Element;
|
|
124
|
+
declare function HeroCommunitySurveyCta({ sectionId, announcementPrimary, announcementLinkText, announcementHref, announcementSlot, heading, description, actions, actionsSlot, mainImage, leftOverlayImage, rightOverlayImage, imagesSlot, background, containerClassName, spacing, pattern, patternOpacity, className, announcementClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroCommunitySurveyCtaProps): React.JSX.Element;
|
|
110
125
|
|
|
111
126
|
export { HeroCommunitySurveyCta, type HeroCommunitySurveyCtaProps };
|
|
@@ -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';
|
|
@@ -103,9 +106,21 @@ interface HeroCommunitySurveyCtaProps {
|
|
|
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 HeroCommunitySurveyCta({ sectionId, announcementPrimary, announcementLinkText, announcementHref, announcementSlot, heading, description, actions, actionsSlot, mainImage, leftOverlayImage, rightOverlayImage, imagesSlot, background, containerClassName, spacing, pattern, patternOpacity, className, announcementClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, }: HeroCommunitySurveyCtaProps): React.JSX.Element;
|
|
124
|
+
declare function HeroCommunitySurveyCta({ sectionId, announcementPrimary, announcementLinkText, announcementHref, announcementSlot, heading, description, actions, actionsSlot, mainImage, leftOverlayImage, rightOverlayImage, imagesSlot, background, containerClassName, spacing, pattern, patternOpacity, className, announcementClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroCommunitySurveyCtaProps): React.JSX.Element;
|
|
110
125
|
|
|
111
126
|
export { HeroCommunitySurveyCta, type HeroCommunitySurveyCtaProps };
|
|
@@ -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 HeroCommunitySurveyCta({
|
|
502
543
|
sectionId = "hero-community-survey-cta",
|
|
503
544
|
announcementPrimary,
|
|
@@ -523,7 +564,10 @@ function HeroCommunitySurveyCta({
|
|
|
523
564
|
descriptionClassName,
|
|
524
565
|
actionsClassName,
|
|
525
566
|
imagesClassName,
|
|
526
|
-
optixFlowConfig
|
|
567
|
+
optixFlowConfig,
|
|
568
|
+
logo,
|
|
569
|
+
logoSlot,
|
|
570
|
+
logoClassName
|
|
527
571
|
}) {
|
|
528
572
|
const renderAnnouncement = useMemo(() => {
|
|
529
573
|
if (announcementSlot) return announcementSlot;
|
|
@@ -672,6 +716,7 @@ function HeroCommunitySurveyCta({
|
|
|
672
716
|
children: /* @__PURE__ */ jsxs("div", { className: "relative grid grid-cols-1 items-center gap-8 lg:grid-cols-2 lg:gap-12", children: [
|
|
673
717
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-start gap-6 md:gap-8 pt-8 md:pt-0", children: [
|
|
674
718
|
renderAnnouncement,
|
|
719
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
675
720
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
676
721
|
"h1",
|
|
677
722
|
{
|
|
@@ -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 HeroConversationIntelligence({
|
|
474
515
|
sectionId = "hero-conversation-intelligence",
|
|
475
516
|
headingPrimary,
|
|
@@ -490,7 +531,10 @@ function HeroConversationIntelligence({
|
|
|
490
531
|
descriptionClassName,
|
|
491
532
|
actionsClassName,
|
|
492
533
|
imageClassName,
|
|
493
|
-
optixFlowConfig
|
|
534
|
+
optixFlowConfig,
|
|
535
|
+
logo,
|
|
536
|
+
logoSlot,
|
|
537
|
+
logoClassName
|
|
494
538
|
}) {
|
|
495
539
|
const renderImage = React.useMemo(() => {
|
|
496
540
|
if (imageSlot) return imageSlot;
|
|
@@ -537,6 +581,7 @@ function HeroConversationIntelligence({
|
|
|
537
581
|
contentClassName
|
|
538
582
|
),
|
|
539
583
|
children: [
|
|
584
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
540
585
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
541
586
|
"h1",
|
|
542
587
|
{
|
|
@@ -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';
|
|
@@ -83,9 +86,21 @@ interface HeroConversationIntelligenceProps {
|
|
|
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 HeroConversationIntelligence({ sectionId, headingPrimary, description, actions, actionsSlot, image, imageSlot, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageClassName, optixFlowConfig, }: HeroConversationIntelligenceProps): React.JSX.Element;
|
|
104
|
+
declare function HeroConversationIntelligence({ sectionId, headingPrimary, description, actions, actionsSlot, image, imageSlot, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroConversationIntelligenceProps): React.JSX.Element;
|
|
90
105
|
|
|
91
106
|
export { HeroConversationIntelligence, type HeroConversationIntelligenceProps };
|
|
@@ -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';
|
|
@@ -83,9 +86,21 @@ interface HeroConversationIntelligenceProps {
|
|
|
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 HeroConversationIntelligence({ sectionId, headingPrimary, description, actions, actionsSlot, image, imageSlot, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageClassName, optixFlowConfig, }: HeroConversationIntelligenceProps): React.JSX.Element;
|
|
104
|
+
declare function HeroConversationIntelligence({ sectionId, headingPrimary, description, actions, actionsSlot, image, imageSlot, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroConversationIntelligenceProps): React.JSX.Element;
|
|
90
105
|
|
|
91
106
|
export { HeroConversationIntelligence, type HeroConversationIntelligenceProps };
|