@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
@@ -511,12 +511,56 @@ var SocialLinkIcon = React4__namespace.forwardRef(
511
511
  }
512
512
  );
513
513
  SocialLinkIcon.displayName = "SocialLinkIcon";
514
+ var SIZE_CLASSES = {
515
+ sm: "max-h-6 sm:max-h-7",
516
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
517
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
518
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
519
+ };
520
+ var BrandLogo = ({
521
+ logo,
522
+ logoSlot,
523
+ logoClassName,
524
+ size = "md",
525
+ optixFlowConfig
526
+ }) => {
527
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
528
+ if (!logo || !logo.src) return null;
529
+ const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
530
+ img.Img,
531
+ {
532
+ src: logo.src,
533
+ className: cn(
534
+ "w-auto object-contain",
535
+ SIZE_CLASSES[size],
536
+ logo.className
537
+ ),
538
+ alt: logo.alt || "Logo",
539
+ optixFlowConfig,
540
+ loading: "eager"
541
+ }
542
+ );
543
+ if (logo.url) {
544
+ return /* @__PURE__ */ jsxRuntime.jsx(
545
+ pressable.Pressable,
546
+ {
547
+ href: logo.url,
548
+ className: cn("flex items-center", logoClassName),
549
+ children: imgElement
550
+ }
551
+ );
552
+ }
553
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
554
+ };
514
555
  function LinkPageMinimalProfile({
515
556
  sectionId = "link-page-minimal-profile",
516
557
  name,
517
558
  bio,
518
559
  avatar,
519
560
  avatarUrl,
561
+ logo,
562
+ logoSlot,
563
+ logoClassName,
520
564
  profileSlot,
521
565
  links,
522
566
  linksSlot,
@@ -560,14 +604,23 @@ function LinkPageMinimalProfile({
560
604
  headerClassName
561
605
  ),
562
606
  children: [
563
- resolvedAvatar && /* @__PURE__ */ jsxRuntime.jsx(
607
+ /* @__PURE__ */ jsxRuntime.jsx(
564
608
  "div",
565
609
  {
566
610
  className: cn(
567
611
  "flex h-20 w-full max-w-56 items-center justify-center sm:h-24 sm:max-w-72",
568
612
  avatarClassName
569
613
  ),
570
- children: /* @__PURE__ */ jsxRuntime.jsx(
614
+ children: logo ? /* @__PURE__ */ jsxRuntime.jsx(
615
+ BrandLogo,
616
+ {
617
+ logo,
618
+ logoSlot,
619
+ size: "xl",
620
+ logoClassName: cn("mb-2", logoClassName),
621
+ optixFlowConfig
622
+ }
623
+ ) : logoSlot ? logoSlot : resolvedAvatar ? /* @__PURE__ */ jsxRuntime.jsx(
571
624
  img.Img,
572
625
  {
573
626
  src: resolvedAvatar.src,
@@ -575,7 +628,7 @@ function LinkPageMinimalProfile({
575
628
  className: "h-auto max-h-20 w-auto max-w-full object-contain sm:max-h-24",
576
629
  optixFlowConfig
577
630
  }
578
- )
631
+ ) : null
579
632
  }
580
633
  ),
581
634
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
@@ -586,6 +639,9 @@ function LinkPageMinimalProfile({
586
639
  }
587
640
  );
588
641
  }, [
642
+ logo,
643
+ logoSlot,
644
+ logoClassName,
589
645
  avatar,
590
646
  avatarUrl,
591
647
  profileSlot,
@@ -1,7 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Cgd-IXlI.cjs';
3
+ import { L as LogoConfig } from './types-mWZcgKth.cjs';
3
4
  import { I as ImageItem, A as ActionConfig, j as SocialLinkItem, 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';
@@ -33,6 +36,18 @@ interface LinkPageMinimalProfileProps {
33
36
  * Avatar image URL (legacy)
34
37
  */
35
38
  avatarUrl?: string;
39
+ /**
40
+ * Optional LogoConfig for BrandLogo rendering (takes priority over avatar)
41
+ */
42
+ logo?: LogoConfig;
43
+ /**
44
+ * Custom slot for the logo/avatar (takes priority over logo and avatar)
45
+ */
46
+ logoSlot?: React.ReactNode;
47
+ /**
48
+ * Additional CSS classes for the logo image
49
+ */
50
+ logoClassName?: string;
36
51
  /**
37
52
  * Custom slot for profile header content
38
53
  */
@@ -172,6 +187,6 @@ interface LinkPageMinimalProfileProps {
172
187
  * />
173
188
  * ```
174
189
  */
175
- declare function LinkPageMinimalProfile({ sectionId, name, bio, avatar, avatarUrl, profileSlot, links, linksSlot, socialLinks, socialLinksSlot, footerAction, footerSlot, className, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, linksClassName, linkClassName, linkIconClassName, linkLabelClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, footerClassName, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: LinkPageMinimalProfileProps): React.JSX.Element;
190
+ declare function LinkPageMinimalProfile({ sectionId, name, bio, avatar, avatarUrl, logo, logoSlot, logoClassName, profileSlot, links, linksSlot, socialLinks, socialLinksSlot, footerAction, footerSlot, className, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, linksClassName, linkClassName, linkIconClassName, linkLabelClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, footerClassName, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: LinkPageMinimalProfileProps): React.JSX.Element;
176
191
 
177
192
  export { LinkPageMinimalProfile, type LinkPageMinimalProfileProps, type MinimalProfileLink };
@@ -1,7 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Dud0DKXB.js';
3
+ import { L as LogoConfig } from './types-hJ2R0GoH.js';
3
4
  import { I as ImageItem, A as ActionConfig, j as SocialLinkItem, 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';
@@ -33,6 +36,18 @@ interface LinkPageMinimalProfileProps {
33
36
  * Avatar image URL (legacy)
34
37
  */
35
38
  avatarUrl?: string;
39
+ /**
40
+ * Optional LogoConfig for BrandLogo rendering (takes priority over avatar)
41
+ */
42
+ logo?: LogoConfig;
43
+ /**
44
+ * Custom slot for the logo/avatar (takes priority over logo and avatar)
45
+ */
46
+ logoSlot?: React.ReactNode;
47
+ /**
48
+ * Additional CSS classes for the logo image
49
+ */
50
+ logoClassName?: string;
36
51
  /**
37
52
  * Custom slot for profile header content
38
53
  */
@@ -172,6 +187,6 @@ interface LinkPageMinimalProfileProps {
172
187
  * />
173
188
  * ```
174
189
  */
175
- declare function LinkPageMinimalProfile({ sectionId, name, bio, avatar, avatarUrl, profileSlot, links, linksSlot, socialLinks, socialLinksSlot, footerAction, footerSlot, className, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, linksClassName, linkClassName, linkIconClassName, linkLabelClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, footerClassName, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: LinkPageMinimalProfileProps): React.JSX.Element;
190
+ declare function LinkPageMinimalProfile({ sectionId, name, bio, avatar, avatarUrl, logo, logoSlot, logoClassName, profileSlot, links, linksSlot, socialLinks, socialLinksSlot, footerAction, footerSlot, className, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, linksClassName, linkClassName, linkIconClassName, linkLabelClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, footerClassName, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: LinkPageMinimalProfileProps): React.JSX.Element;
176
191
 
177
192
  export { LinkPageMinimalProfile, type LinkPageMinimalProfileProps, type MinimalProfileLink };
@@ -490,12 +490,56 @@ var SocialLinkIcon = React4.forwardRef(
490
490
  }
491
491
  );
492
492
  SocialLinkIcon.displayName = "SocialLinkIcon";
493
+ var SIZE_CLASSES = {
494
+ sm: "max-h-6 sm:max-h-7",
495
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
496
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
497
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
498
+ };
499
+ var BrandLogo = ({
500
+ logo,
501
+ logoSlot,
502
+ logoClassName,
503
+ size = "md",
504
+ optixFlowConfig
505
+ }) => {
506
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
507
+ if (!logo || !logo.src) return null;
508
+ const imgElement = /* @__PURE__ */ jsx(
509
+ Img,
510
+ {
511
+ src: logo.src,
512
+ className: cn(
513
+ "w-auto object-contain",
514
+ SIZE_CLASSES[size],
515
+ logo.className
516
+ ),
517
+ alt: logo.alt || "Logo",
518
+ optixFlowConfig,
519
+ loading: "eager"
520
+ }
521
+ );
522
+ if (logo.url) {
523
+ return /* @__PURE__ */ jsx(
524
+ Pressable,
525
+ {
526
+ href: logo.url,
527
+ className: cn("flex items-center", logoClassName),
528
+ children: imgElement
529
+ }
530
+ );
531
+ }
532
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
533
+ };
493
534
  function LinkPageMinimalProfile({
494
535
  sectionId = "link-page-minimal-profile",
495
536
  name,
496
537
  bio,
497
538
  avatar,
498
539
  avatarUrl,
540
+ logo,
541
+ logoSlot,
542
+ logoClassName,
499
543
  profileSlot,
500
544
  links,
501
545
  linksSlot,
@@ -539,14 +583,23 @@ function LinkPageMinimalProfile({
539
583
  headerClassName
540
584
  ),
541
585
  children: [
542
- resolvedAvatar && /* @__PURE__ */ jsx(
586
+ /* @__PURE__ */ jsx(
543
587
  "div",
544
588
  {
545
589
  className: cn(
546
590
  "flex h-20 w-full max-w-56 items-center justify-center sm:h-24 sm:max-w-72",
547
591
  avatarClassName
548
592
  ),
549
- children: /* @__PURE__ */ jsx(
593
+ children: logo ? /* @__PURE__ */ jsx(
594
+ BrandLogo,
595
+ {
596
+ logo,
597
+ logoSlot,
598
+ size: "xl",
599
+ logoClassName: cn("mb-2", logoClassName),
600
+ optixFlowConfig
601
+ }
602
+ ) : logoSlot ? logoSlot : resolvedAvatar ? /* @__PURE__ */ jsx(
550
603
  Img,
551
604
  {
552
605
  src: resolvedAvatar.src,
@@ -554,7 +607,7 @@ function LinkPageMinimalProfile({
554
607
  className: "h-auto max-h-20 w-auto max-w-full object-contain sm:max-h-24",
555
608
  optixFlowConfig
556
609
  }
557
- )
610
+ ) : null
558
611
  }
559
612
  ),
560
613
  /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
@@ -565,6 +618,9 @@ function LinkPageMinimalProfile({
565
618
  }
566
619
  );
567
620
  }, [
621
+ logo,
622
+ logoSlot,
623
+ logoClassName,
568
624
  avatar,
569
625
  avatarUrl,
570
626
  profileSlot,
@@ -512,6 +512,47 @@ var SocialLinkIcon = React4__namespace.forwardRef(
512
512
  }
513
513
  );
514
514
  SocialLinkIcon.displayName = "SocialLinkIcon";
515
+ var SIZE_CLASSES = {
516
+ sm: "max-h-6 sm:max-h-7",
517
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
518
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
519
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
520
+ };
521
+ var BrandLogo = ({
522
+ logo,
523
+ logoSlot,
524
+ logoClassName,
525
+ size = "md",
526
+ optixFlowConfig
527
+ }) => {
528
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
529
+ if (!logo || !logo.src) return null;
530
+ const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
531
+ img.Img,
532
+ {
533
+ src: logo.src,
534
+ className: cn(
535
+ "w-auto object-contain",
536
+ SIZE_CLASSES[size],
537
+ logo.className
538
+ ),
539
+ alt: logo.alt || "Logo",
540
+ optixFlowConfig,
541
+ loading: "eager"
542
+ }
543
+ );
544
+ if (logo.url) {
545
+ return /* @__PURE__ */ jsxRuntime.jsx(
546
+ pressable.Pressable,
547
+ {
548
+ href: logo.url,
549
+ className: cn("flex items-center", logoClassName),
550
+ children: imgElement
551
+ }
552
+ );
553
+ }
554
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
555
+ };
515
556
  var DEFAULT_STYLE_RULES = {
516
557
  formContainer: "w-full flex flex-col gap-3 justify-center items-center",
517
558
  fieldsContainer: "",
@@ -534,6 +575,9 @@ function LinkPageNewsletterSocial({
534
575
  bio,
535
576
  avatar,
536
577
  avatarUrl,
578
+ logo,
579
+ logoSlot,
580
+ logoClassName,
537
581
  profileSlot,
538
582
  newsletterHeading,
539
583
  newsletterDescription,
@@ -590,14 +634,23 @@ function LinkPageNewsletterSocial({
590
634
  headerClassName
591
635
  ),
592
636
  children: [
593
- resolvedAvatar && /* @__PURE__ */ jsxRuntime.jsx(
637
+ /* @__PURE__ */ jsxRuntime.jsx(
594
638
  "div",
595
639
  {
596
640
  className: cn(
597
641
  "flex h-24 w-full max-w-72 items-center justify-center",
598
642
  avatarClassName
599
643
  ),
600
- children: /* @__PURE__ */ jsxRuntime.jsx(
644
+ children: logo ? /* @__PURE__ */ jsxRuntime.jsx(
645
+ BrandLogo,
646
+ {
647
+ logo,
648
+ logoSlot,
649
+ size: "xl",
650
+ logoClassName: cn("mb-2", logoClassName),
651
+ optixFlowConfig
652
+ }
653
+ ) : logoSlot ? logoSlot : resolvedAvatar ? /* @__PURE__ */ jsxRuntime.jsx(
601
654
  img.Img,
602
655
  {
603
656
  src: resolvedAvatar.src,
@@ -605,7 +658,7 @@ function LinkPageNewsletterSocial({
605
658
  className: "h-auto max-h-24 w-auto max-w-full object-contain",
606
659
  optixFlowConfig
607
660
  }
608
- )
661
+ ) : null
609
662
  }
610
663
  ),
611
664
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
@@ -617,6 +670,9 @@ function LinkPageNewsletterSocial({
617
670
  );
618
671
  }, [
619
672
  profileSlot,
673
+ logo,
674
+ logoSlot,
675
+ logoClassName,
620
676
  avatar,
621
677
  avatarUrl,
622
678
  avatarClassName,
@@ -1,8 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Cgd-IXlI.cjs';
3
3
  import { FormEngineProps } from '@page-speed/forms/integration';
4
+ import { L as LogoConfig } from './types-mWZcgKth.cjs';
4
5
  import { I as ImageItem, A as ActionConfig, j as SocialLinkItem, O as OptixFlowConfig } from './blocks-DyouPohq.cjs';
5
6
  import 'react/jsx-runtime';
7
+ import './dynamic-icon.cjs';
8
+ import '@page-speed/icon';
6
9
  import 'class-variance-authority';
7
10
  import '@page-speed/pressable';
8
11
  import '@opensite/hooks/usePlatformFromUrl';
@@ -41,6 +44,18 @@ interface LinkPageNewsletterSocialProps {
41
44
  * Avatar image URL (legacy)
42
45
  */
43
46
  avatarUrl?: string;
47
+ /**
48
+ * Optional LogoConfig for BrandLogo rendering (takes priority over avatar)
49
+ */
50
+ logo?: LogoConfig;
51
+ /**
52
+ * Custom slot for the logo/avatar (takes priority over logo and avatar)
53
+ */
54
+ logoSlot?: React.ReactNode;
55
+ /**
56
+ * Additional CSS classes for the logo image
57
+ */
58
+ logoClassName?: string;
44
59
  /**
45
60
  * Custom slot for profile header content
46
61
  */
@@ -239,6 +254,6 @@ interface LinkPageNewsletterSocialProps {
239
254
  * />
240
255
  * ```
241
256
  */
242
- declare function LinkPageNewsletterSocial({ sectionId, name, bio, avatar, avatarUrl, profileSlot, newsletterHeading, newsletterDescription, formEngineSetup, buttonAction, helperText, newsletterSlot, formSlot, links, linksSlot, linkChevronIcon, socialLinks, socialLinksSlot, footerAction, footerSlot, className, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, newsletterCardClassName, newsletterHeadingClassName, newsletterDescriptionClassName, linksClassName, linkClassName, linkIconClassName, linkLabelClassName, linkChevronClassName, footerClassName, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: LinkPageNewsletterSocialProps): React.JSX.Element;
257
+ declare function LinkPageNewsletterSocial({ sectionId, name, bio, avatar, avatarUrl, logo, logoSlot, logoClassName, profileSlot, newsletterHeading, newsletterDescription, formEngineSetup, buttonAction, helperText, newsletterSlot, formSlot, links, linksSlot, linkChevronIcon, socialLinks, socialLinksSlot, footerAction, footerSlot, className, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, newsletterCardClassName, newsletterHeadingClassName, newsletterDescriptionClassName, linksClassName, linkClassName, linkIconClassName, linkLabelClassName, linkChevronClassName, footerClassName, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: LinkPageNewsletterSocialProps): React.JSX.Element;
243
258
 
244
259
  export { LinkPageNewsletterSocial, type LinkPageNewsletterSocialProps, type NewsletterSocialLink, type NewsletterSocialSocialLink };
@@ -1,8 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Dud0DKXB.js';
3
3
  import { FormEngineProps } from '@page-speed/forms/integration';
4
+ import { L as LogoConfig } from './types-hJ2R0GoH.js';
4
5
  import { I as ImageItem, A as ActionConfig, j as SocialLinkItem, O as OptixFlowConfig } from './blocks-DyouPohq.js';
5
6
  import 'react/jsx-runtime';
7
+ import './dynamic-icon.js';
8
+ import '@page-speed/icon';
6
9
  import 'class-variance-authority';
7
10
  import '@page-speed/pressable';
8
11
  import '@opensite/hooks/usePlatformFromUrl';
@@ -41,6 +44,18 @@ interface LinkPageNewsletterSocialProps {
41
44
  * Avatar image URL (legacy)
42
45
  */
43
46
  avatarUrl?: string;
47
+ /**
48
+ * Optional LogoConfig for BrandLogo rendering (takes priority over avatar)
49
+ */
50
+ logo?: LogoConfig;
51
+ /**
52
+ * Custom slot for the logo/avatar (takes priority over logo and avatar)
53
+ */
54
+ logoSlot?: React.ReactNode;
55
+ /**
56
+ * Additional CSS classes for the logo image
57
+ */
58
+ logoClassName?: string;
44
59
  /**
45
60
  * Custom slot for profile header content
46
61
  */
@@ -239,6 +254,6 @@ interface LinkPageNewsletterSocialProps {
239
254
  * />
240
255
  * ```
241
256
  */
242
- declare function LinkPageNewsletterSocial({ sectionId, name, bio, avatar, avatarUrl, profileSlot, newsletterHeading, newsletterDescription, formEngineSetup, buttonAction, helperText, newsletterSlot, formSlot, links, linksSlot, linkChevronIcon, socialLinks, socialLinksSlot, footerAction, footerSlot, className, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, newsletterCardClassName, newsletterHeadingClassName, newsletterDescriptionClassName, linksClassName, linkClassName, linkIconClassName, linkLabelClassName, linkChevronClassName, footerClassName, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: LinkPageNewsletterSocialProps): React.JSX.Element;
257
+ declare function LinkPageNewsletterSocial({ sectionId, name, bio, avatar, avatarUrl, logo, logoSlot, logoClassName, profileSlot, newsletterHeading, newsletterDescription, formEngineSetup, buttonAction, helperText, newsletterSlot, formSlot, links, linksSlot, linkChevronIcon, socialLinks, socialLinksSlot, footerAction, footerSlot, className, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, newsletterCardClassName, newsletterHeadingClassName, newsletterDescriptionClassName, linksClassName, linkClassName, linkIconClassName, linkLabelClassName, linkChevronClassName, footerClassName, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: LinkPageNewsletterSocialProps): React.JSX.Element;
243
258
 
244
259
  export { LinkPageNewsletterSocial, type LinkPageNewsletterSocialProps, type NewsletterSocialLink, type NewsletterSocialSocialLink };
@@ -491,6 +491,47 @@ var SocialLinkIcon = React4.forwardRef(
491
491
  }
492
492
  );
493
493
  SocialLinkIcon.displayName = "SocialLinkIcon";
494
+ var SIZE_CLASSES = {
495
+ sm: "max-h-6 sm:max-h-7",
496
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
497
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
498
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
499
+ };
500
+ var BrandLogo = ({
501
+ logo,
502
+ logoSlot,
503
+ logoClassName,
504
+ size = "md",
505
+ optixFlowConfig
506
+ }) => {
507
+ if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
508
+ if (!logo || !logo.src) return null;
509
+ const imgElement = /* @__PURE__ */ jsx(
510
+ Img,
511
+ {
512
+ src: logo.src,
513
+ className: cn(
514
+ "w-auto object-contain",
515
+ SIZE_CLASSES[size],
516
+ logo.className
517
+ ),
518
+ alt: logo.alt || "Logo",
519
+ optixFlowConfig,
520
+ loading: "eager"
521
+ }
522
+ );
523
+ if (logo.url) {
524
+ return /* @__PURE__ */ jsx(
525
+ Pressable,
526
+ {
527
+ href: logo.url,
528
+ className: cn("flex items-center", logoClassName),
529
+ children: imgElement
530
+ }
531
+ );
532
+ }
533
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
534
+ };
494
535
  var DEFAULT_STYLE_RULES = {
495
536
  formContainer: "w-full flex flex-col gap-3 justify-center items-center",
496
537
  fieldsContainer: "",
@@ -513,6 +554,9 @@ function LinkPageNewsletterSocial({
513
554
  bio,
514
555
  avatar,
515
556
  avatarUrl,
557
+ logo,
558
+ logoSlot,
559
+ logoClassName,
516
560
  profileSlot,
517
561
  newsletterHeading,
518
562
  newsletterDescription,
@@ -569,14 +613,23 @@ function LinkPageNewsletterSocial({
569
613
  headerClassName
570
614
  ),
571
615
  children: [
572
- resolvedAvatar && /* @__PURE__ */ jsx(
616
+ /* @__PURE__ */ jsx(
573
617
  "div",
574
618
  {
575
619
  className: cn(
576
620
  "flex h-24 w-full max-w-72 items-center justify-center",
577
621
  avatarClassName
578
622
  ),
579
- children: /* @__PURE__ */ jsx(
623
+ children: logo ? /* @__PURE__ */ jsx(
624
+ BrandLogo,
625
+ {
626
+ logo,
627
+ logoSlot,
628
+ size: "xl",
629
+ logoClassName: cn("mb-2", logoClassName),
630
+ optixFlowConfig
631
+ }
632
+ ) : logoSlot ? logoSlot : resolvedAvatar ? /* @__PURE__ */ jsx(
580
633
  Img,
581
634
  {
582
635
  src: resolvedAvatar.src,
@@ -584,7 +637,7 @@ function LinkPageNewsletterSocial({
584
637
  className: "h-auto max-h-24 w-auto max-w-full object-contain",
585
638
  optixFlowConfig
586
639
  }
587
- )
640
+ ) : null
588
641
  }
589
642
  ),
590
643
  /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
@@ -596,6 +649,9 @@ function LinkPageNewsletterSocial({
596
649
  );
597
650
  }, [
598
651
  profileSlot,
652
+ logo,
653
+ logoSlot,
654
+ logoClassName,
599
655
  avatar,
600
656
  avatarUrl,
601
657
  avatarClassName,
@@ -547,6 +547,47 @@ var SocialLinkIcon = React5__namespace.forwardRef(
547
547
  }
548
548
  );
549
549
  SocialLinkIcon.displayName = "SocialLinkIcon";
550
+ var SIZE_CLASSES = {
551
+ sm: "max-h-6 sm:max-h-7",
552
+ md: "max-h-8 sm:max-h-9 lg:max-h-10",
553
+ lg: "max-h-10 sm:max-h-12 lg:max-h-14",
554
+ xl: "max-h-12 sm:max-h-14 lg:max-h-16"
555
+ };
556
+ var BrandLogo = ({
557
+ logo,
558
+ logoSlot,
559
+ logoClassName,
560
+ size = "md",
561
+ optixFlowConfig
562
+ }) => {
563
+ if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
564
+ if (!logo || !logo.src) return null;
565
+ const imgElement = /* @__PURE__ */ jsxRuntime.jsx(
566
+ img.Img,
567
+ {
568
+ src: logo.src,
569
+ className: cn(
570
+ "w-auto object-contain",
571
+ SIZE_CLASSES[size],
572
+ logo.className
573
+ ),
574
+ alt: logo.alt || "Logo",
575
+ optixFlowConfig,
576
+ loading: "eager"
577
+ }
578
+ );
579
+ if (logo.url) {
580
+ return /* @__PURE__ */ jsxRuntime.jsx(
581
+ pressable.Pressable,
582
+ {
583
+ href: logo.url,
584
+ className: cn("flex items-center", logoClassName),
585
+ children: imgElement
586
+ }
587
+ );
588
+ }
589
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", logoClassName), children: imgElement });
590
+ };
550
591
  function LinkTreeBlock({
551
592
  sectionId = "link-tree-block",
552
593
  brandName,
@@ -556,6 +597,9 @@ function LinkTreeBlock({
556
597
  brandVerified = false,
557
598
  verifiedIcon,
558
599
  brandSlot,
600
+ logo,
601
+ logoSlot,
602
+ logoClassName,
559
603
  links,
560
604
  linksSlot,
561
605
  socialLinks,
@@ -652,7 +696,16 @@ function LinkTreeBlock({
652
696
  "flex h-24 w-full max-w-72 items-center justify-center",
653
697
  avatarClassName
654
698
  ),
655
- children: resolvedAvatar && /* @__PURE__ */ jsxRuntime.jsx(
699
+ children: logo ? /* @__PURE__ */ jsxRuntime.jsx(
700
+ BrandLogo,
701
+ {
702
+ logo,
703
+ logoSlot,
704
+ size: "xl",
705
+ logoClassName: cn("mb-2", logoClassName),
706
+ optixFlowConfig
707
+ }
708
+ ) : logoSlot ? logoSlot : resolvedAvatar ? /* @__PURE__ */ jsxRuntime.jsx(
656
709
  img.Img,
657
710
  {
658
711
  src: resolvedAvatar.src,
@@ -660,7 +713,7 @@ function LinkTreeBlock({
660
713
  className: "h-auto max-h-24 w-auto max-w-full object-contain",
661
714
  optixFlowConfig
662
715
  }
663
- )
716
+ ) : null
664
717
  }
665
718
  ),
666
719
  brandVerified && /* @__PURE__ */ jsxRuntime.jsx(
@@ -710,6 +763,9 @@ function LinkTreeBlock({
710
763
  brandSlot,
711
764
  headerClassName,
712
765
  avatarClassName,
766
+ logo,
767
+ logoSlot,
768
+ logoClassName,
713
769
  resolvedAvatar,
714
770
  optixFlowConfig,
715
771
  brandVerified,