@brunoalz/smartgesti-site-editor 0.1.1 → 0.1.3

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 (529) hide show
  1. package/README.md +336 -84
  2. package/dist/components/ComponentPalette/definitions.d.ts +3 -0
  3. package/dist/components/ComponentPalette/definitions.d.ts.map +1 -0
  4. package/dist/components/ComponentPalette/index.d.ts +7 -0
  5. package/dist/components/ComponentPalette/index.d.ts.map +1 -0
  6. package/dist/components/LoadingSpinner.d.ts +6 -0
  7. package/dist/components/LoadingSpinner.d.ts.map +1 -0
  8. package/dist/components/PreviewPanel/index.d.ts +12 -0
  9. package/dist/components/PreviewPanel/index.d.ts.map +1 -0
  10. package/dist/components/PropertyPanel/index.d.ts +8 -0
  11. package/dist/components/PropertyPanel/index.d.ts.map +1 -0
  12. package/dist/components/SiteEditor/index.d.ts +3 -0
  13. package/dist/components/SiteEditor/index.d.ts.map +1 -0
  14. package/dist/components/SiteViewer/index.d.ts +3 -0
  15. package/dist/components/SiteViewer/index.d.ts.map +1 -0
  16. package/dist/components/TemplateSelector/index.d.ts +7 -0
  17. package/dist/components/TemplateSelector/index.d.ts.map +1 -0
  18. package/dist/components/Toolbar/index.d.ts +15 -0
  19. package/dist/components/Toolbar/index.d.ts.map +1 -0
  20. package/dist/components/editors/PaletteSelector.d.ts +14 -0
  21. package/dist/components/editors/PaletteSelector.d.ts.map +1 -0
  22. package/dist/components/effects/SectionGlow.d.ts +12 -0
  23. package/dist/components/effects/SectionGlow.d.ts.map +1 -0
  24. package/dist/components/inputs/CheckboxInput.d.ts +3 -0
  25. package/dist/components/inputs/CheckboxInput.d.ts.map +1 -0
  26. package/dist/components/inputs/ColorInput.d.ts +7 -0
  27. package/dist/components/inputs/ColorInput.d.ts.map +1 -0
  28. package/dist/components/inputs/GradientInput.d.ts +7 -0
  29. package/dist/components/inputs/GradientInput.d.ts.map +1 -0
  30. package/dist/components/inputs/ImageInput.d.ts +19 -0
  31. package/dist/components/inputs/ImageInput.d.ts.map +1 -0
  32. package/dist/components/inputs/ImageInput.js +67 -48
  33. package/dist/components/inputs/ImageInput.js.map +1 -1
  34. package/dist/components/inputs/SelectInput.d.ts +7 -0
  35. package/dist/components/inputs/SelectInput.d.ts.map +1 -0
  36. package/dist/components/inputs/SliderInput.d.ts +8 -0
  37. package/dist/components/inputs/SliderInput.d.ts.map +1 -0
  38. package/dist/components/inputs/index.d.ts +11 -0
  39. package/dist/components/inputs/index.d.ts.map +1 -0
  40. package/dist/components/inputs/types.d.ts +48 -0
  41. package/dist/components/inputs/types.d.ts.map +1 -0
  42. package/dist/components/renderers/ComponentRenderer.d.ts +8 -0
  43. package/dist/components/renderers/ComponentRenderer.d.ts.map +1 -0
  44. package/dist/components/renderers/HeroRenderer.d.ts +3 -0
  45. package/dist/components/renderers/HeroRenderer.d.ts.map +1 -0
  46. package/dist/components/renderers/hero/HeroBanner.d.ts +3 -0
  47. package/dist/components/renderers/hero/HeroBanner.d.ts.map +1 -0
  48. package/dist/components/renderers/hero/HeroCinematic.d.ts +3 -0
  49. package/dist/components/renderers/hero/HeroCinematic.d.ts.map +1 -0
  50. package/dist/components/renderers/hero/HeroClassic.d.ts +3 -0
  51. package/dist/components/renderers/hero/HeroClassic.d.ts.map +1 -0
  52. package/dist/components/renderers/hero/HeroCollage.d.ts +3 -0
  53. package/dist/components/renderers/hero/HeroCollage.d.ts.map +1 -0
  54. package/dist/components/renderers/hero/HeroColumns.d.ts +3 -0
  55. package/dist/components/renderers/hero/HeroColumns.d.ts.map +1 -0
  56. package/dist/components/renderers/hero/HeroGlass.d.ts +3 -0
  57. package/dist/components/renderers/hero/HeroGlass.d.ts.map +1 -0
  58. package/dist/components/renderers/hero/HeroNeon.d.ts +3 -0
  59. package/dist/components/renderers/hero/HeroNeon.d.ts.map +1 -0
  60. package/dist/components/renderers/hero/HeroParallax.d.ts +3 -0
  61. package/dist/components/renderers/hero/HeroParallax.d.ts.map +1 -0
  62. package/dist/components/renderers/hero/HeroSplit.d.ts +3 -0
  63. package/dist/components/renderers/hero/HeroSplit.d.ts.map +1 -0
  64. package/dist/components/renderers/hero/HeroSpotlight.d.ts +3 -0
  65. package/dist/components/renderers/hero/HeroSpotlight.d.ts.map +1 -0
  66. package/dist/components/renderers/hero/index.d.ts +14 -0
  67. package/dist/components/renderers/hero/index.d.ts.map +1 -0
  68. package/dist/components/renderers/index.d.ts +8 -0
  69. package/dist/components/renderers/index.d.ts.map +1 -0
  70. package/dist/components/renderers/types.d.ts +11 -0
  71. package/dist/components/renderers/types.d.ts.map +1 -0
  72. package/dist/demo.d.ts +1 -0
  73. package/dist/demo.d.ts.map +1 -0
  74. package/dist/editor/BlockPalette.d.ts +8 -0
  75. package/dist/editor/BlockPalette.d.ts.map +1 -0
  76. package/dist/editor/BlockPropertyEditor.d.ts +6 -0
  77. package/dist/editor/BlockPropertyEditor.d.ts.map +1 -0
  78. package/dist/editor/BlockSelector.d.ts +10 -0
  79. package/dist/editor/BlockSelector.d.ts.map +1 -0
  80. package/dist/editor/LandingPageEditorV2.d.ts +19 -0
  81. package/dist/editor/LandingPageEditorV2.d.ts.map +1 -0
  82. package/dist/editor/LandingPageEditorV2.js +50 -48
  83. package/dist/editor/LandingPageEditorV2.js.map +1 -1
  84. package/dist/editor/PageTabBar.d.ts +11 -0
  85. package/dist/editor/PageTabBar.d.ts.map +1 -0
  86. package/dist/editor/PaletteSelector.d.ts +24 -0
  87. package/dist/editor/PaletteSelector.d.ts.map +1 -0
  88. package/dist/editor/PropertyEditor/BlockPropertyEditor.d.ts +16 -0
  89. package/dist/editor/PropertyEditor/BlockPropertyEditor.d.ts.map +1 -0
  90. package/dist/editor/PropertyEditor/BlockPropertyEditor.js +14 -12
  91. package/dist/editor/PropertyEditor/BlockPropertyEditor.js.map +1 -1
  92. package/dist/editor/PropertyEditor/PropertyGroup.d.ts +19 -0
  93. package/dist/editor/PropertyEditor/PropertyGroup.d.ts.map +1 -0
  94. package/dist/editor/PropertyEditor/PropertyGroup.js +12 -10
  95. package/dist/editor/PropertyEditor/PropertyGroup.js.map +1 -1
  96. package/dist/editor/PropertyEditor/VariationSelector.d.ts +12 -0
  97. package/dist/editor/PropertyEditor/VariationSelector.d.ts.map +1 -0
  98. package/dist/editor/PropertyEditor/index.d.ts +6 -0
  99. package/dist/editor/PropertyEditor/index.d.ts.map +1 -0
  100. package/dist/editor/PropertyEditor/inputs/CheckboxInput.d.ts +13 -0
  101. package/dist/editor/PropertyEditor/inputs/CheckboxInput.d.ts.map +1 -0
  102. package/dist/editor/PropertyEditor/inputs/ColorInput.d.ts +13 -0
  103. package/dist/editor/PropertyEditor/inputs/ColorInput.d.ts.map +1 -0
  104. package/dist/editor/PropertyEditor/inputs/NumberInput.d.ts +16 -0
  105. package/dist/editor/PropertyEditor/inputs/NumberInput.d.ts.map +1 -0
  106. package/dist/editor/PropertyEditor/inputs/SelectInput.d.ts +17 -0
  107. package/dist/editor/PropertyEditor/inputs/SelectInput.d.ts.map +1 -0
  108. package/dist/editor/PropertyEditor/inputs/SliderInput.d.ts +15 -0
  109. package/dist/editor/PropertyEditor/inputs/SliderInput.d.ts.map +1 -0
  110. package/dist/editor/PropertyEditor/inputs/TextAreaInput.d.ts +14 -0
  111. package/dist/editor/PropertyEditor/inputs/TextAreaInput.d.ts.map +1 -0
  112. package/dist/editor/PropertyEditor/inputs/TextInput.d.ts +13 -0
  113. package/dist/editor/PropertyEditor/inputs/TextInput.d.ts.map +1 -0
  114. package/dist/editor/PropertyEditor/inputs/index.d.ts +8 -0
  115. package/dist/editor/PropertyEditor/inputs/index.d.ts.map +1 -0
  116. package/dist/editor/PropertyEditor/renderPropertyInput.d.ts +8 -0
  117. package/dist/editor/PropertyEditor/renderPropertyInput.d.ts.map +1 -0
  118. package/dist/editor/PropertyEditor/renderPropertyInput.js +63 -56
  119. package/dist/editor/PropertyEditor/renderPropertyInput.js.map +1 -1
  120. package/dist/editor/TemplatePicker.d.ts +7 -0
  121. package/dist/editor/TemplatePicker.d.ts.map +1 -0
  122. package/dist/editor/components/CenterPanel.d.ts +15 -0
  123. package/dist/editor/components/CenterPanel.d.ts.map +1 -0
  124. package/dist/editor/components/LeftPanel.d.ts +10 -0
  125. package/dist/editor/components/LeftPanel.d.ts.map +1 -0
  126. package/dist/editor/components/RightPanel.d.ts +11 -0
  127. package/dist/editor/components/RightPanel.d.ts.map +1 -0
  128. package/dist/editor/components/RightPanel.js +19 -11
  129. package/dist/editor/components/RightPanel.js.map +1 -1
  130. package/dist/editor/components/Toolbar.d.ts +12 -0
  131. package/dist/editor/components/Toolbar.d.ts.map +1 -0
  132. package/dist/editor/components/index.d.ts +5 -0
  133. package/dist/editor/components/index.d.ts.map +1 -0
  134. package/dist/engine/export/exportHtml.d.ts +32 -0
  135. package/dist/engine/export/exportHtml.d.ts.map +1 -0
  136. package/dist/engine/export/exporters/HtmlExporter.d.ts +34 -0
  137. package/dist/engine/export/exporters/HtmlExporter.d.ts.map +1 -0
  138. package/dist/engine/export/exporters/content/AvatarExporter.d.ts +4 -0
  139. package/dist/engine/export/exporters/content/AvatarExporter.d.ts.map +1 -0
  140. package/dist/engine/export/exporters/content/BadgeExporter.d.ts +4 -0
  141. package/dist/engine/export/exporters/content/BadgeExporter.d.ts.map +1 -0
  142. package/dist/engine/export/exporters/content/ButtonExporter.d.ts +4 -0
  143. package/dist/engine/export/exporters/content/ButtonExporter.d.ts.map +1 -0
  144. package/dist/engine/export/exporters/content/CardExporter.d.ts +4 -0
  145. package/dist/engine/export/exporters/content/CardExporter.d.ts.map +1 -0
  146. package/dist/engine/export/exporters/content/DividerExporter.d.ts +4 -0
  147. package/dist/engine/export/exporters/content/DividerExporter.d.ts.map +1 -0
  148. package/dist/engine/export/exporters/content/HeadingExporter.d.ts +4 -0
  149. package/dist/engine/export/exporters/content/HeadingExporter.d.ts.map +1 -0
  150. package/dist/engine/export/exporters/content/IconExporter.d.ts +4 -0
  151. package/dist/engine/export/exporters/content/IconExporter.d.ts.map +1 -0
  152. package/dist/engine/export/exporters/content/ImageExporter.d.ts +4 -0
  153. package/dist/engine/export/exporters/content/ImageExporter.d.ts.map +1 -0
  154. package/dist/engine/export/exporters/content/LinkExporter.d.ts +4 -0
  155. package/dist/engine/export/exporters/content/LinkExporter.d.ts.map +1 -0
  156. package/dist/engine/export/exporters/content/SpacerExporter.d.ts +4 -0
  157. package/dist/engine/export/exporters/content/SpacerExporter.d.ts.map +1 -0
  158. package/dist/engine/export/exporters/content/TextExporter.d.ts +4 -0
  159. package/dist/engine/export/exporters/content/TextExporter.d.ts.map +1 -0
  160. package/dist/engine/export/exporters/content/VideoExporter.d.ts +4 -0
  161. package/dist/engine/export/exporters/content/VideoExporter.d.ts.map +1 -0
  162. package/dist/engine/export/exporters/content/index.d.ts +4 -0
  163. package/dist/engine/export/exporters/content/index.d.ts.map +1 -0
  164. package/dist/engine/export/exporters/forms/FormExporters.d.ts +7 -0
  165. package/dist/engine/export/exporters/forms/FormExporters.d.ts.map +1 -0
  166. package/dist/engine/export/exporters/forms/index.d.ts +4 -0
  167. package/dist/engine/export/exporters/forms/index.d.ts.map +1 -0
  168. package/dist/engine/export/exporters/index.d.ts +8 -0
  169. package/dist/engine/export/exporters/index.d.ts.map +1 -0
  170. package/dist/engine/export/exporters/layout/BoxExporter.d.ts +4 -0
  171. package/dist/engine/export/exporters/layout/BoxExporter.d.ts.map +1 -0
  172. package/dist/engine/export/exporters/layout/ContainerExporter.d.ts +4 -0
  173. package/dist/engine/export/exporters/layout/ContainerExporter.d.ts.map +1 -0
  174. package/dist/engine/export/exporters/layout/GridExporter.d.ts +4 -0
  175. package/dist/engine/export/exporters/layout/GridExporter.d.ts.map +1 -0
  176. package/dist/engine/export/exporters/layout/SectionExporter.d.ts +4 -0
  177. package/dist/engine/export/exporters/layout/SectionExporter.d.ts.map +1 -0
  178. package/dist/engine/export/exporters/layout/StackExporter.d.ts +4 -0
  179. package/dist/engine/export/exporters/layout/StackExporter.d.ts.map +1 -0
  180. package/dist/engine/export/exporters/layout/index.d.ts +4 -0
  181. package/dist/engine/export/exporters/layout/index.d.ts.map +1 -0
  182. package/dist/engine/export/exporters/sections/ContentGridExporters.d.ts +10 -0
  183. package/dist/engine/export/exporters/sections/ContentGridExporters.d.ts.map +1 -0
  184. package/dist/engine/export/exporters/sections/FooterExporter.d.ts +4 -0
  185. package/dist/engine/export/exporters/sections/FooterExporter.d.ts.map +1 -0
  186. package/dist/engine/export/exporters/sections/HeroExporter.d.ts +4 -0
  187. package/dist/engine/export/exporters/sections/HeroExporter.d.ts.map +1 -0
  188. package/dist/engine/export/exporters/sections/MarketingExporters.d.ts +16 -0
  189. package/dist/engine/export/exporters/sections/MarketingExporters.d.ts.map +1 -0
  190. package/dist/engine/export/exporters/sections/NavbarExporter.d.ts +4 -0
  191. package/dist/engine/export/exporters/sections/NavbarExporter.d.ts.map +1 -0
  192. package/dist/engine/export/exporters/sections/index.d.ts +4 -0
  193. package/dist/engine/export/exporters/sections/index.d.ts.map +1 -0
  194. package/dist/engine/export/sanitizeHtml.d.ts +13 -0
  195. package/dist/engine/export/sanitizeHtml.d.ts.map +1 -0
  196. package/dist/engine/export/shared/buttonStyles.d.ts +17 -0
  197. package/dist/engine/export/shared/buttonStyles.d.ts.map +1 -0
  198. package/dist/engine/export/shared/htmlHelpers.d.ts +31 -0
  199. package/dist/engine/export/shared/htmlHelpers.d.ts.map +1 -0
  200. package/dist/engine/export/shared/stylesToString.d.ts +9 -0
  201. package/dist/engine/export/shared/stylesToString.d.ts.map +1 -0
  202. package/dist/engine/export/styleResolver.d.ts +65 -0
  203. package/dist/engine/export/styleResolver.d.ts.map +1 -0
  204. package/dist/engine/generators/generateLandingPage.d.ts +35 -0
  205. package/dist/engine/generators/generateLandingPage.d.ts.map +1 -0
  206. package/dist/engine/index.d.ts +24 -0
  207. package/dist/engine/index.d.ts.map +1 -0
  208. package/dist/engine/patch/PatchBuilder.d.ts +52 -0
  209. package/dist/engine/patch/PatchBuilder.d.ts.map +1 -0
  210. package/dist/engine/patch/applyPatch.d.ts +26 -0
  211. package/dist/engine/patch/applyPatch.d.ts.map +1 -0
  212. package/dist/engine/patch/history.d.ts +76 -0
  213. package/dist/engine/patch/history.d.ts.map +1 -0
  214. package/dist/engine/patch/types.d.ts +43 -0
  215. package/dist/engine/patch/types.d.ts.map +1 -0
  216. package/dist/engine/presets/heroVariations.d.ts +32 -0
  217. package/dist/engine/presets/heroVariations.d.ts.map +1 -0
  218. package/dist/engine/presets/heroVariations.js +9 -9
  219. package/dist/engine/presets/heroVariations.js.map +1 -1
  220. package/dist/engine/presets/navbarVariations.d.ts +28 -0
  221. package/dist/engine/presets/navbarVariations.d.ts.map +1 -0
  222. package/dist/engine/presets/themePresets.d.ts +64 -0
  223. package/dist/engine/presets/themePresets.d.ts.map +1 -0
  224. package/dist/engine/preview/PreviewV2.d.ts +15 -0
  225. package/dist/engine/preview/PreviewV2.d.ts.map +1 -0
  226. package/dist/engine/registry/blocks/composition/card.d.ts +3 -0
  227. package/dist/engine/registry/blocks/composition/card.d.ts.map +1 -0
  228. package/dist/engine/registry/blocks/composition/index.d.ts +3 -0
  229. package/dist/engine/registry/blocks/composition/index.d.ts.map +1 -0
  230. package/dist/engine/registry/blocks/composition/section.d.ts +3 -0
  231. package/dist/engine/registry/blocks/composition/section.d.ts.map +1 -0
  232. package/dist/engine/registry/blocks/content/avatar.d.ts +3 -0
  233. package/dist/engine/registry/blocks/content/avatar.d.ts.map +1 -0
  234. package/dist/engine/registry/blocks/content/badge.d.ts +3 -0
  235. package/dist/engine/registry/blocks/content/badge.d.ts.map +1 -0
  236. package/dist/engine/registry/blocks/content/button.d.ts +3 -0
  237. package/dist/engine/registry/blocks/content/button.d.ts.map +1 -0
  238. package/dist/engine/registry/blocks/content/divider.d.ts +3 -0
  239. package/dist/engine/registry/blocks/content/divider.d.ts.map +1 -0
  240. package/dist/engine/registry/blocks/content/heading.d.ts +3 -0
  241. package/dist/engine/registry/blocks/content/heading.d.ts.map +1 -0
  242. package/dist/engine/registry/blocks/content/icon.d.ts +3 -0
  243. package/dist/engine/registry/blocks/content/icon.d.ts.map +1 -0
  244. package/dist/engine/registry/blocks/content/image.d.ts +3 -0
  245. package/dist/engine/registry/blocks/content/image.d.ts.map +1 -0
  246. package/dist/engine/registry/blocks/content/index.d.ts +12 -0
  247. package/dist/engine/registry/blocks/content/index.d.ts.map +1 -0
  248. package/dist/engine/registry/blocks/content/link.d.ts +3 -0
  249. package/dist/engine/registry/blocks/content/link.d.ts.map +1 -0
  250. package/dist/engine/registry/blocks/content/socialLinks.d.ts +3 -0
  251. package/dist/engine/registry/blocks/content/socialLinks.d.ts.map +1 -0
  252. package/dist/engine/registry/blocks/content/text.d.ts +3 -0
  253. package/dist/engine/registry/blocks/content/text.d.ts.map +1 -0
  254. package/dist/engine/registry/blocks/content/video.d.ts +3 -0
  255. package/dist/engine/registry/blocks/content/video.d.ts.map +1 -0
  256. package/dist/engine/registry/blocks/forms/form.d.ts +3 -0
  257. package/dist/engine/registry/blocks/forms/form.d.ts.map +1 -0
  258. package/dist/engine/registry/blocks/forms/index.d.ts +5 -0
  259. package/dist/engine/registry/blocks/forms/index.d.ts.map +1 -0
  260. package/dist/engine/registry/blocks/forms/input.d.ts +3 -0
  261. package/dist/engine/registry/blocks/forms/input.d.ts.map +1 -0
  262. package/dist/engine/registry/blocks/forms/select.d.ts +3 -0
  263. package/dist/engine/registry/blocks/forms/select.d.ts.map +1 -0
  264. package/dist/engine/registry/blocks/forms/textarea.d.ts +3 -0
  265. package/dist/engine/registry/blocks/forms/textarea.d.ts.map +1 -0
  266. package/dist/engine/registry/blocks/index.d.ts +3 -0
  267. package/dist/engine/registry/blocks/index.d.ts.map +1 -0
  268. package/dist/engine/registry/blocks/layout/box.d.ts +3 -0
  269. package/dist/engine/registry/blocks/layout/box.d.ts.map +1 -0
  270. package/dist/engine/registry/blocks/layout/container.d.ts +3 -0
  271. package/dist/engine/registry/blocks/layout/container.d.ts.map +1 -0
  272. package/dist/engine/registry/blocks/layout/grid.d.ts +3 -0
  273. package/dist/engine/registry/blocks/layout/grid.d.ts.map +1 -0
  274. package/dist/engine/registry/blocks/layout/index.d.ts +6 -0
  275. package/dist/engine/registry/blocks/layout/index.d.ts.map +1 -0
  276. package/dist/engine/registry/blocks/layout/spacer.d.ts +3 -0
  277. package/dist/engine/registry/blocks/layout/spacer.d.ts.map +1 -0
  278. package/dist/engine/registry/blocks/layout/stack.d.ts +3 -0
  279. package/dist/engine/registry/blocks/layout/stack.d.ts.map +1 -0
  280. package/dist/engine/registry/blocks/sections/blogCard.d.ts +3 -0
  281. package/dist/engine/registry/blocks/sections/blogCard.d.ts.map +1 -0
  282. package/dist/engine/registry/blocks/sections/blogCardGrid.d.ts +3 -0
  283. package/dist/engine/registry/blocks/sections/blogCardGrid.d.ts.map +1 -0
  284. package/dist/engine/registry/blocks/sections/carousel.d.ts +3 -0
  285. package/dist/engine/registry/blocks/sections/carousel.d.ts.map +1 -0
  286. package/dist/engine/registry/blocks/sections/categoryCardGrid.d.ts +3 -0
  287. package/dist/engine/registry/blocks/sections/categoryCardGrid.d.ts.map +1 -0
  288. package/dist/engine/registry/blocks/sections/countdown.d.ts +3 -0
  289. package/dist/engine/registry/blocks/sections/countdown.d.ts.map +1 -0
  290. package/dist/engine/registry/blocks/sections/courseCardGrid.d.ts +3 -0
  291. package/dist/engine/registry/blocks/sections/courseCardGrid.d.ts.map +1 -0
  292. package/dist/engine/registry/blocks/sections/cta.d.ts +3 -0
  293. package/dist/engine/registry/blocks/sections/cta.d.ts.map +1 -0
  294. package/dist/engine/registry/blocks/sections/faq.d.ts +3 -0
  295. package/dist/engine/registry/blocks/sections/faq.d.ts.map +1 -0
  296. package/dist/engine/registry/blocks/sections/faqItem.d.ts +3 -0
  297. package/dist/engine/registry/blocks/sections/faqItem.d.ts.map +1 -0
  298. package/dist/engine/registry/blocks/sections/feature.d.ts +3 -0
  299. package/dist/engine/registry/blocks/sections/feature.d.ts.map +1 -0
  300. package/dist/engine/registry/blocks/sections/featureGrid.d.ts +3 -0
  301. package/dist/engine/registry/blocks/sections/featureGrid.d.ts.map +1 -0
  302. package/dist/engine/registry/blocks/sections/footer.d.ts +3 -0
  303. package/dist/engine/registry/blocks/sections/footer.d.ts.map +1 -0
  304. package/dist/engine/registry/blocks/sections/footer.js +5 -0
  305. package/dist/engine/registry/blocks/sections/footer.js.map +1 -1
  306. package/dist/engine/registry/blocks/sections/hero.d.ts +3 -0
  307. package/dist/engine/registry/blocks/sections/hero.d.ts.map +1 -0
  308. package/dist/engine/registry/blocks/sections/index.d.ts +24 -0
  309. package/dist/engine/registry/blocks/sections/index.d.ts.map +1 -0
  310. package/dist/engine/registry/blocks/sections/logoCloud.d.ts +3 -0
  311. package/dist/engine/registry/blocks/sections/logoCloud.d.ts.map +1 -0
  312. package/dist/engine/registry/blocks/sections/navbar.d.ts +3 -0
  313. package/dist/engine/registry/blocks/sections/navbar.d.ts.map +1 -0
  314. package/dist/engine/registry/blocks/sections/pricing.d.ts +3 -0
  315. package/dist/engine/registry/blocks/sections/pricing.d.ts.map +1 -0
  316. package/dist/engine/registry/blocks/sections/pricingCard.d.ts +3 -0
  317. package/dist/engine/registry/blocks/sections/pricingCard.d.ts.map +1 -0
  318. package/dist/engine/registry/blocks/sections/statItem.d.ts +3 -0
  319. package/dist/engine/registry/blocks/sections/statItem.d.ts.map +1 -0
  320. package/dist/engine/registry/blocks/sections/stats.d.ts +3 -0
  321. package/dist/engine/registry/blocks/sections/stats.d.ts.map +1 -0
  322. package/dist/engine/registry/blocks/sections/teamCard.d.ts +3 -0
  323. package/dist/engine/registry/blocks/sections/teamCard.d.ts.map +1 -0
  324. package/dist/engine/registry/blocks/sections/teamGrid.d.ts +3 -0
  325. package/dist/engine/registry/blocks/sections/teamGrid.d.ts.map +1 -0
  326. package/dist/engine/registry/blocks/sections/testimonial.d.ts +3 -0
  327. package/dist/engine/registry/blocks/sections/testimonial.d.ts.map +1 -0
  328. package/dist/engine/registry/blocks/sections/testimonialGrid.d.ts +3 -0
  329. package/dist/engine/registry/blocks/sections/testimonialGrid.d.ts.map +1 -0
  330. package/dist/engine/registry/registry.d.ts +3 -0
  331. package/dist/engine/registry/registry.d.ts.map +1 -0
  332. package/dist/engine/registry/types.d.ts +77 -0
  333. package/dist/engine/registry/types.d.ts.map +1 -0
  334. package/dist/engine/render/cssVariables.d.ts +8 -0
  335. package/dist/engine/render/cssVariables.d.ts.map +1 -0
  336. package/dist/engine/render/registry/renderRegistry.d.ts +17 -0
  337. package/dist/engine/render/registry/renderRegistry.d.ts.map +1 -0
  338. package/dist/engine/render/renderNode.d.ts +15 -0
  339. package/dist/engine/render/renderNode.d.ts.map +1 -0
  340. package/dist/engine/render/renderNodeImpl.d.ts +8 -0
  341. package/dist/engine/render/renderNodeImpl.d.ts.map +1 -0
  342. package/dist/engine/render/renderPage.d.ts +16 -0
  343. package/dist/engine/render/renderPage.d.ts.map +1 -0
  344. package/dist/engine/render/renderers/composition/CardRenderer.d.ts +4 -0
  345. package/dist/engine/render/renderers/composition/CardRenderer.d.ts.map +1 -0
  346. package/dist/engine/render/renderers/composition/SectionRenderer.d.ts +4 -0
  347. package/dist/engine/render/renderers/composition/SectionRenderer.d.ts.map +1 -0
  348. package/dist/engine/render/renderers/composition/index.d.ts +6 -0
  349. package/dist/engine/render/renderers/composition/index.d.ts.map +1 -0
  350. package/dist/engine/render/renderers/content/AvatarRenderer.d.ts +3 -0
  351. package/dist/engine/render/renderers/content/AvatarRenderer.d.ts.map +1 -0
  352. package/dist/engine/render/renderers/content/BadgeRenderer.d.ts +3 -0
  353. package/dist/engine/render/renderers/content/BadgeRenderer.d.ts.map +1 -0
  354. package/dist/engine/render/renderers/content/ButtonRenderer.d.ts +4 -0
  355. package/dist/engine/render/renderers/content/ButtonRenderer.d.ts.map +1 -0
  356. package/dist/engine/render/renderers/content/DividerRenderer.d.ts +4 -0
  357. package/dist/engine/render/renderers/content/DividerRenderer.d.ts.map +1 -0
  358. package/dist/engine/render/renderers/content/HeadingRenderer.d.ts +4 -0
  359. package/dist/engine/render/renderers/content/HeadingRenderer.d.ts.map +1 -0
  360. package/dist/engine/render/renderers/content/IconRenderer.d.ts +3 -0
  361. package/dist/engine/render/renderers/content/IconRenderer.d.ts.map +1 -0
  362. package/dist/engine/render/renderers/content/ImageRenderer.d.ts +4 -0
  363. package/dist/engine/render/renderers/content/ImageRenderer.d.ts.map +1 -0
  364. package/dist/engine/render/renderers/content/LinkRenderer.d.ts +4 -0
  365. package/dist/engine/render/renderers/content/LinkRenderer.d.ts.map +1 -0
  366. package/dist/engine/render/renderers/content/SocialLinksRenderer.d.ts +3 -0
  367. package/dist/engine/render/renderers/content/SocialLinksRenderer.d.ts.map +1 -0
  368. package/dist/engine/render/renderers/content/TextRenderer.d.ts +4 -0
  369. package/dist/engine/render/renderers/content/TextRenderer.d.ts.map +1 -0
  370. package/dist/engine/render/renderers/content/VideoRenderer.d.ts +3 -0
  371. package/dist/engine/render/renderers/content/VideoRenderer.d.ts.map +1 -0
  372. package/dist/engine/render/renderers/content/index.d.ts +6 -0
  373. package/dist/engine/render/renderers/content/index.d.ts.map +1 -0
  374. package/dist/engine/render/renderers/forms/FormRenderer.d.ts +3 -0
  375. package/dist/engine/render/renderers/forms/FormRenderer.d.ts.map +1 -0
  376. package/dist/engine/render/renderers/forms/InputRenderer.d.ts +3 -0
  377. package/dist/engine/render/renderers/forms/InputRenderer.d.ts.map +1 -0
  378. package/dist/engine/render/renderers/forms/SelectRenderer.d.ts +3 -0
  379. package/dist/engine/render/renderers/forms/SelectRenderer.d.ts.map +1 -0
  380. package/dist/engine/render/renderers/forms/TextareaRenderer.d.ts +3 -0
  381. package/dist/engine/render/renderers/forms/TextareaRenderer.d.ts.map +1 -0
  382. package/dist/engine/render/renderers/forms/index.d.ts +6 -0
  383. package/dist/engine/render/renderers/forms/index.d.ts.map +1 -0
  384. package/dist/engine/render/renderers/index.d.ts +2 -0
  385. package/dist/engine/render/renderers/index.d.ts.map +1 -0
  386. package/dist/engine/render/renderers/layout/BoxRenderer.d.ts +4 -0
  387. package/dist/engine/render/renderers/layout/BoxRenderer.d.ts.map +1 -0
  388. package/dist/engine/render/renderers/layout/ContainerRenderer.d.ts +4 -0
  389. package/dist/engine/render/renderers/layout/ContainerRenderer.d.ts.map +1 -0
  390. package/dist/engine/render/renderers/layout/GridRenderer.d.ts +4 -0
  391. package/dist/engine/render/renderers/layout/GridRenderer.d.ts.map +1 -0
  392. package/dist/engine/render/renderers/layout/SpacerRenderer.d.ts +3 -0
  393. package/dist/engine/render/renderers/layout/SpacerRenderer.d.ts.map +1 -0
  394. package/dist/engine/render/renderers/layout/StackRenderer.d.ts +4 -0
  395. package/dist/engine/render/renderers/layout/StackRenderer.d.ts.map +1 -0
  396. package/dist/engine/render/renderers/layout/index.d.ts +6 -0
  397. package/dist/engine/render/renderers/layout/index.d.ts.map +1 -0
  398. package/dist/engine/render/renderers/sections/CtaRenderer.d.ts +3 -0
  399. package/dist/engine/render/renderers/sections/CtaRenderer.d.ts.map +1 -0
  400. package/dist/engine/render/renderers/sections/FaqItemRenderer.d.ts +3 -0
  401. package/dist/engine/render/renderers/sections/FaqItemRenderer.d.ts.map +1 -0
  402. package/dist/engine/render/renderers/sections/FaqRenderer.d.ts +3 -0
  403. package/dist/engine/render/renderers/sections/FaqRenderer.d.ts.map +1 -0
  404. package/dist/engine/render/renderers/sections/FeatureGridRenderer.d.ts +3 -0
  405. package/dist/engine/render/renderers/sections/FeatureGridRenderer.d.ts.map +1 -0
  406. package/dist/engine/render/renderers/sections/FeatureRenderer.d.ts +3 -0
  407. package/dist/engine/render/renderers/sections/FeatureRenderer.d.ts.map +1 -0
  408. package/dist/engine/render/renderers/sections/FooterRenderer.d.ts +3 -0
  409. package/dist/engine/render/renderers/sections/FooterRenderer.d.ts.map +1 -0
  410. package/dist/engine/render/renderers/sections/HeroRenderer.d.ts +3 -0
  411. package/dist/engine/render/renderers/sections/HeroRenderer.d.ts.map +1 -0
  412. package/dist/engine/render/renderers/sections/LogoCloudRenderer.d.ts +3 -0
  413. package/dist/engine/render/renderers/sections/LogoCloudRenderer.d.ts.map +1 -0
  414. package/dist/engine/render/renderers/sections/NavbarRenderer.d.ts +3 -0
  415. package/dist/engine/render/renderers/sections/NavbarRenderer.d.ts.map +1 -0
  416. package/dist/engine/render/renderers/sections/PricingCardRenderer.d.ts +3 -0
  417. package/dist/engine/render/renderers/sections/PricingCardRenderer.d.ts.map +1 -0
  418. package/dist/engine/render/renderers/sections/PricingRenderer.d.ts +3 -0
  419. package/dist/engine/render/renderers/sections/PricingRenderer.d.ts.map +1 -0
  420. package/dist/engine/render/renderers/sections/StatItemRenderer.d.ts +3 -0
  421. package/dist/engine/render/renderers/sections/StatItemRenderer.d.ts.map +1 -0
  422. package/dist/engine/render/renderers/sections/StatsRenderer.d.ts +3 -0
  423. package/dist/engine/render/renderers/sections/StatsRenderer.d.ts.map +1 -0
  424. package/dist/engine/render/renderers/sections/TestimonialGridRenderer.d.ts +3 -0
  425. package/dist/engine/render/renderers/sections/TestimonialGridRenderer.d.ts.map +1 -0
  426. package/dist/engine/render/renderers/sections/TestimonialRenderer.d.ts +3 -0
  427. package/dist/engine/render/renderers/sections/TestimonialRenderer.d.ts.map +1 -0
  428. package/dist/engine/render/renderers/sections/index.d.ts +6 -0
  429. package/dist/engine/render/renderers/sections/index.d.ts.map +1 -0
  430. package/dist/engine/schema/siteDocument.d.ts +783 -0
  431. package/dist/engine/schema/siteDocument.d.ts.map +1 -0
  432. package/dist/engine/schema/themeTokens.d.ts +219 -0
  433. package/dist/engine/schema/themeTokens.d.ts.map +1 -0
  434. package/dist/engine/theme/defaultTheme.d.ts +13 -0
  435. package/dist/engine/theme/defaultTheme.d.ts.map +1 -0
  436. package/dist/engine/theme/generateCSSVariables.d.ts +37 -0
  437. package/dist/engine/theme/generateCSSVariables.d.ts.map +1 -0
  438. package/dist/engine/theme/index.d.ts +4 -0
  439. package/dist/engine/theme/index.d.ts.map +1 -0
  440. package/dist/engine/theme/themeTokens.d.ts +152 -0
  441. package/dist/engine/theme/themeTokens.d.ts.map +1 -0
  442. package/dist/hooks/useEditorState.d.ts +35 -0
  443. package/dist/hooks/useEditorState.d.ts.map +1 -0
  444. package/dist/hooks/useKeyboardShortcuts.d.ts +37 -0
  445. package/dist/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  446. package/dist/hooks/useNavbarAutoSync.d.ts +7 -0
  447. package/dist/hooks/useNavbarAutoSync.d.ts.map +1 -0
  448. package/dist/index.d.ts +19 -600
  449. package/dist/index.d.ts.map +1 -0
  450. package/dist/modules/registry.d.ts +31 -0
  451. package/dist/modules/registry.d.ts.map +1 -0
  452. package/dist/shared/index.d.ts +20 -0
  453. package/dist/shared/index.d.ts.map +1 -0
  454. package/dist/shared/schema.d.ts +574 -0
  455. package/dist/shared/schema.d.ts.map +1 -0
  456. package/dist/shared/templates/escola-edvi.d.ts +3 -0
  457. package/dist/shared/templates/escola-edvi.d.ts.map +1 -0
  458. package/dist/shared/templates/escola-premium.d.ts +3 -0
  459. package/dist/shared/templates/escola-premium.d.ts.map +1 -0
  460. package/dist/shared/templates/escola-zilom.d.ts +3 -0
  461. package/dist/shared/templates/escola-zilom.d.ts.map +1 -0
  462. package/dist/shared/templates/index.d.ts +49 -0
  463. package/dist/shared/templates/index.d.ts.map +1 -0
  464. package/dist/shared/validators.d.ts +24 -0
  465. package/dist/shared/validators.d.ts.map +1 -0
  466. package/dist/shared.d.ts +2 -598
  467. package/dist/site/BlockRenderer.d.ts +55 -0
  468. package/dist/site/BlockRenderer.d.ts.map +1 -0
  469. package/dist/site/blocks/Button.d.ts +3 -0
  470. package/dist/site/blocks/Button.d.ts.map +1 -0
  471. package/dist/site/blocks/Card.d.ts +3 -0
  472. package/dist/site/blocks/Card.d.ts.map +1 -0
  473. package/dist/site/blocks/Features.d.ts +3 -0
  474. package/dist/site/blocks/Features.d.ts.map +1 -0
  475. package/dist/site/blocks/Footer.d.ts +3 -0
  476. package/dist/site/blocks/Footer.d.ts.map +1 -0
  477. package/dist/site/blocks/Hero.d.ts +3 -0
  478. package/dist/site/blocks/Hero.d.ts.map +1 -0
  479. package/dist/site/blocks/Navbar.d.ts +3 -0
  480. package/dist/site/blocks/Navbar.d.ts.map +1 -0
  481. package/dist/site/blocks/Section.d.ts +3 -0
  482. package/dist/site/blocks/Section.d.ts.map +1 -0
  483. package/dist/site/blocks/SectionHeader.d.ts +3 -0
  484. package/dist/site/blocks/SectionHeader.d.ts.map +1 -0
  485. package/dist/site/blocks/SiteRoot.d.ts +10 -0
  486. package/dist/site/blocks/SiteRoot.d.ts.map +1 -0
  487. package/dist/site/blocks/index.d.ts +18 -0
  488. package/dist/site/blocks/index.d.ts.map +1 -0
  489. package/dist/site/blocks/types.d.ts +122 -0
  490. package/dist/site/blocks/types.d.ts.map +1 -0
  491. package/dist/site/index.d.ts.map +1 -0
  492. package/dist/site-styles.d.ts +2 -163
  493. package/dist/styles/site/base.css.d.ts +8 -0
  494. package/dist/styles/site/base.css.d.ts.map +1 -0
  495. package/dist/styles/site/index.d.ts +10 -0
  496. package/dist/styles/site/index.d.ts.map +1 -0
  497. package/dist/styles/site/sections.css.d.ts +44 -0
  498. package/dist/styles/site/sections.css.d.ts.map +1 -0
  499. package/dist/styles/site/tokens.css.d.ts +74 -0
  500. package/dist/styles/site/tokens.css.d.ts.map +1 -0
  501. package/dist/types/index.d.ts +99 -0
  502. package/dist/types/index.d.ts.map +1 -0
  503. package/dist/types/module.d.ts +25 -0
  504. package/dist/types/module.d.ts.map +1 -0
  505. package/dist/utils/blockUtils.d.ts +22 -0
  506. package/dist/utils/blockUtils.d.ts.map +1 -0
  507. package/dist/utils/changeDetector.d.ts +35 -0
  508. package/dist/utils/changeDetector.d.ts.map +1 -0
  509. package/dist/utils/cn.d.ts +6 -0
  510. package/dist/utils/cn.d.ts.map +1 -0
  511. package/dist/utils/colorUtils.d.ts +29 -0
  512. package/dist/utils/colorUtils.d.ts.map +1 -0
  513. package/dist/utils/documentHash.d.ts +12 -0
  514. package/dist/utils/documentHash.d.ts.map +1 -0
  515. package/dist/utils/htmlExporter.d.ts +6 -0
  516. package/dist/utils/htmlExporter.d.ts.map +1 -0
  517. package/dist/utils/navbarSync.d.ts +32 -0
  518. package/dist/utils/navbarSync.d.ts.map +1 -0
  519. package/dist/utils/pageTemplateFactory.d.ts +23 -0
  520. package/dist/utils/pageTemplateFactory.d.ts.map +1 -0
  521. package/dist/utils/sharedTemplateToEngine.d.ts +13 -0
  522. package/dist/utils/sharedTemplateToEngine.d.ts.map +1 -0
  523. package/dist/utils/themeApplier.d.ts +11 -0
  524. package/dist/utils/themeApplier.d.ts.map +1 -0
  525. package/dist/utils/useDebounce.d.ts +12 -0
  526. package/dist/utils/useDebounce.d.ts.map +1 -0
  527. package/dist/viewer/LandingPageViewerV2.d.ts +25 -0
  528. package/dist/viewer/LandingPageViewerV2.d.ts.map +1 -0
  529. package/package.json +2 -2
