@opensite/ui 1.8.2 → 1.8.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 (171) hide show
  1. package/dist/about-story-gallery.cjs +3 -30
  2. package/dist/about-story-gallery.d.cts +1 -1
  3. package/dist/about-story-gallery.d.ts +1 -1
  4. package/dist/about-story-gallery.js +3 -30
  5. package/dist/components.d.cts +1 -1
  6. package/dist/components.d.ts +1 -1
  7. package/dist/contact-callback.cjs +526 -273
  8. package/dist/contact-callback.d.cts +39 -59
  9. package/dist/contact-callback.d.ts +39 -59
  10. package/dist/contact-callback.js +528 -274
  11. package/dist/contact-card.cjs +459 -183
  12. package/dist/contact-card.d.cts +26 -49
  13. package/dist/contact-card.d.ts +26 -49
  14. package/dist/contact-card.js +461 -183
  15. package/dist/contact-careers.cjs +614 -510
  16. package/dist/contact-careers.d.cts +32 -55
  17. package/dist/contact-careers.d.ts +32 -55
  18. package/dist/contact-careers.js +616 -510
  19. package/dist/contact-catering.cjs +507 -501
  20. package/dist/contact-catering.d.cts +27 -61
  21. package/dist/contact-catering.d.ts +27 -61
  22. package/dist/contact-catering.js +509 -500
  23. package/dist/contact-consultation.cjs +484 -253
  24. package/dist/contact-consultation.d.cts +29 -56
  25. package/dist/contact-consultation.d.ts +29 -56
  26. package/dist/contact-consultation.js +486 -253
  27. package/dist/contact-dark.cjs +296 -296
  28. package/dist/contact-dark.d.cts +1 -1
  29. package/dist/contact-dark.d.ts +1 -1
  30. package/dist/contact-dark.js +297 -296
  31. package/dist/contact-demo.d.cts +1 -1
  32. package/dist/contact-demo.d.ts +1 -1
  33. package/dist/contact-emergency.d.cts +1 -1
  34. package/dist/contact-emergency.d.ts +1 -1
  35. package/dist/contact-event.d.cts +1 -1
  36. package/dist/contact-event.d.ts +1 -1
  37. package/dist/contact-faq.cjs +247 -250
  38. package/dist/contact-faq.d.cts +1 -1
  39. package/dist/contact-faq.d.ts +1 -1
  40. package/dist/contact-faq.js +248 -250
  41. package/dist/contact-feedback.d.cts +1 -1
  42. package/dist/contact-feedback.d.ts +1 -1
  43. package/dist/contact-fitness.d.cts +1 -1
  44. package/dist/contact-fitness.d.ts +1 -1
  45. package/dist/contact-guest.d.cts +1 -1
  46. package/dist/contact-guest.d.ts +1 -1
  47. package/dist/contact-image.d.cts +1 -1
  48. package/dist/contact-image.d.ts +1 -1
  49. package/dist/contact-insurance.d.cts +1 -1
  50. package/dist/contact-insurance.d.ts +1 -1
  51. package/dist/contact-interview.d.cts +1 -1
  52. package/dist/contact-interview.d.ts +1 -1
  53. package/dist/contact-locations.d.cts +1 -1
  54. package/dist/contact-locations.d.ts +1 -1
  55. package/dist/contact-maintenance.d.cts +1 -1
  56. package/dist/contact-maintenance.d.ts +1 -1
  57. package/dist/contact-map.d.cts +1 -1
  58. package/dist/contact-map.d.ts +1 -1
  59. package/dist/contact-minimal.d.cts +1 -1
  60. package/dist/contact-minimal.d.ts +1 -1
  61. package/dist/contact-moving.d.cts +1 -1
  62. package/dist/contact-moving.d.ts +1 -1
  63. package/dist/contact-multistep.d.cts +1 -1
  64. package/dist/contact-multistep.d.ts +1 -1
  65. package/dist/contact-partnership.d.cts +1 -1
  66. package/dist/contact-partnership.d.ts +1 -1
  67. package/dist/contact-photography.cjs +247 -250
  68. package/dist/contact-photography.d.cts +1 -1
  69. package/dist/contact-photography.d.ts +1 -1
  70. package/dist/contact-photography.js +248 -250
  71. package/dist/contact-press.d.cts +1 -1
  72. package/dist/contact-press.d.ts +1 -1
  73. package/dist/contact-quote.d.cts +1 -1
  74. package/dist/contact-quote.d.ts +1 -1
  75. package/dist/contact-referral.d.cts +1 -1
  76. package/dist/contact-referral.d.ts +1 -1
  77. package/dist/contact-report.d.cts +1 -1
  78. package/dist/contact-report.d.ts +1 -1
  79. package/dist/contact-reservation.d.cts +1 -1
  80. package/dist/contact-reservation.d.ts +1 -1
  81. package/dist/contact-retreat.d.cts +1 -1
  82. package/dist/contact-retreat.d.ts +1 -1
  83. package/dist/contact-rsvp.d.cts +1 -1
  84. package/dist/contact-rsvp.d.ts +1 -1
  85. package/dist/contact-sales.d.cts +1 -1
  86. package/dist/contact-sales.d.ts +1 -1
  87. package/dist/contact-schedule.d.cts +1 -1
  88. package/dist/contact-schedule.d.ts +1 -1
  89. package/dist/contact-sponsorship.d.cts +1 -1
  90. package/dist/contact-sponsorship.d.ts +1 -1
  91. package/dist/contact-support.d.cts +1 -1
  92. package/dist/contact-support.d.ts +1 -1
  93. package/dist/contact-tenant.d.cts +1 -1
  94. package/dist/contact-tenant.d.ts +1 -1
  95. package/dist/contact-vendor.d.cts +1 -1
  96. package/dist/contact-vendor.d.ts +1 -1
  97. package/dist/contact-volunteer.d.cts +1 -1
  98. package/dist/contact-volunteer.d.ts +1 -1
  99. package/dist/contact-warranty.d.cts +1 -1
  100. package/dist/contact-warranty.d.ts +1 -1
  101. package/dist/contact-wedding.d.cts +1 -1
  102. package/dist/contact-wedding.d.ts +1 -1
  103. package/dist/cta-app-download-newsletter.d.cts +1 -1
  104. package/dist/cta-app-download-newsletter.d.ts +1 -1
  105. package/dist/cta-newsletter-features.d.cts +1 -1
  106. package/dist/cta-newsletter-features.d.ts +1 -1
  107. package/dist/footer-accordion-social.d.cts +1 -1
  108. package/dist/footer-accordion-social.d.ts +1 -1
  109. package/dist/footer-newsletter-contact.d.cts +1 -1
  110. package/dist/footer-newsletter-contact.d.ts +1 -1
  111. package/dist/footer-newsletter-minimal.d.cts +1 -1
  112. package/dist/footer-newsletter-minimal.d.ts +1 -1
  113. package/dist/footer-split-image-accordion.d.cts +1 -1
  114. package/dist/footer-split-image-accordion.d.ts +1 -1
  115. package/dist/{forms-nGgHUTBw.d.cts → forms-CStlFhnh.d.cts} +41 -0
  116. package/dist/{forms-nGgHUTBw.d.ts → forms-CStlFhnh.d.ts} +41 -0
  117. package/dist/hero-conversation-intelligence.cjs +1 -2
  118. package/dist/hero-conversation-intelligence.d.cts +1 -5
  119. package/dist/hero-conversation-intelligence.d.ts +1 -5
  120. package/dist/hero-conversation-intelligence.js +1 -2
  121. package/dist/hero-conversion-video-play.cjs +2 -2
  122. package/dist/hero-conversion-video-play.js +2 -2
  123. package/dist/hero-design-system-3d.cjs +162 -82
  124. package/dist/hero-design-system-3d.js +162 -82
  125. package/dist/hero-ecommerce-product-showcase.cjs +103 -81
  126. package/dist/hero-ecommerce-product-showcase.d.cts +5 -1
  127. package/dist/hero-ecommerce-product-showcase.d.ts +5 -1
  128. package/dist/hero-ecommerce-product-showcase.js +103 -81
  129. package/dist/hero-floating-images.cjs +1 -1
  130. package/dist/hero-floating-images.js +1 -1
  131. package/dist/hero-hiring-animated-text.cjs +4 -4
  132. package/dist/hero-hiring-animated-text.js +4 -4
  133. package/dist/hero-minimal-centered-dark.cjs +111 -82
  134. package/dist/hero-minimal-centered-dark.d.cts +1 -1
  135. package/dist/hero-minimal-centered-dark.d.ts +1 -1
  136. package/dist/hero-minimal-centered-dark.js +111 -82
  137. package/dist/hero-mobile-app-download.cjs +1 -1
  138. package/dist/hero-mobile-app-download.js +1 -1
  139. package/dist/hero-overlay-cta-grid.cjs +1 -1
  140. package/dist/hero-overlay-cta-grid.js +1 -1
  141. package/dist/hero-spiral-pattern-cards.cjs +1 -1
  142. package/dist/hero-spiral-pattern-cards.js +1 -1
  143. package/dist/hero-startup-launch-cta.cjs +1 -1
  144. package/dist/hero-startup-launch-cta.js +1 -1
  145. package/dist/hero-stats-social-proof.cjs +106 -90
  146. package/dist/hero-stats-social-proof.js +106 -90
  147. package/dist/hero-testimonial-image-grid.cjs +1 -1
  148. package/dist/hero-testimonial-image-grid.js +1 -1
  149. package/dist/hero-therapy-testimonial-grid.cjs +1 -1
  150. package/dist/hero-therapy-testimonial-grid.js +1 -1
  151. package/dist/hero-ui-library-showcase.cjs +63 -15
  152. package/dist/hero-ui-library-showcase.d.cts +5 -1
  153. package/dist/hero-ui-library-showcase.d.ts +5 -1
  154. package/dist/hero-ui-library-showcase.js +63 -15
  155. package/dist/index.cjs +44 -6
  156. package/dist/index.d.cts +3 -2
  157. package/dist/index.d.ts +3 -2
  158. package/dist/index.js +44 -6
  159. package/dist/link-page-newsletter-social.d.cts +1 -1
  160. package/dist/link-page-newsletter-social.d.ts +1 -1
  161. package/dist/offer-modal-membership-image.d.cts +1 -1
  162. package/dist/offer-modal-membership-image.d.ts +1 -1
  163. package/dist/offer-modal-newsletter-discount.d.cts +1 -1
  164. package/dist/offer-modal-newsletter-discount.d.ts +1 -1
  165. package/dist/offer-modal-sheet-newsletter.d.cts +1 -1
  166. package/dist/offer-modal-sheet-newsletter.d.ts +1 -1
  167. package/dist/registry.cjs +14465 -14767
  168. package/dist/registry.js +12664 -12966
  169. package/dist/resource-list-hero-filter.d.cts +1 -1
  170. package/dist/resource-list-hero-filter.d.ts +1 -1
  171. package/package.json +3 -3
