@brunoalz/smartgesti-site-editor 1.0.0 → 1.2.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 (219) hide show
  1. package/dist/editor/BlockSelector.d.ts.map +1 -1
  2. package/dist/editor/BlockSelector.js +60 -57
  3. package/dist/editor/BlockSelector.js.map +1 -1
  4. package/dist/editor/LandingPageEditor.d.ts.map +1 -1
  5. package/dist/editor/LandingPageEditor.js +145 -128
  6. package/dist/editor/LandingPageEditor.js.map +1 -1
  7. package/dist/editor/PageTabBar.d.ts +4 -1
  8. package/dist/editor/PageTabBar.d.ts.map +1 -1
  9. package/dist/editor/PageTabBar.js +179 -41
  10. package/dist/editor/PageTabBar.js.map +1 -1
  11. package/dist/editor/PropertyEditor/BlockPropertyEditor.d.ts +2 -0
  12. package/dist/editor/PropertyEditor/BlockPropertyEditor.d.ts.map +1 -1
  13. package/dist/editor/PropertyEditor/BlockPropertyEditor.js +53 -45
  14. package/dist/editor/PropertyEditor/BlockPropertyEditor.js.map +1 -1
  15. package/dist/editor/PropertyEditor/CollapsiblePropertyGroup.d.ts +2 -0
  16. package/dist/editor/PropertyEditor/CollapsiblePropertyGroup.d.ts.map +1 -1
  17. package/dist/editor/PropertyEditor/CollapsiblePropertyGroup.js +47 -33
  18. package/dist/editor/PropertyEditor/CollapsiblePropertyGroup.js.map +1 -1
  19. package/dist/editor/PropertyEditor/VariationSelector.d.ts.map +1 -1
  20. package/dist/editor/PropertyEditor/VariationSelector.js +10 -6
  21. package/dist/editor/PropertyEditor/VariationSelector.js.map +1 -1
  22. package/dist/editor/PropertyEditor/index.js +20 -18
  23. package/dist/editor/PropertyEditor/index.js.map +1 -1
  24. package/dist/editor/PropertyEditor/inputs/CarouselImagesInput.d.ts +16 -0
  25. package/dist/editor/PropertyEditor/inputs/CarouselImagesInput.d.ts.map +1 -0
  26. package/dist/editor/PropertyEditor/inputs/CarouselImagesInput.js +170 -0
  27. package/dist/editor/PropertyEditor/inputs/CarouselImagesInput.js.map +1 -0
  28. package/dist/editor/PropertyEditor/inputs/ImageGridInput.d.ts.map +1 -1
  29. package/dist/editor/PropertyEditor/inputs/ImageGridInput.js +148 -121
  30. package/dist/editor/PropertyEditor/inputs/ImageGridInput.js.map +1 -1
  31. package/dist/editor/PropertyEditor/inputs/index.d.ts +1 -0
  32. package/dist/editor/PropertyEditor/inputs/index.d.ts.map +1 -1
  33. package/dist/editor/PropertyEditor/renderPropertyInput.d.ts.map +1 -1
  34. package/dist/editor/PropertyEditor/renderPropertyInput.js +167 -139
  35. package/dist/editor/PropertyEditor/renderPropertyInput.js.map +1 -1
  36. package/dist/editor/components/CenterPanel.d.ts +9 -1
  37. package/dist/editor/components/CenterPanel.d.ts.map +1 -1
  38. package/dist/editor/components/CenterPanel.js +24 -14
  39. package/dist/editor/components/CenterPanel.js.map +1 -1
  40. package/dist/editor/components/RightPanel.d.ts +5 -0
  41. package/dist/editor/components/RightPanel.d.ts.map +1 -1
  42. package/dist/editor/components/RightPanel.js +18 -12
  43. package/dist/editor/components/RightPanel.js.map +1 -1
  44. package/dist/editor/components/Toolbar.d.ts +3 -0
  45. package/dist/editor/components/Toolbar.d.ts.map +1 -1
  46. package/dist/editor/components/Toolbar.js +54 -35
  47. package/dist/editor/components/Toolbar.js.map +1 -1
  48. package/dist/engine/export/exportHtml.d.ts.map +1 -1
  49. package/dist/engine/export/exportHtml.js +50 -50
  50. package/dist/engine/export/exportHtml.js.map +1 -1
  51. package/dist/engine/export/exporters/sections/BlogPostExporters.d.ts +6 -0
  52. package/dist/engine/export/exporters/sections/BlogPostExporters.d.ts.map +1 -0
  53. package/dist/engine/export/exporters/sections/BlogPostExporters.js +101 -0
  54. package/dist/engine/export/exporters/sections/BlogPostExporters.js.map +1 -0
  55. package/dist/engine/export/exporters/sections/FooterExporter.js +22 -22
  56. package/dist/engine/export/exporters/sections/FooterExporter.js.map +1 -1
  57. package/dist/engine/export/exporters/sections/HeroExporter.d.ts.map +1 -1
  58. package/dist/engine/export/exporters/sections/HeroExporter.js +222 -205
  59. package/dist/engine/export/exporters/sections/HeroExporter.js.map +1 -1
  60. package/dist/engine/export/exporters/sections/MarketingExporters.js +88 -88
  61. package/dist/engine/export/exporters/sections/MarketingExporters.js.map +1 -1
  62. package/dist/engine/export/exporters/sections/NavbarExporter.js +34 -34
  63. package/dist/engine/export/exporters/sections/NavbarExporter.js.map +1 -1
  64. package/dist/engine/export/exporters/sections/index.d.ts.map +1 -1
  65. package/dist/engine/export/exporters/sections/index.js +29 -22
  66. package/dist/engine/export/exporters/sections/index.js.map +1 -1
  67. package/dist/engine/index.d.ts +3 -0
  68. package/dist/engine/index.d.ts.map +1 -1
  69. package/dist/engine/index.js +99 -87
  70. package/dist/engine/index.js.map +1 -1
  71. package/dist/engine/plugins/builtin/blog/index.d.ts +3 -0
  72. package/dist/engine/plugins/builtin/blog/index.d.ts.map +1 -0
  73. package/dist/engine/plugins/builtin/blog/manifest.d.ts +3 -0
  74. package/dist/engine/plugins/builtin/blog/manifest.d.ts.map +1 -0
  75. package/dist/engine/plugins/builtin/blog/manifest.js +273 -0
  76. package/dist/engine/plugins/builtin/blog/manifest.js.map +1 -0
  77. package/dist/engine/plugins/builtin/blog/mockContentProvider.d.ts +7 -0
  78. package/dist/engine/plugins/builtin/blog/mockContentProvider.d.ts.map +1 -0
  79. package/dist/engine/plugins/builtin/blog/mockContentProvider.js +135 -0
  80. package/dist/engine/plugins/builtin/blog/mockContentProvider.js.map +1 -0
  81. package/dist/engine/plugins/contentHydration.d.ts +17 -0
  82. package/dist/engine/plugins/contentHydration.d.ts.map +1 -0
  83. package/dist/engine/plugins/contentHydration.js +121 -0
  84. package/dist/engine/plugins/contentHydration.js.map +1 -0
  85. package/dist/engine/plugins/dynamicPageResolver.d.ts +25 -0
  86. package/dist/engine/plugins/dynamicPageResolver.d.ts.map +1 -0
  87. package/dist/engine/plugins/dynamicPageResolver.js +32 -0
  88. package/dist/engine/plugins/dynamicPageResolver.js.map +1 -0
  89. package/dist/engine/plugins/index.d.ts +11 -0
  90. package/dist/engine/plugins/index.d.ts.map +1 -0
  91. package/dist/engine/plugins/pluginRegistry.d.ts +37 -0
  92. package/dist/engine/plugins/pluginRegistry.d.ts.map +1 -0
  93. package/dist/engine/plugins/pluginRegistry.js +134 -0
  94. package/dist/engine/plugins/pluginRegistry.js.map +1 -0
  95. package/dist/engine/plugins/types.d.ts +180 -0
  96. package/dist/engine/plugins/types.d.ts.map +1 -0
  97. package/dist/engine/presets/heroVariations.d.ts +5 -0
  98. package/dist/engine/presets/heroVariations.d.ts.map +1 -1
  99. package/dist/engine/presets/heroVariations.js +50 -6
  100. package/dist/engine/presets/heroVariations.js.map +1 -1
  101. package/dist/engine/preview/Preview.d.ts +6 -2
  102. package/dist/engine/preview/Preview.d.ts.map +1 -1
  103. package/dist/engine/preview/Preview.js +295 -125
  104. package/dist/engine/preview/Preview.js.map +1 -1
  105. package/dist/engine/registry/blocks/sections/blogPostCard.d.ts +3 -0
  106. package/dist/engine/registry/blocks/sections/blogPostCard.d.ts.map +1 -0
  107. package/dist/engine/registry/blocks/sections/blogPostCard.js +53 -0
  108. package/dist/engine/registry/blocks/sections/blogPostCard.js.map +1 -0
  109. package/dist/engine/registry/blocks/sections/blogPostDetail.d.ts +3 -0
  110. package/dist/engine/registry/blocks/sections/blogPostDetail.d.ts.map +1 -0
  111. package/dist/engine/registry/blocks/sections/blogPostDetail.js +49 -0
  112. package/dist/engine/registry/blocks/sections/blogPostDetail.js.map +1 -0
  113. package/dist/engine/registry/blocks/sections/blogPostGrid.d.ts +3 -0
  114. package/dist/engine/registry/blocks/sections/blogPostGrid.d.ts.map +1 -0
  115. package/dist/engine/registry/blocks/sections/blogPostGrid.js +89 -0
  116. package/dist/engine/registry/blocks/sections/blogPostGrid.js.map +1 -0
  117. package/dist/engine/registry/blocks/sections/hero.d.ts.map +1 -1
  118. package/dist/engine/registry/blocks/sections/hero.js +67 -14
  119. package/dist/engine/registry/blocks/sections/hero.js.map +1 -1
  120. package/dist/engine/registry/blocks/sections/index.d.ts +3 -0
  121. package/dist/engine/registry/blocks/sections/index.d.ts.map +1 -1
  122. package/dist/engine/registry/blocks/sections/navbar.d.ts.map +1 -1
  123. package/dist/engine/registry/blocks/sections/navbar.js +2 -1
  124. package/dist/engine/registry/blocks/sections/navbar.js.map +1 -1
  125. package/dist/engine/registry/registry.d.ts.map +1 -1
  126. package/dist/engine/registry/registry.js +16 -12
  127. package/dist/engine/registry/registry.js.map +1 -1
  128. package/dist/engine/registry/types.d.ts +10 -6
  129. package/dist/engine/registry/types.d.ts.map +1 -1
  130. package/dist/engine/render/renderers/sections/BlogPostCardRenderer.d.ts +3 -0
  131. package/dist/engine/render/renderers/sections/BlogPostCardRenderer.d.ts.map +1 -0
  132. package/dist/engine/render/renderers/sections/BlogPostCardRenderer.js +199 -0
  133. package/dist/engine/render/renderers/sections/BlogPostCardRenderer.js.map +1 -0
  134. package/dist/engine/render/renderers/sections/BlogPostDetailRenderer.d.ts +3 -0
  135. package/dist/engine/render/renderers/sections/BlogPostDetailRenderer.d.ts.map +1 -0
  136. package/dist/engine/render/renderers/sections/BlogPostDetailRenderer.js +293 -0
  137. package/dist/engine/render/renderers/sections/BlogPostDetailRenderer.js.map +1 -0
  138. package/dist/engine/render/renderers/sections/BlogPostGridRenderer.d.ts +3 -0
  139. package/dist/engine/render/renderers/sections/BlogPostGridRenderer.d.ts.map +1 -0
  140. package/dist/engine/render/renderers/sections/BlogPostGridRenderer.js +101 -0
  141. package/dist/engine/render/renderers/sections/BlogPostGridRenderer.js.map +1 -0
  142. package/dist/engine/render/renderers/sections/CtaRenderer.d.ts.map +1 -1
  143. package/dist/engine/render/renderers/sections/CtaRenderer.js +33 -31
  144. package/dist/engine/render/renderers/sections/CtaRenderer.js.map +1 -1
  145. package/dist/engine/render/renderers/sections/FaqItemRenderer.d.ts.map +1 -1
  146. package/dist/engine/render/renderers/sections/FaqItemRenderer.js +7 -6
  147. package/dist/engine/render/renderers/sections/FaqItemRenderer.js.map +1 -1
  148. package/dist/engine/render/renderers/sections/FaqRenderer.js +7 -7
  149. package/dist/engine/render/renderers/sections/FaqRenderer.js.map +1 -1
  150. package/dist/engine/render/renderers/sections/FeatureGridRenderer.d.ts.map +1 -1
  151. package/dist/engine/render/renderers/sections/FeatureGridRenderer.js +19 -18
  152. package/dist/engine/render/renderers/sections/FeatureGridRenderer.js.map +1 -1
  153. package/dist/engine/render/renderers/sections/FeatureRenderer.d.ts.map +1 -1
  154. package/dist/engine/render/renderers/sections/FeatureRenderer.js +5 -4
  155. package/dist/engine/render/renderers/sections/FeatureRenderer.js.map +1 -1
  156. package/dist/engine/render/renderers/sections/FooterRenderer.d.ts.map +1 -1
  157. package/dist/engine/render/renderers/sections/FooterRenderer.js +8 -7
  158. package/dist/engine/render/renderers/sections/FooterRenderer.js.map +1 -1
  159. package/dist/engine/render/renderers/sections/HeroRenderer.d.ts.map +1 -1
  160. package/dist/engine/render/renderers/sections/HeroRenderer.js +295 -218
  161. package/dist/engine/render/renderers/sections/HeroRenderer.js.map +1 -1
  162. package/dist/engine/render/renderers/sections/NavbarRenderer.d.ts.map +1 -1
  163. package/dist/engine/render/renderers/sections/NavbarRenderer.js +23 -22
  164. package/dist/engine/render/renderers/sections/NavbarRenderer.js.map +1 -1
  165. package/dist/engine/render/renderers/sections/PricingCardRenderer.d.ts.map +1 -1
  166. package/dist/engine/render/renderers/sections/PricingCardRenderer.js +7 -6
  167. package/dist/engine/render/renderers/sections/PricingCardRenderer.js.map +1 -1
  168. package/dist/engine/render/renderers/sections/PricingRenderer.js +9 -9
  169. package/dist/engine/render/renderers/sections/PricingRenderer.js.map +1 -1
  170. package/dist/engine/render/renderers/sections/TestimonialGridRenderer.d.ts.map +1 -1
  171. package/dist/engine/render/renderers/sections/TestimonialGridRenderer.js +17 -16
  172. package/dist/engine/render/renderers/sections/TestimonialGridRenderer.js.map +1 -1
  173. package/dist/engine/render/renderers/sections/TestimonialRenderer.d.ts.map +1 -1
  174. package/dist/engine/render/renderers/sections/TestimonialRenderer.js +11 -10
  175. package/dist/engine/render/renderers/sections/TestimonialRenderer.js.map +1 -1
  176. package/dist/engine/render/renderers/sections/index.js +24 -18
  177. package/dist/engine/render/renderers/sections/index.js.map +1 -1
  178. package/dist/engine/schema/siteDocument.d.ts +104 -3
  179. package/dist/engine/schema/siteDocument.d.ts.map +1 -1
  180. package/dist/engine/schema/siteDocument.js.map +1 -1
  181. package/dist/engine/shared/carouselAnimation.d.ts +20 -0
  182. package/dist/engine/shared/carouselAnimation.d.ts.map +1 -0
  183. package/dist/engine/shared/carouselAnimation.js +62 -0
  184. package/dist/engine/shared/carouselAnimation.js.map +1 -0
  185. package/dist/engine/shared/imageGrid/types.d.ts +2 -0
  186. package/dist/engine/shared/imageGrid/types.d.ts.map +1 -1
  187. package/dist/engine/shared/showWhen.d.ts +44 -0
  188. package/dist/engine/shared/showWhen.d.ts.map +1 -0
  189. package/dist/engine/shared/showWhen.js +33 -0
  190. package/dist/engine/shared/showWhen.js.map +1 -0
  191. package/dist/hooks/useEditorState.d.ts +3 -0
  192. package/dist/hooks/useEditorState.d.ts.map +1 -1
  193. package/dist/hooks/useEditorState.js +106 -84
  194. package/dist/hooks/useEditorState.js.map +1 -1
  195. package/dist/index.d.ts +13 -2
  196. package/dist/index.d.ts.map +1 -1
  197. package/dist/index.js +109 -93
  198. package/dist/index.js.map +1 -1
  199. package/dist/shared/templates/escola-blog.d.ts +3 -0
  200. package/dist/shared/templates/escola-blog.d.ts.map +1 -0
  201. package/dist/shared/templates/escola-blog.js +160 -0
  202. package/dist/shared/templates/escola-blog.js.map +1 -0
  203. package/dist/shared/templates/index.d.ts +2 -0
  204. package/dist/shared/templates/index.d.ts.map +1 -1
  205. package/dist/shared/templates/index.js +30 -12
  206. package/dist/shared/templates/index.js.map +1 -1
  207. package/dist/utils/changeDetector.d.ts +2 -1
  208. package/dist/utils/changeDetector.d.ts.map +1 -1
  209. package/dist/utils/changeDetector.js +39 -39
  210. package/dist/utils/changeDetector.js.map +1 -1
  211. package/dist/utils/sharedTemplateToEngine.d.ts +4 -5
  212. package/dist/utils/sharedTemplateToEngine.d.ts.map +1 -1
  213. package/dist/utils/sharedTemplateToEngine.js +14 -87
  214. package/dist/utils/sharedTemplateToEngine.js.map +1 -1
  215. package/dist/viewer/LandingPageViewer.d.ts +13 -6
  216. package/dist/viewer/LandingPageViewer.d.ts.map +1 -1
  217. package/dist/viewer/LandingPageViewer.js +220 -122
  218. package/dist/viewer/LandingPageViewer.js.map +1 -1
  219. package/package.json +3 -2
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { LandingPageEditor as J, LandingPageEditor as Q } from "./editor/LandingPageEditor.js";
2
- import { LandingPageViewer as X, LandingPageViewer as Y } from "./viewer/LandingPageViewer.js";
1
+ import { LandingPageEditor as X, LandingPageEditor as Y } from "./editor/LandingPageEditor.js";
2
+ import { LandingPageViewer as $, LandingPageViewer as ee } from "./viewer/LandingPageViewer.js";
3
3
  import "./engine/registry/blocks/layout/container.js";
