@opensite/ui 0.8.1 → 0.8.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 (83) hide show
  1. package/dist/carousel-horizontal-cards.cjs +8 -6
  2. package/dist/carousel-horizontal-cards.js +8 -6
  3. package/dist/carousel-image-hero.cjs +85 -160
  4. package/dist/carousel-image-hero.d.cts +1 -5
  5. package/dist/carousel-image-hero.d.ts +1 -5
  6. package/dist/carousel-image-hero.js +85 -160
  7. package/dist/carousel-portfolio-hero.cjs +138 -59
  8. package/dist/carousel-portfolio-hero.js +138 -59
  9. package/dist/carousel-product-feature-showcase.cjs +148 -95
  10. package/dist/carousel-product-feature-showcase.js +148 -95
  11. package/dist/carousel-progress-slider.cjs +13 -9
  12. package/dist/carousel-progress-slider.js +13 -9
  13. package/dist/carousel-scrolling-feature-showcase.cjs +105 -54
  14. package/dist/carousel-scrolling-feature-showcase.js +105 -54
  15. package/dist/feature-accordion-image.cjs +9 -8
  16. package/dist/feature-accordion-image.js +9 -8
  17. package/dist/feature-animated-carousel.cjs +65 -49
  18. package/dist/feature-animated-carousel.js +65 -49
  19. package/dist/feature-badge-grid-six.cjs +20 -17
  20. package/dist/feature-badge-grid-six.js +21 -18
  21. package/dist/feature-bento-image-grid.cjs +12 -8
  22. package/dist/feature-bento-image-grid.js +12 -8
  23. package/dist/feature-bento-utilities.cjs +9 -5
  24. package/dist/feature-bento-utilities.js +9 -5
  25. package/dist/feature-capabilities-grid.cjs +41 -38
  26. package/dist/feature-capabilities-grid.js +41 -38
  27. package/dist/feature-card-grid-linked.cjs +18 -18
  28. package/dist/feature-card-grid-linked.js +19 -19
  29. package/dist/feature-carousel-progress.cjs +3 -3
  30. package/dist/feature-carousel-progress.js +4 -4
  31. package/dist/feature-category-image-cards.cjs +3 -3
  32. package/dist/feature-category-image-cards.js +4 -4
  33. package/dist/feature-checklist-image.cjs +2 -2
  34. package/dist/feature-checklist-image.js +2 -2
  35. package/dist/feature-checklist-three-column.cjs +6 -6
  36. package/dist/feature-checklist-three-column.js +7 -7
  37. package/dist/feature-icon-grid-accent.cjs +2 -2
  38. package/dist/feature-icon-grid-accent.js +2 -2
  39. package/dist/feature-icon-grid-bordered.cjs +29 -31
  40. package/dist/feature-icon-grid-bordered.d.cts +9 -9
  41. package/dist/feature-icon-grid-bordered.d.ts +9 -9
  42. package/dist/feature-icon-grid-bordered.js +30 -32
  43. package/dist/feature-icon-grid-muted.cjs +6 -6
  44. package/dist/feature-icon-grid-muted.d.cts +9 -9
  45. package/dist/feature-icon-grid-muted.d.ts +9 -9
  46. package/dist/feature-icon-grid-muted.js +7 -7
  47. package/dist/feature-icon-tabs-content.cjs +8 -8
  48. package/dist/feature-icon-tabs-content.d.cts +13 -13
  49. package/dist/feature-icon-tabs-content.d.ts +13 -13
  50. package/dist/feature-icon-tabs-content.js +9 -9
  51. package/dist/feature-image-cards-three-column.cjs +26 -27
  52. package/dist/feature-image-cards-three-column.js +27 -28
  53. package/dist/feature-image-overlay-badge.cjs +23 -21
  54. package/dist/feature-image-overlay-badge.js +24 -22
  55. package/dist/feature-integration-cards.cjs +19 -18
  56. package/dist/feature-integration-cards.js +20 -19
  57. package/dist/feature-numbered-cards.cjs +2 -2
  58. package/dist/feature-numbered-cards.js +3 -3
  59. package/dist/feature-pattern-grid-links.cjs +26 -29
  60. package/dist/feature-pattern-grid-links.d.cts +1 -5
  61. package/dist/feature-pattern-grid-links.d.ts +1 -5
  62. package/dist/feature-pattern-grid-links.js +27 -30
  63. package/dist/feature-showcase.cjs +441 -40
  64. package/dist/feature-showcase.d.cts +62 -5
  65. package/dist/feature-showcase.d.ts +62 -5
  66. package/dist/feature-showcase.js +438 -37
  67. package/dist/feature-split-image-reverse.cjs +15 -36
  68. package/dist/feature-split-image-reverse.js +16 -37
  69. package/dist/feature-split-image.cjs +15 -36
  70. package/dist/feature-split-image.js +16 -37
  71. package/dist/feature-stats-highlight.cjs +20 -32
  72. package/dist/feature-stats-highlight.js +21 -33
  73. package/dist/feature-tabbed-content-image.cjs +11 -6
  74. package/dist/feature-tabbed-content-image.js +11 -6
  75. package/dist/feature-three-column-values.cjs +6 -6
  76. package/dist/feature-three-column-values.js +6 -6
  77. package/dist/feature-utility-cards-grid.cjs +17 -15
  78. package/dist/feature-utility-cards-grid.js +18 -16
  79. package/dist/navbar-tabbed-sections.cjs +23 -16
  80. package/dist/navbar-tabbed-sections.js +23 -16
  81. package/dist/registry.cjs +941 -708
  82. package/dist/registry.js +943 -710
  83. package/package.json +1 -1
