@opensite/ui 1.2.2 → 1.2.4

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/auto-scroll-carousel.cjs +2 -2
  2. package/dist/auto-scroll-carousel.js +2 -2
  3. package/dist/blur-vignette-grid.cjs +13 -17
  4. package/dist/blur-vignette-grid.d.cts +2 -2
  5. package/dist/blur-vignette-grid.d.ts +2 -2
  6. package/dist/blur-vignette-grid.js +13 -17
  7. package/dist/carousel-gradient-text.cjs +8 -10
  8. package/dist/carousel-gradient-text.js +8 -10
  9. package/dist/carousel-icon-sidebar.cjs +48 -29
  10. package/dist/carousel-icon-sidebar.js +48 -29
  11. package/dist/carousel-scale-focus.cjs +27 -1
  12. package/dist/carousel-scale-focus.js +27 -1
  13. package/dist/carousel-tabs-content.cjs +46 -36
  14. package/dist/carousel-tabs-content.js +46 -36
  15. package/dist/expandable-case-study-cards.cjs +1 -0
  16. package/dist/expandable-case-study-cards.js +1 -0
  17. package/dist/feature-capabilities-grid.cjs +525 -54
  18. package/dist/feature-capabilities-grid.d.cts +4 -0
  19. package/dist/feature-capabilities-grid.d.ts +4 -0
  20. package/dist/feature-capabilities-grid.js +525 -54
  21. package/dist/feature-card-grid-linked.cjs +40 -35
  22. package/dist/feature-card-grid-linked.d.cts +9 -1
  23. package/dist/feature-card-grid-linked.d.ts +9 -1
  24. package/dist/feature-card-grid-linked.js +40 -35
  25. package/dist/feature-carousel-progress.cjs +129 -56
  26. package/dist/feature-carousel-progress.d.cts +13 -1
  27. package/dist/feature-carousel-progress.d.ts +13 -1
  28. package/dist/feature-carousel-progress.js +129 -56
  29. package/dist/feature-checklist-image.cjs +61 -105
  30. package/dist/feature-checklist-image.d.cts +1 -1
  31. package/dist/feature-checklist-image.d.ts +1 -1
  32. package/dist/feature-checklist-image.js +61 -105
  33. package/dist/feature-icon-grid-bordered.cjs +457 -35
  34. package/dist/feature-icon-grid-bordered.d.cts +4 -0
  35. package/dist/feature-icon-grid-bordered.d.ts +4 -0
  36. package/dist/feature-icon-grid-bordered.js +457 -35
  37. package/dist/feature-numbered-cards.cjs +519 -35
  38. package/dist/feature-numbered-cards.d.cts +18 -2
  39. package/dist/feature-numbered-cards.d.ts +18 -2
  40. package/dist/feature-numbered-cards.js +520 -36
  41. package/dist/feature-split-image.cjs +1 -1
  42. package/dist/feature-split-image.js +1 -1
  43. package/dist/masonry-motion-grid.cjs +2 -2
  44. package/dist/masonry-motion-grid.js +2 -2
  45. package/dist/registry.cjs +10264 -9952
  46. package/dist/registry.js +10262 -9950
  47. package/dist/testimonial-carousel-cards.cjs +28 -8
  48. package/dist/testimonial-carousel-cards.d.cts +8 -0
  49. package/dist/testimonial-carousel-cards.d.ts +8 -0
  50. package/dist/testimonial-carousel-cards.js +28 -8
  51. package/package.json +1 -1
