@brunoalz/smartgesti-site-editor 1.2.0 → 1.3.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.
- package/dist/editor/BlockSelector.js +5 -2
- package/dist/editor/BlockSelector.js.map +1 -1
- package/dist/editor/LandingPageEditor.d.ts.map +1 -1
- package/dist/editor/LandingPageEditor.js +163 -151
- package/dist/editor/LandingPageEditor.js.map +1 -1
- package/dist/editor/PropertyEditor/BlockPropertyEditor.d.ts.map +1 -1
- package/dist/editor/PropertyEditor/BlockPropertyEditor.js +86 -48
- package/dist/editor/PropertyEditor/BlockPropertyEditor.js.map +1 -1
- package/dist/engine/export/exporters/sections/AdminSectionExporters.d.ts +6 -0
- package/dist/engine/export/exporters/sections/AdminSectionExporters.d.ts.map +1 -0
- package/dist/engine/export/exporters/sections/AdminSectionExporters.js +157 -0
- package/dist/engine/export/exporters/sections/AdminSectionExporters.js.map +1 -0
- package/dist/engine/export/exporters/sections/index.d.ts.map +1 -1
- package/dist/engine/export/exporters/sections/index.js +37 -33
- package/dist/engine/export/exporters/sections/index.js.map +1 -1
- package/dist/engine/index.js +98 -95
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/preview/Preview.d.ts.map +1 -1
- package/dist/engine/preview/Preview.js +165 -160
- package/dist/engine/preview/Preview.js.map +1 -1
- package/dist/engine/registry/blocks/sections/aboutSection.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/aboutSection.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/aboutSection.js +117 -0
- package/dist/engine/registry/blocks/sections/aboutSection.js.map +1 -0
- package/dist/engine/registry/blocks/sections/contactSection.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/contactSection.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/contactSection.js +118 -0
- package/dist/engine/registry/blocks/sections/contactSection.js.map +1 -0
- package/dist/engine/registry/blocks/sections/index.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/index.d.ts.map +1 -1
- package/dist/engine/registry/blocks/sections/productShowcase.d.ts +3 -0
- package/dist/engine/registry/blocks/sections/productShowcase.d.ts.map +1 -0
- package/dist/engine/registry/blocks/sections/productShowcase.js +108 -0
- package/dist/engine/registry/blocks/sections/productShowcase.js.map +1 -0
- package/dist/engine/render/renderers/sections/AboutSectionRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/AboutSectionRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/AboutSectionRenderer.js +246 -0
- package/dist/engine/render/renderers/sections/AboutSectionRenderer.js.map +1 -0
- package/dist/engine/render/renderers/sections/ContactSectionRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/ContactSectionRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/ContactSectionRenderer.js +287 -0
- package/dist/engine/render/renderers/sections/ContactSectionRenderer.js.map +1 -0
- package/dist/engine/render/renderers/sections/ProductShowcaseRenderer.d.ts +3 -0
- package/dist/engine/render/renderers/sections/ProductShowcaseRenderer.d.ts.map +1 -0
- package/dist/engine/render/renderers/sections/ProductShowcaseRenderer.js +287 -0
- package/dist/engine/render/renderers/sections/ProductShowcaseRenderer.js.map +1 -0
- package/dist/engine/render/renderers/sections/index.js +26 -20
- package/dist/engine/render/renderers/sections/index.js.map +1 -1
- package/dist/engine/schema/siteDocument.d.ts +96 -2
- package/dist/engine/schema/siteDocument.d.ts.map +1 -1
- package/dist/engine/schema/siteDocument.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +109 -106
- package/dist/index.js.map +1 -1
- package/dist/shared/schema.d.ts +1 -1
- package/dist/shared/schema.d.ts.map +1 -1
- package/dist/shared/schema.js +7 -4
- package/dist/shared/schema.js.map +1 -1
- package/dist/shared/templates/index.d.ts +2 -0
- package/dist/shared/templates/index.d.ts.map +1 -1
- package/dist/shared/templates/index.js +42 -23
- package/dist/shared/templates/index.js.map +1 -1
- package/dist/shared/templates/smartgesti-admin.d.ts +3 -0
- package/dist/shared/templates/smartgesti-admin.d.ts.map +1 -0
- package/dist/shared/templates/smartgesti-admin.js +426 -0
- package/dist/shared/templates/smartgesti-admin.js.map +1 -0
- package/dist/utils/blockIcons.d.ts.map +1 -1
- package/dist/utils/blockIcons.js +3 -0
- package/dist/utils/blockIcons.js.map +1 -1
- package/dist/viewer/LandingPageViewer.d.ts.map +1 -1
- package/dist/viewer/LandingPageViewer.js +66 -65
- package/dist/viewer/LandingPageViewer.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { jsx as e, jsxs as t, Fragment as C } from "react/jsx-runtime";
|
|
2
|
+
import { generateButtonHoverStyles as W, generateButtonOverlayCSS as w, getButtonHoverKeyframes as z } from "../../../shared/hoverEffects/buttonHover.js";
|
|
3
|
+
function I(n) {
|
|
4
|
+
const {
|
|
5
|
+
title: o,
|
|
6
|
+
subtitle: l,
|
|
7
|
+
description: d,
|
|
8
|
+
secondaryDescription: s,
|
|
9
|
+
image: m,
|
|
10
|
+
achievements: g = [],
|
|
11
|
+
primaryButton: c,
|
|
12
|
+
variant: f = "image-left",
|
|
13
|
+
bg: v,
|
|
14
|
+
stats: b = [],
|
|
15
|
+
buttonHoverEffect: x = "none",
|
|
16
|
+
buttonHoverIntensity: B = 50,
|
|
17
|
+
buttonHoverOverlay: p = "none",
|
|
18
|
+
buttonHoverIconName: k = "arrow-right"
|
|
19
|
+
} = n.props, H = f === "centered", h = f === "image-right", u = `[data-block-id="${n.id}"]`;
|
|
20
|
+
let i = "";
|
|
21
|
+
if (x !== "none") {
|
|
22
|
+
const r = W({
|
|
23
|
+
effect: x,
|
|
24
|
+
intensity: B,
|
|
25
|
+
buttonColor: "#6366f1",
|
|
26
|
+
variant: "solid"
|
|
27
|
+
});
|
|
28
|
+
r.base && (i += `${u} .sg-about__btn--primary { ${r.base} }`), i += `${u} .sg-about__btn--primary:hover { ${r.hover} }`, i += z();
|
|
29
|
+
}
|
|
30
|
+
p && p !== "none" && (i += w(`${u} .sg-about__btn--primary`, {
|
|
31
|
+
overlay: p,
|
|
32
|
+
primaryColor: "#6366f1",
|
|
33
|
+
iconName: k,
|
|
34
|
+
textColor: "#fff"
|
|
35
|
+
}));
|
|
36
|
+
const S = i.length > 0, _ = {
|
|
37
|
+
display: "inline-block",
|
|
38
|
+
padding: "0.75rem 1.5rem",
|
|
39
|
+
backgroundColor: "var(--sg-primary)",
|
|
40
|
+
color: "var(--sg-primary-text)",
|
|
41
|
+
borderRadius: "var(--sg-button-radius, 0.5rem)",
|
|
42
|
+
textDecoration: "none",
|
|
43
|
+
fontWeight: 500,
|
|
44
|
+
position: "relative",
|
|
45
|
+
overflow: "hidden",
|
|
46
|
+
transition: "all 0.2s ease"
|
|
47
|
+
}, y = c ? /* @__PURE__ */ e(
|
|
48
|
+
"a",
|
|
49
|
+
{
|
|
50
|
+
href: c.href || "#",
|
|
51
|
+
className: "sg-about__btn sg-about__btn--primary",
|
|
52
|
+
style: _,
|
|
53
|
+
children: c.text
|
|
54
|
+
}
|
|
55
|
+
) : null;
|
|
56
|
+
return H ? /* @__PURE__ */ t(C, { children: [
|
|
57
|
+
S && /* @__PURE__ */ e("style", { children: i }),
|
|
58
|
+
/* @__PURE__ */ e(
|
|
59
|
+
"section",
|
|
60
|
+
{
|
|
61
|
+
"data-block-id": n.id,
|
|
62
|
+
style: {
|
|
63
|
+
padding: "var(--sg-section-padding-md, 4rem 0)",
|
|
64
|
+
backgroundColor: v || "var(--sg-bg)"
|
|
65
|
+
},
|
|
66
|
+
children: /* @__PURE__ */ t("div", { style: { maxWidth: "800px", margin: "0 auto", padding: "0 1rem", textAlign: "center" }, children: [
|
|
67
|
+
l && /* @__PURE__ */ e(
|
|
68
|
+
"span",
|
|
69
|
+
{
|
|
70
|
+
"data-block-group": "Conteúdo",
|
|
71
|
+
style: {
|
|
72
|
+
display: "inline-block",
|
|
73
|
+
padding: "0.25rem 0.75rem",
|
|
74
|
+
backgroundColor: "var(--sg-primary)",
|
|
75
|
+
color: "#fff",
|
|
76
|
+
borderRadius: "9999px",
|
|
77
|
+
fontSize: "0.75rem",
|
|
78
|
+
fontWeight: 600,
|
|
79
|
+
textTransform: "uppercase",
|
|
80
|
+
letterSpacing: "0.05em",
|
|
81
|
+
marginBottom: "0.75rem"
|
|
82
|
+
},
|
|
83
|
+
children: l
|
|
84
|
+
}
|
|
85
|
+
),
|
|
86
|
+
o && /* @__PURE__ */ e("h2", { style: { fontSize: "var(--sg-heading-h2)", marginBottom: "1rem" }, children: o }),
|
|
87
|
+
m && /* @__PURE__ */ e("div", { "data-block-group": "Mídia", style: { margin: "2rem 0" }, children: /* @__PURE__ */ e(
|
|
88
|
+
"img",
|
|
89
|
+
{
|
|
90
|
+
src: m,
|
|
91
|
+
alt: o || "About",
|
|
92
|
+
style: {
|
|
93
|
+
width: "100%",
|
|
94
|
+
borderRadius: "var(--sg-card-radius, 0.75rem)",
|
|
95
|
+
objectFit: "cover"
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
) }),
|
|
99
|
+
d && /* @__PURE__ */ e("p", { style: { color: "var(--sg-muted-text)", fontSize: "1.125rem", lineHeight: 1.7, marginBottom: "1rem" }, children: d }),
|
|
100
|
+
s && /* @__PURE__ */ e("p", { style: { color: "var(--sg-muted-text)", lineHeight: 1.7, marginBottom: "1.5rem" }, children: s }),
|
|
101
|
+
g.length > 0 && /* @__PURE__ */ e("div", { style: { display: "inline-flex", flexDirection: "column", gap: "0.5rem", textAlign: "left", marginBottom: "1.5rem" }, children: g.map((r, a) => /* @__PURE__ */ t("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
|
|
102
|
+
/* @__PURE__ */ e("span", { style: { color: "#10b981", fontWeight: 700 }, children: "✓" }),
|
|
103
|
+
/* @__PURE__ */ e("span", { children: r.text })
|
|
104
|
+
] }, a)) }),
|
|
105
|
+
y && /* @__PURE__ */ e("div", { children: y })
|
|
106
|
+
] })
|
|
107
|
+
},
|
|
108
|
+
n.id
|
|
109
|
+
)
|
|
110
|
+
] }) : /* @__PURE__ */ t(C, { children: [
|
|
111
|
+
S && /* @__PURE__ */ e("style", { children: i }),
|
|
112
|
+
/* @__PURE__ */ e(
|
|
113
|
+
"section",
|
|
114
|
+
{
|
|
115
|
+
"data-block-id": n.id,
|
|
116
|
+
style: {
|
|
117
|
+
padding: "var(--sg-section-padding-md, 4rem 0)",
|
|
118
|
+
backgroundColor: v || "var(--sg-bg)"
|
|
119
|
+
},
|
|
120
|
+
children: /* @__PURE__ */ t(
|
|
121
|
+
"div",
|
|
122
|
+
{
|
|
123
|
+
style: {
|
|
124
|
+
maxWidth: "1200px",
|
|
125
|
+
margin: "0 auto",
|
|
126
|
+
padding: "0 1rem",
|
|
127
|
+
display: "flex",
|
|
128
|
+
gap: "3rem",
|
|
129
|
+
alignItems: "center",
|
|
130
|
+
flexDirection: h ? "row-reverse" : "row"
|
|
131
|
+
},
|
|
132
|
+
children: [
|
|
133
|
+
/* @__PURE__ */ t("div", { "data-block-group": "Mídia", style: { flex: "1 1 50%", position: "relative" }, children: [
|
|
134
|
+
m ? /* @__PURE__ */ e(
|
|
135
|
+
"img",
|
|
136
|
+
{
|
|
137
|
+
src: m,
|
|
138
|
+
alt: o || "About",
|
|
139
|
+
style: {
|
|
140
|
+
width: "100%",
|
|
141
|
+
borderRadius: "var(--sg-card-radius, 0.75rem)",
|
|
142
|
+
objectFit: "cover"
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
) : /* @__PURE__ */ e(
|
|
146
|
+
"div",
|
|
147
|
+
{
|
|
148
|
+
style: {
|
|
149
|
+
width: "100%",
|
|
150
|
+
height: "400px",
|
|
151
|
+
backgroundColor: "var(--sg-surface)",
|
|
152
|
+
borderRadius: "var(--sg-card-radius, 0.75rem)",
|
|
153
|
+
display: "flex",
|
|
154
|
+
alignItems: "center",
|
|
155
|
+
justifyContent: "center",
|
|
156
|
+
fontSize: "1rem",
|
|
157
|
+
color: "var(--sg-muted-text)"
|
|
158
|
+
},
|
|
159
|
+
children: "Adicione uma imagem"
|
|
160
|
+
}
|
|
161
|
+
),
|
|
162
|
+
b.length > 0 && /* @__PURE__ */ e(
|
|
163
|
+
"div",
|
|
164
|
+
{
|
|
165
|
+
style: {
|
|
166
|
+
position: "absolute",
|
|
167
|
+
bottom: "-1rem",
|
|
168
|
+
right: h ? "auto" : "-1rem",
|
|
169
|
+
left: h ? "-1rem" : "auto",
|
|
170
|
+
display: "flex",
|
|
171
|
+
gap: "0.5rem"
|
|
172
|
+
},
|
|
173
|
+
children: b.map((r, a) => /* @__PURE__ */ t(
|
|
174
|
+
"div",
|
|
175
|
+
{
|
|
176
|
+
style: {
|
|
177
|
+
backgroundColor: "var(--sg-primary)",
|
|
178
|
+
color: "#fff",
|
|
179
|
+
padding: "0.75rem 1rem",
|
|
180
|
+
borderRadius: "var(--sg-card-radius, 0.75rem)",
|
|
181
|
+
textAlign: "center",
|
|
182
|
+
boxShadow: "0 4px 12px rgba(0,0,0,0.15)",
|
|
183
|
+
minWidth: "80px"
|
|
184
|
+
},
|
|
185
|
+
children: [
|
|
186
|
+
/* @__PURE__ */ e("div", { style: { fontSize: "1.5rem", fontWeight: 700 }, children: r.value }),
|
|
187
|
+
/* @__PURE__ */ e("div", { style: { fontSize: "0.7rem", opacity: 0.9 }, children: r.label })
|
|
188
|
+
]
|
|
189
|
+
},
|
|
190
|
+
a
|
|
191
|
+
))
|
|
192
|
+
}
|
|
193
|
+
)
|
|
194
|
+
] }),
|
|
195
|
+
/* @__PURE__ */ t("div", { "data-block-group": "Conteúdo", style: { flex: "1 1 50%" }, children: [
|
|
196
|
+
l && /* @__PURE__ */ e(
|
|
197
|
+
"span",
|
|
198
|
+
{
|
|
199
|
+
style: {
|
|
200
|
+
display: "inline-block",
|
|
201
|
+
padding: "0.25rem 0.75rem",
|
|
202
|
+
backgroundColor: "var(--sg-primary)",
|
|
203
|
+
color: "#fff",
|
|
204
|
+
borderRadius: "9999px",
|
|
205
|
+
fontSize: "0.75rem",
|
|
206
|
+
fontWeight: 600,
|
|
207
|
+
textTransform: "uppercase",
|
|
208
|
+
letterSpacing: "0.05em",
|
|
209
|
+
marginBottom: "0.75rem"
|
|
210
|
+
},
|
|
211
|
+
children: l
|
|
212
|
+
}
|
|
213
|
+
),
|
|
214
|
+
o && /* @__PURE__ */ e("h2", { style: { fontSize: "var(--sg-heading-h2)", marginBottom: "1rem" }, children: o }),
|
|
215
|
+
d && /* @__PURE__ */ e("p", { style: { color: "var(--sg-muted-text)", lineHeight: 1.7, marginBottom: "1rem" }, children: d }),
|
|
216
|
+
s && /* @__PURE__ */ e("p", { style: { color: "var(--sg-muted-text)", lineHeight: 1.7, marginBottom: "1.5rem" }, children: s }),
|
|
217
|
+
g.length > 0 && /* @__PURE__ */ e("ul", { style: { listStyle: "none", padding: 0, margin: "0 0 1.5rem 0" }, children: g.map((r, a) => /* @__PURE__ */ t(
|
|
218
|
+
"li",
|
|
219
|
+
{
|
|
220
|
+
style: {
|
|
221
|
+
display: "flex",
|
|
222
|
+
alignItems: "center",
|
|
223
|
+
gap: "0.5rem",
|
|
224
|
+
marginBottom: "0.5rem"
|
|
225
|
+
},
|
|
226
|
+
children: [
|
|
227
|
+
/* @__PURE__ */ e("span", { style: { color: "#10b981", fontWeight: 700 }, children: "✓" }),
|
|
228
|
+
/* @__PURE__ */ e("span", { children: r.text })
|
|
229
|
+
]
|
|
230
|
+
},
|
|
231
|
+
a
|
|
232
|
+
)) }),
|
|
233
|
+
y
|
|
234
|
+
] })
|
|
235
|
+
]
|
|
236
|
+
}
|
|
237
|
+
)
|
|
238
|
+
},
|
|
239
|
+
n.id
|
|
240
|
+
)
|
|
241
|
+
] });
|
|
242
|
+
}
|
|
243
|
+
export {
|
|
244
|
+
I as renderAboutSection
|
|
245
|
+
};
|
|
246
|
+
//# sourceMappingURL=AboutSectionRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AboutSectionRenderer.js","sources":["../../../../../src/engine/render/renderers/sections/AboutSectionRenderer.tsx"],"sourcesContent":["/**\n * AboutSection Renderer\n * Renderiza seção sobre com imagem, texto, achievements e stats\n */\n\nimport React from \"react\";\nimport {\n generateButtonHoverStyles,\n generateButtonOverlayCSS,\n getButtonHoverKeyframes,\n type ButtonHoverEffect,\n type ButtonHoverOverlay,\n} from \"../../../shared/hoverEffects\";\n\nexport function renderAboutSection(block: any): React.ReactNode {\n const {\n title,\n subtitle,\n description,\n secondaryDescription,\n image,\n achievements = [],\n primaryButton,\n variant = \"image-left\",\n bg,\n stats = [],\n buttonHoverEffect = \"none\",\n buttonHoverIntensity = 50,\n buttonHoverOverlay = \"none\",\n buttonHoverIconName = \"arrow-right\",\n } = block.props;\n\n const isCentered = variant === \"centered\";\n const isReversed = variant === \"image-right\";\n\n // Generate hover CSS\n const scope = `[data-block-id=\"${block.id}\"]`;\n let hoverCss = \"\";\n\n if (buttonHoverEffect !== \"none\") {\n const result = generateButtonHoverStyles({\n effect: buttonHoverEffect as ButtonHoverEffect,\n intensity: buttonHoverIntensity,\n buttonColor: \"#6366f1\",\n variant: \"solid\",\n });\n if (result.base) {\n hoverCss += `${scope} .sg-about__btn--primary { ${result.base} }`;\n }\n hoverCss += `${scope} .sg-about__btn--primary:hover { ${result.hover} }`;\n hoverCss += getButtonHoverKeyframes();\n }\n\n if (buttonHoverOverlay && buttonHoverOverlay !== \"none\") {\n hoverCss += generateButtonOverlayCSS(`${scope} .sg-about__btn--primary`, {\n overlay: buttonHoverOverlay as ButtonHoverOverlay,\n primaryColor: \"#6366f1\",\n iconName: buttonHoverIconName,\n textColor: \"#fff\",\n });\n }\n\n const hasHover = hoverCss.length > 0;\n const btnStyle: React.CSSProperties = {\n display: \"inline-block\",\n padding: \"0.75rem 1.5rem\",\n backgroundColor: \"var(--sg-primary)\",\n color: \"var(--sg-primary-text)\",\n borderRadius: \"var(--sg-button-radius, 0.5rem)\",\n textDecoration: \"none\",\n fontWeight: 500,\n position: \"relative\",\n overflow: \"hidden\",\n transition: \"all 0.2s ease\",\n };\n\n const buttonElement = primaryButton ? (\n <a\n href={primaryButton.href || \"#\"}\n className=\"sg-about__btn sg-about__btn--primary\"\n style={btnStyle}\n >\n {primaryButton.text}\n </a>\n ) : null;\n\n if (isCentered) {\n return (\n <>\n {hasHover && <style>{hoverCss}</style>}\n <section\n key={block.id}\n data-block-id={block.id}\n style={{\n padding: \"var(--sg-section-padding-md, 4rem 0)\",\n backgroundColor: bg || \"var(--sg-bg)\",\n }}\n >\n <div style={{ maxWidth: \"800px\", margin: \"0 auto\", padding: \"0 1rem\", textAlign: \"center\" }}>\n {subtitle && (\n <span\n data-block-group=\"Conteúdo\"\n style={{\n display: \"inline-block\",\n padding: \"0.25rem 0.75rem\",\n backgroundColor: \"var(--sg-primary)\",\n color: \"#fff\",\n borderRadius: \"9999px\",\n fontSize: \"0.75rem\",\n fontWeight: 600,\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n marginBottom: \"0.75rem\",\n }}\n >\n {subtitle}\n </span>\n )}\n {title && (\n <h2 style={{ fontSize: \"var(--sg-heading-h2)\", marginBottom: \"1rem\" }}>{title}</h2>\n )}\n {image && (\n <div data-block-group=\"Mídia\" style={{ margin: \"2rem 0\" }}>\n <img\n src={image}\n alt={title || \"About\"}\n style={{\n width: \"100%\",\n borderRadius: \"var(--sg-card-radius, 0.75rem)\",\n objectFit: \"cover\",\n }}\n />\n </div>\n )}\n {description && (\n <p style={{ color: \"var(--sg-muted-text)\", fontSize: \"1.125rem\", lineHeight: 1.7, marginBottom: \"1rem\" }}>\n {description}\n </p>\n )}\n {secondaryDescription && (\n <p style={{ color: \"var(--sg-muted-text)\", lineHeight: 1.7, marginBottom: \"1.5rem\" }}>\n {secondaryDescription}\n </p>\n )}\n {achievements.length > 0 && (\n <div style={{ display: \"inline-flex\", flexDirection: \"column\", gap: \"0.5rem\", textAlign: \"left\", marginBottom: \"1.5rem\" }}>\n {achievements.map((a: any, i: number) => (\n <div key={i} style={{ display: \"flex\", alignItems: \"center\", gap: \"0.5rem\" }}>\n <span style={{ color: \"#10b981\", fontWeight: 700 }}>✓</span>\n <span>{a.text}</span>\n </div>\n ))}\n </div>\n )}\n {buttonElement && <div>{buttonElement}</div>}\n </div>\n </section>\n </>\n );\n }\n\n return (\n <>\n {hasHover && <style>{hoverCss}</style>}\n <section\n key={block.id}\n data-block-id={block.id}\n style={{\n padding: \"var(--sg-section-padding-md, 4rem 0)\",\n backgroundColor: bg || \"var(--sg-bg)\",\n }}\n >\n <div\n style={{\n maxWidth: \"1200px\",\n margin: \"0 auto\",\n padding: \"0 1rem\",\n display: \"flex\",\n gap: \"3rem\",\n alignItems: \"center\",\n flexDirection: isReversed ? \"row-reverse\" : \"row\",\n }}\n >\n {/* Image side */}\n <div data-block-group=\"Mídia\" style={{ flex: \"1 1 50%\", position: \"relative\" }}>\n {image ? (\n <img\n src={image}\n alt={title || \"About\"}\n style={{\n width: \"100%\",\n borderRadius: \"var(--sg-card-radius, 0.75rem)\",\n objectFit: \"cover\",\n }}\n />\n ) : (\n <div\n style={{\n width: \"100%\",\n height: \"400px\",\n backgroundColor: \"var(--sg-surface)\",\n borderRadius: \"var(--sg-card-radius, 0.75rem)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n fontSize: \"1rem\",\n color: \"var(--sg-muted-text)\",\n }}\n >\n Adicione uma imagem\n </div>\n )}\n {/* Floating stats */}\n {stats.length > 0 && (\n <div\n style={{\n position: \"absolute\",\n bottom: \"-1rem\",\n right: isReversed ? \"auto\" : \"-1rem\",\n left: isReversed ? \"-1rem\" : \"auto\",\n display: \"flex\",\n gap: \"0.5rem\",\n }}\n >\n {stats.map((stat: any, i: number) => (\n <div\n key={i}\n style={{\n backgroundColor: \"var(--sg-primary)\",\n color: \"#fff\",\n padding: \"0.75rem 1rem\",\n borderRadius: \"var(--sg-card-radius, 0.75rem)\",\n textAlign: \"center\",\n boxShadow: \"0 4px 12px rgba(0,0,0,0.15)\",\n minWidth: \"80px\",\n }}\n >\n <div style={{ fontSize: \"1.5rem\", fontWeight: 700 }}>{stat.value}</div>\n <div style={{ fontSize: \"0.7rem\", opacity: 0.9 }}>{stat.label}</div>\n </div>\n ))}\n </div>\n )}\n </div>\n\n {/* Content side */}\n <div data-block-group=\"Conteúdo\" style={{ flex: \"1 1 50%\" }}>\n {subtitle && (\n <span\n style={{\n display: \"inline-block\",\n padding: \"0.25rem 0.75rem\",\n backgroundColor: \"var(--sg-primary)\",\n color: \"#fff\",\n borderRadius: \"9999px\",\n fontSize: \"0.75rem\",\n fontWeight: 600,\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n marginBottom: \"0.75rem\",\n }}\n >\n {subtitle}\n </span>\n )}\n {title && (\n <h2 style={{ fontSize: \"var(--sg-heading-h2)\", marginBottom: \"1rem\" }}>{title}</h2>\n )}\n {description && (\n <p style={{ color: \"var(--sg-muted-text)\", lineHeight: 1.7, marginBottom: \"1rem\" }}>\n {description}\n </p>\n )}\n {secondaryDescription && (\n <p style={{ color: \"var(--sg-muted-text)\", lineHeight: 1.7, marginBottom: \"1.5rem\" }}>\n {secondaryDescription}\n </p>\n )}\n {achievements.length > 0 && (\n <ul style={{ listStyle: \"none\", padding: 0, margin: \"0 0 1.5rem 0\" }}>\n {achievements.map((a: any, i: number) => (\n <li\n key={i}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: \"0.5rem\",\n marginBottom: \"0.5rem\",\n }}\n >\n <span style={{ color: \"#10b981\", fontWeight: 700 }}>✓</span>\n <span>{a.text}</span>\n </li>\n ))}\n </ul>\n )}\n {buttonElement}\n </div>\n </div>\n </section>\n </>\n );\n}\n"],"names":["renderAboutSection","block","title","subtitle","description","secondaryDescription","image","achievements","primaryButton","variant","bg","stats","buttonHoverEffect","buttonHoverIntensity","buttonHoverOverlay","buttonHoverIconName","isCentered","isReversed","scope","hoverCss","result","generateButtonHoverStyles","getButtonHoverKeyframes","generateButtonOverlayCSS","hasHover","btnStyle","buttonElement","jsx","jsxs","Fragment","a","i","stat"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContactSectionRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/render/renderers/sections/ContactSectionRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAiB1B,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CA+ShE"}
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
import { jsxs as t, jsx as r, Fragment as y } from "react/jsx-runtime";
|
|
2
|
+
import { generateButtonHoverStyles as B, generateButtonOverlayCSS as w, getButtonHoverKeyframes as _ } from "../../../shared/hoverEffects/buttonHover.js";
|
|
3
|
+
const I = {
|
|
4
|
+
mail: "✉",
|
|
5
|
+
phone: "📞",
|
|
6
|
+
"map-pin": "📍",
|
|
7
|
+
clock: "🕐",
|
|
8
|
+
globe: "🌐"
|
|
9
|
+
};
|
|
10
|
+
function H(n) {
|
|
11
|
+
const {
|
|
12
|
+
title: i,
|
|
13
|
+
subtitle: a,
|
|
14
|
+
description: d,
|
|
15
|
+
contactInfo: g = [],
|
|
16
|
+
formTitle: p,
|
|
17
|
+
formFields: x = [],
|
|
18
|
+
submitText: S = "Enviar",
|
|
19
|
+
variant: u = "split",
|
|
20
|
+
bg: b,
|
|
21
|
+
buttonHoverEffect: h = "none",
|
|
22
|
+
buttonHoverIntensity: C = 50,
|
|
23
|
+
buttonHoverOverlay: s = "none",
|
|
24
|
+
buttonHoverIconName: k = "arrow-right"
|
|
25
|
+
} = n.props, z = u === "form-only", l = u === "stacked", c = `[data-block-id="${n.id}"]`;
|
|
26
|
+
let o = "";
|
|
27
|
+
if (h !== "none") {
|
|
28
|
+
const e = B({
|
|
29
|
+
effect: h,
|
|
30
|
+
intensity: C,
|
|
31
|
+
buttonColor: "#6366f1",
|
|
32
|
+
variant: "solid"
|
|
33
|
+
});
|
|
34
|
+
e.base && (o += `${c} .sg-contact__btn--submit { ${e.base} }`), o += `${c} .sg-contact__btn--submit:hover { ${e.hover} }`, o += _();
|
|
35
|
+
}
|
|
36
|
+
s && s !== "none" && (o += w(`${c} .sg-contact__btn--submit`, {
|
|
37
|
+
overlay: s,
|
|
38
|
+
primaryColor: "#6366f1",
|
|
39
|
+
iconName: k,
|
|
40
|
+
textColor: "#fff"
|
|
41
|
+
}));
|
|
42
|
+
const v = o.length > 0, f = /* @__PURE__ */ t(
|
|
43
|
+
"div",
|
|
44
|
+
{
|
|
45
|
+
style: {
|
|
46
|
+
backgroundColor: "var(--sg-surface)",
|
|
47
|
+
borderRadius: "var(--sg-card-radius, 0.75rem)",
|
|
48
|
+
padding: "2rem",
|
|
49
|
+
boxShadow: "var(--sg-card-shadow)"
|
|
50
|
+
},
|
|
51
|
+
children: [
|
|
52
|
+
p && /* @__PURE__ */ r("h3", { style: { fontSize: "1.25rem", fontWeight: 600, marginBottom: "1.5rem" }, children: p }),
|
|
53
|
+
/* @__PURE__ */ t(
|
|
54
|
+
"form",
|
|
55
|
+
{
|
|
56
|
+
onSubmit: (e) => e.preventDefault(),
|
|
57
|
+
style: { display: "flex", flexDirection: "column", gap: "1rem" },
|
|
58
|
+
children: [
|
|
59
|
+
x.map((e, m) => /* @__PURE__ */ t("div", { children: [
|
|
60
|
+
e.label && /* @__PURE__ */ t(
|
|
61
|
+
"label",
|
|
62
|
+
{
|
|
63
|
+
style: {
|
|
64
|
+
display: "block",
|
|
65
|
+
fontSize: "0.875rem",
|
|
66
|
+
fontWeight: 500,
|
|
67
|
+
marginBottom: "0.375rem",
|
|
68
|
+
color: "var(--sg-text)"
|
|
69
|
+
},
|
|
70
|
+
children: [
|
|
71
|
+
e.label,
|
|
72
|
+
e.required && /* @__PURE__ */ r("span", { style: { color: "#ef4444" }, children: " *" })
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
),
|
|
76
|
+
e.type === "textarea" ? /* @__PURE__ */ r(
|
|
77
|
+
"textarea",
|
|
78
|
+
{
|
|
79
|
+
name: e.name,
|
|
80
|
+
placeholder: e.placeholder,
|
|
81
|
+
required: e.required,
|
|
82
|
+
rows: 4,
|
|
83
|
+
style: {
|
|
84
|
+
width: "100%",
|
|
85
|
+
padding: "0.625rem 0.75rem",
|
|
86
|
+
border: "1px solid var(--sg-border)",
|
|
87
|
+
borderRadius: "var(--sg-button-radius, 0.5rem)",
|
|
88
|
+
fontSize: "0.875rem",
|
|
89
|
+
backgroundColor: "var(--sg-bg)",
|
|
90
|
+
color: "var(--sg-text)",
|
|
91
|
+
resize: "vertical",
|
|
92
|
+
boxSizing: "border-box"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
) : /* @__PURE__ */ r(
|
|
96
|
+
"input",
|
|
97
|
+
{
|
|
98
|
+
type: e.type || "text",
|
|
99
|
+
name: e.name,
|
|
100
|
+
placeholder: e.placeholder,
|
|
101
|
+
required: e.required,
|
|
102
|
+
style: {
|
|
103
|
+
width: "100%",
|
|
104
|
+
padding: "0.625rem 0.75rem",
|
|
105
|
+
border: "1px solid var(--sg-border)",
|
|
106
|
+
borderRadius: "var(--sg-button-radius, 0.5rem)",
|
|
107
|
+
fontSize: "0.875rem",
|
|
108
|
+
backgroundColor: "var(--sg-bg)",
|
|
109
|
+
color: "var(--sg-text)",
|
|
110
|
+
boxSizing: "border-box"
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
)
|
|
114
|
+
] }, m)),
|
|
115
|
+
/* @__PURE__ */ r(
|
|
116
|
+
"button",
|
|
117
|
+
{
|
|
118
|
+
type: "submit",
|
|
119
|
+
className: "sg-contact__btn sg-contact__btn--submit",
|
|
120
|
+
style: {
|
|
121
|
+
padding: "0.75rem 1.5rem",
|
|
122
|
+
backgroundColor: "var(--sg-primary)",
|
|
123
|
+
color: "var(--sg-primary-text)",
|
|
124
|
+
border: "none",
|
|
125
|
+
borderRadius: "var(--sg-button-radius, 0.5rem)",
|
|
126
|
+
fontWeight: 500,
|
|
127
|
+
cursor: "pointer",
|
|
128
|
+
fontSize: "1rem",
|
|
129
|
+
position: "relative",
|
|
130
|
+
overflow: "hidden",
|
|
131
|
+
transition: "all 0.2s ease"
|
|
132
|
+
},
|
|
133
|
+
children: S
|
|
134
|
+
}
|
|
135
|
+
)
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
)
|
|
139
|
+
]
|
|
140
|
+
}
|
|
141
|
+
);
|
|
142
|
+
return z ? /* @__PURE__ */ t(y, { children: [
|
|
143
|
+
v && /* @__PURE__ */ r("style", { children: o }),
|
|
144
|
+
/* @__PURE__ */ r(
|
|
145
|
+
"section",
|
|
146
|
+
{
|
|
147
|
+
"data-block-id": n.id,
|
|
148
|
+
style: {
|
|
149
|
+
padding: "var(--sg-section-padding-md, 4rem 0)",
|
|
150
|
+
backgroundColor: b || "var(--sg-bg)"
|
|
151
|
+
},
|
|
152
|
+
children: /* @__PURE__ */ t("div", { style: { maxWidth: "600px", margin: "0 auto", padding: "0 1rem" }, children: [
|
|
153
|
+
(i || a) && /* @__PURE__ */ t("div", { "data-block-group": "Conteúdo", style: { textAlign: "center", marginBottom: "2rem" }, children: [
|
|
154
|
+
a && /* @__PURE__ */ r(
|
|
155
|
+
"span",
|
|
156
|
+
{
|
|
157
|
+
style: {
|
|
158
|
+
display: "inline-block",
|
|
159
|
+
padding: "0.25rem 0.75rem",
|
|
160
|
+
backgroundColor: "var(--sg-primary)",
|
|
161
|
+
color: "#fff",
|
|
162
|
+
borderRadius: "9999px",
|
|
163
|
+
fontSize: "0.75rem",
|
|
164
|
+
fontWeight: 600,
|
|
165
|
+
textTransform: "uppercase",
|
|
166
|
+
letterSpacing: "0.05em",
|
|
167
|
+
marginBottom: "0.75rem"
|
|
168
|
+
},
|
|
169
|
+
children: a
|
|
170
|
+
}
|
|
171
|
+
),
|
|
172
|
+
i && /* @__PURE__ */ r("h2", { style: { fontSize: "var(--sg-heading-h2)", marginBottom: "0.5rem" }, children: i }),
|
|
173
|
+
d && /* @__PURE__ */ r("p", { style: { color: "var(--sg-muted-text)" }, children: d })
|
|
174
|
+
] }),
|
|
175
|
+
/* @__PURE__ */ r("div", { "data-block-group": "Formulário", children: f })
|
|
176
|
+
] })
|
|
177
|
+
},
|
|
178
|
+
n.id
|
|
179
|
+
)
|
|
180
|
+
] }) : /* @__PURE__ */ t(y, { children: [
|
|
181
|
+
v && /* @__PURE__ */ r("style", { children: o }),
|
|
182
|
+
/* @__PURE__ */ r(
|
|
183
|
+
"section",
|
|
184
|
+
{
|
|
185
|
+
"data-block-id": n.id,
|
|
186
|
+
style: {
|
|
187
|
+
padding: "var(--sg-section-padding-md, 4rem 0)",
|
|
188
|
+
backgroundColor: b || "var(--sg-bg)"
|
|
189
|
+
},
|
|
190
|
+
children: /* @__PURE__ */ t("div", { style: { maxWidth: "1200px", margin: "0 auto", padding: "0 1rem" }, children: [
|
|
191
|
+
(i || a) && /* @__PURE__ */ t("div", { "data-block-group": "Conteúdo", style: { textAlign: "center", marginBottom: "3rem" }, children: [
|
|
192
|
+
a && /* @__PURE__ */ r(
|
|
193
|
+
"span",
|
|
194
|
+
{
|
|
195
|
+
style: {
|
|
196
|
+
display: "inline-block",
|
|
197
|
+
padding: "0.25rem 0.75rem",
|
|
198
|
+
backgroundColor: "var(--sg-primary)",
|
|
199
|
+
color: "#fff",
|
|
200
|
+
borderRadius: "9999px",
|
|
201
|
+
fontSize: "0.75rem",
|
|
202
|
+
fontWeight: 600,
|
|
203
|
+
textTransform: "uppercase",
|
|
204
|
+
letterSpacing: "0.05em",
|
|
205
|
+
marginBottom: "0.75rem"
|
|
206
|
+
},
|
|
207
|
+
children: a
|
|
208
|
+
}
|
|
209
|
+
),
|
|
210
|
+
i && /* @__PURE__ */ r("h2", { style: { fontSize: "var(--sg-heading-h2)", marginBottom: "0.5rem" }, children: i }),
|
|
211
|
+
d && /* @__PURE__ */ r("p", { style: { color: "var(--sg-muted-text)" }, children: d })
|
|
212
|
+
] }),
|
|
213
|
+
/* @__PURE__ */ t(
|
|
214
|
+
"div",
|
|
215
|
+
{
|
|
216
|
+
style: {
|
|
217
|
+
display: "flex",
|
|
218
|
+
gap: "3rem",
|
|
219
|
+
flexDirection: l ? "column" : "row",
|
|
220
|
+
alignItems: l ? "stretch" : "flex-start"
|
|
221
|
+
},
|
|
222
|
+
children: [
|
|
223
|
+
g.length > 0 && /* @__PURE__ */ r(
|
|
224
|
+
"div",
|
|
225
|
+
{
|
|
226
|
+
"data-block-group": "Info",
|
|
227
|
+
style: {
|
|
228
|
+
flex: l ? "1" : "1 1 40%",
|
|
229
|
+
display: "flex",
|
|
230
|
+
flexDirection: "column",
|
|
231
|
+
gap: "1rem"
|
|
232
|
+
},
|
|
233
|
+
children: g.map((e, m) => /* @__PURE__ */ t(
|
|
234
|
+
"div",
|
|
235
|
+
{
|
|
236
|
+
style: {
|
|
237
|
+
display: "flex",
|
|
238
|
+
alignItems: "flex-start",
|
|
239
|
+
gap: "1rem",
|
|
240
|
+
padding: "1.25rem",
|
|
241
|
+
backgroundColor: "var(--sg-surface)",
|
|
242
|
+
borderRadius: "var(--sg-card-radius, 0.75rem)",
|
|
243
|
+
boxShadow: "var(--sg-card-shadow)"
|
|
244
|
+
},
|
|
245
|
+
children: [
|
|
246
|
+
/* @__PURE__ */ r(
|
|
247
|
+
"div",
|
|
248
|
+
{
|
|
249
|
+
style: {
|
|
250
|
+
width: "2.5rem",
|
|
251
|
+
height: "2.5rem",
|
|
252
|
+
backgroundColor: "var(--sg-primary)",
|
|
253
|
+
borderRadius: "0.5rem",
|
|
254
|
+
display: "flex",
|
|
255
|
+
alignItems: "center",
|
|
256
|
+
justifyContent: "center",
|
|
257
|
+
color: "#fff",
|
|
258
|
+
flexShrink: 0,
|
|
259
|
+
fontSize: "1.25rem"
|
|
260
|
+
},
|
|
261
|
+
children: I[e.icon || ""] || "📧"
|
|
262
|
+
}
|
|
263
|
+
),
|
|
264
|
+
/* @__PURE__ */ t("div", { children: [
|
|
265
|
+
/* @__PURE__ */ r("div", { style: { fontWeight: 600, fontSize: "0.875rem", marginBottom: "0.25rem" }, children: e.label }),
|
|
266
|
+
/* @__PURE__ */ r("div", { style: { color: "var(--sg-muted-text)", fontSize: "0.875rem" }, children: e.value })
|
|
267
|
+
] })
|
|
268
|
+
]
|
|
269
|
+
},
|
|
270
|
+
m
|
|
271
|
+
))
|
|
272
|
+
}
|
|
273
|
+
),
|
|
274
|
+
/* @__PURE__ */ r("div", { "data-block-group": "Formulário", style: { flex: l ? "1" : "1 1 60%" }, children: f })
|
|
275
|
+
]
|
|
276
|
+
}
|
|
277
|
+
)
|
|
278
|
+
] })
|
|
279
|
+
},
|
|
280
|
+
n.id
|
|
281
|
+
)
|
|
282
|
+
] });
|
|
283
|
+
}
|
|
284
|
+
export {
|
|
285
|
+
H as renderContactSection
|
|
286
|
+
};
|
|
287
|
+
//# sourceMappingURL=ContactSectionRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContactSectionRenderer.js","sources":["../../../../../src/engine/render/renderers/sections/ContactSectionRenderer.tsx"],"sourcesContent":["/**\n * ContactSection Renderer\n * Renderiza seção de contato com info cards e formulário\n */\n\nimport React from \"react\";\nimport {\n generateButtonHoverStyles,\n generateButtonOverlayCSS,\n getButtonHoverKeyframes,\n type ButtonHoverEffect,\n type ButtonHoverOverlay,\n} from \"../../../shared/hoverEffects\";\n\nconst CONTACT_ICONS: Record<string, string> = {\n mail: \"✉\",\n phone: \"📞\",\n \"map-pin\": \"📍\",\n clock: \"🕐\",\n globe: \"🌐\",\n};\n\nexport function renderContactSection(block: any): React.ReactNode {\n const {\n title,\n subtitle,\n description,\n contactInfo = [],\n formTitle,\n formFields = [],\n submitText = \"Enviar\",\n variant = \"split\",\n bg,\n buttonHoverEffect = \"none\",\n buttonHoverIntensity = 50,\n buttonHoverOverlay = \"none\",\n buttonHoverIconName = \"arrow-right\",\n } = block.props;\n\n const isFormOnly = variant === \"form-only\";\n const isStacked = variant === \"stacked\";\n\n // Generate hover CSS\n const scope = `[data-block-id=\"${block.id}\"]`;\n let hoverCss = \"\";\n\n if (buttonHoverEffect !== \"none\") {\n const result = generateButtonHoverStyles({\n effect: buttonHoverEffect as ButtonHoverEffect,\n intensity: buttonHoverIntensity,\n buttonColor: \"#6366f1\",\n variant: \"solid\",\n });\n if (result.base) {\n hoverCss += `${scope} .sg-contact__btn--submit { ${result.base} }`;\n }\n hoverCss += `${scope} .sg-contact__btn--submit:hover { ${result.hover} }`;\n hoverCss += getButtonHoverKeyframes();\n }\n\n if (buttonHoverOverlay && buttonHoverOverlay !== \"none\") {\n hoverCss += generateButtonOverlayCSS(`${scope} .sg-contact__btn--submit`, {\n overlay: buttonHoverOverlay as ButtonHoverOverlay,\n primaryColor: \"#6366f1\",\n iconName: buttonHoverIconName,\n textColor: \"#fff\",\n });\n }\n\n const hasHover = hoverCss.length > 0;\n\n const formElement = (\n <div\n style={{\n backgroundColor: \"var(--sg-surface)\",\n borderRadius: \"var(--sg-card-radius, 0.75rem)\",\n padding: \"2rem\",\n boxShadow: \"var(--sg-card-shadow)\",\n }}\n >\n {formTitle && (\n <h3 style={{ fontSize: \"1.25rem\", fontWeight: 600, marginBottom: \"1.5rem\" }}>\n {formTitle}\n </h3>\n )}\n <form\n onSubmit={(e) => e.preventDefault()}\n style={{ display: \"flex\", flexDirection: \"column\", gap: \"1rem\" }}\n >\n {formFields.map((field: any, i: number) => (\n <div key={i}>\n {field.label && (\n <label\n style={{\n display: \"block\",\n fontSize: \"0.875rem\",\n fontWeight: 500,\n marginBottom: \"0.375rem\",\n color: \"var(--sg-text)\",\n }}\n >\n {field.label}\n {field.required && <span style={{ color: \"#ef4444\" }}> *</span>}\n </label>\n )}\n {field.type === \"textarea\" ? (\n <textarea\n name={field.name}\n placeholder={field.placeholder}\n required={field.required}\n rows={4}\n style={{\n width: \"100%\",\n padding: \"0.625rem 0.75rem\",\n border: \"1px solid var(--sg-border)\",\n borderRadius: \"var(--sg-button-radius, 0.5rem)\",\n fontSize: \"0.875rem\",\n backgroundColor: \"var(--sg-bg)\",\n color: \"var(--sg-text)\",\n resize: \"vertical\",\n boxSizing: \"border-box\",\n }}\n />\n ) : (\n <input\n type={field.type || \"text\"}\n name={field.name}\n placeholder={field.placeholder}\n required={field.required}\n style={{\n width: \"100%\",\n padding: \"0.625rem 0.75rem\",\n border: \"1px solid var(--sg-border)\",\n borderRadius: \"var(--sg-button-radius, 0.5rem)\",\n fontSize: \"0.875rem\",\n backgroundColor: \"var(--sg-bg)\",\n color: \"var(--sg-text)\",\n boxSizing: \"border-box\",\n }}\n />\n )}\n </div>\n ))}\n <button\n type=\"submit\"\n className=\"sg-contact__btn sg-contact__btn--submit\"\n style={{\n padding: \"0.75rem 1.5rem\",\n backgroundColor: \"var(--sg-primary)\",\n color: \"var(--sg-primary-text)\",\n border: \"none\",\n borderRadius: \"var(--sg-button-radius, 0.5rem)\",\n fontWeight: 500,\n cursor: \"pointer\",\n fontSize: \"1rem\",\n position: \"relative\",\n overflow: \"hidden\",\n transition: \"all 0.2s ease\",\n }}\n >\n {submitText}\n </button>\n </form>\n </div>\n );\n\n if (isFormOnly) {\n return (\n <>\n {hasHover && <style>{hoverCss}</style>}\n <section\n key={block.id}\n data-block-id={block.id}\n style={{\n padding: \"var(--sg-section-padding-md, 4rem 0)\",\n backgroundColor: bg || \"var(--sg-bg)\",\n }}\n >\n <div style={{ maxWidth: \"600px\", margin: \"0 auto\", padding: \"0 1rem\" }}>\n {(title || subtitle) && (\n <div data-block-group=\"Conteúdo\" style={{ textAlign: \"center\", marginBottom: \"2rem\" }}>\n {subtitle && (\n <span\n style={{\n display: \"inline-block\",\n padding: \"0.25rem 0.75rem\",\n backgroundColor: \"var(--sg-primary)\",\n color: \"#fff\",\n borderRadius: \"9999px\",\n fontSize: \"0.75rem\",\n fontWeight: 600,\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n marginBottom: \"0.75rem\",\n }}\n >\n {subtitle}\n </span>\n )}\n {title && (\n <h2 style={{ fontSize: \"var(--sg-heading-h2)\", marginBottom: \"0.5rem\" }}>{title}</h2>\n )}\n {description && (\n <p style={{ color: \"var(--sg-muted-text)\" }}>{description}</p>\n )}\n </div>\n )}\n <div data-block-group=\"Formulário\">{formElement}</div>\n </div>\n </section>\n </>\n );\n }\n\n return (\n <>\n {hasHover && <style>{hoverCss}</style>}\n <section\n key={block.id}\n data-block-id={block.id}\n style={{\n padding: \"var(--sg-section-padding-md, 4rem 0)\",\n backgroundColor: bg || \"var(--sg-bg)\",\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 {subtitle && (\n <span\n style={{\n display: \"inline-block\",\n padding: \"0.25rem 0.75rem\",\n backgroundColor: \"var(--sg-primary)\",\n color: \"#fff\",\n borderRadius: \"9999px\",\n fontSize: \"0.75rem\",\n fontWeight: 600,\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n marginBottom: \"0.75rem\",\n }}\n >\n {subtitle}\n </span>\n )}\n {title && (\n <h2 style={{ fontSize: \"var(--sg-heading-h2)\", marginBottom: \"0.5rem\" }}>{title}</h2>\n )}\n {description && (\n <p style={{ color: \"var(--sg-muted-text)\" }}>{description}</p>\n )}\n </div>\n )}\n\n <div\n style={{\n display: \"flex\",\n gap: \"3rem\",\n flexDirection: isStacked ? \"column\" : \"row\",\n alignItems: isStacked ? \"stretch\" : \"flex-start\",\n }}\n >\n {/* Contact info */}\n {contactInfo.length > 0 && (\n <div\n data-block-group=\"Info\"\n style={{\n flex: isStacked ? \"1\" : \"1 1 40%\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"1rem\",\n }}\n >\n {contactInfo.map((info: any, i: number) => (\n <div\n key={i}\n style={{\n display: \"flex\",\n alignItems: \"flex-start\",\n gap: \"1rem\",\n padding: \"1.25rem\",\n backgroundColor: \"var(--sg-surface)\",\n borderRadius: \"var(--sg-card-radius, 0.75rem)\",\n boxShadow: \"var(--sg-card-shadow)\",\n }}\n >\n <div\n style={{\n width: \"2.5rem\",\n height: \"2.5rem\",\n backgroundColor: \"var(--sg-primary)\",\n borderRadius: \"0.5rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n color: \"#fff\",\n flexShrink: 0,\n fontSize: \"1.25rem\",\n }}\n >\n {CONTACT_ICONS[info.icon || \"\"] || \"📧\"}\n </div>\n <div>\n <div style={{ fontWeight: 600, fontSize: \"0.875rem\", marginBottom: \"0.25rem\" }}>\n {info.label}\n </div>\n <div style={{ color: \"var(--sg-muted-text)\", fontSize: \"0.875rem\" }}>\n {info.value}\n </div>\n </div>\n </div>\n ))}\n </div>\n )}\n\n {/* Form */}\n <div data-block-group=\"Formulário\" style={{ flex: isStacked ? \"1\" : \"1 1 60%\" }}>\n {formElement}\n </div>\n </div>\n </div>\n </section>\n </>\n );\n}\n"],"names":["CONTACT_ICONS","renderContactSection","block","title","subtitle","description","contactInfo","formTitle","formFields","submitText","variant","bg","buttonHoverEffect","buttonHoverIntensity","buttonHoverOverlay","buttonHoverIconName","isFormOnly","isStacked","scope","hoverCss","result","generateButtonHoverStyles","getButtonHoverKeyframes","generateButtonOverlayCSS","hasHover","formElement","jsxs","jsx","field","i","Fragment","info"],"mappings":";;AAcA,MAAMA,IAAwC;AAAA,EAC5C,MAAM;AAAA,EACN,OAAO;AAAA,EACP,WAAW;AAAA,EACX,OAAO;AAAA,EACP,OAAO;AACT;AAEO,SAASC,EAAqBC,GAA6B;AAChE,QAAM;AAAA,IACJ,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC,IAAc,CAAA;AAAA,IACd,WAAAC;AAAA,IACA,YAAAC,IAAa,CAAA;AAAA,IACb,YAAAC,IAAa;AAAA,IACb,SAAAC,IAAU;AAAA,IACV,IAAAC;AAAA,IACA,mBAAAC,IAAoB;AAAA,IACpB,sBAAAC,IAAuB;AAAA,IACvB,oBAAAC,IAAqB;AAAA,IACrB,qBAAAC,IAAsB;AAAA,EAAA,IACpBb,EAAM,OAEJc,IAAaN,MAAY,aACzBO,IAAYP,MAAY,WAGxBQ,IAAQ,mBAAmBhB,EAAM,EAAE;AACzC,MAAIiB,IAAW;AAEf,MAAIP,MAAsB,QAAQ;AAChC,UAAMQ,IAASC,EAA0B;AAAA,MACvC,QAAQT;AAAA,MACR,WAAWC;AAAA,MACX,aAAa;AAAA,MACb,SAAS;AAAA,IAAA,CACV;AACD,IAAIO,EAAO,SACTD,KAAY,GAAGD,CAAK,+BAA+BE,EAAO,IAAI,OAEhED,KAAY,GAAGD,CAAK,qCAAqCE,EAAO,KAAK,MACrED,KAAYG,EAAA;AAAA,EACd;AAEA,EAAIR,KAAsBA,MAAuB,WAC/CK,KAAYI,EAAyB,GAAGL,CAAK,6BAA6B;AAAA,IACxE,SAASJ;AAAA,IACT,cAAc;AAAA,IACd,UAAUC;AAAA,IACV,WAAW;AAAA,EAAA,CACZ;AAGH,QAAMS,IAAWL,EAAS,SAAS,GAE7BM,IACJ,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,iBAAiB;AAAA,QACjB,cAAc;AAAA,QACd,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,MAGZ,UAAA;AAAA,QAAAnB,KACC,gBAAAoB,EAAC,MAAA,EAAG,OAAO,EAAE,UAAU,WAAW,YAAY,KAAK,cAAc,SAAA,GAC9D,UAAApB,EAAA,CACH;AAAA,QAEF,gBAAAmB;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,UAAU,CAAC,MAAM,EAAE,eAAA;AAAA,YACnB,OAAO,EAAE,SAAS,QAAQ,eAAe,UAAU,KAAK,OAAA;AAAA,YAEvD,UAAA;AAAA,cAAAlB,EAAW,IAAI,CAACoB,GAAYC,wBAC1B,OAAA,EACE,UAAA;AAAA,gBAAAD,EAAM,SACL,gBAAAF;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,OAAO;AAAA,sBACL,SAAS;AAAA,sBACT,UAAU;AAAA,sBACV,YAAY;AAAA,sBACZ,cAAc;AAAA,sBACd,OAAO;AAAA,oBAAA;AAAA,oBAGR,UAAA;AAAA,sBAAAE,EAAM;AAAA,sBACNA,EAAM,YAAY,gBAAAD,EAAC,QAAA,EAAK,OAAO,EAAE,OAAO,UAAA,GAAa,UAAA,KAAA,CAAE;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAG3DC,EAAM,SAAS,aACd,gBAAAD;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,MAAMC,EAAM;AAAA,oBACZ,aAAaA,EAAM;AAAA,oBACnB,UAAUA,EAAM;AAAA,oBAChB,MAAM;AAAA,oBACN,OAAO;AAAA,sBACL,OAAO;AAAA,sBACP,SAAS;AAAA,sBACT,QAAQ;AAAA,sBACR,cAAc;AAAA,sBACd,UAAU;AAAA,sBACV,iBAAiB;AAAA,sBACjB,OAAO;AAAA,sBACP,QAAQ;AAAA,sBACR,WAAW;AAAA,oBAAA;AAAA,kBACb;AAAA,gBAAA,IAGF,gBAAAD;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,MAAMC,EAAM,QAAQ;AAAA,oBACpB,MAAMA,EAAM;AAAA,oBACZ,aAAaA,EAAM;AAAA,oBACnB,UAAUA,EAAM;AAAA,oBAChB,OAAO;AAAA,sBACL,OAAO;AAAA,sBACP,SAAS;AAAA,sBACT,QAAQ;AAAA,sBACR,cAAc;AAAA,sBACd,UAAU;AAAA,sBACV,iBAAiB;AAAA,sBACjB,OAAO;AAAA,sBACP,WAAW;AAAA,oBAAA;AAAA,kBACb;AAAA,gBAAA;AAAA,cACF,EAAA,GAjDMC,CAmDV,CACD;AAAA,cACD,gBAAAF;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,MAAK;AAAA,kBACL,WAAU;AAAA,kBACV,OAAO;AAAA,oBACL,SAAS;AAAA,oBACT,iBAAiB;AAAA,oBACjB,OAAO;AAAA,oBACP,QAAQ;AAAA,oBACR,cAAc;AAAA,oBACd,YAAY;AAAA,oBACZ,QAAQ;AAAA,oBACR,UAAU;AAAA,oBACV,UAAU;AAAA,oBACV,UAAU;AAAA,oBACV,YAAY;AAAA,kBAAA;AAAA,kBAGb,UAAAlB;AAAA,gBAAA;AAAA,cAAA;AAAA,YACH;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAIJ,SAAIO,IAEA,gBAAAU,EAAAI,GAAA,EACG,UAAA;AAAA,IAAAN,KAAY,gBAAAG,EAAC,WAAO,UAAAR,EAAA,CAAS;AAAA,IAC9B,gBAAAQ;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,iBAAezB,EAAM;AAAA,QACrB,OAAO;AAAA,UACL,SAAS;AAAA,UACT,iBAAiBS,KAAM;AAAA,QAAA;AAAA,QAGzB,UAAA,gBAAAe,EAAC,OAAA,EAAI,OAAO,EAAE,UAAU,SAAS,QAAQ,UAAU,SAAS,SAAA,GACxD,UAAA;AAAA,WAAAvB,KAASC,MACT,gBAAAsB,EAAC,OAAA,EAAI,oBAAiB,YAAW,OAAO,EAAE,WAAW,UAAU,cAAc,OAAA,GAC1E,UAAA;AAAA,YAAAtB,KACC,gBAAAuB;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,OAAO;AAAA,kBACL,SAAS;AAAA,kBACT,SAAS;AAAA,kBACT,iBAAiB;AAAA,kBACjB,OAAO;AAAA,kBACP,cAAc;AAAA,kBACd,UAAU;AAAA,kBACV,YAAY;AAAA,kBACZ,eAAe;AAAA,kBACf,eAAe;AAAA,kBACf,cAAc;AAAA,gBAAA;AAAA,gBAGf,UAAAvB;AAAA,cAAA;AAAA,YAAA;AAAA,YAGJD,KACC,gBAAAwB,EAAC,MAAA,EAAG,OAAO,EAAE,UAAU,wBAAwB,cAAc,SAAA,GAAa,UAAAxB,EAAA,CAAM;AAAA,YAEjFE,uBACE,KAAA,EAAE,OAAO,EAAE,OAAO,uBAAA,GAA2B,UAAAA,EAAA,CAAY;AAAA,UAAA,GAE9D;AAAA,UAEF,gBAAAsB,EAAC,OAAA,EAAI,oBAAiB,cAAc,UAAAF,EAAA,CAAY;AAAA,QAAA,EAAA,CAClD;AAAA,MAAA;AAAA,MArCKvB,EAAM;AAAA,IAAA;AAAA,EAsCb,GACF,IAKF,gBAAAwB,EAAAI,GAAA,EACG,UAAA;AAAA,IAAAN,KAAY,gBAAAG,EAAC,WAAO,UAAAR,EAAA,CAAS;AAAA,IAC9B,gBAAAQ;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,iBAAezB,EAAM;AAAA,QACrB,OAAO;AAAA,UACL,SAAS;AAAA,UACT,iBAAiBS,KAAM;AAAA,QAAA;AAAA,QAGzB,UAAA,gBAAAe,EAAC,OAAA,EAAI,OAAO,EAAE,UAAU,UAAU,QAAQ,UAAU,SAAS,SAAA,GACzD,UAAA;AAAA,WAAAvB,KAASC,MACT,gBAAAsB,EAAC,OAAA,EAAI,oBAAiB,YAAW,OAAO,EAAE,WAAW,UAAU,cAAc,OAAA,GAC1E,UAAA;AAAA,YAAAtB,KACC,gBAAAuB;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,OAAO;AAAA,kBACL,SAAS;AAAA,kBACT,SAAS;AAAA,kBACT,iBAAiB;AAAA,kBACjB,OAAO;AAAA,kBACP,cAAc;AAAA,kBACd,UAAU;AAAA,kBACV,YAAY;AAAA,kBACZ,eAAe;AAAA,kBACf,eAAe;AAAA,kBACf,cAAc;AAAA,gBAAA;AAAA,gBAGf,UAAAvB;AAAA,cAAA;AAAA,YAAA;AAAA,YAGJD,KACC,gBAAAwB,EAAC,MAAA,EAAG,OAAO,EAAE,UAAU,wBAAwB,cAAc,SAAA,GAAa,UAAAxB,EAAA,CAAM;AAAA,YAEjFE,uBACE,KAAA,EAAE,OAAO,EAAE,OAAO,uBAAA,GAA2B,UAAAA,EAAA,CAAY;AAAA,UAAA,GAE9D;AAAA,UAGF,gBAAAqB;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAO;AAAA,gBACL,SAAS;AAAA,gBACT,KAAK;AAAA,gBACL,eAAeT,IAAY,WAAW;AAAA,gBACtC,YAAYA,IAAY,YAAY;AAAA,cAAA;AAAA,cAIrC,UAAA;AAAA,gBAAAX,EAAY,SAAS,KACpB,gBAAAqB;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,oBAAiB;AAAA,oBACjB,OAAO;AAAA,sBACL,MAAMV,IAAY,MAAM;AAAA,sBACxB,SAAS;AAAA,sBACT,eAAe;AAAA,sBACf,KAAK;AAAA,oBAAA;AAAA,oBAGN,UAAAX,EAAY,IAAI,CAACyB,GAAWF,MAC3B,gBAAAH;AAAA,sBAAC;AAAA,sBAAA;AAAA,wBAEC,OAAO;AAAA,0BACL,SAAS;AAAA,0BACT,YAAY;AAAA,0BACZ,KAAK;AAAA,0BACL,SAAS;AAAA,0BACT,iBAAiB;AAAA,0BACjB,cAAc;AAAA,0BACd,WAAW;AAAA,wBAAA;AAAA,wBAGb,UAAA;AAAA,0BAAA,gBAAAC;AAAA,4BAAC;AAAA,4BAAA;AAAA,8BACC,OAAO;AAAA,gCACL,OAAO;AAAA,gCACP,QAAQ;AAAA,gCACR,iBAAiB;AAAA,gCACjB,cAAc;AAAA,gCACd,SAAS;AAAA,gCACT,YAAY;AAAA,gCACZ,gBAAgB;AAAA,gCAChB,OAAO;AAAA,gCACP,YAAY;AAAA,gCACZ,UAAU;AAAA,8BAAA;AAAA,8BAGX,UAAA3B,EAAc+B,EAAK,QAAQ,EAAE,KAAK;AAAA,4BAAA;AAAA,0BAAA;AAAA,4CAEpC,OAAA,EACC,UAAA;AAAA,4BAAA,gBAAAJ,EAAC,OAAA,EAAI,OAAO,EAAE,YAAY,KAAK,UAAU,YAAY,cAAc,UAAA,GAChE,UAAAI,EAAK,MAAA,CACR;AAAA,4BACA,gBAAAJ,EAAC,OAAA,EAAI,OAAO,EAAE,OAAO,wBAAwB,UAAU,WAAA,GACpD,UAAAI,EAAK,MAAA,CACR;AAAA,0BAAA,EAAA,CACF;AAAA,wBAAA;AAAA,sBAAA;AAAA,sBAlCKF;AAAA,oBAAA,CAoCR;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAKL,gBAAAF,EAAC,OAAA,EAAI,oBAAiB,cAAa,OAAO,EAAE,MAAMV,IAAY,MAAM,aACjE,UAAAQ,EAAA,CACH;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACF,EAAA,CACF;AAAA,MAAA;AAAA,MAvGKvB,EAAM;AAAA,IAAA;AAAA,EAwGb,GACF;AAEJ;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductShowcaseRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/render/renderers/sections/ProductShowcaseRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CA8TjE"}
|