@opensite/ui 3.7.2 → 3.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hero-ad-campaign-expert.cjs +46 -1
- package/dist/hero-ad-campaign-expert.d.cts +16 -1
- package/dist/hero-ad-campaign-expert.d.ts +16 -1
- package/dist/hero-ad-campaign-expert.js +46 -1
- package/dist/hero-adaptable-product-grid.cjs +46 -1
- package/dist/hero-adaptable-product-grid.d.cts +16 -1
- package/dist/hero-adaptable-product-grid.d.ts +16 -1
- package/dist/hero-adaptable-product-grid.js +46 -1
- package/dist/hero-agency-animated-images.cjs +46 -1
- package/dist/hero-agency-animated-images.d.cts +16 -1
- package/dist/hero-agency-animated-images.d.ts +16 -1
- package/dist/hero-agency-animated-images.js +46 -1
- package/dist/hero-ai-powered-carousel.cjs +46 -1
- package/dist/hero-ai-powered-carousel.d.cts +16 -1
- package/dist/hero-ai-powered-carousel.d.ts +16 -1
- package/dist/hero-ai-powered-carousel.js +46 -1
- package/dist/hero-announcement-badge.cjs +47 -1
- package/dist/hero-announcement-badge.d.cts +16 -1
- package/dist/hero-announcement-badge.d.ts +16 -1
- package/dist/hero-announcement-badge.js +47 -1
- package/dist/hero-architecture-fullscreen.cjs +46 -1
- package/dist/hero-architecture-fullscreen.d.cts +16 -1
- package/dist/hero-architecture-fullscreen.d.ts +16 -1
- package/dist/hero-architecture-fullscreen.js +46 -1
- package/dist/hero-badge-image-split.cjs +46 -1
- package/dist/hero-badge-image-split.d.cts +16 -1
- package/dist/hero-badge-image-split.d.ts +16 -1
- package/dist/hero-badge-image-split.js +46 -1
- package/dist/hero-badge-shadow-overlay.cjs +46 -1
- package/dist/hero-badge-shadow-overlay.d.cts +16 -1
- package/dist/hero-badge-shadow-overlay.d.ts +16 -1
- package/dist/hero-badge-shadow-overlay.js +46 -1
- package/dist/hero-business-carousel-dots.cjs +46 -1
- package/dist/hero-business-carousel-dots.d.cts +16 -1
- package/dist/hero-business-carousel-dots.d.ts +16 -1
- package/dist/hero-business-carousel-dots.js +46 -1
- package/dist/hero-business-operations-mosaic.cjs +46 -1
- package/dist/hero-business-operations-mosaic.d.cts +16 -1
- package/dist/hero-business-operations-mosaic.d.ts +16 -1
- package/dist/hero-business-operations-mosaic.js +46 -1
- package/dist/hero-centered-gradient-cta.cjs +47 -1
- package/dist/hero-centered-gradient-cta.d.cts +16 -1
- package/dist/hero-centered-gradient-cta.d.ts +16 -1
- package/dist/hero-centered-gradient-cta.js +47 -1
- package/dist/hero-centered-image-grid.cjs +46 -1
- package/dist/hero-centered-image-grid.d.cts +16 -1
- package/dist/hero-centered-image-grid.d.ts +16 -1
- package/dist/hero-centered-image-grid.js +46 -1
- package/dist/hero-centered-screenshot.cjs +46 -1
- package/dist/hero-centered-screenshot.d.cts +16 -1
- package/dist/hero-centered-screenshot.d.ts +16 -1
- package/dist/hero-centered-screenshot.js +46 -1
- package/dist/hero-coming-soon-countdown.cjs +47 -1
- package/dist/hero-coming-soon-countdown.d.cts +16 -1
- package/dist/hero-coming-soon-countdown.d.ts +16 -1
- package/dist/hero-coming-soon-countdown.js +47 -1
- package/dist/hero-community-survey-cta.cjs +46 -1
- package/dist/hero-community-survey-cta.d.cts +16 -1
- package/dist/hero-community-survey-cta.d.ts +16 -1
- package/dist/hero-community-survey-cta.js +46 -1
- package/dist/hero-conversation-intelligence.cjs +46 -1
- package/dist/hero-conversation-intelligence.d.cts +16 -1
- package/dist/hero-conversation-intelligence.d.ts +16 -1
- package/dist/hero-conversation-intelligence.js +46 -1
- package/dist/hero-creative-studio-stacked.cjs +46 -1
- package/dist/hero-creative-studio-stacked.d.cts +17 -2
- package/dist/hero-creative-studio-stacked.d.ts +17 -2
- package/dist/hero-creative-studio-stacked.js +46 -1
- package/dist/hero-crm-streamlined.cjs +46 -1
- package/dist/hero-crm-streamlined.d.cts +16 -1
- package/dist/hero-crm-streamlined.d.ts +16 -1
- package/dist/hero-crm-streamlined.js +46 -1
- package/dist/hero-customer-support-layered.cjs +46 -1
- package/dist/hero-customer-support-layered.d.cts +16 -1
- package/dist/hero-customer-support-layered.d.ts +16 -1
- package/dist/hero-customer-support-layered.js +46 -1
- package/dist/hero-design-system-3d.cjs +67 -20
- package/dist/hero-design-system-3d.d.cts +16 -1
- package/dist/hero-design-system-3d.d.ts +16 -1
- package/dist/hero-design-system-3d.js +67 -20
- package/dist/hero-developer-tools-code.cjs +47 -1
- package/dist/hero-developer-tools-code.d.cts +16 -1
- package/dist/hero-developer-tools-code.d.ts +16 -1
- package/dist/hero-developer-tools-code.js +47 -1
- package/dist/hero-digital-agency-fullscreen.cjs +46 -1
- package/dist/hero-digital-agency-fullscreen.d.cts +16 -1
- package/dist/hero-digital-agency-fullscreen.d.ts +16 -1
- package/dist/hero-digital-agency-fullscreen.js +46 -1
- package/dist/hero-ecommerce-product-showcase.cjs +46 -1
- package/dist/hero-ecommerce-product-showcase.d.cts +16 -1
- package/dist/hero-ecommerce-product-showcase.d.ts +16 -1
- package/dist/hero-ecommerce-product-showcase.js +46 -1
- package/dist/hero-enterprise-security.cjs +47 -1
- package/dist/hero-enterprise-security.d.cts +16 -1
- package/dist/hero-enterprise-security.d.ts +16 -1
- package/dist/hero-enterprise-security.js +47 -1
- package/dist/hero-feature-cards-grid.cjs +47 -1
- package/dist/hero-feature-cards-grid.d.cts +16 -1
- package/dist/hero-feature-cards-grid.d.ts +16 -1
- package/dist/hero-feature-cards-grid.js +47 -1
- package/dist/hero-fullscreen-background-image.cjs +46 -1
- package/dist/hero-fullscreen-background-image.d.cts +16 -1
- package/dist/hero-fullscreen-background-image.d.ts +16 -1
- package/dist/hero-fullscreen-background-image.js +46 -1
- package/dist/hero-gradient-avatars-rating.cjs +46 -1
- package/dist/hero-gradient-avatars-rating.d.cts +16 -1
- package/dist/hero-gradient-avatars-rating.d.ts +16 -1
- package/dist/hero-gradient-avatars-rating.js +46 -1
- package/dist/hero-gradient-client-focused.cjs +46 -1
- package/dist/hero-gradient-client-focused.d.cts +16 -1
- package/dist/hero-gradient-client-focused.d.ts +16 -1
- package/dist/hero-gradient-client-focused.js +46 -1
- package/dist/hero-grid-pattern-efficiency.cjs +47 -1
- package/dist/hero-grid-pattern-efficiency.d.cts +16 -1
- package/dist/hero-grid-pattern-efficiency.d.ts +16 -1
- package/dist/hero-grid-pattern-efficiency.js +47 -1
- package/dist/hero-grid-pattern-solutions.cjs +46 -1
- package/dist/hero-grid-pattern-solutions.d.cts +16 -1
- package/dist/hero-grid-pattern-solutions.d.ts +16 -1
- package/dist/hero-grid-pattern-solutions.js +46 -1
- package/dist/hero-hiring-animated-text.cjs +47 -1
- package/dist/hero-hiring-animated-text.d.cts +16 -1
- package/dist/hero-hiring-animated-text.d.ts +16 -1
- package/dist/hero-hiring-animated-text.js +47 -1
- package/dist/hero-image-left-content.cjs +46 -1
- package/dist/hero-image-left-content.d.cts +16 -1
- package/dist/hero-image-left-content.d.ts +16 -1
- package/dist/hero-image-left-content.js +46 -1
- package/dist/hero-image-slider.cjs +46 -1
- package/dist/hero-image-slider.d.cts +16 -1
- package/dist/hero-image-slider.d.ts +16 -1
- package/dist/hero-image-slider.js +46 -1
- package/dist/hero-innovation-image-grid.cjs +46 -1
- package/dist/hero-innovation-image-grid.d.cts +16 -1
- package/dist/hero-innovation-image-grid.d.ts +16 -1
- package/dist/hero-innovation-image-grid.js +46 -1
- package/dist/hero-marketplace-scattered-images.cjs +46 -1
- package/dist/hero-marketplace-scattered-images.d.cts +16 -1
- package/dist/hero-marketplace-scattered-images.d.ts +16 -1
- package/dist/hero-marketplace-scattered-images.js +46 -1
- package/dist/hero-minimal-centered-dark.cjs +47 -1
- package/dist/hero-minimal-centered-dark.d.cts +16 -1
- package/dist/hero-minimal-centered-dark.d.ts +16 -1
- package/dist/hero-minimal-centered-dark.js +47 -1
- package/dist/hero-mobile-app-download.cjs +46 -1
- package/dist/hero-mobile-app-download.d.cts +16 -1
- package/dist/hero-mobile-app-download.d.ts +16 -1
- package/dist/hero-mobile-app-download.js +46 -1
- package/dist/hero-newsletter-minimal.cjs +48 -1
- package/dist/hero-newsletter-minimal.d.cts +16 -1
- package/dist/hero-newsletter-minimal.d.ts +16 -1
- package/dist/hero-newsletter-minimal.js +48 -1
- package/dist/hero-overlay-cta-grid.cjs +46 -1
- package/dist/hero-overlay-cta-grid.d.cts +16 -1
- package/dist/hero-overlay-cta-grid.d.ts +16 -1
- package/dist/hero-overlay-cta-grid.js +46 -1
- package/dist/hero-portfolio-creative.cjs +46 -1
- package/dist/hero-portfolio-creative.d.cts +16 -1
- package/dist/hero-portfolio-creative.d.ts +16 -1
- package/dist/hero-portfolio-creative.js +46 -1
- package/dist/hero-premium-split-avatars.cjs +46 -1
- package/dist/hero-premium-split-avatars.d.cts +16 -1
- package/dist/hero-premium-split-avatars.d.ts +16 -1
- package/dist/hero-premium-split-avatars.js +46 -1
- package/dist/hero-presentation-platform-video.cjs +47 -1
- package/dist/hero-presentation-platform-video.d.cts +16 -1
- package/dist/hero-presentation-platform-video.d.ts +16 -1
- package/dist/hero-presentation-platform-video.js +47 -1
- package/dist/hero-pricing-comparison.cjs +47 -1
- package/dist/hero-pricing-comparison.d.cts +16 -1
- package/dist/hero-pricing-comparison.d.ts +16 -1
- package/dist/hero-pricing-comparison.js +47 -1
- package/dist/hero-product-showcase-floating.cjs +46 -1
- package/dist/hero-product-showcase-floating.d.cts +16 -1
- package/dist/hero-product-showcase-floating.d.ts +16 -1
- package/dist/hero-product-showcase-floating.js +46 -1
- package/dist/hero-productivity-launcher-video.cjs +68 -20
- package/dist/hero-productivity-launcher-video.d.cts +16 -1
- package/dist/hero-productivity-launcher-video.d.ts +16 -1
- package/dist/hero-productivity-launcher-video.js +68 -20
- package/dist/hero-saas-dashboard-preview.cjs +46 -1
- package/dist/hero-saas-dashboard-preview.d.cts +16 -1
- package/dist/hero-saas-dashboard-preview.d.ts +16 -1
- package/dist/hero-saas-dashboard-preview.js +46 -1
- package/dist/hero-shared-inbox-layered.cjs +46 -1
- package/dist/hero-shared-inbox-layered.d.cts +16 -1
- package/dist/hero-shared-inbox-layered.d.ts +16 -1
- package/dist/hero-shared-inbox-layered.js +46 -1
- package/dist/hero-simple-centered-image.cjs +46 -1
- package/dist/hero-simple-centered-image.d.cts +16 -1
- package/dist/hero-simple-centered-image.d.ts +16 -1
- package/dist/hero-simple-centered-image.js +46 -1
- package/dist/hero-software-growth-video-dialog.cjs +46 -1
- package/dist/hero-software-growth-video-dialog.d.cts +16 -1
- package/dist/hero-software-growth-video-dialog.d.ts +16 -1
- package/dist/hero-software-growth-video-dialog.js +46 -1
- package/dist/hero-spiral-pattern-cards.cjs +46 -1
- package/dist/hero-spiral-pattern-cards.d.cts +16 -1
- package/dist/hero-spiral-pattern-cards.d.ts +16 -1
- package/dist/hero-spiral-pattern-cards.js +46 -1
- package/dist/hero-split-geometric-shapes.cjs +46 -1
- package/dist/hero-split-geometric-shapes.d.cts +16 -1
- package/dist/hero-split-geometric-shapes.d.ts +16 -1
- package/dist/hero-split-geometric-shapes.js +46 -1
- package/dist/hero-split-icon-cards.cjs +47 -1
- package/dist/hero-split-icon-cards.d.cts +16 -1
- package/dist/hero-split-icon-cards.d.ts +16 -1
- package/dist/hero-split-icon-cards.js +47 -1
- package/dist/hero-split-image-newsletter.cjs +46 -1
- package/dist/hero-split-image-newsletter.d.cts +16 -1
- package/dist/hero-split-image-newsletter.d.ts +16 -1
- package/dist/hero-split-image-newsletter.js +47 -2
- package/dist/hero-split-spiral-shapes.cjs +46 -1
- package/dist/hero-split-spiral-shapes.d.cts +16 -1
- package/dist/hero-split-spiral-shapes.d.ts +16 -1
- package/dist/hero-split-spiral-shapes.js +46 -1
- package/dist/hero-startup-launch-cta.cjs +46 -1
- package/dist/hero-startup-launch-cta.d.cts +16 -1
- package/dist/hero-startup-launch-cta.d.ts +16 -1
- package/dist/hero-startup-launch-cta.js +46 -1
- package/dist/hero-stats-social-proof.cjs +46 -1
- package/dist/hero-stats-social-proof.d.cts +16 -1
- package/dist/hero-stats-social-proof.d.ts +16 -1
- package/dist/hero-stats-social-proof.js +46 -1
- package/dist/hero-task-timer-animated.cjs +46 -1
- package/dist/hero-task-timer-animated.d.cts +16 -1
- package/dist/hero-task-timer-animated.d.ts +16 -1
- package/dist/hero-task-timer-animated.js +46 -1
- package/dist/hero-testimonial-image-grid.cjs +46 -1
- package/dist/hero-testimonial-image-grid.d.cts +16 -1
- package/dist/hero-testimonial-image-grid.d.ts +16 -1
- package/dist/hero-testimonial-image-grid.js +46 -1
- package/dist/hero-therapy-testimonial-grid.cjs +46 -1
- package/dist/hero-therapy-testimonial-grid.d.cts +16 -1
- package/dist/hero-therapy-testimonial-grid.d.ts +16 -1
- package/dist/hero-therapy-testimonial-grid.js +46 -1
- package/dist/hero-ui-library-showcase.cjs +3 -2
- package/dist/hero-ui-library-showcase.d.cts +13 -5
- package/dist/hero-ui-library-showcase.d.ts +13 -5
- package/dist/hero-ui-library-showcase.js +3 -2
- package/dist/hero-video-background-dark.cjs +47 -1
- package/dist/hero-video-background-dark.d.cts +16 -1
- package/dist/hero-video-background-dark.d.ts +16 -1
- package/dist/hero-video-background-dark.js +47 -1
- package/dist/{hero-video-dialog-gradient-Cr96k01H.d.ts → hero-video-dialog-gradient-B6-kFIvZ.d.ts} +14 -1
- package/dist/{hero-video-dialog-gradient-Dc0wRYdW.d.cts → hero-video-dialog-gradient-DPnh6Vn-.d.cts} +14 -1
- package/dist/hero-video-dialog-gradient.cjs +46 -1
- package/dist/hero-video-dialog-gradient.d.cts +4 -1
- package/dist/hero-video-dialog-gradient.d.ts +4 -1
- package/dist/hero-video-dialog-gradient.js +46 -1
- package/dist/hero-welcome-asymmetric-images.cjs +46 -1
- package/dist/hero-welcome-asymmetric-images.d.cts +16 -1
- package/dist/hero-welcome-asymmetric-images.d.ts +16 -1
- package/dist/hero-welcome-asymmetric-images.js +46 -1
- package/dist/link-page-bento-layout.cjs +59 -3
- package/dist/link-page-bento-layout.d.cts +16 -1
- package/dist/link-page-bento-layout.d.ts +16 -1
- package/dist/link-page-bento-layout.js +59 -3
- package/dist/link-page-grid-cards.cjs +59 -3
- package/dist/link-page-grid-cards.d.cts +16 -1
- package/dist/link-page-grid-cards.d.ts +16 -1
- package/dist/link-page-grid-cards.js +59 -3
- package/dist/link-page-minimal-profile.cjs +59 -3
- package/dist/link-page-minimal-profile.d.cts +16 -1
- package/dist/link-page-minimal-profile.d.ts +16 -1
- package/dist/link-page-minimal-profile.js +59 -3
- package/dist/link-page-newsletter-social.cjs +59 -3
- package/dist/link-page-newsletter-social.d.cts +16 -1
- package/dist/link-page-newsletter-social.d.ts +16 -1
- package/dist/link-page-newsletter-social.js +59 -3
- package/dist/link-tree-block.cjs +58 -2
- package/dist/link-tree-block.d.cts +16 -1
- package/dist/link-tree-block.d.ts +16 -1
- package/dist/link-tree-block.js +58 -2
- package/dist/registry.cjs +704 -182
- package/dist/registry.js +704 -182
- package/dist/social-link-icon.d.cts +1 -1
- package/dist/social-link-icon.d.ts +1 -1
- package/package.json +1 -1
|
@@ -8,6 +8,7 @@ import { Icon } from '@page-speed/icon';
|
|
|
8
8
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
9
9
|
import { Slot } from '@radix-ui/react-slot';
|
|
10
10
|
import { cva } from 'class-variance-authority';
|
|
11
|
+
import { Img } from '@page-speed/img';
|
|
11
12
|
|
|
12
13
|
// components/blocks/hero/hero-pricing-comparison.tsx
|
|
13
14
|
function cn(...inputs) {
|
|
@@ -512,6 +513,47 @@ var Section = React__default.forwardRef(
|
|
|
512
513
|
}
|
|
513
514
|
);
|
|
514
515
|
Section.displayName = "Section";
|
|
516
|
+
var SIZE_CLASSES = {
|
|
517
|
+
sm: "max-h-6 sm:max-h-7",
|
|
518
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
519
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
520
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
521
|
+
};
|
|
522
|
+
var BrandLogo = ({
|
|
523
|
+
logo,
|
|
524
|
+
logoSlot,
|
|
525
|
+
logoClassName,
|
|
526
|
+
size = "md",
|
|
527
|
+
optixFlowConfig
|
|
528
|
+
}) => {
|
|
529
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
530
|
+
if (!logo || !logo.src) return null;
|
|
531
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
532
|
+
Img,
|
|
533
|
+
{
|
|
534
|
+
src: logo.src,
|
|
535
|
+
className: cn(
|
|
536
|
+
"w-auto object-contain",
|
|
537
|
+
SIZE_CLASSES[size],
|
|
538
|
+
logo.className
|
|
539
|
+
),
|
|
540
|
+
alt: logo.alt || "Logo",
|
|
541
|
+
optixFlowConfig,
|
|
542
|
+
loading: "eager"
|
|
543
|
+
}
|
|
544
|
+
);
|
|
545
|
+
if (logo.url) {
|
|
546
|
+
return /* @__PURE__ */ jsx(
|
|
547
|
+
Pressable,
|
|
548
|
+
{
|
|
549
|
+
href: logo.url,
|
|
550
|
+
className: cn("flex items-center", logoClassName),
|
|
551
|
+
children: imgElement
|
|
552
|
+
}
|
|
553
|
+
);
|
|
554
|
+
}
|
|
555
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
556
|
+
};
|
|
515
557
|
function HeroPricingComparison({
|
|
516
558
|
sectionId = "hero-pricing-comparison",
|
|
517
559
|
badgeText,
|
|
@@ -529,7 +571,10 @@ function HeroPricingComparison({
|
|
|
529
571
|
headerClassName,
|
|
530
572
|
headingClassName,
|
|
531
573
|
descriptionClassName,
|
|
532
|
-
plansClassName
|
|
574
|
+
plansClassName,
|
|
575
|
+
logo,
|
|
576
|
+
logoSlot,
|
|
577
|
+
logoClassName
|
|
533
578
|
}) {
|
|
534
579
|
const renderBadge = useMemo(() => {
|
|
535
580
|
if (badgeSlot) return badgeSlot;
|
|
@@ -587,6 +632,7 @@ function HeroPricingComparison({
|
|
|
587
632
|
children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
|
|
588
633
|
/* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-4xl text-center", headerClassName), children: [
|
|
589
634
|
renderBadge,
|
|
635
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
590
636
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", headingClassName), children: heading })),
|
|
591
637
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-6 text-lg md:text-xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
|
|
592
638
|
] }),
|
|
@@ -566,6 +566,47 @@ function ActionComponent({ action }) {
|
|
|
566
566
|
}
|
|
567
567
|
);
|
|
568
568
|
}
|
|
569
|
+
var SIZE_CLASSES = {
|
|
570
|
+
sm: "max-h-6 sm:max-h-7",
|
|
571
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
572
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
573
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
574
|
+
};
|
|
575
|
+
var BrandLogo = ({
|
|
576
|
+
logo,
|
|
577
|
+
logoSlot,
|
|
578
|
+
logoClassName,
|
|
579
|
+
size = "md",
|
|
580
|
+
optixFlowConfig
|
|
581
|
+
}) => {
|
|
582
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
583
|
+
if (!logo || !logo.src) return null;
|
|
584
|
+
const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
|
|
585
|
+
img.Img,
|
|
586
|
+
{
|
|
587
|
+
src: logo.src,
|
|
588
|
+
className: cn(
|
|
589
|
+
"w-auto object-contain",
|
|
590
|
+
SIZE_CLASSES[size],
|
|
591
|
+
logo.className
|
|
592
|
+
),
|
|
593
|
+
alt: logo.alt || "Logo",
|
|
594
|
+
optixFlowConfig,
|
|
595
|
+
loading: "eager"
|
|
596
|
+
}
|
|
597
|
+
);
|
|
598
|
+
if (logo.url) {
|
|
599
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
600
|
+
pressable.Pressable,
|
|
601
|
+
{
|
|
602
|
+
href: logo.url,
|
|
603
|
+
className: cn("flex items-center", logoClassName),
|
|
604
|
+
children: imgElement
|
|
605
|
+
}
|
|
606
|
+
);
|
|
607
|
+
}
|
|
608
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
609
|
+
};
|
|
569
610
|
function HeroProductShowcaseFloating({
|
|
570
611
|
sectionId = "hero-product-showcase-floating",
|
|
571
612
|
badgeText,
|
|
@@ -593,7 +634,10 @@ function HeroProductShowcaseFloating({
|
|
|
593
634
|
headerClassName,
|
|
594
635
|
descriptionClassName,
|
|
595
636
|
showcaseClassName,
|
|
596
|
-
optixFlowConfig
|
|
637
|
+
optixFlowConfig,
|
|
638
|
+
logo,
|
|
639
|
+
logoSlot,
|
|
640
|
+
logoClassName
|
|
597
641
|
}) {
|
|
598
642
|
const renderBadge = React5.useMemo(() => {
|
|
599
643
|
if (badgeSlot) return badgeSlot;
|
|
@@ -719,6 +763,7 @@ function HeroProductShowcaseFloating({
|
|
|
719
763
|
),
|
|
720
764
|
children: [
|
|
721
765
|
renderBadge,
|
|
766
|
+
(logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
722
767
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
723
768
|
ContentGroup,
|
|
724
769
|
{
|
|
@@ -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';
|
|
@@ -142,9 +145,21 @@ interface HeroProductShowcaseFloatingProps {
|
|
|
142
145
|
* Additional CSS classes for the actions container
|
|
143
146
|
*/
|
|
144
147
|
actionsClassName?: string;
|
|
148
|
+
/**
|
|
149
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
150
|
+
*/
|
|
151
|
+
logo?: LogoConfig;
|
|
152
|
+
/**
|
|
153
|
+
* Custom slot for logo (overrides logo prop)
|
|
154
|
+
*/
|
|
155
|
+
logoSlot?: React.ReactNode;
|
|
156
|
+
/**
|
|
157
|
+
* Additional CSS classes for the logo container
|
|
158
|
+
*/
|
|
159
|
+
logoClassName?: string;
|
|
145
160
|
/** Optional Section ID */
|
|
146
161
|
sectionId?: string;
|
|
147
162
|
}
|
|
148
|
-
declare function HeroProductShowcaseFloating({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, actions, actionsSlot, actionsClassName, productImage, productImageSlot, floatingStat, floatingStatSlot, userCount, userCountSlot, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, headerClassName, descriptionClassName, showcaseClassName, optixFlowConfig, }: HeroProductShowcaseFloatingProps): React.JSX.Element;
|
|
163
|
+
declare function HeroProductShowcaseFloating({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, actions, actionsSlot, actionsClassName, productImage, productImageSlot, floatingStat, floatingStatSlot, userCount, userCountSlot, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, headerClassName, descriptionClassName, showcaseClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroProductShowcaseFloatingProps): React.JSX.Element;
|
|
149
164
|
|
|
150
165
|
export { HeroProductShowcaseFloating, type HeroProductShowcaseFloatingProps };
|
|
@@ -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';
|
|
@@ -142,9 +145,21 @@ interface HeroProductShowcaseFloatingProps {
|
|
|
142
145
|
* Additional CSS classes for the actions container
|
|
143
146
|
*/
|
|
144
147
|
actionsClassName?: string;
|
|
148
|
+
/**
|
|
149
|
+
* Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
|
|
150
|
+
*/
|
|
151
|
+
logo?: LogoConfig;
|
|
152
|
+
/**
|
|
153
|
+
* Custom slot for logo (overrides logo prop)
|
|
154
|
+
*/
|
|
155
|
+
logoSlot?: React.ReactNode;
|
|
156
|
+
/**
|
|
157
|
+
* Additional CSS classes for the logo container
|
|
158
|
+
*/
|
|
159
|
+
logoClassName?: string;
|
|
145
160
|
/** Optional Section ID */
|
|
146
161
|
sectionId?: string;
|
|
147
162
|
}
|
|
148
|
-
declare function HeroProductShowcaseFloating({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, actions, actionsSlot, actionsClassName, productImage, productImageSlot, floatingStat, floatingStatSlot, userCount, userCountSlot, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, headerClassName, descriptionClassName, showcaseClassName, optixFlowConfig, }: HeroProductShowcaseFloatingProps): React.JSX.Element;
|
|
163
|
+
declare function HeroProductShowcaseFloating({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, actions, actionsSlot, actionsClassName, productImage, productImageSlot, floatingStat, floatingStatSlot, userCount, userCountSlot, background, pattern, patternOpacity, className, containerClassName, spacing, contentClassName, headingClassName, headerClassName, descriptionClassName, showcaseClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroProductShowcaseFloatingProps): React.JSX.Element;
|
|
149
164
|
|
|
150
165
|
export { HeroProductShowcaseFloating, type HeroProductShowcaseFloatingProps };
|
|
@@ -545,6 +545,47 @@ function ActionComponent({ action }) {
|
|
|
545
545
|
}
|
|
546
546
|
);
|
|
547
547
|
}
|
|
548
|
+
var SIZE_CLASSES = {
|
|
549
|
+
sm: "max-h-6 sm:max-h-7",
|
|
550
|
+
md: "max-h-8 sm:max-h-9 lg:max-h-10",
|
|
551
|
+
lg: "max-h-10 sm:max-h-12 lg:max-h-14",
|
|
552
|
+
xl: "max-h-12 sm:max-h-14 lg:max-h-16"
|
|
553
|
+
};
|
|
554
|
+
var BrandLogo = ({
|
|
555
|
+
logo,
|
|
556
|
+
logoSlot,
|
|
557
|
+
logoClassName,
|
|
558
|
+
size = "md",
|
|
559
|
+
optixFlowConfig
|
|
560
|
+
}) => {
|
|
561
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
562
|
+
if (!logo || !logo.src) return null;
|
|
563
|
+
const imgElement = /* @__PURE__ */ jsx(
|
|
564
|
+
Img,
|
|
565
|
+
{
|
|
566
|
+
src: logo.src,
|
|
567
|
+
className: cn(
|
|
568
|
+
"w-auto object-contain",
|
|
569
|
+
SIZE_CLASSES[size],
|
|
570
|
+
logo.className
|
|
571
|
+
),
|
|
572
|
+
alt: logo.alt || "Logo",
|
|
573
|
+
optixFlowConfig,
|
|
574
|
+
loading: "eager"
|
|
575
|
+
}
|
|
576
|
+
);
|
|
577
|
+
if (logo.url) {
|
|
578
|
+
return /* @__PURE__ */ jsx(
|
|
579
|
+
Pressable,
|
|
580
|
+
{
|
|
581
|
+
href: logo.url,
|
|
582
|
+
className: cn("flex items-center", logoClassName),
|
|
583
|
+
children: imgElement
|
|
584
|
+
}
|
|
585
|
+
);
|
|
586
|
+
}
|
|
587
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
|
|
588
|
+
};
|
|
548
589
|
function HeroProductShowcaseFloating({
|
|
549
590
|
sectionId = "hero-product-showcase-floating",
|
|
550
591
|
badgeText,
|
|
@@ -572,7 +613,10 @@ function HeroProductShowcaseFloating({
|
|
|
572
613
|
headerClassName,
|
|
573
614
|
descriptionClassName,
|
|
574
615
|
showcaseClassName,
|
|
575
|
-
optixFlowConfig
|
|
616
|
+
optixFlowConfig,
|
|
617
|
+
logo,
|
|
618
|
+
logoSlot,
|
|
619
|
+
logoClassName
|
|
576
620
|
}) {
|
|
577
621
|
const renderBadge = useMemo(() => {
|
|
578
622
|
if (badgeSlot) return badgeSlot;
|
|
@@ -698,6 +742,7 @@ function HeroProductShowcaseFloating({
|
|
|
698
742
|
),
|
|
699
743
|
children: [
|
|
700
744
|
renderBadge,
|
|
745
|
+
(logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
|
|
701
746
|
/* @__PURE__ */ jsx(
|
|
702
747
|
ContentGroup,
|
|
703
748
|
{
|
|
@@ -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
|
{
|