@opensite/ui 0.8.4 → 0.8.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.
Files changed (51) hide show
  1. package/dist/article-breadcrumb-social.cjs +57 -73
  2. package/dist/article-breadcrumb-social.d.cts +2 -24
  3. package/dist/article-breadcrumb-social.d.ts +2 -24
  4. package/dist/article-breadcrumb-social.js +57 -73
  5. package/dist/article-compact-toc.cjs +1 -1
  6. package/dist/article-compact-toc.js +1 -1
  7. package/dist/article-sidebar-sticky.cjs +73 -26
  8. package/dist/article-sidebar-sticky.js +73 -26
  9. package/dist/blog-horizontal-timeline.cjs +7 -4
  10. package/dist/blog-horizontal-timeline.js +7 -4
  11. package/dist/faq-split-hero.cjs +704 -0
  12. package/dist/faq-split-hero.d.cts +118 -0
  13. package/dist/faq-split-hero.d.ts +118 -0
  14. package/dist/faq-split-hero.js +682 -0
  15. package/dist/feature-badge-grid-six.cjs +1 -1
  16. package/dist/feature-badge-grid-six.js +1 -1
  17. package/dist/feature-card-grid-linked.cjs +92 -22
  18. package/dist/feature-card-grid-linked.js +92 -22
  19. package/dist/feature-carousel-progress.cjs +1 -1
  20. package/dist/feature-carousel-progress.js +1 -1
  21. package/dist/feature-checklist-image.cjs +88 -15
  22. package/dist/feature-checklist-image.js +88 -15
  23. package/dist/feature-checklist-three-column.cjs +1 -1
  24. package/dist/feature-checklist-three-column.js +1 -1
  25. package/dist/feature-icon-grid-accent.cjs +50 -8
  26. package/dist/feature-icon-grid-accent.js +50 -8
  27. package/dist/feature-icon-grid-bordered.cjs +84 -14
  28. package/dist/feature-icon-grid-bordered.js +84 -14
  29. package/dist/feature-icon-tabs-content.cjs +217 -84
  30. package/dist/feature-icon-tabs-content.js +217 -84
  31. package/dist/feature-image-overlay-badge.cjs +106 -33
  32. package/dist/feature-image-overlay-badge.js +106 -33
  33. package/dist/feature-numbered-cards.cjs +154 -35
  34. package/dist/feature-numbered-cards.js +154 -35
  35. package/dist/feature-showcase.cjs +67 -71
  36. package/dist/feature-showcase.d.cts +1 -5
  37. package/dist/feature-showcase.d.ts +1 -5
  38. package/dist/feature-showcase.js +68 -72
  39. package/dist/feature-split-image-reverse.cjs +90 -15
  40. package/dist/feature-split-image-reverse.js +90 -15
  41. package/dist/feature-split-image.cjs +87 -15
  42. package/dist/feature-split-image.js +87 -15
  43. package/dist/feature-stats-highlight.cjs +2 -2
  44. package/dist/feature-stats-highlight.js +2 -2
  45. package/dist/feature-tabbed-content-image.cjs +207 -72
  46. package/dist/feature-tabbed-content-image.js +207 -72
  47. package/dist/feature-three-column-values.cjs +107 -14
  48. package/dist/feature-three-column-values.js +107 -14
  49. package/dist/registry.cjs +1460 -461
  50. package/dist/registry.js +1460 -461
  51. package/package.json +1 -1