4
4
  import "./engine/registry/blocks/layout/stack.js";
5
5
  import "./engine/registry/blocks/layout/grid.js";
@@ -41,101 +41,117 @@ import "./engine/registry/blocks/sections/teamCard.js";
41
41
  import "./engine/registry/blocks/sections/teamGrid.js";
42
42
  import "./engine/registry/blocks/sections/courseCardGrid.js";
43
43
  import "./engine/registry/blocks/sections/categoryCardGrid.js";
44
+ import "./engine/registry/blocks/sections/blogPostCard.js";
45
+ import "./engine/registry/blocks/sections/blogPostGrid.js";
46
+ import "./engine/registry/blocks/sections/blogPostDetail.js";
44
47
  import "./engine/registry/blocks/forms/form.js";
45
48
  import "./engine/registry/blocks/forms/input.js";
46
49
  import "./engine/registry/blocks/forms/textarea.js";
47
50
  import "./engine/registry/blocks/forms/select.js";
48
- import { componentRegistry as $, componentRegistry as ee } from "./engine/registry/registry.js";
49
- import { createEmptySiteDocument as te, createEmptySiteDocument as oe } from "./engine/schema/siteDocument.js";
50
- import { corporateThemeTokens as ie, darkThemeTokens as me, defaultComponentTokens as pe, defaultEffectTokens as ne, defaultLayoutTokens as se, defaultThemeTokens as ge, generateThemeCSSVariables as ce, gradientDirectionMap as le, gradientThemeTokens as de, playfulThemeTokens as Pe, radiusScaleMap as fe, shadowScaleMap as he, spacingScaleMap as Te } from "./engine/schema/themeTokens.js";
51
- import { RenderNode as xe } from "./engine/render/renderNode.js";
52
- import { RenderPage as ke, renderPage as ye } from "./engine/render/renderPage.js";
53
- import { clearHtmlCache as Ee, exportBlockToHtml as Le, exportDocumentToHtml as Me, exportPageToHtml as be, generateAssetsManifest as Ce } from "./engine/export/exportHtml.js";
54
- import { isSafeUrl as He, sanitizeHtml as Re } from "./engine/export/sanitizeHtml.js";
55
- import { Preview as we, Preview as Ae } from "./engine/preview/Preview.js";
56
- import { applyPatch as Oe, createAddPatch as Ie, createCopyPatch as _e, createMovePatch as Be, createRemovePatch as je, createReplacePatch as Ge } from "./engine/patch/applyPatch.js";
57
- import { HistoryManager as ze, createHistoryManager as Fe } from "./engine/patch/history.js";
58
- import { PatchBuilder as qe } from "./engine/patch/PatchBuilder.js";
59
- import { applyOverrides as Qe, classicPreset as We, cleanPreset as Xe, corporatePreset as Ye, getAllPresets as Ze, getPreset as $e, glassPreset as er, minimalPreset as rr, neonPreset as tr, pastelPreset as or, playfulKidsPreset as ar, themePresets as ir, validateContrast as mr } from "./engine/presets/themePresets.js";
60
- import { HERO_IMAGE_NAMES as nr, PLACEHOLDER_IMAGE_URL as sr, getHeroVariation as gr, heroVariationIds as cr, heroVariations as lr } from "./engine/presets/heroVariations.js";
61
- import { getNavbarVariation as Pr, navbarVariationIds as fr, navbarVariations as hr } from "./engine/presets/navbarVariations.js";
62
- import { generateCompleteLandingPage as Sr, generateModernLandingPage as xr, generatePatchesForLandingPage as Vr } from "./engine/generators/generateLandingPage.js";
63
- import { createThemeStyle as yr, generateCSSVariables as ur, generateCSSVariablesObject as Er, mergeThemeTokens as Lr } from "./engine/theme/generateCSSVariables.js";
64
- import { renderBlockNode as br } from "./engine/render/renderNodeImpl.js";
65
- import { darkTheme as vr, defaultTheme as Hr } from "./engine/theme/defaultTheme.js";
51
+ import { componentRegistry as te, componentRegistry as oe } from "./engine/registry/registry.js";
52
+ import { createEmptySiteDocument as ie, createEmptySiteDocument as me } from "./engine/schema/siteDocument.js";
53
+ import { corporateThemeTokens as ne, darkThemeTokens as se, defaultComponentTokens as ge, defaultEffectTokens as le, defaultLayoutTokens as ce, defaultThemeTokens as de, generateThemeCSSVariables as Pe, gradientDirectionMap as fe, gradientThemeTokens as he, playfulThemeTokens as xe, radiusScaleMap as Se, shadowScaleMap as Te, spacingScaleMap as ye } from "./engine/schema/themeTokens.js";
54
+ import { RenderNode as Ve } from "./engine/render/renderNode.js";
55
+ import { RenderPage as Ee, renderPage as Le } from "./engine/render/renderPage.js";
56
+ import { clearHtmlCache as Me, exportBlockToHtml as Re, exportDocumentToHtml as be, exportPageToHtml as ve, generateAssetsManifest as He } from "./engine/export/exportHtml.js";
57
+ import { isSafeUrl as De, sanitizeHtml as we } from "./engine/export/sanitizeHtml.js";
58
+ import { Preview as _e, Preview as Ie } from "./engine/preview/Preview.js";
59
+ import { applyPatch as Be, createAddPatch as Ge, createCopyPatch as Ue, createMovePatch as je, createRemovePatch as We, createReplacePatch as ze } from "./engine/patch/applyPatch.js";
60
+ import { HistoryManager as Ke, createHistoryManager as qe } from "./engine/patch/history.js";
61
+ import { PatchBuilder as Qe } from "./engine/patch/PatchBuilder.js";
62
+ import { applyOverrides as Ye, classicPreset as Ze, cleanPreset as $e, corporatePreset as er, getAllPresets as rr, getPreset as tr, glassPreset as or, minimalPreset as ar, neonPreset as ir, pastelPreset as mr, playfulKidsPreset as pr, themePresets as nr, validateContrast as sr } from "./engine/presets/themePresets.js";
63
+ import { CAROUSEL_PLACEHOLDER_IMAGES as lr, HERO_IMAGE_NAMES as cr, PLACEHOLDER_IMAGE_URL as dr, getHeroVariation as Pr, heroVariationIds as fr, heroVariations as hr } from "./engine/presets/heroVariations.js";
64
+ import { getNavbarVariation as Sr, navbarVariationIds as Tr, navbarVariations as yr } from "./engine/presets/navbarVariations.js";
65
+ import { generateCompleteLandingPage as Vr, generateModernLandingPage as kr, generatePatchesForLandingPage as Er } from "./engine/generators/generateLandingPage.js";
66
+ import { evaluateShowWhen as Cr } from "./engine/shared/showWhen.js";
67
+ import { pluginRegistry as Rr } from "./engine/plugins/pluginRegistry.js";
68
+ import { hydratePageWithContent as vr } from "./engine/plugins/contentHydration.js";
69
+ import { matchDynamicPage as Ar } from "./engine/plugins/dynamicPageResolver.js";
70
+ import { blogPlugin as wr } from "./engine/plugins/builtin/blog/manifest.js";
71
+ import { mockBlogContentProvider as _r } from "./engine/plugins/builtin/blog/mockContentProvider.js";
72
+ import { createThemeStyle as Nr, generateCSSVariables as Br, generateCSSVariablesObject as Gr, mergeThemeTokens as Ur } from "./engine/theme/generateCSSVariables.js";
73
+ import { renderBlockNode as Wr } from "./engine/render/renderNodeImpl.js";
74
+ import { darkTheme as Fr, defaultTheme as Kr } from "./engine/theme/defaultTheme.js";
66
75
  export {
67
- nr as HERO_IMAGE_NAMES,
68
- ze as HistoryManager,
69
- J as LandingPageEditor,
70
- Q as LandingPageEditorV2,
71
- X as LandingPageViewer,
72
- Y as LandingPageViewerV2,
73
- sr as PLACEHOLDER_IMAGE_URL,
74
- qe as PatchBuilder,
75
- we as Preview,
76
- Ae as PreviewV2,
77
- xe as RenderNode,
78
- ke as RenderPage,
79
- Qe as applyOverrides,
80
- Oe as applyPatch,
81
- $ as blockRegistry,
82
- We as classicPreset,
83
- Xe as cleanPreset,
84
- Ee as clearHtmlCache,
85
- ee as componentRegistry,
86
- Ye as corporatePreset,
87
- ie as corporateThemeTokens,
88
- Ie as createAddPatch,
89
- _e as createCopyPatch,
90
- te as createEmptySiteDocument,
91
- oe as createEmptySiteDocumentV2,
92
- Fe as createHistoryManager,
93
- Be as createMovePatch,
94
- je as createRemovePatch,
95
- Ge as createReplacePatch,
96
- yr as createSiteThemeStyle,
97
- me as darkThemeTokens,
98
- pe as defaultComponentTokens,
99
- ne as defaultEffectTokens,
100
- se as defaultLayoutTokens,
101
- ge as defaultThemeTokens,
102
- Le as exportBlockToHtml,
103
- Me as exportDocumentToHtml,
104
- be as exportPageToHtml,
105
- Ce as generateAssetsManifest,
106
- Sr as generateCompleteLandingPage,
107
- xr as generateModernLandingPage,
108
- Vr as generatePatchesForLandingPage,
109
- ur as generateSiteCSSVariables,
110
- Er as generateSiteCSSVariablesObject,
111
- ce as generateThemeCSSVariables,
112
- Ze as getAllPresets,
113
- gr as getHeroVariation,
114
- Pr as getNavbarVariation,
115
- $e as getPreset,
116
- er as glassPreset,
117
- le as gradientDirectionMap,
118
- de as gradientThemeTokens,
119
- cr as heroVariationIds,
120
- lr as heroVariations,
121
- He as isSafeUrl,
122
- Lr as mergeSiteThemeTokens,
123
- rr as minimalPreset,
124
- fr as navbarVariationIds,
125
- hr as navbarVariations,
126
- tr as neonPreset,
127
- or as pastelPreset,
128
- ar as playfulKidsPreset,
129
- Pe as playfulThemeTokens,
130
- fe as radiusScaleMap,
131
- br as renderNode,
132
- ye as renderPage,
133
- Re as sanitizeHtml,
134
- he as shadowScaleMap,
135
- vr as siteDarkTheme,
136
- Hr as siteDefaultTheme,
137
- Te as spacingScaleMap,
138
- ir as themePresets,
139
- mr as validateContrast
76
+ lr as CAROUSEL_PLACEHOLDER_IMAGES,
77
+ cr as HERO_IMAGE_NAMES,
78
+ Ke as HistoryManager,
79
+ X as LandingPageEditor,
80
+ Y as LandingPageEditorV2,
81
+ $ as LandingPageViewer,
82
+ ee as LandingPageViewerV2,
83
+ dr as PLACEHOLDER_IMAGE_URL,
84
+ Qe as PatchBuilder,
85
+ _e as Preview,
86
+ Ie as PreviewV2,
87
+ Ve as RenderNode,
88
+ Ee as RenderPage,
89
+ Ye as applyOverrides,
90
+ Be as applyPatch,
91
+ te as blockRegistry,
92
+ wr as blogPlugin,
93
+ Ze as classicPreset,
94
+ $e as cleanPreset,
95
+ Me as clearHtmlCache,
96
+ oe as componentRegistry,
97
+ er as corporatePreset,
98
+ ne as corporateThemeTokens,
99
+ Ge as createAddPatch,
100
+ Ue as createCopyPatch,
101
+ ie as createEmptySiteDocument,
102
+ me as createEmptySiteDocumentV2,
103
+ qe as createHistoryManager,
104
+ je as createMovePatch,
105
+ We as createRemovePatch,
106
+ ze as createReplacePatch,
107
+ Nr as createSiteThemeStyle,
108
+ se as darkThemeTokens,
109
+ ge as defaultComponentTokens,
110
+ le as defaultEffectTokens,
111
+ ce as defaultLayoutTokens,
112
+ de as defaultThemeTokens,
113
+ Cr as evaluateShowWhen,
114
+ Re as exportBlockToHtml,
115
+ be as exportDocumentToHtml,
116
+ ve as exportPageToHtml,
117
+ He as generateAssetsManifest,
118
+ Vr as generateCompleteLandingPage,
119
+ kr as generateModernLandingPage,
120
+ Er as generatePatchesForLandingPage,
121
+ Br as generateSiteCSSVariables,
122
+ Gr as generateSiteCSSVariablesObject,
123
+ Pe as generateThemeCSSVariables,
124
+ rr as getAllPresets,
125
+ Pr as getHeroVariation,
126
+ Sr as getNavbarVariation,
127
+ tr as getPreset,
128
+ or as glassPreset,
129
+ fe as gradientDirectionMap,
130
+ he as gradientThemeTokens,
131
+ fr as heroVariationIds,
132
+ hr as heroVariations,
133
+ vr as hydratePageWithContent,
134
+ De as isSafeUrl,
135
+ Ar as matchDynamicPage,
136
+ Ur as mergeSiteThemeTokens,
137
+ ar as minimalPreset,
138
+ _r as mockBlogContentProvider,
139
+ Tr as navbarVariationIds,
140
+ yr as navbarVariations,
141
+ ir as neonPreset,
142
+ mr as pastelPreset,
143
+ pr as playfulKidsPreset,
144
+ xe as playfulThemeTokens,
145
+ Rr as pluginRegistry,
146
+ Se as radiusScaleMap,
147
+ Wr as renderNode,
148
+ Le as renderPage,
149
+ we as sanitizeHtml,
150
+ Te as shadowScaleMap,
151
+ Fr as siteDarkTheme,
152
+ Kr as siteDefaultTheme,
153
+ ye as spacingScaleMap,
154
+ nr as themePresets,
155
+ sr as validateContrast
140
156
  };
