@opensite/ui 3.7.2 → 3.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hero-ad-campaign-expert.cjs +46 -1
- package/dist/hero-ad-campaign-expert.d.cts +16 -1
- package/dist/hero-ad-campaign-expert.d.ts +16 -1
- package/dist/hero-ad-campaign-expert.js +46 -1
- package/dist/hero-adaptable-product-grid.cjs +46 -1
- package/dist/hero-adaptable-product-grid.d.cts +16 -1
- package/dist/hero-adaptable-product-grid.d.ts +16 -1
- package/dist/hero-adaptable-product-grid.js +46 -1
- package/dist/hero-agency-animated-images.cjs +46 -1
- package/dist/hero-agency-animated-images.d.cts +16 -1
- package/dist/hero-agency-animated-images.d.ts +16 -1
- package/dist/hero-agency-animated-images.js +46 -1
- package/dist/hero-ai-powered-carousel.cjs +56 -8
- package/dist/hero-ai-powered-carousel.d.cts +16 -1
- package/dist/hero-ai-powered-carousel.d.ts +16 -1
- package/dist/hero-ai-powered-carousel.js +56 -8
- package/dist/hero-announcement-badge.cjs +47 -1
- package/dist/hero-announcement-badge.d.cts +16 -1
- package/dist/hero-announcement-badge.d.ts +16 -1
- package/dist/hero-announcement-badge.js +47 -1
- package/dist/hero-architecture-fullscreen.cjs +46 -1
- package/dist/hero-architecture-fullscreen.d.cts +16 -1
- package/dist/hero-architecture-fullscreen.d.ts +16 -1
- package/dist/hero-architecture-fullscreen.js +46 -1
- package/dist/hero-badge-image-split.cjs +46 -1
- package/dist/hero-badge-image-split.d.cts +16 -1
- package/dist/hero-badge-image-split.d.ts +16 -1
- package/dist/hero-badge-image-split.js +46 -1
- package/dist/hero-badge-shadow-overlay.cjs +54 -3
- package/dist/hero-badge-shadow-overlay.d.cts +16 -1
- package/dist/hero-badge-shadow-overlay.d.ts +16 -1
- package/dist/hero-badge-shadow-overlay.js +54 -3
- package/dist/hero-business-carousel-dots.cjs +46 -1
- package/dist/hero-business-carousel-dots.d.cts +16 -1
- package/dist/hero-business-carousel-dots.d.ts +16 -1
- package/dist/hero-business-carousel-dots.js +46 -1
- package/dist/hero-business-operations-mosaic.cjs +46 -1
- package/dist/hero-business-operations-mosaic.d.cts +16 -1
- package/dist/hero-business-operations-mosaic.d.ts +16 -1
- package/dist/hero-business-operations-mosaic.js +46 -1
- package/dist/hero-centered-gradient-cta.cjs +47 -1
- package/dist/hero-centered-gradient-cta.d.cts +16 -1
- package/dist/hero-centered-gradient-cta.d.ts +16 -1
- package/dist/hero-centered-gradient-cta.js +47 -1
- package/dist/hero-centered-image-grid.cjs +46 -1
- package/dist/hero-centered-image-grid.d.cts +16 -1
- package/dist/hero-centered-image-grid.d.ts +16 -1
- package/dist/hero-centered-image-grid.js +46 -1
- package/dist/hero-centered-screenshot.cjs +46 -1
- package/dist/hero-centered-screenshot.d.cts +16 -1
- package/dist/hero-centered-screenshot.d.ts +16 -1
- package/dist/hero-centered-screenshot.js +46 -1
- package/dist/hero-coming-soon-countdown.cjs +47 -1
- package/dist/hero-coming-soon-countdown.d.cts +16 -1
- package/dist/hero-coming-soon-countdown.d.ts +16 -1
- package/dist/hero-coming-soon-countdown.js +47 -1
- package/dist/hero-community-survey-cta.cjs +46 -1
- package/dist/hero-community-survey-cta.d.cts +16 -1
- package/dist/hero-community-survey-cta.d.ts +16 -1
- package/dist/hero-community-survey-cta.js +46 -1
- package/dist/hero-conversation-intelligence.cjs +46 -1
- package/dist/hero-conversation-intelligence.d.cts +16 -1
- package/dist/hero-conversation-intelligence.d.ts +16 -1
- package/dist/hero-conversation-intelligence.js +46 -1
- package/dist/hero-creative-studio-stacked.cjs +46 -1
- package/dist/hero-creative-studio-stacked.d.cts +17 -2
- package/dist/hero-creative-studio-stacked.d.ts +17 -2
- package/dist/hero-creative-studio-stacked.js +46 -1
- package/dist/hero-crm-streamlined.cjs +58 -9
- package/dist/hero-crm-streamlined.d.cts +16 -1
- package/dist/hero-crm-streamlined.d.ts +16 -1
- package/dist/hero-crm-streamlined.js +58 -9
- package/dist/hero-customer-support-layered.cjs +46 -1
- package/dist/hero-customer-support-layered.d.cts +16 -1
- package/dist/hero-customer-support-layered.d.ts +16 -1
- package/dist/hero-customer-support-layered.js +46 -1
- package/dist/hero-design-system-3d.cjs +67 -20
- package/dist/hero-design-system-3d.d.cts +16 -1
- package/dist/hero-design-system-3d.d.ts +16 -1
- package/dist/hero-design-system-3d.js +67 -20
- package/dist/hero-developer-tools-code.cjs +47 -1
- package/dist/hero-developer-tools-code.d.cts +16 -1
- package/dist/hero-developer-tools-code.d.ts +16 -1
- package/dist/hero-developer-tools-code.js +47 -1
- package/dist/hero-digital-agency-fullscreen.cjs +46 -1
- package/dist/hero-digital-agency-fullscreen.d.cts +16 -1
- package/dist/hero-digital-agency-fullscreen.d.ts +16 -1
- package/dist/hero-digital-agency-fullscreen.js +46 -1
- package/dist/hero-ecommerce-product-showcase.cjs +46 -1
- package/dist/hero-ecommerce-product-showcase.d.cts +16 -1
- package/dist/hero-ecommerce-product-showcase.d.ts +16 -1
- package/dist/hero-ecommerce-product-showcase.js +46 -1
- package/dist/hero-enterprise-security.cjs +47 -1
- package/dist/hero-enterprise-security.d.cts +16 -1
- package/dist/hero-enterprise-security.d.ts +16 -1
- package/dist/hero-enterprise-security.js +47 -1
- package/dist/hero-feature-cards-grid.cjs +47 -1
- package/dist/hero-feature-cards-grid.d.cts +16 -1
- package/dist/hero-feature-cards-grid.d.ts +16 -1
- package/dist/hero-feature-cards-grid.js +47 -1
- package/dist/hero-fullscreen-background-image.cjs +46 -1
- package/dist/hero-fullscreen-background-image.d.cts +16 -1
- package/dist/hero-fullscreen-background-image.d.ts +16 -1
- package/dist/hero-fullscreen-background-image.js +46 -1
- package/dist/hero-gradient-avatars-rating.cjs +46 -1
- package/dist/hero-gradient-avatars-rating.d.cts +16 -1
- package/dist/hero-gradient-avatars-rating.d.ts +16 -1
- package/dist/hero-gradient-avatars-rating.js +46 -1
- package/dist/hero-gradient-client-focused.cjs +46 -1
- package/dist/hero-gradient-client-focused.d.cts +16 -1
- package/dist/hero-gradient-client-focused.d.ts +16 -1
- package/dist/hero-gradient-client-focused.js +46 -1
- package/dist/hero-grid-pattern-efficiency.cjs +47 -1
- package/dist/hero-grid-pattern-efficiency.d.cts +16 -1
- package/dist/hero-grid-pattern-efficiency.d.ts +16 -1
- package/dist/hero-grid-pattern-efficiency.js +47 -1
- package/dist/hero-grid-pattern-solutions.cjs +46 -1
- package/dist/hero-grid-pattern-solutions.d.cts +16 -1
- package/dist/hero-grid-pattern-solutions.d.ts +16 -1
- package/dist/hero-grid-pattern-solutions.js +46 -1
- package/dist/hero-hiring-animated-text.cjs +47 -1
- package/dist/hero-hiring-animated-text.d.cts +16 -1
- package/dist/hero-hiring-animated-text.d.ts +16 -1
- package/dist/hero-hiring-animated-text.js +47 -1
- package/dist/hero-image-left-content.cjs +46 -1
- package/dist/hero-image-left-content.d.cts +16 -1
- package/dist/hero-image-left-content.d.ts +16 -1
- package/dist/hero-image-left-content.js +46 -1
- package/dist/hero-image-slider.cjs +46 -1
- package/dist/hero-image-slider.d.cts +16 -1
- package/dist/hero-image-slider.d.ts +16 -1
- package/dist/hero-image-slider.js +46 -1
- package/dist/hero-innovation-image-grid.cjs +46 -1
- package/dist/hero-innovation-image-grid.d.cts +16 -1
- package/dist/hero-innovation-image-grid.d.ts +16 -1
- package/dist/hero-innovation-image-grid.js +46 -1
- package/dist/hero-marketplace-scattered-images.cjs +46 -1
- package/dist/hero-marketplace-scattered-images.d.cts +16 -1
- package/dist/hero-marketplace-scattered-images.d.ts +16 -1
- package/dist/hero-marketplace-scattered-images.js +46 -1
- package/dist/hero-minimal-centered-dark.cjs +47 -1
- package/dist/hero-minimal-centered-dark.d.cts +16 -1
- package/dist/hero-minimal-centered-dark.d.ts +16 -1
- package/dist/hero-minimal-centered-dark.js +47 -1
- package/dist/hero-mobile-app-download.cjs +46 -1
- package/dist/hero-mobile-app-download.d.cts +16 -1
- package/dist/hero-mobile-app-download.d.ts +16 -1
- package/dist/hero-mobile-app-download.js +46 -1
- package/dist/hero-newsletter-minimal.cjs +48 -1
- package/dist/hero-newsletter-minimal.d.cts +16 -1
- package/dist/hero-newsletter-minimal.d.ts +16 -1
- package/dist/hero-newsletter-minimal.js +48 -1
- package/dist/hero-overlay-cta-grid.cjs +46 -1
- package/dist/hero-overlay-cta-grid.d.cts +16 -1
- package/dist/hero-overlay-cta-grid.d.ts +16 -1
- package/dist/hero-overlay-cta-grid.js +46 -1
- package/dist/hero-portfolio-creative.cjs +46 -1
- package/dist/hero-portfolio-creative.d.cts +16 -1
- package/dist/hero-portfolio-creative.d.ts +16 -1
- package/dist/hero-portfolio-creative.js +46 -1
- package/dist/hero-premium-split-avatars.cjs +46 -1
- package/dist/hero-premium-split-avatars.d.cts +16 -1
- package/dist/hero-premium-split-avatars.d.ts +16 -1
- package/dist/hero-premium-split-avatars.js +46 -1
- package/dist/hero-presentation-platform-video.cjs +47 -1
- package/dist/hero-presentation-platform-video.d.cts +16 -1
- package/dist/hero-presentation-platform-video.d.ts +16 -1
- package/dist/hero-presentation-platform-video.js +47 -1
- package/dist/hero-pricing-comparison.cjs +47 -1
- package/dist/hero-pricing-comparison.d.cts +16 -1
- package/dist/hero-pricing-comparison.d.ts +16 -1
- package/dist/hero-pricing-comparison.js +47 -1
- package/dist/hero-product-showcase-floating.cjs +46 -1
- package/dist/hero-product-showcase-floating.d.cts +16 -1
- package/dist/hero-product-showcase-floating.d.ts +16 -1
- package/dist/hero-product-showcase-floating.js +46 -1
- package/dist/hero-productivity-launcher-video.cjs +68 -20
- package/dist/hero-productivity-launcher-video.d.cts +16 -1
- package/dist/hero-productivity-launcher-video.d.ts +16 -1
- package/dist/hero-productivity-launcher-video.js +68 -20
- package/dist/hero-saas-dashboard-preview.cjs +46 -1
- package/dist/hero-saas-dashboard-preview.d.cts +16 -1
- package/dist/hero-saas-dashboard-preview.d.ts +16 -1
- package/dist/hero-saas-dashboard-preview.js +46 -1
- package/dist/hero-shared-inbox-layered.cjs +46 -1
- package/dist/hero-shared-inbox-layered.d.cts +16 -1
- package/dist/hero-shared-inbox-layered.d.ts +16 -1
- package/dist/hero-shared-inbox-layered.js +46 -1
- package/dist/hero-simple-centered-image.cjs +46 -1
- package/dist/hero-simple-centered-image.d.cts +16 -1
- package/dist/hero-simple-centered-image.d.ts +16 -1
- package/dist/hero-simple-centered-image.js +46 -1
- package/dist/hero-software-growth-video-dialog.cjs +46 -1
- package/dist/hero-software-growth-video-dialog.d.cts +16 -1
- package/dist/hero-software-growth-video-dialog.d.ts +16 -1
- package/dist/hero-software-growth-video-dialog.js +46 -1
- package/dist/hero-spiral-pattern-cards.cjs +46 -1
- package/dist/hero-spiral-pattern-cards.d.cts +16 -1
- package/dist/hero-spiral-pattern-cards.d.ts +16 -1
- package/dist/hero-spiral-pattern-cards.js +46 -1
- package/dist/hero-split-geometric-shapes.cjs +46 -1
- package/dist/hero-split-geometric-shapes.d.cts +16 -1
- package/dist/hero-split-geometric-shapes.d.ts +16 -1
- package/dist/hero-split-geometric-shapes.js +46 -1
- package/dist/hero-split-icon-cards.cjs +47 -1
- package/dist/hero-split-icon-cards.d.cts +16 -1
- package/dist/hero-split-icon-cards.d.ts +16 -1
- package/dist/hero-split-icon-cards.js +47 -1
- package/dist/hero-split-image-newsletter.cjs +46 -1
- package/dist/hero-split-image-newsletter.d.cts +16 -1
- package/dist/hero-split-image-newsletter.d.ts +16 -1
- package/dist/hero-split-image-newsletter.js +47 -2
- package/dist/hero-split-spiral-shapes.cjs +46 -1
- package/dist/hero-split-spiral-shapes.d.cts +16 -1
- package/dist/hero-split-spiral-shapes.d.ts +16 -1
- package/dist/hero-split-spiral-shapes.js +46 -1
- package/dist/hero-startup-launch-cta.cjs +46 -1
- package/dist/hero-startup-launch-cta.d.cts +16 -1
- package/dist/hero-startup-launch-cta.d.ts +16 -1
- package/dist/hero-startup-launch-cta.js +46 -1
- package/dist/hero-stats-social-proof.cjs +46 -1
- package/dist/hero-stats-social-proof.d.cts +16 -1
- package/dist/hero-stats-social-proof.d.ts +16 -1
- package/dist/hero-stats-social-proof.js +46 -1
- package/dist/hero-task-timer-animated.cjs +46 -1
- package/dist/hero-task-timer-animated.d.cts +16 -1
- package/dist/hero-task-timer-animated.d.ts +16 -1
- package/dist/hero-task-timer-animated.js +46 -1
- package/dist/hero-testimonial-image-grid.cjs +46 -1
- package/dist/hero-testimonial-image-grid.d.cts +16 -1
- package/dist/hero-testimonial-image-grid.d.ts +16 -1
- package/dist/hero-testimonial-image-grid.js +46 -1
- package/dist/hero-therapy-testimonial-grid.cjs +46 -1
- package/dist/hero-therapy-testimonial-grid.d.cts +16 -1
- package/dist/hero-therapy-testimonial-grid.d.ts +16 -1
- package/dist/hero-therapy-testimonial-grid.js +46 -1
- package/dist/hero-ui-library-showcase.cjs +3 -2
- package/dist/hero-ui-library-showcase.d.cts +13 -5
- package/dist/hero-ui-library-showcase.d.ts +13 -5
- package/dist/hero-ui-library-showcase.js +3 -2
- package/dist/hero-video-background-dark.cjs +47 -1
- package/dist/hero-video-background-dark.d.cts +16 -1
- package/dist/hero-video-background-dark.d.ts +16 -1
- package/dist/hero-video-background-dark.js +47 -1
- package/dist/{hero-video-dialog-gradient-Cr96k01H.d.ts → hero-video-dialog-gradient-B6-kFIvZ.d.ts} +14 -1
- package/dist/{hero-video-dialog-gradient-Dc0wRYdW.d.cts → hero-video-dialog-gradient-DPnh6Vn-.d.cts} +14 -1
- package/dist/hero-video-dialog-gradient.cjs +46 -1
- package/dist/hero-video-dialog-gradient.d.cts +4 -1
- package/dist/hero-video-dialog-gradient.d.ts +4 -1
- package/dist/hero-video-dialog-gradient.js +46 -1
- package/dist/hero-welcome-asymmetric-images.cjs +46 -1
- package/dist/hero-welcome-asymmetric-images.d.cts +16 -1
- package/dist/hero-welcome-asymmetric-images.d.ts +16 -1
- package/dist/hero-welcome-asymmetric-images.js +46 -1
- package/dist/link-page-bento-layout.cjs +59 -3
- package/dist/link-page-bento-layout.d.cts +16 -1
- package/dist/link-page-bento-layout.d.ts +16 -1
- package/dist/link-page-bento-layout.js +59 -3
- package/dist/link-page-grid-cards.cjs +59 -3
- package/dist/link-page-grid-cards.d.cts +16 -1
- package/dist/link-page-grid-cards.d.ts +16 -1
- package/dist/link-page-grid-cards.js +59 -3
- package/dist/link-page-minimal-profile.cjs +59 -3
- package/dist/link-page-minimal-profile.d.cts +16 -1
- package/dist/link-page-minimal-profile.d.ts +16 -1
- package/dist/link-page-minimal-profile.js +59 -3
- package/dist/link-page-newsletter-social.cjs +59 -3
- package/dist/link-page-newsletter-social.d.cts +16 -1
- package/dist/link-page-newsletter-social.d.ts +16 -1
- package/dist/link-page-newsletter-social.js +59 -3
- package/dist/link-tree-block.cjs +58 -2
- package/dist/link-tree-block.d.cts +16 -1
- package/dist/link-tree-block.d.ts +16 -1
- package/dist/link-tree-block.js +58 -2
- package/dist/registry.cjs +734 -199
- package/dist/registry.js +734 -199
- package/dist/social-link-icon.d.cts +1 -1
- package/dist/social-link-icon.d.ts +1 -1
- package/package.json +1 -1
|
@@ -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 };
|
|
@@ -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 HeroGradientClientFocused({
|
|
468
509
|
sectionId = "hero-gradient-client-focused",
|
|
469
510
|
heading,
|
|
@@ -482,7 +523,10 @@ function HeroGradientClientFocused({
|
|
|
482
523
|
descriptionClassName,
|
|
483
524
|
actionsClassName,
|
|
484
525
|
imageClassName,
|
|
485
|
-
optixFlowConfig
|
|
526
|
+
optixFlowConfig,
|
|
527
|
+
logo,
|
|
528
|
+
logoSlot,
|
|
529
|
+
logoClassName
|
|
486
530
|
}) {
|
|
487
531
|
const renderImage = useMemo(() => {
|
|
488
532
|
if (imageSlot) return imageSlot;
|
|
@@ -512,6 +556,7 @@ function HeroGradientClientFocused({
|
|
|
512
556
|
patternOpacity,
|
|
513
557
|
containerClassName,
|
|
514
558
|
children: /* @__PURE__ */ jsxs("div", { className: "relative flex flex-col items-center gap-4", children: [
|
|
559
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
515
560
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
516
561
|
"h1",
|
|
517
562
|
{
|
|
@@ -6,6 +6,7 @@ var clsx = require('clsx');
|
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
7
7
|
var pressable = require('@page-speed/pressable');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
+
var img = require('@page-speed/img');
|
|
9
10
|
|
|
10
11
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
12
|
|
|
@@ -391,6 +392,47 @@ var Section = React__default.default.forwardRef(
|
|
|
391
392
|
}
|
|
392
393
|
);
|
|
393
394
|
Section.displayName = "Section";
|
|
395
|
+
var SIZE_CLASSES = {
|
|
396
|
+
sm: "max-h-6 sm:max-h-7",
|
|
397
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
398
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
399
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
400
|
+
};
|
|
401
|
+
var BrandLogo = ({
|
|
402
|
+
logo,
|
|
403
|
+
logoSlot,
|
|
404
|
+
logoClassName,
|
|
405
|
+
size = "md",
|
|
406
|
+
optixFlowConfig
|
|
407
|
+
}) => {
|
|
408
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
409
|
+
if (!logo || !logo.src) return null;
|
|
410
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
411
|
+
img.Img,
|
|
412
|
+
{
|
|
413
|
+
src: logo.src,
|
|
414
|
+
className: cn(
|
|
415
|
+
"w-auto object-contain",
|
|
416
|
+
SIZE_CLASSES[size],
|
|
417
|
+
logo.className
|
|
418
|
+
),
|
|
419
|
+
alt: logo.alt || "Logo",
|
|
420
|
+
optixFlowConfig,
|
|
421
|
+
loading: "eager"
|
|
422
|
+
}
|
|
423
|
+
);
|
|
424
|
+
if (logo.url) {
|
|
425
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
426
|
+
pressable.Pressable,
|
|
427
|
+
{
|
|
428
|
+
href: logo.url,
|
|
429
|
+
className: cn("flex items-center", logoClassName),
|
|
430
|
+
children: imgElement
|
|
431
|
+
}
|
|
432
|
+
);
|
|
433
|
+
}
|
|
434
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
435
|
+
};
|
|
394
436
|
function HeroGridPatternEfficiency({
|
|
395
437
|
sectionId = "hero-grid-pattern-efficiency",
|
|
396
438
|
heading,
|
|
@@ -407,7 +449,10 @@ function HeroGridPatternEfficiency({
|
|
|
407
449
|
contentClassName,
|
|
408
450
|
headingClassName,
|
|
409
451
|
descriptionClassName,
|
|
410
|
-
actionClassName
|
|
452
|
+
actionClassName,
|
|
453
|
+
logo,
|
|
454
|
+
logoSlot,
|
|
455
|
+
logoClassName
|
|
411
456
|
}) {
|
|
412
457
|
const renderAction = React.useMemo(() => {
|
|
413
458
|
if (actionSlot) return actionSlot;
|
|
@@ -462,6 +507,7 @@ function HeroGridPatternEfficiency({
|
|
|
462
507
|
className,
|
|
463
508
|
containerClassName,
|
|
464
509
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative max-w-5xl", contentClassName), children: [
|
|
510
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
465
511
|
renderHeading,
|
|
466
512
|
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
467
513
|
"p",
|
|
@@ -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';
|
|
@@ -67,9 +70,21 @@ interface HeroGridPatternEfficiencyProps {
|
|
|
67
70
|
* Additional CSS classes for the action container
|
|
68
71
|
*/
|
|
69
72
|
actionClassName?: string;
|
|
73
|
+
/**
|
|
74
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
75
|
+
*/
|
|
76
|
+
logo?: LogoConfig;
|
|
77
|
+
/**
|
|
78
|
+
* Custom slot for logo (overrides logo prop)
|
|
79
|
+
*/
|
|
80
|
+
logoSlot?: React.ReactNode;
|
|
81
|
+
/**
|
|
82
|
+
* Additional CSS classes for the logo container
|
|
83
|
+
*/
|
|
84
|
+
logoClassName?: string;
|
|
70
85
|
/** Optional Section ID */
|
|
71
86
|
sectionId?: string;
|
|
72
87
|
}
|
|
73
|
-
declare function HeroGridPatternEfficiency({ sectionId, heading, description, action, actionSlot, actionSubtext, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionClassName, }: HeroGridPatternEfficiencyProps): React.JSX.Element;
|
|
88
|
+
declare function HeroGridPatternEfficiency({ sectionId, heading, description, action, actionSlot, actionSubtext, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionClassName, logo, logoSlot, logoClassName, }: HeroGridPatternEfficiencyProps): React.JSX.Element;
|
|
74
89
|
|
|
75
90
|
export { HeroGridPatternEfficiency, type HeroGridPatternEfficiencyProps };
|
|
@@ -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';
|
|
@@ -67,9 +70,21 @@ interface HeroGridPatternEfficiencyProps {
|
|
|
67
70
|
* Additional CSS classes for the action container
|
|
68
71
|
*/
|
|
69
72
|
actionClassName?: string;
|
|
73
|
+
/**
|
|
74
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
75
|
+
*/
|
|
76
|
+
logo?: LogoConfig;
|
|
77
|
+
/**
|
|
78
|
+
* Custom slot for logo (overrides logo prop)
|
|
79
|
+
*/
|
|
80
|
+
logoSlot?: React.ReactNode;
|
|
81
|
+
/**
|
|
82
|
+
* Additional CSS classes for the logo container
|
|
83
|
+
*/
|
|
84
|
+
logoClassName?: string;
|
|
70
85
|
/** Optional Section ID */
|
|
71
86
|
sectionId?: string;
|
|
72
87
|
}
|
|
73
|
-
declare function HeroGridPatternEfficiency({ sectionId, heading, description, action, actionSlot, actionSubtext, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionClassName, }: HeroGridPatternEfficiencyProps): React.JSX.Element;
|
|
88
|
+
declare function HeroGridPatternEfficiency({ sectionId, heading, description, action, actionSlot, actionSubtext, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionClassName, logo, logoSlot, logoClassName, }: HeroGridPatternEfficiencyProps): React.JSX.Element;
|
|
74
89
|
|
|
75
90
|
export { HeroGridPatternEfficiency, type HeroGridPatternEfficiencyProps };
|
|
@@ -4,6 +4,7 @@ import { clsx } from 'clsx';
|
|
|
4
4
|
import { twMerge } from 'tailwind-merge';
|
|
5
5
|
import { Pressable } from '@page-speed/pressable';
|
|
6
6
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
|
+
import { Img } from '@page-speed/img';
|
|
7
8
|
|
|
8
9
|
// components/blocks/hero/hero-grid-pattern-efficiency.tsx
|
|
9
10
|
function cn(...inputs) {
|
|
@@ -385,6 +386,47 @@ var Section = React.forwardRef(
|
|
|
385
386
|
}
|
|
386
387
|
);
|
|
387
388
|
Section.displayName = "Section";
|
|
389
|
+
var SIZE_CLASSES = {
|
|
390
|
+
sm: "max-h-6 sm:max-h-7",
|
|
391
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
392
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
393
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
394
|
+
};
|
|
395
|
+
var BrandLogo = ({
|
|
396
|
+
logo,
|
|
397
|
+
logoSlot,
|
|
398
|
+
logoClassName,
|
|
399
|
+
size = "md",
|
|
400
|
+
optixFlowConfig
|
|
401
|
+
}) => {
|
|
402
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
403
|
+
if (!logo || !logo.src) return null;
|
|
404
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
405
|
+
Img,
|
|
406
|
+
{
|
|
407
|
+
src: logo.src,
|
|
408
|
+
className: cn(
|
|
409
|
+
"w-auto object-contain",
|
|
410
|
+
SIZE_CLASSES[size],
|
|
411
|
+
logo.className
|
|
412
|
+
),
|
|
413
|
+
alt: logo.alt || "Logo",
|
|
414
|
+
optixFlowConfig,
|
|
415
|
+
loading: "eager"
|
|
416
|
+
}
|
|
417
|
+
);
|
|
418
|
+
if (logo.url) {
|
|
419
|
+
return /* @__PURE__ */ jsx(
|
|
420
|
+
Pressable,
|
|
421
|
+
{
|
|
422
|
+
href: logo.url,
|
|
423
|
+
className: cn("flex items-center", logoClassName),
|
|
424
|
+
children: imgElement
|
|
425
|
+
}
|
|
426
|
+
);
|
|
427
|
+
}
|
|
428
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
429
|
+
};
|
|
388
430
|
function HeroGridPatternEfficiency({
|
|
389
431
|
sectionId = "hero-grid-pattern-efficiency",
|
|
390
432
|
heading,
|
|
@@ -401,7 +443,10 @@ function HeroGridPatternEfficiency({
|
|
|
401
443
|
contentClassName,
|
|
402
444
|
headingClassName,
|
|
403
445
|
descriptionClassName,
|
|
404
|
-
actionClassName
|
|
446
|
+
actionClassName,
|
|
447
|
+
logo,
|
|
448
|
+
logoSlot,
|
|
449
|
+
logoClassName
|
|
405
450
|
}) {
|
|
406
451
|
const renderAction = useMemo(() => {
|
|
407
452
|
if (actionSlot) return actionSlot;
|
|
@@ -456,6 +501,7 @@ function HeroGridPatternEfficiency({
|
|
|
456
501
|
className,
|
|
457
502
|
containerClassName,
|
|
458
503
|
children: /* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsxs("div", { className: cn("relative max-w-5xl", contentClassName), children: [
|
|
504
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
459
505
|
renderHeading,
|
|
460
506
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
461
507
|
"p",
|