@dskripchenko/laravel-admin 1.20.0 → 1.21.0

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,13 +1,13 @@
1
- import { h as Se, ref as A, computed as M, defineComponent as ne, openBlock as c, createElementBlock as h, createVNode as w, unref as n, createBlock as z, withCtx as x, Fragment as X, renderList as ae, createTextVNode as D, toDisplayString as y, createElementVNode as u, createCommentVNode as H, renderSlot as ze, resolveDynamicComponent as $e, normalizeClass as fe, withKeys as A1, withModifiers as me, onMounted as Oe, onUnmounted as z9, watch as Ie, resolveComponent as H9, normalizeStyle as Ve, nextTick as Je, withDirectives as s1, vModelText as q1, onBeforeUnmount as Do, Teleport as lI, Transition as _9, inject as rI, normalizeProps as O2, mergeProps as Qn, provide as Vw, vModelSelect as Pw, createSlots as RI, guardReactiveProps as Fw, reactive as $I, createApp as jw } from "vue";
2
- import { defineStore as e1, createPinia as Dw } from "pinia";
3
- import { useRouter as Ze, useRoute as l1, createWebHistory as TI, createRouter as Bw } from "vue-router";
4
- import { UidIcon as ee, UidMenu as je, UidMenuItem as De, UidMenuSeparator as Rw, UidAvatar as dI, UidSidebarItem as $w, UidSidebar as Tw, UidSkeleton as Re, UidSidebarGroup as Uw, UidModal as Ow, UidSpinner as Ew, UidSidebarLayout as Zw, useToast as ec, provideLocale as Ww, en as Gw, ru as Nw, UidToastProvider as Xw, UidAlert as Ye, UidInput as Le, UidButton as oe, UidCard as we, UidCheckbox as UI, UidErrorState as sI, UidEmptyState as hI, UidTreeView as Kw, UidTable as Co, UidPagination as Jw, UidGrid as OI, UidStack as Yw, UidBadge as uI, UidSelect as S9, UidStat as ic, UidGauge as Qw, UidFormField as Z2, UidTextarea as ex, UidNumberInput as ax, UidDatePicker as tx, usePopover as nx, UidTabs as EI, UidTabPanel as ZI, UidTab as lc, UidDescriptionList as ox, UidDescriptionItem as cx, UidDrawer as ix, UidStepper as lx, UidFileUpload as rx, UidProgress as dx } from "@dskripchenko/ui";
1
+ import { h as Se, ref as A, computed as M, defineComponent as ne, openBlock as c, createElementBlock as h, createVNode as w, unref as n, createBlock as z, withCtx as x, Fragment as X, renderList as ee, createTextVNode as D, toDisplayString as y, createElementVNode as u, createCommentVNode as H, renderSlot as ze, resolveDynamicComponent as $e, normalizeClass as fe, withKeys as A1, withModifiers as me, onMounted as Oe, onUnmounted as z9, watch as Ie, resolveComponent as H9, normalizeStyle as Ve, nextTick as Je, withDirectives as s1, vModelText as q1, onBeforeUnmount as Do, Teleport as lI, Transition as _9, inject as rI, normalizeProps as O2, mergeProps as Qn, provide as Pw, vModelSelect as Fw, createSlots as $I, guardReactiveProps as jw, reactive as TI, createApp as Dw } from "vue";
2
+ import { defineStore as e1, createPinia as Bw } from "pinia";
3
+ import { useRouter as Ze, useRoute as l1, createWebHistory as UI, createRouter as Rw } from "vue-router";
4
+ import { UidIcon as ae, UidMenu as je, UidMenuItem as De, UidMenuSeparator as $w, UidAvatar as dI, UidSidebarItem as Tw, UidSidebar as Uw, UidSkeleton as Re, UidSidebarGroup as Ow, UidModal as Ew, UidSpinner as Zw, UidSidebarLayout as Ww, useToast as ec, provideLocale as Gw, en as Nw, ru as Xw, UidToastProvider as Kw, UidAlert as Ye, UidInput as Le, UidButton as oe, UidCard as we, UidCheckbox as OI, UidErrorState as sI, UidEmptyState as hI, UidTreeView as Jw, UidTable as Co, UidPagination as Yw, UidGrid as uI, UidStack as Qw, UidBadge as yI, UidSelect as S9, UidStat as ic, UidGauge as ex, UidFormField as Z2, UidTextarea as ax, UidNumberInput as tx, UidDatePicker as nx, usePopover as ox, UidTabs as EI, UidTabPanel as ZI, UidTab as lc, UidDescriptionList as cx, UidDescriptionItem as ix, UidDrawer as lx, UidStepper as rx, UidFileUpload as dx, UidProgress as sx } from "@dskripchenko/ui";
5
5
  import { t as v, u as W2 } from "./i18n-CoRTQbVV.js";
6
- import { t as sx, p as V9, u as Pe } from "./formState-DeRZBwWH.js";
7
- import hx from "axios";
8
- import { DskWysiwyg as ux } from "@dskripchenko/wysiwyg";
6
+ import { t as hx, p as V9, u as Pe } from "./formState-DC25j4xe.js";
7
+ import ux from "axios";
8
+ import { DskWysiwyg as yx } from "@dskripchenko/wysiwyg";
9
9
  import "@dskripchenko/wysiwyg/style.css";
10
- const yx = (a) => a.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
10
+ const px = (a) => a.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
11
11
  var ac = {
12
12
  xmlns: "http://www.w3.org/2000/svg",
13
13
  width: 24,
@@ -27,7 +27,7 @@ const WI = ({ size: a, strokeWidth: t = 2, absoluteStrokeWidth: o, color: l, ico
27
27
  height: a || ac.height,
28
28
  stroke: l || ac.stroke,
29
29
  "stroke-width": o ? Number(t) * 24 / Number(a) : t,
30
- class: ["lucide", `lucide-${yx(i ?? "icon")}`],
30
+ class: ["lucide", `lucide-${px(i ?? "icon")}`],
31
31
  ...r
32
32
  },
33
33
  [...d.map((m) => Se(...m)), ...p.default ? [p.default()] : []]
@@ -12716,7 +12716,7 @@ const C9 = e("ZoomOutIcon", [
12716
12716
  ["line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65", key: "13gj7c" }],
12717
12717
  ["line", { x1: "8", x2: "14", y1: "11", y2: "11", key: "durymu" }]
12718
12718
  ]);
12719
- const px = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
12719
+ const kx = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
12720
12720
  __proto__: null,
12721
12721
  AArrowDown: rc,
12722
12722
  AArrowUp: dc,
@@ -14258,7 +14258,7 @@ const px = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
14258
14258
  ZoomIn: L9,
14259
14259
  ZoomOut: C9
14260
14260
  }, Symbol.toStringTag, { value: "Module" }));
14261
- const kx = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
14261
+ const mx = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
14262
14262
  __proto__: null,
14263
14263
  AArrowDown: rc,
14264
14264
  AArrowDownIcon: rc,
@@ -19473,7 +19473,7 @@ const kx = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
19473
19473
  ZoomOut: C9,
19474
19474
  ZoomOutIcon: C9,
19475
19475
  createLucideIcon: e,
19476
- icons: px
19476
+ icons: kx
19477
19477
  }, Symbol.toStringTag, { value: "Module" }));
19478
19478
  let E2 = null;
19479
19479
  function GI(a) {
@@ -19486,19 +19486,19 @@ function Me() {
19486
19486
  );
19487
19487
  return E2;
19488
19488
  }
19489
- function mx() {
19489
+ function vx() {
19490
19490
  E2 = null;
19491
19491
  }
19492
- function vx() {
19492
+ function fx() {
19493
19493
  return E2 !== null;
19494
19494
  }
19495
19495
  const qe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
19496
19496
  __proto__: null,
19497
- clearAdminClient: mx,
19497
+ clearAdminClient: vx,
19498
19498
  getAdminClient: Me,
19499
- hasAdminClient: vx,
19499
+ hasAdminClient: fx,
19500
19500
  setAdminClient: GI
19501
- }, Symbol.toStringTag, { value: "Module" })), yI = e1("admin-theme", () => {
19501
+ }, Symbol.toStringTag, { value: "Module" })), pI = e1("admin-theme", () => {
19502
19502
  const a = A("light"), t = A(["light", "dark"]), o = M(() => a.value === "dark");
19503
19503
  function l(r) {
19504
19504
  a.value = r.theme, t.value = r.availableThemes, s(r.theme);
@@ -19530,10 +19530,10 @@ const qe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
19530
19530
  applyLocal: d,
19531
19531
  setTheme: i
19532
19532
  };
19533
- }), fx = ["aria-label", "aria-pressed"], NI = /* @__PURE__ */ ne({
19533
+ }), gx = ["aria-label", "aria-pressed"], NI = /* @__PURE__ */ ne({
19534
19534
  __name: "ThemeToggle",
19535
19535
  setup(a) {
19536
- const t = yI(), o = M(() => t.current === "dark"), l = M(() => o.value ? F2 : x2), d = M(() => o.value ? "sun" : "moon"), i = M(
19536
+ const t = pI(), o = M(() => t.current === "dark"), l = M(() => o.value ? F2 : x2), d = M(() => o.value ? "sun" : "moon"), i = M(
19537
19537
  () => o.value ? v("Переключить на светлую тему") : v("Переключить на тёмную тему")
19538
19538
  );
19539
19539
  async function s() {
@@ -19547,12 +19547,12 @@ const qe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
19547
19547
  "aria-pressed": o.value,
19548
19548
  onClick: s
19549
19549
  }, [
19550
- w(n(ee), {
19550
+ w(n(ae), {
19551
19551
  icon: l.value,
19552
19552
  size: 18,
19553
19553
  "data-icon": d.value
19554
19554
  }, null, 8, ["icon", "data-icon"])
19555
- ], 8, fx));
19555
+ ], 8, gx));
19556
19556
  }
19557
19557
  }), co = e1("admin-locale", () => {
19558
19558
  const a = A("ru"), t = A(["ru", "en"]);
@@ -19596,7 +19596,7 @@ const qe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
19596
19596
  setLocale: i,
19597
19597
  release: d
19598
19598
  };
19599
- }), gx = ["aria-label"], XI = /* @__PURE__ */ ne({
19599
+ }), Mx = ["aria-label"], XI = /* @__PURE__ */ ne({
19600
19600
  __name: "LocaleSwitcher",
19601
19601
  setup(a) {
19602
19602
  const t = co();
@@ -19611,16 +19611,16 @@ const qe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
19611
19611
  style: { width: "auto", padding: "0 8px", gap: "4px", "font-size": "12px" },
19612
19612
  "aria-label": n(v)("Сменить локаль")
19613
19613
  }, [
19614
- w(n(ee), {
19614
+ w(n(ae), {
19615
19615
  icon: n(mo),
19616
19616
  size: 14,
19617
19617
  "data-icon": "globe"
19618
19618
  }, null, 8, ["icon"]),
19619
19619
  u("span", null, y((n(t).current ?? "").toUpperCase()), 1)
19620
- ], 8, gx)
19620
+ ], 8, Mx)
19621
19621
  ]),
