@dskripchenko/laravel-admin 1.1.9 → 1.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,12 +1,12 @@
1
- import { ref as E, computed as p, defineComponent as L, openBlock as s, createElementBlock as c, createElementVNode as d, createBlock as w, unref as r, withCtx as m, Fragment as T, renderList as B, createTextVNode as C, toDisplayString as h, createCommentVNode as F, createVNode as x, renderSlot as X, resolveDynamicComponent as de, normalizeClass as Q, createSlots as De, h as $t, watch as ae, onBeforeUnmount as xt, resolveComponent as st, withModifiers as We, nextTick as Be, onMounted as Ue, withKeys as Ct, normalizeProps as Ee, mergeProps as Fe, normalizeStyle as Le, inject as it, provide as St, createApp as At, reactive as Rt } from "vue";
2
- import { defineStore as le, createPinia as Ut } from "pinia";
3
- import { RouterLink as Et, useRouter as se, useRoute as ye, createWebHistory as ot, createRouter as Ft } from "vue-router";
4
- import { UidMenu as rt, UidMenuItem as Oe, UidMenuSeparator as Lt, UidAvatar as ut, UidSidebar as Pt, UidSidebarGroup as Tt, UidSidebarItem as Mt, UidSidebarLayout as Nt, UidCard as D, UidButton as V, UidAlert as Z, UidInput as ue, UidCheckbox as Ae, UidSkeleton as je, UidErrorState as It, UidEmptyState as Bt, UidTable as Ke, UidPagination as Vt, UidBadge as Ge, UidSelect as Re, UidStat as Ce, UidHeatmap as zt, UidGauge as qt, UidFormField as be, UidTextarea as Dt, UidNumberInput as Ot, UidDatePicker as Wt, UidStack as jt, UidGrid as Kt, UidTabs as dt, UidTabPanel as ct, UidTab as Se, UidDescriptionList as Gt, UidDescriptionItem as Ht, UidDrawer as Xt, UidStepper as Jt, UidFileUpload as Yt, UidProgress as Qt } from "@dskripchenko/ui";
5
- import Zt from "axios";
1
+ import { ref as E, computed as p, defineComponent as L, openBlock as s, createElementBlock as c, createElementVNode as d, createBlock as w, unref as r, withCtx as m, Fragment as T, renderList as B, createTextVNode as C, toDisplayString as h, createCommentVNode as F, createVNode as x, renderSlot as X, resolveDynamicComponent as de, normalizeClass as Q, createSlots as De, h as xt, watch as ae, onBeforeUnmount as Ct, resolveComponent as st, withModifiers as We, nextTick as Be, onMounted as Ue, withKeys as St, normalizeProps as Ee, mergeProps as Fe, normalizeStyle as Le, inject as it, provide as At, createApp as Rt, reactive as Ut } from "vue";
2
+ import { defineStore as le, createPinia as Et } from "pinia";
3
+ import { RouterLink as Ft, useRouter as se, useRoute as ye, createWebHistory as ot, createRouter as Lt } from "vue-router";
4
+ import { UidMenu as rt, UidMenuItem as Oe, UidMenuSeparator as Pt, UidAvatar as ut, UidSidebar as Tt, UidSidebarGroup as Mt, UidSidebarItem as Nt, UidSidebarLayout as It, UidCard as D, UidButton as V, UidAlert as Z, UidInput as ue, UidCheckbox as Ae, UidSkeleton as je, UidErrorState as Bt, UidEmptyState as Vt, UidTable as Ke, UidPagination as zt, UidBadge as Ge, UidSelect as Re, UidStat as Ce, UidHeatmap as qt, UidGauge as Dt, UidFormField as be, UidTextarea as Ot, UidNumberInput as Wt, UidDatePicker as jt, UidStack as Kt, UidGrid as Gt, UidTabs as dt, UidTabPanel as ct, UidTab as Se, UidDescriptionList as Ht, UidDescriptionItem as Xt, UidDrawer as Jt, UidStepper as Yt, UidFileUpload as Qt, UidProgress as Zt } from "@dskripchenko/ui";
5
+ import en from "axios";
6
6
  import { p as mt, u as ce } from "./formState-DGNcH1XQ.js";
7
7
  import { t as co } from "./formState-DGNcH1XQ.js";
8
8
  let _e = null;
9
- function en(e) {
9
+ function tn(e) {
10
10
  _e = e;
11
11
  }
12
12
  function j() {
@@ -54,7 +54,7 @@ const He = le("admin-theme", () => {
54
54
  applyLocal: a,
55
55
  setTheme: l
56
56
  };
57
- }), tn = ["aria-label", "aria-pressed"], nn = ["data-icon"], ft = /* @__PURE__ */ L({
57
+ }), nn = ["aria-label", "aria-pressed"], an = ["data-icon"], ft = /* @__PURE__ */ L({
58
58
  __name: "ThemeToggle",
59
59
  setup(e) {
60
60
  const t = He(), n = p(() => t.current === "dark"), o = p(() => n.value ? "sun" : "moon"), a = p(
@@ -74,8 +74,8 @@ const He = le("admin-theme", () => {
74
74
  d("span", {
75
75
  class: "admin-topbar__icon",
76
76
  "data-icon": o.value
77
- }, null, 8, nn)
78
- ], 8, tn));
77
+ }, null, 8, an)
78
+ ], 8, nn));
79
79
  }
