@opensite/ui 3.7.1 → 3.7.3

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 (283) hide show
  1. package/dist/badge.d.cts +1 -1
  2. package/dist/badge.d.ts +1 -1
  3. package/dist/hero-ad-campaign-expert.cjs +46 -1
  4. package/dist/hero-ad-campaign-expert.d.cts +16 -1
  5. package/dist/hero-ad-campaign-expert.d.ts +16 -1
  6. package/dist/hero-ad-campaign-expert.js +46 -1
  7. package/dist/hero-adaptable-product-grid.cjs +46 -1
  8. package/dist/hero-adaptable-product-grid.d.cts +16 -1
  9. package/dist/hero-adaptable-product-grid.d.ts +16 -1
  10. package/dist/hero-adaptable-product-grid.js +46 -1
  11. package/dist/hero-agency-animated-images.cjs +46 -1
  12. package/dist/hero-agency-animated-images.d.cts +16 -1
  13. package/dist/hero-agency-animated-images.d.ts +16 -1
  14. package/dist/hero-agency-animated-images.js +46 -1
  15. package/dist/hero-ai-powered-carousel.cjs +46 -1
  16. package/dist/hero-ai-powered-carousel.d.cts +16 -1
  17. package/dist/hero-ai-powered-carousel.d.ts +16 -1
  18. package/dist/hero-ai-powered-carousel.js +46 -1
  19. package/dist/hero-announcement-badge.cjs +47 -1
  20. package/dist/hero-announcement-badge.d.cts +16 -1
  21. package/dist/hero-announcement-badge.d.ts +16 -1
  22. package/dist/hero-announcement-badge.js +47 -1
  23. package/dist/hero-architecture-fullscreen.cjs +46 -1
  24. package/dist/hero-architecture-fullscreen.d.cts +16 -1
  25. package/dist/hero-architecture-fullscreen.d.ts +16 -1
  26. package/dist/hero-architecture-fullscreen.js +46 -1
  27. package/dist/hero-badge-image-split.cjs +46 -1
  28. package/dist/hero-badge-image-split.d.cts +16 -1
  29. package/dist/hero-badge-image-split.d.ts +16 -1
  30. package/dist/hero-badge-image-split.js +46 -1
  31. package/dist/hero-badge-shadow-overlay.cjs +46 -1
  32. package/dist/hero-badge-shadow-overlay.d.cts +16 -1
  33. package/dist/hero-badge-shadow-overlay.d.ts +16 -1
  34. package/dist/hero-badge-shadow-overlay.js +46 -1
  35. package/dist/hero-business-carousel-dots.cjs +46 -1
  36. package/dist/hero-business-carousel-dots.d.cts +16 -1
  37. package/dist/hero-business-carousel-dots.d.ts +16 -1
  38. package/dist/hero-business-carousel-dots.js +46 -1
  39. package/dist/hero-business-operations-mosaic.cjs +46 -1
  40. package/dist/hero-business-operations-mosaic.d.cts +16 -1
  41. package/dist/hero-business-operations-mosaic.d.ts +16 -1
  42. package/dist/hero-business-operations-mosaic.js +46 -1
  43. package/dist/hero-centered-gradient-cta.cjs +47 -1
  44. package/dist/hero-centered-gradient-cta.d.cts +16 -1
  45. package/dist/hero-centered-gradient-cta.d.ts +16 -1
  46. package/dist/hero-centered-gradient-cta.js +47 -1
  47. package/dist/hero-centered-image-grid.cjs +46 -1
  48. package/dist/hero-centered-image-grid.d.cts +16 -1
  49. package/dist/hero-centered-image-grid.d.ts +16 -1
  50. package/dist/hero-centered-image-grid.js +46 -1
  51. package/dist/hero-centered-screenshot.cjs +46 -1
  52. package/dist/hero-centered-screenshot.d.cts +16 -1
  53. package/dist/hero-centered-screenshot.d.ts +16 -1
  54. package/dist/hero-centered-screenshot.js +46 -1
  55. package/dist/hero-coming-soon-countdown.cjs +47 -1
  56. package/dist/hero-coming-soon-countdown.d.cts +16 -1
  57. package/dist/hero-coming-soon-countdown.d.ts +16 -1
  58. package/dist/hero-coming-soon-countdown.js +47 -1
  59. package/dist/hero-community-survey-cta.cjs +46 -1
  60. package/dist/hero-community-survey-cta.d.cts +16 -1
  61. package/dist/hero-community-survey-cta.d.ts +16 -1
  62. package/dist/hero-community-survey-cta.js +46 -1
  63. package/dist/hero-conversation-intelligence.cjs +46 -1
  64. package/dist/hero-conversation-intelligence.d.cts +16 -1
  65. package/dist/hero-conversation-intelligence.d.ts +16 -1
  66. package/dist/hero-conversation-intelligence.js +46 -1
  67. package/dist/hero-creative-studio-stacked.cjs +46 -1
  68. package/dist/hero-creative-studio-stacked.d.cts +17 -2
  69. package/dist/hero-creative-studio-stacked.d.ts +17 -2
  70. package/dist/hero-creative-studio-stacked.js +46 -1
  71. package/dist/hero-crm-streamlined.cjs +46 -1
  72. package/dist/hero-crm-streamlined.d.cts +16 -1
  73. package/dist/hero-crm-streamlined.d.ts +16 -1
  74. package/dist/hero-crm-streamlined.js +46 -1
  75. package/dist/hero-customer-support-layered.cjs +46 -1
  76. package/dist/hero-customer-support-layered.d.cts +16 -1
  77. package/dist/hero-customer-support-layered.d.ts +16 -1
  78. package/dist/hero-customer-support-layered.js +46 -1
  79. package/dist/hero-design-system-3d.cjs +67 -20
  80. package/dist/hero-design-system-3d.d.cts +16 -1
  81. package/dist/hero-design-system-3d.d.ts +16 -1
  82. package/dist/hero-design-system-3d.js +67 -20
  83. package/dist/hero-developer-tools-code.cjs +47 -1
  84. package/dist/hero-developer-tools-code.d.cts +16 -1
  85. package/dist/hero-developer-tools-code.d.ts +16 -1
  86. package/dist/hero-developer-tools-code.js +47 -1
  87. package/dist/hero-digital-agency-fullscreen.cjs +46 -1
  88. package/dist/hero-digital-agency-fullscreen.d.cts +16 -1
  89. package/dist/hero-digital-agency-fullscreen.d.ts +16 -1
  90. package/dist/hero-digital-agency-fullscreen.js +46 -1
  91. package/dist/hero-ecommerce-product-showcase.cjs +46 -1
  92. package/dist/hero-ecommerce-product-showcase.d.cts +16 -1
  93. package/dist/hero-ecommerce-product-showcase.d.ts +16 -1
  94. package/dist/hero-ecommerce-product-showcase.js +46 -1
  95. package/dist/hero-enterprise-security.cjs +47 -1
  96. package/dist/hero-enterprise-security.d.cts +16 -1
  97. package/dist/hero-enterprise-security.d.ts +16 -1
  98. package/dist/hero-enterprise-security.js +47 -1
  99. package/dist/hero-feature-cards-grid.cjs +47 -1
  100. package/dist/hero-feature-cards-grid.d.cts +16 -1
  101. package/dist/hero-feature-cards-grid.d.ts +16 -1
  102. package/dist/hero-feature-cards-grid.js +47 -1
  103. package/dist/hero-fullscreen-background-image.cjs +46 -1
  104. package/dist/hero-fullscreen-background-image.d.cts +16 -1
  105. package/dist/hero-fullscreen-background-image.d.ts +16 -1
  106. package/dist/hero-fullscreen-background-image.js +46 -1
  107. package/dist/hero-gradient-avatars-rating.cjs +46 -1
  108. package/dist/hero-gradient-avatars-rating.d.cts +16 -1
  109. package/dist/hero-gradient-avatars-rating.d.ts +16 -1
  110. package/dist/hero-gradient-avatars-rating.js +46 -1
  111. package/dist/hero-gradient-client-focused.cjs +46 -1
  112. package/dist/hero-gradient-client-focused.d.cts +16 -1
  113. package/dist/hero-gradient-client-focused.d.ts +16 -1
  114. package/dist/hero-gradient-client-focused.js +46 -1
  115. package/dist/hero-grid-pattern-efficiency.cjs +47 -1
  116. package/dist/hero-grid-pattern-efficiency.d.cts +16 -1
  117. package/dist/hero-grid-pattern-efficiency.d.ts +16 -1
  118. package/dist/hero-grid-pattern-efficiency.js +47 -1
  119. package/dist/hero-grid-pattern-solutions.cjs +46 -1
  120. package/dist/hero-grid-pattern-solutions.d.cts +16 -1
  121. package/dist/hero-grid-pattern-solutions.d.ts +16 -1
  122. package/dist/hero-grid-pattern-solutions.js +46 -1
  123. package/dist/hero-hiring-animated-text.cjs +47 -1
  124. package/dist/hero-hiring-animated-text.d.cts +16 -1
  125. package/dist/hero-hiring-animated-text.d.ts +16 -1
  126. package/dist/hero-hiring-animated-text.js +47 -1
  127. package/dist/hero-image-left-content.cjs +46 -1
  128. package/dist/hero-image-left-content.d.cts +16 -1
  129. package/dist/hero-image-left-content.d.ts +16 -1
  130. package/dist/hero-image-left-content.js +46 -1
  131. package/dist/hero-image-slider.cjs +46 -1
  132. package/dist/hero-image-slider.d.cts +16 -1
  133. package/dist/hero-image-slider.d.ts +16 -1
  134. package/dist/hero-image-slider.js +46 -1
  135. package/dist/hero-innovation-image-grid.cjs +46 -1
  136. package/dist/hero-innovation-image-grid.d.cts +16 -1
  137. package/dist/hero-innovation-image-grid.d.ts +16 -1
  138. package/dist/hero-innovation-image-grid.js +46 -1
  139. package/dist/hero-logo-centered-screenshot.cjs +2 -2
  140. package/dist/hero-logo-centered-screenshot.js +2 -2
  141. package/dist/hero-marketplace-scattered-images.cjs +46 -1
  142. package/dist/hero-marketplace-scattered-images.d.cts +16 -1
  143. package/dist/hero-marketplace-scattered-images.d.ts +16 -1
  144. package/dist/hero-marketplace-scattered-images.js +46 -1
  145. package/dist/hero-minimal-centered-dark.cjs +47 -1
  146. package/dist/hero-minimal-centered-dark.d.cts +16 -1
  147. package/dist/hero-minimal-centered-dark.d.ts +16 -1
  148. package/dist/hero-minimal-centered-dark.js +47 -1
  149. package/dist/hero-mobile-app-download.cjs +46 -1
  150. package/dist/hero-mobile-app-download.d.cts +16 -1
  151. package/dist/hero-mobile-app-download.d.ts +16 -1
  152. package/dist/hero-mobile-app-download.js +46 -1
  153. package/dist/hero-newsletter-minimal.cjs +48 -1
  154. package/dist/hero-newsletter-minimal.d.cts +16 -1
  155. package/dist/hero-newsletter-minimal.d.ts +16 -1
  156. package/dist/hero-newsletter-minimal.js +48 -1
  157. package/dist/hero-overlay-cta-grid.cjs +46 -1
  158. package/dist/hero-overlay-cta-grid.d.cts +16 -1
  159. package/dist/hero-overlay-cta-grid.d.ts +16 -1
  160. package/dist/hero-overlay-cta-grid.js +46 -1
  161. package/dist/hero-portfolio-creative.cjs +46 -1
  162. package/dist/hero-portfolio-creative.d.cts +16 -1
  163. package/dist/hero-portfolio-creative.d.ts +16 -1
  164. package/dist/hero-portfolio-creative.js +46 -1
  165. package/dist/hero-premium-split-avatars.cjs +46 -1
  166. package/dist/hero-premium-split-avatars.d.cts +16 -1
  167. package/dist/hero-premium-split-avatars.d.ts +16 -1
  168. package/dist/hero-premium-split-avatars.js +46 -1
  169. package/dist/hero-presentation-platform-video.cjs +47 -1
  170. package/dist/hero-presentation-platform-video.d.cts +16 -1
  171. package/dist/hero-presentation-platform-video.d.ts +16 -1
  172. package/dist/hero-presentation-platform-video.js +47 -1
  173. package/dist/hero-pricing-comparison.cjs +47 -1
  174. package/dist/hero-pricing-comparison.d.cts +16 -1
  175. package/dist/hero-pricing-comparison.d.ts +16 -1
  176. package/dist/hero-pricing-comparison.js +47 -1
  177. package/dist/hero-product-showcase-floating.cjs +46 -1
  178. package/dist/hero-product-showcase-floating.d.cts +16 -1
  179. package/dist/hero-product-showcase-floating.d.ts +16 -1
  180. package/dist/hero-product-showcase-floating.js +46 -1
  181. package/dist/hero-productivity-launcher-video.cjs +68 -20
  182. package/dist/hero-productivity-launcher-video.d.cts +16 -1
  183. package/dist/hero-productivity-launcher-video.d.ts +16 -1
  184. package/dist/hero-productivity-launcher-video.js +68 -20
  185. package/dist/hero-saas-dashboard-preview.cjs +46 -1
  186. package/dist/hero-saas-dashboard-preview.d.cts +16 -1
  187. package/dist/hero-saas-dashboard-preview.d.ts +16 -1
  188. package/dist/hero-saas-dashboard-preview.js +46 -1
  189. package/dist/hero-shared-inbox-layered.cjs +46 -1
  190. package/dist/hero-shared-inbox-layered.d.cts +16 -1
  191. package/dist/hero-shared-inbox-layered.d.ts +16 -1
  192. package/dist/hero-shared-inbox-layered.js +46 -1
  193. package/dist/hero-simple-centered-image.cjs +46 -1
  194. package/dist/hero-simple-centered-image.d.cts +16 -1
  195. package/dist/hero-simple-centered-image.d.ts +16 -1
  196. package/dist/hero-simple-centered-image.js +46 -1
  197. package/dist/hero-software-growth-video-dialog.cjs +46 -1
  198. package/dist/hero-software-growth-video-dialog.d.cts +16 -1
  199. package/dist/hero-software-growth-video-dialog.d.ts +16 -1
  200. package/dist/hero-software-growth-video-dialog.js +46 -1
  201. package/dist/hero-spiral-pattern-cards.cjs +46 -1
  202. package/dist/hero-spiral-pattern-cards.d.cts +16 -1
  203. package/dist/hero-spiral-pattern-cards.d.ts +16 -1
  204. package/dist/hero-spiral-pattern-cards.js +46 -1
  205. package/dist/hero-split-geometric-shapes.cjs +46 -1
  206. package/dist/hero-split-geometric-shapes.d.cts +16 -1
  207. package/dist/hero-split-geometric-shapes.d.ts +16 -1
  208. package/dist/hero-split-geometric-shapes.js +46 -1
  209. package/dist/hero-split-icon-cards.cjs +47 -1
  210. package/dist/hero-split-icon-cards.d.cts +16 -1
  211. package/dist/hero-split-icon-cards.d.ts +16 -1
  212. package/dist/hero-split-icon-cards.js +47 -1
  213. package/dist/hero-split-image-newsletter.cjs +46 -1
  214. package/dist/hero-split-image-newsletter.d.cts +16 -1
  215. package/dist/hero-split-image-newsletter.d.ts +16 -1
  216. package/dist/hero-split-image-newsletter.js +47 -2
  217. package/dist/hero-split-spiral-shapes.cjs +46 -1
  218. package/dist/hero-split-spiral-shapes.d.cts +16 -1
  219. package/dist/hero-split-spiral-shapes.d.ts +16 -1
  220. package/dist/hero-split-spiral-shapes.js +46 -1
  221. package/dist/hero-startup-launch-cta.cjs +46 -1
  222. package/dist/hero-startup-launch-cta.d.cts +16 -1
  223. package/dist/hero-startup-launch-cta.d.ts +16 -1
  224. package/dist/hero-startup-launch-cta.js +46 -1
  225. package/dist/hero-stats-social-proof.cjs +46 -1
  226. package/dist/hero-stats-social-proof.d.cts +16 -1
  227. package/dist/hero-stats-social-proof.d.ts +16 -1
  228. package/dist/hero-stats-social-proof.js +46 -1
  229. package/dist/hero-task-timer-animated.cjs +46 -1
  230. package/dist/hero-task-timer-animated.d.cts +16 -1
  231. package/dist/hero-task-timer-animated.d.ts +16 -1
  232. package/dist/hero-task-timer-animated.js +46 -1
  233. package/dist/hero-testimonial-image-grid.cjs +46 -1
  234. package/dist/hero-testimonial-image-grid.d.cts +16 -1
  235. package/dist/hero-testimonial-image-grid.d.ts +16 -1
  236. package/dist/hero-testimonial-image-grid.js +46 -1
  237. package/dist/hero-therapy-testimonial-grid.cjs +46 -1
  238. package/dist/hero-therapy-testimonial-grid.d.cts +16 -1
  239. package/dist/hero-therapy-testimonial-grid.d.ts +16 -1
  240. package/dist/hero-therapy-testimonial-grid.js +46 -1
  241. package/dist/hero-ui-library-showcase.cjs +3 -2
  242. package/dist/hero-ui-library-showcase.d.cts +13 -5
  243. package/dist/hero-ui-library-showcase.d.ts +13 -5
  244. package/dist/hero-ui-library-showcase.js +3 -2
  245. package/dist/hero-video-background-dark.cjs +47 -1
  246. package/dist/hero-video-background-dark.d.cts +16 -1
  247. package/dist/hero-video-background-dark.d.ts +16 -1
  248. package/dist/hero-video-background-dark.js +47 -1
  249. package/dist/{hero-video-dialog-gradient-Cr96k01H.d.ts → hero-video-dialog-gradient-B6-kFIvZ.d.ts} +14 -1
  250. package/dist/{hero-video-dialog-gradient-Dc0wRYdW.d.cts → hero-video-dialog-gradient-DPnh6Vn-.d.cts} +14 -1
  251. package/dist/hero-video-dialog-gradient.cjs +46 -1
  252. package/dist/hero-video-dialog-gradient.d.cts +4 -1
  253. package/dist/hero-video-dialog-gradient.d.ts +4 -1
  254. package/dist/hero-video-dialog-gradient.js +46 -1
  255. package/dist/hero-welcome-asymmetric-images.cjs +46 -1
  256. package/dist/hero-welcome-asymmetric-images.d.cts +16 -1
  257. package/dist/hero-welcome-asymmetric-images.d.ts +16 -1
  258. package/dist/hero-welcome-asymmetric-images.js +46 -1
  259. package/dist/link-page-bento-layout.cjs +59 -3
  260. package/dist/link-page-bento-layout.d.cts +16 -1
  261. package/dist/link-page-bento-layout.d.ts +16 -1
  262. package/dist/link-page-bento-layout.js +59 -3
  263. package/dist/link-page-grid-cards.cjs +59 -3
  264. package/dist/link-page-grid-cards.d.cts +16 -1
  265. package/dist/link-page-grid-cards.d.ts +16 -1
  266. package/dist/link-page-grid-cards.js +59 -3
  267. package/dist/link-page-minimal-profile.cjs +59 -3
  268. package/dist/link-page-minimal-profile.d.cts +16 -1
  269. package/dist/link-page-minimal-profile.d.ts +16 -1
  270. package/dist/link-page-minimal-profile.js +59 -3
  271. package/dist/link-page-newsletter-social.cjs +59 -3
  272. package/dist/link-page-newsletter-social.d.cts +16 -1
  273. package/dist/link-page-newsletter-social.d.ts +16 -1
  274. package/dist/link-page-newsletter-social.js +59 -3
  275. package/dist/link-tree-block.cjs +58 -2
  276. package/dist/link-tree-block.d.cts +16 -1
  277. package/dist/link-tree-block.d.ts +16 -1
  278. package/dist/link-tree-block.js +58 -2
  279. package/dist/registry.cjs +706 -184
  280. package/dist/registry.js +706 -184
  281. package/dist/social-link-icon.d.cts +1 -1
  282. package/dist/social-link-icon.d.ts +1 -1
  283. package/package.json +1 -1