@@ -1090,19 +1090,21 @@ function CarouselHorizontalCards({
1090
1090
  "div",
1091
1091
  {
1092
1092
  className: cn(
1093
- "flex flex-row justify-start gap-4 pl-4",
1093
+ "flex flex-row justify-start gap-2",
1094
1094
  carouselClassName
1095
1095
  ),
1096
1096
  children: [
1097
1097
  items?.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(
1098
1098
  framerMotion.motion.div,
1099
1099
  {
1100
- className: cn(
1101
- "rounded-lg last:pr-[5%] md:last:pr-[33%]"
1102
- ),
1100
+ className: cn("rounded-lg last:pr-[5%] md:last:pr-[33%]"),
1103
1101
  initial: { opacity: 0, y: 20 },
1104
1102
  animate: { opacity: 1, y: 0 },
1105
- transition: { duration: 0.5, delay: 0.2 * index, ease: "easeOut" },
1103
+ transition: {
1104
+ duration: 0.5,
1105
+ delay: 0.2 * index,
1106
+ ease: "easeOut"
1107
+ },
1106
1108
  children: /* @__PURE__ */ jsxRuntime.jsx(
1107
1109
  "div",
1108
1110
  {
@@ -1174,7 +1176,7 @@ function CarouselHorizontalCards({
1174
1176
  onNext: scrollRight,
1175
1177
  canScrollPrevious: !isAtStart,
1176
1178
  canScrollNext: !isAtEnd,
1177
- className: cn("mr-0 md:mr-10", navigationClassName)
1179
+ className: cn("mr-0", navigationClassName)
1178
1180
  }
1179
1181
  )
1180
1182
  ] })
@@ -1069,19 +1069,21 @@ function CarouselHorizontalCards({
1069
1069
  "div",
1070
1070
  {
1071
1071
  className: cn(
1072
- "flex flex-row justify-start gap-4 pl-4",
1072
+ "flex flex-row justify-start gap-2",
1073
1073
  carouselClassName
1074
1074
  ),
1075
1075
  children: [
1076
1076
  items?.map((item, index) => /* @__PURE__ */ jsx(
1077
1077
  motion.div,
1078
1078
  {
1079
- className: cn(
1080
- "rounded-lg last:pr-[5%] md:last:pr-[33%]"
1081
- ),
1079
+ className: cn("rounded-lg last:pr-[5%] md:last:pr-[33%]"),
1082
1080
  initial: { opacity: 0, y: 20 },
1083
1081
  animate: { opacity: 1, y: 0 },
1084
- transition: { duration: 0.5, delay: 0.2 * index, ease: "easeOut" },
1082
+ transition: {
1083
+ duration: 0.5,
1084
+ delay: 0.2 * index,
1085
+ ease: "easeOut"
1086
+ },
1085
1087
  children: /* @__PURE__ */ jsx(
1086
1088
  "div",
1087
1089
  {
@@ -1153,7 +1155,7 @@ function CarouselHorizontalCards({
1153
1155
  onNext: scrollRight,
1154
1156
  canScrollPrevious: !isAtStart,
1155
1157
  canScrollNext: !isAtEnd,
1156
- className: cn("mr-0 md:mr-10", navigationClassName)
1158
+ className: cn("mr-0", navigationClassName)
1157
1159
  }
1158
1160
  )
1159
1161
  ] })
@@ -450,111 +450,6 @@ var Pressable = React__namespace.forwardRef(
450
450
  }
451
451
  );
452
452
  Pressable.displayName = "Pressable";
453
- var svgCache = /* @__PURE__ */ new Map();
454
- function DynamicIcon({
455
- name,
456
- size = 28,
457
- color,
458
- className,
459
- alt
460
- }) {
461
- const [svgContent, setSvgContent] = React__namespace.useState(null);
462
- const [isLoading, setIsLoading] = React__namespace.useState(true);
463
- const [error, setError] = React__namespace.useState(null);
464
- const { url, iconName } = React__namespace.useMemo(() => {
465
- const separator = name.includes("/") ? "/" : ":";
466
- const [prefix, iconName2] = name.split(separator);
467
- const baseUrl = `https://icons.opensite.ai/api/icon/${prefix}/${iconName2}?format=svg&width=${size}&height=${size}`;
468
- return {
469
- url: baseUrl,
470
- iconName: iconName2
471
- };
472
- }, [name, size]);
473
- React__namespace.useEffect(() => {
474
- let isMounted = true;
475
- const fetchSvg = async () => {
476
- const cached = svgCache.get(url);
477
- if (cached) {
478
- if (isMounted) {
479
- setSvgContent(cached);
480
- setIsLoading(false);
481
- }
482
- return;
483
- }
484
- try {
485
- setIsLoading(true);
486
- setError(null);
487
- const response = await fetch(url);
488
- if (!response.ok) {
489
- throw new Error(`Failed to fetch icon: ${response.status}`);
490
- }
491
- let svg = await response.text();
492
- svg = processSvgForCurrentColor(svg);
493
- svgCache.set(url, svg);
494
- if (isMounted) {
495
- setSvgContent(svg);
496
- setIsLoading(false);
497
- }
498
- } catch (err) {
499
- if (isMounted) {
500
- setError(err instanceof Error ? err.message : "Failed to load icon");
501
- setIsLoading(false);
502
- }
503
- }
504
- };
505
- fetchSvg();
506
- return () => {
507
- isMounted = false;
508
- };
509
- }, [url]);
510
- if (isLoading) {
511
- return /* @__PURE__ */ jsxRuntime.jsx(
512
- "span",
513
- {
514
- className: cn("inline-block", className),
515
- style: { width: size, height: size },
516
- "aria-hidden": "true"
517
- }
518
- );
519
- }
520
- if (error || !svgContent) {
521
- return /* @__PURE__ */ jsxRuntime.jsx(
522
- "span",
523
- {
524
- className: cn("inline-block", className),
525
- style: { width: size, height: size },
526
- role: "img",
527
- "aria-label": alt || iconName
528
- }
529
- );
530
- }
531
- return /* @__PURE__ */ jsxRuntime.jsx(
532
- "span",
533
- {
534
- className: cn("inline-flex items-center justify-center", className),
535
- style: {
536
- width: size,
537
- height: size,
538
- color: color || "inherit"
539
- },
540
- role: "img",
541
- "aria-label": alt || iconName,
542
- dangerouslySetInnerHTML: { __html: svgContent }
543
- }
544
- );
545
- }
546
- function processSvgForCurrentColor(svg) {
547
- let processed = svg;
548
- processed = processed.replace(
549
- /stroke=["'](#000000|#000|black)["']/gi,
550
- 'stroke="currentColor"'
551
- );
552
- processed = processed.replace(
553
- /fill=["'](#000000|#000|black)["']/gi,
554
- 'fill="currentColor"'
555
- );
556
- return processed;
557
- }
558
453
  var maxWidthStyles = {
559
454
  sm: "max-w-screen-sm",
560
455
  md: "max-w-screen-md",
@@ -937,43 +832,43 @@ function CarouselImageHero({
937
832
  actions,
938
833
  actionsSlot,
939
834
  images,
940
- autoPlayInterval = 5e3,
835
+ autoPlayInterval = 7500,
941
836
  className,
942
- containerClassName,
837
+ containerClassName = "mx-auto w-full max-w-7xl relative z-10 rounded-2xl overflow-hidden shadow-xl",
943
838
  contentClassName,
944
839
  badgeClassName,
945
840
  headingClassName,
946
841
  descriptionClassName,
947
842
  actionsClassName,
948
843
  imageClassName,
949
- navigationClassName,
950
844
  indicatorsClassName,
951
845
  optixFlowConfig,
952
- background = "white",
953
- spacing = "xl",
846
+ background,
847
+ spacing,
954
848
  pattern,
955
849
  patternOpacity
956
850
  }) {
957
851
  const [currentImageIndex, setCurrentImageIndex] = React__namespace.useState(0);
958
852
  React__namespace.useEffect(() => {
959
853
  const interval = setInterval(() => {
960
- setCurrentImageIndex((prevIndex) => (prevIndex + 1) % (images?.length ?? 1));
854
+ setCurrentImageIndex(
855
+ (prevIndex) => (prevIndex + 1) % (images?.length ?? 1)
856
+ );
961
857
  }, autoPlayInterval);
962
858
  return () => clearInterval(interval);
963
859
  }, [images?.length, autoPlayInterval]);
964
- const goToNextImage = () => {
965
- setCurrentImageIndex((prevIndex) => (prevIndex + 1) % (images?.length ?? 1));
966
- };
967
- const goToPreviousImage = () => {
968
- setCurrentImageIndex(
969
- (prevIndex) => (prevIndex - 1 + (images?.length ?? 1)) % (images?.length ?? 1)
970
- );
971
- };
972
860
  const renderActions = () => {
973
861
  if (actionsSlot) return actionsSlot;
974
862
  if (!actions || actions.length === 0) return null;
975
863
  return actions.map((action, index) => {
976
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
864
+ const {
865
+ label,
866
+ icon,
867
+ iconAfter,
868
+ children,
869
+ className: actionClassName,
870
+ ...pressableProps
871
+ } = action;
977
872
  return /* @__PURE__ */ jsxRuntime.jsx(
978
873
  Pressable,
979
874
  {
@@ -998,6 +893,7 @@ function CarouselImageHero({
998
893
  className: cn("relative min-h-[600px] overflow-hidden", className),
999
894
  pattern,
1000
895
  patternOpacity,
896
+ containerClassName,
1001
897
  children: [
1002
898
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("absolute inset-0", imageClassName), children: [
1003
899
  images?.map((image, index) => /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1023,50 +919,79 @@ function CarouselImageHero({
1023
919
  index
1024
920
  )),
1025
921
  /* @__PURE__ */ jsxRuntime.jsx(
1026
- Pressable,
1027
- {
1028
- onClick: goToPreviousImage,
1029
- asButton: true,
1030
- variant: "ghost",
1031
- size: "icon",
1032
- className: cn("absolute left-4 top-1/2 z-20 hidden -translate-y-1/2 rounded-full bg-background/30 p-2 backdrop-blur-sm transition-colors hover:bg-background/50 md:block", navigationClassName),
1033
- "aria-label": "Previous image",
1034
- children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-left", size: 24, className: "text-white" })
1035
- }
1036
- ),
1037
- /* @__PURE__ */ jsxRuntime.jsx(
1038
- Pressable,
1039
- {
1040
- onClick: goToNextImage,
1041
- asButton: true,
1042
- variant: "ghost",
1043
- size: "icon",
1044
- className: cn("absolute right-4 top-1/2 z-20 hidden -translate-y-1/2 rounded-full bg-background/30 p-2 backdrop-blur-sm transition-colors hover:bg-background/50 md:block", navigationClassName),
1045
- "aria-label": "Next image",
1046
- children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 24, className: "text-white" })
1047
- }
1048
- ),
1049
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("absolute bottom-6 left-1/2 z-10 flex -translate-x-1/2 gap-3", indicatorsClassName), children: images?.map((_, index) => /* @__PURE__ */ jsxRuntime.jsx(
1050
- "button",
922
+ "div",
1051
923
  {
1052
- onClick: () => setCurrentImageIndex(index),
1053
924
  className: cn(
1054
- "flex h-3 w-3 items-center justify-center rounded-full transition-colors",
1055
- index === currentImageIndex ? "bg-white" : "bg-white/50 hover:bg-white/80"
925
+ "absolute bottom-6 left-1/2 z-10 flex -translate-x-1/2 gap-3",
926
+ indicatorsClassName
1056
927
  ),
1057
- "aria-label": `Go to image ${index + 1}`
1058
- },
1059
- index
1060
- )) })
928
+ children: images?.map((_, index) => /* @__PURE__ */ jsxRuntime.jsx(
929
+ "button",
930
+ {
931
+ onClick: () => setCurrentImageIndex(index),
932
+ className: cn(
933
+ "flex h-4 w-4 items-center justify-center rounded-full transition-colors",
934
+ index === currentImageIndex ? "bg-white" : "bg-white/50 hover:bg-white/80"
935
+ ),
936
+ "aria-label": `Go to image ${index + 1}`
937
+ },
938
+ index
939
+ ))
940
+ }
941
+ )
1061
942
  ] }),
1062
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container relative z-10 mx-auto flex min-h-[600px] flex-col items-center justify-center px-4 py-16 text-center md:px-6 md:py-20", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("max-w-4xl space-y-6", contentClassName), children: [
1063
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
1064
- badge && (typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("inline-flex items-center rounded-full bg-white/10 px-3 py-1 text-sm font-medium text-white backdrop-blur-sm", badgeClassName), children: /* @__PURE__ */ jsxRuntime.jsx("span", { children: badge }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: badgeClassName, children: badge })),
1065
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl font-bold tracking-tight text-primary-foreground dark:text-primary sm:text-5xl md:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
1066
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-xl text-primary-foreground dark:text-primary", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
1067
- ] }),
1068
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col justify-center gap-4 sm:flex-row", actionsClassName), children: renderActions() })
1069
- ] }) })
943
+ /* @__PURE__ */ jsxRuntime.jsx(
944
+ "div",
945
+ {
946
+ className: cn(
947
+ "relative z-10 mx-auto flex min-h-[600px] flex-col items-center justify-center px-4 py-16 text-center md:px-16 md:py-20"
948
+ ),
949
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("max-w-4xl space-y-6", contentClassName), children: [
950
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
951
+ badge && (typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
952
+ "div",
953
+ {
954
+ className: cn(
955
+ "inline-flex items-center rounded-full bg-white/10 px-3 py-1 text-sm font-medium text-white backdrop-blur-sm",
956
+ badgeClassName
957
+ ),
958
+ children: /* @__PURE__ */ jsxRuntime.jsx("span", { children: badge })
959
+ }
960
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: badgeClassName, children: badge })),
961
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
962
+ "h1",
963
+ {
964
+ className: cn(
965
+ "text-4xl font-bold sm:text-5xl md:text-6xl text-balance text-shadow",
966
+ headingClassName
967
+ ),
968
+ children: heading
969
+ }
970
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
971
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
972
+ "p",
973
+ {
974
+ className: cn(
975
+ "text-xl text-balance text-shadow",
976
+ descriptionClassName
977
+ ),
978
+ children: description
979
+ }
980
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
981
+ ] }),
982
+ (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx(
983
+ "div",
984
+ {
985
+ className: cn(
986
+ "flex flex-col justify-center gap-4 sm:flex-row",
987
+ actionsClassName
988
+ ),
989
+ children: renderActions()
990
+ }
991
+ )
992
+ ] })
993
+ }
994
+ )
1070
995
  ]