80
80
  }), Xe = le("admin-locale", () => {
81
81
  const e = E("ru"), t = E(["ru", "en"]);
@@ -112,7 +112,7 @@ const He = le("admin-theme", () => {
112
112
  applyLocal: o,
113
113
  setLocale: a
114
114
  };
115
- }), an = {
115
+ }), ln = {
116
116
  type: "button",
117
117
  class: "admin-topbar__icon-btn",
118
118
  style: { width: "auto", padding: "0 8px", gap: "4px", "font-size": "12px" },
@@ -126,7 +126,7 @@ const He = le("admin-theme", () => {
126
126
  }
127
127
  return (o, a) => (s(), w(r(rt), null, {
128
128
  trigger: m(() => [
129
- d("button", an, [
129
+ d("button", ln, [
130
130
  a[0] || (a[0] = d("span", {
131
131
  class: "admin-topbar__icon",
132
132
  "data-icon": "globe"
@@ -150,44 +150,44 @@ const He = le("admin-theme", () => {
150
150
  }
151
151
  }), Je = le("admin-notifications", () => {
152
152
  const e = E([]), t = E(0), n = E(!1), o = E("all"), a = E(null), l = p(() => t.value > 0);
153
- function i(A) {
154
- t.value = A.unread_notifications_count;
153
+ function i(R) {
154
+ t.value = R.unread_notifications_count;
155
155
  }
156
- async function u(A = "all", R = 1) {
156
+ async function u(R = "all", A = 1) {
157
157
  n.value = !0;
158
158
  try {
159
- const g = await j().get(`/notifications/list?type=${A}&page=${R}`);
159
+ const g = await j().get(`/notifications/list?type=${R}&page=${A}`);
160
160
  e.value = g.data, t.value = g.meta.unread_count, a.value = {
161
161
  page: g.meta.page,
162
162
  per_page: g.meta.per_page,
163
163
  total: g.meta.total,
164
164
  last_page: g.meta.last_page
165
- }, o.value = A;
165
+ }, o.value = R;
166
166
  } finally {
167
167
  n.value = !1;
168
168
  }
169
169
  }
170
170
  async function f() {
171
- const R = await j().get(
171
+ const A = await j().get(
172
172
  "/notifications/unread"
173
173
  );
174
- t.value = R.count, o.value === "unread" && (e.value = R.data);
174
+ t.value = A.count, o.value === "unread" && (e.value = A.data);
175
175
  }
176
- async function v(A) {
177
- await j().post("/notifications/markAsRead", { id: A });
178
- const _ = e.value.find((g) => g.id === A);
176
+ async function v(R) {
177
+ await j().post("/notifications/markAsRead", { id: R });
178
+ const _ = e.value.find((g) => g.id === R);
179
179
  _ && _.read_at === null && (_.read_at = (/* @__PURE__ */ new Date()).toISOString(), t.value = Math.max(0, t.value - 1));
180
180
  }
181
181
  async function b() {
182
182
  await j().post("/notifications/markAllAsRead");
183
- const R = (/* @__PURE__ */ new Date()).toISOString();
183
+ const A = (/* @__PURE__ */ new Date()).toISOString();
184
184
  for (const _ of e.value)
185
- _.read_at === null && (_.read_at = R);
185
+ _.read_at === null && (_.read_at = A);
186
186
  t.value = 0;
187
187
  }
188
- async function S(A) {
189
- await j().post("/notifications/destroy", { id: A });
190
- const _ = e.value.findIndex((g) => g.id === A);
188
+ async function S(R) {
189
+ await j().post("/notifications/destroy", { id: R });
190
+ const _ = e.value.findIndex((g) => g.id === R);
191
191
  if (_ !== -1) {
192
192
  const g = e.value[_].read_at === null;
193
193
  e.value.splice(_, 1), g && (t.value = Math.max(0, t.value - 1));
@@ -207,14 +207,14 @@ const He = le("admin-theme", () => {
207
207
  markAllAsRead: b,
208
208
  destroy: S
209
209
  };
210
- }), ln = ["title"], sn = /* @__PURE__ */ L({
210
+ }), sn = ["title"], on = /* @__PURE__ */ L({
211
211
  __name: "NotificationBell",
212
212
  setup(e) {
213
213
  const t = Je(), n = p(() => {
214
214
  const o = t.unreadCount;
215
215
  return o <= 0 ? null : o > 99 ? "99+" : String(o);
216
216
  });
217
- return (o, a) => (s(), w(r(Et), {
217
+ return (o, a) => (s(), w(r(Ft), {
218
218
  to: "/notifications",
219
219
  class: "admin-topbar__icon-btn",
220
220
  "aria-label": "Уведомления"
@@ -228,7 +228,7 @@ const He = le("admin-theme", () => {
228
228
  key: 0,
229
229
  class: "admin-topbar__bell-badge",
230
230
  title: `Непрочитанных: ${r(t).unreadCount}`
231
- }, h(n.value), 9, ln)) : F("", !0)
231
+ }, h(n.value), 9, sn)) : F("", !0)
232
232
  ]),
233
233
  _: 1
234
234
  }));
@@ -247,12 +247,12 @@ class pt extends ee {
247
247
  super(401, t), this.name = "UnauthenticatedError";
248
248
  }
249
249
  }
250
- class on extends ee {
250
+ class rn extends ee {
251
251
  constructor(t) {
252
252
  super(403, t), this.name = "ForbiddenError";
253
253
  }
254
254
  }
255
- class rn extends ee {
255
+ class un extends ee {
256
256
  constructor(t) {
257
257
  super(404, t), this.name = "NotFoundError";
258
258
  }
@@ -281,9 +281,9 @@ function Qe(e, t) {
281
281
  case 401:
282
282
  return new pt(t);
283
283
  case 403:
284
- return new on(t);
285
- case 404:
286
284
  return new rn(t);
285
+ case 404:
286
+ return new un(t);
287
287
  case 422:
288
288
  return new Pe(t);
289
289
  default:
@@ -345,10 +345,10 @@ const Y = le("admin-auth", () => {
345
345
  });
346
346
  return e.value = U.user, n.value = null, { remaining: U.recovery_codes_remaining };
347
347
  }
348
- function A() {
348
+ function R() {
349
349
  n.value = null;
350
350
  }
351
- async function R() {
351
+ async function A() {
352
352
  const _ = j();
353
353
  try {
354
354
  await _.post("/auth/logout");
@@ -372,16 +372,16 @@ const Y = le("admin-auth", () => {
372
372
  login: v,
373
373
  twoFactorChallenge: b,
374
374
  twoFactorRecovery: S,
375
- cancelChallenge: A,
376
- logout: R
375
+ cancelChallenge: R,
376
+ logout: A
377
377
  };
378
- }), un = {
378
+ }), dn = {
379
379
  type: "button",
380
380
  class: "admin-topbar__icon-btn admin-user-menu__trigger",
381
381
  "aria-label": "Меню пользователя",
382
382
  "aria-haspopup": "menu",
383
383
  style: { width: "auto", padding: "0 4px", gap: "8px" }
384
- }, dn = /* @__PURE__ */ L({
384
+ }, cn = /* @__PURE__ */ L({
385
385
  __name: "UserMenu",
386
386
  setup(e) {
387
387
  const t = Y(), n = se();
@@ -397,7 +397,7 @@ const Y = le("admin-auth", () => {
397
397
  }
398
398
  return (l, i) => (s(), w(r(rt), null, {
399
399
  trigger: m(() => [
400
- d("button", un, [
400
+ d("button", dn, [
401
401
  x(r(ut), {
402
402
  src: r(t).user?.avatar ?? void 0,
403
403
  name: r(t).user?.name ?? "?",
@@ -413,7 +413,7 @@ const Y = le("admin-auth", () => {
413
413
  ])]),
414
414
  _: 1
415
415
  }),
416
- x(r(Lt)),
416
+ x(r(Pt)),
417
417
  x(r(Oe), {
418
418
  variant: "danger",
419
419
  onClick: o
@@ -427,10 +427,10 @@ const Y = le("admin-auth", () => {
427
427
  _: 1
428
428
  }));
429
429
  }
430
- }), cn = { class: "admin-topbar" }, mn = { class: "admin-topbar__breadcrumbs" }, fn = {
430
+ }), mn = { class: "admin-topbar" }, fn = { class: "admin-topbar__breadcrumbs" }, vn = {
431
431
  key: 0,
432
432
  class: "sep"
433
- }, vn = /* @__PURE__ */ L({
433
+ }, pn = /* @__PURE__ */ L({
434
434
  __name: "AdminTopBar",
435
435
  props: {
436
436
  breadcrumbs: { default: () => [] },
@@ -439,7 +439,7 @@ const Y = le("admin-auth", () => {
439
439
  emits: ["toggle-sidebar"],
440
440
  setup(e, { emit: t }) {
441
441
  const n = e, o = t, a = p(() => n.breadcrumbs.length - 1);
442
- return (l, i) => (s(), c("header", cn, [
442
+ return (l, i) => (s(), c("header", mn, [
443
443
  e.showCollapseToggle ? (s(), c("button", {
444
444
  key: 0,
445
445
  type: "button",
@@ -452,10 +452,10 @@ const Y = le("admin-auth", () => {
452
452
  "data-icon": "panel-left"
453
453
  }, null, -1)
454
454
  ])])) : F("", !0),
455
- d("div", mn, [
455
+ d("div", fn, [
456
456
  X(l.$slots, "breadcrumbs", {}, () => [
457
457
  (s(!0), c(T, null, B(e.breadcrumbs, (u, f) => (s(), c(T, { key: f }, [
458
- f > 0 ? (s(), c("span", fn, "›")) : F("", !0),
458
+ f > 0 ? (s(), c("span", vn, "›")) : F("", !0),
459
459
  (s(), w(de(u.to ? "a" : "span"), {
460
460
  href: typeof u.to == "string" ? u.to : void 0,
461
461
  class: Q(f === a.value ? "cur" : "")
@@ -484,33 +484,33 @@ const Y = le("admin-auth", () => {
484
484
  ], -1))
485
485
  ]),
486
486
  X(l.$slots, "actions"),
487
- x(sn),
487
+ x(on),
488
488
  x(ft),
489
489
  x(vt),
490
- x(dn)
490
+ x(cn)
491
491
  ]));
492
492
  }
493
- }), pn = le("admin-menu", () => {
493
+ }), gt = le("admin-menu", () => {
494
494
  const e = E([]), t = E(!1), n = E(null), o = E(!1), a = p(() => {
495
495
  const v = Y(), b = (S) => {
496
496
  if (Array.isArray(S.permissions) && S.permissions.length > 0 && !v.hasAnyPermission(S.permissions))
497
497
  return null;
498
- const A = (S.children ?? []).map(b).filter((R) => R !== null);
499
- return { ...S, children: A };
498
+ const R = (S.children ?? []).map(b).filter((A) => A !== null);
499
+ return { ...S, children: R };
500
500
  };
501
501
  return e.value.map(b).filter((S) => S !== null);
502
502
  }), l = p(() => {
503
503
  const v = /* @__PURE__ */ new Map();
504
504
  for (const S of a.value) {
505
- const A = S.group ?? null;
506
- v.has(A) || v.set(A, []), v.get(A).push(S);
505
+ const R = S.group ?? null;
506
+ v.has(R) || v.set(R, []), v.get(R).push(S);
507
507
  }
508
508
  const b = [];
509
- for (const [S, A] of v)
510
- A.sort((R, _) => {
511
- const g = (R.order ?? 0) - (_.order ?? 0);
512
- return g !== 0 ? g : R.label.localeCompare(_.label);
513
- }), b.push({ group: S, items: A });
509
+ for (const [S, R] of v)
510
+ R.sort((A, _) => {
511
+ const g = (A.order ?? 0) - (_.order ?? 0);
512
+ return g !== 0 ? g : A.label.localeCompare(_.label);
513
+ }), b.push({ group: S, items: R });
514
514
  return b;
515
515
  });
516
516
  async function i(v = !1) {
@@ -562,19 +562,19 @@ const Y = le("admin-auth", () => {
562
562
  docsUrl: { default: null }
563
563
  },
564
564
  setup(e) {
565
- const t = pn(), n = ye(), o = p(() => t.groupedItems);
565
+ const t = gt(), n = ye(), o = p(() => t.groupedItems);
566
566
  function a(u) {
567
567
  return !!(u.routeName && n.name === u.routeName || u.url && n.path === u.url);
568
568
  }
569
569
  function l(u) {
570
570
  if (u)
571
- return () => $t("span", { class: "admin-sidebar__icon", "data-icon": u });
571
+ return () => xt("span", { class: "admin-sidebar__icon", "data-icon": u });
572
572
  }
573
573
  function i(u) {
574
- if (u.routeName) return { name: u.routeName };
575
574
  if (u.url) return u.url;
575
+ if (u.routeName) return { name: u.routeName };
576
576
  }
577
- return (u, f) => (s(), w(r(Pt), { collapsed: e.collapsed }, De({
577
+ return (u, f) => (s(), w(r(Tt), { collapsed: e.collapsed }, De({
578
578
  header: m(() => [
579
579
  d("div", gn, [
580
580
  d("div", hn, h(e.brandMark), 1),
@@ -586,12 +586,12 @@ const Y = le("admin-auth", () => {
586
586
  ])) : F("", !0)
587
587
  ]),
588
588
  nav: m(() => [
589
- (s(!0), c(T, null, B(o.value, (v, b) => (s(), w(r(Tt), {
589
+ (s(!0), c(T, null, B(o.value, (v, b) => (s(), w(r(Mt), {
590
590
  key: `grp-${b}`,
591
591
  title: v.group ?? void 0
592
592
  }, {
593
593
  default: m(() => [
594
- (s(!0), c(T, null, B(v.items, (S) => (s(), w(r(Mt), {
594
+ (s(!0), c(T, null, B(v.items, (S) => (s(), w(r(Nt), {
595
595
  key: S.key,
596
596
  to: i(S),
597
597
  active: a(S),
@@ -657,7 +657,7 @@ const Y = le("admin-auth", () => {
657
657
  typeof document > "u" || (i !== null ? document.documentElement.setAttribute(Ve, "true") : document.documentElement.removeAttribute(Ve));
658
658
  },
659
659
  { immediate: !0 }
660
- ), xt(() => {
660
+ ), Ct(() => {
661
661
  typeof document < "u" && document.documentElement.removeAttribute(Ve);
662
662
  }), (i, u) => (s(), c("div", xn, [
663
663
  e.impersonation ? (s(), c("div", Cn, [
@@ -672,7 +672,7 @@ const Y = le("admin-auth", () => {
672
672
  onClick: l
673
673
  }, " Выйти из режима ")
674
674
  ])) : F("", !0),
675
- x(r(Nt), {
675
+ x(r(It), {
676
676
  "model-value": e.collapsed,
677
677
  "onUpdate:modelValue": a
678
678
  }, {
@@ -683,7 +683,7 @@ const Y = le("admin-auth", () => {
683
683
  ]),
684
684
  header: m(() => [
685
685
  X(i.$slots, "topbar", {}, () => [
686
- x(vn, {
686
+ x(pn, {
687
687
  onToggleSidebar: u[0] || (u[0] = (f) => a(!e.collapsed))
688
688
  })
689
689
  ])
@@ -720,7 +720,7 @@ const Y = le("admin-auth", () => {
720
720
  function S(_) {
721
721
  return u.value.find((g) => g.slug === _) ?? null;
722
722
  }
723
- async function A(_ = !1) {
723
+ async function R(_ = !1) {
724
724
  if (e.value !== null && !_)
725
725
  return e.value;
726
726
  t.value = !0, n.value = null;
@@ -733,7 +733,7 @@ const Y = le("admin-auth", () => {
733
733
  t.value = !1;
734
734
  }
735
735
  }
736
- function R() {
736
+ function A() {
737
737
  e.value = null, n.value = null, t.value = !1;
738
738
  }
739
739
  return {
@@ -752,8 +752,8 @@ const Y = le("admin-auth", () => {
752
752
  getResource: v,
753
753
  getScreen: b,
754
754
  getSettings: S,
755
- load: A,
756
- reset: R
755
+ load: R,
756
+ reset: A
757
757
  };
758
758
  }), Rn = { class: "admin-home" }, Un = { class: "admin-home__title" }, En = {
759
759
  key: 0,
@@ -898,27 +898,27 @@ const Y = le("admin-auth", () => {
898
898
  emits: ["success"],
899
899
  setup(e, { emit: t }) {
900
900
  const n = t, o = Y(), a = E(""), l = E(""), i = E(!1), u = E(!1), f = E(null), v = E({}), b = p(() => v.value.email?.[0]), S = p(() => v.value.password?.[0]);
901
- async function A() {
901
+ async function R() {
902
902
  if (!u.value) {
903
903
  u.value = !0, f.value = null, v.value = {};
904
904
  try {
905
- const R = await o.login({
905
+ const A = await o.login({
906
906
  email: a.value,
907
907
  password: l.value,
908
908
  remember: i.value
909
909
  });
910
- n("success", R);
911
- } catch (R) {
912
- R instanceof Pe ? (v.value = R.fields, f.value = R.firstFieldMessage()) : R instanceof Te ? f.value = "Нет соединения с сервером" : R instanceof ee ? f.value = R.message || "Не удалось войти" : f.value = R.message;
910
+ n("success", A);
911
+ } catch (A) {
912
+ A instanceof Pe ? (v.value = A.fields, f.value = A.firstFieldMessage()) : A instanceof Te ? f.value = "Нет соединения с сервером" : A instanceof ee ? f.value = A.message || "Не удалось войти" : f.value = A.message;
913
913
  } finally {
914
914
  u.value = !1;
915
915
  }
916
916
  }
917
917
  }
918
- return (R, _) => (s(), c("form", {
918
+ return (A, _) => (s(), c("form", {
919
919
  class: "admin-auth-card__bd",
920
920
  novalidate: "",
921
- onSubmit: We(A, ["prevent"])
921
+ onSubmit: We(R, ["prevent"])
922
922
  }, [
923
923
  f.value ? (s(), w(r(Z), {
924
924
  key: 0,
@@ -996,8 +996,8 @@ const Y = le("admin-auth", () => {
996
996
  __name: "TwoFactorForm",
997
997
  emits: ["success", "cancel"],
998
998
  setup(e, { emit: t }) {
999
- const n = t, o = Y(), a = E("totp"), l = E(["", "", "", "", "", ""]), i = E(""), u = E([]), f = E(!1), v = E(null), b = E(null), S = p(() => l.value.join("")), A = p(() => a.value === "totp" ? S.value.length === 6 : i.value.trim().length > 0);
1000
- function R($, z) {
999
+ const n = t, o = Y(), a = E("totp"), l = E(["", "", "", "", "", ""]), i = E(""), u = E([]), f = E(!1), v = E(null), b = E(null), S = p(() => l.value.join("")), R = p(() => a.value === "totp" ? S.value.length === 6 : i.value.trim().length > 0);
1000
+ function A($, z) {
1001
1001
  z instanceof HTMLInputElement && (u.value[$] = z);
1002
1002
  }
1003
1003
  function _($, z) {
@@ -1019,7 +1019,7 @@ const Y = le("admin-auth", () => {
1019
1019
  }
1020
1020
  }
1021
1021
  async function P() {
1022
- if (!(f.value || !A.value)) {
1022
+ if (!(f.value || !R.value)) {
1023
1023
  f.value = !0, v.value = null;
1024
1024
  try {
1025
1025
  if (a.value === "totp")
@@ -1077,7 +1077,7 @@ const Y = le("admin-auth", () => {
1077
1077
  (s(!0), c(T, null, B(l.value, (G, O) => (s(), c("input", {
1078
1078
  key: O,
1079
1079
  ref_for: !0,
1080
- ref: (M) => R(O, M),
1080
+ ref: (M) => A(O, M),
1081
1081
  value: l.value[O],
1082
1082
  type: "text",
1083
1083
  inputmode: "numeric",
@@ -1103,7 +1103,7 @@ const Y = le("admin-auth", () => {
1103
1103
  variant: "primary",
1104
1104
  size: "lg",
1105
1105
  loading: f.value,
1106
- disabled: f.value || !A.value
1106
+ disabled: f.value || !R.value
1107
1107
  }, {
1108
1108
  default: m(() => [
1109
1109
  C(h(f.value ? "Проверка…" : "Подтвердить"), 1)
@@ -1221,7 +1221,7 @@ const Y = le("admin-auth", () => {
1221
1221
  ]));
1222
1222
  }
1223
1223
  }), Ze = { page: 1, per_page: 20, total: 0, last_page: 1 }, ma = le("admin-resource-index", () => {
1224
- const e = E(null), t = E([]), n = E({ ...Ze }), o = E(!1), a = E(null), l = E(""), i = E({}), u = E(null), f = E("asc"), v = E(/* @__PURE__ */ new Set()), b = p(() => !o.value && a.value === null && t.value.length === 0), S = p(() => v.value.size), A = p(() => v.value.size > 0), R = p(() => a.value !== null), _ = p(() => v.value.size === 0 || t.value.length === 0 ? "none" : t.value.every((q) => v.value.has(g(q))) ? "all" : "mixed");
1224
+ const e = E(null), t = E([]), n = E({ ...Ze }), o = E(!1), a = E(null), l = E(""), i = E({}), u = E(null), f = E("asc"), v = E(/* @__PURE__ */ new Set()), b = p(() => !o.value && a.value === null && t.value.length === 0), S = p(() => v.value.size), R = p(() => v.value.size > 0), A = p(() => a.value !== null), _ = p(() => v.value.size === 0 || t.value.length === 0 ? "none" : t.value.every((q) => v.value.has(g(q))) ? "all" : "mixed");
1225
1225
  function g(N) {
1226
1226
  return N.id ?? N.key ?? "";
1227
1227
  }
@@ -1239,9 +1239,9 @@ const Y = le("admin-auth", () => {
1239
1239
  we && (q.q = we);
1240
1240
  const ge = N.sort ?? u.value;
1241
1241
  ge && (q.order = [{ column: ge, direction: N.direction ?? f.value }]);
1242
- const kt = N.filters ?? i.value, Ie = {};
1243
- for (const [wt, oe] of Object.entries(kt))
1244
- oe == null || oe === "" || (Ie[wt] = Array.isArray(oe) ? oe.join(",") : oe);
1242
+ const wt = N.filters ?? i.value, Ie = {};
1243
+ for (const [$t, oe] of Object.entries(wt))
1244
+ oe == null || oe === "" || (Ie[$t] = Array.isArray(oe) ? oe.join(",") : oe);
1245
1245
  return Object.keys(Ie).length > 0 && (q.filters = Ie), q;
1246
1246
  }
1247
1247
  async function y(N = {}) {
@@ -1291,7 +1291,7 @@ const Y = le("admin-auth", () => {
1291
1291
  function te() {
1292
1292
  v.value = /* @__PURE__ */ new Set();
1293
1293
  }
1294
- function bt(N) {
1294
+ function kt(N) {
1295
1295
  return v.value.has(N);
1296
1296
  }
1297
1297
  return {
@@ -1308,8 +1308,8 @@ const Y = le("admin-auth", () => {
1308
1308
  selection: v,
1309
1309
  // getters
1310
1310
  isEmpty: b,
1311
- hasError: R,
1312
- hasSelection: A,
1311
+ hasError: A,
1312
+ hasSelection: R,
1313
1313
  selectedCount: S,
1314
1314
  selectionState: _,
1315
1315
  // actions
@@ -1325,7 +1325,7 @@ const Y = le("admin-auth", () => {
1325
1325
  toggleRow: H,
1326
1326
  toggleAllOnPage: K,
1327
1327
  clearSelection: te,
1328
- isSelected: bt,
1328
+ isSelected: kt,
1329
1329
  rowId: g
1330
1330
  };
1331
1331
  }), fa = { class: "admin-page admin-resource-index" }, va = { class: "admin-page__hd" }, pa = { class: "admin-page__title-wrap" }, ga = { class: "admin-page__title" }, ha = {
@@ -1390,10 +1390,10 @@ const Y = le("admin-auth", () => {
1390
1390
  async function S(P) {
1391
1391
  await a.setPage(P);
1392
1392
  }
1393
- function A() {
1393
+ function R() {
1394
1394
  a.toggleAllOnPage();
1395
1395
  }
1396
- function R(P) {
1396
+ function A(P) {
1397
1397
  a.toggleRow(P);
1398
1398
  }
1399
1399
  function _(P) {
@@ -1499,7 +1499,7 @@ const Y = le("admin-auth", () => {
1499
1499
  type: "search",
1500
1500
  placeholder: "Поиск…",
1501
1501
  class: "admin-filter-bar__search",
1502
- onKeydown: k[5] || (k[5] = Ct((y) => r(a).setSearch(y.target.value), ["enter"]))
1502
+ onKeydown: k[5] || (k[5] = St((y) => r(a).setSearch(y.target.value), ["enter"]))
1503
1503
  }, null, 40, wa),
1504
1504
  X(P.$slots, "filters", {
1505
1505
  filters: r(a).filters,
@@ -1523,7 +1523,7 @@ const Y = le("admin-auth", () => {
1523
1523
  key: y,
1524
1524
  height: "40px"
1525
1525
  })), 64))
1526
- ])) : r(a).hasError ? (s(), w(r(It), {
1526
+ ])) : r(a).hasError ? (s(), w(r(Bt), {
1527
1527
  key: 3,
1528
1528
  title: "Не удалось загрузить данные",
1529
1529
  description: r(a).error?.message ?? "Попробуйте обновить страницу.",
@@ -1541,7 +1541,7 @@ const Y = le("admin-auth", () => {
1541
1541
  })
1542
1542
  ]),
1543
1543
  _: 1
1544
- }, 8, ["description"])) : r(a).isEmpty ? (s(), w(r(Bt), {
1544
+ }, 8, ["description"])) : r(a).isEmpty ? (s(), w(r(Vt), {
1545
1545
  key: 4,
1546
1546
  title: "Пока пусто",
1547
1547
  description: "Создайте первую запись или измените фильтры.",
@@ -1566,7 +1566,7 @@ const Y = le("admin-auth", () => {
1566
1566
  "model-value": r(a).selectionState === "all",
1567
1567
  indeterminate: r(a).selectionState === "mixed",
1568
1568
  "aria-label": "Выделить всё",
1569
- "onUpdate:modelValue": A
1569
+ "onUpdate:modelValue": R
1570
1570
  }, null, 8, ["model-value", "indeterminate"])
1571
1571
  ]),
1572
1572
  x(r(Ke), {
@@ -1597,7 +1597,7 @@ const Y = le("admin-auth", () => {
1597
1597
  x(r(Ae), {
1598
1598
  "model-value": r(a).isSelected(r(a).rowId(y)),
1599
1599
  "aria-label": `Строка ${r(a).rowId(y)}`,
1600
- "onUpdate:modelValue": ($) => R(r(a).rowId(y)),
1600
+ "onUpdate:modelValue": ($) => A(r(a).rowId(y)),
1601
1601
  onClick: k[7] || (k[7] = We(() => {
1602
1602
  }, ["stop"]))
1603
1603
  }, null, 8, ["model-value", "aria-label", "onUpdate:modelValue"])
@@ -1605,7 +1605,7 @@ const Y = le("admin-auth", () => {
1605
1605
  ])
1606
1606
  ])),
1607
1607
  !r(a).loading && !r(a).hasError && !r(a).isEmpty ? (s(), c("footer", Ra, [
1608
- x(r(Vt), {
1608
+ x(r(zt), {
1609
1609
  "model-value": r(a).meta.page,
1610
1610
  total: r(a).meta.total,
1611
1611
  "per-page": r(a).meta.per_page,
@@ -1614,8 +1614,8 @@ const Y = le("admin-auth", () => {
1614
1614
  ])) : F("", !0)
1615
1615
  ]));
1616
1616
  }
1617
- }), gt = le("admin-resource-form", () => {
1618
- const e = E(null), t = E("create"), n = E(null), o = E({}), a = E({}), l = E({}), i = E(!1), u = E(!1), f = E(!1), v = E(null), b = p(() => t.value === "create"), S = p(() => t.value === "edit"), A = p(() => t.value === "view"), R = p(() => v.value !== null), _ = p(() => {
1617
+ }), ht = le("admin-resource-form", () => {
1618
+ const e = E(null), t = E("create"), n = E(null), o = E({}), a = E({}), l = E({}), i = E(!1), u = E(!1), f = E(!1), v = E(null), b = p(() => t.value === "create"), S = p(() => t.value === "edit"), R = p(() => t.value === "view"), A = p(() => v.value !== null), _ = p(() => {
1619
1619
  const M = o.value, W = a.value, H = /* @__PURE__ */ new Set([...Object.keys(M), ...Object.keys(W)]);
1620
1620
  for (const K of H)
1621
1621
  if (!Object.is(M[K], W[K]))
@@ -1703,9 +1703,9 @@ const Y = le("admin-auth", () => {
1703
1703
  // getters
1704
1704
  isCreate: b,
1705
1705
  isEdit: S,
1706
- isView: A,
1706
+ isView: R,
1707
1707
  isDirty: _,
1708
- hasError: R,
1708
+ hasError: A,
1709
1709
  // actions
1710
1710
  reset: U,
1711
1711
  prepareCreate: P,
@@ -1741,14 +1741,14 @@ function Me() {
1741
1741
  }
1742
1742
  };
1743
1743
  }
1744
- const me = Me(), fe = Me(), Vi = me.register, ht = me.get, zi = me.has, qi = me.list, Di = fe.register, et = fe.get, Oi = fe.has, Wi = fe.list;
1744
+ const me = Me(), fe = Me(), Vi = me.register, _t = me.get, zi = me.has, qi = me.list, Di = fe.register, et = fe.get, Oi = fe.has, Wi = fe.list;
1745
1745
  function ji() {
1746
1746
  me.clear(), fe.clear();
1747
1747
  }
1748
1748
  function Ea(e) {
1749
1749
  e.fields && me.registerBundle(e.fields), e.layouts && fe.registerBundle(e.layouts);
1750
1750
  }
1751
- const _t = /* @__PURE__ */ L({
1751
+ const yt = /* @__PURE__ */ L({
1752
1752
  __name: "UnknownField",
1753
1753
  props: {
1754
1754
  type: {},
@@ -1770,17 +1770,17 @@ const _t = /* @__PURE__ */ L({
1770
1770
  _: 1
1771
1771
  }));
1772
1772
  }
1773
- }), yt = /* @__PURE__ */ L({
1773
+ }), bt = /* @__PURE__ */ L({
1774
1774
  __name: "FieldRenderer",
1775
1775
  props: {
1776
1776
  node: {}
1777
1777
  },
1778
1778
  setup(e) {
1779
- const t = e, n = p(() => ht(t.node.type)), o = p(() => {
1779
+ const t = e, n = p(() => _t(t.node.type)), o = p(() => {
1780
1780
  const { type: a, ...l } = t.node;
1781
1781
  return l;
1782
1782
  });
1783
- return (a, l) => n.value ? (s(), w(de(n.value), Ee(Fe({ key: 0 }, o.value)), null, 16)) : (s(), w(_t, {
1783
+ return (a, l) => n.value ? (s(), w(de(n.value), Ee(Fe({ key: 0 }, o.value)), null, 16)) : (s(), w(yt, {
1784
1784
  key: 1,
1785
1785
  type: e.node.type,
1786
1786
  name: e.node.name
@@ -1800,15 +1800,15 @@ const _t = /* @__PURE__ */ L({
1800
1800
  return i ? { kind: "layout", component: i } : { kind: "unknown" };
1801
1801
  }
1802
1802
  const l = et(t.node.type);
1803
- return l ? { kind: "layout", component: l } : ht(t.node.type) ? { kind: "field" } : { kind: "unknown" };
1803
+ return l ? { kind: "layout", component: l } : _t(t.node.type) ? { kind: "field" } : { kind: "unknown" };
1804
1804
  }), o = p(() => {
1805
1805
  const { type: l, kind: i, ...u } = t.node;
1806
1806
  return u;
1807
1807
  }), a = p(() => t.node);
1808
- return (l, i) => n.value.kind === "layout" && n.value.component ? (s(), w(de(n.value.component), Ee(Fe({ key: 0 }, o.value)), null, 16)) : n.value.kind === "field" ? (s(), w(yt, {
1808
+ return (l, i) => n.value.kind === "layout" && n.value.component ? (s(), w(de(n.value.component), Ee(Fe({ key: 0 }, o.value)), null, 16)) : n.value.kind === "field" ? (s(), w(bt, {
1809
1809
  key: 1,
1810
1810
  node: a.value
1811
- }, null, 8, ["node"])) : (s(), w(_t, {
1811
+ }, null, 8, ["node"])) : (s(), w(yt, {
1812
1812
  key: 2,
1813
1813
  type: e.node.type,
1814
1814
  name: e.node.name
@@ -1828,7 +1828,7 @@ const _t = /* @__PURE__ */ L({
1828
1828
  indexRouteName: { default: "admin.home" }
1829
1829
  },
1830
1830
  setup(e) {
1831
- const t = e, n = gt(), o = ie(), a = se(), l = mt(n.state, n.errors);
1831
+ const t = e, n = ht(), o = ie(), a = se(), l = mt(n.state, n.errors);
1832
1832
  ae(
1833
1833
  () => n.errors,
1834
1834
  (_) => {
@@ -1875,12 +1875,12 @@ const _t = /* @__PURE__ */ L({
1875
1875
  } catch {
1876
1876
  }
1877
1877
  }
1878
- async function A() {
1878
+ async function R() {
1879
1879
  confirm("Удалить запись?") && (await n.destroy().catch(() => {
1880
1880
  }), n.hasError || a.push({ name: t.indexRouteName }).catch(() => {
1881
1881
  }));
1882
1882
  }
1883
- function R() {
1883
+ function A() {
1884
1884
  n.isDirty && !confirm("Несохранённые изменения будут потеряны. Продолжить?") || a.push({ name: t.indexRouteName }).catch(() => {
1885
1885
  });
1886
1886
  }
@@ -1889,7 +1889,7 @@ const _t = /* @__PURE__ */ L({
1889
1889
  d("div", Pa, [
1890
1890
  d("a", {
1891
1891
  class: "admin-resource-form__back",
1892
- onClick: R
1892
+ onClick: A
1893
1893
  }, "← Назад"),
1894
1894
  d("h1", Ta, h(f.value), 1),
1895
1895
  v.value ? (s(), w(r(Ge), {
@@ -1906,7 +1906,7 @@ const _t = /* @__PURE__ */ L({
1906
1906
  x(r(V), {
1907
1907
  variant: "ghost",
1908
1908
  disabled: r(n).saving || r(n).deleting,
1909
- onClick: R
1909
+ onClick: A
1910
1910
  }, {
1911
1911
  default: m(() => [...g[0] || (g[0] = [
1912
1912
  C(" Отмена ", -1)
@@ -1918,7 +1918,7 @@ const _t = /* @__PURE__ */ L({
1918
1918
  variant: "danger",
1919
1919
  disabled: r(n).saving || r(n).deleting,
1920
1920
  loading: r(n).deleting,
1921
- onClick: A
1921
+ onClick: R
1922
1922
  }, {
1923
1923
  default: m(() => [...g[1] || (g[1] = [
1924
1924
  C(" Удалить ", -1)
@@ -1972,7 +1972,7 @@ const _t = /* @__PURE__ */ L({
1972
1972
  x(r(V), {
1973
1973
  variant: "ghost",
1974
1974
  size: "sm",
1975
- onClick: R
1975
+ onClick: A
1976
1976
  }, {
1977
1977
  default: m(() => [...g[2] || (g[2] = [
1978
1978
  C("Отмена", -1)
@@ -2055,8 +2055,8 @@ const _t = /* @__PURE__ */ L({
2055
2055
  const b = nt(t.node.type);
2056
2056
  return b ? { kind: "entry", component: b } : { kind: "unknown" };
2057
2057
  }), a = p(() => {
2058
- const { type: b, kind: S, items: A, ...R } = t.node;
2059
- return R;
2058
+ const { type: b, kind: S, items: R, ...A } = t.node;
2059
+ return A;
2060
2060
  }), l = p(
2061
2061
  () => t.node.items ?? []
2062
2062
  ), i = p(() => t.node.title ?? null), u = p(
@@ -2066,21 +2066,21 @@ const _t = /* @__PURE__ */ L({
2066
2066
  return typeof b == "number" ? b : 0;
2067
2067
  }), v = p(() => t.node.items ?? []);
2068
2068
  return (b, S) => {
2069
- const A = st("InfolistRenderer", !0);
2069
+ const R = st("InfolistRenderer", !0);
2070
2070
  return o.value.kind === "entry" ? (s(), w(de(o.value.component), Ee(Fe({ key: 0 }, a.value)), null, 16)) : o.value.kind === "layout" && o.value.layoutType === "rows" ? (s(), c("div", za, [
2071
- (s(!0), c(T, null, B(l.value, (R, _) => (s(), w(A, {
2071
+ (s(!0), c(T, null, B(l.value, (A, _) => (s(), w(R, {
2072
2072
  key: _,
2073
- node: R
2073
+ node: A
2074
2074
  }, null, 8, ["node"]))), 128))
2075
2075
  ])) : o.value.kind === "layout" && o.value.layoutType === "columns" ? (s(), c("div", qa, [
2076
- (s(!0), c(T, null, B(l.value, (R, _) => (s(), c("div", {
2076
+ (s(!0), c(T, null, B(l.value, (A, _) => (s(), c("div", {
2077
2077
  key: _,
2078
2078
  class: "admin-infolist-cols__item",
2079
2079
  style: Le({
2080
- gridColumn: `span ${typeof R.span == "number" ? R.span : Math.max(1, Math.floor(12 / l.value.length))}`
2080
+ gridColumn: `span ${typeof A.span == "number" ? A.span : Math.max(1, Math.floor(12 / l.value.length))}`
2081
2081
  })
2082
2082
  }, [
2083
- x(A, { node: R }, null, 8, ["node"])
2083
+ x(R, { node: A }, null, 8, ["node"])
2084
2084
  ], 4))), 128))
2085
2085
  ])) : o.value.kind === "layout" && (o.value.layoutType === "section" || o.value.layoutType === "block") ? (s(), c("section", Da, [
2086
2086
  i.value || u.value ? (s(), c("header", Oa, [
@@ -2088,25 +2088,25 @@ const _t = /* @__PURE__ */ L({
2088
2088
  u.value ? (s(), c("p", ja, h(u.value), 1)) : F("", !0)
2089
2089
  ])) : F("", !0),
2090
2090
  d("div", Ka, [
2091
- (s(!0), c(T, null, B(l.value, (R, _) => (s(), w(A, {
2091
+ (s(!0), c(T, null, B(l.value, (A, _) => (s(), w(R, {
2092
2092
  key: _,
2093
- node: R
2093
+ node: A
2094
2094
  }, null, 8, ["node"]))), 128))
2095
2095
  ])
2096
2096
  ])) : o.value.kind === "layout" && o.value.layoutType === "tabs" ? (s(), c("div", Ga, [
2097
2097
  d("ul", Ha, [
2098
- (s(!0), c(T, null, B(v.value, (R, _) => (s(), c("li", {
2099
- key: R.key ?? _,
2098
+ (s(!0), c(T, null, B(v.value, (A, _) => (s(), c("li", {
2099
+ key: A.key ?? _,
2100
2100
  class: Q([
2101
2101
  "admin-infolist-tabs__tab",
2102
2102
  { "admin-infolist-tabs__tab--active": _ === f.value }
2103
2103
  ])
2104
- }, h(R.label), 3))), 128))
2104
+ }, h(A.label), 3))), 128))
2105
2105
  ]),
2106
2106
  d("div", Xa, [
2107
- (s(!0), c(T, null, B(v.value[f.value]?.items ?? [], (R, _) => (s(), w(A, {
2107
+ (s(!0), c(T, null, B(v.value[f.value]?.items ?? [], (A, _) => (s(), w(R, {
2108
2108
  key: _,
2109
- node: R
2109
+ node: A
2110
2110
  }, null, 8, ["node"]))), 128))
2111
2111
  ])
2112
2112
  ])) : (s(), w(Va, {
@@ -2118,7 +2118,7 @@ const _t = /* @__PURE__ */ L({
2118
2118
  }
2119
2119
  }), Ye = /* @__PURE__ */ Symbol("admin.infolist-record");
2120
2120
  function Ya(e) {
2121
- St(Ye, e);
2121
+ At(Ye, e);
2122
2122
  }
2123
2123
  function Ji() {
2124
2124
  const e = it(Ye);
@@ -2141,7 +2141,7 @@ const Qa = { class: "admin-page admin-resource-view" }, Za = { class: "admin-pag
2141
2141
  indexRouteName: { default: "admin.home" }
2142
2142
  },
2143
2143
  setup(e) {
2144
- const t = e, n = gt(), o = ie(), a = se();
2144
+ const t = e, n = ht(), o = ie(), a = se();
2145
2145
  Ya(n.state);
2146
2146
  const l = p(() => o.getResource(t.slug)), i = p(
2147
2147
  () => l.value?.fields ?? []
@@ -2213,8 +2213,8 @@ const Qa = { class: "admin-page admin-resource-view" }, Za = { class: "admin-pag
2213
2213
  _: 1
2214
2214
  })) : F("", !0),
2215
2215
  r(n).loading ? (s(), c("div", al, [
2216
- (s(), c(T, null, B(8, (A) => x(r(je), {
2217
- key: A,
2216
+ (s(), c(T, null, B(8, (R) => x(r(je), {
2217
+ key: R,
2218
2218
  height: "24px"
2219
2219
  })), 64))
2220
2220
  ])) : (s(), w(r(D), {
@@ -2223,9 +2223,9 @@ const Qa = { class: "admin-page admin-resource-view" }, Za = { class: "admin-pag
2223
2223
  class: "admin-resource-view__body"
2224
2224
  }, {
2225
2225
  default: m(() => [
2226
- (s(!0), c(T, null, B(i.value, (A, R) => (s(), w(Ja, {
2227
- key: R,
2228
- node: A
2226
+ (s(!0), c(T, null, B(i.value, (R, A) => (s(), w(Ja, {
2227
+ key: A,
2228
+ node: R
2229
2229
  }, null, 8, ["node"]))), 128))
2230
2230
  ]),
2231
2231
  _: 1
@@ -2266,10 +2266,10 @@ const Qa = { class: "admin-page admin-resource-view" }, Za = { class: "admin-pag
2266
2266
  theme: l.current
2267
2267
  }), S = p(
2268
2268
  () => i.available.map((k) => ({ value: k, label: k.toUpperCase() }))
2269
- ), A = p(
2269
+ ), R = p(
2270
2270
  () => l.available.map((k) => ({ value: k, label: k === "dark" ? "Тёмная" : k === "light" ? "Светлая" : k }))
2271
2271
  );
2272
- function R() {
2272
+ function A() {
2273
2273
  o("save", { ...b.value });
2274
2274
  }
2275
2275
  function _() {
@@ -2361,14 +2361,14 @@ const Qa = { class: "admin-page admin-resource-view" }, Za = { class: "admin-pag
2361
2361
  x(r(Re), {
2362
2362
  modelValue: b.value.theme,
2363
2363
  "onUpdate:modelValue": y[3] || (y[3] = ($) => b.value.theme = $),
2364
- options: A.value,
2364
+ options: R.value,
2365
2365
  label: "Тема"
2366
2366
  }, null, 8, ["modelValue", "options"])
2367
2367
  ]),
2368
2368
  d("footer", bl, [
2369
2369
  x(r(V), {
2370
2370
  variant: "primary",
2371
- onClick: R
2371
+ onClick: A
2372
2372
  }, {
2373
2373
  default: m(() => [...y[6] || (y[6] = [
2374
2374
  C("Сохранить", -1)
@@ -2638,7 +2638,7 @@ const Qa = { class: "admin-page admin-resource-view" }, Za = { class: "admin-pag
2638
2638
  return t.data.map((i, u) => {
2639
2639
  const f = l / o.value * 2 * Math.PI;
2640
2640
  l += i.value;
2641
- const v = l / o.value * 2 * Math.PI, b = 50, S = 60, A = 60, R = S + b * Math.cos(f - Math.PI / 2), _ = A + b * Math.sin(f - Math.PI / 2), g = S + b * Math.cos(v - Math.PI / 2), U = A + b * Math.sin(v - Math.PI / 2), P = v - f > Math.PI ? 1 : 0, k = t.data.length === 1 ? `M ${S - b} ${A} a ${b} ${b} 0 1 0 ${b * 2} 0 a ${b} ${b} 0 1 0 ${-b * 2} 0` : `M ${S} ${A} L ${R} ${_} A ${b} ${b} 0 ${P} 1 ${g} ${U} Z`;
2641
+ const v = l / o.value * 2 * Math.PI, b = 50, S = 60, R = 60, A = S + b * Math.cos(f - Math.PI / 2), _ = R + b * Math.sin(f - Math.PI / 2), g = S + b * Math.cos(v - Math.PI / 2), U = R + b * Math.sin(v - Math.PI / 2), P = v - f > Math.PI ? 1 : 0, k = t.data.length === 1 ? `M ${S - b} ${R} a ${b} ${b} 0 1 0 ${b * 2} 0 a ${b} ${b} 0 1 0 ${-b * 2} 0` : `M ${S} ${R} L ${A} ${_} A ${b} ${b} 0 ${P} 1 ${g} ${U} Z`;
2642
2642
  return {
2643
2643
  ...i,
2644
2644
  path: k,
@@ -2741,7 +2741,7 @@ const Qa = { class: "admin-page admin-resource-view" }, Za = { class: "admin-pag
2741
2741
  e.title ? (s(), c("header", ls, [
2742
2742
  d("h3", ss, h(e.title), 1)
2743
2743
  ])) : F("", !0),
2744
- x(r(zt), {
2744
+ x(r(qt), {
2745
2745
  data: e.data,
2746
2746
  levels: e.levels,
2747
2747
  color: e.color,
@@ -2785,7 +2785,7 @@ const Qa = { class: "admin-page admin-resource-view" }, Za = { class: "admin-pag
2785
2785
  d("h3", rs, h(e.title), 1)
2786
2786
  ])) : F("", !0),
2787
2787
  d("div", us, [
2788
- x(r(qt), {
2788
+ x(r(Dt), {
2789
2789
  value: e.value,
2790
2790
  min: e.min,
2791
2791
  max: e.max,
@@ -2844,7 +2844,7 @@ function to(e) {
2844
2844
  return e.success === !1;
2845
2845
  }
2846
2846
  function hs(e) {
2847
- const t = Zt.create({
2847
+ const t = en.create({
2848
2848
  baseURL: e.baseURL,
2849
2849
  withCredentials: !0,
2850
2850
  headers: {
@@ -3103,7 +3103,7 @@ function Fs(e) {
3103
3103
  name: "admin.notFound",
3104
3104
  component: e.components.notFound,
3105
3105
  meta: { kind: "system", title: "404" }
3106
- }, l = Ft({
3106
+ }, l = Lt({
3107
3107
  history: n,
3108
3108
  routes: [...o, ...e.extraRoutes ?? [], a]
3109
3109
  });
@@ -3176,7 +3176,7 @@ const J = /* @__PURE__ */ L({
3176
3176
  disabled: e.disabled
3177
3177
  }, {
3178
3178
  default: m(() => [
3179
- x(r(Dt), {
3179
+ x(r(Ot), {
3180
3180
  "model-value": o.value,
3181
3181
  rows: e.rows,
3182
3182
  placeholder: e.placeholder ?? void 0,
@@ -3219,7 +3219,7 @@ const J = /* @__PURE__ */ L({
3219
3219
  disabled: e.disabled
3220
3220
  }, {
3221
3221
  default: m(() => [
3222
- x(r(Ot), {
3222
+ x(r(Wt), {
3223
3223
  "model-value": o.value,
3224
3224
  min: e.min ?? void 0,
3225
3225
  max: e.max ?? void 0,
@@ -3346,7 +3346,7 @@ const J = /* @__PURE__ */ L({
3346
3346
  disabled: e.disabled
3347
3347
  }, {
3348
3348
  default: m(() => [
3349
- x(r(Wt), {
3349
+ x(r(jt), {
3350
3350
  "model-value": o.value,
3351
3351
  min: e.min ?? void 0,
3352
3352
  max: e.max ?? void 0,
@@ -3365,7 +3365,7 @@ const J = /* @__PURE__ */ L({
3365
3365
  gap: { default: "var(--uid-space-md)" }
3366
3366
  },
3367
3367
  setup(e) {
3368
- return (t, n) => (s(), w(r(jt), {
3368
+ return (t, n) => (s(), w(r(Kt), {
3369
3369
  direction: "column",
3370
3370
  gap: e.gap,
3371
3371
  align: "stretch"
@@ -3392,7 +3392,7 @@ const J = /* @__PURE__ */ L({
3392
3392
  const l = a.span;
3393
3393
  return typeof l == "number" && l > 0 ? Math.min(l, t.cols) : n.value;
3394
3394
  }
3395
- return (a, l) => (s(), w(r(Kt), {
3395
+ return (a, l) => (s(), w(r(Gt), {
3396
3396
  cols: e.cols,
3397
3397
  gap: e.gap
3398
3398
  }, {
@@ -3481,8 +3481,8 @@ const J = /* @__PURE__ */ L({
3481
3481
  value: a(v, b)
3482
3482
  }, {
3483
3483
  default: m(() => [
3484
- (s(!0), c(T, null, B(v.items, (S, A) => (s(), w(ke, {
3485
- key: A,
3484
+ (s(!0), c(T, null, B(v.items, (S, R) => (s(), w(ke, {
3485
+ key: R,
3486
3486
  node: S
3487
3487
  }, null, 8, ["node"]))), 128))
3488
3488
  ]),
@@ -3640,13 +3640,13 @@ const I = /* @__PURE__ */ L({
3640
3640
  function a(l) {
3641
3641
  return l == null ? "—" : typeof l == "object" ? JSON.stringify(l) : String(l);
3642
3642
  }
3643
- return (l, i) => o.value.length > 0 ? (s(), w(r(Gt), {
3643
+ return (l, i) => o.value.length > 0 ? (s(), w(r(Ht), {
3644
3644
  key: 0,
3645
3645
  direction: "vertical",
3646
3646
  columns: 1
3647
3647
  }, {
3648
3648
  default: m(() => [
3649
- (s(!0), c(T, null, B(o.value, ([u, f]) => (s(), w(r(Ht), {
3649
+ (s(!0), c(T, null, B(o.value, ([u, f]) => (s(), w(r(Xt), {
3650
3650
  key: u,
3651
3651
  label: u
3652
3652
  }, {
@@ -3711,8 +3711,8 @@ function no(e, t = {}) {
3711
3711
  baseURL: e.apiUrl,
3712
3712
  csrfToken: e.csrf
3713
3713
  });
3714
- en(a);
3715
- const l = At(An), i = Ut();
3714
+ tn(a);
3715
+ const l = Rt(An), i = Et();
3716
3716
  l.use(i), Y().hydrate(e), Xe().hydrate(e), He().hydrate(e), Je().hydrate(e), Bs(), ps(), js();
3717
3717
  const u = Fs({
3718
3718
  base: o,
@@ -3736,19 +3736,20 @@ function no(e, t = {}) {
3736
3736
  titleGuard: t.router?.titleGuard
3737
3737
  });
3738
3738
  if (l.use(u), !t.skipManifestLoad) {
3739
- const f = ie(), v = Y(), b = () => {
3740
- f.load().then((S) => {
3741
- u.replaceManifestRoutes(S);
3739
+ const f = ie(), v = Y(), b = gt(), S = () => {
3740
+ b.load().catch(() => {
3741
+ }), f.load().then((R) => {
3742
+ u.replaceManifestRoutes(R);
3742
3743
  const A = u.currentRoute.value;
3743
3744
  A.name === "admin.notFound" && A.fullPath !== "/" && u.replace(A.fullPath);
3744
- }).catch((S) => {
3745
- typeof console < "u" && console.error("[laravel-admin] manifest load failed:", S);
3745
+ }).catch((R) => {
3746
+ typeof console < "u" && console.error("[laravel-admin] manifest load failed:", R);
3746
3747
  });
3747
3748
  };
3748
- v.isAuthenticated && b(), ae(
3749
+ v.isAuthenticated && S(), ae(
3749
3750
  () => v.user,
3750
- (S, A) => {
3751
- S && !A && b();
3751
+ (R, A) => {
3752
+ R && !A && S();
3752
3753
  }
3753
3754
  );
3754
3755
  }
@@ -3841,10 +3842,10 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
3841
3842
  const U = g.data.level;
3842
3843
  return U === "success" || U === "warning" || U === "danger" ? U : "info";
3843
3844
  }
3844
- function A(g) {
3845
+ function R(g) {
3845
3846
  return g.data.title ?? "—";
3846
3847
  }
3847
- function R(g) {
3848
+ function A(g) {
3848
3849
  return g.data.body ?? "";
3849
3850
  }
3850
3851
  function _(g) {
@@ -3857,7 +3858,7 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
3857
3858
  const $ = Math.floor(y / 24);
3858
3859
  return $ < 7 ? `${$} д назад` : U.toLocaleDateString("ru-RU");
3859
3860
  }
3860
- return (g, U) => (s(), w(r(Xt), {
3861
+ return (g, U) => (s(), w(r(Jt), {
3861
3862
  "model-value": e.open,
3862
3863
  side: "right",
3863
3864
  width: "400px",
@@ -3934,10 +3935,10 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
3934
3935
  }, null, 8, ti),
3935
3936
  d("div", ni, [
3936
3937
  d("div", ai, [
3937
- k.read_at ? (s(), c("span", si, h(A(k)), 1)) : (s(), c("strong", li, h(A(k)), 1)),
3938
+ k.read_at ? (s(), c("span", si, h(R(k)), 1)) : (s(), c("strong", li, h(R(k)), 1)),
3938
3939
  d("span", ii, h(_(k.created_at)), 1)
3939
3940
  ]),
3940
- R(k) ? (s(), c("p", oi, h(R(k)), 1)) : F("", !0)
3941
+ A(k) ? (s(), c("p", oi, h(A(k)), 1)) : F("", !0)
3941
3942
  ]),
3942
3943
  d("button", {
3943
3944
  type: "button",
@@ -4002,14 +4003,14 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4002
4003
  function S(y, $) {
4003
4004
  b.value[y] = $ === null || $ === "" ? null : String($);
4004
4005
  }
4005
- function A() {
4006
+ function R() {
4006
4007
  return n.headers.map((y) => ({
4007
4008
  source: y.key,
4008
4009
  target: b.value[y.key] ?? null
4009
4010
  }));
4010
4011
  }
4011
- function R() {
4012
- o("mapping-submit", A()), u(2);
4012
+ function A() {
4013
+ o("mapping-submit", R()), u(2);
4013
4014
  }
4014
4015
  function _() {
4015
4016
  o("run-import"), u(3);
@@ -4049,7 +4050,7 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4049
4050
  })
4050
4051
  ])
4051
4052
  ]),
4052
- x(r(Jt), {
4053
+ x(r(Yt), {
4053
4054
  steps: a,
4054
4055
  current: i.value
4055
4056
  }, null, 8, ["current"]),
@@ -4063,7 +4064,7 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4063
4064
  d("h3", null, "1. Загрузите файл"),
4064
4065
  d("p", null, "CSV / TSV / XLSX, до 50 MB")
4065
4066
  ], -1)),
4066
- x(r(Yt), {
4067
+ x(r(Qt), {
4067
4068
  "model-value": f.value,
4068
4069
  accept: ".csv,.tsv,.xlsx",
4069
4070
  "max-size": 50 * 1024 * 1024,
@@ -4141,7 +4142,7 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4141
4142
  d("h3", null, "4. Импорт")
4142
4143
  ], -1)),
4143
4144
  e.progress ? (s(), c(T, { key: 1 }, [
4144
- e.progress.total > 0 ? (s(), w(r(Qt), {
4145
+ e.progress.total > 0 ? (s(), w(r(Zt), {
4145
4146
  key: 0,
4146
4147
  "model-value": e.progress.created + e.progress.updated + e.progress.errors,
4147
4148
  max: e.progress.total
@@ -4193,7 +4194,7 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4193
4194
  key: 2,
4194
4195
  variant: "primary",
4195
4196
  disabled: !U.value,
4196
- onClick: R
4197
+ onClick: A
4197
4198
  }, {
4198
4199
  default: m(() => [...$[11] || ($[11] = [
4199
4200
  C(" Подтвердить mapping ", -1)
@@ -4276,7 +4277,7 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4276
4277
  node: { type: "date", name: "demo_date", label: "Дата публикации", inputType: "date" },
4277
4278
  initial: { demo_date: "2026-05-01" }
4278
4279
  }
4279
- ], n = t.reduce((a, l) => (a[l.group] || (a[l.group] = []), a[l.group].push(l), a), {}), o = Rt(
4280
+ ], n = t.reduce((a, l) => (a[l.group] || (a[l.group] = []), a[l.group].push(l), a), {}), o = Ut(
4280
4281
  t.reduce((a, l) => Object.assign(a, l.initial), {})
4281
4282
  );
4282
4283
  return mt(o), (a, l) => (s(), c("section", $i, [
@@ -4304,7 +4305,7 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4304
4305
  ]),
4305
4306
  d("p", Ui, h(f.description), 1),
4306
4307
  d("div", Ei, [
4307
- x(yt, {
4308
+ x(bt, {
4308
4309
  node: f.node
4309
4310
  }, null, 8, ["node"])
4310
4311
  ])
@@ -4320,7 +4321,7 @@ export {
4320
4321
  An as AdminApp,
4321
4322
  Sn as AdminShell,
4322
4323
  $n as AdminSidebar,
4323
- vn as AdminTopBar,
4324
+ pn as AdminTopBar,
4324
4325
  ee as ApiError,
4325
4326
  zs as BadgeEntry,
4326
4327
  jl as BarChartWidget,
@@ -4330,8 +4331,8 @@ export {
4330
4331
  re as DateField,
4331
4332
  es as DonutChartWidget,
4332
4333
  oo as FieldGalleryPage,
4333
- yt as FieldRenderer,
4334
- on as ForbiddenError,
4334
+ bt as FieldRenderer,
4335
+ rn as ForbiddenError,
4335
4336
  In as ForbiddenPage,
4336
4337
  ds as GaugeWidget,
4337
4338
  is as HeatmapWidget,
@@ -4346,9 +4347,9 @@ export {
4346
4347
  ca as LoginPage,
4347
4348
  vs as MarkdownWidget,
4348
4349
  Te as NetworkError,
4349
- rn as NotFoundError,
4350
+ un as NotFoundError,
4350
4351
  Vn as NotFoundPage,
4351
- sn as NotificationBell,
4352
+ on as NotificationBell,
4352
4353
  so as NotificationsDrawer,
4353
4354
  ze as NumberField,
4354
4355
  Sl as ProfilePage,
@@ -4369,10 +4370,10 @@ export {
4369
4370
  na as TwoFactorForm,
4370
4371
  pt as UnauthenticatedError,
4371
4372
  Va as UnknownEntry,
4372
- _t as UnknownField,
4373
+ yt as UnknownField,
4373
4374
  Hn as UnknownScreenPage,
4374
4375
  Ul as UnknownWidget,
4375
- dn as UserMenu,
4376
+ cn as UserMenu,
4376
4377
  Pe as ValidationError,
4377
4378
  El as WidgetRenderer,
4378
4379
  Ss as buildRoutesFromManifest,
@@ -4386,7 +4387,7 @@ export {
4386
4387
  As as createAuthGuard,
4387
4388
  Rs as createTitleGuard,
4388
4389
  j as getAdminClient,
4389
- ht as getField,
4390
+ _t as getField,
4390
4391
  nt as getInfolistEntry,
4391
4392
  et as getLayout,
4392
4393
  Al as getWidget,
@@ -4416,7 +4417,7 @@ export {
4416
4417
  Di as registerLayout,
4417
4418
  Yi as registerWidget,
4418
4419
  Rl as registerWidgets,
4419
- en as setAdminClient,
4420
+ tn as setAdminClient,
4420
4421
  Qe as toApiError,
4421
4422
  co as tryUseFormState,
4422
4423
  Ne as tryUseRecord,
@@ -4424,10 +4425,10 @@ export {
4424
4425
  ce as useFormState,
4425
4426
  Xe as useLocaleStore,
4426
4427
  ie as useManifestStore,
4427
- pn as useMenuStore,
4428
+ gt as useMenuStore,
4428
4429
  Je as useNotificationsStore,
4429
4430
  Ji as useRecord,
4430
- gt as useResourceFormStore,
4431
+ ht as useResourceFormStore,
4431
4432
  ma as useResourceIndexStore,
4432
4433
  He as useThemeStore
4433
4434
  };