@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,7 +1,7 @@
1
- import { jsx as e, jsxs as n } from "react/jsx-runtime";
2
- import { renderFaqItem as s } from "./FaqItemRenderer.js";
1
+ import { jsx as e, jsxs as d } from "react/jsx-runtime";
2
+ import { renderFaqItem as m } from "./FaqItemRenderer.js";
3
3
  function l(r) {
4
- const { title: t, subtitle: i, items: d = [] } = r.props;
4
+ const { title: t, subtitle: i, items: n = [] } = r.props;
5
5
  return /* @__PURE__ */ e(
6
6
  "section",
7
7
  {
@@ -9,8 +9,8 @@ function l(r) {
9
9
  padding: "var(--sg-section-padding-md)",
10
10
  backgroundColor: "var(--sg-bg)"
11
11
  },
12
- children: /* @__PURE__ */ n("div", { style: { maxWidth: "800px", margin: "0 auto", padding: "0 1rem" }, children: [
13
- (t || i) && /* @__PURE__ */ n("div", { style: { textAlign: "center", marginBottom: "3rem" }, children: [
12
+ children: /* @__PURE__ */ d("div", { style: { maxWidth: "800px", margin: "0 auto", padding: "0 1rem" }, children: [
13
+ (t || i) && /* @__PURE__ */ d("div", { "data-block-group": "Conteúdo", style: { textAlign: "center", marginBottom: "3rem" }, children: [
14
14
  t && /* @__PURE__ */ e(
15
15
  "h2",
16
16
  {
@@ -29,8 +29,8 @@ function l(r) {
29
29
  }
30
30
  )
31
31
  ] }),
32
- /* @__PURE__ */ e("div", { children: d.map(
33
- (o, m) => s({ id: `${r.id}-faq-${m}`, props: o })
32
+ /* @__PURE__ */ e("div", { children: n.map(
33
+ (o, a) => m({ id: `${r.id}-faq-${a}`, props: o })
34
34
  ) })
35
35
  ] })
36
36
  },
@@ -1 +1 @@
1
- {"version":3,"file":"FaqRenderer.js","sources":["../../../../../src/engine/render/renderers/sections/FaqRenderer.tsx"],"sourcesContent":["/**\n * Faq Renderer\n * Renderiza seção de FAQ com título e lista de itens\n */\n\nimport React from \"react\";\nimport { renderFaqItem } from \"./FaqItemRenderer\";\n\nexport function renderFaq(block: any): React.ReactNode {\n const { title, subtitle, items = [] } = 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: \"800px\", margin: \"0 auto\", padding: \"0 1rem\" }}>\n {(title || subtitle) && (\n <div 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 <div>\n {items.map((item: any, index: number) =>\n renderFaqItem({ id: `${block.id}-faq-${index}`, props: item }),\n )}\n </div>\n </div>\n </section>\n );\n}\n"],"names":["renderFaq","block","title","subtitle","items","jsx","jsxs","item","index","renderFaqItem"],"mappings":";;AAQO,SAASA,EAAUC,GAA6B;AACrD,QAAM,EAAE,OAAAC,GAAO,UAAAC,GAAU,OAAAC,IAAQ,CAAA,EAAC,IAAMH,EAAM;AAE9C,SACE,gBAAAI;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,SAAS,QAAQ,UAAU,SAAS,SAAA,GACxD,UAAA;AAAA,SAAAJ,KAASC,wBACR,OAAA,EAAI,OAAO,EAAE,WAAW,UAAU,cAAc,OAAA,GAC9C,UAAA;AAAA,UAAAD,KACC,gBAAAG;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAO;AAAA,gBACL,UAAU;AAAA,gBACV,cAAc;AAAA,cAAA;AAAA,cAGf,UAAAH;AAAA,YAAA;AAAA,UAAA;AAAA,UAGJC,KACC,gBAAAE;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAO,EAAE,OAAO,wBAAwB,UAAU,WAAA;AAAA,cAEjD,UAAAF;AAAA,YAAA;AAAA,UAAA;AAAA,QACH,GAEJ;AAAA,QAEF,gBAAAE,EAAC,SACE,UAAAD,EAAM;AAAA,UAAI,CAACG,GAAWC,MACrBC,EAAc,EAAE,IAAI,GAAGR,EAAM,EAAE,QAAQO,CAAK,IAAI,OAAOD,GAAM;AAAA,QAAA,EAC/D,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,IAjCKN,EAAM;AAAA,EAAA;AAoCjB;"}
1
+ {"version":3,"file":"FaqRenderer.js","sources":["../../../../../src/engine/render/renderers/sections/FaqRenderer.tsx"],"sourcesContent":["/**\n * Faq Renderer\n * Renderiza seção de FAQ com título e lista de itens\n */\n\nimport React from \"react\";\nimport { renderFaqItem } from \"./FaqItemRenderer\";\n\nexport function renderFaq(block: any): React.ReactNode {\n const { title, subtitle, items = [] } = 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: \"800px\", margin: \"0 auto\", padding: \"0 1rem\" }}>\n {(title || subtitle) && (\n <div data-block-group=\"Conteúdo\" 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 <div>\n {items.map((item: any, index: number) =>\n renderFaqItem({ id: `${block.id}-faq-${index}`, props: item }),\n )}\n </div>\n </div>\n </section>\n );\n}\n"],"names":["renderFaq","block","title","subtitle","items","jsx","jsxs","item","index","renderFaqItem"],"mappings":";;AAQO,SAASA,EAAUC,GAA6B;AACrD,QAAM,EAAE,OAAAC,GAAO,UAAAC,GAAU,OAAAC,IAAQ,CAAA,EAAC,IAAMH,EAAM;AAE9C,SACE,gBAAAI;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,SAAS,QAAQ,UAAU,SAAS,SAAA,GACxD,UAAA;AAAA,SAAAJ,KAASC,MACT,gBAAAG,EAAC,OAAA,EAAI,oBAAiB,YAAW,OAAO,EAAE,WAAW,UAAU,cAAc,OAAA,GAC1E,UAAA;AAAA,UAAAJ,KACC,gBAAAG;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAO;AAAA,gBACL,UAAU;AAAA,gBACV,cAAc;AAAA,cAAA;AAAA,cAGf,UAAAH;AAAA,YAAA;AAAA,UAAA;AAAA,UAGJC,KACC,gBAAAE;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAO,EAAE,OAAO,wBAAwB,UAAU,WAAA;AAAA,cAEjD,UAAAF;AAAA,YAAA;AAAA,UAAA;AAAA,QACH,GAEJ;AAAA,QAEF,gBAAAE,EAAC,SACE,UAAAD,EAAM;AAAA,UAAI,CAACG,GAAWC,MACrBC,EAAc,EAAE,IAAI,GAAGR,EAAM,EAAE,QAAQO,CAAK,IAAI,OAAOD,GAAM;AAAA,QAAA,EAC/D,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,IAjCKN,EAAM;AAAA,EAAA;AAoCjB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureGridRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/render/renderers/sections/FeatureGridRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CAiI7D"}
1
+ {"version":3,"file":"FeatureGridRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/render/renderers/sections/FeatureGridRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CAkI7D"}
@@ -1,13 +1,13 @@
1
- import { jsx as e, jsxs as d } from "react/jsx-runtime";
1
+ import { jsx as e, jsxs as o } from "react/jsx-runtime";
2
2
  import { renderIcon as g } from "../content/IconRenderer.js";
3
- function p(n) {
3
+ function h(d) {
4
4
  const {
5
- title: o,
6
- subtitle: t,
5
+ title: t,
6
+ subtitle: n,
7
7
  columns: s = 3,
8
- variant: m = "default",
9
- features: l = []
10
- } = n.props, i = m === "image-cards";
8
+ variant: l = "default",
9
+ features: m = []
10
+ } = d.props, i = l === "image-cards";
11
11
  return /* @__PURE__ */ e(
12
12
  "section",
13
13
  {
@@ -15,35 +15,36 @@ function p(n) {
15
15
  padding: "var(--sg-section-padding-md, 4rem 0)",
16
16
  backgroundColor: "var(--sg-surface)"
17
17
  },
18
- children: /* @__PURE__ */ d("div", { style: { maxWidth: "1200px", margin: "0 auto", padding: "0 1rem" }, children: [
19
- (o || t) && /* @__PURE__ */ d("div", { style: { textAlign: "center", marginBottom: "3rem" }, children: [
20
- o && /* @__PURE__ */ e(
18
+ children: /* @__PURE__ */ o("div", { style: { maxWidth: "1200px", margin: "0 auto", padding: "0 1rem" }, children: [
19
+ (t || n) && /* @__PURE__ */ o("div", { "data-block-group": "Conteúdo", style: { textAlign: "center", marginBottom: "3rem" }, children: [
20
+ t && /* @__PURE__ */ e(
21
21
  "h2",
22
22
  {
23
23
  style: {
24
24
  fontSize: "var(--sg-heading-h2)",
25
25
  marginBottom: "0.5rem"
26
26
  },
27
- children: o
27
+ children: t
28
28
  }
29
29
  ),
30
- t && /* @__PURE__ */ e(
30
+ n && /* @__PURE__ */ e(
31
31
  "p",
32
32
  {
33
33
  style: { color: "var(--sg-muted-text)", fontSize: "1.125rem" },
34
- children: t
34
+ children: n
35
35
  }
36
36
  )
37
37
  ] }),
38
38
  /* @__PURE__ */ e(
39
39
  "div",
40
40
  {
41
+ "data-block-group": "Layout",
41
42
  style: {
42
43
  display: "grid",
43
44
  gridTemplateColumns: `repeat(${s}, 1fr)`,
44
45
  gap: "2rem"
45
46
  },
46
- children: l.map((r, a) => /* @__PURE__ */ d(
47
+ children: m.map((r, a) => /* @__PURE__ */ o(
47
48
  "div",
48
49
  {
49
50
  style: {
@@ -66,7 +67,7 @@ function p(n) {
66
67
  }
67
68
  }
68
69
  ),
69
- /* @__PURE__ */ d(
70
+ /* @__PURE__ */ o(
70
71
  "div",
71
72
  {
72
73
  style: {
@@ -87,7 +88,7 @@ function p(n) {
87
88
  marginBottom: "1rem"
88
89
  },
89
90
  children: g({
90
- id: `${n.id}-feat-${a}-icon`,
91
+ id: `${d.id}-feat-${a}-icon`,
91
92
  props: { name: r.icon, color: "#fff" }
92
93
  })
93
94
  }
@@ -132,10 +133,10 @@ function p(n) {
132
133
  )
133
134
  ] })
134
135
  },
135
- n.id
136
+ d.id
136
137
  );
137
138
  }
138
139
  export {
139
- p as renderFeatureGrid
140
+ h as renderFeatureGrid
140
141
  };
141
142
  //# sourceMappingURL=FeatureGridRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureGridRenderer.js","sources":["../../../../../src/engine/render/renderers/sections/FeatureGridRenderer.tsx"],"sourcesContent":["/**\n * FeatureGrid Renderer\n * Renderiza grid de features com título, subtítulo e cards\n */\n\nimport React from \"react\";\nimport { renderIcon } from \"../content/IconRenderer\";\n\nexport function renderFeatureGrid(block: any): React.ReactNode {\n const {\n title,\n subtitle,\n columns = 3,\n variant = \"default\",\n features = [],\n } = block.props;\n const isImageCards = variant === \"image-cards\";\n\n return (\n <section\n key={block.id}\n style={{\n padding: \"var(--sg-section-padding-md, 4rem 0)\",\n backgroundColor: \"var(--sg-surface)\",\n }}\n >\n <div style={{ maxWidth: \"1200px\", margin: \"0 auto\", padding: \"0 1rem\" }}>\n {(title || subtitle) && (\n <div 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 <div\n style={{\n display: \"grid\",\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n gap: \"2rem\",\n }}\n >\n {features.map((feature: any, index: number) => (\n <div\n key={index}\n style={{\n backgroundColor: \"var(--sg-bg)\",\n borderRadius: \"var(--sg-card-radius, 0.75rem)\",\n padding: isImageCards && feature.image ? 0 : \"2rem\",\n boxShadow: \"var(--sg-card-shadow)\",\n overflow: \"hidden\",\n }}\n >\n {isImageCards && feature.image && (\n <div\n style={{\n width: \"100%\",\n height: \"200px\",\n backgroundImage: `url(${feature.image})`,\n backgroundSize: \"cover\",\n backgroundPosition: \"center\",\n }}\n />\n )}\n <div\n style={{\n padding: isImageCards && feature.image ? \"1.5rem\" : 0,\n }}\n >\n {!isImageCards && feature.icon && (\n <div\n style={{\n width: \"3rem\",\n height: \"3rem\",\n backgroundColor: \"var(--sg-primary)\",\n borderRadius: \"0.75rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n marginBottom: \"1rem\",\n }}\n >\n {renderIcon({\n id: `${block.id}-feat-${index}-icon`,\n props: { name: feature.icon, color: \"#fff\" },\n })}\n </div>\n )}\n <h3\n style={{\n fontSize: \"1.25rem\",\n fontWeight: 600,\n marginBottom: \"0.5rem\",\n }}\n >\n {feature.title}\n </h3>\n <p style={{ color: \"var(--sg-muted-text)\" }}>\n {feature.description}\n </p>\n {feature.link && (\n <a\n href={feature.link.href || \"#\"}\n style={{\n display: \"inline-block\",\n marginTop: \"0.75rem\",\n color: \"var(--sg-primary)\",\n fontWeight: 500,\n textDecoration: \"none\",\n border: \"1px solid var(--sg-primary)\",\n padding: \"0.5rem 1rem\",\n borderRadius: \"var(--sg-button-radius, 0.5rem)\",\n }}\n >\n {feature.link.text}\n </a>\n )}\n </div>\n </div>\n ))}\n </div>\n </div>\n </section>\n );\n}\n"],"names":["renderFeatureGrid","block","title","subtitle","columns","variant","features","isImageCards","jsx","jsxs","feature","index","renderIcon"],"mappings":"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"}
1
+ {"version":3,"file":"FeatureGridRenderer.js","sources":["../../../../../src/engine/render/renderers/sections/FeatureGridRenderer.tsx"],"sourcesContent":["/**\n * FeatureGrid Renderer\n * Renderiza grid de features com título, subtítulo e cards\n */\n\nimport React from \"react\";\nimport { renderIcon } from \"../content/IconRenderer\";\n\nexport function renderFeatureGrid(block: any): React.ReactNode {\n const {\n title,\n subtitle,\n columns = 3,\n variant = \"default\",\n features = [],\n } = block.props;\n const isImageCards = variant === \"image-cards\";\n\n return (\n <section\n key={block.id}\n style={{\n padding: \"var(--sg-section-padding-md, 4rem 0)\",\n backgroundColor: \"var(--sg-surface)\",\n }}\n >\n <div style={{ maxWidth: \"1200px\", margin: \"0 auto\", padding: \"0 1rem\" }}>\n {(title || subtitle) && (\n <div data-block-group=\"Conteúdo\" 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 <div\n data-block-group=\"Layout\"\n style={{\n display: \"grid\",\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n gap: \"2rem\",\n }}\n >\n {features.map((feature: any, index: number) => (\n <div\n key={index}\n style={{\n backgroundColor: \"var(--sg-bg)\",\n borderRadius: \"var(--sg-card-radius, 0.75rem)\",\n padding: isImageCards && feature.image ? 0 : \"2rem\",\n boxShadow: \"var(--sg-card-shadow)\",\n overflow: \"hidden\",\n }}\n >\n {isImageCards && feature.image && (\n <div\n style={{\n width: \"100%\",\n height: \"200px\",\n backgroundImage: `url(${feature.image})`,\n backgroundSize: \"cover\",\n backgroundPosition: \"center\",\n }}\n />\n )}\n <div\n style={{\n padding: isImageCards && feature.image ? \"1.5rem\" : 0,\n }}\n >\n {!isImageCards && feature.icon && (\n <div\n style={{\n width: \"3rem\",\n height: \"3rem\",\n backgroundColor: \"var(--sg-primary)\",\n borderRadius: \"0.75rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n marginBottom: \"1rem\",\n }}\n >\n {renderIcon({\n id: `${block.id}-feat-${index}-icon`,\n props: { name: feature.icon, color: \"#fff\" },\n })}\n </div>\n )}\n <h3\n style={{\n fontSize: \"1.25rem\",\n fontWeight: 600,\n marginBottom: \"0.5rem\",\n }}\n >\n {feature.title}\n </h3>\n <p style={{ color: \"var(--sg-muted-text)\" }}>\n {feature.description}\n </p>\n {feature.link && (\n <a\n href={feature.link.href || \"#\"}\n style={{\n display: \"inline-block\",\n marginTop: \"0.75rem\",\n color: \"var(--sg-primary)\",\n fontWeight: 500,\n textDecoration: \"none\",\n border: \"1px solid var(--sg-primary)\",\n padding: \"0.5rem 1rem\",\n borderRadius: \"var(--sg-button-radius, 0.5rem)\",\n }}\n >\n {feature.link.text}\n </a>\n )}\n </div>\n </div>\n ))}\n </div>\n </div>\n </section>\n );\n}\n"],"names":["renderFeatureGrid","block","title","subtitle","columns","variant","features","isImageCards","jsx","jsxs","feature","index","renderIcon"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/render/renderers/sections/FeatureRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CAyCzD"}
1
+ {"version":3,"file":"FeatureRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/render/renderers/sections/FeatureRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CA0CzD"}
@@ -1,10 +1,11 @@
1
- import { jsxs as o, jsx as r } from "react/jsx-runtime";
1
+ import { jsxs as n, jsx as r } from "react/jsx-runtime";
2
2
  import { renderIcon as d } from "../content/IconRenderer.js";
3
3
  function a(e) {
4
- const { icon: t, title: i, description: n } = e.props;
5
- return /* @__PURE__ */ o(
4
+ const { icon: t, title: i, description: o } = e.props;
5
+ return /* @__PURE__ */ n(
6
6
  "div",
7
7
  {
8
+ "data-block-group": "Conteúdo",
8
9
  style: {
9
10
  padding: "1.5rem",
10
11
  textAlign: "center"
@@ -37,7 +38,7 @@ function a(e) {
37
38
  children: i
38
39
  }
39
40
  ),
40
- /* @__PURE__ */ r("p", { style: { color: "var(--sg-muted-text)", fontSize: "0.875rem" }, children: n })
41
+ /* @__PURE__ */ r("p", { style: { color: "var(--sg-muted-text)", fontSize: "0.875rem" }, children: o })
41
42
  ]
42
43
  },
43
44
  e.id
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureRenderer.js","sources":["../../../../../src/engine/render/renderers/sections/FeatureRenderer.tsx"],"sourcesContent":["/**\n * Feature Renderer\n * Renderiza um item de feature com ícone, título e descrição\n */\n\nimport React from \"react\";\nimport { renderIcon } from \"../content/IconRenderer\";\n\nexport function renderFeature(block: any): React.ReactNode {\n const { icon, title, description } = block.props;\n\n return (\n <div\n key={block.id}\n style={{\n padding: \"1.5rem\",\n textAlign: \"center\",\n }}\n >\n {icon && (\n <div\n style={{\n width: \"3rem\",\n height: \"3rem\",\n backgroundColor: \"var(--sg-primary)\",\n borderRadius: \"0.75rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n margin: \"0 auto 1rem\",\n color: \"var(--sg-primary-text)\",\n }}\n >\n {renderIcon({\n id: `${block.id}-icon`,\n props: { name: icon, size: \"md\", color: \"#fff\" },\n })}\n </div>\n )}\n <h3\n style={{ fontSize: \"1.25rem\", fontWeight: 600, marginBottom: \"0.5rem\" }}\n >\n {title}\n </h3>\n <p style={{ color: \"var(--sg-muted-text)\", fontSize: \"0.875rem\" }}>\n {description}\n </p>\n </div>\n );\n}\n"],"names":["renderFeature","block","icon","title","description","jsxs","jsx","renderIcon"],"mappings":";;AAQO,SAASA,EAAcC,GAA6B;AACzD,QAAM,EAAE,MAAAC,GAAM,OAAAC,GAAO,aAAAC,EAAA,IAAgBH,EAAM;AAE3C,SACE,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,OAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,MAGZ,UAAA;AAAA,QAAAH,KACC,gBAAAI;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,cACL,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,iBAAiB;AAAA,cACjB,cAAc;AAAA,cACd,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,gBAAgB;AAAA,cAChB,QAAQ;AAAA,cACR,OAAO;AAAA,YAAA;AAAA,YAGR,UAAAC,EAAW;AAAA,cACV,IAAI,GAAGN,EAAM,EAAE;AAAA,cACf,OAAO,EAAE,MAAMC,GAAM,MAAM,MAAM,OAAO,OAAA;AAAA,YAAO,CAChD;AAAA,UAAA;AAAA,QAAA;AAAA,QAGL,gBAAAI;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO,EAAE,UAAU,WAAW,YAAY,KAAK,cAAc,SAAA;AAAA,YAE5D,UAAAH;AAAA,UAAA;AAAA,QAAA;AAAA,QAEH,gBAAAG,EAAC,OAAE,OAAO,EAAE,OAAO,wBAAwB,UAAU,WAAA,GAClD,UAAAF,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,IAjCKH,EAAM;AAAA,EAAA;AAoCjB;"}
1
+ {"version":3,"file":"FeatureRenderer.js","sources":["../../../../../src/engine/render/renderers/sections/FeatureRenderer.tsx"],"sourcesContent":["/**\n * Feature Renderer\n * Renderiza um item de feature com ícone, título e descrição\n */\n\nimport React from \"react\";\nimport { renderIcon } from \"../content/IconRenderer\";\n\nexport function renderFeature(block: any): React.ReactNode {\n const { icon, title, description } = block.props;\n\n return (\n <div\n key={block.id}\n data-block-group=\"Conteúdo\"\n style={{\n padding: \"1.5rem\",\n textAlign: \"center\",\n }}\n >\n {icon && (\n <div\n style={{\n width: \"3rem\",\n height: \"3rem\",\n backgroundColor: \"var(--sg-primary)\",\n borderRadius: \"0.75rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n margin: \"0 auto 1rem\",\n color: \"var(--sg-primary-text)\",\n }}\n >\n {renderIcon({\n id: `${block.id}-icon`,\n props: { name: icon, size: \"md\", color: \"#fff\" },\n })}\n </div>\n )}\n <h3\n style={{ fontSize: \"1.25rem\", fontWeight: 600, marginBottom: \"0.5rem\" }}\n >\n {title}\n </h3>\n <p style={{ color: \"var(--sg-muted-text)\", fontSize: \"0.875rem\" }}>\n {description}\n </p>\n </div>\n );\n}\n"],"names":["renderFeature","block","icon","title","description","jsxs","jsx","renderIcon"],"mappings":";;AAQO,SAASA,EAAcC,GAA6B;AACzD,QAAM,EAAE,MAAAC,GAAM,OAAAC,GAAO,aAAAC,EAAA,IAAgBH,EAAM;AAE3C,SACE,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,oBAAiB;AAAA,MACjB,OAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,MAGZ,UAAA;AAAA,QAAAH,KACC,gBAAAI;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,cACL,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,iBAAiB;AAAA,cACjB,cAAc;AAAA,cACd,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,gBAAgB;AAAA,cAChB,QAAQ;AAAA,cACR,OAAO;AAAA,YAAA;AAAA,YAGR,UAAAC,EAAW;AAAA,cACV,IAAI,GAAGN,EAAM,EAAE;AAAA,cACf,OAAO,EAAE,MAAMC,GAAM,MAAM,MAAM,OAAO,OAAA;AAAA,YAAO,CAChD;AAAA,UAAA;AAAA,QAAA;AAAA,QAGL,gBAAAI;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO,EAAE,UAAU,WAAW,YAAY,KAAK,cAAc,SAAA;AAAA,YAE5D,UAAAH;AAAA,UAAA;AAAA,QAAA;AAAA,QAEH,gBAAAG,EAAC,OAAE,OAAO,EAAE,OAAO,wBAAwB,UAAU,WAAA,GAClD,UAAAF,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,IAlCKH,EAAM;AAAA,EAAA;AAqCjB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FooterRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/render/renderers/sections/FooterRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CAuOxD"}
1
+ {"version":3,"file":"FooterRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/render/renderers/sections/FooterRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CAwOxD"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as e, jsxs as i } from "react/jsx-runtime";
2
2
  import { socialIconPaths as d } from "../../../shared/socialIcons.js";
3
- function v(m) {
3
+ function v(g) {
4
4
  const {
5
5
  logo: t,
6
6
  description: n,
@@ -8,7 +8,7 @@ function v(m) {
8
8
  social: l = [],
9
9
  copyright: c,
10
10
  variant: p = "simple"
11
- } = m.props, a = typeof t == "string" ? t : t?.src ?? "", g = typeof t == "string" ? "Logo" : t?.alt ?? "Logo", f = p === "multi-column" && s.length > 0;
11
+ } = g.props, a = typeof t == "string" ? t : t?.src ?? "", m = typeof t == "string" ? "Logo" : t?.alt ?? "Logo", f = p === "multi-column" && s.length > 0;
12
12
  return /* @__PURE__ */ e(
13
13
  "footer",
14
14
  {
@@ -36,12 +36,12 @@ function v(m) {
36
36
  marginBottom: "2rem"
37
37
  },
38
38
  children: [
39
- /* @__PURE__ */ i("div", { children: [
39
+ /* @__PURE__ */ i("div", { "data-block-group": "Logo", children: [
40
40
  a && /* @__PURE__ */ e(
41
41
  "img",
42
42
  {
43
43
  src: a,
44
- alt: g,
44
+ alt: m,
45
45
  style: {
46
46
  height: "2.5rem",
47
47
  objectFit: "contain",
@@ -94,7 +94,7 @@ function v(m) {
94
94
  o
95
95
  )) })
96
96
  ] }),
97
- s.map((r, o) => /* @__PURE__ */ i("div", { children: [
97
+ s.map((r, o) => /* @__PURE__ */ i("div", { "data-block-group": "🔗 Links", children: [
98
98
  /* @__PURE__ */ e(
99
99
  "h4",
100
100
  {
@@ -137,6 +137,7 @@ function v(m) {
137
137
  ) : /* @__PURE__ */ i(
138
138
  "div",
139
139
  {
140
+ "data-block-group": "Logo",
140
141
  style: {
141
142
  textAlign: "center",
142
143
  marginBottom: "1.5rem"
@@ -146,7 +147,7 @@ function v(m) {
146
147
  "img",
147
148
  {
148
149
  src: a,
149
- alt: g,
150
+ alt: m,
150
151
  style: {
151
152
  height: "2.5rem",
152
153
  objectFit: "contain",
@@ -236,7 +237,7 @@ function v(m) {
236
237
  }
237
238
  )
238
239
  },
239
- m.id
240
+ g.id
240
241
  );
241
242
  }
242
243
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"FooterRenderer.js","sources":["../../../../../src/engine/render/renderers/sections/FooterRenderer.tsx"],"sourcesContent":["/**\n * Footer Renderer\n * Renderiza rodapé com logo, descrição, colunas de links e redes sociais\n */\n\nimport React from \"react\";\nimport { socialIconPaths } from \"../../../shared/socialIcons\";\n\nexport function renderFooter(block: any): React.ReactNode {\n const {\n logo,\n description,\n columns = [],\n social = [],\n copyright,\n variant = \"simple\",\n } = block.props;\n\n const logoUrl = typeof logo === \"string\" ? logo : (logo?.src ?? \"\");\n const logoAlt = typeof logo === \"string\" ? \"Logo\" : (logo?.alt ?? \"Logo\");\n\n const isMultiColumn = variant === \"multi-column\" && columns.length > 0;\n\n return (\n <footer\n key={block.id}\n style={{\n backgroundColor: \"var(--sg-surface, #f8fafc)\",\n borderTop: \"1px solid var(--sg-border, #e5e7eb)\",\n padding: \"3rem 0 1.5rem\",\n }}\n >\n <div\n style={{\n maxWidth: \"1200px\",\n margin: \"0 auto\",\n padding: \"0 1rem\",\n }}\n >\n {isMultiColumn ? (\n <div\n style={{\n display: \"grid\",\n gridTemplateColumns: `2fr repeat(${columns.length}, 1fr)`,\n gap: \"2rem\",\n marginBottom: \"2rem\",\n }}\n >\n {/* Brand column */}\n <div>\n {logoUrl && (\n <img\n src={logoUrl}\n alt={logoAlt}\n style={{\n height: \"2.5rem\",\n objectFit: \"contain\",\n marginBottom: \"1rem\",\n }}\n />\n )}\n {description && (\n <p\n style={{\n color: \"var(--sg-muted-text, #64748b)\",\n fontSize: \"0.875rem\",\n lineHeight: 1.6,\n marginBottom: \"1rem\",\n }}\n >\n {description}\n </p>\n )}\n {social.length > 0 && (\n <div style={{ display: \"flex\", gap: \"0.75rem\" }}>\n {social.map((item: any, index: number) => (\n <a\n key={index}\n href={item.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{\n color: \"var(--sg-muted-text, #64748b)\",\n textDecoration: \"none\",\n }}\n >\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path\n d={socialIconPaths[item.platform] || socialIconPaths.github}\n />\n </svg>\n </a>\n ))}\n </div>\n )}\n </div>\n\n {/* Link columns */}\n {columns.map((column: any, index: number) => (\n <div key={index}>\n <h4\n style={{\n fontWeight: 600,\n marginBottom: \"1rem\",\n color: \"var(--sg-text, #0f172a)\",\n }}\n >\n {column.title}\n </h4>\n <ul\n style={{\n listStyle: \"none\",\n padding: 0,\n margin: 0,\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"0.5rem\",\n }}\n >\n {column.links?.map((link: any, linkIndex: number) => (\n <li key={linkIndex}>\n <a\n href={link.href}\n style={{\n color: \"var(--sg-muted-text, #64748b)\",\n textDecoration: \"none\",\n fontSize: \"0.875rem\",\n }}\n >\n {link.text}\n </a>\n </li>\n ))}\n </ul>\n </div>\n ))}\n </div>\n ) : (\n <div\n style={{\n textAlign: \"center\",\n marginBottom: \"1.5rem\",\n }}\n >\n {logoUrl && (\n <img\n src={logoUrl}\n alt={logoAlt}\n style={{\n height: \"2.5rem\",\n objectFit: \"contain\",\n marginBottom: \"1rem\",\n }}\n />\n )}\n {description && (\n <p\n style={{\n color: \"var(--sg-muted-text, #64748b)\",\n fontSize: \"0.875rem\",\n maxWidth: \"400px\",\n margin: \"0 auto 1rem\",\n }}\n >\n {description}\n </p>\n )}\n {social.length > 0 && (\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n gap: \"1rem\",\n }}\n >\n {social.map((item: any, index: number) => (\n <a\n key={index}\n href={item.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{\n color: \"var(--sg-muted-text, #64748b)\",\n textDecoration: \"none\",\n }}\n >\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path\n d={socialIconPaths[item.platform] || socialIconPaths.github}\n />\n </svg>\n </a>\n ))}\n </div>\n )}\n </div>\n )}\n\n {/* Copyright */}\n {copyright && (\n <div\n style={{\n borderTop: \"1px solid var(--sg-border, #e5e7eb)\",\n paddingTop: \"1.5rem\",\n textAlign: \"center\",\n }}\n >\n <p\n style={{\n color: \"var(--sg-muted-text, #64748b)\",\n fontSize: \"0.875rem\",\n margin: 0,\n }}\n >\n {copyright}\n </p>\n </div>\n )}\n </div>\n </footer>\n );\n}\n"],"names":["renderFooter","block","logo","description","columns","social","copyright","variant","logoUrl","logoAlt","isMultiColumn","jsx","jsxs","item","index","socialIconPaths","column","link","linkIndex"],"mappings":"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"}
1
+ {"version":3,"file":"FooterRenderer.js","sources":["../../../../../src/engine/render/renderers/sections/FooterRenderer.tsx"],"sourcesContent":["/**\n * Footer Renderer\n * Renderiza rodapé com logo, descrição, colunas de links e redes sociais\n */\n\nimport React from \"react\";\nimport { socialIconPaths } from \"../../../shared/socialIcons\";\n\nexport function renderFooter(block: any): React.ReactNode {\n const {\n logo,\n description,\n columns = [],\n social = [],\n copyright,\n variant = \"simple\",\n } = block.props;\n\n const logoUrl = typeof logo === \"string\" ? logo : (logo?.src ?? \"\");\n const logoAlt = typeof logo === \"string\" ? \"Logo\" : (logo?.alt ?? \"Logo\");\n\n const isMultiColumn = variant === \"multi-column\" && columns.length > 0;\n\n return (\n <footer\n key={block.id}\n style={{\n backgroundColor: \"var(--sg-surface, #f8fafc)\",\n borderTop: \"1px solid var(--sg-border, #e5e7eb)\",\n padding: \"3rem 0 1.5rem\",\n }}\n >\n <div\n style={{\n maxWidth: \"1200px\",\n margin: \"0 auto\",\n padding: \"0 1rem\",\n }}\n >\n {isMultiColumn ? (\n <div\n style={{\n display: \"grid\",\n gridTemplateColumns: `2fr repeat(${columns.length}, 1fr)`,\n gap: \"2rem\",\n marginBottom: \"2rem\",\n }}\n >\n {/* Brand column */}\n <div data-block-group=\"Logo\">\n {logoUrl && (\n <img\n src={logoUrl}\n alt={logoAlt}\n style={{\n height: \"2.5rem\",\n objectFit: \"contain\",\n marginBottom: \"1rem\",\n }}\n />\n )}\n {description && (\n <p\n style={{\n color: \"var(--sg-muted-text, #64748b)\",\n fontSize: \"0.875rem\",\n lineHeight: 1.6,\n marginBottom: \"1rem\",\n }}\n >\n {description}\n </p>\n )}\n {social.length > 0 && (\n <div style={{ display: \"flex\", gap: \"0.75rem\" }}>\n {social.map((item: any, index: number) => (\n <a\n key={index}\n href={item.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{\n color: \"var(--sg-muted-text, #64748b)\",\n textDecoration: \"none\",\n }}\n >\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path\n d={socialIconPaths[item.platform] || socialIconPaths.github}\n />\n </svg>\n </a>\n ))}\n </div>\n )}\n </div>\n\n {/* Link columns */}\n {columns.map((column: any, index: number) => (\n <div key={index} data-block-group=\"🔗 Links\">\n <h4\n style={{\n fontWeight: 600,\n marginBottom: \"1rem\",\n color: \"var(--sg-text, #0f172a)\",\n }}\n >\n {column.title}\n </h4>\n <ul\n style={{\n listStyle: \"none\",\n padding: 0,\n margin: 0,\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"0.5rem\",\n }}\n >\n {column.links?.map((link: any, linkIndex: number) => (\n <li key={linkIndex}>\n <a\n href={link.href}\n style={{\n color: \"var(--sg-muted-text, #64748b)\",\n textDecoration: \"none\",\n fontSize: \"0.875rem\",\n }}\n >\n {link.text}\n </a>\n </li>\n ))}\n </ul>\n </div>\n ))}\n </div>\n ) : (\n <div\n data-block-group=\"Logo\"\n style={{\n textAlign: \"center\",\n marginBottom: \"1.5rem\",\n }}\n >\n {logoUrl && (\n <img\n src={logoUrl}\n alt={logoAlt}\n style={{\n height: \"2.5rem\",\n objectFit: \"contain\",\n marginBottom: \"1rem\",\n }}\n />\n )}\n {description && (\n <p\n style={{\n color: \"var(--sg-muted-text, #64748b)\",\n fontSize: \"0.875rem\",\n maxWidth: \"400px\",\n margin: \"0 auto 1rem\",\n }}\n >\n {description}\n </p>\n )}\n {social.length > 0 && (\n <div\n style={{\n display: \"flex\",\n justifyContent: \"center\",\n gap: \"1rem\",\n }}\n >\n {social.map((item: any, index: number) => (\n <a\n key={index}\n href={item.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{\n color: \"var(--sg-muted-text, #64748b)\",\n textDecoration: \"none\",\n }}\n >\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path\n d={socialIconPaths[item.platform] || socialIconPaths.github}\n />\n </svg>\n </a>\n ))}\n </div>\n )}\n </div>\n )}\n\n {/* Copyright */}\n {copyright && (\n <div\n style={{\n borderTop: \"1px solid var(--sg-border, #e5e7eb)\",\n paddingTop: \"1.5rem\",\n textAlign: \"center\",\n }}\n >\n <p\n style={{\n color: \"var(--sg-muted-text, #64748b)\",\n fontSize: \"0.875rem\",\n margin: 0,\n }}\n >\n {copyright}\n </p>\n </div>\n )}\n </div>\n </footer>\n );\n}\n"],"names":["renderFooter","block","logo","description","columns","social","copyright","variant","logoUrl","logoAlt","isMultiColumn","jsx","jsxs","item","index","socialIconPaths","column","link","linkIndex"],"mappings":";;AAQO,SAASA,EAAaC,GAA6B;AACxD,QAAM;AAAA,IACJ,MAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC,IAAU,CAAA;AAAA,IACV,QAAAC,IAAS,CAAA;AAAA,IACT,WAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,EAAA,IACRN,EAAM,OAEJO,IAAU,OAAON,KAAS,WAAWA,IAAQA,GAAM,OAAO,IAC1DO,IAAU,OAAOP,KAAS,WAAW,SAAUA,GAAM,OAAO,QAE5DQ,IAAgBH,MAAY,kBAAkBH,EAAQ,SAAS;AAErE,SACE,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,OAAO;AAAA,QACL,iBAAiB;AAAA,QACjB,WAAW;AAAA,QACX,SAAS;AAAA,MAAA;AAAA,MAGX,UAAA,gBAAAC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,OAAO;AAAA,YACL,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,SAAS;AAAA,UAAA;AAAA,UAGV,UAAA;AAAA,YAAAF,IACC,gBAAAE;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,OAAO;AAAA,kBACL,SAAS;AAAA,kBACT,qBAAqB,cAAcR,EAAQ,MAAM;AAAA,kBACjD,KAAK;AAAA,kBACL,cAAc;AAAA,gBAAA;AAAA,gBAIhB,UAAA;AAAA,kBAAA,gBAAAQ,EAAC,OAAA,EAAI,oBAAiB,QACnB,UAAA;AAAA,oBAAAJ,KACC,gBAAAG;AAAA,sBAAC;AAAA,sBAAA;AAAA,wBACC,KAAKH;AAAA,wBACL,KAAKC;AAAA,wBACL,OAAO;AAAA,0BACL,QAAQ;AAAA,0BACR,WAAW;AAAA,0BACX,cAAc;AAAA,wBAAA;AAAA,sBAChB;AAAA,oBAAA;AAAA,oBAGHN,KACC,gBAAAQ;AAAA,sBAAC;AAAA,sBAAA;AAAA,wBACC,OAAO;AAAA,0BACL,OAAO;AAAA,0BACP,UAAU;AAAA,0BACV,YAAY;AAAA,0BACZ,cAAc;AAAA,wBAAA;AAAA,wBAGf,UAAAR;AAAA,sBAAA;AAAA,oBAAA;AAAA,oBAGJE,EAAO,SAAS,KACf,gBAAAM,EAAC,OAAA,EAAI,OAAO,EAAE,SAAS,QAAQ,KAAK,aACjC,UAAAN,EAAO,IAAI,CAACQ,GAAWC,MACtB,gBAAAH;AAAA,sBAAC;AAAA,sBAAA;AAAA,wBAEC,MAAME,EAAK;AAAA,wBACX,QAAO;AAAA,wBACP,KAAI;AAAA,wBACJ,OAAO;AAAA,0BACL,OAAO;AAAA,0BACP,gBAAgB;AAAA,wBAAA;AAAA,wBAGlB,UAAA,gBAAAF;AAAA,0BAAC;AAAA,0BAAA;AAAA,4BACC,OAAM;AAAA,4BACN,QAAO;AAAA,4BACP,SAAQ;AAAA,4BACR,MAAK;AAAA,4BACL,QAAO;AAAA,4BACP,aAAY;AAAA,4BACZ,eAAc;AAAA,4BACd,gBAAe;AAAA,4BAEf,UAAA,gBAAAA;AAAA,8BAAC;AAAA,8BAAA;AAAA,gCACC,GAAGI,EAAgBF,EAAK,QAAQ,KAAKE,EAAgB;AAAA,8BAAA;AAAA,4BAAA;AAAA,0BACvD;AAAA,wBAAA;AAAA,sBACF;AAAA,sBAtBKD;AAAA,oBAAA,CAwBR,EAAA,CACH;AAAA,kBAAA,GAEJ;AAAA,kBAGCV,EAAQ,IAAI,CAACY,GAAaF,MACzB,gBAAAF,EAAC,OAAA,EAAgB,oBAAiB,YAChC,UAAA;AAAA,oBAAA,gBAAAD;AAAA,sBAAC;AAAA,sBAAA;AAAA,wBACC,OAAO;AAAA,0BACL,YAAY;AAAA,0BACZ,cAAc;AAAA,0BACd,OAAO;AAAA,wBAAA;AAAA,wBAGR,UAAAK,EAAO;AAAA,sBAAA;AAAA,oBAAA;AAAA,oBAEV,gBAAAL;AAAA,sBAAC;AAAA,sBAAA;AAAA,wBACC,OAAO;AAAA,0BACL,WAAW;AAAA,0BACX,SAAS;AAAA,0BACT,QAAQ;AAAA,0BACR,SAAS;AAAA,0BACT,eAAe;AAAA,0BACf,KAAK;AAAA,wBAAA;AAAA,wBAGN,YAAO,OAAO,IAAI,CAACM,GAAWC,wBAC5B,MAAA,EACC,UAAA,gBAAAP;AAAA,0BAAC;AAAA,0BAAA;AAAA,4BACC,MAAMM,EAAK;AAAA,4BACX,OAAO;AAAA,8BACL,OAAO;AAAA,8BACP,gBAAgB;AAAA,8BAChB,UAAU;AAAA,4BAAA;AAAA,4BAGX,UAAAA,EAAK;AAAA,0BAAA;AAAA,wBAAA,EACR,GAVOC,CAWT,CACD;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBACH,EAAA,GAlCQJ,CAmCV,CACD;AAAA,gBAAA;AAAA,cAAA;AAAA,YAAA,IAGH,gBAAAF;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,oBAAiB;AAAA,gBACjB,OAAO;AAAA,kBACL,WAAW;AAAA,kBACX,cAAc;AAAA,gBAAA;AAAA,gBAGf,UAAA;AAAA,kBAAAJ,KACC,gBAAAG;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,KAAKH;AAAA,sBACL,KAAKC;AAAA,sBACL,OAAO;AAAA,wBACL,QAAQ;AAAA,wBACR,WAAW;AAAA,wBACX,cAAc;AAAA,sBAAA;AAAA,oBAChB;AAAA,kBAAA;AAAA,kBAGHN,KACC,gBAAAQ;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,OAAO;AAAA,wBACL,OAAO;AAAA,wBACP,UAAU;AAAA,wBACV,UAAU;AAAA,wBACV,QAAQ;AAAA,sBAAA;AAAA,sBAGT,UAAAR;AAAA,oBAAA;AAAA,kBAAA;AAAA,kBAGJE,EAAO,SAAS,KACf,gBAAAM;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,OAAO;AAAA,wBACL,SAAS;AAAA,wBACT,gBAAgB;AAAA,wBAChB,KAAK;AAAA,sBAAA;AAAA,sBAGN,UAAAN,EAAO,IAAI,CAACQ,GAAWC,MACtB,gBAAAH;AAAA,wBAAC;AAAA,wBAAA;AAAA,0BAEC,MAAME,EAAK;AAAA,0BACX,QAAO;AAAA,0BACP,KAAI;AAAA,0BACJ,OAAO;AAAA,4BACL,OAAO;AAAA,4BACP,gBAAgB;AAAA,0BAAA;AAAA,0BAGlB,UAAA,gBAAAF;AAAA,4BAAC;AAAA,4BAAA;AAAA,8BACC,OAAM;AAAA,8BACN,QAAO;AAAA,8BACP,SAAQ;AAAA,8BACR,MAAK;AAAA,8BACL,QAAO;AAAA,8BACP,aAAY;AAAA,8BACZ,eAAc;AAAA,8BACd,gBAAe;AAAA,8BAEf,UAAA,gBAAAA;AAAA,gCAAC;AAAA,gCAAA;AAAA,kCACC,GAAGI,EAAgBF,EAAK,QAAQ,KAAKE,EAAgB;AAAA,gCAAA;AAAA,8BAAA;AAAA,4BACvD;AAAA,0BAAA;AAAA,wBACF;AAAA,wBAtBKD;AAAA,sBAAA,CAwBR;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACH;AAAA,cAAA;AAAA,YAAA;AAAA,YAMLR,KACC,gBAAAK;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,OAAO;AAAA,kBACL,WAAW;AAAA,kBACX,YAAY;AAAA,kBACZ,WAAW;AAAA,gBAAA;AAAA,gBAGb,UAAA,gBAAAA;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,OAAO;AAAA,sBACL,OAAO;AAAA,sBACP,UAAU;AAAA,sBACV,QAAQ;AAAA,oBAAA;AAAA,oBAGT,UAAAL;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACH;AAAA,YAAA;AAAA,UACF;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,IApNKL,EAAM;AAAA,EAAA;AAuNjB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HeroRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/render/renderers/sections/HeroRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,wBAAgB,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CA0rBtD"}
1
+ {"version":3,"file":"HeroRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/render/renderers/sections/HeroRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B,wBAAgB,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CAsxBtD"}