@@ -837,27 +837,30 @@ function FeatureCardGridLinked({
837
837
  cardClassName,
838
838
  optixFlowConfig,
839
839
  background,
840
- spacing,
840
+ spacing = "py-6 md:py-32",
841
841
  pattern,
842
842
  patternOpacity,
843
843
  patternClassName
844
844
  }) {
845
- const renderImage = React.useCallback((feature, imageAlt) => {
846
- if (feature.imageSlot) return feature.imageSlot;
847
- if (feature.image) {
848
- return /* @__PURE__ */ jsxRuntime.jsx(
849
- img.Img,
850
- {
851
- src: feature.image,
852
- alt: imageAlt,
853
- className: "h-full w-full rounded-t-lg object-cover transition-opacity hover:opacity-80",
854
- loading: "lazy",
855
- optixFlowConfig
856
- }
857
- );
858
- }
859
- return null;
860
- }, [optixFlowConfig]);
845
+ const renderImage = React.useCallback(
846
+ (feature, imageAlt) => {
847
+ if (feature.imageSlot) return feature.imageSlot;
848
+ if (feature.image) {
849
+ return /* @__PURE__ */ jsxRuntime.jsx(
850
+ img.Img,
851
+ {
852
+ src: feature.image,
853
+ alt: imageAlt,
854
+ className: "h-full w-full rounded-t-lg object-cover transition-opacity hover:opacity-80",
855
+ loading: "lazy",
856
+ optixFlowConfig
857
+ }
858
+ );
859
+ }
860
+ return null;
861
+ },
862
+ [optixFlowConfig]
863
+ );
861
864
  const featuresContent = React.useMemo(() => {
862
865
  if (featuresSlot) return featuresSlot;
863
866
  if (!features || features.length === 0) return null;
@@ -867,16 +870,56 @@ function FeatureCardGridLinked({
867
870
  return /* @__PURE__ */ jsxRuntime.jsxs(
868
871
  "div",
869
872
  {
870
- className: cn("flex flex-col justify-between rounded-lg bg-muted", cardClassName, feature.className),
873
+ className: cn(
874
+ "flex flex-col justify-between rounded-lg bg-muted border",
875
+ cardClassName,
876
+ feature.className
877
+ ),
871
878
  children: [
872
879
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between gap-10 border-b", children: [
873
880
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-between gap-8 py-6 pl-4 md:gap-14 md:py-10 md:pl-8 lg:justify-normal", children: [
874
- feature.label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-mono text-xs text-muted-foreground", feature.labelClassName), children: feature.label }),
875
- feature.heading && /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: feature.url, children: typeof feature.heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("text-2xl transition-all hover:text-primary hover:opacity-80 sm:text-3xl lg:text-4xl", feature.headingClassName), children: feature.heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-2xl transition-all hover:text-primary hover:opacity-80 sm:text-3xl lg:text-4xl", feature.headingClassName), children: feature.heading }) })
881
+ feature.label && /* @__PURE__ */ jsxRuntime.jsx(
882
+ "span",
883
+ {
884
+ className: cn(
885
+ "font-bold text-xs uppercase opacity-75",
886
+ feature.labelClassName
887
+ ),
888
+ children: feature.label
889
+ }
890
+ ),
891
+ feature.heading && /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: feature.url, children: typeof feature.heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
892
+ "h3",
893
+ {
894
+ className: cn(
895
+ "text-xl transition-all hover:opacity-80 md:text-2xl font-semibold leading-snug tracking-tighter",
896
+ feature.headingClassName
897
+ ),
898
+ children: feature.heading
899
+ }
900
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
901
+ "div",
902
+ {
903
+ className: cn(
904
+ "text-xl transition-all hover:opacity-80 md:text-2xl font-semibold leading-snug tracking-tighter",
905
+ feature.headingClassName
906
+ ),
907
+ children: feature.heading
908
+ }
909
+ ) })
876
910
  ] }),
877
911
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "md:1/3 w-2/5 shrink-0 rounded-r-lg border-l", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: feature.url, children: renderImage(feature, imageAlt) }) })
878
912
  ] }),
879
- feature.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("p-4 text-muted-foreground md:p-8", feature.descriptionClassName), children: feature.description })
913
+ feature.description && /* @__PURE__ */ jsxRuntime.jsx(
914
+ "p",
915
+ {
916
+ className: cn(
917
+ "p-4 text-muted-foreground md:p-8",
918
+ feature.descriptionClassName
919
+ ),
920
+ children: feature.description
921
+ }
922
+ )
880
923
  ]
881
924
  },
882
925
  featureKey
