@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
@@ -0,0 +1,293 @@
1
+ import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
+ function p({ size: t }) {
3
+ return /* @__PURE__ */ e(
4
+ "div",
5
+ {
6
+ style: {
7
+ width: t,
8
+ height: t,
9
+ borderRadius: "50%",
10
+ background: "linear-gradient(135deg, var(--sg-primary, #6366f1) 0%, #818cf8 100%)",
11
+ display: "flex",
12
+ alignItems: "center",
13
+ justifyContent: "center",
14
+ flexShrink: 0,
15
+ color: "#fff",
16
+ fontSize: `calc(${t} * 0.45)`,
17
+ fontWeight: 700
18
+ },
19
+ children: "A"
20
+ }
21
+ );
22
+ }
23
+ function S(t) {
24
+ const {
25
+ title: l,
26
+ content: h,
27
+ featuredImage: s,
28
+ date: i,
29
+ category: o,
30
+ readingTime: a,
31
+ tags: d = [],
32
+ showFeaturedImage: u = !0,
33
+ showAuthor: f = !0,
34
+ authorVariant: n = "inline",
35
+ showDate: g = !0,
36
+ showTags: m = !0,
37
+ showReadingTime: c = !0,
38
+ contentMaxWidth: v = "720px"
39
+ } = t.props;
40
+ return /* @__PURE__ */ r(
41
+ "article",
42
+ {
43
+ style: {
44
+ padding: "var(--sg-section-padding-md)",
45
+ backgroundColor: "var(--sg-bg)"
46
+ },
47
+ children: [
48
+ u && s && /* @__PURE__ */ e(
49
+ "div",
50
+ {
51
+ "data-block-group": "Mídia",
52
+ style: {
53
+ maxWidth: "1200px",
54
+ margin: "0 auto 2.5rem auto",
55
+ borderRadius: "var(--sg-card-radius)",
56
+ overflow: "hidden"
57
+ },
58
+ children: /* @__PURE__ */ e(
59
+ "img",
60
+ {
61
+ src: s,
62
+ alt: l,
63
+ style: {
64
+ width: "100%",
65
+ height: "auto",
66
+ maxHeight: "480px",
67
+ objectFit: "cover",
68
+ display: "block"
69
+ }
70
+ }
71
+ )
72
+ }
73
+ ),
74
+ /* @__PURE__ */ r(
75
+ "div",
76
+ {
77
+ style: {
78
+ maxWidth: v,
79
+ margin: "0 auto",
80
+ padding: "0 1rem"
81
+ },
82
+ children: [
83
+ /* @__PURE__ */ r(
84
+ "div",
85
+ {
86
+ "data-block-group": "Conteúdo",
87
+ style: {
88
+ display: "flex",
89
+ alignItems: "center",
90
+ gap: "0.75rem",
91
+ marginBottom: "1rem",
92
+ flexWrap: "wrap"
93
+ },
94
+ children: [
95
+ o && /* @__PURE__ */ e(
96
+ "span",
97
+ {
98
+ style: {
99
+ fontSize: "0.8125rem",
100
+ fontWeight: 600,
101
+ color: "var(--sg-primary)",
102
+ textTransform: "uppercase",
103
+ letterSpacing: "0.05em"
104
+ },
105
+ children: o
106
+ }
107
+ ),
108
+ o && (g && i || c && a) && /* @__PURE__ */ e("span", { style: { color: "var(--sg-muted-text)", fontSize: "0.75rem" }, children: "·" }),
109
+ g && i && /* @__PURE__ */ e(
110
+ "span",
111
+ {
112
+ style: {
113
+ color: "var(--sg-muted-text)",
114
+ fontSize: "0.875rem"
115
+ },
116
+ children: i
117
+ }
118
+ ),
119
+ c && a && /* @__PURE__ */ e(
120
+ "span",
121
+ {
122
+ style: {
123
+ color: "var(--sg-muted-text)",
124
+ fontSize: "0.875rem"
125
+ },
126
+ children: a
127
+ }
128
+ )
129
+ ]
130
+ }
131
+ ),
132
+ /* @__PURE__ */ e(
133
+ "h1",
134
+ {
135
+ style: {
136
+ fontSize: "2.5rem",
137
+ fontWeight: 700,
138
+ lineHeight: 1.2,
139
+ marginBottom: "2rem"
140
+ },
141
+ children: l
142
+ }
143
+ ),
144
+ /* @__PURE__ */ e(
145
+ "div",
146
+ {
147
+ style: {
148
+ fontSize: "1.0625rem",
149
+ lineHeight: 1.8,
150
+ color: "var(--sg-text)"
151
+ },
152
+ dangerouslySetInnerHTML: { __html: h || "" }
153
+ }
154
+ ),
155
+ m && d.length > 0 && /* @__PURE__ */ e(
156
+ "div",
157
+ {
158
+ "data-block-group": "Visibilidade",
159
+ style: {
160
+ display: "flex",
161
+ flexWrap: "wrap",
162
+ gap: "0.5rem",
163
+ marginTop: "2.5rem",
164
+ paddingTop: "1.5rem",
165
+ borderTop: "1px solid var(--sg-border, #e5e7eb)"
166
+ },
167
+ children: d.map((y, x) => /* @__PURE__ */ e(
168
+ "span",
169
+ {
170
+ style: {
171
+ display: "inline-block",
172
+ padding: "0.25rem 0.75rem",
173
+ backgroundColor: "var(--sg-surface)",
174
+ color: "var(--sg-muted-text)",
175
+ borderRadius: "9999px",
176
+ fontSize: "0.8125rem",
177
+ fontWeight: 500
178
+ },
179
+ children: y
180
+ },
181
+ x
182
+ ))
183
+ }
184
+ ),
185
+ f && /* @__PURE__ */ r(
186
+ "div",
187
+ {
188
+ "data-block-group": "Autor",
189
+ style: {
190
+ marginTop: "2.5rem",
191
+ paddingTop: "1.5rem",
192
+ borderTop: m && d.length > 0 ? void 0 : "1px solid var(--sg-border, #e5e7eb)"
193
+ },
194
+ children: [
195
+ n === "card" && /* @__PURE__ */ r(
196
+ "div",
197
+ {
198
+ style: {
199
+ display: "flex",
200
+ alignItems: "flex-start",
201
+ gap: "1rem",
202
+ padding: "1.25rem",
203
+ borderRadius: "var(--sg-card-radius, 0.75rem)",
204
+ backgroundColor: "var(--sg-surface, #f9fafb)"
205
+ },
206
+ children: [
207
+ /* @__PURE__ */ e(p, { size: "3.5rem" }),
208
+ /* @__PURE__ */ r("div", { children: [
209
+ /* @__PURE__ */ e(
210
+ "div",
211
+ {
212
+ style: {
213
+ fontSize: "0.75rem",
214
+ color: "var(--sg-muted-text)",
215
+ textTransform: "uppercase",
216
+ letterSpacing: "0.05em",
217
+ marginBottom: "0.125rem"
218
+ },
219
+ children: "Escrito por"
220
+ }
221
+ ),
222
+ /* @__PURE__ */ e("div", { style: { fontWeight: 600, fontSize: "1rem" }, children: "Nome do Autor" }),
223
+ /* @__PURE__ */ e(
224
+ "p",
225
+ {
226
+ style: {
227
+ color: "var(--sg-muted-text)",
228
+ fontSize: "0.9375rem",
229
+ lineHeight: 1.5,
230
+ margin: "0.25rem 0 0"
231
+ },
232
+ children: "Bio do autor carregada do banco de dados."
233
+ }
234
+ )
235
+ ] })
236
+ ]
237
+ }
238
+ ),
239
+ n === "inline" && /* @__PURE__ */ r(
240
+ "div",
241
+ {
242
+ style: {
243
+ display: "flex",
244
+ alignItems: "center",
245
+ gap: "0.75rem"
246
+ },
247
+ children: [
248
+ /* @__PURE__ */ e(p, { size: "2.5rem" }),
249
+ /* @__PURE__ */ r("div", { children: [
250
+ /* @__PURE__ */ e(
251
+ "div",
252
+ {
253
+ style: {
254
+ fontSize: "0.75rem",
255
+ color: "var(--sg-muted-text)"
256
+ },
257
+ children: "Escrito por"
258
+ }
259
+ ),
260
+ /* @__PURE__ */ e("div", { style: { fontWeight: 600, fontSize: "0.9375rem" }, children: "Nome do Autor" })
261
+ ] })
262
+ ]
263
+ }
264
+ ),
265
+ n === "minimal" && /* @__PURE__ */ r(
266
+ "p",
267
+ {
268
+ style: {
269
+ color: "var(--sg-muted-text)",
270
+ fontSize: "0.9375rem"
271
+ },
272
+ children: [
273
+ "Escrito por",
274
+ " ",
275
+ /* @__PURE__ */ e("span", { style: { fontWeight: 600, color: "var(--sg-text)" }, children: "Nome do Autor" })
276
+ ]
277
+ }
278
+ )
279
+ ]
280
+ }
281
+ )
282
+ ]
283
+ }
284
+ )
285
+ ]
286
+ },
287
+ t.id
288
+ );
289
+ }
290
+ export {
291
+ S as renderBlogPostDetail
292
+ };
293
+ //# sourceMappingURL=BlogPostDetailRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlogPostDetailRenderer.js","sources":["../../../../../src/engine/render/renderers/sections/BlogPostDetailRenderer.tsx"],"sourcesContent":["/**\n * BlogPostDetail Renderer\n * Renderiza conteudo completo de um post de blog (pagina blog/:slug)\n * Dados do autor sao dinamicos (vem do banco) — aqui usamos placeholders.\n */\n\nimport React from \"react\";\n\nfunction AuthorPlaceholderAvatar({ size }: { size: string }) {\n return (\n <div\n style={{\n width: size,\n height: size,\n borderRadius: \"50%\",\n background: \"linear-gradient(135deg, var(--sg-primary, #6366f1) 0%, #818cf8 100%)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n color: \"#fff\",\n fontSize: `calc(${size} * 0.45)`,\n fontWeight: 700,\n }}\n >\n A\n </div>\n );\n}\n\nexport function renderBlogPostDetail(block: any): React.ReactNode {\n const {\n title,\n content,\n featuredImage,\n date,\n category,\n readingTime,\n tags = [],\n showFeaturedImage = true,\n showAuthor = true,\n authorVariant = \"inline\",\n showDate = true,\n showTags = true,\n showReadingTime = true,\n contentMaxWidth = \"720px\",\n } = block.props;\n\n return (\n <article\n key={block.id}\n style={{\n padding: \"var(--sg-section-padding-md)\",\n backgroundColor: \"var(--sg-bg)\",\n }}\n >\n {/* Featured image — full width banner */}\n {showFeaturedImage && featuredImage && (\n <div\n data-block-group=\"Mídia\"\n style={{\n maxWidth: \"1200px\",\n margin: \"0 auto 2.5rem auto\",\n borderRadius: \"var(--sg-card-radius)\",\n overflow: \"hidden\",\n }}\n >\n <img\n src={featuredImage}\n alt={title}\n style={{\n width: \"100%\",\n height: \"auto\",\n maxHeight: \"480px\",\n objectFit: \"cover\",\n display: \"block\",\n }}\n />\n </div>\n )}\n\n {/* Content area */}\n <div\n style={{\n maxWidth: contentMaxWidth,\n margin: \"0 auto\",\n padding: \"0 1rem\",\n }}\n >\n {/* Post header: category, date, reading time */}\n <div\n data-block-group=\"Conteúdo\"\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: \"0.75rem\",\n marginBottom: \"1rem\",\n flexWrap: \"wrap\",\n }}\n >\n {category && (\n <span\n style={{\n fontSize: \"0.8125rem\",\n fontWeight: 600,\n color: \"var(--sg-primary)\",\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n }}\n >\n {category}\n </span>\n )}\n {category && ((showDate && date) || (showReadingTime && readingTime)) && (\n <span style={{ color: \"var(--sg-muted-text)\", fontSize: \"0.75rem\" }}>\n {\"\\u00B7\"}\n </span>\n )}\n {showDate && date && (\n <span\n style={{\n color: \"var(--sg-muted-text)\",\n fontSize: \"0.875rem\",\n }}\n >\n {date}\n </span>\n )}\n {showReadingTime && readingTime && (\n <span\n style={{\n color: \"var(--sg-muted-text)\",\n fontSize: \"0.875rem\",\n }}\n >\n {readingTime}\n </span>\n )}\n </div>\n\n {/* Title */}\n <h1\n style={{\n fontSize: \"2.5rem\",\n fontWeight: 700,\n lineHeight: 1.2,\n marginBottom: \"2rem\",\n }}\n >\n {title}\n </h1>\n\n {/* Content body (rendered HTML) */}\n <div\n style={{\n fontSize: \"1.0625rem\",\n lineHeight: 1.8,\n color: \"var(--sg-text)\",\n }}\n dangerouslySetInnerHTML={{ __html: content || \"\" }}\n />\n\n {/* Tags */}\n {showTags && tags.length > 0 && (\n <div\n data-block-group=\"Visibilidade\"\n style={{\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: \"0.5rem\",\n marginTop: \"2.5rem\",\n paddingTop: \"1.5rem\",\n borderTop: \"1px solid var(--sg-border, #e5e7eb)\",\n }}\n >\n {tags.map((tag: string, index: number) => (\n <span\n key={index}\n style={{\n display: \"inline-block\",\n padding: \"0.25rem 0.75rem\",\n backgroundColor: \"var(--sg-surface)\",\n color: \"var(--sg-muted-text)\",\n borderRadius: \"9999px\",\n fontSize: \"0.8125rem\",\n fontWeight: 500,\n }}\n >\n {tag}\n </span>\n ))}\n </div>\n )}\n\n {/* Author — dynamic placeholder (data comes from DB at runtime) */}\n {showAuthor && (\n <div\n data-block-group=\"Autor\"\n style={{\n marginTop: \"2.5rem\",\n paddingTop: \"1.5rem\",\n borderTop:\n showTags && tags.length > 0\n ? undefined\n : \"1px solid var(--sg-border, #e5e7eb)\",\n }}\n >\n {authorVariant === \"card\" && (\n <div\n style={{\n display: \"flex\",\n alignItems: \"flex-start\",\n gap: \"1rem\",\n padding: \"1.25rem\",\n borderRadius: \"var(--sg-card-radius, 0.75rem)\",\n backgroundColor: \"var(--sg-surface, #f9fafb)\",\n }}\n >\n <AuthorPlaceholderAvatar size=\"3.5rem\" />\n <div>\n <div\n style={{\n fontSize: \"0.75rem\",\n color: \"var(--sg-muted-text)\",\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n marginBottom: \"0.125rem\",\n }}\n >\n Escrito por\n </div>\n <div style={{ fontWeight: 600, fontSize: \"1rem\" }}>\n Nome do Autor\n </div>\n <p\n style={{\n color: \"var(--sg-muted-text)\",\n fontSize: \"0.9375rem\",\n lineHeight: 1.5,\n margin: \"0.25rem 0 0\",\n }}\n >\n Bio do autor carregada do banco de dados.\n </p>\n </div>\n </div>\n )}\n\n {authorVariant === \"inline\" && (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: \"0.75rem\",\n }}\n >\n <AuthorPlaceholderAvatar size=\"2.5rem\" />\n <div>\n <div\n style={{\n fontSize: \"0.75rem\",\n color: \"var(--sg-muted-text)\",\n }}\n >\n Escrito por\n </div>\n <div style={{ fontWeight: 600, fontSize: \"0.9375rem\" }}>\n Nome do Autor\n </div>\n </div>\n </div>\n )}\n\n {authorVariant === \"minimal\" && (\n <p\n style={{\n color: \"var(--sg-muted-text)\",\n fontSize: \"0.9375rem\",\n }}\n >\n Escrito por{\" \"}\n <span style={{ fontWeight: 600, color: \"var(--sg-text)\" }}>\n Nome do Autor\n </span>\n </p>\n )}\n </div>\n )}\n </div>\n </article>\n );\n}\n"],"names":["AuthorPlaceholderAvatar","size","jsx","renderBlogPostDetail","block","title","content","featuredImage","date","category","readingTime","tags","showFeaturedImage","showAuthor","authorVariant","showDate","showTags","showReadingTime","contentMaxWidth","jsxs","tag","index"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ export declare function renderBlogPostGrid(block: any): React.ReactNode;
3
+ //# sourceMappingURL=BlogPostGridRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlogPostGridRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/render/renderers/sections/BlogPostGridRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CA+G9D"}
@@ -0,0 +1,101 @@
1
+ import { jsx as e, jsxs as o } from "react/jsx-runtime";
2
+ import { renderBlogPostCard as c } from "./BlogPostCardRenderer.js";
3
+ function v(r) {
4
+ const {
5
+ title: t,
6
+ subtitle: i,
7
+ columns: l = 3,
8
+ cards: a = [],
9
+ variant: d = "default",
10
+ showViewAll: s = !1,
11
+ viewAllText: m = "Ver todos",
12
+ viewAllHref: g = "#"
13
+ } = r.props;
14
+ return /* @__PURE__ */ e(
15
+ "section",
16
+ {
17
+ style: {
18
+ padding: "var(--sg-section-padding-md)",
19
+ backgroundColor: "var(--sg-bg)"
20
+ },
21
+ children: /* @__PURE__ */ o("div", { style: { maxWidth: "1200px", margin: "0 auto", padding: "0 1rem" }, children: [
22
+ (t || i) && /* @__PURE__ */ o("div", { "data-block-group": "Cabeçalho", style: { textAlign: "center", marginBottom: "3rem" }, children: [
23
+ t && /* @__PURE__ */ e(
24
+ "h2",
25
+ {
26
+ style: {
27
+ fontSize: "var(--sg-heading-h2)",
28
+ marginBottom: "0.5rem"
29
+ },
30
+ children: t
31
+ }
32
+ ),
33
+ i && /* @__PURE__ */ e(
34
+ "p",
35
+ {
36
+ style: { color: "var(--sg-muted-text)", fontSize: "1.125rem" },
37
+ children: i
38
+ }
39
+ )
40
+ ] }),
41
+ a.length > 0 ? /* @__PURE__ */ e(
42
+ "div",
43
+ {
44
+ "data-block-group": "Layout",
45
+ style: {
46
+ display: "grid",
47
+ gridTemplateColumns: `repeat(${l}, 1fr)`,
48
+ gap: "2rem"
49
+ },
50
+ children: a.map(
51
+ (p, n) => c({
52
+ id: `${r.id}-card-${n}`,
53
+ props: {
54
+ ...p,
55
+ variant: d === "featured" && n === 0 ? "horizontal" : d === "minimal" ? "minimal" : "default"
56
+ }
57
+ })
58
+ )
59
+ }
60
+ ) : /* @__PURE__ */ o(
61
+ "div",
62
+ {
63
+ style: {
64
+ textAlign: "center",
65
+ padding: "3rem 1rem",
66
+ color: "var(--sg-muted-text)",
67
+ border: "2px dashed var(--sg-border, #e5e7eb)",
68
+ borderRadius: "var(--sg-card-radius, 0.5rem)"
69
+ },
70
+ children: [
71
+ /* @__PURE__ */ e("p", { style: { fontSize: "1rem", marginBottom: "0.5rem" }, children: "Nenhum post encontrado" }),
72
+ /* @__PURE__ */ e("p", { style: { fontSize: "0.875rem" }, children: "Os posts aparecerão aqui quando forem publicados." })
73
+ ]
74
+ }
75
+ ),
76
+ s && /* @__PURE__ */ e("div", { "data-block-group": "Rodapé", style: { textAlign: "center", marginTop: "2.5rem" }, children: /* @__PURE__ */ e(
77
+ "a",
78
+ {
79
+ href: g,
80
+ style: {
81
+ display: "inline-block",
82
+ padding: "0.75rem 2rem",
83
+ color: "var(--sg-primary)",
84
+ border: "1px solid var(--sg-primary)",
85
+ borderRadius: "var(--sg-button-radius, 0.5rem)",
86
+ textDecoration: "none",
87
+ fontWeight: 500,
88
+ fontSize: "0.9375rem"
89
+ },
90
+ children: m
91
+ }
92
+ ) })
93
+ ] })
94
+ },
95
+ r.id
96
+ );
97
+ }
98
+ export {
99
+ v as renderBlogPostGrid
100
+ };
101
+ //# sourceMappingURL=BlogPostGridRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlogPostGridRenderer.js","sources":["../../../../../src/engine/render/renderers/sections/BlogPostGridRenderer.tsx"],"sourcesContent":["/**\n * BlogPostGrid Renderer\n * Renderiza grid de cards de blog posts com título, subtítulo e link \"ver todos\"\n */\n\nimport React from \"react\";\nimport { renderBlogPostCard } from \"./BlogPostCardRenderer\";\n\nexport function renderBlogPostGrid(block: any): React.ReactNode {\n const {\n title,\n subtitle,\n columns = 3,\n cards = [],\n variant = \"default\",\n showViewAll = false,\n viewAllText = \"Ver todos\",\n viewAllHref = \"#\",\n } = block.props;\n\n return (\n <section\n key={block.id}\n style={{\n padding: \"var(--sg-section-padding-md)\",\n backgroundColor: \"var(--sg-bg)\",\n }}\n >\n <div style={{ maxWidth: \"1200px\", margin: \"0 auto\", padding: \"0 1rem\" }}>\n {/* Header */}\n {(title || subtitle) && (\n <div data-block-group=\"Cabeçalho\" style={{ textAlign: \"center\", marginBottom: \"3rem\" }}>\n {title && (\n <h2\n style={{\n fontSize: \"var(--sg-heading-h2)\",\n marginBottom: \"0.5rem\",\n }}\n >\n {title}\n </h2>\n )}\n {subtitle && (\n <p\n style={{ color: \"var(--sg-muted-text)\", fontSize: \"1.125rem\" }}\n >\n {subtitle}\n </p>\n )}\n </div>\n )}\n\n {/* Grid */}\n {cards.length > 0 ? (\n <div\n data-block-group=\"Layout\"\n style={{\n display: \"grid\",\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n gap: \"2rem\",\n }}\n >\n {cards.map((card: any, index: number) =>\n renderBlogPostCard({\n id: `${block.id}-card-${index}`,\n props: {\n ...card,\n variant:\n variant === \"featured\" && index === 0\n ? \"horizontal\"\n : variant === \"minimal\"\n ? \"minimal\"\n : \"default\",\n },\n }),\n )}\n </div>\n ) : (\n <div\n style={{\n textAlign: \"center\",\n padding: \"3rem 1rem\",\n color: \"var(--sg-muted-text)\",\n border: \"2px dashed var(--sg-border, #e5e7eb)\",\n borderRadius: \"var(--sg-card-radius, 0.5rem)\",\n }}\n >\n <p style={{ fontSize: \"1rem\", marginBottom: \"0.5rem\" }}>\n Nenhum post encontrado\n </p>\n <p style={{ fontSize: \"0.875rem\" }}>\n Os posts aparecerão aqui quando forem publicados.\n </p>\n </div>\n )}\n\n {/* View All link */}\n {showViewAll && (\n <div data-block-group=\"Rodapé\" style={{ textAlign: \"center\", marginTop: \"2.5rem\" }}>\n <a\n href={viewAllHref}\n style={{\n display: \"inline-block\",\n padding: \"0.75rem 2rem\",\n color: \"var(--sg-primary)\",\n border: \"1px solid var(--sg-primary)\",\n borderRadius: \"var(--sg-button-radius, 0.5rem)\",\n textDecoration: \"none\",\n fontWeight: 500,\n fontSize: \"0.9375rem\",\n }}\n >\n {viewAllText}\n </a>\n </div>\n )}\n </div>\n </section>\n );\n}\n"],"names":["renderBlogPostGrid","block","title","subtitle","columns","cards","variant","showViewAll","viewAllText","viewAllHref","jsx","jsxs","card","index","renderBlogPostCard"],"mappings":";;AAQO,SAASA,EAAmBC,GAA6B;AAC9D,QAAM;AAAA,IACJ,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,OAAAC,IAAQ,CAAA;AAAA,IACR,SAAAC,IAAU;AAAA,IACV,aAAAC,IAAc;AAAA,IACd,aAAAC,IAAc;AAAA,IACd,aAAAC,IAAc;AAAA,EAAA,IACZR,EAAM;AAEV,SACE,gBAAAS;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,OAAO;AAAA,QACL,SAAS;AAAA,QACT,iBAAiB;AAAA,MAAA;AAAA,MAGnB,UAAA,gBAAAC,EAAC,OAAA,EAAI,OAAO,EAAE,UAAU,UAAU,QAAQ,UAAU,SAAS,SAAA,GAEzD,UAAA;AAAA,SAAAT,KAASC,MACT,gBAAAQ,EAAC,OAAA,EAAI,oBAAiB,aAAY,OAAO,EAAE,WAAW,UAAU,cAAc,OAAA,GAC3E,UAAA;AAAA,UAAAT,KACC,gBAAAQ;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAO;AAAA,gBACL,UAAU;AAAA,gBACV,cAAc;AAAA,cAAA;AAAA,cAGf,UAAAR;AAAA,YAAA;AAAA,UAAA;AAAA,UAGJC,KACC,gBAAAO;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAO,EAAE,OAAO,wBAAwB,UAAU,WAAA;AAAA,cAEjD,UAAAP;AAAA,YAAA;AAAA,UAAA;AAAA,QACH,GAEJ;AAAA,QAIDE,EAAM,SAAS,IACd,gBAAAK;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,oBAAiB;AAAA,YACjB,OAAO;AAAA,cACL,SAAS;AAAA,cACT,qBAAqB,UAAUN,CAAO;AAAA,cACtC,KAAK;AAAA,YAAA;AAAA,YAGN,UAAAC,EAAM;AAAA,cAAI,CAACO,GAAWC,MACrBC,EAAmB;AAAA,gBACjB,IAAI,GAAGb,EAAM,EAAE,SAASY,CAAK;AAAA,gBAC7B,OAAO;AAAA,kBACL,GAAGD;AAAA,kBACH,SACEN,MAAY,cAAcO,MAAU,IAChC,eACAP,MAAY,YACV,YACA;AAAA,gBAAA;AAAA,cACV,CACD;AAAA,YAAA;AAAA,UACH;AAAA,QAAA,IAGF,gBAAAK;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,cACL,WAAW;AAAA,cACX,SAAS;AAAA,cACT,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,cAAc;AAAA,YAAA;AAAA,YAGhB,UAAA;AAAA,cAAA,gBAAAD,EAAC,KAAA,EAAE,OAAO,EAAE,UAAU,QAAQ,cAAc,SAAA,GAAY,UAAA,yBAAA,CAExD;AAAA,gCACC,KAAA,EAAE,OAAO,EAAE,UAAU,WAAA,GAAc,UAAA,oDAAA,CAEpC;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAKHH,KACC,gBAAAG,EAAC,OAAA,EAAI,oBAAiB,UAAS,OAAO,EAAE,WAAW,UAAU,WAAW,SAAA,GACtE,UAAA,gBAAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAMD;AAAA,YACN,OAAO;AAAA,cACL,SAAS;AAAA,cACT,SAAS;AAAA,cACT,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,cAAc;AAAA,cACd,gBAAgB;AAAA,cAChB,YAAY;AAAA,cACZ,UAAU;AAAA,YAAA;AAAA,YAGX,UAAAD;AAAA,UAAA;AAAA,QAAA,EACH,CACF;AAAA,MAAA,EAAA,CAEJ;AAAA,IAAA;AAAA,IA9FKP,EAAM;AAAA,EAAA;AAiGjB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CtaRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/render/renderers/sections/CtaRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CAuFrD"}
1
+ {"version":3,"file":"CtaRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/render/renderers/sections/CtaRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CAyFrD"}
@@ -1,46 +1,48 @@
1
- import { jsx as t, jsxs as o } from "react/jsx-runtime";
2
- function l(n) {
1
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
2
+ function l(o) {
3
3
  const {
4
4
  title: d,
5
5
  description: i,
6
6
  primaryButton: e,
7
7
  secondaryButton: a,
8
- variant: s = "centered",
9
- bg: g
10
- } = n.props, r = s === "gradient";
8
+ variant: g = "centered",
9
+ bg: s
10
+ } = o.props, r = g === "gradient";
11
11
  return /* @__PURE__ */ t(
12
12
  "section",
13
13
  {
14
14
  style: {
15
15
  padding: "var(--sg-section-padding-md)",
16
- backgroundColor: r ? "var(--sg-primary)" : g || "var(--sg-surface)",
16
+ backgroundColor: r ? "var(--sg-primary)" : s || "var(--sg-surface)",
17
17
  background: r ? "linear-gradient(135deg, var(--sg-primary), var(--sg-accent))" : void 0,
18
18
  textAlign: "center"
19
19
  },
20
- children: /* @__PURE__ */ o("div", { style: { maxWidth: "800px", margin: "0 auto", padding: "0 1rem" }, children: [
21
- /* @__PURE__ */ t(
22
- "h2",
23
- {
24
- style: {
25
- fontSize: "var(--sg-heading-h2)",
26
- marginBottom: "1rem",
27
- color: r ? "#fff" : "var(--sg-text)"
28
- },
29
- children: d
30
- }
31
- ),
32
- i && /* @__PURE__ */ t(
33
- "p",
34
- {
35
- style: {
36
- fontSize: "1.125rem",
37
- marginBottom: "2rem",
38
- color: r ? "rgba(255,255,255,0.9)" : "var(--sg-muted-text)"
39
- },
40
- children: i
41
- }
42
- ),
43
- /* @__PURE__ */ o("div", { style: { display: "flex", gap: "1rem", justifyContent: "center" }, children: [
20
+ children: /* @__PURE__ */ n("div", { style: { maxWidth: "800px", margin: "0 auto", padding: "0 1rem" }, children: [
21
+ /* @__PURE__ */ n("div", { "data-block-group": "Conteúdo", children: [
22
+ /* @__PURE__ */ t(
23
+ "h2",
24
+ {
25
+ style: {
26
+ fontSize: "var(--sg-heading-h2)",
27
+ marginBottom: "1rem",
28
+ color: r ? "#fff" : "var(--sg-text)"
29
+ },
30
+ children: d
31
+ }
32
+ ),
33
+ i && /* @__PURE__ */ t(
34
+ "p",
35
+ {
36
+ style: {
37
+ fontSize: "1.125rem",
38
+ marginBottom: "2rem",
39
+ color: r ? "rgba(255,255,255,0.9)" : "var(--sg-muted-text)"
40
+ },
41
+ children: i
42
+ }
43
+ )
44
+ ] }),
45
+ /* @__PURE__ */ n("div", { "data-block-group": "Botoes", style: { display: "flex", gap: "1rem", justifyContent: "center" }, children: [
44
46
  e && /* @__PURE__ */ t(
45
47
  "a",
46
48
  {
@@ -75,7 +77,7 @@ function l(n) {
75
77
  ] })
76
78
  ] })
77
79
  },
78
- n.id
80
+ o.id
79
81
  );
80
82
  }
81
83
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"CtaRenderer.js","sources":["../../../../../src/engine/render/renderers/sections/CtaRenderer.tsx"],"sourcesContent":["/**\n * CTA Renderer\n * Renderiza call-to-action com título, descrição e botões\n */\n\nimport React from \"react\";\n\nexport function renderCta(block: any): React.ReactNode {\n const {\n title,\n description,\n primaryButton,\n secondaryButton,\n variant = \"centered\",\n bg,\n } = block.props;\n\n const isGradient = variant === \"gradient\";\n\n return (\n <section\n key={block.id}\n style={{\n padding: \"var(--sg-section-padding-md)\",\n backgroundColor: isGradient\n ? \"var(--sg-primary)\"\n : bg || \"var(--sg-surface)\",\n background: isGradient\n ? \"linear-gradient(135deg, var(--sg-primary), var(--sg-accent))\"\n : undefined,\n textAlign: \"center\",\n }}\n >\n <div style={{ maxWidth: \"800px\", margin: \"0 auto\", padding: \"0 1rem\" }}>\n <h2\n style={{\n fontSize: \"var(--sg-heading-h2)\",\n marginBottom: \"1rem\",\n color: isGradient ? \"#fff\" : \"var(--sg-text)\",\n }}\n >\n {title}\n </h2>\n {description && (\n <p\n style={{\n fontSize: \"1.125rem\",\n marginBottom: \"2rem\",\n color: isGradient\n ? \"rgba(255,255,255,0.9)\"\n : \"var(--sg-muted-text)\",\n }}\n >\n {description}\n </p>\n )}\n <div style={{ display: \"flex\", gap: \"1rem\", justifyContent: \"center\" }}>\n {primaryButton && (\n <a\n href={primaryButton.href || \"#\"}\n style={{\n padding: \"var(--sg-button-padding-lg)\",\n backgroundColor: isGradient ? \"#fff\" : \"var(--sg-primary)\",\n color: isGradient\n ? \"var(--sg-primary)\"\n : \"var(--sg-primary-text)\",\n borderRadius: \"var(--sg-button-radius)\",\n textDecoration: \"none\",\n fontWeight: 500,\n }}\n >\n {primaryButton.text}\n </a>\n )}\n {secondaryButton && (\n <a\n href={secondaryButton.href || \"#\"}\n style={{\n padding: \"var(--sg-button-padding-lg)\",\n backgroundColor: \"transparent\",\n color: isGradient ? \"#fff\" : \"var(--sg-primary)\",\n border: `1px solid ${isGradient ? \"#fff\" : \"var(--sg-primary)\"}`,\n borderRadius: \"var(--sg-button-radius)\",\n textDecoration: \"none\",\n fontWeight: 500,\n }}\n >\n {secondaryButton.text}\n </a>\n )}\n </div>\n </div>\n </section>\n );\n}\n"],"names":["renderCta","block","title","description","primaryButton","secondaryButton","variant","bg","isGradient","jsx","jsxs"],"mappings":";AAOO,SAASA,EAAUC,GAA6B;AACrD,QAAM;AAAA,IACJ,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,IAAAC;AAAA,EAAA,IACEN,EAAM,OAEJO,IAAaF,MAAY;AAE/B,SACE,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,OAAO;AAAA,QACL,SAAS;AAAA,QACT,iBAAiBD,IACb,sBACAD,KAAM;AAAA,QACV,YAAYC,IACR,iEACA;AAAA,QACJ,WAAW;AAAA,MAAA;AAAA,MAGb,UAAA,gBAAAE,EAAC,OAAA,EAAI,OAAO,EAAE,UAAU,SAAS,QAAQ,UAAU,SAAS,SAAA,GAC1D,UAAA;AAAA,QAAA,gBAAAD;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,cACL,UAAU;AAAA,cACV,cAAc;AAAA,cACd,OAAOD,IAAa,SAAS;AAAA,YAAA;AAAA,YAG9B,UAAAN;AAAA,UAAA;AAAA,QAAA;AAAA,QAEFC,KACC,gBAAAM;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,cACL,UAAU;AAAA,cACV,cAAc;AAAA,cACd,OAAOD,IACH,0BACA;AAAA,YAAA;AAAA,YAGL,UAAAL;AAAA,UAAA;AAAA,QAAA;AAAA,QAGL,gBAAAO,EAAC,OAAA,EAAI,OAAO,EAAE,SAAS,QAAQ,KAAK,QAAQ,gBAAgB,SAAA,GACzD,UAAA;AAAA,UAAAN,KACC,gBAAAK;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAML,EAAc,QAAQ;AAAA,cAC5B,OAAO;AAAA,gBACL,SAAS;AAAA,gBACT,iBAAiBI,IAAa,SAAS;AAAA,gBACvC,OAAOA,IACH,sBACA;AAAA,gBACJ,cAAc;AAAA,gBACd,gBAAgB;AAAA,gBAChB,YAAY;AAAA,cAAA;AAAA,cAGb,UAAAJ,EAAc;AAAA,YAAA;AAAA,UAAA;AAAA,UAGlBC,KACC,gBAAAI;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAMJ,EAAgB,QAAQ;AAAA,cAC9B,OAAO;AAAA,gBACL,SAAS;AAAA,gBACT,iBAAiB;AAAA,gBACjB,OAAOG,IAAa,SAAS;AAAA,gBAC7B,QAAQ,aAAaA,IAAa,SAAS,mBAAmB;AAAA,gBAC9D,cAAc;AAAA,gBACd,gBAAgB;AAAA,gBAChB,YAAY;AAAA,cAAA;AAAA,cAGb,UAAAH,EAAgB;AAAA,YAAA;AAAA,UAAA;AAAA,QACnB,EAAA,CAEJ;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,IAtEKJ,EAAM;AAAA,EAAA;AAyEjB;"}
1
+ {"version":3,"file":"CtaRenderer.js","sources":["../../../../../src/engine/render/renderers/sections/CtaRenderer.tsx"],"sourcesContent":["/**\n * CTA Renderer\n * Renderiza call-to-action com título, descrição e botões\n */\n\nimport React from \"react\";\n\nexport function renderCta(block: any): React.ReactNode {\n const {\n title,\n description,\n primaryButton,\n secondaryButton,\n variant = \"centered\",\n bg,\n } = block.props;\n\n const isGradient = variant === \"gradient\";\n\n return (\n <section\n key={block.id}\n style={{\n padding: \"var(--sg-section-padding-md)\",\n backgroundColor: isGradient\n ? \"var(--sg-primary)\"\n : bg || \"var(--sg-surface)\",\n background: isGradient\n ? \"linear-gradient(135deg, var(--sg-primary), var(--sg-accent))\"\n : undefined,\n textAlign: \"center\",\n }}\n >\n <div style={{ maxWidth: \"800px\", margin: \"0 auto\", padding: \"0 1rem\" }}>\n <div data-block-group=\"Conteúdo\">\n <h2\n style={{\n fontSize: \"var(--sg-heading-h2)\",\n marginBottom: \"1rem\",\n color: isGradient ? \"#fff\" : \"var(--sg-text)\",\n }}\n >\n {title}\n </h2>\n {description && (\n <p\n style={{\n fontSize: \"1.125rem\",\n marginBottom: \"2rem\",\n color: isGradient\n ? \"rgba(255,255,255,0.9)\"\n : \"var(--sg-muted-text)\",\n }}\n >\n {description}\n </p>\n )}\n </div>\n <div data-block-group=\"Botoes\" style={{ display: \"flex\", gap: \"1rem\", justifyContent: \"center\" }}>\n {primaryButton && (\n <a\n href={primaryButton.href || \"#\"}\n style={{\n padding: \"var(--sg-button-padding-lg)\",\n backgroundColor: isGradient ? \"#fff\" : \"var(--sg-primary)\",\n color: isGradient\n ? \"var(--sg-primary)\"\n : \"var(--sg-primary-text)\",\n borderRadius: \"var(--sg-button-radius)\",\n textDecoration: \"none\",\n fontWeight: 500,\n }}\n >\n {primaryButton.text}\n </a>\n )}\n {secondaryButton && (\n <a\n href={secondaryButton.href || \"#\"}\n style={{\n padding: \"var(--sg-button-padding-lg)\",\n backgroundColor: \"transparent\",\n color: isGradient ? \"#fff\" : \"var(--sg-primary)\",\n border: `1px solid ${isGradient ? \"#fff\" : \"var(--sg-primary)\"}`,\n borderRadius: \"var(--sg-button-radius)\",\n textDecoration: \"none\",\n fontWeight: 500,\n }}\n >\n {secondaryButton.text}\n </a>\n )}\n </div>\n </div>\n </section>\n );\n}\n"],"names":["renderCta","block","title","description","primaryButton","secondaryButton","variant","bg","isGradient","jsx","jsxs"],"mappings":";AAOO,SAASA,EAAUC,GAA6B;AACrD,QAAM;AAAA,IACJ,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,IAAAC;AAAA,EAAA,IACEN,EAAM,OAEJO,IAAaF,MAAY;AAE/B,SACE,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,OAAO;AAAA,QACL,SAAS;AAAA,QACT,iBAAiBD,IACb,sBACAD,KAAM;AAAA,QACV,YAAYC,IACR,iEACA;AAAA,QACJ,WAAW;AAAA,MAAA;AAAA,MAGb,UAAA,gBAAAE,EAAC,OAAA,EAAI,OAAO,EAAE,UAAU,SAAS,QAAQ,UAAU,SAAS,SAAA,GAC1D,UAAA;AAAA,QAAA,gBAAAA,EAAC,OAAA,EAAI,oBAAiB,YACtB,UAAA;AAAA,UAAA,gBAAAD;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAO;AAAA,gBACL,UAAU;AAAA,gBACV,cAAc;AAAA,gBACd,OAAOD,IAAa,SAAS;AAAA,cAAA;AAAA,cAG9B,UAAAN;AAAA,YAAA;AAAA,UAAA;AAAA,UAEFC,KACC,gBAAAM;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAO;AAAA,gBACL,UAAU;AAAA,gBACV,cAAc;AAAA,gBACd,OAAOD,IACH,0BACA;AAAA,cAAA;AAAA,cAGL,UAAAL;AAAA,YAAA;AAAA,UAAA;AAAA,QACH,GAEF;AAAA,QACA,gBAAAO,EAAC,OAAA,EAAI,oBAAiB,UAAS,OAAO,EAAE,SAAS,QAAQ,KAAK,QAAQ,gBAAgB,SAAA,GACnF,UAAA;AAAA,UAAAN,KACC,gBAAAK;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAML,EAAc,QAAQ;AAAA,cAC5B,OAAO;AAAA,gBACL,SAAS;AAAA,gBACT,iBAAiBI,IAAa,SAAS;AAAA,gBACvC,OAAOA,IACH,sBACA;AAAA,gBACJ,cAAc;AAAA,gBACd,gBAAgB;AAAA,gBAChB,YAAY;AAAA,cAAA;AAAA,cAGb,UAAAJ,EAAc;AAAA,YAAA;AAAA,UAAA;AAAA,UAGlBC,KACC,gBAAAI;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAMJ,EAAgB,QAAQ;AAAA,cAC9B,OAAO;AAAA,gBACL,SAAS;AAAA,gBACT,iBAAiB;AAAA,gBACjB,OAAOG,IAAa,SAAS;AAAA,gBAC7B,QAAQ,aAAaA,IAAa,SAAS,mBAAmB;AAAA,gBAC9D,cAAc;AAAA,gBACd,gBAAgB;AAAA,gBAChB,YAAY;AAAA,cAAA;AAAA,cAGb,UAAAH,EAAgB;AAAA,YAAA;AAAA,UAAA;AAAA,QACnB,EAAA,CAEJ;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,IAxEKJ,EAAM;AAAA,EAAA;AA2EjB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FaqItemRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/render/renderers/sections/FaqItemRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CA6BzD"}
1
+ {"version":3,"file":"FaqItemRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/render/renderers/sections/FaqItemRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CA8BzD"}
@@ -1,15 +1,16 @@
1
- import { jsxs as r, jsx as t } from "react/jsx-runtime";
1
+ import { jsxs as t, jsx as r } from "react/jsx-runtime";
2
2
  function i(e) {
3
- const { question: n, answer: s } = e.props;
4
- return /* @__PURE__ */ r(
3
+ const { question: n, answer: o } = e.props;
4
+ return /* @__PURE__ */ t(
5
5
  "details",
6
6
  {
7
+ "data-block-group": "Conteúdo",
7
8
  style: {
8
9
  borderBottom: "1px solid var(--sg-border)",
9
10
  padding: "1rem 0"
10
11
  },
11
12
  children: [
12
- /* @__PURE__ */ r(
13
+ /* @__PURE__ */ t(
13
14
  "summary",
14
15
  {
15
16
  style: {
@@ -22,11 +23,11 @@ function i(e) {
22
23
  },
23
24
  children: [
24
25
  n,
25
- /* @__PURE__ */ t("span", { style: { fontSize: "1.25rem" }, children: "+" })
26
+ /* @__PURE__ */ r("span", { style: { fontSize: "1.25rem" }, children: "+" })
26
27
  ]
27
28
  }
28
29
  ),
29
- /* @__PURE__ */ t("p", { style: { marginTop: "1rem", color: "var(--sg-muted-text)" }, children: s })
30
+ /* @__PURE__ */ r("p", { style: { marginTop: "1rem", color: "var(--sg-muted-text)" }, children: o })
30
31
  ]
31
32
  },
32
33
  e.id
@@ -1 +1 @@
1
- {"version":3,"file":"FaqItemRenderer.js","sources":["../../../../../src/engine/render/renderers/sections/FaqItemRenderer.tsx"],"sourcesContent":["/**\n * FaqItem Renderer\n * Renderiza item individual de FAQ (pergunta + resposta)\n */\n\nimport React from \"react\";\n\nexport function renderFaqItem(block: any): React.ReactNode {\n const { question, answer } = block.props;\n\n return (\n <details\n key={block.id}\n style={{\n borderBottom: \"1px solid var(--sg-border)\",\n padding: \"1rem 0\",\n }}\n >\n <summary\n style={{\n fontWeight: 600,\n cursor: \"pointer\",\n listStyle: \"none\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n {question}\n <span style={{ fontSize: \"1.25rem\" }}>+</span>\n </summary>\n <p style={{ marginTop: \"1rem\", color: \"var(--sg-muted-text)\" }}>\n {answer}\n </p>\n </details>\n );\n}\n"],"names":["renderFaqItem","block","question","answer","jsxs","jsx"],"mappings":";AAOO,SAASA,EAAcC,GAA6B;AACzD,QAAM,EAAE,UAAAC,GAAU,QAAAC,EAAA,IAAWF,EAAM;AAEnC,SACE,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,OAAO;AAAA,QACL,cAAc;AAAA,QACd,SAAS;AAAA,MAAA;AAAA,MAGX,UAAA;AAAA,QAAA,gBAAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,cACL,YAAY;AAAA,cACZ,QAAQ;AAAA,cACR,WAAW;AAAA,cACX,SAAS;AAAA,cACT,gBAAgB;AAAA,cAChB,YAAY;AAAA,YAAA;AAAA,YAGb,UAAA;AAAA,cAAAF;AAAA,gCACA,QAAA,EAAK,OAAO,EAAE,UAAU,UAAA,GAAa,UAAA,IAAA,CAAC;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAEzC,gBAAAG,EAAC,OAAE,OAAO,EAAE,WAAW,QAAQ,OAAO,uBAAA,GACnC,UAAAF,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,IArBKF,EAAM;AAAA,EAAA;AAwBjB;"}
1
+ {"version":3,"file":"FaqItemRenderer.js","sources":["../../../../../src/engine/render/renderers/sections/FaqItemRenderer.tsx"],"sourcesContent":["/**\n * FaqItem Renderer\n * Renderiza item individual de FAQ (pergunta + resposta)\n */\n\nimport React from \"react\";\n\nexport function renderFaqItem(block: any): React.ReactNode {\n const { question, answer } = block.props;\n\n return (\n <details\n key={block.id}\n data-block-group=\"Conteúdo\"\n style={{\n borderBottom: \"1px solid var(--sg-border)\",\n padding: \"1rem 0\",\n }}\n >\n <summary\n style={{\n fontWeight: 600,\n cursor: \"pointer\",\n listStyle: \"none\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n {question}\n <span style={{ fontSize: \"1.25rem\" }}>+</span>\n </summary>\n <p style={{ marginTop: \"1rem\", color: \"var(--sg-muted-text)\" }}>\n {answer}\n </p>\n </details>\n );\n}\n"],"names":["renderFaqItem","block","question","answer","jsxs","jsx"],"mappings":";AAOO,SAASA,EAAcC,GAA6B;AACzD,QAAM,EAAE,UAAAC,GAAU,QAAAC,EAAA,IAAWF,EAAM;AAEnC,SACE,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,oBAAiB;AAAA,MACjB,OAAO;AAAA,QACL,cAAc;AAAA,QACd,SAAS;AAAA,MAAA;AAAA,MAGX,UAAA;AAAA,QAAA,gBAAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,cACL,YAAY;AAAA,cACZ,QAAQ;AAAA,cACR,WAAW;AAAA,cACX,SAAS;AAAA,cACT,gBAAgB;AAAA,cAChB,YAAY;AAAA,YAAA;AAAA,YAGb,UAAA;AAAA,cAAAF;AAAA,gCACA,QAAA,EAAK,OAAO,EAAE,UAAU,UAAA,GAAa,UAAA,IAAA,CAAC;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAEzC,gBAAAG,EAAC,OAAE,OAAO,EAAE,WAAW,QAAQ,OAAO,uBAAA,GACnC,UAAAF,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,IAtBKF,EAAM;AAAA,EAAA;AAyBjB;"}