dune-react 0.0.20 → 0.0.22

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 (402) hide show
  1. package/dist/components/index.d.ts +1 -0
  2. package/dist/components/puck-base/button.d.ts +1 -1
  3. package/dist/components/puck-base/button.js +5 -6
  4. package/dist/components/puck-base/card.d.ts +1 -1
  5. package/dist/components/puck-base/container.js +1 -1
  6. package/dist/components/puck-base/content.d.ts +1 -1
  7. package/dist/components/puck-base/form.js +1 -1
  8. package/dist/components/puck-base/image.js +17 -17
  9. package/dist/components/puck-base/index.d.ts +1 -12
  10. package/dist/components/puck-block/banner-sections/css-marquee-banner/css-marquee-banner.js +9 -4
  11. package/dist/components/puck-block/banner-sections/css-marquee-banner/index.d.ts +22 -0
  12. package/dist/components/puck-block/banner-sections/css-marquee-banner/index.js +3 -1
  13. package/dist/components/puck-block/banner-sections/dismissible-banner/index.d.ts +25 -3
  14. package/dist/components/puck-block/banner-sections/dual-row-marquee/dual-row-marquee.js +16 -4
  15. package/dist/components/puck-block/banner-sections/props.d.ts +3 -0
  16. package/dist/components/puck-block/banner-sections/scroll-driven-marquee/scroll-driven-marquee.js +13 -2
  17. package/dist/components/puck-block/banner-sections/scroll-parallax-text/scroll-parallax-text.js +15 -4
  18. package/dist/components/puck-block/contact-sections/centered-form/centered-form.js +3 -13
  19. package/dist/components/puck-block/contact-sections/centered-form/index.d.ts +23 -1
  20. package/dist/components/puck-block/contact-sections/centered-form/index.js +3 -1
  21. package/dist/components/puck-block/contact-sections/contact-cards-grid/contact-cards-grid.js +5 -1
  22. package/dist/components/puck-block/contact-sections/contact-cards-grid/index.d.ts +22 -0
  23. package/dist/components/puck-block/contact-sections/contact-cards-grid/index.js +3 -1
  24. package/dist/components/puck-block/contact-sections/contact-modal/contact-modal.js +5 -23
  25. package/dist/components/puck-block/contact-sections/contact-modal/index.d.ts +23 -1
  26. package/dist/components/puck-block/contact-sections/contact-modal/index.js +3 -1
  27. package/dist/components/puck-block/contact-sections/form-with-media/form-with-media.js +3 -13
  28. package/dist/components/puck-block/contact-sections/form-with-media/index.d.ts +23 -1
  29. package/dist/components/puck-block/contact-sections/form-with-media/index.js +3 -1
  30. package/dist/components/puck-block/contact-sections/header-form-cards/header-form-cards.js +4 -13
  31. package/dist/components/puck-block/contact-sections/header-form-cards/index.d.ts +23 -1
  32. package/dist/components/puck-block/contact-sections/header-form-cards/index.js +3 -1
  33. package/dist/components/puck-block/contact-sections/header-info-fullwidth/header-info-fullwidth.js +4 -2
  34. package/dist/components/puck-block/contact-sections/header-info-fullwidth/index.d.ts +22 -0
  35. package/dist/components/puck-block/contact-sections/header-info-fullwidth/index.js +3 -1
  36. package/dist/components/puck-block/contact-sections/info-cards-media/index.d.ts +22 -0
  37. package/dist/components/puck-block/contact-sections/info-cards-media/index.js +3 -1
  38. package/dist/components/puck-block/contact-sections/info-cards-media/info-cards-media.js +4 -2
  39. package/dist/components/puck-block/contact-sections/location-cards-grid/index.d.ts +23 -1
  40. package/dist/components/puck-block/contact-sections/location-cards-grid/index.js +3 -1
  41. package/dist/components/puck-block/contact-sections/location-cards-grid/location-cards-grid.js +5 -1
  42. package/dist/components/puck-block/contact-sections/props.d.ts +3 -0
  43. package/dist/components/puck-block/contact-sections/split-info-form/index.d.ts +23 -1
  44. package/dist/components/puck-block/contact-sections/split-info-form/index.js +3 -1
  45. package/dist/components/puck-block/contact-sections/split-info-form/split-info-form.js +4 -13
  46. package/dist/components/puck-block/contact-sections/tab-locations/index.d.ts +22 -0
  47. package/dist/components/puck-block/contact-sections/tab-locations/index.js +3 -1
  48. package/dist/components/puck-block/contact-sections/tab-locations/tab-locations.js +4 -2
  49. package/dist/components/puck-block/contact-sections/use-contact-form.js +1 -1
  50. package/dist/components/puck-block/cta-sections/feature-card-cta/feature-card-cta.js +3 -2
  51. package/dist/components/puck-block/cta-sections/feature-card-cta/index.d.ts +23 -1
  52. package/dist/components/puck-block/cta-sections/feature-card-cta/index.js +3 -1
  53. package/dist/components/puck-block/cta-sections/index.d.ts +2 -0
  54. package/dist/components/puck-block/cta-sections/mouse-track-cta/index.d.ts +23 -1
  55. package/dist/components/puck-block/cta-sections/mouse-track-cta/index.js +3 -1
  56. package/dist/components/puck-block/cta-sections/mouse-track-cta/mouse-track-cta.js +89 -59
  57. package/dist/components/puck-block/cta-sections/props.d.ts +3 -1
  58. package/dist/components/puck-block/cta-sections/props.js +46 -0
  59. package/dist/components/puck-block/cta-sections/side-media-cta/index.d.ts +35 -77
  60. package/dist/components/puck-block/cta-sections/side-media-cta/index.js +35 -0
  61. package/dist/components/puck-block/cta-sections/side-media-cta/side-media-cta.js +84 -0
  62. package/dist/components/puck-block/cta-sections/text-block-cta/index.d.ts +24 -83
  63. package/dist/components/puck-block/cta-sections/text-block-cta/index.js +38 -0
  64. package/dist/components/puck-block/cta-sections/text-block-cta/text-block-cta.d.ts +1 -1
  65. package/dist/components/puck-block/cta-sections/text-block-cta/text-block-cta.js +165 -0
  66. package/dist/components/puck-block/faq-sections/dual-column-accordion-faq/dual-column-accordion-faq.js +3 -2
  67. package/dist/components/puck-block/faq-sections/dual-column-accordion-faq/index.d.ts +23 -1
  68. package/dist/components/puck-block/faq-sections/dual-column-accordion-faq/index.js +3 -1
  69. package/dist/components/puck-block/faq-sections/icon-card-faq/icon-card-faq.js +6 -2
  70. package/dist/components/puck-block/faq-sections/icon-card-faq/index.d.ts +1 -1
  71. package/dist/components/puck-block/faq-sections/props.d.ts +3 -0
  72. package/dist/components/puck-block/faq-sections/stacked-accordion-faq/index.d.ts +23 -1
  73. package/dist/components/puck-block/faq-sections/stacked-accordion-faq/index.js +3 -1
  74. package/dist/components/puck-block/faq-sections/stacked-accordion-faq/stacked-accordion-faq.js +5 -1
  75. package/dist/components/puck-block/faq-sections/stacked-static-faq/index.d.ts +23 -1
  76. package/dist/components/puck-block/faq-sections/stacked-static-faq/index.js +3 -1
  77. package/dist/components/puck-block/faq-sections/stacked-static-faq/stacked-static-faq.js +5 -1
  78. package/dist/components/puck-block/faq-sections/two-column-accordion-faq/index.d.ts +23 -1
  79. package/dist/components/puck-block/faq-sections/two-column-accordion-faq/index.js +3 -1
  80. package/dist/components/puck-block/faq-sections/two-column-accordion-faq/two-column-accordion-faq.js +3 -2
  81. package/dist/components/puck-block/faq-sections/two-column-static-faq/index.d.ts +1 -1
  82. package/dist/components/puck-block/faq-sections/two-column-static-faq/two-column-static-faq.js +6 -2
  83. package/dist/components/puck-block/feature-sections/feature-cards-grid/component.js +5 -1
  84. package/dist/components/puck-block/feature-sections/feature-cards-grid/index.d.ts +24 -2
  85. package/dist/components/puck-block/feature-sections/feature-cards-grid/index.js +3 -1
  86. package/dist/components/puck-block/feature-sections/feature-list-split/component.js +5 -1
  87. package/dist/components/puck-block/feature-sections/feature-list-split/index.d.ts +24 -2
  88. package/dist/components/puck-block/feature-sections/feature-list-split/index.js +3 -1
  89. package/dist/components/puck-block/feature-sections/props.d.ts +3 -0
  90. package/dist/components/puck-block/feature-sections/tab-feature/component.js +78 -60
  91. package/dist/components/puck-block/feature-sections/text-media-split/component.js +5 -1
  92. package/dist/components/puck-block/feature-sections/text-media-split/index.d.ts +23 -1
  93. package/dist/components/puck-block/feature-sections/text-media-split/index.js +3 -1
  94. package/dist/components/puck-block/feature-sections/text-only-section/component.js +8 -3
  95. package/dist/components/puck-block/feature-sections/text-only-section/index.d.ts +23 -1
  96. package/dist/components/puck-block/feature-sections/text-only-section/index.js +3 -1
  97. package/dist/components/puck-block/footer-sections/centered-minimal-footer/centered-minimal-footer.js +5 -2
  98. package/dist/components/puck-block/footer-sections/compact-newsletter-footer/index.d.ts +23 -1
  99. package/dist/components/puck-block/footer-sections/contact-links-footer/contact-links-footer.js +3 -2
  100. package/dist/components/puck-block/footer-sections/contact-links-footer/index.d.ts +22 -0
  101. package/dist/components/puck-block/footer-sections/contact-links-footer/index.js +2 -1
  102. package/dist/components/puck-block/footer-sections/cta-links-footer/cta-links-footer.js +3 -2
  103. package/dist/components/puck-block/footer-sections/cta-links-footer/index.d.ts +23 -1
  104. package/dist/components/puck-block/footer-sections/cta-links-footer/index.js +2 -1
  105. package/dist/components/puck-block/footer-sections/links-newsletter-footer/index.d.ts +23 -1
  106. package/dist/components/puck-block/footer-sections/newsletter-links-footer/index.d.ts +23 -1
  107. package/dist/components/puck-block/footer-sections/newsletter-top-links-footer/index.d.ts +23 -1
  108. package/dist/components/puck-block/footer-sections/props.d.ts +3 -0
  109. package/dist/components/puck-block/gallery-sections/asymmetric-grid/asymmetric-grid.js +3 -2
  110. package/dist/components/puck-block/gallery-sections/asymmetric-grid/index.d.ts +22 -0
  111. package/dist/components/puck-block/gallery-sections/asymmetric-grid/index.js +3 -1
  112. package/dist/components/puck-block/gallery-sections/fullscreen-portfolio/fullscreen-portfolio.js +16 -6
  113. package/dist/components/puck-block/gallery-sections/fullscreen-portfolio/index.d.ts +23 -1
  114. package/dist/components/puck-block/gallery-sections/fullscreen-portfolio/index.js +3 -1
  115. package/dist/components/puck-block/gallery-sections/image-carousel/image-carousel.js +6 -2
  116. package/dist/components/puck-block/gallery-sections/image-carousel/index.d.ts +22 -0
  117. package/dist/components/puck-block/gallery-sections/image-carousel/index.js +3 -1
  118. package/dist/components/puck-block/gallery-sections/interactive-portfolio/index.d.ts +22 -0
  119. package/dist/components/puck-block/gallery-sections/interactive-portfolio/index.js +3 -1
  120. package/dist/components/puck-block/gallery-sections/interactive-portfolio/interactive-portfolio.js +4 -3
  121. package/dist/components/puck-block/gallery-sections/masonry-grid/index.d.ts +22 -0
  122. package/dist/components/puck-block/gallery-sections/masonry-grid/index.js +3 -1
  123. package/dist/components/puck-block/gallery-sections/masonry-grid/masonry-grid.js +3 -2
  124. package/dist/components/puck-block/gallery-sections/portfolio-cards/index.d.ts +24 -2
  125. package/dist/components/puck-block/gallery-sections/portfolio-cards/index.js +3 -1
  126. package/dist/components/puck-block/gallery-sections/portfolio-cards/portfolio-cards.js +5 -1
  127. package/dist/components/puck-block/gallery-sections/portfolio-divider/index.d.ts +24 -2
  128. package/dist/components/puck-block/gallery-sections/portfolio-divider/index.js +3 -1
  129. package/dist/components/puck-block/gallery-sections/portfolio-divider/portfolio-divider.js +71 -66
  130. package/dist/components/puck-block/gallery-sections/props.d.ts +3 -0
  131. package/dist/components/puck-block/gallery-sections/scroll-parallax/scroll-parallax.js +9 -3
  132. package/dist/components/puck-block/gallery-sections/scroll-parallax-portfolio/index.d.ts +22 -0
  133. package/dist/components/puck-block/gallery-sections/scroll-parallax-portfolio/index.js +3 -1
  134. package/dist/components/puck-block/gallery-sections/scroll-parallax-portfolio/scroll-parallax-portfolio.js +26 -10
  135. package/dist/components/puck-block/gallery-sections/split-carousel/index.d.ts +22 -0
  136. package/dist/components/puck-block/gallery-sections/split-carousel/index.js +3 -1
  137. package/dist/components/puck-block/gallery-sections/split-carousel/split-carousel.js +3 -2
  138. package/dist/components/puck-block/gallery-sections/static-grid/index.d.ts +22 -0
  139. package/dist/components/puck-block/gallery-sections/static-grid/index.js +3 -1
  140. package/dist/components/puck-block/gallery-sections/static-grid/static-grid.js +3 -2
  141. package/dist/components/puck-block/header-sections/centered-navbar/centered-navbar.js +5 -2
  142. package/dist/components/puck-block/header-sections/centered-navbar/index.d.ts +1 -1
  143. package/dist/components/puck-block/header-sections/drawer-navbar/drawer-navbar.js +120 -16
  144. package/dist/components/puck-block/header-sections/drawer-navbar/index.d.ts +1 -1
  145. package/dist/components/puck-block/header-sections/floating-bordered-navbar/floating-bordered-navbar.js +163 -22
  146. package/dist/components/puck-block/header-sections/floating-bordered-navbar/index.d.ts +23 -1
  147. package/dist/components/puck-block/header-sections/floating-bordered-navbar/index.js +2 -1
  148. package/dist/components/puck-block/header-sections/fullscreen-overlay-navbar/fullscreen-overlay-navbar.js +144 -18
  149. package/dist/components/puck-block/header-sections/fullscreen-overlay-navbar/index.d.ts +23 -1
  150. package/dist/components/puck-block/header-sections/fullscreen-overlay-navbar/index.js +2 -1
  151. package/dist/components/puck-block/header-sections/mega-menu-navbar/index.d.ts +23 -1
  152. package/dist/components/puck-block/header-sections/mega-menu-navbar/index.js +2 -1
  153. package/dist/components/puck-block/header-sections/mega-menu-navbar/mega-menu-navbar.js +5 -2
  154. package/dist/components/puck-block/header-sections/props.d.ts +3 -0
  155. package/dist/components/puck-block/header-sections/standard-navbar/index.d.ts +23 -1
  156. package/dist/components/puck-block/header-sections/standard-navbar/index.js +2 -1
  157. package/dist/components/puck-block/header-sections/standard-navbar/standard-navbar.js +5 -2
  158. package/dist/components/puck-block/hero-sections/carousel-hero/component.js +54 -10
  159. package/dist/components/puck-block/hero-sections/carousel-hero/index.d.ts +1 -1
  160. package/dist/components/puck-block/hero-sections/centered-hero/index.d.ts +24 -2
  161. package/dist/components/puck-block/hero-sections/column-scroll-hero/component.js +6 -3
  162. package/dist/components/puck-block/hero-sections/column-scroll-hero/index.d.ts +1 -1
  163. package/dist/components/puck-block/hero-sections/dual-marquee-hero/component.js +5 -2
  164. package/dist/components/puck-block/hero-sections/dual-marquee-hero/index.d.ts +1 -1
  165. package/dist/components/puck-block/hero-sections/fullscreen-hero/index.d.ts +37 -7
  166. package/dist/components/puck-block/hero-sections/fullscreen-video-hero/component.js +19 -7
  167. package/dist/components/puck-block/hero-sections/fullscreen-video-hero/index.d.ts +14 -6
  168. package/dist/components/puck-block/hero-sections/fullscreen-video-hero/index.js +2 -2
  169. package/dist/components/puck-block/hero-sections/grid-expand-hero/component.js +12 -4
  170. package/dist/components/puck-block/hero-sections/grid-expand-hero/index.d.ts +23 -1
  171. package/dist/components/puck-block/hero-sections/grid-expand-hero/index.js +3 -1
  172. package/dist/components/puck-block/hero-sections/horizontal-marquee-hero/component.js +8 -4
  173. package/dist/components/puck-block/hero-sections/horizontal-marquee-hero/index.d.ts +1 -1
  174. package/dist/components/puck-block/hero-sections/inline-image-hero/index.d.ts +23 -1
  175. package/dist/components/puck-block/hero-sections/inline-image-hero/index.js +3 -1
  176. package/dist/components/puck-block/hero-sections/inline-image-hero/inline-image-hero.js +4 -2
  177. package/dist/components/puck-block/hero-sections/media-text-hero/index.d.ts +37 -7
  178. package/dist/components/puck-block/hero-sections/mouse-track-hero/component.js +9 -5
  179. package/dist/components/puck-block/hero-sections/mouse-track-hero/index.d.ts +1 -1
  180. package/dist/components/puck-block/hero-sections/multi-image-grid-hero/index.d.ts +23 -1
  181. package/dist/components/puck-block/hero-sections/multi-image-grid-hero/index.js +3 -1
  182. package/dist/components/puck-block/hero-sections/multi-image-grid-hero/multi-image-grid-hero.js +6 -4
  183. package/dist/components/puck-block/hero-sections/overlapping-image-hero/index.d.ts +23 -1
  184. package/dist/components/puck-block/hero-sections/overlapping-image-hero/index.js +3 -1
  185. package/dist/components/puck-block/hero-sections/overlapping-image-hero/overlapping-image-hero.js +6 -4
  186. package/dist/components/puck-block/hero-sections/parallax-images-hero/component.js +10 -3
  187. package/dist/components/puck-block/hero-sections/parallax-images-hero/index.d.ts +1 -1
  188. package/dist/components/puck-block/hero-sections/props.d.ts +3 -1
  189. package/dist/components/puck-block/hero-sections/scatter-parallax-hero/component.js +12 -4
  190. package/dist/components/puck-block/hero-sections/scatter-parallax-hero/index.d.ts +1 -1
  191. package/dist/components/puck-block/hero-sections/scroll-expand-video-hero/component.js +16 -7
  192. package/dist/components/puck-block/hero-sections/scroll-expand-video-hero/index.d.ts +14 -6
  193. package/dist/components/puck-block/hero-sections/scroll-expand-video-hero/index.js +2 -2
  194. package/dist/components/puck-block/hero-sections/scroll-zoom-hero/component.js +98 -42
  195. package/dist/components/puck-block/hero-sections/scroll-zoom-hero/index.d.ts +36 -6
  196. package/dist/components/puck-block/hero-sections/scroll-zoom-hero/index.js +5 -3
  197. package/dist/components/puck-block/hero-sections/split-hero/index.d.ts +37 -7
  198. package/dist/components/puck-block/hero-sections/stacked-hero/index.d.ts +37 -7
  199. package/dist/components/puck-block/hero-sections/sticky-expand-hero/component.js +15 -5
  200. package/dist/components/puck-block/hero-sections/sticky-expand-hero/index.d.ts +1 -1
  201. package/dist/components/puck-block/hero-sections/sticky-video-hero/component.js +37 -14
  202. package/dist/components/puck-block/hero-sections/sticky-video-hero/index.d.ts +36 -6
  203. package/dist/components/puck-block/hero-sections/sticky-video-hero/index.js +5 -3
  204. package/dist/components/puck-block/hero-sections/tab-hero/component.js +6 -3
  205. package/dist/components/puck-block/hero-sections/tab-hero/index.d.ts +28 -0
  206. package/dist/components/puck-block/hero-sections/tab-hero/index.js +6 -0
  207. package/dist/components/puck-block/hero-sections/three-image-parallax-hero/component.js +102 -44
  208. package/dist/components/puck-block/hero-sections/three-image-parallax-hero/index.d.ts +23 -1
  209. package/dist/components/puck-block/hero-sections/three-image-parallax-hero/index.js +3 -1
  210. package/dist/components/puck-block/hero-sections/vertical-gallery-hero/component.js +32 -5
  211. package/dist/components/puck-block/hero-sections/vertical-gallery-hero/index.d.ts +1 -1
  212. package/dist/components/puck-block/hero-sections/zoom-grid-hero/component.js +12 -4
  213. package/dist/components/puck-block/hero-sections/zoom-grid-hero/index.d.ts +1 -1
  214. package/dist/components/puck-block/index.d.ts +2 -0
  215. package/dist/components/puck-block/location-sections/location-1/location.d.ts +4 -1
  216. package/dist/components/puck-block/location-sections/location-2/location.d.ts +4 -1
  217. package/dist/components/puck-block/location-sections/location-3/location.d.ts +5 -2
  218. package/dist/components/puck-block/location-sections/props.d.ts +4 -1
  219. package/dist/components/puck-block/metrics-sections/center-media-stats/center-media-stats.js +5 -1
  220. package/dist/components/puck-block/metrics-sections/center-media-stats/index.d.ts +22 -0
  221. package/dist/components/puck-block/metrics-sections/center-media-stats/index.js +3 -1
  222. package/dist/components/puck-block/metrics-sections/header-stats-row/header-stats-row.js +5 -1
  223. package/dist/components/puck-block/metrics-sections/header-stats-row/index.d.ts +23 -1
  224. package/dist/components/puck-block/metrics-sections/header-stats-row/index.js +3 -1
  225. package/dist/components/puck-block/metrics-sections/mixed-grid-stats/index.d.ts +23 -1
  226. package/dist/components/puck-block/metrics-sections/mixed-grid-stats/index.js +3 -1
  227. package/dist/components/puck-block/metrics-sections/mixed-grid-stats/mixed-grid-stats.js +5 -1
  228. package/dist/components/puck-block/metrics-sections/props.d.ts +3 -0
  229. package/dist/components/puck-block/metrics-sections/split-stats/index.d.ts +23 -1
  230. package/dist/components/puck-block/metrics-sections/split-stats/index.js +3 -1
  231. package/dist/components/puck-block/metrics-sections/split-stats/split-stats.js +5 -1
  232. package/dist/components/puck-block/metrics-sections/tab-stats/index.d.ts +22 -0
  233. package/dist/components/puck-block/metrics-sections/tab-stats/index.js +3 -1
  234. package/dist/components/puck-block/metrics-sections/tab-stats/tab-stats.js +38 -23
  235. package/dist/components/puck-block/pricing-sections/pricing-card-grid/component.js +4 -2
  236. package/dist/components/puck-block/pricing-sections/pricing-card-grid/index.d.ts +22 -0
  237. package/dist/components/puck-block/pricing-sections/pricing-card-grid/index.js +3 -1
  238. package/dist/components/puck-block/pricing-sections/pricing-comparison-table/component.js +5 -1
  239. package/dist/components/puck-block/pricing-sections/pricing-comparison-table/index.d.ts +22 -0
  240. package/dist/components/puck-block/pricing-sections/pricing-comparison-table/index.js +3 -1
  241. package/dist/components/puck-block/pricing-sections/props.d.ts +3 -0
  242. package/dist/components/puck-block/pricing-sections/single-pricing-card/component.js +4 -2
  243. package/dist/components/puck-block/pricing-sections/single-pricing-card/index.d.ts +22 -0
  244. package/dist/components/puck-block/pricing-sections/single-pricing-card/index.js +3 -1
  245. package/dist/components/puck-block/pricing-sections/split-pricing/component.js +5 -2
  246. package/dist/components/puck-block/pricing-sections/split-pricing/index.d.ts +28 -0
  247. package/dist/components/puck-block/pricing-sections/split-pricing/index.js +8 -0
  248. package/dist/components/puck-block/pricing-sections/tab-pricing-grid/component.js +4 -2
  249. package/dist/components/puck-block/pricing-sections/tab-pricing-grid/index.d.ts +22 -0
  250. package/dist/components/puck-block/pricing-sections/tab-pricing-grid/index.js +3 -1
  251. package/dist/components/puck-block/pricing-sections/tab-single-pricing/component.js +5 -2
  252. package/dist/components/puck-block/pricing-sections/tab-single-pricing/index.d.ts +22 -0
  253. package/dist/components/puck-block/pricing-sections/tab-single-pricing/index.js +3 -1
  254. package/dist/components/puck-block/registry.generated.d.ts +13141 -0
  255. package/dist/components/puck-block/registry.generated.js +558 -0
  256. package/dist/components/puck-block/showcase-sections/compact-timeline/component.js +5 -1
  257. package/dist/components/puck-block/showcase-sections/compact-timeline/index.d.ts +23 -1
  258. package/dist/components/puck-block/showcase-sections/compact-timeline/index.js +3 -1
  259. package/dist/components/puck-block/showcase-sections/horizontal-timeline/component.js +6 -1
  260. package/dist/components/puck-block/showcase-sections/horizontal-timeline/index.d.ts +23 -1
  261. package/dist/components/puck-block/showcase-sections/horizontal-timeline/index.js +3 -1
  262. package/dist/components/puck-block/showcase-sections/props.d.ts +3 -0
  263. package/dist/components/puck-block/showcase-sections/single-column-timeline/component.js +8 -1
  264. package/dist/components/puck-block/showcase-sections/single-column-timeline/index.d.ts +24 -2
  265. package/dist/components/puck-block/showcase-sections/single-column-timeline/index.js +3 -1
  266. package/dist/components/puck-block/showcase-sections/sticky-scroll-timeline/component.js +8 -1
  267. package/dist/components/puck-block/showcase-sections/sticky-scroll-timeline/index.d.ts +24 -2
  268. package/dist/components/puck-block/showcase-sections/sticky-scroll-timeline/index.js +3 -1
  269. package/dist/components/puck-block/showcase-sections/tab-timeline/component.d.ts +1 -3
  270. package/dist/components/puck-block/showcase-sections/tab-timeline/component.js +5 -1
  271. package/dist/components/puck-block/showcase-sections/tab-timeline/index.d.ts +24 -4
  272. package/dist/components/puck-block/showcase-sections/tab-timeline/index.js +3 -1
  273. package/dist/components/puck-block/showcase-sections/zigzag-timeline/component.js +8 -1
  274. package/dist/components/puck-block/showcase-sections/zigzag-timeline/index.d.ts +24 -2
  275. package/dist/components/puck-block/showcase-sections/zigzag-timeline/index.js +3 -1
  276. package/dist/components/puck-block/team-sections/props.d.ts +3 -0
  277. package/dist/components/puck-block/team-sections/team-carousel/component.js +8 -2
  278. package/dist/components/puck-block/team-sections/team-carousel/index.d.ts +23 -1
  279. package/dist/components/puck-block/team-sections/team-carousel/index.js +3 -1
  280. package/dist/components/puck-block/team-sections/team-grid/component.js +6 -1
  281. package/dist/components/puck-block/team-sections/team-grid/index.d.ts +23 -1
  282. package/dist/components/puck-block/team-sections/team-grid/index.js +3 -1
  283. package/dist/components/puck-block/team-sections/team-inline-card/component.js +10 -2
  284. package/dist/components/puck-block/team-sections/team-inline-card/index.d.ts +23 -1
  285. package/dist/components/puck-block/team-sections/team-inline-card/index.js +3 -1
  286. package/dist/components/puck-block/team-sections/team-sticky-scatter/component.js +9 -2
  287. package/dist/components/puck-block/team-sections/team-sticky-scatter/index.d.ts +22 -0
  288. package/dist/components/puck-block/team-sections/team-sticky-scatter/index.js +3 -1
  289. package/dist/components/puck-block/team-sections/team-two-column/component.js +6 -1
  290. package/dist/components/puck-block/team-sections/team-two-column/index.d.ts +23 -1
  291. package/dist/components/puck-block/team-sections/team-two-column/index.js +3 -1
  292. package/dist/components/puck-block/testimonial-sections/bento-testimonial/component.js +5 -1
  293. package/dist/components/puck-block/testimonial-sections/bento-testimonial/index.d.ts +22 -0
  294. package/dist/components/puck-block/testimonial-sections/bento-testimonial/index.js +3 -1
  295. package/dist/components/puck-block/testimonial-sections/centered-testimonial/component.js +6 -1
  296. package/dist/components/puck-block/testimonial-sections/centered-testimonial/index.d.ts +22 -0
  297. package/dist/components/puck-block/testimonial-sections/centered-testimonial/index.js +3 -1
  298. package/dist/components/puck-block/testimonial-sections/halfscreen-testimonial-carousel/component.js +5 -1
  299. package/dist/components/puck-block/testimonial-sections/halfscreen-testimonial-carousel/index.d.ts +22 -0
  300. package/dist/components/puck-block/testimonial-sections/halfscreen-testimonial-carousel/index.js +3 -1
  301. package/dist/components/puck-block/testimonial-sections/image-testimonial/component.d.ts +1 -1
  302. package/dist/components/puck-block/testimonial-sections/image-testimonial/component.js +14 -6
  303. package/dist/components/puck-block/testimonial-sections/image-testimonial/index.d.ts +35 -5
  304. package/dist/components/puck-block/testimonial-sections/image-testimonial/index.js +5 -3
  305. package/dist/components/puck-block/testimonial-sections/image-testimonial-carousel/component.js +8 -2
  306. package/dist/components/puck-block/testimonial-sections/image-testimonial-carousel/index.d.ts +22 -0
  307. package/dist/components/puck-block/testimonial-sections/image-testimonial-carousel/index.js +3 -1
  308. package/dist/components/puck-block/testimonial-sections/marquee-testimonial/component.js +9 -2
  309. package/dist/components/puck-block/testimonial-sections/masonry-testimonial/component.js +9 -2
  310. package/dist/components/puck-block/testimonial-sections/masonry-testimonial/index.d.ts +22 -0
  311. package/dist/components/puck-block/testimonial-sections/masonry-testimonial/index.js +3 -1
  312. package/dist/components/puck-block/testimonial-sections/props.d.ts +3 -1
  313. package/dist/components/puck-block/testimonial-sections/sticky-testimonial/component.js +9 -2
  314. package/dist/components/puck-block/testimonial-sections/sticky-testimonial/index.d.ts +23 -1
  315. package/dist/components/puck-block/testimonial-sections/sticky-testimonial/index.js +3 -1
  316. package/dist/components/puck-block/testimonial-sections/tab-testimonial/component.js +9 -2
  317. package/dist/components/puck-block/testimonial-sections/tab-testimonial/index.d.ts +22 -0
  318. package/dist/components/puck-block/testimonial-sections/tab-testimonial/index.js +3 -1
  319. package/dist/components/puck-block/testimonial-sections/testimonial-card-grid/component.js +6 -1
  320. package/dist/components/puck-block/testimonial-sections/testimonial-card-grid/index.d.ts +22 -0
  321. package/dist/components/puck-block/testimonial-sections/testimonial-card-grid/index.js +3 -1
  322. package/dist/components/puck-block/testimonial-sections/testimonial-carousel/component.js +5 -1
  323. package/dist/components/puck-block/testimonial-sections/testimonial-carousel/index.d.ts +22 -0
  324. package/dist/components/puck-block/testimonial-sections/testimonial-carousel/index.js +3 -1
  325. package/dist/components/puck-block/text-sections/aside-nav-content/component.js +5 -1
  326. package/dist/components/puck-block/text-sections/aside-nav-content/index.d.ts +22 -0
  327. package/dist/components/puck-block/text-sections/aside-nav-content/index.js +3 -1
  328. package/dist/components/puck-block/text-sections/blog-article/component.js +6 -1
  329. package/dist/components/puck-block/text-sections/blog-article/index.d.ts +22 -0
  330. package/dist/components/puck-block/text-sections/blog-article/index.js +3 -1
  331. package/dist/components/puck-block/text-sections/props.d.ts +3 -0
  332. package/dist/components/puck-block/text-sections/prose-content/component.js +5 -1
  333. package/dist/components/puck-block/text-sections/prose-content/index.d.ts +22 -0
  334. package/dist/components/puck-block/text-sections/prose-content/index.js +3 -1
  335. package/dist/components/puck-block/text-sections/prose-sidebar/index.d.ts +23 -1
  336. package/dist/components/puck-block/text-sections/side-media-content/component.js +5 -1
  337. package/dist/components/puck-block/text-sections/side-media-content/index.d.ts +22 -0
  338. package/dist/components/puck-block/text-sections/side-media-content/index.js +3 -1
  339. package/dist/components/puck-block/text-sections/sticky-text-multi-image/component.js +6 -1
  340. package/dist/components/puck-block/text-sections/sticky-text-multi-image/index.d.ts +22 -0
  341. package/dist/components/puck-block/text-sections/sticky-text-multi-image/index.js +3 -1
  342. package/dist/components/puck-block/text-sections/text-header/index.d.ts +24 -2
  343. package/dist/components/puck-core/core/context/section-id-context.d.ts +6 -0
  344. package/dist/components/puck-core/core/context/section-id-context.js +12 -0
  345. package/dist/components/puck-core/core/props/content.js +41 -1
  346. package/dist/components/puck-core/core/props/form.js +76 -0
  347. package/dist/components/puck-core/core/props/index.js +34 -0
  348. package/dist/components/puck-core/core/props/interactive.js +17 -0
  349. package/dist/components/puck-core/core/props/media.js +8 -4
  350. package/dist/components/puck-core/core/styles.d.ts +375 -1
  351. package/dist/components/{puck-base → puck-core}/core/styles.js +3 -1
  352. package/dist/components/{puck-base → puck-core}/core/with-editable.js +13 -2
  353. package/dist/components/puck-core/fields/action-field.js +2 -2
  354. package/dist/components/{puck-base → puck-core/fields}/image-upload-field.js +4 -4
  355. package/dist/components/{puck-base → puck-core}/fields/location-field.js +1 -1
  356. package/dist/components/puck-core/index.d.ts +3 -1
  357. package/dist/components/{puck-base → puck-core}/inline-editable.js +1 -1
  358. package/dist/components/puck-core/section-wrapper.d.ts +27 -13
  359. package/dist/components/puck-core/section-wrapper.js +48 -0
  360. package/dist/hooks/use-scroll-container.d.ts +18 -0
  361. package/dist/hooks/use-scroll-container.js +25 -0
  362. package/dist/index.js +125 -105
  363. package/package.json +1 -1
  364. package/dist/components/puck-base/core/fields.d.ts +0 -827
  365. package/dist/components/puck-base/core/fields.js +0 -267
  366. package/dist/components/puck-base/core/hooks.d.ts +0 -19
  367. package/dist/components/puck-base/core/icon-catalog.d.ts +0 -14
  368. package/dist/components/puck-base/core/icon-catalog.js +0 -193
  369. package/dist/components/puck-base/core/styles.d.ts +0 -1942
  370. package/dist/components/puck-base/core/types.d.ts +0 -20
  371. package/dist/components/puck-base/core/types.js +0 -26
  372. package/dist/components/puck-base/core/utils.d.ts +0 -5
  373. package/dist/components/puck-base/core/with-editable.d.ts +0 -16
  374. package/dist/components/puck-base/error-boundary.d.ts +0 -4
  375. package/dist/components/puck-base/fields/action-field.d.ts +0 -30
  376. package/dist/components/puck-base/fields/action-field.js +0 -265
  377. package/dist/components/puck-base/fields/auto-field.d.ts +0 -2
  378. package/dist/components/puck-base/fields/color-field.d.ts +0 -6
  379. package/dist/components/puck-base/fields/index.d.ts +0 -8
  380. package/dist/components/puck-base/fields/location-field.d.ts +0 -44
  381. package/dist/components/puck-base/fields/object-field.d.ts +0 -8
  382. package/dist/components/puck-base/fields/radio-toggle-field.d.ts +0 -10
  383. package/dist/components/puck-base/fields/types.d.ts +0 -29
  384. package/dist/components/puck-base/fields/virtualized-select-field.d.ts +0 -13
  385. package/dist/components/puck-base/icon-picker-field.d.ts +0 -8
  386. package/dist/components/puck-base/icon-picker-field.js +0 -153
  387. package/dist/components/puck-base/image-upload-field.d.ts +0 -7
  388. package/dist/components/puck-base/inline-editable.d.ts +0 -14
  389. package/dist/components/puck-base/use-upload.d.ts +0 -42
  390. package/dist/components/puck-core/editor-context.d.ts +0 -25
  391. package/dist/components/puck-core/editor-context.js +0 -15
  392. /package/dist/components/{puck-base → puck-core/core/context}/editor-context.d.ts +0 -0
  393. /package/dist/components/{puck-base → puck-core/core/context}/editor-context.js +0 -0
  394. /package/dist/components/{puck-base → puck-core}/core/hooks.js +0 -0
  395. /package/dist/components/{puck-base → puck-core}/core/utils.js +0 -0
  396. /package/dist/components/{puck-base → puck-core}/error-boundary.js +0 -0
  397. /package/dist/components/{puck-base → puck-core}/fields/auto-field.js +0 -0
  398. /package/dist/components/{puck-base → puck-core}/fields/color-field.js +0 -0
  399. /package/dist/components/{puck-base → puck-core}/fields/object-field.js +0 -0
  400. /package/dist/components/{puck-base → puck-core}/fields/radio-toggle-field.js +0 -0
  401. /package/dist/components/{puck-base → puck-core}/fields/virtualized-select-field.js +0 -0
  402. /package/dist/components/{puck-base → puck-core}/use-upload.js +0 -0
