@opensite/ui 0.6.3 → 0.6.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 (61) hide show
  1. package/dist/about-startup-team.cjs +2 -2
  2. package/dist/about-startup-team.js +2 -2
  3. package/dist/article-breadcrumb-social.cjs +434 -215
  4. package/dist/article-breadcrumb-social.d.cts +19 -1
  5. package/dist/article-breadcrumb-social.d.ts +19 -1
  6. package/dist/article-breadcrumb-social.js +434 -214
  7. package/dist/article-chapters-author.cjs +422 -204
  8. package/dist/article-chapters-author.d.cts +19 -1
  9. package/dist/article-chapters-author.d.ts +19 -1
  10. package/dist/article-chapters-author.js +422 -203
  11. package/dist/article-compact-toc.cjs +429 -73
  12. package/dist/article-compact-toc.d.cts +19 -1
  13. package/dist/article-compact-toc.d.ts +19 -1
  14. package/dist/article-compact-toc.js +430 -73
  15. package/dist/article-hero-prose.cjs +394 -347
  16. package/dist/article-hero-prose.d.cts +19 -1
  17. package/dist/article-hero-prose.d.ts +19 -1
  18. package/dist/article-hero-prose.js +396 -348
  19. package/dist/article-sidebar-sticky.cjs +398 -152
  20. package/dist/article-sidebar-sticky.d.cts +19 -1
  21. package/dist/article-sidebar-sticky.d.ts +19 -1
  22. package/dist/article-sidebar-sticky.js +400 -153
  23. package/dist/article-split-animated.cjs +422 -35
  24. package/dist/article-split-animated.d.cts +19 -1
  25. package/dist/article-split-animated.d.ts +19 -1
  26. package/dist/article-split-animated.js +423 -35
  27. package/dist/article-toc-sidebar.cjs +417 -356
  28. package/dist/article-toc-sidebar.d.cts +19 -1
  29. package/dist/article-toc-sidebar.d.ts +19 -1
  30. package/dist/article-toc-sidebar.js +417 -355
  31. package/dist/blog-cards-read-time.cjs +66 -27
  32. package/dist/blog-cards-read-time.js +66 -27
  33. package/dist/blog-cards-tagline-cta.cjs +64 -14
  34. package/dist/blog-cards-tagline-cta.js +64 -14
  35. package/dist/blog-carousel-apple.cjs +1255 -0
  36. package/dist/blog-carousel-apple.d.cts +113 -0
  37. package/dist/blog-carousel-apple.d.ts +113 -0
  38. package/dist/blog-carousel-apple.js +1234 -0
  39. package/dist/blog-category-overlay.cjs +77 -15
  40. package/dist/blog-category-overlay.js +77 -15
  41. package/dist/blog-featured-popular.cjs +72 -14
  42. package/dist/blog-featured-popular.js +72 -14
  43. package/dist/blog-filtered-results.cjs +122 -39
  44. package/dist/blog-filtered-results.js +122 -39
  45. package/dist/blog-grid-author-cards.cjs +40 -6
  46. package/dist/blog-grid-author-cards.js +40 -6
  47. package/dist/blog-grid-nine-posts.cjs +40 -6
  48. package/dist/blog-grid-nine-posts.js +40 -6
  49. package/dist/blog-horizontal-cards.cjs +34 -6
  50. package/dist/blog-horizontal-cards.js +34 -6
  51. package/dist/blog-horizontal-timeline.cjs +41 -12
  52. package/dist/blog-horizontal-timeline.js +41 -12
  53. package/dist/blog-masonry-featured.cjs +96 -52
  54. package/dist/blog-masonry-featured.js +96 -52
  55. package/dist/blog-related-articles.cjs +47 -9
  56. package/dist/blog-related-articles.js +47 -9
  57. package/dist/blog-tech-insights.cjs +78 -14
  58. package/dist/blog-tech-insights.js +78 -14
  59. package/dist/registry.cjs +1036 -687
  60. package/dist/registry.js +1036 -687
  61. package/package.json +1 -1
