@opensite/ui 2.0.6 → 2.0.8
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-adaptable-product-grid.cjs +1 -1
- package/dist/hero-adaptable-product-grid.js +1 -1
- package/dist/hero-agency-animated-images.cjs +795 -631
- package/dist/hero-agency-animated-images.d.cts +13 -9
- package/dist/hero-agency-animated-images.d.ts +13 -9
- package/dist/hero-agency-animated-images.js +794 -630
- package/dist/hero-business-carousel-dots.cjs +822 -911
- package/dist/hero-business-carousel-dots.d.cts +5 -1
- package/dist/hero-business-carousel-dots.d.ts +5 -1
- package/dist/hero-business-carousel-dots.js +824 -910
- package/dist/hero-coming-soon-countdown.cjs +267 -110
- package/dist/hero-coming-soon-countdown.d.cts +8 -11
- package/dist/hero-coming-soon-countdown.d.ts +8 -11
- package/dist/hero-coming-soon-countdown.js +268 -111
- package/dist/hero-conversation-intelligence.cjs +673 -639
- package/dist/hero-conversation-intelligence.js +663 -629
- package/dist/hero-creative-studio-stacked.cjs +899 -861
- package/dist/hero-creative-studio-stacked.d.cts +16 -15
- package/dist/hero-creative-studio-stacked.d.ts +16 -15
- package/dist/hero-creative-studio-stacked.js +897 -859
- package/dist/hero-customer-support-layered.cjs +89 -76
- package/dist/hero-customer-support-layered.js +89 -76
- package/dist/hero-developer-tools-code.cjs +721 -669
- package/dist/hero-developer-tools-code.d.cts +5 -1
- package/dist/hero-developer-tools-code.d.ts +5 -1
- package/dist/hero-developer-tools-code.js +719 -667
- package/dist/hero-digital-agency-fullscreen.cjs +722 -680
- package/dist/hero-digital-agency-fullscreen.d.cts +4 -20
- package/dist/hero-digital-agency-fullscreen.d.ts +4 -20
- package/dist/hero-digital-agency-fullscreen.js +722 -680
- package/dist/hero-ecommerce-product-showcase.cjs +892 -846
- package/dist/hero-ecommerce-product-showcase.js +889 -843
- package/dist/hero-enterprise-security.cjs +168 -132
- package/dist/hero-enterprise-security.d.cts +12 -19
- package/dist/hero-enterprise-security.d.ts +12 -19
- package/dist/hero-enterprise-security.js +168 -132
- package/dist/hero-event-registration.cjs +39 -39
- package/dist/hero-event-registration.js +39 -39
- package/dist/hero-fullscreen-background-image.cjs +3 -2
- package/dist/hero-fullscreen-background-image.js +3 -2
- package/dist/hero-fullscreen-logo-cta.cjs +4 -2
- package/dist/hero-fullscreen-logo-cta.js +4 -2
- package/dist/hero-innovation-image-grid.cjs +2 -2
- package/dist/hero-innovation-image-grid.js +2 -2
- package/dist/hero-mental-health-team.cjs +17 -17
- package/dist/hero-mental-health-team.d.cts +5 -5
- package/dist/hero-mental-health-team.d.ts +5 -5
- package/dist/hero-mental-health-team.js +17 -17
- package/dist/hero-mobile-app-download.cjs +2 -2
- package/dist/hero-mobile-app-download.js +2 -2
- package/dist/hero-newsletter-minimal.cjs +97 -57
- package/dist/hero-newsletter-minimal.d.cts +5 -1
- package/dist/hero-newsletter-minimal.d.ts +5 -1
- package/dist/hero-newsletter-minimal.js +97 -57
- package/dist/hero-shared-inbox-layered.cjs +522 -42
- package/dist/hero-shared-inbox-layered.d.cts +20 -4
- package/dist/hero-shared-inbox-layered.d.ts +20 -4
- package/dist/hero-shared-inbox-layered.js +505 -40
- package/dist/hero-startup-launch-cta.cjs +859 -816
- package/dist/hero-startup-launch-cta.d.cts +3 -2
- package/dist/hero-startup-launch-cta.d.ts +3 -2
- package/dist/hero-startup-launch-cta.js +858 -815
- package/dist/hero-therapy-testimonial-grid.cjs +1 -1
- package/dist/hero-therapy-testimonial-grid.js +1 -1
- package/dist/hero-video-dialog-gradient-BnCFFec0.d.ts +99 -0
- package/dist/hero-video-dialog-gradient-Dapebkzu.d.cts +99 -0
- package/dist/hero-video-dialog-gradient.cjs +24 -23
- package/dist/hero-video-dialog-gradient.d.cts +4 -94
- package/dist/hero-video-dialog-gradient.d.ts +4 -94
- package/dist/hero-video-dialog-gradient.js +24 -23
- package/dist/hero-welcome-asymmetric-images.cjs +652 -617
- package/dist/hero-welcome-asymmetric-images.d.cts +5 -1
- package/dist/hero-welcome-asymmetric-images.d.ts +5 -1
- package/dist/hero-welcome-asymmetric-images.js +651 -616
- package/dist/registry.cjs +1111 -848
- package/dist/registry.js +1111 -848
- package/package.json +1 -1
package/dist/registry.cjs
CHANGED
|
@@ -53588,7 +53588,7 @@ function HeroFullscreenBackgroundImage({
|
|
|
53588
53588
|
patternOpacity,
|
|
53589
53589
|
className,
|
|
53590
53590
|
containerClassName = "px-0 sm:px-0 lg:px-0 max-w-full relative z-10 h-screen w-screen flex justify-center items-center",
|
|
53591
|
-
contentClassName = "
|
|
53591
|
+
contentClassName = "",
|
|
53592
53592
|
headingClassName,
|
|
53593
53593
|
descriptionClassName,
|
|
53594
53594
|
actionsClassName,
|
|
@@ -53628,7 +53628,8 @@ function HeroFullscreenBackgroundImage({
|
|
|
53628
53628
|
"div",
|
|
53629
53629
|
{
|
|
53630
53630
|
className: cn(
|
|
53631
|
-
"
|
|
53631
|
+
"flex flex-col gap-4 md:gap-6 px-6 pt-28 pb-6 md:pt-0 md:pb-0",
|
|
53632
|
+
"relative z-30 m-auto max-w-full md:max-w-md flex-col items-center justify-center text-center",
|
|
53632
53633
|
contentClassName
|
|
53633
53634
|
),
|
|
53634
53635
|
children: [
|
|
@@ -53681,7 +53682,7 @@ function HeroFullscreenLogoCta({
|
|
|
53681
53682
|
patternOpacity,
|
|
53682
53683
|
className,
|
|
53683
53684
|
containerClassName = "px-0 sm:px-0 lg:px-0 max-w-full relative z-10 h-screen w-screen flex justify-center items-center",
|
|
53684
|
-
contentClassName
|
|
53685
|
+
contentClassName,
|
|
53685
53686
|
headingClassName,
|
|
53686
53687
|
descriptionClassName,
|
|
53687
53688
|
optixFlowConfig
|
|
@@ -53751,7 +53752,9 @@ function HeroFullscreenLogoCta({
|
|
|
53751
53752
|
"div",
|
|
53752
53753
|
{
|
|
53753
53754
|
className: cn(
|
|
53754
|
-
"
|
|
53755
|
+
"z-30 m-auto max-w-full items-start justify-center flex flex-col",
|
|
53756
|
+
"relative gap-12 md:gap-6 px-5",
|
|
53757
|
+
"pt-8 pb-6 md:pt-0 md:pb-0",
|
|
53755
53758
|
contentClassName
|
|
53756
53759
|
),
|
|
53757
53760
|
children: [
|
|
@@ -54417,7 +54420,7 @@ function HeroAdaptableProductGrid({
|
|
|
54417
54420
|
patternOpacity,
|
|
54418
54421
|
className,
|
|
54419
54422
|
containerClassName,
|
|
54420
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "
|
|
54423
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pt-8 md:pt-0", children: [
|
|
54421
54424
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
54422
54425
|
"h1",
|
|
54423
54426
|
{
|
|
@@ -56988,11 +56991,11 @@ function HeroInnovationImageGrid({
|
|
|
56988
56991
|
patternOpacity,
|
|
56989
56992
|
className,
|
|
56990
56993
|
containerClassName,
|
|
56991
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-10 md:pt-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-22.5 lg:grid-cols-2", children: [
|
|
56994
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-10 md:pt-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-12 md:gap-22.5 lg:grid-cols-2", children: [
|
|
56992
56995
|
/* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
56993
56996
|
"div",
|
|
56994
56997
|
{
|
|
56995
|
-
className: cn("flex flex-col gap-
|
|
56998
|
+
className: cn("flex flex-col gap-2 md:gap-12", contentClassName),
|
|
56996
56999
|
children: [
|
|
56997
57000
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
56998
57001
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -57056,6 +57059,7 @@ function HeroVideoDialogGradient({
|
|
|
57056
57059
|
pattern,
|
|
57057
57060
|
onVideoClick,
|
|
57058
57061
|
patternOpacity,
|
|
57062
|
+
actionsClassName,
|
|
57059
57063
|
className,
|
|
57060
57064
|
headingClassName,
|
|
57061
57065
|
descriptionClassName,
|
|
@@ -57109,16 +57113,7 @@ function HeroVideoDialogGradient({
|
|
|
57109
57113
|
),
|
|
57110
57114
|
children: heading
|
|
57111
57115
|
}
|
|
57112
|
-
) :
|
|
57113
|
-
"h1",
|
|
57114
|
-
{
|
|
57115
|
-
className: cn(
|
|
57116
|
-
"max-w-[920px] text-center text-4xl leading-tight font-semibold md:text-6xl lg:text-7xl text-balance",
|
|
57117
|
-
headingClassName
|
|
57118
|
-
),
|
|
57119
|
-
children: heading
|
|
57120
|
-
}
|
|
57121
|
-
)),
|
|
57116
|
+
) : heading),
|
|
57122
57117
|
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
57123
57118
|
"p",
|
|
57124
57119
|
{
|
|
@@ -57128,20 +57123,29 @@ function HeroVideoDialogGradient({
|
|
|
57128
57123
|
),
|
|
57129
57124
|
children: description
|
|
57130
57125
|
}
|
|
57131
|
-
) :
|
|
57126
|
+
) : description)
|
|
57132
57127
|
] }),
|
|
57133
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
57134
|
-
|
|
57135
|
-
|
|
57136
|
-
|
|
57137
|
-
|
|
57138
|
-
|
|
57139
|
-
|
|
57140
|
-
|
|
57141
|
-
|
|
57142
|
-
|
|
57143
|
-
|
|
57144
|
-
|
|
57128
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
57129
|
+
"div",
|
|
57130
|
+
{
|
|
57131
|
+
className: cn(
|
|
57132
|
+
"flex flex-col md:flex-row flex-wrap gap-4",
|
|
57133
|
+
actionsClassName
|
|
57134
|
+
),
|
|
57135
|
+
children: [
|
|
57136
|
+
videoAction && videoDialog?.videoUrl ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
57137
|
+
ActionComponent,
|
|
57138
|
+
{
|
|
57139
|
+
action: {
|
|
57140
|
+
...videoAction,
|
|
57141
|
+
onClick: handleVideoClick
|
|
57142
|
+
}
|
|
57143
|
+
}
|
|
57144
|
+
) : null,
|
|
57145
|
+
actions?.map((action, index) => /* @__PURE__ */ jsxRuntime.jsx(ActionComponent, { action }, index))
|
|
57146
|
+
]
|
|
57147
|
+
}
|
|
57148
|
+
)
|
|
57145
57149
|
] }),
|
|
57146
57150
|
renderImage
|
|
57147
57151
|
] })
|
|
@@ -57718,7 +57722,7 @@ function HeroTherapyTestimonialGrid({
|
|
|
57718
57722
|
"p",
|
|
57719
57723
|
{
|
|
57720
57724
|
className: cn(
|
|
57721
|
-
"text-center text-lg md:text-xl",
|
|
57725
|
+
"text-center text-lg md:text-xl text-balance",
|
|
57722
57726
|
descriptionClassName
|
|
57723
57727
|
),
|
|
57724
57728
|
children: description
|
|
@@ -57747,53 +57751,53 @@ function HeroMentalHealthTeam({
|
|
|
57747
57751
|
actionsSlot,
|
|
57748
57752
|
actionsClassName,
|
|
57749
57753
|
heading,
|
|
57750
|
-
|
|
57751
|
-
|
|
57754
|
+
smallImages,
|
|
57755
|
+
smallImagesSlot,
|
|
57752
57756
|
testimonial,
|
|
57753
57757
|
testimonialSlot,
|
|
57754
57758
|
featureImage,
|
|
57755
57759
|
featureImageSlot,
|
|
57756
57760
|
background,
|
|
57757
|
-
spacing = "xl",
|
|
57758
57761
|
pattern,
|
|
57759
57762
|
patternOpacity,
|
|
57760
57763
|
className,
|
|
57764
|
+
spacing = "xl",
|
|
57761
57765
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
57762
57766
|
headerClassName,
|
|
57763
57767
|
headingClassName,
|
|
57764
57768
|
gridClassName,
|
|
57765
57769
|
optixFlowConfig
|
|
57766
57770
|
}) {
|
|
57767
|
-
const
|
|
57768
|
-
if (
|
|
57769
|
-
if (!
|
|
57771
|
+
const renderSmallImages = React22.useMemo(() => {
|
|
57772
|
+
if (smallImagesSlot) return smallImagesSlot;
|
|
57773
|
+
if (!smallImages || smallImages.length === 0) return null;
|
|
57770
57774
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
57771
|
-
|
|
57775
|
+
smallImages[0] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-[1/2] row-[1/2] w-full", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-full max-h-77.5 w-full overflow-hidden rounded-2xl", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
57772
57776
|
img.Img,
|
|
57773
57777
|
{
|
|
57774
|
-
src:
|
|
57775
|
-
alt:
|
|
57778
|
+
src: smallImages[0].src,
|
|
57779
|
+
alt: smallImages[0].alt,
|
|
57776
57780
|
className: cn(
|
|
57777
57781
|
"block h-full w-full object-cover object-center",
|
|
57778
|
-
|
|
57782
|
+
smallImages[0].className
|
|
57779
57783
|
),
|
|
57780
57784
|
optixFlowConfig
|
|
57781
57785
|
}
|
|
57782
57786
|
) }) }),
|
|
57783
|
-
|
|
57787
|
+
smallImages[1] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-[2/3] row-[1/2] w-full md:col-[2/3] md:row-[1/2]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-full max-h-77.5 w-full overflow-hidden rounded-2xl", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
57784
57788
|
img.Img,
|
|
57785
57789
|
{
|
|
57786
|
-
src:
|
|
57787
|
-
alt:
|
|
57790
|
+
src: smallImages[1].src,
|
|
57791
|
+
alt: smallImages[1].alt,
|
|
57788
57792
|
className: cn(
|
|
57789
57793
|
"block h-full w-full object-cover object-center",
|
|
57790
|
-
|
|
57794
|
+
smallImages[1].className
|
|
57791
57795
|
),
|
|
57792
57796
|
optixFlowConfig
|
|
57793
57797
|
}
|
|
57794
57798
|
) }) })
|
|
57795
57799
|
] });
|
|
57796
|
-
}, [
|
|
57800
|
+
}, [smallImagesSlot, smallImages, optixFlowConfig]);
|
|
57797
57801
|
const renderTestimonial = React22.useMemo(() => {
|
|
57798
57802
|
if (testimonialSlot) return testimonialSlot;
|
|
57799
57803
|
if (!testimonial) return null;
|
|
@@ -57883,7 +57887,7 @@ function HeroMentalHealthTeam({
|
|
|
57883
57887
|
"p",
|
|
57884
57888
|
{
|
|
57885
57889
|
className: cn(
|
|
57886
|
-
"text-center text-lg md:text-xl",
|
|
57890
|
+
"text-center text-lg md:text-xl text-balance",
|
|
57887
57891
|
descriptionClassName
|
|
57888
57892
|
),
|
|
57889
57893
|
children: description
|
|
@@ -57908,7 +57912,7 @@ function HeroMentalHealthTeam({
|
|
|
57908
57912
|
gridClassName
|
|
57909
57913
|
),
|
|
57910
57914
|
children: [
|
|
57911
|
-
|
|
57915
|
+
renderSmallImages,
|
|
57912
57916
|
renderTestimonial,
|
|
57913
57917
|
renderFeatureImage
|
|
57914
57918
|
]
|
|
@@ -58213,67 +58217,122 @@ function HeroBusinessOperationsMosaic({
|
|
|
58213
58217
|
}
|
|
58214
58218
|
);
|
|
58215
58219
|
}
|
|
58220
|
+
var imageAnimationVariants = [
|
|
58221
|
+
// Top-left: slides in from left + up
|
|
58222
|
+
{
|
|
58223
|
+
hidden: { opacity: 0, x: -40, y: -30, scale: 0.92 },
|
|
58224
|
+
visible: { opacity: 1, x: 0, y: 0, scale: 1 }
|
|
58225
|
+
},
|
|
58226
|
+
// Bottom-left: slides in from left + down
|
|
58227
|
+
{
|
|
58228
|
+
hidden: { opacity: 0, x: -30, y: 40, scale: 0.92 },
|
|
58229
|
+
visible: { opacity: 1, x: 0, y: 0, scale: 1 }
|
|
58230
|
+
},
|
|
58231
|
+
// Top-right: slides in from right + up
|
|
58232
|
+
{
|
|
58233
|
+
hidden: { opacity: 0, x: 40, y: -30, scale: 0.92 },
|
|
58234
|
+
visible: { opacity: 1, x: 0, y: 0, scale: 1 }
|
|
58235
|
+
},
|
|
58236
|
+
// Bottom-right: slides in from right + down
|
|
58237
|
+
{
|
|
58238
|
+
hidden: { opacity: 0, x: 30, y: 40, scale: 0.92 },
|
|
58239
|
+
visible: { opacity: 1, x: 0, y: 0, scale: 1 }
|
|
58240
|
+
}
|
|
58241
|
+
];
|
|
58242
|
+
var staggerDelays = [0, 0.15, 0.1, 0.25];
|
|
58243
|
+
var imageTransition = {
|
|
58244
|
+
type: "spring",
|
|
58245
|
+
stiffness: 80,
|
|
58246
|
+
damping: 20,
|
|
58247
|
+
mass: 0.8
|
|
58248
|
+
};
|
|
58216
58249
|
function HeroAgencyAnimatedImages({
|
|
58217
58250
|
heading,
|
|
58218
|
-
|
|
58219
|
-
|
|
58220
|
-
|
|
58251
|
+
description,
|
|
58252
|
+
descriptionClassName,
|
|
58253
|
+
actions,
|
|
58254
|
+
actionsSlot,
|
|
58255
|
+
actionsClassName,
|
|
58221
58256
|
images,
|
|
58222
58257
|
imagesSlot,
|
|
58223
58258
|
background,
|
|
58224
|
-
spacing,
|
|
58259
|
+
spacing = "xl",
|
|
58260
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
58225
58261
|
pattern,
|
|
58226
58262
|
patternOpacity,
|
|
58227
58263
|
className,
|
|
58228
|
-
containerClassName,
|
|
58229
58264
|
contentClassName,
|
|
58230
58265
|
headingClassName,
|
|
58231
|
-
subheadingClassName,
|
|
58232
58266
|
imagesContainerClassName,
|
|
58233
58267
|
optixFlowConfig
|
|
58234
58268
|
}) {
|
|
58235
|
-
const renderAction = React22.useMemo(() => {
|
|
58236
|
-
if (actionSlot) return actionSlot;
|
|
58237
|
-
if (!action) return null;
|
|
58238
|
-
const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
|
|
58239
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
58240
|
-
Pressable,
|
|
58241
|
-
{
|
|
58242
|
-
asButton: true,
|
|
58243
|
-
className: actionClassName,
|
|
58244
|
-
...pressableProps,
|
|
58245
|
-
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
58246
|
-
icon,
|
|
58247
|
-
label,
|
|
58248
|
-
iconAfter
|
|
58249
|
-
] })
|
|
58250
|
-
}
|
|
58251
|
-
);
|
|
58252
|
-
}, [actionSlot, action]);
|
|
58253
58269
|
const renderImages = React22.useMemo(() => {
|
|
58254
58270
|
if (imagesSlot) return imagesSlot;
|
|
58255
58271
|
if (!images || images.length === 0) return null;
|
|
58256
58272
|
const leftImages = images.slice(0, 2);
|
|
58257
58273
|
const rightImages = images.slice(2, 4);
|
|
58258
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid w-full grid-cols-2 items-center justify-center gap-
|
|
58259
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-end justify-center gap-
|
|
58260
|
-
|
|
58261
|
-
|
|
58262
|
-
|
|
58263
|
-
|
|
58264
|
-
|
|
58265
|
-
|
|
58266
|
-
|
|
58267
|
-
|
|
58268
|
-
|
|
58269
|
-
|
|
58270
|
-
|
|
58271
|
-
|
|
58272
|
-
|
|
58273
|
-
|
|
58274
|
-
|
|
58275
|
-
|
|
58276
|
-
|
|
58274
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid w-full grid-cols-2 items-center justify-center gap-5", children: [
|
|
58275
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-end justify-center gap-5 pt-8", children: leftImages.map((image, index) => {
|
|
58276
|
+
const variant = imageAnimationVariants[index];
|
|
58277
|
+
const delay = staggerDelays[index];
|
|
58278
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
58279
|
+
framerMotion.motion.div,
|
|
58280
|
+
{
|
|
58281
|
+
initial: variant.hidden,
|
|
58282
|
+
whileInView: variant.visible,
|
|
58283
|
+
viewport: { once: true, amount: 0.3 },
|
|
58284
|
+
transition: { ...imageTransition, delay },
|
|
58285
|
+
className: "group relative overflow-hidden rounded-xl shadow-lg",
|
|
58286
|
+
children: [
|
|
58287
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
58288
|
+
img.Img,
|
|
58289
|
+
{
|
|
58290
|
+
src: image.src,
|
|
58291
|
+
alt: image.alt,
|
|
58292
|
+
className: cn(
|
|
58293
|
+
"block h-full w-full object-cover object-center transition-transform duration-500 ease-out group-hover:scale-105",
|
|
58294
|
+
image.className
|
|
58295
|
+
),
|
|
58296
|
+
optixFlowConfig
|
|
58297
|
+
}
|
|
58298
|
+
),
|
|
58299
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-0 rounded-xl ring-1 ring-inset ring-foreground/5 transition-all duration-500 group-hover:ring-foreground/10" })
|
|
58300
|
+
]
|
|
58301
|
+
},
|
|
58302
|
+
index
|
|
58303
|
+
);
|
|
58304
|
+
}) }),
|
|
58305
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-start justify-center gap-5 pb-8", children: rightImages.map((image, index) => {
|
|
58306
|
+
const globalIndex = index + 2;
|
|
58307
|
+
const variant = imageAnimationVariants[globalIndex];
|
|
58308
|
+
const delay = staggerDelays[globalIndex];
|
|
58309
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
58310
|
+
framerMotion.motion.div,
|
|
58311
|
+
{
|
|
58312
|
+
initial: variant.hidden,
|
|
58313
|
+
whileInView: variant.visible,
|
|
58314
|
+
viewport: { once: true, amount: 0.3 },
|
|
58315
|
+
transition: { ...imageTransition, delay },
|
|
58316
|
+
className: "group relative overflow-hidden rounded-xl shadow-lg",
|
|
58317
|
+
children: [
|
|
58318
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
58319
|
+
img.Img,
|
|
58320
|
+
{
|
|
58321
|
+
src: image.src,
|
|
58322
|
+
alt: image.alt,
|
|
58323
|
+
className: cn(
|
|
58324
|
+
"block h-full w-full object-cover object-center transition-transform duration-500 ease-out group-hover:scale-105",
|
|
58325
|
+
image.className
|
|
58326
|
+
),
|
|
58327
|
+
optixFlowConfig
|
|
58328
|
+
}
|
|
58329
|
+
),
|
|
58330
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-0 rounded-xl ring-1 ring-inset ring-foreground/5 transition-all duration-500 group-hover:ring-foreground/10" })
|
|
58331
|
+
]
|
|
58332
|
+
},
|
|
58333
|
+
index
|
|
58334
|
+
);
|
|
58335
|
+
}) })
|
|
58277
58336
|
] });
|
|
58278
58337
|
}, [imagesSlot, images, optixFlowConfig]);
|
|
58279
58338
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -58284,13 +58343,57 @@ function HeroAgencyAnimatedImages({
|
|
|
58284
58343
|
pattern,
|
|
58285
58344
|
patternOpacity,
|
|
58286
58345
|
className,
|
|
58287
|
-
|
|
58288
|
-
|
|
58289
|
-
|
|
58290
|
-
|
|
58291
|
-
|
|
58292
|
-
|
|
58293
|
-
|
|
58346
|
+
containerClassName,
|
|
58347
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-10 md:pt-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid w-full grid-cols-1 items-center justify-between gap-14 lg:grid-cols-2", children: [
|
|
58348
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
58349
|
+
"div",
|
|
58350
|
+
{
|
|
58351
|
+
className: cn(
|
|
58352
|
+
"flex w-full max-w-125 flex-col gap-8 md:gap-14 lg:max-w-full",
|
|
58353
|
+
contentClassName
|
|
58354
|
+
),
|
|
58355
|
+
children: [
|
|
58356
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
58357
|
+
"h1",
|
|
58358
|
+
{
|
|
58359
|
+
className: cn(
|
|
58360
|
+
"text-5xl md:text-6xl lg:text-7xl xl:text-[5rem] text-left text-pretty",
|
|
58361
|
+
headingClassName
|
|
58362
|
+
),
|
|
58363
|
+
children: heading
|
|
58364
|
+
}
|
|
58365
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
58366
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
58367
|
+
"p",
|
|
58368
|
+
{
|
|
58369
|
+
className: cn(
|
|
58370
|
+
"text-left text-lg md:text-xl text-balance",
|
|
58371
|
+
descriptionClassName
|
|
58372
|
+
),
|
|
58373
|
+
children: description
|
|
58374
|
+
}
|
|
58375
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
58376
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
58377
|
+
BlockActions,
|
|
58378
|
+
{
|
|
58379
|
+
actions,
|
|
58380
|
+
actionsSlot,
|
|
58381
|
+
actionsClassName
|
|
58382
|
+
}
|
|
58383
|
+
)
|
|
58384
|
+
]
|
|
58385
|
+
}
|
|
58386
|
+
),
|
|
58387
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
58388
|
+
"div",
|
|
58389
|
+
{
|
|
58390
|
+
className: cn(
|
|
58391
|
+
"mx-auto w-full max-w-211.5 lg:mx-0",
|
|
58392
|
+
imagesContainerClassName
|
|
58393
|
+
),
|
|
58394
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(AspectRatio, { ratio: 1.049627792 / 1, children: renderImages })
|
|
58395
|
+
}
|
|
58396
|
+
)
|
|
58294
58397
|
] }) })
|
|
58295
58398
|
}
|
|
58296
58399
|
);
|
|
@@ -58300,6 +58403,7 @@ function HeroWelcomeAsymmetricImages({
|
|
|
58300
58403
|
description,
|
|
58301
58404
|
actions,
|
|
58302
58405
|
actionsSlot,
|
|
58406
|
+
actionsClassName,
|
|
58303
58407
|
images,
|
|
58304
58408
|
imagesSlot,
|
|
58305
58409
|
background,
|
|
@@ -58313,25 +58417,6 @@ function HeroWelcomeAsymmetricImages({
|
|
|
58313
58417
|
descriptionClassName,
|
|
58314
58418
|
optixFlowConfig
|
|
58315
58419
|
}) {
|
|
58316
|
-
const renderActions = React22.useMemo(() => {
|
|
58317
|
-
if (actionsSlot) return actionsSlot;
|
|
58318
|
-
if (!actions || actions.length === 0) return null;
|
|
58319
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-4 sm:flex-row", children: actions.map((action, idx) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
58320
|
-
Pressable,
|
|
58321
|
-
{
|
|
58322
|
-
href: action.href,
|
|
58323
|
-
onClick: action.onClick,
|
|
58324
|
-
asButton: true,
|
|
58325
|
-
variant: action.variant || "default",
|
|
58326
|
-
size: action.size || "lg",
|
|
58327
|
-
children: [
|
|
58328
|
-
action.label,
|
|
58329
|
-
action.icon
|
|
58330
|
-
]
|
|
58331
|
-
},
|
|
58332
|
-
idx
|
|
58333
|
-
)) });
|
|
58334
|
-
}, [actionsSlot, actions]);
|
|
58335
58420
|
const renderImages = React22.useMemo(() => {
|
|
58336
58421
|
if (imagesSlot) return imagesSlot;
|
|
58337
58422
|
if (!images || images.length < 4) return null;
|
|
@@ -58400,36 +58485,25 @@ function HeroWelcomeAsymmetricImages({
|
|
|
58400
58485
|
),
|
|
58401
58486
|
children: heading
|
|
58402
58487
|
}
|
|
58403
|
-
) :
|
|
58404
|
-
"h1",
|
|
58405
|
-
{
|
|
58406
|
-
className: cn(
|
|
58407
|
-
"mb-8 text-4xl font-normal text-balance md:text-7xl",
|
|
58408
|
-
headingClassName
|
|
58409
|
-
),
|
|
58410
|
-
children: heading
|
|
58411
|
-
}
|
|
58412
|
-
)),
|
|
58488
|
+
) : heading),
|
|
58413
58489
|
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
58414
58490
|
"p",
|
|
58415
58491
|
{
|
|
58416
58492
|
className: cn(
|
|
58417
|
-
"mb-12 max-w-[70%] text-xl font-normal text-balance",
|
|
58493
|
+
"mb-12 max-w-full md:max-w-[70%] text-lg md:text-xl font-normal text-balance",
|
|
58418
58494
|
descriptionClassName
|
|
58419
58495
|
),
|
|
58420
58496
|
children: description
|
|
58421
58497
|
}
|
|
58422
|
-
) :
|
|
58423
|
-
|
|
58498
|
+
) : description),
|
|
58499
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
58500
|
+
BlockActions,
|
|
58424
58501
|
{
|
|
58425
|
-
|
|
58426
|
-
|
|
58427
|
-
|
|
58428
|
-
),
|
|
58429
|
-
children: description
|
|
58502
|
+
actions,
|
|
58503
|
+
actionsSlot,
|
|
58504
|
+
actionsClassName
|
|
58430
58505
|
}
|
|
58431
|
-
)
|
|
58432
|
-
renderActions
|
|
58506
|
+
)
|
|
58433
58507
|
] }),
|
|
58434
58508
|
renderImages
|
|
58435
58509
|
] }) })
|
|
@@ -58439,6 +58513,9 @@ function HeroWelcomeAsymmetricImages({
|
|
|
58439
58513
|
function HeroStartupLaunchCta({
|
|
58440
58514
|
badge,
|
|
58441
58515
|
badgeIcon,
|
|
58516
|
+
badgeCard,
|
|
58517
|
+
badgeCardSlot,
|
|
58518
|
+
badgeClassName,
|
|
58442
58519
|
heading,
|
|
58443
58520
|
description,
|
|
58444
58521
|
actions,
|
|
@@ -58448,17 +58525,14 @@ function HeroStartupLaunchCta({
|
|
|
58448
58525
|
socialProofText,
|
|
58449
58526
|
imageSrc,
|
|
58450
58527
|
imageAlt,
|
|
58451
|
-
badgeCard,
|
|
58452
|
-
badgeCardSlot,
|
|
58453
58528
|
background,
|
|
58454
58529
|
pattern,
|
|
58455
58530
|
patternOpacity,
|
|
58456
58531
|
patternClassName,
|
|
58457
58532
|
className,
|
|
58458
58533
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
58459
|
-
spacing = "
|
|
58534
|
+
spacing = "xl",
|
|
58460
58535
|
contentClassName,
|
|
58461
|
-
badgeClassName,
|
|
58462
58536
|
headingClassName,
|
|
58463
58537
|
descriptionClassName,
|
|
58464
58538
|
actionsClassName,
|
|
@@ -58466,34 +58540,6 @@ function HeroStartupLaunchCta({
|
|
|
58466
58540
|
imageClassName,
|
|
58467
58541
|
optixFlowConfig
|
|
58468
58542
|
}) {
|
|
58469
|
-
const renderActions = React22.useMemo(() => {
|
|
58470
|
-
if (actionsSlot) return actionsSlot;
|
|
58471
|
-
if (!actions || actions.length === 0) return null;
|
|
58472
|
-
return actions.map((action, index) => {
|
|
58473
|
-
const {
|
|
58474
|
-
label,
|
|
58475
|
-
icon,
|
|
58476
|
-
iconAfter,
|
|
58477
|
-
children,
|
|
58478
|
-
className: actionClassName,
|
|
58479
|
-
...pressableProps
|
|
58480
|
-
} = action;
|
|
58481
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
58482
|
-
Pressable,
|
|
58483
|
-
{
|
|
58484
|
-
asButton: true,
|
|
58485
|
-
className: actionClassName,
|
|
58486
|
-
...pressableProps,
|
|
58487
|
-
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
58488
|
-
icon,
|
|
58489
|
-
label,
|
|
58490
|
-
iconAfter
|
|
58491
|
-
] })
|
|
58492
|
-
},
|
|
58493
|
-
index
|
|
58494
|
-
);
|
|
58495
|
-
});
|
|
58496
|
-
}, [actionsSlot, actions]);
|
|
58497
58543
|
const renderAvatars = React22.useMemo(() => {
|
|
58498
58544
|
if (avatarsSlot) return avatarsSlot;
|
|
58499
58545
|
if (!avatars || avatars.length === 0) return null;
|
|
@@ -58540,7 +58586,7 @@ function HeroStartupLaunchCta({
|
|
|
58540
58586
|
patternClassName,
|
|
58541
58587
|
className,
|
|
58542
58588
|
containerClassName,
|
|
58543
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
58589
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-8 md:pt-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid items-center gap-12 lg:grid-cols-2 lg:gap-20", children: [
|
|
58544
58590
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-8", contentClassName), children: [
|
|
58545
58591
|
badge && /* @__PURE__ */ jsxRuntime.jsxs(Badge, { className: cn("px-4", badgeClassName), children: [
|
|
58546
58592
|
badgeIcon,
|
|
@@ -58550,21 +58596,28 @@ function HeroStartupLaunchCta({
|
|
|
58550
58596
|
"h1",
|
|
58551
58597
|
{
|
|
58552
58598
|
className: cn(
|
|
58553
|
-
"text-4xl font-
|
|
58599
|
+
"mb-8 text-4xl font-normal text-balance md:text-7xl",
|
|
58554
58600
|
headingClassName
|
|
58555
58601
|
),
|
|
58556
58602
|
children: heading
|
|
58557
58603
|
}
|
|
58558
|
-
) :
|
|
58559
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
58560
|
-
|
|
58561
|
-
"div",
|
|
58604
|
+
) : heading),
|
|
58605
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
58606
|
+
"p",
|
|
58562
58607
|
{
|
|
58563
58608
|
className: cn(
|
|
58564
|
-
"
|
|
58565
|
-
|
|
58609
|
+
"mb-12 max-w-full md:max-w-[70%] text-lg md:text-xl font-normal text-balance",
|
|
58610
|
+
descriptionClassName
|
|
58566
58611
|
),
|
|
58567
|
-
children:
|
|
58612
|
+
children: description
|
|
58613
|
+
}
|
|
58614
|
+
) : description),
|
|
58615
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
58616
|
+
BlockActions,
|
|
58617
|
+
{
|
|
58618
|
+
actions,
|
|
58619
|
+
actionsSlot,
|
|
58620
|
+
actionsClassName
|
|
58568
58621
|
}
|
|
58569
58622
|
),
|
|
58570
58623
|
(avatarsSlot || avatars || socialProofText) && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -58607,90 +58660,61 @@ function HeroStartupLaunchCta({
|
|
|
58607
58660
|
);
|
|
58608
58661
|
}
|
|
58609
58662
|
function HeroEnterpriseSecurity({
|
|
58610
|
-
|
|
58663
|
+
badge,
|
|
58611
58664
|
badgeIcon,
|
|
58612
|
-
|
|
58665
|
+
badgeClassName,
|
|
58613
58666
|
heading,
|
|
58614
58667
|
description,
|
|
58615
58668
|
actions,
|
|
58616
58669
|
actionsSlot,
|
|
58617
58670
|
features,
|
|
58618
58671
|
featuresSlot,
|
|
58619
|
-
logos,
|
|
58620
|
-
logosSlot,
|
|
58621
58672
|
background,
|
|
58622
|
-
spacing,
|
|
58623
58673
|
pattern,
|
|
58624
58674
|
patternOpacity,
|
|
58675
|
+
patternClassName,
|
|
58625
58676
|
className,
|
|
58626
|
-
containerClassName,
|
|
58677
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
58678
|
+
spacing = "xl",
|
|
58627
58679
|
contentClassName,
|
|
58628
58680
|
headingClassName,
|
|
58629
58681
|
descriptionClassName,
|
|
58630
58682
|
actionsClassName,
|
|
58631
|
-
featuresClassName
|
|
58632
|
-
logosClassName,
|
|
58633
|
-
optixFlowConfig
|
|
58683
|
+
featuresClassName
|
|
58634
58684
|
}) {
|
|
58635
|
-
const renderBadge = React22.useMemo(() => {
|
|
58636
|
-
if (badgeSlot) return badgeSlot;
|
|
58637
|
-
if (!badgeText && !badgeIcon) return null;
|
|
58638
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(
|
|
58639
|
-
"inline-flex items-center gap-2 rounded-full border border-border px-4 py-2 text-sm",
|
|
58640
|
-
getNestedCardBg(background, "muted"),
|
|
58641
|
-
getNestedCardTextColor(background)
|
|
58642
|
-
), children: [
|
|
58643
|
-
badgeIcon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: badgeIcon, size: 16, className: "text-success" }),
|
|
58644
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children: badgeText })
|
|
58645
|
-
] });
|
|
58646
|
-
}, [badgeSlot, badgeText, badgeIcon]);
|
|
58647
|
-
const renderActions = React22.useMemo(() => {
|
|
58648
|
-
if (actionsSlot) return actionsSlot;
|
|
58649
|
-
if (!actions || actions.length === 0) return null;
|
|
58650
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-10 flex flex-col items-center gap-4 sm:flex-row sm:justify-center", actionsClassName), children: actions.map((action, index) => {
|
|
58651
|
-
const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
|
|
58652
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
58653
|
-
Pressable,
|
|
58654
|
-
{
|
|
58655
|
-
asButton: true,
|
|
58656
|
-
className: actionClassName,
|
|
58657
|
-
...pressableProps,
|
|
58658
|
-
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
58659
|
-
icon,
|
|
58660
|
-
label,
|
|
58661
|
-
iconAfter
|
|
58662
|
-
] })
|
|
58663
|
-
},
|
|
58664
|
-
index
|
|
58665
|
-
);
|
|
58666
|
-
}) });
|
|
58667
|
-
}, [actionsSlot, actions, actionsClassName]);
|
|
58668
58685
|
const renderFeatures = React22.useMemo(() => {
|
|
58669
58686
|
if (featuresSlot) return featuresSlot;
|
|
58670
58687
|
if (!features || features.length === 0) return null;
|
|
58671
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-20 grid gap-8 md:grid-cols-3", featuresClassName), children: features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
58672
|
-
|
|
58673
|
-
|
|
58674
|
-
|
|
58675
|
-
|
|
58688
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-20 grid gap-8 md:grid-cols-3", featuresClassName), children: features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
58689
|
+
Pressable,
|
|
58690
|
+
{
|
|
58691
|
+
href: feature.href,
|
|
58692
|
+
className: cn("rounded-2xl border border-border p-6 text-center"),
|
|
58693
|
+
children: [
|
|
58694
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
58695
|
+
"div",
|
|
58696
|
+
{
|
|
58697
|
+
className: cn(
|
|
58698
|
+
"mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full",
|
|
58699
|
+
feature.iconBgClass
|
|
58700
|
+
),
|
|
58701
|
+
children: feature.icon ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
58702
|
+
DynamicIcon,
|
|
58703
|
+
{
|
|
58704
|
+
name: feature.iconName || "lucide/check",
|
|
58705
|
+
size: 24,
|
|
58706
|
+
className: feature.iconColorClass
|
|
58707
|
+
}
|
|
58708
|
+
)
|
|
58709
|
+
}
|
|
58710
|
+
),
|
|
58711
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-lg font-semibold ", children: feature.title }),
|
|
58712
|
+
feature.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: feature.description })
|
|
58713
|
+
]
|
|
58714
|
+
},
|
|
58715
|
+
index
|
|
58716
|
+
)) });
|
|
58676
58717
|
}, [featuresSlot, features, featuresClassName]);
|
|
58677
|
-
const renderLogos = React22.useMemo(() => {
|
|
58678
|
-
if (logosSlot) return logosSlot;
|
|
58679
|
-
if (!logos || logos.length === 0) return null;
|
|
58680
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-16 flex flex-wrap items-center justify-center gap-8", logosClassName), children: logos.map((logo, index) => {
|
|
58681
|
-
const logoSrc = typeof logo.src === "string" ? logo.src : logo.src.light;
|
|
58682
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
58683
|
-
img.Img,
|
|
58684
|
-
{
|
|
58685
|
-
src: logoSrc,
|
|
58686
|
-
alt: logo.alt,
|
|
58687
|
-
className: cn("h-8 opacity-50 grayscale", logo.className),
|
|
58688
|
-
optixFlowConfig
|
|
58689
|
-
},
|
|
58690
|
-
index
|
|
58691
|
-
);
|
|
58692
|
-
}) });
|
|
58693
|
-
}, [logosSlot, logos, logosClassName, optixFlowConfig]);
|
|
58694
58718
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
58695
58719
|
Section,
|
|
58696
58720
|
{
|
|
@@ -58698,29 +58722,58 @@ function HeroEnterpriseSecurity({
|
|
|
58698
58722
|
spacing,
|
|
58699
58723
|
pattern,
|
|
58700
58724
|
patternOpacity,
|
|
58725
|
+
patternClassName,
|
|
58701
58726
|
className,
|
|
58702
|
-
|
|
58727
|
+
containerClassName,
|
|
58728
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pt-8 md:pt-0", children: [
|
|
58703
58729
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-4xl text-center", contentClassName), children: [
|
|
58704
|
-
|
|
58705
|
-
|
|
58706
|
-
|
|
58707
|
-
|
|
58730
|
+
badge && /* @__PURE__ */ jsxRuntime.jsxs(Badge, { className: cn("px-4", badgeClassName), children: [
|
|
58731
|
+
badgeIcon,
|
|
58732
|
+
typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { children: badge }) : badge
|
|
58733
|
+
] }),
|
|
58734
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
58735
|
+
"h1",
|
|
58736
|
+
{
|
|
58737
|
+
className: cn(
|
|
58738
|
+
"mb-8 text-4xl font-normal text-balance md:text-7xl",
|
|
58739
|
+
headingClassName
|
|
58740
|
+
),
|
|
58741
|
+
children: heading
|
|
58742
|
+
}
|
|
58743
|
+
) : heading),
|
|
58744
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
58745
|
+
"p",
|
|
58746
|
+
{
|
|
58747
|
+
className: cn(
|
|
58748
|
+
"mb-12 max-w-full md:max-w-[70%] text-lg md:text-xl font-normal text-balance",
|
|
58749
|
+
descriptionClassName
|
|
58750
|
+
),
|
|
58751
|
+
children: description
|
|
58752
|
+
}
|
|
58753
|
+
) : description),
|
|
58754
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
58755
|
+
BlockActions,
|
|
58756
|
+
{
|
|
58757
|
+
actions,
|
|
58758
|
+
actionsSlot,
|
|
58759
|
+
actionsClassName
|
|
58760
|
+
}
|
|
58761
|
+
)
|
|
58708
58762
|
] }),
|
|
58709
|
-
renderFeatures
|
|
58710
|
-
renderLogos
|
|
58763
|
+
renderFeatures
|
|
58711
58764
|
] })
|
|
58712
58765
|
}
|
|
58713
58766
|
);
|
|
58714
58767
|
}
|
|
58715
58768
|
function HeroCreativeStudioStacked({
|
|
58769
|
+
videoAspectRatio = "horizontal",
|
|
58716
58770
|
tagline,
|
|
58717
58771
|
heading,
|
|
58718
58772
|
description,
|
|
58719
|
-
|
|
58720
|
-
|
|
58721
|
-
|
|
58722
|
-
|
|
58723
|
-
actionsSlot,
|
|
58773
|
+
videoAction,
|
|
58774
|
+
actions,
|
|
58775
|
+
onVideoClick,
|
|
58776
|
+
videoDialog,
|
|
58724
58777
|
images,
|
|
58725
58778
|
imagesSlot,
|
|
58726
58779
|
background,
|
|
@@ -58738,100 +58791,85 @@ function HeroCreativeStudioStacked({
|
|
|
58738
58791
|
optixFlowConfig
|
|
58739
58792
|
}) {
|
|
58740
58793
|
const [isVideoOpen, setIsVideoOpen] = React22.useState(false);
|
|
58741
|
-
const
|
|
58742
|
-
if (
|
|
58743
|
-
|
|
58744
|
-
|
|
58745
|
-
|
|
58746
|
-
|
|
58747
|
-
|
|
58748
|
-
{
|
|
58749
|
-
asButton: true,
|
|
58750
|
-
className: actionClassName,
|
|
58751
|
-
...pressableProps,
|
|
58752
|
-
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
58753
|
-
icon,
|
|
58754
|
-
label,
|
|
58755
|
-
iconAfter
|
|
58756
|
-
] })
|
|
58757
|
-
}
|
|
58758
|
-
),
|
|
58759
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
58760
|
-
Pressable,
|
|
58761
|
-
{
|
|
58762
|
-
href: "#",
|
|
58763
|
-
onClick: () => setIsVideoOpen(true),
|
|
58764
|
-
asButton: true,
|
|
58765
|
-
variant: "ghost",
|
|
58766
|
-
className: "flex h-fit w-fit flex-nowrap items-center gap-2 rounded-sm bg-transparent px-5 py-3.5 text-sm font-medium tracking-wider text-nowrap uppercase",
|
|
58767
|
-
children: [
|
|
58768
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
58769
|
-
DynamicIcon,
|
|
58770
|
-
{
|
|
58771
|
-
name: "lucide/play",
|
|
58772
|
-
size: 12,
|
|
58773
|
-
className: "fill-neutral-950"
|
|
58774
|
-
}
|
|
58775
|
-
),
|
|
58776
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: videoButtonLabel })
|
|
58777
|
-
]
|
|
58778
|
-
}
|
|
58779
|
-
)
|
|
58780
|
-
] });
|
|
58781
|
-
}, [actionsSlot, primaryAction, videoButtonLabel, setIsVideoOpen]);
|
|
58794
|
+
const handleVideoClick = () => {
|
|
58795
|
+
if (onVideoClick) {
|
|
58796
|
+
onVideoClick();
|
|
58797
|
+
} else {
|
|
58798
|
+
setIsVideoOpen(true);
|
|
58799
|
+
}
|
|
58800
|
+
};
|
|
58782
58801
|
const renderImages = React22.useMemo(() => {
|
|
58783
58802
|
if (imagesSlot) return imagesSlot;
|
|
58784
58803
|
if (!images || images.length === 0) return null;
|
|
58785
|
-
|
|
58786
|
-
|
|
58787
|
-
|
|
58788
|
-
|
|
58789
|
-
|
|
58790
|
-
|
|
58791
|
-
|
|
58792
|
-
|
|
58804
|
+
const sharedImgWrapperClassName = "overflow-hidden rounded-xl shadow-xl";
|
|
58805
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
58806
|
+
"div",
|
|
58807
|
+
{
|
|
58808
|
+
className: cn(
|
|
58809
|
+
"relative mx-auto aspect-[0.789340102/1] max-w-100",
|
|
58810
|
+
imagesClassName
|
|
58811
|
+
),
|
|
58812
|
+
children: [
|
|
58813
|
+
images[0] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-0 left-0 z-30 w-[63%]", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
58814
|
+
AspectRatio,
|
|
58793
58815
|
{
|
|
58794
|
-
|
|
58795
|
-
|
|
58796
|
-
|
|
58797
|
-
|
|
58816
|
+
ratio: 0.724137931 / 1,
|
|
58817
|
+
className: sharedImgWrapperClassName,
|
|
58818
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
58819
|
+
img.Img,
|
|
58820
|
+
{
|
|
58821
|
+
src: images[0].src,
|
|
58822
|
+
alt: images[0].alt,
|
|
58823
|
+
className: cn(
|
|
58824
|
+
"size-full object-cover object-center",
|
|
58825
|
+
images[0].className
|
|
58826
|
+
),
|
|
58827
|
+
optixFlowConfig
|
|
58828
|
+
}
|
|
58829
|
+
)
|
|
58798
58830
|
}
|
|
58799
|
-
)
|
|
58800
|
-
|
|
58801
|
-
|
|
58802
|
-
images[1] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-1/2 left-1/2 z-20 w-[63%] -translate-x-1/2 -translate-y-1/2", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
58803
|
-
AspectRatio,
|
|
58804
|
-
{
|
|
58805
|
-
ratio: 0.724137931 / 1,
|
|
58806
|
-
className: "overflow-hidden",
|
|
58807
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
58808
|
-
img.Img,
|
|
58831
|
+
) }),
|
|
58832
|
+
images[1] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-1/2 left-1/2 z-20 w-[63%] -translate-x-1/2 -translate-y-1/2", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
58833
|
+
AspectRatio,
|
|
58809
58834
|
{
|
|
58810
|
-
|
|
58811
|
-
|
|
58812
|
-
|
|
58813
|
-
|
|
58835
|
+
ratio: 0.724137931 / 1,
|
|
58836
|
+
className: sharedImgWrapperClassName,
|
|
58837
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
58838
|
+
img.Img,
|
|
58839
|
+
{
|
|
58840
|
+
src: images[1].src,
|
|
58841
|
+
alt: images[1].alt,
|
|
58842
|
+
className: cn(
|
|
58843
|
+
"size-full object-cover object-center",
|
|
58844
|
+
images[1].className
|
|
58845
|
+
),
|
|
58846
|
+
optixFlowConfig
|
|
58847
|
+
}
|
|
58848
|
+
)
|
|
58814
58849
|
}
|
|
58815
|
-
)
|
|
58816
|
-
|
|
58817
|
-
|
|
58818
|
-
images[2] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-0 right-0 z-10 w-[63%]", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
58819
|
-
AspectRatio,
|
|
58820
|
-
{
|
|
58821
|
-
ratio: 0.724137931 / 1,
|
|
58822
|
-
className: "overflow-hidden",
|
|
58823
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
58824
|
-
img.Img,
|
|
58850
|
+
) }),
|
|
58851
|
+
images[2] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-0 right-0 z-10 w-[63%]", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
58852
|
+
AspectRatio,
|
|
58825
58853
|
{
|
|
58826
|
-
|
|
58827
|
-
|
|
58828
|
-
|
|
58829
|
-
|
|
58854
|
+
ratio: 0.724137931 / 1,
|
|
58855
|
+
className: sharedImgWrapperClassName,
|
|
58856
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
58857
|
+
img.Img,
|
|
58858
|
+
{
|
|
58859
|
+
src: images[2].src,
|
|
58860
|
+
alt: images[2].alt,
|
|
58861
|
+
className: cn(
|
|
58862
|
+
"size-full object-cover object-center",
|
|
58863
|
+
images[2].className
|
|
58864
|
+
),
|
|
58865
|
+
optixFlowConfig
|
|
58866
|
+
}
|
|
58867
|
+
)
|
|
58830
58868
|
}
|
|
58831
|
-
)
|
|
58832
|
-
|
|
58833
|
-
|
|
58834
|
-
|
|
58869
|
+
) })
|
|
58870
|
+
]
|
|
58871
|
+
}
|
|
58872
|
+
);
|
|
58835
58873
|
}, [imagesSlot, images, imagesClassName, optixFlowConfig]);
|
|
58836
58874
|
return /* @__PURE__ */ jsxRuntime.jsxs(React22.Fragment, { children: [
|
|
58837
58875
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -58844,106 +58882,117 @@ function HeroCreativeStudioStacked({
|
|
|
58844
58882
|
className: cn(className),
|
|
58845
58883
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 items-center gap-10 lg:grid-cols-2", children: [
|
|
58846
58884
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-6", contentClassName), children: [
|
|
58847
|
-
tagline && (typeof tagline === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
58885
|
+
tagline && (typeof tagline === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
58886
|
+
"p",
|
|
58887
|
+
{
|
|
58888
|
+
className: cn(
|
|
58889
|
+
"text-sm font-medium tracking-wider uppercase",
|
|
58890
|
+
taglineClassName
|
|
58891
|
+
),
|
|
58892
|
+
children: tagline
|
|
58893
|
+
}
|
|
58894
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: taglineClassName, children: tagline })),
|
|
58848
58895
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex max-w-160 flex-col gap-6", children: [
|
|
58849
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
58850
|
-
|
|
58896
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
58897
|
+
"h1",
|
|
58898
|
+
{
|
|
58899
|
+
className: cn(
|
|
58900
|
+
"max-w-[920px] text-center text-4xl leading-tight font-semibold md:text-6xl lg:text-7xl text-balance",
|
|
58901
|
+
headingClassName
|
|
58902
|
+
),
|
|
58903
|
+
children: heading
|
|
58904
|
+
}
|
|
58905
|
+
) : heading),
|
|
58906
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
58907
|
+
"p",
|
|
58908
|
+
{
|
|
58909
|
+
className: cn(
|
|
58910
|
+
"max-w-[750px] text-center text-base leading-relaxed font-normal md:text-xl text-balance",
|
|
58911
|
+
descriptionClassName
|
|
58912
|
+
),
|
|
58913
|
+
children: description
|
|
58914
|
+
}
|
|
58915
|
+
) : description)
|
|
58851
58916
|
] }),
|
|
58852
|
-
/* @__PURE__ */ jsxRuntime.
|
|
58917
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
58918
|
+
"div",
|
|
58919
|
+
{
|
|
58920
|
+
className: cn(
|
|
58921
|
+
"flex flex-col md:flex-row flex-wrap gap-4",
|
|
58922
|
+
actionsClassName
|
|
58923
|
+
),
|
|
58924
|
+
children: [
|
|
58925
|
+
videoAction && videoDialog?.videoUrl ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
58926
|
+
ActionComponent,
|
|
58927
|
+
{
|
|
58928
|
+
action: {
|
|
58929
|
+
...videoAction,
|
|
58930
|
+
onClick: handleVideoClick
|
|
58931
|
+
}
|
|
58932
|
+
}
|
|
58933
|
+
) : null,
|
|
58934
|
+
actions?.map((action, index) => /* @__PURE__ */ jsxRuntime.jsx(ActionComponent, { action }, index))
|
|
58935
|
+
]
|
|
58936
|
+
}
|
|
58937
|
+
)
|
|
58853
58938
|
] }),
|
|
58854
58939
|
/* @__PURE__ */ jsxRuntime.jsx("div", { children: renderImages })
|
|
58855
58940
|
] }) })
|
|
58856
58941
|
}
|
|
58857
58942
|
),
|
|
58858
|
-
/* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: isVideoOpen, onOpenChange: setIsVideoOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
58859
|
-
|
|
58860
|
-
|
|
58861
|
-
|
|
58862
|
-
|
|
58863
|
-
|
|
58864
|
-
|
|
58865
|
-
|
|
58866
|
-
|
|
58867
|
-
|
|
58868
|
-
}
|
|
58869
|
-
) })
|
|
58870
|
-
] }) })
|
|
58871
|
-
] });
|
|
58872
|
-
}
|
|
58873
|
-
function HeroDigitalAgencyFullscreen({
|
|
58874
|
-
heading,
|
|
58875
|
-
description,
|
|
58876
|
-
actions,
|
|
58877
|
-
actionsSlot,
|
|
58878
|
-
footerLabel,
|
|
58879
|
-
footerSublabel,
|
|
58880
|
-
footerAction,
|
|
58881
|
-
footerSlot,
|
|
58882
|
-
backgroundImage,
|
|
58883
|
-
background,
|
|
58884
|
-
spacing,
|
|
58885
|
-
pattern,
|
|
58886
|
-
patternOpacity,
|
|
58887
|
-
className,
|
|
58888
|
-
containerClassName,
|
|
58889
|
-
contentClassName,
|
|
58890
|
-
headingClassName,
|
|
58891
|
-
descriptionClassName,
|
|
58892
|
-
actionsClassName,
|
|
58893
|
-
footerClassName
|
|
58894
|
-
}) {
|
|
58895
|
-
const renderActions = React22.useMemo(() => {
|
|
58896
|
-
if (actionsSlot) return actionsSlot;
|
|
58897
|
-
if (!actions || actions.length === 0) return null;
|
|
58898
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-8 flex flex-wrap items-center justify-center gap-4", actionsClassName), children: actions.map((action, index) => {
|
|
58899
|
-
const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
|
|
58900
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
58901
|
-
Pressable,
|
|
58902
|
-
{
|
|
58903
|
-
asButton: true,
|
|
58904
|
-
className: actionClassName,
|
|
58905
|
-
...pressableProps,
|
|
58906
|
-
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
58907
|
-
icon,
|
|
58908
|
-
label,
|
|
58909
|
-
iconAfter
|
|
58910
|
-
] })
|
|
58911
|
-
},
|
|
58912
|
-
index
|
|
58913
|
-
);
|
|
58914
|
-
}) });
|
|
58915
|
-
}, [actionsSlot, actions, actionsClassName]);
|
|
58916
|
-
const renderFooter = React22.useMemo(() => {
|
|
58917
|
-
if (footerSlot) return footerSlot;
|
|
58918
|
-
if (!footerAction) return null;
|
|
58919
|
-
const { className: footerActionClassName, ...footerActionProps } = footerAction;
|
|
58920
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center justify-between gap-4 rounded-lg bg-foreground/20 px-6 py-4 backdrop-blur-sm", footerClassName), children: [
|
|
58921
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
58922
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("h-8 w-1", getAccentColor(background)) }),
|
|
58923
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("text-sm font-medium", getTextColor(background, "muted")), children: [
|
|
58924
|
-
footerLabel && (typeof footerLabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: getAccentColor(background), children: footerLabel }) : footerLabel),
|
|
58925
|
-
footerSublabel && (typeof footerSublabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { children: footerSublabel }) : footerSublabel)
|
|
58926
|
-
] })
|
|
58927
|
-
] }),
|
|
58928
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
58929
|
-
Pressable,
|
|
58930
|
-
{
|
|
58931
|
-
asButton: true,
|
|
58932
|
-
className: footerActionClassName,
|
|
58933
|
-
...footerActionProps,
|
|
58934
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
58935
|
-
DynamicIcon,
|
|
58943
|
+
/* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: isVideoOpen, onOpenChange: setIsVideoOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
58944
|
+
DialogContent,
|
|
58945
|
+
{
|
|
58946
|
+
className: cn(
|
|
58947
|
+
videoAspectRatio === "vertical" ? "sm:max-w-100" : "sm:max-w-200"
|
|
58948
|
+
),
|
|
58949
|
+
children: [
|
|
58950
|
+
/* @__PURE__ */ jsxRuntime.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { children: videoDialog?.title }) }),
|
|
58951
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
58952
|
+
"div",
|
|
58936
58953
|
{
|
|
58937
|
-
|
|
58938
|
-
|
|
58939
|
-
className: "m-auto stroke-primary"
|
|
58954
|
+
className: videoAspectRatio === "vertical" ? "aspect-9/16" : "aspect-video",
|
|
58955
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("video", { controls: true, autoPlay: true, className: "h-full w-full rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("source", { src: videoDialog?.videoUrl, type: "video/mp4" }) })
|
|
58940
58956
|
}
|
|
58941
58957
|
)
|
|
58942
|
-
|
|
58943
|
-
|
|
58944
|
-
|
|
58945
|
-
}
|
|
58946
|
-
|
|
58958
|
+
]
|
|
58959
|
+
}
|
|
58960
|
+
) })
|
|
58961
|
+
] });
|
|
58962
|
+
}
|
|
58963
|
+
function HeroDigitalAgencyFullscreen({
|
|
58964
|
+
heading,
|
|
58965
|
+
description,
|
|
58966
|
+
actions,
|
|
58967
|
+
actionsSlot,
|
|
58968
|
+
backgroundImage,
|
|
58969
|
+
background,
|
|
58970
|
+
spacing = "none",
|
|
58971
|
+
pattern,
|
|
58972
|
+
patternOpacity,
|
|
58973
|
+
className,
|
|
58974
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
58975
|
+
contentClassName,
|
|
58976
|
+
headingClassName,
|
|
58977
|
+
descriptionClassName,
|
|
58978
|
+
actionsClassName,
|
|
58979
|
+
optixFlowConfig
|
|
58980
|
+
}) {
|
|
58981
|
+
const [isImageLoaded, setIsImageLoaded] = React22.useState(false);
|
|
58982
|
+
const bgImageRef = React22.useRef(null);
|
|
58983
|
+
React22.useEffect(() => {
|
|
58984
|
+
if (!backgroundImage || !bgImageRef.current) return;
|
|
58985
|
+
const imgEl = bgImageRef.current.querySelector("img");
|
|
58986
|
+
if (!imgEl) return;
|
|
58987
|
+
if (imgEl.complete && imgEl.naturalWidth > 0) {
|
|
58988
|
+
setIsImageLoaded(true);
|
|
58989
|
+
return;
|
|
58990
|
+
}
|
|
58991
|
+
const handleLoad = () => setIsImageLoaded(true);
|
|
58992
|
+
imgEl.addEventListener("load", handleLoad);
|
|
58993
|
+
return () => imgEl.removeEventListener("load", handleLoad);
|
|
58994
|
+
}, [backgroundImage]);
|
|
58995
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
58947
58996
|
Section,
|
|
58948
58997
|
{
|
|
58949
58998
|
background,
|
|
@@ -58951,18 +59000,71 @@ function HeroDigitalAgencyFullscreen({
|
|
|
58951
59000
|
pattern,
|
|
58952
59001
|
patternOpacity,
|
|
58953
59002
|
className: cn(
|
|
58954
|
-
"
|
|
59003
|
+
"relative flex h-full min-h-screen w-screen items-center justify-center overflow-hidden pb-0 pt-0 md:pt-0 px-0",
|
|
58955
59004
|
className
|
|
58956
59005
|
),
|
|
58957
|
-
|
|
58958
|
-
children:
|
|
58959
|
-
/* @__PURE__ */ jsxRuntime.
|
|
58960
|
-
|
|
58961
|
-
|
|
58962
|
-
|
|
58963
|
-
|
|
58964
|
-
|
|
58965
|
-
|
|
59006
|
+
containerClassName,
|
|
59007
|
+
children: [
|
|
59008
|
+
backgroundImage && /* @__PURE__ */ jsxRuntime.jsx(
|
|
59009
|
+
"div",
|
|
59010
|
+
{
|
|
59011
|
+
ref: bgImageRef,
|
|
59012
|
+
className: cn(
|
|
59013
|
+
"absolute inset-0 transition-[filter] duration-1000 ease-out",
|
|
59014
|
+
isImageLoaded ? "blur-0" : "blur-xl"
|
|
59015
|
+
),
|
|
59016
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
59017
|
+
img.Img,
|
|
59018
|
+
{
|
|
59019
|
+
src: backgroundImage,
|
|
59020
|
+
alt: "",
|
|
59021
|
+
className: "h-full w-full brightness-50 object-cover object-center",
|
|
59022
|
+
eager: true,
|
|
59023
|
+
optixFlowConfig
|
|
59024
|
+
}
|
|
59025
|
+
)
|
|
59026
|
+
}
|
|
59027
|
+
),
|
|
59028
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-full flex-col justify-between gap-10", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
59029
|
+
"div",
|
|
59030
|
+
{
|
|
59031
|
+
className: cn(
|
|
59032
|
+
"mx-auto flex max-w-125 flex-1 flex-col items-center justify-center gap-7 sm:max-w-150 md:max-w-200",
|
|
59033
|
+
contentClassName
|
|
59034
|
+
),
|
|
59035
|
+
children: [
|
|
59036
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
59037
|
+
"h1",
|
|
59038
|
+
{
|
|
59039
|
+
className: cn(
|
|
59040
|
+
"mb-8 text-4xl font-normal text-balance md:text-7xl",
|
|
59041
|
+
headingClassName
|
|
59042
|
+
),
|
|
59043
|
+
children: heading
|
|
59044
|
+
}
|
|
59045
|
+
) : heading),
|
|
59046
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
59047
|
+
"p",
|
|
59048
|
+
{
|
|
59049
|
+
className: cn(
|
|
59050
|
+
"mb-12 max-w-full md:max-w-[70%] text-lg md:text-xl font-normal text-balance",
|
|
59051
|
+
descriptionClassName
|
|
59052
|
+
),
|
|
59053
|
+
children: description
|
|
59054
|
+
}
|
|
59055
|
+
) : description),
|
|
59056
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
59057
|
+
BlockActions,
|
|
59058
|
+
{
|
|
59059
|
+
actions,
|
|
59060
|
+
actionsSlot,
|
|
59061
|
+
actionsClassName
|
|
59062
|
+
}
|
|
59063
|
+
)
|
|
59064
|
+
]
|
|
59065
|
+
}
|
|
59066
|
+
) }) })
|
|
59067
|
+
]
|
|
58966
59068
|
}
|
|
58967
59069
|
);
|
|
58968
59070
|
}
|
|
@@ -58980,7 +59082,7 @@ function HeroCustomerSupportLayered({
|
|
|
58980
59082
|
actionsSlot,
|
|
58981
59083
|
actionsClassName,
|
|
58982
59084
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
58983
|
-
spacing = "
|
|
59085
|
+
spacing = "xl",
|
|
58984
59086
|
contentClassName,
|
|
58985
59087
|
taglineClassName,
|
|
58986
59088
|
headingClassName,
|
|
@@ -59031,34 +59133,6 @@ function HeroCustomerSupportLayered({
|
|
|
59031
59133
|
}
|
|
59032
59134
|
);
|
|
59033
59135
|
}, [imagesSlot, images, imagesClassName, optixFlowConfig]);
|
|
59034
|
-
const renderActions = React22.useMemo(() => {
|
|
59035
|
-
if (actionsSlot) return actionsSlot;
|
|
59036
|
-
if (!actions || actions.length === 0) return null;
|
|
59037
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col md:flex-row gap-4", actionsClassName), children: actions.map((action, index) => {
|
|
59038
|
-
const {
|
|
59039
|
-
label,
|
|
59040
|
-
icon,
|
|
59041
|
-
iconAfter,
|
|
59042
|
-
children,
|
|
59043
|
-
className: actionClassName,
|
|
59044
|
-
...pressableProps
|
|
59045
|
-
} = action;
|
|
59046
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
59047
|
-
Pressable,
|
|
59048
|
-
{
|
|
59049
|
-
asButton: true,
|
|
59050
|
-
className: actionClassName,
|
|
59051
|
-
...pressableProps,
|
|
59052
|
-
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
59053
|
-
icon,
|
|
59054
|
-
label,
|
|
59055
|
-
iconAfter
|
|
59056
|
-
] })
|
|
59057
|
-
},
|
|
59058
|
-
index
|
|
59059
|
-
);
|
|
59060
|
-
}) });
|
|
59061
|
-
}, [actionsSlot, actions, actionsClassName]);
|
|
59062
59136
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
59063
59137
|
Section,
|
|
59064
59138
|
{
|
|
@@ -59069,43 +59143,53 @@ function HeroCustomerSupportLayered({
|
|
|
59069
59143
|
patternClassName,
|
|
59070
59144
|
className,
|
|
59071
59145
|
containerClassName,
|
|
59072
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
59146
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-8 md:pt-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 items-center gap-8 md:gap-20 md:grid-cols-2", children: [
|
|
59073
59147
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
59074
59148
|
"div",
|
|
59075
59149
|
{
|
|
59076
59150
|
className: cn(
|
|
59077
|
-
"flex w-full max-w-125 flex-col gap-
|
|
59151
|
+
"flex w-full max-w-125 flex-col gap-4 md:gap-6",
|
|
59078
59152
|
contentClassName
|
|
59079
59153
|
),
|
|
59080
59154
|
children: [
|
|
59081
|
-
tagline && (typeof tagline === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
59082
|
-
|
|
59083
|
-
"h1",
|
|
59155
|
+
tagline && (typeof tagline === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
59156
|
+
"div",
|
|
59084
59157
|
{
|
|
59085
59158
|
className: cn(
|
|
59086
|
-
"
|
|
59087
|
-
|
|
59159
|
+
"font-light tracking-widest text-sm md:text-md uppercase",
|
|
59160
|
+
taglineClassName
|
|
59088
59161
|
),
|
|
59089
|
-
children:
|
|
59162
|
+
children: tagline
|
|
59090
59163
|
}
|
|
59091
|
-
) :
|
|
59164
|
+
) : tagline),
|
|
59165
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
59092
59166
|
"h1",
|
|
59093
59167
|
{
|
|
59094
59168
|
className: cn(
|
|
59095
|
-
"text-
|
|
59169
|
+
"text-4xl font-semibold text-balance md:text-7xl",
|
|
59096
59170
|
headingClassName
|
|
59097
59171
|
),
|
|
59098
59172
|
children: heading
|
|
59099
59173
|
}
|
|
59100
|
-
)),
|
|
59174
|
+
) : heading),
|
|
59101
59175
|
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
59102
59176
|
"p",
|
|
59103
59177
|
{
|
|
59104
|
-
className: cn(
|
|
59178
|
+
className: cn(
|
|
59179
|
+
"max-w-full md:max-w-[70%] text-lg md:text-xl font-normal text-balance",
|
|
59180
|
+
descriptionClassName
|
|
59181
|
+
),
|
|
59105
59182
|
children: description
|
|
59106
59183
|
}
|
|
59107
|
-
) :
|
|
59108
|
-
|
|
59184
|
+
) : description),
|
|
59185
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
59186
|
+
BlockActions,
|
|
59187
|
+
{
|
|
59188
|
+
actions,
|
|
59189
|
+
actionsSlot,
|
|
59190
|
+
actionsClassName
|
|
59191
|
+
}
|
|
59192
|
+
)
|
|
59109
59193
|
]
|
|
59110
59194
|
}
|
|
59111
59195
|
),
|
|
@@ -59115,14 +59199,18 @@ function HeroCustomerSupportLayered({
|
|
|
59115
59199
|
);
|
|
59116
59200
|
}
|
|
59117
59201
|
function HeroSharedInboxLayered({
|
|
59118
|
-
|
|
59202
|
+
eyebrow,
|
|
59203
|
+
eyebrowClassName,
|
|
59119
59204
|
heading,
|
|
59120
59205
|
description,
|
|
59121
59206
|
layeredImages,
|
|
59122
59207
|
layeredImagesSlot,
|
|
59123
59208
|
background,
|
|
59209
|
+
actions,
|
|
59210
|
+
actionsSlot,
|
|
59211
|
+
actionsClassName,
|
|
59124
59212
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
59125
|
-
spacing = "
|
|
59213
|
+
spacing = "xl",
|
|
59126
59214
|
pattern,
|
|
59127
59215
|
patternOpacity,
|
|
59128
59216
|
className,
|
|
@@ -59182,7 +59270,7 @@ function HeroSharedInboxLayered({
|
|
|
59182
59270
|
patternClassName,
|
|
59183
59271
|
className,
|
|
59184
59272
|
containerClassName,
|
|
59185
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
59273
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-8 md:pt-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 items-center gap-4 md:gap-20 md:grid-cols-2", children: [
|
|
59186
59274
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
59187
59275
|
"div",
|
|
59188
59276
|
{
|
|
@@ -59191,33 +59279,44 @@ function HeroSharedInboxLayered({
|
|
|
59191
59279
|
contentClassName
|
|
59192
59280
|
),
|
|
59193
59281
|
children: [
|
|
59194
|
-
|
|
59195
|
-
|
|
59196
|
-
"h1",
|
|
59282
|
+
eyebrow && (typeof eyebrow === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
59283
|
+
"div",
|
|
59197
59284
|
{
|
|
59198
59285
|
className: cn(
|
|
59199
|
-
"
|
|
59200
|
-
|
|
59286
|
+
"font-light tracking-widest text-sm md:text-md uppercase",
|
|
59287
|
+
eyebrowClassName
|
|
59201
59288
|
),
|
|
59202
|
-
children:
|
|
59289
|
+
children: eyebrow
|
|
59203
59290
|
}
|
|
59204
|
-
) :
|
|
59291
|
+
) : eyebrow),
|
|
59292
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
59205
59293
|
"h1",
|
|
59206
59294
|
{
|
|
59207
59295
|
className: cn(
|
|
59208
|
-
"text-
|
|
59296
|
+
"text-4xl font-semibold text-balance md:text-7xl",
|
|
59209
59297
|
headingClassName
|
|
59210
59298
|
),
|
|
59211
59299
|
children: heading
|
|
59212
59300
|
}
|
|
59213
|
-
)),
|
|
59301
|
+
) : heading),
|
|
59214
59302
|
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
59215
59303
|
"p",
|
|
59216
59304
|
{
|
|
59217
|
-
className: cn(
|
|
59305
|
+
className: cn(
|
|
59306
|
+
"max-w-full md:max-w-[70%] text-lg md:text-xl font-normal text-balance",
|
|
59307
|
+
descriptionClassName
|
|
59308
|
+
),
|
|
59218
59309
|
children: description
|
|
59219
59310
|
}
|
|
59220
|
-
) :
|
|
59311
|
+
) : description),
|
|
59312
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
59313
|
+
BlockActions,
|
|
59314
|
+
{
|
|
59315
|
+
actions,
|
|
59316
|
+
actionsSlot,
|
|
59317
|
+
actionsClassName
|
|
59318
|
+
}
|
|
59319
|
+
)
|
|
59221
59320
|
]
|
|
59222
59321
|
}
|
|
59223
59322
|
),
|
|
@@ -59247,34 +59346,6 @@ function HeroConversationIntelligence({
|
|
|
59247
59346
|
imageClassName,
|
|
59248
59347
|
optixFlowConfig
|
|
59249
59348
|
}) {
|
|
59250
|
-
const renderActions = React22.useMemo(() => {
|
|
59251
|
-
if (actionsSlot) return actionsSlot;
|
|
59252
|
-
if (!actions || actions.length === 0) return null;
|
|
59253
|
-
return actions.map((action, index) => {
|
|
59254
|
-
const {
|
|
59255
|
-
label,
|
|
59256
|
-
icon,
|
|
59257
|
-
iconAfter,
|
|
59258
|
-
children,
|
|
59259
|
-
className: actionClassName,
|
|
59260
|
-
...pressableProps
|
|
59261
|
-
} = action;
|
|
59262
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
59263
|
-
Pressable,
|
|
59264
|
-
{
|
|
59265
|
-
asButton: true,
|
|
59266
|
-
className: actionClassName,
|
|
59267
|
-
...pressableProps,
|
|
59268
|
-
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
59269
|
-
icon,
|
|
59270
|
-
label,
|
|
59271
|
-
iconAfter
|
|
59272
|
-
] })
|
|
59273
|
-
},
|
|
59274
|
-
index
|
|
59275
|
-
);
|
|
59276
|
-
});
|
|
59277
|
-
}, [actionsSlot, actions]);
|
|
59278
59349
|
const renderImage = React22.useMemo(() => {
|
|
59279
59350
|
if (imageSlot) return imageSlot;
|
|
59280
59351
|
if (!image) return null;
|
|
@@ -59339,14 +59410,12 @@ function HeroConversationIntelligence({
|
|
|
59339
59410
|
children: description
|
|
59340
59411
|
}
|
|
59341
59412
|
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
59342
|
-
|
|
59343
|
-
|
|
59413
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
59414
|
+
BlockActions,
|
|
59344
59415
|
{
|
|
59345
|
-
|
|
59346
|
-
|
|
59347
|
-
|
|
59348
|
-
),
|
|
59349
|
-
children: renderActions
|
|
59416
|
+
actions,
|
|
59417
|
+
actionsSlot,
|
|
59418
|
+
actionsClassName
|
|
59350
59419
|
}
|
|
59351
59420
|
)
|
|
59352
59421
|
]
|
|
@@ -59357,9 +59426,20 @@ function HeroConversationIntelligence({
|
|
|
59357
59426
|
}
|
|
59358
59427
|
);
|
|
59359
59428
|
}
|
|
59429
|
+
var fadeVariants2 = {
|
|
59430
|
+
initial: { opacity: 0 },
|
|
59431
|
+
animate: {
|
|
59432
|
+
opacity: 1,
|
|
59433
|
+
transition: { duration: 0.8, ease: [0.4, 0, 0.2, 1] }
|
|
59434
|
+
},
|
|
59435
|
+
exit: {
|
|
59436
|
+
opacity: 0,
|
|
59437
|
+
transition: { duration: 0.8, ease: [0.4, 0, 0.2, 1] }
|
|
59438
|
+
}
|
|
59439
|
+
};
|
|
59360
59440
|
function HeroBusinessCarouselDots({
|
|
59361
59441
|
badge,
|
|
59362
|
-
badgeVariant
|
|
59442
|
+
badgeVariant,
|
|
59363
59443
|
heading,
|
|
59364
59444
|
description,
|
|
59365
59445
|
actions,
|
|
@@ -59370,6 +59450,7 @@ function HeroBusinessCarouselDots({
|
|
|
59370
59450
|
spacing,
|
|
59371
59451
|
pattern,
|
|
59372
59452
|
patternOpacity,
|
|
59453
|
+
patternClassName,
|
|
59373
59454
|
className,
|
|
59374
59455
|
containerClassName,
|
|
59375
59456
|
contentClassName,
|
|
@@ -59380,40 +59461,22 @@ function HeroBusinessCarouselDots({
|
|
|
59380
59461
|
carouselClassName,
|
|
59381
59462
|
optixFlowConfig
|
|
59382
59463
|
}) {
|
|
59383
|
-
const [
|
|
59384
|
-
const
|
|
59464
|
+
const [currentIndex, setCurrentIndex] = React22.useState(0);
|
|
59465
|
+
const timerRef = React22.useRef(null);
|
|
59466
|
+
const imageCount = carouselImages?.length ?? 0;
|
|
59467
|
+
const startTimer = React22.useCallback(() => {
|
|
59468
|
+
if (imageCount <= 1) return;
|
|
59469
|
+
timerRef.current = setInterval(() => {
|
|
59470
|
+
setCurrentIndex((prev) => (prev + 1) % imageCount);
|
|
59471
|
+
}, 4e3);
|
|
59472
|
+
}, [imageCount]);
|
|
59385
59473
|
React22.useEffect(() => {
|
|
59386
|
-
|
|
59387
|
-
const updateCurrent = () => {
|
|
59388
|
-
setCurrent(api.selectedScrollSnap() + 1);
|
|
59389
|
-
};
|
|
59390
|
-
updateCurrent();
|
|
59391
|
-
api.on("select", updateCurrent);
|
|
59474
|
+
startTimer();
|
|
59392
59475
|
return () => {
|
|
59393
|
-
|
|
59476
|
+
if (timerRef.current) clearInterval(timerRef.current);
|
|
59394
59477
|
};
|
|
59395
|
-
}, [
|
|
59396
|
-
const
|
|
59397
|
-
if (actionsSlot) return actionsSlot;
|
|
59398
|
-
if (!actions || actions.length === 0) return null;
|
|
59399
|
-
return actions.map((action, index) => {
|
|
59400
|
-
const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
|
|
59401
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
59402
|
-
Pressable,
|
|
59403
|
-
{
|
|
59404
|
-
asButton: true,
|
|
59405
|
-
className: actionClassName,
|
|
59406
|
-
...pressableProps,
|
|
59407
|
-
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
59408
|
-
icon,
|
|
59409
|
-
label,
|
|
59410
|
-
iconAfter
|
|
59411
|
-
] })
|
|
59412
|
-
},
|
|
59413
|
-
index
|
|
59414
|
-
);
|
|
59415
|
-
});
|
|
59416
|
-
}, [actionsSlot, actions]);
|
|
59478
|
+
}, [startTimer]);
|
|
59479
|
+
const activeImage = carouselImages && carouselImages.length > 0 ? carouselImages[currentIndex] : null;
|
|
59417
59480
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
59418
59481
|
Section,
|
|
59419
59482
|
{
|
|
@@ -59421,42 +59484,79 @@ function HeroBusinessCarouselDots({
|
|
|
59421
59484
|
spacing,
|
|
59422
59485
|
pattern,
|
|
59423
59486
|
patternOpacity,
|
|
59487
|
+
patternClassName,
|
|
59424
59488
|
className: cn("overflow-hidden", className),
|
|
59425
|
-
|
|
59489
|
+
containerClassName,
|
|
59490
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pt-8 md:pt-0", children: [
|
|
59426
59491
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-5xl text-center", contentClassName), children: [
|
|
59427
59492
|
badge && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: badgeVariant, className: badgeClassName, children: badge }),
|
|
59428
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
59429
|
-
|
|
59430
|
-
|
|
59493
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
59494
|
+
"h1",
|
|
59495
|
+
{
|
|
59496
|
+
className: cn(
|
|
59497
|
+
"mt-6 text-4xl font-bold md:text-6xl text-balance",
|
|
59498
|
+
headingClassName
|
|
59499
|
+
),
|
|
59500
|
+
children: heading
|
|
59501
|
+
}
|
|
59502
|
+
) : heading),
|
|
59503
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
59504
|
+
"p",
|
|
59505
|
+
{
|
|
59506
|
+
className: cn(
|
|
59507
|
+
"mt-5 text-lg md:text-xl lg:px-32 text-balance",
|
|
59508
|
+
descriptionClassName
|
|
59509
|
+
),
|
|
59510
|
+
children: description
|
|
59511
|
+
}
|
|
59512
|
+
) : description),
|
|
59513
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
59514
|
+
BlockActions,
|
|
59515
|
+
{
|
|
59516
|
+
actions,
|
|
59517
|
+
actionsSlot,
|
|
59518
|
+
actionsClassName
|
|
59519
|
+
}
|
|
59520
|
+
)
|
|
59431
59521
|
] }),
|
|
59432
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
59433
|
-
|
|
59434
|
-
|
|
59435
|
-
|
|
59436
|
-
|
|
59437
|
-
|
|
59438
|
-
|
|
59439
|
-
|
|
59440
|
-
{
|
|
59441
|
-
|
|
59442
|
-
|
|
59443
|
-
|
|
59444
|
-
|
|
59445
|
-
|
|
59446
|
-
|
|
59447
|
-
|
|
59448
|
-
|
|
59449
|
-
|
|
59450
|
-
|
|
59451
|
-
|
|
59452
|
-
|
|
59453
|
-
|
|
59454
|
-
|
|
59455
|
-
|
|
59456
|
-
|
|
59457
|
-
|
|
59458
|
-
|
|
59459
|
-
|
|
59522
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
59523
|
+
"div",
|
|
59524
|
+
{
|
|
59525
|
+
className: cn(
|
|
59526
|
+
"relative mx-4 mt-10 md:mx-10 md:mt-16",
|
|
59527
|
+
carouselClassName
|
|
59528
|
+
),
|
|
59529
|
+
children: [
|
|
59530
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-0 -right-4 -left-4 z-10 h-px bg-[linear-gradient(to_right,transparent,hsl(var(--border))_4%,hsl(var(--border))_96%,transparent)] md:-right-20 md:-left-20" }),
|
|
59531
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-0 -right-4 -left-4 z-10 h-px bg-[linear-gradient(to_right,transparent,hsl(var(--border))_4%,hsl(var(--border))_96%,transparent)] md:-right-20 md:-left-20" }),
|
|
59532
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -top-10 left-0 z-10 h-[calc(100%+80px)] w-px bg-[linear-gradient(to_bottom,transparent,hsl(var(--border))_4%,hsl(var(--border))_96%,transparent)] md:-top-20 md:h-[calc(100%+160px)]" }),
|
|
59533
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -top-10 right-0 z-10 h-[calc(100%+80px)] w-px bg-[linear-gradient(to_bottom,transparent,hsl(var(--border))_4%,hsl(var(--border))_96%,transparent)] md:-top-20 md:h-[calc(100%+160px)]" }),
|
|
59534
|
+
carouselSlot ? carouselSlot : activeImage ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative aspect-video w-full overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", initial: false, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
59535
|
+
framerMotion.motion.div,
|
|
59536
|
+
{
|
|
59537
|
+
variants: fadeVariants2,
|
|
59538
|
+
initial: "initial",
|
|
59539
|
+
animate: "animate",
|
|
59540
|
+
exit: "exit",
|
|
59541
|
+
className: "absolute inset-0",
|
|
59542
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
59543
|
+
img.Img,
|
|
59544
|
+
{
|
|
59545
|
+
src: activeImage.src,
|
|
59546
|
+
alt: activeImage.alt,
|
|
59547
|
+
className: cn(
|
|
59548
|
+
"h-full w-full object-cover",
|
|
59549
|
+
activeImage.className
|
|
59550
|
+
),
|
|
59551
|
+
optixFlowConfig
|
|
59552
|
+
}
|
|
59553
|
+
)
|
|
59554
|
+
},
|
|
59555
|
+
currentIndex
|
|
59556
|
+
) }) }) : null
|
|
59557
|
+
]
|
|
59558
|
+
}
|
|
59559
|
+
)
|
|
59460
59560
|
] })
|
|
59461
59561
|
}
|
|
59462
59562
|
);
|
|
@@ -59473,70 +59573,66 @@ function HeroDeveloperToolsCode({
|
|
|
59473
59573
|
terminalLines,
|
|
59474
59574
|
terminalSlot,
|
|
59475
59575
|
background,
|
|
59476
|
-
|
|
59576
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
59577
|
+
spacing = "xl",
|
|
59477
59578
|
pattern,
|
|
59478
59579
|
patternOpacity,
|
|
59479
59580
|
className,
|
|
59480
|
-
containerClassName,
|
|
59481
59581
|
contentClassName,
|
|
59482
59582
|
headingClassName,
|
|
59483
59583
|
descriptionClassName,
|
|
59484
59584
|
actionsClassName,
|
|
59585
|
+
patternClassName,
|
|
59485
59586
|
terminalClassName
|
|
59486
59587
|
}) {
|
|
59487
59588
|
const renderBadge = React22.useMemo(() => {
|
|
59488
59589
|
if (badgeSlot) return badgeSlot;
|
|
59489
59590
|
if (!badgeText && !badgeIcon) return null;
|
|
59490
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Badge, {
|
|
59491
|
-
badgeIcon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: badgeIcon, size: 14
|
|
59591
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Badge, { className: "w-fit gap-2 mx-4", children: [
|
|
59592
|
+
badgeIcon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: badgeIcon, size: 14 }),
|
|
59492
59593
|
badgeText
|
|
59493
59594
|
] });
|
|
59494
59595
|
}, [badgeSlot, badgeText, badgeIcon]);
|
|
59495
|
-
const renderActions = React22.useMemo(() => {
|
|
59496
|
-
if (actionsSlot) return actionsSlot;
|
|
59497
|
-
if (!actions || actions.length === 0) return null;
|
|
59498
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col gap-4 sm:flex-row", actionsClassName), children: actions.map((action, index) => {
|
|
59499
|
-
const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
|
|
59500
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
59501
|
-
Pressable,
|
|
59502
|
-
{
|
|
59503
|
-
asButton: true,
|
|
59504
|
-
className: actionClassName,
|
|
59505
|
-
...pressableProps,
|
|
59506
|
-
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
59507
|
-
icon,
|
|
59508
|
-
label,
|
|
59509
|
-
iconAfter
|
|
59510
|
-
] })
|
|
59511
|
-
},
|
|
59512
|
-
index
|
|
59513
|
-
);
|
|
59514
|
-
}) });
|
|
59515
|
-
}, [actionsSlot, actions, actionsClassName]);
|
|
59516
59596
|
const renderTerminal = React22.useMemo(() => {
|
|
59517
59597
|
if (terminalSlot) return terminalSlot;
|
|
59518
59598
|
if (!terminalLines || terminalLines.length === 0) return null;
|
|
59519
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
59520
|
-
|
|
59521
|
-
|
|
59522
|
-
|
|
59523
|
-
|
|
59524
|
-
|
|
59525
|
-
|
|
59526
|
-
|
|
59527
|
-
|
|
59528
|
-
|
|
59529
|
-
|
|
59530
|
-
|
|
59531
|
-
|
|
59532
|
-
|
|
59533
|
-
|
|
59534
|
-
|
|
59535
|
-
/* @__PURE__ */ jsxRuntime.
|
|
59536
|
-
|
|
59537
|
-
|
|
59538
|
-
|
|
59539
|
-
|
|
59599
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
59600
|
+
"div",
|
|
59601
|
+
{
|
|
59602
|
+
className: cn(
|
|
59603
|
+
"overflow-hidden rounded-xl border border-border bg-zinc-950 shadow-2xl",
|
|
59604
|
+
terminalClassName
|
|
59605
|
+
),
|
|
59606
|
+
children: [
|
|
59607
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 border-b border-zinc-800 bg-zinc-900 px-4 py-3", children: [
|
|
59608
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1.5", children: [
|
|
59609
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-3 w-3 rounded-full bg-red-500" }),
|
|
59610
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-3 w-3 rounded-full bg-yellow-500" }),
|
|
59611
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-3 w-3 rounded-full bg-green-500" })
|
|
59612
|
+
] }),
|
|
59613
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 text-center text-sm text-zinc-500", children: terminalTitle })
|
|
59614
|
+
] }),
|
|
59615
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4 font-mono text-sm", children: [
|
|
59616
|
+
terminalLines.map((line, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
59617
|
+
"div",
|
|
59618
|
+
{
|
|
59619
|
+
className: cn(index > 0 && "mt-1", line.colorClass),
|
|
59620
|
+
children: [
|
|
59621
|
+
line.prefix && /* @__PURE__ */ jsxRuntime.jsx("span", { className: line.prefixColorClass, children: line.prefix }),
|
|
59622
|
+
" ",
|
|
59623
|
+
line.text
|
|
59624
|
+
]
|
|
59625
|
+
},
|
|
59626
|
+
index
|
|
59627
|
+
)),
|
|
59628
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 flex items-center", children: [
|
|
59629
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-zinc-500", children: "$" }),
|
|
59630
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1 h-4 w-2 animate-pulse bg-zinc-400" })
|
|
59631
|
+
] })
|
|
59632
|
+
] })
|
|
59633
|
+
]
|
|
59634
|
+
}
|
|
59635
|
+
);
|
|
59540
59636
|
}, [terminalSlot, terminalLines, terminalTitle, terminalClassName]);
|
|
59541
59637
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
59542
59638
|
Section,
|
|
@@ -59545,13 +59641,31 @@ function HeroDeveloperToolsCode({
|
|
|
59545
59641
|
spacing,
|
|
59546
59642
|
pattern,
|
|
59547
59643
|
patternOpacity,
|
|
59644
|
+
patternClassName,
|
|
59548
59645
|
className,
|
|
59549
|
-
|
|
59646
|
+
containerClassName,
|
|
59647
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-8 md:pt-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid items-center gap-12 lg:grid-cols-2 lg:gap-20", children: [
|
|
59550
59648
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-8", contentClassName), children: [
|
|
59551
59649
|
renderBadge,
|
|
59552
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
59553
|
-
|
|
59554
|
-
|
|
59650
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
59651
|
+
"h1",
|
|
59652
|
+
{
|
|
59653
|
+
className: cn(
|
|
59654
|
+
"text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl text-pretty",
|
|
59655
|
+
headingClassName
|
|
59656
|
+
),
|
|
59657
|
+
children: heading
|
|
59658
|
+
}
|
|
59659
|
+
) : heading),
|
|
59660
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg text-balance", descriptionClassName), children: description }) : description),
|
|
59661
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
59662
|
+
BlockActions,
|
|
59663
|
+
{
|
|
59664
|
+
actions,
|
|
59665
|
+
actionsSlot,
|
|
59666
|
+
actionsClassName
|
|
59667
|
+
}
|
|
59668
|
+
)
|
|
59555
59669
|
] }),
|
|
59556
59670
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: renderTerminal })
|
|
59557
59671
|
] }) })
|
|
@@ -59572,7 +59686,7 @@ function HeroEcommerceProductShowcase({
|
|
|
59572
59686
|
imagesSlot,
|
|
59573
59687
|
background,
|
|
59574
59688
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
59575
|
-
spacing = "
|
|
59689
|
+
spacing = "xl",
|
|
59576
59690
|
pattern,
|
|
59577
59691
|
patternOpacity,
|
|
59578
59692
|
patternClassName,
|
|
@@ -59592,41 +59706,34 @@ function HeroEcommerceProductShowcase({
|
|
|
59592
59706
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: badgeText })
|
|
59593
59707
|
] });
|
|
59594
59708
|
}, [badgeSlot, badgeIcon, badgeText]);
|
|
59595
|
-
const renderActions = React22.useMemo(() => {
|
|
59596
|
-
if (actionsSlot) return actionsSlot;
|
|
59597
|
-
if (!actions || actions.length === 0) return null;
|
|
59598
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col gap-4 sm:flex-row", actionsClassName), children: actions.map((action, index) => {
|
|
59599
|
-
const {
|
|
59600
|
-
label,
|
|
59601
|
-
icon,
|
|
59602
|
-
iconAfter,
|
|
59603
|
-
children,
|
|
59604
|
-
className: actionClassName,
|
|
59605
|
-
...pressableProps
|
|
59606
|
-
} = action;
|
|
59607
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
59608
|
-
Pressable,
|
|
59609
|
-
{
|
|
59610
|
-
asButton: true,
|
|
59611
|
-
className: actionClassName,
|
|
59612
|
-
...pressableProps,
|
|
59613
|
-
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
59614
|
-
icon,
|
|
59615
|
-
label,
|
|
59616
|
-
iconAfter
|
|
59617
|
-
] })
|
|
59618
|
-
},
|
|
59619
|
-
index
|
|
59620
|
-
);
|
|
59621
|
-
}) });
|
|
59622
|
-
}, [actionsSlot, actions, actionsClassName]);
|
|
59623
59709
|
const renderStats = React22.useMemo(() => {
|
|
59624
59710
|
if (statsSlot) return statsSlot;
|
|
59625
59711
|
if (!stats || stats.length === 0) return null;
|
|
59626
59712
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center gap-6 pt-4", statsClassName), children: stats.map((stat, index) => /* @__PURE__ */ jsxRuntime.jsxs(React22__namespace.Fragment, { children: [
|
|
59627
59713
|
index > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-12 w-px bg-border" }),
|
|
59628
59714
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
59629
|
-
/* @__PURE__ */ jsxRuntime.
|
|
59715
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
59716
|
+
"div",
|
|
59717
|
+
{
|
|
59718
|
+
className: cn(
|
|
59719
|
+
"flex items-center",
|
|
59720
|
+
stat.icon ? "justify-between" : "justify-center"
|
|
59721
|
+
),
|
|
59722
|
+
children: [
|
|
59723
|
+
stat.icon,
|
|
59724
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
59725
|
+
"div",
|
|
59726
|
+
{
|
|
59727
|
+
className: cn(
|
|
59728
|
+
"font-bold ",
|
|
59729
|
+
stat.icon ? "text-xl" : "text-2xl"
|
|
59730
|
+
),
|
|
59731
|
+
children: stat.value
|
|
59732
|
+
}
|
|
59733
|
+
)
|
|
59734
|
+
]
|
|
59735
|
+
}
|
|
59736
|
+
),
|
|
59630
59737
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm"), children: stat.label })
|
|
59631
59738
|
] })
|
|
59632
59739
|
] }, index)) });
|
|
@@ -59699,42 +59806,31 @@ function HeroEcommerceProductShowcase({
|
|
|
59699
59806
|
patternClassName,
|
|
59700
59807
|
className,
|
|
59701
59808
|
containerClassName,
|
|
59702
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
59703
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "order-
|
|
59704
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
59705
|
-
|
|
59706
|
-
|
|
59707
|
-
|
|
59708
|
-
|
|
59709
|
-
|
|
59710
|
-
|
|
59711
|
-
|
|
59712
|
-
|
|
59713
|
-
|
|
59714
|
-
|
|
59715
|
-
|
|
59716
|
-
|
|
59717
|
-
|
|
59718
|
-
|
|
59719
|
-
|
|
59720
|
-
|
|
59721
|
-
|
|
59722
|
-
|
|
59723
|
-
|
|
59724
|
-
|
|
59725
|
-
|
|
59726
|
-
|
|
59727
|
-
headingClassName
|
|
59728
|
-
),
|
|
59729
|
-
children: heading
|
|
59730
|
-
}
|
|
59731
|
-
)),
|
|
59732
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg text-balance", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
59733
|
-
renderActions,
|
|
59734
|
-
renderStats
|
|
59735
|
-
]
|
|
59736
|
-
}
|
|
59737
|
-
)
|
|
59809
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-8 md:pt-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid items-center gap-12 lg:grid-cols-2 lg:gap-20", children: [
|
|
59810
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "order-1", children: renderImages }),
|
|
59811
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-8 order-2", contentClassName), children: [
|
|
59812
|
+
renderBadge,
|
|
59813
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
59814
|
+
"h1",
|
|
59815
|
+
{
|
|
59816
|
+
className: cn(
|
|
59817
|
+
"text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl text-balance",
|
|
59818
|
+
headingClassName
|
|
59819
|
+
),
|
|
59820
|
+
children: heading
|
|
59821
|
+
}
|
|
59822
|
+
) : heading),
|
|
59823
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg text-balance", descriptionClassName), children: description }) : description),
|
|
59824
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
59825
|
+
BlockActions,
|
|
59826
|
+
{
|
|
59827
|
+
actions,
|
|
59828
|
+
actionsSlot,
|
|
59829
|
+
actionsClassName
|
|
59830
|
+
}
|
|
59831
|
+
),
|
|
59832
|
+
renderStats
|
|
59833
|
+
] })
|
|
59738
59834
|
] }) })
|
|
59739
59835
|
}
|
|
59740
59836
|
);
|
|
@@ -59756,7 +59852,7 @@ function HeroMobileAppDownload({
|
|
|
59756
59852
|
notificationSlot,
|
|
59757
59853
|
background,
|
|
59758
59854
|
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
59759
|
-
spacing = "
|
|
59855
|
+
spacing = "xl",
|
|
59760
59856
|
pattern,
|
|
59761
59857
|
patternOpacity,
|
|
59762
59858
|
className,
|
|
@@ -59895,7 +59991,7 @@ function HeroMobileAppDownload({
|
|
|
59895
59991
|
patternOpacity,
|
|
59896
59992
|
className,
|
|
59897
59993
|
containerClassName,
|
|
59898
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
59994
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-8 md:pt-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid items-center gap-12 grid-cols-1 md:grid-cols-2 md:gap-20", children: [
|
|
59899
59995
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-8", contentClassName), children: [
|
|
59900
59996
|
renderBadge,
|
|
59901
59997
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -60010,11 +60106,12 @@ function HeroPricingComparison({
|
|
|
60010
60106
|
function HeroNewsletterMinimal({
|
|
60011
60107
|
heading,
|
|
60012
60108
|
description,
|
|
60013
|
-
inputPlaceholder
|
|
60109
|
+
inputPlaceholder,
|
|
60014
60110
|
submitAction,
|
|
60015
60111
|
formSlot,
|
|
60016
|
-
disclaimer
|
|
60112
|
+
disclaimer,
|
|
60017
60113
|
stats,
|
|
60114
|
+
patternClassName,
|
|
60018
60115
|
statsSlot,
|
|
60019
60116
|
background,
|
|
60020
60117
|
spacing,
|
|
@@ -60032,15 +60129,40 @@ function HeroNewsletterMinimal({
|
|
|
60032
60129
|
const renderStats = React22.useMemo(() => {
|
|
60033
60130
|
if (statsSlot) return statsSlot;
|
|
60034
60131
|
if (!stats || stats.length === 0) return null;
|
|
60035
|
-
return stats.map((stat, index) => /* @__PURE__ */ jsxRuntime.
|
|
60036
|
-
|
|
60037
|
-
|
|
60038
|
-
|
|
60132
|
+
return stats.map((stat, index) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", stat.className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
60133
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
60134
|
+
"div",
|
|
60135
|
+
{
|
|
60136
|
+
className: cn(
|
|
60137
|
+
"flex items-center",
|
|
60138
|
+
stat.icon ? "justify-between" : "justify-center"
|
|
60139
|
+
),
|
|
60140
|
+
children: [
|
|
60141
|
+
stat.icon,
|
|
60142
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
60143
|
+
"div",
|
|
60144
|
+
{
|
|
60145
|
+
className: cn("font-bold ", stat.icon ? "text-xl" : "text-2xl"),
|
|
60146
|
+
children: stat.value
|
|
60147
|
+
}
|
|
60148
|
+
)
|
|
60149
|
+
]
|
|
60150
|
+
}
|
|
60151
|
+
),
|
|
60152
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm"), children: stat.label })
|
|
60153
|
+
] }) }, index));
|
|
60039
60154
|
}, [statsSlot, stats]);
|
|
60040
60155
|
const renderForm = React22.useMemo(() => {
|
|
60041
60156
|
if (formSlot) return formSlot;
|
|
60042
60157
|
if (!submitAction) return null;
|
|
60043
|
-
const {
|
|
60158
|
+
const {
|
|
60159
|
+
label,
|
|
60160
|
+
icon,
|
|
60161
|
+
iconAfter,
|
|
60162
|
+
children,
|
|
60163
|
+
className: actionClassName,
|
|
60164
|
+
...pressableProps
|
|
60165
|
+
} = submitAction;
|
|
60044
60166
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
60045
60167
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
60046
60168
|
Input,
|
|
@@ -60050,44 +60172,122 @@ function HeroNewsletterMinimal({
|
|
|
60050
60172
|
className: cn("h-12 flex-1", inputClassName)
|
|
60051
60173
|
}
|
|
60052
60174
|
),
|
|
60053
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
60054
|
-
|
|
60055
|
-
|
|
60056
|
-
|
|
60057
|
-
|
|
60058
|
-
...pressableProps,
|
|
60059
|
-
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
60060
|
-
icon,
|
|
60061
|
-
label,
|
|
60062
|
-
iconAfter
|
|
60063
|
-
] })
|
|
60064
|
-
}
|
|
60065
|
-
)
|
|
60175
|
+
/* @__PURE__ */ jsxRuntime.jsx(Pressable, { asButton: true, className: actionClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
60176
|
+
icon,
|
|
60177
|
+
label,
|
|
60178
|
+
iconAfter
|
|
60179
|
+
] }) })
|
|
60066
60180
|
] });
|
|
60067
60181
|
}, [formSlot, submitAction, inputPlaceholder, inputClassName]);
|
|
60068
60182
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
60069
60183
|
Section,
|
|
60070
60184
|
{
|
|
60071
|
-
|
|
60072
|
-
|
|
60073
|
-
|
|
60074
|
-
|
|
60075
|
-
|
|
60076
|
-
|
|
60077
|
-
|
|
60078
|
-
|
|
60079
|
-
|
|
60080
|
-
|
|
60081
|
-
|
|
60185
|
+
background,
|
|
60186
|
+
spacing,
|
|
60187
|
+
pattern,
|
|
60188
|
+
patternOpacity,
|
|
60189
|
+
patternClassName,
|
|
60190
|
+
className,
|
|
60191
|
+
containerClassName,
|
|
60192
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
60193
|
+
"div",
|
|
60194
|
+
{
|
|
60195
|
+
className: cn(
|
|
60196
|
+
"container flex flex-col items-center justify-center text-center",
|
|
60197
|
+
containerClassName
|
|
60198
|
+
),
|
|
60199
|
+
children: [
|
|
60200
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
60201
|
+
"h1",
|
|
60202
|
+
{
|
|
60203
|
+
className: cn(
|
|
60204
|
+
"max-w-3xl text-5xl font-bold tracking-tight md:text-6xl lg:text-7xl text-pretty",
|
|
60205
|
+
headingClassName
|
|
60206
|
+
),
|
|
60207
|
+
children: heading
|
|
60208
|
+
}
|
|
60209
|
+
) : heading),
|
|
60210
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
60211
|
+
"p",
|
|
60212
|
+
{
|
|
60213
|
+
className: cn(
|
|
60214
|
+
"mt-6 max-w-full md:max-w-lg text-lg md:text-xl text-balance",
|
|
60215
|
+
descriptionClassName
|
|
60216
|
+
),
|
|
60217
|
+
children: description
|
|
60218
|
+
}
|
|
60219
|
+
) : description),
|
|
60220
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
60221
|
+
"div",
|
|
60222
|
+
{
|
|
60223
|
+
className: cn(
|
|
60224
|
+
"mt-10 flex w-full max-w-md flex-col gap-4 sm:flex-row",
|
|
60225
|
+
formClassName
|
|
60226
|
+
),
|
|
60227
|
+
children: renderForm
|
|
60228
|
+
}
|
|
60229
|
+
),
|
|
60230
|
+
disclaimer && (typeof disclaimer === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-sm", disclaimerClassName), children: disclaimer }) : disclaimer),
|
|
60231
|
+
(statsSlot || stats && stats.length > 0) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
60232
|
+
"div",
|
|
60233
|
+
{
|
|
60234
|
+
className: cn(
|
|
60235
|
+
"mt-16 flex flex-wrap items-center justify-center gap-8",
|
|
60236
|
+
statsClassName
|
|
60237
|
+
),
|
|
60238
|
+
children: renderStats
|
|
60239
|
+
}
|
|
60240
|
+
)
|
|
60241
|
+
]
|
|
60242
|
+
}
|
|
60243
|
+
)
|
|
60082
60244
|
}
|
|
60083
60245
|
);
|
|
60084
60246
|
}
|
|
60247
|
+
var digitVariants = {
|
|
60248
|
+
initial: { y: -20, opacity: 0 },
|
|
60249
|
+
animate: {
|
|
60250
|
+
y: 0,
|
|
60251
|
+
opacity: 1,
|
|
60252
|
+
transition: { type: "spring", stiffness: 300, damping: 25 }
|
|
60253
|
+
},
|
|
60254
|
+
exit: {
|
|
60255
|
+
y: 20,
|
|
60256
|
+
opacity: 0,
|
|
60257
|
+
transition: { duration: 0.15 }
|
|
60258
|
+
}
|
|
60259
|
+
};
|
|
60260
|
+
function CountdownDigit({ value, label }) {
|
|
60261
|
+
const display = value.toString().padStart(2, "0");
|
|
60262
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center", children: [
|
|
60263
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
60264
|
+
"div",
|
|
60265
|
+
{
|
|
60266
|
+
className: cn(
|
|
60267
|
+
"flex h-16 w-16 items-center justify-center overflow-hidden rounded-xl text-3xl font-bold md:h-24 md:w-24 md:text-5xl"
|
|
60268
|
+
),
|
|
60269
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "popLayout", initial: false, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
60270
|
+
framerMotion.motion.span,
|
|
60271
|
+
{
|
|
60272
|
+
variants: digitVariants,
|
|
60273
|
+
initial: "initial",
|
|
60274
|
+
animate: "animate",
|
|
60275
|
+
exit: "exit",
|
|
60276
|
+
children: display
|
|
60277
|
+
},
|
|
60278
|
+
display
|
|
60279
|
+
) })
|
|
60280
|
+
}
|
|
60281
|
+
),
|
|
60282
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("mt-2 text-sm"), children: label })
|
|
60283
|
+
] });
|
|
60284
|
+
}
|
|
60085
60285
|
function HeroComingSoonCountdown({
|
|
60086
60286
|
badgeIcon,
|
|
60087
60287
|
badgeText,
|
|
60088
60288
|
heading,
|
|
60089
60289
|
description,
|
|
60090
|
-
|
|
60290
|
+
countdownDate,
|
|
60091
60291
|
countdownSlot,
|
|
60092
60292
|
emailPlaceholder = "Enter your email",
|
|
60093
60293
|
submitAction,
|
|
@@ -60095,11 +60295,12 @@ function HeroComingSoonCountdown({
|
|
|
60095
60295
|
socialLinks,
|
|
60096
60296
|
socialLinksSlot,
|
|
60097
60297
|
background,
|
|
60098
|
-
|
|
60298
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
60299
|
+
spacing = "xl",
|
|
60099
60300
|
pattern,
|
|
60100
60301
|
patternOpacity,
|
|
60302
|
+
patternClassName,
|
|
60101
60303
|
className,
|
|
60102
|
-
containerClassName,
|
|
60103
60304
|
badgeClassName,
|
|
60104
60305
|
headingClassName,
|
|
60105
60306
|
descriptionClassName,
|
|
@@ -60107,55 +60308,69 @@ function HeroComingSoonCountdown({
|
|
|
60107
60308
|
formClassName,
|
|
60108
60309
|
socialLinksClassName
|
|
60109
60310
|
}) {
|
|
60110
|
-
const
|
|
60111
|
-
|
|
60112
|
-
if (!
|
|
60113
|
-
|
|
60114
|
-
|
|
60115
|
-
|
|
60116
|
-
|
|
60117
|
-
|
|
60118
|
-
|
|
60119
|
-
|
|
60120
|
-
|
|
60121
|
-
|
|
60311
|
+
const [timeLeft, setTimeLeft] = React22.useState(null);
|
|
60312
|
+
const calculateTimeLeft = React22.useCallback(() => {
|
|
60313
|
+
if (!countdownDate) return null;
|
|
60314
|
+
const now = Date.now();
|
|
60315
|
+
const target = countdownDate.getTime();
|
|
60316
|
+
const diff = target - now;
|
|
60317
|
+
if (diff <= 0) return null;
|
|
60318
|
+
return {
|
|
60319
|
+
days: Math.floor(diff / (1e3 * 60 * 60 * 24)),
|
|
60320
|
+
hours: Math.floor(diff % (1e3 * 60 * 60 * 24) / (1e3 * 60 * 60)),
|
|
60321
|
+
minutes: Math.floor(diff % (1e3 * 60 * 60) / (1e3 * 60)),
|
|
60322
|
+
seconds: Math.floor(diff % (1e3 * 60) / 1e3)
|
|
60323
|
+
};
|
|
60324
|
+
}, [countdownDate]);
|
|
60325
|
+
React22.useEffect(() => {
|
|
60326
|
+
setTimeLeft(calculateTimeLeft());
|
|
60327
|
+
if (!countdownDate) return;
|
|
60328
|
+
const timer = setInterval(() => {
|
|
60329
|
+
const remaining = calculateTimeLeft();
|
|
60330
|
+
setTimeLeft(remaining);
|
|
60331
|
+
if (!remaining) clearInterval(timer);
|
|
60332
|
+
}, 1e3);
|
|
60333
|
+
return () => clearInterval(timer);
|
|
60334
|
+
}, [countdownDate, calculateTimeLeft]);
|
|
60335
|
+
const showCountdown = countdownSlot || timeLeft;
|
|
60122
60336
|
const renderForm = React22.useMemo(() => {
|
|
60123
60337
|
if (formSlot) return formSlot;
|
|
60124
60338
|
if (!submitAction) return null;
|
|
60125
|
-
const {
|
|
60339
|
+
const {
|
|
60340
|
+
label,
|
|
60341
|
+
icon,
|
|
60342
|
+
iconAfter,
|
|
60343
|
+
children,
|
|
60344
|
+
className: actionClassName,
|
|
60345
|
+
...pressableProps
|
|
60346
|
+
} = submitAction;
|
|
60126
60347
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
60127
60348
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
60128
60349
|
Input,
|
|
60129
60350
|
{
|
|
60130
60351
|
type: "email",
|
|
60131
60352
|
placeholder: emailPlaceholder,
|
|
60132
|
-
className: cn("h-12 flex-1 border-border/50"
|
|
60353
|
+
className: cn("h-12 flex-1 border-border/50")
|
|
60133
60354
|
}
|
|
60134
60355
|
),
|
|
60135
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
60136
|
-
|
|
60137
|
-
|
|
60138
|
-
|
|
60139
|
-
|
|
60140
|
-
...pressableProps,
|
|
60141
|
-
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
60142
|
-
icon,
|
|
60143
|
-
label,
|
|
60144
|
-
iconAfter
|
|
60145
|
-
] })
|
|
60146
|
-
}
|
|
60147
|
-
)
|
|
60356
|
+
/* @__PURE__ */ jsxRuntime.jsx(Pressable, { asButton: true, className: actionClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
60357
|
+
icon,
|
|
60358
|
+
label,
|
|
60359
|
+
iconAfter
|
|
60360
|
+
] }) })
|
|
60148
60361
|
] });
|
|
60149
60362
|
}, [formSlot, submitAction, emailPlaceholder]);
|
|
60150
60363
|
const renderSocialLinks = React22.useMemo(() => {
|
|
60151
60364
|
if (socialLinksSlot) return socialLinksSlot;
|
|
60152
60365
|
if (!socialLinks || socialLinks.length === 0) return null;
|
|
60153
60366
|
return socialLinks.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
60154
|
-
|
|
60367
|
+
SocialLinkIcon,
|
|
60155
60368
|
{
|
|
60156
60369
|
href: link.href,
|
|
60157
|
-
className: cn(
|
|
60158
|
-
|
|
60370
|
+
className: cn("hover:opacity-80", link.className),
|
|
60371
|
+
asButton: true,
|
|
60372
|
+
variant: "outline",
|
|
60373
|
+
size: "icon"
|
|
60159
60374
|
},
|
|
60160
60375
|
index
|
|
60161
60376
|
));
|
|
@@ -60163,25 +60378,73 @@ function HeroComingSoonCountdown({
|
|
|
60163
60378
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
60164
60379
|
Section,
|
|
60165
60380
|
{
|
|
60166
|
-
|
|
60167
|
-
|
|
60168
|
-
|
|
60169
|
-
|
|
60170
|
-
|
|
60171
|
-
|
|
60172
|
-
|
|
60173
|
-
|
|
60174
|
-
|
|
60175
|
-
|
|
60176
|
-
), children: [
|
|
60177
|
-
badgeIcon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: badgeIcon, size: 16, className: getAccentColor(background) }),
|
|
60381
|
+
background,
|
|
60382
|
+
spacing,
|
|
60383
|
+
pattern,
|
|
60384
|
+
patternOpacity,
|
|
60385
|
+
patternClassName,
|
|
60386
|
+
className,
|
|
60387
|
+
containerClassName,
|
|
60388
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pt-8 md:pt-0", children: [
|
|
60389
|
+
(badgeText || badgeIcon) && /* @__PURE__ */ jsxRuntime.jsxs(Badge, { className: cn("gap-2 px-4 py-2", badgeClassName), children: [
|
|
60390
|
+
badgeIcon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: badgeIcon, size: 16 }),
|
|
60178
60391
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: badgeText })
|
|
60179
60392
|
] }),
|
|
60180
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
60181
|
-
|
|
60182
|
-
|
|
60183
|
-
|
|
60184
|
-
|
|
60393
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
60394
|
+
"h1",
|
|
60395
|
+
{
|
|
60396
|
+
className: cn(
|
|
60397
|
+
"mt-8 max-w-3xl text-5xl font-bold tracking-tight md:text-6xl lg:text-7xl text-balance",
|
|
60398
|
+
headingClassName
|
|
60399
|
+
),
|
|
60400
|
+
children: heading
|
|
60401
|
+
}
|
|
60402
|
+
) : heading),
|
|
60403
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
60404
|
+
"p",
|
|
60405
|
+
{
|
|
60406
|
+
className: cn(
|
|
60407
|
+
"mt-6 max-w-xl text-lg md:text-xl text-balance",
|
|
60408
|
+
descriptionClassName
|
|
60409
|
+
),
|
|
60410
|
+
children: description
|
|
60411
|
+
}
|
|
60412
|
+
) : description),
|
|
60413
|
+
showCountdown && /* @__PURE__ */ jsxRuntime.jsx(
|
|
60414
|
+
"div",
|
|
60415
|
+
{
|
|
60416
|
+
className: cn(
|
|
60417
|
+
"mt-12 grid grid-cols-4 gap-4 md:gap-8",
|
|
60418
|
+
countdownClassName
|
|
60419
|
+
),
|
|
60420
|
+
children: countdownSlot ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
60421
|
+
/* @__PURE__ */ jsxRuntime.jsx(CountdownDigit, { value: timeLeft.days, label: "Days" }),
|
|
60422
|
+
/* @__PURE__ */ jsxRuntime.jsx(CountdownDigit, { value: timeLeft.hours, label: "Hours" }),
|
|
60423
|
+
/* @__PURE__ */ jsxRuntime.jsx(CountdownDigit, { value: timeLeft.minutes, label: "Minutes" }),
|
|
60424
|
+
/* @__PURE__ */ jsxRuntime.jsx(CountdownDigit, { value: timeLeft.seconds, label: "Seconds" })
|
|
60425
|
+
] })
|
|
60426
|
+
}
|
|
60427
|
+
),
|
|
60428
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
60429
|
+
"div",
|
|
60430
|
+
{
|
|
60431
|
+
className: cn(
|
|
60432
|
+
"mt-12 flex w-full max-w-md flex-col gap-4 sm:flex-row",
|
|
60433
|
+
formClassName
|
|
60434
|
+
),
|
|
60435
|
+
children: renderForm
|
|
60436
|
+
}
|
|
60437
|
+
),
|
|
60438
|
+
(socialLinksSlot || socialLinks && socialLinks.length > 0) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
60439
|
+
"div",
|
|
60440
|
+
{
|
|
60441
|
+
className: cn(
|
|
60442
|
+
"mt-16 flex items-center gap-6",
|
|
60443
|
+
socialLinksClassName
|
|
60444
|
+
),
|
|
60445
|
+
children: renderSocialLinks
|
|
60446
|
+
}
|
|
60447
|
+
)
|
|
60185
60448
|
] })
|
|
60186
60449
|
}
|
|
60187
60450
|
);
|
|
@@ -60202,8 +60465,8 @@ function HeroEventRegistration({
|
|
|
60202
60465
|
locationSublabel,
|
|
60203
60466
|
locationSlot,
|
|
60204
60467
|
background,
|
|
60205
|
-
containerClassName = "px-6
|
|
60206
|
-
spacing = "
|
|
60468
|
+
containerClassName = "px-6 sm:px-0 md:px-0 lg:px-0",
|
|
60469
|
+
spacing = "xl",
|
|
60207
60470
|
pattern,
|
|
60208
60471
|
patternOpacity,
|
|
60209
60472
|
className,
|
|
@@ -60217,18 +60480,18 @@ function HeroEventRegistration({
|
|
|
60217
60480
|
}) {
|
|
60218
60481
|
const renderBadge = React22.useMemo(() => {
|
|
60219
60482
|
if (badgeSlot) return badgeSlot;
|
|
60220
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Badge, {
|
|
60221
|
-
badgeIcon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: badgeIcon
|
|
60483
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Badge, { className: "px-4 gap-2", children: [
|
|
60484
|
+
badgeIcon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: badgeIcon }),
|
|
60222
60485
|
badgeText
|
|
60223
60486
|
] });
|
|
60224
60487
|
}, [badgeSlot, badgeIcon, badgeText]);
|
|
60225
60488
|
const renderStats = React22.useMemo(() => {
|
|
60226
60489
|
if (statsSlot) return statsSlot;
|
|
60227
60490
|
if (!stats || stats.length === 0) return null;
|
|
60228
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid grid-cols-3 gap-4 pt-4", statsClassName), children: stats.map((stat, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
60491
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center w-full", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid grid-cols-3 gap-4 pt-4", statsClassName), children: stats.map((stat, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
60229
60492
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-bold ", children: stat.value }),
|
|
60230
60493
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm"), children: stat.label })
|
|
60231
|
-
] }, index)) });
|
|
60494
|
+
] }, index)) }) });
|
|
60232
60495
|
}, [statsSlot, stats, statsClassName]);
|
|
60233
60496
|
const renderLocation = React22.useMemo(() => {
|
|
60234
60497
|
if (locationSlot) return locationSlot;
|
|
@@ -60274,41 +60537,41 @@ function HeroEventRegistration({
|
|
|
60274
60537
|
patternOpacity,
|
|
60275
60538
|
className,
|
|
60276
60539
|
containerClassName,
|
|
60277
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid items-center gap-12 lg:grid-cols-2 lg:gap-20", children: [
|
|
60278
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
60279
|
-
|
|
60280
|
-
|
|
60281
|
-
|
|
60282
|
-
|
|
60283
|
-
|
|
60284
|
-
|
|
60285
|
-
|
|
60286
|
-
|
|
60287
|
-
|
|
60288
|
-
|
|
60289
|
-
|
|
60290
|
-
|
|
60291
|
-
|
|
60292
|
-
|
|
60293
|
-
|
|
60294
|
-
|
|
60540
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-8 md:pt-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid items-center gap-12 lg:grid-cols-2 lg:gap-20", children: [
|
|
60541
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
60542
|
+
"div",
|
|
60543
|
+
{
|
|
60544
|
+
className: cn(
|
|
60545
|
+
"flex flex-col items-start gap-6 md:gap-8",
|
|
60546
|
+
contentClassName
|
|
60547
|
+
),
|
|
60548
|
+
children: [
|
|
60549
|
+
renderBadge,
|
|
60550
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
60551
|
+
"h1",
|
|
60552
|
+
{
|
|
60553
|
+
className: cn(
|
|
60554
|
+
"text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl text-pretty",
|
|
60555
|
+
headingClassName
|
|
60556
|
+
),
|
|
60557
|
+
children: heading
|
|
60558
|
+
}
|
|
60559
|
+
) : heading),
|
|
60560
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg text-balance", descriptionClassName), children: description }) : description),
|
|
60561
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
60562
|
+
BlockActions,
|
|
60563
|
+
{
|
|
60564
|
+
actions,
|
|
60565
|
+
actionsSlot,
|
|
60566
|
+
actionsClassName
|
|
60567
|
+
}
|
|
60295
60568
|
),
|
|
60296
|
-
|
|
60297
|
-
|
|
60298
|
-
|
|
60299
|
-
|
|
60300
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
60301
|
-
BlockActions,
|
|
60302
|
-
{
|
|
60303
|
-
actions,
|
|
60304
|
-
actionsSlot,
|
|
60305
|
-
actionsClassName
|
|
60306
|
-
}
|
|
60307
|
-
),
|
|
60308
|
-
renderStats
|
|
60309
|
-
] }),
|
|
60569
|
+
renderStats
|
|
60570
|
+
]
|
|
60571
|
+
}
|
|
60572
|
+
),
|
|
60310
60573
|
renderImage
|
|
60311
|
-
] })
|
|
60574
|
+
] }) })
|
|
60312
60575
|
}
|
|
60313
60576
|
);
|
|
60314
60577
|
}
|
|
@@ -83751,7 +84014,7 @@ function ListSearchableGrid({
|
|
|
83751
84014
|
}
|
|
83752
84015
|
);
|
|
83753
84016
|
}
|
|
83754
|
-
var { useMemo:
|
|
84017
|
+
var { useMemo: useMemo431 } = React22__namespace;
|
|
83755
84018
|
function OfferModalNewsletterDiscount({
|
|
83756
84019
|
title,
|
|
83757
84020
|
emailPlaceholder,
|
|
@@ -83819,7 +84082,7 @@ function OfferModalNewsletterDiscount({
|
|
|
83819
84082
|
});
|
|
83820
84083
|
const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
|
|
83821
84084
|
const dialogProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
|
|
83822
|
-
const renderCloseButton =
|
|
84085
|
+
const renderCloseButton = useMemo431(() => {
|
|
83823
84086
|
if (closeButtonSlot) return closeButtonSlot;
|
|
83824
84087
|
if (!closeButtonText) return null;
|
|
83825
84088
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute end-1.5 top-1.5", children: /* @__PURE__ */ jsxRuntime.jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -83833,12 +84096,12 @@ function OfferModalNewsletterDiscount({
|
|
|
83833
84096
|
}
|
|
83834
84097
|
) }) });
|
|
83835
84098
|
}, [closeButtonSlot, closeButtonText, closeClassName]);
|
|
83836
|
-
const renderHeader =
|
|
84099
|
+
const renderHeader = useMemo431(() => {
|
|
83837
84100
|
if (headerSlot) return headerSlot;
|
|
83838
84101
|
if (!title) return null;
|
|
83839
84102
|
return /* @__PURE__ */ jsxRuntime.jsx(DialogHeader, { className: headerClassName, children: typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: cn("text-start font-serif text-2xl font-normal leading-snug", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: cn("text-start font-serif text-2xl font-normal leading-snug", titleClassName), children: title }) });
|
|
83840
84103
|
}, [headerSlot, title, headerClassName, titleClassName]);
|
|
83841
|
-
const renderForm =
|
|
84104
|
+
const renderForm = useMemo431(() => {
|
|
83842
84105
|
if (formSlot) return formSlot;
|
|
83843
84106
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
83844
84107
|
forms.Form,
|
|
@@ -83900,7 +84163,7 @@ function OfferModalNewsletterDiscount({
|
|
|
83900
84163
|
}
|
|
83901
84164
|
) });
|
|
83902
84165
|
}
|
|
83903
|
-
var { useMemo:
|
|
84166
|
+
var { useMemo: useMemo432 } = React22__namespace;
|
|
83904
84167
|
function OfferModalMembershipImage({
|
|
83905
84168
|
overline,
|
|
83906
84169
|
title,
|
|
@@ -83977,7 +84240,7 @@ function OfferModalMembershipImage({
|
|
|
83977
84240
|
});
|
|
83978
84241
|
const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
|
|
83979
84242
|
const dialogProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
|
|
83980
|
-
const renderImage =
|
|
84243
|
+
const renderImage = useMemo432(() => {
|
|
83981
84244
|
if (imageSlot) return imageSlot;
|
|
83982
84245
|
if (!image) return null;
|
|
83983
84246
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("max-h-[290px] h-full overflow-hidden max-lg:hidden", imageWrapperClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -83990,7 +84253,7 @@ function OfferModalMembershipImage({
|
|
|
83990
84253
|
}
|
|
83991
84254
|
) });
|
|
83992
84255
|
}, [imageSlot, image, imageWrapperClassName, imageClassName, optixFlowConfig]);
|
|
83993
|
-
const renderCloseButton =
|
|
84256
|
+
const renderCloseButton = useMemo432(() => {
|
|
83994
84257
|
if (closeButtonSlot) return closeButtonSlot;
|
|
83995
84258
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -end-px -top-px z-10", children: /* @__PURE__ */ jsxRuntime.jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
83996
84259
|
Pressable,
|
|
@@ -84006,7 +84269,7 @@ function OfferModalMembershipImage({
|
|
|
84006
84269
|
}
|
|
84007
84270
|
) }) });
|
|
84008
84271
|
}, [closeButtonSlot, closeClassName]);
|
|
84009
|
-
const renderForm =
|
|
84272
|
+
const renderForm = useMemo432(() => {
|
|
84010
84273
|
if (formSlot) return formSlot;
|
|
84011
84274
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
84012
84275
|
forms.Form,
|
|
@@ -84069,7 +84332,7 @@ function OfferModalMembershipImage({
|
|
|
84069
84332
|
}
|
|
84070
84333
|
);
|
|
84071
84334
|
}, [formSlot, form, formConfig, formMethod, emailPlaceholder, inputClassName, submitClassName, buttonText, formClassName]);
|
|
84072
|
-
const renderFooter =
|
|
84335
|
+
const renderFooter = useMemo432(() => {
|
|
84073
84336
|
if (footerSlot) return footerSlot;
|
|
84074
84337
|
if (!description) return null;
|
|
84075
84338
|
return /* @__PURE__ */ jsxRuntime.jsx(DialogFooter, { className: footerClassName, children: /* @__PURE__ */ jsxRuntime.jsx(DialogDescription, { className: cn("text-muted-foreground text-center text-xs leading-relaxed", descriptionClassName), children: description }) });
|
|
@@ -84189,7 +84452,7 @@ function SheetDescription({
|
|
|
84189
84452
|
}
|
|
84190
84453
|
);
|
|
84191
84454
|
}
|
|
84192
|
-
var { useMemo:
|
|
84455
|
+
var { useMemo: useMemo433 } = React22__namespace;
|
|
84193
84456
|
function OfferModalSheetNewsletter({
|
|
84194
84457
|
logo,
|
|
84195
84458
|
logoSlot,
|
|
@@ -84272,7 +84535,7 @@ function OfferModalSheetNewsletter({
|
|
|
84272
84535
|
});
|
|
84273
84536
|
const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
|
|
84274
84537
|
const sheetProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
|
|
84275
|
-
const renderLogo =
|
|
84538
|
+
const renderLogo = useMemo433(() => {
|
|
84276
84539
|
if (logoSlot) return logoSlot;
|
|
84277
84540
|
if (!logo) return null;
|
|
84278
84541
|
const logoSrc = typeof logo.src === "string" ? logo.src : logo.src.light;
|
|
@@ -84286,7 +84549,7 @@ function OfferModalSheetNewsletter({
|
|
|
84286
84549
|
}
|
|
84287
84550
|
);
|
|
84288
84551
|
}, [logoSlot, logo, logoClassName, optixFlowConfig]);
|
|
84289
|
-
const renderHeader =
|
|
84552
|
+
const renderHeader = useMemo433(() => {
|
|
84290
84553
|
if (headerSlot) return headerSlot;
|
|
84291
84554
|
return /* @__PURE__ */ jsxRuntime.jsxs(SheetHeader, { className: cn("gap-8 p-0", headerClassName), children: [
|
|
84292
84555
|
renderLogo,
|
|
@@ -84296,7 +84559,7 @@ function OfferModalSheetNewsletter({
|
|
|
84296
84559
|
] })
|
|
84297
84560
|
] });
|
|
84298
84561
|
}, [headerSlot, renderLogo, headerClassName, title, titleClassName, description, descriptionClassName]);
|
|
84299
|
-
const renderForm =
|
|
84562
|
+
const renderForm = useMemo433(() => {
|
|
84300
84563
|
if (formSlot) return formSlot;
|
|
84301
84564
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
84302
84565
|
forms.Form,
|
|
@@ -84344,7 +84607,7 @@ function OfferModalSheetNewsletter({
|
|
|
84344
84607
|
}
|
|
84345
84608
|
);
|
|
84346
84609
|
}, [formSlot, form, formConfig, formMethod, emailPlaceholder, inputClassName, submitClassName, buttonText, formClassName]);
|
|
84347
|
-
const renderLegal =
|
|
84610
|
+
const renderLegal = useMemo433(() => {
|
|
84348
84611
|
if (legalSlot) return legalSlot;
|
|
84349
84612
|
if (!termsUrl || !termsText || !privacyUrl || !privacyText) return null;
|
|
84350
84613
|
return /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn("text-muted-foreground text-xs", legalClassName), children: [
|
|
@@ -84358,7 +84621,7 @@ function OfferModalSheetNewsletter({
|
|
|
84358
84621
|
"."
|
|
84359
84622
|
] });
|
|
84360
84623
|
}, [legalSlot, termsUrl, termsText, privacyUrl, privacyText, legalClassName]);
|
|
84361
|
-
const renderImage =
|
|
84624
|
+
const renderImage = useMemo433(() => {
|
|
84362
84625
|
if (imageSlot) return imageSlot;
|
|
84363
84626
|
if (!image) return null;
|
|
84364
84627
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("h-1/2 basis-1/2", imageWrapperClassName), children: /* @__PURE__ */ jsxRuntime.jsx(AspectRatio, { ratio: 1, className: "overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
|