@dskripchenko/laravel-admin 1.1.4 → 1.1.6

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.mjs CHANGED
@@ -1,12 +1,12 @@
1
- import { ref as E, computed as p, defineComponent as L, openBlock as s, createElementBlock as c, createElementVNode as d, createBlock as w, unref as r, withCtx as m, Fragment as T, renderList as I, createTextVNode as C, toDisplayString as h, createCommentVNode as F, createVNode as x, renderSlot as H, resolveDynamicComponent as oe, normalizeClass as J, createSlots as Me, h as ht, watch as Z, onBeforeUnmount as _t, resolveComponent as Ze, withModifiers as Ie, nextTick as Le, onMounted as xe, withKeys as yt, normalizeProps as Ce, mergeProps as Se, normalizeStyle as Ae, inject as et, provide as bt, createApp as kt, reactive as wt } from "vue";
2
- import { defineStore as ee, createPinia as $t } from "pinia";
3
- import { RouterLink as xt, useRouter as ne, useRoute as pe, createWebHistory as tt, createRouter as Ct } from "vue-router";
4
- import { UidMenu as nt, UidMenuItem as Ne, UidMenuSeparator as St, UidAvatar as at, UidSidebar as At, UidSidebarGroup as Rt, UidSidebarItem as Ut, UidSidebarLayout as Et, UidCard as q, UidButton as B, UidAlert as Y, UidInput as ie, UidCheckbox as we, UidSkeleton as Be, UidErrorState as Ft, UidEmptyState as Lt, UidTable as Ve, UidPagination as Pt, UidBadge as ze, UidSelect as $e, UidStat as be, UidHeatmap as Tt, UidGauge as Mt, UidFormField as ge, UidTextarea as Nt, UidNumberInput as It, UidDatePicker as Bt, UidStack as Vt, UidGrid as zt, UidTabs as lt, UidTabPanel as st, UidTab as ke, UidDescriptionList as qt, UidDescriptionItem as Dt, UidDrawer as Ot, UidStepper as Wt, UidFileUpload as jt, UidProgress as Kt } from "@dskripchenko/ui";
5
- import Gt from "axios";
6
- import { p as it, u as re } from "./formState-DGNcH1XQ.js";
7
- import { t as uo } from "./formState-DGNcH1XQ.js";
1
+ import { ref as E, computed as p, defineComponent as L, openBlock as s, createElementBlock as c, createElementVNode as d, createBlock as w, unref as r, withCtx as m, Fragment as T, renderList as I, createTextVNode as C, toDisplayString as h, createCommentVNode as F, createVNode as x, renderSlot as H, resolveDynamicComponent as oe, normalizeClass as J, createSlots as Ne, h as _t, watch as Z, onBeforeUnmount as yt, resolveComponent as et, withModifiers as Be, nextTick as Pe, onMounted as xe, withKeys as bt, normalizeProps as Ce, mergeProps as Se, normalizeStyle as Ae, inject as tt, provide as kt, createApp as wt, reactive as $t } from "vue";
2
+ import { defineStore as ee, createPinia as xt } from "pinia";
3
+ import { RouterLink as Ct, useRouter as ne, useRoute as pe, createWebHistory as nt, createRouter as St } from "vue-router";
4
+ import { UidMenu as at, UidMenuItem as Ie, UidMenuSeparator as At, UidAvatar as lt, UidSidebar as Rt, UidSidebarGroup as Ut, UidSidebarItem as Et, UidSidebarLayout as Ft, UidCard as q, UidButton as B, UidAlert as Y, UidInput as ie, UidCheckbox as we, UidSkeleton as Ve, UidErrorState as Lt, UidEmptyState as Pt, UidTable as ze, UidPagination as Tt, UidBadge as qe, UidSelect as $e, UidStat as be, UidHeatmap as Mt, UidGauge as Nt, UidFormField as ge, UidTextarea as It, UidNumberInput as Bt, UidDatePicker as Vt, UidStack as zt, UidGrid as qt, UidTabs as st, UidTabPanel as it, UidTab as ke, UidDescriptionList as Dt, UidDescriptionItem as Ot, UidDrawer as Wt, UidStepper as jt, UidFileUpload as Kt, UidProgress as Gt } from "@dskripchenko/ui";
5
+ import Ht from "axios";
6
+ import { p as ot, u as re } from "./formState-DGNcH1XQ.js";
7
+ import { t as co } from "./formState-DGNcH1XQ.js";
8
8
  let ve = null;