@@ -981,19 +981,30 @@ function BlogCategoryOverlay({
981
981
  postCardClassName,
982
982
  categoryBadgeClassName,
983
983
  optixFlowConfig,
984
- background = "white",
985
- spacing = "xl",
984
+ background,
985
+ spacing,
986
986
  pattern,
987
987
  patternOpacity
988
988
  }) {
989
989
  const viewAllActionContent = React__namespace.useMemo(() => {
990
990
  if (viewAllSlot) return viewAllSlot;
991
991
  if (!viewAllAction) return null;
992
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = viewAllAction;
992
+ const {
993
+ label,
994
+ icon,
995
+ iconAfter,
996
+ children,
997
+ className: actionClassName,
998
+ ...pressableProps
999
+ } = viewAllAction;
993
1000
  return /* @__PURE__ */ jsxRuntime.jsx(
994
1001
  Pressable,
995
1002
  {
996
- className: cn("flex items-center gap-1 text-sm font-semibold", actionClassName, viewAllClassName),
1003
+ className: cn(
1004
+ "flex items-center gap-1 text-sm font-semibold",
1005
+ actionClassName,
1006
+ viewAllClassName
1007
+ ),
997
1008
  ...pressableProps,
998
1009
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
999
1010
  icon,
@@ -1024,7 +1035,10 @@ function BlogCategoryOverlay({
1024
1035
  Badge,
1025
1036
  {
1026
1037
  variant: "secondary",
1027
- className: cn("absolute top-4 right-4 bg-background/70 px-3 py-1 text-sm backdrop-blur-sm", categoryBadgeClassName),
1038
+ className: cn(
1039
+ "absolute top-4 right-4 bg-background/70 px-3 py-1 text-sm backdrop-blur-sm",
1040
+ categoryBadgeClassName
1041
+ ),
1028
1042
  children: post.category || post.label
1029
1043
  }
1030
1044
  )
@@ -1033,18 +1047,39 @@ function BlogCategoryOverlay({
1033
1047
  post.title && (typeof post.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "mb-5 text-xl font-semibold", children: post.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-5 text-xl font-semibold", children: post.title })),
1034
1048
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between gap-6 text-sm", children: [
1035
1049
  (post.date || post.published) && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1 text-muted-foreground", children: [
1036
- /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/calendar", size: 16, className: "h-4 w-4" }),
1050
+ /* @__PURE__ */ jsxRuntime.jsx(
1051
+ DynamicIcon,
1052
+ {
1053
+ name: "lucide/calendar",
1054
+ size: 16,
1055
+ className: "h-4 w-4"
1056
+ }
1057
+ ),
1037
1058
  post.date || post.published
1038
1059
  ] }),
1039
1060
  readMoreText && /* @__PURE__ */ jsxRuntime.jsxs(Pressable, { href: postHref, className: "flex items-center gap-1", children: [
1040
1061
  readMoreText,
1041
- /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 12, className: "h-full w-3" })
1062
+ /* @__PURE__ */ jsxRuntime.jsx(
1063
+ DynamicIcon,
1064
+ {
1065
+ name: "lucide/chevron-right",
1066
+ size: 12,
1067
+ className: "h-full w-3"
1068
+ }
1069
+ )
1042
1070
  ] })
1043
1071
  ] })
1044
1072
  ] })
1045
1073
  ] }, postId);
1046
1074
  });
