@opensite/ui 3.7.1 → 3.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/badge.d.cts +1 -1
- package/dist/badge.d.ts +1 -1
- package/dist/hero-ad-campaign-expert.cjs +46 -1
- package/dist/hero-ad-campaign-expert.d.cts +16 -1
- package/dist/hero-ad-campaign-expert.d.ts +16 -1
- package/dist/hero-ad-campaign-expert.js +46 -1
- package/dist/hero-adaptable-product-grid.cjs +46 -1
- package/dist/hero-adaptable-product-grid.d.cts +16 -1
- package/dist/hero-adaptable-product-grid.d.ts +16 -1
- package/dist/hero-adaptable-product-grid.js +46 -1
- package/dist/hero-agency-animated-images.cjs +46 -1
- package/dist/hero-agency-animated-images.d.cts +16 -1
- package/dist/hero-agency-animated-images.d.ts +16 -1
- package/dist/hero-agency-animated-images.js +46 -1
- package/dist/hero-ai-powered-carousel.cjs +46 -1
- package/dist/hero-ai-powered-carousel.d.cts +16 -1
- package/dist/hero-ai-powered-carousel.d.ts +16 -1
- package/dist/hero-ai-powered-carousel.js +46 -1
- package/dist/hero-announcement-badge.cjs +47 -1
- package/dist/hero-announcement-badge.d.cts +16 -1
- package/dist/hero-announcement-badge.d.ts +16 -1
- package/dist/hero-announcement-badge.js +47 -1
- package/dist/hero-architecture-fullscreen.cjs +46 -1
- package/dist/hero-architecture-fullscreen.d.cts +16 -1
- package/dist/hero-architecture-fullscreen.d.ts +16 -1
- package/dist/hero-architecture-fullscreen.js +46 -1
- package/dist/hero-badge-image-split.cjs +46 -1
- package/dist/hero-badge-image-split.d.cts +16 -1
- package/dist/hero-badge-image-split.d.ts +16 -1
- package/dist/hero-badge-image-split.js +46 -1
- package/dist/hero-badge-shadow-overlay.cjs +46 -1
- package/dist/hero-badge-shadow-overlay.d.cts +16 -1
- package/dist/hero-badge-shadow-overlay.d.ts +16 -1
- package/dist/hero-badge-shadow-overlay.js +46 -1
- package/dist/hero-business-carousel-dots.cjs +46 -1
- package/dist/hero-business-carousel-dots.d.cts +16 -1
- package/dist/hero-business-carousel-dots.d.ts +16 -1
- package/dist/hero-business-carousel-dots.js +46 -1
- package/dist/hero-business-operations-mosaic.cjs +46 -1
- package/dist/hero-business-operations-mosaic.d.cts +16 -1
- package/dist/hero-business-operations-mosaic.d.ts +16 -1
- package/dist/hero-business-operations-mosaic.js +46 -1
- package/dist/hero-centered-gradient-cta.cjs +47 -1
- package/dist/hero-centered-gradient-cta.d.cts +16 -1
- package/dist/hero-centered-gradient-cta.d.ts +16 -1
- package/dist/hero-centered-gradient-cta.js +47 -1
- package/dist/hero-centered-image-grid.cjs +46 -1
- package/dist/hero-centered-image-grid.d.cts +16 -1
- package/dist/hero-centered-image-grid.d.ts +16 -1
- package/dist/hero-centered-image-grid.js +46 -1
- package/dist/hero-centered-screenshot.cjs +46 -1
- package/dist/hero-centered-screenshot.d.cts +16 -1
- package/dist/hero-centered-screenshot.d.ts +16 -1
- package/dist/hero-centered-screenshot.js +46 -1
- package/dist/hero-coming-soon-countdown.cjs +47 -1
- package/dist/hero-coming-soon-countdown.d.cts +16 -1
- package/dist/hero-coming-soon-countdown.d.ts +16 -1
- package/dist/hero-coming-soon-countdown.js +47 -1
- package/dist/hero-community-survey-cta.cjs +46 -1
- package/dist/hero-community-survey-cta.d.cts +16 -1
- package/dist/hero-community-survey-cta.d.ts +16 -1
- package/dist/hero-community-survey-cta.js +46 -1
- package/dist/hero-conversation-intelligence.cjs +46 -1
- package/dist/hero-conversation-intelligence.d.cts +16 -1
- package/dist/hero-conversation-intelligence.d.ts +16 -1
- package/dist/hero-conversation-intelligence.js +46 -1
- package/dist/hero-creative-studio-stacked.cjs +46 -1
- package/dist/hero-creative-studio-stacked.d.cts +17 -2
- package/dist/hero-creative-studio-stacked.d.ts +17 -2
- package/dist/hero-creative-studio-stacked.js +46 -1
- package/dist/hero-crm-streamlined.cjs +46 -1
- package/dist/hero-crm-streamlined.d.cts +16 -1
- package/dist/hero-crm-streamlined.d.ts +16 -1
- package/dist/hero-crm-streamlined.js +46 -1
- package/dist/hero-customer-support-layered.cjs +46 -1
- package/dist/hero-customer-support-layered.d.cts +16 -1
- package/dist/hero-customer-support-layered.d.ts +16 -1
- package/dist/hero-customer-support-layered.js +46 -1
- package/dist/hero-design-system-3d.cjs +67 -20
- package/dist/hero-design-system-3d.d.cts +16 -1
- package/dist/hero-design-system-3d.d.ts +16 -1
- package/dist/hero-design-system-3d.js +67 -20
- package/dist/hero-developer-tools-code.cjs +47 -1
- package/dist/hero-developer-tools-code.d.cts +16 -1
- package/dist/hero-developer-tools-code.d.ts +16 -1
- package/dist/hero-developer-tools-code.js +47 -1
- package/dist/hero-digital-agency-fullscreen.cjs +46 -1
- package/dist/hero-digital-agency-fullscreen.d.cts +16 -1
- package/dist/hero-digital-agency-fullscreen.d.ts +16 -1
- package/dist/hero-digital-agency-fullscreen.js +46 -1
- package/dist/hero-ecommerce-product-showcase.cjs +46 -1
- package/dist/hero-ecommerce-product-showcase.d.cts +16 -1
- package/dist/hero-ecommerce-product-showcase.d.ts +16 -1
- package/dist/hero-ecommerce-product-showcase.js +46 -1
- package/dist/hero-enterprise-security.cjs +47 -1
- package/dist/hero-enterprise-security.d.cts +16 -1
- package/dist/hero-enterprise-security.d.ts +16 -1
- package/dist/hero-enterprise-security.js +47 -1
- package/dist/hero-feature-cards-grid.cjs +47 -1
- package/dist/hero-feature-cards-grid.d.cts +16 -1
- package/dist/hero-feature-cards-grid.d.ts +16 -1
- package/dist/hero-feature-cards-grid.js +47 -1
- package/dist/hero-fullscreen-background-image.cjs +46 -1
- package/dist/hero-fullscreen-background-image.d.cts +16 -1
- package/dist/hero-fullscreen-background-image.d.ts +16 -1
- package/dist/hero-fullscreen-background-image.js +46 -1
- package/dist/hero-gradient-avatars-rating.cjs +46 -1
- package/dist/hero-gradient-avatars-rating.d.cts +16 -1
- package/dist/hero-gradient-avatars-rating.d.ts +16 -1
- package/dist/hero-gradient-avatars-rating.js +46 -1
- package/dist/hero-gradient-client-focused.cjs +46 -1
- package/dist/hero-gradient-client-focused.d.cts +16 -1
- package/dist/hero-gradient-client-focused.d.ts +16 -1
- package/dist/hero-gradient-client-focused.js +46 -1
- package/dist/hero-grid-pattern-efficiency.cjs +47 -1
- package/dist/hero-grid-pattern-efficiency.d.cts +16 -1
- package/dist/hero-grid-pattern-efficiency.d.ts +16 -1
- package/dist/hero-grid-pattern-efficiency.js +47 -1
- package/dist/hero-grid-pattern-solutions.cjs +46 -1
- package/dist/hero-grid-pattern-solutions.d.cts +16 -1
- package/dist/hero-grid-pattern-solutions.d.ts +16 -1
- package/dist/hero-grid-pattern-solutions.js +46 -1
- package/dist/hero-hiring-animated-text.cjs +47 -1
- package/dist/hero-hiring-animated-text.d.cts +16 -1
- package/dist/hero-hiring-animated-text.d.ts +16 -1
- package/dist/hero-hiring-animated-text.js +47 -1
- package/dist/hero-image-left-content.cjs +46 -1
- package/dist/hero-image-left-content.d.cts +16 -1
- package/dist/hero-image-left-content.d.ts +16 -1
- package/dist/hero-image-left-content.js +46 -1
- package/dist/hero-image-slider.cjs +46 -1
- package/dist/hero-image-slider.d.cts +16 -1
- package/dist/hero-image-slider.d.ts +16 -1
- package/dist/hero-image-slider.js +46 -1
- package/dist/hero-innovation-image-grid.cjs +46 -1
- package/dist/hero-innovation-image-grid.d.cts +16 -1
- package/dist/hero-innovation-image-grid.d.ts +16 -1
- package/dist/hero-innovation-image-grid.js +46 -1
- package/dist/hero-logo-centered-screenshot.cjs +2 -2
- package/dist/hero-logo-centered-screenshot.js +2 -2
- package/dist/hero-marketplace-scattered-images.cjs +46 -1
- package/dist/hero-marketplace-scattered-images.d.cts +16 -1
- package/dist/hero-marketplace-scattered-images.d.ts +16 -1
- package/dist/hero-marketplace-scattered-images.js +46 -1
- package/dist/hero-minimal-centered-dark.cjs +47 -1
- package/dist/hero-minimal-centered-dark.d.cts +16 -1
- package/dist/hero-minimal-centered-dark.d.ts +16 -1
- package/dist/hero-minimal-centered-dark.js +47 -1
- package/dist/hero-mobile-app-download.cjs +46 -1
- package/dist/hero-mobile-app-download.d.cts +16 -1
- package/dist/hero-mobile-app-download.d.ts +16 -1
- package/dist/hero-mobile-app-download.js +46 -1
- package/dist/hero-newsletter-minimal.cjs +48 -1
- package/dist/hero-newsletter-minimal.d.cts +16 -1
- package/dist/hero-newsletter-minimal.d.ts +16 -1
- package/dist/hero-newsletter-minimal.js +48 -1
- package/dist/hero-overlay-cta-grid.cjs +46 -1
- package/dist/hero-overlay-cta-grid.d.cts +16 -1
- package/dist/hero-overlay-cta-grid.d.ts +16 -1
- package/dist/hero-overlay-cta-grid.js +46 -1
- package/dist/hero-portfolio-creative.cjs +46 -1
- package/dist/hero-portfolio-creative.d.cts +16 -1
- package/dist/hero-portfolio-creative.d.ts +16 -1
- package/dist/hero-portfolio-creative.js +46 -1
- package/dist/hero-premium-split-avatars.cjs +46 -1
- package/dist/hero-premium-split-avatars.d.cts +16 -1
- package/dist/hero-premium-split-avatars.d.ts +16 -1
- package/dist/hero-premium-split-avatars.js +46 -1
- package/dist/hero-presentation-platform-video.cjs +47 -1
- package/dist/hero-presentation-platform-video.d.cts +16 -1
- package/dist/hero-presentation-platform-video.d.ts +16 -1
- package/dist/hero-presentation-platform-video.js +47 -1
- package/dist/hero-pricing-comparison.cjs +47 -1
- package/dist/hero-pricing-comparison.d.cts +16 -1
- package/dist/hero-pricing-comparison.d.ts +16 -1
- package/dist/hero-pricing-comparison.js +47 -1
- package/dist/hero-product-showcase-floating.cjs +46 -1
- package/dist/hero-product-showcase-floating.d.cts +16 -1
- package/dist/hero-product-showcase-floating.d.ts +16 -1
- package/dist/hero-product-showcase-floating.js +46 -1
- package/dist/hero-productivity-launcher-video.cjs +68 -20
- package/dist/hero-productivity-launcher-video.d.cts +16 -1
- package/dist/hero-productivity-launcher-video.d.ts +16 -1
- package/dist/hero-productivity-launcher-video.js +68 -20
- package/dist/hero-saas-dashboard-preview.cjs +46 -1
- package/dist/hero-saas-dashboard-preview.d.cts +16 -1
- package/dist/hero-saas-dashboard-preview.d.ts +16 -1
- package/dist/hero-saas-dashboard-preview.js +46 -1
- package/dist/hero-shared-inbox-layered.cjs +46 -1
- package/dist/hero-shared-inbox-layered.d.cts +16 -1
- package/dist/hero-shared-inbox-layered.d.ts +16 -1
- package/dist/hero-shared-inbox-layered.js +46 -1
- package/dist/hero-simple-centered-image.cjs +46 -1
- package/dist/hero-simple-centered-image.d.cts +16 -1
- package/dist/hero-simple-centered-image.d.ts +16 -1
- package/dist/hero-simple-centered-image.js +46 -1
- package/dist/hero-software-growth-video-dialog.cjs +46 -1
- package/dist/hero-software-growth-video-dialog.d.cts +16 -1
- package/dist/hero-software-growth-video-dialog.d.ts +16 -1
- package/dist/hero-software-growth-video-dialog.js +46 -1
- package/dist/hero-spiral-pattern-cards.cjs +46 -1
- package/dist/hero-spiral-pattern-cards.d.cts +16 -1
- package/dist/hero-spiral-pattern-cards.d.ts +16 -1
- package/dist/hero-spiral-pattern-cards.js +46 -1
- package/dist/hero-split-geometric-shapes.cjs +46 -1
- package/dist/hero-split-geometric-shapes.d.cts +16 -1
- package/dist/hero-split-geometric-shapes.d.ts +16 -1
- package/dist/hero-split-geometric-shapes.js +46 -1
- package/dist/hero-split-icon-cards.cjs +47 -1
- package/dist/hero-split-icon-cards.d.cts +16 -1
- package/dist/hero-split-icon-cards.d.ts +16 -1
- package/dist/hero-split-icon-cards.js +47 -1
- package/dist/hero-split-image-newsletter.cjs +46 -1
- package/dist/hero-split-image-newsletter.d.cts +16 -1
- package/dist/hero-split-image-newsletter.d.ts +16 -1
- package/dist/hero-split-image-newsletter.js +47 -2
- package/dist/hero-split-spiral-shapes.cjs +46 -1
- package/dist/hero-split-spiral-shapes.d.cts +16 -1
- package/dist/hero-split-spiral-shapes.d.ts +16 -1
- package/dist/hero-split-spiral-shapes.js +46 -1
- package/dist/hero-startup-launch-cta.cjs +46 -1
- package/dist/hero-startup-launch-cta.d.cts +16 -1
- package/dist/hero-startup-launch-cta.d.ts +16 -1
- package/dist/hero-startup-launch-cta.js +46 -1
- package/dist/hero-stats-social-proof.cjs +46 -1
- package/dist/hero-stats-social-proof.d.cts +16 -1
- package/dist/hero-stats-social-proof.d.ts +16 -1
- package/dist/hero-stats-social-proof.js +46 -1
- package/dist/hero-task-timer-animated.cjs +46 -1
- package/dist/hero-task-timer-animated.d.cts +16 -1
- package/dist/hero-task-timer-animated.d.ts +16 -1
- package/dist/hero-task-timer-animated.js +46 -1
- package/dist/hero-testimonial-image-grid.cjs +46 -1
- package/dist/hero-testimonial-image-grid.d.cts +16 -1
- package/dist/hero-testimonial-image-grid.d.ts +16 -1
- package/dist/hero-testimonial-image-grid.js +46 -1
- package/dist/hero-therapy-testimonial-grid.cjs +46 -1
- package/dist/hero-therapy-testimonial-grid.d.cts +16 -1
- package/dist/hero-therapy-testimonial-grid.d.ts +16 -1
- package/dist/hero-therapy-testimonial-grid.js +46 -1
- package/dist/hero-ui-library-showcase.cjs +3 -2
- package/dist/hero-ui-library-showcase.d.cts +13 -5
- package/dist/hero-ui-library-showcase.d.ts +13 -5
- package/dist/hero-ui-library-showcase.js +3 -2
- package/dist/hero-video-background-dark.cjs +47 -1
- package/dist/hero-video-background-dark.d.cts +16 -1
- package/dist/hero-video-background-dark.d.ts +16 -1
- package/dist/hero-video-background-dark.js +47 -1
- package/dist/{hero-video-dialog-gradient-Cr96k01H.d.ts → hero-video-dialog-gradient-B6-kFIvZ.d.ts} +14 -1
- package/dist/{hero-video-dialog-gradient-Dc0wRYdW.d.cts → hero-video-dialog-gradient-DPnh6Vn-.d.cts} +14 -1
- package/dist/hero-video-dialog-gradient.cjs +46 -1
- package/dist/hero-video-dialog-gradient.d.cts +4 -1
- package/dist/hero-video-dialog-gradient.d.ts +4 -1
- package/dist/hero-video-dialog-gradient.js +46 -1
- package/dist/hero-welcome-asymmetric-images.cjs +46 -1
- package/dist/hero-welcome-asymmetric-images.d.cts +16 -1
- package/dist/hero-welcome-asymmetric-images.d.ts +16 -1
- package/dist/hero-welcome-asymmetric-images.js +46 -1
- package/dist/link-page-bento-layout.cjs +59 -3
- package/dist/link-page-bento-layout.d.cts +16 -1
- package/dist/link-page-bento-layout.d.ts +16 -1
- package/dist/link-page-bento-layout.js +59 -3
- package/dist/link-page-grid-cards.cjs +59 -3
- package/dist/link-page-grid-cards.d.cts +16 -1
- package/dist/link-page-grid-cards.d.ts +16 -1
- package/dist/link-page-grid-cards.js +59 -3
- package/dist/link-page-minimal-profile.cjs +59 -3
- package/dist/link-page-minimal-profile.d.cts +16 -1
- package/dist/link-page-minimal-profile.d.ts +16 -1
- package/dist/link-page-minimal-profile.js +59 -3
- package/dist/link-page-newsletter-social.cjs +59 -3
- package/dist/link-page-newsletter-social.d.cts +16 -1
- package/dist/link-page-newsletter-social.d.ts +16 -1
- package/dist/link-page-newsletter-social.js +59 -3
- package/dist/link-tree-block.cjs +58 -2
- package/dist/link-tree-block.d.cts +16 -1
- package/dist/link-tree-block.d.ts +16 -1
- package/dist/link-tree-block.js +58 -2
- package/dist/registry.cjs +706 -184
- package/dist/registry.js +706 -184
- package/dist/social-link-icon.d.cts +1 -1
- package/dist/social-link-icon.d.ts +1 -1
- package/package.json +1 -1
|
@@ -6,6 +6,7 @@ import { twMerge } from 'tailwind-merge';
|
|
|
6
6
|
import { Icon } from '@page-speed/icon';
|
|
7
7
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
8
8
|
import { Pressable } from '@page-speed/pressable';
|
|
9
|
+
import { Img } from '@page-speed/img';
|
|
9
10
|
|
|
10
11
|
// components/blocks/hero/hero-split-icon-cards.tsx
|
|
11
12
|
function cn(...inputs) {
|
|
@@ -443,6 +444,47 @@ var Section = React__default.forwardRef(
|
|
|
443
444
|
}
|
|
444
445
|
);
|
|
445
446
|
Section.displayName = "Section";
|
|
447
|
+
var SIZE_CLASSES = {
|
|
448
|
+
sm: "max-h-6 sm:max-h-7",
|
|
449
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
450
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
451
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
452
|
+
};
|
|
453
|
+
var BrandLogo = ({
|
|
454
|
+
logo,
|
|
455
|
+
logoSlot,
|
|
456
|
+
logoClassName,
|
|
457
|
+
size = "md",
|
|
458
|
+
optixFlowConfig
|
|
459
|
+
}) => {
|
|
460
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
461
|
+
if (!logo || !logo.src) return null;
|
|
462
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
463
|
+
Img,
|
|
464
|
+
{
|
|
465
|
+
src: logo.src,
|
|
466
|
+
className: cn(
|
|
467
|
+
"w-auto object-contain",
|
|
468
|
+
SIZE_CLASSES[size],
|
|
469
|
+
logo.className
|
|
470
|
+
),
|
|
471
|
+
alt: logo.alt || "Logo",
|
|
472
|
+
optixFlowConfig,
|
|
473
|
+
loading: "eager"
|
|
474
|
+
}
|
|
475
|
+
);
|
|
476
|
+
if (logo.url) {
|
|
477
|
+
return /* @__PURE__ */ jsx(
|
|
478
|
+
Pressable,
|
|
479
|
+
{
|
|
480
|
+
href: logo.url,
|
|
481
|
+
className: cn("flex items-center", logoClassName),
|
|
482
|
+
children: imgElement
|
|
483
|
+
}
|
|
484
|
+
);
|
|
485
|
+
}
|
|
486
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
487
|
+
};
|
|
446
488
|
function HeroSplitIconCards({
|
|
447
489
|
sectionId = "hero-split-icon-cards",
|
|
448
490
|
eyebrow,
|
|
@@ -463,7 +505,10 @@ function HeroSplitIconCards({
|
|
|
463
505
|
descriptionClassName,
|
|
464
506
|
verticalSpacing,
|
|
465
507
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
466
|
-
spacing = "pt-32 pb-8 md:pt-32 md:pb-32"
|
|
508
|
+
spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
|
|
509
|
+
logo,
|
|
510
|
+
logoSlot,
|
|
511
|
+
logoClassName
|
|
467
512
|
}) {
|
|
468
513
|
const renderActions = useMemo(() => {
|
|
469
514
|
if (actionsSlot) return actionsSlot;
|
|
@@ -528,6 +573,7 @@ function HeroSplitIconCards({
|
|
|
528
573
|
children: eyebrow
|
|
529
574
|
}
|
|
530
575
|
) : eyebrow),
|
|
576
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
531
577
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
532
578
|
"h2",
|
|
533
579
|
{
|
|
@@ -410,6 +410,47 @@ var Section = React3__namespace.default.forwardRef(
|
|
|
410
410
|
}
|
|
411
411
|
);
|
|
412
412
|
Section.displayName = "Section";
|
|
413
|
+
var SIZE_CLASSES = {
|
|
414
|
+
sm: "max-h-6 sm:max-h-7",
|
|
415
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
416
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
417
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
418
|
+
};
|
|
419
|
+
var BrandLogo = ({
|
|
420
|
+
logo,
|
|
421
|
+
logoSlot,
|
|
422
|
+
logoClassName,
|
|
423
|
+
size = "md",
|
|
424
|
+
optixFlowConfig
|
|
425
|
+
}) => {
|
|
426
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
427
|
+
if (!logo || !logo.src) return null;
|
|
428
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
429
|
+
img.Img,
|
|
430
|
+
{
|
|
431
|
+
src: logo.src,
|
|
432
|
+
className: cn(
|
|
433
|
+
"w-auto object-contain",
|
|
434
|
+
SIZE_CLASSES[size],
|
|
435
|
+
logo.className
|
|
436
|
+
),
|
|
437
|
+
alt: logo.alt || "Logo",
|
|
438
|
+
optixFlowConfig,
|
|
439
|
+
loading: "eager"
|
|
440
|
+
}
|
|
441
|
+
);
|
|
442
|
+
if (logo.url) {
|
|
443
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
444
|
+
pressable.Pressable,
|
|
445
|
+
{
|
|
446
|
+
href: logo.url,
|
|
447
|
+
className: cn("flex items-center", logoClassName),
|
|
448
|
+
children: imgElement
|
|
449
|
+
}
|
|
450
|
+
);
|
|
451
|
+
}
|
|
452
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
453
|
+
};
|
|
413
454
|
var DEFAULT_FORM_FIELDS = [
|
|
414
455
|
{
|
|
415
456
|
name: "email",
|
|
@@ -445,7 +486,10 @@ function HeroSplitImageNewsletter({
|
|
|
445
486
|
headingClassName,
|
|
446
487
|
descriptionClassName,
|
|
447
488
|
imageClassName,
|
|
448
|
-
optixFlowConfig
|
|
489
|
+
optixFlowConfig,
|
|
490
|
+
logo,
|
|
491
|
+
logoSlot,
|
|
492
|
+
logoClassName
|
|
449
493
|
}) {
|
|
450
494
|
const {
|
|
451
495
|
uploadTokens,
|
|
@@ -581,6 +625,7 @@ function HeroSplitImageNewsletter({
|
|
|
581
625
|
contentClassName
|
|
582
626
|
),
|
|
583
627
|
children: [
|
|
628
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
584
629
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
585
630
|
"h1",
|
|
586
631
|
{
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Cgd-IXlI.cjs';
|
|
3
3
|
import { FormFieldConfig, PageSpeedFormConfig } from '@page-speed/forms/integration';
|
|
4
|
+
import { L as LogoConfig } from './types-mWZcgKth.cjs';
|
|
4
5
|
import { A as ActionConfig, I as ImageItem, O as OptixFlowConfig } from './blocks-DyouPohq.cjs';
|
|
5
6
|
import 'react/jsx-runtime';
|
|
7
|
+
import './dynamic-icon.cjs';
|
|
8
|
+
import '@page-speed/icon';
|
|
6
9
|
import 'class-variance-authority';
|
|
7
10
|
import '@page-speed/pressable';
|
|
8
11
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
@@ -103,9 +106,21 @@ interface HeroSplitImageNewsletterProps {
|
|
|
103
106
|
* OptixFlow image optimization configuration
|
|
104
107
|
*/
|
|
105
108
|
optixFlowConfig?: OptixFlowConfig;
|
|
109
|
+
/**
|
|
110
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
111
|
+
*/
|
|
112
|
+
logo?: LogoConfig;
|
|
113
|
+
/**
|
|
114
|
+
* Custom slot for logo (overrides logo prop)
|
|
115
|
+
*/
|
|
116
|
+
logoSlot?: React.ReactNode;
|
|
117
|
+
/**
|
|
118
|
+
* Additional CSS classes for the logo container
|
|
119
|
+
*/
|
|
120
|
+
logoClassName?: string;
|
|
106
121
|
/** Optional Section ID */
|
|
107
122
|
sectionId?: string;
|
|
108
123
|
}
|
|
109
|
-
declare function HeroSplitImageNewsletter({ sectionId, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, image, imageSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, }: HeroSplitImageNewsletterProps): React.JSX.Element;
|
|
124
|
+
declare function HeroSplitImageNewsletter({ sectionId, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, image, imageSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroSplitImageNewsletterProps): React.JSX.Element;
|
|
110
125
|
|
|
111
126
|
export { HeroSplitImageNewsletter, type HeroSplitImageNewsletterProps };
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Dud0DKXB.js';
|
|
3
3
|
import { FormFieldConfig, PageSpeedFormConfig } from '@page-speed/forms/integration';
|
|
4
|
+
import { L as LogoConfig } from './types-hJ2R0GoH.js';
|
|
4
5
|
import { A as ActionConfig, I as ImageItem, O as OptixFlowConfig } from './blocks-DyouPohq.js';
|
|
5
6
|
import 'react/jsx-runtime';
|
|
7
|
+
import './dynamic-icon.js';
|
|
8
|
+
import '@page-speed/icon';
|
|
6
9
|
import 'class-variance-authority';
|
|
7
10
|
import '@page-speed/pressable';
|
|
8
11
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
@@ -103,9 +106,21 @@ interface HeroSplitImageNewsletterProps {
|
|
|
103
106
|
* OptixFlow image optimization configuration
|
|
104
107
|
*/
|
|
105
108
|
optixFlowConfig?: OptixFlowConfig;
|
|
109
|
+
/**
|
|
110
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
111
|
+
*/
|
|
112
|
+
logo?: LogoConfig;
|
|
113
|
+
/**
|
|
114
|
+
* Custom slot for logo (overrides logo prop)
|
|
115
|
+
*/
|
|
116
|
+
logoSlot?: React.ReactNode;
|
|
117
|
+
/**
|
|
118
|
+
* Additional CSS classes for the logo container
|
|
119
|
+
*/
|
|
120
|
+
logoClassName?: string;
|
|
106
121
|
/** Optional Section ID */
|
|
107
122
|
sectionId?: string;
|
|
108
123
|
}
|
|
109
|
-
declare function HeroSplitImageNewsletter({ sectionId, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, image, imageSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, }: HeroSplitImageNewsletterProps): React.JSX.Element;
|
|
124
|
+
declare function HeroSplitImageNewsletter({ sectionId, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, image, imageSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroSplitImageNewsletterProps): React.JSX.Element;
|
|
110
125
|
|
|
111
126
|
export { HeroSplitImageNewsletter, type HeroSplitImageNewsletterProps };
|
|
@@ -5,7 +5,7 @@ import { clsx } from 'clsx';
|
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { Pressable } from '@page-speed/pressable';
|
|
7
7
|
import { Img } from '@page-speed/img';
|
|
8
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
8
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
9
9
|
import { Form } from '@page-speed/forms';
|
|
10
10
|
import { useFileUpload, useContactForm, DynamicFormField } from '@page-speed/forms/integration';
|
|
11
11
|
|
|
@@ -389,6 +389,47 @@ var Section = React3__default.forwardRef(
|
|
|
389
389
|
}
|
|
390
390
|
);
|
|
391
391
|
Section.displayName = "Section";
|
|
392
|
+
var SIZE_CLASSES = {
|
|
393
|
+
sm: "max-h-6 sm:max-h-7",
|
|
394
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
395
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
396
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
397
|
+
};
|
|
398
|
+
var BrandLogo = ({
|
|
399
|
+
logo,
|
|
400
|
+
logoSlot,
|
|
401
|
+
logoClassName,
|
|
402
|
+
size = "md",
|
|
403
|
+
optixFlowConfig
|
|
404
|
+
}) => {
|
|
405
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
406
|
+
if (!logo || !logo.src) return null;
|
|
407
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
408
|
+
Img,
|
|
409
|
+
{
|
|
410
|
+
src: logo.src,
|
|
411
|
+
className: cn(
|
|
412
|
+
"w-auto object-contain",
|
|
413
|
+
SIZE_CLASSES[size],
|
|
414
|
+
logo.className
|
|
415
|
+
),
|
|
416
|
+
alt: logo.alt || "Logo",
|
|
417
|
+
optixFlowConfig,
|
|
418
|
+
loading: "eager"
|
|
419
|
+
}
|
|
420
|
+
);
|
|
421
|
+
if (logo.url) {
|
|
422
|
+
return /* @__PURE__ */ jsx(
|
|
423
|
+
Pressable,
|
|
424
|
+
{
|
|
425
|
+
href: logo.url,
|
|
426
|
+
className: cn("flex items-center", logoClassName),
|
|
427
|
+
children: imgElement
|
|
428
|
+
}
|
|
429
|
+
);
|
|
430
|
+
}
|
|
431
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
432
|
+
};
|
|
392
433
|
var DEFAULT_FORM_FIELDS = [
|
|
393
434
|
{
|
|
394
435
|
name: "email",
|
|
@@ -424,7 +465,10 @@ function HeroSplitImageNewsletter({
|
|
|
424
465
|
headingClassName,
|
|
425
466
|
descriptionClassName,
|
|
426
467
|
imageClassName,
|
|
427
|
-
optixFlowConfig
|
|
468
|
+
optixFlowConfig,
|
|
469
|
+
logo,
|
|
470
|
+
logoSlot,
|
|
471
|
+
logoClassName
|
|
428
472
|
}) {
|
|
429
473
|
const {
|
|
430
474
|
uploadTokens,
|
|
@@ -560,6 +604,7 @@ function HeroSplitImageNewsletter({
|
|
|
560
604
|
contentClassName
|
|
561
605
|
),
|
|
562
606
|
children: [
|
|
607
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
563
608
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
564
609
|
"h1",
|
|
565
610
|
{
|
|
@@ -426,6 +426,47 @@ function Badge({
|
|
|
426
426
|
}
|
|
427
427
|
);
|
|
428
428
|
}
|
|
429
|
+
var SIZE_CLASSES = {
|
|
430
|
+
sm: "max-h-6 sm:max-h-7",
|
|
431
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
432
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
433
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
434
|
+
};
|
|
435
|
+
var BrandLogo = ({
|
|
436
|
+
logo,
|
|
437
|
+
logoSlot,
|
|
438
|
+
logoClassName,
|
|
439
|
+
size = "md",
|
|
440
|
+
optixFlowConfig
|
|
441
|
+
}) => {
|
|
442
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
443
|
+
if (!logo || !logo.src) return null;
|
|
444
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
445
|
+
img.Img,
|
|
446
|
+
{
|
|
447
|
+
src: logo.src,
|
|
448
|
+
className: cn(
|
|
449
|
+
"w-auto object-contain",
|
|
450
|
+
SIZE_CLASSES[size],
|
|
451
|
+
logo.className
|
|
452
|
+
),
|
|
453
|
+
alt: logo.alt || "Logo",
|
|
454
|
+
optixFlowConfig,
|
|
455
|
+
loading: "eager"
|
|
456
|
+
}
|
|
457
|
+
);
|
|
458
|
+
if (logo.url) {
|
|
459
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
460
|
+
pressable.Pressable,
|
|
461
|
+
{
|
|
462
|
+
href: logo.url,
|
|
463
|
+
className: cn("flex items-center", logoClassName),
|
|
464
|
+
children: imgElement
|
|
465
|
+
}
|
|
466
|
+
);
|
|
467
|
+
}
|
|
468
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
469
|
+
};
|
|
429
470
|
function HeroSplitSpiralShapes({
|
|
430
471
|
sectionId = "hero-split-spiral-shapes",
|
|
431
472
|
badgeText,
|
|
@@ -445,7 +486,10 @@ function HeroSplitSpiralShapes({
|
|
|
445
486
|
contentClassName,
|
|
446
487
|
headingClassName,
|
|
447
488
|
descriptionClassName,
|
|
448
|
-
imagesClassName
|
|
489
|
+
imagesClassName,
|
|
490
|
+
logo,
|
|
491
|
+
logoSlot,
|
|
492
|
+
logoClassName
|
|
449
493
|
}) {
|
|
450
494
|
const renderActions = React.useMemo(() => {
|
|
451
495
|
if (actionsSlot) return actionsSlot;
|
|
@@ -546,6 +590,7 @@ function HeroSplitSpiralShapes({
|
|
|
546
590
|
),
|
|
547
591
|
children: [
|
|
548
592
|
badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Badge, { children: badgeText }) : badgeText),
|
|
593
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
549
594
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
550
595
|
"h1",
|
|
551
596
|
{
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Cgd-IXlI.cjs';
|
|
3
|
+
import { L as LogoConfig } from './types-mWZcgKth.cjs';
|
|
3
4
|
import { A as ActionConfig, I as ImageItem, O as OptixFlowConfig } from './blocks-DyouPohq.cjs';
|
|
4
5
|
import 'react/jsx-runtime';
|
|
6
|
+
import './dynamic-icon.cjs';
|
|
7
|
+
import '@page-speed/icon';
|
|
5
8
|
import 'class-variance-authority';
|
|
6
9
|
import '@page-speed/pressable';
|
|
7
10
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
@@ -79,9 +82,21 @@ interface HeroSplitSpiralShapesProps {
|
|
|
79
82
|
* Additional CSS classes for the images container
|
|
80
83
|
*/
|
|
81
84
|
imagesClassName?: string;
|
|
85
|
+
/**
|
|
86
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
87
|
+
*/
|
|
88
|
+
logo?: LogoConfig;
|
|
89
|
+
/**
|
|
90
|
+
* Custom slot for logo (overrides logo prop)
|
|
91
|
+
*/
|
|
92
|
+
logoSlot?: React.ReactNode;
|
|
93
|
+
/**
|
|
94
|
+
* Additional CSS classes for the logo container
|
|
95
|
+
*/
|
|
96
|
+
logoClassName?: string;
|
|
82
97
|
/** Optional Section ID */
|
|
83
98
|
sectionId?: string;
|
|
84
99
|
}
|
|
85
|
-
declare function HeroSplitSpiralShapes({ sectionId, badgeText, heading, description, actions, actionsSlot, images, imagesSlot, optixFlowConfig, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, imagesClassName, }: HeroSplitSpiralShapesProps): React.JSX.Element;
|
|
100
|
+
declare function HeroSplitSpiralShapes({ sectionId, badgeText, heading, description, actions, actionsSlot, images, imagesSlot, optixFlowConfig, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, imagesClassName, logo, logoSlot, logoClassName, }: HeroSplitSpiralShapesProps): React.JSX.Element;
|
|
86
101
|
|
|
87
102
|
export { HeroSplitSpiralShapes, type HeroSplitSpiralShapesProps };
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Dud0DKXB.js';
|
|
3
|
+
import { L as LogoConfig } from './types-hJ2R0GoH.js';
|
|
3
4
|
import { A as ActionConfig, I as ImageItem, O as OptixFlowConfig } from './blocks-DyouPohq.js';
|
|
4
5
|
import 'react/jsx-runtime';
|
|
6
|
+
import './dynamic-icon.js';
|
|
7
|
+
import '@page-speed/icon';
|
|
5
8
|
import 'class-variance-authority';
|
|
6
9
|
import '@page-speed/pressable';
|
|
7
10
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
@@ -79,9 +82,21 @@ interface HeroSplitSpiralShapesProps {
|
|
|
79
82
|
* Additional CSS classes for the images container
|
|
80
83
|
*/
|
|
81
84
|
imagesClassName?: string;
|
|
85
|
+
/**
|
|
86
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
87
|
+
*/
|
|
88
|
+
logo?: LogoConfig;
|
|
89
|
+
/**
|
|
90
|
+
* Custom slot for logo (overrides logo prop)
|
|
91
|
+
*/
|
|
92
|
+
logoSlot?: React.ReactNode;
|
|
93
|
+
/**
|
|
94
|
+
* Additional CSS classes for the logo container
|
|
95
|
+
*/
|
|
96
|
+
logoClassName?: string;
|
|
82
97
|
/** Optional Section ID */
|
|
83
98
|
sectionId?: string;
|
|
84
99
|
}
|
|
85
|
-
declare function HeroSplitSpiralShapes({ sectionId, badgeText, heading, description, actions, actionsSlot, images, imagesSlot, optixFlowConfig, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, imagesClassName, }: HeroSplitSpiralShapesProps): React.JSX.Element;
|
|
100
|
+
declare function HeroSplitSpiralShapes({ sectionId, badgeText, heading, description, actions, actionsSlot, images, imagesSlot, optixFlowConfig, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, imagesClassName, logo, logoSlot, logoClassName, }: HeroSplitSpiralShapesProps): React.JSX.Element;
|
|
86
101
|
|
|
87
102
|
export { HeroSplitSpiralShapes, type HeroSplitSpiralShapesProps };
|
|
@@ -420,6 +420,47 @@ function Badge({
|
|
|
420
420
|
}
|
|
421
421
|
);
|
|
422
422
|
}
|
|
423
|
+
var SIZE_CLASSES = {
|
|
424
|
+
sm: "max-h-6 sm:max-h-7",
|
|
425
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
426
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
427
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
428
|
+
};
|
|
429
|
+
var BrandLogo = ({
|
|
430
|
+
logo,
|
|
431
|
+
logoSlot,
|
|
432
|
+
logoClassName,
|
|
433
|
+
size = "md",
|
|
434
|
+
optixFlowConfig
|
|
435
|
+
}) => {
|
|
436
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
437
|
+
if (!logo || !logo.src) return null;
|
|
438
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
439
|
+
Img,
|
|
440
|
+
{
|
|
441
|
+
src: logo.src,
|
|
442
|
+
className: cn(
|
|
443
|
+
"w-auto object-contain",
|
|
444
|
+
SIZE_CLASSES[size],
|
|
445
|
+
logo.className
|
|
446
|
+
),
|
|
447
|
+
alt: logo.alt || "Logo",
|
|
448
|
+
optixFlowConfig,
|
|
449
|
+
loading: "eager"
|
|
450
|
+
}
|
|
451
|
+
);
|
|
452
|
+
if (logo.url) {
|
|
453
|
+
return /* @__PURE__ */ jsx(
|
|
454
|
+
Pressable,
|
|
455
|
+
{
|
|
456
|
+
href: logo.url,
|
|
457
|
+
className: cn("flex items-center", logoClassName),
|
|
458
|
+
children: imgElement
|
|
459
|
+
}
|
|
460
|
+
);
|
|
461
|
+
}
|
|
462
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
463
|
+
};
|
|
423
464
|
function HeroSplitSpiralShapes({
|
|
424
465
|
sectionId = "hero-split-spiral-shapes",
|
|
425
466
|
badgeText,
|
|
@@ -439,7 +480,10 @@ function HeroSplitSpiralShapes({
|
|
|
439
480
|
contentClassName,
|
|
440
481
|
headingClassName,
|
|
441
482
|
descriptionClassName,
|
|
442
|
-
imagesClassName
|
|
483
|
+
imagesClassName,
|
|
484
|
+
logo,
|
|
485
|
+
logoSlot,
|
|
486
|
+
logoClassName
|
|
443
487
|
}) {
|
|
444
488
|
const renderActions = useMemo(() => {
|
|
445
489
|
if (actionsSlot) return actionsSlot;
|
|
@@ -540,6 +584,7 @@ function HeroSplitSpiralShapes({
|
|
|
540
584
|
),
|
|
541
585
|
children: [
|
|
542
586
|
badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsx(Badge, { children: badgeText }) : badgeText),
|
|
587
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
543
588
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
544
589
|
"h1",
|
|
545
590
|
{
|
|
@@ -504,6 +504,47 @@ function ActionComponent({ action }) {
|
|
|
504
504
|
}
|
|
505
505
|
);
|
|
506
506
|
}
|
|
507
|
+
var SIZE_CLASSES = {
|
|
508
|
+
sm: "max-h-6 sm:max-h-7",
|
|
509
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
510
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
511
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
512
|
+
};
|
|
513
|
+
var BrandLogo = ({
|
|
514
|
+
logo,
|
|
515
|
+
logoSlot,
|
|
516
|
+
logoClassName,
|
|
517
|
+
size = "md",
|
|
518
|
+
optixFlowConfig
|
|
519
|
+
}) => {
|
|
520
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
521
|
+
if (!logo || !logo.src) return null;
|
|
522
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
523
|
+
img.Img,
|
|
524
|
+
{
|
|
525
|
+
src: logo.src,
|
|
526
|
+
className: cn(
|
|
527
|
+
"w-auto object-contain",
|
|
528
|
+
SIZE_CLASSES[size],
|
|
529
|
+
logo.className
|
|
530
|
+
),
|
|
531
|
+
alt: logo.alt || "Logo",
|
|
532
|
+
optixFlowConfig,
|
|
533
|
+
loading: "eager"
|
|
534
|
+
}
|
|
535
|
+
);
|
|
536
|
+
if (logo.url) {
|
|
537
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
538
|
+
pressable.Pressable,
|
|
539
|
+
{
|
|
540
|
+
href: logo.url,
|
|
541
|
+
className: cn("flex items-center", logoClassName),
|
|
542
|
+
children: imgElement
|
|
543
|
+
}
|
|
544
|
+
);
|
|
545
|
+
}
|
|
546
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
547
|
+
};
|
|
507
548
|
function HeroStartupLaunchCta({
|
|
508
549
|
sectionId = "hero-startup-launch-cta",
|
|
509
550
|
badge,
|
|
@@ -533,7 +574,10 @@ function HeroStartupLaunchCta({
|
|
|
533
574
|
actionsClassName,
|
|
534
575
|
socialProofClassName,
|
|
535
576
|
imageClassName,
|
|
536
|
-
optixFlowConfig
|
|
577
|
+
optixFlowConfig,
|
|
578
|
+
logo,
|
|
579
|
+
logoSlot,
|
|
580
|
+
logoClassName
|
|
537
581
|
}) {
|
|
538
582
|
const renderAvatars = React.useMemo(() => {
|
|
539
583
|
if (avatarsSlot) return avatarsSlot;
|
|
@@ -588,6 +632,7 @@ function HeroStartupLaunchCta({
|
|
|
588
632
|
badgeIcon,
|
|
589
633
|
typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { children: badge }) : badge
|
|
590
634
|
] }),
|
|
635
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
591
636
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
592
637
|
"h1",
|
|
593
638
|
{
|
|
@@ -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';
|
|
@@ -123,9 +126,21 @@ interface HeroStartupLaunchCtaProps {
|
|
|
123
126
|
* OptixFlow image optimization configuration
|
|
124
127
|
*/
|
|
125
128
|
optixFlowConfig?: OptixFlowConfig;
|
|
129
|
+
/**
|
|
130
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
131
|
+
*/
|
|
132
|
+
logo?: LogoConfig;
|
|
133
|
+
/**
|
|
134
|
+
* Custom slot for logo (overrides logo prop)
|
|
135
|
+
*/
|
|
136
|
+
logoSlot?: React.ReactNode;
|
|
137
|
+
/**
|
|
138
|
+
* Additional CSS classes for the logo container
|
|
139
|
+
*/
|
|
140
|
+
logoClassName?: string;
|
|
126
141
|
/** Optional Section ID */
|
|
127
142
|
sectionId?: string;
|
|
128
143
|
}
|
|
129
|
-
declare function HeroStartupLaunchCta({ sectionId, badge, badgeIcon, badgeCard, badgeCardSlot, badgeClassName, heading, description, actions, actionsSlot, avatars, avatarsSlot, socialProofText, imageSrc, imageAlt, background, pattern, patternOpacity, patternClassName, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, socialProofClassName, imageClassName, optixFlowConfig, }: HeroStartupLaunchCtaProps): React.JSX.Element;
|
|
144
|
+
declare function HeroStartupLaunchCta({ sectionId, badge, badgeIcon, badgeCard, badgeCardSlot, badgeClassName, heading, description, actions, actionsSlot, avatars, avatarsSlot, socialProofText, imageSrc, imageAlt, background, pattern, patternOpacity, patternClassName, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, socialProofClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroStartupLaunchCtaProps): React.JSX.Element;
|
|
130
145
|
|
|
131
146
|
export { HeroStartupLaunchCta, type HeroStartupLaunchCtaProps };
|
|
@@ -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';
|
|
@@ -123,9 +126,21 @@ interface HeroStartupLaunchCtaProps {
|
|
|
123
126
|
* OptixFlow image optimization configuration
|
|
124
127
|
*/
|
|
125
128
|
optixFlowConfig?: OptixFlowConfig;
|
|
129
|
+
/**
|
|
130
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
131
|
+
*/
|
|
132
|
+
logo?: LogoConfig;
|
|
133
|
+
/**
|
|
134
|
+
* Custom slot for logo (overrides logo prop)
|
|
135
|
+
*/
|
|
136
|
+
logoSlot?: React.ReactNode;
|
|
137
|
+
/**
|
|
138
|
+
* Additional CSS classes for the logo container
|
|
139
|
+
*/
|
|
140
|
+
logoClassName?: string;
|
|
126
141
|
/** Optional Section ID */
|
|
127
142
|
sectionId?: string;
|
|
128
143
|
}
|
|
129
|
-
declare function HeroStartupLaunchCta({ sectionId, badge, badgeIcon, badgeCard, badgeCardSlot, badgeClassName, heading, description, actions, actionsSlot, avatars, avatarsSlot, socialProofText, imageSrc, imageAlt, background, pattern, patternOpacity, patternClassName, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, socialProofClassName, imageClassName, optixFlowConfig, }: HeroStartupLaunchCtaProps): React.JSX.Element;
|
|
144
|
+
declare function HeroStartupLaunchCta({ sectionId, badge, badgeIcon, badgeCard, badgeCardSlot, badgeClassName, heading, description, actions, actionsSlot, avatars, avatarsSlot, socialProofText, imageSrc, imageAlt, background, pattern, patternOpacity, patternClassName, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, socialProofClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroStartupLaunchCtaProps): React.JSX.Element;
|
|
130
145
|
|
|
131
146
|
export { HeroStartupLaunchCta, type HeroStartupLaunchCtaProps };
|