lf-pagebuilder-vue 0.0.6 → 0.0.7

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