@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
|
@@ -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
|
{
|
|
@@ -582,7 +552,7 @@ function ExpandableCaseStudyCards({
|
|
|
582
552
|
{
|
|
583
553
|
"data-state": selection === item.id ? "open" : "closed",
|
|
584
554
|
className: cn(
|
|
585
|
-
|
|
555
|
+
"group h-[280px] w-full lg:h-auto lg:w-auto lg:transform-gpu lg:transition-all lg:data-[state=closed]:w-[20%] lg:data-[state=closed]:duration-500 lg:data-[state=open]:w-[60%] lg:data-[state=open]:duration-400",
|
|
586
556
|
item.className,
|
|
587
557
|
cardClassName
|
|
588
558
|
),
|
|
@@ -593,72 +563,61 @@ 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-xs 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 lg:transition-opacity lg:delay-200 lg: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(
|
|
591
|
+
Badge,
|
|
592
|
+
{
|
|
593
|
+
variant: "secondary",
|
|
594
|
+
className: badgeClassName,
|
|
595
|
+
children: badge
|
|
596
|
+
},
|
|
597
|
+
idx
|
|
598
|
+
))
|
|
621
599
|
}
|
|
622
600
|
),
|
|
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: [
|
|
601
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-end justify-between gap-3", children: [
|
|
602
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
|
|
628
603
|
item.logo && /* @__PURE__ */ jsx("div", { className: "mb-1", children: /* @__PURE__ */ jsx(
|
|
629
604
|
Img,
|
|
630
605
|
{
|
|
631
606
|
src: item.logo,
|
|
632
607
|
alt: item.logoAlt || item.company || "Logo",
|
|
633
|
-
className: cn(
|
|
608
|
+
className: cn(
|
|
609
|
+
"h-6 max-w-[120px] object-contain object-left invert lg:h-8 lg:max-w-[150px]",
|
|
610
|
+
logoClassName
|
|
611
|
+
),
|
|
634
612
|
loading: "lazy",
|
|
635
613
|
optixFlowConfig
|
|
636
614
|
}
|
|
637
615
|
) }),
|
|
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-
|
|
616
|
+
/* @__PURE__ */ jsx("div", { className: "text-base font-medium text-white lg:text-lg", children: item.title }),
|
|
617
|
+
item.description && /* @__PURE__ */ jsx("div", { className: "text-sm text-white/80", children: item.description })
|
|
640
618
|
] }),
|
|
641
|
-
/* @__PURE__ */ jsx(
|
|
642
|
-
|
|
643
|
-
{
|
|
644
|
-
className: cn(
|
|
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
|
-
),
|
|
648
|
-
children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-up-right", size: 20 })
|
|
649
|
-
}
|
|
650
|
-
)
|
|
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
|
-
)
|
|
619
|
+
/* @__PURE__ */ jsx("div", { 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", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-up-right", size: 20 }) })
|
|
620
|
+
] })
|
|
662
621
|
] })
|
|
663
622
|
]
|
|
664
623
|
}
|
|
@@ -1240,29 +1240,26 @@ 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-6 md:mb-16 px-6 md:px-8", 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
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
1262
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-6 md:px-0", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1266
1263
|
Carousel,
|
|
1267
1264
|
{
|
|
1268
1265
|
opts: {
|
|
@@ -1216,29 +1216,26 @@ 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-6 md:mb-16 px-6 md:px-8", 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
|
-
/* @__PURE__ */ jsx("div", { className: "
|
|
1238
|
+
/* @__PURE__ */ jsx("div", { className: "px-6 md:px-0", children: /* @__PURE__ */ jsxs(
|
|
1242
1239
|
Carousel,
|
|
1243
1240
|
{
|
|
1244
1241
|
opts: {
|
|
@@ -628,34 +628,23 @@ function MasonryMotionGrid({
|
|
|
628
628
|
patternOpacity,
|
|
629
629
|
patternClassName,
|
|
630
630
|
className,
|
|
631
|
+
containerClassName: "px-4",
|
|
631
632
|
children: [
|
|
632
|
-
title || description ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
633
|
+
title || description ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 mb-6 md:mb-16", children: [
|
|
633
634
|
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
634
635
|
"h2",
|
|
635
636
|
{
|
|
636
637
|
className: cn(
|
|
637
|
-
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl",
|
|
638
|
+
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl text-balance",
|
|
638
639
|
titleClassName
|
|
639
640
|
),
|
|
640
641
|
children: title
|
|
641
642
|
}
|
|
642
643
|
) : /* @__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(
|
|
644
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-lg text-balance", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
653
645
|
"div",
|
|
654
646
|
{
|
|
655
|
-
className: cn(
|
|
656
|
-
"max-w-lg text-muted-foreground",
|
|
657
|
-
descriptionClassName
|
|
658
|
-
),
|
|
647
|
+
className: cn("max-w-lg text-balance", descriptionClassName),
|
|
659
648
|
children: description
|
|
660
649
|
}
|
|
661
650
|
))
|
|
@@ -622,34 +622,23 @@ function MasonryMotionGrid({
|
|
|
622
622
|
patternOpacity,
|
|
623
623
|
patternClassName,
|
|
624
624
|
className,
|
|
625
|
+
containerClassName: "px-4",
|
|
625
626
|
children: [
|
|
626
|
-
title || description ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
627
|
+
title || description ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 mb-6 md:mb-16", children: [
|
|
627
628
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx(
|
|
628
629
|
"h2",
|
|
629
630
|
{
|
|
630
631
|
className: cn(
|
|
631
|
-
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl",
|
|
632
|
+
"text-xl font-medium tracking-tight md:text-2xl lg:text-3xl text-balance",
|
|
632
633
|
titleClassName
|
|
633
634
|
),
|
|
634
635
|
children: title
|
|
635
636
|
}
|
|
636
637
|
) : /* @__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(
|
|
638
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("max-w-lg text-balance", descriptionClassName), children: description }) : /* @__PURE__ */ jsx(
|
|
647
639
|
"div",
|
|
648
640
|
{
|
|
649
|
-
className: cn(
|
|
650
|
-
"max-w-lg text-muted-foreground",
|
|
651
|
-
descriptionClassName
|
|
652
|
-
),
|
|
641
|
+
className: cn("max-w-lg text-balance", descriptionClassName),
|
|
653
642
|
children: description
|
|
654
643
|
}
|
|
655
644
|
))
|