@opensite/ui 3.7.2 → 3.7.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 (279) hide show
  1. package/dist/hero-ad-campaign-expert.cjs +46 -1
  2. package/dist/hero-ad-campaign-expert.d.cts +16 -1
  3. package/dist/hero-ad-campaign-expert.d.ts +16 -1
  4. package/dist/hero-ad-campaign-expert.js +46 -1
  5. package/dist/hero-adaptable-product-grid.cjs +46 -1
  6. package/dist/hero-adaptable-product-grid.d.cts +16 -1
  7. package/dist/hero-adaptable-product-grid.d.ts +16 -1
  8. package/dist/hero-adaptable-product-grid.js +46 -1
  9. package/dist/hero-agency-animated-images.cjs +46 -1
  10. package/dist/hero-agency-animated-images.d.cts +16 -1
  11. package/dist/hero-agency-animated-images.d.ts +16 -1
  12. package/dist/hero-agency-animated-images.js +46 -1
  13. package/dist/hero-ai-powered-carousel.cjs +56 -8
  14. package/dist/hero-ai-powered-carousel.d.cts +16 -1
  15. package/dist/hero-ai-powered-carousel.d.ts +16 -1
  16. package/dist/hero-ai-powered-carousel.js +56 -8
  17. package/dist/hero-announcement-badge.cjs +47 -1
  18. package/dist/hero-announcement-badge.d.cts +16 -1
  19. package/dist/hero-announcement-badge.d.ts +16 -1
  20. package/dist/hero-announcement-badge.js +47 -1
  21. package/dist/hero-architecture-fullscreen.cjs +46 -1
  22. package/dist/hero-architecture-fullscreen.d.cts +16 -1
  23. package/dist/hero-architecture-fullscreen.d.ts +16 -1
  24. package/dist/hero-architecture-fullscreen.js +46 -1
  25. package/dist/hero-badge-image-split.cjs +46 -1
  26. package/dist/hero-badge-image-split.d.cts +16 -1
  27. package/dist/hero-badge-image-split.d.ts +16 -1
  28. package/dist/hero-badge-image-split.js +46 -1
  29. package/dist/hero-badge-shadow-overlay.cjs +54 -3
  30. package/dist/hero-badge-shadow-overlay.d.cts +16 -1
  31. package/dist/hero-badge-shadow-overlay.d.ts +16 -1
  32. package/dist/hero-badge-shadow-overlay.js +54 -3
  33. package/dist/hero-business-carousel-dots.cjs +46 -1
  34. package/dist/hero-business-carousel-dots.d.cts +16 -1
  35. package/dist/hero-business-carousel-dots.d.ts +16 -1
  36. package/dist/hero-business-carousel-dots.js +46 -1
  37. package/dist/hero-business-operations-mosaic.cjs +46 -1
  38. package/dist/hero-business-operations-mosaic.d.cts +16 -1
  39. package/dist/hero-business-operations-mosaic.d.ts +16 -1
  40. package/dist/hero-business-operations-mosaic.js +46 -1
  41. package/dist/hero-centered-gradient-cta.cjs +47 -1
  42. package/dist/hero-centered-gradient-cta.d.cts +16 -1
  43. package/dist/hero-centered-gradient-cta.d.ts +16 -1
  44. package/dist/hero-centered-gradient-cta.js +47 -1
  45. package/dist/hero-centered-image-grid.cjs +46 -1
  46. package/dist/hero-centered-image-grid.d.cts +16 -1
  47. package/dist/hero-centered-image-grid.d.ts +16 -1
  48. package/dist/hero-centered-image-grid.js +46 -1
  49. package/dist/hero-centered-screenshot.cjs +46 -1
  50. package/dist/hero-centered-screenshot.d.cts +16 -1
  51. package/dist/hero-centered-screenshot.d.ts +16 -1
  52. package/dist/hero-centered-screenshot.js +46 -1
  53. package/dist/hero-coming-soon-countdown.cjs +47 -1
  54. package/dist/hero-coming-soon-countdown.d.cts +16 -1
  55. package/dist/hero-coming-soon-countdown.d.ts +16 -1
  56. package/dist/hero-coming-soon-countdown.js +47 -1
  57. package/dist/hero-community-survey-cta.cjs +46 -1
  58. package/dist/hero-community-survey-cta.d.cts +16 -1
  59. package/dist/hero-community-survey-cta.d.ts +16 -1
  60. package/dist/hero-community-survey-cta.js +46 -1
  61. package/dist/hero-conversation-intelligence.cjs +46 -1
  62. package/dist/hero-conversation-intelligence.d.cts +16 -1
  63. package/dist/hero-conversation-intelligence.d.ts +16 -1
  64. package/dist/hero-conversation-intelligence.js +46 -1
  65. package/dist/hero-creative-studio-stacked.cjs +46 -1
  66. package/dist/hero-creative-studio-stacked.d.cts +17 -2
  67. package/dist/hero-creative-studio-stacked.d.ts +17 -2
  68. package/dist/hero-creative-studio-stacked.js +46 -1
  69. package/dist/hero-crm-streamlined.cjs +58 -9
  70. package/dist/hero-crm-streamlined.d.cts +16 -1
  71. package/dist/hero-crm-streamlined.d.ts +16 -1
  72. package/dist/hero-crm-streamlined.js +58 -9
  73. package/dist/hero-customer-support-layered.cjs +46 -1
  74. package/dist/hero-customer-support-layered.d.cts +16 -1
  75. package/dist/hero-customer-support-layered.d.ts +16 -1
  76. package/dist/hero-customer-support-layered.js +46 -1
  77. package/dist/hero-design-system-3d.cjs +67 -20
  78. package/dist/hero-design-system-3d.d.cts +16 -1
  79. package/dist/hero-design-system-3d.d.ts +16 -1
  80. package/dist/hero-design-system-3d.js +67 -20
  81. package/dist/hero-developer-tools-code.cjs +47 -1
  82. package/dist/hero-developer-tools-code.d.cts +16 -1
  83. package/dist/hero-developer-tools-code.d.ts +16 -1
  84. package/dist/hero-developer-tools-code.js +47 -1
  85. package/dist/hero-digital-agency-fullscreen.cjs +46 -1
  86. package/dist/hero-digital-agency-fullscreen.d.cts +16 -1
  87. package/dist/hero-digital-agency-fullscreen.d.ts +16 -1
  88. package/dist/hero-digital-agency-fullscreen.js +46 -1
  89. package/dist/hero-ecommerce-product-showcase.cjs +46 -1
  90. package/dist/hero-ecommerce-product-showcase.d.cts +16 -1
  91. package/dist/hero-ecommerce-product-showcase.d.ts +16 -1
  92. package/dist/hero-ecommerce-product-showcase.js +46 -1
  93. package/dist/hero-enterprise-security.cjs +47 -1
  94. package/dist/hero-enterprise-security.d.cts +16 -1
  95. package/dist/hero-enterprise-security.d.ts +16 -1
  96. package/dist/hero-enterprise-security.js +47 -1
  97. package/dist/hero-feature-cards-grid.cjs +47 -1
  98. package/dist/hero-feature-cards-grid.d.cts +16 -1
  99. package/dist/hero-feature-cards-grid.d.ts +16 -1
  100. package/dist/hero-feature-cards-grid.js +47 -1
  101. package/dist/hero-fullscreen-background-image.cjs +46 -1
  102. package/dist/hero-fullscreen-background-image.d.cts +16 -1
  103. package/dist/hero-fullscreen-background-image.d.ts +16 -1
  104. package/dist/hero-fullscreen-background-image.js +46 -1
  105. package/dist/hero-gradient-avatars-rating.cjs +46 -1
  106. package/dist/hero-gradient-avatars-rating.d.cts +16 -1
  107. package/dist/hero-gradient-avatars-rating.d.ts +16 -1
  108. package/dist/hero-gradient-avatars-rating.js +46 -1
  109. package/dist/hero-gradient-client-focused.cjs +46 -1
  110. package/dist/hero-gradient-client-focused.d.cts +16 -1
  111. package/dist/hero-gradient-client-focused.d.ts +16 -1
  112. package/dist/hero-gradient-client-focused.js +46 -1
  113. package/dist/hero-grid-pattern-efficiency.cjs +47 -1
  114. package/dist/hero-grid-pattern-efficiency.d.cts +16 -1
  115. package/dist/hero-grid-pattern-efficiency.d.ts +16 -1
  116. package/dist/hero-grid-pattern-efficiency.js +47 -1
  117. package/dist/hero-grid-pattern-solutions.cjs +46 -1
  118. package/dist/hero-grid-pattern-solutions.d.cts +16 -1
  119. package/dist/hero-grid-pattern-solutions.d.ts +16 -1
  120. package/dist/hero-grid-pattern-solutions.js +46 -1
  121. package/dist/hero-hiring-animated-text.cjs +47 -1
  122. package/dist/hero-hiring-animated-text.d.cts +16 -1
  123. package/dist/hero-hiring-animated-text.d.ts +16 -1
  124. package/dist/hero-hiring-animated-text.js +47 -1
  125. package/dist/hero-image-left-content.cjs +46 -1
  126. package/dist/hero-image-left-content.d.cts +16 -1
  127. package/dist/hero-image-left-content.d.ts +16 -1
  128. package/dist/hero-image-left-content.js +46 -1
  129. package/dist/hero-image-slider.cjs +46 -1
  130. package/dist/hero-image-slider.d.cts +16 -1
  131. package/dist/hero-image-slider.d.ts +16 -1
  132. package/dist/hero-image-slider.js +46 -1
  133. package/dist/hero-innovation-image-grid.cjs +46 -1
  134. package/dist/hero-innovation-image-grid.d.cts +16 -1
  135. package/dist/hero-innovation-image-grid.d.ts +16 -1
  136. package/dist/hero-innovation-image-grid.js +46 -1
  137. package/dist/hero-marketplace-scattered-images.cjs +46 -1
  138. package/dist/hero-marketplace-scattered-images.d.cts +16 -1
  139. package/dist/hero-marketplace-scattered-images.d.ts +16 -1
  140. package/dist/hero-marketplace-scattered-images.js +46 -1
  141. package/dist/hero-minimal-centered-dark.cjs +47 -1
  142. package/dist/hero-minimal-centered-dark.d.cts +16 -1
  143. package/dist/hero-minimal-centered-dark.d.ts +16 -1
  144. package/dist/hero-minimal-centered-dark.js +47 -1
  145. package/dist/hero-mobile-app-download.cjs +46 -1
  146. package/dist/hero-mobile-app-download.d.cts +16 -1
  147. package/dist/hero-mobile-app-download.d.ts +16 -1
  148. package/dist/hero-mobile-app-download.js +46 -1
  149. package/dist/hero-newsletter-minimal.cjs +48 -1
  150. package/dist/hero-newsletter-minimal.d.cts +16 -1
  151. package/dist/hero-newsletter-minimal.d.ts +16 -1
  152. package/dist/hero-newsletter-minimal.js +48 -1
  153. package/dist/hero-overlay-cta-grid.cjs +46 -1
  154. package/dist/hero-overlay-cta-grid.d.cts +16 -1
  155. package/dist/hero-overlay-cta-grid.d.ts +16 -1
  156. package/dist/hero-overlay-cta-grid.js +46 -1
  157. package/dist/hero-portfolio-creative.cjs +46 -1
  158. package/dist/hero-portfolio-creative.d.cts +16 -1
  159. package/dist/hero-portfolio-creative.d.ts +16 -1
  160. package/dist/hero-portfolio-creative.js +46 -1
  161. package/dist/hero-premium-split-avatars.cjs +46 -1
  162. package/dist/hero-premium-split-avatars.d.cts +16 -1
  163. package/dist/hero-premium-split-avatars.d.ts +16 -1
  164. package/dist/hero-premium-split-avatars.js +46 -1
  165. package/dist/hero-presentation-platform-video.cjs +47 -1
  166. package/dist/hero-presentation-platform-video.d.cts +16 -1
  167. package/dist/hero-presentation-platform-video.d.ts +16 -1
  168. package/dist/hero-presentation-platform-video.js +47 -1
  169. package/dist/hero-pricing-comparison.cjs +47 -1
  170. package/dist/hero-pricing-comparison.d.cts +16 -1
  171. package/dist/hero-pricing-comparison.d.ts +16 -1
  172. package/dist/hero-pricing-comparison.js +47 -1
  173. package/dist/hero-product-showcase-floating.cjs +46 -1
  174. package/dist/hero-product-showcase-floating.d.cts +16 -1
  175. package/dist/hero-product-showcase-floating.d.ts +16 -1
  176. package/dist/hero-product-showcase-floating.js +46 -1
  177. package/dist/hero-productivity-launcher-video.cjs +68 -20
  178. package/dist/hero-productivity-launcher-video.d.cts +16 -1
  179. package/dist/hero-productivity-launcher-video.d.ts +16 -1
  180. package/dist/hero-productivity-launcher-video.js +68 -20
  181. package/dist/hero-saas-dashboard-preview.cjs +46 -1
  182. package/dist/hero-saas-dashboard-preview.d.cts +16 -1
  183. package/dist/hero-saas-dashboard-preview.d.ts +16 -1
  184. package/dist/hero-saas-dashboard-preview.js +46 -1
  185. package/dist/hero-shared-inbox-layered.cjs +46 -1
  186. package/dist/hero-shared-inbox-layered.d.cts +16 -1
  187. package/dist/hero-shared-inbox-layered.d.ts +16 -1
  188. package/dist/hero-shared-inbox-layered.js +46 -1
  189. package/dist/hero-simple-centered-image.cjs +46 -1
  190. package/dist/hero-simple-centered-image.d.cts +16 -1
  191. package/dist/hero-simple-centered-image.d.ts +16 -1
  192. package/dist/hero-simple-centered-image.js +46 -1
  193. package/dist/hero-software-growth-video-dialog.cjs +46 -1
  194. package/dist/hero-software-growth-video-dialog.d.cts +16 -1
  195. package/dist/hero-software-growth-video-dialog.d.ts +16 -1
  196. package/dist/hero-software-growth-video-dialog.js +46 -1
  197. package/dist/hero-spiral-pattern-cards.cjs +46 -1
  198. package/dist/hero-spiral-pattern-cards.d.cts +16 -1
  199. package/dist/hero-spiral-pattern-cards.d.ts +16 -1
  200. package/dist/hero-spiral-pattern-cards.js +46 -1
  201. package/dist/hero-split-geometric-shapes.cjs +46 -1
  202. package/dist/hero-split-geometric-shapes.d.cts +16 -1
  203. package/dist/hero-split-geometric-shapes.d.ts +16 -1
  204. package/dist/hero-split-geometric-shapes.js +46 -1
  205. package/dist/hero-split-icon-cards.cjs +47 -1
  206. package/dist/hero-split-icon-cards.d.cts +16 -1
  207. package/dist/hero-split-icon-cards.d.ts +16 -1
  208. package/dist/hero-split-icon-cards.js +47 -1
  209. package/dist/hero-split-image-newsletter.cjs +46 -1
  210. package/dist/hero-split-image-newsletter.d.cts +16 -1
  211. package/dist/hero-split-image-newsletter.d.ts +16 -1
  212. package/dist/hero-split-image-newsletter.js +47 -2
  213. package/dist/hero-split-spiral-shapes.cjs +46 -1
  214. package/dist/hero-split-spiral-shapes.d.cts +16 -1
  215. package/dist/hero-split-spiral-shapes.d.ts +16 -1
  216. package/dist/hero-split-spiral-shapes.js +46 -1
  217. package/dist/hero-startup-launch-cta.cjs +46 -1
  218. package/dist/hero-startup-launch-cta.d.cts +16 -1
  219. package/dist/hero-startup-launch-cta.d.ts +16 -1
  220. package/dist/hero-startup-launch-cta.js +46 -1
  221. package/dist/hero-stats-social-proof.cjs +46 -1
  222. package/dist/hero-stats-social-proof.d.cts +16 -1
  223. package/dist/hero-stats-social-proof.d.ts +16 -1
  224. package/dist/hero-stats-social-proof.js +46 -1
  225. package/dist/hero-task-timer-animated.cjs +46 -1
  226. package/dist/hero-task-timer-animated.d.cts +16 -1
  227. package/dist/hero-task-timer-animated.d.ts +16 -1
  228. package/dist/hero-task-timer-animated.js +46 -1
  229. package/dist/hero-testimonial-image-grid.cjs +46 -1
  230. package/dist/hero-testimonial-image-grid.d.cts +16 -1
  231. package/dist/hero-testimonial-image-grid.d.ts +16 -1
  232. package/dist/hero-testimonial-image-grid.js +46 -1
  233. package/dist/hero-therapy-testimonial-grid.cjs +46 -1
  234. package/dist/hero-therapy-testimonial-grid.d.cts +16 -1
  235. package/dist/hero-therapy-testimonial-grid.d.ts +16 -1
  236. package/dist/hero-therapy-testimonial-grid.js +46 -1
  237. package/dist/hero-ui-library-showcase.cjs +3 -2
  238. package/dist/hero-ui-library-showcase.d.cts +13 -5
  239. package/dist/hero-ui-library-showcase.d.ts +13 -5
  240. package/dist/hero-ui-library-showcase.js +3 -2
  241. package/dist/hero-video-background-dark.cjs +47 -1
  242. package/dist/hero-video-background-dark.d.cts +16 -1
  243. package/dist/hero-video-background-dark.d.ts +16 -1
  244. package/dist/hero-video-background-dark.js +47 -1
  245. package/dist/{hero-video-dialog-gradient-Cr96k01H.d.ts → hero-video-dialog-gradient-B6-kFIvZ.d.ts} +14 -1
  246. package/dist/{hero-video-dialog-gradient-Dc0wRYdW.d.cts → hero-video-dialog-gradient-DPnh6Vn-.d.cts} +14 -1
  247. package/dist/hero-video-dialog-gradient.cjs +46 -1
  248. package/dist/hero-video-dialog-gradient.d.cts +4 -1
  249. package/dist/hero-video-dialog-gradient.d.ts +4 -1
  250. package/dist/hero-video-dialog-gradient.js +46 -1
  251. package/dist/hero-welcome-asymmetric-images.cjs +46 -1
  252. package/dist/hero-welcome-asymmetric-images.d.cts +16 -1
  253. package/dist/hero-welcome-asymmetric-images.d.ts +16 -1
  254. package/dist/hero-welcome-asymmetric-images.js +46 -1
  255. package/dist/link-page-bento-layout.cjs +59 -3
  256. package/dist/link-page-bento-layout.d.cts +16 -1
  257. package/dist/link-page-bento-layout.d.ts +16 -1
  258. package/dist/link-page-bento-layout.js +59 -3
  259. package/dist/link-page-grid-cards.cjs +59 -3
  260. package/dist/link-page-grid-cards.d.cts +16 -1
  261. package/dist/link-page-grid-cards.d.ts +16 -1
  262. package/dist/link-page-grid-cards.js +59 -3
  263. package/dist/link-page-minimal-profile.cjs +59 -3
  264. package/dist/link-page-minimal-profile.d.cts +16 -1
  265. package/dist/link-page-minimal-profile.d.ts +16 -1
  266. package/dist/link-page-minimal-profile.js +59 -3
  267. package/dist/link-page-newsletter-social.cjs +59 -3
  268. package/dist/link-page-newsletter-social.d.cts +16 -1
  269. package/dist/link-page-newsletter-social.d.ts +16 -1
  270. package/dist/link-page-newsletter-social.js +59 -3
  271. package/dist/link-tree-block.cjs +58 -2
  272. package/dist/link-tree-block.d.cts +16 -1
  273. package/dist/link-tree-block.d.ts +16 -1
  274. package/dist/link-tree-block.js +58 -2
  275. package/dist/registry.cjs +734 -199
  276. package/dist/registry.js +734 -199
  277. package/dist/social-link-icon.d.cts +1 -1
  278. package/dist/social-link-icon.d.ts +1 -1
  279. package/package.json +1 -1
