@webx-ui/module-seo 0.3.2 → 0.4.1

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 q, computed as w, openBlock as b, createBlock as S, unref as e, withCtx as a, renderSlot as Ue, ref as T, isRef as I, createElementVNode as B, createVNode as l, withKeys as We, createTextVNode as k, toDisplayString as y, createElementBlock as M, Fragment as oe, createCommentVNode as j, renderList as ge, useModel as Te, resolveDynamicComponent as Ce, mergeModels as ze, watch as be, markRaw as De } from "vue";
2
- import { useAdmin as H, useTranslate as K, WxListScreen as Oe, WxDate as ye, useErrorText as se, rowMenuWidth as _e, WxRowMenu as ae, WxFilterChips as Re } from "@webx-ui/module-admin";
3
- import { useModal as re, WxDialog as de, WxSpace as X, WxInput as E, WxButton as Z, WxAlert as Y, WxText as A, WxBadge as J, WxDescriptions as Le, WxDescriptionsItem as je, WxEmpty as Ae, createModal as ee, WxTable as ue, WxLink as Be, useLocales as Fe, WxTabs as Ne, WxTab as ne, WxFormItem as O, WxTextarea as me, WxCheckboxGroup as Pe, WxCodeEditor as Ie, localizedValue as xe, WxSelect as le, WxSwitch as we, toast as P, confirm as ke, WxInputNumber as Me } from "@webx-ui/core";
4
- import { useRouter as Ee, useRoute as Ke } from "vue-router";
5
- const Je = {
1
+ import { defineComponent as G, computed as y, openBlock as m, createBlock as S, unref as e, withCtx as a, renderSlot as Ce, ref as T, isRef as K, createElementVNode as R, createVNode as l, withKeys as De, createTextVNode as k, toDisplayString as h, createElementBlock as P, Fragment as ne, createCommentVNode as L, renderList as he, useModel as Oe, inject as Re, resolveDynamicComponent as Le, mergeModels as je, watch as ye, markRaw as Ae } from "vue";
2
+ import { useAdmin as Q, useTranslate as q, WxListScreen as Be, WxDate as we, adminKey as Fe, useErrorText as ie, rowMenuWidth as xe, WxRowMenu as se, WxFilterChips as Ne } from "@webx-ui/module-admin";
3
+ import { useModal as ue, WxDialog as ce, WxSpace as Z, WxInput as J, WxButton as te, WxAlert as ee, WxText as A, WxBadge as H, WxDescriptions as Pe, WxDescriptionsItem as Ie, WxEmpty as Me, createModal as ae, WxTable as pe, WxLink as Ee, useLocales as Ke, WxTabs as Je, WxTab as re, WxFormItem as C, WxTextarea as fe, WxCheckboxGroup as qe, WxCodeEditor as He, localizedValue as ke, WxSelect as oe, WxSwitch as Ve, toast as M, confirm as $e, WxInputNumber as Ge } from "@webx-ui/core";
4
+ import { useRouter as Qe, useRoute as Xe } from "vue-router";
5
+ const Ye = {
6
6
  module: {
7
7
  title: "SEO"
8
8
  },
@@ -87,17 +87,19 @@ const Je = {
87
87
  "json-ld": "Structured data",
88
88
  "json-ld-help": "A JSON-LD object, or a list of them. What the site says about itself comes from the settings; this is for a page that needs markup of its own.",
89
89
  "json-ld-invalid": "This is not valid JSON.",
90
- preview: "In search results"
90
+ preview: "In search results",
91
+ "share-preview": "When shared",
92
+ "share-auto": "The site fills this in — the record’s own picture, or the default one"
91
93
  }
92
- }, he = /* @__PURE__ */ new WeakSet();
93
- function G() {
94
+ }, be = /* @__PURE__ */ new WeakSet();
95
+ function X() {
94
96
  try {
95
- const { i18n: o } = H();
96
- he.has(o) || (o.defaults("webx-seo", Je), he.add(o));
97
+ const { i18n: o } = Q();
98
+ be.has(o) || (o.defaults("webx-seo", Ye), be.add(o));
97
99
  } catch {
98
100
  }
99
101
  }
100
- const ce = /* @__PURE__ */ q({
102
+ const ve = /* @__PURE__ */ G({
101
103
  __name: "SeoLayout",
102
104
  props: {
103
105
  base: {},
@@ -106,178 +108,178 @@ const ce = /* @__PURE__ */ q({
106
108
  },
107
109
  emits: ["test"],
108
110
  setup(o, { emit: r }) {
109
- const i = o, u = r, t = H(), n = Ee(), h = Ke();
110
- G();
111
- const s = K("webx-seo"), $ = w(
111
+ const n = o, u = r, t = Q(), i = Qe(), x = Xe();
112
+ X();
113
+ const s = q("webx-seo"), U = y(
112
114
  () => t.state.manifest?.modules.find((d) => d.id === "seo")?.title ?? s("module.title")
113
- ), f = w(() => [
115
+ ), f = y(() => [
114
116
  { value: "rules", label: s("page.rules") },
115
117
  { value: "redirects", label: s("page.redirects") },
116
118
  { value: "aliases", label: s("page.automatic") }
117
- ]), m = w(() => [
118
- ...i.actions ?? [],
119
+ ]), b = y(() => [
120
+ ...n.actions ?? [],
119
121
  { key: "test", label: s("page.test"), icon: "search", run: () => u("test") }
120
- ]), c = w({
121
- get: () => i.current,
122
+ ]), c = y({
123
+ get: () => n.current,
122
124
  set: (d) => {
123
- const x = d === "rules" ? i.base : `${i.base}/${String(d)}`;
124
- x !== h.path && n.push(x);
125
+ const w = d === "rules" ? n.base : `${n.base}/${String(d)}`;
126
+ w !== x.path && i.push(w);
125
127
  }
126
128
  });
127
- return (d, x) => (b(), S(e(Oe), {
129
+ return (d, w) => (m(), S(e(Be), {
128
130
  view: c.value,
129
- "onUpdate:view": x[0] || (x[0] = (R) => c.value = R),
130
- title: $.value,
131
+ "onUpdate:view": w[0] || (w[0] = (D) => c.value = D),
132
+ title: U.value,
131
133
  views: f.value,
132
- actions: m.value
134
+ actions: b.value
133
135
  }, {
134
136
  default: a(() => [
135
- Ue(d.$slots, "default")
137
+ Ce(d.$slots, "default")
136
138
  ]),
137
139
  _: 3
138
140
  }, 8, ["view", "title", "views", "actions"]));
139
141
  }
140
142
  });
141
- function Q(o) {
142
- const r = `${o.apiPath}/seo`, i = (n) => n.data, u = (n) => ({
143
- ...n.meta,
144
- data: n.data
145
- }), t = (n) => ({
146
- q: n.q || void 0,
147
- match_type: n.match_type ?? void 0,
148
- is_active: n.is_active ?? void 0,
149
- sort: n.sort || void 0,
150
- page: n.page,
151
- per_page: n.per_page
143
+ function Y(o) {
144
+ const r = `${o.apiPath}/seo`, n = (i) => i.data, u = (i) => ({
145
+ ...i.meta,
146
+ data: i.data
147
+ }), t = (i) => ({
148
+ q: i.q || void 0,
149
+ match_type: i.match_type ?? void 0,
150
+ is_active: i.is_active ?? void 0,
151
+ sort: i.sort || void 0,
152
+ page: i.page,
153
+ per_page: i.per_page
152
154
  });
153
155
  return {
154
- urls: (n = {}) => o.http.get(`${r}/urls`, {
155
- query: t(n)
156
+ urls: (i = {}) => o.http.get(`${r}/urls`, {
157
+ query: t(i)
156
158
  }).then(u),
157
- url: (n) => o.http.get(`${r}/urls/${n}`).then(i),
158
- createUrl: (n) => o.http.post(`${r}/urls`, n).then(i),
159
- updateUrl: (n, h) => o.http.put(`${r}/urls/${n}`, h).then(i),
160
- removeUrl: (n) => o.http.delete(`${r}/urls/${n}`),
161
- redirects: (n = {}) => o.http.get(
159
+ url: (i) => o.http.get(`${r}/urls/${i}`).then(n),
160
+ createUrl: (i) => o.http.post(`${r}/urls`, i).then(n),
161
+ updateUrl: (i, x) => o.http.put(`${r}/urls/${i}`, x).then(n),
162
+ removeUrl: (i) => o.http.delete(`${r}/urls/${i}`),
163
+ redirects: (i = {}) => o.http.get(
162
164
  `${r}/redirects`,
163
- { query: t(n) }
165
+ { query: t(i) }
164
166
  ).then(u),
165
- createRedirect: (n) => o.http.post(`${r}/redirects`, n).then(i),
166
- updateRedirect: (n, h) => o.http.put(`${r}/redirects/${n}`, h).then(i),
167
- removeRedirect: (n) => o.http.delete(`${r}/redirects/${n}`),
168
- aliases: (n = {}) => o.http.get(`${r}/aliases`, {
167
+ createRedirect: (i) => o.http.post(`${r}/redirects`, i).then(n),
168
+ updateRedirect: (i, x) => o.http.put(`${r}/redirects/${i}`, x).then(n),
169
+ removeRedirect: (i) => o.http.delete(`${r}/redirects/${i}`),
170
+ aliases: (i = {}) => o.http.get(`${r}/aliases`, {
169
171
  query: {
170
- q: n.q || void 0,
171
- locale: n.locale ?? void 0,
172
- page: n.page,
173
- per_page: n.per_page
172
+ q: i.q || void 0,
173
+ locale: i.locale ?? void 0,
174
+ page: i.page,
175
+ per_page: i.per_page
174
176
  }
175
177
  }).then(u),
176
178
  // A POST because it carries an address in its body, and an address in a query string is an
177
179
  // address somebody has to escape twice.
178
- test: (n, h = null) => o.http.post(`${r}/test-url`, { url: n, locale: h ?? void 0 }).then(i)
180
+ test: (i, x = null) => o.http.post(`${r}/test-url`, { url: i, locale: x ?? void 0 }).then(n)
179
181
  };
180
182
  }
181
- const qe = { class: "wx-seo-test" }, He = {
183
+ const Ze = { class: "wx-seo-test" }, et = {
182
184
  key: 3,
183
185
  class: "wx-seo-test__matched"
184
- }, Ge = {
186
+ }, tt = {
185
187
  key: 4,
186
188
  class: "wx-seo-test__result"
187
- }, Qe = {
189
+ }, at = {
188
190
  key: 5,
189
191
  class: "wx-seo-test__chain"
190
- }, Xe = /* @__PURE__ */ q({
192
+ }, lt = /* @__PURE__ */ G({
191
193
  __name: "TestUrlDialog",
192
194
  setup(o) {
193
- const { open: r } = re(), i = H(), u = Q(i);
194
- G();
195
- const t = K("webx-seo"), n = T(""), h = T(!1), s = T(null), $ = w(() => {
196
- const m = s.value?.seo;
197
- return m ? [
198
- { label: t("card.title"), value: m.title },
199
- { label: t("card.h1"), value: m.h1 },
200
- { label: t("card.description"), value: m.description },
201
- { label: t("card.keywords"), value: m.keywords },
202
- { label: t("card.canonical"), value: m.canonical },
203
- { label: t("card.robots"), value: m.robots }
195
+ const { open: r } = ue(), n = Q(), u = Y(n);
196
+ X();
197
+ const t = q("webx-seo"), i = T(""), x = T(!1), s = T(null), U = y(() => {
198
+ const b = s.value?.seo;
199
+ return b ? [
200
+ { label: t("card.title"), value: b.title },
201
+ { label: t("card.h1"), value: b.h1 },
202
+ { label: t("card.description"), value: b.description },
203
+ { label: t("card.keywords"), value: b.keywords },
204
+ { label: t("card.canonical"), value: b.canonical },
205
+ { label: t("card.robots"), value: b.robots }
204
206
  ].filter((c) => c.value) : [];
205
207
  });
206
208
  async function f() {
207
- if (n.value.trim() !== "") {
208
- h.value = !0;
209
+ if (i.value.trim() !== "") {
210
+ x.value = !0;
209
211
  try {
210
- s.value = await u.test(n.value);
212
+ s.value = await u.test(i.value);
211
213
  } finally {
212
- h.value = !1;
214
+ x.value = !1;
213
215
  }
214
216
  }
215
217
  }
216
- return (m, c) => (b(), S(e(de), {
218
+ return (b, c) => (m(), S(e(ce), {
217
219
  open: e(r),
218
- "onUpdate:open": c[1] || (c[1] = (d) => I(r) ? r.value = d : null),
220
+ "onUpdate:open": c[1] || (c[1] = (d) => K(r) ? r.value = d : null),
219
221
  title: e(t)("page.test"),
220
222
  width: 720
221
223
  }, {
222
224
  default: a(() => [
223
- B("div", qe, [
224
- l(e(X), {
225
+ R("div", Ze, [
226
+ l(e(Z), {
225
227
  size: "sm",
226
228
  class: "wx-seo-test__ask"
227
229
  }, {
228
230
  default: a(() => [
229
- l(e(E), {
230
- modelValue: n.value,
231
- "onUpdate:modelValue": c[0] || (c[0] = (d) => n.value = d),
231
+ l(e(J), {
232
+ modelValue: i.value,
233
+ "onUpdate:modelValue": c[0] || (c[0] = (d) => i.value = d),
232
234
  placeholder: e(t)("page.test-placeholder"),
233
235
  class: "wx-seo-test__input",
234
- onKeyup: We(f, ["enter"])
236
+ onKeyup: De(f, ["enter"])
235
237
  }, null, 8, ["modelValue", "placeholder"]),
236
- l(e(Z), {
238
+ l(e(te), {
237
239
  type: "primary",
238
- loading: h.value,
240
+ loading: x.value,
239
241
  onClick: f
240
242
  }, {
241
243
  default: a(() => [
242
- k(y(e(t)("page.test-run")), 1)
244
+ k(h(e(t)("page.test-run")), 1)
243
245
  ]),
244
246
  _: 1
245
247
  }, 8, ["loading"])
246
248
  ]),
247
249
  _: 1
248
250
  }),
249
- s.value ? (b(), M(oe, { key: 0 }, [
250
- s.value.redirect ? (b(), S(e(Y), {
251
+ s.value ? (m(), P(ne, { key: 0 }, [
252
+ s.value.redirect ? (m(), S(e(ee), {
251
253
  key: 0,
252
254
  type: "warning",
253
255
  description: e(t)("page.test-redirected", {
254
256
  target: s.value.redirect.target,
255
257
  status: s.value.redirect.status
256
258
  })
257
- }, null, 8, ["description"])) : j("", !0),
258
- s.value.route ? (b(), S(e(Y), {
259
+ }, null, 8, ["description"])) : L("", !0),
260
+ s.value.route ? (m(), S(e(ee), {
259
261
  key: 1,
260
262
  type: "info",
261
263
  description: s.value.route.kind === "alias" ? e(t)("page.occupied-alias", { target: s.value.route.target ?? s.value.route.path }) : e(t)("page.occupied", { path: s.value.route.path })
262
- }, null, 8, ["description"])) : j("", !0),
263
- s.value.matched ? (b(), M("div", He, [
264
+ }, null, 8, ["description"])) : L("", !0),
265
+ s.value.matched ? (m(), P("div", et, [
264
266
  l(e(A), {
265
267
  size: "sm",
266
268
  tone: "muted"
267
269
  }, {
268
270
  default: a(() => [
269
- k(y(e(t)("page.test-matched")), 1)
271
+ k(h(e(t)("page.test-matched")), 1)
270
272
  ]),
271
273
  _: 1
272
274
  }),
273
- l(e(X), {
275
+ l(e(Z), {
274
276
  size: "sm",
275
277
  align: "center"
276
278
  }, {
277
279
  default: a(() => [
278
- l(e(J), null, {
280
+ l(e(H), null, {
279
281
  default: a(() => [
280
- k(y(e(t)(`page.${s.value.matched.match_type}`)), 1)
282
+ k(h(e(t)(`page.${s.value.matched.match_type}`)), 1)
281
283
  ]),
282
284
  _: 1
283
285
  }),
@@ -286,75 +288,75 @@ const qe = { class: "wx-seo-test" }, He = {
286
288
  size: "sm"
287
289
  }, {
288
290
  default: a(() => [
289
- k(y(s.value.matched.pattern), 1)
291
+ k(h(s.value.matched.pattern), 1)
290
292
  ]),
291
293
  _: 1
292
294
  })
293
295
  ]),
294
296
  _: 1
295
297
  })
296
- ])) : (b(), S(e(Y), {
298
+ ])) : (m(), S(e(ee), {
297
299
  key: 2,
298
300
  type: "info",
299
301
  description: e(t)("page.test-none")
300
302
  }, null, 8, ["description"])),
301
- $.value.length > 0 ? (b(), M("div", Ge, [
303
+ U.value.length > 0 ? (m(), P("div", tt, [
302
304
  l(e(A), {
303
305
  size: "sm",
304
306
  tone: "muted"
305
307
  }, {
306
308
  default: a(() => [
307
- k(y(e(t)("page.test-result")), 1)
309
+ k(h(e(t)("page.test-result")), 1)
308
310
  ]),
309
311
  _: 1
310
312
  }),
311
- l(e(Le), {
313
+ l(e(Pe), {
312
314
  columns: 1,
313
315
  bordered: "",
314
316
  size: "sm"
315
317
  }, {
316
318
  default: a(() => [
317
- (b(!0), M(oe, null, ge($.value, (d) => (b(), S(e(je), {
319
+ (m(!0), P(ne, null, he(U.value, (d) => (m(), S(e(Ie), {
318
320
  key: d.label,
319
321
  label: d.label
320
322
  }, {
321
323
  default: a(() => [
322
- k(y(d.value), 1)
324
+ k(h(d.value), 1)
323
325
  ]),
324
326
  _: 2
325
327
  }, 1032, ["label"]))), 128))
326
328
  ]),
327
329
  _: 1
328
330
  })
329
- ])) : j("", !0),
330
- s.value.chain.length > 0 ? (b(), M("div", Qe, [
331
+ ])) : L("", !0),
332
+ s.value.chain.length > 0 ? (m(), P("div", at, [
331
333
  l(e(A), {
332
334
  size: "sm",
333
335
  tone: "muted"
334
336
  }, {
335
337
  default: a(() => [
336
- k(y(e(t)("page.test-chain")), 1)
338
+ k(h(e(t)("page.test-chain")), 1)
337
339
  ]),
338
340
  _: 1
339
341
  }),
340
- l(e(X), {
342
+ l(e(Z), {
341
343
  size: "xs",
342
344
  wrap: ""
343
345
  }, {
344
346
  default: a(() => [
345
- (b(!0), M(oe, null, ge(s.value.chain, (d) => (b(), S(e(J), {
347
+ (m(!0), P(ne, null, he(s.value.chain, (d) => (m(), S(e(H), {
346
348
  key: d.source
347
349
  }, {
348
350
  default: a(() => [
349
- k(y(d.source) + " · " + y(d.priority), 1)
351
+ k(h(d.source) + " · " + h(d.priority), 1)
350
352
  ]),
351
353
  _: 2
352
354
  }, 1024))), 128))
353
355
  ]),
354
356
  _: 1
355
357
  })
356
- ])) : j("", !0)
357
- ], 64)) : h.value ? j("", !0) : (b(), S(e(Ae), {
358
+ ])) : L("", !0)
359
+ ], 64)) : x.value ? L("", !0) : (m(), S(e(Me), {
358
360
  key: 1,
359
361
  icon: "search",
360
362
  description: e(t)("page.test-empty")
@@ -364,81 +366,81 @@ const qe = { class: "wx-seo-test" }, He = {
364
366
  _: 1
365
367
  }, 8, ["open", "title"]));
366
368
  }
367
- }), te = (o, r) => {
368
- const i = o.__vccOpts || o;
369
+ }), le = (o, r) => {
370
+ const n = o.__vccOpts || o;
369
371
  for (const [u, t] of r)
370
- i[u] = t;
371
- return i;
372
- }, pe = /* @__PURE__ */ te(Xe, [["__scopeId", "data-v-116e47cd"]]), Ye = /* @__PURE__ */ q({
372
+ n[u] = t;
373
+ return n;
374
+ }, ge = /* @__PURE__ */ le(lt, [["__scopeId", "data-v-116e47cd"]]), st = /* @__PURE__ */ G({
373
375
  __name: "SeoAliasesPage",
374
376
  props: {
375
377
  base: { default: "/seo" }
376
378
  },
377
379
  setup(o) {
378
- const r = o, i = H(), u = Q(i);
379
- G();
380
- const t = K("webx-seo"), n = T(null), h = T(!1), s = ee(pe), $ = w(() => (i.state.manifest?.locales?.length ?? 1) > 1), f = w(() => [
380
+ const r = o, n = Q(), u = Y(n);
381
+ X();
382
+ const t = q("webx-seo"), i = T(null), x = T(!1), s = ae(ge), U = y(() => (n.state.manifest?.locales?.length ?? 1) > 1), f = y(() => [
381
383
  { key: "pattern", label: t("page.address"), sortable: !1 },
382
384
  { key: "target", label: t("page.target") },
383
385
  {
384
386
  key: "locale",
385
387
  label: t("page.language"),
386
388
  align: "center",
387
- hidden: !$.value,
389
+ hidden: !U.value,
388
390
  hideBelow: 760
389
391
  },
390
392
  { key: "created_at", label: t("page.moved-at"), hideBelow: 900, hideOnCards: !0 }
391
393
  ]);
392
- async function m(c) {
393
- h.value = !0;
394
+ async function b(c) {
395
+ x.value = !0;
394
396
  try {
395
- n.value = await u.aliases({
397
+ i.value = await u.aliases({
396
398
  q: c.search,
397
399
  page: c.page,
398
400
  per_page: c.perPage
399
401
  });
400
402
  } finally {
401
- h.value = !1;
403
+ x.value = !1;
402
404
  }
403
405
  }
404
- return (c, d) => (b(), S(ce, {
406
+ return (c, d) => (m(), S(ve, {
405
407
  base: r.base,
406
408
  current: "aliases",
407
- onTest: d[0] || (d[0] = (x) => e(s)({}))
409
+ onTest: d[0] || (d[0] = (w) => e(s)({}))
408
410
  }, {
409
411
  default: a(() => [
410
- l(e(Y), {
412
+ l(e(ee), {
411
413
  type: "info",
412
414
  variant: "soft",
413
415
  description: e(t)("page.aliases-help"),
414
416
  class: "wx-seo-aliases__note"
415
417
  }, null, 8, ["description"]),
416
- l(e(ue), {
417
- data: n.value,
418
+ l(e(pe), {
419
+ data: i.value,
418
420
  columns: f.value,
419
421
  "row-key": "id",
420
422
  searchable: "",
421
423
  flush: "",
422
- loading: h.value,
424
+ loading: x.value,
423
425
  "search-placeholder": e(t)("page.search-aliases"),
424
426
  "empty-text": e(t)("page.aliases-empty"),
425
- onStateChange: m
427
+ onStateChange: b
426
428
  }, {
427
- "cell-pattern": a(({ row: x }) => [
429
+ "cell-pattern": a(({ row: w }) => [
428
430
  l(e(A), {
429
431
  mono: "",
430
432
  size: "sm"
431
433
  }, {
432
434
  default: a(() => [
433
- k(y(x.pattern), 1)
435
+ k(h(w.pattern), 1)
434
436
  ]),
435
437
  _: 2
436
438
  }, 1024)
437
439
  ]),
438
- "cell-target": a(({ row: x }) => [
439
- x.target && x.target_url ? (b(), S(e(Be), {
440
+ "cell-target": a(({ row: w }) => [
441
+ w.target && w.target_url ? (m(), S(e(Ee), {
440
442
  key: 0,
441
- href: x.target_url,
443
+ href: w.target_url,
442
444
  external: "",
443
445
  size: "sm"
444
446
  }, {
@@ -448,35 +450,35 @@ const qe = { class: "wx-seo-test" }, He = {
448
450
  size: "sm"
449
451
  }, {
450
452
  default: a(() => [
451
- k(y(x.target), 1)
453
+ k(h(w.target), 1)
452
454
  ]),
453
455
  _: 2
454
456
  }, 1024)
455
457
  ]),
456
458
  _: 2
457
- }, 1032, ["href"])) : (b(), S(e(J), {
459
+ }, 1032, ["href"])) : (m(), S(e(H), {
458
460
  key: 1,
459
461
  type: "warning"
460
462
  }, {
461
463
  default: a(() => [
462
- k(y(e(t)("page.gone")), 1)
464
+ k(h(e(t)("page.gone")), 1)
463
465
  ]),
464
466
  _: 1
465
467
  }))
466
468
  ]),
467
- "cell-locale": a(({ row: x }) => [
468
- l(e(J), null, {
469
+ "cell-locale": a(({ row: w }) => [
470
+ l(e(H), null, {
469
471
  default: a(() => [
470
- k(y(x.locale), 1)
472
+ k(h(w.locale), 1)
471
473
  ]),
472
474
  _: 2
473
475
  }, 1024)
474
476
  ]),
475
- "cell-created_at": a(({ row: x }) => [
476
- x.created_at ? (b(), S(e(ye), {
477
+ "cell-created_at": a(({ row: w }) => [
478
+ w.created_at ? (m(), S(e(we), {
477
479
  key: 0,
478
- value: x.created_at
479
- }, null, 8, ["value"])) : j("", !0)
480
+ value: w.created_at
481
+ }, null, 8, ["value"])) : L("", !0)
480
482
  ]),
481
483
  _: 1
482
484
  }, 8, ["data", "columns", "loading", "search-placeholder", "empty-text"])
@@ -484,22 +486,31 @@ const qe = { class: "wx-seo-test" }, He = {
484
486
  _: 1
485
487
  }, 8, ["base"]));
486
488
  }
487
- }), Ze = /* @__PURE__ */ te(Ye, [["__scopeId", "data-v-6816a871"]]), ie = [
489
+ }), ot = /* @__PURE__ */ le(st, [["__scopeId", "data-v-6816a871"]]), de = [
488
490
  "noindex",
489
491
  "nofollow",
490
492
  "noarchive",
491
493
  "nosnippet",
492
494
  "noimageindex"
493
- ], et = { class: "wx-seo" }, tt = { class: "wx-seo__fields" }, at = { class: "wx-seo__count" }, lt = { class: "wx-seo__count" }, st = {
495
+ ], it = { class: "wx-seo" }, nt = { class: "wx-seo__fields" }, rt = { class: "wx-seo__count" }, dt = { class: "wx-seo__count" }, ut = {
494
496
  key: 0,
495
497
  class: "wx-seo__preview"
496
- }, ot = { class: "wx-seo__snippet" }, nt = {
498
+ }, ct = { class: "wx-seo__snippet" }, pt = {
497
499
  key: 0,
498
500
  class: "wx-seo__snippet-address"
499
- }, it = { class: "wx-seo__snippet-title" }, rt = { class: "wx-seo__snippet-text" }, dt = { class: "wx-seo__fields" }, ut = { class: "wx-seo__fields" }, ct = /* @__PURE__ */ q({
501
+ }, vt = { class: "wx-seo__snippet-title" }, gt = { class: "wx-seo__snippet-text" }, mt = { class: "wx-seo__fields" }, ht = {
502
+ key: 1,
503
+ class: "wx-seo__preview"
504
+ }, ft = { class: "wx-seo__share" }, bt = { class: "wx-seo__share-image" }, _t = ["src"], yt = { class: "wx-seo__share-body" }, wt = {
505
+ key: 0,
506
+ class: "wx-seo__share-address"
507
+ }, xt = { class: "wx-seo__share-title" }, kt = {
508
+ key: 1,
509
+ class: "wx-seo__share-text"
510
+ }, Vt = { class: "wx-seo__fields" }, $t = /* @__PURE__ */ G({
500
511
  name: "WxSeo",
501
512
  __name: "SeoCard",
502
- props: /* @__PURE__ */ ze({
513
+ props: /* @__PURE__ */ je({
503
514
  mediaField: { default: void 0 },
504
515
  disabled: { type: Boolean, default: !1 },
505
516
  titleLimit: { default: 60 },
@@ -512,97 +523,106 @@ const qe = { class: "wx-seo-test" }, He = {
512
523
  }),
513
524
  emits: ["update:modelValue"],
514
525
  setup(o) {
515
- const r = o, i = Te(o, "modelValue");
516
- G();
517
- const u = K("webx-seo"), t = Fe(), n = T(null), h = T(!1);
518
- function s(_) {
519
- return w({
520
- get: () => i.value?.[_],
526
+ const r = o, n = Oe(o, "modelValue");
527
+ X();
528
+ const u = q("webx-seo"), t = Re(Fe, null), i = y(
529
+ () => r.mediaField ?? t?.types["wx-media"]?.component
530
+ ), x = Ke(), s = T(null), U = T(!1);
531
+ function f(_) {
532
+ return y({
533
+ get: () => n.value?.[_],
521
534
  set: (V) => {
522
- i.value = { ...i.value ?? {}, [_]: V };
535
+ n.value = { ...n.value ?? {}, [_]: V };
523
536
  }
524
537
  });
525
538
  }
526
- const $ = s("title"), f = s("h1"), m = s("description"), c = s("keywords"), d = s("og_title"), x = s("og_description"), R = w({
527
- get: () => i.value?.canonical ?? "",
539
+ const b = f("title"), c = f("h1"), d = f("description"), w = f("keywords"), D = f("og_title"), F = f("og_description"), N = y({
540
+ get: () => n.value?.canonical ?? "",
528
541
  set: (_) => {
529
- i.value = { ...i.value ?? {}, canonical: _.trim() === "" ? null : _ };
542
+ n.value = { ...n.value ?? {}, canonical: _.trim() === "" ? null : _ };
530
543
  }
531
- }), F = w({
532
- get: () => i.value?.og_image ?? null,
544
+ }), W = y({
545
+ get: () => n.value?.og_image ?? null,
533
546
  set: (_) => {
534
- i.value = { ...i.value ?? {}, og_image: _ };
547
+ n.value = { ...n.value ?? {}, og_image: _ };
535
548
  }
536
- }), N = w(() => (i.value?.robots ?? "").split(",").map((_) => _.trim())), U = w(
537
- () => N.value.filter((_) => _ !== "" && !ie.includes(_))
538
- ), p = w({
539
- get: () => N.value.filter((_) => ie.includes(_)),
549
+ }), p = y(() => (n.value?.robots ?? "").split(",").map((_) => _.trim())), v = y(
550
+ () => p.value.filter((_) => _ !== "" && !de.includes(_))
551
+ ), g = y({
552
+ get: () => p.value.filter((_) => de.includes(_)),
540
553
  set: (_) => {
541
- const V = [..._, ...U.value].join(", ");
542
- i.value = { ...i.value ?? {}, robots: V === "" ? null : V };
554
+ const V = [..._, ...v.value].join(", ");
555
+ n.value = { ...n.value ?? {}, robots: V === "" ? null : V };
543
556
  }
544
- }), v = w(
545
- () => ie.map((_) => ({ value: _, label: u(`card.${_}`) }))
546
- ), g = w({
557
+ }), j = y(
558
+ () => de.map((_) => ({ value: _, label: u(`card.${_}`) }))
559
+ ), O = y({
547
560
  get: () => {
548
- if (n.value !== null) return n.value;
549
- const _ = i.value?.json_ld;
561
+ if (s.value !== null) return s.value;
562
+ const _ = n.value?.json_ld;
550
563
  return _ == null ? "" : JSON.stringify(_, null, 2);
551
564
  },
552
565
  set: (_) => {
553
- if (n.value = _, _.trim() === "") {
554
- h.value = !1, i.value = { ...i.value ?? {}, json_ld: null };
566
+ if (s.value = _, _.trim() === "") {
567
+ U.value = !1, n.value = { ...n.value ?? {}, json_ld: null };
555
568
  return;
556
569
  }
557
570
  try {
558
- i.value = { ...i.value ?? {}, json_ld: JSON.parse(_) }, h.value = !1;
571
+ n.value = { ...n.value ?? {}, json_ld: JSON.parse(_) }, U.value = !1;
559
572
  } catch {
560
- h.value = !0;
573
+ U.value = !0;
561
574
  }
562
575
  }
563
576
  });
564
- function C(_) {
565
- return xe(_, t.active.value);
577
+ function B(_) {
578
+ return ke(_, x.active.value);
566
579
  }
567
- const z = w(() => ({
568
- title: C($.value).length,
569
- description: C(m.value).length
570
- })), L = w(() => ({
571
- title: C($.value),
572
- description: C(m.value),
573
- address: R.value || (r.site ?? "")
574
- })), W = w(() => L.value.title !== "" || L.value.description !== ""), Se = w(
575
- () => U.value.length === 0 ? void 0 : u("card.robots-kept", { directives: U.value.join(", ") })
580
+ const $ = y(() => ({
581
+ title: B(b.value).length,
582
+ description: B(d.value).length
583
+ })), E = y(() => ({
584
+ title: B(b.value),
585
+ description: B(d.value),
586
+ address: N.value || (r.site ?? "")
587
+ })), We = y(() => E.value.title !== "" || E.value.description !== ""), I = y(() => ({
588
+ image: W.value?.url ?? null,
589
+ title: B(D.value) || E.value.title,
590
+ description: B(F.value) || E.value.description,
591
+ address: E.value.address
592
+ })), Te = y(
593
+ () => I.value.image !== null || I.value.title !== "" || I.value.description !== ""
594
+ ), ze = y(
595
+ () => v.value.length === 0 ? void 0 : u("card.robots-kept", { directives: v.value.join(", ") })
576
596
  );
577
- function ve(_, V) {
597
+ function me(_, V) {
578
598
  return _ > V ? "warning" : "muted";
579
599
  }
580
- return (_, V) => (b(), M("div", et, [
581
- l(e(Ne), { "keep-alive": "" }, {
600
+ return (_, V) => (m(), P("div", it, [
601
+ l(e(Je), { "keep-alive": "" }, {
582
602
  default: a(() => [
583
- l(e(ne), {
603
+ l(e(re), {
584
604
  label: e(u)("card.section-page"),
585
605
  value: "page"
586
606
  }, {
587
607
  default: a(() => [
588
- B("div", tt, [
589
- l(e(O), {
608
+ R("div", nt, [
609
+ l(e(C), {
590
610
  label: e(u)("card.title"),
591
611
  disabled: o.disabled
592
612
  }, {
593
613
  default: a(() => [
594
- l(e(E), {
595
- modelValue: e($),
596
- "onUpdate:modelValue": V[0] || (V[0] = (D) => I($) ? $.value = D : null),
614
+ l(e(J), {
615
+ modelValue: e(b),
616
+ "onUpdate:modelValue": V[0] || (V[0] = (z) => K(b) ? b.value = z : null),
597
617
  localized: ""
598
618
  }, null, 8, ["modelValue"]),
599
- B("div", at, [
619
+ R("div", rt, [
600
620
  l(e(A), {
601
621
  size: "sm",
602
- tone: ve(z.value.title, o.titleLimit)
622
+ tone: me($.value.title, o.titleLimit)
603
623
  }, {
604
624
  default: a(() => [
605
- k(y(z.value.title) + " / " + y(o.titleLimit), 1)
625
+ k(h($.value.title) + " / " + h(o.titleLimit), 1)
606
626
  ]),
607
627
  _: 1
608
628
  }, 8, ["tone"])
@@ -610,37 +630,37 @@ const qe = { class: "wx-seo-test" }, He = {
610
630
  ]),
611
631
  _: 1
612
632
  }, 8, ["label", "disabled"]),
613
- l(e(O), {
633
+ l(e(C), {
614
634
  label: e(u)("card.h1"),
615
635
  disabled: o.disabled
616
636
  }, {
617
637
  default: a(() => [
618
- l(e(E), {
619
- modelValue: e(f),
620
- "onUpdate:modelValue": V[1] || (V[1] = (D) => I(f) ? f.value = D : null),
638
+ l(e(J), {
639
+ modelValue: e(c),
640
+ "onUpdate:modelValue": V[1] || (V[1] = (z) => K(c) ? c.value = z : null),
621
641
  localized: ""
622
642
  }, null, 8, ["modelValue"])
623
643
  ]),
624
644
  _: 1
625
645
  }, 8, ["label", "disabled"]),
626
- l(e(O), {
646
+ l(e(C), {
627
647
  label: e(u)("card.description"),
628
648
  disabled: o.disabled
629
649
  }, {
630
650
  default: a(() => [
631
- l(e(me), {
632
- modelValue: e(m),
633
- "onUpdate:modelValue": V[2] || (V[2] = (D) => I(m) ? m.value = D : null),
651
+ l(e(fe), {
652
+ modelValue: e(d),
653
+ "onUpdate:modelValue": V[2] || (V[2] = (z) => K(d) ? d.value = z : null),
634
654
  localized: "",
635
655
  rows: 3
636
656
  }, null, 8, ["modelValue"]),
637
- B("div", lt, [
657
+ R("div", dt, [
638
658
  l(e(A), {
639
659
  size: "sm",
640
- tone: ve(z.value.description, o.descriptionLimit)
660
+ tone: me($.value.description, o.descriptionLimit)
641
661
  }, {
642
662
  default: a(() => [
643
- k(y(z.value.description) + " / " + y(o.descriptionLimit), 1)
663
+ k(h($.value.description) + " / " + h(o.descriptionLimit), 1)
644
664
  ]),
645
665
  _: 1
646
666
  }, 8, ["tone"])
@@ -648,131 +668,166 @@ const qe = { class: "wx-seo-test" }, He = {
648
668
  ]),
649
669
  _: 1
650
670
  }, 8, ["label", "disabled"]),
651
- l(e(O), {
671
+ l(e(C), {
652
672
  label: e(u)("card.keywords"),
653
673
  disabled: o.disabled
654
674
  }, {
655
675
  default: a(() => [
656
- l(e(E), {
657
- modelValue: e(c),
658
- "onUpdate:modelValue": V[3] || (V[3] = (D) => I(c) ? c.value = D : null),
676
+ l(e(J), {
677
+ modelValue: e(w),
678
+ "onUpdate:modelValue": V[3] || (V[3] = (z) => K(w) ? w.value = z : null),
659
679
  localized: ""
660
680
  }, null, 8, ["modelValue"])
661
681
  ]),
662
682
  _: 1
663
683
  }, 8, ["label", "disabled"]),
664
- W.value ? (b(), M("div", st, [
684
+ We.value ? (m(), P("div", ut, [
665
685
  l(e(A), {
666
686
  size: "sm",
667
687
  tone: "muted"
668
688
  }, {
669
689
  default: a(() => [
670
- k(y(e(u)("card.preview")), 1)
690
+ k(h(e(u)("card.preview")), 1)
671
691
  ]),
672
692
  _: 1
673
693
  }),
674
- B("div", ot, [
675
- L.value.address ? (b(), M("div", nt, y(L.value.address), 1)) : j("", !0),
676
- B("div", it, y(L.value.title), 1),
677
- B("div", rt, y(L.value.description), 1)
694
+ R("div", ct, [
695
+ E.value.address ? (m(), P("div", pt, h(E.value.address), 1)) : L("", !0),
696
+ R("div", vt, h(E.value.title), 1),
697
+ R("div", gt, h(E.value.description), 1)
678
698
  ])
679
- ])) : j("", !0)
699
+ ])) : L("", !0)
680
700
  ])
681
701
  ]),
682
702
  _: 1
683
703
  }, 8, ["label"]),
684
- l(e(ne), {
704
+ l(e(re), {
685
705
  label: e(u)("card.section-share"),
686
706
  value: "share"
687
707
  }, {
688
708
  default: a(() => [
689
- B("div", dt, [
690
- o.mediaField ? (b(), S(Ce(o.mediaField), {
709
+ R("div", mt, [
710
+ i.value ? (m(), S(Le(i.value), {
691
711
  key: 0,
692
- modelValue: F.value,
693
- "onUpdate:modelValue": V[4] || (V[4] = (D) => F.value = D),
712
+ modelValue: W.value,
713
+ "onUpdate:modelValue": V[4] || (V[4] = (z) => W.value = z),
714
+ class: "wx-seo__image",
694
715
  label: e(u)("card.og-image"),
695
716
  aspect: "16/9",
696
717
  accept: "image",
697
718
  disabled: o.disabled
698
- }, null, 8, ["modelValue", "label", "disabled"])) : j("", !0),
699
- l(e(O), {
719
+ }, null, 8, ["modelValue", "label", "disabled"])) : L("", !0),
720
+ l(e(C), {
700
721
  label: e(u)("card.og-title"),
701
722
  help: e(u)("card.og-help"),
702
723
  disabled: o.disabled
703
724
  }, {
704
725
  default: a(() => [
705
- l(e(E), {
706
- modelValue: e(d),
707
- "onUpdate:modelValue": V[5] || (V[5] = (D) => I(d) ? d.value = D : null),
726
+ l(e(J), {
727
+ modelValue: e(D),
728
+ "onUpdate:modelValue": V[5] || (V[5] = (z) => K(D) ? D.value = z : null),
708
729
  localized: ""
709
730
  }, null, 8, ["modelValue"])
710
731
  ]),
711
732
  _: 1
712
733
  }, 8, ["label", "help", "disabled"]),
713
- l(e(O), {
734
+ l(e(C), {
714
735
  label: e(u)("card.og-description"),
715
736
  disabled: o.disabled
716
737
  }, {
717
738
  default: a(() => [
718
- l(e(me), {
719
- modelValue: e(x),
720
- "onUpdate:modelValue": V[6] || (V[6] = (D) => I(x) ? x.value = D : null),
739
+ l(e(fe), {
740
+ modelValue: e(F),
741
+ "onUpdate:modelValue": V[6] || (V[6] = (z) => K(F) ? F.value = z : null),
721
742
  localized: "",
722
743
  rows: 2
723
744
  }, null, 8, ["modelValue"])
724
745
  ]),
725
746
  _: 1
726
- }, 8, ["label", "disabled"])
747
+ }, 8, ["label", "disabled"]),
748
+ Te.value ? (m(), P("div", ht, [
749
+ l(e(A), {
750
+ size: "sm",
751
+ tone: "muted"
752
+ }, {
753
+ default: a(() => [
754
+ k(h(e(u)("card.share-preview")), 1)
755
+ ]),
756
+ _: 1
757
+ }),
758
+ R("div", ft, [
759
+ R("div", bt, [
760
+ I.value.image ? (m(), P("img", {
761
+ key: 0,
762
+ src: I.value.image,
763
+ alt: ""
764
+ }, null, 8, _t)) : (m(), S(e(A), {
765
+ key: 1,
766
+ size: "sm",
767
+ tone: "muted"
768
+ }, {
769
+ default: a(() => [
770
+ k(h(e(u)("card.share-auto")), 1)
771
+ ]),
772
+ _: 1
773
+ }))
774
+ ]),
775
+ R("div", yt, [
776
+ I.value.address ? (m(), P("div", wt, h(I.value.address), 1)) : L("", !0),
777
+ R("div", xt, h(I.value.title), 1),
778
+ I.value.description ? (m(), P("div", kt, h(I.value.description), 1)) : L("", !0)
779
+ ])
780
+ ])
781
+ ])) : L("", !0)
727
782
  ])
728
783
  ]),
729
784
  _: 1
730
785
  }, 8, ["label"]),
731
- l(e(ne), {
786
+ l(e(re), {
732
787
  label: e(u)("card.section-advanced"),
733
788
  value: "advanced"
734
789
  }, {
735
790
  default: a(() => [
736
- B("div", ut, [
737
- l(e(O), {
791
+ R("div", Vt, [
792
+ l(e(C), {
738
793
  label: e(u)("card.canonical"),
739
794
  help: e(u)("card.canonical-help"),
740
795
  disabled: o.disabled
741
796
  }, {
742
797
  default: a(() => [
743
- l(e(E), {
744
- modelValue: R.value,
745
- "onUpdate:modelValue": V[7] || (V[7] = (D) => R.value = D),
798
+ l(e(J), {
799
+ modelValue: N.value,
800
+ "onUpdate:modelValue": V[7] || (V[7] = (z) => N.value = z),
746
801
  placeholder: "https://example.com/page"
747
802
  }, null, 8, ["modelValue"])
748
803
  ]),
749
804
  _: 1
750
805
  }, 8, ["label", "help", "disabled"]),
751
- l(e(O), {
806
+ l(e(C), {
752
807
  label: e(u)("card.robots"),
753
- help: Se.value,
808
+ help: ze.value,
754
809
  disabled: o.disabled
755
810
  }, {
756
811
  default: a(() => [
757
- l(e(Pe), {
758
- modelValue: p.value,
759
- "onUpdate:modelValue": V[8] || (V[8] = (D) => p.value = D),
760
- options: v.value
812
+ l(e(qe), {
813
+ modelValue: g.value,
814
+ "onUpdate:modelValue": V[8] || (V[8] = (z) => g.value = z),
815
+ options: j.value
761
816
  }, null, 8, ["modelValue", "options"])
762
817
  ]),
763
818
  _: 1
764
819
  }, 8, ["label", "help", "disabled"]),
765
- o.structuredData ? (b(), S(e(O), {
820
+ o.structuredData ? (m(), S(e(C), {
766
821
  key: 0,
767
822
  label: e(u)("card.json-ld"),
768
823
  help: e(u)("card.json-ld-help"),
769
- error: h.value ? e(u)("card.json-ld-invalid") : void 0,
824
+ error: U.value ? e(u)("card.json-ld-invalid") : void 0,
770
825
  disabled: o.disabled
771
826
  }, {
772
827
  default: a(() => [
773
- l(e(Ie), {
774
- modelValue: g.value,
775
- "onUpdate:modelValue": V[9] || (V[9] = (D) => g.value = D),
828
+ l(e(He), {
829
+ modelValue: O.value,
830
+ "onUpdate:modelValue": V[9] || (V[9] = (z) => O.value = z),
776
831
  language: "json",
777
832
  lint: "",
778
833
  "min-height": "120px",
@@ -780,7 +835,7 @@ const qe = { class: "wx-seo-test" }, He = {
780
835
  }, null, 8, ["modelValue"])
781
836
  ]),
782
837
  _: 1
783
- }, 8, ["label", "help", "error", "disabled"])) : j("", !0)
838
+ }, 8, ["label", "help", "error", "disabled"])) : L("", !0)
784
839
  ])
785
840
  ]),
786
841
  _: 1
@@ -790,21 +845,21 @@ const qe = { class: "wx-seo-test" }, He = {
790
845
  })
791
846
  ]));
792
847
  }
793
- }), Ve = /* @__PURE__ */ te(ct, [["__scopeId", "data-v-60b7936d"]]), pt = { class: "wx-seo-redirect" }, vt = { class: "wx-seo-redirect__row" }, gt = /* @__PURE__ */ q({
848
+ }), Se = /* @__PURE__ */ le($t, [["__scopeId", "data-v-1a19e926"]]), St = { class: "wx-seo-redirect" }, Ut = { class: "wx-seo-redirect__row" }, Wt = /* @__PURE__ */ G({
794
849
  __name: "SeoRedirectDialog",
795
850
  props: {
796
851
  redirect: { default: null }
797
852
  },
798
853
  setup(o) {
799
- const r = o, { resolve: i, dismiss: u, open: t } = re(), n = H(), h = Q(n);
800
- G();
801
- const s = K("webx-seo"), $ = se(), f = T(!1), m = T({}), c = T(null), d = T({
854
+ const r = o, { resolve: n, dismiss: u, open: t } = ue(), i = Q(), x = Y(i);
855
+ X();
856
+ const s = q("webx-seo"), U = ie(), f = T(!1), b = T({}), c = T(null), d = T({
802
857
  match_type: "exact",
803
858
  pattern: "",
804
859
  target: "",
805
860
  status: 301,
806
861
  is_active: !0
807
- }), x = w(() => r.redirect !== null), R = w(() => [
862
+ }), w = y(() => r.redirect !== null), D = y(() => [
808
863
  { value: "exact", label: s("page.exact") },
809
864
  { value: "mask", label: s("page.mask") },
810
865
  { value: "regex", label: s("page.regex") }
@@ -812,7 +867,7 @@ const qe = { class: "wx-seo-test" }, He = {
812
867
  { value: 301, label: "301" },
813
868
  { value: 302, label: "302" }
814
869
  ];
815
- be(
870
+ ye(
816
871
  () => r.redirect,
817
872
  (v) => {
818
873
  d.value = {
@@ -821,7 +876,7 @@ const qe = { class: "wx-seo-test" }, He = {
821
876
  target: v?.target ?? "",
822
877
  status: v?.status ?? 301,
823
878
  is_active: v?.is_active ?? !0
824
- }, m.value = {}, c.value = null, N();
879
+ }, b.value = {}, c.value = null, N();
825
880
  },
826
881
  { immediate: !0 }
827
882
  );
@@ -832,51 +887,51 @@ const qe = { class: "wx-seo-test" }, He = {
832
887
  return;
833
888
  }
834
889
  try {
835
- c.value = (await h.test(v)).route;
890
+ c.value = (await x.test(v)).route;
836
891
  } catch {
837
892
  c.value = null;
838
893
  }
839
894
  }
840
- function U(v) {
841
- return m.value[v]?.[0];
895
+ function W(v) {
896
+ return b.value[v]?.[0];
842
897
  }
843
898
  async function p() {
844
- f.value = !0, m.value = {};
899
+ f.value = !0, b.value = {};
845
900
  try {
846
- const v = r.redirect ? await h.updateRedirect(r.redirect.id, d.value) : await h.createRedirect(d.value);
847
- P.success(s("page.saved")), i(v);
901
+ const v = r.redirect ? await x.updateRedirect(r.redirect.id, d.value) : await x.createRedirect(d.value);
902
+ M.success(s("page.saved")), n(v);
848
903
  } catch (v) {
849
904
  const g = v.body;
850
- g?.errors ? (m.value = g.errors, P.danger(s("page.failed"))) : P.danger($(v, s("page.failed")));
905
+ g?.errors ? (b.value = g.errors, M.danger(s("page.failed"))) : M.danger(U(v, s("page.failed")));
851
906
  } finally {
852
907
  f.value = !1;
853
908
  }
854
909
  }
855
- return (v, g) => (b(), S(e(de), {
910
+ return (v, g) => (m(), S(e(ce), {
856
911
  open: e(t),
857
- "onUpdate:open": g[6] || (g[6] = (C) => I(t) ? t.value = C : null),
912
+ "onUpdate:open": g[6] || (g[6] = (j) => K(t) ? t.value = j : null),
858
913
  title: e(s)("page.redirect"),
859
914
  width: 640
860
915
  }, {
861
916
  footer: a(() => [
862
- l(e(X), { size: "sm" }, {
917
+ l(e(Z), { size: "sm" }, {
863
918
  default: a(() => [
864
- l(e(Z), {
919
+ l(e(te), {
865
920
  variant: "outline",
866
- onClick: g[5] || (g[5] = (C) => e(u)())
921
+ onClick: g[5] || (g[5] = (j) => e(u)())
867
922
  }, {
868
923
  default: a(() => [
869
- k(y(e(s)("page.cancel")), 1)
924
+ k(h(e(s)("page.cancel")), 1)
870
925
  ]),
871
926
  _: 1
872
927
  }),
873
- l(e(Z), {
928
+ l(e(te), {
874
929
  type: "primary",
875
930
  loading: f.value,
876
931
  onClick: p
877
932
  }, {
878
933
  default: a(() => [
879
- k(y(x.value ? e(s)("page.save") : e(s)("page.new-redirect")), 1)
934
+ k(h(w.value ? e(s)("page.save") : e(s)("page.new-redirect")), 1)
880
935
  ]),
881
936
  _: 1
882
937
  }, 8, ["loading"])
@@ -885,75 +940,75 @@ const qe = { class: "wx-seo-test" }, He = {
885
940
  })
886
941
  ]),
887
942
  default: a(() => [
888
- B("div", pt, [
889
- l(e(O), {
943
+ R("div", St, [
944
+ l(e(C), {
890
945
  label: e(s)("page.kind")
891
946
  }, {
892
947
  default: a(() => [
893
- l(e(le), {
948
+ l(e(oe), {
894
949
  modelValue: d.value.match_type,
895
- "onUpdate:modelValue": g[0] || (g[0] = (C) => d.value.match_type = C),
896
- options: R.value,
950
+ "onUpdate:modelValue": g[0] || (g[0] = (j) => d.value.match_type = j),
951
+ options: D.value,
897
952
  onChange: N
898
953
  }, null, 8, ["modelValue", "options"])
899
954
  ]),
900
955
  _: 1
901
956
  }, 8, ["label"]),
902
- l(e(O), {
957
+ l(e(C), {
903
958
  label: e(s)("page.address"),
904
959
  help: e(s)("page.address-help"),
905
- error: U("pattern")
960
+ error: W("pattern")
906
961
  }, {
907
962
  default: a(() => [
908
- l(e(E), {
963
+ l(e(J), {
909
964
  modelValue: d.value.pattern,
910
- "onUpdate:modelValue": g[1] || (g[1] = (C) => d.value.pattern = C),
965
+ "onUpdate:modelValue": g[1] || (g[1] = (j) => d.value.pattern = j),
911
966
  placeholder: "/old-address",
912
967
  onBlur: N
913
968
  }, null, 8, ["modelValue"])
914
969
  ]),
915
970
  _: 1
916
971
  }, 8, ["label", "help", "error"]),
917
- c.value ? (b(), S(e(Y), {
972
+ c.value ? (m(), S(e(ee), {
918
973
  key: 0,
919
974
  type: "warning",
920
975
  variant: "soft",
921
976
  description: c.value.kind === "alias" ? e(s)("page.occupied-alias", { target: c.value.target ?? c.value.path }) : e(s)("page.occupied", { path: c.value.path })
922
- }, null, 8, ["description"])) : j("", !0),
923
- l(e(O), {
977
+ }, null, 8, ["description"])) : L("", !0),
978
+ l(e(C), {
924
979
  label: e(s)("page.target"),
925
980
  help: e(s)("page.target-help"),
926
- error: U("target")
981
+ error: W("target")
927
982
  }, {
928
983
  default: a(() => [
929
- l(e(E), {
984
+ l(e(J), {
930
985
  modelValue: d.value.target,
931
- "onUpdate:modelValue": g[2] || (g[2] = (C) => d.value.target = C),
986
+ "onUpdate:modelValue": g[2] || (g[2] = (j) => d.value.target = j),
932
987
  placeholder: "/new-address"
933
988
  }, null, 8, ["modelValue"])
934
989
  ]),
935
990
  _: 1
936
991
  }, 8, ["label", "help", "error"]),
937
- B("div", vt, [
938
- l(e(O), {
992
+ R("div", Ut, [
993
+ l(e(C), {
939
994
  label: e(s)("page.status")
940
995
  }, {
941
996
  default: a(() => [
942
- l(e(le), {
997
+ l(e(oe), {
943
998
  modelValue: d.value.status,
944
- "onUpdate:modelValue": g[3] || (g[3] = (C) => d.value.status = C),
999
+ "onUpdate:modelValue": g[3] || (g[3] = (j) => d.value.status = j),
945
1000
  options: F
946
1001
  }, null, 8, ["modelValue"])
947
1002
  ]),
948
1003
  _: 1
949
1004
  }, 8, ["label"]),
950
- l(e(O), {
1005
+ l(e(C), {
951
1006
  label: e(s)("page.state")
952
1007
  }, {
953
1008
  default: a(() => [
954
- l(e(we), {
1009
+ l(e(Ve), {
955
1010
  modelValue: d.value.is_active,
956
- "onUpdate:modelValue": g[4] || (g[4] = (C) => d.value.is_active = C)
1011
+ "onUpdate:modelValue": g[4] || (g[4] = (j) => d.value.is_active = j)
957
1012
  }, null, 8, ["modelValue"])
958
1013
  ]),
959
1014
  _: 1
@@ -964,17 +1019,17 @@ const qe = { class: "wx-seo-test" }, He = {
964
1019
  _: 1
965
1020
  }, 8, ["open", "title"]));
966
1021
  }
967
- }), mt = /* @__PURE__ */ te(gt, [["__scopeId", "data-v-685edbd5"]]), ht = /* @__PURE__ */ q({
1022
+ }), Tt = /* @__PURE__ */ le(Wt, [["__scopeId", "data-v-685edbd5"]]), zt = /* @__PURE__ */ G({
968
1023
  __name: "SeoRedirectsPage",
969
1024
  props: {
970
1025
  base: { default: "/seo" }
971
1026
  },
972
1027
  setup(o) {
973
- const r = o, i = H(), u = Q(i);
974
- G();
975
- const t = K("webx-seo"), n = se(), h = T(null), s = T(!1);
976
- let $ = { page: 1, perPage: 20, sort: null, search: "" };
977
- const f = i.can("seo.manage"), m = ee(mt), c = ee(pe), d = w(() => [
1028
+ const r = o, n = Q(), u = Y(n);
1029
+ X();
1030
+ const t = q("webx-seo"), i = ie(), x = T(null), s = T(!1);
1031
+ let U = { page: 1, perPage: 20, sort: null, search: "" };
1032
+ const f = n.can("seo.manage"), b = ae(Tt), c = ae(ge), d = y(() => [
978
1033
  { key: "pattern", label: t("page.address"), sortable: !0 },
979
1034
  { key: "target", label: t("page.target") },
980
1035
  { key: "status", label: t("page.status"), align: "center", hideBelow: 560 },
@@ -990,13 +1045,13 @@ const qe = { class: "wx-seo-test" }, He = {
990
1045
  {
991
1046
  key: "actions",
992
1047
  label: "",
993
- width: _e,
1048
+ width: xe,
994
1049
  align: "right",
995
1050
  hidden: !f,
996
1051
  hideOnCards: !0
997
1052
  }
998
1053
  ]);
999
- function x(p) {
1054
+ function w(p) {
1000
1055
  return [
1001
1056
  {
1002
1057
  key: "delete",
@@ -1007,10 +1062,10 @@ const qe = { class: "wx-seo-test" }, He = {
1007
1062
  }
1008
1063
  ];
1009
1064
  }
1010
- async function R(p) {
1011
- $ = p, s.value = !0;
1065
+ async function D(p) {
1066
+ U = p, s.value = !0;
1012
1067
  try {
1013
- h.value = await u.redirects({
1068
+ x.value = await u.redirects({
1014
1069
  q: p.search,
1015
1070
  sort: p.sort ? `${p.sort.order === "desc" ? "-" : ""}${p.sort.key}` : "-hits",
1016
1071
  page: p.page,
@@ -1021,10 +1076,10 @@ const qe = { class: "wx-seo-test" }, He = {
1021
1076
  }
1022
1077
  }
1023
1078
  async function F(p) {
1024
- await m({ redirect: p }) && R($);
1079
+ await b({ redirect: p }) && D(U);
1025
1080
  }
1026
1081
  async function N(p) {
1027
- if (await ke({
1082
+ if (await $e({
1028
1083
  title: t("page.delete-title", { pattern: p.pattern }),
1029
1084
  message: t("page.delete-text"),
1030
1085
  confirmText: t("page.delete"),
@@ -1032,12 +1087,12 @@ const qe = { class: "wx-seo-test" }, He = {
1032
1087
  tone: "danger"
1033
1088
  }))
1034
1089
  try {
1035
- await u.removeRedirect(p.id), P.success(t("page.deleted")), R($);
1090
+ await u.removeRedirect(p.id), M.success(t("page.deleted")), D(U);
1036
1091
  } catch (g) {
1037
- P.danger(n(g));
1092
+ M.danger(i(g));
1038
1093
  }
1039
1094
  }
1040
- const U = w(
1095
+ const W = y(
1041
1096
  () => f ? [
1042
1097
  {
1043
1098
  key: "redirect",
@@ -1050,15 +1105,15 @@ const qe = { class: "wx-seo-test" }, He = {
1050
1105
  }
1051
1106
  ] : []
1052
1107
  );
1053
- return (p, v) => (b(), S(ce, {
1108
+ return (p, v) => (m(), S(ve, {
1054
1109
  base: r.base,
1055
1110
  current: "redirects",
1056
- actions: U.value,
1111
+ actions: W.value,
1057
1112
  onTest: v[0] || (v[0] = (g) => e(c)({}))
1058
1113
  }, {
1059
1114
  default: a(() => [
1060
- l(e(ue), {
1061
- data: h.value,
1115
+ l(e(pe), {
1116
+ data: x.value,
1062
1117
  columns: d.value,
1063
1118
  "row-key": "id",
1064
1119
  searchable: "",
@@ -1069,7 +1124,7 @@ const qe = { class: "wx-seo-test" }, He = {
1069
1124
  "search-placeholder": e(t)("page.search-redirects"),
1070
1125
  "empty-text": e(t)("page.empty"),
1071
1126
  onRowClick: F,
1072
- onStateChange: R
1127
+ onStateChange: D
1073
1128
  }, {
1074
1129
  "cell-pattern": a(({ row: g }) => [
1075
1130
  l(e(A), {
@@ -1077,19 +1132,19 @@ const qe = { class: "wx-seo-test" }, He = {
1077
1132
  size: "sm"
1078
1133
  }, {
1079
1134
  default: a(() => [
1080
- k(y(g.pattern), 1)
1135
+ k(h(g.pattern), 1)
1081
1136
  ]),
1082
1137
  _: 2
1083
1138
  }, 1024),
1084
- g.is_loop ? (b(), S(e(J), {
1139
+ g.is_loop ? (m(), S(e(H), {
1085
1140
  key: 0,
1086
1141
  type: "warning"
1087
1142
  }, {
1088
1143
  default: a(() => [
1089
- k(y(e(t)("page.loop")), 1)
1144
+ k(h(e(t)("page.loop")), 1)
1090
1145
  ]),
1091
1146
  _: 1
1092
- })) : j("", !0)
1147
+ })) : L("", !0)
1093
1148
  ]),
1094
1149
  "cell-target": a(({ row: g }) => [
1095
1150
  l(e(A), {
@@ -1097,38 +1152,38 @@ const qe = { class: "wx-seo-test" }, He = {
1097
1152
  size: "sm"
1098
1153
  }, {
1099
1154
  default: a(() => [
1100
- k(y(g.target), 1)
1155
+ k(h(g.target), 1)
1101
1156
  ]),
1102
1157
  _: 2
1103
1158
  }, 1024)
1104
1159
  ]),
1105
1160
  "cell-last_hit_at": a(({ row: g }) => [
1106
- l(e(ye), {
1161
+ l(e(we), {
1107
1162
  value: g.last_hit_at,
1108
1163
  tone: g.last_hit_at ? "default" : "muted"
1109
1164
  }, null, 8, ["value", "tone"])
1110
1165
  ]),
1111
1166
  "cell-is_active": a(({ row: g }) => [
1112
- l(e(J), {
1167
+ l(e(H), {
1113
1168
  type: g.is_active ? "success" : "default",
1114
1169
  dot: ""
1115
1170
  }, {
1116
1171
  default: a(() => [
1117
- k(y(g.is_active ? e(t)("page.active") : e(t)("page.inactive")), 1)
1172
+ k(h(g.is_active ? e(t)("page.active") : e(t)("page.inactive")), 1)
1118
1173
  ]),
1119
1174
  _: 2
1120
1175
  }, 1032, ["type"])
1121
1176
  ]),
1122
1177
  "card-actions": a(({ row: g }) => [
1123
- e(f) ? (b(), S(e(ae), {
1178
+ e(f) ? (m(), S(e(se), {
1124
1179
  key: 0,
1125
- actions: x(g),
1180
+ actions: w(g),
1126
1181
  label: g.pattern
1127
- }, null, 8, ["actions", "label"])) : j("", !0)
1182
+ }, null, 8, ["actions", "label"])) : L("", !0)
1128
1183
  ]),
1129
1184
  "cell-actions": a(({ row: g }) => [
1130
- l(e(ae), {
1131
- actions: x(g),
1185
+ l(e(se), {
1186
+ actions: w(g),
1132
1187
  label: g.pattern
1133
1188
  }, null, 8, ["actions", "label"])
1134
1189
  ]),
@@ -1138,7 +1193,7 @@ const qe = { class: "wx-seo-test" }, He = {
1138
1193
  _: 1
1139
1194
  }, 8, ["base", "actions"]));
1140
1195
  }
1141
- }), $e = [
1196
+ }), Ue = [
1142
1197
  "title",
1143
1198
  "h1",
1144
1199
  "description",
@@ -1150,96 +1205,96 @@ const qe = { class: "wx-seo-test" }, He = {
1150
1205
  "robots",
1151
1206
  "json_ld"
1152
1207
  ];
1153
- function fe(o, r) {
1154
- return xe(o.title, r);
1208
+ function _e(o, r) {
1209
+ return ke(o.title, r);
1155
1210
  }
1156
- function ft(o) {
1211
+ function Ct(o) {
1157
1212
  if (!o) return {};
1158
1213
  const r = {};
1159
- for (const i of $e) {
1160
- const u = o[i];
1161
- u != null && Object.assign(r, { [i]: u });
1214
+ for (const n of Ue) {
1215
+ const u = o[n];
1216
+ u != null && Object.assign(r, { [n]: u });
1162
1217
  }
1163
1218
  return r;
1164
1219
  }
1165
- function bt(o, r) {
1166
- const i = { ...o };
1167
- for (const u of $e)
1168
- Object.assign(i, { [u]: r[u] ?? null });
1169
- return i;
1220
+ function Dt(o, r) {
1221
+ const n = { ...o };
1222
+ for (const u of Ue)
1223
+ Object.assign(n, { [u]: r[u] ?? null });
1224
+ return n;
1170
1225
  }
1171
- const yt = { class: "wx-seo-rule" }, _t = { class: "wx-seo-rule__where" }, xt = /* @__PURE__ */ q({
1226
+ const Ot = { class: "wx-seo-rule" }, Rt = { class: "wx-seo-rule__where" }, Lt = /* @__PURE__ */ G({
1172
1227
  __name: "SeoUrlDialog",
1173
1228
  props: {
1174
1229
  rule: { default: null },
1175
1230
  mediaField: { default: void 0 }
1176
1231
  },
1177
1232
  setup(o) {
1178
- const r = o, { resolve: i, dismiss: u, open: t } = re(), n = H(), h = Q(n);
1179
- G();
1180
- const s = K("webx-seo"), $ = se(), f = T(!1), m = T({}), c = T({
1233
+ const r = o, { resolve: n, dismiss: u, open: t } = ue(), i = Q(), x = Y(i);
1234
+ X();
1235
+ const s = q("webx-seo"), U = ie(), f = T(!1), b = T({}), c = T({
1181
1236
  match_type: "exact",
1182
1237
  pattern: "",
1183
1238
  priority: 0,
1184
1239
  is_active: !0
1185
- }), d = T({}), x = w(() => r.rule !== null), R = w(() => [
1240
+ }), d = T({}), w = y(() => r.rule !== null), D = y(() => [
1186
1241
  { value: "exact", label: s("page.exact") },
1187
1242
  { value: "mask", label: s("page.mask") },
1188
1243
  { value: "regex", label: s("page.regex") }
1189
1244
  ]);
1190
- be(
1245
+ ye(
1191
1246
  () => r.rule,
1192
- (U) => {
1247
+ (W) => {
1193
1248
  c.value = {
1194
- match_type: U?.match_type ?? "exact",
1195
- pattern: U?.pattern ?? "",
1196
- priority: U?.priority ?? 0,
1197
- is_active: U?.is_active ?? !0
1198
- }, d.value = ft(U), m.value = {};
1249
+ match_type: W?.match_type ?? "exact",
1250
+ pattern: W?.pattern ?? "",
1251
+ priority: W?.priority ?? 0,
1252
+ is_active: W?.is_active ?? !0
1253
+ }, d.value = Ct(W), b.value = {};
1199
1254
  },
1200
1255
  { immediate: !0 }
1201
1256
  );
1202
- function F(U) {
1203
- return m.value[U]?.[0];
1257
+ function F(W) {
1258
+ return b.value[W]?.[0];
1204
1259
  }
1205
1260
  async function N() {
1206
- f.value = !0, m.value = {};
1207
- const U = bt(c.value, d.value);
1261
+ f.value = !0, b.value = {};
1262
+ const W = Dt(c.value, d.value);
1208
1263
  try {
1209
- const p = r.rule ? await h.updateUrl(r.rule.id, U) : await h.createUrl(U);
1210
- P.success(s("page.saved")), i(p);
1264
+ const p = r.rule ? await x.updateUrl(r.rule.id, W) : await x.createUrl(W);
1265
+ M.success(s("page.saved")), n(p);
1211
1266
  } catch (p) {
1212
1267
  const v = p.body;
1213
- v?.errors ? (m.value = v.errors, P.danger(s("page.failed"))) : P.danger($(p, s("page.failed")));
1268
+ v?.errors ? (b.value = v.errors, M.danger(s("page.failed"))) : M.danger(U(p, s("page.failed")));
1214
1269
  } finally {
1215
1270
  f.value = !1;
1216
1271
  }
1217
1272
  }
1218
- return (U, p) => (b(), S(e(de), {
1273
+ return (W, p) => (m(), S(e(ce), {
1219
1274
  open: e(t),
1220
- "onUpdate:open": p[6] || (p[6] = (v) => I(t) ? t.value = v : null),
1275
+ "onUpdate:open": p[6] || (p[6] = (v) => K(t) ? t.value = v : null),
1221
1276
  title: e(s)("page.rule"),
1222
1277
  width: 860
1223
1278
  }, {
1224
1279
  footer: a(() => [
1225
- l(e(X), { size: "sm" }, {
1280
+ l(e(Z), { size: "sm" }, {
1226
1281
  default: a(() => [
1227
- l(e(Z), {
1282
+ l(e(te), {
1228
1283
  variant: "outline",
1229
1284
  onClick: p[5] || (p[5] = (v) => e(u)())
1230
1285
  }, {
1231
1286
  default: a(() => [
1232
- k(y(e(s)("page.cancel")), 1)
1287
+ k(h(e(s)("page.cancel")), 1)
1233
1288
  ]),
1234
1289
  _: 1
1235
1290
  }),
1236
- l(e(Z), {
1291
+ l(e(te), {
1237
1292
  type: "primary",
1238
1293
  loading: f.value,
1239
1294
  onClick: N
1240
1295
  }, {
1241
1296
  default: a(() => [
1242
- k(y(x.value ? e(s)("page.save") : e(s)("page.new-rule")), 1)
1297
+ k(h(w.value ? e(s)("page.save") : e(s)("page.new-rule")), 1)
1243
1298
  ]),
1244
1299
  _: 1
1245
1300
  }, 8, ["loading"])
@@ -1248,28 +1303,28 @@ const yt = { class: "wx-seo-rule" }, _t = { class: "wx-seo-rule__where" }, xt =
1248
1303
  })
1249
1304
  ]),
1250
1305
  default: a(() => [
1251
- B("div", yt, [
1252
- B("div", _t, [
1253
- l(e(O), {
1306
+ R("div", Ot, [
1307
+ R("div", Rt, [
1308
+ l(e(C), {
1254
1309
  label: e(s)("page.kind")
1255
1310
  }, {
1256
1311
  default: a(() => [
1257
- l(e(le), {
1312
+ l(e(oe), {
1258
1313
  modelValue: c.value.match_type,
1259
1314
  "onUpdate:modelValue": p[0] || (p[0] = (v) => c.value.match_type = v),
1260
- options: R.value
1315
+ options: D.value
1261
1316
  }, null, 8, ["modelValue", "options"])
1262
1317
  ]),
1263
1318
  _: 1
1264
1319
  }, 8, ["label"]),
1265
- l(e(O), {
1320
+ l(e(C), {
1266
1321
  label: e(s)("page.address"),
1267
1322
  help: e(s)("page.address-help"),
1268
1323
  error: F("pattern"),
1269
1324
  class: "wx-seo-rule__address"
1270
1325
  }, {
1271
1326
  default: a(() => [
1272
- l(e(E), {
1327
+ l(e(J), {
1273
1328
  modelValue: c.value.pattern,
1274
1329
  "onUpdate:modelValue": p[1] || (p[1] = (v) => c.value.pattern = v),
1275
1330
  placeholder: "/catalog/shoes"
@@ -1277,12 +1332,12 @@ const yt = { class: "wx-seo-rule" }, _t = { class: "wx-seo-rule__where" }, xt =
1277
1332
  ]),
1278
1333
  _: 1
1279
1334
  }, 8, ["label", "help", "error"]),
1280
- l(e(O), {
1335
+ l(e(C), {
1281
1336
  label: e(s)("page.priority"),
1282
1337
  help: e(s)("page.priority-help")
1283
1338
  }, {
1284
1339
  default: a(() => [
1285
- l(e(Me), {
1340
+ l(e(Ge), {
1286
1341
  modelValue: c.value.priority,
1287
1342
  "onUpdate:modelValue": p[2] || (p[2] = (v) => c.value.priority = v),
1288
1343
  step: 10
@@ -1290,11 +1345,11 @@ const yt = { class: "wx-seo-rule" }, _t = { class: "wx-seo-rule__where" }, xt =
1290
1345
  ]),
1291
1346
  _: 1
1292
1347
  }, 8, ["label", "help"]),
1293
- l(e(O), {
1348
+ l(e(C), {
1294
1349
  label: e(s)("page.state")
1295
1350
  }, {
1296
1351
  default: a(() => [
1297
- l(e(we), {
1352
+ l(e(Ve), {
1298
1353
  modelValue: c.value.is_active,
1299
1354
  "onUpdate:modelValue": p[3] || (p[3] = (v) => c.value.is_active = v)
1300
1355
  }, null, 8, ["modelValue"])
@@ -1302,7 +1357,7 @@ const yt = { class: "wx-seo-rule" }, _t = { class: "wx-seo-rule__where" }, xt =
1302
1357
  _: 1
1303
1358
  }, 8, ["label"])
1304
1359
  ]),
1305
- l(Ve, {
1360
+ l(Se, {
1306
1361
  modelValue: d.value,
1307
1362
  "onUpdate:modelValue": p[4] || (p[4] = (v) => d.value = v),
1308
1363
  "media-field": r.mediaField
@@ -1312,33 +1367,33 @@ const yt = { class: "wx-seo-rule" }, _t = { class: "wx-seo-rule__where" }, xt =
1312
1367
  _: 1
1313
1368
  }, 8, ["open", "title"]));
1314
1369
  }
1315
- }), wt = /* @__PURE__ */ te(xt, [["__scopeId", "data-v-fa975d05"]]), kt = /* @__PURE__ */ q({
1370
+ }), jt = /* @__PURE__ */ le(Lt, [["__scopeId", "data-v-fa975d05"]]), At = /* @__PURE__ */ G({
1316
1371
  __name: "SeoUrlsPage",
1317
1372
  props: {
1318
1373
  base: { default: "/seo" },
1319
1374
  mediaField: { default: void 0 }
1320
1375
  },
1321
1376
  setup(o) {
1322
- const r = o, i = H(), u = Q(i);
1323
- G();
1324
- const t = K("webx-seo"), n = K("webx-admin"), h = se(), s = T(null), $ = T(!1), f = T("any");
1325
- let m = { page: 1, perPage: 20, sort: null, search: "" };
1326
- const c = i.can("seo.manage"), d = ee(
1327
- wt
1328
- ), x = ee(pe), R = w(() => [
1377
+ const r = o, n = Q(), u = Y(n);
1378
+ X();
1379
+ const t = q("webx-seo"), i = q("webx-admin"), x = ie(), s = T(null), U = T(!1), f = T("any");
1380
+ let b = { page: 1, perPage: 20, sort: null, search: "" };
1381
+ const c = n.can("seo.manage"), d = ae(
1382
+ jt
1383
+ ), w = ae(ge), D = y(() => [
1329
1384
  { value: "any", label: t("page.any-kind") },
1330
1385
  { value: "exact", label: t("page.exact") },
1331
1386
  { value: "mask", label: t("page.mask") },
1332
1387
  { value: "regex", label: t("page.regex") }
1333
- ]), F = w(
1388
+ ]), F = y(
1334
1389
  () => f.value === "any" ? [] : [
1335
1390
  {
1336
1391
  key: "kind",
1337
- label: `${t("page.filter-kind")}: ${R.value.find((z) => z.value === f.value)?.label ?? f.value}`,
1392
+ label: `${t("page.filter-kind")}: ${D.value.find((O) => O.value === f.value)?.label ?? f.value}`,
1338
1393
  clear: () => f.value = "any"
1339
1394
  }
1340
1395
  ]
1341
- ), N = w(() => [
1396
+ ), N = y(() => [
1342
1397
  { key: "pattern", label: t("page.address") },
1343
1398
  { key: "match_type", label: t("page.kind"), hideBelow: 560 },
1344
1399
  { key: "title", label: t("page.title"), hideBelow: 900 },
@@ -1347,54 +1402,54 @@ const yt = { class: "wx-seo-rule" }, _t = { class: "wx-seo-rule__where" }, xt =
1347
1402
  {
1348
1403
  key: "actions",
1349
1404
  label: "",
1350
- width: _e,
1405
+ width: xe,
1351
1406
  align: "right",
1352
1407
  hidden: !c,
1353
1408
  hideOnCards: !0
1354
1409
  }
1355
1410
  ]);
1356
- function U(z) {
1411
+ function W(O) {
1357
1412
  return [
1358
1413
  {
1359
1414
  key: "delete",
1360
1415
  icon: "trash",
1361
1416
  label: t("page.delete"),
1362
1417
  danger: !0,
1363
- run: () => g(z)
1418
+ run: () => g(O)
1364
1419
  }
1365
1420
  ];
1366
1421
  }
1367
- async function p(z) {
1368
- m = z, $.value = !0;
1422
+ async function p(O) {
1423
+ b = O, U.value = !0;
1369
1424
  try {
1370
1425
  s.value = await u.urls({
1371
- q: z.search,
1426
+ q: O.search,
1372
1427
  match_type: f.value === "any" ? null : f.value,
1373
- page: z.page,
1374
- per_page: z.perPage
1428
+ page: O.page,
1429
+ per_page: O.perPage
1375
1430
  });
1376
1431
  } finally {
1377
- $.value = !1;
1432
+ U.value = !1;
1378
1433
  }
1379
1434
  }
1380
- async function v(z) {
1381
- await d({ rule: z, mediaField: r.mediaField }) && p(m);
1435
+ async function v(O) {
1436
+ await d({ rule: O, mediaField: r.mediaField }) && p(b);
1382
1437
  }
1383
- async function g(z) {
1384
- if (await ke({
1385
- title: t("page.delete-title", { pattern: z.pattern }),
1438
+ async function g(O) {
1439
+ if (await $e({
1440
+ title: t("page.delete-title", { pattern: O.pattern }),
1386
1441
  message: t("page.delete-text"),
1387
1442
  confirmText: t("page.delete"),
1388
1443
  cancelText: t("page.cancel"),
1389
1444
  tone: "danger"
1390
1445
  }))
1391
1446
  try {
1392
- await u.removeUrl(z.id), P.success(t("page.deleted")), p(m);
1393
- } catch (W) {
1394
- P.danger(h(W));
1447
+ await u.removeUrl(O.id), M.success(t("page.deleted")), p(b);
1448
+ } catch ($) {
1449
+ M.danger(x($));
1395
1450
  }
1396
1451
  }
1397
- const C = w(
1452
+ const j = y(
1398
1453
  () => c ? [
1399
1454
  {
1400
1455
  key: "rule",
@@ -1407,14 +1462,14 @@ const yt = { class: "wx-seo-rule" }, _t = { class: "wx-seo-rule__where" }, xt =
1407
1462
  }
1408
1463
  ] : []
1409
1464
  );
1410
- return (z, L) => (b(), S(ce, {
1465
+ return (O, B) => (m(), S(ve, {
1411
1466
  base: r.base,
1412
1467
  current: "rules",
1413
- actions: C.value,
1414
- onTest: L[1] || (L[1] = (W) => e(x)({}))
1468
+ actions: j.value,
1469
+ onTest: B[1] || (B[1] = ($) => e(w)({}))
1415
1470
  }, {
1416
1471
  default: a(() => [
1417
- l(e(ue), {
1472
+ l(e(pe), {
1418
1473
  data: s.value,
1419
1474
  columns: N.value,
1420
1475
  "row-key": "id",
@@ -1422,23 +1477,23 @@ const yt = { class: "wx-seo-rule" }, _t = { class: "wx-seo-rule__where" }, xt =
1422
1477
  clickable: e(c),
1423
1478
  hover: e(c),
1424
1479
  flush: "",
1425
- loading: $.value,
1480
+ loading: U.value,
1426
1481
  "search-placeholder": e(t)("page.search-rules"),
1427
1482
  "empty-text": e(t)("page.empty"),
1428
1483
  "filters-count": F.value.length,
1429
- "filters-label": e(n)("filters.title"),
1484
+ "filters-label": e(i)("filters.title"),
1430
1485
  onRowClick: v,
1431
1486
  onStateChange: p
1432
1487
  }, {
1433
1488
  filters: a(() => [
1434
- l(e(O), {
1489
+ l(e(C), {
1435
1490
  label: e(t)("page.filter-kind")
1436
1491
  }, {
1437
1492
  default: a(() => [
1438
- l(e(le), {
1493
+ l(e(oe), {
1439
1494
  modelValue: f.value,
1440
- "onUpdate:modelValue": L[0] || (L[0] = (W) => f.value = W),
1441
- options: R.value,
1495
+ "onUpdate:modelValue": B[0] || (B[0] = ($) => f.value = $),
1496
+ options: D.value,
1442
1497
  size: "sm"
1443
1498
  }, null, 8, ["modelValue", "options"])
1444
1499
  ]),
@@ -1446,69 +1501,69 @@ const yt = { class: "wx-seo-rule" }, _t = { class: "wx-seo-rule__where" }, xt =
1446
1501
  }, 8, ["label"])
1447
1502
  ]),
1448
1503
  applied: a(() => [
1449
- l(e(Re), { filters: F.value }, null, 8, ["filters"])
1504
+ l(e(Ne), { filters: F.value }, null, 8, ["filters"])
1450
1505
  ]),
1451
- "cell-pattern": a(({ row: W }) => [
1506
+ "cell-pattern": a(({ row: $ }) => [
1452
1507
  l(e(A), {
1453
1508
  mono: "",
1454
1509
  size: "sm"
1455
1510
  }, {
1456
1511
  default: a(() => [
1457
- k(y(W.pattern), 1)
1512
+ k(h($.pattern), 1)
1458
1513
  ]),
1459
1514
  _: 2
1460
1515
  }, 1024)
1461
1516
  ]),
1462
- "cell-match_type": a(({ row: W }) => [
1463
- l(e(J), null, {
1517
+ "cell-match_type": a(({ row: $ }) => [
1518
+ l(e(H), null, {
1464
1519
  default: a(() => [
1465
- k(y(e(t)(`page.${W.match_type}`)), 1)
1520
+ k(h(e(t)(`page.${$.match_type}`)), 1)
1466
1521
  ]),
1467
1522
  _: 2
1468
1523
  }, 1024)
1469
1524
  ]),
1470
- "cell-title": a(({ row: W }) => [
1471
- e(fe)(W) ? (b(), S(e(A), {
1525
+ "cell-title": a(({ row: $ }) => [
1526
+ e(_e)($) ? (m(), S(e(A), {
1472
1527
  key: 0,
1473
1528
  size: "sm"
1474
1529
  }, {
1475
1530
  default: a(() => [
1476
- k(y(e(fe)(W)), 1)
1531
+ k(h(e(_e)($)), 1)
1477
1532
  ]),
1478
1533
  _: 2
1479
- }, 1024)) : (b(), S(e(A), {
1534
+ }, 1024)) : (m(), S(e(A), {
1480
1535
  key: 1,
1481
1536
  size: "sm",
1482
1537
  tone: "muted"
1483
1538
  }, {
1484
- default: a(() => [...L[2] || (L[2] = [
1539
+ default: a(() => [...B[2] || (B[2] = [
1485
1540
  k("—", -1)
1486
1541
  ])]),
1487
1542
  _: 1
1488
1543
  }))
1489
1544
  ]),
1490
- "cell-is_active": a(({ row: W }) => [
1491
- l(e(J), {
1492
- type: W.is_active ? "success" : "default",
1545
+ "cell-is_active": a(({ row: $ }) => [
1546
+ l(e(H), {
1547
+ type: $.is_active ? "success" : "default",
1493
1548
  dot: ""
1494
1549
  }, {
1495
1550
  default: a(() => [
1496
- k(y(W.is_active ? e(t)("page.active") : e(t)("page.inactive")), 1)
1551
+ k(h($.is_active ? e(t)("page.active") : e(t)("page.inactive")), 1)
1497
1552
  ]),
1498
1553
  _: 2
1499
1554
  }, 1032, ["type"])
1500
1555
  ]),
1501
- "card-actions": a(({ row: W }) => [
1502
- e(c) ? (b(), S(e(ae), {
1556
+ "card-actions": a(({ row: $ }) => [
1557
+ e(c) ? (m(), S(e(se), {
1503
1558
  key: 0,
1504
- actions: U(W),
1505
- label: W.pattern
1506
- }, null, 8, ["actions", "label"])) : j("", !0)
1559
+ actions: W($),
1560
+ label: $.pattern
1561
+ }, null, 8, ["actions", "label"])) : L("", !0)
1507
1562
  ]),
1508
- "cell-actions": a(({ row: W }) => [
1509
- l(e(ae), {
1510
- actions: U(W),
1511
- label: W.pattern
1563
+ "cell-actions": a(({ row: $ }) => [
1564
+ l(e(se), {
1565
+ actions: W($),
1566
+ label: $.pattern
1512
1567
  }, null, 8, ["actions", "label"])
1513
1568
  ]),
1514
1569
  _: 1
@@ -1518,8 +1573,8 @@ const yt = { class: "wx-seo-rule" }, _t = { class: "wx-seo-rule__where" }, xt =
1518
1573
  }, 8, ["base", "actions"]));
1519
1574
  }
1520
1575
  });
1521
- function Wt(o = {}) {
1522
- const r = o.path ?? "/seo", i = o.mediaField ? De(o.mediaField) : void 0;
1576
+ function It(o = {}) {
1577
+ const r = o.path ?? "/seo", n = o.mediaField ? Ae(o.mediaField) : void 0;
1523
1578
  return {
1524
1579
  id: "seo",
1525
1580
  path: r,
@@ -1529,13 +1584,13 @@ function Wt(o = {}) {
1529
1584
  {
1530
1585
  path: r,
1531
1586
  name: "webx.seo",
1532
- component: kt,
1533
- props: { base: r, mediaField: i }
1587
+ component: At,
1588
+ props: { base: r, mediaField: n }
1534
1589
  },
1535
1590
  {
1536
1591
  path: `${r}/redirects`,
1537
1592
  name: "webx.seo.redirects",
1538
- component: ht,
1593
+ component: zt,
1539
1594
  props: { base: r }
1540
1595
  },
1541
1596
  // The trail of renames, from `webx-ui/routing`. The screen is here whether or not any
@@ -1544,7 +1599,7 @@ function Wt(o = {}) {
1544
1599
  {
1545
1600
  path: `${r}/aliases`,
1546
1601
  name: "webx.seo.aliases",
1547
- component: Ze,
1602
+ component: ot,
1548
1603
  props: { base: r }
1549
1604
  }
1550
1605
  ],
@@ -1552,25 +1607,25 @@ function Wt(o = {}) {
1552
1607
  // server registers the same name for what it stores.
1553
1608
  types: {
1554
1609
  "wx-seo": {
1555
- component: Ve,
1610
+ component: Se,
1556
1611
  kind: "field",
1557
1612
  wide: !0,
1558
- bind: () => ({ mediaField: i })
1613
+ bind: () => ({ mediaField: n })
1559
1614
  }
1560
1615
  }
1561
1616
  };
1562
1617
  }
1563
1618
  export {
1564
- Ve as WxSeo,
1565
- Ze as WxSeoAliasesPage,
1566
- ht as WxSeoRedirectsPage,
1567
- kt as WxSeoUrlsPage,
1568
- Q as createSeoApi,
1569
- ie as robotsDirectives,
1570
- bt as ruleInput,
1571
- fe as ruleTitle,
1572
- Wt as seo,
1573
- Je as seoMessages,
1574
- ft as seoOf
1619
+ Se as WxSeo,
1620
+ ot as WxSeoAliasesPage,
1621
+ zt as WxSeoRedirectsPage,
1622
+ At as WxSeoUrlsPage,
1623
+ Y as createSeoApi,
1624
+ de as robotsDirectives,
1625
+ Dt as ruleInput,
1626
+ _e as ruleTitle,
1627
+ It as seo,
1628
+ Ye as seoMessages,
1629
+ Ct as seoOf
1575
1630
  };
1576
1631
  //# sourceMappingURL=index.js.map