@webx-ui/module-audit 0.5.2 → 0.5.3

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.
Files changed (20) hide show
  1. package/dist/{AuditHostsPage-CSAlf3jK.js → AuditHostsPage-DZ1vYvZR.js} +3 -3
  2. package/dist/{AuditHostsPage-CSAlf3jK.js.map → AuditHostsPage-DZ1vYvZR.js.map} +1 -1
  3. package/dist/{AuditIssuesPage-DtEJ9Sgq.js → AuditIssuesPage-CdWydT5i.js} +3 -3
  4. package/dist/{AuditIssuesPage-DtEJ9Sgq.js.map → AuditIssuesPage-CdWydT5i.js.map} +1 -1
  5. package/dist/{AuditLayout.vue_vue_type_script_setup_true_lang-C39k6JNr.js → AuditLayout.vue_vue_type_script_setup_true_lang-BIj7GvJb.js} +2 -2
  6. package/dist/{AuditLayout.vue_vue_type_script_setup_true_lang-C39k6JNr.js.map → AuditLayout.vue_vue_type_script_setup_true_lang-BIj7GvJb.js.map} +1 -1
  7. package/dist/{AuditOverviewPage-B5mexNDW.js → AuditOverviewPage-BqTU-JnS.js} +3 -3
  8. package/dist/{AuditOverviewPage-B5mexNDW.js.map → AuditOverviewPage-BqTU-JnS.js.map} +1 -1
  9. package/dist/{AuditPagesPage-C1Akv4Ql.js → AuditPagesPage-CsizUOgz.js} +3 -3
  10. package/dist/{AuditPagesPage-C1Akv4Ql.js.map → AuditPagesPage-CsizUOgz.js.map} +1 -1
  11. package/dist/{AuditRunsPage-SlBisvcG.js → AuditRunsPage-D9hzlpID.js} +3 -3
  12. package/dist/{AuditRunsPage-SlBisvcG.js.map → AuditRunsPage-D9hzlpID.js.map} +1 -1
  13. package/dist/{AuditSettingsPage-ADutjdIO.js → AuditSettingsPage-R9qoNgbJ.js} +3 -3
  14. package/dist/{AuditSettingsPage-ADutjdIO.js.map → AuditSettingsPage-R9qoNgbJ.js.map} +1 -1
  15. package/dist/{index-_DgRf2O6.js → index-BxS_t2W2.js} +435 -419
  16. package/dist/index-BxS_t2W2.js.map +1 -0
  17. package/dist/index.js +1 -1
  18. package/dist/style.css +1 -1
  19. package/package.json +4 -4
  20. package/dist/index-_DgRf2O6.js.map +0 -1