@@ -464,6 +464,47 @@ function ActionComponent({ action }) {
464
464
  }
465
465
  );
466
466
  }
467
+ var SIZE_CLASSES = {
468
+ sm: "max-h-6 sm:max-h-7",
469
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
470
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
471
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
472
+ };
473
+ var BrandLogo = ({
474
+ logo,
475
+ logoSlot,
476
+ logoClassName,
477
+ size = "md",
478
+ optixFlowConfig
479
+ }) => {
480
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
481
+ if (!logo || !logo.src) return null;
482
+ const imgElement = /* @__PURE__ */ jsx(
483
+ Img,
484
+ {
485
+ src: logo.src,
486
+ className: cn(
487
+ "w-auto object-contain",
488
+ SIZE_CLASSES[size],
489
+ logo.className
490
+ ),
491
+ alt: logo.alt || "Logo",
492
+ optixFlowConfig,
493
+ loading: "eager"
494
+ }
495
+ );
496
+ if (logo.url) {
497
+ return /* @__PURE__ */ jsx(
498
+ Pressable,
499
+ {
500
+ href: logo.url,
501
+ className: cn("flex items-center", logoClassName),
502
+ children: imgElement
503
+ }
504
+ );
505
+ }
506
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
507
+ };
467
508
  function HeroCrmStreamlined({
468
509
  sectionId = "hero-crm-streamlined",
469
510
  tagline,
@@ -479,13 +520,16 @@ function HeroCrmStreamlined({
479
520
  patternOpacity,
480
521
  className,
481
522
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
482
- spacing = "xl",
523
+ spacing = "hero",
483
524
  contentClassName,
484
525
  taglineClassName,
485
526
  headingClassName,
486
527
  descriptionClassName,
487
528
  imageClassName,
488
- optixFlowConfig
529
+ optixFlowConfig,
530
+ logo,
531
+ logoSlot,
532
+ logoClassName
489
533
  }) {
490
534
  return /* @__PURE__ */ jsx(
491
535
  Section,
@@ -502,20 +546,24 @@ function HeroCrmStreamlined({
502
546
  tagline && (typeof tagline === "string" ? /* @__PURE__ */ jsx(
503
547
  "p",
504
548
  {
505
- className: cn("text-base font-semibold", taglineClassName),
549
+ className: cn(
550
+ "text-base font-medium tracking-wider opacity-70 pb-6 uppercase",
551
+ taglineClassName
552
+ ),
506
553
  children: tagline
507
554
  }
508
555
  ) : /* @__PURE__ */ jsx("div", { className: taglineClassName, children: tagline })),
556
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-2 mt-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
509
557
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
510
558
  "h1",
511
559
  {
512
560
  className: cn(
513
- "mb-2 text-4xl leading-snug! font-semibold text-balance lg:text-5xl",
561
+ "mb-2 text-4xl font-semibold text-pretty lg:text-5xl",
514
562
  headingClassName
515
563
  ),
516
564
  children: heading
517
565
  }
518
- ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
566
+ ) : heading),
519
567
  description && (typeof description === "string" ? /* @__PURE__ */ jsx(
520
568
  "p",
521
569
  {
@@ -525,7 +573,7 @@ function HeroCrmStreamlined({
525
573
  ),
526
574
  children: description
527
575
  }
528
- ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
576
+ ) : description),
529
577
  /* @__PURE__ */ jsx(
530
578
  BlockActions,
531
579
  {
@@ -538,7 +586,7 @@ function HeroCrmStreamlined({
538
586
  /* @__PURE__ */ jsx(
539
587
  "div",
540
588
  {
541
- className: cn("relative basis-[42%] py-9 md:py-16", imageClassName),
589
+ className: cn("relative basis-[42%] py-2 md:py-16", imageClassName),
542
590
  children: imageSlot ? imageSlot : image ? /* @__PURE__ */ jsxs("div", { className: "aspect-square w-full overflow-hidden rounded-xl shadow-xl", children: [
543
591
  /* @__PURE__ */ jsx(
544
592
  Img,
@@ -549,14 +597,15 @@ function HeroCrmStreamlined({
549
597
  "relative z-20 h-full w-full object-cover object-center",
550
598
  image.className
551
599
  ),
552
- optixFlowConfig
600
+ optixFlowConfig,
601
+ loading: "eager"
553
602
  }
554
603
  ),
555
604
  /* @__PURE__ */ jsx(
556
605
  "div",
557
606
  {
558
607
  className: cn(
559
- "absolute top-0 left-25 z-10 bg-muted aspect-[1.378254211/1] h-full w-225 rounded-xl"
608
+ "absolute top-0 left-25 z-10 hidden bg-muted aspect-[1.378254211/1] h-full w-225 rounded-xl md:block"
560
609
  )
561
610
  }
562
611
  )
@@ -470,6 +470,47 @@ function ActionComponent({ action }) {
470
470
  }
471
471
  );
472
472
  }
473
+ var SIZE_CLASSES = {
474
+ sm: "max-h-6 sm:max-h-7",
475
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
476
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
477
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
478
+ };
479
+ var BrandLogo = ({
480
+ logo,
481
+ logoSlot,
482
+ logoClassName,
483
+ size = "md",
484
+ optixFlowConfig
485
+ }) => {
486
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
487
+ if (!logo || !logo.src) return null;
488
+ const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
489
+ img.Img,
490
+ {
491
+ src: logo.src,
492
+ className: cn(
493
+ "w-auto object-contain",
494
+ SIZE_CLASSES[size],
495
+ logo.className
496
+ ),
497
+ alt: logo.alt || "Logo",
498
+ optixFlowConfig,
499
+ loading: "eager"
500
+ }
501
+ );
502
+ if (logo.url) {
503
+ return /* @__PURE__ */ jsxRuntime.jsx(
504
+ pressable.Pressable,
505
+ {
506
+ href: logo.url,
507
+ className: cn("flex items-center", logoClassName),
508
+ children: imgElement
509
+ }
510
+ );
511
+ }
512
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
513
+ };
473
514
  function HeroCustomerSupportLayered({
474
515
  sectionId = "hero-customer-support-layered",
475
516
  tagline,
@@ -492,7 +533,10 @@ function HeroCustomerSupportLayered({
492
533
  descriptionClassName,
493
534
  imagesClassName,
494
535
  optixFlowConfig,
495
- patternClassName
536
+ patternClassName,
537
+ logo,
538
+ logoSlot,
539
+ logoClassName
496
540
  }) {
497
541
  const renderImages = React.useMemo(() => {
498
542
  if (imagesSlot) return imagesSlot;
@@ -566,6 +610,7 @@ function HeroCustomerSupportLayered({
566
610
  children: tagline
567
611
  }
568
612
  ) : tagline),
613
+ (logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
569
614
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
570
615
  "h1",
571
616
  {
@@ -1,7 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Cgd-IXlI.cjs';
3
+ import { L as LogoConfig } from './types-mWZcgKth.cjs';
3
4
  import { I as ImageItem, O as OptixFlowConfig, A as ActionConfig } from './blocks-DyouPohq.cjs';
4
5
  import 'react/jsx-runtime';
6
+ import './dynamic-icon.cjs';
7
+ import '@page-speed/icon';
5
8
  import 'class-variance-authority';
6
9
  import '@page-speed/pressable';
7
10
  import '@opensite/hooks/usePlatformFromUrl';
@@ -91,9 +94,21 @@ interface HeroCustomerSupportLayeredProps {
91
94
  * Additional CSS classes for the actions container
92
95
  */
93
96
  actionsClassName?: string;
97
+ /**
98
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
99
+ */
100
+ logo?: LogoConfig;
101
+ /**
102
+ * Custom slot for logo (overrides logo prop)
103
+ */
104
+ logoSlot?: React.ReactNode;
105
+ /**
106
+ * Additional CSS classes for the logo container
107
+ */
108
+ logoClassName?: string;
94
109
  /** Optional Section ID */
95
110
  sectionId?: string;
96
111
  }
97
- declare function HeroCustomerSupportLayered({ sectionId, tagline, heading, description, images, imagesSlot, background, pattern, patternOpacity, className, actions, actionsSlot, actionsClassName, containerClassName, spacing, contentClassName, taglineClassName, headingClassName, descriptionClassName, imagesClassName, optixFlowConfig, patternClassName, }: HeroCustomerSupportLayeredProps): React.JSX.Element;
112
+ declare function HeroCustomerSupportLayered({ sectionId, tagline, heading, description, images, imagesSlot, background, pattern, patternOpacity, className, actions, actionsSlot, actionsClassName, containerClassName, spacing, contentClassName, taglineClassName, headingClassName, descriptionClassName, imagesClassName, optixFlowConfig, patternClassName, logo, logoSlot, logoClassName, }: HeroCustomerSupportLayeredProps): React.JSX.Element;
98
113
 
99
114
  export { HeroCustomerSupportLayered, type HeroCustomerSupportLayeredProps };
@@ -1,7 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Dud0DKXB.js';
3
+ import { L as LogoConfig } from './types-hJ2R0GoH.js';
3
4
  import { I as ImageItem, O as OptixFlowConfig, A as ActionConfig } from './blocks-DyouPohq.js';
4
5
  import 'react/jsx-runtime';
6
+ import './dynamic-icon.js';
7
+ import '@page-speed/icon';
5
8
  import 'class-variance-authority';
6
9
  import '@page-speed/pressable';
7
10
  import '@opensite/hooks/usePlatformFromUrl';
@@ -91,9 +94,21 @@ interface HeroCustomerSupportLayeredProps {
91
94
  * Additional CSS classes for the actions container
92
95
  */
93
96
  actionsClassName?: string;
97
+ /**
98
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
99
+ */
100
+ logo?: LogoConfig;
101
+ /**
102
+ * Custom slot for logo (overrides logo prop)
103
+ */
104
+ logoSlot?: React.ReactNode;
105
+ /**
106
+ * Additional CSS classes for the logo container
107
+ */
108
+ logoClassName?: string;
94
109
  /** Optional Section ID */
95
110
  sectionId?: string;
96
111
  }
97
- declare function HeroCustomerSupportLayered({ sectionId, tagline, heading, description, images, imagesSlot, background, pattern, patternOpacity, className, actions, actionsSlot, actionsClassName, containerClassName, spacing, contentClassName, taglineClassName, headingClassName, descriptionClassName, imagesClassName, optixFlowConfig, patternClassName, }: HeroCustomerSupportLayeredProps): React.JSX.Element;
112
+ declare function HeroCustomerSupportLayered({ sectionId, tagline, heading, description, images, imagesSlot, background, pattern, patternOpacity, className, actions, actionsSlot, actionsClassName, containerClassName, spacing, contentClassName, taglineClassName, headingClassName, descriptionClassName, imagesClassName, optixFlowConfig, patternClassName, logo, logoSlot, logoClassName, }: HeroCustomerSupportLayeredProps): React.JSX.Element;
98
113
 
99
114
  export { HeroCustomerSupportLayered, type HeroCustomerSupportLayeredProps };
@@ -464,6 +464,47 @@ function ActionComponent({ action }) {
464
464
  }
465
465
  );
466
466
  }
467
+ var SIZE_CLASSES = {
468
+ sm: "max-h-6 sm:max-h-7",
469
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
470
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
471
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
472
+ };
473
+ var BrandLogo = ({
474
+ logo,
475
+ logoSlot,
476
+ logoClassName,
477
+ size = "md",
478
+ optixFlowConfig
479
+ }) => {
480
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
481
+ if (!logo || !logo.src) return null;
482
+ const imgElement = /* @__PURE__ */ jsx(
483
+ Img,
484
+ {
485
+ src: logo.src,
486
+ className: cn(
487
+ "w-auto object-contain",
488
+ SIZE_CLASSES[size],
489
+ logo.className
490
+ ),
491
+ alt: logo.alt || "Logo",
492
+ optixFlowConfig,
493
+ loading: "eager"
494
+ }
495
+ );
496
+ if (logo.url) {
497
+ return /* @__PURE__ */ jsx(
498
+ Pressable,
499
+ {
500
+ href: logo.url,
501
+ className: cn("flex items-center", logoClassName),
502
+ children: imgElement
503
+ }
504
+ );
505
+ }
506
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
507
+ };
467
508
  function HeroCustomerSupportLayered({
468
509
  sectionId = "hero-customer-support-layered",
469
510
  tagline,
@@ -486,7 +527,10 @@ function HeroCustomerSupportLayered({
486
527
  descriptionClassName,
487
528
  imagesClassName,
488
529
  optixFlowConfig,
489
- patternClassName
530
+ patternClassName,
531
+ logo,
532
+ logoSlot,
533
+ logoClassName
490
534
  }) {
491
535
  const renderImages = useMemo(() => {
492
536
  if (imagesSlot) return imagesSlot;
@@ -560,6 +604,7 @@ function HeroCustomerSupportLayered({
560
604
  children: tagline
561
605
  }
562
606
  ) : tagline),
607
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
563
608
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
564
609
  "h1",
565
610
  {
@@ -500,6 +500,47 @@ function ActionComponent({ action }) {
500
500
  }
501
501
  );
502
502
  }
503
+ var SIZE_CLASSES = {
504
+ sm: "max-h-6 sm:max-h-7",
505
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
506
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
507
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
508
+ };
509
+ var BrandLogo = ({
510
+ logo,
511
+ logoSlot,
512
+ logoClassName,
513
+ size = "md",
514
+ optixFlowConfig
515
+ }) => {
516
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
517
+ if (!logo || !logo.src) return null;
518
+ const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
519
+ img.Img,
520
+ {
521
+ src: logo.src,
522
+ className: cn(
523
+ "w-auto object-contain",
524
+ SIZE_CLASSES[size],
525
+ logo.className
526
+ ),
527
+ alt: logo.alt || "Logo",
528
+ optixFlowConfig,
529
+ loading: "eager"
530
+ }
531
+ );
532
+ if (logo.url) {
533
+ return /* @__PURE__ */ jsxRuntime.jsx(
534
+ pressable.Pressable,
535
+ {
536
+ href: logo.url,
537
+ className: cn("flex items-center", logoClassName),
538
+ children: imgElement
539
+ }
540
+ );
541
+ }
542
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
543
+ };
503
544
  function HeroDesignSystem3d({
504
545
  sectionId = "hero-design-system-3d",
505
546
  trustBadge,
@@ -522,7 +563,10 @@ function HeroDesignSystem3d({
522
563
  descriptionClassName,
523
564
  actionsClassName,
524
565
  imagesClassName,
525
- optixFlowConfig
566
+ optixFlowConfig,
567
+ logo,
568
+ logoSlot,
569
+ logoClassName
526
570
  }) {
527
571
  const renderTrustBadge = React.useMemo(() => {
528
572
  if (trustBadgeSlot) return trustBadgeSlot;
@@ -609,25 +653,28 @@ function HeroDesignSystem3d({
609
653
  ),
610
654
  children: [
611
655
  renderTrustBadge,
612
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2", children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
613
- "h1",
614
- {
615
- className: cn(
616
- "text-center text-[2.8125rem] leading-none font-bold sm:text-[3.9375rem] lg:text-[5.3125rem]",
617
- headingClassName
618
- ),
619
- children: heading
620
- }
621
- ) : /* @__PURE__ */ jsxRuntime.jsx(
622
- "h1",
623
- {
624
- className: cn(
625
- "text-center text-[2.8125rem] leading-none font-bold sm:text-[3.9375rem] lg:text-[5.3125rem]",
626
- headingClassName
627
- ),
628
- children: heading
629
- }
630
- )) }),
656
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2", children: [
657
+ (logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
658
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
659
+ "h1",
660
+ {
661
+ className: cn(
662
+ "text-center text-[2.8125rem] leading-none font-bold sm:text-[3.9375rem] lg:text-[5.3125rem]",
663
+ headingClassName
664
+ ),
665
+ children: heading
666
+ }
667
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
668
+ "h1",
669
+ {
670
+ className: cn(
671
+ "text-center text-[2.8125rem] leading-none font-bold sm:text-[3.9375rem] lg:text-[5.3125rem]",
672
+ headingClassName
673
+ ),
674
+ children: heading
675
+ }
676
+ ))
677
+ ] }),
631
678
  description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
632
679
  "p",
633
680
  {
@@ -1,7 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Cgd-IXlI.cjs';
3
+ import { L as LogoConfig } from './types-mWZcgKth.cjs';
3
4
  import { A as ActionConfig, I as ImageItem, O as OptixFlowConfig } from './blocks-DyouPohq.cjs';
4
5
  import 'react/jsx-runtime';
6
+ import './dynamic-icon.cjs';
7
+ import '@page-speed/icon';
5
8
  import 'class-variance-authority';
6
9
  import '@page-speed/pressable';
7
10
  import '@opensite/hooks/usePlatformFromUrl';
@@ -91,9 +94,21 @@ interface HeroDesignSystem3dProps {
91
94
  * OptixFlow image optimization configuration
92
95
  */
93
96
  optixFlowConfig?: OptixFlowConfig;
97
+ /**
98
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
99
+ */
100
+ logo?: LogoConfig;
101
+ /**
102
+ * Custom slot for logo (overrides logo prop)
103
+ */
104
+ logoSlot?: React.ReactNode;
105
+ /**
106
+ * Additional CSS classes for the logo container
107
+ */
108
+ logoClassName?: string;
94
109
  /** Optional Section ID */
95
110
  sectionId?: string;
96
111
  }
97
- declare function HeroDesignSystem3d({ sectionId, trustBadge, trustBadgeSlot, heading, description, actions, actionsSlot, logoMarkSrc, images, imagesSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, }: HeroDesignSystem3dProps): React.JSX.Element;
112
+ declare function HeroDesignSystem3d({ sectionId, trustBadge, trustBadgeSlot, heading, description, actions, actionsSlot, logoMarkSrc, images, imagesSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroDesignSystem3dProps): React.JSX.Element;
98
113
 
99
114
  export { HeroDesignSystem3d, type HeroDesignSystem3dProps };
@@ -1,7 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Dud0DKXB.js';
3
+ import { L as LogoConfig } from './types-hJ2R0GoH.js';
3
4
  import { A as ActionConfig, I as ImageItem, O as OptixFlowConfig } from './blocks-DyouPohq.js';
4
5
  import 'react/jsx-runtime';
6
+ import './dynamic-icon.js';
7
+ import '@page-speed/icon';
5
8
  import 'class-variance-authority';
6
9
  import '@page-speed/pressable';
7
10
  import '@opensite/hooks/usePlatformFromUrl';
@@ -91,9 +94,21 @@ interface HeroDesignSystem3dProps {
91
94
  * OptixFlow image optimization configuration
92
95
  */
93
96
  optixFlowConfig?: OptixFlowConfig;
97
+ /**
98
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
99
+ */
100
+ logo?: LogoConfig;
101
+ /**
102
+ * Custom slot for logo (overrides logo prop)
103
+ */
104
+ logoSlot?: React.ReactNode;
105
+ /**
106
+ * Additional CSS classes for the logo container
107
+ */
108
+ logoClassName?: string;
94
109
  /** Optional Section ID */
95
110
  sectionId?: string;
96
111
  }
97
- declare function HeroDesignSystem3d({ sectionId, trustBadge, trustBadgeSlot, heading, description, actions, actionsSlot, logoMarkSrc, images, imagesSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, }: HeroDesignSystem3dProps): React.JSX.Element;
112
+ declare function HeroDesignSystem3d({ sectionId, trustBadge, trustBadgeSlot, heading, description, actions, actionsSlot, logoMarkSrc, images, imagesSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroDesignSystem3dProps): React.JSX.Element;
98
113
 
99
114
  export { HeroDesignSystem3d, type HeroDesignSystem3dProps };
@@ -479,6 +479,47 @@ function ActionComponent({ action }) {
479
479
  }
480
480
  );
481
481
  }
482
+ var SIZE_CLASSES = {
483
+ sm: "max-h-6 sm:max-h-7",
484
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
485
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
486
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
487
+ };
488
+ var BrandLogo = ({
489
+ logo,
490
+ logoSlot,
491
+ logoClassName,
492
+ size = "md",
493
+ optixFlowConfig
494
+ }) => {
495
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
496
+ if (!logo || !logo.src) return null;
497
+ const imgElement = /* @__PURE__ */ jsx(
498
+ Img,
499
+ {
500
+ src: logo.src,
501
+ className: cn(
502
+ "w-auto object-contain",
503
+ SIZE_CLASSES[size],
504
+ logo.className
505
+ ),
506
+ alt: logo.alt || "Logo",
507
+ optixFlowConfig,
508
+ loading: "eager"
509
+ }
510
+ );
511
+ if (logo.url) {
512
+ return /* @__PURE__ */ jsx(
513
+ Pressable,
514
+ {
515
+ href: logo.url,
516
+ className: cn("flex items-center", logoClassName),
517
+ children: imgElement
518
+ }
519
+ );
520
+ }
521
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
522
+ };
482
523
  function HeroDesignSystem3d({
483
524
  sectionId = "hero-design-system-3d",
484
525
  trustBadge,
@@ -501,7 +542,10 @@ function HeroDesignSystem3d({
501
542
  descriptionClassName,
502
543
  actionsClassName,
503
544
  imagesClassName,
504
- optixFlowConfig
545
+ optixFlowConfig,
546
+ logo,
547
+ logoSlot,
548
+ logoClassName
505
549
  }) {
506
550
  const renderTrustBadge = useMemo(() => {
507
551
  if (trustBadgeSlot) return trustBadgeSlot;
@@ -588,25 +632,28 @@ function HeroDesignSystem3d({
588
632
  ),
589
633
  children: [
590
634
  renderTrustBadge,
591
- /* @__PURE__ */ jsx("div", { className: "mb-2", children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
592
- "h1",
593
- {
594
- className: cn(
595
- "text-center text-[2.8125rem] leading-none font-bold sm:text-[3.9375rem] lg:text-[5.3125rem]",
596
- headingClassName
597
- ),
598
- children: heading
599
- }
600
- ) : /* @__PURE__ */ jsx(
601
- "h1",
602
- {
603
- className: cn(
604
- "text-center text-[2.8125rem] leading-none font-bold sm:text-[3.9375rem] lg:text-[5.3125rem]",
605
- headingClassName
606
- ),
607
- children: heading
608
- }
609
- )) }),
635
+ /* @__PURE__ */ jsxs("div", { className: "mb-2", children: [
636
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
637
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
638
+ "h1",
639
+ {
640
+ className: cn(
641
+ "text-center text-[2.8125rem] leading-none font-bold sm:text-[3.9375rem] lg:text-[5.3125rem]",
642
+ headingClassName
643
+ ),
644
+ children: heading
645
+ }
646
+ ) : /* @__PURE__ */ jsx(
647
+ "h1",
648
+ {
649
+ className: cn(
650
+ "text-center text-[2.8125rem] leading-none font-bold sm:text-[3.9375rem] lg:text-[5.3125rem]",
651
+ headingClassName
652
+ ),
653
+ children: heading
654
+ }
655
+ ))
656
+ ] }),
610
657
  description && (typeof description === "string" ? /* @__PURE__ */ jsx(
611
658
  "p",
612
659
  {