@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
@@ -7,6 +7,7 @@ var tailwindMerge = require('tailwind-merge');
7
7
  var pressable = require('@page-speed/pressable');
8
8
  var video = require('@page-speed/video');
9
9
  var jsxRuntime = require('react/jsx-runtime');
10
+ var img = require('@page-speed/img');
10
11
 
11
12
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
13
 
@@ -392,6 +393,47 @@ var Section = React__default.default.forwardRef(
392
393
  }
393
394
  );
394
395
  Section.displayName = "Section";
396
+ var SIZE_CLASSES = {
397
+ sm: "max-h-6 sm:max-h-7",
398
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
399
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
400
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
401
+ };
402
+ var BrandLogo = ({
403
+ logo,
404
+ logoSlot,
405
+ logoClassName,
406
+ size = "md",
407
+ optixFlowConfig
408
+ }) => {
409
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
410
+ if (!logo || !logo.src) return null;
411
+ const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
412
+ img.Img,
413
+ {
414
+ src: logo.src,
415
+ className: cn(
416
+ "w-auto object-contain",
417
+ SIZE_CLASSES[size],
418
+ logo.className
419
+ ),
420
+ alt: logo.alt || "Logo",
421
+ optixFlowConfig,
422
+ loading: "eager"
423
+ }
424
+ );
425
+ if (logo.url) {
426
+ return /* @__PURE__ */ jsxRuntime.jsx(
427
+ pressable.Pressable,
428
+ {
429
+ href: logo.url,
430
+ className: cn("flex items-center", logoClassName),
431
+ children: imgElement
432
+ }
433
+ );
434
+ }
435
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
436
+ };
395
437
  function HeroProductivityLauncherVideo({
396
438
  sectionId = "hero-productivity-launcher-video",
397
439
  heading,
@@ -411,7 +453,10 @@ function HeroProductivityLauncherVideo({
411
453
  className,
412
454
  contentClassName,
413
455
  headingClassName,
414
- descriptionClassName
456
+ descriptionClassName,
457
+ logo,
458
+ logoSlot,
459
+ logoClassName
415
460
  }) {
416
461
  const renderActions = React.useMemo(() => {
417
462
  if (actionsSlot) return actionsSlot;
@@ -482,25 +527,28 @@ function HeroProductivityLauncherVideo({
482
527
  children: [
483
528
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative z-20 max-w-204.5", contentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center pb-8", children: [
484
529
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-8 pb-16 pt-16", children: [
485
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-100 sm:max-w-135", children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
486
- "h1",
487
- {
488
- className: cn(
489
- "text-center text-4xl leading-tight font-semibold text-shadow-lg sm:text-5xl md:text-6xl text-balance text-white",
490
- headingClassName
491
- ),
492
- children: heading
493
- }
494
- ) : /* @__PURE__ */ jsxRuntime.jsx(
495
- "h1",
496
- {
497
- className: cn(
498
- "text-center text-4xl leading-tight font-semibold text-shadow-lg sm:text-5xl md:text-6xl text-balance text-white",
499
- headingClassName
500
- ),
501
- children: heading
502
- }
503
- )) }),
530
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-100 sm:max-w-135", children: [
531
+ (logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
532
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
533
+ "h1",
534
+ {
535
+ className: cn(
536
+ "text-center text-4xl leading-tight font-semibold text-shadow-lg sm:text-5xl md:text-6xl text-balance text-white",
537
+ headingClassName
538
+ ),
539
+ children: heading
540
+ }
541
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
542
+ "h1",
543
+ {
544
+ className: cn(
545
+ "text-center text-4xl leading-tight font-semibold text-shadow-lg sm:text-5xl md:text-6xl text-balance text-white",
546
+ headingClassName
547
+ ),
548
+ children: heading
549
+ }
550
+ ))
551
+ ] }),
504
552
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-90 md:max-w-full", children: description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
505
553
  "p",
506
554
  {
@@ -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, M as MediaItem } 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';
@@ -97,9 +100,21 @@ interface HeroProductivityLauncherVideoProps {
97
100
  * Additional CSS classes for the description
98
101
  */
99
102
  descriptionClassName?: string;
103
+ /**
104
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
105
+ */
106
+ logo?: LogoConfig;
107
+ /**
108
+ * Custom slot for logo (overrides logo prop)
109
+ */
110
+ logoSlot?: React.ReactNode;
111
+ /**
112
+ * Additional CSS classes for the logo container
113
+ */
114
+ logoClassName?: string;
100
115
  /** Optional Section ID */
101
116
  sectionId?: string;
102
117
  }
103
- declare function HeroProductivityLauncherVideo({ sectionId, heading, description, actions, actionsSlot, versionInfo, versionInfoSlot, backgroundVideo, videoSrc, videoSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, }: HeroProductivityLauncherVideoProps): React.JSX.Element;
118
+ declare function HeroProductivityLauncherVideo({ sectionId, heading, description, actions, actionsSlot, versionInfo, versionInfoSlot, backgroundVideo, videoSrc, videoSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, logo, logoSlot, logoClassName, }: HeroProductivityLauncherVideoProps): React.JSX.Element;
104
119
 
105
120
  export { HeroProductivityLauncherVideo, type HeroProductivityLauncherVideoProps };
@@ -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, M as MediaItem } 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';
@@ -97,9 +100,21 @@ interface HeroProductivityLauncherVideoProps {
97
100
  * Additional CSS classes for the description
98
101
  */
99
102
  descriptionClassName?: string;
103
+ /**
104
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
105
+ */
106
+ logo?: LogoConfig;
107
+ /**
108
+ * Custom slot for logo (overrides logo prop)
109
+ */
110
+ logoSlot?: React.ReactNode;
111
+ /**
112
+ * Additional CSS classes for the logo container
113
+ */
114
+ logoClassName?: string;
100
115
  /** Optional Section ID */
101
116
  sectionId?: string;
102
117
  }
