@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
|
@@ -470,6 +470,47 @@ function ActionComponent({ action }) {
|
|
|
470
470
|
}
|
|
471
471
|
);
|
|
472
472
|
}
|
|
473
|
+
var SIZE_CLASSES = {
|
|
474
|
+
sm: "max-h-6 sm:max-h-7",
|
|
475
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
476
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
477
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
478
|
+
};
|
|
479
|
+
var BrandLogo = ({
|
|
480
|
+
logo,
|
|
481
|
+
logoSlot,
|
|
482
|
+
logoClassName,
|
|
483
|
+
size = "md",
|
|
484
|
+
optixFlowConfig
|
|
485
|
+
}) => {
|
|
486
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
487
|
+
if (!logo || !logo.src) return null;
|
|
488
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
489
|
+
Img,
|
|
490
|
+
{
|
|
491
|
+
src: logo.src,
|
|
492
|
+
className: cn(
|
|
493
|
+
"w-auto object-contain",
|
|
494
|
+
SIZE_CLASSES[size],
|
|
495
|
+
logo.className
|
|
496
|
+
),
|
|
497
|
+
alt: logo.alt || "Logo",
|
|
498
|
+
optixFlowConfig,
|
|
499
|
+
loading: "eager"
|
|
500
|
+
}
|
|
501
|
+
);
|
|
502
|
+
if (logo.url) {
|
|
503
|
+
return /* @__PURE__ */ jsx(
|
|
504
|
+
Pressable,
|
|
505
|
+
{
|
|
506
|
+
href: logo.url,
|
|
507
|
+
className: cn("flex items-center", logoClassName),
|
|
508
|
+
children: imgElement
|
|
509
|
+
}
|
|
510
|
+
);
|
|
511
|
+
}
|
|
512
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
513
|
+
};
|
|
473
514
|
function HeroInnovationImageGrid({
|
|
474
515
|
sectionId = "hero-innovation-image-grid",
|
|
475
516
|
heading,
|
|
@@ -489,7 +530,10 @@ function HeroInnovationImageGrid({
|
|
|
489
530
|
headingClassName,
|
|
490
531
|
descriptionClassName,
|
|
491
532
|
imagesClassName,
|
|
492
|
-
optixFlowConfig
|
|
533
|
+
optixFlowConfig,
|
|
534
|
+
logo,
|
|
535
|
+
logoSlot,
|
|
536
|
+
logoClassName
|
|
493
537
|
}) {
|
|
494
538
|
const renderImages = useMemo(() => {
|
|
495
539
|
if (imagesSlot) return imagesSlot;
|
|
@@ -559,6 +603,7 @@ function HeroInnovationImageGrid({
|
|
|
559
603
|
className: cn("flex flex-col gap-2 md:gap-12", contentClassName),
|
|
560
604
|
children: [
|
|
561
605
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
606
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
562
607
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
563
608
|
"h1",
|
|
564
609
|
{
|
|
@@ -423,6 +423,47 @@ var Section = React__namespace.default.forwardRef(
|
|
|
423
423
|
}
|
|
424
424
|
);
|
|
425
425
|
Section.displayName = "Section";
|
|
426
|
+
var SIZE_CLASSES = {
|
|
427
|
+
sm: "max-h-6 sm:max-h-7",
|
|
428
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
429
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
430
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
431
|
+
};
|
|
432
|
+
var BrandLogo = ({
|
|
433
|
+
logo,
|
|
434
|
+
logoSlot,
|
|
435
|
+
logoClassName,
|
|
436
|
+
size = "md",
|
|
437
|
+
optixFlowConfig
|
|
438
|
+
}) => {
|
|
439
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
440
|
+
if (!logo || !logo.src) return null;
|
|
441
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
442
|
+
img.Img,
|
|
443
|
+
{
|
|
444
|
+
src: logo.src,
|
|
445
|
+
className: cn(
|
|
446
|
+
"w-auto object-contain",
|
|
447
|
+
SIZE_CLASSES[size],
|
|
448
|
+
logo.className
|
|
449
|
+
),
|
|
450
|
+
alt: logo.alt || "Logo",
|
|
451
|
+
optixFlowConfig,
|
|
452
|
+
loading: "eager"
|
|
453
|
+
}
|
|
454
|
+
);
|
|
455
|
+
if (logo.url) {
|
|
456
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
457
|
+
pressable.Pressable,
|
|
458
|
+
{
|
|
459
|
+
href: logo.url,
|
|
460
|
+
className: cn("flex items-center", logoClassName),
|
|
461
|
+
children: imgElement
|
|
462
|
+
}
|
|
463
|
+
);
|
|
464
|
+
}
|
|
465
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
466
|
+
};
|
|
426
467
|
function HeroMarketplaceScatteredImages({
|
|
427
468
|
sectionId = "hero-marketplace-scattered-images",
|
|
428
469
|
heading,
|
|
@@ -444,7 +485,10 @@ function HeroMarketplaceScatteredImages({
|
|
|
444
485
|
headingClassName,
|
|
445
486
|
descriptionClassName,
|
|
446
487
|
imagesClassName,
|
|
447
|
-
optixFlowConfig
|
|
488
|
+
optixFlowConfig,
|
|
489
|
+
logo,
|
|
490
|
+
logoSlot,
|
|
491
|
+
logoClassName
|
|
448
492
|
}) {
|
|
449
493
|
const renderAction = React.useMemo(() => {
|
|
450
494
|
if (actionSlot) return actionSlot;
|
|
@@ -574,6 +618,7 @@ function HeroMarketplaceScatteredImages({
|
|
|
574
618
|
contentClassName
|
|
575
619
|
),
|
|
576
620
|
children: [
|
|
621
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
577
622
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
578
623
|
"h1",
|
|
579
624
|
{
|
|
@@ -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';
|
|
@@ -87,9 +90,21 @@ interface HeroMarketplaceScatteredImagesProps {
|
|
|
87
90
|
* OptixFlow image optimization configuration
|
|
88
91
|
*/
|
|
89
92
|
optixFlowConfig?: OptixFlowConfig;
|
|
93
|
+
/**
|
|
94
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
95
|
+
*/
|
|
96
|
+
logo?: LogoConfig;
|
|
97
|
+
/**
|
|
98
|
+
* Custom slot for logo (overrides logo prop)
|
|
99
|
+
*/
|
|
100
|
+
logoSlot?: React.ReactNode;
|
|
101
|
+
/**
|
|
102
|
+
* Additional CSS classes for the logo container
|
|
103
|
+
*/
|
|
104
|
+
logoClassName?: string;
|
|
90
105
|
/** Optional Section ID */
|
|
91
106
|
sectionId?: string;
|
|
92
107
|
}
|
|
93
|
-
declare function HeroMarketplaceScatteredImages({ sectionId, heading, description, action, actionSlot, tagline, taglineIcon, taglineSlot, images, imagesSlot, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, imagesClassName, optixFlowConfig, }: HeroMarketplaceScatteredImagesProps): React.JSX.Element;
|
|
108
|
+
declare function HeroMarketplaceScatteredImages({ sectionId, heading, description, action, actionSlot, tagline, taglineIcon, taglineSlot, images, imagesSlot, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, imagesClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroMarketplaceScatteredImagesProps): React.JSX.Element;
|
|
94
109
|
|
|
95
110
|
export { HeroMarketplaceScatteredImages, type HeroMarketplaceScatteredImagesProps };
|
|
@@ -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';
|
|
@@ -87,9 +90,21 @@ interface HeroMarketplaceScatteredImagesProps {
|
|
|
87
90
|
* OptixFlow image optimization configuration
|
|
88
91
|
*/
|
|
89
92
|
optixFlowConfig?: OptixFlowConfig;
|
|
93
|
+
/**
|
|
94
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
95
|
+
*/
|
|
96
|
+
logo?: LogoConfig;
|
|
97
|
+
/**
|
|
98
|
+
* Custom slot for logo (overrides logo prop)
|
|
99
|
+
*/
|
|
100
|
+
logoSlot?: React.ReactNode;
|
|
101
|
+
/**
|
|
102
|
+
* Additional CSS classes for the logo container
|
|
103
|
+
*/
|
|
104
|
+
logoClassName?: string;
|
|
90
105
|
/** Optional Section ID */
|
|
91
106
|
sectionId?: string;
|
|
92
107
|
}
|
|
93
|
-
declare function HeroMarketplaceScatteredImages({ sectionId, heading, description, action, actionSlot, tagline, taglineIcon, taglineSlot, images, imagesSlot, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, imagesClassName, optixFlowConfig, }: HeroMarketplaceScatteredImagesProps): React.JSX.Element;
|
|
108
|
+
declare function HeroMarketplaceScatteredImages({ sectionId, heading, description, action, actionSlot, tagline, taglineIcon, taglineSlot, images, imagesSlot, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, imagesClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroMarketplaceScatteredImagesProps): React.JSX.Element;
|
|
94
109
|
|
|
95
110
|
export { HeroMarketplaceScatteredImages, type HeroMarketplaceScatteredImagesProps };
|
|
@@ -402,6 +402,47 @@ var Section = React__default.forwardRef(
|
|
|
402
402
|
}
|
|
403
403
|
);
|
|
404
404
|
Section.displayName = "Section";
|
|
405
|
+
var SIZE_CLASSES = {
|
|
406
|
+
sm: "max-h-6 sm:max-h-7",
|
|
407
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
408
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
409
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
410
|
+
};
|
|
411
|
+
var BrandLogo = ({
|
|
412
|
+
logo,
|
|
413
|
+
logoSlot,
|
|
414
|
+
logoClassName,
|
|
415
|
+
size = "md",
|
|
416
|
+
optixFlowConfig
|
|
417
|
+
}) => {
|
|
418
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
419
|
+
if (!logo || !logo.src) return null;
|
|
420
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
421
|
+
Img,
|
|
422
|
+
{
|
|
423
|
+
src: logo.src,
|
|
424
|
+
className: cn(
|
|
425
|
+
"w-auto object-contain",
|
|
426
|
+
SIZE_CLASSES[size],
|
|
427
|
+
logo.className
|
|
428
|
+
),
|
|
429
|
+
alt: logo.alt || "Logo",
|
|
430
|
+
optixFlowConfig,
|
|
431
|
+
loading: "eager"
|
|
432
|
+
}
|
|
433
|
+
);
|
|
434
|
+
if (logo.url) {
|
|
435
|
+
return /* @__PURE__ */ jsx(
|
|
436
|
+
Pressable,
|
|
437
|
+
{
|
|
438
|
+
href: logo.url,
|
|
439
|
+
className: cn("flex items-center", logoClassName),
|
|
440
|
+
children: imgElement
|
|
441
|
+
}
|
|
442
|
+
);
|
|
443
|
+
}
|
|
444
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
445
|
+
};
|
|
405
446
|
function HeroMarketplaceScatteredImages({
|
|
406
447
|
sectionId = "hero-marketplace-scattered-images",
|
|
407
448
|
heading,
|
|
@@ -423,7 +464,10 @@ function HeroMarketplaceScatteredImages({
|
|
|
423
464
|
headingClassName,
|
|
424
465
|
descriptionClassName,
|
|
425
466
|
imagesClassName,
|
|
426
|
-
optixFlowConfig
|
|
467
|
+
optixFlowConfig,
|
|
468
|
+
logo,
|
|
469
|
+
logoSlot,
|
|
470
|
+
logoClassName
|
|
427
471
|
}) {
|
|
428
472
|
const renderAction = useMemo(() => {
|
|
429
473
|
if (actionSlot) return actionSlot;
|
|
@@ -553,6 +597,7 @@ function HeroMarketplaceScatteredImages({
|
|
|
553
597
|
contentClassName
|
|
554
598
|
),
|
|
555
599
|
children: [
|
|
600
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
556
601
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
557
602
|
"h1",
|
|
558
603
|
{
|
|
@@ -8,6 +8,7 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
8
8
|
var pressable = require('@page-speed/pressable');
|
|
9
9
|
var reactSlot = require('@radix-ui/react-slot');
|
|
10
10
|
var classVarianceAuthority = require('class-variance-authority');
|
|
11
|
+
var img = require('@page-speed/img');
|
|
11
12
|
|
|
12
13
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
14
|
|
|
@@ -503,6 +504,47 @@ function ActionComponent({ action }) {
|
|
|
503
504
|
}
|
|
504
505
|
);
|
|
505
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
|
+
};
|
|
506
548
|
function HeroMinimalCenteredDark({
|
|
507
549
|
sectionId = "hero-minimal-centered-dark",
|
|
508
550
|
badge,
|
|
@@ -523,7 +565,10 @@ function HeroMinimalCenteredDark({
|
|
|
523
565
|
headingClassName,
|
|
524
566
|
descriptionClassName,
|
|
525
567
|
actionsClassName,
|
|
526
|
-
statsClassName
|
|
568
|
+
statsClassName,
|
|
569
|
+
logo,
|
|
570
|
+
logoSlot,
|
|
571
|
+
logoClassName
|
|
527
572
|
}) {
|
|
528
573
|
const renderStats = React.useMemo(() => {
|
|
529
574
|
if (statsSlot) return statsSlot;
|
|
@@ -552,6 +597,7 @@ function HeroMinimalCenteredDark({
|
|
|
552
597
|
containerClassName,
|
|
553
598
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
554
599
|
badge && /* @__PURE__ */ jsxRuntime.jsx(Badge, { className: cn("px-4 py-1", badgeClassName), children: typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { children: badge }) : badge }),
|
|
600
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "xl" }) }),
|
|
555
601
|
(heading || headingHighlight) && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
556
602
|
"h1",
|
|
557
603
|
{
|
|
@@ -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, k as StatItem } 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';
|
|
@@ -86,9 +89,21 @@ interface HeroMinimalCenteredDarkProps {
|
|
|
86
89
|
* Additional CSS classes for the stats container
|
|
87
90
|
*/
|
|
88
91
|
statsClassName?: string;
|
|
92
|
+
/**
|
|
93
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
94
|
+
*/
|
|
95
|
+
logo?: LogoConfig;
|
|
96
|
+
/**
|
|
97
|
+
* Custom slot for logo (overrides logo prop)
|
|
98
|
+
*/
|
|
99
|
+
logoSlot?: React.ReactNode;
|
|
100
|
+
/**
|
|
101
|
+
* Additional CSS classes for the logo container
|
|
102
|
+
*/
|
|
103
|
+
logoClassName?: string;
|
|
89
104
|
/** Optional Section ID */
|
|
90
105
|
sectionId?: string;
|
|
91
106
|
}
|
|
92
|
-
declare function HeroMinimalCenteredDark({ sectionId, badge, heading, headingHighlight, description, actions, actionsSlot, stats, statsSlot, background, containerClassName, spacing, pattern, patternOpacity, className, badgeClassName, headingClassName, descriptionClassName, actionsClassName, statsClassName, }: HeroMinimalCenteredDarkProps): React.JSX.Element;
|
|
107
|
+
declare function HeroMinimalCenteredDark({ sectionId, badge, heading, headingHighlight, description, actions, actionsSlot, stats, statsSlot, background, containerClassName, spacing, pattern, patternOpacity, className, badgeClassName, headingClassName, descriptionClassName, actionsClassName, statsClassName, logo, logoSlot, logoClassName, }: HeroMinimalCenteredDarkProps): React.JSX.Element;
|
|
93
108
|
|
|
94
109
|
export { HeroMinimalCenteredDark, type HeroMinimalCenteredDarkProps };
|
|
@@ -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, k as StatItem } 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';
|
|
@@ -86,9 +89,21 @@ interface HeroMinimalCenteredDarkProps {
|
|
|
86
89
|
* Additional CSS classes for the stats container
|
|
87
90
|
*/
|
|
88
91
|
statsClassName?: string;
|
|
92
|
+
/**
|
|
93
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
94
|
+
*/
|
|
95
|
+
logo?: LogoConfig;
|
|
96
|
+
/**
|
|
97
|
+
* Custom slot for logo (overrides logo prop)
|
|
98
|
+
*/
|
|
99
|
+
logoSlot?: React.ReactNode;
|
|
100
|
+
/**
|
|
101
|
+
* Additional CSS classes for the logo container
|
|
102
|
+
*/
|
|
103
|
+
logoClassName?: string;
|
|
89
104
|
/** Optional Section ID */
|
|
90
105
|
sectionId?: string;
|
|
91
106
|
}
|
|
92
|
-
declare function HeroMinimalCenteredDark({ sectionId, badge, heading, headingHighlight, description, actions, actionsSlot, stats, statsSlot, background, containerClassName, spacing, pattern, patternOpacity, className, badgeClassName, headingClassName, descriptionClassName, actionsClassName, statsClassName, }: HeroMinimalCenteredDarkProps): React.JSX.Element;
|
|
107
|
+
declare function HeroMinimalCenteredDark({ sectionId, badge, heading, headingHighlight, description, actions, actionsSlot, stats, statsSlot, background, containerClassName, spacing, pattern, patternOpacity, className, badgeClassName, headingClassName, descriptionClassName, actionsClassName, statsClassName, logo, logoSlot, logoClassName, }: HeroMinimalCenteredDarkProps): React.JSX.Element;
|
|
93
108
|
|
|
94
109
|
export { HeroMinimalCenteredDark, type HeroMinimalCenteredDarkProps };
|
|
@@ -6,6 +6,7 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
|
6
6
|
import { Pressable, buttonVariants } from '@page-speed/pressable';
|
|
7
7
|
import { Slot } from '@radix-ui/react-slot';
|
|
8
8
|
import { cva } from 'class-variance-authority';
|
|
9
|
+
import { Img } from '@page-speed/img';
|
|
9
10
|
|
|
10
11
|
// components/blocks/hero/hero-minimal-centered-dark.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 HeroMinimalCenteredDark({
|
|
501
543
|
sectionId = "hero-minimal-centered-dark",
|
|
502
544
|
badge,
|
|
@@ -517,7 +559,10 @@ function HeroMinimalCenteredDark({
|
|
|
517
559
|
headingClassName,
|
|
518
560
|
descriptionClassName,
|
|
519
561
|
actionsClassName,
|
|
520
|
-
statsClassName
|
|
562
|
+
statsClassName,
|
|
563
|
+
logo,
|
|
564
|
+
logoSlot,
|
|
565
|
+
logoClassName
|
|
521
566
|
}) {
|
|
522
567
|
const renderStats = useMemo(() => {
|
|
523
568
|
if (statsSlot) return statsSlot;
|
|
@@ -546,6 +591,7 @@ function HeroMinimalCenteredDark({
|
|
|
546
591
|
containerClassName,
|
|
547
592
|
children: /* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
548
593
|
badge && /* @__PURE__ */ jsx(Badge, { className: cn("px-4 py-1", badgeClassName), children: typeof badge === "string" ? /* @__PURE__ */ jsx("span", { children: badge }) : badge }),
|
|
594
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "xl" }) }),
|
|
549
595
|
(heading || headingHighlight) && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
550
596
|
"h1",
|
|
551
597
|
{
|
|
@@ -456,6 +456,47 @@ function Badge({
|
|
|
456
456
|
}
|
|
457
457
|
);
|
|
458
458
|
}
|
|
459
|
+
var SIZE_CLASSES = {
|
|
460
|
+
sm: "max-h-6 sm:max-h-7",
|
|
461
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
462
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
463
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
464
|
+
};
|
|
465
|
+
var BrandLogo = ({
|
|
466
|
+
logo,
|
|
467
|
+
logoSlot,
|
|
468
|
+
logoClassName,
|
|
469
|
+
size = "md",
|
|
470
|
+
optixFlowConfig
|
|
471
|
+
}) => {
|
|
472
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
473
|
+
if (!logo || !logo.src) return null;
|
|
474
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
475
|
+
img.Img,
|
|
476
|
+
{
|
|
477
|
+
src: logo.src,
|
|
478
|
+
className: cn(
|
|
479
|
+
"w-auto object-contain",
|
|
480
|
+
SIZE_CLASSES[size],
|
|
481
|
+
logo.className
|
|
482
|
+
),
|
|
483
|
+
alt: logo.alt || "Logo",
|
|
484
|
+
optixFlowConfig,
|
|
485
|
+
loading: "eager"
|
|
486
|
+
}
|
|
487
|
+
);
|
|
488
|
+
if (logo.url) {
|
|
489
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
490
|
+
pressable.Pressable,
|
|
491
|
+
{
|
|
492
|
+
href: logo.url,
|
|
493
|
+
className: cn("flex items-center", logoClassName),
|
|
494
|
+
children: imgElement
|
|
495
|
+
}
|
|
496
|
+
);
|
|
497
|
+
}
|
|
498
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
499
|
+
};
|
|
459
500
|
function HeroMobileAppDownload({
|
|
460
501
|
sectionId = "hero-mobile-app-download",
|
|
461
502
|
badgeText,
|
|
@@ -483,7 +524,10 @@ function HeroMobileAppDownload({
|
|
|
483
524
|
description,
|
|
484
525
|
descriptionClassName,
|
|
485
526
|
imageClassName,
|
|
486
|
-
optixFlowConfig
|
|
527
|
+
optixFlowConfig,
|
|
528
|
+
logo,
|
|
529
|
+
logoSlot,
|
|
530
|
+
logoClassName
|
|
487
531
|
}) {
|
|
488
532
|
const renderBadge = React.useMemo(() => {
|
|
489
533
|
if (badgeSlot) return badgeSlot;
|
|
@@ -617,6 +661,7 @@ function HeroMobileAppDownload({
|
|
|
617
661
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-8 md:pt-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid items-center gap-12 grid-cols-1 md:grid-cols-2 md:gap-20", children: [
|
|
618
662
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-8", contentClassName), children: [
|
|
619
663
|
renderBadge,
|
|
664
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
620
665
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
621
666
|
"h1",
|
|
622
667
|
{
|
|
@@ -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';
|
|
@@ -146,9 +149,21 @@ interface HeroMobileAppDownloadProps {
|
|
|
146
149
|
* OptixFlow image optimization configuration
|
|
147
150
|
*/
|
|
148
151
|
optixFlowConfig?: OptixFlowConfig;
|
|
152
|
+
/**
|
|
153
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
154
|
+
*/
|
|
155
|
+
logo?: LogoConfig;
|
|
156
|
+
/**
|
|
157
|
+
* Custom slot for logo (overrides logo prop)
|
|
158
|
+
*/
|
|
159
|
+
logoSlot?: React.ReactNode;
|
|
160
|
+
/**
|
|
161
|
+
* Additional CSS classes for the logo container
|
|
162
|
+
*/
|
|
163
|
+
logoClassName?: string;
|
|
149
164
|
/** Optional Section ID */
|
|
150
165
|
sectionId?: string;
|
|
151
166
|
}
|
|
152
|
-
declare function HeroMobileAppDownload({ sectionId, badgeText, badgeIcon, badgeSlot, heading, storeActions, storeActionsSlot, ratingValue, ratingLabel, starCount, ratingSlot, image, imageSlot, notification, notificationSlot, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, description, descriptionClassName, imageClassName, optixFlowConfig, }: HeroMobileAppDownloadProps): React.JSX.Element;
|
|
167
|
+
declare function HeroMobileAppDownload({ sectionId, badgeText, badgeIcon, badgeSlot, heading, storeActions, storeActionsSlot, ratingValue, ratingLabel, starCount, ratingSlot, image, imageSlot, notification, notificationSlot, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, description, descriptionClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroMobileAppDownloadProps): React.JSX.Element;
|
|
153
168
|
|
|
154
169
|
export { HeroMobileAppDownload, type HeroMobileAppDownloadProps };
|
|
@@ -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';
|
|
@@ -146,9 +149,21 @@ interface HeroMobileAppDownloadProps {
|
|
|
146
149
|
* OptixFlow image optimization configuration
|
|
147
150
|
*/
|
|
148
151
|
optixFlowConfig?: OptixFlowConfig;
|
|
152
|
+
/**
|
|
153
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
154
|
+
*/
|
|
155
|
+
logo?: LogoConfig;
|
|
156
|
+
/**
|
|
157
|
+
* Custom slot for logo (overrides logo prop)
|
|
158
|
+
*/
|
|
159
|
+
logoSlot?: React.ReactNode;
|
|
160
|
+
/**
|
|
161
|
+
* Additional CSS classes for the logo container
|
|
162
|
+
*/
|
|
163
|
+
logoClassName?: string;
|
|
149
164
|
/** Optional Section ID */
|
|
150
165
|
sectionId?: string;
|
|
151
166
|
}
|
|
152
|
-
declare function HeroMobileAppDownload({ sectionId, badgeText, badgeIcon, badgeSlot, heading, storeActions, storeActionsSlot, ratingValue, ratingLabel, starCount, ratingSlot, image, imageSlot, notification, notificationSlot, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, description, descriptionClassName, imageClassName, optixFlowConfig, }: HeroMobileAppDownloadProps): React.JSX.Element;
|
|
167
|
+
declare function HeroMobileAppDownload({ sectionId, badgeText, badgeIcon, badgeSlot, heading, storeActions, storeActionsSlot, ratingValue, ratingLabel, starCount, ratingSlot, image, imageSlot, notification, notificationSlot, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, description, descriptionClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroMobileAppDownloadProps): React.JSX.Element;
|
|
153
168
|
|
|
154
169
|
export { HeroMobileAppDownload, type HeroMobileAppDownloadProps };
|