19622
19622
  default: x(() => [
19623
- (c(!0), h(X, null, ae(n(t).available, (i) => (c(), z(n(De), {
19623
+ (c(!0), h(X, null, ee(n(t).available, (i) => (c(), z(n(De), {
19624
19624
  key: i,
19625
19625
  onClick: (s) => o(i)
19626
19626
  }, {
@@ -19705,7 +19705,7 @@ const qe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
19705
19705
  closeDrawer: p,
19706
19706
  toggleDrawer: m
19707
19707
  };
19708
- }), Mx = ["aria-label", "aria-expanded"], Ix = ["title"], wx = /* @__PURE__ */ ne({
19708
+ }), Ix = ["aria-label", "aria-expanded"], wx = ["title"], xx = /* @__PURE__ */ ne({
19709
19709
  __name: "NotificationBell",
19710
19710
  setup(a) {
19711
19711
  const t = P9(), o = M(() => {
@@ -19723,7 +19723,7 @@ const qe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
19723
19723
  "aria-expanded": n(t).isOpen,
19724
19724
  onClick: l
19725
19725
  }, [
19726
- w(n(ee), {
19726
+ w(n(ae), {
19727
19727
  icon: n(eo),
19728
19728
  size: 18,
19729
19729
  "data-icon": "bell"
@@ -19732,8 +19732,8 @@ const qe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
19732
19732
  key: 0,
19733
19733
  class: "admin-topbar__bell-badge",
19734
19734
  title: `Непрочитанных: ${n(t).unreadCount}`
19735
- }, y(o.value), 9, Ix)) : H("", !0)
19736
- ], 8, Mx));
19735
+ }, y(o.value), 9, wx)) : H("", !0)
19736
+ ], 8, Ix));
19737
19737
  }
19738
19738
  });
19739
19739
  class We extends Error {
@@ -19749,12 +19749,12 @@ class KI extends We {
19749
19749
  super(401, t), this.name = "UnauthenticatedError";
19750
19750
  }
19751
19751
  }
19752
- class xx extends We {
19752
+ class bx extends We {
19753
19753
  constructor(t) {
19754
19754
  super(403, t), this.name = "ForbiddenError";
19755
19755
  }
19756
19756
  }
19757
- class bx extends We {
19757
+ class Lx extends We {
19758
19758
  constructor(t) {
19759
19759
  super(404, t), this.name = "NotFoundError";
19760
19760
  }
@@ -19778,14 +19778,14 @@ class F9 extends Error {
19778
19778
  super(t), this.name = "NetworkError";
19779
19779
  }
19780
19780
  }
19781
- function bI(a, t) {
19781
+ function LI(a, t) {
19782
19782
  switch (a) {
19783
19783
  case 401:
19784
19784
  return new KI(t);
19785
19785
  case 403:
19786
- return new xx(t);
19787
- case 404:
19788
19786
  return new bx(t);
19787
+ case 404:
19788
+ return new Lx(t);
19789
19789
  case 422:
19790
19790
  return new G2(t);
19791
19791
  default:
@@ -19891,7 +19891,7 @@ const Qe = e1("admin-auth", () => {
19891
19891
  cancelChallenge: C,
19892
19892
  logout: I
19893
19893
  };
19894
- }), Lx = ["aria-label"], Cx = /* @__PURE__ */ ne({
19894
+ }), Cx = ["aria-label"], _x = /* @__PURE__ */ ne({
19895
19895
  __name: "UserMenu",
19896
19896
  setup(a) {
19897
19897
  const t = Qe(), o = Ze();
@@ -19920,7 +19920,7 @@ const Qe = e1("admin-auth", () => {
19920
19920
  alt: n(t).user?.name ?? "User",
19921
19921
  size: "sm"
19922
19922
  }, null, 8, ["src", "name", "alt"])
19923
- ], 8, Lx)
19923
+ ], 8, Cx)
19924
19924
  ]),
19925
19925
  default: x(() => [
19926
19926
  w(n(De), { onClick: d }, {
@@ -19929,7 +19929,7 @@ const Qe = e1("admin-auth", () => {
19929
19929
  ]),
19930
19930
  _: 1
19931
19931
  }),
19932
- w(n(Rw)),
19932
+ w(n($w)),
19933
19933
  w(n(De), {
19934
19934
  variant: "danger",
19935
19935
  onClick: l
@@ -19943,10 +19943,10 @@ const Qe = e1("admin-auth", () => {
19943
19943
  _: 1
19944
19944
  }));
19945
19945
  }
19946
- }), _x = { class: "admin-topbar" }, Sx = ["aria-label"], qx = { class: "admin-topbar__breadcrumbs" }, Ax = {
19946
+ }), Sx = { class: "admin-topbar" }, qx = ["aria-label"], Ax = { class: "admin-topbar__breadcrumbs" }, zx = {
19947
19947
  key: 0,
19948
19948
  class: "sep"
19949
- }, zx = /* @__PURE__ */ ne({
19949
+ }, Hx = /* @__PURE__ */ ne({
19950
19950
  __name: "AdminTopBar",
19951
19951
  props: {
19952
19952
  breadcrumbs: { default: () => [] },
@@ -19955,7 +19955,7 @@ const Qe = e1("admin-auth", () => {
19955
19955
  emits: ["toggle-sidebar", "open-search"],
19956
19956
  setup(a, { emit: t }) {
19957
19957
  const o = a, l = t, d = M(() => o.breadcrumbs.length - 1);
19958
- return (i, s) => (c(), h("header", _x, [
19958
+ return (i, s) => (c(), h("header", Sx, [
19959
19959
  a.showCollapseToggle ? (c(), h("button", {
19960
19960
  key: 0,
19961
19961
  type: "button",
@@ -19963,16 +19963,16 @@ const Qe = e1("admin-auth", () => {
19963
19963
  "aria-label": n(v)("Свернуть меню"),
19964
19964
  onClick: s[0] || (s[0] = (r) => l("toggle-sidebar"))
19965
19965
  }, [
19966
- w(n(ee), {
19966
+ w(n(ae), {
19967
19967
  icon: n(L1),
19968
19968
  size: 18,
19969
19969
  "data-icon": "panel-left"
19970
19970
  }, null, 8, ["icon"])
19971
- ], 8, Sx)) : H("", !0),
19972
- u("div", qx, [
19971
+ ], 8, qx)) : H("", !0),
19972
+ u("div", Ax, [
19973
19973
  ze(i.$slots, "breadcrumbs", {}, () => [
19974
- (c(!0), h(X, null, ae(a.breadcrumbs, (r, p) => (c(), h(X, { key: p }, [
19975
- p > 0 ? (c(), h("span", Ax, "›")) : H("", !0),
19974
+ (c(!0), h(X, null, ee(a.breadcrumbs, (r, p) => (c(), h(X, { key: p }, [
19975
+ p > 0 ? (c(), h("span", zx, "›")) : H("", !0),
19976
19976
  (c(), z($e(r.to ? "a" : "span"), {
19977
19977
  href: typeof r.to == "string" ? r.to : void 0,
19978
19978
  class: fe(p === d.value ? "cur" : "")
@@ -19998,7 +19998,7 @@ const Qe = e1("admin-auth", () => {
19998
19998
  s[3] || (s[3] = A1(me((r) => l("open-search"), ["prevent"]), ["space"]))
19999
19999
  ]
20000
20000
  }, [
20001
- w(n(ee), {
20001
+ w(n(ae), {
20002
20002
  icon: n(z1),
20003
20003
  size: 14,
20004
20004
  "data-icon": "search"
@@ -20008,10 +20008,10 @@ const Qe = e1("admin-auth", () => {
20008
20008
  ], 32)
20009
20009
  ]),
20010
20010
  ze(i.$slots, "actions"),
20011
- w(wx),
20011
+ w(xx),
20012
20012
  w(NI),
20013
20013
  w(XI),
20014
- w(Cx)
20014
+ w(_x)
20015
20015
  ]));
20016
20016
  }
20017
20017
  }), j9 = e1("admin-menu", () => {
@@ -20121,19 +20121,19 @@ const Qe = e1("admin-auth", () => {
20121
20121
  refresh: I,
20122
20122
  reset: f
20123
20123
  };
20124
- }), Hx = 1500;
20124
+ }), Vx = 1500;
20125
20125
  function JI() {
20126
20126
  const a = Ee(), t = j9(), o = A(!1);
20127
20127
  let l = null;
20128
20128
  return Oe(() => {
20129
20129
  l = setTimeout(() => {
20130
20130
  o.value = !0;
20131
- }, Hx);
20131
+ }, Vx);
20132
20132
  }), z9(() => {
20133
20133
  l !== null && clearTimeout(l);
20134
20134
  }), M(() => o.value || a.bootResolved && !t.loading);
20135
20135
  }
20136
- const Vx = {
20136
+ const Px = {
20137
20137
  activity: Bo,
20138
20138
  "alert-circle": g1,
20139
20139
  archive: Ro,
@@ -20218,16 +20218,16 @@ const Vx = {
20218
20218
  zap: U2
20219
20219
  };
20220
20220
  function q9(a) {
20221
- return a ? Vx[a] ?? null : null;
20221
+ return a ? Px[a] ?? null : null;
20222
20222
  }
20223
- const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-sidebar-item__icon" }, Dx = {
20223
+ const Fx = ["data-depth"], jx = ["aria-expanded", "title"], Dx = { class: "uid-sidebar-item__icon" }, Bx = {
20224
20224
  key: 0,
20225
20225
  class: "uid-sidebar-item__label"
20226
- }, Bx = {
20226
+ }, Rx = {
20227
20227
  key: 2,
20228
20228
  class: "admin-sidebar-node__children",
20229
20229
  role: "group"
20230
- }, Rx = /* @__PURE__ */ ne({
20230
+ }, $x = /* @__PURE__ */ ne({
20231
20231
  __name: "AdminSidebarNode",
20232
20232
  props: {
20233
20233
  item: {},
@@ -20268,7 +20268,7 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20268
20268
  });
20269
20269
  function b(I) {
20270
20270
  const L = q9(I) ?? so;
20271
- return () => Se(ee, { icon: L, size: 16 });
20271
+ return () => Se(ae, { icon: L, size: 16 });
20272
20272
  }
20273
20273
  function C() {
20274
20274
  d.value = !d.value;
@@ -20298,21 +20298,21 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20298
20298
  title: a.collapsed ? a.item.label : void 0,
20299
20299
  onClick: C
20300
20300
  }, [
20301
- u("span", jx, [
20301
+ u("span", Dx, [
20302
20302
  (c(), z($e(b(a.item.icon))))
20303
20303
  ]),
20304
- a.collapsed ? H("", !0) : (c(), h("span", Dx, y(a.item.label), 1)),
20304
+ a.collapsed ? H("", !0) : (c(), h("span", Bx, y(a.item.label), 1)),
20305
20305
  a.collapsed ? H("", !0) : (c(), h("span", {
20306
20306
  key: 1,
20307
20307
  class: fe(["admin-sidebar-node__chev", { "admin-sidebar-node__chev--open": d.value }]),
20308
20308
  "aria-hidden": "true"
20309
20309
  }, [
20310
- w(n(ee), {
20310
+ w(n(ae), {
20311
20311
  icon: n(Uo),
20312
20312
  size: 14
20313
20313
  }, null, 8, ["icon"])
20314
20314
  ], 2))
20315
- ], 10, Fx)) : (c(), z(n($w), {
20315
+ ], 10, jx)) : (c(), z(n(Tw), {
20316
20316
  key: 1,
20317
20317
  class: "admin-sidebar-node__leaf",
20318
20318
  "data-testid": `menu-${a.item.key}`,
@@ -20329,8 +20329,8 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20329
20329
  ]),
20330
20330
  _: 1
20331
20331
  }, 8, ["data-testid", "to", "active", "badge", "title"])),
20332
- l.value && d.value ? (c(), h("div", Bx, [
20333
- (c(!0), h(X, null, ae(a.item.children, (S) => (c(), z(f, {
20332
+ l.value && d.value ? (c(), h("div", Rx, [
20333
+ (c(!0), h(X, null, ee(a.item.children, (S) => (c(), z(f, {
20334
20334
  key: S.key,
20335
20335
  item: S,
20336
20336
  depth: a.depth + 1,
@@ -20339,10 +20339,10 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20339
20339
  "indent-step": a.indentStep
20340
20340
  }, null, 8, ["item", "depth", "collapsed", "stripe-at", "indent-step"]))), 128))
20341
20341
  ])) : H("", !0)
20342
- ], 14, Px);
20342
+ ], 14, Fx);
20343
20343
  };
20344
20344
  }
20345
- }), $x = ["aria-label"], Tx = "#2dd4bf", Ux = "#18181b", D9 = /* @__PURE__ */ ne({
20345
+ }), Tx = ["aria-label"], Ux = "#2dd4bf", Ox = "#18181b", D9 = /* @__PURE__ */ ne({
20346
20346
  __name: "BrandLogo",
20347
20347
  props: {
20348
20348
  size: { default: 28 },
@@ -20351,8 +20351,8 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20351
20351
  title: { default: "LAdmin" }
20352
20352
  },
20353
20353
  setup(a) {
20354
- const t = a, o = M(() => Math.round(t.size * 0.25)), l = M(() => Math.round(t.size * 0.42)), d = M(() => Math.round(t.size * 0.18)), i = M(() => Math.max(2, Math.round(t.size * 0.18))), s = M(() => Math.round(t.size * 0.3)), r = M(() => Math.max(1, Math.round(t.size * 0.04))), p = M(() => t.variant === "mono" ? "currentColor" : Ux), m = M(
20355
- () => t.variant === "mono" ? "var(--ladmin-logo-fg, #fff)" : Tx
20354
+ const t = a, o = M(() => Math.round(t.size * 0.25)), l = M(() => Math.round(t.size * 0.42)), d = M(() => Math.round(t.size * 0.18)), i = M(() => Math.max(2, Math.round(t.size * 0.18))), s = M(() => Math.round(t.size * 0.3)), r = M(() => Math.max(1, Math.round(t.size * 0.04))), p = M(() => t.variant === "mono" ? "currentColor" : Ox), m = M(
20355
+ () => t.variant === "mono" ? "var(--ladmin-logo-fg, #fff)" : Ux
20356
20356
  ), k = M(() => ({
20357
20357
  width: `${t.size}px`,
20358
20358
  height: `${t.size}px`,
@@ -20379,22 +20379,22 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20379
20379
  class: "ladmin-logo__cursor",
20380
20380
  style: Ve(g.value)
20381
20381
  }, null, 4)
20382
- ], 14, $x));
20382
+ ], 14, Tx));
20383
20383
  }
20384
- }), Ox = ["src", "alt"], Ex = {
20384
+ }), Ex = ["src", "alt"], Zx = {
20385
20385
  key: 1,
20386
20386
  class: "admin-sidebar-brand__mark"
20387
- }, Zx = {
20387
+ }, Wx = {
20388
20388
  key: 3,
20389
20389
  class: "admin-sidebar-brand__name"
20390
- }, Wx = {
20390
+ }, Gx = {
20391
20391
  key: 0,
20392
20392
  class: "admin-sidebar-tenant"
20393
- }, Gx = {
20393
+ }, Nx = {
20394
20394
  key: 0,
20395
20395
  class: "admin-sidebar-boot",
20396
20396
  "aria-busy": "true"
20397
- }, Nx = { class: "admin-sidebar-foot" }, Xx = ["title"], Kx = ["href"], Jx = /* @__PURE__ */ ne({
20397
+ }, Xx = { class: "admin-sidebar-foot" }, Kx = ["title"], Jx = ["href"], Yx = /* @__PURE__ */ ne({
20398
20398
  __name: "AdminSidebar",
20399
20399
  props: {
20400
20400
  collapsed: { type: Boolean, default: !1 },
@@ -20410,7 +20410,7 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20410
20410
  const t = j9(), o = M(() => t.groupedItems), l = JI(), d = M(() => l.value || t.isLoaded);
20411
20411
  return (i, s) => {
20412
20412
  const r = H9("router-link");
20413
- return c(), z(n(Tw), { collapsed: a.collapsed }, {
20413
+ return c(), z(n(Uw), { collapsed: a.collapsed }, {
20414
20414
  header: x(() => [
20415
20415
  w(r, {
20416
20416
  to: { name: a.homeRouteName },
@@ -20424,41 +20424,41 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20424
20424
  class: "admin-sidebar-brand__logo",
20425
20425
  src: a.brandLogo,
20426
20426
  alt: a.brandName
20427
- }, null, 8, Ox)) : a.brandMark ? (c(), h("div", Ex, y(a.brandMark), 1)) : (c(), z(D9, {
20427
+ }, null, 8, Ex)) : a.brandMark ? (c(), h("div", Zx, y(a.brandMark), 1)) : (c(), z(D9, {
20428
20428
  key: 2,
20429
20429
  size: 28
20430
20430
  })),
20431
- a.collapsed ? H("", !0) : (c(), h("div", Zx, y(a.brandName), 1))
20431
+ a.collapsed ? H("", !0) : (c(), h("div", Wx, y(a.brandName), 1))
20432
20432
  ]),
20433
20433
  _: 1
20434
20434
  }, 8, ["to", "title", "aria-label"]),
20435
- a.tenant && !a.collapsed ? (c(), h("div", Wx, [
20435
+ a.tenant && !a.collapsed ? (c(), h("div", Gx, [
20436
20436
  u("span", null, y(a.tenant.label), 1),
20437
20437
  u("b", null, y(a.tenant.name), 1)
20438
20438
  ])) : H("", !0)
20439
20439
  ]),
20440
20440
  nav: x(() => [
20441
- d.value ? (c(!0), h(X, { key: 1 }, ae(o.value, (p, m) => (c(), z(n(Uw), {
20441
+ d.value ? (c(!0), h(X, { key: 1 }, ee(o.value, (p, m) => (c(), z(n(Ow), {
20442
20442
  key: `grp-${m}`,
20443
20443
  title: p.group ?? void 0
20444
20444
  }, {
20445
20445
  default: x(() => [
20446
- (c(!0), h(X, null, ae(p.items, (k) => (c(), z(Rx, {
20446
+ (c(!0), h(X, null, ee(p.items, (k) => (c(), z($x, {
20447
20447
  key: k.key,
20448
20448
  item: k,
20449
20449
  collapsed: a.collapsed
20450
20450
  }, null, 8, ["item", "collapsed"]))), 128))
20451
20451
  ]),
20452
20452
  _: 2
20453
- }, 1032, ["title"]))), 128)) : (c(), h("div", Gx, [
20454
- (c(), h(X, null, ae(6, (p) => w(n(Re), {
20453
+ }, 1032, ["title"]))), 128)) : (c(), h("div", Nx, [
20454
+ (c(), h(X, null, ee(6, (p) => w(n(Re), {
20455
20455
  key: `sk-${p}`,
20456
20456
  height: "32px"
20457
20457
  })), 64))
20458
20458
  ]))
20459
20459
  ]),
20460
20460
  footer: x(() => [
20461
- u("div", Nx, [
20461
+ u("div", Xx, [
20462
20462
  u("span", {
20463
20463
  class: "admin-sidebar-foot__text",
20464
20464
  title: a.version ?? a.brandName
@@ -20468,28 +20468,28 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20468
20468
  ], 64)) : (c(), h(X, { key: 0 }, [
20469
20469
  D(y(a.version ?? a.brandName), 1)
20470
20470
  ], 64))
20471
- ], 8, Xx),
20471
+ ], 8, Kx),
20472
20472
  a.docsUrl && !a.collapsed ? (c(), h("a", {
20473
20473
  key: 0,
20474
20474
  href: a.docsUrl,
20475
20475
  class: "admin-sidebar-foot__text admin-sidebar-foot__link"
20476
- }, " Docs ", 8, Kx)) : H("", !0)
20476
+ }, " Docs ", 8, Jx)) : H("", !0)
20477
20477
  ])
20478
20478
  ]),
20479
20479
  _: 1
20480
20480
  }, 8, ["collapsed"]);
20481
20481
  };
20482
20482
  }
20483
- }), Yx = { class: "admin-search__box" }, Qx = ["placeholder"], eb = { class: "admin-search__results" }, ab = {
20483
+ }), Qx = { class: "admin-search__box" }, eb = ["placeholder"], ab = { class: "admin-search__results" }, tb = {
20484
20484
  key: 0,
20485
20485
  class: "admin-search__hint"
20486
- }, tb = {
20486
+ }, nb = {
20487
20487
  key: 1,
20488
20488
  class: "admin-search__hint"
20489
- }, nb = { class: "admin-search__group-hd" }, ob = ["onClick", "onMousemove"], cb = { class: "admin-search__item-title" }, ib = {
20489
+ }, ob = { class: "admin-search__group-hd" }, cb = ["onClick", "onMousemove"], ib = { class: "admin-search__item-title" }, lb = {
20490
20490
  key: 0,
20491
20491
  class: "admin-search__item-sub"
20492
- }, lb = /* @__PURE__ */ ne({
20492
+ }, rb = /* @__PURE__ */ ne({
20493
20493
  __name: "GlobalSearch",
20494
20494
  props: {
20495
20495
  modelValue: { type: Boolean }
@@ -20558,14 +20558,14 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20558
20558
  }
20559
20559
  return Ie(C, (G) => {
20560
20560
  G && (p.value = "", k.value = [], g.value = 0, Je(() => b.value?.focus()));
20561
- }), (G, te) => (c(), z(n(Ow), {
20561
+ }), (G, te) => (c(), z(n(Ew), {
20562
20562
  modelValue: C.value,
20563
20563
  "onUpdate:modelValue": te[4] || (te[4] = (W) => C.value = W),
20564
20564
  size: "md"
20565
20565
  }, {
20566
20566
  default: x(() => [
20567
- u("div", Yx, [
20568
- w(n(ee), {
20567
+ u("div", Qx, [
20568
+ w(n(ae), {
20569
20569
  icon: n(z1),
20570
20570
  size: 16,
20571
20571
  class: "admin-search__box-icon"
@@ -20586,29 +20586,29 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20586
20586
  te[2] || (te[2] = A1(me((W) => O(-1), ["prevent"]), ["up"])),
20587
20587
  te[3] || (te[3] = A1(me((W) => F(S.value[g.value]), ["prevent"]), ["enter"]))
20588
20588
  ]
20589
- }, null, 40, Qx), [
20589
+ }, null, 40, eb), [
20590
20590
  [q1, p.value]
20591
20591
  ]),
20592
- m.value ? (c(), z(n(Ew), {
20592
+ m.value ? (c(), z(n(Zw), {
20593
20593
  key: 0,
20594
20594
  size: "sm"
20595
20595
  })) : H("", !0)
20596
20596
  ]),
20597
- u("div", eb, [
20598
- Z.value ? U.value ? (c(), h("p", tb, y(r("admin.search.hint_empty", "Ничего не найдено по запросу")) + " «" + y(p.value) + "». ", 1)) : H("", !0) : (c(), h("p", ab, y(r("admin.search.hint_min", "Введите минимум 2 символа. Ищет по разделам и записям всех ресурсов.")), 1)),
20599
- (c(!0), h(X, null, ae(f.value, (W) => (c(), h("div", {
20597
+ u("div", ab, [
20598
+ Z.value ? U.value ? (c(), h("p", nb, y(r("admin.search.hint_empty", "Ничего не найдено по запросу")) + " «" + y(p.value) + "». ", 1)) : H("", !0) : (c(), h("p", tb, y(r("admin.search.hint_min", "Введите минимум 2 символа. Ищет по разделам и записям всех ресурсов.")), 1)),
20599
+ (c(!0), h(X, null, ee(f.value, (W) => (c(), h("div", {
20600
20600
  key: W.label,
20601
20601
  class: "admin-search__group"
20602
20602
  }, [
20603
- u("div", nb, [
20604
- n(q9)(W.icon) ? (c(), z(n(ee), {
20603
+ u("div", ob, [
20604
+ n(q9)(W.icon) ? (c(), z(n(ae), {
20605
20605
  key: 0,
20606
20606
  icon: n(q9)(W.icon),
20607
20607
  size: 12
20608
20608
  }, null, 8, ["icon"])) : H("", !0),
20609
20609
  u("span", null, y(W.label), 1)
20610
20610
  ]),
20611
- (c(!0), h(X, null, ae(W.items, (J) => (c(), h("button", {
20611
+ (c(!0), h(X, null, ee(W.items, (J) => (c(), h("button", {
20612
20612
  key: W.label + J.url,
20613
20613
  type: "button",
20614
20614
  class: fe(["admin-search__item", { "admin-search__item--active": B(W, J) === g.value }]),
@@ -20616,29 +20616,29 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20616
20616
  onClick: (R) => F(J),
20617
20617
  onMousemove: (R) => g.value = B(W, J)
20618
20618
  }, [
20619
- u("span", cb, y(J.title), 1),
20620
- J.subtitle ? (c(), h("span", ib, y(J.subtitle), 1)) : H("", !0),
20621
- B(W, J) === g.value ? (c(), z(n(ee), {
20619
+ u("span", ib, y(J.title), 1),
20620
+ J.subtitle ? (c(), h("span", lb, y(J.subtitle), 1)) : H("", !0),
20621
+ B(W, J) === g.value ? (c(), z(n(ae), {
20622
20622
  key: 1,
20623
20623
  icon: n(No),
20624
20624
  size: 13,
20625
20625
  class: "admin-search__item-enter"
20626
20626
  }, null, 8, ["icon"])) : H("", !0)
20627
- ], 42, ob))), 128))
20627
+ ], 42, cb))), 128))
20628
20628
  ]))), 128))
20629
20629
  ])
20630
20630
  ]),
20631
20631
  _: 1
20632
20632
  }, 8, ["modelValue"]));
20633
20633
  }
20634
- }), rb = { class: "admin-shell-root" }, db = {
20634
+ }), db = { class: "admin-shell-root" }, sb = {
20635
20635
  key: 0,
20636
20636
  class: "admin-impersonation-banner",
20637
20637
  role: "status"
20638
- }, sb = { class: "admin-main-footer" }, hb = {
20638
+ }, hb = { class: "admin-main-footer" }, ub = {
20639
20639
  key: 0,
20640
20640
  class: "admin-main-footer__copyright"
20641
- }, ub = "(max-width: 768px)", G9 = "data-admin-impersonating", yb = /* @__PURE__ */ ne({
20641
+ }, yb = "(max-width: 768px)", G9 = "data-admin-impersonating", pb = /* @__PURE__ */ ne({
20642
20642
  __name: "AdminShell",
20643
20643
  props: {
20644
20644
  collapsed: { type: Boolean, default: void 0 },
@@ -20678,7 +20678,7 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20678
20678
  ), Do(() => {
20679
20679
  typeof document < "u" && document.documentElement.removeAttribute(G9);
20680
20680
  }), Oe(() => {
20681
- typeof window > "u" || typeof window.matchMedia != "function" || (g = window.matchMedia(ub), k.value = g.matches, g.matches && f(!0), g.addEventListener("change", Z));
20681
+ typeof window > "u" || typeof window.matchMedia != "function" || (g = window.matchMedia(yb), k.value = g.matches, g.matches && f(!0), g.addEventListener("change", Z));
20682
20682
  });
20683
20683
  function Z(T) {
20684
20684
  b(T.matches);
@@ -20694,8 +20694,8 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20694
20694
  typeof window < "u" && window.addEventListener("keydown", V);
20695
20695
  }), Do(() => {
20696
20696
  typeof window < "u" && window.removeEventListener("keydown", V);
20697
- }), (T, P) => (c(), h("div", rb, [
20698
- a.impersonation ? (c(), h("div", db, [
20697
+ }), (T, P) => (c(), h("div", db, [
20698
+ a.impersonation ? (c(), h("div", sb, [
20699
20699
  u("span", null, [
20700
20700
  D(y(n(v)("Вы вошли как")) + " ", 1),
20701
20701
  u("b", null, y(a.impersonation.asName), 1),
@@ -20707,14 +20707,14 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20707
20707
  onClick: S
20708
20708
  }, y(n(v)("Выйти из режима")), 1)
20709
20709
  ])) : H("", !0),
20710
- w(n(Zw), {
20710
+ w(n(Ww), {
20711
20711
  "model-value": L.value,
20712
20712
  class: "admin-shell",
20713
20713
  "onUpdate:modelValue": f
20714
20714
  }, {
20715
20715
  sidebar: x(() => [
20716
20716
  ze(T.$slots, "sidebar", {}, () => [
20717
- w(Jx, {
20717
+ w(Yx, {
20718
20718
  collapsed: L.value,
20719
20719
  "brand-name": l.value,
20720
20720
  "brand-mark": i.value,
@@ -20727,7 +20727,7 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20727
20727
  ze(T.$slots, "topbar", {
20728
20728
  openSearch: () => U.value = !0
20729
20729
  }, () => [
20730
- w(zx, {
20730
+ w(Hx, {
20731
20731
  onToggleSidebar: P[0] || (P[0] = (B) => f(!L.value)),
20732
20732
  onOpenSearch: P[1] || (P[1] = (B) => U.value = !0)
20733
20733
  })
@@ -20735,8 +20735,8 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20735
20735
  ]),
20736
20736
  footer: x(() => [
20737
20737
  ze(T.$slots, "footer", {}, () => [
20738
- u("div", sb, [
20739
- r.value ? (c(), h("span", hb, y(r.value), 1)) : H("", !0)
20738
+ u("div", hb, [
20739
+ r.value ? (c(), h("span", ub, y(r.value), 1)) : H("", !0)
20740
20740
  ])
20741
20741
  ])
20742
20742
  ]),
@@ -20745,21 +20745,21 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20745
20745
  ]),
20746
20746
  _: 3
20747
20747
  }, 8, ["model-value"]),
20748
- w(lb, {
20748
+ w(rb, {
20749
20749
  modelValue: U.value,
20750
20750
  "onUpdate:modelValue": P[2] || (P[2] = (B) => U.value = B)
20751
20751
  }, null, 8, ["modelValue"])
20752
20752
  ]));
20753
20753
  }
20754
- }), pb = {
20754
+ }), kb = {
20755
20755
  class: "admin-page admin-boot-skeleton",
20756
20756
  "aria-busy": "true",
20757
20757
  "aria-live": "polite"
20758
- }, kb = { class: "admin-boot-skeleton__hd" }, mb = { class: "admin-boot-skeleton__row" }, vb = /* @__PURE__ */ ne({
20758
+ }, mb = { class: "admin-boot-skeleton__hd" }, vb = { class: "admin-boot-skeleton__row" }, fb = /* @__PURE__ */ ne({
20759
20759
  __name: "AdminBootSkeleton",
20760
20760
  setup(a) {
20761
- return (t, o) => (c(), h("div", pb, [
20762
- u("div", kb, [
20761
+ return (t, o) => (c(), h("div", kb, [
20762
+ u("div", mb, [
20763
20763
  w(n(Re), {
20764
20764
  width: "220px",
20765
20765
  height: "26px"
@@ -20769,14 +20769,14 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20769
20769
  height: "32px"
20770
20770
  })
20771
20771
  ]),
20772
- u("div", mb, [
20772
+ u("div", vb, [
20773
20773
  w(n(Re), { height: "88px" }),
20774
20774
  w(n(Re), { height: "88px" })
20775
20775
  ]),
20776
20776
  w(n(Re), { height: "240px" })
20777
20777
  ]));
20778
20778
  }
20779
- }), pI = e1("admin-navigation", () => {
20779
+ }), kI = e1("admin-navigation", () => {
20780
20780
  const a = A(0), t = M(() => a.value > 0);
20781
20781
  function o() {
20782
20782
  a.value += 1;
@@ -20788,10 +20788,10 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20788
20788
  a.value = 0;
20789
20789
  }
20790
20790
  return { pending: a, isLoading: t, start: o, end: l, reset: d };
20791
- }), fb = ["aria-label"], gb = /* @__PURE__ */ ne({
20791
+ }), gb = ["aria-label"], Mb = /* @__PURE__ */ ne({
20792
20792
  __name: "AdminLoadingBar",
20793
20793
  setup(a) {
20794
- const t = pI(), o = A(!1);
20794
+ const t = kI(), o = A(!1);
20795
20795
  let l = null;
20796
20796
  Ie(
20797
20797
  () => t.isLoading,
@@ -20811,40 +20811,40 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20811
20811
  role: "progressbar",
20812
20812
  "aria-busy": "true",
20813
20813
  "aria-label": n(v)("Загрузка")
20814
- }, null, 10, fb));
20814
+ }, null, 10, gb));
20815
20815
  }
20816
- }), Mb = {
20816
+ }), Ib = {
20817
20817
  key: 0,
20818
20818
  class: "admin-notif-drawer",
20819
20819
  role: "dialog",
20820
20820
  "aria-modal": "true",
20821
20821
  "aria-labelledby": "admin-notif-drawer-title"
20822
- }, Ib = { class: "admin-notif-drawer__panel" }, wb = { class: "admin-notif-drawer__hd" }, xb = {
20822
+ }, wb = { class: "admin-notif-drawer__panel" }, xb = { class: "admin-notif-drawer__hd" }, bb = {
20823
20823
  id: "admin-notif-drawer-title",
20824
20824
  class: "admin-notif-drawer__title"
20825
- }, bb = {
20825
+ }, Lb = {
20826
20826
  key: 0,
20827
20827
  class: "admin-notif-drawer__unread-badge"
20828
- }, Lb = { class: "admin-notif-drawer__hd-actions" }, Cb = ["aria-label"], _b = {
20828
+ }, Cb = { class: "admin-notif-drawer__hd-actions" }, _b = ["aria-label"], Sb = {
20829
20829
  class: "admin-notif-drawer__tabs",
20830
20830
  role: "tablist"
20831
- }, Sb = ["aria-selected", "onClick"], qb = { class: "admin-notif-drawer__tab-count" }, Ab = { class: "admin-notif-drawer__body" }, zb = {
20831
+ }, qb = ["aria-selected", "onClick"], Ab = { class: "admin-notif-drawer__tab-count" }, zb = { class: "admin-notif-drawer__body" }, Hb = {
20832
20832
  key: 0,
20833
20833
  class: "admin-notif-drawer__empty"
20834
- }, Hb = {
20834
+ }, Vb = {
20835
20835
  key: 1,
20836
20836
  class: "admin-notif-drawer__empty"
20837
- }, Vb = {
20837
+ }, Pb = {
20838
20838
  key: 2,
20839
20839
  class: "admin-notif-drawer__list"
20840
- }, Pb = ["onClick"], Fb = ["data-variant"], jb = { class: "admin-notif-drawer__content" }, Db = { class: "admin-notif-drawer__row" }, Bb = { class: "admin-notif-drawer__item-title" }, Rb = { class: "admin-notif-drawer__item-time" }, $b = {
20840
+ }, Fb = ["onClick"], jb = ["data-variant"], Db = { class: "admin-notif-drawer__content" }, Bb = { class: "admin-notif-drawer__row" }, Rb = { class: "admin-notif-drawer__item-title" }, $b = { class: "admin-notif-drawer__item-time" }, Tb = {
20841
20841
  key: 0,
20842
20842
  class: "admin-notif-drawer__item-description"
20843
- }, Tb = {
20843
+ }, Ub = {
20844
20844
  key: 0,
20845
20845
  class: "admin-notif-drawer__unread-dot",
20846
20846
  "aria-hidden": "true"
20847
- }, Ub = ["aria-label", "onClick"], Ob = /* @__PURE__ */ ne({
20847
+ }, Ob = ["aria-label", "onClick"], Eb = /* @__PURE__ */ ne({
20848
20848
  __name: "NotificationsDrawer",
20849
20849
  setup(a) {
20850
20850
  const t = P9(), o = M(() => t.isOpen), l = [
@@ -20908,25 +20908,25 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20908
20908
  }), (L, f) => (c(), z(lI, { to: "body" }, [
20909
20909
  w(_9, { name: "admin-notif-drawer" }, {
20910
20910
  default: x(() => [
20911
- o.value ? (c(), h("div", Mb, [
20911
+ o.value ? (c(), h("div", Ib, [
20912
20912
  u("div", {
20913
20913
  class: "admin-notif-drawer__backdrop",
20914
20914
  onClick: p
20915
20915
  }),
20916
- u("aside", Ib, [
20917
- u("header", wb, [
20918
- u("h2", xb, [
20916
+ u("aside", wb, [
20917
+ u("header", xb, [
20918
+ u("h2", bb, [
20919
20919
  D(y(n(v)("Уведомления")) + " ", 1),
20920
- n(t).unreadCount > 0 ? (c(), h("span", bb, y(n(t).unreadCount), 1)) : H("", !0)
20920
+ n(t).unreadCount > 0 ? (c(), h("span", Lb, y(n(t).unreadCount), 1)) : H("", !0)
20921
20921
  ]),
20922
- u("div", Lb, [
20922
+ u("div", Cb, [
20923
20923
  n(t).unreadCount > 0 ? (c(), h("button", {
20924
20924
  key: 0,
20925
20925
  type: "button",
20926
20926
  class: "admin-notif-drawer__mark-all",
20927
20927
  onClick: i
20928
20928
  }, [
20929
- w(n(ee), {
20929
+ w(n(ae), {
20930
20930
  icon: n(i1),
20931
20931
  size: 14
20932
20932
  }, null, 8, ["icon"]),
@@ -20938,15 +20938,15 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20938
20938
  "aria-label": n(v)("Закрыть"),
20939
20939
  onClick: p
20940
20940
  }, [
20941
- w(n(ee), {
20941
+ w(n(ae), {
20942
20942
  icon: n(He),
20943
20943
  size: 16
20944
20944
  }, null, 8, ["icon"])
20945
- ], 8, Cb)
20945
+ ], 8, _b)
20946
20946
  ])
20947
20947
  ]),
20948
- u("nav", _b, [
20949
- (c(), h(X, null, ae(l, (S) => u("button", {
20948
+ u("nav", Sb, [
20949
+ (c(), h(X, null, ee(l, (S) => u("button", {
20950
20950
  key: S.key,
20951
20951
  type: "button",
20952
20952
  role: "tab",
@@ -20960,12 +20960,12 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20960
20960
  onClick: (Z) => d(S.key)
20961
20961
  }, [
20962
20962
  D(y(S.label) + " ", 1),
20963
- u("span", qb, y(C.value[S.key]), 1)
20964
- ], 10, Sb)), 64))
20963
+ u("span", Ab, y(C.value[S.key]), 1)
20964
+ ], 10, qb)), 64))
20965
20965
  ]),
20966
- u("div", Ab, [
20967
- n(t).loading && n(t).items.length === 0 ? (c(), h("div", zb, y(n(v)("Загрузка…")), 1)) : n(t).items.length === 0 ? (c(), h("div", Hb, y(n(v)("Нет уведомлений")), 1)) : (c(), h("ol", Vb, [
20968
- (c(!0), h(X, null, ae(n(t).items, (S) => (c(), h("li", {
20966
+ u("div", zb, [
20967
+ n(t).loading && n(t).items.length === 0 ? (c(), h("div", Hb, y(n(v)("Загрузка…")), 1)) : n(t).items.length === 0 ? (c(), h("div", Vb, y(n(v)("Нет уведомлений")), 1)) : (c(), h("ol", Pb, [
20968
+ (c(!0), h(X, null, ee(n(t).items, (S) => (c(), h("li", {
20969
20969
  key: S.id,
20970
20970
  class: fe([
20971
20971
  "admin-notif-drawer__item",
@@ -20978,31 +20978,31 @@ const Px = ["data-depth"], Fx = ["aria-expanded", "title"], jx = { class: "uid-s
20978
20978
  "data-variant": k(S),
20979
20979
  "aria-hidden": "true"
20980
20980
  }, [
20981
- w(n(ee), {
20981
+ w(n(ae), {
20982
20982
  icon: m(S),
20983
20983
  size: 14
20984
20984
  }, null, 8, ["icon"])
20985
- ], 8, Fb),
20986
- u("div", jb, [
20987
- u("div", Db, [
20988
- u("span", Bb, y(b(S).title), 1),
20989
- u("span", Rb, y(g(S.created_at)), 1)
20985
+ ], 8, jb),
20986
+ u("div", Db, [
20987
+ u("div", Bb, [
20988
+ u("span", Rb, y(b(S).title), 1),
20989
+ u("span", $b, y(g(S.created_at)), 1)
20990
20990
  ]),
20991
- b(S).description ? (c(), h("div", $b, y(b(S).description), 1)) : H("", !0)
20991
+ b(S).description ? (c(), h("div", Tb, y(b(S).description), 1)) : H("", !0)
20992
20992
  ]),
20993
- S.read_at === null ? (c(), h("span", Tb)) : H("", !0),
20993
+ S.read_at === null ? (c(), h("span", Ub)) : H("", !0),
20994
20994
  u("button", {
20995
20995
  type: "button",
20996
20996
  class: "admin-notif-drawer__item-delete",
20997
20997
  "aria-label": n(v)("Удалить"),
20998
20998
  onClick: me((Z) => r(S, Z), ["stop"])
20999
20999
  }, [
21000
- w(n(ee), {
21000
+ w(n(ae), {
21001
21001
  icon: n(He),
21002
21002
  size: 12
21003
21003
  }, null, 8, ["icon"])
21004
- ], 8, Ub)
21005
- ], 10, Pb))), 128))
21004
+ ], 8, Ob)
21005
+ ], 10, Fb))), 128))
21006
21006
  ]))
21007
21007
  ])
21008
21008
  ])
@@ -21033,11 +21033,11 @@ const pe = {
21033
21033
  function B9() {
21034
21034
  return rI(YI, {});
21035
21035
  }
21036
- const Eb = { class: "admin-page-host" }, Zb = /* @__PURE__ */ ne({
21036
+ const Zb = { class: "admin-page-host" }, Wb = /* @__PURE__ */ ne({
21037
21037
  __name: "AdminApp",
21038
21038
  setup(a) {
21039
21039
  const t = l1(), o = Qe(), l = B9(), d = co();
21040
- Ww(M(() => d.current === "en" ? Gw : Nw));
21040
+ Gw(M(() => d.current === "en" ? Nw : Xw));
21041
21041
  const i = M(() => {
21042
21042
  const b = o.user;
21043
21043
  return b?.impersonator ? { asName: String(b?.name ?? "?") } : null;
@@ -21058,20 +21058,20 @@ const Eb = { class: "admin-page-host" }, Zb = /* @__PURE__ */ ne({
21058
21058
  return (b, C) => {
21059
21059
  const I = H9("router-view");
21060
21060
  return c(), h(X, null, [
21061
- w(gb),
21062
- r.value ? (c(), z(yb, {
21061
+ w(Mb),
21062
+ r.value ? (c(), z(pb, {
21063
21063
  key: 0,
21064
21064
  impersonation: i.value,
21065
21065
  brand: n(l),
21066
21066
  onExitImpersonation: s
21067
21067
  }, {
21068
21068
  default: x(() => [
21069
- u("div", Eb, [
21069
+ u("div", Zb, [
21070
21070
  w(I, null, {
21071
21071
  default: x(({ Component: L }) => [
21072
21072
  w(_9, { name: g.value }, {
21073
21073
  default: x(() => [
21074
- n(m) ? (c(), z($e(L), { key: 0 })) : (c(), z(vb, { key: 1 }))
21074
+ n(m) ? (c(), z($e(L), { key: 0 })) : (c(), z(fb, { key: 1 }))
21075
21075
  ]),
21076
21076
  _: 2
21077
21077
  }, 1032, ["name"])
@@ -21092,8 +21092,8 @@ const Eb = { class: "admin-page-host" }, Zb = /* @__PURE__ */ ne({
21092
21092
  ]),
21093
21093
  _: 1
21094
21094
  })),
21095
- w(Ob),
21096
- w(n(Xw))
21095
+ w(Eb),
21096
+ w(n(Kw))
21097
21097
  ], 64);
21098
21098
  };
21099
21099
  }
@@ -21240,7 +21240,7 @@ function R9() {
21240
21240
  }
21241
21241
  };
21242
21242
  }
21243
- const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF = _o.clear, ZF = _o.registerBundle, ew = /* @__PURE__ */ ne({
21243
+ const _o = R9(), Gb = _o.register, Nb = _o.get, Xb = _o.has, Kb = _o.list, ZF = _o.clear, WF = _o.registerBundle, ew = /* @__PURE__ */ ne({
21244
21244
  __name: "UnknownWidget",
21245
21245
  props: {
21246
21246
  type: {}
@@ -21258,13 +21258,13 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
21258
21258
  _: 1
21259
21259
  }));
21260
21260
  }
21261
- }), Kb = /* @__PURE__ */ ne({
21261
+ }), aw = /* @__PURE__ */ ne({
21262
21262
  __name: "WidgetRenderer",
21263
21263
  props: {
21264
21264
  node: {}
21265
21265
  },
21266
21266
  setup(a) {
21267
- const t = a, o = M(() => Gb(t.node.type)), l = M(() => {
21267
+ const t = a, o = M(() => Nb(t.node.type)), l = M(() => {
21268
21268
  const {
21269
21269
  type: d,
21270
21270
  span: i,
@@ -21301,7 +21301,7 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
21301
21301
  title: n(v)("Перетащить"),
21302
21302
  "data-drag-handle": "true"
21303
21303
  }, [
21304
- w(n(ee), {
21304
+ w(n(ae), {
21305
21305
  icon: n(vo),
21306
21306
  size: 14
21307
21307
  }, null, 8, ["icon"])
@@ -21313,7 +21313,7 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
21313
21313
  title: n(v)("Настройки"),
21314
21314
  onClick: o[0] || (o[0] = (l) => t.$emit("configure"))
21315
21315
  }, [
21316
- w(n(ee), {
21316
+ w(n(ae), {
21317
21317
  icon: n(Io),
21318
21318
  size: 14
21319
21319
  }, null, 8, ["icon"])
@@ -21325,7 +21325,7 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
21325
21325
  title: n(v)("Удалить"),
21326
21326
  onClick: o[1] || (o[1] = (l) => t.$emit("remove"))
21327
21327
  }, [
21328
- w(n(ee), {
21328
+ w(n(ae), {
21329
21329
  icon: n(He),
21330
21330
  size: 14
21331
21331
  }, null, 8, ["icon"])
@@ -21386,7 +21386,7 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
21386
21386
  function d(B) {
21387
21387
  l("restore", B), l("close");
21388
21388
  }
21389
- const i = M(() => Xb()), s = A(""), r = A(""), p = A("6"), m = A(`# Новая заметка
21389
+ const i = M(() => Kb()), s = A(""), r = A(""), p = A("6"), m = A(`# Новая заметка
21390
21390
 
21391
21391
  Текст…`), k = A("LABEL"), g = A("0"), b = A("50"), C = A(v("Янв, Фев, Мар, Апр")), I = A("10, 20, 15, 30"), L = A(""), f = A("5");
21392
21392
  Ie(
@@ -21481,7 +21481,7 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
21481
21481
  "aria-label": n(v)("Закрыть"),
21482
21482
  onClick: P
21483
21483
  }, [
21484
- w(n(ee), {
21484
+ w(n(ae), {
21485
21485
  icon: n(He),
21486
21486
  size: 16
21487
21487
  }, null, 8, ["icon"])
@@ -21491,7 +21491,7 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
21491
21491
  a.mode === "add" ? (c(), h("div", rL, [
21492
21492
  u("label", dL, y(n(v)("Скрытые виджеты")), 1),
21493
21493
  a.restorable.length === 0 ? (c(), h("p", sL, y(n(v)("Нечего добавлять — все виджеты дашборда уже показаны.")), 1)) : (c(), h("div", hL, [
21494
- (c(!0), h(X, null, ae(a.restorable, (O) => (c(), h("button", {
21494
+ (c(!0), h(X, null, ee(a.restorable, (O) => (c(), h("button", {
21495
21495
  key: O.slug,
21496
21496
  type: "button",
21497
21497
  class: "admin-dialog__type-card",
@@ -21509,7 +21509,7 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
21509
21509
  u("span", { class: "admin-dialog__required" }, "*")
21510
21510
  ], -1)),
21511
21511
  i.value.length === 0 ? (c(), h("p", mL, y(n(v)("Нет виджетов для добавления — все доступные типы уже на дашборде")) + " " + y(n(v)("или ни один не зарегистрирован.")), 1)) : (c(), h("div", vL, [
21512
- (c(!0), h(X, null, ae(i.value, (O) => (c(), h("button", {
21512
+ (c(!0), h(X, null, ee(i.value, (O) => (c(), h("button", {
21513
21513
  key: O,
21514
21514
  type: "button",
21515
21515
  class: fe([
@@ -21649,7 +21649,7 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
21649
21649
  }), EL = { class: "admin-page admin-dashboard" }, ZL = { class: "admin-page__hd" }, WL = { class: "admin-page__title-wrap" }, GL = { class: "admin-page__title" }, NL = {
21650
21650
  key: 0,
21651
21651
  class: "admin-page__count"
21652
- }, XL = { class: "admin-page__actions" }, KL = ["draggable", "onDragstart", "onDragover", "onDrop"], JL = ["aria-label", "onMousedown"], YL = 140, QL = 16, aw = /* @__PURE__ */ ne({
21652
+ }, XL = { class: "admin-page__actions" }, KL = ["draggable", "onDragstart", "onDragover", "onDrop"], JL = ["aria-label", "onMousedown"], YL = 140, QL = 16, tw = /* @__PURE__ */ ne({
21653
21653
  __name: "DashboardPage",
21654
21654
  props: {
21655
21655
  slug: { default: void 0 },
@@ -21960,13 +21960,13 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
21960
21960
  "data-testid": "dash-period"
21961
21961
  }, {
21962
21962
  prepend: x(() => [
21963
- w(n(ee), {
21963
+ w(n(ae), {
21964
21964
  icon: n(ho),
21965
21965
  size: 14
21966
21966
  }, null, 8, ["icon"])
21967
21967
  ]),
21968
21968
  append: x(() => [
21969
- w(n(ee), {
21969
+ w(n(ae), {
21970
21970
  icon: n(h1),
21971
21971
  size: 14
21972
21972
  }, null, 8, ["icon"])
@@ -21978,7 +21978,7 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
21978
21978
  })
21979
21979
  ]),
21980
21980
  default: x(() => [
21981
- (c(!0), h(X, null, ae(Z.value, (le) => (c(), z(n(De), {
21981
+ (c(!0), h(X, null, ee(Z.value, (le) => (c(), z(n(De), {
21982
21982
  key: le.key,
21983
21983
  onClick: (re) => T(le.key)
21984
21984
  }, {
@@ -21997,7 +21997,7 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
21997
21997
  onClick: O9
21998
21998
  }, {
21999
21999
  prepend: x(() => [
22000
- w(n(ee), {
22000
+ w(n(ae), {
22001
22001
  icon: n(po),
22002
22002
  size: 14
22003
22003
  }, null, 8, ["icon"])
@@ -22015,7 +22015,7 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
22015
22015
  onClick: _
22016
22016
  }, {
22017
22017
  prepend: x(() => [
22018
- w(n(ee), {
22018
+ w(n(ae), {
22019
22019
  icon: n(Te),
22020
22020
  size: 14
22021
22021
  }, null, 8, ["icon"])
@@ -22031,7 +22031,7 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
22031
22031
  onClick: ce
22032
22032
  }, {
22033
22033
  prepend: x(() => [
22034
- w(n(ee), {
22034
+ w(n(ae), {
22035
22035
  icon: n(no),
22036
22036
  size: 14
22037
22037
  }, null, 8, ["icon"])
@@ -22071,7 +22071,7 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
22071
22071
  onClick: q
22072
22072
  }, {
22073
22073
  prepend: x(() => [
22074
- w(n(ee), {
22074
+ w(n(ae), {
22075
22075
  icon: n(u1),
22076
22076
  size: 14
22077
22077
  }, null, 8, ["icon"])
@@ -22089,7 +22089,7 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
22089
22089
  { "admin-dashboard__grid--editing": n(i).editMode }
22090
22090
  ])
22091
22091
  }, [
22092
- (c(!0), h(X, null, ae(L.value, (le, re) => (c(), h("div", {
22092
+ (c(!0), h(X, null, ee(L.value, (le, re) => (c(), h("div", {
22093
22093
  key: le.layoutSlug,
22094
22094
  class: fe(["admin-dashboard__cell", {
22095
22095
  "admin-dashboard__cell--editing": n(i).editMode,
@@ -22107,7 +22107,7 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
22107
22107
  onDrop: (ve) => U9(re, ve),
22108
22108
  onDragend: $9
22109
22109
  }, [
22110
- w(Kb, {
22110
+ w(aw, {
22111
22111
  node: le.node
22112
22112
  }, null, 8, ["node"]),
22113
22113
  n(i).editMode ? (c(), z(aL, {
@@ -22156,7 +22156,7 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
22156
22156
  m && p.openDashboard(m);
22157
22157
  },
22158
22158
  { immediate: !0 }
22159
- ), (m, k) => r.value ? (c(), z(aw, {
22159
+ ), (m, k) => r.value ? (c(), z(tw, {
22160
22160
  key: 0,
22161
22161
  slug: r.value
22162
22162
  }, null, 8, ["slug"])) : (c(), h("div", eC, [
@@ -22173,7 +22173,7 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
22173
22173
  i.value.length ? (c(), h("section", nC, [
22174
22174
  u("h2", oC, y(n(v)("Ресурсы")), 1),
22175
22175
  u("ul", cC, [
22176
- (c(!0), h(X, null, ae(i.value, (g) => (c(), h("li", {
22176
+ (c(!0), h(X, null, ee(i.value, (g) => (c(), h("li", {
22177
22177
  key: g.slug
22178
22178
  }, [
22179
22179
  u("button", {
@@ -22355,27 +22355,27 @@ const _o = R9(), Wb = _o.register, Gb = _o.get, Nb = _o.has, Xb = _o.list, EF =
22355
22355
  setErrors: P,
22356
22356
  clearErrors: B
22357
22357
  };
22358
- }), kI = /* @__PURE__ */ Symbol("admin.infolist-record");
22359
- function tw(a) {
22360
- Vw(kI, a);
22358
+ }), mI = /* @__PURE__ */ Symbol("admin.infolist-record");
22359
+ function nw(a) {
22360
+ Pw(mI, a);
22361
22361
  }
22362
- function WF() {
22363
- const a = rI(kI);
22362
+ function GF() {
22363
+ const a = rI(mI);
22364
22364
  if (!a)
22365
22365
  throw new Error("useRecord() called outside of provideRecord() scope");
22366
22366
  return a;
22367
22367
  }
22368
22368
  function N2() {
22369
- return rI(kI, null);
22369
+ return rI(mI, null);
22370
22370
  }
22371
- const So = R9(), qo = R9(), wC = So.register, nw = So.get, xC = So.has, GF = So.list, bC = qo.register, LI = qo.get, LC = qo.has, NF = qo.list;
22372
- function XF() {
22371
+ const So = R9(), qo = R9(), wC = So.register, ow = So.get, xC = So.has, NF = So.list, bC = qo.register, CI = qo.get, LC = qo.has, XF = qo.list;
22372
+ function KF() {
22373
22373
  So.clear(), qo.clear();
22374
22374
  }
22375
- function KF(a) {
22375
+ function JF(a) {
22376
22376
  a.fields && So.registerBundle(a.fields), a.layouts && qo.registerBundle(a.layouts);
22377
22377
  }
22378
- const ow = /* @__PURE__ */ ne({
22378
+ const cw = /* @__PURE__ */ ne({
22379
22379
  __name: "UnknownField",
22380
22380
  props: {
22381
22381
  type: {},
@@ -22397,13 +22397,13 @@ const ow = /* @__PURE__ */ ne({
22397
22397
  _: 1
22398
22398
  }));
22399
22399
  }
22400
- }), mI = /* @__PURE__ */ ne({
22400
+ }), vI = /* @__PURE__ */ ne({
22401
22401
  __name: "FieldRenderer",
22402
22402
  props: {
22403
22403
  node: {}
22404
22404
  },
22405
22405
  setup(a) {
22406
- const t = a, o = M(() => nw(t.node.type)), l = sx(), d = M(() => {
22406
+ const t = a, o = M(() => ow(t.node.type)), l = hx(), d = M(() => {
22407
22407
  const r = l?.mode;
22408
22408
  return r ? t.node.visibility?.[r] !== !1 : !0;
22409
22409
  }), i = M(() => {
@@ -22422,7 +22422,7 @@ const ow = /* @__PURE__ */ ne({
22422
22422
  return { ...m, ...p ?? {} };
22423
22423
  });
22424
22424
  return (r, p) => d.value && i.value ? (c(), h(X, { key: 0 }, [
22425
- o.value ? (c(), z($e(o.value), O2(Qn({ key: 0 }, s.value)), null, 16)) : (c(), z(ow, {
22425
+ o.value ? (c(), z($e(o.value), O2(Qn({ key: 0 }, s.value)), null, 16)) : (c(), z(cw, {
22426
22426
  key: 1,
22427
22427
  type: a.node.type,
22428
22428
  name: a.node.name
@@ -22439,19 +22439,19 @@ const ow = /* @__PURE__ */ ne({
22439
22439
  if (t.node.kind === "field")
22440
22440
  return { kind: "field" };
22441
22441
  if (t.node.kind === "layout") {
22442
- const s = LI(t.node.type);
22442
+ const s = CI(t.node.type);
22443
22443
  return s ? { kind: "layout", component: s } : { kind: "unknown" };
22444
22444
  }
22445
- const i = LI(t.node.type);
22446
- return i ? { kind: "layout", component: i } : nw(t.node.type) ? { kind: "field" } : { kind: "unknown" };
22445
+ const i = CI(t.node.type);
22446
+ return i ? { kind: "layout", component: i } : ow(t.node.type) ? { kind: "field" } : { kind: "unknown" };
22447
22447
  }), l = M(() => {
22448
22448
  const { type: i, kind: s, ...r } = t.node;
22449
22449
  return r;
22450
22450
  }), d = M(() => t.node);
22451
- return (i, s) => o.value.kind === "layout" && o.value.component ? (c(), z($e(o.value.component), O2(Qn({ key: 0 }, l.value)), null, 16)) : o.value.kind === "field" ? (c(), z(mI, {
22451
+ return (i, s) => o.value.kind === "layout" && o.value.component ? (c(), z($e(o.value.component), O2(Qn({ key: 0 }, l.value)), null, 16)) : o.value.kind === "field" ? (c(), z(vI, {
22452
22452
  key: 1,
22453
22453
  node: d.value
22454
- }, null, 8, ["node"])) : (c(), z(ow, {
22454
+ }, null, 8, ["node"])) : (c(), z(cw, {
22455
22455
  key: 2,
22456
22456
  type: a.node.type,
22457
22457
  name: a.node.name
@@ -22473,7 +22473,7 @@ const ow = /* @__PURE__ */ ne({
22473
22473
  },
22474
22474
  setup(a) {
22475
22475
  const t = a, o = l1(), l = IC(), d = M(() => t.slug ? t.slug : String(o.params.slug ?? o.meta?.slug ?? "")), i = V9(l.state, l.errors);
22476
- tw(l.state), Ie(
22476
+ nw(l.state), Ie(
22477
22477
  () => l.errors,
22478
22478
  (k) => {
22479
22479
  i.setErrors({ ...k });
@@ -22511,7 +22511,7 @@ const ow = /* @__PURE__ */ ne({
22511
22511
  n(l).description ? (c(), h("p", AC, y(n(l).description), 1)) : H("", !0)
22512
22512
  ]),
22513
22513
  n(l).commandBar.length > 0 ? (c(), h("div", zC, [
22514
- (c(!0), h(X, null, ae(n(l).commandBar, (b) => (c(), z(n(oe), {
22514
+ (c(!0), h(X, null, ee(n(l).commandBar, (b) => (c(), z(n(oe), {
22515
22515
  key: b.name,
22516
22516
  variant: m(b),
22517
22517
  icon: b.icon ?? void 0,
@@ -22548,7 +22548,7 @@ const ow = /* @__PURE__ */ ne({
22548
22548
  _: 1
22549
22549
  })) : H("", !0),
22550
22550
  n(l).loading ? (c(), h("div", HC, [
22551
- (c(), h(X, null, ae(4, (b) => w(n(Re), {
22551
+ (c(), h(X, null, ee(4, (b) => w(n(Re), {
22552
22552
  key: b,
22553
22553
  height: "40px"
22554
22554
  })), 64))
@@ -22558,7 +22558,7 @@ const ow = /* @__PURE__ */ ne({
22558
22558
  class: "admin-screen-page__body"
22559
22559
  }, {
22560
22560
  default: x(() => [
22561
- (c(!0), h(X, null, ae(s.value, (b, C) => (c(), z(bo, {
22561
+ (c(!0), h(X, null, ee(s.value, (b, C) => (c(), z(bo, {
22562
22562
  key: C,
22563
22563
  node: b
22564
22564
  }, null, 8, ["node"]))), 128))
@@ -22639,7 +22639,7 @@ const ow = /* @__PURE__ */ ne({
22639
22639
  "data-testid": "login-password"
22640
22640
  }, null, 8, ["modelValue", "label", "disabled", "error"]),
22641
22641
  u("div", PC, [
22642
- w(n(UI), {
22642
+ w(n(OI), {
22643
22643
  modelValue: s.value,
22644
22644
  "onUpdate:modelValue": I[2] || (I[2] = (L) => s.value = L),
22645
22645
  disabled: r.value,
@@ -22755,7 +22755,7 @@ const ow = /* @__PURE__ */ ne({
22755
22755
  class: "admin-code-input",
22756
22756
  onPaste: f
22757
22757
  }, [
22758
- (c(!0), h(X, null, ae(i.value, (P, B) => (c(), h("input", {
22758
+ (c(!0), h(X, null, ee(i.value, (P, B) => (c(), h("input", {
22759
22759
  key: B,
22760
22760
  ref_for: !0,
22761
22761
  ref: (F) => C(B, F),
@@ -22967,7 +22967,7 @@ const ow = /* @__PURE__ */ ne({
22967
22967
  loading: i.value
22968
22968
  }, {
22969
22969
  prepend: x(() => [
22970
- w(n(ee), {
22970
+ w(n(ae), {
22971
22971
  icon: n(fo),
22972
22972
  size: 14
22973
22973
  }, null, 8, ["icon"])
@@ -23083,7 +23083,7 @@ const ow = /* @__PURE__ */ ne({
23083
23083
  loading: m.value
23084
23084
  }, {
23085
23085
  prepend: x(() => [
23086
- w(n(ee), {
23086
+ w(n(ae), {
23087
23087
  icon: n(i1),
23088
23088
  size: 14
23089
23089
  }, null, 8, ["icon"])
@@ -23100,8 +23100,8 @@ const ow = /* @__PURE__ */ ne({
23100
23100
  })
23101
23101
  ]));
23102
23102
  }
23103
- }), CI = { page: 1, per_page: 20, total: 0, last_page: 1 }, cw = e1("admin-resource-index", () => {
23104
- const a = A(null), t = A([]), o = A({ ...CI }), l = A(!1), d = A(!1), i = A(null);
23103
+ }), _I = { page: 1, per_page: 20, total: 0, last_page: 1 }, iw = e1("admin-resource-index", () => {
23104
+ const a = A(null), t = A([]), o = A({ ..._I }), l = A(!1), d = A(!1), i = A(null);
23105
23105
  let s = null;
23106
23106
  const r = 200, p = A(""), m = A({}), k = A(null), g = A(null), b = A(/* @__PURE__ */ new Set()), C = M(() => !l.value && i.value === null && t.value.length === 0), I = M(() => b.value.size), L = M(() => b.value.size > 0), f = M(() => i.value !== null), S = M(() => b.value.size === 0 || t.value.length === 0 ? "none" : t.value.every((E) => b.value.has(Z(E))) ? "all" : "mixed");
23107
23107
  function Z(q) {
@@ -23111,7 +23111,7 @@ const ow = /* @__PURE__ */ ne({
23111
23111
  a.value !== q && (a.value = q, V(), l.value = !0);
23112
23112
  }
23113
23113
  function V() {
23114
- t.value = [], o.value = { ...CI }, l.value = !1, i.value = null, p.value = "", m.value = {}, k.value = null, g.value = null, b.value = /* @__PURE__ */ new Set();
23114
+ t.value = [], o.value = { ..._I }, l.value = !1, i.value = null, p.value = "", m.value = {}, k.value = null, g.value = null, b.value = /* @__PURE__ */ new Set();
23115
23115
  }
23116
23116
  function T(q = {}) {
23117
23117
  const E = {
@@ -23215,17 +23215,17 @@ const ow = /* @__PURE__ */ ne({
23215
23215
  };
23216
23216
  }), m_ = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
23217
23217
  __proto__: null,
23218
- useResourceIndexStore: cw
23219
- }, Symbol.toStringTag, { value: "Module" })), _I = "d.m.Y H:i:s", v_ = "d.m.Y", f_ = /^\d{4}-\d{2}-\d{2}[T\s]\d{2}:\d{2}/;
23218
+ useResourceIndexStore: iw
23219
+ }, Symbol.toStringTag, { value: "Module" })), SI = "d.m.Y H:i:s", v_ = "d.m.Y", f_ = /^\d{4}-\d{2}-\d{2}[T\s]\d{2}:\d{2}/;
23220
23220
  function X2(a, t, o = {}) {
23221
23221
  if (a == null) return "";
23222
23222
  if (!t && typeof a == "string" && f_.test(a))
23223
- return N9(a, _I);
23223
+ return N9(a, SI);
23224
23224
  switch (t) {
23225
23225
  case "date":
23226
23226
  return N9(String(a), o.format ?? v_);
23227
23227
  case "datetime":
23228
- return N9(String(a), o.format ?? _I);
23228
+ return N9(String(a), o.format ?? SI);
23229
23229
  case "money":
23230
23230
  return g_(a, o.currency ?? "RUB", o.decimals ?? 2);
23231
23231
  case "boolean":
@@ -23233,12 +23233,12 @@ function X2(a, t, o = {}) {
23233
23233
  case "bytes":
23234
23234
  return I_(a);
23235
23235
  case "json":
23236
- return SI(a);
23236
+ return qI(a);
23237
23237
  default:
23238
- return Array.isArray(a) || a !== null && typeof a == "object" ? SI(a) : String(a);
23238
+ return Array.isArray(a) || a !== null && typeof a == "object" ? qI(a) : String(a);
23239
23239
  }
23240
23240
  }
23241
- function SI(a) {
23241
+ function qI(a) {
23242
23242
  try {
23243
23243
  return JSON.stringify(a, null, 2);
23244
23244
  } catch {
@@ -23284,7 +23284,7 @@ function I_(a) {
23284
23284
  const t = typeof a == "number" ? a : Number(a);
23285
23285
  return isNaN(t) ? String(a) : t < 1024 ? `${t} B` : t < 1024 * 1024 ? `${(t / 1024).toFixed(1)} KB` : t < 1024 * 1024 * 1024 ? `${(t / 1024 / 1024).toFixed(1)} MB` : `${(t / 1024 / 1024 / 1024).toFixed(1)} GB`;
23286
23286
  }
23287
- const qI = ne({
23287
+ const AI = ne({
23288
23288
  name: "FilterEditor",
23289
23289
  props: {
23290
23290
  filter: { type: Object, required: !0 },
@@ -23417,7 +23417,7 @@ const qI = ne({
23417
23417
  }, T_ = { class: "admin-toolbar__chip-text" }, U_ = ["checked", "onChange"], O_ = {
23418
23418
  type: "button",
23419
23419
  class: "admin-toolbar__chip"
23420
- }, E_ = { class: "admin-toolbar__chip-text" }, Z_ = ["placeholder"], W_ = { class: "admin-toolbar__popover-actions" }, AI = 4, G_ = /* @__PURE__ */ ne({
23420
+ }, E_ = { class: "admin-toolbar__chip-text" }, Z_ = ["placeholder"], W_ = { class: "admin-toolbar__popover-actions" }, zI = 4, G_ = /* @__PURE__ */ ne({
23421
23421
  __name: "AdminFilterToolbar",
23422
23422
  props: {
23423
23423
  search: {},
@@ -23450,11 +23450,11 @@ const qI = ne({
23450
23450
  () => o.filters.filter((_) => !s(o.values[_.name]))
23451
23451
  ), m = A(/* @__PURE__ */ new Set()), k = M(
23452
23452
  () => p.value.filter(
23453
- (_, j) => m.value.has(_.name) || j < AI
23453
+ (_, j) => m.value.has(_.name) || j < zI
23454
23454
  )
23455
23455
  ), g = M(
23456
23456
  () => p.value.filter(
23457
- (_, j) => !m.value.has(_.name) && j >= AI
23457
+ (_, j) => !m.value.has(_.name) && j >= zI
23458
23458
  )
23459
23459
  );
23460
23460
  function b(_) {
@@ -23533,7 +23533,7 @@ const qI = ne({
23533
23533
  return (_, j) => (c(), h("div", w_, [
23534
23534
  u("div", x_, [
23535
23535
  u("label", b_, [
23536
- w(n(ee), {
23536
+ w(n(ae), {
23537
23537
  icon: n(z1),
23538
23538
  size: 14,
23539
23539
  class: "admin-toolbar__search-icon"
@@ -23550,12 +23550,12 @@ const qI = ne({
23550
23550
  ])
23551
23551
  ]),
23552
23552
  a.filters.length > 0 ? (c(), h("span", C_)) : H("", !0),
23553
- (c(!0), h(X, null, ae(r.value, (q) => (c(), z(n(je), {
23553
+ (c(!0), h(X, null, ee(r.value, (q) => (c(), z(n(je), {
23554
23554
  key: `active-${q.name}`
23555
23555
  }, {
23556
23556
  trigger: x(() => [
23557
23557
  u("button", __, [
23558
- R(q.icon) !== null ? (c(), z(n(ee), {
23558
+ R(q.icon) !== null ? (c(), z(n(ae), {
23559
23559
  key: 0,
23560
23560
  icon: R(q.icon),
23561
23561
  size: 14
@@ -23569,7 +23569,7 @@ const qI = ne({
23569
23569
  onClick: me((E) => I(q.name), ["stop"]),
23570
23570
  onKeydown: A1(me((E) => I(q.name), ["stop"]), ["enter"])
23571
23571
  }, [
23572
- w(n(ee), {
23572
+ w(n(ae), {
23573
23573
  icon: n(He),
23574
23574
  size: 12
23575
23575
  }, null, 8, ["icon"])
@@ -23582,7 +23582,7 @@ const qI = ne({
23582
23582
  onKeydown: j[1] || (j[1] = me(() => {
23583
23583
  }, ["stop"]))
23584
23584
  }, [
23585
- w(n(qI), {
23585
+ w(n(AI), {
23586
23586
  filter: q,
23587
23587
  draft: S(q.name),
23588
23588
  "is-checked": (E) => T(q.name, E),
@@ -23616,12 +23616,12 @@ const qI = ne({
23616
23616
  ]),
23617
23617
  _: 2
23618
23618
  }, 1024))), 128)),
23619
- (c(!0), h(X, null, ae(k.value, (q) => (c(), z(n(je), {
23619
+ (c(!0), h(X, null, ee(k.value, (q) => (c(), z(n(je), {
23620
23620
  key: `inactive-${q.name}`
23621
23621
  }, {
23622
23622
  trigger: x(() => [
23623
23623
  u("button", z_, [
23624
- R(q.icon) !== null ? (c(), z(n(ee), {
23624
+ R(q.icon) !== null ? (c(), z(n(ae), {
23625
23625
  key: 0,
23626
23626
  icon: R(q.icon),
23627
23627
  size: 14
@@ -23635,7 +23635,7 @@ const qI = ne({
23635
23635
  onKeydown: j[2] || (j[2] = me(() => {
23636
23636
  }, ["stop"]))
23637
23637
  }, [
23638
- w(n(qI), {
23638
+ w(n(AI), {
23639
23639
  filter: q,
23640
23640
  draft: S(q.name),
23641
23641
  "is-checked": (E) => T(q.name, E),
@@ -23672,7 +23672,7 @@ const qI = ne({
23672
23672
  g.value.length > 0 ? (c(), z(n(je), { key: 1 }, {
23673
23673
  trigger: x(() => [
23674
23674
  u("button", P_, [
23675
- w(n(ee), {
23675
+ w(n(ae), {
23676
23676
  icon: n(Te),
23677
23677
  size: 14
23678
23678
  }, null, 8, ["icon"]),
@@ -23685,14 +23685,14 @@ const qI = ne({
23685
23685
  onKeydown: j[3] || (j[3] = me(() => {
23686
23686
  }, ["stop"]))
23687
23687
  }, [
23688
- (c(!0), h(X, null, ae(g.value, (q) => (c(), h("button", {
23688
+ (c(!0), h(X, null, ee(g.value, (q) => (c(), h("button", {
23689
23689
  key: q.name,
23690
23690
  type: "button",
23691
23691
  role: "menuitem",
23692
23692
  class: "admin-toolbar__list-item",
23693
23693
  onClick: (E) => b(q.name)
23694
23694
  }, [
23695
- R(q.icon) !== null ? (c(), z(n(ee), {
23695
+ R(q.icon) !== null ? (c(), z(n(ae), {
23696
23696
  key: 0,
23697
23697
  icon: R(q.icon),
23698
23698
  size: 14
@@ -23711,7 +23711,7 @@ const qI = ne({
23711
23711
  onClick: j[4] || (j[4] = (q) => l("reset"))
23712
23712
  }, {
23713
23713
  prepend: x(() => [
23714
- w(n(ee), {
23714
+ w(n(ae), {
23715
23715
  icon: n(no),
23716
23716
  size: 14
23717
23717
  }, null, 8, ["icon"])
@@ -23725,7 +23725,7 @@ const qI = ne({
23725
23725
  P.value.length > 0 ? (c(), z(n(je), { key: 4 }, {
23726
23726
  trigger: x(() => [
23727
23727
  u("button", D_, [
23728
- w(n(ee), {
23728
+ w(n(ae), {
23729
23729
  icon: n(y2),
23730
23730
  size: 14
23731
23731
  }, null, 8, ["icon"]),
@@ -23745,14 +23745,14 @@ const qI = ne({
23745
23745
  onClick: j[5] || (j[5] = (q) => B(null, () => {
23746
23746
  }))
23747
23747
  }, [
23748
- a.groupBy ? H("", !0) : (c(), z(n(ee), {
23748
+ a.groupBy ? H("", !0) : (c(), z(n(ae), {
23749
23749
  key: 0,
23750
23750
  icon: n(i1),
23751
23751
  size: 14
23752
23752
  }, null, 8, ["icon"])),
23753
23753
  u("span", null, y(n(v)("Без группировки")), 1)
23754
23754
  ]),
23755
- (c(!0), h(X, null, ae(P.value, (q) => (c(), h("button", {
23755
+ (c(!0), h(X, null, ee(P.value, (q) => (c(), h("button", {
23756
23756
  key: F(q),
23757
23757
  type: "button",
23758
23758
  role: "menuitem",
@@ -23760,7 +23760,7 @@ const qI = ne({
23760
23760
  onClick: (E) => B(F(q), () => {
23761
23761
  })
23762
23762
  }, [
23763
- a.groupBy === F(q) ? (c(), z(n(ee), {
23763
+ a.groupBy === F(q) ? (c(), z(n(ae), {
23764
23764
  key: 0,
23765
23765
  icon: n(i1),
23766
23766
  size: 14
@@ -23774,7 +23774,7 @@ const qI = ne({
23774
23774
  a.columns.length > 0 ? (c(), z(n(je), { key: 5 }, {
23775
23775
  trigger: x(() => [
23776
23776
  u("button", $_, [
23777
- w(n(ee), {
23777
+ w(n(ae), {
23778
23778
  icon: n(x1),
23779
23779
  size: 14
23780
23780
  }, null, 8, ["icon"]),
@@ -23787,7 +23787,7 @@ const qI = ne({
23787
23787
  onKeydown: j[7] || (j[7] = me(() => {
23788
23788
  }, ["stop"]))
23789
23789
  }, [
23790
- (c(!0), h(X, null, ae(a.columns.filter((q) => F(q) !== ""), (q) => (c(), h("label", {
23790
+ (c(!0), h(X, null, ee(a.columns.filter((q) => F(q) !== ""), (q) => (c(), h("label", {
23791
23791
  key: F(q),
23792
23792
  class: "admin-toolbar__list-item admin-toolbar__list-item--checkbox"
23793
23793
  }, [
@@ -23805,7 +23805,7 @@ const qI = ne({
23805
23805
  a.enableSavedViews ? (c(), z(n(je), { key: 6 }, {
23806
23806
  trigger: x(() => [
23807
23807
  u("button", O_, [
23808
- w(n(ee), {
23808
+ w(n(ae), {
23809
23809
  icon: n(ao),
23810
23810
  size: 14
23811
23811
  }, null, 8, ["icon"]),
@@ -23849,7 +23849,7 @@ const qI = ne({
23849
23849
  ])
23850
23850
  ]));
23851
23851
  }
23852
- }), N_ = ["title"], X_ = ["disabled"], K_ = ["disabled"], J_ = ["disabled"], Y_ = ["value"], Q_ = ["disabled"], eS = ["disabled"], iw = /* @__PURE__ */ ne({
23852
+ }), N_ = ["title"], X_ = ["disabled"], K_ = ["disabled"], J_ = ["disabled"], Y_ = ["value"], Q_ = ["disabled"], eS = ["disabled"], lw = /* @__PURE__ */ ne({
23853
23853
  __name: "InlineEditCell",
23854
23854
  props: {
23855
23855
  resourceSlug: {},
@@ -23950,12 +23950,12 @@ const qI = ne({
23950
23950
  onClick: f[5] || (f[5] = me(() => {
23951
23951
  }, ["stop"]))
23952
23952
  }, [
23953
- (c(!0), h(X, null, ae(I.value, (S) => (c(), h("option", {
23953
+ (c(!0), h(X, null, ee(I.value, (S) => (c(), h("option", {
23954
23954
  key: S.value,
23955
23955
  value: S.value
23956
23956
  }, y(S.label), 9, Y_))), 128))
23957
23957
  ], 40, J_)), [
23958
- [Pw, i.value]
23958
+ [Fw, i.value]
23959
23959
  ]) : a.inputType === "textarea" ? s1((c(), h("textarea", {
23960
23960
  key: 4,
23961
23961
  ref_key: "inputRef",
@@ -24121,7 +24121,7 @@ const qI = ne({
24121
24121
  onClick: O
24122
24122
  }, {
24123
24123
  default: x(() => [
24124
- w(n(ee), { icon: n(Te) }, null, 8, ["icon"]),
24124
+ w(n(ae), { icon: n(Te) }, null, 8, ["icon"]),
24125
24125
  E[4] || (E[4] = D(" Создать ", -1))
24126
24126
  ]),
24127
24127
  _: 1
@@ -24139,9 +24139,9 @@ const qI = ne({
24139
24139
  trigger: x(() => [
24140
24140
  w(n(oe), { variant: "ghost" }, {
24141
24141
  default: x(() => [
24142
- w(n(ee), { icon: n(Oo) }, null, 8, ["icon"]),
24142
+ w(n(ae), { icon: n(Oo) }, null, 8, ["icon"]),
24143
24143
  E[5] || (E[5] = D(" Развернуть ", -1)),
24144
- w(n(ee), { icon: n(h1) }, null, 8, ["icon"])
24144
+ w(n(ae), { icon: n(h1) }, null, 8, ["icon"])
24145
24145
  ]),
24146
24146
  _: 1
24147
24147
  })
@@ -24173,7 +24173,7 @@ const qI = ne({
24173
24173
  onClick: te
24174
24174
  }, {
24175
24175
  default: x(() => [
24176
- w(n(ee), { icon: n(u1) }, null, 8, ["icon"]),
24176
+ w(n(ae), { icon: n(u1) }, null, 8, ["icon"]),
24177
24177
  E[6] || (E[6] = D(" Открыть ", -1))
24178
24178
  ]),
24179
24179
  _: 1
@@ -24183,12 +24183,12 @@ const qI = ne({
24183
24183
  onClick: G
24184
24184
  }, {
24185
24185
  default: x(() => [
24186
- w(n(ee), { icon: n(u1) }, null, 8, ["icon"]),
24186
+ w(n(ae), { icon: n(u1) }, null, 8, ["icon"]),
24187
24187
  E[7] || (E[7] = D(" Редактировать ", -1))
24188
24188
  ]),
24189
24189
  _: 1
24190
24190
  }),
24191
- (c(!0), h(X, null, ae(W.value, (ce) => (c(), z(n(oe), {
24191
+ (c(!0), h(X, null, ee(W.value, (ce) => (c(), z(n(oe), {
24192
24192
  key: ce.id,
24193
24193
  variant: ce.variant ?? "secondary",
24194
24194
  onClick: (ye) => R(ce)
@@ -24204,7 +24204,7 @@ const qI = ne({
24204
24204
  onClick: _
24205
24205
  }, {
24206
24206
  default: x(() => [
24207
- w(n(ee), { icon: n(Ue) }, null, 8, ["icon"]),
24207
+ w(n(ae), { icon: n(Ue) }, null, 8, ["icon"]),
24208
24208
  E[8] || (E[8] = D(" Удалить ", -1))
24209
24209
  ]),
24210
24210
  _: 1
@@ -24221,7 +24221,7 @@ const qI = ne({
24221
24221
  ], 64)) : H("", !0)
24222
24222
  ]),
24223
24223
  u("div", dS, [
24224
- r.value && i.value.length === 0 ? (c(), h(X, { key: 0 }, ae(6, (ce) => w(n(Re), { key: ce })), 64)) : p.value ? (c(), z(n(sI), {
24224
+ r.value && i.value.length === 0 ? (c(), h(X, { key: 0 }, ee(6, (ce) => w(n(Re), { key: ce })), 64)) : p.value ? (c(), z(n(sI), {
24225
24225
  key: 1,
24226
24226
  message: p.value.message,
24227
24227
  onRetry: f
@@ -24229,7 +24229,7 @@ const qI = ne({
24229
24229
  key: 2,
24230
24230
  title: n(v)("Нет данных"),
24231
24231
  hint: m.value.length > 0 ? n(v)("Ничего не найдено по запросу.") : null
24232
- }, null, 8, ["title", "hint"])) : (c(), z(n(Kw), {
24232
+ }, null, 8, ["title", "hint"])) : (c(), z(n(Jw), {
24233
24233
  key: 3,
24234
24234
  nodes: i.value,
24235
24235
  "virtual-root": L.value,
@@ -24278,7 +24278,7 @@ const qI = ne({
24278
24278
  }, AS = ["title", "onClick"], zS = ["title", "onClick"], HS = ["title", "onClick"], VS = ["title", "onClick"], PS = ["title", "onClick"], FS = { class: "admin-cell-truncate" }, jS = ["href", "target", "title"], DS = ["title"], BS = {
24279
24279
  key: 6,
24280
24280
  class: "admin-resource-index__footer"
24281
- }, zI = "__row_actions__", HI = "__row_reorder__", RS = /* @__PURE__ */ ne({
24281
+ }, HI = "__row_actions__", VI = "__row_reorder__", RS = /* @__PURE__ */ ne({
24282
24282
  __name: "ResourceIndexPage",
24283
24283
  props: {
24284
24284
  slug: {},
@@ -24289,7 +24289,7 @@ const qI = ne({
24289
24289
  },
24290
24290
  emits: ["bulk-action", "row-click", "import", "header-action"],
24291
24291
  setup(a, { emit: t }) {
24292
- const o = W2(), l = ($) => o.tr($), d = ($, N, K) => o.has($) ? o.t($, K) : N, i = a, s = t, r = cw(), p = Ee(), m = pI(), k = Ze(), g = M(() => p.getResource(i.slug)), b = M(
24292
+ const o = W2(), l = ($) => o.tr($), d = ($, N, K) => o.has($) ? o.t($, K) : N, i = a, s = t, r = iw(), p = Ee(), m = kI(), k = Ze(), g = M(() => p.getResource(i.slug)), b = M(
24293
24293
  () => i.title ?? g.value?.label ?? i.slug
24294
24294
  ), C = M(() => {
24295
24295
  if (i.createRouteName !== null)
@@ -24396,8 +24396,8 @@ const qI = ne({
24396
24396
  upload_id: ro.upload_id,
24397
24397
  mapping: Vo.mapping
24398
24398
  }
24399
- ), Y2 = await F(se, W9.process_id), Q2 = Y2.imported ?? 0, xI = Y2.failed ?? 0;
24400
- xI > 0 ? pe.warning(`Импорт завершён с ошибками: ${Q2} записей, ${xI} ошибок.`) : pe.success(`Импортировано записей: ${Q2}.`), await r.load().catch(() => {
24399
+ ), Y2 = await F(se, W9.process_id), Q2 = Y2.imported ?? 0, bI = Y2.failed ?? 0;
24400
+ bI > 0 ? pe.warning(`Импорт завершён с ошибками: ${Q2} записей, ${bI} ошибок.`) : pe.success(`Импортировано записей: ${Q2}.`), await r.load().catch(() => {
24401
24401
  });
24402
24402
  } catch (Q) {
24403
24403
  typeof console < "u" && console.error("[admin] import failed:", Q), pe.error(
@@ -24439,7 +24439,7 @@ const qI = ne({
24439
24439
  }).filter((Q) => Q.key).filter((Q) => y1.value[Q.key] !== !1);
24440
24440
  return [
24441
24441
  ...O.value ? [{
24442
- key: HI,
24442
+ key: VI,
24443
24443
  label: "",
24444
24444
  sortable: !1,
24445
24445
  align: "center",
@@ -24447,7 +24447,7 @@ const qI = ne({
24447
24447
  }] : [],
24448
24448
  ...N,
24449
24449
  {
24450
- key: zI,
24450
+ key: HI,
24451
24451
  label: "",
24452
24452
  sortable: !1,
24453
24453
  align: "right",
@@ -24649,38 +24649,38 @@ const qI = ne({
24649
24649
  async function Z9($) {
24650
24650
  await Je(), await r.setSort($, r.sortDirection);
24651
24651
  }
24652
- async function fw($) {
24652
+ async function gw($) {
24653
24653
  await Je(), await r.setSort(r.sortKey, $);
24654
24654
  }
24655
- function gw($) {
24655
+ function Mw($) {
24656
24656
  r.selection = $;
24657
24657
  }
24658
- async function Mw($) {
24658
+ async function Iw($) {
24659
24659
  await r.setPage($);
24660
24660
  }
24661
24661
  function F1($) {
24662
24662
  const N = $?.id ?? $?.key;
24663
24663
  return typeof N == "string" || typeof N == "number" ? N : null;
24664
24664
  }
24665
- function Iw($) {
24665
+ function ww($) {
24666
24666
  return F1(de($) ?? {}) ?? "";
24667
24667
  }
24668
- function ww($) {
24668
+ function xw($) {
24669
24669
  s("row-click", $);
24670
24670
  const N = F1($);
24671
24671
  N !== null && k.push({ name: `admin.resource.${i.slug}.view`, params: { id: String(N) } });
24672
24672
  }
24673
- function xw($, N) {
24673
+ function bw($, N) {
24674
24674
  N?.stopPropagation();
24675
24675
  const K = F1($);
24676
24676
  K !== null && k.push({ name: `admin.resource.${i.slug}.view`, params: { id: String(K) } });
24677
24677
  }
24678
- function bw($, N) {
24678
+ function Lw($, N) {
24679
24679
  N?.stopPropagation();
24680
24680
  const K = F1($);
24681
24681
  K !== null && k.push({ name: `admin.resource.${i.slug}.edit`, params: { id: String(K) } });
24682
24682
  }
24683
- async function Lw($, N) {
24683
+ async function Cw($, N) {
24684
24684
  N?.stopPropagation();
24685
24685
  const K = F1($);
24686
24686
  if (K !== null && window.confirm(d("admin.resource.delete_confirm", "Удалить запись?")))
@@ -24695,10 +24695,10 @@ const qI = ne({
24695
24695
  m.end();
24696
24696
  }
24697
24697
  }
24698
- function Cw($) {
24698
+ function _w($) {
24699
24699
  return $.deleted_at !== null && $.deleted_at !== void 0;
24700
24700
  }
24701
- async function _w($, N) {
24701
+ async function Sw($, N) {
24702
24702
  N?.stopPropagation();
24703
24703
  const K = F1($);
24704
24704
  if (K !== null)
@@ -24714,7 +24714,7 @@ const qI = ne({
24714
24714
  }
24715
24715
  }
24716
24716
  const k1 = A(null), j1 = A(null), J2 = A("before");
24717
- function Sw($, N) {
24717
+ function qw($, N) {
24718
24718
  if (!O.value || !N.dataTransfer) return;
24719
24719
  if (!N.target?.closest('[data-row-drag-handle="true"]')) {
24720
24720
  N.preventDefault();
@@ -24722,7 +24722,7 @@ const qI = ne({
24722
24722
  }
24723
24723
  k1.value = $, N.dataTransfer.effectAllowed = "move", N.dataTransfer.setData("text/plain", String($));
24724
24724
  }
24725
- function qw($, N) {
24725
+ function Aw($, N) {
24726
24726
  if (!O.value || k1.value === null) return;
24727
24727
  N.preventDefault();
24728
24728
  const K = N.currentTarget;
@@ -24732,10 +24732,10 @@ const qI = ne({
24732
24732
  }
24733
24733
  j1.value = $;
24734
24734
  }
24735
- function Aw() {
24735
+ function zw() {
24736
24736
  k1.value = null, j1.value = null;
24737
24737
  }
24738
- async function zw($, N) {
24738
+ async function Hw($, N) {
24739
24739
  if (N.preventDefault(), !O.value || k1.value === null) return;
24740
24740
  const K = k1.value, Q = J2.value === "after" ? $ + 1 : $, se = Q > K ? Q - 1 : Q;
24741
24741
  if (k1.value = null, j1.value = null, K === se) return;
@@ -24752,7 +24752,7 @@ const qI = ne({
24752
24752
  m.end();
24753
24753
  }
24754
24754
  }
24755
- async function Hw($, N) {
24755
+ async function Vw($, N) {
24756
24756
  N?.stopPropagation();
24757
24757
  const K = F1($);
24758
24758
  if (K !== null && window.confirm(d("admin.resource.force_delete_confirm", "Удалить запись НАВСЕГДА? Действие необратимо.")))
@@ -24767,7 +24767,7 @@ const qI = ne({
24767
24767
  m.end();
24768
24768
  }
24769
24769
  }
24770
- async function wI() {
24770
+ async function xI() {
24771
24771
  await r.load().catch(() => {
24772
24772
  });
24773
24773
  }
@@ -24811,13 +24811,13 @@ const qI = ne({
24811
24811
  class: "admin-page__scope"
24812
24812
  }, {
24813
24813
  prepend: x(() => [
24814
- w(n(ee), {
24814
+ w(n(ae), {
24815
24815
  icon: n(ao),
24816
24816
  size: 14
24817
24817
  }, null, 8, ["icon"])
24818
24818
  ]),
24819
24819
  append: x(() => [
24820
- w(n(ee), {
24820
+ w(n(ae), {
24821
24821
  icon: n(h1),
24822
24822
  size: 14
24823
24823
  }, null, 8, ["icon"])
@@ -24835,7 +24835,7 @@ const qI = ne({
24835
24835
  ]),
24836
24836
  _: 1
24837
24837
  }),
24838
- (c(!0), h(X, null, ae(p1.value, (K) => (c(), z(n(De), {
24838
+ (c(!0), h(X, null, ee(p1.value, (K) => (c(), z(n(De), {
24839
24839
  key: K.id,
24840
24840
  onClick: (Q) => K2(K)
24841
24841
  }, {
@@ -24852,7 +24852,7 @@ const qI = ne({
24852
24852
  "aria-label": l("Удалить view"),
24853
24853
  onClick: me((Q) => Y(K, Q), ["stop"])
24854
24854
  }, [
24855
- w(n(ee), {
24855
+ w(n(ae), {
24856
24856
  icon: n(Ue),
24857
24857
  size: 12
24858
24858
  }, null, 8, ["icon"])
@@ -24873,7 +24873,7 @@ const qI = ne({
24873
24873
  class: "admin-page__more"
24874
24874
  }, {
24875
24875
  default: x(() => [
24876
- w(n(ee), {
24876
+ w(n(ae), {
24877
24877
  icon: n(d1),
24878
24878
  size: 16
24879
24879
  }, null, 8, ["icon"])
@@ -24882,13 +24882,13 @@ const qI = ne({
24882
24882
  }, 8, ["aria-label"])
24883
24883
  ]),
24884
24884
  default: x(() => [
24885
- w(n(De), { onClick: wI }, {
24885
+ w(n(De), { onClick: xI }, {
24886
24886
  default: x(() => [
24887
24887
  D(y(l("Обновить")), 1)
24888
24888
  ]),
24889
24889
  _: 1
24890
24890
  }),
24891
- (c(!0), h(X, null, ae(R.value, (K) => (c(), z(n(De), {
24891
+ (c(!0), h(X, null, ee(R.value, (K) => (c(), z(n(De), {
24892
24892
  key: K,
24893
24893
  onClick: (Q) => V(K)
24894
24894
  }, {
@@ -24897,7 +24897,7 @@ const qI = ne({
24897
24897
  ]),
24898
24898
  _: 2
24899
24899
  }, 1032, ["onClick"]))), 128)),
24900
- (c(!0), h(X, null, ae(L.value, (K) => (c(), z(n(De), {
24900
+ (c(!0), h(X, null, ee(L.value, (K) => (c(), z(n(De), {
24901
24901
  key: K.key,
24902
24902
  onClick: (Q) => S(K)
24903
24903
  }, {
@@ -24917,7 +24917,7 @@ const qI = ne({
24917
24917
  onClick: P
24918
24918
  }, {
24919
24919
  prepend: x(() => [
24920
- w(n(ee), {
24920
+ w(n(ae), {
24921
24921
  icon: n(oo),
24922
24922
  size: 14
24923
24923
  }, null, 8, ["icon"])
@@ -24943,7 +24943,7 @@ const qI = ne({
24943
24943
  onClick: N[0] || (N[0] = (K) => $.$router.push({ name: C.value }))
24944
24944
  }, {
24945
24945
  prepend: x(() => [
24946
- w(n(ee), {
24946
+ w(n(ae), {
24947
24947
  icon: n(Te),
24948
24948
  size: 14
24949
24949
  }, null, 8, ["icon"])
@@ -24961,7 +24961,7 @@ const qI = ne({
24961
24961
  u("b", null, y(n(r).selectedCount), 1)
24962
24962
  ]),
24963
24963
  N[5] || (N[5] = u("span", { class: "admin-bulk-toolbar__divider" }, null, -1)),
24964
- (c(!0), h(X, null, ae(f.value, (K) => (c(), z(n(oe), {
24964
+ (c(!0), h(X, null, ee(f.value, (K) => (c(), z(n(oe), {
24965
24965
  key: K.key,
24966
24966
  size: "sm",
24967
24967
  variant: K.destructive ? "danger" : "ghost",
@@ -25031,7 +25031,7 @@ const qI = ne({
25031
25031
  _: 3
25032
25032
  }, 8, ["search", "search-placeholder", "filters", "values", "columns", "group-by", "column-visibility", "enable-saved-views"])) : H("", !0),
25033
25033
  n(r).loading && n(r).items.length === 0 ? (c(), h("div", CS, [
25034
- n(r).slowLoading ? (c(), h(X, { key: 0 }, ae(8, (K) => w(n(Re), {
25034
+ n(r).slowLoading ? (c(), h(X, { key: 0 }, ee(8, (K) => w(n(Re), {
25035
25035
  key: K,
25036
25036
  height: "40px"
25037
25037
  })), 64)) : H("", !0)
@@ -25044,7 +25044,7 @@ const qI = ne({
25044
25044
  actions: x(() => [
25045
25045
  w(n(oe), {
25046
25046
  variant: "primary",
25047
- onClick: wI
25047
+ onClick: xI
25048
25048
  }, {
25049
25049
  default: x(() => [
25050
25050
  D(y(l("Обновить")), 1)
@@ -25082,14 +25082,14 @@ const qI = ne({
25082
25082
  selection: n(r).selection,
25083
25083
  "row-key": (K) => n(r).rowId(K),
25084
25084
  "onUpdate:sortKey": Z9,
25085
- "onUpdate:sortDirection": fw,
25086
- "onUpdate:selection": gw,
25087
- onRowClick: ww
25088
- }, RI({ _: 2 }, [
25089
- ae(j.value, (K) => ({
25085
+ "onUpdate:sortDirection": gw,
25086
+ "onUpdate:selection": Mw,
25087
+ onRowClick: xw
25088
+ }, $I({ _: 2 }, [
25089
+ ee(j.value, (K) => ({
25090
25090
  name: K.key,
25091
25091
  fn: x((Q) => [
25092
- K.key === HI ? (c(), h("span", {
25092
+ K.key === VI ? (c(), h("span", {
25093
25093
  key: 0,
25094
25094
  class: fe([
25095
25095
  "admin-resource-index__row-drag",
@@ -25102,44 +25102,44 @@ const qI = ne({
25102
25102
  "data-row-drag-handle": "true",
25103
25103
  draggable: O.value,
25104
25104
  title: l("Перетащить"),
25105
- onDragstart: (se) => Sw(
25105
+ onDragstart: (se) => qw(
25106
25106
  n(r).items.indexOf(de(Q) ?? {}),
25107
25107
  se
25108
25108
  ),
25109
- onDragover: (se) => qw(
25109
+ onDragover: (se) => Aw(
25110
25110
  n(r).items.indexOf(de(Q) ?? {}),
25111
25111
  se
25112
25112
  ),
25113
- onDragend: Aw,
25114
- onDrop: (se) => zw(
25113
+ onDragend: zw,
25114
+ onDrop: (se) => Hw(
25115
25115
  n(r).items.indexOf(de(Q) ?? {}),
25116
25116
  se
25117
25117
  )
25118
25118
  }, [
25119
- w(n(ee), {
25119
+ w(n(ae), {
25120
25120
  icon: n(vo),
25121
25121
  size: 14
25122
25122
  }, null, 8, ["icon"])
25123
- ], 42, SS)) : K.key === zI ? (c(), h("div", qS, [
25123
+ ], 42, SS)) : K.key === HI ? (c(), h("div", qS, [
25124
25124
  u("button", {
25125
25125
  type: "button",
25126
25126
  class: "admin-resource-index__row-action",
25127
25127
  title: l("Просмотр"),
25128
- onClick: me((se) => xw(de(Q) ?? {}, se), ["stop"])
25128
+ onClick: me((se) => bw(de(Q) ?? {}, se), ["stop"])
25129
25129
  }, [
25130
- w(n(ee), {
25130
+ w(n(ae), {
25131
25131
  icon: n(Ko),
25132
25132
  size: 16
25133
25133
  }, null, 8, ["icon"])
25134
25134
  ], 8, AS),
25135
- Cw(de(Q) ?? {}) ? (c(), h(X, { key: 1 }, [
25135
+ _w(de(Q) ?? {}) ? (c(), h(X, { key: 1 }, [
25136
25136
  u("button", {
25137
25137
  type: "button",
25138
25138
  class: "admin-resource-index__row-action",
25139
25139
  title: l("Восстановить"),
25140
- onClick: me((se) => _w(de(Q) ?? {}, se), ["stop"])
25140
+ onClick: me((se) => Sw(de(Q) ?? {}, se), ["stop"])
25141
25141
  }, [
25142
- w(n(ee), {
25142
+ w(n(ae), {
25143
25143
  icon: n(no),
25144
25144
  size: 16
25145
25145
  }, null, 8, ["icon"])
@@ -25148,9 +25148,9 @@ const qI = ne({
25148
25148
  type: "button",
25149
25149
  class: "admin-resource-index__row-action admin-resource-index__row-action--danger",
25150
25150
  title: l("Удалить навсегда"),
25151
- onClick: me((se) => Hw(de(Q) ?? {}, se), ["stop"])
25151
+ onClick: me((se) => Vw(de(Q) ?? {}, se), ["stop"])
25152
25152
  }, [
25153
- w(n(ee), {
25153
+ w(n(ae), {
25154
25154
  icon: n(Ue),
25155
25155
  size: 16
25156
25156
  }, null, 8, ["icon"])
@@ -25161,9 +25161,9 @@ const qI = ne({
25161
25161
  type: "button",
25162
25162
  class: "admin-resource-index__row-action",
25163
25163
  title: l("Редактировать"),
25164
- onClick: me((se) => bw(de(Q) ?? {}, se), ["stop"])
25164
+ onClick: me((se) => Lw(de(Q) ?? {}, se), ["stop"])
25165
25165
  }, [
25166
- w(n(ee), {
25166
+ w(n(ae), {
25167
25167
  icon: n(u1),
25168
25168
  size: 16
25169
25169
  }, null, 8, ["icon"])
@@ -25173,21 +25173,22 @@ const qI = ne({
25173
25173
  type: "button",
25174
25174
  class: "admin-resource-index__row-action admin-resource-index__row-action--danger",
25175
25175
  title: l("Удалить"),
25176
- onClick: me((se) => Lw(de(Q) ?? {}, se), ["stop"])
25176
+ onClick: me((se) => Cw(de(Q) ?? {}, se), ["stop"])
25177
25177
  }, [
25178
- w(n(ee), {
25178
+ w(n(ae), {
25179
25179
  icon: n(Ue),
25180
25180
  size: 16
25181
25181
  }, null, 8, ["icon"])
25182
25182
  ], 8, HS)) : H("", !0)
25183
25183
  ], 64))
25184
25184
  ])) : ze($.$slots, `cell-${K.key}`, {
25185
+ key: 2,
25185
25186
  row: de(Q)
25186
25187
  }, () => [
25187
- q(K.key) ? (c(), z(iw, {
25188
+ q(K.key) ? (c(), z(lw, {
25188
25189
  key: 0,
25189
25190
  "resource-slug": a.slug,
25190
- "row-id": Iw(Q),
25191
+ "row-id": ww(Q),
25191
25192
  column: K.key,
25192
25193
  value: (de(Q) ?? {})[K.key],
25193
25194
  editable: !0,
@@ -25215,22 +25216,22 @@ const qI = ne({
25215
25216
  class: "admin-cell-truncate",
25216
25217
  title: ye(K.key, Q)
25217
25218
  }, y(ye(K.key, Q)), 9, DS))
25218
- ], void 0, 2)
25219
+ ])
25219
25220
  ])
25220
25221
  }))
25221
25222
  ]), 1032, ["columns", "data", "sort-key", "sort-direction", "selection", "row-key"])
25222
25223
  ])),
25223
25224
  !n(r).loading && !n(r).hasError && !n(r).isEmpty ? (c(), h("footer", BS, [
25224
- w(n(Jw), {
25225
+ w(n(Yw), {
25225
25226
  "model-value": n(r).meta.page,
25226
25227
  total: n(r).meta.total,
25227
25228
  "per-page": n(r).meta.per_page,
25228
- "onUpdate:modelValue": Mw
25229
+ "onUpdate:modelValue": Iw
25229
25230
  }, null, 8, ["model-value", "total", "per-page"])
25230
25231
  ])) : H("", !0)
25231
25232
  ]));
25232
25233
  }
25233
- }), vI = e1("admin-resource-form", () => {
25234
+ }), fI = e1("admin-resource-form", () => {
25234
25235
  const a = A(null), t = A("create"), o = A(null), l = A({}), d = A({}), i = A({}), s = A(!1), r = A(!1), p = A(!1), m = A(null), k = M(() => t.value === "create"), g = M(() => t.value === "edit"), b = M(() => t.value === "view"), C = M(() => m.value !== null), I = M(() => {
25235
25236
  const O = l.value, G = d.value, te = /* @__PURE__ */ new Set([...Object.keys(O), ...Object.keys(G)]);
25236
25237
  for (const W of te)
@@ -25352,14 +25353,14 @@ const qI = ne({
25352
25353
  return Number.isFinite(r) && r >= 1 && r <= 12 ? r : 0;
25353
25354
  }
25354
25355
  const l = M(() => t.items.some((d) => o(d) > 0));
25355
- return (d, i) => l.value ? (c(), z(n(OI), {
25356
+ return (d, i) => l.value ? (c(), z(n(uI), {
25356
25357
  key: 0,
25357
25358
  cols: 12,
25358
25359
  "col-gap": a.gap,
25359
25360
  "row-gap": "var(--uid-space-lg)"
25360
25361
  }, {
25361
25362
  default: x(() => [
25362
- (c(!0), h(X, null, ae(a.items, (s, r) => (c(), h("div", {
25363
+ (c(!0), h(X, null, ee(a.items, (s, r) => (c(), h("div", {
25363
25364
  key: r,
25364
25365
  style: Ve({ gridColumn: `span ${o(s) || 12}` })
25365
25366
  }, [
@@ -25367,14 +25368,14 @@ const qI = ne({
25367
25368
  ], 4))), 128))
25368
25369
  ]),
25369
25370
  _: 1
25370
- }, 8, ["col-gap"])) : (c(), z(n(Yw), {
25371
+ }, 8, ["col-gap"])) : (c(), z(n(Qw), {
25371
25372
  key: 1,
25372
25373
  direction: "column",
25373
25374
  gap: a.gap,
25374
25375
  align: "stretch"
25375
25376
  }, {
25376
25377
  default: x(() => [
25377
- (c(!0), h(X, null, ae(a.items, (s, r) => (c(), z(bo, {
25378
+ (c(!0), h(X, null, ee(a.items, (s, r) => (c(), z(bo, {
25378
25379
  key: r,
25379
25380
  node: s
25380
25381
  }, null, 8, ["node"]))), 128))
@@ -25388,7 +25389,7 @@ const qI = ne({
25388
25389
  }, NS = {
25389
25390
  key: 2,
25390
25391
  class: "admin-resource-form__savebar"
25391
- }, XS = { class: "admin-resource-form__savebar-hint" }, VI = /* @__PURE__ */ ne({
25392
+ }, XS = { class: "admin-resource-form__savebar-hint" }, PI = /* @__PURE__ */ ne({
25392
25393
  __name: "ResourceFormPage",
25393
25394
  props: {
25394
25395
  slug: {},
@@ -25396,7 +25397,7 @@ const qI = ne({
25396
25397
  indexRouteName: { default: null }
25397
25398
  },
25398
25399
  setup(a) {
25399
- const t = a, o = vI(), l = Ee(), d = Ze(), i = l1();
25400
+ const t = a, o = fI(), l = Ee(), d = Ze(), i = l1();
25400
25401
  function s() {
25401
25402
  const V = {};
25402
25403
  for (const [T, P] of Object.entries(i.query))
@@ -25495,7 +25496,7 @@ const qI = ne({
25495
25496
  onClick: U
25496
25497
  }, y(n(v)("← Назад")), 1),
25497
25498
  u("h1", OS, y(C.value), 1),
25498
- I.value ? (c(), z(n(uI), {
25499
+ I.value ? (c(), z(n(yI), {
25499
25500
  key: 0,
25500
25501
  variant: L.value
25501
25502
  }, {
@@ -25577,7 +25578,7 @@ const qI = ne({
25577
25578
  _: 1
25578
25579
  })) : H("", !0),
25579
25580
  n(o).loading ? (c(), h("div", GS, [
25580
- (c(), h(X, null, ae(6, (P) => w(n(Re), {
25581
+ (c(), h(X, null, ee(6, (P) => w(n(Re), {
25581
25582
  key: P,
25582
25583
  height: "40px"
25583
25584
  })), 64))
@@ -25619,7 +25620,7 @@ const qI = ne({
25619
25620
  ])) : H("", !0)
25620
25621
  ]));
25621
25622
  }
25622
- }), Ao = R9(), JF = Ao.register, tI = Ao.get, YF = Ao.has, QF = Ao.list, ej = Ao.clear, KS = Ao.registerBundle, JS = /* @__PURE__ */ ne({
25623
+ }), Ao = R9(), YF = Ao.register, tI = Ao.get, QF = Ao.has, ej = Ao.list, aj = Ao.clear, KS = Ao.registerBundle, JS = /* @__PURE__ */ ne({
25623
25624
  __name: "UnknownEntry",
25624
25625
  props: {
25625
25626
  type: {},
@@ -25697,14 +25698,14 @@ const qI = ne({
25697
25698
  const b = H9("InfolistRenderer", !0);
25698
25699
  return l.value.kind === "entry" && a.node.label ? (c(), h("div", YS, [
25699
25700
  u("span", QS, y(a.node.label), 1),
25700
- (c(), z($e(l.value.component), O2(Fw(d.value)), null, 16))
25701
+ (c(), z($e(l.value.component), O2(jw(d.value)), null, 16))
25701
25702
  ])) : l.value.kind === "entry" ? (c(), z($e(l.value.component), O2(Qn({ key: 1 }, d.value)), null, 16)) : l.value.kind === "layout" && l.value.layoutType === "rows" ? (c(), h("div", eq, [
25702
- (c(!0), h(X, null, ae(i.value, (C, I) => (c(), z(b, {
25703
+ (c(!0), h(X, null, ee(i.value, (C, I) => (c(), z(b, {
25703
25704
  key: I,
25704
25705
  node: C
25705
25706
  }, null, 8, ["node"]))), 128))
25706
25707
  ])) : l.value.kind === "layout" && l.value.layoutType === "columns" ? (c(), h("div", aq, [
25707
- (c(!0), h(X, null, ae(i.value, (C, I) => (c(), h("div", {
25708
+ (c(!0), h(X, null, ee(i.value, (C, I) => (c(), h("div", {
25708
25709
  key: I,
25709
25710
  class: "admin-infolist-cols__item",
25710
25711
  style: Ve({
@@ -25719,14 +25720,14 @@ const qI = ne({
25719
25720
  r.value ? (c(), h("p", cq, y(r.value), 1)) : H("", !0)
25720
25721
  ])) : H("", !0),
25721
25722
  u("div", iq, [
25722
- (c(!0), h(X, null, ae(i.value, (C, I) => (c(), z(b, {
25723
+ (c(!0), h(X, null, ee(i.value, (C, I) => (c(), z(b, {
25723
25724
  key: I,
25724
25725
  node: C
25725
25726
  }, null, 8, ["node"]))), 128))
25726
25727
  ])
25727
25728
  ])) : l.value.kind === "layout" && l.value.layoutType === "tabs" ? (c(), h("div", lq, [
25728
25729
  u("ul", rq, [
25729
- (c(!0), h(X, null, ae(m.value, (C, I) => (c(), h("li", {
25730
+ (c(!0), h(X, null, ee(m.value, (C, I) => (c(), h("li", {
25730
25731
  key: C.key ?? I,
25731
25732
  class: fe([
25732
25733
  "admin-infolist-tabs__tab",
@@ -25735,7 +25736,7 @@ const qI = ne({
25735
25736
  }, y(C.label), 3))), 128))
25736
25737
  ]),
25737
25738
  u("div", dq, [
25738
- (c(!0), h(X, null, ae(m.value[p.value]?.items ?? [], (C, I) => (c(), z(b, {
25739
+ (c(!0), h(X, null, ee(m.value[p.value]?.items ?? [], (C, I) => (c(), z(b, {
25739
25740
  key: I,
25740
25741
  node: C
25741
25742
  }, null, 8, ["node"]))), 128))
@@ -25844,17 +25845,17 @@ const qI = ne({
25844
25845
  return (I, L) => (c(), h("section", hq, [
25845
25846
  u("h2", uq, y(n(v)("История изменений")), 1),
25846
25847
  l.value ? (c(), h("div", yq, [
25847
- (c(), h(X, null, ae(3, (f) => w(n(Re), {
25848
+ (c(), h(X, null, ee(3, (f) => w(n(Re), {
25848
25849
  key: f,
25849
25850
  height: "48px"
25850
25851
  })), 64))
25851
25852
  ])) : d.value ? (c(), h("div", pq, " Не удалось загрузить историю: " + y(d.value.message), 1)) : s.value ? (c(), h("ol", mq, [
25852
- (c(!0), h(X, null, ae(o.value, (f) => (c(), h("li", {
25853
+ (c(!0), h(X, null, ee(o.value, (f) => (c(), h("li", {
25853
25854
  key: f.id,
25854
25855
  class: "admin-audit-timeline__item"
25855
25856
  }, [
25856
25857
  u("span", vq, [
25857
- w(n(ee), {
25858
+ w(n(ae), {
25858
25859
  icon: r(f.event),
25859
25860
  size: 14
25860
25861
  }, null, 8, ["icon"])
@@ -25871,7 +25872,7 @@ const qI = ne({
25871
25872
  u("span", wq, y(m(f.created_at)), 1)
25872
25873
  ]),
25873
25874
  k(f) ? (c(), h("ul", xq, [
25874
- (c(!0), h(X, null, ae(f.diff, (S) => (c(), h("li", {
25875
+ (c(!0), h(X, null, ee(f.diff, (S) => (c(), h("li", {
25875
25876
  key: S.field,
25876
25877
  class: fe(["admin-audit-timeline__diff-row", `admin-audit-timeline__diff-row--${f.event}`])
25877
25878
  }, [
@@ -25917,8 +25918,8 @@ const qI = ne({
25917
25918
  uidPrefix: { default: "#" }
25918
25919
  },
25919
25920
  setup(a) {
25920
- const t = a, o = vI(), l = Ee(), d = Ze();
25921
- tw(o.state);
25921
+ const t = a, o = fI(), l = Ee(), d = Ze();
25922
+ nw(o.state);
25922
25923
  const i = M(() => l.getResource(t.slug)), s = M(() => (i.value?.features ?? {}).editable !== !1), r = M(
25923
25924
  () => i.value?.infolist ?? i.value?.fields ?? []
25924
25925
  ), p = M(() => t.auditSubjectType !== null ? t.auditSubjectType : i.value?.subject_type ?? null), m = M(() => {
@@ -26021,7 +26022,7 @@ const qI = ne({
26021
26022
  class: "admin-resource-view__back",
26022
26023
  onClick: U
26023
26024
  }, [
26024
- w(n(ee), {
26025
+ w(n(ae), {
26025
26026
  icon: n($o),
26026
26027
  size: 14
26027
26028
  }, null, 8, ["icon"]),
@@ -26052,7 +26053,7 @@ const qI = ne({
26052
26053
  onClick: V
26053
26054
  }, {
26054
26055
  prepend: x(() => [
26055
- w(n(ee), {
26056
+ w(n(ae), {
26056
26057
  icon: n(u1),
26057
26058
  size: 14
26058
26059
  }, null, 8, ["icon"])
@@ -26071,7 +26072,7 @@ const qI = ne({
26071
26072
  class: "admin-page__more"
26072
26073
  }, {
26073
26074
  default: x(() => [
26074
- w(n(ee), {
26075
+ w(n(ae), {
26075
26076
  icon: n(d1),
26076
26077
  size: 16
26077
26078
  }, null, 8, ["icon"])
@@ -26080,7 +26081,7 @@ const qI = ne({
26080
26081
  }, 8, ["aria-label"])
26081
26082
  ]),
26082
26083
  default: x(() => [
26083
- (c(!0), h(X, null, ae(f.value, (F) => (c(), z(n(De), {
26084
+ (c(!0), h(X, null, ee(f.value, (F) => (c(), z(n(De), {
26084
26085
  key: F.key,
26085
26086
  onClick: (O) => S(F)
26086
26087
  }, {
@@ -26094,7 +26095,7 @@ const qI = ne({
26094
26095
  onClick: T
26095
26096
  }, {
26096
26097
  icon: x(() => [
26097
- w(n(ee), {
26098
+ w(n(ae), {
26098
26099
  icon: n(Ue),
26099
26100
  size: 14
26100
26101
  }, null, 8, ["icon"])
@@ -26121,7 +26122,7 @@ const qI = ne({
26121
26122
  _: 1
26122
26123
  })) : H("", !0),
26123
26124
  n(o).loading ? (c(), h("div", $q, [
26124
- (c(), h(X, null, ae(8, (F) => w(n(Re), {
26125
+ (c(), h(X, null, ee(8, (F) => w(n(Re), {
26125
26126
  key: F,
26126
26127
  height: "24px"
26127
26128
  })), 64))
@@ -26133,7 +26134,7 @@ const qI = ne({
26133
26134
  }, {
26134
26135
  default: x(() => [
26135
26136
  u("h2", Oq, y(n(v)("Основные данные")), 1),
26136
- (c(!0), h(X, null, ae(r.value, (F, O) => (c(), z(sq, {
26137
+ (c(!0), h(X, null, ee(r.value, (F, O) => (c(), z(sq, {
26137
26138
  key: O,
26138
26139
  node: F
26139
26140
  }, null, 8, ["node"]))), 128))
@@ -26162,7 +26163,7 @@ const qI = ne({
26162
26163
  default: x(() => [
26163
26164
  u("h2", Zq, y(n(v)("Метрики")), 1),
26164
26165
  u("dl", Wq, [
26165
- (c(!0), h(X, null, ae(m.value, (F) => (c(), h(X, {
26166
+ (c(!0), h(X, null, ee(m.value, (F) => (c(), h(X, {
26166
26167
  key: F.label
26167
26168
  }, [
26168
26169
  u("dt", Gq, y(F.label), 1),
@@ -26186,37 +26187,37 @@ const qI = ne({
26186
26187
  }, Yq = { min: 0, L: 0, M: 1, Q: 2, H: 3, max: 3 }, io = (a) => new Uint8Array(a), jo = (a) => {
26187
26188
  const t = new Error(`lean-qr error ${a}`);
26188
26189
  throw t.code = a, t;
26189
- }, nc = (a) => "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:".indexOf(a), nI = (a) => a.charCodeAt(0), lw = (...a) => (t, o) => a.forEach((l) => l(t, o)), rw = (a) => (t) => {
26190
+ }, nc = (a) => "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:".indexOf(a), nI = (a) => a.charCodeAt(0), rw = (...a) => (t, o) => a.forEach((l) => l(t, o)), dw = (a) => (t) => {
26190
26191
  t.eci !== a && (t.push(7, 4), a < 128 ? t.push(a, 8) : a < 16384 ? t.push(32768 | a, 16) : t.push(12582912 | a, 24), t.eci = a);
26191
- }, fI = (a) => (t, o) => {
26192
+ }, gI = (a) => (t, o) => {
26192
26193
  t.push(4, 4), t.push(a.length, 8 + 8 * (o > 9)), a.forEach((l) => t.push(l, 8));
26193
- }, zo = (a, t, o, l, d = (s, r) => o(s.length, r), i = l ? (s) => lw(rw(l), a(s)) : a) => (i.test = t, i.l = o, i.est = d, i.eci = l && [l], i), dw = zo((a) => (t, o) => {
26194
+ }, zo = (a, t, o, l, d = (s, r) => o(s.length, r), i = l ? (s) => rw(dw(l), a(s)) : a) => (i.test = t, i.l = o, i.est = d, i.eci = l && [l], i), sw = zo((a) => (t, o) => {
26194
26195
  t.push(1, 4), t.push(a.length, 10 + 2 * (o > 26) + 2 * (o > 9));
26195
26196
  let l = 0;
26196
26197
  for (; l < a.length - 2; l += 3) t.push(+a.slice(l, l + 3), 10);
26197
26198
  l < a.length - 1 ? t.push(+a.slice(l), 7) : l < a.length && t.push(+a[l], 4);
26198
- }, (a) => /[0-9]/.test(a), (a, t) => 14 + 2 * (t > 26) + 2 * (t > 9) + 10 * a / 3), sw = zo((a) => (t, o) => {
26199
+ }, (a) => /[0-9]/.test(a), (a, t) => 14 + 2 * (t > 26) + 2 * (t > 9) + 10 * a / 3), hw = zo((a) => (t, o) => {
26199
26200
  t.push(2, 4), t.push(a.length, 9 + 2 * (o > 26) + 2 * (o > 9));
26200
26201
  let l = 0;
26201
26202
  for (; l < a.length - 1; l += 2) t.push(45 * nc(a[l]) + nc(a[l + 1]), 11);
26202
26203
  l < a.length && t.push(nc(a[l]), 6);
26203
- }, (a) => nc(a) >= 0, (a, t) => 13 + 2 * (t > 26) + 2 * (t > 9) + 5.5 * a), Lo = zo((a) => fI([...a].map(nI)), (a) => nI(a) < 128, (a, t) => 12 + 8 * (t > 9) + 8 * a);
26204
+ }, (a) => nc(a) >= 0, (a, t) => 13 + 2 * (t > 26) + 2 * (t > 9) + 5.5 * a), Lo = zo((a) => gI([...a].map(nI)), (a) => nI(a) < 128, (a, t) => 12 + 8 * (t > 9) + 8 * a);
26204
26205
  Lo._ = !0, Lo.u = !0;
26205
- const gI = zo(Lo, (a) => nI(a) < 256, Lo.l, 3);
26206
- gI._ = !0;
26207
- const PI = new TextEncoder(), MI = zo((a) => fI(PI.encode(a)), () => 1, 0, 26, (a, t) => 12 + 8 * (t > 9) + 8 * PI.encode(a).length);
26206
+ const MI = zo(Lo, (a) => nI(a) < 256, Lo.l, 3);
26208
26207
  MI._ = !0;
26208
+ const FI = new TextEncoder(), II = zo((a) => gI(FI.encode(a)), () => 1, 0, 26, (a, t) => 12 + 8 * (t > 9) + 8 * FI.encode(a).length);
26209
+ II._ = !0;
26209
26210
  let oI = () => {
26210
26211
  const a = /* @__PURE__ */ new Map(), t = new TextDecoder("sjis"), o = io(2);
26211
26212
  for (let l = 0; l < 7973; ++l) o[0] = l / 192 + 129 + 64 * (l > 5951), o[1] = l % 192 + 64, a.set(t.decode(o), l);
26212
26213
  return a.delete("�"), oI = () => a, a;
26213
26214
  };
26214
- const II = zo((a) => (t, o) => {
26215
+ const wI = zo((a) => (t, o) => {
26215
26216
  t.push(8, 4), t.push(a.length, 8 + 2 * (o > 26) + 2 * (o > 9));
26216
26217
  for (const l of a) t.push(oI().get(l), 13);
26217
26218
  }, (a) => oI().has(a), (a, t) => 12 + 2 * (t > 26) + 2 * (t > 9) + 13 * a);
26218
- II._ = !0;
26219
- const hw = [dw, sw, Lo, gI, II, MI], Qq = { auto: (a, { modes: t = hw } = {}) => (o, l) => {
26219
+ wI._ = !0;
26220
+ const uw = [sw, hw, Lo, MI, wI, II], Qq = { auto: (a, { modes: t = uw } = {}) => (o, l) => {
26220
26221
  const d = t.map((k, g) => {
26221
26222
  const b = /* @__PURE__ */ new Map(), C = (I, L) => (b.has(I) || b.set(I, L(I, l)), b.get(I));
26222
26223
  return { m: k, h: 1 << g, C: k.est("", l), S: k.l ? (I, L) => C(L - I, k.l) : (I, L) => C(a.slice(I, L), k.est) };
@@ -26249,7 +26250,7 @@ const hw = [dw, sw, Lo, gI, II, MI], Qq = { auto: (a, { modes: t = hw } = {}) =>
26249
26250
  const m = [];
26250
26251
  for (let k = i.reduce((g, b) => b.v < g.v ? b : g); k.m; k = k.V) m.push(k.m(a.slice(k.$, k.A)));
26251
26252
  m.reverse().forEach((k) => k(o, l));
26252
- }, multi: lw, eci: rw, bytes: fI, numeric: dw, alphaNumeric: sw, ascii: Lo, iso8859_1: gI, shift_jis: II, utf8: MI }, eA = () => ({ F: io(2956), I: 0, push(a, t) {
26253
+ }, multi: rw, eci: dw, bytes: gI, numeric: sw, alphaNumeric: hw, ascii: Lo, iso8859_1: MI, shift_jis: wI, utf8: II }, eA = () => ({ F: io(2956), I: 0, push(a, t) {
26253
26254
  for (let o = t, l = 8 - (7 & this.I); o > 0; o -= l, l = 8) this.F[this.I >> 3] |= a << l >> o, this.I += o < l ? o : l;
26254
26255
  } }), X9 = (a, t = a * a, o = io(t)) => ({ size: a, K: o, get: (l, d) => l >= 0 && l < a && !!(1 & o[d * a + l]), toString({ on: l = "##", off: d = " ", lf: i = `
26255
26256
  `, pad: s = 4, padX: r = s, padY: p = s } = {}) {
@@ -26275,16 +26276,16 @@ const hw = [dw, sw, Lo, gI, II, MI], Qq = { auto: (a, { modes: t = hw } = {}) =>
26275
26276
  return s.width = p.width * d, s.height = p.height * d, r.putImageData(p, 0, 0), r.imageSmoothingEnabled = !1, r.globalCompositeOperation = "copy", r.drawImage(s, 0, 0, p.width, p.height, 0, 0, s.width, s.height), s.toDataURL(l, 1);
26276
26277
  } }), K9 = [(a, t) => 1 & (a ^ t), (a, t) => 1 & t, (a) => a % 3, (a, t) => (a + t) % 3, (a, t) => 1 & (a / 3 ^ t >> 1), (a, t) => (a & t & 1) + a * t % 3, (a, t) => (a & t) + a * t % 3 & 1, (a, t) => (a ^ t) + a * t % 3 & 1], A9 = io(511);
26277
26278
  for (let a = 0, t = 1; a < 255; t = 2 * t ^ 285 * (t > 127)) A9[A9[t + 255] = a++] = t;
26278
- const uw = (a) => A9[a % 255], yw = (a) => A9[a + 255], aA = (a, t) => {
26279
+ const yw = (a) => A9[a % 255], pw = (a) => A9[a + 255], aA = (a, t) => {
26279
26280
  const o = io(a.length + t.length - 1);
26280
- for (let l = 0; l < a.length; ++l) for (let d = 0; d < t.length; ++d) o[l + d] ^= uw(a[l] + t[d]);
26281
- return o.map(yw);
26281
+ for (let l = 0; l < a.length; ++l) for (let d = 0; d < t.length; ++d) o[l + d] ^= yw(a[l] + t[d]);
26282
+ return o.map(pw);
26282
26283
  }, tA = (a, t) => {
26283
26284
  const o = io(a.length + t.length - 1);
26284
26285
  o.set(a, 0);
26285
26286
  for (let l = 0; l < a.length; ++l) if (o[l]) {
26286
- const d = yw(o[l]);
26287
- for (let i = 0; i < t.length; ++i) o[l + i] ^= uw(t[i] + d);
26287
+ const d = pw(o[l]);
26288
+ for (let i = 0; i < t.length; ++i) o[l + i] ^= yw(t[i] + d);
26288
26289
  }
26289
26290
  return o.slice(a.length);
26290
26291
  }, cI = [[0], [0, 0]];
@@ -26298,12 +26299,12 @@ const nA = (a, t) => {
26298
26299
  }
26299
26300
  const i = io(d);
26300
26301
  d = 0;
26301
- for (const s of o) for (let r = 0, p = -1; p < d; ++r) {
26302
- p = d;
26303
- for (const m of s) r < m.length && (i[d++] = m[r]);
26302
+ for (const s of o) for (let r, p = 0; d !== r; ++p) {
26303
+ r = d;
26304
+ for (const m of s) p < m.length && (i[d++] = m[p]);
26304
26305
  }
26305
26306
  return i;
26306
- }, pw = (a, t, o) => {
26307
+ }, kw = (a, t, o) => {
26307
26308
  let l = a <<= o;
26308
26309
  for (let d = 134217728; d >>= 1; ) l & d && (l ^= t * (d >> o));
26309
26310
  return l | a;
@@ -26317,7 +26318,7 @@ const nA = (a, t) => {
26317
26318
  for (let r = s; r > 8; r -= i) d(s, r, 5);
26318
26319
  s < a - 7 && d(s, 6, 5);
26319
26320
  }
26320
- if (o > 6) for (let s = pw(o, 7973, 12), r = 1; r < 7; ++r) for (let p = 12; p-- > 9; s >>= 1) t[r * a - p] = 2 | 1 & s;
26321
+ if (o > 6) for (let s = kw(o, 7973, 12), r = 1; r < 7; ++r) for (let p = 12; p-- > 9; s >>= 1) t[r * a - p] = 2 | 1 & s;
26321
26322
  l(7, 2, 9, 2), l(a - 8, 8, 9, 2);
26322
26323
  for (let s = 0; s < a; ++s) t[6 * a + s] = 3 ^ 1 & s;
26323
26324
  d(3, 3, 7), d(a - 4, 3, 7);
@@ -26338,14 +26339,14 @@ const nA = (a, t) => {
26338
26339
  const p = s * a + r;
26339
26340
  t[p] ^= !(o(r, s) || 2 & t[p]);
26340
26341
  }
26341
- let i = 21522 ^ pw((1 ^ d) << 3 | l, 1335, 10);
26342
+ let i = 21522 ^ kw((1 ^ d) << 3 | l, 1335, 10);
26342
26343
  for (let s = 0; s++ < 8; i >>= 1) t[(s - (s < 7)) * a + 8] = 1 & i, t[9 * a - s] = 1 & i;
26343
26344
  for (let s = 8; --s, i; i >>= 1) t[8 * a + s - (s < 7)] = 1 & i, t[(a - s) * a + 8] = 1 & i;
26344
26345
  }, rA = ({ size: a, K: t }, o = 0, l = 0) => {
26345
26346
  for (let d = 0; d < a; ++d) {
26346
- for (let i = 0; i < 2; ++i) for (let s, r = 0, p = 0, m = 2; r < a; ++r) {
26347
+ for (let i = 0; i < 2; ++i) for (let s, r = 0, p = 0, m = 0; r < a; ++r) {
26347
26348
  const k = 1 & t[i ? d * a + r : r * a + d];
26348
- l += k, p = (p >> 1 | 2098176) & (3047517 ^ k - 1), 2049 & p && (o += 40), k ^ m && (s = 0), m = k, o += ++s === 5 ? 3 : s > 5;
26349
+ l += k, p = (p >> 1 | 2098176) & (3047517 ^ k - 1), 2049 & p && (o += 40), k !== s && (m = 0), s = k, o += ++m === 5 ? 3 : m > 5;
26349
26350
  }
26350
26351
  if (d) for (let i = a + d, s = 5 * t[d - 1] ^ t[d]; i < a * a; i += a) {
26351
26352
  const r = 5 * t[i - 1] ^ t[i];
@@ -26353,11 +26354,11 @@ const nA = (a, t) => {
26353
26354
  }
26354
26355
  }
26355
26356
  return o + 10 * (10 * Math.abs(l / (a * a) - 1) | 0);
26356
- }, FI = [], iI = (a = jo(1), { minCorrectionLevel: t = 0, maxCorrectionLevel: o = 3, minVersion: l = 1, maxVersion: d = 40, mask: i, trailer: s = 60433, ...r } = {}) => {
26357
+ }, jI = [], iI = (a = jo(1), { minCorrectionLevel: t = 0, maxCorrectionLevel: o = 3, minVersion: l = 1, maxVersion: d = 40, mask: i, trailer: s = 60433, ...r } = {}) => {
26357
26358
  o < t && jo(3), d < l && jo(2), typeof a == "string" && (a = Qq.auto(a, r));
26358
26359
  for (let p = l, m = 0; p <= d; ++p) {
26359
- let k = FI[p];
26360
- k || (FI[p] = k = X9(4 * p + 17), oA(k, p), k.p = cA(k));
26360
+ let k = jI[p];
26361
+ k || (jI[p] = k = X9(4 * p + 17), oA(k, p), k.p = cA(k));
26361
26362
  const g = Jq(p, k.p.length >> 3);
26362
26363
  if (8 * g(t).t < m) continue;
26363
26364
  const b = eA();
@@ -26375,7 +26376,7 @@ const nA = (a, t) => {
26375
26376
  }
26376
26377
  jo(4);
26377
26378
  };
26378
- iI.with = (...a) => (t, o) => iI(t, { modes: [...hw, ...a], ...o });
26379
+ iI.with = (...a) => (t, o) => iI(t, { modes: [...uw, ...a], ...o });
26379
26380
  const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...Object.entries(o).map(([d, i]) => ` ${d}="${`${i}`.replace(/[^ -~]|["&]/g, "")}"`), ">", ...l, `</${t}>`].join(""), hA = (a) => {
26380
26381
  const t = /* @__PURE__ */ new Map(), o = [], l = (d) => {
26381
26382
  const i = t.get(d);
@@ -26527,7 +26528,7 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
26527
26528
  onClick: b
26528
26529
  }, {
26529
26530
  prepend: x(() => [
26530
- w(n(ee), {
26531
+ w(n(ae), {
26531
26532
  icon: n(q2),
26532
26533
  size: 14
26533
26534
  }, null, 8, ["icon"])
@@ -26550,7 +26551,7 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
26550
26551
  class: "admin-2fa__copy",
26551
26552
  onClick: f
26552
26553
  }, [
26553
- w(n(ee), {
26554
+ w(n(ae), {
26554
26555
  icon: n(yo),
26555
26556
  size: 12
26556
26557
  }, null, 8, ["icon"]),
@@ -26598,7 +26599,7 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
26598
26599
  ])) : d.value === "confirmed" ? (c(), h("div", CA, [
26599
26600
  u("p", _A, y(n(v)("2FA активирована. Сохраните recovery-коды в безопасном месте — они нужны если вы")) + " " + y(n(v)("потеряете доступ к Authenticator-приложению.")), 1),
26600
26601
  u("div", SA, [
26601
- (c(!0), h(X, null, ae(p.value, (P) => (c(), h("code", {
26602
+ (c(!0), h(X, null, ee(p.value, (P) => (c(), h("code", {
26602
26603
  key: P,
26603
26604
  class: "admin-2fa__codes-item"
26604
26605
  }, y(P), 1))), 128))
@@ -26608,7 +26609,7 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
26608
26609
  onClick: S
26609
26610
  }, {
26610
26611
  prepend: x(() => [
26611
- w(n(ee), {
26612
+ w(n(ae), {
26612
26613
  icon: n(yo),
26613
26614
  size: 14
26614
26615
  }, null, 8, ["icon"])
@@ -26642,7 +26643,7 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
26642
26643
  onClick: L
26643
26644
  }, {
26644
26645
  prepend: x(() => [
26645
- w(n(ee), {
26646
+ w(n(ae), {
26646
26647
  icon: n(Mo),
26647
26648
  size: 14
26648
26649
  }, null, 8, ["icon"])
@@ -26659,7 +26660,7 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
26659
26660
  onClick: I
26660
26661
  }, {
26661
26662
  prepend: x(() => [
26662
- w(n(ee), {
26663
+ w(n(ae), {
26663
26664
  icon: n(A2),
26664
26665
  size: 14
26665
26666
  }, null, 8, ["icon"])
@@ -26672,7 +26673,7 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
26672
26673
  ]),
26673
26674
  g.value ? (c(), h("p", HA, y(g.value), 1)) : H("", !0),
26674
26675
  p.value.length > 0 ? (c(), h("div", VA, [
26675
- (c(!0), h(X, null, ae(p.value, (P) => (c(), h("code", {
26676
+ (c(!0), h(X, null, ee(p.value, (P) => (c(), h("code", {
26676
26677
  key: P,
26677
26678
  class: "admin-2fa__codes-item"
26678
26679
  }, y(P), 1))), 128))
@@ -26692,7 +26693,7 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
26692
26693
  },
26693
26694
  emits: ["update:section", "avatar-replace", "two-factor-disable", "two-factor-regenerate", "save"],
26694
26695
  setup(a, { emit: t }) {
26695
- const o = a, l = t, d = Qe(), i = yI(), s = co(), r = [
26696
+ const o = a, l = t, d = Qe(), i = pI(), s = co(), r = [
26696
26697
  { id: "general", label: v("Основное"), icon: "user" },
26697
26698
  { id: "security", label: v("Безопасность"), icon: "shield" },
26698
26699
  { id: "tokens", label: v("API токены"), icon: "key" },
@@ -26748,7 +26749,7 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
26748
26749
  ]),
26749
26750
  u("div", $A, [
26750
26751
  u("nav", TA, [
26751
- (c(), h(X, null, ae(r, (T) => u("button", {
26752
+ (c(), h(X, null, ee(r, (T) => u("button", {
26752
26753
  key: T.id,
26753
26754
  type: "button",
26754
26755
  class: fe([
@@ -26842,7 +26843,7 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
26842
26843
  default: x(() => [
26843
26844
  u("header", QA, [
26844
26845
  u("h3", ez, y(n(v)("Двухфакторная аутентификация")), 1),
26845
- w(n(uI), {
26846
+ w(n(yI), {
26846
26847
  variant: f.value ? "success" : "default"
26847
26848
  }, {
26848
26849
  default: x(() => [
@@ -26860,19 +26861,22 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
26860
26861
  ])
26861
26862
  ]),
26862
26863
  _: 3
26863
- })) : ze(U.$slots, p.value, { section: p.value }, () => [
26864
+ })) : ze(U.$slots, p.value, {
26865
+ key: 2,
26866
+ section: p.value
26867
+ }, () => [
26864
26868
  w(n(we), { padding: "md" }, {
26865
26869
  default: x(() => [
26866
26870
  u("p", az, " Section «" + y(p.value) + "» не реализована библиотекой — host-проект подключает её через slot " + y(p.value) + ". ", 1)
26867
26871
  ]),
26868
26872
  _: 1
26869
26873
  })
26870
- ], void 0, 2)
26874
+ ])
26871
26875
  ])
26872
26876
  ])
26873
26877
  ]));
26874
26878
  }
26875
- }), jI = /* @__PURE__ */ ne({
26879
+ }), DI = /* @__PURE__ */ ne({
26876
26880
  __name: "StatWidget",
26877
26881
  props: {
26878
26882
  title: { default: "" },
@@ -26923,7 +26927,7 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
26923
26927
  }, iz = {
26924
26928
  key: 1,
26925
26929
  class: "admin-widget__empty"
26926
- }, lz = ["viewBox", "height", "aria-label"], rz = ["x", "y", "width", "height", "fill", "data-label", "data-value"], kw = /* @__PURE__ */ ne({
26930
+ }, lz = ["viewBox", "height", "aria-label"], rz = ["x", "y", "width", "height", "fill", "data-label", "data-value"], mw = /* @__PURE__ */ ne({
26927
26931
  __name: "BarChartWidget",
26928
26932
  props: {
26929
26933
  title: { default: "" },
@@ -26964,7 +26968,7 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
26964
26968
  role: "img",
26965
26969
  "aria-label": a.title || "Bar chart"
26966
26970
  }, [
26967
- (c(!0), h(X, null, ae(d.value, (r, p) => (c(), h("rect", {
26971
+ (c(!0), h(X, null, ee(d.value, (r, p) => (c(), h("rect", {
26968
26972
  key: p,
26969
26973
  x: r.x,
26970
26974
  y: a.height - r.heightPct / 100 * a.height,
@@ -26991,7 +26995,7 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
26991
26995
  }, uz = {
26992
26996
  key: 2,
26993
26997
  class: "admin-donut-widget__row"
26994
- }, yz = ["aria-label"], pz = ["d", "fill"], kz = { class: "admin-donut-widget__legend" }, mz = { class: "admin-donut-widget__label" }, vz = { class: "admin-donut-widget__value" }, mw = /* @__PURE__ */ ne({
26998
+ }, yz = ["aria-label"], pz = ["d", "fill"], kz = { class: "admin-donut-widget__legend" }, mz = { class: "admin-donut-widget__label" }, vz = { class: "admin-donut-widget__value" }, vw = /* @__PURE__ */ ne({
26995
26999
  __name: "DonutChartWidget",
26996
27000
  props: {
26997
27001
  title: { default: "" },
@@ -27035,7 +27039,7 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
27035
27039
  role: "img",
27036
27040
  "aria-label": a.title
27037
27041
  }, [
27038
- (c(!0), h(X, null, ae(i.value, (p, m) => (c(), h("path", {
27042
+ (c(!0), h(X, null, ee(i.value, (p, m) => (c(), h("path", {
27039
27043
  key: m,
27040
27044
  d: p.path,
27041
27045
  fill: p.color
@@ -27050,7 +27054,7 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
27050
27054
  }, null, -1))
27051
27055
  ], 8, yz)),
27052
27056
  u("ul", kz, [
27053
- (c(!0), h(X, null, ae(i.value, (p, m) => (c(), h("li", { key: m }, [
27057
+ (c(!0), h(X, null, ee(i.value, (p, m) => (c(), h("li", { key: m }, [
27054
27058
  u("span", {
27055
27059
  class: "admin-donut-widget__dot",
27056
27060
  style: Ve({ background: p.color })
@@ -27166,18 +27170,18 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
27166
27170
  style: Ve({ "--admin-heatmap-cols": a.cols.length })
27167
27171
  }, [
27168
27172
  u("div", xz, [
27169
- (c(!0), h(X, null, ae(a.cols, (r, p) => (c(), h("span", {
27173
+ (c(!0), h(X, null, ee(a.cols, (r, p) => (c(), h("span", {
27170
27174
  key: `c-${p}`,
27171
27175
  class: "admin-heatmap__col-label"
27172
27176
  }, y(p % 3 === 0 ? r : ""), 1))), 128))
27173
27177
  ]),
27174
- (c(!0), h(X, null, ae(a.matrix, (r, p) => (c(), h("div", {
27178
+ (c(!0), h(X, null, ee(a.matrix, (r, p) => (c(), h("div", {
27175
27179
  key: `r-${p}`,
27176
27180
  class: "admin-heatmap__row"
27177
27181
  }, [
27178
27182
  u("span", bz, y(a.rows[p] ?? ""), 1),
27179
27183
  u("div", Lz, [
27180
- (c(!0), h(X, null, ae(r, (m, k) => (c(), h("span", {
27184
+ (c(!0), h(X, null, ee(r, (m, k) => (c(), h("span", {
27181
27185
  key: `cell-${p}-${k}`,
27182
27186
  class: "admin-heatmap__cell",
27183
27187
  style: Ve({ background: a.color, opacity: l(m) }),
@@ -27230,7 +27234,7 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
27230
27234
  u("h3", Az, y(a.title), 1)
27231
27235
  ])) : H("", !0),
27232
27236
  u("div", zz, [
27233
- w(n(Qw), {
27237
+ w(n(ex), {
27234
27238
  value: a.value,
27235
27239
  min: a.min,
27236
27240
  max: a.max,
@@ -27312,11 +27316,11 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
27312
27316
  color: r.color ?? l[m % l.length]
27313
27317
  })) : [];
27314
27318
  });
27315
- return (r, p) => o.value === "doughnut" || o.value === "pie" ? (c(), z(mw, {
27319
+ return (r, p) => o.value === "doughnut" || o.value === "pie" ? (c(), z(vw, {
27316
27320
  key: 0,
27317
27321
  title: a.title,
27318
27322
  data: s.value
27319
- }, null, 8, ["title", "data"])) : o.value === "bar" || o.value === "line" || o.value === "area" ? (c(), z(kw, {
27323
+ }, null, 8, ["title", "data"])) : o.value === "bar" || o.value === "line" || o.value === "area" ? (c(), z(mw, {
27320
27324
  key: 1,
27321
27325
  title: a.title,
27322
27326
  data: d.value,
@@ -27413,15 +27417,15 @@ const dA = "http://www.w3.org/2000/svg", sA = (a, t, o, l = []) => [`<${t}`, ...
27413
27417
  function Gz() {
27414
27418
  ((t) => {
27415
27419
  for (const [o, l] of Object.entries(t))
27416
- Nb(o) || Wb(o, l);
27420
+ Xb(o) || Gb(o, l);
27417
27421
  })({
27418
27422
  // Stat / Stats overview
27419
- stat: jI,
27420
- stats: jI,
27423
+ stat: DI,
27424
+ stats: DI,
27421
27425
  // Charts: универсальный диспетчер по data.type → bar/donut/...
27422
27426
  chart: Dz,
27423
- "bar-chart": kw,
27424
- "donut-chart": mw,
27427
+ "bar-chart": mw,
27428
+ "donut-chart": vw,
27425
27429
  // Recent list (таблица последних записей)
27426
27430
  "recent-table": J9,
27427
27431
  recent_list: J9,
@@ -27438,11 +27442,11 @@ function Gz() {
27438
27442
  function Nz(a) {
27439
27443
  return a.success === !0;
27440
27444
  }
27441
- function aj(a) {
27445
+ function tj(a) {
27442
27446
  return a.success === !1;
27443
27447
  }
27444
27448
  function Xz(a) {
27445
- const t = hx.create({
27449
+ const t = ux.create({
27446
27450
  baseURL: a.baseURL,
27447
27451
  withCredentials: !0,
27448
27452
  headers: {
@@ -27459,7 +27463,7 @@ function Xz(a) {
27459
27463
  if (i && typeof i == "object" && "success" in i) {
27460
27464
  if (Nz(i))
27461
27465
  return d.data = i.payload, d;
27462
- throw bI(d.status, i.payload);
27466
+ throw LI(d.status, i.payload);
27463
27467
  }
27464
27468
  return d;
27465
27469
  },
@@ -27468,7 +27472,7 @@ function Xz(a) {
27468
27472
  const i = d.response.status, s = d.response.data?.payload ?? {
27469
27473
  errorKey: "unknown",
27470
27474
  message: d.message
27471
- }, r = bI(i, s);
27475
+ }, r = LI(i, s);
27472
27476
  return r instanceof KI && a.onUnauthenticated?.(), Promise.reject(r);
27473
27477
  }
27474
27478
  return Promise.reject(new F9(d.message));
@@ -27668,7 +27672,7 @@ function rH(a) {
27668
27672
  return typeof a != "string" ? !1 : lH.some((t) => a.startsWith(t));
27669
27673
  }
27670
27674
  function dH(a) {
27671
- const t = a.base ?? "/admin", o = a.history ?? TI(t), l = [
27675
+ const t = a.base ?? "/admin", o = a.history ?? UI(t), l = [
27672
27676
  {
27673
27677
  path: "/login",
27674
27678
  name: "admin.login",
@@ -27714,7 +27718,7 @@ function dH(a) {
27714
27718
  name: "admin.notFound",
27715
27719
  component: a.components.notFound,
27716
27720
  meta: { kind: "system", title: "404", requiresAuth: !0 }
27717
- }, i = Bw({
27721
+ }, i = Rw({
27718
27722
  history: o,
27719
27723
  routes: [...l, ...a.extraRoutes ?? [], d]
27720
27724
  });
@@ -27787,7 +27791,7 @@ const m1 = /* @__PURE__ */ ne({
27787
27791
  disabled: a.disabled
27788
27792
  }, {
27789
27793
  default: x(() => [
27790
- w(n(ex), {
27794
+ w(n(ax), {
27791
27795
  "model-value": l.value,
27792
27796
  rows: a.rows,
27793
27797
  placeholder: a.placeholder ?? void 0,
@@ -27830,7 +27834,7 @@ const m1 = /* @__PURE__ */ ne({
27830
27834
  disabled: a.disabled
27831
27835
  }, {
27832
27836
  default: x(() => [
27833
- w(n(ax), {
27837
+ w(n(tx), {
27834
27838
  "model-value": l.value,
27835
27839
  min: a.min ?? void 0,
27836
27840
  max: a.max ?? void 0,
@@ -27911,7 +27915,7 @@ const m1 = /* @__PURE__ */ ne({
27911
27915
  disabled: a.disabled
27912
27916
  }, {
27913
27917
  default: x(() => [
27914
- w(n(UI), {
27918
+ w(n(OI), {
27915
27919
  "model-value": l.value,
27916
27920
  disabled: a.disabled,
27917
27921
  required: a.required,
@@ -27951,7 +27955,7 @@ const m1 = /* @__PURE__ */ ne({
27951
27955
  disabled: a.disabled
27952
27956
  }, {
27953
27957
  default: x(() => [
27954
- w(n(tx), {
27958
+ w(n(nx), {
27955
27959
  "model-value": l.value,
27956
27960
  min: a.min ?? void 0,
27957
27961
  max: a.max ?? void 0,
@@ -27994,7 +27998,7 @@ const m1 = /* @__PURE__ */ ne({
27994
27998
  const t = a, o = Pe(), l = M(() => {
27995
27999
  const W = o.getField(t.name);
27996
28000
  return Array.isArray(W) ? W.map((J) => String(J)) : typeof W == "string" && W !== "" ? W.split(",").map((J) => J.trim()).filter(Boolean) : [];
27997
- }), d = M(() => o.errors[t.name]?.[0]), i = A(""), s = A(!1), r = A(null), p = A(null), m = A(null), { floatingStyle: k, update: g } = nx(p, m, {
28001
+ }), d = M(() => o.errors[t.name]?.[0]), i = A(""), s = A(!1), r = A(null), p = A(null), m = A(null), { floatingStyle: k, update: g } = ox(p, m, {
27998
28002
  placement: "bottom-start",
27999
28003
  offset: 4
28000
28004
  }), b = A(0);
@@ -28098,7 +28102,7 @@ const m1 = /* @__PURE__ */ ne({
28098
28102
  ]),
28099
28103
  onClick: O
28100
28104
  }, [
28101
- (c(!0), h(X, null, ae(l.value, (R, _) => (c(), h("span", {
28105
+ (c(!0), h(X, null, ee(l.value, (R, _) => (c(), h("span", {
28102
28106
  key: `${R}-${_}`,
28103
28107
  class: "admin-tags__chip"
28104
28108
  }, [
@@ -28110,7 +28114,7 @@ const m1 = /* @__PURE__ */ ne({
28110
28114
  "aria-label": n(v)("Удалить"),
28111
28115
  onClick: me((j) => S(_), ["stop"])
28112
28116
  }, [
28113
- w(n(ee), {
28117
+ w(n(ae), {
28114
28118
  icon: n(He),
28115
28119
  size: 10
28116
28120
  }, null, 8, ["icon"])
@@ -28138,11 +28142,11 @@ const m1 = /* @__PURE__ */ ne({
28138
28142
  role: "listbox",
28139
28143
  style: Ve(I.value)
28140
28144
  }, [
28141
- T.value ? (c(!0), h(X, { key: 0 }, ae(P.value, (R, _) => (c(), h(X, {
28145
+ T.value ? (c(!0), h(X, { key: 0 }, ee(P.value, (R, _) => (c(), h(X, {
28142
28146
  key: `g-${_}-${R.label}`
28143
28147
  }, [
28144
28148
  u("div", kH, y(R.label), 1),
28145
- (c(!0), h(X, null, ae(R.items, (j) => (c(), h("button", {
28149
+ (c(!0), h(X, null, ee(R.items, (j) => (c(), h("button", {
28146
28150
  key: j,
28147
28151
  type: "button",
28148
28152
  role: "option",
@@ -28158,7 +28162,7 @@ const m1 = /* @__PURE__ */ ne({
28158
28162
  onMousedown: me((q) => G(j), ["prevent"]),
28159
28163
  onMouseenter: (q) => V.value = B.value.indexOf(j)
28160
28164
  }, y(j), 43, mH))), 128))
28161
- ], 64))), 128)) : (c(!0), h(X, { key: 1 }, ae(B.value, (R, _) => (c(), h("button", {
28165
+ ], 64))), 128)) : (c(!0), h(X, { key: 1 }, ee(B.value, (R, _) => (c(), h("button", {
28162
28166
  key: R,
28163
28167
  type: "button",
28164
28168
  role: "option",
@@ -28193,7 +28197,7 @@ const m1 = /* @__PURE__ */ ne({
28193
28197
  }, AH = {
28194
28198
  key: 2,
28195
28199
  class: "admin-field__help"
28196
- }, DI = /* @__PURE__ */ ne({
28200
+ }, BI = /* @__PURE__ */ ne({
28197
28201
  __name: "TranslatableField",
28198
28202
  props: {
28199
28203
  name: {},
@@ -28238,7 +28242,7 @@ const m1 = /* @__PURE__ */ ne({
28238
28242
  ])) : H("", !0),
28239
28243
  u("div", xH, [
28240
28244
  u("div", bH, [
28241
- (c(!0), h(X, null, ae(d.value, (b) => (c(), h("button", {
28245
+ (c(!0), h(X, null, ee(d.value, (b) => (c(), h("button", {
28242
28246
  key: b,
28243
28247
  type: "button",
28244
28248
  role: "tab",
@@ -28463,7 +28467,7 @@ const m1 = /* @__PURE__ */ ne({
28463
28467
  ref: p,
28464
28468
  class: "admin-field__control admin-wysiwyg-wrap"
28465
28469
  }, [
28466
- w(n(ux), {
28470
+ w(n(yx), {
28467
28471
  "model-value": l.value,
28468
28472
  placeholder: a.placeholder ?? void 0,
28469
28473
  readonly: a.disabled,
@@ -28482,7 +28486,7 @@ const m1 = /* @__PURE__ */ ne({
28482
28486
  class: "admin-wysiwyg__file-input",
28483
28487
  onChange: g
28484
28488
  }, null, 544),
28485
- I.value ? (c(), h(X, { key: 0 }, ae(["nw", "ne", "sw", "se"], (j) => u("div", {
28489
+ I.value ? (c(), h(X, { key: 0 }, ee(["nw", "ne", "sw", "se"], (j) => u("div", {
28486
28490
  key: j,
28487
28491
  class: fe(["admin-wysiwyg-img__handle", `admin-wysiwyg-img__handle--${j}`]),
28488
28492
  style: Ve(J(j, I.value)),
@@ -28586,7 +28590,7 @@ const m1 = /* @__PURE__ */ ne({
28586
28590
  onClick: b
28587
28591
  }, {
28588
28592
  default: x(() => [
28589
- w(n(ee), { icon: n(He) }, null, 8, ["icon"]),
28593
+ w(n(ae), { icon: n(He) }, null, 8, ["icon"]),
28590
28594
  I[2] || (I[2] = D(" Удалить ", -1))
28591
28595
  ]),
28592
28596
  _: 1
@@ -28599,7 +28603,7 @@ const m1 = /* @__PURE__ */ ne({
28599
28603
  onDragleave: I[1] || (I[1] = (L) => r.value = !1),
28600
28604
  onDrop: k
28601
28605
  }, [
28602
- w(n(ee), {
28606
+ w(n(ae), {
28603
28607
  icon: n(oo),
28604
28608
  size: 24
28605
28609
  }, null, 8, ["icon"]),
@@ -28618,7 +28622,7 @@ const m1 = /* @__PURE__ */ ne({
28618
28622
  d.value ? (c(), h("p", XH, y(d.value), 1)) : H("", !0)
28619
28623
  ]));
28620
28624
  }
28621
- }), BI = /* @__PURE__ */ a1(KH, [["__scopeId", "data-v-ec4a41a3"]]), JH = { class: "admin-image-cropper" }, YH = {
28625
+ }), RI = /* @__PURE__ */ a1(KH, [["__scopeId", "data-v-ec4a41a3"]]), JH = { class: "admin-image-cropper" }, YH = {
28622
28626
  key: 0,
28623
28627
  class: "admin-image-cropper__label"
28624
28628
  }, QH = {
@@ -28796,7 +28800,7 @@ const m1 = /* @__PURE__ */ ne({
28796
28800
  onDragleave: _[1] || (_[1] = (j) => s.value = !1),
28797
28801
  onDrop: f
28798
28802
  }, [
28799
- w(n(ee), {
28803
+ w(n(ae), {
28800
28804
  icon: n(to),
28801
28805
  size: 28
28802
28806
  }, null, 8, ["icon"]),
@@ -28854,7 +28858,7 @@ const m1 = /* @__PURE__ */ ne({
28854
28858
  onClick: O
28855
28859
  }, {
28856
28860
  default: x(() => [
28857
- w(n(ee), { icon: n(i1) }, null, 8, ["icon"]),
28861
+ w(n(ae), { icon: n(i1) }, null, 8, ["icon"]),
28858
28862
  D(" " + y(r.value ? n(v)("Загрузка…") : n(v)("Применить")), 1)
28859
28863
  ]),
28860
28864
  _: 1
@@ -28866,7 +28870,7 @@ const m1 = /* @__PURE__ */ ne({
28866
28870
  onClick: G
28867
28871
  }, {
28868
28872
  default: x(() => [
28869
- w(n(ee), { icon: n(He) }, null, 8, ["icon"]),
28873
+ w(n(ae), { icon: n(He) }, null, 8, ["icon"]),
28870
28874
  _[7] || (_[7] = D(" Отмена ", -1))
28871
28875
  ]),
28872
28876
  _: 1
@@ -28888,7 +28892,7 @@ const m1 = /* @__PURE__ */ ne({
28888
28892
  onClick: W
28889
28893
  }, {
28890
28894
  default: x(() => [
28891
- w(n(ee), { icon: n(C2) }, null, 8, ["icon"]),
28895
+ w(n(ae), { icon: n(C2) }, null, 8, ["icon"]),
28892
28896
  _[8] || (_[8] = D(" Заменить ", -1))
28893
28897
  ]),
28894
28898
  _: 1
@@ -28899,7 +28903,7 @@ const m1 = /* @__PURE__ */ ne({
28899
28903
  onClick: J
28900
28904
  }, {
28901
28905
  default: x(() => [
28902
- w(n(ee), { icon: n(He) }, null, 8, ["icon"]),
28906
+ w(n(ae), { icon: n(He) }, null, 8, ["icon"]),
28903
28907
  _[9] || (_[9] = D(" Удалить ", -1))
28904
28908
  ]),
28905
28909
  _: 1
@@ -28980,7 +28984,7 @@ const m1 = /* @__PURE__ */ ne({
28980
28984
  u("span", null, y(n(v)(a.valueLabel)), 1),
28981
28985
  g[0] || (g[0] = u("span", null, null, -1))
28982
28986
  ]),
28983
- (c(!0), h(X, null, ae(d.value, (b, C) => (c(), h("div", {
28987
+ (c(!0), h(X, null, ee(d.value, (b, C) => (c(), h("div", {
28984
28988
  key: C,
28985
28989
  class: "admin-keyvalue__row"
28986
28990
  }, [
@@ -29005,7 +29009,7 @@ const m1 = /* @__PURE__ */ ne({
29005
29009
  onClick: (I) => r(C)
29006
29010
  }, {
29007
29011
  default: x(() => [
29008
- w(n(ee), {
29012
+ w(n(ae), {
29009
29013
  icon: n(He),
29010
29014
  size: 14
29011
29015
  }, null, 8, ["icon"])
@@ -29017,7 +29021,7 @@ const m1 = /* @__PURE__ */ ne({
29017
29021
  key: 0,
29018
29022
  id: m.value
29019
29023
  }, [
29020
- (c(!0), h(X, null, ae(a.allowedKeys, (b) => (c(), h("option", {
29024
+ (c(!0), h(X, null, ee(a.allowedKeys, (b) => (c(), h("option", {
29021
29025
  key: b,
29022
29026
  value: b
29023
29027
  }, null, 8, bV))), 128))
@@ -29031,7 +29035,7 @@ const m1 = /* @__PURE__ */ ne({
29031
29035
  onClick: s
29032
29036
  }, {
29033
29037
  prepend: x(() => [
29034
- w(n(ee), {
29038
+ w(n(ae), {
29035
29039
  icon: n(Te),
29036
29040
  size: 14
29037
29041
  }, null, 8, ["icon"])
@@ -29052,19 +29056,19 @@ const m1 = /* @__PURE__ */ ne({
29052
29056
  },
29053
29057
  emits: ["update:modelValue"],
29054
29058
  setup(a, { emit: t }) {
29055
- const o = a, l = t, d = $I({ ...o.modelValue });
29059
+ const o = a, l = t, d = TI({ ...o.modelValue });
29056
29060
  return V9(d), Ie(
29057
29061
  d,
29058
29062
  () => l("update:modelValue", { ...d }),
29059
29063
  { deep: !0 }
29060
29064
  ), (i, s) => (c(), h("div", qV, [
29061
- (c(!0), h(X, null, ae(a.fields, (r) => (c(), z(mI, {
29065
+ (c(!0), h(X, null, ee(a.fields, (r) => (c(), z(vI, {
29062
29066
  key: r.name,
29063
29067
  node: r
29064
29068
  }, null, 8, ["node"]))), 128))
29065
29069
  ]));
29066
29070
  }
29067
- }), vw = /* @__PURE__ */ a1(AV, [["__scopeId", "data-v-fdba98be"]]), zV = {
29071
+ }), fw = /* @__PURE__ */ a1(AV, [["__scopeId", "data-v-fdba98be"]]), zV = {
29068
29072
  key: 0,
29069
29073
  class: "uid-form-field__label"
29070
29074
  }, HV = {
@@ -29137,7 +29141,7 @@ const m1 = /* @__PURE__ */ ne({
29137
29141
  D(y(a.label), 1),
29138
29142
  a.required ? (c(), h("span", HV, "*")) : H("", !0)
29139
29143
  ])) : H("", !0),
29140
- (c(!0), h(X, null, ae(d.value, (L, f) => (c(), z(n(we), {
29144
+ (c(!0), h(X, null, ee(d.value, (L, f) => (c(), z(n(we), {
29141
29145
  key: f,
29142
29146
  padding: "md",
29143
29147
  class: "admin-repeater__item"
@@ -29155,7 +29159,7 @@ const m1 = /* @__PURE__ */ ne({
29155
29159
  onClick: (S) => g(f, -1)
29156
29160
  }, {
29157
29161
  default: x(() => [
29158
- w(n(ee), {
29162
+ w(n(ae), {
29159
29163
  icon: n(uo),
29160
29164
  size: 14
29161
29165
  }, null, 8, ["icon"])
@@ -29171,7 +29175,7 @@ const m1 = /* @__PURE__ */ ne({
29171
29175
  onClick: (S) => g(f, 1)
29172
29176
  }, {
29173
29177
  default: x(() => [
29174
- w(n(ee), {
29178
+ w(n(ae), {
29175
29179
  icon: n(h1),
29176
29180
  size: 14
29177
29181
  }, null, 8, ["icon"])
@@ -29186,7 +29190,7 @@ const m1 = /* @__PURE__ */ ne({
29186
29190
  onClick: (S) => k(f)
29187
29191
  }, {
29188
29192
  default: x(() => [
29189
- w(n(ee), {
29193
+ w(n(ae), {
29190
29194
  icon: n(He),
29191
29195
  size: 14
29192
29196
  }, null, 8, ["icon"])
@@ -29195,7 +29199,7 @@ const m1 = /* @__PURE__ */ ne({
29195
29199
  }, 8, ["aria-label", "onClick"])) : H("", !0)
29196
29200
  ])
29197
29201
  ]),
29198
- w(vw, {
29202
+ w(fw, {
29199
29203
  fields: a.fields,
29200
29204
  "model-value": L,
29201
29205
  "onUpdate:modelValue": (S) => s(f, S)
@@ -29211,7 +29215,7 @@ const m1 = /* @__PURE__ */ ne({
29211
29215
  onClick: p
29212
29216
  }, {
29213
29217
  prepend: x(() => [
29214
- w(n(ee), {
29218
+ w(n(ae), {
29215
29219
  icon: n(Te),
29216
29220
  size: 14
29217
29221
  }, null, 8, ["icon"])
@@ -29296,7 +29300,7 @@ const m1 = /* @__PURE__ */ ne({
29296
29300
  D(y(a.label), 1),
29297
29301
  a.required ? (c(), h("span", TV, "*")) : H("", !0)
29298
29302
  ])) : H("", !0),
29299
- (c(!0), h(X, null, ae(d.value, (f, S) => (c(), z(n(we), {
29303
+ (c(!0), h(X, null, ee(d.value, (f, S) => (c(), z(n(we), {
29300
29304
  key: S,
29301
29305
  padding: "md",
29302
29306
  class: "admin-builder__block"
@@ -29314,7 +29318,7 @@ const m1 = /* @__PURE__ */ ne({
29314
29318
  onClick: (Z) => k(S, -1)
29315
29319
  }, {
29316
29320
  default: x(() => [
29317
- w(n(ee), {
29321
+ w(n(ae), {
29318
29322
  icon: n(uo),
29319
29323
  size: 14
29320
29324
  }, null, 8, ["icon"])
@@ -29330,7 +29334,7 @@ const m1 = /* @__PURE__ */ ne({
29330
29334
  onClick: (Z) => k(S, 1)
29331
29335
  }, {
29332
29336
  default: x(() => [
29333
- w(n(ee), {
29337
+ w(n(ae), {
29334
29338
  icon: n(h1),
29335
29339
  size: 14
29336
29340
  }, null, 8, ["icon"])
@@ -29344,7 +29348,7 @@ const m1 = /* @__PURE__ */ ne({
29344
29348
  onClick: (Z) => m(S)
29345
29349
  }, {
29346
29350
  default: x(() => [
29347
- w(n(ee), {
29351
+ w(n(ae), {
29348
29352
  icon: n(He),
29349
29353
  size: 14
29350
29354
  }, null, 8, ["icon"])
@@ -29353,7 +29357,7 @@ const m1 = /* @__PURE__ */ ne({
29353
29357
  }, 8, ["aria-label", "onClick"])
29354
29358
  ])
29355
29359
  ]),
29356
- b(f.type) ? (c(), z(vw, {
29360
+ b(f.type) ? (c(), z(fw, {
29357
29361
  key: 0,
29358
29362
  fields: b(f.type).fields,
29359
29363
  "model-value": f.data,
@@ -29370,7 +29374,7 @@ const m1 = /* @__PURE__ */ ne({
29370
29374
  class: "admin-builder__add"
29371
29375
  }, {
29372
29376
  prepend: x(() => [
29373
- w(n(ee), {
29377
+ w(n(ae), {
29374
29378
  icon: n(Te),
29375
29379
  size: 14
29376
29380
  }, null, 8, ["icon"])
@@ -29382,7 +29386,7 @@ const m1 = /* @__PURE__ */ ne({
29382
29386
  })
29383
29387
  ]),
29384
29388
  default: x(() => [
29385
- (c(!0), h(X, null, ae(s.value, (f) => (c(), z(n(De), {
29389
+ (c(!0), h(X, null, ee(s.value, (f) => (c(), z(n(De), {
29386
29390
  key: f.type,
29387
29391
  onClick: (S) => p(f.type)
29388
29392
  }, {
@@ -29545,12 +29549,12 @@ const m1 = /* @__PURE__ */ ne({
29545
29549
  const i = d.span;
29546
29550
  return typeof i == "number" && i > 0 ? Math.min(i, t.cols) : o.value;
29547
29551
  }
29548
- return (d, i) => (c(), z(n(OI), {
29552
+ return (d, i) => (c(), z(n(uI), {
29549
29553
  cols: a.cols,
29550
29554
  gap: a.gap
29551
29555
  }, {
29552
29556
  default: x(() => [
29553
- (c(!0), h(X, null, ae(a.items, (s, r) => (c(), h("div", {
29557
+ (c(!0), h(X, null, ee(a.items, (s, r) => (c(), h("div", {
29554
29558
  key: r,
29555
29559
  class: "admin-columns__item",
29556
29560
  style: Ve({ gridColumn: `span ${l(s)} / span ${l(s)}` })
@@ -29588,7 +29592,7 @@ const m1 = /* @__PURE__ */ ne({
29588
29592
  a.description ? (c(), h("p", dP, y(a.description), 1)) : H("", !0)
29589
29593
  ])) : H("", !0),
29590
29594
  u("div", sP, [
29591
- (c(!0), h(X, null, ae(a.items, (l, d) => (c(), z(bo, {
29595
+ (c(!0), h(X, null, ee(a.items, (l, d) => (c(), z(bo, {
29592
29596
  key: d,
29593
29597
  node: l
29594
29598
  }, null, 8, ["node"]))), 128))
@@ -29618,7 +29622,7 @@ const m1 = /* @__PURE__ */ ne({
29618
29622
  "onUpdate:modelValue": s
29619
29623
  }, {
29620
29624
  list: x(() => [
29621
- (c(!0), h(X, null, ae(a.items, (m, k) => (c(), z(n(lc), {
29625
+ (c(!0), h(X, null, ee(a.items, (m, k) => (c(), z(n(lc), {
29622
29626
  key: d(m, k),
29623
29627
  value: d(m, k)
29624
29628
  }, {
@@ -29629,12 +29633,12 @@ const m1 = /* @__PURE__ */ ne({
29629
29633
  }, 1032, ["value"]))), 128))
29630
29634
  ]),
29631
29635
  default: x(() => [
29632
- (c(!0), h(X, null, ae(a.items, (m, k) => (c(), z(n(ZI), {
29636
+ (c(!0), h(X, null, ee(a.items, (m, k) => (c(), z(n(ZI), {
29633
29637
  key: `panel-${d(m, k)}`,
29634
29638
  value: d(m, k)
29635
29639
  }, {
29636
29640
  default: x(() => [
29637
- (c(!0), h(X, null, ae(m.items, (g, b) => (c(), z(bo, {
29641
+ (c(!0), h(X, null, ee(m.items, (g, b) => (c(), z(bo, {
29638
29642
  key: b,
29639
29643
  node: g
29640
29644
  }, null, 8, ["node"]))), 128))
@@ -29658,7 +29662,7 @@ const m1 = /* @__PURE__ */ ne({
29658
29662
  features: { default: () => ({ create: !1, delete: !1, bulkDelete: !1 }) }
29659
29663
  },
29660
29664
  setup(a) {
29661
- const t = a, o = Ee(), l = vI(), d = M(() => o.getResource(t.resource)), i = A([]), s = A(!1), r = A(null), p = A(/* @__PURE__ */ new Set()), m = A(null), k = M(() => {
29665
+ const t = a, o = Ee(), l = fI(), d = M(() => o.getResource(t.resource)), i = A([]), s = A(!1), r = A(null), p = A(/* @__PURE__ */ new Set()), m = A(null), k = M(() => {
29662
29666
  const J = l.state[t.parent_field];
29663
29667
  return J ?? null;
29664
29668
  }), g = M(() => (d.value?.columns ?? []).filter((R) => {
@@ -29763,7 +29767,7 @@ const m1 = /* @__PURE__ */ ne({
29763
29767
  onClick: F
29764
29768
  }, {
29765
29769
  default: x(() => [
29766
- w(n(ee), { icon: n(Te) }, null, 8, ["icon"]),
29770
+ w(n(ae), { icon: n(Te) }, null, 8, ["icon"]),
29767
29771
  R[0] || (R[0] = D(" Добавить ", -1))
29768
29772
  ]),
29769
29773
  _: 1
@@ -29775,7 +29779,7 @@ const m1 = /* @__PURE__ */ ne({
29775
29779
  onClick: B
29776
29780
  }, {
29777
29781
  default: x(() => [
29778
- w(n(ee), { icon: n(Ue) }, null, 8, ["icon"]),
29782
+ w(n(ae), { icon: n(Ue) }, null, 8, ["icon"]),
29779
29783
  D(" Удалить выбранные (" + y(p.value.size) + ") ", 1)
29780
29784
  ]),
29781
29785
  _: 1
@@ -29798,11 +29802,11 @@ const m1 = /* @__PURE__ */ ne({
29798
29802
  "row-key": "id",
29799
29803
  onSelectRow: V,
29800
29804
  onSelectAll: T
29801
- }, RI({ _: 2 }, [
29802
- ae(b.value, (_) => ({
29805
+ }, $I({ _: 2 }, [
29806
+ ee(b.value, (_) => ({
29803
29807
  name: _.key,
29804
29808
  fn: x((j) => [
29805
- U(j) && f(_.key) ? (c(), z(iw, {
29809
+ U(j) && f(_.key) ? (c(), z(lw, {
29806
29810
  key: 0,
29807
29811
  "resource-slug": a.resource,
29808
29812
  "row-id": Z(U(j)),
@@ -29833,7 +29837,7 @@ const m1 = /* @__PURE__ */ ne({
29833
29837
  "aria-label": n(v)("Удалить"),
29834
29838
  onClick: (j) => U(_) && P(U(_))
29835
29839
  }, [
29836
- w(n(ee), {
29840
+ w(n(ae), {
29837
29841
  icon: n(Ue),
29838
29842
  size: 14
29839
29843
  }, null, 8, ["icon"])
@@ -29844,7 +29848,7 @@ const m1 = /* @__PURE__ */ ne({
29844
29848
  ]), 1032, ["columns", "data", "selectable", "selection"])),
29845
29849
  m.value !== null ? (c(), h("div", mP, [
29846
29850
  u("div", vP, [
29847
- (c(!0), h(X, null, ae(b.value, (_) => (c(), h("div", {
29851
+ (c(!0), h(X, null, ee(b.value, (_) => (c(), h("div", {
29848
29852
  key: _.key,
29849
29853
  class: "admin-embedded-table__draft-cell"
29850
29854
  }, [
@@ -29856,7 +29860,7 @@ const m1 = /* @__PURE__ */ ne({
29856
29860
  onChange: (j) => te(_.key, j.target.value)
29857
29861
  }, [
29858
29862
  R[1] || (R[1] = u("option", { value: "" }, null, -1)),
29859
- (c(!0), h(X, null, ae(f(_.key).options, (j, q) => (c(), h("option", {
29863
+ (c(!0), h(X, null, ee(f(_.key).options, (j, q) => (c(), h("option", {
29860
29864
  key: q,
29861
29865
  value: q
29862
29866
  }, y(j), 9, MP))), 128))
@@ -29876,7 +29880,7 @@ const m1 = /* @__PURE__ */ ne({
29876
29880
  onClick: G
29877
29881
  }, {
29878
29882
  default: x(() => [
29879
- w(n(ee), { icon: n(i1) }, null, 8, ["icon"]),
29883
+ w(n(ae), { icon: n(i1) }, null, 8, ["icon"]),
29880
29884
  R[2] || (R[2] = D(" Создать ", -1))
29881
29885
  ]),
29882
29886
  _: 1
@@ -29887,7 +29891,7 @@ const m1 = /* @__PURE__ */ ne({
29887
29891
  onClick: O
29888
29892
  }, {
29889
29893
  default: x(() => [
29890
- w(n(ee), { icon: n(He) }, null, 8, ["icon"]),
29894
+ w(n(ae), { icon: n(He) }, null, 8, ["icon"]),
29891
29895
  R[3] || (R[3] = D(" Отмена ", -1))
29892
29896
  ]),
29893
29897
  _: 1
@@ -29896,7 +29900,37 @@ const m1 = /* @__PURE__ */ ne({
29896
29900
  ])) : H("", !0)
29897
29901
  ]));
29898
29902
  }
29899
- }), bP = /* @__PURE__ */ a1(xP, [["__scopeId", "data-v-17c526a7"]]);
29903
+ }), bP = /* @__PURE__ */ a1(xP, [["__scopeId", "data-v-17c526a7"]]), LP = /* @__PURE__ */ ne({
29904
+ __name: "DashboardLayout",
29905
+ props: {
29906
+ items: { default: () => [] },
29907
+ gridColumns: { default: 12 },
29908
+ gap: { default: "var(--uid-space-md)" }
29909
+ },
29910
+ setup(a) {
29911
+ const t = a;
29912
+ function o(l) {
29913
+ const d = l.size ?? l.span, i = Number(d), s = Number.isFinite(i) && i >= 1 ? i : t.gridColumns;
29914
+ return Math.min(s, t.gridColumns);
29915
+ }
29916
+ return (l, d) => (c(), z(n(uI), {
29917
+ cols: a.gridColumns,
29918
+ "col-gap": a.gap,
29919
+ "row-gap": "var(--uid-space-lg)"
29920
+ }, {
29921
+ default: x(() => [
29922
+ (c(!0), h(X, null, ee(a.items, (i, s) => (c(), h("div", {
29923
+ key: s,
29924
+ class: "admin-dashboard-layout__cell",
29925
+ style: Ve({ gridColumn: `span ${o(i)}` })
29926
+ }, [
29927
+ w(aw, { node: i }, null, 8, ["node"])
29928
+ ], 4))), 128))
29929
+ ]),
29930
+ _: 1
29931
+ }, 8, ["cols", "col-gap"]));
29932
+ }
29933
+ });
29900
29934
  function Fo(a) {
29901
29935
  return ne({
29902
29936
  name: `TextField${a.charAt(0).toUpperCase()}${a.slice(1)}`,
@@ -29907,14 +29941,14 @@ function Fo(a) {
29907
29941
  }
29908
29942
  });
29909
29943
  }
29910
- function LP(a) {
29944
+ function CP(a) {
29911
29945
  for (const [t, o] of Object.entries(a.fields ?? {}))
29912
29946
  xC(t) || wC(t, o);
29913
29947
  for (const [t, o] of Object.entries(a.layouts ?? {}))
29914
29948
  LC(t) || bC(t, o);
29915
29949
  }
29916
- function CP() {
29917
- LP({
29950
+ function _P() {
29951
+ CP({
29918
29952
  fields: {
29919
29953
  // Backend Field-классы из dskripchenko/laravel-admin отдают эти fieldType()
29920
29954
  // строки. Соответствие см. core/src/Field/{Input,TextArea,Select,...}.php.
@@ -29945,8 +29979,8 @@ function CP() {
29945
29979
  tags: MH,
29946
29980
  // Translatable: backend Field\TranslatableInput → fieldType()='translatable'.
29947
29981
  // Хранит value как Record<locale, string>; UI показывает табы по локалям.
29948
- translatable: DI,
29949
- "translatable-text": DI,
29982
+ translatable: BI,
29983
+ "translatable-text": BI,
29950
29984
  // Backend fieldType() отдаёт snake_case — регистрируем именно его;
29951
29985
  // dash-варианты оставлены как исторические алиасы для host-кода.
29952
29986
  morph_switcher: n1,
@@ -29969,8 +30003,8 @@ function CP() {
29969
30003
  "time-picker": D1,
29970
30004
  color: m1,
29971
30005
  "color-picker": m1,
29972
- file: BI,
29973
- image: BI,
30006
+ file: RI,
30007
+ image: RI,
29974
30008
  image_cropper: fV,
29975
30009
  // Составные поля (backlog ROADMAP): рендерились UnknownField.
29976
30010
  key_value: SV,
@@ -29989,6 +30023,8 @@ function CP() {
29989
30023
  group: aI,
29990
30024
  step: Po,
29991
30025
  wizard: Po,
30026
+ // Widgets on an ordinary screen: `Layout\Dashboard::make([...])`.
30027
+ dashboard: LP,
29992
30028
  "admin.resource-table": bP
29993
30029
  }
29994
30030
  });
@@ -30015,10 +30051,10 @@ const ge = /* @__PURE__ */ ne({
30015
30051
  class: fe(["admin-infolist-text", a.mono ? "admin-infolist-text--mono" : ""])
30016
30052
  }, y(l.value), 3));
30017
30053
  }
30018
- }), _P = {
30054
+ }), SP = {
30019
30055
  key: 1,
30020
30056
  class: "admin-infolist-text"
30021
- }, SP = /* @__PURE__ */ ne({
30057
+ }, qP = /* @__PURE__ */ ne({
30022
30058
  __name: "BadgeEntry",
30023
30059
  props: {
30024
30060
  name: { default: "" },
@@ -30037,7 +30073,7 @@ const ge = /* @__PURE__ */ ne({
30037
30073
  ...t.map,
30038
30074
  ...t.colors
30039
30075
  })), i = M(() => t.variant ? t.variant : d.value[l.value] ?? "default"), s = M(() => t.labels[l.value] ?? l.value);
30040
- return (r, p) => l.value ? (c(), z(n(uI), {
30076
+ return (r, p) => l.value ? (c(), z(n(yI), {
30041
30077
  key: 0,
30042
30078
  variant: i.value
30043
30079
  }, {
@@ -30045,9 +30081,9 @@ const ge = /* @__PURE__ */ ne({
30045
30081
  D(y(s.value), 1)
30046
30082
  ]),
30047
30083
  _: 1
30048
- }, 8, ["variant"])) : (c(), h("span", _P, "—"));
30084
+ }, 8, ["variant"])) : (c(), h("span", SP, "—"));
30049
30085
  }
30050
- }), qP = { key: 1 }, AP = /* @__PURE__ */ ne({
30086
+ }), AP = { key: 1 }, zP = /* @__PURE__ */ ne({
30051
30087
  __name: "IconEntry",
30052
30088
  props: {
30053
30089
  name: { default: "" },
@@ -30068,21 +30104,21 @@ const ge = /* @__PURE__ */ ne({
30068
30104
  }
30069
30105
  const i = M(() => {
30070
30106
  const r = d(l.value ? t.trueIcon : t.falseIcon);
30071
- return kx[r];
30107
+ return mx[r];
30072
30108
  }), s = M(() => l.value ? t.trueLabel : t.falseLabel);
30073
30109
  return (r, p) => (c(), h("span", {
30074
30110
  class: fe(["admin-infolist-icon", l.value ? "admin-infolist-icon--on" : "admin-infolist-icon--off"])
30075
30111
  }, [
30076
- i.value ? (c(), z(n(ee), {
30112
+ i.value ? (c(), z(n(ae), {
30077
30113
  key: 0,
30078
30114
  icon: i.value,
30079
30115
  size: 14,
30080
30116
  class: "admin-infolist-icon__glyph"
30081
30117
  }, null, 8, ["icon"])) : H("", !0),
30082
- s.value ? (c(), h("span", qP, y(s.value), 1)) : H("", !0)
30118
+ s.value ? (c(), h("span", AP, y(s.value), 1)) : H("", !0)
30083
30119
  ], 2));
30084
30120
  }
30085
- }), zP = {
30121
+ }), HP = {
30086
30122
  key: 1,
30087
30123
  class: "admin-infolist-text"
30088
30124
  }, eI = /* @__PURE__ */ ne({
@@ -30100,13 +30136,13 @@ const ge = /* @__PURE__ */ ne({
30100
30136
  function d(i) {
30101
30137
  return i == null ? "—" : typeof i == "boolean" ? i ? v("Да") : v("Нет") : i === 0 ? v("Нет") : i === 1 ? v("Да") : typeof i == "object" ? JSON.stringify(i) : String(i);
30102
30138
  }
30103
- return (i, s) => l.value.length > 0 ? (c(), z(n(ox), {
30139
+ return (i, s) => l.value.length > 0 ? (c(), z(n(cx), {
30104
30140
  key: 0,
30105
30141
  direction: "vertical",
30106
30142
  columns: 1
30107
30143
  }, {
30108
30144
  default: x(() => [
30109
- (c(!0), h(X, null, ae(l.value, ([r, p]) => (c(), z(n(cx), {
30145
+ (c(!0), h(X, null, ee(l.value, ([r, p]) => (c(), z(n(ix), {
30110
30146
  key: r,
30111
30147
  label: r
30112
30148
  }, {
@@ -30117,24 +30153,24 @@ const ge = /* @__PURE__ */ ne({
30117
30153
  }, 1032, ["label"]))), 128))
30118
30154
  ]),
30119
30155
  _: 1
30120
- })) : (c(), h("span", zP, "—"));
30156
+ })) : (c(), h("span", HP, "—"));
30121
30157
  }
30122
- }), HP = { class: "admin-repeatable" }, VP = {
30158
+ }), VP = { class: "admin-repeatable" }, PP = {
30123
30159
  key: 0,
30124
30160
  class: "admin-repeatable__lbl"
30125
- }, PP = {
30161
+ }, FP = {
30126
30162
  key: 1,
30127
30163
  class: "admin-repeatable__empty"
30128
- }, FP = {
30164
+ }, jP = {
30129
30165
  key: 2,
30130
30166
  class: "admin-repeatable__tbl"
30131
- }, jP = { class: "admin-repeatable__idx" }, DP = {
30167
+ }, DP = { class: "admin-repeatable__idx" }, BP = {
30132
30168
  key: 3,
30133
30169
  class: "admin-repeatable__cards"
30134
- }, BP = { class: "admin-repeatable__card-hd" }, RP = { class: "admin-repeatable__dl" }, $P = {
30170
+ }, RP = { class: "admin-repeatable__card-hd" }, $P = { class: "admin-repeatable__dl" }, TP = {
30135
30171
  key: 4,
30136
30172
  class: "admin-repeatable__inline"
30137
- }, TP = /* @__PURE__ */ ne({
30173
+ }, UP = /* @__PURE__ */ ne({
30138
30174
  __name: "RepeatableEntry",
30139
30175
  props: {
30140
30176
  name: { default: "" },
@@ -30172,35 +30208,35 @@ const ge = /* @__PURE__ */ ne({
30172
30208
  name: r.name
30173
30209
  };
30174
30210
  }
30175
- return (r, p) => (c(), h("div", HP, [
30176
- a.label ? (c(), h("span", VP, y(a.label), 1)) : H("", !0),
30177
- l.value.length === 0 ? (c(), h("p", PP, y(a.placeholder), 1)) : a.layout === "columns" ? (c(), h("table", FP, [
30211
+ return (r, p) => (c(), h("div", VP, [
30212
+ a.label ? (c(), h("span", PP, y(a.label), 1)) : H("", !0),
30213
+ l.value.length === 0 ? (c(), h("p", FP, y(a.placeholder), 1)) : a.layout === "columns" ? (c(), h("table", jP, [
30178
30214
  u("thead", null, [
30179
30215
  u("tr", null, [
30180
30216
  p[0] || (p[0] = u("th", { class: "admin-repeatable__idx" }, "#", -1)),
30181
- (c(!0), h(X, null, ae(a.entries, (m) => (c(), h("th", {
30217
+ (c(!0), h(X, null, ee(a.entries, (m) => (c(), h("th", {
30182
30218
  key: m.name
30183
30219
  }, y(d(m)), 1))), 128))
30184
30220
  ])
30185
30221
  ]),
30186
30222
  u("tbody", null, [
30187
- (c(!0), h(X, null, ae(l.value, (m, k) => (c(), h("tr", { key: k }, [
30188
- u("td", jP, y(k + 1), 1),
30189
- (c(!0), h(X, null, ae(a.entries, (g) => (c(), h("td", {
30223
+ (c(!0), h(X, null, ee(l.value, (m, k) => (c(), h("tr", { key: k }, [
30224
+ u("td", DP, y(k + 1), 1),
30225
+ (c(!0), h(X, null, ee(a.entries, (g) => (c(), h("td", {
30190
30226
  key: g.name
30191
30227
  }, [
30192
30228
  (c(), z($e(i(g.type) || "span"), Qn({ ref_for: !0 }, s(g, m)), null, 16))
30193
30229
  ]))), 128))
30194
30230
  ]))), 128))
30195
30231
  ])
30196
- ])) : a.layout === "rows" ? (c(), h("div", DP, [
30197
- (c(!0), h(X, null, ae(l.value, (m, k) => (c(), h("article", {
30232
+ ])) : a.layout === "rows" ? (c(), h("div", BP, [
30233
+ (c(!0), h(X, null, ee(l.value, (m, k) => (c(), h("article", {
30198
30234
  key: k,
30199
30235
  class: "admin-repeatable__card"
30200
30236
  }, [
30201
- u("header", BP, "#" + y(k + 1), 1),
30202
- u("dl", RP, [
30203
- (c(!0), h(X, null, ae(a.entries, (g) => (c(), h(X, {
30237
+ u("header", RP, "#" + y(k + 1), 1),
30238
+ u("dl", $P, [
30239
+ (c(!0), h(X, null, ee(a.entries, (g) => (c(), h(X, {
30204
30240
  key: g.name
30205
30241
  }, [
30206
30242
  u("dt", null, y(d(g)), 1),
@@ -30210,12 +30246,12 @@ const ge = /* @__PURE__ */ ne({
30210
30246
  ], 64))), 128))
30211
30247
  ])
30212
30248
  ]))), 128))
30213
- ])) : (c(), h("div", $P, [
30214
- (c(!0), h(X, null, ae(l.value, (m, k) => (c(), h("span", {
30249
+ ])) : (c(), h("div", TP, [
30250
+ (c(!0), h(X, null, ee(l.value, (m, k) => (c(), h("span", {
30215
30251
  key: k,
30216
30252
  class: "admin-repeatable__chip"
30217
30253
  }, [
30218
- (c(!0), h(X, null, ae(a.entries, (g) => (c(), z($e(i(g.type) || "span"), Qn({
30254
+ (c(!0), h(X, null, ee(a.entries, (g) => (c(), z($e(i(g.type) || "span"), Qn({
30219
30255
  key: g.name,
30220
30256
  ref_for: !0
30221
30257
  }, s(g, m)), null, 16))), 128))
@@ -30224,17 +30260,17 @@ const ge = /* @__PURE__ */ ne({
30224
30260
  ]));
30225
30261
  }
30226
30262
  });
30227
- function UP() {
30263
+ function OP() {
30228
30264
  KS({
30229
30265
  // Дефолтные типы infolist (BadgeEntry::make() и т.п.).
30230
30266
  text: ge,
30231
- badge: SP,
30232
- icon: AP,
30267
+ badge: qP,
30268
+ icon: zP,
30233
30269
  keyvalue: eI,
30234
30270
  key_value: eI,
30235
30271
  "key-value": eI,
30236
30272
  // Repeatable: коллекция объектов с nested-entries (таблица/cards/inline).
30237
- repeatable: TP,
30273
+ repeatable: UP,
30238
30274
  // Маппинг от backend Field::fieldType() → TextEntry для view-режима.
30239
30275
  // Host'ы могут перебить registerInfolistEntry('wysiwyg', WysiwygEntry).
30240
30276
  input: ge,
@@ -30274,19 +30310,19 @@ function UP() {
30274
30310
  "color-picker": ge
30275
30311
  });
30276
30312
  }
30277
- function tj(a, t = {}) {
30278
- const o = t.pages ?? {}, l = t.base ?? OP(a.baseUrl) ?? "/admin", d = Xz({
30313
+ function nj(a, t = {}) {
30314
+ const o = t.pages ?? {}, l = t.base ?? EP(a.baseUrl) ?? "/admin", d = Xz({
30279
30315
  baseURL: a.apiUrl,
30280
30316
  csrfToken: a.csrf
30281
30317
  });
30282
30318
  GI(d);
30283
- const i = jw(Zb), s = Dw();
30319
+ const i = Dw(Wb), s = Bw();
30284
30320
  i.use(s);
30285
30321
  const r = a.brand ?? {};
30286
- i.provide(YI, r), EP(r.favicon), Qe().hydrate(a), co().hydrate(a), yI().hydrate(a), P9().hydrate(a), W2().hydrate(a), CP(), Gz(), UP();
30322
+ i.provide(YI, r), ZP(r.favicon), Qe().hydrate(a), co().hydrate(a), pI().hydrate(a), P9().hydrate(a), W2().hydrate(a), _P(), Gz(), OP();
30287
30323
  const p = dH({
30288
30324
  base: l,
30289
- history: t.router?.history ?? TI(l),
30325
+ history: t.router?.history ?? UI(l),
30290
30326
  components: {
30291
30327
  login: o.login ?? KC,
30292
30328
  home: o.home ?? dC,
@@ -30296,10 +30332,10 @@ function tj(a, t = {}) {
30296
30332
  forgotPassword: o.forgotPassword ?? c_,
30297
30333
  resetPassword: o.resetPassword ?? k_,
30298
30334
  resourceIndex: o.resourceIndex ?? RS,
30299
- resourceCreate: o.resourceCreate ?? VI,
30300
- resourceEdit: o.resourceEdit ?? VI,
30335
+ resourceCreate: o.resourceCreate ?? PI,
30336
+ resourceEdit: o.resourceEdit ?? PI,
30301
30337
  resourceView: o.resourceView ?? Xq,
30302
- dashboard: o.dashboard ?? aw,
30338
+ dashboard: o.dashboard ?? tw,
30303
30339
  settings: o.settings ?? MC,
30304
30340
  screen: o.screen ?? VC
30305
30341
  },
@@ -30308,7 +30344,7 @@ function tj(a, t = {}) {
30308
30344
  titleGuard: t.router?.titleGuard
30309
30345
  });
30310
30346
  i.use(p);
30311
- const m = pI();
30347
+ const m = kI();
30312
30348
  if (p.beforeEach((k, g, b) => {
30313
30349
  k.fullPath !== g.fullPath && m.start(), b();
30314
30350
  }), p.afterEach(() => {
@@ -30355,7 +30391,7 @@ function tj(a, t = {}) {
30355
30391
  }
30356
30392
  return t.onAppCreated?.(i), { app: i, router: p, client: d };
30357
30393
  }
30358
- function OP(a) {
30394
+ function EP(a) {
30359
30395
  if (!a) return null;
30360
30396
  try {
30361
30397
  return new URL(a).pathname || "/admin";
@@ -30363,23 +30399,23 @@ function OP(a) {
30363
30399
  return a.startsWith("/") ? a : null;
30364
30400
  }
30365
30401
  }
30366
- function EP(a) {
30402
+ function ZP(a) {
30367
30403
  if (typeof document > "u" || !a) return;
30368
30404
  let t = document.querySelector('link[rel~="icon"]');
30369
30405
  t === null && (t = document.createElement("link"), t.rel = "icon", document.head.appendChild(t)), t.href = a;
30370
30406
  }
30371
- const ZP = { class: "admin-status-page" }, WP = { class: "admin-status-page__title" }, GP = { class: "admin-status-page__hint" }, nj = /* @__PURE__ */ ne({
30407
+ const WP = { class: "admin-status-page" }, GP = { class: "admin-status-page__title" }, NP = { class: "admin-status-page__hint" }, oj = /* @__PURE__ */ ne({
30372
30408
  __name: "UnknownScreenPage",
30373
30409
  setup(a) {
30374
30410
  const t = l1(), o = M(() => String(t.params.slug ?? "")), l = M(() => String(t.meta?.title ?? o.value));
30375
- return (d, i) => (c(), h("div", ZP, [
30411
+ return (d, i) => (c(), h("div", WP, [
30376
30412
  w(n(we), {
30377
30413
  padding: "lg",
30378
30414
  class: "admin-status-page__card"
30379
30415
  }, {
30380
30416
  default: x(() => [
30381
- u("h1", WP, y(l.value), 1),
30382
- u("p", GP, [
30417
+ u("h1", GP, y(l.value), 1),
30418
+ u("p", NP, [
30383
30419
  D(" Это заглушка для screen «" + y(o.value) + "». Передайте свой компонент через ", 1),
30384
30420
  i[0] || (i[0] = u("code", null, "createAdminApp(" + y("{") + " pages: " + y("{") + " screen: MyScreen " + y("}") + " " + y("}") + ")", -1)),
30385
30421
  i[1] || (i[1] = D(". ", -1))
@@ -30390,8 +30426,8 @@ const ZP = { class: "admin-status-page" }, WP = { class: "admin-status-page__tit
30390
30426
  ]));
30391
30427
  }
30392
30428
  });
30393
- async function oj(a = {}) {
30394
- const t = NP();
30429
+ async function cj(a = {}) {
30430
+ const t = XP();
30395
30431
  if (t)
30396
30432
  return t;
30397
30433
  if (a.client)
@@ -30405,31 +30441,31 @@ async function oj(a = {}) {
30405
30441
  }
30406
30442
  return null;
30407
30443
  }
30408
- function NP() {
30444
+ function XP() {
30409
30445
  return typeof window > "u" ? null : window.__ADMIN_BOOTSTRAP__ ?? null;
30410
30446
  }
30411
- function cj() {
30447
+ function ij() {
30412
30448
  return typeof document > "u" ? null : document.querySelector('meta[name="csrf-token"]')?.getAttribute("content") ?? null;
30413
30449
  }
30414
- const XP = { class: "admin-notifs__hd" }, KP = { class: "admin-notifs__title" }, JP = {
30450
+ const KP = { class: "admin-notifs__hd" }, JP = { class: "admin-notifs__title" }, YP = {
30415
30451
  key: 0,
30416
30452
  class: "admin-notifs__count"
30417
- }, YP = { class: "admin-notifs__list" }, QP = {
30453
+ }, QP = { class: "admin-notifs__list" }, eF = {
30418
30454
  key: 0,
30419
30455
  class: "admin-notifs__empty"
30420
- }, eF = {
30456
+ }, aF = {
30421
30457
  key: 1,
30422
30458
  class: "admin-notifs__empty"
30423
- }, aF = ["onClick"], tF = ["data-kind"], nF = { class: "admin-notifs__body" }, oF = { class: "admin-notifs__row1" }, cF = {
30459
+ }, tF = ["onClick"], nF = ["data-kind"], oF = { class: "admin-notifs__body" }, cF = { class: "admin-notifs__row1" }, iF = {
30424
30460
  key: 0,
30425
30461
  class: "admin-notifs__title-strong"
30426
- }, iF = {
30462
+ }, lF = {
30427
30463
  key: 1,
30428
30464
  class: "admin-notifs__title-soft"
30429
- }, lF = { class: "admin-notifs__time" }, rF = {
30465
+ }, rF = { class: "admin-notifs__time" }, dF = {
30430
30466
  key: 0,
30431
30467
  class: "admin-notifs__text"
30432
- }, dF = ["aria-label", "onClick"], ij = /* @__PURE__ */ ne({
30468
+ }, sF = ["aria-label", "onClick"], lj = /* @__PURE__ */ ne({
30433
30469
  __name: "NotificationsDrawer",
30434
30470
  props: {
30435
30471
  open: { type: Boolean }
@@ -30485,7 +30521,7 @@ const XP = { class: "admin-notifs__hd" }, KP = { class: "admin-notifs__title" },
30485
30521
  const V = Math.floor(U / 24);
30486
30522
  return V < 7 ? `${V} д назад` : f.toLocaleDateString("ru-RU");
30487
30523
  }
30488
- return (L, f) => (c(), z(n(ix), {
30524
+ return (L, f) => (c(), z(n(lx), {
30489
30525
  "model-value": a.open,
30490
30526
  side: "right",
30491
30527
  width: "400px",
@@ -30493,10 +30529,10 @@ const XP = { class: "admin-notifs__hd" }, KP = { class: "admin-notifs__title" },
30493
30529
  "onUpdate:modelValue": i
30494
30530
  }, {
30495
30531
  header: x(() => [
30496
- u("div", XP, [
30497
- u("h2", KP, [
30532
+ u("div", KP, [
30533
+ u("h2", JP, [
30498
30534
  D(y(n(v)("Уведомления")) + " ", 1),
30499
- n(d).unreadCount > 0 ? (c(), h("span", JP, " (" + y(n(d).unreadCount) + ") ", 1)) : H("", !0)
30535
+ n(d).unreadCount > 0 ? (c(), h("span", YP, " (" + y(n(d).unreadCount) + ") ", 1)) : H("", !0)
30500
30536
  ]),
30501
30537
  n(d).unreadCount > 0 ? (c(), z(n(oe), {
30502
30538
  key: 0,
@@ -30540,14 +30576,14 @@ const XP = { class: "admin-notifs__hd" }, KP = { class: "admin-notifs__title" },
30540
30576
  })
30541
30577
  ]),
30542
30578
  default: x(() => [
30543
- (c(), h(X, null, ae(["all", "unread", "read"], (S) => w(n(ZI), {
30579
+ (c(), h(X, null, ee(["all", "unread", "read"], (S) => w(n(ZI), {
30544
30580
  key: S,
30545
30581
  value: S
30546
30582
  }, {
30547
30583
  default: x(() => [
30548
- u("ul", YP, [
30549
- n(d).loading ? (c(), h("li", QP, y(n(v)("Загрузка…")), 1)) : n(d).items.length === 0 ? (c(), h("li", eF, y(n(v)("Нет уведомлений")), 1)) : H("", !0),
30550
- (c(!0), h(X, null, ae(n(d).items, (Z) => (c(), h("li", {
30584
+ u("ul", QP, [
30585
+ n(d).loading ? (c(), h("li", eF, y(n(v)("Загрузка…")), 1)) : n(d).items.length === 0 ? (c(), h("li", aF, y(n(v)("Нет уведомлений")), 1)) : H("", !0),
30586
+ (c(!0), h(X, null, ee(n(d).items, (Z) => (c(), h("li", {
30551
30587
  key: Z.id,
30552
30588
  class: fe([
30553
30589
  "admin-notifs__item",
@@ -30559,21 +30595,21 @@ const XP = { class: "admin-notifs__hd" }, KP = { class: "admin-notifs__title" },
30559
30595
  u("span", {
30560
30596
  class: "admin-notifs__icon",
30561
30597
  "data-kind": g(Z)
30562
- }, null, 8, tF),
30563
- u("div", nF, [
30564
- u("div", oF, [
30565
- Z.read_at ? (c(), h("span", iF, y(b(Z)), 1)) : (c(), h("strong", cF, y(b(Z)), 1)),
30566
- u("span", lF, y(I(Z.created_at)), 1)
30598
+ }, null, 8, nF),
30599
+ u("div", oF, [
30600
+ u("div", cF, [
30601
+ Z.read_at ? (c(), h("span", lF, y(b(Z)), 1)) : (c(), h("strong", iF, y(b(Z)), 1)),
30602
+ u("span", rF, y(I(Z.created_at)), 1)
30567
30603
  ]),
30568
- C(Z) ? (c(), h("p", rF, y(C(Z)), 1)) : H("", !0)
30604
+ C(Z) ? (c(), h("p", dF, y(C(Z)), 1)) : H("", !0)
30569
30605
  ]),
30570
30606
  u("button", {
30571
30607
  type: "button",
30572
30608
  class: "admin-notifs__close",
30573
30609
  "aria-label": n(v)("Удалить"),
30574
30610
  onClick: (U) => k(Z, U)
30575
- }, " × ", 8, dF)
30576
- ], 10, aF))), 128))
30611
+ }, " × ", 8, sF)
30612
+ ], 10, tF))), 128))
30577
30613
  ])
30578
30614
  ]),
30579
30615
  _: 1
@@ -30585,22 +30621,22 @@ const XP = { class: "admin-notifs__hd" }, KP = { class: "admin-notifs__title" },
30585
30621
  _: 1
30586
30622
  }, 8, ["model-value", "title"]));
30587
30623
  }
30588
- }), sF = { class: "admin-page admin-import-wizard" }, hF = { class: "admin-page__hd" }, uF = { class: "admin-page__title-wrap" }, yF = { class: "admin-page__title" }, pF = { class: "admin-page__actions" }, kF = { class: "admin-import-wizard__card-hd" }, mF = { class: "admin-import-wizard__card-hd" }, vF = {
30624
+ }), hF = { class: "admin-page admin-import-wizard" }, uF = { class: "admin-page__hd" }, yF = { class: "admin-page__title-wrap" }, pF = { class: "admin-page__title" }, kF = { class: "admin-page__actions" }, mF = { class: "admin-import-wizard__card-hd" }, vF = { class: "admin-import-wizard__card-hd" }, fF = {
30589
30625
  key: 0,
30590
30626
  class: "admin-import-wizard__empty"
30591
- }, fF = {
30627
+ }, gF = {
30592
30628
  key: 1,
30593
30629
  class: "admin-import-wizard__mapping"
30594
- }, gF = { class: "admin-import-wizard__map-source" }, MF = {
30630
+ }, MF = { class: "admin-import-wizard__map-source" }, IF = {
30595
30631
  key: 0,
30596
30632
  class: "admin-import-wizard__map-sample"
30597
- }, IF = { class: "admin-import-wizard__card-hd" }, wF = {
30633
+ }, wF = { class: "admin-import-wizard__card-hd" }, xF = {
30598
30634
  key: 2,
30599
30635
  class: "admin-import-wizard__empty"
30600
- }, xF = { class: "admin-import-wizard__card-hd" }, bF = {
30636
+ }, bF = { class: "admin-import-wizard__card-hd" }, LF = {
30601
30637
  key: 0,
30602
30638
  class: "admin-import-wizard__empty"
30603
- }, LF = { class: "admin-import-wizard__kpi" }, CF = { class: "admin-import-wizard__nav" }, lj = /* @__PURE__ */ ne({
30639
+ }, CF = { class: "admin-import-wizard__kpi" }, _F = { class: "admin-import-wizard__nav" }, rj = /* @__PURE__ */ ne({
30604
30640
  __name: "ImportWizardPage",
30605
30641
  props: {
30606
30642
  title: { default: "Импорт" },
@@ -30660,12 +30696,12 @@ const XP = { class: "admin-notifs__hd" }, KP = { class: "admin-notifs__title" },
30660
30696
  function Z() {
30661
30697
  l("cancel");
30662
30698
  }
30663
- return (U, V) => (c(), h("section", sF, [
30664
- u("header", hF, [
30665
- u("div", uF, [
30666
- u("h1", yF, y(n(v)(a.title)), 1)
30699
+ return (U, V) => (c(), h("section", hF, [
30700
+ u("header", uF, [
30701
+ u("div", yF, [
30702
+ u("h1", pF, y(n(v)(a.title)), 1)
30667
30703
  ]),
30668
- u("div", pF, [
30704
+ u("div", kF, [
30669
30705
  w(n(oe), {
30670
30706
  variant: "ghost",
30671
30707
  onClick: Z
@@ -30677,7 +30713,7 @@ const XP = { class: "admin-notifs__hd" }, KP = { class: "admin-notifs__title" },
30677
30713
  })
30678
30714
  ])
30679
30715
  ]),
30680
- w(n(lx), {
30716
+ w(n(rx), {
30681
30717
  steps: d,
30682
30718
  current: s.value
30683
30719
  }, null, 8, ["current"]),
@@ -30687,11 +30723,11 @@ const XP = { class: "admin-notifs__hd" }, KP = { class: "admin-notifs__title" },
30687
30723
  class: "admin-import-wizard__card"
30688
30724
  }, {
30689
30725
  default: x(() => [
30690
- u("header", kF, [
30726
+ u("header", mF, [
30691
30727
  u("h3", null, y(n(v)("1. Загрузите файл")), 1),
30692
30728
  u("p", null, y(n(v)("CSV / TSV / XLSX, до 50 MB")), 1)
30693
30729
  ]),
30694
- w(n(rx), {
30730
+ w(n(dx), {
30695
30731
  "model-value": p.value,
30696
30732
  accept: ".csv,.tsv,.xlsx",
30697
30733
  "max-size": 50 * 1024 * 1024,
@@ -30708,18 +30744,18 @@ const XP = { class: "admin-notifs__hd" }, KP = { class: "admin-notifs__title" },
30708
30744
  class: "admin-import-wizard__card"
30709
30745
  }, {
30710
30746
  default: x(() => [
30711
- u("header", mF, [
30747
+ u("header", vF, [
30712
30748
  u("h3", null, y(n(v)("2. Сопоставьте колонки")), 1),
30713
30749
  u("p", null, y(n(v)("Выберите поле ресурса для каждой колонки файла")), 1)
30714
30750
  ]),
30715
- a.headers.length === 0 ? (c(), h("div", vF, y(n(v)("Нет данных — host ещё не отдал headers. Загрузите файл сначала.")), 1)) : (c(), h("div", fF, [
30716
- (c(!0), h(X, null, ae(a.headers, (T) => (c(), h("div", {
30751
+ a.headers.length === 0 ? (c(), h("div", fF, y(n(v)("Нет данных — host ещё не отдал headers. Загрузите файл сначала.")), 1)) : (c(), h("div", gF, [
30752
+ (c(!0), h(X, null, ee(a.headers, (T) => (c(), h("div", {
30717
30753
  key: T.key,
30718
30754
  class: "admin-import-wizard__map-row"
30719
30755
  }, [
30720
- u("div", gF, [
30756
+ u("div", MF, [
30721
30757
  u("strong", null, y(T.label), 1),
30722
- T.sample ? (c(), h("span", MF, " «" + y(T.sample) + "» ", 1)) : H("", !0)
30758
+ T.sample ? (c(), h("span", IF, " «" + y(T.sample) + "» ", 1)) : H("", !0)
30723
30759
  ]),
30724
30760
  V[2] || (V[2] = u("span", { class: "admin-import-wizard__map-arrow" }, "→", -1)),
30725
30761
  w(n(S9), {
@@ -30738,7 +30774,7 @@ const XP = { class: "admin-notifs__hd" }, KP = { class: "admin-notifs__title" },
30738
30774
  class: "admin-import-wizard__card"
30739
30775
  }, {
30740
30776
  default: x(() => [
30741
- u("header", IF, [
30777
+ u("header", wF, [
30742
30778
  u("h3", null, y(n(v)("3. Предпросмотр")), 1),
30743
30779
  u("p", null, "Первые " + y(a.preview.length) + " строк перед импортом", 1)
30744
30780
  ]),
@@ -30756,7 +30792,7 @@ const XP = { class: "admin-notifs__hd" }, KP = { class: "admin-notifs__title" },
30756
30792
  key: 1,
30757
30793
  columns: a.previewColumns,
30758
30794
  data: a.preview
30759
- }, null, 8, ["columns", "data"])) : (c(), h("div", wF, y(n(v)("Host не передал previewColumns/preview.")), 1))
30795
+ }, null, 8, ["columns", "data"])) : (c(), h("div", xF, y(n(v)("Host не передал previewColumns/preview.")), 1))
30760
30796
  ]),
30761
30797
  _: 1
30762
30798
  })) : (c(), z(n(we), {
@@ -30765,16 +30801,16 @@ const XP = { class: "admin-notifs__hd" }, KP = { class: "admin-notifs__title" },
30765
30801
  class: "admin-import-wizard__card"
30766
30802
  }, {
30767
30803
  default: x(() => [
30768
- u("header", xF, [
30804
+ u("header", bF, [
30769
30805
  u("h3", null, y(n(v)("4. Импорт")), 1)
30770
30806
  ]),
30771
30807
  a.progress ? (c(), h(X, { key: 1 }, [
30772
- a.progress.total > 0 ? (c(), z(n(dx), {
30808
+ a.progress.total > 0 ? (c(), z(n(sx), {
30773
30809
  key: 0,
30774
30810
  "model-value": a.progress.created + a.progress.updated + a.progress.errors,
30775
30811
  max: a.progress.total
30776
30812
  }, null, 8, ["model-value", "max"])) : H("", !0),
30777
- u("div", LF, [
30813
+ u("div", CF, [
30778
30814
  w(n(ic), {
30779
30815
  title: n(v)("Создано"),
30780
30816
  value: a.progress.created,
@@ -30791,11 +30827,11 @@ const XP = { class: "admin-notifs__hd" }, KP = { class: "admin-notifs__title" },
30791
30827
  tone: "danger"
30792
30828
  }, null, 8, ["title", "value"])
30793
30829
  ])
30794
- ], 64)) : (c(), h("div", bF, y(n(v)("Запускается импорт…")), 1))
30830
+ ], 64)) : (c(), h("div", LF, y(n(v)("Запускается импорт…")), 1))
30795
30831
  ]),
30796
30832
  _: 1
30797
30833
  })),
30798
- u("footer", CF, [
30834
+ u("footer", _F, [
30799
30835
  L.value ? (c(), z(n(oe), {
30800
30836
  key: 0,
30801
30837
  variant: "ghost",
@@ -30840,7 +30876,7 @@ const XP = { class: "admin-notifs__hd" }, KP = { class: "admin-notifs__title" },
30840
30876
  ])
30841
30877
  ]));
30842
30878
  }
30843
- }), _F = { class: "admin-page admin-field-gallery" }, SF = { class: "admin-gallery__group-title" }, qF = { class: "admin-gallery__grid" }, AF = { class: "admin-gallery__card-hd" }, zF = { class: "admin-gallery__card-title" }, HF = { class: "admin-gallery__card-type" }, VF = { class: "admin-gallery__card-desc" }, PF = { class: "admin-gallery__card-demo" }, rj = /* @__PURE__ */ ne({
30879
+ }), SF = { class: "admin-page admin-field-gallery" }, qF = { class: "admin-gallery__group-title" }, AF = { class: "admin-gallery__grid" }, zF = { class: "admin-gallery__card-hd" }, HF = { class: "admin-gallery__card-title" }, VF = { class: "admin-gallery__card-type" }, PF = { class: "admin-gallery__card-desc" }, FF = { class: "admin-gallery__card-demo" }, dj = /* @__PURE__ */ ne({
30844
30880
  __name: "FieldGalleryPage",
30845
30881
  setup(a) {
30846
30882
  const t = [
@@ -30904,35 +30940,35 @@ const XP = { class: "admin-notifs__hd" }, KP = { class: "admin-notifs__title" },
30904
30940
  node: { type: "date", name: "demo_date", label: "Дата публикации", inputType: "date" },
30905
30941
  initial: { demo_date: "2026-05-01" }
30906
30942
  }
30907
- ], o = t.reduce((d, i) => (d[i.group] || (d[i.group] = []), d[i.group].push(i), d), {}), l = $I(
30943
+ ], o = t.reduce((d, i) => (d[i.group] || (d[i.group] = []), d[i.group].push(i), d), {}), l = TI(
30908
30944
  t.reduce((d, i) => Object.assign(d, i.initial), {})
30909
30945
  );
30910
- return V9(l), (d, i) => (c(), h("section", _F, [
30946
+ return V9(l), (d, i) => (c(), h("section", SF, [
30911
30947
  i[0] || (i[0] = u("header", { class: "admin-page__hd" }, [
30912
30948
  u("div", { class: "admin-page__title-wrap" }, [
30913
30949
  u("h1", { class: "admin-page__title" }, "Field Gallery"),
30914
30950
  u("div", { class: "admin-page__count" }, " Каталог встроенных field-компонентов library + примеры использования ")
30915
30951
  ])
30916
30952
  ], -1)),
30917
- (c(!0), h(X, null, ae(n(o), (s, r) => (c(), h("section", {
30953
+ (c(!0), h(X, null, ee(n(o), (s, r) => (c(), h("section", {
30918
30954
  key: r,
30919
30955
  class: "admin-gallery__group"
30920
30956
  }, [
30921
- u("h2", SF, y(r), 1),
30922
- u("div", qF, [
30923
- (c(!0), h(X, null, ae(s, (p) => (c(), z(n(we), {
30957
+ u("h2", qF, y(r), 1),
30958
+ u("div", AF, [
30959
+ (c(!0), h(X, null, ee(s, (p) => (c(), z(n(we), {
30924
30960
  key: p.type + p.title,
30925
30961
  padding: "md",
30926
30962
  class: "admin-gallery__card"
30927
30963
  }, {
30928
30964
  default: x(() => [
30929
- u("header", AF, [
30930
- u("h3", zF, y(p.title), 1),
30931
- u("code", HF, "type: " + y(p.type), 1)
30965
+ u("header", zF, [
30966
+ u("h3", HF, y(p.title), 1),
30967
+ u("code", VF, "type: " + y(p.type), 1)
30932
30968
  ]),
30933
- u("p", VF, y(p.description), 1),
30934
- u("div", PF, [
30935
- w(mI, {
30969
+ u("p", PF, y(p.description), 1),
30970
+ u("div", FF, [
30971
+ w(vI, {
30936
30972
  node: p.node
30937
30973
  }, null, 8, ["node"])
30938
30974
  ])
@@ -30945,29 +30981,29 @@ const XP = { class: "admin-notifs__hd" }, KP = { class: "admin-notifs__title" },
30945
30981
  }
30946
30982
  });
30947
30983
  export {
30948
- Zb as AdminApp,
30949
- yb as AdminShell,
30950
- Jx as AdminSidebar,
30951
- zx as AdminTopBar,
30984
+ Wb as AdminApp,
30985
+ pb as AdminShell,
30986
+ Yx as AdminSidebar,
30987
+ Hx as AdminTopBar,
30952
30988
  We as ApiError,
30953
30989
  YI as BRAND_KEY,
30954
- SP as BadgeEntry,
30955
- kw as BarChartWidget,
30990
+ qP as BadgeEntry,
30991
+ mw as BarChartWidget,
30956
30992
  cc as CheckboxField,
30957
30993
  iP as ColumnsLayout,
30958
- aw as DashboardPage,
30994
+ tw as DashboardPage,
30959
30995
  D1 as DateField,
30960
- mw as DonutChartWidget,
30961
- rj as FieldGalleryPage,
30962
- mI as FieldRenderer,
30963
- xx as ForbiddenError,
30996
+ vw as DonutChartWidget,
30997
+ dj as FieldGalleryPage,
30998
+ vI as FieldRenderer,
30999
+ bx as ForbiddenError,
30964
31000
  uC as ForbiddenPage,
30965
31001
  Hz as GaugeWidget,
30966
- lb as GlobalSearch,
31002
+ rb as GlobalSearch,
30967
31003
  Sz as HeatmapWidget,
30968
31004
  dC as HomePage,
30969
- AP as IconEntry,
30970
- lj as ImportWizardPage,
31005
+ zP as IconEntry,
31006
+ rj as ImportWizardPage,
30971
31007
  sq as InfolistRenderer,
30972
31008
  eI as KeyValueEntry,
30973
31009
  bo as LayoutRenderer,
@@ -30976,14 +31012,14 @@ export {
30976
31012
  KC as LoginPage,
30977
31013
  jz as MarkdownWidget,
30978
31014
  F9 as NetworkError,
30979
- bx as NotFoundError,
31015
+ Lx as NotFoundError,
30980
31016
  kC as NotFoundPage,
30981
- wx as NotificationBell,
30982
- ij as NotificationsDrawer,
31017
+ xx as NotificationBell,
31018
+ lj as NotificationsDrawer,
30983
31019
  Q9 as NumberField,
30984
31020
  tz as ProfilePage,
30985
31021
  J9 as RecentTableWidget,
30986
- VI as ResourceFormPage,
31022
+ PI as ResourceFormPage,
30987
31023
  RS as ResourceIndexPage,
30988
31024
  Xq as ResourceViewPage,
30989
31025
  aI as RowsLayout,
@@ -30991,7 +31027,7 @@ export {
30991
31027
  Po as SectionLayout,
30992
31028
  n1 as SelectField,
30993
31029
  MC as SettingsPage,
30994
- jI as StatWidget,
31030
+ DI as StatWidget,
30995
31031
  hP as TabsLayout,
30996
31032
  Y9 as TextAreaField,
30997
31033
  ge as TextEntry,
@@ -31000,56 +31036,56 @@ export {
31000
31036
  TC as TwoFactorForm,
31001
31037
  KI as UnauthenticatedError,
31002
31038
  JS as UnknownEntry,
31003
- ow as UnknownField,
31004
- nj as UnknownScreenPage,
31039
+ cw as UnknownField,
31040
+ oj as UnknownScreenPage,
31005
31041
  ew as UnknownWidget,
31006
- Cx as UserMenu,
31042
+ _x as UserMenu,
31007
31043
  G2 as ValidationError,
31008
- Kb as WidgetRenderer,
31044
+ aw as WidgetRenderer,
31009
31045
  oH as buildRoutesFromManifest,
31010
- mx as clearAdminClient,
31011
- ej as clearInfolistRegistry,
31012
- XF as clearRegistry,
31013
- EF as clearWidgetRegistry,
31014
- tj as createAdminApp,
31046
+ vx as clearAdminClient,
31047
+ aj as clearInfolistRegistry,
31048
+ KF as clearRegistry,
31049
+ ZF as clearWidgetRegistry,
31050
+ nj as createAdminApp,
31015
31051
  Xz as createAdminClient,
31016
31052
  dH as createAdminRouter,
31017
31053
  cH as createAuthGuard,
31018
31054
  iH as createTitleGuard,
31019
31055
  Me as getAdminClient,
31020
- nw as getField,
31056
+ ow as getField,
31021
31057
  tI as getInfolistEntry,
31022
- LI as getLayout,
31023
- Gb as getWidget,
31024
- vx as hasAdminClient,
31058
+ CI as getLayout,
31059
+ Nb as getWidget,
31060
+ fx as hasAdminClient,
31025
31061
  xC as hasField,
31026
- YF as hasInfolistEntry,
31062
+ QF as hasInfolistEntry,
31027
31063
  LC as hasLayout,
31028
- Nb as hasWidget,
31029
- aj as isError,
31064
+ Xb as hasWidget,
31065
+ tj as isError,
31030
31066
  Nz as isSuccess,
31031
- GF as listFields,
31032
- QF as listInfolistEntries,
31033
- NF as listLayouts,
31034
- Xb as listWidgets,
31035
- oj as loadBootstrap,
31067
+ NF as listFields,
31068
+ ej as listInfolistEntries,
31069
+ XF as listLayouts,
31070
+ Kb as listWidgets,
31071
+ cj as loadBootstrap,
31036
31072
  V9 as provideFormState,
31037
- tw as provideRecord,
31038
- cj as readCsrfFromMeta,
31039
- NP as readInlineBootstrap,
31040
- CP as registerBuiltinComponents,
31041
- UP as registerBuiltinInfolistEntries,
31073
+ nw as provideRecord,
31074
+ ij as readCsrfFromMeta,
31075
+ XP as readInlineBootstrap,
31076
+ _P as registerBuiltinComponents,
31077
+ OP as registerBuiltinInfolistEntries,
31042
31078
  Gz as registerBuiltinWidgets,
31043
- KF as registerComponents,
31079
+ JF as registerComponents,
31044
31080
  wC as registerField,
31045
31081
  KS as registerInfolistEntries,
31046
- JF as registerInfolistEntry,
31082
+ YF as registerInfolistEntry,
31047
31083
  bC as registerLayout,
31048
- Wb as registerWidget,
31049
- ZF as registerWidgets,
31084
+ Gb as registerWidget,
31085
+ WF as registerWidgets,
31050
31086
  GI as setAdminClient,
31051
- bI as toApiError,
31052
- sx as tryUseFormState,
31087
+ LI as toApiError,
31088
+ hx as tryUseFormState,
31053
31089
  N2 as tryUseRecord,
31054
31090
  Qe as useAuthStore,
31055
31091
  B9 as useBrand,
@@ -31058,9 +31094,9 @@ export {
31058
31094
  Ee as useManifestStore,
31059
31095
  j9 as useMenuStore,
31060
31096
  P9 as useNotificationsStore,
31061
- WF as useRecord,
31062
- vI as useResourceFormStore,
31063
- cw as useResourceIndexStore,
31064
- yI as useThemeStore
31097
+ GF as useRecord,
31098
+ fI as useResourceFormStore,
31099
+ iw as useResourceIndexStore,
31100
+ pI as useThemeStore
31065
31101
  };
31066
31102
  //# sourceMappingURL=index.mjs.map