1047
- }, [postsSlot, posts, postCardClassName, categoryBadgeClassName, optixFlowConfig, readMoreText]);
1075
+ }, [
1076
+ postsSlot,
1077
+ posts,
1078
+ postCardClassName,
1079
+ categoryBadgeClassName,
1080
+ optixFlowConfig,
1081
+ readMoreText
1082
+ ]);
1048
1083
  return /* @__PURE__ */ jsxRuntime.jsx(
1049
1084
  Section,
1050
1085
  {
@@ -1054,13 +1089,40 @@ function BlogCategoryOverlay({
1054
1089
  pattern,
1055
1090
  patternOpacity,
1056
1091
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
1057
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto flex max-w-3xl flex-col items-center gap-6 text-center", headerClassName), children: [
1058
- badge && /* @__PURE__ */ jsxRuntime.jsx("div", { className: badgeClassName, children: typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", children: badge }) : badge }),
1059
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl font-semibold text-balance", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
1060
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
1061
- viewAllActionContent
1062
- ] }),
1063
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-20 grid gap-6 md:grid-cols-2 lg:grid-cols-3", postsClassName), children: postsContent })
1092
+ /* @__PURE__ */ jsxRuntime.jsxs(
1093
+ "div",
1094
+ {
1095
+ className: cn(
1096
+ "mx-auto flex max-w-3xl flex-col items-center gap-6 text-center",
1097
+ headerClassName
1098
+ ),
1099
+ children: [
1100
+ badge && /* @__PURE__ */ jsxRuntime.jsx("div", { className: badgeClassName, children: typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", children: badge }) : badge }),
1101
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1102
+ "h1",
1103
+ {
1104
+ className: cn(
1105
+ "text-4xl font-semibold text-balance",
1106
+ headingClassName
1107
+ ),
1108
+ children: heading
1109
+ }
1110
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
1111
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
1112
+ viewAllActionContent
1113
+ ]
1114
+ }
1115
+ ),
1116
+ /* @__PURE__ */ jsxRuntime.jsx(
1117
+ "div",
1118
+ {
1119
+ className: cn(
1120
+ "mt-20 grid gap-6 md:grid-cols-2 lg:grid-cols-3",
1121
+ postsClassName
1122
+ ),
1123
+ children: postsContent
1124
+ }
1125
+ )
1064
1126
  ] })
1065
1127
  }
1066
1128
  );
@@ -960,19 +960,30 @@ function BlogCategoryOverlay({
960
960
  postCardClassName,
961
961
  categoryBadgeClassName,
962
962
  optixFlowConfig,
963
- background = "white",
964
- spacing = "xl",
963
+ background,
964
+ spacing,
965
965
  pattern,
966
966
  patternOpacity
967
967
  }) {
968
968
  const viewAllActionContent = React.useMemo(() => {
969
969
  if (viewAllSlot) return viewAllSlot;
970
970
  if (!viewAllAction) return null;
971
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = viewAllAction;
971
+ const {
972
+ label,
973
+ icon,
974
+ iconAfter,
975
+ children,
976
+ className: actionClassName,
977
+ ...pressableProps
978
+ } = viewAllAction;
972
979
  return /* @__PURE__ */ jsx(
973
980
  Pressable,
974
981
  {
975
- className: cn("flex items-center gap-1 text-sm font-semibold", actionClassName, viewAllClassName),
982
+ className: cn(
983
+ "flex items-center gap-1 text-sm font-semibold",
984
+ actionClassName,
985
+ viewAllClassName
986
+ ),
976
987
  ...pressableProps,
977
988
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
978
989
  icon,
@@ -1003,7 +1014,10 @@ function BlogCategoryOverlay({
1003
1014
  Badge,
1004
1015
  {
1005
1016
  variant: "secondary",
1006
- className: cn("absolute top-4 right-4 bg-background/70 px-3 py-1 text-sm backdrop-blur-sm", categoryBadgeClassName),
1017
+ className: cn(
1018
+ "absolute top-4 right-4 bg-background/70 px-3 py-1 text-sm backdrop-blur-sm",
1019
+ categoryBadgeClassName
1020
+ ),
1007
1021
  children: post.category || post.label
1008
1022
  }
1009
1023
  )
@@ -1012,18 +1026,39 @@ function BlogCategoryOverlay({
1012
1026
  post.title && (typeof post.title === "string" ? /* @__PURE__ */ jsx("h2", { className: "mb-5 text-xl font-semibold", children: post.title }) : /* @__PURE__ */ jsx("div", { className: "mb-5 text-xl font-semibold", children: post.title })),
1013
1027
  /* @__PURE__ */ jsxs("div", { className: "flex justify-between gap-6 text-sm", children: [
1014
1028
  (post.date || post.published) && /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1 text-muted-foreground", children: [
1015
- /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/calendar", size: 16, className: "h-4 w-4" }),
1029
+ /* @__PURE__ */ jsx(
1030
+ DynamicIcon,
1031
+ {
1032
+ name: "lucide/calendar",
1033
+ size: 16,
1034
+ className: "h-4 w-4"
1035
+ }
1036
+ ),
1016
1037
  post.date || post.published
1017
1038
  ] }),
1018
1039
  readMoreText && /* @__PURE__ */ jsxs(Pressable, { href: postHref, className: "flex items-center gap-1", children: [
1019
1040
  readMoreText,
1020
- /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 12, className: "h-full w-3" })
1041
+ /* @__PURE__ */ jsx(
1042
+ DynamicIcon,
1043
+ {
1044
+ name: "lucide/chevron-right",
1045
+ size: 12,
1046
+ className: "h-full w-3"
1047
+ }
1048
+ )
1021
1049
  ] })
1022
1050
  ] })
1023
1051
  ] })