@@ -961,7 +961,7 @@ var Section = React__namespace.default.forwardRef(
961
961
  );
962
962
  Section.displayName = "Section";
963
963
  function HeroDesignSystem3d({
964
- trustBadge = "Trusted by over 7,000 customers",
964
+ trustBadge,
965
965
  trustBadgeSlot,
966
966
  heading,
967
967
  description,
@@ -1000,87 +1000,130 @@ function HeroDesignSystem3d({
1000
1000
  const renderActions = React.useMemo(() => {
1001
1001
  if (actionsSlot) return actionsSlot;
1002
1002
  if (!actions || actions.length === 0) return null;
1003
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex w-full flex-wrap items-center gap-4 md:w-fit", actionsClassName), children: actions.map((action, index) => {
1004
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
1005
- if (index === 0) {
1006
- return /* @__PURE__ */ jsxRuntime.jsxs(
1007
- Pressable,
1008
- {
1009
- asButton: true,
1003
+ return /* @__PURE__ */ jsxRuntime.jsx(
1004
+ "div",
1005
+ {
1006
+ className: cn(
1007
+ "flex w-full flex-wrap items-center gap-4 md:w-fit",
1008
+ actionsClassName
1009
+ ),
1010
+ children: actions.map((action, index) => {
1011
+ const {
1012
+ label,
1013
+ icon,
1014
+ iconAfter,
1015
+ children,
1010
1016
  className: actionClassName,
1011
- ...pressableProps,
1012
- children: [
1013
- /* @__PURE__ */ jsxRuntime.jsx(
1014
- img.Img,
1015
- {
1016
- src: logoMarkSrc,
1017
- alt: "",
1018
- className: "block size-6 shrink-0",
1019
- optixFlowConfig
1020
- }
1021
- ),
1022
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-nowrap transition-all duration-300 ease-in-out", `group-hover:${getAccentColor(background)}`), children: label }),
1023
- /* @__PURE__ */ jsxRuntime.jsx(
1024
- DynamicIcon,
1025
- {
1026
- name: "lucide/move-up-right",
1027
- size: 24,
1028
- className: "shrink-0 stroke-black transition-all duration-300 ease-in-out group-hover:stroke-primary"
1029
- }
1030
- )
1031
- ]
1032
- },
1033
- index
1034
- );
1017
+ ...pressableProps
1018
+ } = action;
1019
+ if (index === 0) {
1020
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1021
+ Pressable,
1022
+ {
1023
+ asButton: true,
1024
+ className: actionClassName,
1025
+ ...pressableProps,
1026
+ children: [
1027
+ /* @__PURE__ */ jsxRuntime.jsx(
1028
+ img.Img,
1029
+ {
1030
+ src: logoMarkSrc,
1031
+ alt: "",
1032
+ className: "block size-6 shrink-0",
1033
+ optixFlowConfig
1034
+ }
1035
+ ),
1036
+ /* @__PURE__ */ jsxRuntime.jsx(
1037
+ "p",
1038
+ {
1039
+ className: cn(
1040
+ "text-nowrap transition-all duration-300 ease-in-out",
1041
+ `group-hover:${getAccentColor(background)}`
1042
+ ),
1043
+ children: label
1044
+ }
1045
+ ),
1046
+ /* @__PURE__ */ jsxRuntime.jsx(
1047
+ DynamicIcon,
1048
+ {
1049
+ name: "lucide/move-up-right",
1050
+ size: 24,
1051
+ className: "shrink-0 stroke-black transition-all duration-300 ease-in-out group-hover:stroke-primary"
1052
+ }
1053
+ )
1054
+ ]
1055
+ },
1056
+ index
1057
+ );
1058
+ }
1059
+ return /* @__PURE__ */ jsxRuntime.jsx(
1060
+ Pressable,
1061
+ {
1062
+ asButton: true,
1063
+ className: actionClassName,
1064
+ ...pressableProps,
1065
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1066
+ icon,
1067
+ label,
1068
+ iconAfter
1069
+ ] })
1070
+ },
1071
+ index
1072
+ );
1073
+ })
1035
1074
  }
1036
- return /* @__PURE__ */ jsxRuntime.jsx(
1037
- Pressable,
1038
- {
1039
- asButton: true,
1040
- className: actionClassName,
1041
- ...pressableProps,
1042
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1043
- icon,
1044
- label,
1045
- iconAfter
1046
- ] })
1047
- },
1048
- index
1049
- );
1050
- }) });
1075
+ );
1051
1076
  }, [actionsSlot, actions, actionsClassName, logoMarkSrc, optixFlowConfig]);
