@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.
Files changed (51) hide show
  1. package/dist/carousel-feature-badge.cjs +4 -3
  2. package/dist/carousel-feature-badge.d.cts +1 -1
  3. package/dist/carousel-feature-badge.d.ts +1 -1
  4. package/dist/carousel-feature-badge.js +4 -3
  5. package/dist/carousel-scrolling-feature-showcase.cjs +47 -38
  6. package/dist/carousel-scrolling-feature-showcase.js +47 -38
  7. package/dist/registry.cjs +454 -265
  8. package/dist/registry.js +454 -265
  9. package/dist/testimonials-grid-add-review.cjs +578 -39
  10. package/dist/testimonials-grid-add-review.d.cts +26 -26
  11. package/dist/testimonials-grid-add-review.d.ts +26 -26
  12. package/dist/testimonials-grid-add-review.js +577 -38
  13. package/dist/testimonials-images-helpful.cjs +85 -74
  14. package/dist/testimonials-images-helpful.js +85 -74
  15. package/dist/testimonials-list-verified.cjs +1 -0
  16. package/dist/testimonials-list-verified.js +1 -0
  17. package/dist/testimonials-logo-cards.cjs +8 -5
  18. package/dist/testimonials-logo-cards.js +8 -5
  19. package/dist/testimonials-masonry-grid.cjs +87 -11
  20. package/dist/testimonials-masonry-grid.d.cts +14 -1
  21. package/dist/testimonials-masonry-grid.d.ts +14 -1
  22. package/dist/testimonials-masonry-grid.js +88 -12
  23. package/dist/testimonials-mini-dividers.cjs +438 -26
  24. package/dist/testimonials-mini-dividers.js +434 -22
  25. package/dist/testimonials-minimal-numbered.cjs +1 -1
  26. package/dist/testimonials-minimal-numbered.js +1 -1
  27. package/dist/testimonials-parallax-number.cjs +1 -1
  28. package/dist/testimonials-parallax-number.js +1 -1
  29. package/dist/testimonials-quote-carousel.cjs +39 -37
  30. package/dist/testimonials-quote-carousel.d.cts +5 -1
  31. package/dist/testimonials-quote-carousel.d.ts +5 -1
  32. package/dist/testimonials-quote-carousel.js +39 -37
  33. package/dist/testimonials-scrolling-columns.cjs +438 -8
  34. package/dist/testimonials-scrolling-columns.js +436 -6
  35. package/dist/testimonials-simple-grid.cjs +82 -6
  36. package/dist/testimonials-simple-grid.d.cts +14 -1
  37. package/dist/testimonials-simple-grid.d.ts +14 -1
  38. package/dist/testimonials-simple-grid.js +83 -7
  39. package/dist/testimonials-stats-header.cjs +88 -8
  40. package/dist/testimonials-stats-header.d.cts +14 -1
  41. package/dist/testimonials-stats-header.d.ts +14 -1
  42. package/dist/testimonials-stats-header.js +89 -9
  43. package/dist/testimonials-twitter-cards.cjs +150 -25
  44. package/dist/testimonials-twitter-cards.d.cts +14 -1
  45. package/dist/testimonials-twitter-cards.d.ts +14 -1
  46. package/dist/testimonials-twitter-cards.js +151 -26
  47. package/dist/testimonials-wall-compact.cjs +529 -50
  48. package/dist/testimonials-wall-compact.d.cts +14 -1
  49. package/dist/testimonials-wall-compact.d.ts +14 -1
  50. package/dist/testimonials-wall-compact.js +526 -44
  51. 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((testimonial) => {
1101
- return testimonial.avatarSrc || testimonial.avatar?.src;
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
- "flex h-full flex-col rounded-xl border bg-background p-6 shadow-sm transition-all hover:shadow-md",
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-sm leading-relaxed",
1142
+ "text-base leading-relaxed",
1153
1143
  quoteClassName
1154
1144
  ),
1155
1145
  children: testimonial.quote
1156
1146
  }
1157
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: quoteClassName, children: testimonial.quote })) }),
1147
+ ) : testimonial.quote) }),
1158
1148
  /* @__PURE__ */ jsxRuntime.jsxs(
1159
1149
  "div",
1160
1150
  {
1161
1151
  className: cn(
1162
- "mt-auto flex items-center gap-3",
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-xs text-muted-foreground", children: testimonial.role }) : testimonial.role)
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
- }, [testimonialsSlot, carouselClassName, testimonials, cardClassName, quoteClassName, authorClassName, navigationClassName, getAuthorName, getAvatarSrc, getInitials]);
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("mx-auto mb-12 max-w-2xl text-center", headerClassName),
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: renderedHeading
1227
+ children: heading
1223
1228
  }
1224
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
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
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", descriptionClassName), children: description }))
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, spacing, pattern, patternOpacity, }: TestimonialsQuoteCarouselProps): React.JSX.Element;
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, spacing, pattern, patternOpacity, }: TestimonialsQuoteCarouselProps): React.JSX.Element;
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((testimonial) => {
1076
- return testimonial.avatarSrc || testimonial.avatar?.src;
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
- "flex h-full flex-col rounded-xl border bg-background p-6 shadow-sm transition-all hover:shadow-md",
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-sm leading-relaxed",
1117
+ "text-base leading-relaxed",
1128
1118
  quoteClassName
1129
1119
  ),
1130
1120
  children: testimonial.quote
1131
1121
  }
1132
- ) : /* @__PURE__ */ jsx("div", { className: quoteClassName, children: testimonial.quote })) }),
1122
+ ) : testimonial.quote) }),
1133
1123
  /* @__PURE__ */ jsxs(
1134
1124
  "div",
1135
1125
  {
1136
1126
  className: cn(
1137
- "mt-auto flex items-center gap-3",
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-xs text-muted-foreground", children: testimonial.role }) : testimonial.role)
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
- }, [testimonialsSlot, carouselClassName, testimonials, cardClassName, quoteClassName, authorClassName, navigationClassName, getAuthorName, getAvatarSrc, getInitials]);
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("mx-auto mb-12 max-w-2xl text-center", headerClassName),
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: renderedHeading
1202
+ children: heading
1198
1203
  }
1199
- ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
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
- ) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", descriptionClassName), children: description }))
1211
+ ) : description)
1210
1212
  ]
1211
1213
  }
1212
1214
  ),