@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
@@ -1 +1 @@
1
- {"version":3,"file":"hero.js","sources":["../../../../../src/engine/registry/blocks/sections/hero.ts"],"sourcesContent":["import { BlockDefinition } from \"../../types\";\nimport { componentRegistry } from \"../../registry\";\nimport { heroVariations, heroVariationIds } from \"../../../presets/heroVariations\";\n\n/**\n * Valores padrão do Hero - Use para garantir consistência em templates e factories\n */\nexport const HERO_DEFAULT_PROPS = {\n variant: \"centered\",\n title: \"Bem-vindo ao Nosso Site\",\n subtitle: \"Subtítulo incrível aqui\",\n description: \"Uma descrição breve do seu produto ou serviço.\",\n primaryButton: { text: \"Começar Agora\" },\n secondaryButton: { text: \"Saber Mais\" },\n align: \"center\",\n contentPosition: \"center\",\n contentSpacing: \"default\",\n blockGap: \"default\",\n minHeight: \"70vh\",\n // Layout\n contentMaxWidth: \"700px\",\n paddingY: \"100px\",\n // Image\n imageRadius: 16,\n imageShadow: \"lg\",\n imagePosition: \"right\",\n // Button defaults\n buttonSize: \"md\",\n primaryButtonVariant: \"solid\",\n primaryButtonRadius: 8,\n secondaryButtonVariant: \"outline\",\n secondaryButtonRadius: 8,\n // Button hover defaults\n buttonHoverEffect: \"scale\",\n buttonHoverIntensity: 50,\n buttonHoverOverlay: \"none\",\n buttonHoverIconName: \"arrow-right\",\n} as const;\n\nexport const heroBlock: BlockDefinition = {\n type: \"hero\",\n name: \"Hero\",\n description: \"Seção hero completa com múltiplas variações\",\n category: \"sections\",\n canHaveChildren: false,\n defaultProps: HERO_DEFAULT_PROPS,\n variations: heroVariationIds.reduce(\n (acc, id) => {\n const v = heroVariations[id];\n acc[id] = { id: v.id, name: v.name, defaultProps: v.defaultProps };\n return acc;\n },\n {} as Record<\n string,\n { id: string; name: string; defaultProps: Record<string, any> }\n >,\n ),\n inspectorMeta: {\n // =========================================================================\n // GRUPO: Conteúdo\n // =========================================================================\n title: {\n label: \"Título\",\n inputType: \"text\",\n group: \"Conteúdo\",\n },\n titleTypography: {\n label: \"Estilo do Título\",\n inputType: \"typography\",\n group: \"Conteúdo\",\n },\n subtitle: {\n label: \"Subtítulo\",\n inputType: \"text\",\n group: \"Conteúdo\",\n },\n subtitleTypography: {\n label: \"Estilo do Subtítulo\",\n inputType: \"typography\",\n group: \"Conteúdo\",\n },\n description: {\n label: \"Descrição\",\n inputType: \"textarea\",\n group: \"Conteúdo\",\n },\n descriptionTypography: {\n label: \"Estilo da Descrição\",\n inputType: \"typography\",\n group: \"Conteúdo\",\n },\n badge: {\n label: \"Badge\",\n inputType: \"text\",\n group: \"Conteúdo\",\n },\n\n // =========================================================================\n // GRUPO: Mídia\n // =========================================================================\n image: {\n label: \"Imagem\",\n inputType: \"image-upload\",\n group: \"Mídia\",\n description: \"Imagem de fundo ou lateral\",\n },\n imagePosition: {\n label: \"Inverter Layout\",\n inputType: \"select\",\n options: [\n { label: \"Conteúdo à Esquerda / Imagem à Direita\", value: \"right\" },\n { label: \"Imagem à Esquerda / Conteúdo à Direita\", value: \"left\" },\n ],\n group: \"Layout\",\n description: \"Inverte a posição do conteúdo e da imagem em layouts divididos\",\n },\n imageRadius: {\n label: \"Cantos da Imagem\",\n inputType: \"slider\",\n min: 0,\n max: 32,\n step: 2,\n group: \"Mídia\",\n },\n imageShadow: {\n label: \"Sombra da Imagem\",\n inputType: \"select\",\n options: [\n { label: \"Nenhuma\", value: \"none\" },\n { label: \"Pequena\", value: \"sm\" },\n { label: \"Média\", value: \"md\" },\n { label: \"Grande\", value: \"lg\" },\n { label: \"Extra Grande\", value: \"xl\" },\n ],\n group: \"Mídia\",\n },\n\n // =========================================================================\n // GRUPO: Grid de Imagens\n // =========================================================================\n imageGridEnabled: {\n label: \"Usar Grid de Imagens\",\n inputType: \"checkbox\",\n group: \"Grid de Imagens\",\n description: \"Substituir imagem única por grid de até 4 imagens (split layout)\",\n },\n imageGridConfig: {\n label: \"Configuração da Grid\",\n inputType: \"image-grid\",\n group: \"Grid de Imagens\",\n showWhen: { field: \"imageGridEnabled\", equals: true },\n },\n\n // =========================================================================\n // GRUPO: Layout\n // =========================================================================\n align: {\n label: \"Alinhamento do Texto\",\n inputType: \"select\",\n options: [\n { label: \"Esquerda\", value: \"left\" },\n { label: \"Centro\", value: \"center\" },\n { label: \"Direita\", value: \"right\" },\n ],\n group: \"Layout\",\n description: \"Alinhamento do texto e elementos internos\",\n },\n contentPosition: {\n label: \"Posição do Conteúdo\",\n inputType: \"select\",\n options: [\n { label: \"Esquerda\", value: \"left\" },\n { label: \"Centro\", value: \"center\" },\n { label: \"Direita\", value: \"right\" },\n ],\n group: \"Layout\",\n description: \"Posição do bloco de conteúdo no layout\",\n },\n contentSpacing: {\n label: \"Espaçamento do Conteúdo\",\n inputType: \"select\",\n options: [\n { label: \"Compacto\", value: \"compact\" },\n { label: \"Padrão\", value: \"default\" },\n { label: \"Espaçoso\", value: \"spacious\" },\n ],\n group: \"Layout\",\n description: \"Distância entre título, subtítulo, descrição e botões\",\n },\n blockGap: {\n label: \"Distância entre Blocos\",\n inputType: \"select\",\n options: [\n { label: \"Padrão\", value: \"default\" },\n { label: \"Largo\", value: \"wide\" },\n { label: \"X. Largo\", value: \"x-wide\" },\n ],\n group: \"Layout\",\n description: \"Distância entre o bloco de conteúdo e a imagem\",\n },\n minHeight: {\n label: \"Altura\",\n inputType: \"select\",\n options: [\n { label: \"Padrão\", value: \"70vh\" },\n { label: \"Média\", value: \"85vh\" },\n { label: \"Tela Cheia\", value: \"100vh\" },\n ],\n group: \"Layout\",\n },\n contentMaxWidth: {\n label: \"Largura do Conteúdo\",\n inputType: \"select\",\n options: [\n { label: \"Padrão\", value: \"700px\" },\n { label: \"Larga\", value: \"900px\" },\n { label: \"Máxima\", value: \"1200px\" },\n ],\n group: \"Layout\",\n showWhen: { field: \"variant\", notEquals: \"split\" },\n },\n\n // =========================================================================\n // GRUPO: Aparência\n // =========================================================================\n background: {\n label: \"Cor de Fundo\",\n inputType: \"color-advanced\",\n group: \"Aparência\",\n description: \"Cor ou gradiente de fundo\",\n },\n overlay: {\n label: \"Escurecer Imagem\",\n inputType: \"checkbox\",\n group: \"Aparência\",\n },\n overlayColor: {\n label: \"Cor do Overlay\",\n inputType: \"color-advanced\",\n group: \"Aparência\",\n description: \"Gradiente sobre a imagem\",\n },\n showWave: {\n label: \"Onda Decorativa\",\n inputType: \"checkbox\",\n group: \"Aparência\",\n },\n waveColor: {\n label: \"Cor da Onda\",\n inputType: \"color-advanced\",\n group: \"Aparência\",\n showWhen: { field: \"showWave\", equals: true },\n },\n\n // =========================================================================\n // GRUPO: Badge\n // =========================================================================\n badgeColor: {\n label: \"Cor do Badge\",\n inputType: \"color-advanced\",\n group: \"Badge\",\n },\n badgeTextColor: {\n label: \"Cor do Texto\",\n inputType: \"color-advanced\",\n group: \"Badge\",\n },\n\n // =========================================================================\n // GRUPO: Botão Primário\n // =========================================================================\n primaryButtonVariant: {\n label: \"Estilo\",\n inputType: \"select\",\n options: [\n { label: \"Sólido\", value: \"solid\" },\n { label: \"Contorno\", value: \"outline\" },\n { label: \"Ghost\", value: \"ghost\" },\n ],\n group: \"Botão Primário\",\n },\n primaryButtonColor: {\n label: \"Cor\",\n inputType: \"color-advanced\",\n group: \"Botão Primário\",\n },\n primaryButtonTextColor: {\n label: \"Cor do Texto\",\n inputType: \"color-advanced\",\n group: \"Botão Primário\",\n },\n primaryButtonRadius: {\n label: \"Cantos\",\n inputType: \"slider\",\n min: 0,\n max: 50,\n step: 2,\n group: \"Botão Primário\",\n },\n\n // =========================================================================\n // GRUPO: Botão Secundário\n // =========================================================================\n secondaryButtonVariant: {\n label: \"Estilo\",\n inputType: \"select\",\n options: [\n { label: \"Sólido\", value: \"solid\" },\n { label: \"Contorno\", value: \"outline\" },\n { label: \"Ghost\", value: \"ghost\" },\n ],\n group: \"Botão Secundário\",\n },\n secondaryButtonColor: {\n label: \"Cor\",\n inputType: \"color-advanced\",\n group: \"Botão Secundário\",\n },\n secondaryButtonTextColor: {\n label: \"Cor do Texto\",\n inputType: \"color-advanced\",\n group: \"Botão Secundário\",\n },\n secondaryButtonRadius: {\n label: \"Cantos\",\n inputType: \"slider\",\n min: 0,\n max: 50,\n step: 2,\n group: \"Botão Secundário\",\n },\n\n // =========================================================================\n // GRUPO: Efeitos Hover (afeta ambos os botões)\n // =========================================================================\n buttonSize: {\n label: \"Tamanho\",\n inputType: \"select\",\n options: [\n { label: \"Pequeno\", value: \"sm\" },\n { label: \"Médio\", value: \"md\" },\n { label: \"Grande\", value: \"lg\" },\n ],\n group: \"Efeitos Hover\",\n },\n buttonHoverEffect: {\n label: \"Efeito Hover\",\n inputType: \"select\",\n options: [\n { label: \"Nenhum\", value: \"none\" },\n { label: \"Escurecer\", value: \"darken\" },\n { label: \"Clarear\", value: \"lighten\" },\n { label: \"Escala\", value: \"scale\" },\n { label: \"Brilho Neon\", value: \"glow\" },\n { label: \"Sombra\", value: \"shadow\" },\n { label: \"Pulso\", value: \"pulse\" },\n ],\n group: \"Efeitos Hover\",\n },\n buttonHoverIntensity: {\n label: \"Intensidade\",\n inputType: \"slider\",\n min: 10,\n max: 100,\n step: 10,\n group: \"Efeitos Hover\",\n },\n buttonHoverOverlay: {\n label: \"Efeito Extra\",\n inputType: \"select\",\n options: [\n { label: \"Nenhum\", value: \"none\" },\n { label: \"Brilho\", value: \"shine\" },\n { label: \"Preenchimento\", value: \"fill\" },\n { label: \"Salto\", value: \"bounce\" },\n { label: \"Ícone\", value: \"icon\" },\n { label: \"Borda Glow\", value: \"border-glow\" },\n ],\n group: \"Efeitos Hover\",\n },\n buttonHoverIconName: {\n label: \"Ícone\",\n inputType: \"icon-grid\",\n group: \"Efeitos Hover\",\n showWhen: { field: \"buttonHoverOverlay\", equals: \"icon\" },\n },\n },\n};\n\n// Auto-registro\ncomponentRegistry.register(heroBlock);\n"],"names":["HERO_DEFAULT_PROPS","heroBlock","heroVariationIds","acc","id","v","heroVariations","componentRegistry"],"mappings":"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"}
1
+ {"version":3,"file":"hero.js","sources":["../../../../../src/engine/registry/blocks/sections/hero.ts"],"sourcesContent":["import { BlockDefinition } from \"../../types\";\nimport { componentRegistry } from \"../../registry\";\nimport { heroVariations, heroVariationIds } from \"../../../presets/heroVariations\";\n\n/**\n * Valores padrão do Hero - Use para garantir consistência em templates e factories\n */\nexport const HERO_DEFAULT_PROPS = {\n variant: \"centered\",\n title: \"Bem-vindo ao Nosso Site\",\n subtitle: \"Subtítulo incrível aqui\",\n description: \"Uma descrição breve do seu produto ou serviço.\",\n primaryButton: { text: \"Começar Agora\" },\n secondaryButton: { text: \"Saber Mais\" },\n align: \"center\",\n contentPosition: \"center\",\n contentSpacing: \"default\",\n blockGap: \"default\",\n minHeight: \"70vh\",\n // Layout\n contentMaxWidth: \"700px\",\n paddingY: \"100px\",\n // Image\n imageRadius: 16,\n imageShadow: \"lg\",\n imagePosition: \"right\",\n // Button defaults\n buttonSize: \"md\",\n primaryButtonVariant: \"solid\",\n primaryButtonRadius: 8,\n secondaryButtonVariant: \"outline\",\n secondaryButtonRadius: 8,\n // Button hover defaults\n buttonHoverEffect: \"scale\",\n buttonHoverIntensity: 50,\n buttonHoverOverlay: \"none\",\n buttonHoverIconName: \"arrow-right\",\n} as const;\n\nexport const heroBlock: BlockDefinition = {\n type: \"hero\",\n name: \"Hero\",\n description: \"Seção hero completa com múltiplas variações\",\n category: \"sections\",\n canHaveChildren: false,\n defaultProps: HERO_DEFAULT_PROPS,\n variations: heroVariationIds.reduce(\n (acc, id) => {\n const v = heroVariations[id];\n acc[id] = { id: v.id, name: v.name, defaultProps: v.defaultProps };\n return acc;\n },\n {} as Record<\n string,\n { id: string; name: string; defaultProps: Record<string, any> }\n >,\n ),\n inspectorMeta: {\n // =========================================================================\n // GRUPO: Conteúdo\n // =========================================================================\n title: {\n label: \"Título\",\n inputType: \"text\",\n group: \"Conteúdo\",\n },\n titleTypography: {\n label: \"Estilo do Título\",\n inputType: \"typography\",\n group: \"Conteúdo\",\n },\n subtitle: {\n label: \"Subtítulo\",\n inputType: \"text\",\n group: \"Conteúdo\",\n },\n subtitleTypography: {\n label: \"Estilo do Subtítulo\",\n inputType: \"typography\",\n group: \"Conteúdo\",\n },\n description: {\n label: \"Descrição\",\n inputType: \"textarea\",\n group: \"Conteúdo\",\n },\n descriptionTypography: {\n label: \"Estilo da Descrição\",\n inputType: \"typography\",\n group: \"Conteúdo\",\n },\n badge: {\n label: \"Badge\",\n inputType: \"text\",\n group: \"Conteúdo\",\n },\n\n // =========================================================================\n // GRUPO: Mídia\n // =========================================================================\n image: {\n label: \"Imagem\",\n inputType: \"image-upload\",\n group: \"Mídia\",\n description: \"Imagem de fundo ou lateral\",\n showWhen: { field: \"imageGridEnabled\", notEquals: true },\n },\n imagePosition: {\n label: \"Inverter Layout\",\n inputType: \"select\",\n options: [\n { label: \"Conteúdo à Esquerda / Imagem à Direita\", value: \"right\" },\n { label: \"Imagem à Esquerda / Conteúdo à Direita\", value: \"left\" },\n ],\n group: \"Layout\",\n description: \"Inverte a posição do conteúdo e da imagem\",\n showWhen: {\n or: [\n { field: \"image\", truthy: true },\n { field: \"imageGridEnabled\", equals: true },\n ],\n },\n },\n imageRadius: {\n label: \"Cantos da Imagem\",\n inputType: \"slider\",\n min: 0,\n max: 32,\n step: 2,\n group: \"Mídia\",\n showWhen: {\n and: [\n { field: \"image\", truthy: true },\n { field: \"imageGridEnabled\", notEquals: true },\n ],\n },\n },\n imageShadow: {\n label: \"Sombra da Imagem\",\n inputType: \"select\",\n options: [\n { label: \"Nenhuma\", value: \"none\" },\n { label: \"Pequena\", value: \"sm\" },\n { label: \"Média\", value: \"md\" },\n { label: \"Grande\", value: \"lg\" },\n { label: \"Extra Grande\", value: \"xl\" },\n ],\n group: \"Mídia\",\n showWhen: {\n and: [\n { field: \"image\", truthy: true },\n { field: \"imageGridEnabled\", notEquals: true },\n ],\n },\n },\n\n // =========================================================================\n // GRUPO: Grid de Imagens\n // =========================================================================\n imageGridEnabled: {\n label: \"Usar Grid de Imagens\",\n inputType: \"checkbox\",\n group: \"Grid de Imagens\",\n description: \"Substituir imagem única por grid de até 4 imagens\",\n },\n imageGridConfig: {\n label: \"Configuração da Grid\",\n inputType: \"image-grid\",\n group: \"Grid de Imagens\",\n showWhen: { field: \"imageGridEnabled\", equals: true },\n },\n\n // =========================================================================\n // GRUPO: Layout\n // =========================================================================\n align: {\n label: \"Alinhamento do Texto\",\n inputType: \"select\",\n options: [\n { label: \"Esquerda\", value: \"left\" },\n { label: \"Centro\", value: \"center\" },\n { label: \"Direita\", value: \"right\" },\n ],\n group: \"Layout\",\n description: \"Alinhamento do texto e elementos internos\",\n },\n contentPosition: {\n label: \"Posição do Conteúdo\",\n inputType: \"select\",\n options: [\n { label: \"Esquerda\", value: \"left\" },\n { label: \"Centro\", value: \"center\" },\n { label: \"Direita\", value: \"right\" },\n ],\n group: \"Layout\",\n description: \"Posição do bloco de conteúdo no layout\",\n },\n contentSpacing: {\n label: \"Espaçamento do Conteúdo\",\n inputType: \"select\",\n options: [\n { label: \"Compacto\", value: \"compact\" },\n { label: \"Padrão\", value: \"default\" },\n { label: \"Espaçoso\", value: \"spacious\" },\n ],\n group: \"Layout\",\n description: \"Distância entre título, subtítulo, descrição e botões\",\n },\n blockGap: {\n label: \"Distância entre Blocos\",\n inputType: \"select\",\n options: [\n { label: \"Padrão\", value: \"default\" },\n { label: \"Largo\", value: \"wide\" },\n { label: \"X. Largo\", value: \"x-wide\" },\n ],\n group: \"Layout\",\n description: \"Distância entre o bloco de conteúdo e a mídia\",\n showWhen: {\n or: [\n { field: \"image\", truthy: true },\n { field: \"imageGridEnabled\", equals: true },\n ],\n },\n },\n minHeight: {\n label: \"Altura\",\n inputType: \"select\",\n options: [\n { label: \"Padrão\", value: \"70vh\" },\n { label: \"Média\", value: \"85vh\" },\n { label: \"Tela Cheia\", value: \"100vh\" },\n ],\n group: \"Layout\",\n },\n contentMaxWidth: {\n label: \"Largura do Conteúdo\",\n inputType: \"select\",\n options: [\n { label: \"Padrão\", value: \"700px\" },\n { label: \"Larga\", value: \"900px\" },\n { label: \"Máxima\", value: \"1200px\" },\n ],\n group: \"Layout\",\n showWhen: { field: \"variant\", notEquals: \"split\" },\n },\n\n // =========================================================================\n // GRUPO: Aparência\n // =========================================================================\n background: {\n label: \"Cor de Fundo\",\n inputType: \"color-advanced\",\n group: \"Aparência\",\n description: \"Cor ou gradiente de fundo\",\n },\n overlay: {\n label: \"Escurecer Imagem\",\n inputType: \"checkbox\",\n group: \"Aparência\",\n },\n overlayColor: {\n label: \"Cor do Overlay\",\n inputType: \"color-advanced\",\n group: \"Aparência\",\n description: \"Gradiente sobre a imagem\",\n },\n showWave: {\n label: \"Onda Decorativa\",\n inputType: \"checkbox\",\n group: \"Aparência\",\n },\n waveColor: {\n label: \"Cor da Onda\",\n inputType: \"color-advanced\",\n group: \"Aparência\",\n showWhen: { field: \"showWave\", equals: true },\n },\n\n // =========================================================================\n // GRUPO: Badge\n // =========================================================================\n badgeColor: {\n label: \"Cor do Badge\",\n inputType: \"color-advanced\",\n group: \"Badge\",\n },\n badgeTextColor: {\n label: \"Cor do Texto\",\n inputType: \"color-advanced\",\n group: \"Badge\",\n },\n\n // =========================================================================\n // GRUPO: Botão Primário\n // =========================================================================\n primaryButtonVariant: {\n label: \"Estilo\",\n inputType: \"select\",\n options: [\n { label: \"Sólido\", value: \"solid\" },\n { label: \"Contorno\", value: \"outline\" },\n { label: \"Ghost\", value: \"ghost\" },\n ],\n group: \"Botão Primário\",\n },\n primaryButtonColor: {\n label: \"Cor\",\n inputType: \"color-advanced\",\n group: \"Botão Primário\",\n },\n primaryButtonTextColor: {\n label: \"Cor do Texto\",\n inputType: \"color-advanced\",\n group: \"Botão Primário\",\n },\n primaryButtonRadius: {\n label: \"Cantos\",\n inputType: \"slider\",\n min: 0,\n max: 50,\n step: 2,\n group: \"Botão Primário\",\n },\n\n // =========================================================================\n // GRUPO: Botão Secundário\n // =========================================================================\n secondaryButtonVariant: {\n label: \"Estilo\",\n inputType: \"select\",\n options: [\n { label: \"Sólido\", value: \"solid\" },\n { label: \"Contorno\", value: \"outline\" },\n { label: \"Ghost\", value: \"ghost\" },\n ],\n group: \"Botão Secundário\",\n },\n secondaryButtonColor: {\n label: \"Cor\",\n inputType: \"color-advanced\",\n group: \"Botão Secundário\",\n },\n secondaryButtonTextColor: {\n label: \"Cor do Texto\",\n inputType: \"color-advanced\",\n group: \"Botão Secundário\",\n },\n secondaryButtonRadius: {\n label: \"Cantos\",\n inputType: \"slider\",\n min: 0,\n max: 50,\n step: 2,\n group: \"Botão Secundário\",\n },\n\n // =========================================================================\n // GRUPO: Efeitos Hover (afeta ambos os botões)\n // =========================================================================\n buttonSize: {\n label: \"Tamanho\",\n inputType: \"select\",\n options: [\n { label: \"Pequeno\", value: \"sm\" },\n { label: \"Médio\", value: \"md\" },\n { label: \"Grande\", value: \"lg\" },\n ],\n group: \"Efeitos Hover\",\n },\n buttonHoverEffect: {\n label: \"Efeito Hover\",\n inputType: \"select\",\n options: [\n { label: \"Nenhum\", value: \"none\" },\n { label: \"Escurecer\", value: \"darken\" },\n { label: \"Clarear\", value: \"lighten\" },\n { label: \"Escala\", value: \"scale\" },\n { label: \"Brilho Neon\", value: \"glow\" },\n { label: \"Sombra\", value: \"shadow\" },\n { label: \"Pulso\", value: \"pulse\" },\n ],\n group: \"Efeitos Hover\",\n },\n buttonHoverIntensity: {\n label: \"Intensidade\",\n inputType: \"slider\",\n min: 10,\n max: 100,\n step: 10,\n group: \"Efeitos Hover\",\n },\n buttonHoverOverlay: {\n label: \"Efeito Extra\",\n inputType: \"select\",\n options: [\n { label: \"Nenhum\", value: \"none\" },\n { label: \"Brilho\", value: \"shine\" },\n { label: \"Preenchimento\", value: \"fill\" },\n { label: \"Salto\", value: \"bounce\" },\n { label: \"Ícone\", value: \"icon\" },\n { label: \"Borda Glow\", value: \"border-glow\" },\n ],\n group: \"Efeitos Hover\",\n },\n buttonHoverIconName: {\n label: \"Ícone\",\n inputType: \"icon-grid\",\n group: \"Efeitos Hover\",\n showWhen: { field: \"buttonHoverOverlay\", equals: \"icon\" },\n },\n\n // =========================================================================\n // GRUPO: Carrossel\n // =========================================================================\n carouselImages: {\n label: \"Imagens do Carrossel\",\n inputType: \"carousel-images\",\n group: \"Carrossel\",\n description: \"Imagens de fundo que alternam automaticamente\",\n showWhen: { field: \"variation\", equals: \"hero-carousel\" },\n },\n carouselInterval: {\n label: \"Intervalo (segundos)\",\n inputType: \"slider\",\n min: 3,\n max: 10,\n step: 1,\n group: \"Carrossel\",\n showWhen: { field: \"variation\", equals: \"hero-carousel\" },\n },\n carouselTransition: {\n label: \"Transição\",\n inputType: \"select\",\n options: [\n { label: \"Crossfade\", value: \"crossfade\" },\n ],\n group: \"Carrossel\",\n showWhen: { field: \"variation\", equals: \"hero-carousel\" },\n },\n },\n};\n\n// Auto-registro\ncomponentRegistry.register(heroBlock);\n"],"names":["HERO_DEFAULT_PROPS","heroBlock","heroVariationIds","acc","id","v","heroVariations","componentRegistry"],"mappings":"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"}
@@ -21,4 +21,7 @@ export * from './teamCard';
21
21
  export * from './teamGrid';
