@opensite/ui 2.8.6 → 2.8.8

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 (143) hide show
  1. package/dist/about-developer-profile.cjs +17 -10
  2. package/dist/about-developer-profile.js +17 -10
  3. package/dist/article-chapters-author.cjs +17 -10
  4. package/dist/article-chapters-author.js +17 -10
  5. package/dist/carousel-animated-sections.cjs +79 -25
  6. package/dist/carousel-animated-sections.d.cts +7 -2
  7. package/dist/carousel-animated-sections.d.ts +7 -2
  8. package/dist/carousel-animated-sections.js +79 -25
  9. package/dist/carousel-gallery-thumbnails.cjs +79 -25
  10. package/dist/carousel-gallery-thumbnails.d.cts +7 -2
  11. package/dist/carousel-gallery-thumbnails.d.ts +7 -2
  12. package/dist/carousel-gallery-thumbnails.js +79 -25
  13. package/dist/carousel-icon-sidebar.cjs +5 -4
  14. package/dist/carousel-icon-sidebar.js +5 -4
  15. package/dist/carousel-portfolio-hero.cjs +79 -25
  16. package/dist/carousel-portfolio-hero.d.cts +7 -2
  17. package/dist/carousel-portfolio-hero.d.ts +7 -2
  18. package/dist/carousel-portfolio-hero.js +79 -25
  19. package/dist/components.cjs +81 -42
  20. package/dist/components.d.cts +29 -2
  21. package/dist/components.d.ts +29 -2
  22. package/dist/components.js +81 -43
  23. package/dist/contact-map.cjs +46 -32
  24. package/dist/contact-map.js +46 -32
  25. package/dist/footer-accordion-social.cjs +17 -10
  26. package/dist/footer-accordion-social.js +17 -10
  27. package/dist/footer-animated-social.cjs +17 -10
  28. package/dist/footer-animated-social.js +17 -10
  29. package/dist/footer-brand-description.cjs +17 -10
  30. package/dist/footer-brand-description.js +17 -10
  31. package/dist/footer-brand-links-contact.cjs +17 -10
  32. package/dist/footer-brand-links-contact.js +17 -10
  33. package/dist/footer-comprehensive-links.cjs +17 -10
  34. package/dist/footer-comprehensive-links.js +17 -10
  35. package/dist/footer-contact-card.cjs +17 -10
  36. package/dist/footer-contact-card.js +17 -10
  37. package/dist/footer-cta-banner.cjs +17 -10
  38. package/dist/footer-cta-banner.js +17 -10
  39. package/dist/footer-cta-social.cjs +17 -10
  40. package/dist/footer-cta-social.js +17 -10
  41. package/dist/footer-info-cards-accordion.cjs +17 -10
  42. package/dist/footer-info-cards-accordion.js +17 -10
  43. package/dist/footer-nav-social.cjs +17 -10
  44. package/dist/footer-nav-social.js +17 -10
  45. package/dist/footer-newsletter-contact.cjs +17 -10
  46. package/dist/footer-newsletter-contact.js +17 -10
  47. package/dist/footer-newsletter-grid.cjs +17 -10
  48. package/dist/footer-newsletter-grid.js +17 -10
  49. package/dist/footer-newsletter-minimal.cjs +17 -10
  50. package/dist/footer-newsletter-minimal.js +17 -10
  51. package/dist/footer-social-apps.cjs +17 -10
  52. package/dist/footer-social-apps.js +17 -10
  53. package/dist/footer-social-newsletter.cjs +17 -10
  54. package/dist/footer-social-newsletter.js +17 -10
  55. package/dist/footer-split-image-accordion.cjs +17 -10
  56. package/dist/footer-split-image-accordion.js +17 -10
  57. package/dist/geo-map.cjs +46 -32
  58. package/dist/geo-map.js +46 -32
  59. package/dist/hero-coming-soon-countdown.cjs +17 -10
  60. package/dist/hero-coming-soon-countdown.js +17 -10
  61. package/dist/hero-video-background-dark.cjs +78 -16
  62. package/dist/hero-video-background-dark.d.cts +7 -2
  63. package/dist/hero-video-background-dark.d.ts +7 -2
  64. package/dist/hero-video-background-dark.js +78 -16
  65. package/dist/index.cjs +81 -42
  66. package/dist/index.d.cts +1 -0
  67. package/dist/index.d.ts +1 -0
  68. package/dist/index.js +81 -43
  69. package/dist/link-page-bento-layout.cjs +17 -10
  70. package/dist/link-page-bento-layout.js +17 -10
  71. package/dist/link-page-grid-cards.cjs +17 -10
  72. package/dist/link-page-grid-cards.js +17 -10
  73. package/dist/link-page-minimal-profile.cjs +17 -10
  74. package/dist/link-page-minimal-profile.js +17 -10
  75. package/dist/link-page-newsletter-social.cjs +17 -10
  76. package/dist/link-page-newsletter-social.js +17 -10
  77. package/dist/link-tree-block.cjs +17 -10
  78. package/dist/link-tree-block.js +17 -10
  79. package/dist/navbar-fullscreen-menu.cjs +17 -10
  80. package/dist/navbar-fullscreen-menu.js +17 -10
  81. package/dist/navbar-transparent-overlay.cjs +17 -10
  82. package/dist/navbar-transparent-overlay.js +17 -10
  83. package/dist/registry.cjs +967 -620
  84. package/dist/registry.js +967 -620
  85. package/dist/social-link-icon.cjs +17 -10
  86. package/dist/social-link-icon.d.cts +5 -0
  87. package/dist/social-link-icon.d.ts +5 -0
  88. package/dist/social-link-icon.js +17 -10
  89. package/dist/testimonials-bento-grid.cjs +1 -1
  90. package/dist/testimonials-bento-grid.js +1 -1
  91. package/dist/testimonials-carousel-image.cjs +16 -2
  92. package/dist/testimonials-carousel-image.d.cts +5 -1
  93. package/dist/testimonials-carousel-image.d.ts +5 -1
  94. package/dist/testimonials-carousel-image.js +16 -2
  95. package/dist/testimonials-centered-avatars.cjs +1 -1
  96. package/dist/testimonials-centered-avatars.js +1 -1
  97. package/dist/testimonials-grid-add-review.cjs +51 -29
  98. package/dist/testimonials-grid-add-review.js +51 -29
  99. package/dist/testimonials-images-helpful.cjs +181 -160
  100. package/dist/testimonials-images-helpful.d.cts +9 -1
  101. package/dist/testimonials-images-helpful.d.ts +9 -1
  102. package/dist/testimonials-images-helpful.js +181 -159
  103. package/dist/testimonials-large-quote.cjs +74 -43
  104. package/dist/testimonials-large-quote.d.cts +5 -1
  105. package/dist/testimonials-large-quote.d.ts +5 -1
  106. package/dist/testimonials-large-quote.js +74 -43
  107. package/dist/testimonials-list-verified.cjs +63 -44
  108. package/dist/testimonials-list-verified.d.cts +5 -1
  109. package/dist/testimonials-list-verified.d.ts +5 -1
  110. package/dist/testimonials-list-verified.js +64 -45
  111. package/dist/testimonials-logo-cards.cjs +55 -25
  112. package/dist/testimonials-logo-cards.d.cts +5 -1
  113. package/dist/testimonials-logo-cards.d.ts +5 -1
  114. package/dist/testimonials-logo-cards.js +55 -25
  115. package/dist/testimonials-marquee.cjs +440 -28
  116. package/dist/testimonials-marquee.js +441 -26
  117. package/dist/testimonials-masonry-grid.cjs +486 -69
  118. package/dist/testimonials-masonry-grid.d.cts +5 -1
  119. package/dist/testimonials-masonry-grid.d.ts +5 -1
  120. package/dist/testimonials-masonry-grid.js +483 -63
  121. package/dist/testimonials-mini-dividers.cjs +119 -83
  122. package/dist/testimonials-mini-dividers.d.cts +10 -6
  123. package/dist/testimonials-mini-dividers.d.ts +10 -6
  124. package/dist/testimonials-mini-dividers.js +119 -83
  125. package/dist/testimonials-minimal-numbered.cjs +9 -7
  126. package/dist/testimonials-minimal-numbered.d.cts +5 -1
  127. package/dist/testimonials-minimal-numbered.d.ts +5 -1
  128. package/dist/testimonials-minimal-numbered.js +9 -7
  129. package/dist/testimonials-parallax-number.cjs +14 -9
  130. package/dist/testimonials-parallax-number.js +14 -9
  131. package/dist/testimonials-scrolling-columns.cjs +100 -21
  132. package/dist/testimonials-scrolling-columns.js +100 -21
  133. package/dist/testimonials-simple-grid.cjs +22 -5
  134. package/dist/testimonials-simple-grid.js +22 -5
  135. package/dist/testimonials-slider-minimal.cjs +1 -1
  136. package/dist/testimonials-slider-minimal.js +1 -1
  137. package/dist/testimonials-stats-header.cjs +528 -87
  138. package/dist/testimonials-stats-header.d.cts +39 -3
  139. package/dist/testimonials-stats-header.d.ts +39 -3
  140. package/dist/testimonials-stats-header.js +523 -82
  141. package/dist/testimonials-twitter-cards.cjs +20 -12
  142. package/dist/testimonials-twitter-cards.js +20 -12
  143. package/package.json +11 -1
