@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
|
@@ -7,6 +7,7 @@ var tailwindMerge = require('tailwind-merge');
|
|
|
7
7
|
var pressable = require('@page-speed/pressable');
|
|
8
8
|
var video = require('@page-speed/video');
|
|
9
9
|
var jsxRuntime = require('react/jsx-runtime');
|
|
10
|
+
var img = require('@page-speed/img');
|
|
10
11
|
|
|
11
12
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
13
|
|
|
@@ -392,6 +393,47 @@ var Section = React__default.default.forwardRef(
|
|
|
392
393
|
}
|
|
393
394
|
);
|
|
394
395
|
Section.displayName = "Section";
|
|
396
|
+
var SIZE_CLASSES = {
|
|
397
|
+
sm: "max-h-6 sm:max-h-7",
|
|
398
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
399
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
400
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
401
|
+
};
|
|
402
|
+
var BrandLogo = ({
|
|
403
|
+
logo,
|
|
404
|
+
logoSlot,
|
|
405
|
+
logoClassName,
|
|
406
|
+
size = "md",
|
|
407
|
+
optixFlowConfig
|
|
408
|
+
}) => {
|
|
409
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
410
|
+
if (!logo || !logo.src) return null;
|
|
411
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
412
|
+
img.Img,
|
|
413
|
+
{
|
|
414
|
+
src: logo.src,
|
|
415
|
+
className: cn(
|
|
416
|
+
"w-auto object-contain",
|
|
417
|
+
SIZE_CLASSES[size],
|
|
418
|
+
logo.className
|
|
419
|
+
),
|
|
420
|
+
alt: logo.alt || "Logo",
|
|
421
|
+
optixFlowConfig,
|
|
422
|
+
loading: "eager"
|
|
423
|
+
}
|
|
424
|
+
);
|
|
425
|
+
if (logo.url) {
|
|
426
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
427
|
+
pressable.Pressable,
|
|
428
|
+
{
|
|
429
|
+
href: logo.url,
|
|
430
|
+
className: cn("flex items-center", logoClassName),
|
|
431
|
+
children: imgElement
|
|
432
|
+
}
|
|
433
|
+
);
|
|
434
|
+
}
|
|
435
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
436
|
+
};
|
|
395
437
|
function HeroProductivityLauncherVideo({
|
|
396
438
|
sectionId = "hero-productivity-launcher-video",
|
|
397
439
|
heading,
|
|
@@ -411,7 +453,10 @@ function HeroProductivityLauncherVideo({
|
|
|
411
453
|
className,
|
|
412
454
|
contentClassName,
|
|
413
455
|
headingClassName,
|
|
414
|
-
descriptionClassName
|
|
456
|
+
descriptionClassName,
|
|
457
|
+
logo,
|
|
458
|
+
logoSlot,
|
|
459
|
+
logoClassName
|
|
415
460
|
}) {
|
|
416
461
|
const renderActions = React.useMemo(() => {
|
|
417
462
|
if (actionsSlot) return actionsSlot;
|
|
@@ -482,25 +527,28 @@ function HeroProductivityLauncherVideo({
|
|
|
482
527
|
children: [
|
|
483
528
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative z-20 max-w-204.5", contentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center pb-8", children: [
|
|
484
529
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-8 pb-16 pt-16", children: [
|
|
485
|
-
/* @__PURE__ */ jsxRuntime.
|
|
486
|
-
"
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
530
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-100 sm:max-w-135", children: [
|
|
531
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
532
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
533
|
+
"h1",
|
|
534
|
+
{
|
|
535
|
+
className: cn(
|
|
536
|
+
"text-center text-4xl leading-tight font-semibold text-shadow-lg sm:text-5xl md:text-6xl text-balance text-white",
|
|
537
|
+
headingClassName
|
|
538
|
+
),
|
|
539
|
+
children: heading
|
|
540
|
+
}
|
|
541
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
542
|
+
"h1",
|
|
543
|
+
{
|
|
544
|
+
className: cn(
|
|
545
|
+
"text-center text-4xl leading-tight font-semibold text-shadow-lg sm:text-5xl md:text-6xl text-balance text-white",
|
|
546
|
+
headingClassName
|
|
547
|
+
),
|
|
548
|
+
children: heading
|
|
549
|
+
}
|
|
550
|
+
))
|
|
551
|
+
] }),
|
|
504
552
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-90 md:max-w-full", children: description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
505
553
|
"p",
|
|
506
554
|
{
|
|
@@ -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, M as MediaItem } 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';
|
|
@@ -97,9 +100,21 @@ interface HeroProductivityLauncherVideoProps {
|
|
|
97
100
|
* Additional CSS classes for the description
|
|
98
101
|
*/
|
|
99
102
|
descriptionClassName?: string;
|
|
103
|
+
/**
|
|
104
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
105
|
+
*/
|
|
106
|
+
logo?: LogoConfig;
|
|
107
|
+
/**
|
|
108
|
+
* Custom slot for logo (overrides logo prop)
|
|
109
|
+
*/
|
|
110
|
+
logoSlot?: React.ReactNode;
|
|
111
|
+
/**
|
|
112
|
+
* Additional CSS classes for the logo container
|
|
113
|
+
*/
|
|
114
|
+
logoClassName?: string;
|
|
100
115
|
/** Optional Section ID */
|
|
101
116
|
sectionId?: string;
|
|
102
117
|
}
|
|
103
|
-
declare function HeroProductivityLauncherVideo({ sectionId, heading, description, actions, actionsSlot, versionInfo, versionInfoSlot, backgroundVideo, videoSrc, videoSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, }: HeroProductivityLauncherVideoProps): React.JSX.Element;
|
|
118
|
+
declare function HeroProductivityLauncherVideo({ sectionId, heading, description, actions, actionsSlot, versionInfo, versionInfoSlot, backgroundVideo, videoSrc, videoSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, logo, logoSlot, logoClassName, }: HeroProductivityLauncherVideoProps): React.JSX.Element;
|
|
104
119
|
|
|
105
120
|
export { HeroProductivityLauncherVideo, type HeroProductivityLauncherVideoProps };
|
|
@@ -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, M as MediaItem } 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';
|
|
@@ -97,9 +100,21 @@ interface HeroProductivityLauncherVideoProps {
|
|
|
97
100
|
* Additional CSS classes for the description
|
|
98
101
|
*/
|
|
99
102
|
descriptionClassName?: string;
|
|
103
|
+
/**
|
|
104
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
105
|
+
*/
|
|
106
|
+
logo?: LogoConfig;
|
|
107
|
+
/**
|
|
108
|
+
* Custom slot for logo (overrides logo prop)
|
|
109
|
+
*/
|
|
110
|
+
logoSlot?: React.ReactNode;
|
|
111
|
+
/**
|
|
112
|
+
* Additional CSS classes for the logo container
|
|
113
|
+
*/
|
|
114
|
+
logoClassName?: string;
|
|
100
115
|
/** Optional Section ID */
|
|
101
116
|
sectionId?: string;
|
|
102
117
|
}
|
|
103
|
-
declare function HeroProductivityLauncherVideo({ sectionId, heading, description, actions, actionsSlot, versionInfo, versionInfoSlot, backgroundVideo, videoSrc, videoSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, }: HeroProductivityLauncherVideoProps): React.JSX.Element;
|
|
118
|
+
declare function HeroProductivityLauncherVideo({ sectionId, heading, description, actions, actionsSlot, versionInfo, versionInfoSlot, backgroundVideo, videoSrc, videoSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, logo, logoSlot, logoClassName, }: HeroProductivityLauncherVideoProps): React.JSX.Element;
|
|
104
119
|
|
|
105
120
|
export { HeroProductivityLauncherVideo, type HeroProductivityLauncherVideoProps };
|
|
@@ -5,6 +5,7 @@ import { twMerge } from 'tailwind-merge';
|
|
|
5
5
|
import { Pressable } from '@page-speed/pressable';
|
|
6
6
|
import { Video } from '@page-speed/video';
|
|
7
7
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
|
+
import { Img } from '@page-speed/img';
|
|
8
9
|
|
|
9
10
|
// components/blocks/hero/hero-productivity-launcher-video.tsx
|
|
10
11
|
function cn(...inputs) {
|
|
@@ -386,6 +387,47 @@ var Section = React.forwardRef(
|
|
|
386
387
|
}
|
|
387
388
|
);
|
|
388
389
|
Section.displayName = "Section";
|
|
390
|
+
var SIZE_CLASSES = {
|
|
391
|
+
sm: "max-h-6 sm:max-h-7",
|
|
392
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
393
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
394
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
395
|
+
};
|
|
396
|
+
var BrandLogo = ({
|
|
397
|
+
logo,
|
|
398
|
+
logoSlot,
|
|
399
|
+
logoClassName,
|
|
400
|
+
size = "md",
|
|
401
|
+
optixFlowConfig
|
|
402
|
+
}) => {
|
|
403
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
404
|
+
if (!logo || !logo.src) return null;
|
|
405
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
406
|
+
Img,
|
|
407
|
+
{
|
|
408
|
+
src: logo.src,
|
|
409
|
+
className: cn(
|
|
410
|
+
"w-auto object-contain",
|
|
411
|
+
SIZE_CLASSES[size],
|
|
412
|
+
logo.className
|
|
413
|
+
),
|
|
414
|
+
alt: logo.alt || "Logo",
|
|
415
|
+
optixFlowConfig,
|
|
416
|
+
loading: "eager"
|
|
417
|
+
}
|
|
418
|
+
);
|
|
419
|
+
if (logo.url) {
|
|
420
|
+
return /* @__PURE__ */ jsx(
|
|
421
|
+
Pressable,
|
|
422
|
+
{
|
|
423
|
+
href: logo.url,
|
|
424
|
+
className: cn("flex items-center", logoClassName),
|
|
425
|
+
children: imgElement
|
|
426
|
+
}
|
|
427
|
+
);
|
|
428
|
+
}
|
|
429
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
430
|
+
};
|
|
389
431
|
function HeroProductivityLauncherVideo({
|
|
390
432
|
sectionId = "hero-productivity-launcher-video",
|
|
391
433
|
heading,
|
|
@@ -405,7 +447,10 @@ function HeroProductivityLauncherVideo({
|
|
|
405
447
|
className,
|
|
406
448
|
contentClassName,
|
|
407
449
|
headingClassName,
|
|
408
|
-
descriptionClassName
|
|
450
|
+
descriptionClassName,
|
|
451
|
+
logo,
|
|
452
|
+
logoSlot,
|
|
453
|
+
logoClassName
|
|
409
454
|
}) {
|
|
410
455
|
const renderActions = useMemo(() => {
|
|
411
456
|
if (actionsSlot) return actionsSlot;
|
|
@@ -476,25 +521,28 @@ function HeroProductivityLauncherVideo({
|
|
|
476
521
|
children: [
|
|
477
522
|
/* @__PURE__ */ jsx("div", { className: cn("relative z-20 max-w-204.5", contentClassName), children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center pb-8", children: [
|
|
478
523
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-8 pb-16 pt-16", children: [
|
|
479
|
-
/* @__PURE__ */
|
|
480
|
-
"
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
524
|
+
/* @__PURE__ */ jsxs("div", { className: "max-w-100 sm:max-w-135", children: [
|
|
525
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
526
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
527
|
+
"h1",
|
|
528
|
+
{
|
|
529
|
+
className: cn(
|
|
530
|
+
"text-center text-4xl leading-tight font-semibold text-shadow-lg sm:text-5xl md:text-6xl text-balance text-white",
|
|
531
|
+
headingClassName
|
|
532
|
+
),
|
|
533
|
+
children: heading
|
|
534
|
+
}
|
|
535
|
+
) : /* @__PURE__ */ jsx(
|
|
536
|
+
"h1",
|
|
537
|
+
{
|
|
538
|
+
className: cn(
|
|
539
|
+
"text-center text-4xl leading-tight font-semibold text-shadow-lg sm:text-5xl md:text-6xl text-balance text-white",
|
|
540
|
+
headingClassName
|
|
541
|
+
),
|
|
542
|
+
children: heading
|
|
543
|
+
}
|
|
544
|
+
))
|
|
545
|
+
] }),
|
|
498
546
|
/* @__PURE__ */ jsx("div", { className: "max-w-90 md:max-w-full", children: description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
499
547
|
"p",
|
|
500
548
|
{
|
|
@@ -424,6 +424,47 @@ var Section = React4__namespace.default.forwardRef(
|
|
|
424
424
|
}
|
|
425
425
|
);
|
|
426
426
|
Section.displayName = "Section";
|
|
427
|
+
var SIZE_CLASSES = {
|
|
428
|
+
sm: "max-h-6 sm:max-h-7",
|
|
429
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
430
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
431
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
432
|
+
};
|
|
433
|
+
var BrandLogo = ({
|
|
434
|
+
logo,
|
|
435
|
+
logoSlot,
|
|
436
|
+
logoClassName,
|
|
437
|
+
size = "md",
|
|
438
|
+
optixFlowConfig
|
|
439
|
+
}) => {
|
|
440
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
441
|
+
if (!logo || !logo.src) return null;
|
|
442
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
443
|
+
img.Img,
|
|
444
|
+
{
|
|
445
|
+
src: logo.src,
|
|
446
|
+
className: cn(
|
|
447
|
+
"w-auto object-contain",
|
|
448
|
+
SIZE_CLASSES[size],
|
|
449
|
+
logo.className
|
|
450
|
+
),
|
|
451
|
+
alt: logo.alt || "Logo",
|
|
452
|
+
optixFlowConfig,
|
|
453
|
+
loading: "eager"
|
|
454
|
+
}
|
|
455
|
+
);
|
|
456
|
+
if (logo.url) {
|
|
457
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
458
|
+
pressable.Pressable,
|
|
459
|
+
{
|
|
460
|
+
href: logo.url,
|
|
461
|
+
className: cn("flex items-center", logoClassName),
|
|
462
|
+
children: imgElement
|
|
463
|
+
}
|
|
464
|
+
);
|
|
465
|
+
}
|
|
466
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
467
|
+
};
|
|
427
468
|
var DEFAULT_FORM_FIELDS = [
|
|
428
469
|
{
|
|
429
470
|
name: "email",
|
|
@@ -462,7 +503,10 @@ function HeroSaasDashboardPreview({
|
|
|
462
503
|
headingClassName,
|
|
463
504
|
descriptionClassName,
|
|
464
505
|
previewClassName,
|
|
465
|
-
optixFlowConfig
|
|
506
|
+
optixFlowConfig,
|
|
507
|
+
logo,
|
|
508
|
+
logoSlot,
|
|
509
|
+
logoClassName
|
|
466
510
|
}) {
|
|
467
511
|
const {
|
|
468
512
|
uploadTokens,
|
|
@@ -635,6 +679,7 @@ function HeroSaasDashboardPreview({
|
|
|
635
679
|
),
|
|
636
680
|
children: [
|
|
637
681
|
renderBadge,
|
|
682
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
638
683
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
639
684
|
"h1",
|
|
640
685
|
{
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Cgd-IXlI.cjs';
|
|
3
3
|
import { FormFieldConfig, PageSpeedFormConfig } from '@page-speed/forms/integration';
|
|
4
|
+
import { L as LogoConfig } from './types-mWZcgKth.cjs';
|
|
4
5
|
import { A as ActionConfig, I as ImageItem, O as OptixFlowConfig } from './blocks-DyouPohq.cjs';
|
|
5
6
|
import 'react/jsx-runtime';
|
|
7
|
+
import './dynamic-icon.cjs';
|
|
8
|
+
import '@page-speed/icon';
|
|
6
9
|
import 'class-variance-authority';
|
|
7
10
|
import '@page-speed/pressable';
|
|
8
11
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
@@ -125,9 +128,21 @@ interface HeroSaasDashboardPreviewProps {
|
|
|
125
128
|
* OptixFlow image optimization configuration
|
|
126
129
|
*/
|
|
127
130
|
optixFlowConfig?: OptixFlowConfig;
|
|
131
|
+
/**
|
|
132
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
133
|
+
*/
|
|
134
|
+
logo?: LogoConfig;
|
|
135
|
+
/**
|
|
136
|
+
* Custom slot for logo (overrides logo prop)
|
|
137
|
+
*/
|
|
138
|
+
logoSlot?: React.ReactNode;
|
|
139
|
+
/**
|
|
140
|
+
* Additional CSS classes for the logo container
|
|
141
|
+
*/
|
|
142
|
+
logoClassName?: string;
|
|
128
143
|
/** Optional Section ID */
|
|
129
144
|
sectionId?: string;
|
|
130
145
|
}
|
|
131
|
-
declare function HeroSaasDashboardPreview({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, browserPreview, browserPreviewSlot, background, containerClassName, spacing, pattern, patternOpacity, className, headerClassName, headingClassName, descriptionClassName, previewClassName, optixFlowConfig, }: HeroSaasDashboardPreviewProps): React.JSX.Element;
|
|
146
|
+
declare function HeroSaasDashboardPreview({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, browserPreview, browserPreviewSlot, background, containerClassName, spacing, pattern, patternOpacity, className, headerClassName, headingClassName, descriptionClassName, previewClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroSaasDashboardPreviewProps): React.JSX.Element;
|
|
132
147
|
|
|
133
148
|
export { HeroSaasDashboardPreview, type HeroSaasDashboardPreviewProps };
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Dud0DKXB.js';
|
|
3
3
|
import { FormFieldConfig, PageSpeedFormConfig } from '@page-speed/forms/integration';
|
|
4
|
+
import { L as LogoConfig } from './types-hJ2R0GoH.js';
|
|
4
5
|
import { A as ActionConfig, I as ImageItem, O as OptixFlowConfig } from './blocks-DyouPohq.js';
|
|
5
6
|
import 'react/jsx-runtime';
|
|
7
|
+
import './dynamic-icon.js';
|
|
8
|
+
import '@page-speed/icon';
|
|
6
9
|
import 'class-variance-authority';
|
|
7
10
|
import '@page-speed/pressable';
|
|
8
11
|
import '@opensite/hooks/usePlatformFromUrl';
|
|
@@ -125,9 +128,21 @@ interface HeroSaasDashboardPreviewProps {
|
|
|
125
128
|
* OptixFlow image optimization configuration
|
|
126
129
|
*/
|
|
127
130
|
optixFlowConfig?: OptixFlowConfig;
|
|
131
|
+
/**
|
|
132
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
133
|
+
*/
|
|
134
|
+
logo?: LogoConfig;
|
|
135
|
+
/**
|
|
136
|
+
* Custom slot for logo (overrides logo prop)
|
|
137
|
+
*/
|
|
138
|
+
logoSlot?: React.ReactNode;
|
|
139
|
+
/**
|
|
140
|
+
* Additional CSS classes for the logo container
|
|
141
|
+
*/
|
|
142
|
+
logoClassName?: string;
|
|
128
143
|
/** Optional Section ID */
|
|
129
144
|
sectionId?: string;
|
|
130
145
|
}
|
|
131
|
-
declare function HeroSaasDashboardPreview({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, browserPreview, browserPreviewSlot, background, containerClassName, spacing, pattern, patternOpacity, className, headerClassName, headingClassName, descriptionClassName, previewClassName, optixFlowConfig, }: HeroSaasDashboardPreviewProps): React.JSX.Element;
|
|
146
|
+
declare function HeroSaasDashboardPreview({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, browserPreview, browserPreviewSlot, background, containerClassName, spacing, pattern, patternOpacity, className, headerClassName, headingClassName, descriptionClassName, previewClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroSaasDashboardPreviewProps): React.JSX.Element;
|
|
132
147
|
|
|
133
148
|
export { HeroSaasDashboardPreview, type HeroSaasDashboardPreviewProps };
|
|
@@ -403,6 +403,47 @@ var Section = React4__default.forwardRef(
|
|
|
403
403
|
}
|
|
404
404
|
);
|
|
405
405
|
Section.displayName = "Section";
|
|
406
|
+
var SIZE_CLASSES = {
|
|
407
|
+
sm: "max-h-6 sm:max-h-7",
|
|
408
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
409
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
410
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
411
|
+
};
|
|
412
|
+
var BrandLogo = ({
|
|
413
|
+
logo,
|
|
414
|
+
logoSlot,
|
|
415
|
+
logoClassName,
|
|
416
|
+
size = "md",
|
|
417
|
+
optixFlowConfig
|
|
418
|
+
}) => {
|
|
419
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
420
|
+
if (!logo || !logo.src) return null;
|
|
421
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
422
|
+
Img,
|
|
423
|
+
{
|
|
424
|
+
src: logo.src,
|
|
425
|
+
className: cn(
|
|
426
|
+
"w-auto object-contain",
|
|
427
|
+
SIZE_CLASSES[size],
|
|
428
|
+
logo.className
|
|
429
|
+
),
|
|
430
|
+
alt: logo.alt || "Logo",
|
|
431
|
+
optixFlowConfig,
|
|
432
|
+
loading: "eager"
|
|
433
|
+
}
|
|
434
|
+
);
|
|
435
|
+
if (logo.url) {
|
|
436
|
+
return /* @__PURE__ */ jsx(
|
|
437
|
+
Pressable,
|
|
438
|
+
{
|
|
439
|
+
href: logo.url,
|
|
440
|
+
className: cn("flex items-center", logoClassName),
|
|
441
|
+
children: imgElement
|
|
442
|
+
}
|
|
443
|
+
);
|
|
444
|
+
}
|
|
445
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
446
|
+
};
|
|
406
447
|
var DEFAULT_FORM_FIELDS = [
|
|
407
448
|
{
|
|
408
449
|
name: "email",
|
|
@@ -441,7 +482,10 @@ function HeroSaasDashboardPreview({
|
|
|
441
482
|
headingClassName,
|
|
442
483
|
descriptionClassName,
|
|
443
484
|
previewClassName,
|
|
444
|
-
optixFlowConfig
|
|
485
|
+
optixFlowConfig,
|
|
486
|
+
logo,
|
|
487
|
+
logoSlot,
|
|
488
|
+
logoClassName
|
|
445
489
|
}) {
|
|
446
490
|
const {
|
|
447
491
|
uploadTokens,
|
|
@@ -614,6 +658,7 @@ function HeroSaasDashboardPreview({
|
|
|
614
658
|
),
|
|
615
659
|
children: [
|
|
616
660
|
renderBadge,
|
|
661
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
617
662
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
618
663
|
"h1",
|
|
619
664
|
{
|
|
@@ -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 HeroSharedInboxLayered({
|
|
474
515
|
sectionId = "hero-shared-inbox-layered",
|
|
475
516
|
eyebrow,
|
|
@@ -492,7 +533,10 @@ function HeroSharedInboxLayered({
|
|
|
492
533
|
descriptionClassName,
|
|
493
534
|
imagesClassName,
|
|
494
535
|
optixFlowConfig,
|
|
495
|
-
patternClassName
|
|
536
|
+
patternClassName,
|
|
537
|
+
logo,
|
|
538
|
+
logoSlot,
|
|
539
|
+
logoClassName
|
|
496
540
|
}) {
|
|
497
541
|
const renderLayeredImages = React.useMemo(() => {
|
|
498
542
|
if (layeredImagesSlot) return layeredImagesSlot;
|
|
@@ -563,6 +607,7 @@ function HeroSharedInboxLayered({
|
|
|
563
607
|
children: eyebrow
|
|
564
608
|
}
|
|
565
609
|
) : eyebrow),
|
|
610
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
566
611
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
567
612
|
"h1",
|
|
568
613
|
{
|
|
@@ -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 { I as ImageItem, O as OptixFlowConfig, 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';
|
|
@@ -100,9 +103,21 @@ interface HeroSharedInboxLayeredProps {
|
|
|
100
103
|
* Additional CSS classes for the actions container
|
|
101
104
|
*/
|
|
102
105
|
actionsClassName?: string;
|
|
106
|
+
/**
|
|
107
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
108
|
+
*/
|
|
109
|
+
logo?: LogoConfig;
|
|
110
|
+
/**
|
|
111
|
+
* Custom slot for logo (overrides logo prop)
|
|
112
|
+
*/
|
|
113
|
+
logoSlot?: React.ReactNode;
|
|
114
|
+
/**
|
|
115
|
+
* Additional CSS classes for the logo container
|
|
116
|
+
*/
|
|
117
|
+
logoClassName?: string;
|
|
103
118
|
/** Optional Section ID */
|
|
104
119
|
sectionId?: string;
|
|
105
120
|
}
|
|
106
|
-
declare function HeroSharedInboxLayered({ sectionId, eyebrow, eyebrowClassName, heading, description, layeredImages, layeredImagesSlot, background, actions, actionsSlot, actionsClassName, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imagesClassName, optixFlowConfig, patternClassName, }: HeroSharedInboxLayeredProps): React.JSX.Element;
|
|
121
|
+
declare function HeroSharedInboxLayered({ sectionId, eyebrow, eyebrowClassName, heading, description, layeredImages, layeredImagesSlot, background, actions, actionsSlot, actionsClassName, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imagesClassName, optixFlowConfig, patternClassName, logo, logoSlot, logoClassName, }: HeroSharedInboxLayeredProps): React.JSX.Element;
|
|
107
122
|
|
|
108
123
|
export { HeroSharedInboxLayered, type HeroSharedInboxLayeredProps };
|
|
@@ -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 { I as ImageItem, O as OptixFlowConfig, 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';
|
|
@@ -100,9 +103,21 @@ interface HeroSharedInboxLayeredProps {
|
|
|
100
103
|
* Additional CSS classes for the actions container
|
|
101
104
|
*/
|
|
102
105
|
actionsClassName?: string;
|
|
106
|
+
/**
|
|
107
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
108
|
+
*/
|
|
109
|
+
logo?: LogoConfig;
|
|
110
|
+
/**
|
|
111
|
+
* Custom slot for logo (overrides logo prop)
|
|
112
|
+
*/
|
|
113
|
+
logoSlot?: React.ReactNode;
|
|
114
|
+
/**
|
|
115
|
+
* Additional CSS classes for the logo container
|
|
116
|
+
*/
|
|
117
|
+
logoClassName?: string;
|
|
103
118
|
/** Optional Section ID */
|
|
104
119
|
sectionId?: string;
|
|
105
120
|
}
|
|
106
|
-
declare function HeroSharedInboxLayered({ sectionId, eyebrow, eyebrowClassName, heading, description, layeredImages, layeredImagesSlot, background, actions, actionsSlot, actionsClassName, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imagesClassName, optixFlowConfig, patternClassName, }: HeroSharedInboxLayeredProps): React.JSX.Element;
|
|
121
|
+
declare function HeroSharedInboxLayered({ sectionId, eyebrow, eyebrowClassName, heading, description, layeredImages, layeredImagesSlot, background, actions, actionsSlot, actionsClassName, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imagesClassName, optixFlowConfig, patternClassName, logo, logoSlot, logoClassName, }: HeroSharedInboxLayeredProps): React.JSX.Element;
|
|
107
122
|
|
|
108
123
|
export { HeroSharedInboxLayered, type HeroSharedInboxLayeredProps };
|