1052
1077
  const renderImages = React.useMemo(() => {
1053
1078
  if (imagesSlot) return imagesSlot;
1054
1079
  if (!images || images.length === 0) return null;
1055
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative mt-16 aspect-[1.2/1] overflow-hidden sm:-right-[10%] sm:mt-28 sm:aspect-[2.788990826/1]", imagesClassName), children: [
1056
- images[0] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-[11%] left-[8%] z-10 aspect-[0.7/1] w-[80%] sm:left-[4%] sm:w-[45%]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-full transform-[rotateY(-30deg)_rotateX(-18deg)_rotate(-4deg)]", children: /* @__PURE__ */ jsxRuntime.jsx(
1057
- img.Img,
1058
- {
1059
- src: images[0].src,
1060
- alt: images[0].alt,
1061
- className: cn("block size-full object-cover object-center", images[0].className),
1062
- optixFlowConfig
1063
- }
1064
- ) }) }),
1065
- images[1] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-0 left-[70%] z-20 aspect-[0.7/1] w-[73%] -translate-x-1/2 sm:left-1/2 sm:w-[38%]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-full transform-[rotateY(-30deg)_rotateX(-18deg)_rotate(-4deg)] shadow-[-25px_0px_20px_0px_rgba(0,0,0,.04)]", children: /* @__PURE__ */ jsxRuntime.jsx(
1066
- img.Img,
1067
- {
1068
- src: images[1].src,
1069
- alt: images[1].alt,
1070
- className: cn("block size-full object-cover object-center", images[1].className),
1071
- optixFlowConfig
1072
- }
1073
- ) }) }),
1074
- images[2] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-[3%] -right-[45%] z-30 aspect-[0.7/1] w-[85%] sm:-right-[2%] sm:w-[50%]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-full transform-[rotateY(-30deg)_rotateX(-18deg)_rotate(-4deg)] shadow-[-25px_0px_20px_0px_rgba(0,0,0,.04)]", children: /* @__PURE__ */ jsxRuntime.jsx(
1075
- img.Img,
1076
- {
1077
- src: images[2].src,
1078
- alt: images[2].alt,
1079
- className: cn("block size-full object-cover object-center", images[2].className),
1080
- optixFlowConfig
1081
- }
1082
- ) }) })
1083
- ] });
1080
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1081
+ "div",
1082
+ {
1083
+ className: cn(
1084
+ "relative mt-16 aspect-[1.2/1] overflow-hidden sm:-right-[10%] sm:mt-28 sm:aspect-[2.788990826/1]",
1085
+ imagesClassName
1086
+ ),
1087
+ children: [
1088
+ images[0] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-[11%] left-[8%] z-10 aspect-[0.7/1] w-[80%] sm:left-[4%] sm:w-[45%]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-full transform-[rotateY(-30deg)_rotateX(-18deg)_rotate(-4deg)]", children: /* @__PURE__ */ jsxRuntime.jsx(
1089
+ img.Img,
1090
+ {
1091
+ src: images[0].src,
1092
+ alt: images[0].alt,
1093
+ className: cn(
1094
+ "block size-full object-cover object-center",
1095
+ images[0].className
1096
+ ),
1097
+ optixFlowConfig
1098
+ }
1099
+ ) }) }),
1100
+ images[1] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-0 left-[70%] z-20 aspect-[0.7/1] w-[73%] -translate-x-1/2 sm:left-1/2 sm:w-[38%]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-full transform-[rotateY(-30deg)_rotateX(-18deg)_rotate(-4deg)] shadow-[-25px_0px_20px_0px_rgba(0,0,0,.04)]", children: /* @__PURE__ */ jsxRuntime.jsx(
1101
+ img.Img,
1102
+ {
1103
+ src: images[1].src,
1104
+ alt: images[1].alt,
1105
+ className: cn(
1106
+ "block size-full object-cover object-center",
1107
+ images[1].className
1108
+ ),
1109
+ optixFlowConfig
1110
+ }
1111
+ ) }) }),
1112
+ images[2] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-[3%] -right-[45%] z-30 aspect-[0.7/1] w-[85%] sm:-right-[2%] sm:w-[50%]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-full transform-[rotateY(-30deg)_rotateX(-18deg)_rotate(-4deg)] shadow-[-25px_0px_20px_0px_rgba(0,0,0,.04)]", children: /* @__PURE__ */ jsxRuntime.jsx(
1113
+ img.Img,
1114
+ {
1115
+ src: images[2].src,
1116
+ alt: images[2].alt,
1117
+ className: cn(
1118
+ "block size-full object-cover object-center",
1119
+ images[2].className
1120
+ ),
1121
+ optixFlowConfig
1122
+ }
1123
+ ) }) })
1124
+ ]
1125
+ }
1126
+ );
1084
1127
  }, [imagesSlot, images, imagesClassName, optixFlowConfig]);