1024
1052
  ] }, postId);
1025
1053
  });
1026
- }, [postsSlot, posts, postCardClassName, categoryBadgeClassName, optixFlowConfig, readMoreText]);
1054
+ }, [
1055
+ postsSlot,
1056
+ posts,
1057
+ postCardClassName,
1058
+ categoryBadgeClassName,
1059
+ optixFlowConfig,
1060
+ readMoreText
1061
+ ]);
1027
1062
  return /* @__PURE__ */ jsx(
1028
1063
  Section,
1029
1064
  {
@@ -1033,13 +1068,40 @@ function BlogCategoryOverlay({
1033
1068
  pattern,
1034
1069
  patternOpacity,
1035
1070
  children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
1036
- /* @__PURE__ */ jsxs("div", { className: cn("mx-auto flex max-w-3xl flex-col items-center gap-6 text-center", headerClassName), children: [
1037
- badge && /* @__PURE__ */ jsx("div", { className: badgeClassName, children: typeof badge === "string" ? /* @__PURE__ */ jsx(Badge, { variant: "outline", children: badge }) : badge }),
1038
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-4xl font-semibold text-balance", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
1039
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
1040
- viewAllActionContent
1041
- ] }),
1042
- /* @__PURE__ */ jsx("div", { className: cn("mt-20 grid gap-6 md:grid-cols-2 lg:grid-cols-3", postsClassName), children: postsContent })
1071
+ /* @__PURE__ */ jsxs(
1072
+ "div",
1073
+ {
1074
+ className: cn(
1075
+ "mx-auto flex max-w-3xl flex-col items-center gap-6 text-center",
1076
+ headerClassName
1077
+ ),
1078
+ children: [
1079
+ badge && /* @__PURE__ */ jsx("div", { className: badgeClassName, children: typeof badge === "string" ? /* @__PURE__ */ jsx(Badge, { variant: "outline", children: badge }) : badge }),
1080
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
1081
+ "h1",
1082
+ {
1083
+ className: cn(
1084
+ "text-4xl font-semibold text-balance",
1085
+ headingClassName
1086
+ ),
1087
+ children: heading
1088
+ }
1089
+ ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
1090
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
1091
+ viewAllActionContent
1092
+ ]
1093
+ }
1094
+ ),
1095
+ /* @__PURE__ */ jsx(
1096
+ "div",
1097
+ {
1098
+ className: cn(
1099
+ "mt-20 grid gap-6 md:grid-cols-2 lg:grid-cols-3",
1100
+ postsClassName
1101
+ ),
1102
+ children: postsContent
1103
+ }
1104
+ )
1043
1105
  ] })
1044
1106
  }
1045
1107
  );
