@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
@@ -815,8 +815,8 @@ function BlogMasonryFeaturedComponent({
815
815
  featuredImageClassName,
816
816
  postCardClassName,
817
817
  optixFlowConfig,
818
- background = "white",
819
- spacing = "xl",
818
+ background,
819
+ spacing,
820
820
  pattern,
821
821
  patternOpacity
822
822
  }) {
@@ -826,59 +826,85 @@ function BlogMasonryFeaturedComponent({
826
826
  if (featuredSlot) return featuredSlot;
827
827
  if (!featuredPost) return null;
828
828
  const postHref = featuredPost.href || featuredPost.url || featuredPost.link || "#";
829
- return /* @__PURE__ */ jsx("div", { className: cn("relative md:row-span-2 lg:col-span-2", featuredClassName), children: /* @__PURE__ */ jsxs(
830
- Pressable,
829
+ return /* @__PURE__ */ jsx(
830
+ "div",
831
831
  {
832
- href: postHref,
833
- className: "block h-fit rounded-lg p-3 md:top-0",
834
- children: [
835
- featuredPost.image && /* @__PURE__ */ jsx(
836
- Img,
837
- {
838
- src: featuredPost.image,
839
- alt: typeof featuredPost.title === "string" ? featuredPost.title : "Featured content",
840
- className: cn("h-48 w-full rounded-lg object-cover hover:opacity-80 md:h-80 lg:h-96", featuredImageClassName),
841
- optixFlowConfig
842
- }
843
- ),
844
- /* @__PURE__ */ jsxs("div", { className: "mt-5", children: [
845
- /* @__PURE__ */ jsxs("div", { className: "mb-2.5 flex items-center gap-1 text-sm text-muted-foreground", children: [
846
- (featuredPost.date || featuredPost.published) && /* @__PURE__ */ jsx("time", { children: featuredPost.date || featuredPost.published }),
847
- (featuredPost.date || featuredPost.published) && featuredPost.author && "\xB7",
848
- featuredPost.author && /* @__PURE__ */ jsx("span", { children: featuredPost.author })
849
- ] }),
850
- featuredPost.title && (typeof featuredPost.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-lg md:text-3xl lg:text-4xl", children: featuredPost.title }) : /* @__PURE__ */ jsx("div", { className: "text-lg md:text-3xl lg:text-4xl", children: featuredPost.title })),
851
- (featuredPost.description || featuredPost.summary) && /* @__PURE__ */ jsx("p", { className: "mt-4 text-muted-foreground", children: featuredPost.description || featuredPost.summary })
852
- ] })
853
- ]
832
+ className: cn(
833
+ "relative md:row-span-2 lg:col-span-2",
834
+ featuredClassName
835
+ ),
836
+ children: /* @__PURE__ */ jsxs(
837
+ Pressable,
838
+ {
839
+ href: postHref,
840
+ className: "block h-fit rounded-lg p-3 md:top-0",
841
+ children: [
842
+ featuredPost.image && /* @__PURE__ */ jsx(
843
+ Img,
844
+ {
845
+ src: featuredPost.image,
846
+ alt: typeof featuredPost.title === "string" ? featuredPost.title : "Featured content",
847
+ className: cn(
848
+ "h-48 w-full rounded-lg object-cover hover:opacity-80 md:h-80 lg:h-96",
849
+ featuredImageClassName
850
+ ),
851
+ optixFlowConfig
852
+ }
853
+ ),
854
+ /* @__PURE__ */ jsxs("div", { className: "mt-5", children: [
855
+ /* @__PURE__ */ jsxs("div", { className: "mb-2.5 flex items-center gap-1 text-sm text-muted-foreground", children: [
856
+ (featuredPost.date || featuredPost.published) && /* @__PURE__ */ jsx("time", { children: featuredPost.date || featuredPost.published }),
857
+ (featuredPost.date || featuredPost.published) && featuredPost.author && "\xB7",
858
+ featuredPost.author && /* @__PURE__ */ jsx("span", { children: featuredPost.author })
859
+ ] }),
860
+ featuredPost.title && (typeof featuredPost.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-lg md:text-3xl lg:text-4xl", children: featuredPost.title }) : /* @__PURE__ */ jsx("div", { className: "text-lg md:text-3xl lg:text-4xl", children: featuredPost.title })),
861
+ (featuredPost.description || featuredPost.summary) && /* @__PURE__ */ jsx("p", { className: "mt-4 text-muted-foreground", children: featuredPost.description || featuredPost.summary })
862
+ ] })
863
+ ]
864
+ }
865
+ )
854
866
  }
855
- ) });
856
- }, [featuredSlot, featuredPost, featuredClassName, featuredImageClassName, optixFlowConfig]);
867
+ );
868
+ }, [
869
+ featuredSlot,
870
+ featuredPost,
871
+ featuredClassName,
872
+ featuredImageClassName,
873
+ optixFlowConfig
874
+ ]);
857
875
  const otherPostsContent = React.useMemo(() => {
858
876
  if (postsSlot) return postsSlot;
859
877
  if (!otherPosts || otherPosts.length === 0) return null;
860
878
  return otherPosts.map((post) => {
861
879
  const postHref = post.href || post.url || post.link || "#";
862
880
  const postId = post.id || String(post.title) || Math.random().toString();
863
- return /* @__PURE__ */ jsxs(Pressable, { href: postHref, className: cn("rounded-lg p-3", postCardClassName), children: [
864
- post.image && /* @__PURE__ */ jsx(
865
- Img,
866
- {
867
- src: post.image,
868
- alt: typeof post.title === "string" ? post.title : "Content item",
869
- className: "h-48 w-full rounded-lg object-cover hover:opacity-80",
870
- optixFlowConfig
871
- }
872
- ),
873
- /* @__PURE__ */ jsxs("div", { className: "mt-5", children: [
874
- /* @__PURE__ */ jsxs("div", { className: "mb-2.5 flex items-center gap-1 text-sm text-muted-foreground", children: [
875
- (post.date || post.published) && /* @__PURE__ */ jsx("time", { children: post.date || post.published }),
876
- (post.date || post.published) && post.author && "\xB7",
877
- post.author && /* @__PURE__ */ jsx("span", { children: post.author })
878
- ] }),
879
- post.title && (typeof post.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-lg", children: post.title }) : /* @__PURE__ */ jsx("div", { className: "text-lg", children: post.title }))
880
- ] })
881
- ] }, postId);
881
+ return /* @__PURE__ */ jsxs(
882
+ Pressable,
883
+ {
884
+ href: postHref,
885
+ className: cn("rounded-lg p-3", postCardClassName),
886
+ children: [
887
+ post.image && /* @__PURE__ */ jsx(
888
+ Img,
889
+ {
890
+ src: post.image,
891
+ alt: typeof post.title === "string" ? post.title : "Content item",
892
+ className: "h-48 w-full rounded-lg object-cover hover:opacity-80",
893
+ optixFlowConfig
894
+ }
895
+ ),
896
+ /* @__PURE__ */ jsxs("div", { className: "mt-5", children: [
897
+ /* @__PURE__ */ jsxs("div", { className: "mb-2.5 flex items-center gap-1 text-sm text-muted-foreground", children: [
898
+ (post.date || post.published) && /* @__PURE__ */ jsx("time", { children: post.date || post.published }),
899
+ (post.date || post.published) && post.author && "\xB7",
900
+ post.author && /* @__PURE__ */ jsx("span", { children: post.author })
901
+ ] }),
902
+ post.title && (typeof post.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-lg", children: post.title }) : /* @__PURE__ */ jsx("div", { className: "text-lg", children: post.title }))
903
+ ] })
904
+ ]
905
+ },
906
+ postId
907
+ );
882
908
  });
883
909
  }, [postsSlot, otherPosts, postCardClassName, optixFlowConfig]);
884
910
  return /* @__PURE__ */ jsx(
@@ -890,11 +916,29 @@ function BlogMasonryFeaturedComponent({
890
916
  pattern,
891
917
  patternOpacity,
892
918
  children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
893
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("mb-12 text-center text-4xl font-medium md:text-7xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
894
- /* @__PURE__ */ jsxs("div", { className: cn("xs:grid-cols-1 mt-24 grid gap-4 sm:grid-cols-2 lg:grid-cols-4", postsClassName), children: [
895
- featuredPostContent,
896
- otherPostsContent
897
- ] })
919
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
920
+ "h1",
921
+ {
922
+ className: cn(
923
+ "mb-12 text-center text-4xl font-medium md:text-7xl",
924
+ headingClassName
925
+ ),
926
+ children: heading
927
+ }
928
+ ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
929
+ /* @__PURE__ */ jsxs(
930
+ "div",
931
+ {
932
+ className: cn(
933
+ "xs:grid-cols-1 mt-24 grid gap-4 sm:grid-cols-2 lg:grid-cols-4",
934
+ postsClassName
935
+ ),
936
+ children: [
937
+ featuredPostContent,
938
+ otherPostsContent
939
+ ]
940
+ }
941
+ )
898
942
  ] })
899
943
  }
900
944
  );
@@ -835,20 +835,31 @@ function BlogRelatedArticles({
835
835
  seeAllClassName,
836
836
  articlesClassName,
837
837
  articleCardClassName,
838
- background = "white",
839
- spacing = "xl",
838
+ background,
839
+ spacing,
840
840
  pattern,
841
841
  patternOpacity
842
842
  }) {
843
843
  const renderedSeeAllAction = React__namespace.useMemo(() => {
844
844
  if (seeAllSlot) return seeAllSlot;
845
845
  if (!seeAllAction) return null;
846
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = seeAllAction;
846
+ const {
847
+ label,
848
+ icon,
849
+ iconAfter,
850
+ children,
851
+ className: actionClassName,
852
+ ...pressableProps
853
+ } = seeAllAction;
847
854
  return /* @__PURE__ */ jsxRuntime.jsx(
848
855
  Pressable,
849
856
  {
850
857
  asButton: true,
851
- className: cn("md:h-10 md:px-4 md:py-2", actionClassName, seeAllClassName),
858
+ className: cn(
859
+ "md:h-10 md:px-4 md:py-2",
860
+ actionClassName,
861
+ seeAllClassName
862
+ ),
852
863
  ...pressableProps,
853
864
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
854
865
  icon,
@@ -889,11 +900,38 @@ function BlogRelatedArticles({
889
900
  pattern,
890
901
  patternOpacity,
891
902
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
892
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-8 flex flex-wrap items-center justify-between gap-1", headerClassName), children: [
893
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-2xl font-semibold md:text-4xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
894
- renderedSeeAllAction
895
- ] }),
896
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid grid-cols-1 gap-16 md:grid-cols-2 lg:grid-cols-4 lg:gap-10", articlesClassName), children: renderedArticles })
903
+ /* @__PURE__ */ jsxRuntime.jsxs(
904
+ "div",
905
+ {
906
+ className: cn(
907
+ "mb-8 flex flex-wrap items-center justify-between gap-1",
908
+ headerClassName
909
+ ),
910
+ children: [
911
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
912
+ "h1",
913
+ {
914
+ className: cn(
915
+ "text-2xl font-semibold md:text-4xl",
916
+ headingClassName
917
+ ),
918
+ children: heading
919
+ }
920
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
921
+ renderedSeeAllAction
922
+ ]
923
+ }
924
+ ),
925
+ /* @__PURE__ */ jsxRuntime.jsx(
926
+ "div",
927
+ {
928
+ className: cn(
929
+ "grid grid-cols-1 gap-16 md:grid-cols-2 lg:grid-cols-4 lg:gap-10",
930
+ articlesClassName
931
+ ),
932
+ children: renderedArticles
933
+ }
934
+ )
897
935
  ] })
898
936
  }
899
937
  );
@@ -814,20 +814,31 @@ function BlogRelatedArticles({
814
814
  seeAllClassName,
815
815
  articlesClassName,
816
816
  articleCardClassName,
817
- background = "white",
818
- spacing = "xl",
817
+ background,
818
+ spacing,
819
819
  pattern,
820
820
  patternOpacity
821
821
  }) {
822
822
  const renderedSeeAllAction = React.useMemo(() => {
823
823
  if (seeAllSlot) return seeAllSlot;
824
824
  if (!seeAllAction) return null;
825
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = seeAllAction;
825
+ const {
826
+ label,
827
+ icon,
828
+ iconAfter,
829
+ children,
830
+ className: actionClassName,
831
+ ...pressableProps
832
+ } = seeAllAction;
826
833
  return /* @__PURE__ */ jsx(
827
834
  Pressable,
828
835
  {
829
836
  asButton: true,
830
- className: cn("md:h-10 md:px-4 md:py-2", actionClassName, seeAllClassName),
837
+ className: cn(
838
+ "md:h-10 md:px-4 md:py-2",
839
+ actionClassName,
840
+ seeAllClassName
841
+ ),
831
842
  ...pressableProps,
832
843
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
833
844
  icon,
@@ -868,11 +879,38 @@ function BlogRelatedArticles({
868
879
  pattern,
869
880
  patternOpacity,
870
881
  children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
871
- /* @__PURE__ */ jsxs("div", { className: cn("mb-8 flex flex-wrap items-center justify-between gap-1", headerClassName), children: [
872
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-2xl font-semibold md:text-4xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
873
- renderedSeeAllAction
874
- ] }),
875
- /* @__PURE__ */ jsx("div", { className: cn("grid grid-cols-1 gap-16 md:grid-cols-2 lg:grid-cols-4 lg:gap-10", articlesClassName), children: renderedArticles })
882
+ /* @__PURE__ */ jsxs(
883
+ "div",
884
+ {
885
+ className: cn(
886
+ "mb-8 flex flex-wrap items-center justify-between gap-1",
887
+ headerClassName
888
+ ),
889
+ children: [
890
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
891
+ "h1",
892
+ {
893
+ className: cn(
894
+ "text-2xl font-semibold md:text-4xl",
895
+ headingClassName
896
+ ),
897
+ children: heading
898
+ }
899
+ ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
900
+ renderedSeeAllAction
901
+ ]
902
+ }
903
+ ),
904
+ /* @__PURE__ */ jsx(
905
+ "div",
906
+ {
907
+ className: cn(
908
+ "grid grid-cols-1 gap-16 md:grid-cols-2 lg:grid-cols-4 lg:gap-10",
909
+ articlesClassName
910
+ ),
911
+ children: renderedArticles
912
+ }
913
+ )
876
914
  ] })
877
915
  }
878
916
  );
@@ -875,20 +875,31 @@ function BlogTechInsights({
875
875
  secondaryPostsClassName,
876
876
  secondaryPostItemClassName,
877
877
  optixFlowConfig,
878
- background = "white",
879
- spacing = "xl",
878
+ background,
879
+ spacing,
880
880
  pattern,
881
881
  patternOpacity
882
882
  }) {
883
883
  const readMoreActionContent = React.useMemo(() => {
884
884
  if (readMoreSlot) return readMoreSlot;
885
885
  if (!readMoreAction) return null;
886
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = readMoreAction;
886
+ const {
887
+ label,
888
+ icon,
889
+ iconAfter,
890
+ children,
891
+ className: actionClassName,
892
+ ...pressableProps
893
+ } = readMoreAction;
887
894
  return /* @__PURE__ */ jsxRuntime.jsx(
888
895
  Pressable,
889
896
  {
890
897
  asButton: true,
891
- className: cn("ml-auto rounded-full border-foreground text-foreground", actionClassName, readMoreClassName),
898
+ className: cn(
899
+ "ml-auto rounded-full border-foreground text-foreground",
900
+ actionClassName,
901
+ readMoreClassName
902
+ ),
892
903
  ...pressableProps,
893
904
  children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
894
905
  icon,
@@ -905,7 +916,10 @@ function BlogTechInsights({
905
916
  featuredPost.image && /* @__PURE__ */ jsxRuntime.jsx(
906
917
  img.Img,
907
918
  {
908
- className: cn("w-full rounded-lg object-cover", featuredImageClassName),
919
+ className: cn(
920
+ "w-full rounded-lg object-cover",
921
+ featuredImageClassName
922
+ ),
909
923
  src: featuredPost.image,
910
924
  alt: typeof featuredPost.title === "string" ? featuredPost.title : "Featured item",
911
925
  optixFlowConfig
@@ -920,7 +934,13 @@ function BlogTechInsights({
920
934
  ] })
921
935
  ] })
922
936
  ] });
923
- }, [featuredSlot, featuredPost, featuredClassName, featuredImageClassName, optixFlowConfig]);
937
+ }, [
938
+ featuredSlot,
939
+ featuredPost,
940
+ featuredClassName,
941
+ featuredImageClassName,
942
+ optixFlowConfig
943
+ ]);
924
944
  const secondaryPostsContent = React.useMemo(() => {
925
945
  if (secondaryPostsSlot) return secondaryPostsSlot;
926
946
  if (!secondaryPosts || secondaryPosts.length === 0) return null;
@@ -929,7 +949,10 @@ function BlogTechInsights({
929
949
  return /* @__PURE__ */ jsxRuntime.jsxs(
930
950
  "div",
931
951
  {
932
- className: cn("flex items-start gap-4 border-b pb-6 last:border-b-0", secondaryPostItemClassName),
952
+ className: cn(
953
+ "flex items-start gap-4 border-b pb-6 last:border-b-0",
954
+ secondaryPostItemClassName
955
+ ),
933
956
  children: [
934
957
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-1/4 shrink-0 md:w-1/5", children: post.image && /* @__PURE__ */ jsxRuntime.jsx(
935
958
  img.Img,
@@ -946,7 +969,12 @@ function BlogTechInsights({
946
969
  postId
947
970
  );
948
971
  });
949
- }, [secondaryPostsSlot, secondaryPosts, secondaryPostItemClassName, optixFlowConfig]);
972
+ }, [
973
+ secondaryPostsSlot,
974
+ secondaryPosts,
975
+ secondaryPostItemClassName,
976
+ optixFlowConfig
977
+ ]);
950
978
  return /* @__PURE__ */ jsxRuntime.jsx(
951
979
  Section,
952
980
  {
@@ -957,16 +985,52 @@ function BlogTechInsights({
957
985
  patternOpacity,
958
986
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
959
987
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-8", headerClassName), children: [
960
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-3xl font-bold text-foreground md:text-4xl lg:text-5xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
988
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
989
+ "h1",
990
+ {
991
+ className: cn(
992
+ "text-3xl font-bold text-foreground md:text-4xl lg:text-5xl",
993
+ headingClassName
994
+ ),
995
+ children: heading
996
+ }
997
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
961
998
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-4 flex justify-start", children: [
962
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("mt-2 block text-sm text-muted-foreground md:text-base", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
999
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1000
+ "span",
1001
+ {
1002
+ className: cn(
1003
+ "mt-2 block text-sm text-muted-foreground md:text-base",
1004
+ descriptionClassName
1005
+ ),
1006
+ children: description
1007
+ }
1008
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
963
1009
  readMoreActionContent
964
1010
  ] })
965
1011
  ] }),
966
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-12 grid grid-cols-1 gap-8 md:grid-cols-2 lg:gap-12", contentClassName), children: [
967
- featuredPostContent,
968
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("space-y-6 text-foreground md:space-y-8", secondaryPostsClassName), children: secondaryPostsContent })
969
- ] })
1012
+ /* @__PURE__ */ jsxRuntime.jsxs(
1013
+ "div",
1014
+ {
1015
+ className: cn(
1016
+ "mt-12 grid grid-cols-1 gap-8 md:grid-cols-2 lg:gap-12",
1017
+ contentClassName
1018
+ ),
1019
+ children: [
1020
+ featuredPostContent,
1021
+ /* @__PURE__ */ jsxRuntime.jsx(
1022
+ "div",
1023
+ {
1024
+ className: cn(
1025
+ "space-y-6 text-foreground md:space-y-8",
1026
+ secondaryPostsClassName
1027
+ ),
1028
+ children: secondaryPostsContent
1029
+ }
1030
+ )
1031
+ ]
1032
+ }
1033
+ )
970
1034
  ] })