141
157
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,3 @@
1
+ import { SiteDocument } from '../schema';
2
+ export declare const escolaBlogTemplate: SiteDocument;
3
+ //# sourceMappingURL=escola-blog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escola-blog.d.ts","sourceRoot":"","sources":["../../../src/shared/templates/escola-blog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAG9C,eAAO,MAAM,kBAAkB,EAAE,YAsKhC,CAAC"}
@@ -0,0 +1,160 @@
1
+ import { NAVBAR_DEFAULT_PROPS as e } from "../../engine/registry/blocks/sections/navbar.js";
2
+ const t = {
3
+ meta: {
4
+ title: "Escola Blog",
5
+ description: "Template simples com blog integrado — ideal para testar o sistema de plugins",
6
+ language: "pt-BR"
7
+ },
8
+ theme: {
9
+ colors: {
10
+ primary: "#4f46e5",
11
+ secondary: "#6366f1",
12
+ accent: "#f59e0b",
13
+ background: "#ffffff",
14
+ surface: "#f9fafb",
15
+ text: "#111827",
16
+ textMuted: "#6b7280",
17
+ border: "#e5e7eb",
18
+ success: "#10b981",
19
+ warning: "#f59e0b",
20
+ error: "#ef4444"
21
+ },
22
+ typography: {
23
+ fontFamily: "Inter, system-ui, sans-serif",
24
+ fontFamilyHeading: "Inter, system-ui, sans-serif",
25
+ baseFontSize: "16px",
26
+ lineHeight: 1.6,
27
+ headingLineHeight: 1.2
28
+ },
29
+ spacing: {
30
+ unit: "0.25rem",
31
+ scale: [0, 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64]
32
+ },
33
+ effects: {
34
+ borderRadius: "0.75rem",
35
+ shadow: "0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1)",
36
+ shadowLg: "0 25px 50px -12px rgba(0,0,0,0.25)",
37
+ transition: "all 0.3s ease"
38
+ }
39
+ },
40
+ structure: [
41
+ // ─── NAVBAR ───
42
+ {
43
+ id: "blog-navbar",
44
+ type: "navbar",
45
+ props: {
46
+ ...e,
47
+ links: [
48
+ { text: "Home", href: "/site/p/home" },
49
+ { text: "Sobre", href: "/site/p/sobre" },
50
+ { text: "Cursos", href: "/site/p/cursos" },
51
+ { text: "Blog", href: "/site/p/blog" },
52
+ { text: "Contato", href: "/site/p/contato" }
53
+ ],
54
+ ctaButton: { text: "Matricule-se", href: "/site/p/contato" },
55
+ bg: "#ffffff",
56
+ linkColor: "#374151",
57
+ linkHoverColor: "#4f46e5",
58
+ buttonColor: "#4f46e5",
59
+ buttonTextColor: "#ffffff"
60
+ }
61
+ },
62
+ // ─── HERO ───
63
+ {
64
+ id: "blog-hero",
65
+ type: "hero",
66
+ props: {
67
+ title: "Educação que Transforma",
68
+ subtitle: "Bem-vindo à nossa escola",
69
+ description: "Acompanhe nossas novidades, eventos e conquistas no blog da escola. Uma educação de qualidade começa com informação.",
70
+ variant: "centered",
71
+ align: "center",
72
+ overlay: !0,
73
+ overlayColor: "rgba(79, 70, 229, 0.85)",
74
+ background: "#4f46e5",
75
+ primaryButton: { text: "Conheça o Blog", href: "/site/p/blog" },
76
+ secondaryButton: { text: "Fale Conosco", href: "/site/p/contato" }
77
+ }
78
+ },
79
+ // ─── FEATURES ───
80
+ {
81
+ id: "blog-features",
82
+ type: "featureGrid",
83
+ props: {
84
+ title: "Por que nossa escola?",
85
+ subtitle: "Oferecemos uma experiência educacional completa e moderna",
86
+ columns: 3,
87
+ variant: "cards",
88
+ features: [
89
+ {
90
+ icon: "GraduationCap",
91
+ title: "Ensino de Excelência",
92
+ description: "Professores qualificados e metodologia comprovada para o melhor aprendizado."
93
+ },
94
+ {
95
+ icon: "Users",
96
+ title: "Comunidade Ativa",
97
+ description: "Eventos, palestras e encontros que fortalecem a relação escola-família."
98
+ },
99
+ {
100
+ icon: "BookOpen",
101
+ title: "Blog Informativo",
102
+ description: "Fique por dentro de tudo que acontece na escola através do nosso blog."
103
+ }
104
+ ]
105
+ }
106
+ },
107
+ // ─── CTA ───
108
+ {
109
+ id: "blog-cta",
110
+ type: "cta",
111
+ props: {
112
+ title: "Venha fazer parte da nossa história",
113
+ description: "Agende uma visita e conheça de perto a escola que vai transformar o futuro do seu filho.",
114
+ buttonText: "Agendar Visita",
115
+ buttonHref: "/site/p/contato",
116
+ variant: "centered"
117
+ }
118
+ },
119
+ // ─── FOOTER ───
120
+ {
121
+ id: "blog-footer",
122
+ type: "footer",
123
+ props: {
124
+ variant: "multi-column",
125
+ columns: [
126
+ {
127
+ title: "Escola Blog",
128
+ content: "Educação de qualidade com informação transparente. Acompanhe nosso blog!"
129
+ },
130
+ {
131
+ title: "Links Rápidos",
132
+ links: [
133
+ { text: "Home", href: "/site/p/home" },
134
+ { text: "Sobre", href: "/site/p/sobre" },
135
+ { text: "Cursos", href: "/site/p/cursos" },
136
+ { text: "Blog", href: "/site/p/blog" },
137
+ { text: "Contato", href: "/site/p/contato" }
138
+ ]
139
+ },
140
+ {
141
+ title: "Contato",
142
+ content: `contato@escolablog.com.br
143
+ (11) 1234-5678
144
+ Rua da Educação, 100`
145
+ }
146
+ ],
147
+ copyright: "© 2026 Escola Blog. Todos os direitos reservados.",
148
+ socialLinks: [
149
+ { platform: "facebook", url: "#" },
150
+ { platform: "instagram", url: "#" },
151
+ { platform: "youtube", url: "#" }
152
+ ]
153
+ }
154
+ }
155
+ ]
156
+ };
157
+ export {
158
+ t as escolaBlogTemplate
159
+ };
160
+ //# sourceMappingURL=escola-blog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escola-blog.js","sources":["../../../src/shared/templates/escola-blog.ts"],"sourcesContent":["/**\n * Template: Escola Blog\n * Template de escola com suporte ao Plugin Blog.\n *\n * Características:\n * - Navbar limpa com links para Home, Blog, Sobre, Contato\n * - Hero minimalista com call-to-action\n * - Seção de features da escola\n * - CTA para inscrição\n * - Footer multi-colunas\n *\n * Para testar o Plugin Blog:\n * 1. Selecione este template no editor\n * 2. No topbar, clique em \"+ Adicionar\" e ative o plugin \"Blog\"\n * 3. Uma seção de blog será injetada na landing page\n * 4. Novas páginas \"Blog\" e \"Post\" aparecerão no PageTabBar\n */\n\nimport type { SiteDocument } from \"../schema\";\nimport { NAVBAR_DEFAULT_PROPS } from \"../../engine/registry/blocks/sections/navbar\";\n\nexport const escolaBlogTemplate: SiteDocument = {\n meta: {\n title: \"Escola Blog\",\n description:\n \"Template simples com blog integrado — ideal para testar o sistema de plugins\",\n language: \"pt-BR\",\n },\n theme: {\n colors: {\n primary: \"#4f46e5\",\n secondary: \"#6366f1\",\n accent: \"#f59e0b\",\n background: \"#ffffff\",\n surface: \"#f9fafb\",\n text: \"#111827\",\n textMuted: \"#6b7280\",\n border: \"#e5e7eb\",\n success: \"#10b981\",\n warning: \"#f59e0b\",\n error: \"#ef4444\",\n },\n typography: {\n fontFamily: \"Inter, system-ui, sans-serif\",\n fontFamilyHeading: \"Inter, system-ui, sans-serif\",\n baseFontSize: \"16px\",\n lineHeight: 1.6,\n headingLineHeight: 1.2,\n },\n spacing: {\n unit: \"0.25rem\",\n scale: [0, 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64],\n },\n effects: {\n borderRadius: \"0.75rem\",\n shadow:\n \"0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1)\",\n shadowLg: \"0 25px 50px -12px rgba(0,0,0,0.25)\",\n transition: \"all 0.3s ease\",\n },\n },\n structure: [\n // ─── NAVBAR ───\n {\n id: \"blog-navbar\",\n type: \"navbar\",\n props: {\n ...NAVBAR_DEFAULT_PROPS,\n links: [\n { text: \"Home\", href: \"/site/p/home\" },\n { text: \"Sobre\", href: \"/site/p/sobre\" },\n { text: \"Cursos\", href: \"/site/p/cursos\" },\n { text: \"Blog\", href: \"/site/p/blog\" },\n { text: \"Contato\", href: \"/site/p/contato\" },\n ],\n ctaButton: { text: \"Matricule-se\", href: \"/site/p/contato\" },\n bg: \"#ffffff\",\n linkColor: \"#374151\",\n linkHoverColor: \"#4f46e5\",\n buttonColor: \"#4f46e5\",\n buttonTextColor: \"#ffffff\",\n },\n },\n\n // ─── HERO ───\n {\n id: \"blog-hero\",\n type: \"hero\",\n props: {\n title: \"Educação que Transforma\",\n subtitle: \"Bem-vindo à nossa escola\",\n description:\n \"Acompanhe nossas novidades, eventos e conquistas no blog da escola. Uma educação de qualidade começa com informação.\",\n variant: \"centered\",\n align: \"center\",\n overlay: true,\n overlayColor: \"rgba(79, 70, 229, 0.85)\",\n background: \"#4f46e5\",\n primaryButton: { text: \"Conheça o Blog\", href: \"/site/p/blog\" },\n secondaryButton: { text: \"Fale Conosco\", href: \"/site/p/contato\" },\n },\n },\n\n // ─── FEATURES ───\n {\n id: \"blog-features\",\n type: \"featureGrid\",\n props: {\n title: \"Por que nossa escola?\",\n subtitle:\n \"Oferecemos uma experiência educacional completa e moderna\",\n columns: 3,\n variant: \"cards\",\n features: [\n {\n icon: \"GraduationCap\",\n title: \"Ensino de Excelência\",\n description:\n \"Professores qualificados e metodologia comprovada para o melhor aprendizado.\",\n },\n {\n icon: \"Users\",\n title: \"Comunidade Ativa\",\n description:\n \"Eventos, palestras e encontros que fortalecem a relação escola-família.\",\n },\n {\n icon: \"BookOpen\",\n title: \"Blog Informativo\",\n description:\n \"Fique por dentro de tudo que acontece na escola através do nosso blog.\",\n },\n ],\n },\n },\n\n // ─── CTA ───\n {\n id: \"blog-cta\",\n type: \"cta\",\n props: {\n title: \"Venha fazer parte da nossa história\",\n description:\n \"Agende uma visita e conheça de perto a escola que vai transformar o futuro do seu filho.\",\n buttonText: \"Agendar Visita\",\n buttonHref: \"/site/p/contato\",\n variant: \"centered\",\n },\n },\n\n // ─── FOOTER ───\n {\n id: \"blog-footer\",\n type: \"footer\",\n props: {\n variant: \"multi-column\",\n columns: [\n {\n title: \"Escola Blog\",\n content:\n \"Educação de qualidade com informação transparente. Acompanhe nosso blog!\",\n },\n {\n title: \"Links Rápidos\",\n links: [\n { text: \"Home\", href: \"/site/p/home\" },\n { text: \"Sobre\", href: \"/site/p/sobre\" },\n { text: \"Cursos\", href: \"/site/p/cursos\" },\n { text: \"Blog\", href: \"/site/p/blog\" },\n { text: \"Contato\", href: \"/site/p/contato\" },\n ],\n },\n {\n title: \"Contato\",\n content:\n \"contato@escolablog.com.br\\n(11) 1234-5678\\nRua da Educação, 100\",\n },\n ],\n copyright: \"© 2026 Escola Blog. Todos os direitos reservados.\",\n socialLinks: [\n { platform: \"facebook\", url: \"#\" },\n { platform: \"instagram\", url: \"#\" },\n { platform: \"youtube\", url: \"#\" },\n ],\n },\n },\n ],\n};\n"],"names":["escolaBlogTemplate","NAVBAR_DEFAULT_PROPS"],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  export { escolaPremiumTemplate } from './escola-premium';
7
7
  export { escolaEdviTemplate } from './escola-edvi';
