@opensite/ui 3.4.4 → 3.4.6
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/contact-careers.cjs +3 -3
- package/dist/contact-careers.js +3 -3
- package/dist/contact-faq.cjs +3 -3
- package/dist/contact-faq.js +3 -3
- package/dist/faq-badge-support.cjs +3 -3
- package/dist/faq-badge-support.js +3 -3
- package/dist/faq-bordered-badge.cjs +3 -3
- package/dist/faq-bordered-badge.js +3 -3
- package/dist/faq-card-categories.cjs +2 -2
- package/dist/faq-card-categories.js +2 -2
- package/dist/faq-categorized-sections.cjs +3 -3
- package/dist/faq-categorized-sections.js +3 -3
- package/dist/faq-centered-accordion.cjs +3 -3
- package/dist/faq-centered-accordion.js +3 -3
- package/dist/faq-gradient-categories.cjs +3 -3
- package/dist/faq-gradient-categories.js +3 -3
- package/dist/faq-muted-cards.cjs +1 -1
- package/dist/faq-muted-cards.js +1 -1
- package/dist/faq-profile-sidebar.cjs +3 -3
- package/dist/faq-profile-sidebar.js +3 -3
- package/dist/faq-rounded-cards.cjs +3 -3
- package/dist/faq-rounded-cards.js +3 -3
- package/dist/faq-sidebar-navigation.cjs +3 -3
- package/dist/faq-sidebar-navigation.js +3 -3
- package/dist/faq-split-help.cjs +3 -3
- package/dist/faq-split-help.js +3 -3
- package/dist/faq-split-hero.cjs +3 -3
- package/dist/faq-split-hero.js +3 -3
- 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/navbar-tabbed-sections.cjs +3 -3
- package/dist/navbar-tabbed-sections.js +3 -3
- package/dist/registry.cjs +128 -65
- package/dist/registry.js +128 -65
- 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
|
|
@@ -960,10 +960,10 @@ var NavbarTabbedSections = ({
|
|
|
960
960
|
className: "border-b-0",
|
|
961
961
|
children: [
|
|
962
962
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: "h-15 items-center p-0 px-4! text-base leading-[3.75] font-normal text-muted-foreground hover:bg-muted hover:no-underline", children: item.title }),
|
|
963
|
-
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "overflow-x-none pb-4", children: /* @__PURE__ */ jsxRuntime.jsx(Accordion, { type: "multiple", className: "w-full pl-4", children: item.tabs.map((tab) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
963
|
+
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "overflow-x-none pb-4", children: /* @__PURE__ */ jsxRuntime.jsx(Accordion, { type: "multiple", className: "w-full pl-4", children: item.tabs.map((tab, idx) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
964
964
|
AccordionItem,
|
|
965
965
|
{
|
|
966
|
-
value: tab.id
|
|
966
|
+
value: tab.id || `tab-${idx}`,
|
|
967
967
|
className: "border-b-0",
|
|
968
968
|
children: [
|
|
969
969
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: "h-12 items-center p-0 px-4! text-sm leading-[3] font-medium text-muted-foreground hover:bg-muted hover:no-underline", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
@@ -985,7 +985,7 @@ var NavbarTabbedSections = ({
|
|
|
985
985
|
)) }) })
|
|
986
986
|
]
|
|
987
987
|
},
|
|
988
|
-
tab.id
|
|
988
|
+
tab.id || idx
|
|
989
989
|
)) }) })
|
|
990
990
|
]
|
|
991
991
|
},
|
|
@@ -936,10 +936,10 @@ var NavbarTabbedSections = ({
|
|
|
936
936
|
className: "border-b-0",
|
|
937
937
|
children: [
|
|
938
938
|
/* @__PURE__ */ jsx(AccordionTrigger, { className: "h-15 items-center p-0 px-4! text-base leading-[3.75] font-normal text-muted-foreground hover:bg-muted hover:no-underline", children: item.title }),
|
|
939
|
-
/* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none pb-4", children: /* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full pl-4", children: item.tabs.map((tab) => /* @__PURE__ */ jsxs(
|
|
939
|
+
/* @__PURE__ */ jsx(AccordionContent, { className: "overflow-x-none pb-4", children: /* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full pl-4", children: item.tabs.map((tab, idx) => /* @__PURE__ */ jsxs(
|
|
940
940
|
AccordionItem,
|
|
941
941
|
{
|
|
942
|
-
value: tab.id
|
|
942
|
+
value: tab.id || `tab-${idx}`,
|
|
943
943
|
className: "border-b-0",
|
|
944
944
|
children: [
|
|
945
945
|
/* @__PURE__ */ jsx(AccordionTrigger, { className: "h-12 items-center p-0 px-4! text-sm leading-[3] font-medium text-muted-foreground hover:bg-muted hover:no-underline", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
@@ -961,7 +961,7 @@ var NavbarTabbedSections = ({
|
|
|
961
961
|
)) }) })
|
|
962
962
|
]
|
|
963
963
|
},
|
|
964
|
-
tab.id
|
|
964
|
+
tab.id || idx
|
|
965
965
|
)) }) })
|
|
966
966
|
]
|
|
967
967
|
},
|