@opensite/ui 3.4.3 → 3.4.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/components.cjs +47 -49
- package/dist/components.js +47 -49
- package/dist/feature-checklist-image.cjs +86 -23
- package/dist/feature-checklist-image.d.cts +21 -1
- package/dist/feature-checklist-image.d.ts +21 -1
- package/dist/feature-checklist-image.js +86 -23
- package/dist/hero-image-slider.cjs +47 -49
- package/dist/hero-image-slider.js +47 -49
- package/dist/image-slider.cjs +47 -49
- package/dist/image-slider.js +47 -49
- package/dist/index.cjs +47 -49
- package/dist/index.js +47 -49
- package/dist/registry.cjs +135 -74
- package/dist/registry.js +135 -74
- package/dist/social-link-icon.d.cts +1 -1
- package/dist/social-link-icon.d.ts +1 -1
- package/package.json +3 -3
|
@@ -401,6 +401,12 @@ var Section = React__default.forwardRef(
|
|
|
401
401
|
}
|
|
402
402
|
);
|
|
403
403
|
Section.displayName = "Section";
|
|
404
|
+
function isRenderableNode(value) {
|
|
405
|
+
return value !== null && value !== void 0 && typeof value !== "boolean" && !(typeof value === "string" && value.trim().length === 0);
|
|
406
|
+
}
|
|
407
|
+
function firstRenderableNode(...values) {
|
|
408
|
+
return values.find(isRenderableNode);
|
|
409
|
+
}
|
|
404
410
|
function FeatureChecklistImage({
|
|
405
411
|
sectionId = "feature-checklist-image",
|
|
406
412
|
title,
|
|
@@ -413,9 +419,10 @@ function FeatureChecklistImage({
|
|
|
413
419
|
actions,
|
|
414
420
|
actionsSlot,
|
|
415
421
|
checklistItems,
|
|
422
|
+
benefits,
|
|
416
423
|
checklistSlot,
|
|
417
424
|
className,
|
|
418
|
-
containerClassName = "px-6 sm:px-6 md:px-6 lg:px-8",
|
|
425
|
+
containerClassName = "max-w-screen-2xl px-6 sm:px-6 md:px-6 lg:px-8",
|
|
419
426
|
contentWrapperClassName,
|
|
420
427
|
imageClassName,
|
|
421
428
|
contentClassName,
|
|
@@ -472,33 +479,69 @@ function FeatureChecklistImage({
|
|
|
472
479
|
if (imageSlot) return imageSlot;
|
|
473
480
|
if (!imageSrc) return null;
|
|
474
481
|
return /* @__PURE__ */ jsx(
|
|
475
|
-
|
|
482
|
+
"div",
|
|
476
483
|
{
|
|
477
|
-
src: imageSrc,
|
|
478
|
-
alt: imageAlt || "Feature illustration",
|
|
479
484
|
className: cn(
|
|
480
|
-
"
|
|
485
|
+
"relative aspect-[3/2] w-full overflow-hidden rounded-lg shadow-xl",
|
|
481
486
|
imageClassName
|
|
482
487
|
),
|
|
483
|
-
|
|
484
|
-
|
|
488
|
+
children: /* @__PURE__ */ jsx(
|
|
489
|
+
Img,
|
|
490
|
+
{
|
|
491
|
+
src: imageSrc,
|
|
492
|
+
alt: imageAlt || "Feature illustration",
|
|
493
|
+
className: cn(
|
|
494
|
+
"block h-full w-full object-cover object-center",
|
|
495
|
+
imageClassName
|
|
496
|
+
),
|
|
497
|
+
loading: "lazy",
|
|
498
|
+
optixFlowConfig
|
|
499
|
+
}
|
|
500
|
+
)
|
|
485
501
|
}
|
|
486
502
|
);
|
|
487
503
|
}, [imageSlot, imageSrc, imageAlt, imageClassName, optixFlowConfig]);
|
|
488
504
|
const checklistContent = useMemo(() => {
|
|
489
505
|
if (checklistSlot) return checklistSlot;
|
|
490
|
-
|
|
491
|
-
|
|
506
|
+
const items = checklistItems ?? benefits;
|
|
507
|
+
if (!items || items.length === 0) return null;
|
|
508
|
+
const renderedItems = [];
|
|
509
|
+
items.forEach((item, index) => {
|
|
492
510
|
const isString = typeof item === "string";
|
|
493
|
-
const content = isString ? item : item.content;
|
|
494
|
-
const
|
|
511
|
+
const content = isString ? item : firstRenderableNode(item.content, item.text, item.label);
|
|
512
|
+
const title2 = isString ? void 0 : item.title;
|
|
513
|
+
const description2 = isString ? void 0 : item.description;
|
|
514
|
+
if (!isRenderableNode(content) && !isRenderableNode(title2) && !isRenderableNode(description2)) {
|
|
515
|
+
return;
|
|
516
|
+
}
|
|
517
|
+
const iconElement = isString ? /* @__PURE__ */ jsx(
|
|
518
|
+
DynamicIcon,
|
|
519
|
+
{
|
|
520
|
+
name: "lucide/circle-check-big",
|
|
521
|
+
size: 20,
|
|
522
|
+
className: "h-5 w-5"
|
|
523
|
+
}
|
|
524
|
+
) : item.icon ?? (item.iconName ? /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 20, className: "h-5 w-5" }) : /* @__PURE__ */ jsx(
|
|
525
|
+
DynamicIcon,
|
|
526
|
+
{
|
|
527
|
+
name: "lucide/circle-check-big",
|
|
528
|
+
size: 20,
|
|
529
|
+
className: "h-5 w-5"
|
|
530
|
+
}
|
|
531
|
+
));
|
|
495
532
|
const itemClassName = isString ? void 0 : item.className;
|
|
496
|
-
|
|
497
|
-
/* @__PURE__ */
|
|
498
|
-
|
|
499
|
-
|
|
533
|
+
renderedItems.push(
|
|
534
|
+
/* @__PURE__ */ jsxs("li", { className: cn("flex items-start gap-3", itemClassName), children: [
|
|
535
|
+
/* @__PURE__ */ jsx("div", { className: "mt-1 flex h-5 w-5 shrink-0 items-center justify-center", children: iconElement }),
|
|
536
|
+
isRenderableNode(content) ? typeof content === "string" ? /* @__PURE__ */ jsx("span", { className: "text-base font-medium leading-relaxed md:text-lg", children: content }) : /* @__PURE__ */ jsx("div", { className: "min-w-0 text-base font-medium leading-relaxed md:text-lg", children: content }) : /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
537
|
+
isRenderableNode(title2) && (typeof title2 === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-base font-semibold leading-snug md:text-lg", children: title2 }) : /* @__PURE__ */ jsx("div", { className: "text-base font-semibold leading-snug md:text-lg", children: title2 })),
|
|
538
|
+
isRenderableNode(description2) && (typeof description2 === "string" ? /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm leading-relaxed text-current/75 md:text-base", children: description2 }) : /* @__PURE__ */ jsx("div", { className: "mt-1 text-sm leading-relaxed text-current/75 md:text-base", children: description2 }))
|
|
539
|
+
] })
|
|
540
|
+
] }, index)
|
|
541
|
+
);
|
|
500
542
|
});
|
|
501
|
-
|
|
543
|
+
return renderedItems.length > 0 ? renderedItems : null;
|
|
544
|
+
}, [checklistSlot, checklistItems, benefits]);
|
|
502
545
|
return /* @__PURE__ */ jsx(
|
|
503
546
|
Section,
|
|
504
547
|
{
|
|
@@ -514,7 +557,8 @@ function FeatureChecklistImage({
|
|
|
514
557
|
"div",
|
|
515
558
|
{
|
|
516
559
|
className: cn(
|
|
517
|
-
"
|
|
560
|
+
"grid gap-8 md:gap-12 lg:items-center",
|
|
561
|
+
imageContent ? "lg:grid-cols-2" : "lg:grid-cols-1",
|
|
518
562
|
contentWrapperClassName
|
|
519
563
|
),
|
|
520
564
|
children: [
|
|
@@ -523,7 +567,8 @@ function FeatureChecklistImage({
|
|
|
523
567
|
"div",
|
|
524
568
|
{
|
|
525
569
|
className: cn(
|
|
526
|
-
"
|
|
570
|
+
"flex min-w-0 flex-col gap-6 py-2 md:gap-8 md:py-0 lg:gap-10",
|
|
571
|
+
imageContent && "lg:pl-8",
|
|
527
572
|
contentClassName
|
|
528
573
|
),
|
|
529
574
|
children: [
|
|
@@ -531,7 +576,7 @@ function FeatureChecklistImage({
|
|
|
531
576
|
"h2",
|
|
532
577
|
{
|
|
533
578
|
className: cn(
|
|
534
|
-
"text-
|
|
579
|
+
"text-2xl font-semibold text-balance sm:text-3xl lg:text-4xl",
|
|
535
580
|
titleClassName
|
|
536
581
|
),
|
|
537
582
|
children: title
|
|
@@ -540,18 +585,36 @@ function FeatureChecklistImage({
|
|
|
540
585
|
"div",
|
|
541
586
|
{
|
|
542
587
|
className: cn(
|
|
543
|
-
"text-
|
|
588
|
+
"text-2xl font-semibold text-balance sm:text-3xl lg:text-4xl",
|
|
544
589
|
titleClassName
|
|
545
590
|
),
|
|
546
591
|
children: title
|
|
547
592
|
}
|
|
548
593
|
)),
|
|
549
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
594
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
595
|
+
"p",
|
|
596
|
+
{
|
|
597
|
+
className: cn(
|
|
598
|
+
"relative text-base leading-relaxed md:text-lg",
|
|
599
|
+
descriptionClassName
|
|
600
|
+
),
|
|
601
|
+
children: description
|
|
602
|
+
}
|
|
603
|
+
) : /* @__PURE__ */ jsx(
|
|
604
|
+
"div",
|
|
605
|
+
{
|
|
606
|
+
className: cn(
|
|
607
|
+
"relative text-base leading-relaxed md:text-lg",
|
|
608
|
+
descriptionClassName
|
|
609
|
+
),
|
|
610
|
+
children: description
|
|
611
|
+
}
|
|
612
|
+
)),
|
|
550
613
|
actionsContent && /* @__PURE__ */ jsx(
|
|
551
614
|
"div",
|
|
552
615
|
{
|
|
553
616
|
className: cn(
|
|
554
|
-
"flex flex-
|
|
617
|
+
"flex flex-col items-start gap-4 sm:flex-row sm:flex-wrap sm:items-center",
|
|
555
618
|
actionsClassName
|
|
556
619
|
),
|
|
557
620
|
children: actionsContent
|
|
@@ -561,7 +624,7 @@ function FeatureChecklistImage({
|
|
|
561
624
|
"ul",
|
|
562
625
|
{
|
|
563
626
|
className: cn(
|
|
564
|
-
"flex
|
|
627
|
+
"flex flex-col space-y-3 md:space-y-4",
|
|
565
628
|
checklistClassName
|
|
566
629
|
),
|
|
567
630
|
children: checklistContent
|
|
@@ -440,25 +440,6 @@ var slideVariants = {
|
|
|
440
440
|
}
|
|
441
441
|
}
|
|
442
442
|
};
|
|
443
|
-
var fadeVariants = {
|
|
444
|
-
initial: {
|
|
445
|
-
opacity: 0
|
|
446
|
-
},
|
|
447
|
-
visible: {
|
|
448
|
-
opacity: 1,
|
|
449
|
-
transition: {
|
|
450
|
-
duration: 0.8,
|
|
451
|
-
ease: [0.4, 0, 0.2, 1]
|
|
452
|
-
}
|
|
453
|
-
},
|
|
454
|
-
fadeExit: {
|
|
455
|
-
opacity: 0,
|
|
456
|
-
transition: {
|
|
457
|
-
duration: 0.8,
|
|
458
|
-
ease: [0.4, 0, 0.2, 1]
|
|
459
|
-
}
|
|
460
|
-
}
|
|
461
|
-
};
|
|
462
443
|
var normalizeIndex = (index, length) => {
|
|
463
444
|
if (!length) return 0;
|
|
464
445
|
const safeIndex = index % length;
|
|
@@ -546,38 +527,55 @@ var ImageSlider = ({
|
|
|
546
527
|
perspective: "1000px"
|
|
547
528
|
},
|
|
548
529
|
children: [
|
|
549
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
550
|
-
|
|
530
|
+
transition === "fade" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0", children: images.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
531
|
+
"div",
|
|
551
532
|
{
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
533
|
+
"aria-hidden": index !== currentIndex,
|
|
534
|
+
className: cn(
|
|
535
|
+
"absolute inset-0 opacity-0 transition-opacity duration-1000 ease-in-out motion-reduce:transition-none",
|
|
536
|
+
index === currentIndex && "opacity-100"
|
|
537
|
+
),
|
|
538
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
539
|
+
img.Img,
|
|
556
540
|
{
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
541
|
+
src: image.src,
|
|
542
|
+
alt: image.alt,
|
|
543
|
+
className: cn(
|
|
544
|
+
"h-full w-full object-cover object-center",
|
|
545
|
+
imageClassName,
|
|
546
|
+
image.className
|
|
547
|
+
),
|
|
548
|
+
optixFlowConfig: image.optixFlowConfig ?? optixFlowConfig,
|
|
549
|
+
loading: "eager"
|
|
550
|
+
}
|
|
551
|
+
)
|
|
552
|
+
},
|
|
553
|
+
`${image.src ?? "image"}-${index}`
|
|
554
|
+
)) }) : /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { mode: "wait", initial: false, children: activeImage ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
555
|
+
react.motion.div,
|
|
556
|
+
{
|
|
557
|
+
initial: "initial",
|
|
558
|
+
animate: "visible",
|
|
559
|
+
exit: direction === "up" ? "upExit" : "downExit",
|
|
560
|
+
variants: slideVariants,
|
|
561
|
+
className: "absolute inset-0",
|
|
562
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
563
|
+
img.Img,
|
|
564
|
+
{
|
|
565
|
+
src: activeImage.src,
|
|
566
|
+
alt: activeImage.alt,
|
|
567
|
+
className: cn(
|
|
568
|
+
"h-full w-full object-cover object-center",
|
|
569
|
+
imageClassName,
|
|
570
|
+
activeImage.className
|
|
571
|
+
),
|
|
572
|
+
optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
|
|
573
|
+
loading: "eager"
|
|
574
|
+
}
|
|
575
|
+
)
|
|
576
|
+
},
|
|
577
|
+
`${currentIndex}-${activeImage.src ?? "image"}`
|
|
578
|
+
) : null }),
|
|
581
579
|
overlayContent,
|
|
582
580
|
children ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
583
581
|
"div",
|
|
@@ -419,25 +419,6 @@ var slideVariants = {
|
|
|
419
419
|
}
|
|
420
420
|
}
|
|
421
421
|
};
|
|
422
|
-
var fadeVariants = {
|
|
423
|
-
initial: {
|
|
424
|
-
opacity: 0
|
|
425
|
-
},
|
|
426
|
-
visible: {
|
|
427
|
-
opacity: 1,
|
|
428
|
-
transition: {
|
|
429
|
-
duration: 0.8,
|
|
430
|
-
ease: [0.4, 0, 0.2, 1]
|
|
431
|
-
}
|
|
432
|
-
},
|
|
433
|
-
fadeExit: {
|
|
434
|
-
opacity: 0,
|
|
435
|
-
transition: {
|
|
436
|
-
duration: 0.8,
|
|
437
|
-
ease: [0.4, 0, 0.2, 1]
|
|
438
|
-
}
|
|
439
|
-
}
|
|
440
|
-
};
|
|
441
422
|
var normalizeIndex = (index, length) => {
|
|
442
423
|
if (!length) return 0;
|
|
443
424
|
const safeIndex = index % length;
|
|
@@ -525,38 +506,55 @@ var ImageSlider = ({
|
|
|
525
506
|
perspective: "1000px"
|
|
526
507
|
},
|
|
527
508
|
children: [
|
|
528
|
-
/* @__PURE__ */ jsx(
|
|
529
|
-
|
|
509
|
+
transition === "fade" ? /* @__PURE__ */ jsx("div", { className: "absolute inset-0", children: images.map((image, index) => /* @__PURE__ */ jsx(
|
|
510
|
+
"div",
|
|
530
511
|
{
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
512
|
+
"aria-hidden": index !== currentIndex,
|
|
513
|
+
className: cn(
|
|
514
|
+
"absolute inset-0 opacity-0 transition-opacity duration-1000 ease-in-out motion-reduce:transition-none",
|
|
515
|
+
index === currentIndex && "opacity-100"
|
|
516
|
+
),
|
|
517
|
+
children: /* @__PURE__ */ jsx(
|
|
518
|
+
Img,
|
|
535
519
|
{
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
520
|
+
src: image.src,
|
|
521
|
+
alt: image.alt,
|
|
522
|
+
className: cn(
|
|
523
|
+
"h-full w-full object-cover object-center",
|
|
524
|
+
imageClassName,
|
|
525
|
+
image.className
|
|
526
|
+
),
|
|
527
|
+
optixFlowConfig: image.optixFlowConfig ?? optixFlowConfig,
|
|
528
|
+
loading: "eager"
|
|
529
|
+
}
|
|
530
|
+
)
|
|
531
|
+
},
|
|
532
|
+
`${image.src ?? "image"}-${index}`
|
|
533
|
+
)) }) : /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", initial: false, children: activeImage ? /* @__PURE__ */ jsx(
|
|
534
|
+
motion.div,
|
|
535
|
+
{
|
|
536
|
+
initial: "initial",
|
|
537
|
+
animate: "visible",
|
|
538
|
+
exit: direction === "up" ? "upExit" : "downExit",
|
|
539
|
+
variants: slideVariants,
|
|
540
|
+
className: "absolute inset-0",
|
|
541
|
+
children: /* @__PURE__ */ jsx(
|
|
542
|
+
Img,
|
|
543
|
+
{
|
|
544
|
+
src: activeImage.src,
|
|
545
|
+
alt: activeImage.alt,
|
|
546
|
+
className: cn(
|
|
547
|
+
"h-full w-full object-cover object-center",
|
|
548
|
+
imageClassName,
|
|
549
|
+
activeImage.className
|
|
550
|
+
),
|
|
551
|
+
optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
|
|
552
|
+
loading: "eager"
|
|
553
|
+
}
|
|
554
|
+
)
|
|
555
|
+
},
|
|
556
|
+
`${currentIndex}-${activeImage.src ?? "image"}`
|
|
557
|
+
) : null }),
|
|
560
558
|
overlayContent,
|
|
561
559
|
children ? /* @__PURE__ */ jsx(
|
|
562
560
|
"div",
|
package/dist/image-slider.cjs
CHANGED
|
@@ -61,25 +61,6 @@ var slideVariants = {
|
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
};
|
|
64
|
-
var fadeVariants = {
|
|
65
|
-
initial: {
|
|
66
|
-
opacity: 0
|
|
67
|
-
},
|
|
68
|
-
visible: {
|
|
69
|
-
opacity: 1,
|
|
70
|
-
transition: {
|
|
71
|
-
duration: 0.8,
|
|
72
|
-
ease: [0.4, 0, 0.2, 1]
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
fadeExit: {
|
|
76
|
-
opacity: 0,
|
|
77
|
-
transition: {
|
|
78
|
-
duration: 0.8,
|
|
79
|
-
ease: [0.4, 0, 0.2, 1]
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
64
|
var normalizeIndex = (index, length) => {
|
|
84
65
|
if (!length) return 0;
|
|
85
66
|
const safeIndex = index % length;
|
|
@@ -167,38 +148,55 @@ var ImageSlider = ({
|
|
|
167
148
|
perspective: "1000px"
|
|
168
149
|
},
|
|
169
150
|
children: [
|
|
170
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
171
|
-
|
|
151
|
+
transition === "fade" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0", children: images.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
152
|
+
"div",
|
|
172
153
|
{
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
154
|
+
"aria-hidden": index !== currentIndex,
|
|
155
|
+
className: cn(
|
|
156
|
+
"absolute inset-0 opacity-0 transition-opacity duration-1000 ease-in-out motion-reduce:transition-none",
|
|
157
|
+
index === currentIndex && "opacity-100"
|
|
158
|
+
),
|
|
159
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
160
|
+
img.Img,
|
|
177
161
|
{
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
162
|
+
src: image.src,
|
|
163
|
+
alt: image.alt,
|
|
164
|
+
className: cn(
|
|
165
|
+
"h-full w-full object-cover object-center",
|
|
166
|
+
imageClassName,
|
|
167
|
+
image.className
|
|
168
|
+
),
|
|
169
|
+
optixFlowConfig: image.optixFlowConfig ?? optixFlowConfig,
|
|
170
|
+
loading: "eager"
|
|
171
|
+
}
|
|
172
|
+
)
|
|
173
|
+
},
|
|
174
|
+
`${image.src ?? "image"}-${index}`
|
|
175
|
+
)) }) : /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { mode: "wait", initial: false, children: activeImage ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
176
|
+
react.motion.div,
|
|
177
|
+
{
|
|
178
|
+
initial: "initial",
|
|
179
|
+
animate: "visible",
|
|
180
|
+
exit: direction === "up" ? "upExit" : "downExit",
|
|
181
|
+
variants: slideVariants,
|
|
182
|
+
className: "absolute inset-0",
|
|
183
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
184
|
+
img.Img,
|
|
185
|
+
{
|
|
186
|
+
src: activeImage.src,
|
|
187
|
+
alt: activeImage.alt,
|
|
188
|
+
className: cn(
|
|
189
|
+
"h-full w-full object-cover object-center",
|
|
190
|
+
imageClassName,
|
|
191
|
+
activeImage.className
|
|
192
|
+
),
|
|
193
|
+
optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
|
|
194
|
+
loading: "eager"
|
|
195
|
+
}
|
|
196
|
+
)
|
|
197
|
+
},
|
|
198
|
+
`${currentIndex}-${activeImage.src ?? "image"}`
|
|
199
|
+
) : null }),
|
|
202
200
|
overlayContent,
|
|
203
201
|
children ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
204
202
|
"div",
|
package/dist/image-slider.js
CHANGED
|
@@ -39,25 +39,6 @@ var slideVariants = {
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
};
|
|
42
|
-
var fadeVariants = {
|
|
43
|
-
initial: {
|
|
44
|
-
opacity: 0
|
|
45
|
-
},
|
|
46
|
-
visible: {
|
|
47
|
-
opacity: 1,
|
|
48
|
-
transition: {
|
|
49
|
-
duration: 0.8,
|
|
50
|
-
ease: [0.4, 0, 0.2, 1]
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
fadeExit: {
|
|
54
|
-
opacity: 0,
|
|
55
|
-
transition: {
|
|
56
|
-
duration: 0.8,
|
|
57
|
-
ease: [0.4, 0, 0.2, 1]
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
42
|
var normalizeIndex = (index, length) => {
|
|
62
43
|
if (!length) return 0;
|
|
63
44
|
const safeIndex = index % length;
|
|
@@ -145,38 +126,55 @@ var ImageSlider = ({
|
|
|
145
126
|
perspective: "1000px"
|
|
146
127
|
},
|
|
147
128
|
children: [
|
|
148
|
-
/* @__PURE__ */ jsx(
|
|
149
|
-
|
|
129
|
+
transition === "fade" ? /* @__PURE__ */ jsx("div", { className: "absolute inset-0", children: images.map((image, index) => /* @__PURE__ */ jsx(
|
|
130
|
+
"div",
|
|
150
131
|
{
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
132
|
+
"aria-hidden": index !== currentIndex,
|
|
133
|
+
className: cn(
|
|
134
|
+
"absolute inset-0 opacity-0 transition-opacity duration-1000 ease-in-out motion-reduce:transition-none",
|
|
135
|
+
index === currentIndex && "opacity-100"
|
|
136
|
+
),
|
|
137
|
+
children: /* @__PURE__ */ jsx(
|
|
138
|
+
Img,
|
|
155
139
|
{
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
140
|
+
src: image.src,
|
|
141
|
+
alt: image.alt,
|
|
142
|
+
className: cn(
|
|
143
|
+
"h-full w-full object-cover object-center",
|
|
144
|
+
imageClassName,
|
|
145
|
+
image.className
|
|
146
|
+
),
|
|
147
|
+
optixFlowConfig: image.optixFlowConfig ?? optixFlowConfig,
|
|
148
|
+
loading: "eager"
|
|
149
|
+
}
|
|
150
|
+
)
|
|
151
|
+
},
|
|
152
|
+
`${image.src ?? "image"}-${index}`
|
|
153
|
+
)) }) : /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", initial: false, children: activeImage ? /* @__PURE__ */ jsx(
|
|
154
|
+
motion.div,
|
|
155
|
+
{
|
|
156
|
+
initial: "initial",
|
|
157
|
+
animate: "visible",
|
|
158
|
+
exit: direction === "up" ? "upExit" : "downExit",
|
|
159
|
+
variants: slideVariants,
|
|
160
|
+
className: "absolute inset-0",
|
|
161
|
+
children: /* @__PURE__ */ jsx(
|
|
162
|
+
Img,
|
|
163
|
+
{
|
|
164
|
+
src: activeImage.src,
|
|
165
|
+
alt: activeImage.alt,
|
|
166
|
+
className: cn(
|
|
167
|
+
"h-full w-full object-cover object-center",
|
|
168
|
+
imageClassName,
|
|
169
|
+
activeImage.className
|
|
170
|
+
),
|
|
171
|
+
optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
|
|
172
|
+
loading: "eager"
|
|
173
|
+
}
|
|
174
|
+
)
|
|
175
|
+
},
|
|
176
|
+
`${currentIndex}-${activeImage.src ?? "image"}`
|
|
177
|
+
) : null }),
|
|
180
178
|
overlayContent,
|
|
181
179
|
children ? /* @__PURE__ */ jsx(
|
|
182
180
|
"div",
|