@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
@@ -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';
@@ -78,9 +81,21 @@ interface HeroTaskTimerAnimatedProps {
78
81
  * Additional CSS classes for the description
79
82
  */
80
83
  descriptionClassName?: string;
84
+ /**
85
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
86
+ */
87
+ logo?: LogoConfig;
88
+ /**
89
+ * Custom slot for logo (overrides logo prop)
90
+ */
91
+ logoSlot?: React.ReactNode;
92
+ /**
93
+ * Additional CSS classes for the logo container
94
+ */
95
+ logoClassName?: string;
81
96
  /** Optional Section ID */
82
97
  sectionId?: string;
83
98
  }
84
- declare function HeroTaskTimerAnimated({ sectionId, heading, description, descriptionClassName, actions, actionsSlot, actionsClassName, images, imagesSlot, background, pattern, patternOpacity, className, spacing, containerClassName, headerClassName, headingClassName, imagesClassName, optixFlowConfig, }: HeroTaskTimerAnimatedProps): React.JSX.Element;
99
+ declare function HeroTaskTimerAnimated({ sectionId, heading, description, descriptionClassName, actions, actionsSlot, actionsClassName, images, imagesSlot, background, pattern, patternOpacity, className, spacing, containerClassName, headerClassName, headingClassName, imagesClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroTaskTimerAnimatedProps): React.JSX.Element;
85
100
 
86
101
  export { HeroTaskTimerAnimated, type HeroTaskTimerAnimatedProps };
@@ -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';
@@ -78,9 +81,21 @@ interface HeroTaskTimerAnimatedProps {
78
81
  * Additional CSS classes for the description
79
82
  */
80
83
  descriptionClassName?: string;
84
+ /**
85
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
86
+ */
87
+ logo?: LogoConfig;
88
+ /**
89
+ * Custom slot for logo (overrides logo prop)
90
+ */
91
+ logoSlot?: React.ReactNode;
92
+ /**
93
+ * Additional CSS classes for the logo container
94
+ */
95
+ logoClassName?: string;
81
96
  /** Optional Section ID */
82
97
  sectionId?: string;
83
98
  }
84
- declare function HeroTaskTimerAnimated({ sectionId, heading, description, descriptionClassName, actions, actionsSlot, actionsClassName, images, imagesSlot, background, pattern, patternOpacity, className, spacing, containerClassName, headerClassName, headingClassName, imagesClassName, optixFlowConfig, }: HeroTaskTimerAnimatedProps): React.JSX.Element;
99
+ declare function HeroTaskTimerAnimated({ sectionId, heading, description, descriptionClassName, actions, actionsSlot, actionsClassName, images, imagesSlot, background, pattern, patternOpacity, className, spacing, containerClassName, headerClassName, headingClassName, imagesClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroTaskTimerAnimatedProps): React.JSX.Element;
85
100
 
86
101
  export { HeroTaskTimerAnimated, type HeroTaskTimerAnimatedProps };
@@ -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__ */ jsx(Fragment, { children: logoSlot });
487
+ if (!logo || !logo.src) return null;
488
+ const imgElement = /* @__PURE__ */ jsx(
489
+ 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__ */ jsx(
504
+ Pressable,
505
+ {
506
+ href: logo.url,
507
+ className: cn("flex items-center", logoClassName),
508
+ children: imgElement
509
+ }
510
+ );
511
+ }
512
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
513
+ };
473
514
  function HeroTaskTimerAnimated({
474
515
  sectionId = "hero-task-timer-animated",
475
516
  heading,
@@ -489,7 +530,10 @@ function HeroTaskTimerAnimated({
489
530
  headerClassName,
490
531
  headingClassName,
491
532
  imagesClassName,
492
- optixFlowConfig
533
+ optixFlowConfig,
534
+ logo,
535
+ logoSlot,
536
+ logoClassName
493
537
  }) {
494
538
  const renderImages = useMemo(() => {
495
539
  if (imagesSlot) return imagesSlot;
@@ -549,6 +593,7 @@ function HeroTaskTimerAnimated({
549
593
  headerClassName
550
594
  ),
551
595
  children: [
596
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
552
597
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
553
598
  "h1",
554
599
  {
@@ -542,6 +542,47 @@ function ActionComponent({ action }) {
542
542
  }
543
543
  );
544
544
  }
545
+ var SIZE_CLASSES = {
546
+ sm: "max-h-6 sm:max-h-7",
547
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
548
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
549
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
550
+ };
551
+ var BrandLogo = ({
552
+ logo,
553
+ logoSlot,
554
+ logoClassName,
555
+ size = "md",
556
+ optixFlowConfig
557
+ }) => {
558
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
559
+ if (!logo || !logo.src) return null;
560
+ const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
561
+ img.Img,
562
+ {
563
+ src: logo.src,
564
+ className: cn(
565
+ "w-auto object-contain",
566
+ SIZE_CLASSES[size],
567
+ logo.className
568
+ ),
569
+ alt: logo.alt || "Logo",
570
+ optixFlowConfig,
571
+ loading: "eager"
572
+ }
573
+ );
574
+ if (logo.url) {
575
+ return /* @__PURE__ */ jsxRuntime.jsx(
576
+ pressable.Pressable,
577
+ {
578
+ href: logo.url,
579
+ className: cn("flex items-center", logoClassName),
580
+ children: imgElement
581
+ }
582
+ );
583
+ }
584
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
585
+ };
545
586
  function HeroTestimonialImageGrid({
546
587
  sectionId = "hero-testimonial-image-grid",
547
588
  heading,
@@ -561,7 +602,10 @@ function HeroTestimonialImageGrid({
561
602
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
562
603
  headingClassName,
563
604
  descriptionClassName,
564
- optixFlowConfig
605
+ optixFlowConfig,
606
+ logo,
607
+ logoSlot,
608
+ logoClassName
565
609
  }) {
566
610
  const renderTestimonial = React.useMemo(() => {
567
611
  if (testimonialSlot) return testimonialSlot;
@@ -620,6 +664,7 @@ function HeroTestimonialImageGrid({
620
664
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-10 md:pt-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-8 md:flex-row", children: [
621
665
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1", children: [
622
666
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 lg:gap-8", children: [
667
+ (logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
623
668
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
624
669
  "h1",
625
670
  {
@@ -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 } 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,6 +126,18 @@ interface HeroTestimonialImageGridProps {
123
126
  apiKey: string;
124
127
  compression?: number;
125
128
  };
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
  }
@@ -130,6 +145,6 @@ interface HeroTestimonialImageGridProps {
130
145
  * HeroTestimonialImageGrid - A hero layout with heading, description, testimonial,
131
146
  * and a creative 2x2 image grid. Ideal for showcasing product features or portfolio work.
132
147
  */
133
- declare function HeroTestimonialImageGrid({ sectionId, heading, description, actions, actionsSlot, actionsClassName, testimonial, testimonialSlot, gridImages, imagesSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, optixFlowConfig, }: HeroTestimonialImageGridProps): React.JSX.Element;
148
+ declare function HeroTestimonialImageGrid({ sectionId, heading, description, actions, actionsSlot, actionsClassName, testimonial, testimonialSlot, gridImages, imagesSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroTestimonialImageGridProps): React.JSX.Element;
134
149
 
135
150
  export { HeroTestimonialImageGrid, type HeroTestimonialImageGridProps };
@@ -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 } 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,6 +126,18 @@ interface HeroTestimonialImageGridProps {
123
126
  apiKey: string;
124
127
  compression?: number;
125
128
  };
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
  }
@@ -130,6 +145,6 @@ interface HeroTestimonialImageGridProps {
130
145
  * HeroTestimonialImageGrid - A hero layout with heading, description, testimonial,
131
146
  * and a creative 2x2 image grid. Ideal for showcasing product features or portfolio work.
132
147
  */
133
- declare function HeroTestimonialImageGrid({ sectionId, heading, description, actions, actionsSlot, actionsClassName, testimonial, testimonialSlot, gridImages, imagesSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, optixFlowConfig, }: HeroTestimonialImageGridProps): React.JSX.Element;
148
+ declare function HeroTestimonialImageGrid({ sectionId, heading, description, actions, actionsSlot, actionsClassName, testimonial, testimonialSlot, gridImages, imagesSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroTestimonialImageGridProps): React.JSX.Element;
134
149
 
135
150
  export { HeroTestimonialImageGrid, type HeroTestimonialImageGridProps };
@@ -516,6 +516,47 @@ function ActionComponent({ action }) {
516
516
  }
517
517
  );
518
518
  }
519
+ var SIZE_CLASSES = {
520
+ sm: "max-h-6 sm:max-h-7",
521
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
522
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
523
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
524
+ };
525
+ var BrandLogo = ({
526
+ logo,
527
+ logoSlot,
528
+ logoClassName,
529
+ size = "md",
530
+ optixFlowConfig
531
+ }) => {
532
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
533
+ if (!logo || !logo.src) return null;
534
+ const imgElement = /* @__PURE__ */ jsx(
535
+ Img,
536
+ {
537
+ src: logo.src,
538
+ className: cn(
539
+ "w-auto object-contain",
540
+ SIZE_CLASSES[size],
541
+ logo.className
542
+ ),
543
+ alt: logo.alt || "Logo",
544
+ optixFlowConfig,
545
+ loading: "eager"
546
+ }
547
+ );
548
+ if (logo.url) {
549
+ return /* @__PURE__ */ jsx(
550
+ Pressable,
551
+ {
552
+ href: logo.url,
553
+ className: cn("flex items-center", logoClassName),
554
+ children: imgElement
555
+ }
556
+ );
557
+ }
558
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
559
+ };
519
560
  function HeroTestimonialImageGrid({
520
561
  sectionId = "hero-testimonial-image-grid",
521
562
  heading,
@@ -535,7 +576,10 @@ function HeroTestimonialImageGrid({
535
576
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
536
577
  headingClassName,
537
578
  descriptionClassName,
538
- optixFlowConfig
579
+ optixFlowConfig,
580
+ logo,
581
+ logoSlot,
582
+ logoClassName
539
583
  }) {
540
584
  const renderTestimonial = useMemo(() => {
541
585
  if (testimonialSlot) return testimonialSlot;
@@ -594,6 +638,7 @@ function HeroTestimonialImageGrid({
594
638
  children: /* @__PURE__ */ jsx("div", { className: "pt-10 md:pt-0", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-8 md:flex-row", children: [
595
639
  /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
596
640
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 lg:gap-8", children: [
641
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
597
642
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
598
643
  "h1",
599
644
  {
@@ -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 HeroTherapyTestimonialGrid({
474
515
  sectionId = "hero-therapy-testimonial-grid",
475
516
  heading,
@@ -490,7 +531,10 @@ function HeroTherapyTestimonialGrid({
490
531
  headerClassName,
491
532
  headingClassName,
492
533
  descriptionClassName,
493
- optixFlowConfig
534
+ optixFlowConfig,
535
+ logo,
536
+ logoSlot,
537
+ logoClassName
494
538
  }) {
495
539
  const renderTestimonial = React.useMemo(() => {
496
540
  if (testimonialSlot) return testimonialSlot;
@@ -580,6 +624,7 @@ function HeroTherapyTestimonialGrid({
580
624
  headerClassName
581
625
  ),
582
626
  children: [
627
+ (logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
583
628
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
584
629
  "h1",
585
630
  {
@@ -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';
@@ -96,9 +99,21 @@ interface HeroTherapyTestimonialGridProps {
96
99
  * Additional CSS classes for the actions container
97
100
  */
98
101
  actionsClassName?: string;
102
+ /**
103
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
104
+ */
105
+ logo?: LogoConfig;
106
+ /**
107
+ * Custom slot for logo (overrides logo prop)
108
+ */
109
+ logoSlot?: React.ReactNode;
110
+ /**
111
+ * Additional CSS classes for the logo container
112
+ */
113
+ logoClassName?: string;
99
114
  /** Optional Section ID */
100
115
  sectionId?: string;
101
116
  }
102
- declare function HeroTherapyTestimonialGrid({ sectionId, heading, description, actions, actionsSlot, actionsClassName, images, imagesSlot, testimonial, testimonialSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headerClassName, headingClassName, descriptionClassName, optixFlowConfig, }: HeroTherapyTestimonialGridProps): React.JSX.Element;
117
+ declare function HeroTherapyTestimonialGrid({ sectionId, heading, description, actions, actionsSlot, actionsClassName, images, imagesSlot, testimonial, testimonialSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headerClassName, headingClassName, descriptionClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroTherapyTestimonialGridProps): React.JSX.Element;
103
118
 
104
119
  export { HeroTherapyTestimonialGrid, type HeroTherapyTestimonialGridProps };
@@ -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';
@@ -96,9 +99,21 @@ interface HeroTherapyTestimonialGridProps {
96
99
  * Additional CSS classes for the actions container
97
100
  */
98
101
  actionsClassName?: string;
102
+ /**
103
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
104
+ */
105
+ logo?: LogoConfig;
106
+ /**
107
+ * Custom slot for logo (overrides logo prop)
108
+ */
109
+ logoSlot?: React.ReactNode;
110
+ /**
111
+ * Additional CSS classes for the logo container
112
+ */
113
+ logoClassName?: string;
99
114
  /** Optional Section ID */
100
115
  sectionId?: string;
101
116
  }
102
- declare function HeroTherapyTestimonialGrid({ sectionId, heading, description, actions, actionsSlot, actionsClassName, images, imagesSlot, testimonial, testimonialSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headerClassName, headingClassName, descriptionClassName, optixFlowConfig, }: HeroTherapyTestimonialGridProps): React.JSX.Element;
117
+ declare function HeroTherapyTestimonialGrid({ sectionId, heading, description, actions, actionsSlot, actionsClassName, images, imagesSlot, testimonial, testimonialSlot, background, spacing, pattern, patternOpacity, className, containerClassName, headerClassName, headingClassName, descriptionClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroTherapyTestimonialGridProps): React.JSX.Element;
103
118
 
104
119
  export { HeroTherapyTestimonialGrid, type HeroTherapyTestimonialGridProps };
@@ -464,6 +464,47 @@ function ActionComponent({ action }) {
464
464
  }
465
465
  );
466
466
  }
467
+ var SIZE_CLASSES = {
468
+ sm: "max-h-6 sm:max-h-7",
469
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
470
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
471
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
472
+ };
473
+ var BrandLogo = ({
474
+ logo,
475
+ logoSlot,
476
+ logoClassName,
477
+ size = "md",
478
+ optixFlowConfig
479
+ }) => {
480
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
481
+ if (!logo || !logo.src) return null;
482
+ const imgElement = /* @__PURE__ */ jsx(
483
+ Img,
484
+ {
485
+ src: logo.src,
486
+ className: cn(
487
+ "w-auto object-contain",
488
+ SIZE_CLASSES[size],
489
+ logo.className
490
+ ),
491
+ alt: logo.alt || "Logo",
492
+ optixFlowConfig,
493
+ loading: "eager"
494
+ }
495
+ );
496
+ if (logo.url) {
497
+ return /* @__PURE__ */ jsx(
498
+ Pressable,
499
+ {
500
+ href: logo.url,
501
+ className: cn("flex items-center", logoClassName),
502
+ children: imgElement
503
+ }
504
+ );
505
+ }
506
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
507
+ };
467
508
  function HeroTherapyTestimonialGrid({
468
509
  sectionId = "hero-therapy-testimonial-grid",
469
510
  heading,
@@ -484,7 +525,10 @@ function HeroTherapyTestimonialGrid({
484
525
  headerClassName,
485
526
  headingClassName,
486
527
  descriptionClassName,
487
- optixFlowConfig
528
+ optixFlowConfig,
529
+ logo,
530
+ logoSlot,
531
+ logoClassName
488
532
  }) {
489
533
  const renderTestimonial = useMemo(() => {
490
534
  if (testimonialSlot) return testimonialSlot;
@@ -574,6 +618,7 @@ function HeroTherapyTestimonialGrid({
574
618
  headerClassName
575
619
  ),
576
620
  children: [
621
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
577
622
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
578
623
  "h1",
579
624
  {
@@ -499,6 +499,7 @@ function HeroUiLibraryShowcase({
499
499
  sectionId = "hero-ui-library-showcase",
500
500
  logo,
501
501
  logoSlot,
502
+ logoClassName,
502
503
  heading,
503
504
  description,
504
505
  actions,
@@ -526,11 +527,11 @@ function HeroUiLibraryShowcase({
526
527
  {
527
528
  src: logo.src,
528
529
  alt: logo.alt,
529
- className: cn("h-11 w-fit", logo.className),
530
+ className: cn("h-11 w-fit", logo.className, logoClassName),
530
531
  optixFlowConfig
531
532
  }
532
533
  );
533
- }, [logoSlot, logo, optixFlowConfig]);
534
+ }, [logoSlot, logo, logoClassName, optixFlowConfig]);
534
535
  const renderImage = React.useMemo(() => {
535
536
  if (imageSlot) return imageSlot;
536
537
  if (!image) return null;
@@ -1,20 +1,27 @@
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 { I as ImageItem, A as ActionConfig, O as OptixFlowConfig } from './blocks-DyouPohq.cjs';
3
+ import { L as LogoConfig } from './types-mWZcgKth.cjs';
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';
8
11
 
9
12
  interface HeroUiLibraryShowcaseProps {
10
13
  /**
11
- * Logo image configuration
14
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
12
15
  */
13
- logo?: ImageItem;
16
+ logo?: LogoConfig;
14
17
  /**
15
18
  * Custom slot for logo (overrides logo prop)
16
19
  */
17
20
  logoSlot?: React.ReactNode;
21
+ /**
22
+ * Additional CSS classes for the logo container
23
+ */
24
+ logoClassName?: string;
18
25
  /**
19
26
  * Main heading content
20
27
  */
@@ -42,7 +49,8 @@ interface HeroUiLibraryShowcaseProps {
42
49
  /**
43
50
  * Custom slot for image (overrides image prop)
44
51
  */
45
- imageSlot?: React.ReactNode; /**
52
+ imageSlot?: React.ReactNode;
53
+ /**
46
54
  * Background style for the section
47
55
  */
48
56
  background?: SectionBackground;
@@ -89,6 +97,6 @@ interface HeroUiLibraryShowcaseProps {
89
97
  /** Optional Section ID */
90
98
  sectionId?: string;
91
99
  }
92
- declare function HeroUiLibraryShowcase({ sectionId, logo, logoSlot, heading, description, actions, actionsSlot, actionsClassName, image, imageSlot, background, pattern, patternOpacity, className, containerClassName, spacing, headerClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, }: HeroUiLibraryShowcaseProps): React.JSX.Element;
100
+ declare function HeroUiLibraryShowcase({ sectionId, logo, logoSlot, logoClassName, heading, description, actions, actionsSlot, actionsClassName, image, imageSlot, background, pattern, patternOpacity, className, containerClassName, spacing, headerClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, }: HeroUiLibraryShowcaseProps): React.JSX.Element;
93
101
 
94
102
  export { HeroUiLibraryShowcase, type HeroUiLibraryShowcaseProps };
@@ -1,20 +1,27 @@
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 { I as ImageItem, A as ActionConfig, O as OptixFlowConfig } from './blocks-DyouPohq.js';
3
+ import { L as LogoConfig } from './types-hJ2R0GoH.js';
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';
8
11
 
9
12
  interface HeroUiLibraryShowcaseProps {
10
13
  /**
11
- * Logo image configuration
14
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
12
15
  */
13
- logo?: ImageItem;
16
+ logo?: LogoConfig;
14
17
  /**
15
18
  * Custom slot for logo (overrides logo prop)
16
19
  */
17
20
  logoSlot?: React.ReactNode;
21
+ /**
22
+ * Additional CSS classes for the logo container
23
+ */
24
+ logoClassName?: string;
18
25
  /**
19
26
  * Main heading content
20
27
  */
@@ -42,7 +49,8 @@ interface HeroUiLibraryShowcaseProps {
42
49
  /**
43
50
  * Custom slot for image (overrides image prop)
44
51
  */
45
- imageSlot?: React.ReactNode; /**
52
+ imageSlot?: React.ReactNode;
53
+ /**
46
54
  * Background style for the section
47
55
  */
48
56
  background?: SectionBackground;
@@ -89,6 +97,6 @@ interface HeroUiLibraryShowcaseProps {
89
97
  /** Optional Section ID */
90
98
  sectionId?: string;
91
99
  }
92
- declare function HeroUiLibraryShowcase({ sectionId, logo, logoSlot, heading, description, actions, actionsSlot, actionsClassName, image, imageSlot, background, pattern, patternOpacity, className, containerClassName, spacing, headerClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, }: HeroUiLibraryShowcaseProps): React.JSX.Element;
100
+ declare function HeroUiLibraryShowcase({ sectionId, logo, logoSlot, logoClassName, heading, description, actions, actionsSlot, actionsClassName, image, imageSlot, background, pattern, patternOpacity, className, containerClassName, spacing, headerClassName, headingClassName, descriptionClassName, imageClassName, optixFlowConfig, }: HeroUiLibraryShowcaseProps): React.JSX.Element;
93
101
 
94
102
  export { HeroUiLibraryShowcase, type HeroUiLibraryShowcaseProps };