@@ -883,17 +883,19 @@ var Section = React__namespace.default.forwardRef(
883
883
  Section.displayName = "Section";
884
884
  function FeatureCardGridLinked({
885
885
  title,
886
+ description,
886
887
  features,
887
888
  featuresSlot,
888
889
  className,
889
- containerClassName,
890
+ containerClassName = "px-6 sm:px-6 md:mx-6 lg:px-8",
890
891
  titleWrapperClassName,
891
892
  titleClassName,
893
+ descriptionClassName,
892
894
  gridClassName,
893
895
  cardClassName,
894
896
  optixFlowConfig,
895
897
  background,
896
- spacing = "py-6 md:py-32",
898
+ spacing = "py-8 md:py-32",
897
899
  pattern,
898
900
  patternOpacity,
899
901
  patternClassName
@@ -934,8 +936,8 @@ function FeatureCardGridLinked({
934
936
  feature.className
935
937
  ),
936
938
  children: [
937
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between gap-10 border-b", children: [
938
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-between gap-8 py-6 pl-4 md:gap-14 md:py-10 md:pl-8 lg:justify-normal", children: [
939
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between gap-4 md:gap-10 border-b", children: [
940
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-between gap-8 py-4 pl-4 md:gap-14 md:py-10 md:pl-8 lg:justify-normal", children: [
939
941
  feature.label && /* @__PURE__ */ jsxRuntime.jsx(
940
942
  "span",
941
943
  {
@@ -950,7 +952,7 @@ function FeatureCardGridLinked({
950
952
  "h3",
951
953
  {
952
954
  className: cn(
953
- "text-xl transition-all hover:opacity-80 md:text-2xl font-semibold leading-snug tracking-tighter",
955
+ "text-lg md:text-xl transition-all hover:opacity-80 lg:text-2xl font-semibold leading-snug ",
954
956
  feature.headingClassName
955
957
  ),
956
958
  children: feature.heading
@@ -959,7 +961,7 @@ function FeatureCardGridLinked({
959
961
  "div",
960
962
  {
961
963
  className: cn(
962
- "text-xl transition-all hover:opacity-80 md:text-2xl font-semibold leading-snug tracking-tighter",
964
+ "text-lg md:text-xl transition-all hover:opacity-80 lg:text-2xl font-semibold leading-snug ",
963
965
  feature.headingClassName
964
966
  ),
965
967
  children: feature.heading
@@ -985,7 +987,7 @@ function FeatureCardGridLinked({
985
987
  );
986
988
  });
987
989
  }, [featuresSlot, features, cardClassName, renderImage, background]);
988
- return /* @__PURE__ */ jsxRuntime.jsxs(
990
+ return /* @__PURE__ */ jsxRuntime.jsx(
989
991
  Section,
990
992
  {
991
993
  background,
@@ -995,37 +997,40 @@ function FeatureCardGridLinked({
995
997
  patternClassName,
996
998
  className,
997
999
  containerClassName,
998
- children: [
999
- title && /* @__PURE__ */ jsxRuntime.jsx(
1000
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col space-y-6 md:space-y-16", children: [
1001
+ title || description ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
1002
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1003
+ "h2",
1004
+ {
1005
+ className: cn(
1006
+ "text-xl font-medium tracking-tight md:text-2xl lg:text-3xl text-balance",
1007
+ titleClassName
1008
+ ),
1009
+ children: title
1010
+ }
1011
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
1012
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1013
+ "p",
1014
+ {
1015
+ className: cn("max-w-lg text-balance", descriptionClassName),
1016
+ children: description
1017
+ }
1018
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
1019
+ "div",
1020
+ {
1021
+ className: cn("max-w-lg text-balance", descriptionClassName),
1022
+ children: description
1023
+ }
1024
+ ))
1025
+ ] }) : null,
1026
+ /* @__PURE__ */ jsxRuntime.jsx(
1000
1027
  "div",
1001
1028
  {
1002
- className: cn(
1003
- "mx-auto mb-16 max-w-3xl text-center",
1004
- titleWrapperClassName
1005
- ),
1006
- children: typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1007
- "h2",
1008
- {
1009
- className: cn(
1010
- "text-4xl font-medium text-pretty lg:text-5xl",
1011
- titleClassName
1012
- ),
1013
- children: title
1014
- }
1015
- ) : /* @__PURE__ */ jsxRuntime.jsx(
1016
- "div",
1017
- {
1018
- className: cn(
1019
- "text-4xl font-medium text-pretty lg:text-5xl",
1020
- titleClassName
1021
- ),
1022
- children: title
1023
- }
1024
- )
1029
+ className: cn("grid gap-4 md:gap-8 lg:grid-cols-2", gridClassName),
1030
+ children: featuresContent
1025
1031
  }
1026
- ),
1027
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid gap-8 lg:grid-cols-2", gridClassName), children: featuresContent })
1028
- ]
1032
+ )
1033
+ ] })
1029
1034
  }
1030
1035
  );
1031
1036
  }
@@ -61,6 +61,10 @@ interface FeatureCardGridLinkedProps {
61
61
  * Section title content
62
62
  */
63
63
  title?: React.ReactNode;
64
+ /**
65
+ * Feature description content
66
+ */
67
+ description?: React.ReactNode;
64
68
  /**
65
69
  * Array of feature cards
66
70
  */
@@ -85,6 +89,10 @@ interface FeatureCardGridLinkedProps {
85
89
  * Additional CSS classes for the title
86
90
  */
87
91
  titleClassName?: string;
92
+ /**
93
+ * Additional CSS classes for the description
94
+ */
95
+ descriptionClassName?: string;
88
96
  /**
89
97
  * Additional CSS classes for the grid
90
98
  */
@@ -143,6 +151,6 @@ interface FeatureCardGridLinkedProps {
143
151
  * />
144
152
  * ```
145
153
  */
146
- declare function FeatureCardGridLinked({ title, features, featuresSlot, className, containerClassName, titleWrapperClassName, titleClassName, gridClassName, cardClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, patternClassName, }: FeatureCardGridLinkedProps): React.JSX.Element;
154
+ declare function FeatureCardGridLinked({ title, description, features, featuresSlot, className, containerClassName, titleWrapperClassName, titleClassName, descriptionClassName, gridClassName, cardClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, patternClassName, }: FeatureCardGridLinkedProps): React.JSX.Element;
147
155
 
148
156
  export { FeatureCardGridLinked, type FeatureCardGridLinkedProps };
@@ -61,6 +61,10 @@ interface FeatureCardGridLinkedProps {
61
61
  * Section title content
62
62
  */
63
63
  title?: React.ReactNode;
64
+ /**
65
+ * Feature description content
66
+ */
67
+ description?: React.ReactNode;
64
68
  /**
65
69
  * Array of feature cards
66
70
  */
@@ -85,6 +89,10 @@ interface FeatureCardGridLinkedProps {
85
89
  * Additional CSS classes for the title
86
90
  */
87
91
  titleClassName?: string;
92
+ /**
93
+ * Additional CSS classes for the description
94
+ */
95
+ descriptionClassName?: string;
88
96
  /**
89
97
  * Additional CSS classes for the grid
90
98
  */
@@ -143,6 +151,6 @@ interface FeatureCardGridLinkedProps {
143
151
  * />
144
152
  * ```
145
153
  */
146
- declare function FeatureCardGridLinked({ title, features, featuresSlot, className, containerClassName, titleWrapperClassName, titleClassName, gridClassName, cardClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, patternClassName, }: FeatureCardGridLinkedProps): React.JSX.Element;
154
+ declare function FeatureCardGridLinked({ title, description, features, featuresSlot, className, containerClassName, titleWrapperClassName, titleClassName, descriptionClassName, gridClassName, cardClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, patternClassName, }: FeatureCardGridLinkedProps): React.JSX.Element;
147
155
 
148
156
  export { FeatureCardGridLinked, type FeatureCardGridLinkedProps };
@@ -862,17 +862,19 @@ var Section = React__default.forwardRef(
862
862
  Section.displayName = "Section";
863
863
  function FeatureCardGridLinked({
864
864
  title,
865
+ description,
865
866
  features,
866
867
  featuresSlot,
867
868
  className,
868
- containerClassName,
869
+ containerClassName = "px-6 sm:px-6 md:mx-6 lg:px-8",
869
870
  titleWrapperClassName,
870
871
  titleClassName,
872
+ descriptionClassName,
871
873
  gridClassName,
872
874
  cardClassName,
873
875
  optixFlowConfig,
874
876
  background,
875
- spacing = "py-6 md:py-32",
877
+ spacing = "py-8 md:py-32",
876
878
  pattern,
877
879
  patternOpacity,
878
880
  patternClassName
@@ -913,8 +915,8 @@ function FeatureCardGridLinked({
913
915
  feature.className
914
916
  ),
915
917
  children: [
916
- /* @__PURE__ */ jsxs("div", { className: "flex justify-between gap-10 border-b", children: [
917
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-between gap-8 py-6 pl-4 md:gap-14 md:py-10 md:pl-8 lg:justify-normal", children: [
918
+ /* @__PURE__ */ jsxs("div", { className: "flex justify-between gap-4 md:gap-10 border-b", children: [
919
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-between gap-8 py-4 pl-4 md:gap-14 md:py-10 md:pl-8 lg:justify-normal", children: [
918
920
  feature.label && /* @__PURE__ */ jsx(
919
921
  "span",
920
922
  {
@@ -929,7 +931,7 @@ function FeatureCardGridLinked({
929
931
  "h3",
930
932
  {
931
933
  className: cn(
932
- "text-xl transition-all hover:opacity-80 md:text-2xl font-semibold leading-snug tracking-tighter",
934
+ "text-lg md:text-xl transition-all hover:opacity-80 lg:text-2xl font-semibold leading-snug ",
933
935
  feature.headingClassName
934
936
  ),
935
937
  children: feature.heading
@@ -938,7 +940,7 @@ function FeatureCardGridLinked({
938
940
  "div",
939
941
  {
940
942
  className: cn(
941
- "text-xl transition-all hover:opacity-80 md:text-2xl font-semibold leading-snug tracking-tighter",
943
+ "text-lg md:text-xl transition-all hover:opacity-80 lg:text-2xl font-semibold leading-snug ",
942
944
  feature.headingClassName
943
945
  ),
944
946
  children: feature.heading
@@ -964,7 +966,7 @@ function FeatureCardGridLinked({
964
966
  );
965
967
  });
966
968
  }, [featuresSlot, features, cardClassName, renderImage, background]);
967
- return /* @__PURE__ */ jsxs(
969
+ return /* @__PURE__ */ jsx(
968
970
  Section,
969
971
  {
970
972
  background,
@@ -974,37 +976,40 @@ function FeatureCardGridLinked({
974
976
  patternClassName,
975
977
  className,
976
978
  containerClassName,
977
- children: [
978
- title && /* @__PURE__ */ jsx(
979
+ children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col space-y-6 md:space-y-16", children: [
980
+ title || description ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
981
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
982
+ "h2",
983
+ {
984
+ className: cn(
985
+ "text-xl font-medium tracking-tight md:text-2xl lg:text-3xl text-balance",
986
+ titleClassName
987
+ ),
988
+ children: title
989
+ }
990
+ ) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
991
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
992
+ "p",
993
+ {
994
+ className: cn("max-w-lg text-balance", descriptionClassName),
995
+ children: description
996
+ }
997
+ ) : /* @__PURE__ */ jsx(
998
+ "div",
999
+ {
1000
+ className: cn("max-w-lg text-balance", descriptionClassName),
1001
+ children: description
1002
+ }
1003
+ ))
1004
+ ] }) : null,
1005
+ /* @__PURE__ */ jsx(
979
1006
  "div",
980
1007
  {
981
- className: cn(
982
- "mx-auto mb-16 max-w-3xl text-center",
983
- titleWrapperClassName
984
- ),
985
- children: typeof title === "string" ? /* @__PURE__ */ jsx(
986
- "h2",
987
- {
988
- className: cn(
989
- "text-4xl font-medium text-pretty lg:text-5xl",
990
- titleClassName
991
- ),
992
- children: title
993
- }
994
- ) : /* @__PURE__ */ jsx(
995
- "div",
996
- {
997
- className: cn(
998
- "text-4xl font-medium text-pretty lg:text-5xl",
999
- titleClassName
1000
- ),
1001
- children: title
1002
- }
1003
- )
1008
+ className: cn("grid gap-4 md:gap-8 lg:grid-cols-2", gridClassName),
1009
+ children: featuresContent
1004
1010
  }
1005
- ),
1006
- /* @__PURE__ */ jsx("div", { className: cn("grid gap-8 lg:grid-cols-2", gridClassName), children: featuresContent })
1007
- ]
1011
+ )
1012
+ ] })
1008
1013
  }
1009
1014
  );
1010
1015
  }
@@ -38,32 +38,6 @@ var ProgressPrimitive__namespace = /*#__PURE__*/_interopNamespace(ProgressPrimit
38
38
  function cn(...inputs) {
39
39
  return tailwindMerge.twMerge(clsx.clsx(inputs));
40
40
  }
41
- function getTextColor(parentBg, variant = "default", options) {
42
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
43
- if (isDark) {
44
- switch (variant) {
45
- case "default":
46
- return "text-foreground";
47
- case "muted":
48
- return "text-foreground/80";
49
- case "subtle":
50
- return "text-foreground/60";
51
- case "accent":
52
- return "text-accent-foreground";
53
- }
54
- } else {
55
- switch (variant) {
56
- case "default":
57
- return "text-foreground";
58
- case "muted":
59
- return "text-muted-foreground";
60
- case "subtle":
61
- return "text-muted-foreground/70";
62
- case "accent":
63
- return "text-primary";
64
- }
65
- }
66
- }
67
41
  var svgCache = /* @__PURE__ */ new Map();
68
42
  function DynamicIcon({
69
43
  name,
@@ -1232,20 +1206,22 @@ Section.displayName = "Section";
1232
1206
  function FeatureCarouselProgress({
1233
1207
  badge,
1234
1208
  title,
1209
+ description,
1210
+ titleClassName,
1211
+ descriptionClassName,
1235
1212
  carouselLabel,
1236
1213
  slides,
1237
1214
  slidesSlot,
1238
1215
  className,
1239
- containerClassName,
1216
+ containerClassName = "px-6 sm:px-6 md:mx-6 lg:px-8",
1240
1217
  headerClassName,
1241
1218
  badgeClassName,
1242
- titleClassName,
1243
1219
  carouselClassName,
1244
1220
  controlsClassName,
1245
1221
  progressClassName,
1246
1222
  cardClassName,
1247
1223
  background,
1248
- spacing,
1224
+ spacing = "py-6 md:py-32",
1249
1225
  pattern,
1250
1226
  patternOpacity,
1251
1227
  patternClassName
@@ -1275,16 +1251,70 @@ function FeatureCarouselProgress({
1275
1251
  CarouselItem,
1276
1252
  {
1277
1253
  className: "basis-full md:basis-1/2 lg:basis-1/3",
1278
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-1", children: /* @__PURE__ */ jsxRuntime.jsx(Card, { className: cn(cardClassName, slide.className), children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "flex flex-col justify-center p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1279
- (slide.icon || slide.iconName) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("mb-5 flex size-8 items-center justify-center rounded-full bg-primary text-primary-foreground lg:size-10", slide.iconClassName), children: renderSlideIcon(slide) }),
1280
- slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-xl font-semibold md:text-2xl lg:text-2xl", slide.titleClassName), children: slide.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-xl font-semibold md:text-2xl lg:text-2xl", slide.titleClassName), children: slide.title })),
1281
- slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("pt-2", getTextColor(background, "muted"), slide.descriptionClassName), children: slide.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("pt-2", getTextColor(background, "muted"), slide.descriptionClassName), children: slide.description }))
1282
- ] }) }) }) })
1254
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-1 h-auto md:h-full", children: /* @__PURE__ */ jsxRuntime.jsx(
1255
+ Card,
1256
+ {
1257
+ className: cn("h-auto md:h-full", cardClassName, slide.className),
1258
+ children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "flex flex-col justify-center p-6 h-full", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-full justify-between", children: [
1259
+ (slide.icon || slide.iconName) && /* @__PURE__ */ jsxRuntime.jsx(
1260
+ "span",
1261
+ {
1262
+ className: cn(
1263
+ "mb-5 flex size-8 items-center justify-center rounded-full bg-primary text-primary-foreground lg:size-10",
1264
+ slide.iconClassName
1265
+ ),
1266
+ children: renderSlideIcon(slide)
1267
+ }
1268
+ ),
1269
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
1270
+ slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1271
+ Pressable,
1272
+ {
1273
+ href: slide.href,
1274
+ className: cn(
1275
+ "text-lg font-semibold md:text-xl",
1276
+ slide.titleClassName
1277
+ ),
1278
+ children: slide.title
1279
+ }
1280
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
1281
+ "div",
1282
+ {
1283
+ className: cn(
1284
+ "text-lg font-semibold md:text-xl",
1285
+ slide.titleClassName
1286
+ ),
1287
+ children: slide.title
1288
+ }
1289
+ )),
1290
+ slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1291
+ "p",
1292
+ {
1293
+ className: cn(
1294
+ "pt-2 text-card-foreground",
1295
+ slide.descriptionClassName
1296
+ ),
1297
+ children: slide.description
1298
+ }
1299
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
1300
+ "div",
1301
+ {
1302
+ className: cn(
1303
+ "pt-2 text-card-foreground",
1304
+ slide.descriptionClassName
1305
+ ),
1306
+ children: slide.description
1307
+ }
1308
+ ))
1309
+ ] })
1310
+ ] }) })
1311
+ }
1312
+ ) })
1283
1313
  },
