@opensite/ui 1.2.9 → 1.3.1
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/carousel-scale-focus.cjs +3 -2
- package/dist/carousel-scale-focus.d.cts +5 -1
- package/dist/carousel-scale-focus.d.ts +5 -1
- package/dist/carousel-scale-focus.js +3 -2
- package/dist/feature-badge-grid-six.cjs +88 -13
- package/dist/feature-badge-grid-six.d.cts +1 -1
- package/dist/feature-badge-grid-six.d.ts +1 -1
- package/dist/feature-badge-grid-six.js +88 -13
- package/dist/feature-capabilities-grid.cjs +5 -6
- package/dist/feature-capabilities-grid.js +5 -6
- package/dist/feature-category-image-cards.cjs +1 -1
- package/dist/feature-category-image-cards.d.cts +1 -1
- package/dist/feature-category-image-cards.d.ts +1 -1
- package/dist/feature-category-image-cards.js +1 -1
- package/dist/feature-checklist-image.cjs +5 -5
- package/dist/feature-checklist-image.js +5 -5
- package/dist/feature-icon-grid-accent.cjs +6 -6
- package/dist/feature-icon-grid-accent.js +6 -6
- package/dist/feature-icon-grid-bordered.cjs +5 -10
- package/dist/feature-icon-grid-bordered.d.cts +1 -1
- package/dist/feature-icon-grid-bordered.d.ts +1 -1
- package/dist/feature-icon-grid-bordered.js +5 -10
- package/dist/feature-icon-grid-muted.cjs +1 -1
- package/dist/feature-icon-grid-muted.js +1 -1
- package/dist/feature-icon-tabs-content.cjs +91 -109
- package/dist/feature-icon-tabs-content.js +91 -109
- package/dist/feature-image-cards-three-column.cjs +23 -17
- package/dist/feature-image-cards-three-column.d.cts +1 -1
- package/dist/feature-image-cards-three-column.d.ts +1 -1
- package/dist/feature-image-cards-three-column.js +23 -17
- package/dist/feature-numbered-cards.cjs +2 -2
- package/dist/feature-numbered-cards.js +2 -2
- package/dist/feature-pattern-grid-links.cjs +142 -29
- package/dist/feature-pattern-grid-links.d.cts +21 -1
- package/dist/feature-pattern-grid-links.d.ts +21 -1
- package/dist/feature-pattern-grid-links.js +142 -29
- package/dist/feature-tabbed-content-image.cjs +1 -1
- package/dist/feature-tabbed-content-image.d.cts +1 -1
- package/dist/feature-tabbed-content-image.d.ts +1 -1
- package/dist/feature-tabbed-content-image.js +1 -1
- package/dist/feature-three-column-values.cjs +474 -37
- package/dist/feature-three-column-values.d.cts +4 -0
- package/dist/feature-three-column-values.d.ts +4 -0
- package/dist/feature-three-column-values.js +474 -37
- package/dist/feature-utility-cards-grid.cjs +21 -5
- package/dist/feature-utility-cards-grid.js +21 -5
- package/dist/registry.cjs +449 -240
- package/dist/registry.js +449 -240
- package/package.json +1 -1
|
@@ -1057,7 +1057,7 @@ function FeatureIconTabsContent({
|
|
|
1057
1057
|
tabsSlot,
|
|
1058
1058
|
defaultTab,
|
|
1059
1059
|
className,
|
|
1060
|
-
containerClassName,
|
|
1060
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
1061
1061
|
headerClassName,
|
|
1062
1062
|
badgeClassName,
|
|
1063
1063
|
headingClassName,
|
|
@@ -1068,7 +1068,7 @@ function FeatureIconTabsContent({
|
|
|
1068
1068
|
tabContentClassName,
|
|
1069
1069
|
optixFlowConfig,
|
|
1070
1070
|
background,
|
|
1071
|
-
spacing = "
|
|
1071
|
+
spacing = "pt-14 pb-12 md:pt-32 md:pb-32",
|
|
1072
1072
|
pattern,
|
|
1073
1073
|
patternOpacity,
|
|
1074
1074
|
patternClassName
|
|
@@ -1148,11 +1148,11 @@ function FeatureIconTabsContent({
|
|
|
1148
1148
|
if (!tabs || tabs.length === 0) return null;
|
|
1149
1149
|
const activeDefaultTab = defaultTab || tabs[0]?.value;
|
|
1150
1150
|
return /* @__PURE__ */ jsxs(Tabs, { defaultValue: activeDefaultTab, className: "mt-8", children: [
|
|
1151
|
-
/* @__PURE__ */ jsx("div", { className: "container overflow-x-auto px-4 pb-2 md:px-6", children: /* @__PURE__ */ jsx(
|
|
1151
|
+
/* @__PURE__ */ jsx("div", { className: "container overflow-x-auto px-4 pb-2 md:px-6 scrollbar-thin scrollbar-track-transparent scrollbar-thumb-border/50 hover:scrollbar-thumb-border md:overflow-x-visible [&::-webkit-scrollbar]:h-1 [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-border/30", children: /* @__PURE__ */ jsx(
|
|
1152
1152
|
TabsList,
|
|
1153
1153
|
{
|
|
1154
1154
|
className: cn(
|
|
1155
|
-
"inline-flex w-auto
|
|
1155
|
+
"inline-flex w-auto items-center justify-start gap-2 bg-transparent md:w-full md:justify-center md:gap-4 h-auto! p-0!",
|
|
1156
1156
|
tabsListClassName
|
|
1157
1157
|
),
|
|
1158
1158
|
children: tabs.map((tab) => /* @__PURE__ */ jsxs(
|
|
@@ -1160,7 +1160,7 @@ function FeatureIconTabsContent({
|
|
|
1160
1160
|
{
|
|
1161
1161
|
value: tab.value,
|
|
1162
1162
|
className: cn(
|
|
1163
|
-
"flex
|
|
1163
|
+
"flex h-auto! w-auto! flex-none items-center gap-2 rounded-lg border border-border pl-0 pr-4 md:pl-4 md:pr-4 py-2.5 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground data-[state=active]:bg-primary data-[state=active]:text-primary-foreground",
|
|
1164
1164
|
`data-[state=active]:${getBorderColor(background, "accent")}`,
|
|
1165
1165
|
tabTriggerClassName,
|
|
1166
1166
|
tab.className
|
|
@@ -1174,99 +1174,87 @@ function FeatureIconTabsContent({
|
|
|
1174
1174
|
))
|
|
1175
1175
|
}
|
|
1176
1176
|
) }),
|
|
1177
|
-
/* @__PURE__ */ jsx(
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1177
|
+
/* @__PURE__ */ jsx("div", { className: cn("py-6 md:py-10", contentWrapperClassName), children: /* @__PURE__ */ jsx("div", { className: "p-4 md:p-8 bg-muted/50 rounded-2xl shadow-lg", children: tabs.map((tab) => {
|
|
1178
|
+
if (tab.contentSlot) {
|
|
1179
|
+
return /* @__PURE__ */ jsx(
|
|
1180
|
+
TabsContent,
|
|
1181
|
+
{
|
|
1182
|
+
value: tab.value,
|
|
1183
|
+
className: tabContentClassName,
|
|
1184
|
+
children: tab.contentSlot
|
|
1185
|
+
},
|
|
1186
|
+
tab.value
|
|
1187
|
+
);
|
|
1188
|
+
}
|
|
1189
|
+
const content = tab.content;
|
|
1190
|
+
if (!content) return null;
|
|
1191
|
+
return /* @__PURE__ */ jsxs(
|
|
1192
|
+
TabsContent,
|
|
1193
|
+
{
|
|
1194
|
+
value: tab.value,
|
|
1195
|
+
className: cn(
|
|
1196
|
+
"grid place-items-start gap-20 lg:grid-cols-2 lg:gap-10",
|
|
1197
|
+
tabContentClassName,
|
|
1198
|
+
content.className
|
|
1199
|
+
),
|
|
1200
|
+
children: [
|
|
1201
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-5", children: [
|
|
1202
|
+
content.badge && /* @__PURE__ */ jsx(
|
|
1203
|
+
Badge,
|
|
1204
|
+
{
|
|
1205
|
+
variant: "outline",
|
|
1206
|
+
className: cn("w-fit", content.badgeClassName),
|
|
1207
|
+
children: content.badge
|
|
1208
|
+
}
|
|
1206
1209
|
),
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
className: cn(
|
|
1214
|
-
"w-fit",
|
|
1215
|
-
content.badgeClassName
|
|
1216
|
-
),
|
|
1217
|
-
children: content.badge
|
|
1218
|
-
}
|
|
1210
|
+
content.title && (typeof content.title === "string" ? /* @__PURE__ */ jsx(
|
|
1211
|
+
"h3",
|
|
1212
|
+
{
|
|
1213
|
+
className: cn(
|
|
1214
|
+
"text-2xl font-semibold",
|
|
1215
|
+
content.titleClassName
|
|
1219
1216
|
),
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
)
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
] }),
|
|
1262
|
-
(content.imageSlot || content.imageSrc) && /* @__PURE__ */ jsx("div", { className: "relative h-[300px] w-full lg:h-[400px]", children: renderTabContentImage(content) })
|
|
1263
|
-
]
|
|
1264
|
-
},
|
|
1265
|
-
tab.value
|
|
1266
|
-
);
|
|
1267
|
-
}) })
|
|
1268
|
-
}
|
|
1269
|
-
)
|
|
1217
|
+
children: content.title
|
|
1218
|
+
}
|
|
1219
|
+
) : /* @__PURE__ */ jsx(
|
|
1220
|
+
"div",
|
|
1221
|
+
{
|
|
1222
|
+
className: cn(
|
|
1223
|
+
"text-2xl font-semibold",
|
|
1224
|
+
content.titleClassName
|
|
1225
|
+
),
|
|
1226
|
+
children: content.title
|
|
1227
|
+
}
|
|
1228
|
+
)),
|
|
1229
|
+
content.description && (typeof content.description === "string" ? /* @__PURE__ */ jsx(
|
|
1230
|
+
"p",
|
|
1231
|
+
{
|
|
1232
|
+
className: cn(
|
|
1233
|
+
"lg:text-lg",
|
|
1234
|
+
getTextColor(background, "muted"),
|
|
1235
|
+
content.descriptionClassName
|
|
1236
|
+
),
|
|
1237
|
+
children: content.description
|
|
1238
|
+
}
|
|
1239
|
+
) : /* @__PURE__ */ jsx(
|
|
1240
|
+
"div",
|
|
1241
|
+
{
|
|
1242
|
+
className: cn(
|
|
1243
|
+
"lg:text-lg",
|
|
1244
|
+
getTextColor(background, "muted"),
|
|
1245
|
+
content.descriptionClassName
|
|
1246
|
+
),
|
|
1247
|
+
children: content.description
|
|
1248
|
+
}
|
|
1249
|
+
)),
|
|
1250
|
+
(content.actionsSlot || content.actions && content.actions.length > 0) && renderTabContentActions(content)
|
|
1251
|
+
] }),
|
|
1252
|
+
(content.imageSlot || content.imageSrc) && /* @__PURE__ */ jsx("div", { className: "relative h-[300px] w-full lg:h-[400px]", children: renderTabContentImage(content) })
|
|
1253
|
+
]
|
|
1254
|
+
},
|
|
1255
|
+
tab.value
|
|
1256
|
+
);
|
|
1257
|
+
}) }) })
|
|
1270
1258
|
] });
|
|
1271
1259
|
}, [
|
|
1272
1260
|
tabsSlot,
|
|
@@ -1280,7 +1268,7 @@ function FeatureIconTabsContent({
|
|
|
1280
1268
|
renderTabContentActions,
|
|
1281
1269
|
renderTabContentImage
|
|
1282
1270
|
]);
|
|
1283
|
-
return /* @__PURE__ */
|
|
1271
|
+
return /* @__PURE__ */ jsx(
|
|
1284
1272
|
Section,
|
|
1285
1273
|
{
|
|
1286
1274
|
background,
|
|
@@ -1289,8 +1277,8 @@ function FeatureIconTabsContent({
|
|
|
1289
1277
|
patternOpacity,
|
|
1290
1278
|
patternClassName,
|
|
1291
1279
|
className,
|
|
1292
|
-
containerClassName
|
|
1293
|
-
children: [
|
|
1280
|
+
containerClassName,
|
|
1281
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col space-y-6 md:space-y-16", children: [
|
|
1294
1282
|
(badge || heading || description) && /* @__PURE__ */ jsxs(
|
|
1295
1283
|
"div",
|
|
1296
1284
|
{
|
|
@@ -1304,7 +1292,7 @@ function FeatureIconTabsContent({
|
|
|
1304
1292
|
"h1",
|
|
1305
1293
|
{
|
|
1306
1294
|
className: cn(
|
|
1307
|
-
"max-w-
|
|
1295
|
+
"max-w-4xl text-3xl font-semibold md:text-6xl text-balance",
|
|
1308
1296
|
headingClassName
|
|
1309
1297
|
),
|
|
1310
1298
|
children: heading
|
|
@@ -1313,24 +1301,18 @@ function FeatureIconTabsContent({
|
|
|
1313
1301
|
"div",
|
|
1314
1302
|
{
|
|
1315
1303
|
className: cn(
|
|
1316
|
-
"max-w-
|
|
1304
|
+
"max-w-4xl text-3xl font-semibold md:text-6xl text-balance",
|
|
1317
1305
|
headingClassName
|
|
1318
1306
|
),
|
|
1319
1307
|
children: heading
|
|
1320
1308
|
}
|
|
1321
1309
|
)),
|
|
1322
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn(
|
|
1323
|
-
"div",
|
|
1324
|
-
{
|
|
1325
|
-
className: cn(getTextColor(background, "muted"), descriptionClassName),
|
|
1326
|
-
children: description
|
|
1327
|
-
}
|
|
1328
|
-
))
|
|
1310
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-balance", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("text-balance", descriptionClassName), children: description }))
|
|
1329
1311
|
]
|
|
1330
1312
|
}
|
|
1331
1313
|
),
|
|
1332
1314
|
tabsContent
|
|
1333
|
-
]
|
|
1315
|
+
] })
|
|
1334
1316
|
}
|
|
1335
1317
|
);
|
|
1336
1318
|
}
|
|
@@ -1001,14 +1001,14 @@ function FeatureImageCardsThreeColumn({
|
|
|
1001
1001
|
cards,
|
|
1002
1002
|
cardsSlot,
|
|
1003
1003
|
className,
|
|
1004
|
-
containerClassName,
|
|
1004
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
1005
|
+
spacing = "py-12 md:py-32",
|
|
1005
1006
|
titleClassName,
|
|
1006
1007
|
descriptionClassName,
|
|
1007
1008
|
gridClassName,
|
|
1008
1009
|
cardClassName,
|
|
1009
1010
|
optixFlowConfig,
|
|
1010
1011
|
background,
|
|
1011
|
-
spacing,
|
|
1012
1012
|
pattern,
|
|
1013
1013
|
patternOpacity,
|
|
1014
1014
|
patternClassName
|
|
@@ -1022,7 +1022,7 @@ function FeatureImageCardsThreeColumn({
|
|
|
1022
1022
|
{
|
|
1023
1023
|
src: card.imageSrc,
|
|
1024
1024
|
alt: imageAlt,
|
|
1025
|
-
className: "h-full max-h-[450px] w-full rounded-xl object-cover object-center",
|
|
1025
|
+
className: "h-full max-h-[450px] min-h-80 w-full rounded-xl object-cover object-center",
|
|
1026
1026
|
loading: "lazy",
|
|
1027
1027
|
optixFlowConfig
|
|
1028
1028
|
}
|
|
@@ -1037,7 +1037,7 @@ function FeatureImageCardsThreeColumn({
|
|
|
1037
1037
|
}
|
|
1038
1038
|
if (card.icon) return card.icon;
|
|
1039
1039
|
if (!card.iconName) return null;
|
|
1040
|
-
return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: card.iconName, size:
|
|
1040
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: card.iconName, size: 18 });
|
|
1041
1041
|
},
|
|
1042
1042
|
[]
|
|
1043
1043
|
);
|
|
@@ -1058,18 +1058,25 @@ function FeatureImageCardsThreeColumn({
|
|
|
1058
1058
|
),
|
|
1059
1059
|
children: [
|
|
1060
1060
|
renderImage(card, imageAlt),
|
|
1061
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-0 right-0 bottom-0 left-0 translate-y-20 rounded-xl bg-linear-to-t from-black to-transparent transition-transform duration-300 group-hover:translate-y-0" }),
|
|
1061
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-0 right-0 bottom-0 left-0 translate-y-10 md:translate-y-20 rounded-xl bg-linear-to-t from-black to-transparent transition-transform duration-300 group-hover:translate-y-0" }),
|
|
1062
1062
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute top-0 flex h-full w-full flex-col justify-between p-4 md:p-6", children: [
|
|
1063
|
-
(card.badgeText || card.avatarSrc || card.icon || card.iconName) && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1063
|
+
(card.badgeText || card.avatarSrc || card.icon || card.iconName) && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1064
|
+
Badge,
|
|
1065
|
+
{
|
|
1066
|
+
variant: "default",
|
|
1067
|
+
className: cn("py-1 px-4", card.badgeClassName),
|
|
1068
|
+
children: [
|
|
1069
|
+
renderBadgeIcon(card),
|
|
1070
|
+
card.badgeText
|
|
1071
|
+
]
|
|
1072
|
+
}
|
|
1073
|
+
),
|
|
1074
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 md:gap-4", children: [
|
|
1068
1075
|
card.title && (typeof card.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1069
1076
|
"h3",
|
|
1070
1077
|
{
|
|
1071
1078
|
className: cn(
|
|
1072
|
-
"text-
|
|
1079
|
+
"text-lg md:text-xl font-semibold",
|
|
1073
1080
|
card.titleClassName
|
|
1074
1081
|
),
|
|
1075
1082
|
children: card.title
|
|
@@ -1078,20 +1085,19 @@ function FeatureImageCardsThreeColumn({
|
|
|
1078
1085
|
"div",
|
|
1079
1086
|
{
|
|
1080
1087
|
className: cn(
|
|
1081
|
-
"text-
|
|
1088
|
+
"text-lg md:text-xl font-semibold",
|
|
1082
1089
|
card.titleClassName
|
|
1083
1090
|
),
|
|
1084
1091
|
children: card.title
|
|
1085
1092
|
}
|
|
1086
1093
|
)),
|
|
1087
1094
|
card.linkText && card.link && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1088
|
-
|
|
1095
|
+
"div",
|
|
1089
1096
|
{
|
|
1090
1097
|
className: cn(
|
|
1091
|
-
"font-bold text-xs uppercase",
|
|
1098
|
+
"font-bold text-xs uppercase flex items-center gap-2",
|
|
1092
1099
|
card.linkClassName
|
|
1093
1100
|
),
|
|
1094
|
-
href: card.link,
|
|
1095
1101
|
children: [
|
|
1096
1102
|
card.linkText,
|
|
1097
1103
|
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-up-right", size: 18 })
|
|
@@ -1122,7 +1128,7 @@ function FeatureImageCardsThreeColumn({
|
|
|
1122
1128
|
"h2",
|
|
1123
1129
|
{
|
|
1124
1130
|
className: cn(
|
|
1125
|
-
"text-
|
|
1131
|
+
"text-2xl font-semibold text-balance md:text-3xl lg:text-4xl max-w-lg md:max-w-md",
|
|
1126
1132
|
titleClassName
|
|
1127
1133
|
),
|
|
1128
1134
|
children: title
|
|
@@ -1131,7 +1137,7 @@ function FeatureImageCardsThreeColumn({
|
|
|
1131
1137
|
"div",
|
|
1132
1138
|
{
|
|
1133
1139
|
className: cn(
|
|
1134
|
-
"text-
|
|
1140
|
+
"text-2xl font-semibold text-balance md:text-3xl lg:text-4xl max-w-lg md:max-w-md",
|
|
1135
1141
|
titleClassName
|
|
1136
1142
|
),
|
|
1137
1143
|
children: title
|
|
@@ -165,6 +165,6 @@ interface FeatureImageCardsThreeColumnProps {
|
|
|
165
165
|
* />
|
|
166
166
|
* ```
|
|
167
167
|
*/
|
|
168
|
-
declare function FeatureImageCardsThreeColumn({ title, description, headerClassName, cards, cardsSlot, className, containerClassName, titleClassName, descriptionClassName, gridClassName, cardClassName, optixFlowConfig, background,
|
|
168
|
+
declare function FeatureImageCardsThreeColumn({ title, description, headerClassName, cards, cardsSlot, className, containerClassName, spacing, titleClassName, descriptionClassName, gridClassName, cardClassName, optixFlowConfig, background, pattern, patternOpacity, patternClassName, }: FeatureImageCardsThreeColumnProps): React.JSX.Element;
|
|
169
169
|
|
|
170
170
|
export { FeatureImageCardsThreeColumn, type FeatureImageCardsThreeColumnProps };
|
|
@@ -165,6 +165,6 @@ interface FeatureImageCardsThreeColumnProps {
|
|
|
165
165
|
* />
|
|
166
166
|
* ```
|
|
167
167
|
*/
|
|
168
|
-
declare function FeatureImageCardsThreeColumn({ title, description, headerClassName, cards, cardsSlot, className, containerClassName, titleClassName, descriptionClassName, gridClassName, cardClassName, optixFlowConfig, background,
|
|
168
|
+
declare function FeatureImageCardsThreeColumn({ title, description, headerClassName, cards, cardsSlot, className, containerClassName, spacing, titleClassName, descriptionClassName, gridClassName, cardClassName, optixFlowConfig, background, pattern, patternOpacity, patternClassName, }: FeatureImageCardsThreeColumnProps): React.JSX.Element;
|
|
169
169
|
|
|
170
170
|
export { FeatureImageCardsThreeColumn, type FeatureImageCardsThreeColumnProps };
|
|
@@ -979,14 +979,14 @@ function FeatureImageCardsThreeColumn({
|
|
|
979
979
|
cards,
|
|
980
980
|
cardsSlot,
|
|
981
981
|
className,
|
|
982
|
-
containerClassName,
|
|
982
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
983
|
+
spacing = "py-12 md:py-32",
|
|
983
984
|
titleClassName,
|
|
984
985
|
descriptionClassName,
|
|
985
986
|
gridClassName,
|
|
986
987
|
cardClassName,
|
|
987
988
|
optixFlowConfig,
|
|
988
989
|
background,
|
|
989
|
-
spacing,
|
|
990
990
|
pattern,
|
|
991
991
|
patternOpacity,
|
|
992
992
|
patternClassName
|
|
@@ -1000,7 +1000,7 @@ function FeatureImageCardsThreeColumn({
|
|
|
1000
1000
|
{
|
|
1001
1001
|
src: card.imageSrc,
|
|
1002
1002
|
alt: imageAlt,
|
|
1003
|
-
className: "h-full max-h-[450px] w-full rounded-xl object-cover object-center",
|
|
1003
|
+
className: "h-full max-h-[450px] min-h-80 w-full rounded-xl object-cover object-center",
|
|
1004
1004
|
loading: "lazy",
|
|
1005
1005
|
optixFlowConfig
|
|
1006
1006
|
}
|
|
@@ -1015,7 +1015,7 @@ function FeatureImageCardsThreeColumn({
|
|
|
1015
1015
|
}
|
|
1016
1016
|
if (card.icon) return card.icon;
|
|
1017
1017
|
if (!card.iconName) return null;
|
|
1018
|
-
return /* @__PURE__ */ jsx(DynamicIcon, { name: card.iconName, size:
|
|
1018
|
+
return /* @__PURE__ */ jsx(DynamicIcon, { name: card.iconName, size: 18 });
|
|
1019
1019
|
},
|
|
1020
1020
|
[]
|
|
1021
1021
|
);
|
|
@@ -1036,18 +1036,25 @@ function FeatureImageCardsThreeColumn({
|
|
|
1036
1036
|
),
|
|
1037
1037
|
children: [
|
|
1038
1038
|
renderImage(card, imageAlt),
|
|
1039
|
-
/* @__PURE__ */ jsx("div", { className: "absolute top-0 right-0 bottom-0 left-0 translate-y-20 rounded-xl bg-linear-to-t from-black to-transparent transition-transform duration-300 group-hover:translate-y-0" }),
|
|
1039
|
+
/* @__PURE__ */ jsx("div", { className: "absolute top-0 right-0 bottom-0 left-0 translate-y-10 md:translate-y-20 rounded-xl bg-linear-to-t from-black to-transparent transition-transform duration-300 group-hover:translate-y-0" }),
|
|
1040
1040
|
/* @__PURE__ */ jsxs("div", { className: "absolute top-0 flex h-full w-full flex-col justify-between p-4 md:p-6", children: [
|
|
1041
|
-
(card.badgeText || card.avatarSrc || card.icon || card.iconName) && /* @__PURE__ */ jsxs(
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1041
|
+
(card.badgeText || card.avatarSrc || card.icon || card.iconName) && /* @__PURE__ */ jsxs(
|
|
1042
|
+
Badge,
|
|
1043
|
+
{
|
|
1044
|
+
variant: "default",
|
|
1045
|
+
className: cn("py-1 px-4", card.badgeClassName),
|
|
1046
|
+
children: [
|
|
1047
|
+
renderBadgeIcon(card),
|
|
1048
|
+
card.badgeText
|
|
1049
|
+
]
|
|
1050
|
+
}
|
|
1051
|
+
),
|
|
1052
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 md:gap-4", children: [
|
|
1046
1053
|
card.title && (typeof card.title === "string" ? /* @__PURE__ */ jsx(
|
|
1047
1054
|
"h3",
|
|
1048
1055
|
{
|
|
1049
1056
|
className: cn(
|
|
1050
|
-
"text-
|
|
1057
|
+
"text-lg md:text-xl font-semibold",
|
|
1051
1058
|
card.titleClassName
|
|
1052
1059
|
),
|
|
1053
1060
|
children: card.title
|
|
@@ -1056,20 +1063,19 @@ function FeatureImageCardsThreeColumn({
|
|
|
1056
1063
|
"div",
|
|
1057
1064
|
{
|
|
1058
1065
|
className: cn(
|
|
1059
|
-
"text-
|
|
1066
|
+
"text-lg md:text-xl font-semibold",
|
|
1060
1067
|
card.titleClassName
|
|
1061
1068
|
),
|
|
1062
1069
|
children: card.title
|
|
1063
1070
|
}
|
|
1064
1071
|
)),
|
|
1065
1072
|
card.linkText && card.link && /* @__PURE__ */ jsxs(
|
|
1066
|
-
|
|
1073
|
+
"div",
|
|
1067
1074
|
{
|
|
1068
1075
|
className: cn(
|
|
1069
|
-
"font-bold text-xs uppercase",
|
|
1076
|
+
"font-bold text-xs uppercase flex items-center gap-2",
|
|
1070
1077
|
card.linkClassName
|
|
1071
1078
|
),
|
|
1072
|
-
href: card.link,
|
|
1073
1079
|
children: [
|
|
1074
1080
|
card.linkText,
|
|
1075
1081
|
/* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-up-right", size: 18 })
|
|
@@ -1100,7 +1106,7 @@ function FeatureImageCardsThreeColumn({
|
|
|
1100
1106
|
"h2",
|
|
1101
1107
|
{
|
|
1102
1108
|
className: cn(
|
|
1103
|
-
"text-
|
|
1109
|
+
"text-2xl font-semibold text-balance md:text-3xl lg:text-4xl max-w-lg md:max-w-md",
|
|
1104
1110
|
titleClassName
|
|
1105
1111
|
),
|
|
1106
1112
|
children: title
|
|
@@ -1109,7 +1115,7 @@ function FeatureImageCardsThreeColumn({
|
|
|
1109
1115
|
"div",
|
|
1110
1116
|
{
|
|
1111
1117
|
className: cn(
|
|
1112
|
-
"text-
|
|
1118
|
+
"text-2xl font-semibold text-balance md:text-3xl lg:text-4xl max-w-lg md:max-w-md",
|
|
1113
1119
|
titleClassName
|
|
1114
1120
|
),
|
|
1115
1121
|
children: title
|
|
@@ -1021,7 +1021,7 @@ function FeatureNumberedCards({
|
|
|
1021
1021
|
[]
|
|
1022
1022
|
);
|
|
1023
1023
|
const cardImg = React.useCallback((feature) => {
|
|
1024
|
-
if (!feature.image
|
|
1024
|
+
if (!feature.image && !feature.imageSlot) return null;
|
|
1025
1025
|
if (feature.imageSlot) return feature.imageSlot;
|
|
1026
1026
|
const imageAlt = feature.imageAlt || (typeof feature.title === "string" ? feature.title : "Feature image");
|
|
1027
1027
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-hidden h-full w-full rounded-t-lg rounded-b-none md:rounded-t-none md:rounded-l-none md:rounded-r-lg", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1127,7 +1127,7 @@ function FeatureNumberedCards({
|
|
|
1127
1127
|
"span",
|
|
1128
1128
|
{
|
|
1129
1129
|
className: cn(
|
|
1130
|
-
"absolute top-5 left-5 flex size-
|
|
1130
|
+
"absolute top-2 md:top-5 left-2 md:left-5 flex size-10 md:size-12 items-center justify-center rounded-md shadow-lg bg-primary text-sm md:text-md text-primary-foreground lg:top-10 lg:left-10 font-semibold",
|
|
1131
1131
|
badgeClassName
|
|
1132
1132
|
),
|
|
1133
1133
|
children: String(index + 1).padStart(2, "0")
|
|
@@ -1000,7 +1000,7 @@ function FeatureNumberedCards({
|
|
|
1000
1000
|
[]
|
|
1001
1001
|
);
|
|
1002
1002
|
const cardImg = useCallback((feature) => {
|
|
1003
|
-
if (!feature.image
|
|
1003
|
+
if (!feature.image && !feature.imageSlot) return null;
|
|
1004
1004
|
if (feature.imageSlot) return feature.imageSlot;
|
|
1005
1005
|
const imageAlt = feature.imageAlt || (typeof feature.title === "string" ? feature.title : "Feature image");
|
|
1006
1006
|
return /* @__PURE__ */ jsx("div", { className: "overflow-hidden h-full w-full rounded-t-lg rounded-b-none md:rounded-t-none md:rounded-l-none md:rounded-r-lg", children: /* @__PURE__ */ jsx(
|
|
@@ -1106,7 +1106,7 @@ function FeatureNumberedCards({
|
|
|
1106
1106
|
"span",
|
|
1107
1107
|
{
|
|
1108
1108
|
className: cn(
|
|
1109
|
-
"absolute top-5 left-5 flex size-
|
|
1109
|
+
"absolute top-2 md:top-5 left-2 md:left-5 flex size-10 md:size-12 items-center justify-center rounded-md shadow-lg bg-primary text-sm md:text-md text-primary-foreground lg:top-10 lg:left-10 font-semibold",
|
|
1110
1110
|
badgeClassName
|
|
1111
1111
|
),
|
|
1112
1112
|
children: String(index + 1).padStart(2, "0")
|