@@ -894,7 +937,34 @@ function FeatureCardGridLinked({
894
937
  className,
895
938
  containerClassName,
896
939
  children: [
897
- title && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mx-auto mb-16 max-w-3xl text-center", titleWrapperClassName), children: typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-4xl font-medium text-pretty lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-4xl font-medium text-pretty lg:text-5xl", titleClassName), children: title }) }),
940
+ title && /* @__PURE__ */ jsxRuntime.jsx(
941
+ "div",
942
+ {
943
+ className: cn(
944
+ "mx-auto mb-16 max-w-3xl text-center",
945
+ titleWrapperClassName
946
+ ),
947
+ children: typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
948
+ "h2",
949
+ {
950
+ className: cn(
951
+ "text-4xl font-medium text-pretty lg:text-5xl",
952
+ titleClassName
953
+ ),
954
+ children: title
955
+ }
956
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
957
+ "div",
958
+ {
959
+ className: cn(
960
+ "text-4xl font-medium text-pretty lg:text-5xl",
961
+ titleClassName
962
+ ),
963
+ children: title
964
+ }
965
+ )
966
+ }
967
+ ),
898
968
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid gap-8 lg:grid-cols-2", gridClassName), children: featuresContent })
899
969
  ]
900
970
  }
@@ -816,27 +816,30 @@ function FeatureCardGridLinked({
816
816
  cardClassName,
817
817
  optixFlowConfig,
818
818
  background,
819
- spacing,
819
+ spacing = "py-6 md:py-32",
820
820
  pattern,
821
821
  patternOpacity,
822
822
  patternClassName
823
823
  }) {
824
- const renderImage = useCallback((feature, imageAlt) => {
825
- if (feature.imageSlot) return feature.imageSlot;
826
- if (feature.image) {
827
- return /* @__PURE__ */ jsx(
828
- Img,
829
- {
830
- src: feature.image,
831
- alt: imageAlt,
832
- className: "h-full w-full rounded-t-lg object-cover transition-opacity hover:opacity-80",
833
- loading: "lazy",
834
- optixFlowConfig
835
- }
836
- );
837
- }
838
- return null;
839
- }, [optixFlowConfig]);
824
+ const renderImage = useCallback(
825
+ (feature, imageAlt) => {
826
+ if (feature.imageSlot) return feature.imageSlot;
827
+ if (feature.image) {
828
+ return /* @__PURE__ */ jsx(
829
+ Img,
830
+ {
831
+ src: feature.image,
832
+ alt: imageAlt,
833
+ className: "h-full w-full rounded-t-lg object-cover transition-opacity hover:opacity-80",
834
+ loading: "lazy",
835
+ optixFlowConfig
836
+ }
837
+ );
838
+ }
839
+ return null;
840
+ },
841
+ [optixFlowConfig]
842
+ );
840
843
  const featuresContent = useMemo(() => {
841
844
  if (featuresSlot) return featuresSlot;
842
845
  if (!features || features.length === 0) return null;
@@ -846,16 +849,56 @@ function FeatureCardGridLinked({
846
849
  return /* @__PURE__ */ jsxs(
847
850
  "div",
848
851
  {
849
- className: cn("flex flex-col justify-between rounded-lg bg-muted", cardClassName, feature.className),
852
+ className: cn(
853
+ "flex flex-col justify-between rounded-lg bg-muted border",
854
+ cardClassName,
855
+ feature.className
856
+ ),
850
857
  children: [
851
858
  /* @__PURE__ */ jsxs("div", { className: "flex justify-between gap-10 border-b", children: [
852
859
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-between gap-8 py-6 pl-4 md:gap-14 md:py-10 md:pl-8 lg:justify-normal", children: [
853
- feature.label && /* @__PURE__ */ jsx("span", { className: cn("font-mono text-xs text-muted-foreground", feature.labelClassName), children: feature.label }),
854
- feature.heading && /* @__PURE__ */ jsx(Pressable, { href: feature.url, children: typeof feature.heading === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("text-2xl transition-all hover:text-primary hover:opacity-80 sm:text-3xl lg:text-4xl", feature.headingClassName), children: feature.heading }) : /* @__PURE__ */ jsx("div", { className: cn("text-2xl transition-all hover:text-primary hover:opacity-80 sm:text-3xl lg:text-4xl", feature.headingClassName), children: feature.heading }) })
860
+ feature.label && /* @__PURE__ */ jsx(
861
+ "span",
862
+ {
863
+ className: cn(
864
+ "font-bold text-xs uppercase opacity-75",
865
+ feature.labelClassName
866
+ ),
867
+ children: feature.label
868
+ }
869
+ ),
870
+ feature.heading && /* @__PURE__ */ jsx(Pressable, { href: feature.url, children: typeof feature.heading === "string" ? /* @__PURE__ */ jsx(
871
+ "h3",
872
+ {
873
+ className: cn(
874
+ "text-xl transition-all hover:opacity-80 md:text-2xl font-semibold leading-snug tracking-tighter",
875
+ feature.headingClassName
876
+ ),
877
+ children: feature.heading
878
+ }
879
+ ) : /* @__PURE__ */ jsx(
880
+ "div",
881
+ {
882
+ className: cn(
883
+ "text-xl transition-all hover:opacity-80 md:text-2xl font-semibold leading-snug tracking-tighter",
884
+ feature.headingClassName
885
+ ),
886
+ children: feature.heading
887
+ }
888
+ ) })
855
889
  ] }),
856
890
  /* @__PURE__ */ jsx("div", { className: "md:1/3 w-2/5 shrink-0 rounded-r-lg border-l", children: /* @__PURE__ */ jsx(Pressable, { href: feature.url, children: renderImage(feature, imageAlt) }) })
857
891
  ] }),
858
- feature.description && /* @__PURE__ */ jsx("p", { className: cn("p-4 text-muted-foreground md:p-8", feature.descriptionClassName), children: feature.description })
892
+ feature.description && /* @__PURE__ */ jsx(
893
+ "p",
894
+ {
895
+ className: cn(
896
+ "p-4 text-muted-foreground md:p-8",
897
+ feature.descriptionClassName
898
+ ),
899
+ children: feature.description
900
+ }
901
+ )
859
902
  ]
860
903
  },
861
904
  featureKey
@@ -873,7 +916,34 @@ function FeatureCardGridLinked({
873
916
  className,
874
917
  containerClassName,
875
918
  children: [
876
- title && /* @__PURE__ */ jsx("div", { className: cn("mx-auto mb-16 max-w-3xl text-center", titleWrapperClassName), children: typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-4xl font-medium text-pretty lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-4xl font-medium text-pretty lg:text-5xl", titleClassName), children: title }) }),
919
+ title && /* @__PURE__ */ jsx(
920
+ "div",
921
+ {
922
+ className: cn(
923
+ "mx-auto mb-16 max-w-3xl text-center",
924
+ titleWrapperClassName
925
+ ),
926
+ children: typeof title === "string" ? /* @__PURE__ */ jsx(
927
+ "h2",
928
+ {
929
+ className: cn(
930
+ "text-4xl font-medium text-pretty lg:text-5xl",
931
+ titleClassName
932
+ ),
933
+ children: title
934
+ }
935
+ ) : /* @__PURE__ */ jsx(
936
+ "div",
937
+ {
938
+ className: cn(
939
+ "text-4xl font-medium text-pretty lg:text-5xl",
940
+ titleClassName
941
+ ),
942
+ children: title
943
+ }
944
+ )
945
+ }
946
+ ),
877
947
  /* @__PURE__ */ jsx("div", { className: cn("grid gap-8 lg:grid-cols-2", gridClassName), children: featuresContent })
878
948
  ]
879
949
  }
@@ -1250,7 +1250,7 @@ function FeatureCarouselProgress({
1250
1250
  {
1251
1251
  className: "basis-full md:basis-1/2 lg:basis-1/3",
1252
1252
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-1", children: /* @__PURE__ */ jsxRuntime.jsx(Card, { className: cn(cardClassName, slide.className), children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "flex flex-col justify-center p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1253
- (slide.icon || slide.iconName) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("mb-5 flex size-8 items-center justify-center rounded-full bg-accent lg:size-10", slide.iconClassName), children: renderSlideIcon(slide) }),
1253
+ (slide.icon || slide.iconName) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("mb-5 flex size-8 items-center justify-center rounded-full bg-primary text-primary-foreground lg:size-10", slide.iconClassName), children: renderSlideIcon(slide) }),
1254
1254
  slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-xl font-semibold md:text-2xl lg:text-2xl", slide.titleClassName), children: slide.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-xl font-semibold md:text-2xl lg:text-2xl", slide.titleClassName), children: slide.title })),
