@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
|
@@ -7,6 +7,7 @@ var clsx = require('clsx');
|
|
|
7
7
|
var tailwindMerge = require('tailwind-merge');
|
|
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;
|
|
@@ -518,6 +519,47 @@ function ActionComponent({ action }) {
|
|
|
518
519
|
}
|
|
519
520
|
);
|
|
520
521
|
}
|
|
522
|
+
var SIZE_CLASSES = {
|
|
523
|
+
sm: "max-h-6 sm:max-h-7",
|
|
524
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
525
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
526
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
527
|
+
};
|
|
528
|
+
var BrandLogo = ({
|
|
529
|
+
logo,
|
|
530
|
+
logoSlot,
|
|
531
|
+
logoClassName,
|
|
532
|
+
size = "md",
|
|
533
|
+
optixFlowConfig
|
|
534
|
+
}) => {
|
|
535
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
536
|
+
if (!logo || !logo.src) return null;
|
|
537
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
538
|
+
img.Img,
|
|
539
|
+
{
|
|
540
|
+
src: logo.src,
|
|
541
|
+
className: cn(
|
|
542
|
+
"w-auto object-contain",
|
|
543
|
+
SIZE_CLASSES[size],
|
|
544
|
+
logo.className
|
|
545
|
+
),
|
|
546
|
+
alt: logo.alt || "Logo",
|
|
547
|
+
optixFlowConfig,
|
|
548
|
+
loading: "eager"
|
|
549
|
+
}
|
|
550
|
+
);
|
|
551
|
+
if (logo.url) {
|
|
552
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
553
|
+
pressable.Pressable,
|
|
554
|
+
{
|
|
555
|
+
href: logo.url,
|
|
556
|
+
className: cn("flex items-center", logoClassName),
|
|
557
|
+
children: imgElement
|
|
558
|
+
}
|
|
559
|
+
);
|
|
560
|
+
}
|
|
561
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
562
|
+
};
|
|
521
563
|
function HeroPresentationPlatformVideo({
|
|
522
564
|
sectionId = "hero-presentation-platform-video",
|
|
523
565
|
subtitle,
|
|
@@ -538,7 +580,10 @@ function HeroPresentationPlatformVideo({
|
|
|
538
580
|
contentClassName,
|
|
539
581
|
headingClassName,
|
|
540
582
|
descriptionClassName,
|
|
541
|
-
videoClassName
|
|
583
|
+
videoClassName,
|
|
584
|
+
logo,
|
|
585
|
+
logoSlot,
|
|
586
|
+
logoClassName
|
|
542
587
|
}) {
|
|
543
588
|
const contentItems = React4.useMemo(() => {
|
|
544
589
|
const items = [];
|
|
@@ -635,6 +680,7 @@ function HeroPresentationPlatformVideo({
|
|
|
635
680
|
contentClassName
|
|
636
681
|
),
|
|
637
682
|
children: [
|
|
683
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
638
684
|
/* @__PURE__ */ jsxRuntime.jsx(ContentGroup, { items: contentItems }),
|
|
639
685
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
640
686
|
BlockActions,
|
|
@@ -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, M as MediaItem } 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 HeroPresentationPlatformVideoProps {
|
|
|
83
86
|
* Additional CSS classes for the actions container
|
|
84
87
|
*/
|
|
85
88
|
actionsClassName?: string;
|
|
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 HeroPresentationPlatformVideo({ sectionId, subtitle, heading, description, actions, actionsSlot, actionsClassName, backgroundVideo, videoSrc, videoSlot, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, videoClassName, }: HeroPresentationPlatformVideoProps): React.JSX.Element;
|
|
104
|
+
declare function HeroPresentationPlatformVideo({ sectionId, subtitle, heading, description, actions, actionsSlot, actionsClassName, backgroundVideo, videoSrc, videoSlot, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, videoClassName, logo, logoSlot, logoClassName, }: HeroPresentationPlatformVideoProps): React.JSX.Element;
|
|
90
105
|
|
|
91
106
|
export { HeroPresentationPlatformVideo, type HeroPresentationPlatformVideoProps };
|
|
@@ -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, M as MediaItem } 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 HeroPresentationPlatformVideoProps {
|
|
|
83
86
|
* Additional CSS classes for the actions container
|
|
84
87
|
*/
|
|
85
88
|
actionsClassName?: string;
|
|
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 HeroPresentationPlatformVideo({ sectionId, subtitle, heading, description, actions, actionsSlot, actionsClassName, backgroundVideo, videoSrc, videoSlot, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, videoClassName, }: HeroPresentationPlatformVideoProps): React.JSX.Element;
|
|
104
|
+
declare function HeroPresentationPlatformVideo({ sectionId, subtitle, heading, description, actions, actionsSlot, actionsClassName, backgroundVideo, videoSrc, videoSlot, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, videoClassName, logo, logoSlot, logoClassName, }: HeroPresentationPlatformVideoProps): React.JSX.Element;
|
|
90
105
|
|
|
91
106
|
export { HeroPresentationPlatformVideo, type HeroPresentationPlatformVideoProps };
|
|
@@ -6,6 +6,7 @@ import { clsx } from 'clsx';
|
|
|
6
6
|
import { twMerge } from 'tailwind-merge';
|
|
7
7
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
8
|
import { Pressable, buttonVariants } from '@page-speed/pressable';
|
|
9
|
+
import { Img } from '@page-speed/img';
|
|
9
10
|
|
|
10
11
|
// components/blocks/hero/hero-presentation-platform-video.tsx
|
|
11
12
|
function cn(...inputs) {
|
|
@@ -497,6 +498,47 @@ function ActionComponent({ action }) {
|
|
|
497
498
|
}
|
|
498
499
|
);
|
|
499
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
|
+
};
|
|
500
542
|
function HeroPresentationPlatformVideo({
|
|
501
543
|
sectionId = "hero-presentation-platform-video",
|
|
502
544
|
subtitle,
|
|
@@ -517,7 +559,10 @@ function HeroPresentationPlatformVideo({
|
|
|
517
559
|
contentClassName,
|
|
518
560
|
headingClassName,
|
|
519
561
|
descriptionClassName,
|
|
520
|
-
videoClassName
|
|
562
|
+
videoClassName,
|
|
563
|
+
logo,
|
|
564
|
+
logoSlot,
|
|
565
|
+
logoClassName
|
|
521
566
|
}) {
|
|
522
567
|
const contentItems = useMemo(() => {
|
|
523
568
|
const items = [];
|
|
@@ -614,6 +659,7 @@ function HeroPresentationPlatformVideo({
|
|
|
614
659
|
contentClassName
|
|
615
660
|
),
|
|
616
661
|
children: [
|
|
662
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
617
663
|
/* @__PURE__ */ jsx(ContentGroup, { items: contentItems }),
|
|
618
664
|
/* @__PURE__ */ jsx(
|
|
619
665
|
BlockActions,
|
|
@@ -9,6 +9,7 @@ var icon = require('@page-speed/icon');
|
|
|
9
9
|
var jsxRuntime = require('react/jsx-runtime');
|
|
10
10
|
var reactSlot = require('@radix-ui/react-slot');
|
|
11
11
|
var classVarianceAuthority = require('class-variance-authority');
|
|
12
|
+
var img = require('@page-speed/img');
|
|
12
13
|
|
|
13
14
|
function _interopNamespace(e) {
|
|
14
15
|
if (e && e.__esModule) return e;
|
|
@@ -533,6 +534,47 @@ var Section = React__namespace.default.forwardRef(
|
|
|
533
534
|
}
|
|
534
535
|
);
|
|
535
536
|
Section.displayName = "Section";
|
|
537
|
+
var SIZE_CLASSES = {
|
|
538
|
+
sm: "max-h-6 sm:max-h-7",
|
|
539
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
540
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
541
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
542
|
+
};
|
|
543
|
+
var BrandLogo = ({
|
|
544
|
+
logo,
|
|
545
|
+
logoSlot,
|
|
546
|
+
logoClassName,
|
|
547
|
+
size = "md",
|
|
548
|
+
optixFlowConfig
|
|
549
|
+
}) => {
|
|
550
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
551
|
+
if (!logo || !logo.src) return null;
|
|
552
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
553
|
+
img.Img,
|
|
554
|
+
{
|
|
555
|
+
src: logo.src,
|
|
556
|
+
className: cn(
|
|
557
|
+
"w-auto object-contain",
|
|
558
|
+
SIZE_CLASSES[size],
|
|
559
|
+
logo.className
|
|
560
|
+
),
|
|
561
|
+
alt: logo.alt || "Logo",
|
|
562
|
+
optixFlowConfig,
|
|
563
|
+
loading: "eager"
|
|
564
|
+
}
|
|
565
|
+
);
|
|
566
|
+
if (logo.url) {
|
|
567
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
568
|
+
pressable.Pressable,
|
|
569
|
+
{
|
|
570
|
+
href: logo.url,
|
|
571
|
+
className: cn("flex items-center", logoClassName),
|
|
572
|
+
children: imgElement
|
|
573
|
+
}
|
|
574
|
+
);
|
|
575
|
+
}
|
|
576
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
577
|
+
};
|
|
536
578
|
function HeroPricingComparison({
|
|
537
579
|
sectionId = "hero-pricing-comparison",
|
|
538
580
|
badgeText,
|
|
@@ -550,7 +592,10 @@ function HeroPricingComparison({
|
|
|
550
592
|
headerClassName,
|
|
551
593
|
headingClassName,
|
|
552
594
|
descriptionClassName,
|
|
553
|
-
plansClassName
|
|
595
|
+
plansClassName,
|
|
596
|
+
logo,
|
|
597
|
+
logoSlot,
|
|
598
|
+
logoClassName
|
|
554
599
|
}) {
|
|
555
600
|
const renderBadge = React.useMemo(() => {
|
|
556
601
|
if (badgeSlot) return badgeSlot;
|
|
@@ -608,6 +653,7 @@ function HeroPricingComparison({
|
|
|
608
653
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
609
654
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-4xl text-center", headerClassName), children: [
|
|
610
655
|
renderBadge,
|
|
656
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
611
657
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", headingClassName), children: heading })),
|
|
612
658
|
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-6 text-lg md:text-xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
|
|
613
659
|
] }),
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Cgd-IXlI.cjs';
|
|
3
|
+
import { L as LogoConfig } from './types-mWZcgKth.cjs';
|
|
3
4
|
import { A as ActionConfig } from './blocks-DyouPohq.cjs';
|
|
4
5
|
import 'react/jsx-runtime';
|
|
6
|
+
import './dynamic-icon.cjs';
|
|
7
|
+
import '@page-speed/icon';
|
|
5
8
|
import 'class-variance-authority';
|
|
6
9
|
import '@page-speed/pressable';
|
|
7
10
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
@@ -104,9 +107,21 @@ interface HeroPricingComparisonProps {
|
|
|
104
107
|
* Additional CSS classes for the plans grid
|
|
105
108
|
*/
|
|
106
109
|
plansClassName?: string;
|
|
110
|
+
/**
|
|
111
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
112
|
+
*/
|
|
113
|
+
logo?: LogoConfig;
|
|
114
|
+
/**
|
|
115
|
+
* Custom slot for logo (overrides logo prop)
|
|
116
|
+
*/
|
|
117
|
+
logoSlot?: React.ReactNode;
|
|
118
|
+
/**
|
|
119
|
+
* Additional CSS classes for the logo container
|
|
120
|
+
*/
|
|
121
|
+
logoClassName?: string;
|
|
107
122
|
/** Optional Section ID */
|
|
108
123
|
sectionId?: string;
|
|
109
124
|
}
|
|
110
|
-
declare function HeroPricingComparison({ sectionId, badgeText, badgeSlot, heading, description, plans, plansSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headerClassName, headingClassName, descriptionClassName, plansClassName, }: HeroPricingComparisonProps): React.JSX.Element;
|
|
125
|
+
declare function HeroPricingComparison({ sectionId, badgeText, badgeSlot, heading, description, plans, plansSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headerClassName, headingClassName, descriptionClassName, plansClassName, logo, logoSlot, logoClassName, }: HeroPricingComparisonProps): React.JSX.Element;
|
|
111
126
|
|
|
112
127
|
export { HeroPricingComparison, type HeroPricingComparisonProps };
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Dud0DKXB.js';
|
|
3
|
+
import { L as LogoConfig } from './types-hJ2R0GoH.js';
|
|
3
4
|
import { A as ActionConfig } from './blocks-DyouPohq.js';
|
|
4
5
|
import 'react/jsx-runtime';
|
|
6
|
+
import './dynamic-icon.js';
|
|
7
|
+
import '@page-speed/icon';
|
|
5
8
|
import 'class-variance-authority';
|
|
6
9
|
import '@page-speed/pressable';
|
|
7
10
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
@@ -104,9 +107,21 @@ interface HeroPricingComparisonProps {
|
|
|
104
107
|
* Additional CSS classes for the plans grid
|
|
105
108
|
*/
|
|
106
109
|
plansClassName?: string;
|
|
110
|
+
/**
|
|
111
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
112
|
+
*/
|
|
113
|
+
logo?: LogoConfig;
|
|
114
|
+
/**
|
|
115
|
+
* Custom slot for logo (overrides logo prop)
|
|
116
|
+
*/
|
|
117
|
+
logoSlot?: React.ReactNode;
|
|
118
|
+
/**
|
|
119
|
+
* Additional CSS classes for the logo container
|
|
120
|
+
*/
|
|
121
|
+
logoClassName?: string;
|
|
107
122
|
/** Optional Section ID */
|
|
108
123
|
sectionId?: string;
|
|
109
124
|
}
|
|
110
|
-
declare function HeroPricingComparison({ sectionId, badgeText, badgeSlot, heading, description, plans, plansSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headerClassName, headingClassName, descriptionClassName, plansClassName, }: HeroPricingComparisonProps): React.JSX.Element;
|
|
125
|
+
declare function HeroPricingComparison({ sectionId, badgeText, badgeSlot, heading, description, plans, plansSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headerClassName, headingClassName, descriptionClassName, plansClassName, logo, logoSlot, logoClassName, }: HeroPricingComparisonProps): React.JSX.Element;
|
|
111
126
|
|
|
112
127
|
export { HeroPricingComparison, type HeroPricingComparisonProps };
|
|
@@ -8,6 +8,7 @@ import { Icon } from '@page-speed/icon';
|
|
|
8
8
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
9
9
|
import { Slot } from '@radix-ui/react-slot';
|
|
10
10
|
import { cva } from 'class-variance-authority';
|
|
11
|
+
import { Img } from '@page-speed/img';
|
|
11
12
|
|
|
12
13
|
// components/blocks/hero/hero-pricing-comparison.tsx
|
|
13
14
|
function cn(...inputs) {
|
|
@@ -512,6 +513,47 @@ var Section = React__default.forwardRef(
|
|
|
512
513
|
}
|
|
513
514
|
);
|
|
514
515
|
Section.displayName = "Section";
|
|
516
|
+
var SIZE_CLASSES = {
|
|
517
|
+
sm: "max-h-6 sm:max-h-7",
|
|
518
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
519
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
520
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
521
|
+
};
|
|
522
|
+
var BrandLogo = ({
|
|
523
|
+
logo,
|
|
524
|
+
logoSlot,
|
|
525
|
+
logoClassName,
|
|
526
|
+
size = "md",
|
|
527
|
+
optixFlowConfig
|
|
528
|
+
}) => {
|
|
529
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
530
|
+
if (!logo || !logo.src) return null;
|
|
531
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
532
|
+
Img,
|
|
533
|
+
{
|
|
534
|
+
src: logo.src,
|
|
535
|
+
className: cn(
|
|
536
|
+
"w-auto object-contain",
|
|
537
|
+
SIZE_CLASSES[size],
|
|
538
|
+
logo.className
|
|
539
|
+
),
|
|
540
|
+
alt: logo.alt || "Logo",
|
|
541
|
+
optixFlowConfig,
|
|
542
|
+
loading: "eager"
|
|
543
|
+
}
|
|
544
|
+
);
|
|
545
|
+
if (logo.url) {
|
|
546
|
+
return /* @__PURE__ */ jsx(
|
|
547
|
+
Pressable,
|
|
548
|
+
{
|
|
549
|
+
href: logo.url,
|
|
550
|
+
className: cn("flex items-center", logoClassName),
|
|
551
|
+
children: imgElement
|
|
552
|
+
}
|
|
553
|
+
);
|
|
554
|
+
}
|
|
555
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
556
|
+
};
|
|
515
557
|
function HeroPricingComparison({
|
|
516
558
|
sectionId = "hero-pricing-comparison",
|
|
517
559
|
badgeText,
|
|
@@ -529,7 +571,10 @@ function HeroPricingComparison({
|
|
|
529
571
|
headerClassName,
|
|
530
572
|
headingClassName,
|
|
531
573
|
descriptionClassName,
|
|
532
|
-
plansClassName
|
|
574
|
+
plansClassName,
|
|
575
|
+
logo,
|
|
576
|
+
logoSlot,
|
|
577
|
+
logoClassName
|
|
533
578
|
}) {
|
|
534
579
|
const renderBadge = useMemo(() => {
|
|
535
580
|
if (badgeSlot) return badgeSlot;
|
|
@@ -587,6 +632,7 @@ function HeroPricingComparison({
|
|
|
587
632
|
children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
|
|
588
633
|
/* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-4xl text-center", headerClassName), children: [
|
|
589
634
|
renderBadge,
|
|
635
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
590
636
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", headingClassName), children: heading })),
|
|
591
637
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-6 text-lg md:text-xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
|
|
592
638
|
] }),
|
|
@@ -566,6 +566,47 @@ function ActionComponent({ action }) {
|
|
|
566
566
|
}
|
|
567
567
|
);
|
|
568
568
|
}
|
|
569
|
+
var SIZE_CLASSES = {
|
|
570
|
+
sm: "max-h-6 sm:max-h-7",
|
|
571
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
572
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
573
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
574
|
+
};
|
|
575
|
+
var BrandLogo = ({
|
|
576
|
+
logo,
|
|
577
|
+
logoSlot,
|
|
578
|
+
logoClassName,
|
|
579
|
+
size = "md",
|
|
580
|
+
optixFlowConfig
|
|
581
|
+
}) => {
|
|
582
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
583
|
+
if (!logo || !logo.src) return null;
|
|
584
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
585
|
+
img.Img,
|
|
586
|
+
{
|
|
587
|
+
src: logo.src,
|
|
588
|
+
className: cn(
|
|
589
|
+
"w-auto object-contain",
|
|
590
|
+
SIZE_CLASSES[size],
|
|
591
|
+
logo.className
|
|
592
|
+
),
|
|
593
|
+
alt: logo.alt || "Logo",
|
|
594
|
+
optixFlowConfig,
|
|
595
|
+
loading: "eager"
|
|
596
|
+
}
|
|
597
|
+
);
|
|
598
|
+
if (logo.url) {
|
|
599
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
600
|
+
pressable.Pressable,
|
|
601
|
+
{
|
|
602
|
+
href: logo.url,
|
|
603
|
+
className: cn("flex items-center", logoClassName),
|
|
604
|
+
children: imgElement
|
|
605
|
+
}
|
|
606
|
+
);
|
|
607
|
+
}
|
|
608
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
609
|
+
};
|
|
569
610
|
function HeroProductShowcaseFloating({
|
|
570
611
|
sectionId = "hero-product-showcase-floating",
|
|
571
612
|
badgeText,
|
|
@@ -593,7 +634,10 @@ function HeroProductShowcaseFloating({
|
|
|
593
634
|
headerClassName,
|
|
594
635
|
descriptionClassName,
|
|
595
636
|
showcaseClassName,
|
|
596
|
-
optixFlowConfig
|
|
637
|
+
optixFlowConfig,
|
|
638
|
+
logo,
|
|
639
|
+
logoSlot,
|
|
640
|
+
logoClassName
|
|
597
641
|
}) {
|
|
598
642
|
const renderBadge = React5.useMemo(() => {
|
|
599
643
|
if (badgeSlot) return badgeSlot;
|
|
@@ -719,6 +763,7 @@ function HeroProductShowcaseFloating({
|
|
|
719
763
|
),
|
|
720
764
|
children: [
|
|
721
765
|
renderBadge,
|
|
766
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
722
767
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
723
768
|
ContentGroup,
|
|
724
769
|
{
|
|
@@ -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';
|
|
@@ -142,9 +145,21 @@ interface HeroProductShowcaseFloatingProps {
|
|
|
142
145
|
* Additional CSS classes for the actions container
|
|
143
146
|
*/
|
|
144
147
|
actionsClassName?: string;
|
|
148
|
+
/**
|
|
149
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
150
|
+
*/
|
|
151
|
+
logo?: LogoConfig;
|
|
152
|
+
/**
|
|
153
|
+
* Custom slot for logo (overrides logo prop)
|
|
154
|
+
*/
|
|
155
|
+
logoSlot?: React.ReactNode;
|
|
156
|
+
/**
|
|
157
|
+
* Additional CSS classes for the logo container
|
|
158
|
+
*/
|
|
159
|
+
logoClassName?: string;
|
|
145
160
|
/** Optional Section ID */
|
|
146
161
|
sectionId?: string;
|
|
147
162
|
}
|
|
148
|
-
declare function HeroProductShowcaseFloating({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, actions, actionsSlot, actionsClassName, productImage, productImageSlot, floatingStat, floatingStatSlot, userCount, userCountSlot, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, headerClassName, descriptionClassName, showcaseClassName, optixFlowConfig, }: HeroProductShowcaseFloatingProps): React.JSX.Element;
|
|
163
|
+
declare function HeroProductShowcaseFloating({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, actions, actionsSlot, actionsClassName, productImage, productImageSlot, floatingStat, floatingStatSlot, userCount, userCountSlot, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, headerClassName, descriptionClassName, showcaseClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroProductShowcaseFloatingProps): React.JSX.Element;
|
|
149
164
|
|
|
150
165
|
export { HeroProductShowcaseFloating, type HeroProductShowcaseFloatingProps };
|
|
@@ -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';
|
|
@@ -142,9 +145,21 @@ interface HeroProductShowcaseFloatingProps {
|
|
|
142
145
|
* Additional CSS classes for the actions container
|
|
143
146
|
*/
|
|
144
147
|
actionsClassName?: string;
|
|
148
|
+
/**
|
|
149
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
150
|
+
*/
|
|
151
|
+
logo?: LogoConfig;
|
|
152
|
+
/**
|
|
153
|
+
* Custom slot for logo (overrides logo prop)
|
|
154
|
+
*/
|
|
155
|
+
logoSlot?: React.ReactNode;
|
|
156
|
+
/**
|
|
157
|
+
* Additional CSS classes for the logo container
|
|
158
|
+
*/
|
|
159
|
+
logoClassName?: string;
|
|
145
160
|
/** Optional Section ID */
|
|
146
161
|
sectionId?: string;
|
|
147
162
|
}
|
|
148
|
-
declare function HeroProductShowcaseFloating({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, actions, actionsSlot, actionsClassName, productImage, productImageSlot, floatingStat, floatingStatSlot, userCount, userCountSlot, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, headerClassName, descriptionClassName, showcaseClassName, optixFlowConfig, }: HeroProductShowcaseFloatingProps): React.JSX.Element;
|
|
163
|
+
declare function HeroProductShowcaseFloating({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, actions, actionsSlot, actionsClassName, productImage, productImageSlot, floatingStat, floatingStatSlot, userCount, userCountSlot, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, headerClassName, descriptionClassName, showcaseClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroProductShowcaseFloatingProps): React.JSX.Element;
|
|
149
164
|
|
|
150
165
|
export { HeroProductShowcaseFloating, type HeroProductShowcaseFloatingProps };
|
|
@@ -545,6 +545,47 @@ function ActionComponent({ action }) {
|
|
|
545
545
|
}
|
|
546
546
|
);
|
|
547
547
|
}
|
|
548
|
+
var SIZE_CLASSES = {
|
|
549
|
+
sm: "max-h-6 sm:max-h-7",
|
|
550
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
551
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
552
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
553
|
+
};
|
|
554
|
+
var BrandLogo = ({
|
|
555
|
+
logo,
|
|
556
|
+
logoSlot,
|
|
557
|
+
logoClassName,
|
|
558
|
+
size = "md",
|
|
559
|
+
optixFlowConfig
|
|
560
|
+
}) => {
|
|
561
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
562
|
+
if (!logo || !logo.src) return null;
|
|
563
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
564
|
+
Img,
|
|
565
|
+
{
|
|
566
|
+
src: logo.src,
|
|
567
|
+
className: cn(
|
|
568
|
+
"w-auto object-contain",
|
|
569
|
+
SIZE_CLASSES[size],
|
|
570
|
+
logo.className
|
|
571
|
+
),
|
|
572
|
+
alt: logo.alt || "Logo",
|
|
573
|
+
optixFlowConfig,
|
|
574
|
+
loading: "eager"
|
|
575
|
+
}
|
|
576
|
+
);
|
|
577
|
+
if (logo.url) {
|
|
578
|
+
return /* @__PURE__ */ jsx(
|
|
579
|
+
Pressable,
|
|
580
|
+
{
|
|
581
|
+
href: logo.url,
|
|
582
|
+
className: cn("flex items-center", logoClassName),
|
|
583
|
+
children: imgElement
|
|
584
|
+
}
|
|
585
|
+
);
|
|
586
|
+
}
|
|
587
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
588
|
+
};
|
|
548
589
|
function HeroProductShowcaseFloating({
|
|
549
590
|
sectionId = "hero-product-showcase-floating",
|
|
550
591
|
badgeText,
|
|
@@ -572,7 +613,10 @@ function HeroProductShowcaseFloating({
|
|
|
572
613
|
headerClassName,
|
|
573
614
|
descriptionClassName,
|
|
574
615
|
showcaseClassName,
|
|
575
|
-
optixFlowConfig
|
|
616
|
+
optixFlowConfig,
|
|
617
|
+
logo,
|
|
618
|
+
logoSlot,
|
|
619
|
+
logoClassName
|
|
576
620
|
}) {
|
|
577
621
|
const renderBadge = useMemo(() => {
|
|
578
622
|
if (badgeSlot) return badgeSlot;
|
|
@@ -698,6 +742,7 @@ function HeroProductShowcaseFloating({
|
|
|
698
742
|
),
|
|
699
743
|
children: [
|
|
700
744
|
renderBadge,
|
|
745
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
701
746
|
/* @__PURE__ */ jsx(
|
|
702
747
|
ContentGroup,
|
|
703
748
|
{
|