@brunoalz/smartgesti-site-editor 0.2.2 → 1.1.0

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 (607) hide show
  1. package/dist/editor/BlockSelector.d.ts +2 -1
  2. package/dist/editor/BlockSelector.d.ts.map +1 -1
  3. package/dist/editor/BlockSelector.js +55 -64
  4. package/dist/editor/BlockSelector.js.map +1 -1
  5. package/dist/editor/LandingPageEditor.d.ts +19 -0
  6. package/dist/editor/LandingPageEditor.d.ts.map +1 -0
  7. package/dist/editor/LandingPageEditor.js +239 -0
  8. package/dist/editor/LandingPageEditor.js.map +1 -0
  9. package/dist/editor/PageTabBar.d.ts +4 -1
  10. package/dist/editor/PageTabBar.d.ts.map +1 -1
  11. package/dist/editor/PageTabBar.js +179 -41
  12. package/dist/editor/PageTabBar.js.map +1 -1
  13. package/dist/editor/PropertyEditor/BlockPropertyEditor.d.ts +5 -3
  14. package/dist/editor/PropertyEditor/BlockPropertyEditor.d.ts.map +1 -1
  15. package/dist/editor/PropertyEditor/BlockPropertyEditor.js +60 -113
  16. package/dist/editor/PropertyEditor/BlockPropertyEditor.js.map +1 -1
  17. package/dist/editor/PropertyEditor/CollapsiblePropertyGroup.d.ts +3 -1
  18. package/dist/editor/PropertyEditor/CollapsiblePropertyGroup.d.ts.map +1 -1
  19. package/dist/editor/PropertyEditor/CollapsiblePropertyGroup.js +47 -33
  20. package/dist/editor/PropertyEditor/CollapsiblePropertyGroup.js.map +1 -1
  21. package/dist/editor/PropertyEditor/PropertyGroup.d.ts +1 -1
  22. package/dist/editor/PropertyEditor/PropertyGroup.d.ts.map +1 -1
  23. package/dist/editor/PropertyEditor/VariationSelector.d.ts +2 -1
  24. package/dist/editor/PropertyEditor/VariationSelector.d.ts.map +1 -1
  25. package/dist/editor/PropertyEditor/VariationSelector.js +35 -31
  26. package/dist/editor/PropertyEditor/VariationSelector.js.map +1 -1
  27. package/dist/editor/PropertyEditor/index.js +30 -28
  28. package/dist/editor/PropertyEditor/inputs/CarouselImagesInput.d.ts +16 -0
  29. package/dist/editor/PropertyEditor/inputs/CarouselImagesInput.d.ts.map +1 -0
  30. package/dist/editor/PropertyEditor/inputs/CarouselImagesInput.js +170 -0
  31. package/dist/editor/PropertyEditor/inputs/CarouselImagesInput.js.map +1 -0
  32. package/dist/editor/PropertyEditor/inputs/ImageGridInput.d.ts +1 -1
  33. package/dist/editor/PropertyEditor/inputs/ImageGridInput.d.ts.map +1 -1
  34. package/dist/editor/PropertyEditor/inputs/ImageGridInput.js +148 -121
  35. package/dist/editor/PropertyEditor/inputs/ImageGridInput.js.map +1 -1
  36. package/dist/editor/PropertyEditor/inputs/ImageInput.d.ts.map +1 -0
  37. package/dist/{components → editor/PropertyEditor}/inputs/ImageInput.js +41 -39
  38. package/dist/editor/PropertyEditor/inputs/ImageInput.js.map +1 -0
  39. package/dist/editor/PropertyEditor/inputs/TypographyInput.js +41 -44
  40. package/dist/editor/PropertyEditor/inputs/TypographyInput.js.map +1 -1
  41. package/dist/editor/PropertyEditor/inputs/index.d.ts +2 -0
  42. package/dist/editor/PropertyEditor/inputs/index.d.ts.map +1 -1
  43. package/dist/editor/PropertyEditor/renderPropertyInput.d.ts +1 -1
  44. package/dist/editor/PropertyEditor/renderPropertyInput.d.ts.map +1 -1
  45. package/dist/editor/PropertyEditor/renderPropertyInput.js +167 -139
  46. package/dist/editor/PropertyEditor/renderPropertyInput.js.map +1 -1
  47. package/dist/editor/components/CenterPanel.d.ts +13 -4
  48. package/dist/editor/components/CenterPanel.d.ts.map +1 -1
  49. package/dist/editor/components/CenterPanel.js +40 -31
  50. package/dist/editor/components/CenterPanel.js.map +1 -1
  51. package/dist/editor/components/LeftPanel.d.ts +2 -1
  52. package/dist/editor/components/LeftPanel.d.ts.map +1 -1
  53. package/dist/editor/components/LeftPanel.js +13 -12
  54. package/dist/editor/components/LeftPanel.js.map +1 -1
  55. package/dist/editor/components/LoadingSpinner.d.ts.map +1 -0
  56. package/dist/editor/components/LoadingSpinner.js.map +1 -0
  57. package/dist/editor/components/RightPanel.d.ts +8 -2
  58. package/dist/editor/components/RightPanel.d.ts.map +1 -1
  59. package/dist/editor/components/RightPanel.js +24 -19
  60. package/dist/editor/components/RightPanel.js.map +1 -1
  61. package/dist/editor/components/Toolbar.d.ts +5 -1
  62. package/dist/editor/components/Toolbar.d.ts.map +1 -1
  63. package/dist/editor/components/Toolbar.js +56 -40
  64. package/dist/editor/components/Toolbar.js.map +1 -1
  65. package/dist/engine/export/exportHtml.d.ts +10 -5
  66. package/dist/engine/export/exportHtml.d.ts.map +1 -1
  67. package/dist/engine/export/exportHtml.js +38 -40
  68. package/dist/engine/export/exportHtml.js.map +1 -1
  69. package/dist/engine/export/exporters/content/HeadingExporter.d.ts.map +1 -1
  70. package/dist/engine/export/exporters/content/HeadingExporter.js +6 -6
  71. package/dist/engine/export/exporters/content/HeadingExporter.js.map +1 -1
  72. package/dist/engine/export/exporters/content/LinkExporter.d.ts.map +1 -1
  73. package/dist/engine/export/exporters/content/LinkExporter.js +6 -6
  74. package/dist/engine/export/exporters/content/LinkExporter.js.map +1 -1
  75. package/dist/engine/export/exporters/content/TextExporter.d.ts.map +1 -1
  76. package/dist/engine/export/exporters/content/TextExporter.js +7 -7
  77. package/dist/engine/export/exporters/content/TextExporter.js.map +1 -1
  78. package/dist/engine/export/exporters/sections/BlogPostExporters.d.ts +6 -0
  79. package/dist/engine/export/exporters/sections/BlogPostExporters.d.ts.map +1 -0
  80. package/dist/engine/export/exporters/sections/BlogPostExporters.js +101 -0
  81. package/dist/engine/export/exporters/sections/BlogPostExporters.js.map +1 -0
  82. package/dist/engine/export/exporters/sections/FooterExporter.d.ts.map +1 -1
  83. package/dist/engine/export/exporters/sections/FooterExporter.js +33 -40
  84. package/dist/engine/export/exporters/sections/FooterExporter.js.map +1 -1
  85. package/dist/engine/export/exporters/sections/HeroExporter.d.ts.map +1 -1
  86. package/dist/engine/export/exporters/sections/HeroExporter.js +222 -218
  87. package/dist/engine/export/exporters/sections/HeroExporter.js.map +1 -1
  88. package/dist/engine/export/exporters/sections/MarketingExporters.js +88 -88
  89. package/dist/engine/export/exporters/sections/MarketingExporters.js.map +1 -1
  90. package/dist/engine/export/exporters/sections/NavbarExporter.js +34 -34
  91. package/dist/engine/export/exporters/sections/NavbarExporter.js.map +1 -1
  92. package/dist/engine/export/exporters/sections/index.d.ts.map +1 -1
  93. package/dist/engine/export/exporters/sections/index.js +29 -22
  94. package/dist/engine/export/exporters/sections/index.js.map +1 -1
  95. package/dist/engine/export/sanitizeHtml.d.ts.map +1 -1
  96. package/dist/engine/export/sanitizeHtml.js +65 -18
  97. package/dist/engine/export/sanitizeHtml.js.map +1 -1
  98. package/dist/engine/export/styleResolver.d.ts.map +1 -1
  99. package/dist/engine/export/styleResolver.js +33 -33
  100. package/dist/engine/export/styleResolver.js.map +1 -1
  101. package/dist/engine/generators/generateLandingPage.d.ts +4 -4
  102. package/dist/engine/generators/generateLandingPage.d.ts.map +1 -1
  103. package/dist/engine/generators/generateLandingPage.js.map +1 -1
  104. package/dist/engine/index.d.ts +6 -3
  105. package/dist/engine/index.d.ts.map +1 -1
  106. package/dist/engine/index.js +99 -89
  107. package/dist/engine/index.js.map +1 -1
  108. package/dist/engine/patch/PatchBuilder.d.ts +11 -11
  109. package/dist/engine/patch/PatchBuilder.d.ts.map +1 -1
  110. package/dist/engine/patch/PatchBuilder.js +92 -93
  111. package/dist/engine/patch/PatchBuilder.js.map +1 -1
  112. package/dist/engine/patch/applyPatch.js.map +1 -1
  113. package/dist/engine/plugins/builtin/blog/index.d.ts +3 -0
  114. package/dist/engine/plugins/builtin/blog/index.d.ts.map +1 -0
  115. package/dist/engine/plugins/builtin/blog/manifest.d.ts +3 -0
  116. package/dist/engine/plugins/builtin/blog/manifest.d.ts.map +1 -0
  117. package/dist/engine/plugins/builtin/blog/manifest.js +273 -0
  118. package/dist/engine/plugins/builtin/blog/manifest.js.map +1 -0
  119. package/dist/engine/plugins/builtin/blog/mockContentProvider.d.ts +7 -0
  120. package/dist/engine/plugins/builtin/blog/mockContentProvider.d.ts.map +1 -0
  121. package/dist/engine/plugins/builtin/blog/mockContentProvider.js +135 -0
  122. package/dist/engine/plugins/builtin/blog/mockContentProvider.js.map +1 -0
  123. package/dist/engine/plugins/contentHydration.d.ts +17 -0
  124. package/dist/engine/plugins/contentHydration.d.ts.map +1 -0
  125. package/dist/engine/plugins/contentHydration.js +121 -0
  126. package/dist/engine/plugins/contentHydration.js.map +1 -0
  127. package/dist/engine/plugins/dynamicPageResolver.d.ts +25 -0
  128. package/dist/engine/plugins/dynamicPageResolver.d.ts.map +1 -0
  129. package/dist/engine/plugins/dynamicPageResolver.js +32 -0
  130. package/dist/engine/plugins/dynamicPageResolver.js.map +1 -0
  131. package/dist/engine/plugins/index.d.ts +11 -0
  132. package/dist/engine/plugins/index.d.ts.map +1 -0
  133. package/dist/engine/plugins/pluginRegistry.d.ts +37 -0
  134. package/dist/engine/plugins/pluginRegistry.d.ts.map +1 -0
  135. package/dist/engine/plugins/pluginRegistry.js +134 -0
  136. package/dist/engine/plugins/pluginRegistry.js.map +1 -0
  137. package/dist/engine/plugins/types.d.ts +180 -0
  138. package/dist/engine/plugins/types.d.ts.map +1 -0
  139. package/dist/engine/presets/heroVariations.d.ts +5 -0
  140. package/dist/engine/presets/heroVariations.d.ts.map +1 -1
  141. package/dist/engine/presets/heroVariations.js +50 -6
  142. package/dist/engine/presets/heroVariations.js.map +1 -1
  143. package/dist/engine/preview/Preview.d.ts +19 -0
  144. package/dist/engine/preview/Preview.d.ts.map +1 -0
  145. package/dist/engine/preview/Preview.js +418 -0
  146. package/dist/engine/preview/Preview.js.map +1 -0
  147. package/dist/engine/registry/blocks/sections/blogPostCard.d.ts +3 -0
  148. package/dist/engine/registry/blocks/sections/blogPostCard.d.ts.map +1 -0
  149. package/dist/engine/registry/blocks/sections/blogPostCard.js +53 -0
  150. package/dist/engine/registry/blocks/sections/blogPostCard.js.map +1 -0
  151. package/dist/engine/registry/blocks/sections/blogPostDetail.d.ts +3 -0
  152. package/dist/engine/registry/blocks/sections/blogPostDetail.d.ts.map +1 -0
  153. package/dist/engine/registry/blocks/sections/blogPostDetail.js +49 -0
  154. package/dist/engine/registry/blocks/sections/blogPostDetail.js.map +1 -0
  155. package/dist/engine/registry/blocks/sections/blogPostGrid.d.ts +3 -0
  156. package/dist/engine/registry/blocks/sections/blogPostGrid.d.ts.map +1 -0
  157. package/dist/engine/registry/blocks/sections/blogPostGrid.js +89 -0
  158. package/dist/engine/registry/blocks/sections/blogPostGrid.js.map +1 -0
  159. package/dist/engine/registry/blocks/sections/hero.d.ts.map +1 -1
  160. package/dist/engine/registry/blocks/sections/hero.js +67 -14
  161. package/dist/engine/registry/blocks/sections/hero.js.map +1 -1
  162. package/dist/engine/registry/blocks/sections/index.d.ts +3 -0
  163. package/dist/engine/registry/blocks/sections/index.d.ts.map +1 -1
  164. package/dist/engine/registry/blocks/sections/navbar.d.ts.map +1 -1
  165. package/dist/engine/registry/blocks/sections/navbar.js +2 -1
  166. package/dist/engine/registry/blocks/sections/navbar.js.map +1 -1
  167. package/dist/engine/registry/registry.d.ts.map +1 -1
  168. package/dist/engine/registry/registry.js +39 -36
  169. package/dist/engine/registry/registry.js.map +1 -1
  170. package/dist/engine/registry/types.d.ts +17 -13
  171. package/dist/engine/registry/types.d.ts.map +1 -1
  172. package/dist/engine/render/renderNodeImpl.js +85 -85
  173. package/dist/engine/render/renderNodeImpl.js.map +1 -1
  174. package/dist/engine/render/renderPage.d.ts +3 -3
  175. package/dist/engine/render/renderPage.d.ts.map +1 -1
  176. package/dist/engine/render/renderPage.js.map +1 -1
  177. package/dist/engine/render/renderers/composition/CardRenderer.js +4 -4
  178. package/dist/engine/render/renderers/content/LinkRenderer.d.ts.map +1 -1
  179. package/dist/engine/render/renderers/content/LinkRenderer.js +41 -16
  180. package/dist/engine/render/renderers/content/LinkRenderer.js.map +1 -1
  181. package/dist/engine/render/renderers/content/SocialLinksRenderer.d.ts.map +1 -1
  182. package/dist/engine/render/renderers/content/SocialLinksRenderer.js +16 -23
  183. package/dist/engine/render/renderers/content/SocialLinksRenderer.js.map +1 -1
  184. package/dist/engine/render/renderers/forms/FormRenderer.js +6 -6
  185. package/dist/engine/render/renderers/layout/GridRenderer.js +3 -3
  186. package/dist/engine/render/renderers/sections/BlogPostCardRenderer.d.ts +3 -0
  187. package/dist/engine/render/renderers/sections/BlogPostCardRenderer.d.ts.map +1 -0
  188. package/dist/engine/render/renderers/sections/BlogPostCardRenderer.js +199 -0
  189. package/dist/engine/render/renderers/sections/BlogPostCardRenderer.js.map +1 -0
  190. package/dist/engine/render/renderers/sections/BlogPostDetailRenderer.d.ts +3 -0
  191. package/dist/engine/render/renderers/sections/BlogPostDetailRenderer.d.ts.map +1 -0
  192. package/dist/engine/render/renderers/sections/BlogPostDetailRenderer.js +293 -0
  193. package/dist/engine/render/renderers/sections/BlogPostDetailRenderer.js.map +1 -0
  194. package/dist/engine/render/renderers/sections/BlogPostGridRenderer.d.ts +3 -0
  195. package/dist/engine/render/renderers/sections/BlogPostGridRenderer.d.ts.map +1 -0
  196. package/dist/engine/render/renderers/sections/BlogPostGridRenderer.js +101 -0
  197. package/dist/engine/render/renderers/sections/BlogPostGridRenderer.js.map +1 -0
  198. package/dist/engine/render/renderers/sections/CtaRenderer.d.ts.map +1 -1
  199. package/dist/engine/render/renderers/sections/CtaRenderer.js +33 -31
  200. package/dist/engine/render/renderers/sections/CtaRenderer.js.map +1 -1
  201. package/dist/engine/render/renderers/sections/FaqItemRenderer.d.ts.map +1 -1
  202. package/dist/engine/render/renderers/sections/FaqItemRenderer.js +7 -6
  203. package/dist/engine/render/renderers/sections/FaqItemRenderer.js.map +1 -1
  204. package/dist/engine/render/renderers/sections/FaqRenderer.js +7 -7
  205. package/dist/engine/render/renderers/sections/FaqRenderer.js.map +1 -1
  206. package/dist/engine/render/renderers/sections/FeatureGridRenderer.d.ts.map +1 -1
  207. package/dist/engine/render/renderers/sections/FeatureGridRenderer.js +19 -18
  208. package/dist/engine/render/renderers/sections/FeatureGridRenderer.js.map +1 -1
  209. package/dist/engine/render/renderers/sections/FeatureRenderer.d.ts.map +1 -1
  210. package/dist/engine/render/renderers/sections/FeatureRenderer.js +5 -4
  211. package/dist/engine/render/renderers/sections/FeatureRenderer.js.map +1 -1
  212. package/dist/engine/render/renderers/sections/FooterRenderer.d.ts.map +1 -1
  213. package/dist/engine/render/renderers/sections/FooterRenderer.js +25 -30
  214. package/dist/engine/render/renderers/sections/FooterRenderer.js.map +1 -1
  215. package/dist/engine/render/renderers/sections/HeroRenderer.d.ts.map +1 -1
  216. package/dist/engine/render/renderers/sections/HeroRenderer.js +293 -229
  217. package/dist/engine/render/renderers/sections/HeroRenderer.js.map +1 -1
  218. package/dist/engine/render/renderers/sections/NavbarRenderer.d.ts.map +1 -1
  219. package/dist/engine/render/renderers/sections/NavbarRenderer.js +23 -22
  220. package/dist/engine/render/renderers/sections/NavbarRenderer.js.map +1 -1
  221. package/dist/engine/render/renderers/sections/PricingCardRenderer.d.ts.map +1 -1
  222. package/dist/engine/render/renderers/sections/PricingCardRenderer.js +7 -6
  223. package/dist/engine/render/renderers/sections/PricingCardRenderer.js.map +1 -1
  224. package/dist/engine/render/renderers/sections/PricingRenderer.js +9 -9
  225. package/dist/engine/render/renderers/sections/PricingRenderer.js.map +1 -1
  226. package/dist/engine/render/renderers/sections/TestimonialGridRenderer.d.ts.map +1 -1
  227. package/dist/engine/render/renderers/sections/TestimonialGridRenderer.js +17 -16
  228. package/dist/engine/render/renderers/sections/TestimonialGridRenderer.js.map +1 -1
  229. package/dist/engine/render/renderers/sections/TestimonialRenderer.d.ts.map +1 -1
  230. package/dist/engine/render/renderers/sections/TestimonialRenderer.js +11 -10
  231. package/dist/engine/render/renderers/sections/TestimonialRenderer.js.map +1 -1
  232. package/dist/engine/render/renderers/sections/index.js +24 -18
  233. package/dist/engine/render/renderers/sections/index.js.map +1 -1
  234. package/dist/engine/schema/siteDocument.d.ts +118 -7
  235. package/dist/engine/schema/siteDocument.d.ts.map +1 -1
  236. package/dist/engine/schema/siteDocument.js +1 -1
  237. package/dist/engine/schema/siteDocument.js.map +1 -1
  238. package/dist/engine/schema/themeTokens.d.ts +1 -1
  239. package/dist/engine/schema/themeTokens.js.map +1 -1
  240. package/dist/engine/shared/carouselAnimation.d.ts +20 -0
  241. package/dist/engine/shared/carouselAnimation.d.ts.map +1 -0
  242. package/dist/engine/shared/carouselAnimation.js +62 -0
  243. package/dist/engine/shared/carouselAnimation.js.map +1 -0
  244. package/dist/engine/shared/imageGrid/presets.js +4 -12
  245. package/dist/engine/shared/imageGrid/presets.js.map +1 -1
  246. package/dist/engine/shared/imageGrid/types.d.ts +2 -0
  247. package/dist/engine/shared/imageGrid/types.d.ts.map +1 -1
  248. package/dist/engine/shared/layoutConstants.d.ts +13 -0
  249. package/dist/engine/shared/layoutConstants.d.ts.map +1 -0
  250. package/dist/engine/shared/layoutConstants.js +14 -0
  251. package/dist/engine/shared/layoutConstants.js.map +1 -0
  252. package/dist/engine/shared/shadowConstants.d.ts +5 -0
  253. package/dist/engine/shared/shadowConstants.d.ts.map +1 -0
  254. package/dist/engine/shared/shadowConstants.js +11 -0
  255. package/dist/engine/shared/shadowConstants.js.map +1 -0
  256. package/dist/engine/shared/showWhen.d.ts +44 -0
  257. package/dist/engine/shared/showWhen.d.ts.map +1 -0
  258. package/dist/engine/shared/showWhen.js +33 -0
  259. package/dist/engine/shared/showWhen.js.map +1 -0
  260. package/dist/engine/shared/socialIcons.d.ts +6 -0
  261. package/dist/engine/shared/socialIcons.d.ts.map +1 -0
  262. package/dist/engine/shared/socialIcons.js +13 -0
  263. package/dist/engine/shared/socialIcons.js.map +1 -0
  264. package/dist/engine/shared/typeGuards.d.ts +11 -0
  265. package/dist/engine/shared/typeGuards.d.ts.map +1 -0
  266. package/dist/hooks/useEditorState.d.ts +8 -5
  267. package/dist/hooks/useEditorState.d.ts.map +1 -1
  268. package/dist/hooks/useEditorState.js +150 -194
  269. package/dist/hooks/useEditorState.js.map +1 -1
  270. package/dist/hooks/useNavbarAutoSync.d.ts +2 -2
  271. package/dist/hooks/useNavbarAutoSync.d.ts.map +1 -1
  272. package/dist/hooks/useNavbarAutoSync.js.map +1 -1
  273. package/dist/index.d.ts +60 -14
  274. package/dist/index.d.ts.map +1 -1
  275. package/dist/index.js +109 -124
  276. package/dist/index.js.map +1 -1
  277. package/dist/shared/index.d.ts +2 -2
  278. package/dist/shared/index.d.ts.map +1 -1
  279. package/dist/shared/schema.d.ts +4 -4
  280. package/dist/shared/schema.d.ts.map +1 -1
  281. package/dist/shared/schema.js.map +1 -1
  282. package/dist/shared/templates/escola-blog.d.ts +3 -0
  283. package/dist/shared/templates/escola-blog.d.ts.map +1 -0
  284. package/dist/shared/templates/escola-blog.js +160 -0
  285. package/dist/shared/templates/escola-blog.js.map +1 -0
  286. package/dist/shared/templates/escola-edvi.d.ts +2 -2
  287. package/dist/shared/templates/escola-edvi.d.ts.map +1 -1
  288. package/dist/shared/templates/escola-edvi.js.map +1 -1
  289. package/dist/shared/templates/escola-premium.d.ts +2 -2
  290. package/dist/shared/templates/escola-premium.d.ts.map +1 -1
  291. package/dist/shared/templates/escola-premium.js.map +1 -1
  292. package/dist/shared/templates/escola-zilom.d.ts +2 -2
  293. package/dist/shared/templates/escola-zilom.d.ts.map +1 -1
  294. package/dist/shared/templates/escola-zilom.js.map +1 -1
  295. package/dist/shared/templates/index.d.ts +7 -5
  296. package/dist/shared/templates/index.d.ts.map +1 -1
  297. package/dist/shared/templates/index.js +30 -12
  298. package/dist/shared/templates/index.js.map +1 -1
  299. package/dist/shared/validators.d.ts +3 -3
  300. package/dist/shared/validators.d.ts.map +1 -1
  301. package/dist/shared/validators.js.map +1 -1
  302. package/dist/site/BlockRenderer.d.ts +1 -1
  303. package/dist/site/BlockRenderer.d.ts.map +1 -1
  304. package/dist/site/BlockRenderer.js +22 -26
  305. package/dist/site/BlockRenderer.js.map +1 -1
  306. package/dist/site/blocks/Button.js +15 -17
  307. package/dist/site/blocks/Button.js.map +1 -1
  308. package/dist/site/blocks/Card.js +13 -15
  309. package/dist/site/blocks/Card.js.map +1 -1
  310. package/dist/site/blocks/Features.js +15 -17
  311. package/dist/site/blocks/Features.js.map +1 -1
  312. package/dist/site/blocks/Footer.js +10 -12
  313. package/dist/site/blocks/Footer.js.map +1 -1
  314. package/dist/site/blocks/Hero.js +12 -14
  315. package/dist/site/blocks/Hero.js.map +1 -1
  316. package/dist/site/blocks/Navbar.js +13 -15
  317. package/dist/site/blocks/Navbar.js.map +1 -1
  318. package/dist/site/blocks/Section.js +9 -11
  319. package/dist/site/blocks/Section.js.map +1 -1
  320. package/dist/site/blocks/SectionHeader.js +9 -11
  321. package/dist/site/blocks/SectionHeader.js.map +1 -1
  322. package/dist/site/blocks/SiteRoot.js +9 -12
  323. package/dist/site/blocks/SiteRoot.js.map +1 -1
  324. package/dist/site/index.js +73 -73
  325. package/dist/styles/site/sections.css.d.ts +1 -1
  326. package/dist/utils/blockUtils.d.ts +2 -2
  327. package/dist/utils/blockUtils.d.ts.map +1 -1
  328. package/dist/utils/blockUtils.js.map +1 -1
  329. package/dist/utils/changeDetector.d.ts +3 -2
  330. package/dist/utils/changeDetector.d.ts.map +1 -1
  331. package/dist/utils/changeDetector.js +39 -39
  332. package/dist/utils/changeDetector.js.map +1 -1
  333. package/dist/utils/cn.js +2 -2
  334. package/dist/utils/dataURLUtils.d.ts +24 -0
  335. package/dist/utils/dataURLUtils.d.ts.map +1 -0
  336. package/dist/utils/dataURLUtils.js +47 -0
  337. package/dist/utils/dataURLUtils.js.map +1 -0
  338. package/dist/utils/documentHash.d.ts +2 -2
  339. package/dist/utils/documentHash.d.ts.map +1 -1
  340. package/dist/utils/documentHash.js +8 -7
  341. package/dist/utils/documentHash.js.map +1 -1
  342. package/dist/utils/logger.d.ts +13 -0
  343. package/dist/utils/logger.d.ts.map +1 -0
  344. package/dist/utils/logger.js +13 -0
  345. package/dist/utils/logger.js.map +1 -0
  346. package/dist/utils/navbarSync.d.ts +3 -3
  347. package/dist/utils/navbarSync.d.ts.map +1 -1
  348. package/dist/utils/navbarSync.js +25 -24
  349. package/dist/utils/navbarSync.js.map +1 -1
  350. package/dist/utils/sharedTemplateToEngine.d.ts +7 -8
  351. package/dist/utils/sharedTemplateToEngine.d.ts.map +1 -1
  352. package/dist/utils/sharedTemplateToEngine.js +14 -87
  353. package/dist/utils/sharedTemplateToEngine.js.map +1 -1
  354. package/dist/viewer/LandingPageViewer.d.ts +32 -0
  355. package/dist/viewer/LandingPageViewer.d.ts.map +1 -0
  356. package/dist/viewer/LandingPageViewer.js +300 -0
  357. package/dist/viewer/LandingPageViewer.js.map +1 -0
  358. package/package.json +10 -5
  359. package/dist/components/ComponentPalette/definitions.d.ts +0 -3
  360. package/dist/components/ComponentPalette/definitions.d.ts.map +0 -1
  361. package/dist/components/ComponentPalette/definitions.js +0 -206
  362. package/dist/components/ComponentPalette/definitions.js.map +0 -1
  363. package/dist/components/ComponentPalette/index.d.ts +0 -7
  364. package/dist/components/ComponentPalette/index.d.ts.map +0 -1
  365. package/dist/components/ComponentPalette/index.js +0 -86
  366. package/dist/components/ComponentPalette/index.js.map +0 -1
  367. package/dist/components/LoadingSpinner.d.ts.map +0 -1
  368. package/dist/components/LoadingSpinner.js.map +0 -1
  369. package/dist/components/PreviewPanel/index.d.ts +0 -12
  370. package/dist/components/PreviewPanel/index.d.ts.map +0 -1
  371. package/dist/components/PreviewPanel/index.js +0 -140
  372. package/dist/components/PreviewPanel/index.js.map +0 -1
  373. package/dist/components/PropertyPanel/index.d.ts +0 -8
  374. package/dist/components/PropertyPanel/index.d.ts.map +0 -1
  375. package/dist/components/PropertyPanel/index.js +0 -223
  376. package/dist/components/PropertyPanel/index.js.map +0 -1
  377. package/dist/components/SiteEditor/index.d.ts +0 -3
  378. package/dist/components/SiteEditor/index.d.ts.map +0 -1
  379. package/dist/components/SiteEditor/index.js +0 -251
  380. package/dist/components/SiteEditor/index.js.map +0 -1
  381. package/dist/components/SiteViewer/index.d.ts +0 -3
  382. package/dist/components/SiteViewer/index.d.ts.map +0 -1
  383. package/dist/components/SiteViewer/index.js +0 -55
  384. package/dist/components/SiteViewer/index.js.map +0 -1
  385. package/dist/components/TemplateSelector/index.d.ts +0 -7
  386. package/dist/components/TemplateSelector/index.d.ts.map +0 -1
  387. package/dist/components/TemplateSelector/index.js +0 -109
  388. package/dist/components/TemplateSelector/index.js.map +0 -1
  389. package/dist/components/Toolbar/index.d.ts +0 -15
  390. package/dist/components/Toolbar/index.d.ts.map +0 -1
  391. package/dist/components/Toolbar/index.js +0 -113
  392. package/dist/components/Toolbar/index.js.map +0 -1
  393. package/dist/components/editors/PaletteSelector.d.ts +0 -14
  394. package/dist/components/editors/PaletteSelector.d.ts.map +0 -1
  395. package/dist/components/editors/PaletteSelector.js +0 -175
  396. package/dist/components/editors/PaletteSelector.js.map +0 -1
  397. package/dist/components/effects/SectionGlow.d.ts +0 -12
  398. package/dist/components/effects/SectionGlow.d.ts.map +0 -1
  399. package/dist/components/effects/SectionGlow.js +0 -139
  400. package/dist/components/effects/SectionGlow.js.map +0 -1
  401. package/dist/components/inputs/CheckboxInput.d.ts +0 -3
  402. package/dist/components/inputs/CheckboxInput.d.ts.map +0 -1
  403. package/dist/components/inputs/CheckboxInput.js +0 -46
  404. package/dist/components/inputs/CheckboxInput.js.map +0 -1
  405. package/dist/components/inputs/ColorInput.d.ts +0 -7
  406. package/dist/components/inputs/ColorInput.d.ts.map +0 -1
  407. package/dist/components/inputs/ColorInput.js +0 -180
  408. package/dist/components/inputs/ColorInput.js.map +0 -1
  409. package/dist/components/inputs/GradientInput.d.ts +0 -7
  410. package/dist/components/inputs/GradientInput.d.ts.map +0 -1
  411. package/dist/components/inputs/GradientInput.js +0 -78
  412. package/dist/components/inputs/GradientInput.js.map +0 -1
  413. package/dist/components/inputs/ImageInput.d.ts.map +0 -1
  414. package/dist/components/inputs/ImageInput.js.map +0 -1
  415. package/dist/components/inputs/SelectInput.d.ts +0 -7
  416. package/dist/components/inputs/SelectInput.d.ts.map +0 -1
  417. package/dist/components/inputs/SelectInput.js +0 -97
  418. package/dist/components/inputs/SelectInput.js.map +0 -1
  419. package/dist/components/inputs/SliderInput.d.ts +0 -8
  420. package/dist/components/inputs/SliderInput.d.ts.map +0 -1
  421. package/dist/components/inputs/SliderInput.js +0 -77
  422. package/dist/components/inputs/SliderInput.js.map +0 -1
  423. package/dist/components/inputs/index.d.ts +0 -11
  424. package/dist/components/inputs/index.d.ts.map +0 -1
  425. package/dist/components/inputs/types.d.ts +0 -48
  426. package/dist/components/inputs/types.d.ts.map +0 -1
  427. package/dist/components/inputs/types.js +0 -9
  428. package/dist/components/inputs/types.js.map +0 -1
  429. package/dist/components/renderers/ComponentRenderer.d.ts +0 -8
  430. package/dist/components/renderers/ComponentRenderer.d.ts.map +0 -1
  431. package/dist/components/renderers/ComponentRenderer.js +0 -13
  432. package/dist/components/renderers/ComponentRenderer.js.map +0 -1
  433. package/dist/components/renderers/HeroRenderer.d.ts +0 -3
  434. package/dist/components/renderers/HeroRenderer.d.ts.map +0 -1
  435. package/dist/components/renderers/HeroRenderer.js +0 -10
  436. package/dist/components/renderers/HeroRenderer.js.map +0 -1
  437. package/dist/components/renderers/hero/HeroBanner.d.ts +0 -3
  438. package/dist/components/renderers/hero/HeroBanner.d.ts.map +0 -1
  439. package/dist/components/renderers/hero/HeroBanner.js +0 -122
  440. package/dist/components/renderers/hero/HeroBanner.js.map +0 -1
  441. package/dist/components/renderers/hero/HeroCinematic.d.ts +0 -3
  442. package/dist/components/renderers/hero/HeroCinematic.d.ts.map +0 -1
  443. package/dist/components/renderers/hero/HeroCinematic.js +0 -141
  444. package/dist/components/renderers/hero/HeroCinematic.js.map +0 -1
  445. package/dist/components/renderers/hero/HeroClassic.d.ts +0 -3
  446. package/dist/components/renderers/hero/HeroClassic.d.ts.map +0 -1
  447. package/dist/components/renderers/hero/HeroClassic.js +0 -241
  448. package/dist/components/renderers/hero/HeroClassic.js.map +0 -1
  449. package/dist/components/renderers/hero/HeroCollage.d.ts +0 -3
  450. package/dist/components/renderers/hero/HeroCollage.d.ts.map +0 -1
  451. package/dist/components/renderers/hero/HeroCollage.js +0 -131
  452. package/dist/components/renderers/hero/HeroCollage.js.map +0 -1
  453. package/dist/components/renderers/hero/HeroColumns.d.ts +0 -3
  454. package/dist/components/renderers/hero/HeroColumns.d.ts.map +0 -1
  455. package/dist/components/renderers/hero/HeroColumns.js +0 -114
  456. package/dist/components/renderers/hero/HeroColumns.js.map +0 -1
  457. package/dist/components/renderers/hero/HeroGlass.d.ts +0 -3
  458. package/dist/components/renderers/hero/HeroGlass.d.ts.map +0 -1
  459. package/dist/components/renderers/hero/HeroGlass.js +0 -119
  460. package/dist/components/renderers/hero/HeroGlass.js.map +0 -1
  461. package/dist/components/renderers/hero/HeroNeon.d.ts +0 -3
  462. package/dist/components/renderers/hero/HeroNeon.d.ts.map +0 -1
  463. package/dist/components/renderers/hero/HeroNeon.js +0 -136
  464. package/dist/components/renderers/hero/HeroNeon.js.map +0 -1
  465. package/dist/components/renderers/hero/HeroParallax.d.ts +0 -3
  466. package/dist/components/renderers/hero/HeroParallax.d.ts.map +0 -1
  467. package/dist/components/renderers/hero/HeroParallax.js +0 -99
  468. package/dist/components/renderers/hero/HeroParallax.js.map +0 -1
  469. package/dist/components/renderers/hero/HeroSplit.d.ts +0 -3
  470. package/dist/components/renderers/hero/HeroSplit.d.ts.map +0 -1
  471. package/dist/components/renderers/hero/HeroSplit.js +0 -142
  472. package/dist/components/renderers/hero/HeroSplit.js.map +0 -1
  473. package/dist/components/renderers/hero/HeroSpotlight.d.ts +0 -3
  474. package/dist/components/renderers/hero/HeroSpotlight.d.ts.map +0 -1
  475. package/dist/components/renderers/hero/HeroSpotlight.js +0 -213
  476. package/dist/components/renderers/hero/HeroSpotlight.js.map +0 -1
  477. package/dist/components/renderers/hero/index.d.ts +0 -14
  478. package/dist/components/renderers/hero/index.d.ts.map +0 -1
  479. package/dist/components/renderers/index.d.ts +0 -8
  480. package/dist/components/renderers/index.d.ts.map +0 -1
  481. package/dist/components/renderers/index.js +0 -89
  482. package/dist/components/renderers/index.js.map +0 -1
  483. package/dist/components/renderers/types.d.ts +0 -11
  484. package/dist/components/renderers/types.d.ts.map +0 -1
  485. package/dist/editor/LandingPageEditorV2.d.ts +0 -19
  486. package/dist/editor/LandingPageEditorV2.d.ts.map +0 -1
  487. package/dist/editor/LandingPageEditorV2.js +0 -311
  488. package/dist/editor/LandingPageEditorV2.js.map +0 -1
  489. package/dist/editor/PropertyEditor/PropertyGroup.js +0 -23
  490. package/dist/editor/PropertyEditor/PropertyGroup.js.map +0 -1
  491. package/dist/engine/preview/PreviewV2.d.ts +0 -15
  492. package/dist/engine/preview/PreviewV2.d.ts.map +0 -1
  493. package/dist/engine/preview/PreviewV2.js +0 -242
  494. package/dist/engine/preview/PreviewV2.js.map +0 -1
  495. package/dist/modules/registry.d.ts +0 -31
  496. package/dist/modules/registry.d.ts.map +0 -1
  497. package/dist/modules/registry.js +0 -67
  498. package/dist/modules/registry.js.map +0 -1
  499. package/dist/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js +0 -57
  500. package/dist/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js.map +0 -1
  501. package/dist/node_modules/@dnd-kit/core/dist/core.esm.js +0 -2345
  502. package/dist/node_modules/@dnd-kit/core/dist/core.esm.js.map +0 -1
  503. package/dist/node_modules/@dnd-kit/sortable/dist/sortable.esm.js +0 -440
  504. package/dist/node_modules/@dnd-kit/sortable/dist/sortable.esm.js.map +0 -1
  505. package/dist/node_modules/@dnd-kit/utilities/dist/utilities.esm.js +0 -236
  506. package/dist/node_modules/@dnd-kit/utilities/dist/utilities.esm.js.map +0 -1
  507. package/dist/node_modules/clsx/dist/clsx.js +0 -17
  508. package/dist/node_modules/clsx/dist/clsx.js.map +0 -1
  509. package/dist/node_modules/lucide-react/dist/esm/Icon.js +0 -35
  510. package/dist/node_modules/lucide-react/dist/esm/Icon.js.map +0 -1
  511. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js +0 -18
  512. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js.map +0 -1
  513. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js +0 -15
  514. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js.map +0 -1
  515. package/dist/node_modules/lucide-react/dist/esm/icons/arrow-right.js +0 -9
  516. package/dist/node_modules/lucide-react/dist/esm/icons/arrow-right.js.map +0 -1
  517. package/dist/node_modules/lucide-react/dist/esm/icons/briefcase.js +0 -9
  518. package/dist/node_modules/lucide-react/dist/esm/icons/briefcase.js.map +0 -1
  519. package/dist/node_modules/lucide-react/dist/esm/icons/check.js +0 -6
  520. package/dist/node_modules/lucide-react/dist/esm/icons/check.js.map +0 -1
  521. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.js +0 -8
  522. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.js.map +0 -1
  523. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js +0 -8
  524. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js.map +0 -1
  525. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.js +0 -6
  526. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.js.map +0 -1
  527. package/dist/node_modules/lucide-react/dist/esm/icons/eye.js +0 -15
  528. package/dist/node_modules/lucide-react/dist/esm/icons/eye.js.map +0 -1
  529. package/dist/node_modules/lucide-react/dist/esm/icons/file-text.js +0 -12
  530. package/dist/node_modules/lucide-react/dist/esm/icons/file-text.js.map +0 -1
  531. package/dist/node_modules/lucide-react/dist/esm/icons/globe.js +0 -10
  532. package/dist/node_modules/lucide-react/dist/esm/icons/globe.js.map +0 -1
  533. package/dist/node_modules/lucide-react/dist/esm/icons/grid-3x3.js +0 -12
  534. package/dist/node_modules/lucide-react/dist/esm/icons/grid-3x3.js.map +0 -1
  535. package/dist/node_modules/lucide-react/dist/esm/icons/grip-vertical.js +0 -13
  536. package/dist/node_modules/lucide-react/dist/esm/icons/grip-vertical.js.map +0 -1
  537. package/dist/node_modules/lucide-react/dist/esm/icons/heading.js +0 -10
  538. package/dist/node_modules/lucide-react/dist/esm/icons/heading.js.map +0 -1
  539. package/dist/node_modules/lucide-react/dist/esm/icons/image.js +0 -10
  540. package/dist/node_modules/lucide-react/dist/esm/icons/image.js.map +0 -1
  541. package/dist/node_modules/lucide-react/dist/esm/icons/images.js +0 -11
  542. package/dist/node_modules/lucide-react/dist/esm/icons/images.js.map +0 -1
  543. package/dist/node_modules/lucide-react/dist/esm/icons/list.js +0 -13
  544. package/dist/node_modules/lucide-react/dist/esm/icons/list.js.map +0 -1
  545. package/dist/node_modules/lucide-react/dist/esm/icons/loader-circle.js +0 -8
  546. package/dist/node_modules/lucide-react/dist/esm/icons/loader-circle.js.map +0 -1
  547. package/dist/node_modules/lucide-react/dist/esm/icons/minus.js +0 -6
  548. package/dist/node_modules/lucide-react/dist/esm/icons/minus.js.map +0 -1
  549. package/dist/node_modules/lucide-react/dist/esm/icons/mouse-pointer-click.js +0 -18
  550. package/dist/node_modules/lucide-react/dist/esm/icons/mouse-pointer-click.js.map +0 -1
  551. package/dist/node_modules/lucide-react/dist/esm/icons/navigation.js +0 -8
  552. package/dist/node_modules/lucide-react/dist/esm/icons/navigation.js.map +0 -1
  553. package/dist/node_modules/lucide-react/dist/esm/icons/panels-top-left.js +0 -10
  554. package/dist/node_modules/lucide-react/dist/esm/icons/panels-top-left.js.map +0 -1
  555. package/dist/node_modules/lucide-react/dist/esm/icons/phone.js +0 -14
  556. package/dist/node_modules/lucide-react/dist/esm/icons/phone.js.map +0 -1
  557. package/dist/node_modules/lucide-react/dist/esm/icons/plus.js +0 -9
  558. package/dist/node_modules/lucide-react/dist/esm/icons/plus.js.map +0 -1
  559. package/dist/node_modules/lucide-react/dist/esm/icons/redo-2.js +0 -9
  560. package/dist/node_modules/lucide-react/dist/esm/icons/redo-2.js.map +0 -1
  561. package/dist/node_modules/lucide-react/dist/esm/icons/redo.js +0 -9
  562. package/dist/node_modules/lucide-react/dist/esm/icons/redo.js.map +0 -1
  563. package/dist/node_modules/lucide-react/dist/esm/icons/rotate-ccw.js +0 -9
  564. package/dist/node_modules/lucide-react/dist/esm/icons/rotate-ccw.js.map +0 -1
  565. package/dist/node_modules/lucide-react/dist/esm/icons/save.js +0 -16
  566. package/dist/node_modules/lucide-react/dist/esm/icons/save.js.map +0 -1
  567. package/dist/node_modules/lucide-react/dist/esm/icons/square.js +0 -8
  568. package/dist/node_modules/lucide-react/dist/esm/icons/square.js.map +0 -1
  569. package/dist/node_modules/lucide-react/dist/esm/icons/star.js +0 -14
  570. package/dist/node_modules/lucide-react/dist/esm/icons/star.js.map +0 -1
  571. package/dist/node_modules/lucide-react/dist/esm/icons/trash-2.js +0 -12
  572. package/dist/node_modules/lucide-react/dist/esm/icons/trash-2.js.map +0 -1
  573. package/dist/node_modules/lucide-react/dist/esm/icons/type.js +0 -10
  574. package/dist/node_modules/lucide-react/dist/esm/icons/type.js.map +0 -1
  575. package/dist/node_modules/lucide-react/dist/esm/icons/undo-2.js +0 -9
  576. package/dist/node_modules/lucide-react/dist/esm/icons/undo-2.js.map +0 -1
  577. package/dist/node_modules/lucide-react/dist/esm/icons/undo.js +0 -9
  578. package/dist/node_modules/lucide-react/dist/esm/icons/undo.js.map +0 -1
  579. package/dist/node_modules/lucide-react/dist/esm/icons/user.js +0 -9
  580. package/dist/node_modules/lucide-react/dist/esm/icons/user.js.map +0 -1
  581. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js +0 -6
  582. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js.map +0 -1
  583. package/dist/node_modules/react-colorful/dist/index.js +0 -167
  584. package/dist/node_modules/react-colorful/dist/index.js.map +0 -1
  585. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +0 -2266
  586. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +0 -1
  587. package/dist/types/index.d.ts +0 -99
  588. package/dist/types/index.d.ts.map +0 -1
  589. package/dist/types/module.d.ts +0 -25
  590. package/dist/types/module.d.ts.map +0 -1
  591. package/dist/utils/htmlExporter.d.ts +0 -6
  592. package/dist/utils/htmlExporter.d.ts.map +0 -1
  593. package/dist/utils/htmlExporter.js +0 -92
  594. package/dist/utils/htmlExporter.js.map +0 -1
  595. package/dist/utils/themeApplier.d.ts +0 -11
  596. package/dist/utils/themeApplier.d.ts.map +0 -1
  597. package/dist/utils/themeApplier.js +0 -29
  598. package/dist/utils/themeApplier.js.map +0 -1
  599. package/dist/utils/useDebounce.d.ts +0 -12
  600. package/dist/utils/useDebounce.d.ts.map +0 -1
  601. package/dist/viewer/LandingPageViewerV2.d.ts +0 -25
  602. package/dist/viewer/LandingPageViewerV2.d.ts.map +0 -1
  603. package/dist/viewer/LandingPageViewerV2.js +0 -253
  604. package/dist/viewer/LandingPageViewerV2.js.map +0 -1
  605. /package/dist/{components → editor/PropertyEditor}/inputs/ImageInput.d.ts +0 -0
  606. /package/dist/{components → editor/components}/LoadingSpinner.d.ts +0 -0
  607. /package/dist/{components → editor/components}/LoadingSpinner.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsiblePropertyGroup.d.ts","sourceRoot":"","sources":["../../../src/editor/PropertyEditor/CollapsiblePropertyGroup.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,UAAU,6BAA6B;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,aAAa,CAAC;QACpB,KAAK,EAAE,GAAG,CAAC;KACZ,CAAC,CAAC;IACH,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACrD,qFAAqF;IACrF,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACvD,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,qEAmEnC,CAAC"}
