dune-react 0.0.31 → 0.0.33

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 (368) hide show
  1. package/dist/components/puck-base/article-card.d.ts +2 -2
  2. package/dist/components/puck-base/article-card.js +2 -2
  3. package/dist/components/puck-base/card.d.ts +2 -2
  4. package/dist/components/puck-base/card.js +2 -2
  5. package/dist/components/puck-base/index.d.ts +2 -1
  6. package/dist/components/puck-base/media.d.ts +12 -0
  7. package/dist/components/puck-base/media.js +576 -0
  8. package/dist/components/puck-base/social-links.d.ts +7 -0
  9. package/dist/components/puck-base/social-links.js +23 -0
  10. package/dist/components/puck-block/banner-sections/css-marquee-banner/css-marquee-banner.js +6 -6
  11. package/dist/components/puck-block/banner-sections/css-marquee-banner/index.d.ts +1 -1
  12. package/dist/components/puck-block/banner-sections/css-marquee-banner/index.js +2 -2
  13. package/dist/components/puck-block/banner-sections/dismissible-banner/index.d.ts +42 -0
  14. package/dist/components/puck-block/banner-sections/dual-row-marquee/dual-row-marquee.js +10 -10
  15. package/dist/components/puck-block/banner-sections/dual-row-marquee/index.d.ts +2 -2
  16. package/dist/components/puck-block/banner-sections/dual-row-marquee/index.js +3 -3
  17. package/dist/components/puck-block/banner-sections/props.d.ts +9 -12
  18. package/dist/components/puck-block/contact-sections/centered-form/centered-form.js +1 -5
  19. package/dist/components/puck-block/contact-sections/contact-cards-grid/contact-cards-grid.js +1 -5
  20. package/dist/components/puck-block/contact-sections/contact-modal/contact-modal.js +1 -5
  21. package/dist/components/puck-block/contact-sections/form-with-media/form-with-media.js +4 -8
  22. package/dist/components/puck-block/contact-sections/form-with-media/index.d.ts +1 -1
  23. package/dist/components/puck-block/contact-sections/form-with-media/index.js +2 -2
  24. package/dist/components/puck-block/contact-sections/header-form-cards/header-form-cards.js +1 -5
  25. package/dist/components/puck-block/contact-sections/header-info-fullwidth/header-info-fullwidth.js +4 -8
  26. package/dist/components/puck-block/contact-sections/header-info-fullwidth/index.d.ts +1 -1
  27. package/dist/components/puck-block/contact-sections/header-info-fullwidth/index.js +2 -2
  28. package/dist/components/puck-block/contact-sections/info-cards-media/index.d.ts +1 -1
  29. package/dist/components/puck-block/contact-sections/info-cards-media/index.js +2 -2
  30. package/dist/components/puck-block/contact-sections/info-cards-media/info-cards-media.js +4 -8
  31. package/dist/components/puck-block/contact-sections/location-cards-grid/index.d.ts +1 -1
  32. package/dist/components/puck-block/contact-sections/location-cards-grid/index.js +2 -2
  33. package/dist/components/puck-block/contact-sections/location-cards-grid/location-cards-grid.js +10 -14
  34. package/dist/components/puck-block/contact-sections/props.d.ts +5 -16
  35. package/dist/components/puck-block/contact-sections/split-info-form/index.d.ts +1 -1
  36. package/dist/components/puck-block/contact-sections/split-info-form/split-info-form.d.ts +7 -2
  37. package/dist/components/puck-block/contact-sections/split-info-form/split-info-form.js +1 -2
  38. package/dist/components/puck-block/contact-sections/tab-locations/index.d.ts +57 -8
  39. package/dist/components/puck-block/contact-sections/tab-locations/index.js +7 -7
  40. package/dist/components/puck-block/contact-sections/tab-locations/tab-locations.js +40 -47
  41. package/dist/components/puck-block/cta-sections/feature-card-cta/feature-card-cta.d.ts +2 -2
  42. package/dist/components/puck-block/cta-sections/feature-card-cta/feature-card-cta.js +2 -2
  43. package/dist/components/puck-block/cta-sections/feature-card-cta/index.js +2 -2
  44. package/dist/components/puck-block/cta-sections/mouse-track-cta/index.d.ts +1 -1
  45. package/dist/components/puck-block/cta-sections/mouse-track-cta/index.js +2 -2
  46. package/dist/components/puck-block/cta-sections/mouse-track-cta/mouse-track-cta.d.ts +2 -2
  47. package/dist/components/puck-block/cta-sections/mouse-track-cta/mouse-track-cta.js +6 -6
  48. package/dist/components/puck-block/cta-sections/props.d.ts +3 -3
  49. package/dist/components/puck-block/cta-sections/side-media-cta/index.d.ts +1 -1
  50. package/dist/components/puck-block/cta-sections/side-media-cta/index.js +2 -2
  51. package/dist/components/puck-block/cta-sections/side-media-cta/side-media-cta.js +4 -4
  52. package/dist/components/puck-block/cta-sections/text-block-cta/index.d.ts +2 -2
  53. package/dist/components/puck-block/cta-sections/text-block-cta/index.js +3 -3
  54. package/dist/components/puck-block/cta-sections/text-block-cta/text-block-cta.d.ts +3 -3
  55. package/dist/components/puck-block/cta-sections/text-block-cta/text-block-cta.js +10 -10
  56. package/dist/components/puck-block/faq-sections/icon-card-faq/icon-card-faq.d.ts +2 -2
  57. package/dist/components/puck-block/faq-sections/icon-card-faq/icon-card-faq.js +2 -2
  58. package/dist/components/puck-block/faq-sections/icon-card-faq/index.js +2 -2
  59. package/dist/components/puck-block/faq-sections/props.d.ts +3 -3
  60. package/dist/components/puck-block/feature-sections/feature-cards-grid/component.d.ts +2 -2
  61. package/dist/components/puck-block/feature-sections/feature-cards-grid/component.js +6 -6
  62. package/dist/components/puck-block/feature-sections/feature-cards-grid/index.d.ts +1 -1
  63. package/dist/components/puck-block/feature-sections/feature-cards-grid/index.js +3 -3
  64. package/dist/components/puck-block/feature-sections/feature-list-split/component.d.ts +2 -2
  65. package/dist/components/puck-block/feature-sections/feature-list-split/component.js +6 -6
  66. package/dist/components/puck-block/feature-sections/feature-list-split/index.d.ts +1 -1
  67. package/dist/components/puck-block/feature-sections/feature-list-split/index.js +3 -3
  68. package/dist/components/puck-block/feature-sections/props.d.ts +3 -3
  69. package/dist/components/puck-block/feature-sections/tab-feature/component.d.ts +2 -2
  70. package/dist/components/puck-block/feature-sections/tab-feature/component.js +12 -12
  71. package/dist/components/puck-block/feature-sections/tab-feature/index.d.ts +1 -1
  72. package/dist/components/puck-block/feature-sections/tab-feature/index.js +2 -2
  73. package/dist/components/puck-block/feature-sections/text-media-split/component.js +5 -5
  74. package/dist/components/puck-block/feature-sections/text-media-split/index.d.ts +1 -1
  75. package/dist/components/puck-block/feature-sections/text-media-split/index.js +2 -2
  76. package/dist/components/puck-block/feature-sections/text-only-section/component.d.ts +2 -2
  77. package/dist/components/puck-block/feature-sections/text-only-section/component.js +2 -2
  78. package/dist/components/puck-block/feature-sections/text-only-section/index.d.ts +1 -1
  79. package/dist/components/puck-block/feature-sections/text-only-section/index.js +2 -2
  80. package/dist/components/puck-block/footer-sections/centered-minimal-footer/centered-minimal-footer.js +9 -9
  81. package/dist/components/puck-block/footer-sections/centered-minimal-footer/index.d.ts +11 -0
  82. package/dist/components/puck-block/footer-sections/centered-minimal-footer/index.js +3 -2
  83. package/dist/components/puck-block/footer-sections/compact-newsletter-footer/index.d.ts +11 -0
  84. package/dist/components/puck-block/footer-sections/contact-links-footer/contact-links-footer.d.ts +7 -2
  85. package/dist/components/puck-block/footer-sections/contact-links-footer/contact-links-footer.js +9 -9
  86. package/dist/components/puck-block/footer-sections/contact-links-footer/index.d.ts +61 -10
  87. package/dist/components/puck-block/footer-sections/contact-links-footer/index.js +3 -2
  88. package/dist/components/puck-block/footer-sections/cta-links-footer/cta-links-footer.js +9 -9
  89. package/dist/components/puck-block/footer-sections/cta-links-footer/index.d.ts +61 -10
  90. package/dist/components/puck-block/footer-sections/cta-links-footer/index.js +3 -3
  91. package/dist/components/puck-block/footer-sections/links-newsletter-footer/index.d.ts +61 -10
  92. package/dist/components/puck-block/footer-sections/newsletter-links-footer/index.d.ts +11 -0
  93. package/dist/components/puck-block/footer-sections/newsletter-top-links-footer/index.d.ts +61 -10
  94. package/dist/components/puck-block/footer-sections/props.d.ts +17 -10
  95. package/dist/components/puck-block/footer-sections/props.js +8 -0
  96. package/dist/components/puck-block/gallery-sections/asymmetric-grid/asymmetric-grid.js +7 -7
  97. package/dist/components/puck-block/gallery-sections/asymmetric-grid/index.d.ts +1 -1
  98. package/dist/components/puck-block/gallery-sections/asymmetric-grid/index.js +2 -2
  99. package/dist/components/puck-block/gallery-sections/fullscreen-portfolio/fullscreen-portfolio.js +12 -12
  100. package/dist/components/puck-block/gallery-sections/fullscreen-portfolio/index.d.ts +1 -1
  101. package/dist/components/puck-block/gallery-sections/fullscreen-portfolio/index.js +2 -2
  102. package/dist/components/puck-block/gallery-sections/image-carousel/image-carousel.js +12 -12
  103. package/dist/components/puck-block/gallery-sections/image-carousel/index.d.ts +1 -1
  104. package/dist/components/puck-block/gallery-sections/image-carousel/index.js +2 -2
  105. package/dist/components/puck-block/gallery-sections/interactive-portfolio/index.d.ts +1 -1
  106. package/dist/components/puck-block/gallery-sections/interactive-portfolio/index.js +2 -2
  107. package/dist/components/puck-block/gallery-sections/interactive-portfolio/interactive-portfolio.js +14 -14
  108. package/dist/components/puck-block/gallery-sections/masonry-grid/index.d.ts +1 -1
  109. package/dist/components/puck-block/gallery-sections/masonry-grid/index.js +2 -2
  110. package/dist/components/puck-block/gallery-sections/masonry-grid/masonry-grid.js +7 -7
  111. package/dist/components/puck-block/gallery-sections/portfolio-cards/index.d.ts +1 -1
  112. package/dist/components/puck-block/gallery-sections/portfolio-cards/index.js +2 -2
  113. package/dist/components/puck-block/gallery-sections/portfolio-cards/portfolio-cards.js +6 -6
  114. package/dist/components/puck-block/gallery-sections/portfolio-divider/index.d.ts +1 -1
  115. package/dist/components/puck-block/gallery-sections/portfolio-divider/index.js +2 -2
  116. package/dist/components/puck-block/gallery-sections/portfolio-divider/portfolio-divider.js +9 -9
  117. package/dist/components/puck-block/gallery-sections/props.d.ts +8 -8
  118. package/dist/components/puck-block/gallery-sections/scroll-parallax/index.d.ts +1 -1
  119. package/dist/components/puck-block/gallery-sections/scroll-parallax/index.js +2 -2
  120. package/dist/components/puck-block/gallery-sections/scroll-parallax/scroll-parallax.js +11 -11
  121. package/dist/components/puck-block/gallery-sections/scroll-parallax-portfolio/index.d.ts +1 -1
  122. package/dist/components/puck-block/gallery-sections/scroll-parallax-portfolio/index.js +5 -5
  123. package/dist/components/puck-block/gallery-sections/scroll-parallax-portfolio/scroll-parallax-portfolio.js +26 -26
  124. package/dist/components/puck-block/gallery-sections/split-carousel/index.d.ts +1 -1
  125. package/dist/components/puck-block/gallery-sections/split-carousel/index.js +2 -2
  126. package/dist/components/puck-block/gallery-sections/split-carousel/split-carousel.js +6 -6
  127. package/dist/components/puck-block/gallery-sections/static-grid/index.d.ts +1 -1
  128. package/dist/components/puck-block/gallery-sections/static-grid/index.js +2 -2
  129. package/dist/components/puck-block/gallery-sections/static-grid/static-grid.js +7 -7
  130. package/dist/components/puck-block/header-sections/centered-navbar/centered-navbar.js +31 -24
  131. package/dist/components/puck-block/header-sections/centered-navbar/index.d.ts +92 -0
  132. package/dist/components/puck-block/header-sections/centered-navbar/index.js +9 -4
  133. package/dist/components/puck-block/header-sections/drawer-navbar/drawer-navbar.js +32 -25
  134. package/dist/components/puck-block/header-sections/drawer-navbar/index.d.ts +92 -0
  135. package/dist/components/puck-block/header-sections/drawer-navbar/index.js +5 -3
  136. package/dist/components/puck-block/header-sections/floating-bordered-navbar/floating-bordered-navbar.js +27 -22
  137. package/dist/components/puck-block/header-sections/floating-bordered-navbar/index.d.ts +91 -3
  138. package/dist/components/puck-block/header-sections/floating-bordered-navbar/index.js +3 -3
  139. package/dist/components/puck-block/header-sections/fullscreen-overlay-navbar/fullscreen-overlay-navbar.js +23 -18
  140. package/dist/components/puck-block/header-sections/fullscreen-overlay-navbar/index.d.ts +91 -3
  141. package/dist/components/puck-block/header-sections/fullscreen-overlay-navbar/index.js +3 -3
  142. package/dist/components/puck-block/header-sections/mega-menu-navbar/index.d.ts +64 -0
  143. package/dist/components/puck-block/header-sections/mega-menu-navbar/index.js +3 -3
  144. package/dist/components/puck-block/header-sections/mega-menu-navbar/mega-menu-navbar.js +13 -6
  145. package/dist/components/puck-block/header-sections/props.d.ts +17 -5
  146. package/dist/components/puck-block/header-sections/props.js +8 -0
  147. package/dist/components/puck-block/header-sections/standard-navbar/index.d.ts +64 -0
  148. package/dist/components/puck-block/header-sections/standard-navbar/index.js +6 -4
  149. package/dist/components/puck-block/header-sections/standard-navbar/standard-navbar.js +9 -5
  150. package/dist/components/puck-block/hero-sections/carousel-hero/component.js +8 -8
  151. package/dist/components/puck-block/hero-sections/carousel-hero/index.d.ts +1 -1
  152. package/dist/components/puck-block/hero-sections/carousel-hero/index.js +2 -2
  153. package/dist/components/puck-block/hero-sections/column-scroll-hero/component.d.ts +3 -3
  154. package/dist/components/puck-block/hero-sections/column-scroll-hero/component.js +14 -14
  155. package/dist/components/puck-block/hero-sections/column-scroll-hero/index.d.ts +2 -2
  156. package/dist/components/puck-block/hero-sections/column-scroll-hero/index.js +3 -3
  157. package/dist/components/puck-block/hero-sections/dual-marquee-hero/component.js +11 -11
  158. package/dist/components/puck-block/hero-sections/dual-marquee-hero/index.d.ts +1 -1
  159. package/dist/components/puck-block/hero-sections/dual-marquee-hero/index.js +2 -2
  160. package/dist/components/puck-block/hero-sections/fullscreen-hero/index.d.ts +1 -1
  161. package/dist/components/puck-block/hero-sections/fullscreen-video-hero/component.js +5 -5
  162. package/dist/components/puck-block/hero-sections/fullscreen-video-hero/index.d.ts +1 -1
  163. package/dist/components/puck-block/hero-sections/fullscreen-video-hero/index.js +2 -2
  164. package/dist/components/puck-block/hero-sections/grid-expand-hero/component.js +16 -16
  165. package/dist/components/puck-block/hero-sections/grid-expand-hero/index.d.ts +1 -1
  166. package/dist/components/puck-block/hero-sections/grid-expand-hero/index.js +2 -2
  167. package/dist/components/puck-block/hero-sections/horizontal-marquee-hero/component.js +11 -11
  168. package/dist/components/puck-block/hero-sections/horizontal-marquee-hero/index.d.ts +1 -1
  169. package/dist/components/puck-block/hero-sections/horizontal-marquee-hero/index.js +2 -2
  170. package/dist/components/puck-block/hero-sections/media-text-hero/index.d.ts +1 -1
  171. package/dist/components/puck-block/hero-sections/mouse-track-hero/component.d.ts +3 -3
  172. package/dist/components/puck-block/hero-sections/mouse-track-hero/component.js +6 -6
  173. package/dist/components/puck-block/hero-sections/mouse-track-hero/index.js +3 -3
  174. package/dist/components/puck-block/hero-sections/multi-image-grid-hero/index.d.ts +1 -1
  175. package/dist/components/puck-block/hero-sections/multi-image-grid-hero/index.js +2 -2
  176. package/dist/components/puck-block/hero-sections/multi-image-grid-hero/multi-image-grid-hero.js +7 -7
  177. package/dist/components/puck-block/hero-sections/overlapping-image-hero/index.js +4 -4
  178. package/dist/components/puck-block/hero-sections/overlapping-image-hero/overlapping-image-hero.d.ts +4 -4
  179. package/dist/components/puck-block/hero-sections/overlapping-image-hero/overlapping-image-hero.js +16 -16
  180. package/dist/components/puck-block/hero-sections/parallax-images-hero/component.js +12 -12
  181. package/dist/components/puck-block/hero-sections/parallax-images-hero/index.d.ts +1 -1
  182. package/dist/components/puck-block/hero-sections/parallax-images-hero/index.js +2 -2
  183. package/dist/components/puck-block/hero-sections/props.d.ts +3 -3
  184. package/dist/components/puck-block/hero-sections/scatter-parallax-hero/component.js +5 -5
  185. package/dist/components/puck-block/hero-sections/scatter-parallax-hero/index.d.ts +1 -1
  186. package/dist/components/puck-block/hero-sections/scatter-parallax-hero/index.js +2 -2
  187. package/dist/components/puck-block/hero-sections/scroll-expand-video-hero/component.js +5 -5
  188. package/dist/components/puck-block/hero-sections/scroll-expand-video-hero/index.d.ts +1 -1
  189. package/dist/components/puck-block/hero-sections/scroll-expand-video-hero/index.js +2 -2
  190. package/dist/components/puck-block/hero-sections/scroll-zoom-hero/component.js +9 -9
  191. package/dist/components/puck-block/hero-sections/scroll-zoom-hero/index.d.ts +1 -1
  192. package/dist/components/puck-block/hero-sections/scroll-zoom-hero/index.js +2 -2
  193. package/dist/components/puck-block/hero-sections/split-hero/index.d.ts +1 -1
  194. package/dist/components/puck-block/hero-sections/stacked-hero/index.d.ts +1 -1
  195. package/dist/components/puck-block/hero-sections/sticky-expand-hero/component.js +12 -12
  196. package/dist/components/puck-block/hero-sections/sticky-expand-hero/index.d.ts +1 -1
  197. package/dist/components/puck-block/hero-sections/sticky-expand-hero/index.js +2 -2
  198. package/dist/components/puck-block/hero-sections/sticky-video-hero/component.d.ts +2 -2
  199. package/dist/components/puck-block/hero-sections/sticky-video-hero/component.js +13 -13
  200. package/dist/components/puck-block/hero-sections/sticky-video-hero/index.d.ts +1 -1
  201. package/dist/components/puck-block/hero-sections/sticky-video-hero/index.js +3 -3
  202. package/dist/components/puck-block/hero-sections/tab-hero/component.d.ts +2 -2
  203. package/dist/components/puck-block/hero-sections/tab-hero/component.js +7 -6
  204. package/dist/components/puck-block/hero-sections/tab-hero/index.d.ts +4 -7
  205. package/dist/components/puck-block/hero-sections/tab-hero/index.js +2 -7
  206. package/dist/components/puck-block/hero-sections/three-image-parallax-hero/component.d.ts +4 -4
  207. package/dist/components/puck-block/hero-sections/three-image-parallax-hero/component.js +4 -4
  208. package/dist/components/puck-block/hero-sections/three-image-parallax-hero/index.js +4 -4
  209. package/dist/components/puck-block/hero-sections/vertical-gallery-hero/component.js +11 -11
  210. package/dist/components/puck-block/hero-sections/vertical-gallery-hero/index.d.ts +1 -1
  211. package/dist/components/puck-block/hero-sections/vertical-gallery-hero/index.js +2 -2
  212. package/dist/components/puck-block/hero-sections/zoom-grid-hero/component.js +7 -7
  213. package/dist/components/puck-block/hero-sections/zoom-grid-hero/index.d.ts +1 -1
  214. package/dist/components/puck-block/hero-sections/zoom-grid-hero/index.js +2 -2
  215. package/dist/components/puck-block/metrics-sections/center-media-stats/center-media-stats.js +5 -5
  216. package/dist/components/puck-block/metrics-sections/center-media-stats/index.d.ts +1 -1
  217. package/dist/components/puck-block/metrics-sections/center-media-stats/index.js +2 -2
  218. package/dist/components/puck-block/metrics-sections/header-stats-row/header-stats-row.js +4 -4
  219. package/dist/components/puck-block/metrics-sections/header-stats-row/index.d.ts +1 -1
  220. package/dist/components/puck-block/metrics-sections/header-stats-row/index.js +2 -2
  221. package/dist/components/puck-block/metrics-sections/mixed-grid-stats/index.d.ts +2 -2
  222. package/dist/components/puck-block/metrics-sections/mixed-grid-stats/index.js +3 -3
  223. package/dist/components/puck-block/metrics-sections/mixed-grid-stats/mixed-grid-stats.d.ts +2 -2
  224. package/dist/components/puck-block/metrics-sections/mixed-grid-stats/mixed-grid-stats.js +7 -7
  225. package/dist/components/puck-block/metrics-sections/props.d.ts +6 -6
  226. package/dist/components/puck-block/metrics-sections/split-stats/index.d.ts +1 -1
  227. package/dist/components/puck-block/metrics-sections/split-stats/index.js +2 -2
  228. package/dist/components/puck-block/metrics-sections/split-stats/split-stats.js +4 -4
  229. package/dist/components/puck-block/metrics-sections/tab-stats/index.d.ts +2 -2
  230. package/dist/components/puck-block/metrics-sections/tab-stats/index.js +3 -3
  231. package/dist/components/puck-block/metrics-sections/tab-stats/tab-stats.d.ts +3 -3
  232. package/dist/components/puck-block/metrics-sections/tab-stats/tab-stats.js +11 -11
  233. package/dist/components/puck-block/pricing-sections/pricing-comparison-table/component.js +13 -0
  234. package/dist/components/puck-block/pricing-sections/props.d.ts +2 -2
  235. package/dist/components/puck-block/pricing-sections/single-pricing-card/component.d.ts +2 -2
  236. package/dist/components/puck-block/pricing-sections/single-pricing-card/component.js +3 -3
  237. package/dist/components/puck-block/pricing-sections/split-pricing/component.d.ts +2 -2
  238. package/dist/components/puck-block/pricing-sections/split-pricing/component.js +4 -3
  239. package/dist/components/puck-block/pricing-sections/tab-pricing-grid/component.d.ts +2 -2
  240. package/dist/components/puck-block/pricing-sections/tab-single-pricing/component.d.ts +2 -2
  241. package/dist/components/puck-block/registry.generated.d.ts +796 -124
  242. package/dist/components/puck-block/showcase-sections/compact-timeline/component.d.ts +2 -2
  243. package/dist/components/puck-block/showcase-sections/compact-timeline/component.js +3 -3
  244. package/dist/components/puck-block/showcase-sections/compact-timeline/index.d.ts +2 -2
  245. package/dist/components/puck-block/showcase-sections/compact-timeline/index.js +2 -2
  246. package/dist/components/puck-block/showcase-sections/horizontal-timeline/component.d.ts +2 -2
  247. package/dist/components/puck-block/showcase-sections/horizontal-timeline/component.js +3 -3
  248. package/dist/components/puck-block/showcase-sections/horizontal-timeline/index.d.ts +2 -2
  249. package/dist/components/puck-block/showcase-sections/horizontal-timeline/index.js +2 -2
  250. package/dist/components/puck-block/showcase-sections/props.d.ts +2 -2
  251. package/dist/components/puck-block/showcase-sections/single-column-timeline/component.d.ts +2 -2
  252. package/dist/components/puck-block/showcase-sections/single-column-timeline/component.js +3 -3
  253. package/dist/components/puck-block/showcase-sections/single-column-timeline/index.d.ts +2 -2
  254. package/dist/components/puck-block/showcase-sections/single-column-timeline/index.js +2 -2
  255. package/dist/components/puck-block/showcase-sections/sticky-scroll-timeline/component.d.ts +2 -2
  256. package/dist/components/puck-block/showcase-sections/sticky-scroll-timeline/component.js +3 -3
  257. package/dist/components/puck-block/showcase-sections/sticky-scroll-timeline/index.d.ts +2 -2
  258. package/dist/components/puck-block/showcase-sections/sticky-scroll-timeline/index.js +2 -2
  259. package/dist/components/puck-block/showcase-sections/tab-timeline/component.d.ts +2 -2
  260. package/dist/components/puck-block/showcase-sections/tab-timeline/component.js +8 -8
  261. package/dist/components/puck-block/showcase-sections/tab-timeline/index.d.ts +2 -2
  262. package/dist/components/puck-block/showcase-sections/tab-timeline/index.js +2 -2
  263. package/dist/components/puck-block/showcase-sections/zigzag-timeline/component.d.ts +2 -2
  264. package/dist/components/puck-block/showcase-sections/zigzag-timeline/component.js +3 -3
  265. package/dist/components/puck-block/showcase-sections/zigzag-timeline/index.d.ts +2 -2
  266. package/dist/components/puck-block/showcase-sections/zigzag-timeline/index.js +2 -2
  267. package/dist/components/puck-block/team-sections/props.d.ts +2 -3
  268. package/dist/components/puck-block/team-sections/team-carousel/component.d.ts +2 -2
  269. package/dist/components/puck-block/team-sections/team-carousel/component.js +3 -3
  270. package/dist/components/puck-block/team-sections/team-grid/component.d.ts +2 -2
  271. package/dist/components/puck-block/team-sections/team-grid/component.js +3 -3
  272. package/dist/components/puck-block/team-sections/team-inline-card/component.d.ts +2 -2
  273. package/dist/components/puck-block/team-sections/team-inline-card/component.js +3 -3
  274. package/dist/components/puck-block/team-sections/team-sticky-scatter/component.d.ts +2 -2
  275. package/dist/components/puck-block/team-sections/team-sticky-scatter/component.js +3 -3
  276. package/dist/components/puck-block/team-sections/team-two-column/component.d.ts +2 -2
  277. package/dist/components/puck-block/team-sections/team-two-column/component.js +3 -3
  278. package/dist/components/puck-block/testimonial-sections/bento-testimonial/component.d.ts +4 -4
  279. package/dist/components/puck-block/testimonial-sections/bento-testimonial/component.js +8 -8
  280. package/dist/components/puck-block/testimonial-sections/centered-testimonial/component.d.ts +3 -3
  281. package/dist/components/puck-block/testimonial-sections/centered-testimonial/component.js +4 -4
  282. package/dist/components/puck-block/testimonial-sections/centered-testimonial/index.js +3 -3
  283. package/dist/components/puck-block/testimonial-sections/halfscreen-testimonial-carousel/component.d.ts +3 -3
  284. package/dist/components/puck-block/testimonial-sections/halfscreen-testimonial-carousel/component.js +3 -3
  285. package/dist/components/puck-block/testimonial-sections/image-testimonial/component.d.ts +3 -3
  286. package/dist/components/puck-block/testimonial-sections/image-testimonial/component.js +10 -10
  287. package/dist/components/puck-block/testimonial-sections/image-testimonial/index.d.ts +1 -1
  288. package/dist/components/puck-block/testimonial-sections/image-testimonial/index.js +3 -3
  289. package/dist/components/puck-block/testimonial-sections/image-testimonial-carousel/component.d.ts +3 -3
  290. package/dist/components/puck-block/testimonial-sections/image-testimonial-carousel/component.js +7 -7
  291. package/dist/components/puck-block/testimonial-sections/image-testimonial-carousel/index.d.ts +1 -1
  292. package/dist/components/puck-block/testimonial-sections/image-testimonial-carousel/index.js +3 -3
  293. package/dist/components/puck-block/testimonial-sections/marquee-testimonial/component.d.ts +2 -2
  294. package/dist/components/puck-block/testimonial-sections/marquee-testimonial/component.js +2 -2
  295. package/dist/components/puck-block/testimonial-sections/masonry-testimonial/component.d.ts +2 -2
  296. package/dist/components/puck-block/testimonial-sections/masonry-testimonial/component.js +2 -2
  297. package/dist/components/puck-block/testimonial-sections/props.d.ts +3 -4
  298. package/dist/components/puck-block/testimonial-sections/sticky-testimonial/component.d.ts +3 -2
  299. package/dist/components/puck-block/testimonial-sections/sticky-testimonial/component.js +6 -3
  300. package/dist/components/puck-block/testimonial-sections/tab-testimonial/component.d.ts +4 -4
  301. package/dist/components/puck-block/testimonial-sections/tab-testimonial/component.js +5 -5
  302. package/dist/components/puck-block/testimonial-sections/testimonial-card-grid/component.d.ts +4 -4
  303. package/dist/components/puck-block/testimonial-sections/testimonial-card-grid/component.js +6 -6
  304. package/dist/components/puck-block/testimonial-sections/testimonial-carousel/component.d.ts +3 -3
  305. package/dist/components/puck-block/testimonial-sections/testimonial-carousel/component.js +3 -3
  306. package/dist/components/puck-block/text-sections/blog-article/component.d.ts +4 -7
  307. package/dist/components/puck-block/text-sections/blog-article/component.js +9 -17
  308. package/dist/components/puck-block/text-sections/blog-article/index.d.ts +39 -14
  309. package/dist/components/puck-block/text-sections/blog-article/index.js +4 -10
  310. package/dist/components/puck-block/text-sections/props.d.ts +3 -3
  311. package/dist/components/puck-block/text-sections/prose-content/component.d.ts +2 -2
  312. package/dist/components/puck-block/text-sections/prose-content/component.js +3 -3
  313. package/dist/components/puck-block/text-sections/prose-content/index.d.ts +1 -1
  314. package/dist/components/puck-block/text-sections/prose-content/index.js +2 -2
  315. package/dist/components/puck-block/text-sections/prose-sidebar/component.d.ts +2 -2
  316. package/dist/components/puck-block/text-sections/prose-sidebar/index.d.ts +1 -1
  317. package/dist/components/puck-block/text-sections/side-media-content/component.js +5 -5
  318. package/dist/components/puck-block/text-sections/side-media-content/index.d.ts +1 -1
  319. package/dist/components/puck-block/text-sections/side-media-content/index.js +2 -2
  320. package/dist/components/puck-block/text-sections/sticky-text-multi-image/component.d.ts +2 -2
  321. package/dist/components/puck-block/text-sections/sticky-text-multi-image/component.js +4 -4
  322. package/dist/components/puck-block/text-sections/sticky-text-multi-image/index.d.ts +2 -2
  323. package/dist/components/puck-block/text-sections/sticky-text-multi-image/index.js +2 -2
  324. package/dist/components/puck-block/text-sections/text-header/component.d.ts +2 -2
  325. package/dist/components/puck-block/text-sections/text-header/index.d.ts +1 -1
  326. package/dist/components/puck-core/core/context/editor-context.d.ts +2 -0
  327. package/dist/components/puck-core/core/fields.d.ts +2 -2
  328. package/dist/components/puck-core/core/props/content.d.ts +3 -3
  329. package/dist/components/puck-core/core/props/index.d.ts +2 -2
  330. package/dist/components/puck-core/core/props/index.js +7 -0
  331. package/dist/components/puck-core/core/props/interactive.d.ts +44 -1
  332. package/dist/components/puck-core/core/props/interactive.js +24 -1
  333. package/dist/components/puck-core/core/props/media.d.ts +8 -8
  334. package/dist/components/puck-core/core/props/media.js +21 -21
  335. package/dist/components/puck-core/core/puck-fields-to-zod.d.ts +40 -0
  336. package/dist/components/puck-core/core/puck-fields-to-zod.js +113 -0
  337. package/dist/components/puck-core/core/social-icons.d.ts +5 -0
  338. package/dist/components/puck-core/core/social-icons.js +48 -0
  339. package/dist/components/puck-core/core/with-editable.js +9 -2
  340. package/dist/components/puck-core/fields/media-upload-field.d.ts +7 -0
  341. package/dist/components/puck-core/fields/{image-upload-field.js → media-upload-field.js} +71 -28
  342. package/dist/components/puck-core/index.d.ts +3 -2
  343. package/dist/components/shadcn/tabs.d.ts +2 -1
  344. package/dist/components/shadcn/tabs.js +21 -3
  345. package/dist/components/shadcn/video-iframe.d.ts +2 -1
  346. package/dist/components/shadcn/video-iframe.js +7 -6
  347. package/dist/index.js +18 -12
  348. package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/errors.js +44 -0
  349. package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/iso.js +43 -0
  350. package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/parse.js +29 -0
  351. package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/schemas.js +665 -0
  352. package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/api.js +569 -0
  353. package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/checks.js +410 -0
  354. package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/core.js +74 -0
  355. package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/doc.js +37 -0
  356. package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/errors.js +72 -0
  357. package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema-processors.js +314 -0
  358. package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/parse.js +95 -0
  359. package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/regexes.js +81 -0
  360. package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/registries.js +51 -0
  361. package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/schemas.js +1345 -0
  362. package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/to-json-schema.js +362 -0
  363. package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/util.js +430 -0
  364. package/dist/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/versions.js +8 -0
  365. package/package.json +3 -2
  366. package/dist/components/puck-base/image.d.ts +0 -6
  367. package/dist/components/puck-base/image.js +0 -360
  368. package/dist/components/puck-core/fields/image-upload-field.d.ts +0 -7