@@ -1,12 +1,12 @@
1
1
  import { jsx as m, jsxs as C } from "react/jsx-runtime";
2
- import { useState as T, useCallback as H, useEffect as B } from "react";
3
- import { TemplatePicker as J } from "./TemplatePicker.js";
4
- import { Toolbar as O } from "./components/Toolbar.js";
5
- import { LeftPanel as Q } from "./components/LeftPanel.js";
6
- import { CenterPanel as X } from "./components/CenterPanel.js";
7
- import { RightPanel as Y } from "./components/RightPanel.js";
8
- import { useEditorState as Z } from "../hooks/useEditorState.js";
9
- import { useKeyboardShortcuts as _ } from "../hooks/useKeyboardShortcuts.js";
2
+ import { useState as T, useCallback as J, useEffect as B } from "react";
3
+ import { TemplatePicker as O } from "./TemplatePicker.js";
4
+ import { Toolbar as Q } from "./components/Toolbar.js";
5
+ import { LeftPanel as X } from "./components/LeftPanel.js";
6
+ import { CenterPanel as Y } from "./components/CenterPanel.js";
7
+ import { RightPanel as Z } from "./components/RightPanel.js";
8
+ import { useEditorState as _ } from "../hooks/useEditorState.js";
9
+ import { useKeyboardShortcuts as $ } from "../hooks/useKeyboardShortcuts.js";
10
10
  import "../engine/schema/themeTokens.js";
