lf-pagebuilder-vue 0.0.7 → 0.0.8
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 +970 -956
- 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 N, vModelSelect as H, vModelCheckbox as ne, createBlock as ue, createTextVNode as T, 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,101 +30,101 @@ 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 ((
|
|
35
|
+
var g, l;
|
|
36
|
+
const P = (g = e.globalPageConfiguration) == null ? void 0 : g.find((r) => r.section === e.sectionSelected);
|
|
37
|
+
return ((l = P == null ? void 0 : P.config) == null ? void 0 : l.width) || "";
|
|
38
38
|
},
|
|
39
|
-
set(
|
|
40
|
-
var
|
|
41
|
-
const
|
|
42
|
-
|
|
39
|
+
set(P) {
|
|
40
|
+
var l;
|
|
41
|
+
const g = (l = e.globalPageConfiguration) == null ? void 0 : l.find((r) => r.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), l = new CustomEvent("lf-pagebuilder:export", {
|
|
49
|
+
detail: { ...P, inputId: e.inputId }
|
|
50
50
|
});
|
|
51
|
-
document.dispatchEvent(
|
|
51
|
+
document.dispatchEvent(l);
|
|
52
52
|
const r = window.open("", "Preview", "width='100vw',height='100vh'");
|
|
53
|
-
r && (r.document.body.innerText =
|
|
54
|
-
},
|
|
55
|
-
const
|
|
53
|
+
r && (r.document.body.innerText = g, r.document.close());
|
|
54
|
+
}, w = () => {
|
|
55
|
+
const P = {
|
|
56
56
|
pageConfig: e.globalPageConfiguration,
|
|
57
57
|
paramsConfig: e.parametersPageConfiguration
|
|
58
|
-
},
|
|
59
|
-
|
|
60
|
-
const
|
|
61
|
-
detail: { ...
|
|
58
|
+
}, g = JSON.stringify(P);
|
|
59
|
+
I(g);
|
|
60
|
+
const l = new CustomEvent("lf-pagebuilder:save", {
|
|
61
|
+
detail: { ...P, inputId: e.inputId }
|
|
62
62
|
});
|
|
63
|
-
if (document.dispatchEvent(
|
|
63
|
+
if (document.dispatchEvent(l), e.inputId) {
|
|
64
64
|
const r = document.getElementById(e.inputId);
|
|
65
|
-
r && (r.value =
|
|
65
|
+
r && (r.value = g);
|
|
66
66
|
}
|
|
67
|
-
if (
|
|
68
|
-
|
|
69
|
-
}, 3e3), e.submitForm &&
|
|
70
|
-
const r =
|
|
67
|
+
if (p.value = !0, setTimeout(() => {
|
|
68
|
+
p.value = !1;
|
|
69
|
+
}, 3e3), e.submitForm && u.value) {
|
|
70
|
+
const r = u.value.closest("form");
|
|
71
71
|
r && r.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:
|
|
89
|
-
}).then((
|
|
88
|
+
body: g
|
|
89
|
+
}).then((l) => l.text()).then((l) => {
|
|
90
90
|
const r = window.open("", "Preview", "width='100vw',height='100vh'");
|
|
91
91
|
if (!r) return;
|
|
92
|
-
const
|
|
92
|
+
const j = new DOMParser().parseFromString(l, "text/html"), B = [];
|
|
93
93
|
function U(J, _ = 0) {
|
|
94
94
|
if (!J || J.nodeType !== 1) return;
|
|
95
95
|
const ee = J.tagName.toLowerCase();
|
|
96
|
-
["h1", "h2", "h3", "h4", "h5", "h6", "a", "p", "article", "section", "header", "footer"].includes(ee) &&
|
|
96
|
+
["h1", "h2", "h3", "h4", "h5", "h6", "a", "p", "article", "section", "header", "footer"].includes(ee) && B.push({
|
|
97
97
|
tag: ee,
|
|
98
98
|
text: (J.textContent || "").trim().slice(0, 80),
|
|
99
99
|
depth: _
|
|
100
100
|
}), Array.from(J.children).forEach((te) => U(te, _ + 1));
|
|
101
101
|
}
|
|
102
|
-
U(
|
|
102
|
+
U(j.body);
|
|
103
103
|
let X = '<h2>Estructura SEO</h2><ul style="font-family:monospace">';
|
|
104
|
-
|
|
104
|
+
B.forEach((J) => {
|
|
105
105
|
X += `<li style="margin-left:${J.depth * 20}px"><b>${J.tag}</b>: ${J.text}</li>`;
|
|
106
106
|
}), X += "</ul>", r.document.body.innerHTML = X, r.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:
|
|
122
|
-
}).then((
|
|
121
|
+
body: g
|
|
122
|
+
}).then((l) => l.text()).then((l) => {
|
|
123
123
|
const r = window.open("", "Preview", "width='100vw',height='100vh'");
|
|
124
|
-
r && (r.document.body.innerHTML =
|
|
124
|
+
r && (r.document.body.innerHTML = l, r.document.querySelectorAll("script").forEach((j) => {
|
|
125
125
|
var U;
|
|
126
|
-
const
|
|
127
|
-
|
|
126
|
+
const B = r.document.createElement("script");
|
|
127
|
+
j.src ? B.src = j.src : B.textContent = j.textContent, (U = j.parentNode) == null || U.replaceChild(B, j);
|
|
128
128
|
}), r.document.close());
|
|
129
129
|
});
|
|
130
130
|
},
|
|
@@ -132,116 +132,116 @@ const we = W({
|
|
|
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
|
|
140
|
-
e.importConfigurationFunction(
|
|
137
|
+
const P = e.inputId ? `pageBuilderConfig_${e.inputId}` : "pageBuilderConfig", g = localStorage.getItem(P);
|
|
138
|
+
if (g && e.importConfigurationFunction) {
|
|
139
|
+
const l = JSON.parse(g);
|
|
140
|
+
e.importConfigurationFunction(l);
|
|
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" }, Ne = { value: "1/5" }, Ve = { value: "2/5" }, Ue = { value: "3/5" }, ze = { value: "4/5" }, qe = { key: 0 }, Le = { key: 1 }, Ge = { class: "flex items-center gap-2" }, Je = {
|
|
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
|
+
}, He = { 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, N(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",
|
|
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", Ne, "Sección " + v(e.sectionSelected) + " ocupa 1/5 del ancho de la página", 1),
|
|
242
|
+
t("option", Ve, "Sección " + v(e.sectionSelected) + " ocupa 2/5 del ancho de la página", 1),
|
|
243
|
+
t("option", Ue, "Sección " + v(e.sectionSelected) + " ocupa 3/5 del ancho de la página", 1),
|
|
244
|
+
t("option", ze, "Sección " + v(e.sectionSelected) + " ocupa 4/5 del ancho de la página", 1)
|
|
245
245
|
], 512), [
|
|
246
246
|
[H, e.sectionWidth]
|
|
247
247
|
]),
|
|
@@ -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", Je, [
|
|
287
|
+
t("div", He, [
|
|
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,75 +315,75 @@ 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),
|
|
@@ -392,51 +392,51 @@ function rt(e, o, b, h, g, c) {
|
|
|
392
392
|
[H, 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, N(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
|
+
T(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, N(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((n) => n.id === $.value);
|
|
629
|
+
return c ? c.filters : [];
|
|
630
|
+
}), m = (c, n) => {
|
|
631
|
+
p.value[c] = n;
|
|
632
|
+
}, w = () => {
|
|
633
|
+
p.value = {};
|
|
634
|
+
}, I = async () => {
|
|
635
635
|
b.value = !0;
|
|
636
|
-
const
|
|
637
|
-
if (!
|
|
636
|
+
const c = u.value.find((a) => a.id === $.value);
|
|
637
|
+
if (!c) {
|
|
638
638
|
console.error("Origen no encontrado"), b.value = !1;
|
|
639
639
|
return;
|
|
640
640
|
}
|
|
641
|
-
const
|
|
642
|
-
Object.keys(
|
|
643
|
-
|
|
641
|
+
const n = new URL(c.apiUrl);
|
|
642
|
+
Object.keys(p.value).forEach((a) => {
|
|
643
|
+
p.value[a] && n.searchParams.append(a, p.value[a]);
|
|
644
644
|
});
|
|
645
645
|
try {
|
|
646
|
-
const
|
|
646
|
+
const f = await (await fetch(n.toString(), {
|
|
647
647
|
method: "GET",
|
|
648
648
|
headers: {
|
|
649
649
|
Accept: "text/xml, application/xml"
|
|
650
650
|
}
|
|
651
|
-
})).text(),
|
|
651
|
+
})).text(), P = new DOMParser().parseFromString(f, "text/xml"), g = Array.from(P.querySelectorAll("item")).map((l) => {
|
|
652
652
|
const r = {};
|
|
653
|
-
return Array.from(
|
|
654
|
-
|
|
655
|
-
const
|
|
656
|
-
r[
|
|
657
|
-
}) : r[
|
|
653
|
+
return Array.from(l.children).forEach((F) => {
|
|
654
|
+
F.children.length > 0 ? Array.from(F.children).forEach((j) => {
|
|
655
|
+
const B = `${F.nodeName}_${j.nodeName}`;
|
|
656
|
+
r[B] = j.textContent || "";
|
|
657
|
+
}) : r[F.nodeName] = F.textContent || "";
|
|
658
658
|
}), r;
|
|
659
659
|
});
|
|
660
|
-
o.onSubmit(
|
|
661
|
-
} catch (
|
|
662
|
-
console.error("Error al aplicar filtros:",
|
|
660
|
+
o.onSubmit(g);
|
|
661
|
+
} catch (a) {
|
|
662
|
+
console.error("Error al aplicar filtros:", a), o.onSubmit([]);
|
|
663
663
|
} finally {
|
|
664
|
-
const
|
|
665
|
-
name:
|
|
666
|
-
url:
|
|
664
|
+
const a = {
|
|
665
|
+
name: c.name,
|
|
666
|
+
url: n.toString()
|
|
667
667
|
};
|
|
668
|
-
o.updateFeedCriteria(
|
|
668
|
+
o.updateFeedCriteria(a), b.value = !1;
|
|
669
669
|
}
|
|
670
670
|
};
|
|
671
|
-
return (
|
|
671
|
+
return (c, n) => (i(), d("div", ht, [
|
|
672
672
|
t("div", null, [
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
"onUpdate:modelValue":
|
|
673
|
+
n[1] || (n[1] = t("label", { class: "block text-sm font-semibold text-slate-600 mb-2" }, "Seleccionar origen:", -1)),
|
|
674
|
+
O(t("select", {
|
|
675
|
+
"onUpdate:modelValue": n[0] || (n[0] = (a) => $.value = a),
|
|
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
|
-
[H,
|
|
680
|
+
(i(!0), d(A, null, N(u.value, (a) => (i(), d("option", {
|
|
681
|
+
key: a.id,
|
|
682
|
+
value: a.id
|
|
683
|
+
}, v(a.name), 9, yt))), 128))
|
|
684
|
+
], 40, wt), [
|
|
685
|
+
[H, $.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, N(s.value, (a) => (i(), d("div", {
|
|
691
|
+
key: a.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(a.label) + ":", 1),
|
|
695
|
+
a.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(a.id, f.target.value),
|
|
699
699
|
disabled: b.value
|
|
700
700
|
}, [
|
|
701
|
-
|
|
702
|
-
(
|
|
703
|
-
key:
|
|
704
|
-
value:
|
|
705
|
-
}, f
|
|
706
|
-
], 40,
|
|
701
|
+
n[2] || (n[2] = t("option", { value: "" }, "Seleccionar...", -1)),
|
|
702
|
+
(i(!0), d(A, null, N(a.options, (f) => (i(), d("option", {
|
|
703
|
+
key: f,
|
|
704
|
+
value: f
|
|
705
|
+
}, v(f), 9, Ft))), 128))
|
|
706
|
+
], 40, St)) : a.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(a.id, f.target.value),
|
|
711
711
|
disabled: b.value
|
|
712
|
-
}, null, 40,
|
|
712
|
+
}, null, 40, Pt)) : a.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(a.id, f.target.value),
|
|
717
717
|
disabled: b.value,
|
|
718
|
-
placeholder:
|
|
719
|
-
}, null, 40,
|
|
718
|
+
placeholder: a.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
|
+
T(" " + 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" }, Nt = {
|
|
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
|
+
}, Vt = { class: "list-none mt-3 space-y-2 text-slate-600" }, Ut = { class: "flex items-start gap-2" }, zt = { 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" }, Jt = { class: "flex items-start gap-2" }, Ht = { 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,274 +773,274 @@ 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
|
-
|
|
780
|
-
},
|
|
781
|
-
const
|
|
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
|
+
}, n = () => {
|
|
781
|
+
const g = o.object.fields.filter((l) => l.mappedTo).map((l) => {
|
|
782
782
|
var r;
|
|
783
783
|
return {
|
|
784
|
-
fieldName:
|
|
785
|
-
mappedTo:
|
|
786
|
-
value: ((r =
|
|
784
|
+
fieldName: l.name,
|
|
785
|
+
mappedTo: l.mappedTo,
|
|
786
|
+
value: ((r = $.value) == null ? void 0 : r[l.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: l, mappedTo: r }) => ({ fieldName: l, mappedTo: r }))
|
|
795
|
+
}, o.updateObjectByFeedContent && o.updateObjectByFeedContent(g, w.value), o.toggleFeedSection();
|
|
796
|
+
}, a = (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(((
|
|
814
|
-
fieldName:
|
|
815
|
-
mappedTo:
|
|
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((l) => ({
|
|
814
|
+
fieldName: l.fieldName,
|
|
815
|
+
mappedTo: l.mappedTo,
|
|
816
816
|
value: null
|
|
817
|
-
}))) || [],
|
|
817
|
+
}))) || [], w.value));
|
|
818
818
|
};
|
|
819
819
|
return ae(() => {
|
|
820
|
-
|
|
821
|
-
}), (
|
|
822
|
-
t("div",
|
|
823
|
-
|
|
820
|
+
f();
|
|
821
|
+
}), (g, l) => (i(), d("div", Et, [
|
|
822
|
+
t("div", Tt, [
|
|
823
|
+
l[5] || (l[5] = t("h2", { class: "text-2xl font-bold bg-gradient-to-r from-slate-700 to-slate-500 bg-clip-text text-transparent flex items-center gap-3" }, [
|
|
824
824
|
t("span", { class: "text-3xl" }, "🍺"),
|
|
825
|
-
|
|
825
|
+
T(" Configuración de Feed ")
|
|
826
826
|
], -1)),
|
|
827
827
|
t("button", {
|
|
828
|
-
onClick:
|
|
828
|
+
onClick: l[0] || (l[0] = //@ts-ignore
|
|
829
829
|
(...r) => e.toggleFeedSection && e.toggleFeedSection(...r)),
|
|
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
|
+
}, [...l[4] || (l[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", Nt, [
|
|
839
839
|
t("div", { class: "flex justify-between items-start" }, [
|
|
840
|
-
|
|
840
|
+
l[8] || (l[8] = t("p", { class: "flex items-center gap-2" }, [
|
|
841
841
|
t("span", { class: "text-emerald-500" }, "✓"),
|
|
842
|
-
|
|
842
|
+
T(" 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
|
+
}, [...l[6] || (l[6] = [
|
|
849
849
|
t("span", null, "💾", -1),
|
|
850
|
-
|
|
850
|
+
T(" 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
|
+
}, [...l[7] || (l[7] = [
|
|
856
856
|
t("span", null, "✕", -1),
|
|
857
|
-
|
|
857
|
+
T(" Borrar ", -1)
|
|
858
858
|
])])
|
|
859
859
|
])
|
|
860
860
|
]),
|
|
861
|
-
t("ul",
|
|
862
|
-
t("li", Nt, [
|
|
863
|
-
n[9] || (n[9] = t("span", { class: "text-emerald-400" }, "→", -1)),
|
|
864
|
-
n[10] || (n[10] = D(" Conectar con ", -1)),
|
|
865
|
-
t("span", Vt, f(C.value.name), 1)
|
|
866
|
-
]),
|
|
861
|
+
t("ul", Vt, [
|
|
867
862
|
t("li", Ut, [
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
t("span", zt,
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
863
|
+
l[9] || (l[9] = t("span", { class: "text-emerald-400" }, "→", -1)),
|
|
864
|
+
l[10] || (l[10] = T(" Conectar con ", -1)),
|
|
865
|
+
t("span", zt, v(w.value.name), 1)
|
|
866
|
+
]),
|
|
867
|
+
t("li", qt, [
|
|
868
|
+
l[11] || (l[11] = t("span", { class: "text-emerald-400" }, "→", -1)),
|
|
869
|
+
l[12] || (l[12] = T(" Recuperar ", -1)),
|
|
870
|
+
t("span", Lt, v(w.value.elementCount), 1),
|
|
871
|
+
l[13] || (l[13] = T(" items (", -1)),
|
|
872
|
+
t("span", Gt, v(w.value.orientation), 1),
|
|
873
|
+
l[14] || (l[14] = T(")", -1))
|
|
874
874
|
]),
|
|
875
|
-
t("li",
|
|
876
|
-
|
|
875
|
+
t("li", Jt, [
|
|
876
|
+
l[17] || (l[17] = t("span", { class: "text-emerald-400" }, "→", -1)),
|
|
877
877
|
t("div", null, [
|
|
878
|
-
|
|
879
|
-
t("div",
|
|
880
|
-
(
|
|
881
|
-
key:
|
|
878
|
+
l[16] || (l[16] = T(" Mapeo: ", -1)),
|
|
879
|
+
t("div", Ht, [
|
|
880
|
+
(i(!0), d(A, null, N(w.value.mapping, (r, 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",
|
|
885
|
-
|
|
886
|
-
t("span",
|
|
884
|
+
t("span", Wt, v(r.fieldName), 1),
|
|
885
|
+
l[15] || (l[15] = t("span", { class: "text-slate-400" }, "←", -1)),
|
|
886
|
+
t("span", Yt, v(r.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":
|
|
897
|
+
"onUpdate:modelValue": l[1] || (l[1] = (r) => p.value = r),
|
|
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
|
+
l[18] || (l[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",
|
|
906
|
-
|
|
907
|
-
|
|
904
|
+
p.value ? (i(), d("div", Xt, [
|
|
905
|
+
t("div", Zt, [
|
|
906
|
+
l[19] || (l[19] = t("label", { class: "text-sm font-semibold text-slate-600" }, "Cantidad de elementos:", -1)),
|
|
907
|
+
O(t("input", {
|
|
908
908
|
type: "number",
|
|
909
|
-
"onUpdate:modelValue":
|
|
909
|
+
"onUpdate:modelValue": l[2] || (l[2] = (r) => u.value = r),
|
|
910
910
|
min: "1",
|
|
911
911
|
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
912
|
}, null, 512), [
|
|
913
913
|
[
|
|
914
|
-
|
|
915
|
-
|
|
914
|
+
Q,
|
|
915
|
+
u.value,
|
|
916
916
|
void 0,
|
|
917
917
|
{ number: !0 }
|
|
918
918
|
]
|
|
919
919
|
])
|
|
920
920
|
]),
|
|
921
|
-
t("div",
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
"onUpdate:modelValue":
|
|
921
|
+
t("div", _t, [
|
|
922
|
+
l[21] || (l[21] = t("label", { class: "text-sm font-semibold text-slate-600" }, "Orientación:", -1)),
|
|
923
|
+
O(t("select", {
|
|
924
|
+
"onUpdate:modelValue": l[3] || (l[3] = (r) => s.value = r),
|
|
925
925
|
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
|
-
}, [...
|
|
926
|
+
}, [...l[20] || (l[20] = [
|
|
927
927
|
t("option", {
|
|
928
928
|
value: "horizontal",
|
|
929
929
|
selected: ""
|
|
930
930
|
}, "Horizontal", -1),
|
|
931
931
|
t("option", { value: "vertical" }, "Vertical", -1)
|
|
932
932
|
])], 512), [
|
|
933
|
-
[H,
|
|
933
|
+
[H, s.value]
|
|
934
934
|
])
|
|
935
935
|
])
|
|
936
|
-
])) :
|
|
936
|
+
])) : S("", !0)
|
|
937
937
|
])
|
|
938
938
|
]),
|
|
939
|
-
t("div",
|
|
940
|
-
|
|
939
|
+
t("div", eo, [
|
|
940
|
+
l[22] || (l[22] = 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
941
|
t("span", { class: "text-xl" }, "🔍"),
|
|
942
|
-
|
|
942
|
+
T(" Orígenes y Filtros ")
|
|
943
943
|
], -1)),
|
|
944
|
-
L(
|
|
945
|
-
onSubmit:
|
|
946
|
-
updateFeedCriteria:
|
|
944
|
+
L(Bt, {
|
|
945
|
+
onSubmit: I,
|
|
946
|
+
updateFeedCriteria: a,
|
|
947
947
|
isProduction: e.isProduction
|
|
948
948
|
}, null, 8, ["isProduction"])
|
|
949
949
|
])
|
|
950
950
|
]),
|
|
951
|
-
t("div",
|
|
952
|
-
|
|
951
|
+
t("div", to, [
|
|
952
|
+
l[24] || (l[24] = 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
953
|
t("span", { class: "text-xl" }, "📰"),
|
|
954
|
-
|
|
954
|
+
T(" Noticias ")
|
|
955
955
|
], -1)),
|
|
956
|
-
!b.value || b.value.length === 0 ? (
|
|
956
|
+
!b.value || b.value.length === 0 ? (i(), d("div", oo, [...l[23] || (l[23] = [
|
|
957
957
|
t("span", { class: "text-5xl mb-3 opacity-50" }, "📭", -1),
|
|
958
958
|
t("p", { class: "text-sm font-medium" }, "No hay noticias disponibles", -1),
|
|
959
959
|
t("p", { class: "text-xs mt-1 text-slate-300" }, "Selecciona un origen para cargar noticias", -1)
|
|
960
|
-
])])) : (
|
|
961
|
-
(
|
|
962
|
-
key:
|
|
960
|
+
])])) : (i(), d("ul", no, [
|
|
961
|
+
(i(!0), d(A, null, N(b.value, (r, F) => (i(), d("li", {
|
|
962
|
+
key: F,
|
|
963
963
|
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: (
|
|
964
|
+
onClick: (j) => c(r)
|
|
965
965
|
}, [
|
|
966
|
-
t("h4",
|
|
967
|
-
t("p",
|
|
968
|
-
], 8,
|
|
966
|
+
t("h4", ao, v(r.title || r.titulo || "Sin título"), 1),
|
|
967
|
+
t("p", ro, v(r.description || r.descripcion || r.content || "Sin descripción"), 1)
|
|
968
|
+
], 8, lo))), 128))
|
|
969
969
|
]))
|
|
970
970
|
]),
|
|
971
|
-
t("div",
|
|
972
|
-
|
|
971
|
+
t("div", so, [
|
|
972
|
+
l[30] || (l[30] = 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
973
|
t("span", { class: "text-xl" }, "🔗"),
|
|
974
|
-
|
|
974
|
+
T(" Relacionar Noticia ")
|
|
975
975
|
], -1)),
|
|
976
|
-
|
|
977
|
-
(
|
|
978
|
-
key:
|
|
976
|
+
$.value ? (i(), d("div", uo, [
|
|
977
|
+
(i(!0), d(A, null, N(e.object.fields, (r, F) => (i(), d("div", {
|
|
978
|
+
key: F,
|
|
979
979
|
class: "p-4 bg-gradient-to-br from-slate-50 to-white rounded-xl border border-slate-200"
|
|
980
980
|
}, [
|
|
981
|
-
t("label",
|
|
982
|
-
|
|
983
|
-
|
|
981
|
+
t("label", co, [
|
|
982
|
+
l[26] || (l[26] = t("span", { class: "text-base" }, "⚙️", -1)),
|
|
983
|
+
T(" " + v(r.name), 1)
|
|
984
984
|
]),
|
|
985
|
-
|
|
986
|
-
"onUpdate:modelValue": (
|
|
985
|
+
O(t("select", {
|
|
986
|
+
"onUpdate:modelValue": (j) => r.mappedTo = j,
|
|
987
987
|
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
988
|
}, [
|
|
989
|
-
|
|
990
|
-
(
|
|
991
|
-
key:
|
|
992
|
-
value:
|
|
993
|
-
},
|
|
994
|
-
], 8,
|
|
989
|
+
l[27] || (l[27] = t("option", { value: "" }, "-- Seleccionar campo --", -1)),
|
|
990
|
+
(i(!0), d(A, null, N($.value, (j, B) => (i(), d("option", {
|
|
991
|
+
key: B,
|
|
992
|
+
value: B
|
|
993
|
+
}, v(B), 9, bo))), 128))
|
|
994
|
+
], 8, mo), [
|
|
995
995
|
[H, r.mappedTo]
|
|
996
996
|
]),
|
|
997
|
-
r.mappedTo ? (
|
|
998
|
-
|
|
999
|
-
t("p",
|
|
1000
|
-
])) :
|
|
997
|
+
r.mappedTo ? (i(), d("div", go, [
|
|
998
|
+
l[28] || (l[28] = t("span", { class: "text-xs font-semibold text-emerald-600 uppercase tracking-wide" }, "Vista previa:", -1)),
|
|
999
|
+
t("p", fo, v($.value[r.mappedTo]), 1)
|
|
1000
|
+
])) : S("", !0)
|
|
1001
1001
|
]))), 128)),
|
|
1002
1002
|
t("button", {
|
|
1003
|
-
onClick:
|
|
1003
|
+
onClick: n,
|
|
1004
1004
|
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
|
-
}, [...
|
|
1005
|
+
}, [...l[29] || (l[29] = [
|
|
1006
1006
|
t("span", { class: "text-lg" }, "✓", -1),
|
|
1007
1007
|
t("span", null, "Alimentar el componente", -1)
|
|
1008
1008
|
])])
|
|
1009
|
-
])) : (
|
|
1009
|
+
])) : (i(), d("div", io, [...l[25] || (l[25] = [
|
|
1010
1010
|
t("span", { class: "text-5xl mb-3 opacity-50" }, "👆", -1),
|
|
1011
1011
|
t("p", { class: "text-sm font-medium text-center" }, [
|
|
1012
|
-
|
|
1012
|
+
T("Selecciona una noticia"),
|
|
1013
1013
|
t("br"),
|
|
1014
|
-
|
|
1014
|
+
T("para relacionar")
|
|
1015
1015
|
], -1)
|
|
1016
1016
|
])]))
|
|
1017
1017
|
])
|
|
1018
1018
|
])
|
|
1019
1019
|
]));
|
|
1020
1020
|
}
|
|
1021
|
-
}),
|
|
1021
|
+
}), 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
1022
|
key: 0,
|
|
1023
1023
|
class: "flex-1 flex justify-center"
|
|
1024
|
-
},
|
|
1024
|
+
}, 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
1025
|
key: 0,
|
|
1026
1026
|
class: "flex gap-1 bg-slate-50 rounded-lg p-1"
|
|
1027
|
-
},
|
|
1027
|
+
}, So = {
|
|
1028
1028
|
key: 0,
|
|
1029
1029
|
class: "text-[10px] bg-amber-100 text-amber-700 px-1.5 rounded-full font-medium"
|
|
1030
|
-
},
|
|
1030
|
+
}, Fo = { class: "mt-2 flex items-center" }, Po = { class: "font-medium text-slate-700" }, jo = { key: 0 }, Mo = { key: 1 }, Io = {
|
|
1031
1031
|
key: 0,
|
|
1032
1032
|
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
|
-
},
|
|
1033
|
+
}, 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: "flex justify-center h-full items-center p-4 gap-3" }, To = {
|
|
1034
1034
|
key: 0,
|
|
1035
1035
|
title: "Mover componente",
|
|
1036
1036
|
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
|
-
},
|
|
1037
|
+
}, Do = {
|
|
1038
1038
|
key: 1,
|
|
1039
1039
|
class: "flex-1 flex justify-center items-center"
|
|
1040
|
-
},
|
|
1040
|
+
}, Oo = { class: "flex flex-col items-center" }, Ro = {
|
|
1041
1041
|
key: 0,
|
|
1042
1042
|
class: "text-[10px] mt-0.5 opacity-70"
|
|
1043
|
-
},
|
|
1043
|
+
}, No = ["id"], be = /* @__PURE__ */ W({
|
|
1044
1044
|
__name: "InitialComponent",
|
|
1045
1045
|
props: {
|
|
1046
1046
|
object: {
|
|
@@ -1064,90 +1064,90 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1064
1064
|
}
|
|
1065
1065
|
},
|
|
1066
1066
|
setup(e) {
|
|
1067
|
-
const o = e, b = Math.random().toString(36).substring(2, 15),
|
|
1068
|
-
oe(() => o.isComponentMode, (
|
|
1069
|
-
|
|
1067
|
+
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
|
+
oe(() => o.isComponentMode, (l) => {
|
|
1069
|
+
l || I();
|
|
1070
1070
|
}), oe(() => o.object, () => {
|
|
1071
|
-
|
|
1072
|
-
}, { deep: !0 }), oe(m, async (
|
|
1073
|
-
|
|
1071
|
+
I();
|
|
1072
|
+
}, { deep: !0 }), oe(m, async (l) => {
|
|
1073
|
+
l && (await ve(), g());
|
|
1074
1074
|
});
|
|
1075
|
-
const
|
|
1076
|
-
|
|
1077
|
-
|
|
1075
|
+
const I = () => {
|
|
1076
|
+
u.value && clearTimeout(u.value), u.value = setTimeout(() => {
|
|
1077
|
+
g();
|
|
1078
1078
|
}, 500);
|
|
1079
|
-
},
|
|
1079
|
+
}, c = () => {
|
|
1080
1080
|
if (o.isComponentMode) return;
|
|
1081
|
-
const
|
|
1082
|
-
r.forEach((
|
|
1083
|
-
|
|
1081
|
+
const l = new IntersectionObserver((r) => {
|
|
1082
|
+
r.forEach((F) => {
|
|
1083
|
+
F.isIntersecting && !m.value && (m.value = !0, l.disconnect());
|
|
1084
1084
|
});
|
|
1085
1085
|
}, { threshold: 0.1 });
|
|
1086
|
-
|
|
1087
|
-
},
|
|
1088
|
-
const
|
|
1089
|
-
|
|
1090
|
-
},
|
|
1091
|
-
|
|
1092
|
-
|
|
1086
|
+
s.value && l.observe(s.value);
|
|
1087
|
+
}, n = (l, r) => {
|
|
1088
|
+
const F = (o.object.fields || []).find((j) => j.name === l);
|
|
1089
|
+
F && (F.example_value = r);
|
|
1090
|
+
}, a = (l, r) => {
|
|
1091
|
+
l.forEach((F) => {
|
|
1092
|
+
F.value !== void 0 && n(F.fieldName, F.value);
|
|
1093
1093
|
}), o.object.repeat_data = r;
|
|
1094
|
-
},
|
|
1095
|
-
|
|
1096
|
-
},
|
|
1097
|
-
|
|
1098
|
-
},
|
|
1099
|
-
|
|
1094
|
+
}, f = () => {
|
|
1095
|
+
p.value = !p.value;
|
|
1096
|
+
}, R = () => {
|
|
1097
|
+
w.value = !w.value;
|
|
1098
|
+
}, P = () => {
|
|
1099
|
+
g(!0).then((l) => {
|
|
1100
1100
|
const r = window.open("", "Preview", "width=1200,height=800");
|
|
1101
1101
|
if (!r) {
|
|
1102
1102
|
alert("El navegador bloqueó la ventana emergente. Por favor, permite los popups para este sitio.");
|
|
1103
1103
|
return;
|
|
1104
1104
|
}
|
|
1105
|
-
r.document.body.innerHTML =
|
|
1105
|
+
r.document.body.innerHTML = l, r.document.querySelectorAll("script").forEach((j) => {
|
|
1106
1106
|
var U;
|
|
1107
|
-
const
|
|
1108
|
-
|
|
1107
|
+
const B = r.document.createElement("script");
|
|
1108
|
+
j.src ? B.src = j.src : B.textContent = j.textContent, (U = j.parentNode) == null || U.replaceChild(B, j);
|
|
1109
1109
|
}), r.document.close();
|
|
1110
1110
|
});
|
|
1111
|
-
},
|
|
1112
|
-
var
|
|
1113
|
-
if (!((
|
|
1114
|
-
const
|
|
1115
|
-
if (
|
|
1116
|
-
return Promise.resolve(
|
|
1111
|
+
}, g = (l = !1) => {
|
|
1112
|
+
var j;
|
|
1113
|
+
if (!((j = o.object) != null && j.category) || o.object.category === "Repetidor") {
|
|
1114
|
+
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
|
+
if (l)
|
|
1116
|
+
return Promise.resolve(B);
|
|
1117
1117
|
const U = document.getElementById(b);
|
|
1118
|
-
return U && (U.innerHTML =
|
|
1118
|
+
return U && (U.innerHTML = B), Promise.resolve("");
|
|
1119
1119
|
}
|
|
1120
|
-
const r = o.renderApiDomain ? o.renderApiDomain + "/api/preview-comp/" : "http://localhost:8003/api/preview-comp/",
|
|
1120
|
+
const r = o.renderApiDomain ? o.renderApiDomain + "/api/preview-comp/" : "http://localhost:8003/api/preview-comp/", F = JSON.stringify({ obj: o.object }, null, 2);
|
|
1121
1121
|
return fetch(r, {
|
|
1122
1122
|
method: "POST",
|
|
1123
1123
|
headers: { "Content-Type": "application/json" },
|
|
1124
|
-
body:
|
|
1125
|
-
}).then((
|
|
1126
|
-
if (
|
|
1127
|
-
return
|
|
1124
|
+
body: F
|
|
1125
|
+
}).then((B) => B.text()).then((B) => {
|
|
1126
|
+
if (l)
|
|
1127
|
+
return B;
|
|
1128
1128
|
const U = document.getElementById(b);
|
|
1129
|
-
return U && (U.innerHTML =
|
|
1129
|
+
return U && (U.innerHTML = B), "";
|
|
1130
1130
|
});
|
|
1131
1131
|
};
|
|
1132
1132
|
return ae(() => {
|
|
1133
|
-
|
|
1134
|
-
}), (
|
|
1135
|
-
|
|
1133
|
+
c();
|
|
1134
|
+
}), (l, r) => (i(), d("div", null, [
|
|
1135
|
+
w.value ? (i(), ue(po, {
|
|
1136
1136
|
key: 0,
|
|
1137
|
-
updateObjectByFeedContent:
|
|
1138
|
-
toggleFeedSection:
|
|
1137
|
+
updateObjectByFeedContent: a,
|
|
1138
|
+
toggleFeedSection: R,
|
|
1139
1139
|
object: e.object,
|
|
1140
1140
|
isProduction: e.isProduction
|
|
1141
|
-
}, null, 8, ["object", "isProduction"])) :
|
|
1141
|
+
}, null, 8, ["object", "isProduction"])) : S("", !0),
|
|
1142
1142
|
t("div", {
|
|
1143
1143
|
ref_key: "rootElement",
|
|
1144
|
-
ref:
|
|
1144
|
+
ref: s,
|
|
1145
1145
|
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
1146
|
}, [
|
|
1147
|
-
e.isComponentMode ? (
|
|
1148
|
-
t("span",
|
|
1149
|
-
t("div",
|
|
1150
|
-
t("div",
|
|
1147
|
+
e.isComponentMode ? (i(), d(A, { key: 0 }, [
|
|
1148
|
+
t("span", vo, v(e.object.component_name), 1),
|
|
1149
|
+
t("div", xo, [
|
|
1150
|
+
t("div", ho, [
|
|
1151
1151
|
r[8] || (r[8] = t("div", { class: "handle cursor-grab text-slate-400 hover:text-slate-600 text-lg transition-colors" }, [
|
|
1152
1152
|
t("svg", {
|
|
1153
1153
|
class: "w-5 h-5",
|
|
@@ -1157,73 +1157,73 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1157
1157
|
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
1158
|
])
|
|
1159
1159
|
], -1)),
|
|
1160
|
-
t("span",
|
|
1160
|
+
t("span", wo, v(e.object.category), 1)
|
|
1161
1161
|
]),
|
|
1162
|
-
e.fullwidthMode ? (
|
|
1162
|
+
e.fullwidthMode ? (i(), d("div", yo, [
|
|
1163
1163
|
t("div", {
|
|
1164
1164
|
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: r[0] || (r[0] = (
|
|
1166
|
-
var
|
|
1167
|
-
return (
|
|
1165
|
+
onClick: r[0] || (r[0] = (F) => {
|
|
1166
|
+
var j;
|
|
1167
|
+
return (j = e.addComponentToColumn) == null ? void 0 : j.call(e, e.object);
|
|
1168
1168
|
})
|
|
1169
1169
|
}, "Seleccionar")
|
|
1170
|
-
])) :
|
|
1171
|
-
t("div",
|
|
1172
|
-
t("span",
|
|
1173
|
-
e.insideComponentBox ?
|
|
1170
|
+
])) : S("", !0),
|
|
1171
|
+
t("div", Co, [
|
|
1172
|
+
t("span", $o, v(e.object.framework), 1),
|
|
1173
|
+
e.insideComponentBox ? S("", !0) : (i(), d("div", ko, [
|
|
1174
1174
|
t("div", {
|
|
1175
1175
|
title: "Previsualizar Dummy",
|
|
1176
|
-
onClick: r[1] || (r[1] = (
|
|
1176
|
+
onClick: r[1] || (r[1] = (F) => P()),
|
|
1177
1177
|
class: "p-1.5 rounded-md hover:bg-white hover:shadow-sm cursor-pointer transition-all duration-200 text-base"
|
|
1178
1178
|
}, "🔍"),
|
|
1179
1179
|
t("div", {
|
|
1180
1180
|
title: "Editar configuración",
|
|
1181
|
-
onClick: r[2] || (r[2] = (
|
|
1181
|
+
onClick: r[2] || (r[2] = (F) => p.value = !p.value),
|
|
1182
1182
|
class: "p-1.5 rounded-md hover:bg-white hover:shadow-sm cursor-pointer transition-all duration-200 text-base"
|
|
1183
1183
|
}, "⚙️"),
|
|
1184
1184
|
t("div", {
|
|
1185
1185
|
title: "Beber de contenido",
|
|
1186
|
-
onClick:
|
|
1186
|
+
onClick: R,
|
|
1187
1187
|
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
1188
|
}, [
|
|
1189
|
-
r[9] || (r[9] =
|
|
1190
|
-
e.object.repeat_data ? (
|
|
1189
|
+
r[9] || (r[9] = T("⚡ ", -1)),
|
|
1190
|
+
e.object.repeat_data ? (i(), d("span", So, v(e.object.repeat_data.elementCount), 1)) : S("", !0)
|
|
1191
1191
|
]),
|
|
1192
|
-
e.removeComponent ? (
|
|
1192
|
+
e.removeComponent ? (i(), d("div", {
|
|
1193
1193
|
key: 0,
|
|
1194
1194
|
title: "Eliminar componente",
|
|
1195
|
-
onClick: r[3] || (r[3] = (
|
|
1195
|
+
onClick: r[3] || (r[3] = (F) => e.removeComponent(e.object, e.section || "")),
|
|
1196
1196
|
class: "p-1.5 rounded-md hover:bg-red-50 hover:shadow-sm cursor-pointer transition-all duration-200 text-base"
|
|
1197
|
-
}, "🗑️")) :
|
|
1197
|
+
}, "🗑️")) : S("", !0)
|
|
1198
1198
|
]))
|
|
1199
1199
|
])
|
|
1200
1200
|
]),
|
|
1201
1201
|
L(ie, {
|
|
1202
|
-
toggleShowForm:
|
|
1202
|
+
toggleShowForm: f,
|
|
1203
1203
|
object: e.object,
|
|
1204
|
-
showForm:
|
|
1204
|
+
showForm: p.value
|
|
1205
1205
|
}, null, 8, ["object", "showForm"]),
|
|
1206
|
-
t("div",
|
|
1207
|
-
t("span",
|
|
1206
|
+
t("div", Fo, [
|
|
1207
|
+
t("span", Po, v(e.object.name), 1),
|
|
1208
1208
|
t("button", {
|
|
1209
1209
|
type: "button",
|
|
1210
|
-
onClick: r[4] || (r[4] = (
|
|
1210
|
+
onClick: r[4] || (r[4] = (F) => $.value = !$.value),
|
|
1211
1211
|
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
1212
|
}, [
|
|
1213
|
-
|
|
1213
|
+
$.value ? (i(), d("span", Mo, "▲")) : (i(), d("span", jo, "▼"))
|
|
1214
1214
|
])
|
|
1215
1215
|
]),
|
|
1216
|
-
|
|
1217
|
-
t("div",
|
|
1218
|
-
(
|
|
1219
|
-
key:
|
|
1216
|
+
$.value ? (i(), d("div", Io, v(e.object.description), 1)) : S("", !0),
|
|
1217
|
+
t("div", Ao, [
|
|
1218
|
+
(i(!0), d(A, null, N(e.object.tags, (F, j) => (i(), d("span", {
|
|
1219
|
+
key: j,
|
|
1220
1220
|
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
|
-
},
|
|
1221
|
+
}, v(F), 1))), 128))
|
|
1222
1222
|
])
|
|
1223
|
-
], 64)) : m.value ? (
|
|
1224
|
-
t("div",
|
|
1225
|
-
t("div",
|
|
1226
|
-
e.insideComponentBox && !e.fullwidthMode || !e.insideComponentBox ? (
|
|
1223
|
+
], 64)) : m.value ? (i(), d(A, { key: 1 }, [
|
|
1224
|
+
t("div", Bo, [
|
|
1225
|
+
t("div", Eo, [
|
|
1226
|
+
e.insideComponentBox && !e.fullwidthMode || !e.insideComponentBox ? (i(), d("div", To, [...r[10] || (r[10] = [
|
|
1227
1227
|
t("div", { class: "flex flex-col items-center" }, [
|
|
1228
1228
|
t("svg", {
|
|
1229
1229
|
class: "w-6 h-6 mb-1 text-slate-400 group-hover/btn:text-white",
|
|
@@ -1234,13 +1234,13 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1234
1234
|
]),
|
|
1235
1235
|
t("span", { class: "text-xs font-medium" }, "Mover")
|
|
1236
1236
|
], -1)
|
|
1237
|
-
])])) :
|
|
1238
|
-
e.insideComponentBox && e.fullwidthMode ? (
|
|
1237
|
+
])])) : S("", !0),
|
|
1238
|
+
e.insideComponentBox && e.fullwidthMode ? (i(), d("div", Do, [
|
|
1239
1239
|
t("div", {
|
|
1240
1240
|
title: "Agregar componente a la columna",
|
|
1241
|
-
onClick: r[5] || (r[5] = (
|
|
1242
|
-
var
|
|
1243
|
-
return (
|
|
1241
|
+
onClick: r[5] || (r[5] = (F) => {
|
|
1242
|
+
var j;
|
|
1243
|
+
return (j = e.addComponentToColumn) == null ? void 0 : j.call(e, e.object);
|
|
1244
1244
|
}),
|
|
1245
1245
|
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
1246
|
}, [...r[11] || (r[11] = [
|
|
@@ -1249,11 +1249,11 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1249
1249
|
t("span", { class: "text-sm font-medium" }, "Seleccionar")
|
|
1250
1250
|
], -1)
|
|
1251
1251
|
])])
|
|
1252
|
-
])) :
|
|
1253
|
-
e.insideComponentBox ?
|
|
1252
|
+
])) : S("", !0),
|
|
1253
|
+
e.insideComponentBox ? S("", !0) : (i(), d(A, { key: 2 }, [
|
|
1254
1254
|
t("div", {
|
|
1255
1255
|
title: "Configurar componente",
|
|
1256
|
-
onClick: r[6] || (r[6] = (
|
|
1256
|
+
onClick: r[6] || (r[6] = (F) => p.value = !p.value),
|
|
1257
1257
|
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
1258
|
}, [...r[12] || (r[12] = [
|
|
1259
1259
|
t("div", { class: "flex flex-col items-center" }, [
|
|
@@ -1263,55 +1263,55 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1263
1263
|
])]),
|
|
1264
1264
|
t("div", {
|
|
1265
1265
|
title: "Configurar componente",
|
|
1266
|
-
onClick:
|
|
1266
|
+
onClick: R,
|
|
1267
1267
|
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
1268
|
}, [
|
|
1269
|
-
t("div",
|
|
1269
|
+
t("div", Oo, [
|
|
1270
1270
|
r[13] || (r[13] = t("span", { class: "text-xl mb-1" }, "⚡", -1)),
|
|
1271
1271
|
r[14] || (r[14] = t("span", { class: "text-xs font-medium" }, "Beber de contenido", -1)),
|
|
1272
|
-
e.object.repeat_data && e.object.repeat_data.dynamicUpdate ? (
|
|
1272
|
+
e.object.repeat_data && e.object.repeat_data.dynamicUpdate ? (i(), d("span", Ro, "Carga " + v(e.object.repeat_data.elementCount) + " elementos", 1)) : S("", !0)
|
|
1273
1273
|
])
|
|
1274
1274
|
]),
|
|
1275
|
-
e.removeComponent ? (
|
|
1275
|
+
e.removeComponent ? (i(), d("div", {
|
|
1276
1276
|
key: 0,
|
|
1277
1277
|
title: "Eliminar componente",
|
|
1278
|
-
onClick: r[7] || (r[7] = (
|
|
1278
|
+
onClick: r[7] || (r[7] = (F) => e.removeComponent(e.object, e.section || "")),
|
|
1279
1279
|
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
1280
|
}, [...r[15] || (r[15] = [
|
|
1281
1281
|
t("div", { class: "flex flex-col items-center" }, [
|
|
1282
1282
|
t("span", { class: "text-xl mb-1" }, "🗑️"),
|
|
1283
1283
|
t("span", { class: "text-xs font-medium" }, "Eliminar")
|
|
1284
1284
|
], -1)
|
|
1285
|
-
])])) :
|
|
1285
|
+
])])) : S("", !0)
|
|
1286
1286
|
], 64))
|
|
1287
1287
|
])
|
|
1288
1288
|
]),
|
|
1289
1289
|
L(ie, {
|
|
1290
|
-
toggleShowForm:
|
|
1290
|
+
toggleShowForm: f,
|
|
1291
1291
|
object: e.object,
|
|
1292
|
-
showForm:
|
|
1292
|
+
showForm: p.value
|
|
1293
1293
|
}, null, 8, ["object", "showForm"]),
|
|
1294
1294
|
t("div", {
|
|
1295
1295
|
id: q(b),
|
|
1296
1296
|
class: "w-full h-full flex items-center justify-center"
|
|
1297
|
-
}, null, 8,
|
|
1298
|
-
], 64)) :
|
|
1297
|
+
}, null, 8, No)
|
|
1298
|
+
], 64)) : S("", !0)
|
|
1299
1299
|
], 2)
|
|
1300
1300
|
]));
|
|
1301
1301
|
}
|
|
1302
|
-
}),
|
|
1302
|
+
}), Vo = { class: "absolute top-1 left-2 px-2 flex gap-3 items-center" }, Uo = {
|
|
1303
1303
|
key: 0,
|
|
1304
1304
|
class: "text-[10px] font-medium text-slate-400 bg-white/80 backdrop-blur-sm px-2 py-0.5 rounded-full shadow-sm"
|
|
1305
|
-
},
|
|
1305
|
+
}, zo = { class: "text-slate-600" }, qo = {
|
|
1306
1306
|
key: 1,
|
|
1307
1307
|
class: "text-[10px] font-medium text-slate-400 bg-white/80 backdrop-blur-sm px-2 py-0.5 rounded-full shadow-sm"
|
|
1308
|
-
},
|
|
1308
|
+
}, Lo = { class: "text-slate-600" }, Go = {
|
|
1309
1309
|
key: 2,
|
|
1310
1310
|
class: "text-[10px] font-medium text-slate-400 bg-white/80 backdrop-blur-sm px-2 py-0.5 rounded-full shadow-sm"
|
|
1311
|
-
},
|
|
1311
|
+
}, Jo = { class: "text-slate-600" }, Ho = {
|
|
1312
1312
|
key: 0,
|
|
1313
1313
|
class: "my-4 w-full rounded-xl bg-white border border-slate-200 p-4 z-10 hidden group-hover:block shadow-lg"
|
|
1314
|
-
},
|
|
1314
|
+
}, Wo = { class: "p-4 bg-gradient-to-br from-slate-50 to-white rounded-lg w-full" }, Yo = { class: "flex flex-col" }, Ko = ["for"], Qo = ["id"], Xo = ["value"], Zo = { class: "flex flex-col" }, _o = ["for"], en = ["id"], tn = ["value"], on = { class: "flex flex-col" }, nn = ["for"], ln = ["id"], an = ["value"], rn = { class: "absolute bottom-0 flex flex-col gap-1 w-full opacity-0 transition-all duration-300 group-hover:opacity-100" }, sn = { 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" }, dn = { class: "flex gap-1" }, un = /* @__PURE__ */ W({
|
|
1315
1315
|
__name: "ColConfig",
|
|
1316
1316
|
props: {
|
|
1317
1317
|
globalPageConfiguration: Array,
|
|
@@ -1356,193 +1356,193 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1356
1356
|
{ label: "Columna (componentes unos encima de otros)", value: "flex-col" },
|
|
1357
1357
|
{ label: "Fila (componentes unos al lado de otros)", value: "flex-row" }
|
|
1358
1358
|
]
|
|
1359
|
-
},
|
|
1360
|
-
var
|
|
1361
|
-
const
|
|
1362
|
-
(
|
|
1363
|
-
),
|
|
1364
|
-
return (
|
|
1365
|
-
}),
|
|
1366
|
-
var
|
|
1367
|
-
const
|
|
1368
|
-
(
|
|
1359
|
+
}, $ = C(""), p = C(""), u = C(""), s = C(!1), m = Y(() => {
|
|
1360
|
+
var n, a, f, R;
|
|
1361
|
+
const I = (n = o.globalPageConfiguration) == null ? void 0 : n.find(
|
|
1362
|
+
(P) => P.section === o.section
|
|
1363
|
+
), c = (R = (f = (a = I == null ? void 0 : I.rows) == null ? void 0 : a[o.rowIndex]) == null ? void 0 : f.columns) == null ? void 0 : R[o.columnIndex];
|
|
1364
|
+
return (c == null ? void 0 : c.config) || {};
|
|
1365
|
+
}), w = (I, c) => {
|
|
1366
|
+
var R;
|
|
1367
|
+
const n = $.value || b.width[0].value, a = p.value || b.gap[0].value, f = u.value || "";
|
|
1368
|
+
(R = o.updateColConfig) == null || R.call(o, I, c, o.section || "", n, a, f), s.value = !1;
|
|
1369
1369
|
};
|
|
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
|
-
])) :
|
|
1370
|
+
return (I, c) => (i(), d(A, null, [
|
|
1371
|
+
t("div", Vo, [
|
|
1372
|
+
m.value.width !== void 0 ? (i(), d("span", Uo, [
|
|
1373
|
+
c[12] || (c[12] = T(" Ancho: ", -1)),
|
|
1374
|
+
t("span", zo, v(m.value.width), 1)
|
|
1375
|
+
])) : S("", !0),
|
|
1376
|
+
m.value.gap !== void 0 ? (i(), d("span", qo, [
|
|
1377
|
+
c[13] || (c[13] = T(" Gap: ", -1)),
|
|
1378
|
+
t("span", Lo, v(m.value.gap), 1)
|
|
1379
|
+
])) : S("", !0),
|
|
1380
|
+
m.value.flexDirection !== void 0 ? (i(), d("span", Go, [
|
|
1381
|
+
c[14] || (c[14] = T(" Flex: ", -1)),
|
|
1382
|
+
t("span", Jo, v(m.value.flexDirection), 1)
|
|
1383
|
+
])) : S("", !0)
|
|
1384
1384
|
]),
|
|
1385
|
-
|
|
1386
|
-
t("div",
|
|
1385
|
+
s.value ? (i(), d("div", Ho, [
|
|
1386
|
+
t("div", Wo, [
|
|
1387
1387
|
t("form", {
|
|
1388
|
-
onSubmit:
|
|
1388
|
+
onSubmit: c[4] || (c[4] = le(() => {
|
|
1389
1389
|
}, ["prevent"])),
|
|
1390
1390
|
class: "flex gap-5 w-full justify-center items-end flex-wrap"
|
|
1391
1391
|
}, [
|
|
1392
|
-
t("div",
|
|
1392
|
+
t("div", Yo, [
|
|
1393
1393
|
t("label", {
|
|
1394
1394
|
for: `colwidth-${e.rowIndex}-${e.columnIndex}`,
|
|
1395
1395
|
class: "block text-sm font-medium text-slate-600 mb-1.5"
|
|
1396
|
-
}, "Ancho:", 8,
|
|
1397
|
-
|
|
1398
|
-
"onUpdate:modelValue":
|
|
1396
|
+
}, "Ancho:", 8, Ko),
|
|
1397
|
+
O(t("select", {
|
|
1398
|
+
"onUpdate:modelValue": c[0] || (c[0] = (n) => $.value = n),
|
|
1399
1399
|
id: `colwidth-${e.rowIndex}-${e.columnIndex}`,
|
|
1400
1400
|
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
1401
|
}, [
|
|
1402
|
-
|
|
1403
|
-
(
|
|
1404
|
-
key:
|
|
1405
|
-
value:
|
|
1406
|
-
},
|
|
1407
|
-
], 8,
|
|
1408
|
-
[H,
|
|
1402
|
+
c[15] || (c[15] = t("option", { value: "" }, "Selecciona...", -1)),
|
|
1403
|
+
(i(!0), d(A, null, N(b.width, (n) => (i(), d("option", {
|
|
1404
|
+
key: n.value,
|
|
1405
|
+
value: n.value
|
|
1406
|
+
}, v(n.label), 9, Xo))), 128))
|
|
1407
|
+
], 8, Qo), [
|
|
1408
|
+
[H, $.value]
|
|
1409
1409
|
])
|
|
1410
1410
|
]),
|
|
1411
|
-
t("div",
|
|
1411
|
+
t("div", Zo, [
|
|
1412
1412
|
t("label", {
|
|
1413
1413
|
for: `colgap-${e.rowIndex}-${e.columnIndex}`,
|
|
1414
1414
|
class: "block text-sm font-medium text-slate-600 mb-1.5"
|
|
1415
|
-
}, "Gap:", 8,
|
|
1416
|
-
|
|
1417
|
-
"onUpdate:modelValue":
|
|
1415
|
+
}, "Gap:", 8, _o),
|
|
1416
|
+
O(t("select", {
|
|
1417
|
+
"onUpdate:modelValue": c[1] || (c[1] = (n) => p.value = n),
|
|
1418
1418
|
id: `colgap-${e.rowIndex}-${e.columnIndex}`,
|
|
1419
1419
|
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
1420
|
}, [
|
|
1421
|
-
|
|
1422
|
-
(
|
|
1423
|
-
key:
|
|
1424
|
-
value:
|
|
1425
|
-
},
|
|
1426
|
-
], 8,
|
|
1427
|
-
[H,
|
|
1421
|
+
c[16] || (c[16] = t("option", { value: "" }, "Selecciona...", -1)),
|
|
1422
|
+
(i(!0), d(A, null, N(b.gap, (n) => (i(), d("option", {
|
|
1423
|
+
key: n.value,
|
|
1424
|
+
value: n.value
|
|
1425
|
+
}, v(n.label), 9, tn))), 128))
|
|
1426
|
+
], 8, en), [
|
|
1427
|
+
[H, p.value]
|
|
1428
1428
|
])
|
|
1429
1429
|
]),
|
|
1430
|
-
t("div",
|
|
1430
|
+
t("div", on, [
|
|
1431
1431
|
t("label", {
|
|
1432
1432
|
for: `flexdir-${e.rowIndex}-${e.columnIndex}`,
|
|
1433
1433
|
class: "block text-sm font-medium text-slate-600 mb-1.5"
|
|
1434
|
-
}, "Dirección:", 8,
|
|
1435
|
-
|
|
1436
|
-
"onUpdate:modelValue":
|
|
1434
|
+
}, "Dirección:", 8, nn),
|
|
1435
|
+
O(t("select", {
|
|
1436
|
+
"onUpdate:modelValue": c[2] || (c[2] = (n) => u.value = n),
|
|
1437
1437
|
id: `flexdir-${e.rowIndex}-${e.columnIndex}`,
|
|
1438
1438
|
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
1439
|
}, [
|
|
1440
|
-
|
|
1441
|
-
(
|
|
1442
|
-
key:
|
|
1443
|
-
value:
|
|
1444
|
-
},
|
|
1445
|
-
], 8,
|
|
1446
|
-
[H,
|
|
1440
|
+
c[17] || (c[17] = t("option", { value: "" }, "Selecciona...", -1)),
|
|
1441
|
+
(i(!0), d(A, null, N(b.flexDirection, (n) => (i(), d("option", {
|
|
1442
|
+
key: n.value,
|
|
1443
|
+
value: n.value
|
|
1444
|
+
}, v(n.label), 9, an))), 128))
|
|
1445
|
+
], 8, ln), [
|
|
1446
|
+
[H, u.value]
|
|
1447
1447
|
])
|
|
1448
1448
|
]),
|
|
1449
1449
|
t("button", {
|
|
1450
1450
|
type: "button",
|
|
1451
1451
|
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
|
-
|
|
1452
|
+
onClick: c[3] || (c[3] = (n) => {
|
|
1453
|
+
w(e.rowIndex, e.columnIndex), s.value = !1;
|
|
1454
1454
|
})
|
|
1455
1455
|
}, " Guardar ")
|
|
1456
1456
|
], 32)
|
|
1457
1457
|
])
|
|
1458
|
-
])) :
|
|
1459
|
-
t("div",
|
|
1458
|
+
])) : S("", !0),
|
|
1459
|
+
t("div", rn, [
|
|
1460
1460
|
t("div", {
|
|
1461
1461
|
class: G(["flex flex-row", { "justify-between": e.section && e.section !== "Sidebar", "justify-center": e.section === "Sidebar" }])
|
|
1462
1462
|
}, [
|
|
1463
|
-
e.section && e.section !== "Sidebar" ? (
|
|
1463
|
+
e.section && e.section !== "Sidebar" ? (i(), d("button", {
|
|
1464
1464
|
key: 0,
|
|
1465
1465
|
type: "button",
|
|
1466
1466
|
title: "Añadir columna a la izquierda",
|
|
1467
|
-
onClick:
|
|
1468
|
-
var
|
|
1469
|
-
return (
|
|
1467
|
+
onClick: c[5] || (c[5] = (n) => {
|
|
1468
|
+
var a;
|
|
1469
|
+
return (a = e.addCol) == null ? void 0 : a.call(e, e.rowIndex, e.columnIndex, e.section, "left");
|
|
1470
1470
|
}),
|
|
1471
1471
|
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",
|
|
1472
|
+
}, "+")) : S("", !0),
|
|
1473
|
+
t("div", sn, [
|
|
1474
1474
|
t("button", {
|
|
1475
1475
|
type: "button",
|
|
1476
1476
|
title: "Configurar columna",
|
|
1477
|
-
onClick:
|
|
1478
|
-
class: G(["px-2.5 py-1 rounded-lg cursor-pointer transition-all duration-200",
|
|
1477
|
+
onClick: c[6] || (c[6] = (n) => s.value = !s.value),
|
|
1478
|
+
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
1479
|
}, "⚙️", 2),
|
|
1480
|
-
t("div",
|
|
1481
|
-
e.section && e.section !== "Sidebar" ? (
|
|
1480
|
+
t("div", dn, [
|
|
1481
|
+
e.section && e.section !== "Sidebar" ? (i(), d("span", {
|
|
1482
1482
|
key: 0,
|
|
1483
1483
|
title: "Mover columna a la izquierda",
|
|
1484
|
-
onClick:
|
|
1485
|
-
var
|
|
1486
|
-
return (
|
|
1484
|
+
onClick: c[7] || (c[7] = (n) => {
|
|
1485
|
+
var a;
|
|
1486
|
+
return (a = e.moveCol) == null ? void 0 : a.call(e, e.rowIndex, e.columnIndex, e.section, "left");
|
|
1487
1487
|
}),
|
|
1488
1488
|
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 ? (
|
|
1489
|
+
}, "◁")) : S("", !0),
|
|
1490
|
+
e.fullwidthMode ? (i(), d("span", {
|
|
1491
1491
|
key: 1,
|
|
1492
1492
|
title: "Añadir componente",
|
|
1493
|
-
onClick:
|
|
1494
|
-
var
|
|
1495
|
-
return (
|
|
1493
|
+
onClick: c[8] || (c[8] = (n) => {
|
|
1494
|
+
var a;
|
|
1495
|
+
return (a = e.addComponentFunction) == null ? void 0 : a.call(e, e.rowIndex, e.columnIndex, e.section || "");
|
|
1496
1496
|
}),
|
|
1497
1497
|
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" ? (
|
|
1498
|
+
}, " 📦 ")) : S("", !0),
|
|
1499
|
+
e.section && e.section !== "Sidebar" ? (i(), d("span", {
|
|
1500
1500
|
key: 2,
|
|
1501
1501
|
title: "Mover columna a la derecha",
|
|
1502
|
-
onClick:
|
|
1503
|
-
var
|
|
1504
|
-
return (
|
|
1502
|
+
onClick: c[9] || (c[9] = (n) => {
|
|
1503
|
+
var a;
|
|
1504
|
+
return (a = e.moveCol) == null ? void 0 : a.call(e, e.rowIndex, e.columnIndex, e.section, "right");
|
|
1505
1505
|
}),
|
|
1506
1506
|
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
|
-
}, "▷ ")) :
|
|
1507
|
+
}, "▷ ")) : S("", !0)
|
|
1508
1508
|
]),
|
|
1509
1509
|
t("button", {
|
|
1510
1510
|
type: "button",
|
|
1511
1511
|
title: "Eliminar columna",
|
|
1512
|
-
onClick:
|
|
1513
|
-
var
|
|
1514
|
-
return (
|
|
1512
|
+
onClick: c[10] || (c[10] = (n) => {
|
|
1513
|
+
var a;
|
|
1514
|
+
return (a = e.removeCol) == null ? void 0 : a.call(e, e.rowIndex, e.columnIndex, e.section || "");
|
|
1515
1515
|
}),
|
|
1516
1516
|
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
1517
|
}, "🗑️")
|
|
1518
1518
|
]),
|
|
1519
|
-
e.section && e.section !== "Sidebar" ? (
|
|
1519
|
+
e.section && e.section !== "Sidebar" ? (i(), d("button", {
|
|
1520
1520
|
key: 1,
|
|
1521
1521
|
type: "button",
|
|
1522
1522
|
title: "Añadir columna a la derecha",
|
|
1523
|
-
onClick:
|
|
1524
|
-
var
|
|
1525
|
-
return (
|
|
1523
|
+
onClick: c[11] || (c[11] = (n) => {
|
|
1524
|
+
var a;
|
|
1525
|
+
return (a = e.addCol) == null ? void 0 : a.call(e, e.rowIndex, e.columnIndex, e.section, "right");
|
|
1526
1526
|
}),
|
|
1527
1527
|
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
|
-
}, "+")) :
|
|
1528
|
+
}, "+")) : S("", !0)
|
|
1529
1529
|
], 2)
|
|
1530
1530
|
])
|
|
1531
1531
|
], 64));
|
|
1532
1532
|
}
|
|
1533
|
-
}),
|
|
1533
|
+
}), cn = { class: "absolute -top-1 px-2 gap-4 w-full justify-between hidden css-pb-row-config" }, mn = { class: "flex gap-1.5" }, bn = { class: "flex gap-4 items-center" }, gn = { class: "inline-block" }, fn = {
|
|
1534
1534
|
key: 0,
|
|
1535
1535
|
class: "text-xs font-medium text-slate-400 bg-slate-50 px-2 py-1 rounded-full"
|
|
1536
|
-
},
|
|
1536
|
+
}, pn = { class: "text-slate-600" }, vn = {
|
|
1537
1537
|
key: 1,
|
|
1538
1538
|
class: "text-xs font-medium text-slate-400 bg-slate-50 px-2 py-1 rounded-full"
|
|
1539
|
-
},
|
|
1539
|
+
}, xn = { class: "text-slate-600" }, hn = {
|
|
1540
1540
|
key: 2,
|
|
1541
1541
|
class: "text-xs font-medium text-slate-400 bg-slate-50 px-2 py-1 rounded-full"
|
|
1542
|
-
},
|
|
1542
|
+
}, wn = { class: "text-slate-600" }, yn = { class: "flex gap-1.5" }, Cn = {
|
|
1543
1543
|
key: 0,
|
|
1544
1544
|
class: "z-1"
|
|
1545
|
-
},
|
|
1545
|
+
}, $n = { class: "p-5 bg-white rounded-xl shadow-lg border border-slate-100 w-full mt-8" }, kn = { class: "flex flex-col" }, Sn = ["for"], Fn = ["id"], Pn = ["value"], jn = { class: "flex flex-col" }, Mn = ["for"], In = ["id"], An = ["value"], Bn = { class: "flex flex-col" }, En = ["for"], Tn = ["id"], Dn = ["value"], On = /* @__PURE__ */ W({
|
|
1546
1546
|
__name: "RowConfig",
|
|
1547
1547
|
props: {
|
|
1548
1548
|
rowIndex: {
|
|
@@ -1583,163 +1583,163 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1583
1583
|
{ label: "3/5", value: "3/5" },
|
|
1584
1584
|
{ label: "4/5", value: "4/5" }
|
|
1585
1585
|
]
|
|
1586
|
-
},
|
|
1587
|
-
var
|
|
1588
|
-
const
|
|
1589
|
-
(
|
|
1586
|
+
}, $ = C(""), p = C(""), u = C(""), s = C(!1), m = C(!1), w = Y(() => {
|
|
1587
|
+
var n, a;
|
|
1588
|
+
const c = (n = o.globalPageConfiguration) == null ? void 0 : n.find(
|
|
1589
|
+
(f) => f.section === o.section
|
|
1590
1590
|
);
|
|
1591
|
-
return (
|
|
1592
|
-
}),
|
|
1593
|
-
var
|
|
1594
|
-
const
|
|
1595
|
-
(
|
|
1591
|
+
return (a = c == null ? void 0 : c.rows) != null && a[o.rowIndex] ? c.rows[o.rowIndex].config || {} : {};
|
|
1592
|
+
}), I = (c) => {
|
|
1593
|
+
var R;
|
|
1594
|
+
const n = $.value || b.padding[0].value, a = p.value || b.gap[0].value, f = u.value || b.width[0].value;
|
|
1595
|
+
(R = o.updateRowConfig) == null || R.call(o, c, o.section || "", n, a, f), s.value = !1;
|
|
1596
1596
|
};
|
|
1597
|
-
return (
|
|
1598
|
-
t("div",
|
|
1597
|
+
return (c, n) => (i(), d(A, null, [
|
|
1598
|
+
t("div", cn, [
|
|
1599
1599
|
t("div", null, [
|
|
1600
|
-
t("div",
|
|
1600
|
+
t("div", mn, [
|
|
1601
1601
|
t("button", {
|
|
1602
1602
|
type: "button",
|
|
1603
1603
|
title: "Agregar fila",
|
|
1604
|
-
onClick:
|
|
1605
|
-
var
|
|
1606
|
-
(
|
|
1604
|
+
onClick: n[0] || (n[0] = (a) => {
|
|
1605
|
+
var f;
|
|
1606
|
+
(f = e.addRow) == null || f.call(e, e.rowIndex, e.section || ""), m.value = !1;
|
|
1607
1607
|
}),
|
|
1608
1608
|
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
1609
|
}, "+"),
|
|
1610
1610
|
t("button", {
|
|
1611
1611
|
type: "button",
|
|
1612
1612
|
title: "Mover fila hacia arriba",
|
|
1613
|
-
onClick:
|
|
1614
|
-
var
|
|
1615
|
-
(
|
|
1613
|
+
onClick: n[1] || (n[1] = (a) => {
|
|
1614
|
+
var f;
|
|
1615
|
+
(f = e.moveRow) == null || f.call(e, e.rowIndex, e.section || "", "up"), m.value = !1;
|
|
1616
1616
|
}),
|
|
1617
1617
|
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
1618
|
}, "△"),
|
|
1619
1619
|
t("button", {
|
|
1620
1620
|
type: "button",
|
|
1621
1621
|
title: "Mover fila hacia abajo",
|
|
1622
|
-
onClick:
|
|
1623
|
-
var
|
|
1624
|
-
(
|
|
1622
|
+
onClick: n[2] || (n[2] = (a) => {
|
|
1623
|
+
var f;
|
|
1624
|
+
(f = e.moveRow) == null || f.call(e, e.rowIndex, e.section || "", "down"), m.value = !1;
|
|
1625
1625
|
}),
|
|
1626
1626
|
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
1627
|
}, "▽")
|
|
1628
1628
|
])
|
|
1629
1629
|
]),
|
|
1630
|
-
t("div",
|
|
1631
|
-
t("div",
|
|
1630
|
+
t("div", bn, [
|
|
1631
|
+
t("div", gn, [
|
|
1632
1632
|
t("button", {
|
|
1633
1633
|
type: "button",
|
|
1634
1634
|
title: "Configurar la fila",
|
|
1635
|
-
onClick:
|
|
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",
|
|
1635
|
+
onClick: n[3] || (n[3] = (a) => s.value = !s.value),
|
|
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", 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
1637
|
}, "⚙️", 2)
|
|
1638
1638
|
]),
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
t("span",
|
|
1642
|
-
])) :
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
t("span",
|
|
1646
|
-
])) :
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
t("span",
|
|
1650
|
-
])) :
|
|
1639
|
+
w.value.padding !== void 0 ? (i(), d("span", fn, [
|
|
1640
|
+
n[10] || (n[10] = T(" Padding: ", -1)),
|
|
1641
|
+
t("span", pn, v(w.value.padding), 1)
|
|
1642
|
+
])) : S("", !0),
|
|
1643
|
+
w.value.gap !== void 0 ? (i(), d("span", vn, [
|
|
1644
|
+
n[11] || (n[11] = T(" Gap: ", -1)),
|
|
1645
|
+
t("span", xn, v(w.value.gap), 1)
|
|
1646
|
+
])) : S("", !0),
|
|
1647
|
+
w.value.width !== void 0 ? (i(), d("span", hn, [
|
|
1648
|
+
n[12] || (n[12] = T(" Ancho: ", -1)),
|
|
1649
|
+
t("span", wn, v(w.value.width), 1)
|
|
1650
|
+
])) : S("", !0)
|
|
1651
1651
|
]),
|
|
1652
1652
|
t("div", null, [
|
|
1653
|
-
t("div",
|
|
1653
|
+
t("div", yn, [
|
|
1654
1654
|
t("button", {
|
|
1655
1655
|
type: "button",
|
|
1656
1656
|
title: "Eliminar fila",
|
|
1657
|
-
onClick:
|
|
1658
|
-
var
|
|
1659
|
-
(
|
|
1657
|
+
onClick: n[4] || (n[4] = (a) => {
|
|
1658
|
+
var f;
|
|
1659
|
+
(f = e.removeRow) == null || f.call(e, e.rowIndex, e.section || ""), m.value = !1;
|
|
1660
1660
|
}),
|
|
1661
1661
|
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
1662
|
}, "🗑️")
|
|
1663
1663
|
])
|
|
1664
1664
|
])
|
|
1665
1665
|
]),
|
|
1666
|
-
|
|
1667
|
-
t("div",
|
|
1666
|
+
s.value ? (i(), d("div", Cn, [
|
|
1667
|
+
t("div", $n, [
|
|
1668
1668
|
t("form", {
|
|
1669
|
-
onSubmit:
|
|
1669
|
+
onSubmit: n[9] || (n[9] = le(() => {
|
|
1670
1670
|
}, ["prevent"])),
|
|
1671
1671
|
class: "flex gap-6 w-full justify-center items-end flex-wrap"
|
|
1672
1672
|
}, [
|
|
1673
|
-
t("div",
|
|
1673
|
+
t("div", kn, [
|
|
1674
1674
|
t("label", {
|
|
1675
1675
|
for: `padding-${e.rowIndex}`,
|
|
1676
1676
|
class: "block text-sm font-medium text-slate-600 mb-1.5"
|
|
1677
|
-
}, "Padding:", 8,
|
|
1678
|
-
|
|
1679
|
-
"onUpdate:modelValue":
|
|
1677
|
+
}, "Padding:", 8, Sn),
|
|
1678
|
+
O(t("select", {
|
|
1679
|
+
"onUpdate:modelValue": n[5] || (n[5] = (a) => $.value = a),
|
|
1680
1680
|
id: `padding-${e.rowIndex}`,
|
|
1681
1681
|
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
1682
|
}, [
|
|
1683
|
-
|
|
1684
|
-
(
|
|
1685
|
-
key:
|
|
1686
|
-
value:
|
|
1687
|
-
},
|
|
1688
|
-
], 8,
|
|
1689
|
-
[H,
|
|
1683
|
+
n[13] || (n[13] = t("option", { value: "" }, "Selecciona...", -1)),
|
|
1684
|
+
(i(!0), d(A, null, N(b.padding, (a) => (i(), d("option", {
|
|
1685
|
+
key: a.value,
|
|
1686
|
+
value: a.value
|
|
1687
|
+
}, v(a.label), 9, Pn))), 128))
|
|
1688
|
+
], 8, Fn), [
|
|
1689
|
+
[H, $.value]
|
|
1690
1690
|
])
|
|
1691
1691
|
]),
|
|
1692
|
-
t("div",
|
|
1692
|
+
t("div", jn, [
|
|
1693
1693
|
t("label", {
|
|
1694
1694
|
for: `gap-${e.rowIndex}`,
|
|
1695
1695
|
class: "block text-sm font-medium text-slate-600 mb-1.5"
|
|
1696
|
-
}, "Gap:", 8,
|
|
1697
|
-
|
|
1698
|
-
"onUpdate:modelValue":
|
|
1696
|
+
}, "Gap:", 8, Mn),
|
|
1697
|
+
O(t("select", {
|
|
1698
|
+
"onUpdate:modelValue": n[6] || (n[6] = (a) => p.value = a),
|
|
1699
1699
|
id: `gap-${e.rowIndex}`,
|
|
1700
1700
|
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
1701
|
}, [
|
|
1702
|
-
|
|
1703
|
-
(
|
|
1704
|
-
key:
|
|
1705
|
-
value:
|
|
1706
|
-
},
|
|
1707
|
-
], 8,
|
|
1708
|
-
[H,
|
|
1702
|
+
n[14] || (n[14] = t("option", { value: "" }, "Selecciona...", -1)),
|
|
1703
|
+
(i(!0), d(A, null, N(b.gap, (a) => (i(), d("option", {
|
|
1704
|
+
key: a.value,
|
|
1705
|
+
value: a.value
|
|
1706
|
+
}, v(a.label), 9, An))), 128))
|
|
1707
|
+
], 8, In), [
|
|
1708
|
+
[H, p.value]
|
|
1709
1709
|
])
|
|
1710
1710
|
]),
|
|
1711
|
-
t("div",
|
|
1711
|
+
t("div", Bn, [
|
|
1712
1712
|
t("label", {
|
|
1713
1713
|
for: `width-${e.rowIndex}`,
|
|
1714
1714
|
class: "block text-sm font-medium text-slate-600 mb-1.5"
|
|
1715
|
-
}, "Ancho:", 8,
|
|
1716
|
-
|
|
1717
|
-
"onUpdate:modelValue":
|
|
1715
|
+
}, "Ancho:", 8, En),
|
|
1716
|
+
O(t("select", {
|
|
1717
|
+
"onUpdate:modelValue": n[7] || (n[7] = (a) => u.value = a),
|
|
1718
1718
|
id: `width-${e.rowIndex}`,
|
|
1719
1719
|
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
1720
|
}, [
|
|
1721
|
-
|
|
1722
|
-
(
|
|
1723
|
-
key:
|
|
1724
|
-
value:
|
|
1725
|
-
},
|
|
1726
|
-
], 8,
|
|
1727
|
-
[H,
|
|
1721
|
+
n[15] || (n[15] = t("option", { value: "" }, "Selecciona...", -1)),
|
|
1722
|
+
(i(!0), d(A, null, N(b.width, (a) => (i(), d("option", {
|
|
1723
|
+
key: a.value,
|
|
1724
|
+
value: a.value
|
|
1725
|
+
}, v(a.label), 9, Dn))), 128))
|
|
1726
|
+
], 8, Tn), [
|
|
1727
|
+
[H, u.value]
|
|
1728
1728
|
])
|
|
1729
1729
|
]),
|
|
1730
1730
|
t("button", {
|
|
1731
1731
|
type: "button",
|
|
1732
1732
|
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:
|
|
1734
|
-
|
|
1733
|
+
onClick: n[8] || (n[8] = (a) => {
|
|
1734
|
+
I(e.rowIndex), m.value = !1;
|
|
1735
1735
|
})
|
|
1736
1736
|
}, " Guardar ")
|
|
1737
1737
|
], 32)
|
|
1738
1738
|
])
|
|
1739
|
-
])) :
|
|
1739
|
+
])) : S("", !0)
|
|
1740
1740
|
], 64));
|
|
1741
1741
|
}
|
|
1742
|
-
}),
|
|
1742
|
+
}), Rn = ["id"], Nn = { class: "flex flex-row w-full gap-3 mt-6" }, Vn = ["id"], Un = /* @__PURE__ */ W({
|
|
1743
1743
|
__name: "BodySection",
|
|
1744
1744
|
props: {
|
|
1745
1745
|
isComponentMode: Boolean,
|
|
@@ -1763,19 +1763,19 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1763
1763
|
}
|
|
1764
1764
|
},
|
|
1765
1765
|
setup(e) {
|
|
1766
|
-
const o = e, b =
|
|
1767
|
-
var
|
|
1768
|
-
const
|
|
1769
|
-
(
|
|
1766
|
+
const o = e, b = C(!1), $ = Y(() => {
|
|
1767
|
+
var u;
|
|
1768
|
+
const p = (u = o.globalPageConfiguration) == null ? void 0 : u.find(
|
|
1769
|
+
(s) => s.section === o.sectionSelected
|
|
1770
1770
|
);
|
|
1771
|
-
return (
|
|
1771
|
+
return (p == null ? void 0 : p.rows) || [];
|
|
1772
1772
|
});
|
|
1773
|
-
return (
|
|
1773
|
+
return (p, u) => (i(!0), d(A, null, N($.value, (s, m) => (i(), d("div", {
|
|
1774
1774
|
key: "row-" + m,
|
|
1775
1775
|
id: "row-" + e.sectionSelected + "-" + m,
|
|
1776
1776
|
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
1777
|
}, [
|
|
1778
|
-
L(
|
|
1778
|
+
L(On, {
|
|
1779
1779
|
moveRow: e.moveRow,
|
|
1780
1780
|
addRow: e.addRow,
|
|
1781
1781
|
removeRow: e.removeRow,
|
|
@@ -1784,28 +1784,28 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1784
1784
|
rowIndex: m,
|
|
1785
1785
|
section: e.sectionSelected
|
|
1786
1786
|
}, null, 8, ["moveRow", "addRow", "removeRow", "globalPageConfiguration", "updateRowConfig", "rowIndex", "section"]),
|
|
1787
|
-
t("div",
|
|
1788
|
-
(
|
|
1787
|
+
t("div", Nn, [
|
|
1788
|
+
(i(!0), d(A, null, N(s.columns, (w, I) => (i(), d("div", {
|
|
1789
1789
|
class: G([
|
|
1790
1790
|
"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
1791
|
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
1792
|
]),
|
|
1793
|
-
key: "column-" +
|
|
1794
|
-
id: "col-" + e.sectionSelected + "-" + m + "-" +
|
|
1793
|
+
key: "column-" + I,
|
|
1794
|
+
id: "col-" + e.sectionSelected + "-" + m + "-" + I
|
|
1795
1795
|
}, [
|
|
1796
|
-
L(q(
|
|
1796
|
+
L(q(me), {
|
|
1797
1797
|
class: "h-full w-full mb-4",
|
|
1798
|
-
list:
|
|
1798
|
+
list: w.components,
|
|
1799
1799
|
group: { name: "draggingGroup", pull: !0, put: !0 },
|
|
1800
1800
|
"item-key": "name",
|
|
1801
1801
|
handle: ".handle",
|
|
1802
|
-
onStart:
|
|
1803
|
-
onEnd:
|
|
1802
|
+
onStart: u[0] || (u[0] = (c) => b.value = !0),
|
|
1803
|
+
onEnd: u[1] || (u[1] = (c) => b.value = !1)
|
|
1804
1804
|
}, {
|
|
1805
|
-
item: ce(({ element:
|
|
1806
|
-
L(
|
|
1805
|
+
item: ce(({ element: c }) => [
|
|
1806
|
+
L(be, {
|
|
1807
1807
|
renderApiDomain: e.renderApiDomain,
|
|
1808
|
-
object:
|
|
1808
|
+
object: c,
|
|
1809
1809
|
"is-component-mode": e.isComponentMode,
|
|
1810
1810
|
removeComponent: e.removeComponent,
|
|
1811
1811
|
section: e.sectionSelected,
|
|
@@ -1814,7 +1814,7 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1814
1814
|
]),
|
|
1815
1815
|
_: 1
|
|
1816
1816
|
}, 8, ["list"]),
|
|
1817
|
-
L(
|
|
1817
|
+
L(un, {
|
|
1818
1818
|
section: e.sectionSelected,
|
|
1819
1819
|
globalPageConfiguration: e.globalPageConfiguration,
|
|
1820
1820
|
updateColConfig: e.updateColConfig,
|
|
@@ -1824,31 +1824,30 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1824
1824
|
removeCol: e.removeCol,
|
|
1825
1825
|
moveCol: e.moveCol,
|
|
1826
1826
|
rowIndex: m,
|
|
1827
|
-
columnIndex:
|
|
1827
|
+
columnIndex: I
|
|
1828
1828
|
}, null, 8, ["section", "globalPageConfiguration", "updateColConfig", "addComponentFunction", "fullwidthMode", "addCol", "removeCol", "moveCol", "rowIndex", "columnIndex"])
|
|
1829
|
-
], 10,
|
|
1829
|
+
], 10, Vn))), 128))
|
|
1830
1830
|
])
|
|
1831
|
-
], 8,
|
|
1831
|
+
], 8, Rn))), 128));
|
|
1832
1832
|
}
|
|
1833
|
-
}),
|
|
1833
|
+
}), zn = { class: "flex justify-between items-center mb-4" }, qn = { class: "text-xs" }, Ln = { class: "flex flex-wrap gap-2 mb-4 bg-white border border-slate-200 p-4 rounded-xl shadow-sm" }, Gn = ["value", "checked"], Jn = { class: "my-3" }, Hn = { class: "relative" }, Wn = { 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" }, Yn = {
|
|
1834
1834
|
key: 0,
|
|
1835
1835
|
class: "text-center py-8 text-slate-400"
|
|
1836
1836
|
}, de = /* @__PURE__ */ W({
|
|
1837
1837
|
__name: "ComponentsBox",
|
|
1838
1838
|
props: {
|
|
1839
|
-
isComponentMode: Boolean,
|
|
1840
|
-
fullwidthMode: Boolean,
|
|
1841
|
-
columnToInsert:
|
|
1842
|
-
addComponentToColumn: Function,
|
|
1843
|
-
renderApiDomain:
|
|
1844
|
-
toggleComponentModeFunction: Function,
|
|
1845
|
-
isProduction: {
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
}
|
|
1839
|
+
isComponentMode: { type: Boolean },
|
|
1840
|
+
fullwidthMode: { type: Boolean },
|
|
1841
|
+
columnToInsert: {},
|
|
1842
|
+
addComponentToColumn: { type: Function },
|
|
1843
|
+
renderApiDomain: {},
|
|
1844
|
+
toggleComponentModeFunction: { type: Function },
|
|
1845
|
+
isProduction: { type: Boolean },
|
|
1846
|
+
components: {},
|
|
1847
|
+
excludedCategories: {}
|
|
1849
1848
|
},
|
|
1850
1849
|
setup(e) {
|
|
1851
|
-
const o = [
|
|
1850
|
+
const o = e, b = [
|
|
1852
1851
|
"Call to Action",
|
|
1853
1852
|
"Contenido",
|
|
1854
1853
|
"Separador",
|
|
@@ -1860,26 +1859,26 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1860
1859
|
"Formulario",
|
|
1861
1860
|
"Título",
|
|
1862
1861
|
"SEO"
|
|
1863
|
-
],
|
|
1864
|
-
const
|
|
1865
|
-
return
|
|
1866
|
-
(
|
|
1867
|
-
) :
|
|
1868
|
-
}),
|
|
1869
|
-
|
|
1870
|
-
},
|
|
1871
|
-
const
|
|
1872
|
-
|
|
1862
|
+
], $ = Y(() => !o.excludedCategories || o.excludedCategories.length === 0 ? b : b.filter((c) => !o.excludedCategories.includes(c))), p = C(!0), u = C([]), s = C(""), m = Y(() => {
|
|
1863
|
+
const c = s.value.toLowerCase(), n = Object.values(o.components), a = (f) => (f.name.toLowerCase() + f.description.toLowerCase() + f.tags.join(" ").toLowerCase()).includes(c);
|
|
1864
|
+
return u.value.length > 0 ? n.filter(
|
|
1865
|
+
(f) => u.value.includes(f.category) && a(f)
|
|
1866
|
+
) : n.filter(a);
|
|
1867
|
+
}), w = (c) => {
|
|
1868
|
+
s.value = c.target.value;
|
|
1869
|
+
}, I = (c) => {
|
|
1870
|
+
const n = c.target, a = n.value;
|
|
1871
|
+
n.checked ? u.value.includes(a) || u.value.push(a) : u.value = u.value.filter((f) => f !== a);
|
|
1873
1872
|
};
|
|
1874
|
-
return (
|
|
1875
|
-
|
|
1876
|
-
t("div",
|
|
1873
|
+
return (c, n) => (i(), d(A, null, [
|
|
1874
|
+
n[6] || (n[6] = t("h1", { class: "text-center text-2xl font-semibold mb-4 text-slate-700 tracking-tight" }, "Componentes", -1)),
|
|
1875
|
+
t("div", zn, [
|
|
1877
1876
|
t("button", {
|
|
1878
1877
|
type: "button",
|
|
1879
|
-
onClick:
|
|
1878
|
+
onClick: n[0] || (n[0] = (a) => p.value = !p.value),
|
|
1880
1879
|
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
1880
|
}, [
|
|
1882
|
-
|
|
1881
|
+
n[2] || (n[2] = t("svg", {
|
|
1883
1882
|
class: "w-4 h-4",
|
|
1884
1883
|
fill: "none",
|
|
1885
1884
|
stroke: "currentColor",
|
|
@@ -1892,38 +1891,38 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1892
1891
|
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
1892
|
})
|
|
1894
1893
|
], -1)),
|
|
1895
|
-
|
|
1896
|
-
t("span",
|
|
1894
|
+
n[3] || (n[3] = t("span", null, "Filtros", -1)),
|
|
1895
|
+
t("span", qn, v(p.value ? "▲" : "▼"), 1)
|
|
1897
1896
|
]),
|
|
1898
1897
|
t("button", {
|
|
1899
1898
|
type: "button",
|
|
1900
1899
|
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 (
|
|
1900
|
+
onClick: n[1] || (n[1] = (a) => {
|
|
1901
|
+
var f;
|
|
1902
|
+
return (f = e.toggleComponentModeFunction) == null ? void 0 : f.call(e);
|
|
1904
1903
|
})
|
|
1905
|
-
},
|
|
1904
|
+
}, v(e.isComponentMode ? "⚒️ Modo Configuración" : "👁️ Modo Visual"), 3)
|
|
1906
1905
|
]),
|
|
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":
|
|
1906
|
+
O(t("div", Ln, [
|
|
1907
|
+
(i(!0), d(A, null, N($.value, (a) => (i(), d("label", {
|
|
1908
|
+
key: a,
|
|
1909
|
+
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(a) }])
|
|
1911
1910
|
}, [
|
|
1912
1911
|
t("input", {
|
|
1913
1912
|
type: "checkbox",
|
|
1914
|
-
value:
|
|
1915
|
-
checked:
|
|
1916
|
-
onInput:
|
|
1913
|
+
value: a,
|
|
1914
|
+
checked: u.value.includes(a),
|
|
1915
|
+
onInput: I,
|
|
1917
1916
|
class: "w-4 h-4 rounded border-slate-300 text-emerald-500 focus:ring-emerald-500"
|
|
1918
|
-
}, null, 40,
|
|
1919
|
-
|
|
1920
|
-
], 2)),
|
|
1917
|
+
}, null, 40, Gn),
|
|
1918
|
+
T(" " + v(a), 1)
|
|
1919
|
+
], 2))), 128))
|
|
1921
1920
|
], 512), [
|
|
1922
|
-
[
|
|
1921
|
+
[xe, p.value]
|
|
1923
1922
|
]),
|
|
1924
|
-
t("div",
|
|
1925
|
-
t("div",
|
|
1926
|
-
|
|
1923
|
+
t("div", Jn, [
|
|
1924
|
+
t("div", Hn, [
|
|
1925
|
+
n[4] || (n[4] = t("svg", {
|
|
1927
1926
|
class: "absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-slate-400",
|
|
1928
1927
|
fill: "none",
|
|
1929
1928
|
stroke: "currentColor",
|
|
@@ -1937,25 +1936,25 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1937
1936
|
})
|
|
1938
1937
|
], -1)),
|
|
1939
1938
|
t("input", {
|
|
1940
|
-
onInput:
|
|
1939
|
+
onInput: w,
|
|
1941
1940
|
type: "text",
|
|
1942
1941
|
placeholder: "Buscar componente...",
|
|
1943
1942
|
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
1943
|
}, null, 32)
|
|
1945
1944
|
])
|
|
1946
1945
|
]),
|
|
1947
|
-
t("div",
|
|
1948
|
-
L(q(
|
|
1946
|
+
t("div", Wn, [
|
|
1947
|
+
L(q(me), {
|
|
1949
1948
|
class: "w-full flex flex-col gap-4",
|
|
1950
|
-
list:
|
|
1949
|
+
list: m.value,
|
|
1951
1950
|
group: { name: "draggingGroup", pull: "clone", put: !1 },
|
|
1952
1951
|
itemKey: "name",
|
|
1953
|
-
clone: (
|
|
1952
|
+
clone: (a) => JSON.parse(JSON.stringify(a))
|
|
1954
1953
|
}, {
|
|
1955
|
-
item: ce(({ element:
|
|
1956
|
-
L(
|
|
1954
|
+
item: ce(({ element: a }) => [
|
|
1955
|
+
L(be, {
|
|
1957
1956
|
renderApiDomain: e.renderApiDomain,
|
|
1958
|
-
object:
|
|
1957
|
+
object: a,
|
|
1959
1958
|
"is-component-mode": e.isComponentMode,
|
|
1960
1959
|
fullwidthMode: e.fullwidthMode,
|
|
1961
1960
|
columnToInsert: e.columnToInsert,
|
|
@@ -1966,7 +1965,7 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1966
1965
|
]),
|
|
1967
1966
|
_: 1
|
|
1968
1967
|
}, 8, ["list", "clone"]),
|
|
1969
|
-
|
|
1968
|
+
m.value.length === 0 ? (i(), d("div", Yn, [...n[5] || (n[5] = [
|
|
1970
1969
|
t("svg", {
|
|
1971
1970
|
class: "w-12 h-12 mx-auto mb-3 opacity-50",
|
|
1972
1971
|
fill: "none",
|
|
@@ -1982,25 +1981,36 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
1982
1981
|
], -1),
|
|
1983
1982
|
t("p", { class: "text-sm font-medium" }, "No se encontraron componentes", -1),
|
|
1984
1983
|
t("p", { class: "text-xs mt-1" }, "Intenta con otros filtros o términos de búsqueda", -1)
|
|
1985
|
-
])])) :
|
|
1984
|
+
])])) : S("", !0)
|
|
1986
1985
|
])
|
|
1987
1986
|
], 64));
|
|
1988
1987
|
}
|
|
1989
|
-
}),
|
|
1988
|
+
}), Kn = { 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" }, Qn = { class: "relative flex flex-row flex-wrap" }, Xn = { class: "w-full flex justify-end py-4 pe-4" }, Zn = { class: "w-3/4" }, _n = {
|
|
1990
1989
|
key: 1,
|
|
1991
1990
|
class: "w-1/4 px-3 overflow-y-auto h-screen sticky top-0"
|
|
1992
|
-
},
|
|
1991
|
+
}, ll = /* @__PURE__ */ W({
|
|
1993
1992
|
__name: "Pagebuilder",
|
|
1994
1993
|
props: {
|
|
1995
1994
|
isProduction: { type: Boolean },
|
|
1996
1995
|
debugMode: { type: Boolean },
|
|
1997
1996
|
submitForm: { type: Boolean },
|
|
1998
|
-
inputId: {}
|
|
1997
|
+
inputId: {},
|
|
1998
|
+
excludeComponentTypes: {}
|
|
1999
1999
|
},
|
|
2000
2000
|
setup(e) {
|
|
2001
|
-
const o = e, b = o.isProduction ?? !1,
|
|
2002
|
-
|
|
2003
|
-
|
|
2001
|
+
const o = e, b = o.isProduction ?? !1, $ = o.debugMode ?? !1, p = o.submitForm ?? !1, u = o.inputId ?? null, s = [
|
|
2002
|
+
"Repetidor",
|
|
2003
|
+
// Siempre excluido
|
|
2004
|
+
...o.excludeComponentTypes ?? []
|
|
2005
|
+
], 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([]), n = C({ rowIndex: null, columnIndex: null, section: null }), a = C(!1), f = C(!1), R = Y(() => {
|
|
2006
|
+
const y = we();
|
|
2007
|
+
if (s.length === 0)
|
|
2008
|
+
return y;
|
|
2009
|
+
const h = {};
|
|
2010
|
+
for (const [x, k] of Object.entries(y))
|
|
2011
|
+
s.includes(k.category) || (h[x] = k);
|
|
2012
|
+
return h;
|
|
2013
|
+
}), P = C({
|
|
2004
2014
|
global: {
|
|
2005
2015
|
sidebarEnabled: !1,
|
|
2006
2016
|
renderAsBodyPart: !1,
|
|
@@ -2013,7 +2023,7 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
2013
2023
|
description: "",
|
|
2014
2024
|
robots: "index, follow"
|
|
2015
2025
|
}
|
|
2016
|
-
}),
|
|
2026
|
+
}), g = he([
|
|
2017
2027
|
{
|
|
2018
2028
|
section: "Header",
|
|
2019
2029
|
config: { width: "full" },
|
|
@@ -2036,187 +2046,191 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
2036
2046
|
}
|
|
2037
2047
|
]);
|
|
2038
2048
|
ae(() => {
|
|
2039
|
-
|
|
2049
|
+
l();
|
|
2040
2050
|
});
|
|
2041
|
-
const
|
|
2042
|
-
if (
|
|
2043
|
-
const y = document.getElementById(
|
|
2051
|
+
const l = () => {
|
|
2052
|
+
if (c.value = ["Header", "Footer", "Body", "Sidebar"], I.value = "Body", u) {
|
|
2053
|
+
const y = document.getElementById(u);
|
|
2044
2054
|
if (y) {
|
|
2045
|
-
const
|
|
2046
|
-
if (
|
|
2055
|
+
const h = y.value;
|
|
2056
|
+
if (h)
|
|
2047
2057
|
try {
|
|
2048
|
-
const
|
|
2049
|
-
(
|
|
2050
|
-
} catch (
|
|
2051
|
-
console.error("Error parsing input value:",
|
|
2058
|
+
const x = typeof h == "string" ? JSON.parse(h) : h;
|
|
2059
|
+
(x && typeof x == "object" && !Array.isArray(x) ? Object.keys(x).length > 0 : Array.isArray(x) ? x.length > 0 : !1) && se(h);
|
|
2060
|
+
} catch (x) {
|
|
2061
|
+
console.error("Error parsing input value:", x);
|
|
2052
2062
|
}
|
|
2053
2063
|
}
|
|
2054
2064
|
}
|
|
2055
|
-
},
|
|
2056
|
-
|
|
2057
|
-
},
|
|
2058
|
-
|
|
2059
|
-
},
|
|
2060
|
-
var
|
|
2061
|
-
const
|
|
2062
|
-
(
|
|
2063
|
-
padding:
|
|
2064
|
-
gap:
|
|
2065
|
-
width:
|
|
2065
|
+
}, r = () => {
|
|
2066
|
+
f.value = !f.value;
|
|
2067
|
+
}, F = () => {
|
|
2068
|
+
w.value = !w.value;
|
|
2069
|
+
}, j = (y, h, x, k, M) => {
|
|
2070
|
+
var D;
|
|
2071
|
+
const E = g.find((V) => V.section === h);
|
|
2072
|
+
(D = E == null ? void 0 : E.rows) != null && D[y] && (E.rows[y].config = {
|
|
2073
|
+
padding: x,
|
|
2074
|
+
gap: k,
|
|
2075
|
+
width: M
|
|
2066
2076
|
});
|
|
2067
|
-
},
|
|
2068
|
-
var V, z,
|
|
2069
|
-
const
|
|
2070
|
-
(
|
|
2071
|
-
width:
|
|
2072
|
-
gap:
|
|
2073
|
-
flexDirection:
|
|
2077
|
+
}, B = (y, h, x, k, M, E) => {
|
|
2078
|
+
var V, z, K;
|
|
2079
|
+
const D = g.find((Z) => Z.section === x);
|
|
2080
|
+
(K = (z = (V = D == null ? void 0 : D.rows) == null ? void 0 : V[y]) == null ? void 0 : z.columns) != null && K[h] && (D.rows[y].columns[h].config = {
|
|
2081
|
+
width: k,
|
|
2082
|
+
gap: M,
|
|
2083
|
+
flexDirection: E
|
|
2074
2084
|
});
|
|
2075
|
-
},
|
|
2076
|
-
const
|
|
2077
|
-
if (
|
|
2078
|
-
const
|
|
2085
|
+
}, U = async (y, h) => {
|
|
2086
|
+
const x = g.find((k) => k.section === h);
|
|
2087
|
+
if (x) {
|
|
2088
|
+
const k = {
|
|
2079
2089
|
config: {},
|
|
2080
2090
|
columns: [{ config: {}, components: [] }]
|
|
2081
2091
|
};
|
|
2082
|
-
y !== null && y >= 0 && y <
|
|
2092
|
+
y !== null && y >= 0 && y < x.rows.length ? x.rows.splice(y + 1, 0, k) : x.rows.push(k);
|
|
2083
2093
|
}
|
|
2084
|
-
await new Promise((
|
|
2094
|
+
await new Promise((k) => {
|
|
2085
2095
|
setTimeout(() => {
|
|
2086
|
-
const
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
}, 3e3)) :
|
|
2096
|
+
const M = document.getElementById(`row-${h}-${(y ?? 0) + 1}`);
|
|
2097
|
+
M ? (M.scrollIntoView({ behavior: "smooth", block: "center" }), M.classList.add("selected-delay"), setTimeout(() => {
|
|
2098
|
+
M.classList.remove("selected-delay"), k();
|
|
2099
|
+
}, 3e3)) : k();
|
|
2090
2100
|
}, 0);
|
|
2091
2101
|
});
|
|
2092
|
-
},
|
|
2093
|
-
const
|
|
2094
|
-
!(
|
|
2095
|
-
},
|
|
2102
|
+
}, X = (y, h) => {
|
|
2103
|
+
const x = g.find((k) => k.section === h);
|
|
2104
|
+
!(x != null && x.rows) || x.rows.length <= 1 || x.rows.splice(y, 1);
|
|
2105
|
+
}, J = (y, h, x = "down") => {
|
|
2096
2106
|
var V;
|
|
2097
|
-
const
|
|
2098
|
-
if (!((V =
|
|
2107
|
+
const k = g.find((z) => z.section === h);
|
|
2108
|
+
if (!((V = k == null ? void 0 : k.rows) != null && V[y]) || x === "up" && y === 0 || x === "down" && y === k.rows.length - 1)
|
|
2099
2109
|
return;
|
|
2100
|
-
const
|
|
2101
|
-
|
|
2102
|
-
},
|
|
2103
|
-
var
|
|
2104
|
-
const
|
|
2105
|
-
(
|
|
2110
|
+
const M = k.rows, E = M.splice(y, 1)[0], D = x === "down" ? y + 1 : y - 1;
|
|
2111
|
+
M.splice(D, 0, E);
|
|
2112
|
+
}, _ = async (y, h, x, k = "right") => {
|
|
2113
|
+
var D;
|
|
2114
|
+
const M = k === "left" ? h : h + 1, E = g.find((V) => V.section === x);
|
|
2115
|
+
(D = E == null ? void 0 : E.rows) != null && D[y] && E.rows[y].columns.splice(M, 0, {
|
|
2106
2116
|
config: {},
|
|
2107
2117
|
components: []
|
|
2108
2118
|
}), await new Promise((V) => {
|
|
2109
2119
|
setTimeout(() => {
|
|
2110
|
-
const z = document.getElementById(`col-${
|
|
2120
|
+
const z = document.getElementById(`col-${x}-${y}-${M}`);
|
|
2111
2121
|
z ? (z.scrollIntoView({ behavior: "smooth", block: "center" }), z.classList.add("selected-delay"), setTimeout(() => {
|
|
2112
2122
|
z.classList.remove("selected-delay"), V();
|
|
2113
2123
|
}, 3e3)) : V();
|
|
2114
2124
|
}, 0);
|
|
2115
2125
|
});
|
|
2116
|
-
},
|
|
2117
|
-
var
|
|
2118
|
-
const
|
|
2119
|
-
!
|
|
2120
|
-
},
|
|
2126
|
+
}, ee = (y, h, x) => {
|
|
2127
|
+
var E, D;
|
|
2128
|
+
const k = g.find((V) => V.section === x), M = (D = (E = k == null ? void 0 : k.rows) == null ? void 0 : E[y]) == null ? void 0 : D.columns;
|
|
2129
|
+
!M || M.length <= 1 || M.splice(h, 1);
|
|
2130
|
+
}, te = (y, h, x, k = "right") => {
|
|
2121
2131
|
var z;
|
|
2122
|
-
const
|
|
2123
|
-
if (!((z =
|
|
2132
|
+
const M = g.find((K) => K.section === x);
|
|
2133
|
+
if (!((z = M == null ? void 0 : M.rows) != null && z[y]) || k === "left" && h === 0 || k === "right" && h === M.rows[y].columns.length - 1)
|
|
2124
2134
|
return;
|
|
2125
|
-
const
|
|
2126
|
-
|
|
2127
|
-
},
|
|
2128
|
-
var
|
|
2129
|
-
const
|
|
2130
|
-
(
|
|
2131
|
-
|
|
2132
|
-
const
|
|
2133
|
-
|
|
2135
|
+
const E = M.rows[y].columns, D = E.splice(h, 1)[0], V = k === "right" ? h + 1 : h - 1;
|
|
2136
|
+
E.splice(V, 0, D);
|
|
2137
|
+
}, ge = (y, h) => {
|
|
2138
|
+
var k;
|
|
2139
|
+
const x = g.find((M) => M.section === h);
|
|
2140
|
+
(k = x == null ? void 0 : x.rows) == null || k.forEach((M) => {
|
|
2141
|
+
M.columns.forEach((E) => {
|
|
2142
|
+
const D = E.components.indexOf(y);
|
|
2143
|
+
D !== -1 && E.components.splice(D, 1);
|
|
2134
2144
|
});
|
|
2135
2145
|
});
|
|
2136
|
-
},
|
|
2137
|
-
|
|
2146
|
+
}, fe = (y, h, x) => {
|
|
2147
|
+
a.value = !0, n.value = { rowIndex: y, columnIndex: h, section: x };
|
|
2138
2148
|
}, re = (y) => {
|
|
2139
|
-
var
|
|
2140
|
-
const { rowIndex:
|
|
2141
|
-
if (
|
|
2142
|
-
const z = JSON.parse(JSON.stringify(y)),
|
|
2149
|
+
var M, E, D, V;
|
|
2150
|
+
const { rowIndex: h, columnIndex: x, section: k } = n.value;
|
|
2151
|
+
if (h !== null && x !== null) {
|
|
2152
|
+
const z = JSON.parse(JSON.stringify(y)), K = g.find((pe) => pe.section === k), Z = (V = (D = (E = (M = K == null ? void 0 : K.rows) == null ? void 0 : M[h]) == null ? void 0 : E.columns) == null ? void 0 : D[x]) == null ? void 0 : V.components;
|
|
2143
2153
|
Z == null || Z.push(z);
|
|
2144
2154
|
}
|
|
2145
|
-
|
|
2155
|
+
a.value = !1;
|
|
2146
2156
|
}, se = (y) => {
|
|
2147
|
-
const
|
|
2148
|
-
|
|
2157
|
+
const h = typeof y == "string" ? JSON.parse(y) : y;
|
|
2158
|
+
g.length = 0, g.push(...h.pageConfig || []), h.paramsConfig && (P.value = { ...P.value, ...h.paramsConfig });
|
|
2149
2159
|
};
|
|
2150
|
-
return (y,
|
|
2151
|
-
L(
|
|
2152
|
-
sectionSelected:
|
|
2153
|
-
"onUpdate:sectionSelected":
|
|
2154
|
-
parametersPageConfiguration:
|
|
2155
|
-
"onUpdate:parametersPageConfiguration":
|
|
2156
|
-
globalPageConfiguration:
|
|
2157
|
-
availableSections:
|
|
2160
|
+
return (y, h) => (i(), d("div", Kn, [
|
|
2161
|
+
L(dt, {
|
|
2162
|
+
sectionSelected: I.value,
|
|
2163
|
+
"onUpdate:sectionSelected": h[0] || (h[0] = (x) => I.value = x),
|
|
2164
|
+
parametersPageConfiguration: P.value,
|
|
2165
|
+
"onUpdate:parametersPageConfiguration": h[1] || (h[1] = (x) => P.value = x),
|
|
2166
|
+
globalPageConfiguration: g,
|
|
2167
|
+
availableSections: c.value,
|
|
2158
2168
|
importConfigurationFunction: se,
|
|
2159
|
-
isComponentMode:
|
|
2160
|
-
toggleComponentModeFunction:
|
|
2161
|
-
fullwidthMode:
|
|
2162
|
-
toggleFullwidthMode:
|
|
2163
|
-
renderApiDomain: q(
|
|
2164
|
-
inputId: q(
|
|
2165
|
-
debugMode: q(
|
|
2166
|
-
submitForm: q(
|
|
2169
|
+
isComponentMode: f.value,
|
|
2170
|
+
toggleComponentModeFunction: r,
|
|
2171
|
+
fullwidthMode: w.value,
|
|
2172
|
+
toggleFullwidthMode: F,
|
|
2173
|
+
renderApiDomain: q(m),
|
|
2174
|
+
inputId: q(u),
|
|
2175
|
+
debugMode: q($),
|
|
2176
|
+
submitForm: q(p)
|
|
2167
2177
|
}, null, 8, ["sectionSelected", "parametersPageConfiguration", "globalPageConfiguration", "availableSections", "isComponentMode", "fullwidthMode", "renderApiDomain", "inputId", "debugMode", "submitForm"]),
|
|
2168
|
-
t("div",
|
|
2169
|
-
|
|
2178
|
+
t("div", Qn, [
|
|
2179
|
+
w.value ? (i(), d("div", {
|
|
2170
2180
|
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",
|
|
2181
|
+
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", a.value ? "" : "hidden"])
|
|
2172
2182
|
}, [
|
|
2173
|
-
t("div",
|
|
2183
|
+
t("div", Xn, [
|
|
2174
2184
|
t("div", {
|
|
2175
2185
|
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:
|
|
2186
|
+
onClick: h[2] || (h[2] = (x) => a.value = !1)
|
|
2177
2187
|
}, "✕")
|
|
2178
2188
|
]),
|
|
2179
|
-
t("div",
|
|
2189
|
+
t("div", Zn, [
|
|
2180
2190
|
L(de, {
|
|
2181
|
-
renderApiDomain: q(
|
|
2182
|
-
isComponentMode:
|
|
2183
|
-
fullwidthMode:
|
|
2184
|
-
columnToInsert:
|
|
2191
|
+
renderApiDomain: q(m),
|
|
2192
|
+
isComponentMode: f.value,
|
|
2193
|
+
fullwidthMode: w.value,
|
|
2194
|
+
columnToInsert: n.value,
|
|
2185
2195
|
addComponentToColumn: re,
|
|
2186
|
-
toggleComponentModeFunction:
|
|
2187
|
-
isProduction: q(b)
|
|
2188
|
-
|
|
2196
|
+
toggleComponentModeFunction: r,
|
|
2197
|
+
isProduction: q(b),
|
|
2198
|
+
components: R.value,
|
|
2199
|
+
excludedCategories: s
|
|
2200
|
+
}, null, 8, ["renderApiDomain", "isComponentMode", "fullwidthMode", "columnToInsert", "isProduction", "components"])
|
|
2189
2201
|
])
|
|
2190
|
-
], 2)) : (
|
|
2202
|
+
], 2)) : (i(), d("div", _n, [
|
|
2191
2203
|
L(de, {
|
|
2192
|
-
renderApiDomain: q(
|
|
2193
|
-
isComponentMode:
|
|
2194
|
-
fullwidthMode:
|
|
2195
|
-
columnToInsert:
|
|
2204
|
+
renderApiDomain: q(m),
|
|
2205
|
+
isComponentMode: f.value,
|
|
2206
|
+
fullwidthMode: w.value,
|
|
2207
|
+
columnToInsert: n.value,
|
|
2196
2208
|
addComponentToColumn: re,
|
|
2197
|
-
toggleComponentModeFunction:
|
|
2198
|
-
isProduction: q(b)
|
|
2199
|
-
|
|
2209
|
+
toggleComponentModeFunction: r,
|
|
2210
|
+
isProduction: q(b),
|
|
2211
|
+
components: R.value,
|
|
2212
|
+
excludedCategories: s
|
|
2213
|
+
}, null, 8, ["renderApiDomain", "isComponentMode", "fullwidthMode", "columnToInsert", "isProduction", "components"])
|
|
2200
2214
|
])),
|
|
2201
2215
|
t("div", {
|
|
2202
|
-
class: G([
|
|
2216
|
+
class: G([w.value ? "w-full px-4" : "w-3/4 ps-3", "flex flex-col gap-5"])
|
|
2203
2217
|
}, [
|
|
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(
|
|
2218
|
+
L(Un, {
|
|
2219
|
+
globalPageConfiguration: g,
|
|
2220
|
+
isComponentMode: f.value,
|
|
2221
|
+
removeComponent: ge,
|
|
2222
|
+
addComponentFunction: fe,
|
|
2223
|
+
fullwidthMode: w.value,
|
|
2224
|
+
addCol: _,
|
|
2225
|
+
addRow: U,
|
|
2226
|
+
removeRow: X,
|
|
2227
|
+
removeCol: ee,
|
|
2228
|
+
moveCol: te,
|
|
2229
|
+
updateRowConfig: j,
|
|
2230
|
+
updateColConfig: B,
|
|
2231
|
+
moveRow: J,
|
|
2232
|
+
sectionSelected: I.value,
|
|
2233
|
+
renderApiDomain: q(m),
|
|
2220
2234
|
isProduction: q(b)
|
|
2221
2235
|
}, null, 8, ["globalPageConfiguration", "isComponentMode", "fullwidthMode", "sectionSelected", "renderApiDomain", "isProduction"])
|
|
2222
2236
|
], 2)
|
|
@@ -2225,15 +2239,15 @@ const st = /* @__PURE__ */ ye(we, [["render", rt]]), it = {
|
|
|
2225
2239
|
}
|
|
2226
2240
|
});
|
|
2227
2241
|
export {
|
|
2228
|
-
|
|
2229
|
-
|
|
2242
|
+
Un as BodySection,
|
|
2243
|
+
un as ColConfig,
|
|
2230
2244
|
de as ComponentsBox,
|
|
2231
|
-
|
|
2245
|
+
po as FeedComponent,
|
|
2232
2246
|
ie as FieldsForm,
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2247
|
+
dt as GlobalConfig,
|
|
2248
|
+
be as InitialComponent,
|
|
2249
|
+
ll as Pagebuilder,
|
|
2250
|
+
On as RowConfig,
|
|
2251
|
+
Bt as SourceFilter,
|
|
2252
|
+
ll as default
|
|
2239
2253
|
};
|