@opensite/ui 3.7.2 → 3.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +46 -1
  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 +46 -1
  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 +46 -1
  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 +46 -1
  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 +46 -1
  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 +46 -1
  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 +704 -182
  276. package/dist/registry.js +704 -182
  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-Dud0DKXB.js';
3
+ import { L as LogoConfig } from './types-hJ2R0GoH.js';
3
4
  import { A as ActionConfig, I as ImageItem, M as MediaItem, 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';
@@ -104,7 +107,19 @@ interface HeroSoftwareGrowthVideoDialogProps {
104
107
  * Video aspect ratio
105
108
  */
106
109
  videoAspectRatio?: "horizontal" | "vertical";
110
+ /**
111
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
112
+ */
113
+ logo?: LogoConfig;
114
+ /**
115
+ * Custom slot for logo (overrides logo prop)
116
+ */
117
+ logoSlot?: React.ReactNode;
118
+ /**
119
+ * Additional CSS classes for the logo container
120
+ */
121
+ logoClassName?: string;
107
122
  }
108
- declare function HeroSoftwareGrowthVideoDialog({ videoAspectRatio, heading, description, videoAction, actions, showcaseImages, showcaseImagesSlot, modalVideo, videoDialogTitle, videoDialog, onVideoClick, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, showcaseClassName, optixFlowConfig, }: HeroSoftwareGrowthVideoDialogProps): React.JSX.Element;
123
+ declare function HeroSoftwareGrowthVideoDialog({ videoAspectRatio, heading, description, videoAction, actions, showcaseImages, showcaseImagesSlot, modalVideo, videoDialogTitle, videoDialog, onVideoClick, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, showcaseClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroSoftwareGrowthVideoDialogProps): React.JSX.Element;
109
124
 
110
125
  export { HeroSoftwareGrowthVideoDialog, type HeroSoftwareGrowthVideoDialogProps };
@@ -535,6 +535,47 @@ function ActionComponent({ action }) {
535
535
  }
536
536
  );
537
537
  }