1284
1314
  index
1285
1315
  ));
1286
1316
  }, [slidesSlot, slides, cardClassName, renderSlideIcon]);
1287
- return /* @__PURE__ */ jsxRuntime.jsxs(
1317
+ return /* @__PURE__ */ jsxRuntime.jsx(
1288
1318
  Section,
1289
1319
  {
1290
1320
  background,
@@ -1294,30 +1324,73 @@ function FeatureCarouselProgress({
1294
1324
  patternClassName,
1295
1325
  className,
1296
1326
  containerClassName: cn("max-w-7xl", containerClassName),
1297
- children: [
1298
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-10 flex flex-col items-center gap-6 md:mb-20", headerClassName), children: [
1299
- badge && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", className: badgeClassName, children: badge }),
1300
- title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("mb-2 text-center text-3xl font-semibold lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-2 text-center text-3xl font-semibold lg:text-5xl", titleClassName), children: title }))
1301
- ] }),
1327
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col space-y-6 md:space-y-16", children: [
1328
+ badge || title || description ? /* @__PURE__ */ jsxRuntime.jsxs(
1329
+ "div",
1330
+ {
1331
+ className: cn("flex flex-col items-center gap-6", headerClassName),
1332
+ children: [
1333
+ badge && /* @__PURE__ */ jsxRuntime.jsx(Badge, { className: badgeClassName, children: badge }),
1334
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1335
+ "h2",
1336
+ {
1337
+ className: cn(
1338
+ "text-xl font-semibold text-balance md:text-2xl lg:text-3xl",
1339
+ titleClassName
1340
+ ),
1341
+ children: title
1342
+ }
1343
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
1344
+ "div",
1345
+ {
1346
+ className: cn(
1347
+ "text-xl font-semibold text-balance md:text-2xl lg:text-3xl",
1348
+ titleClassName
1349
+ ),
1350
+ children: title
1351
+ }
1352
+ )),
1353
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-1 md:mt-6", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-1 md:mt-6", descriptionClassName), children: description }))
1354
+ ]
1355
+ }
1356
+ ) : null,
1302
1357
  /* @__PURE__ */ jsxRuntime.jsxs(Carousel, { className: cn("w-full", carouselClassName), setApi, children: [
1303
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-4 flex justify-between px-1 md:mb-5", controlsClassName), children: [
1304
- carouselLabel && (typeof carouselLabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium", children: carouselLabel }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-medium", children: carouselLabel })),
1305
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
1306
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mr-2 hidden items-center gap-3 text-xs md:flex", getTextColor(background, "muted")), children: [
1307
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "01" }),
1308
- /* @__PURE__ */ jsxRuntime.jsx(Progress, { value: progress, className: cn("h-0.5 w-52", progressClassName) }),
1309
- /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
1310
- "0",
1311
- slidesLength
1358
+ /* @__PURE__ */ jsxRuntime.jsxs(
1359
+ "div",
1360
+ {
1361
+ className: cn(
1362
+ "mb-4 flex justify-between items-center px-1 md:mb-8",
1363
+ controlsClassName
1364
+ ),
1365
+ children: [
1366
+ carouselLabel && (typeof carouselLabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium", children: carouselLabel }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-medium", children: carouselLabel })),
1367
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center space-x-2", children: [
1368
+ /* @__PURE__ */ jsxRuntime.jsxs(
1369
+ "div",
1370
+ {
1371
+ className: cn("mr-4 hidden items-center gap-3 text-xs md:flex"),
1372
+ children: [
1373
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "1" }),
1374
+ /* @__PURE__ */ jsxRuntime.jsx(
1375
+ Progress,
1376
+ {
1377
+ value: progress,
1378
+ className: cn("h-0.5 w-52", progressClassName)
1379
+ }
1380
+ ),
1381
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: slidesLength })
1382
+ ]
1383
+ }
1384
+ ),
1385
+ /* @__PURE__ */ jsxRuntime.jsx(CarouselPrevious, { className: "static translate-y-0" }),
1386
+ /* @__PURE__ */ jsxRuntime.jsx(CarouselNext, { className: "static translate-y-0" })
1312
1387
  ] })
