@opensite/ui 1.2.0 → 1.2.2
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 +7 -9
- package/dist/auto-scroll-carousel.js +7 -9
- 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-gradient-text.cjs +6 -17
- package/dist/carousel-gradient-text.d.cts +4 -0
- package/dist/carousel-gradient-text.d.ts +4 -0
- package/dist/carousel-gradient-text.js +6 -17
- package/dist/carousel-icon-sidebar.cjs +49 -6
- package/dist/carousel-icon-sidebar.d.cts +19 -3
- package/dist/carousel-icon-sidebar.d.ts +19 -3
- package/dist/carousel-icon-sidebar.js +49 -6
- package/dist/carousel-icon-tabs.cjs +20 -6
- package/dist/carousel-icon-tabs.js +20 -6
- package/dist/carousel-scale-focus.cjs +4 -10
- package/dist/carousel-scale-focus.js +4 -10
- package/dist/carousel-tabs-content.cjs +6 -18
- package/dist/carousel-tabs-content.js +6 -18
- package/dist/expandable-case-study-cards.cjs +39 -80
- package/dist/expandable-case-study-cards.js +39 -80
- package/dist/interior-carousel.cjs +9 -12
- package/dist/interior-carousel.js +9 -12
- package/dist/masonry-motion-grid.cjs +5 -16
- package/dist/masonry-motion-grid.js +5 -16
- package/dist/registry.cjs +7660 -7687
- package/dist/registry.js +7658 -7685
- package/dist/testimonial-carousel-cards.cjs +10 -63
- package/dist/testimonial-carousel-cards.js +10 -63
- package/package.json +1 -1
|
@@ -1100,13 +1100,11 @@ function AutoScrollCarousel({
|
|
|
1100
1100
|
className: actionClass,
|
|
1101
1101
|
...pressableProps
|
|
1102
1102
|
} = action;
|
|
1103
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1103
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex text-left", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1104
1104
|
Pressable,
|
|
1105
1105
|
{
|
|
1106
|
-
variant: "link",
|
|
1107
|
-
asButton: true,
|
|
1108
1106
|
className: cn(
|
|
1109
|
-
"font-medium flex items-center",
|
|
1107
|
+
"font-medium flex items-center text-lg px-0",
|
|
1110
1108
|
actionClass,
|
|
1111
1109
|
actionClassName
|
|
1112
1110
|
),
|
|
@@ -1118,13 +1116,13 @@ function AutoScrollCarousel({
|
|
|
1118
1116
|
DynamicIcon,
|
|
1119
1117
|
{
|
|
1120
1118
|
name: "lucide/move-right",
|
|
1121
|
-
size:
|
|
1119
|
+
size: 24,
|
|
1122
1120
|
className: "ml-2 inline"
|
|
1123
1121
|
}
|
|
1124
1122
|
)
|
|
1125
1123
|
] })
|
|
1126
1124
|
}
|
|
1127
|
-
);
|
|
1125
|
+
) });
|
|
1128
1126
|
}, [actionSlot, action, actionClassName]);
|
|
1129
1127
|
const imagesContent = React4.useMemo(() => {
|
|
1130
1128
|
if (imagesSlot) return imagesSlot;
|
|
@@ -1159,15 +1157,15 @@ function AutoScrollCarousel({
|
|
|
1159
1157
|
"div",
|
|
1160
1158
|
{
|
|
1161
1159
|
className: cn(
|
|
1162
|
-
"mb-12 grid grid-cols-1 gap-x-12 gap-y-6 md:mb-16 md:grid-cols-2 md:gap-x-24",
|
|
1160
|
+
"mb-12 grid grid-cols-1 gap-x-12 gap-y-6 md:mb-16 md:grid-cols-2 md:gap-x-24 px-6 md:px-0",
|
|
1163
1161
|
headerClassName
|
|
1164
1162
|
),
|
|
1165
1163
|
children: [
|
|
1166
1164
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-8 md:gap-12", children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1167
|
-
"
|
|
1165
|
+
"h2",
|
|
1168
1166
|
{
|
|
1169
1167
|
className: cn(
|
|
1170
|
-
"text-3xl font-bold md:text-4xl",
|
|
1168
|
+
"text-3xl font-bold md:text-4xl text-balance",
|
|
1171
1169
|
headingClassName
|
|
1172
1170
|
),
|
|
1173
1171
|
children: heading
|
|
@@ -1075,13 +1075,11 @@ function AutoScrollCarousel({
|
|
|
1075
1075
|
className: actionClass,
|
|
1076
1076
|
...pressableProps
|
|
1077
1077
|
} = action;
|
|
1078
|
-
return /* @__PURE__ */ jsx(
|
|
1078
|
+
return /* @__PURE__ */ jsx("div", { className: "flex text-left", children: /* @__PURE__ */ jsx(
|
|
1079
1079
|
Pressable,
|
|
1080
1080
|
{
|
|
1081
|
-
variant: "link",
|
|
1082
|
-
asButton: true,
|
|
1083
1081
|
className: cn(
|
|
1084
|
-
"font-medium flex items-center",
|
|
1082
|
+
"font-medium flex items-center text-lg px-0",
|
|
1085
1083
|
actionClass,
|
|
1086
1084
|
actionClassName
|
|
1087
1085
|
),
|
|
@@ -1093,13 +1091,13 @@ function AutoScrollCarousel({
|
|
|
1093
1091
|
DynamicIcon,
|
|
1094
1092
|
{
|
|
1095
1093
|
name: "lucide/move-right",
|
|
1096
|
-
size:
|
|
1094
|
+
size: 24,
|
|
1097
1095
|
className: "ml-2 inline"
|
|
1098
1096
|
}
|
|
1099
1097
|
)
|
|
1100
1098
|
] })
|
|
1101
1099
|
}
|
|
1102
|
-
);
|
|
1100
|
+
) });
|
|
1103
1101
|
}, [actionSlot, action, actionClassName]);
|
|
1104
1102
|
const imagesContent = useMemo(() => {
|
|
1105
1103
|
if (imagesSlot) return imagesSlot;
|
|
@@ -1134,15 +1132,15 @@ function AutoScrollCarousel({
|
|
|
1134
1132
|
"div",
|
|
1135
1133
|
{
|
|
1136
1134
|
className: cn(
|
|
1137
|
-
"mb-12 grid grid-cols-1 gap-x-12 gap-y-6 md:mb-16 md:grid-cols-2 md:gap-x-24",
|
|
1135
|
+
"mb-12 grid grid-cols-1 gap-x-12 gap-y-6 md:mb-16 md:grid-cols-2 md:gap-x-24 px-6 md:px-0",
|
|
1138
1136
|
headerClassName
|
|
1139
1137
|
),
|
|
1140
1138
|
children: [
|
|
1141
1139
|
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-8 md:gap-12", children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
1142
|
-
"
|
|
1140
|
+
"h2",
|
|
1143
1141
|
{
|
|
1144
1142
|
className: cn(
|
|
1145
|
-
"text-3xl font-bold md:text-4xl",
|
|
1143
|
+
"text-3xl font-bold md:text-4xl text-balance",
|
|
1146
1144
|
headingClassName
|
|
1147
1145
|
),
|
|
1148
1146
|
children: heading
|
|
@@ -428,9 +428,9 @@ function BlurVignette({
|
|
|
428
428
|
--r: max(var(--transition-length), calc(var(--radius) - var(--inset)));
|
|
429
429
|
--corner-size: calc(var(--r) + var(--inset)) calc(var(--r) + var(--inset));
|
|
430
430
|
--corner-gradient: transparent 0px,
|
|
431
|
-
transparent calc(var(--r) - var(--transition-length)),
|
|
431
|
+
transparent calc(var(--r) - var(--transition-length)),
|
|
432
432
|
black var(--r);
|
|
433
|
-
--fill-gradient: black,
|
|
433
|
+
--fill-gradient: black,
|
|
434
434
|
black var(--inset),
|
|
435
435
|
transparent calc(var(--inset) + var(--transition-length)),
|
|
436
436
|
transparent calc(100% - var(--transition-length) - var(--inset)),
|
|
@@ -443,21 +443,21 @@ function BlurVignette({
|
|
|
443
443
|
radial-gradient(at bottom left, var(--corner-gradient)),
|
|
444
444
|
radial-gradient(at top left, var(--corner-gradient)),
|
|
445
445
|
radial-gradient(at top right, var(--corner-gradient));
|
|
446
|
-
-webkit-mask-size: 100% var(--fill-narrow-size),
|
|
446
|
+
-webkit-mask-size: 100% var(--fill-narrow-size),
|
|
447
447
|
var(--fill-narrow-size) 100%,
|
|
448
|
-
var(--corner-size),
|
|
449
|
-
var(--corner-size),
|
|
448
|
+
var(--corner-size),
|
|
449
|
+
var(--corner-size),
|
|
450
450
|
var(--corner-size),
|
|
451
451
|
var(--corner-size);
|
|
452
|
-
-webkit-mask-position: 0 var(--fill-farther-position),
|
|
452
|
+
-webkit-mask-position: 0 var(--fill-farther-position),
|
|
453
453
|
var(--fill-farther-position) 0,
|
|
454
|
-
0 0,
|
|
455
|
-
100% 0,
|
|
456
|
-
100% 100%,
|
|
454
|
+
0 0,
|
|
455
|
+
100% 0,
|
|
456
|
+
100% 100%,
|
|
457
457
|
0 100%;
|
|
458
458
|
-webkit-mask-repeat: no-repeat;
|
|
459
459
|
opacity: 0;
|
|
460
|
-
transition: opacity 0.3s ease;
|
|
460
|
+
transition: opacity 0.3s ease;
|
|
461
461
|
}
|
|
462
462
|
|
|
463
463
|
.blur-vignette.active {
|
|
@@ -556,33 +556,21 @@ function BlurVignetteGrid({
|
|
|
556
556
|
patternClassName,
|
|
557
557
|
className,
|
|
558
558
|
children: [
|
|
559
|
-
title || description ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
559
|
+
title || description ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 mb-16", children: [
|
|
560
560
|
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
561
561
|
"h2",
|
|
562
562
|
{
|
|
563
563
|
className: cn(
|
|
564
|
-
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl",
|
|
564
|
+
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl text-balance",
|
|
565
565
|
titleClassName
|
|
566
566
|
),
|
|
567
567
|
children: title
|
|
568
568
|
}
|
|
569
569
|
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
570
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
571
|
-
"p",
|
|
572
|
-
{
|
|
573
|
-
className: cn(
|
|
574
|
-
"max-w-lg text-muted-foreground",
|
|
575
|
-
descriptionClassName
|
|
576
|
-
),
|
|
577
|
-
children: description
|
|
578
|
-
}
|
|
579
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
570
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-lg text-balance", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
580
571
|
"div",
|
|
581
572
|
{
|
|
582
|
-
className: cn(
|
|
583
|
-
"max-w-lg text-muted-foreground",
|
|
584
|
-
descriptionClassName
|
|
585
|
-
),
|
|
573
|
+
className: cn("max-w-lg text-balance", descriptionClassName),
|
|
586
574
|
children: description
|
|
587
575
|
}
|
|
588
576
|
))
|
|
@@ -590,7 +578,11 @@ function BlurVignetteGrid({
|
|
|
590
578
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
591
579
|
"div",
|
|
592
580
|
{
|
|
593
|
-
className: cn(
|
|
581
|
+
className: cn(
|
|
582
|
+
`grid grid-cols-1 md:grid-cols-${gridColumns}`,
|
|
583
|
+
gridGap,
|
|
584
|
+
gridClassName
|
|
585
|
+
),
|
|
594
586
|
children: imagesContent
|
|
595
587
|
}
|
|
596
588
|
)
|
|
@@ -422,9 +422,9 @@ function BlurVignette({
|
|
|
422
422
|
--r: max(var(--transition-length), calc(var(--radius) - var(--inset)));
|
|
423
423
|
--corner-size: calc(var(--r) + var(--inset)) calc(var(--r) + var(--inset));
|
|
424
424
|
--corner-gradient: transparent 0px,
|
|
425
|
-
transparent calc(var(--r) - var(--transition-length)),
|
|
425
|
+
transparent calc(var(--r) - var(--transition-length)),
|
|
426
426
|
black var(--r);
|
|
427
|
-
--fill-gradient: black,
|
|
427
|
+
--fill-gradient: black,
|
|
428
428
|
black var(--inset),
|
|
429
429
|
transparent calc(var(--inset) + var(--transition-length)),
|
|
430
430
|
transparent calc(100% - var(--transition-length) - var(--inset)),
|
|
@@ -437,21 +437,21 @@ function BlurVignette({
|
|
|
437
437
|
radial-gradient(at bottom left, var(--corner-gradient)),
|
|
438
438
|
radial-gradient(at top left, var(--corner-gradient)),
|
|
439
439
|
radial-gradient(at top right, var(--corner-gradient));
|
|
440
|
-
-webkit-mask-size: 100% var(--fill-narrow-size),
|
|
440
|
+
-webkit-mask-size: 100% var(--fill-narrow-size),
|
|
441
441
|
var(--fill-narrow-size) 100%,
|
|
442
|
-
var(--corner-size),
|
|
443
|
-
var(--corner-size),
|
|
442
|
+
var(--corner-size),
|
|
443
|
+
var(--corner-size),
|
|
444
444
|
var(--corner-size),
|
|
445
445
|
var(--corner-size);
|
|
446
|
-
-webkit-mask-position: 0 var(--fill-farther-position),
|
|
446
|
+
-webkit-mask-position: 0 var(--fill-farther-position),
|
|
447
447
|
var(--fill-farther-position) 0,
|
|
448
|
-
0 0,
|
|
449
|
-
100% 0,
|
|
450
|
-
100% 100%,
|
|
448
|
+
0 0,
|
|
449
|
+
100% 0,
|
|
450
|
+
100% 100%,
|
|
451
451
|
0 100%;
|
|
452
452
|
-webkit-mask-repeat: no-repeat;
|
|
453
453
|
opacity: 0;
|
|
454
|
-
transition: opacity 0.3s ease;
|
|
454
|
+
transition: opacity 0.3s ease;
|
|
455
455
|
}
|
|
456
456
|
|
|
457
457
|
.blur-vignette.active {
|
|
@@ -550,33 +550,21 @@ function BlurVignetteGrid({
|
|
|
550
550
|
patternClassName,
|
|
551
551
|
className,
|
|
552
552
|
children: [
|
|
553
|
-
title || description ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
553
|
+
title || description ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 mb-16", children: [
|
|
554
554
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx(
|
|
555
555
|
"h2",
|
|
556
556
|
{
|
|
557
557
|
className: cn(
|
|
558
|
-
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl",
|
|
558
|
+
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl text-balance",
|
|
559
559
|
titleClassName
|
|
560
560
|
),
|
|
561
561
|
children: title
|
|
562
562
|
}
|
|
563
563
|
) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
|
|
564
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
565
|
-
"p",
|
|
566
|
-
{
|
|
567
|
-
className: cn(
|
|
568
|
-
"max-w-lg text-muted-foreground",
|
|
569
|
-
descriptionClassName
|
|
570
|
-
),
|
|
571
|
-
children: description
|
|
572
|
-
}
|
|
573
|
-
) : /* @__PURE__ */ jsx(
|
|
564
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("max-w-lg text-balance", descriptionClassName), children: description }) : /* @__PURE__ */ jsx(
|
|
574
565
|
"div",
|
|
575
566
|
{
|
|
576
|
-
className: cn(
|
|
577
|
-
"max-w-lg text-muted-foreground",
|
|
578
|
-
descriptionClassName
|
|
579
|
-
),
|
|
567
|
+
className: cn("max-w-lg text-balance", descriptionClassName),
|
|
580
568
|
children: description
|
|
581
569
|
}
|
|
582
570
|
))
|
|
@@ -584,7 +572,11 @@ function BlurVignetteGrid({
|
|
|
584
572
|
/* @__PURE__ */ jsx(
|
|
585
573
|
"div",
|
|
586
574
|
{
|
|
587
|
-
className: cn(
|
|
575
|
+
className: cn(
|
|
576
|
+
`grid grid-cols-1 md:grid-cols-${gridColumns}`,
|
|
577
|
+
gridGap,
|
|
578
|
+
gridClassName
|
|
579
|
+
),
|
|
588
580
|
children: imagesContent
|
|
589
581
|
}
|
|
590
582
|
)
|
|
@@ -1243,7 +1243,7 @@ function CarouselBadgeCards({
|
|
|
1243
1243
|
"div",
|
|
1244
1244
|
{
|
|
1245
1245
|
className: cn(
|
|
1246
|
-
"mb-8 flex items-end justify-between md:mb-14 lg:mb-16",
|
|
1246
|
+
"mb-8 flex items-end justify-between md:mb-14 lg:mb-16 px-6 md:px-0",
|
|
1247
1247
|
headerClassName
|
|
1248
1248
|
),
|
|
1249
1249
|
children: [
|
|
@@ -1219,7 +1219,7 @@ function CarouselBadgeCards({
|
|
|
1219
1219
|
"div",
|
|
1220
1220
|
{
|
|
1221
1221
|
className: cn(
|
|
1222
|
-
"mb-8 flex items-end justify-between md:mb-14 lg:mb-16",
|
|
1222
|
+
"mb-8 flex items-end justify-between md:mb-14 lg:mb-16 px-6 md:px-0",
|
|
1223
1223
|
headerClassName
|
|
1224
1224
|
),
|
|
1225
1225
|
children: [
|
|
@@ -1254,7 +1254,7 @@ function CarouselGradientOverlay({
|
|
|
1254
1254
|
]
|
|
1255
1255
|
}
|
|
1256
1256
|
),
|
|
1257
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full -mx-4
|
|
1257
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full -mx-4", children: [
|
|
1258
1258
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1259
1259
|
Carousel,
|
|
1260
1260
|
{
|
|
@@ -1230,7 +1230,7 @@ function CarouselGradientOverlay({
|
|
|
1230
1230
|
]
|
|
1231
1231
|
}
|
|
1232
1232
|
),
|
|
1233
|
-
/* @__PURE__ */ jsxs("div", { className: "w-full -mx-4
|
|
1233
|
+
/* @__PURE__ */ jsxs("div", { className: "w-full -mx-4", children: [
|
|
1234
1234
|
/* @__PURE__ */ jsx(
|
|
1235
1235
|
Carousel,
|
|
1236
1236
|
{
|
|
@@ -1166,8 +1166,9 @@ function CarouselGradientText({
|
|
|
1166
1166
|
if (itemsSlot) return itemsSlot;
|
|
1167
1167
|
if (!items || items.length === 0) return null;
|
|
1168
1168
|
return items.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx(CarouselItem, { className: cn("w-fit", itemClassName), children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1169
|
-
|
|
1169
|
+
Pressable,
|
|
1170
1170
|
{
|
|
1171
|
+
href: item.href,
|
|
1171
1172
|
className: cn(
|
|
1172
1173
|
"relative aspect-4/5 max-h-[500px] rounded-2xl",
|
|
1173
1174
|
item.className,
|
|
@@ -1196,12 +1197,12 @@ function CarouselGradientText({
|
|
|
1196
1197
|
optixFlowConfig
|
|
1197
1198
|
}
|
|
1198
1199
|
),
|
|
1199
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 p-8", children: /* @__PURE__ */ jsxRuntime.jsxs("
|
|
1200
|
-
/* @__PURE__ */ jsxRuntime.jsxs("
|
|
1200
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 p-8", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-sm font-semibold text-white/70", children: [
|
|
1201
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mr-1 text-white", children: [
|
|
1201
1202
|
item.title,
|
|
1202
1203
|
"."
|
|
1203
1204
|
] }),
|
|
1204
|
-
item.description
|
|
1205
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { children: item.description })
|
|
1205
1206
|
] }) })
|
|
1206
1207
|
]
|
|
1207
1208
|
}
|
|
@@ -1250,19 +1251,7 @@ function CarouselGradientText({
|
|
|
1250
1251
|
]
|
|
1251
1252
|
}
|
|
1252
1253
|
),
|
|
1253
|
-
tagline ? typeof tagline === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1254
|
-
"p",
|
|
1255
|
-
{
|
|
1256
|
-
className: cn("mt-8 text-xl text-primary", taglineClassName),
|
|
1257
|
-
children: tagline
|
|
1258
|
-
}
|
|
1259
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1260
|
-
"div",
|
|
1261
|
-
{
|
|
1262
|
-
className: cn("mt-8 text-xl text-primary", taglineClassName),
|
|
1263
|
-
children: tagline
|
|
1264
|
-
}
|
|
1265
|
-
) : null,
|
|
1254
|
+
tagline ? typeof tagline === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-2 md:mt-8 text-xl", taglineClassName), children: tagline }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-2 md:mt-8 text-xl", taglineClassName), children: tagline }) : null,
|
|
1266
1255
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1267
1256
|
"div",
|
|
1268
1257
|
{
|
|
@@ -1142,8 +1142,9 @@ function CarouselGradientText({
|
|
|
1142
1142
|
if (itemsSlot) return itemsSlot;
|
|
1143
1143
|
if (!items || items.length === 0) return null;
|
|
1144
1144
|
return items.map((item, idx) => /* @__PURE__ */ jsx(CarouselItem, { className: cn("w-fit", itemClassName), children: /* @__PURE__ */ jsxs(
|
|
1145
|
-
|
|
1145
|
+
Pressable,
|
|
1146
1146
|
{
|
|
1147
|
+
href: item.href,
|
|
1147
1148
|
className: cn(
|
|
1148
1149
|
"relative aspect-4/5 max-h-[500px] rounded-2xl",
|
|
1149
1150
|
item.className,
|
|
@@ -1172,12 +1173,12 @@ function CarouselGradientText({
|
|
|
1172
1173
|
optixFlowConfig
|
|
1173
1174
|
}
|
|
1174
1175
|
),
|
|
1175
|
-
/* @__PURE__ */ jsx("div", { className: "absolute inset-0 p-8", children: /* @__PURE__ */ jsxs("
|
|
1176
|
-
/* @__PURE__ */ jsxs("
|
|
1176
|
+
/* @__PURE__ */ jsx("div", { className: "absolute inset-0 p-8", children: /* @__PURE__ */ jsxs("div", { className: "text-sm font-semibold text-white/70", children: [
|
|
1177
|
+
/* @__PURE__ */ jsxs("div", { className: "mr-1 text-white", children: [
|
|
1177
1178
|
item.title,
|
|
1178
1179
|
"."
|
|
1179
1180
|
] }),
|
|
1180
|
-
item.description
|
|
1181
|
+
/* @__PURE__ */ jsx("div", { children: item.description })
|
|
1181
1182
|
] }) })
|
|
1182
1183
|
]
|
|
1183
1184
|
}
|
|
@@ -1226,19 +1227,7 @@ function CarouselGradientText({
|
|
|
1226
1227
|
]
|
|
1227
1228
|
}
|
|
1228
1229
|
),
|
|
1229
|
-
tagline ? typeof tagline === "string" ? /* @__PURE__ */ jsx(
|
|
1230
|
-
"p",
|
|
1231
|
-
{
|
|
1232
|
-
className: cn("mt-8 text-xl text-primary", taglineClassName),
|
|
1233
|
-
children: tagline
|
|
1234
|
-
}
|
|
1235
|
-
) : /* @__PURE__ */ jsx(
|
|
1236
|
-
"div",
|
|
1237
|
-
{
|
|
1238
|
-
className: cn("mt-8 text-xl text-primary", taglineClassName),
|
|
1239
|
-
children: tagline
|
|
1240
|
-
}
|
|
1241
|
-
) : null,
|
|
1230
|
+
tagline ? typeof tagline === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-2 md:mt-8 text-xl", taglineClassName), children: tagline }) : /* @__PURE__ */ jsx("div", { className: cn("mt-2 md:mt-8 text-xl", taglineClassName), children: tagline }) : null,
|
|
1242
1231
|
/* @__PURE__ */ jsxs(
|
|
1243
1232
|
"div",
|
|
1244
1233
|
{
|
|
@@ -1153,10 +1153,14 @@ var Section = React4__namespace.default.forwardRef(
|
|
|
1153
1153
|
);
|
|
1154
1154
|
Section.displayName = "Section";
|
|
1155
1155
|
function CarouselIconSidebar({
|
|
1156
|
+
title,
|
|
1157
|
+
description,
|
|
1156
1158
|
items,
|
|
1157
1159
|
itemsSlot,
|
|
1158
1160
|
sidebarSlot,
|
|
1159
1161
|
className,
|
|
1162
|
+
sectionTitleClassName,
|
|
1163
|
+
sectionDescriptionClassName,
|
|
1160
1164
|
sidebarClassName,
|
|
1161
1165
|
iconClassName,
|
|
1162
1166
|
titleClassName,
|
|
@@ -1216,7 +1220,7 @@ function CarouselIconSidebar({
|
|
|
1216
1220
|
"div",
|
|
1217
1221
|
{
|
|
1218
1222
|
className: cn(
|
|
1219
|
-
"flex h-full flex-col gap-8 rounded-lg
|
|
1223
|
+
"flex h-full flex-col gap-8 rounded-lg p-8",
|
|
1220
1224
|
getNestedCardBg(background),
|
|
1221
1225
|
getNestedCardTextColor(background),
|
|
1222
1226
|
sidebarClassName
|
|
@@ -1274,13 +1278,13 @@ function CarouselIconSidebar({
|
|
|
1274
1278
|
const itemsContent = React4.useMemo(() => {
|
|
1275
1279
|
if (itemsSlot) return itemsSlot;
|
|
1276
1280
|
if (!items || items.length === 0) return null;
|
|
1277
|
-
return items.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(CarouselItem, { className: cn("h-full", itemClassName), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("
|
|
1281
|
+
return items.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(CarouselItem, { className: cn("h-full", itemClassName), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("h-full w-full", image.className), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1278
1282
|
img.Img,
|
|
1279
1283
|
{
|
|
1280
1284
|
src: image.src,
|
|
1281
1285
|
alt: typeof image.title === "string" ? image.title : image.alt || "Carousel image",
|
|
1282
1286
|
className: cn(
|
|
1283
|
-
"h-full w-full rounded-lg object-cover cursor-pointer
|
|
1287
|
+
"h-full w-full rounded-lg object-cover cursor-pointer",
|
|
1284
1288
|
imageClassName
|
|
1285
1289
|
),
|
|
1286
1290
|
loading: "lazy",
|
|
@@ -1296,7 +1300,14 @@ function CarouselIconSidebar({
|
|
|
1296
1300
|
}
|
|
1297
1301
|
}
|
|
1298
1302
|
) }) }, index));
|
|
1299
|
-
}, [
|
|
1303
|
+
}, [
|
|
1304
|
+
itemsSlot,
|
|
1305
|
+
items,
|
|
1306
|
+
itemClassName,
|
|
1307
|
+
imageClassName,
|
|
1308
|
+
optixFlowConfig,
|
|
1309
|
+
handleImageClick
|
|
1310
|
+
]);
|
|
1300
1311
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1301
1312
|
Section,
|
|
1302
1313
|
{
|
|
@@ -1307,9 +1318,41 @@ function CarouselIconSidebar({
|
|
|
1307
1318
|
patternClassName,
|
|
1308
1319
|
className,
|
|
1309
1320
|
children: [
|
|
1321
|
+
title || description ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 mb-6 md:mb-16", children: [
|
|
1322
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1323
|
+
"h2",
|
|
1324
|
+
{
|
|
1325
|
+
className: cn(
|
|
1326
|
+
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl text-balance",
|
|
1327
|
+
sectionTitleClassName
|
|
1328
|
+
),
|
|
1329
|
+
children: title
|
|
1330
|
+
}
|
|
1331
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: sectionTitleClassName, children: title })),
|
|
1332
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1333
|
+
"p",
|
|
1334
|
+
{
|
|
1335
|
+
className: cn(
|
|
1336
|
+
"max-w-lg text-balance",
|
|
1337
|
+
sectionDescriptionClassName
|
|
1338
|
+
),
|
|
1339
|
+
children: description
|
|
1340
|
+
}
|
|
1341
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1342
|
+
"div",
|
|
1343
|
+
{
|
|
1344
|
+
className: cn(
|
|
1345
|
+
"max-w-lg text-balance",
|
|
1346
|
+
sectionDescriptionClassName
|
|
1347
|
+
),
|
|
1348
|
+
children: description
|
|
1349
|
+
}
|
|
1350
|
+
))
|
|
1351
|
+
] }) : null,
|
|
1310
1352
|
/* @__PURE__ */ jsxRuntime.jsx(Carousel, { setApi, className: cn("w-full", carouselClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-6 md:grid-cols-5", children: [
|
|
1311
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "md:col-span-2", children: sidebarContent }),
|
|
1312
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-full md:col-span-3", children: /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { className: carouselContentClassName, children: itemsContent }) })
|
|
1353
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "hidden md:visible md:col-span-2", children: sidebarContent }),
|
|
1354
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-full md:col-span-3", children: /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { className: carouselContentClassName, children: itemsContent }) }),
|
|
1355
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "visible md:hidden md:col-span-2", children: sidebarContent })
|
|
1313
1356
|
] }) }),
|
|
1314
1357
|
lightboxOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1315
1358
|
lightbox.Lightbox,
|
|
@@ -36,6 +36,14 @@ interface CarouselIconSidebarItem {
|
|
|
36
36
|
className?: string;
|
|
37
37
|
}
|
|
38
38
|
interface CarouselIconSidebarProps {
|
|
39
|
+
/**
|
|
40
|
+
* Section title (displayed above the carousel)
|
|
41
|
+
*/
|
|
42
|
+
title?: React.ReactNode;
|
|
43
|
+
/**
|
|
44
|
+
* Section description (displayed above the carousel)
|
|
45
|
+
*/
|
|
46
|
+
description?: React.ReactNode;
|
|
39
47
|
/**
|
|
40
48
|
* Array of items to display
|
|
41
49
|
*/
|
|
@@ -52,6 +60,14 @@ interface CarouselIconSidebarProps {
|
|
|
52
60
|
* Additional CSS classes for the section
|
|
53
61
|
*/
|
|
54
62
|
className?: string;
|
|
63
|
+
/**
|
|
64
|
+
* Additional CSS classes for the section title
|
|
65
|
+
*/
|
|
66
|
+
sectionTitleClassName?: string;
|
|
67
|
+
/**
|
|
68
|
+
* Additional CSS classes for the section description
|
|
69
|
+
*/
|
|
70
|
+
sectionDescriptionClassName?: string;
|
|
55
71
|
/**
|
|
56
72
|
* Additional CSS classes for the sidebar panel
|
|
57
73
|
*/
|
|
@@ -61,11 +77,11 @@ interface CarouselIconSidebarProps {
|
|
|
61
77
|
*/
|
|
62
78
|
iconClassName?: string;
|
|
63
79
|
/**
|
|
64
|
-
* Additional CSS classes for the title
|
|
80
|
+
* Additional CSS classes for the sidebar item title
|
|
65
81
|
*/
|
|
66
82
|
titleClassName?: string;
|
|
67
83
|
/**
|
|
68
|
-
* Additional CSS classes for the description
|
|
84
|
+
* Additional CSS classes for the sidebar item description
|
|
69
85
|
*/
|
|
70
86
|
descriptionClassName?: string;
|
|
71
87
|
/**
|
|
@@ -136,6 +152,6 @@ interface CarouselIconSidebarProps {
|
|
|
136
152
|
* />
|
|
137
153
|
* ```
|
|
138
154
|
*/
|
|
139
|
-
declare function CarouselIconSidebar({ items, itemsSlot, sidebarSlot, className, sidebarClassName, iconClassName, titleClassName, descriptionClassName, controlsClassName, carouselClassName, carouselContentClassName, itemClassName, imageClassName, background, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: CarouselIconSidebarProps): React.JSX.Element;
|
|
155
|
+
declare function CarouselIconSidebar({ title, description, items, itemsSlot, sidebarSlot, className, sectionTitleClassName, sectionDescriptionClassName, sidebarClassName, iconClassName, titleClassName, descriptionClassName, controlsClassName, carouselClassName, carouselContentClassName, itemClassName, imageClassName, background, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: CarouselIconSidebarProps): React.JSX.Element;
|
|
140
156
|
|
|
141
157
|
export { CarouselIconSidebar, type CarouselIconSidebarItem, type CarouselIconSidebarProps };
|
|
@@ -36,6 +36,14 @@ interface CarouselIconSidebarItem {
|
|
|
36
36
|
className?: string;
|
|
37
37
|
}
|
|
38
38
|
interface CarouselIconSidebarProps {
|
|
39
|
+
/**
|
|
40
|
+
* Section title (displayed above the carousel)
|
|
41
|
+
*/
|
|
42
|
+
title?: React.ReactNode;
|
|
43
|
+
/**
|
|
44
|
+
* Section description (displayed above the carousel)
|
|
45
|
+
*/
|
|
46
|
+
description?: React.ReactNode;
|
|
39
47
|
/**
|
|
40
48
|
* Array of items to display
|
|
41
49
|
*/
|
|
@@ -52,6 +60,14 @@ interface CarouselIconSidebarProps {
|
|
|
52
60
|
* Additional CSS classes for the section
|
|
53
61
|
*/
|
|
54
62
|
className?: string;
|
|
63
|
+
/**
|
|
64
|
+
* Additional CSS classes for the section title
|
|
65
|
+
*/
|
|
66
|
+
sectionTitleClassName?: string;
|
|
67
|
+
/**
|
|
68
|
+
* Additional CSS classes for the section description
|
|
69
|
+
*/
|
|
70
|
+
sectionDescriptionClassName?: string;
|
|
55
71
|
/**
|
|
56
72
|
* Additional CSS classes for the sidebar panel
|
|
57
73
|
*/
|
|
@@ -61,11 +77,11 @@ interface CarouselIconSidebarProps {
|
|
|
61
77
|
*/
|
|
62
78
|
iconClassName?: string;
|
|
63
79
|
/**
|
|
64
|
-
* Additional CSS classes for the title
|
|
80
|
+
* Additional CSS classes for the sidebar item title
|
|
65
81
|
*/
|
|
66
82
|
titleClassName?: string;
|
|
67
83
|
/**
|
|
68
|
-
* Additional CSS classes for the description
|
|
84
|
+
* Additional CSS classes for the sidebar item description
|
|
69
85
|
*/
|
|
70
86
|
descriptionClassName?: string;
|
|
71
87
|
/**
|
|
@@ -136,6 +152,6 @@ interface CarouselIconSidebarProps {
|
|
|
136
152
|
* />
|
|
137
153
|
* ```
|
|
138
154
|
*/
|
|
139
|
-
declare function CarouselIconSidebar({ items, itemsSlot, sidebarSlot, className, sidebarClassName, iconClassName, titleClassName, descriptionClassName, controlsClassName, carouselClassName, carouselContentClassName, itemClassName, imageClassName, background, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: CarouselIconSidebarProps): React.JSX.Element;
|
|
155
|
+
declare function CarouselIconSidebar({ title, description, items, itemsSlot, sidebarSlot, className, sectionTitleClassName, sectionDescriptionClassName, sidebarClassName, iconClassName, titleClassName, descriptionClassName, controlsClassName, carouselClassName, carouselContentClassName, itemClassName, imageClassName, background, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: CarouselIconSidebarProps): React.JSX.Element;
|
|
140
156
|
|
|
141
157
|
export { CarouselIconSidebar, type CarouselIconSidebarItem, type CarouselIconSidebarProps };
|