@opensite/ui 0.8.4 → 0.8.6
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/article-breadcrumb-social.cjs +57 -73
- package/dist/article-breadcrumb-social.d.cts +2 -24
- package/dist/article-breadcrumb-social.d.ts +2 -24
- package/dist/article-breadcrumb-social.js +57 -73
- package/dist/article-compact-toc.cjs +1 -1
- package/dist/article-compact-toc.js +1 -1
- package/dist/article-sidebar-sticky.cjs +73 -26
- package/dist/article-sidebar-sticky.js +73 -26
- package/dist/blog-horizontal-timeline.cjs +7 -4
- package/dist/blog-horizontal-timeline.js +7 -4
- package/dist/faq-badge-support.cjs +18 -5
- package/dist/faq-badge-support.js +18 -5
- package/dist/faq-bordered-badge.cjs +23 -7
- package/dist/faq-bordered-badge.js +23 -7
- package/dist/faq-card-categories.cjs +20 -4
- package/dist/faq-card-categories.js +20 -4
- package/dist/faq-categorized-sections.cjs +19 -4
- package/dist/faq-categorized-sections.js +19 -4
- package/dist/faq-centered-accordion.cjs +18 -5
- package/dist/faq-centered-accordion.js +18 -5
- package/dist/faq-gradient-categories.cjs +19 -4
- package/dist/faq-gradient-categories.js +19 -4
- package/dist/faq-icon-benefits.cjs +11 -2
- package/dist/faq-icon-benefits.js +11 -2
- package/dist/faq-muted-cards.cjs +19 -6
- package/dist/faq-muted-cards.js +19 -6
- package/dist/faq-numbered-grid.cjs +11 -3
- package/dist/faq-numbered-grid.js +11 -3
- package/dist/faq-numbered-list.cjs +11 -3
- package/dist/faq-numbered-list.js +11 -3
- package/dist/faq-profile-sidebar.cjs +57 -20
- package/dist/faq-profile-sidebar.js +57 -20
- package/dist/faq-rounded-cards.cjs +26 -19
- package/dist/faq-rounded-cards.js +26 -19
- package/dist/faq-sidebar-navigation.cjs +48 -28
- package/dist/faq-sidebar-navigation.js +48 -28
- package/dist/faq-simple-accordion.cjs +17 -4
- package/dist/faq-simple-accordion.js +17 -4
- package/dist/faq-split-help.cjs +25 -6
- package/dist/faq-split-help.js +25 -6
- package/dist/faq-split-hero.cjs +604 -0
- package/dist/faq-split-hero.d.cts +116 -0
- package/dist/faq-split-hero.d.ts +116 -0
- package/dist/faq-split-hero.js +582 -0
- package/dist/faq-static-list.cjs +9 -2
- package/dist/faq-static-list.js +9 -2
- package/dist/feature-accordion-image.cjs +8 -2
- package/dist/feature-accordion-image.js +8 -2
- package/dist/feature-badge-grid-six.cjs +1 -1
- package/dist/feature-badge-grid-six.js +1 -1
- package/dist/feature-card-grid-linked.cjs +92 -22
- package/dist/feature-card-grid-linked.js +92 -22
- package/dist/feature-carousel-progress.cjs +1 -1
- package/dist/feature-carousel-progress.js +1 -1
- package/dist/feature-checklist-image.cjs +88 -15
- package/dist/feature-checklist-image.js +88 -15
- package/dist/feature-checklist-three-column.cjs +1 -1
- package/dist/feature-checklist-three-column.js +1 -1
- package/dist/feature-icon-grid-accent.cjs +50 -8
- package/dist/feature-icon-grid-accent.js +50 -8
- package/dist/feature-icon-grid-bordered.cjs +84 -14
- package/dist/feature-icon-grid-bordered.js +84 -14
- package/dist/feature-icon-tabs-content.cjs +217 -84
- package/dist/feature-icon-tabs-content.js +217 -84
- package/dist/feature-image-overlay-badge.cjs +106 -33
- package/dist/feature-image-overlay-badge.js +106 -33
- package/dist/feature-numbered-cards.cjs +154 -35
- package/dist/feature-numbered-cards.js +154 -35
- package/dist/feature-showcase.cjs +66 -71
- package/dist/feature-showcase.d.cts +1 -5
- package/dist/feature-showcase.d.ts +1 -5
- package/dist/feature-showcase.js +67 -72
- package/dist/feature-split-image-reverse.cjs +84 -15
- package/dist/feature-split-image-reverse.js +84 -15
- package/dist/feature-split-image.cjs +87 -15
- package/dist/feature-split-image.js +87 -15
- package/dist/feature-stats-highlight.cjs +50 -13
- package/dist/feature-stats-highlight.js +50 -13
- package/dist/feature-tabbed-content-image.cjs +198 -72
- package/dist/feature-tabbed-content-image.js +198 -72
- package/dist/feature-three-column-values.cjs +67 -14
- package/dist/feature-three-column-values.js +67 -14
- package/dist/feature-utility-cards-grid.cjs +83 -36
- package/dist/feature-utility-cards-grid.js +83 -36
- package/dist/navbar-animated-preview.cjs +8 -2
- package/dist/navbar-animated-preview.js +8 -2
- package/dist/navbar-centered-menu.cjs +8 -2
- package/dist/navbar-centered-menu.js +8 -2
- package/dist/navbar-dark-icons.cjs +8 -2
- package/dist/navbar-dark-icons.js +8 -2
- package/dist/navbar-dropdown-menu.cjs +8 -2
- package/dist/navbar-dropdown-menu.js +8 -2
- package/dist/navbar-education-platform.cjs +8 -2
- package/dist/navbar-education-platform.js +8 -2
- package/dist/navbar-enterprise-mega.cjs +8 -2
- package/dist/navbar-enterprise-mega.js +8 -2
- package/dist/navbar-feature-grid.cjs +8 -2
- package/dist/navbar-feature-grid.js +8 -2
- package/dist/navbar-multi-column-groups.cjs +8 -2
- package/dist/navbar-multi-column-groups.js +8 -2
- package/dist/navbar-platform-resources.cjs +8 -2
- package/dist/navbar-platform-resources.js +8 -2
- package/dist/navbar-sidebar-mobile.cjs +8 -2
- package/dist/navbar-sidebar-mobile.js +8 -2
- package/dist/registry.cjs +1873 -680
- package/dist/registry.js +1873 -680
- package/package.json +1 -1
|
@@ -1020,7 +1020,7 @@ function FeatureIconTabsContent({
|
|
|
1020
1020
|
tabContentClassName,
|
|
1021
1021
|
optixFlowConfig,
|
|
1022
1022
|
background,
|
|
1023
|
-
spacing,
|
|
1023
|
+
spacing = "py-6 md:py-32",
|
|
1024
1024
|
pattern,
|
|
1025
1025
|
patternOpacity,
|
|
1026
1026
|
patternClassName
|
|
@@ -1030,12 +1030,28 @@ function FeatureIconTabsContent({
|
|
|
1030
1030
|
if (tab.iconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: tab.iconName, size: 16 });
|
|
1031
1031
|
return null;
|
|
1032
1032
|
}, []);
|
|
1033
|
-
const renderTabContentActions = useCallback(
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1033
|
+
const renderTabContentActions = useCallback(
|
|
1034
|
+
(content) => {
|
|
1035
|
+
if (content.actionsSlot) return content.actionsSlot;
|
|
1036
|
+
if (!content.actions || content.actions.length === 0) return null;
|
|
1037
|
+
return content.actions.map((action, index) => {
|
|
1038
|
+
if (action.children) {
|
|
1039
|
+
return /* @__PURE__ */ jsx(
|
|
1040
|
+
Pressable,
|
|
1041
|
+
{
|
|
1042
|
+
href: action.href,
|
|
1043
|
+
onClick: action.onClick,
|
|
1044
|
+
variant: action.variant,
|
|
1045
|
+
size: action.size,
|
|
1046
|
+
className: cn("mt-2.5 w-fit gap-2", action.className),
|
|
1047
|
+
"aria-label": action["aria-label"],
|
|
1048
|
+
asButton: true,
|
|
1049
|
+
children: action.children
|
|
1050
|
+
},
|
|
1051
|
+
index
|
|
1052
|
+
);
|
|
1053
|
+
}
|
|
1054
|
+
return /* @__PURE__ */ jsxs(
|
|
1039
1055
|
Pressable,
|
|
1040
1056
|
{
|
|
1041
1057
|
href: action.href,
|
|
@@ -1045,90 +1061,174 @@ function FeatureIconTabsContent({
|
|
|
1045
1061
|
className: cn("mt-2.5 w-fit gap-2", action.className),
|
|
1046
1062
|
"aria-label": action["aria-label"],
|
|
1047
1063
|
asButton: true,
|
|
1048
|
-
children:
|
|
1064
|
+
children: [
|
|
1065
|
+
action.icon,
|
|
1066
|
+
action.label,
|
|
1067
|
+
action.iconAfter
|
|
1068
|
+
]
|
|
1049
1069
|
},
|
|
1050
1070
|
index
|
|
1051
1071
|
);
|
|
1072
|
+
});
|
|
1073
|
+
},
|
|
1074
|
+
[]
|
|
1075
|
+
);
|
|
1076
|
+
const renderTabContentImage = useCallback(
|
|
1077
|
+
(content) => {
|
|
1078
|
+
if (content.imageSlot) return content.imageSlot;
|
|
1079
|
+
if (content.imageSrc) {
|
|
1080
|
+
return /* @__PURE__ */ jsx(
|
|
1081
|
+
Img,
|
|
1082
|
+
{
|
|
1083
|
+
src: content.imageSrc,
|
|
1084
|
+
alt: content.imageAlt || "Tab content image",
|
|
1085
|
+
className: cn(
|
|
1086
|
+
"h-full w-full rounded-xl object-cover",
|
|
1087
|
+
content.imageClassName
|
|
1088
|
+
),
|
|
1089
|
+
loading: "lazy",
|
|
1090
|
+
optixFlowConfig
|
|
1091
|
+
}
|
|
1092
|
+
);
|
|
1052
1093
|
}
|
|
1053
|
-
return
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
onClick: action.onClick,
|
|
1058
|
-
variant: action.variant,
|
|
1059
|
-
size: action.size,
|
|
1060
|
-
className: cn("mt-2.5 w-fit gap-2", action.className),
|
|
1061
|
-
"aria-label": action["aria-label"],
|
|
1062
|
-
asButton: true,
|
|
1063
|
-
children: [
|
|
1064
|
-
action.icon,
|
|
1065
|
-
action.label,
|
|
1066
|
-
action.iconAfter
|
|
1067
|
-
]
|
|
1068
|
-
},
|
|
1069
|
-
index
|
|
1070
|
-
);
|
|
1071
|
-
});
|
|
1072
|
-
}, []);
|
|
1073
|
-
const renderTabContentImage = useCallback((content) => {
|
|
1074
|
-
if (content.imageSlot) return content.imageSlot;
|
|
1075
|
-
if (content.imageSrc) {
|
|
1076
|
-
return /* @__PURE__ */ jsx(
|
|
1077
|
-
Img,
|
|
1078
|
-
{
|
|
1079
|
-
src: content.imageSrc,
|
|
1080
|
-
alt: content.imageAlt || "Tab content image",
|
|
1081
|
-
className: cn("h-full w-full rounded-xl object-cover", content.imageClassName),
|
|
1082
|
-
loading: "lazy",
|
|
1083
|
-
optixFlowConfig
|
|
1084
|
-
}
|
|
1085
|
-
);
|
|
1086
|
-
}
|
|
1087
|
-
return null;
|
|
1088
|
-
}, [optixFlowConfig]);
|
|
1094
|
+
return null;
|
|
1095
|
+
},
|
|
1096
|
+
[optixFlowConfig]
|
|
1097
|
+
);
|
|
1089
1098
|
const tabsContent = useMemo(() => {
|
|
1090
1099
|
if (tabsSlot) return tabsSlot;
|
|
1091
1100
|
if (!tabs || tabs.length === 0) return null;
|
|
1092
1101
|
const activeDefaultTab = defaultTab || tabs[0]?.value;
|
|
1093
1102
|
return /* @__PURE__ */ jsxs(Tabs, { defaultValue: activeDefaultTab, className: "mt-8", children: [
|
|
1094
|
-
/* @__PURE__ */ jsx(
|
|
1095
|
-
|
|
1103
|
+
/* @__PURE__ */ jsx("div", { className: "container overflow-x-auto px-4 pb-2 md:px-6", children: /* @__PURE__ */ jsx(
|
|
1104
|
+
TabsList,
|
|
1096
1105
|
{
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1106
|
+
className: cn(
|
|
1107
|
+
"inline-flex w-auto min-w-full items-center justify-start gap-2 bg-transparent md:justify-center md:gap-4",
|
|
1108
|
+
tabsListClassName
|
|
1109
|
+
),
|
|
1110
|
+
children: tabs.map((tab) => /* @__PURE__ */ jsxs(
|
|
1111
|
+
TabsTrigger,
|
|
1112
|
+
{
|
|
1113
|
+
value: tab.value,
|
|
1114
|
+
className: cn(
|
|
1115
|
+
"flex shrink-0 items-center gap-2 rounded-lg border border-border bg-background px-4 py-2.5 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground data-[state=active]:border-primary data-[state=active]:bg-primary data-[state=active]:text-primary-foreground",
|
|
1116
|
+
tabTriggerClassName,
|
|
1117
|
+
tab.className
|
|
1118
|
+
),
|
|
1119
|
+
children: [
|
|
1120
|
+
(tab.icon || tab.iconName) && renderTabIcon(tab),
|
|
1121
|
+
tab.label
|
|
1122
|
+
]
|
|
1123
|
+
},
|
|
1124
|
+
tab.value
|
|
1125
|
+
))
|
|
1109
1126
|
}
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1127
|
+
) }),
|
|
1128
|
+
/* @__PURE__ */ jsx(
|
|
1129
|
+
"div",
|
|
1130
|
+
{
|
|
1131
|
+
className: cn(
|
|
1132
|
+
"mx-auto mt-8 max-w-7xl rounded-2xl bg-muted/70 p-6 lg:p-16",
|
|
1133
|
+
contentWrapperClassName
|
|
1134
|
+
),
|
|
1135
|
+
children: /* @__PURE__ */ jsx("div", { className: "relative", children: tabs.map((tab) => {
|
|
1136
|
+
if (tab.contentSlot) {
|
|
1137
|
+
return /* @__PURE__ */ jsx(
|
|
1138
|
+
TabsContent,
|
|
1139
|
+
{
|
|
1140
|
+
value: tab.value,
|
|
1141
|
+
className: tabContentClassName,
|
|
1142
|
+
children: tab.contentSlot
|
|
1143
|
+
},
|
|
1144
|
+
tab.value
|
|
1145
|
+
);
|
|
1146
|
+
}
|
|
1147
|
+
const content = tab.content;
|
|
1148
|
+
if (!content) return null;
|
|
1149
|
+
return /* @__PURE__ */ jsxs(
|
|
1150
|
+
TabsContent,
|
|
1151
|
+
{
|
|
1152
|
+
value: tab.value,
|
|
1153
|
+
className: cn(
|
|
1154
|
+
"grid place-items-start gap-20 lg:grid-cols-2 lg:gap-10",
|
|
1155
|
+
tabContentClassName,
|
|
1156
|
+
content.className
|
|
1157
|
+
),
|
|
1158
|
+
children: [
|
|
1159
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-5", children: [
|
|
1160
|
+
content.badge && /* @__PURE__ */ jsx(
|
|
1161
|
+
Badge,
|
|
1162
|
+
{
|
|
1163
|
+
variant: "outline",
|
|
1164
|
+
className: cn(
|
|
1165
|
+
"w-fit bg-background",
|
|
1166
|
+
content.badgeClassName
|
|
1167
|
+
),
|
|
1168
|
+
children: content.badge
|
|
1169
|
+
}
|
|
1170
|
+
),
|
|
1171
|
+
content.title && (typeof content.title === "string" ? /* @__PURE__ */ jsx(
|
|
1172
|
+
"h3",
|
|
1173
|
+
{
|
|
1174
|
+
className: cn(
|
|
1175
|
+
"text-3xl font-semibold lg:text-5xl",
|
|
1176
|
+
content.titleClassName
|
|
1177
|
+
),
|
|
1178
|
+
children: content.title
|
|
1179
|
+
}
|
|
1180
|
+
) : /* @__PURE__ */ jsx(
|
|
1181
|
+
"div",
|
|
1182
|
+
{
|
|
1183
|
+
className: cn(
|
|
1184
|
+
"text-3xl font-semibold lg:text-5xl",
|
|
1185
|
+
content.titleClassName
|
|
1186
|
+
),
|
|
1187
|
+
children: content.title
|
|
1188
|
+
}
|
|
1189
|
+
)),
|
|
1190
|
+
content.description && (typeof content.description === "string" ? /* @__PURE__ */ jsx(
|
|
1191
|
+
"p",
|
|
1192
|
+
{
|
|
1193
|
+
className: cn(
|
|
1194
|
+
"text-muted-foreground lg:text-lg",
|
|
1195
|
+
content.descriptionClassName
|
|
1196
|
+
),
|
|
1197
|
+
children: content.description
|
|
1198
|
+
}
|
|
1199
|
+
) : /* @__PURE__ */ jsx(
|
|
1200
|
+
"div",
|
|
1201
|
+
{
|
|
1202
|
+
className: cn(
|
|
1203
|
+
"text-muted-foreground lg:text-lg",
|
|
1204
|
+
content.descriptionClassName
|
|
1205
|
+
),
|
|
1206
|
+
children: content.description
|
|
1207
|
+
}
|
|
1208
|
+
)),
|
|
1209
|
+
(content.actionsSlot || content.actions && content.actions.length > 0) && renderTabContentActions(content)
|
|
1210
|
+
] }),
|
|
1211
|
+
(content.imageSlot || content.imageSrc) && /* @__PURE__ */ jsx("div", { className: "relative h-[300px] w-full lg:h-[400px]", children: renderTabContentImage(content) })
|
|
1212
|
+
]
|
|
1213
|
+
},
|
|
1214
|
+
tab.value
|
|
1215
|
+
);
|
|
1216
|
+
}) })
|
|
1217
|
+
}
|
|
1218
|
+
)
|
|
1130
1219
|
] });
|
|
1131
|
-
}, [
|
|
1220
|
+
}, [
|
|
1221
|
+
tabsSlot,
|
|
1222
|
+
tabs,
|
|
1223
|
+
defaultTab,
|
|
1224
|
+
tabsListClassName,
|
|
1225
|
+
tabTriggerClassName,
|
|
1226
|
+
contentWrapperClassName,
|
|
1227
|
+
tabContentClassName,
|
|
1228
|
+
renderTabIcon,
|
|
1229
|
+
renderTabContentActions,
|
|
1230
|
+
renderTabContentImage
|
|
1231
|
+
]);
|
|
1132
1232
|
return /* @__PURE__ */ jsxs(
|
|
1133
1233
|
Section,
|
|
1134
1234
|
{
|
|
@@ -1140,11 +1240,44 @@ function FeatureIconTabsContent({
|
|
|
1140
1240
|
className,
|
|
1141
1241
|
containerClassName: cn("mx-auto", containerClassName),
|
|
1142
1242
|
children: [
|
|
1143
|
-
(badge || heading || description) && /* @__PURE__ */ jsxs(
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1243
|
+
(badge || heading || description) && /* @__PURE__ */ jsxs(
|
|
1244
|
+
"div",
|
|
1245
|
+
{
|
|
1246
|
+
className: cn(
|
|
1247
|
+
"flex flex-col items-center gap-4 text-center",
|
|
1248
|
+
headerClassName
|
|
1249
|
+
),
|
|
1250
|
+
children: [
|
|
1251
|
+
badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: badgeClassName, children: badge }),
|
|
1252
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
1253
|
+
"h1",
|
|
1254
|
+
{
|
|
1255
|
+
className: cn(
|
|
1256
|
+
"max-w-2xl text-3xl font-semibold md:text-4xl",
|
|
1257
|
+
headingClassName
|
|
1258
|
+
),
|
|
1259
|
+
children: heading
|
|
1260
|
+
}
|
|
1261
|
+
) : /* @__PURE__ */ jsx(
|
|
1262
|
+
"div",
|
|
1263
|
+
{
|
|
1264
|
+
className: cn(
|
|
1265
|
+
"max-w-2xl text-3xl font-semibold md:text-4xl",
|
|
1266
|
+
headingClassName
|
|
1267
|
+
),
|
|
1268
|
+
children: heading
|
|
1269
|
+
}
|
|
1270
|
+
)),
|
|
1271
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx(
|
|
1272
|
+
"div",
|
|
1273
|
+
{
|
|
1274
|
+
className: cn("text-muted-foreground", descriptionClassName),
|
|
1275
|
+
children: description
|
|
1276
|
+
}
|
|
1277
|
+
))
|
|
1278
|
+
]
|
|
1279
|
+
}
|
|
1280
|
+
),
|
|
1148
1281
|
tabsContent
|
|
1149
1282
|
]
|
|
1150
1283
|
}
|
|
@@ -1024,7 +1024,7 @@ function FeatureImageOverlayBadge({
|
|
|
1024
1024
|
overlayTitleClassName,
|
|
1025
1025
|
optixFlowConfig,
|
|
1026
1026
|
background,
|
|
1027
|
-
spacing,
|
|
1027
|
+
spacing = "py-6 md:py-32",
|
|
1028
1028
|
pattern,
|
|
1029
1029
|
patternOpacity,
|
|
1030
1030
|
patternClassName
|
|
@@ -1077,7 +1077,10 @@ function FeatureImageOverlayBadge({
|
|
|
1077
1077
|
{
|
|
1078
1078
|
src: imageSrc,
|
|
1079
1079
|
alt: imageAlt || "Feature illustration",
|
|
1080
|
-
className: cn(
|
|
1080
|
+
className: cn(
|
|
1081
|
+
"rounded-2xl object-cover md:aspect-video lg:aspect-auto w-full h-auto",
|
|
1082
|
+
imageClassName
|
|
1083
|
+
),
|
|
1081
1084
|
loading: "lazy",
|
|
1082
1085
|
optixFlowConfig
|
|
1083
1086
|
}
|
|
@@ -1095,41 +1098,111 @@ function FeatureImageOverlayBadge({
|
|
|
1095
1098
|
patternClassName,
|
|
1096
1099
|
className,
|
|
1097
1100
|
containerClassName,
|
|
1098
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1101
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1102
|
+
"div",
|
|
1103
|
+
{
|
|
1104
|
+
className: cn(
|
|
1105
|
+
"grid place-items-center gap-10 lg:grid-cols-2",
|
|
1106
|
+
gridClassName
|
|
1107
|
+
),
|
|
1108
|
+
children: [
|
|
1109
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-5", contentClassName), children: [
|
|
1110
|
+
badge && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", className: cn("", badgeClassName), children: badge }),
|
|
1111
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1112
|
+
"h3",
|
|
1113
|
+
{
|
|
1114
|
+
className: cn(
|
|
1115
|
+
"text-3xl font-semibold lg:text-4xl leading-snug text-balance",
|
|
1116
|
+
titleClassName
|
|
1117
|
+
),
|
|
1118
|
+
children: title
|
|
1119
|
+
}
|
|
1120
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1121
|
+
"div",
|
|
1122
|
+
{
|
|
1123
|
+
className: cn(
|
|
1124
|
+
"text-3xl font-semibold lg:text-5xl",
|
|
1125
|
+
titleClassName
|
|
1126
|
+
),
|
|
1127
|
+
children: title
|
|
1128
|
+
}
|
|
1129
|
+
)),
|
|
1130
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("lg:text-lg", descriptionClassName), children: description })),
|
|
1131
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1132
|
+
"div",
|
|
1133
|
+
{
|
|
1134
|
+
className: cn(
|
|
1135
|
+
"flex items-center gap-4 flex-wrap",
|
|
1136
|
+
actionsClassName
|
|
1137
|
+
),
|
|
1138
|
+
children: actionsContent
|
|
1139
|
+
}
|
|
1140
|
+
)
|
|
1141
|
+
] }),
|
|
1142
|
+
imageContent && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative rounded-2xl", imageWrapperClassName), children: [
|
|
1143
|
+
imageContent,
|
|
1144
|
+
(avatarSrc || avatarBadgeText || overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1145
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1146
|
+
"div",
|
|
1118
1147
|
{
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
overlayLinkText,
|
|
1124
|
-
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
|
|
1125
|
-
]
|
|
1148
|
+
className: cn(
|
|
1149
|
+
"absolute top-0 right-0 bottom-0 left-0 rounded-2xl bg-linear-to-t from-black via-black/20 to-transparent",
|
|
1150
|
+
overlayClassName
|
|
1151
|
+
)
|
|
1126
1152
|
}
|
|
1127
|
-
)
|
|
1153
|
+
),
|
|
1154
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute top-0 flex h-full w-full flex-col justify-between pt-4 pr-4 pl-4 pb-8 md:pt-7 md:bpr-7 md:pl-7 md:pb-7 rounded-2xl", children: [
|
|
1155
|
+
(avatarSrc || avatarBadgeText) && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1156
|
+
"span",
|
|
1157
|
+
{
|
|
1158
|
+
className: cn(
|
|
1159
|
+
"ml-auto flex w-fit items-center gap-2 rounded-full bg-background/30 px-4 py-2.5 text-sm font-semibold backdrop-blur-sm shadow-xl",
|
|
1160
|
+
avatarBadgeClassName
|
|
1161
|
+
),
|
|
1162
|
+
children: [
|
|
1163
|
+
avatarSrc && /* @__PURE__ */ jsxRuntime.jsx(Avatar, { className: "size-7 rounded-full", children: /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: avatarSrc, alt: "Avatar" }) }),
|
|
1164
|
+
avatarBadgeText
|
|
1165
|
+
]
|
|
1166
|
+
}
|
|
1167
|
+
),
|
|
1168
|
+
(overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-5", children: [
|
|
1169
|
+
overlayTitle && (typeof overlayTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1170
|
+
"h4",
|
|
1171
|
+
{
|
|
1172
|
+
className: cn(
|
|
1173
|
+
"text-lg font-semibold lg:text-3xl",
|
|
1174
|
+
overlayTitleClassName
|
|
1175
|
+
),
|
|
1176
|
+
children: overlayTitle
|
|
1177
|
+
}
|
|
1178
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1179
|
+
"div",
|
|
1180
|
+
{
|
|
1181
|
+
className: cn(
|
|
1182
|
+
"text-lg font-semibold lg:text-3xl",
|
|
1183
|
+
overlayTitleClassName
|
|
1184
|
+
),
|
|
1185
|
+
children: overlayTitle
|
|
1186
|
+
}
|
|
1187
|
+
)),
|
|
1188
|
+
overlayLinkText && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1189
|
+
Pressable,
|
|
1190
|
+
{
|
|
1191
|
+
href: overlayLinkUrl,
|
|
1192
|
+
onClick: overlayLinkOnClick,
|
|
1193
|
+
children: [
|
|
1194
|
+
overlayLinkText,
|
|
1195
|
+
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 18 })
|
|
1196
|
+
]
|
|
1197
|
+
}
|
|
1198
|
+
)
|
|
1199
|
+
] })
|
|
1200
|
+
] })
|
|
1128
1201
|
] })
|
|
1129
1202
|
] })
|
|
1130
|
-
]
|
|
1131
|
-
|
|
1132
|
-
|
|
1203
|
+
]
|
|
1204
|
+
}
|
|
1205
|
+
)
|
|
1133
1206
|
}
|
|
1134
1207
|
);
|
|
1135
1208
|
}
|