1085
1128
  return /* @__PURE__ */ jsxRuntime.jsx(
1086
1129
  Section,
@@ -1091,12 +1134,49 @@ function HeroDesignSystem3d({
1091
1134
  patternOpacity,
1092
1135
  className: cn("font-sans", className),
1093
1136
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-396 px-0 sm:px-8", containerClassName), children: [
1094
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container px-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto flex max-w-100 flex-col items-center gap-6 sm:max-w-125 lg:max-w-160", contentClassName), children: [
1095
- renderTrustBadge,
1096
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2", children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-center text-[2.8125rem] leading-none font-bold sm:text-[3.9375rem] lg:text-[5.3125rem]", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-center text-[2.8125rem] leading-none font-bold sm:text-[3.9375rem] lg:text-[5.3125rem]", headingClassName), children: heading })) }),
1097
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-center text-base leading-snug text-balance sm:text-2xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
1098
- renderActions
1099
- ] }) }),
1137
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container px-4", children: /* @__PURE__ */ jsxRuntime.jsxs(
1138
+ "div",
1139
+ {
1140
+ className: cn(
1141
+ "mx-auto flex max-w-100 flex-col items-center gap-6 sm:max-w-125 lg:max-w-160",
1142
+ contentClassName
1143
+ ),
1144
+ children: [
1145
+ renderTrustBadge,
1146
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2", children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1147
+ "h1",
1148
+ {
1149
+ className: cn(
1150
+ "text-center text-[2.8125rem] leading-none font-bold sm:text-[3.9375rem] lg:text-[5.3125rem]",
1151
+ headingClassName
1152
+ ),
1153
+ children: heading
1154
+ }
1155
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
1156
+ "h1",
1157
+ {
1158
+ className: cn(
1159
+ "text-center text-[2.8125rem] leading-none font-bold sm:text-[3.9375rem] lg:text-[5.3125rem]",
1160
+ headingClassName
1161
+ ),
1162
+ children: heading
1163
+ }
1164
+ )) }),
1165
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1166
+ "p",
1167
+ {
1168
+ className: cn(
1169
+ "text-center text-base leading-snug text-balance sm:text-2xl",
1170
+ getTextColor(background, "muted"),
1171
+ descriptionClassName
1172
+ ),
1173
+ children: description
1174
+ }
1175
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
1176
+ renderActions
1177
+ ]
1178
+ }
1179
+ ) }),
1100
1180
  renderImages
