@opensite/ui 2.9.0 → 2.9.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/carousel-feature-badge.cjs +4 -3
- package/dist/carousel-feature-badge.d.cts +1 -1
- package/dist/carousel-feature-badge.d.ts +1 -1
- package/dist/carousel-feature-badge.js +4 -3
- package/dist/carousel-scrolling-feature-showcase.cjs +47 -38
- package/dist/carousel-scrolling-feature-showcase.js +47 -38
- package/dist/registry.cjs +454 -265
- package/dist/registry.js +454 -265
- package/dist/testimonials-grid-add-review.cjs +578 -39
- package/dist/testimonials-grid-add-review.d.cts +26 -26
- package/dist/testimonials-grid-add-review.d.ts +26 -26
- package/dist/testimonials-grid-add-review.js +577 -38
- package/dist/testimonials-images-helpful.cjs +85 -74
- package/dist/testimonials-images-helpful.js +85 -74
- package/dist/testimonials-list-verified.cjs +1 -0
- package/dist/testimonials-list-verified.js +1 -0
- package/dist/testimonials-logo-cards.cjs +8 -5
- package/dist/testimonials-logo-cards.js +8 -5
- package/dist/testimonials-masonry-grid.cjs +87 -11
- package/dist/testimonials-masonry-grid.d.cts +14 -1
- package/dist/testimonials-masonry-grid.d.ts +14 -1
- package/dist/testimonials-masonry-grid.js +88 -12
- package/dist/testimonials-mini-dividers.cjs +438 -26
- package/dist/testimonials-mini-dividers.js +434 -22
- package/dist/testimonials-minimal-numbered.cjs +1 -1
- package/dist/testimonials-minimal-numbered.js +1 -1
- package/dist/testimonials-parallax-number.cjs +1 -1
- package/dist/testimonials-parallax-number.js +1 -1
- package/dist/testimonials-quote-carousel.cjs +39 -37
- package/dist/testimonials-quote-carousel.d.cts +5 -1
- package/dist/testimonials-quote-carousel.d.ts +5 -1
- package/dist/testimonials-quote-carousel.js +39 -37
- package/dist/testimonials-scrolling-columns.cjs +438 -8
- package/dist/testimonials-scrolling-columns.js +436 -6
- package/dist/testimonials-simple-grid.cjs +82 -6
- package/dist/testimonials-simple-grid.d.cts +14 -1
- package/dist/testimonials-simple-grid.d.ts +14 -1
- package/dist/testimonials-simple-grid.js +83 -7
- package/dist/testimonials-stats-header.cjs +88 -8
- package/dist/testimonials-stats-header.d.cts +14 -1
- package/dist/testimonials-stats-header.d.ts +14 -1
- package/dist/testimonials-stats-header.js +89 -9
- package/dist/testimonials-twitter-cards.cjs +150 -25
- package/dist/testimonials-twitter-cards.d.cts +14 -1
- package/dist/testimonials-twitter-cards.d.ts +14 -1
- package/dist/testimonials-twitter-cards.js +151 -26
- package/dist/testimonials-wall-compact.cjs +529 -50
- package/dist/testimonials-wall-compact.d.cts +14 -1
- package/dist/testimonials-wall-compact.d.ts +14 -1
- package/dist/testimonials-wall-compact.js +526 -44
- package/package.json +1 -1
|
@@ -1089,34 +1089,24 @@ function TestimonialsQuoteCarousel({
|
|
|
1089
1089
|
authorClassName,
|
|
1090
1090
|
navigationClassName,
|
|
1091
1091
|
background,
|
|
1092
|
-
spacing,
|
|
1093
1092
|
pattern,
|
|
1094
|
-
patternOpacity
|
|
1093
|
+
patternOpacity,
|
|
1094
|
+
spacing = "lg",
|
|
1095
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8"
|
|
1095
1096
|
}) {
|
|
1096
1097
|
const getAuthorName = React4.useCallback((testimonial) => {
|
|
1097
1098
|
if (typeof testimonial.author === "string") return testimonial.author;
|
|
1098
1099
|
return "";
|
|
1099
1100
|
}, []);
|
|
1100
|
-
const getAvatarSrc = React4.useCallback(
|
|
1101
|
-
|
|
1102
|
-
|
|
1101
|
+
const getAvatarSrc = React4.useCallback(
|
|
1102
|
+
(testimonial) => {
|
|
1103
|
+
return testimonial.avatarSrc || testimonial.avatar?.src;
|
|
1104
|
+
},
|
|
1105
|
+
[]
|
|
1106
|
+
);
|
|
1103
1107
|
const getInitials = React4.useCallback((name) => {
|
|
1104
1108
|
return name.split(" ").map((n) => n[0]).join("");
|
|
1105
1109
|
}, []);
|
|
1106
|
-
const renderedHeading = React4.useMemo(() => {
|
|
1107
|
-
if (typeof heading === "string") {
|
|
1108
|
-
return heading.split(" ").map(
|
|
1109
|
-
(word, i) => i === 1 ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-primary", children: [
|
|
1110
|
-
word,
|
|
1111
|
-
" "
|
|
1112
|
-
] }, i) : /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
1113
|
-
word,
|
|
1114
|
-
" "
|
|
1115
|
-
] }, i)
|
|
1116
|
-
);
|
|
1117
|
-
}
|
|
1118
|
-
return heading;
|
|
1119
|
-
}, [heading]);
|
|
1120
1110
|
const renderedTestimonials = React4.useMemo(() => {
|
|
1121
1111
|
if (testimonialsSlot) return testimonialsSlot;
|
|
1122
1112
|
if (!testimonials || testimonials.length === 0) return null;
|
|
@@ -1140,36 +1130,36 @@ function TestimonialsQuoteCarousel({
|
|
|
1140
1130
|
"div",
|
|
1141
1131
|
{
|
|
1142
1132
|
className: cn(
|
|
1143
|
-
"
|
|
1133
|
+
"bg-card text-card-foreground",
|
|
1134
|
+
"flex h-full flex-col rounded-xl border p-6 shadow-sm transition-all hover:shadow-md",
|
|
1144
1135
|
cardClassName
|
|
1145
1136
|
),
|
|
1146
1137
|
children: [
|
|
1147
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4 font-serif text-4xl text-primary", children: "\u201C" }),
|
|
1148
1138
|
/* @__PURE__ */ jsxRuntime.jsx("blockquote", { className: "mb-6 flex-1", children: testimonial.quote && (typeof testimonial.quote === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1149
1139
|
"p",
|
|
1150
1140
|
{
|
|
1151
1141
|
className: cn(
|
|
1152
|
-
"text-
|
|
1142
|
+
"text-base leading-relaxed",
|
|
1153
1143
|
quoteClassName
|
|
1154
1144
|
),
|
|
1155
1145
|
children: testimonial.quote
|
|
1156
1146
|
}
|
|
1157
|
-
) :
|
|
1147
|
+
) : testimonial.quote) }),
|
|
1158
1148
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1159
1149
|
"div",
|
|
1160
1150
|
{
|
|
1161
1151
|
className: cn(
|
|
1162
|
-
"mt-auto flex items-center gap-
|
|
1152
|
+
"mt-auto flex items-center gap-4",
|
|
1163
1153
|
authorClassName
|
|
1164
1154
|
),
|
|
1165
1155
|
children: [
|
|
1166
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: "size-10", children: [
|
|
1156
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: "size-10 ring-4 ring-primary", children: [
|
|
1167
1157
|
/* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: avatarSrc, alt: authorName }),
|
|
1168
1158
|
/* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { children: getInitials(authorName) })
|
|
1169
1159
|
] }),
|
|
1170
1160
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-left", children: [
|
|
1171
|
-
testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: testimonial.author }) : testimonial.author),
|
|
1172
|
-
testimonial.role && (typeof testimonial.role === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-
|
|
1161
|
+
testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm md:text-base font-medium", children: testimonial.author }) : testimonial.author),
|
|
1162
|
+
testimonial.role && (typeof testimonial.role === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm opacity-75 font-semibold", children: testimonial.role }) : testimonial.role)
|
|
1173
1163
|
] })
|
|
1174
1164
|
]
|
|
1175
1165
|
}
|
|
@@ -1197,7 +1187,18 @@ function TestimonialsQuoteCarousel({
|
|
|
1197
1187
|
]
|
|
1198
1188
|
}
|
|
1199
1189
|
) });
|
|
1200
|
-
}, [
|
|
1190
|
+
}, [
|
|
1191
|
+
testimonialsSlot,
|
|
1192
|
+
carouselClassName,
|
|
1193
|
+
testimonials,
|
|
1194
|
+
cardClassName,
|
|
1195
|
+
quoteClassName,
|
|
1196
|
+
authorClassName,
|
|
1197
|
+
navigationClassName,
|
|
1198
|
+
getAuthorName,
|
|
1199
|
+
getAvatarSrc,
|
|
1200
|
+
getInitials
|
|
1201
|
+
]);
|
|
1201
1202
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1202
1203
|
Section,
|
|
1203
1204
|
{
|
|
@@ -1206,32 +1207,33 @@ function TestimonialsQuoteCarousel({
|
|
|
1206
1207
|
pattern,
|
|
1207
1208
|
patternOpacity,
|
|
1208
1209
|
className,
|
|
1210
|
+
containerClassName,
|
|
1209
1211
|
children: [
|
|
1210
1212
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1211
1213
|
"div",
|
|
1212
1214
|
{
|
|
1213
|
-
className: cn(
|
|
1215
|
+
className: cn(
|
|
1216
|
+
"mx-auto mb-12 max-w-full md:max-w-2xl text-center",
|
|
1217
|
+
headerClassName
|
|
1218
|
+
),
|
|
1214
1219
|
children: [
|
|
1215
1220
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1216
1221
|
"h2",
|
|
1217
1222
|
{
|
|
1218
1223
|
className: cn(
|
|
1219
|
-
"text-3xl font-semibold tracking-tight md:text-4xl",
|
|
1224
|
+
"text-3xl font-semibold tracking-tight md:text-4xl text-balance",
|
|
1220
1225
|
headingClassName
|
|
1221
1226
|
),
|
|
1222
|
-
children:
|
|
1227
|
+
children: heading
|
|
1223
1228
|
}
|
|
1224
|
-
) :
|
|
1229
|
+
) : heading),
|
|
1225
1230
|
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1226
1231
|
"p",
|
|
1227
1232
|
{
|
|
1228
|
-
className: cn(
|
|
1229
|
-
"mt-4 text-lg text-muted-foreground",
|
|
1230
|
-
descriptionClassName
|
|
1231
|
-
),
|
|
1233
|
+
className: cn("mt-4 text-lg text-balance", descriptionClassName),
|
|
1232
1234
|
children: description
|
|
1233
1235
|
}
|
|
1234
|
-
) :
|
|
1236
|
+
) : description)
|
|
1235
1237
|
]
|
|
1236
1238
|
}
|
|
1237
1239
|
),
|
|
@@ -76,6 +76,10 @@ interface TestimonialsQuoteCarouselProps {
|
|
|
76
76
|
* Pattern overlay opacity (0-1)
|
|
77
77
|
*/
|
|
78
78
|
patternOpacity?: number;
|
|
79
|
+
/**
|
|
80
|
+
* Additional CSS classes for the container
|
|
81
|
+
*/
|
|
82
|
+
containerClassName?: string;
|
|
79
83
|
}
|
|
80
84
|
/**
|
|
81
85
|
* TestimonialsQuoteCarousel - A horizontal carousel of testimonial cards with quote
|
|
@@ -102,6 +106,6 @@ interface TestimonialsQuoteCarouselProps {
|
|
|
102
106
|
* />
|
|
103
107
|
* ```
|
|
104
108
|
*/
|
|
105
|
-
declare function TestimonialsQuoteCarousel({ testimonials, testimonialsSlot, heading, description, className, headerClassName, headingClassName, descriptionClassName, carouselClassName, cardClassName, quoteClassName, authorClassName, navigationClassName, background,
|
|
109
|
+
declare function TestimonialsQuoteCarousel({ testimonials, testimonialsSlot, heading, description, className, headerClassName, headingClassName, descriptionClassName, carouselClassName, cardClassName, quoteClassName, authorClassName, navigationClassName, background, pattern, patternOpacity, spacing, containerClassName, }: TestimonialsQuoteCarouselProps): React.JSX.Element;
|
|
106
110
|
|
|
107
111
|
export { TestimonialsQuoteCarousel, type TestimonialsQuoteCarouselProps };
|
|
@@ -76,6 +76,10 @@ interface TestimonialsQuoteCarouselProps {
|
|
|
76
76
|
* Pattern overlay opacity (0-1)
|
|
77
77
|
*/
|
|
78
78
|
patternOpacity?: number;
|
|
79
|
+
/**
|
|
80
|
+
* Additional CSS classes for the container
|
|
81
|
+
*/
|
|
82
|
+
containerClassName?: string;
|
|
79
83
|
}
|
|
80
84
|
/**
|
|
81
85
|
* TestimonialsQuoteCarousel - A horizontal carousel of testimonial cards with quote
|
|
@@ -102,6 +106,6 @@ interface TestimonialsQuoteCarouselProps {
|
|
|
102
106
|
* />
|
|
103
107
|
* ```
|
|
104
108
|
*/
|
|
105
|
-
declare function TestimonialsQuoteCarousel({ testimonials, testimonialsSlot, heading, description, className, headerClassName, headingClassName, descriptionClassName, carouselClassName, cardClassName, quoteClassName, authorClassName, navigationClassName, background,
|
|
109
|
+
declare function TestimonialsQuoteCarousel({ testimonials, testimonialsSlot, heading, description, className, headerClassName, headingClassName, descriptionClassName, carouselClassName, cardClassName, quoteClassName, authorClassName, navigationClassName, background, pattern, patternOpacity, spacing, containerClassName, }: TestimonialsQuoteCarouselProps): React.JSX.Element;
|
|
106
110
|
|
|
107
111
|
export { TestimonialsQuoteCarousel, type TestimonialsQuoteCarouselProps };
|
|
@@ -1064,34 +1064,24 @@ function TestimonialsQuoteCarousel({
|
|
|
1064
1064
|
authorClassName,
|
|
1065
1065
|
navigationClassName,
|
|
1066
1066
|
background,
|
|
1067
|
-
spacing,
|
|
1068
1067
|
pattern,
|
|
1069
|
-
patternOpacity
|
|
1068
|
+
patternOpacity,
|
|
1069
|
+
spacing = "lg",
|
|
1070
|
+
containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8"
|
|
1070
1071
|
}) {
|
|
1071
1072
|
const getAuthorName = useCallback((testimonial) => {
|
|
1072
1073
|
if (typeof testimonial.author === "string") return testimonial.author;
|
|
1073
1074
|
return "";
|
|
1074
1075
|
}, []);
|
|
1075
|
-
const getAvatarSrc = useCallback(
|
|
1076
|
-
|
|
1077
|
-
|
|
1076
|
+
const getAvatarSrc = useCallback(
|
|
1077
|
+
(testimonial) => {
|
|
1078
|
+
return testimonial.avatarSrc || testimonial.avatar?.src;
|
|
1079
|
+
},
|
|
1080
|
+
[]
|
|
1081
|
+
);
|
|
1078
1082
|
const getInitials = useCallback((name) => {
|
|
1079
1083
|
return name.split(" ").map((n) => n[0]).join("");
|
|
1080
1084
|
}, []);
|
|
1081
|
-
const renderedHeading = useMemo(() => {
|
|
1082
|
-
if (typeof heading === "string") {
|
|
1083
|
-
return heading.split(" ").map(
|
|
1084
|
-
(word, i) => i === 1 ? /* @__PURE__ */ jsxs("span", { className: "text-primary", children: [
|
|
1085
|
-
word,
|
|
1086
|
-
" "
|
|
1087
|
-
] }, i) : /* @__PURE__ */ jsxs("span", { children: [
|
|
1088
|
-
word,
|
|
1089
|
-
" "
|
|
1090
|
-
] }, i)
|
|
1091
|
-
);
|
|
1092
|
-
}
|
|
1093
|
-
return heading;
|
|
1094
|
-
}, [heading]);
|
|
1095
1085
|
const renderedTestimonials = useMemo(() => {
|
|
1096
1086
|
if (testimonialsSlot) return testimonialsSlot;
|
|
1097
1087
|
if (!testimonials || testimonials.length === 0) return null;
|
|
@@ -1115,36 +1105,36 @@ function TestimonialsQuoteCarousel({
|
|
|
1115
1105
|
"div",
|
|
1116
1106
|
{
|
|
1117
1107
|
className: cn(
|
|
1118
|
-
"
|
|
1108
|
+
"bg-card text-card-foreground",
|
|
1109
|
+
"flex h-full flex-col rounded-xl border p-6 shadow-sm transition-all hover:shadow-md",
|
|
1119
1110
|
cardClassName
|
|
1120
1111
|
),
|
|
1121
1112
|
children: [
|
|
1122
|
-
/* @__PURE__ */ jsx("div", { className: "mb-4 font-serif text-4xl text-primary", children: "\u201C" }),
|
|
1123
1113
|
/* @__PURE__ */ jsx("blockquote", { className: "mb-6 flex-1", children: testimonial.quote && (typeof testimonial.quote === "string" ? /* @__PURE__ */ jsx(
|
|
1124
1114
|
"p",
|
|
1125
1115
|
{
|
|
1126
1116
|
className: cn(
|
|
1127
|
-
"text-
|
|
1117
|
+
"text-base leading-relaxed",
|
|
1128
1118
|
quoteClassName
|
|
1129
1119
|
),
|
|
1130
1120
|
children: testimonial.quote
|
|
1131
1121
|
}
|
|
1132
|
-
) :
|
|
1122
|
+
) : testimonial.quote) }),
|
|
1133
1123
|
/* @__PURE__ */ jsxs(
|
|
1134
1124
|
"div",
|
|
1135
1125
|
{
|
|
1136
1126
|
className: cn(
|
|
1137
|
-
"mt-auto flex items-center gap-
|
|
1127
|
+
"mt-auto flex items-center gap-4",
|
|
1138
1128
|
authorClassName
|
|
1139
1129
|
),
|
|
1140
1130
|
children: [
|
|
1141
|
-
/* @__PURE__ */ jsxs(Avatar, { className: "size-10", children: [
|
|
1131
|
+
/* @__PURE__ */ jsxs(Avatar, { className: "size-10 ring-4 ring-primary", children: [
|
|
1142
1132
|
/* @__PURE__ */ jsx(AvatarImage, { src: avatarSrc, alt: authorName }),
|
|
1143
1133
|
/* @__PURE__ */ jsx(AvatarFallback, { children: getInitials(authorName) })
|
|
1144
1134
|
] }),
|
|
1145
1135
|
/* @__PURE__ */ jsxs("div", { className: "text-left", children: [
|
|
1146
|
-
testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: testimonial.author }) : testimonial.author),
|
|
1147
|
-
testimonial.role && (typeof testimonial.role === "string" ? /* @__PURE__ */ jsx("p", { className: "text-
|
|
1136
|
+
testimonial.author && (typeof testimonial.author === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm md:text-base font-medium", children: testimonial.author }) : testimonial.author),
|
|
1137
|
+
testimonial.role && (typeof testimonial.role === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm opacity-75 font-semibold", children: testimonial.role }) : testimonial.role)
|
|
1148
1138
|
] })
|
|
1149
1139
|
]
|
|
1150
1140
|
}
|
|
@@ -1172,7 +1162,18 @@ function TestimonialsQuoteCarousel({
|
|
|
1172
1162
|
]
|
|
1173
1163
|
}
|
|
1174
1164
|
) });
|
|
1175
|
-
}, [
|
|
1165
|
+
}, [
|
|
1166
|
+
testimonialsSlot,
|
|
1167
|
+
carouselClassName,
|
|
1168
|
+
testimonials,
|
|
1169
|
+
cardClassName,
|
|
1170
|
+
quoteClassName,
|
|
1171
|
+
authorClassName,
|
|
1172
|
+
navigationClassName,
|
|
1173
|
+
getAuthorName,
|
|
1174
|
+
getAvatarSrc,
|
|
1175
|
+
getInitials
|
|
1176
|
+
]);
|
|
1176
1177
|
return /* @__PURE__ */ jsxs(
|
|
1177
1178
|
Section,
|
|
1178
1179
|
{
|
|
@@ -1181,32 +1182,33 @@ function TestimonialsQuoteCarousel({
|
|
|
1181
1182
|
pattern,
|
|
1182
1183
|
patternOpacity,
|
|
1183
1184
|
className,
|
|
1185
|
+
containerClassName,
|
|
1184
1186
|
children: [
|
|
1185
1187
|
/* @__PURE__ */ jsxs(
|
|
1186
1188
|
"div",
|
|
1187
1189
|
{
|
|
1188
|
-
className: cn(
|
|
1190
|
+
className: cn(
|
|
1191
|
+
"mx-auto mb-12 max-w-full md:max-w-2xl text-center",
|
|
1192
|
+
headerClassName
|
|
1193
|
+
),
|
|
1189
1194
|
children: [
|
|
1190
1195
|
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
1191
1196
|
"h2",
|
|
1192
1197
|
{
|
|
1193
1198
|
className: cn(
|
|
1194
|
-
"text-3xl font-semibold tracking-tight md:text-4xl",
|
|
1199
|
+
"text-3xl font-semibold tracking-tight md:text-4xl text-balance",
|
|
1195
1200
|
headingClassName
|
|
1196
1201
|
),
|
|
1197
|
-
children:
|
|
1202
|
+
children: heading
|
|
1198
1203
|
}
|
|
1199
|
-
) :
|
|
1204
|
+
) : heading),
|
|
1200
1205
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
1201
1206
|
"p",
|
|
1202
1207
|
{
|
|
1203
|
-
className: cn(
|
|
1204
|
-
"mt-4 text-lg text-muted-foreground",
|
|
1205
|
-
descriptionClassName
|
|
1206
|
-
),
|
|
1208
|
+
className: cn("mt-4 text-lg text-balance", descriptionClassName),
|
|
1207
1209
|
children: description
|
|
1208
1210
|
}
|
|
1209
|
-
) :
|
|
1211
|
+
) : description)
|
|
1210
1212
|
]
|
|
1211
1213
|
}
|
|
1212
1214
|
),
|