9
- function Ht(e) {
9
+ function Xt(e) {
10
10
  ve = e;
11
11
  }
12
12
  function W() {
@@ -16,13 +16,13 @@ function W() {
16
16
  );
17
17
  return ve;
18
18
  }
19
- function Ni() {
19
+ function Ii() {
20
20
  ve = null;
21
21
  }
22
- function Ii() {
22
+ function Bi() {
23
23
  return ve !== null;
24
24
  }
25
- const qe = ee("admin-theme", () => {
25
+ const De = ee("admin-theme", () => {
26
26
  const e = E("light"), t = E(["light", "dark"]), n = p(() => e.value === "dark");
27
27
  function o(u) {
28
28
  e.value = u.theme, t.value = u.availableThemes, i(u.theme);
@@ -54,10 +54,10 @@ const qe = ee("admin-theme", () => {
54
54
  applyLocal: a,
55
55
  setTheme: l
56
56
  };
57
- }), Xt = ["aria-label", "aria-pressed"], Jt = ["data-icon"], ot = /* @__PURE__ */ L({
57
+ }), Jt = ["aria-label", "aria-pressed"], Yt = ["data-icon"], rt = /* @__PURE__ */ L({
58
58
  __name: "ThemeToggle",
59
59
  setup(e) {
60
- const t = qe(), n = p(() => t.current === "dark"), o = p(() => n.value ? "sun" : "moon"), a = p(
60
+ const t = De(), n = p(() => t.current === "dark"), o = p(() => n.value ? "sun" : "moon"), a = p(
61
61
  () => n.value ? "Переключить на светлую тему" : "Переключить на тёмную тему"
62
62
  );
63
63
  async function l() {
@@ -74,10 +74,10 @@ const qe = ee("admin-theme", () => {
74
74
  d("span", {
75
75
  class: "admin-topbar__icon",
76
76
  "data-icon": o.value
77
- }, null, 8, Jt)
78
- ], 8, Xt));
77
+ }, null, 8, Yt)
78
+ ], 8, Jt));
79
79
  }
80
- }), De = ee("admin-locale", () => {
80
+ }), Oe = ee("admin-locale", () => {
81
81
  const e = E("ru"), t = E(["ru", "en"]);
82
82
  function n(i) {
83
83
  e.value = i.locale, t.value = i.availableLocales, l(i.locale);
@@ -112,21 +112,21 @@ const qe = ee("admin-theme", () => {
112
112
  applyLocal: o,
113
113
  setLocale: a
114
114
  };
115
- }), Yt = {
115
+ }), Qt = {
116
116
  type: "button",
117
117
  class: "admin-topbar__icon-btn",
118
118
  style: { width: "auto", padding: "0 8px", gap: "4px", "font-size": "12px" },
119
119
  "aria-label": "Сменить локаль"
120
- }, rt = /* @__PURE__ */ L({
120
+ }, ut = /* @__PURE__ */ L({
121
121
  __name: "LocaleSwitcher",
122
122
  setup(e) {
123
- const t = De();
123
+ const t = Oe();
124
124
  async function n(o) {
125
125
  o !== t.current && await t.setLocale(o);
126
126
  }
127
- return (o, a) => (s(), w(r(nt), null, {
127
+ return (o, a) => (s(), w(r(at), null, {
128
128
  trigger: m(() => [
129
- d("button", Yt, [
129
+ d("button", Qt, [
130
130
  a[0] || (a[0] = d("span", {
131
131
  class: "admin-topbar__icon",
132
132
  "data-icon": "globe"
@@ -135,7 +135,7 @@ const qe = ee("admin-theme", () => {
135
135
  ])
136
136
  ]),
137
137
  default: m(() => [
138
- (s(!0), c(T, null, I(r(t).available, (l) => (s(), w(r(Ne), {
138
+ (s(!0), c(T, null, I(r(t).available, (l) => (s(), w(r(Ie), {
139
139
  key: l,
140
140
  onClick: (i) => n(l)
141
141
  }, {
@@ -148,7 +148,7 @@ const qe = ee("admin-theme", () => {
148
148
  _: 1
149
149
  }));
150
150
  }
151
- }), Oe = ee("admin-notifications", () => {
151
+ }), We = ee("admin-notifications", () => {
152
152
  const e = E([]), t = E(0), n = E(!1), o = E("all"), a = E(null), l = p(() => t.value > 0);
153
153
  function i(R) {
154
154
  t.value = R.unread_notifications_count;
@@ -207,14 +207,14 @@ const qe = ee("admin-theme", () => {
207
207
  markAllAsRead: b,
208
208
  destroy: S
209
209
  };
210
- }), Qt = ["title"], Zt = /* @__PURE__ */ L({
210
+ }), Zt = ["title"], en = /* @__PURE__ */ L({
211
211
  __name: "NotificationBell",
212
212
  setup(e) {
213
- const t = Oe(), n = p(() => {
213
+ const t = We(), n = p(() => {
214
214
  const o = t.unreadCount;
215
215
  return o <= 0 ? null : o > 99 ? "99+" : String(o);
216
216
  });
217
- return (o, a) => (s(), w(r(xt), {
217
+ return (o, a) => (s(), w(r(Ct), {
218
218
  to: "/notifications",
219
219
  class: "admin-topbar__icon-btn",
220
220
  "aria-label": "Уведомления"
@@ -228,7 +228,7 @@ const qe = ee("admin-theme", () => {
228
228
  key: 0,
229
229
  class: "admin-topbar__bell-badge",
230
230
  title: `Непрочитанных: ${r(t).unreadCount}`
231
- }, h(n.value), 9, Qt)) : F("", !0)
231
+ }, h(n.value), 9, Zt)) : F("", !0)
232
232
  ]),
233
233
  _: 1
234
234
  }));
@@ -242,17 +242,17 @@ class Q extends Error {
242
242
  super(n.message ?? `API error ${t}`), this.name = "ApiError", this.status = t, this.errorKey = n.errorKey ?? "unknown", this.payload = n;
243
243
  }
244
244
  }
245
- class ut extends Q {
245
+ class dt extends Q {
246
246
  constructor(t) {
247
247
  super(401, t), this.name = "UnauthenticatedError";
248
248
  }
249
249
  }
250
- class en extends Q {
250
+ class tn extends Q {
251
251
  constructor(t) {
252
252
  super(403, t), this.name = "ForbiddenError";
253
253
  }
254
254
  }
255
- class tn extends Q {
255
+ class nn extends Q {
256
256
  constructor(t) {
257
257
  super(404, t), this.name = "NotFoundError";
258
258
  }
@@ -276,14 +276,14 @@ class Ue extends Error {
276
276
  super(t), this.name = "NetworkError";
277
277
  }
278
278
  }
279
- function je(e, t) {
279
+ function Ke(e, t) {
280
280
  switch (e) {
281
281
  case 401:
282
- return new ut(t);
282
+ return new dt(t);
283
283
  case 403:
284
- return new en(t);
285
- case 404:
286
284
  return new tn(t);
285
+ case 404:
286
+ return new nn(t);
287
287
  case 422:
288
288
  return new Re(t);
289
289
  default:
@@ -375,13 +375,13 @@ const X = ee("admin-auth", () => {
375
375
  cancelChallenge: R,
376
376
  logout: A
377
377
  };
378
- }), nn = {
378
+ }), an = {
379
379
  type: "button",
380
380
  class: "admin-topbar__icon-btn admin-user-menu__trigger",
381
381
  "aria-label": "Меню пользователя",
382
382
  "aria-haspopup": "menu",
383
383
  style: { width: "auto", padding: "0 4px", gap: "8px" }
384
- }, an = /* @__PURE__ */ L({
384
+ }, ln = /* @__PURE__ */ L({
385
385
  __name: "UserMenu",
386
386
  setup(e) {
387
387
  const t = X(), n = ne();
@@ -395,10 +395,10 @@ const X = ee("admin-auth", () => {
395
395
  function a() {
396
396
  n.push({ name: "admin.profile" });
397
397
  }
398
- return (l, i) => (s(), w(r(nt), null, {
398
+ return (l, i) => (s(), w(r(at), null, {
399
399
  trigger: m(() => [
400
- d("button", nn, [
401
- x(r(at), {
400
+ d("button", an, [
401
+ x(r(lt), {
402
402
  src: r(t).user?.avatar ?? void 0,
403
403
  name: r(t).user?.name ?? "?",
404
404
  alt: r(t).user?.name ?? "User",
@@ -407,14 +407,14 @@ const X = ee("admin-auth", () => {
407
407
  ])
408
408
  ]),
409
409
  default: m(() => [
410
- x(r(Ne), { onClick: a }, {
410
+ x(r(Ie), { onClick: a }, {
411
411
  default: m(() => [...i[0] || (i[0] = [
412
412
  C("Профиль", -1)
413
413
  ])]),
414
414
  _: 1
415
415
  }),
416
- x(r(St)),
417
- x(r(Ne), {
416
+ x(r(At)),
417
+ x(r(Ie), {
418
418
  variant: "danger",
419
419
  onClick: o
420
420
  }, {
@@ -427,10 +427,10 @@ const X = ee("admin-auth", () => {
427
427
  _: 1
428
428
  }));
429
429
  }
430
- }), ln = { class: "admin-topbar" }, sn = { class: "admin-topbar__breadcrumbs" }, on = {
430
+ }), sn = { class: "admin-topbar" }, on = { class: "admin-topbar__breadcrumbs" }, rn = {
431
431
  key: 0,
432
432
  class: "sep"
433
- }, rn = /* @__PURE__ */ L({
433
+ }, un = /* @__PURE__ */ L({
434
434
  __name: "AdminTopBar",
435
435
  props: {
436
436
  breadcrumbs: { default: () => [] },
@@ -439,7 +439,7 @@ const X = ee("admin-auth", () => {
439
439
  emits: ["toggle-sidebar"],
440
440
  setup(e, { emit: t }) {
441
441
  const n = e, o = t, a = p(() => n.breadcrumbs.length - 1);
442
- return (l, i) => (s(), c("header", ln, [
442
+ return (l, i) => (s(), c("header", sn, [
443
443
  e.showCollapseToggle ? (s(), c("button", {
444
444
  key: 0,
445
445
  type: "button",
@@ -452,10 +452,10 @@ const X = ee("admin-auth", () => {
452
452
  "data-icon": "panel-left"
453
453
  }, null, -1)
454
454
  ])])) : F("", !0),
455
- d("div", sn, [
455
+ d("div", on, [
456
456
  H(l.$slots, "breadcrumbs", {}, () => [
457
457
  (s(!0), c(T, null, I(e.breadcrumbs, (u, f) => (s(), c(T, { key: f }, [
458
- f > 0 ? (s(), c("span", on, "›")) : F("", !0),
458
+ f > 0 ? (s(), c("span", rn, "›")) : F("", !0),
459
459
  (s(), w(oe(u.to ? "a" : "span"), {
460
460
  href: typeof u.to == "string" ? u.to : void 0,
461
461
  class: J(f === a.value ? "cur" : "")
@@ -484,13 +484,13 @@ const X = ee("admin-auth", () => {
484
484
  ], -1))
485
485
  ]),
486
486
  H(l.$slots, "actions"),
487
- x(Zt),
488
- x(ot),
487
+ x(en),
489
488
  x(rt),
490
- x(an)
489
+ x(ut),
490
+ x(ln)
491
491
  ]));
492
492
  }
493
- }), un = ee("admin-menu", () => {
493
+ }), dn = ee("admin-menu", () => {
494
494
  const e = E([]), t = E(!1), n = E(null), o = E(!1), a = p(() => {
495
495
  const v = X(), b = (S) => {
496
496
  if (Array.isArray(S.permissions) && S.permissions.length > 0 && !v.hasAnyPermission(S.permissions))
@@ -542,16 +542,16 @@ const X = ee("admin-auth", () => {
542
542
  setItems: u,
543
543
  reset: f
544
544
  };
545
- }), dn = { class: "admin-sidebar-brand" }, cn = { class: "admin-sidebar-brand__mark" }, mn = {
545
+ }), cn = { class: "admin-sidebar-brand" }, mn = { class: "admin-sidebar-brand__mark" }, fn = {
546
546
  key: 0,
547
547
  class: "admin-sidebar-brand__name"
548
- }, fn = {
548
+ }, vn = {
549
549
  key: 0,
550
550
  class: "admin-sidebar-tenant"
551
- }, vn = { class: "admin-sidebar-foot" }, pn = {
551
+ }, pn = { class: "admin-sidebar-foot" }, gn = {
552
552
  key: 0,
553
553
  class: "admin-sidebar-foot__text"
554
- }, gn = ["href"], hn = /* @__PURE__ */ L({
554
+ }, hn = ["href"], _n = /* @__PURE__ */ L({
555
555
  __name: "AdminSidebar",
556
556
  props: {
557
557
  collapsed: { type: Boolean, default: !1 },
@@ -562,41 +562,41 @@ const X = ee("admin-auth", () => {
562
562
  docsUrl: { default: null }
563
563
  },
564
564
  setup(e) {
565
- const t = un(), n = pe(), o = p(() => t.groupedItems);
565
+ const t = dn(), n = pe(), o = p(() => t.groupedItems);
566
566
  function a(u) {
567
567
  return !!(u.routeName && n.name === u.routeName || u.url && n.path === u.url);
568
568
  }
569
569
  function l(u) {
570
570
  if (u)
571
- return () => ht("span", { class: "admin-sidebar__icon", "data-icon": u });
571
+ return () => _t("span", { class: "admin-sidebar__icon", "data-icon": u });
572
572
  }
573
573
  function i(u) {
574
574
  if (u.routeName) return { name: u.routeName };
575
575
  if (u.url) return u.url;
576
576
  }
577
- return (u, f) => (s(), w(r(At), { collapsed: e.collapsed }, Me({
577
+ return (u, f) => (s(), w(r(Rt), { collapsed: e.collapsed }, Ne({
578
578
  header: m(() => [
579
- d("div", dn, [
580
- d("div", cn, h(e.brandMark), 1),
581
- e.collapsed ? F("", !0) : (s(), c("div", mn, h(e.brandName), 1))
579
+ d("div", cn, [
580
+ d("div", mn, h(e.brandMark), 1),
581
+ e.collapsed ? F("", !0) : (s(), c("div", fn, h(e.brandName), 1))
582
582
  ]),
583
- e.tenant && !e.collapsed ? (s(), c("div", fn, [
583
+ e.tenant && !e.collapsed ? (s(), c("div", vn, [
584
584
  d("span", null, h(e.tenant.label), 1),
585
585
  d("b", null, h(e.tenant.name), 1)
586
586
  ])) : F("", !0)
587
587
  ]),
588
588
  nav: m(() => [
589
- (s(!0), c(T, null, I(o.value, (v, b) => (s(), w(r(Rt), {
589
+ (s(!0), c(T, null, I(o.value, (v, b) => (s(), w(r(Ut), {
590
590
  key: `grp-${b}`,
591
591
  title: v.group ?? void 0
592
592
  }, {
593
593
  default: m(() => [
594
- (s(!0), c(T, null, I(v.items, (S) => (s(), w(r(Ut), {
594
+ (s(!0), c(T, null, I(v.items, (S) => (s(), w(r(Et), {
595
595
  key: S.key,
596
596
  to: i(S),
597
597
  active: a(S),
598
598
  badge: S.badge ?? void 0
599
- }, Me({
599
+ }, Ne({
600
600
  default: m(() => [
601
601
  C(" " + h(S.label), 1)
602
602
  ]),
@@ -619,24 +619,24 @@ const X = ee("admin-auth", () => {
619
619
  e.version || e.docsUrl ? {
620
620
  name: "footer",
621
621
  fn: m(() => [
622
- d("div", vn, [
623
- e.version ? (s(), c("span", pn, h(e.version), 1)) : F("", !0),
622
+ d("div", pn, [
623
+ e.version ? (s(), c("span", gn, h(e.version), 1)) : F("", !0),
624
624
  e.docsUrl ? (s(), c("a", {
625
625
  key: 1,
626
626
  href: e.docsUrl,
627
627
  class: "admin-sidebar-foot__text admin-sidebar-foot__link"
628
- }, " Docs ", 8, gn)) : F("", !0)
628
+ }, " Docs ", 8, hn)) : F("", !0)
629
629
  ])
630
630
  ]),
631
631
  key: "0"
632
632
  } : void 0
633
633
  ]), 1032, ["collapsed"]));
634
634
  }
635
- }), _n = { class: "admin-shell-root" }, yn = {
635
+ }), yn = { class: "admin-shell-root" }, bn = {
636
636
  key: 0,
637
637
  class: "admin-impersonation-banner",
638
638
  role: "status"
639
- }, Pe = "data-admin-impersonating", bn = /* @__PURE__ */ L({
639
+ }, Te = "data-admin-impersonating", kn = /* @__PURE__ */ L({
640
640
  __name: "AdminShell",
641
641
  props: {
642
642
  collapsed: { type: Boolean, default: !1 },
@@ -654,13 +654,13 @@ const X = ee("admin-auth", () => {
654
654
  return Z(
655
655
  () => n.impersonation,
656
656
  (i) => {
657
- typeof document > "u" || (i !== null ? document.documentElement.setAttribute(Pe, "true") : document.documentElement.removeAttribute(Pe));
657
+ typeof document > "u" || (i !== null ? document.documentElement.setAttribute(Te, "true") : document.documentElement.removeAttribute(Te));
658
658
  },
659
659
  { immediate: !0 }
660
- ), _t(() => {
661
- typeof document < "u" && document.documentElement.removeAttribute(Pe);
662
- }), (i, u) => (s(), c("div", _n, [
663
- e.impersonation ? (s(), c("div", yn, [
660
+ ), yt(() => {
661
+ typeof document < "u" && document.documentElement.removeAttribute(Te);
662
+ }), (i, u) => (s(), c("div", yn, [
663
+ e.impersonation ? (s(), c("div", bn, [
664
664
  d("span", null, [
665
665
  u[1] || (u[1] = C(" Вы вошли как ", -1)),
666
666
  d("b", null, h(e.impersonation.asName), 1),
@@ -672,18 +672,18 @@ const X = ee("admin-auth", () => {
672
672
  onClick: l
673
673
  }, " Выйти из режима ")
674
674
  ])) : F("", !0),
675
- x(r(Et), {
675
+ x(r(Ft), {
676
676
  "model-value": e.collapsed,
677
677
  "onUpdate:modelValue": a
678
678
  }, {
679
679
  sidebar: m(() => [
680
680
  H(i.$slots, "sidebar", {}, () => [
681
- x(hn, { collapsed: e.collapsed }, null, 8, ["collapsed"])
681
+ x(_n, { collapsed: e.collapsed }, null, 8, ["collapsed"])
682
682
  ])
683
683
  ]),
684
684
  header: m(() => [
685
685
  H(i.$slots, "topbar", {}, () => [
686
- x(rn, {
686
+ x(un, {
687
687
  onToggleSidebar: u[0] || (u[0] = (f) => a(!e.collapsed))
688
688
  })
689
689
  ])
@@ -695,13 +695,13 @@ const X = ee("admin-auth", () => {
695
695
  }, 8, ["model-value"])
696
696
  ]));
697
697
  }
698
- }), kn = /* @__PURE__ */ L({
698
+ }), wn = /* @__PURE__ */ L({
699
699
  __name: "AdminApp",
700
700
  setup(e) {
701
701
  const t = pe(), n = p(() => !(t.meta?.fullscreen === !0 || t.meta?.kind === "auth" || t.name === "admin.notFound"));
702
702
  return (o, a) => {
703
- const l = Ze("router-view");
704
- return n.value ? (s(), w(bn, { key: 0 }, {
703
+ const l = et("router-view");
704
+ return n.value ? (s(), w(kn, { key: 0 }, {
705
705
  default: m(() => [
706
706
  x(l)
707
707
  ]),
@@ -755,27 +755,27 @@ const X = ee("admin-auth", () => {
755
755
  load: R,
756
756
  reset: A
757
757
  };
758
- }), wn = { class: "admin-home" }, $n = { class: "admin-home__title" }, xn = {
758
+ }), $n = { class: "admin-home" }, xn = { class: "admin-home__title" }, Cn = {
759
759
  key: 0,
760
760
  class: "admin-home__resources"
761
- }, Cn = { class: "admin-home__grid" }, Sn = ["onClick"], An = { class: "admin-home__card-label" }, Rn = { class: "admin-home__card-slug" }, Un = /* @__PURE__ */ L({
761
+ }, Sn = { class: "admin-home__grid" }, An = ["onClick"], Rn = { class: "admin-home__card-label" }, Un = { class: "admin-home__card-slug" }, En = /* @__PURE__ */ L({
762
762
  __name: "HomePage",
763
763
  setup(e) {
764
764
  const t = ae(), n = X(), o = ne(), a = p(() => n.user?.name ?? ""), l = p(() => t.manifest?.resources ?? []);
765
- return (i, u) => (s(), c("div", wn, [
765
+ return (i, u) => (s(), c("div", $n, [
766
766
  x(r(q), {
767
767
  padding: "lg",
768
768
  class: "admin-home__hero"
769
769
  }, {
770
770
  default: m(() => [
771
- d("h1", $n, "Добро пожаловать" + h(a.value ? ", " + a.value : ""), 1),
771
+ d("h1", xn, "Добро пожаловать" + h(a.value ? ", " + a.value : ""), 1),
772
772
  u[0] || (u[0] = d("p", { class: "admin-home__lead" }, " Админ-панель готова. Воспользуйтесь сайдбаром или переходите к ресурсам ниже. ", -1))
773
773
  ]),
774
774
  _: 1
775
775
  }),
776
- l.value.length ? (s(), c("section", xn, [
776
+ l.value.length ? (s(), c("section", Cn, [
777
777
  u[1] || (u[1] = d("h2", { class: "admin-home__heading" }, "Ресурсы", -1)),
778
- d("ul", Cn, [
778
+ d("ul", Sn, [
779
779
  (s(!0), c(T, null, I(l.value, (f) => (s(), c("li", {
780
780
  key: f.slug
781
781
  }, [
@@ -784,19 +784,19 @@ const X = ee("admin-auth", () => {
784
784
  class: "admin-home__card",
785
785
  onClick: (v) => r(o).push({ name: `admin.resource.${f.slug}.index` })
786
786
  }, [
787
- d("span", An, h(f.label), 1),
788
- d("span", Rn, h(f.slug), 1)
789
- ], 8, Sn)
787
+ d("span", Rn, h(f.label), 1),
788
+ d("span", Un, h(f.slug), 1)
789
+ ], 8, An)
790
790
  ]))), 128))
791
791
  ])
792
792
  ])) : F("", !0)
793
793
  ]));
794
794
  }
795
- }), En = { class: "admin-status-page" }, Fn = /* @__PURE__ */ L({
795
+ }), Fn = { class: "admin-status-page" }, Ln = /* @__PURE__ */ L({
796
796
  __name: "ForbiddenPage",
797
797
  setup(e) {
798
798
  const t = ne();
799
- return (n, o) => (s(), c("div", En, [
799
+ return (n, o) => (s(), c("div", Fn, [
800
800
  x(r(q), {
801
801
  padding: "lg",
802
802
  class: "admin-status-page__card"
@@ -818,11 +818,11 @@ const X = ee("admin-auth", () => {
818
818
  })
819
819
  ]));
820
820
  }
821
- }), Ln = { class: "admin-status-page" }, Pn = /* @__PURE__ */ L({
821
+ }), Pn = { class: "admin-status-page" }, Tn = /* @__PURE__ */ L({
822
822
  __name: "NotFoundPage",
823
823
  setup(e) {
824
824
  const t = ne();
825
- return (n, o) => (s(), c("div", Ln, [
825
+ return (n, o) => (s(), c("div", Pn, [
826
826
  x(r(q), {
827
827
  padding: "lg",
828
828
  class: "admin-status-page__card"
@@ -844,38 +844,38 @@ const X = ee("admin-auth", () => {
844
844
  })
845
845
  ]));
846
846
  }
847
- }), Tn = { class: "admin-settings-page" }, Mn = { class: "admin-settings-page__title" }, Nn = {
847
+ }), Mn = { class: "admin-settings-page" }, Nn = { class: "admin-settings-page__title" }, In = {
848
848
  key: 0,
849
849
  class: "admin-settings-page__hint"
850
- }, In = {
850
+ }, Bn = {
851
851
  key: 1,
852
852
  class: "admin-settings-page__debug"
853
- }, Bn = /* @__PURE__ */ L({
853
+ }, Vn = /* @__PURE__ */ L({
854
854
  __name: "SettingsPage",
855
855
  setup(e) {
856
856
  const t = pe(), n = ae(), o = p(() => String(t.params.slug ?? "")), a = p(() => n.manifest?.settings?.find((l) => l.slug === o.value) ?? null);
857
- return (l, i) => (s(), c("div", Tn, [
857
+ return (l, i) => (s(), c("div", Mn, [
858
858
  x(r(q), { padding: "lg" }, {
859
859
  default: m(() => [
860
- d("h1", Mn, h(a.value?.label ?? o.value), 1),
861
- a.value ? (s(), c("pre", In, h(JSON.stringify(a.value.fields, null, 2)), 1)) : (s(), c("p", Nn, " Settings «" + h(o.value) + "» не найдено в manifest'е. ", 1))
860
+ d("h1", Nn, h(a.value?.label ?? o.value), 1),
861
+ a.value ? (s(), c("pre", Bn, h(JSON.stringify(a.value.fields, null, 2)), 1)) : (s(), c("p", In, " Settings «" + h(o.value) + "» не найдено в manifest'е. ", 1))
862
862
  ]),
863
863
  _: 1
864
864
  })
865
865
  ]));
866
866
  }
867
- }), Vn = { class: "admin-status-page" }, zn = { class: "admin-status-page__title" }, qn = { class: "admin-status-page__hint" }, Dn = /* @__PURE__ */ L({
867
+ }), zn = { class: "admin-status-page" }, qn = { class: "admin-status-page__title" }, Dn = { class: "admin-status-page__hint" }, On = /* @__PURE__ */ L({
868
868
  __name: "UnknownScreenPage",
869
869
  setup(e) {
870
870
  const t = pe(), n = p(() => String(t.params.slug ?? "")), o = p(() => String(t.meta?.title ?? n.value));
871
- return (a, l) => (s(), c("div", Vn, [
871
+ return (a, l) => (s(), c("div", zn, [
872
872
  x(r(q), {
873
873
  padding: "lg",
874
874
  class: "admin-status-page__card"
875
875
  }, {
876
876
  default: m(() => [
877
- d("h1", zn, h(o.value), 1),
878
- d("p", qn, [
877
+ d("h1", qn, h(o.value), 1),
878
+ d("p", Dn, [
879
879
  C(" Это заглушка для screen «" + h(n.value) + "». Передайте свой компонент через ", 1),
880
880
  l[0] || (l[0] = d("code", null, "createAdminApp(" + h("{") + " pages: " + h("{") + " screen: MyScreen " + h("}") + " " + h("}") + ")", -1)),
881
881
  l[1] || (l[1] = C(". ", -1))
@@ -885,10 +885,10 @@ const X = ee("admin-auth", () => {
885
885
  })
886
886
  ]));
887
887
  }
888
- }), On = { class: "admin-auth-card__row" }, Wn = ["href"], jn = {
888
+ }), Wn = { class: "admin-auth-card__row" }, jn = ["href"], Kn = {
889
889
  key: 1,
890
890
  style: { "text-align": "center", "font-size": "var(--uid-font-size-xs)", color: "var(--uid-text-secondary)", "padding-top": "4px" }
891
- }, Kn = ["href"], Gn = /* @__PURE__ */ L({
891
+ }, Gn = ["href"], Hn = /* @__PURE__ */ L({
892
892
  __name: "LoginForm",
893
893
  props: {
894
894
  forgotUrl: { default: null },
@@ -918,7 +918,7 @@ const X = ee("admin-auth", () => {
918
918
  return (A, _) => (s(), c("form", {
919
919
  class: "admin-auth-card__bd",
920
920
  novalidate: "",
921
- onSubmit: Ie(R, ["prevent"])
921
+ onSubmit: Be(R, ["prevent"])
922
922
  }, [
923
923
  f.value ? (s(), w(r(Y), {
924
924
  key: 0,
@@ -954,7 +954,7 @@ const X = ee("admin-auth", () => {
954
954
  error: S.value,
955
955
  name: "password"
956
956
  }, null, 8, ["modelValue", "disabled", "error"]),
957
- d("div", On, [
957
+ d("div", Wn, [
958
958
  x(r(we), {
959
959
  modelValue: i.value,
960
960
  "onUpdate:modelValue": _[2] || (_[2] = (g) => i.value = g),
@@ -969,7 +969,7 @@ const X = ee("admin-auth", () => {
969
969
  key: 0,
970
970
  href: e.forgotUrl,
971
971
  class: "admin-auth-card__link"
972
- }, " Забыли пароль? ", 8, Wn)) : F("", !0)
972
+ }, " Забыли пароль? ", 8, jn)) : F("", !0)
973
973
  ]),
974
974
  x(r(B), {
975
975
  type: "submit",
@@ -983,16 +983,16 @@ const X = ee("admin-auth", () => {
983
983
  ]),
984
984
  _: 1
985
985
  }, 8, ["loading", "disabled"]),
986
- e.ssoLinkLabel && e.ssoUrl ? (s(), c("div", jn, [
986
+ e.ssoLinkLabel && e.ssoUrl ? (s(), c("div", Kn, [
987
987
  _[4] || (_[4] = C(" или войдите через ", -1)),
988
988
  d("a", {
989
989
  href: e.ssoUrl,
990
990
  class: "admin-auth-card__link"
991
- }, h(e.ssoLinkLabel), 9, Kn)
991
+ }, h(e.ssoLinkLabel), 9, Gn)
992
992
  ])) : F("", !0)
993
993
  ], 32));
994
994
  }
995
- }), Hn = ["value", "disabled", "aria-label", "onInput", "onKeydown"], Xn = { class: "admin-auth-card__row" }, Jn = /* @__PURE__ */ L({
995
+ }), Xn = ["value", "disabled", "aria-label", "onInput", "onKeydown"], Jn = { class: "admin-auth-card__row" }, Yn = /* @__PURE__ */ L({
996
996
  __name: "TwoFactorForm",
997
997
  emits: ["success", "cancel"],
998
998
  setup(e, { emit: t }) {
@@ -1002,10 +1002,10 @@ const X = ee("admin-auth", () => {
1002
1002
  }
1003
1003
  function _($, V) {
1004
1004
  const j = V.target, D = j.value.replace(/\D/g, "").slice(-1);
1005
- l.value[$] = D, j.value = D, D && $ < l.value.length - 1 && Le(() => u.value[$ + 1]?.focus()), S.value.length === l.value.length && P();
1005
+ l.value[$] = D, j.value = D, D && $ < l.value.length - 1 && Pe(() => u.value[$ + 1]?.focus()), S.value.length === l.value.length && P();
1006
1006
  }
1007
1007
  function g($, V) {
1008
- V.key === "Backspace" && !l.value[$] && $ > 0 ? Le(() => u.value[$ - 1]?.focus()) : V.key === "ArrowLeft" && $ > 0 ? (u.value[$ - 1]?.focus(), V.preventDefault()) : V.key === "ArrowRight" && $ < l.value.length - 1 && (u.value[$ + 1]?.focus(), V.preventDefault());
1008
+ V.key === "Backspace" && !l.value[$] && $ > 0 ? Pe(() => u.value[$ - 1]?.focus()) : V.key === "ArrowLeft" && $ > 0 ? (u.value[$ - 1]?.focus(), V.preventDefault()) : V.key === "ArrowRight" && $ < l.value.length - 1 && (u.value[$ + 1]?.focus(), V.preventDefault());
1009
1009
  }
1010
1010
  function U($) {
1011
1011
  const j = ($.clipboardData?.getData("text") ?? "").replace(/\D/g, "").slice(0, l.value.length);
@@ -1013,7 +1013,7 @@ const X = ee("admin-auth", () => {
1013
1013
  $.preventDefault();
1014
1014
  for (let D = 0; D < l.value.length; D++)
1015
1015
  l.value[D] = j[D] ?? "";
1016
- Le(() => {
1016
+ Pe(() => {
1017
1017
  u.value[Math.min(j.length, l.value.length - 1)]?.focus(), j.length === l.value.length && P();
1018
1018
  });
1019
1019
  }
@@ -1045,7 +1045,7 @@ const X = ee("admin-auth", () => {
1045
1045
  return ($, V) => (s(), c("form", {
1046
1046
  class: "admin-auth-card__bd",
1047
1047
  novalidate: "",
1048
- onSubmit: Ie(P, ["prevent"])
1048
+ onSubmit: Be(P, ["prevent"])
1049
1049
  }, [
1050
1050
  v.value ? (s(), w(r(Y), {
1051
1051
  key: 0,
@@ -1087,7 +1087,7 @@ const X = ee("admin-auth", () => {
1087
1087
  "aria-label": `Цифра ${D + 1}`,
1088
1088
  onInput: (M) => _(D, M),
1089
1089
  onKeydown: (M) => g(D, M)
1090
- }, null, 40, Hn))), 128))
1090
+ }, null, 40, Xn))), 128))
1091
1091
  ], 32)) : (s(), w(r(ie), {
1092
1092
  key: 3,
1093
1093
  modelValue: i.value,
@@ -1110,7 +1110,7 @@ const X = ee("admin-auth", () => {
1110
1110
  ]),
1111
1111
  _: 1
1112
1112
  }, 8, ["loading", "disabled"]),
1113
- d("div", Xn, [
1113
+ d("div", Jn, [
1114
1114
  d("button", {
1115
1115
  type: "button",
1116
1116
  class: "admin-auth-card__link",
@@ -1130,13 +1130,13 @@ const X = ee("admin-auth", () => {
1130
1130
  ])
1131
1131
  ], 32));
1132
1132
  }
1133
- }), Yn = { class: "admin-auth-page" }, Qn = {
1133
+ }), Qn = { class: "admin-auth-page" }, Zn = {
1134
1134
  key: 0,
1135
1135
  class: "admin-auth-page__corner"
1136
- }, Zn = { class: "admin-auth-card__hd" }, ea = ["src", "alt"], ta = {
1136
+ }, ea = { class: "admin-auth-card__hd" }, ta = ["src", "alt"], na = {
1137
1137
  key: 1,
1138
1138
  "aria-hidden": "true"
1139
- }, na = { key: 2 }, aa = { class: "admin-auth-card__title" }, la = { class: "admin-auth-card__sub" }, sa = /* @__PURE__ */ L({
1139
+ }, aa = { key: 2 }, la = { class: "admin-auth-card__title" }, sa = { class: "admin-auth-card__sub" }, ia = /* @__PURE__ */ L({
1140
1140
  __name: "LoginPage",
1141
1141
  props: {
1142
1142
  brandName: { default: "Laravel Admin" },
@@ -1166,17 +1166,17 @@ const X = ee("admin-auth", () => {
1166
1166
  }
1167
1167
  ), xe(() => {
1168
1168
  n.isAuthenticated && l();
1169
- }), (i, u) => (s(), c("div", Yn, [
1170
- e.showCornerActions ? (s(), c("div", Qn, [
1171
- x(ot),
1172
- x(rt)
1169
+ }), (i, u) => (s(), c("div", Qn, [
1170
+ e.showCornerActions ? (s(), c("div", Zn, [
1171
+ x(rt),
1172
+ x(ut)
1173
1173
  ])) : F("", !0),
1174
1174
  x(r(q), {
1175
1175
  class: J(["admin-auth-card", r(n).isChallengePending ? "admin-auth-card--wide" : ""]),
1176
1176
  padding: "none"
1177
1177
  }, {
1178
1178
  default: m(() => [
1179
- d("div", Zn, [
1179
+ d("div", ea, [
1180
1180
  d("div", {
1181
1181
  class: J(["admin-auth-card__logo", r(n).isChallengePending ? "admin-auth-card__logo--accent" : ""])
1182
1182
  }, [
@@ -1184,16 +1184,16 @@ const X = ee("admin-auth", () => {
1184
1184
  key: 0,
1185
1185
  src: e.brandLogo,
1186
1186
  alt: e.brandName
1187
- }, null, 8, ea)) : r(n).isChallengePending ? (s(), c("span", ta, "🛡")) : (s(), c("span", na, h(e.brandMark), 1))
1187
+ }, null, 8, ta)) : r(n).isChallengePending ? (s(), c("span", na, "🛡")) : (s(), c("span", aa, h(e.brandMark), 1))
1188
1188
  ], 2),
1189
- d("div", aa, [
1189
+ d("div", la, [
1190
1190
  r(n).isChallengePending ? (s(), c(T, { key: 0 }, [
1191
1191
  C("Двухфакторная проверка")
1192
1192
  ], 64)) : (s(), c(T, { key: 1 }, [
1193
1193
  C(h(e.brandName), 1)
1194
1194
  ], 64))
1195
1195
  ]),
1196
- d("div", la, [
1196
+ d("div", sa, [
1197
1197
  r(n).isChallengePending ? (s(), c(T, { key: 0 }, [
1198
1198
  C(" Введите 6-значный код из приложения-аутентификатора ")
1199
1199
  ], 64)) : (s(), c(T, { key: 1 }, [
@@ -1201,13 +1201,13 @@ const X = ee("admin-auth", () => {
1201
1201
  ], 64))
1202
1202
  ])
1203
1203
  ]),
1204
- r(n).isChallengePending ? (s(), w(Jn, {
1204
+ r(n).isChallengePending ? (s(), w(Yn, {
1205
1205
  key: 0,
1206
1206
  onSuccess: u[0] || (u[0] = () => {
1207
1207
  }),
1208
1208
  onCancel: u[1] || (u[1] = () => {
1209
1209
  })
1210
- })) : (s(), w(Gn, {
1210
+ })) : (s(), w(Hn, {
1211
1211
  key: 1,
1212
1212
  "forgot-url": e.forgotUrl,
1213
1213
  "sso-link-label": e.ssoLinkLabel,
@@ -1220,8 +1220,8 @@ const X = ee("admin-auth", () => {
1220
1220
  }, 8, ["class"])
1221
1221
  ]));
1222
1222
  }
1223
- }), Ke = { page: 1, per_page: 20, total: 0, last_page: 1 }, ia = ee("admin-resource-index", () => {
1224
- const e = E(null), t = E([]), n = E({ ...Ke }), o = E(!1), a = E(null), l = E(""), i = E({}), u = E(null), f = E("asc"), v = E(/* @__PURE__ */ new Set()), b = p(() => !o.value && a.value === null && t.value.length === 0), S = p(() => v.value.size), R = p(() => v.value.size > 0), A = p(() => a.value !== null), _ = p(() => v.value.size === 0 || t.value.length === 0 ? "none" : t.value.every((z) => v.value.has(g(z))) ? "all" : "mixed");
1223
+ }), Ge = { page: 1, per_page: 20, total: 0, last_page: 1 }, oa = ee("admin-resource-index", () => {
1224
+ const e = E(null), t = E([]), n = E({ ...Ge }), o = E(!1), a = E(null), l = E(""), i = E({}), u = E(null), f = E("asc"), v = E(/* @__PURE__ */ new Set()), b = p(() => !o.value && a.value === null && t.value.length === 0), S = p(() => v.value.size), R = p(() => v.value.size > 0), A = p(() => a.value !== null), _ = p(() => v.value.size === 0 || t.value.length === 0 ? "none" : t.value.every((z) => v.value.has(g(z))) ? "all" : "mixed");
1225
1225
  function g(N) {
1226
1226
  return N.id ?? N.key ?? "";
1227
1227
  }
@@ -1229,27 +1229,27 @@ const X = ee("admin-auth", () => {
1229
1229
  e.value !== N && (e.value = N, P());
1230
1230
  }
1231
1231
  function P() {
1232
- t.value = [], n.value = { ...Ke }, o.value = !1, a.value = null, l.value = "", i.value = {}, u.value = null, f.value = "asc", v.value = /* @__PURE__ */ new Set();
1232
+ t.value = [], n.value = { ...Ge }, o.value = !1, a.value = null, l.value = "", i.value = {}, u.value = null, f.value = "asc", v.value = /* @__PURE__ */ new Set();
1233
1233
  }
1234
1234
  function k(N = {}) {
1235
1235
  const z = {
1236
1236
  page: N.page ?? n.value.page,
1237
1237
  per_page: N.per_page ?? n.value.per_page
1238
1238
  }, _e = N.search ?? l.value;
1239
- _e && (z.search = _e);
1239
+ _e && (z.q = _e);
1240
1240
  const fe = N.sort ?? u.value;
1241
- fe && (z.sort = fe, z.direction = N.direction ?? f.value);
1242
- const pt = N.filters ?? i.value;
1243
- for (const [gt, le] of Object.entries(pt))
1244
- le == null || le === "" || (z[`filter[${gt}]`] = Array.isArray(le) ? le.join(",") : String(le));
1245
- return z;
1241
+ fe && (z.order = [{ column: fe, direction: N.direction ?? f.value }]);
1242
+ const gt = N.filters ?? i.value, Le = {};
1243
+ for (const [ht, le] of Object.entries(gt))
1244
+ le == null || le === "" || (Le[ht] = Array.isArray(le) ? le.join(",") : le);
1245
+ return Object.keys(Le).length > 0 && (z.filters = Le), z;
1246
1246
  }
1247
1247
  async function y(N = {}) {
1248
1248
  if (!e.value)
1249
1249
  throw new Error("useResourceIndexStore.load() called before setSlug()");
1250
1250
  o.value = !0, a.value = null;
1251
1251
  try {
1252
- const z = W(), _e = k(N), fe = await z.get(`/resources/${e.value}/list`, { params: _e });
1252
+ const z = W(), _e = k(N), fe = await z.post(`/${e.value}/search`, _e);
1253
1253
  t.value = fe.data, n.value = fe.meta;
1254
1254
  } catch (z) {
1255
1255
  throw a.value = z instanceof Error ? z : new Error(String(z)), z;
@@ -1291,7 +1291,7 @@ const X = ee("admin-auth", () => {
1291
1291
  function te() {
1292
1292
  v.value = /* @__PURE__ */ new Set();
1293
1293
  }
1294
- function vt(N) {
1294
+ function pt(N) {
1295
1295
  return v.value.has(N);
1296
1296
  }
1297
1297
  return {
@@ -1325,29 +1325,29 @@ const X = ee("admin-auth", () => {
1325
1325
  toggleRow: G,
1326
1326
  toggleAllOnPage: K,
1327
1327
  clearSelection: te,
1328
- isSelected: vt,
1328
+ isSelected: pt,
1329
1329
  rowId: g
1330
1330
  };
1331
- }), oa = { class: "admin-page admin-resource-index" }, ra = { class: "admin-page__hd" }, ua = { class: "admin-page__title-wrap" }, da = { class: "admin-page__title" }, ca = {
1331
+ }), ra = { class: "admin-page admin-resource-index" }, ua = { class: "admin-page__hd" }, da = { class: "admin-page__title-wrap" }, ca = { class: "admin-page__title" }, ma = {
1332
1332
  key: 0,
1333
1333
  class: "admin-page__count"
1334
- }, ma = { class: "admin-page__actions" }, fa = {
1334
+ }, fa = { class: "admin-page__actions" }, va = {
1335
1335
  key: 0,
1336
1336
  class: "admin-bulk-toolbar",
1337
1337
  role: "toolbar"
1338
- }, va = { class: "admin-bulk-toolbar__count" }, pa = {
1338
+ }, pa = { class: "admin-bulk-toolbar__count" }, ga = {
1339
1339
  key: 1,
1340
1340
  class: "admin-filter-bar"
1341
- }, ga = ["value"], ha = {
1341
+ }, ha = ["value"], _a = {
1342
1342
  key: 2,
1343
1343
  class: "admin-resource-index__loading"
1344
- }, _a = {
1344
+ }, ya = {
1345
1345
  key: 5,
1346
1346
  class: "admin-resource-index__table"
1347
- }, ya = { class: "admin-resource-index__select-header" }, ba = { class: "admin-resource-index__select-overlay" }, ka = ["onClick"], wa = {
1347
+ }, ba = { class: "admin-resource-index__select-header" }, ka = { class: "admin-resource-index__select-overlay" }, wa = ["onClick"], $a = {
1348
1348
  key: 6,
1349
1349
  class: "admin-resource-index__footer"
1350
- }, $a = /* @__PURE__ */ L({
1350
+ }, xa = /* @__PURE__ */ L({
1351
1351
  __name: "ResourceIndexPage",
1352
1352
  props: {
1353
1353
  slug: {},
@@ -1358,7 +1358,7 @@ const X = ee("admin-auth", () => {
1358
1358
  },
1359
1359
  emits: ["bulk-action", "row-click"],
1360
1360
  setup(e, { emit: t }) {
1361
- const n = e, o = t, a = ia(), l = ae(), i = p(() => l.getResource(n.slug)), u = p(
1361
+ const n = e, o = t, a = oa(), l = ae(), i = p(() => l.getResource(n.slug)), u = p(
1362
1362
  () => n.title ?? i.value?.label ?? n.slug
1363
1363
  ), f = p(() => (i.value?.columns ?? []).map((k) => {
1364
1364
  const y = k;
@@ -1406,11 +1406,11 @@ const X = ee("admin-auth", () => {
1406
1406
  await a.load().catch(() => {
1407
1407
  });
1408
1408
  }
1409
- return (P, k) => (s(), c("section", oa, [
1410
- d("header", ra, [
1411
- d("div", ua, [
1412
- d("h1", da, h(u.value), 1),
1413
- e.subtitle || v.value ? (s(), c("div", ca, [
1409
+ return (P, k) => (s(), c("section", ra, [
1410
+ d("header", ua, [
1411
+ d("div", da, [
1412
+ d("h1", ca, h(u.value), 1),
1413
+ e.subtitle || v.value ? (s(), c("div", ma, [
1414
1414
  e.subtitle ? (s(), c(T, { key: 0 }, [
1415
1415
  C(h(e.subtitle), 1)
1416
1416
  ], 64)) : F("", !0),
@@ -1422,7 +1422,7 @@ const X = ee("admin-auth", () => {
1422
1422
  ], 64)) : F("", !0)
1423
1423
  ])) : F("", !0)
1424
1424
  ]),
1425
- d("div", ma, [
1425
+ d("div", fa, [
1426
1426
  H(P.$slots, "actions"),
1427
1427
  e.createRouteName ? (s(), w(r(B), {
1428
1428
  key: 0,
@@ -1436,8 +1436,8 @@ const X = ee("admin-auth", () => {
1436
1436
  })) : F("", !0)
1437
1437
  ])
1438
1438
  ]),
1439
- r(a).hasSelection ? (s(), c("div", fa, [
1440
- d("span", va, [
1439
+ r(a).hasSelection ? (s(), c("div", va, [
1440
+ d("span", pa, [
1441
1441
  k[8] || (k[8] = C(" Выбрано ", -1)),
1442
1442
  d("b", null, h(r(a).selectedCount), 1)
1443
1443
  ]),
@@ -1493,14 +1493,14 @@ const X = ee("admin-auth", () => {
1493
1493
  ])]),
1494
1494
  _: 1
1495
1495
  }, 8, ["onClick"])
1496
- ])) : (s(), c("div", pa, [
1496
+ ])) : (s(), c("div", ga, [
1497
1497
  d("input", {
1498
1498
  value: r(a).search,
1499
1499
  type: "search",
1500
1500
  placeholder: "Поиск…",
1501
1501
  class: "admin-filter-bar__search",
1502
- onKeydown: k[5] || (k[5] = yt((y) => r(a).setSearch(y.target.value), ["enter"]))
1503
- }, null, 40, ga),
1502
+ onKeydown: k[5] || (k[5] = bt((y) => r(a).setSearch(y.target.value), ["enter"]))
1503
+ }, null, 40, ha),
1504
1504
  H(P.$slots, "filters", {
1505
1505
  filters: r(a).filters,
1506
1506
  setFilter: r(a).setFilter
@@ -1518,12 +1518,12 @@ const X = ee("admin-auth", () => {
1518
1518
  _: 1
1519
1519
  }, 8, ["onClick"])) : F("", !0)
1520
1520
  ])),
1521
- r(a).loading ? (s(), c("div", ha, [
1522
- (s(), c(T, null, I(8, (y) => x(r(Be), {
1521
+ r(a).loading ? (s(), c("div", _a, [
1522
+ (s(), c(T, null, I(8, (y) => x(r(Ve), {
1523
1523
  key: y,
1524
1524
  height: "40px"
1525
1525
  })), 64))
1526
- ])) : r(a).hasError ? (s(), w(r(Ft), {
1526
+ ])) : r(a).hasError ? (s(), w(r(Lt), {
1527
1527
  key: 3,
1528
1528
  title: "Не удалось загрузить данные",
1529
1529
  description: r(a).error?.message ?? "Попробуйте обновить страницу.",
@@ -1541,7 +1541,7 @@ const X = ee("admin-auth", () => {
1541
1541
  })
1542
1542
  ]),
1543
1543
  _: 1
1544
- }, 8, ["description"])) : r(a).isEmpty ? (s(), w(r(Lt), {
1544
+ }, 8, ["description"])) : r(a).isEmpty ? (s(), w(r(Pt), {
1545
1545
  key: 4,
1546
1546
  title: "Пока пусто",
1547
1547
  description: "Создайте первую запись или измените фильтры.",
@@ -1560,8 +1560,8 @@ const X = ee("admin-auth", () => {
1560
1560
  })) : F("", !0)
1561
1561
  ]),
1562
1562
  _: 1
1563
- })) : (s(), c("div", _a, [
1564
- d("div", ya, [
1563
+ })) : (s(), c("div", ya, [
1564
+ d("div", ba, [
1565
1565
  x(r(we), {
1566
1566
  "model-value": r(a).selectionState === "all",
1567
1567
  indeterminate: r(a).selectionState === "mixed",
@@ -1569,13 +1569,13 @@ const X = ee("admin-auth", () => {
1569
1569
  "onUpdate:modelValue": R
1570
1570
  }, null, 8, ["model-value", "indeterminate"])
1571
1571
  ]),
1572
- x(r(Ve), {
1572
+ x(r(ze), {
1573
1573
  columns: f.value,
1574
1574
  data: r(a).items,
1575
1575
  "sort-key": r(a).sortKey ?? "",
1576
1576
  "sort-direction": r(a).sortDirection,
1577
1577
  "onUpdate:sortKey": b
1578
- }, Me({ _: 2 }, [
1578
+ }, Ne({ _: 2 }, [
1579
1579
  I(f.value, (y) => ({
1580
1580
  name: `cell-${y.key}`,
1581
1581
  fn: m(($) => [
@@ -1585,7 +1585,7 @@ const X = ee("admin-auth", () => {
1585
1585
  ])
1586
1586
  }))
1587
1587
  ]), 1032, ["columns", "data", "sort-key", "sort-direction"]),
1588
- d("div", ba, [
1588
+ d("div", ka, [
1589
1589
  (s(!0), c(T, null, I(r(a).items, (y) => (s(), c("div", {
1590
1590
  key: String(r(a).rowId(y)),
1591
1591
  class: J([
@@ -1598,14 +1598,14 @@ const X = ee("admin-auth", () => {
1598
1598
  "model-value": r(a).isSelected(r(a).rowId(y)),
1599
1599
  "aria-label": `Строка ${r(a).rowId(y)}`,
1600
1600
  "onUpdate:modelValue": ($) => A(r(a).rowId(y)),
1601
- onClick: k[7] || (k[7] = Ie(() => {
1601
+ onClick: k[7] || (k[7] = Be(() => {
1602
1602
  }, ["stop"]))
1603
1603
  }, null, 8, ["model-value", "aria-label", "onUpdate:modelValue"])
1604
- ], 10, ka))), 128))
1604
+ ], 10, wa))), 128))
1605
1605
  ])
1606
1606
  ])),
1607
- !r(a).loading && !r(a).hasError && !r(a).isEmpty ? (s(), c("footer", wa, [
1608
- x(r(Pt), {
1607
+ !r(a).loading && !r(a).hasError && !r(a).isEmpty ? (s(), c("footer", $a, [
1608
+ x(r(Tt), {
1609
1609
  "model-value": r(a).meta.page,
1610
1610
  total: r(a).meta.total,
1611
1611
  "per-page": r(a).meta.per_page,
@@ -1614,7 +1614,7 @@ const X = ee("admin-auth", () => {
1614
1614
  ])) : F("", !0)
1615
1615
  ]));
1616
1616
  }
1617
- }), dt = ee("admin-resource-form", () => {
1617
+ }), ct = ee("admin-resource-form", () => {
1618
1618
  const e = E(null), t = E("create"), n = E(null), o = E({}), a = E({}), l = E({}), i = E(!1), u = E(!1), f = E(!1), v = E(null), b = p(() => t.value === "create"), S = p(() => t.value === "edit"), R = p(() => t.value === "view"), A = p(() => v.value !== null), _ = p(() => {
1619
1619
  const M = o.value, O = a.value, G = /* @__PURE__ */ new Set([...Object.keys(M), ...Object.keys(O)]);
1620
1620
  for (const K of G)
@@ -1638,8 +1638,8 @@ const X = ee("admin-auth", () => {
1638
1638
  async function k(M, O, G = "edit") {
1639
1639
  e.value = M, t.value = G, n.value = O, i.value = !0, v.value = null, l.value = {};
1640
1640
  try {
1641
- const te = await W().get(`/resources/${M}/read`, {
1642
- params: { "filter[id]": O }
1641
+ const te = await W().get(`/${M}/read`, {
1642
+ params: { id: O }
1643
1643
  });
1644
1644
  g(o.value, te.data), g(a.value, te.data);
1645
1645
  } catch (K) {
@@ -1665,7 +1665,7 @@ const X = ee("admin-auth", () => {
1665
1665
  if (u.value) throw new Error("Already saving");
1666
1666
  u.value = !0, v.value = null, l.value = {};
1667
1667
  try {
1668
- const M = W(), O = t.value === "create" ? `/resources/${e.value}/create` : `/resources/${e.value}/update`, G = t.value === "create" ? o.value : { id: n.value, ...o.value }, te = (await M.post(O, G)).id;
1668
+ const M = W(), O = t.value === "create" ? `/${e.value}/create` : `/${e.value}/update`, G = t.value === "create" ? o.value : { id: n.value, ...o.value }, te = (await M.post(O, G)).id;
1669
1669
  return n.value = te, g(a.value, { ...o.value }), t.value = "edit", te;
1670
1670
  } catch (M) {
1671
1671
  throw M instanceof Re ? l.value = { ...M.fields } : (M instanceof Q || M instanceof Error) && (v.value = M), M;
@@ -1679,7 +1679,7 @@ const X = ee("admin-auth", () => {
1679
1679
  if (f.value) throw new Error("Already deleting");
1680
1680
  f.value = !0, v.value = null;
1681
1681
  try {
1682
- await W().post(`/resources/${e.value}/destroy`, { id: n.value });
1682
+ await W().post(`/${e.value}/delete`, { id: n.value });
1683
1683
  } catch (M) {
1684
1684
  throw M instanceof Error && (v.value = M), M;
1685
1685
  } finally {
@@ -1739,14 +1739,14 @@ function Ee() {
1739
1739
  }
1740
1740
  };
1741
1741
  }
1742
- const ue = Ee(), de = Ee(), Bi = ue.register, ct = ue.get, Vi = ue.has, zi = ue.list, qi = de.register, Ge = de.get, Di = de.has, Oi = de.list;
1743
- function Wi() {
1742
+ const ue = Ee(), de = Ee(), Vi = ue.register, mt = ue.get, zi = ue.has, qi = ue.list, Di = de.register, He = de.get, Oi = de.has, Wi = de.list;
1743
+ function ji() {
1744
1744
  ue.clear(), de.clear();
1745
1745
  }
1746
- function xa(e) {
1746
+ function Ca(e) {
1747
1747
  e.fields && ue.registerBundle(e.fields), e.layouts && de.registerBundle(e.layouts);
1748
1748
  }
1749
- const mt = /* @__PURE__ */ L({
1749
+ const ft = /* @__PURE__ */ L({
1750
1750
  __name: "UnknownField",
1751
1751
  props: {
1752
1752
  type: {},
@@ -1768,17 +1768,17 @@ const mt = /* @__PURE__ */ L({
1768
1768
  _: 1
1769
1769
  }));
1770
1770
  }
1771
- }), ft = /* @__PURE__ */ L({
1771
+ }), vt = /* @__PURE__ */ L({
1772
1772
  __name: "FieldRenderer",
1773
1773
  props: {
1774
1774
  node: {}
1775
1775
  },
1776
1776
  setup(e) {
1777
- const t = e, n = p(() => ct(t.node.type)), o = p(() => {
1777
+ const t = e, n = p(() => mt(t.node.type)), o = p(() => {
1778
1778
  const { type: a, ...l } = t.node;
1779
1779
  return l;
1780
1780
  });
1781
- return (a, l) => n.value ? (s(), w(oe(n.value), Ce(Se({ key: 0 }, o.value)), null, 16)) : (s(), w(mt, {
1781
+ return (a, l) => n.value ? (s(), w(oe(n.value), Ce(Se({ key: 0 }, o.value)), null, 16)) : (s(), w(ft, {
1782
1782
  key: 1,
1783
1783
  type: e.node.type,
1784
1784
  name: e.node.name
@@ -1794,31 +1794,31 @@ const mt = /* @__PURE__ */ L({
1794
1794
  if (t.node.kind === "field")
1795
1795
  return { kind: "field" };
1796
1796
  if (t.node.kind === "layout") {
1797
- const i = Ge(t.node.type);
1797
+ const i = He(t.node.type);
1798
1798
  return i ? { kind: "layout", component: i } : { kind: "unknown" };
1799
1799
  }
1800
- const l = Ge(t.node.type);
1801
- return l ? { kind: "layout", component: l } : ct(t.node.type) ? { kind: "field" } : { kind: "unknown" };
1800
+ const l = He(t.node.type);
1801
+ return l ? { kind: "layout", component: l } : mt(t.node.type) ? { kind: "field" } : { kind: "unknown" };
1802
1802
  }), o = p(() => {
1803
1803
  const { type: l, kind: i, ...u } = t.node;
1804
1804
  return u;
1805
1805
  }), a = p(() => t.node);
1806
- return (l, i) => n.value.kind === "layout" && n.value.component ? (s(), w(oe(n.value.component), Ce(Se({ key: 0 }, o.value)), null, 16)) : n.value.kind === "field" ? (s(), w(ft, {
1806
+ return (l, i) => n.value.kind === "layout" && n.value.component ? (s(), w(oe(n.value.component), Ce(Se({ key: 0 }, o.value)), null, 16)) : n.value.kind === "field" ? (s(), w(vt, {
1807
1807
  key: 1,
1808
1808
  node: a.value
1809
- }, null, 8, ["node"])) : (s(), w(mt, {
1809
+ }, null, 8, ["node"])) : (s(), w(ft, {
1810
1810
  key: 2,
1811
1811
  type: e.node.type,
1812
1812
  name: e.node.name
1813
1813
  }, null, 8, ["type", "name"]));
1814
1814
  }
1815
- }), Ca = { class: "admin-page admin-resource-form" }, Sa = { class: "admin-page__hd" }, Aa = { class: "admin-page__title-wrap" }, Ra = { class: "admin-page__title" }, Ua = { class: "admin-page__actions" }, Ea = {
1815
+ }), Sa = { class: "admin-page admin-resource-form" }, Aa = { class: "admin-page__hd" }, Ra = { class: "admin-page__title-wrap" }, Ua = { class: "admin-page__title" }, Ea = { class: "admin-page__actions" }, Fa = {
1816
1816
  key: 1,
1817
1817
  class: "admin-resource-form__loading"
1818
- }, Fa = {
1818
+ }, La = {
1819
1819
  key: 3,
1820
1820
  class: "admin-resource-form__savebar"
1821
- }, He = /* @__PURE__ */ L({
1821
+ }, Xe = /* @__PURE__ */ L({
1822
1822
  __name: "ResourceFormPage",
1823
1823
  props: {
1824
1824
  slug: {},
@@ -1826,7 +1826,7 @@ const mt = /* @__PURE__ */ L({
1826
1826
  indexRouteName: { default: "admin.home" }
1827
1827
  },
1828
1828
  setup(e) {
1829
- const t = e, n = dt(), o = ae(), a = ne(), l = it(n.state, n.errors);
1829
+ const t = e, n = ct(), o = ae(), a = ne(), l = ot(n.state, n.errors);
1830
1830
  Z(
1831
1831
  () => n.errors,
1832
1832
  (_) => {
@@ -1882,15 +1882,15 @@ const mt = /* @__PURE__ */ L({
1882
1882
  n.isDirty && !confirm("Несохранённые изменения будут потеряны. Продолжить?") || a.push({ name: t.indexRouteName }).catch(() => {
1883
1883
  });
1884
1884
  }
1885
- return (_, g) => (s(), c("section", Ca, [
1886
- d("header", Sa, [
1887
- d("div", Aa, [
1885
+ return (_, g) => (s(), c("section", Sa, [
1886
+ d("header", Aa, [
1887
+ d("div", Ra, [
1888
1888
  d("a", {
1889
1889
  class: "admin-resource-form__back",
1890
1890
  onClick: A
1891
1891
  }, "← Назад"),
1892
- d("h1", Ra, h(f.value), 1),
1893
- v.value ? (s(), w(r(ze), {
1892
+ d("h1", Ua, h(f.value), 1),
1893
+ v.value ? (s(), w(r(qe), {
1894
1894
  key: 0,
1895
1895
  variant: b.value
1896
1896
  }, {
@@ -1900,7 +1900,7 @@ const mt = /* @__PURE__ */ L({
1900
1900
  _: 1
1901
1901
  }, 8, ["variant"])) : F("", !0)
1902
1902
  ]),
1903
- d("div", Ua, [
1903
+ d("div", Ea, [
1904
1904
  x(r(B), {
1905
1905
  variant: "ghost",
1906
1906
  disabled: r(n).saving || r(n).deleting,
@@ -1947,8 +1947,8 @@ const mt = /* @__PURE__ */ L({
1947
1947
  ]),
1948
1948
  _: 1
1949
1949
  })) : F("", !0),
1950
- r(n).loading ? (s(), c("div", Ea, [
1951
- (s(), c(T, null, I(6, (U) => x(r(Be), {
1950
+ r(n).loading ? (s(), c("div", Fa, [
1951
+ (s(), c(T, null, I(6, (U) => x(r(Ve), {
1952
1952
  key: U,
1953
1953
  height: "40px"
1954
1954
  })), 64))
@@ -1965,7 +1965,7 @@ const mt = /* @__PURE__ */ L({
1965
1965
  ]),
1966
1966
  _: 1
1967
1967
  })),
1968
- r(n).isDirty && !r(n).loading ? (s(), c("div", Fa, [
1968
+ r(n).isDirty && !r(n).loading ? (s(), c("div", La, [
1969
1969
  g[4] || (g[4] = d("span", { class: "admin-resource-form__savebar-hint" }, " Есть несохранённые изменения ", -1)),
1970
1970
  x(r(B), {
1971
1971
  variant: "ghost",
@@ -1992,7 +1992,7 @@ const mt = /* @__PURE__ */ L({
1992
1992
  ])) : F("", !0)
1993
1993
  ]));
1994
1994
  }
1995
- }), ce = Ee(), ji = ce.register, Xe = ce.get, Ki = ce.has, Gi = ce.list, Hi = ce.clear, La = ce.registerBundle, Pa = /* @__PURE__ */ L({
1995
+ }), ce = Ee(), Ki = ce.register, Je = ce.get, Gi = ce.has, Hi = ce.list, Xi = ce.clear, Pa = ce.registerBundle, Ta = /* @__PURE__ */ L({
1996
1996
  __name: "UnknownEntry",
1997
1997
  props: {
1998
1998
  type: {},
@@ -2011,31 +2011,31 @@ const mt = /* @__PURE__ */ L({
2011
2011
  _: 1
2012
2012
  }));
2013
2013
  }
2014
- }), Ta = {
2014
+ }), Ma = {
2015
2015
  key: 1,
2016
2016
  class: "admin-infolist-rows"
2017
- }, Ma = {
2017
+ }, Na = {
2018
2018
  key: 2,
2019
2019
  class: "admin-infolist-cols"
2020
- }, Na = {
2020
+ }, Ia = {
2021
2021
  key: 3,
2022
2022
  class: "admin-infolist-section"
2023
- }, Ia = {
2023
+ }, Ba = {
2024
2024
  key: 0,
2025
2025
  class: "admin-infolist-section__hd"
2026
- }, Ba = {
2026
+ }, Va = {
2027
2027
  key: 0,
2028
2028
  class: "admin-infolist-section__title"
2029
- }, Va = {
2029
+ }, za = {
2030
2030
  key: 1,
2031
2031
  class: "admin-infolist-section__description"
2032
- }, za = { class: "admin-infolist-section__body" }, qa = {
2032
+ }, qa = { class: "admin-infolist-section__body" }, Da = {
2033
2033
  key: 4,
2034
2034
  class: "admin-infolist-tabs"
2035
- }, Da = {
2035
+ }, Oa = {
2036
2036
  class: "admin-infolist-tabs__list",
2037
2037
  role: "tablist"
2038
- }, Oa = { class: "admin-infolist-tabs__panel" }, Wa = /* @__PURE__ */ L({
2038
+ }, Wa = { class: "admin-infolist-tabs__panel" }, ja = /* @__PURE__ */ L({
2039
2039
  __name: "InfolistRenderer",
2040
2040
  props: {
2041
2041
  node: {}
@@ -2043,14 +2043,14 @@ const mt = /* @__PURE__ */ L({
2043
2043
  setup(e) {
2044
2044
  const t = e, n = /* @__PURE__ */ new Set(["rows", "columns", "section", "block", "tabs"]), o = p(() => {
2045
2045
  if (t.node.kind === "entry") {
2046
- const S = Xe(t.node.type);
2046
+ const S = Je(t.node.type);
2047
2047
  return S ? { kind: "entry", component: S } : { kind: "unknown" };
2048
2048
  }
2049
2049
  if (t.node.kind === "layout")
2050
2050
  return n.has(t.node.type) ? { kind: "layout", layoutType: t.node.type } : { kind: "unknown" };
2051
2051
  if (n.has(t.node.type))
2052
2052
  return { kind: "layout", layoutType: t.node.type };
2053
- const b = Xe(t.node.type);
2053
+ const b = Je(t.node.type);
2054
2054
  return b ? { kind: "entry", component: b } : { kind: "unknown" };
2055
2055
  }), a = p(() => {
2056
2056
  const { type: b, kind: S, items: R, ...A } = t.node;
@@ -2064,13 +2064,13 @@ const mt = /* @__PURE__ */ L({
2064
2064
  return typeof b == "number" ? b : 0;
2065
2065
  }), v = p(() => t.node.items ?? []);
2066
2066
  return (b, S) => {
2067
- const R = Ze("InfolistRenderer", !0);
2068
- return o.value.kind === "entry" ? (s(), w(oe(o.value.component), Ce(Se({ key: 0 }, a.value)), null, 16)) : o.value.kind === "layout" && o.value.layoutType === "rows" ? (s(), c("div", Ta, [
2067
+ const R = et("InfolistRenderer", !0);
2068
+ return o.value.kind === "entry" ? (s(), w(oe(o.value.component), Ce(Se({ key: 0 }, a.value)), null, 16)) : o.value.kind === "layout" && o.value.layoutType === "rows" ? (s(), c("div", Ma, [
2069
2069
  (s(!0), c(T, null, I(l.value, (A, _) => (s(), w(R, {
2070
2070
  key: _,
2071
2071
  node: A
2072
2072
  }, null, 8, ["node"]))), 128))
2073
- ])) : o.value.kind === "layout" && o.value.layoutType === "columns" ? (s(), c("div", Ma, [
2073
+ ])) : o.value.kind === "layout" && o.value.layoutType === "columns" ? (s(), c("div", Na, [
2074
2074
  (s(!0), c(T, null, I(l.value, (A, _) => (s(), c("div", {
2075
2075
  key: _,
2076
2076
  class: "admin-infolist-cols__item",
@@ -2080,19 +2080,19 @@ const mt = /* @__PURE__ */ L({
2080
2080
  }, [
2081
2081
  x(R, { node: A }, null, 8, ["node"])
2082
2082
  ], 4))), 128))
2083
- ])) : o.value.kind === "layout" && (o.value.layoutType === "section" || o.value.layoutType === "block") ? (s(), c("section", Na, [
2084
- i.value || u.value ? (s(), c("header", Ia, [
2085
- i.value ? (s(), c("h3", Ba, h(i.value), 1)) : F("", !0),
2086
- u.value ? (s(), c("p", Va, h(u.value), 1)) : F("", !0)
2083
+ ])) : o.value.kind === "layout" && (o.value.layoutType === "section" || o.value.layoutType === "block") ? (s(), c("section", Ia, [
2084
+ i.value || u.value ? (s(), c("header", Ba, [
2085
+ i.value ? (s(), c("h3", Va, h(i.value), 1)) : F("", !0),
2086
+ u.value ? (s(), c("p", za, h(u.value), 1)) : F("", !0)
2087
2087
  ])) : F("", !0),
2088
- d("div", za, [
2088
+ d("div", qa, [
2089
2089
  (s(!0), c(T, null, I(l.value, (A, _) => (s(), w(R, {
2090
2090
  key: _,
2091
2091
  node: A
2092
2092
  }, null, 8, ["node"]))), 128))
2093
2093
  ])
2094
- ])) : o.value.kind === "layout" && o.value.layoutType === "tabs" ? (s(), c("div", qa, [
2095
- d("ul", Da, [
2094
+ ])) : o.value.kind === "layout" && o.value.layoutType === "tabs" ? (s(), c("div", Da, [
2095
+ d("ul", Oa, [
2096
2096
  (s(!0), c(T, null, I(v.value, (A, _) => (s(), c("li", {
2097
2097
  key: A.key ?? _,
2098
2098
  class: J([
@@ -2101,36 +2101,36 @@ const mt = /* @__PURE__ */ L({
2101
2101
  ])
2102
2102
  }, h(A.label), 3))), 128))
2103
2103
  ]),
2104
- d("div", Oa, [
2104
+ d("div", Wa, [
2105
2105
  (s(!0), c(T, null, I(v.value[f.value]?.items ?? [], (A, _) => (s(), w(R, {
2106
2106
  key: _,
2107
2107
  node: A
2108
2108
  }, null, 8, ["node"]))), 128))
2109
2109
  ])
2110
- ])) : (s(), w(Pa, {
2110
+ ])) : (s(), w(Ta, {
2111
2111
  key: 5,
2112
2112
  type: e.node.type,
2113
2113
  name: e.node.name
2114
2114
  }, null, 8, ["type", "name"]));
2115
2115
  };
2116
2116
  }
2117
- }), We = /* @__PURE__ */ Symbol("admin.infolist-record");
2118
- function ja(e) {
2119
- bt(We, e);
2117
+ }), je = /* @__PURE__ */ Symbol("admin.infolist-record");
2118
+ function Ka(e) {
2119
+ kt(je, e);
2120
2120
  }
2121
- function Xi() {
2122
- const e = et(We);
2121
+ function Ji() {
2122
+ const e = tt(je);
2123
2123
  if (!e)
2124
2124
  throw new Error("useRecord() called outside of provideRecord() scope");
2125
2125
  return e;
2126
2126
  }
2127
2127
  function Fe() {
2128
- return et(We, null);
2128
+ return tt(je, null);
2129
2129
  }
2130
- const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-page__hd" }, Ha = { class: "admin-page__title-wrap" }, Xa = { class: "admin-page__title" }, Ja = { class: "admin-page__actions" }, Ya = {
2130
+ const Ga = { class: "admin-page admin-resource-view" }, Ha = { class: "admin-page__hd" }, Xa = { class: "admin-page__title-wrap" }, Ja = { class: "admin-page__title" }, Ya = { class: "admin-page__actions" }, Qa = {
2131
2131
  key: 1,
2132
2132
  class: "admin-resource-view__loading"
2133
- }, Qa = /* @__PURE__ */ L({
2133
+ }, Za = /* @__PURE__ */ L({
2134
2134
  __name: "ResourceViewPage",
2135
2135
  props: {
2136
2136
  slug: {},
@@ -2139,8 +2139,8 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2139
2139
  indexRouteName: { default: "admin.home" }
2140
2140
  },
2141
2141
  setup(e) {
2142
- const t = e, n = dt(), o = ae(), a = ne();
2143
- ja(n.state);
2142
+ const t = e, n = ct(), o = ae(), a = ne();
2143
+ Ka(n.state);
2144
2144
  const l = p(() => o.getResource(t.slug)), i = p(
2145
2145
  () => l.value?.fields ?? []
2146
2146
  ), u = p(
@@ -2171,12 +2171,12 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2171
2171
  }), n.hasError || a.push({ name: t.indexRouteName }).catch(() => {
2172
2172
  }));
2173
2173
  }
2174
- return (b, S) => (s(), c("section", Ka, [
2175
- d("header", Ga, [
2176
- d("div", Ha, [
2177
- d("h1", Xa, h(u.value), 1)
2174
+ return (b, S) => (s(), c("section", Ga, [
2175
+ d("header", Ha, [
2176
+ d("div", Xa, [
2177
+ d("h1", Ja, h(u.value), 1)
2178
2178
  ]),
2179
- d("div", Ja, [
2179
+ d("div", Ya, [
2180
2180
  x(r(B), {
2181
2181
  variant: "ghost",
2182
2182
  onClick: f
@@ -2210,8 +2210,8 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2210
2210
  ]),
2211
2211
  _: 1
2212
2212
  })) : F("", !0),
2213
- r(n).loading ? (s(), c("div", Ya, [
2214
- (s(), c(T, null, I(8, (R) => x(r(Be), {
2213
+ r(n).loading ? (s(), c("div", Qa, [
2214
+ (s(), c(T, null, I(8, (R) => x(r(Ve), {
2215
2215
  key: R,
2216
2216
  height: "24px"
2217
2217
  })), 64))
@@ -2221,7 +2221,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2221
2221
  class: "admin-resource-view__body"
2222
2222
  }, {
2223
2223
  default: m(() => [
2224
- (s(!0), c(T, null, I(i.value, (R, A) => (s(), w(Wa, {
2224
+ (s(!0), c(T, null, I(i.value, (R, A) => (s(), w(ja, {
2225
2225
  key: A,
2226
2226
  node: R
2227
2227
  }, null, 8, ["node"]))), 128))
@@ -2230,16 +2230,16 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2230
2230
  }))
2231
2231
  ]));
2232
2232
  }
2233
- }), Za = { class: "admin-page admin-profile" }, el = { class: "admin-page__hd" }, tl = { class: "admin-page__title-wrap" }, nl = { class: "admin-page__title" }, al = { class: "admin-page__count" }, ll = { class: "admin-profile__layout" }, sl = {
2233
+ }), el = { class: "admin-page admin-profile" }, tl = { class: "admin-page__hd" }, nl = { class: "admin-page__title-wrap" }, al = { class: "admin-page__title" }, ll = { class: "admin-page__count" }, sl = { class: "admin-profile__layout" }, il = {
2234
2234
  class: "admin-profile__nav",
2235
2235
  "aria-label": "Profile sections"
2236
- }, il = ["onClick"], ol = ["data-icon"], rl = { class: "admin-profile__content" }, ul = { class: "admin-profile__hero" }, dl = { class: "admin-profile__hero-text" }, cl = { class: "admin-profile__hero-name" }, ml = { class: "admin-profile__hero-meta" }, fl = { class: "admin-profile__form" }, vl = { class: "admin-profile__card-ft" }, pl = { class: "admin-profile__card-hd" }, gl = {
2236
+ }, ol = ["onClick"], rl = ["data-icon"], ul = { class: "admin-profile__content" }, dl = { class: "admin-profile__hero" }, cl = { class: "admin-profile__hero-text" }, ml = { class: "admin-profile__hero-name" }, fl = { class: "admin-profile__hero-meta" }, vl = { class: "admin-profile__form" }, pl = { class: "admin-profile__card-ft" }, gl = { class: "admin-profile__card-hd" }, hl = {
2237
2237
  key: 0,
2238
2238
  class: "admin-profile__hint"
2239
- }, hl = {
2239
+ }, _l = {
2240
2240
  key: 1,
2241
2241
  class: "admin-profile__hint"
2242
- }, _l = { class: "admin-profile__card-ft" }, yl = { class: "admin-profile__hint" }, bl = /* @__PURE__ */ L({
2242
+ }, yl = { class: "admin-profile__card-ft" }, bl = { class: "admin-profile__hint" }, kl = /* @__PURE__ */ L({
2243
2243
  __name: "ProfilePage",
2244
2244
  props: {
2245
2245
  title: { default: "Profile" },
@@ -2248,7 +2248,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2248
2248
  },
2249
2249
  emits: ["update:section", "avatar-replace", "two-factor-disable", "two-factor-regenerate", "save"],
2250
2250
  setup(e, { emit: t }) {
2251
- const n = e, o = t, a = X(), l = qe(), i = De(), u = [
2251
+ const n = e, o = t, a = X(), l = De(), i = Oe(), u = [
2252
2252
  { id: "general", label: "Основное", icon: "user" },
2253
2253
  { id: "security", label: "Безопасность", icon: "shield" },
2254
2254
  { id: "tokens", label: "API токены", icon: "key" },
@@ -2280,15 +2280,15 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2280
2280
  o("two-factor-regenerate");
2281
2281
  }
2282
2282
  const P = p(() => !!a.user?.twoFactorEnabled);
2283
- return (k, y) => (s(), c("section", Za, [
2284
- d("header", el, [
2285
- d("div", tl, [
2286
- d("h1", nl, h(e.title), 1),
2287
- d("div", al, h(e.subtitle), 1)
2283
+ return (k, y) => (s(), c("section", el, [
2284
+ d("header", tl, [
2285
+ d("div", nl, [
2286
+ d("h1", al, h(e.title), 1),
2287
+ d("div", ll, h(e.subtitle), 1)
2288
2288
  ])
2289
2289
  ]),
2290
- d("div", ll, [
2291
- d("nav", sl, [
2290
+ d("div", sl, [
2291
+ d("nav", il, [
2292
2292
  (s(), c(T, null, I(u, ($) => d("button", {
2293
2293
  key: $.id,
2294
2294
  type: "button",
@@ -2301,11 +2301,11 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2301
2301
  d("span", {
2302
2302
  class: "admin-profile__nav-icon",
2303
2303
  "data-icon": $.icon
2304
- }, null, 8, ol),
2304
+ }, null, 8, rl),
2305
2305
  d("span", null, h($.label), 1)
2306
- ], 10, il)), 64))
2306
+ ], 10, ol)), 64))
2307
2307
  ]),
2308
- d("div", rl, [
2308
+ d("div", ul, [
2309
2309
  f.value === "general" ? (s(), w(r(q), {
2310
2310
  key: 0,
2311
2311
  padding: "md"
@@ -2314,15 +2314,15 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2314
2314
  y[7] || (y[7] = d("header", { class: "admin-profile__card-hd" }, [
2315
2315
  d("h3", { class: "admin-profile__card-title" }, "Профиль")
2316
2316
  ], -1)),
2317
- d("div", ul, [
2318
- x(r(at), {
2317
+ d("div", dl, [
2318
+ x(r(lt), {
2319
2319
  src: r(a).user?.avatar ?? void 0,
2320
2320
  name: r(a).user?.name ?? "?",
2321
2321
  size: "lg"
2322
2322
  }, null, 8, ["src", "name"]),
2323
- d("div", dl, [
2324
- d("div", cl, h(r(a).user?.name ?? "—"), 1),
2325
- d("div", ml, h(r(a).user?.email ?? "—"), 1)
2323
+ d("div", cl, [
2324
+ d("div", ml, h(r(a).user?.name ?? "—"), 1),
2325
+ d("div", fl, h(r(a).user?.email ?? "—"), 1)
2326
2326
  ]),
2327
2327
  y[5] || (y[5] = d("div", { style: { flex: "1" } }, null, -1)),
2328
2328
  x(r(B), {
@@ -2336,7 +2336,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2336
2336
  _: 1
2337
2337
  })
2338
2338
  ]),
2339
- d("div", fl, [
2339
+ d("div", vl, [
2340
2340
  x(r(ie), {
2341
2341
  modelValue: b.value.name,
2342
2342
  "onUpdate:modelValue": y[0] || (y[0] = ($) => b.value.name = $),
@@ -2363,7 +2363,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2363
2363
  label: "Тема"
2364
2364
  }, null, 8, ["modelValue", "options"])
2365
2365
  ]),
2366
- d("footer", vl, [
2366
+ d("footer", pl, [
2367
2367
  x(r(B), {
2368
2368
  variant: "primary",
2369
2369
  onClick: A
@@ -2381,9 +2381,9 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2381
2381
  padding: "md"
2382
2382
  }, {
2383
2383
  default: m(() => [
2384
- d("header", pl, [
2384
+ d("header", gl, [
2385
2385
  y[8] || (y[8] = d("h3", { class: "admin-profile__card-title" }, "Двухфакторная аутентификация", -1)),
2386
- x(r(ze), {
2386
+ x(r(qe), {
2387
2387
  variant: P.value ? "success" : "default"
2388
2388
  }, {
2389
2389
  default: m(() => [
@@ -2392,8 +2392,8 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2392
2392
  _: 1
2393
2393
  }, 8, ["variant"])
2394
2394
  ]),
2395
- P.value ? (s(), c("p", gl, " 2FA включена. У вас остались recovery-коды на случай потери устройства. ")) : (s(), c("p", hl, " Включите 2FA для дополнительной защиты аккаунта. ")),
2396
- d("footer", _l, [
2395
+ P.value ? (s(), c("p", hl, " 2FA включена. У вас остались recovery-коды на случай потери устройства. ")) : (s(), c("p", _l, " Включите 2FA для дополнительной защиты аккаунта. ")),
2396
+ d("footer", yl, [
2397
2397
  P.value ? (s(), c(T, { key: 0 }, [
2398
2398
  x(r(B), {
2399
2399
  variant: "ghost",
@@ -2435,7 +2435,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2435
2435
  }, () => [
2436
2436
  x(r(q), { padding: "md" }, {
2437
2437
  default: m(() => [
2438
- d("p", yl, " Section «" + h(f.value) + "» не реализована библиотекой — host-проект подключает её через slot " + h(f.value) + ". ", 1)
2438
+ d("p", bl, " Section «" + h(f.value) + "» не реализована библиотекой — host-проект подключает её через slot " + h(f.value) + ". ", 1)
2439
2439
  ]),
2440
2440
  _: 1
2441
2441
  })
@@ -2444,7 +2444,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2444
2444
  ])
2445
2445
  ]));
2446
2446
  }
2447
- }), me = Ee(), Ji = me.register, kl = me.get, Yi = me.has, Qi = me.list, Zi = me.clear, wl = me.registerBundle, $l = /* @__PURE__ */ L({
2447
+ }), me = Ee(), Yi = me.register, wl = me.get, Qi = me.has, Zi = me.list, eo = me.clear, $l = me.registerBundle, xl = /* @__PURE__ */ L({
2448
2448
  __name: "UnknownWidget",
2449
2449
  props: {
2450
2450
  type: {}
@@ -2462,25 +2462,25 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2462
2462
  _: 1
2463
2463
  }));
2464
2464
  }
2465
- }), xl = /* @__PURE__ */ L({
2465
+ }), Cl = /* @__PURE__ */ L({
2466
2466
  __name: "WidgetRenderer",
2467
2467
  props: {
2468
2468
  node: {}
2469
2469
  },
2470
2470
  setup(e) {
2471
- const t = e, n = p(() => kl(t.node.type)), o = p(() => {
2471
+ const t = e, n = p(() => wl(t.node.type)), o = p(() => {
2472
2472
  const { type: a, span: l, ...i } = t.node;
2473
2473
  return i;
2474
2474
  });
2475
- return (a, l) => n.value ? (s(), w(oe(n.value), Ce(Se({ key: 0 }, o.value)), null, 16)) : (s(), w($l, {
2475
+ return (a, l) => n.value ? (s(), w(oe(n.value), Ce(Se({ key: 0 }, o.value)), null, 16)) : (s(), w(xl, {
2476
2476
  key: 1,
2477
2477
  type: e.node.type
2478
2478
  }, null, 8, ["type"]));
2479
2479
  }
2480
- }), Cl = { class: "admin-page admin-dashboard" }, Sl = { class: "admin-page__hd" }, Al = { class: "admin-page__title-wrap" }, Rl = { class: "admin-page__title" }, Ul = {
2480
+ }), Sl = { class: "admin-page admin-dashboard" }, Al = { class: "admin-page__hd" }, Rl = { class: "admin-page__title-wrap" }, Ul = { class: "admin-page__title" }, El = {
2481
2481
  key: 0,
2482
2482
  class: "admin-page__count"
2483
- }, El = { class: "admin-page__actions" }, Fl = { class: "admin-dashboard__grid" }, Ll = /* @__PURE__ */ L({
2483
+ }, Fl = { class: "admin-page__actions" }, Ll = { class: "admin-dashboard__grid" }, Pl = /* @__PURE__ */ L({
2484
2484
  __name: "DashboardPage",
2485
2485
  props: {
2486
2486
  slug: { default: void 0 },
@@ -2498,28 +2498,28 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2498
2498
  const v = typeof f.span == "number" ? f.span : 12;
2499
2499
  return Math.max(1, Math.min(12, v));
2500
2500
  }
2501
- return (f, v) => (s(), c("section", Cl, [
2502
- d("header", Sl, [
2503
- d("div", Al, [
2504
- d("h1", Rl, h(l.value), 1),
2505
- i.value ? (s(), c("div", Ul, h(i.value), 1)) : F("", !0)
2501
+ return (f, v) => (s(), c("section", Sl, [
2502
+ d("header", Al, [
2503
+ d("div", Rl, [
2504
+ d("h1", Ul, h(l.value), 1),
2505
+ i.value ? (s(), c("div", El, h(i.value), 1)) : F("", !0)
2506
2506
  ]),
2507
- d("div", El, [
2507
+ d("div", Fl, [
2508
2508
  H(f.$slots, "actions")
2509
2509
  ])
2510
2510
  ]),
2511
- d("div", Fl, [
2511
+ d("div", Ll, [
2512
2512
  (s(!0), c(T, null, I(a.value, (b, S) => (s(), c("div", {
2513
2513
  key: S,
2514
2514
  class: "admin-dashboard__cell",
2515
2515
  style: Ae({ gridColumn: `span ${u(b)} / span ${u(b)}` })
2516
2516
  }, [
2517
- x(xl, { node: b }, null, 8, ["node"])
2517
+ x(Cl, { node: b }, null, 8, ["node"])
2518
2518
  ], 4))), 128))
2519
2519
  ])
2520
2520
  ]));
2521
2521
  }
2522
- }), Pl = /* @__PURE__ */ L({
2522
+ }), Tl = /* @__PURE__ */ L({
2523
2523
  __name: "StatWidget",
2524
2524
  props: {
2525
2525
  title: { default: "" },
@@ -2550,16 +2550,16 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2550
2550
  loading: e.loading
2551
2551
  }, null, 8, ["title", "value", "prefix", "suffix", "trend", "precision", "tone", "loading"]));
2552
2552
  }
2553
- }), Tl = {
2553
+ }), Ml = {
2554
2554
  key: 0,
2555
2555
  class: "admin-widget__hd"
2556
- }, Ml = {
2556
+ }, Nl = {
2557
2557
  key: 0,
2558
2558
  class: "admin-widget__title"
2559
- }, Nl = {
2559
+ }, Il = {
2560
2560
  key: 1,
2561
2561
  class: "admin-widget__desc"
2562
- }, Il = ["viewBox", "height", "aria-label"], Bl = ["x", "y", "width", "height", "fill", "data-label", "data-value"], Vl = /* @__PURE__ */ L({
2562
+ }, Bl = ["viewBox", "height", "aria-label"], Vl = ["x", "y", "width", "height", "fill", "data-label", "data-value"], zl = /* @__PURE__ */ L({
2563
2563
  __name: "BarChartWidget",
2564
2564
  props: {
2565
2565
  title: { default: "" },
@@ -2584,9 +2584,9 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2584
2584
  class: "admin-widget"
2585
2585
  }, {
2586
2586
  default: m(() => [
2587
- e.title || e.description ? (s(), c("header", Tl, [
2588
- e.title ? (s(), c("h3", Ml, h(e.title), 1)) : F("", !0),
2589
- e.description ? (s(), c("p", Nl, h(e.description), 1)) : F("", !0)
2587
+ e.title || e.description ? (s(), c("header", Ml, [
2588
+ e.title ? (s(), c("h3", Nl, h(e.title), 1)) : F("", !0),
2589
+ e.description ? (s(), c("p", Il, h(e.description), 1)) : F("", !0)
2590
2590
  ])) : F("", !0),
2591
2591
  (s(), c("svg", {
2592
2592
  class: "admin-widget-bar-chart",
@@ -2609,16 +2609,16 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2609
2609
  "data-value": i.value
2610
2610
  }, [
2611
2611
  d("title", null, h(i.label) + ": " + h(i.value), 1)
2612
- ], 8, Bl))), 128))
2613
- ], 8, Il))
2612
+ ], 8, Vl))), 128))
2613
+ ], 8, Bl))
2614
2614
  ]),
2615
2615
  _: 1
2616
2616
  }));
2617
2617
  }
2618
- }), zl = {
2618
+ }), ql = {
2619
2619
  key: 0,
2620
2620
  class: "admin-widget__hd"
2621
- }, ql = { class: "admin-widget__title" }, Dl = { class: "admin-donut-widget__row" }, Ol = ["aria-label"], Wl = ["d", "fill"], jl = { class: "admin-donut-widget__legend" }, Kl = { class: "admin-donut-widget__label" }, Gl = { class: "admin-donut-widget__value" }, Hl = /* @__PURE__ */ L({
2621
+ }, Dl = { class: "admin-widget__title" }, Ol = { class: "admin-donut-widget__row" }, Wl = ["aria-label"], jl = ["d", "fill"], Kl = { class: "admin-donut-widget__legend" }, Gl = { class: "admin-donut-widget__label" }, Hl = { class: "admin-donut-widget__value" }, Xl = /* @__PURE__ */ L({
2622
2622
  __name: "DonutChartWidget",
2623
2623
  props: {
2624
2624
  title: { default: "" },
@@ -2650,10 +2650,10 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2650
2650
  class: "admin-widget admin-donut-widget"
2651
2651
  }, {
2652
2652
  default: m(() => [
2653
- e.title ? (s(), c("header", zl, [
2654
- d("h3", ql, h(e.title), 1)
2653
+ e.title ? (s(), c("header", ql, [
2654
+ d("h3", Dl, h(e.title), 1)
2655
2655
  ])) : F("", !0),
2656
- d("div", Dl, [
2656
+ d("div", Ol, [
2657
2657
  (s(), c("svg", {
2658
2658
  viewBox: "0 0 120 120",
2659
2659
  class: "admin-donut-widget__svg",
@@ -2666,22 +2666,22 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2666
2666
  fill: u.color
2667
2667
  }, [
2668
2668
  d("title", null, h(u.label) + ": " + h(u.value) + " (" + h(u.pct) + "%)", 1)
2669
- ], 8, Wl))), 128)),
2669
+ ], 8, jl))), 128)),
2670
2670
  i[0] || (i[0] = d("circle", {
2671
2671
  cx: "60",
2672
2672
  cy: "60",
2673
2673
  r: "30",
2674
2674
  fill: "var(--uid-surface-raised)"
2675
2675
  }, null, -1))
2676
- ], 8, Ol)),
2677
- d("ul", jl, [
2676
+ ], 8, Wl)),
2677
+ d("ul", Kl, [
2678
2678
  (s(!0), c(T, null, I(a.value, (u, f) => (s(), c("li", { key: f }, [
2679
2679
  d("span", {
2680
2680
  class: "admin-donut-widget__dot",
2681
2681
  style: Ae({ background: u.color })
2682
2682
  }, null, 4),
2683
- d("span", Kl, h(u.label), 1),
2684
- d("span", Gl, h(u.pct) + "%", 1)
2683
+ d("span", Gl, h(u.label), 1),
2684
+ d("span", Hl, h(u.pct) + "%", 1)
2685
2685
  ]))), 128))
2686
2686
  ])
2687
2687
  ])
@@ -2689,10 +2689,10 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2689
2689
  _: 1
2690
2690
  }));
2691
2691
  }
2692
- }), Xl = {
2692
+ }), Jl = {
2693
2693
  key: 0,
2694
2694
  class: "admin-widget__hd"
2695
- }, Jl = { class: "admin-widget__title" }, Yl = /* @__PURE__ */ L({
2695
+ }, Yl = { class: "admin-widget__title" }, Ql = /* @__PURE__ */ L({
2696
2696
  __name: "RecentTableWidget",
2697
2697
  props: {
2698
2698
  title: { default: "" },
@@ -2706,10 +2706,10 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2706
2706
  class: "admin-widget"
2707
2707
  }, {
2708
2708
  default: m(() => [
2709
- e.title ? (s(), c("header", Xl, [
2710
- d("h3", Jl, h(e.title), 1)
2709
+ e.title ? (s(), c("header", Jl, [
2710
+ d("h3", Yl, h(e.title), 1)
2711
2711
  ])) : F("", !0),
2712
- x(r(Ve), {
2712
+ x(r(ze), {
2713
2713
  columns: e.columns,
2714
2714
  data: e.rows,
2715
2715
  "empty-text": e.emptyText
@@ -2718,10 +2718,10 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2718
2718
  _: 1
2719
2719
  }));
2720
2720
  }
2721
- }), Ql = {
2721
+ }), Zl = {
2722
2722
  key: 0,
2723
2723
  class: "admin-widget__hd"
2724
- }, Zl = { class: "admin-widget__title" }, es = /* @__PURE__ */ L({
2724
+ }, es = { class: "admin-widget__title" }, ts = /* @__PURE__ */ L({
2725
2725
  __name: "HeatmapWidget",
2726
2726
  props: {
2727
2727
  title: { default: "" },
@@ -2736,10 +2736,10 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2736
2736
  class: "admin-widget"
2737
2737
  }, {
2738
2738
  default: m(() => [
2739
- e.title ? (s(), c("header", Ql, [
2740
- d("h3", Zl, h(e.title), 1)
2739
+ e.title ? (s(), c("header", Zl, [
2740
+ d("h3", es, h(e.title), 1)
2741
2741
  ])) : F("", !0),
2742
- x(r(Tt), {
2742
+ x(r(Mt), {
2743
2743
  data: e.data,
2744
2744
  levels: e.levels,
2745
2745
  color: e.color,
@@ -2749,10 +2749,10 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2749
2749
  _: 1
2750
2750
  }));
2751
2751
  }
2752
- }), ts = {
2752
+ }), ns = {
2753
2753
  key: 0,
2754
2754
  class: "admin-widget__hd"
2755
- }, ns = { class: "admin-widget__title" }, as = { style: { display: "flex", "justify-content": "center" } }, ls = /* @__PURE__ */ L({
2755
+ }, as = { class: "admin-widget__title" }, ls = { style: { display: "flex", "justify-content": "center" } }, ss = /* @__PURE__ */ L({
2756
2756
  __name: "GaugeWidget",
2757
2757
  props: {
2758
2758
  title: { default: "" },
@@ -2779,11 +2779,11 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2779
2779
  class: "admin-widget"
2780
2780
  }, {
2781
2781
  default: m(() => [
2782
- e.title ? (s(), c("header", ts, [
2783
- d("h3", ns, h(e.title), 1)
2782
+ e.title ? (s(), c("header", ns, [
2783
+ d("h3", as, h(e.title), 1)
2784
2784
  ])) : F("", !0),
2785
- d("div", as, [
2786
- x(r(Mt), {
2785
+ d("div", ls, [
2786
+ x(r(Nt), {
2787
2787
  value: e.value,
2788
2788
  min: e.min,
2789
2789
  max: e.max,
@@ -2800,10 +2800,10 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2800
2800
  _: 1
2801
2801
  }));
2802
2802
  }
2803
- }), ss = {
2803
+ }), is = {
2804
2804
  key: 0,
2805
2805
  class: "admin-widget__hd"
2806
- }, is = { class: "admin-widget__title" }, os = { class: "admin-markdown-widget" }, rs = /* @__PURE__ */ L({
2806
+ }, os = { class: "admin-widget__title" }, rs = { class: "admin-markdown-widget" }, us = /* @__PURE__ */ L({
2807
2807
  __name: "MarkdownWidget",
2808
2808
  props: {
2809
2809
  title: { default: "" },
@@ -2815,34 +2815,34 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
2815
2815
  class: "admin-widget"
2816
2816
  }, {
2817
2817
  default: m(() => [
2818
- e.title ? (s(), c("header", ss, [
2819
- d("h3", is, h(e.title), 1)
2818
+ e.title ? (s(), c("header", is, [
2819
+ d("h3", os, h(e.title), 1)
2820
2820
  ])) : F("", !0),
2821
- d("div", os, h(e.content), 1)
2821
+ d("div", rs, h(e.content), 1)
2822
2822
  ]),
2823
2823
  _: 1
2824
2824
  }));
2825
2825
  }
2826
2826
  });
2827
- function us() {
2828
- wl({
2829
- stat: Pl,
2830
- "bar-chart": Vl,
2831
- "donut-chart": Hl,
2832
- "recent-table": Yl,
2833
- heatmap: es,
2834
- gauge: ls,
2835
- markdown: rs
2827
+ function ds() {
2828
+ $l({
2829
+ stat: Tl,
2830
+ "bar-chart": zl,
2831
+ "donut-chart": Xl,
2832
+ "recent-table": Ql,
2833
+ heatmap: ts,
2834
+ gauge: ss,
2835
+ markdown: us
2836
2836
  });
2837
2837
  }
2838
- function ds(e) {
2838
+ function cs(e) {
2839
2839
  return e.success === !0;
2840
2840
  }
2841
- function eo(e) {
2841
+ function to(e) {
2842
2842
  return e.success === !1;
2843
2843
  }
2844
- function cs(e) {
2845
- const t = Gt.create({
2844
+ function ms(e) {
2845
+ const t = Ht.create({
2846
2846
  baseURL: e.baseURL,
2847
2847
  withCredentials: !0,
2848
2848
  headers: {
@@ -2851,15 +2851,15 @@ function cs(e) {
2851
2851
  }
2852
2852
  });
2853
2853
  e.csrfToken && (t.defaults.headers.common["X-CSRF-TOKEN"] = e.csrfToken), e.locale && (t.defaults.headers.common["X-Admin-Locale"] = e.locale), t.interceptors.request.use((a) => {
2854
- const l = ms("XSRF-TOKEN");
2854
+ const l = fs("XSRF-TOKEN");
2855
2855
  return l && a.headers.set("X-XSRF-TOKEN", decodeURIComponent(l)), a;
2856
2856
  }), t.interceptors.response.use(
2857
2857
  (a) => {
2858
2858
  const l = a.data;
2859
2859
  if (l && typeof l == "object" && "success" in l) {
2860
- if (ds(l))
2860
+ if (cs(l))
2861
2861
  return a.data = l.payload, a;
2862
- throw je(a.status, l.payload);
2862
+ throw Ke(a.status, l.payload);
2863
2863
  }
2864
2864
  return a;
2865
2865
  },
@@ -2868,8 +2868,8 @@ function cs(e) {
2868
2868
  const l = a.response.status, i = a.response.data?.payload ?? {
2869
2869
  errorKey: "unknown",
2870
2870
  message: a.message
2871
- }, u = je(l, i);
2872
- return u instanceof ut && e.onUnauthenticated?.(), Promise.reject(u);
2871
+ }, u = Ke(l, i);
2872
+ return u instanceof dt && e.onUnauthenticated?.(), Promise.reject(u);
2873
2873
  }
2874
2874
  return Promise.reject(new Ue(a.message));
2875
2875
  }
@@ -2887,26 +2887,26 @@ function cs(e) {
2887
2887
  }
2888
2888
  };
2889
2889
  }
2890
- function ms(e) {
2890
+ function fs(e) {
2891
2891
  if (typeof document > "u") return null;
2892
- const t = document.cookie.match(new RegExp("(^|; )" + fs(e) + "=([^;]*)"));
2892
+ const t = document.cookie.match(new RegExp("(^|; )" + vs(e) + "=([^;]*)"));
2893
2893
  return t ? t[2] : null;
2894
2894
  }
2895
- function fs(e) {
2895
+ function vs(e) {
2896
2896
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
2897
2897
  }
2898
2898
  function ye(e, t) {
2899
2899
  const n = e.permissions?.[t];
2900
2900
  return typeof n == "string" && n.length > 0 ? [n] : [];
2901
2901
  }
2902
- function vs(e, t) {
2902
+ function ps(e, t) {
2903
2903
  const n = e.permissions?.[t];
2904
2904
  return typeof n == "string" && n.length > 0 ? [n] : [];
2905
2905
  }
2906
- function ps(e) {
2906
+ function gs(e) {
2907
2907
  return Array.isArray(e.permission) ? e.permission : typeof e.permission == "string" && e.permission.length > 0 ? [e.permission] : [];
2908
2908
  }
2909
- function gs(e, t) {
2909
+ function hs(e, t) {
2910
2910
  const n = e.slug, o = `/r/${n}`;
2911
2911
  return [
2912
2912
  {
@@ -2919,7 +2919,11 @@ function gs(e, t) {
2919
2919
  slug: n,
2920
2920
  title: e.label,
2921
2921
  permissions: ye(e, "view")
2922
- }
2922
+ },
2923
+ // slug передаётся в page-component'ы как prop. Конкретный slug запекаем в
2924
+ // function-mode, чтобы page видел его одинаково и через named-route, и через
2925
+ // path-routing (без params).
2926
+ props: { slug: n }
2923
2927
  },
2924
2928
  {
2925
2929
  path: `${o}/create`,
@@ -2931,7 +2935,8 @@ function gs(e, t) {
2931
2935
  slug: n,
2932
2936
  title: `${e.label}: создать`,
2933
2937
  permissions: ye(e, "create")
2934
- }
2938
+ },
2939
+ props: { slug: n }
2935
2940
  },
2936
2941
  {
2937
2942
  path: `${o}/:id/edit`,
@@ -2944,7 +2949,8 @@ function gs(e, t) {
2944
2949
  title: `${e.label}: редактирование`,
2945
2950
  permissions: ye(e, "update")
2946
2951
  },
2947
- props: !0
2952
+ // slug запекаем, id из route-params.
2953
+ props: (a) => ({ slug: n, id: a.params.id })
2948
2954
  },
2949
2955
  {
2950
2956
  path: `${o}/:id`,
@@ -2957,11 +2963,11 @@ function gs(e, t) {
2957
2963
  title: e.label,
2958
2964
  permissions: ye(e, "view")
2959
2965
  },
2960
- props: !0
2966
+ props: (a) => ({ slug: n, id: a.params.id })
2961
2967
  }
2962
2968
  ];
2963
2969
  }
2964
- function hs(e, t) {
2970
+ function _s(e, t) {
2965
2971
  return {
2966
2972
  path: `/screens/${e.slug}`,
2967
2973
  name: `admin.screen.${e.slug}`,
@@ -2971,11 +2977,11 @@ function hs(e, t) {
2971
2977
  kind: "screen",
2972
2978
  slug: e.slug,
2973
2979
  title: e.name,
2974
- permissions: ps(e)
2980
+ permissions: gs(e)
2975
2981
  }
2976
2982
  };
2977
2983
  }
2978
- function _s(e, t) {
2984
+ function ys(e, t) {
2979
2985
  return {
2980
2986
  path: `/settings/${e.slug}`,
2981
2987
  name: `admin.settings.${e.slug}`,
@@ -2985,11 +2991,11 @@ function _s(e, t) {
2985
2991
  kind: "settings",
2986
2992
  slug: e.slug,
2987
2993
  title: e.label,
2988
- permissions: vs(e, "view")
2994
+ permissions: ps(e, "view")
2989
2995
  }
2990
2996
  };
2991
2997
  }
2992
- function ys(e, t) {
2998
+ function bs(e, t) {
2993
2999
  if (typeof e.slug != "string" || e.slug.length === 0) return null;
2994
3000
  const n = e.permission, o = Array.isArray(n) ? n : typeof n == "string" && n.length > 0 ? [n] : [];
2995
3001
  return {
@@ -3005,22 +3011,22 @@ function ys(e, t) {
3005
3011
  }
3006
3012
  };
3007
3013
  }
3008
- function bs(e, t) {
3014
+ function ks(e, t) {
3009
3015
  if (e === null) return [];
3010
3016
  const n = [];
3011
3017
  for (const o of e.resources)
3012
- n.push(...gs(o, t));
3018
+ n.push(...hs(o, t));
3013
3019
  for (const o of e.screens)
3014
- n.push(hs(o, t));
3015
- for (const o of e.settings)
3016
3020
  n.push(_s(o, t));
3021
+ for (const o of e.settings)
3022
+ n.push(ys(o, t));
3017
3023
  for (const o of e.dashboards) {
3018
- const a = ys(o, t);
3024
+ const a = bs(o, t);
3019
3025
  a && n.push(a);
3020
3026
  }
3021
3027
  return n;
3022
3028
  }
3023
- function ks(e = {}) {
3029
+ function ws(e = {}) {
3024
3030
  const t = e.loginRouteName ?? "admin.login", n = e.forbiddenRouteName ?? "admin.forbidden", o = e.redirectQueryKey ?? "redirect";
3025
3031
  return (a) => {
3026
3032
  if (a.name === t)
@@ -3040,7 +3046,7 @@ function ks(e = {}) {
3040
3046
  return Array.isArray(u) && u.length > 0 && !l.hasAnyPermission(u) ? { name: n } : !0;
3041
3047
  };
3042
3048
  }
3043
- function ws(e = {}) {
3049
+ function $s(e = {}) {
3044
3050
  const t = e.template, n = e.brand ?? "", o = e.fallback ?? "";
3045
3051
  return (a) => {
3046
3052
  if (typeof document > "u") return;
@@ -3049,17 +3055,17 @@ function ws(e = {}) {
3049
3055
  t ? i = t.replace("{title}", l).replace("{brand}", n) : l && n ? i = `${l} · ${n}` : i = l || n, document.title = i;
3050
3056
  };
3051
3057
  }
3052
- const $s = [
3058
+ const xs = [
3053
3059
  "admin.resource.",
3054
3060
  "admin.screen.",
3055
3061
  "admin.settings.",
3056
3062
  "admin.dashboard."
3057
3063
  ];
3058
- function xs(e) {
3059
- return typeof e != "string" ? !1 : $s.some((t) => e.startsWith(t));
3060
- }
3061
3064
  function Cs(e) {
3062
- const t = e.base ?? "/admin", n = e.history ?? tt(t), o = [
3065
+ return typeof e != "string" ? !1 : xs.some((t) => e.startsWith(t));
3066
+ }
3067
+ function Ss(e) {
3068
+ const t = e.base ?? "/admin", n = e.history ?? nt(t), o = [
3063
3069
  {
3064
3070
  path: "/login",
3065
3071
  name: "admin.login",
@@ -3095,16 +3101,16 @@ function Cs(e) {
3095
3101
  name: "admin.notFound",
3096
3102
  component: e.components.notFound,
3097
3103
  meta: { kind: "system", title: "404" }
3098
- }, l = Ct({
3104
+ }, l = St({
3099
3105
  history: n,
3100
3106
  routes: [...o, ...e.extraRoutes ?? [], a]
3101
3107
  });
3102
- return l.beforeEach(ks(e.authGuard)), l.afterEach(ws(e.titleGuard)), l.replaceManifestRoutes = (i) => {
3108
+ return l.beforeEach(ws(e.authGuard)), l.afterEach($s(e.titleGuard)), l.replaceManifestRoutes = (i) => {
3103
3109
  const u = l.getRoutes();
3104
3110
  for (const v of u)
3105
- xs(v.name) && l.removeRoute(v.name);
3111
+ Cs(v.name) && l.removeRoute(v.name);
3106
3112
  l.hasRoute("admin.notFound") && l.removeRoute("admin.notFound");
3107
- const f = bs(i, e.components);
3113
+ const f = ks(i, e.components);
3108
3114
  for (const v of f)
3109
3115
  l.addRoute(v);
3110
3116
  l.addRoute(a);
@@ -3143,7 +3149,7 @@ const se = /* @__PURE__ */ L({
3143
3149
  "onUpdate:modelValue": l
3144
3150
  }, null, 8, ["model-value", "type", "label", "hint", "error", "placeholder", "required", "disabled", "readonly", "name", "autocomplete"]));
3145
3151
  }
3146
- }), Ss = /* @__PURE__ */ L({
3152
+ }), As = /* @__PURE__ */ L({
3147
3153
  __name: "TextAreaField",
3148
3154
  props: {
3149
3155
  name: {},
@@ -3168,7 +3174,7 @@ const se = /* @__PURE__ */ L({
3168
3174
  disabled: e.disabled
3169
3175
  }, {
3170
3176
  default: m(() => [
3171
- x(r(Nt), {
3177
+ x(r(It), {
3172
3178
  "model-value": o.value,
3173
3179
  rows: e.rows,
3174
3180
  placeholder: e.placeholder ?? void 0,
@@ -3181,7 +3187,7 @@ const se = /* @__PURE__ */ L({
3181
3187
  _: 1
3182
3188
  }, 8, ["label", "hint", "error", "required", "disabled"]));
3183
3189
  }
3184
- }), As = /* @__PURE__ */ L({
3190
+ }), Rs = /* @__PURE__ */ L({
3185
3191
  __name: "NumberField",
3186
3192
  props: {
3187
3193
  name: {},
@@ -3211,7 +3217,7 @@ const se = /* @__PURE__ */ L({
3211
3217
  disabled: e.disabled
3212
3218
  }, {
3213
3219
  default: m(() => [
3214
- x(r(It), {
3220
+ x(r(Bt), {
3215
3221
  "model-value": o.value,
3216
3222
  min: e.min ?? void 0,
3217
3223
  max: e.max ?? void 0,
@@ -3226,7 +3232,7 @@ const se = /* @__PURE__ */ L({
3226
3232
  _: 1
3227
3233
  }, 8, ["label", "hint", "error", "required", "disabled"]));
3228
3234
  }
3229
- }), Rs = /* @__PURE__ */ L({
3235
+ }), Us = /* @__PURE__ */ L({
3230
3236
  __name: "SelectField",
3231
3237
  props: {
3232
3238
  name: {},
@@ -3270,7 +3276,7 @@ const se = /* @__PURE__ */ L({
3270
3276
  _: 1
3271
3277
  }, 8, ["label", "hint", "error", "required", "disabled"]));
3272
3278
  }
3273
- }), Je = /* @__PURE__ */ L({
3279
+ }), Ye = /* @__PURE__ */ L({
3274
3280
  __name: "CheckboxField",
3275
3281
  props: {
3276
3282
  name: {},
@@ -3310,7 +3316,7 @@ const se = /* @__PURE__ */ L({
3310
3316
  _: 1
3311
3317
  }, 8, ["label", "hint", "error", "required", "disabled"]));
3312
3318
  }
3313
- }), Te = /* @__PURE__ */ L({
3319
+ }), Me = /* @__PURE__ */ L({
3314
3320
  __name: "DateField",
3315
3321
  props: {
3316
3322
  name: {},
@@ -3338,7 +3344,7 @@ const se = /* @__PURE__ */ L({
3338
3344
  disabled: e.disabled
3339
3345
  }, {
3340
3346
  default: m(() => [
3341
- x(r(Bt), {
3347
+ x(r(Vt), {
3342
3348
  "model-value": o.value,
3343
3349
  min: e.min ?? void 0,
3344
3350
  max: e.max ?? void 0,
@@ -3350,14 +3356,14 @@ const se = /* @__PURE__ */ L({
3350
3356
  _: 1
3351
3357
  }, 8, ["label", "hint", "error", "required", "disabled"]));
3352
3358
  }
3353
- }), Us = /* @__PURE__ */ L({
3359
+ }), Es = /* @__PURE__ */ L({
3354
3360
  __name: "RowsLayout",
3355
3361
  props: {
3356
3362
  items: {},
3357
3363
  gap: { default: "var(--uid-space-md)" }
3358
3364
  },
3359
3365
  setup(e) {
3360
- return (t, n) => (s(), w(r(Vt), {
3366
+ return (t, n) => (s(), w(r(zt), {
3361
3367
  direction: "column",
3362
3368
  gap: e.gap,
3363
3369
  align: "stretch"
@@ -3371,7 +3377,7 @@ const se = /* @__PURE__ */ L({
3371
3377
  _: 1
3372
3378
  }, 8, ["gap"]));
3373
3379
  }
3374
- }), Es = /* @__PURE__ */ L({
3380
+ }), Fs = /* @__PURE__ */ L({
3375
3381
  __name: "ColumnsLayout",
3376
3382
  props: {
3377
3383
  items: {},
@@ -3384,7 +3390,7 @@ const se = /* @__PURE__ */ L({
3384
3390
  const l = a.span;
3385
3391
  return typeof l == "number" && l > 0 ? Math.min(l, t.cols) : n.value;
3386
3392
  }
3387
- return (a, l) => (s(), w(r(zt), {
3393
+ return (a, l) => (s(), w(r(qt), {
3388
3394
  cols: e.cols,
3389
3395
  gap: e.gap
3390
3396
  }, {
@@ -3400,16 +3406,16 @@ const se = /* @__PURE__ */ L({
3400
3406
  _: 1
3401
3407
  }, 8, ["cols", "gap"]));
3402
3408
  }
3403
- }), Fs = {
3409
+ }), Ls = {
3404
3410
  key: 0,
3405
3411
  class: "admin-section__header"
3406
- }, Ls = {
3412
+ }, Ps = {
3407
3413
  key: 0,
3408
3414
  class: "admin-section__title"
3409
- }, Ps = {
3415
+ }, Ts = {
3410
3416
  key: 1,
3411
3417
  class: "admin-section__description"
3412
- }, Ts = { class: "admin-section__body" }, Ye = /* @__PURE__ */ L({
3418
+ }, Ms = { class: "admin-section__body" }, Qe = /* @__PURE__ */ L({
3413
3419
  __name: "SectionLayout",
3414
3420
  props: {
3415
3421
  items: {},
@@ -3422,11 +3428,11 @@ const se = /* @__PURE__ */ L({
3422
3428
  class: "admin-section"
3423
3429
  }, {
3424
3430
  default: m(() => [
3425
- e.title || e.description ? (s(), c("header", Fs, [
3426
- e.title ? (s(), c("h3", Ls, h(e.title), 1)) : F("", !0),
3427
- e.description ? (s(), c("p", Ps, h(e.description), 1)) : F("", !0)
3431
+ e.title || e.description ? (s(), c("header", Ls, [
3432
+ e.title ? (s(), c("h3", Ps, h(e.title), 1)) : F("", !0),
3433
+ e.description ? (s(), c("p", Ts, h(e.description), 1)) : F("", !0)
3428
3434
  ])) : F("", !0),
3429
- d("div", Ts, [
3435
+ d("div", Ms, [
3430
3436
  (s(!0), c(T, null, I(e.items, (o, a) => (s(), w(he, {
3431
3437
  key: a,
3432
3438
  node: o
@@ -3436,7 +3442,7 @@ const se = /* @__PURE__ */ L({
3436
3442
  _: 1
3437
3443
  }));
3438
3444
  }
3439
- }), Ms = /* @__PURE__ */ L({
3445
+ }), Ns = /* @__PURE__ */ L({
3440
3446
  __name: "TabsLayout",
3441
3447
  props: {
3442
3448
  items: {},
@@ -3452,7 +3458,7 @@ const se = /* @__PURE__ */ L({
3452
3458
  function i(u) {
3453
3459
  l.value = u, o("update:active", u);
3454
3460
  }
3455
- return (u, f) => (s(), w(r(lt), {
3461
+ return (u, f) => (s(), w(r(st), {
3456
3462
  "model-value": l.value,
3457
3463
  "onUpdate:modelValue": i
3458
3464
  }, {
@@ -3468,7 +3474,7 @@ const se = /* @__PURE__ */ L({
3468
3474
  }, 1032, ["value"]))), 128))
3469
3475
  ]),
3470
3476
  default: m(() => [
3471
- (s(!0), c(T, null, I(e.items, (v, b) => (s(), w(r(st), {
3477
+ (s(!0), c(T, null, I(e.items, (v, b) => (s(), w(r(it), {
3472
3478
  key: `panel-${a(v, b)}`,
3473
3479
  value: a(v, b)
3474
3480
  }, {
@@ -3485,8 +3491,8 @@ const se = /* @__PURE__ */ L({
3485
3491
  }, 8, ["model-value"]));
3486
3492
  }
3487
3493
  });
3488
- function Ns() {
3489
- xa({
3494
+ function Is() {
3495
+ Ca({
3490
3496
  fields: {
3491
3497
  text: se,
3492
3498
  email: se,
@@ -3494,25 +3500,25 @@ function Ns() {
3494
3500
  password: se,
3495
3501
  tel: se,
3496
3502
  search: se,
3497
- textarea: Ss,
3498
- number: As,
3499
- select: Rs,
3500
- checkbox: Je,
3501
- switcher: Je,
3502
- date: Te,
3503
- datetime: Te,
3504
- time: Te
3503
+ textarea: As,
3504
+ number: Rs,
3505
+ select: Us,
3506
+ checkbox: Ye,
3507
+ switcher: Ye,
3508
+ date: Me,
3509
+ datetime: Me,
3510
+ time: Me
3505
3511
  },
3506
3512
  layouts: {
3507
- rows: Us,
3508
- columns: Es,
3509
- section: Ye,
3510
- block: Ye,
3511
- tabs: Ms
3513
+ rows: Es,
3514
+ columns: Fs,
3515
+ section: Qe,
3516
+ block: Qe,
3517
+ tabs: Ns
3512
3518
  }
3513
3519
  });
3514
3520
  }
3515
- const Is = /* @__PURE__ */ L({
3521
+ const Bs = /* @__PURE__ */ L({
3516
3522
  __name: "TextEntry",
3517
3523
  props: {
3518
3524
  name: { default: "" },
@@ -3530,10 +3536,10 @@ const Is = /* @__PURE__ */ L({
3530
3536
  class: J(["admin-infolist-text", e.mono ? "admin-infolist-text--mono" : ""])
3531
3537
  }, h(o.value), 3));
3532
3538
  }
3533
- }), Bs = {
3539
+ }), Vs = {
3534
3540
  key: 1,
3535
3541
  class: "admin-infolist-text"
3536
- }, Vs = /* @__PURE__ */ L({
3542
+ }, zs = /* @__PURE__ */ L({
3537
3543
  __name: "BadgeEntry",
3538
3544
  props: {
3539
3545
  name: { default: "" },
@@ -3547,7 +3553,7 @@ const Is = /* @__PURE__ */ L({
3547
3553
  let l = t.value;
3548
3554
  return l === void 0 && n && t.name && (l = n[t.name]), l == null ? "" : String(l);
3549
3555
  }), a = p(() => t.variant ? t.variant : t.map[o.value] ?? "default");
3550
- return (l, i) => o.value ? (s(), w(r(ze), {
3556
+ return (l, i) => o.value ? (s(), w(r(qe), {
3551
3557
  key: 0,
3552
3558
  variant: a.value
3553
3559
  }, {
@@ -3555,9 +3561,9 @@ const Is = /* @__PURE__ */ L({
3555
3561
  C(h(o.value), 1)
3556
3562
  ]),
3557
3563
  _: 1
3558
- }, 8, ["variant"])) : (s(), c("span", Bs, "—"));
3564
+ }, 8, ["variant"])) : (s(), c("span", Vs, "—"));
3559
3565
  }
3560
- }), zs = ["data-icon"], qs = { key: 0 }, Ds = /* @__PURE__ */ L({
3566
+ }), qs = ["data-icon"], Ds = { key: 0 }, Os = /* @__PURE__ */ L({
3561
3567
  __name: "IconEntry",
3562
3568
  props: {
3563
3569
  name: { default: "" },
@@ -3579,14 +3585,14 @@ const Is = /* @__PURE__ */ L({
3579
3585
  d("span", {
3580
3586
  class: "admin-infolist-icon__glyph",
3581
3587
  "data-icon": l.value
3582
- }, null, 8, zs),
3583
- a.value ? (s(), c("span", qs, h(a.value), 1)) : F("", !0)
3588
+ }, null, 8, qs),
3589
+ a.value ? (s(), c("span", Ds, h(a.value), 1)) : F("", !0)
3584
3590
  ], 2));
3585
3591
  }
3586
- }), Os = {
3592
+ }), Ws = {
3587
3593
  key: 1,
3588
3594
  class: "admin-infolist-text"
3589
- }, Qe = /* @__PURE__ */ L({
3595
+ }, Ze = /* @__PURE__ */ L({
3590
3596
  __name: "KeyValueEntry",
3591
3597
  props: {
3592
3598
  name: { default: "" },
@@ -3601,13 +3607,13 @@ const Is = /* @__PURE__ */ L({
3601
3607
  function a(l) {
3602
3608
  return l == null ? "—" : typeof l == "object" ? JSON.stringify(l) : String(l);
3603
3609
  }
3604
- return (l, i) => o.value.length > 0 ? (s(), w(r(qt), {
3610
+ return (l, i) => o.value.length > 0 ? (s(), w(r(Dt), {
3605
3611
  key: 0,
3606
3612
  direction: "vertical",
3607
3613
  columns: 1
3608
3614
  }, {
3609
3615
  default: m(() => [
3610
- (s(!0), c(T, null, I(o.value, ([u, f]) => (s(), w(r(Dt), {
3616
+ (s(!0), c(T, null, I(o.value, ([u, f]) => (s(), w(r(Ot), {
3611
3617
  key: u,
3612
3618
  label: u
3613
3619
  }, {
@@ -3618,42 +3624,42 @@ const Is = /* @__PURE__ */ L({
3618
3624
  }, 1032, ["label"]))), 128))
3619
3625
  ]),
3620
3626
  _: 1
3621
- })) : (s(), c("span", Os, "—"));
3627
+ })) : (s(), c("span", Ws, "—"));
3622
3628
  }
3623
3629
  });
3624
- function Ws() {
3625
- La({
3626
- text: Is,
3627
- badge: Vs,
3628
- icon: Ds,
3629
- keyvalue: Qe,
3630
- "key-value": Qe
3630
+ function js() {
3631
+ Pa({
3632
+ text: Bs,
3633
+ badge: zs,
3634
+ icon: Os,
3635
+ keyvalue: Ze,
3636
+ "key-value": Ze
3631
3637
  });
3632
3638
  }
3633
- function to(e, t = {}) {
3634
- const n = t.pages ?? {}, o = t.base ?? js(e.baseUrl) ?? "/admin", a = cs({
3639
+ function no(e, t = {}) {
3640
+ const n = t.pages ?? {}, o = t.base ?? Ks(e.baseUrl) ?? "/admin", a = ms({
3635
3641
  baseURL: e.apiUrl,
3636
3642
  csrfToken: e.csrf
3637
3643
  });
3638
- Ht(a);
3639
- const l = kt(kn), i = $t();
3640
- l.use(i), X().hydrate(e), De().hydrate(e), qe().hydrate(e), Oe().hydrate(e), Ns(), us(), Ws();
3641
- const u = Cs({
3644
+ Xt(a);
3645
+ const l = wt(wn), i = xt();
3646
+ l.use(i), X().hydrate(e), Oe().hydrate(e), De().hydrate(e), We().hydrate(e), Is(), ds(), js();
3647
+ const u = Ss({
3642
3648
  base: o,
3643
- history: t.router?.history ?? tt(o),
3649
+ history: t.router?.history ?? nt(o),
3644
3650
  components: {
3645
- login: n.login ?? sa,
3646
- home: n.home ?? Un,
3647
- forbidden: n.forbidden ?? Fn,
3648
- notFound: n.notFound ?? Pn,
3649
- profile: n.profile ?? bl,
3650
- resourceIndex: n.resourceIndex ?? $a,
3651
- resourceCreate: n.resourceCreate ?? He,
3652
- resourceEdit: n.resourceEdit ?? He,
3653
- resourceView: n.resourceView ?? Qa,
3654
- dashboard: n.dashboard ?? Ll,
3655
- settings: n.settings ?? Bn,
3656
- screen: n.screen ?? Dn
3651
+ login: n.login ?? ia,
3652
+ home: n.home ?? En,
3653
+ forbidden: n.forbidden ?? Ln,
3654
+ notFound: n.notFound ?? Tn,
3655
+ profile: n.profile ?? kl,
3656
+ resourceIndex: n.resourceIndex ?? xa,
3657
+ resourceCreate: n.resourceCreate ?? Xe,
3658
+ resourceEdit: n.resourceEdit ?? Xe,
3659
+ resourceView: n.resourceView ?? Za,
3660
+ dashboard: n.dashboard ?? Pl,
3661
+ settings: n.settings ?? Vn,
3662
+ screen: n.screen ?? On
3657
3663
  },
3658
3664
  extraRoutes: t.router?.extraRoutes,
3659
3665
  authGuard: t.router?.authGuard,
@@ -3676,7 +3682,7 @@ function to(e, t = {}) {
3676
3682
  }
3677
3683
  return t.onAppCreated?.(l), { app: l, router: u, client: a };
3678
3684
  }
3679
- function js(e) {
3685
+ function Ks(e) {
3680
3686
  if (!e) return null;
3681
3687
  try {
3682
3688
  return new URL(e).pathname || "/admin";
@@ -3684,8 +3690,8 @@ function js(e) {
3684
3690
  return e.startsWith("/") ? e : null;
3685
3691
  }
3686
3692
  }
3687
- async function no(e = {}) {
3688
- const t = Ks();
3693
+ async function ao(e = {}) {
3694
+ const t = Gs();
3689
3695
  if (t)
3690
3696
  return t;
3691
3697
  if (e.client)
@@ -3699,38 +3705,38 @@ async function no(e = {}) {
3699
3705
  }
3700
3706
  return null;
3701
3707
  }
3702
- function Ks() {
3708
+ function Gs() {
3703
3709
  return typeof window > "u" ? null : window.__ADMIN_BOOTSTRAP__ ?? null;
3704
3710
  }
3705
- function ao() {
3711
+ function lo() {
3706
3712
  return typeof document > "u" ? null : document.querySelector('meta[name="csrf-token"]')?.getAttribute("content") ?? null;
3707
3713
  }
3708
- const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" }, Xs = {
3714
+ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" }, Js = {
3709
3715
  key: 0,
3710
3716
  class: "admin-notifs__count"
3711
- }, Js = { class: "admin-notifs__list" }, Ys = {
3717
+ }, Ys = { class: "admin-notifs__list" }, Qs = {
3712
3718
  key: 0,
3713
3719
  class: "admin-notifs__empty"
3714
- }, Qs = {
3720
+ }, Zs = {
3715
3721
  key: 1,
3716
3722
  class: "admin-notifs__empty"
3717
- }, Zs = ["onClick"], ei = ["data-kind"], ti = { class: "admin-notifs__body" }, ni = { class: "admin-notifs__row1" }, ai = {
3723
+ }, ei = ["onClick"], ti = ["data-kind"], ni = { class: "admin-notifs__body" }, ai = { class: "admin-notifs__row1" }, li = {
3718
3724
  key: 0,
3719
3725
  class: "admin-notifs__title-strong"
3720
- }, li = {
3726
+ }, si = {
3721
3727
  key: 1,
3722
3728
  class: "admin-notifs__title-soft"
3723
- }, si = { class: "admin-notifs__time" }, ii = {
3729
+ }, ii = { class: "admin-notifs__time" }, oi = {
3724
3730
  key: 0,
3725
3731
  class: "admin-notifs__text"
3726
- }, oi = ["onClick"], lo = /* @__PURE__ */ L({
3732
+ }, ri = ["onClick"], so = /* @__PURE__ */ L({
3727
3733
  __name: "NotificationsDrawer",
3728
3734
  props: {
3729
3735
  open: { type: Boolean }
3730
3736
  },
3731
3737
  emits: ["update:open", "select-item"],
3732
3738
  setup(e, { emit: t }) {
3733
- const n = e, o = t, a = Oe();
3739
+ const n = e, o = t, a = We();
3734
3740
  function l(g) {
3735
3741
  o("update:open", g);
3736
3742
  }
@@ -3779,7 +3785,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
3779
3785
  const $ = Math.floor(y / 24);
3780
3786
  return $ < 7 ? `${$} д назад` : U.toLocaleDateString("ru-RU");
3781
3787
  }
3782
- return (g, U) => (s(), w(r(Ot), {
3788
+ return (g, U) => (s(), w(r(Wt), {
3783
3789
  "model-value": e.open,
3784
3790
  side: "right",
3785
3791
  width: "400px",
@@ -3787,10 +3793,10 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
3787
3793
  "onUpdate:modelValue": l
3788
3794
  }, {
3789
3795
  header: m(() => [
3790
- d("div", Gs, [
3791
- d("h2", Hs, [
3796
+ d("div", Hs, [
3797
+ d("h2", Xs, [
3792
3798
  U[0] || (U[0] = C(" Уведомления ", -1)),
3793
- r(a).unreadCount > 0 ? (s(), c("span", Xs, " (" + h(r(a).unreadCount) + ") ", 1)) : F("", !0)
3799
+ r(a).unreadCount > 0 ? (s(), c("span", Js, " (" + h(r(a).unreadCount) + ") ", 1)) : F("", !0)
3794
3800
  ]),
3795
3801
  r(a).unreadCount > 0 ? (s(), w(r(B), {
3796
3802
  key: 0,
@@ -3806,7 +3812,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
3806
3812
  ])
3807
3813
  ]),
3808
3814
  default: m(() => [
3809
- x(r(lt), {
3815
+ x(r(st), {
3810
3816
  "model-value": i.value,
3811
3817
  "onUpdate:modelValue": u
3812
3818
  }, {
@@ -3834,13 +3840,13 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
3834
3840
  })
3835
3841
  ]),
3836
3842
  default: m(() => [
3837
- (s(), c(T, null, I(["all", "unread", "read"], (P) => x(r(st), {
3843
+ (s(), c(T, null, I(["all", "unread", "read"], (P) => x(r(it), {
3838
3844
  key: P,
3839
3845
  value: P
3840
3846
  }, {
3841
3847
  default: m(() => [
3842
- d("ul", Js, [
3843
- r(a).loading ? (s(), c("li", Ys, " Загрузка… ")) : r(a).items.length === 0 ? (s(), c("li", Qs, " Нет уведомлений ")) : F("", !0),
3848
+ d("ul", Ys, [
3849
+ r(a).loading ? (s(), c("li", Qs, " Загрузка… ")) : r(a).items.length === 0 ? (s(), c("li", Zs, " Нет уведомлений ")) : F("", !0),
3844
3850
  (s(!0), c(T, null, I(r(a).items, (k) => (s(), c("li", {
3845
3851
  key: k.id,
3846
3852
  class: J([
@@ -3853,21 +3859,21 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
3853
3859
  d("span", {
3854
3860
  class: "admin-notifs__icon",
3855
3861
  "data-kind": S(k)
3856
- }, null, 8, ei),
3857
- d("div", ti, [
3858
- d("div", ni, [
3859
- k.read_at ? (s(), c("span", li, h(R(k)), 1)) : (s(), c("strong", ai, h(R(k)), 1)),
3860
- d("span", si, h(_(k.created_at)), 1)
3862
+ }, null, 8, ti),
3863
+ d("div", ni, [
3864
+ d("div", ai, [
3865
+ k.read_at ? (s(), c("span", si, h(R(k)), 1)) : (s(), c("strong", li, h(R(k)), 1)),
3866
+ d("span", ii, h(_(k.created_at)), 1)
3861
3867
  ]),
3862
- A(k) ? (s(), c("p", ii, h(A(k)), 1)) : F("", !0)
3868
+ A(k) ? (s(), c("p", oi, h(A(k)), 1)) : F("", !0)
3863
3869
  ]),
3864
3870
  d("button", {
3865
3871
  type: "button",
3866
3872
  class: "admin-notifs__close",
3867
3873
  "aria-label": "Удалить",
3868
3874
  onClick: (y) => b(k, y)
3869
- }, " × ", 8, oi)
3870
- ], 10, Zs))), 128))
3875
+ }, " × ", 8, ri)
3876
+ ], 10, ei))), 128))
3871
3877
  ])
3872
3878
  ]),
3873
3879
  _: 1
@@ -3879,22 +3885,22 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
3879
3885
  _: 1
3880
3886
  }, 8, ["model-value"]));
3881
3887
  }
3882
- }), ri = { class: "admin-page admin-import-wizard" }, ui = { class: "admin-page__hd" }, di = { class: "admin-page__title-wrap" }, ci = { class: "admin-page__title" }, mi = { class: "admin-page__actions" }, fi = {
3888
+ }), ui = { class: "admin-page admin-import-wizard" }, di = { class: "admin-page__hd" }, ci = { class: "admin-page__title-wrap" }, mi = { class: "admin-page__title" }, fi = { class: "admin-page__actions" }, vi = {
3883
3889
  key: 0,
3884
3890
  class: "admin-import-wizard__empty"
3885
- }, vi = {
3891
+ }, pi = {
3886
3892
  key: 1,
3887
3893
  class: "admin-import-wizard__mapping"
3888
- }, pi = { class: "admin-import-wizard__map-source" }, gi = {
3894
+ }, gi = { class: "admin-import-wizard__map-source" }, hi = {
3889
3895
  key: 0,
3890
3896
  class: "admin-import-wizard__map-sample"
3891
- }, hi = { class: "admin-import-wizard__card-hd" }, _i = {
3897
+ }, _i = { class: "admin-import-wizard__card-hd" }, yi = {
3892
3898
  key: 2,
3893
3899
  class: "admin-import-wizard__empty"
3894
- }, yi = {
3900
+ }, bi = {
3895
3901
  key: 0,
3896
3902
  class: "admin-import-wizard__empty"
3897
- }, bi = { class: "admin-import-wizard__kpi" }, ki = { class: "admin-import-wizard__nav" }, so = /* @__PURE__ */ L({
3903
+ }, ki = { class: "admin-import-wizard__kpi" }, wi = { class: "admin-import-wizard__nav" }, io = /* @__PURE__ */ L({
3898
3904
  __name: "ImportWizardPage",
3899
3905
  props: {
3900
3906
  title: { default: "Импорт" },
@@ -3954,12 +3960,12 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
3954
3960
  function k() {
3955
3961
  o("cancel");
3956
3962
  }
3957
- return (y, $) => (s(), c("section", ri, [
3958
- d("header", ui, [
3959
- d("div", di, [
3960
- d("h1", ci, h(e.title), 1)
3963
+ return (y, $) => (s(), c("section", ui, [
3964
+ d("header", di, [
3965
+ d("div", ci, [
3966
+ d("h1", mi, h(e.title), 1)
3961
3967
  ]),
3962
- d("div", mi, [
3968
+ d("div", fi, [
3963
3969
  x(r(B), {
3964
3970
  variant: "ghost",
3965
3971
  onClick: k
@@ -3971,7 +3977,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
3971
3977
  })
3972
3978
  ])
3973
3979
  ]),
3974
- x(r(Wt), {
3980
+ x(r(jt), {
3975
3981
  steps: a,
3976
3982
  current: i.value
3977
3983
  }, null, 8, ["current"]),
@@ -3985,7 +3991,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
3985
3991
  d("h3", null, "1. Загрузите файл"),
3986
3992
  d("p", null, "CSV / TSV / XLSX, до 50 MB")
3987
3993
  ], -1)),
3988
- x(r(jt), {
3994
+ x(r(Kt), {
3989
3995
  "model-value": f.value,
3990
3996
  accept: ".csv,.tsv,.xlsx",
3991
3997
  "max-size": 50 * 1024 * 1024,
@@ -4006,14 +4012,14 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
4006
4012
  d("h3", null, "2. Сопоставьте колонки"),
4007
4013
  d("p", null, "Выберите поле ресурса для каждой колонки файла")
4008
4014
  ], -1)),
4009
- e.headers.length === 0 ? (s(), c("div", fi, " Нет данных — host ещё не отдал headers. Загрузите файл сначала. ")) : (s(), c("div", vi, [
4015
+ e.headers.length === 0 ? (s(), c("div", vi, " Нет данных — host ещё не отдал headers. Загрузите файл сначала. ")) : (s(), c("div", pi, [
4010
4016
  (s(!0), c(T, null, I(e.headers, (V) => (s(), c("div", {
4011
4017
  key: V.key,
4012
4018
  class: "admin-import-wizard__map-row"
4013
4019
  }, [
4014
- d("div", pi, [
4020
+ d("div", gi, [
4015
4021
  d("strong", null, h(V.label), 1),
4016
- V.sample ? (s(), c("span", gi, " «" + h(V.sample) + "» ", 1)) : F("", !0)
4022
+ V.sample ? (s(), c("span", hi, " «" + h(V.sample) + "» ", 1)) : F("", !0)
4017
4023
  ]),
4018
4024
  $[4] || ($[4] = d("span", { class: "admin-import-wizard__map-arrow" }, "→", -1)),
4019
4025
  x(r($e), {
@@ -4032,7 +4038,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
4032
4038
  class: "admin-import-wizard__card"
4033
4039
  }, {
4034
4040
  default: m(() => [
4035
- d("header", hi, [
4041
+ d("header", _i, [
4036
4042
  $[6] || ($[6] = d("h3", null, "3. Предпросмотр", -1)),
4037
4043
  d("p", null, "Первые " + h(e.preview.length) + " строк перед импортом", 1)
4038
4044
  ]),
@@ -4046,11 +4052,11 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
4046
4052
  ])]),
4047
4053
  _: 1
4048
4054
  })) : F("", !0),
4049
- e.previewColumns.length > 0 ? (s(), w(r(Ve), {
4055
+ e.previewColumns.length > 0 ? (s(), w(r(ze), {
4050
4056
  key: 1,
4051
4057
  columns: e.previewColumns,
4052
4058
  data: e.preview
4053
- }, null, 8, ["columns", "data"])) : (s(), c("div", _i, " Host не передал previewColumns/preview. "))
4059
+ }, null, 8, ["columns", "data"])) : (s(), c("div", yi, " Host не передал previewColumns/preview. "))
4054
4060
  ]),
4055
4061
  _: 1
4056
4062
  })) : (s(), w(r(q), {
@@ -4063,12 +4069,12 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
4063
4069
  d("h3", null, "4. Импорт")
4064
4070
  ], -1)),
4065
4071
  e.progress ? (s(), c(T, { key: 1 }, [
4066
- e.progress.total > 0 ? (s(), w(r(Kt), {
4072
+ e.progress.total > 0 ? (s(), w(r(Gt), {
4067
4073
  key: 0,
4068
4074
  "model-value": e.progress.created + e.progress.updated + e.progress.errors,
4069
4075
  max: e.progress.total
4070
4076
  }, null, 8, ["model-value", "max"])) : F("", !0),
4071
- d("div", bi, [
4077
+ d("div", ki, [
4072
4078
  x(r(be), {
4073
4079
  title: "Создано",
4074
4080
  value: e.progress.created,
@@ -4085,11 +4091,11 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
4085
4091
  tone: "danger"
4086
4092
  }, null, 8, ["value"])
4087
4093
  ])
4088
- ], 64)) : (s(), c("div", yi, " Запускается импорт… "))
4094
+ ], 64)) : (s(), c("div", bi, " Запускается импорт… "))
4089
4095
  ]),
4090
4096
  _: 1
4091
4097
  })),
4092
- d("footer", ki, [
4098
+ d("footer", wi, [
4093
4099
  g.value ? (s(), w(r(B), {
4094
4100
  key: 0,
4095
4101
  variant: "ghost",
@@ -4134,7 +4140,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
4134
4140
  ])
4135
4141
  ]));
4136
4142
  }
4137
- }), wi = { class: "admin-page admin-field-gallery" }, $i = { class: "admin-gallery__group-title" }, xi = { class: "admin-gallery__grid" }, Ci = { class: "admin-gallery__card-hd" }, Si = { class: "admin-gallery__card-title" }, Ai = { class: "admin-gallery__card-type" }, Ri = { class: "admin-gallery__card-desc" }, Ui = { class: "admin-gallery__card-demo" }, io = /* @__PURE__ */ L({
4143
+ }), $i = { class: "admin-page admin-field-gallery" }, xi = { class: "admin-gallery__group-title" }, Ci = { class: "admin-gallery__grid" }, Si = { class: "admin-gallery__card-hd" }, Ai = { class: "admin-gallery__card-title" }, Ri = { class: "admin-gallery__card-type" }, Ui = { class: "admin-gallery__card-desc" }, Ei = { class: "admin-gallery__card-demo" }, oo = /* @__PURE__ */ L({
4138
4144
  __name: "FieldGalleryPage",
4139
4145
  setup(e) {
4140
4146
  const t = [
@@ -4198,10 +4204,10 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
4198
4204
  node: { type: "date", name: "demo_date", label: "Дата публикации", inputType: "date" },
4199
4205
  initial: { demo_date: "2026-05-01" }
4200
4206
  }
4201
- ], n = t.reduce((a, l) => (a[l.group] || (a[l.group] = []), a[l.group].push(l), a), {}), o = wt(
4207
+ ], n = t.reduce((a, l) => (a[l.group] || (a[l.group] = []), a[l.group].push(l), a), {}), o = $t(
4202
4208
  t.reduce((a, l) => Object.assign(a, l.initial), {})
4203
4209
  );
4204
- return it(o), (a, l) => (s(), c("section", wi, [
4210
+ return ot(o), (a, l) => (s(), c("section", $i, [
4205
4211
  l[0] || (l[0] = d("header", { class: "admin-page__hd" }, [
4206
4212
  d("div", { class: "admin-page__title-wrap" }, [
4207
4213
  d("h1", { class: "admin-page__title" }, "Field Gallery"),
@@ -4212,21 +4218,21 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
4212
4218
  key: u,
4213
4219
  class: "admin-gallery__group"
4214
4220
  }, [
4215
- d("h2", $i, h(u), 1),
4216
- d("div", xi, [
4221
+ d("h2", xi, h(u), 1),
4222
+ d("div", Ci, [
4217
4223
  (s(!0), c(T, null, I(i, (f) => (s(), w(r(q), {
4218
4224
  key: f.type + f.title,
4219
4225
  padding: "md",
4220
4226
  class: "admin-gallery__card"
4221
4227
  }, {
4222
4228
  default: m(() => [
4223
- d("header", Ci, [
4224
- d("h3", Si, h(f.title), 1),
4225
- d("code", Ai, "type: " + h(f.type), 1)
4229
+ d("header", Si, [
4230
+ d("h3", Ai, h(f.title), 1),
4231
+ d("code", Ri, "type: " + h(f.type), 1)
4226
4232
  ]),
4227
- d("p", Ri, h(f.description), 1),
4228
- d("div", Ui, [
4229
- x(ft, {
4233
+ d("p", Ui, h(f.description), 1),
4234
+ d("div", Ei, [
4235
+ x(vt, {
4230
4236
  node: f.node
4231
4237
  }, null, 8, ["node"])
4232
4238
  ])
@@ -4239,118 +4245,118 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
4239
4245
  }
4240
4246
  });
4241
4247
  export {
4242
- kn as AdminApp,
4243
- bn as AdminShell,
4244
- hn as AdminSidebar,
4245
- rn as AdminTopBar,
4248
+ wn as AdminApp,
4249
+ kn as AdminShell,
4250
+ _n as AdminSidebar,
4251
+ un as AdminTopBar,
4246
4252
  Q as ApiError,
4247
- Vs as BadgeEntry,
4248
- Vl as BarChartWidget,
4249
- Je as CheckboxField,
4250
- Es as ColumnsLayout,
4251
- Ll as DashboardPage,
4252
- Te as DateField,
4253
- Hl as DonutChartWidget,
4254
- io as FieldGalleryPage,
4255
- ft as FieldRenderer,
4256
- en as ForbiddenError,
4257
- Fn as ForbiddenPage,
4258
- ls as GaugeWidget,
4259
- es as HeatmapWidget,
4260
- Un as HomePage,
4261
- Ds as IconEntry,
4262
- so as ImportWizardPage,
4263
- Wa as InfolistRenderer,
4264
- Qe as KeyValueEntry,
4253
+ zs as BadgeEntry,
4254
+ zl as BarChartWidget,
4255
+ Ye as CheckboxField,
4256
+ Fs as ColumnsLayout,
4257
+ Pl as DashboardPage,
4258
+ Me as DateField,
4259
+ Xl as DonutChartWidget,
4260
+ oo as FieldGalleryPage,
4261
+ vt as FieldRenderer,
4262
+ tn as ForbiddenError,
4263
+ Ln as ForbiddenPage,
4264
+ ss as GaugeWidget,
4265
+ ts as HeatmapWidget,
4266
+ En as HomePage,
4267
+ Os as IconEntry,
4268
+ io as ImportWizardPage,
4269
+ ja as InfolistRenderer,
4270
+ Ze as KeyValueEntry,
4265
4271
  he as LayoutRenderer,
4266
- rt as LocaleSwitcher,
4267
- Gn as LoginForm,
4268
- sa as LoginPage,
4269
- rs as MarkdownWidget,
4272
+ ut as LocaleSwitcher,
4273
+ Hn as LoginForm,
4274
+ ia as LoginPage,
4275
+ us as MarkdownWidget,
4270
4276
  Ue as NetworkError,
4271
- tn as NotFoundError,
4272
- Pn as NotFoundPage,
4273
- Zt as NotificationBell,
4274
- lo as NotificationsDrawer,
4275
- As as NumberField,
4276
- bl as ProfilePage,
4277
- Yl as RecentTableWidget,
4278
- He as ResourceFormPage,
4279
- $a as ResourceIndexPage,
4280
- Qa as ResourceViewPage,
4281
- Us as RowsLayout,
4282
- Ye as SectionLayout,
4283
- Rs as SelectField,
4284
- Bn as SettingsPage,
4285
- Pl as StatWidget,
4286
- Ms as TabsLayout,
4287
- Ss as TextAreaField,
4288
- Is as TextEntry,
4277
+ nn as NotFoundError,
4278
+ Tn as NotFoundPage,
4279
+ en as NotificationBell,
4280
+ so as NotificationsDrawer,
4281
+ Rs as NumberField,
4282
+ kl as ProfilePage,
4283
+ Ql as RecentTableWidget,
4284
+ Xe as ResourceFormPage,
4285
+ xa as ResourceIndexPage,
4286
+ Za as ResourceViewPage,
4287
+ Es as RowsLayout,
4288
+ Qe as SectionLayout,
4289
+ Us as SelectField,
4290
+ Vn as SettingsPage,
4291
+ Tl as StatWidget,
4292
+ Ns as TabsLayout,
4293
+ As as TextAreaField,
4294
+ Bs as TextEntry,
4289
4295
  se as TextField,
4290
- ot as ThemeToggle,
4291
- Jn as TwoFactorForm,
4292
- ut as UnauthenticatedError,
4293
- Pa as UnknownEntry,
4294
- mt as UnknownField,
4295
- Dn as UnknownScreenPage,
4296
- $l as UnknownWidget,
4297
- an as UserMenu,
4296
+ rt as ThemeToggle,
4297
+ Yn as TwoFactorForm,
4298
+ dt as UnauthenticatedError,
4299
+ Ta as UnknownEntry,
4300
+ ft as UnknownField,
4301
+ On as UnknownScreenPage,
4302
+ xl as UnknownWidget,
4303
+ ln as UserMenu,
4298
4304
  Re as ValidationError,
4299
- xl as WidgetRenderer,
4300
- bs as buildRoutesFromManifest,
4301
- Ni as clearAdminClient,
4302
- Hi as clearInfolistRegistry,
4303
- Wi as clearRegistry,
4304
- Zi as clearWidgetRegistry,
4305
- to as createAdminApp,
4306
- cs as createAdminClient,
4307
- Cs as createAdminRouter,
4308
- ks as createAuthGuard,
4309
- ws as createTitleGuard,
4305
+ Cl as WidgetRenderer,
4306
+ ks as buildRoutesFromManifest,
4307
+ Ii as clearAdminClient,
4308
+ Xi as clearInfolistRegistry,
4309
+ ji as clearRegistry,
4310
+ eo as clearWidgetRegistry,
4311
+ no as createAdminApp,
4312
+ ms as createAdminClient,
4313
+ Ss as createAdminRouter,
4314
+ ws as createAuthGuard,
4315
+ $s as createTitleGuard,
4310
4316
  W as getAdminClient,
4311
- ct as getField,
4312
- Xe as getInfolistEntry,
4313
- Ge as getLayout,
4314
- kl as getWidget,
4315
- Ii as hasAdminClient,
4316
- Vi as hasField,
4317
- Ki as hasInfolistEntry,
4318
- Di as hasLayout,
4319
- Yi as hasWidget,
4320
- eo as isError,
4321
- ds as isSuccess,
4322
- zi as listFields,
4323
- Gi as listInfolistEntries,
4324
- Oi as listLayouts,
4325
- Qi as listWidgets,
4326
- no as loadBootstrap,
4327
- it as provideFormState,
4328
- ja as provideRecord,
4329
- ao as readCsrfFromMeta,
4330
- Ks as readInlineBootstrap,
4331
- Ns as registerBuiltinComponents,
4332
- Ws as registerBuiltinInfolistEntries,
4333
- us as registerBuiltinWidgets,
4334
- xa as registerComponents,
4335
- Bi as registerField,
4336
- La as registerInfolistEntries,
4337
- ji as registerInfolistEntry,
4338
- qi as registerLayout,
4339
- Ji as registerWidget,
4340
- wl as registerWidgets,
4341
- Ht as setAdminClient,
4342
- je as toApiError,
4343
- uo as tryUseFormState,
4317
+ mt as getField,
4318
+ Je as getInfolistEntry,
4319
+ He as getLayout,
4320
+ wl as getWidget,
4321
+ Bi as hasAdminClient,
4322
+ zi as hasField,
4323
+ Gi as hasInfolistEntry,
4324
+ Oi as hasLayout,
4325
+ Qi as hasWidget,
4326
+ to as isError,
4327
+ cs as isSuccess,
4328
+ qi as listFields,
4329
+ Hi as listInfolistEntries,
4330
+ Wi as listLayouts,
4331
+ Zi as listWidgets,
4332
+ ao as loadBootstrap,
4333
+ ot as provideFormState,
4334
+ Ka as provideRecord,
4335
+ lo as readCsrfFromMeta,
4336
+ Gs as readInlineBootstrap,
4337
+ Is as registerBuiltinComponents,
4338
+ js as registerBuiltinInfolistEntries,
4339
+ ds as registerBuiltinWidgets,
4340
+ Ca as registerComponents,
4341
+ Vi as registerField,
4342
+ Pa as registerInfolistEntries,
4343
+ Ki as registerInfolistEntry,
4344
+ Di as registerLayout,
4345
+ Yi as registerWidget,
4346
+ $l as registerWidgets,
4347
+ Xt as setAdminClient,
4348
+ Ke as toApiError,
4349
+ co as tryUseFormState,
4344
4350
  Fe as tryUseRecord,
4345
4351
  X as useAuthStore,
4346
4352
  re as useFormState,
4347
- De as useLocaleStore,
4353
+ Oe as useLocaleStore,
4348
4354
  ae as useManifestStore,
4349
- un as useMenuStore,
4350
- Oe as useNotificationsStore,
4351
- Xi as useRecord,
4352
- dt as useResourceFormStore,
4353
- ia as useResourceIndexStore,
4354
- qe as useThemeStore
4355
+ dn as useMenuStore,
4356
+ We as useNotificationsStore,
4357
+ Ji as useRecord,
4358
+ ct as useResourceFormStore,
4359
+ oa as useResourceIndexStore,
4360
+ De as useThemeStore
4355
4361
  };
4356
4362
  //# sourceMappingURL=index.mjs.map