@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
@@ -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 HeroWelcomeAsymmetricImages({
468
509
  sectionId = "hero-welcome-asymmetric-images",
469
510
  heading,
@@ -482,7 +523,10 @@ function HeroWelcomeAsymmetricImages({
482
523
  spacing = "py-32 md:py-32",
483
524
  headingClassName,
484
525
  descriptionClassName,
485
- optixFlowConfig
526
+ optixFlowConfig,
527
+ logo,
528
+ logoSlot,
529
+ logoClassName
486
530
  }) {
487
531
  const renderImages = useMemo(() => {
488
532
  if (imagesSlot) return imagesSlot;
@@ -544,6 +588,7 @@ function HeroWelcomeAsymmetricImages({
544
588
  containerClassName,
545
589
  children: /* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-start justify-between gap-8 md:flex-row xl:gap-20", children: [
546
590
  /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col items-start text-left", children: [
591
+ (logo || logoSlot) && /* @__PURE__ */ jsx("div", { className: cn("mb-4", logoClassName), children: /* @__PURE__ */ jsx(BrandLogo, { logo, logoSlot, size: "lg" }) }),
547
592
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
548
593
  "h1",
549
594
  {
@@ -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 LinkPageBentoLayout({
515
556
  sectionId = "link-page-bento-layout",
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,
@@ -831,14 +875,23 @@ function LinkPageBentoLayout({
831
875
  headerClassName
832
876
  ),
833
877
  children: [
834
- resolvedAvatar && /* @__PURE__ */ jsxRuntime.jsx(
878
+ /* @__PURE__ */ jsxRuntime.jsx(
835
879
  "div",
836
880
  {
837
881
  className: cn(
838
882
  "flex h-20 w-full max-w-56 items-center justify-center sm:h-24 sm:max-w-72",
839
883
  avatarClassName
840
884
  ),
841
- children: /* @__PURE__ */ jsxRuntime.jsx(
885
+ children: logo ? /* @__PURE__ */ jsxRuntime.jsx(
886
+ BrandLogo,
887
+ {
888
+ logo,
889
+ logoSlot,
890
+ size: "xl",
891
+ logoClassName: cn("mb-2", logoClassName),
892
+ optixFlowConfig
893
+ }
894
+ ) : logoSlot ? logoSlot : resolvedAvatar ? /* @__PURE__ */ jsxRuntime.jsx(
842
895
  img.Img,
843
896
  {
844
897
  src: resolvedAvatar.src,
@@ -846,7 +899,7 @@ function LinkPageBentoLayout({
846
899
  className: "h-auto max-h-20 w-auto max-w-full object-contain sm:max-h-24",
847
900
  optixFlowConfig
848
901
  }
849
- )
902
+ ) : null
850
903
  }
851
904
  ),
852
905
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
@@ -859,6 +912,9 @@ function LinkPageBentoLayout({
859
912
  );
860
913
  }, [
861
914
  profileSlot,
915
+ logo,
916
+ logoSlot,
917
+ logoClassName,
862
918
  resolvedAvatar,
863
919
  avatarClassName,
864
920
  optixFlowConfig,
@@ -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, 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';
@@ -44,6 +47,18 @@ interface LinkPageBentoLayoutProps {
44
47
  * Avatar image URL (legacy)
45
48
  */
46
49
  avatarUrl?: string;
50
+ /**
51
+ * Optional LogoConfig for BrandLogo rendering (takes priority over avatar)
52
+ */
53
+ logo?: LogoConfig;
54
+ /**
55
+ * Custom slot for the logo/avatar (takes priority over logo and avatar)
56
+ */
57
+ logoSlot?: React.ReactNode;
58
+ /**
59
+ * Additional CSS classes for the logo image
60
+ */
61
+ logoClassName?: string;
47
62
  /**
48
63
  * Custom slot for profile header content
49
64
  */
@@ -236,6 +251,6 @@ interface LinkPageBentoLayoutProps {
236
251
  * />
237
252
  * ```
238
253
  */
239
- declare function LinkPageBentoLayout({ sectionId, name, bio, avatar, avatarUrl, profileSlot, links, linksSlot, featuredLinksSlot, regularLinksSlot, socialLinks, socialLinksSlot, footerAction, footerSlot, className, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, linksClassName, featuredLinksClassName, featuredLinkClassName, featuredLinkOverlayClassName, featuredLinkImageClassName, featuredLinkIconClassName, featuredLinkLabelClassName, featuredLinkDescriptionClassName, regularLinksClassName, regularLinkClassName, regularLinkIconWrapperClassName, regularLinkIconClassName, regularLinkLabelClassName, footerClassName, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: LinkPageBentoLayoutProps): React.JSX.Element;
254
+ declare function LinkPageBentoLayout({ sectionId, name, bio, avatar, avatarUrl, logo, logoSlot, logoClassName, profileSlot, links, linksSlot, featuredLinksSlot, regularLinksSlot, socialLinks, socialLinksSlot, footerAction, footerSlot, className, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, linksClassName, featuredLinksClassName, featuredLinkClassName, featuredLinkOverlayClassName, featuredLinkImageClassName, featuredLinkIconClassName, featuredLinkLabelClassName, featuredLinkDescriptionClassName, regularLinksClassName, regularLinkClassName, regularLinkIconWrapperClassName, regularLinkIconClassName, regularLinkLabelClassName, footerClassName, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: LinkPageBentoLayoutProps): React.JSX.Element;
240
255
 
241
256
  export { type BentoLink, type BentoSocialLink, LinkPageBentoLayout, type LinkPageBentoLayoutProps };
@@ -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, 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';
@@ -44,6 +47,18 @@ interface LinkPageBentoLayoutProps {
44
47
  * Avatar image URL (legacy)
45
48
  */
46
49
  avatarUrl?: string;
50
+ /**
51
+ * Optional LogoConfig for BrandLogo rendering (takes priority over avatar)
52
+ */
53
+ logo?: LogoConfig;
54
+ /**
55
+ * Custom slot for the logo/avatar (takes priority over logo and avatar)
56
+ */
57
+ logoSlot?: React.ReactNode;
58
+ /**
59
+ * Additional CSS classes for the logo image
60
+ */
61
+ logoClassName?: string;
47
62
  /**
48
63
  * Custom slot for profile header content
49
64
  */
@@ -236,6 +251,6 @@ interface LinkPageBentoLayoutProps {
236
251
  * />
237
252
  * ```
238
253
  */
239
- declare function LinkPageBentoLayout({ sectionId, name, bio, avatar, avatarUrl, profileSlot, links, linksSlot, featuredLinksSlot, regularLinksSlot, socialLinks, socialLinksSlot, footerAction, footerSlot, className, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, linksClassName, featuredLinksClassName, featuredLinkClassName, featuredLinkOverlayClassName, featuredLinkImageClassName, featuredLinkIconClassName, featuredLinkLabelClassName, featuredLinkDescriptionClassName, regularLinksClassName, regularLinkClassName, regularLinkIconWrapperClassName, regularLinkIconClassName, regularLinkLabelClassName, footerClassName, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: LinkPageBentoLayoutProps): React.JSX.Element;
254
+ declare function LinkPageBentoLayout({ sectionId, name, bio, avatar, avatarUrl, logo, logoSlot, logoClassName, profileSlot, links, linksSlot, featuredLinksSlot, regularLinksSlot, socialLinks, socialLinksSlot, footerAction, footerSlot, className, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, linksClassName, featuredLinksClassName, featuredLinkClassName, featuredLinkOverlayClassName, featuredLinkImageClassName, featuredLinkIconClassName, featuredLinkLabelClassName, featuredLinkDescriptionClassName, regularLinksClassName, regularLinkClassName, regularLinkIconWrapperClassName, regularLinkIconClassName, regularLinkLabelClassName, footerClassName, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: LinkPageBentoLayoutProps): React.JSX.Element;
240
255
 
241
256
  export { type BentoLink, type BentoSocialLink, LinkPageBentoLayout, type LinkPageBentoLayoutProps };
@@ -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 LinkPageBentoLayout({
494
535
  sectionId = "link-page-bento-layout",
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,
@@ -810,14 +854,23 @@ function LinkPageBentoLayout({
810
854
  headerClassName
811
855
  ),
812
856
  children: [
813
- resolvedAvatar && /* @__PURE__ */ jsx(
857
+ /* @__PURE__ */ jsx(
814
858
  "div",
815
859
  {
816
860
  className: cn(
817
861
  "flex h-20 w-full max-w-56 items-center justify-center sm:h-24 sm:max-w-72",
818
862
  avatarClassName
819
863
  ),
820
- children: /* @__PURE__ */ jsx(
864
+ children: logo ? /* @__PURE__ */ jsx(
865
+ BrandLogo,
866
+ {
867
+ logo,
868
+ logoSlot,
869
+ size: "xl",
870
+ logoClassName: cn("mb-2", logoClassName),
871
+ optixFlowConfig
872
+ }
873
+ ) : logoSlot ? logoSlot : resolvedAvatar ? /* @__PURE__ */ jsx(
821
874
  Img,
822
875
  {
823
876
  src: resolvedAvatar.src,
@@ -825,7 +878,7 @@ function LinkPageBentoLayout({
825
878
  className: "h-auto max-h-20 w-auto max-w-full object-contain sm:max-h-24",
826
879
  optixFlowConfig
827
880
  }
828
- )
881
+ ) : null
829
882
  }
830
883
  ),
831
884
  /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
@@ -838,6 +891,9 @@ function LinkPageBentoLayout({
838
891
  );
839
892
  }, [
840
893
  profileSlot,
894
+ logo,
895
+ logoSlot,
896
+ logoClassName,
841
897
  resolvedAvatar,
842
898
  avatarClassName,
843
899
  optixFlowConfig,
@@ -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 LinkPageGridCards({
515
556
  sectionId = "link-page-grid-cards",
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,
@@ -563,14 +607,23 @@ function LinkPageGridCards({
563
607
  headerClassName
564
608
  ),
565
609
  children: [
566
- resolvedAvatar && /* @__PURE__ */ jsxRuntime.jsx(
610
+ /* @__PURE__ */ jsxRuntime.jsx(
567
611
  "div",
568
612
  {
569
613
  className: cn(
570
614
  "flex h-20 w-full max-w-56 items-center justify-center sm:h-24 sm:max-w-72",
571
615
  avatarClassName
572
616
  ),
573
- children: /* @__PURE__ */ jsxRuntime.jsx(
617
+ children: logo ? /* @__PURE__ */ jsxRuntime.jsx(
618
+ BrandLogo,
619
+ {
620
+ logo,
621
+ logoSlot,
622
+ size: "xl",
623
+ logoClassName: cn("mb-2", logoClassName),
624
+ optixFlowConfig
625
+ }
626
+ ) : logoSlot ? logoSlot : resolvedAvatar ? /* @__PURE__ */ jsxRuntime.jsx(
574
627
  img.Img,
575
628
  {
576
629
  src: resolvedAvatar.src,
@@ -578,7 +631,7 @@ function LinkPageGridCards({
578
631
  className: "h-auto max-h-20 w-auto max-w-full object-contain sm:max-h-24",
579
632
  optixFlowConfig
580
633
  }
581
- )
634
+ ) : null
582
635
  }
583
636
  ),
584
637
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
@@ -590,6 +643,9 @@ function LinkPageGridCards({
590
643
  );
591
644
  }, [
592
645
  profileSlot,
646
+ logo,
647
+ logoSlot,
648
+ logoClassName,
593
649
  avatar,
594
650
  avatarUrl,
595
651
  avatarClassName,
@@ -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, j as SocialLinkItem, 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';
@@ -41,6 +44,18 @@ interface LinkPageGridCardsProps {
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
  */
@@ -194,6 +209,6 @@ interface LinkPageGridCardsProps {
194
209
  * />
195
210
  * ```
196
211
  */
197
- declare function LinkPageGridCards({ sectionId, name, bio, avatar, avatarUrl, profileSlot, links, linksSlot, socialLinks, socialLinksSlot, columns, footerAction, footerSlot, className, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, gridClassName, cardClassName, cardIconWrapperClassName, cardIconClassName, cardLabelClassName, cardDescriptionClassName, footerClassName, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: LinkPageGridCardsProps): React.JSX.Element;
212
+ declare function LinkPageGridCards({ sectionId, name, bio, avatar, avatarUrl, logo, logoSlot, logoClassName, profileSlot, links, linksSlot, socialLinks, socialLinksSlot, columns, footerAction, footerSlot, className, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, gridClassName, cardClassName, cardIconWrapperClassName, cardIconClassName, cardLabelClassName, cardDescriptionClassName, footerClassName, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: LinkPageGridCardsProps): React.JSX.Element;
198
213
 
199
214
  export { type GridCardLink, type GridCardSocialLink, LinkPageGridCards, type LinkPageGridCardsProps };
@@ -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, j as SocialLinkItem, 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';
@@ -41,6 +44,18 @@ interface LinkPageGridCardsProps {
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
  */
@@ -194,6 +209,6 @@ interface LinkPageGridCardsProps {
194
209
  * />
195
210
  * ```
196
211
  */
197
- declare function LinkPageGridCards({ sectionId, name, bio, avatar, avatarUrl, profileSlot, links, linksSlot, socialLinks, socialLinksSlot, columns, footerAction, footerSlot, className, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, gridClassName, cardClassName, cardIconWrapperClassName, cardIconClassName, cardLabelClassName, cardDescriptionClassName, footerClassName, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: LinkPageGridCardsProps): React.JSX.Element;
212
+ declare function LinkPageGridCards({ sectionId, name, bio, avatar, avatarUrl, logo, logoSlot, logoClassName, profileSlot, links, linksSlot, socialLinks, socialLinksSlot, columns, footerAction, footerSlot, className, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, gridClassName, cardClassName, cardIconWrapperClassName, cardIconClassName, cardLabelClassName, cardDescriptionClassName, footerClassName, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, optixFlowConfig, }: LinkPageGridCardsProps): React.JSX.Element;
198
213
 
199
214
  export { type GridCardLink, type GridCardSocialLink, LinkPageGridCards, type LinkPageGridCardsProps };
@@ -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 LinkPageGridCards({
494
535
  sectionId = "link-page-grid-cards",
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,
@@ -542,14 +586,23 @@ function LinkPageGridCards({
542
586
  headerClassName
543
587
  ),
544
588
  children: [
545
- resolvedAvatar && /* @__PURE__ */ jsx(
589
+ /* @__PURE__ */ jsx(
546
590
  "div",
547
591
  {
548
592
  className: cn(
549
593
  "flex h-20 w-full max-w-56 items-center justify-center sm:h-24 sm:max-w-72",
550
594
  avatarClassName
551
595
  ),
552
- children: /* @__PURE__ */ jsx(
596
+ children: logo ? /* @__PURE__ */ jsx(
597
+ BrandLogo,
598
+ {
599
+ logo,
600
+ logoSlot,
601
+ size: "xl",
602
+ logoClassName: cn("mb-2", logoClassName),
603
+ optixFlowConfig
604
+ }
605
+ ) : logoSlot ? logoSlot : resolvedAvatar ? /* @__PURE__ */ jsx(
553
606
  Img,
554
607
  {
555
608
  src: resolvedAvatar.src,
@@ -557,7 +610,7 @@ function LinkPageGridCards({
557
610
  className: "h-auto max-h-20 w-auto max-w-full object-contain sm:max-h-24",
558
611
  optixFlowConfig
559
612
  }
560
- )
613
+ ) : null
561
614
  }
562
615
  ),
563
616
  /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
@@ -569,6 +622,9 @@ function LinkPageGridCards({
569
622
  );
570
623
  }, [
571
624
  profileSlot,
625
+ logo,
626
+ logoSlot,
627
+ logoClassName,
572
628
  avatar,
573
629
  avatarUrl,
574
630
  avatarClassName,