@@ -588,41 +588,55 @@ function MarkerMediaCarousel({
588
588
  React4__namespace.useEffect(() => {
589
589
  setActiveIndex(0);
590
590
  }, [mediaResetKey]);
591
- const activeMediaItem = mediaItems[activeItemIndex];
592
- const mediaType = resolveMediaType(activeMediaItem);
593
591
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative border-b border-border/60 bg-muted/40", children: [
594
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative h-44 w-full overflow-hidden", children: mediaType === "video" ? /* @__PURE__ */ jsxRuntime.jsx(
595
- "video",
596
- {
597
- className: "h-full w-full object-cover",
598
- controls: true,
599
- preload: "metadata",
600
- poster: activeMediaItem.poster,
601
- children: /* @__PURE__ */ jsxRuntime.jsx("source", { src: activeMediaItem.src })
602
- }
603
- ) : /* @__PURE__ */ jsxRuntime.jsx(
604
- img.Img,
605
- {
606
- src: activeMediaItem.src,
607
- alt: activeMediaItem.alt ?? "Map marker media",
608
- className: "h-full w-full object-cover",
609
- loading: "eager",
610
- optixFlowConfig
611
- }
612
- ) }),
592
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative aspect-video w-full overflow-hidden", children: mediaItems.map((item, index) => {
593
+ const isActive = index === activeItemIndex;
594
+ const mediaType = resolveMediaType(item);
595
+ return /* @__PURE__ */ jsxRuntime.jsx(
596
+ "div",
597
+ {
598
+ "aria-hidden": !isActive,
599
+ className: cn(
600
+ "absolute inset-0 transition-opacity duration-500 ease-in-out",
601
+ isActive ? "opacity-100 z-[1]" : "opacity-0 z-0 pointer-events-none"
602
+ ),
603
+ children: mediaType === "video" ? /* @__PURE__ */ jsxRuntime.jsx(
604
+ "video",
605
+ {
606
+ className: "h-full w-full object-cover",
607
+ controls: isActive,
608
+ preload: "metadata",
609
+ poster: item.poster,
610
+ tabIndex: isActive ? 0 : -1,
611
+ children: /* @__PURE__ */ jsxRuntime.jsx("source", { src: item.src })
612
+ }
613
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
614
+ img.Img,
615
+ {
616
+ src: item.src,
617
+ alt: item.alt ?? "Map marker media",
618
+ className: "h-full w-full object-cover",
619
+ loading: "eager",
620
+ optixFlowConfig
621
+ }
622
+ )
623
+ },
624
+ normalizeId(item.id, `media-slide-${index}`)
625
+ );
626
+ }) }),
613
627
  totalItems > 1 ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
