@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
@@ -386,6 +386,47 @@ var Section = React.forwardRef(
386
386
  }
387
387
  );
388
388
  Section.displayName = "Section";
389
+ var SIZE_CLASSES = {
390
+ sm: "max-h-6 sm:max-h-7",
391
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
392
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
393
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
394
+ };
395
+ var BrandLogo = ({
396
+ logo,
397
+ logoSlot,
398
+ logoClassName,
399
+ size = "md",
400
+ optixFlowConfig
401
+ }) => {
402
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
403
+ if (!logo || !logo.src) return null;
404
+ const imgElement = /* @__PURE__ */ jsx(
405
+ Img,
406
+ {
407
+ src: logo.src,
408
+ className: cn(
409
+ "w-auto object-contain",
410
+ SIZE_CLASSES[size],
411
+ logo.className
412
+ ),
413
+ alt: logo.alt || "Logo",
414
+ optixFlowConfig,
415
+ loading: "eager"
416
+ }
417
+ );
418
+ if (logo.url) {
419
+ return /* @__PURE__ */ jsx(
420
+ Pressable,
421
+ {
422
+ href: logo.url,
423
+ className: cn("flex items-center", logoClassName),
424
+ children: imgElement
425
+ }
426
+ );
427
+ }
428
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
429
+ };
389
430
  function HeroCenteredImageGrid({
390
431
  sectionId = "hero-centered-image-grid",
391
432
  heading,
@@ -406,7 +447,10 @@ function HeroCenteredImageGrid({
406
447
  descriptionClassName,
407
448
  actionsClassName,
408
449
  imageGridClassName,
409
- optixFlowConfig
450
+ optixFlowConfig,
451
+ logo,
452
+ logoSlot,
453
+ logoClassName
410
454
  }) {
411
455
  const renderActions = useMemo(() => {
412
456
  if (actionsSlot) return actionsSlot;
@@ -472,6 +516,7 @@ function HeroCenteredImageGrid({
472
516
  ),
473
517
  children: [
474
518
  /* @__PURE__ */ jsxs("div", { className: "max-w-3xl", children: [
519
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
475
520
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
476
521
  "h1",
477
522
  {
@@ -392,6 +392,47 @@ var Section = React__default.default.forwardRef(
392
392
  }
393
393
  );
394
394
  Section.displayName = "Section";
395
+ var SIZE_CLASSES = {
396
+ sm: "max-h-6 sm:max-h-7",
397
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
398
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
399
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
400
+ };
401
+ var BrandLogo = ({
402
+ logo,
403
+ logoSlot,
404
+ logoClassName,
405
+ size = "md",
406
+ optixFlowConfig
407
+ }) => {
408
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
409
+ if (!logo || !logo.src) return null;
410
+ const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
411
+ img.Img,
412
+ {
413
+ src: logo.src,
414
+ className: cn(
415
+ "w-auto object-contain",
416
+ SIZE_CLASSES[size],
417
+ logo.className
418
+ ),
419
+ alt: logo.alt || "Logo",
420
+ optixFlowConfig,
421
+ loading: "eager"
422
+ }
423
+ );
424
+ if (logo.url) {
425
+ return /* @__PURE__ */ jsxRuntime.jsx(
426
+ pressable.Pressable,
427
+ {
428
+ href: logo.url,
429
+ className: cn("flex items-center", logoClassName),
430
+ children: imgElement
431
+ }
432
+ );
433
+ }
434
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
435
+ };
395
436
  function HeroCenteredScreenshot({
396
437
  sectionId = "hero-centered-screenshot",
397
438
  heading,
@@ -411,7 +452,10 @@ function HeroCenteredScreenshot({
411
452
  descriptionClassName,
412
453
  actionsClassName,
413
454
  imageClassName,
414
- optixFlowConfig
455
+ optixFlowConfig,
456
+ logo,
457
+ logoSlot,
458
+ logoClassName
415
459
  }) {
416
460
  const renderActions = React.useMemo(() => {
417
461
  if (actionsSlot) return actionsSlot;
@@ -457,6 +501,7 @@ function HeroCenteredScreenshot({
457
501
  {
458
502
  className: cn("z-10 items-center text-center", contentClassName),
459
503
  children: [
504
+ (logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
460
505
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
461
506
  "h1",
462
507
  {
@@ -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, 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 HeroCenteredScreenshotProps {
79
82
  * OptixFlow image optimization configuration
80
83
  */
81
84
  optixFlowConfig?: OptixFlowConfig;
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 HeroCenteredScreenshot({ sectionId, heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageClassName, optixFlowConfig, }: HeroCenteredScreenshotProps): React.JSX.Element;
100
+ declare function HeroCenteredScreenshot({ sectionId, heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroCenteredScreenshotProps): React.JSX.Element;
86
101
 
87
102
  export { HeroCenteredScreenshot, type HeroCenteredScreenshotProps };
@@ -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, 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 HeroCenteredScreenshotProps {
79
82
  * OptixFlow image optimization configuration
80
83
  */
81
84
  optixFlowConfig?: OptixFlowConfig;
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 HeroCenteredScreenshot({ sectionId, heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageClassName, optixFlowConfig, }: HeroCenteredScreenshotProps): React.JSX.Element;
100
+ declare function HeroCenteredScreenshot({ sectionId, heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroCenteredScreenshotProps): React.JSX.Element;
86
101
 
87
102
  export { HeroCenteredScreenshot, type HeroCenteredScreenshotProps };
@@ -386,6 +386,47 @@ var Section = React.forwardRef(
386
386
  }
387
387
  );
388
388
  Section.displayName = "Section";
389
+ var SIZE_CLASSES = {
390
+ sm: "max-h-6 sm:max-h-7",
391
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
392
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
393
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
394
+ };
395
+ var BrandLogo = ({
396
+ logo,
397
+ logoSlot,
398
+ logoClassName,
399
+ size = "md",
400
+ optixFlowConfig
401
+ }) => {
402
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
403
+ if (!logo || !logo.src) return null;
404
+ const imgElement = /* @__PURE__ */ jsx(
405
+ Img,
406
+ {
407
+ src: logo.src,
408
+ className: cn(
409
+ "w-auto object-contain",
410
+ SIZE_CLASSES[size],
411
+ logo.className
412
+ ),
413
+ alt: logo.alt || "Logo",
414
+ optixFlowConfig,
415
+ loading: "eager"
416
+ }
417
+ );
418
+ if (logo.url) {
419
+ return /* @__PURE__ */ jsx(
420
+ Pressable,
421
+ {
422
+ href: logo.url,
423
+ className: cn("flex items-center", logoClassName),
424
+ children: imgElement
425
+ }
426
+ );
427
+ }
428
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
429
+ };
389
430
  function HeroCenteredScreenshot({
390
431
  sectionId = "hero-centered-screenshot",
391
432
  heading,
@@ -405,7 +446,10 @@ function HeroCenteredScreenshot({
405
446
  descriptionClassName,
406
447
  actionsClassName,
407
448
  imageClassName,
408
- optixFlowConfig
449
+ optixFlowConfig,
450
+ logo,
451
+ logoSlot,
452
+ logoClassName
409
453
  }) {
410
454
  const renderActions = useMemo(() => {
411
455
  if (actionsSlot) return actionsSlot;
@@ -451,6 +495,7 @@ function HeroCenteredScreenshot({
451
495
  {
452
496
  className: cn("z-10 items-center text-center", contentClassName),
453
497
  children: [
498
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
454
499
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
455
500
  "h1",
456
501
  {
@@ -13,6 +13,7 @@ var classVarianceAuthority = require('class-variance-authority');
13
13
  var usePlatformFromUrl = require('@opensite/hooks/usePlatformFromUrl');
14
14
  var forms = require('@page-speed/forms');
15
15
  var integration = require('@page-speed/forms/integration');
16
+ var img = require('@page-speed/img');
16
17
 
17
18
  function _interopNamespace(e) {
18
19
  if (e && e.__esModule) return e;
@@ -547,6 +548,47 @@ var SocialLinkIcon = React4__namespace.forwardRef(
547
548
  }
548
549
  );
549
550
  SocialLinkIcon.displayName = "SocialLinkIcon";
551
+ var SIZE_CLASSES = {
552
+ sm: "max-h-6 sm:max-h-7",
553
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
554
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
555
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
556
+ };
557
+ var BrandLogo = ({
558
+ logo,
559
+ logoSlot,
560
+ logoClassName,
561
+ size = "md",
562
+ optixFlowConfig
563
+ }) => {
564
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
565
+ if (!logo || !logo.src) return null;
566
+ const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
567
+ img.Img,
568
+ {
569
+ src: logo.src,
570
+ className: cn(
571
+ "w-auto object-contain",
572
+ SIZE_CLASSES[size],
573
+ logo.className
574
+ ),
575
+ alt: logo.alt || "Logo",
576
+ optixFlowConfig,
577
+ loading: "eager"
578
+ }
579
+ );
580
+ if (logo.url) {
581
+ return /* @__PURE__ */ jsxRuntime.jsx(
582
+ pressable.Pressable,
583
+ {
584
+ href: logo.url,
585
+ className: cn("flex items-center", logoClassName),
586
+ children: imgElement
587
+ }
588
+ );
589
+ }
590
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
591
+ };
550
592
  var DEFAULT_FORM_FIELDS = [
551
593
  {
552
594
  name: "email",
@@ -626,7 +668,10 @@ function HeroComingSoonCountdown({
626
668
  descriptionClassName,
627
669
  countdownClassName,
628
670
  formClassName,
629
- socialLinksClassName
671
+ socialLinksClassName,
672
+ logo,
673
+ logoSlot,
674
+ logoClassName
630
675
  }) {
631
676
  const [timeLeft, setTimeLeft] = React4__namespace.useState(null);
632
677
  const {
@@ -779,6 +824,7 @@ function HeroComingSoonCountdown({
779
824
  badgeIcon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: badgeIcon, size: 16 }),
780
825
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: badgeText })
781
826
  ] }),
827
+ (logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
782
828
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
783
829
  "h1",
784
830
  {
@@ -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, j as SocialLinkItem } 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';
@@ -130,9 +133,21 @@ interface HeroComingSoonCountdownProps {
130
133
  * Additional CSS classes for the pattern overlay
131
134
  */
132
135
  patternClassName?: string;
136
+ /**
137
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
138
+ */
139
+ logo?: LogoConfig;
140
+ /**
141
+ * Custom slot for logo (overrides logo prop)
142
+ */
143
+ logoSlot?: React.ReactNode;
144
+ /**
145
+ * Additional CSS classes for the logo container
146
+ */
147
+ logoClassName?: string;
133
148
  /** Optional Section ID */
134
149
  sectionId?: string;
135
150
  }
136
- declare function HeroComingSoonCountdown({ sectionId, badgeIcon, badgeText, heading, description, countdownDate, countdownSlot, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, socialLinks, socialLinksSlot, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, className, badgeClassName, headingClassName, descriptionClassName, countdownClassName, formClassName, socialLinksClassName, }: HeroComingSoonCountdownProps): React.JSX.Element;
151
+ declare function HeroComingSoonCountdown({ sectionId, badgeIcon, badgeText, heading, description, countdownDate, countdownSlot, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, socialLinks, socialLinksSlot, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, className, badgeClassName, headingClassName, descriptionClassName, countdownClassName, formClassName, socialLinksClassName, logo, logoSlot, logoClassName, }: HeroComingSoonCountdownProps): React.JSX.Element;
137
152
 
138
153
  export { HeroComingSoonCountdown, type HeroComingSoonCountdownProps };
@@ -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, j as SocialLinkItem } 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';
@@ -130,9 +133,21 @@ interface HeroComingSoonCountdownProps {
130
133
  * Additional CSS classes for the pattern overlay
131
134
  */
132
135
  patternClassName?: string;
136
+ /**
137
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
138
+ */
139
+ logo?: LogoConfig;
140
+ /**
141
+ * Custom slot for logo (overrides logo prop)
142
+ */
143
+ logoSlot?: React.ReactNode;
144
+ /**
145
+ * Additional CSS classes for the logo container
146
+ */
147
+ logoClassName?: string;
133
148
  /** Optional Section ID */
134
149
  sectionId?: string;
135
150
  }
136
- declare function HeroComingSoonCountdown({ sectionId, badgeIcon, badgeText, heading, description, countdownDate, countdownSlot, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, socialLinks, socialLinksSlot, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, className, badgeClassName, headingClassName, descriptionClassName, countdownClassName, formClassName, socialLinksClassName, }: HeroComingSoonCountdownProps): React.JSX.Element;
151
+ declare function HeroComingSoonCountdown({ sectionId, badgeIcon, badgeText, heading, description, countdownDate, countdownSlot, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, socialLinks, socialLinksSlot, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, className, badgeClassName, headingClassName, descriptionClassName, countdownClassName, formClassName, socialLinksClassName, logo, logoSlot, logoClassName, }: HeroComingSoonCountdownProps): React.JSX.Element;
137
152
 
138
153
  export { HeroComingSoonCountdown, type HeroComingSoonCountdownProps };
@@ -12,6 +12,7 @@ import { cva } from 'class-variance-authority';
12
12
  import { usePlatformFromUrl } from '@opensite/hooks/usePlatformFromUrl';
13
13
  import { Form } from '@page-speed/forms';
14
14
  import { useFileUpload, useContactForm, DynamicFormField } from '@page-speed/forms/integration';
15
+ import { Img } from '@page-speed/img';
15
16
 
16
17
  // components/blocks/hero/hero-coming-soon-countdown.tsx
17
18
  function cn(...inputs) {
@@ -526,6 +527,47 @@ var SocialLinkIcon = React4.forwardRef(
526
527
  }
527
528
  );
528
529
  SocialLinkIcon.displayName = "SocialLinkIcon";
530
+ var SIZE_CLASSES = {
531
+ sm: "max-h-6 sm:max-h-7",
532
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
533
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
534
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
535
+ };
536
+ var BrandLogo = ({
537
+ logo,
538
+ logoSlot,
539
+ logoClassName,
540
+ size = "md",
541
+ optixFlowConfig
542
+ }) => {
543
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
544
+ if (!logo || !logo.src) return null;
545
+ const imgElement = /* @__PURE__ */ jsx(
546
+ Img,
547
+ {
548
+ src: logo.src,
549
+ className: cn(
550
+ "w-auto object-contain",
551
+ SIZE_CLASSES[size],
552
+ logo.className
553
+ ),
554
+ alt: logo.alt || "Logo",
555
+ optixFlowConfig,
556
+ loading: "eager"
557
+ }
558
+ );
559
+ if (logo.url) {
560
+ return /* @__PURE__ */ jsx(
561
+ Pressable,
562
+ {
563
+ href: logo.url,
564
+ className: cn("flex items-center", logoClassName),
565
+ children: imgElement
566
+ }
567
+ );
568
+ }
569
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
570
+ };
529
571
  var DEFAULT_FORM_FIELDS = [
530
572
  {
531
573
  name: "email",
@@ -605,7 +647,10 @@ function HeroComingSoonCountdown({
605
647
  descriptionClassName,
606
648
  countdownClassName,
607
649
  formClassName,
608
- socialLinksClassName
650
+ socialLinksClassName,
651
+ logo,
652
+ logoSlot,
653
+ logoClassName
609
654
  }) {
610
655
  const [timeLeft, setTimeLeft] = React4.useState(null);
611
656
  const {
@@ -758,6 +803,7 @@ function HeroComingSoonCountdown({
758
803
  badgeIcon && /* @__PURE__ */ jsx(DynamicIcon, { name: badgeIcon, size: 16 }),
759
804
  /* @__PURE__ */ jsx("span", { children: badgeText })
760
805
  ] }),
806
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4 flex justify-center", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
761
807
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
762
808
  "h1",
763
809
  {
@@ -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 HeroCommunitySurveyCta({
508
549
  sectionId = "hero-community-survey-cta",
509
550
  announcementPrimary,
@@ -529,7 +570,10 @@ function HeroCommunitySurveyCta({
529
570
  descriptionClassName,
530
571
  actionsClassName,
531
572
  imagesClassName,
532
- optixFlowConfig
573
+ optixFlowConfig,
574
+ logo,
575
+ logoSlot,
576
+ logoClassName
533
577
  }) {
534
578
  const renderAnnouncement = React.useMemo(() => {
535
579
  if (announcementSlot) return announcementSlot;
@@ -678,6 +722,7 @@ function HeroCommunitySurveyCta({
678
722
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative grid grid-cols-1 items-center gap-8 lg:grid-cols-2 lg:gap-12", children: [
679
723
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-start gap-6 md:gap-8 pt-8 md:pt-0", children: [
680
724
  renderAnnouncement,
725
+ (logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
681
726
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
682
727
  "h1",
683
728
  {
@@ -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';
@@ -103,9 +106,21 @@ interface HeroCommunitySurveyCtaProps {
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 HeroCommunitySurveyCta({ sectionId, announcementPrimary, announcementLinkText, announcementHref, announcementSlot, heading, description, actions, actionsSlot, mainImage, leftOverlayImage, rightOverlayImage, imagesSlot, background, containerClassName, spacing, pattern, patternOpacity, className, announcementClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, }: HeroCommunitySurveyCtaProps): React.JSX.Element;
124
+ declare function HeroCommunitySurveyCta({ sectionId, announcementPrimary, announcementLinkText, announcementHref, announcementSlot, heading, description, actions, actionsSlot, mainImage, leftOverlayImage, rightOverlayImage, imagesSlot, background, containerClassName, spacing, pattern, patternOpacity, className, announcementClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroCommunitySurveyCtaProps): React.JSX.Element;
110
125
 
111
126
  export { HeroCommunitySurveyCta, type HeroCommunitySurveyCtaProps };
@@ -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';
@@ -103,9 +106,21 @@ interface HeroCommunitySurveyCtaProps {
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 HeroCommunitySurveyCta({ sectionId, announcementPrimary, announcementLinkText, announcementHref, announcementSlot, heading, description, actions, actionsSlot, mainImage, leftOverlayImage, rightOverlayImage, imagesSlot, background, containerClassName, spacing, pattern, patternOpacity, className, announcementClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, }: HeroCommunitySurveyCtaProps): React.JSX.Element;
124
+ declare function HeroCommunitySurveyCta({ sectionId, announcementPrimary, announcementLinkText, announcementHref, announcementSlot, heading, description, actions, actionsSlot, mainImage, leftOverlayImage, rightOverlayImage, imagesSlot, background, containerClassName, spacing, pattern, patternOpacity, className, announcementClassName, headingClassName, descriptionClassName, actionsClassName, imagesClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroCommunitySurveyCtaProps): React.JSX.Element;
110
125
 
111
126
  export { HeroCommunitySurveyCta, type HeroCommunitySurveyCtaProps };