11
11
  import "../engine/registry/blocks/layout/container.js";
12
12
  import "../engine/registry/blocks/layout/stack.js";
@@ -62,46 +62,47 @@ import "../engine/export/exporters/layout/index.js";
62
62
  import "../engine/export/exporters/content/index.js";
63
63
  import "../engine/export/exporters/sections/index.js";
64
64
  import "../engine/export/exporters/forms/index.js";
65
- import { PatchBuilder as $ } from "../engine/patch/PatchBuilder.js";
65
+ import { PatchBuilder as oo } from "../engine/patch/PatchBuilder.js";
66
66
  import "../engine/theme/defaultTheme.js";
67
67
  import { getTemplate as w } from "../shared/templates/index.js";
68
68
  import { sharedTemplateToEngineDocument as L } from "../utils/sharedTemplateToEngine.js";
69
- import { findBlockInStructure as oo } from "../utils/blockUtils.js";
69
+ import { findBlockInStructure as ro } from "../utils/blockUtils.js";
70
70
  import { isLightColor as D } from "../utils/colorUtils.js";
71
- function vr({
71
+ function yr({
72
72
  initialData: E,
73
73
  defaultTemplateId: d,
74
74
  onSave: u,
75
- onPublish: f
75
+ onPublish: f,
76
+ uploadConfig: R
76
77
  }) {
77
78
  const {
78
79
  document: r,
79
- currentPageId: R,
80
+ currentPageId: U,
80
81
  currentPage: g,
81
82
  selectedBlockId: c,
82
- selectedBlock: U,
83
- history: I,
83
+ selectedBlock: I,
84
+ history: N,
84
85
  setCurrentPageId: s,
85
- addPage: N,
86
- removePage: j,
87
- canRemovePage: A,
86
+ addPage: j,
87
+ removePage: A,
88
+ canRemovePage: K,
88
89
  setSelectedBlockId: a,
89
90
  handleUndo: k,
90
91
  handleRedo: v,
91
92
  handleDeleteBlock: y,
92
- handleUpdateBlock: K,
93
- applyChange: M,
94
- resetToTemplate: V,
93
+ handleUpdateBlock: M,
94
+ applyChange: V,
95
+ resetToTemplate: W,
95
96
  isPaletteSelected: P,
96
97
  loadDocument: h
97
- } = Z({ initialData: E }), [W, p] = T(!1), [x, q] = T(
98
+ } = _({ initialData: E }), [q, p] = T(!1), [x, z] = T(
98
99
  null
99
- ), b = H(
100
+ ), b = J(
100
101
  (o) => {
101
102
  const e = w(o);
102
103
  if (!e) return;
103
104
  const t = L(e);
104
- h(t), q(o);
105
+ h(t), z(o);
105
106
  },
106
107
  [h]
107
108
  );
@@ -119,7 +120,7 @@ function vr({
119
120
  p(!1);
120
121
  }
121
122
  }
122
- }, z = async () => {
123
+ }, F = async () => {
123
124
  if (!(!r || !f)) {
124
125
  p(!0);
125
126
  try {
@@ -130,9 +131,9 @@ function vr({
130
131
  p(!1);
131
132
  }
132
133
  }
133
- }, F = (o) => {
134
+ }, G = (o) => {
134
135
  if (!r) return;
135
- const e = D(o.background ?? "#ffffff"), t = D(o.primary ?? "#3b82f6"), l = e ? "#6b7280" : "#9ca3af", n = t ? "#1f2937" : "#ffffff", i = $.updateTheme(r, {
136
+ const e = D(o.background ?? "#ffffff"), t = D(o.primary ?? "#3b82f6"), l = e ? "#6b7280" : "#9ca3af", n = t ? "#1f2937" : "#ffffff", i = oo.updateTheme(r, {
136
137
  colors: {
137
138
  ...r.theme.colors,
138
139
  primary: o.primary,
@@ -149,9 +150,9 @@ function vr({
149
150
  // Links do menu navbar
150
151
  }
151
152
  });
152
- M(i, "Update color palette");
153
+ V(i, "Update color palette");
153
154
  };
154
- return _({
155
+ return $({
155
156
  onUndo: k,
156
157
  onRedo: v,
157
158
  onSave: S,
@@ -166,14 +167,14 @@ function vr({
166
167
  if (!r) return;
167
168
  const l = t.match(/^(?:\/site)?\/p\/([^#?]+)/);
168
169
  if (l) {
169
- const n = l[1], i = r.pages.find((G) => G.slug === n);
170
+ const n = l[1], i = r.pages.find((H) => H.slug === n);
170
171
  i && s(i.id);
171
172
  return;
172
173
  }
173
174
  if (t.startsWith("#")) {
174
175
  const n = t.slice(1);
175
176
  for (const i of r.pages)
176
- if (oo(i.structure || [], n)) {
177
+ if (ro(i.structure || [], n)) {
177
178
  s(i.id), a(n);
178
179
  break;
179
180
  }
@@ -182,23 +183,23 @@ function vr({
182
183
  return window.addEventListener("message", o), () => window.removeEventListener("message", o);
183
184
  }, [r, s, a]), r ? /* @__PURE__ */ C("div", { className: "h-[91vh] max-h-[91vh] flex flex-col bg-background overflow-hidden", children: [
184
185
  /* @__PURE__ */ m(
185
- O,
186
+ Q,
186
187
  {
187
- history: I,
188
- isSaving: W,
188
+ history: N,
189
+ isSaving: q,
189
190
  onUndo: k,
190
191
  onRedo: v,
191
192
  onSave: S,
192
- onPublish: f ? z : void 0,
193
+ onPublish: f ? F : void 0,
193
194
  onReset: x ? () => {
194
195
  const o = w(x);
195
196
  o && h(L(o));
196
- } : V
197
+ } : W
197
198
  }
198
199
  ),
199
200
  /* @__PURE__ */ C("div", { className: "flex-1 flex overflow-hidden min-h-0 max-h-full", children: [
200
201
  /* @__PURE__ */ m(
201
- Q,
202
+ X,
202
203
  {
203
204
  currentPage: g,
204
205
  selectedBlockId: c,
@@ -208,10 +209,10 @@ function vr({
208
209
  }
209
210
  ),
210
211
  /* @__PURE__ */ m(
211
- X,
212
+ Y,
212
213
  {
213
214
  document: r,
214
- currentPageId: R,
215
+ currentPageId: U,
215
216
  currentPage: g,
216
217
  selectedBlockId: c,
217
218
  onBlockClick: a,
@@ -220,25 +221,26 @@ function vr({
220
221
  const o = prompt("Nome da página:");
221
222
  if (!o) return;
222
223
  const e = o.toLowerCase().replace(/\s+/g, "-");
223
- N(e, o, e);
224
+ j(e, o, e);
224
225
  },
225
- onRemovePage: j,
226
- canRemovePage: A
226
+ onRemovePage: A,
227
+ canRemovePage: K
227
228
  }
228
229
  ),
229
230
  /* @__PURE__ */ m(
230
- Y,
231
+ Z,
231
232
  {
232
233
  isPaletteSelected: P,
233
- selectedBlock: U,
234
- onPaletteChange: F,
235
- onUpdateBlock: K
234
+ selectedBlock: I,
235
+ onPaletteChange: G,
236
+ onUpdateBlock: M,
237
+ uploadConfig: R
236
238
  }
237
239
  )
238
240
  ] })
239
- ] }) : /* @__PURE__ */ m("div", { className: "h-[91vh] max-h-[91vh] flex flex-col bg-background overflow-hidden", children: /* @__PURE__ */ m(J, { onSelectTemplate: b }) });
241
+ ] }) : /* @__PURE__ */ m("div", { className: "h-[91vh] max-h-[91vh] flex flex-col bg-background overflow-hidden", children: /* @__PURE__ */ m(O, { onSelectTemplate: b }) });
240
242
  }
241
243
  export {
242
- vr as LandingPageEditorV2
244
+ yr as LandingPageEditorV2
243
245
  };
244
246
  //# sourceMappingURL=LandingPageEditorV2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LandingPageEditorV2.js","sources":["../../src/editor/LandingPageEditorV2.tsx"],"sourcesContent":["/**\n * Landing Page Editor V2 - Refatorado\n * Editor de landing pages usando engine V2\n */\n\nimport { useState, useCallback, useEffect, lazy, Suspense } from \"react\";\nimport { TemplatePicker } from \"./TemplatePicker\";\nimport { Toolbar, LeftPanel, CenterPanel, RightPanel } from \"./components\";\nimport { useEditorState } from \"../hooks/useEditorState\";\nimport { useKeyboardShortcuts } from \"../hooks/useKeyboardShortcuts\";\nimport { LoadingSpinner } from \"../components/LoadingSpinner\";\nimport { SiteDocumentV2, PatchBuilder } from \"../engine\";\nimport { getTemplate } from \"../shared/templates\";\nimport type { TemplateId } from \"../shared/templates\";\nimport { sharedTemplateToEngineDocument } from \"../utils/sharedTemplateToEngine\";\nimport { findBlockInStructure } from \"../utils/blockUtils\";\nimport { isLightColor } from \"../utils/colorUtils\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\ninterface LandingPageEditorV2Props {\n initialData?: SiteDocumentV2;\n /** ID do template a carregar quando não houver initialData (ex.: \"escola-edvi\") */\n defaultTemplateId?: TemplateId;\n onSave?: (data: SiteDocumentV2) => Promise<void>;\n onPublish?: (data: SiteDocumentV2) => Promise<void>;\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport function LandingPageEditorV2({\n initialData,\n defaultTemplateId,\n onSave,\n onPublish,\n}: LandingPageEditorV2Props) {\n // Hook de estado do editor (edição por páginas; sem navegação)\n const {\n document,\n currentPageId,\n currentPage,\n selectedBlockId,\n selectedBlock,\n history,\n setCurrentPageId,\n addPage,\n removePage,\n canRemovePage,\n setSelectedBlockId,\n handleUndo,\n handleRedo,\n handleDeleteBlock,\n handleUpdateBlock,\n applyChange,\n resetToTemplate,\n isPaletteSelected,\n loadDocument,\n } = useEditorState({ initialData });\n\n // Estado local da UI\n const [isSaving, setIsSaving] = useState(false);\n const [currentTemplateId, setCurrentTemplateId] = useState<TemplateId | null>(\n null,\n );\n\n // Carregar template escolhido (converter shared → engine e carregar no editor)\n const handleSelectTemplate = useCallback(\n (templateId: TemplateId) => {\n const sharedDoc = getTemplate(templateId);\n if (!sharedDoc) return;\n const engineDoc = sharedTemplateToEngineDocument(sharedDoc);\n loadDocument(engineDoc);\n setCurrentTemplateId(templateId);\n },\n [loadDocument],\n );\n\n // Ao montar sem documento: carregar defaultTemplateId se informado\n useEffect(() => {\n if (!document && defaultTemplateId) {\n handleSelectTemplate(defaultTemplateId);\n }\n }, [defaultTemplateId]); // eslint-disable-line react-hooks/exhaustive-deps -- carregar só uma vez quando defaultTemplateId existe\n\n // Handlers de save/publish\n const handleSave = async () => {\n if (!document || !onSave) return;\n setIsSaving(true);\n try {\n await onSave(document);\n } catch (error) {\n console.error(\"Error saving:\", error);\n } finally {\n setIsSaving(false);\n }\n };\n\n const handlePublish = async () => {\n if (!document || !onPublish) return;\n setIsSaving(true);\n try {\n await onPublish(document);\n } catch (error) {\n console.error(\"Error publishing:\", error);\n } finally {\n setIsSaving(false);\n }\n };\n\n // Handler para atualizar paleta de cores (inclui mutedText, primaryText, linkColor e menuLinkColor)\n const handlePaletteChange = (palette: any) => {\n if (!document) return;\n const bgLight = isLightColor(palette.background ?? \"#ffffff\");\n const primaryLight = isLightColor(palette.primary ?? \"#3b82f6\");\n const mutedText = bgLight ? \"#6b7280\" : \"#9ca3af\";\n const primaryText = primaryLight ? \"#1f2937\" : \"#ffffff\";\n const patch = PatchBuilder.updateTheme(document, {\n colors: {\n ...document.theme.colors,\n primary: palette.primary,\n secondary: palette.secondary,\n accent: palette.accent,\n bg: palette.background,\n surface: palette.surface || document.theme.colors.surface,\n text: palette.text || document.theme.colors.text,\n mutedText,\n primaryText,\n linkColor: palette.linkColor || palette.primary, // Links gerais\n menuLinkColor: palette.menuLinkColor || palette.primary, // Links do menu navbar\n },\n });\n applyChange(patch, \"Update color palette\");\n };\n\n // No editor: cliques em links no preview não navegam; trocam a página em edição\n // Keyboard shortcuts\n useKeyboardShortcuts({\n onUndo: handleUndo,\n onRedo: handleRedo,\n onSave: handleSave,\n onDelete: () => {\n if (selectedBlockId) {\n handleDeleteBlock(selectedBlockId);\n }\n },\n onDeselect: () => setSelectedBlockId(null),\n });\n\n useEffect(() => {\n const handleMessage = (event: MessageEvent) => {\n if (event.data?.type !== \"editor-navigate\" || !event.data.href) return;\n const href = String(event.data.href);\n if (!document) return;\n // Links internos: /site/p/:slug ou /p/:slug\n const match = href.match(/^(?:\\/site)?\\/p\\/([^#?]+)/);\n if (match) {\n const slug = match[1];\n const page = document.pages.find((p) => p.slug === slug);\n if (page) setCurrentPageId(page.id);\n return;\n }\n // Âncora #id: selecionar bloco com esse id e trocar para a página que o contém\n if (href.startsWith(\"#\")) {\n const id = href.slice(1);\n for (const p of document.pages) {\n if (findBlockInStructure(p.structure || [], id)) {\n setCurrentPageId(p.id);\n setSelectedBlockId(id);\n break;\n }\n }\n }\n };\n window.addEventListener(\"message\", handleMessage);\n return () => window.removeEventListener(\"message\", handleMessage);\n }, [document, setCurrentPageId, setSelectedBlockId]);\n\n // Sem documento: mostrar seletor de templates\n if (!document) {\n return (\n <div className=\"h-[91vh] max-h-[91vh] flex flex-col bg-background overflow-hidden\">\n <TemplatePicker onSelectTemplate={handleSelectTemplate} />\n </div>\n );\n }\n\n return (\n <div className=\"h-[91vh] max-h-[91vh] flex flex-col bg-background overflow-hidden\">\n {/* Toolbar */}\n <Toolbar\n history={history}\n isSaving={isSaving}\n onUndo={handleUndo}\n onRedo={handleRedo}\n onSave={handleSave}\n onPublish={onPublish ? handlePublish : undefined}\n onReset={\n currentTemplateId\n ? () => {\n // Recarregar o mesmo template\n const sharedDoc = getTemplate(currentTemplateId);\n if (sharedDoc)\n loadDocument(sharedTemplateToEngineDocument(sharedDoc));\n }\n : resetToTemplate\n }\n />\n\n {/* Main Content - 3 Columns */}\n <div className=\"flex-1 flex overflow-hidden min-h-0 max-h-full\">\n {/* Left: Block Selector + Paletas */}\n <LeftPanel\n currentPage={currentPage}\n selectedBlockId={selectedBlockId}\n isPaletteSelected={isPaletteSelected}\n onSelectBlock={setSelectedBlockId}\n onDeleteBlock={handleDeleteBlock}\n />\n\n {/* Center: Preview (apenas a página em edição) */}\n <CenterPanel\n document={document}\n currentPageId={currentPageId}\n currentPage={currentPage}\n selectedBlockId={selectedBlockId}\n onBlockClick={setSelectedBlockId}\n onSelectPage={setCurrentPageId}\n onAddPage={() => {\n const name = prompt(\"Nome da página:\");\n if (!name) return;\n const slug = name.toLowerCase().replace(/\\s+/g, \"-\");\n const id = slug;\n addPage(id, name, slug);\n }}\n onRemovePage={removePage}\n canRemovePage={canRemovePage}\n />\n\n {/* Right: Editor Panel */}\n <RightPanel\n isPaletteSelected={isPaletteSelected}\n selectedBlock={selectedBlock}\n onPaletteChange={handlePaletteChange}\n onUpdateBlock={handleUpdateBlock}\n />\n </div>\n </div>\n );\n}\n"],"names":["LandingPageEditorV2","initialData","defaultTemplateId","onSave","onPublish","document","currentPageId","currentPage","selectedBlockId","selectedBlock","history","setCurrentPageId","addPage","removePage","canRemovePage","setSelectedBlockId","handleUndo","handleRedo","handleDeleteBlock","handleUpdateBlock","applyChange","resetToTemplate","isPaletteSelected","loadDocument","useEditorState","isSaving","setIsSaving","useState","currentTemplateId","setCurrentTemplateId","handleSelectTemplate","useCallback","templateId","sharedDoc","getTemplate","engineDoc","sharedTemplateToEngineDocument","useEffect","handleSave","error","handlePublish","handlePaletteChange","palette","bgLight","isLightColor","primaryLight","mutedText","primaryText","patch","PatchBuilder","useKeyboardShortcuts","handleMessage","event","href","match","slug","page","p","id","findBlockInStructure","jsxs","jsx","Toolbar","LeftPanel","CenterPanel","name","RightPanel","TemplatePicker"],"mappings":"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"}
1
+ {"version":3,"file":"LandingPageEditorV2.js","sources":["../../src/editor/LandingPageEditorV2.tsx"],"sourcesContent":["/**\n * Landing Page Editor V2 - Refatorado\n * Editor de landing pages usando engine V2\n */\n\nimport { useState, useCallback, useEffect, lazy, Suspense } from \"react\";\nimport { TemplatePicker } from \"./TemplatePicker\";\nimport { Toolbar, LeftPanel, CenterPanel, RightPanel } from \"./components\";\nimport { useEditorState } from \"../hooks/useEditorState\";\nimport { useKeyboardShortcuts } from \"../hooks/useKeyboardShortcuts\";\nimport { LoadingSpinner } from \"../components/LoadingSpinner\";\nimport { SiteDocumentV2, PatchBuilder } from \"../engine\";\nimport { getTemplate } from \"../shared/templates\";\nimport type { TemplateId } from \"../shared/templates\";\nimport { sharedTemplateToEngineDocument } from \"../utils/sharedTemplateToEngine\";\nimport { findBlockInStructure } from \"../utils/blockUtils\";\nimport { isLightColor } from \"../utils/colorUtils\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface UploadConfig {\n tenantId?: string;\n schoolId?: string;\n siteId?: string | null;\n authToken?: string;\n}\n\nexport interface LandingPageEditorV2Props {\n initialData?: SiteDocumentV2;\n /** ID do template a carregar quando não houver initialData (ex.: \"escola-edvi\") */\n defaultTemplateId?: TemplateId;\n onSave?: (data: SiteDocumentV2) => Promise<void>;\n onPublish?: (data: SiteDocumentV2) => Promise<void>;\n /** Configuração para upload seguro de imagens/vídeos */\n uploadConfig?: UploadConfig;\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport function LandingPageEditorV2({\n initialData,\n defaultTemplateId,\n onSave,\n onPublish,\n uploadConfig,\n}: LandingPageEditorV2Props) {\n // Hook de estado do editor (edição por páginas; sem navegação)\n const {\n document,\n currentPageId,\n currentPage,\n selectedBlockId,\n selectedBlock,\n history,\n setCurrentPageId,\n addPage,\n removePage,\n canRemovePage,\n setSelectedBlockId,\n handleUndo,\n handleRedo,\n handleDeleteBlock,\n handleUpdateBlock,\n applyChange,\n resetToTemplate,\n isPaletteSelected,\n loadDocument,\n } = useEditorState({ initialData });\n\n // Estado local da UI\n const [isSaving, setIsSaving] = useState(false);\n const [currentTemplateId, setCurrentTemplateId] = useState<TemplateId | null>(\n null,\n );\n\n // Carregar template escolhido (converter shared → engine e carregar no editor)\n const handleSelectTemplate = useCallback(\n (templateId: TemplateId) => {\n const sharedDoc = getTemplate(templateId);\n if (!sharedDoc) return;\n const engineDoc = sharedTemplateToEngineDocument(sharedDoc);\n loadDocument(engineDoc);\n setCurrentTemplateId(templateId);\n },\n [loadDocument],\n );\n\n // Ao montar sem documento: carregar defaultTemplateId se informado\n useEffect(() => {\n if (!document && defaultTemplateId) {\n handleSelectTemplate(defaultTemplateId);\n }\n }, [defaultTemplateId]); // eslint-disable-line react-hooks/exhaustive-deps -- carregar só uma vez quando defaultTemplateId existe\n\n // Handlers de save/publish\n const handleSave = async () => {\n if (!document || !onSave) return;\n setIsSaving(true);\n try {\n await onSave(document);\n } catch (error) {\n console.error(\"Error saving:\", error);\n } finally {\n setIsSaving(false);\n }\n };\n\n const handlePublish = async () => {\n if (!document || !onPublish) return;\n setIsSaving(true);\n try {\n await onPublish(document);\n } catch (error) {\n console.error(\"Error publishing:\", error);\n } finally {\n setIsSaving(false);\n }\n };\n\n // Handler para atualizar paleta de cores (inclui mutedText, primaryText, linkColor e menuLinkColor)\n const handlePaletteChange = (palette: any) => {\n if (!document) return;\n const bgLight = isLightColor(palette.background ?? \"#ffffff\");\n const primaryLight = isLightColor(palette.primary ?? \"#3b82f6\");\n const mutedText = bgLight ? \"#6b7280\" : \"#9ca3af\";\n const primaryText = primaryLight ? \"#1f2937\" : \"#ffffff\";\n const patch = PatchBuilder.updateTheme(document, {\n colors: {\n ...document.theme.colors,\n primary: palette.primary,\n secondary: palette.secondary,\n accent: palette.accent,\n bg: palette.background,\n surface: palette.surface || document.theme.colors.surface,\n text: palette.text || document.theme.colors.text,\n mutedText,\n primaryText,\n linkColor: palette.linkColor || palette.primary, // Links gerais\n menuLinkColor: palette.menuLinkColor || palette.primary, // Links do menu navbar\n },\n });\n applyChange(patch, \"Update color palette\");\n };\n\n // No editor: cliques em links no preview não navegam; trocam a página em edição\n // Keyboard shortcuts\n useKeyboardShortcuts({\n onUndo: handleUndo,\n onRedo: handleRedo,\n onSave: handleSave,\n onDelete: () => {\n if (selectedBlockId) {\n handleDeleteBlock(selectedBlockId);\n }\n },\n onDeselect: () => setSelectedBlockId(null),\n });\n\n useEffect(() => {\n const handleMessage = (event: MessageEvent) => {\n if (event.data?.type !== \"editor-navigate\" || !event.data.href) return;\n const href = String(event.data.href);\n if (!document) return;\n // Links internos: /site/p/:slug ou /p/:slug\n const match = href.match(/^(?:\\/site)?\\/p\\/([^#?]+)/);\n if (match) {\n const slug = match[1];\n const page = document.pages.find((p) => p.slug === slug);\n if (page) setCurrentPageId(page.id);\n return;\n }\n // Âncora #id: selecionar bloco com esse id e trocar para a página que o contém\n if (href.startsWith(\"#\")) {\n const id = href.slice(1);\n for (const p of document.pages) {\n if (findBlockInStructure(p.structure || [], id)) {\n setCurrentPageId(p.id);\n setSelectedBlockId(id);\n break;\n }\n }\n }\n };\n window.addEventListener(\"message\", handleMessage);\n return () => window.removeEventListener(\"message\", handleMessage);\n }, [document, setCurrentPageId, setSelectedBlockId]);\n\n // Sem documento: mostrar seletor de templates\n if (!document) {\n return (\n <div className=\"h-[91vh] max-h-[91vh] flex flex-col bg-background overflow-hidden\">\n <TemplatePicker onSelectTemplate={handleSelectTemplate} />\n </div>\n );\n }\n\n return (\n <div className=\"h-[91vh] max-h-[91vh] flex flex-col bg-background overflow-hidden\">\n {/* Toolbar */}\n <Toolbar\n history={history}\n isSaving={isSaving}\n onUndo={handleUndo}\n onRedo={handleRedo}\n onSave={handleSave}\n onPublish={onPublish ? handlePublish : undefined}\n onReset={\n currentTemplateId\n ? () => {\n // Recarregar o mesmo template\n const sharedDoc = getTemplate(currentTemplateId);\n if (sharedDoc)\n loadDocument(sharedTemplateToEngineDocument(sharedDoc));\n }\n : resetToTemplate\n }\n />\n\n {/* Main Content - 3 Columns */}\n <div className=\"flex-1 flex overflow-hidden min-h-0 max-h-full\">\n {/* Left: Block Selector + Paletas */}\n <LeftPanel\n currentPage={currentPage}\n selectedBlockId={selectedBlockId}\n isPaletteSelected={isPaletteSelected}\n onSelectBlock={setSelectedBlockId}\n onDeleteBlock={handleDeleteBlock}\n />\n\n {/* Center: Preview (apenas a página em edição) */}\n <CenterPanel\n document={document}\n currentPageId={currentPageId}\n currentPage={currentPage}\n selectedBlockId={selectedBlockId}\n onBlockClick={setSelectedBlockId}\n onSelectPage={setCurrentPageId}\n onAddPage={() => {\n const name = prompt(\"Nome da página:\");\n if (!name) return;\n const slug = name.toLowerCase().replace(/\\s+/g, \"-\");\n const id = slug;\n addPage(id, name, slug);\n }}\n onRemovePage={removePage}\n canRemovePage={canRemovePage}\n />\n\n {/* Right: Editor Panel */}\n <RightPanel\n isPaletteSelected={isPaletteSelected}\n selectedBlock={selectedBlock}\n onPaletteChange={handlePaletteChange}\n onUpdateBlock={handleUpdateBlock}\n uploadConfig={uploadConfig}\n />\n </div>\n </div>\n );\n}\n"],"names":["LandingPageEditorV2","initialData","defaultTemplateId","onSave","onPublish","uploadConfig","document","currentPageId","currentPage","selectedBlockId","selectedBlock","history","setCurrentPageId","addPage","removePage","canRemovePage","setSelectedBlockId","handleUndo","handleRedo","handleDeleteBlock","handleUpdateBlock","applyChange","resetToTemplate","isPaletteSelected","loadDocument","useEditorState","isSaving","setIsSaving","useState","currentTemplateId","setCurrentTemplateId","handleSelectTemplate","useCallback","templateId","sharedDoc","getTemplate","engineDoc","sharedTemplateToEngineDocument","useEffect","handleSave","error","handlePublish","handlePaletteChange","palette","bgLight","isLightColor","primaryLight","mutedText","primaryText","patch","PatchBuilder","useKeyboardShortcuts","handleMessage","event","href","match","slug","page","p","id","findBlockInStructure","jsxs","jsx","Toolbar","LeftPanel","CenterPanel","name","RightPanel","TemplatePicker"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { SitePage } from '../engine/schema/siteDocument';
2
+ export interface PageTabBarProps {
3
+ pages: SitePage[];
4
+ currentPageId: string;
5
+ onSelectPage: (id: string) => void;
6
+ onAddPage: () => void;
7
+ onRemovePage: (id: string) => void;
8
+ canRemovePage: (id: string) => boolean;
9
+ }
10
+ export declare function PageTabBar({ pages, currentPageId, onSelectPage, onAddPage, onRemovePage, canRemovePage, }: PageTabBarProps): import("react/jsx-runtime").JSX.Element;
11
+ //# sourceMappingURL=PageTabBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageTabBar.d.ts","sourceRoot":"","sources":["../../src/editor/PageTabBar.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;CACxC;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,aAAa,EACb,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,aAAa,GACd,EAAE,eAAe,2CA+GjB"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Palette Selector
3
+ * Seletor de paletas de cores para o editor
4
+ */
5
+ export interface ColorPalette {
6
+ name: string;
7
+ primary: string;
8
+ secondary: string;
9
+ accent: string;
10
+ background: string;
11
+ surface?: string;
12
+ text: string;
13
+ linkColor?: string;
14
+ menuLinkColor?: string;
15
+ gradient: string[];
16
+ }
17
+ export declare const colorPalettes: ColorPalette[];
18
+ interface PaletteSelectorProps {
19
+ selectedPalette?: ColorPalette;
20
+ onPaletteChange: (palette: ColorPalette) => void;
21
+ }
22
+ export declare function PaletteSelector({ selectedPalette, onPaletteChange, }: PaletteSelectorProps): import("react/jsx-runtime").JSX.Element;
23
+ export {};
24
+ //# sourceMappingURL=PaletteSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaletteSelector.d.ts","sourceRoot":"","sources":["../../src/editor/PaletteSelector.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAMD,eAAO,MAAM,aAAa,EAAE,YAAY,EAuJvC,CAAC;AAMF,UAAU,oBAAoB;IAC5B,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,eAAe,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,eAAe,CAAC,EAC9B,eAAe,EACf,eAAe,GAChB,EAAE,oBAAoB,2CAmCtB"}
@@ -0,0 +1,16 @@
1
+ import { Block, SiteDocumentV2 } from '../../engine';
2
+ import { UploadConfig } from '../LandingPageEditorV2';
3
+ interface BlockPropertyEditorProps {
4
+ block: Block | null;
5
+ document?: SiteDocumentV2;
6
+ currentPageId?: string;
7
+ onUpdate: (updates: Record<string, any>) => void;
8
+ uploadConfig?: UploadConfig;
9
+ }
10
+ /**
11
+ * Componente principal do editor de propriedades
12
+ * Memoizado para performance
13
+ */
14
+ export declare const BlockPropertyEditor: import('react').NamedExoticComponent<BlockPropertyEditorProps>;
15
+ export {};
16
+ //# sourceMappingURL=BlockPropertyEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockPropertyEditor.d.ts","sourceRoot":"","sources":["../../../src/editor/PropertyEditor/BlockPropertyEditor.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,KAAK,EAAE,cAAc,EAAoC,MAAM,cAAc,CAAC;AAGvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,UAAU,wBAAwB;IAChC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACjD,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,gEA6F9B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as e, jsxs as a } from "react/jsx-runtime";
2
- import { memo as x, useMemo as d, useCallback as u } from "react";
2
+ import { memo as u, useMemo as d, useCallback as g } from "react";
3
3
  import "../../engine/schema/themeTokens.js";
4
- import { componentRegistry as g } from "../../engine/registry/registry.js";
4
+ import { componentRegistry as y } from "../../engine/registry/registry.js";
5
5
  import "../../engine/registry/blocks/layout/container.js";
6
6
  import "../../engine/registry/blocks/layout/stack.js";
7
7
  import "../../engine/registry/blocks/layout/grid.js";
@@ -57,13 +57,14 @@ import "../../engine/export/exporters/content/index.js";
57
57
  import "../../engine/export/exporters/sections/index.js";
58
58
  import "../../engine/export/exporters/forms/index.js";
59
59
  import "../../engine/theme/defaultTheme.js";
60
- import { VariationSelector as y } from "./VariationSelector.js";
61
- import { PropertyGroup as f } from "./PropertyGroup.js";
62
- const Or = x(function({
60
+ import { VariationSelector as f } from "./VariationSelector.js";
61
+ import { PropertyGroup as h } from "./PropertyGroup.js";
62
+ const kr = u(function({
63
63
  block: r,
64
- onUpdate: p
64
+ onUpdate: p,
65
+ uploadConfig: l
65
66
  }) {
66
- const o = d(() => r ? g.get(r.type) : null, [r]), n = d(() => {
67
+ const o = d(() => r ? y.get(r.type) : null, [r]), n = d(() => {
67
68
  if (!r || !o?.inspectorMeta) return {};
68
69
  const i = r.props, t = {};
69
70
  for (const [s, c] of Object.entries(
@@ -85,7 +86,7 @@ const Or = x(function({
85
86
  "Tipo de bloco desconhecido: ",
86
87
  r.type
87
88
  ] });
88
- const l = u((i, t) => {
89
+ const x = g((i, t) => {
89
90
  p({ [i]: t });
90
91
  }, [p]);
91
92
  return /* @__PURE__ */ a("div", { className: "p-3 space-y-4", children: [
@@ -93,19 +94,20 @@ const Or = x(function({
93
94
  /* @__PURE__ */ e("h3", { className: "text-sm font-semibold text-gray-800 dark:text-gray-100", children: o.name }),
94
95
  /* @__PURE__ */ e("p", { className: "text-xs text-gray-500 dark:text-gray-400 mt-0.5", children: o.description })
95
96
  ] }),
96
- o.variations && /* @__PURE__ */ e(y, { block: r, onUpdate: p }),
97
+ o.variations && /* @__PURE__ */ e(f, { block: r, onUpdate: p }),
97
98
  Object.keys(n).length === 0 ? /* @__PURE__ */ e("div", { className: "text-center text-gray-500 dark:text-gray-400 text-xs py-4", children: "Nenhuma propriedade configurável" }) : Object.entries(n).map(([i, t]) => /* @__PURE__ */ e(
98
- f,
99
+ h,
99
100
  {
100
101
  groupName: i,
101
102
  props: t,
102
- onPropChange: l
103
+ onPropChange: x,
104
+ uploadConfig: l
103
105
  },
104
106
  i
105
107
  ))
106
108
  ] });
107
109
  });
108
110
  export {
109
- Or as BlockPropertyEditor
111
+ kr as BlockPropertyEditor
110
112
  };
111
113
  //# sourceMappingURL=BlockPropertyEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockPropertyEditor.js","sources":["../../../src/editor/PropertyEditor/BlockPropertyEditor.tsx"],"sourcesContent":["/**\n * Block Property Editor - Refatorado\n * Editor dinâmico de propriedades baseado em inspectorMeta\n */\n\nimport { memo, useMemo, useCallback } from \"react\";\nimport { Block, SiteDocumentV2, componentRegistry, InspectorMeta } from \"../../engine\";\nimport { VariationSelector } from \"./VariationSelector\";\nimport { PropertyGroup } from \"./PropertyGroup\";\n\ninterface BlockPropertyEditorProps {\n block: Block | null;\n document?: SiteDocumentV2;\n currentPageId?: string;\n onUpdate: (updates: Record<string, any>) => void;\n}\n\n/**\n * Componente principal do editor de propriedades\n * Memoizado para performance\n */\nexport const BlockPropertyEditor = memo(function BlockPropertyEditor({\n block,\n onUpdate,\n}: BlockPropertyEditorProps) {\n // Obter definição do bloco do registry\n const blockDefinition = useMemo(() => {\n if (!block) return null;\n return componentRegistry.get(block.type);\n }, [block]);\n\n // Agrupar propriedades por grupo\n const groupedProps = useMemo(() => {\n if (!block || !blockDefinition?.inspectorMeta) return {};\n\n const props = block.props as Record<string, any>;\n const groups: Record<\n string,\n Array<{ propName: string; meta: InspectorMeta; value: any }>\n > = {};\n\n for (const [propName, meta] of Object.entries(\n blockDefinition.inspectorMeta,\n )) {\n const group = meta.group || \"Geral\";\n if (!groups[group]) {\n groups[group] = [];\n }\n groups[group].push({\n propName,\n meta,\n value: props[propName],\n });\n }\n\n return groups;\n }, [block, blockDefinition]);\n\n if (!block) {\n return (\n <div className=\"p-4 text-center text-gray-500 dark:text-gray-400 text-sm\">\n Selecione um bloco para editar\n </div>\n );\n }\n\n if (!blockDefinition) {\n return (\n <div className=\"p-4 text-center text-red-500 text-sm\">\n Tipo de bloco desconhecido: {block.type}\n </div>\n );\n }\n\n const handlePropChange = useCallback((propName: string, value: any) => {\n onUpdate({ [propName]: value });\n }, [onUpdate]);\n\n return (\n <div className=\"p-3 space-y-4\">\n {/* Header com nome do bloco */}\n <div className=\"pb-2 border-b border-gray-200 dark:border-gray-700\">\n <h3 className=\"text-sm font-semibold text-gray-800 dark:text-gray-100\">\n {blockDefinition.name}\n </h3>\n <p className=\"text-xs text-gray-500 dark:text-gray-400 mt-0.5\">\n {blockDefinition.description}\n </p>\n </div>\n\n {/* Seletor de variações (Hero/Navbar) */}\n {blockDefinition.variations && (\n <VariationSelector block={block} onUpdate={onUpdate} />\n )}\n\n {/* Propriedades agrupadas */}\n {Object.keys(groupedProps).length === 0 ? (\n <div className=\"text-center text-gray-500 dark:text-gray-400 text-xs py-4\">\n Nenhuma propriedade configurável\n </div>\n ) : (\n Object.entries(groupedProps).map(([groupName, props]) => (\n <PropertyGroup\n key={groupName}\n groupName={groupName}\n props={props}\n onPropChange={handlePropChange}\n />\n ))\n )}\n </div>\n );\n});\n"],"names":["BlockPropertyEditor","memo","block","onUpdate","blockDefinition","useMemo","componentRegistry","groupedProps","props","groups","propName","meta","group","jsx","jsxs","handlePropChange","useCallback","value","VariationSelector","groupName","PropertyGroup"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,MAAMA,KAAsBC,EAAK,SAA6B;AAAA,EACnE,OAAAC;AAAA,EACA,UAAAC;AACF,GAA6B;AAE3B,QAAMC,IAAkBC,EAAQ,MACzBH,IACEI,EAAkB,IAAIJ,EAAM,IAAI,IADpB,MAElB,CAACA,CAAK,CAAC,GAGJK,IAAeF,EAAQ,MAAM;AACjC,QAAI,CAACH,KAAS,CAACE,GAAiB,sBAAsB,CAAA;AAEtD,UAAMI,IAAQN,EAAM,OACdO,IAGF,CAAA;AAEJ,eAAW,CAACC,GAAUC,CAAI,KAAK,OAAO;AAAA,MACpCP,EAAgB;AAAA,IAAA,GACf;AACD,YAAMQ,IAAQD,EAAK,SAAS;AAC5B,MAAKF,EAAOG,CAAK,MACfH,EAAOG,CAAK,IAAI,CAAA,IAElBH,EAAOG,CAAK,EAAE,KAAK;AAAA,QACjB,UAAAF;AAAA,QACA,MAAAC;AAAA,QACA,OAAOH,EAAME,CAAQ;AAAA,MAAA,CACtB;AAAA,IACH;AAEA,WAAOD;AAAA,EACT,GAAG,CAACP,GAAOE,CAAe,CAAC;AAE3B,MAAI,CAACF;AACH,WACE,gBAAAW,EAAC,OAAA,EAAI,WAAU,4DAA2D,UAAA,kCAE1E;AAIJ,MAAI,CAACT;AACH,WACE,gBAAAU,EAAC,OAAA,EAAI,WAAU,wCAAuC,UAAA;AAAA,MAAA;AAAA,MACvBZ,EAAM;AAAA,IAAA,GACrC;AAIJ,QAAMa,IAAmBC,EAAY,CAACN,GAAkBO,MAAe;AACrE,IAAAd,EAAS,EAAE,CAACO,CAAQ,GAAGO,GAAO;AAAA,EAChC,GAAG,CAACd,CAAQ,CAAC;AAEb,SACE,gBAAAW,EAAC,OAAA,EAAI,WAAU,iBAEb,UAAA;AAAA,IAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,sDACb,UAAA;AAAA,MAAA,gBAAAD,EAAC,MAAA,EAAG,WAAU,0DACX,UAAAT,EAAgB,MACnB;AAAA,MACA,gBAAAS,EAAC,KAAA,EAAE,WAAU,mDACV,YAAgB,YAAA,CACnB;AAAA,IAAA,GACF;AAAA,IAGCT,EAAgB,cACf,gBAAAS,EAACK,GAAA,EAAkB,OAAAhB,GAAc,UAAAC,GAAoB;AAAA,IAItD,OAAO,KAAKI,CAAY,EAAE,WAAW,IACpC,gBAAAM,EAAC,SAAI,WAAU,6DAA4D,8CAE3E,IAEA,OAAO,QAAQN,CAAY,EAAE,IAAI,CAAC,CAACY,GAAWX,CAAK,MACjD,gBAAAK;AAAA,MAACO;AAAA,MAAA;AAAA,QAEC,WAAAD;AAAA,QACA,OAAAX;AAAA,QACA,cAAcO;AAAA,MAAA;AAAA,MAHTI;AAAA,IAAA,CAKR;AAAA,EAAA,GAEL;AAEJ,CAAC;"}
1
+ {"version":3,"file":"BlockPropertyEditor.js","sources":["../../../src/editor/PropertyEditor/BlockPropertyEditor.tsx"],"sourcesContent":["/**\n * Block Property Editor - Refatorado\n * Editor dinâmico de propriedades baseado em inspectorMeta\n */\n\nimport { memo, useMemo, useCallback } from \"react\";\nimport { Block, SiteDocumentV2, componentRegistry, InspectorMeta } from \"../../engine\";\nimport { VariationSelector } from \"./VariationSelector\";\nimport { PropertyGroup } from \"./PropertyGroup\";\nimport type { UploadConfig } from \"../LandingPageEditorV2\";\n\ninterface BlockPropertyEditorProps {\n block: Block | null;\n document?: SiteDocumentV2;\n currentPageId?: string;\n onUpdate: (updates: Record<string, any>) => void;\n uploadConfig?: UploadConfig;\n}\n\n/**\n * Componente principal do editor de propriedades\n * Memoizado para performance\n */\nexport const BlockPropertyEditor = memo(function BlockPropertyEditor({\n block,\n onUpdate,\n uploadConfig,\n}: BlockPropertyEditorProps) {\n // Obter definição do bloco do registry\n const blockDefinition = useMemo(() => {\n if (!block) return null;\n return componentRegistry.get(block.type);\n }, [block]);\n\n // Agrupar propriedades por grupo\n const groupedProps = useMemo(() => {\n if (!block || !blockDefinition?.inspectorMeta) return {};\n\n const props = block.props as Record<string, any>;\n const groups: Record<\n string,\n Array<{ propName: string; meta: InspectorMeta; value: any }>\n > = {};\n\n for (const [propName, meta] of Object.entries(\n blockDefinition.inspectorMeta,\n )) {\n const group = meta.group || \"Geral\";\n if (!groups[group]) {\n groups[group] = [];\n }\n groups[group].push({\n propName,\n meta,\n value: props[propName],\n });\n }\n\n return groups;\n }, [block, blockDefinition]);\n\n if (!block) {\n return (\n <div className=\"p-4 text-center text-gray-500 dark:text-gray-400 text-sm\">\n Selecione um bloco para editar\n </div>\n );\n }\n\n if (!blockDefinition) {\n return (\n <div className=\"p-4 text-center text-red-500 text-sm\">\n Tipo de bloco desconhecido: {block.type}\n </div>\n );\n }\n\n const handlePropChange = useCallback((propName: string, value: any) => {\n onUpdate({ [propName]: value });\n }, [onUpdate]);\n\n return (\n <div className=\"p-3 space-y-4\">\n {/* Header com nome do bloco */}\n <div className=\"pb-2 border-b border-gray-200 dark:border-gray-700\">\n <h3 className=\"text-sm font-semibold text-gray-800 dark:text-gray-100\">\n {blockDefinition.name}\n </h3>\n <p className=\"text-xs text-gray-500 dark:text-gray-400 mt-0.5\">\n {blockDefinition.description}\n </p>\n </div>\n\n {/* Seletor de variações (Hero/Navbar) */}\n {blockDefinition.variations && (\n <VariationSelector block={block} onUpdate={onUpdate} />\n )}\n\n {/* Propriedades agrupadas */}\n {Object.keys(groupedProps).length === 0 ? (\n <div className=\"text-center text-gray-500 dark:text-gray-400 text-xs py-4\">\n Nenhuma propriedade configurável\n </div>\n ) : (\n Object.entries(groupedProps).map(([groupName, props]) => (\n <PropertyGroup\n key={groupName}\n groupName={groupName}\n props={props}\n onPropChange={handlePropChange}\n uploadConfig={uploadConfig}\n />\n ))\n )}\n </div>\n );\n});\n"],"names":["BlockPropertyEditor","memo","block","onUpdate","uploadConfig","blockDefinition","useMemo","componentRegistry","groupedProps","props","groups","propName","meta","group","jsx","jsxs","handlePropChange","useCallback","value","VariationSelector","groupName","PropertyGroup"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBO,MAAMA,KAAsBC,EAAK,SAA6B;AAAA,EACnE,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AACF,GAA6B;AAE3B,QAAMC,IAAkBC,EAAQ,MACzBJ,IACEK,EAAkB,IAAIL,EAAM,IAAI,IADpB,MAElB,CAACA,CAAK,CAAC,GAGJM,IAAeF,EAAQ,MAAM;AACjC,QAAI,CAACJ,KAAS,CAACG,GAAiB,sBAAsB,CAAA;AAEtD,UAAMI,IAAQP,EAAM,OACdQ,IAGF,CAAA;AAEJ,eAAW,CAACC,GAAUC,CAAI,KAAK,OAAO;AAAA,MACpCP,EAAgB;AAAA,IAAA,GACf;AACD,YAAMQ,IAAQD,EAAK,SAAS;AAC5B,MAAKF,EAAOG,CAAK,MACfH,EAAOG,CAAK,IAAI,CAAA,IAElBH,EAAOG,CAAK,EAAE,KAAK;AAAA,QACjB,UAAAF;AAAA,QACA,MAAAC;AAAA,QACA,OAAOH,EAAME,CAAQ;AAAA,MAAA,CACtB;AAAA,IACH;AAEA,WAAOD;AAAA,EACT,GAAG,CAACR,GAAOG,CAAe,CAAC;AAE3B,MAAI,CAACH;AACH,WACE,gBAAAY,EAAC,OAAA,EAAI,WAAU,4DAA2D,UAAA,kCAE1E;AAIJ,MAAI,CAACT;AACH,WACE,gBAAAU,EAAC,OAAA,EAAI,WAAU,wCAAuC,UAAA;AAAA,MAAA;AAAA,MACvBb,EAAM;AAAA,IAAA,GACrC;AAIJ,QAAMc,IAAmBC,EAAY,CAACN,GAAkBO,MAAe;AACrE,IAAAf,EAAS,EAAE,CAACQ,CAAQ,GAAGO,GAAO;AAAA,EAChC,GAAG,CAACf,CAAQ,CAAC;AAEb,SACE,gBAAAY,EAAC,OAAA,EAAI,WAAU,iBAEb,UAAA;AAAA,IAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,sDACb,UAAA;AAAA,MAAA,gBAAAD,EAAC,MAAA,EAAG,WAAU,0DACX,UAAAT,EAAgB,MACnB;AAAA,MACA,gBAAAS,EAAC,KAAA,EAAE,WAAU,mDACV,YAAgB,YAAA,CACnB;AAAA,IAAA,GACF;AAAA,IAGCT,EAAgB,cACf,gBAAAS,EAACK,GAAA,EAAkB,OAAAjB,GAAc,UAAAC,GAAoB;AAAA,IAItD,OAAO,KAAKK,CAAY,EAAE,WAAW,IACpC,gBAAAM,EAAC,SAAI,WAAU,6DAA4D,8CAE3E,IAEA,OAAO,QAAQN,CAAY,EAAE,IAAI,CAAC,CAACY,GAAWX,CAAK,MACjD,gBAAAK;AAAA,MAACO;AAAA,MAAA;AAAA,QAEC,WAAAD;AAAA,QACA,OAAAX;AAAA,QACA,cAAcO;AAAA,QACd,cAAAZ;AAAA,MAAA;AAAA,MAJKgB;AAAA,IAAA,CAMR;AAAA,EAAA,GAEL;AAEJ,CAAC;"}
@@ -0,0 +1,19 @@
1
+ import { InspectorMeta } from '../../engine';
2
+ import { UploadConfig } from '../LandingPageEditorV2';
3
+ interface PropertyGroupProps {
4
+ groupName: string;
5
+ props: Array<{
6
+ propName: string;
7
+ meta: InspectorMeta;
8
+ value: any;
9
+ }>;
10
+ onPropChange: (propName: string, value: any) => void;
11
+ uploadConfig?: UploadConfig;
12
+ }
13
+ /**
14
+ * Componente para agrupar propriedades relacionadas
15
+ * Memoizado para evitar re-renders desnecessários
16
+ */
17
+ export declare const PropertyGroup: import('react').NamedExoticComponent<PropertyGroupProps>;
18
+ export {};
19
+ //# sourceMappingURL=PropertyGroup.d.ts.map
@@ -0,0 +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,24 +1,26 @@
1
- import { jsxs as c, jsx as t } from "react/jsx-runtime";
2
- import { memo as m } from "react";
3
- import { renderPropertyInput as p } from "./renderPropertyInput.js";
4
- const y = m(function({
1
+ import { jsxs as m, jsx as t } from "react/jsx-runtime";
2
+ import { memo as p } from "react";
3
+ import { renderPropertyInput as l } from "./renderPropertyInput.js";
4
+ const f = p(function({
5
5
  groupName: o,
6
6
  props: r,
7
- onPropChange: n
7
+ onPropChange: n,
8
+ uploadConfig: s
8
9
  }) {
9
- return r.length === 0 ? null : /* @__PURE__ */ c("div", { className: "space-y-3", children: [
10
+ return r.length === 0 ? null : /* @__PURE__ */ m("div", { className: "space-y-3", children: [
10
11
  /* @__PURE__ */ t("h4", { className: "text-xs font-semibold text-gray-600 dark:text-gray-400 uppercase tracking-wide", children: o }),
11
12
  /* @__PURE__ */ t("div", { className: "space-y-3", children: r.map(
12
- ({ propName: e, meta: s, value: a }) => p(
13
+ ({ propName: e, meta: a, value: i }) => l(
13
14
  e,
14
- s,
15
15
  a,
16
- (i) => n(e, i)
16
+ i,
17
+ (c) => n(e, c),
18
+ s
17
19
  )
18
20
  ) })
19
21
  ] });
20
22
  });
21
23
  export {
22
- y as PropertyGroup
24
+ f as PropertyGroup
23
25
  };
24
26
  //# sourceMappingURL=PropertyGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyGroup.js","sources":["../../../src/editor/PropertyEditor/PropertyGroup.tsx"],"sourcesContent":["import { memo } from \"react\";\nimport { InspectorMeta } from \"../../engine\";\nimport { renderPropertyInput } from \"./renderPropertyInput\";\n\ninterface PropertyGroupProps {\n groupName: string;\n props: Array<{\n propName: string;\n meta: InspectorMeta;\n value: any;\n }>;\n onPropChange: (propName: string, value: any) => void;\n}\n\n/**\n * Componente para agrupar propriedades relacionadas\n * Memoizado para evitar re-renders desnecessários\n */\nexport const PropertyGroup = memo(function PropertyGroup({\n groupName,\n props,\n onPropChange,\n}: PropertyGroupProps) {\n if (props.length === 0) {\n return null;\n }\n\n return (\n <div className=\"space-y-3\">\n <h4 className=\"text-xs font-semibold text-gray-600 dark:text-gray-400 uppercase tracking-wide\">\n {groupName}\n </h4>\n <div className=\"space-y-3\">\n {props.map(({ propName, meta, value }) =>\n renderPropertyInput(propName, meta, value, (newValue) =>\n onPropChange(propName, newValue),\n ),\n )}\n </div>\n </div>\n );\n});\n"],"names":["PropertyGroup","memo","groupName","props","onPropChange","jsxs","jsx","propName","meta","value","renderPropertyInput","newValue"],"mappings":";;;AAkBO,MAAMA,IAAgBC,EAAK,SAAuB;AAAA,EACvD,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,cAAAC;AACF,GAAuB;AACrB,SAAID,EAAM,WAAW,IACZ,OAIP,gBAAAE,EAAC,OAAA,EAAI,WAAU,aACb,UAAA;AAAA,IAAA,gBAAAC,EAAC,MAAA,EAAG,WAAU,kFACX,UAAAJ,GACH;AAAA,IACA,gBAAAI,EAAC,OAAA,EAAI,WAAU,aACZ,UAAAH,EAAM;AAAA,MAAI,CAAC,EAAE,UAAAI,GAAU,MAAAC,GAAM,OAAAC,QAC5BC;AAAA,QAAoBH;AAAA,QAAUC;AAAA,QAAMC;AAAA,QAAO,CAACE,MAC1CP,EAAaG,GAAUI,CAAQ;AAAA,MAAA;AAAA,IACjC,EACF,CACF;AAAA,EAAA,GACF;AAEJ,CAAC;"}
1
+ {"version":3,"file":"PropertyGroup.js","sources":["../../../src/editor/PropertyEditor/PropertyGroup.tsx"],"sourcesContent":["import { memo } from \"react\";\nimport { InspectorMeta } from \"../../engine\";\nimport { renderPropertyInput } from \"./renderPropertyInput\";\nimport type { UploadConfig } from \"../LandingPageEditorV2\";\n\ninterface PropertyGroupProps {\n groupName: string;\n props: Array<{\n propName: string;\n meta: InspectorMeta;\n value: any;\n }>;\n onPropChange: (propName: string, value: any) => void;\n uploadConfig?: UploadConfig;\n}\n\n/**\n * Componente para agrupar propriedades relacionadas\n * Memoizado para evitar re-renders desnecessários\n */\nexport const PropertyGroup = memo(function PropertyGroup({\n groupName,\n props,\n onPropChange,\n uploadConfig,\n}: PropertyGroupProps) {\n if (props.length === 0) {\n return null;\n }\n\n return (\n <div className=\"space-y-3\">\n <h4 className=\"text-xs font-semibold text-gray-600 dark:text-gray-400 uppercase tracking-wide\">\n {groupName}\n </h4>\n <div className=\"space-y-3\">\n {props.map(({ propName, meta, value }) =>\n renderPropertyInput(\n propName,\n meta,\n value,\n (newValue) => onPropChange(propName, newValue),\n uploadConfig,\n ),\n )}\n </div>\n </div>\n );\n});\n"],"names":["PropertyGroup","memo","groupName","props","onPropChange","uploadConfig","jsxs","jsx","propName","meta","value","renderPropertyInput","newValue"],"mappings":";;;AAoBO,MAAMA,IAAgBC,EAAK,SAAuB;AAAA,EACvD,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AACF,GAAuB;AACrB,SAAIF,EAAM,WAAW,IACZ,OAIP,gBAAAG,EAAC,OAAA,EAAI,WAAU,aACb,UAAA;AAAA,IAAA,gBAAAC,EAAC,MAAA,EAAG,WAAU,kFACX,UAAAL,GACH;AAAA,IACA,gBAAAK,EAAC,OAAA,EAAI,WAAU,aACZ,UAAAJ,EAAM;AAAA,MAAI,CAAC,EAAE,UAAAK,GAAU,MAAAC,GAAM,OAAAC,QAC5BC;AAAA,QACEH;AAAA,QACAC;AAAA,QACAC;AAAA,QACA,CAACE,MAAaR,EAAaI,GAAUI,CAAQ;AAAA,QAC7CP;AAAA,MAAA;AAAA,IACF,EACF,CACF;AAAA,EAAA,GACF;AAEJ,CAAC;"}
@@ -0,0 +1,12 @@
1
+ import { Block } from '../../engine';
2
+ interface VariationSelectorProps {
3
+ block: Block;
4
+ onUpdate: (updates: Record<string, any>) => void;
5
+ }
6
+ /**
7
+ * Componente para selecionar variações de Hero e Navbar
8
+ * Preserva props customizadas ao trocar variação
9
+ */
10
+ export declare function VariationSelector({ block, onUpdate }: VariationSelectorProps): import("react/jsx-runtime").JSX.Element | null;
11
+ export {};
12
+ //# sourceMappingURL=VariationSelector.d.ts.map
@@ -0,0 +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;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,sBAAsB,kDA0G5E"}
@@ -0,0 +1,6 @@
1
+ export { BlockPropertyEditor } from './BlockPropertyEditor';
2
+ export { VariationSelector } from './VariationSelector';
3
+ export { PropertyGroup } from './PropertyGroup';
4
+ export { renderPropertyInput } from './renderPropertyInput';
5
+ export * from './inputs';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/editor/PropertyEditor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,cAAc,UAAU,CAAC"}
@@ -0,0 +1,13 @@
1
+ interface CheckboxInputProps {
2
+ value: boolean;
3
+ onChange: (value: boolean) => void;
4
+ label: string;
5
+ description?: string;
6
+ propName: string;
7
+ }
8
+ /**
9
+ * Componente de checkbox
10
+ */
11
+ export declare function CheckboxInput({ value, onChange, label, description, propName, }: CheckboxInputProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=CheckboxInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxInput.d.ts","sourceRoot":"","sources":["../../../../src/editor/PropertyEditor/inputs/CheckboxInput.tsx"],"names":[],"mappings":"AACA,UAAU,kBAAkB;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,WAAW,EACX,QAAQ,GACT,EAAE,kBAAkB,2CAyBpB"}
@@ -0,0 +1,13 @@
1
+ interface ColorInputProps {
2
+ value: string;
3
+ onChange: (value: string) => void;
4
+ label: string;
5
+ description?: string;
6
+ }
7
+ /**
8
+ * Componente de input de cor com debounce para arrastar
9
+ * Memoizado para performance
10
+ */
11
+ export declare const ColorInput: import('react').NamedExoticComponent<ColorInputProps>;
12
+ export {};
13
+ //# sourceMappingURL=ColorInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorInput.d.ts","sourceRoot":"","sources":["../../../../src/editor/PropertyEditor/inputs/ColorInput.tsx"],"names":[],"mappings":"AAGA,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,uDAiFrB,CAAC"}
@@ -0,0 +1,16 @@
1
+ interface NumberInputProps {
2
+ value: number | undefined;
3
+ onChange: (value: number | undefined) => void;
4
+ label: string;
5
+ description?: string;
6
+ placeholder?: string;
7
+ min?: number;
8
+ max?: number;
9
+ step?: number;
10
+ }
11
+ /**
12
+ * Componente de input numérico
13
+ */
14
+ export declare function NumberInput({ value, onChange, label, description, placeholder, min, max, step, }: NumberInputProps): import("react/jsx-runtime").JSX.Element;
15
+ export {};
16
+ //# sourceMappingURL=NumberInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberInput.d.ts","sourceRoot":"","sources":["../../../../src/editor/PropertyEditor/inputs/NumberInput.tsx"],"names":[],"mappings":"AAEA,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,WAAW,EACX,WAAW,EACX,GAAG,EACH,GAAG,EACH,IAAQ,GACT,EAAE,gBAAgB,2CA6BlB"}
@@ -0,0 +1,17 @@
1
+ interface SelectOption {
2
+ label: string;
3
+ value: string | number | boolean;
4
+ }
5
+ interface SelectInputProps {
6
+ value: any;
7
+ onChange: (value: any) => void;
8
+ label: string;
9
+ description?: string;
10
+ options: SelectOption[];
11
+ }
12
+ /**
13
+ * Componente de select/dropdown
14
+ */
15
+ export declare function SelectInput({ value, onChange, label, description, options, }: SelectInputProps): import("react/jsx-runtime").JSX.Element | null;
16
+ export {};
17
+ //# sourceMappingURL=SelectInput.d.ts.map