@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.
- package/dist/about-startup-team.cjs +2 -2
- package/dist/about-startup-team.js +2 -2
- package/dist/article-breadcrumb-social.cjs +434 -215
- package/dist/article-breadcrumb-social.d.cts +19 -1
- package/dist/article-breadcrumb-social.d.ts +19 -1
- package/dist/article-breadcrumb-social.js +434 -214
- package/dist/article-chapters-author.cjs +422 -204
- package/dist/article-chapters-author.d.cts +19 -1
- package/dist/article-chapters-author.d.ts +19 -1
- package/dist/article-chapters-author.js +422 -203
- package/dist/article-compact-toc.cjs +429 -73
- package/dist/article-compact-toc.d.cts +19 -1
- package/dist/article-compact-toc.d.ts +19 -1
- package/dist/article-compact-toc.js +430 -73
- package/dist/article-hero-prose.cjs +394 -347
- package/dist/article-hero-prose.d.cts +19 -1
- package/dist/article-hero-prose.d.ts +19 -1
- package/dist/article-hero-prose.js +396 -348
- package/dist/article-sidebar-sticky.cjs +398 -152
- package/dist/article-sidebar-sticky.d.cts +19 -1
- package/dist/article-sidebar-sticky.d.ts +19 -1
- package/dist/article-sidebar-sticky.js +400 -153
- package/dist/article-split-animated.cjs +422 -35
- package/dist/article-split-animated.d.cts +19 -1
- package/dist/article-split-animated.d.ts +19 -1
- package/dist/article-split-animated.js +423 -35
- package/dist/article-toc-sidebar.cjs +417 -356
- package/dist/article-toc-sidebar.d.cts +19 -1
- package/dist/article-toc-sidebar.d.ts +19 -1
- package/dist/article-toc-sidebar.js +417 -355
- package/dist/blog-cards-read-time.cjs +66 -27
- package/dist/blog-cards-read-time.js +66 -27
- package/dist/blog-cards-tagline-cta.cjs +64 -14
- package/dist/blog-cards-tagline-cta.js +64 -14
- package/dist/blog-carousel-apple.cjs +1255 -0
- package/dist/blog-carousel-apple.d.cts +113 -0
- package/dist/blog-carousel-apple.d.ts +113 -0
- package/dist/blog-carousel-apple.js +1234 -0
- package/dist/blog-category-overlay.cjs +77 -15
- package/dist/blog-category-overlay.js +77 -15
- package/dist/blog-featured-popular.cjs +72 -14
- package/dist/blog-featured-popular.js +72 -14
- package/dist/blog-filtered-results.cjs +122 -39
- package/dist/blog-filtered-results.js +122 -39
- package/dist/blog-grid-author-cards.cjs +40 -6
- package/dist/blog-grid-author-cards.js +40 -6
- package/dist/blog-grid-nine-posts.cjs +40 -6
- package/dist/blog-grid-nine-posts.js +40 -6
- package/dist/blog-horizontal-cards.cjs +34 -6
- package/dist/blog-horizontal-cards.js +34 -6
- package/dist/blog-horizontal-timeline.cjs +41 -12
- package/dist/blog-horizontal-timeline.js +41 -12
- package/dist/blog-masonry-featured.cjs +96 -52
- package/dist/blog-masonry-featured.js +96 -52
- package/dist/blog-related-articles.cjs +47 -9
- package/dist/blog-related-articles.js +47 -9
- package/dist/blog-tech-insights.cjs +78 -14
- package/dist/blog-tech-insights.js +78 -14
- package/dist/registry.cjs +1036 -687
- package/dist/registry.js +1036 -687
- package/package.json +1 -1
|
@@ -1032,28 +1032,27 @@ function BlogCardsReadTime({
|
|
|
1032
1032
|
postCardClassName,
|
|
1033
1033
|
viewAllClassName,
|
|
1034
1034
|
optixFlowConfig,
|
|
1035
|
-
background
|
|
1036
|
-
spacing
|
|
1035
|
+
background,
|
|
1036
|
+
spacing,
|
|
1037
1037
|
pattern,
|
|
1038
1038
|
patternOpacity
|
|
1039
1039
|
}) {
|
|
1040
1040
|
const renderedViewAllAction = React__namespace.useMemo(() => {
|
|
1041
1041
|
if (viewAllSlot) return viewAllSlot;
|
|
1042
1042
|
if (!viewAllAction) return null;
|
|
1043
|
-
const {
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
);
|
|
1043
|
+
const {
|
|
1044
|
+
label,
|
|
1045
|
+
icon,
|
|
1046
|
+
iconAfter,
|
|
1047
|
+
children,
|
|
1048
|
+
className: actionClassName,
|
|
1049
|
+
...pressableProps
|
|
1050
|
+
} = viewAllAction;
|
|
1051
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Pressable, { asButton: true, className: actionClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1052
|
+
icon,
|
|
1053
|
+
label,
|
|
1054
|
+
iconAfter
|
|
1055
|
+
] }) });
|
|
1057
1056
|
}, [viewAllSlot, viewAllAction]);
|
|
1058
1057
|
const renderedPosts = React__namespace.useMemo(() => {
|
|
1059
1058
|
if (postsSlot) return postsSlot;
|
|
@@ -1082,7 +1081,13 @@ function BlogCardsReadTime({
|
|
|
1082
1081
|
/* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "my-5" }),
|
|
1083
1082
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-4", children: [
|
|
1084
1083
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
1085
|
-
/* @__PURE__ */ jsxRuntime.jsx(Avatar, { className: "size-9 rounded-full ring-1 ring-input", children: post.authorAvatar && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1084
|
+
/* @__PURE__ */ jsxRuntime.jsx(Avatar, { className: "size-9 rounded-full ring-1 ring-input", children: post.authorAvatar && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1085
|
+
AvatarImage,
|
|
1086
|
+
{
|
|
1087
|
+
src: post.authorAvatar,
|
|
1088
|
+
alt: typeof post.author === "string" ? post.author : "Author"
|
|
1089
|
+
}
|
|
1090
|
+
) }),
|
|
1086
1091
|
post.author && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium", children: post.author })
|
|
1087
1092
|
] }),
|
|
1088
1093
|
post.readTime && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: "h-fit", children: post.readTime })
|
|
@@ -1103,16 +1108,50 @@ function BlogCardsReadTime({
|
|
|
1103
1108
|
pattern,
|
|
1104
1109
|
patternOpacity,
|
|
1105
1110
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
1106
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1111
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1112
|
+
"div",
|
|
1113
|
+
{
|
|
1114
|
+
className: cn(
|
|
1115
|
+
"mx-auto flex max-w-3xl flex-col items-center gap-4 text-center",
|
|
1116
|
+
headerClassName
|
|
1117
|
+
),
|
|
1118
|
+
children: [
|
|
1119
|
+
badge && /* @__PURE__ */ jsxRuntime.jsx("div", { className: badgeClassName, children: typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsxs(Badge, { variant: "outline", className: "gap-1 py-1", children: [
|
|
1120
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1121
|
+
DynamicIcon,
|
|
1122
|
+
{
|
|
1123
|
+
name: "lucide/file-text",
|
|
1124
|
+
size: 16,
|
|
1125
|
+
className: "h-full w-4"
|
|
1126
|
+
}
|
|
1127
|
+
),
|
|
1128
|
+
" ",
|
|
1129
|
+
badge
|
|
1130
|
+
] }) : badge }),
|
|
1131
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1132
|
+
"h1",
|
|
1133
|
+
{
|
|
1134
|
+
className: cn(
|
|
1135
|
+
"text-4xl font-semibold text-balance",
|
|
1136
|
+
headingClassName
|
|
1137
|
+
),
|
|
1138
|
+
children: heading
|
|
1139
|
+
}
|
|
1140
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
1141
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
|
|
1142
|
+
]
|
|
1143
|
+
}
|
|
1144
|
+
),
|
|
1145
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1146
|
+
"div",
|
|
1147
|
+
{
|
|
1148
|
+
className: cn(
|
|
1149
|
+
"mt-20 grid gap-4 md:grid-cols-2 lg:grid-cols-3",
|
|
1150
|
+
postsClassName
|
|
1151
|
+
),
|
|
1152
|
+
children: renderedPosts
|
|
1153
|
+
}
|
|
1154
|
+
),
|
|
1116
1155
|
(viewAllSlot || viewAllAction) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-10 flex justify-center", viewAllClassName), children: renderedViewAllAction })
|
|
1117
1156
|
] })
|
|
1118
1157
|
}
|
|
@@ -1009,28 +1009,27 @@ function BlogCardsReadTime({
|
|
|
1009
1009
|
postCardClassName,
|
|
1010
1010
|
viewAllClassName,
|
|
1011
1011
|
optixFlowConfig,
|
|
1012
|
-
background
|
|
1013
|
-
spacing
|
|
1012
|
+
background,
|
|
1013
|
+
spacing,
|
|
1014
1014
|
pattern,
|
|
1015
1015
|
patternOpacity
|
|
1016
1016
|
}) {
|
|
1017
1017
|
const renderedViewAllAction = React.useMemo(() => {
|
|
1018
1018
|
if (viewAllSlot) return viewAllSlot;
|
|
1019
1019
|
if (!viewAllAction) return null;
|
|
1020
|
-
const {
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
);
|
|
1020
|
+
const {
|
|
1021
|
+
label,
|
|
1022
|
+
icon,
|
|
1023
|
+
iconAfter,
|
|
1024
|
+
children,
|
|
1025
|
+
className: actionClassName,
|
|
1026
|
+
...pressableProps
|
|
1027
|
+
} = viewAllAction;
|
|
1028
|
+
return /* @__PURE__ */ jsx(Pressable, { asButton: true, className: actionClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1029
|
+
icon,
|
|
1030
|
+
label,
|
|
1031
|
+
iconAfter
|
|
1032
|
+
] }) });
|
|
1034
1033
|
}, [viewAllSlot, viewAllAction]);
|
|
1035
1034
|
const renderedPosts = React.useMemo(() => {
|
|
1036
1035
|
if (postsSlot) return postsSlot;
|
|
@@ -1059,7 +1058,13 @@ function BlogCardsReadTime({
|
|
|
1059
1058
|
/* @__PURE__ */ jsx(Separator, { className: "my-5" }),
|
|
1060
1059
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-4", children: [
|
|
1061
1060
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
1062
|
-
/* @__PURE__ */ jsx(Avatar, { className: "size-9 rounded-full ring-1 ring-input", children: post.authorAvatar && /* @__PURE__ */ jsx(
|
|
1061
|
+
/* @__PURE__ */ jsx(Avatar, { className: "size-9 rounded-full ring-1 ring-input", children: post.authorAvatar && /* @__PURE__ */ jsx(
|
|
1062
|
+
AvatarImage,
|
|
1063
|
+
{
|
|
1064
|
+
src: post.authorAvatar,
|
|
1065
|
+
alt: typeof post.author === "string" ? post.author : "Author"
|
|
1066
|
+
}
|
|
1067
|
+
) }),
|
|
1063
1068
|
post.author && /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: post.author })
|
|
1064
1069
|
] }),
|
|
1065
1070
|
post.readTime && /* @__PURE__ */ jsx(Badge, { variant: "secondary", className: "h-fit", children: post.readTime })
|
|
@@ -1080,16 +1085,50 @@ function BlogCardsReadTime({
|
|
|
1080
1085
|
pattern,
|
|
1081
1086
|
patternOpacity,
|
|
1082
1087
|
children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
|
|
1083
|
-
/* @__PURE__ */ jsxs(
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1088
|
+
/* @__PURE__ */ jsxs(
|
|
1089
|
+
"div",
|
|
1090
|
+
{
|
|
1091
|
+
className: cn(
|
|
1092
|
+
"mx-auto flex max-w-3xl flex-col items-center gap-4 text-center",
|
|
1093
|
+
headerClassName
|
|
1094
|
+
),
|
|
1095
|
+
children: [
|
|
1096
|
+
badge && /* @__PURE__ */ jsx("div", { className: badgeClassName, children: typeof badge === "string" ? /* @__PURE__ */ jsxs(Badge, { variant: "outline", className: "gap-1 py-1", children: [
|
|
1097
|
+
/* @__PURE__ */ jsx(
|
|
1098
|
+
DynamicIcon,
|
|
1099
|
+
{
|
|
1100
|
+
name: "lucide/file-text",
|
|
1101
|
+
size: 16,
|
|
1102
|
+
className: "h-full w-4"
|
|
1103
|
+
}
|
|
1104
|
+
),
|
|
1105
|
+
" ",
|
|
1106
|
+
badge
|
|
1107
|
+
] }) : badge }),
|
|
1108
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
1109
|
+
"h1",
|
|
1110
|
+
{
|
|
1111
|
+
className: cn(
|
|
1112
|
+
"text-4xl font-semibold text-balance",
|
|
1113
|
+
headingClassName
|
|
1114
|
+
),
|
|
1115
|
+
children: heading
|
|
1116
|
+
}
|
|
1117
|
+
) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
|
|
1118
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
|
|
1119
|
+
]
|
|
1120
|
+
}
|
|
1121
|
+
),
|
|
1122
|
+
/* @__PURE__ */ jsx(
|
|
1123
|
+
"div",
|
|
1124
|
+
{
|
|
1125
|
+
className: cn(
|
|
1126
|
+
"mt-20 grid gap-4 md:grid-cols-2 lg:grid-cols-3",
|
|
1127
|
+
postsClassName
|
|
1128
|
+
),
|
|
1129
|
+
children: renderedPosts
|
|
1130
|
+
}
|
|
1131
|
+
),
|
|
1093
1132
|
(viewAllSlot || viewAllAction) && /* @__PURE__ */ jsx("div", { className: cn("mt-10 flex justify-center", viewAllClassName), children: renderedViewAllAction })
|
|
1094
1133
|
] })
|
|
1095
1134
|
}
|
|
@@ -1026,19 +1026,30 @@ function BlogCardsTaglineCta({
|
|
|
1026
1026
|
postsClassName,
|
|
1027
1027
|
postCardClassName,
|
|
1028
1028
|
optixFlowConfig,
|
|
1029
|
-
background
|
|
1030
|
-
spacing
|
|
1029
|
+
background,
|
|
1030
|
+
spacing,
|
|
1031
1031
|
pattern,
|
|
1032
1032
|
patternOpacity
|
|
1033
1033
|
}) {
|
|
1034
1034
|
const ctaActionContent = React__namespace.useMemo(() => {
|
|
1035
1035
|
if (ctaSlot) return ctaSlot;
|
|
1036
1036
|
if (!ctaAction) return null;
|
|
1037
|
-
const {
|
|
1037
|
+
const {
|
|
1038
|
+
label,
|
|
1039
|
+
icon,
|
|
1040
|
+
iconAfter,
|
|
1041
|
+
children,
|
|
1042
|
+
className: actionClassName,
|
|
1043
|
+
...pressableProps
|
|
1044
|
+
} = ctaAction;
|
|
1038
1045
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1039
1046
|
Pressable,
|
|
1040
1047
|
{
|
|
1041
|
-
className: cn(
|
|
1048
|
+
className: cn(
|
|
1049
|
+
"w-full sm:w-auto inline-flex items-center",
|
|
1050
|
+
actionClassName,
|
|
1051
|
+
ctaClassName
|
|
1052
|
+
),
|
|
1042
1053
|
...pressableProps,
|
|
1043
1054
|
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1044
1055
|
icon,
|
|
@@ -1059,7 +1070,10 @@ function BlogCardsTaglineCta({
|
|
|
1059
1070
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1060
1071
|
Card,
|
|
1061
1072
|
{
|
|
1062
|
-
className: cn(
|
|
1073
|
+
className: cn(
|
|
1074
|
+
"grid grid-rows-[auto_auto_1fr_auto] overflow-hidden pt-0",
|
|
1075
|
+
postCardClassName
|
|
1076
|
+
),
|
|
1063
1077
|
children: [
|
|
1064
1078
|
post.image && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-video w-full", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1065
1079
|
Pressable,
|
|
@@ -1111,15 +1125,51 @@ function BlogCardsTaglineCta({
|
|
|
1111
1125
|
className: cn(className),
|
|
1112
1126
|
pattern,
|
|
1113
1127
|
patternOpacity,
|
|
1114
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1128
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1129
|
+
"div",
|
|
1130
|
+
{
|
|
1131
|
+
className: cn(
|
|
1132
|
+
"container mx-auto flex flex-col items-center gap-16 lg:px-16",
|
|
1133
|
+
containerClassName
|
|
1134
|
+
),
|
|
1135
|
+
children: [
|
|
1136
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("text-center", headerClassName), children: [
|
|
1137
|
+
badge && (typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: cn("mb-6", badgeClassName), children: badge }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-6", badgeClassName), children: badge })),
|
|
1138
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1139
|
+
"h2",
|
|
1140
|
+
{
|
|
1141
|
+
className: cn(
|
|
1142
|
+
"mb-3 text-3xl font-semibold text-pretty md:mb-4 md:text-4xl lg:mb-6 lg:max-w-3xl lg:text-5xl",
|
|
1143
|
+
headingClassName
|
|
1144
|
+
),
|
|
1145
|
+
children: heading
|
|
1146
|
+
}
|
|
1147
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
1148
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1149
|
+
"p",
|
|
1150
|
+
{
|
|
1151
|
+
className: cn(
|
|
1152
|
+
"mb-8 text-muted-foreground md:text-base lg:max-w-2xl lg:text-lg",
|
|
1153
|
+
descriptionClassName
|
|
1154
|
+
),
|
|
1155
|
+
children: description
|
|
1156
|
+
}
|
|
1157
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
1158
|
+
ctaActionContent
|
|
1159
|
+
] }),
|
|
1160
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1161
|
+
"div",
|
|
1162
|
+
{
|
|
1163
|
+
className: cn(
|
|
1164
|
+
"grid gap-6 md:grid-cols-2 lg:grid-cols-3 lg:gap-8",
|
|
1165
|
+
postsClassName
|
|
1166
|
+
),
|
|
1167
|
+
children: postsContent
|
|
1168
|
+
}
|
|
1169
|
+
)
|
|
1170
|
+
]
|
|
1171
|
+
}
|
|
1172
|
+
)
|
|
1123
1173
|
}
|
|
1124
1174
|
);
|
|
1125
1175
|
}
|
|
@@ -1005,19 +1005,30 @@ function BlogCardsTaglineCta({
|
|
|
1005
1005
|
postsClassName,
|
|
1006
1006
|
postCardClassName,
|
|
1007
1007
|
optixFlowConfig,
|
|
1008
|
-
background
|
|
1009
|
-
spacing
|
|
1008
|
+
background,
|
|
1009
|
+
spacing,
|
|
1010
1010
|
pattern,
|
|
1011
1011
|
patternOpacity
|
|
1012
1012
|
}) {
|
|
1013
1013
|
const ctaActionContent = React.useMemo(() => {
|
|
1014
1014
|
if (ctaSlot) return ctaSlot;
|
|
1015
1015
|
if (!ctaAction) return null;
|
|
1016
|
-
const {
|
|
1016
|
+
const {
|
|
1017
|
+
label,
|
|
1018
|
+
icon,
|
|
1019
|
+
iconAfter,
|
|
1020
|
+
children,
|
|
1021
|
+
className: actionClassName,
|
|
1022
|
+
...pressableProps
|
|
1023
|
+
} = ctaAction;
|
|
1017
1024
|
return /* @__PURE__ */ jsx(
|
|
1018
1025
|
Pressable,
|
|
1019
1026
|
{
|
|
1020
|
-
className: cn(
|
|
1027
|
+
className: cn(
|
|
1028
|
+
"w-full sm:w-auto inline-flex items-center",
|
|
1029
|
+
actionClassName,
|
|
1030
|
+
ctaClassName
|
|
1031
|
+
),
|
|
1021
1032
|
...pressableProps,
|
|
1022
1033
|
children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1023
1034
|
icon,
|
|
@@ -1038,7 +1049,10 @@ function BlogCardsTaglineCta({
|
|
|
1038
1049
|
return /* @__PURE__ */ jsxs(
|
|
1039
1050
|
Card,
|
|
1040
1051
|
{
|
|
1041
|
-
className: cn(
|
|
1052
|
+
className: cn(
|
|
1053
|
+
"grid grid-rows-[auto_auto_1fr_auto] overflow-hidden pt-0",
|
|
1054
|
+
postCardClassName
|
|
1055
|
+
),
|
|
1042
1056
|
children: [
|
|
1043
1057
|
post.image && /* @__PURE__ */ jsx("div", { className: "aspect-video w-full", children: /* @__PURE__ */ jsx(
|
|
1044
1058
|
Pressable,
|
|
@@ -1090,15 +1104,51 @@ function BlogCardsTaglineCta({
|
|
|
1090
1104
|
className: cn(className),
|
|
1091
1105
|
pattern,
|
|
1092
1106
|
patternOpacity,
|
|
1093
|
-
children: /* @__PURE__ */ jsxs(
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1107
|
+
children: /* @__PURE__ */ jsxs(
|
|
1108
|
+
"div",
|
|
1109
|
+
{
|
|
1110
|
+
className: cn(
|
|
1111
|
+
"container mx-auto flex flex-col items-center gap-16 lg:px-16",
|
|
1112
|
+
containerClassName
|
|
1113
|
+
),
|
|
1114
|
+
children: [
|
|
1115
|
+
/* @__PURE__ */ jsxs("div", { className: cn("text-center", headerClassName), children: [
|
|
1116
|
+
badge && (typeof badge === "string" ? /* @__PURE__ */ jsx(Badge, { variant: "secondary", className: cn("mb-6", badgeClassName), children: badge }) : /* @__PURE__ */ jsx("div", { className: cn("mb-6", badgeClassName), children: badge })),
|
|
1117
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
1118
|
+
"h2",
|
|
1119
|
+
{
|
|
1120
|
+
className: cn(
|
|
1121
|
+
"mb-3 text-3xl font-semibold text-pretty md:mb-4 md:text-4xl lg:mb-6 lg:max-w-3xl lg:text-5xl",
|
|
1122
|
+
headingClassName
|
|
1123
|
+
),
|
|
1124
|
+
children: heading
|
|
1125
|
+
}
|
|
1126
|
+
) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
|
|
1127
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
1128
|
+
"p",
|
|
1129
|
+
{
|
|
1130
|
+
className: cn(
|
|
1131
|
+
"mb-8 text-muted-foreground md:text-base lg:max-w-2xl lg:text-lg",
|
|
1132
|
+
descriptionClassName
|
|
1133
|
+
),
|
|
1134
|
+
children: description
|
|
1135
|
+
}
|
|
1136
|
+
) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
|
|
1137
|
+
ctaActionContent
|
|
1138
|
+
] }),
|
|
1139
|
+
/* @__PURE__ */ jsx(
|
|
1140
|
+
"div",
|
|
1141
|
+
{
|
|
1142
|
+
className: cn(
|
|
1143
|
+
"grid gap-6 md:grid-cols-2 lg:grid-cols-3 lg:gap-8",
|
|
1144
|
+
postsClassName
|
|
1145
|
+
),
|
|
1146
|
+
children: postsContent
|
|
1147
|
+
}
|
|
1148
|
+
)
|
|
1149
|
+
]
|
|
1150
|
+
}
|
|
1151
|
+
)
|
|
1102
1152
|
}
|
|
1103
1153
|
);
|
|
1104
1154
|
}
|