1101
1181
  ] })
1102
1182
  }
@@ -940,7 +940,7 @@ var Section = React__default.forwardRef(
940
940
  );
941
941
  Section.displayName = "Section";
942
942
  function HeroDesignSystem3d({
943
- trustBadge = "Trusted by over 7,000 customers",
943
+ trustBadge,
944
944
  trustBadgeSlot,
945
945
  heading,
946
946
  description,
@@ -979,87 +979,130 @@ function HeroDesignSystem3d({
979
979
  const renderActions = useMemo(() => {
980
980
  if (actionsSlot) return actionsSlot;
981
981
  if (!actions || actions.length === 0) return null;
982
- return /* @__PURE__ */ jsx("div", { className: cn("flex w-full flex-wrap items-center gap-4 md:w-fit", actionsClassName), children: actions.map((action, index) => {
983
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
984
- if (index === 0) {
985
- return /* @__PURE__ */ jsxs(
986
- Pressable,
987
- {
988
- asButton: true,
982
+ return /* @__PURE__ */ jsx(
983
+ "div",
984
+ {
985
+ className: cn(
986
+ "flex w-full flex-wrap items-center gap-4 md:w-fit",
987
+ actionsClassName
988
+ ),
989
+ children: actions.map((action, index) => {
990
+ const {
991
+ label,
992
+ icon,
993
+ iconAfter,
994
+ children,
989
995
  className: actionClassName,
990
- ...pressableProps,
991
- children: [
992
- /* @__PURE__ */ jsx(
993
- Img,
994
- {
995
- src: logoMarkSrc,
996
- alt: "",
997
- className: "block size-6 shrink-0",
998
- optixFlowConfig
999
- }
1000
- ),
1001
- /* @__PURE__ */ jsx("p", { className: cn("text-nowrap transition-all duration-300 ease-in-out", `group-hover:${getAccentColor(background)}`), children: label }),
1002
- /* @__PURE__ */ jsx(
1003
- DynamicIcon,
1004
- {
1005
- name: "lucide/move-up-right",
1006
- size: 24,
1007
- className: "shrink-0 stroke-black transition-all duration-300 ease-in-out group-hover:stroke-primary"
1008
- }
1009
- )
1010
- ]
1011
- },
1012
- index
1013
- );
996
+ ...pressableProps
997
+ } = action;
998
+ if (index === 0) {
999
+ return /* @__PURE__ */ jsxs(
1000
+ Pressable,
1001
+ {
1002
+ asButton: true,
1003
+ className: actionClassName,
1004
+ ...pressableProps,
1005
+ children: [
1006
+ /* @__PURE__ */ jsx(
1007
+ Img,
1008
+ {
1009
+ src: logoMarkSrc,
1010
+ alt: "",
1011
+ className: "block size-6 shrink-0",
1012
+ optixFlowConfig
1013
+ }
1014
+ ),
1015
+ /* @__PURE__ */ jsx(
1016
+ "p",
1017
+ {
1018
+ className: cn(
1019
+ "text-nowrap transition-all duration-300 ease-in-out",
1020
+ `group-hover:${getAccentColor(background)}`
1021
+ ),
1022
+ children: label
1023
+ }
1024
+ ),
1025
+ /* @__PURE__ */ jsx(
1026
+ DynamicIcon,
1027
+ {
1028
+ name: "lucide/move-up-right",
1029
+ size: 24,
1030
+ className: "shrink-0 stroke-black transition-all duration-300 ease-in-out group-hover:stroke-primary"
1031
+ }
1032
+ )
1033
+ ]
1034
+ },
1035
+ index
1036
+ );
1037
+ }
1038
+ return /* @__PURE__ */ jsx(
1039
+ Pressable,
1040
+ {
1041
+ asButton: true,
1042
+ className: actionClassName,
1043
+ ...pressableProps,
1044
+ children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
1045
+ icon,
1046
+ label,
1047
+ iconAfter
1048
+ ] })
1049
+ },
1050
+ index
1051
+ );
1052
+ })
1014
1053
  }
1015
- return /* @__PURE__ */ jsx(
1016
- Pressable,
1017
- {
1018
- asButton: true,
1019
- className: actionClassName,
1020
- ...pressableProps,
1021
- children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
1022
- icon,
1023
- label,
1024
- iconAfter
1025
- ] })
1026
- },
1027
- index
1028
- );
1029
- }) });
1054
+ );
1030
1055
  }, [actionsSlot, actions, actionsClassName, logoMarkSrc, optixFlowConfig]);
