@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
|
@@ -6,6 +6,7 @@ import { twMerge } from 'tailwind-merge';
|
|
|
6
6
|
import { Pressable, buttonVariants } from '@page-speed/pressable';
|
|
7
7
|
import { Icon } from '@page-speed/icon';
|
|
8
8
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
9
|
+
import { Img } from '@page-speed/img';
|
|
9
10
|
|
|
10
11
|
// components/blocks/hero/hero-feature-cards-grid.tsx
|
|
11
12
|
function cn(...inputs) {
|
|
@@ -478,6 +479,47 @@ function ActionComponent({ action }) {
|
|
|
478
479
|
}
|
|
479
480
|
);
|
|
480
481
|
}
|
|
482
|
+
var SIZE_CLASSES = {
|
|
483
|
+
sm: "max-h-6 sm:max-h-7",
|
|
484
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
485
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
486
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
487
|
+
};
|
|
488
|
+
var BrandLogo = ({
|
|
489
|
+
logo,
|
|
490
|
+
logoSlot,
|
|
491
|
+
logoClassName,
|
|
492
|
+
size = "md",
|
|
493
|
+
optixFlowConfig
|
|
494
|
+
}) => {
|
|
495
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
496
|
+
if (!logo || !logo.src) return null;
|
|
497
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
498
|
+
Img,
|
|
499
|
+
{
|
|
500
|
+
src: logo.src,
|
|
501
|
+
className: cn(
|
|
502
|
+
"w-auto object-contain",
|
|
503
|
+
SIZE_CLASSES[size],
|
|
504
|
+
logo.className
|
|
505
|
+
),
|
|
506
|
+
alt: logo.alt || "Logo",
|
|
507
|
+
optixFlowConfig,
|
|
508
|
+
loading: "eager"
|
|
509
|
+
}
|
|
510
|
+
);
|
|
511
|
+
if (logo.url) {
|
|
512
|
+
return /* @__PURE__ */ jsx(
|
|
513
|
+
Pressable,
|
|
514
|
+
{
|
|
515
|
+
href: logo.url,
|
|
516
|
+
className: cn("flex items-center", logoClassName),
|
|
517
|
+
children: imgElement
|
|
518
|
+
}
|
|
519
|
+
);
|
|
520
|
+
}
|
|
521
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
522
|
+
};
|
|
481
523
|
function HeroFeatureCardsGrid({
|
|
482
524
|
sectionId = "hero-feature-cards-grid",
|
|
483
525
|
heading,
|
|
@@ -496,7 +538,10 @@ function HeroFeatureCardsGrid({
|
|
|
496
538
|
headingClassName,
|
|
497
539
|
descriptionClassName,
|
|
498
540
|
actionsClassName,
|
|
499
|
-
featuresClassName
|
|
541
|
+
featuresClassName,
|
|
542
|
+
logo,
|
|
543
|
+
logoSlot,
|
|
544
|
+
logoClassName
|
|
500
545
|
}) {
|
|
501
546
|
const renderFeatures = useMemo(() => {
|
|
502
547
|
if (featuresSlot) return featuresSlot;
|
|
@@ -559,6 +604,7 @@ function HeroFeatureCardsGrid({
|
|
|
559
604
|
contentClassName
|
|
560
605
|
),
|
|
561
606
|
children: [
|
|
607
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
562
608
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
563
609
|
"h1",
|
|
564
610
|
{
|
|
@@ -470,6 +470,47 @@ function ActionComponent({ action }) {
|
|
|
470
470
|
}
|
|
471
471
|
);
|
|
472
472
|
}
|
|
473
|
+
var SIZE_CLASSES = {
|
|
474
|
+
sm: "max-h-6 sm:max-h-7",
|
|
475
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
476
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
477
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
478
|
+
};
|
|
479
|
+
var BrandLogo = ({
|
|
480
|
+
logo,
|
|
481
|
+
logoSlot,
|
|
482
|
+
logoClassName,
|
|
483
|
+
size = "md",
|
|
484
|
+
optixFlowConfig
|
|
485
|
+
}) => {
|
|
486
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
487
|
+
if (!logo || !logo.src) return null;
|
|
488
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
489
|
+
img.Img,
|
|
490
|
+
{
|
|
491
|
+
src: logo.src,
|
|
492
|
+
className: cn(
|
|
493
|
+
"w-auto object-contain",
|
|
494
|
+
SIZE_CLASSES[size],
|
|
495
|
+
logo.className
|
|
496
|
+
),
|
|
497
|
+
alt: logo.alt || "Logo",
|
|
498
|
+
optixFlowConfig,
|
|
499
|
+
loading: "eager"
|
|
500
|
+
}
|
|
501
|
+
);
|
|
502
|
+
if (logo.url) {
|
|
503
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
504
|
+
pressable.Pressable,
|
|
505
|
+
{
|
|
506
|
+
href: logo.url,
|
|
507
|
+
className: cn("flex items-center", logoClassName),
|
|
508
|
+
children: imgElement
|
|
509
|
+
}
|
|
510
|
+
);
|
|
511
|
+
}
|
|
512
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
513
|
+
};
|
|
473
514
|
function HeroFullscreenBackgroundImage({
|
|
474
515
|
sectionId = "hero-fullscreen-background-image",
|
|
475
516
|
heading,
|
|
@@ -487,7 +528,10 @@ function HeroFullscreenBackgroundImage({
|
|
|
487
528
|
headingClassName,
|
|
488
529
|
descriptionClassName,
|
|
489
530
|
actionsClassName,
|
|
490
|
-
optixFlowConfig
|
|
531
|
+
optixFlowConfig,
|
|
532
|
+
logo,
|
|
533
|
+
logoSlot,
|
|
534
|
+
logoClassName
|
|
491
535
|
}) {
|
|
492
536
|
const renderBackground = React.useMemo(() => {
|
|
493
537
|
if (!backgroundImage) return null;
|
|
@@ -529,6 +573,7 @@ function HeroFullscreenBackgroundImage({
|
|
|
529
573
|
contentClassName
|
|
530
574
|
),
|
|
531
575
|
children: [
|
|
576
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "xl" }) }),
|
|
532
577
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
533
578
|
"h1",
|
|
534
579
|
{
|
|
@@ -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';
|
|
@@ -74,9 +77,21 @@ interface HeroFullscreenBackgroundImageProps {
|
|
|
74
77
|
apiKey: string;
|
|
75
78
|
compression?: number;
|
|
76
79
|
};
|
|
80
|
+
/**
|
|
81
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
82
|
+
*/
|
|
83
|
+
logo?: LogoConfig;
|
|
84
|
+
/**
|
|
85
|
+
* Custom slot for logo (overrides logo prop)
|
|
86
|
+
*/
|
|
87
|
+
logoSlot?: React.ReactNode;
|
|
88
|
+
/**
|
|
89
|
+
* Additional CSS classes for the logo container
|
|
90
|
+
*/
|
|
91
|
+
logoClassName?: string;
|
|
77
92
|
/** Optional Section ID */
|
|
78
93
|
sectionId?: string;
|
|
79
94
|
}
|
|
80
|
-
declare function HeroFullscreenBackgroundImage({ sectionId, heading, description, actions, actionsSlot, backgroundImage, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, actionsClassName, optixFlowConfig, }: HeroFullscreenBackgroundImageProps): React.JSX.Element;
|
|
95
|
+
declare function HeroFullscreenBackgroundImage({ sectionId, heading, description, actions, actionsSlot, backgroundImage, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, actionsClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroFullscreenBackgroundImageProps): React.JSX.Element;
|
|
81
96
|
|
|
82
97
|
export { HeroFullscreenBackgroundImage, type HeroFullscreenBackgroundImageProps };
|
|
@@ -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';
|
|
@@ -74,9 +77,21 @@ interface HeroFullscreenBackgroundImageProps {
|
|
|
74
77
|
apiKey: string;
|
|
75
78
|
compression?: number;
|
|
76
79
|
};
|
|
80
|
+
/**
|
|
81
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
82
|
+
*/
|
|
83
|
+
logo?: LogoConfig;
|
|
84
|
+
/**
|
|
85
|
+
* Custom slot for logo (overrides logo prop)
|
|
86
|
+
*/
|
|
87
|
+
logoSlot?: React.ReactNode;
|
|
88
|
+
/**
|
|
89
|
+
* Additional CSS classes for the logo container
|
|
90
|
+
*/
|
|
91
|
+
logoClassName?: string;
|
|
77
92
|
/** Optional Section ID */
|
|
78
93
|
sectionId?: string;
|
|
79
94
|
}
|
|
80
|
-
declare function HeroFullscreenBackgroundImage({ sectionId, heading, description, actions, actionsSlot, backgroundImage, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, actionsClassName, optixFlowConfig, }: HeroFullscreenBackgroundImageProps): React.JSX.Element;
|
|
95
|
+
declare function HeroFullscreenBackgroundImage({ sectionId, heading, description, actions, actionsSlot, backgroundImage, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, actionsClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroFullscreenBackgroundImageProps): React.JSX.Element;
|
|
81
96
|
|
|
82
97
|
export { HeroFullscreenBackgroundImage, type HeroFullscreenBackgroundImageProps };
|
|
@@ -464,6 +464,47 @@ function ActionComponent({ action }) {
|
|
|
464
464
|
}
|
|
465
465
|
);
|
|
466
466
|
}
|
|
467
|
+
var SIZE_CLASSES = {
|
|
468
|
+
sm: "max-h-6 sm:max-h-7",
|
|
469
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
470
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
471
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
472
|
+
};
|
|
473
|
+
var BrandLogo = ({
|
|
474
|
+
logo,
|
|
475
|
+
logoSlot,
|
|
476
|
+
logoClassName,
|
|
477
|
+
size = "md",
|
|
478
|
+
optixFlowConfig
|
|
479
|
+
}) => {
|
|
480
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
481
|
+
if (!logo || !logo.src) return null;
|
|
482
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
483
|
+
Img,
|
|
484
|
+
{
|
|
485
|
+
src: logo.src,
|
|
486
|
+
className: cn(
|
|
487
|
+
"w-auto object-contain",
|
|
488
|
+
SIZE_CLASSES[size],
|
|
489
|
+
logo.className
|
|
490
|
+
),
|
|
491
|
+
alt: logo.alt || "Logo",
|
|
492
|
+
optixFlowConfig,
|
|
493
|
+
loading: "eager"
|
|
494
|
+
}
|
|
495
|
+
);
|
|
496
|
+
if (logo.url) {
|
|
497
|
+
return /* @__PURE__ */ jsx(
|
|
498
|
+
Pressable,
|
|
499
|
+
{
|
|
500
|
+
href: logo.url,
|
|
501
|
+
className: cn("flex items-center", logoClassName),
|
|
502
|
+
children: imgElement
|
|
503
|
+
}
|
|
504
|
+
);
|
|
505
|
+
}
|
|
506
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
507
|
+
};
|
|
467
508
|
function HeroFullscreenBackgroundImage({
|
|
468
509
|
sectionId = "hero-fullscreen-background-image",
|
|
469
510
|
heading,
|
|
@@ -481,7 +522,10 @@ function HeroFullscreenBackgroundImage({
|
|
|
481
522
|
headingClassName,
|
|
482
523
|
descriptionClassName,
|
|
483
524
|
actionsClassName,
|
|
484
|
-
optixFlowConfig
|
|
525
|
+
optixFlowConfig,
|
|
526
|
+
logo,
|
|
527
|
+
logoSlot,
|
|
528
|
+
logoClassName
|
|
485
529
|
}) {
|
|
486
530
|
const renderBackground = useMemo(() => {
|
|
487
531
|
if (!backgroundImage) return null;
|
|
@@ -523,6 +567,7 @@ function HeroFullscreenBackgroundImage({
|
|
|
523
567
|
contentClassName
|
|
524
568
|
),
|
|
525
569
|
children: [
|
|
570
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "xl" }) }),
|
|
526
571
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
527
572
|
"h1",
|
|
528
573
|
{
|
|
@@ -531,6 +531,47 @@ function ActionComponent({ action }) {
|
|
|
531
531
|
}
|
|
532
532
|
);
|
|
533
533
|
}
|
|
534
|
+
var SIZE_CLASSES = {
|
|
535
|
+
sm: "max-h-6 sm:max-h-7",
|
|
536
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
537
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
538
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
539
|
+
};
|
|
540
|
+
var BrandLogo = ({
|
|
541
|
+
logo,
|
|
542
|
+
logoSlot,
|
|
543
|
+
logoClassName,
|
|
544
|
+
size = "md",
|
|
545
|
+
optixFlowConfig
|
|
546
|
+
}) => {
|
|
547
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
548
|
+
if (!logo || !logo.src) return null;
|
|
549
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
550
|
+
img.Img,
|
|
551
|
+
{
|
|
552
|
+
src: logo.src,
|
|
553
|
+
className: cn(
|
|
554
|
+
"w-auto object-contain",
|
|
555
|
+
SIZE_CLASSES[size],
|
|
556
|
+
logo.className
|
|
557
|
+
),
|
|
558
|
+
alt: logo.alt || "Logo",
|
|
559
|
+
optixFlowConfig,
|
|
560
|
+
loading: "eager"
|
|
561
|
+
}
|
|
562
|
+
);
|
|
563
|
+
if (logo.url) {
|
|
564
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
565
|
+
pressable.Pressable,
|
|
566
|
+
{
|
|
567
|
+
href: logo.url,
|
|
568
|
+
className: cn("flex items-center", logoClassName),
|
|
569
|
+
children: imgElement
|
|
570
|
+
}
|
|
571
|
+
);
|
|
572
|
+
}
|
|
573
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
574
|
+
};
|
|
534
575
|
function HeroGradientAvatarsRating({
|
|
535
576
|
sectionId = "hero-gradient-avatars-rating",
|
|
536
577
|
heading,
|
|
@@ -555,7 +596,10 @@ function HeroGradientAvatarsRating({
|
|
|
555
596
|
descriptionClassName,
|
|
556
597
|
actionsClassName,
|
|
557
598
|
imagesClassName,
|
|
558
|
-
optixFlowConfig
|
|
599
|
+
optixFlowConfig,
|
|
600
|
+
logo,
|
|
601
|
+
logoSlot,
|
|
602
|
+
logoClassName
|
|
559
603
|
}) {
|
|
560
604
|
const renderAvatars = React.useMemo(() => {
|
|
561
605
|
if (avatarsSlot) return avatarsSlot;
|
|
@@ -661,6 +705,7 @@ function HeroGradientAvatarsRating({
|
|
|
661
705
|
contentClassName
|
|
662
706
|
),
|
|
663
707
|
children: [
|
|
708
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
664
709
|
heading && /* @__PURE__ */ jsxRuntime.jsx(
|
|
665
710
|
"h1",
|
|
666
711
|
{
|
|
@@ -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';
|
|
@@ -108,9 +111,21 @@ interface HeroGradientAvatarsRatingProps {
|
|
|
108
111
|
* OptixFlow image optimization configuration
|
|
109
112
|
*/
|
|
110
113
|
optixFlowConfig?: OptixFlowConfig;
|
|
114
|
+
/**
|
|
115
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
116
|
+
*/
|
|
117
|
+
logo?: LogoConfig;
|
|
118
|
+
/**
|
|
119
|
+
* Custom slot for logo (overrides logo prop)
|
|
120
|
+
*/
|
|
121
|
+
logoSlot?: React.ReactNode;
|
|
122
|
+
/**
|
|
123
|
+
* Additional CSS classes for the logo container
|
|
124
|
+
*/
|
|
125
|
+
logoClassName?: string;
|
|
111
126
|
/** Optional Section ID */
|
|
112
127
|
sectionId?: string;
|
|
113
128
|
}
|
|
114
|
-
declare function HeroGradientAvatarsRating({ sectionId, heading, description, actions, actionsSlot, avatars, avatarsSlot, ratingValue, ratingLabel, starCount, images, imagesSlot, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, }: HeroGradientAvatarsRatingProps): React.JSX.Element;
|
|
129
|
+
declare function HeroGradientAvatarsRating({ sectionId, heading, description, actions, actionsSlot, avatars, avatarsSlot, ratingValue, ratingLabel, starCount, images, imagesSlot, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroGradientAvatarsRatingProps): React.JSX.Element;
|
|
115
130
|
|
|
116
131
|
export { type AvatarItem, HeroGradientAvatarsRating, type HeroGradientAvatarsRatingProps };
|
|
@@ -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';
|
|
@@ -108,9 +111,21 @@ interface HeroGradientAvatarsRatingProps {
|
|
|
108
111
|
* OptixFlow image optimization configuration
|
|
109
112
|
*/
|
|
110
113
|
optixFlowConfig?: OptixFlowConfig;
|
|
114
|
+
/**
|
|
115
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
116
|
+
*/
|
|
117
|
+
logo?: LogoConfig;
|
|
118
|
+
/**
|
|
119
|
+
* Custom slot for logo (overrides logo prop)
|
|
120
|
+
*/
|
|
121
|
+
logoSlot?: React.ReactNode;
|
|
122
|
+
/**
|
|
123
|
+
* Additional CSS classes for the logo container
|
|
124
|
+
*/
|
|
125
|
+
logoClassName?: string;
|
|
111
126
|
/** Optional Section ID */
|
|
112
127
|
sectionId?: string;
|
|
113
128
|
}
|
|
114
|
-
declare function HeroGradientAvatarsRating({ sectionId, heading, description, actions, actionsSlot, avatars, avatarsSlot, ratingValue, ratingLabel, starCount, images, imagesSlot, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, }: HeroGradientAvatarsRatingProps): React.JSX.Element;
|
|
129
|
+
declare function HeroGradientAvatarsRating({ sectionId, heading, description, actions, actionsSlot, avatars, avatarsSlot, ratingValue, ratingLabel, starCount, images, imagesSlot, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroGradientAvatarsRatingProps): React.JSX.Element;
|
|
115
130
|
|
|
116
131
|
export { type AvatarItem, HeroGradientAvatarsRating, type HeroGradientAvatarsRatingProps };
|
|
@@ -509,6 +509,47 @@ function ActionComponent({ action }) {
|
|
|
509
509
|
}
|
|
510
510
|
);
|
|
511
511
|
}
|
|
512
|
+
var SIZE_CLASSES = {
|
|
513
|
+
sm: "max-h-6 sm:max-h-7",
|
|
514
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
515
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
516
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
517
|
+
};
|
|
518
|
+
var BrandLogo = ({
|
|
519
|
+
logo,
|
|
520
|
+
logoSlot,
|
|
521
|
+
logoClassName,
|
|
522
|
+
size = "md",
|
|
523
|
+
optixFlowConfig
|
|
524
|
+
}) => {
|
|
525
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
526
|
+
if (!logo || !logo.src) return null;
|
|
527
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
528
|
+
Img,
|
|
529
|
+
{
|
|
530
|
+
src: logo.src,
|
|
531
|
+
className: cn(
|
|
532
|
+
"w-auto object-contain",
|
|
533
|
+
SIZE_CLASSES[size],
|
|
534
|
+
logo.className
|
|
535
|
+
),
|
|
536
|
+
alt: logo.alt || "Logo",
|
|
537
|
+
optixFlowConfig,
|
|
538
|
+
loading: "eager"
|
|
539
|
+
}
|
|
540
|
+
);
|
|
541
|
+
if (logo.url) {
|
|
542
|
+
return /* @__PURE__ */ jsx(
|
|
543
|
+
Pressable,
|
|
544
|
+
{
|
|
545
|
+
href: logo.url,
|
|
546
|
+
className: cn("flex items-center", logoClassName),
|
|
547
|
+
children: imgElement
|
|
548
|
+
}
|
|
549
|
+
);
|
|
550
|
+
}
|
|
551
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
552
|
+
};
|
|
512
553
|
function HeroGradientAvatarsRating({
|
|
513
554
|
sectionId = "hero-gradient-avatars-rating",
|
|
514
555
|
heading,
|
|
@@ -533,7 +574,10 @@ function HeroGradientAvatarsRating({
|
|
|
533
574
|
descriptionClassName,
|
|
534
575
|
actionsClassName,
|
|
535
576
|
imagesClassName,
|
|
536
|
-
optixFlowConfig
|
|
577
|
+
optixFlowConfig,
|
|
578
|
+
logo,
|
|
579
|
+
logoSlot,
|
|
580
|
+
logoClassName
|
|
537
581
|
}) {
|
|
538
582
|
const renderAvatars = useMemo(() => {
|
|
539
583
|
if (avatarsSlot) return avatarsSlot;
|
|
@@ -639,6 +683,7 @@ function HeroGradientAvatarsRating({
|
|
|
639
683
|
contentClassName
|
|
640
684
|
),
|
|
641
685
|
children: [
|
|
686
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
642
687
|
heading && /* @__PURE__ */ jsx(
|
|
643
688
|
"h1",
|
|
644
689
|
{
|
|
@@ -470,6 +470,47 @@ function ActionComponent({ action }) {
|
|
|
470
470
|
}
|
|
471
471
|
);
|
|
472
472
|
}
|
|
473
|
+
var SIZE_CLASSES = {
|
|
474
|
+
sm: "max-h-6 sm:max-h-7",
|
|
475
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
476
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
477
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
478
|
+
};
|
|
479
|
+
var BrandLogo = ({
|
|
480
|
+
logo,
|
|
481
|
+
logoSlot,
|
|
482
|
+
logoClassName,
|
|
483
|
+
size = "md",
|
|
484
|
+
optixFlowConfig
|
|
485
|
+
}) => {
|
|
486
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
487
|
+
if (!logo || !logo.src) return null;
|
|
488
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
489
|
+
img.Img,
|
|
490
|
+
{
|
|
491
|
+
src: logo.src,
|
|
492
|
+
className: cn(
|
|
493
|
+
"w-auto object-contain",
|
|
494
|
+
SIZE_CLASSES[size],
|
|
495
|
+
logo.className
|
|
496
|
+
),
|
|
497
|
+
alt: logo.alt || "Logo",
|
|
498
|
+
optixFlowConfig,
|
|
499
|
+
loading: "eager"
|
|
500
|
+
}
|
|
501
|
+
);
|
|
502
|
+
if (logo.url) {
|
|
503
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
504
|
+
pressable.Pressable,
|
|
505
|
+
{
|
|
506
|
+
href: logo.url,
|
|
507
|
+
className: cn("flex items-center", logoClassName),
|
|
508
|
+
children: imgElement
|
|
509
|
+
}
|
|
510
|
+
);
|
|
511
|
+
}
|
|
512
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
513
|
+
};
|
|
473
514
|
function HeroGradientClientFocused({
|
|
474
515
|
sectionId = "hero-gradient-client-focused",
|
|
475
516
|
heading,
|
|
@@ -488,7 +529,10 @@ function HeroGradientClientFocused({
|
|
|
488
529
|
descriptionClassName,
|
|
489
530
|
actionsClassName,
|
|
490
531
|
imageClassName,
|
|
491
|
-
optixFlowConfig
|
|
532
|
+
optixFlowConfig,
|
|
533
|
+
logo,
|
|
534
|
+
logoSlot,
|
|
535
|
+
logoClassName
|
|
492
536
|
}) {
|
|
493
537
|
const renderImage = React.useMemo(() => {
|
|
494
538
|
if (imageSlot) return imageSlot;
|
|
@@ -518,6 +562,7 @@ function HeroGradientClientFocused({
|
|
|
518
562
|
patternOpacity,
|
|
519
563
|
containerClassName,
|
|
520
564
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex flex-col items-center gap-4", children: [
|
|
565
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
521
566
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
522
567
|
"h1",
|
|
523
568
|
{
|
|
@@ -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';
|
|
@@ -74,9 +77,21 @@ interface HeroGradientClientFocusedProps {
|
|
|
74
77
|
* OptixFlow image optimization configuration
|
|
75
78
|
*/
|
|
76
79
|
optixFlowConfig?: OptixFlowConfig;
|
|
80
|
+
/**
|
|
81
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
82
|
+
*/
|
|
83
|
+
logo?: LogoConfig;
|
|
84
|
+
/**
|
|
85
|
+
* Custom slot for logo (overrides logo prop)
|
|
86
|
+
*/
|
|
87
|
+
logoSlot?: React.ReactNode;
|
|
88
|
+
/**
|
|
89
|
+
* Additional CSS classes for the logo container
|
|
90
|
+
*/
|
|
91
|
+
logoClassName?: string;
|
|
77
92
|
/** Optional Section ID */
|
|
78
93
|
sectionId?: string;
|
|
79
94
|
}
|
|
80
|
-
declare function HeroGradientClientFocused({ sectionId, heading, description, actions, actionsSlot, image, imageSlot, background, containerClassName, spacing, pattern, patternOpacity, className, headingClassName, descriptionClassName, actionsClassName, imageClassName, optixFlowConfig, }: HeroGradientClientFocusedProps): React.JSX.Element;
|
|
95
|
+
declare function HeroGradientClientFocused({ sectionId, heading, description, actions, actionsSlot, image, imageSlot, background, containerClassName, spacing, pattern, patternOpacity, className, headingClassName, descriptionClassName, actionsClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroGradientClientFocusedProps): React.JSX.Element;
|
|
81
96
|
|
|
82
97
|
export { HeroGradientClientFocused, type HeroGradientClientFocusedProps };
|
|
@@ -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';
|
|
@@ -74,9 +77,21 @@ interface HeroGradientClientFocusedProps {
|
|
|
74
77
|
* OptixFlow image optimization configuration
|
|
75
78
|
*/
|
|
76
79
|
optixFlowConfig?: OptixFlowConfig;
|
|
80
|
+
/**
|
|
81
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
82
|
+
*/
|
|
83
|
+
logo?: LogoConfig;
|
|
84
|
+
/**
|
|
85
|
+
* Custom slot for logo (overrides logo prop)
|
|
86
|
+
*/
|
|
87
|
+
logoSlot?: React.ReactNode;
|
|
88
|
+
/**
|
|
89
|
+
* Additional CSS classes for the logo container
|
|
90
|
+
*/
|
|
91
|
+
logoClassName?: string;
|
|
77
92
|
/** Optional Section ID */
|
|
78
93
|
sectionId?: string;
|
|
79
94
|
}
|
|
80
|
-
declare function HeroGradientClientFocused({ sectionId, heading, description, actions, actionsSlot, image, imageSlot, background, containerClassName, spacing, pattern, patternOpacity, className, headingClassName, descriptionClassName, actionsClassName, imageClassName, optixFlowConfig, }: HeroGradientClientFocusedProps): React.JSX.Element;
|
|
95
|
+
declare function HeroGradientClientFocused({ sectionId, heading, description, actions, actionsSlot, image, imageSlot, background, containerClassName, spacing, pattern, patternOpacity, className, headingClassName, descriptionClassName, actionsClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroGradientClientFocusedProps): React.JSX.Element;
|
|
81
96
|
|
|
82
97
|
export { HeroGradientClientFocused, type HeroGradientClientFocusedProps };
|