538
+ var SIZE_CLASSES = {
539
+ sm: "max-h-6 sm:max-h-7",
540
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
541
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
542
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
543
+ };
544
+ var BrandLogo = ({
545
+ logo,
546
+ logoSlot,
547
+ logoClassName,
548
+ size = "md",
549
+ optixFlowConfig
550
+ }) => {
551
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
552
+ if (!logo || !logo.src) return null;
553
+ const imgElement = /* @__PURE__ */ jsx(
554
+ Img,
555
+ {
556
+ src: logo.src,
557
+ className: cn(
558
+ "w-auto object-contain",
559
+ SIZE_CLASSES[size],
560
+ logo.className
561
+ ),
562
+ alt: logo.alt || "Logo",
563
+ optixFlowConfig,
564
+ loading: "eager"
565
+ }
566
+ );
567
+ if (logo.url) {
568
+ return /* @__PURE__ */ jsx(
569
+ Pressable,
570
+ {
571
+ href: logo.url,
572
+ className: cn("flex items-center", logoClassName),
573
+ children: imgElement
574
+ }
575
+ );
576
+ }
577
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
578
+ };
538
579
  function HeroSoftwareGrowthVideoDialog({
539
580
  videoAspectRatio = "horizontal",
540
581
  heading,
@@ -556,7 +597,10 @@ function HeroSoftwareGrowthVideoDialog({
556
597
  headingClassName,
557
598
  descriptionClassName,
558
599
  showcaseClassName,
559
- optixFlowConfig
600
+ optixFlowConfig,
601
+ logo,
602
+ logoSlot,
603
+ logoClassName
560
604
  }) {
561
605
  const [isVideoOpen, setIsVideoOpen] = useState(false);
562
606
  const [skinClasses, setSkinClasses] = useState(null);
@@ -641,6 +685,7 @@ function HeroSoftwareGrowthVideoDialog({
641
685
  containerClassName,
642
686
  children: /* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-10 md:gap-6", children: [
643
687
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-8 pt-6 md:pt-0", children: [
688
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
644
689
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
645
690
  "h1",
646
691
  {
@@ -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 HeroSpiralPatternCards({
508
549
  sectionId = "hero-spiral-pattern-cards",
509
550
  badgeText,
@@ -523,7 +564,10 @@ function HeroSpiralPatternCards({
523
564
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
524
565
  headingClassName,
525
566
  descriptionClassName,
526
- imagesClassName
567
+ imagesClassName,
568
+ logo,
569
+ logoSlot,
570
+ logoClassName
527
571
  }) {
528
572
  const renderImages = React.useMemo(() => {
529
573
  if (imagesSlot) return imagesSlot;
@@ -589,6 +633,7 @@ function HeroSpiralPatternCards({
589
633
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
590
634
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center text-center", children: [
591
635
  badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Badge, { children: badgeText }) : badgeText),
636
+ (logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
592
637
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
593
638
  "h1",
594
639
  {
@@ -1,7 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Cgd-IXlI.cjs';
3
+ import { L as LogoConfig } from './types-mWZcgKth.cjs';
3
4
  import { A as ActionConfig, I as ImageItem, O as OptixFlowConfig } from './blocks-DyouPohq.cjs';
4
5
  import 'react/jsx-runtime';
6
+ import './dynamic-icon.cjs';
7
+ import '@page-speed/icon';
5
8
  import 'class-variance-authority';
6
9
  import '@page-speed/pressable';
7
10
  import '@opensite/hooks/usePlatformFromUrl';
@@ -79,9 +82,21 @@ interface HeroSpiralPatternCardsProps {
79
82
  * Additional CSS classes for the images container
80
83
  */
81
84
  imagesClassName?: string;
85
+ /**
86
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
87
+ */
88
+ logo?: LogoConfig;
89
+ /**
90
+ * Custom slot for logo (overrides logo prop)
91
+ */
92
+ logoSlot?: React.ReactNode;
93
+ /**
94
+ * Additional CSS classes for the logo container
95
+ */
96
+ logoClassName?: string;
82
97
  /** Optional Section ID */
83
98
  sectionId?: string;
84
99
  }
85
- declare function HeroSpiralPatternCards({ sectionId, badgeText, heading, description, actions, actionsSlot, actionsClassName, images, imagesSlot, optixFlowConfig, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, imagesClassName, }: HeroSpiralPatternCardsProps): React.JSX.Element;
100
+ declare function HeroSpiralPatternCards({ sectionId, badgeText, heading, description, actions, actionsSlot, actionsClassName, images, imagesSlot, optixFlowConfig, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, imagesClassName, logo, logoSlot, logoClassName, }: HeroSpiralPatternCardsProps): React.JSX.Element;
86
101
 
87
102
  export { HeroSpiralPatternCards, type HeroSpiralPatternCardsProps };
@@ -1,7 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Dud0DKXB.js';
3
+ import { L as LogoConfig } from './types-hJ2R0GoH.js';
3
4
  import { A as ActionConfig, I as ImageItem, O as OptixFlowConfig } from './blocks-DyouPohq.js';
4
5
  import 'react/jsx-runtime';
6
+ import './dynamic-icon.js';
7
+ import '@page-speed/icon';
5
8
  import 'class-variance-authority';
6
9
  import '@page-speed/pressable';
7
10
  import '@opensite/hooks/usePlatformFromUrl';
@@ -79,9 +82,21 @@ interface HeroSpiralPatternCardsProps {
79
82
  * Additional CSS classes for the images container
80
83
  */
81
84
  imagesClassName?: string;
85
+ /**
86
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
87
+ */
88
+ logo?: LogoConfig;
89
+ /**
90
+ * Custom slot for logo (overrides logo prop)
91
+ */
92
+ logoSlot?: React.ReactNode;
93
+ /**
94
+ * Additional CSS classes for the logo container
95
+ */
96
+ logoClassName?: string;
82
97
  /** Optional Section ID */
83
98
  sectionId?: string;
84
99
  }
85
- declare function HeroSpiralPatternCards({ sectionId, badgeText, heading, description, actions, actionsSlot, actionsClassName, images, imagesSlot, optixFlowConfig, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, imagesClassName, }: HeroSpiralPatternCardsProps): React.JSX.Element;
100
+ declare function HeroSpiralPatternCards({ sectionId, badgeText, heading, description, actions, actionsSlot, actionsClassName, images, imagesSlot, optixFlowConfig, background, spacing, pattern, patternOpacity, className, containerClassName, headingClassName, descriptionClassName, imagesClassName, logo, logoSlot, logoClassName, }: HeroSpiralPatternCardsProps): React.JSX.Element;
86
101
 
87
102
  export { HeroSpiralPatternCards, type HeroSpiralPatternCardsProps };
@@ -498,6 +498,47 @@ function ActionComponent({ action }) {
498
498
  }
499
499
  );
500
500
  }
501
+ var SIZE_CLASSES = {
502
+ sm: "max-h-6 sm:max-h-7",
503
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
504
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
505
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
506
+ };
507
+ var BrandLogo = ({
508
+ logo,
509
+ logoSlot,
510
+ logoClassName,
511
+ size = "md",
512
+ optixFlowConfig
513
+ }) => {
514
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
515
+ if (!logo || !logo.src) return null;
516
+ const imgElement = /* @__PURE__ */ jsx(
517
+ Img,
518
+ {
519
+ src: logo.src,
520
+ className: cn(
521
+ "w-auto object-contain",
522
+ SIZE_CLASSES[size],
523
+ logo.className
524
+ ),
525
+ alt: logo.alt || "Logo",
526
+ optixFlowConfig,
527
+ loading: "eager"
528
+ }
529
+ );
530
+ if (logo.url) {
531
+ return /* @__PURE__ */ jsx(
532
+ Pressable,
533
+ {
534
+ href: logo.url,
535
+ className: cn("flex items-center", logoClassName),
536
+ children: imgElement
537
+ }
538
+ );
539
+ }
540
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
541
+ };
501
542
  function HeroSpiralPatternCards({
502
543
  sectionId = "hero-spiral-pattern-cards",
503
544
  badgeText,
@@ -517,7 +558,10 @@ function HeroSpiralPatternCards({
517
558
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
518
559
  headingClassName,
519
560
  descriptionClassName,
520
- imagesClassName
561
+ imagesClassName,
562
+ logo,
563
+ logoSlot,
564
+ logoClassName
521
565
  }) {
522
566
  const renderImages = useMemo(() => {
523
567
  if (imagesSlot) return imagesSlot;
@@ -583,6 +627,7 @@ function HeroSpiralPatternCards({
583
627
  children: /* @__PURE__ */ jsxs("div", { className: "relative", children: [
584
628
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center text-center", children: [
585
629
  badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsx(Badge, { children: badgeText }) : badgeText),
630
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
586
631
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
587
632
  "h1",
588
633
  {
@@ -471,6 +471,47 @@ function ActionComponent({ action }) {
471
471
  }
472
472
  );
473
473
  }
474
+ var SIZE_CLASSES = {
475
+ sm: "max-h-6 sm:max-h-7",
476
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
477
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
478
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
479
+ };
480
+ var BrandLogo = ({
481
+ logo,
482
+ logoSlot,
483
+ logoClassName,
484
+ size = "md",
485
+ optixFlowConfig
486
+ }) => {
487
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
488
+ if (!logo || !logo.src) return null;
489
+ const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
490
+ img.Img,
491
+ {
492
+ src: logo.src,
493
+ className: cn(
494
+ "w-auto object-contain",
495
+ SIZE_CLASSES[size],
496
+ logo.className
497
+ ),
498
+ alt: logo.alt || "Logo",
499
+ optixFlowConfig,
500
+ loading: "eager"
501
+ }
502
+ );
503
+ if (logo.url) {
504
+ return /* @__PURE__ */ jsxRuntime.jsx(
505
+ pressable.Pressable,
506
+ {
507
+ href: logo.url,
508
+ className: cn("flex items-center", logoClassName),
509
+ children: imgElement
510
+ }
511
+ );
512
+ }
513
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
514
+ };
474
515
  function HeroSplitGeometricShapes({
475
516
  sectionId = "hero-split-geometric-shapes",
476
517
  badgeText,
@@ -492,7 +533,10 @@ function HeroSplitGeometricShapes({
492
533
  descriptionClassName,
493
534
  imagesClassName,
494
535
  imageClassName,
495
- optixFlowConfig
536
+ optixFlowConfig,
537
+ logo,
538
+ logoSlot,
539
+ logoClassName
496
540
  }) {
497
541
  const [lightboxOpen, setLightboxOpen] = React.useState(false);
498
542
  const [lightboxIndex, setLightboxIndex] = React.useState(0);
@@ -611,6 +655,7 @@ function HeroSplitGeometricShapes({
611
655
  ),
612
656
  children: [
613
657
  badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { children: badgeText }) : badgeText),
658
+ (logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
614
659
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
615
660
  "h1",
616
661
  {
@@ -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';
@@ -103,9 +106,21 @@ interface HeroSplitGeometricShapesProps {
103
106
  * Additional CSS classes for the actions container
104
107
  */
105
108
  actionsClassName?: string;
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 HeroSplitGeometricShapes({ sectionId, badgeText, heading, description, actions, actionsSlot, images, imagesSlot, background, containerClassName, spacing, pattern, actionsClassName, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imagesClassName, imageClassName, optixFlowConfig, }: HeroSplitGeometricShapesProps): React.JSX.Element;
124
+ declare function HeroSplitGeometricShapes({ sectionId, badgeText, heading, description, actions, actionsSlot, images, imagesSlot, background, containerClassName, spacing, pattern, actionsClassName, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imagesClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroSplitGeometricShapesProps): React.JSX.Element;
110
125
 
111
126
  export { HeroSplitGeometricShapes, type HeroSplitGeometricShapesImage, type HeroSplitGeometricShapesProps };
@@ -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';
@@ -103,9 +106,21 @@ interface HeroSplitGeometricShapesProps {
103
106
  * Additional CSS classes for the actions container
104
107
  */
105
108
  actionsClassName?: string;
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 HeroSplitGeometricShapes({ sectionId, badgeText, heading, description, actions, actionsSlot, images, imagesSlot, background, containerClassName, spacing, pattern, actionsClassName, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imagesClassName, imageClassName, optixFlowConfig, }: HeroSplitGeometricShapesProps): React.JSX.Element;
124
+ declare function HeroSplitGeometricShapes({ sectionId, badgeText, heading, description, actions, actionsSlot, images, imagesSlot, background, containerClassName, spacing, pattern, actionsClassName, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, imagesClassName, imageClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroSplitGeometricShapesProps): React.JSX.Element;
110
125
 
111
126
  export { HeroSplitGeometricShapes, type HeroSplitGeometricShapesImage, type HeroSplitGeometricShapesProps };
@@ -465,6 +465,47 @@ function ActionComponent({ action }) {
465
465
  }
466
466
  );
467
467
  }
468
+ var SIZE_CLASSES = {
469
+ sm: "max-h-6 sm:max-h-7",
470
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
471
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
472
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
473
+ };
474
+ var BrandLogo = ({
475
+ logo,
476
+ logoSlot,
477
+ logoClassName,
478
+ size = "md",
479
+ optixFlowConfig
480
+ }) => {
481
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
482
+ if (!logo || !logo.src) return null;
483
+ const imgElement = /* @__PURE__ */ jsx(
484
+ Img,
485
+ {
486
+ src: logo.src,
487
+ className: cn(
488
+ "w-auto object-contain",
489
+ SIZE_CLASSES[size],
490
+ logo.className
491
+ ),
492
+ alt: logo.alt || "Logo",
493
+ optixFlowConfig,
494
+ loading: "eager"
495
+ }
496
+ );
497
+ if (logo.url) {
498
+ return /* @__PURE__ */ jsx(
499
+ Pressable,
500
+ {
501
+ href: logo.url,
502
+ className: cn("flex items-center", logoClassName),
503
+ children: imgElement
504
+ }
505
+ );
506
+ }
507
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
508
+ };
468
509
  function HeroSplitGeometricShapes({
469
510
  sectionId = "hero-split-geometric-shapes",
470
511
  badgeText,
@@ -486,7 +527,10 @@ function HeroSplitGeometricShapes({
486
527
  descriptionClassName,
487
528
  imagesClassName,
488
529
  imageClassName,
489
- optixFlowConfig
530
+ optixFlowConfig,
531
+ logo,
532
+ logoSlot,
533
+ logoClassName
490
534
  }) {
491
535
  const [lightboxOpen, setLightboxOpen] = useState(false);
492
536
  const [lightboxIndex, setLightboxIndex] = useState(0);
@@ -605,6 +649,7 @@ function HeroSplitGeometricShapes({
605
649
  ),
606
650
  children: [
607
651
  badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsx("p", { children: badgeText }) : badgeText),
652
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
608
653
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
609
654
  "h1",
610
655
  {
@@ -7,6 +7,7 @@ var tailwindMerge = require('tailwind-merge');
7
7
  var icon = require('@page-speed/icon');
8
8
  var jsxRuntime = require('react/jsx-runtime');
9
9
  var pressable = require('@page-speed/pressable');
10
+ var img = require('@page-speed/img');
10
11
 
11
12
  function _interopNamespace(e) {
12
13
  if (e && e.__esModule) return e;
@@ -464,6 +465,47 @@ var Section = React__namespace.default.forwardRef(
464
465
  }
465
466
  );
466
467
  Section.displayName = "Section";
468
+ var SIZE_CLASSES = {
469
+ sm: "max-h-6 sm:max-h-7",
470
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
471
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
472
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
473
+ };
474
+ var BrandLogo = ({
475
+ logo,
476
+ logoSlot,
477
+ logoClassName,
478
+ size = "md",
479
+ optixFlowConfig
480
+ }) => {
481
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
482
+ if (!logo || !logo.src) return null;
483
+ const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
484
+ img.Img,
485
+ {
486
+ src: logo.src,
487
+ className: cn(
488
+ "w-auto object-contain",
489
+ SIZE_CLASSES[size],
490
+ logo.className
491
+ ),
492
+ alt: logo.alt || "Logo",
493
+ optixFlowConfig,
494
+ loading: "eager"
495
+ }
496
+ );
497
+ if (logo.url) {
498
+ return /* @__PURE__ */ jsxRuntime.jsx(
499
+ pressable.Pressable,
500
+ {
501
+ href: logo.url,
502
+ className: cn("flex items-center", logoClassName),
503
+ children: imgElement
504
+ }
505
+ );
506
+ }
507
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
508
+ };
467
509
  function HeroSplitIconCards({
468
510
  sectionId = "hero-split-icon-cards",
469
511
  eyebrow,
@@ -484,7 +526,10 @@ function HeroSplitIconCards({
484
526
  descriptionClassName,
485
527
  verticalSpacing,
486
528
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
487
- spacing = "pt-32 pb-8 md:pt-32 md:pb-32"
529
+ spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
530
+ logo,
531
+ logoSlot,
532
+ logoClassName
488
533
  }) {
489
534
  const renderActions = React.useMemo(() => {
490
535
  if (actionsSlot) return actionsSlot;
@@ -549,6 +594,7 @@ function HeroSplitIconCards({
549
594
  children: eyebrow
550
595
  }
551
596
  ) : eyebrow),
597
+ (logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
552
598
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
553
599
  "h2",
554
600
  {
@@ -1,10 +1,13 @@
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 './blocks-DyouPohq.cjs';
4
5
  import 'class-variance-authority';
5
6
  import '@page-speed/pressable';
6
7
  import '@opensite/hooks/usePlatformFromUrl';
7
8
  import 'react/jsx-runtime';
9
+ import './dynamic-icon.cjs';
10
+ import '@page-speed/icon';
8
11
 
9
12
  interface HeroSplitIconCardsItem {
10
13
  /**
@@ -105,6 +108,18 @@ interface HeroSplitIconCardsProps {
105
108
  containerClassName?: string;
106
109
  /** Section spacing variant */
107
110
  spacing?: SectionSpacing;
111
+ /**
112
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
113
+ */
114
+ logo?: LogoConfig;
115
+ /**
116
+ * Custom slot for logo (overrides logo prop)
117
+ */
118
+ logoSlot?: React.ReactNode;
119
+ /**
120
+ * Additional CSS classes for the logo container
121
+ */
122
+ logoClassName?: string;
108
123
  /** Optional Section ID */
109
124
  sectionId?: string;
110
125
  }
@@ -113,6 +128,6 @@ interface HeroSplitIconCardsProps {
113
128
  * a stacked list of icon cards on the right. Ideal for service pages that need
114
129
  * an explanatory hero plus quick benefit callouts.
115
130
  */
116
- declare function HeroSplitIconCards({ sectionId, eyebrow, heading, description, primaryCta, secondaryCta, actionsSlot, children, cardItems, cardsSlot, background, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, verticalSpacing, containerClassName, spacing, }: HeroSplitIconCardsProps): React.JSX.Element;
131
+ declare function HeroSplitIconCards({ sectionId, eyebrow, heading, description, primaryCta, secondaryCta, actionsSlot, children, cardItems, cardsSlot, background, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, verticalSpacing, containerClassName, spacing, logo, logoSlot, logoClassName, }: HeroSplitIconCardsProps): React.JSX.Element;
117
132
 
118
133
  export { HeroSplitIconCards, type HeroSplitIconCardsProps };
@@ -1,10 +1,13 @@
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 './blocks-DyouPohq.js';
4
5
  import 'class-variance-authority';
5
6
  import '@page-speed/pressable';
6
7
  import '@opensite/hooks/usePlatformFromUrl';
7
8
  import 'react/jsx-runtime';
9
+ import './dynamic-icon.js';
10
+ import '@page-speed/icon';
8
11
 
9
12
  interface HeroSplitIconCardsItem {
10
13
  /**
@@ -105,6 +108,18 @@ interface HeroSplitIconCardsProps {
105
108
  containerClassName?: string;
106
109
  /** Section spacing variant */
107
110
  spacing?: SectionSpacing;
111
+ /**
112
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
113
+ */
114
+ logo?: LogoConfig;
115
+ /**
116
+ * Custom slot for logo (overrides logo prop)
117
+ */
118
+ logoSlot?: React.ReactNode;
119
+ /**
120
+ * Additional CSS classes for the logo container
121
+ */
122
+ logoClassName?: string;
108
123
  /** Optional Section ID */
109
124
  sectionId?: string;
110
125
  }
@@ -113,6 +128,6 @@ interface HeroSplitIconCardsProps {
113
128
  * a stacked list of icon cards on the right. Ideal for service pages that need
114
129
  * an explanatory hero plus quick benefit callouts.
115
130
  */
116
- declare function HeroSplitIconCards({ sectionId, eyebrow, heading, description, primaryCta, secondaryCta, actionsSlot, children, cardItems, cardsSlot, background, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, verticalSpacing, containerClassName, spacing, }: HeroSplitIconCardsProps): React.JSX.Element;
131
+ declare function HeroSplitIconCards({ sectionId, eyebrow, heading, description, primaryCta, secondaryCta, actionsSlot, children, cardItems, cardsSlot, background, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, verticalSpacing, containerClassName, spacing, logo, logoSlot, logoClassName, }: HeroSplitIconCardsProps): React.JSX.Element;
117
132
 
118
133
  export { HeroSplitIconCards, type HeroSplitIconCardsProps };