@@ -875,8 +875,8 @@ function BlogFeaturedPopular({
875
875
  postsClassName,
876
876
  postCardClassName,
877
877
  optixFlowConfig,
878
- background = "white",
879
- spacing = "xl",
878
+ background,
879
+ spacing,
880
880
  pattern,
881
881
  patternOpacity
882
882
  }) {
@@ -891,7 +891,10 @@ function BlogFeaturedPopular({
891
891
  return /* @__PURE__ */ jsxRuntime.jsxs(
892
892
  PostWrapper,
893
893
  {
894
- className: cn("my-16 grid grid-cols-1 items-center gap-8 md:grid-cols-2 lg:gap-16", featuredClassName),
894
+ className: cn(
895
+ "my-16 grid grid-cols-1 items-center gap-8 md:grid-cols-2 lg:gap-16",
896
+ featuredClassName
897
+ ),
895
898
  ...wrapperProps,
896
899
  children: [
897
900
  featuredPost.image && /* @__PURE__ */ jsxRuntime.jsx(
@@ -899,19 +902,38 @@ function BlogFeaturedPopular({
899
902
  {
900
903
  src: featuredPost.image,
901
904
  alt: typeof featuredPost.title === "string" ? featuredPost.title : "Featured post",
902
- className: cn("aspect-video rounded-lg object-cover", featuredImageClassName),
905
+ className: cn(
906
+ "aspect-video rounded-lg object-cover",
907
+ featuredImageClassName
908
+ ),
903
909
  optixFlowConfig
904
910
  }
905
911
  ),
906
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col items-start gap-4", featuredContentClassName), children: [
907
- (featuredPost.category || featuredPost.label) && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: "shrink", children: featuredPost.category || featuredPost.label }),
908
- featuredPost.title && (typeof featuredPost.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-2xl font-semibold text-balance md:max-w-lg lg:text-3xl", children: featuredPost.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-semibold text-balance md:max-w-lg lg:text-3xl", children: featuredPost.title })),
909
- (featuredPost.description || featuredPost.summary) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground md:max-w-lg", children: featuredPost.description || featuredPost.summary })
910
- ] })
912
+ /* @__PURE__ */ jsxRuntime.jsxs(
913
+ "div",
914
+ {
915
+ className: cn(
916
+ "flex flex-col items-start gap-4",
917
+ featuredContentClassName
918
+ ),
919
+ children: [
920
+ (featuredPost.category || featuredPost.label) && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: "shrink", children: featuredPost.category || featuredPost.label }),
921
+ featuredPost.title && (typeof featuredPost.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-2xl font-semibold text-balance md:max-w-lg lg:text-3xl", children: featuredPost.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-semibold text-balance md:max-w-lg lg:text-3xl", children: featuredPost.title })),
922
+ (featuredPost.description || featuredPost.summary) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground md:max-w-lg", children: featuredPost.description || featuredPost.summary })
923
+ ]
924
+ }
925
+ )
911
926
  ]
912
927
  }
913
928
  );