8
8
  export { escolaZilomTemplate } from './escola-zilom';
9
+ export { escolaBlogTemplate } from './escola-blog';
9
10
  /**
10
11
  * Informações sobre templates disponíveis
11
12
  */
@@ -28,6 +29,7 @@ export declare const templates: {
28
29
  readonly "escola-premium": import('..').SiteDocument;
29
30
  readonly "escola-edvi": import('..').SiteDocument;
30
31
  readonly "escola-zilom": import('..').SiteDocument;
32
+ readonly "escola-blog": import('..').SiteDocument;
31
33
  };
32
34
  export type TemplateId = keyof typeof templates;
33
35
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/templates/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,YAAY,EAuDtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS;;;;CAIZ,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,SAAS,CAAC;AAEhD;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,UAAU,6BAEzC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAEvE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,EAAE,CAE7D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE,CAQ7D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/templates/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,YAAY,EAuEtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;CAKZ,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,SAAS,CAAC;AAEhD;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,UAAU,6BAEzC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAEvE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,EAAE,CAE7D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE,CAQ7D"}
@@ -1,6 +1,7 @@
1
1
  import { escolaPremiumTemplate as l } from "./escola-premium.js";
2
2
  import { escolaEdviTemplate as s } from "./escola-edvi.js";
3
3
  import { escolaZilomTemplate as r } from "./escola-zilom.js";