@@ -1,10 +1,10 @@
1
1
  import { FloatingBorderedNavbar, FloatingBorderedNavbarDefaults } from "./floating-bordered-navbar.js";
2
- import { imageField } from "../../../puck-core/core/props/media.js";
3
- import { buttonField } from "../../../puck-core/core/props/interactive.js";
2
+ import { mediaField } from "../../../puck-core/core/props/media.js";
3
+ import { socialLinksField, buttonsField } from "../../../puck-core/core/props/interactive.js";
4
4
  import { headerStyleFields } from "../props.js";
5
5
  import { sectionWrapperFields } from "../../../puck-core/section-wrapper.js";
6
6
  const conf = {
7
- fields: { logo: imageField, navLinks: { type: "array", max: 6, getItemSummary: (item, i = 0) => item.title || `Link ${i + 1}`, arrayFields: { title: { type: "text" }, url: { type: "text" } } }, button: buttonField, styles: { type: "object", label: "Styles", objectFields: { position: headerStyleFields.position, ...sectionWrapperFields } } },
7
+ fields: { __metadata: { type: "object", ai: { instructions: "Layout metadata identifying this component as a header section. The type field must always be 'header'." }, objectFields: { type: { type: "text" } } }, logo: mediaField, navLinks: { type: "array", max: 6, getItemSummary: (item, i = 0) => item.title || `Link ${i + 1}`, arrayFields: { title: { type: "text" }, url: { type: "text" } } }, buttons: buttonsField, socialLinks: socialLinksField, styles: { type: "object", label: "Styles", objectFields: { position: headerStyleFields.position, showSocialLinks: headerStyleFields.showSocialLinks, ...sectionWrapperFields } } },
8
8
  defaultProps: FloatingBorderedNavbarDefaults,
9
9
  render: FloatingBorderedNavbar
10
10
  };