914
- }, [featuredSlot, featuredPost, featuredClassName, featuredImageClassName, featuredContentClassName, optixFlowConfig]);
929
+ }, [
930
+ featuredSlot,
931
+ featuredPost,
932
+ featuredClassName,
933
+ featuredImageClassName,
934
+ featuredContentClassName,
935
+ optixFlowConfig
936
+ ]);
915
937
  const renderedPopularPosts = React__namespace.useMemo(() => {
916
938
  if (postsSlot) return postsSlot;
917
939
  if (!popularPosts || popularPosts.length === 0) return null;
@@ -954,13 +976,49 @@ function BlogFeaturedPopular({
954
976
  patternOpacity,
955
977
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
956
978
  (heading || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-16 text-center", headerClassName), children: [
957
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-5xl font-medium md:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
958
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mx-auto mt-4 max-w-xl text-lg text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
979
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
980
+ "h1",
981
+ {
982
+ className: cn(
983
+ "text-5xl font-medium md:text-6xl",
984
+ headingClassName
985
+ ),
986
+ children: heading
987
+ }
988
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
989
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
990
+ "p",
991
+ {
992
+ className: cn(
993
+ "mx-auto mt-4 max-w-xl text-lg text-muted-foreground",
994
+ descriptionClassName
995
+ ),
996
+ children: description
997
+ }
998
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
959
999
  ] }),
960
1000
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto max-w-7xl", children: [
961
1001
  renderedFeaturedPost,
962
- popularHeading && (typeof popularHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-2xl font-medium md:text-3xl", popularHeadingClassName), children: popularHeading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: popularHeadingClassName, children: popularHeading })),
963
- renderedPopularPosts && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-8 grid grid-cols-1 gap-10 md:grid-cols-3 md:gap-6", postsClassName), children: renderedPopularPosts })
1002
+ popularHeading && (typeof popularHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1003
+ "p",
1004
+ {
1005
+ className: cn(
1006
+ "text-2xl font-medium md:text-3xl",
1007
+ popularHeadingClassName
1008
+ ),
1009
+ children: popularHeading
1010
+ }
1011
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: popularHeadingClassName, children: popularHeading })),
1012
+ renderedPopularPosts && /* @__PURE__ */ jsxRuntime.jsx(
1013
+ "div",
1014
+ {
1015
+ className: cn(
1016
+ "mt-8 grid grid-cols-1 gap-10 md:grid-cols-3 md:gap-6",
1017
+ postsClassName
1018
+ ),
1019
+ children: renderedPopularPosts
1020
+ }
1021
+ )
964
1022
  ] })
965
1023
  ] })
966
1024
  }
