@opensite/ui 0.7.3 → 0.7.5
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/carousel-fullscreen-scroll-fx.cjs +573 -113
- package/dist/carousel-fullscreen-scroll-fx.d.cts +10 -2
- package/dist/carousel-fullscreen-scroll-fx.d.ts +10 -2
- package/dist/carousel-fullscreen-scroll-fx.js +574 -114
- package/dist/registry.cjs +162 -121
- package/dist/registry.js +162 -121
- package/package.json +1 -1
package/dist/registry.js
CHANGED
|
@@ -18240,6 +18240,7 @@ function CarouselFullscreenScrollFx({
|
|
|
18240
18240
|
slides,
|
|
18241
18241
|
slidesSlot,
|
|
18242
18242
|
className,
|
|
18243
|
+
containerClassName = "h-full flex flex-col justify-center",
|
|
18243
18244
|
navigationClassName,
|
|
18244
18245
|
contentClassName,
|
|
18245
18246
|
subtitleClassName,
|
|
@@ -18255,40 +18256,44 @@ function CarouselFullscreenScrollFx({
|
|
|
18255
18256
|
patternOpacity = 0.033
|
|
18256
18257
|
}) {
|
|
18257
18258
|
const containerRef = React52.useRef(null);
|
|
18259
|
+
const scrollContainerRef = React52.useRef(null);
|
|
18258
18260
|
const [activeIndex, setActiveIndex] = React52.useState(0);
|
|
18259
18261
|
React52.useEffect(() => {
|
|
18260
|
-
const
|
|
18261
|
-
slides?.
|
|
18262
|
-
|
|
18263
|
-
|
|
18264
|
-
|
|
18265
|
-
|
|
18266
|
-
|
|
18267
|
-
if (entry.isIntersecting && entry.intersectionRatio > 0.5) {
|
|
18268
|
-
setActiveIndex(index);
|
|
18269
|
-
}
|
|
18270
|
-
});
|
|
18271
|
-
},
|
|
18272
|
-
{ threshold: 0.5 }
|
|
18273
|
-
);
|
|
18274
|
-
observer.observe(element);
|
|
18275
|
-
observers.push(observer);
|
|
18276
|
-
}
|
|
18277
|
-
});
|
|
18278
|
-
return () => {
|
|
18279
|
-
observers.forEach((observer) => observer.disconnect());
|
|
18262
|
+
const scrollContainer = scrollContainerRef.current;
|
|
18263
|
+
if (!scrollContainer || !slides?.length) return;
|
|
18264
|
+
const handleScroll = () => {
|
|
18265
|
+
const scrollLeft = scrollContainer.scrollLeft;
|
|
18266
|
+
const slideWidth = scrollContainer.clientWidth;
|
|
18267
|
+
const newIndex = Math.round(scrollLeft / slideWidth);
|
|
18268
|
+
setActiveIndex(newIndex);
|
|
18280
18269
|
};
|
|
18270
|
+
scrollContainer.addEventListener("scroll", handleScroll);
|
|
18271
|
+
return () => scrollContainer.removeEventListener("scroll", handleScroll);
|
|
18281
18272
|
}, [slides]);
|
|
18273
|
+
const scrollToSlide = React52.useCallback((index) => {
|
|
18274
|
+
const scrollContainer = scrollContainerRef.current;
|
|
18275
|
+
if (!scrollContainer) return;
|
|
18276
|
+
const slideWidth = scrollContainer.clientWidth;
|
|
18277
|
+
if (typeof scrollContainer.scrollTo === "function") {
|
|
18278
|
+
scrollContainer.scrollTo({
|
|
18279
|
+
left: slideWidth * index,
|
|
18280
|
+
behavior: "smooth"
|
|
18281
|
+
});
|
|
18282
|
+
} else {
|
|
18283
|
+
scrollContainer.scrollLeft = slideWidth * index;
|
|
18284
|
+
}
|
|
18285
|
+
}, []);
|
|
18282
18286
|
return /* @__PURE__ */ jsxs(
|
|
18283
18287
|
Section,
|
|
18284
18288
|
{
|
|
18285
18289
|
ref: containerRef,
|
|
18286
18290
|
background,
|
|
18287
18291
|
spacing,
|
|
18288
|
-
className: cn(className),
|
|
18292
|
+
className: cn("relative overflow-hidden", className),
|
|
18289
18293
|
pattern,
|
|
18290
18294
|
patternOpacity,
|
|
18291
18295
|
containerMaxWidth,
|
|
18296
|
+
containerClassName: "p-0",
|
|
18292
18297
|
children: [
|
|
18293
18298
|
/* @__PURE__ */ jsx(
|
|
18294
18299
|
"div",
|
|
@@ -18300,10 +18305,7 @@ function CarouselFullscreenScrollFx({
|
|
|
18300
18305
|
children: slides?.map((slide, index) => /* @__PURE__ */ jsx(
|
|
18301
18306
|
"button",
|
|
18302
18307
|
{
|
|
18303
|
-
onClick: () =>
|
|
18304
|
-
const element = document.getElementById(`fullscreen-${slide.id}`);
|
|
18305
|
-
element?.scrollIntoView({ behavior: "smooth" });
|
|
18306
|
-
},
|
|
18308
|
+
onClick: () => scrollToSlide(index),
|
|
18307
18309
|
className: cn(
|
|
18308
18310
|
"h-3 w-3 rounded-full border-2 transition-all",
|
|
18309
18311
|
activeIndex === index ? "scale-125 border-white bg-white" : "border-white/50 bg-transparent hover:border-white"
|
|
@@ -18314,76 +18316,115 @@ function CarouselFullscreenScrollFx({
|
|
|
18314
18316
|
))
|
|
18315
18317
|
}
|
|
18316
18318
|
),
|
|
18317
|
-
|
|
18319
|
+
/* @__PURE__ */ jsx(
|
|
18318
18320
|
"div",
|
|
18319
18321
|
{
|
|
18320
|
-
|
|
18321
|
-
className:
|
|
18322
|
-
|
|
18323
|
-
|
|
18324
|
-
|
|
18325
|
-
|
|
18326
|
-
|
|
18327
|
-
|
|
18328
|
-
|
|
18329
|
-
|
|
18330
|
-
|
|
18331
|
-
|
|
18332
|
-
className:
|
|
18333
|
-
|
|
18334
|
-
|
|
18335
|
-
|
|
18336
|
-
|
|
18337
|
-
|
|
18338
|
-
|
|
18339
|
-
|
|
18340
|
-
|
|
18341
|
-
|
|
18342
|
-
|
|
18343
|
-
|
|
18344
|
-
|
|
18345
|
-
|
|
18346
|
-
|
|
18347
|
-
|
|
18348
|
-
|
|
18349
|
-
|
|
18322
|
+
ref: scrollContainerRef,
|
|
18323
|
+
className: "flex h-screen snap-x snap-mandatory overflow-x-auto overflow-y-hidden scroll-smooth",
|
|
18324
|
+
style: { scrollbarWidth: "none", msOverflowStyle: "none" },
|
|
18325
|
+
children: slidesSlot ? slidesSlot : slides?.map((slide, index) => {
|
|
18326
|
+
const renderActions = React52.useMemo(() => {
|
|
18327
|
+
if (!slide.actions || slide.actions.length === 0) return null;
|
|
18328
|
+
return slide.actions.map((action, actionIndex) => {
|
|
18329
|
+
const {
|
|
18330
|
+
label,
|
|
18331
|
+
icon,
|
|
18332
|
+
iconAfter,
|
|
18333
|
+
children,
|
|
18334
|
+
className: actionClassName,
|
|
18335
|
+
asButton,
|
|
18336
|
+
...pressableProps
|
|
18337
|
+
} = action;
|
|
18338
|
+
return /* @__PURE__ */ jsx(
|
|
18339
|
+
Pressable,
|
|
18340
|
+
{
|
|
18341
|
+
asButton: asButton ?? true,
|
|
18342
|
+
className: actionClassName,
|
|
18343
|
+
...pressableProps,
|
|
18344
|
+
children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
18345
|
+
icon,
|
|
18346
|
+
label,
|
|
18347
|
+
iconAfter
|
|
18348
|
+
] })
|
|
18349
|
+
},
|
|
18350
|
+
actionIndex
|
|
18351
|
+
);
|
|
18352
|
+
});
|
|
18353
|
+
}, [slide.actions]);
|
|
18354
|
+
return /* @__PURE__ */ jsxs(
|
|
18350
18355
|
"div",
|
|
18351
18356
|
{
|
|
18357
|
+
id: `fullscreen-${slide.id}`,
|
|
18352
18358
|
className: cn(
|
|
18353
|
-
"relative
|
|
18354
|
-
|
|
18359
|
+
"relative flex h-screen min-w-full snap-start items-center justify-center overflow-hidden",
|
|
18360
|
+
slide.className
|
|
18355
18361
|
),
|
|
18356
18362
|
children: [
|
|
18357
|
-
|
|
18358
|
-
|
|
18359
|
-
|
|
18360
|
-
|
|
18361
|
-
|
|
18362
|
-
|
|
18363
|
-
|
|
18364
|
-
|
|
18365
|
-
|
|
18366
|
-
|
|
18367
|
-
|
|
18368
|
-
|
|
18369
|
-
|
|
18370
|
-
|
|
18371
|
-
|
|
18372
|
-
|
|
18373
|
-
|
|
18374
|
-
|
|
18375
|
-
|
|
18376
|
-
|
|
18377
|
-
|
|
18378
|
-
|
|
18363
|
+
/* @__PURE__ */ jsxs("div", { className: "absolute inset-0", children: [
|
|
18364
|
+
/* @__PURE__ */ jsx(
|
|
18365
|
+
Img,
|
|
18366
|
+
{
|
|
18367
|
+
src: slide.image,
|
|
18368
|
+
alt: typeof slide.title === "string" ? slide.title : `Slide ${index + 1}`,
|
|
18369
|
+
className: cn(
|
|
18370
|
+
"h-full w-full object-cover",
|
|
18371
|
+
slide.imageClassName
|
|
18372
|
+
),
|
|
18373
|
+
optixFlowConfig
|
|
18374
|
+
}
|
|
18375
|
+
),
|
|
18376
|
+
/* @__PURE__ */ jsx(
|
|
18377
|
+
"div",
|
|
18378
|
+
{
|
|
18379
|
+
className: "absolute inset-0",
|
|
18380
|
+
style: {
|
|
18381
|
+
backgroundColor: slide.overlayColor || "rgba(0, 0, 0, 0.5)"
|
|
18382
|
+
}
|
|
18383
|
+
}
|
|
18384
|
+
)
|
|
18385
|
+
] }),
|
|
18386
|
+
/* @__PURE__ */ jsxs(
|
|
18387
|
+
"div",
|
|
18379
18388
|
{
|
|
18380
18389
|
className: cn(
|
|
18381
|
-
"mx-auto max-w-2xl text-
|
|
18382
|
-
|
|
18390
|
+
"relative z-10 mx-auto max-w-4xl md:max-w-2xl px-6 text-center text-white text-shadow",
|
|
18391
|
+
contentClassName
|
|
18383
18392
|
),
|
|
18384
|
-
children:
|
|
18393
|
+
children: [
|
|
18394
|
+
slide.subtitle && (typeof slide.subtitle === "string" ? /* @__PURE__ */ jsx(
|
|
18395
|
+
"p",
|
|
18396
|
+
{
|
|
18397
|
+
className: cn(
|
|
18398
|
+
"mb-4 text-sm font-medium uppercase tracking-widest text-white/70",
|
|
18399
|
+
subtitleClassName
|
|
18400
|
+
),
|
|
18401
|
+
children: slide.subtitle
|
|
18402
|
+
}
|
|
18403
|
+
) : /* @__PURE__ */ jsx("div", { className: subtitleClassName, children: slide.subtitle })),
|
|
18404
|
+
slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsx(
|
|
18405
|
+
"h2",
|
|
18406
|
+
{
|
|
18407
|
+
className: cn(
|
|
18408
|
+
"mb-6 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl",
|
|
18409
|
+
titleClassName
|
|
18410
|
+
),
|
|
18411
|
+
children: slide.title
|
|
18412
|
+
}
|
|
18413
|
+
) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: slide.title })),
|
|
18414
|
+
slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsx(
|
|
18415
|
+
"p",
|
|
18416
|
+
{
|
|
18417
|
+
className: cn(
|
|
18418
|
+
"mx-auto text-lg text-white/80 md:text-xl text-balance",
|
|
18419
|
+
descriptionClassName
|
|
18420
|
+
),
|
|
18421
|
+
children: slide.description
|
|
18422
|
+
}
|
|
18423
|
+
) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: slide.description })),
|
|
18424
|
+
renderActions && /* @__PURE__ */ jsx("div", { className: "mt-8 flex flex-col items-center justify-center gap-3 sm:flex-row", children: renderActions })
|
|
18425
|
+
]
|
|
18385
18426
|
}
|
|
18386
|
-
)
|
|
18427
|
+
),
|
|
18387
18428
|
index < (slides?.length ?? 0) - 1 && /* @__PURE__ */ jsx(
|
|
18388
18429
|
"div",
|
|
18389
18430
|
{
|
|
@@ -18393,32 +18434,32 @@ function CarouselFullscreenScrollFx({
|
|
|
18393
18434
|
),
|
|
18394
18435
|
children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-2", children: [
|
|
18395
18436
|
/* @__PURE__ */ jsx("span", { className: "text-xs uppercase tracking-widest text-white/50", children: "Scroll" }),
|
|
18396
|
-
/* @__PURE__ */ jsx("div", { className: "h-12 w-px animate-pulse bg-
|
|
18437
|
+
/* @__PURE__ */ jsx("div", { className: "h-12 w-px animate-pulse bg-linear-to-b from-white/50 to-transparent" })
|
|
18397
18438
|
] })
|
|
18398
18439
|
}
|
|
18440
|
+
),
|
|
18441
|
+
/* @__PURE__ */ jsxs(
|
|
18442
|
+
"div",
|
|
18443
|
+
{
|
|
18444
|
+
className: cn(
|
|
18445
|
+
"absolute bottom-8 right-8 text-sm text-white/50",
|
|
18446
|
+
counterClassName
|
|
18447
|
+
),
|
|
18448
|
+
children: [
|
|
18449
|
+
String(index + 1).padStart(2, "0"),
|
|
18450
|
+
" /",
|
|
18451
|
+
" ",
|
|
18452
|
+
String(slides?.length ?? 0).padStart(2, "0")
|
|
18453
|
+
]
|
|
18454
|
+
}
|
|
18399
18455
|
)
|
|
18400
18456
|
]
|
|
18401
|
-
}
|
|
18402
|
-
|
|
18403
|
-
|
|
18404
|
-
|
|
18405
|
-
|
|
18406
|
-
|
|
18407
|
-
"absolute bottom-8 right-8 text-sm text-white/50",
|
|
18408
|
-
counterClassName
|
|
18409
|
-
),
|
|
18410
|
-
children: [
|
|
18411
|
-
String(index + 1).padStart(2, "0"),
|
|
18412
|
-
" /",
|
|
18413
|
-
" ",
|
|
18414
|
-
String(slides?.length ?? 0).padStart(2, "0")
|
|
18415
|
-
]
|
|
18416
|
-
}
|
|
18417
|
-
)
|
|
18418
|
-
]
|
|
18419
|
-
},
|
|
18420
|
-
slide.id
|
|
18421
|
-
))
|
|
18457
|
+
},
|
|
18458
|
+
slide.id
|
|
18459
|
+
);
|
|
18460
|
+
})
|
|
18461
|
+
}
|
|
18462
|
+
)
|
|
18422
18463
|
]
|
|
18423
18464
|
}
|
|
18424
18465
|
);
|
|
@@ -76900,7 +76941,7 @@ function ListSearchableGrid({
|
|
|
76900
76941
|
}
|
|
76901
76942
|
);
|
|
76902
76943
|
}
|
|
76903
|
-
var { useMemo:
|
|
76944
|
+
var { useMemo: useMemo441 } = React52;
|
|
76904
76945
|
function OfferModalNewsletterDiscount({
|
|
76905
76946
|
title,
|
|
76906
76947
|
emailPlaceholder,
|
|
@@ -76967,7 +77008,7 @@ function OfferModalNewsletterDiscount({
|
|
|
76967
77008
|
});
|
|
76968
77009
|
const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
|
|
76969
77010
|
const dialogProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
|
|
76970
|
-
const renderCloseButton =
|
|
77011
|
+
const renderCloseButton = useMemo441(() => {
|
|
76971
77012
|
if (closeButtonSlot) return closeButtonSlot;
|
|
76972
77013
|
if (!closeButtonText) return null;
|
|
76973
77014
|
return /* @__PURE__ */ jsx("div", { className: "absolute end-1.5 top-1.5", children: /* @__PURE__ */ jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
@@ -76981,12 +77022,12 @@ function OfferModalNewsletterDiscount({
|
|
|
76981
77022
|
}
|
|
76982
77023
|
) }) });
|
|
76983
77024
|
}, [closeButtonSlot, closeButtonText, closeClassName]);
|
|
76984
|
-
const renderHeader =
|
|
77025
|
+
const renderHeader = useMemo441(() => {
|
|
76985
77026
|
if (headerSlot) return headerSlot;
|
|
76986
77027
|
if (!title) return null;
|
|
76987
77028
|
return /* @__PURE__ */ jsx(DialogHeader, { className: headerClassName, children: typeof title === "string" ? /* @__PURE__ */ jsx(DialogTitle, { className: cn("text-start font-serif text-2xl font-normal leading-snug", titleClassName), children: title }) : /* @__PURE__ */ jsx(DialogTitle, { className: cn("text-start font-serif text-2xl font-normal leading-snug", titleClassName), children: title }) });
|
|
76988
77029
|
}, [headerSlot, title, headerClassName, titleClassName]);
|
|
76989
|
-
const renderForm =
|
|
77030
|
+
const renderForm = useMemo441(() => {
|
|
76990
77031
|
if (formSlot) return formSlot;
|
|
76991
77032
|
return /* @__PURE__ */ jsxs(
|
|
76992
77033
|
Form,
|
|
@@ -77048,7 +77089,7 @@ function OfferModalNewsletterDiscount({
|
|
|
77048
77089
|
}
|
|
77049
77090
|
) });
|
|
77050
77091
|
}
|
|
77051
|
-
var { useMemo:
|
|
77092
|
+
var { useMemo: useMemo442 } = React52;
|
|
77052
77093
|
function OfferModalMembershipImage({
|
|
77053
77094
|
overline,
|
|
77054
77095
|
title,
|
|
@@ -77124,7 +77165,7 @@ function OfferModalMembershipImage({
|
|
|
77124
77165
|
});
|
|
77125
77166
|
const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
|
|
77126
77167
|
const dialogProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
|
|
77127
|
-
const renderImage =
|
|
77168
|
+
const renderImage = useMemo442(() => {
|
|
77128
77169
|
if (imageSlot) return imageSlot;
|
|
77129
77170
|
if (!image) return null;
|
|
77130
77171
|
return /* @__PURE__ */ jsx("div", { className: cn("max-h-[290px] h-full overflow-hidden max-lg:hidden", imageWrapperClassName), children: /* @__PURE__ */ jsx(
|
|
@@ -77137,7 +77178,7 @@ function OfferModalMembershipImage({
|
|
|
77137
77178
|
}
|
|
77138
77179
|
) });
|
|
77139
77180
|
}, [imageSlot, image, imageWrapperClassName, imageClassName, optixFlowConfig]);
|
|
77140
|
-
const renderCloseButton =
|
|
77181
|
+
const renderCloseButton = useMemo442(() => {
|
|
77141
77182
|
if (closeButtonSlot) return closeButtonSlot;
|
|
77142
77183
|
return /* @__PURE__ */ jsx("div", { className: "absolute -end-px -top-px z-10", children: /* @__PURE__ */ jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
77143
77184
|
Pressable,
|
|
@@ -77153,7 +77194,7 @@ function OfferModalMembershipImage({
|
|
|
77153
77194
|
}
|
|
77154
77195
|
) }) });
|
|
77155
77196
|
}, [closeButtonSlot, closeClassName]);
|
|
77156
|
-
const renderForm =
|
|
77197
|
+
const renderForm = useMemo442(() => {
|
|
77157
77198
|
if (formSlot) return formSlot;
|
|
77158
77199
|
return /* @__PURE__ */ jsxs(
|
|
77159
77200
|
Form,
|
|
@@ -77216,7 +77257,7 @@ function OfferModalMembershipImage({
|
|
|
77216
77257
|
}
|
|
77217
77258
|
);
|
|
77218
77259
|
}, [formSlot, form, formConfig, formMethod, emailPlaceholder, inputClassName, submitClassName, buttonText, formClassName]);
|
|
77219
|
-
const renderFooter =
|
|
77260
|
+
const renderFooter = useMemo442(() => {
|
|
77220
77261
|
if (footerSlot) return footerSlot;
|
|
77221
77262
|
if (!description) return null;
|
|
77222
77263
|
return /* @__PURE__ */ jsx(DialogFooter, { className: footerClassName, children: /* @__PURE__ */ jsx(DialogDescription, { className: cn("text-muted-foreground text-center text-xs leading-relaxed", descriptionClassName), children: description }) });
|
|
@@ -77244,7 +77285,7 @@ function OfferModalMembershipImage({
|
|
|
77244
77285
|
}
|
|
77245
77286
|
) });
|
|
77246
77287
|
}
|
|
77247
|
-
var { useMemo:
|
|
77288
|
+
var { useMemo: useMemo443 } = React52;
|
|
77248
77289
|
function OfferModalSheetNewsletter({
|
|
77249
77290
|
logo,
|
|
77250
77291
|
logoSlot,
|
|
@@ -77326,7 +77367,7 @@ function OfferModalSheetNewsletter({
|
|
|
77326
77367
|
});
|
|
77327
77368
|
const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
|
|
77328
77369
|
const sheetProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
|
|
77329
|
-
const renderLogo =
|
|
77370
|
+
const renderLogo = useMemo443(() => {
|
|
77330
77371
|
if (logoSlot) return logoSlot;
|
|
77331
77372
|
if (!logo) return null;
|
|
77332
77373
|
const logoSrc = typeof logo.src === "string" ? logo.src : logo.src.light;
|
|
@@ -77340,7 +77381,7 @@ function OfferModalSheetNewsletter({
|
|
|
77340
77381
|
}
|
|
77341
77382
|
);
|
|
77342
77383
|
}, [logoSlot, logo, logoClassName, optixFlowConfig]);
|
|
77343
|
-
const renderHeader =
|
|
77384
|
+
const renderHeader = useMemo443(() => {
|
|
77344
77385
|
if (headerSlot) return headerSlot;
|
|
77345
77386
|
return /* @__PURE__ */ jsxs(SheetHeader, { className: cn("gap-8 p-0", headerClassName), children: [
|
|
77346
77387
|
renderLogo,
|
|
@@ -77350,7 +77391,7 @@ function OfferModalSheetNewsletter({
|
|
|
77350
77391
|
] })
|
|
77351
77392
|
] });
|
|
77352
77393
|
}, [headerSlot, renderLogo, headerClassName, title, titleClassName, description, descriptionClassName]);
|
|
77353
|
-
const renderForm =
|
|
77394
|
+
const renderForm = useMemo443(() => {
|
|
77354
77395
|
if (formSlot) return formSlot;
|
|
77355
77396
|
return /* @__PURE__ */ jsx(
|
|
77356
77397
|
Form,
|
|
@@ -77398,7 +77439,7 @@ function OfferModalSheetNewsletter({
|
|
|
77398
77439
|
}
|
|
77399
77440
|
);
|
|
77400
77441
|
}, [formSlot, form, formConfig, formMethod, emailPlaceholder, inputClassName, submitClassName, buttonText, formClassName]);
|
|
77401
|
-
const renderLegal =
|
|
77442
|
+
const renderLegal = useMemo443(() => {
|
|
77402
77443
|
if (legalSlot) return legalSlot;
|
|
77403
77444
|
if (!termsUrl || !termsText || !privacyUrl || !privacyText) return null;
|
|
77404
77445
|
return /* @__PURE__ */ jsxs("p", { className: cn("text-muted-foreground text-xs", legalClassName), children: [
|
|
@@ -77412,7 +77453,7 @@ function OfferModalSheetNewsletter({
|
|
|
77412
77453
|
"."
|
|
77413
77454
|
] });
|
|
77414
77455
|
}, [legalSlot, termsUrl, termsText, privacyUrl, privacyText, legalClassName]);
|
|
77415
|
-
const renderImage =
|
|
77456
|
+
const renderImage = useMemo443(() => {
|
|
77416
77457
|
if (imageSlot) return imageSlot;
|
|
77417
77458
|
if (!image) return null;
|
|
77418
77459
|
return /* @__PURE__ */ jsx("div", { className: cn("h-1/2 basis-1/2", imageWrapperClassName), children: /* @__PURE__ */ jsx(AspectRatio, { ratio: 1, className: "overflow-hidden", children: /* @__PURE__ */ jsx(
|