@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
@@ -698,6 +698,47 @@ function ActionComponent({ action }) {
698
698
  }
699
699
  );
700
700
  }
701
+ var SIZE_CLASSES = {
702
+ sm: "max-h-6 sm:max-h-7",
703
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
704
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
705
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
706
+ };
707
+ var BrandLogo = ({
708
+ logo,
709
+ logoSlot,
710
+ logoClassName,
711
+ size = "md",
712
+ optixFlowConfig
713
+ }) => {
714
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
715
+ if (!logo || !logo.src) return null;
716
+ const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
717
+ img.Img,
718
+ {
719
+ src: logo.src,
720
+ className: cn(
721
+ "w-auto object-contain",
722
+ SIZE_CLASSES[size],
723
+ logo.className
724
+ ),
725
+ alt: logo.alt || "Logo",
726
+ optixFlowConfig,
727
+ loading: "eager"
728
+ }
729
+ );
730
+ if (logo.url) {
731
+ return /* @__PURE__ */ jsxRuntime.jsx(
732
+ pressable.Pressable,
733
+ {
734
+ href: logo.url,
735
+ className: cn("flex items-center", logoClassName),
736
+ children: imgElement
737
+ }
738
+ );
739
+ }
740
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
741
+ };
701
742
  function HeroAdCampaignExpert({
702
743
  sectionId = "hero-ad-campaign-expert",
703
744
  heading,
@@ -717,7 +758,10 @@ function HeroAdCampaignExpert({
717
758
  contentClassName,
718
759
  headingClassName,
719
760
  descriptionClassName,
720
- optixFlowConfig
761
+ optixFlowConfig,
762
+ logo,
763
+ logoSlot,
764
+ logoClassName
721
765
  }) {
722
766
  const { responsiveClassName } = useResponsiveLayout({ directionConfig });
723
767
  const renderActions = React4.useMemo(() => {
@@ -794,6 +838,7 @@ function HeroAdCampaignExpert({
794
838
  responsiveClassName
795
839
  ),
796
840
  children: [
841
+ (logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
797
842
  /* @__PURE__ */ jsxRuntime.jsx(
798
843
  ContentGroup,
799
844
  {
@@ -1,11 +1,14 @@
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 { ResponsiveMediaAspectRatioProps } from './media-aspect-ratio.cjs';
4
+ import { L as LogoConfig } from './types-mWZcgKth.cjs';
4
5
  import { A as ActionConfig, M as MediaItem, O as OptixFlowConfig, h as DirectionConfig } from './blocks-DyouPohq.cjs';
5
6
  import 'react/jsx-runtime';
6
7
  import 'class-variance-authority';
7
8
  import '@page-speed/pressable';
8
9
  import '@opensite/hooks/usePlatformFromUrl';
10
+ import './dynamic-icon.cjs';
11
+ import '@page-speed/icon';
9
12
 
10
13
  interface HeroAdCampaignExpertProps {
11
14
  /**
@@ -83,9 +86,21 @@ interface HeroAdCampaignExpertProps {
83
86
  * @default { desktop: 'mediaRight', mobile: 'mediaTop' }
84
87
  */
85
88
  directionConfig?: DirectionConfig;
89
+ /**
90
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
91
+ */
92
+ logo?: LogoConfig;
93
+ /**
94
+ * Custom slot for logo (overrides logo prop)
95
+ */
96
+ logoSlot?: React.ReactNode;
97
+ /**
98
+ * Additional CSS classes for the logo container
99
+ */
100
+ logoClassName?: string;
86
101
  /** Optional Section ID */
87
102
  sectionId?: string;
88
103
  }
89
- declare function HeroAdCampaignExpert({ sectionId, heading, description, actions, actionsSlot, actionsClassName, mediaItem, background, containerClassName, spacing, mediaAspectRatios, directionConfig, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, optixFlowConfig, }: HeroAdCampaignExpertProps): React.JSX.Element;
104
+ declare function HeroAdCampaignExpert({ sectionId, heading, description, actions, actionsSlot, actionsClassName, mediaItem, background, containerClassName, spacing, mediaAspectRatios, directionConfig, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroAdCampaignExpertProps): React.JSX.Element;
90
105
 
91
106
  export { DirectionConfig, HeroAdCampaignExpert, type HeroAdCampaignExpertProps };
@@ -1,11 +1,14 @@
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 { ResponsiveMediaAspectRatioProps } from './media-aspect-ratio.js';
4
+ import { L as LogoConfig } from './types-hJ2R0GoH.js';
4
5
  import { A as ActionConfig, M as MediaItem, O as OptixFlowConfig, h as DirectionConfig } from './blocks-DyouPohq.js';
5
6
  import 'react/jsx-runtime';
6
7
  import 'class-variance-authority';
7
8
  import '@page-speed/pressable';
8
9
  import '@opensite/hooks/usePlatformFromUrl';
10
+ import './dynamic-icon.js';
11
+ import '@page-speed/icon';
9
12
 
10
13
  interface HeroAdCampaignExpertProps {
11
14
  /**
@@ -83,9 +86,21 @@ interface HeroAdCampaignExpertProps {
83
86
  * @default { desktop: 'mediaRight', mobile: 'mediaTop' }
84
87
  */
85
88
  directionConfig?: DirectionConfig;
89
+ /**
90
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
91
+ */
92
+ logo?: LogoConfig;
93
+ /**
94
+ * Custom slot for logo (overrides logo prop)
95
+ */
96
+ logoSlot?: React.ReactNode;
97
+ /**
98
+ * Additional CSS classes for the logo container
99
+ */
100
+ logoClassName?: string;
86
101
  /** Optional Section ID */
87
102
  sectionId?: string;
88
103
  }
89
- declare function HeroAdCampaignExpert({ sectionId, heading, description, actions, actionsSlot, actionsClassName, mediaItem, background, containerClassName, spacing, mediaAspectRatios, directionConfig, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, optixFlowConfig, }: HeroAdCampaignExpertProps): React.JSX.Element;
104
+ declare function HeroAdCampaignExpert({ sectionId, heading, description, actions, actionsSlot, actionsClassName, mediaItem, background, containerClassName, spacing, mediaAspectRatios, directionConfig, pattern, patternOpacity, className, contentClassName, headingClassName, descriptionClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroAdCampaignExpertProps): React.JSX.Element;
90
105
 
91
106
  export { DirectionConfig, HeroAdCampaignExpert, type HeroAdCampaignExpertProps };
@@ -676,6 +676,47 @@ function ActionComponent({ action }) {
676
676
  }
677
677
  );
678
678
  }
679
+ var SIZE_CLASSES = {
680
+ sm: "max-h-6 sm:max-h-7",
681
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
682
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
683
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
684
+ };
685
+ var BrandLogo = ({
686
+ logo,
687
+ logoSlot,
688
+ logoClassName,
689
+ size = "md",
690
+ optixFlowConfig
691
+ }) => {
692
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
693
+ if (!logo || !logo.src) return null;
694
+ const imgElement = /* @__PURE__ */ jsx(
695
+ Img,
696
+ {
697
+ src: logo.src,
698
+ className: cn(
699
+ "w-auto object-contain",
700
+ SIZE_CLASSES[size],
701
+ logo.className
702
+ ),
703
+ alt: logo.alt || "Logo",
704
+ optixFlowConfig,
705
+ loading: "eager"
706
+ }
707
+ );
708
+ if (logo.url) {
709
+ return /* @__PURE__ */ jsx(
710
+ Pressable,
711
+ {
712
+ href: logo.url,
713
+ className: cn("flex items-center", logoClassName),
714
+ children: imgElement
715
+ }
716
+ );
717
+ }
718
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
719
+ };
679
720
  function HeroAdCampaignExpert({
680
721
  sectionId = "hero-ad-campaign-expert",
681
722
  heading,
@@ -695,7 +736,10 @@ function HeroAdCampaignExpert({
695
736
  contentClassName,
696
737
  headingClassName,
697
738
  descriptionClassName,
698
- optixFlowConfig
739
+ optixFlowConfig,
740
+ logo,
741
+ logoSlot,
742
+ logoClassName
699
743
  }) {
700
744
  const { responsiveClassName } = useResponsiveLayout({ directionConfig });
701
745
  const renderActions = useMemo(() => {
@@ -772,6 +816,7 @@ function HeroAdCampaignExpert({
772
816
  responsiveClassName
773
817
  ),
774
818
  children: [
819
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
775
820
  /* @__PURE__ */ jsx(
776
821
  ContentGroup,
777
822
  {
@@ -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 HeroAdaptableProductGrid({
474
515
  sectionId = "hero-adaptable-product-grid",
475
516
  heading,
@@ -490,7 +531,10 @@ function HeroAdaptableProductGrid({
490
531
  imageContainerClassName,
491
532
  imageClassName,
492
533
  actionsClassName,
493
- optixFlowConfig
534
+ optixFlowConfig,
535
+ logo,
536
+ logoSlot,
537
+ logoClassName
494
538
  }) {
495
539
  return /* @__PURE__ */ jsxRuntime.jsx(
496
540
  Section,
@@ -503,6 +547,7 @@ function HeroAdaptableProductGrid({
503
547
  className,
504
548
  containerClassName,
505
549
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pt-8 md:pt-0", children: [
550
+ (logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
506
551
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
507
552
  "h1",
508
553
  {
@@ -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';
@@ -83,9 +86,21 @@ interface HeroAdaptableProductGridProps {
83
86
  * OptixFlow image optimization configuration
84
87
  */
85
88
  optixFlowConfig?: OptixFlowConfig;
89
+ /**
90
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
91
+ */
92
+ logo?: LogoConfig;
93
+ /**
94
+ * Custom slot for logo (overrides logo prop)
95
+ */
96
+ logoSlot?: React.ReactNode;
97
+ /**
98
+ * Additional CSS classes for the logo container
99
+ */
100
+ logoClassName?: string;
86
101
  /** Optional Section ID */
87
102
  sectionId?: string;
88
103
  }
89
- declare function HeroAdaptableProductGrid({ sectionId, heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, headingClassName, descriptionClassName, contentClassName, imageContainerClassName, imageClassName, actionsClassName, optixFlowConfig, }: HeroAdaptableProductGridProps): React.JSX.Element;
104
+ declare function HeroAdaptableProductGrid({ sectionId, heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, headingClassName, descriptionClassName, contentClassName, imageContainerClassName, imageClassName, actionsClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroAdaptableProductGridProps): React.JSX.Element;
90
105
 
91
106
  export { HeroAdaptableProductGrid, type HeroAdaptableProductGridProps };
@@ -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';
@@ -83,9 +86,21 @@ interface HeroAdaptableProductGridProps {
83
86
  * OptixFlow image optimization configuration
84
87
  */
85
88
  optixFlowConfig?: OptixFlowConfig;
89
+ /**
90
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
91
+ */
92
+ logo?: LogoConfig;
93
+ /**
94
+ * Custom slot for logo (overrides logo prop)
95
+ */
96
+ logoSlot?: React.ReactNode;
97
+ /**
98
+ * Additional CSS classes for the logo container
99
+ */
100
+ logoClassName?: string;
86
101
  /** Optional Section ID */
87
102
  sectionId?: string;
88
103
  }
89
- declare function HeroAdaptableProductGrid({ sectionId, heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, headingClassName, descriptionClassName, contentClassName, imageContainerClassName, imageClassName, actionsClassName, optixFlowConfig, }: HeroAdaptableProductGridProps): React.JSX.Element;
104
+ declare function HeroAdaptableProductGrid({ sectionId, heading, description, actions, actionsSlot, imageSrc, imageAlt, background, containerClassName, spacing, pattern, patternOpacity, className, headingClassName, descriptionClassName, contentClassName, imageContainerClassName, imageClassName, actionsClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroAdaptableProductGridProps): React.JSX.Element;
90
105
 
91
106
  export { HeroAdaptableProductGrid, type HeroAdaptableProductGridProps };
@@ -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 HeroAdaptableProductGrid({
468
509
  sectionId = "hero-adaptable-product-grid",
469
510
  heading,
@@ -484,7 +525,10 @@ function HeroAdaptableProductGrid({
484
525
  imageContainerClassName,
485
526
  imageClassName,
486
527
  actionsClassName,
487
- optixFlowConfig
528
+ optixFlowConfig,
529
+ logo,
530
+ logoSlot,
531
+ logoClassName
488
532
  }) {
489
533
  return /* @__PURE__ */ jsx(
490
534
  Section,
@@ -497,6 +541,7 @@ function HeroAdaptableProductGrid({
497
541
  className,
498
542
  containerClassName,
499
543
  children: /* @__PURE__ */ jsxs("div", { className: "pt-8 md:pt-0", children: [
544
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
500
545
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
501
546
  "h1",
502
547
  {
@@ -496,6 +496,47 @@ function ActionComponent({ action }) {
496
496
  }
497
497
  );
498
498
  }
499
+ var SIZE_CLASSES = {
500
+ sm: "max-h-6 sm:max-h-7",
501
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
502
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
503
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
504
+ };
505
+ var BrandLogo = ({
506
+ logo,
507
+ logoSlot,
508
+ logoClassName,
509
+ size = "md",
510
+ optixFlowConfig
511
+ }) => {
512
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
513
+ if (!logo || !logo.src) return null;
514
+ const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
515
+ img.Img,
516
+ {
517
+ src: logo.src,
518
+ className: cn(
519
+ "w-auto object-contain",
520
+ SIZE_CLASSES[size],
521
+ logo.className
522
+ ),
523
+ alt: logo.alt || "Logo",
524
+ optixFlowConfig,
525
+ loading: "eager"
526
+ }
527
+ );
528
+ if (logo.url) {
529
+ return /* @__PURE__ */ jsxRuntime.jsx(
530
+ pressable.Pressable,
531
+ {
532
+ href: logo.url,
533
+ className: cn("flex items-center", logoClassName),
534
+ children: imgElement
535
+ }
536
+ );
537
+ }
538
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
539
+ };
499
540
  var imageAnimationVariants = [
500
541
  // Top-left: slides in from left + up
501
542
  {
@@ -544,7 +585,10 @@ function HeroAgencyAnimatedImages({
544
585
  contentClassName,
545
586
  headingClassName,
546
587
  imagesContainerClassName,
547
- optixFlowConfig
588
+ optixFlowConfig,
589
+ logo,
590
+ logoSlot,
591
+ logoClassName
548
592
  }) {
549
593
  const renderImages = React.useMemo(() => {
550
594
  if (imagesSlot) return imagesSlot;
@@ -634,6 +678,7 @@ function HeroAgencyAnimatedImages({
634
678
  contentClassName
635
679
  ),
636
680
  children: [
681
+ (logo || logoSlot) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
637
682
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
638
683
  "h1",
639
684
  {
@@ -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 HeroAgencyAnimatedImagesProps {
79
82
  * OptixFlow image optimization configuration
80
83
  */
81
84
  optixFlowConfig?: OptixFlowConfig;
85
+ /**
86
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
87
+ */
88
+ logo?: LogoConfig;
89
+ /**
90
+ * Custom slot for logo (overrides logo prop)
91
+ */
92
+ logoSlot?: React.ReactNode;
93
+ /**
94
+ * Additional CSS classes for the logo container
95
+ */
96
+ logoClassName?: string;
82
97
  /** Optional Section ID */
83
98
  sectionId?: string;
84
99
  }
85
- declare function HeroAgencyAnimatedImages({ sectionId, heading, description, descriptionClassName, actions, actionsSlot, actionsClassName, images, imagesSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, imagesContainerClassName, optixFlowConfig, }: HeroAgencyAnimatedImagesProps): React.JSX.Element;
100
+ declare function HeroAgencyAnimatedImages({ sectionId, heading, description, descriptionClassName, actions, actionsSlot, actionsClassName, images, imagesSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, imagesContainerClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroAgencyAnimatedImagesProps): React.JSX.Element;
86
101
 
87
102
  export { HeroAgencyAnimatedImages, type HeroAgencyAnimatedImagesProps };
@@ -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 HeroAgencyAnimatedImagesProps {
79
82
  * OptixFlow image optimization configuration
80
83
  */
81
84
  optixFlowConfig?: OptixFlowConfig;
85
+ /**
86
+ * Brand logo configuration. LOGO MEDIA ONLY — do not use photos or hero images.
87
+ */
88
+ logo?: LogoConfig;
89
+ /**
90
+ * Custom slot for logo (overrides logo prop)
91
+ */
92
+ logoSlot?: React.ReactNode;
93
+ /**
94
+ * Additional CSS classes for the logo container
95
+ */
96
+ logoClassName?: string;
82
97
  /** Optional Section ID */
83
98
  sectionId?: string;
84
99
  }
85
- declare function HeroAgencyAnimatedImages({ sectionId, heading, description, descriptionClassName, actions, actionsSlot, actionsClassName, images, imagesSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, imagesContainerClassName, optixFlowConfig, }: HeroAgencyAnimatedImagesProps): React.JSX.Element;
100
+ declare function HeroAgencyAnimatedImages({ sectionId, heading, description, descriptionClassName, actions, actionsSlot, actionsClassName, images, imagesSlot, background, spacing, containerClassName, pattern, patternOpacity, className, contentClassName, headingClassName, imagesContainerClassName, optixFlowConfig, logo, logoSlot, logoClassName, }: HeroAgencyAnimatedImagesProps): React.JSX.Element;
86
101
 
87
102
  export { HeroAgencyAnimatedImages, type HeroAgencyAnimatedImagesProps };
@@ -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__ */ jsx(Fragment, { children: logoSlot });
488
+ if (!logo || !logo.src) return null;
489
+ const imgElement = /* @__PURE__ */ jsx(
490
+ 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__ */ jsx(
505
+ Pressable,
506
+ {
507
+ href: logo.url,
508
+ className: cn("flex items-center", logoClassName),
509
+ children: imgElement
510
+ }
511
+ );
512
+ }
513
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
514
+ };
474
515
  var imageAnimationVariants = [
475
516
  // Top-left: slides in from left + up
476
517
  {
@@ -519,7 +560,10 @@ function HeroAgencyAnimatedImages({
519
560
  contentClassName,
520
561
  headingClassName,
521
562
  imagesContainerClassName,
522
- optixFlowConfig
563
+ optixFlowConfig,
564
+ logo,
565
+ logoSlot,
566
+ logoClassName
523
567
  }) {
524
568
  const renderImages = useMemo(() => {
525
569
  if (imagesSlot) return imagesSlot;
@@ -609,6 +653,7 @@ function HeroAgencyAnimatedImages({
609
653
  contentClassName
610
654
  ),
611
655
  children: [
656
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
612
657
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
613
658
  "h1",
614
659
  {