@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":"Hero.js","sources":["../../../src/site/blocks/Hero.tsx"],"sourcesContent":["/**\n * Hero - Hero section component\n *\n * Full-viewport hero section with title, subtitle, and CTAs.\n */\n\nimport { clsx } from 'clsx';\nimport {\n section,\n heroSection,\n heroContent,\n heroTitle,\n heroSubtitle,\n heroActions,\n} from '../../styles/site';\nimport { Button } from './Button';\nimport type { HeroProps } from './types';\n\nexport function Hero({\n id = 'hero',\n className,\n title,\n subtitle,\n ctaText,\n ctaHref,\n secondaryCtaText,\n secondaryCtaHref,\n backgroundImage,\n alignment = 'center',\n}: HeroProps) {\n const alignmentStyles = {\n left: { textAlign: 'left' as const, alignItems: 'flex-start' as const },\n center: { textAlign: 'center' as const, alignItems: 'center' as const },\n right: { textAlign: 'right' as const, alignItems: 'flex-end' as const },\n };\n\n return (\n <section\n id={id}\n className={clsx(section, heroSection, className)}\n style={{\n ...(backgroundImage && {\n backgroundImage: `linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url(${backgroundImage})`,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n }),\n }}\n >\n <div\n className={heroContent}\n style={alignmentStyles[alignment]}\n >\n <h1 className={heroTitle}>{title}</h1>\n\n {subtitle && (\n <p className={heroSubtitle}>{subtitle}</p>\n )}\n\n {(ctaText || secondaryCtaText) && (\n <div className={heroActions}>\n {ctaText && (\n <Button variant=\"primary\" size=\"lg\" href={ctaHref}>\n {ctaText}\n </Button>\n )}\n {secondaryCtaText && (\n <Button variant=\"outline\" size=\"lg\" href={secondaryCtaHref}>\n {secondaryCtaText}\n </Button>\n )}\n </div>\n )}\n </div>\n </section>\n );\n}\n"],"names":["Hero","id","className","title","subtitle","ctaText","ctaHref","secondaryCtaText","secondaryCtaHref","backgroundImage","alignment","alignmentStyles","jsx","clsx","section","heroSection","jsxs","heroContent","heroTitle","heroSubtitle","heroActions","Button"],"mappings":";;;;;;AAkBO,SAASA,EAAK;AAAA,EACnB,IAAAC,IAAK;AAAA,EACL,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,WAAAC,IAAY;AACd,GAAc;AACZ,QAAMC,IAAkB;AAAA,IACtB,MAAM,EAAE,WAAW,QAAiB,YAAY,aAAA;AAAA,IAChD,QAAQ,EAAE,WAAW,UAAmB,YAAY,SAAA;AAAA,IACpD,OAAO,EAAE,WAAW,SAAkB,YAAY,WAAA;AAAA,EAAoB;AAGxE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAAX;AAAA,MACA,WAAWY,EAAKC,GAASC,GAAab,CAAS;AAAA,MAC/C,OAAO;AAAA,QACL,GAAIO,KAAmB;AAAA,UACrB,iBAAiB,0DAA0DA,CAAe;AAAA,UAC1F,gBAAgB;AAAA,UAChB,oBAAoB;AAAA,QAAA;AAAA,MACtB;AAAA,MAGF,UAAA,gBAAAO;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWC;AAAA,UACX,OAAON,EAAgBD,CAAS;AAAA,UAEhC,UAAA;AAAA,YAAA,gBAAAE,EAAC,MAAA,EAAG,WAAWM,GAAY,UAAAf,GAAM;AAAA,YAEhCC,KACC,gBAAAQ,EAAC,KAAA,EAAE,WAAWO,GAAe,UAAAf,GAAS;AAAA,aAGtCC,KAAWE,MACX,gBAAAS,EAAC,OAAA,EAAI,WAAWI,GACb,UAAA;AAAA,cAAAf,KACC,gBAAAO,EAACS,KAAO,SAAQ,WAAU,MAAK,MAAK,MAAMf,GACvC,UAAAD,EAAA,CACH;AAAA,cAEDE,uBACEc,GAAA,EAAO,SAAQ,WAAU,MAAK,MAAK,MAAMb,GACvC,UAAAD,EAAA,CACH;AAAA,YAAA,EAAA,CAEJ;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"Hero.js","sources":["../../../src/site/blocks/Hero.tsx"],"sourcesContent":["/**\n * Hero - Hero section component\n *\n * Full-viewport hero section with title, subtitle, and CTAs.\n */\n\nimport { clsx } from 'clsx';\nimport {\n section,\n heroSection,\n heroContent,\n heroTitle,\n heroSubtitle,\n heroActions,\n} from '../../styles/site';\nimport { Button } from './Button';\nimport type { HeroProps } from './types';\n\nexport function Hero({\n id = 'hero',\n className,\n title,\n subtitle,\n ctaText,\n ctaHref,\n secondaryCtaText,\n secondaryCtaHref,\n backgroundImage,\n alignment = 'center',\n}: HeroProps) {\n const alignmentStyles = {\n left: { textAlign: 'left' as const, alignItems: 'flex-start' as const },\n center: { textAlign: 'center' as const, alignItems: 'center' as const },\n right: { textAlign: 'right' as const, alignItems: 'flex-end' as const },\n };\n\n return (\n <section\n id={id}\n className={clsx(section, heroSection, className)}\n style={{\n ...(backgroundImage && {\n backgroundImage: `linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url(${backgroundImage})`,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n }),\n }}\n >\n <div\n className={heroContent}\n style={alignmentStyles[alignment]}\n >\n <h1 className={heroTitle}>{title}</h1>\n\n {subtitle && (\n <p className={heroSubtitle}>{subtitle}</p>\n )}\n\n {(ctaText || secondaryCtaText) && (\n <div className={heroActions}>\n {ctaText && (\n <Button variant=\"primary\" size=\"lg\" href={ctaHref}>\n {ctaText}\n </Button>\n )}\n {secondaryCtaText && (\n <Button variant=\"outline\" size=\"lg\" href={secondaryCtaHref}>\n {secondaryCtaText}\n </Button>\n )}\n </div>\n )}\n </div>\n </section>\n );\n}\n"],"names":["Hero","id","className","title","subtitle","ctaText","ctaHref","secondaryCtaText","secondaryCtaHref","backgroundImage","alignment","alignmentStyles","jsx","clsx","section","heroSection","jsxs","heroContent","heroTitle","heroSubtitle","heroActions","Button"],"mappings":";;;;AAkBO,SAASA,EAAK;AAAA,EACnB,IAAAC,IAAK;AAAA,EACL,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,WAAAC,IAAY;AACd,GAAc;AACZ,QAAMC,IAAkB;AAAA,IACtB,MAAM,EAAE,WAAW,QAAiB,YAAY,aAAA;AAAA,IAChD,QAAQ,EAAE,WAAW,UAAmB,YAAY,SAAA;AAAA,IACpD,OAAO,EAAE,WAAW,SAAkB,YAAY,WAAA;AAAA,EAAoB;AAGxE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAAX;AAAA,MACA,WAAWY,EAAKC,GAASC,GAAab,CAAS;AAAA,MAC/C,OAAO;AAAA,QACL,GAAIO,KAAmB;AAAA,UACrB,iBAAiB,0DAA0DA,CAAe;AAAA,UAC1F,gBAAgB;AAAA,UAChB,oBAAoB;AAAA,QAAA;AAAA,MACtB;AAAA,MAGF,UAAA,gBAAAO;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWC;AAAA,UACX,OAAON,EAAgBD,CAAS;AAAA,UAEhC,UAAA;AAAA,YAAA,gBAAAE,EAAC,MAAA,EAAG,WAAWM,GAAY,UAAAf,GAAM;AAAA,YAEhCC,KACC,gBAAAQ,EAAC,KAAA,EAAE,WAAWO,GAAe,UAAAf,GAAS;AAAA,aAGtCC,KAAWE,MACX,gBAAAS,EAAC,OAAA,EAAI,WAAWI,GACb,UAAA;AAAA,cAAAf,KACC,gBAAAO,EAACS,KAAO,SAAQ,WAAU,MAAK,MAAK,MAAMf,GACvC,UAAAD,EAAA,CACH;AAAA,cAEDE,uBACEc,GAAA,EAAO,SAAQ,WAAU,MAAK,MAAK,MAAMb,GACvC,UAAAD,EAAA,CACH;AAAA,YAAA,EAAA,CAEJ;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA;AAGN;"}
@@ -1,20 +1,18 @@
1
1
  import { jsx as r, jsxs as h } from "react/jsx-runtime";
2
- import { clsx as i } from "../../node_modules/clsx/dist/clsx.js";
3
- /* empty css */
4
- /* empty css */
5
- import { navbarBrand as v, navbarLinks as d, navbarLink as f, container as p, navbarContent as b, navbar as N } from "../../styles/site/sections.css.js";
2
+ import { clsx as i } from "clsx";
3
+ import { navbarBrand as v, navbarLinks as d, navbarLink as f, container as b, navbarContent as p, navbar as N } from "../../styles/site/sections.css.js";
6
4
  import { Button as x } from "./Button.js";
7
- function z({
8
- id: t,
9
- className: m,
10
- brand: s,
5
+ function g({
6
+ id: s,
7
+ className: t,
8
+ brand: m,
11
9
  links: n = [],
12
10
  ctaText: e,
13
- ctaHref: o
11
+ ctaHref: c
14
12
  }) {
15
- return /* @__PURE__ */ r("nav", { id: t, className: i(N, m), children: /* @__PURE__ */ h("div", { className: i(p, b), children: [
16
- /* @__PURE__ */ r("a", { href: "/", className: v, children: s }),
17
- n.length > 0 && /* @__PURE__ */ r("div", { className: d, children: n.map((a, c) => {
13
+ return /* @__PURE__ */ r("nav", { id: s, className: i(N, t), children: /* @__PURE__ */ h("div", { className: i(b, p), children: [
14
+ /* @__PURE__ */ r("a", { href: "/", className: v, children: m }),
15
+ n.length > 0 && /* @__PURE__ */ r("div", { className: d, children: n.map((a, o) => {
18
16
  const l = a.label || a.text || "";
19
17
  return /* @__PURE__ */ r(
20
18
  "a",
@@ -23,13 +21,13 @@ function z({
23
21
  className: f,
24
22
  children: l
25
23
  },
26
- c
24
+ o
27
25
  );
28
26
  }) }),
29
- e && /* @__PURE__ */ r(x, { variant: "primary", size: "sm", href: o, children: e })
27
+ e && /* @__PURE__ */ r(x, { variant: "primary", size: "sm", href: c, children: e })
30
28
  ] }) });
31
29
  }
32
30
  export {
33
- z as Navbar
31
+ g as Navbar
34
32
  };
35
33
  //# sourceMappingURL=Navbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Navbar.js","sources":["../../../src/site/blocks/Navbar.tsx"],"sourcesContent":["/**\n * Navbar - Site navigation component\n *\n * Fixed navigation bar with brand, links, and CTA.\n */\n\nimport { clsx } from 'clsx';\nimport {\n navbar,\n navbarContent,\n navbarBrand,\n navbarLinks,\n navbarLink,\n container,\n} from '../../styles/site';\nimport { Button } from './Button';\nimport type { NavbarProps } from './types';\n\ninterface NavLink {\n label?: string;\n text?: string;\n href: string;\n}\n\nexport function Navbar({\n id,\n className,\n brand,\n links = [],\n ctaText,\n ctaHref,\n}: NavbarProps) {\n return (\n <nav id={id} className={clsx(navbar, className)}>\n <div className={clsx(container, navbarContent)}>\n {/* Brand */}\n <a href=\"/\" className={navbarBrand}>\n {brand}\n </a>\n\n {/* Navigation links */}\n {links.length > 0 && (\n <div className={navbarLinks}>\n {links.map((link: NavLink, index) => {\n const linkText = link.label || link.text || '';\n return (\n <a\n key={index}\n href={link.href}\n className={navbarLink}\n >\n {linkText}\n </a>\n );\n })}\n </div>\n )}\n\n {/* CTA Button */}\n {ctaText && (\n <Button variant=\"primary\" size=\"sm\" href={ctaHref}>\n {ctaText}\n </Button>\n )}\n </div>\n </nav>\n );\n}\n"],"names":["Navbar","id","className","brand","links","ctaText","ctaHref","jsx","clsx","navbar","jsxs","container","navbarContent","navbarBrand","navbarLinks","link","index","linkText","navbarLink","Button"],"mappings":";;;;;;AAwBO,SAASA,EAAO;AAAA,EACrB,IAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC,IAAQ,CAAA;AAAA,EACR,SAAAC;AAAA,EACA,SAAAC;AACF,GAAgB;AACd,SACE,gBAAAC,EAAC,OAAA,EAAI,IAAAN,GAAQ,WAAWO,EAAKC,GAAQP,CAAS,GAC5C,UAAA,gBAAAQ,EAAC,OAAA,EAAI,WAAWF,EAAKG,GAAWC,CAAa,GAE3C,UAAA;AAAA,IAAA,gBAAAL,EAAC,KAAA,EAAE,MAAK,KAAI,WAAWM,GACpB,UAAAV,GACH;AAAA,IAGCC,EAAM,SAAS,KACd,gBAAAG,EAAC,OAAA,EAAI,WAAWO,GACb,UAAAV,EAAM,IAAI,CAACW,GAAeC,MAAU;AACnC,YAAMC,IAAWF,EAAK,SAASA,EAAK,QAAQ;AAC5C,aACE,gBAAAR;AAAA,QAAC;AAAA,QAAA;AAAA,UAEC,MAAMQ,EAAK;AAAA,UACX,WAAWG;AAAA,UAEV,UAAAD;AAAA,QAAA;AAAA,QAJID;AAAA,MAAA;AAAA,IAOX,CAAC,EAAA,CACH;AAAA,IAIDX,uBACEc,GAAA,EAAO,SAAQ,WAAU,MAAK,MAAK,MAAMb,GACvC,UAAAD,EAAA,CACH;AAAA,EAAA,EAAA,CAEJ,EAAA,CACF;AAEJ;"}
1
+ {"version":3,"file":"Navbar.js","sources":["../../../src/site/blocks/Navbar.tsx"],"sourcesContent":["/**\n * Navbar - Site navigation component\n *\n * Fixed navigation bar with brand, links, and CTA.\n */\n\nimport { clsx } from 'clsx';\nimport {\n navbar,\n navbarContent,\n navbarBrand,\n navbarLinks,\n navbarLink,\n container,\n} from '../../styles/site';\nimport { Button } from './Button';\nimport type { NavbarProps } from './types';\n\ninterface NavLink {\n label?: string;\n text?: string;\n href: string;\n}\n\nexport function Navbar({\n id,\n className,\n brand,\n links = [],\n ctaText,\n ctaHref,\n}: NavbarProps) {\n return (\n <nav id={id} className={clsx(navbar, className)}>\n <div className={clsx(container, navbarContent)}>\n {/* Brand */}\n <a href=\"/\" className={navbarBrand}>\n {brand}\n </a>\n\n {/* Navigation links */}\n {links.length > 0 && (\n <div className={navbarLinks}>\n {links.map((link: NavLink, index) => {\n const linkText = link.label || link.text || '';\n return (\n <a\n key={index}\n href={link.href}\n className={navbarLink}\n >\n {linkText}\n </a>\n );\n })}\n </div>\n )}\n\n {/* CTA Button */}\n {ctaText && (\n <Button variant=\"primary\" size=\"sm\" href={ctaHref}>\n {ctaText}\n </Button>\n )}\n </div>\n </nav>\n );\n}\n"],"names":["Navbar","id","className","brand","links","ctaText","ctaHref","jsx","clsx","navbar","jsxs","container","navbarContent","navbarBrand","navbarLinks","link","index","linkText","navbarLink","Button"],"mappings":";;;;AAwBO,SAASA,EAAO;AAAA,EACrB,IAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC,IAAQ,CAAA;AAAA,EACR,SAAAC;AAAA,EACA,SAAAC;AACF,GAAgB;AACd,SACE,gBAAAC,EAAC,OAAA,EAAI,IAAAN,GAAQ,WAAWO,EAAKC,GAAQP,CAAS,GAC5C,UAAA,gBAAAQ,EAAC,OAAA,EAAI,WAAWF,EAAKG,GAAWC,CAAa,GAE3C,UAAA;AAAA,IAAA,gBAAAL,EAAC,KAAA,EAAE,MAAK,KAAI,WAAWM,GACpB,UAAAV,GACH;AAAA,IAGCC,EAAM,SAAS,KACd,gBAAAG,EAAC,OAAA,EAAI,WAAWO,GACb,UAAAV,EAAM,IAAI,CAACW,GAAeC,MAAU;AACnC,YAAMC,IAAWF,EAAK,SAASA,EAAK,QAAQ;AAC5C,aACE,gBAAAR;AAAA,QAAC;AAAA,QAAA;AAAA,UAEC,MAAMQ,EAAK;AAAA,UACX,WAAWG;AAAA,UAEV,UAAAD;AAAA,QAAA;AAAA,QAJID;AAAA,MAAA;AAAA,IAOX,CAAC,EAAA,CACH;AAAA,IAIDX,uBACEc,GAAA,EAAO,SAAQ,WAAU,MAAK,MAAK,MAAMb,GACvC,UAAAD,EAAA,CACH;AAAA,EAAA,EAAA,CAEJ,EAAA,CACF;AAEJ;"}
@@ -1,27 +1,25 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { clsx as o } from "../../node_modules/clsx/dist/clsx.js";
3
- /* empty css */
4
- /* empty css */
5
- import { containerWidth as s, container as a, sectionPadding as d, section as l } from "../../styles/site/sections.css.js";
6
- function N({
2
+ import { clsx as o } from "clsx";
3
+ import { container as m, containerWidth as a, section as d, sectionPadding as l } from "../../styles/site/sections.css.js";
4
+ function h({
7
5
  id: n,
8
- className: r,
9
- children: e,
6
+ className: e,
7
+ children: r,
10
8
  padding: c = "md",
11
- containerWidth: m = "xl",
9
+ containerWidth: s = "xl",
12
10
  background: i
13
11
  }) {
14
12
  return /* @__PURE__ */ t(
15
13
  "section",
16
14
  {
17
15
  id: n,
18
- className: o(l, d[c], r),
16
+ className: o(d, l[c], e),
19
17
  style: i ? { background: i } : void 0,
20
- children: /* @__PURE__ */ t("div", { className: o(a, s[m]), children: e })
18
+ children: /* @__PURE__ */ t("div", { className: o(m, a[s]), children: r })
21
19
  }
22
20
  );
23
21
  }
24
22
  export {
25
- N as Section
23
+ h as Section
26
24
  };
27
25
  //# sourceMappingURL=Section.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Section.js","sources":["../../../src/site/blocks/Section.tsx"],"sourcesContent":["/**\n * Section - Base container for site sections\n *\n * Provides consistent padding and container widths.\n */\n\nimport { clsx } from 'clsx';\nimport {\n section,\n sectionPadding,\n container,\n containerWidth,\n} from '../../styles/site';\nimport type { SectionProps } from './types';\n\nexport function Section({\n id,\n className,\n children,\n padding = 'md',\n containerWidth: width = 'xl',\n background,\n}: SectionProps) {\n return (\n <section\n id={id}\n className={clsx(section, sectionPadding[padding], className)}\n style={background ? { background } : undefined}\n >\n <div className={clsx(container, containerWidth[width])}>\n {children}\n </div>\n </section>\n );\n}\n"],"names":["Section","id","className","children","padding","width","background","jsx","clsx","section","sectionPadding","container","containerWidth"],"mappings":";;;;;AAeO,SAASA,EAAQ;AAAA,EACtB,IAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,gBAAgBC,IAAQ;AAAA,EACxB,YAAAC;AACF,GAAiB;AACf,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAAN;AAAA,MACA,WAAWO,EAAKC,GAASC,EAAeN,CAAO,GAAGF,CAAS;AAAA,MAC3D,OAAOI,IAAa,EAAE,YAAAA,EAAA,IAAe;AAAA,MAErC,UAAA,gBAAAC,EAAC,SAAI,WAAWC,EAAKG,GAAWC,EAAeP,CAAK,CAAC,GAClD,UAAAF,EAAA,CACH;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"Section.js","sources":["../../../src/site/blocks/Section.tsx"],"sourcesContent":["/**\n * Section - Base container for site sections\n *\n * Provides consistent padding and container widths.\n */\n\nimport { clsx } from 'clsx';\nimport {\n section,\n sectionPadding,\n container,\n containerWidth,\n} from '../../styles/site';\nimport type { SectionProps } from './types';\n\nexport function Section({\n id,\n className,\n children,\n padding = 'md',\n containerWidth: width = 'xl',\n background,\n}: SectionProps) {\n return (\n <section\n id={id}\n className={clsx(section, sectionPadding[padding], className)}\n style={background ? { background } : undefined}\n >\n <div className={clsx(container, containerWidth[width])}>\n {children}\n </div>\n </section>\n );\n}\n"],"names":["Section","id","className","children","padding","width","background","jsx","clsx","section","sectionPadding","container","containerWidth"],"mappings":";;;AAeO,SAASA,EAAQ;AAAA,EACtB,IAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,gBAAgBC,IAAQ;AAAA,EACxB,YAAAC;AACF,GAAiB;AACf,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAAN;AAAA,MACA,WAAWO,EAAKC,GAASC,EAAeN,CAAO,GAAGF,CAAS;AAAA,MAC3D,OAAOI,IAAa,EAAE,YAAAA,EAAA,IAAe;AAAA,MAErC,UAAA,gBAAAC,EAAC,SAAI,WAAWC,EAAKG,GAAWC,EAAeP,CAAK,CAAC,GAClD,UAAAF,EAAA,CACH;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1,19 +1,17 @@
1
- import { jsxs as t, jsx as r } from "react/jsx-runtime";
2
- import { clsx as c } from "../../node_modules/clsx/dist/clsx.js";
3
- /* empty css */
4
- /* empty css */
5
- import { sectionTitle as s, sectionSubtitle as m, sectionHeader as n } from "../../styles/site/sections.css.js";
6
- function h({
1
+ import { jsxs as o, jsx as r } from "react/jsx-runtime";
2
+ import { clsx as s } from "clsx";
3
+ import { sectionTitle as t, sectionSubtitle as n, sectionHeader as m } from "../../styles/site/sections.css.js";
4
+ function p({
7
5
  className: i,
8
- title: o,
6
+ title: c,
9
7
  subtitle: e
10
8
  }) {
11
- return /* @__PURE__ */ t("div", { className: c(n, i), children: [
12
- /* @__PURE__ */ r("h2", { className: s, children: o }),
13
- e && /* @__PURE__ */ r("p", { className: m, children: e })
9
+ return /* @__PURE__ */ o("div", { className: s(m, i), children: [
10
+ /* @__PURE__ */ r("h2", { className: t, children: c }),
11
+ e && /* @__PURE__ */ r("p", { className: n, children: e })
14
12
  ] });
15
13
  }
16
14
  export {
17
- h as SectionHeader
15
+ p as SectionHeader
18
16
  };
19
17
  //# sourceMappingURL=SectionHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SectionHeader.js","sources":["../../../src/site/blocks/SectionHeader.tsx"],"sourcesContent":["/**\n * SectionHeader - Section header with title and subtitle\n *\n * Centered header for sections.\n */\n\nimport { clsx } from 'clsx';\nimport {\n sectionHeader,\n sectionTitle,\n sectionSubtitle,\n} from '../../styles/site';\nimport type { SectionHeaderProps } from './types';\n\nexport function SectionHeader({\n className,\n title,\n subtitle,\n}: SectionHeaderProps) {\n return (\n <div className={clsx(sectionHeader, className)}>\n <h2 className={sectionTitle}>{title}</h2>\n {subtitle && (\n <p className={sectionSubtitle}>{subtitle}</p>\n )}\n </div>\n );\n}\n"],"names":["SectionHeader","className","title","subtitle","clsx","sectionHeader","jsx","sectionTitle","sectionSubtitle"],"mappings":";;;;;AAcO,SAASA,EAAc;AAAA,EAC5B,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AACF,GAAuB;AACrB,2BACG,OAAA,EAAI,WAAWC,EAAKC,GAAeJ,CAAS,GAC3C,UAAA;AAAA,IAAA,gBAAAK,EAAC,MAAA,EAAG,WAAWC,GAAe,UAAAL,GAAM;AAAA,IACnCC,KACC,gBAAAG,EAAC,KAAA,EAAE,WAAWE,GAAkB,UAAAL,EAAA,CAAS;AAAA,EAAA,GAE7C;AAEJ;"}
1
+ {"version":3,"file":"SectionHeader.js","sources":["../../../src/site/blocks/SectionHeader.tsx"],"sourcesContent":["/**\n * SectionHeader - Section header with title and subtitle\n *\n * Centered header for sections.\n */\n\nimport { clsx } from 'clsx';\nimport {\n sectionHeader,\n sectionTitle,\n sectionSubtitle,\n} from '../../styles/site';\nimport type { SectionHeaderProps } from './types';\n\nexport function SectionHeader({\n className,\n title,\n subtitle,\n}: SectionHeaderProps) {\n return (\n <div className={clsx(sectionHeader, className)}>\n <h2 className={sectionTitle}>{title}</h2>\n {subtitle && (\n <p className={sectionSubtitle}>{subtitle}</p>\n )}\n </div>\n );\n}\n"],"names":["SectionHeader","className","title","subtitle","clsx","sectionHeader","jsx","sectionTitle","sectionSubtitle"],"mappings":";;;AAcO,SAASA,EAAc;AAAA,EAC5B,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AACF,GAAuB;AACrB,2BACG,OAAA,EAAI,WAAWC,EAAKC,GAAeJ,CAAS,GAC3C,UAAA;AAAA,IAAA,gBAAAK,EAAC,MAAA,EAAG,WAAWC,GAAe,UAAAL,GAAM;AAAA,IACnCC,KACC,gBAAAG,EAAC,KAAA,EAAE,WAAWE,GAAkB,UAAAL,EAAA,CAAS;AAAA,EAAA,GAE7C;AAEJ;"}
@@ -1,32 +1,29 @@
1
1
  import { jsx as m } from "react/jsx-runtime";
2
- import { clsx as s } from "../../node_modules/clsx/dist/clsx.js";
3
- /* empty css */
2
+ import { clsx as s } from "clsx";
4
3
  import { siteRoot as a } from "../../styles/site/base.css.js";
5
- /* empty css */
6
- import "../../engine/theme/defaultTheme.js";
7
- import { generateCSSVariablesObject as n, mergeThemeTokens as p } from "../../engine/theme/generateCSSVariables.js";
8
- function j({
4
+ import { generateCSSVariablesObject as n, mergeThemeTokens as c } from "../../engine/theme/generateCSSVariables.js";
5
+ function x({
9
6
  children: r,
10
- className: t,
7
+ className: e,
11
8
  theme: o,
12
- style: e
9
+ style: t
13
10
  }) {
14
11
  const i = o ? n(
15
- "name" in o ? o : p(o)
12
+ "name" in o ? o : c(o)
16
13
  ) : {};
17
14
  return /* @__PURE__ */ m(
18
15
  "div",
19
16
  {
20
- className: s(a, t),
17
+ className: s(a, e),
21
18
  style: {
22
19
  ...i,
23
- ...e
20
+ ...t
24
21
  },
25
22
  children: r
26
23
  }
27
24
  );
28
25
  }
29
26
  export {
30
- j as SiteRoot
27
+ x as SiteRoot
31
28
  };
32
29
  //# sourceMappingURL=SiteRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SiteRoot.js","sources":["../../../src/site/blocks/SiteRoot.tsx"],"sourcesContent":["/**\n * SiteRoot - Root container for sites\n *\n * Applies base styles and theme variables.\n */\n\nimport { clsx } from 'clsx';\nimport type { ReactNode, CSSProperties } from 'react';\nimport { siteRoot } from '../../styles/site';\nimport type { SiteThemeTokens, PartialSiteThemeTokens } from '../../engine/theme';\nimport { generateSiteCSSVariablesObject, mergeSiteThemeTokens } from '../../engine/theme';\n\nexport interface SiteRootProps {\n children: ReactNode;\n className?: string;\n theme?: SiteThemeTokens | PartialSiteThemeTokens;\n style?: CSSProperties;\n}\n\nexport function SiteRoot({\n children,\n className,\n theme,\n style,\n}: SiteRootProps) {\n // Generate CSS variables from theme if provided\n const themeVariables = theme\n ? generateSiteCSSVariablesObject(\n 'name' in theme ? theme : mergeSiteThemeTokens(theme)\n )\n : {};\n\n return (\n <div\n className={clsx(siteRoot, className)}\n style={{\n ...themeVariables,\n ...style,\n } as CSSProperties}\n >\n {children}\n </div>\n );\n}\n"],"names":["SiteRoot","children","className","theme","style","themeVariables","generateSiteCSSVariablesObject","mergeSiteThemeTokens","jsx","clsx","siteRoot"],"mappings":";;;;;;;AAmBO,SAASA,EAAS;AAAA,EACvB,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AACF,GAAkB;AAEhB,QAAMC,IAAiBF,IACnBG;AAAAA,IACE,UAAUH,IAAQA,IAAQI,EAAqBJ,CAAK;AAAA,EAAA,IAEtD,CAAA;AAEJ,SACE,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAKC,GAAUR,CAAS;AAAA,MACnC,OAAO;AAAA,QACL,GAAGG;AAAA,QACH,GAAGD;AAAA,MAAA;AAAA,MAGJ,UAAAH;AAAA,IAAA;AAAA,EAAA;AAGP;"}
1
+ {"version":3,"file":"SiteRoot.js","sources":["../../../src/site/blocks/SiteRoot.tsx"],"sourcesContent":["/**\n * SiteRoot - Root container for sites\n *\n * Applies base styles and theme variables.\n */\n\nimport { clsx } from 'clsx';\nimport type { ReactNode, CSSProperties } from 'react';\nimport { siteRoot } from '../../styles/site';\nimport type { SiteThemeTokens, PartialSiteThemeTokens } from '../../engine/theme';\nimport { generateSiteCSSVariablesObject, mergeSiteThemeTokens } from '../../engine/theme';\n\nexport interface SiteRootProps {\n children: ReactNode;\n className?: string;\n theme?: SiteThemeTokens | PartialSiteThemeTokens;\n style?: CSSProperties;\n}\n\nexport function SiteRoot({\n children,\n className,\n theme,\n style,\n}: SiteRootProps) {\n // Generate CSS variables from theme if provided\n const themeVariables = theme\n ? generateSiteCSSVariablesObject(\n 'name' in theme ? theme : mergeSiteThemeTokens(theme)\n )\n : {};\n\n return (\n <div\n className={clsx(siteRoot, className)}\n style={{\n ...themeVariables,\n ...style,\n } as CSSProperties}\n >\n {children}\n </div>\n );\n}\n"],"names":["SiteRoot","children","className","theme","style","themeVariables","generateSiteCSSVariablesObject","mergeSiteThemeTokens","jsx","clsx","siteRoot"],"mappings":";;;;AAmBO,SAASA,EAAS;AAAA,EACvB,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AACF,GAAkB;AAEhB,QAAMC,IAAiBF,IACnBG;AAAAA,IACE,UAAUH,IAAQA,IAAQI,EAAqBJ,CAAK;AAAA,EAAA,IAEtD,CAAA;AAEJ,SACE,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAKC,GAAUR,CAAS;AAAA,MACnC,OAAO;AAAA,QACL,GAAGG;AAAA,QACH,GAAGD;AAAA,MAAA;AAAA,MAGJ,UAAAH;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -1,76 +1,76 @@
1
- import { SiteRoot as r } from "./blocks/SiteRoot.js";
2
- import { Section as a } from "./blocks/Section.js";
3
- import { SectionHeader as i } from "./blocks/SectionHeader.js";
4
- import { Navbar as c } from "./blocks/Navbar.js";
5
- import { Footer as m } from "./blocks/Footer.js";
6
- import { Hero as l } from "./blocks/Hero.js";
7
- import { Features as d } from "./blocks/Features.js";
8
- import { Button as h } from "./blocks/Button.js";
9
- import { Card as T } from "./blocks/Card.js";
10
- import { BlockListRenderer as C, BlockRenderer as g, getBlockComponent as k, registerBlockComponent as v } from "./BlockRenderer.js";
11
- import { siteVars as V } from "../styles/site/tokens.css.js";
12
- import { siteRoot as H } from "../styles/site/base.css.js";
13
- import { button as R, buttonSize as y, buttonVariant as j, card as F, cardContent as I, cardDescription as O, cardHoverable as z, cardImage as A, cardTitle as G, container as N, containerWidth as P, featureCard as W, featureDescription as q, featureIcon as w, featureTitle as E, featuresGrid as J, footer as K, footerContent as M, footerCopyright as Q, footerLink as U, footerSection as X, footerTitle as Y, heroActions as Z, heroContent as _, heroSection as $, heroSubtitle as ee, heroTitle as te, navbar as re, navbarBrand as oe, navbarContent as ae, navbarLink as ne, navbarLinks as ie, section as se, sectionHeader as ce, sectionPadding as fe, sectionSubtitle as me, sectionTitle as Se } from "../styles/site/sections.css.js";
14
- import { darkTheme as pe, defaultTheme as de } from "../engine/theme/defaultTheme.js";
15
- import { createThemeStyle as he, generateCSSVariables as xe, generateCSSVariablesObject as Te, mergeThemeTokens as ue } from "../engine/theme/generateCSSVariables.js";
1
+ import { BlockListRenderer as r, BlockRenderer as o, getBlockComponent as a, registerBlockComponent as n } from "./BlockRenderer.js";
2
+ import { siteVars as s } from "../styles/site/tokens.css.js";
3
+ import { siteRoot as f } from "../styles/site/base.css.js";
4
+ import { button as S, buttonSize as l, buttonVariant as p, card as d, cardContent as b, cardDescription as h, cardHoverable as x, cardImage as T, cardTitle as u, container as C, containerWidth as g, featureCard as k, featureDescription as v, featureIcon as B, featureTitle as V, featuresGrid as D, footer as H, footerContent as L, footerCopyright as R, footerLink as y, footerSection as j, footerTitle as F, heroActions as I, heroContent as O, heroSection as z, heroSubtitle as A, heroTitle as G, navbar as N, navbarBrand as P, navbarContent as W, navbarLink as q, navbarLinks as w, section as E, sectionHeader as J, sectionPadding as K, sectionSubtitle as M, sectionTitle as Q } from "../styles/site/sections.css.js";
5
+ import { Button as X } from "./blocks/Button.js";
6
+ import { Card as Z } from "./blocks/Card.js";
7
+ import { Features as $ } from "./blocks/Features.js";
8
+ import { Footer as te } from "./blocks/Footer.js";
9
+ import { Hero as oe } from "./blocks/Hero.js";
10
+ import { Navbar as ne } from "./blocks/Navbar.js";
11
+ import { Section as se } from "./blocks/Section.js";
12
+ import { SectionHeader as fe } from "./blocks/SectionHeader.js";
13
+ import { SiteRoot as Se } from "./blocks/SiteRoot.js";
14
+ import { createThemeStyle as pe, generateCSSVariables as de, generateCSSVariablesObject as be, mergeThemeTokens as he } from "../engine/theme/generateCSSVariables.js";
15
+ import { darkTheme as Te, defaultTheme as ue } from "../engine/theme/defaultTheme.js";
16
16
  export {
17
- C as BlockListRenderer,
18
- g as BlockRenderer,
19
- h as Button,
20
- T as Card,
21
- d as Features,
22
- m as Footer,
23
- l as Hero,
24
- c as Navbar,
25
- a as Section,
26
- i as SectionHeader,
27
- r as SiteRoot,
28
- R as button,
29
- y as buttonSize,
30
- j as buttonVariant,
31
- F as card,
32
- I as cardContent,
33
- O as cardDescription,
34
- z as cardHoverable,
35
- A as cardImage,
36
- G as cardTitle,
37
- N as container,
38
- P as containerWidth,
39
- he as createSiteThemeStyle,
40
- W as featureCard,
41
- q as featureDescription,
42
- w as featureIcon,
43
- E as featureTitle,
44
- J as featuresGrid,
45
- K as footer,
46
- M as footerContent,
47
- Q as footerCopyright,
48
- U as footerLink,
49
- X as footerSection,
50
- Y as footerTitle,
51
- xe as generateSiteCSSVariables,
52
- Te as generateSiteCSSVariablesObject,
53
- k as getBlockComponent,
54
- Z as heroActions,
55
- _ as heroContent,
56
- $ as heroSection,
57
- ee as heroSubtitle,
58
- te as heroTitle,
59
- ue as mergeSiteThemeTokens,
60
- re as navbar,
61
- oe as navbarBrand,
62
- ae as navbarContent,
63
- ne as navbarLink,
64
- ie as navbarLinks,
65
- v as registerBlockComponent,
66
- se as section,
67
- ce as sectionHeader,
68
- fe as sectionPadding,
69
- me as sectionSubtitle,
70
- Se as sectionTitle,
71
- pe as siteDarkTheme,
72
- de as siteDefaultTheme,
73
- H as siteRoot,
74
- V as siteVars
17
+ r as BlockListRenderer,
18
+ o as BlockRenderer,
19
+ X as Button,
20
+ Z as Card,
21
+ $ as Features,
22
+ te as Footer,
23
+ oe as Hero,
24
+ ne as Navbar,
25
+ se as Section,
26
+ fe as SectionHeader,
27
+ Se as SiteRoot,
28
+ S as button,
29
+ l as buttonSize,
30
+ p as buttonVariant,
31
+ d as card,
32
+ b as cardContent,
33
+ h as cardDescription,
34
+ x as cardHoverable,
35
+ T as cardImage,
36
+ u as cardTitle,
37
+ C as container,
38
+ g as containerWidth,
39
+ pe as createSiteThemeStyle,
40
+ k as featureCard,
41
+ v as featureDescription,
42
+ B as featureIcon,
43
+ V as featureTitle,
44
+ D as featuresGrid,
45
+ H as footer,
46
+ L as footerContent,
47
+ R as footerCopyright,
48
+ y as footerLink,
49
+ j as footerSection,
50
+ F as footerTitle,
51
+ de as generateSiteCSSVariables,
52
+ be as generateSiteCSSVariablesObject,
53
+ a as getBlockComponent,
54
+ I as heroActions,
55
+ O as heroContent,
56
+ z as heroSection,
57
+ A as heroSubtitle,
58
+ G as heroTitle,
59
+ he as mergeSiteThemeTokens,
60
+ N as navbar,
61
+ P as navbarBrand,
62
+ W as navbarContent,
63
+ q as navbarLink,
64
+ w as navbarLinks,
65
+ n as registerBlockComponent,
66
+ E as section,
67
+ J as sectionHeader,
68
+ K as sectionPadding,
69
+ M as sectionSubtitle,
70
+ Q as sectionTitle,
71
+ Te as siteDarkTheme,
72
+ ue as siteDefaultTheme,
73
+ f as siteRoot,
74
+ s as siteVars
75
75
  };
76
76
  //# sourceMappingURL=index.js.map
@@ -5,7 +5,7 @@
5
5
  * e estrutura interna flexível.
6
6
  */
7
7
  export declare const section: string;
8
- export declare const sectionPadding: Record<"none" | "sm" | "md" | "lg", string>;
8
+ export declare const sectionPadding: Record<"sm" | "md" | "lg" | "none", string>;
9
9
  export declare const container: string;
10
10
  export declare const containerWidth: Record<"sm" | "md" | "lg" | "xl" | "full", string>;
11
11
  export declare const heroSection: string;
@@ -1,4 +1,4 @@
1
- import { Block, SiteDocumentV2 } from '../engine';
1
+ import { Block, SiteDocument } from '../engine';
2
2
  /**
3
3
  * Encontra um bloco na estrutura recursivamente
4
4
  */
@@ -6,7 +6,7 @@ export declare function findBlockInStructure(blocks: Block[], blockId: string):
6
6
  /**
7
7
  * Limpa a estrutura de blocos inválidos
8
8
  */
9
- export declare function cleanDocumentStructure(doc: SiteDocumentV2): SiteDocumentV2;
9
+ export declare function cleanDocumentStructure(doc: SiteDocument): SiteDocument;
10
10
  /**
11
11
  * Conta total de blocos na estrutura (incluindo filhos)
12
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"blockUtils.d.ts","sourceRoot":"","sources":["../../src/utils/blockUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAEjD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAkCnF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,cAAc,GAAG,cAAc,CA+B1E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAenD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAgB5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CA8BpD"}
1
+ {"version":3,"file":"blockUtils.d.ts","sourceRoot":"","sources":["../../src/utils/blockUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAE/C;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAkCnF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,YAAY,GAAG,YAAY,CA+BtE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAenD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAgB5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CA8BpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"blockUtils.js","sources":["../../src/utils/blockUtils.ts"],"sourcesContent":["/**\n * Block Utilities\n * Funções utilitárias para manipulação de blocos\n */\n\nimport { Block, SiteDocumentV2 } from '../engine'\n\n/**\n * Encontra um bloco na estrutura recursivamente\n */\nexport function findBlockInStructure(blocks: Block[], blockId: string): Block | null {\n if (!blocks || !Array.isArray(blocks)) return null\n\n for (const block of blocks) {\n if (!block || typeof block !== 'object' || !block.id) continue\n\n if (block.id === blockId) return block\n\n const props = block.props as any\n \n // Verificar children\n if (props?.children && Array.isArray(props.children)) {\n const found = findBlockInStructure(props.children, blockId)\n if (found) return found\n }\n \n // Verificar slots do Card\n if (block.type === 'card') {\n if (props?.header && Array.isArray(props.header)) {\n const found = findBlockInStructure(props.header, blockId)\n if (found) return found\n }\n if (props?.content && Array.isArray(props.content)) {\n const found = findBlockInStructure(props.content, blockId)\n if (found) return found\n }\n if (props?.footer && Array.isArray(props.footer)) {\n const found = findBlockInStructure(props.footer, blockId)\n if (found) return found\n }\n }\n }\n \n return null\n}\n\n/**\n * Limpa a estrutura de blocos inválidos\n */\nexport function cleanDocumentStructure(doc: SiteDocumentV2): SiteDocumentV2 {\n const cleanBlocks = (blocks: Block[]): Block[] => {\n if (!blocks || !Array.isArray(blocks)) return []\n\n return blocks\n .filter((block) => block && typeof block === 'object' && block.id && block.type)\n .map((block) => {\n const props = block.props as any\n if (props && typeof props === 'object' && !Array.isArray(props)) {\n const children = props.children\n if (children && Array.isArray(children)) {\n return {\n ...block,\n props: {\n ...props,\n children: cleanBlocks(children),\n },\n }\n }\n }\n return block\n })\n }\n\n return {\n ...doc,\n pages: doc.pages.map((page) => ({\n ...page,\n structure: cleanBlocks(page.structure || []),\n })),\n }\n}\n\n/**\n * Conta total de blocos na estrutura (incluindo filhos)\n */\nexport function countBlocks(blocks: Block[]): number {\n if (!blocks || !Array.isArray(blocks)) return 0\n\n let total = 0\n for (const block of blocks) {\n if (!block || typeof block !== 'object' || !block.id || !block.type) continue\n\n total++\n\n const props = block.props as any\n if (props?.children && Array.isArray(props.children)) {\n total += countBlocks(props.children)\n }\n }\n return total\n}\n\n/**\n * Obtém nome amigável do tipo de bloco\n */\nexport function getBlockTypeName(type: Block['type']): string {\n const names: Record<string, string> = {\n container: 'Container',\n stack: 'Stack',\n grid: 'Grid',\n box: 'Box',\n heading: 'Título',\n text: 'Texto',\n image: 'Imagem',\n button: 'Botão',\n link: 'Link',\n divider: 'Divisor',\n card: 'Card',\n section: 'Seção',\n }\n return names[type] || type\n}\n\n/**\n * Obtém preview do conteúdo de um bloco\n */\nexport function getBlockPreview(block: Block): string {\n const props = block.props as any\n\n switch (block.type) {\n case 'heading':\n return props.text || 'Título'\n case 'text':\n return props.text?.substring(0, 30) + (props.text?.length > 30 ? '...' : '') || 'Texto'\n case 'button':\n return props.text || 'Botão'\n case 'link':\n return props.text || 'Link'\n case 'image':\n return 'Imagem'\n case 'container':\n case 'stack':\n case 'grid':\n case 'box':\n return `${getBlockTypeName(block.type)} (${props.children?.length || 0})`\n case 'section':\n return props.id ? `Seção: ${props.id}` : 'Seção'\n case 'card':\n return 'Card'\n case 'divider':\n return 'Divisor'\n default: {\n const blockType = (block as Block).type\n return getBlockTypeName(blockType)\n }\n }\n}\n"],"names":["findBlockInStructure","blocks","blockId","block","props","found","cleanDocumentStructure","doc","cleanBlocks","children","page"],"mappings":"AAUO,SAASA,EAAqBC,GAAiBC,GAA+B;AACnF,MAAI,CAACD,KAAU,CAAC,MAAM,QAAQA,CAAM,EAAG,QAAO;AAE9C,aAAWE,KAASF,GAAQ;AAC1B,QAAI,CAACE,KAAS,OAAOA,KAAU,YAAY,CAACA,EAAM,GAAI;AAEtD,QAAIA,EAAM,OAAOD,EAAS,QAAOC;AAEjC,UAAMC,IAAQD,EAAM;AAGpB,QAAIC,GAAO,YAAY,MAAM,QAAQA,EAAM,QAAQ,GAAG;AACpD,YAAMC,IAAQL,EAAqBI,EAAM,UAAUF,CAAO;AAC1D,UAAIG,EAAO,QAAOA;AAAA,IACpB;AAGA,QAAIF,EAAM,SAAS,QAAQ;AACzB,UAAIC,GAAO,UAAU,MAAM,QAAQA,EAAM,MAAM,GAAG;AAChD,cAAMC,IAAQL,EAAqBI,EAAM,QAAQF,CAAO;AACxD,YAAIG,EAAO,QAAOA;AAAA,MACpB;AACA,UAAID,GAAO,WAAW,MAAM,QAAQA,EAAM,OAAO,GAAG;AAClD,cAAMC,IAAQL,EAAqBI,EAAM,SAASF,CAAO;AACzD,YAAIG,EAAO,QAAOA;AAAA,MACpB;AACA,UAAID,GAAO,UAAU,MAAM,QAAQA,EAAM,MAAM,GAAG;AAChD,cAAMC,IAAQL,EAAqBI,EAAM,QAAQF,CAAO;AACxD,YAAIG,EAAO,QAAOA;AAAA,MACpB;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAKO,SAASC,EAAuBC,GAAqC;AAC1E,QAAMC,IAAc,CAACP,MACf,CAACA,KAAU,CAAC,MAAM,QAAQA,CAAM,IAAU,CAAA,IAEvCA,EACJ,OAAO,CAACE,MAAUA,KAAS,OAAOA,KAAU,YAAYA,EAAM,MAAMA,EAAM,IAAI,EAC9E,IAAI,CAACA,MAAU;AACd,UAAMC,IAAQD,EAAM;AACpB,QAAIC,KAAS,OAAOA,KAAU,YAAY,CAAC,MAAM,QAAQA,CAAK,GAAG;AAC/D,YAAMK,IAAWL,EAAM;AACvB,UAAIK,KAAY,MAAM,QAAQA,CAAQ;AACpC,eAAO;AAAA,UACL,GAAGN;AAAA,UACH,OAAO;AAAA,YACL,GAAGC;AAAA,YACH,UAAUI,EAAYC,CAAQ;AAAA,UAAA;AAAA,QAChC;AAAA,IAGN;AACA,WAAON;AAAA,EACT,CAAC;AAGL,SAAO;AAAA,IACL,GAAGI;AAAA,IACH,OAAOA,EAAI,MAAM,IAAI,CAACG,OAAU;AAAA,MAC9B,GAAGA;AAAA,MACH,WAAWF,EAAYE,EAAK,aAAa,CAAA,CAAE;AAAA,IAAA,EAC3C;AAAA,EAAA;AAEN;"}
1
+ {"version":3,"file":"blockUtils.js","sources":["../../src/utils/blockUtils.ts"],"sourcesContent":["/**\n * Block Utilities\n * Funções utilitárias para manipulação de blocos\n */\n\nimport { Block, SiteDocument } from '../engine'\n\n/**\n * Encontra um bloco na estrutura recursivamente\n */\nexport function findBlockInStructure(blocks: Block[], blockId: string): Block | null {\n if (!blocks || !Array.isArray(blocks)) return null\n\n for (const block of blocks) {\n if (!block || typeof block !== 'object' || !block.id) continue\n\n if (block.id === blockId) return block\n\n const props = block.props as Record<string, any>\n \n // Verificar children\n if (props?.children && Array.isArray(props.children)) {\n const found = findBlockInStructure(props.children, blockId)\n if (found) return found\n }\n \n // Verificar slots do Card\n if (block.type === 'card') {\n if (props?.header && Array.isArray(props.header)) {\n const found = findBlockInStructure(props.header, blockId)\n if (found) return found\n }\n if (props?.content && Array.isArray(props.content)) {\n const found = findBlockInStructure(props.content, blockId)\n if (found) return found\n }\n if (props?.footer && Array.isArray(props.footer)) {\n const found = findBlockInStructure(props.footer, blockId)\n if (found) return found\n }\n }\n }\n \n return null\n}\n\n/**\n * Limpa a estrutura de blocos inválidos\n */\nexport function cleanDocumentStructure(doc: SiteDocument): SiteDocument {\n const cleanBlocks = (blocks: Block[]): Block[] => {\n if (!blocks || !Array.isArray(blocks)) return []\n\n return blocks\n .filter((block) => block && typeof block === 'object' && block.id && block.type)\n .map((block) => {\n const props = block.props as Record<string, any>\n if (props && typeof props === 'object' && !Array.isArray(props)) {\n const children = props.children\n if (children && Array.isArray(children)) {\n return {\n ...block,\n props: {\n ...props,\n children: cleanBlocks(children),\n },\n }\n }\n }\n return block\n })\n }\n\n return {\n ...doc,\n pages: doc.pages.map((page) => ({\n ...page,\n structure: cleanBlocks(page.structure || []),\n })),\n }\n}\n\n/**\n * Conta total de blocos na estrutura (incluindo filhos)\n */\nexport function countBlocks(blocks: Block[]): number {\n if (!blocks || !Array.isArray(blocks)) return 0\n\n let total = 0\n for (const block of blocks) {\n if (!block || typeof block !== 'object' || !block.id || !block.type) continue\n\n total++\n\n const props = block.props as Record<string, any>\n if (props?.children && Array.isArray(props.children)) {\n total += countBlocks(props.children)\n }\n }\n return total\n}\n\n/**\n * Obtém nome amigável do tipo de bloco\n */\nexport function getBlockTypeName(type: Block['type']): string {\n const names: Record<string, string> = {\n container: 'Container',\n stack: 'Stack',\n grid: 'Grid',\n box: 'Box',\n heading: 'Título',\n text: 'Texto',\n image: 'Imagem',\n button: 'Botão',\n link: 'Link',\n divider: 'Divisor',\n card: 'Card',\n section: 'Seção',\n }\n return names[type] || type\n}\n\n/**\n * Obtém preview do conteúdo de um bloco\n */\nexport function getBlockPreview(block: Block): string {\n const props = block.props as Record<string, any>\n\n switch (block.type) {\n case 'heading':\n return props.text || 'Título'\n case 'text':\n return props.text?.substring(0, 30) + (props.text?.length > 30 ? '...' : '') || 'Texto'\n case 'button':\n return props.text || 'Botão'\n case 'link':\n return props.text || 'Link'\n case 'image':\n return 'Imagem'\n case 'container':\n case 'stack':\n case 'grid':\n case 'box':\n return `${getBlockTypeName(block.type)} (${props.children?.length || 0})`\n case 'section':\n return props.id ? `Seção: ${props.id}` : 'Seção'\n case 'card':\n return 'Card'\n case 'divider':\n return 'Divisor'\n default: {\n const blockType = (block as Block).type\n return getBlockTypeName(blockType)\n }\n }\n}\n"],"names":["findBlockInStructure","blocks","blockId","block","props","found","cleanDocumentStructure","doc","cleanBlocks","children","page"],"mappings":"AAUO,SAASA,EAAqBC,GAAiBC,GAA+B;AACnF,MAAI,CAACD,KAAU,CAAC,MAAM,QAAQA,CAAM,EAAG,QAAO;AAE9C,aAAWE,KAASF,GAAQ;AAC1B,QAAI,CAACE,KAAS,OAAOA,KAAU,YAAY,CAACA,EAAM,GAAI;AAEtD,QAAIA,EAAM,OAAOD,EAAS,QAAOC;AAEjC,UAAMC,IAAQD,EAAM;AAGpB,QAAIC,GAAO,YAAY,MAAM,QAAQA,EAAM,QAAQ,GAAG;AACpD,YAAMC,IAAQL,EAAqBI,EAAM,UAAUF,CAAO;AAC1D,UAAIG,EAAO,QAAOA;AAAA,IACpB;AAGA,QAAIF,EAAM,SAAS,QAAQ;AACzB,UAAIC,GAAO,UAAU,MAAM,QAAQA,EAAM,MAAM,GAAG;AAChD,cAAMC,IAAQL,EAAqBI,EAAM,QAAQF,CAAO;AACxD,YAAIG,EAAO,QAAOA;AAAA,MACpB;AACA,UAAID,GAAO,WAAW,MAAM,QAAQA,EAAM,OAAO,GAAG;AAClD,cAAMC,IAAQL,EAAqBI,EAAM,SAASF,CAAO;AACzD,YAAIG,EAAO,QAAOA;AAAA,MACpB;AACA,UAAID,GAAO,UAAU,MAAM,QAAQA,EAAM,MAAM,GAAG;AAChD,cAAMC,IAAQL,EAAqBI,EAAM,QAAQF,CAAO;AACxD,YAAIG,EAAO,QAAOA;AAAA,MACpB;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAKO,SAASC,EAAuBC,GAAiC;AACtE,QAAMC,IAAc,CAACP,MACf,CAACA,KAAU,CAAC,MAAM,QAAQA,CAAM,IAAU,CAAA,IAEvCA,EACJ,OAAO,CAACE,MAAUA,KAAS,OAAOA,KAAU,YAAYA,EAAM,MAAMA,EAAM,IAAI,EAC9E,IAAI,CAACA,MAAU;AACd,UAAMC,IAAQD,EAAM;AACpB,QAAIC,KAAS,OAAOA,KAAU,YAAY,CAAC,MAAM,QAAQA,CAAK,GAAG;AAC/D,YAAMK,IAAWL,EAAM;AACvB,UAAIK,KAAY,MAAM,QAAQA,CAAQ;AACpC,eAAO;AAAA,UACL,GAAGN;AAAA,UACH,OAAO;AAAA,YACL,GAAGC;AAAA,YACH,UAAUI,EAAYC,CAAQ;AAAA,UAAA;AAAA,QAChC;AAAA,IAGN;AACA,WAAON;AAAA,EACT,CAAC;AAGL,SAAO;AAAA,IACL,GAAGI;AAAA,IACH,OAAOA,EAAI,MAAM,IAAI,CAACG,OAAU;AAAA,MAC9B,GAAGA;AAAA,MACH,WAAWF,EAAYE,EAAK,aAAa,CAAA,CAAE;AAAA,IAAA,EAC3C;AAAA,EAAA;AAEN;"}
@@ -1,9 +1,10 @@
1
- import { SiteDocumentV2 } from '../engine/schema/siteDocument';
1
+ import { SiteDocument } from '../engine/schema/siteDocument';
2
2
  /**
3
3
  * Detecta quais blocos foram modificados entre dois documentos
4
+ * @param pageId - ID da página atual sendo editada (se omitido, usa "home" ou primeira página)
4
5
  * @returns Array de objetos com blockId e changedProps
5
6
  */
6
- export declare function detectChangedBlocks(oldDoc: SiteDocumentV2, newDoc: SiteDocumentV2): Array<{
7
+ export declare function detectChangedBlocks(oldDoc: SiteDocument, newDoc: SiteDocument, pageId?: string): Array<{
7
8
  blockId: string;
8
9
  changedProps?: string[];
9
10
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"changeDetector.d.ts","sourceRoot":"","sources":["../../src/utils/changeDetector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAS,MAAM,+BAA+B,CAAA;AAqDrE;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,cAAc,GACrB,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA0FrD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAiBlH;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,OAAO,CAE/G;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,MAAM,EAAE,CAE/G;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,OAAO,CAiB9G"}
1
+ {"version":3,"file":"changeDetector.d.ts","sourceRoot":"","sources":["../../src/utils/changeDetector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAS,MAAM,+BAA+B,CAAA;AAqDnE;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA+FrD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAiBlH;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,OAAO,CAE/G;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,MAAM,EAAE,CAE/G;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,OAAO,CAiB9G"}
@@ -1,58 +1,58 @@
1
- function B(p, h) {
2
- if (JSON.stringify(p) === JSON.stringify(h))
1
+ function S(u, g) {
2
+ if (JSON.stringify(u) === JSON.stringify(g))
3
3
  return { different: !1 };
4
- const d = p.props, s = h.props, t = [], u = /* @__PURE__ */ new Set([...Object.keys(d || {}), ...Object.keys(s || {})]);
5
- for (const r of u)
4
+ const l = u.props, d = g.props, n = [], p = /* @__PURE__ */ new Set([...Object.keys(l || {}), ...Object.keys(d || {})]);
5
+ for (const r of p)
6
6
  if (r === "children" || r === "header" || r === "content" || r === "footer") {
7
- const g = d[r] || [], l = s[r] || [];
8
- if (Array.isArray(g) && Array.isArray(l))
9
- if (g.length !== l.length)
10
- t.push(r);
7
+ const s = l[r] || [], i = d[r] || [];
8
+ if (Array.isArray(s) && Array.isArray(i))
9
+ if (s.length !== i.length)
10
+ n.push(r);
11
11
  else {
12
- const o = g.map((i) => i?.id).filter(Boolean).sort(), y = l.map((i) => i?.id).filter(Boolean).sort();
13
- JSON.stringify(o) !== JSON.stringify(y) && t.push(r);
12
+ const O = s.map((o) => o?.id).filter(Boolean).sort(), y = i.map((o) => o?.id).filter(Boolean).sort();
13
+ JSON.stringify(O) !== JSON.stringify(y) && n.push(r);
14
14
  }
15
- else JSON.stringify(g) !== JSON.stringify(l) && t.push(r);
15
+ else JSON.stringify(s) !== JSON.stringify(i) && n.push(r);
16
16
  } else
17
- JSON.stringify(d[r]) !== JSON.stringify(s[r]) && t.push(r);
18
- return { different: t.length > 0, changedProps: t };
17
+ JSON.stringify(l[r]) !== JSON.stringify(d[r]) && n.push(r);
18
+ return { different: n.length > 0, changedProps: n };
19
19
  }
20
- function O(p, h) {
21
- const d = [], s = p.pages.find((o) => o.id === "home") || p.pages[0], t = h.pages.find((o) => o.id === "home") || h.pages[0];
22
- if (!s || !t)
20
+ function J(u, g, l) {
21
+ const d = [], n = (o) => (l ? o.pages.find((h) => h.id === l) : null) || o.pages.find((h) => h.id === "home") || o.pages[0], p = n(u), r = n(g);
22
+ if (!p || !r)
23
23
  return [];
24
- const u = (s.structure || []).map((o) => o?.id).filter(Boolean).sort(), r = (t.structure || []).map((o) => o?.id).filter(Boolean).sort();
25
- if (u.length === 0 && r.length === 0)
24
+ const s = (p.structure || []).map((o) => o?.id).filter(Boolean).sort(), i = (r.structure || []).map((o) => o?.id).filter(Boolean).sort();
25
+ if (s.length === 0 && i.length === 0)
26
26
  return [];
27
- if (JSON.stringify(u) !== JSON.stringify(r))
27
+ if (JSON.stringify(s) !== JSON.stringify(i))
28
28
  return [{ blockId: "__structural__", changedProps: ["children"] }];
29
- const l = ((o, y) => {
30
- const i = [], k = /* @__PURE__ */ new Map(), A = /* @__PURE__ */ new Map(), a = (c, f) => {
31
- for (const n of c) {
32
- if (!n || !n.id) continue;
33
- f.set(n.id, n);
34
- const e = n.props;
35
- e?.children && Array.isArray(e.children) && a(e.children, f), n.type === "card" && (e.header && Array.isArray(e.header) && a(e.header, f), e.content && Array.isArray(e.content) && a(e.content, f), e.footer && Array.isArray(e.footer) && a(e.footer, f));
29
+ const y = ((o, h) => {
30
+ const k = [], A = /* @__PURE__ */ new Map(), B = /* @__PURE__ */ new Map(), a = (c, f) => {
31
+ for (const t of c) {
32
+ if (!t || !t.id) continue;
33
+ f.set(t.id, t);
34
+ const e = t.props;
35
+ e?.children && Array.isArray(e.children) && a(e.children, f), t.type === "card" && (e.header && Array.isArray(e.header) && a(e.header, f), e.content && Array.isArray(e.content) && a(e.content, f), e.footer && Array.isArray(e.footer) && a(e.footer, f));
36
36
  }
37
37
  };
38
- a(o, k), a(y, A);
39
- for (const [c, f] of A) {
40
- const n = k.get(c);
41
- if (!n)
42
- i.push({ blockId: c });
38
+ a(o, A), a(h, B);
39
+ for (const [c, f] of B) {
40
+ const t = A.get(c);
41
+ if (!t)
42
+ k.push({ blockId: c });
43
43
  else {
44
- const e = B(n, f);
45
- e.different && i.push({ blockId: c, changedProps: e.changedProps });
44
+ const e = S(t, f);
45
+ e.different && k.push({ blockId: c, changedProps: e.changedProps });
46
46
  }
47
47
  }
48
- for (const [c] of k)
49
- if (!A.has(c))
48
+ for (const [c] of A)
49
+ if (!B.has(c))
50
50
  return [];
51
- return i;
52
- })(s.structure, t.structure);
53
- return d.push(...l), d;
51
+ return k;
52
+ })(p.structure, r.structure);
53
+ return d.push(...y), d;
54
54
  }
55
55
  export {
56
- O as detectChangedBlocks
56
+ J as detectChangedBlocks
57
57
  };
58
58
  //# sourceMappingURL=changeDetector.js.map