103
- declare function HeroProductivityLauncherVideo({ sectionId, heading, description, actions, actionsSlot, versionInfo, versionInfoSlot, backgroundVideo, videoSrc, videoSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, }: HeroProductivityLauncherVideoProps): React.JSX.Element;
118
+ declare function HeroProductivityLauncherVideo({ sectionId, heading, description, actions, actionsSlot, versionInfo, versionInfoSlot, backgroundVideo, videoSrc, videoSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, logo, logoSlot, logoClassName, }: HeroProductivityLauncherVideoProps): React.JSX.Element;
104
119
 
105
120
  export { HeroProductivityLauncherVideo, type HeroProductivityLauncherVideoProps };
@@ -5,6 +5,7 @@ import { twMerge } from 'tailwind-merge';
5
5
  import { Pressable } from '@page-speed/pressable';
6
6
  import { Video } from '@page-speed/video';
7
7
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
+ import { Img } from '@page-speed/img';
8
9
 
9
10
  // components/blocks/hero/hero-productivity-launcher-video.tsx
10
11
  function cn(...inputs) {
@@ -386,6 +387,47 @@ var Section = React.forwardRef(
386
387
  }
387
388
  );
388
389
  Section.displayName = "Section";
390
+ var SIZE_CLASSES = {
391
+ sm: "max-h-6 sm:max-h-7",
392
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
393
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
394
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
395
+ };
396
+ var BrandLogo = ({
397
+ logo,
398
+ logoSlot,
399
+ logoClassName,
400
+ size = "md",
401
+ optixFlowConfig
402
+ }) => {
403
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
404
+ if (!logo || !logo.src) return null;
405
+ const imgElement = /* @__PURE__ */ jsx(
406
+ Img,
407
+ {
408
+ src: logo.src,
409
+ className: cn(
410
+ "w-auto object-contain",
411
+ SIZE_CLASSES[size],
412
+ logo.className
413
+ ),
414
+ alt: logo.alt || "Logo",
415
+ optixFlowConfig,
416
+ loading: "eager"
417
+ }
418
+ );
419
+ if (logo.url) {
420
+ return /* @__PURE__ */ jsx(
421
+ Pressable,
422
+ {
423
+ href: logo.url,
424
+ className: cn("flex items-center", logoClassName),
425
+ children: imgElement
426
+ }
427
+ );
428
+ }
429
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
430
+ };
389
431
  function HeroProductivityLauncherVideo({
390
432
  sectionId = "hero-productivity-launcher-video",
391
433
  heading,
@@ -405,7 +447,10 @@ function HeroProductivityLauncherVideo({
405
447
  className,
406
448
  contentClassName,
407
449
  headingClassName,
408
- descriptionClassName
450
+ descriptionClassName,
451
+ logo,
452
+ logoSlot,
453
+ logoClassName
409
454
  }) {
410
455
  const renderActions = useMemo(() => {
411
456
  if (actionsSlot) return actionsSlot;
@@ -476,25 +521,28 @@ function HeroProductivityLauncherVideo({
476
521
  children: [
477
522
  /* @__PURE__ */ jsx("div", { className: cn("relative z-20 max-w-204.5", contentClassName), children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center pb-8", children: [
478
523
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-8 pb-16 pt-16", children: [
479
- /* @__PURE__ */ jsx("div", { className: "max-w-100 sm:max-w-135", children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
480
- "h1",
481
- {
482
- className: cn(
483
- "text-center text-4xl leading-tight font-semibold text-shadow-lg sm:text-5xl md:text-6xl text-balance text-white",
484
- headingClassName
485
- ),
486
- children: heading
487
- }
488
- ) : /* @__PURE__ */ jsx(
489
- "h1",
490
- {
491
- className: cn(
492
- "text-center text-4xl leading-tight font-semibold text-shadow-lg sm:text-5xl md:text-6xl text-balance text-white",
493
- headingClassName
494
- ),
495
- children: heading
496
- }
497
- )) }),
524
+ /* @__PURE__ */ jsxs("div", { className: "max-w-100 sm:max-w-135", children: [
525
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
526
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
527
+ "h1",
528
+ {
529
+ className: cn(
530
+ "text-center text-4xl leading-tight font-semibold text-shadow-lg sm:text-5xl md:text-6xl text-balance text-white",
531
+ headingClassName
532
+ ),
533
+ children: heading
534
+ }
535
+ ) : /* @__PURE__ */ jsx(
536
+ "h1",
537
+ {
538
+ className: cn(
539
+ "text-center text-4xl leading-tight font-semibold text-shadow-lg sm:text-5xl md:text-6xl text-balance text-white",
540
+ headingClassName
541
+ ),
542
+ children: heading
543
+ }
544
+ ))
545
+ ] }),
498
546
  /* @__PURE__ */ jsx("div", { className: "max-w-90 md:max-w-full", children: description && (typeof description === "string" ? /* @__PURE__ */ jsx(
499
547
  "p",
500
548
  {
@@ -424,6 +424,47 @@ var Section = React4__namespace.default.forwardRef(
424
424
  }
425
425
  );
426
426
  Section.displayName = "Section";
427
+ var SIZE_CLASSES = {
428
+ sm: "max-h-6 sm:max-h-7",
429
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
430
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
431
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
432
+ };
433
+ var BrandLogo = ({
434
+ logo,
435
+ logoSlot,
436
+ logoClassName,
437
+ size = "md",
438
+ optixFlowConfig
439
+ }) => {
440
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
441
+ if (!logo || !logo.src) return null;
442
+ const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
443
+ img.Img,
444
+ {
445
+ src: logo.src,
446
+ className: cn(
447
+ "w-auto object-contain",
448
+ SIZE_CLASSES[size],
449
+ logo.className
450
+ ),
451
+ alt: logo.alt || "Logo",
452
+ optixFlowConfig,
453
+ loading: "eager"
454
+ }
455
+ );
456
+ if (logo.url) {
457
+ return /* @__PURE__ */ jsxRuntime.jsx(
458
+ pressable.Pressable,
459
+ {
460
+ href: logo.url,
461
+ className: cn("flex items-center", logoClassName),
462
+ children: imgElement
463
+ }
464
+ );
465
+ }
466
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
467
+ };
427
468
  var DEFAULT_FORM_FIELDS = [
428
469
  {
429
470
  name: "email",
@@ -462,7 +503,10 @@ function HeroSaasDashboardPreview({
462
503
  headingClassName,
463
504
  descriptionClassName,
464
505
  previewClassName,
465
- optixFlowConfig
506
+ optixFlowConfig,
507
+ logo,
508
+ logoSlot,
509
+ logoClassName
466
510
  }) {
467
511
  const {
468
512
  uploadTokens,
@@ -635,6 +679,7 @@ function HeroSaasDashboardPreview({
635
679
  ),
636
680
  children: [
637
681
  renderBadge,
682
+ (logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
638
683
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
639
684
  "h1",
640
685
  {
@@ -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';
@@ -125,9 +128,21 @@ interface HeroSaasDashboardPreviewProps {
125
128
  * OptixFlow image optimization configuration
126
129
  */
127
130
  optixFlowConfig?: OptixFlowConfig;
131
+ /**
132
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
133
+ */
134
+ logo?: LogoConfig;
135
+ /**
136
+ * Custom slot for logo (overrides logo prop)
137
+ */
138
+ logoSlot?: React.ReactNode;
139
+ /**
140
+ * Additional CSS classes for the logo container
141
+ */
142
+ logoClassName?: string;
128
143
  /** Optional Section ID */
129
144
  sectionId?: string;
130
145
  }
131
- declare function HeroSaasDashboardPreview({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, browserPreview, browserPreviewSlot, background, containerClassName, spacing, pattern, patternOpacity, className, headerClassName, headingClassName, descriptionClassName, previewClassName, optixFlowConfig, }: HeroSaasDashboardPreviewProps): React.JSX.Element;
146
+ declare function HeroSaasDashboardPreview({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, browserPreview, browserPreviewSlot, background, containerClassName, spacing, pattern, patternOpacity, className, headerClassName, headingClassName, descriptionClassName, previewClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroSaasDashboardPreviewProps): React.JSX.Element;
132
147
 
133
148
  export { HeroSaasDashboardPreview, type HeroSaasDashboardPreviewProps };
@@ -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';
@@ -125,9 +128,21 @@ interface HeroSaasDashboardPreviewProps {
125
128
  * OptixFlow image optimization configuration
126
129
  */
127
130
  optixFlowConfig?: OptixFlowConfig;
131
+ /**
132
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
133
+ */
134
+ logo?: LogoConfig;
135
+ /**
136
+ * Custom slot for logo (overrides logo prop)
137
+ */
138
+ logoSlot?: React.ReactNode;
139
+ /**
140
+ * Additional CSS classes for the logo container
141
+ */
142
+ logoClassName?: string;
128
143
  /** Optional Section ID */
129
144
  sectionId?: string;
130
145
  }
131
- declare function HeroSaasDashboardPreview({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, browserPreview, browserPreviewSlot, background, containerClassName, spacing, pattern, patternOpacity, className, headerClassName, headingClassName, descriptionClassName, previewClassName, optixFlowConfig, }: HeroSaasDashboardPreviewProps): React.JSX.Element;
146
+ declare function HeroSaasDashboardPreview({ sectionId, badgeText, badgeIcon, badgeSlot, heading, description, formFields, formConfig, onSubmit, onSuccess, onError, successMessage, buttonAction, helperText, formSlot, browserPreview, browserPreviewSlot, background, containerClassName, spacing, pattern, patternOpacity, className, headerClassName, headingClassName, descriptionClassName, previewClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroSaasDashboardPreviewProps): React.JSX.Element;
132
147
 
133
148
  export { HeroSaasDashboardPreview, type HeroSaasDashboardPreviewProps };
@@ -403,6 +403,47 @@ var Section = React4__default.forwardRef(
403
403
  }
404
404
  );
405
405
  Section.displayName = "Section";
406
+ var SIZE_CLASSES = {
407
+ sm: "max-h-6 sm:max-h-7",
408
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
409
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
410
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
411
+ };
412
+ var BrandLogo = ({
413
+ logo,
414
+ logoSlot,
415
+ logoClassName,
416
+ size = "md",
417
+ optixFlowConfig
418
+ }) => {
419
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
420
+ if (!logo || !logo.src) return null;
421
+ const imgElement = /* @__PURE__ */ jsx(
422
+ Img,
423
+ {
424
+ src: logo.src,
425
+ className: cn(
426
+ "w-auto object-contain",
427
+ SIZE_CLASSES[size],
428
+ logo.className
429
+ ),
430
+ alt: logo.alt || "Logo",
431
+ optixFlowConfig,
432
+ loading: "eager"
433
+ }
434
+ );
435
+ if (logo.url) {
436
+ return /* @__PURE__ */ jsx(
437
+ Pressable,
438
+ {
439
+ href: logo.url,
440
+ className: cn("flex items-center", logoClassName),
441
+ children: imgElement
442
+ }
443
+ );
444
+ }
445
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
446
+ };
406
447
  var DEFAULT_FORM_FIELDS = [
407
448
  {
408
449
  name: "email",
@@ -441,7 +482,10 @@ function HeroSaasDashboardPreview({
441
482
  headingClassName,
442
483
  descriptionClassName,
443
484
  previewClassName,
444
- optixFlowConfig
485
+ optixFlowConfig,
486
+ logo,
487
+ logoSlot,
488
+ logoClassName
445
489
  }) {
446
490
  const {
447
491
  uploadTokens,
@@ -614,6 +658,7 @@ function HeroSaasDashboardPreview({
614
658
  ),
615
659
  children: [
616
660
  renderBadge,
661
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
617
662
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
618
663
  "h1",
619
664
  {
@@ -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 HeroSharedInboxLayered({
474
515
  sectionId = "hero-shared-inbox-layered",
475
516
  eyebrow,
@@ -492,7 +533,10 @@ function HeroSharedInboxLayered({
492
533
  descriptionClassName,
493
534
  imagesClassName,
494
535
  optixFlowConfig,
495
- patternClassName
536
+ patternClassName,
537
+ logo,
538
+ logoSlot,
539
+ logoClassName
496
540
  }) {
497
541
  const renderLayeredImages = React.useMemo(() => {
498
542
  if (layeredImagesSlot) return layeredImagesSlot;
@@ -563,6 +607,7 @@ function HeroSharedInboxLayered({
563
607
  children: eyebrow
564
608
  }
565
609
  ) : eyebrow),
610
+ (logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
566
611
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
567
612
  "h1",
568
613
  {
@@ -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';
@@ -100,9 +103,21 @@ interface HeroSharedInboxLayeredProps {
100
103
  * Additional CSS classes for the actions container
101
104
  */
102
105
  actionsClassName?: string;
106
+ /**
107
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
108
+ */
109
+ logo?: LogoConfig;
110
+ /**
111
+ * Custom slot for logo (overrides logo prop)
112
+ */
113
+ logoSlot?: React.ReactNode;
114
+ /**
115
+ * Additional CSS classes for the logo container
116
+ */
117
+ logoClassName?: string;
103
118
  /** Optional Section ID */
104
119
  sectionId?: string;
105
120
  }
106
- declare function HeroSharedInboxLayered({ sectionId, eyebrow, eyebrowClassName, heading, description, layeredImages, layeredImagesSlot, background, actions, actionsSlot, actionsClassName, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imagesClassName, optixFlowConfig, patternClassName, }: HeroSharedInboxLayeredProps): React.JSX.Element;
121
+ declare function HeroSharedInboxLayered({ sectionId, eyebrow, eyebrowClassName, heading, description, layeredImages, layeredImagesSlot, background, actions, actionsSlot, actionsClassName, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imagesClassName, optixFlowConfig, patternClassName, logo, logoSlot, logoClassName, }: HeroSharedInboxLayeredProps): React.JSX.Element;
107
122
 
108
123
  export { HeroSharedInboxLayered, type HeroSharedInboxLayeredProps };
@@ -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';
@@ -100,9 +103,21 @@ interface HeroSharedInboxLayeredProps {
100
103
  * Additional CSS classes for the actions container
101
104
  */
102
105
  actionsClassName?: string;
106
+ /**
107
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
108
+ */
109
+ logo?: LogoConfig;
110
+ /**
111
+ * Custom slot for logo (overrides logo prop)
112
+ */
113
+ logoSlot?: React.ReactNode;
114
+ /**
115
+ * Additional CSS classes for the logo container
116
+ */
117
+ logoClassName?: string;
103
118
  /** Optional Section ID */
104
119
  sectionId?: string;
105
120
  }
106
- declare function HeroSharedInboxLayered({ sectionId, eyebrow, eyebrowClassName, heading, description, layeredImages, layeredImagesSlot, background, actions, actionsSlot, actionsClassName, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imagesClassName, optixFlowConfig, patternClassName, }: HeroSharedInboxLayeredProps): React.JSX.Element;
121
+ declare function HeroSharedInboxLayered({ sectionId, eyebrow, eyebrowClassName, heading, description, layeredImages, layeredImagesSlot, background, actions, actionsSlot, actionsClassName, containerClassName, spacing, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imagesClassName, optixFlowConfig, patternClassName, logo, logoSlot, logoClassName, }: HeroSharedInboxLayeredProps): React.JSX.Element;
107
122
 
108
123
  export { HeroSharedInboxLayered, type HeroSharedInboxLayeredProps };