1031
1056
  const renderImages = useMemo(() => {
1032
1057
  if (imagesSlot) return imagesSlot;
1033
1058
  if (!images || images.length === 0) return null;
1034
- return /* @__PURE__ */ jsxs("div", { className: cn("relative mt-16 aspect-[1.2/1] overflow-hidden sm:-right-[10%] sm:mt-28 sm:aspect-[2.788990826/1]", imagesClassName), children: [
1035
- images[0] && /* @__PURE__ */ jsx("div", { className: "absolute top-[11%] left-[8%] z-10 aspect-[0.7/1] w-[80%] sm:left-[4%] sm:w-[45%]", children: /* @__PURE__ */ jsx("div", { className: "size-full transform-[rotateY(-30deg)_rotateX(-18deg)_rotate(-4deg)]", children: /* @__PURE__ */ jsx(
1036
- Img,
1037
- {
1038
- src: images[0].src,
1039
- alt: images[0].alt,
1040
- className: cn("block size-full object-cover object-center", images[0].className),
1041
- optixFlowConfig
1042
- }
1043
- ) }) }),
1044
- images[1] && /* @__PURE__ */ jsx("div", { className: "absolute top-0 left-[70%] z-20 aspect-[0.7/1] w-[73%] -translate-x-1/2 sm:left-1/2 sm:w-[38%]", children: /* @__PURE__ */ jsx("div", { className: "size-full transform-[rotateY(-30deg)_rotateX(-18deg)_rotate(-4deg)] shadow-[-25px_0px_20px_0px_rgba(0,0,0,.04)]", children: /* @__PURE__ */ jsx(
1045
- Img,
1046
- {
1047
- src: images[1].src,
1048
- alt: images[1].alt,
1049
- className: cn("block size-full object-cover object-center", images[1].className),
1050
- optixFlowConfig
1051
- }
1052
- ) }) }),
1053
- images[2] && /* @__PURE__ */ jsx("div", { className: "absolute top-[3%] -right-[45%] z-30 aspect-[0.7/1] w-[85%] sm:-right-[2%] sm:w-[50%]", children: /* @__PURE__ */ jsx("div", { className: "size-full transform-[rotateY(-30deg)_rotateX(-18deg)_rotate(-4deg)] shadow-[-25px_0px_20px_0px_rgba(0,0,0,.04)]", children: /* @__PURE__ */ jsx(
1054
- Img,
1055
- {
1056
- src: images[2].src,
1057
- alt: images[2].alt,
1058
- className: cn("block size-full object-cover object-center", images[2].className),
1059
- optixFlowConfig
1060
- }
1061
- ) }) })
1062
- ] });
1059
+ return /* @__PURE__ */ jsxs(
1060
+ "div",
1061
+ {
1062
+ className: cn(
1063
+ "relative mt-16 aspect-[1.2/1] overflow-hidden sm:-right-[10%] sm:mt-28 sm:aspect-[2.788990826/1]",
1064
+ imagesClassName
1065
+ ),
1066
+ children: [
1067
+ images[0] && /* @__PURE__ */ jsx("div", { className: "absolute top-[11%] left-[8%] z-10 aspect-[0.7/1] w-[80%] sm:left-[4%] sm:w-[45%]", children: /* @__PURE__ */ jsx("div", { className: "size-full transform-[rotateY(-30deg)_rotateX(-18deg)_rotate(-4deg)]", children: /* @__PURE__ */ jsx(
1068
+ Img,
1069
+ {
1070
+ src: images[0].src,
1071
+ alt: images[0].alt,
1072
+ className: cn(
1073
+ "block size-full object-cover object-center",
1074
+ images[0].className
1075
+ ),
1076
+ optixFlowConfig
1077
+ }
1078
+ ) }) }),
1079
+ images[1] && /* @__PURE__ */ jsx("div", { className: "absolute top-0 left-[70%] z-20 aspect-[0.7/1] w-[73%] -translate-x-1/2 sm:left-1/2 sm:w-[38%]", children: /* @__PURE__ */ jsx("div", { className: "size-full transform-[rotateY(-30deg)_rotateX(-18deg)_rotate(-4deg)] shadow-[-25px_0px_20px_0px_rgba(0,0,0,.04)]", children: /* @__PURE__ */ jsx(
1080
+ Img,
1081
+ {
1082
+ src: images[1].src,
1083
+ alt: images[1].alt,
1084
+ className: cn(
1085
+ "block size-full object-cover object-center",
1086
+ images[1].className
1087
+ ),
1088
+ optixFlowConfig
1089
+ }
1090
+ ) }) }),
1091
+ images[2] && /* @__PURE__ */ jsx("div", { className: "absolute top-[3%] -right-[45%] z-30 aspect-[0.7/1] w-[85%] sm:-right-[2%] sm:w-[50%]", children: /* @__PURE__ */ jsx("div", { className: "size-full transform-[rotateY(-30deg)_rotateX(-18deg)_rotate(-4deg)] shadow-[-25px_0px_20px_0px_rgba(0,0,0,.04)]", children: /* @__PURE__ */ jsx(
1092
+ Img,
1093
+ {
1094
+ src: images[2].src,
1095
+ alt: images[2].alt,
1096
+ className: cn(
1097
+ "block size-full object-cover object-center",
1098
+ images[2].className
1099
+ ),
1100
+ optixFlowConfig
1101
+ }
1102
+ ) }) })
1103
+ ]
1104
+ }
1105
+ );
1063
1106
  }, [imagesSlot, images, imagesClassName, optixFlowConfig]);