614
628
  /* @__PURE__ */ jsxRuntime.jsx(
615
629
  "button",
616
630
  {
617
631
  type: "button",
618
632
  "aria-label": "Show previous media",
619
- className: "absolute left-2 top-1/2 inline-flex size-8 -translate-y-1/2 items-center justify-center rounded-full bg-card text-card-foreground shadow-sm transition hover:bg-muted hover:text-muted-foreground",
633
+ className: "absolute left-4 top-1/2 inline-flex size-10 -translate-y-1/2 items-center justify-center rounded-2xl bg-card text-card-foreground shadow-lg border-4 border-black hover:border-white hover:bg-black hover:text-white transition-all duration-500 z-[2]",
620
634
  onClick: () => {
621
635
  setActiveIndex(
622
636
  (current) => (current - 1 + totalItems) % totalItems
623
637
  );
624
638
  },
625
- children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-left", size: 16 })
639
+ children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-left", size: 18 })
626
640
  }
627
641
  ),
628
642
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -630,20 +644,20 @@ function MarkerMediaCarousel({
630
644
  {
631
645
  type: "button",
632
646
  "aria-label": "Show next media",
633
- className: "absolute right-2 top-1/2 inline-flex h-8 w-8 -translate-y-1/2 items-center justify-center rounded-full bg-card text-card-foreground shadow-sm transition hover:bg-muted hover:text-muted-foreground",
647
+ className: "absolute right-4 top-1/2 inline-flex size-10 -translate-y-1/2 items-center justify-center rounded-2xl bg-card text-card-foreground shadow-lg border-4 border-black hover:border-white hover:bg-black hover:text-white transition-all duration-500 z-[2]",
634
648
  onClick: () => {
635
649
  setActiveIndex((current) => (current + 1) % totalItems);
636
650
  },
637
- children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right", size: 16 })
651
+ children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right", size: 18 })
638
652
  }
639
653
  ),
640
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-2 left-1/2 flex -translate-x-1/2 items-center gap-1.5", children: mediaItems.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(
654
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-2 left-1/2 flex -translate-x-1/2 items-center gap-1.5 z-[2]", children: mediaItems.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(
641
655
  "button",
642
656
  {
643
657
  type: "button",
644
658
  "aria-label": `Show media item ${index + 1}`,
645
659
  className: cn(
646
- "h-2 rounded-full transition-all",
660
+ "h-2 rounded-full transition-all duration-300",
647
661
  index === activeItemIndex ? "w-6 bg-card" : "w-2 bg-card opacity-50 hover:opacity-100"
648
662
  ),
649
663
  onClick: () => setActiveIndex(index)
@@ -974,9 +988,9 @@ function GeoMap({
974
988
  {
975
989
  type: "button",
976
990
  "aria-label": "Close marker details",
977
- className: "flex size-8 items-center justify-center rounded-full border border-border bg-card text-card-foreground transition hover:bg-muted hover:text-foreground absolute top-2 right-2 z-10",
991
+ className: "\n flex size-12 items-center justify-center rounded-bl-lg rounded-br-0 rounded-t-0 bg-black text-white transition-all duration-500 absolute top-0 right-0 z-10 cursor-pointer ring-4 ring-white\n",
978
992
  onClick: clearSelection,
979
- children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", size: 16 })
993
+ children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", size: 20 })
980
994
  }
981
995
  ),
982
996
  markerMediaItems.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -998,7 +1012,7 @@ function GeoMap({
998
1012
  {
999
1013
  name: "lucide:map-pin",
1000
1014
  className: "opacity-50",
1001
- size: 14
1015
+ size: 18
1002
1016
  }
1003
1017
  ),
1004
1018
  typeof selectedMarker.locationLine === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -1020,7 +1034,7 @@ function GeoMap({
1020
1034
  {
1021
1035
  name: "lucide:clock",
1022
1036
  className: "opacity-50",
1023
- size: 14
1037
+ size: 18
1024
1038
  }
1025
1039
  ),
1026
1040
  typeof selectedMarker.hoursLine === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-medium", children: selectedMarker.hoursLine }) : selectedMarker.hoursLine
@@ -1048,7 +1062,7 @@ function GeoMap({
1048
1062
  "aria-label": "Close cluster details",
1049
1063
  className: "flex size-8 items-center justify-center rounded-full border border-border bg-card text-card-foreground transition hover:bg-muted hover:text-foreground absolute top-2 right-2 z-10",
1050
1064
  onClick: clearSelection,
1051
- children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", size: 16 })
1065
+ children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", size: 20 })
1052
1066
  }
1053
1067
  ),
1054
1068
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-3 flex items-start justify-between gap-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
@@ -567,41 +567,55 @@ function MarkerMediaCarousel({
567
567
  React4.useEffect(() => {
568
568
  setActiveIndex(0);
569
569
  }, [mediaResetKey]);
570
- const activeMediaItem = mediaItems[activeItemIndex];
571
- const mediaType = resolveMediaType(activeMediaItem);
572
570
  return /* @__PURE__ */ jsxs("div", { className: "relative border-b border-border/60 bg-muted/40", children: [
573
- /* @__PURE__ */ jsx("div", { className: "relative h-44 w-full overflow-hidden", children: mediaType === "video" ? /* @__PURE__ */ jsx(
574
- "video",
575
- {
576
- className: "h-full w-full object-cover",
577
- controls: true,
578
- preload: "metadata",
579
- poster: activeMediaItem.poster,
580
- children: /* @__PURE__ */ jsx("source", { src: activeMediaItem.src })
581
- }
582
- ) : /* @__PURE__ */ jsx(
583
- Img,
584
- {
585
- src: activeMediaItem.src,
586
- alt: activeMediaItem.alt ?? "Map marker media",
587
- className: "h-full w-full object-cover",
588
- loading: "eager",
589
- optixFlowConfig
590
- }
591
- ) }),
571
+ /* @__PURE__ */ jsx("div", { className: "relative aspect-video w-full overflow-hidden", children: mediaItems.map((item, index) => {
572
+ const isActive = index === activeItemIndex;
573
+ const mediaType = resolveMediaType(item);
574
+ return /* @__PURE__ */ jsx(
575
+ "div",
576
+ {
577
+ "aria-hidden": !isActive,
578
+ className: cn(
579
+ "absolute inset-0 transition-opacity duration-500 ease-in-out",
580
+ isActive ? "opacity-100 z-[1]" : "opacity-0 z-0 pointer-events-none"
581
+ ),
582
+ children: mediaType === "video" ? /* @__PURE__ */ jsx(
583
+ "video",
584
+ {
585
+ className: "h-full w-full object-cover",
586
+ controls: isActive,
587
+ preload: "metadata",
588
+ poster: item.poster,
589
+ tabIndex: isActive ? 0 : -1,
590
+ children: /* @__PURE__ */ jsx("source", { src: item.src })
591
+ }
592
+ ) : /* @__PURE__ */ jsx(
593
+ Img,
594
+ {
595
+ src: item.src,
596
+ alt: item.alt ?? "Map marker media",
597
+ className: "h-full w-full object-cover",
598
+ loading: "eager",
599
+ optixFlowConfig
600
+ }
601
+ )
602
+ },
603
+ normalizeId(item.id, `media-slide-${index}`)
604
+ );
605
+ }) }),
592
606
  totalItems > 1 ? /* @__PURE__ */ jsxs(Fragment, { children: [
593
607
  /* @__PURE__ */ jsx(
594
608
  "button",
595
609
  {
596
610
  type: "button",
597
611
  "aria-label": "Show previous media",
598
- className: "absolute left-2 top-1/2 inline-flex size-8 -translate-y-1/2 items-center justify-center rounded-full bg-card text-card-foreground shadow-sm transition hover:bg-muted hover:text-muted-foreground",
612
+ className: "absolute left-4 top-1/2 inline-flex size-10 -translate-y-1/2 items-center justify-center rounded-2xl bg-card text-card-foreground shadow-lg border-4 border-black hover:border-white hover:bg-black hover:text-white transition-all duration-500 z-[2]",
599
613
  onClick: () => {
600
614
  setActiveIndex(
601
615
  (current) => (current - 1 + totalItems) % totalItems
602
616
  );
603
617
  },
604
- children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-left", size: 16 })
618
+ children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-left", size: 18 })
605
619
  }
606
620
  ),
607
621
  /* @__PURE__ */ jsx(
@@ -609,20 +623,20 @@ function MarkerMediaCarousel({
609
623
  {
610
624
  type: "button",
611
625
  "aria-label": "Show next media",
612
- className: "absolute right-2 top-1/2 inline-flex h-8 w-8 -translate-y-1/2 items-center justify-center rounded-full bg-card text-card-foreground shadow-sm transition hover:bg-muted hover:text-muted-foreground",
626
+ className: "absolute right-4 top-1/2 inline-flex size-10 -translate-y-1/2 items-center justify-center rounded-2xl bg-card text-card-foreground shadow-lg border-4 border-black hover:border-white hover:bg-black hover:text-white transition-all duration-500 z-[2]",
613
627
  onClick: () => {
614
628
  setActiveIndex((current) => (current + 1) % totalItems);
615
629
  },
616
- children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right", size: 16 })
630
+ children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right", size: 18 })
617
631
  }
618
632
  ),
619
- /* @__PURE__ */ jsx("div", { className: "absolute bottom-2 left-1/2 flex -translate-x-1/2 items-center gap-1.5", children: mediaItems.map((item, index) => /* @__PURE__ */ jsx(
633
+ /* @__PURE__ */ jsx("div", { className: "absolute bottom-2 left-1/2 flex -translate-x-1/2 items-center gap-1.5 z-[2]", children: mediaItems.map((item, index) => /* @__PURE__ */ jsx(
620
634
  "button",
621
635
  {
622
636
  type: "button",
623
637
  "aria-label": `Show media item ${index + 1}`,
624
638
  className: cn(
625
- "h-2 rounded-full transition-all",
639
+ "h-2 rounded-full transition-all duration-300",
626
640
  index === activeItemIndex ? "w-6 bg-card" : "w-2 bg-card opacity-50 hover:opacity-100"
627
641
  ),
628
642
  onClick: () => setActiveIndex(index)
@@ -953,9 +967,9 @@ function GeoMap({
953
967
  {
954
968
  type: "button",
955
969
  "aria-label": "Close marker details",
956
- className: "flex size-8 items-center justify-center rounded-full border border-border bg-card text-card-foreground transition hover:bg-muted hover:text-foreground absolute top-2 right-2 z-10",
970
+ className: "\n flex size-12 items-center justify-center rounded-bl-lg rounded-br-0 rounded-t-0 bg-black text-white transition-all duration-500 absolute top-0 right-0 z-10 cursor-pointer ring-4 ring-white\n",
957
971
  onClick: clearSelection,
958
- children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 16 })
972
+ children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 20 })
959
973
  }
960
974
  ),
961
975
  markerMediaItems.length > 0 ? /* @__PURE__ */ jsx(
@@ -977,7 +991,7 @@ function GeoMap({
977
991
  {
978
992
  name: "lucide:map-pin",
979
993
  className: "opacity-50",
980
- size: 14
994
+ size: 18
981
995
  }
982
996
  ),
983
997
  typeof selectedMarker.locationLine === "string" ? /* @__PURE__ */ jsx(
@@ -999,7 +1013,7 @@ function GeoMap({
999
1013
  {
1000
1014
  name: "lucide:clock",
1001
1015
  className: "opacity-50",
1002
- size: 14
1016
+ size: 18
1003
1017
  }
1004
1018
  ),
1005
1019
  typeof selectedMarker.hoursLine === "string" ? /* @__PURE__ */ jsx("div", { className: "font-medium", children: selectedMarker.hoursLine }) : selectedMarker.hoursLine
@@ -1027,7 +1041,7 @@ function GeoMap({
1027
1041
  "aria-label": "Close cluster details",
1028
1042
  className: "flex size-8 items-center justify-center rounded-full border border-border bg-card text-card-foreground transition hover:bg-muted hover:text-foreground absolute top-2 right-2 z-10",
1029
1043
  onClick: clearSelection,
1030
- children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 16 })
1044
+ children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 20 })
1031
1045
  }
1032
1046
  ),
1033
1047
  /* @__PURE__ */ jsx("div", { className: "mb-3 flex items-start justify-between gap-3", children: /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
@@ -1415,6 +1415,7 @@ var SocialLinkIcon = React__namespace.forwardRef(
1415
1415
  iconClassName,
1416
1416
  className,
1417
1417
  iconNameOverride,
1418
+ iconOnly = false,
1418
1419
  ...pressableProps
1419
1420
  }, ref) => {
1420
1421
  const platform = usePlatformFromUrl.usePlatformFromUrl(href);
@@ -1427,6 +1428,21 @@ var SocialLinkIcon = React__namespace.forwardRef(
1427
1428
  const accessibleLabel = React__namespace.useMemo(() => {
1428
1429
  return label || platformName;
1429
1430
  }, [label, platformName]);
1431
+ const icon = React__namespace.useMemo(() => {
1432
+ return /* @__PURE__ */ jsxRuntime.jsx(
1433
+ DynamicIcon,
1434
+ {
1435
+ name: iconName,
1436
+ size: iconSize,
1437
+ color: iconColor,
1438
+ className: iconClassName,
1439
+ alt: accessibleLabel
1440
+ }
1441
+ );
1442
+ }, [iconName, iconSize, iconColor, iconClassName, accessibleLabel]);
1443
+ if (iconOnly) {
1444
+ return icon;
1445
+ }
1430
1446
  return /* @__PURE__ */ jsxRuntime.jsx(
1431
1447
  Pressable,
1432
1448
  {
@@ -1438,16 +1454,7 @@ var SocialLinkIcon = React__namespace.forwardRef(
1438
1454
  className
1439
1455
  ),
1440
1456
  ...pressableProps,
1441
- children: /* @__PURE__ */ jsxRuntime.jsx(
1442
- DynamicIcon,
1443
- {
1444
- name: iconName,
1445
- size: iconSize,
1446
- color: iconColor,
1447
- className: iconClassName,
1448
- alt: accessibleLabel
1449
- }
1450
- )
1457
+ children: icon
1451
1458
  }
1452
1459
  );
1453
1460
  }
@@ -1394,6 +1394,7 @@ var SocialLinkIcon = React.forwardRef(
1394
1394
  iconClassName,
1395
1395
  className,
1396
1396
  iconNameOverride,
1397
+ iconOnly = false,
1397
1398
  ...pressableProps
1398
1399
  }, ref) => {
1399
1400
  const platform = usePlatformFromUrl(href);
@@ -1406,6 +1407,21 @@ var SocialLinkIcon = React.forwardRef(
1406
1407
  const accessibleLabel = React.useMemo(() => {
1407
1408
  return label || platformName;
1408
1409
  }, [label, platformName]);
1410
+ const icon = React.useMemo(() => {
1411
+ return /* @__PURE__ */ jsx(
1412
+ DynamicIcon,
1413
+ {
1414
+ name: iconName,
1415
+ size: iconSize,
1416
+ color: iconColor,
1417
+ className: iconClassName,
1418
+ alt: accessibleLabel
1419
+ }
1420
+ );
1421
+ }, [iconName, iconSize, iconColor, iconClassName, accessibleLabel]);
1422
+ if (iconOnly) {
1423
+ return icon;
1424
+ }
1409
1425
  return /* @__PURE__ */ jsx(
1410
1426
  Pressable,
1411
1427
  {
@@ -1417,16 +1433,7 @@ var SocialLinkIcon = React.forwardRef(
1417
1433
  className
1418
1434
  ),
1419
1435
  ...pressableProps,
1420
- children: /* @__PURE__ */ jsx(
1421
- DynamicIcon,
1422
- {
1423
- name: iconName,
1424
- size: iconSize,
1425
- color: iconColor,
1426
- className: iconClassName,
1427
- alt: accessibleLabel
1428
- }
1429
- )
1436
+ children: icon
1430
1437
  }
1431
1438
  );
1432
1439
  }
@@ -1038,6 +1038,7 @@ var SocialLinkIcon = React__namespace.forwardRef(
1038
1038
  iconClassName,
1039
1039
  className,
1040
1040
  iconNameOverride,
1041
+ iconOnly = false,
1041
1042
  ...pressableProps
1042
1043
  }, ref) => {
1043
1044
  const platform = usePlatformFromUrl.usePlatformFromUrl(href);
@@ -1050,6 +1051,21 @@ var SocialLinkIcon = React__namespace.forwardRef(
1050
1051
  const accessibleLabel = React__namespace.useMemo(() => {
1051
1052
  return label || platformName;
1052
1053
  }, [label, platformName]);
1054
+ const icon = React__namespace.useMemo(() => {
1055
+ return /* @__PURE__ */ jsxRuntime.jsx(
1056
+ DynamicIcon,
1057
+ {
1058
+ name: iconName,
1059
+ size: iconSize,
1060
+ color: iconColor,
1061
+ className: iconClassName,
1062
+ alt: accessibleLabel
1063
+ }
1064
+ );
1065
+ }, [iconName, iconSize, iconColor, iconClassName, accessibleLabel]);
1066
+ if (iconOnly) {
1067
+ return icon;
1068
+ }
1053
1069
  return /* @__PURE__ */ jsxRuntime.jsx(
1054
1070
  Pressable,
1055
1071
  {
@@ -1061,16 +1077,7 @@ var SocialLinkIcon = React__namespace.forwardRef(
1061
1077
  className
1062
1078
  ),
1063
1079
  ...pressableProps,
1064
- children: /* @__PURE__ */ jsxRuntime.jsx(
1065
- DynamicIcon,
1066
- {
1067
- name: iconName,
1068
- size: iconSize,
1069
- color: iconColor,
1070
- className: iconClassName,
1071
- alt: accessibleLabel
1072
- }
1073
- )
1080
+ children: icon
1074
1081
  }
1075
1082
  );
1076
1083
  }
@@ -1017,6 +1017,7 @@ var SocialLinkIcon = React.forwardRef(
1017
1017
  iconClassName,
1018
1018
  className,
1019
1019
  iconNameOverride,
1020
+ iconOnly = false,
1020
1021
  ...pressableProps
1021
1022
  }, ref) => {
1022
1023
  const platform = usePlatformFromUrl(href);
@@ -1029,6 +1030,21 @@ var SocialLinkIcon = React.forwardRef(
1029
1030
  const accessibleLabel = React.useMemo(() => {
1030
1031
  return label || platformName;
1031
1032
  }, [label, platformName]);
1033
+ const icon = React.useMemo(() => {
1034
+ return /* @__PURE__ */ jsx(
1035
+ DynamicIcon,
1036
+ {
1037
+ name: iconName,
1038
+ size: iconSize,
1039
+ color: iconColor,
1040
+ className: iconClassName,
1041
+ alt: accessibleLabel
1042
+ }
1043
+ );
1044
+ }, [iconName, iconSize, iconColor, iconClassName, accessibleLabel]);
1045
+ if (iconOnly) {
1046
+ return icon;
1047
+ }
1032
1048
  return /* @__PURE__ */ jsx(
1033
1049
  Pressable,
1034
1050
  {
@@ -1040,16 +1056,7 @@ var SocialLinkIcon = React.forwardRef(
1040
1056
  className
1041
1057
  ),
1042
1058
  ...pressableProps,
1043
- children: /* @__PURE__ */ jsx(
1044
- DynamicIcon,
1045
- {
1046
- name: iconName,
1047
- size: iconSize,
1048
- color: iconColor,
1049
- className: iconClassName,
1050
- alt: accessibleLabel
1051
- }
1052
- )
1059
+ children: icon
1053
1060
  }
1054
1061
  );
1055
1062
  }
@@ -1485,6 +1485,7 @@ var SocialLinkIcon = React__namespace.forwardRef(
1485
1485
  iconClassName,
1486
1486
  className,
1487
1487
  iconNameOverride,
1488
+ iconOnly = false,
1488
1489
  ...pressableProps
1489
1490
  }, ref) => {
1490
1491
  const platform = usePlatformFromUrl.usePlatformFromUrl(href);
@@ -1497,6 +1498,21 @@ var SocialLinkIcon = React__namespace.forwardRef(
1497
1498
  const accessibleLabel = React__namespace.useMemo(() => {
1498
1499
  return label || platformName;
1499
1500
  }, [label, platformName]);
1501
+ const icon = React__namespace.useMemo(() => {
1502
+ return /* @__PURE__ */ jsxRuntime.jsx(
1503
+ DynamicIcon,
1504
+ {
1505
+ name: iconName,
1506
+ size: iconSize,
1507
+ color: iconColor,
1508
+ className: iconClassName,
1509
+ alt: accessibleLabel
1510
+ }
1511
+ );
1512
+ }, [iconName, iconSize, iconColor, iconClassName, accessibleLabel]);
1513
+ if (iconOnly) {
1514
+ return icon;
1515
+ }
1500
1516
  return /* @__PURE__ */ jsxRuntime.jsx(
1501
1517
  Pressable,
1502
1518
  {
@@ -1508,16 +1524,7 @@ var SocialLinkIcon = React__namespace.forwardRef(
1508
1524
  className
1509
1525
  ),
1510
1526
  ...pressableProps,
1511
- children: /* @__PURE__ */ jsxRuntime.jsx(
1512
- DynamicIcon,
1513
- {
1514
- name: iconName,
1515
- size: iconSize,
1516
- color: iconColor,
1517
- className: iconClassName,
1518
- alt: accessibleLabel
1519
- }
1520
- )
1527
+ children: icon
1521
1528
  }
1522
1529
  );
1523
1530
  }
@@ -1464,6 +1464,7 @@ var SocialLinkIcon = React.forwardRef(
1464
1464
  iconClassName,
1465
1465
  className,
1466
1466
  iconNameOverride,
1467
+ iconOnly = false,
1467
1468
  ...pressableProps
1468
1469
  }, ref) => {
1469
1470
  const platform = usePlatformFromUrl(href);
@@ -1476,6 +1477,21 @@ var SocialLinkIcon = React.forwardRef(
1476
1477
  const accessibleLabel = React.useMemo(() => {
1477
1478
  return label || platformName;
1478
1479
  }, [label, platformName]);
1480
+ const icon = React.useMemo(() => {
1481
+ return /* @__PURE__ */ jsx(
1482
+ DynamicIcon,
1483
+ {
1484
+ name: iconName,
1485
+ size: iconSize,
1486
+ color: iconColor,
1487
+ className: iconClassName,
1488
+ alt: accessibleLabel
1489
+ }
1490
+ );
1491
+ }, [iconName, iconSize, iconColor, iconClassName, accessibleLabel]);
1492
+ if (iconOnly) {
1493
+ return icon;
1494
+ }
1479
1495
  return /* @__PURE__ */ jsx(
1480
1496
  Pressable,
1481
1497
  {
@@ -1487,16 +1503,7 @@ var SocialLinkIcon = React.forwardRef(
1487
1503
  className
1488
1504
  ),
1489
1505
  ...pressableProps,
1490
- children: /* @__PURE__ */ jsx(
1491
- DynamicIcon,
1492
- {
1493
- name: iconName,
1494
- size: iconSize,
1495
- color: iconColor,
1496
- className: iconClassName,
1497
- alt: accessibleLabel
1498
- }
1499
- )
1506
+ children: icon
1500
1507
  }
1501
1508
  );
1502
1509
  }
@@ -1038,6 +1038,7 @@ var SocialLinkIcon = React__namespace.forwardRef(
1038
1038
  iconClassName,
1039
1039
  className,
1040
1040
  iconNameOverride,
1041
+ iconOnly = false,
1041
1042
  ...pressableProps
1042
1043
  }, ref) => {
1043
1044
  const platform = usePlatformFromUrl.usePlatformFromUrl(href);
@@ -1050,6 +1051,21 @@ var SocialLinkIcon = React__namespace.forwardRef(
1050
1051
  const accessibleLabel = React__namespace.useMemo(() => {
1051
1052
  return label || platformName;
1052
1053
  }, [label, platformName]);
1054
+ const icon = React__namespace.useMemo(() => {
1055
+ return /* @__PURE__ */ jsxRuntime.jsx(
1056
+ DynamicIcon,
1057
+ {
1058
+ name: iconName,
1059
+ size: iconSize,
1060
+ color: iconColor,
1061
+ className: iconClassName,
1062
+ alt: accessibleLabel
1063
+ }
1064
+ );
1065
+ }, [iconName, iconSize, iconColor, iconClassName, accessibleLabel]);
1066
+ if (iconOnly) {
1067
+ return icon;
1068
+ }
1053
1069
  return /* @__PURE__ */ jsxRuntime.jsx(
1054
1070
  Pressable,
1055
1071
  {
@@ -1061,16 +1077,7 @@ var SocialLinkIcon = React__namespace.forwardRef(
1061
1077
  className
1062
1078
  ),
1063
1079
  ...pressableProps,
1064
- children: /* @__PURE__ */ jsxRuntime.jsx(
1065
- DynamicIcon,
1066
- {
1067
- name: iconName,
1068
- size: iconSize,
1069
- color: iconColor,
1070
- className: iconClassName,
1071
- alt: accessibleLabel
1072
- }
1073
- )
1080
+ children: icon
1074
1081
  }
1075
1082
  );
1076
1083
  }
@@ -1017,6 +1017,7 @@ var SocialLinkIcon = React.forwardRef(
1017
1017
  iconClassName,
1018
1018
  className,
1019
1019
  iconNameOverride,
1020
+ iconOnly = false,
1020
1021
  ...pressableProps
1021
1022
  }, ref) => {
1022
1023
  const platform = usePlatformFromUrl(href);
@@ -1029,6 +1030,21 @@ var SocialLinkIcon = React.forwardRef(
1029
1030
  const accessibleLabel = React.useMemo(() => {
1030
1031
  return label || platformName;
1031
1032
  }, [label, platformName]);
1033
+ const icon = React.useMemo(() => {
1034
+ return /* @__PURE__ */ jsx(
1035
+ DynamicIcon,
1036
+ {
1037
+ name: iconName,
1038
+ size: iconSize,
1039
+ color: iconColor,
1040
+ className: iconClassName,
1041
+ alt: accessibleLabel
1042
+ }
1043
+ );
1044
+ }, [iconName, iconSize, iconColor, iconClassName, accessibleLabel]);
1045
+ if (iconOnly) {
1046
+ return icon;
1047
+ }
1032
1048
  return /* @__PURE__ */ jsx(
1033
1049
  Pressable,
1034
1050
  {
@@ -1040,16 +1056,7 @@ var SocialLinkIcon = React.forwardRef(
1040
1056
  className
1041
1057
  ),
1042
1058
  ...pressableProps,
1043
- children: /* @__PURE__ */ jsx(
1044
- DynamicIcon,
1045
- {
1046
- name: iconName,
1047
- size: iconSize,
1048
- color: iconColor,
1049
- className: iconClassName,
1050
- alt: accessibleLabel
1051
- }
1052
- )
1059
+ children: icon
1053
1060
  }
1054
1061
  );
1055
1062
  }