@@ -854,8 +854,8 @@ function BlogFeaturedPopular({
854
854
  postsClassName,
855
855
  postCardClassName,
856
856
  optixFlowConfig,
857
- background = "white",
858
- spacing = "xl",
857
+ background,
858
+ spacing,
859
859
  pattern,
860
860
  patternOpacity
861
861
  }) {
@@ -870,7 +870,10 @@ function BlogFeaturedPopular({
870
870
  return /* @__PURE__ */ jsxs(
871
871
  PostWrapper,
872
872
  {
873
- className: cn("my-16 grid grid-cols-1 items-center gap-8 md:grid-cols-2 lg:gap-16", featuredClassName),
873
+ className: cn(
874
+ "my-16 grid grid-cols-1 items-center gap-8 md:grid-cols-2 lg:gap-16",
875
+ featuredClassName
876
+ ),
874
877
  ...wrapperProps,
875
878
  children: [
876
879
  featuredPost.image && /* @__PURE__ */ jsx(
@@ -878,19 +881,38 @@ function BlogFeaturedPopular({
878
881
  {
879
882
  src: featuredPost.image,
880
883
  alt: typeof featuredPost.title === "string" ? featuredPost.title : "Featured post",
881
- className: cn("aspect-video rounded-lg object-cover", featuredImageClassName),
884
+ className: cn(
885
+ "aspect-video rounded-lg object-cover",
886
+ featuredImageClassName
887
+ ),
882
888
  optixFlowConfig
883
889
  }
884
890
  ),
885
- /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-start gap-4", featuredContentClassName), children: [
886
- (featuredPost.category || featuredPost.label) && /* @__PURE__ */ jsx(Badge, { variant: "secondary", className: "shrink", children: featuredPost.category || featuredPost.label }),
887
- featuredPost.title && (typeof featuredPost.title === "string" ? /* @__PURE__ */ jsx("h2", { className: "text-2xl font-semibold text-balance md:max-w-lg lg:text-3xl", children: featuredPost.title }) : /* @__PURE__ */ jsx("div", { className: "text-2xl font-semibold text-balance md:max-w-lg lg:text-3xl", children: featuredPost.title })),
888
- (featuredPost.description || featuredPost.summary) && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground md:max-w-lg", children: featuredPost.description || featuredPost.summary })
889
- ] })
891
+ /* @__PURE__ */ jsxs(
892
+ "div",
893
+ {
894
+ className: cn(
895
+ "flex flex-col items-start gap-4",
896
+ featuredContentClassName
897
+ ),
898
+ children: [
899
+ (featuredPost.category || featuredPost.label) && /* @__PURE__ */ jsx(Badge, { variant: "secondary", className: "shrink", children: featuredPost.category || featuredPost.label }),
900
+ featuredPost.title && (typeof featuredPost.title === "string" ? /* @__PURE__ */ jsx("h2", { className: "text-2xl font-semibold text-balance md:max-w-lg lg:text-3xl", children: featuredPost.title }) : /* @__PURE__ */ jsx("div", { className: "text-2xl font-semibold text-balance md:max-w-lg lg:text-3xl", children: featuredPost.title })),
901
+ (featuredPost.description || featuredPost.summary) && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground md:max-w-lg", children: featuredPost.description || featuredPost.summary })
902
+ ]
903
+ }
904
+ )
890
905
  ]
891
906
  }
892
907
  );
893
- }, [featuredSlot, featuredPost, featuredClassName, featuredImageClassName, featuredContentClassName, optixFlowConfig]);
908
+ }, [
909
+ featuredSlot,
910
+ featuredPost,
911
+ featuredClassName,
912
+ featuredImageClassName,
913
+ featuredContentClassName,
914
+ optixFlowConfig
915
+ ]);
894
916
  const renderedPopularPosts = React.useMemo(() => {
895
917
  if (postsSlot) return postsSlot;
896
918
  if (!popularPosts || popularPosts.length === 0) return null;
@@ -933,13 +955,49 @@ function BlogFeaturedPopular({
933
955
  patternOpacity,
934
956
  children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
935
957
  (heading || description) && /* @__PURE__ */ jsxs("div", { className: cn("mb-16 text-center", headerClassName), children: [
936
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-5xl font-medium md:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
937
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mx-auto mt-4 max-w-xl text-lg text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
958
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
959
+ "h1",
960
+ {
961
+ className: cn(
962
+ "text-5xl font-medium md:text-6xl",
963
+ headingClassName
964
+ ),
965
+ children: heading
966
+ }
967
+ ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
968
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
969
+ "p",
970
+ {
971
+ className: cn(
972
+ "mx-auto mt-4 max-w-xl text-lg text-muted-foreground",
973
+ descriptionClassName
974
+ ),
975
+ children: description
976
+ }
977
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
938
978
  ] }),
939
979
  /* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-7xl", children: [
940
980
  renderedFeaturedPost,
941
- popularHeading && (typeof popularHeading === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-2xl font-medium md:text-3xl", popularHeadingClassName), children: popularHeading }) : /* @__PURE__ */ jsx("div", { className: popularHeadingClassName, children: popularHeading })),
942
- renderedPopularPosts && /* @__PURE__ */ jsx("div", { className: cn("mt-8 grid grid-cols-1 gap-10 md:grid-cols-3 md:gap-6", postsClassName), children: renderedPopularPosts })
981
+ popularHeading && (typeof popularHeading === "string" ? /* @__PURE__ */ jsx(
982
+ "p",
983
+ {
984
+ className: cn(
985
+ "text-2xl font-medium md:text-3xl",
986
+ popularHeadingClassName
987
+ ),
988
+ children: popularHeading
989
+ }
990
+ ) : /* @__PURE__ */ jsx("div", { className: popularHeadingClassName, children: popularHeading })),
991
+ renderedPopularPosts && /* @__PURE__ */ jsx(
992
+ "div",
993
+ {
994
+ className: cn(
995
+ "mt-8 grid grid-cols-1 gap-10 md:grid-cols-3 md:gap-6",
996
+ postsClassName
997
+ ),
998
+ children: renderedPopularPosts
999
+ }
1000
+ )
943
1001
  ] })
944
1002
  ] })
945
1003
  }