@@ -1,20 +0,0 @@
1
- import { iconNames } from "lucide-react/dynamic";
2
- export type IconName = "none" | (typeof iconNames)[number];
3
- export type Feature = {
4
- icon?: IconName;
5
- name: string;
6
- description?: string;
7
- };
8
- export type ActionType = "page" | "external" | "scroll" | "email" | "phone" | "section" | "download" | "none";
9
- export type Action = {
10
- type: ActionType;
11
- pageUrl?: string;
12
- externalUrl?: string;
13
- openInNewTab?: string;
14
- email?: string;
15
- subject?: string;
16
- phone?: string;
17
- sectionId?: string;
18
- downloadUrl?: string;
19
- };
20
- export declare function resolveActionUrl(action: Action): string | undefined;
@@ -1,26 +0,0 @@
1
- function resolveActionUrl(action) {
2
- switch (action.type) {
3
- case "page":
4
- return action.pageUrl || void 0;
5
- case "external":
6
- return action.externalUrl || void 0;
7
- case "email": {
8
- if (!action.email) return void 0;
9
- const subject = action.subject ? `?subject=${encodeURIComponent(action.subject)}` : "";
10
- return `mailto:${action.email}${subject}`;
11
- }
12
- case "phone":
13
- return action.phone ? `tel:${action.phone}` : void 0;
14
- case "section":
15
- return action.sectionId || void 0;
16
- case "download":
17
- return action.downloadUrl || void 0;
18
- case "none":
19
- return void 0;
20
- default:
21
- return void 0;
22
- }
23
- }
24
- export {
25
- resolveActionUrl
26
- };
@@ -1,5 +0,0 @@
1
- export declare function getRandomAdjective(arr?: string[]): string;
2
- /**
3
- * 在 Puck 数据树中(content + zones)查找指定 ID 的组件。
4
- */
5
- export declare function findComponentById(data: any, componentId: string): any | null;
@@ -1,16 +0,0 @@
1
- import { type ComponentType } from "react";
2
- interface EditableConfig {
3
- type: string;
4
- fields: Record<string, any>;
5
- }
6
- /**
7
- * HOC: wraps any component to be inline-editable in Puck editor mode.
8
- *
9
- * Location strategy:
10
- * 1. componentId — read from the nearest `[data-puck-component]` ancestor in the DOM.
11
- * 2. propPath — search only within that single component's props (narrow scope).
12
- */
13
- export declare function withEditable<P extends Record<string, any>>(Component: ComponentType<P>, config: EditableConfig): (props: P & {
14
- onEdit?: (props: P, onSave: (updated: Partial<P>) => void) => void;
15
- }) => import("react/jsx-runtime").JSX.Element;
16
- export {};
@@ -1,4 +0,0 @@
1
- import { ReactNode } from "react";
2
- export declare function ErrorBoundary({ children }: {
3
- children: ReactNode;
4
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,30 +0,0 @@
1
- import { Action, ActionType } from "../core/types";
2
- export interface ActionTypeFieldProps {
3
- /** 表单字段名前缀,会拼到各子 input 的 name 上 */
4
- name: string;
5
- /** 当前完整的 Action 对象(子组件只读写与自己 type 相关的字段) */
6
- value: Action;
7
- /** 合并局部 patch 到 Action,由父组件负责与完整 state 合并 */
8
- onChange: (patch: Partial<Action>) => void;
9
- }
10
- /** 完整 Action 编辑器(含类型切换 + 子字段) */
11
- interface ActionFieldProps {
12
- name: string;
13
- value: Action | undefined;
14
- /** 传出合并后的完整 Action */
15
- onChange: (value: Action) => void;
16
- }
17
- /** 类型 Tab 的展示文案与值(可在外部自定义 UI 时复用) */
18
- export declare const ACTION_TYPE_OPTIONS: {
19
- label: string;
20
- value: ActionType;
21
- }[];
22
- export declare const PageActionFields: import("react").NamedExoticComponent<ActionTypeFieldProps>;
23
- export declare const ExternalActionFields: import("react").NamedExoticComponent<ActionTypeFieldProps>;
24
- export declare const EmailActionFields: import("react").NamedExoticComponent<ActionTypeFieldProps>;
25
- export declare const PhoneActionFields: import("react").NamedExoticComponent<ActionTypeFieldProps>;
26
- export declare const SectionActionFields: import("react").NamedExoticComponent<ActionTypeFieldProps>;
27
- export declare const DownloadActionFields: import("react").NamedExoticComponent<ActionTypeFieldProps>;
28
- export declare const ACTION_TYPE_FIELD_MAP: Partial<Record<ActionType, React.ComponentType<ActionTypeFieldProps>>>;
29
- export declare function ActionField({ name, value, onChange }: ActionFieldProps): import("react/jsx-runtime").JSX.Element;
30
- export {};
@@ -1,265 +0,0 @@
1
- "use client";
2
- import { jsxs, jsx, Fragment } from "react/jsx-runtime";
3
- import { memo, useCallback } from "react";
4
- import { Input } from "../../shadcn/input.js";
5
- import { Label } from "../../shadcn/label.js";
6
- import { Tabs, TabsList, TabsTrigger } from "../../shadcn/tabs.js";
7
- import { LinkIcon, XIcon, GlobeIcon } from "lucide-react";
8
- import { useEditorContext } from "../editor-context.js";
9
- const ACTION_TYPE_OPTIONS = [
10
- { label: "Page Link", value: "page" },
11
- { label: "External Link", value: "external" },
12
- { label: "Email", value: "email" },
13
- { label: "Phone", value: "phone" },
14
- { label: "Page Section", value: "section" },
15
- { label: "Download", value: "download" },
16
- { label: "None", value: "none" }
17
- ];
18
- const PageActionFields = memo(function PageActionFields2({
19
- name,
20
- value,
21
- onChange
22
- }) {
23
- const { sitePages } = useEditorContext();
24
- const pages = sitePages ?? [];
25
- const pageUrl = value.pageUrl ?? "";
26
- const selectedSlug = pageUrl.startsWith("/") ? pageUrl.slice(1) : null;
27
- return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
28
- /* @__PURE__ */ jsx(Label, { children: "Page URL" }),
29
- /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-1 items-center gap-2 rounded-lg border px-3 py-2", children: [
30
- /* @__PURE__ */ jsx(LinkIcon, { className: "text-muted-foreground size-4 shrink-0" }),
31
- /* @__PURE__ */ jsx(
32
- "input",
33
- {
34
- name: `${name}.pageUrl`,
35
- className: "w-full bg-transparent text-sm outline-none placeholder:text-muted-foreground",
36
- placeholder: "/about",
37
- value: pageUrl,
38
- onChange: (e) => onChange({ pageUrl: e.target.value })
39
- }
40
- ),
41
- pageUrl && /* @__PURE__ */ jsx(
42
- "button",
43
- {
44
- type: "button",
45
- className: "text-muted-foreground hover:text-foreground shrink-0",
46
- onClick: () => onChange({ pageUrl: "" }),
47
- children: /* @__PURE__ */ jsx(XIcon, { className: "size-3.5" })
48
- }
49
- )
50
- ] }) }),
51
- pages.length > 0 && /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
52
- /* @__PURE__ */ jsx("span", { className: "text-muted-foreground text-xs font-medium", children: "Site pages" }),
53
- /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", children: pages.map((page) => {
54
- const isSelected = selectedSlug === page.slug;
55
- return /* @__PURE__ */ jsxs(
56
- "button",
57
- {
58
- type: "button",
59
- className: `inline-flex items-center gap-1.5 rounded-full border px-3 py-1 text-xs font-medium transition-colors ${isSelected ? "border-primary bg-primary text-primary-foreground" : "border-border bg-background text-foreground hover:bg-accent"}`,
60
- onClick: () => onChange({ pageUrl: isSelected ? "" : `${page.slug}` }),
61
- children: [
62
- /* @__PURE__ */ jsx(GlobeIcon, { className: "size-3" }),
63
- page.label
64
- ]
65
- },
66
- page.slug
67
- );
68
- }) })
69
- ] })
70
- ] });
71
- });
72
- const ExternalActionFields = memo(function ExternalActionFields2({
73
- name,
74
- value,
75
- onChange
76
- }) {
77
- return /* @__PURE__ */ jsxs(Fragment, { children: [
78
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
79
- /* @__PURE__ */ jsx(Label, { children: "External URL" }),
80
- /* @__PURE__ */ jsx(
81
- Input,
82
- {
83
- name: `${name}.externalUrl`,
84
- className: "h-8 text-sm",
85
- value: value.externalUrl ?? "",
86
- onChange: (e) => onChange({ externalUrl: e.target.value }),
87
- placeholder: "https://example.com"
88
- }
89
- )
90
- ] }),
91
- /* @__PURE__ */ jsxs("fieldset", { className: "flex flex-col gap-1.5", children: [
92
- /* @__PURE__ */ jsx(Label, { children: "Open in new tab" }),
93
- /* @__PURE__ */ jsxs("div", { className: "flex gap-3", children: [
94
- /* @__PURE__ */ jsxs("label", { className: "flex items-center gap-1.5 text-sm", children: [
95
- /* @__PURE__ */ jsx(
96
- "input",
97
- {
98
- type: "radio",
99
- name: `${name}.openInNewTab`,
100
- value: "true",
101
- checked: value.openInNewTab === "true",
102
- onChange: () => onChange({ openInNewTab: "true" })
103
- }
104
- ),
105
- "Yes"
106
- ] }),
107
- /* @__PURE__ */ jsxs("label", { className: "flex items-center gap-1.5 text-sm", children: [
108
- /* @__PURE__ */ jsx(
109
- "input",
110
- {
111
- type: "radio",
112
- name: `${name}.openInNewTab`,
113
- value: "false",
114
- checked: value.openInNewTab !== "true",
115
- onChange: () => onChange({ openInNewTab: "false" })
116
- }
117
- ),
118
- "No"
119
- ] })
120
- ] })
121
- ] })
122
- ] });
123
- });
124
- const EmailActionFields = memo(function EmailActionFields2({
125
- name,
126
- value,
127
- onChange
128
- }) {
129
- return /* @__PURE__ */ jsxs(Fragment, { children: [
130
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
131
- /* @__PURE__ */ jsx(Label, { children: "Email" }),
132
- /* @__PURE__ */ jsx(
133
- Input,
134
- {
135
- name: `${name}.email`,
136
- className: "h-8 text-sm",
137
- value: value.email ?? "",
138
- onChange: (e) => onChange({ email: e.target.value }),
139
- placeholder: "hello@example.com"
140
- }
141
- )
142
- ] }),
143
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
144
- /* @__PURE__ */ jsx(Label, { children: "Subject" }),
145
- /* @__PURE__ */ jsx(
146
- Input,
147
- {
148
- name: `${name}.subject`,
149
- className: "h-8 text-sm",
150
- value: value.subject ?? "",
151
- onChange: (e) => onChange({ subject: e.target.value }),
152
- placeholder: "Optional email subject"
153
- }
154
- )
155
- ] })
156
- ] });
157
- });
158
- const PhoneActionFields = memo(function PhoneActionFields2({
159
- name,
160
- value,
161
- onChange
162
- }) {
163
- return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
164
- /* @__PURE__ */ jsx(Label, { children: "Phone" }),
165
- /* @__PURE__ */ jsx(
166
- Input,
167
- {
168
- name: `${name}.phone`,
169
- className: "h-8 text-sm",
170
- value: value.phone ?? "",
171
- onChange: (e) => onChange({ phone: e.target.value }),
172
- placeholder: "+1 234 567 890"
173
- }
174
- )
175
- ] });
176
- });
177
- const SectionActionFields = memo(function SectionActionFields2({
178
- name,
179
- value,
180
- onChange
181
- }) {
182
- return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
183
- /* @__PURE__ */ jsx(Label, { children: "Section ID" }),
184
- /* @__PURE__ */ jsx(
185
- Input,
186
- {
187
- name: `${name}.sectionId`,
188
- className: "h-8 text-sm",
189
- value: value.sectionId ?? "",
190
- onChange: (e) => onChange({ sectionId: e.target.value }),
191
- placeholder: "#section-id"
192
- }
193
- )
194
- ] });
195
- });
196
- const DownloadActionFields = memo(function DownloadActionFields2({
197
- name,
198
- value,
199
- onChange
200
- }) {
201
- return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
202
- /* @__PURE__ */ jsx(Label, { children: "Download URL" }),
203
- /* @__PURE__ */ jsx(
204
- Input,
205
- {
206
- name: `${name}.downloadUrl`,
207
- className: "h-8 text-sm",
208
- value: value.downloadUrl ?? "",
209
- onChange: (e) => onChange({ downloadUrl: e.target.value }),
210
- placeholder: "https://example.com/file.pdf"
211
- }
212
- )
213
- ] });
214
- });
215
- const ACTION_TYPE_FIELD_MAP = {
216
- page: PageActionFields,
217
- external: ExternalActionFields,
218
- email: EmailActionFields,
219
- phone: PhoneActionFields,
220
- section: SectionActionFields,
221
- download: DownloadActionFields
222
- };
223
- function ActionField({ name, value, onChange }) {
224
- const current = value ?? { type: "none" };
225
- const update = useCallback(
226
- (patch) => {
227
- onChange({ ...current, ...patch });
228
- },
229
- [current, onChange]
230
- );
231
- const TypeFields = ACTION_TYPE_FIELD_MAP[current.type];
232
- return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
233
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5", children: [
234
- /* @__PURE__ */ jsx(Label, { children: "Action Type" }),
235
- /* @__PURE__ */ jsx(
236
- Tabs,
237
- {
238
- value: current.type,
239
- onValueChange: (val) => update({ type: val }),
240
- children: /* @__PURE__ */ jsx(TabsList, { className: "h-auto w-full flex-wrap justify-start gap-1 p-1 group-data-[orientation=horizontal]/tabs:h-auto", children: ACTION_TYPE_OPTIONS.map((opt) => /* @__PURE__ */ jsx(
241
- TabsTrigger,
242
- {
243
- value: opt.value,
244
- className: "h-7 flex-none text-xs",
245
- children: opt.label
246
- },
247
- opt.value
248
- )) })
249
- }
250
- )
251
- ] }),
252
- TypeFields && /* @__PURE__ */ jsx(TypeFields, { name, value: current, onChange: update })
253
- ] });
254
- }
255
- export {
256
- ACTION_TYPE_FIELD_MAP,
257
- ACTION_TYPE_OPTIONS,
258
- ActionField,
259
- DownloadActionFields,
260
- EmailActionFields,
261
- ExternalActionFields,
262
- PageActionFields,
263
- PhoneActionFields,
264
- SectionActionFields
265
- };
@@ -1,2 +0,0 @@
1
- import type { AutoFieldProps } from "./types";
2
- export declare const AutoField: import("react").NamedExoticComponent<AutoFieldProps>;
@@ -1,6 +0,0 @@
1
- /** 颜色选择器:color swatch + 文本输入 */
2
- export declare const ColorField: import("react").NamedExoticComponent<{
3
- label: string;
4
- value: any;
5
- onChange: (value: any) => void;
6
- }>;
@@ -1,8 +0,0 @@
1
- export type { FieldDef, AutoFieldProps, FieldsPanelProps } from "./types";
2
- export { AutoField } from "./auto-field";
3
- export { ColorField } from "./color-field";
4
- export { RadioToggleField } from "./radio-toggle-field";
5
- export { ObjectField } from "./object-field";
6
- export { VirtualizedSelectField, LARGE_SELECT_THRESHOLD, } from "./virtualized-select-field";
7
- export { LocationField } from "./location-field";
8
- export { ActionField, ACTION_TYPE_FIELD_MAP, ACTION_TYPE_OPTIONS, PageActionFields, ExternalActionFields, EmailActionFields, PhoneActionFields, SectionActionFields, DownloadActionFields, type ActionTypeFieldProps, } from "./action-field";
@@ -1,44 +0,0 @@
1
- import type { MapLocation } from "../core/fields";
2
- interface GLatLng {
3
- lat(): number;
4
- lng(): number;
5
- }
6
- interface GGeometry {
7
- location?: GLatLng;
8
- }
9
- interface GPlaceResult {
10
- formatted_address?: string;
11
- geometry?: GGeometry;
12
- place_id?: string;
13
- address_components?: unknown[];
14
- }
15
- interface GAutocomplete {
16
- getPlace(): GPlaceResult;
17
- addListener(event: string, handler: () => void): void;
18
- }
19
- interface GAutocompleteConstructor {
20
- new (input: HTMLInputElement, opts?: Record<string, unknown>): GAutocomplete;
21
- }
22
- interface GGoogleMaps {
23
- places: {
24
- Autocomplete: GAutocompleteConstructor;
25
- };
26
- event: {
27
- clearInstanceListeners(instance: unknown): void;
28
- };
29
- }
30
- interface GGoogle {
31
- maps: GGoogleMaps;
32
- }
33
- declare global {
34
- interface Window {
35
- google?: GGoogle;
36
- }
37
- }
38
- export interface LocationFieldProps {
39
- name: string;
40
- value: MapLocation | undefined;
41
- onChange: (value: MapLocation) => void;
42
- }
43
- export declare const LocationField: import("react").NamedExoticComponent<LocationFieldProps>;
44
- export {};
@@ -1,8 +0,0 @@
1
- import type { FieldDef } from "./types";
2
- /** 嵌套对象字段:按 objectFields 递归渲染子 AutoField,onChange 合并回对象 */
3
- export declare const ObjectField: import("react").NamedExoticComponent<{
4
- field: FieldDef;
5
- name: string;
6
- value: any;
7
- onChange: (value: any) => void;
8
- }>;
@@ -1,10 +0,0 @@
1
- /** 单选/切换:若选项恰好为 true/false 两个值则渲染开关,否则为 ToggleGroup */
2
- export declare const RadioToggleField: import("react").NamedExoticComponent<{
3
- label: string;
4
- options: {
5
- label: string;
6
- value: any;
7
- }[];
8
- value: any;
9
- onChange: (value: any) => void;
10
- }>;
@@ -1,29 +0,0 @@
1
- import type React from "react";
2
- export type FieldDef = {
3
- type: string;
4
- label?: string;
5
- options?: {
6
- label: string;
7
- value: any;
8
- }[];
9
- arrayFields?: Record<string, FieldDef>;
10
- objectFields?: Record<string, FieldDef>;
11
- getItemSummary?: (item: any, index: number) => string;
12
- defaultItemProps?: Record<string, any>;
13
- min?: number;
14
- max?: number;
15
- render?: React.FC<any>;
16
- };
17
- export type AutoFieldProps = {
18
- field: FieldDef;
19
- name: string;
20
- value: any;
21
- onChange: (value: any) => void;
22
- };
23
- export interface FieldsPanelProps {
24
- open: boolean;
25
- componentType: string | null;
26
- componentData: Record<string, any> | null;
27
- onSave: (updatedProps: Record<string, any>) => void;
28
- onClose: () => void;
29
- }
@@ -1,13 +0,0 @@
1
- export declare const LARGE_SELECT_THRESHOLD = 200;
2
- type SelectOption = {
3
- label: string;
4
- value: any;
5
- };
6
- /** 超大下拉:选项超过阈值时使用虚拟列表 + 搜索,减轻 DOM 压力 */
7
- export declare const VirtualizedSelectField: import("react").NamedExoticComponent<{
8
- label: string;
9
- options: SelectOption[];
10
- value: any;
11
- onChange: (value: any) => void;
12
- }>;
13
- export {};
@@ -1,8 +0,0 @@
1
- export declare function IconPickerField({ value, onChange, }: {
2
- field: any;
3
- name: string;
4
- id: string;
5
- value: any;
6
- onChange: (value: any) => void;
7
- readOnly?: boolean;
8
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,153 +0,0 @@
1
- "use client";
2
- import { jsxs, jsx } from "react/jsx-runtime";
3
- import { useState, useMemo } from "react";
4
- import { cn } from "../../utils/css-utils.js";
5
- import { Popover, PopoverTrigger, PopoverContent } from "../shadcn/popover.js";
6
- import { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem } from "../shadcn/command.js";
7
- import { ScrollArea } from "../shadcn/scroll-area.js";
8
- import { Input } from "../shadcn/input.js";
9
- import { Label } from "../shadcn/label.js";
10
- import { ICON_MAP, ICON_CATALOG } from "./core/icon-catalog.js";
11
- import { ChevronDown } from "lucide-react";
12
- function IconPickerField({
13
- value,
14
- onChange
15
- }) {
16
- const [open, setOpen] = useState(false);
17
- const current = value ?? "none";
18
- const [search, setSearch] = useState("");
19
- const [manualInput, setManualInput] = useState("");
20
- const CurrentIcon = ICON_MAP.get(current);
21
- const filteredCatalog = useMemo(() => {
22
- const q = search.trim().toLowerCase();
23
- if (!q) return ICON_CATALOG;
24
- return ICON_CATALOG.map((cat) => ({
25
- ...cat,
26
- icons: cat.icons.filter((e) => e.name.toLowerCase().includes(q))
27
- })).filter((cat) => cat.icons.length > 0);
28
- }, [search]);
29
- const handleSelect = (name) => {
30
- onChange(name);
31
- setSearch("");
32
- setOpen(false);
33
- };
34
- const handleManualSubmit = () => {
35
- const v = manualInput.trim();
36
- if (v) {
37
- onChange(v);
38
- setManualInput("");
39
- setOpen(false);
40
- }
41
- };
42
- return /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, children: [
43
- /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
44
- "button",
45
- {
46
- type: "button",
47
- className: cn(
48
- "inline-flex h-8 w-full items-center gap-2 rounded-md border bg-background px-2.5 text-sm",
49
- "text-foreground transition-colors hover:bg-accent/50",
50
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50"
51
- ),
52
- children: [
53
- CurrentIcon ? /* @__PURE__ */ jsx(CurrentIcon, { className: "size-4 shrink-0 text-muted-foreground" }) : /* @__PURE__ */ jsx("span", { className: "size-4 shrink-0 rounded-sm border border-dashed" }),
54
- /* @__PURE__ */ jsx("span", { className: "flex-1 truncate text-left", children: current === "none" ? /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "None" }) : current }),
55
- /* @__PURE__ */ jsx(ChevronDown, { className: "size-3.5 shrink-0 text-muted-foreground" })
56
- ]
57
- }
58
- ) }),
59
- /* @__PURE__ */ jsx(
60
- PopoverContent,
61
- {
62
- className: "w-72 p-0",
63
- align: "start",
64
- side: "bottom",
65
- sideOffset: 4,
66
- children: /* @__PURE__ */ jsxs(Command, { shouldFilter: false, children: [
67
- /* @__PURE__ */ jsx(
68
- CommandInput,
69
- {
70
- placeholder: "Search icons...",
71
- value: search,
72
- onValueChange: setSearch
73
- }
74
- ),
75
- /* @__PURE__ */ jsxs(CommandList, { className: "max-h-none overflow-visible", children: [
76
- /* @__PURE__ */ jsx(CommandEmpty, { children: "No icons found." }),
77
- /* @__PURE__ */ jsxs(ScrollArea, { className: "h-72", children: [
78
- /* @__PURE__ */ jsx(CommandGroup, { children: /* @__PURE__ */ jsxs(
79
- CommandItem,
80
- {
81
- value: "none",
82
- onSelect: () => handleSelect("none"),
83
- "data-checked": current === "none" ? "true" : void 0,
84
- className: "gap-2",
85
- children: [
86
- /* @__PURE__ */ jsx("span", { className: "size-4 shrink-0 rounded-sm border border-dashed" }),
87
- /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "None" })
88
- ]
89
- }
90
- ) }),
91
- filteredCatalog.map((cat) => /* @__PURE__ */ jsx(CommandGroup, { heading: cat.label, children: /* @__PURE__ */ jsx("div", { className: "grid grid-cols-6 gap-0.5 px-1 py-0.5", children: cat.icons.map((entry) => {
92
- const IconComp = entry.component;
93
- const isSelected = current === entry.name;
94
- return /* @__PURE__ */ jsx(
95
- "button",
96
- {
97
- type: "button",
98
- title: entry.name,
99
- onClick: () => handleSelect(entry.name),
100
- className: cn(
101
- "flex size-8 items-center justify-center rounded-md transition-colors",
102
- "hover:bg-accent hover:text-accent-foreground",
103
- isSelected && "bg-primary text-primary-foreground hover:bg-primary/90"
104
- ),
105
- "aria-label": entry.name,
106
- "aria-pressed": isSelected,
107
- children: /* @__PURE__ */ jsx(IconComp, { className: "size-4" })
108
- },
109
- entry.name
110
- );
111
- }) }) }, cat.label))
112
- ] }),
113
- /* @__PURE__ */ jsxs("div", { className: "border-t p-2", children: [
114
- /* @__PURE__ */ jsx(Label, { className: "mb-1 block text-xs text-muted-foreground", children: "Or type any Lucide icon name" }),
115
- /* @__PURE__ */ jsxs("div", { className: "flex gap-1.5", children: [
116
- /* @__PURE__ */ jsx(
117
- Input,
118
- {
119
- className: "h-7 flex-1 text-xs",
120
- placeholder: "e.g. arrow-right",
121
- value: manualInput,
122
- onChange: (e) => setManualInput(e.target.value),
123
- onKeyDown: (e) => {
124
- if (e.key === "Enter") {
125
- e.preventDefault();
126
- handleManualSubmit();
127
- }
128
- }
129
- }
130
- ),
131
- /* @__PURE__ */ jsx(
132
- "button",
133
- {
134
- type: "button",
135
- onClick: handleManualSubmit,
136
- className: cn(
137
- "inline-flex h-7 items-center rounded-md border bg-secondary px-2.5 text-xs font-medium",
138
- "text-secondary-foreground transition-colors hover:bg-secondary/80"
139
- ),
140
- children: "Set"
141
- }
142
- )
143
- ] })
144
- ] })
145
- ] })
146
- ] })
147
- }
148
- )
149
- ] });
150
- }
151
- export {
152
- IconPickerField
153
- };