1071
996
  }
1072
997
  );
@@ -82,10 +82,6 @@ interface CarouselImageHeroProps {
82
82
  * Additional CSS classes for the image container
83
83
  */
84
84
  imageClassName?: string;
85
- /**
86
- * Additional CSS classes for the navigation arrows
87
- */
88
- navigationClassName?: string;
89
85
  /**
90
86
  * Additional CSS classes for the indicators
91
87
  */
@@ -111,6 +107,6 @@ interface CarouselImageHeroProps {
111
107
  */
112
108
  patternOpacity?: number;
113
109
  }
114
- declare function CarouselImageHero({ badge, heading, description, actions, actionsSlot, images, autoPlayInterval, className, containerClassName, contentClassName, badgeClassName, headingClassName, descriptionClassName, actionsClassName, imageClassName, navigationClassName, indicatorsClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, }: CarouselImageHeroProps): React.JSX.Element;
110
+ declare function CarouselImageHero({ badge, heading, description, actions, actionsSlot, images, autoPlayInterval, className, containerClassName, contentClassName, badgeClassName, headingClassName, descriptionClassName, actionsClassName, imageClassName, indicatorsClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, }: CarouselImageHeroProps): React.JSX.Element;
115
111
 
116
112
  export { CarouselImageHero, type CarouselImageHeroProps };
@@ -82,10 +82,6 @@ interface CarouselImageHeroProps {
82
82
  * Additional CSS classes for the image container
83
83
  */
84
84
  imageClassName?: string;
85
- /**
86
- * Additional CSS classes for the navigation arrows
87
- */
88
- navigationClassName?: string;
89
85
  /**
90
86
  * Additional CSS classes for the indicators
91
87
  */
@@ -111,6 +107,6 @@ interface CarouselImageHeroProps {
111
107
  */
112
108
  patternOpacity?: number;
113
109
  }
114
- declare function CarouselImageHero({ badge, heading, description, actions, actionsSlot, images, autoPlayInterval, className, containerClassName, contentClassName, badgeClassName, headingClassName, descriptionClassName, actionsClassName, imageClassName, navigationClassName, indicatorsClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, }: CarouselImageHeroProps): React.JSX.Element;
110
+ declare function CarouselImageHero({ badge, heading, description, actions, actionsSlot, images, autoPlayInterval, className, containerClassName, contentClassName, badgeClassName, headingClassName, descriptionClassName, actionsClassName, imageClassName, indicatorsClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, }: CarouselImageHeroProps): React.JSX.Element;
115
111
 
116
112
  export { CarouselImageHero, type CarouselImageHeroProps };