@opensite/ui 1.2.0 → 1.2.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/auto-scroll-carousel.cjs +4 -4
- package/dist/auto-scroll-carousel.js +4 -4
- package/dist/blur-vignette-grid.cjs +19 -27
- package/dist/blur-vignette-grid.js +19 -27
- package/dist/carousel-badge-cards.cjs +1 -1
- package/dist/carousel-badge-cards.js +1 -1
- package/dist/carousel-gradient-overlay.cjs +1 -1
- package/dist/carousel-gradient-overlay.js +1 -1
- package/dist/carousel-icon-sidebar.cjs +33 -3
- package/dist/carousel-icon-sidebar.d.cts +19 -3
- package/dist/carousel-icon-sidebar.d.ts +19 -3
- package/dist/carousel-icon-sidebar.js +33 -3
- package/dist/carousel-icon-tabs.cjs +19 -5
- package/dist/carousel-icon-tabs.js +19 -5
- package/dist/carousel-scale-focus.cjs +4 -10
- package/dist/carousel-scale-focus.js +4 -10
- package/dist/carousel-tabs-content.cjs +4 -16
- package/dist/carousel-tabs-content.js +4 -16
- package/dist/expandable-case-study-cards.cjs +27 -73
- package/dist/expandable-case-study-cards.js +27 -73
- package/dist/interior-carousel.cjs +8 -11
- package/dist/interior-carousel.js +8 -11
- package/dist/masonry-motion-grid.cjs +4 -16
- package/dist/masonry-motion-grid.js +4 -16
- package/dist/registry.cjs +129 -163
- package/dist/registry.js +129 -163
- package/dist/testimonial-carousel-cards.cjs +6 -60
- package/dist/testimonial-carousel-cards.js +6 -60
- package/package.json +1 -1
|
@@ -1237,12 +1237,12 @@ function CarouselScaleFocus({
|
|
|
1237
1237
|
className: cn("overflow-hidden", className),
|
|
1238
1238
|
children: [
|
|
1239
1239
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "md:px-45", children: [
|
|
1240
|
-
title || description ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
1240
|
+
title || description ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 mb-16", children: [
|
|
1241
1241
|
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1242
1242
|
"h2",
|
|
1243
1243
|
{
|
|
1244
1244
|
className: cn(
|
|
1245
|
-
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl",
|
|
1245
|
+
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl text-balance",
|
|
1246
1246
|
titleClassName
|
|
1247
1247
|
),
|
|
1248
1248
|
children: title
|
|
@@ -1251,19 +1251,13 @@ function CarouselScaleFocus({
|
|
|
1251
1251
|
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1252
1252
|
"p",
|
|
1253
1253
|
{
|
|
1254
|
-
className: cn(
|
|
1255
|
-
"max-w-lg text-muted-foreground",
|
|
1256
|
-
descriptionClassName
|
|
1257
|
-
),
|
|
1254
|
+
className: cn("max-w-lg text-balance", descriptionClassName),
|
|
1258
1255
|
children: description
|
|
1259
1256
|
}
|
|
1260
1257
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1261
1258
|
"div",
|
|
1262
1259
|
{
|
|
1263
|
-
className: cn(
|
|
1264
|
-
"max-w-lg text-muted-foreground",
|
|
1265
|
-
descriptionClassName
|
|
1266
|
-
),
|
|
1260
|
+
className: cn("max-w-lg text-balance", descriptionClassName),
|
|
1267
1261
|
children: description
|
|
1268
1262
|
}
|
|
1269
1263
|
))
|
|
@@ -1213,12 +1213,12 @@ function CarouselScaleFocus({
|
|
|
1213
1213
|
className: cn("overflow-hidden", className),
|
|
1214
1214
|
children: [
|
|
1215
1215
|
/* @__PURE__ */ jsxs("div", { className: "md:px-45", children: [
|
|
1216
|
-
title || description ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
1216
|
+
title || description ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 mb-16", children: [
|
|
1217
1217
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx(
|
|
1218
1218
|
"h2",
|
|
1219
1219
|
{
|
|
1220
1220
|
className: cn(
|
|
1221
|
-
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl",
|
|
1221
|
+
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl text-balance",
|
|
1222
1222
|
titleClassName
|
|
1223
1223
|
),
|
|
1224
1224
|
children: title
|
|
@@ -1227,19 +1227,13 @@ function CarouselScaleFocus({
|
|
|
1227
1227
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
1228
1228
|
"p",
|
|
1229
1229
|
{
|
|
1230
|
-
className: cn(
|
|
1231
|
-
"max-w-lg text-muted-foreground",
|
|
1232
|
-
descriptionClassName
|
|
1233
|
-
),
|
|
1230
|
+
className: cn("max-w-lg text-balance", descriptionClassName),
|
|
1234
1231
|
children: description
|
|
1235
1232
|
}
|
|
1236
1233
|
) : /* @__PURE__ */ jsx(
|
|
1237
1234
|
"div",
|
|
1238
1235
|
{
|
|
1239
|
-
className: cn(
|
|
1240
|
-
"max-w-lg text-muted-foreground",
|
|
1241
|
-
descriptionClassName
|
|
1242
|
-
),
|
|
1236
|
+
className: cn("max-w-lg text-balance", descriptionClassName),
|
|
1243
1237
|
children: description
|
|
1244
1238
|
}
|
|
1245
1239
|
))
|
|
@@ -1317,33 +1317,21 @@ function CarouselTabsContent({
|
|
|
1317
1317
|
patternClassName,
|
|
1318
1318
|
className: cn("overflow-hidden", className),
|
|
1319
1319
|
children: [
|
|
1320
|
-
title || description ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
1320
|
+
title || description ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 mb-16", children: [
|
|
1321
1321
|
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1322
1322
|
"h2",
|
|
1323
1323
|
{
|
|
1324
1324
|
className: cn(
|
|
1325
|
-
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl",
|
|
1325
|
+
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl text-balance",
|
|
1326
1326
|
titleClassName
|
|
1327
1327
|
),
|
|
1328
1328
|
children: title
|
|
1329
1329
|
}
|
|
1330
1330
|
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
1331
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1332
|
-
"p",
|
|
1333
|
-
{
|
|
1334
|
-
className: cn(
|
|
1335
|
-
"max-w-lg text-muted-foreground",
|
|
1336
|
-
descriptionClassName
|
|
1337
|
-
),
|
|
1338
|
-
children: description
|
|
1339
|
-
}
|
|
1340
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1331
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-lg text-balance", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1341
1332
|
"div",
|
|
1342
1333
|
{
|
|
1343
|
-
className: cn(
|
|
1344
|
-
"max-w-lg text-muted-foreground",
|
|
1345
|
-
descriptionClassName
|
|
1346
|
-
),
|
|
1334
|
+
className: cn("max-w-lg text-balance", descriptionClassName),
|
|
1347
1335
|
children: description
|
|
1348
1336
|
}
|
|
1349
1337
|
))
|
|
@@ -1293,33 +1293,21 @@ function CarouselTabsContent({
|
|
|
1293
1293
|
patternClassName,
|
|
1294
1294
|
className: cn("overflow-hidden", className),
|
|
1295
1295
|
children: [
|
|
1296
|
-
title || description ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
1296
|
+
title || description ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 mb-16", children: [
|
|
1297
1297
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx(
|
|
1298
1298
|
"h2",
|
|
1299
1299
|
{
|
|
1300
1300
|
className: cn(
|
|
1301
|
-
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl",
|
|
1301
|
+
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl text-balance",
|
|
1302
1302
|
titleClassName
|
|
1303
1303
|
),
|
|
1304
1304
|
children: title
|
|
1305
1305
|
}
|
|
1306
1306
|
) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
|
|
1307
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
1308
|
-
"p",
|
|
1309
|
-
{
|
|
1310
|
-
className: cn(
|
|
1311
|
-
"max-w-lg text-muted-foreground",
|
|
1312
|
-
descriptionClassName
|
|
1313
|
-
),
|
|
1314
|
-
children: description
|
|
1315
|
-
}
|
|
1316
|
-
) : /* @__PURE__ */ jsx(
|
|
1307
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("max-w-lg text-balance", descriptionClassName), children: description }) : /* @__PURE__ */ jsx(
|
|
1317
1308
|
"div",
|
|
1318
1309
|
{
|
|
1319
|
-
className: cn(
|
|
1320
|
-
"max-w-lg text-muted-foreground",
|
|
1321
|
-
descriptionClassName
|
|
1322
|
-
),
|
|
1310
|
+
className: cn("max-w-lg text-balance", descriptionClassName),
|
|
1323
1311
|
children: description
|
|
1324
1312
|
}
|
|
1325
1313
|
))
|
|
@@ -33,36 +33,6 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
|
33
33
|
function cn(...inputs) {
|
|
34
34
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
35
35
|
}
|
|
36
|
-
function getNestedCardBg(parentBg, variant = "muted", options) {
|
|
37
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
38
|
-
if (isDark) {
|
|
39
|
-
switch (variant) {
|
|
40
|
-
case "muted":
|
|
41
|
-
return "bg-background";
|
|
42
|
-
case "card":
|
|
43
|
-
return "bg-card";
|
|
44
|
-
case "accent":
|
|
45
|
-
return "bg-accent";
|
|
46
|
-
case "subtle":
|
|
47
|
-
return "bg-background/50";
|
|
48
|
-
}
|
|
49
|
-
} else {
|
|
50
|
-
switch (variant) {
|
|
51
|
-
case "muted":
|
|
52
|
-
return "bg-muted";
|
|
53
|
-
case "card":
|
|
54
|
-
return "bg-card";
|
|
55
|
-
case "accent":
|
|
56
|
-
return "bg-accent";
|
|
57
|
-
case "subtle":
|
|
58
|
-
return "bg-muted/50";
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
function getNestedCardTextColor(parentBg, options) {
|
|
63
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
64
|
-
return isDark ? "text-foreground" : "";
|
|
65
|
-
}
|
|
66
36
|
var badgeVariants = classVarianceAuthority.cva(
|
|
67
37
|
"inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
|
|
68
38
|
{
|
|
@@ -614,72 +584,56 @@ function ExpandableCaseStudyCards({
|
|
|
614
584
|
"a",
|
|
615
585
|
{
|
|
616
586
|
href: item.href,
|
|
617
|
-
className: "relative block h-full w-full overflow-hidden rounded-xl
|
|
587
|
+
className: "relative block h-full w-full overflow-hidden rounded-xl",
|
|
618
588
|
children: [
|
|
619
|
-
/* @__PURE__ */ jsxRuntime.
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
589
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: 'absolute inset-0 lg:group-data-[state="closed"]:blur-sm lg:transition-[filter] lg:duration-500', children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
590
|
+
img.Img,
|
|
591
|
+
{
|
|
592
|
+
src: item.image,
|
|
593
|
+
alt: typeof item.title === "string" ? item.title : item.imageAlt || "Case study image",
|
|
594
|
+
className: cn(
|
|
595
|
+
"h-full w-full object-cover object-center",
|
|
596
|
+
imageClassName
|
|
597
|
+
),
|
|
598
|
+
loading: "lazy",
|
|
599
|
+
optixFlowConfig
|
|
600
|
+
}
|
|
601
|
+
) }),
|
|
602
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-x-0 bottom-0 h-[70%] bg-linear-to-t from-black/90 from-30% to-transparent" }),
|
|
603
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: 'absolute inset-0 flex flex-col justify-end p-4 pb-5 transition-opacity delay-200 duration-500 lg:group-data-[state="closed"]:opacity-0', children: [
|
|
604
|
+
item.badges && item.badges.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
634
605
|
"div",
|
|
635
606
|
{
|
|
636
607
|
className: cn(
|
|
637
|
-
"
|
|
638
|
-
|
|
639
|
-
getNestedCardTextColor(background)
|
|
608
|
+
"mb-3 flex flex-wrap items-center gap-2",
|
|
609
|
+
badgesClassName
|
|
640
610
|
),
|
|
641
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
611
|
+
children: item.badges.map((badge, idx) => /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: badgeClassName, children: badge }, idx))
|
|
642
612
|
}
|
|
643
613
|
),
|
|
644
|
-
/* @__PURE__ */ jsxRuntime.
|
|
645
|
-
|
|
646
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex flex-col justify-between gap-4 md:absolute md:inset-0 md:max-lg:inset-x-[50%] md:max-lg:w-[50%]", children: [
|
|
647
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: 'flex flex-col gap-3 p-4 pt-6 transition-all delay-200 duration-500 lg:group-data-[state="closed"]:opacity-0', children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-2", children: [
|
|
648
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
614
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-end justify-between gap-3", children: [
|
|
615
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1.5", children: [
|
|
649
616
|
item.logo && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
650
617
|
img.Img,
|
|
651
618
|
{
|
|
652
619
|
src: item.logo,
|
|
653
620
|
alt: item.logoAlt || item.company || "Logo",
|
|
654
|
-
className: cn("h-6 max-w-[120px] object-contain object-left lg:h-8 lg:max-w-[150px]", logoClassName),
|
|
621
|
+
className: cn("h-6 max-w-[120px] object-contain object-left invert lg:h-8 lg:max-w-[150px]", logoClassName),
|
|
655
622
|
loading: "lazy",
|
|
656
623
|
optixFlowConfig
|
|
657
624
|
}
|
|
658
625
|
) }),
|
|
659
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base font-medium lg:text-lg", children: item.title }),
|
|
660
|
-
item.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-
|
|
626
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base font-medium text-white lg:text-lg", children: item.title }),
|
|
627
|
+
item.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-white/80", children: item.description })
|
|
661
628
|
] }),
|
|
662
629
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
663
630
|
"div",
|
|
664
631
|
{
|
|
665
|
-
className:
|
|
666
|
-
"flex size-8 shrink-0 items-center justify-center rounded-full text-foreground transition-transform group-hover:translate-x-1 group-hover:-translate-y-1 lg:size-10",
|
|
667
|
-
getNestedCardBg(background, "card")
|
|
668
|
-
),
|
|
632
|
+
className: "flex size-8 shrink-0 items-center justify-center rounded-full bg-white/20 text-white backdrop-blur-sm transition-transform group-hover:translate-x-1 group-hover:-translate-y-1 lg:size-10",
|
|
669
633
|
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-up-right", size: 20 })
|
|
670
634
|
}
|
|
671
635
|
)
|
|
672
|
-
] })
|
|
673
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
674
|
-
"div",
|
|
675
|
-
{
|
|
676
|
-
className: cn(
|
|
677
|
-
'flex h-20 items-center gap-2 px-4 pb-4 transition-opacity delay-200 duration-500 lg:group-data-[state="closed"]:opacity-0',
|
|
678
|
-
badgesClassName
|
|
679
|
-
),
|
|
680
|
-
children: item.badges?.map((badge, idx) => /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: badgeClassName, children: badge }, idx))
|
|
681
|
-
}
|
|
682
|
-
)
|
|
636
|
+
] })
|
|
683
637
|
] })
|
|
684
638
|
]
|
|
685
639
|
}
|
|
@@ -12,36 +12,6 @@ import { Img } from '@page-speed/img';
|
|
|
12
12
|
function cn(...inputs) {
|
|
13
13
|
return twMerge(clsx(inputs));
|
|
14
14
|
}
|
|
15
|
-
function getNestedCardBg(parentBg, variant = "muted", options) {
|
|
16
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
17
|
-
if (isDark) {
|
|
18
|
-
switch (variant) {
|
|
19
|
-
case "muted":
|
|
20
|
-
return "bg-background";
|
|
21
|
-
case "card":
|
|
22
|
-
return "bg-card";
|
|
23
|
-
case "accent":
|
|
24
|
-
return "bg-accent";
|
|
25
|
-
case "subtle":
|
|
26
|
-
return "bg-background/50";
|
|
27
|
-
}
|
|
28
|
-
} else {
|
|
29
|
-
switch (variant) {
|
|
30
|
-
case "muted":
|
|
31
|
-
return "bg-muted";
|
|
32
|
-
case "card":
|
|
33
|
-
return "bg-card";
|
|
34
|
-
case "accent":
|
|
35
|
-
return "bg-accent";
|
|
36
|
-
case "subtle":
|
|
37
|
-
return "bg-muted/50";
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
function getNestedCardTextColor(parentBg, options) {
|
|
42
|
-
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
43
|
-
return isDark ? "text-foreground" : "";
|
|
44
|
-
}
|
|
45
15
|
var badgeVariants = cva(
|
|
46
16
|
"inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
|
|
47
17
|
{
|
|
@@ -593,72 +563,56 @@ function ExpandableCaseStudyCards({
|
|
|
593
563
|
"a",
|
|
594
564
|
{
|
|
595
565
|
href: item.href,
|
|
596
|
-
className: "relative block h-full w-full overflow-hidden rounded-xl
|
|
566
|
+
className: "relative block h-full w-full overflow-hidden rounded-xl",
|
|
597
567
|
children: [
|
|
598
|
-
/* @__PURE__ */
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
568
|
+
/* @__PURE__ */ jsx("div", { className: 'absolute inset-0 lg:group-data-[state="closed"]:blur-sm lg:transition-[filter] lg:duration-500', children: /* @__PURE__ */ jsx(
|
|
569
|
+
Img,
|
|
570
|
+
{
|
|
571
|
+
src: item.image,
|
|
572
|
+
alt: typeof item.title === "string" ? item.title : item.imageAlt || "Case study image",
|
|
573
|
+
className: cn(
|
|
574
|
+
"h-full w-full object-cover object-center",
|
|
575
|
+
imageClassName
|
|
576
|
+
),
|
|
577
|
+
loading: "lazy",
|
|
578
|
+
optixFlowConfig
|
|
579
|
+
}
|
|
580
|
+
) }),
|
|
581
|
+
/* @__PURE__ */ jsx("div", { className: "absolute inset-x-0 bottom-0 h-[70%] bg-linear-to-t from-black/90 from-30% to-transparent" }),
|
|
582
|
+
/* @__PURE__ */ jsxs("div", { className: 'absolute inset-0 flex flex-col justify-end p-4 pb-5 transition-opacity delay-200 duration-500 lg:group-data-[state="closed"]:opacity-0', children: [
|
|
583
|
+
item.badges && item.badges.length > 0 && /* @__PURE__ */ jsx(
|
|
613
584
|
"div",
|
|
614
585
|
{
|
|
615
586
|
className: cn(
|
|
616
|
-
"
|
|
617
|
-
|
|
618
|
-
getNestedCardTextColor(background)
|
|
587
|
+
"mb-3 flex flex-wrap items-center gap-2",
|
|
588
|
+
badgesClassName
|
|
619
589
|
),
|
|
620
|
-
children: /* @__PURE__ */ jsx(
|
|
590
|
+
children: item.badges.map((badge, idx) => /* @__PURE__ */ jsx(Badge, { variant: "secondary", className: badgeClassName, children: badge }, idx))
|
|
621
591
|
}
|
|
622
592
|
),
|
|
623
|
-
/* @__PURE__ */
|
|
624
|
-
|
|
625
|
-
/* @__PURE__ */ jsxs("div", { className: "relative flex flex-col justify-between gap-4 md:absolute md:inset-0 md:max-lg:inset-x-[50%] md:max-lg:w-[50%]", children: [
|
|
626
|
-
/* @__PURE__ */ jsx("div", { className: 'flex flex-col gap-3 p-4 pt-6 transition-all delay-200 duration-500 lg:group-data-[state="closed"]:opacity-0', children: /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-2", children: [
|
|
627
|
-
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
593
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-end justify-between gap-3", children: [
|
|
594
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
|
|
628
595
|
item.logo && /* @__PURE__ */ jsx("div", { className: "mb-1", children: /* @__PURE__ */ jsx(
|
|
629
596
|
Img,
|
|
630
597
|
{
|
|
631
598
|
src: item.logo,
|
|
632
599
|
alt: item.logoAlt || item.company || "Logo",
|
|
633
|
-
className: cn("h-6 max-w-[120px] object-contain object-left lg:h-8 lg:max-w-[150px]", logoClassName),
|
|
600
|
+
className: cn("h-6 max-w-[120px] object-contain object-left invert lg:h-8 lg:max-w-[150px]", logoClassName),
|
|
634
601
|
loading: "lazy",
|
|
635
602
|
optixFlowConfig
|
|
636
603
|
}
|
|
637
604
|
) }),
|
|
638
|
-
/* @__PURE__ */ jsx("div", { className: "text-base font-medium lg:text-lg", children: item.title }),
|
|
639
|
-
item.description && /* @__PURE__ */ jsx("div", { className: "text-sm text-
|
|
605
|
+
/* @__PURE__ */ jsx("div", { className: "text-base font-medium text-white lg:text-lg", children: item.title }),
|
|
606
|
+
item.description && /* @__PURE__ */ jsx("div", { className: "text-sm text-white/80", children: item.description })
|
|
640
607
|
] }),
|
|
641
608
|
/* @__PURE__ */ jsx(
|
|
642
609
|
"div",
|
|
643
610
|
{
|
|
644
|
-
className:
|
|
645
|
-
"flex size-8 shrink-0 items-center justify-center rounded-full text-foreground transition-transform group-hover:translate-x-1 group-hover:-translate-y-1 lg:size-10",
|
|
646
|
-
getNestedCardBg(background, "card")
|
|
647
|
-
),
|
|
611
|
+
className: "flex size-8 shrink-0 items-center justify-center rounded-full bg-white/20 text-white backdrop-blur-sm transition-transform group-hover:translate-x-1 group-hover:-translate-y-1 lg:size-10",
|
|
648
612
|
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-up-right", size: 20 })
|
|
649
613
|
}
|
|
650
614
|
)
|
|
651
|
-
] })
|
|
652
|
-
/* @__PURE__ */ jsx(
|
|
653
|
-
"div",
|
|
654
|
-
{
|
|
655
|
-
className: cn(
|
|
656
|
-
'flex h-20 items-center gap-2 px-4 pb-4 transition-opacity delay-200 duration-500 lg:group-data-[state="closed"]:opacity-0',
|
|
657
|
-
badgesClassName
|
|
658
|
-
),
|
|
659
|
-
children: item.badges?.map((badge, idx) => /* @__PURE__ */ jsx(Badge, { variant: "secondary", className: badgeClassName, children: badge }, idx))
|
|
660
|
-
}
|
|
661
|
-
)
|
|
615
|
+
] })
|
|
662
616
|
] })
|
|
663
617
|
]
|
|
664
618
|
}
|
|
@@ -1240,27 +1240,24 @@ function InteriorCarousel({
|
|
|
1240
1240
|
patternClassName,
|
|
1241
1241
|
className,
|
|
1242
1242
|
children: [
|
|
1243
|
-
heading ||
|
|
1244
|
-
heading && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1243
|
+
heading || description ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 mb-16", children: [
|
|
1244
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1245
1245
|
"h2",
|
|
1246
1246
|
{
|
|
1247
1247
|
className: cn(
|
|
1248
|
-
"
|
|
1248
|
+
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl text-balance",
|
|
1249
1249
|
headingClassName
|
|
1250
1250
|
),
|
|
1251
1251
|
children: heading
|
|
1252
1252
|
}
|
|
1253
|
-
),
|
|
1254
|
-
descriptionContent && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1255
|
-
"
|
|
1253
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
1254
|
+
descriptionContent && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-lg text-balance", descriptionClassName), children: descriptionContent }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1255
|
+
"div",
|
|
1256
1256
|
{
|
|
1257
|
-
className: cn(
|
|
1258
|
-
"text-center text-sm text-muted-foreground",
|
|
1259
|
-
descriptionClassName
|
|
1260
|
-
),
|
|
1257
|
+
className: cn("max-w-lg text-balance", descriptionClassName),
|
|
1261
1258
|
children: descriptionContent
|
|
1262
1259
|
}
|
|
1263
|
-
)
|
|
1260
|
+
))
|
|
1264
1261
|
] }) : null,
|
|
1265
1262
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1266
1263
|
Carousel,
|
|
@@ -1216,27 +1216,24 @@ function InteriorCarousel({
|
|
|
1216
1216
|
patternClassName,
|
|
1217
1217
|
className,
|
|
1218
1218
|
children: [
|
|
1219
|
-
heading ||
|
|
1220
|
-
heading && /* @__PURE__ */ jsx(
|
|
1219
|
+
heading || description ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 mb-16", children: [
|
|
1220
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
1221
1221
|
"h2",
|
|
1222
1222
|
{
|
|
1223
1223
|
className: cn(
|
|
1224
|
-
"
|
|
1224
|
+
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl text-balance",
|
|
1225
1225
|
headingClassName
|
|
1226
1226
|
),
|
|
1227
1227
|
children: heading
|
|
1228
1228
|
}
|
|
1229
|
-
),
|
|
1230
|
-
descriptionContent && /* @__PURE__ */ jsx(
|
|
1231
|
-
"
|
|
1229
|
+
) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
|
|
1230
|
+
descriptionContent && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("max-w-lg text-balance", descriptionClassName), children: descriptionContent }) : /* @__PURE__ */ jsx(
|
|
1231
|
+
"div",
|
|
1232
1232
|
{
|
|
1233
|
-
className: cn(
|
|
1234
|
-
"text-center text-sm text-muted-foreground",
|
|
1235
|
-
descriptionClassName
|
|
1236
|
-
),
|
|
1233
|
+
className: cn("max-w-lg text-balance", descriptionClassName),
|
|
1237
1234
|
children: descriptionContent
|
|
1238
1235
|
}
|
|
1239
|
-
)
|
|
1236
|
+
))
|
|
1240
1237
|
] }) : null,
|
|
1241
1238
|
/* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsxs(
|
|
1242
1239
|
Carousel,
|
|
@@ -629,33 +629,21 @@ function MasonryMotionGrid({
|
|
|
629
629
|
patternClassName,
|
|
630
630
|
className,
|
|
631
631
|
children: [
|
|
632
|
-
title || description ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
632
|
+
title || description ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 mb-16", children: [
|
|
633
633
|
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
634
634
|
"h2",
|
|
635
635
|
{
|
|
636
636
|
className: cn(
|
|
637
|
-
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl",
|
|
637
|
+
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl text-balance",
|
|
638
638
|
titleClassName
|
|
639
639
|
),
|
|
640
640
|
children: title
|
|
641
641
|
}
|
|
642
642
|
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
643
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
644
|
-
"p",
|
|
645
|
-
{
|
|
646
|
-
className: cn(
|
|
647
|
-
"max-w-lg text-muted-foreground",
|
|
648
|
-
descriptionClassName
|
|
649
|
-
),
|
|
650
|
-
children: description
|
|
651
|
-
}
|
|
652
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
643
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-lg text-balance", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
653
644
|
"div",
|
|
654
645
|
{
|
|
655
|
-
className: cn(
|
|
656
|
-
"max-w-lg text-muted-foreground",
|
|
657
|
-
descriptionClassName
|
|
658
|
-
),
|
|
646
|
+
className: cn("max-w-lg text-balance", descriptionClassName),
|
|
659
647
|
children: description
|
|
660
648
|
}
|
|
661
649
|
))
|
|
@@ -623,33 +623,21 @@ function MasonryMotionGrid({
|
|
|
623
623
|
patternClassName,
|
|
624
624
|
className,
|
|
625
625
|
children: [
|
|
626
|
-
title || description ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
626
|
+
title || description ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 mb-16", children: [
|
|
627
627
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx(
|
|
628
628
|
"h2",
|
|
629
629
|
{
|
|
630
630
|
className: cn(
|
|
631
|
-
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl",
|
|
631
|
+
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl text-balance",
|
|
632
632
|
titleClassName
|
|
633
633
|
),
|
|
634
634
|
children: title
|
|
635
635
|
}
|
|
636
636
|
) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
|
|
637
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
638
|
-
"p",
|
|
639
|
-
{
|
|
640
|
-
className: cn(
|
|
641
|
-
"max-w-lg text-muted-foreground",
|
|
642
|
-
descriptionClassName
|
|
643
|
-
),
|
|
644
|
-
children: description
|
|
645
|
-
}
|
|
646
|
-
) : /* @__PURE__ */ jsx(
|
|
637
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("max-w-lg text-balance", descriptionClassName), children: description }) : /* @__PURE__ */ jsx(
|
|
647
638
|
"div",
|
|
648
639
|
{
|
|
649
|
-
className: cn(
|
|
650
|
-
"max-w-lg text-muted-foreground",
|
|
651
|
-
descriptionClassName
|
|
652
|
-
),
|
|
640
|
+
className: cn("max-w-lg text-balance", descriptionClassName),
|
|
653
641
|
children: description
|
|
654
642
|
}
|
|
655
643
|
))
|