@opensite/ui 1.2.9 → 1.3.0
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-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 +90 -108
- package/dist/feature-icon-tabs-content.js +90 -108
- package/dist/feature-image-cards-three-column.cjs +21 -15
- 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 +21 -15
- package/dist/feature-numbered-cards.cjs +1 -1
- package/dist/feature-numbered-cards.js +1 -1
- 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 +472 -35
- 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 +472 -35
- package/dist/registry.cjs +275 -194
- package/dist/registry.js +275 -194
- 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,
|
|
@@ -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 px-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 lg:py-16", contentWrapperClassName), children: /* @__PURE__ */ jsx("div", { className: "relative", 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-3xl font-semibold lg:text-5xl",
|
|
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-3xl font-semibold lg:text-5xl",
|
|
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-2xl text-3xl font-semibold md:text-4xl",
|
|
1295
|
+
"max-w-2xl text-3xl font-semibold md:text-4xl 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-2xl text-3xl font-semibold md:text-4xl",
|
|
1304
|
+
"max-w-2xl text-3xl font-semibold md:text-4xl 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-6 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-0 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 })
|
|
@@ -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-6 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-0 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 })
|
|
@@ -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(
|
|
@@ -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(
|
|
@@ -997,7 +997,6 @@ function FeatureTabbedContentImage({
|
|
|
997
997
|
slidesSlot,
|
|
998
998
|
defaultTab,
|
|
999
999
|
className,
|
|
1000
|
-
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
1001
1000
|
headerClassName,
|
|
1002
1001
|
titleClassName,
|
|
1003
1002
|
descriptionClassName,
|
|
@@ -1009,6 +1008,7 @@ function FeatureTabbedContentImage({
|
|
|
1009
1008
|
contentGridClassName,
|
|
1010
1009
|
optixFlowConfig,
|
|
1011
1010
|
background,
|
|
1011
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
1012
1012
|
spacing = "py-6 md:py-32",
|
|
1013
1013
|
pattern,
|
|
1014
1014
|
patternOpacity,
|
|
@@ -206,6 +206,6 @@ interface FeatureTabbedContentImageProps {
|
|
|
206
206
|
* />
|
|
207
207
|
* ```
|
|
208
208
|
*/
|
|
209
|
-
declare function FeatureTabbedContentImage({ title, description, slides, slidesSlot, defaultTab, className,
|
|
209
|
+
declare function FeatureTabbedContentImage({ title, description, slides, slidesSlot, defaultTab, className, headerClassName, titleClassName, descriptionClassName, tabsWrapperClassName, tabsClassName, tabsListClassName, tabTriggerClassName, tabContentClassName, contentGridClassName, optixFlowConfig, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, }: FeatureTabbedContentImageProps): React.JSX.Element;
|
|
210
210
|
|
|
211
211
|
export { FeatureTabbedContentImage, type FeatureTabbedContentImageProps };
|
|
@@ -206,6 +206,6 @@ interface FeatureTabbedContentImageProps {
|
|
|
206
206
|
* />
|
|
207
207
|
* ```
|
|
208
208
|
*/
|
|
209
|
-
declare function FeatureTabbedContentImage({ title, description, slides, slidesSlot, defaultTab, className,
|
|
209
|
+
declare function FeatureTabbedContentImage({ title, description, slides, slidesSlot, defaultTab, className, headerClassName, titleClassName, descriptionClassName, tabsWrapperClassName, tabsClassName, tabsListClassName, tabTriggerClassName, tabContentClassName, contentGridClassName, optixFlowConfig, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, }: FeatureTabbedContentImageProps): React.JSX.Element;
|
|
210
210
|
|
|
211
211
|
export { FeatureTabbedContentImage, type FeatureTabbedContentImageProps };
|
|
@@ -975,7 +975,6 @@ function FeatureTabbedContentImage({
|
|
|
975
975
|
slidesSlot,
|
|
976
976
|
defaultTab,
|
|
977
977
|
className,
|
|
978
|
-
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
979
978
|
headerClassName,
|
|
980
979
|
titleClassName,
|
|
981
980
|
descriptionClassName,
|
|
@@ -987,6 +986,7 @@ function FeatureTabbedContentImage({
|
|
|
987
986
|
contentGridClassName,
|
|
988
987
|
optixFlowConfig,
|
|
989
988
|
background,
|
|
989
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
|
|
990
990
|
spacing = "py-6 md:py-32",
|
|
991
991
|
pattern,
|
|
992
992
|
patternOpacity,
|