971
1035
  }
972
1036
  );
@@ -853,20 +853,31 @@ function BlogTechInsights({
853
853
  secondaryPostsClassName,
854
854
  secondaryPostItemClassName,
855
855
  optixFlowConfig,
856
- background = "white",
857
- spacing = "xl",
856
+ background,
857
+ spacing,
858
858
  pattern,
859
859
  patternOpacity
860
860
  }) {
861
861
  const readMoreActionContent = useMemo(() => {
862
862
  if (readMoreSlot) return readMoreSlot;
863
863
  if (!readMoreAction) return null;
864
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = readMoreAction;
864
+ const {
865
+ label,
866
+ icon,
867
+ iconAfter,
868
+ children,
869
+ className: actionClassName,
870
+ ...pressableProps
871
+ } = readMoreAction;
865
872
  return /* @__PURE__ */ jsx(
866
873
  Pressable,
867
874
  {
868
875
  asButton: true,
869
- className: cn("ml-auto rounded-full border-foreground text-foreground", actionClassName, readMoreClassName),
876
+ className: cn(
877
+ "ml-auto rounded-full border-foreground text-foreground",
878
+ actionClassName,
879
+ readMoreClassName
880
+ ),
870
881
  ...pressableProps,
871
882
  children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
872
883
  icon,
@@ -883,7 +894,10 @@ function BlogTechInsights({
883
894
  featuredPost.image && /* @__PURE__ */ jsx(
884
895
  Img,
885
896
  {
886
- className: cn("w-full rounded-lg object-cover", featuredImageClassName),
897
+ className: cn(
898
+ "w-full rounded-lg object-cover",
899
+ featuredImageClassName
900
+ ),
887
901
  src: featuredPost.image,
888
902
  alt: typeof featuredPost.title === "string" ? featuredPost.title : "Featured item",
889
903
  optixFlowConfig
@@ -898,7 +912,13 @@ function BlogTechInsights({
898
912
  ] })
899
913
  ] })
900
914
  ] });
901
- }, [featuredSlot, featuredPost, featuredClassName, featuredImageClassName, optixFlowConfig]);
915
+ }, [
916
+ featuredSlot,
917
+ featuredPost,
918
+ featuredClassName,
919
+ featuredImageClassName,
920
+ optixFlowConfig
921
+ ]);
902
922
  const secondaryPostsContent = useMemo(() => {
903
923
  if (secondaryPostsSlot) return secondaryPostsSlot;
904
924
  if (!secondaryPosts || secondaryPosts.length === 0) return null;
@@ -907,7 +927,10 @@ function BlogTechInsights({
907
927
  return /* @__PURE__ */ jsxs(
908
928
  "div",
909
929
  {
910
- className: cn("flex items-start gap-4 border-b pb-6 last:border-b-0", secondaryPostItemClassName),
930
+ className: cn(
931
+ "flex items-start gap-4 border-b pb-6 last:border-b-0",
932
+ secondaryPostItemClassName
933
+ ),
911
934
  children: [
912
935
  /* @__PURE__ */ jsx("div", { className: "w-1/4 shrink-0 md:w-1/5", children: post.image && /* @__PURE__ */ jsx(
913
936
  Img,
@@ -924,7 +947,12 @@ function BlogTechInsights({
924
947
  postId
925
948
  );
926
949
  });
927
- }, [secondaryPostsSlot, secondaryPosts, secondaryPostItemClassName, optixFlowConfig]);
950
+ }, [
951
+ secondaryPostsSlot,
952
+ secondaryPosts,
953
+ secondaryPostItemClassName,
954
+ optixFlowConfig
955
+ ]);
928
956
  return /* @__PURE__ */ jsx(
929
957
  Section,
930
958
  {
@@ -935,16 +963,52 @@ function BlogTechInsights({
935
963
  patternOpacity,
936
964
  children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
937
965
  /* @__PURE__ */ jsxs("div", { className: cn("mb-8", headerClassName), children: [
938
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-3xl font-bold text-foreground md:text-4xl lg:text-5xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
966
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
967
+ "h1",
968
+ {
969
+ className: cn(
970
+ "text-3xl font-bold text-foreground md:text-4xl lg:text-5xl",
971
+ headingClassName
972
+ ),
973
+ children: heading
974
+ }
975
+ ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
939
976
  /* @__PURE__ */ jsxs("div", { className: "mt-4 flex justify-start", children: [
940
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("span", { className: cn("mt-2 block text-sm text-muted-foreground md:text-base", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
977
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
978
+ "span",
979
+ {
980
+ className: cn(
981
+ "mt-2 block text-sm text-muted-foreground md:text-base",
982
+ descriptionClassName
983
+ ),
984
+ children: description
985
+ }
986
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
941
987
  readMoreActionContent
942
988
  ] })
943
989
  ] }),
944
- /* @__PURE__ */ jsxs("div", { className: cn("mt-12 grid grid-cols-1 gap-8 md:grid-cols-2 lg:gap-12", contentClassName), children: [
945
- featuredPostContent,
946
- /* @__PURE__ */ jsx("div", { className: cn("space-y-6 text-foreground md:space-y-8", secondaryPostsClassName), children: secondaryPostsContent })
947
- ] })
990
+ /* @__PURE__ */ jsxs(
991
+ "div",
992
+ {
993
+ className: cn(
994
+ "mt-12 grid grid-cols-1 gap-8 md:grid-cols-2 lg:gap-12",
995
+ contentClassName
996
+ ),
997
+ children: [
998
+ featuredPostContent,
999
+ /* @__PURE__ */ jsx(
1000
+ "div",
1001
+ {
1002
+ className: cn(
1003
+ "space-y-6 text-foreground md:space-y-8",
1004
+ secondaryPostsClassName
1005
+ ),
1006
+ children: secondaryPostsContent
1007
+ }
1008
+ )
1009
+ ]
1010
+ }
1011
+ )
948
1012
  ] })
949
1013
  }
950
1014
  );