lf-pagebuilder-vue 0.0.7 → 0.0.8

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