@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
|
@@ -535,6 +535,47 @@ function ActionComponent({ action }) {
|
|
|
535
535
|
}
|
|
536
536
|
);
|
|
537
537
|
}
|
|
538
|
+
var SIZE_CLASSES = {
|
|
539
|
+
sm: "max-h-6 sm:max-h-7",
|
|
540
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
541
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
542
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
543
|
+
};
|
|
544
|
+
var BrandLogo = ({
|
|
545
|
+
logo,
|
|
546
|
+
logoSlot,
|
|
547
|
+
logoClassName,
|
|
548
|
+
size = "md",
|
|
549
|
+
optixFlowConfig
|
|
550
|
+
}) => {
|
|
551
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
552
|
+
if (!logo || !logo.src) return null;
|
|
553
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
554
|
+
img.Img,
|
|
555
|
+
{
|
|
556
|
+
src: logo.src,
|
|
557
|
+
className: cn(
|
|
558
|
+
"w-auto object-contain",
|
|
559
|
+
SIZE_CLASSES[size],
|
|
560
|
+
logo.className
|
|
561
|
+
),
|
|
562
|
+
alt: logo.alt || "Logo",
|
|
563
|
+
optixFlowConfig,
|
|
564
|
+
loading: "eager"
|
|
565
|
+
}
|
|
566
|
+
);
|
|
567
|
+
if (logo.url) {
|
|
568
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
569
|
+
pressable.Pressable,
|
|
570
|
+
{
|
|
571
|
+
href: logo.url,
|
|
572
|
+
className: cn("flex items-center", logoClassName),
|
|
573
|
+
children: imgElement
|
|
574
|
+
}
|
|
575
|
+
);
|
|
576
|
+
}
|
|
577
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
578
|
+
};
|
|
538
579
|
function HeroGridPatternSolutions({
|
|
539
580
|
sectionId = "hero-grid-pattern-solutions",
|
|
540
581
|
badgeText,
|
|
@@ -557,7 +598,10 @@ function HeroGridPatternSolutions({
|
|
|
557
598
|
descriptionClassName,
|
|
558
599
|
actionsClassName,
|
|
559
600
|
imagesClassName,
|
|
560
|
-
optixFlowConfig
|
|
601
|
+
optixFlowConfig,
|
|
602
|
+
logo,
|
|
603
|
+
logoSlot,
|
|
604
|
+
logoClassName
|
|
561
605
|
}) {
|
|
562
606
|
const [lightboxOpen, setLightboxOpen] = React.useState(false);
|
|
563
607
|
const [lightboxIndex, setLightboxIndex] = React.useState(0);
|
|
@@ -643,6 +687,7 @@ function HeroGridPatternSolutions({
|
|
|
643
687
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
644
688
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col items-center", contentClassName), children: [
|
|
645
689
|
renderBadge,
|
|
690
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
646
691
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
647
692
|
"h1",
|
|
648
693
|
{
|
|
@@ -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';
|
|
@@ -91,9 +94,21 @@ interface HeroGridPatternSolutionsProps {
|
|
|
91
94
|
* OptixFlow image optimization configuration
|
|
92
95
|
*/
|
|
93
96
|
optixFlowConfig?: OptixFlowConfig;
|
|
97
|
+
/**
|
|
98
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
99
|
+
*/
|
|
100
|
+
logo?: LogoConfig;
|
|
101
|
+
/**
|
|
102
|
+
* Custom slot for logo (overrides logo prop)
|
|
103
|
+
*/
|
|
104
|
+
logoSlot?: React.ReactNode;
|
|
105
|
+
/**
|
|
106
|
+
* Additional CSS classes for the logo container
|
|
107
|
+
*/
|
|
108
|
+
logoClassName?: string;
|
|
94
109
|
/** Optional Section ID */
|
|
95
110
|
sectionId?: string;
|
|
96
111
|
}
|
|
97
|
-
declare function HeroGridPatternSolutions({ sectionId, badgeText, badgeHref, badgeSlot, heading, description, actions, actionsSlot, images, imagesSlot, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, }: HeroGridPatternSolutionsProps): React.JSX.Element;
|
|
112
|
+
declare function HeroGridPatternSolutions({ sectionId, badgeText, badgeHref, badgeSlot, heading, description, actions, actionsSlot, images, imagesSlot, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroGridPatternSolutionsProps): React.JSX.Element;
|
|
98
113
|
|
|
99
114
|
export { HeroGridPatternSolutions, type HeroGridPatternSolutionsProps };
|
|
@@ -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';
|
|
@@ -91,9 +94,21 @@ interface HeroGridPatternSolutionsProps {
|
|
|
91
94
|
* OptixFlow image optimization configuration
|
|
92
95
|
*/
|
|
93
96
|
optixFlowConfig?: OptixFlowConfig;
|
|
97
|
+
/**
|
|
98
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
99
|
+
*/
|
|
100
|
+
logo?: LogoConfig;
|
|
101
|
+
/**
|
|
102
|
+
* Custom slot for logo (overrides logo prop)
|
|
103
|
+
*/
|
|
104
|
+
logoSlot?: React.ReactNode;
|
|
105
|
+
/**
|
|
106
|
+
* Additional CSS classes for the logo container
|
|
107
|
+
*/
|
|
108
|
+
logoClassName?: string;
|
|
94
109
|
/** Optional Section ID */
|
|
95
110
|
sectionId?: string;
|
|
96
111
|
}
|
|
97
|
-
declare function HeroGridPatternSolutions({ sectionId, badgeText, badgeHref, badgeSlot, heading, description, actions, actionsSlot, images, imagesSlot, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, }: HeroGridPatternSolutionsProps): React.JSX.Element;
|
|
112
|
+
declare function HeroGridPatternSolutions({ sectionId, badgeText, badgeHref, badgeSlot, heading, description, actions, actionsSlot, images, imagesSlot, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroGridPatternSolutionsProps): React.JSX.Element;
|
|
98
113
|
|
|
99
114
|
export { HeroGridPatternSolutions, type HeroGridPatternSolutionsProps };
|
|
@@ -514,6 +514,47 @@ function ActionComponent({ action }) {
|
|
|
514
514
|
}
|
|
515
515
|
);
|
|
516
516
|
}
|
|
517
|
+
var SIZE_CLASSES = {
|
|
518
|
+
sm: "max-h-6 sm:max-h-7",
|
|
519
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
520
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
521
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
522
|
+
};
|
|
523
|
+
var BrandLogo = ({
|
|
524
|
+
logo,
|
|
525
|
+
logoSlot,
|
|
526
|
+
logoClassName,
|
|
527
|
+
size = "md",
|
|
528
|
+
optixFlowConfig
|
|
529
|
+
}) => {
|
|
530
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
531
|
+
if (!logo || !logo.src) return null;
|
|
532
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
533
|
+
Img,
|
|
534
|
+
{
|
|
535
|
+
src: logo.src,
|
|
536
|
+
className: cn(
|
|
537
|
+
"w-auto object-contain",
|
|
538
|
+
SIZE_CLASSES[size],
|
|
539
|
+
logo.className
|
|
540
|
+
),
|
|
541
|
+
alt: logo.alt || "Logo",
|
|
542
|
+
optixFlowConfig,
|
|
543
|
+
loading: "eager"
|
|
544
|
+
}
|
|
545
|
+
);
|
|
546
|
+
if (logo.url) {
|
|
547
|
+
return /* @__PURE__ */ jsx(
|
|
548
|
+
Pressable,
|
|
549
|
+
{
|
|
550
|
+
href: logo.url,
|
|
551
|
+
className: cn("flex items-center", logoClassName),
|
|
552
|
+
children: imgElement
|
|
553
|
+
}
|
|
554
|
+
);
|
|
555
|
+
}
|
|
556
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
557
|
+
};
|
|
517
558
|
function HeroGridPatternSolutions({
|
|
518
559
|
sectionId = "hero-grid-pattern-solutions",
|
|
519
560
|
badgeText,
|
|
@@ -536,7 +577,10 @@ function HeroGridPatternSolutions({
|
|
|
536
577
|
descriptionClassName,
|
|
537
578
|
actionsClassName,
|
|
538
579
|
imagesClassName,
|
|
539
|
-
optixFlowConfig
|
|
580
|
+
optixFlowConfig,
|
|
581
|
+
logo,
|
|
582
|
+
logoSlot,
|
|
583
|
+
logoClassName
|
|
540
584
|
}) {
|
|
541
585
|
const [lightboxOpen, setLightboxOpen] = useState(false);
|
|
542
586
|
const [lightboxIndex, setLightboxIndex] = useState(0);
|
|
@@ -622,6 +666,7 @@ function HeroGridPatternSolutions({
|
|
|
622
666
|
/* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
623
667
|
/* @__PURE__ */ jsx("div", { className: "relative overflow-hidden", children: /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center", contentClassName), children: [
|
|
624
668
|
renderBadge,
|
|
669
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
625
670
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
626
671
|
"h1",
|
|
627
672
|
{
|
|
@@ -6,6 +6,7 @@ var clsx = require('clsx');
|
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
8
|
var pressable = require('@page-speed/pressable');
|
|
9
|
+
var img = require('@page-speed/img');
|
|
9
10
|
|
|
10
11
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
12
|
|
|
@@ -469,6 +470,47 @@ function ActionComponent({ action }) {
|
|
|
469
470
|
}
|
|
470
471
|
);
|
|
471
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
|
+
};
|
|
472
514
|
function HeroHiringAnimatedText({
|
|
473
515
|
sectionId = "hero-hiring-animated-text",
|
|
474
516
|
headingPrefix,
|
|
@@ -487,7 +529,10 @@ function HeroHiringAnimatedText({
|
|
|
487
529
|
contentClassName,
|
|
488
530
|
headingClassName,
|
|
489
531
|
descriptionClassName,
|
|
490
|
-
actionsClassName
|
|
532
|
+
actionsClassName,
|
|
533
|
+
logo,
|
|
534
|
+
logoSlot,
|
|
535
|
+
logoClassName
|
|
491
536
|
}) {
|
|
492
537
|
const [activeIndex, setActiveIndex] = React.useState(0);
|
|
493
538
|
const cycleText = React.useCallback(() => {
|
|
@@ -553,6 +598,7 @@ function HeroHiringAnimatedText({
|
|
|
553
598
|
contentClassName
|
|
554
599
|
),
|
|
555
600
|
children: [
|
|
601
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
556
602
|
renderHeading,
|
|
557
603
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-stretch md:items-start flex-col gap-8", children: [
|
|
558
604
|
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -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 HeroHiringAnimatedTextProps {
|
|
|
74
77
|
* Additional CSS classes for the actions container
|
|
75
78
|
*/
|
|
76
79
|
actionsClassName?: string;
|
|
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 HeroHiringAnimatedText({ sectionId, headingPrefix, animatedTexts, headingSlot, description, actions, actionsSlot, backgroundImage, background, pattern, patternOpacity, className, spacing, containerClassName, contentClassName, headingClassName, descriptionClassName, actionsClassName, }: HeroHiringAnimatedTextProps): React.JSX.Element;
|
|
95
|
+
declare function HeroHiringAnimatedText({ sectionId, headingPrefix, animatedTexts, headingSlot, description, actions, actionsSlot, backgroundImage, background, pattern, patternOpacity, className, spacing, containerClassName, contentClassName, headingClassName, descriptionClassName, actionsClassName, logo, logoSlot, logoClassName, }: HeroHiringAnimatedTextProps): React.JSX.Element;
|
|
81
96
|
|
|
82
97
|
export { HeroHiringAnimatedText, type HeroHiringAnimatedTextProps };
|
|
@@ -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 HeroHiringAnimatedTextProps {
|
|
|
74
77
|
* Additional CSS classes for the actions container
|
|
75
78
|
*/
|
|
76
79
|
actionsClassName?: string;
|
|
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 HeroHiringAnimatedText({ sectionId, headingPrefix, animatedTexts, headingSlot, description, actions, actionsSlot, backgroundImage, background, pattern, patternOpacity, className, spacing, containerClassName, contentClassName, headingClassName, descriptionClassName, actionsClassName, }: HeroHiringAnimatedTextProps): React.JSX.Element;
|
|
95
|
+
declare function HeroHiringAnimatedText({ sectionId, headingPrefix, animatedTexts, headingSlot, description, actions, actionsSlot, backgroundImage, background, pattern, patternOpacity, className, spacing, containerClassName, contentClassName, headingClassName, descriptionClassName, actionsClassName, logo, logoSlot, logoClassName, }: HeroHiringAnimatedTextProps): React.JSX.Element;
|
|
81
96
|
|
|
82
97
|
export { HeroHiringAnimatedText, type HeroHiringAnimatedTextProps };
|
|
@@ -4,6 +4,7 @@ import { clsx } from 'clsx';
|
|
|
4
4
|
import { twMerge } from 'tailwind-merge';
|
|
5
5
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
6
6
|
import { Pressable, buttonVariants } from '@page-speed/pressable';
|
|
7
|
+
import { Img } from '@page-speed/img';
|
|
7
8
|
|
|
8
9
|
// components/blocks/hero/hero-hiring-animated-text.tsx
|
|
9
10
|
function cn(...inputs) {
|
|
@@ -463,6 +464,47 @@ function ActionComponent({ action }) {
|
|
|
463
464
|
}
|
|
464
465
|
);
|
|
465
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
|
+
};
|
|
466
508
|
function HeroHiringAnimatedText({
|
|
467
509
|
sectionId = "hero-hiring-animated-text",
|
|
468
510
|
headingPrefix,
|
|
@@ -481,7 +523,10 @@ function HeroHiringAnimatedText({
|
|
|
481
523
|
contentClassName,
|
|
482
524
|
headingClassName,
|
|
483
525
|
descriptionClassName,
|
|
484
|
-
actionsClassName
|
|
526
|
+
actionsClassName,
|
|
527
|
+
logo,
|
|
528
|
+
logoSlot,
|
|
529
|
+
logoClassName
|
|
485
530
|
}) {
|
|
486
531
|
const [activeIndex, setActiveIndex] = useState(0);
|
|
487
532
|
const cycleText = useCallback(() => {
|
|
@@ -547,6 +592,7 @@ function HeroHiringAnimatedText({
|
|
|
547
592
|
contentClassName
|
|
548
593
|
),
|
|
549
594
|
children: [
|
|
595
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
550
596
|
renderHeading,
|
|
551
597
|
/* @__PURE__ */ jsxs("div", { className: "flex items-stretch md:items-start flex-col gap-8", children: [
|
|
552
598
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
@@ -504,6 +504,47 @@ function ActionComponent({ action }) {
|
|
|
504
504
|
}
|
|
505
505
|
);
|
|
506
506
|
}
|
|
507
|
+
var SIZE_CLASSES = {
|
|
508
|
+
sm: "max-h-6 sm:max-h-7",
|
|
509
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
510
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
511
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
512
|
+
};
|
|
513
|
+
var BrandLogo = ({
|
|
514
|
+
logo,
|
|
515
|
+
logoSlot,
|
|
516
|
+
logoClassName,
|
|
517
|
+
size = "md",
|
|
518
|
+
optixFlowConfig
|
|
519
|
+
}) => {
|
|
520
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
521
|
+
if (!logo || !logo.src) return null;
|
|
522
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
523
|
+
img.Img,
|
|
524
|
+
{
|
|
525
|
+
src: logo.src,
|
|
526
|
+
className: cn(
|
|
527
|
+
"w-auto object-contain",
|
|
528
|
+
SIZE_CLASSES[size],
|
|
529
|
+
logo.className
|
|
530
|
+
),
|
|
531
|
+
alt: logo.alt || "Logo",
|
|
532
|
+
optixFlowConfig,
|
|
533
|
+
loading: "eager"
|
|
534
|
+
}
|
|
535
|
+
);
|
|
536
|
+
if (logo.url) {
|
|
537
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
538
|
+
pressable.Pressable,
|
|
539
|
+
{
|
|
540
|
+
href: logo.url,
|
|
541
|
+
className: cn("flex items-center", logoClassName),
|
|
542
|
+
children: imgElement
|
|
543
|
+
}
|
|
544
|
+
);
|
|
545
|
+
}
|
|
546
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
547
|
+
};
|
|
507
548
|
function HeroImageLeftContent({
|
|
508
549
|
sectionId = "hero-image-left-content",
|
|
509
550
|
badge,
|
|
@@ -528,7 +569,10 @@ function HeroImageLeftContent({
|
|
|
528
569
|
actionsClassName,
|
|
529
570
|
imageContainerClassName,
|
|
530
571
|
imageClassName,
|
|
531
|
-
optixFlowConfig
|
|
572
|
+
optixFlowConfig,
|
|
573
|
+
logo,
|
|
574
|
+
logoSlot,
|
|
575
|
+
logoClassName
|
|
532
576
|
}) {
|
|
533
577
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
534
578
|
Section,
|
|
@@ -565,6 +609,7 @@ function HeroImageLeftContent({
|
|
|
565
609
|
badge,
|
|
566
610
|
badgeIcon
|
|
567
611
|
] }),
|
|
612
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
568
613
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
569
614
|
"h1",
|
|
570
615
|
{
|
|
@@ -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, 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';
|
|
@@ -99,9 +102,21 @@ interface HeroImageLeftContentProps {
|
|
|
99
102
|
* OptixFlow image optimization configuration
|
|
100
103
|
*/
|
|
101
104
|
optixFlowConfig?: OptixFlowConfig;
|
|
105
|
+
/**
|
|
106
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
107
|
+
*/
|
|
108
|
+
logo?: LogoConfig;
|
|
109
|
+
/**
|
|
110
|
+
* Custom slot for logo (overrides logo prop)
|
|
111
|
+
*/
|
|
112
|
+
logoSlot?: React.ReactNode;
|
|
113
|
+
/**
|
|
114
|
+
* Additional CSS classes for the logo container
|
|
115
|
+
*/
|
|
116
|
+
logoClassName?: string;
|
|
102
117
|
/** Optional Section ID */
|
|
103
118
|
sectionId?: string;
|
|
104
119
|
}
|
|
105
|
-
declare function HeroImageLeftContent({ sectionId, badge, badgeIcon, badgeVariant, heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, badgeClassName, headingClassName, descriptionClassName, actionsClassName, imageContainerClassName, imageClassName, optixFlowConfig, }: HeroImageLeftContentProps): React.JSX.Element;
|
|
120
|
+
declare function HeroImageLeftContent({ sectionId, badge, badgeIcon, badgeVariant, heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, badgeClassName, headingClassName, descriptionClassName, actionsClassName, imageContainerClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroImageLeftContentProps): React.JSX.Element;
|
|
106
121
|
|
|
107
122
|
export { HeroImageLeftContent, type HeroImageLeftContentProps };
|
|
@@ -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, 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';
|
|
@@ -99,9 +102,21 @@ interface HeroImageLeftContentProps {
|
|
|
99
102
|
* OptixFlow image optimization configuration
|
|
100
103
|
*/
|
|
101
104
|
optixFlowConfig?: OptixFlowConfig;
|
|
105
|
+
/**
|
|
106
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
107
|
+
*/
|
|
108
|
+
logo?: LogoConfig;
|
|
109
|
+
/**
|
|
110
|
+
* Custom slot for logo (overrides logo prop)
|
|
111
|
+
*/
|
|
112
|
+
logoSlot?: React.ReactNode;
|
|
113
|
+
/**
|
|
114
|
+
* Additional CSS classes for the logo container
|
|
115
|
+
*/
|
|
116
|
+
logoClassName?: string;
|
|
102
117
|
/** Optional Section ID */
|
|
103
118
|
sectionId?: string;
|
|
104
119
|
}
|
|
105
|
-
declare function HeroImageLeftContent({ sectionId, badge, badgeIcon, badgeVariant, heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, badgeClassName, headingClassName, descriptionClassName, actionsClassName, imageContainerClassName, imageClassName, optixFlowConfig, }: HeroImageLeftContentProps): React.JSX.Element;
|
|
120
|
+
declare function HeroImageLeftContent({ sectionId, badge, badgeIcon, badgeVariant, heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, badgeClassName, headingClassName, descriptionClassName, actionsClassName, imageContainerClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroImageLeftContentProps): React.JSX.Element;
|
|
106
121
|
|
|
107
122
|
export { HeroImageLeftContent, type HeroImageLeftContentProps };
|
|
@@ -498,6 +498,47 @@ function ActionComponent({ action }) {
|
|
|
498
498
|
}
|
|
499
499
|
);
|
|
500
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
|
+
};
|
|
501
542
|
function HeroImageLeftContent({
|
|
502
543
|
sectionId = "hero-image-left-content",
|
|
503
544
|
badge,
|
|
@@ -522,7 +563,10 @@ function HeroImageLeftContent({
|
|
|
522
563
|
actionsClassName,
|
|
523
564
|
imageContainerClassName,
|
|
524
565
|
imageClassName,
|
|
525
|
-
optixFlowConfig
|
|
566
|
+
optixFlowConfig,
|
|
567
|
+
logo,
|
|
568
|
+
logoSlot,
|
|
569
|
+
logoClassName
|
|
526
570
|
}) {
|
|
527
571
|
return /* @__PURE__ */ jsx(
|
|
528
572
|
Section,
|
|
@@ -559,6 +603,7 @@ function HeroImageLeftContent({
|
|
|
559
603
|
badge,
|
|
560
604
|
badgeIcon
|
|
561
605
|
] }),
|
|
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
|
{
|