@@ -1,42 +1,42 @@
1
- import { defineComponent as U, computed as O, openBlock as t, createBlock as g, unref as e, withCtx as u, createVNode as $, createElementVNode as k, toDisplayString as d, createElementBlock as h, createCommentVNode as A, createTextVNode as f, Fragment as w, renderList as R, normalizeClass as le, ref as I, onBeforeUnmount as je, watch as Z, createSlots as Fe, useModel as Le, mergeModels as ce, defineAsyncComponent as D } from "vue";
2
- import { useRouter as me } from "vue-router";
3
- import { useAdmin as de, useTranslate as V, useErrorText as ye } from "@webx-ui/module-admin";
4
- import { WxTooltip as te, WxLink as oe, WxBadge as j, WxText as C, WxIcon as ve, WxButton as B, WxAlert as X, WxDrawer as Ee, WxSkeleton as Ue, WxTabs as Me, WxTable as he, WxImage as Be, toast as ee, WxDialog as De, WxFormItem as pe, WxInput as Ve, WxTextarea as qe } from "@webx-ui/core";
5
- function rs(i = {}) {
1
+ import { defineComponent as U, computed as R, openBlock as t, createBlock as g, unref as e, withCtx as u, createVNode as $, createElementVNode as k, toDisplayString as d, createElementBlock as h, createCommentVNode as A, createTextVNode as f, Fragment as w, renderList as O, normalizeClass as ve, ref as I, onBeforeUnmount as Ee, watch as Z, useModel as Ue, mergeModels as ue, defineAsyncComponent as D } from "vue";
2
+ import { useRouter as ye } from "vue-router";
3
+ import { useAdmin as oe, useTranslate as V, useErrorText as ke, WxPreviewThumb as Me } from "@webx-ui/module-admin";
4
+ import { WxTooltip as te, WxLink as re, WxBadge as j, WxText as C, WxIcon as be, WxButton as B, WxAlert as Q, WxDrawer as Be, WxSkeleton as De, WxTabs as Ve, WxTable as ce, WxImage as he, toast as ee, WxDialog as qe, WxFormItem as pe, WxInput as Ge, WxTextarea as Ke } from "@webx-ui/core";
5
+ function la(i = {}) {
6
6
  const n = i.path ?? "/audit", o = { base: n };
7
7
  return {
8
8
  id: "audit",
9
9
  path: n,
10
10
  routes: [
11
- { path: n, name: "webx.audit", component: () => import("./AuditOverviewPage-B5mexNDW.js"), props: o },
11
+ { path: n, name: "webx.audit", component: () => import("./AuditOverviewPage-BqTU-JnS.js"), props: o },
12
12
  {
13
13
  path: `${n}/issues`,
14
14
  name: "webx.audit.issues",
15
- component: () => import("./AuditIssuesPage-DtEJ9Sgq.js"),
15
+ component: () => import("./AuditIssuesPage-CdWydT5i.js"),
16
16
  props: o
17
17
  },
18
18
  {
19
19
  path: `${n}/pages`,
20
20
  name: "webx.audit.pages",
21
- component: () => import("./AuditPagesPage-C1Akv4Ql.js"),
21
+ component: () => import("./AuditPagesPage-CsizUOgz.js"),
22
22
  props: o
23
23
  },
24
24
  {
25
25
  path: `${n}/hosts`,
26
26
  name: "webx.audit.hosts",
27
- component: () => import("./AuditHostsPage-CSAlf3jK.js"),
27
+ component: () => import("./AuditHostsPage-DZ1vYvZR.js"),
28
28
  props: o
29
29
  },
30
30
  {
31
31
  path: `${n}/runs`,
32
32
  name: "webx.audit.runs",
33
- component: () => import("./AuditRunsPage-SlBisvcG.js"),
33
+ component: () => import("./AuditRunsPage-D9hzlpID.js"),
34
34
  props: o
35
35
  },
36
36
  {
37
37
  path: `${n}/settings`,
38
38
  name: "webx.audit.settings",
39
- component: () => import("./AuditSettingsPage-ADutjdIO.js"),
39
+ component: () => import("./AuditSettingsPage-R9qoNgbJ.js"),
40
40
  props: o
41
41
  }
42
42
  ]
@@ -56,26 +56,26 @@ function ge(i) {
56
56
  n[`f[${o.field}]`] = o.value === void 0 || o.value === "" ? o.op : `${o.op}:${o.value}`;
57
57
  return n;
58
58
  }
59
- function ke(i) {
60
- const n = `${i.apiPath}/audit`, o = (a) => a.data, m = (a) => ({
61
- check: a.check || void 0,
62
- severity: a.severity || void 0,
63
- group: a.group || void 0,
64
- state: a.state || void 0,
65
- page: a.page,
66
- per_page: a.per_page
59
+ function we(i) {
60
+ const n = `${i.apiPath}/audit`, o = (s) => s.data, m = (s) => ({
61
+ check: s.check || void 0,
62
+ severity: s.severity || void 0,
63
+ group: s.group || void 0,
64
+ state: s.state || void 0,
65
+ page: s.page,
66
+ per_page: s.per_page
67
67
  });
68
68
  return {
69
69
  latest: () => i.http.get(`${n}/runs/latest`).then(o),
70
- run: (a) => i.http.get(`${n}/runs/${a}`).then(o),
71
- runs: (a = {}) => i.http.get(`${n}/runs`, { query: a }).then((c) => ({ ...c.meta, data: c.data })),
72
- start: (a, c) => i.http.post(`${n}/runs`, a === "urls" ? { scope: a, urls: c } : { scope: a }).then(o),
73
- cancel: (a) => i.http.post(`${n}/runs/${a}/cancel`, {}).then(o),
74
- clear: () => i.http.delete(`${n}/runs`).then((a) => a.data.runs),
75
- checks: (a, c = {}) => i.http.get(`${n}/runs/${a}/checks`, { query: m(c) }).then(o),
76
- issues: (a, c = {}) => i.http.get(`${n}/runs/${a}/issues`, { query: m(c) }).then((y) => ({ ...y.meta, data: y.data })),
77
- pages: (a, c = {}) => i.http.get(`${n}/runs/${a}/pages`, { query: ge(c) }).then((y) => ({ ...y.meta, data: y.data })),
78
- pagesFile: (a, c, y) => {
70
+ run: (s) => i.http.get(`${n}/runs/${s}`).then(o),
71
+ runs: (s = {}) => i.http.get(`${n}/runs`, { query: s }).then((c) => ({ ...c.meta, data: c.data })),
72
+ start: (s, c) => i.http.post(`${n}/runs`, s === "urls" ? { scope: s, urls: c } : { scope: s }).then(o),
73
+ cancel: (s) => i.http.post(`${n}/runs/${s}/cancel`, {}).then(o),
74
+ clear: () => i.http.delete(`${n}/runs`).then((s) => s.data.runs),
75
+ checks: (s, c = {}) => i.http.get(`${n}/runs/${s}/checks`, { query: m(c) }).then(o),
76
+ issues: (s, c = {}) => i.http.get(`${n}/runs/${s}/issues`, { query: m(c) }).then((v) => ({ ...v.meta, data: v.data })),
77
+ pages: (s, c = {}) => i.http.get(`${n}/runs/${s}/pages`, { query: ge(c) }).then((v) => ({ ...v.meta, data: v.data })),
78
+ pagesFile: (s, c, v) => {
79
79
  const b = new URLSearchParams();
80
80
  for (const [_, P] of Object.entries({
81
81
  ...ge(c),
@@ -83,37 +83,37 @@ function ke(i) {
83
83
  per_page: void 0
84
84
  }))
85
85
  P !== void 0 && b.set(_, String(P));
86
- return b.set("columns", y.join(",")), `${n}/runs/${a}/pages/export?${b.toString()}`;
86
+ return b.set("columns", v.join(",")), `${n}/runs/${s}/pages/export?${b.toString()}`;
87
87
  },
88
- page: (a, c) => i.http.get(`${n}/runs/${a}/pages/${c}`).then(o),
89
- links: (a, c, y = {}) => i.http.get(`${n}/runs/${a}/pages/${c}/links`, { query: y }).then((b) => ({ ...b.meta, data: b.data })),
90
- resources: (a, c, y) => i.http.get(`${n}/runs/${a}/pages/${c}/resources`, { query: y }).then((b) => ({ ...b.meta, data: b.data })),
91
- fixes: (a, c) => i.http.get(`${n}/runs/${a}/issues/${c}/fixes`).then(o),
92
- fix: (a, c, y, b = !1) => i.http.post(`${n}/runs/${a}/issues/${c}/fixes/${encodeURIComponent(y)}`, {
88
+ page: (s, c) => i.http.get(`${n}/runs/${s}/pages/${c}`).then(o),
89
+ links: (s, c, v = {}) => i.http.get(`${n}/runs/${s}/pages/${c}/links`, { query: v }).then((b) => ({ ...b.meta, data: b.data })),
90
+ resources: (s, c, v) => i.http.get(`${n}/runs/${s}/pages/${c}/resources`, { query: v }).then((b) => ({ ...b.meta, data: b.data })),
91
+ fixes: (s, c) => i.http.get(`${n}/runs/${s}/issues/${c}/fixes`).then(o),
92
+ fix: (s, c, v, b = !1) => i.http.post(`${n}/runs/${s}/issues/${c}/fixes/${encodeURIComponent(v)}`, {
93
93
  dry_run: b
94
94
  }).then(o),
95
- pageFile: (a, c) => `${n}/runs/${a}/pages/${c}/export`,
96
- compare: (a, c) => i.http.get(`${n}/runs/compare`, { query: { to: a, from: c ?? void 0 } }).then(o),
97
- compareIssues: (a) => i.http.get(`${n}/runs/compare/issues`, {
98
- query: { ...a, from: a.from ?? void 0, check: a.check || void 0 }
95
+ pageFile: (s, c) => `${n}/runs/${s}/pages/${c}/export`,
96
+ compare: (s, c) => i.http.get(`${n}/runs/compare`, { query: { to: s, from: c ?? void 0 } }).then(o),
97
+ compareIssues: (s) => i.http.get(`${n}/runs/compare/issues`, {
98
+ query: { ...s, from: s.from ?? void 0, check: s.check || void 0 }
99
99
  }).then((c) => ({ ...c.meta, data: c.data })),
100
- hosts: (a = {}) => i.http.get(`${n}/hosts`, {
100
+ hosts: (s = {}) => i.http.get(`${n}/hosts`, {
101
101
  query: {
102
- class: a.class || void 0,
103
- search: a.search || void 0,
104
- host: a.host || void 0
102
+ class: s.class || void 0,
103
+ search: s.search || void 0,
104
+ host: s.host || void 0
105
105
  }
106
106
  }).then(o),
107
107
  ignores: () => i.http.get(`${n}/ignores`).then(o),
108
- hide: (a) => i.http.post(`${n}/ignores`, a).then(o),
109
- hidePreview: (a) => i.http.post(`${n}/ignores`, { ...a, dry_run: !0 }).then((c) => c.data.hidden),
110
- unhide: (a) => i.http.delete(`${n}/ignores/${a}`).then(() => {
108
+ hide: (s) => i.http.post(`${n}/ignores`, s).then(o),
109
+ hidePreview: (s) => i.http.post(`${n}/ignores`, { ...s, dry_run: !0 }).then((c) => c.data.hidden),
110
+ unhide: (s) => i.http.delete(`${n}/ignores/${s}`).then(() => {
111
111
  }),
112
- settings: () => i.http.get(`${n}/settings`).then((a) => a.data.values),
113
- saveSettings: (a) => i.http.put(`${n}/settings`, { values: a }).then((c) => c.data.values)
112
+ settings: () => i.http.get(`${n}/settings`).then((s) => s.data.values),
113
+ saveSettings: (s) => i.http.put(`${n}/settings`, { values: s }).then((c) => c.data.values)
114
114
  };
115
115
  }
116
- const Ge = {
116
+ const Je = {
117
117
  module: {
118
118
  title: "Audit"
119
119
  },
@@ -421,37 +421,37 @@ const Ge = {
421
421
  "code-5xx": "A server error — the site behind the link failed. Often temporary; recheck later."
422
422
  }
423
423
  };
424
- function Ke(i, n) {
424
+ function Xe(i, n) {
425
425
  let o, m;
426
426
  try {
427
427
  o = new URL(i), m = new URL(n, i);
428
428
  } catch {
429
429
  return [];
430
430
  }
431
- const a = [];
432
- if (o.protocol === "http:" && m.protocol === "https:") a.push("https");
431
+ const s = [];
432
+ if (o.protocol === "http:" && m.protocol === "https:") s.push("https");
433
433
  else if (o.protocol !== m.protocol) return [];
434
434
  const c = (b) => b.replace(/^www\./, "");
435
435
  if (o.host !== m.host) {
436
436
  if (c(o.host) !== c(m.host)) return [];
437
- a.push("www");
437
+ s.push("www");
438
438
  }
439
- const y = (b) => b.replace(/\/+$/, "");
439
+ const v = (b) => b.replace(/\/+$/, "");
440
440
  if (o.pathname !== m.pathname) {
441
- if (y(o.pathname) !== y(m.pathname)) return [];
442
- a.push("slash");
441
+ if (v(o.pathname) !== v(m.pathname)) return [];
442
+ s.push("slash");
443
443
  }
444
- return o.search !== m.search || o.hash !== m.hash ? [] : a;
444
+ return o.search !== m.search || o.hash !== m.hash ? [] : s;
445
445
  }
446
446
  const ie = 14;
447
- function Je(i) {
447
+ function Qe(i) {
448
448
  return i.length <= ie * 2 ? [i, ""] : [i.slice(0, -ie), i.slice(-ie)];
449
449
  }
450
- function Xe(i) {
450
+ function Ye(i) {
451
451
  const n = Number(i);
452
452
  return n >= 500 || n === 0 ? "danger" : n >= 400 ? "warning" : n === 301 || n === 308 ? "info" : n >= 300 ? "warning" : "success";
453
453
  }
454
- const Qe = [
454
+ const Ze = [
455
455
  200,
456
456
  201,
457
457
  204,
@@ -478,13 +478,13 @@ const Qe = [
478
478
  503,
479
479
  504
480
480
  ];
481
- function Ye(i) {
482
- return i ? Qe.includes(i) ? `code-${i}` : i >= 100 && i < 600 ? `code-${Math.floor(i / 100)}xx` : "code-none" : "code-none";
481
+ function et(i) {
482
+ return i ? Ze.includes(i) ? `code-${i}` : i >= 100 && i < 600 ? `code-${Math.floor(i / 100)}xx` : "code-none" : "code-none";
483
483
  }
484
- const Ze = { class: "wx-audit-address__head" }, et = {
484
+ const tt = { class: "wx-audit-address__head" }, at = {
485
485
  key: 0,
486
486
  class: "wx-audit-address__tail"
487
- }, tt = { class: "wx-audit-address__full" }, st = /* @__PURE__ */ U({
487
+ }, st = { class: "wx-audit-address__full" }, nt = /* @__PURE__ */ U({
488
488
  __name: "AuditAddress",
489
489
  props: {
490
490
  href: {},
@@ -492,13 +492,13 @@ const Ze = { class: "wx-audit-address__head" }, et = {
492
492
  strong: { type: Boolean }
493
493
  },
494
494
  setup(i) {
495
- const n = i, o = O(() => Je(n.href));
496
- return (m, a) => (t(), g(e(te), { "max-width": 560 }, {
495
+ const n = i, o = R(() => Qe(n.href));
496
+ return (m, s) => (t(), g(e(te), { "max-width": 560 }, {
497
497
  content: u(() => [
498
- k("span", tt, d(n.href), 1)
498
+ k("span", st, d(n.href), 1)
499
499
  ]),
500
500
  default: u(() => [
501
- $(e(oe), {
501
+ $(e(re), {
502
502
  href: n.href,
503
503
  target: "_blank",
504
504
  type: n.type,
@@ -506,8 +506,8 @@ const Ze = { class: "wx-audit-address__head" }, et = {
506
506
  class: "wx-audit-address"
507
507
  }, {
508
508
  default: u(() => [
509
- k("span", Ze, d(o.value[0]), 1),
510
- o.value[1] ? (t(), h("span", et, d(o.value[1]), 1)) : A("", !0)
509
+ k("span", tt, d(o.value[0]), 1),
510
+ o.value[1] ? (t(), h("span", at, d(o.value[1]), 1)) : A("", !0)
511
511
  ]),
512
512
  _: 1
513
513
  }, 8, ["href", "type", "weight"])
@@ -517,21 +517,21 @@ const Ze = { class: "wx-audit-address__head" }, et = {
517
517
  }
518
518
  }), q = (i, n) => {
519
519
  const o = i.__vccOpts || i;
520
- for (const [m, a] of n)
521
- o[m] = a;
520
+ for (const [m, s] of n)
521
+ o[m] = s;
522
522
  return o;
523
- }, fe = /* @__PURE__ */ q(st, [["__scopeId", "data-v-38aa24fb"]]), _e = /* @__PURE__ */ new WeakSet();
523
+ }, fe = /* @__PURE__ */ q(nt, [["__scopeId", "data-v-38aa24fb"]]), _e = /* @__PURE__ */ new WeakSet();
524
524
  function G() {
525
525
  try {
526
- const { i18n: i } = de();
527
- _e.has(i) || (i.defaults("webx-audit", Ge), _e.add(i));
526
+ const { i18n: i } = oe();
527
+ _e.has(i) || (i.defaults("webx-audit", Je), _e.add(i));
528
528
  } catch {
529
529
  }
530
530
  }
531
- const at = {
531
+ const it = {
532
532
  key: 0,
533
533
  class: "wx-audit-attrs"
534
- }, nt = /* @__PURE__ */ U({
534
+ }, rt = /* @__PURE__ */ U({
535
535
  __name: "AuditLinkAttrs",
536
536
  props: {
537
537
  rel: {},
@@ -540,11 +540,11 @@ const at = {
540
540
  setup(i) {
541
541
  const n = i;
542
542
  G();
543
- const o = V("webx-audit"), m = O(() => (n.rel ?? "").split(/\s+/).filter(Boolean)), a = O(
543
+ const o = V("webx-audit"), m = R(() => (n.rel ?? "").split(/\s+/).filter(Boolean)), s = R(
544
544
  () => n.target?.toLowerCase() === "_blank" && !m.value.some((c) => c === "noopener" || c === "noreferrer")
545
545
  );
546
- return (c, y) => n.target || m.value.length ? (t(), h("span", at, [
547
- n.target && a.value ? (t(), g(e(te), {
546
+ return (c, v) => n.target || m.value.length ? (t(), h("span", it, [
547
+ n.target && s.value ? (t(), g(e(te), {
548
548
  key: 0,
549
549
  content: e(o)("page.attrs-opener"),
550
550
  "max-width": 320
@@ -572,7 +572,7 @@ const at = {
572
572
  ]),
573
573
  _: 1
574
574
  })) : A("", !0),
575
- (t(!0), h(w, null, R(m.value, (b) => (t(), g(e(j), {
575
+ (t(!0), h(w, null, O(m.value, (b) => (t(), g(e(j), {
576
576
  key: b,
577
577
  variant: "outline",
578
578
  size: "sm"
@@ -584,7 +584,7 @@ const at = {
584
584
  }, 1024))), 128))
585
585
  ])) : A("", !0);
586
586
  }
587
- }), it = /* @__PURE__ */ q(nt, [["__scopeId", "data-v-ab753c1e"]]), J = /* @__PURE__ */ U({
587
+ }), ot = /* @__PURE__ */ q(rt, [["__scopeId", "data-v-ab753c1e"]]), X = /* @__PURE__ */ U({
588
588
  __name: "AuditStatus",
589
589
  props: {
590
590
  code: {},
@@ -593,14 +593,14 @@ const at = {
593
593
  setup(i) {
594
594
  const n = i;
595
595
  G();
596
- const o = V("webx-audit"), m = O(() => n.code ? String(n.code) : o("page.status-none"));
597
- return (a, c) => (t(), g(e(te), {
598
- content: e(o)(`page.${e(Ye)(n.code)}`),
596
+ const o = V("webx-audit"), m = R(() => n.code ? String(n.code) : o("page.status-none"));
597
+ return (s, c) => (t(), g(e(te), {
598
+ content: e(o)(`page.${e(et)(n.code)}`),
599
599
  "max-width": 360
600
600
  }, {
601
601
  default: u(() => [
602
602
  $(e(j), {
603
- type: e(Xe)(n.code ?? 0),
603
+ type: e(Ye)(n.code ?? 0),
604
604
  size: n.size
605
605
  }, {
606
606
  default: u(() => [
@@ -612,28 +612,28 @@ const at = {
612
612
  _: 1
613
613
  }, 8, ["content"]));
614
614
  }
615
- }), rt = { class: "wx-audit-details" }, ot = {
615
+ }), lt = { class: "wx-audit-details" }, dt = {
616
616
  key: 1,
617
617
  class: "wx-audit-details__scroll"
618
- }, lt = { class: "wx-audit-details__table" }, dt = {
618
+ }, ut = { class: "wx-audit-details__table" }, ct = {
619
619
  key: 0,
620
620
  class: "wx-audit-details__to"
621
- }, ut = {
621
+ }, ht = {
622
622
  key: 7,
623
623
  class: "wx-audit-details__code"
624
- }, ct = /* @__PURE__ */ U({
624
+ }, pt = /* @__PURE__ */ U({
625
625
  __name: "AuditDetails",
626
626
  props: {
627
627
  details: {},
628
628
  counted: { type: Boolean }
629
629
  },
630
630
  setup(i) {
631
- const n = i, o = me();
631
+ const n = i, o = ye();
632
632
  G();
633
- const m = V("webx-audit"), a = O(() => n.details.table?.columns ?? []), c = O(
634
- () => a.value.some((x) => x.key === "url" && x.type === "url") && a.value.some((x) => x.key === "location" && x.type === "url")
633
+ const m = V("webx-audit"), s = R(() => n.details.table?.columns ?? []), c = R(
634
+ () => s.value.some((x) => x.key === "url" && x.type === "url") && s.value.some((x) => x.key === "location" && x.type === "url")
635
635
  );
636
- function y(x) {
636
+ function v(x) {
637
637
  return c.value && x.key === "url";
638
638
  }
639
639
  function b(x) {
@@ -649,9 +649,9 @@ const at = {
649
649
  return x == null ? "" : String(x);
650
650
  }
651
651
  function E(x) {
652
- return Ke(z(x.url), z(x.location));
652
+ return Xe(z(x.url), z(x.location));
653
653
  }
654
- return (x, M) => (t(), h("div", rt, [
654
+ return (x, M) => (t(), h("div", lt, [
655
655
  n.details.summary && !n.counted ? (t(), g(e(C), {
656
656
  key: 0,
657
657
  size: "sm"
@@ -661,41 +661,41 @@ const at = {
661
661
  ]),
662
662
  _: 1
663
663
  })) : A("", !0),
664
- n.details.table && n.details.table.rows.length ? (t(), h("div", ot, [
665
- k("table", lt, [
664
+ n.details.table && n.details.table.rows.length ? (t(), h("div", dt, [
665
+ k("table", ut, [
666
666
  k("colgroup", null, [
667
- (t(!0), h(w, null, R(a.value, (s) => (t(), h("col", {
668
- key: s.key,
669
- class: le([
670
- `wx-audit-details__col--${s.type}`,
671
- `wx-audit-details__col--${s.key}`
667
+ (t(!0), h(w, null, O(s.value, (a) => (t(), h("col", {
668
+ key: a.key,
669
+ class: ve([
670
+ `wx-audit-details__col--${a.type}`,
671
+ `wx-audit-details__col--${a.key}`
672
672
  ])
673
673
  }, null, 2))), 128))
674
674
  ]),
675
675
  k("thead", null, [
676
676
  k("tr", null, [
677
- (t(!0), h(w, null, R(a.value, (s) => (t(), h("th", {
678
- key: s.key
679
- }, d(s.label), 1))), 128))
677
+ (t(!0), h(w, null, O(s.value, (a) => (t(), h("th", {
678
+ key: a.key
679
+ }, d(a.label), 1))), 128))
680
680
  ])
681
681
  ]),
682
682
  k("tbody", null, [
683
- (t(!0), h(w, null, R(n.details.table.rows, (s, L) => (t(), h("tr", { key: L }, [
684
- (t(!0), h(w, null, R(a.value, (p) => (t(), h("td", {
683
+ (t(!0), h(w, null, O(n.details.table.rows, (a, L) => (t(), h("tr", { key: L }, [
684
+ (t(!0), h(w, null, O(s.value, (p) => (t(), h("td", {
685
685
  key: p.key
686
686
  }, [
687
- b(p) && z(_(s, p)) ? (t(), h("span", dt, [
688
- $(e(ve), {
687
+ b(p) && z(_(a, p)) ? (t(), h("span", ct, [
688
+ $(e(be), {
689
689
  name: "arrow-right",
690
690
  size: "1em",
691
691
  class: "wx-audit-details__arrow",
692
692
  label: e(m)("page.leads-to")
693
693
  }, null, 8, ["label"]),
694
694
  $(fe, {
695
- href: z(_(s, p)),
695
+ href: z(_(a, p)),
696
696
  strong: ""
697
697
  }, null, 8, ["href"]),
698
- (t(!0), h(w, null, R(E(s), (N) => (t(), g(e(j), {
698
+ (t(!0), h(w, null, O(E(a), (N) => (t(), g(e(j), {
699
699
  key: N,
700
700
  type: "default",
701
701
  size: "sm",
@@ -706,20 +706,20 @@ const at = {
706
706
  ]),
707
707
  _: 2
708
708
  }, 1024))), 128))
709
- ])) : p.type === "url" && z(_(s, p)) ? (t(), g(fe, {
709
+ ])) : p.type === "url" && z(_(a, p)) ? (t(), g(fe, {
710
710
  key: 1,
711
- href: z(_(s, p)),
712
- type: y(p) ? "muted" : void 0
713
- }, null, 8, ["href", "type"])) : p.type === "status" && _(s, p) !== null ? (t(), g(J, {
711
+ href: z(_(a, p)),
712
+ type: v(p) ? "muted" : void 0
713
+ }, null, 8, ["href", "type"])) : p.type === "status" && _(a, p) !== null ? (t(), g(X, {
714
714
  key: 2,
715
- code: Number(_(s, p))
716
- }, null, 8, ["code"])) : p.type === "attrs" ? (t(), g(it, {
715
+ code: Number(_(a, p))
716
+ }, null, 8, ["code"])) : p.type === "attrs" ? (t(), g(ot, {
717
717
  key: 3,
718
- rel: z(s.rel),
719
- target: z(s.target)
718
+ rel: z(a.rel),
719
+ target: z(a.target)
720
720
  }, null, 8, ["rel", "target"])) : p.type === "bool" ? (t(), h(w, { key: 4 }, [
721
- f(d(P(_(s, p))), 1)
722
- ], 64)) : p.type === "missing" && !z(_(s, p)) ? (t(), g(e(C), {
721
+ f(d(P(_(a, p))), 1)
722
+ ], 64)) : p.type === "missing" && !z(_(a, p)) ? (t(), g(e(C), {
723
723
  key: 5,
724
724
  size: "sm",
725
725
  tone: "danger"
@@ -728,19 +728,19 @@ const at = {
728
728
  f(d(e(m)("page.missing")), 1)
729
729
  ]),
730
730
  _: 1
731
- })) : p.type === "edit" && z(_(s, p)) ? (t(), g(e(B), {
731
+ })) : p.type === "edit" && z(_(a, p)) ? (t(), g(e(B), {
732
732
  key: 6,
733
733
  size: "sm",
734
734
  variant: "text",
735
735
  icon: "edit",
736
- onClick: (N) => e(o).push(z(_(s, p)))
736
+ onClick: (N) => e(o).push(z(_(a, p)))
737
737
  }, {
738
738
  default: u(() => [
739
739
  f(d(e(m)("page.open-editor")), 1)
740
740
  ]),
741
741
  _: 1
742
- }, 8, ["onClick"])) : p.type === "code" ? (t(), h("code", ut, d(z(_(s, p))), 1)) : (t(), h(w, { key: 8 }, [
743
- f(d(z(_(s, p))), 1)
742
+ }, 8, ["onClick"])) : p.type === "code" ? (t(), h("code", ht, d(z(_(a, p))), 1)) : (t(), h(w, { key: 8 }, [
743
+ f(d(z(_(a, p))), 1)
744
744
  ], 64))
745
745
  ]))), 128))
746
746
  ]))), 128))
@@ -749,28 +749,28 @@ const at = {
749
749
  ])) : A("", !0)
750
750
  ]));
751
751
  }
752
- }), ht = /* @__PURE__ */ q(ct, [["__scopeId", "data-v-8f3d8146"]]);
753
- function pt(i) {
752
+ }), gt = /* @__PURE__ */ q(pt, [["__scopeId", "data-v-8f3d8146"]]);
753
+ function ft(i) {
754
754
  const n = [];
755
755
  let o = 0;
756
- for (const [m, a] of i) {
756
+ for (const [m, s] of i) {
757
757
  for (let c = o + 1; o > 0 && c < m; c++)
758
758
  n.push({ level: c, text: "", missing: !0, after: o });
759
- n.push({ level: m, text: a, missing: !1 }), o = m;
759
+ n.push({ level: m, text: s, missing: !1 }), o = m;
760
760
  }
761
761
  return n;
762
762
  }
763
- function be(i, n) {
763
+ function xe(i, n) {
764
764
  if (!i.length) return [];
765
- const o = i.filter(([y]) => y === 1).length, m = i.filter(
766
- ([y], b) => b > 0 && y > i[b - 1][0] + 1
767
- ).length, a = i.filter(([, y]) => y === "").length, c = [];
768
- return o === 0 && c.push(n("page.headings-no-h1")), o > 1 && c.push(n("page.headings-many-h1", { count: o })), o > 0 && i[0][0] !== 1 && c.push(n("page.headings-h1-not-first", { level: `H${i[0][0]}` })), m > 0 && c.push(n("page.headings-skipped", { count: m })), a > 0 && c.push(n("page.headings-empty", { count: a })), c;
765
+ const o = i.filter(([v]) => v === 1).length, m = i.filter(
766
+ ([v], b) => b > 0 && v > i[b - 1][0] + 1
767
+ ).length, s = i.filter(([, v]) => v === "").length, c = [];
768
+ return o === 0 && c.push(n("page.headings-no-h1")), o > 1 && c.push(n("page.headings-many-h1", { count: o })), o > 0 && i[0][0] !== 1 && c.push(n("page.headings-h1-not-first", { level: `H${i[0][0]}` })), m > 0 && c.push(n("page.headings-skipped", { count: m })), s > 0 && c.push(n("page.headings-empty", { count: s })), c;
769
769
  }
770
- const gt = { class: "wx-audit-headings" }, ft = { class: "wx-audit-headings__hints" }, _t = { class: "wx-audit-headings__tree" }, mt = { class: "wx-audit-headings__gap" }, yt = {
770
+ const _t = { class: "wx-audit-headings" }, mt = { class: "wx-audit-headings__hints" }, vt = { class: "wx-audit-headings__tree" }, yt = { class: "wx-audit-headings__gap" }, kt = {
771
771
  key: 0,
772
772
  class: "wx-audit-headings__text"
773
- }, vt = /* @__PURE__ */ U({
773
+ }, bt = /* @__PURE__ */ U({
774
774
  __name: "AuditHeadings",
775
775
  props: {
776
776
  outline: {},
@@ -779,8 +779,8 @@ const gt = { class: "wx-audit-headings" }, ft = { class: "wx-audit-headings__hin
779
779
  setup(i) {
780
780
  const n = i;
781
781
  G();
782
- const o = V("webx-audit"), m = O(() => pt(n.outline ?? [])), a = O(() => be(n.outline ?? [], o)), c = O(() => Object.values(n.counts).reduce((y, b) => y + b, 0));
783
- return (y, b) => (t(), h("div", gt, [
782
+ const o = V("webx-audit"), m = R(() => ft(n.outline ?? [])), s = R(() => xe(n.outline ?? [], o)), c = R(() => Object.values(n.counts).reduce((v, b) => v + b, 0));
783
+ return (v, b) => (t(), h("div", _t, [
784
784
  n.outline === null && c.value > 0 ? (t(), g(e(C), {
785
785
  key: 0,
786
786
  tone: "muted"
@@ -790,35 +790,35 @@ const gt = { class: "wx-audit-headings" }, ft = { class: "wx-audit-headings__hin
790
790
  ]),
791
791
  _: 1
792
792
  })) : m.value.length ? (t(), h(w, { key: 2 }, [
793
- a.value.length ? (t(), g(e(X), {
793
+ s.value.length ? (t(), g(e(Q), {
794
794
  key: 0,
795
795
  type: "warning",
796
796
  variant: "soft",
797
797
  title: e(o)("page.headings-hints")
798
798
  }, {
799
799
  default: u(() => [
800
- k("ul", ft, [
801
- (t(!0), h(w, null, R(a.value, (_) => (t(), h("li", { key: _ }, d(_), 1))), 128))
800
+ k("ul", mt, [
801
+ (t(!0), h(w, null, O(s.value, (_) => (t(), h("li", { key: _ }, d(_), 1))), 128))
802
802
  ])
803
803
  ]),
804
804
  _: 1
805
- }, 8, ["title"])) : (t(), g(e(X), {
805
+ }, 8, ["title"])) : (t(), g(e(Q), {
806
806
  key: 1,
807
807
  type: "success",
808
808
  variant: "soft",
809
809
  title: e(o)("page.headings-fine")
810
810
  }, null, 8, ["title"])),
811
- k("ol", _t, [
812
- (t(!0), h(w, null, R(m.value, (_, P) => (t(), h("li", {
811
+ k("ol", vt, [
812
+ (t(!0), h(w, null, O(m.value, (_, P) => (t(), h("li", {
813
813
  key: P,
814
- class: le(["wx-audit-headings__row", { "is-missing": _.missing }])
814
+ class: ve(["wx-audit-headings__row", { "is-missing": _.missing }])
815
815
  }, [
816
- (t(!0), h(w, null, R(_.level - 1, (z) => (t(), h("span", {
816
+ (t(!0), h(w, null, O(_.level - 1, (z) => (t(), h("span", {
817
817
  key: z,
818
818
  class: "wx-audit-headings__guide"
819
819
  }))), 128)),
820
820
  _.missing ? (t(), h(w, { key: 0 }, [
821
- k("span", mt, "H" + d(_.level), 1),
821
+ k("span", yt, "H" + d(_.level), 1),
822
822
  $(e(C), {
823
823
  size: "sm",
824
824
  tone: "warning"
@@ -838,7 +838,7 @@ const gt = { class: "wx-audit-headings" }, ft = { class: "wx-audit-headings__hin
838
838
  ]),
839
839
  _: 2
840
840
  }, 1032, ["type"]),
841
- _.text ? (t(), h("span", yt, d(_.text), 1)) : (t(), g(e(C), {
841
+ _.text ? (t(), h("span", kt, d(_.text), 1)) : (t(), g(e(C), {
842
842
  key: 1,
843
843
  size: "sm",
844
844
  tone: "danger"
@@ -862,53 +862,53 @@ const gt = { class: "wx-audit-headings" }, ft = { class: "wx-audit-headings__hin
862
862
  }))
863
863
  ]));
864
864
  }
865
- }), kt = /* @__PURE__ */ q(vt, [["__scopeId", "data-v-8e5c5aed"]]);
866
- function re(i) {
865
+ }), wt = /* @__PURE__ */ q(bt, [["__scopeId", "data-v-8e5c5aed"]]);
866
+ function me(i) {
867
867
  return i.checked && i.status !== null && i.status < 400 && i.error === null;
868
868
  }
869
- const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url" }, xt = {
869
+ const xt = { class: "wx-audit-card__title" }, $t = { class: "wx-audit-card__url" }, St = {
870
870
  key: 0,
871
871
  class: "wx-audit-card__extra"
872
- }, $t = {
872
+ }, At = {
873
873
  key: 2,
874
874
  class: "wx-audit-card"
875
- }, St = { class: "wx-audit-card__recheck" }, At = {
875
+ }, Ct = { class: "wx-audit-card__recheck" }, zt = {
876
876
  key: 0,
877
877
  class: "wx-audit-card__overview"
878
- }, Ct = { class: "wx-audit-card__tiles" }, zt = { class: "wx-audit-card__box-head" }, Tt = { class: "wx-audit-card__facts" }, Nt = { key: 0 }, Pt = {
878
+ }, Tt = { class: "wx-audit-card__tiles" }, Nt = { class: "wx-audit-card__box-head" }, Pt = { class: "wx-audit-card__facts" }, Ot = { key: 0 }, Rt = {
879
879
  key: 1,
880
880
  class: "wx-audit-card__pairs"
881
- }, Rt = { class: "wx-audit-card__key" }, Ot = {
881
+ }, Wt = { class: "wx-audit-card__key" }, Ht = {
882
882
  key: 2,
883
883
  class: "wx-audit-card__heading-fact"
884
- }, Wt = {
884
+ }, It = {
885
885
  key: 0,
886
886
  class: "wx-audit-card__heading-hints"
887
- }, Ht = {
887
+ }, jt = {
888
888
  key: 3,
889
889
  class: "wx-audit-card__tags"
890
- }, It = {
890
+ }, Ft = {
891
891
  key: 0,
892
892
  class: "wx-audit-card__box"
893
- }, jt = { class: "wx-audit-card__box-head" }, Ft = { class: "wx-audit-card__facts" }, Lt = { class: "wx-audit-card__code" }, Et = { class: "wx-audit-card__code" }, Ut = {
893
+ }, Lt = { class: "wx-audit-card__box-head" }, Et = { class: "wx-audit-card__facts" }, Ut = { class: "wx-audit-card__code" }, Mt = { class: "wx-audit-card__code" }, Bt = {
894
894
  key: 1,
895
895
  class: "wx-audit-card__box wx-audit-card__headings"
896
- }, Mt = {
896
+ }, Dt = {
897
897
  key: 2,
898
898
  class: "wx-audit-card__issues"
899
- }, Bt = { class: "wx-audit-card__box-head wx-audit-card__issue-head" }, Dt = { class: "wx-audit-card__box-body" }, Vt = {
899
+ }, Vt = { class: "wx-audit-card__box-head wx-audit-card__issue-head" }, qt = { class: "wx-audit-card__box-body" }, Gt = {
900
900
  key: 0,
901
901
  class: "wx-audit-card__picture"
902
- }, qt = { class: "wx-audit-card__url" }, Gt = {
902
+ }, Kt = { class: "wx-audit-card__url" }, Jt = {
903
903
  key: 1,
904
904
  class: "wx-audit-card__url"
905
- }, Kt = {
905
+ }, Xt = {
906
906
  key: 4,
907
907
  class: "wx-audit-card__issues"
908
- }, Jt = { class: "wx-audit-card__issue-head" }, Xt = {
908
+ }, Qt = { class: "wx-audit-card__issue-head" }, Yt = {
909
909
  key: 1,
910
910
  class: "wx-audit-card__source"
911
- }, Qt = { class: "wx-audit-card__url" }, Yt = 2e3, Zt = /* @__PURE__ */ U({
911
+ }, Zt = { class: "wx-audit-card__url" }, ea = 2e3, ta = /* @__PURE__ */ U({
912
912
  __name: "AuditPageCard",
913
913
  props: {
914
914
  run: {},
@@ -918,9 +918,9 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
918
918
  },
919
919
  emits: ["close"],
920
920
  setup(i, { emit: n }) {
921
- const o = i, m = n, a = de(), c = ke(a), y = me();
921
+ const o = i, m = n, s = oe(), c = we(s), v = ye();
922
922
  G();
923
- const b = a.can("audit.run") || a.can("audit.manage"), _ = I(null), P = I(!1);
923
+ const b = s.can("audit.run") || s.can("audit.manage"), _ = I(null), P = I(!1);
924
924
  let z;
925
925
  async function E() {
926
926
  if (p.value) {
@@ -940,141 +940,143 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
940
940
  } catch (T) {
941
941
  P.value = !1, ee.danger(L(T));
942
942
  }
943
- }, Yt);
943
+ }, ea);
944
944
  return;
945
945
  }
946
946
  P.value = !1, _.value = l;
947
947
  }
948
948
  function M() {
949
- _.value && o.base && y.push({ path: `${o.base}/runs`, query: { to: String(_.value.id) } });
949
+ _.value && o.base && v.push({ path: `${o.base}/runs`, query: { to: String(_.value.id) } });
950
950
  }
951
- je(() => clearTimeout(z));
952
- const s = V("webx-audit"), L = ye(), p = I(null), N = I(null), S = I("overview"), F = I(null), se = I(!1), Q = I(null), ae = I(!1), we = ["images", "css", "js"], ue = O({
951
+ Ee(() => clearTimeout(z));
952
+ const a = V("webx-audit"), L = ke(), p = I(null), N = I(null), S = I("overview"), F = I(null), ae = I(!1), K = I(null), le = R(() => (K.value?.data ?? []).filter((l) => me(l))), $e = R(
953
+ () => le.value.map((l) => ({ src: l.url, alt: l.alt ?? "", caption: l.alt || l.url }))
954
+ ), se = I(!1), Se = ["images", "css", "js"], de = R({
953
955
  get: () => o.pageId !== null,
954
956
  set: (l) => {
955
957
  l || m("close");
956
958
  }
957
- }), xe = O(() => [
958
- { value: "overview", label: s("page.card-overview") },
959
- { value: "issues", label: s("page.card-issues"), badge: p.value?.counts.issues || void 0 },
959
+ }), Ae = R(() => [
960
+ { value: "overview", label: a("page.card-overview") },
961
+ { value: "issues", label: a("page.card-issues"), badge: p.value?.counts.issues || void 0 },
960
962
  {
961
963
  value: "headings",
962
- label: s("page.card-headings"),
963
- badge: K.value?.length || void 0
964
+ label: a("page.card-headings"),
965
+ badge: J.value?.length || void 0
964
966
  },
965
- { value: "in", label: s("page.card-incoming"), badge: p.value?.counts.incoming || void 0 },
966
- { value: "out", label: s("page.card-outgoing"), badge: p.value?.counts.outgoing || void 0 },
967
- { value: "images", label: s("page.card-images"), badge: p.value?.counts.images || void 0 },
968
- { value: "css", label: s("page.card-css"), badge: p.value?.counts.css || void 0 },
969
- { value: "js", label: s("page.card-js"), badge: p.value?.counts.js || void 0 },
967
+ { value: "in", label: a("page.card-incoming"), badge: p.value?.counts.incoming || void 0 },
968
+ { value: "out", label: a("page.card-outgoing"), badge: p.value?.counts.outgoing || void 0 },
969
+ { value: "images", label: a("page.card-images"), badge: p.value?.counts.images || void 0 },
970
+ { value: "css", label: a("page.card-css"), badge: p.value?.counts.css || void 0 },
971
+ { value: "js", label: a("page.card-js"), badge: p.value?.counts.js || void 0 },
970
972
  {
971
973
  value: "microdata",
972
- label: s("page.card-microdata"),
974
+ label: a("page.card-microdata"),
973
975
  badge: p.value?.counts.microdata || void 0
974
976
  }
975
- ]), K = O(() => {
977
+ ]), J = R(() => {
976
978
  const l = p.value?.page.facts.outline;
977
979
  return Array.isArray(l) ? l : null;
978
- }), Y = O(
979
- () => we.includes(S.value) ? S.value : null
980
- ), $e = {
980
+ }), Y = R(
981
+ () => Se.includes(S.value) ? S.value : null
982
+ ), Ce = {
981
983
  error: "danger",
982
984
  warning: "warning",
983
985
  notice: "info"
984
- }, Se = {
986
+ }, ze = {
985
987
  own: "success",
986
988
  own_mirror: "warning",
987
989
  dev: "danger",
988
990
  external: "info"
989
- }, Ae = O(() => [
990
- { key: "url", label: s("page.address"), minWidth: 220 },
991
- { key: "status", label: s("page.field-status"), width: 80 },
992
- { key: "kind", label: s("page.kind"), width: 90 },
993
- { key: "anchor", label: s("page.anchor"), minWidth: 140 },
994
- { key: "host_class", label: s("page.host"), width: 120 }
995
- ]), Ce = O(() => [
996
- { key: "url", label: s("page.address"), minWidth: 220 },
997
- { key: "status", label: s("page.field-status"), width: 80 },
998
- { key: "bytes", label: s("page.size"), width: 110 },
999
- ...Y.value === "images" ? [{ key: "alt", label: s("page.alt"), minWidth: 120 }] : [
1000
- { key: "cache_control", label: s("page.cache"), minWidth: 120 },
1001
- { key: "compression", label: s("page.field-compression"), width: 100 }
991
+ }, Te = R(() => [
992
+ { key: "url", label: a("page.address"), minWidth: 220 },
993
+ { key: "status", label: a("page.field-status"), width: 80 },
994
+ { key: "kind", label: a("page.kind"), width: 90 },
995
+ { key: "anchor", label: a("page.anchor"), minWidth: 140 },
996
+ { key: "host_class", label: a("page.host"), width: 120 }
997
+ ]), Ne = R(() => [
998
+ { key: "url", label: a("page.address"), minWidth: 220 },
999
+ { key: "status", label: a("page.field-status"), width: 80 },
1000
+ { key: "bytes", label: a("page.size"), width: 110 },
1001
+ ...Y.value === "images" ? [{ key: "alt", label: a("page.alt"), minWidth: 120 }] : [
1002
+ { key: "cache_control", label: a("page.cache"), minWidth: 120 },
1003
+ { key: "compression", label: a("page.field-compression"), width: 100 }
1002
1004
  ]
1003
1005
  ]);
1004
- function ze(l) {
1006
+ function Pe(l) {
1005
1007
  try {
1006
1008
  return JSON.stringify(JSON.parse(l), null, 2);
1007
1009
  } catch {
1008
1010
  return l;
1009
1011
  }
1010
1012
  }
1011
- function Te(l) {
1013
+ function Oe(l) {
1012
1014
  if (l.bytes === null) return "";
1013
1015
  const T = l.bytes / 1024, r = T >= 1024 ? `${(T / 1024).toFixed(1)} MB` : `${Math.round(T)} KB`;
1014
1016
  return l.width && l.height ? `${r} · ${l.width}×${l.height}` : r;
1015
1017
  }
1016
- function Ne(l) {
1018
+ function Re(l) {
1017
1019
  const T = l / 1024;
1018
1020
  return T >= 1024 ? `${(T / 1024).toFixed(1)} MB` : `${T.toFixed(1)} KB`;
1019
1021
  }
1020
- const Pe = O(() => {
1022
+ const We = R(() => {
1021
1023
  const l = p.value?.page;
1022
1024
  return l ? [
1023
1025
  {
1024
- label: s("page.field-status"),
1025
- value: String(l.status ?? s("page.status-none")),
1026
+ label: a("page.field-status"),
1027
+ value: String(l.status ?? a("page.status-none")),
1026
1028
  status: l.status
1027
1029
  },
1028
- l.bytes === null ? null : { label: s("page.size"), value: Ne(l.bytes) },
1029
- l.ttfb_ms === null ? null : { label: s("page.field-ttfb_ms"), value: String(l.ttfb_ms) },
1030
- l.total_ms === null ? null : { label: s("page.field-total_ms"), value: String(l.total_ms) },
1031
- l.word_count === null ? null : { label: s("page.field-word_count"), value: String(l.word_count) },
1032
- { label: s("page.field-links_in"), value: String(l.links_in) },
1033
- { label: s("page.field-links_out_internal"), value: String(l.links_out_internal) },
1034
- { label: s("page.field-links_out_external"), value: String(l.links_out_external) },
1035
- { label: s("page.field-images"), value: String(l.images) },
1030
+ l.bytes === null ? null : { label: a("page.size"), value: Re(l.bytes) },
1031
+ l.ttfb_ms === null ? null : { label: a("page.field-ttfb_ms"), value: String(l.ttfb_ms) },
1032
+ l.total_ms === null ? null : { label: a("page.field-total_ms"), value: String(l.total_ms) },
1033
+ l.word_count === null ? null : { label: a("page.field-word_count"), value: String(l.word_count) },
1034
+ { label: a("page.field-links_in"), value: String(l.links_in) },
1035
+ { label: a("page.field-links_out_internal"), value: String(l.links_out_internal) },
1036
+ { label: a("page.field-links_out_external"), value: String(l.links_out_external) },
1037
+ { label: a("page.field-images"), value: String(l.images) },
1036
1038
  l.images_without_alt ? {
1037
- label: s("page.field-images_without_alt"),
1039
+ label: a("page.field-images_without_alt"),
1038
1040
  value: String(l.images_without_alt),
1039
1041
  danger: !0
1040
1042
  } : null
1041
1043
  ].filter((r) => r !== null) : [];
1042
- }), Re = O(() => {
1044
+ }), He = R(() => {
1043
1045
  const l = p.value?.page;
1044
1046
  return l ? [
1045
1047
  [
1046
- s("page.section-answer"),
1048
+ a("page.section-answer"),
1047
1049
  [
1048
- [s("page.field-final_status"), l.redirect_to ? l.final_status : null],
1049
- [s("page.field-redirect_to"), l.redirect_to],
1050
- [s("page.error"), l.error],
1051
- [s("page.field-content_type"), l.content_type],
1052
- [s("page.field-compression"), l.compression]
1050
+ [a("page.field-final_status"), l.redirect_to ? l.final_status : null],
1051
+ [a("page.field-redirect_to"), l.redirect_to],
1052
+ [a("page.error"), l.error],
1053
+ [a("page.field-content_type"), l.content_type],
1054
+ [a("page.field-compression"), l.compression]
1053
1055
  ]
1054
1056
  ],
1055
1057
  [
1056
- s("page.section-crawl"),
1058
+ a("page.section-crawl"),
1057
1059
  [
1058
- [s("page.field-source"), s(`page.source-${l.source}`)],
1059
- [s("page.field-depth"), l.depth],
1060
- [s("page.field-indexable"), l.indexable ? s("page.yes") : s("page.no")],
1061
- [s("page.field-blocked_by_robots"), l.blocked_by_robots ? s("page.yes") : null]
1060
+ [a("page.field-source"), a(`page.source-${l.source}`)],
1061
+ [a("page.field-depth"), l.depth],
1062
+ [a("page.field-indexable"), l.indexable ? a("page.yes") : a("page.no")],
1063
+ [a("page.field-blocked_by_robots"), l.blocked_by_robots ? a("page.yes") : null]
1062
1064
  ]
1063
1065
  ],
1064
1066
  [
1065
- s("page.section-head"),
1067
+ a("page.section-head"),
1066
1068
  [
1067
- [s("page.field-title"), l.title],
1068
- [s("page.field-description"), l.description],
1069
- [s("page.field-h1"), l.h1.join(" · ") || null],
1069
+ [a("page.field-title"), l.title],
1070
+ [a("page.field-description"), l.description],
1071
+ [a("page.field-h1"), l.h1.join(" · ") || null],
1070
1072
  [
1071
- s("page.card-headings"),
1072
- K.value?.length ? { headings: K.value.length, hints: be(K.value, s) } : null
1073
+ a("page.card-headings"),
1074
+ J.value?.length ? { headings: J.value.length, hints: xe(J.value, a) } : null
1073
1075
  ],
1074
- [s("page.field-canonical"), l.canonical],
1075
- [s("page.field-robots_meta"), l.robots_meta],
1076
- [s("page.field-x_robots_tag"), l.x_robots_tag],
1077
- [s("page.field-lang"), l.lang],
1076
+ [a("page.field-canonical"), l.canonical],
1077
+ [a("page.field-robots_meta"), l.robots_meta],
1078
+ [a("page.field-x_robots_tag"), l.x_robots_tag],
1079
+ [a("page.field-lang"), l.lang],
1078
1080
  [
1079
1081
  "hreflang",
1080
1082
  l.hreflang.length ? { pairs: l.hreflang.map((r) => [r.lang, r.url]) } : null
@@ -1082,7 +1084,7 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1082
1084
  ]
1083
1085
  ],
1084
1086
  [
1085
- s("page.section-sharing"),
1087
+ a("page.section-sharing"),
1086
1088
  [
1087
1089
  [
1088
1090
  "Open Graph",
@@ -1110,22 +1112,22 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1110
1112
  ]
1111
1113
  ].map(([r, W]) => ({
1112
1114
  title: r,
1113
- facts: W.filter(([, v]) => v != null && v !== "").map(
1114
- ([v, H]) => [v, typeof H == "object" ? H : String(H)]
1115
+ facts: W.filter(([, y]) => y != null && y !== "").map(
1116
+ ([y, H]) => [y, typeof H == "object" ? H : String(H)]
1115
1117
  )
1116
1118
  })).filter((r) => r.facts.length) : [];
1117
1119
  });
1118
- async function Oe(l) {
1119
- clearTimeout(z), P.value = !1, _.value = null, p.value = null, N.value = null, F.value = null, Q.value = null, S.value = "overview";
1120
+ async function Ie(l) {
1121
+ clearTimeout(z), P.value = !1, _.value = null, p.value = null, N.value = null, F.value = null, K.value = null, S.value = "overview";
1120
1122
  try {
1121
1123
  p.value = await c.page(o.run, l);
1122
1124
  } catch (T) {
1123
1125
  N.value = L(T);
1124
1126
  }
1125
1127
  }
1126
- async function We(l) {
1128
+ async function je(l) {
1127
1129
  if (!(o.pageId === null || S.value !== "in" && S.value !== "out")) {
1128
- se.value = !0;
1130
+ ae.value = !0;
1129
1131
  try {
1130
1132
  F.value = await c.links(o.run, o.pageId, {
1131
1133
  direction: S.value,
@@ -1135,16 +1137,16 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1135
1137
  } catch (T) {
1136
1138
  N.value = L(T);
1137
1139
  } finally {
1138
- se.value = !1;
1140
+ ae.value = !1;
1139
1141
  }
1140
1142
  }
1141
1143
  }
1142
- async function He(l) {
1144
+ async function Fe(l) {
1143
1145
  const T = Y.value;
1144
1146
  if (!(o.pageId === null || T === null)) {
1145
- ae.value = !0;
1147
+ se.value = !0;
1146
1148
  try {
1147
- Q.value = await c.resources(o.run, o.pageId, {
1149
+ K.value = await c.resources(o.run, o.pageId, {
1148
1150
  tab: T,
1149
1151
  page: l.page,
1150
1152
  per_page: l.perPage
@@ -1152,37 +1154,37 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1152
1154
  } catch (r) {
1153
1155
  N.value = L(r);
1154
1156
  } finally {
1155
- ae.value = !1;
1157
+ se.value = !1;
1156
1158
  }
1157
1159
  }
1158
1160
  }
1159
1161
  return Z(
1160
1162
  () => o.pageId,
1161
1163
  (l) => {
1162
- l !== null && Oe(l);
1164
+ l !== null && Ie(l);
1163
1165
  },
1164
1166
  { immediate: !0 }
1165
1167
  ), Z(S, () => {
1166
- F.value = null, Q.value = null;
1167
- }), (l, T) => (t(), g(e(Ee), {
1168
- open: ue.value,
1169
- "onUpdate:open": T[2] || (T[2] = (r) => ue.value = r),
1168
+ F.value = null, K.value = null;
1169
+ }), (l, T) => (t(), g(e(Be), {
1170
+ open: de.value,
1171
+ "onUpdate:open": T[2] || (T[2] = (r) => de.value = r),
1170
1172
  size: "min(1100px, 75vw)",
1171
1173
  "min-size": 480,
1172
1174
  resizable: "",
1173
1175
  persist: "webx-audit.page-card-wide"
1174
1176
  }, {
1175
1177
  title: u(() => [
1176
- k("span", bt, [
1177
- p.value ? (t(), g(J, {
1178
+ k("span", xt, [
1179
+ p.value ? (t(), g(X, {
1178
1180
  key: 0,
1179
1181
  code: p.value.page.status
1180
1182
  }, null, 8, ["code"])) : A("", !0),
1181
- k("span", wt, d(p.value?.page.url ?? ""), 1)
1183
+ k("span", $t, d(p.value?.page.url ?? ""), 1)
1182
1184
  ])
1183
1185
  ]),
1184
1186
  extra: u(() => [
1185
- p.value ? (t(), h("span", xt, [
1187
+ p.value ? (t(), h("span", St, [
1186
1188
  e(b) ? (t(), g(e(B), {
1187
1189
  key: 0,
1188
1190
  size: "sm",
@@ -1191,7 +1193,7 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1191
1193
  onClick: E
1192
1194
  }, {
1193
1195
  default: u(() => [
1194
- f(d(e(s)("page.recheck")), 1)
1196
+ f(d(e(a)("page.recheck")), 1)
1195
1197
  ]),
1196
1198
  _: 1
1197
1199
  }, 8, ["loading"])) : A("", !0),
@@ -1202,16 +1204,16 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1202
1204
  href: e(c).pageFile(o.run, p.value.page.id)
1203
1205
  }, {
1204
1206
  default: u(() => [
1205
- f(d(e(s)("page.export-page")), 1)
1207
+ f(d(e(a)("page.export-page")), 1)
1206
1208
  ]),
1207
1209
  _: 1
1208
1210
  }, 8, ["href"]),
1209
- $(e(oe), {
1211
+ $(e(re), {
1210
1212
  href: p.value.page.url,
1211
1213
  target: "_blank"
1212
1214
  }, {
1213
1215
  default: u(() => [
1214
- f(d(e(s)("page.open-page")), 1)
1216
+ f(d(e(a)("page.open-page")), 1)
1215
1217
  ]),
1216
1218
  _: 1
1217
1219
  }, 8, ["href"])
@@ -1226,19 +1228,19 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1226
1228
  f(d(N.value), 1)
1227
1229
  ]),
1228
1230
  _: 1
1229
- })) : p.value ? (t(), h("div", $t, [
1230
- P.value ? (t(), g(e(X), {
1231
+ })) : p.value ? (t(), h("div", At, [
1232
+ P.value ? (t(), g(e(Q), {
1231
1233
  key: 0,
1232
1234
  type: "info",
1233
- description: e(s)("page.recheck-running")
1234
- }, null, 8, ["description"])) : _.value && _.value.status === "done" && _.value.counts ? (t(), g(e(X), {
1235
+ description: e(a)("page.recheck-running")
1236
+ }, null, 8, ["description"])) : _.value && _.value.status === "done" && _.value.counts ? (t(), g(e(Q), {
1235
1237
  key: 1,
1236
1238
  type: _.value.counts.new > 0 ? "warning" : "success"
1237
1239
  }, {
1238
1240
  default: u(() => [
1239
- k("div", St, [
1240
- k("span", null, d(e(s)("page.recheck-fixed", { count: _.value.counts.fixed })), 1),
1241
- k("span", null, d(e(s)("page.recheck-new", { count: _.value.counts.new })), 1),
1241
+ k("div", Ct, [
1242
+ k("span", null, d(e(a)("page.recheck-fixed", { count: _.value.counts.fixed })), 1),
1243
+ k("span", null, d(e(a)("page.recheck-new", { count: _.value.counts.new })), 1),
1242
1244
  o.base ? (t(), g(e(B), {
1243
1245
  key: 0,
1244
1246
  size: "sm",
@@ -1246,17 +1248,17 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1246
1248
  onClick: M
1247
1249
  }, {
1248
1250
  default: u(() => [
1249
- f(d(e(s)("page.recheck-compare")), 1)
1251
+ f(d(e(a)("page.recheck-compare")), 1)
1250
1252
  ]),
1251
1253
  _: 1
1252
1254
  })) : A("", !0)
1253
1255
  ])
1254
1256
  ]),
1255
1257
  _: 1
1256
- }, 8, ["type"])) : _.value ? (t(), g(e(X), {
1258
+ }, 8, ["type"])) : _.value ? (t(), g(e(Q), {
1257
1259
  key: 2,
1258
1260
  type: "danger",
1259
- description: _.value.error ?? e(s)(`page.status-${_.value.status}`)
1261
+ description: _.value.error ?? e(a)(`page.status-${_.value.status}`)
1260
1262
  }, null, 8, ["description"])) : A("", !0),
1261
1263
  p.value.page.title ? (t(), g(e(C), {
1262
1264
  key: 3,
@@ -1267,15 +1269,15 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1267
1269
  ]),
1268
1270
  _: 1
1269
1271
  })) : A("", !0),
1270
- $(e(Me), {
1272
+ $(e(Ve), {
1271
1273
  modelValue: S.value,
1272
1274
  "onUpdate:modelValue": T[1] || (T[1] = (r) => S.value = r),
1273
- items: xe.value
1275
+ items: Ae.value
1274
1276
  }, {
1275
1277
  default: u(() => [
1276
- S.value === "overview" ? (t(), h("div", At, [
1277
- k("div", Ct, [
1278
- (t(!0), h(w, null, R(Pe.value, (r) => (t(), h("div", {
1278
+ S.value === "overview" ? (t(), h("div", zt, [
1279
+ k("div", Tt, [
1280
+ (t(!0), h(w, null, O(We.value, (r) => (t(), h("div", {
1279
1281
  key: r.label,
1280
1282
  class: "wx-audit-card__tile"
1281
1283
  }, [
@@ -1288,7 +1290,7 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1288
1290
  ]),
1289
1291
  _: 2
1290
1292
  }, 1024),
1291
- r.status !== void 0 ? (t(), g(J, {
1293
+ r.status !== void 0 ? (t(), g(X, {
1292
1294
  key: 0,
1293
1295
  code: r.status,
1294
1296
  size: "md"
@@ -1305,45 +1307,45 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1305
1307
  }, 1032, ["tone"]))
1306
1308
  ]))), 128))
1307
1309
  ]),
1308
- (t(!0), h(w, null, R(Re.value, (r) => (t(), h("section", {
1310
+ (t(!0), h(w, null, O(He.value, (r) => (t(), h("section", {
1309
1311
  key: r.title,
1310
1312
  class: "wx-audit-card__box"
1311
1313
  }, [
1312
- k("div", zt, d(r.title), 1),
1313
- k("dl", Tt, [
1314
- (t(!0), h(w, null, R(r.facts, ([W, v]) => (t(), h(w, { key: W }, [
1314
+ k("div", Nt, d(r.title), 1),
1315
+ k("dl", Pt, [
1316
+ (t(!0), h(w, null, O(r.facts, ([W, y]) => (t(), h(w, { key: W }, [
1315
1317
  k("dt", null, d(W), 1),
1316
- typeof v == "string" ? (t(), h("dd", Nt, d(v), 1)) : "pairs" in v ? (t(), h("dd", Pt, [
1317
- (t(!0), h(w, null, R(v.pairs, ([H, ne], Ie) => (t(), h(w, { key: Ie }, [
1318
- k("code", Rt, d(H), 1),
1318
+ typeof y == "string" ? (t(), h("dd", Ot, d(y), 1)) : "pairs" in y ? (t(), h("dd", Rt, [
1319
+ (t(!0), h(w, null, O(y.pairs, ([H, ne], Le) => (t(), h(w, { key: Le }, [
1320
+ k("code", Wt, d(H), 1),
1319
1321
  k("span", null, d(ne), 1)
1320
1322
  ], 64))), 128))
1321
- ])) : "headings" in v ? (t(), h("dd", Ot, [
1323
+ ])) : "headings" in y ? (t(), h("dd", Ht, [
1322
1324
  k("span", null, [
1323
1325
  $(e(C), {
1324
- tone: v.hints.length ? "warning" : "success"
1326
+ tone: y.hints.length ? "warning" : "success"
1325
1327
  }, {
1326
1328
  default: u(() => [
1327
- f(d(v.hints.length ? e(s)("page.headings-summary-bad", { count: v.headings }) : e(s)("page.headings-summary-ok", { count: v.headings })), 1)
1329
+ f(d(y.hints.length ? e(a)("page.headings-summary-bad", { count: y.headings }) : e(a)("page.headings-summary-ok", { count: y.headings })), 1)
1328
1330
  ]),
1329
1331
  _: 2
1330
1332
  }, 1032, ["tone"]),
1331
- $(e(oe), {
1333
+ $(e(re), {
1332
1334
  as: "button",
1333
1335
  class: "wx-audit-card__heading-open",
1334
1336
  onClick: T[0] || (T[0] = (H) => S.value = "headings")
1335
1337
  }, {
1336
1338
  default: u(() => [
1337
- f(d(e(s)("page.headings-open")), 1)
1339
+ f(d(e(a)("page.headings-open")), 1)
1338
1340
  ]),
1339
1341
  _: 1
1340
1342
  })
1341
1343
  ]),
1342
- v.hints.length ? (t(), h("ul", Wt, [
1343
- (t(!0), h(w, null, R(v.hints, (H) => (t(), h("li", { key: H }, d(H), 1))), 128))
1344
+ y.hints.length ? (t(), h("ul", It, [
1345
+ (t(!0), h(w, null, O(y.hints, (H) => (t(), h("li", { key: H }, d(H), 1))), 128))
1344
1346
  ])) : A("", !0)
1345
- ])) : (t(), h("dd", Ht, [
1346
- (t(!0), h(w, null, R(v.tags, (H, ne) => (t(), g(e(j), {
1347
+ ])) : (t(), h("dd", jt, [
1348
+ (t(!0), h(w, null, O(y.tags, (H, ne) => (t(), g(e(j), {
1347
1349
  key: ne,
1348
1350
  type: "info",
1349
1351
  size: "sm"
@@ -1353,13 +1355,13 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1353
1355
  ]),
1354
1356
  _: 2
1355
1357
  }, 1024))), 128)),
1356
- v.error ? (t(), g(e(C), {
1358
+ y.error ? (t(), g(e(C), {
1357
1359
  key: 0,
1358
1360
  size: "sm",
1359
1361
  tone: "danger"
1360
1362
  }, {
1361
1363
  default: u(() => [
1362
- f(d(v.error), 1)
1364
+ f(d(y.error), 1)
1363
1365
  ]),
1364
1366
  _: 2
1365
1367
  }, 1024)) : A("", !0)
@@ -1367,41 +1369,41 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1367
1369
  ], 64))), 128))
1368
1370
  ])
1369
1371
  ]))), 128)),
1370
- Object.keys(p.value.page.headers).length ? (t(), h("section", It, [
1371
- k("div", jt, d(e(s)("page.headers")), 1),
1372
- k("dl", Ft, [
1373
- (t(!0), h(w, null, R(p.value.page.headers, (r, W) => (t(), h(w, { key: W }, [
1374
- k("dt", Lt, d(W), 1),
1375
- k("dd", Et, d(r), 1)
1372
+ Object.keys(p.value.page.headers).length ? (t(), h("section", Ft, [
1373
+ k("div", Lt, d(e(a)("page.headers")), 1),
1374
+ k("dl", Et, [
1375
+ (t(!0), h(w, null, O(p.value.page.headers, (r, W) => (t(), h(w, { key: W }, [
1376
+ k("dt", Ut, d(W), 1),
1377
+ k("dd", Mt, d(r), 1)
1376
1378
  ], 64))), 128))
1377
1379
  ])
1378
1380
  ])) : A("", !0)
1379
- ])) : S.value === "headings" ? (t(), h("div", Ut, [
1380
- $(kt, {
1381
- outline: K.value,
1381
+ ])) : S.value === "headings" ? (t(), h("div", Bt, [
1382
+ $(wt, {
1383
+ outline: J.value,
1382
1384
  counts: p.value.page.headings
1383
1385
  }, null, 8, ["outline", "counts"])
1384
- ])) : S.value === "issues" ? (t(), h("div", Mt, [
1386
+ ])) : S.value === "issues" ? (t(), h("div", Dt, [
1385
1387
  p.value.issues.length ? A("", !0) : (t(), g(e(C), {
1386
1388
  key: 0,
1387
1389
  tone: "muted"
1388
1390
  }, {
1389
1391
  default: u(() => [
1390
- f(d(e(s)("page.no-issues")), 1)
1392
+ f(d(e(a)("page.no-issues")), 1)
1391
1393
  ]),
1392
1394
  _: 1
1393
1395
  })),
1394
- (t(!0), h(w, null, R(p.value.issues, (r) => (t(), h("div", {
1396
+ (t(!0), h(w, null, O(p.value.issues, (r) => (t(), h("div", {
1395
1397
  key: r.id,
1396
1398
  class: "wx-audit-card__box"
1397
1399
  }, [
1398
- k("div", Bt, [
1400
+ k("div", Vt, [
1399
1401
  $(e(j), {
1400
- type: $e[r.severity],
1402
+ type: Ce[r.severity],
1401
1403
  dot: ""
1402
1404
  }, {
1403
1405
  default: u(() => [
1404
- f(d(e(s)(`page.severity-${r.severity}`)), 1)
1406
+ f(d(e(a)(`page.severity-${r.severity}`)), 1)
1405
1407
  ]),
1406
1408
  _: 2
1407
1409
  }, 1032, ["type"]),
@@ -1420,7 +1422,7 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1420
1422
  size: "sm"
1421
1423
  }, {
1422
1424
  default: u(() => [
1423
- f(d(e(s)("page.state-new")), 1)
1425
+ f(d(e(a)("page.state-new")), 1)
1424
1426
  ]),
1425
1427
  _: 1
1426
1428
  })) : A("", !0),
@@ -1443,47 +1445,61 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1443
1445
  _: 2
1444
1446
  }, 1032, ["content", "disabled"])) : A("", !0)
1445
1447
  ]),
1446
- k("div", Dt, [
1447
- $(ht, {
1448
+ k("div", qt, [
1449
+ $(gt, {
1448
1450
  details: r.details,
1449
1451
  counted: r.details.count != null && !!r.details.table
1450
1452
  }, null, 8, ["details", "counted"])
1451
1453
  ])
1452
1454
  ]))), 128))
1453
- ])) : Y.value ? (t(), g(e(he), {
1455
+ ])) : Y.value ? (t(), g(e(ce), {
1454
1456
  key: `resources-${String(S.value)}`,
1455
- data: Q.value,
1456
- columns: Ce.value,
1457
+ data: K.value,
1458
+ columns: Ne.value,
1457
1459
  "row-key": "id",
1458
1460
  flush: "",
1459
- loading: ae.value,
1461
+ loading: se.value,
1460
1462
  "per-page-options": [],
1461
- "empty-text": e(s)("page.no-resources"),
1462
- onStateChange: He
1463
+ "empty-text": e(a)("page.no-resources"),
1464
+ onStateChange: Fe
1463
1465
  }, {
1464
1466
  "cell-url": u(({ row: r }) => [
1465
- Y.value === "images" ? (t(), h("span", Vt, [
1466
- $(e(Be), {
1467
- src: e(re)(r) ? r.url : void 0,
1467
+ Y.value === "images" ? (t(), h("span", Gt, [
1468
+ e(me)(r) ? (t(), g(e(Me), {
1469
+ key: 0,
1470
+ items: $e.value,
1471
+ start: le.value.indexOf(r),
1472
+ label: e(a)("page.view-full")
1473
+ }, {
1474
+ default: u(() => [
1475
+ $(e(he), {
1476
+ src: r.url,
1477
+ alt: r.alt ?? "",
1478
+ width: 48,
1479
+ height: 48,
1480
+ fit: "cover",
1481
+ radius: "var(--wx-radius-sm)",
1482
+ class: "wx-audit-card__thumb"
1483
+ }, null, 8, ["src", "alt"])
1484
+ ]),
1485
+ _: 2
1486
+ }, 1032, ["items", "start", "label"])) : (t(), g(e(he), {
1487
+ key: 1,
1488
+ src: void 0,
1468
1489
  alt: r.alt ?? "",
1469
1490
  width: 48,
1470
1491
  height: 48,
1471
1492
  fit: "cover",
1472
1493
  radius: "var(--wx-radius-sm)",
1473
- preview: "",
1474
- "preview-label": e(s)("page.view-full"),
1475
- class: le(["wx-audit-card__thumb", { "is-unviewable": !e(re)(r) }])
1476
- }, Fe({ _: 2 }, [
1477
- e(re)(r) ? void 0 : {
1478
- name: "placeholder",
1479
- fn: u(() => [
1480
- $(e(ve), { name: "image" })
1481
- ]),
1482
- key: "0"
1483
- }
1484
- ]), 1032, ["src", "alt", "preview-label", "class"]),
1485
- k("span", qt, d(r.url), 1)
1486
- ])) : (t(), h("span", Gt, d(r.url), 1)),
1494
+ class: "wx-audit-card__thumb is-unviewable"
1495
+ }, {
1496
+ placeholder: u(() => [
1497
+ $(e(be), { name: "image" })
1498
+ ]),
1499
+ _: 1
1500
+ }, 8, ["alt"])),
1501
+ k("span", Kt, d(r.url), 1)
1502
+ ])) : (t(), h("span", Jt, d(r.url), 1)),
1487
1503
  r.location ? (t(), g(e(C), {
1488
1504
  key: 2,
1489
1505
  size: "sm",
@@ -1507,7 +1523,7 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1507
1523
  }, 1024)) : A("", !0)
1508
1524
  ]),
1509
1525
  "cell-status": u(({ row: r }) => [
1510
- r.status !== null || r.checked ? (t(), g(J, {
1526
+ r.status !== null || r.checked ? (t(), g(X, {
1511
1527
  key: 0,
1512
1528
  code: r.status
1513
1529
  }, null, 8, ["code"])) : (t(), g(e(C), {
@@ -1516,13 +1532,13 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1516
1532
  tone: "muted"
1517
1533
  }, {
1518
1534
  default: u(() => [
1519
- f(d(e(s)("page.not-checked")), 1)
1535
+ f(d(e(a)("page.not-checked")), 1)
1520
1536
  ]),
1521
1537
  _: 1
1522
1538
  }))
1523
1539
  ]),
1524
1540
  "cell-bytes": u(({ row: r }) => [
1525
- f(d(Te(r)), 1)
1541
+ f(d(Oe(r)), 1)
1526
1542
  ]),
1527
1543
  "cell-alt": u(({ row: r }) => [
1528
1544
  r.alt === null && r.kind === "img" ? (t(), g(e(C), {
@@ -1531,7 +1547,7 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1531
1547
  tone: "danger"
1532
1548
  }, {
1533
1549
  default: u(() => [
1534
- f(d(e(s)("page.missing")), 1)
1550
+ f(d(e(a)("page.missing")), 1)
1535
1551
  ]),
1536
1552
  _: 1
1537
1553
  })) : (t(), h(w, { key: 1 }, [
@@ -1539,36 +1555,36 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1539
1555
  ], 64))
1540
1556
  ]),
1541
1557
  _: 1
1542
- }, 8, ["data", "columns", "loading", "empty-text"])) : S.value === "microdata" ? (t(), h("div", Kt, [
1558
+ }, 8, ["data", "columns", "loading", "empty-text"])) : S.value === "microdata" ? (t(), h("div", Xt, [
1543
1559
  p.value.page.json_ld.length ? A("", !0) : (t(), g(e(C), {
1544
1560
  key: 0,
1545
1561
  tone: "muted"
1546
1562
  }, {
1547
1563
  default: u(() => [
1548
- f(d(e(s)("page.no-json-ld")), 1)
1564
+ f(d(e(a)("page.no-json-ld")), 1)
1549
1565
  ]),
1550
1566
  _: 1
1551
1567
  })),
1552
- (t(!0), h(w, null, R(p.value.page.json_ld, (r, W) => (t(), h("div", {
1568
+ (t(!0), h(w, null, O(p.value.page.json_ld, (r, W) => (t(), h("div", {
1553
1569
  key: W,
1554
1570
  class: "wx-audit-card__issue"
1555
1571
  }, [
1556
- k("div", Jt, [
1572
+ k("div", Qt, [
1557
1573
  $(e(C), {
1558
1574
  size: "sm",
1559
1575
  weight: "semibold"
1560
1576
  }, {
1561
1577
  default: u(() => [
1562
- f(d(e(s)("page.jsonld-block", { number: W + 1 })), 1)
1578
+ f(d(e(a)("page.jsonld-block", { number: W + 1 })), 1)
1563
1579
  ]),
1564
1580
  _: 2
1565
1581
  }, 1024),
1566
- (t(!0), h(w, null, R(r.types, (v) => (t(), g(e(j), {
1567
- key: v,
1582
+ (t(!0), h(w, null, O(r.types, (y) => (t(), g(e(j), {
1583
+ key: y,
1568
1584
  size: "sm"
1569
1585
  }, {
1570
1586
  default: u(() => [
1571
- f(d(v), 1)
1587
+ f(d(y), 1)
1572
1588
  ]),
1573
1589
  _: 2
1574
1590
  }, 1024))), 128))
@@ -1579,60 +1595,60 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1579
1595
  tone: "danger"
1580
1596
  }, {
1581
1597
  default: u(() => [
1582
- f(d(e(s)("page.jsonld-error")) + " " + d(r.error), 1)
1598
+ f(d(e(a)("page.jsonld-error")) + " " + d(r.error), 1)
1583
1599
  ]),
1584
1600
  _: 2
1585
1601
  }, 1024)) : A("", !0),
1586
- (t(!0), h(w, null, R(r.items ?? [], (v, H) => (t(), h(w, { key: H }, [
1587
- v.missing.length ? (t(), g(e(C), {
1602
+ (t(!0), h(w, null, O(r.items ?? [], (y, H) => (t(), h(w, { key: H }, [
1603
+ y.missing.length ? (t(), g(e(C), {
1588
1604
  key: 0,
1589
1605
  size: "sm",
1590
1606
  tone: "danger"
1591
1607
  }, {
1592
1608
  default: u(() => [
1593
- f(d(v.type) + " — " + d(e(s)("page.jsonld-required")) + " " + d(v.missing.join(", ")), 1)
1609
+ f(d(y.type) + " — " + d(e(a)("page.jsonld-required")) + " " + d(y.missing.join(", ")), 1)
1594
1610
  ]),
1595
1611
  _: 2
1596
1612
  }, 1024)) : A("", !0),
1597
- v.recommended.length ? (t(), g(e(C), {
1613
+ y.recommended.length ? (t(), g(e(C), {
1598
1614
  key: 1,
1599
1615
  size: "sm",
1600
1616
  tone: "muted"
1601
1617
  }, {
1602
1618
  default: u(() => [
1603
- f(d(v.type) + " — " + d(e(s)("page.jsonld-recommended")) + " " + d(v.recommended.join(", ")), 1)
1619
+ f(d(y.type) + " — " + d(e(a)("page.jsonld-recommended")) + " " + d(y.recommended.join(", ")), 1)
1604
1620
  ]),
1605
1621
  _: 2
1606
1622
  }, 1024)) : A("", !0),
1607
- !v.missing.length && !v.recommended.length ? (t(), g(e(C), {
1623
+ !y.missing.length && !y.recommended.length ? (t(), g(e(C), {
1608
1624
  key: 2,
1609
1625
  size: "sm",
1610
1626
  tone: "success"
1611
1627
  }, {
1612
1628
  default: u(() => [
1613
- f(d(v.type) + " — " + d(e(s)("page.jsonld-complete")), 1)
1629
+ f(d(y.type) + " — " + d(e(a)("page.jsonld-complete")), 1)
1614
1630
  ]),
1615
1631
  _: 2
1616
1632
  }, 1024)) : A("", !0)
1617
1633
  ], 64))), 128)),
1618
- r.source ? (t(), h("pre", Xt, d(ze(r.source)), 1)) : A("", !0)
1634
+ r.source ? (t(), h("pre", Yt, d(Pe(r.source)), 1)) : A("", !0)
1619
1635
  ]))), 128))
1620
- ])) : (t(), g(e(he), {
1636
+ ])) : (t(), g(e(ce), {
1621
1637
  key: String(S.value),
1622
1638
  data: F.value,
1623
- columns: Ae.value,
1639
+ columns: Te.value,
1624
1640
  "row-key": "id",
1625
1641
  flush: "",
1626
- loading: se.value,
1642
+ loading: ae.value,
1627
1643
  "per-page-options": [],
1628
- "empty-text": e(s)("page.no-links"),
1629
- onStateChange: We
1644
+ "empty-text": e(a)("page.no-links"),
1645
+ onStateChange: je
1630
1646
  }, {
1631
1647
  "cell-url": u(({ row: r }) => [
1632
- k("span", Qt, d(r.url ?? "—"), 1)
1648
+ k("span", Zt, d(r.url ?? "—"), 1)
1633
1649
  ]),
1634
1650
  "cell-status": u(({ row: r }) => [
1635
- r.status !== null ? (t(), g(J, {
1651
+ r.status !== null ? (t(), g(X, {
1636
1652
  key: 0,
1637
1653
  code: r.status
1638
1654
  }, null, 8, ["code"])) : A("", !0)
@@ -1640,11 +1656,11 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1640
1656
  "cell-host_class": u(({ row: r }) => [
1641
1657
  r.host_class ? (t(), g(e(j), {
1642
1658
  key: 0,
1643
- type: Se[r.host_class] ?? "info",
1659
+ type: ze[r.host_class] ?? "info",
1644
1660
  size: "sm"
1645
1661
  }, {
1646
1662
  default: u(() => [
1647
- f(d(e(s)(`page.host-${r.host_class}`)), 1)
1663
+ f(d(e(a)(`page.host-${r.host_class}`)), 1)
1648
1664
  ]),
1649
1665
  _: 2
1650
1666
  }, 1032, ["type"])) : A("", !0)
@@ -1654,7 +1670,7 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1654
1670
  ]),
1655
1671
  _: 1
1656
1672
  }, 8, ["modelValue", "items"])
1657
- ])) : (t(), g(e(Ue), {
1673
+ ])) : (t(), g(e(De), {
1658
1674
  key: 1,
1659
1675
  rows: 6
1660
1676
  }))
@@ -1662,20 +1678,20 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1662
1678
  _: 1
1663
1679
  }, 8, ["open"]));
1664
1680
  }
1665
- }), os = /* @__PURE__ */ q(Zt, [["__scopeId", "data-v-b5c4ea4d"]]), es = { class: "wx-audit-hide" }, ts = /* @__PURE__ */ U({
1681
+ }), da = /* @__PURE__ */ q(ta, [["__scopeId", "data-v-c1b45bc3"]]), aa = { class: "wx-audit-hide" }, sa = /* @__PURE__ */ U({
1666
1682
  __name: "AuditHideDialog",
1667
- props: /* @__PURE__ */ ce({
1683
+ props: /* @__PURE__ */ ue({
1668
1684
  issue: {},
1669
1685
  title: {}
1670
1686
  }, {
1671
1687
  open: { type: Boolean, default: !1 },
1672
1688
  openModifiers: {}
1673
1689
  }),
1674
- emits: /* @__PURE__ */ ce(["hidden"], ["update:open"]),
1690
+ emits: /* @__PURE__ */ ue(["hidden"], ["update:open"]),
1675
1691
  setup(i, { emit: n }) {
1676
- const o = i, m = n, a = Le(i, "open"), c = ke(de());
1692
+ const o = i, m = n, s = Ue(i, "open"), c = we(oe());
1677
1693
  G();
1678
- const y = V("webx-audit"), b = ye(), _ = I(""), P = I(""), z = I(null), E = I(!1);
1694
+ const v = V("webx-audit"), b = ke(), _ = I(""), P = I(""), z = I(null), E = I(!1);
1679
1695
  let x;
1680
1696
  function M(N) {
1681
1697
  if (!N) return "";
@@ -1686,7 +1702,7 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1686
1702
  return N;
1687
1703
  }
1688
1704
  }
1689
- const s = O(() => P.value.trim() !== "");
1705
+ const a = R(() => P.value.trim() !== "");
1690
1706
  function L() {
1691
1707
  clearTimeout(x), x = setTimeout(async () => {
1692
1708
  try {
@@ -1704,7 +1720,7 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1704
1720
  pattern: _.value,
1705
1721
  reason: P.value
1706
1722
  });
1707
- ee.success(y("page.hidden-done")), m("hidden", N), a.value = !1;
1723
+ ee.success(v("page.hidden-done")), m("hidden", N), s.value = !1;
1708
1724
  } catch (N) {
1709
1725
  ee.danger(b(N));
1710
1726
  } finally {
@@ -1712,42 +1728,42 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1712
1728
  }
1713
1729
  }
1714
1730
  return Z(
1715
- [a, () => o.issue.id],
1731
+ [s, () => o.issue.id],
1716
1732
  ([N]) => {
1717
1733
  N && (_.value = M(o.issue.url), P.value = "", z.value = null, L());
1718
1734
  },
1719
1735
  { immediate: !0 }
1720
1736
  ), Z(_, () => {
1721
- a.value && L();
1722
- }), (N, S) => (t(), g(e(De), {
1723
- open: a.value,
1724
- "onUpdate:open": S[3] || (S[3] = (F) => a.value = F),
1725
- title: e(y)("page.hide-title"),
1737
+ s.value && L();
1738
+ }), (N, S) => (t(), g(e(qe), {
1739
+ open: s.value,
1740
+ "onUpdate:open": S[3] || (S[3] = (F) => s.value = F),
1741
+ title: e(v)("page.hide-title"),
1726
1742
  width: 560
1727
1743
  }, {
1728
1744
  footer: u(() => [
1729
1745
  $(e(B), {
1730
- onClick: S[2] || (S[2] = (F) => a.value = !1)
1746
+ onClick: S[2] || (S[2] = (F) => s.value = !1)
1731
1747
  }, {
1732
1748
  default: u(() => [
1733
- f(d(e(y)("page.dismiss")), 1)
1749
+ f(d(e(v)("page.dismiss")), 1)
1734
1750
  ]),
1735
1751
  _: 1
1736
1752
  }),
1737
1753
  $(e(B), {
1738
1754
  type: "primary",
1739
1755
  loading: E.value,
1740
- disabled: !s.value,
1756
+ disabled: !a.value,
1741
1757
  onClick: p
1742
1758
  }, {
1743
1759
  default: u(() => [
1744
- f(d(e(y)("page.hide")), 1)
1760
+ f(d(e(v)("page.hide")), 1)
1745
1761
  ]),
1746
1762
  _: 1
1747
1763
  }, 8, ["loading", "disabled"])
1748
1764
  ]),
1749
1765
  default: u(() => [
1750
- k("div", es, [
1766
+ k("div", aa, [
1751
1767
  $(e(C), { weight: "semibold" }, {
1752
1768
  default: u(() => [
1753
1769
  f(d(o.title), 1)
@@ -1759,16 +1775,16 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1759
1775
  tone: "muted"
1760
1776
  }, {
1761
1777
  default: u(() => [
1762
- f(d(e(y)("page.hide-help")), 1)
1778
+ f(d(e(v)("page.hide-help")), 1)
1763
1779
  ]),
1764
1780
  _: 1
1765
1781
  }),
1766
1782
  $(e(pe), {
1767
- label: e(y)("page.hide-pattern"),
1768
- help: e(y)("page.hide-pattern-help")
1783
+ label: e(v)("page.hide-pattern"),
1784
+ help: e(v)("page.hide-pattern-help")
1769
1785
  }, {
1770
1786
  default: u(() => [
1771
- $(e(Ve), {
1787
+ $(e(Ge), {
1772
1788
  modelValue: _.value,
1773
1789
  "onUpdate:modelValue": S[0] || (S[0] = (F) => _.value = F),
1774
1790
  placeholder: "/search/**"
@@ -1777,11 +1793,11 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1777
1793
  _: 1
1778
1794
  }, 8, ["label", "help"]),
1779
1795
  $(e(pe), {
1780
- label: e(y)("page.hide-reason"),
1796
+ label: e(v)("page.hide-reason"),
1781
1797
  required: ""
1782
1798
  }, {
1783
1799
  default: u(() => [
1784
- $(e(qe), {
1800
+ $(e(Ke), {
1785
1801
  modelValue: P.value,
1786
1802
  "onUpdate:modelValue": S[1] || (S[1] = (F) => P.value = F),
1787
1803
  rows: 3
@@ -1795,7 +1811,7 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1795
1811
  tone: "muted"
1796
1812
  }, {
1797
1813
  default: u(() => [
1798
- f(d(e(y)("page.hide-count", { count: z.value })), 1)
1814
+ f(d(e(v)("page.hide-count", { count: z.value })), 1)
1799
1815
  ]),
1800
1816
  _: 1
1801
1817
  })) : A("", !0)
@@ -1804,7 +1820,7 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1804
1820
  _: 1
1805
1821
  }, 8, ["open", "title"]));
1806
1822
  }
1807
- }), ls = /* @__PURE__ */ q(ts, [["__scopeId", "data-v-1db364c4"]]), ds = {
1823
+ }), ua = /* @__PURE__ */ q(sa, [["__scopeId", "data-v-1db364c4"]]), ca = {
1808
1824
  url: "url",
1809
1825
  status: "status",
1810
1826
  final_status: "status",
@@ -1834,7 +1850,7 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1834
1850
  in_sitemap: "bool",
1835
1851
  in_registry: "bool",
1836
1852
  blocked_by_robots: "bool"
1837
- }, us = [
1853
+ }, ha = [
1838
1854
  "url",
1839
1855
  "status",
1840
1856
  "indexable",
@@ -1842,39 +1858,39 @@ const bt = { class: "wx-audit-card__title" }, wt = { class: "wx-audit-card__url"
1842
1858
  "word_count",
1843
1859
  "links_in",
1844
1860
  "issues"
1845
- ], cs = ["h1"], hs = {
1861
+ ], pa = ["h1"], ga = {
1846
1862
  url: ["contains", "eq", "empty", "filled"],
1847
1863
  text: ["contains", "eq", "empty", "filled"],
1848
1864
  number: ["gt", "lt", "eq", "empty"],
1849
1865
  status: ["eq", "gt", "lt", "empty"],
1850
1866
  bool: ["yes", "no"],
1851
1867
  source: ["eq"]
1852
- }, ps = ["contains", "eq", "gt", "lt"], gs = ["home", "sitemap", "registry", "link"], fs = D(() => import("./AuditOverviewPage-B5mexNDW.js")), _s = D(() => import("./AuditIssuesPage-DtEJ9Sgq.js")), ms = D(() => import("./AuditPagesPage-C1Akv4Ql.js")), ys = D(() => import("./AuditHostsPage-CSAlf3jK.js")), vs = D(() => import("./AuditRunsPage-SlBisvcG.js")), ks = D(() => import("./AuditSettingsPage-ADutjdIO.js"));
1868
+ }, fa = ["contains", "eq", "gt", "lt"], _a = ["home", "sitemap", "registry", "link"], ma = D(() => import("./AuditOverviewPage-BqTU-JnS.js")), va = D(() => import("./AuditIssuesPage-CdWydT5i.js")), ya = D(() => import("./AuditPagesPage-CsizUOgz.js")), ka = D(() => import("./AuditHostsPage-DZ1vYvZR.js")), ba = D(() => import("./AuditRunsPage-D9hzlpID.js")), wa = D(() => import("./AuditSettingsPage-R9qoNgbJ.js"));
1853
1869
  export {
1854
1870
  fe as A,
1855
- cs as C,
1856
- us as D,
1857
- hs as O,
1858
- ds as P,
1859
- gs as S,
1860
- ps as W,
1871
+ pa as C,
1872
+ ha as D,
1873
+ ga as O,
1874
+ ca as P,
1875
+ _a as S,
1876
+ fa as W,
1861
1877
  q as _,
1862
- it as a,
1863
- J as b,
1864
- ke as c,
1865
- Ke as d,
1866
- ht as e,
1867
- ls as f,
1868
- os as g,
1869
- ys as h,
1870
- _s as i,
1871
- fs as j,
1872
- ms as k,
1873
- vs as l,
1874
- ks as m,
1875
- rs as n,
1876
- Ge as o,
1878
+ ot as a,
1879
+ X as b,
1880
+ we as c,
1881
+ Xe as d,
1882
+ gt as e,
1883
+ ua as f,
1884
+ da as g,
1885
+ ka as h,
1886
+ va as i,
1887
+ ma as j,
1888
+ ya as k,
1889
+ ba as l,
1890
+ wa as m,
1891
+ la as n,
1892
+ Je as o,
1877
1893
  ge as p,
1878
1894
  G as u
1879
1895
  };
1880
- //# sourceMappingURL=index-_DgRf2O6.js.map
1896
+ //# sourceMappingURL=index-BxS_t2W2.js.map