1255
1255
  slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("pt-2 text-muted-foreground", slide.descriptionClassName), children: slide.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("pt-2 text-muted-foreground", slide.descriptionClassName), children: slide.description }))
1256
1256
  ] }) }) }) })
@@ -1225,7 +1225,7 @@ function FeatureCarouselProgress({
1225
1225
  {
1226
1226
  className: "basis-full md:basis-1/2 lg:basis-1/3",
1227
1227
  children: /* @__PURE__ */ jsx("div", { className: "p-1", children: /* @__PURE__ */ jsx(Card, { className: cn(cardClassName, slide.className), children: /* @__PURE__ */ jsx(CardContent, { className: "flex flex-col justify-center p-6", children: /* @__PURE__ */ jsxs("div", { children: [
1228
- (slide.icon || slide.iconName) && /* @__PURE__ */ jsx("span", { className: cn("mb-5 flex size-8 items-center justify-center rounded-full bg-accent lg:size-10", slide.iconClassName), children: renderSlideIcon(slide) }),
1228
+ (slide.icon || slide.iconName) && /* @__PURE__ */ jsx("span", { className: cn("mb-5 flex size-8 items-center justify-center rounded-full bg-primary text-primary-foreground lg:size-10", slide.iconClassName), children: renderSlideIcon(slide) }),
1229
1229
  slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-xl font-semibold md:text-2xl lg:text-2xl", slide.titleClassName), children: slide.title }) : /* @__PURE__ */ jsx("div", { className: cn("text-xl font-semibold md:text-2xl lg:text-2xl", slide.titleClassName), children: slide.title })),
1230
1230
  slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("pt-2 text-muted-foreground", slide.descriptionClassName), children: slide.description }) : /* @__PURE__ */ jsx("div", { className: cn("pt-2 text-muted-foreground", slide.descriptionClassName), children: slide.description }))
1231
1231
  ] }) }) }) })