4
+ import { escolaBlogTemplate as n } from "./escola-blog.js";
4
5
  const t = [
5
6
  {
6
7
  id: "escola-premium",
@@ -52,36 +53,53 @@ const t = [
52
53
  "landing page"
53
54
  ],
54
55
  preview: "https://placehold.co/400x300/6366f1/white?text=Zilom"
56
+ },
57
+ {
58
+ id: "escola-blog",
59
+ name: "Escola Blog",
60
+ description: "Template simples com blog integrado — ideal para testar o sistema de plugins. Ative o plugin Blog no editor para páginas dinâmicas.",
61
+ category: "education",
62
+ tags: [
63
+ "escola",
64
+ "blog",
65
+ "plugin",
66
+ "simples",
67
+ "notícias",
68
+ "landing page"
69
+ ],
70
+ preview: "https://placehold.co/400x300/4f46e5/white?text=Escola+Blog"
55
71
  }
56
- ], n = {
72
+ ], c = {
57
73
  "escola-premium": l,
58
74
  "escola-edvi": s,
59
- "escola-zilom": r
75
+ "escola-zilom": r,
76
+ "escola-blog": n
60
77
  };
61
- function d(e) {
62
- return n[e] || null;
63
- }
64
78
  function u(e) {
79
+ return c[e] || null;
80
+ }
81
+ function f(e) {
65
82
  return t.filter((o) => o.category === e);
66
83
  }
