@opensite/ui 1.4.4 → 1.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 +160 -54
- package/dist/components.js +160 -54
- package/dist/feature-bento-utilities.cjs +101 -87
- package/dist/feature-bento-utilities.js +101 -87
- package/dist/feature-checklist-three-column.cjs +75 -43
- package/dist/feature-checklist-three-column.js +75 -43
- package/dist/feature-image-overlay-badge.cjs +57 -10
- package/dist/feature-image-overlay-badge.js +57 -10
- package/dist/feature-integration-cards.cjs +105 -19
- package/dist/feature-integration-cards.js +105 -19
- package/dist/feature-utility-cards-grid.cjs +79 -9
- package/dist/feature-utility-cards-grid.js +79 -9
- package/dist/footer-animated-social.cjs +66 -10
- package/dist/footer-animated-social.d.cts +5 -1
- package/dist/footer-animated-social.d.ts +5 -1
- package/dist/footer-animated-social.js +66 -10
- package/dist/footer-contact-card.cjs +94 -44
- package/dist/footer-contact-card.d.cts +5 -1
- package/dist/footer-contact-card.d.ts +5 -1
- package/dist/footer-contact-card.js +94 -44
- package/dist/index.cjs +160 -54
- package/dist/index.js +160 -54
- package/dist/registry.cjs +486 -196
- package/dist/registry.js +486 -196
- package/package.json +1 -1
package/dist/registry.js
CHANGED
|
@@ -23641,7 +23641,8 @@ function FooterContactCard({
|
|
|
23641
23641
|
copyrightClassName,
|
|
23642
23642
|
locationClassName,
|
|
23643
23643
|
background,
|
|
23644
|
-
|
|
23644
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
23645
|
+
spacing = "py-6 md:py-32",
|
|
23645
23646
|
pattern,
|
|
23646
23647
|
patternOpacity,
|
|
23647
23648
|
optixFlowConfig
|
|
@@ -23654,6 +23655,7 @@ function FooterContactCard({
|
|
|
23654
23655
|
pattern,
|
|
23655
23656
|
patternOpacity,
|
|
23656
23657
|
className: cn(className),
|
|
23658
|
+
containerClassName,
|
|
23657
23659
|
children: /* @__PURE__ */ jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxs("footer", { children: [
|
|
23658
23660
|
/* @__PURE__ */ jsxs("div", { className: cn("grid gap-12 lg:grid-cols-2", gridClassName), children: [
|
|
23659
23661
|
/* @__PURE__ */ jsxs("div", { className: cn(leftColumnClassName), children: [
|
|
@@ -23666,7 +23668,16 @@ function FooterContactCard({
|
|
|
23666
23668
|
optixFlowConfig
|
|
23667
23669
|
}
|
|
23668
23670
|
),
|
|
23669
|
-
heading && /* @__PURE__ */ jsx(
|
|
23671
|
+
heading && /* @__PURE__ */ jsx(
|
|
23672
|
+
"h2",
|
|
23673
|
+
{
|
|
23674
|
+
className: cn(
|
|
23675
|
+
"mb-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl",
|
|
23676
|
+
headingClassName
|
|
23677
|
+
),
|
|
23678
|
+
children: heading
|
|
23679
|
+
}
|
|
23680
|
+
),
|
|
23670
23681
|
(email || phone || address) && /* @__PURE__ */ jsxs("div", { className: cn("space-y-4 opacity-80", contactClassName), children: [
|
|
23671
23682
|
email && /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(
|
|
23672
23683
|
Pressable,
|
|
@@ -23687,51 +23698,90 @@ function FooterContactCard({
|
|
|
23687
23698
|
address && /* @__PURE__ */ jsx("p", { children: address })
|
|
23688
23699
|
] })
|
|
23689
23700
|
] }),
|
|
23690
|
-
/* @__PURE__ */ jsxs(
|
|
23691
|
-
|
|
23692
|
-
|
|
23693
|
-
|
|
23694
|
-
|
|
23701
|
+
/* @__PURE__ */ jsxs(
|
|
23702
|
+
"div",
|
|
23703
|
+
{
|
|
23704
|
+
className: cn(
|
|
23705
|
+
"flex flex-col justify-between",
|
|
23706
|
+
rightColumnClassName
|
|
23707
|
+
),
|
|
23708
|
+
children: [
|
|
23709
|
+
(socialTitle || socialLinks && socialLinks.length > 0) && /* @__PURE__ */ jsxs("div", { className: cn(socialSectionClassName), children: [
|
|
23710
|
+
socialTitle && /* @__PURE__ */ jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
|
|
23711
|
+
socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsx(
|
|
23712
|
+
"ul",
|
|
23713
|
+
{
|
|
23714
|
+
className: cn(
|
|
23715
|
+
"flex items-center gap-4",
|
|
23716
|
+
socialLinksClassName
|
|
23717
|
+
),
|
|
23718
|
+
children: socialLinks.map((social, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
23719
|
+
SocialLinkIcon,
|
|
23720
|
+
{
|
|
23721
|
+
href: social.href,
|
|
23722
|
+
label: social.label,
|
|
23723
|
+
iconNameOverride: social.iconNameOverride,
|
|
23724
|
+
className: cn(
|
|
23725
|
+
"flex size-12 items-center justify-center rounded-full border transition-colors hover:opacity-80",
|
|
23726
|
+
socialLinkClassName
|
|
23727
|
+
)
|
|
23728
|
+
}
|
|
23729
|
+
) }, idx))
|
|
23730
|
+
}
|
|
23731
|
+
)
|
|
23732
|
+
] }),
|
|
23733
|
+
navLinks && navLinks.length > 0 && /* @__PURE__ */ jsx("nav", { className: cn("mt-18 md:mt-8", navClassName), children: /* @__PURE__ */ jsx("ul", { className: "flex flex-wrap gap-6", children: navLinks.map((link, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
23734
|
+
Pressable,
|
|
23735
|
+
{
|
|
23736
|
+
href: link.href,
|
|
23737
|
+
className: cn(
|
|
23738
|
+
"opacity-80 hover:opacity-100",
|
|
23739
|
+
navLinkClassName
|
|
23740
|
+
),
|
|
23741
|
+
children: link.name
|
|
23742
|
+
}
|
|
23743
|
+
) }, idx)) }) })
|
|
23744
|
+
]
|
|
23745
|
+
}
|
|
23746
|
+
)
|
|
23747
|
+
] }),
|
|
23748
|
+
/* @__PURE__ */ jsxs(
|
|
23749
|
+
"div",
|
|
23750
|
+
{
|
|
23751
|
+
className: cn(
|
|
23752
|
+
"mt-16 flex flex-col justify-between gap-4 border-t pt-8 text-sm opacity-80 md:flex-row md:items-center",
|
|
23753
|
+
bottomClassName
|
|
23754
|
+
),
|
|
23755
|
+
children: [
|
|
23756
|
+
/* @__PURE__ */ jsxs(
|
|
23757
|
+
"div",
|
|
23695
23758
|
{
|
|
23696
|
-
href: social.href,
|
|
23697
|
-
label: social.label,
|
|
23698
|
-
iconNameOverride: social.iconNameOverride,
|
|
23699
23759
|
className: cn(
|
|
23700
|
-
"flex
|
|
23701
|
-
|
|
23702
|
-
)
|
|
23760
|
+
"flex flex-col gap-2 md:flex-row md:items-center md:gap-4",
|
|
23761
|
+
copyrightClassName
|
|
23762
|
+
),
|
|
23763
|
+
children: [
|
|
23764
|
+
/* @__PURE__ */ jsx(FooterCopyright, { copyright }),
|
|
23765
|
+
/* @__PURE__ */ jsx(
|
|
23766
|
+
BrandAttribution,
|
|
23767
|
+
{
|
|
23768
|
+
internalBrandSlug: "open_site_ai",
|
|
23769
|
+
optionIndex: 7,
|
|
23770
|
+
variant: "span",
|
|
23771
|
+
linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
|
|
23772
|
+
}
|
|
23773
|
+
)
|
|
23774
|
+
]
|
|
23703
23775
|
}
|
|
23704
|
-
)
|
|
23705
|
-
|
|
23706
|
-
|
|
23707
|
-
|
|
23708
|
-
|
|
23709
|
-
|
|
23710
|
-
|
|
23711
|
-
|
|
23712
|
-
|
|
23713
|
-
) }, idx)) }) })
|
|
23714
|
-
] })
|
|
23715
|
-
] }),
|
|
23716
|
-
/* @__PURE__ */ jsxs("div", { className: cn("mt-16 flex flex-col justify-between gap-4 border-t pt-8 text-sm opacity-80 md:flex-row md:items-center", bottomClassName), children: [
|
|
23717
|
-
/* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-2 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
|
|
23718
|
-
/* @__PURE__ */ jsx(FooterCopyright, { copyright }),
|
|
23719
|
-
/* @__PURE__ */ jsx(
|
|
23720
|
-
BrandAttribution,
|
|
23721
|
-
{
|
|
23722
|
-
internalBrandSlug: "open_site_ai",
|
|
23723
|
-
optionIndex: 7,
|
|
23724
|
-
variant: "span",
|
|
23725
|
-
linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
|
|
23726
|
-
}
|
|
23727
|
-
)
|
|
23728
|
-
] }),
|
|
23729
|
-
(locationLabel || location) && /* @__PURE__ */ jsxs("p", { className: cn(locationClassName), children: [
|
|
23730
|
-
locationLabel,
|
|
23731
|
-
" ",
|
|
23732
|
-
location && /* @__PURE__ */ jsx("strong", { children: location })
|
|
23733
|
-
] })
|
|
23734
|
-
] })
|
|
23776
|
+
),
|
|
23777
|
+
(locationLabel || location) && /* @__PURE__ */ jsxs("p", { className: cn(locationClassName), children: [
|
|
23778
|
+
locationLabel,
|
|
23779
|
+
" ",
|
|
23780
|
+
location && /* @__PURE__ */ jsx("strong", { children: location })
|
|
23781
|
+
] })
|
|
23782
|
+
]
|
|
23783
|
+
}
|
|
23784
|
+
)
|
|
23735
23785
|
] }) })
|
|
23736
23786
|
}
|
|
23737
23787
|
);
|
|
@@ -23900,7 +23950,8 @@ function FooterAnimatedSocial({
|
|
|
23900
23950
|
separatorClassName,
|
|
23901
23951
|
copyrightClassName,
|
|
23902
23952
|
background,
|
|
23903
|
-
|
|
23953
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
23954
|
+
spacing = "py-6 md:py-32",
|
|
23904
23955
|
pattern,
|
|
23905
23956
|
patternOpacity
|
|
23906
23957
|
}) {
|
|
@@ -23923,7 +23974,10 @@ function FooterAnimatedSocial({
|
|
|
23923
23974
|
label: link.label,
|
|
23924
23975
|
iconNameOverride: link.iconNameOverride,
|
|
23925
23976
|
iconSize: 24,
|
|
23926
|
-
className: cn(
|
|
23977
|
+
className: cn(
|
|
23978
|
+
"group flex items-center gap-2 py-2 transition-colors hover:opacity-70",
|
|
23979
|
+
socialLinkClassName
|
|
23980
|
+
)
|
|
23927
23981
|
}
|
|
23928
23982
|
)
|
|
23929
23983
|
},
|
|
@@ -23938,6 +23992,7 @@ function FooterAnimatedSocial({
|
|
|
23938
23992
|
pattern,
|
|
23939
23993
|
patternOpacity,
|
|
23940
23994
|
className: cn(className),
|
|
23995
|
+
containerClassName,
|
|
23941
23996
|
children: /* @__PURE__ */ jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsx("footer", { children: /* @__PURE__ */ jsxs("div", { children: [
|
|
23942
23997
|
/* @__PURE__ */ jsxs(
|
|
23943
23998
|
motion.div,
|
|
@@ -23946,23 +24001,56 @@ function FooterAnimatedSocial({
|
|
|
23946
24001
|
initial: "hidden",
|
|
23947
24002
|
whileInView: "visible",
|
|
23948
24003
|
viewport: { once: true },
|
|
23949
|
-
className: cn(
|
|
24004
|
+
className: cn(
|
|
24005
|
+
"flex flex-col justify-between md:flex-row md:items-center",
|
|
24006
|
+
layoutClassName
|
|
24007
|
+
),
|
|
23950
24008
|
children: [
|
|
23951
24009
|
/* @__PURE__ */ jsxs("div", { className: cn("space-y-8", leftColumnClassName), children: [
|
|
23952
24010
|
/* @__PURE__ */ jsxs(motion.div, { variants: itemVariants, className: "space-y-6", children: [
|
|
23953
|
-
/* @__PURE__ */ jsx(
|
|
23954
|
-
|
|
24011
|
+
/* @__PURE__ */ jsx(
|
|
24012
|
+
"h2",
|
|
24013
|
+
{
|
|
24014
|
+
className: cn(
|
|
24015
|
+
"text-4xl leading-tight font-bold lg:text-5xl",
|
|
24016
|
+
headingClassName
|
|
24017
|
+
),
|
|
24018
|
+
children: heading
|
|
24019
|
+
}
|
|
24020
|
+
),
|
|
24021
|
+
/* @__PURE__ */ jsx(
|
|
24022
|
+
"p",
|
|
24023
|
+
{
|
|
24024
|
+
className: cn(
|
|
24025
|
+
"max-w-md text-lg leading-relaxed opacity-80",
|
|
24026
|
+
descriptionClassName
|
|
24027
|
+
),
|
|
24028
|
+
children: description
|
|
24029
|
+
}
|
|
24030
|
+
)
|
|
23955
24031
|
] }),
|
|
23956
24032
|
ctaUrl && ctaText && /* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsx(
|
|
23957
24033
|
Pressable,
|
|
23958
24034
|
{
|
|
23959
24035
|
href: ctaUrl,
|
|
23960
|
-
className: cn(
|
|
24036
|
+
className: cn(
|
|
24037
|
+
"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border h-11 px-8 hover:opacity-80",
|
|
24038
|
+
ctaClassName
|
|
24039
|
+
),
|
|
23961
24040
|
children: ctaText
|
|
23962
24041
|
}
|
|
23963
24042
|
) })
|
|
23964
24043
|
] }),
|
|
23965
|
-
/* @__PURE__ */ jsx(
|
|
24044
|
+
/* @__PURE__ */ jsx(
|
|
24045
|
+
"div",
|
|
24046
|
+
{
|
|
24047
|
+
className: cn(
|
|
24048
|
+
"flex flex-row md:flex-col flex-wrap items-center justify-center gap-4 md:gap-2",
|
|
24049
|
+
rightColumnClassName
|
|
24050
|
+
),
|
|
24051
|
+
children: /* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsx("div", { className: cn("flex flex-row md:flex-col items-center gap-4 md:gap-6", socialLinksClassName), children: socialLinksContent }) })
|
|
24052
|
+
}
|
|
24053
|
+
)
|
|
23966
24054
|
]
|
|
23967
24055
|
}
|
|
23968
24056
|
),
|
|
@@ -23975,14 +24063,32 @@ function FooterAnimatedSocial({
|
|
|
23975
24063
|
viewport: { once: true },
|
|
23976
24064
|
className: cn("mt-16", bottomClassName),
|
|
23977
24065
|
children: [
|
|
23978
|
-
/* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsx(
|
|
24066
|
+
/* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsx(
|
|
24067
|
+
"div",
|
|
24068
|
+
{
|
|
24069
|
+
className: cn(
|
|
24070
|
+
"mb-8 h-px w-full opacity-20",
|
|
24071
|
+
separatorClassName
|
|
24072
|
+
),
|
|
24073
|
+
style: { backgroundColor: "currentColor" }
|
|
24074
|
+
}
|
|
24075
|
+
) }),
|
|
23979
24076
|
/* @__PURE__ */ jsxs(
|
|
23980
24077
|
motion.div,
|
|
23981
24078
|
{
|
|
23982
24079
|
variants: itemVariants,
|
|
23983
|
-
className: cn(
|
|
24080
|
+
className: cn(
|
|
24081
|
+
"flex flex-col items-start justify-between gap-4 sm:flex-row sm:items-center",
|
|
24082
|
+
copyrightClassName
|
|
24083
|
+
),
|
|
23984
24084
|
children: [
|
|
23985
|
-
/* @__PURE__ */ jsx(
|
|
24085
|
+
/* @__PURE__ */ jsx(
|
|
24086
|
+
FooterCopyright,
|
|
24087
|
+
{
|
|
24088
|
+
copyright,
|
|
24089
|
+
className: "text-sm opacity-70"
|
|
24090
|
+
}
|
|
24091
|
+
),
|
|
23986
24092
|
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-6 text-sm opacity-70", children: /* @__PURE__ */ jsx(
|
|
23987
24093
|
BrandAttribution,
|
|
23988
24094
|
{
|
|
@@ -26523,8 +26629,7 @@ function FeatureUtilityCardsGrid({
|
|
|
26523
26629
|
href: learnMoreAction.href,
|
|
26524
26630
|
onClick: learnMoreAction.onClick,
|
|
26525
26631
|
className: cn(
|
|
26526
|
-
"hover:
|
|
26527
|
-
`hover:${getAccentColor(background)}`,
|
|
26632
|
+
"font-medium transition-opacity hover:opacity-80",
|
|
26528
26633
|
learnMoreAction.className
|
|
26529
26634
|
),
|
|
26530
26635
|
"aria-label": learnMoreAction["aria-label"],
|
|
@@ -26537,7 +26642,10 @@ function FeatureUtilityCardsGrid({
|
|
|
26537
26642
|
{
|
|
26538
26643
|
href: learnMoreAction.href,
|
|
26539
26644
|
onClick: learnMoreAction.onClick,
|
|
26540
|
-
className: cn(
|
|
26645
|
+
className: cn(
|
|
26646
|
+
"flex items-center gap-1 font-medium transition-opacity hover:opacity-80",
|
|
26647
|
+
learnMoreAction.className
|
|
26648
|
+
),
|
|
26541
26649
|
"aria-label": learnMoreAction["aria-label"],
|
|
26542
26650
|
children: [
|
|
26543
26651
|
learnMoreAction.icon,
|
|
@@ -26575,18 +26683,60 @@ function FeatureUtilityCardsGrid({
|
|
|
26575
26683
|
return utilities.map((utility, index) => /* @__PURE__ */ jsxs(
|
|
26576
26684
|
Card,
|
|
26577
26685
|
{
|
|
26578
|
-
className: cn(
|
|
26686
|
+
className: cn(
|
|
26687
|
+
"overflow-hidden pt-0 transition-shadow duration-300 hover:shadow-lg",
|
|
26688
|
+
cardClassName,
|
|
26689
|
+
utility.className
|
|
26690
|
+
),
|
|
26579
26691
|
children: [
|
|
26580
|
-
renderUtilityImage(utility),
|
|
26581
|
-
/* @__PURE__ */ jsxs("div", { className: "p-5", children: [
|
|
26582
|
-
utility.title && (typeof utility.title === "string" ? /* @__PURE__ */ jsx(
|
|
26583
|
-
|
|
26692
|
+
/* @__PURE__ */ jsx("div", { className: "overflow-hidden", children: renderUtilityImage(utility) }),
|
|
26693
|
+
/* @__PURE__ */ jsxs("div", { className: "p-5 md:p-6", children: [
|
|
26694
|
+
utility.title && (typeof utility.title === "string" ? /* @__PURE__ */ jsx(
|
|
26695
|
+
"h3",
|
|
26696
|
+
{
|
|
26697
|
+
className: cn(
|
|
26698
|
+
"mb-2 text-lg font-semibold",
|
|
26699
|
+
utility.titleClassName
|
|
26700
|
+
),
|
|
26701
|
+
children: utility.title
|
|
26702
|
+
}
|
|
26703
|
+
) : /* @__PURE__ */ jsx(
|
|
26704
|
+
"div",
|
|
26705
|
+
{
|
|
26706
|
+
className: cn(
|
|
26707
|
+
"mb-2 text-lg font-semibold",
|
|
26708
|
+
utility.titleClassName
|
|
26709
|
+
),
|
|
26710
|
+
children: utility.title
|
|
26711
|
+
}
|
|
26712
|
+
)),
|
|
26713
|
+
utility.description && (typeof utility.description === "string" ? /* @__PURE__ */ jsx(
|
|
26714
|
+
"p",
|
|
26715
|
+
{
|
|
26716
|
+
className: cn(
|
|
26717
|
+
"text-sm leading-relaxed",
|
|
26718
|
+
getTextColor(background, "muted"),
|
|
26719
|
+
utility.descriptionClassName
|
|
26720
|
+
),
|
|
26721
|
+
children: utility.description
|
|
26722
|
+
}
|
|
26723
|
+
) : /* @__PURE__ */ jsx(
|
|
26724
|
+
"div",
|
|
26725
|
+
{
|
|
26726
|
+
className: cn(
|
|
26727
|
+
"text-sm leading-relaxed",
|
|
26728
|
+
getTextColor(background, "muted"),
|
|
26729
|
+
utility.descriptionClassName
|
|
26730
|
+
),
|
|
26731
|
+
children: utility.description
|
|
26732
|
+
}
|
|
26733
|
+
))
|
|
26584
26734
|
] })
|
|
26585
26735
|
]
|
|
26586
26736
|
},
|
|
26587
26737
|
index
|
|
26588
26738
|
));
|
|
26589
|
-
}, [utilitiesSlot, utilities, cardClassName, renderUtilityImage]);
|
|
26739
|
+
}, [utilitiesSlot, utilities, cardClassName, renderUtilityImage, background]);
|
|
26590
26740
|
return /* @__PURE__ */ jsxs(
|
|
26591
26741
|
Section,
|
|
26592
26742
|
{
|
|
@@ -26681,57 +26831,63 @@ function FeatureBentoUtilities({
|
|
|
26681
26831
|
patternOpacity,
|
|
26682
26832
|
patternClassName
|
|
26683
26833
|
}) {
|
|
26684
|
-
const renderCard = React52.useCallback(
|
|
26685
|
-
|
|
26686
|
-
|
|
26687
|
-
|
|
26688
|
-
|
|
26689
|
-
|
|
26690
|
-
|
|
26691
|
-
|
|
26692
|
-
|
|
26693
|
-
|
|
26694
|
-
|
|
26695
|
-
|
|
26696
|
-
|
|
26697
|
-
|
|
26698
|
-
|
|
26699
|
-
|
|
26700
|
-
|
|
26701
|
-
|
|
26702
|
-
|
|
26703
|
-
|
|
26834
|
+
const renderCard = React52.useCallback(
|
|
26835
|
+
(card, index) => {
|
|
26836
|
+
const hasImage = card.imageSrc || card.imageSlot;
|
|
26837
|
+
const cardClasses = cn(
|
|
26838
|
+
hasImage ? "overflow-hidden pt-0" : "p-6",
|
|
26839
|
+
card.isDashed && "border-dashed bg-transparent shadow-none",
|
|
26840
|
+
card.className
|
|
26841
|
+
);
|
|
26842
|
+
const renderImage = () => {
|
|
26843
|
+
if (card.imageSlot) return card.imageSlot;
|
|
26844
|
+
if (card.imageSrc) {
|
|
26845
|
+
return /* @__PURE__ */ jsx(
|
|
26846
|
+
Img,
|
|
26847
|
+
{
|
|
26848
|
+
src: card.imageSrc,
|
|
26849
|
+
alt: card.imageAlt || "",
|
|
26850
|
+
className: "aspect-video w-full object-cover",
|
|
26851
|
+
loading: "lazy",
|
|
26852
|
+
optixFlowConfig
|
|
26853
|
+
}
|
|
26854
|
+
);
|
|
26855
|
+
}
|
|
26856
|
+
return null;
|
|
26857
|
+
};
|
|
26858
|
+
const renderTitle = () => {
|
|
26859
|
+
if (!card.title) return null;
|
|
26860
|
+
const titleContent = /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
26861
|
+
card.title,
|
|
26862
|
+
card.showSparkle && /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/sparkles", size: 16 }),
|
|
26863
|
+
card.badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", children: card.badge })
|
|
26864
|
+
] });
|
|
26865
|
+
return /* @__PURE__ */ jsx("div", { className: "mb-1 flex items-center gap-2 font-medium", children: titleContent });
|
|
26866
|
+
};
|
|
26867
|
+
if (hasImage) {
|
|
26868
|
+
return /* @__PURE__ */ jsxs(Card, { className: cardClasses, children: [
|
|
26869
|
+
renderImage(),
|
|
26870
|
+
/* @__PURE__ */ jsxs("div", { className: "p-6", children: [
|
|
26871
|
+
renderTitle(),
|
|
26872
|
+
card.description && /* @__PURE__ */ jsx("p", { children: card.description })
|
|
26873
|
+
] })
|
|
26874
|
+
] }, index);
|
|
26704
26875
|
}
|
|
26705
|
-
return null;
|
|
26706
|
-
};
|
|
26707
|
-
const renderTitle = () => {
|
|
26708
|
-
if (!card.title) return null;
|
|
26709
|
-
const titleContent = /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
26710
|
-
card.title,
|
|
26711
|
-
card.showSparkle && /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/sparkles", size: 16 }),
|
|
26712
|
-
card.badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", children: card.badge })
|
|
26713
|
-
] });
|
|
26714
|
-
return /* @__PURE__ */ jsx("div", { className: "mb-1 flex items-center gap-2 font-medium", children: titleContent });
|
|
26715
|
-
};
|
|
26716
|
-
if (hasImage) {
|
|
26717
26876
|
return /* @__PURE__ */ jsxs(Card, { className: cardClasses, children: [
|
|
26718
|
-
|
|
26719
|
-
/* @__PURE__ */
|
|
26720
|
-
renderTitle(),
|
|
26721
|
-
card.description && /* @__PURE__ */ jsx("p", { className: getTextColor(background, "muted"), children: card.description })
|
|
26722
|
-
] })
|
|
26877
|
+
renderTitle(),
|
|
26878
|
+
card.description && /* @__PURE__ */ jsx("p", { className: getTextColor(background, "muted"), children: card.description })
|
|
26723
26879
|
] }, index);
|
|
26724
|
-
}
|
|
26725
|
-
|
|
26726
|
-
|
|
26727
|
-
|
|
26728
|
-
|
|
26729
|
-
|
|
26730
|
-
|
|
26731
|
-
|
|
26732
|
-
|
|
26733
|
-
|
|
26734
|
-
|
|
26880
|
+
},
|
|
26881
|
+
[optixFlowConfig]
|
|
26882
|
+
);
|
|
26883
|
+
const renderColumn = React52.useCallback(
|
|
26884
|
+
(cards, slot) => {
|
|
26885
|
+
if (slot) return slot;
|
|
26886
|
+
if (!cards || cards.length === 0) return null;
|
|
26887
|
+
return cards.map((card, index) => renderCard(card, index));
|
|
26888
|
+
},
|
|
26889
|
+
[renderCard]
|
|
26890
|
+
);
|
|
26735
26891
|
const labelIconElement = useMemo(() => {
|
|
26736
26892
|
if (labelIcon) return labelIcon;
|
|
26737
26893
|
if (labelIconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: labelIconName, size: 20 });
|
|
@@ -26745,22 +26901,56 @@ function FeatureBentoUtilities({
|
|
|
26745
26901
|
pattern,
|
|
26746
26902
|
patternOpacity,
|
|
26747
26903
|
patternClassName,
|
|
26748
|
-
className
|
|
26904
|
+
className,
|
|
26749
26905
|
containerClassName: cn("max-w-7xl", containerClassName),
|
|
26750
26906
|
children: [
|
|
26751
|
-
(labelIconElement || label) && /* @__PURE__ */ jsxs(
|
|
26752
|
-
|
|
26753
|
-
|
|
26754
|
-
|
|
26907
|
+
(labelIconElement || label) && /* @__PURE__ */ jsxs(
|
|
26908
|
+
"div",
|
|
26909
|
+
{
|
|
26910
|
+
className: cn(
|
|
26911
|
+
"flex items-center gap-2",
|
|
26912
|
+
getTextColor(background, "muted"),
|
|
26913
|
+
labelClassName
|
|
26914
|
+
),
|
|
26915
|
+
children: [
|
|
26916
|
+
labelIconElement,
|
|
26917
|
+
label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm", children: label }) : /* @__PURE__ */ jsx("div", { className: "text-sm", children: label }))
|
|
26918
|
+
]
|
|
26919
|
+
}
|
|
26920
|
+
),
|
|
26755
26921
|
/* @__PURE__ */ jsx(Separator, { className: "mt-3 mb-8" }),
|
|
26756
|
-
/* @__PURE__ */ jsxs(
|
|
26757
|
-
|
|
26758
|
-
|
|
26759
|
-
|
|
26760
|
-
|
|
26761
|
-
|
|
26762
|
-
|
|
26763
|
-
|
|
26922
|
+
/* @__PURE__ */ jsxs(
|
|
26923
|
+
"div",
|
|
26924
|
+
{
|
|
26925
|
+
className: cn(
|
|
26926
|
+
"flex flex-col justify-between gap-6 md:flex-row",
|
|
26927
|
+
headerClassName
|
|
26928
|
+
),
|
|
26929
|
+
children: [
|
|
26930
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium md:w-1/2", titleClassName), children: title }) : /* @__PURE__ */ jsx(
|
|
26931
|
+
"div",
|
|
26932
|
+
{
|
|
26933
|
+
className: cn("text-3xl font-medium md:w-1/2", titleClassName),
|
|
26934
|
+
children: title
|
|
26935
|
+
}
|
|
26936
|
+
)),
|
|
26937
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("md:w-1/2", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("md:w-1/2", descriptionClassName), children: description }))
|
|
26938
|
+
]
|
|
26939
|
+
}
|
|
26940
|
+
),
|
|
26941
|
+
/* @__PURE__ */ jsxs(
|
|
26942
|
+
"div",
|
|
26943
|
+
{
|
|
26944
|
+
className: cn(
|
|
26945
|
+
"mt-11 grid grid-cols-1 gap-6 md:grid-cols-2",
|
|
26946
|
+
gridClassName
|
|
26947
|
+
),
|
|
26948
|
+
children: [
|
|
26949
|
+
/* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-6", columnClassName), children: renderColumn(leftColumnCards, leftColumnSlot) }),
|
|
26950
|
+
/* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-6", columnClassName), children: renderColumn(rightColumnCards, rightColumnSlot) })
|
|
26951
|
+
]
|
|
26952
|
+
}
|
|
26953
|
+
)
|
|
26764
26954
|
]
|
|
26765
26955
|
}
|
|
26766
26956
|
);
|
|
@@ -26798,11 +26988,11 @@ function FeatureChecklistThreeColumn({
|
|
|
26798
26988
|
const renderChecklistColumn = useCallback((items, slot, gapClass) => {
|
|
26799
26989
|
if (slot) return slot;
|
|
26800
26990
|
if (!items || items.length === 0) return null;
|
|
26801
|
-
return /* @__PURE__ */ jsx("ul", { className: cn("flex flex-col",
|
|
26802
|
-
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check", size:
|
|
26803
|
-
getCheckItemContent(item)
|
|
26991
|
+
return /* @__PURE__ */ jsx("ul", { className: cn("flex flex-col", gapClass, checklistClassName), children: items.map((item, index) => /* @__PURE__ */ jsxs("li", { className: cn("flex items-start gap-3", getCheckItemClassName(item)), children: [
|
|
26992
|
+
/* @__PURE__ */ jsx("span", { className: "mt-0.5 flex size-5 shrink-0 items-center justify-center rounded-full bg-primary/10", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check", size: 12, className: getAccentColor(background) }) }),
|
|
26993
|
+
/* @__PURE__ */ jsx("span", { className: getTextColor(background, "muted"), children: getCheckItemContent(item) })
|
|
26804
26994
|
] }, index)) });
|
|
26805
|
-
}, [checklistClassName, getCheckItemContent, getCheckItemClassName]);
|
|
26995
|
+
}, [checklistClassName, getCheckItemContent, getCheckItemClassName, background]);
|
|
26806
26996
|
const renderCardImage = useCallback((card) => {
|
|
26807
26997
|
if (card.imageSlot) return card.imageSlot;
|
|
26808
26998
|
if (card.image) {
|
|
@@ -26826,10 +27016,10 @@ function FeatureChecklistThreeColumn({
|
|
|
26826
27016
|
Pressable,
|
|
26827
27017
|
{
|
|
26828
27018
|
href: card.link,
|
|
26829
|
-
className: "
|
|
27019
|
+
className: "flex items-center gap-2 px-5 py-4 font-medium transition-opacity hover:opacity-80 md:px-6",
|
|
26830
27020
|
children: [
|
|
26831
27021
|
card.linkLabel || "Read more",
|
|
26832
|
-
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/
|
|
27022
|
+
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right", size: 16 })
|
|
26833
27023
|
]
|
|
26834
27024
|
}
|
|
26835
27025
|
);
|
|
@@ -26837,43 +27027,62 @@ function FeatureChecklistThreeColumn({
|
|
|
26837
27027
|
const cardsContent = useMemo(() => {
|
|
26838
27028
|
if (cardsSlot) return cardsSlot;
|
|
26839
27029
|
if (!cards || cards.length === 0) return null;
|
|
26840
|
-
return cards.map((card, index) => /* @__PURE__ */ jsxs(
|
|
26841
|
-
|
|
26842
|
-
|
|
26843
|
-
|
|
26844
|
-
|
|
26845
|
-
|
|
26846
|
-
|
|
26847
|
-
|
|
26848
|
-
|
|
26849
|
-
|
|
26850
|
-
|
|
26851
|
-
|
|
26852
|
-
|
|
26853
|
-
/* @__PURE__ */ jsxs("div", { className: "mb-3 px-4 pt-5 sm:px-5 md:px-6 md:pt-6", children: [
|
|
26854
|
-
card.title && (typeof card.title === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("font-medium", card.titleClassName), children: card.title }) : /* @__PURE__ */ jsx("div", { className: cn("font-medium", card.titleClassName), children: card.title })),
|
|
26855
|
-
card.description && (typeof card.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn(getTextColor(background, "muted"), card.descriptionClassName), children: card.description }) : /* @__PURE__ */ jsx("div", { className: cn(getTextColor(background, "muted"), card.descriptionClassName), children: card.description }))
|
|
26856
|
-
] }),
|
|
26857
|
-
/* @__PURE__ */ jsx("div", { className: "h-px border-t border-dashed" }),
|
|
26858
|
-
/* @__PURE__ */ jsx("ul", { className: getTextColor(background, "muted"), children: card.checklistItems?.map((item, itemIndex) => /* @__PURE__ */ jsxs(React52.Fragment, { children: [
|
|
26859
|
-
/* @__PURE__ */ jsxs("li", { className: cn("flex items-start gap-2 px-4 py-3 sm:px-5 md:px-6", getCheckItemClassName(item)), children: [
|
|
26860
|
-
/* @__PURE__ */ jsx(
|
|
26861
|
-
DynamicIcon,
|
|
27030
|
+
return cards.map((card, index) => /* @__PURE__ */ jsxs(
|
|
27031
|
+
Card,
|
|
27032
|
+
{
|
|
27033
|
+
className: cn(
|
|
27034
|
+
"overflow-hidden pt-0 transition-shadow duration-300 hover:shadow-lg",
|
|
27035
|
+
cardClassName,
|
|
27036
|
+
card.className
|
|
27037
|
+
),
|
|
27038
|
+
children: [
|
|
27039
|
+
/* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
27040
|
+
renderCardImage(card),
|
|
27041
|
+
card.badge && /* @__PURE__ */ jsx(
|
|
27042
|
+
Badge,
|
|
26862
27043
|
{
|
|
26863
|
-
|
|
26864
|
-
|
|
26865
|
-
|
|
27044
|
+
variant: "outline",
|
|
27045
|
+
className: cn(
|
|
27046
|
+
"absolute top-4 left-4 bg-background/90 backdrop-blur-sm",
|
|
27047
|
+
card.badgeClassName
|
|
27048
|
+
),
|
|
27049
|
+
children: card.badge
|
|
26866
27050
|
}
|
|
26867
|
-
)
|
|
26868
|
-
getCheckItemContent(item)
|
|
27051
|
+
)
|
|
26869
27052
|
] }),
|
|
26870
|
-
|
|
26871
|
-
|
|
26872
|
-
|
|
26873
|
-
|
|
26874
|
-
|
|
26875
|
-
|
|
26876
|
-
|
|
27053
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
|
|
27054
|
+
/* @__PURE__ */ jsxs("div", { className: "px-5 py-5 md:px-6 md:py-6", children: [
|
|
27055
|
+
card.title && (typeof card.title === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("mb-2 text-lg font-semibold", card.titleClassName), children: card.title }) : /* @__PURE__ */ jsx("div", { className: cn("mb-2 text-lg font-semibold", card.titleClassName), children: card.title })),
|
|
27056
|
+
card.description && (typeof card.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm leading-relaxed", getTextColor(background, "muted"), card.descriptionClassName), children: card.description }) : /* @__PURE__ */ jsx("div", { className: cn("text-sm leading-relaxed", getTextColor(background, "muted"), card.descriptionClassName), children: card.description }))
|
|
27057
|
+
] }),
|
|
27058
|
+
card.checklistItems && card.checklistItems.length > 0 && /* @__PURE__ */ jsx("ul", { className: "border-t px-5 py-4 md:px-6", children: card.checklistItems.map((item, itemIndex) => /* @__PURE__ */ jsxs(
|
|
27059
|
+
"li",
|
|
27060
|
+
{
|
|
27061
|
+
className: cn(
|
|
27062
|
+
"flex items-start gap-3 py-2",
|
|
27063
|
+
getCheckItemClassName(item)
|
|
27064
|
+
),
|
|
27065
|
+
children: [
|
|
27066
|
+
/* @__PURE__ */ jsx("span", { className: "mt-0.5 flex size-5 shrink-0 items-center justify-center rounded-full bg-primary/10", children: /* @__PURE__ */ jsx(
|
|
27067
|
+
DynamicIcon,
|
|
27068
|
+
{
|
|
27069
|
+
name: "lucide/check",
|
|
27070
|
+
size: 12,
|
|
27071
|
+
className: getAccentColor(background)
|
|
27072
|
+
}
|
|
27073
|
+
) }),
|
|
27074
|
+
/* @__PURE__ */ jsx("span", { className: cn("text-sm", getTextColor(background, "muted")), children: getCheckItemContent(item) })
|
|
27075
|
+
]
|
|
27076
|
+
},
|
|
27077
|
+
itemIndex
|
|
27078
|
+
)) }),
|
|
27079
|
+
card.link && /* @__PURE__ */ jsx("div", { className: "border-t", children: renderCardLink(card) })
|
|
27080
|
+
] })
|
|
27081
|
+
]
|
|
27082
|
+
},
|
|
27083
|
+
index
|
|
27084
|
+
));
|
|
27085
|
+
}, [cardsSlot, cards, cardClassName, renderCardImage, renderCardLink, getCheckItemContent, getCheckItemClassName, background]);
|
|
26877
27086
|
return /* @__PURE__ */ jsxs(
|
|
26878
27087
|
Section,
|
|
26879
27088
|
{
|
|
@@ -26885,9 +27094,9 @@ function FeatureChecklistThreeColumn({
|
|
|
26885
27094
|
className,
|
|
26886
27095
|
containerClassName,
|
|
26887
27096
|
children: [
|
|
26888
|
-
/* @__PURE__ */ jsxs("div", { className: cn("grid gap-
|
|
26889
|
-
title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("mb-
|
|
26890
|
-
renderChecklistColumn(checklistColumn1, checklistColumn1Slot, "gap-
|
|
27097
|
+
/* @__PURE__ */ jsxs("div", { className: cn("grid gap-6 sm:grid-cols-2 sm:gap-8 lg:grid-cols-3 lg:gap-12", headerGridClassName), children: [
|
|
27098
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("mb-2 text-2xl font-semibold text-balance sm:col-span-2 sm:text-3xl lg:col-span-1 lg:text-4xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("mb-2 text-2xl font-semibold text-balance sm:col-span-2 sm:text-3xl lg:col-span-1 lg:text-4xl", titleClassName), children: title })),
|
|
27099
|
+
renderChecklistColumn(checklistColumn1, checklistColumn1Slot, "gap-4"),
|
|
26891
27100
|
renderChecklistColumn(checklistColumn2, checklistColumn2Slot, "gap-4")
|
|
26892
27101
|
] }),
|
|
26893
27102
|
/* @__PURE__ */ jsx("div", { className: cn("mt-10 grid gap-6 sm:mt-16 md:grid-cols-2 lg:grid-cols-3", cardsGridClassName), children: cardsContent })
|
|
@@ -26931,11 +27140,22 @@ function FeatureIntegrationCards({
|
|
|
26931
27140
|
const renderLinkLabel = useCallback((integration) => {
|
|
26932
27141
|
if (integration.linkLabelSlot) return integration.linkLabelSlot;
|
|
26933
27142
|
if (!integration.linkLabel) return null;
|
|
26934
|
-
return /* @__PURE__ */ jsxs(
|
|
26935
|
-
|
|
26936
|
-
|
|
26937
|
-
|
|
26938
|
-
|
|
27143
|
+
return /* @__PURE__ */ jsxs(
|
|
27144
|
+
"span",
|
|
27145
|
+
{
|
|
27146
|
+
className: cn(
|
|
27147
|
+
"flex items-center gap-1.5 rounded-full border px-3 py-2 text-sm font-medium transition-colors",
|
|
27148
|
+
getBorderColor(background),
|
|
27149
|
+
getAccentColor(background),
|
|
27150
|
+
integration.linkLabelClassName
|
|
27151
|
+
),
|
|
27152
|
+
children: [
|
|
27153
|
+
integration.linkLabel,
|
|
27154
|
+
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right", size: 14 })
|
|
27155
|
+
]
|
|
27156
|
+
}
|
|
27157
|
+
);
|
|
27158
|
+
}, [background]);
|
|
26939
27159
|
const integrationsContent = useMemo(() => {
|
|
26940
27160
|
if (integrationsSlot) return integrationsSlot;
|
|
26941
27161
|
if (!integrations || integrations.length === 0) return null;
|
|
@@ -26944,35 +27164,84 @@ function FeatureIntegrationCards({
|
|
|
26944
27164
|
const linkLabelContent = renderLinkLabel(integration);
|
|
26945
27165
|
const cardContent = /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
26946
27166
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
26947
|
-
iconContent && /* @__PURE__ */ jsx(
|
|
27167
|
+
iconContent && /* @__PURE__ */ jsx(
|
|
27168
|
+
"span",
|
|
27169
|
+
{
|
|
27170
|
+
className: cn(
|
|
27171
|
+
"grid size-12 shrink-0 place-content-center rounded-lg border bg-background/50",
|
|
27172
|
+
getBorderColor(background)
|
|
27173
|
+
),
|
|
27174
|
+
children: iconContent
|
|
27175
|
+
}
|
|
27176
|
+
),
|
|
26948
27177
|
linkLabelContent
|
|
26949
27178
|
] }),
|
|
26950
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
26951
|
-
integration.title && (typeof integration.title === "string" ? /* @__PURE__ */ jsx(
|
|
26952
|
-
|
|
27179
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
27180
|
+
integration.title && (typeof integration.title === "string" ? /* @__PURE__ */ jsx(
|
|
27181
|
+
"h3",
|
|
27182
|
+
{
|
|
27183
|
+
className: cn(
|
|
27184
|
+
"font-semibold md:text-lg",
|
|
27185
|
+
getTextColor(background),
|
|
27186
|
+
integration.titleClassName
|
|
27187
|
+
),
|
|
27188
|
+
children: integration.title
|
|
27189
|
+
}
|
|
27190
|
+
) : /* @__PURE__ */ jsx(
|
|
27191
|
+
"div",
|
|
27192
|
+
{
|
|
27193
|
+
className: cn(
|
|
27194
|
+
"font-semibold md:text-lg",
|
|
27195
|
+
getTextColor(background),
|
|
27196
|
+
integration.titleClassName
|
|
27197
|
+
),
|
|
27198
|
+
children: integration.title
|
|
27199
|
+
}
|
|
27200
|
+
)),
|
|
27201
|
+
integration.description && (typeof integration.description === "string" ? /* @__PURE__ */ jsx(
|
|
27202
|
+
"p",
|
|
27203
|
+
{
|
|
27204
|
+
className: cn(
|
|
27205
|
+
"text-sm leading-relaxed md:text-base",
|
|
27206
|
+
getTextColor(background, "muted"),
|
|
27207
|
+
integration.descriptionClassName
|
|
27208
|
+
),
|
|
27209
|
+
children: integration.description
|
|
27210
|
+
}
|
|
27211
|
+
) : /* @__PURE__ */ jsx(
|
|
27212
|
+
"div",
|
|
27213
|
+
{
|
|
27214
|
+
className: cn(
|
|
27215
|
+
"text-sm leading-relaxed md:text-base",
|
|
27216
|
+
getTextColor(background, "muted"),
|
|
27217
|
+
integration.descriptionClassName
|
|
27218
|
+
),
|
|
27219
|
+
children: integration.description
|
|
27220
|
+
}
|
|
27221
|
+
))
|
|
26953
27222
|
] })
|
|
26954
27223
|
] });
|
|
27224
|
+
const cardClasses = cn(
|
|
27225
|
+
"flex flex-col gap-5 rounded-xl border p-6 transition-all duration-300",
|
|
27226
|
+
getBorderColor(background),
|
|
27227
|
+
"hover:shadow-lg",
|
|
27228
|
+
cardClassName,
|
|
27229
|
+
integration.className
|
|
27230
|
+
);
|
|
26955
27231
|
if (integration.link) {
|
|
26956
27232
|
return /* @__PURE__ */ jsx(
|
|
26957
27233
|
Pressable,
|
|
26958
27234
|
{
|
|
26959
27235
|
href: integration.link,
|
|
26960
|
-
className:
|
|
27236
|
+
className: cardClasses,
|
|
26961
27237
|
children: cardContent
|
|
26962
27238
|
},
|
|
26963
27239
|
index
|
|
26964
27240
|
);
|
|
26965
27241
|
}
|
|
26966
|
-
return /* @__PURE__ */ jsx(
|
|
26967
|
-
"div",
|
|
26968
|
-
{
|
|
26969
|
-
className: cn("flex flex-col gap-4 rounded-xl border p-6 transition-colors duration-300", cardClassName, integration.className),
|
|
26970
|
-
children: cardContent
|
|
26971
|
-
},
|
|
26972
|
-
index
|
|
26973
|
-
);
|
|
27242
|
+
return /* @__PURE__ */ jsx("div", { className: cardClasses, children: cardContent }, index);
|
|
26974
27243
|
});
|
|
26975
|
-
}, [integrationsSlot, integrations, cardClassName, renderIntegrationIcon, renderLinkLabel]);
|
|
27244
|
+
}, [integrationsSlot, integrations, cardClassName, renderIntegrationIcon, renderLinkLabel, background]);
|
|
26976
27245
|
return /* @__PURE__ */ jsxs(
|
|
26977
27246
|
Section,
|
|
26978
27247
|
{
|
|
@@ -27335,7 +27604,7 @@ function FeatureImageOverlayBadge({
|
|
|
27335
27604
|
overlayTitleClassName,
|
|
27336
27605
|
optixFlowConfig,
|
|
27337
27606
|
background,
|
|
27338
|
-
spacing = "py-
|
|
27607
|
+
spacing = "py-12 md:py-20 lg:py-24",
|
|
27339
27608
|
pattern,
|
|
27340
27609
|
patternOpacity,
|
|
27341
27610
|
patternClassName
|
|
@@ -27438,7 +27707,27 @@ function FeatureImageOverlayBadge({
|
|
|
27438
27707
|
children: title
|
|
27439
27708
|
}
|
|
27440
27709
|
)),
|
|
27441
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
27710
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
27711
|
+
"p",
|
|
27712
|
+
{
|
|
27713
|
+
className: cn(
|
|
27714
|
+
"text-base leading-relaxed lg:text-lg",
|
|
27715
|
+
getTextColor(background, "muted"),
|
|
27716
|
+
descriptionClassName
|
|
27717
|
+
),
|
|
27718
|
+
children: description
|
|
27719
|
+
}
|
|
27720
|
+
) : /* @__PURE__ */ jsx(
|
|
27721
|
+
"div",
|
|
27722
|
+
{
|
|
27723
|
+
className: cn(
|
|
27724
|
+
"text-base leading-relaxed lg:text-lg",
|
|
27725
|
+
getTextColor(background, "muted"),
|
|
27726
|
+
descriptionClassName
|
|
27727
|
+
),
|
|
27728
|
+
children: description
|
|
27729
|
+
}
|
|
27730
|
+
)),
|
|
27442
27731
|
/* @__PURE__ */ jsx(
|
|
27443
27732
|
"div",
|
|
27444
27733
|
{
|
|
@@ -27457,31 +27746,31 @@ function FeatureImageOverlayBadge({
|
|
|
27457
27746
|
"div",
|
|
27458
27747
|
{
|
|
27459
27748
|
className: cn(
|
|
27460
|
-
"absolute
|
|
27749
|
+
"absolute inset-0 rounded-2xl bg-gradient-to-t from-black/80 via-black/30 to-transparent",
|
|
27461
27750
|
overlayClassName
|
|
27462
27751
|
)
|
|
27463
27752
|
}
|
|
27464
27753
|
),
|
|
27465
|
-
/* @__PURE__ */ jsxs("div", { className: "absolute
|
|
27754
|
+
/* @__PURE__ */ jsxs("div", { className: "absolute inset-0 flex flex-col justify-between rounded-2xl p-5 md:p-7", children: [
|
|
27466
27755
|
(avatarSrc || avatarBadgeText) && /* @__PURE__ */ jsxs(
|
|
27467
27756
|
"span",
|
|
27468
27757
|
{
|
|
27469
27758
|
className: cn(
|
|
27470
|
-
"ml-auto flex w-fit items-center gap-2 rounded-full bg-
|
|
27759
|
+
"ml-auto flex w-fit items-center gap-2 rounded-full bg-white/20 px-4 py-2.5 text-sm font-semibold text-white backdrop-blur-md shadow-lg",
|
|
27471
27760
|
avatarBadgeClassName
|
|
27472
27761
|
),
|
|
27473
27762
|
children: [
|
|
27474
|
-
avatarSrc && /* @__PURE__ */ jsx(Avatar, { className: "size-7 rounded-full", children: /* @__PURE__ */ jsx(AvatarImage, { src: avatarSrc, alt: "Avatar" }) }),
|
|
27763
|
+
avatarSrc && /* @__PURE__ */ jsx(Avatar, { className: "size-7 rounded-full ring-2 ring-white/30", children: /* @__PURE__ */ jsx(AvatarImage, { src: avatarSrc, alt: "Avatar" }) }),
|
|
27475
27764
|
avatarBadgeText
|
|
27476
27765
|
]
|
|
27477
27766
|
}
|
|
27478
27767
|
),
|
|
27479
|
-
(overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-
|
|
27768
|
+
(overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
27480
27769
|
overlayTitle && (typeof overlayTitle === "string" ? /* @__PURE__ */ jsx(
|
|
27481
27770
|
"h4",
|
|
27482
27771
|
{
|
|
27483
27772
|
className: cn(
|
|
27484
|
-
"text-lg font-semibold lg:text-3xl",
|
|
27773
|
+
"text-lg font-semibold text-white lg:text-2xl xl:text-3xl",
|
|
27485
27774
|
overlayTitleClassName
|
|
27486
27775
|
),
|
|
27487
27776
|
children: overlayTitle
|
|
@@ -27490,7 +27779,7 @@ function FeatureImageOverlayBadge({
|
|
|
27490
27779
|
"div",
|
|
27491
27780
|
{
|
|
27492
27781
|
className: cn(
|
|
27493
|
-
"text-lg font-semibold lg:text-3xl",
|
|
27782
|
+
"text-lg font-semibold text-white lg:text-2xl xl:text-3xl",
|
|
27494
27783
|
overlayTitleClassName
|
|
27495
27784
|
),
|
|
27496
27785
|
children: overlayTitle
|
|
@@ -27501,9 +27790,10 @@ function FeatureImageOverlayBadge({
|
|
|
27501
27790
|
{
|
|
27502
27791
|
href: overlayLinkUrl,
|
|
27503
27792
|
onClick: overlayLinkOnClick,
|
|
27793
|
+
className: "flex w-fit items-center gap-2 font-medium text-white transition-opacity hover:opacity-80",
|
|
27504
27794
|
children: [
|
|
27505
27795
|
overlayLinkText,
|
|
27506
|
-
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/
|
|
27796
|
+
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right", size: 16 })
|
|
27507
27797
|
]
|
|
27508
27798
|
}
|
|
27509
27799
|
)
|