@@ -951,7 +951,7 @@ function FeatureChecklistImage({
951
951
  checklistClassName,
952
952
  optixFlowConfig,
953
953
  background,
954
- spacing,
954
+ spacing = "py-6 md:py-32",
955
955
  pattern,
956
956
  patternOpacity,
957
957
  patternClassName
@@ -1004,7 +1004,10 @@ function FeatureChecklistImage({
1004
1004
  {
1005
1005
  src: imageSrc,
1006
1006
  alt: imageAlt || "Feature illustration",
1007
- className: cn("max-h-96 w-full rounded-lg object-cover md:max-h-[500px] md:w-1/2", imageClassName),
1007
+ className: cn(
1008
+ "max-h-96 w-full rounded-lg object-cover md:max-h-[500px] md:w-1/2",
1009
+ imageClassName
1010
+ ),
1008
1011
  loading: "lazy",
1009
1012
  optixFlowConfig
1010
1013
  }
@@ -1018,10 +1021,17 @@ function FeatureChecklistImage({
1018
1021
  const content = isString ? item : item.content;
1019
1022
  const iconElement = isString ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/circle-check-big", size: 16 }) : item.icon ?? (item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.iconName, size: 16 }) : /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/circle-check-big", size: 16 }));
1020
1023
  const itemClassName = isString ? void 0 : item.className;
1021
- return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: cn("flex items-center gap-3", itemClassName), children: [
1022
- iconElement,
1023
- content
1024
- ] }, index);
1024
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1025
+ "li",
1026
+ {
1027
+ className: cn("flex items-center gap-3", itemClassName),
1028
+ children: [
1029
+ iconElement,
1030
+ content
1031
+ ]
1032
+ },
1033
+ index
1034
+ );
1025
1035
  });
1026
1036
  }, [checklistSlot, checklistItems]);