@@ -2,12 +2,13 @@
2
2
  import { jsxs, jsx } from "react/jsx-runtime";
3
3
  import { useState } from "react";
4
4
  import { Button } from "../../../shadcn/button.js";
5
- import { CompoundImage } from "../../../puck-base/image.js";
5
+ import { CompoundMedia } from "../../../puck-base/media.js";
6
6
  import { motion, AnimatePresence } from "motion/react";
7
7
  import { cn } from "../../../../utils/css-utils.js";
8
8
  import { SectionWrapper } from "../../../puck-core/section-wrapper.js";
9
+ import { CompoundSocialLinks } from "../../../puck-base/social-links.js";
9
10
  const FullscreenOverlayNavbar = (props) => {
10
- const { logo, navLinks, button, styles } = {
11
+ const { logo, navLinks, buttons, socialLinks, styles } = {
11
12
  ...FullscreenOverlayNavbarDefaults,
12
13
  ...props
13
14
  };
@@ -28,17 +29,18 @@ const FullscreenOverlayNavbar = (props) => {
28
29
  css,
29
30
  children: [
30
31
  /* @__PURE__ */ jsxs("div", { className: "mx-auto flex size-full items-center justify-between", children: [
31
- /* @__PURE__ */ jsx("a", { href: logo == null ? void 0 : logo.url, children: /* @__PURE__ */ jsx(CompoundImage, { src: logo == null ? void 0 : logo.src, alt: logo == null ? void 0 : logo.alt, className: "h-9 w-auto" }) }),
32
+ /* @__PURE__ */ jsx("a", { href: logo == null ? void 0 : logo.url, children: /* @__PURE__ */ jsx(CompoundMedia, { src: logo == null ? void 0 : logo.src, alt: logo == null ? void 0 : logo.alt, className: "h-9 w-auto" }) }),
32
33
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-center gap-2 lg:gap-4", children: [
33
- button && /* @__PURE__ */ jsx(
34
+ (buttons == null ? void 0 : buttons[0]) && /* @__PURE__ */ jsx(
34
35
  Button,
35
36
  {
36
- variant: button.variant,
37
- size: button.size,
37
+ variant: buttons[0].variant,
38
+ size: buttons[0].size,
38
39
  className: "px-4 py-1 md:px-6 md:py-2",
39
- children: button.label
40
+ children: buttons[0].label
40
41
  }
41
42
  ),
43
+ (styles == null ? void 0 : styles.showSocialLinks) === "true" && /* @__PURE__ */ jsx(CompoundSocialLinks, { links: socialLinks ?? [], iconClassName: "size-5", className: "gap-2" }),
42
44
  /* @__PURE__ */ jsx(
43
45
  "button",
44
46
  {
@@ -123,15 +125,18 @@ const FullscreenOverlayNavbar = (props) => {
123
125
  exit: "close",
124
126
  transition: { duration: 0.5 },
125
127
  className: "absolute left-0 right-0 top-0 block h-dvh overflow-auto bg-background-primary px-[5%]",
126
- children: /* @__PURE__ */ jsx("div", { className: "-mt-18 flex h-full flex-col", children: navLinks == null ? void 0 : navLinks.map((navLink, index) => /* @__PURE__ */ jsx(
127
- "a",
128
- {
129
- href: navLink.url,
130
- className: "static block py-3 text-xl leading-[30px] lg:my-2 lg:py-2 lg:text-2xl lg:leading-[1.5]",
131
- children: navLink.title
132
- },
133
- index
134
- )) })
128
+ children: /* @__PURE__ */ jsxs("div", { className: "-mt-18 flex h-full flex-col", children: [
129
+ navLinks == null ? void 0 : navLinks.map((navLink, index) => /* @__PURE__ */ jsx(
130
+ "a",
131
+ {
132
+ href: navLink.url,
133
+ className: "static block py-3 text-xl leading-[30px] lg:my-2 lg:py-2 lg:text-2xl lg:leading-[1.5]",
134
+ children: navLink.title
135
+ },
136
+ index
137
+ )),
138
+ (styles == null ? void 0 : styles.showSocialLinks) === "true" && /* @__PURE__ */ jsx(CompoundSocialLinks, { links: socialLinks ?? [], className: "pt-6" })
139
+ ] })
135
140
  }
136
141
  )
137
142
  }
@@ -153,8 +158,8 @@ const FullscreenOverlayNavbarDefaults = {
153
158
  { url: "#", title: "Link Three" },
154
159
  { url: "#", title: "Link Four" }
155
160
  ],
156
- button: { label: "Button", size: "sm" },
157
- buttons: [],
161
+ buttons: [{ label: "Button", size: "sm" }],
162
+ socialLinks: [],
158
163
  styles: { overlayContent: "linksOnly" }
159
164
  };
160
165
  export {
@@ -4,6 +4,17 @@ export { FullscreenOverlayNavbar, FullscreenOverlayNavbarDefaults };
4
4
  export type { FullscreenOverlayNavbarProps };
5
5
  declare const conf: {
6
6
  fields: {
7
+ __metadata: {
8
+ type: string;
9
+ ai: {
10
+ instructions: string;
11
+ };
12
+ objectFields: {
13
+ type: {
14
+ type: string;
15
+ };
16
+ };
17
+ };
7
18
  logo: {
8
19
  type: "object";
9
20
  objectFields: {
@@ -28,9 +39,13 @@ declare const conf: {
28
39
  };
29
40
  };
30
41
  };
31
- button: {
32
- readonly type: "object";
33
- readonly objectFields: {
42
+ buttons: {
43
+ readonly type: "array";
44
+ readonly max: 3;
45
+ readonly getItemSummary: (item: {
46
+ label?: string;
47
+ }, index?: number) => string;
48
+ readonly arrayFields: {
34
49
  readonly label: {
35
50
  readonly type: "text";
36
51
  };
@@ -82,6 +97,68 @@ declare const conf: {
82
97
  render: typeof import("../../../puck-core/fields/icon-picker-field").IconPickerField;
83
98
  };
84
99
  };
100
+ readonly defaultItemProps: {
101
+ readonly label: "Button";
102
+ readonly action: {
103
+ readonly type: "page";
104
+ readonly pageUrl: "";
105
+ readonly externalUrl: "";
106
+ readonly openInNewTab: "false";
107
+ readonly email: "";
108
+ readonly subject: "";
109
+ readonly phone: "";
110
+ readonly sectionId: "";
111
+ readonly downloadUrl: "";
112
+ };
113
+ readonly variant: "default";
114
+ readonly size: "default";
115
+ readonly icon: "none";
116
+ };
117
+ readonly ai: {
118
+ readonly instructions: "Buttons must use the same size";
119
+ };
120
+ };
121
+ socialLinks: {
122
+ readonly type: "array";
123
+ readonly label: "Social Links";
124
+ readonly getItemSummary: (item: {
125
+ platform?: string;
126
+ }, i?: number) => string;
127
+ readonly arrayFields: {
128
+ readonly platform: {
129
+ readonly type: "select";
130
+ readonly label: "Platform";
131
+ readonly options: readonly [{
132
+ readonly label: "Twitter / X";
133
+ readonly value: "twitter";
134
+ }, {
135
+ readonly label: "Facebook";
136
+ readonly value: "facebook";
137
+ }, {
138
+ readonly label: "Instagram";
139
+ readonly value: "instagram";
140
+ }, {
141
+ readonly label: "LinkedIn";
142
+ readonly value: "linkedin";
143
+ }, {
144
+ readonly label: "YouTube";
145
+ readonly value: "youtube";
146
+ }, {
147
+ readonly label: "GitHub";
148
+ readonly value: "github";
149
+ }, {
150
+ readonly label: "TikTok";
151
+ readonly value: "tiktok";
152
+ }, {
153
+ readonly label: "Discord";
154
+ readonly value: "discord";
155
+ }];
156
+ };
157
+ readonly url: {
158
+ readonly type: "text";
159
+ readonly label: "URL";
160
+ };
161
+ };
85
162
  };
86
163
  styles: {
87
164
  type: string;
@@ -129,6 +206,17 @@ declare const conf: {
129
206
  readonly value: "withForm";
130
207
  }];
131
208
  };
209
+ showSocialLinks: {
210
+ readonly type: "radio";
211
+ readonly label: "Display Social Links";
212
+ readonly options: readonly [{
213
+ readonly label: "Yes";
214
+ readonly value: "true";
215
+ }, {
216
+ readonly label: "No";
217
+ readonly value: "false";
218
+ }];
219
+ };
132
220
  };
133
221
  };
134
222
  };
@@ -1,10 +1,10 @@
1
1
  import { FullscreenOverlayNavbar, FullscreenOverlayNavbarDefaults } from "./fullscreen-overlay-navbar.js";
2
- import { imageField } from "../../../puck-core/core/props/media.js";
3
- import { buttonField } from "../../../puck-core/core/props/interactive.js";
2
+ import { mediaField } from "../../../puck-core/core/props/media.js";
3
+ import { socialLinksField, buttonsField } from "../../../puck-core/core/props/interactive.js";
4
4
  import { headerStyleFields } from "../props.js";
5
5
  import { sectionWrapperFields } from "../../../puck-core/section-wrapper.js";
6
6
  const conf = {
7
- fields: { logo: imageField, navLinks: { type: "array", max: 8, getItemSummary: (item, i = 0) => item.title || `Link ${i + 1}`, arrayFields: { title: { type: "text" }, url: { type: "text" } } }, button: buttonField, styles: { type: "object", label: "Styles", objectFields: { overlayContent: headerStyleFields.overlayContent, ...sectionWrapperFields } } },
7
+ fields: { __metadata: { type: "object", ai: { instructions: "Layout metadata identifying this component as a header section. The type field must always be 'header'." }, objectFields: { type: { type: "text" } } }, logo: mediaField, navLinks: { type: "array", max: 8, getItemSummary: (item, i = 0) => item.title || `Link ${i + 1}`, arrayFields: { title: { type: "text" }, url: { type: "text" } } }, buttons: buttonsField, socialLinks: socialLinksField, styles: { type: "object", label: "Styles", objectFields: { overlayContent: headerStyleFields.overlayContent, showSocialLinks: headerStyleFields.showSocialLinks, ...sectionWrapperFields } } },
8
8
  defaultProps: FullscreenOverlayNavbarDefaults,
9
9
  render: FullscreenOverlayNavbar
10
10
  };
@@ -4,6 +4,17 @@ export { MegaMenuNavbar, MegaMenuNavbarDefaults };
4
4
  export type { MegaMenuNavbarProps };
5
5
  declare const conf: {
6
6
  fields: {
7
+ __metadata: {
8
+ type: string;
9
+ ai: {
10
+ instructions: string;
11
+ };
12
+ objectFields: {
13
+ type: {
14
+ type: string;
15
+ };
16
+ };
17
+ };
7
18
  logo: {
8
19
  type: "object";
9
20
  objectFields: {
@@ -107,6 +118,48 @@ declare const conf: {
107
118
  readonly instructions: "Buttons must use the same size";
108
119
  };
109
120
  };
121
+ socialLinks: {
122
+ readonly type: "array";
123
+ readonly label: "Social Links";
124
+ readonly getItemSummary: (item: {
125
+ platform?: string;
126
+ }, i?: number) => string;
127
+ readonly arrayFields: {
128
+ readonly platform: {
129
+ readonly type: "select";
130
+ readonly label: "Platform";
131
+ readonly options: readonly [{
132
+ readonly label: "Twitter / X";
133
+ readonly value: "twitter";
134
+ }, {
135
+ readonly label: "Facebook";
136
+ readonly value: "facebook";
137
+ }, {
138
+ readonly label: "Instagram";
139
+ readonly value: "instagram";
140
+ }, {
141
+ readonly label: "LinkedIn";
142
+ readonly value: "linkedin";
143
+ }, {
144
+ readonly label: "YouTube";
145
+ readonly value: "youtube";
146
+ }, {
147
+ readonly label: "GitHub";
148
+ readonly value: "github";
149
+ }, {
150
+ readonly label: "TikTok";
151
+ readonly value: "tiktok";
152
+ }, {
153
+ readonly label: "Discord";
154
+ readonly value: "discord";
155
+ }];
156
+ };
157
+ readonly url: {
158
+ readonly type: "text";
159
+ readonly label: "URL";
160
+ };
161
+ };
162
+ };
110
163
  styles: {
111
164
  type: string;
112
165
  label: string;
@@ -156,6 +209,17 @@ declare const conf: {
156
209
  readonly value: "linksBlog";
157
210
  }];
158
211
  };
212
+ showSocialLinks: {
213
+ readonly type: "radio";
214
+ readonly label: "Display Social Links";
215
+ readonly options: readonly [{
216
+ readonly label: "Yes";
217
+ readonly value: "true";
218
+ }, {
219
+ readonly label: "No";
220
+ readonly value: "false";
221
+ }];
222
+ };
159
223
  };
160
224
  };
161
225
  };
@@ -1,10 +1,10 @@
1
1
  import { MegaMenuNavbar, MegaMenuNavbarDefaults } from "./mega-menu-navbar.js";
2
- import { imageField } from "../../../puck-core/core/props/media.js";
3
- import { buttonsField } from "../../../puck-core/core/props/interactive.js";
2
+ import { mediaField } from "../../../puck-core/core/props/media.js";
3
+ import { socialLinksField, buttonsField } from "../../../puck-core/core/props/interactive.js";
4
4
  import { headerStyleFields } from "../props.js";
5
5
  import { sectionWrapperFields } from "../../../puck-core/section-wrapper.js";
6
6
  const conf = {
7
- fields: { logo: imageField, navLinks: { type: "array", max: 6, getItemSummary: (item, i = 0) => item.title || `Link ${i + 1}`, arrayFields: { title: { type: "text" }, url: { type: "text" } } }, buttons: buttonsField, styles: { type: "object", label: "Styles", objectFields: { megaMenuLayout: headerStyleFields.megaMenuLayout, ...sectionWrapperFields } } },
7
+ fields: { __metadata: { type: "object", ai: { instructions: "Layout metadata identifying this component as a header section. The type field must always be 'header'." }, objectFields: { type: { type: "text" } } }, logo: mediaField, navLinks: { type: "array", max: 6, getItemSummary: (item, i = 0) => item.title || `Link ${i + 1}`, arrayFields: { title: { type: "text" }, url: { type: "text" } } }, buttons: buttonsField, socialLinks: socialLinksField, styles: { type: "object", label: "Styles", objectFields: { megaMenuLayout: headerStyleFields.megaMenuLayout, showSocialLinks: headerStyleFields.showSocialLinks, ...sectionWrapperFields } } },
8
8
  defaultProps: MegaMenuNavbarDefaults,
9
9
  render: MegaMenuNavbar
10
10
  };
@@ -3,34 +3,41 @@ import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { useState } from "react";
4
4
  import { Button } from "../../../shadcn/button.js";
5
5
  import { CompoundButton } from "../../../puck-base/button.js";
6
- import { CompoundImage } from "../../../puck-base/image.js";
6
+ import { CompoundMedia } from "../../../puck-base/media.js";
7
7
  import { motion } from "motion/react";
8
8
  import { cn } from "../../../../utils/css-utils.js";
9
9
  import { SectionWrapper } from "../../../puck-core/section-wrapper.js";
10
+ import { CompoundSocialLinks } from "../../../puck-base/social-links.js";
10
11
  const MegaMenuNavbar = (props) => {
11
- const { logo, navLinks, buttons, styles } = { ...MegaMenuNavbarDefaults, ...props };
12
+ const { logo, navLinks, buttons, socialLinks, styles } = { ...MegaMenuNavbarDefaults, ...props };
12
13
  const { className: sectionClassName, style: sectionStyle, css } = styles ?? {};
13
14
  const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);
14
15
  return /* @__PURE__ */ jsx(SectionWrapper, { className: cn("relative z-[999] flex w-full items-center justify-between border-b border-border-primary bg-background-primary lg:min-h-18 lg:px-[5%]", sectionClassName), style: sectionStyle, css, children: /* @__PURE__ */ jsxs("div", { className: "size-full lg:flex lg:items-center lg:justify-between", children: [
15
16
  /* @__PURE__ */ jsxs("div", { className: "lg:flex", children: [
16
17
  /* @__PURE__ */ jsxs("div", { className: "flex min-h-16 items-center justify-between px-[5%] md:min-h-18 lg:min-h-full lg:px-0", children: [
17
- /* @__PURE__ */ jsx("a", { href: logo == null ? void 0 : logo.url, children: /* @__PURE__ */ jsx(CompoundImage, { src: logo == null ? void 0 : logo.src, alt: logo == null ? void 0 : logo.alt, className: "h-9 w-auto" }) }),
18
+ /* @__PURE__ */ jsx("a", { href: logo == null ? void 0 : logo.url, children: /* @__PURE__ */ jsx(CompoundMedia, { src: logo == null ? void 0 : logo.src, alt: logo == null ? void 0 : logo.alt, className: "h-9 w-auto" }) }),
18
19
  /* @__PURE__ */ jsx("button", { className: "-mr-2 flex size-12 flex-col items-center justify-center lg:hidden", onClick: () => setIsMobileMenuOpen((prev) => !prev), children: [0, 1, 2].map((i) => /* @__PURE__ */ jsx("span", { className: "my-[3px] h-0.5 w-6 bg-black" }, i)) })
19
20
  ] }),
20
21
  /* @__PURE__ */ jsxs(motion.div, { variants: { open: { height: "var(--height-open, 100dvh)" }, close: { height: "var(--height-closed, 0)" } }, initial: "close", exit: "close", animate: isMobileMenuOpen ? "open" : "close", transition: { duration: 0.4 }, className: "overflow-auto px-[5%] lg:ml-6 lg:flex lg:items-center lg:px-0 lg:[--height-closed:auto] lg:[--height-open:auto]", children: [
21
22
  navLinks == null ? void 0 : navLinks.map((navLink, index) => /* @__PURE__ */ jsx("a", { href: navLink.url, className: "block py-3 text-md first:pt-7 lg:px-4 lg:py-6 lg:text-base first:lg:pt-6", children: navLink.title }, index)),
22
- /* @__PURE__ */ jsx("div", { className: "mt-6 flex w-full flex-col gap-y-4 pb-24 lg:hidden lg:pb-0", children: buttons == null ? void 0 : buttons.map((b, i) => /* @__PURE__ */ jsx(Button, { className: "w-full", variant: b.variant, size: b.size, children: b.label }, i)) })
23
+ /* @__PURE__ */ jsxs("div", { className: "mt-6 flex w-full flex-col gap-y-4 pb-24 lg:hidden lg:pb-0", children: [
24
+ buttons == null ? void 0 : buttons.map((b, i) => /* @__PURE__ */ jsx(Button, { className: "w-full", variant: b.variant, size: b.size, children: b.label }, i)),
25
+ (styles == null ? void 0 : styles.showSocialLinks) === "true" && /* @__PURE__ */ jsx(CompoundSocialLinks, { links: socialLinks ?? [], iconClassName: "size-5", className: "pt-4" })
26
+ ] })
23
27
  ] })
24
28
  ] }),
25
- /* @__PURE__ */ jsx("div", { className: "hidden lg:flex lg:gap-4", children: buttons == null ? void 0 : buttons.map((b, i) => /* @__PURE__ */ jsx(CompoundButton, { label: b.label, variant: b.variant, size: b.size, action: b.action, icon: b.icon }, i)) })
29
+ /* @__PURE__ */ jsxs("div", { className: "hidden lg:flex lg:items-center lg:gap-4", children: [
30
+ buttons == null ? void 0 : buttons.map((b, i) => /* @__PURE__ */ jsx(CompoundButton, { label: b.label, variant: b.variant, size: b.size, action: b.action, icon: b.icon }, i)),
31
+ (styles == null ? void 0 : styles.showSocialLinks) === "true" && /* @__PURE__ */ jsx(CompoundSocialLinks, { links: socialLinks ?? [], iconClassName: "size-5", className: "gap-2" })
32
+ ] })
26
33
  ] }) });
27
34
  };
28
35
  const MegaMenuNavbarDefaults = {
29
36
  __metadata: { type: "header" },
30
37
  logo: { url: "#", src: "https://file.springbrand.ai/web_assets/template-logo.svg", alt: "Logo image" },
31
38
  navLinks: [{ title: "Link One", url: "#" }, { title: "Link Two", url: "#" }, { title: "Link Three", url: "#" }, { title: "Link Four", url: "#" }],
32
- button: { label: "Button", size: "sm" },
33
39
  buttons: [{ label: "Button", variant: "secondary", size: "sm" }, { label: "Button", size: "sm" }],
40
+ socialLinks: [],
34
41
  styles: { megaMenuLayout: "2colGrid" }
35
42
  };
36
43
  export {
@@ -4,9 +4,9 @@
4
4
  * 基础类型引用自 ../props/(全局共享)
5
5
  * HeaderSectionStyles 为 header 特有的样式字段
6
6
  */
7
- import type { BaseImage } from "@/components/puck-core/core/props/media";
8
- import type { BaseButton } from "@/components/puck-core/core/props/interactive";
9
- export type { BaseImage, BaseButton };
7
+ import type { BaseMedia } from "@/components/puck-core/core/props/media";
8
+ import type { BaseButton, BaseSocialLink } from "@/components/puck-core/core/props/interactive";
9
+ export type { BaseMedia, BaseButton, BaseSocialLink };
10
10
  export interface HeaderSectionStyles {
11
11
  className?: string;
12
12
  style?: React.CSSProperties;
@@ -15,6 +15,7 @@ export interface HeaderSectionStyles {
15
15
  overlayContent?: "linksOnly" | "withSocial" | "withContact" | "withArticles" | "withForm";
16
16
  megaMenuLayout?: "2colGrid" | "3colGrid" | "4colGrid" | "3colSidebar" | "4colFooter" | "linksBlog";
17
17
  position?: "relative" | "fixed";
18
+ showSocialLinks?: string;
18
19
  }
19
20
  export interface NavLink {
20
21
  url: string;
@@ -22,12 +23,12 @@ export interface NavLink {
22
23
  subMenuLinks?: NavLink[];
23
24
  }
24
25
  export interface HeaderSectionBaseProps {
25
- logo: BaseImage & {
26
+ logo: BaseMedia & {
26
27
  url?: string;
27
28
  };
28
29
  navLinks: NavLink[];
29
- button: BaseButton;
30
30
  buttons: BaseButton[];
31
+ socialLinks: BaseSocialLink[];
31
32
  styles: HeaderSectionStyles;
32
33
  __metadata?: {
33
34
  type: "header";
@@ -102,6 +103,17 @@ export declare const headerStyleFields: {
102
103
  readonly value: "fixed";
103
104
  }];
104
105
  };
106
+ readonly showSocialLinks: {
107
+ readonly type: "radio";
108
+ readonly label: "Display Social Links";
109
+ readonly options: readonly [{
110
+ readonly label: "Yes";
111
+ readonly value: "true";
112
+ }, {
113
+ readonly label: "No";
114
+ readonly value: "false";
115
+ }];
116
+ };
105
117
  };
106
118
  /** 将 HeaderSectionBaseProps 与组件特有字段合并,生成最终 Props */
107
119
  export type HeaderComponentProps<T extends object = object> = React.ComponentPropsWithoutRef<"section"> & Partial<HeaderSectionBaseProps> & Partial<T>;
@@ -38,6 +38,14 @@ const headerStyleFields = {
38
38
  { label: "Relative", value: "relative" },
39
39
  { label: "Fixed", value: "fixed" }
40
40
  ]
41
+ },
42
+ showSocialLinks: {
43
+ type: "radio",
44
+ label: "Display Social Links",
45
+ options: [
46
+ { label: "Yes", value: "true" },
47
+ { label: "No", value: "false" }
48
+ ]
41
49
  }
42
50
  };
43
51
  export {
@@ -4,6 +4,17 @@ export { StandardNavbar, StandardNavbarDefaults };
4
4
  export type { StandardNavbarProps };
5
5
  declare const conf: {
6
6
  fields: {
7
+ __metadata: {
8
+ type: string;
9
+ ai: {
10
+ instructions: string;
11
+ };
12
+ objectFields: {
13
+ type: {
14
+ type: string;
15
+ };
16
+ };
17
+ };
7
18
  logo: {
8
19
  type: "object";
9
20
  objectFields: {
@@ -107,6 +118,48 @@ declare const conf: {
107
118
  readonly instructions: "Buttons must use the same size";
108
119
  };
109
120
  };
121
+ socialLinks: {
122
+ readonly type: "array";
123
+ readonly label: "Social Links";
124
+ readonly getItemSummary: (item: {
125
+ platform?: string;
126
+ }, i?: number) => string;
127
+ readonly arrayFields: {
128
+ readonly platform: {
129
+ readonly type: "select";
130
+ readonly label: "Platform";
131
+ readonly options: readonly [{
132
+ readonly label: "Twitter / X";
133
+ readonly value: "twitter";
134
+ }, {
135
+ readonly label: "Facebook";
136
+ readonly value: "facebook";
137
+ }, {
138
+ readonly label: "Instagram";
139
+ readonly value: "instagram";
140
+ }, {
141
+ readonly label: "LinkedIn";
142
+ readonly value: "linkedin";
143
+ }, {
144
+ readonly label: "YouTube";
145
+ readonly value: "youtube";
146
+ }, {
147
+ readonly label: "GitHub";
148
+ readonly value: "github";
149
+ }, {
150
+ readonly label: "TikTok";
151
+ readonly value: "tiktok";
152
+ }, {
153
+ readonly label: "Discord";
154
+ readonly value: "discord";
155
+ }];
156
+ };
157
+ readonly url: {
158
+ readonly type: "text";
159
+ readonly label: "URL";
160
+ };
161
+ };
162
+ };
110
163
  styles: {
111
164
  type: string;
112
165
  label: string;
@@ -147,6 +200,17 @@ declare const conf: {
147
200
  readonly value: "richGrouped";
148
201
  }];
149
202
  };
203
+ showSocialLinks: {
204
+ readonly type: "radio";
205
+ readonly label: "Display Social Links";
206
+ readonly options: readonly [{
207
+ readonly label: "Yes";
208
+ readonly value: "true";
209
+ }, {
210
+ readonly label: "No";
211
+ readonly value: "false";
212
+ }];
213
+ };
150
214
  };
151
215
  };
152
216
  };
@@ -1,14 +1,16 @@
1
1
  import { StandardNavbar, StandardNavbarDefaults } from "./standard-navbar.js";
2
- import { imageField } from "../../../puck-core/core/props/media.js";
3
- import { buttonsField } from "../../../puck-core/core/props/interactive.js";
2
+ import { mediaField } from "../../../puck-core/core/props/media.js";
3
+ import { socialLinksField, buttonsField } from "../../../puck-core/core/props/interactive.js";
4
4
  import { headerStyleFields } from "../props.js";
5
5
  import { sectionWrapperFields } from "../../../puck-core/section-wrapper.js";
6
6
  const conf = {
7
7
  fields: {
8
- logo: imageField,
8
+ __metadata: { type: "object", ai: { instructions: "Layout metadata identifying this component as a header section. The type field must always be 'header'." }, objectFields: { type: { type: "text" } } },
9
+ logo: mediaField,
9
10
  navLinks: { type: "array", max: 6, getItemSummary: (item, i = 0) => item.title || `Link ${i + 1}`, arrayFields: { title: { type: "text" }, url: { type: "text" } } },
10
11
  buttons: buttonsField,
11
- styles: { type: "object", label: "Styles", objectFields: { dropdownType: headerStyleFields.dropdownType, ...sectionWrapperFields } }
12
+ socialLinks: socialLinksField,
13
+ styles: { type: "object", label: "Styles", objectFields: { dropdownType: headerStyleFields.dropdownType, showSocialLinks: headerStyleFields.showSocialLinks, ...sectionWrapperFields } }
12
14
  },
13
15
  defaultProps: StandardNavbarDefaults,
14
16
  render: StandardNavbar
@@ -3,19 +3,20 @@ import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { useState } from "react";
4
4
  import { Button } from "../../../shadcn/button.js";
5
5
  import { useMediaQuery } from "../../../../hooks/use-media-query.js";
6
- import { CompoundImage } from "../../../puck-base/image.js";
6
+ import { CompoundMedia } from "../../../puck-base/media.js";
7
7
  import { motion, AnimatePresence } from "motion/react";
8
8
  import { RxChevronDown } from "../../../../node_modules/.pnpm/react-icons@5.6.0_react@19.2.4/node_modules/react-icons/rx/index.js";
9
9
  import { cn } from "../../../../utils/css-utils.js";
10
10
  import { SectionWrapper } from "../../../puck-core/section-wrapper.js";
11
+ import { CompoundSocialLinks } from "../../../puck-base/social-links.js";
11
12
  const StandardNavbar = (props) => {
12
- const { logo, navLinks, buttons, styles } = { ...StandardNavbarDefaults, ...props };
13
+ const { logo, navLinks, buttons, socialLinks, styles } = { ...StandardNavbarDefaults, ...props };
13
14
  const { className: sectionClassName, style: sectionStyle, css } = styles ?? {};
14
15
  const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);
15
16
  const isMobile = useMediaQuery("(max-width: 991px)");
16
17
  return /* @__PURE__ */ jsx(SectionWrapper, { className: cn("z-[999] flex w-full items-center border-b border-border-primary bg-background-primary lg:min-h-18 lg:px-[5%]", sectionClassName), style: sectionStyle, css, children: /* @__PURE__ */ jsxs("div", { className: "size-full lg:flex lg:items-center lg:justify-between", children: [
17
18
  /* @__PURE__ */ jsxs("div", { className: "flex min-h-16 items-center justify-between px-[5%] md:min-h-18 lg:min-h-full lg:px-0", children: [
18
- /* @__PURE__ */ jsx("a", { href: logo == null ? void 0 : logo.url, children: /* @__PURE__ */ jsx(CompoundImage, { src: logo == null ? void 0 : logo.src, alt: logo == null ? void 0 : logo.alt, className: "h-9 w-auto" }) }),
19
+ /* @__PURE__ */ jsx("a", { href: logo == null ? void 0 : logo.url, children: /* @__PURE__ */ jsx(CompoundMedia, { src: logo == null ? void 0 : logo.src, alt: logo == null ? void 0 : logo.alt, className: "h-9 w-auto" }) }),
19
20
  /* @__PURE__ */ jsxs("button", { className: "-mr-2 flex size-12 flex-col items-center justify-center lg:hidden", onClick: () => setIsMobileMenuOpen((prev) => !prev), children: [
20
21
  /* @__PURE__ */ jsx(motion.span, { className: "my-[3px] h-0.5 w-6 bg-black", animate: isMobileMenuOpen ? ["open", "rotatePhase"] : "closed", variants: topLineVariants }),
21
22
  /* @__PURE__ */ jsx(motion.span, { className: "my-[3px] h-0.5 w-6 bg-black", animate: isMobileMenuOpen ? "open" : "closed", variants: middleLineVariants }),
@@ -26,7 +27,10 @@ const StandardNavbar = (props) => {
26
27
  navLinks == null ? void 0 : navLinks.map(
27
28
  (navLink, index) => navLink.subMenuLinks && navLink.subMenuLinks.length > 0 ? /* @__PURE__ */ jsx(SubMenu, { navLink, isMobile }, index) : /* @__PURE__ */ jsx("a", { href: navLink.url, className: "block py-3 text-md first:pt-7 lg:px-4 lg:py-2 lg:text-base first:lg:pt-2", children: navLink.title }, index)
28
29
  ),
29
- /* @__PURE__ */ jsx("div", { className: "mt-6 flex flex-col items-center gap-4 lg:ml-4 lg:mt-0 lg:flex-row", children: buttons == null ? void 0 : buttons.map((button, index) => /* @__PURE__ */ jsx(Button, { variant: button.variant, size: button.size, className: "w-full", children: button.label }, index)) })
30
+ /* @__PURE__ */ jsxs("div", { className: "mt-6 flex flex-col items-center gap-4 lg:ml-4 lg:mt-0 lg:flex-row", children: [
31
+ buttons == null ? void 0 : buttons.map((button, index) => /* @__PURE__ */ jsx(Button, { variant: button.variant, size: button.size, className: "w-full", children: button.label }, index)),
32
+ (styles == null ? void 0 : styles.showSocialLinks) === "true" && /* @__PURE__ */ jsx(CompoundSocialLinks, { links: socialLinks ?? [], iconClassName: "size-5", className: "gap-2" })
33
+ ] })
30
34
  ] })
31
35
  ] }) });
32
36
  };
@@ -53,8 +57,8 @@ const StandardNavbarDefaults = {
53
57
  { title: "Link Three", url: "#" },
54
58
  { title: "Link Four", url: "#", subMenuLinks: [{ title: "Link Five", url: "#" }, { title: "Link Six", url: "#" }, { title: "Link Seven", url: "#" }] }
55
59
  ],
56
- button: { label: "Button", size: "sm" },
57
60
  buttons: [{ label: "Button", variant: "secondary", size: "sm" }, { label: "Button", size: "sm" }],
61
+ socialLinks: [],
58
62
  styles: { dropdownType: "simple" }
59
63
  };
60
64
  export {