@opensite/ui 3.7.2 → 3.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hero-ad-campaign-expert.cjs +46 -1
- package/dist/hero-ad-campaign-expert.d.cts +16 -1
- package/dist/hero-ad-campaign-expert.d.ts +16 -1
- package/dist/hero-ad-campaign-expert.js +46 -1
- package/dist/hero-adaptable-product-grid.cjs +46 -1
- package/dist/hero-adaptable-product-grid.d.cts +16 -1
- package/dist/hero-adaptable-product-grid.d.ts +16 -1
- package/dist/hero-adaptable-product-grid.js +46 -1
- package/dist/hero-agency-animated-images.cjs +46 -1
- package/dist/hero-agency-animated-images.d.cts +16 -1
- package/dist/hero-agency-animated-images.d.ts +16 -1
- package/dist/hero-agency-animated-images.js +46 -1
- package/dist/hero-ai-powered-carousel.cjs +46 -1
- package/dist/hero-ai-powered-carousel.d.cts +16 -1
- package/dist/hero-ai-powered-carousel.d.ts +16 -1
- package/dist/hero-ai-powered-carousel.js +46 -1
- package/dist/hero-announcement-badge.cjs +47 -1
- package/dist/hero-announcement-badge.d.cts +16 -1
- package/dist/hero-announcement-badge.d.ts +16 -1
- package/dist/hero-announcement-badge.js +47 -1
- package/dist/hero-architecture-fullscreen.cjs +46 -1
- package/dist/hero-architecture-fullscreen.d.cts +16 -1
- package/dist/hero-architecture-fullscreen.d.ts +16 -1
- package/dist/hero-architecture-fullscreen.js +46 -1
- package/dist/hero-badge-image-split.cjs +46 -1
- package/dist/hero-badge-image-split.d.cts +16 -1
- package/dist/hero-badge-image-split.d.ts +16 -1
- package/dist/hero-badge-image-split.js +46 -1
- package/dist/hero-badge-shadow-overlay.cjs +46 -1
- package/dist/hero-badge-shadow-overlay.d.cts +16 -1
- package/dist/hero-badge-shadow-overlay.d.ts +16 -1
- package/dist/hero-badge-shadow-overlay.js +46 -1
- package/dist/hero-business-carousel-dots.cjs +46 -1
- package/dist/hero-business-carousel-dots.d.cts +16 -1
- package/dist/hero-business-carousel-dots.d.ts +16 -1
- package/dist/hero-business-carousel-dots.js +46 -1
- package/dist/hero-business-operations-mosaic.cjs +46 -1
- package/dist/hero-business-operations-mosaic.d.cts +16 -1
- package/dist/hero-business-operations-mosaic.d.ts +16 -1
- package/dist/hero-business-operations-mosaic.js +46 -1
- package/dist/hero-centered-gradient-cta.cjs +47 -1
- package/dist/hero-centered-gradient-cta.d.cts +16 -1
- package/dist/hero-centered-gradient-cta.d.ts +16 -1
- package/dist/hero-centered-gradient-cta.js +47 -1
- package/dist/hero-centered-image-grid.cjs +46 -1
- package/dist/hero-centered-image-grid.d.cts +16 -1
- package/dist/hero-centered-image-grid.d.ts +16 -1
- package/dist/hero-centered-image-grid.js +46 -1
- package/dist/hero-centered-screenshot.cjs +46 -1
- package/dist/hero-centered-screenshot.d.cts +16 -1
- package/dist/hero-centered-screenshot.d.ts +16 -1
- package/dist/hero-centered-screenshot.js +46 -1
- package/dist/hero-coming-soon-countdown.cjs +47 -1
- package/dist/hero-coming-soon-countdown.d.cts +16 -1
- package/dist/hero-coming-soon-countdown.d.ts +16 -1
- package/dist/hero-coming-soon-countdown.js +47 -1
- package/dist/hero-community-survey-cta.cjs +46 -1
- package/dist/hero-community-survey-cta.d.cts +16 -1
- package/dist/hero-community-survey-cta.d.ts +16 -1
- package/dist/hero-community-survey-cta.js +46 -1
- package/dist/hero-conversation-intelligence.cjs +46 -1
- package/dist/hero-conversation-intelligence.d.cts +16 -1
- package/dist/hero-conversation-intelligence.d.ts +16 -1
- package/dist/hero-conversation-intelligence.js +46 -1
- package/dist/hero-creative-studio-stacked.cjs +46 -1
- package/dist/hero-creative-studio-stacked.d.cts +17 -2
- package/dist/hero-creative-studio-stacked.d.ts +17 -2
- package/dist/hero-creative-studio-stacked.js +46 -1
- package/dist/hero-crm-streamlined.cjs +46 -1
- package/dist/hero-crm-streamlined.d.cts +16 -1
- package/dist/hero-crm-streamlined.d.ts +16 -1
- package/dist/hero-crm-streamlined.js +46 -1
- package/dist/hero-customer-support-layered.cjs +46 -1
- package/dist/hero-customer-support-layered.d.cts +16 -1
- package/dist/hero-customer-support-layered.d.ts +16 -1
- package/dist/hero-customer-support-layered.js +46 -1
- package/dist/hero-design-system-3d.cjs +67 -20
- package/dist/hero-design-system-3d.d.cts +16 -1
- package/dist/hero-design-system-3d.d.ts +16 -1
- package/dist/hero-design-system-3d.js +67 -20
- package/dist/hero-developer-tools-code.cjs +47 -1
- package/dist/hero-developer-tools-code.d.cts +16 -1
- package/dist/hero-developer-tools-code.d.ts +16 -1
- package/dist/hero-developer-tools-code.js +47 -1
- package/dist/hero-digital-agency-fullscreen.cjs +46 -1
- package/dist/hero-digital-agency-fullscreen.d.cts +16 -1
- package/dist/hero-digital-agency-fullscreen.d.ts +16 -1
- package/dist/hero-digital-agency-fullscreen.js +46 -1
- package/dist/hero-ecommerce-product-showcase.cjs +46 -1
- package/dist/hero-ecommerce-product-showcase.d.cts +16 -1
- package/dist/hero-ecommerce-product-showcase.d.ts +16 -1
- package/dist/hero-ecommerce-product-showcase.js +46 -1
- package/dist/hero-enterprise-security.cjs +47 -1
- package/dist/hero-enterprise-security.d.cts +16 -1
- package/dist/hero-enterprise-security.d.ts +16 -1
- package/dist/hero-enterprise-security.js +47 -1
- package/dist/hero-feature-cards-grid.cjs +47 -1
- package/dist/hero-feature-cards-grid.d.cts +16 -1
- package/dist/hero-feature-cards-grid.d.ts +16 -1
- package/dist/hero-feature-cards-grid.js +47 -1
- package/dist/hero-fullscreen-background-image.cjs +46 -1
- package/dist/hero-fullscreen-background-image.d.cts +16 -1
- package/dist/hero-fullscreen-background-image.d.ts +16 -1
- package/dist/hero-fullscreen-background-image.js +46 -1
- package/dist/hero-gradient-avatars-rating.cjs +46 -1
- package/dist/hero-gradient-avatars-rating.d.cts +16 -1
- package/dist/hero-gradient-avatars-rating.d.ts +16 -1
- package/dist/hero-gradient-avatars-rating.js +46 -1
- package/dist/hero-gradient-client-focused.cjs +46 -1
- package/dist/hero-gradient-client-focused.d.cts +16 -1
- package/dist/hero-gradient-client-focused.d.ts +16 -1
- package/dist/hero-gradient-client-focused.js +46 -1
- package/dist/hero-grid-pattern-efficiency.cjs +47 -1
- package/dist/hero-grid-pattern-efficiency.d.cts +16 -1
- package/dist/hero-grid-pattern-efficiency.d.ts +16 -1
- package/dist/hero-grid-pattern-efficiency.js +47 -1
- package/dist/hero-grid-pattern-solutions.cjs +46 -1
- package/dist/hero-grid-pattern-solutions.d.cts +16 -1
- package/dist/hero-grid-pattern-solutions.d.ts +16 -1
- package/dist/hero-grid-pattern-solutions.js +46 -1
- package/dist/hero-hiring-animated-text.cjs +47 -1
- package/dist/hero-hiring-animated-text.d.cts +16 -1
- package/dist/hero-hiring-animated-text.d.ts +16 -1
- package/dist/hero-hiring-animated-text.js +47 -1
- package/dist/hero-image-left-content.cjs +46 -1
- package/dist/hero-image-left-content.d.cts +16 -1
- package/dist/hero-image-left-content.d.ts +16 -1
- package/dist/hero-image-left-content.js +46 -1
- package/dist/hero-image-slider.cjs +46 -1
- package/dist/hero-image-slider.d.cts +16 -1
- package/dist/hero-image-slider.d.ts +16 -1
- package/dist/hero-image-slider.js +46 -1
- package/dist/hero-innovation-image-grid.cjs +46 -1
- package/dist/hero-innovation-image-grid.d.cts +16 -1
- package/dist/hero-innovation-image-grid.d.ts +16 -1
- package/dist/hero-innovation-image-grid.js +46 -1
- package/dist/hero-marketplace-scattered-images.cjs +46 -1
- package/dist/hero-marketplace-scattered-images.d.cts +16 -1
- package/dist/hero-marketplace-scattered-images.d.ts +16 -1
- package/dist/hero-marketplace-scattered-images.js +46 -1
- package/dist/hero-minimal-centered-dark.cjs +47 -1
- package/dist/hero-minimal-centered-dark.d.cts +16 -1
- package/dist/hero-minimal-centered-dark.d.ts +16 -1
- package/dist/hero-minimal-centered-dark.js +47 -1
- package/dist/hero-mobile-app-download.cjs +46 -1
- package/dist/hero-mobile-app-download.d.cts +16 -1
- package/dist/hero-mobile-app-download.d.ts +16 -1
- package/dist/hero-mobile-app-download.js +46 -1
- package/dist/hero-newsletter-minimal.cjs +48 -1
- package/dist/hero-newsletter-minimal.d.cts +16 -1
- package/dist/hero-newsletter-minimal.d.ts +16 -1
- package/dist/hero-newsletter-minimal.js +48 -1
- package/dist/hero-overlay-cta-grid.cjs +46 -1
- package/dist/hero-overlay-cta-grid.d.cts +16 -1
- package/dist/hero-overlay-cta-grid.d.ts +16 -1
- package/dist/hero-overlay-cta-grid.js +46 -1
- package/dist/hero-portfolio-creative.cjs +46 -1
- package/dist/hero-portfolio-creative.d.cts +16 -1
- package/dist/hero-portfolio-creative.d.ts +16 -1
- package/dist/hero-portfolio-creative.js +46 -1
- package/dist/hero-premium-split-avatars.cjs +46 -1
- package/dist/hero-premium-split-avatars.d.cts +16 -1
- package/dist/hero-premium-split-avatars.d.ts +16 -1
- package/dist/hero-premium-split-avatars.js +46 -1
- package/dist/hero-presentation-platform-video.cjs +47 -1
- package/dist/hero-presentation-platform-video.d.cts +16 -1
- package/dist/hero-presentation-platform-video.d.ts +16 -1
- package/dist/hero-presentation-platform-video.js +47 -1
- package/dist/hero-pricing-comparison.cjs +47 -1
- package/dist/hero-pricing-comparison.d.cts +16 -1
- package/dist/hero-pricing-comparison.d.ts +16 -1
- package/dist/hero-pricing-comparison.js +47 -1
- package/dist/hero-product-showcase-floating.cjs +46 -1
- package/dist/hero-product-showcase-floating.d.cts +16 -1
- package/dist/hero-product-showcase-floating.d.ts +16 -1
- package/dist/hero-product-showcase-floating.js +46 -1
- package/dist/hero-productivity-launcher-video.cjs +68 -20
- package/dist/hero-productivity-launcher-video.d.cts +16 -1
- package/dist/hero-productivity-launcher-video.d.ts +16 -1
- package/dist/hero-productivity-launcher-video.js +68 -20
- package/dist/hero-saas-dashboard-preview.cjs +46 -1
- package/dist/hero-saas-dashboard-preview.d.cts +16 -1
- package/dist/hero-saas-dashboard-preview.d.ts +16 -1
- package/dist/hero-saas-dashboard-preview.js +46 -1
- package/dist/hero-shared-inbox-layered.cjs +46 -1
- package/dist/hero-shared-inbox-layered.d.cts +16 -1
- package/dist/hero-shared-inbox-layered.d.ts +16 -1
- package/dist/hero-shared-inbox-layered.js +46 -1
- package/dist/hero-simple-centered-image.cjs +46 -1
- package/dist/hero-simple-centered-image.d.cts +16 -1
- package/dist/hero-simple-centered-image.d.ts +16 -1
- package/dist/hero-simple-centered-image.js +46 -1
- package/dist/hero-software-growth-video-dialog.cjs +46 -1
- package/dist/hero-software-growth-video-dialog.d.cts +16 -1
- package/dist/hero-software-growth-video-dialog.d.ts +16 -1
- package/dist/hero-software-growth-video-dialog.js +46 -1
- package/dist/hero-spiral-pattern-cards.cjs +46 -1
- package/dist/hero-spiral-pattern-cards.d.cts +16 -1
- package/dist/hero-spiral-pattern-cards.d.ts +16 -1
- package/dist/hero-spiral-pattern-cards.js +46 -1
- package/dist/hero-split-geometric-shapes.cjs +46 -1
- package/dist/hero-split-geometric-shapes.d.cts +16 -1
- package/dist/hero-split-geometric-shapes.d.ts +16 -1
- package/dist/hero-split-geometric-shapes.js +46 -1
- package/dist/hero-split-icon-cards.cjs +47 -1
- package/dist/hero-split-icon-cards.d.cts +16 -1
- package/dist/hero-split-icon-cards.d.ts +16 -1
- package/dist/hero-split-icon-cards.js +47 -1
- package/dist/hero-split-image-newsletter.cjs +46 -1
- package/dist/hero-split-image-newsletter.d.cts +16 -1
- package/dist/hero-split-image-newsletter.d.ts +16 -1
- package/dist/hero-split-image-newsletter.js +47 -2
- package/dist/hero-split-spiral-shapes.cjs +46 -1
- package/dist/hero-split-spiral-shapes.d.cts +16 -1
- package/dist/hero-split-spiral-shapes.d.ts +16 -1
- package/dist/hero-split-spiral-shapes.js +46 -1
- package/dist/hero-startup-launch-cta.cjs +46 -1
- package/dist/hero-startup-launch-cta.d.cts +16 -1
- package/dist/hero-startup-launch-cta.d.ts +16 -1
- package/dist/hero-startup-launch-cta.js +46 -1
- package/dist/hero-stats-social-proof.cjs +46 -1
- package/dist/hero-stats-social-proof.d.cts +16 -1
- package/dist/hero-stats-social-proof.d.ts +16 -1
- package/dist/hero-stats-social-proof.js +46 -1
- package/dist/hero-task-timer-animated.cjs +46 -1
- package/dist/hero-task-timer-animated.d.cts +16 -1
- package/dist/hero-task-timer-animated.d.ts +16 -1
- package/dist/hero-task-timer-animated.js +46 -1
- package/dist/hero-testimonial-image-grid.cjs +46 -1
- package/dist/hero-testimonial-image-grid.d.cts +16 -1
- package/dist/hero-testimonial-image-grid.d.ts +16 -1
- package/dist/hero-testimonial-image-grid.js +46 -1
- package/dist/hero-therapy-testimonial-grid.cjs +46 -1
- package/dist/hero-therapy-testimonial-grid.d.cts +16 -1
- package/dist/hero-therapy-testimonial-grid.d.ts +16 -1
- package/dist/hero-therapy-testimonial-grid.js +46 -1
- package/dist/hero-ui-library-showcase.cjs +3 -2
- package/dist/hero-ui-library-showcase.d.cts +13 -5
- package/dist/hero-ui-library-showcase.d.ts +13 -5
- package/dist/hero-ui-library-showcase.js +3 -2
- package/dist/hero-video-background-dark.cjs +47 -1
- package/dist/hero-video-background-dark.d.cts +16 -1
- package/dist/hero-video-background-dark.d.ts +16 -1
- package/dist/hero-video-background-dark.js +47 -1
- package/dist/{hero-video-dialog-gradient-Cr96k01H.d.ts → hero-video-dialog-gradient-B6-kFIvZ.d.ts} +14 -1
- package/dist/{hero-video-dialog-gradient-Dc0wRYdW.d.cts → hero-video-dialog-gradient-DPnh6Vn-.d.cts} +14 -1
- package/dist/hero-video-dialog-gradient.cjs +46 -1
- package/dist/hero-video-dialog-gradient.d.cts +4 -1
- package/dist/hero-video-dialog-gradient.d.ts +4 -1
- package/dist/hero-video-dialog-gradient.js +46 -1
- package/dist/hero-welcome-asymmetric-images.cjs +46 -1
- package/dist/hero-welcome-asymmetric-images.d.cts +16 -1
- package/dist/hero-welcome-asymmetric-images.d.ts +16 -1
- package/dist/hero-welcome-asymmetric-images.js +46 -1
- package/dist/link-page-bento-layout.cjs +59 -3
- package/dist/link-page-bento-layout.d.cts +16 -1
- package/dist/link-page-bento-layout.d.ts +16 -1
- package/dist/link-page-bento-layout.js +59 -3
- package/dist/link-page-grid-cards.cjs +59 -3
- package/dist/link-page-grid-cards.d.cts +16 -1
- package/dist/link-page-grid-cards.d.ts +16 -1
- package/dist/link-page-grid-cards.js +59 -3
- package/dist/link-page-minimal-profile.cjs +59 -3
- package/dist/link-page-minimal-profile.d.cts +16 -1
- package/dist/link-page-minimal-profile.d.ts +16 -1
- package/dist/link-page-minimal-profile.js +59 -3
- package/dist/link-page-newsletter-social.cjs +59 -3
- package/dist/link-page-newsletter-social.d.cts +16 -1
- package/dist/link-page-newsletter-social.d.ts +16 -1
- package/dist/link-page-newsletter-social.js +59 -3
- package/dist/link-tree-block.cjs +58 -2
- package/dist/link-tree-block.d.cts +16 -1
- package/dist/link-tree-block.d.ts +16 -1
- package/dist/link-tree-block.js +58 -2
- package/dist/registry.cjs +704 -182
- package/dist/registry.js +704 -182
- package/dist/social-link-icon.d.cts +1 -1
- package/dist/social-link-icon.d.ts +1 -1
- package/package.json +1 -1
|
@@ -427,6 +427,47 @@ var Section = React__default.forwardRef(
|
|
|
427
427
|
}
|
|
428
428
|
);
|
|
429
429
|
Section.displayName = "Section";
|
|
430
|
+
var SIZE_CLASSES = {
|
|
431
|
+
sm: "max-h-6 sm:max-h-7",
|
|
432
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
433
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
434
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
435
|
+
};
|
|
436
|
+
var BrandLogo = ({
|
|
437
|
+
logo,
|
|
438
|
+
logoSlot,
|
|
439
|
+
logoClassName,
|
|
440
|
+
size = "md",
|
|
441
|
+
optixFlowConfig
|
|
442
|
+
}) => {
|
|
443
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
444
|
+
if (!logo || !logo.src) return null;
|
|
445
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
446
|
+
Img,
|
|
447
|
+
{
|
|
448
|
+
src: logo.src,
|
|
449
|
+
className: cn(
|
|
450
|
+
"w-auto object-contain",
|
|
451
|
+
SIZE_CLASSES[size],
|
|
452
|
+
logo.className
|
|
453
|
+
),
|
|
454
|
+
alt: logo.alt || "Logo",
|
|
455
|
+
optixFlowConfig,
|
|
456
|
+
loading: "eager"
|
|
457
|
+
}
|
|
458
|
+
);
|
|
459
|
+
if (logo.url) {
|
|
460
|
+
return /* @__PURE__ */ jsx(
|
|
461
|
+
Pressable,
|
|
462
|
+
{
|
|
463
|
+
href: logo.url,
|
|
464
|
+
className: cn("flex items-center", logoClassName),
|
|
465
|
+
children: imgElement
|
|
466
|
+
}
|
|
467
|
+
);
|
|
468
|
+
}
|
|
469
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
470
|
+
};
|
|
430
471
|
function HeroPortfolioCreative({
|
|
431
472
|
sectionId = "hero-portfolio-creative",
|
|
432
473
|
profile,
|
|
@@ -449,7 +490,10 @@ function HeroPortfolioCreative({
|
|
|
449
490
|
headingClassName,
|
|
450
491
|
descriptionClassName,
|
|
451
492
|
portfolioClassName,
|
|
452
|
-
optixFlowConfig
|
|
493
|
+
optixFlowConfig,
|
|
494
|
+
logo,
|
|
495
|
+
logoSlot,
|
|
496
|
+
logoClassName
|
|
453
497
|
}) {
|
|
454
498
|
const renderProfile = useMemo(() => {
|
|
455
499
|
if (profileSlot) return profileSlot;
|
|
@@ -593,6 +637,7 @@ function HeroPortfolioCreative({
|
|
|
593
637
|
children: /* @__PURE__ */ jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxs("div", { className: "grid items-center gap-12 lg:grid-cols-2 lg:gap-20", children: [
|
|
594
638
|
/* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-8", contentClassName), children: [
|
|
595
639
|
renderProfile,
|
|
640
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
596
641
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
597
642
|
"h1",
|
|
598
643
|
{
|
|
@@ -627,6 +627,47 @@ function MediaAspectRatio({
|
|
|
627
627
|
)
|
|
628
628
|
] });
|
|
629
629
|
}
|
|
630
|
+
var SIZE_CLASSES = {
|
|
631
|
+
sm: "max-h-6 sm:max-h-7",
|
|
632
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
633
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
634
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
635
|
+
};
|
|
636
|
+
var BrandLogo = ({
|
|
637
|
+
logo,
|
|
638
|
+
logoSlot,
|
|
639
|
+
logoClassName,
|
|
640
|
+
size = "md",
|
|
641
|
+
optixFlowConfig
|
|
642
|
+
}) => {
|
|
643
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
644
|
+
if (!logo || !logo.src) return null;
|
|
645
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
646
|
+
img.Img,
|
|
647
|
+
{
|
|
648
|
+
src: logo.src,
|
|
649
|
+
className: cn(
|
|
650
|
+
"w-auto object-contain",
|
|
651
|
+
SIZE_CLASSES[size],
|
|
652
|
+
logo.className
|
|
653
|
+
),
|
|
654
|
+
alt: logo.alt || "Logo",
|
|
655
|
+
optixFlowConfig,
|
|
656
|
+
loading: "eager"
|
|
657
|
+
}
|
|
658
|
+
);
|
|
659
|
+
if (logo.url) {
|
|
660
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
661
|
+
pressable.Pressable,
|
|
662
|
+
{
|
|
663
|
+
href: logo.url,
|
|
664
|
+
className: cn("flex items-center", logoClassName),
|
|
665
|
+
children: imgElement
|
|
666
|
+
}
|
|
667
|
+
);
|
|
668
|
+
}
|
|
669
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
670
|
+
};
|
|
630
671
|
function HeroPremiumSplitAvatars({
|
|
631
672
|
sectionId = "hero-premium-split-avatars",
|
|
632
673
|
brandName,
|
|
@@ -653,7 +694,10 @@ function HeroPremiumSplitAvatars({
|
|
|
653
694
|
imageClassName,
|
|
654
695
|
optixFlowConfig,
|
|
655
696
|
mediaAspectRatios = { desktop: "vertical", mobile: "vertical" },
|
|
656
|
-
directionConfig = { desktop: "mediaRight", mobile: "mediaBottom" }
|
|
697
|
+
directionConfig = { desktop: "mediaRight", mobile: "mediaBottom" },
|
|
698
|
+
logo,
|
|
699
|
+
logoSlot,
|
|
700
|
+
logoClassName
|
|
657
701
|
}) {
|
|
658
702
|
const responsiveClassName = React.useMemo(() => {
|
|
659
703
|
const desktopOrder = directionConfig.desktop === "mediaRight" ? "md:flex-row" : "md:flex-row-reverse";
|
|
@@ -760,6 +804,7 @@ function HeroPremiumSplitAvatars({
|
|
|
760
804
|
children: [
|
|
761
805
|
renderBrand,
|
|
762
806
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 md:gap-8", children: [
|
|
807
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
763
808
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-4xl lg:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-4xl lg:text-6xl", headingClassName), children: heading })),
|
|
764
809
|
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-2.5 lg:text-xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
765
810
|
renderAction
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Cgd-IXlI.cjs';
|
|
3
3
|
import { ResponsiveMediaAspectRatioProps } from './media-aspect-ratio.cjs';
|
|
4
|
+
import { L as LogoConfig } from './types-mWZcgKth.cjs';
|
|
4
5
|
import { A as ActionConfig, I as ImageItem, O as OptixFlowConfig, h as DirectionConfig } from './blocks-DyouPohq.cjs';
|
|
5
6
|
import 'react/jsx-runtime';
|
|
6
7
|
import 'class-variance-authority';
|
|
7
8
|
import '@page-speed/pressable';
|
|
8
9
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
10
|
+
import './dynamic-icon.cjs';
|
|
11
|
+
import '@page-speed/icon';
|
|
9
12
|
|
|
10
13
|
interface AvatarItem {
|
|
11
14
|
/**
|
|
@@ -110,6 +113,18 @@ interface HeroPremiumSplitAvatarsProps {
|
|
|
110
113
|
* OptixFlow image optimization configuration
|
|
111
114
|
*/
|
|
112
115
|
optixFlowConfig?: OptixFlowConfig;
|
|
116
|
+
/**
|
|
117
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
118
|
+
*/
|
|
119
|
+
logo?: LogoConfig;
|
|
120
|
+
/**
|
|
121
|
+
* Custom slot for logo (overrides logo prop)
|
|
122
|
+
*/
|
|
123
|
+
logoSlot?: React.ReactNode;
|
|
124
|
+
/**
|
|
125
|
+
* Additional CSS classes for the logo container
|
|
126
|
+
*/
|
|
127
|
+
logoClassName?: string;
|
|
113
128
|
/** Optional Section ID */
|
|
114
129
|
sectionId?: string;
|
|
115
130
|
/**
|
|
@@ -123,6 +138,6 @@ interface HeroPremiumSplitAvatarsProps {
|
|
|
123
138
|
*/
|
|
124
139
|
directionConfig?: DirectionConfig;
|
|
125
140
|
}
|
|
126
|
-
declare function HeroPremiumSplitAvatars({ sectionId, brandName, brandSuffix, brandSlot, heading, description, action, actionSlot, avatars, avatarsSlot, socialProofText, image, imageSlot, className, spacing, containerClassName, background, pattern, patternOpacity, contentClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, mediaAspectRatios, directionConfig, }: HeroPremiumSplitAvatarsProps): React.JSX.Element;
|
|
141
|
+
declare function HeroPremiumSplitAvatars({ sectionId, brandName, brandSuffix, brandSlot, heading, description, action, actionSlot, avatars, avatarsSlot, socialProofText, image, imageSlot, className, spacing, containerClassName, background, pattern, patternOpacity, contentClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, mediaAspectRatios, directionConfig, logo, logoSlot, logoClassName, }: HeroPremiumSplitAvatarsProps): React.JSX.Element;
|
|
127
142
|
|
|
128
143
|
export { HeroPremiumSplitAvatars, type HeroPremiumSplitAvatarsProps };
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Dud0DKXB.js';
|
|
3
3
|
import { ResponsiveMediaAspectRatioProps } from './media-aspect-ratio.js';
|
|
4
|
+
import { L as LogoConfig } from './types-hJ2R0GoH.js';
|
|
4
5
|
import { A as ActionConfig, I as ImageItem, O as OptixFlowConfig, h as DirectionConfig } from './blocks-DyouPohq.js';
|
|
5
6
|
import 'react/jsx-runtime';
|
|
6
7
|
import 'class-variance-authority';
|
|
7
8
|
import '@page-speed/pressable';
|
|
8
9
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
10
|
+
import './dynamic-icon.js';
|
|
11
|
+
import '@page-speed/icon';
|
|
9
12
|
|
|
10
13
|
interface AvatarItem {
|
|
11
14
|
/**
|
|
@@ -110,6 +113,18 @@ interface HeroPremiumSplitAvatarsProps {
|
|
|
110
113
|
* OptixFlow image optimization configuration
|
|
111
114
|
*/
|
|
112
115
|
optixFlowConfig?: OptixFlowConfig;
|
|
116
|
+
/**
|
|
117
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
118
|
+
*/
|
|
119
|
+
logo?: LogoConfig;
|
|
120
|
+
/**
|
|
121
|
+
* Custom slot for logo (overrides logo prop)
|
|
122
|
+
*/
|
|
123
|
+
logoSlot?: React.ReactNode;
|
|
124
|
+
/**
|
|
125
|
+
* Additional CSS classes for the logo container
|
|
126
|
+
*/
|
|
127
|
+
logoClassName?: string;
|
|
113
128
|
/** Optional Section ID */
|
|
114
129
|
sectionId?: string;
|
|
115
130
|
/**
|
|
@@ -123,6 +138,6 @@ interface HeroPremiumSplitAvatarsProps {
|
|
|
123
138
|
*/
|
|
124
139
|
directionConfig?: DirectionConfig;
|
|
125
140
|
}
|
|
126
|
-
declare function HeroPremiumSplitAvatars({ sectionId, brandName, brandSuffix, brandSlot, heading, description, action, actionSlot, avatars, avatarsSlot, socialProofText, image, imageSlot, className, spacing, containerClassName, background, pattern, patternOpacity, contentClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, mediaAspectRatios, directionConfig, }: HeroPremiumSplitAvatarsProps): React.JSX.Element;
|
|
141
|
+
declare function HeroPremiumSplitAvatars({ sectionId, brandName, brandSuffix, brandSlot, heading, description, action, actionSlot, avatars, avatarsSlot, socialProofText, image, imageSlot, className, spacing, containerClassName, background, pattern, patternOpacity, contentClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, mediaAspectRatios, directionConfig, logo, logoSlot, logoClassName, }: HeroPremiumSplitAvatarsProps): React.JSX.Element;
|
|
127
142
|
|
|
128
143
|
export { HeroPremiumSplitAvatars, type HeroPremiumSplitAvatarsProps };
|
|
@@ -601,6 +601,47 @@ function MediaAspectRatio({
|
|
|
601
601
|
)
|
|
602
602
|
] });
|
|
603
603
|
}
|
|
604
|
+
var SIZE_CLASSES = {
|
|
605
|
+
sm: "max-h-6 sm:max-h-7",
|
|
606
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
607
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
608
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
609
|
+
};
|
|
610
|
+
var BrandLogo = ({
|
|
611
|
+
logo,
|
|
612
|
+
logoSlot,
|
|
613
|
+
logoClassName,
|
|
614
|
+
size = "md",
|
|
615
|
+
optixFlowConfig
|
|
616
|
+
}) => {
|
|
617
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
618
|
+
if (!logo || !logo.src) return null;
|
|
619
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
620
|
+
Img,
|
|
621
|
+
{
|
|
622
|
+
src: logo.src,
|
|
623
|
+
className: cn(
|
|
624
|
+
"w-auto object-contain",
|
|
625
|
+
SIZE_CLASSES[size],
|
|
626
|
+
logo.className
|
|
627
|
+
),
|
|
628
|
+
alt: logo.alt || "Logo",
|
|
629
|
+
optixFlowConfig,
|
|
630
|
+
loading: "eager"
|
|
631
|
+
}
|
|
632
|
+
);
|
|
633
|
+
if (logo.url) {
|
|
634
|
+
return /* @__PURE__ */ jsx(
|
|
635
|
+
Pressable,
|
|
636
|
+
{
|
|
637
|
+
href: logo.url,
|
|
638
|
+
className: cn("flex items-center", logoClassName),
|
|
639
|
+
children: imgElement
|
|
640
|
+
}
|
|
641
|
+
);
|
|
642
|
+
}
|
|
643
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
644
|
+
};
|
|
604
645
|
function HeroPremiumSplitAvatars({
|
|
605
646
|
sectionId = "hero-premium-split-avatars",
|
|
606
647
|
brandName,
|
|
@@ -627,7 +668,10 @@ function HeroPremiumSplitAvatars({
|
|
|
627
668
|
imageClassName,
|
|
628
669
|
optixFlowConfig,
|
|
629
670
|
mediaAspectRatios = { desktop: "vertical", mobile: "vertical" },
|
|
630
|
-
directionConfig = { desktop: "mediaRight", mobile: "mediaBottom" }
|
|
671
|
+
directionConfig = { desktop: "mediaRight", mobile: "mediaBottom" },
|
|
672
|
+
logo,
|
|
673
|
+
logoSlot,
|
|
674
|
+
logoClassName
|
|
631
675
|
}) {
|
|
632
676
|
const responsiveClassName = useMemo(() => {
|
|
633
677
|
const desktopOrder = directionConfig.desktop === "mediaRight" ? "md:flex-row" : "md:flex-row-reverse";
|
|
@@ -734,6 +778,7 @@ function HeroPremiumSplitAvatars({
|
|
|
734
778
|
children: [
|
|
735
779
|
renderBrand,
|
|
736
780
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 md:gap-8", children: [
|
|
781
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
737
782
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-4xl lg:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("h2", { className: cn("text-4xl lg:text-6xl", headingClassName), children: heading })),
|
|
738
783
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-2.5 lg:text-xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
|
|
739
784
|
renderAction
|
|
@@ -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 };
|