1
+ {"version":3,"file":"CollapsiblePropertyGroup.d.ts","sourceRoot":"","sources":["../../../src/editor/PropertyEditor/CollapsiblePropertyGroup.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,UAAU,6BAA6B;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,aAAa,CAAC;QACpB,KAAK,EAAE,GAAG,CAAC;KACZ,CAAC,CAAC;IACH,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACrD,qFAAqF;IACrF,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACvD,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,qEA6FnC,CAAC"}
@@ -1,63 +1,77 @@
1
- import { jsxs as a, jsx as o } from "react/jsx-runtime";
2
- import { memo as f, useState as x, useMemo as h } from "react";
3
- import { renderPropertyInput as k } from "./renderPropertyInput.js";
4
- import { cn as i } from "../../utils/cn.js";
5
- import v from "../../node_modules/lucide-react/dist/esm/icons/chevron-down.js";
6
- const O = f(function({
7
- groupName: d,
8
- props: n,
9
- onPropChange: u,
10
- onMultiUpdate: e,
11
- allProps: t,
1
+ import { jsxs as t, jsx as n } from "react/jsx-runtime";
2
+ import { memo as h, useState as k, useRef as w, useMemo as v, useEffect as N } from "react";
3
+ import { Pencil as C, ChevronDown as j } from "lucide-react";
4
+ import { renderPropertyInput as I } from "./renderPropertyInput.js";
5
+ import { cn as s } from "../../utils/cn.js";
6
+ const A = h(function({
7
+ groupName: l,
8
+ props: p,
9
+ onPropChange: c,
10
+ onMultiUpdate: o,
11
+ allProps: a,
12
12
  uploadConfig: g,
13
- defaultOpen: c = !0
13
+ defaultOpen: m = !0,
14
+ isFocused: r
14
15
  }) {
15
- const [r, l] = x(c), m = h(() => {
16
- if (t && e)
17
- return { allProps: t, onMultiUpdate: e };
18
- }, [t, e]);
19
- return n.length === 0 ? null : /* @__PURE__ */ a("div", { className: "border border-gray-200 dark:border-gray-700 rounded-lg", children: [
20
- /* @__PURE__ */ a(
16
+ const [e, u] = k(m), i = w(null), f = v(() => {
17
+ if (a && o)
18
+ return { allProps: a, onMultiUpdate: o };
19
+ }, [a, o]);
20
+ return N(() => {
21
+ r && i.current && (u(!0), requestAnimationFrame(() => {
22
+ i.current?.scrollIntoView({ behavior: "smooth", block: "start" });
23
+ }));
24
+ }, [r]), p.length === 0 ? null : /* @__PURE__ */ t("div", { ref: i, id: `prop-group-${l}`, className: s(
25
+ "border rounded-lg transition-colors",
26
+ r ? "border-purple-400 dark:border-purple-600 ring-1 ring-purple-200 dark:ring-purple-800" : "border-gray-200 dark:border-gray-700"
27
+ ), children: [
28
+ /* @__PURE__ */ t(
21
29
  "button",
22
30
  {
23
31
  type: "button",
24
- onClick: () => l(!r),
25
- className: i(
32
+ onClick: () => u(!e),
33
+ className: s(
26
34
  "flex items-center justify-between w-full px-3 py-2.5",
27
35
  "bg-gray-50 dark:bg-gray-800/50",
28
36
  "hover:bg-gray-100 dark:hover:bg-gray-800",
29
37
  "transition-colors cursor-pointer",
30
38
  "focus:outline-none focus:ring-2 focus:ring-inset focus:ring-blue-500",
31
39
  "rounded-t-lg",
32
- !r && "rounded-b-lg"
40
+ !e && "rounded-b-lg"
33
41
  ),
34
42
  children: [
35
- /* @__PURE__ */ o("span", { className: "text-xs font-semibold text-gray-700 dark:text-gray-300 uppercase tracking-wide", children: d }),
36
- /* @__PURE__ */ o(
37
- v,
43
+ /* @__PURE__ */ t("span", { className: "flex items-center gap-2", children: [
44
+ /* @__PURE__ */ n("span", { className: "text-xs font-semibold text-gray-700 dark:text-gray-300 uppercase tracking-wide", children: l }),
45
+ r && /* @__PURE__ */ t("span", { className: "inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] font-semibold bg-purple-100 dark:bg-purple-900/50 text-purple-700 dark:text-purple-300 animate-pulse", children: [
46
+ /* @__PURE__ */ n(C, { className: "w-2.5 h-2.5" }),
47
+ "Editando"
48
+ ] })
49
+ ] }),
50
+ /* @__PURE__ */ n(
51
+ j,
38
52
  {
39
- className: i(
53
+ className: s(
40
54
  "w-4 h-4 text-gray-500 dark:text-gray-400 transition-transform duration-200",
41
- r && "rotate-180"
55
+ e && "rotate-180"
42
56
  )
43
57
  }
44
58
  )
45
59
  ]
46
60
  }
47
61
  ),
48
- r && /* @__PURE__ */ o("div", { className: "p-3 space-y-3 bg-white dark:bg-gray-900 rounded-b-lg", children: n.map(
49
- ({ propName: s, meta: b, value: p }) => k(
50
- s,
62
+ e && /* @__PURE__ */ n("div", { className: "p-3 space-y-3 bg-white dark:bg-gray-900 rounded-b-lg", children: p.map(
63
+ ({ propName: d, meta: b, value: x }) => I(
64
+ d,
51
65
  b,
52
- p,
53
- (y) => u(s, y),
66
+ x,
67
+ (y) => c(d, y),
54
68
  g,
55
- m
69
+ f
56
70
  )
57
71
  ) })
58
72
  ] });
59
73
  });
60
74
  export {
61
- O as CollapsiblePropertyGroup
75
+ A as CollapsiblePropertyGroup
62
76
  };
63
77
  //# sourceMappingURL=CollapsiblePropertyGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsiblePropertyGroup.js","sources":["../../../src/editor/PropertyEditor/CollapsiblePropertyGroup.tsx"],"sourcesContent":["import { memo, useState, useMemo } from \"react\";\nimport { ChevronDown } from \"lucide-react\";\nimport { InspectorMeta } from \"../../engine\";\nimport { renderPropertyInput, type RenderInputContext } from \"./renderPropertyInput\";\nimport { cn } from \"../../utils/cn\";\nimport type { UploadConfig } from \"../LandingPageEditorV2\";\n\ninterface CollapsiblePropertyGroupProps {\n groupName: string;\n props: Array<{\n propName: string;\n meta: InspectorMeta;\n value: any;\n }>;\n onPropChange: (propName: string, value: any) => void;\n /** Callback to update multiple props at once (for special inputs like image-grid) */\n onMultiUpdate?: (updates: Record<string, any>) => void;\n /** All current prop values (for special inputs that need to read multiple props) */\n allProps?: Record<string, any>;\n uploadConfig?: UploadConfig;\n defaultOpen?: boolean;\n}\n\n/**\n * Grupo de propriedades colapsável\n * Memoizado para evitar re-renders desnecessários\n */\nexport const CollapsiblePropertyGroup = memo(function CollapsiblePropertyGroup({\n groupName,\n props,\n onPropChange,\n onMultiUpdate,\n allProps,\n uploadConfig,\n defaultOpen = true,\n}: CollapsiblePropertyGroupProps) {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n\n // Create context for special inputs\n const renderContext = useMemo<RenderInputContext | undefined>(() => {\n if (allProps && onMultiUpdate) {\n return { allProps, onMultiUpdate };\n }\n return undefined;\n }, [allProps, onMultiUpdate]);\n\n if (props.length === 0) {\n return null;\n }\n\n return (\n <div className=\"border border-gray-200 dark:border-gray-700 rounded-lg\">\n {/* Header clicável */}\n <button\n type=\"button\"\n onClick={() => setIsOpen(!isOpen)}\n className={cn(\n \"flex items-center justify-between w-full px-3 py-2.5\",\n \"bg-gray-50 dark:bg-gray-800/50\",\n \"hover:bg-gray-100 dark:hover:bg-gray-800\",\n \"transition-colors cursor-pointer\",\n \"focus:outline-none focus:ring-2 focus:ring-inset focus:ring-blue-500\",\n \"rounded-t-lg\",\n !isOpen && \"rounded-b-lg\"\n )}\n >\n <span className=\"text-xs font-semibold text-gray-700 dark:text-gray-300 uppercase tracking-wide\">\n {groupName}\n </span>\n <ChevronDown\n className={cn(\n \"w-4 h-4 text-gray-500 dark:text-gray-400 transition-transform duration-200\",\n isOpen && \"rotate-180\"\n )}\n />\n </button>\n\n {/* Conteúdo colapsável */}\n {isOpen && (\n <div className=\"p-3 space-y-3 bg-white dark:bg-gray-900 rounded-b-lg\">\n {props.map(({ propName, meta, value }) =>\n renderPropertyInput(\n propName,\n meta,\n value,\n (newValue) => onPropChange(propName, newValue),\n uploadConfig,\n renderContext\n )\n )}\n </div>\n )}\n </div>\n );\n});\n"],"names":["CollapsiblePropertyGroup","memo","groupName","props","onPropChange","onMultiUpdate","allProps","uploadConfig","defaultOpen","isOpen","setIsOpen","useState","renderContext","useMemo","jsxs","cn","jsx","ChevronDown","propName","meta","value","renderPropertyInput","newValue"],"mappings":";;;;;AA2BO,MAAMA,IAA2BC,EAAK,SAAkC;AAAA,EAC7E,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,cAAAC;AAAA,EACA,eAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,aAAAC,IAAc;AAChB,GAAkC;AAChC,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAASH,CAAW,GAG1CI,IAAgBC,EAAwC,MAAM;AAClE,QAAIP,KAAYD;AACd,aAAO,EAAE,UAAAC,GAAU,eAAAD,EAAA;AAAA,EAGvB,GAAG,CAACC,GAAUD,CAAa,CAAC;AAE5B,SAAIF,EAAM,WAAW,IACZ,OAIP,gBAAAW,EAAC,OAAA,EAAI,WAAU,0DAEb,UAAA;AAAA,IAAA,gBAAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAS,MAAMJ,EAAU,CAACD,CAAM;AAAA,QAChC,WAAWM;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,CAACN,KAAU;AAAA,QAAA;AAAA,QAGb,UAAA;AAAA,UAAA,gBAAAO,EAAC,QAAA,EAAK,WAAU,kFACb,UAAAd,GACH;AAAA,UACA,gBAAAc;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,WAAWF;AAAA,gBACT;AAAA,gBACAN,KAAU;AAAA,cAAA;AAAA,YACZ;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,IAIDA,KACC,gBAAAO,EAAC,OAAA,EAAI,WAAU,wDACZ,UAAAb,EAAM;AAAA,MAAI,CAAC,EAAE,UAAAe,GAAU,MAAAC,GAAM,OAAAC,QAC5BC;AAAA,QACEH;AAAA,QACAC;AAAA,QACAC;AAAA,QACA,CAACE,MAAalB,EAAac,GAAUI,CAAQ;AAAA,QAC7Cf;AAAA,QACAK;AAAA,MAAA;AAAA,IACF,EACF,CACF;AAAA,EAAA,GAEJ;AAEJ,CAAC;"}
1
+ {"version":3,"file":"CollapsiblePropertyGroup.js","sources":["../../../src/editor/PropertyEditor/CollapsiblePropertyGroup.tsx"],"sourcesContent":["import { memo, useState, useMemo, useEffect, useRef } from \"react\";\nimport { ChevronDown, Pencil } from \"lucide-react\";\nimport { InspectorMeta } from \"../../engine\";\nimport { renderPropertyInput, type RenderInputContext } from \"./renderPropertyInput\";\nimport { cn } from \"../../utils/cn\";\nimport type { UploadConfig } from \"../LandingPageEditor\";\n\ninterface CollapsiblePropertyGroupProps {\n groupName: string;\n props: Array<{\n propName: string;\n meta: InspectorMeta;\n value: any;\n }>;\n onPropChange: (propName: string, value: any) => void;\n /** Callback to update multiple props at once (for special inputs like image-grid) */\n onMultiUpdate?: (updates: Record<string, any>) => void;\n /** All current prop values (for special inputs that need to read multiple props) */\n allProps?: Record<string, any>;\n uploadConfig?: UploadConfig;\n defaultOpen?: boolean;\n /** When true, opens the group and scrolls it into view */\n isFocused?: boolean;\n}\n\n/**\n * Grupo de propriedades colapsável\n * Memoizado para evitar re-renders desnecessários\n */\nexport const CollapsiblePropertyGroup = memo(function CollapsiblePropertyGroup({\n groupName,\n props,\n onPropChange,\n onMultiUpdate,\n allProps,\n uploadConfig,\n defaultOpen = true,\n isFocused,\n}: CollapsiblePropertyGroupProps) {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const groupRef = useRef<HTMLDivElement>(null);\n\n // Create context for special inputs\n const renderContext = useMemo<RenderInputContext | undefined>(() => {\n if (allProps && onMultiUpdate) {\n return { allProps, onMultiUpdate };\n }\n return undefined;\n }, [allProps, onMultiUpdate]);\n\n // When focused, open and scroll into view\n useEffect(() => {\n if (isFocused && groupRef.current) {\n setIsOpen(true);\n // Small delay to ensure the group content is rendered before scrolling\n requestAnimationFrame(() => {\n groupRef.current?.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n });\n }\n }, [isFocused]);\n\n if (props.length === 0) {\n return null;\n }\n\n return (\n <div ref={groupRef} id={`prop-group-${groupName}`} className={cn(\n \"border rounded-lg transition-colors\",\n isFocused\n ? \"border-purple-400 dark:border-purple-600 ring-1 ring-purple-200 dark:ring-purple-800\"\n : \"border-gray-200 dark:border-gray-700\"\n )}>\n {/* Header clicável */}\n <button\n type=\"button\"\n onClick={() => setIsOpen(!isOpen)}\n className={cn(\n \"flex items-center justify-between w-full px-3 py-2.5\",\n \"bg-gray-50 dark:bg-gray-800/50\",\n \"hover:bg-gray-100 dark:hover:bg-gray-800\",\n \"transition-colors cursor-pointer\",\n \"focus:outline-none focus:ring-2 focus:ring-inset focus:ring-blue-500\",\n \"rounded-t-lg\",\n !isOpen && \"rounded-b-lg\"\n )}\n >\n <span className=\"flex items-center gap-2\">\n <span className=\"text-xs font-semibold text-gray-700 dark:text-gray-300 uppercase tracking-wide\">\n {groupName}\n </span>\n {isFocused && (\n <span className=\"inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] font-semibold bg-purple-100 dark:bg-purple-900/50 text-purple-700 dark:text-purple-300 animate-pulse\">\n <Pencil className=\"w-2.5 h-2.5\" />\n Editando\n </span>\n )}\n </span>\n <ChevronDown\n className={cn(\n \"w-4 h-4 text-gray-500 dark:text-gray-400 transition-transform duration-200\",\n isOpen && \"rotate-180\"\n )}\n />\n </button>\n\n {/* Conteúdo colapsável */}\n {isOpen && (\n <div className=\"p-3 space-y-3 bg-white dark:bg-gray-900 rounded-b-lg\">\n {props.map(({ propName, meta, value }) =>\n renderPropertyInput(\n propName,\n meta,\n value,\n (newValue) => onPropChange(propName, newValue),\n uploadConfig,\n renderContext\n )\n )}\n </div>\n )}\n </div>\n );\n});\n"],"names":["CollapsiblePropertyGroup","memo","groupName","props","onPropChange","onMultiUpdate","allProps","uploadConfig","defaultOpen","isFocused","isOpen","setIsOpen","useState","groupRef","useRef","renderContext","useMemo","useEffect","jsxs","cn","jsx","Pencil","ChevronDown","propName","meta","value","renderPropertyInput","newValue"],"mappings":";;;;;AA6BO,MAAMA,IAA2BC,EAAK,SAAkC;AAAA,EAC7E,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,cAAAC;AAAA,EACA,eAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,WAAAC;AACF,GAAkC;AAChC,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAASJ,CAAW,GAC1CK,IAAWC,EAAuB,IAAI,GAGtCC,IAAgBC,EAAwC,MAAM;AAClE,QAAIV,KAAYD;AACd,aAAO,EAAE,UAAAC,GAAU,eAAAD,EAAA;AAAA,EAGvB,GAAG,CAACC,GAAUD,CAAa,CAAC;AAa5B,SAVAY,EAAU,MAAM;AACd,IAAIR,KAAaI,EAAS,YACxBF,EAAU,EAAI,GAEd,sBAAsB,MAAM;AAC1B,MAAAE,EAAS,SAAS,eAAe,EAAE,UAAU,UAAU,OAAO,SAAS;AAAA,IACzE,CAAC;AAAA,EAEL,GAAG,CAACJ,CAAS,CAAC,GAEVN,EAAM,WAAW,IACZ,OAIP,gBAAAe,EAAC,SAAI,KAAKL,GAAU,IAAI,cAAcX,CAAS,IAAI,WAAWiB;AAAA,IAC5D;AAAA,IACAV,IACI,yFACA;AAAA,EAAA,GAGJ,UAAA;AAAA,IAAA,gBAAAS;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAS,MAAMP,EAAU,CAACD,CAAM;AAAA,QAChC,WAAWS;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,CAACT,KAAU;AAAA,QAAA;AAAA,QAGb,UAAA;AAAA,UAAA,gBAAAQ,EAAC,QAAA,EAAK,WAAU,2BACd,UAAA;AAAA,YAAA,gBAAAE,EAAC,QAAA,EAAK,WAAU,kFACb,UAAAlB,GACH;AAAA,YACCO,KACC,gBAAAS,EAAC,QAAA,EAAK,WAAU,yKACd,UAAA;AAAA,cAAA,gBAAAE,EAACC,GAAA,EAAO,WAAU,cAAA,CAAc;AAAA,cAAE;AAAA,YAAA,EAAA,CAEpC;AAAA,UAAA,GAEJ;AAAA,UACA,gBAAAD;AAAA,YAACE;AAAA,YAAA;AAAA,cACC,WAAWH;AAAA,gBACT;AAAA,gBACAT,KAAU;AAAA,cAAA;AAAA,YACZ;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,IAIDA,KACC,gBAAAU,EAAC,OAAA,EAAI,WAAU,wDACZ,UAAAjB,EAAM;AAAA,MAAI,CAAC,EAAE,UAAAoB,GAAU,MAAAC,GAAM,OAAAC,QAC5BC;AAAA,QACEH;AAAA,QACAC;AAAA,QACAC;AAAA,QACA,CAACE,MAAavB,EAAamB,GAAUI,CAAQ;AAAA,QAC7CpB;AAAA,QACAQ;AAAA,MAAA;AAAA,IACF,EACF,CACF;AAAA,EAAA,GAEJ;AAEJ,CAAC;"}
@@ -1,5 +1,5 @@
1
1
  import { InspectorMeta } from '../../engine';
2
- import { UploadConfig } from '../LandingPageEditorV2';
2
+ import { UploadConfig } from '../LandingPageEditor';
3
3
  interface PropertyGroupProps {
4
4
  groupName: string;
5
5
  props: Array<{
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyGroup.d.ts","sourceRoot":"","sources":["../../../src/editor/PropertyEditor/PropertyGroup.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,UAAU,kBAAkB;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,aAAa,CAAC;QACpB,KAAK,EAAE,GAAG,CAAC;KACZ,CAAC,CAAC;IACH,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACrD,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,0DA4BxB,CAAC"}
1
+ {"version":3,"file":"PropertyGroup.d.ts","sourceRoot":"","sources":["../../../src/editor/PropertyEditor/PropertyGroup.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,UAAU,kBAAkB;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,aAAa,CAAC;QACpB,KAAK,EAAE,GAAG,CAAC;KACZ,CAAC,CAAC;IACH,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACrD,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,0DA4BxB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { default as React } from 'react';
1
2
  import { Block } from '../../engine';
2
3
  interface VariationSelectorProps {
3
4
  block: Block;
@@ -7,6 +8,6 @@ interface VariationSelectorProps {
7
8
  * Componente para selecionar variações de Hero e Navbar
8
9
  * Preserva props customizadas ao trocar variação
9
10
  */
10
- export declare function VariationSelector({ block, onUpdate }: VariationSelectorProps): import("react/jsx-runtime").JSX.Element | null;
11
+ export declare const VariationSelector: React.NamedExoticComponent<VariationSelectorProps>;
11
12
  export {};
12
13
  //# sourceMappingURL=VariationSelector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VariationSelector.d.ts","sourceRoot":"","sources":["../../../src/editor/PropertyEditor/VariationSelector.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAUrC,UAAU,sBAAsB;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;CAClD;AAyGD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,sBAAsB,kDAgI5E"}
1
+ {"version":3,"file":"VariationSelector.d.ts","sourceRoot":"","sources":["../../../src/editor/PropertyEditor/VariationSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAUrC,UAAU,sBAAsB;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;CAClD;AAyGD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,oDAqI5B,CAAC"}
@@ -1,11 +1,12 @@
1
- import { jsxs as l, jsx as t } from "react/jsx-runtime";
2
- import { cn as c } from "../../utils/cn.js";
3
- import { heroVariationIds as g, heroVariations as b } from "../../engine/presets/heroVariations.js";
4
- import { navbarVariationIds as p, navbarVariations as v } from "../../engine/presets/navbarVariations.js";
5
- function r(o, i) {
6
- return o[i] !== void 0 ? { [i]: o[i] } : {};
1
+ import { jsxs as c, jsx as t } from "react/jsx-runtime";
2
+ import g from "react";
3
+ import { cn as u } from "../../utils/cn.js";
4
+ import { heroVariationIds as m, heroVariations as p } from "../../engine/presets/heroVariations.js";
5
+ import { navbarVariationIds as v, navbarVariations as f } from "../../engine/presets/navbarVariations.js";
6
+ function r(n, o) {
7
+ return n[o] !== void 0 ? { [o]: n[o] } : {};
7
8
  }
8
- const m = {
9
+ const y = {
9
10
  // Variant e variation
10
11
  variation: void 0,
11
12
  variant: "centered",
@@ -59,7 +60,7 @@ const m = {
59
60
  imageGridPreset: "four-equal",
60
61
  imageGridImages: [],
61
62
  imageGridGap: 8
62
- }, f = {
63
+ }, h = {
63
64
  variation: void 0,
64
65
  layout: "expanded",
65
66
  floating: !1,
@@ -90,14 +91,13 @@ const m = {
90
91
  buttonHoverIntensity: 50,
91
92
  buttonHoverOverlay: "none",
92
93
  buttonHoverIconName: "arrow-right"
93
- };
94
- function C({ block: o, onUpdate: i }) {
94
+ }, I = g.memo(function({ block: o, onUpdate: l }) {
95
95
  if (o.type === "hero") {
96
- const d = o.props.variation, e = o.props;
97
- return /* @__PURE__ */ l("div", { className: "space-y-2", children: [
96
+ const e = o.props, d = e.variation;
97
+ return /* @__PURE__ */ c("div", { className: "space-y-2", children: [
98
98
  /* @__PURE__ */ t("h4", { className: "text-xs font-semibold text-gray-600 dark:text-gray-400 uppercase tracking-wide", children: "Variações" }),
99
- /* @__PURE__ */ t("div", { className: "grid grid-cols-2 gap-2", children: g.map((a) => {
100
- const n = b[a];
99
+ /* @__PURE__ */ t("div", { className: "grid grid-cols-2 gap-2", children: m.map((a) => {
100
+ const i = p[a];
101
101
  return /* @__PURE__ */ t(
102
102
  "button",
103
103
  {
@@ -105,9 +105,9 @@ function C({ block: o, onUpdate: i }) {
105
105
  onClick: () => {
106
106
  const s = {
107
107
  // 1. RESET: Limpa todas as props visuais para evitar vazamento
108
- ...m,
108
+ ...y,
109
109
  // 2. Aplica os defaults da nova variação
110
- ...n.defaultProps,
110
+ ...i.defaultProps,
111
111
  // 3. Preserva APENAS o conteúdo editado pelo usuário
112
112
  ...r(e, "title"),
113
113
  ...r(e, "subtitle"),
@@ -120,15 +120,19 @@ function C({ block: o, onUpdate: i }) {
120
120
  ...r(e, "imageGridEnabled"),
121
121
  ...r(e, "imageGridPreset"),
122
122
  ...r(e, "imageGridImages"),
123
- ...r(e, "imageGridGap")
123
+ ...r(e, "imageGridGap"),
124
+ // 5. Preserva configuração do Carousel
125
+ ...r(e, "carouselImages"),
126
+ ...r(e, "carouselInterval"),
127
+ ...r(e, "carouselTransition")
124
128
  };
125
- i(s);
129
+ l(s);
126
130
  },
127
- className: c(
131
+ className: u(
128
132
  "flex items-center gap-2 p-2 rounded-lg border-2 text-left transition-all",
129
133
  d === a ? "border-blue-500 bg-blue-50 dark:bg-blue-900/20" : "border-gray-200 dark:border-gray-600 hover:border-blue-300 dark:hover:border-blue-700"
130
134
  ),
131
- children: /* @__PURE__ */ t("span", { className: "text-xs font-medium text-gray-800 dark:text-gray-100", children: n.name })
135
+ children: /* @__PURE__ */ t("span", { className: "text-xs font-medium text-gray-800 dark:text-gray-100", children: i.name })
132
136
  },
133
137
  a
134
138
  );
@@ -136,11 +140,11 @@ function C({ block: o, onUpdate: i }) {
136
140
  ] });
137
141
  }
138
142
  if (o.type === "navbar") {
139
- const d = o.props.variation, e = o.props;
140
- return /* @__PURE__ */ l("div", { className: "space-y-2", children: [
143
+ const e = o.props, d = e.variation;
144
+ return /* @__PURE__ */ c("div", { className: "space-y-2", children: [
141
145
  /* @__PURE__ */ t("h4", { className: "text-xs font-semibold text-gray-600 dark:text-gray-400 uppercase tracking-wide", children: "Variações" }),
142
- /* @__PURE__ */ t("div", { className: "grid grid-cols-2 gap-2", children: p.map((a) => {
143
- const n = v[a];
146
+ /* @__PURE__ */ t("div", { className: "grid grid-cols-2 gap-2", children: v.map((a) => {
147
+ const i = f[a];
144
148
  return /* @__PURE__ */ t(
145
149
  "button",
146
150
  {
@@ -148,9 +152,9 @@ function C({ block: o, onUpdate: i }) {
148
152
  onClick: () => {
149
153
  const s = {
150
154
  // 1. RESET: Limpa todas as props visuais para evitar vazamento
151
- ...f,
155
+ ...h,
152
156
  // 2. Aplica os defaults da nova variação
153
- ...n.defaultProps,
157
+ ...i.defaultProps,
154
158
  // 3. Preserva APENAS o conteúdo editado pelo usuário
155
159
  ...r(e, "logo"),
156
160
  ...r(e, "logoText"),
@@ -158,13 +162,13 @@ function C({ block: o, onUpdate: i }) {
158
162
  ...r(e, "links"),
159
163
  ...r(e, "ctaButton")
160
164
  };
161
- i(s);
165
+ l(s);
162
166
  },
163
- className: c(
167
+ className: u(
164
168
  "flex items-center gap-2 p-2 rounded-lg border-2 text-left transition-all",
165
169
  d === a ? "border-blue-500 bg-blue-50 dark:bg-blue-900/20" : "border-gray-200 dark:border-gray-600 hover:border-blue-300 dark:hover:border-blue-700"
166
170
  ),
167
- children: /* @__PURE__ */ t("span", { className: "text-xs font-medium text-gray-800 dark:text-gray-100", children: n.name })
171
+ children: /* @__PURE__ */ t("span", { className: "text-xs font-medium text-gray-800 dark:text-gray-100", children: i.name })
168
172
  },
169
173
  a
170
174
  );
@@ -172,8 +176,8 @@ function C({ block: o, onUpdate: i }) {
172
176
  ] });
173
177
  }
174
178
  return null;
175
- }
179
+ });
176
180
  export {
177
- C as VariationSelector
181
+ I as VariationSelector
178
182
  };
179
183
  //# sourceMappingURL=VariationSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VariationSelector.js","sources":["../../../src/editor/PropertyEditor/VariationSelector.tsx"],"sourcesContent":["import { cn } from \"../../utils/cn\";\nimport { Block } from \"../../engine\";\nimport {\n heroVariations,\n heroVariationIds,\n} from \"../../engine/presets/heroVariations\";\nimport {\n navbarVariations,\n navbarVariationIds,\n} from \"../../engine/presets/navbarVariations\";\n\ninterface VariationSelectorProps {\n block: Block;\n onUpdate: (updates: Record<string, any>) => void;\n}\n\n/**\n * Helper para preservar um valor se ele existir (não undefined)\n */\nfunction preserveIfDefined(obj: Record<string, any>, key: string): Record<string, any> {\n return obj[key] !== undefined ? { [key]: obj[key] } : {};\n}\n\n/**\n * Props visuais do Hero que DEVEM ser resetadas ao trocar de variação\n * para evitar \"vazamento\" de estilos entre variações\n */\nconst HERO_VISUAL_PROPS_TO_RESET: Record<string, any> = {\n // Variant e variation\n variation: undefined,\n variant: \"centered\",\n // Layout\n align: \"center\",\n contentPosition: \"center\",\n contentSpacing: \"default\",\n blockGap: \"default\",\n minHeight: \"70vh\",\n contentMaxWidth: \"700px\",\n paddingY: undefined,\n // Background & Overlay\n background: undefined,\n overlay: false,\n overlayColor: undefined,\n // Typography colors (legacy)\n titleColor: undefined,\n subtitleColor: undefined,\n descriptionColor: undefined,\n // Typography config (novo sistema)\n titleTypography: undefined,\n subtitleTypography: undefined,\n descriptionTypography: undefined,\n // Badge styling\n badgeColor: undefined,\n badgeTextColor: undefined,\n // Image styling\n imageRadius: 16,\n imageShadow: \"lg\",\n imagePosition: \"right\",\n // Button styling\n buttonSize: \"md\",\n primaryButtonVariant: \"solid\",\n primaryButtonColor: undefined,\n primaryButtonTextColor: undefined,\n primaryButtonRadius: 8,\n secondaryButtonVariant: \"outline\",\n secondaryButtonColor: undefined,\n secondaryButtonTextColor: undefined,\n secondaryButtonRadius: 8,\n // Button hover\n buttonHoverEffect: \"scale\",\n buttonHoverIntensity: 50,\n buttonHoverOverlay: \"none\",\n buttonHoverIconName: \"arrow-right\",\n // Decorative\n showWave: false,\n waveColor: \"rgba(255,255,255,0.1)\",\n // Image Grid\n imageGridEnabled: false,\n imageGridPreset: \"four-equal\",\n imageGridImages: [],\n imageGridGap: 8,\n};\n\n/**\n * Props visuais da Navbar que DEVEM ser resetadas ao trocar de variação\n */\nconst NAVBAR_VISUAL_PROPS_TO_RESET: Record<string, any> = {\n variation: undefined,\n layout: \"expanded\",\n floating: false,\n sticky: true,\n // Aparência\n bg: \"#ffffff\",\n opacity: 100,\n blurOpacity: 0,\n borderRadius: 0,\n shadow: \"sm\",\n // Borda\n borderPosition: \"none\",\n borderWidth: 1,\n borderColor: \"#e5e7eb\",\n // Links\n linkColor: \"#374151\",\n linkHoverColor: \"#2563eb\",\n linkFontSize: \"md\",\n linkHoverEffect: \"background\",\n linkHoverIntensity: 50,\n // Botão\n buttonVariant: \"solid\",\n buttonColor: \"#2563eb\",\n buttonTextColor: \"#ffffff\",\n buttonBorderRadius: 8,\n buttonSize: \"md\",\n buttonHoverEffect: \"darken\",\n buttonHoverIntensity: 50,\n buttonHoverOverlay: \"none\",\n buttonHoverIconName: \"arrow-right\",\n};\n\n/**\n * Componente para selecionar variações de Hero e Navbar\n * Preserva props customizadas ao trocar variação\n */\nexport function VariationSelector({ block, onUpdate }: VariationSelectorProps) {\n // Hero variations\n if (block.type === \"hero\") {\n const currentVariation = (block.props as any).variation;\n const props = block.props as any;\n\n return (\n <div className=\"space-y-2\">\n <h4 className=\"text-xs font-semibold text-gray-600 dark:text-gray-400 uppercase tracking-wide\">\n Variações\n </h4>\n <div className=\"grid grid-cols-2 gap-2\">\n {heroVariationIds.map((id) => {\n const v = heroVariations[id];\n const isActive = currentVariation === id;\n return (\n <button\n key={id}\n type=\"button\"\n onClick={() => {\n // IMPORTANTE: Ao trocar variação:\n // 1. Primeiro RESETA todas as props visuais para valores padrão\n // 2. Depois aplica os defaults da nova variação\n // 3. Por fim preserva o conteúdo do usuário\n\n const newProps = {\n // 1. RESET: Limpa todas as props visuais para evitar vazamento\n ...HERO_VISUAL_PROPS_TO_RESET,\n\n // 2. Aplica os defaults da nova variação\n ...v.defaultProps,\n\n // 3. Preserva APENAS o conteúdo editado pelo usuário\n ...preserveIfDefined(props, \"title\"),\n ...preserveIfDefined(props, \"subtitle\"),\n ...preserveIfDefined(props, \"description\"),\n ...preserveIfDefined(props, \"badge\"),\n ...preserveIfDefined(props, \"primaryButton\"),\n ...preserveIfDefined(props, \"secondaryButton\"),\n ...preserveIfDefined(props, \"image\"),\n\n // 4. Preserva configuração da Image Grid\n ...preserveIfDefined(props, \"imageGridEnabled\"),\n ...preserveIfDefined(props, \"imageGridPreset\"),\n ...preserveIfDefined(props, \"imageGridImages\"),\n ...preserveIfDefined(props, \"imageGridGap\"),\n };\n\n onUpdate(newProps);\n }}\n className={cn(\n \"flex items-center gap-2 p-2 rounded-lg border-2 text-left transition-all\",\n isActive\n ? \"border-blue-500 bg-blue-50 dark:bg-blue-900/20\"\n : \"border-gray-200 dark:border-gray-600 hover:border-blue-300 dark:hover:border-blue-700\",\n )}\n >\n <span className=\"text-xs font-medium text-gray-800 dark:text-gray-100\">\n {v.name}\n </span>\n </button>\n );\n })}\n </div>\n </div>\n );\n }\n\n // Navbar variations\n if (block.type === \"navbar\") {\n const currentVariation = (block.props as any).variation;\n const props = block.props as any;\n\n return (\n <div className=\"space-y-2\">\n <h4 className=\"text-xs font-semibold text-gray-600 dark:text-gray-400 uppercase tracking-wide\">\n Variações\n </h4>\n <div className=\"grid grid-cols-2 gap-2\">\n {navbarVariationIds.map((id) => {\n const v = navbarVariations[id];\n const isActive = currentVariation === id;\n return (\n <button\n key={id}\n type=\"button\"\n onClick={() => {\n // IMPORTANTE: Ao trocar variação:\n // 1. Primeiro RESETA todas as props visuais para valores padrão\n // 2. Depois aplica os defaults da nova variação\n // 3. Por fim preserva o conteúdo do usuário\n\n const newProps = {\n // 1. RESET: Limpa todas as props visuais para evitar vazamento\n ...NAVBAR_VISUAL_PROPS_TO_RESET,\n\n // 2. Aplica os defaults da nova variação\n ...v.defaultProps,\n\n // 3. Preserva APENAS o conteúdo editado pelo usuário\n ...preserveIfDefined(props, \"logo\"),\n ...preserveIfDefined(props, \"logoText\"),\n ...preserveIfDefined(props, \"logoHeight\"),\n ...preserveIfDefined(props, \"links\"),\n ...preserveIfDefined(props, \"ctaButton\"),\n };\n\n onUpdate(newProps);\n }}\n className={cn(\n \"flex items-center gap-2 p-2 rounded-lg border-2 text-left transition-all\",\n isActive\n ? \"border-blue-500 bg-blue-50 dark:bg-blue-900/20\"\n : \"border-gray-200 dark:border-gray-600 hover:border-blue-300 dark:hover:border-blue-700\",\n )}\n >\n <span className=\"text-xs font-medium text-gray-800 dark:text-gray-100\">\n {v.name}\n </span>\n </button>\n );\n })}\n </div>\n </div>\n );\n }\n\n return null;\n}\n"],"names":["preserveIfDefined","obj","key","HERO_VISUAL_PROPS_TO_RESET","NAVBAR_VISUAL_PROPS_TO_RESET","VariationSelector","block","onUpdate","currentVariation","props","jsxs","jsx","heroVariationIds","id","v","heroVariations","newProps","cn","navbarVariationIds","navbarVariations"],"mappings":"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"}
1
+ {"version":3,"file":"VariationSelector.js","sources":["../../../src/editor/PropertyEditor/VariationSelector.tsx"],"sourcesContent":["import React from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Block } from \"../../engine\";\nimport {\n heroVariations,\n heroVariationIds,\n} from \"../../engine/presets/heroVariations\";\nimport {\n navbarVariations,\n navbarVariationIds,\n} from \"../../engine/presets/navbarVariations\";\n\ninterface VariationSelectorProps {\n block: Block;\n onUpdate: (updates: Record<string, any>) => void;\n}\n\n/**\n * Helper para preservar um valor se ele existir (não undefined)\n */\nfunction preserveIfDefined(obj: Record<string, any>, key: string): Record<string, any> {\n return obj[key] !== undefined ? { [key]: obj[key] } : {};\n}\n\n/**\n * Props visuais do Hero que DEVEM ser resetadas ao trocar de variação\n * para evitar \"vazamento\" de estilos entre variações\n */\nconst HERO_VISUAL_PROPS_TO_RESET: Record<string, any> = {\n // Variant e variation\n variation: undefined,\n variant: \"centered\",\n // Layout\n align: \"center\",\n contentPosition: \"center\",\n contentSpacing: \"default\",\n blockGap: \"default\",\n minHeight: \"70vh\",\n contentMaxWidth: \"700px\",\n paddingY: undefined,\n // Background & Overlay\n background: undefined,\n overlay: false,\n overlayColor: undefined,\n // Typography colors (legacy)\n titleColor: undefined,\n subtitleColor: undefined,\n descriptionColor: undefined,\n // Typography config (novo sistema)\n titleTypography: undefined,\n subtitleTypography: undefined,\n descriptionTypography: undefined,\n // Badge styling\n badgeColor: undefined,\n badgeTextColor: undefined,\n // Image styling\n imageRadius: 16,\n imageShadow: \"lg\",\n imagePosition: \"right\",\n // Button styling\n buttonSize: \"md\",\n primaryButtonVariant: \"solid\",\n primaryButtonColor: undefined,\n primaryButtonTextColor: undefined,\n primaryButtonRadius: 8,\n secondaryButtonVariant: \"outline\",\n secondaryButtonColor: undefined,\n secondaryButtonTextColor: undefined,\n secondaryButtonRadius: 8,\n // Button hover\n buttonHoverEffect: \"scale\",\n buttonHoverIntensity: 50,\n buttonHoverOverlay: \"none\",\n buttonHoverIconName: \"arrow-right\",\n // Decorative\n showWave: false,\n waveColor: \"rgba(255,255,255,0.1)\",\n // Image Grid\n imageGridEnabled: false,\n imageGridPreset: \"four-equal\",\n imageGridImages: [],\n imageGridGap: 8,\n};\n\n/**\n * Props visuais da Navbar que DEVEM ser resetadas ao trocar de variação\n */\nconst NAVBAR_VISUAL_PROPS_TO_RESET: Record<string, any> = {\n variation: undefined,\n layout: \"expanded\",\n floating: false,\n sticky: true,\n // Aparência\n bg: \"#ffffff\",\n opacity: 100,\n blurOpacity: 0,\n borderRadius: 0,\n shadow: \"sm\",\n // Borda\n borderPosition: \"none\",\n borderWidth: 1,\n borderColor: \"#e5e7eb\",\n // Links\n linkColor: \"#374151\",\n linkHoverColor: \"#2563eb\",\n linkFontSize: \"md\",\n linkHoverEffect: \"background\",\n linkHoverIntensity: 50,\n // Botão\n buttonVariant: \"solid\",\n buttonColor: \"#2563eb\",\n buttonTextColor: \"#ffffff\",\n buttonBorderRadius: 8,\n buttonSize: \"md\",\n buttonHoverEffect: \"darken\",\n buttonHoverIntensity: 50,\n buttonHoverOverlay: \"none\",\n buttonHoverIconName: \"arrow-right\",\n};\n\n/**\n * Componente para selecionar variações de Hero e Navbar\n * Preserva props customizadas ao trocar variação\n */\nexport const VariationSelector = React.memo(function VariationSelector({ block, onUpdate }: VariationSelectorProps) {\n // Hero variations\n if (block.type === \"hero\") {\n const props = block.props as Record<string, any>;\n const currentVariation = props.variation;\n\n return (\n <div className=\"space-y-2\">\n <h4 className=\"text-xs font-semibold text-gray-600 dark:text-gray-400 uppercase tracking-wide\">\n Variações\n </h4>\n <div className=\"grid grid-cols-2 gap-2\">\n {heroVariationIds.map((id) => {\n const v = heroVariations[id];\n const isActive = currentVariation === id;\n return (\n <button\n key={id}\n type=\"button\"\n onClick={() => {\n // IMPORTANTE: Ao trocar variação:\n // 1. Primeiro RESETA todas as props visuais para valores padrão\n // 2. Depois aplica os defaults da nova variação\n // 3. Por fim preserva o conteúdo do usuário\n\n const newProps = {\n // 1. RESET: Limpa todas as props visuais para evitar vazamento\n ...HERO_VISUAL_PROPS_TO_RESET,\n\n // 2. Aplica os defaults da nova variação\n ...v.defaultProps,\n\n // 3. Preserva APENAS o conteúdo editado pelo usuário\n ...preserveIfDefined(props, \"title\"),\n ...preserveIfDefined(props, \"subtitle\"),\n ...preserveIfDefined(props, \"description\"),\n ...preserveIfDefined(props, \"badge\"),\n ...preserveIfDefined(props, \"primaryButton\"),\n ...preserveIfDefined(props, \"secondaryButton\"),\n ...preserveIfDefined(props, \"image\"),\n\n // 4. Preserva configuração da Image Grid\n ...preserveIfDefined(props, \"imageGridEnabled\"),\n ...preserveIfDefined(props, \"imageGridPreset\"),\n ...preserveIfDefined(props, \"imageGridImages\"),\n ...preserveIfDefined(props, \"imageGridGap\"),\n\n // 5. Preserva configuração do Carousel\n ...preserveIfDefined(props, \"carouselImages\"),\n ...preserveIfDefined(props, \"carouselInterval\"),\n ...preserveIfDefined(props, \"carouselTransition\"),\n };\n\n onUpdate(newProps);\n }}\n className={cn(\n \"flex items-center gap-2 p-2 rounded-lg border-2 text-left transition-all\",\n isActive\n ? \"border-blue-500 bg-blue-50 dark:bg-blue-900/20\"\n : \"border-gray-200 dark:border-gray-600 hover:border-blue-300 dark:hover:border-blue-700\",\n )}\n >\n <span className=\"text-xs font-medium text-gray-800 dark:text-gray-100\">\n {v.name}\n </span>\n </button>\n );\n })}\n </div>\n </div>\n );\n }\n\n // Navbar variations\n if (block.type === \"navbar\") {\n const props = block.props as Record<string, any>;\n const currentVariation = props.variation;\n\n return (\n <div className=\"space-y-2\">\n <h4 className=\"text-xs font-semibold text-gray-600 dark:text-gray-400 uppercase tracking-wide\">\n Variações\n </h4>\n <div className=\"grid grid-cols-2 gap-2\">\n {navbarVariationIds.map((id) => {\n const v = navbarVariations[id];\n const isActive = currentVariation === id;\n return (\n <button\n key={id}\n type=\"button\"\n onClick={() => {\n // IMPORTANTE: Ao trocar variação:\n // 1. Primeiro RESETA todas as props visuais para valores padrão\n // 2. Depois aplica os defaults da nova variação\n // 3. Por fim preserva o conteúdo do usuário\n\n const newProps = {\n // 1. RESET: Limpa todas as props visuais para evitar vazamento\n ...NAVBAR_VISUAL_PROPS_TO_RESET,\n\n // 2. Aplica os defaults da nova variação\n ...v.defaultProps,\n\n // 3. Preserva APENAS o conteúdo editado pelo usuário\n ...preserveIfDefined(props, \"logo\"),\n ...preserveIfDefined(props, \"logoText\"),\n ...preserveIfDefined(props, \"logoHeight\"),\n ...preserveIfDefined(props, \"links\"),\n ...preserveIfDefined(props, \"ctaButton\"),\n };\n\n onUpdate(newProps);\n }}\n className={cn(\n \"flex items-center gap-2 p-2 rounded-lg border-2 text-left transition-all\",\n isActive\n ? \"border-blue-500 bg-blue-50 dark:bg-blue-900/20\"\n : \"border-gray-200 dark:border-gray-600 hover:border-blue-300 dark:hover:border-blue-700\",\n )}\n >\n <span className=\"text-xs font-medium text-gray-800 dark:text-gray-100\">\n {v.name}\n </span>\n </button>\n );\n })}\n </div>\n </div>\n );\n }\n\n return null;\n});\n"],"names":["preserveIfDefined","obj","key","HERO_VISUAL_PROPS_TO_RESET","NAVBAR_VISUAL_PROPS_TO_RESET","VariationSelector","React","block","onUpdate","props","currentVariation","jsxs","jsx","heroVariationIds","id","v","heroVariations","newProps","cn","navbarVariationIds","navbarVariations"],"mappings":"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"}
@@ -1,33 +1,35 @@
1
1
  import { BlockPropertyEditor as o } from "./BlockPropertyEditor.js";
2
- import { VariationSelector as n } from "./VariationSelector.js";
3
- import "./PropertyGroup.js";
4
- import { renderPropertyInput as u } from "./renderPropertyInput.js";
5
- import { TextInput as I } from "./inputs/TextInput.js";
6
- import { TextAreaInput as l } from "./inputs/TextAreaInput.js";
7
- import { ColorInput as d } from "./inputs/ColorInput.js";
8
- import { NumberInput as g } from "./inputs/NumberInput.js";
9
- import { SelectInput as T } from "./inputs/SelectInput.js";
10
- import { SliderInput as G } from "./inputs/SliderInput.js";
11
- import "react/jsx-runtime";
12
- import { ToggleButton as P } from "./inputs/ToggleButton.js";
13
- import { ButtonGroupInput as h } from "./inputs/ButtonGroupInput.js";
14
- import { IconGridInput as A } from "./inputs/IconGridInput.js";
15
- import { ImageGridInput as E } from "./inputs/ImageGridInput.js";
16
- import { TypographyInput as V } from "./inputs/TypographyInput.js";
2
+ import { VariationSelector as e } from "./VariationSelector.js";
3
+ import { renderPropertyInput as n } from "./renderPropertyInput.js";
4
+ import { ButtonGroupInput as x } from "./inputs/ButtonGroupInput.js";
5
+ import { CarouselImagesInput as f } from "./inputs/CarouselImagesInput.js";
6
+ import { ColorInput as i } from "./inputs/ColorInput.js";
7
+ import { IconGridInput as g } from "./inputs/IconGridInput.js";
8
+ import { ImageGridInput as c } from "./inputs/ImageGridInput.js";
9
+ import { ImageInput as T } from "./inputs/ImageInput.js";
10
+ import { NumberInput as G } from "./inputs/NumberInput.js";
11
+ import { SelectInput as s } from "./inputs/SelectInput.js";
12
+ import { SliderInput as P } from "./inputs/SliderInput.js";
13
+ import { TextAreaInput as h } from "./inputs/TextAreaInput.js";
14
+ import { TextInput as A } from "./inputs/TextInput.js";
15
+ import { ToggleButton as N } from "./inputs/ToggleButton.js";
16
+ import { TypographyInput as j } from "./inputs/TypographyInput.js";
17
17
  export {
18
18
  o as BlockPropertyEditor,
19
- h as ButtonGroupInput,
20
- d as ColorInput,
21
- A as IconGridInput,
22
- E as ImageGridInput,
23
- g as NumberInput,
24
- T as SelectInput,
25
- G as SliderInput,
26
- l as TextAreaInput,
27
- I as TextInput,
28
- P as ToggleButton,
29
- V as TypographyInput,
30
- n as VariationSelector,
31
- u as renderPropertyInput
19
+ x as ButtonGroupInput,
20
+ f as CarouselImagesInput,
21
+ i as ColorInput,
22
+ g as IconGridInput,
23
+ c as ImageGridInput,
24
+ T as ImageInput,
25
+ G as NumberInput,
26
+ s as SelectInput,
27
+ P as SliderInput,
28
+ h as TextAreaInput,
29
+ A as TextInput,
30
+ N as ToggleButton,
31
+ j as TypographyInput,
32
+ e as VariationSelector,
33
+ n as renderPropertyInput
32
34
  };
33
35
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,16 @@
1
+ import { UploadConfig } from '../../LandingPageEditor';
2
+ interface CarouselImagesInputProps {
3
+ /** Array de URLs de imagens */
4
+ images: string[];
5
+ /** Callback ao atualizar imagens */
6
+ onImagesChange: (images: string[]) => void;
7
+ /** Label do componente */
8
+ label?: string;
9
+ /** Descrição */
10
+ description?: string;
11
+ /** Configuração de upload */
12
+ uploadConfig?: UploadConfig;
13
+ }
14
+ export declare function CarouselImagesInput({ images, onImagesChange, label, description, }: CarouselImagesInputProps): import("react/jsx-runtime").JSX.Element;
15
+ export {};
16
+ //# sourceMappingURL=CarouselImagesInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarouselImagesInput.d.ts","sourceRoot":"","sources":["../../../../src/editor/PropertyEditor/inputs/CarouselImagesInput.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,UAAU,wBAAwB;IAChC,+BAA+B;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,oCAAoC;IACpC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3C,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAqHD,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,cAAc,EACd,KAAK,EACL,WAAW,GACZ,EAAE,wBAAwB,2CAgF1B"}