1313
- ] }),
1314
- /* @__PURE__ */ jsxRuntime.jsx(CarouselPrevious, { className: "static translate-y-0" }),
1315
- /* @__PURE__ */ jsxRuntime.jsx(CarouselNext, { className: "static translate-y-0" })
1316
- ] })
1317
- ] }),
1318
- /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { children: slidesContent })
1388
+ ]
1389
+ }
1390
+ ),
1391
+ /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { className: "md:items-stretch", children: slidesContent })
1319
1392
  ] })
1320
- ]
1393
+ ] })
1321
1394
  }
1322
1395
  );
1323
1396
  }
@@ -39,6 +39,10 @@ interface FeatureCarouselProgressItem {
39
39
  * Additional CSS classes for the description
40
40
  */
41
41
  descriptionClassName?: string;
42
+ /**
43
+ * Optional href for the item
44
+ */
45
+ href?: string;
42
46
  }
43
47
  interface FeatureCarouselProgressProps {
44
48
  /**
@@ -49,6 +53,10 @@ interface FeatureCarouselProgressProps {
49
53
  * Main heading content
50
54
  */
51
55
  title?: React.ReactNode;
56
+ /**
57
+ * Supporting description content
58
+ */
59
+ description?: React.ReactNode;
52
60
  /**
53
61
  * Label for the carousel section
54
62
  */
@@ -81,6 +89,10 @@ interface FeatureCarouselProgressProps {
81
89
  * Additional CSS classes for the title
82
90
  */
83
91
  titleClassName?: string;
92
+ /**
93
+ * Additional CSS classes for the description
94
+ */
95
+ descriptionClassName?: string;
84
96
  /**
85
97
  * Additional CSS classes for the carousel
86
98
  */
@@ -138,6 +150,6 @@ interface FeatureCarouselProgressProps {
138
150
  * />
139
151
  * ```
140
152
  */
141
- declare function FeatureCarouselProgress({ badge, title, carouselLabel, slides, slidesSlot, className, containerClassName, headerClassName, badgeClassName, titleClassName, carouselClassName, controlsClassName, progressClassName, cardClassName, background, spacing, pattern, patternOpacity, patternClassName, }: FeatureCarouselProgressProps): React.JSX.Element;
153
+ declare function FeatureCarouselProgress({ badge, title, description, titleClassName, descriptionClassName, carouselLabel, slides, slidesSlot, className, containerClassName, headerClassName, badgeClassName, carouselClassName, controlsClassName, progressClassName, cardClassName, background, spacing, pattern, patternOpacity, patternClassName, }: FeatureCarouselProgressProps): React.JSX.Element;
142
154
 
143
155
  export { FeatureCarouselProgress, type FeatureCarouselProgressProps };
@@ -39,6 +39,10 @@ interface FeatureCarouselProgressItem {
39
39
  * Additional CSS classes for the description
40
40
  */
41
41
  descriptionClassName?: string;
42
+ /**
43
+ * Optional href for the item
44
+ */
45
+ href?: string;
42
46
  }
43
47
  interface FeatureCarouselProgressProps {
44
48
  /**
@@ -49,6 +53,10 @@ interface FeatureCarouselProgressProps {
49
53
  * Main heading content
50
54
  */
51
55
  title?: React.ReactNode;
56
+ /**
57
+ * Supporting description content
58
+ */
59
+ description?: React.ReactNode;
52
60
  /**
53
61
  * Label for the carousel section
54
62
  */
@@ -81,6 +89,10 @@ interface FeatureCarouselProgressProps {
81
89
  * Additional CSS classes for the title
82
90
  */
83
91
  titleClassName?: string;
92
+ /**
93
+ * Additional CSS classes for the description
94
+ */
95
+ descriptionClassName?: string;
84
96
  /**
85
97
  * Additional CSS classes for the carousel
86
98
  */
@@ -138,6 +150,6 @@ interface FeatureCarouselProgressProps {
138
150
  * />
139
151
  * ```
140
152
  */
141
- declare function FeatureCarouselProgress({ badge, title, carouselLabel, slides, slidesSlot, className, containerClassName, headerClassName, badgeClassName, titleClassName, carouselClassName, controlsClassName, progressClassName, cardClassName, background, spacing, pattern, patternOpacity, patternClassName, }: FeatureCarouselProgressProps): React.JSX.Element;
153
+ declare function FeatureCarouselProgress({ badge, title, description, titleClassName, descriptionClassName, carouselLabel, slides, slidesSlot, className, containerClassName, headerClassName, badgeClassName, carouselClassName, controlsClassName, progressClassName, cardClassName, background, spacing, pattern, patternOpacity, patternClassName, }: FeatureCarouselProgressProps): React.JSX.Element;
142
154
 
143
155
  export { FeatureCarouselProgress, type FeatureCarouselProgressProps };