@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
@@ -980,7 +980,7 @@ function ArticleSidebarStickyComponent({
980
980
  children,
981
981
  optixFlowConfig,
982
982
  background,
983
- spacing,
983
+ spacing = "py-6 md:py-32",
984
984
  pattern,
985
985
  patternOpacity
986
986
  }) {
@@ -991,7 +991,10 @@ function ArticleSidebarStickyComponent({
991
991
  Pressable,
992
992
  {
993
993
  href: backHref,
994
- className: cn("inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground", backLinkClassName),
994
+ className: cn(
995
+ "inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground",
996
+ backLinkClassName
997
+ ),
995
998
  children: [
996
999
  backIcon ?? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-left", size: 16 }),
997
1000
  backText
@@ -999,21 +1002,38 @@ function ArticleSidebarStickyComponent({
999
1002
  }
1000
1003
  );
1001
1004
  }, [backLinkSlot, backHref, backText, backIcon, backLinkClassName]);
1002
- const renderAuthor = React.useCallback((isMobile = false) => {
1003
- if (authorSlot) return authorSlot;
1004
- if (!authorName) return null;
1005
- const avatarSize = isMobile ? "h-8 w-8" : "h-10 w-10";
1006
- return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-3", authorClassName), children: [
1007
- /* @__PURE__ */ jsxs(Avatar, { className: avatarSize, children: [
1008
- /* @__PURE__ */ jsx(AvatarImage, { src: authorImage }),
1009
- /* @__PURE__ */ jsx(AvatarFallback, { children: authorName.charAt(0) })
1010
- ] }),
1011
- /* @__PURE__ */ jsxs("div", { children: [
1012
- authorHref ? /* @__PURE__ */ jsx(Pressable, { href: authorHref, className: "text-sm font-medium hover:underline", children: authorName }) : /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: authorName }),
1013
- publishDate && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: publishDate })
1014
- ] })
1015
- ] });
1016
- }, [authorSlot, authorName, authorImage, authorHref, publishDate, authorClassName]);
1005
+ const renderAuthor = React.useCallback(
1006
+ (isMobile = false) => {
1007
+ if (authorSlot) return authorSlot;
1008
+ if (!authorName) return null;
1009
+ const avatarSize = isMobile ? "h-8 w-8" : "h-10 w-10";
1010
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-3", authorClassName), children: [
1011
+ /* @__PURE__ */ jsxs(Avatar, { className: avatarSize, children: [
1012
+ /* @__PURE__ */ jsx(AvatarImage, { src: authorImage }),
1013
+ /* @__PURE__ */ jsx(AvatarFallback, { children: authorName.charAt(0) })
1014
+ ] }),
1015
+ /* @__PURE__ */ jsxs("div", { children: [
1016
+ authorHref ? /* @__PURE__ */ jsx(
1017
+ Pressable,
1018
+ {
1019
+ href: authorHref,
1020
+ className: "text-sm font-medium hover:underline",
1021
+ children: authorName
1022
+ }
1023
+ ) : /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: authorName }),
1024
+ publishDate && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: publishDate })
1025
+ ] })
1026
+ ] });
1027
+ },
1028
+ [
1029
+ authorSlot,
1030
+ authorName,
1031
+ authorImage,
1032
+ authorHref,
1033
+ publishDate,
1034
+ authorClassName
1035
+ ]
1036
+ );
1017
1037
  const heroMediaContent = React.useMemo(() => {
1018
1038
  if (heroMediaSlot) return heroMediaSlot;
1019
1039
  if (!heroImageSrc) return null;
@@ -1022,11 +1042,20 @@ function ArticleSidebarStickyComponent({
1022
1042
  {
1023
1043
  src: heroImageSrc,
1024
1044
  alt: heroImageAlt,
1025
- className: cn("my-8 aspect-video w-full rounded-lg object-cover", heroImageClassName),
1045
+ className: cn(
1046
+ "my-8 aspect-video w-full rounded-lg object-cover",
1047
+ heroImageClassName
1048
+ ),
1026
1049
  optixFlowConfig
1027
1050
  }
1028
1051
  );
1029
- }, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
1052
+ }, [
1053
+ heroMediaSlot,
1054
+ heroImageSrc,
1055
+ heroImageAlt,
1056
+ heroImageClassName,
1057
+ optixFlowConfig
1058
+ ]);
1030
1059
  return /* @__PURE__ */ jsx(
1031
1060
  Section,
1032
1061
  {
@@ -1040,13 +1069,31 @@ function ArticleSidebarStickyComponent({
1040
1069
  backLinkContent,
1041
1070
  /* @__PURE__ */ jsx("div", { className: "space-y-4", children: renderAuthor(false) })
1042
1071
  ] }) }),