22
22
  export * from './courseCardGrid';
23
23
  export * from './categoryCardGrid';
24
+ export * from './blogPostCard';
25
+ export * from './blogPostGrid';
26
+ export * from './blogPostDetail';
24
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/engine/registry/blocks/sections/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/engine/registry/blocks/sections/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"navbar.d.ts","sourceRoot":"","sources":["../../../../../src/engine/registry/blocks/sections/navbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAO9C;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCvB,CAAC;AAEX,eAAO,MAAM,WAAW,EAAE,eAgQzB,CAAC"}
1
+ {"version":3,"file":"navbar.d.ts","sourceRoot":"","sources":["../../../../../src/engine/registry/blocks/sections/navbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAO9C;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCvB,CAAC;AAEX,eAAO,MAAM,WAAW,EAAE,eAiQzB,CAAC"}
@@ -155,7 +155,8 @@ const r = {
155
155
  min: 40,
156
156
  max: 130,
157
157
  step: 5,
158
- group: "Logo e Marca"
158
+ group: "Logo e Marca",
159
+ showWhen: { field: "logo", truthy: !0 }
159
160
  },
160
161
  logoText: {
161
162
  label: "Texto Alternativo",
@@ -1 +1 @@
1
- {"version":3,"file":"navbar.js","sources":["../../../../../src/engine/registry/blocks/sections/navbar.ts"],"sourcesContent":["import { BlockDefinition } from \"../../types\";\nimport { componentRegistry } from \"../../registry\";\nimport {\n navbarVariations,\n navbarVariationIds,\n} from \"../../../presets/navbarVariations\";\n\n/**\n * Valores padrão da Navbar - Use para garantir consistência em templates e factories\n */\nexport const NAVBAR_DEFAULT_PROPS = {\n variation: \"navbar-moderno\",\n links: [\n { text: \"Início\", href: \"/site/p/home\" },\n { text: \"Serviços\", href: \"/site/p/servicos\" },\n { text: \"Produtos\", href: \"/site/p/produtos\" },\n { text: \"Contato\", href: \"/site/p/contato\" },\n ],\n ctaButton: { text: \"Começar\", href: \"/site/p/contato\" },\n sticky: true,\n floating: false,\n layout: \"expanded\",\n borderRadius: 0,\n shadow: \"sm\",\n opacity: 100,\n blurOpacity: 0,\n logoHeight: 70,\n linkFontSize: \"md\",\n buttonVariant: \"solid\",\n buttonBorderRadius: 8,\n // Borda\n borderPosition: \"none\",\n borderWidth: 1,\n borderColor: \"#e5e7eb\",\n // Cores padrão\n bg: \"#ffffff\",\n linkColor: \"#374151\",\n linkHoverColor: \"#2563eb\",\n linkHoverEffect: \"background\",\n linkHoverIntensity: 50,\n buttonColor: \"#2563eb\",\n buttonTextColor: \"#ffffff\",\n buttonSize: \"md\",\n buttonHoverEffect: \"darken\",\n buttonHoverIntensity: 50,\n buttonHoverOverlay: \"none\",\n buttonHoverIconName: \"arrow-right\",\n} as const;\n\nexport const navbarBlock: BlockDefinition = {\n type: \"navbar\",\n name: \"Navbar\",\n description: \"Barra de navegação customizável\",\n category: \"sections\",\n canHaveChildren: false,\n defaultProps: NAVBAR_DEFAULT_PROPS,\n variations: navbarVariationIds.reduce(\n (acc, id) => {\n const v = navbarVariations[id];\n acc[id] = { id: v.id, name: v.name, defaultProps: v.defaultProps };\n return acc;\n },\n {} as Record<\n string,\n { id: string; name: string; defaultProps: Record<string, any> }\n >,\n ),\n inspectorMeta: {\n // === GRUPO: Posicionamento ===\n layout: {\n label: \"Organizacao\",\n inputType: \"select\",\n options: [\n { label: \"Expandido\", value: \"expanded\" },\n { label: \"Centralizado\", value: \"centered\" },\n { label: \"Compacto\", value: \"compact\" },\n ],\n group: \"Posicionamento\",\n },\n sticky: {\n label: \"Fixar no Topo\",\n inputType: \"checkbox\",\n size: \"sm\",\n group: \"Posicionamento\",\n },\n floating: {\n label: \"Menu Flutuante\",\n inputType: \"checkbox\",\n size: \"sm\",\n group: \"Posicionamento\",\n },\n\n // === GRUPO: Aparencia ===\n bg: {\n label: \"Cor de Fundo\",\n inputType: \"color-advanced\",\n group: \"Aparencia\",\n },\n opacity: {\n label: \"Transparencia\",\n inputType: \"slider\",\n min: 0,\n max: 100,\n step: 5,\n group: \"Aparencia\",\n },\n blurOpacity: {\n label: \"Desfoque\",\n inputType: \"slider\",\n min: 0,\n max: 100,\n step: 5,\n group: \"Aparencia\",\n },\n borderRadius: {\n label: \"Cantos\",\n inputType: \"slider\",\n min: 0,\n max: 32,\n step: 2,\n group: \"Aparencia\",\n },\n shadow: {\n label: \"Sombra\",\n inputType: \"select\",\n options: [\n { label: \"Nenhuma\", value: \"none\" },\n { label: \"Pequena\", value: \"sm\" },\n { label: \"Media\", value: \"md\" },\n { label: \"Grande\", value: \"lg\" },\n { label: \"Extra Grande\", value: \"xl\" },\n ],\n group: \"Aparencia\",\n },\n borderPosition: {\n label: \"Borda\",\n inputType: \"select\",\n options: [\n { label: \"Nenhuma\", value: \"none\" },\n { label: \"Completa\", value: \"all\" },\n { label: \"Superior\", value: \"top\" },\n { label: \"Inferior\", value: \"bottom\" },\n { label: \"Esquerda\", value: \"left\" },\n { label: \"Direita\", value: \"right\" },\n ],\n group: \"Aparencia\",\n },\n borderWidth: {\n label: \"Espessura da Borda\",\n inputType: \"slider\",\n min: 1,\n max: 4,\n step: 1,\n group: \"Aparencia\",\n },\n borderColor: {\n label: \"Cor da Borda\",\n inputType: \"color-advanced\",\n group: \"Aparencia\",\n },\n\n // === GRUPO: Logo e Marca ===\n logo: {\n label: \"Logo (Imagem)\",\n inputType: \"image-upload\",\n group: \"Logo e Marca\",\n },\n logoHeight: {\n label: \"Tamanho do Logo\",\n inputType: \"slider\",\n min: 40,\n max: 130,\n step: 5,\n group: \"Logo e Marca\",\n },\n logoText: {\n label: \"Texto Alternativo\",\n inputType: \"text\",\n group: \"Logo e Marca\",\n },\n\n // === GRUPO: Links ===\n linkColor: {\n label: \"Cor\",\n inputType: \"color-advanced\",\n group: \"Links\",\n },\n linkHoverColor: {\n label: \"Cor (Hover)\",\n inputType: \"color-advanced\",\n group: \"Links\",\n },\n linkFontSize: {\n label: \"Tamanho\",\n inputType: \"select\",\n options: [\n { label: \"Pequeno\", value: \"sm\" },\n { label: \"Medio\", value: \"md\" },\n { label: \"Grande\", value: \"lg\" },\n ],\n group: \"Links\",\n },\n linkHoverEffect: {\n label: \"Efeito Hover\",\n inputType: \"select\",\n options: [\n { label: \"Fundo\", value: \"background\" },\n { label: \"Sublinhado\", value: \"underline\" },\n { label: \"Sublinhado Centro\", value: \"underline-center\" },\n { label: \"Fundo Subindo\", value: \"slide-bg\" },\n { label: \"Escala\", value: \"scale\" },\n { label: \"Brilho Neon\", value: \"glow\" },\n ],\n group: \"Links\",\n },\n linkHoverIntensity: {\n label: \"Intensidade\",\n inputType: \"slider\",\n min: 10,\n max: 100,\n step: 10,\n group: \"Links\",\n },\n\n // === GRUPO: Botao CTA ===\n buttonVariant: {\n label: \"Estilo\",\n inputType: \"select\",\n options: [\n { label: \"Solido\", value: \"solid\" },\n { label: \"Contorno\", value: \"outline\" },\n { label: \"Ghost\", value: \"ghost\" },\n ],\n group: \"Botao CTA\",\n },\n buttonColor: {\n label: \"Cor\",\n inputType: \"color-advanced\",\n group: \"Botao CTA\",\n },\n buttonTextColor: {\n label: \"Cor do Texto\",\n inputType: \"color-advanced\",\n group: \"Botao CTA\",\n },\n buttonBorderRadius: {\n label: \"Cantos do Botao\",\n inputType: \"slider\",\n min: 0,\n max: 32,\n step: 2,\n group: \"Botao CTA\",\n },\n buttonSize: {\n label: \"Tamanho\",\n inputType: \"select\",\n options: [\n { label: \"Pequeno\", value: \"sm\" },\n { label: \"Medio\", value: \"md\" },\n { label: \"Grande\", value: \"lg\" },\n ],\n group: \"Botao CTA\",\n },\n buttonHoverEffect: {\n label: \"Efeito Hover\",\n inputType: \"select\",\n options: [\n { label: \"Nenhum\", value: \"none\" },\n { label: \"Escurecer\", value: \"darken\" },\n { label: \"Clarear\", value: \"lighten\" },\n { label: \"Escala\", value: \"scale\" },\n { label: \"Brilho Neon\", value: \"glow\" },\n { label: \"Sombra\", value: \"shadow\" },\n { label: \"Pulso\", value: \"pulse\" },\n ],\n group: \"Botao CTA\",\n },\n buttonHoverIntensity: {\n label: \"Intensidade\",\n inputType: \"slider\",\n min: 10,\n max: 100,\n step: 10,\n group: \"Botao CTA\",\n },\n buttonHoverOverlay: {\n label: \"Efeito Extra\",\n inputType: \"select\",\n options: [\n { label: \"Nenhum\", value: \"none\" },\n { label: \"Brilho\", value: \"shine\" },\n { label: \"Preenchimento\", value: \"fill\" },\n { label: \"Salto\", value: \"bounce\" },\n { label: \"Icone\", value: \"icon\" },\n { label: \"Borda Glow\", value: \"border-glow\" },\n ],\n group: \"Botao CTA\",\n },\n buttonHoverIconName: {\n label: \"Icone\",\n inputType: \"icon-grid\",\n group: \"Botao CTA\",\n showWhen: { field: \"buttonHoverOverlay\", equals: \"icon\" },\n },\n },\n};\n\n// Auto-registro\ncomponentRegistry.register(navbarBlock);\n"],"names":["NAVBAR_DEFAULT_PROPS","navbarBlock","navbarVariationIds","acc","id","v","navbarVariations","componentRegistry"],"mappings":";;AAUO,MAAMA,IAAuB;AAAA,EAClC,WAAW;AAAA,EACX,OAAO;AAAA,IACL,EAAE,MAAM,UAAU,MAAM,eAAA;AAAA,IACxB,EAAE,MAAM,YAAY,MAAM,mBAAA;AAAA,IAC1B,EAAE,MAAM,YAAY,MAAM,mBAAA;AAAA,IAC1B,EAAE,MAAM,WAAW,MAAM,kBAAA;AAAA,EAAkB;AAAA,EAE7C,WAAW,EAAE,MAAM,WAAW,MAAM,kBAAA;AAAA,EACpC,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,eAAe;AAAA,EACf,oBAAoB;AAAA;AAAA,EAEpB,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,aAAa;AAAA;AAAA,EAEb,IAAI;AAAA,EACJ,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,oBAAoB;AAAA,EACpB,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,oBAAoB;AAAA,EACpB,qBAAqB;AACvB,GAEaC,IAA+B;AAAA,EAC1C,MAAM;AAAA,EACN,MAAM;AAAA,EACN,aAAa;AAAA,EACb,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,cAAcD;AAAA,EACd,YAAYE,EAAmB;AAAA,IAC7B,CAACC,GAAKC,MAAO;AACX,YAAMC,IAAIC,EAAiBF,CAAE;AAC7B,aAAAD,EAAIC,CAAE,IAAI,EAAE,IAAIC,EAAE,IAAI,MAAMA,EAAE,MAAM,cAAcA,EAAE,aAAA,GAC7CF;AAAA,IACT;AAAA,IACA,CAAA;AAAA,EAAC;AAAA,EAKH,eAAe;AAAA;AAAA,IAEb,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,WAAW;AAAA,MACX,SAAS;AAAA,QACP,EAAE,OAAO,aAAa,OAAO,WAAA;AAAA,QAC7B,EAAE,OAAO,gBAAgB,OAAO,WAAA;AAAA,QAChC,EAAE,OAAO,YAAY,OAAO,UAAA;AAAA,MAAU;AAAA,MAExC,OAAO;AAAA,IAAA;AAAA,IAET,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,WAAW;AAAA,MACX,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,IAET,UAAU;AAAA,MACR,OAAO;AAAA,MACP,WAAW;AAAA,MACX,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA;AAAA,IAIT,IAAI;AAAA,MACF,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAET,SAAS;AAAA,MACP,OAAO;AAAA,MACP,WAAW;AAAA,MACX,KAAK;AAAA,MACL,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,IAET,aAAa;AAAA,MACX,OAAO;AAAA,MACP,WAAW;AAAA,MACX,KAAK;AAAA,MACL,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,IAET,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,WAAW;AAAA,MACX,KAAK;AAAA,MACL,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,IAET,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,WAAW;AAAA,MACX,SAAS;AAAA,QACP,EAAE,OAAO,WAAW,OAAO,OAAA;AAAA,QAC3B,EAAE,OAAO,WAAW,OAAO,KAAA;AAAA,QAC3B,EAAE,OAAO,SAAS,OAAO,KAAA;AAAA,QACzB,EAAE,OAAO,UAAU,OAAO,KAAA;AAAA,QAC1B,EAAE,OAAO,gBAAgB,OAAO,KAAA;AAAA,MAAK;AAAA,MAEvC,OAAO;AAAA,IAAA;AAAA,IAET,gBAAgB;AAAA,MACd,OAAO;AAAA,MACP,WAAW;AAAA,MACX,SAAS;AAAA,QACP,EAAE,OAAO,WAAW,OAAO,OAAA;AAAA,QAC3B,EAAE,OAAO,YAAY,OAAO,MAAA;AAAA,QAC5B,EAAE,OAAO,YAAY,OAAO,MAAA;AAAA,QAC5B,EAAE,OAAO,YAAY,OAAO,SAAA;AAAA,QAC5B,EAAE,OAAO,YAAY,OAAO,OAAA;AAAA,QAC5B,EAAE,OAAO,WAAW,OAAO,QAAA;AAAA,MAAQ;AAAA,MAErC,OAAO;AAAA,IAAA;AAAA,IAET,aAAa;AAAA,MACX,OAAO;AAAA,MACP,WAAW;AAAA,MACX,KAAK;AAAA,MACL,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,IAET,aAAa;AAAA,MACX,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA;AAAA,IAIT,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAET,YAAY;AAAA,MACV,OAAO;AAAA,MACP,WAAW;AAAA,MACX,KAAK;AAAA,MACL,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,IAET,UAAU;AAAA,MACR,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA;AAAA,IAIT,WAAW;AAAA,MACT,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAET,gBAAgB;AAAA,MACd,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAET,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,WAAW;AAAA,MACX,SAAS;AAAA,QACP,EAAE,OAAO,WAAW,OAAO,KAAA;AAAA,QAC3B,EAAE,OAAO,SAAS,OAAO,KAAA;AAAA,QACzB,EAAE,OAAO,UAAU,OAAO,KAAA;AAAA,MAAK;AAAA,MAEjC,OAAO;AAAA,IAAA;AAAA,IAET,iBAAiB;AAAA,MACf,OAAO;AAAA,MACP,WAAW;AAAA,MACX,SAAS;AAAA,QACP,EAAE,OAAO,SAAS,OAAO,aAAA;AAAA,QACzB,EAAE,OAAO,cAAc,OAAO,YAAA;AAAA,QAC9B,EAAE,OAAO,qBAAqB,OAAO,mBAAA;AAAA,QACrC,EAAE,OAAO,iBAAiB,OAAO,WAAA;AAAA,QACjC,EAAE,OAAO,UAAU,OAAO,QAAA;AAAA,QAC1B,EAAE,OAAO,eAAe,OAAO,OAAA;AAAA,MAAO;AAAA,MAExC,OAAO;AAAA,IAAA;AAAA,IAET,oBAAoB;AAAA,MAClB,OAAO;AAAA,MACP,WAAW;AAAA,MACX,KAAK;AAAA,MACL,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA;AAAA,IAIT,eAAe;AAAA,MACb,OAAO;AAAA,MACP,WAAW;AAAA,MACX,SAAS;AAAA,QACP,EAAE,OAAO,UAAU,OAAO,QAAA;AAAA,QAC1B,EAAE,OAAO,YAAY,OAAO,UAAA;AAAA,QAC5B,EAAE,OAAO,SAAS,OAAO,QAAA;AAAA,MAAQ;AAAA,MAEnC,OAAO;AAAA,IAAA;AAAA,IAET,aAAa;AAAA,MACX,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAET,iBAAiB;AAAA,MACf,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,IAAA;AAAA,IAET,oBAAoB;AAAA,MAClB,OAAO;AAAA,MACP,WAAW;AAAA,MACX,KAAK;AAAA,MACL,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,IAET,YAAY;AAAA,MACV,OAAO;AAAA,MACP,WAAW;AAAA,MACX,SAAS;AAAA,QACP,EAAE,OAAO,WAAW,OAAO,KAAA;AAAA,QAC3B,EAAE,OAAO,SAAS,OAAO,KAAA;AAAA,QACzB,EAAE,OAAO,UAAU,OAAO,KAAA;AAAA,MAAK;AAAA,MAEjC,OAAO;AAAA,IAAA;AAAA,IAET,mBAAmB;AAAA,MACjB,OAAO;AAAA,MACP,WAAW;AAAA,MACX,SAAS;AAAA,QACP,EAAE,OAAO,UAAU,OAAO,OAAA;AAAA,QAC1B,EAAE,OAAO,aAAa,OAAO,SAAA;AAAA,QAC7B,EAAE,OAAO,WAAW,OAAO,UAAA;AAAA,QAC3B,EAAE,OAAO,UAAU,OAAO,QAAA;AAAA,QAC1B,EAAE,OAAO,eAAe,OAAO,OAAA;AAAA,QAC/B,EAAE,OAAO,UAAU,OAAO,SAAA;AAAA,QAC1B,EAAE,OAAO,SAAS,OAAO,QAAA;AAAA,MAAQ;AAAA,MAEnC,OAAO;AAAA,IAAA;AAAA,IAET,sBAAsB;AAAA,MACpB,OAAO;AAAA,MACP,WAAW;AAAA,MACX,KAAK;AAAA,MACL,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,IAET,oBAAoB;AAAA,MAClB,OAAO;AAAA,MACP,WAAW;AAAA,MACX,SAAS;AAAA,QACP,EAAE,OAAO,UAAU,OAAO,OAAA;AAAA,QAC1B,EAAE,OAAO,UAAU,OAAO,QAAA;AAAA,QAC1B,EAAE,OAAO,iBAAiB,OAAO,OAAA;AAAA,QACjC,EAAE,OAAO,SAAS,OAAO,SAAA;AAAA,QACzB,EAAE,OAAO,SAAS,OAAO,OAAA;AAAA,QACzB,EAAE,OAAO,cAAc,OAAO,cAAA;AAAA,MAAc;AAAA,MAE9C,OAAO;AAAA,IAAA;AAAA,IAET,qBAAqB;AAAA,MACnB,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,MACP,UAAU,EAAE,OAAO,sBAAsB,QAAQ,OAAA;AAAA,IAAO;AAAA,EAC1D;AAEJ;AAGAI,EAAkB,SAASN,CAAW;"}
1
+ {"version":3,"file":"navbar.js","sources":["../../../../../src/engine/registry/blocks/sections/navbar.ts"],"sourcesContent":["import { BlockDefinition } from \"../../types\";\nimport { componentRegistry } from \"../../registry\";\nimport {\n navbarVariations,\n navbarVariationIds,\n} from \"../../../presets/navbarVariations\";\n\n/**\n * Valores padrão da Navbar - Use para garantir consistência em templates e factories\n */\nexport const NAVBAR_DEFAULT_PROPS = {\n variation: \"navbar-moderno\",\n links: [\n { text: \"Início\", href: \"/site/p/home\" },\n { text: \"Serviços\", href: \"/site/p/servicos\" },\n { text: \"Produtos\", href: \"/site/p/produtos\" },\n { text: \"Contato\", href: \"/site/p/contato\" },\n ],\n ctaButton: { text: \"Começar\", href: \"/site/p/contato\" },\n sticky: true,\n floating: false,\n layout: \"expanded\",\n borderRadius: 0,\n shadow: \"sm\",\n opacity: 100,\n blurOpacity: 0,\n logoHeight: 70,\n linkFontSize: \"md\",\n buttonVariant: \"solid\",\n buttonBorderRadius: 8,\n // Borda\n borderPosition: \"none\",\n borderWidth: 1,\n borderColor: \"#e5e7eb\",\n // Cores padrão\n bg: \"#ffffff\",\n linkColor: \"#374151\",\n linkHoverColor: \"#2563eb\",\n linkHoverEffect: \"background\",\n linkHoverIntensity: 50,\n buttonColor: \"#2563eb\",\n buttonTextColor: \"#ffffff\",\n buttonSize: \"md\",\n buttonHoverEffect: \"darken\",\n buttonHoverIntensity: 50,\n buttonHoverOverlay: \"none\",\n buttonHoverIconName: \"arrow-right\",\n} as const;\n\nexport const navbarBlock: BlockDefinition = {\n type: \"navbar\",\n name: \"Navbar\",\n description: \"Barra de navegação customizável\",\n category: \"sections\",\n canHaveChildren: false,\n defaultProps: NAVBAR_DEFAULT_PROPS,\n variations: navbarVariationIds.reduce(\n (acc, id) => {\n const v = navbarVariations[id];\n acc[id] = { id: v.id, name: v.name, defaultProps: v.defaultProps };\n return acc;\n },\n {} as Record<\n string,\n { id: string; name: string; defaultProps: Record<string, any> }\n >,\n ),\n inspectorMeta: {\n // === GRUPO: Posicionamento ===\n layout: {\n label: \"Organizacao\",\n inputType: \"select\",\n options: [\n { label: \"Expandido\", value: \"expanded\" },\n { label: \"Centralizado\", value: \"centered\" },\n { label: \"Compacto\", value: \"compact\" },\n ],\n group: \"Posicionamento\",\n },\n sticky: {\n label: \"Fixar no Topo\",\n inputType: \"checkbox\",\n size: \"sm\",\n group: \"Posicionamento\",\n },\n floating: {\n label: \"Menu Flutuante\",\n inputType: \"checkbox\",\n size: \"sm\",\n group: \"Posicionamento\",\n },\n\n // === GRUPO: Aparencia ===\n bg: {\n label: \"Cor de Fundo\",\n inputType: \"color-advanced\",\n group: \"Aparencia\",\n },\n opacity: {\n label: \"Transparencia\",\n inputType: \"slider\",\n min: 0,\n max: 100,\n step: 5,\n group: \"Aparencia\",\n },\n blurOpacity: {\n label: \"Desfoque\",\n inputType: \"slider\",\n min: 0,\n max: 100,\n step: 5,\n group: \"Aparencia\",\n },\n borderRadius: {\n label: \"Cantos\",\n inputType: \"slider\",\n min: 0,\n max: 32,\n step: 2,\n group: \"Aparencia\",\n },\n shadow: {\n label: \"Sombra\",\n inputType: \"select\",\n options: [\n { label: \"Nenhuma\", value: \"none\" },\n { label: \"Pequena\", value: \"sm\" },\n { label: \"Media\", value: \"md\" },\n { label: \"Grande\", value: \"lg\" },\n { label: \"Extra Grande\", value: \"xl\" },\n ],\n group: \"Aparencia\",\n },\n borderPosition: {\n label: \"Borda\",\n inputType: \"select\",\n options: [\n { label: \"Nenhuma\", value: \"none\" },\n { label: \"Completa\", value: \"all\" },\n { label: \"Superior\", value: \"top\" },\n { label: \"Inferior\", value: \"bottom\" },\n { label: \"Esquerda\", value: \"left\" },\n { label: \"Direita\", value: \"right\" },\n ],\n group: \"Aparencia\",\n },\n borderWidth: {\n label: \"Espessura da Borda\",\n inputType: \"slider\",\n min: 1,\n max: 4,\n step: 1,\n group: \"Aparencia\",\n },\n borderColor: {\n label: \"Cor da Borda\",\n inputType: \"color-advanced\",\n group: \"Aparencia\",\n },\n\n // === GRUPO: Logo e Marca ===\n logo: {\n label: \"Logo (Imagem)\",\n inputType: \"image-upload\",\n group: \"Logo e Marca\",\n },\n logoHeight: {\n label: \"Tamanho do Logo\",\n inputType: \"slider\",\n min: 40,\n max: 130,\n step: 5,\n group: \"Logo e Marca\",\n showWhen: { field: \"logo\", truthy: true },\n },\n logoText: {\n label: \"Texto Alternativo\",\n inputType: \"text\",\n group: \"Logo e Marca\",\n },\n\n // === GRUPO: Links ===\n linkColor: {\n label: \"Cor\",\n inputType: \"color-advanced\",\n group: \"Links\",\n },\n linkHoverColor: {\n label: \"Cor (Hover)\",\n inputType: \"color-advanced\",\n group: \"Links\",\n },\n linkFontSize: {\n label: \"Tamanho\",\n inputType: \"select\",\n options: [\n { label: \"Pequeno\", value: \"sm\" },\n { label: \"Medio\", value: \"md\" },\n { label: \"Grande\", value: \"lg\" },\n ],\n group: \"Links\",\n },\n linkHoverEffect: {\n label: \"Efeito Hover\",\n inputType: \"select\",\n options: [\n { label: \"Fundo\", value: \"background\" },\n { label: \"Sublinhado\", value: \"underline\" },\n { label: \"Sublinhado Centro\", value: \"underline-center\" },\n { label: \"Fundo Subindo\", value: \"slide-bg\" },\n { label: \"Escala\", value: \"scale\" },\n { label: \"Brilho Neon\", value: \"glow\" },\n ],\n group: \"Links\",\n },\n linkHoverIntensity: {\n label: \"Intensidade\",\n inputType: \"slider\",\n min: 10,\n max: 100,\n step: 10,\n group: \"Links\",\n },\n\n // === GRUPO: Botao CTA ===\n buttonVariant: {\n label: \"Estilo\",\n inputType: \"select\",\n options: [\n { label: \"Solido\", value: \"solid\" },\n { label: \"Contorno\", value: \"outline\" },\n { label: \"Ghost\", value: \"ghost\" },\n ],\n group: \"Botao CTA\",\n },\n buttonColor: {\n label: \"Cor\",\n inputType: \"color-advanced\",\n group: \"Botao CTA\",\n },\n buttonTextColor: {\n label: \"Cor do Texto\",\n inputType: \"color-advanced\",\n group: \"Botao CTA\",\n },\n buttonBorderRadius: {\n label: \"Cantos do Botao\",\n inputType: \"slider\",\n min: 0,\n max: 32,\n step: 2,\n group: \"Botao CTA\",\n },\n buttonSize: {\n label: \"Tamanho\",\n inputType: \"select\",\n options: [\n { label: \"Pequeno\", value: \"sm\" },\n { label: \"Medio\", value: \"md\" },\n { label: \"Grande\", value: \"lg\" },\n ],\n group: \"Botao CTA\",\n },\n buttonHoverEffect: {\n label: \"Efeito Hover\",\n inputType: \"select\",\n options: [\n { label: \"Nenhum\", value: \"none\" },\n { label: \"Escurecer\", value: \"darken\" },\n { label: \"Clarear\", value: \"lighten\" },\n { label: \"Escala\", value: \"scale\" },\n { label: \"Brilho Neon\", value: \"glow\" },\n { label: \"Sombra\", value: \"shadow\" },\n { label: \"Pulso\", value: \"pulse\" },\n ],\n group: \"Botao CTA\",\n },\n buttonHoverIntensity: {\n label: \"Intensidade\",\n inputType: \"slider\",\n min: 10,\n max: 100,\n step: 10,\n group: \"Botao CTA\",\n },\n buttonHoverOverlay: {\n label: \"Efeito Extra\",\n inputType: \"select\",\n options: [\n { label: \"Nenhum\", value: \"none\" },\n { label: \"Brilho\", value: \"shine\" },\n { label: \"Preenchimento\", value: \"fill\" },\n { label: \"Salto\", value: \"bounce\" },\n { label: \"Icone\", value: \"icon\" },\n { label: \"Borda Glow\", value: \"border-glow\" },\n ],\n group: \"Botao CTA\",\n },\n buttonHoverIconName: {\n label: \"Icone\",\n inputType: \"icon-grid\",\n group: \"Botao CTA\",\n showWhen: { field: \"buttonHoverOverlay\", equals: \"icon\" },\n },\n },\n};\n\n// Auto-registro\ncomponentRegistry.register(navbarBlock);\n"],"names":["NAVBAR_DEFAULT_PROPS","navbarBlock","navbarVariationIds","acc","id","v","navbarVariations","componentRegistry"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/engine/registry/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAmB,iBAAiB,EAAE,MAAM,SAAS,CAAA;AA2F5D,eAAO,MAAM,iBAAiB,EAAE,iBAA+C,CAAA"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/engine/registry/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAmB,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAgG5D,eAAO,MAAM,iBAAiB,EAAE,iBAA+C,CAAA"}
@@ -1,7 +1,8 @@
1
+ import { logger as f } from "../../utils/logger.js";
1
2
  class a {
2
3
  definitions = /* @__PURE__ */ new Map();
3
4
  register(e) {
4
- this.definitions.has(e.type) && console.warn(`Block ${e.type} is already registered. Overwriting...`), this.definitions.set(e.type, e);
5
+ this.definitions.has(e.type) && f.warn(`Block ${e.type} is already registered. Overwriting...`), this.definitions.set(e.type, e);
5
6
  }
6
7
  get(e) {
7
8
  return this.definitions.get(e);
@@ -10,31 +11,34 @@ class a {
10
11
  return Array.from(this.definitions.values());
11
12
  }
12
13
  getByCategory(e) {
13
- return this.getAll().filter((p) => p.category === e);
14
+ return this.getAll().filter((n) => n.category === e);
15
+ }
16
+ getByPlugin(e) {
17
+ return this.getAll().filter((n) => n.pluginId === e);
14
18
  }
15
19
  validate(e) {
16
- const p = this.get(e.type);
17
- if (!p)
20
+ const n = this.get(e.type);
21
+ if (!n)
18
22
  return { valid: !1, errors: [`Block type ${e.type} not found in registry`] };
19
- const i = [], r = p.constraints;
23
+ const i = [], r = n.constraints;
20
24
  if (r) {
21
- const n = e.props;
25
+ const p = e.props;
22
26
  if (r.required)
23
27
  for (const t of r.required)
24
- (!(t in n) || n[t] === void 0 || n[t] === "") && i.push(`Required property '${t}' is missing or empty`);
28
+ (!(t in p) || p[t] === void 0 || p[t] === "") && i.push(`Required property '${t}' is missing or empty`);
25
29
  if (r.min)
26
30
  for (const [t, o] of Object.entries(r.min)) {
27
- const s = n[t];
31
+ const s = p[t];
28
32
  typeof s == "number" && s < o && i.push(`Property '${t}' must be at least ${o}`);
29
33
  }
30
34
  if (r.max)
31
35
  for (const [t, o] of Object.entries(r.max)) {
32
- const s = n[t];
36
+ const s = p[t];
33
37
  typeof s == "number" && s > o && i.push(`Property '${t}' must be at most ${o}`);
34
38
  }
35
39
  if (r.pattern)
36
40
  for (const [t, o] of Object.entries(r.pattern)) {
37
- const s = n[t];
41
+ const s = p[t];
38
42
  typeof s == "string" && !o.test(s) && i.push(`Property '${t}' does not match required pattern`);
39
43
  }
40
44
  if (r.custom) {
@@ -48,8 +52,8 @@ class a {
48
52
  };
49
53
  }
50
54
  }
51
- const u = new a();
55
+ const g = new a();
52
56
  export {
53
- u as componentRegistry
57
+ g as componentRegistry
54
58
  };
55
59
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sources":["../../../src/engine/registry/registry.ts"],"sourcesContent":["/**\n * Component Registry\n * Registry centralizado de definições de blocos com metadados\n */\n\nimport { Block, BlockType } from '../schema/siteDocument'\nimport { BlockDefinition, ComponentRegistry } from './types'\n\nclass ComponentRegistryImpl implements ComponentRegistry {\n private definitions: Map<BlockType, BlockDefinition> = new Map()\n\n register(definition: BlockDefinition): void {\n if (this.definitions.has(definition.type)) {\n console.warn(`Block ${definition.type} is already registered. Overwriting...`)\n }\n this.definitions.set(definition.type, definition)\n }\n\n get(type: BlockType): BlockDefinition | undefined {\n return this.definitions.get(type)\n }\n\n getAll(): BlockDefinition[] {\n return Array.from(this.definitions.values())\n }\n\n getByCategory(category: string): BlockDefinition[] {\n return this.getAll().filter((def) => def.category === category)\n }\n\n validate(block: Block): { valid: boolean; errors: string[] } {\n const definition = this.get(block.type)\n if (!definition) {\n return { valid: false, errors: [`Block type ${block.type} not found in registry`] }\n }\n\n const errors: string[] = []\n const constraints = definition.constraints\n\n if (constraints) {\n const props = block.props as Record<string, any>;\n\n // Validar required\n if (constraints.required) {\n for (const prop of constraints.required) {\n if (!(prop in props) || props[prop] === undefined || props[prop] === '') {\n errors.push(`Required property '${prop}' is missing or empty`)\n }\n }\n }\n\n // Validar min/max\n if (constraints.min) {\n for (const [prop, min] of Object.entries(constraints.min)) {\n const value = props[prop]\n if (typeof value === 'number' && value < min) {\n errors.push(`Property '${prop}' must be at least ${min}`)\n }\n }\n }\n\n if (constraints.max) {\n for (const [prop, max] of Object.entries(constraints.max)) {\n const value = props[prop]\n if (typeof value === 'number' && value > max) {\n errors.push(`Property '${prop}' must be at most ${max}`)\n }\n }\n }\n\n // Validar pattern\n if (constraints.pattern) {\n for (const [prop, pattern] of Object.entries(constraints.pattern)) {\n const value = props[prop]\n if (typeof value === 'string' && !pattern.test(value)) {\n errors.push(`Property '${prop}' does not match required pattern`)\n }\n }\n }\n\n // Validar custom\n if (constraints.custom) {\n const result = constraints.custom(block.props)\n if (result !== true) {\n errors.push(typeof result === 'string' ? result : 'Custom validation failed')\n }\n }\n }\n\n return {\n valid: errors.length === 0,\n errors,\n }\n }\n}\n\n// Singleton instance\nexport const componentRegistry: ComponentRegistry = new ComponentRegistryImpl()\n"],"names":["ComponentRegistryImpl","definition","type","category","def","block","errors","constraints","props","prop","min","value","max","pattern","result","componentRegistry"],"mappings":"AAQA,MAAMA,EAAmD;AAAA,EAC/C,kCAAmD,IAAA;AAAA,EAE3D,SAASC,GAAmC;AAC1C,IAAI,KAAK,YAAY,IAAIA,EAAW,IAAI,KACtC,QAAQ,KAAK,SAASA,EAAW,IAAI,wCAAwC,GAE/E,KAAK,YAAY,IAAIA,EAAW,MAAMA,CAAU;AAAA,EAClD;AAAA,EAEA,IAAIC,GAA8C;AAChD,WAAO,KAAK,YAAY,IAAIA,CAAI;AAAA,EAClC;AAAA,EAEA,SAA4B;AAC1B,WAAO,MAAM,KAAK,KAAK,YAAY,QAAQ;AAAA,EAC7C;AAAA,EAEA,cAAcC,GAAqC;AACjD,WAAO,KAAK,SAAS,OAAO,CAACC,MAAQA,EAAI,aAAaD,CAAQ;AAAA,EAChE;AAAA,EAEA,SAASE,GAAoD;AAC3D,UAAMJ,IAAa,KAAK,IAAII,EAAM,IAAI;AACtC,QAAI,CAACJ;AACH,aAAO,EAAE,OAAO,IAAO,QAAQ,CAAC,cAAcI,EAAM,IAAI,wBAAwB,EAAA;AAGlF,UAAMC,IAAmB,CAAA,GACnBC,IAAcN,EAAW;AAE/B,QAAIM,GAAa;AACf,YAAMC,IAAQH,EAAM;AAGpB,UAAIE,EAAY;AACd,mBAAWE,KAAQF,EAAY;AAC7B,WAAI,EAAEE,KAAQD,MAAUA,EAAMC,CAAI,MAAM,UAAaD,EAAMC,CAAI,MAAM,OACnEH,EAAO,KAAK,sBAAsBG,CAAI,uBAAuB;AAMnE,UAAIF,EAAY;AACd,mBAAW,CAACE,GAAMC,CAAG,KAAK,OAAO,QAAQH,EAAY,GAAG,GAAG;AACzD,gBAAMI,IAAQH,EAAMC,CAAI;AACxB,UAAI,OAAOE,KAAU,YAAYA,IAAQD,KACvCJ,EAAO,KAAK,aAAaG,CAAI,sBAAsBC,CAAG,EAAE;AAAA,QAE5D;AAGF,UAAIH,EAAY;AACd,mBAAW,CAACE,GAAMG,CAAG,KAAK,OAAO,QAAQL,EAAY,GAAG,GAAG;AACzD,gBAAMI,IAAQH,EAAMC,CAAI;AACxB,UAAI,OAAOE,KAAU,YAAYA,IAAQC,KACvCN,EAAO,KAAK,aAAaG,CAAI,qBAAqBG,CAAG,EAAE;AAAA,QAE3D;AAIF,UAAIL,EAAY;AACd,mBAAW,CAACE,GAAMI,CAAO,KAAK,OAAO,QAAQN,EAAY,OAAO,GAAG;AACjE,gBAAMI,IAAQH,EAAMC,CAAI;AACxB,UAAI,OAAOE,KAAU,YAAY,CAACE,EAAQ,KAAKF,CAAK,KAClDL,EAAO,KAAK,aAAaG,CAAI,mCAAmC;AAAA,QAEpE;AAIF,UAAIF,EAAY,QAAQ;AACtB,cAAMO,IAASP,EAAY,OAAOF,EAAM,KAAK;AAC7C,QAAIS,MAAW,MACbR,EAAO,KAAK,OAAOQ,KAAW,WAAWA,IAAS,0BAA0B;AAAA,MAEhF;AAAA,IACF;AAEA,WAAO;AAAA,MACL,OAAOR,EAAO,WAAW;AAAA,MACzB,QAAAA;AAAA,IAAA;AAAA,EAEJ;AACF;AAGO,MAAMS,IAAuC,IAAIf,EAAA;"}
1
+ {"version":3,"file":"registry.js","sources":["../../../src/engine/registry/registry.ts"],"sourcesContent":["/**\n * Component Registry\n * Registry centralizado de definições de blocos com metadados\n */\n\nimport { Block, BlockType } from '../schema/siteDocument'\nimport { BlockDefinition, ComponentRegistry } from './types'\nimport { logger } from '../../utils/logger'\n\nclass ComponentRegistryImpl implements ComponentRegistry {\n private definitions: Map<BlockType, BlockDefinition> = new Map()\n\n register(definition: BlockDefinition): void {\n if (this.definitions.has(definition.type)) {\n logger.warn(`Block ${definition.type} is already registered. Overwriting...`)\n }\n this.definitions.set(definition.type, definition)\n }\n\n get(type: BlockType): BlockDefinition | undefined {\n return this.definitions.get(type)\n }\n\n getAll(): BlockDefinition[] {\n return Array.from(this.definitions.values())\n }\n\n getByCategory(category: string): BlockDefinition[] {\n return this.getAll().filter((def) => def.category === category)\n }\n\n getByPlugin(pluginId: string): BlockDefinition[] {\n return this.getAll().filter((def) => def.pluginId === pluginId)\n }\n\n validate(block: Block): { valid: boolean; errors: string[] } {\n const definition = this.get(block.type)\n if (!definition) {\n return { valid: false, errors: [`Block type ${block.type} not found in registry`] }\n }\n\n const errors: string[] = []\n const constraints = definition.constraints\n\n if (constraints) {\n const props = block.props as Record<string, any>;\n\n // Validar required\n if (constraints.required) {\n for (const prop of constraints.required) {\n if (!(prop in props) || props[prop] === undefined || props[prop] === '') {\n errors.push(`Required property '${prop}' is missing or empty`)\n }\n }\n }\n\n // Validar min/max\n if (constraints.min) {\n for (const [prop, min] of Object.entries(constraints.min)) {\n const value = props[prop]\n if (typeof value === 'number' && value < min) {\n errors.push(`Property '${prop}' must be at least ${min}`)\n }\n }\n }\n\n if (constraints.max) {\n for (const [prop, max] of Object.entries(constraints.max)) {\n const value = props[prop]\n if (typeof value === 'number' && value > max) {\n errors.push(`Property '${prop}' must be at most ${max}`)\n }\n }\n }\n\n // Validar pattern\n if (constraints.pattern) {\n for (const [prop, pattern] of Object.entries(constraints.pattern)) {\n const value = props[prop]\n if (typeof value === 'string' && !pattern.test(value)) {\n errors.push(`Property '${prop}' does not match required pattern`)\n }\n }\n }\n\n // Validar custom\n if (constraints.custom) {\n const result = constraints.custom(block.props)\n if (result !== true) {\n errors.push(typeof result === 'string' ? result : 'Custom validation failed')\n }\n }\n }\n\n return {\n valid: errors.length === 0,\n errors,\n }\n }\n}\n\n// Singleton instance\nexport const componentRegistry: ComponentRegistry = new ComponentRegistryImpl()\n"],"names":["ComponentRegistryImpl","definition","logger","type","category","def","pluginId","block","errors","constraints","props","prop","min","value","max","pattern","result","componentRegistry"],"mappings":";AASA,MAAMA,EAAmD;AAAA,EAC/C,kCAAmD,IAAA;AAAA,EAE3D,SAASC,GAAmC;AAC1C,IAAI,KAAK,YAAY,IAAIA,EAAW,IAAI,KACtCC,EAAO,KAAK,SAASD,EAAW,IAAI,wCAAwC,GAE9E,KAAK,YAAY,IAAIA,EAAW,MAAMA,CAAU;AAAA,EAClD;AAAA,EAEA,IAAIE,GAA8C;AAChD,WAAO,KAAK,YAAY,IAAIA,CAAI;AAAA,EAClC;AAAA,EAEA,SAA4B;AAC1B,WAAO,MAAM,KAAK,KAAK,YAAY,QAAQ;AAAA,EAC7C;AAAA,EAEA,cAAcC,GAAqC;AACjD,WAAO,KAAK,SAAS,OAAO,CAACC,MAAQA,EAAI,aAAaD,CAAQ;AAAA,EAChE;AAAA,EAEA,YAAYE,GAAqC;AAC/C,WAAO,KAAK,SAAS,OAAO,CAACD,MAAQA,EAAI,aAAaC,CAAQ;AAAA,EAChE;AAAA,EAEA,SAASC,GAAoD;AAC3D,UAAMN,IAAa,KAAK,IAAIM,EAAM,IAAI;AACtC,QAAI,CAACN;AACH,aAAO,EAAE,OAAO,IAAO,QAAQ,CAAC,cAAcM,EAAM,IAAI,wBAAwB,EAAA;AAGlF,UAAMC,IAAmB,CAAA,GACnBC,IAAcR,EAAW;AAE/B,QAAIQ,GAAa;AACf,YAAMC,IAAQH,EAAM;AAGpB,UAAIE,EAAY;AACd,mBAAWE,KAAQF,EAAY;AAC7B,WAAI,EAAEE,KAAQD,MAAUA,EAAMC,CAAI,MAAM,UAAaD,EAAMC,CAAI,MAAM,OACnEH,EAAO,KAAK,sBAAsBG,CAAI,uBAAuB;AAMnE,UAAIF,EAAY;AACd,mBAAW,CAACE,GAAMC,CAAG,KAAK,OAAO,QAAQH,EAAY,GAAG,GAAG;AACzD,gBAAMI,IAAQH,EAAMC,CAAI;AACxB,UAAI,OAAOE,KAAU,YAAYA,IAAQD,KACvCJ,EAAO,KAAK,aAAaG,CAAI,sBAAsBC,CAAG,EAAE;AAAA,QAE5D;AAGF,UAAIH,EAAY;AACd,mBAAW,CAACE,GAAMG,CAAG,KAAK,OAAO,QAAQL,EAAY,GAAG,GAAG;AACzD,gBAAMI,IAAQH,EAAMC,CAAI;AACxB,UAAI,OAAOE,KAAU,YAAYA,IAAQC,KACvCN,EAAO,KAAK,aAAaG,CAAI,qBAAqBG,CAAG,EAAE;AAAA,QAE3D;AAIF,UAAIL,EAAY;AACd,mBAAW,CAACE,GAAMI,CAAO,KAAK,OAAO,QAAQN,EAAY,OAAO,GAAG;AACjE,gBAAMI,IAAQH,EAAMC,CAAI;AACxB,UAAI,OAAOE,KAAU,YAAY,CAACE,EAAQ,KAAKF,CAAK,KAClDL,EAAO,KAAK,aAAaG,CAAI,mCAAmC;AAAA,QAEpE;AAIF,UAAIF,EAAY,QAAQ;AACtB,cAAMO,IAASP,EAAY,OAAOF,EAAM,KAAK;AAC7C,QAAIS,MAAW,MACbR,EAAO,KAAK,OAAOQ,KAAW,WAAWA,IAAS,0BAA0B;AAAA,MAEhF;AAAA,IACF;AAEA,WAAO;AAAA,MACL,OAAOR,EAAO,WAAW;AAAA,MACzB,QAAAA;AAAA,IAAA;AAAA,EAEJ;AACF;AAGO,MAAMS,IAAuC,IAAIjB,EAAA;"}
@@ -1,4 +1,5 @@
1
1
  import { Block, BlockType, BlockPropsFor } from '../schema/siteDocument';
2
+ import { ShowWhenCondition } from '../shared/showWhen';
2
3
  /**
3
4
  * Metadata for property panel (como exibir no editor)
4
5
  */
@@ -6,7 +7,7 @@ export interface InspectorMeta {
6
7
  label: string;
7
8
  description?: string;
8
9
  group?: string;
9
- inputType?: "text" | "number" | "color" | "color-advanced" | "select" | "slider" | "textarea" | "image" | "image-upload" | "checkbox" | "icon-grid" | "image-grid" | "typography";
10
+ inputType?: "text" | "number" | "color" | "color-advanced" | "select" | "slider" | "textarea" | "image" | "image-upload" | "checkbox" | "icon-grid" | "image-grid" | "typography" | "carousel-images";
10
11
  options?: Array<{
11
12
  label: string;
12
13
  value: any;
@@ -17,11 +18,11 @@ export interface InspectorMeta {
17
18
  /** Tamanho do input (para checkbox/toggle) */
18
19
  size?: "sm" | "md";
19
20
  /** Condição para exibir o campo (visibilidade condicional) */
20
- showWhen?: {
21
- field: string;
22
- equals?: string | boolean | number;
23
- notEquals?: string | boolean | number;
24
- };
21
+ showWhen?: ShowWhenCondition;
22
+ /** Campo somente leitura (exibido mas não editável) */
23
+ readOnly?: boolean;
24
+ /** Campo desabilitado (cinza, não interativo) */
25
+ disabled?: boolean;
25
26
  }
26
27
  /**
27
28
  * Constraint - Regras de validação
@@ -68,6 +69,8 @@ export interface BlockDefinition<T extends BlockType = BlockType> {
68
69
  inspectorMeta?: Record<string, InspectorMeta>;
69
70
  canHaveChildren?: boolean;
70
71
  defaultChildren?: Block[];
72
+ /** Plugin que contribuiu este bloco (blocos nativos não têm) */
73
+ pluginId?: string;
71
74
  }
72
75
  /**
73
76
  * Component Registry Interface
@@ -77,6 +80,7 @@ export interface ComponentRegistry {
77
80
  get(type: BlockType): BlockDefinition | undefined;
78
81
  getAll(): BlockDefinition[];
79
82
  getByCategory(category: string): BlockDefinition[];
83
+ getByPlugin(pluginId: string): BlockDefinition[];
80
84
  validate(block: Block): {
81
85
  valid: boolean;
82
86
  errors: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/engine/registry/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/engine/registry/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ export declare function renderBlogPostCard(block: any): React.ReactNode;
3
+ //# sourceMappingURL=BlogPostCardRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlogPostCardRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/render/renderers/sections/BlogPostCardRenderer.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CAoN9D"}
@@ -0,0 +1,199 @@
1
+ import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
+ function T(s) {
3
+ const {
4
+ title: a,
5
+ excerpt: d,
6
+ image: m,
7
+ date: n,
8
+ category: c,
9
+ authorName: i,
10
+ authorAvatar: h,
11
+ readingTime: l,
12
+ linkHref: o,
13
+ linkText: g = "Ler mais",
14
+ variant: p = "default",
15
+ showImage: v = !0,
16
+ showCategory: x = !0,
17
+ showDate: f = !0,
18
+ showAuthor: u = !0,
19
+ showReadingTime: y = !0
20
+ } = s.props, r = p === "horizontal";
21
+ return /* @__PURE__ */ t(
22
+ "article",
23
+ {
24
+ style: {
25
+ backgroundColor: "var(--sg-surface)",
26
+ borderRadius: "var(--sg-card-radius)",
27
+ boxShadow: "var(--sg-card-shadow)",
28
+ overflow: "hidden",
29
+ display: r ? "flex" : "block"
30
+ },
31
+ children: [
32
+ v && !(p === "minimal") && m ? /* @__PURE__ */ e(
33
+ "div",
34
+ {
35
+ style: {
36
+ width: r ? "40%" : "100%",
37
+ height: r ? "100%" : "200px",
38
+ minHeight: r ? "200px" : void 0,
39
+ flexShrink: 0,
40
+ overflow: "hidden",
41
+ borderRadius: r ? "var(--sg-card-radius) 0 0 var(--sg-card-radius)" : "var(--sg-card-radius) var(--sg-card-radius) 0 0"
42
+ },
43
+ children: /* @__PURE__ */ e(
44
+ "img",
45
+ {
46
+ src: m,
47
+ alt: a,
48
+ style: {
49
+ width: "100%",
50
+ height: "100%",
51
+ objectFit: "cover",
52
+ display: "block"
53
+ }
54
+ }
55
+ )
56
+ }
57
+ ) : null,
58
+ /* @__PURE__ */ t(
59
+ "div",
60
+ {
61
+ style: {
62
+ padding: "1.5rem",
63
+ display: "flex",
64
+ flexDirection: "column",
65
+ flex: 1
66
+ },
67
+ children: [
68
+ x && c && /* @__PURE__ */ e(
69
+ "span",
70
+ {
71
+ style: {
72
+ display: "inline-block",
73
+ fontSize: "0.75rem",
74
+ fontWeight: 600,
75
+ color: "var(--sg-primary)",
76
+ textTransform: "uppercase",
77
+ letterSpacing: "0.05em",
78
+ marginBottom: "0.5rem"
79
+ },
80
+ children: c
81
+ }
82
+ ),
83
+ /* @__PURE__ */ e(
84
+ "h3",
85
+ {
86
+ style: {
87
+ fontSize: "1.25rem",
88
+ fontWeight: 600,
89
+ marginBottom: "0.5rem",
90
+ lineHeight: 1.3
91
+ },
92
+ children: o ? /* @__PURE__ */ e(
93
+ "a",
94
+ {
95
+ href: o,
96
+ style: {
97
+ color: "inherit",
98
+ textDecoration: "none"
99
+ },
100
+ children: a
101
+ }
102
+ ) : a
103
+ }
104
+ ),
105
+ d && /* @__PURE__ */ e(
106
+ "p",
107
+ {
108
+ style: {
109
+ color: "var(--sg-muted-text)",
110
+ fontSize: "0.9375rem",
111
+ lineHeight: 1.6,
112
+ marginBottom: "1rem",
113
+ flex: 1
114
+ },
115
+ children: d
116
+ }
117
+ ),
118
+ /* @__PURE__ */ t(
119
+ "div",
120
+ {
121
+ style: {
122
+ display: "flex",
123
+ alignItems: "center",
124
+ gap: "0.75rem",
125
+ marginTop: "auto",
126
+ flexWrap: "wrap"
127
+ },
128
+ children: [
129
+ u && i && /* @__PURE__ */ t("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
130
+ h && /* @__PURE__ */ e(
131
+ "img",
132
+ {
133
+ src: h,
134
+ alt: i,
135
+ style: {
136
+ width: "1.75rem",
137
+ height: "1.75rem",
138
+ borderRadius: "50%",
139
+ objectFit: "cover"
140
+ }
141
+ }
142
+ ),
143
+ /* @__PURE__ */ e("span", { style: { fontSize: "0.875rem", fontWeight: 500 }, children: i })
144
+ ] }),
145
+ u && i && (f && n || y && l) && /* @__PURE__ */ e("span", { style: { color: "var(--sg-muted-text)", fontSize: "0.75rem" }, children: "·" }),
146
+ f && n && /* @__PURE__ */ e(
147
+ "span",
148
+ {
149
+ style: {
150
+ color: "var(--sg-muted-text)",
151
+ fontSize: "0.8125rem"
152
+ },
153
+ children: n
154
+ }
155
+ ),
156
+ y && l && /* @__PURE__ */ e(
157
+ "span",
158
+ {
159
+ style: {
160
+ color: "var(--sg-muted-text)",
161
+ fontSize: "0.8125rem"
162
+ },
163
+ children: l
164
+ }
165
+ )
166
+ ]
167
+ }
168
+ ),
169
+ o && g && /* @__PURE__ */ t(
170
+ "a",
171
+ {
172
+ href: o,
173
+ style: {
174
+ display: "inline-block",
175
+ marginTop: "1rem",
176
+ color: "var(--sg-primary)",
177
+ fontWeight: 500,
178
+ fontSize: "0.875rem",
179
+ textDecoration: "none"
180
+ },
181
+ children: [
182
+ g,
183
+ " ",
184
+ "→"
185
+ ]
186
+ }
187
+ )
188
+ ]
189
+ }
190
+ )
191
+ ]
192
+ },
193
+ s.id
194
+ );
195
+ }
196
+ export {
197
+ T as renderBlogPostCard
198
+ };
199
+ //# sourceMappingURL=BlogPostCardRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlogPostCardRenderer.js","sources":["../../../../../src/engine/render/renderers/sections/BlogPostCardRenderer.tsx"],"sourcesContent":["/**\n * BlogPostCard Renderer\n * Renderiza card individual de post de blog\n * Variantes: default (vertical), horizontal (imagem esquerda), minimal (sem imagem)\n */\n\nimport React from \"react\";\n\nexport function renderBlogPostCard(block: any): React.ReactNode {\n const {\n title,\n excerpt,\n image,\n date,\n category,\n authorName,\n authorAvatar,\n readingTime,\n linkHref,\n linkText = \"Ler mais\",\n variant = \"default\",\n showImage = true,\n showCategory = true,\n showDate = true,\n showAuthor = true,\n showReadingTime = true,\n } = block.props;\n\n const isHorizontal = variant === \"horizontal\";\n const isMinimal = variant === \"minimal\";\n const shouldShowImage = showImage && !isMinimal && image;\n\n const imageElement = shouldShowImage ? (\n <div\n style={{\n width: isHorizontal ? \"40%\" : \"100%\",\n height: isHorizontal ? \"100%\" : \"200px\",\n minHeight: isHorizontal ? \"200px\" : undefined,\n flexShrink: 0,\n overflow: \"hidden\",\n borderRadius: isHorizontal\n ? \"var(--sg-card-radius) 0 0 var(--sg-card-radius)\"\n : \"var(--sg-card-radius) var(--sg-card-radius) 0 0\",\n }}\n >\n <img\n src={image}\n alt={title}\n style={{\n width: \"100%\",\n height: \"100%\",\n objectFit: \"cover\",\n display: \"block\",\n }}\n />\n </div>\n ) : null;\n\n const contentElement = (\n <div\n style={{\n padding: \"1.5rem\",\n display: \"flex\",\n flexDirection: \"column\",\n flex: 1,\n }}\n >\n {/* Category badge */}\n {showCategory && category && (\n <span\n style={{\n display: \"inline-block\",\n fontSize: \"0.75rem\",\n fontWeight: 600,\n color: \"var(--sg-primary)\",\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n marginBottom: \"0.5rem\",\n }}\n >\n {category}\n </span>\n )}\n\n {/* Title */}\n <h3\n style={{\n fontSize: \"1.25rem\",\n fontWeight: 600,\n marginBottom: \"0.5rem\",\n lineHeight: 1.3,\n }}\n >\n {linkHref ? (\n <a\n href={linkHref}\n style={{\n color: \"inherit\",\n textDecoration: \"none\",\n }}\n >\n {title}\n </a>\n ) : (\n title\n )}\n </h3>\n\n {/* Excerpt */}\n {excerpt && (\n <p\n style={{\n color: \"var(--sg-muted-text)\",\n fontSize: \"0.9375rem\",\n lineHeight: 1.6,\n marginBottom: \"1rem\",\n flex: 1,\n }}\n >\n {excerpt}\n </p>\n )}\n\n {/* Meta row: author + date + reading time */}\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: \"0.75rem\",\n marginTop: \"auto\",\n flexWrap: \"wrap\",\n }}\n >\n {/* Author */}\n {showAuthor && authorName && (\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"0.5rem\" }}>\n {authorAvatar && (\n <img\n src={authorAvatar}\n alt={authorName}\n style={{\n width: \"1.75rem\",\n height: \"1.75rem\",\n borderRadius: \"50%\",\n objectFit: \"cover\",\n }}\n />\n )}\n <span style={{ fontSize: \"0.875rem\", fontWeight: 500 }}>\n {authorName}\n </span>\n </div>\n )}\n\n {/* Separator dot if author + date/readingTime */}\n {showAuthor && authorName && ((showDate && date) || (showReadingTime && readingTime)) && (\n <span style={{ color: \"var(--sg-muted-text)\", fontSize: \"0.75rem\" }}>\n {\"\\u00B7\"}\n </span>\n )}\n\n {/* Date */}\n {showDate && date && (\n <span\n style={{\n color: \"var(--sg-muted-text)\",\n fontSize: \"0.8125rem\",\n }}\n >\n {date}\n </span>\n )}\n\n {/* Reading time */}\n {showReadingTime && readingTime && (\n <span\n style={{\n color: \"var(--sg-muted-text)\",\n fontSize: \"0.8125rem\",\n }}\n >\n {readingTime}\n </span>\n )}\n </div>\n\n {/* Read more link */}\n {linkHref && linkText && (\n <a\n href={linkHref}\n style={{\n display: \"inline-block\",\n marginTop: \"1rem\",\n color: \"var(--sg-primary)\",\n fontWeight: 500,\n fontSize: \"0.875rem\",\n textDecoration: \"none\",\n }}\n >\n {linkText} {\"\\u2192\"}\n </a>\n )}\n </div>\n );\n\n return (\n <article\n key={block.id}\n style={{\n backgroundColor: \"var(--sg-surface)\",\n borderRadius: \"var(--sg-card-radius)\",\n boxShadow: \"var(--sg-card-shadow)\",\n overflow: \"hidden\",\n display: isHorizontal ? \"flex\" : \"block\",\n }}\n >\n {imageElement}\n {contentElement}\n </article>\n );\n}\n"],"names":["renderBlogPostCard","block","title","excerpt","image","date","category","authorName","authorAvatar","readingTime","linkHref","linkText","variant","showImage","showCategory","showDate","showAuthor","showReadingTime","isHorizontal","jsxs","jsx"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ export declare function renderBlogPostDetail(block: any): React.ReactNode;
3
+ //# sourceMappingURL=BlogPostDetailRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlogPostDetailRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/render/renderers/sections/BlogPostDetailRenderer.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAwB1B,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CAqQhE"}