67
- function g(e) {
84
+ function h(e) {
68
85
  return t.filter((o) => o.tags.includes(e.toLowerCase()));
69
86
  }
70
- function f(e) {
87
+ function w(e) {
71
88
  const o = e.toLowerCase();
72
89
  return t.filter(
73
90
  (a) => a.name.toLowerCase().includes(o) || a.description.toLowerCase().includes(o) || a.tags.some((i) => i.includes(o))
74
91
  );
75
92
  }
76
93
  export {
94
+ n as escolaBlogTemplate,
77
95
  s as escolaEdviTemplate,
78
96
  l as escolaPremiumTemplate,
79
97
  r as escolaZilomTemplate,
80
- d as getTemplate,
81
- u as getTemplatesByCategory,
82
- g as getTemplatesByTag,
83
- f as searchTemplates,
98
+ u as getTemplate,
99
+ f as getTemplatesByCategory,
100
+ h as getTemplatesByTag,
101
+ w as searchTemplates,
84
102
  t as templateList,
85
- n as templates
103
+ c as templates
86
104
  };
87
105
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/shared/templates/index.ts"],"sourcesContent":["/**\r\n * Templates estáticos para Landing Pages de Escolas\r\n *\r\n * Cada template é um SiteDocument completo pronto para uso\r\n */\r\n\r\nimport { escolaPremiumTemplate } from \"./escola-premium\";\r\nimport { escolaEdviTemplate } from \"./escola-edvi\";\r\nimport { escolaZilomTemplate } from \"./escola-zilom\";\r\n\r\n// Re-export templates\r\nexport { escolaPremiumTemplate } from \"./escola-premium\";\r\nexport { escolaEdviTemplate } from \"./escola-edvi\";\r\nexport { escolaZilomTemplate } from \"./escola-zilom\";\r\n\r\n/**\r\n * Informações sobre templates disponíveis\r\n */\r\nexport interface TemplateInfo {\r\n id: string;\r\n name: string;\r\n description: string;\r\n category: string;\r\n tags: string[];\r\n preview?: string;\r\n}\r\n\r\n/**\r\n * Lista de templates disponíveis com metadados\r\n */\r\nexport const templateList: TemplateInfo[] = [\r\n {\r\n id: \"escola-premium\",\r\n name: \"Colégio Vanguarda\",\r\n description:\r\n \"Landing page moderna e profissional com hero fullscreen, vídeo institucional, FAQ, pricing, depoimentos e seções completas para escolas de excelência\",\r\n category: \"education\",\r\n tags: [\r\n \"escola\",\r\n \"colégio\",\r\n \"premium\",\r\n \"moderno\",\r\n \"profissional\",\r\n \"bilíngue\",\r\n \"steam\",\r\n \"educação\",\r\n \"landing page\",\r\n ],\r\n preview: \"https://placehold.co/400x300/6366f1/white?text=Colégio+Vanguarda\",\r\n },\r\n {\r\n id: \"escola-edvi\",\r\n name: \"Edvi\",\r\n description:\r\n \"Template Edvi para escolas – hero com overlay azul, countdown de admissão, carousel, blog, equipe e formulário de contato\",\r\n category: \"education\",\r\n tags: [\r\n \"edvi\",\r\n \"escola\",\r\n \"educação\",\r\n \"countdown\",\r\n \"carousel\",\r\n \"blog\",\r\n \"equipe\",\r\n \"landing page\",\r\n ],\r\n preview: \"https://placehold.co/400x300/2563eb/white?text=Edvi\",\r\n },\r\n {\r\n id: \"escola-zilom\",\r\n name: \"Template Chat\",\r\n description:\r\n \"Template Zilom para ensino online – hero split com gradiente, cursos populares, categorias, depoimentos, newsletter e formulário de registro\",\r\n category: \"education\",\r\n tags: [\r\n \"zilom\",\r\n \"cursos\",\r\n \"ensino online\",\r\n \"course card\",\r\n \"category card\",\r\n \"newsletter\",\r\n \"landing page\",\r\n ],\r\n preview: \"https://placehold.co/400x300/6366f1/white?text=Zilom\",\r\n },\r\n];\r\n\r\n/**\r\n * Mapa de templates por ID para acesso rápido\r\n */\r\nexport const templates = {\r\n \"escola-premium\": escolaPremiumTemplate,\r\n \"escola-edvi\": escolaEdviTemplate,\r\n \"escola-zilom\": escolaZilomTemplate,\r\n} as const;\r\n\r\nexport type TemplateId = keyof typeof templates;\r\n\r\n/**\r\n * Retorna um template pelo ID\r\n */\r\nexport function getTemplate(id: TemplateId) {\r\n return templates[id] || null;\r\n}\r\n\r\n/**\r\n * Retorna templates filtrados por categoria\r\n */\r\nexport function getTemplatesByCategory(category: string): TemplateInfo[] {\r\n return templateList.filter((t) => t.category === category);\r\n}\r\n\r\n/**\r\n * Retorna templates filtrados por tag\r\n */\r\nexport function getTemplatesByTag(tag: string): TemplateInfo[] {\r\n return templateList.filter((t) => t.tags.includes(tag.toLowerCase()));\r\n}\r\n\r\n/**\r\n * Busca templates por termo\r\n */\r\nexport function searchTemplates(query: string): TemplateInfo[] {\r\n const q = query.toLowerCase();\r\n return templateList.filter(\r\n (t) =>\r\n t.name.toLowerCase().includes(q) ||\r\n t.description.toLowerCase().includes(q) ||\r\n t.tags.some((tag) => tag.includes(q)),\r\n );\r\n}\r\n"],"names":["templateList","templates","escolaPremiumTemplate","escolaEdviTemplate","escolaZilomTemplate","getTemplate","id","getTemplatesByCategory","category","t","getTemplatesByTag","tag","searchTemplates","query","q"],"mappings":";;;AA8BO,MAAMA,IAA+B;AAAA,EAC1C;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,IACF,UAAU;AAAA,IACV,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,SAAS;AAAA,EAAA;AAAA,EAEX;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,IACF,UAAU;AAAA,IACV,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,SAAS;AAAA,EAAA;AAAA,EAEX;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,IACF,UAAU;AAAA,IACV,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,SAAS;AAAA,EAAA;AAEb,GAKaC,IAAY;AAAA,EACvB,kBAAkBC;AAAA,EAClB,eAAeC;AAAA,EACf,gBAAgBC;AAClB;AAOO,SAASC,EAAYC,GAAgB;AAC1C,SAAOL,EAAUK,CAAE,KAAK;AAC1B;AAKO,SAASC,EAAuBC,GAAkC;AACvE,SAAOR,EAAa,OAAO,CAACS,MAAMA,EAAE,aAAaD,CAAQ;AAC3D;AAKO,SAASE,EAAkBC,GAA6B;AAC7D,SAAOX,EAAa,OAAO,CAACS,MAAMA,EAAE,KAAK,SAASE,EAAI,YAAA,CAAa,CAAC;AACtE;AAKO,SAASC,EAAgBC,GAA+B;AAC7D,QAAMC,IAAID,EAAM,YAAA;AAChB,SAAOb,EAAa;AAAA,IAClB,CAACS,MACCA,EAAE,KAAK,YAAA,EAAc,SAASK,CAAC,KAC/BL,EAAE,YAAY,YAAA,EAAc,SAASK,CAAC,KACtCL,EAAE,KAAK,KAAK,CAACE,MAAQA,EAAI,SAASG,CAAC,CAAC;AAAA,EAAA;AAE1C;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/shared/templates/index.ts"],"sourcesContent":["/**\r\n * Templates estáticos para Landing Pages de Escolas\r\n *\r\n * Cada template é um SiteDocument completo pronto para uso\r\n */\r\n\r\nimport { escolaPremiumTemplate } from \"./escola-premium\";\r\nimport { escolaEdviTemplate } from \"./escola-edvi\";\r\nimport { escolaZilomTemplate } from \"./escola-zilom\";\r\nimport { escolaBlogTemplate } from \"./escola-blog\";\r\n\r\n// Re-export templates\r\nexport { escolaPremiumTemplate } from \"./escola-premium\";\r\nexport { escolaEdviTemplate } from \"./escola-edvi\";\r\nexport { escolaZilomTemplate } from \"./escola-zilom\";\r\nexport { escolaBlogTemplate } from \"./escola-blog\";\r\n\r\n/**\r\n * Informações sobre templates disponíveis\r\n */\r\nexport interface TemplateInfo {\r\n id: string;\r\n name: string;\r\n description: string;\r\n category: string;\r\n tags: string[];\r\n preview?: string;\r\n}\r\n\r\n/**\r\n * Lista de templates disponíveis com metadados\r\n */\r\nexport const templateList: TemplateInfo[] = [\r\n {\r\n id: \"escola-premium\",\r\n name: \"Colégio Vanguarda\",\r\n description:\r\n \"Landing page moderna e profissional com hero fullscreen, vídeo institucional, FAQ, pricing, depoimentos e seções completas para escolas de excelência\",\r\n category: \"education\",\r\n tags: [\r\n \"escola\",\r\n \"colégio\",\r\n \"premium\",\r\n \"moderno\",\r\n \"profissional\",\r\n \"bilíngue\",\r\n \"steam\",\r\n \"educação\",\r\n \"landing page\",\r\n ],\r\n preview: \"https://placehold.co/400x300/6366f1/white?text=Colégio+Vanguarda\",\r\n },\r\n {\r\n id: \"escola-edvi\",\r\n name: \"Edvi\",\r\n description:\r\n \"Template Edvi para escolas – hero com overlay azul, countdown de admissão, carousel, blog, equipe e formulário de contato\",\r\n category: \"education\",\r\n tags: [\r\n \"edvi\",\r\n \"escola\",\r\n \"educação\",\r\n \"countdown\",\r\n \"carousel\",\r\n \"blog\",\r\n \"equipe\",\r\n \"landing page\",\r\n ],\r\n preview: \"https://placehold.co/400x300/2563eb/white?text=Edvi\",\r\n },\r\n {\r\n id: \"escola-zilom\",\r\n name: \"Template Chat\",\r\n description:\r\n \"Template Zilom para ensino online – hero split com gradiente, cursos populares, categorias, depoimentos, newsletter e formulário de registro\",\r\n category: \"education\",\r\n tags: [\r\n \"zilom\",\r\n \"cursos\",\r\n \"ensino online\",\r\n \"course card\",\r\n \"category card\",\r\n \"newsletter\",\r\n \"landing page\",\r\n ],\r\n preview: \"https://placehold.co/400x300/6366f1/white?text=Zilom\",\r\n },\r\n {\r\n id: \"escola-blog\",\r\n name: \"Escola Blog\",\r\n description:\r\n \"Template simples com blog integrado — ideal para testar o sistema de plugins. Ative o plugin Blog no editor para páginas dinâmicas.\",\r\n category: \"education\",\r\n tags: [\r\n \"escola\",\r\n \"blog\",\r\n \"plugin\",\r\n \"simples\",\r\n \"notícias\",\r\n \"landing page\",\r\n ],\r\n preview: \"https://placehold.co/400x300/4f46e5/white?text=Escola+Blog\",\r\n },\r\n];\r\n\r\n/**\r\n * Mapa de templates por ID para acesso rápido\r\n */\r\nexport const templates = {\r\n \"escola-premium\": escolaPremiumTemplate,\r\n \"escola-edvi\": escolaEdviTemplate,\r\n \"escola-zilom\": escolaZilomTemplate,\r\n \"escola-blog\": escolaBlogTemplate,\r\n} as const;\r\n\r\nexport type TemplateId = keyof typeof templates;\r\n\r\n/**\r\n * Retorna um template pelo ID\r\n */\r\nexport function getTemplate(id: TemplateId) {\r\n return templates[id] || null;\r\n}\r\n\r\n/**\r\n * Retorna templates filtrados por categoria\r\n */\r\nexport function getTemplatesByCategory(category: string): TemplateInfo[] {\r\n return templateList.filter((t) => t.category === category);\r\n}\r\n\r\n/**\r\n * Retorna templates filtrados por tag\r\n */\r\nexport function getTemplatesByTag(tag: string): TemplateInfo[] {\r\n return templateList.filter((t) => t.tags.includes(tag.toLowerCase()));\r\n}\r\n\r\n/**\r\n * Busca templates por termo\r\n */\r\nexport function searchTemplates(query: string): TemplateInfo[] {\r\n const q = query.toLowerCase();\r\n return templateList.filter(\r\n (t) =>\r\n t.name.toLowerCase().includes(q) ||\r\n t.description.toLowerCase().includes(q) ||\r\n t.tags.some((tag) => tag.includes(q)),\r\n );\r\n}\r\n"],"names":["templateList","templates","escolaPremiumTemplate","escolaEdviTemplate","escolaZilomTemplate","escolaBlogTemplate","getTemplate","id","getTemplatesByCategory","category","t","getTemplatesByTag","tag","searchTemplates","query","q"],"mappings":";;;;AAgCO,MAAMA,IAA+B;AAAA,EAC1C;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,IACF,UAAU;AAAA,IACV,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,SAAS;AAAA,EAAA;AAAA,EAEX;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,IACF,UAAU;AAAA,IACV,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,SAAS;AAAA,EAAA;AAAA,EAEX;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,IACF,UAAU;AAAA,IACV,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,SAAS;AAAA,EAAA;AAAA,EAEX;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,IACF,UAAU;AAAA,IACV,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,SAAS;AAAA,EAAA;AAEb,GAKaC,IAAY;AAAA,EACvB,kBAAkBC;AAAA,EAClB,eAAeC;AAAA,EACf,gBAAgBC;AAAA,EAChB,eAAeC;AACjB;AAOO,SAASC,EAAYC,GAAgB;AAC1C,SAAON,EAAUM,CAAE,KAAK;AAC1B;AAKO,SAASC,EAAuBC,GAAkC;AACvE,SAAOT,EAAa,OAAO,CAACU,MAAMA,EAAE,aAAaD,CAAQ;AAC3D;AAKO,SAASE,EAAkBC,GAA6B;AAC7D,SAAOZ,EAAa,OAAO,CAACU,MAAMA,EAAE,KAAK,SAASE,EAAI,YAAA,CAAa,CAAC;AACtE;AAKO,SAASC,EAAgBC,GAA+B;AAC7D,QAAMC,IAAID,EAAM,YAAA;AAChB,SAAOd,EAAa;AAAA,IAClB,CAACU,MACCA,EAAE,KAAK,YAAA,EAAc,SAASK,CAAC,KAC/BL,EAAE,YAAY,YAAA,EAAc,SAASK,CAAC,KACtCL,EAAE,KAAK,KAAK,CAACE,MAAQA,EAAI,SAASG,CAAC,CAAC;AAAA,EAAA;AAE1C;"}
@@ -1,9 +1,10 @@
1
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: SiteDocument, newDoc: SiteDocument): 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,YAAY,EAAS,MAAM,+BAA+B,CAAA;AAqDnE;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,GACnB,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"}