lf-pagebuilder-vue 0.0.7 → 0.0.9
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/README.md +46 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +31 -24
- package/dist/index.js +996 -957
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { defineComponent as W, ref as
|
|
2
|
-
import { listComponents as
|
|
3
|
-
import { QuillEditor as
|
|
4
|
-
import
|
|
5
|
-
const
|
|
1
|
+
import { defineComponent as W, ref as C, computed as Y, createElementBlock as d, openBlock as i, createCommentVNode as S, createElementVNode as t, withModifiers as le, withDirectives as O, vModelText as Q, normalizeClass as G, toDisplayString as v, Fragment as A, renderList as V, vModelSelect as J, vModelCheckbox as ne, createBlock as ue, createTextVNode as E, unref as q, onMounted as ae, createVNode as L, watch as oe, nextTick as ve, withCtx as ce, vShow as xe, reactive as he } from "vue";
|
|
2
|
+
import { listComponents as we } from "libreria-astro-lefebvre";
|
|
3
|
+
import { QuillEditor as ye } from "@vueup/vue-quill";
|
|
4
|
+
import me from "vuedraggable";
|
|
5
|
+
const Ce = W({
|
|
6
6
|
props: {
|
|
7
7
|
isComponentMode: Boolean,
|
|
8
8
|
fullwidthMode: Boolean,
|
|
@@ -30,220 +30,220 @@ const we = W({
|
|
|
30
30
|
"update:parametersPageConfiguration.seo.description"
|
|
31
31
|
],
|
|
32
32
|
setup(e) {
|
|
33
|
-
const o = e.renderApiDomain || "http://localhost:8003", b =
|
|
33
|
+
const o = e.renderApiDomain || "http://localhost:8003", b = C(""), $ = C(!1), p = C(!1), u = C(null), s = Y({
|
|
34
34
|
get() {
|
|
35
|
-
var
|
|
36
|
-
const
|
|
37
|
-
return ((n =
|
|
35
|
+
var g, n;
|
|
36
|
+
const P = (g = e.globalPageConfiguration) == null ? void 0 : g.find((a) => a.section === e.sectionSelected);
|
|
37
|
+
return ((n = P == null ? void 0 : P.config) == null ? void 0 : n.width) || "";
|
|
38
38
|
},
|
|
39
|
-
set(
|
|
39
|
+
set(P) {
|
|
40
40
|
var n;
|
|
41
|
-
const
|
|
42
|
-
|
|
41
|
+
const g = (n = e.globalPageConfiguration) == null ? void 0 : n.find((a) => a.section === e.sectionSelected);
|
|
42
|
+
g && (g.config || (g.config = {}), g.config.width = P);
|
|
43
43
|
}
|
|
44
44
|
}), m = () => {
|
|
45
|
-
const
|
|
45
|
+
const P = {
|
|
46
46
|
pageConfig: e.globalPageConfiguration,
|
|
47
47
|
paramsConfig: e.parametersPageConfiguration
|
|
48
|
-
},
|
|
49
|
-
detail: { ...
|
|
48
|
+
}, g = JSON.stringify(P), n = new CustomEvent("lf-pagebuilder:export", {
|
|
49
|
+
detail: { ...P, inputId: e.inputId }
|
|
50
50
|
});
|
|
51
51
|
document.dispatchEvent(n);
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
},
|
|
55
|
-
const
|
|
52
|
+
const a = window.open("", "Preview", "width='100vw',height='100vh'");
|
|
53
|
+
a && (a.document.body.innerText = g, a.document.close());
|
|
54
|
+
}, w = () => {
|
|
55
|
+
const P = {
|
|
56
56
|
pageConfig: e.globalPageConfiguration,
|
|
57
57
|
paramsConfig: e.parametersPageConfiguration
|
|
58
|
-
},
|
|
59
|
-
|
|
58
|
+
}, g = JSON.stringify(P);
|
|
59
|
+
I(g);
|
|
60
60
|
const n = new CustomEvent("lf-pagebuilder:save", {
|
|
61
|
-
detail: { ...
|
|
61
|
+
detail: { ...P, inputId: e.inputId }
|
|
62
62
|
});
|
|
63
63
|
if (document.dispatchEvent(n), e.inputId) {
|
|
64
|
-
const
|
|
65
|
-
|
|
64
|
+
const a = document.getElementById(e.inputId);
|
|
65
|
+
a && (a.value = g);
|
|
66
66
|
}
|
|
67
|
-
if (
|
|
68
|
-
|
|
69
|
-
}, 3e3), e.submitForm &&
|
|
70
|
-
const
|
|
71
|
-
|
|
67
|
+
if (p.value = !0, setTimeout(() => {
|
|
68
|
+
p.value = !1;
|
|
69
|
+
}, 3e3), e.submitForm && u.value) {
|
|
70
|
+
const a = u.value.closest("form");
|
|
71
|
+
a && a.submit();
|
|
72
72
|
}
|
|
73
|
-
},
|
|
74
|
-
const
|
|
75
|
-
localStorage.setItem(
|
|
73
|
+
}, I = (P) => {
|
|
74
|
+
const g = e.inputId ? `pageBuilderConfig_${e.inputId}` : "pageBuilderConfig";
|
|
75
|
+
localStorage.setItem(g, P);
|
|
76
76
|
};
|
|
77
77
|
return {
|
|
78
78
|
validateSeo: () => {
|
|
79
|
-
const
|
|
79
|
+
const P = {
|
|
80
80
|
pageConfig: e.globalPageConfiguration,
|
|
81
81
|
paramsConfig: e.parametersPageConfiguration
|
|
82
|
-
},
|
|
82
|
+
}, g = JSON.stringify(P, null, 2);
|
|
83
83
|
fetch(o + "/api/render-html/", {
|
|
84
84
|
method: "POST",
|
|
85
85
|
headers: {
|
|
86
86
|
"Content-Type": "application/json"
|
|
87
87
|
},
|
|
88
|
-
body:
|
|
88
|
+
body: g
|
|
89
89
|
}).then((n) => n.text()).then((n) => {
|
|
90
|
-
const
|
|
91
|
-
if (!
|
|
92
|
-
const
|
|
93
|
-
function
|
|
94
|
-
if (!
|
|
95
|
-
const ee =
|
|
96
|
-
["h1", "h2", "h3", "h4", "h5", "h6", "a", "p", "article", "section", "header", "footer"].includes(ee) &&
|
|
90
|
+
const a = window.open("", "Preview", "width='100vw',height='100vh'");
|
|
91
|
+
if (!a) return;
|
|
92
|
+
const j = new DOMParser().parseFromString(n, "text/html"), B = [];
|
|
93
|
+
function N(H, _ = 0) {
|
|
94
|
+
if (!H || H.nodeType !== 1) return;
|
|
95
|
+
const ee = H.tagName.toLowerCase();
|
|
96
|
+
["h1", "h2", "h3", "h4", "h5", "h6", "a", "p", "article", "section", "header", "footer"].includes(ee) && B.push({
|
|
97
97
|
tag: ee,
|
|
98
|
-
text: (
|
|
98
|
+
text: (H.textContent || "").trim().slice(0, 80),
|
|
99
99
|
depth: _
|
|
100
|
-
}), Array.from(
|
|
100
|
+
}), Array.from(H.children).forEach((te) => N(te, _ + 1));
|
|
101
101
|
}
|
|
102
|
-
|
|
102
|
+
N(j.body);
|
|
103
103
|
let X = '<h2>Estructura SEO</h2><ul style="font-family:monospace">';
|
|
104
|
-
|
|
105
|
-
X += `<li style="margin-left:${
|
|
106
|
-
}), X += "</ul>",
|
|
104
|
+
B.forEach((H) => {
|
|
105
|
+
X += `<li style="margin-left:${H.depth * 20}px"><b>${H.tag}</b>: ${H.text}</li>`;
|
|
106
|
+
}), X += "</ul>", a.document.body.innerHTML = X, a.document.close();
|
|
107
107
|
});
|
|
108
108
|
},
|
|
109
109
|
importConfig: b,
|
|
110
|
-
showAdvancedConfig:
|
|
110
|
+
showAdvancedConfig: $,
|
|
111
111
|
previewFunction: () => {
|
|
112
|
-
const
|
|
112
|
+
const P = {
|
|
113
113
|
pageConfig: e.globalPageConfiguration,
|
|
114
114
|
paramsConfig: e.parametersPageConfiguration
|
|
115
|
-
},
|
|
115
|
+
}, g = JSON.stringify(P, null, 2);
|
|
116
116
|
fetch(o + "/api/render-html/", {
|
|
117
117
|
method: "POST",
|
|
118
118
|
headers: {
|
|
119
119
|
"Content-Type": "application/json"
|
|
120
120
|
},
|
|
121
|
-
body:
|
|
121
|
+
body: g
|
|
122
122
|
}).then((n) => n.text()).then((n) => {
|
|
123
|
-
const
|
|
124
|
-
|
|
125
|
-
var
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
}),
|
|
123
|
+
const a = window.open("", "Preview", "width='100vw',height='100vh'");
|
|
124
|
+
a && (a.document.body.innerHTML = n, a.document.querySelectorAll("script").forEach((j) => {
|
|
125
|
+
var N;
|
|
126
|
+
const B = a.document.createElement("script");
|
|
127
|
+
j.src ? B.src = j.src : B.textContent = j.textContent, (N = j.parentNode) == null || N.replaceChild(B, j);
|
|
128
|
+
}), a.document.close());
|
|
129
129
|
});
|
|
130
130
|
},
|
|
131
131
|
importFunction: () => {
|
|
132
132
|
e.importConfigurationFunction && e.importConfigurationFunction(b.value), b.value = "";
|
|
133
133
|
},
|
|
134
134
|
exportFunction: m,
|
|
135
|
-
saveButtonAction:
|
|
135
|
+
saveButtonAction: w,
|
|
136
136
|
loadFromLocalStorage: () => {
|
|
137
|
-
const
|
|
138
|
-
if (
|
|
139
|
-
const n = JSON.parse(
|
|
137
|
+
const P = e.inputId ? `pageBuilderConfig_${e.inputId}` : "pageBuilderConfig", g = localStorage.getItem(P);
|
|
138
|
+
if (g && e.importConfigurationFunction) {
|
|
139
|
+
const n = JSON.parse(g);
|
|
140
140
|
e.importConfigurationFunction(n);
|
|
141
141
|
}
|
|
142
142
|
},
|
|
143
143
|
toggleExpandScreen: () => {
|
|
144
|
-
const
|
|
145
|
-
|
|
144
|
+
const P = document.querySelector(".lf-page-builder");
|
|
145
|
+
P && P.classList.toggle("expanded-page-builder");
|
|
146
146
|
},
|
|
147
|
-
sectionWidth:
|
|
148
|
-
isSaved:
|
|
149
|
-
componentRoot:
|
|
147
|
+
sectionWidth: s,
|
|
148
|
+
isSaved: p,
|
|
149
|
+
componentRoot: u
|
|
150
150
|
};
|
|
151
151
|
}
|
|
152
|
-
}),
|
|
152
|
+
}), $e = (e, o) => {
|
|
153
153
|
const b = e.__vccOpts || e;
|
|
154
|
-
for (const [
|
|
155
|
-
b[
|
|
154
|
+
for (const [$, p] of o)
|
|
155
|
+
b[$] = p;
|
|
156
156
|
return b;
|
|
157
|
-
},
|
|
157
|
+
}, ke = { ref: "componentRoot" }, Se = {
|
|
158
158
|
key: 0,
|
|
159
159
|
class: "flex justify-end items-center w-full p-3 gap-3"
|
|
160
|
-
},
|
|
160
|
+
}, Fe = { class: "flex justify-end items-center p-2 gap-3 bg-gradient-to-l from-lime-50 to-green-100 border border-lime-400 rounded-lg w-auto" }, Pe = { class: "flex justify-between gap-3 px-5 py-3 bg-white mx-3 rounded-xl border border-slate-200 mb-6 sticky top-2 z-9999 shadow-lg backdrop-blur-sm" }, je = { class: "flex gap-2" }, Me = { class: "flex gap-2" }, Ie = ["value"], Ae = ["value"], Be = { value: "full" }, Ee = { value: "1/2" }, Te = { value: "1/3" }, De = { value: "2/3" }, Oe = { value: "1/4" }, Re = { value: "3/4" }, Ve = { value: "1/5" }, ze = { value: "2/5" }, Ne = { value: "3/5" }, Ue = { value: "4/5" }, qe = { key: 0 }, Le = { key: 1 }, Ge = { class: "flex items-center gap-2" }, He = {
|
|
161
161
|
key: 1,
|
|
162
162
|
class: "bg-white border border-slate-200 rounded-2xl p-5 mx-3 mb-6 shadow-lg"
|
|
163
|
-
},
|
|
164
|
-
function
|
|
165
|
-
return
|
|
166
|
-
e.debugMode ? (
|
|
167
|
-
t("div",
|
|
163
|
+
}, Je = { class: "flex flex-row gap-4 w-full" }, We = { class: "border border-slate-200 rounded-xl p-5 w-full bg-gradient-to-br from-slate-50 to-white" }, Ye = { class: "flex flex-col gap-3 border-b border-slate-200 pb-4 w-full" }, Ke = { class: "mb-3" }, Qe = { class: "flex items-center gap-3 cursor-pointer group" }, Xe = { class: "mb-3" }, Ze = { class: "flex items-center gap-3 cursor-pointer group" }, _e = { class: "mb-3" }, et = { class: "mb-3" }, tt = { class: "mb-3" }, ot = { class: "border border-slate-200 rounded-xl p-5 w-full bg-gradient-to-br from-slate-50 to-white" }, nt = { class: "flex justify-between items-center mb-4" }, lt = { class: "flex flex-col gap-3 border-b border-slate-200 pb-4 w-full" }, at = { class: "mb-3" }, rt = { class: "mb-3" }, st = { class: "mb-3" };
|
|
164
|
+
function it(e, o, b, $, p, u) {
|
|
165
|
+
return i(), d("div", ke, [
|
|
166
|
+
e.debugMode ? (i(), d("div", Se, [
|
|
167
|
+
t("div", Fe, [
|
|
168
168
|
o[30] || (o[30] = t("span", { class: "bg-gradient-to-r from-lime-200 to-green-300 px-3 py-1 rounded-full border border-lime-600 text-lime-800 text-xs font-medium me-4 italic" }, "MODO DEBUG 🐞", -1)),
|
|
169
169
|
t("form", {
|
|
170
170
|
onSubmit: o[2] || (o[2] = le(() => {
|
|
171
171
|
}, ["prevent"])),
|
|
172
172
|
class: "flex gap-2"
|
|
173
173
|
}, [
|
|
174
|
-
|
|
175
|
-
"onUpdate:modelValue": o[0] || (o[0] = (
|
|
174
|
+
O(t("input", {
|
|
175
|
+
"onUpdate:modelValue": o[0] || (o[0] = (s) => e.importConfig = s),
|
|
176
176
|
type: "text",
|
|
177
177
|
class: "bg-white border border-slate-200 rounded-lg px-3 py-1.5 text-sm focus:outline-none focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-400",
|
|
178
178
|
name: "",
|
|
179
179
|
id: "",
|
|
180
180
|
placeholder: "Pegar configuración..."
|
|
181
181
|
}, null, 512), [
|
|
182
|
-
[
|
|
182
|
+
[Q, e.importConfig]
|
|
183
183
|
]),
|
|
184
184
|
t("button", {
|
|
185
185
|
type: "button",
|
|
186
|
-
onClick: o[1] || (o[1] = (
|
|
186
|
+
onClick: o[1] || (o[1] = (s) => e.importFunction()),
|
|
187
187
|
class: "cursor-pointer bg-white hover:bg-slate-700 hover:text-white border border-slate-200 hover:border-slate-700 rounded-lg px-3 py-1.5 text-sm font-medium transition-all duration-200 shadow-sm hover:shadow-md"
|
|
188
188
|
}, "🏯 Importar")
|
|
189
189
|
], 32),
|
|
190
190
|
t("button", {
|
|
191
191
|
type: "button",
|
|
192
|
-
onClick: o[3] || (o[3] = (
|
|
192
|
+
onClick: o[3] || (o[3] = (s) => e.exportFunction()),
|
|
193
193
|
class: "cursor-pointer bg-white hover:bg-slate-700 hover:text-white border border-slate-200 hover:border-slate-700 rounded-lg px-3 py-1.5 text-sm font-medium transition-all duration-200 shadow-sm hover:shadow-md"
|
|
194
194
|
}, "🚀 Exportar")
|
|
195
195
|
])
|
|
196
|
-
])) :
|
|
197
|
-
t("div",
|
|
198
|
-
t("div",
|
|
196
|
+
])) : S("", !0),
|
|
197
|
+
t("div", Pe, [
|
|
198
|
+
t("div", je, [
|
|
199
199
|
t("button", {
|
|
200
200
|
type: "button",
|
|
201
201
|
class: G([[e.isComponentMode ? "bg-gradient-to-r from-slate-600 to-slate-700 border-slate-700 text-white shadow-md" : "bg-white hover:bg-slate-100"], "cursor-pointer border border-slate-200 rounded-lg py-1.5 px-3 text-sm font-medium transition-all duration-200"]),
|
|
202
|
-
onClick: o[4] || (o[4] = (
|
|
202
|
+
onClick: o[4] || (o[4] = (s) => {
|
|
203
203
|
var m;
|
|
204
204
|
return (m = e.toggleComponentModeFunction) == null ? void 0 : m.call(e);
|
|
205
205
|
})
|
|
206
|
-
},
|
|
206
|
+
}, v(e.isComponentMode ? "⚒️ Modo Configuración" : "👁️ Modo Visual"), 3),
|
|
207
207
|
t("button", {
|
|
208
208
|
type: "button",
|
|
209
209
|
class: G([[e.fullwidthMode ? "bg-white hover:bg-slate-100" : "bg-gradient-to-r from-slate-600 to-slate-700 border-slate-700 text-white shadow-md"], "cursor-pointer border border-slate-200 rounded-lg py-1.5 px-3 text-sm font-medium transition-all duration-200"]),
|
|
210
|
-
onClick: o[5] || (o[5] = (
|
|
210
|
+
onClick: o[5] || (o[5] = (s) => {
|
|
211
211
|
var m;
|
|
212
212
|
return (m = e.toggleFullwidthMode) == null ? void 0 : m.call(e);
|
|
213
213
|
})
|
|
214
|
-
},
|
|
214
|
+
}, v(e.fullwidthMode ? "⚒️ Comps. Plegados" : "👁️ Comps. Desplegados"), 3)
|
|
215
215
|
]),
|
|
216
|
-
t("div",
|
|
216
|
+
t("div", Me, [
|
|
217
217
|
t("select", {
|
|
218
218
|
value: e.sectionSelected,
|
|
219
|
-
onChange: o[6] || (o[6] = (
|
|
219
|
+
onChange: o[6] || (o[6] = (s) => e.$emit("update:sectionSelected", s.target.value)),
|
|
220
220
|
class: "bg-white border border-slate-200 rounded-lg px-3 py-1.5 cursor-pointer text-sm focus:outline-none focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-400 transition-colors"
|
|
221
221
|
}, [
|
|
222
|
-
(
|
|
222
|
+
(i(!0), d(A, null, V(e.availableSections, (s, m) => (i(), d("option", {
|
|
223
223
|
key: m,
|
|
224
|
-
value:
|
|
225
|
-
},
|
|
226
|
-
], 40,
|
|
227
|
-
|
|
224
|
+
value: s
|
|
225
|
+
}, v(s), 9, Ae))), 128))
|
|
226
|
+
], 40, Ie),
|
|
227
|
+
O(t("select", {
|
|
228
228
|
class: "bg-white border border-slate-200 rounded-lg px-3 py-1.5 cursor-pointer text-sm focus:outline-none focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-400 transition-colors",
|
|
229
|
-
"onUpdate:modelValue": o[7] || (o[7] = (
|
|
229
|
+
"onUpdate:modelValue": o[7] || (o[7] = (s) => e.sectionWidth = s)
|
|
230
230
|
}, [
|
|
231
231
|
o[31] || (o[31] = t("option", {
|
|
232
232
|
disabled: "",
|
|
233
233
|
value: ""
|
|
234
234
|
}, "Selecciona el ancho de la sección", -1)),
|
|
235
|
-
t("option",
|
|
236
|
-
t("option",
|
|
237
|
-
t("option",
|
|
238
|
-
t("option",
|
|
239
|
-
t("option",
|
|
240
|
-
t("option",
|
|
241
|
-
t("option",
|
|
242
|
-
t("option",
|
|
243
|
-
t("option", Ne, "Sección " +
|
|
244
|
-
t("option",
|
|
235
|
+
t("option", Be, "Sección " + v(e.sectionSelected) + " ocupa todo el ancho de la página", 1),
|
|
236
|
+
t("option", Ee, "Sección " + v(e.sectionSelected) + " ocupa 1/2 del ancho de la página", 1),
|
|
237
|
+
t("option", Te, "Sección " + v(e.sectionSelected) + " ocupa 1/3 del ancho de la página", 1),
|
|
238
|
+
t("option", De, "Sección " + v(e.sectionSelected) + " ocupa 2/3 del ancho de la página", 1),
|
|
239
|
+
t("option", Oe, "Sección " + v(e.sectionSelected) + " ocupa 1/4 del ancho de la página", 1),
|
|
240
|
+
t("option", Re, "Sección " + v(e.sectionSelected) + " ocupa 3/4 del ancho de la página", 1),
|
|
241
|
+
t("option", Ve, "Sección " + v(e.sectionSelected) + " ocupa 1/5 del ancho de la página", 1),
|
|
242
|
+
t("option", ze, "Sección " + v(e.sectionSelected) + " ocupa 2/5 del ancho de la página", 1),
|
|
243
|
+
t("option", Ne, "Sección " + v(e.sectionSelected) + " ocupa 3/5 del ancho de la página", 1),
|
|
244
|
+
t("option", Ue, "Sección " + v(e.sectionSelected) + " ocupa 4/5 del ancho de la página", 1)
|
|
245
245
|
], 512), [
|
|
246
|
-
[
|
|
246
|
+
[J, e.sectionWidth]
|
|
247
247
|
]),
|
|
248
248
|
t("button", {
|
|
249
249
|
type: "button",
|
|
@@ -251,50 +251,50 @@ function rt(e, o, b, h, g, c) {
|
|
|
251
251
|
"cursor-pointer border rounded-lg py-1.5 px-3 text-sm font-medium transition-all duration-200 flex items-center gap-2",
|
|
252
252
|
e.showAdvancedConfig ? "bg-gradient-to-r from-amber-500 to-orange-500 border-amber-500 text-white shadow-md" : "bg-white border-slate-200 hover:bg-slate-100"
|
|
253
253
|
]),
|
|
254
|
-
onClick: o[8] || (o[8] = (
|
|
254
|
+
onClick: o[8] || (o[8] = (s) => e.showAdvancedConfig = !e.showAdvancedConfig)
|
|
255
255
|
}, [
|
|
256
256
|
o[32] || (o[32] = t("span", null, "⚙️ Página", -1)),
|
|
257
|
-
e.showAdvancedConfig ? (
|
|
257
|
+
e.showAdvancedConfig ? (i(), d("span", qe, "▲")) : (i(), d("span", Le, "▼"))
|
|
258
258
|
], 2)
|
|
259
259
|
]),
|
|
260
|
-
t("div",
|
|
260
|
+
t("div", Ge, [
|
|
261
261
|
t("button", {
|
|
262
262
|
type: "button",
|
|
263
|
-
onClick: o[9] || (o[9] = (
|
|
263
|
+
onClick: o[9] || (o[9] = (s) => e.previewFunction()),
|
|
264
264
|
class: "cursor-pointer bg-white hover:bg-violet-500 hover:text-white hover:border-violet-500 border border-slate-200 rounded-lg px-3 py-1.5 text-sm font-medium transition-all duration-200 shadow-sm hover:shadow-md"
|
|
265
265
|
}, "🔎 Preview"),
|
|
266
266
|
t("button", {
|
|
267
267
|
type: "button",
|
|
268
|
-
onClick: o[10] || (o[10] = (
|
|
268
|
+
onClick: o[10] || (o[10] = (s) => e.saveButtonAction()),
|
|
269
269
|
title: "Guardar configuración en localStorage y disparar evento global",
|
|
270
270
|
class: "cursor-pointer bg-gradient-to-r from-emerald-500 to-teal-500 hover:from-emerald-600 hover:to-teal-600 text-white border border-emerald-500 rounded-lg px-3 py-1.5 text-sm font-medium transition-all duration-200 shadow-sm hover:shadow-md"
|
|
271
|
-
},
|
|
272
|
-
e.debugMode ? (
|
|
271
|
+
}, v(e.isSaved ? e.submitForm ? "⏳ Submiteando formulario" : "✅ Se ha guardado correctamente" : "💾 Guardar"), 1),
|
|
272
|
+
e.debugMode ? (i(), d("button", {
|
|
273
273
|
key: 0,
|
|
274
274
|
type: "button",
|
|
275
|
-
onClick: o[11] || (o[11] = (
|
|
275
|
+
onClick: o[11] || (o[11] = (s) => e.loadFromLocalStorage()),
|
|
276
276
|
class: "cursor-pointer bg-white hover:bg-blue-500 hover:text-white hover:border-blue-500 border border-slate-200 rounded-lg px-3 py-1.5 text-sm font-medium transition-all duration-200 shadow-sm hover:shadow-md"
|
|
277
|
-
}, "⤵️ Cargar")) :
|
|
277
|
+
}, "⤵️ Cargar")) : S("", !0),
|
|
278
278
|
t("button", {
|
|
279
279
|
type: "button",
|
|
280
|
-
onClick: o[12] || (o[12] = (
|
|
280
|
+
onClick: o[12] || (o[12] = (s) => e.toggleExpandScreen()),
|
|
281
281
|
title: "Expandir / Contraer Pagebuilder",
|
|
282
282
|
class: "cursor-pointer bg-white hover:bg-slate-700 hover:text-white hover:border-slate-700 border border-slate-200 rounded-lg px-3 py-1.5 text-xl transition-all duration-200 shadow-sm hover:shadow-md ms-2"
|
|
283
283
|
}, "◳")
|
|
284
284
|
])
|
|
285
285
|
]),
|
|
286
|
-
e.showAdvancedConfig && e.parametersPageConfiguration ? (
|
|
287
|
-
t("div",
|
|
288
|
-
t("div",
|
|
286
|
+
e.showAdvancedConfig && e.parametersPageConfiguration ? (i(), d("div", He, [
|
|
287
|
+
t("div", Je, [
|
|
288
|
+
t("div", We, [
|
|
289
289
|
o[38] || (o[38] = t("h2", { class: "text-lg font-bold mb-4 text-slate-700" }, "Configuración Avanzada", -1)),
|
|
290
290
|
o[39] || (o[39] = t("h3", { class: "font-semibold mb-3 text-slate-600" }, "Configuración Global", -1)),
|
|
291
|
-
t("div",
|
|
292
|
-
t("div",
|
|
293
|
-
t("label",
|
|
294
|
-
|
|
291
|
+
t("div", Ye, [
|
|
292
|
+
t("div", Ke, [
|
|
293
|
+
t("label", Qe, [
|
|
294
|
+
O(t("input", {
|
|
295
295
|
type: "checkbox",
|
|
296
|
-
"onUpdate:modelValue": o[13] || (o[13] = (
|
|
297
|
-
onChange: o[14] || (o[14] = (
|
|
296
|
+
"onUpdate:modelValue": o[13] || (o[13] = (s) => e.parametersPageConfiguration.global.sidebarEnabled = s),
|
|
297
|
+
onChange: o[14] || (o[14] = (s) => e.$emit("update:parametersPageConfiguration.global.sidebarEnabled", s.target.value)),
|
|
298
298
|
class: "w-5 h-5 rounded border-slate-300 text-emerald-500 focus:ring-emerald-500 cursor-pointer"
|
|
299
299
|
}, null, 544), [
|
|
300
300
|
[ne, e.parametersPageConfiguration.global.sidebarEnabled]
|
|
@@ -302,12 +302,12 @@ function rt(e, o, b, h, g, c) {
|
|
|
302
302
|
o[33] || (o[33] = t("span", { class: "text-slate-600 group-hover:text-slate-800 transition-colors" }, "Sidebar Habilitado", -1))
|
|
303
303
|
])
|
|
304
304
|
]),
|
|
305
|
-
t("div",
|
|
306
|
-
t("label",
|
|
307
|
-
|
|
305
|
+
t("div", Xe, [
|
|
306
|
+
t("label", Ze, [
|
|
307
|
+
O(t("input", {
|
|
308
308
|
type: "checkbox",
|
|
309
|
-
"onUpdate:modelValue": o[15] || (o[15] = (
|
|
310
|
-
onChange: o[16] || (o[16] = (
|
|
309
|
+
"onUpdate:modelValue": o[15] || (o[15] = (s) => e.parametersPageConfiguration.global.renderAsBodyPart = s),
|
|
310
|
+
onChange: o[16] || (o[16] = (s) => e.$emit("update:parametersPageConfiguration.global.renderAsBodyPart", s.target.value)),
|
|
311
311
|
class: "w-5 h-5 rounded border-slate-300 text-emerald-500 focus:ring-emerald-500 cursor-pointer"
|
|
312
312
|
}, null, 544), [
|
|
313
313
|
[ne, e.parametersPageConfiguration.global.renderAsBodyPart]
|
|
@@ -315,128 +315,128 @@ function rt(e, o, b, h, g, c) {
|
|
|
315
315
|
o[34] || (o[34] = t("span", { class: "text-slate-600 group-hover:text-slate-800 transition-colors" }, "Renderizar como parte del BODY (Sin etiquetas HTML, HEAD, BODY)", -1))
|
|
316
316
|
])
|
|
317
317
|
]),
|
|
318
|
-
t("div",
|
|
318
|
+
t("div", _e, [
|
|
319
319
|
o[35] || (o[35] = t("label", {
|
|
320
320
|
for: "headSlot",
|
|
321
321
|
class: "block text-sm font-medium text-slate-600 mb-2"
|
|
322
322
|
}, " Código al final de la sección <head> ", -1)),
|
|
323
|
-
|
|
323
|
+
O(t("textarea", {
|
|
324
324
|
id: "headSlot",
|
|
325
|
-
"onUpdate:modelValue": o[17] || (o[17] = (
|
|
326
|
-
onInput: o[18] || (o[18] = (
|
|
325
|
+
"onUpdate:modelValue": o[17] || (o[17] = (s) => e.parametersPageConfiguration.global.headSlot = s),
|
|
326
|
+
onInput: o[18] || (o[18] = (s) => e.$emit("update:parametersPageConfiguration.global.headSlot", s.target.value)),
|
|
327
327
|
class: "w-full px-4 py-3 border border-slate-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-400 bg-white text-sm font-mono transition-colors",
|
|
328
328
|
placeholder: "Contenido para el head",
|
|
329
329
|
rows: "3"
|
|
330
330
|
}, null, 544), [
|
|
331
|
-
[
|
|
331
|
+
[Q, e.parametersPageConfiguration.global.headSlot]
|
|
332
332
|
])
|
|
333
333
|
]),
|
|
334
|
-
t("div",
|
|
334
|
+
t("div", et, [
|
|
335
335
|
o[36] || (o[36] = t("label", {
|
|
336
336
|
for: "bodyBeginSlot",
|
|
337
337
|
class: "block text-sm font-medium text-slate-600 mb-2"
|
|
338
338
|
}, " Código al principio de la sección <body> ", -1)),
|
|
339
|
-
|
|
339
|
+
O(t("textarea", {
|
|
340
340
|
id: "bodyBeginSlot",
|
|
341
|
-
"onUpdate:modelValue": o[19] || (o[19] = (
|
|
342
|
-
onInput: o[20] || (o[20] = (
|
|
341
|
+
"onUpdate:modelValue": o[19] || (o[19] = (s) => e.parametersPageConfiguration.global.bodyBeginSlot = s),
|
|
342
|
+
onInput: o[20] || (o[20] = (s) => e.$emit("update:parametersPageConfiguration.global.bodyBeginSlot", s.target.value)),
|
|
343
343
|
class: "w-full px-4 py-3 border border-slate-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-400 bg-white text-sm font-mono transition-colors",
|
|
344
344
|
placeholder: "Contenido para el inicio del body",
|
|
345
345
|
rows: "3"
|
|
346
346
|
}, null, 544), [
|
|
347
|
-
[
|
|
347
|
+
[Q, e.parametersPageConfiguration.global.bodyBeginSlot]
|
|
348
348
|
])
|
|
349
349
|
]),
|
|
350
|
-
t("div",
|
|
350
|
+
t("div", tt, [
|
|
351
351
|
o[37] || (o[37] = t("label", {
|
|
352
352
|
for: "footerSlot",
|
|
353
353
|
class: "block text-sm font-medium text-slate-600 mb-2"
|
|
354
354
|
}, " Código al final de la sección <body>, dentro de la etiqueta <footer> ", -1)),
|
|
355
|
-
|
|
355
|
+
O(t("textarea", {
|
|
356
356
|
id: "footerSlot",
|
|
357
|
-
"onUpdate:modelValue": o[21] || (o[21] = (
|
|
358
|
-
onInput: o[22] || (o[22] = (
|
|
357
|
+
"onUpdate:modelValue": o[21] || (o[21] = (s) => e.parametersPageConfiguration.global.footerSlot = s),
|
|
358
|
+
onInput: o[22] || (o[22] = (s) => e.$emit("update:parametersPageConfiguration.global.footerSlot", s.target.value)),
|
|
359
359
|
class: "w-full px-4 py-3 border border-slate-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-400 bg-white text-sm font-mono transition-colors",
|
|
360
360
|
placeholder: "Contenido para el footer",
|
|
361
361
|
rows: "3"
|
|
362
362
|
}, null, 544), [
|
|
363
|
-
[
|
|
363
|
+
[Q, e.parametersPageConfiguration.global.footerSlot]
|
|
364
364
|
])
|
|
365
365
|
])
|
|
366
366
|
])
|
|
367
367
|
]),
|
|
368
|
-
t("div",
|
|
369
|
-
t("div",
|
|
368
|
+
t("div", ot, [
|
|
369
|
+
t("div", nt, [
|
|
370
370
|
o[40] || (o[40] = t("h2", { class: "text-lg font-bold text-slate-700" }, "Configuración SEO", -1)),
|
|
371
371
|
t("button", {
|
|
372
372
|
type: "button",
|
|
373
|
-
onClick: o[23] || (o[23] = (
|
|
373
|
+
onClick: o[23] || (o[23] = (s) => e.validateSeo()),
|
|
374
374
|
class: "cursor-pointer bg-gradient-to-r from-violet-500 to-purple-500 hover:from-violet-600 hover:to-purple-600 text-white border border-violet-500 rounded-lg px-4 py-1.5 text-sm font-medium transition-all duration-200 shadow-sm hover:shadow-md"
|
|
375
375
|
}, "🦄 Validar SEO")
|
|
376
376
|
]),
|
|
377
|
-
t("div",
|
|
378
|
-
t("div",
|
|
377
|
+
t("div", lt, [
|
|
378
|
+
t("div", at, [
|
|
379
379
|
o[42] || (o[42] = t("label", {
|
|
380
380
|
for: "robotsIndex",
|
|
381
381
|
class: "block text-sm font-medium text-slate-600 mb-2"
|
|
382
382
|
}, " Indexación de robots ", -1)),
|
|
383
|
-
|
|
383
|
+
O(t("select", {
|
|
384
384
|
id: "robotsIndex",
|
|
385
|
-
"onUpdate:modelValue": o[24] || (o[24] = (
|
|
386
|
-
onChange: o[25] || (o[25] = (
|
|
385
|
+
"onUpdate:modelValue": o[24] || (o[24] = (s) => e.parametersPageConfiguration.seo.robots = s),
|
|
386
|
+
onChange: o[25] || (o[25] = (s) => e.$emit("update:parametersPageConfiguration.seo.robots", s.target.value)),
|
|
387
387
|
class: "w-full px-4 py-2.5 border border-slate-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-400 bg-white text-sm transition-colors cursor-pointer"
|
|
388
388
|
}, [...o[41] || (o[41] = [
|
|
389
389
|
t("option", { value: "index, follow" }, "Index Follow", -1),
|
|
390
390
|
t("option", { value: "noindex, nofollow" }, "Noindex Nofollow", -1)
|
|
391
391
|
])], 544), [
|
|
392
|
-
[
|
|
392
|
+
[J, e.parametersPageConfiguration.seo.robots]
|
|
393
393
|
])
|
|
394
394
|
]),
|
|
395
|
-
t("div",
|
|
395
|
+
t("div", rt, [
|
|
396
396
|
o[43] || (o[43] = t("label", {
|
|
397
397
|
for: "pageTitle",
|
|
398
398
|
class: "block text-sm font-medium text-slate-600 mb-2"
|
|
399
399
|
}, " Título de la página ", -1)),
|
|
400
|
-
|
|
400
|
+
O(t("input", {
|
|
401
401
|
id: "pageTitle",
|
|
402
402
|
type: "text",
|
|
403
|
-
"onUpdate:modelValue": o[26] || (o[26] = (
|
|
404
|
-
onInput: o[27] || (o[27] = (
|
|
403
|
+
"onUpdate:modelValue": o[26] || (o[26] = (s) => e.parametersPageConfiguration.seo.title = s),
|
|
404
|
+
onInput: o[27] || (o[27] = (s) => e.$emit("update:parametersPageConfiguration.seo.title", s.target.value)),
|
|
405
405
|
class: "w-full px-4 py-2.5 border border-slate-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-400 bg-white text-sm transition-colors",
|
|
406
406
|
placeholder: "Ingresa el título de la página"
|
|
407
407
|
}, null, 544), [
|
|
408
|
-
[
|
|
408
|
+
[Q, e.parametersPageConfiguration.seo.title]
|
|
409
409
|
])
|
|
410
410
|
]),
|
|
411
|
-
t("div",
|
|
411
|
+
t("div", st, [
|
|
412
412
|
o[44] || (o[44] = t("label", {
|
|
413
413
|
for: "pageDescription",
|
|
414
414
|
class: "block text-sm font-medium text-slate-600 mb-2"
|
|
415
415
|
}, " Descripción de la página ", -1)),
|
|
416
|
-
|
|
416
|
+
O(t("textarea", {
|
|
417
417
|
id: "pageDescription",
|
|
418
|
-
"onUpdate:modelValue": o[28] || (o[28] = (
|
|
419
|
-
onInput: o[29] || (o[29] = (
|
|
418
|
+
"onUpdate:modelValue": o[28] || (o[28] = (s) => e.parametersPageConfiguration.seo.description = s),
|
|
419
|
+
onInput: o[29] || (o[29] = (s) => e.$emit("update:parametersPageConfiguration.seo.description", s.target.value)),
|
|
420
420
|
class: "w-full px-4 py-3 border border-slate-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-400 bg-white text-sm transition-colors",
|
|
421
421
|
placeholder: "Ingresa la descripción de la página",
|
|
422
422
|
rows: "3"
|
|
423
423
|
}, null, 544), [
|
|
424
|
-
[
|
|
424
|
+
[Q, e.parametersPageConfiguration.seo.description]
|
|
425
425
|
])
|
|
426
426
|
])
|
|
427
427
|
])
|
|
428
428
|
])
|
|
429
429
|
])
|
|
430
|
-
])) :
|
|
430
|
+
])) : S("", !0)
|
|
431
431
|
], 512);
|
|
432
432
|
}
|
|
433
|
-
const
|
|
433
|
+
const dt = /* @__PURE__ */ $e(Ce, [["render", it]]), ut = {
|
|
434
434
|
key: 0,
|
|
435
435
|
class: "absolute top-0 left-0 bg-white/90 w-full h-full z-100"
|
|
436
|
-
},
|
|
436
|
+
}, ct = { class: "w-full flex justify-end p-4" }, mt = ["for"], bt = {
|
|
437
437
|
key: 0,
|
|
438
438
|
class: "text-red-500"
|
|
439
|
-
},
|
|
439
|
+
}, gt = ["id", "name", "placeholder", "required", "value", "onInput"], ft = ["id", "name", "data-mandatoryCrops", "placeholder", "required", "value", "onInput"], pt = ["id", "name", "required", "value", "onInput"], vt = ["value"], xt = ["id", "name", "required", "checked", "onChange"], ie = /* @__PURE__ */ W({
|
|
440
440
|
__name: "FieldsForm",
|
|
441
441
|
props: {
|
|
442
442
|
object: {
|
|
@@ -453,111 +453,111 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
453
453
|
}
|
|
454
454
|
},
|
|
455
455
|
setup(e) {
|
|
456
|
-
const o = e, b = (
|
|
457
|
-
const
|
|
458
|
-
|
|
456
|
+
const o = e, b = ($, p) => {
|
|
457
|
+
const u = (o.object.fields || []).find((s) => s.name === $);
|
|
458
|
+
u && (u.example_value = p);
|
|
459
459
|
};
|
|
460
|
-
return (
|
|
461
|
-
e.showForm ? (
|
|
460
|
+
return ($, p) => (i(), d(A, null, [
|
|
461
|
+
e.showForm ? (i(), d("div", ut)) : S("", !0),
|
|
462
462
|
t("div", {
|
|
463
463
|
class: G(e.showForm ? "relative top-0 w-full text-slate-600 border-1 my-2 px-4 pt-2 pb-3 w-full border-slate-200 bg-slate-50 inline-block rounded-lg flex flex-col z-101" : "hidden")
|
|
464
464
|
}, [
|
|
465
|
-
t("div",
|
|
465
|
+
t("div", ct, [
|
|
466
466
|
t("span", {
|
|
467
|
-
onClick:
|
|
468
|
-
(...
|
|
467
|
+
onClick: p[0] || (p[0] = //@ts-ignore
|
|
468
|
+
(...u) => e.toggleShowForm && e.toggleShowForm(...u)),
|
|
469
469
|
class: "cursor-pointer hover:scale-125 transition-all duration-300"
|
|
470
470
|
}, "❌")
|
|
471
471
|
]),
|
|
472
472
|
t("form", null, [
|
|
473
|
-
(
|
|
474
|
-
key:
|
|
473
|
+
(i(!0), d(A, null, V(e.object.fields, (u, s) => (i(), d("div", {
|
|
474
|
+
key: s,
|
|
475
475
|
class: "mb-4"
|
|
476
476
|
}, [
|
|
477
477
|
t("label", {
|
|
478
|
-
for: `${e.object.id}-${
|
|
478
|
+
for: `${e.object.id}-${u.name}-${s}`,
|
|
479
479
|
class: "block text-sm font-medium mb-1"
|
|
480
480
|
}, [
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
], 8,
|
|
484
|
-
|
|
481
|
+
E(v(u.label) + " ", 1),
|
|
482
|
+
u.mandatory ? (i(), d("span", bt, "*")) : S("", !0)
|
|
483
|
+
], 8, mt),
|
|
484
|
+
u.type === "text" ? (i(), d("input", {
|
|
485
485
|
key: 0,
|
|
486
|
-
id: `${e.object.id}-${
|
|
487
|
-
name: `${e.object.id}-${
|
|
486
|
+
id: `${e.object.id}-${u.name}-${s}`,
|
|
487
|
+
name: `${e.object.id}-${u.name}-${s}`,
|
|
488
488
|
type: "text",
|
|
489
489
|
class: "w-full px-3 py-2 border border-slate-300 rounded focus:outline-none focus:ring-2 focus:ring-blue-400",
|
|
490
|
-
placeholder:
|
|
491
|
-
required:
|
|
492
|
-
value:
|
|
493
|
-
onInput: (m) => b(
|
|
494
|
-
}, null, 40,
|
|
495
|
-
|
|
490
|
+
placeholder: u.label,
|
|
491
|
+
required: u.mandatory,
|
|
492
|
+
value: u.example_value,
|
|
493
|
+
onInput: (m) => b(u.name, m.target.value)
|
|
494
|
+
}, null, 40, gt)) : S("", !0),
|
|
495
|
+
u.type === "image" ? (i(), d("input", {
|
|
496
496
|
key: 1,
|
|
497
|
-
id: `${e.object.id}-${
|
|
498
|
-
name: `${e.object.id}-${
|
|
499
|
-
"data-mandatoryCrops":
|
|
497
|
+
id: `${e.object.id}-${u.name}-${s}`,
|
|
498
|
+
name: `${e.object.id}-${u.name}-${s}`,
|
|
499
|
+
"data-mandatoryCrops": u.image_cuts ? JSON.stringify(u.image_cuts) : null,
|
|
500
500
|
type: "text",
|
|
501
501
|
class: "js-limbo w-full px-3 py-2 border border-slate-300 rounded focus:outline-none focus:ring-2 focus:ring-blue-400",
|
|
502
|
-
placeholder:
|
|
503
|
-
required:
|
|
504
|
-
value:
|
|
505
|
-
onInput: (m) => b(
|
|
506
|
-
}, null, 40,
|
|
502
|
+
placeholder: u.label,
|
|
503
|
+
required: u.mandatory,
|
|
504
|
+
value: u.example_value,
|
|
505
|
+
onInput: (m) => b(u.name, m.target.value)
|
|
506
|
+
}, null, 40, ft)) : u.type === "textArea" ? (i(), ue(q(ye), {
|
|
507
507
|
key: 2,
|
|
508
508
|
theme: "snow",
|
|
509
|
-
id: `${e.object.id}-${
|
|
510
|
-
name: `${e.object.id}-${
|
|
509
|
+
id: `${e.object.id}-${u.name}-${s}`,
|
|
510
|
+
name: `${e.object.id}-${u.name}-${s}`,
|
|
511
511
|
rows: "3",
|
|
512
512
|
class: "w-full px-3 py-2 border border-slate-300 rounded focus:outline-none focus:ring-2 focus:ring-blue-400 z-9999",
|
|
513
|
-
placeholder:
|
|
514
|
-
required:
|
|
513
|
+
placeholder: u.label,
|
|
514
|
+
required: u.mandatory,
|
|
515
515
|
"onUpdate:content": (m) => {
|
|
516
|
-
b(
|
|
516
|
+
b(u.name, m);
|
|
517
517
|
},
|
|
518
|
-
content:
|
|
519
|
-
modelValue:
|
|
520
|
-
"onUpdate:modelValue": (m) =>
|
|
518
|
+
content: u.example_value,
|
|
519
|
+
modelValue: u.example_value,
|
|
520
|
+
"onUpdate:modelValue": (m) => u.example_value = m,
|
|
521
521
|
contentType: "html"
|
|
522
|
-
}, null, 8, ["id", "name", "placeholder", "required", "onUpdate:content", "content", "modelValue", "onUpdate:modelValue"])) :
|
|
522
|
+
}, null, 8, ["id", "name", "placeholder", "required", "onUpdate:content", "content", "modelValue", "onUpdate:modelValue"])) : u.type === "select" ? (i(), d("select", {
|
|
523
523
|
key: 3,
|
|
524
|
-
id: `${e.object.id}-${
|
|
525
|
-
name: `${e.object.id}-${
|
|
524
|
+
id: `${e.object.id}-${u.name}-${s}`,
|
|
525
|
+
name: `${e.object.id}-${u.name}-${s}`,
|
|
526
526
|
class: "w-full px-3 py-2 border border-slate-300 rounded focus:outline-none focus:ring-2 focus:ring-blue-400",
|
|
527
|
-
required:
|
|
528
|
-
value:
|
|
529
|
-
onInput: (m) => b(
|
|
527
|
+
required: u.mandatory,
|
|
528
|
+
value: u.example_value,
|
|
529
|
+
onInput: (m) => b(u.name, m.target.value)
|
|
530
530
|
}, [
|
|
531
|
-
|
|
531
|
+
p[1] || (p[1] = t("option", {
|
|
532
532
|
disabled: "",
|
|
533
533
|
value: ""
|
|
534
534
|
}, "Seleccione una opción", -1)),
|
|
535
|
-
(
|
|
536
|
-
key:
|
|
535
|
+
(i(!0), d(A, null, V(u.options || [], (m, w) => (i(), d("option", {
|
|
536
|
+
key: w,
|
|
537
537
|
value: m
|
|
538
|
-
},
|
|
539
|
-
], 40,
|
|
538
|
+
}, v(m), 9, vt))), 128))
|
|
539
|
+
], 40, pt)) : u.type === "boolean" ? (i(), d("input", {
|
|
540
540
|
key: 4,
|
|
541
|
-
id: `${e.object.id}-${
|
|
542
|
-
name: `${e.object.id}-${
|
|
541
|
+
id: `${e.object.id}-${u.name}-${s}`,
|
|
542
|
+
name: `${e.object.id}-${u.name}-${s}`,
|
|
543
543
|
type: "checkbox",
|
|
544
544
|
class: "h-4 w-4 text-blue-600 focus:ring-blue-500 border-slate-300 rounded inline-block",
|
|
545
|
-
required:
|
|
546
|
-
checked:
|
|
547
|
-
onChange: (m) => b(
|
|
548
|
-
}, null, 40,
|
|
545
|
+
required: u.mandatory,
|
|
546
|
+
checked: u.example_value,
|
|
547
|
+
onChange: (m) => b(u.name, m.target.checked)
|
|
548
|
+
}, null, 40, xt)) : S("", !0)
|
|
549
549
|
]))), 128))
|
|
550
550
|
])
|
|
551
551
|
], 2)
|
|
552
552
|
], 64));
|
|
553
553
|
}
|
|
554
|
-
}),
|
|
554
|
+
}), ht = { class: "space-y-4" }, wt = ["disabled"], yt = ["value"], Ct = { class: "space-y-3" }, $t = {
|
|
555
555
|
key: 0,
|
|
556
556
|
class: "overflow-y-auto space-y-3"
|
|
557
|
-
},
|
|
557
|
+
}, kt = { class: "block text-sm font-semibold text-slate-600 mb-2" }, St = ["onChange", "disabled"], Ft = ["value"], Pt = ["onChange", "disabled"], jt = ["onInput", "disabled", "placeholder"], Mt = ["disabled"], It = {
|
|
558
558
|
key: 0,
|
|
559
559
|
class: "animate-spin"
|
|
560
|
-
},
|
|
560
|
+
}, At = { key: 1 }, Bt = /* @__PURE__ */ W({
|
|
561
561
|
__name: "SourceFilter",
|
|
562
562
|
props: {
|
|
563
563
|
onSubmit: {
|
|
@@ -574,13 +574,13 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
574
574
|
}
|
|
575
575
|
},
|
|
576
576
|
setup(e) {
|
|
577
|
-
const o = e, b =
|
|
578
|
-
const
|
|
577
|
+
const o = e, b = C(!1), $ = C(null), p = C({}), u = Y(() => {
|
|
578
|
+
const c = o.isProduction;
|
|
579
579
|
return [
|
|
580
580
|
{
|
|
581
581
|
id: "origen1",
|
|
582
582
|
name: "El Derecho",
|
|
583
|
-
apiUrl:
|
|
583
|
+
apiUrl: c ? "https://elderecho.com/feed" : "https://led-dev-elderecho-dev.eu.els.local/feed",
|
|
584
584
|
filters: [
|
|
585
585
|
{ id: "title", label: "Título del Post", type: "text" },
|
|
586
586
|
{ id: "category", label: "Slug de la Categoría", type: "text" },
|
|
@@ -594,7 +594,7 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
594
594
|
{
|
|
595
595
|
id: "origen2",
|
|
596
596
|
name: "Formación",
|
|
597
|
-
apiUrl:
|
|
597
|
+
apiUrl: c ? "https://lefebvre.es/formacion/feed" : "http://led-dev-lefebvre-dev.eu.els.local/formacion/feed",
|
|
598
598
|
filters: [
|
|
599
599
|
{ id: "id", label: "ID del curso", type: "text" },
|
|
600
600
|
{ id: "title", label: "Título del Post", type: "text" },
|
|
@@ -606,153 +606,153 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
606
606
|
{
|
|
607
607
|
id: "origen3",
|
|
608
608
|
name: "Derecholocal",
|
|
609
|
-
apiUrl:
|
|
609
|
+
apiUrl: c ? "https://derecholocal.es/feed" : "https://led-dev-derecholocal-dev.eu.els.local/feed",
|
|
610
610
|
filters: []
|
|
611
611
|
},
|
|
612
612
|
{
|
|
613
613
|
id: "origen4",
|
|
614
614
|
name: "EspacioAsesoría",
|
|
615
|
-
apiUrl:
|
|
615
|
+
apiUrl: c ? "https://espacioasesoria.com/feed" : "https://led-dev-espacioasesoria-dev.eu.els.local/feed",
|
|
616
616
|
filters: []
|
|
617
617
|
},
|
|
618
618
|
{
|
|
619
619
|
id: "origen5",
|
|
620
620
|
name: "EspacioPymes",
|
|
621
|
-
apiUrl:
|
|
621
|
+
apiUrl: c ? "https://espaciopymes.com/feed" : "https://led-dev-espaciopymes-dev.eu.els.local/feed",
|
|
622
622
|
filters: []
|
|
623
623
|
}
|
|
624
624
|
];
|
|
625
|
-
}),
|
|
626
|
-
if (
|
|
625
|
+
}), s = Y(() => {
|
|
626
|
+
if (!$.value)
|
|
627
627
|
return [];
|
|
628
|
-
const
|
|
629
|
-
return
|
|
630
|
-
}), m = (
|
|
631
|
-
|
|
632
|
-
},
|
|
633
|
-
|
|
634
|
-
},
|
|
628
|
+
const c = u.value.find((l) => l.id === $.value);
|
|
629
|
+
return c ? c.filters : [];
|
|
630
|
+
}), m = (c, l) => {
|
|
631
|
+
p.value[c] = l;
|
|
632
|
+
}, w = () => {
|
|
633
|
+
p.value = {};
|
|
634
|
+
}, I = async () => {
|
|
635
635
|
b.value = !0;
|
|
636
|
-
const
|
|
637
|
-
if (!
|
|
636
|
+
const c = u.value.find((r) => r.id === $.value);
|
|
637
|
+
if (!c) {
|
|
638
638
|
console.error("Origen no encontrado"), b.value = !1;
|
|
639
639
|
return;
|
|
640
640
|
}
|
|
641
|
-
const l = new URL(
|
|
642
|
-
Object.keys(
|
|
643
|
-
|
|
641
|
+
const l = new URL(c.apiUrl);
|
|
642
|
+
Object.keys(p.value).forEach((r) => {
|
|
643
|
+
p.value[r] && l.searchParams.append(r, p.value[r]);
|
|
644
644
|
});
|
|
645
645
|
try {
|
|
646
|
-
const
|
|
646
|
+
const f = await (await fetch(l.toString(), {
|
|
647
647
|
method: "GET",
|
|
648
648
|
headers: {
|
|
649
649
|
Accept: "text/xml, application/xml"
|
|
650
650
|
}
|
|
651
|
-
})).text(),
|
|
652
|
-
const
|
|
653
|
-
return Array.from(n.children).forEach((
|
|
654
|
-
|
|
655
|
-
const
|
|
656
|
-
|
|
657
|
-
}) :
|
|
658
|
-
}),
|
|
651
|
+
})).text(), P = new DOMParser().parseFromString(f, "text/xml"), g = Array.from(P.querySelectorAll("item")).map((n) => {
|
|
652
|
+
const a = {};
|
|
653
|
+
return Array.from(n.children).forEach((F) => {
|
|
654
|
+
F.children.length > 0 ? Array.from(F.children).forEach((j) => {
|
|
655
|
+
const B = `${F.nodeName}_${j.nodeName}`;
|
|
656
|
+
a[B] = j.textContent || "";
|
|
657
|
+
}) : a[F.nodeName] = F.textContent || "";
|
|
658
|
+
}), a;
|
|
659
659
|
});
|
|
660
|
-
o.onSubmit(
|
|
661
|
-
} catch (
|
|
662
|
-
console.error("Error al aplicar filtros:",
|
|
660
|
+
o.onSubmit(g);
|
|
661
|
+
} catch (r) {
|
|
662
|
+
console.error("Error al aplicar filtros:", r), o.onSubmit([]);
|
|
663
663
|
} finally {
|
|
664
|
-
const
|
|
665
|
-
name:
|
|
664
|
+
const r = {
|
|
665
|
+
name: c.name,
|
|
666
666
|
url: l.toString()
|
|
667
667
|
};
|
|
668
|
-
o.updateFeedCriteria(
|
|
668
|
+
o.updateFeedCriteria(r), b.value = !1;
|
|
669
669
|
}
|
|
670
670
|
};
|
|
671
|
-
return (
|
|
671
|
+
return (c, l) => (i(), d("div", ht, [
|
|
672
672
|
t("div", null, [
|
|
673
673
|
l[1] || (l[1] = t("label", { class: "block text-sm font-semibold text-slate-600 mb-2" }, "Seleccionar origen:", -1)),
|
|
674
|
-
|
|
675
|
-
"onUpdate:modelValue": l[0] || (l[0] = (
|
|
674
|
+
O(t("select", {
|
|
675
|
+
"onUpdate:modelValue": l[0] || (l[0] = (r) => $.value = r),
|
|
676
676
|
class: "w-full px-3 py-2.5 bg-white border border-slate-200 rounded-lg shadow-sm focus:border-emerald-400 focus:ring-2 focus:ring-emerald-500/20 transition-all duration-200 disabled:bg-slate-100 disabled:cursor-not-allowed cursor-pointer",
|
|
677
|
-
onChange:
|
|
677
|
+
onChange: w,
|
|
678
678
|
disabled: b.value
|
|
679
679
|
}, [
|
|
680
|
-
(
|
|
681
|
-
key:
|
|
682
|
-
value:
|
|
683
|
-
},
|
|
684
|
-
], 40,
|
|
685
|
-
[
|
|
680
|
+
(i(!0), d(A, null, V(u.value, (r) => (i(), d("option", {
|
|
681
|
+
key: r.id,
|
|
682
|
+
value: r.id
|
|
683
|
+
}, v(r.name), 9, yt))), 128))
|
|
684
|
+
], 40, wt), [
|
|
685
|
+
[J, $.value]
|
|
686
686
|
])
|
|
687
687
|
]),
|
|
688
|
-
t("div",
|
|
689
|
-
|
|
690
|
-
(
|
|
691
|
-
key:
|
|
688
|
+
t("div", Ct, [
|
|
689
|
+
s.value.length > 0 ? (i(), d("div", $t, [
|
|
690
|
+
(i(!0), d(A, null, V(s.value, (r) => (i(), d("div", {
|
|
691
|
+
key: r.id,
|
|
692
692
|
class: "bg-gradient-to-br from-slate-50 to-white p-4 rounded-xl border border-slate-200"
|
|
693
693
|
}, [
|
|
694
|
-
t("label",
|
|
695
|
-
|
|
694
|
+
t("label", kt, v(r.label) + ":", 1),
|
|
695
|
+
r.type === "select" ? (i(), d("select", {
|
|
696
696
|
key: 0,
|
|
697
697
|
class: "w-full px-3 py-2.5 bg-white border border-slate-200 rounded-lg shadow-sm focus:border-emerald-400 focus:ring-2 focus:ring-emerald-500/20 transition-all duration-200 disabled:bg-slate-100 disabled:cursor-not-allowed cursor-pointer",
|
|
698
|
-
onChange: (
|
|
698
|
+
onChange: (f) => m(r.id, f.target.value),
|
|
699
699
|
disabled: b.value
|
|
700
700
|
}, [
|
|
701
701
|
l[2] || (l[2] = t("option", { value: "" }, "Seleccionar...", -1)),
|
|
702
|
-
(
|
|
703
|
-
key:
|
|
704
|
-
value:
|
|
705
|
-
}, f
|
|
706
|
-
], 40,
|
|
702
|
+
(i(!0), d(A, null, V(r.options, (f) => (i(), d("option", {
|
|
703
|
+
key: f,
|
|
704
|
+
value: f
|
|
705
|
+
}, v(f), 9, Ft))), 128))
|
|
706
|
+
], 40, St)) : r.type === "date" ? (i(), d("input", {
|
|
707
707
|
key: 1,
|
|
708
708
|
type: "date",
|
|
709
709
|
class: "w-full px-3 py-2.5 bg-white border border-slate-200 rounded-lg shadow-sm focus:border-emerald-400 focus:ring-2 focus:ring-emerald-500/20 transition-all duration-200 disabled:bg-slate-100 disabled:cursor-not-allowed",
|
|
710
|
-
onChange: (
|
|
710
|
+
onChange: (f) => m(r.id, f.target.value),
|
|
711
711
|
disabled: b.value
|
|
712
|
-
}, null, 40,
|
|
712
|
+
}, null, 40, Pt)) : r.type === "text" ? (i(), d("input", {
|
|
713
713
|
key: 2,
|
|
714
714
|
type: "text",
|
|
715
715
|
class: "w-full px-3 py-2.5 bg-white border border-slate-200 rounded-lg shadow-sm focus:border-emerald-400 focus:ring-2 focus:ring-emerald-500/20 transition-all duration-200 disabled:bg-slate-100 disabled:cursor-not-allowed",
|
|
716
|
-
onInput: (
|
|
716
|
+
onInput: (f) => m(r.id, f.target.value),
|
|
717
717
|
disabled: b.value,
|
|
718
|
-
placeholder:
|
|
719
|
-
}, null, 40,
|
|
718
|
+
placeholder: r.label
|
|
719
|
+
}, null, 40, jt)) : S("", !0)
|
|
720
720
|
]))), 128))
|
|
721
|
-
])) :
|
|
721
|
+
])) : S("", !0),
|
|
722
722
|
t("button", {
|
|
723
723
|
type: "button",
|
|
724
|
-
onClick:
|
|
724
|
+
onClick: I,
|
|
725
725
|
class: "cursor-pointer w-full bg-gradient-to-r from-emerald-500 to-teal-500 text-white font-semibold px-4 py-3 rounded-xl shadow-md hover:from-emerald-600 hover:to-teal-600 hover:shadow-lg transform hover:-translate-y-0.5 transition-all duration-200 disabled:from-slate-300 disabled:to-slate-400 disabled:cursor-not-allowed disabled:transform-none disabled:shadow-none flex items-center justify-center gap-2",
|
|
726
726
|
disabled: b.value
|
|
727
727
|
}, [
|
|
728
|
-
b.value ? (
|
|
729
|
-
|
|
730
|
-
], 8,
|
|
728
|
+
b.value ? (i(), d("span", It, "⏳")) : (i(), d("span", At, "🔍")),
|
|
729
|
+
E(" " + v(b.value ? "Conectando con el feed..." : "Aplicar Filtros"), 1)
|
|
730
|
+
], 8, Mt)
|
|
731
731
|
])
|
|
732
732
|
]));
|
|
733
733
|
}
|
|
734
|
-
}),
|
|
734
|
+
}), Et = { class: "fixed top-0 left-0 w-full h-full bg-gradient-to-br from-slate-50 via-white to-slate-100 flex flex-col z-9999 p-6" }, Tt = { class: "w-full flex justify-between items-center mb-4" }, Dt = { class: "w-full flex-1 bg-white/60 rounded-2xl flex gap-5 p-5 overflow-hidden backdrop-blur-sm border border-slate-200 shadow-inner" }, Ot = { class: "flex-1 flex flex-col gap-5" }, Rt = { class: "flex flex-col bg-white rounded-2xl shadow-lg border border-slate-200 p-5 overflow-y-auto" }, Vt = {
|
|
735
735
|
key: 0,
|
|
736
736
|
class: "mb-4 p-4 bg-gradient-to-br from-emerald-50 to-teal-50 rounded-xl border border-emerald-200 w-full flex-shrink-0 text-sm font-medium text-emerald-700"
|
|
737
|
-
},
|
|
737
|
+
}, zt = { class: "list-none mt-3 space-y-2 text-slate-600" }, Nt = { class: "flex items-start gap-2" }, Ut = { class: "font-semibold text-slate-700" }, qt = { class: "flex items-start gap-2" }, Lt = { class: "font-semibold text-slate-700" }, Gt = { class: "font-semibold text-slate-700" }, Ht = { class: "flex items-start gap-2" }, Jt = { class: "flex flex-wrap gap-2 mt-1" }, Wt = { class: "font-semibold text-slate-700" }, Yt = { class: "text-emerald-600" }, Kt = { class: "flex flex-col gap-4 w-full" }, Qt = { class: "flex items-center gap-3 cursor-pointer group" }, Xt = {
|
|
738
738
|
key: 0,
|
|
739
739
|
class: "flex flex-col gap-4 ml-8 p-4 bg-gradient-to-br from-slate-50 to-white rounded-xl border border-slate-200"
|
|
740
|
-
},
|
|
740
|
+
}, Zt = { class: "flex flex-col gap-2" }, _t = { class: "flex flex-col gap-2" }, eo = { class: "flex-1 flex flex-col bg-white rounded-2xl shadow-lg border border-slate-200 p-5 overflow-y-auto" }, to = { class: "flex-1 flex flex-col bg-white rounded-2xl shadow-lg border border-slate-200 p-5 overflow-y-auto" }, oo = {
|
|
741
741
|
key: 0,
|
|
742
742
|
class: "flex-1 flex flex-col items-center justify-center text-slate-400"
|
|
743
|
-
},
|
|
743
|
+
}, no = {
|
|
744
744
|
key: 1,
|
|
745
745
|
class: "space-y-3"
|
|
746
|
-
},
|
|
746
|
+
}, lo = ["onClick"], ao = { class: "font-bold text-slate-800 mb-2" }, ro = { class: "text-sm text-slate-600 line-clamp-2" }, so = { class: "flex-1 flex flex-col bg-white rounded-2xl shadow-lg border border-slate-200 p-5 overflow-y-auto" }, io = {
|
|
747
747
|
key: 0,
|
|
748
748
|
class: "flex-1 flex flex-col items-center justify-center text-slate-400"
|
|
749
|
-
},
|
|
749
|
+
}, uo = {
|
|
750
750
|
key: 1,
|
|
751
751
|
class: "space-y-3"
|
|
752
|
-
},
|
|
752
|
+
}, co = { class: "block text-sm font-bold text-slate-700 mb-2 flex items-center gap-2" }, mo = ["onUpdate:modelValue"], bo = ["value"], go = {
|
|
753
753
|
key: 0,
|
|
754
754
|
class: "mt-3 p-3 bg-gradient-to-br from-emerald-50 to-teal-50 rounded-lg border border-emerald-200"
|
|
755
|
-
},
|
|
755
|
+
}, fo = { class: "mt-1 text-sm font-medium text-slate-700 break-words" }, po = /* @__PURE__ */ W({
|
|
756
756
|
__name: "FeedComponent",
|
|
757
757
|
props: {
|
|
758
758
|
object: {
|
|
@@ -773,155 +773,164 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
773
773
|
}
|
|
774
774
|
},
|
|
775
775
|
setup(e) {
|
|
776
|
-
const o = e, b =
|
|
777
|
-
b.value =
|
|
778
|
-
},
|
|
779
|
-
|
|
776
|
+
const o = e, b = C(null), $ = C(null), p = C(!1), u = C(1), s = C("horizontal"), m = C({}), w = C(null), I = (g) => {
|
|
777
|
+
b.value = g;
|
|
778
|
+
}, c = (g) => {
|
|
779
|
+
$.value = g;
|
|
780
780
|
}, l = () => {
|
|
781
|
-
const
|
|
782
|
-
var
|
|
781
|
+
const g = o.object.fields.filter((n) => n.mappedTo).map((n) => {
|
|
782
|
+
var a;
|
|
783
783
|
return {
|
|
784
784
|
fieldName: n.name,
|
|
785
785
|
mappedTo: n.mappedTo,
|
|
786
|
-
value: ((
|
|
786
|
+
value: ((a = $.value) == null ? void 0 : a[n.mappedTo]) ?? null
|
|
787
787
|
};
|
|
788
788
|
});
|
|
789
|
-
|
|
789
|
+
w.value = {
|
|
790
790
|
...m.value,
|
|
791
|
-
dynamicUpdate:
|
|
792
|
-
elementCount:
|
|
793
|
-
orientation:
|
|
794
|
-
mapping:
|
|
795
|
-
}, o.updateObjectByFeedContent && o.updateObjectByFeedContent(
|
|
796
|
-
},
|
|
797
|
-
m.value =
|
|
798
|
-
},
|
|
799
|
-
var
|
|
800
|
-
(
|
|
791
|
+
dynamicUpdate: p.value,
|
|
792
|
+
elementCount: u.value,
|
|
793
|
+
orientation: s.value,
|
|
794
|
+
mapping: g.map(({ fieldName: n, mappedTo: a }) => ({ fieldName: n, mappedTo: a }))
|
|
795
|
+
}, o.updateObjectByFeedContent && o.updateObjectByFeedContent(g, w.value), o.toggleFeedSection();
|
|
796
|
+
}, r = (g) => {
|
|
797
|
+
m.value = g;
|
|
798
|
+
}, f = () => {
|
|
799
|
+
var g;
|
|
800
|
+
(g = o.object) != null && g.repeat_data && (w.value = o.object.repeat_data, p.value = o.object.repeat_data.dynamicUpdate || !1, u.value = o.object.repeat_data.elementCount || 1, s.value = o.object.repeat_data.orientation || "horizontal", m.value = {
|
|
801
801
|
name: o.object.repeat_data.name,
|
|
802
802
|
url: o.object.repeat_data.url
|
|
803
803
|
});
|
|
804
|
-
},
|
|
805
|
-
|
|
806
|
-
},
|
|
807
|
-
var
|
|
808
|
-
|
|
809
|
-
...
|
|
810
|
-
dynamicUpdate:
|
|
811
|
-
elementCount:
|
|
812
|
-
orientation:
|
|
813
|
-
}, o.updateObjectByFeedContent && o.updateObjectByFeedContent(((
|
|
804
|
+
}, R = () => {
|
|
805
|
+
w.value = null, p.value = !1, u.value = 1, s.value = "horizontal", m.value = {}, o.updateObjectByFeedContent && o.updateObjectByFeedContent([], null);
|
|
806
|
+
}, P = () => {
|
|
807
|
+
var g;
|
|
808
|
+
w.value && (w.value = {
|
|
809
|
+
...w.value,
|
|
810
|
+
dynamicUpdate: p.value,
|
|
811
|
+
elementCount: u.value,
|
|
812
|
+
orientation: s.value
|
|
813
|
+
}, o.updateObjectByFeedContent && o.updateObjectByFeedContent(((g = w.value.mapping) == null ? void 0 : g.map((n) => ({
|
|
814
814
|
fieldName: n.fieldName,
|
|
815
815
|
mappedTo: n.mappedTo,
|
|
816
816
|
value: null
|
|
817
|
-
}))) || [],
|
|
817
|
+
}))) || [], w.value));
|
|
818
818
|
};
|
|
819
819
|
return ae(() => {
|
|
820
|
-
|
|
821
|
-
}), (
|
|
822
|
-
t("div",
|
|
823
|
-
n[5] || (n[5] = t("h2", { class: "text-
|
|
824
|
-
t("span", { class: "text-
|
|
825
|
-
|
|
820
|
+
f();
|
|
821
|
+
}), (g, n) => (i(), d("div", Et, [
|
|
822
|
+
t("div", Tt, [
|
|
823
|
+
n[5] || (n[5] = t("h2", { class: "text-xl font-bold bg-gradient-to-r from-slate-700 to-slate-500 bg-clip-text text-transparent flex items-center gap-3" }, [
|
|
824
|
+
t("span", { class: "text-xl" }, "🍺"),
|
|
825
|
+
E(" Configuración de Feed ")
|
|
826
826
|
], -1)),
|
|
827
827
|
t("button", {
|
|
828
828
|
onClick: n[0] || (n[0] = //@ts-ignore
|
|
829
|
-
(...
|
|
829
|
+
(...a) => e.toggleFeedSection && e.toggleFeedSection(...a)),
|
|
830
830
|
class: "cursor-pointer group w-10 h-10 flex items-center justify-center bg-white hover:bg-red-50 border border-red-200 hover:border-red-400 text-red-400 hover:text-red-600 rounded-full font-semibold shadow-sm hover:shadow-lg transition-all duration-200"
|
|
831
831
|
}, [...n[4] || (n[4] = [
|
|
832
832
|
t("span", { class: "text-lg" }, "✕", -1)
|
|
833
833
|
])])
|
|
834
834
|
]),
|
|
835
|
-
t("div",
|
|
836
|
-
t("div",
|
|
837
|
-
t("div",
|
|
838
|
-
|
|
835
|
+
t("div", Dt, [
|
|
836
|
+
t("div", Ot, [
|
|
837
|
+
t("div", Rt, [
|
|
838
|
+
w.value && w.value.dynamicUpdate ? (i(), d("div", Vt, [
|
|
839
839
|
t("div", { class: "flex justify-between items-start" }, [
|
|
840
840
|
n[8] || (n[8] = t("p", { class: "flex items-center gap-2" }, [
|
|
841
841
|
t("span", { class: "text-emerald-500" }, "✓"),
|
|
842
|
-
|
|
842
|
+
E(" Hay un criterio de feed establecido: ")
|
|
843
843
|
], -1)),
|
|
844
844
|
t("div", { class: "flex items-center gap-2" }, [
|
|
845
845
|
t("button", {
|
|
846
|
-
onClick:
|
|
846
|
+
onClick: P,
|
|
847
847
|
class: "cursor-pointer px-3 py-1.5 bg-white hover:bg-emerald-50 text-emerald-500 hover:text-emerald-600 border border-emerald-200 hover:border-emerald-300 rounded-lg text-xs font-semibold transition-all duration-200 flex items-center gap-1 shadow-sm"
|
|
848
848
|
}, [...n[6] || (n[6] = [
|
|
849
849
|
t("span", null, "💾", -1),
|
|
850
|
-
|
|
850
|
+
E(" Guardar ", -1)
|
|
851
851
|
])]),
|
|
852
852
|
t("button", {
|
|
853
|
-
onClick:
|
|
853
|
+
onClick: R,
|
|
854
854
|
class: "cursor-pointer px-3 py-1.5 bg-white hover:bg-red-50 text-red-500 hover:text-red-600 border border-red-200 hover:border-red-300 rounded-lg text-xs font-semibold transition-all duration-200 flex items-center gap-1 shadow-sm"
|
|
855
855
|
}, [...n[7] || (n[7] = [
|
|
856
856
|
t("span", null, "✕", -1),
|
|
857
|
-
|
|
857
|
+
E(" Borrar ", -1)
|
|
858
858
|
])])
|
|
859
859
|
])
|
|
860
860
|
]),
|
|
861
|
-
t("ul",
|
|
861
|
+
t("ul", zt, [
|
|
862
862
|
t("li", Nt, [
|
|
863
863
|
n[9] || (n[9] = t("span", { class: "text-emerald-400" }, "→", -1)),
|
|
864
|
-
n[10] || (n[10] =
|
|
865
|
-
t("span",
|
|
864
|
+
n[10] || (n[10] = E(" Conectar con ", -1)),
|
|
865
|
+
t("span", Ut, v(w.value.name), 1)
|
|
866
866
|
]),
|
|
867
|
-
t("li",
|
|
867
|
+
t("li", qt, [
|
|
868
868
|
n[11] || (n[11] = t("span", { class: "text-emerald-400" }, "→", -1)),
|
|
869
|
-
n[12] || (n[12] =
|
|
870
|
-
t("span",
|
|
871
|
-
n[13] || (n[13] =
|
|
872
|
-
t("span",
|
|
873
|
-
n[14] || (n[14] =
|
|
869
|
+
n[12] || (n[12] = E(" Recuperar ", -1)),
|
|
870
|
+
t("span", Lt, v(w.value.elementCount), 1),
|
|
871
|
+
n[13] || (n[13] = E(" items (", -1)),
|
|
872
|
+
t("span", Gt, v(w.value.orientation), 1),
|
|
873
|
+
n[14] || (n[14] = E(")", -1))
|
|
874
874
|
]),
|
|
875
|
-
t("li",
|
|
875
|
+
t("li", Ht, [
|
|
876
876
|
n[17] || (n[17] = t("span", { class: "text-emerald-400" }, "→", -1)),
|
|
877
877
|
t("div", null, [
|
|
878
|
-
n[16] || (n[16] =
|
|
879
|
-
t("div",
|
|
880
|
-
(
|
|
881
|
-
key:
|
|
878
|
+
n[16] || (n[16] = E(" Mapeo: ", -1)),
|
|
879
|
+
t("div", Jt, [
|
|
880
|
+
(i(!0), d(A, null, V(w.value.mapping, (a, F) => (i(), d("span", {
|
|
881
|
+
key: F,
|
|
882
882
|
class: "inline-flex items-center gap-1 px-2 py-0.5 bg-white rounded-full text-xs border border-slate-200"
|
|
883
883
|
}, [
|
|
884
|
-
t("span",
|
|
884
|
+
t("span", Wt, v(a.fieldName), 1),
|
|
885
885
|
n[15] || (n[15] = t("span", { class: "text-slate-400" }, "←", -1)),
|
|
886
|
-
t("span",
|
|
886
|
+
t("span", Yt, v(a.mappedTo), 1)
|
|
887
887
|
]))), 128))
|
|
888
888
|
])
|
|
889
889
|
])
|
|
890
890
|
])
|
|
891
891
|
])
|
|
892
|
-
])) :
|
|
893
|
-
t("div",
|
|
894
|
-
t("label",
|
|
895
|
-
|
|
892
|
+
])) : S("", !0),
|
|
893
|
+
t("div", Kt, [
|
|
894
|
+
t("label", Qt, [
|
|
895
|
+
O(t("input", {
|
|
896
896
|
type: "checkbox",
|
|
897
|
-
"onUpdate:modelValue": n[1] || (n[1] = (
|
|
897
|
+
"onUpdate:modelValue": n[1] || (n[1] = (a) => p.value = a),
|
|
898
898
|
class: "w-5 h-5 text-emerald-500 border-2 border-slate-300 rounded focus:ring-emerald-500 cursor-pointer"
|
|
899
899
|
}, null, 512), [
|
|
900
|
-
[ne,
|
|
900
|
+
[ne, p.value]
|
|
901
901
|
]),
|
|
902
902
|
n[18] || (n[18] = t("span", { class: "font-medium text-slate-700 group-hover:text-slate-900 transition-colors" }, "Actualizar dinámicamente según criterios del feed", -1))
|
|
903
903
|
]),
|
|
904
|
-
|
|
905
|
-
t("div",
|
|
904
|
+
p.value ? (i(), d("div", Xt, [
|
|
905
|
+
n[22] || (n[22] = t("div", { class: "p-3 bg-gradient-to-r from-amber-50 to-yellow-50 rounded-lg border border-amber-200 text-sm text-amber-700" }, [
|
|
906
|
+
t("div", { class: "flex items-start gap-2" }, [
|
|
907
|
+
t("span", { class: "text-amber-500 mt-0.5" }, "ℹ️"),
|
|
908
|
+
t("p", null, [
|
|
909
|
+
t("strong", null, "Nota:"),
|
|
910
|
+
E(" Los valores que verás al relacionar campos son solo un ejemplo de referencia. En el momento de renderizar, se mostrarán los datos reales obtenidos del feed según los criterios configurados. ")
|
|
911
|
+
])
|
|
912
|
+
])
|
|
913
|
+
], -1)),
|
|
914
|
+
t("div", Zt, [
|
|
906
915
|
n[19] || (n[19] = t("label", { class: "text-sm font-semibold text-slate-600" }, "Cantidad de elementos:", -1)),
|
|
907
|
-
|
|
916
|
+
O(t("input", {
|
|
908
917
|
type: "number",
|
|
909
|
-
"onUpdate:modelValue": n[2] || (n[2] = (
|
|
918
|
+
"onUpdate:modelValue": n[2] || (n[2] = (a) => u.value = a),
|
|
910
919
|
min: "1",
|
|
911
920
|
class: "w-32 px-3 py-2 border border-slate-200 rounded-lg focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-400 transition-colors"
|
|
912
921
|
}, null, 512), [
|
|
913
922
|
[
|
|
914
|
-
|
|
915
|
-
|
|
923
|
+
Q,
|
|
924
|
+
u.value,
|
|
916
925
|
void 0,
|
|
917
926
|
{ number: !0 }
|
|
918
927
|
]
|
|
919
928
|
])
|
|
920
929
|
]),
|
|
921
|
-
t("div",
|
|
930
|
+
t("div", _t, [
|
|
922
931
|
n[21] || (n[21] = t("label", { class: "text-sm font-semibold text-slate-600" }, "Orientación:", -1)),
|
|
923
|
-
|
|
924
|
-
"onUpdate:modelValue": n[3] || (n[3] = (
|
|
932
|
+
O(t("select", {
|
|
933
|
+
"onUpdate:modelValue": n[3] || (n[3] = (a) => s.value = a),
|
|
925
934
|
class: "w-48 px-3 py-2 border border-slate-200 rounded-lg focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-400 bg-white transition-colors cursor-pointer"
|
|
926
935
|
}, [...n[20] || (n[20] = [
|
|
927
936
|
t("option", {
|
|
@@ -930,117 +939,117 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
930
939
|
}, "Horizontal", -1),
|
|
931
940
|
t("option", { value: "vertical" }, "Vertical", -1)
|
|
932
941
|
])], 512), [
|
|
933
|
-
[
|
|
942
|
+
[J, s.value]
|
|
934
943
|
])
|
|
935
944
|
])
|
|
936
|
-
])) :
|
|
945
|
+
])) : S("", !0)
|
|
937
946
|
])
|
|
938
947
|
]),
|
|
939
|
-
t("div",
|
|
940
|
-
n[
|
|
948
|
+
t("div", eo, [
|
|
949
|
+
n[23] || (n[23] = t("h3", { class: "text-lg font-bold mb-5 text-slate-700 pb-2 flex items-center gap-2 border-b border-slate-100" }, [
|
|
941
950
|
t("span", { class: "text-xl" }, "🔍"),
|
|
942
|
-
|
|
951
|
+
E(" Orígenes y Filtros ")
|
|
943
952
|
], -1)),
|
|
944
|
-
L(
|
|
945
|
-
onSubmit:
|
|
946
|
-
updateFeedCriteria:
|
|
953
|
+
L(Bt, {
|
|
954
|
+
onSubmit: I,
|
|
955
|
+
updateFeedCriteria: r,
|
|
947
956
|
isProduction: e.isProduction
|
|
948
957
|
}, null, 8, ["isProduction"])
|
|
949
958
|
])
|
|
950
959
|
]),
|
|
951
|
-
t("div",
|
|
952
|
-
n[
|
|
960
|
+
t("div", to, [
|
|
961
|
+
n[25] || (n[25] = t("h3", { class: "text-lg font-bold mb-5 text-slate-700 pb-2 flex items-center gap-2 border-b border-slate-100" }, [
|
|
953
962
|
t("span", { class: "text-xl" }, "📰"),
|
|
954
|
-
|
|
963
|
+
E(" Contenidos ")
|
|
955
964
|
], -1)),
|
|
956
|
-
!b.value || b.value.length === 0 ? (
|
|
965
|
+
!b.value || b.value.length === 0 ? (i(), d("div", oo, [...n[24] || (n[24] = [
|
|
957
966
|
t("span", { class: "text-5xl mb-3 opacity-50" }, "📭", -1),
|
|
958
|
-
t("p", { class: "text-sm font-medium" }, "No hay
|
|
959
|
-
t("p", { class: "text-xs mt-1 text-slate-300" }, "Selecciona un origen para cargar
|
|
960
|
-
])])) : (
|
|
961
|
-
(
|
|
962
|
-
key:
|
|
967
|
+
t("p", { class: "text-sm font-medium" }, "No hay contenidos disponibles", -1),
|
|
968
|
+
t("p", { class: "text-xs mt-1 text-slate-300" }, "Selecciona un origen para cargar contenidos", -1)
|
|
969
|
+
])])) : (i(), d("ul", no, [
|
|
970
|
+
(i(!0), d(A, null, V(b.value, (a, F) => (i(), d("li", {
|
|
971
|
+
key: F,
|
|
963
972
|
class: "p-4 bg-gradient-to-br from-slate-50 to-white rounded-xl shadow-sm hover:shadow-md cursor-pointer hover:scale-[1.01] transition-all duration-200 border border-slate-200 hover:border-emerald-300",
|
|
964
|
-
onClick: (
|
|
973
|
+
onClick: (j) => c(a)
|
|
965
974
|
}, [
|
|
966
|
-
t("h4",
|
|
967
|
-
t("p",
|
|
968
|
-
], 8,
|
|
975
|
+
t("h4", ao, v(a.title || a.titulo || "Sin título"), 1),
|
|
976
|
+
t("p", ro, v(a.description || a.descripcion || a.content || "Sin descripción"), 1)
|
|
977
|
+
], 8, lo))), 128))
|
|
969
978
|
]))
|
|
970
979
|
]),
|
|
971
|
-
t("div",
|
|
972
|
-
n[
|
|
980
|
+
t("div", so, [
|
|
981
|
+
n[31] || (n[31] = t("h3", { class: "text-lg font-bold mb-5 text-slate-700 pb-2 flex items-center gap-2 border-b border-slate-100" }, [
|
|
973
982
|
t("span", { class: "text-xl" }, "🔗"),
|
|
974
|
-
|
|
983
|
+
E(" Relacionar Contenido ")
|
|
975
984
|
], -1)),
|
|
976
|
-
|
|
977
|
-
(
|
|
978
|
-
key:
|
|
985
|
+
$.value ? (i(), d("div", uo, [
|
|
986
|
+
(i(!0), d(A, null, V(e.object.fields, (a, F) => (i(), d("div", {
|
|
987
|
+
key: F,
|
|
979
988
|
class: "p-4 bg-gradient-to-br from-slate-50 to-white rounded-xl border border-slate-200"
|
|
980
989
|
}, [
|
|
981
|
-
t("label",
|
|
982
|
-
n[
|
|
983
|
-
|
|
990
|
+
t("label", co, [
|
|
991
|
+
n[27] || (n[27] = t("span", { class: "text-base" }, "⚙️", -1)),
|
|
992
|
+
E(" " + v(a.name), 1)
|
|
984
993
|
]),
|
|
985
|
-
|
|
986
|
-
"onUpdate:modelValue": (
|
|
994
|
+
O(t("select", {
|
|
995
|
+
"onUpdate:modelValue": (j) => a.mappedTo = j,
|
|
987
996
|
class: "w-full px-3 py-2.5 border border-slate-200 rounded-lg focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-400 transition-all bg-white cursor-pointer"
|
|
988
997
|
}, [
|
|
989
|
-
n[
|
|
990
|
-
(
|
|
991
|
-
key:
|
|
992
|
-
value:
|
|
993
|
-
},
|
|
994
|
-
], 8,
|
|
995
|
-
[
|
|
998
|
+
n[28] || (n[28] = t("option", { value: "" }, "-- Seleccionar campo --", -1)),
|
|
999
|
+
(i(!0), d(A, null, V($.value, (j, B) => (i(), d("option", {
|
|
1000
|
+
key: B,
|
|
1001
|
+
value: B
|
|
1002
|
+
}, v(B), 9, bo))), 128))
|
|
1003
|
+
], 8, mo), [
|
|
1004
|
+
[J, a.mappedTo]
|
|
996
1005
|
]),
|
|
997
|
-
|
|
998
|
-
n[
|
|
999
|
-
t("p",
|
|
1000
|
-
])) :
|
|
1006
|
+
a.mappedTo ? (i(), d("div", go, [
|
|
1007
|
+
n[29] || (n[29] = t("span", { class: "text-xs font-semibold text-emerald-600 uppercase tracking-wide" }, "Vista previa:", -1)),
|
|
1008
|
+
t("p", fo, v($.value[a.mappedTo]), 1)
|
|
1009
|
+
])) : S("", !0)
|
|
1001
1010
|
]))), 128)),
|
|
1002
1011
|
t("button", {
|
|
1003
1012
|
onClick: l,
|
|
1004
1013
|
class: "cursor-pointer w-full mt-4 px-5 py-3 bg-gradient-to-r from-emerald-500 to-teal-500 hover:from-emerald-600 hover:to-teal-600 text-white font-semibold rounded-xl shadow-md hover:shadow-lg transition-all duration-200 transform hover:scale-[1.01] flex items-center justify-center gap-2"
|
|
1005
|
-
}, [...n[
|
|
1014
|
+
}, [...n[30] || (n[30] = [
|
|
1006
1015
|
t("span", { class: "text-lg" }, "✓", -1),
|
|
1007
1016
|
t("span", null, "Alimentar el componente", -1)
|
|
1008
1017
|
])])
|
|
1009
|
-
])) : (
|
|
1018
|
+
])) : (i(), d("div", io, [...n[26] || (n[26] = [
|
|
1010
1019
|
t("span", { class: "text-5xl mb-3 opacity-50" }, "👆", -1),
|
|
1011
1020
|
t("p", { class: "text-sm font-medium text-center" }, [
|
|
1012
|
-
|
|
1021
|
+
E("Selecciona un contenido"),
|
|
1013
1022
|
t("br"),
|
|
1014
|
-
|
|
1023
|
+
E("para relacionar")
|
|
1015
1024
|
], -1)
|
|
1016
1025
|
])]))
|
|
1017
1026
|
])
|
|
1018
1027
|
])
|
|
1019
1028
|
]));
|
|
1020
1029
|
}
|
|
1021
|
-
}),
|
|
1030
|
+
}), vo = { class: "absolute -top-2.5 left-3 text-[11px] font-medium tracking-wide bg-gradient-to-r from-slate-700 to-slate-600 text-white px-3 py-0.5 rounded-full shadow-sm" }, xo = { class: "w-full text-right flex justify-between items-center mt-1" }, ho = { class: "flex gap-3 items-center" }, wo = { class: "bg-rose-50 border border-rose-200 text-rose-500 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider rounded-md" }, yo = {
|
|
1022
1031
|
key: 0,
|
|
1023
1032
|
class: "flex-1 flex justify-center"
|
|
1024
|
-
},
|
|
1033
|
+
}, Co = { class: "flex justify-end items-center gap-3" }, $o = { class: "bg-violet-50 border border-violet-200 text-violet-600 rounded-md px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider" }, ko = {
|
|
1025
1034
|
key: 0,
|
|
1026
1035
|
class: "flex gap-1 bg-slate-50 rounded-lg p-1"
|
|
1027
|
-
},
|
|
1036
|
+
}, So = {
|
|
1028
1037
|
key: 0,
|
|
1029
1038
|
class: "text-[10px] bg-amber-100 text-amber-700 px-1.5 rounded-full font-medium"
|
|
1030
|
-
},
|
|
1039
|
+
}, Fo = { class: "mt-2 flex items-center" }, Po = { class: "font-medium text-slate-700" }, jo = { key: 0 }, Mo = { key: 1 }, Io = {
|
|
1031
1040
|
key: 0,
|
|
1032
1041
|
class: "mt-3 p-3 bg-gradient-to-r from-sky-50 to-blue-50 rounded-lg text-sm text-slate-600 border border-sky-100"
|
|
1033
|
-
},
|
|
1042
|
+
}, Ao = { class: "mt-3 flex gap-1.5 flex-wrap" }, Bo = { class: "absolute top-0 left-0 w-full h-full opacity-0 group-hover:opacity-100 bg-gradient-to-br from-white/90 via-slate-50/95 to-slate-100/90 backdrop-blur-[2px] z-99 transition-all duration-300 rounded-xl" }, Eo = { class: "absolute top-2 right-2 group/info z-10" }, To = { class: "absolute top-6 right-0 w-64 p-3 bg-white rounded-lg shadow-lg border border-slate-200 opacity-0 invisible group-hover/info:opacity-100 group-hover/info:visible transition-all duration-200 text-xs text-slate-600 leading-relaxed" }, Do = { class: "flex justify-center h-full items-center p-4 gap-3" }, Oo = {
|
|
1034
1043
|
key: 0,
|
|
1035
1044
|
title: "Mover componente",
|
|
1036
1045
|
class: "handle cursor-grab flex items-center bg-white border border-slate-200 px-4 py-2 rounded-xl hover:bg-slate-700 hover:border-slate-700 hover:text-white shadow-sm hover:shadow-md transition-all duration-200 group/btn"
|
|
1037
|
-
},
|
|
1046
|
+
}, Ro = {
|
|
1038
1047
|
key: 1,
|
|
1039
1048
|
class: "flex-1 flex justify-center items-center"
|
|
1040
|
-
},
|
|
1049
|
+
}, Vo = { class: "flex flex-col items-center" }, zo = {
|
|
1041
1050
|
key: 0,
|
|
1042
1051
|
class: "text-[10px] mt-0.5 opacity-70"
|
|
1043
|
-
},
|
|
1052
|
+
}, No = ["id"], be = /* @__PURE__ */ W({
|
|
1044
1053
|
__name: "InitialComponent",
|
|
1045
1054
|
props: {
|
|
1046
1055
|
object: {
|
|
@@ -1064,91 +1073,91 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1064
1073
|
}
|
|
1065
1074
|
},
|
|
1066
1075
|
setup(e) {
|
|
1067
|
-
const o = e, b = Math.random().toString(36).substring(2, 15),
|
|
1076
|
+
const o = e, b = Math.random().toString(36).substring(2, 15), $ = C(!1), p = C(!1), u = C(null), s = C(null), m = C(!1), w = C(!1);
|
|
1068
1077
|
oe(() => o.isComponentMode, (n) => {
|
|
1069
|
-
n ||
|
|
1078
|
+
n || I();
|
|
1070
1079
|
}), oe(() => o.object, () => {
|
|
1071
|
-
|
|
1080
|
+
I();
|
|
1072
1081
|
}, { deep: !0 }), oe(m, async (n) => {
|
|
1073
|
-
n && (await
|
|
1082
|
+
n && (await ve(), g());
|
|
1074
1083
|
});
|
|
1075
|
-
const
|
|
1076
|
-
|
|
1077
|
-
|
|
1084
|
+
const I = () => {
|
|
1085
|
+
u.value && clearTimeout(u.value), u.value = setTimeout(() => {
|
|
1086
|
+
g();
|
|
1078
1087
|
}, 500);
|
|
1079
|
-
},
|
|
1088
|
+
}, c = () => {
|
|
1080
1089
|
if (o.isComponentMode) return;
|
|
1081
|
-
const n = new IntersectionObserver((
|
|
1082
|
-
|
|
1083
|
-
|
|
1090
|
+
const n = new IntersectionObserver((a) => {
|
|
1091
|
+
a.forEach((F) => {
|
|
1092
|
+
F.isIntersecting && !m.value && (m.value = !0, n.disconnect());
|
|
1084
1093
|
});
|
|
1085
1094
|
}, { threshold: 0.1 });
|
|
1086
|
-
|
|
1087
|
-
}, l = (n,
|
|
1088
|
-
const
|
|
1089
|
-
|
|
1090
|
-
},
|
|
1091
|
-
n.forEach((
|
|
1092
|
-
|
|
1093
|
-
}), o.object.repeat_data =
|
|
1094
|
-
},
|
|
1095
|
-
|
|
1096
|
-
},
|
|
1097
|
-
|
|
1098
|
-
},
|
|
1099
|
-
|
|
1100
|
-
const
|
|
1101
|
-
if (!
|
|
1095
|
+
s.value && n.observe(s.value);
|
|
1096
|
+
}, l = (n, a) => {
|
|
1097
|
+
const F = (o.object.fields || []).find((j) => j.name === n);
|
|
1098
|
+
F && (F.example_value = a);
|
|
1099
|
+
}, r = (n, a) => {
|
|
1100
|
+
n.forEach((F) => {
|
|
1101
|
+
F.value !== void 0 && l(F.fieldName, F.value);
|
|
1102
|
+
}), o.object.repeat_data = a;
|
|
1103
|
+
}, f = () => {
|
|
1104
|
+
p.value = !p.value;
|
|
1105
|
+
}, R = () => {
|
|
1106
|
+
w.value = !w.value;
|
|
1107
|
+
}, P = () => {
|
|
1108
|
+
g(!0).then((n) => {
|
|
1109
|
+
const a = window.open("", "Preview", "width=1200,height=800");
|
|
1110
|
+
if (!a) {
|
|
1102
1111
|
alert("El navegador bloqueó la ventana emergente. Por favor, permite los popups para este sitio.");
|
|
1103
1112
|
return;
|
|
1104
1113
|
}
|
|
1105
|
-
|
|
1106
|
-
var
|
|
1107
|
-
const
|
|
1108
|
-
|
|
1109
|
-
}),
|
|
1114
|
+
a.document.body.innerHTML = n, a.document.querySelectorAll("script").forEach((j) => {
|
|
1115
|
+
var N;
|
|
1116
|
+
const B = a.document.createElement("script");
|
|
1117
|
+
j.src ? B.src = j.src : B.textContent = j.textContent, (N = j.parentNode) == null || N.replaceChild(B, j);
|
|
1118
|
+
}), a.document.close();
|
|
1110
1119
|
});
|
|
1111
|
-
},
|
|
1112
|
-
var
|
|
1113
|
-
if (!((
|
|
1114
|
-
const
|
|
1120
|
+
}, g = (n = !1) => {
|
|
1121
|
+
var j;
|
|
1122
|
+
if (!((j = o.object) != null && j.category) || o.object.category === "Repetidor") {
|
|
1123
|
+
const B = '<div style="color:white; padding: 1em 2em;background-color:#001978;border-radius:1em;border:4px solid #711978;">Componente que contiene elementos repetidos: TODO: GENERAR PREVIEW DE REPETIDORES</div>';
|
|
1115
1124
|
if (n)
|
|
1116
|
-
return Promise.resolve(
|
|
1117
|
-
const
|
|
1118
|
-
return
|
|
1125
|
+
return Promise.resolve(B);
|
|
1126
|
+
const N = document.getElementById(b);
|
|
1127
|
+
return N && (N.innerHTML = B), Promise.resolve("");
|
|
1119
1128
|
}
|
|
1120
|
-
const
|
|
1121
|
-
return fetch(
|
|
1129
|
+
const a = o.renderApiDomain ? o.renderApiDomain + "/api/preview-comp/" : "http://localhost:8003/api/preview-comp/", F = JSON.stringify({ obj: o.object }, null, 2);
|
|
1130
|
+
return fetch(a, {
|
|
1122
1131
|
method: "POST",
|
|
1123
1132
|
headers: { "Content-Type": "application/json" },
|
|
1124
|
-
body:
|
|
1125
|
-
}).then((
|
|
1133
|
+
body: F
|
|
1134
|
+
}).then((B) => B.text()).then((B) => {
|
|
1126
1135
|
if (n)
|
|
1127
|
-
return
|
|
1128
|
-
const
|
|
1129
|
-
return
|
|
1136
|
+
return B;
|
|
1137
|
+
const N = document.getElementById(b);
|
|
1138
|
+
return N && (N.innerHTML = B), "";
|
|
1130
1139
|
});
|
|
1131
1140
|
};
|
|
1132
1141
|
return ae(() => {
|
|
1133
|
-
|
|
1134
|
-
}), (n,
|
|
1135
|
-
|
|
1142
|
+
c();
|
|
1143
|
+
}), (n, a) => (i(), d("div", null, [
|
|
1144
|
+
w.value ? (i(), ue(po, {
|
|
1136
1145
|
key: 0,
|
|
1137
|
-
updateObjectByFeedContent:
|
|
1138
|
-
toggleFeedSection:
|
|
1146
|
+
updateObjectByFeedContent: r,
|
|
1147
|
+
toggleFeedSection: R,
|
|
1139
1148
|
object: e.object,
|
|
1140
1149
|
isProduction: e.isProduction
|
|
1141
|
-
}, null, 8, ["object", "isProduction"])) :
|
|
1150
|
+
}, null, 8, ["object", "isProduction"])) : S("", !0),
|
|
1142
1151
|
t("div", {
|
|
1143
1152
|
ref_key: "rootElement",
|
|
1144
|
-
ref:
|
|
1153
|
+
ref: s,
|
|
1145
1154
|
class: G(["min-h-[100px] relative group hover:shadow-lg hover:shadow-slate-200/50 duration-300 ease-out js-draggable-element text-slate-600 border border-slate-200 hover:border-slate-300 px-5 pt-3 pb-4 w-full bg-white inline-block rounded-xl flex flex-col mb-3 z-0 shadow-sm", { "overflow-hidden": !e.isComponentMode }])
|
|
1146
1155
|
}, [
|
|
1147
|
-
e.isComponentMode ? (
|
|
1148
|
-
t("span",
|
|
1149
|
-
t("div",
|
|
1150
|
-
t("div",
|
|
1151
|
-
|
|
1156
|
+
e.isComponentMode ? (i(), d(A, { key: 0 }, [
|
|
1157
|
+
t("span", vo, v(e.object.component_name), 1),
|
|
1158
|
+
t("div", xo, [
|
|
1159
|
+
t("div", ho, [
|
|
1160
|
+
a[8] || (a[8] = t("div", { class: "handle cursor-grab text-slate-400 hover:text-slate-600 text-lg transition-colors" }, [
|
|
1152
1161
|
t("svg", {
|
|
1153
1162
|
class: "w-5 h-5",
|
|
1154
1163
|
fill: "currentColor",
|
|
@@ -1157,73 +1166,89 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1157
1166
|
t("path", { d: "M7 2a2 2 0 1 0 .001 4.001A2 2 0 0 0 7 2zm0 6a2 2 0 1 0 .001 4.001A2 2 0 0 0 7 8zm0 6a2 2 0 1 0 .001 4.001A2 2 0 0 0 7 14zm6-8a2 2 0 1 0-.001-4.001A2 2 0 0 0 13 6zm0 2a2 2 0 1 0 .001 4.001A2 2 0 0 0 13 8zm0 6a2 2 0 1 0 .001 4.001A2 2 0 0 0 13 14z" })
|
|
1158
1167
|
])
|
|
1159
1168
|
], -1)),
|
|
1160
|
-
t("span",
|
|
1169
|
+
t("span", wo, v(e.object.category), 1)
|
|
1161
1170
|
]),
|
|
1162
|
-
e.fullwidthMode ? (
|
|
1171
|
+
e.fullwidthMode ? (i(), d("div", yo, [
|
|
1163
1172
|
t("div", {
|
|
1164
1173
|
class: "bg-gradient-to-r from-emerald-500 to-teal-500 hover:from-emerald-600 hover:to-teal-600 text-white rounded-lg px-4 py-1.5 text-xs font-medium cursor-pointer shadow-sm hover:shadow transition-all duration-200",
|
|
1165
|
-
onClick:
|
|
1166
|
-
var
|
|
1167
|
-
return (
|
|
1174
|
+
onClick: a[0] || (a[0] = (F) => {
|
|
1175
|
+
var j;
|
|
1176
|
+
return (j = e.addComponentToColumn) == null ? void 0 : j.call(e, e.object);
|
|
1168
1177
|
})
|
|
1169
1178
|
}, "Seleccionar")
|
|
1170
|
-
])) :
|
|
1171
|
-
t("div",
|
|
1172
|
-
t("span",
|
|
1173
|
-
e.insideComponentBox ?
|
|
1179
|
+
])) : S("", !0),
|
|
1180
|
+
t("div", Co, [
|
|
1181
|
+
t("span", $o, v(e.object.framework), 1),
|
|
1182
|
+
e.insideComponentBox ? S("", !0) : (i(), d("div", ko, [
|
|
1174
1183
|
t("div", {
|
|
1175
1184
|
title: "Previsualizar Dummy",
|
|
1176
|
-
onClick:
|
|
1185
|
+
onClick: a[1] || (a[1] = (F) => P()),
|
|
1177
1186
|
class: "p-1.5 rounded-md hover:bg-white hover:shadow-sm cursor-pointer transition-all duration-200 text-base"
|
|
1178
1187
|
}, "🔍"),
|
|
1179
1188
|
t("div", {
|
|
1180
1189
|
title: "Editar configuración",
|
|
1181
|
-
onClick:
|
|
1190
|
+
onClick: a[2] || (a[2] = (F) => p.value = !p.value),
|
|
1182
1191
|
class: "p-1.5 rounded-md hover:bg-white hover:shadow-sm cursor-pointer transition-all duration-200 text-base"
|
|
1183
1192
|
}, "⚙️"),
|
|
1184
1193
|
t("div", {
|
|
1185
1194
|
title: "Beber de contenido",
|
|
1186
|
-
onClick:
|
|
1195
|
+
onClick: R,
|
|
1187
1196
|
class: "p-1.5 rounded-md hover:bg-white hover:shadow-sm cursor-pointer transition-all duration-200 text-base flex items-center gap-1"
|
|
1188
1197
|
}, [
|
|
1189
|
-
|
|
1190
|
-
e.object.repeat_data ? (
|
|
1198
|
+
a[9] || (a[9] = E("⚡ ", -1)),
|
|
1199
|
+
e.object.repeat_data ? (i(), d("span", So, v(e.object.repeat_data.elementCount), 1)) : S("", !0)
|
|
1191
1200
|
]),
|
|
1192
|
-
e.removeComponent ? (
|
|
1201
|
+
e.removeComponent ? (i(), d("div", {
|
|
1193
1202
|
key: 0,
|
|
1194
1203
|
title: "Eliminar componente",
|
|
1195
|
-
onClick:
|
|
1204
|
+
onClick: a[3] || (a[3] = (F) => e.removeComponent(e.object, e.section || "")),
|
|
1196
1205
|
class: "p-1.5 rounded-md hover:bg-red-50 hover:shadow-sm cursor-pointer transition-all duration-200 text-base"
|
|
1197
|
-
}, "🗑️")) :
|
|
1206
|
+
}, "🗑️")) : S("", !0)
|
|
1198
1207
|
]))
|
|
1199
1208
|
])
|
|
1200
1209
|
]),
|
|
1201
1210
|
L(ie, {
|
|
1202
|
-
toggleShowForm:
|
|
1211
|
+
toggleShowForm: f,
|
|
1203
1212
|
object: e.object,
|
|
1204
|
-
showForm:
|
|
1213
|
+
showForm: p.value
|
|
1205
1214
|
}, null, 8, ["object", "showForm"]),
|
|
1206
|
-
t("div",
|
|
1207
|
-
t("span",
|
|
1215
|
+
t("div", Fo, [
|
|
1216
|
+
t("span", Po, v(e.object.name), 1),
|
|
1208
1217
|
t("button", {
|
|
1209
1218
|
type: "button",
|
|
1210
|
-
onClick:
|
|
1219
|
+
onClick: a[4] || (a[4] = (F) => $.value = !$.value),
|
|
1211
1220
|
class: "ms-2 cursor-pointer text-xs text-slate-400 hover:text-slate-600 transition-colors w-5 h-5 rounded-full hover:bg-slate-100 flex items-center justify-center"
|
|
1212
1221
|
}, [
|
|
1213
|
-
|
|
1222
|
+
$.value ? (i(), d("span", Mo, "▲")) : (i(), d("span", jo, "▼"))
|
|
1214
1223
|
])
|
|
1215
1224
|
]),
|
|
1216
|
-
|
|
1217
|
-
t("div",
|
|
1218
|
-
(
|
|
1219
|
-
key:
|
|
1225
|
+
$.value ? (i(), d("div", Io, v(e.object.description), 1)) : S("", !0),
|
|
1226
|
+
t("div", Ao, [
|
|
1227
|
+
(i(!0), d(A, null, V(e.object.tags, (F, j) => (i(), d("span", {
|
|
1228
|
+
key: j,
|
|
1220
1229
|
class: "bg-slate-50 text-slate-500 px-2.5 py-1 rounded-full text-[11px] font-medium border border-slate-100 hover:border-slate-200 hover:bg-slate-100 transition-colors cursor-default"
|
|
1221
|
-
},
|
|
1230
|
+
}, v(F), 1))), 128))
|
|
1222
1231
|
])
|
|
1223
|
-
], 64)) : m.value ? (
|
|
1224
|
-
t("div",
|
|
1225
|
-
t("div",
|
|
1226
|
-
|
|
1232
|
+
], 64)) : m.value ? (i(), d(A, { key: 1 }, [
|
|
1233
|
+
t("div", Bo, [
|
|
1234
|
+
t("div", Eo, [
|
|
1235
|
+
a[10] || (a[10] = t("div", { class: "w-5 h-5 rounded-full bg-slate-100 hover:bg-sky-100 border border-slate-200 hover:border-sky-300 flex items-center justify-center cursor-help transition-colors duration-200" }, [
|
|
1236
|
+
t("svg", {
|
|
1237
|
+
class: "w-3 h-3 text-slate-400 group-hover/info:text-sky-500",
|
|
1238
|
+
fill: "currentColor",
|
|
1239
|
+
viewBox: "0 0 20 20"
|
|
1240
|
+
}, [
|
|
1241
|
+
t("path", {
|
|
1242
|
+
"fill-rule": "evenodd",
|
|
1243
|
+
d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z",
|
|
1244
|
+
"clip-rule": "evenodd"
|
|
1245
|
+
})
|
|
1246
|
+
])
|
|
1247
|
+
], -1)),
|
|
1248
|
+
t("div", To, v(e.object.description), 1)
|
|
1249
|
+
]),
|
|
1250
|
+
t("div", Do, [
|
|
1251
|
+
e.insideComponentBox && !e.fullwidthMode || !e.insideComponentBox ? (i(), d("div", Oo, [...a[11] || (a[11] = [
|
|
1227
1252
|
t("div", { class: "flex flex-col items-center" }, [
|
|
1228
1253
|
t("svg", {
|
|
1229
1254
|
class: "w-6 h-6 mb-1 text-slate-400 group-hover/btn:text-white",
|
|
@@ -1234,28 +1259,28 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1234
1259
|
]),
|
|
1235
1260
|
t("span", { class: "text-xs font-medium" }, "Mover")
|
|
1236
1261
|
], -1)
|
|
1237
|
-
])])) :
|
|
1238
|
-
e.insideComponentBox && e.fullwidthMode ? (
|
|
1262
|
+
])])) : S("", !0),
|
|
1263
|
+
e.insideComponentBox && e.fullwidthMode ? (i(), d("div", Ro, [
|
|
1239
1264
|
t("div", {
|
|
1240
1265
|
title: "Agregar componente a la columna",
|
|
1241
|
-
onClick:
|
|
1242
|
-
var
|
|
1243
|
-
return (
|
|
1266
|
+
onClick: a[5] || (a[5] = (F) => {
|
|
1267
|
+
var j;
|
|
1268
|
+
return (j = e.addComponentToColumn) == null ? void 0 : j.call(e, e.object);
|
|
1244
1269
|
}),
|
|
1245
1270
|
class: "cursor-pointer flex items-center bg-gradient-to-r from-emerald-500 to-teal-500 hover:from-emerald-600 hover:to-teal-600 text-white px-6 py-3 rounded-xl shadow-md hover:shadow-lg transition-all duration-200"
|
|
1246
|
-
}, [...
|
|
1271
|
+
}, [...a[12] || (a[12] = [
|
|
1247
1272
|
t("div", { class: "flex flex-col items-center" }, [
|
|
1248
1273
|
t("span", { class: "text-2xl mb-1" }, "🚀"),
|
|
1249
1274
|
t("span", { class: "text-sm font-medium" }, "Seleccionar")
|
|
1250
1275
|
], -1)
|
|
1251
1276
|
])])
|
|
1252
|
-
])) :
|
|
1253
|
-
e.insideComponentBox ?
|
|
1277
|
+
])) : S("", !0),
|
|
1278
|
+
e.insideComponentBox ? S("", !0) : (i(), d(A, { key: 2 }, [
|
|
1254
1279
|
t("div", {
|
|
1255
1280
|
title: "Configurar componente",
|
|
1256
|
-
onClick:
|
|
1281
|
+
onClick: a[6] || (a[6] = (F) => p.value = !p.value),
|
|
1257
1282
|
class: "cursor-pointer flex items-center bg-white border border-slate-200 px-4 py-2 rounded-xl hover:bg-slate-700 hover:border-slate-700 hover:text-white shadow-sm hover:shadow-md transition-all duration-200 group/btn"
|
|
1258
|
-
}, [...
|
|
1283
|
+
}, [...a[13] || (a[13] = [
|
|
1259
1284
|
t("div", { class: "flex flex-col items-center" }, [
|
|
1260
1285
|
t("span", { class: "text-xl mb-1" }, "⚙️"),
|
|
1261
1286
|
t("span", { class: "text-xs font-medium" }, "Configurar")
|
|
@@ -1263,55 +1288,55 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1263
1288
|
])]),
|
|
1264
1289
|
t("div", {
|
|
1265
1290
|
title: "Configurar componente",
|
|
1266
|
-
onClick:
|
|
1291
|
+
onClick: R,
|
|
1267
1292
|
class: "cursor-pointer flex items-center bg-white border border-slate-200 px-4 py-2 rounded-xl hover:bg-amber-500 hover:border-amber-500 hover:text-white shadow-sm hover:shadow-md transition-all duration-200 group/btn"
|
|
1268
1293
|
}, [
|
|
1269
|
-
t("div",
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
e.object.repeat_data && e.object.repeat_data.dynamicUpdate ? (
|
|
1294
|
+
t("div", Vo, [
|
|
1295
|
+
a[14] || (a[14] = t("span", { class: "text-xl mb-1" }, "⚡", -1)),
|
|
1296
|
+
a[15] || (a[15] = t("span", { class: "text-xs font-medium" }, "Beber de contenido", -1)),
|
|
1297
|
+
e.object.repeat_data && e.object.repeat_data.dynamicUpdate ? (i(), d("span", zo, "Carga " + v(e.object.repeat_data.elementCount) + " elementos", 1)) : S("", !0)
|
|
1273
1298
|
])
|
|
1274
1299
|
]),
|
|
1275
|
-
e.removeComponent ? (
|
|
1300
|
+
e.removeComponent ? (i(), d("div", {
|
|
1276
1301
|
key: 0,
|
|
1277
1302
|
title: "Eliminar componente",
|
|
1278
|
-
onClick:
|
|
1303
|
+
onClick: a[7] || (a[7] = (F) => e.removeComponent(e.object, e.section || "")),
|
|
1279
1304
|
class: "cursor-pointer flex items-center bg-white border border-slate-200 px-4 py-2 rounded-xl hover:bg-red-500 hover:border-red-500 hover:text-white shadow-sm hover:shadow-md transition-all duration-200 group/btn"
|
|
1280
|
-
}, [...
|
|
1305
|
+
}, [...a[16] || (a[16] = [
|
|
1281
1306
|
t("div", { class: "flex flex-col items-center" }, [
|
|
1282
1307
|
t("span", { class: "text-xl mb-1" }, "🗑️"),
|
|
1283
1308
|
t("span", { class: "text-xs font-medium" }, "Eliminar")
|
|
1284
1309
|
], -1)
|
|
1285
|
-
])])) :
|
|
1310
|
+
])])) : S("", !0)
|
|
1286
1311
|
], 64))
|
|
1287
1312
|
])
|
|
1288
1313
|
]),
|
|
1289
1314
|
L(ie, {
|
|
1290
|
-
toggleShowForm:
|
|
1315
|
+
toggleShowForm: f,
|
|
1291
1316
|
object: e.object,
|
|
1292
|
-
showForm:
|
|
1317
|
+
showForm: p.value
|
|
1293
1318
|
}, null, 8, ["object", "showForm"]),
|
|
1294
1319
|
t("div", {
|
|
1295
1320
|
id: q(b),
|
|
1296
1321
|
class: "w-full h-full flex items-center justify-center"
|
|
1297
|
-
}, null, 8,
|
|
1298
|
-
], 64)) :
|
|
1322
|
+
}, null, 8, No)
|
|
1323
|
+
], 64)) : S("", !0)
|
|
1299
1324
|
], 2)
|
|
1300
1325
|
]));
|
|
1301
1326
|
}
|
|
1302
|
-
}),
|
|
1327
|
+
}), Uo = { class: "absolute top-1 left-2 px-2 flex gap-3 items-center" }, qo = {
|
|
1303
1328
|
key: 0,
|
|
1304
1329
|
class: "text-[10px] font-medium text-slate-400 bg-white/80 backdrop-blur-sm px-2 py-0.5 rounded-full shadow-sm"
|
|
1305
|
-
},
|
|
1330
|
+
}, Lo = { class: "text-slate-600" }, Go = {
|
|
1306
1331
|
key: 1,
|
|
1307
1332
|
class: "text-[10px] font-medium text-slate-400 bg-white/80 backdrop-blur-sm px-2 py-0.5 rounded-full shadow-sm"
|
|
1308
|
-
},
|
|
1333
|
+
}, Ho = { class: "text-slate-600" }, Jo = {
|
|
1309
1334
|
key: 2,
|
|
1310
1335
|
class: "text-[10px] font-medium text-slate-400 bg-white/80 backdrop-blur-sm px-2 py-0.5 rounded-full shadow-sm"
|
|
1311
|
-
},
|
|
1336
|
+
}, Wo = { class: "text-slate-600" }, Yo = {
|
|
1312
1337
|
key: 0,
|
|
1313
1338
|
class: "my-4 w-full rounded-xl bg-white border border-slate-200 p-4 z-10 hidden group-hover:block shadow-lg"
|
|
1314
|
-
},
|
|
1339
|
+
}, Ko = { class: "p-4 bg-gradient-to-br from-slate-50 to-white rounded-lg w-full" }, Qo = { class: "flex flex-col" }, Xo = ["for"], Zo = ["id"], _o = ["value"], en = { class: "flex flex-col" }, tn = ["for"], on = ["id"], nn = ["value"], ln = { class: "flex flex-col" }, an = ["for"], rn = ["id"], sn = ["value"], dn = { class: "absolute bottom-0 flex flex-col gap-1 w-full opacity-0 transition-all duration-300 group-hover:opacity-100" }, un = { class: "flex justify-between gap-2 bg-white/90 backdrop-blur-sm rounded-t-xl px-3 py-1.5 shadow-sm border border-b-0 border-slate-200" }, cn = { class: "flex gap-1" }, mn = /* @__PURE__ */ W({
|
|
1315
1340
|
__name: "ColConfig",
|
|
1316
1341
|
props: {
|
|
1317
1342
|
globalPageConfiguration: Array,
|
|
@@ -1356,193 +1381,193 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1356
1381
|
{ label: "Columna (componentes unos encima de otros)", value: "flex-col" },
|
|
1357
1382
|
{ label: "Fila (componentes unos al lado de otros)", value: "flex-row" }
|
|
1358
1383
|
]
|
|
1359
|
-
},
|
|
1360
|
-
var l,
|
|
1361
|
-
const
|
|
1362
|
-
(
|
|
1363
|
-
),
|
|
1364
|
-
return (
|
|
1365
|
-
}),
|
|
1366
|
-
var
|
|
1367
|
-
const l =
|
|
1368
|
-
(
|
|
1384
|
+
}, $ = C(""), p = C(""), u = C(""), s = C(!1), m = Y(() => {
|
|
1385
|
+
var l, r, f, R;
|
|
1386
|
+
const I = (l = o.globalPageConfiguration) == null ? void 0 : l.find(
|
|
1387
|
+
(P) => P.section === o.section
|
|
1388
|
+
), c = (R = (f = (r = I == null ? void 0 : I.rows) == null ? void 0 : r[o.rowIndex]) == null ? void 0 : f.columns) == null ? void 0 : R[o.columnIndex];
|
|
1389
|
+
return (c == null ? void 0 : c.config) || {};
|
|
1390
|
+
}), w = (I, c) => {
|
|
1391
|
+
var R;
|
|
1392
|
+
const l = $.value || b.width[0].value, r = p.value || b.gap[0].value, f = u.value || "";
|
|
1393
|
+
(R = o.updateColConfig) == null || R.call(o, I, c, o.section || "", l, r, f), s.value = !1;
|
|
1369
1394
|
};
|
|
1370
|
-
return (
|
|
1371
|
-
t("div",
|
|
1372
|
-
m.value.width !== void 0 ? (
|
|
1373
|
-
|
|
1374
|
-
t("span",
|
|
1375
|
-
])) :
|
|
1376
|
-
m.value.gap !== void 0 ? (
|
|
1377
|
-
|
|
1378
|
-
t("span",
|
|
1379
|
-
])) :
|
|
1380
|
-
m.value.flexDirection !== void 0 ? (
|
|
1381
|
-
|
|
1382
|
-
t("span",
|
|
1383
|
-
])) :
|
|
1395
|
+
return (I, c) => (i(), d(A, null, [
|
|
1396
|
+
t("div", Uo, [
|
|
1397
|
+
m.value.width !== void 0 ? (i(), d("span", qo, [
|
|
1398
|
+
c[12] || (c[12] = E(" Ancho: ", -1)),
|
|
1399
|
+
t("span", Lo, v(m.value.width), 1)
|
|
1400
|
+
])) : S("", !0),
|
|
1401
|
+
m.value.gap !== void 0 ? (i(), d("span", Go, [
|
|
1402
|
+
c[13] || (c[13] = E(" Gap: ", -1)),
|
|
1403
|
+
t("span", Ho, v(m.value.gap), 1)
|
|
1404
|
+
])) : S("", !0),
|
|
1405
|
+
m.value.flexDirection !== void 0 ? (i(), d("span", Jo, [
|
|
1406
|
+
c[14] || (c[14] = E(" Flex: ", -1)),
|
|
1407
|
+
t("span", Wo, v(m.value.flexDirection), 1)
|
|
1408
|
+
])) : S("", !0)
|
|
1384
1409
|
]),
|
|
1385
|
-
|
|
1386
|
-
t("div",
|
|
1410
|
+
s.value ? (i(), d("div", Yo, [
|
|
1411
|
+
t("div", Ko, [
|
|
1387
1412
|
t("form", {
|
|
1388
|
-
onSubmit:
|
|
1413
|
+
onSubmit: c[4] || (c[4] = le(() => {
|
|
1389
1414
|
}, ["prevent"])),
|
|
1390
1415
|
class: "flex gap-5 w-full justify-center items-end flex-wrap"
|
|
1391
1416
|
}, [
|
|
1392
|
-
t("div",
|
|
1417
|
+
t("div", Qo, [
|
|
1393
1418
|
t("label", {
|
|
1394
1419
|
for: `colwidth-${e.rowIndex}-${e.columnIndex}`,
|
|
1395
1420
|
class: "block text-sm font-medium text-slate-600 mb-1.5"
|
|
1396
|
-
}, "Ancho:", 8,
|
|
1397
|
-
|
|
1398
|
-
"onUpdate:modelValue":
|
|
1421
|
+
}, "Ancho:", 8, Xo),
|
|
1422
|
+
O(t("select", {
|
|
1423
|
+
"onUpdate:modelValue": c[0] || (c[0] = (l) => $.value = l),
|
|
1399
1424
|
id: `colwidth-${e.rowIndex}-${e.columnIndex}`,
|
|
1400
1425
|
class: "block w-full border border-slate-200 rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-400 bg-white hover:border-slate-300 transition-colors"
|
|
1401
1426
|
}, [
|
|
1402
|
-
|
|
1403
|
-
(
|
|
1427
|
+
c[15] || (c[15] = t("option", { value: "" }, "Selecciona...", -1)),
|
|
1428
|
+
(i(!0), d(A, null, V(b.width, (l) => (i(), d("option", {
|
|
1404
1429
|
key: l.value,
|
|
1405
1430
|
value: l.value
|
|
1406
|
-
},
|
|
1407
|
-
], 8,
|
|
1408
|
-
[
|
|
1431
|
+
}, v(l.label), 9, _o))), 128))
|
|
1432
|
+
], 8, Zo), [
|
|
1433
|
+
[J, $.value]
|
|
1409
1434
|
])
|
|
1410
1435
|
]),
|
|
1411
|
-
t("div",
|
|
1436
|
+
t("div", en, [
|
|
1412
1437
|
t("label", {
|
|
1413
1438
|
for: `colgap-${e.rowIndex}-${e.columnIndex}`,
|
|
1414
1439
|
class: "block text-sm font-medium text-slate-600 mb-1.5"
|
|
1415
|
-
}, "Gap:", 8,
|
|
1416
|
-
|
|
1417
|
-
"onUpdate:modelValue":
|
|
1440
|
+
}, "Gap:", 8, tn),
|
|
1441
|
+
O(t("select", {
|
|
1442
|
+
"onUpdate:modelValue": c[1] || (c[1] = (l) => p.value = l),
|
|
1418
1443
|
id: `colgap-${e.rowIndex}-${e.columnIndex}`,
|
|
1419
1444
|
class: "block w-full border border-slate-200 rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-400 bg-white hover:border-slate-300 transition-colors"
|
|
1420
1445
|
}, [
|
|
1421
|
-
|
|
1422
|
-
(
|
|
1446
|
+
c[16] || (c[16] = t("option", { value: "" }, "Selecciona...", -1)),
|
|
1447
|
+
(i(!0), d(A, null, V(b.gap, (l) => (i(), d("option", {
|
|
1423
1448
|
key: l.value,
|
|
1424
1449
|
value: l.value
|
|
1425
|
-
},
|
|
1426
|
-
], 8,
|
|
1427
|
-
[
|
|
1450
|
+
}, v(l.label), 9, nn))), 128))
|
|
1451
|
+
], 8, on), [
|
|
1452
|
+
[J, p.value]
|
|
1428
1453
|
])
|
|
1429
1454
|
]),
|
|
1430
|
-
t("div",
|
|
1455
|
+
t("div", ln, [
|
|
1431
1456
|
t("label", {
|
|
1432
1457
|
for: `flexdir-${e.rowIndex}-${e.columnIndex}`,
|
|
1433
1458
|
class: "block text-sm font-medium text-slate-600 mb-1.5"
|
|
1434
|
-
}, "Dirección:", 8,
|
|
1435
|
-
|
|
1436
|
-
"onUpdate:modelValue":
|
|
1459
|
+
}, "Dirección:", 8, an),
|
|
1460
|
+
O(t("select", {
|
|
1461
|
+
"onUpdate:modelValue": c[2] || (c[2] = (l) => u.value = l),
|
|
1437
1462
|
id: `flexdir-${e.rowIndex}-${e.columnIndex}`,
|
|
1438
1463
|
class: "block w-full border border-slate-200 rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-400 bg-white hover:border-slate-300 transition-colors"
|
|
1439
1464
|
}, [
|
|
1440
|
-
|
|
1441
|
-
(
|
|
1465
|
+
c[17] || (c[17] = t("option", { value: "" }, "Selecciona...", -1)),
|
|
1466
|
+
(i(!0), d(A, null, V(b.flexDirection, (l) => (i(), d("option", {
|
|
1442
1467
|
key: l.value,
|
|
1443
1468
|
value: l.value
|
|
1444
|
-
},
|
|
1445
|
-
], 8,
|
|
1446
|
-
[
|
|
1469
|
+
}, v(l.label), 9, sn))), 128))
|
|
1470
|
+
], 8, rn), [
|
|
1471
|
+
[J, u.value]
|
|
1447
1472
|
])
|
|
1448
1473
|
]),
|
|
1449
1474
|
t("button", {
|
|
1450
1475
|
type: "button",
|
|
1451
1476
|
class: "bg-gradient-to-r from-emerald-500 to-teal-500 hover:from-emerald-600 hover:to-teal-600 text-white px-5 py-2 rounded-lg font-medium shadow-sm hover:shadow-md transition-all duration-200 cursor-pointer",
|
|
1452
|
-
onClick:
|
|
1453
|
-
|
|
1477
|
+
onClick: c[3] || (c[3] = (l) => {
|
|
1478
|
+
w(e.rowIndex, e.columnIndex), s.value = !1;
|
|
1454
1479
|
})
|
|
1455
1480
|
}, " Guardar ")
|
|
1456
1481
|
], 32)
|
|
1457
1482
|
])
|
|
1458
|
-
])) :
|
|
1459
|
-
t("div",
|
|
1483
|
+
])) : S("", !0),
|
|
1484
|
+
t("div", dn, [
|
|
1460
1485
|
t("div", {
|
|
1461
1486
|
class: G(["flex flex-row", { "justify-between": e.section && e.section !== "Sidebar", "justify-center": e.section === "Sidebar" }])
|
|
1462
1487
|
}, [
|
|
1463
|
-
e.section && e.section !== "Sidebar" ? (
|
|
1488
|
+
e.section && e.section !== "Sidebar" ? (i(), d("button", {
|
|
1464
1489
|
key: 0,
|
|
1465
1490
|
type: "button",
|
|
1466
1491
|
title: "Añadir columna a la izquierda",
|
|
1467
|
-
onClick:
|
|
1468
|
-
var
|
|
1469
|
-
return (
|
|
1492
|
+
onClick: c[5] || (c[5] = (l) => {
|
|
1493
|
+
var r;
|
|
1494
|
+
return (r = e.addCol) == null ? void 0 : r.call(e, e.rowIndex, e.columnIndex, e.section, "left");
|
|
1470
1495
|
}),
|
|
1471
1496
|
class: "ms-2 bg-white px-3 py-1 cursor-pointer rounded-t-lg border border-b-0 border-slate-200 hover:bg-emerald-500 hover:border-emerald-500 hover:text-white text-slate-600 transition-all duration-200 shadow-sm hover:shadow-md font-medium"
|
|
1472
|
-
}, "+")) :
|
|
1473
|
-
t("div",
|
|
1497
|
+
}, "+")) : S("", !0),
|
|
1498
|
+
t("div", un, [
|
|
1474
1499
|
t("button", {
|
|
1475
1500
|
type: "button",
|
|
1476
1501
|
title: "Configurar columna",
|
|
1477
|
-
onClick:
|
|
1478
|
-
class: G(["px-2.5 py-1 rounded-lg cursor-pointer transition-all duration-200",
|
|
1502
|
+
onClick: c[6] || (c[6] = (l) => s.value = !s.value),
|
|
1503
|
+
class: G(["px-2.5 py-1 rounded-lg cursor-pointer transition-all duration-200", s.value ? "bg-amber-100 text-amber-700 shadow-sm" : "bg-slate-100 text-slate-600 hover:bg-amber-500 hover:text-white"])
|
|
1479
1504
|
}, "⚙️", 2),
|
|
1480
|
-
t("div",
|
|
1481
|
-
e.section && e.section !== "Sidebar" ? (
|
|
1505
|
+
t("div", cn, [
|
|
1506
|
+
e.section && e.section !== "Sidebar" ? (i(), d("span", {
|
|
1482
1507
|
key: 0,
|
|
1483
1508
|
title: "Mover columna a la izquierda",
|
|
1484
|
-
onClick:
|
|
1485
|
-
var
|
|
1486
|
-
return (
|
|
1509
|
+
onClick: c[7] || (c[7] = (l) => {
|
|
1510
|
+
var r;
|
|
1511
|
+
return (r = e.moveCol) == null ? void 0 : r.call(e, e.rowIndex, e.columnIndex, e.section, "left");
|
|
1487
1512
|
}),
|
|
1488
1513
|
class: "bg-slate-100 px-2.5 py-1 cursor-pointer rounded-lg transition-all duration-200 text-slate-400 hover:bg-blue-500 hover:text-white"
|
|
1489
|
-
}, "◁")) :
|
|
1490
|
-
e.fullwidthMode ? (
|
|
1514
|
+
}, "◁")) : S("", !0),
|
|
1515
|
+
e.fullwidthMode ? (i(), d("span", {
|
|
1491
1516
|
key: 1,
|
|
1492
1517
|
title: "Añadir componente",
|
|
1493
|
-
onClick:
|
|
1494
|
-
var
|
|
1495
|
-
return (
|
|
1518
|
+
onClick: c[8] || (c[8] = (l) => {
|
|
1519
|
+
var r;
|
|
1520
|
+
return (r = e.addComponentFunction) == null ? void 0 : r.call(e, e.rowIndex, e.columnIndex, e.section || "");
|
|
1496
1521
|
}),
|
|
1497
1522
|
class: "bg-slate-100 px-2.5 py-1 cursor-pointer rounded-lg transition-all duration-200 text-slate-400 hover:bg-violet-500 hover:text-white"
|
|
1498
|
-
}, " 📦 ")) :
|
|
1499
|
-
e.section && e.section !== "Sidebar" ? (
|
|
1523
|
+
}, " 📦 ")) : S("", !0),
|
|
1524
|
+
e.section && e.section !== "Sidebar" ? (i(), d("span", {
|
|
1500
1525
|
key: 2,
|
|
1501
1526
|
title: "Mover columna a la derecha",
|
|
1502
|
-
onClick:
|
|
1503
|
-
var
|
|
1504
|
-
return (
|
|
1527
|
+
onClick: c[9] || (c[9] = (l) => {
|
|
1528
|
+
var r;
|
|
1529
|
+
return (r = e.moveCol) == null ? void 0 : r.call(e, e.rowIndex, e.columnIndex, e.section, "right");
|
|
1505
1530
|
}),
|
|
1506
1531
|
class: "bg-slate-100 px-2.5 py-1 cursor-pointer rounded-lg transition-all duration-200 text-slate-400 hover:bg-blue-500 hover:text-white"
|
|
1507
|
-
}, "▷ ")) :
|
|
1532
|
+
}, "▷ ")) : S("", !0)
|
|
1508
1533
|
]),
|
|
1509
1534
|
t("button", {
|
|
1510
1535
|
type: "button",
|
|
1511
1536
|
title: "Eliminar columna",
|
|
1512
|
-
onClick:
|
|
1513
|
-
var
|
|
1514
|
-
return (
|
|
1537
|
+
onClick: c[10] || (c[10] = (l) => {
|
|
1538
|
+
var r;
|
|
1539
|
+
return (r = e.removeCol) == null ? void 0 : r.call(e, e.rowIndex, e.columnIndex, e.section || "");
|
|
1515
1540
|
}),
|
|
1516
1541
|
class: "bg-slate-100 px-2.5 py-1 rounded-lg cursor-pointer transition-all duration-200 text-slate-600 hover:bg-red-500 hover:text-white"
|
|
1517
1542
|
}, "🗑️")
|
|
1518
1543
|
]),
|
|
1519
|
-
e.section && e.section !== "Sidebar" ? (
|
|
1544
|
+
e.section && e.section !== "Sidebar" ? (i(), d("button", {
|
|
1520
1545
|
key: 1,
|
|
1521
1546
|
type: "button",
|
|
1522
1547
|
title: "Añadir columna a la derecha",
|
|
1523
|
-
onClick:
|
|
1524
|
-
var
|
|
1525
|
-
return (
|
|
1548
|
+
onClick: c[11] || (c[11] = (l) => {
|
|
1549
|
+
var r;
|
|
1550
|
+
return (r = e.addCol) == null ? void 0 : r.call(e, e.rowIndex, e.columnIndex, e.section, "right");
|
|
1526
1551
|
}),
|
|
1527
1552
|
class: "me-2 bg-white px-3 py-1 cursor-pointer rounded-t-lg border border-b-0 border-slate-200 hover:bg-emerald-500 hover:border-emerald-500 hover:text-white text-slate-600 transition-all duration-200 shadow-sm hover:shadow-md font-medium"
|
|
1528
|
-
}, "+")) :
|
|
1553
|
+
}, "+")) : S("", !0)
|
|
1529
1554
|
], 2)
|
|
1530
1555
|
])
|
|
1531
1556
|
], 64));
|
|
1532
1557
|
}
|
|
1533
|
-
}),
|
|
1558
|
+
}), bn = { class: "absolute -top-1 px-2 gap-4 w-full justify-between hidden group-hover/row:flex css-pb-row-config" }, gn = { class: "flex gap-1.5" }, fn = { class: "flex gap-4 items-center" }, pn = { class: "inline-block" }, vn = {
|
|
1534
1559
|
key: 0,
|
|
1535
1560
|
class: "text-xs font-medium text-slate-400 bg-slate-50 px-2 py-1 rounded-full"
|
|
1536
|
-
},
|
|
1561
|
+
}, xn = { class: "text-slate-600" }, hn = {
|
|
1537
1562
|
key: 1,
|
|
1538
1563
|
class: "text-xs font-medium text-slate-400 bg-slate-50 px-2 py-1 rounded-full"
|
|
1539
|
-
},
|
|
1564
|
+
}, wn = { class: "text-slate-600" }, yn = {
|
|
1540
1565
|
key: 2,
|
|
1541
1566
|
class: "text-xs font-medium text-slate-400 bg-slate-50 px-2 py-1 rounded-full"
|
|
1542
|
-
},
|
|
1567
|
+
}, Cn = { class: "text-slate-600" }, $n = { class: "flex gap-1.5" }, kn = {
|
|
1543
1568
|
key: 0,
|
|
1544
1569
|
class: "z-1"
|
|
1545
|
-
},
|
|
1570
|
+
}, Sn = { class: "p-5 bg-white rounded-xl shadow-lg border border-slate-100 w-full mt-8" }, Fn = { class: "flex flex-col" }, Pn = ["for"], jn = ["id"], Mn = ["value"], In = { class: "flex flex-col" }, An = ["for"], Bn = ["id"], En = ["value"], Tn = { class: "flex flex-col" }, Dn = ["for"], On = ["id"], Rn = ["value"], Vn = /* @__PURE__ */ W({
|
|
1546
1571
|
__name: "RowConfig",
|
|
1547
1572
|
props: {
|
|
1548
1573
|
rowIndex: {
|
|
@@ -1583,163 +1608,163 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1583
1608
|
{ label: "3/5", value: "3/5" },
|
|
1584
1609
|
{ label: "4/5", value: "4/5" }
|
|
1585
1610
|
]
|
|
1586
|
-
},
|
|
1587
|
-
var l,
|
|
1588
|
-
const
|
|
1589
|
-
(
|
|
1611
|
+
}, $ = C(""), p = C(""), u = C(""), s = C(!1), m = C(!1), w = Y(() => {
|
|
1612
|
+
var l, r;
|
|
1613
|
+
const c = (l = o.globalPageConfiguration) == null ? void 0 : l.find(
|
|
1614
|
+
(f) => f.section === o.section
|
|
1590
1615
|
);
|
|
1591
|
-
return (
|
|
1592
|
-
}),
|
|
1593
|
-
var
|
|
1594
|
-
const l =
|
|
1595
|
-
(
|
|
1616
|
+
return (r = c == null ? void 0 : c.rows) != null && r[o.rowIndex] ? c.rows[o.rowIndex].config || {} : {};
|
|
1617
|
+
}), I = (c) => {
|
|
1618
|
+
var R;
|
|
1619
|
+
const l = $.value || b.padding[0].value, r = p.value || b.gap[0].value, f = u.value || b.width[0].value;
|
|
1620
|
+
(R = o.updateRowConfig) == null || R.call(o, c, o.section || "", l, r, f), s.value = !1;
|
|
1596
1621
|
};
|
|
1597
|
-
return (
|
|
1598
|
-
t("div",
|
|
1622
|
+
return (c, l) => (i(), d(A, null, [
|
|
1623
|
+
t("div", bn, [
|
|
1599
1624
|
t("div", null, [
|
|
1600
|
-
t("div",
|
|
1625
|
+
t("div", gn, [
|
|
1601
1626
|
t("button", {
|
|
1602
1627
|
type: "button",
|
|
1603
1628
|
title: "Agregar fila",
|
|
1604
|
-
onClick: l[0] || (l[0] = (
|
|
1605
|
-
var
|
|
1606
|
-
(
|
|
1629
|
+
onClick: l[0] || (l[0] = (r) => {
|
|
1630
|
+
var f;
|
|
1631
|
+
(f = e.addRow) == null || f.call(e, e.rowIndex, e.section || ""), m.value = !1;
|
|
1607
1632
|
}),
|
|
1608
1633
|
class: "cursor-pointer rounded-b-lg border border-t-0 border-slate-200 bg-white hover:bg-emerald-500 hover:border-emerald-500 px-3 py-1 hover:text-white text-slate-600 transition-all duration-200 shadow-sm hover:shadow-md font-medium"
|
|
1609
1634
|
}, "+"),
|
|
1610
1635
|
t("button", {
|
|
1611
1636
|
type: "button",
|
|
1612
1637
|
title: "Mover fila hacia arriba",
|
|
1613
|
-
onClick: l[1] || (l[1] = (
|
|
1614
|
-
var
|
|
1615
|
-
(
|
|
1638
|
+
onClick: l[1] || (l[1] = (r) => {
|
|
1639
|
+
var f;
|
|
1640
|
+
(f = e.moveRow) == null || f.call(e, e.rowIndex, e.section || "", "up"), m.value = !1;
|
|
1616
1641
|
}),
|
|
1617
1642
|
class: "cursor-pointer rounded-b-lg border border-t-0 border-slate-200 bg-white hover:bg-blue-500 hover:border-blue-500 px-3 py-1 hover:text-white text-slate-600 transition-all duration-200 shadow-sm hover:shadow-md"
|
|
1618
1643
|
}, "△"),
|
|
1619
1644
|
t("button", {
|
|
1620
1645
|
type: "button",
|
|
1621
1646
|
title: "Mover fila hacia abajo",
|
|
1622
|
-
onClick: l[2] || (l[2] = (
|
|
1623
|
-
var
|
|
1624
|
-
(
|
|
1647
|
+
onClick: l[2] || (l[2] = (r) => {
|
|
1648
|
+
var f;
|
|
1649
|
+
(f = e.moveRow) == null || f.call(e, e.rowIndex, e.section || "", "down"), m.value = !1;
|
|
1625
1650
|
}),
|
|
1626
1651
|
class: "cursor-pointer rounded-b-lg border border-t-0 border-slate-200 bg-white hover:bg-blue-500 hover:border-blue-500 px-3 py-1 hover:text-white text-slate-600 transition-all duration-200 shadow-sm hover:shadow-md"
|
|
1627
1652
|
}, "▽")
|
|
1628
1653
|
])
|
|
1629
1654
|
]),
|
|
1630
|
-
t("div",
|
|
1631
|
-
t("div",
|
|
1655
|
+
t("div", fn, [
|
|
1656
|
+
t("div", pn, [
|
|
1632
1657
|
t("button", {
|
|
1633
1658
|
type: "button",
|
|
1634
1659
|
title: "Configurar la fila",
|
|
1635
|
-
onClick: l[3] || (l[3] = (
|
|
1636
|
-
class: G(["cursor-pointer rounded-b-lg border border-t-0 px-3 py-1 transition-all duration-200 shadow-sm hover:shadow-md",
|
|
1660
|
+
onClick: l[3] || (l[3] = (r) => s.value = !s.value),
|
|
1661
|
+
class: G(["cursor-pointer rounded-b-lg border border-t-0 px-3 py-1 transition-all duration-200 shadow-sm hover:shadow-md", s.value ? "bg-amber-100 border-amber-300 text-amber-700" : "bg-white border-slate-200 text-slate-600 hover:bg-amber-500 hover:border-amber-500 hover:text-white"])
|
|
1637
1662
|
}, "⚙️", 2)
|
|
1638
1663
|
]),
|
|
1639
|
-
|
|
1640
|
-
l[10] || (l[10] =
|
|
1641
|
-
t("span",
|
|
1642
|
-
])) :
|
|
1643
|
-
|
|
1644
|
-
l[11] || (l[11] =
|
|
1645
|
-
t("span",
|
|
1646
|
-
])) :
|
|
1647
|
-
|
|
1648
|
-
l[12] || (l[12] =
|
|
1649
|
-
t("span",
|
|
1650
|
-
])) :
|
|
1664
|
+
w.value.padding !== void 0 ? (i(), d("span", vn, [
|
|
1665
|
+
l[10] || (l[10] = E(" Padding: ", -1)),
|
|
1666
|
+
t("span", xn, v(w.value.padding), 1)
|
|
1667
|
+
])) : S("", !0),
|
|
1668
|
+
w.value.gap !== void 0 ? (i(), d("span", hn, [
|
|
1669
|
+
l[11] || (l[11] = E(" Gap: ", -1)),
|
|
1670
|
+
t("span", wn, v(w.value.gap), 1)
|
|
1671
|
+
])) : S("", !0),
|
|
1672
|
+
w.value.width !== void 0 ? (i(), d("span", yn, [
|
|
1673
|
+
l[12] || (l[12] = E(" Ancho: ", -1)),
|
|
1674
|
+
t("span", Cn, v(w.value.width), 1)
|
|
1675
|
+
])) : S("", !0)
|
|
1651
1676
|
]),
|
|
1652
1677
|
t("div", null, [
|
|
1653
|
-
t("div",
|
|
1678
|
+
t("div", $n, [
|
|
1654
1679
|
t("button", {
|
|
1655
1680
|
type: "button",
|
|
1656
1681
|
title: "Eliminar fila",
|
|
1657
|
-
onClick: l[4] || (l[4] = (
|
|
1658
|
-
var
|
|
1659
|
-
(
|
|
1682
|
+
onClick: l[4] || (l[4] = (r) => {
|
|
1683
|
+
var f;
|
|
1684
|
+
(f = e.removeRow) == null || f.call(e, e.rowIndex, e.section || ""), m.value = !1;
|
|
1660
1685
|
}),
|
|
1661
1686
|
class: "cursor-pointer rounded-b-lg border border-t-0 border-slate-200 bg-white hover:bg-red-500 hover:border-red-500 px-3 py-1 hover:text-white text-slate-600 transition-all duration-200 shadow-sm hover:shadow-md"
|
|
1662
1687
|
}, "🗑️")
|
|
1663
1688
|
])
|
|
1664
1689
|
])
|
|
1665
1690
|
]),
|
|
1666
|
-
|
|
1667
|
-
t("div",
|
|
1691
|
+
s.value ? (i(), d("div", kn, [
|
|
1692
|
+
t("div", Sn, [
|
|
1668
1693
|
t("form", {
|
|
1669
1694
|
onSubmit: l[9] || (l[9] = le(() => {
|
|
1670
1695
|
}, ["prevent"])),
|
|
1671
1696
|
class: "flex gap-6 w-full justify-center items-end flex-wrap"
|
|
1672
1697
|
}, [
|
|
1673
|
-
t("div",
|
|
1698
|
+
t("div", Fn, [
|
|
1674
1699
|
t("label", {
|
|
1675
1700
|
for: `padding-${e.rowIndex}`,
|
|
1676
1701
|
class: "block text-sm font-medium text-slate-600 mb-1.5"
|
|
1677
|
-
}, "Padding:", 8,
|
|
1678
|
-
|
|
1679
|
-
"onUpdate:modelValue": l[5] || (l[5] = (
|
|
1702
|
+
}, "Padding:", 8, Pn),
|
|
1703
|
+
O(t("select", {
|
|
1704
|
+
"onUpdate:modelValue": l[5] || (l[5] = (r) => $.value = r),
|
|
1680
1705
|
id: `padding-${e.rowIndex}`,
|
|
1681
1706
|
class: "block w-full border border-slate-200 rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-400 bg-slate-50 hover:bg-white transition-colors"
|
|
1682
1707
|
}, [
|
|
1683
1708
|
l[13] || (l[13] = t("option", { value: "" }, "Selecciona...", -1)),
|
|
1684
|
-
(
|
|
1685
|
-
key:
|
|
1686
|
-
value:
|
|
1687
|
-
},
|
|
1688
|
-
], 8,
|
|
1689
|
-
[
|
|
1709
|
+
(i(!0), d(A, null, V(b.padding, (r) => (i(), d("option", {
|
|
1710
|
+
key: r.value,
|
|
1711
|
+
value: r.value
|
|
1712
|
+
}, v(r.label), 9, Mn))), 128))
|
|
1713
|
+
], 8, jn), [
|
|
1714
|
+
[J, $.value]
|
|
1690
1715
|
])
|
|
1691
1716
|
]),
|
|
1692
|
-
t("div",
|
|
1717
|
+
t("div", In, [
|
|
1693
1718
|
t("label", {
|
|
1694
1719
|
for: `gap-${e.rowIndex}`,
|
|
1695
1720
|
class: "block text-sm font-medium text-slate-600 mb-1.5"
|
|
1696
|
-
}, "Gap:", 8,
|
|
1697
|
-
|
|
1698
|
-
"onUpdate:modelValue": l[6] || (l[6] = (
|
|
1721
|
+
}, "Gap:", 8, An),
|
|
1722
|
+
O(t("select", {
|
|
1723
|
+
"onUpdate:modelValue": l[6] || (l[6] = (r) => p.value = r),
|
|
1699
1724
|
id: `gap-${e.rowIndex}`,
|
|
1700
1725
|
class: "block w-full border border-slate-200 rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-400 bg-slate-50 hover:bg-white transition-colors"
|
|
1701
1726
|
}, [
|
|
1702
1727
|
l[14] || (l[14] = t("option", { value: "" }, "Selecciona...", -1)),
|
|
1703
|
-
(
|
|
1704
|
-
key:
|
|
1705
|
-
value:
|
|
1706
|
-
},
|
|
1707
|
-
], 8,
|
|
1708
|
-
[
|
|
1728
|
+
(i(!0), d(A, null, V(b.gap, (r) => (i(), d("option", {
|
|
1729
|
+
key: r.value,
|
|
1730
|
+
value: r.value
|
|
1731
|
+
}, v(r.label), 9, En))), 128))
|
|
1732
|
+
], 8, Bn), [
|
|
1733
|
+
[J, p.value]
|
|
1709
1734
|
])
|
|
1710
1735
|
]),
|
|
1711
|
-
t("div",
|
|
1736
|
+
t("div", Tn, [
|
|
1712
1737
|
t("label", {
|
|
1713
1738
|
for: `width-${e.rowIndex}`,
|
|
1714
1739
|
class: "block text-sm font-medium text-slate-600 mb-1.5"
|
|
1715
|
-
}, "Ancho:", 8,
|
|
1716
|
-
|
|
1717
|
-
"onUpdate:modelValue": l[7] || (l[7] = (
|
|
1740
|
+
}, "Ancho:", 8, Dn),
|
|
1741
|
+
O(t("select", {
|
|
1742
|
+
"onUpdate:modelValue": l[7] || (l[7] = (r) => u.value = r),
|
|
1718
1743
|
id: `width-${e.rowIndex}`,
|
|
1719
1744
|
class: "block w-full border border-slate-200 rounded-lg px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-400 bg-slate-50 hover:bg-white transition-colors"
|
|
1720
1745
|
}, [
|
|
1721
1746
|
l[15] || (l[15] = t("option", { value: "" }, "Selecciona...", -1)),
|
|
1722
|
-
(
|
|
1723
|
-
key:
|
|
1724
|
-
value:
|
|
1725
|
-
},
|
|
1726
|
-
], 8,
|
|
1727
|
-
[
|
|
1747
|
+
(i(!0), d(A, null, V(b.width, (r) => (i(), d("option", {
|
|
1748
|
+
key: r.value,
|
|
1749
|
+
value: r.value
|
|
1750
|
+
}, v(r.label), 9, Rn))), 128))
|
|
1751
|
+
], 8, On), [
|
|
1752
|
+
[J, u.value]
|
|
1728
1753
|
])
|
|
1729
1754
|
]),
|
|
1730
1755
|
t("button", {
|
|
1731
1756
|
type: "button",
|
|
1732
1757
|
class: "bg-gradient-to-r from-emerald-500 to-teal-500 hover:from-emerald-600 hover:to-teal-600 text-white px-5 py-2 rounded-lg font-medium shadow-sm hover:shadow-md transition-all duration-200 cursor-pointer",
|
|
1733
|
-
onClick: l[8] || (l[8] = (
|
|
1734
|
-
|
|
1758
|
+
onClick: l[8] || (l[8] = (r) => {
|
|
1759
|
+
I(e.rowIndex), m.value = !1;
|
|
1735
1760
|
})
|
|
1736
1761
|
}, " Guardar ")
|
|
1737
1762
|
], 32)
|
|
1738
1763
|
])
|
|
1739
|
-
])) :
|
|
1764
|
+
])) : S("", !0)
|
|
1740
1765
|
], 64));
|
|
1741
1766
|
}
|
|
1742
|
-
}),
|
|
1767
|
+
}), zn = ["id"], Nn = { class: "flex flex-row w-full gap-3 mt-6" }, Un = ["id"], qn = /* @__PURE__ */ W({
|
|
1743
1768
|
__name: "BodySection",
|
|
1744
1769
|
props: {
|
|
1745
1770
|
isComponentMode: Boolean,
|
|
@@ -1763,19 +1788,19 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1763
1788
|
}
|
|
1764
1789
|
},
|
|
1765
1790
|
setup(e) {
|
|
1766
|
-
const o = e, b =
|
|
1767
|
-
var
|
|
1768
|
-
const
|
|
1769
|
-
(
|
|
1791
|
+
const o = e, b = C(!1), $ = Y(() => {
|
|
1792
|
+
var u;
|
|
1793
|
+
const p = (u = o.globalPageConfiguration) == null ? void 0 : u.find(
|
|
1794
|
+
(s) => s.section === o.sectionSelected
|
|
1770
1795
|
);
|
|
1771
|
-
return (
|
|
1796
|
+
return (p == null ? void 0 : p.rows) || [];
|
|
1772
1797
|
});
|
|
1773
|
-
return (
|
|
1798
|
+
return (p, u) => (i(!0), d(A, null, V($.value, (s, m) => (i(), d("div", {
|
|
1774
1799
|
key: "row-" + m,
|
|
1775
1800
|
id: "row-" + e.sectionSelected + "-" + m,
|
|
1776
1801
|
class: "flex flex-col gap-3 w-full p-5 bg-white border border-slate-200 rounded-2xl js-row relative items-center hover:border-slate-300 hover:shadow-lg transition-all duration-300 css-pb-row group/row"
|
|
1777
1802
|
}, [
|
|
1778
|
-
L(
|
|
1803
|
+
L(Vn, {
|
|
1779
1804
|
moveRow: e.moveRow,
|
|
1780
1805
|
addRow: e.addRow,
|
|
1781
1806
|
removeRow: e.removeRow,
|
|
@@ -1784,28 +1809,28 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1784
1809
|
rowIndex: m,
|
|
1785
1810
|
section: e.sectionSelected
|
|
1786
1811
|
}, null, 8, ["moveRow", "addRow", "removeRow", "globalPageConfiguration", "updateRowConfig", "rowIndex", "section"]),
|
|
1787
|
-
t("div",
|
|
1788
|
-
(
|
|
1812
|
+
t("div", Nn, [
|
|
1813
|
+
(i(!0), d(A, null, V(s.columns, (w, I) => (i(), d("div", {
|
|
1789
1814
|
class: G([
|
|
1790
1815
|
"hover:shadow-md overflow-hidden dragging-zone border relative border-slate-200 shadow-sm w-full p-5 pt-10 min-h-[200px] rounded-xl flex flex-col gap-3 items-center before:content-['Columna'] before:absolute before:text-slate-300 before:text-7xl before:font-bold before:bottom-4 before:left-2 before:-rotate-12 before:opacity-30 before:duration-300 before:transition-opacity group hover:before:opacity-50 transition-all duration-300",
|
|
1791
1816
|
b.value ? "bg-gradient-to-b from-emerald-50 to-emerald-100 border-emerald-300 shadow-emerald-100" : "bg-gradient-to-b from-slate-50 to-slate-100"
|
|
1792
1817
|
]),
|
|
1793
|
-
key: "column-" +
|
|
1794
|
-
id: "col-" + e.sectionSelected + "-" + m + "-" +
|
|
1818
|
+
key: "column-" + I,
|
|
1819
|
+
id: "col-" + e.sectionSelected + "-" + m + "-" + I
|
|
1795
1820
|
}, [
|
|
1796
|
-
L(q(
|
|
1821
|
+
L(q(me), {
|
|
1797
1822
|
class: "h-full w-full mb-4",
|
|
1798
|
-
list:
|
|
1823
|
+
list: w.components,
|
|
1799
1824
|
group: { name: "draggingGroup", pull: !0, put: !0 },
|
|
1800
1825
|
"item-key": "name",
|
|
1801
1826
|
handle: ".handle",
|
|
1802
|
-
onStart:
|
|
1803
|
-
onEnd:
|
|
1827
|
+
onStart: u[0] || (u[0] = (c) => b.value = !0),
|
|
1828
|
+
onEnd: u[1] || (u[1] = (c) => b.value = !1)
|
|
1804
1829
|
}, {
|
|
1805
|
-
item: ce(({ element:
|
|
1806
|
-
L(
|
|
1830
|
+
item: ce(({ element: c }) => [
|
|
1831
|
+
L(be, {
|
|
1807
1832
|
renderApiDomain: e.renderApiDomain,
|
|
1808
|
-
object:
|
|
1833
|
+
object: c,
|
|
1809
1834
|
"is-component-mode": e.isComponentMode,
|
|
1810
1835
|
removeComponent: e.removeComponent,
|
|
1811
1836
|
section: e.sectionSelected,
|
|
@@ -1814,7 +1839,7 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1814
1839
|
]),
|
|
1815
1840
|
_: 1
|
|
1816
1841
|
}, 8, ["list"]),
|
|
1817
|
-
L(
|
|
1842
|
+
L(mn, {
|
|
1818
1843
|
section: e.sectionSelected,
|
|
1819
1844
|
globalPageConfiguration: e.globalPageConfiguration,
|
|
1820
1845
|
updateColConfig: e.updateColConfig,
|
|
@@ -1824,31 +1849,30 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1824
1849
|
removeCol: e.removeCol,
|
|
1825
1850
|
moveCol: e.moveCol,
|
|
1826
1851
|
rowIndex: m,
|
|
1827
|
-
columnIndex:
|
|
1852
|
+
columnIndex: I
|
|
1828
1853
|
}, null, 8, ["section", "globalPageConfiguration", "updateColConfig", "addComponentFunction", "fullwidthMode", "addCol", "removeCol", "moveCol", "rowIndex", "columnIndex"])
|
|
1829
|
-
], 10,
|
|
1854
|
+
], 10, Un))), 128))
|
|
1830
1855
|
])
|
|
1831
|
-
], 8,
|
|
1856
|
+
], 8, zn))), 128));
|
|
1832
1857
|
}
|
|
1833
|
-
}),
|
|
1858
|
+
}), Ln = { class: "flex justify-between items-center mb-4" }, Gn = { class: "text-xs" }, Hn = { class: "flex flex-wrap gap-2 mb-4 bg-white border border-slate-200 p-4 rounded-xl shadow-sm" }, Jn = ["value", "checked"], Wn = { class: "my-3" }, Yn = { class: "relative" }, Kn = { class: "component-library dragging-zone w-full p-5 min-h-[200px] border border-slate-200 bg-white rounded-xl flex flex-col gap-4 items-center shadow-sm" }, Qn = {
|
|
1834
1859
|
key: 0,
|
|
1835
1860
|
class: "text-center py-8 text-slate-400"
|
|
1836
1861
|
}, de = /* @__PURE__ */ W({
|
|
1837
1862
|
__name: "ComponentsBox",
|
|
1838
1863
|
props: {
|
|
1839
|
-
isComponentMode: Boolean,
|
|
1840
|
-
fullwidthMode: Boolean,
|
|
1841
|
-
columnToInsert:
|
|
1842
|
-
addComponentToColumn: Function,
|
|
1843
|
-
renderApiDomain:
|
|
1844
|
-
toggleComponentModeFunction: Function,
|
|
1845
|
-
isProduction: {
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
}
|
|
1864
|
+
isComponentMode: { type: Boolean },
|
|
1865
|
+
fullwidthMode: { type: Boolean },
|
|
1866
|
+
columnToInsert: {},
|
|
1867
|
+
addComponentToColumn: { type: Function },
|
|
1868
|
+
renderApiDomain: {},
|
|
1869
|
+
toggleComponentModeFunction: { type: Function },
|
|
1870
|
+
isProduction: { type: Boolean },
|
|
1871
|
+
components: {},
|
|
1872
|
+
excludedCategories: {}
|
|
1849
1873
|
},
|
|
1850
1874
|
setup(e) {
|
|
1851
|
-
const o = [
|
|
1875
|
+
const o = e, b = [
|
|
1852
1876
|
"Call to Action",
|
|
1853
1877
|
"Contenido",
|
|
1854
1878
|
"Separador",
|
|
@@ -1860,26 +1884,26 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1860
1884
|
"Formulario",
|
|
1861
1885
|
"Título",
|
|
1862
1886
|
"SEO"
|
|
1863
|
-
],
|
|
1864
|
-
const
|
|
1865
|
-
return
|
|
1866
|
-
(
|
|
1867
|
-
) :
|
|
1868
|
-
}),
|
|
1869
|
-
|
|
1870
|
-
},
|
|
1871
|
-
const
|
|
1872
|
-
|
|
1887
|
+
], $ = Y(() => !o.excludedCategories || o.excludedCategories.length === 0 ? b : b.filter((c) => !o.excludedCategories.includes(c))), p = C(!0), u = C([]), s = C(""), m = Y(() => {
|
|
1888
|
+
const c = s.value.toLowerCase(), l = Object.values(o.components), r = (f) => (f.name.toLowerCase() + f.description.toLowerCase() + f.tags.join(" ").toLowerCase()).includes(c);
|
|
1889
|
+
return u.value.length > 0 ? l.filter(
|
|
1890
|
+
(f) => u.value.includes(f.category) && r(f)
|
|
1891
|
+
) : l.filter(r);
|
|
1892
|
+
}), w = (c) => {
|
|
1893
|
+
s.value = c.target.value;
|
|
1894
|
+
}, I = (c) => {
|
|
1895
|
+
const l = c.target, r = l.value;
|
|
1896
|
+
l.checked ? u.value.includes(r) || u.value.push(r) : u.value = u.value.filter((f) => f !== r);
|
|
1873
1897
|
};
|
|
1874
|
-
return (
|
|
1875
|
-
|
|
1876
|
-
t("div",
|
|
1898
|
+
return (c, l) => (i(), d(A, null, [
|
|
1899
|
+
l[6] || (l[6] = t("h1", { class: "text-center text-2xl font-semibold mb-4 text-slate-700 tracking-tight" }, "Componentes", -1)),
|
|
1900
|
+
t("div", Ln, [
|
|
1877
1901
|
t("button", {
|
|
1878
1902
|
type: "button",
|
|
1879
|
-
onClick:
|
|
1903
|
+
onClick: l[0] || (l[0] = (r) => p.value = !p.value),
|
|
1880
1904
|
class: "mb-3 px-4 py-2 bg-white rounded-lg border border-slate-200 hover:border-slate-300 hover:shadow-sm transition-all duration-200 cursor-pointer text-slate-600 font-medium flex items-center gap-2"
|
|
1881
1905
|
}, [
|
|
1882
|
-
|
|
1906
|
+
l[2] || (l[2] = t("svg", {
|
|
1883
1907
|
class: "w-4 h-4",
|
|
1884
1908
|
fill: "none",
|
|
1885
1909
|
stroke: "currentColor",
|
|
@@ -1892,38 +1916,38 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1892
1916
|
d: "M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z"
|
|
1893
1917
|
})
|
|
1894
1918
|
], -1)),
|
|
1895
|
-
|
|
1896
|
-
t("span",
|
|
1919
|
+
l[3] || (l[3] = t("span", null, "Filtros", -1)),
|
|
1920
|
+
t("span", Gn, v(p.value ? "▲" : "▼"), 1)
|
|
1897
1921
|
]),
|
|
1898
1922
|
t("button", {
|
|
1899
1923
|
type: "button",
|
|
1900
1924
|
class: G([[e.isComponentMode ? "bg-gradient-to-r from-slate-600 to-slate-700 border-slate-700 text-white shadow-md" : "bg-white hover:bg-slate-100"], "cursor-pointer border border-slate-200 rounded-lg py-1.5 px-3 text-sm font-medium transition-all duration-200"]),
|
|
1901
|
-
onClick:
|
|
1902
|
-
var
|
|
1903
|
-
return (
|
|
1925
|
+
onClick: l[1] || (l[1] = (r) => {
|
|
1926
|
+
var f;
|
|
1927
|
+
return (f = e.toggleComponentModeFunction) == null ? void 0 : f.call(e);
|
|
1904
1928
|
})
|
|
1905
|
-
},
|
|
1929
|
+
}, v(e.isComponentMode ? "⚒️ Modo Configuración" : "👁️ Modo Visual"), 3)
|
|
1906
1930
|
]),
|
|
1907
|
-
|
|
1908
|
-
(
|
|
1909
|
-
key:
|
|
1910
|
-
class: G(["flex items-center gap-2 text-xs bg-slate-50 hover:bg-slate-100 px-3 py-2 rounded-lg cursor-pointer transition-colors duration-200 border border-transparent hover:border-slate-200", { "bg-emerald-50 border-emerald-200 text-emerald-700":
|
|
1931
|
+
O(t("div", Hn, [
|
|
1932
|
+
(i(!0), d(A, null, V($.value, (r) => (i(), d("label", {
|
|
1933
|
+
key: r,
|
|
1934
|
+
class: G(["flex items-center gap-2 text-xs bg-slate-50 hover:bg-slate-100 px-3 py-2 rounded-lg cursor-pointer transition-colors duration-200 border border-transparent hover:border-slate-200", { "bg-emerald-50 border-emerald-200 text-emerald-700": u.value.includes(r) }])
|
|
1911
1935
|
}, [
|
|
1912
1936
|
t("input", {
|
|
1913
1937
|
type: "checkbox",
|
|
1914
|
-
value:
|
|
1915
|
-
checked:
|
|
1916
|
-
onInput:
|
|
1938
|
+
value: r,
|
|
1939
|
+
checked: u.value.includes(r),
|
|
1940
|
+
onInput: I,
|
|
1917
1941
|
class: "w-4 h-4 rounded border-slate-300 text-emerald-500 focus:ring-emerald-500"
|
|
1918
|
-
}, null, 40,
|
|
1919
|
-
|
|
1920
|
-
], 2)),
|
|
1942
|
+
}, null, 40, Jn),
|
|
1943
|
+
E(" " + v(r), 1)
|
|
1944
|
+
], 2))), 128))
|
|
1921
1945
|
], 512), [
|
|
1922
|
-
[
|
|
1946
|
+
[xe, p.value]
|
|
1923
1947
|
]),
|
|
1924
|
-
t("div",
|
|
1925
|
-
t("div",
|
|
1926
|
-
|
|
1948
|
+
t("div", Wn, [
|
|
1949
|
+
t("div", Yn, [
|
|
1950
|
+
l[4] || (l[4] = t("svg", {
|
|
1927
1951
|
class: "absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-slate-400",
|
|
1928
1952
|
fill: "none",
|
|
1929
1953
|
stroke: "currentColor",
|
|
@@ -1937,25 +1961,25 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1937
1961
|
})
|
|
1938
1962
|
], -1)),
|
|
1939
1963
|
t("input", {
|
|
1940
|
-
onInput:
|
|
1964
|
+
onInput: w,
|
|
1941
1965
|
type: "text",
|
|
1942
1966
|
placeholder: "Buscar componente...",
|
|
1943
1967
|
class: "duration-300 border border-slate-200 bg-white rounded-xl py-3 px-4 pl-11 w-full focus:outline-none focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-400 hover:border-slate-300 shadow-sm"
|
|
1944
1968
|
}, null, 32)
|
|
1945
1969
|
])
|
|
1946
1970
|
]),
|
|
1947
|
-
t("div",
|
|
1948
|
-
L(q(
|
|
1971
|
+
t("div", Kn, [
|
|
1972
|
+
L(q(me), {
|
|
1949
1973
|
class: "w-full flex flex-col gap-4",
|
|
1950
|
-
list:
|
|
1974
|
+
list: m.value,
|
|
1951
1975
|
group: { name: "draggingGroup", pull: "clone", put: !1 },
|
|
1952
1976
|
itemKey: "name",
|
|
1953
|
-
clone: (
|
|
1977
|
+
clone: (r) => JSON.parse(JSON.stringify(r))
|
|
1954
1978
|
}, {
|
|
1955
|
-
item: ce(({ element:
|
|
1956
|
-
L(
|
|
1979
|
+
item: ce(({ element: r }) => [
|
|
1980
|
+
L(be, {
|
|
1957
1981
|
renderApiDomain: e.renderApiDomain,
|
|
1958
|
-
object:
|
|
1982
|
+
object: r,
|
|
1959
1983
|
"is-component-mode": e.isComponentMode,
|
|
1960
1984
|
fullwidthMode: e.fullwidthMode,
|
|
1961
1985
|
columnToInsert: e.columnToInsert,
|
|
@@ -1966,7 +1990,7 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1966
1990
|
]),
|
|
1967
1991
|
_: 1
|
|
1968
1992
|
}, 8, ["list", "clone"]),
|
|
1969
|
-
|
|
1993
|
+
m.value.length === 0 ? (i(), d("div", Qn, [...l[5] || (l[5] = [
|
|
1970
1994
|
t("svg", {
|
|
1971
1995
|
class: "w-12 h-12 mx-auto mb-3 opacity-50",
|
|
1972
1996
|
fill: "none",
|
|
@@ -1982,25 +2006,36 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1982
2006
|
], -1),
|
|
1983
2007
|
t("p", { class: "text-sm font-medium" }, "No se encontraron componentes", -1),
|
|
1984
2008
|
t("p", { class: "text-xs mt-1" }, "Intenta con otros filtros o términos de búsqueda", -1)
|
|
1985
|
-
])])) :
|
|
2009
|
+
])])) : S("", !0)
|
|
1986
2010
|
])
|
|
1987
2011
|
], 64));
|
|
1988
2012
|
}
|
|
1989
|
-
}),
|
|
2013
|
+
}), Xn = { class: "flex flex-col w-full transition-all duration-300 lf-page-builder bg-gradient-to-br from-slate-50 to-slate-100 min-h-screen" }, Zn = { class: "relative flex flex-row flex-wrap" }, _n = { class: "w-full flex justify-end py-4 pe-4" }, el = { class: "w-3/4" }, tl = {
|
|
1990
2014
|
key: 1,
|
|
1991
2015
|
class: "w-1/4 px-3 overflow-y-auto h-screen sticky top-0"
|
|
1992
|
-
},
|
|
2016
|
+
}, rl = /* @__PURE__ */ W({
|
|
1993
2017
|
__name: "Pagebuilder",
|
|
1994
2018
|
props: {
|
|
1995
2019
|
isProduction: { type: Boolean },
|
|
1996
2020
|
debugMode: { type: Boolean },
|
|
1997
2021
|
submitForm: { type: Boolean },
|
|
1998
|
-
inputId: {}
|
|
2022
|
+
inputId: {},
|
|
2023
|
+
excludeComponentTypes: {}
|
|
1999
2024
|
},
|
|
2000
2025
|
setup(e) {
|
|
2001
|
-
const o = e, b = o.isProduction ?? !1,
|
|
2002
|
-
|
|
2003
|
-
|
|
2026
|
+
const o = e, b = o.isProduction ?? !1, $ = o.debugMode ?? !1, p = o.submitForm ?? !1, u = o.inputId ?? null, s = [
|
|
2027
|
+
"Repetidor",
|
|
2028
|
+
// Siempre excluido
|
|
2029
|
+
...o.excludeComponentTypes ?? []
|
|
2030
|
+
], m = b ? "https://render-api.lefebvre.es" : "https://led-dev-astro-render-api-dev.eu.els.local", w = C(!0), I = C(void 0), c = C([]), l = C({ rowIndex: null, columnIndex: null, section: null }), r = C(!1), f = C(!1), R = Y(() => {
|
|
2031
|
+
const y = we();
|
|
2032
|
+
if (s.length === 0)
|
|
2033
|
+
return y;
|
|
2034
|
+
const h = {};
|
|
2035
|
+
for (const [x, k] of Object.entries(y))
|
|
2036
|
+
s.includes(k.category) || (h[x] = k);
|
|
2037
|
+
return h;
|
|
2038
|
+
}), P = C({
|
|
2004
2039
|
global: {
|
|
2005
2040
|
sidebarEnabled: !1,
|
|
2006
2041
|
renderAsBodyPart: !1,
|
|
@@ -2013,7 +2048,7 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
2013
2048
|
description: "",
|
|
2014
2049
|
robots: "index, follow"
|
|
2015
2050
|
}
|
|
2016
|
-
}),
|
|
2051
|
+
}), g = he([
|
|
2017
2052
|
{
|
|
2018
2053
|
section: "Header",
|
|
2019
2054
|
config: { width: "full" },
|
|
@@ -2036,187 +2071,191 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
2036
2071
|
}
|
|
2037
2072
|
]);
|
|
2038
2073
|
ae(() => {
|
|
2039
|
-
|
|
2074
|
+
n();
|
|
2040
2075
|
});
|
|
2041
|
-
const
|
|
2042
|
-
if (
|
|
2043
|
-
const y = document.getElementById(
|
|
2076
|
+
const n = () => {
|
|
2077
|
+
if (c.value = ["Header", "Footer", "Body", "Sidebar"], I.value = "Body", u) {
|
|
2078
|
+
const y = document.getElementById(u);
|
|
2044
2079
|
if (y) {
|
|
2045
|
-
const
|
|
2046
|
-
if (
|
|
2080
|
+
const h = y.value;
|
|
2081
|
+
if (h)
|
|
2047
2082
|
try {
|
|
2048
|
-
const
|
|
2049
|
-
(
|
|
2050
|
-
} catch (
|
|
2051
|
-
console.error("Error parsing input value:",
|
|
2083
|
+
const x = typeof h == "string" ? JSON.parse(h) : h;
|
|
2084
|
+
(x && typeof x == "object" && !Array.isArray(x) ? Object.keys(x).length > 0 : Array.isArray(x) ? x.length > 0 : !1) && se(h);
|
|
2085
|
+
} catch (x) {
|
|
2086
|
+
console.error("Error parsing input value:", x);
|
|
2052
2087
|
}
|
|
2053
2088
|
}
|
|
2054
2089
|
}
|
|
2055
|
-
},
|
|
2056
|
-
|
|
2057
|
-
},
|
|
2058
|
-
|
|
2059
|
-
},
|
|
2060
|
-
var
|
|
2061
|
-
const T =
|
|
2062
|
-
(
|
|
2063
|
-
padding:
|
|
2064
|
-
gap:
|
|
2065
|
-
width:
|
|
2090
|
+
}, a = () => {
|
|
2091
|
+
f.value = !f.value;
|
|
2092
|
+
}, F = () => {
|
|
2093
|
+
w.value = !w.value;
|
|
2094
|
+
}, j = (y, h, x, k, M) => {
|
|
2095
|
+
var D;
|
|
2096
|
+
const T = g.find((z) => z.section === h);
|
|
2097
|
+
(D = T == null ? void 0 : T.rows) != null && D[y] && (T.rows[y].config = {
|
|
2098
|
+
padding: x,
|
|
2099
|
+
gap: k,
|
|
2100
|
+
width: M
|
|
2066
2101
|
});
|
|
2067
|
-
},
|
|
2068
|
-
var
|
|
2069
|
-
const
|
|
2070
|
-
(
|
|
2071
|
-
width:
|
|
2072
|
-
gap:
|
|
2102
|
+
}, B = (y, h, x, k, M, T) => {
|
|
2103
|
+
var z, U, K;
|
|
2104
|
+
const D = g.find((Z) => Z.section === x);
|
|
2105
|
+
(K = (U = (z = D == null ? void 0 : D.rows) == null ? void 0 : z[y]) == null ? void 0 : U.columns) != null && K[h] && (D.rows[y].columns[h].config = {
|
|
2106
|
+
width: k,
|
|
2107
|
+
gap: M,
|
|
2073
2108
|
flexDirection: T
|
|
2074
2109
|
});
|
|
2075
|
-
},
|
|
2076
|
-
const
|
|
2077
|
-
if (
|
|
2078
|
-
const
|
|
2110
|
+
}, N = async (y, h) => {
|
|
2111
|
+
const x = g.find((k) => k.section === h);
|
|
2112
|
+
if (x) {
|
|
2113
|
+
const k = {
|
|
2079
2114
|
config: {},
|
|
2080
2115
|
columns: [{ config: {}, components: [] }]
|
|
2081
2116
|
};
|
|
2082
|
-
y !== null && y >= 0 && y <
|
|
2117
|
+
y !== null && y >= 0 && y < x.rows.length ? x.rows.splice(y + 1, 0, k) : x.rows.push(k);
|
|
2083
2118
|
}
|
|
2084
|
-
await new Promise((
|
|
2119
|
+
await new Promise((k) => {
|
|
2085
2120
|
setTimeout(() => {
|
|
2086
|
-
const
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
}, 3e3)) :
|
|
2121
|
+
const M = document.getElementById(`row-${h}-${(y ?? 0) + 1}`);
|
|
2122
|
+
M ? (M.scrollIntoView({ behavior: "smooth", block: "center" }), M.classList.add("selected-delay"), setTimeout(() => {
|
|
2123
|
+
M.classList.remove("selected-delay"), k();
|
|
2124
|
+
}, 3e3)) : k();
|
|
2090
2125
|
}, 0);
|
|
2091
2126
|
});
|
|
2092
|
-
},
|
|
2093
|
-
const
|
|
2094
|
-
!(
|
|
2095
|
-
},
|
|
2096
|
-
var
|
|
2097
|
-
const
|
|
2098
|
-
if (!((
|
|
2127
|
+
}, X = (y, h) => {
|
|
2128
|
+
const x = g.find((k) => k.section === h);
|
|
2129
|
+
!(x != null && x.rows) || x.rows.length <= 1 || x.rows.splice(y, 1);
|
|
2130
|
+
}, H = (y, h, x = "down") => {
|
|
2131
|
+
var z;
|
|
2132
|
+
const k = g.find((U) => U.section === h);
|
|
2133
|
+
if (!((z = k == null ? void 0 : k.rows) != null && z[y]) || x === "up" && y === 0 || x === "down" && y === k.rows.length - 1)
|
|
2099
2134
|
return;
|
|
2100
|
-
const
|
|
2101
|
-
|
|
2102
|
-
},
|
|
2103
|
-
var
|
|
2104
|
-
const
|
|
2105
|
-
(
|
|
2135
|
+
const M = k.rows, T = M.splice(y, 1)[0], D = x === "down" ? y + 1 : y - 1;
|
|
2136
|
+
M.splice(D, 0, T);
|
|
2137
|
+
}, _ = async (y, h, x, k = "right") => {
|
|
2138
|
+
var D;
|
|
2139
|
+
const M = k === "left" ? h : h + 1, T = g.find((z) => z.section === x);
|
|
2140
|
+
(D = T == null ? void 0 : T.rows) != null && D[y] && T.rows[y].columns.splice(M, 0, {
|
|
2106
2141
|
config: {},
|
|
2107
2142
|
components: []
|
|
2108
|
-
}), await new Promise((
|
|
2143
|
+
}), await new Promise((z) => {
|
|
2109
2144
|
setTimeout(() => {
|
|
2110
|
-
const
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
}, 3e3)) :
|
|
2145
|
+
const U = document.getElementById(`col-${x}-${y}-${M}`);
|
|
2146
|
+
U ? (U.scrollIntoView({ behavior: "smooth", block: "center" }), U.classList.add("selected-delay"), setTimeout(() => {
|
|
2147
|
+
U.classList.remove("selected-delay"), z();
|
|
2148
|
+
}, 3e3)) : z();
|
|
2114
2149
|
}, 0);
|
|
2115
2150
|
});
|
|
2116
|
-
},
|
|
2117
|
-
var T,
|
|
2118
|
-
const
|
|
2119
|
-
!
|
|
2120
|
-
},
|
|
2121
|
-
var
|
|
2122
|
-
const
|
|
2123
|
-
if (!((
|
|
2151
|
+
}, ee = (y, h, x) => {
|
|
2152
|
+
var T, D;
|
|
2153
|
+
const k = g.find((z) => z.section === x), M = (D = (T = k == null ? void 0 : k.rows) == null ? void 0 : T[y]) == null ? void 0 : D.columns;
|
|
2154
|
+
!M || M.length <= 1 || M.splice(h, 1);
|
|
2155
|
+
}, te = (y, h, x, k = "right") => {
|
|
2156
|
+
var U;
|
|
2157
|
+
const M = g.find((K) => K.section === x);
|
|
2158
|
+
if (!((U = M == null ? void 0 : M.rows) != null && U[y]) || k === "left" && h === 0 || k === "right" && h === M.rows[y].columns.length - 1)
|
|
2124
2159
|
return;
|
|
2125
|
-
const T =
|
|
2126
|
-
T.splice(
|
|
2127
|
-
},
|
|
2128
|
-
var
|
|
2129
|
-
const
|
|
2130
|
-
(
|
|
2131
|
-
|
|
2132
|
-
const
|
|
2133
|
-
|
|
2160
|
+
const T = M.rows[y].columns, D = T.splice(h, 1)[0], z = k === "right" ? h + 1 : h - 1;
|
|
2161
|
+
T.splice(z, 0, D);
|
|
2162
|
+
}, ge = (y, h) => {
|
|
2163
|
+
var k;
|
|
2164
|
+
const x = g.find((M) => M.section === h);
|
|
2165
|
+
(k = x == null ? void 0 : x.rows) == null || k.forEach((M) => {
|
|
2166
|
+
M.columns.forEach((T) => {
|
|
2167
|
+
const D = T.components.indexOf(y);
|
|
2168
|
+
D !== -1 && T.components.splice(D, 1);
|
|
2134
2169
|
});
|
|
2135
2170
|
});
|
|
2136
|
-
},
|
|
2137
|
-
|
|
2171
|
+
}, fe = (y, h, x) => {
|
|
2172
|
+
r.value = !0, l.value = { rowIndex: y, columnIndex: h, section: x };
|
|
2138
2173
|
}, re = (y) => {
|
|
2139
|
-
var
|
|
2140
|
-
const { rowIndex:
|
|
2141
|
-
if (
|
|
2142
|
-
const
|
|
2143
|
-
Z == null || Z.push(
|
|
2174
|
+
var M, T, D, z;
|
|
2175
|
+
const { rowIndex: h, columnIndex: x, section: k } = l.value;
|
|
2176
|
+
if (h !== null && x !== null) {
|
|
2177
|
+
const U = JSON.parse(JSON.stringify(y)), K = g.find((pe) => pe.section === k), Z = (z = (D = (T = (M = K == null ? void 0 : K.rows) == null ? void 0 : M[h]) == null ? void 0 : T.columns) == null ? void 0 : D[x]) == null ? void 0 : z.components;
|
|
2178
|
+
Z == null || Z.push(U);
|
|
2144
2179
|
}
|
|
2145
|
-
|
|
2180
|
+
r.value = !1;
|
|
2146
2181
|
}, se = (y) => {
|
|
2147
|
-
const
|
|
2148
|
-
|
|
2182
|
+
const h = typeof y == "string" ? JSON.parse(y) : y;
|
|
2183
|
+
g.length = 0, g.push(...h.pageConfig || []), h.paramsConfig && (P.value = { ...P.value, ...h.paramsConfig });
|
|
2149
2184
|
};
|
|
2150
|
-
return (y,
|
|
2151
|
-
L(
|
|
2152
|
-
sectionSelected:
|
|
2153
|
-
"onUpdate:sectionSelected":
|
|
2154
|
-
parametersPageConfiguration:
|
|
2155
|
-
"onUpdate:parametersPageConfiguration":
|
|
2156
|
-
globalPageConfiguration:
|
|
2157
|
-
availableSections:
|
|
2185
|
+
return (y, h) => (i(), d("div", Xn, [
|
|
2186
|
+
L(dt, {
|
|
2187
|
+
sectionSelected: I.value,
|
|
2188
|
+
"onUpdate:sectionSelected": h[0] || (h[0] = (x) => I.value = x),
|
|
2189
|
+
parametersPageConfiguration: P.value,
|
|
2190
|
+
"onUpdate:parametersPageConfiguration": h[1] || (h[1] = (x) => P.value = x),
|
|
2191
|
+
globalPageConfiguration: g,
|
|
2192
|
+
availableSections: c.value,
|
|
2158
2193
|
importConfigurationFunction: se,
|
|
2159
|
-
isComponentMode:
|
|
2160
|
-
toggleComponentModeFunction:
|
|
2161
|
-
fullwidthMode:
|
|
2162
|
-
toggleFullwidthMode:
|
|
2163
|
-
renderApiDomain: q(
|
|
2164
|
-
inputId: q(
|
|
2165
|
-
debugMode: q(
|
|
2166
|
-
submitForm: q(
|
|
2194
|
+
isComponentMode: f.value,
|
|
2195
|
+
toggleComponentModeFunction: a,
|
|
2196
|
+
fullwidthMode: w.value,
|
|
2197
|
+
toggleFullwidthMode: F,
|
|
2198
|
+
renderApiDomain: q(m),
|
|
2199
|
+
inputId: q(u),
|
|
2200
|
+
debugMode: q($),
|
|
2201
|
+
submitForm: q(p)
|
|
2167
2202
|
}, null, 8, ["sectionSelected", "parametersPageConfiguration", "globalPageConfiguration", "availableSections", "isComponentMode", "fullwidthMode", "renderApiDomain", "inputId", "debugMode", "submitForm"]),
|
|
2168
|
-
t("div",
|
|
2169
|
-
|
|
2203
|
+
t("div", Zn, [
|
|
2204
|
+
w.value ? (i(), d("div", {
|
|
2170
2205
|
key: 0,
|
|
2171
|
-
class: G(["w-full overflow-y-auto fixed top-0 left-0 h-full bg-gradient-to-br from-slate-100 via-white to-slate-50 z-9999 px-4 flex justify-start flex flex-col items-center backdrop-blur-sm",
|
|
2206
|
+
class: G(["w-full overflow-y-auto fixed top-0 left-0 h-full bg-gradient-to-br from-slate-100 via-white to-slate-50 z-9999 px-4 flex justify-start flex flex-col items-center backdrop-blur-sm", r.value ? "" : "hidden"])
|
|
2172
2207
|
}, [
|
|
2173
|
-
t("div",
|
|
2208
|
+
t("div", _n, [
|
|
2174
2209
|
t("div", {
|
|
2175
2210
|
class: "cursor-pointer w-10 h-10 flex items-center justify-center rounded-full bg-white shadow-md hover:shadow-lg hover:bg-red-50 text-slate-400 hover:text-red-500 transition-all duration-200 text-xl font-light",
|
|
2176
|
-
onClick:
|
|
2211
|
+
onClick: h[2] || (h[2] = (x) => r.value = !1)
|
|
2177
2212
|
}, "✕")
|
|
2178
2213
|
]),
|
|
2179
|
-
t("div",
|
|
2214
|
+
t("div", el, [
|
|
2180
2215
|
L(de, {
|
|
2181
|
-
renderApiDomain: q(
|
|
2182
|
-
isComponentMode:
|
|
2183
|
-
fullwidthMode:
|
|
2184
|
-
columnToInsert:
|
|
2216
|
+
renderApiDomain: q(m),
|
|
2217
|
+
isComponentMode: f.value,
|
|
2218
|
+
fullwidthMode: w.value,
|
|
2219
|
+
columnToInsert: l.value,
|
|
2185
2220
|
addComponentToColumn: re,
|
|
2186
|
-
toggleComponentModeFunction:
|
|
2187
|
-
isProduction: q(b)
|
|
2188
|
-
|
|
2221
|
+
toggleComponentModeFunction: a,
|
|
2222
|
+
isProduction: q(b),
|
|
2223
|
+
components: R.value,
|
|
2224
|
+
excludedCategories: s
|
|
2225
|
+
}, null, 8, ["renderApiDomain", "isComponentMode", "fullwidthMode", "columnToInsert", "isProduction", "components"])
|
|
2189
2226
|
])
|
|
2190
|
-
], 2)) : (
|
|
2227
|
+
], 2)) : (i(), d("div", tl, [
|
|
2191
2228
|
L(de, {
|
|
2192
|
-
renderApiDomain: q(
|
|
2193
|
-
isComponentMode:
|
|
2194
|
-
fullwidthMode:
|
|
2195
|
-
columnToInsert:
|
|
2229
|
+
renderApiDomain: q(m),
|
|
2230
|
+
isComponentMode: f.value,
|
|
2231
|
+
fullwidthMode: w.value,
|
|
2232
|
+
columnToInsert: l.value,
|
|
2196
2233
|
addComponentToColumn: re,
|
|
2197
|
-
toggleComponentModeFunction:
|
|
2198
|
-
isProduction: q(b)
|
|
2199
|
-
|
|
2234
|
+
toggleComponentModeFunction: a,
|
|
2235
|
+
isProduction: q(b),
|
|
2236
|
+
components: R.value,
|
|
2237
|
+
excludedCategories: s
|
|
2238
|
+
}, null, 8, ["renderApiDomain", "isComponentMode", "fullwidthMode", "columnToInsert", "isProduction", "components"])
|
|
2200
2239
|
])),
|
|
2201
2240
|
t("div", {
|
|
2202
|
-
class: G([
|
|
2241
|
+
class: G([w.value ? "w-full px-4" : "w-3/4 ps-3", "flex flex-col gap-5"])
|
|
2203
2242
|
}, [
|
|
2204
|
-
L(
|
|
2205
|
-
globalPageConfiguration:
|
|
2206
|
-
isComponentMode:
|
|
2207
|
-
removeComponent:
|
|
2208
|
-
addComponentFunction:
|
|
2209
|
-
fullwidthMode:
|
|
2210
|
-
addCol:
|
|
2211
|
-
addRow:
|
|
2212
|
-
removeRow:
|
|
2213
|
-
removeCol:
|
|
2214
|
-
moveCol:
|
|
2215
|
-
updateRowConfig:
|
|
2216
|
-
updateColConfig:
|
|
2217
|
-
moveRow:
|
|
2218
|
-
sectionSelected:
|
|
2219
|
-
renderApiDomain: q(
|
|
2243
|
+
L(qn, {
|
|
2244
|
+
globalPageConfiguration: g,
|
|
2245
|
+
isComponentMode: f.value,
|
|
2246
|
+
removeComponent: ge,
|
|
2247
|
+
addComponentFunction: fe,
|
|
2248
|
+
fullwidthMode: w.value,
|
|
2249
|
+
addCol: _,
|
|
2250
|
+
addRow: N,
|
|
2251
|
+
removeRow: X,
|
|
2252
|
+
removeCol: ee,
|
|
2253
|
+
moveCol: te,
|
|
2254
|
+
updateRowConfig: j,
|
|
2255
|
+
updateColConfig: B,
|
|
2256
|
+
moveRow: H,
|
|
2257
|
+
sectionSelected: I.value,
|
|
2258
|
+
renderApiDomain: q(m),
|
|
2220
2259
|
isProduction: q(b)
|
|
2221
2260
|
}, null, 8, ["globalPageConfiguration", "isComponentMode", "fullwidthMode", "sectionSelected", "renderApiDomain", "isProduction"])
|
|
2222
2261
|
], 2)
|
|
@@ -2225,15 +2264,15 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
2225
2264
|
}
|
|
2226
2265
|
});
|
|
2227
2266
|
export {
|
|
2228
|
-
|
|
2229
|
-
|
|
2267
|
+
qn as BodySection,
|
|
2268
|
+
mn as ColConfig,
|
|
2230
2269
|
de as ComponentsBox,
|
|
2231
|
-
|
|
2270
|
+
po as FeedComponent,
|
|
2232
2271
|
ie as FieldsForm,
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2272
|
+
dt as GlobalConfig,
|
|
2273
|
+
be as InitialComponent,
|
|
2274
|
+
rl as Pagebuilder,
|
|
2275
|
+
Vn as RowConfig,
|
|
2276
|
+
Bt as SourceFilter,
|
|
2277
|
+
rl as default
|
|
2239
2278
|
};
|