@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
package/dist/components.cjs
CHANGED
|
@@ -766,25 +766,6 @@ var slideVariants = {
|
|
|
766
766
|
}
|
|
767
767
|
}
|
|
768
768
|
};
|
|
769
|
-
var fadeVariants = {
|
|
770
|
-
initial: {
|
|
771
|
-
opacity: 0
|
|
772
|
-
},
|
|
773
|
-
visible: {
|
|
774
|
-
opacity: 1,
|
|
775
|
-
transition: {
|
|
776
|
-
duration: 0.8,
|
|
777
|
-
ease: [0.4, 0, 0.2, 1]
|
|
778
|
-
}
|
|
779
|
-
},
|
|
780
|
-
fadeExit: {
|
|
781
|
-
opacity: 0,
|
|
782
|
-
transition: {
|
|
783
|
-
duration: 0.8,
|
|
784
|
-
ease: [0.4, 0, 0.2, 1]
|
|
785
|
-
}
|
|
786
|
-
}
|
|
787
|
-
};
|
|
788
769
|
var normalizeIndex = (index, length) => {
|
|
789
770
|
if (!length) return 0;
|
|
790
771
|
const safeIndex = index % length;
|
|
@@ -872,38 +853,55 @@ var ImageSlider = ({
|
|
|
872
853
|
perspective: "1000px"
|
|
873
854
|
},
|
|
874
855
|
children: [
|
|
875
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
876
|
-
|
|
856
|
+
transition === "fade" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0", children: images.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
857
|
+
"div",
|
|
877
858
|
{
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
859
|
+
"aria-hidden": index !== currentIndex,
|
|
860
|
+
className: cn(
|
|
861
|
+
"absolute inset-0 opacity-0 transition-opacity duration-1000 ease-in-out motion-reduce:transition-none",
|
|
862
|
+
index === currentIndex && "opacity-100"
|
|
863
|
+
),
|
|
864
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
865
|
+
img.Img,
|
|
882
866
|
{
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
867
|
+
src: image.src,
|
|
868
|
+
alt: image.alt,
|
|
869
|
+
className: cn(
|
|
870
|
+
"h-full w-full object-cover object-center",
|
|
871
|
+
imageClassName,
|
|
872
|
+
image.className
|
|
873
|
+
),
|
|
874
|
+
optixFlowConfig: image.optixFlowConfig ?? optixFlowConfig,
|
|
875
|
+
loading: "eager"
|
|
876
|
+
}
|
|
877
|
+
)
|
|
878
|
+
},
|
|
879
|
+
`${image.src ?? "image"}-${index}`
|
|
880
|
+
)) }) : /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { mode: "wait", initial: false, children: activeImage ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
881
|
+
react.motion.div,
|
|
882
|
+
{
|
|
883
|
+
initial: "initial",
|
|
884
|
+
animate: "visible",
|
|
885
|
+
exit: direction === "up" ? "upExit" : "downExit",
|
|
886
|
+
variants: slideVariants,
|
|
887
|
+
className: "absolute inset-0",
|
|
888
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
889
|
+
img.Img,
|
|
890
|
+
{
|
|
891
|
+
src: activeImage.src,
|
|
892
|
+
alt: activeImage.alt,
|
|
893
|
+
className: cn(
|
|
894
|
+
"h-full w-full object-cover object-center",
|
|
895
|
+
imageClassName,
|
|
896
|
+
activeImage.className
|
|
897
|
+
),
|
|
898
|
+
optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
|
|
899
|
+
loading: "eager"
|
|
900
|
+
}
|
|
901
|
+
)
|
|
902
|
+
},
|
|
903
|
+
`${currentIndex}-${activeImage.src ?? "image"}`
|
|
904
|
+
) : null }),
|
|
907
905
|
overlayContent,
|
|
908
906
|
children ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
909
907
|
"div",
|
package/dist/components.js
CHANGED
|
@@ -743,25 +743,6 @@ var slideVariants = {
|
|
|
743
743
|
}
|
|
744
744
|
}
|
|
745
745
|
};
|
|
746
|
-
var fadeVariants = {
|
|
747
|
-
initial: {
|
|
748
|
-
opacity: 0
|
|
749
|
-
},
|
|
750
|
-
visible: {
|
|
751
|
-
opacity: 1,
|
|
752
|
-
transition: {
|
|
753
|
-
duration: 0.8,
|
|
754
|
-
ease: [0.4, 0, 0.2, 1]
|
|
755
|
-
}
|
|
756
|
-
},
|
|
757
|
-
fadeExit: {
|
|
758
|
-
opacity: 0,
|
|
759
|
-
transition: {
|
|
760
|
-
duration: 0.8,
|
|
761
|
-
ease: [0.4, 0, 0.2, 1]
|
|
762
|
-
}
|
|
763
|
-
}
|
|
764
|
-
};
|
|
765
746
|
var normalizeIndex = (index, length) => {
|
|
766
747
|
if (!length) return 0;
|
|
767
748
|
const safeIndex = index % length;
|
|
@@ -849,38 +830,55 @@ var ImageSlider = ({
|
|
|
849
830
|
perspective: "1000px"
|
|
850
831
|
},
|
|
851
832
|
children: [
|
|
852
|
-
/* @__PURE__ */ jsx(
|
|
853
|
-
|
|
833
|
+
transition === "fade" ? /* @__PURE__ */ jsx("div", { className: "absolute inset-0", children: images.map((image, index) => /* @__PURE__ */ jsx(
|
|
834
|
+
"div",
|
|
854
835
|
{
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
836
|
+
"aria-hidden": index !== currentIndex,
|
|
837
|
+
className: cn(
|
|
838
|
+
"absolute inset-0 opacity-0 transition-opacity duration-1000 ease-in-out motion-reduce:transition-none",
|
|
839
|
+
index === currentIndex && "opacity-100"
|
|
840
|
+
),
|
|
841
|
+
children: /* @__PURE__ */ jsx(
|
|
842
|
+
Img,
|
|
859
843
|
{
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
844
|
+
src: image.src,
|
|
845
|
+
alt: image.alt,
|
|
846
|
+
className: cn(
|
|
847
|
+
"h-full w-full object-cover object-center",
|
|
848
|
+
imageClassName,
|
|
849
|
+
image.className
|
|
850
|
+
),
|
|
851
|
+
optixFlowConfig: image.optixFlowConfig ?? optixFlowConfig,
|
|
852
|
+
loading: "eager"
|
|
853
|
+
}
|
|
854
|
+
)
|
|
855
|
+
},
|
|
856
|
+
`${image.src ?? "image"}-${index}`
|
|
857
|
+
)) }) : /* @__PURE__ */ jsx(AnimatePresence$1, { mode: "wait", initial: false, children: activeImage ? /* @__PURE__ */ jsx(
|
|
858
|
+
motion$1.div,
|
|
859
|
+
{
|
|
860
|
+
initial: "initial",
|
|
861
|
+
animate: "visible",
|
|
862
|
+
exit: direction === "up" ? "upExit" : "downExit",
|
|
863
|
+
variants: slideVariants,
|
|
864
|
+
className: "absolute inset-0",
|
|
865
|
+
children: /* @__PURE__ */ jsx(
|
|
866
|
+
Img,
|
|
867
|
+
{
|
|
868
|
+
src: activeImage.src,
|
|
869
|
+
alt: activeImage.alt,
|
|
870
|
+
className: cn(
|
|
871
|
+
"h-full w-full object-cover object-center",
|
|
872
|
+
imageClassName,
|
|
873
|
+
activeImage.className
|
|
874
|
+
),
|
|
875
|
+
optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
|
|
876
|
+
loading: "eager"
|
|
877
|
+
}
|
|
878
|
+
)
|
|
879
|
+
},
|
|
880
|
+
`${currentIndex}-${activeImage.src ?? "image"}`
|
|
881
|
+
) : null }),
|
|
884
882
|
overlayContent,
|
|
885
883
|
children ? /* @__PURE__ */ jsx(
|
|
886
884
|
"div",
|
|
@@ -422,6 +422,12 @@ var Section = React__namespace.default.forwardRef(
|
|
|
422
422
|
}
|
|
423
423
|
);
|
|
424
424
|
Section.displayName = "Section";
|
|
425
|
+
function isRenderableNode(value) {
|
|
426
|
+
return value !== null && value !== void 0 && typeof value !== "boolean" && !(typeof value === "string" && value.trim().length === 0);
|
|
427
|
+
}
|
|
428
|
+
function firstRenderableNode(...values) {
|
|
429
|
+
return values.find(isRenderableNode);
|
|
430
|
+
}
|
|
425
431
|
function FeatureChecklistImage({
|
|
426
432
|
sectionId = "feature-checklist-image",
|
|
427
433
|
title,
|
|
@@ -434,9 +440,10 @@ function FeatureChecklistImage({
|
|
|
434
440
|
actions,
|
|
435
441
|
actionsSlot,
|
|
436
442
|
checklistItems,
|
|
443
|
+
benefits,
|
|
437
444
|
checklistSlot,
|
|
438
445
|
className,
|
|
439
|
-
containerClassName = "px-6 sm:px-6 md:px-6 lg:px-8",
|
|
446
|
+
containerClassName = "max-w-screen-2xl px-6 sm:px-6 md:px-6 lg:px-8",
|
|
440
447
|
contentWrapperClassName,
|
|
441
448
|
imageClassName,
|
|
442
449
|
contentClassName,
|
|
@@ -493,33 +500,69 @@ function FeatureChecklistImage({
|
|
|
493
500
|
if (imageSlot) return imageSlot;
|
|
494
501
|
if (!imageSrc) return null;
|
|
495
502
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
496
|
-
|
|
503
|
+
"div",
|
|
497
504
|
{
|
|
498
|
-
src: imageSrc,
|
|
499
|
-
alt: imageAlt || "Feature illustration",
|
|
500
505
|
className: cn(
|
|
501
|
-
"
|
|
506
|
+
"relative aspect-[3/2] w-full overflow-hidden rounded-lg shadow-xl",
|
|
502
507
|
imageClassName
|
|
503
508
|
),
|
|
504
|
-
|
|
505
|
-
|
|
509
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
510
|
+
img.Img,
|
|
511
|
+
{
|
|
512
|
+
src: imageSrc,
|
|
513
|
+
alt: imageAlt || "Feature illustration",
|
|
514
|
+
className: cn(
|
|
515
|
+
"block h-full w-full object-cover object-center",
|
|
516
|
+
imageClassName
|
|
517
|
+
),
|
|
518
|
+
loading: "lazy",
|
|
519
|
+
optixFlowConfig
|
|
520
|
+
}
|
|
521
|
+
)
|
|
506
522
|
}
|
|
507
523
|
);
|
|
508
524
|
}, [imageSlot, imageSrc, imageAlt, imageClassName, optixFlowConfig]);
|
|
509
525
|
const checklistContent = React.useMemo(() => {
|
|
510
526
|
if (checklistSlot) return checklistSlot;
|
|
511
|
-
|
|
512
|
-
|
|
527
|
+
const items = checklistItems ?? benefits;
|
|
528
|
+
if (!items || items.length === 0) return null;
|
|
529
|
+
const renderedItems = [];
|
|
530
|
+
items.forEach((item, index) => {
|
|
513
531
|
const isString = typeof item === "string";
|
|
514
|
-
const content = isString ? item : item.content;
|
|
515
|
-
const
|
|
532
|
+
const content = isString ? item : firstRenderableNode(item.content, item.text, item.label);
|
|
533
|
+
const title2 = isString ? void 0 : item.title;
|
|
534
|
+
const description2 = isString ? void 0 : item.description;
|
|
535
|
+
if (!isRenderableNode(content) && !isRenderableNode(title2) && !isRenderableNode(description2)) {
|
|
536
|
+
return;
|
|
537
|
+
}
|
|
538
|
+
const iconElement = isString ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
539
|
+
DynamicIcon,
|
|
540
|
+
{
|
|
541
|
+
name: "lucide/circle-check-big",
|
|
542
|
+
size: 20,
|
|
543
|
+
className: "h-5 w-5"
|
|
544
|
+
}
|
|
545
|
+
) : item.icon ?? (item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.iconName, size: 20, className: "h-5 w-5" }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
546
|
+
DynamicIcon,
|
|
547
|
+
{
|
|
548
|
+
name: "lucide/circle-check-big",
|
|
549
|
+
size: 20,
|
|
550
|
+
className: "h-5 w-5"
|
|
551
|
+
}
|
|
552
|
+
));
|
|
516
553
|
const itemClassName = isString ? void 0 : item.className;
|
|
517
|
-
|
|
518
|
-
/* @__PURE__ */ jsxRuntime.
|
|
519
|
-
|
|
520
|
-
|
|
554
|
+
renderedItems.push(
|
|
555
|
+
/* @__PURE__ */ jsxRuntime.jsxs("li", { className: cn("flex items-start gap-3", itemClassName), children: [
|
|
556
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 flex h-5 w-5 shrink-0 items-center justify-center", children: iconElement }),
|
|
557
|
+
isRenderableNode(content) ? typeof content === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-base font-medium leading-relaxed md:text-lg", children: content }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0 text-base font-medium leading-relaxed md:text-lg", children: content }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
|
|
558
|
+
isRenderableNode(title2) && (typeof title2 === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-base font-semibold leading-snug md:text-lg", children: title2 }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base font-semibold leading-snug md:text-lg", children: title2 })),
|
|
559
|
+
isRenderableNode(description2) && (typeof description2 === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm leading-relaxed text-current/75 md:text-base", children: description2 }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 text-sm leading-relaxed text-current/75 md:text-base", children: description2 }))
|
|
560
|
+
] })
|
|
561
|
+
] }, index)
|
|
562
|
+
);
|
|
521
563
|
});
|
|
522
|
-
|
|
564
|
+
return renderedItems.length > 0 ? renderedItems : null;
|
|
565
|
+
}, [checklistSlot, checklistItems, benefits]);
|
|
523
566
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
524
567
|
Section,
|
|
525
568
|
{
|
|
@@ -535,7 +578,8 @@ function FeatureChecklistImage({
|
|
|
535
578
|
"div",
|
|
536
579
|
{
|
|
537
580
|
className: cn(
|
|
538
|
-
"
|
|
581
|
+
"grid gap-8 md:gap-12 lg:items-center",
|
|
582
|
+
imageContent ? "lg:grid-cols-2" : "lg:grid-cols-1",
|
|
539
583
|
contentWrapperClassName
|
|
540
584
|
),
|
|
541
585
|
children: [
|
|
@@ -544,7 +588,8 @@ function FeatureChecklistImage({
|
|
|
544
588
|
"div",
|
|
545
589
|
{
|
|
546
590
|
className: cn(
|
|
547
|
-
"
|
|
591
|
+
"flex min-w-0 flex-col gap-6 py-2 md:gap-8 md:py-0 lg:gap-10",
|
|
592
|
+
imageContent && "lg:pl-8",
|
|
548
593
|
contentClassName
|
|
549
594
|
),
|
|
550
595
|
children: [
|
|
@@ -552,7 +597,7 @@ function FeatureChecklistImage({
|
|
|
552
597
|
"h2",
|
|
553
598
|
{
|
|
554
599
|
className: cn(
|
|
555
|
-
"text-
|
|
600
|
+
"text-2xl font-semibold text-balance sm:text-3xl lg:text-4xl",
|
|
556
601
|
titleClassName
|
|
557
602
|
),
|
|
558
603
|
children: title
|
|
@@ -561,18 +606,36 @@ function FeatureChecklistImage({
|
|
|
561
606
|
"div",
|
|
562
607
|
{
|
|
563
608
|
className: cn(
|
|
564
|
-
"text-
|
|
609
|
+
"text-2xl font-semibold text-balance sm:text-3xl lg:text-4xl",
|
|
565
610
|
titleClassName
|
|
566
611
|
),
|
|
567
612
|
children: title
|
|
568
613
|
}
|
|
569
614
|
)),
|
|
570
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
615
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
616
|
+
"p",
|
|
617
|
+
{
|
|
618
|
+
className: cn(
|
|
619
|
+
"relative text-base leading-relaxed md:text-lg",
|
|
620
|
+
descriptionClassName
|
|
621
|
+
),
|
|
622
|
+
children: description
|
|
623
|
+
}
|
|
624
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
625
|
+
"div",
|
|
626
|
+
{
|
|
627
|
+
className: cn(
|
|
628
|
+
"relative text-base leading-relaxed md:text-lg",
|
|
629
|
+
descriptionClassName
|
|
630
|
+
),
|
|
631
|
+
children: description
|
|
632
|
+
}
|
|
633
|
+
)),
|
|
571
634
|
actionsContent && /* @__PURE__ */ jsxRuntime.jsx(
|
|
572
635
|
"div",
|
|
573
636
|
{
|
|
574
637
|
className: cn(
|
|
575
|
-
"flex flex-
|
|
638
|
+
"flex flex-col items-start gap-4 sm:flex-row sm:flex-wrap sm:items-center",
|
|
576
639
|
actionsClassName
|
|
577
640
|
),
|
|
578
641
|
children: actionsContent
|
|
@@ -582,7 +645,7 @@ function FeatureChecklistImage({
|
|
|
582
645
|
"ul",
|
|
583
646
|
{
|
|
584
647
|
className: cn(
|
|
585
|
-
"flex
|
|
648
|
+
"flex flex-col space-y-3 md:space-y-4",
|
|
586
649
|
checklistClassName
|
|
587
650
|
),
|
|
588
651
|
children: checklistContent
|
|
@@ -11,6 +11,22 @@ interface FeatureChecklistItem {
|
|
|
11
11
|
* Checklist item content
|
|
12
12
|
*/
|
|
13
13
|
content?: React.ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* Text content alias used by some generated payloads
|
|
16
|
+
*/
|
|
17
|
+
text?: React.ReactNode;
|
|
18
|
+
/**
|
|
19
|
+
* Label content alias used by some generated payloads
|
|
20
|
+
*/
|
|
21
|
+
label?: React.ReactNode;
|
|
22
|
+
/**
|
|
23
|
+
* Checklist item title
|
|
24
|
+
*/
|
|
25
|
+
title?: React.ReactNode;
|
|
26
|
+
/**
|
|
27
|
+
* Checklist item description
|
|
28
|
+
*/
|
|
29
|
+
description?: React.ReactNode;
|
|
14
30
|
/**
|
|
15
31
|
* Icon element (overrides default check icon)
|
|
16
32
|
*/
|
|
@@ -57,6 +73,10 @@ interface FeatureChecklistImageProps {
|
|
|
57
73
|
* Array of checklist items (can be strings or FeatureChecklistItem objects)
|
|
58
74
|
*/
|
|
59
75
|
checklistItems?: (string | FeatureChecklistItem)[];
|
|
76
|
+
/**
|
|
77
|
+
* Alias for checklistItems used by registry examples and builder payloads
|
|
78
|
+
*/
|
|
79
|
+
benefits?: (string | FeatureChecklistItem)[];
|
|
60
80
|
/**
|
|
61
81
|
* Custom slot for rendering checklist (overrides checklistItems array)
|
|
62
82
|
*/
|
|
@@ -143,6 +163,6 @@ interface FeatureChecklistImageProps {
|
|
|
143
163
|
* />
|
|
144
164
|
* ```
|
|
145
165
|
*/
|
|
146
|
-
declare function FeatureChecklistImage({ sectionId, title, description, titleClassName, descriptionClassName, imageSrc, imageAlt, imageSlot, actions, actionsSlot, checklistItems, checklistSlot, className, containerClassName, contentWrapperClassName, imageClassName, contentClassName, actionsClassName, checklistClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, patternClassName, }: FeatureChecklistImageProps): React.JSX.Element;
|
|
166
|
+
declare function FeatureChecklistImage({ sectionId, title, description, titleClassName, descriptionClassName, imageSrc, imageAlt, imageSlot, actions, actionsSlot, checklistItems, benefits, checklistSlot, className, containerClassName, contentWrapperClassName, imageClassName, contentClassName, actionsClassName, checklistClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, patternClassName, }: FeatureChecklistImageProps): React.JSX.Element;
|
|
147
167
|
|
|
148
168
|
export { FeatureChecklistImage, type FeatureChecklistImageProps };
|
|
@@ -11,6 +11,22 @@ interface FeatureChecklistItem {
|
|
|
11
11
|
* Checklist item content
|
|
12
12
|
*/
|
|
13
13
|
content?: React.ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* Text content alias used by some generated payloads
|
|
16
|
+
*/
|
|
17
|
+
text?: React.ReactNode;
|
|
18
|
+
/**
|
|
19
|
+
* Label content alias used by some generated payloads
|
|
20
|
+
*/
|
|
21
|
+
label?: React.ReactNode;
|
|
22
|
+
/**
|
|
23
|
+
* Checklist item title
|
|
24
|
+
*/
|
|
25
|
+
title?: React.ReactNode;
|
|
26
|
+
/**
|
|
27
|
+
* Checklist item description
|
|
28
|
+
*/
|
|
29
|
+
description?: React.ReactNode;
|
|
14
30
|
/**
|
|
15
31
|
* Icon element (overrides default check icon)
|
|
16
32
|
*/
|
|
@@ -57,6 +73,10 @@ interface FeatureChecklistImageProps {
|
|
|
57
73
|
* Array of checklist items (can be strings or FeatureChecklistItem objects)
|
|
58
74
|
*/
|
|
59
75
|
checklistItems?: (string | FeatureChecklistItem)[];
|
|
76
|
+
/**
|
|
77
|
+
* Alias for checklistItems used by registry examples and builder payloads
|
|
78
|
+
*/
|
|
79
|
+
benefits?: (string | FeatureChecklistItem)[];
|
|
60
80
|
/**
|
|
61
81
|
* Custom slot for rendering checklist (overrides checklistItems array)
|
|
62
82
|
*/
|
|
@@ -143,6 +163,6 @@ interface FeatureChecklistImageProps {
|
|
|
143
163
|
* />
|
|
144
164
|
* ```
|
|
145
165
|
*/
|
|
146
|
-
declare function FeatureChecklistImage({ sectionId, title, description, titleClassName, descriptionClassName, imageSrc, imageAlt, imageSlot, actions, actionsSlot, checklistItems, checklistSlot, className, containerClassName, contentWrapperClassName, imageClassName, contentClassName, actionsClassName, checklistClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, patternClassName, }: FeatureChecklistImageProps): React.JSX.Element;
|
|
166
|
+
declare function FeatureChecklistImage({ sectionId, title, description, titleClassName, descriptionClassName, imageSrc, imageAlt, imageSlot, actions, actionsSlot, checklistItems, benefits, checklistSlot, className, containerClassName, contentWrapperClassName, imageClassName, contentClassName, actionsClassName, checklistClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, patternClassName, }: FeatureChecklistImageProps): React.JSX.Element;
|
|
147
167
|
|
|
148
168
|
export { FeatureChecklistImage, type FeatureChecklistImageProps };
|