@opensite/ui 3.4.4 → 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/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/registry.cjs +86 -23
- package/dist/registry.js +86 -23
- package/dist/social-link-icon.d.cts +1 -1
- package/dist/social-link-icon.d.ts +1 -1
- package/package.json +1 -1
|
@@ -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 };
|
|
@@ -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
|
package/dist/registry.cjs
CHANGED
|
@@ -22833,6 +22833,12 @@ function FeatureIconGridBordered({
|
|
|
22833
22833
|
}
|
|
22834
22834
|
);
|
|
22835
22835
|
}
|
|
22836
|
+
function isRenderableNode(value) {
|
|
22837
|
+
return value !== null && value !== void 0 && typeof value !== "boolean" && !(typeof value === "string" && value.trim().length === 0);
|
|
22838
|
+
}
|
|
22839
|
+
function firstRenderableNode(...values) {
|
|
22840
|
+
return values.find(isRenderableNode);
|
|
22841
|
+
}
|
|
22836
22842
|
function FeatureChecklistImage({
|
|
22837
22843
|
sectionId = "feature-checklist-image",
|
|
22838
22844
|
title,
|
|
@@ -22845,9 +22851,10 @@ function FeatureChecklistImage({
|
|
|
22845
22851
|
actions,
|
|
22846
22852
|
actionsSlot,
|
|
22847
22853
|
checklistItems,
|
|
22854
|
+
benefits,
|
|
22848
22855
|
checklistSlot,
|
|
22849
22856
|
className,
|
|
22850
|
-
containerClassName = "px-6 sm:px-6 md:px-6 lg:px-8",
|
|
22857
|
+
containerClassName = "max-w-screen-2xl px-6 sm:px-6 md:px-6 lg:px-8",
|
|
22851
22858
|
contentWrapperClassName,
|
|
22852
22859
|
imageClassName,
|
|
22853
22860
|
contentClassName,
|
|
@@ -22904,33 +22911,69 @@ function FeatureChecklistImage({
|
|
|
22904
22911
|
if (imageSlot) return imageSlot;
|
|
22905
22912
|
if (!imageSrc) return null;
|
|
22906
22913
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
22907
|
-
|
|
22914
|
+
"div",
|
|
22908
22915
|
{
|
|
22909
|
-
src: imageSrc,
|
|
22910
|
-
alt: imageAlt || "Feature illustration",
|
|
22911
22916
|
className: cn(
|
|
22912
|
-
"
|
|
22917
|
+
"relative aspect-[3/2] w-full overflow-hidden rounded-lg shadow-xl",
|
|
22913
22918
|
imageClassName
|
|
22914
22919
|
),
|
|
22915
|
-
|
|
22916
|
-
|
|
22920
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
22921
|
+
img.Img,
|
|
22922
|
+
{
|
|
22923
|
+
src: imageSrc,
|
|
22924
|
+
alt: imageAlt || "Feature illustration",
|
|
22925
|
+
className: cn(
|
|
22926
|
+
"block h-full w-full object-cover object-center",
|
|
22927
|
+
imageClassName
|
|
22928
|
+
),
|
|
22929
|
+
loading: "lazy",
|
|
22930
|
+
optixFlowConfig
|
|
22931
|
+
}
|
|
22932
|
+
)
|
|
22917
22933
|
}
|
|
22918
22934
|
);
|
|
22919
22935
|
}, [imageSlot, imageSrc, imageAlt, imageClassName, optixFlowConfig]);
|
|
22920
22936
|
const checklistContent = React30.useMemo(() => {
|
|
22921
22937
|
if (checklistSlot) return checklistSlot;
|
|
22922
|
-
|
|
22923
|
-
|
|
22938
|
+
const items = checklistItems ?? benefits;
|
|
22939
|
+
if (!items || items.length === 0) return null;
|
|
22940
|
+
const renderedItems = [];
|
|
22941
|
+
items.forEach((item, index) => {
|
|
22924
22942
|
const isString = typeof item === "string";
|
|
22925
|
-
const content = isString ? item : item.content;
|
|
22926
|
-
const
|
|
22943
|
+
const content = isString ? item : firstRenderableNode(item.content, item.text, item.label);
|
|
22944
|
+
const title2 = isString ? void 0 : item.title;
|
|
22945
|
+
const description2 = isString ? void 0 : item.description;
|
|
22946
|
+
if (!isRenderableNode(content) && !isRenderableNode(title2) && !isRenderableNode(description2)) {
|
|
22947
|
+
return;
|
|
22948
|
+
}
|
|
22949
|
+
const iconElement = isString ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
22950
|
+
DynamicIcon,
|
|
22951
|
+
{
|
|
22952
|
+
name: "lucide/circle-check-big",
|
|
22953
|
+
size: 20,
|
|
22954
|
+
className: "h-5 w-5"
|
|
22955
|
+
}
|
|
22956
|
+
) : item.icon ?? (item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.iconName, size: 20, className: "h-5 w-5" }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
22957
|
+
DynamicIcon,
|
|
22958
|
+
{
|
|
22959
|
+
name: "lucide/circle-check-big",
|
|
22960
|
+
size: 20,
|
|
22961
|
+
className: "h-5 w-5"
|
|
22962
|
+
}
|
|
22963
|
+
));
|
|
22927
22964
|
const itemClassName = isString ? void 0 : item.className;
|
|
22928
|
-
|
|
22929
|
-
/* @__PURE__ */ jsxRuntime.
|
|
22930
|
-
|
|
22931
|
-
|
|
22965
|
+
renderedItems.push(
|
|
22966
|
+
/* @__PURE__ */ jsxRuntime.jsxs("li", { className: cn("flex items-start gap-3", itemClassName), children: [
|
|
22967
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 flex h-5 w-5 shrink-0 items-center justify-center", children: iconElement }),
|
|
22968
|
+
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: [
|
|
22969
|
+
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 })),
|
|
22970
|
+
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 }))
|
|
22971
|
+
] })
|
|
22972
|
+
] }, index)
|
|
22973
|
+
);
|
|
22932
22974
|
});
|
|
22933
|
-
|
|
22975
|
+
return renderedItems.length > 0 ? renderedItems : null;
|
|
22976
|
+
}, [checklistSlot, checklistItems, benefits]);
|
|
22934
22977
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
22935
22978
|
Section,
|
|
22936
22979
|
{
|
|
@@ -22946,7 +22989,8 @@ function FeatureChecklistImage({
|
|
|
22946
22989
|
"div",
|
|
22947
22990
|
{
|
|
22948
22991
|
className: cn(
|
|
22949
|
-
"
|
|
22992
|
+
"grid gap-8 md:gap-12 lg:items-center",
|
|
22993
|
+
imageContent ? "lg:grid-cols-2" : "lg:grid-cols-1",
|
|
22950
22994
|
contentWrapperClassName
|
|
22951
22995
|
),
|
|
22952
22996
|
children: [
|
|
@@ -22955,7 +22999,8 @@ function FeatureChecklistImage({
|
|
|
22955
22999
|
"div",
|
|
22956
23000
|
{
|
|
22957
23001
|
className: cn(
|
|
22958
|
-
"
|
|
23002
|
+
"flex min-w-0 flex-col gap-6 py-2 md:gap-8 md:py-0 lg:gap-10",
|
|
23003
|
+
imageContent && "lg:pl-8",
|
|
22959
23004
|
contentClassName
|
|
22960
23005
|
),
|
|
22961
23006
|
children: [
|
|
@@ -22963,7 +23008,7 @@ function FeatureChecklistImage({
|
|
|
22963
23008
|
"h2",
|
|
22964
23009
|
{
|
|
22965
23010
|
className: cn(
|
|
22966
|
-
"text-
|
|
23011
|
+
"text-2xl font-semibold text-balance sm:text-3xl lg:text-4xl",
|
|
22967
23012
|
titleClassName
|
|
22968
23013
|
),
|
|
22969
23014
|
children: title
|
|
@@ -22972,18 +23017,36 @@ function FeatureChecklistImage({
|
|
|
22972
23017
|
"div",
|
|
22973
23018
|
{
|
|
22974
23019
|
className: cn(
|
|
22975
|
-
"text-
|
|
23020
|
+
"text-2xl font-semibold text-balance sm:text-3xl lg:text-4xl",
|
|
22976
23021
|
titleClassName
|
|
22977
23022
|
),
|
|
22978
23023
|
children: title
|
|
22979
23024
|
}
|
|
22980
23025
|
)),
|
|
22981
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
23026
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
23027
|
+
"p",
|
|
23028
|
+
{
|
|
23029
|
+
className: cn(
|
|
23030
|
+
"relative text-base leading-relaxed md:text-lg",
|
|
23031
|
+
descriptionClassName
|
|
23032
|
+
),
|
|
23033
|
+
children: description
|
|
23034
|
+
}
|
|
23035
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
23036
|
+
"div",
|
|
23037
|
+
{
|
|
23038
|
+
className: cn(
|
|
23039
|
+
"relative text-base leading-relaxed md:text-lg",
|
|
23040
|
+
descriptionClassName
|
|
23041
|
+
),
|
|
23042
|
+
children: description
|
|
23043
|
+
}
|
|
23044
|
+
)),
|
|
22982
23045
|
actionsContent && /* @__PURE__ */ jsxRuntime.jsx(
|
|
22983
23046
|
"div",
|
|
22984
23047
|
{
|
|
22985
23048
|
className: cn(
|
|
22986
|
-
"flex flex-
|
|
23049
|
+
"flex flex-col items-start gap-4 sm:flex-row sm:flex-wrap sm:items-center",
|
|
22987
23050
|
actionsClassName
|
|
22988
23051
|
),
|
|
22989
23052
|
children: actionsContent
|
|
@@ -22993,7 +23056,7 @@ function FeatureChecklistImage({
|
|
|
22993
23056
|
"ul",
|
|
22994
23057
|
{
|
|
22995
23058
|
className: cn(
|
|
22996
|
-
"flex
|
|
23059
|
+
"flex flex-col space-y-3 md:space-y-4",
|
|
22997
23060
|
checklistClassName
|
|
22998
23061
|
),
|
|
22999
23062
|
children: checklistContent
|
package/dist/registry.js
CHANGED
|
@@ -22793,6 +22793,12 @@ function FeatureIconGridBordered({
|
|
|
22793
22793
|
}
|
|
22794
22794
|
);
|
|
22795
22795
|
}
|
|
22796
|
+
function isRenderableNode(value) {
|
|
22797
|
+
return value !== null && value !== void 0 && typeof value !== "boolean" && !(typeof value === "string" && value.trim().length === 0);
|
|
22798
|
+
}
|
|
22799
|
+
function firstRenderableNode(...values) {
|
|
22800
|
+
return values.find(isRenderableNode);
|
|
22801
|
+
}
|
|
22796
22802
|
function FeatureChecklistImage({
|
|
22797
22803
|
sectionId = "feature-checklist-image",
|
|
22798
22804
|
title,
|
|
@@ -22805,9 +22811,10 @@ function FeatureChecklistImage({
|
|
|
22805
22811
|
actions,
|
|
22806
22812
|
actionsSlot,
|
|
22807
22813
|
checklistItems,
|
|
22814
|
+
benefits,
|
|
22808
22815
|
checklistSlot,
|
|
22809
22816
|
className,
|
|
22810
|
-
containerClassName = "px-6 sm:px-6 md:px-6 lg:px-8",
|
|
22817
|
+
containerClassName = "max-w-screen-2xl px-6 sm:px-6 md:px-6 lg:px-8",
|
|
22811
22818
|
contentWrapperClassName,
|
|
22812
22819
|
imageClassName,
|
|
22813
22820
|
contentClassName,
|
|
@@ -22864,33 +22871,69 @@ function FeatureChecklistImage({
|
|
|
22864
22871
|
if (imageSlot) return imageSlot;
|
|
22865
22872
|
if (!imageSrc) return null;
|
|
22866
22873
|
return /* @__PURE__ */ jsx(
|
|
22867
|
-
|
|
22874
|
+
"div",
|
|
22868
22875
|
{
|
|
22869
|
-
src: imageSrc,
|
|
22870
|
-
alt: imageAlt || "Feature illustration",
|
|
22871
22876
|
className: cn(
|
|
22872
|
-
"
|
|
22877
|
+
"relative aspect-[3/2] w-full overflow-hidden rounded-lg shadow-xl",
|
|
22873
22878
|
imageClassName
|
|
22874
22879
|
),
|
|
22875
|
-
|
|
22876
|
-
|
|
22880
|
+
children: /* @__PURE__ */ jsx(
|
|
22881
|
+
Img,
|
|
22882
|
+
{
|
|
22883
|
+
src: imageSrc,
|
|
22884
|
+
alt: imageAlt || "Feature illustration",
|
|
22885
|
+
className: cn(
|
|
22886
|
+
"block h-full w-full object-cover object-center",
|
|
22887
|
+
imageClassName
|
|
22888
|
+
),
|
|
22889
|
+
loading: "lazy",
|
|
22890
|
+
optixFlowConfig
|
|
22891
|
+
}
|
|
22892
|
+
)
|
|
22877
22893
|
}
|
|
22878
22894
|
);
|
|
22879
22895
|
}, [imageSlot, imageSrc, imageAlt, imageClassName, optixFlowConfig]);
|
|
22880
22896
|
const checklistContent = useMemo(() => {
|
|
22881
22897
|
if (checklistSlot) return checklistSlot;
|
|
22882
|
-
|
|
22883
|
-
|
|
22898
|
+
const items = checklistItems ?? benefits;
|
|
22899
|
+
if (!items || items.length === 0) return null;
|
|
22900
|
+
const renderedItems = [];
|
|
22901
|
+
items.forEach((item, index) => {
|
|
22884
22902
|
const isString = typeof item === "string";
|
|
22885
|
-
const content = isString ? item : item.content;
|
|
22886
|
-
const
|
|
22903
|
+
const content = isString ? item : firstRenderableNode(item.content, item.text, item.label);
|
|
22904
|
+
const title2 = isString ? void 0 : item.title;
|
|
22905
|
+
const description2 = isString ? void 0 : item.description;
|
|
22906
|
+
if (!isRenderableNode(content) && !isRenderableNode(title2) && !isRenderableNode(description2)) {
|
|
22907
|
+
return;
|
|
22908
|
+
}
|
|
22909
|
+
const iconElement = isString ? /* @__PURE__ */ jsx(
|
|
22910
|
+
DynamicIcon,
|
|
22911
|
+
{
|
|
22912
|
+
name: "lucide/circle-check-big",
|
|
22913
|
+
size: 20,
|
|
22914
|
+
className: "h-5 w-5"
|
|
22915
|
+
}
|
|
22916
|
+
) : item.icon ?? (item.iconName ? /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 20, className: "h-5 w-5" }) : /* @__PURE__ */ jsx(
|
|
22917
|
+
DynamicIcon,
|
|
22918
|
+
{
|
|
22919
|
+
name: "lucide/circle-check-big",
|
|
22920
|
+
size: 20,
|
|
22921
|
+
className: "h-5 w-5"
|
|
22922
|
+
}
|
|
22923
|
+
));
|
|
22887
22924
|
const itemClassName = isString ? void 0 : item.className;
|
|
22888
|
-
|
|
22889
|
-
/* @__PURE__ */
|
|
22890
|
-
|
|
22891
|
-
|
|
22925
|
+
renderedItems.push(
|
|
22926
|
+
/* @__PURE__ */ jsxs("li", { className: cn("flex items-start gap-3", itemClassName), children: [
|
|
22927
|
+
/* @__PURE__ */ jsx("div", { className: "mt-1 flex h-5 w-5 shrink-0 items-center justify-center", children: iconElement }),
|
|
22928
|
+
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: [
|
|
22929
|
+
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 })),
|
|
22930
|
+
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 }))
|
|
22931
|
+
] })
|
|
22932
|
+
] }, index)
|
|
22933
|
+
);
|
|
22892
22934
|
});
|
|
22893
|
-
|
|
22935
|
+
return renderedItems.length > 0 ? renderedItems : null;
|
|
22936
|
+
}, [checklistSlot, checklistItems, benefits]);
|
|
22894
22937
|
return /* @__PURE__ */ jsx(
|
|
22895
22938
|
Section,
|
|
22896
22939
|
{
|
|
@@ -22906,7 +22949,8 @@ function FeatureChecklistImage({
|
|
|
22906
22949
|
"div",
|
|
22907
22950
|
{
|
|
22908
22951
|
className: cn(
|
|
22909
|
-
"
|
|
22952
|
+
"grid gap-8 md:gap-12 lg:items-center",
|
|
22953
|
+
imageContent ? "lg:grid-cols-2" : "lg:grid-cols-1",
|
|
22910
22954
|
contentWrapperClassName
|
|
22911
22955
|
),
|
|
22912
22956
|
children: [
|
|
@@ -22915,7 +22959,8 @@ function FeatureChecklistImage({
|
|
|
22915
22959
|
"div",
|
|
22916
22960
|
{
|
|
22917
22961
|
className: cn(
|
|
22918
|
-
"
|
|
22962
|
+
"flex min-w-0 flex-col gap-6 py-2 md:gap-8 md:py-0 lg:gap-10",
|
|
22963
|
+
imageContent && "lg:pl-8",
|
|
22919
22964
|
contentClassName
|
|
22920
22965
|
),
|
|
22921
22966
|
children: [
|
|
@@ -22923,7 +22968,7 @@ function FeatureChecklistImage({
|
|
|
22923
22968
|
"h2",
|
|
22924
22969
|
{
|
|
22925
22970
|
className: cn(
|
|
22926
|
-
"text-
|
|
22971
|
+
"text-2xl font-semibold text-balance sm:text-3xl lg:text-4xl",
|
|
22927
22972
|
titleClassName
|
|
22928
22973
|
),
|
|
22929
22974
|
children: title
|
|
@@ -22932,18 +22977,36 @@ function FeatureChecklistImage({
|
|
|
22932
22977
|
"div",
|
|
22933
22978
|
{
|
|
22934
22979
|
className: cn(
|
|
22935
|
-
"text-
|
|
22980
|
+
"text-2xl font-semibold text-balance sm:text-3xl lg:text-4xl",
|
|
22936
22981
|
titleClassName
|
|
22937
22982
|
),
|
|
22938
22983
|
children: title
|
|
22939
22984
|
}
|
|
22940
22985
|
)),
|
|
22941
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
22986
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
22987
|
+
"p",
|
|
22988
|
+
{
|
|
22989
|
+
className: cn(
|
|
22990
|
+
"relative text-base leading-relaxed md:text-lg",
|
|
22991
|
+
descriptionClassName
|
|
22992
|
+
),
|
|
22993
|
+
children: description
|
|
22994
|
+
}
|
|
22995
|
+
) : /* @__PURE__ */ jsx(
|
|
22996
|
+
"div",
|
|
22997
|
+
{
|
|
22998
|
+
className: cn(
|
|
22999
|
+
"relative text-base leading-relaxed md:text-lg",
|
|
23000
|
+
descriptionClassName
|
|
23001
|
+
),
|
|
23002
|
+
children: description
|
|
23003
|
+
}
|
|
23004
|
+
)),
|
|
22942
23005
|
actionsContent && /* @__PURE__ */ jsx(
|
|
22943
23006
|
"div",
|
|
22944
23007
|
{
|
|
22945
23008
|
className: cn(
|
|
22946
|
-
"flex flex-
|
|
23009
|
+
"flex flex-col items-start gap-4 sm:flex-row sm:flex-wrap sm:items-center",
|
|
22947
23010
|
actionsClassName
|
|
22948
23011
|
),
|
|
22949
23012
|
children: actionsContent
|
|
@@ -22953,7 +23016,7 @@ function FeatureChecklistImage({
|
|
|
22953
23016
|
"ul",
|
|
22954
23017
|
{
|
|
22955
23018
|
className: cn(
|
|
22956
|
-
"flex
|
|
23019
|
+
"flex flex-col space-y-3 md:space-y-4",
|
|
22957
23020
|
checklistClassName
|
|
22958
23021
|
),
|
|
22959
23022
|
children: checklistContent
|
|
@@ -77,6 +77,6 @@ interface SocialLinkIconProps extends Omit<PressableProps, "children">, SocialLi
|
|
|
77
77
|
* />
|
|
78
78
|
* ```
|
|
79
79
|
*/
|
|
80
|
-
declare const SocialLinkIcon: React.ForwardRefExoticComponent<SocialLinkIconProps & React.RefAttributes<
|
|
80
|
+
declare const SocialLinkIcon: React.ForwardRefExoticComponent<SocialLinkIconProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>>;
|
|
81
81
|
|
|
82
82
|
export { SocialLinkIcon, type SocialLinkIconDynamicIconProps, type SocialLinkIconProps };
|
|
@@ -77,6 +77,6 @@ interface SocialLinkIconProps extends Omit<PressableProps, "children">, SocialLi
|
|
|
77
77
|
* />
|
|
78
78
|
* ```
|
|
79
79
|
*/
|
|
80
|
-
declare const SocialLinkIcon: React.ForwardRefExoticComponent<SocialLinkIconProps & React.RefAttributes<
|
|
80
|
+
declare const SocialLinkIcon: React.ForwardRefExoticComponent<SocialLinkIconProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>>;
|
|
81
81
|
|
|
82
82
|
export { SocialLinkIcon, type SocialLinkIconDynamicIconProps, type SocialLinkIconProps };
|