1027
1037
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -1034,15 +1044,78 @@ function FeatureChecklistImage({
1034
1044
  patternClassName,
1035
1045
  className,
1036
1046
  containerClassName: cn("max-w-6xl", containerClassName),
1037
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-12 md:flex-row", contentWrapperClassName), children: [
1038
- imageContent,
1039
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:p-10", contentClassName), children: [
1040
- title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-medium text-balance md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-3xl font-medium text-balance md:text-5xl", titleClassName), children: title })),
1041
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-1 text-muted-foreground md:mt-6", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-1 text-muted-foreground md:mt-6", descriptionClassName), children: description })),
1042
- actionsContent && /* @__PURE__ */ jsxRuntime.jsx("div", { className: actionsClassName, children: actionsContent }),
1043
- checklistContent && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mt-10 flex-wrap items-center gap-6 space-y-6 md:flex md:space-y-0", checklistClassName), children: checklistContent })
1044
- ] })
1045
- ] })
1047
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
1048
+ "div",
1049
+ {
1050
+ className: cn(
1051
+ "flex flex-col gap-12 md:flex-row",
1052
+ contentWrapperClassName
1053
+ ),
1054
+ children: [
1055
+ imageContent,
1056
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:p-10", contentClassName), children: [
1057
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1058
+ "h2",
1059
+ {
1060
+ className: cn(
1061
+ "text-3xl font-medium text-balance md:text-5xl",
1062
+ titleClassName
1063
+ ),
1064
+ children: title
1065
+ }
1066
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
1067
+ "div",
1068
+ {
1069
+ className: cn(
1070
+ "text-3xl font-medium text-balance md:text-5xl",
1071
+ titleClassName
1072
+ ),
1073
+ children: title
1074
+ }
1075
+ )),
1076
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1077
+ "p",
1078
+ {
1079
+ className: cn(
1080
+ "mt-1 text-muted-foreground md:mt-6",
1081
+ descriptionClassName
1082
+ ),
1083
+ children: description
1084
+ }
1085
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
1086
+ "div",
1087
+ {
1088
+ className: cn(
1089
+ "mt-1 text-muted-foreground md:mt-6",
1090
+ descriptionClassName
1091
+ ),
1092
+ children: description
1093
+ }
1094
+ )),
1095
+ actionsContent && /* @__PURE__ */ jsxRuntime.jsx(
1096
+ "div",
1097
+ {
1098
+ className: cn(
1099
+ "flex flex-wrap items-center gap-2",
1100
+ actionsClassName
1101
+ ),
1102
+ children: actionsContent
1103
+ }
1104
+ ),
1105
+ checklistContent && /* @__PURE__ */ jsxRuntime.jsx(
1106
+ "ul",
1107
+ {
1108
+ className: cn(
1109
+ "mt-10 flex-wrap items-center gap-6 space-y-6 md:flex md:space-y-0",
1110
+ checklistClassName
1111
+ ),
1112
+ children: checklistContent
1113
+ }
1114
+ )
1115
+ ] })
1116
+ ]
1117
+ }
1118
+ )
1046
1119
  }
1047
1120
  );
1048
1121
  }
@@ -930,7 +930,7 @@ function FeatureChecklistImage({
930
930
  checklistClassName,
931
931
  optixFlowConfig,
932
932
  background,
933
- spacing,
933
+ spacing = "py-6 md:py-32",
934
934
  pattern,
935
935
  patternOpacity,
936
936
  patternClassName
@@ -983,7 +983,10 @@ function FeatureChecklistImage({
983
983
  {
984
984
  src: imageSrc,
985
985
  alt: imageAlt || "Feature illustration",
986
- className: cn("max-h-96 w-full rounded-lg object-cover md:max-h-[500px] md:w-1/2", imageClassName),
986
+ className: cn(
987
+ "max-h-96 w-full rounded-lg object-cover md:max-h-[500px] md:w-1/2",
988
+ imageClassName
989
+ ),
987
990
  loading: "lazy",
988
991
  optixFlowConfig
989
992
  }
@@ -997,10 +1000,17 @@ function FeatureChecklistImage({
997
1000
  const content = isString ? item : item.content;
998
1001
  const iconElement = isString ? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/circle-check-big", size: 16 }) : item.icon ?? (item.iconName ? /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 16 }) : /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/circle-check-big", size: 16 }));
999
1002
  const itemClassName = isString ? void 0 : item.className;
1000
- return /* @__PURE__ */ jsxs("li", { className: cn("flex items-center gap-3", itemClassName), children: [
1001
- iconElement,
1002
- content
1003
- ] }, index);
1003
+ return /* @__PURE__ */ jsxs(
1004
+ "li",
1005
+ {
1006
+ className: cn("flex items-center gap-3", itemClassName),
1007
+ children: [
1008
+ iconElement,
1009
+ content
1010
+ ]
1011
+ },
1012
+ index
1013
+ );
1004
1014
  });
1005
1015
  }, [checklistSlot, checklistItems]);