1064
1107
  return /* @__PURE__ */ jsx(
1065
1108
  Section,
@@ -1070,12 +1113,49 @@ function HeroDesignSystem3d({
1070
1113
  patternOpacity,
1071
1114
  className: cn("font-sans", className),
1072
1115
  children: /* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-396 px-0 sm:px-8", containerClassName), children: [
1073
- /* @__PURE__ */ jsx("div", { className: "container px-4", children: /* @__PURE__ */ jsxs("div", { className: cn("mx-auto flex max-w-100 flex-col items-center gap-6 sm:max-w-125 lg:max-w-160", contentClassName), children: [
1074
- renderTrustBadge,
1075
- /* @__PURE__ */ jsx("div", { className: "mb-2", children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-center text-[2.8125rem] leading-none font-bold sm:text-[3.9375rem] lg:text-[5.3125rem]", headingClassName), children: heading }) : /* @__PURE__ */ jsx("h1", { className: cn("text-center text-[2.8125rem] leading-none font-bold sm:text-[3.9375rem] lg:text-[5.3125rem]", headingClassName), children: heading })) }),
1076
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-center text-base leading-snug text-balance sm:text-2xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
1077
- renderActions
1078
- ] }) }),
1116
+ /* @__PURE__ */ jsx("div", { className: "container px-4", children: /* @__PURE__ */ jsxs(
1117
+ "div",
1118
+ {
1119
+ className: cn(
1120
+ "mx-auto flex max-w-100 flex-col items-center gap-6 sm:max-w-125 lg:max-w-160",
1121
+ contentClassName
1122
+ ),
1123
+ children: [
1124
+ renderTrustBadge,
1125
+ /* @__PURE__ */ jsx("div", { className: "mb-2", children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
1126
+ "h1",
1127
+ {
1128
+ className: cn(
1129
+ "text-center text-[2.8125rem] leading-none font-bold sm:text-[3.9375rem] lg:text-[5.3125rem]",
1130
+ headingClassName
1131
+ ),
1132
+ children: heading
1133
+ }
1134
+ ) : /* @__PURE__ */ jsx(
1135
+ "h1",
1136
+ {
1137
+ className: cn(
1138
+ "text-center text-[2.8125rem] leading-none font-bold sm:text-[3.9375rem] lg:text-[5.3125rem]",
1139
+ headingClassName
1140
+ ),
1141
+ children: heading
1142
+ }
1143
+ )) }),
1144
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
1145
+ "p",
1146
+ {
1147
+ className: cn(
1148
+ "text-center text-base leading-snug text-balance sm:text-2xl",
1149
+ getTextColor(background, "muted"),
1150
+ descriptionClassName
1151
+ ),
1152
+ children: description
1153
+ }
1154
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
1155
+ renderActions
1156
+ ]
1157
+ }
1158
+ ) }),
1079
1159
  renderImages
1080
1160
  ] })
1081
1161
  }