@@ -6,6 +6,7 @@ import { twMerge } from 'tailwind-merge';
6
6
  import { Icon } from '@page-speed/icon';
7
7
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
8
8
  import { Pressable } from '@page-speed/pressable';
9
+ import { Img } from '@page-speed/img';
9
10
 
10
11
  // components/blocks/hero/hero-split-icon-cards.tsx
11
12
  function cn(...inputs) {
@@ -443,6 +444,47 @@ var Section = React__default.forwardRef(
443
444
  }
444
445
  );
445
446
  Section.displayName = "Section";
447
+ var SIZE_CLASSES = {
448
+ sm: "max-h-6 sm:max-h-7",
449
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
450
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
451
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
452
+ };
453
+ var BrandLogo = ({
454
+ logo,
455
+ logoSlot,
456
+ logoClassName,
457
+ size = "md",
458
+ optixFlowConfig
459
+ }) => {
460
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
461
+ if (!logo || !logo.src) return null;
462
+ const imgElement = /* @__PURE__ */ jsx(
463
+ Img,
464
+ {
465
+ src: logo.src,
466
+ className: cn(
467
+ "w-auto object-contain",
468
+ SIZE_CLASSES[size],
469
+ logo.className
470
+ ),
471
+ alt: logo.alt || "Logo",
472
+ optixFlowConfig,
473
+ loading: "eager"
474
+ }
475
+ );
476
+ if (logo.url) {
477
+ return /* @__PURE__ */ jsx(
478
+ Pressable,
479
+ {
480
+ href: logo.url,
481
+ className: cn("flex items-center", logoClassName),
482
+ children: imgElement
483
+ }
484
+ );
485
+ }
486
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
487
+ };
446
488
  function HeroSplitIconCards({
447
489
  sectionId = "hero-split-icon-cards",
448
490
  eyebrow,
@@ -463,7 +505,10 @@ function HeroSplitIconCards({
463
505
  descriptionClassName,
464
506
  verticalSpacing,
465
507
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
466
- spacing = "pt-32 pb-8 md:pt-32 md:pb-32"
508
+ spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
509
+ logo,
510
+ logoSlot,
511
+ logoClassName
467
512
  }) {
468
513
  const renderActions = useMemo(() => {
469
514
  if (actionsSlot) return actionsSlot;
@@ -528,6 +573,7 @@ function HeroSplitIconCards({
528
573
  children: eyebrow
529
574
  }
530
575
  ) : eyebrow),
576
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
531
577
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
532
578
  "h2",
533
579
  {
@@ -410,6 +410,47 @@ var Section = React3__namespace.default.forwardRef(
410
410
  }
411
411
  );
412
412
  Section.displayName = "Section";
413
+ var SIZE_CLASSES = {
414
+ sm: "max-h-6 sm:max-h-7",
415
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
416
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
417
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
418
+ };
419
+ var BrandLogo = ({
420
+ logo,
421
+ logoSlot,
422
+ logoClassName,
423
+ size = "md",
424
+ optixFlowConfig
425
+ }) => {
426
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
427
+ if (!logo || !logo.src) return null;
428
+ const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
429
+ img.Img,
430
+ {
431
+ src: logo.src,
432
+ className: cn(
433
+ "w-auto object-contain",
434
+ SIZE_CLASSES[size],
435
+ logo.className
436
+ ),
437
+ alt: logo.alt || "Logo",
438
+ optixFlowConfig,
439
+ loading: "eager"
440
+ }
441
+ );
442
+ if (logo.url) {
443
+ return /* @__PURE__ */ jsxRuntime.jsx(
444
+ pressable.Pressable,
445
+ {
446
+ href: logo.url,
447
+ className: cn("flex items-center", logoClassName),
448
+ children: imgElement
449
+ }
450
+ );
451
+ }
452
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
453
+ };
413
454
  var DEFAULT_FORM_FIELDS = [
414
455
  {
415
456
  name: "email",
@@ -445,7 +486,10 @@ function HeroSplitImageNewsletter({
445
486
  headingClassName,
446
487
  descriptionClassName,
447
488
  imageClassName,
448
- optixFlowConfig
489
+ optixFlowConfig,
490
+ logo,
491
+ logoSlot,
492
+ logoClassName
449
493
  }) {
450
494
  const {
451
495
  uploadTokens,
@@ -581,6 +625,7 @@ function HeroSplitImageNewsletter({
581
625
  contentClassName
582
626
  ),
583
627
  children: [
628
+ (logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
584
629
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
585
630
  "h1",
586
631
  {
@@ -1,8 +1,11 @@
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
3
  import { FormFieldConfig, PageSpeedFormConfig } from '@page-speed/forms/integration';
4
+ import { L as LogoConfig } from './types-mWZcgKth.cjs';
4
5
  import { A as ActionConfig, I as ImageItem, O as OptixFlowConfig } from './blocks-DyouPohq.cjs';
5
6
  import 'react/jsx-runtime';
7
+ import './dynamic-icon.cjs';
8
+ import '@page-speed/icon';
6
9
  import 'class-variance-authority';
7
10
  import '@page-speed/pressable';
8
11
  import '@opensite/hooks/usePlatformFromUrl';
@@ -103,9 +106,21 @@ interface HeroSplitImageNewsletterProps {
103
106
  * OptixFlow image optimization configuration
104
107
  */
105
108
  optixFlowConfig?: OptixFlowConfig;
109
+ /**
110
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
111
+ */
112
+ logo?: LogoConfig;
113
+ /**
114
+ * Custom slot for logo (overrides logo prop)
115
+ */
116
+ logoSlot?: React.ReactNode;
117
+ /**
118
+ * Additional CSS classes for the logo container
119
+ */
120
+ logoClassName?: string;
106
121
  /** Optional Section ID */
107
122
  sectionId?: string;
108
123
  }
109
- declare function HeroSplitImageNewsletter({ sectionId, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, image, imageSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, }: HeroSplitImageNewsletterProps): React.JSX.Element;
124
+ declare function HeroSplitImageNewsletter({ sectionId, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, image, imageSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroSplitImageNewsletterProps): React.JSX.Element;
110
125
 
111
126
  export { HeroSplitImageNewsletter, type HeroSplitImageNewsletterProps };
@@ -1,8 +1,11 @@
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
3
  import { FormFieldConfig, PageSpeedFormConfig } from '@page-speed/forms/integration';
4
+ import { L as LogoConfig } from './types-hJ2R0GoH.js';
4
5
  import { A as ActionConfig, I as ImageItem, O as OptixFlowConfig } from './blocks-DyouPohq.js';
5
6
  import 'react/jsx-runtime';
7
+ import './dynamic-icon.js';
8
+ import '@page-speed/icon';
6
9
  import 'class-variance-authority';
7
10
  import '@page-speed/pressable';
8
11
  import '@opensite/hooks/usePlatformFromUrl';
@@ -103,9 +106,21 @@ interface HeroSplitImageNewsletterProps {
103
106
  * OptixFlow image optimization configuration
104
107
  */
105
108
  optixFlowConfig?: OptixFlowConfig;
109
+ /**
110
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
111
+ */
112
+ logo?: LogoConfig;
113
+ /**
114
+ * Custom slot for logo (overrides logo prop)
115
+ */
116
+ logoSlot?: React.ReactNode;
117
+ /**
118
+ * Additional CSS classes for the logo container
119
+ */
120
+ logoClassName?: string;
106
121
  /** Optional Section ID */
107
122
  sectionId?: string;
108
123
  }
109
- declare function HeroSplitImageNewsletter({ sectionId, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, image, imageSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, }: HeroSplitImageNewsletterProps): React.JSX.Element;
124
+ declare function HeroSplitImageNewsletter({ sectionId, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, image, imageSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroSplitImageNewsletterProps): React.JSX.Element;
110
125
 
111
126
  export { HeroSplitImageNewsletter, type HeroSplitImageNewsletterProps };
@@ -5,7 +5,7 @@ import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import { Pressable } from '@page-speed/pressable';
7
7
  import { Img } from '@page-speed/img';
8
- import { jsx, jsxs } from 'react/jsx-runtime';
8
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
9
9
  import { Form } from '@page-speed/forms';
10
10
  import { useFileUpload, useContactForm, DynamicFormField } from '@page-speed/forms/integration';
11
11
 
@@ -389,6 +389,47 @@ var Section = React3__default.forwardRef(
389
389
  }
390
390
  );
391
391
  Section.displayName = "Section";
392
+ var SIZE_CLASSES = {
393
+ sm: "max-h-6 sm:max-h-7",
394
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
395
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
396
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
397
+ };
398
+ var BrandLogo = ({
399
+ logo,
400
+ logoSlot,
401
+ logoClassName,
402
+ size = "md",
403
+ optixFlowConfig
404
+ }) => {
405
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
406
+ if (!logo || !logo.src) return null;
407
+ const imgElement = /* @__PURE__ */ jsx(
408
+ Img,
409
+ {
410
+ src: logo.src,
411
+ className: cn(
412
+ "w-auto object-contain",
413
+ SIZE_CLASSES[size],
414
+ logo.className
415
+ ),
416
+ alt: logo.alt || "Logo",
417
+ optixFlowConfig,
418
+ loading: "eager"
419
+ }
420
+ );
421
+ if (logo.url) {
422
+ return /* @__PURE__ */ jsx(
423
+ Pressable,
424
+ {
425
+ href: logo.url,
426
+ className: cn("flex items-center", logoClassName),
427
+ children: imgElement
428
+ }
429
+ );
430
+ }
431
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
432
+ };
392
433
  var DEFAULT_FORM_FIELDS = [
393
434
  {
394
435
  name: "email",
@@ -424,7 +465,10 @@ function HeroSplitImageNewsletter({
424
465
  headingClassName,
425
466
  descriptionClassName,
426
467
  imageClassName,
427
- optixFlowConfig
468
+ optixFlowConfig,
469
+ logo,
470
+ logoSlot,
471
+ logoClassName
428
472
  }) {
429
473
  const {
430
474
  uploadTokens,
@@ -560,6 +604,7 @@ function HeroSplitImageNewsletter({
560
604
  contentClassName
561
605
  ),
562
606
  children: [
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
  {
@@ -426,6 +426,47 @@ function Badge({
426
426
  }
427
427
  );
428
428
  }
429
+ var SIZE_CLASSES = {
430
+ sm: "max-h-6 sm:max-h-7",
431
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
432
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
433
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
434
+ };
435
+ var BrandLogo = ({
436
+ logo,
437
+ logoSlot,
438
+ logoClassName,
439
+ size = "md",
440
+ optixFlowConfig
441
+ }) => {
442
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
443
+ if (!logo || !logo.src) return null;
444
+ const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
445
+ img.Img,
446
+ {
447
+ src: logo.src,
448
+ className: cn(
449
+ "w-auto object-contain",
450
+ SIZE_CLASSES[size],
451
+ logo.className
452
+ ),
453
+ alt: logo.alt || "Logo",
454
+ optixFlowConfig,
455
+ loading: "eager"
456
+ }
457
+ );
458
+ if (logo.url) {
459
+ return /* @__PURE__ */ jsxRuntime.jsx(
460
+ pressable.Pressable,
461
+ {
462
+ href: logo.url,
463
+ className: cn("flex items-center", logoClassName),
464
+ children: imgElement
465
+ }
466
+ );
467
+ }
468
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
469
+ };
429
470
  function HeroSplitSpiralShapes({
430
471
  sectionId = "hero-split-spiral-shapes",
431
472
  badgeText,
@@ -445,7 +486,10 @@ function HeroSplitSpiralShapes({
445
486
  contentClassName,
446
487
  headingClassName,
447
488
  descriptionClassName,
448
- imagesClassName
489
+ imagesClassName,
490
+ logo,
491
+ logoSlot,
492
+ logoClassName
449
493
  }) {
450
494
  const renderActions = React.useMemo(() => {
451
495
  if (actionsSlot) return actionsSlot;
@@ -546,6 +590,7 @@ function HeroSplitSpiralShapes({
546
590
  ),
547
591
  children: [
548
592
  badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Badge, { children: badgeText }) : badgeText),
593
+ (logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
549
594
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
550
595
  "h1",
551
596
  {
@@ -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';
@@ -79,9 +82,21 @@ interface HeroSplitSpiralShapesProps {
79
82
  * Additional CSS classes for the images container
80
83
  */
81
84
  imagesClassName?: string;
85
+ /**
86
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
87
+ */
88
+ logo?: LogoConfig;
89
+ /**
90
+ * Custom slot for logo (overrides logo prop)
91
+ */
92
+ logoSlot?: React.ReactNode;
93
+ /**
94
+ * Additional CSS classes for the logo container
95
+ */
96
+ logoClassName?: string;
82
97
  /** Optional Section ID */
83
98
  sectionId?: string;
84
99
  }
85
- declare function HeroSplitSpiralShapes({ sectionId, badgeText, heading, description, actions, actionsSlot, images, imagesSlot, optixFlowConfig, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, imagesClassName, }: HeroSplitSpiralShapesProps): React.JSX.Element;
100
+ declare function HeroSplitSpiralShapes({ sectionId, badgeText, heading, description, actions, actionsSlot, images, imagesSlot, optixFlowConfig, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, imagesClassName, logo, logoSlot, logoClassName, }: HeroSplitSpiralShapesProps): React.JSX.Element;
86
101
 
87
102
  export { HeroSplitSpiralShapes, type HeroSplitSpiralShapesProps };
@@ -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';
@@ -79,9 +82,21 @@ interface HeroSplitSpiralShapesProps {
79
82
  * Additional CSS classes for the images container
80
83
  */
81
84
  imagesClassName?: string;
85
+ /**
86
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
87
+ */
88
+ logo?: LogoConfig;
89
+ /**
90
+ * Custom slot for logo (overrides logo prop)
91
+ */
92
+ logoSlot?: React.ReactNode;
93
+ /**
94
+ * Additional CSS classes for the logo container
95
+ */
96
+ logoClassName?: string;
82
97
  /** Optional Section ID */
83
98
  sectionId?: string;
84
99
  }
85
- declare function HeroSplitSpiralShapes({ sectionId, badgeText, heading, description, actions, actionsSlot, images, imagesSlot, optixFlowConfig, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, imagesClassName, }: HeroSplitSpiralShapesProps): React.JSX.Element;
100
+ declare function HeroSplitSpiralShapes({ sectionId, badgeText, heading, description, actions, actionsSlot, images, imagesSlot, optixFlowConfig, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, imagesClassName, logo, logoSlot, logoClassName, }: HeroSplitSpiralShapesProps): React.JSX.Element;
86
101
 
87
102
  export { HeroSplitSpiralShapes, type HeroSplitSpiralShapesProps };
@@ -420,6 +420,47 @@ function Badge({
420
420
  }
421
421
  );
422
422
  }
423
+ var SIZE_CLASSES = {
424
+ sm: "max-h-6 sm:max-h-7",
425
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
426
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
427
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
428
+ };
429
+ var BrandLogo = ({
430
+ logo,
431
+ logoSlot,
432
+ logoClassName,
433
+ size = "md",
434
+ optixFlowConfig
435
+ }) => {
436
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
437
+ if (!logo || !logo.src) return null;
438
+ const imgElement = /* @__PURE__ */ jsx(
439
+ Img,
440
+ {
441
+ src: logo.src,
442
+ className: cn(
443
+ "w-auto object-contain",
444
+ SIZE_CLASSES[size],
445
+ logo.className
446
+ ),
447
+ alt: logo.alt || "Logo",
448
+ optixFlowConfig,
449
+ loading: "eager"
450
+ }
451
+ );
452
+ if (logo.url) {
453
+ return /* @__PURE__ */ jsx(
454
+ Pressable,
455
+ {
456
+ href: logo.url,
457
+ className: cn("flex items-center", logoClassName),
458
+ children: imgElement
459
+ }
460
+ );
461
+ }
462
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
463
+ };
423
464
  function HeroSplitSpiralShapes({
424
465
  sectionId = "hero-split-spiral-shapes",
425
466
  badgeText,
@@ -439,7 +480,10 @@ function HeroSplitSpiralShapes({
439
480
  contentClassName,
440
481
  headingClassName,
441
482
  descriptionClassName,
442
- imagesClassName
483
+ imagesClassName,
484
+ logo,
485
+ logoSlot,
486
+ logoClassName
443
487
  }) {
444
488
  const renderActions = useMemo(() => {
445
489
  if (actionsSlot) return actionsSlot;
@@ -540,6 +584,7 @@ function HeroSplitSpiralShapes({
540
584
  ),
541
585
  children: [
542
586
  badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsx(Badge, { children: badgeText }) : badgeText),
587
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
543
588
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
544
589
  "h1",
545
590
  {
@@ -504,6 +504,47 @@ function ActionComponent({ action }) {
504
504
  }
505
505
  );
506
506
  }
507
+ var SIZE_CLASSES = {
508
+ sm: "max-h-6 sm:max-h-7",
509
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
510
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
511
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
512
+ };
513
+ var BrandLogo = ({
514
+ logo,
515
+ logoSlot,
516
+ logoClassName,
517
+ size = "md",
518
+ optixFlowConfig
519
+ }) => {
520
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
521
+ if (!logo || !logo.src) return null;
522
+ const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
523
+ img.Img,
524
+ {
525
+ src: logo.src,
526
+ className: cn(
527
+ "w-auto object-contain",
528
+ SIZE_CLASSES[size],
529
+ logo.className
530
+ ),
531
+ alt: logo.alt || "Logo",
532
+ optixFlowConfig,
533
+ loading: "eager"
534
+ }
535
+ );
536
+ if (logo.url) {
537
+ return /* @__PURE__ */ jsxRuntime.jsx(
538
+ pressable.Pressable,
539
+ {
540
+ href: logo.url,
541
+ className: cn("flex items-center", logoClassName),
542
+ children: imgElement
543
+ }
544
+ );
545
+ }
546
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
547
+ };
507
548
  function HeroStartupLaunchCta({
508
549
  sectionId = "hero-startup-launch-cta",
509
550
  badge,
@@ -533,7 +574,10 @@ function HeroStartupLaunchCta({
533
574
  actionsClassName,
534
575
  socialProofClassName,
535
576
  imageClassName,
536
- optixFlowConfig
577
+ optixFlowConfig,
578
+ logo,
579
+ logoSlot,
580
+ logoClassName
537
581
  }) {
538
582
  const renderAvatars = React.useMemo(() => {
539
583
  if (avatarsSlot) return avatarsSlot;
@@ -588,6 +632,7 @@ function HeroStartupLaunchCta({
588
632
  badgeIcon,
589
633
  typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { children: badge }) : badge
590
634
  ] }),
635
+ (logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
591
636
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
592
637
  "h1",
593
638
  {
@@ -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';
@@ -123,9 +126,21 @@ interface HeroStartupLaunchCtaProps {
123
126
  * OptixFlow image optimization configuration
124
127
  */
125
128
  optixFlowConfig?: OptixFlowConfig;
129
+ /**
130
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
131
+ */
132
+ logo?: LogoConfig;
133
+ /**
134
+ * Custom slot for logo (overrides logo prop)
135
+ */
136
+ logoSlot?: React.ReactNode;
137
+ /**
138
+ * Additional CSS classes for the logo container
139
+ */
140
+ logoClassName?: string;
126
141
  /** Optional Section ID */
127
142
  sectionId?: string;
128
143
  }
129
- declare function HeroStartupLaunchCta({ sectionId, badge, badgeIcon, badgeCard, badgeCardSlot, badgeClassName, heading, description, actions, actionsSlot, avatars, avatarsSlot, socialProofText, imageSrc, imageAlt, background, pattern, patternOpacity, patternClassName, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, socialProofClassName, imageClassName, optixFlowConfig, }: HeroStartupLaunchCtaProps): React.JSX.Element;
144
+ declare function HeroStartupLaunchCta({ sectionId, badge, badgeIcon, badgeCard, badgeCardSlot, badgeClassName, heading, description, actions, actionsSlot, avatars, avatarsSlot, socialProofText, imageSrc, imageAlt, background, pattern, patternOpacity, patternClassName, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, socialProofClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroStartupLaunchCtaProps): React.JSX.Element;
130
145
 
131
146
  export { HeroStartupLaunchCta, type HeroStartupLaunchCtaProps };
@@ -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';
@@ -123,9 +126,21 @@ interface HeroStartupLaunchCtaProps {
123
126
  * OptixFlow image optimization configuration
124
127
  */
125
128
  optixFlowConfig?: OptixFlowConfig;
129
+ /**
130
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
131
+ */
132
+ logo?: LogoConfig;
133
+ /**
134
+ * Custom slot for logo (overrides logo prop)
135
+ */
136
+ logoSlot?: React.ReactNode;
137
+ /**
138
+ * Additional CSS classes for the logo container
139
+ */
140
+ logoClassName?: string;
126
141
  /** Optional Section ID */
127
142
  sectionId?: string;
128
143
  }
129
- declare function HeroStartupLaunchCta({ sectionId, badge, badgeIcon, badgeCard, badgeCardSlot, badgeClassName, heading, description, actions, actionsSlot, avatars, avatarsSlot, socialProofText, imageSrc, imageAlt, background, pattern, patternOpacity, patternClassName, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, socialProofClassName, imageClassName, optixFlowConfig, }: HeroStartupLaunchCtaProps): React.JSX.Element;
144
+ declare function HeroStartupLaunchCta({ sectionId, badge, badgeIcon, badgeCard, badgeCardSlot, badgeClassName, heading, description, actions, actionsSlot, avatars, avatarsSlot, socialProofText, imageSrc, imageAlt, background, pattern, patternOpacity, patternClassName, className, containerClassName, spacing, contentClassName, headingClassName, descriptionClassName, actionsClassName, socialProofClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroStartupLaunchCtaProps): React.JSX.Element;
130
145
 
131
146
  export { HeroStartupLaunchCta, type HeroStartupLaunchCtaProps };