1043
- /* @__PURE__ */ jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
1044
- /* @__PURE__ */ jsx("div", { className: "mb-8 lg:hidden", children: backLinkContent }),
1045
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
1046
- /* @__PURE__ */ jsx("div", { className: "not-prose mt-4 lg:hidden", children: renderAuthor(true) }),
1047
- heroMediaContent,
1048
- children
1049
- ] })
1072
+ /* @__PURE__ */ jsxs(
1073
+ "article",
1074
+ {
1075
+ className: cn(
1076
+ "prose max-w-none dark:prose-invert",
1077
+ articleClassName
1078
+ ),
1079
+ children: [
1080
+ /* @__PURE__ */ jsx("div", { className: "mb-8 lg:hidden", children: backLinkContent }),
1081
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
1082
+ "h1",
1083
+ {
1084
+ className: cn(
1085
+ "text-4xl font-bold tracking-tight md:text-5xl",
1086
+ titleClassName
1087
+ ),
1088
+ children: title
1089
+ }
1090
+ ) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
1091
+ /* @__PURE__ */ jsx("div", { className: "not-prose mt-4 lg:hidden", children: renderAuthor(true) }),
1092
+ heroMediaContent,
1093
+ children
1094
+ ]
1095
+ }
1096
+ )
1050
1097
  ] }) })
1051
1098
  }
1052
1099
  );
@@ -1009,7 +1009,10 @@ function BlogHorizontalTimelineComponent({
1009
1009
  /* @__PURE__ */ jsxRuntime.jsx(
1010
1010
  Card,
1011
1011
  {
1012
- className: cn("w-full border-none shadow-none", postCardClassName),
1012
+ className: cn(
1013
+ "w-full border-none shadow-none pt-0 pb-6 md:pt-6 md:pb-6",
1014
+ postCardClassName
1015
+ ),
1013
1016
  children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "p-0", children: /* @__PURE__ */ jsxRuntime.jsxs(
1014
1017
  "div",
1015
1018
  {
@@ -1024,9 +1027,9 @@ function BlogHorizontalTimelineComponent({
1024
1027
  ] }),
1025
1028
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-col items-start gap-4 md:h-full md:justify-between md:gap-6", children: [
1026
1029
  postDescription && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-base leading-relaxed font-normal tracking-tight text-muted-foreground md:text-xl line-clamp-3", children: postDescription }),
1027
- readText && /* @__PURE__ */ jsxRuntime.jsxs(Pressable, { href: postHref, asButton: true, variant: "link", children: [
1030
+ readText && /* @__PURE__ */ jsxRuntime.jsxs(Pressable, { href: postHref, asButton: true, variant: "ghost", children: [
1028
1031
  readText,
1029
- /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right", size: 20 })
1032
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-up-right", size: 20 })
1030
1033
  ] })
1031
1034
  ] })
1032
1035
  ]
@@ -1067,7 +1070,7 @@ function BlogHorizontalTimelineComponent({
1067
1070
  children: heading
1068
1071
  }
1069
1072
  ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-12", headingClassName), children: heading })),
1070
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col", postsClassName), children: renderPosts })
1073
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col gap-0 md:gap-20", postsClassName), children: renderPosts })
1071
1074
  ] })
1072
1075
  }
1073
1076
  );
@@ -988,7 +988,10 @@ function BlogHorizontalTimelineComponent({
988
988
  /* @__PURE__ */ jsx(
989
989
  Card,
990
990
  {
991
- className: cn("w-full border-none shadow-none", postCardClassName),
991
+ className: cn(
992
+ "w-full border-none shadow-none pt-0 pb-6 md:pt-6 md:pb-6",
993
+ postCardClassName
994
+ ),
992
995
  children: /* @__PURE__ */ jsx(CardContent, { className: "p-0", children: /* @__PURE__ */ jsxs(
993
996
  "div",
994
997
  {
@@ -1003,9 +1006,9 @@ function BlogHorizontalTimelineComponent({
1003
1006
  ] }),
1004
1007
  /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col items-start gap-4 md:h-full md:justify-between md:gap-6", children: [
1005
1008
  postDescription && /* @__PURE__ */ jsx("p", { className: "text-base leading-relaxed font-normal tracking-tight text-muted-foreground md:text-xl line-clamp-3", children: postDescription }),
1006
- readText && /* @__PURE__ */ jsxs(Pressable, { href: postHref, asButton: true, variant: "link", children: [
1009
+ readText && /* @__PURE__ */ jsxs(Pressable, { href: postHref, asButton: true, variant: "ghost", children: [
1007
1010
  readText,
1008
- /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right", size: 20 })
1011
+ /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-up-right", size: 20 })
1009
1012
  ] })
1010
1013
  ] })
1011
1014
  ]
@@ -1046,7 +1049,7 @@ function BlogHorizontalTimelineComponent({
1046
1049
  children: heading
1047
1050
  }
1048
1051
  ) : /* @__PURE__ */ jsx("div", { className: cn("mb-12", headingClassName), children: heading })),
1049
- /* @__PURE__ */ jsx("div", { className: cn("flex flex-col", postsClassName), children: renderPosts })
1052
+ /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-0 md:gap-20", postsClassName), children: renderPosts })
1050
1053
  ] })
1051
1054
  }
1052
1055
  );