1006
1016
  return /* @__PURE__ */ jsx(
@@ -1013,15 +1023,78 @@ function FeatureChecklistImage({
1013
1023
  patternClassName,
1014
1024
  className,
1015
1025
  containerClassName: cn("max-w-6xl", containerClassName),
1016
- children: /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-12 md:flex-row", contentWrapperClassName), children: [
1017
- imageContent,
1018
- /* @__PURE__ */ jsxs("div", { className: cn("lg:p-10", contentClassName), children: [
1019
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium text-balance md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-medium text-balance md:text-5xl", titleClassName), children: title })),
1020
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-1 text-muted-foreground md:mt-6", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("mt-1 text-muted-foreground md:mt-6", descriptionClassName), children: description })),
1021
- actionsContent && /* @__PURE__ */ jsx("div", { className: actionsClassName, children: actionsContent }),
1022
- checklistContent && /* @__PURE__ */ jsx("ul", { className: cn("mt-10 flex-wrap items-center gap-6 space-y-6 md:flex md:space-y-0", checklistClassName), children: checklistContent })
1023
- ] })
1024
- ] })
1026
+ children: /* @__PURE__ */ jsxs(
1027
+ "div",
1028
+ {
1029
+ className: cn(
1030
+ "flex flex-col gap-12 md:flex-row",
1031
+ contentWrapperClassName
1032
+ ),
1033
+ children: [
1034
+ imageContent,
1035
+ /* @__PURE__ */ jsxs("div", { className: cn("lg:p-10", contentClassName), children: [
1036
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
1037
+ "h2",
1038
+ {
1039
+ className: cn(
1040
+ "text-3xl font-medium text-balance md:text-5xl",
1041
+ titleClassName
1042
+ ),
1043
+ children: title
1044
+ }
1045
+ ) : /* @__PURE__ */ jsx(
1046
+ "div",
1047
+ {
1048
+ className: cn(
1049
+ "text-3xl font-medium text-balance md:text-5xl",
1050
+ titleClassName
1051
+ ),
1052
+ children: title
1053
+ }
1054
+ )),
1055
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
1056
+ "p",
1057
+ {
1058
+ className: cn(
1059
+ "mt-1 text-muted-foreground md:mt-6",
1060
+ descriptionClassName
1061
+ ),
1062
+ children: description
1063
+ }
1064
+ ) : /* @__PURE__ */ jsx(
1065
+ "div",
1066
+ {
1067
+ className: cn(
1068
+ "mt-1 text-muted-foreground md:mt-6",
1069
+ descriptionClassName
1070
+ ),
1071
+ children: description
1072
+ }
1073
+ )),
1074
+ actionsContent && /* @__PURE__ */ jsx(
1075
+ "div",
1076
+ {
1077
+ className: cn(
1078
+ "flex flex-wrap items-center gap-2",
1079
+ actionsClassName
1080
+ ),
1081
+ children: actionsContent
1082
+ }
1083
+ ),
1084
+ checklistContent && /* @__PURE__ */ jsx(
1085
+ "ul",
1086
+ {
1087
+ className: cn(
1088
+ "mt-10 flex-wrap items-center gap-6 space-y-6 md:flex md:space-y-0",
1089
+ checklistClassName
1090
+ ),
1091
+ children: checklistContent
1092
+ }
1093
+ )
1094
+ ] })
1095
+ ]
1096
+ }
1097
+ )
1025
1098
  }
1026
1099
  );
1027
1100
  }
@@ -1042,7 +1042,7 @@ function FeatureChecklistThreeColumn({
1042
1042
  Badge,
1043
1043
  {
1044
1044
  variant: "outline",
1045
- className: cn("absolute top-5 left-5 bg-primary-foreground", card.badgeClassName),
1045
+ className: cn("absolute top-5 left-5 bg-background", card.badgeClassName),
1046
1046
  children: card.badge
1047
1047
  }
1048
1048
  )
@@ -1021,7 +1021,7 @@ function FeatureChecklistThreeColumn({
1021
1021
  Badge,
1022
1022
  {
1023
1023
  variant: "outline",
1024
- className: cn("absolute top-5 left-5 bg-primary-foreground", card.badgeClassName),
1024
+ className: cn("absolute top-5 left-5 bg-background", card.badgeClassName),
1025
1025
  children: card.badge
1026
1026
  }
1027
1027
  )