@dskripchenko/laravel-admin 1.1.8 → 1.1.10

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,28 +1,28 @@
1
- import { ref as E, computed as p, defineComponent as L, openBlock as s, createElementBlock as c, createElementVNode as d, createBlock as w, unref as r, withCtx as m, Fragment as T, renderList as I, createTextVNode as C, toDisplayString as h, createCommentVNode as F, createVNode as x, renderSlot as H, resolveDynamicComponent as ue, normalizeClass as Y, createSlots as qe, h as wt, watch as ne, onBeforeUnmount as $t, resolveComponent as lt, withModifiers as Oe, nextTick as Ie, onMounted as Re, withKeys as xt, normalizeProps as Ue, mergeProps as Ee, normalizeStyle as Fe, inject as st, provide as Ct, createApp as St, reactive as At } from "vue";
2
- import { defineStore as ae, createPinia as Rt } from "pinia";
3
- import { RouterLink as Ut, useRouter as le, useRoute as _e, createWebHistory as it, createRouter as Et } from "vue-router";
4
- import { UidMenu as ot, UidMenuItem as De, UidMenuSeparator as Ft, UidAvatar as rt, UidSidebar as Lt, UidSidebarGroup as Pt, UidSidebarItem as Tt, UidSidebarLayout as Mt, UidCard as q, UidButton as B, UidAlert as Q, UidInput as re, UidCheckbox as Se, UidSkeleton as We, UidErrorState as Nt, UidEmptyState as It, UidTable as je, UidPagination as Bt, UidBadge as Ke, UidSelect as Ae, UidStat as xe, UidHeatmap as Vt, UidGauge as zt, UidFormField as ye, UidTextarea as qt, UidNumberInput as Dt, UidDatePicker as Ot, UidStack as Wt, UidGrid as jt, UidTabs as ut, UidTabPanel as dt, UidTab as Ce, UidDescriptionList as Kt, UidDescriptionItem as Gt, UidDrawer as Ht, UidStepper as Xt, UidFileUpload as Jt, UidProgress as Yt } from "@dskripchenko/ui";
5
- import Qt from "axios";
6
- import { p as ct, u as de } from "./formState-DGNcH1XQ.js";
1
+ import { ref as E, computed as p, defineComponent as L, openBlock as s, createElementBlock as c, createElementVNode as d, createBlock as w, unref as r, withCtx as m, Fragment as T, renderList as 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
+ import { p as mt, u as ce } from "./formState-DGNcH1XQ.js";
7
7
  import { t as co } from "./formState-DGNcH1XQ.js";
8
- let he = null;
9
- function Zt(e) {
10
- he = e;
8
+ let _e = null;
9
+ function tn(e) {
10
+ _e = e;
11
11
  }
12
- function W() {
13
- if (he === null)
12
+ function j() {
13
+ if (_e === null)
14
14
  throw new Error(
15
15
  "[admin] AdminClient is not registered. Call setAdminClient(...) before using stores."
16
16
  );
17
- return he;
17
+ return _e;
18
18
  }
19
19
  function Ii() {
20
- he = null;
20
+ _e = null;
21
21
  }
22
22
  function Bi() {
23
- return he !== null;
23
+ return _e !== null;
24
24
  }
25
- const Ge = ae("admin-theme", () => {
25
+ const He = le("admin-theme", () => {
26
26
  const e = E("light"), t = E(["light", "dark"]), n = p(() => e.value === "dark");
27
27
  function o(u) {
28
28
  e.value = u.theme, t.value = u.availableThemes, i(u.theme);
@@ -38,7 +38,7 @@ const Ge = ae("admin-theme", () => {
38
38
  const f = e.value;
39
39
  a(u);
40
40
  try {
41
- await W().post("/system/setTheme", { theme: u });
41
+ await j().post("/system/setTheme", { theme: u });
42
42
  } catch (v) {
43
43
  throw a(f), v;
44
44
  }
@@ -54,10 +54,10 @@ const Ge = ae("admin-theme", () => {
54
54
  applyLocal: a,
55
55
  setTheme: l
56
56
  };
57
- }), en = ["aria-label", "aria-pressed"], tn = ["data-icon"], mt = /* @__PURE__ */ L({
57
+ }), nn = ["aria-label", "aria-pressed"], an = ["data-icon"], ft = /* @__PURE__ */ L({
58
58
  __name: "ThemeToggle",
59
59
  setup(e) {
60
- const t = Ge(), n = p(() => t.current === "dark"), o = p(() => n.value ? "sun" : "moon"), a = p(
60
+ const t = He(), n = p(() => t.current === "dark"), o = p(() => n.value ? "sun" : "moon"), a = p(
61
61
  () => n.value ? "Переключить на светлую тему" : "Переключить на тёмную тему"
62
62
  );
63
63
  async function l() {
@@ -74,10 +74,10 @@ const Ge = ae("admin-theme", () => {
74
74
  d("span", {
75
75
  class: "admin-topbar__icon",
76
76
  "data-icon": o.value
77
- }, null, 8, tn)
78
- ], 8, en));
77
+ }, null, 8, an)
78
+ ], 8, nn));
79
79
  }
80
- }), He = ae("admin-locale", () => {
80
+ }), Xe = le("admin-locale", () => {
81
81
  const e = E("ru"), t = E(["ru", "en"]);
82
82
  function n(i) {
83
83
  e.value = i.locale, t.value = i.availableLocales, l(i.locale);
@@ -93,7 +93,7 @@ const Ge = ae("admin-theme", () => {
93
93
  const u = e.value;
94
94
  o(i);
95
95
  try {
96
- await W().post("/system/setLocale", { locale: i });
96
+ await j().post("/system/setLocale", { locale: i });
97
97
  } catch (f) {
98
98
  throw o(u), f;
99
99
  }
@@ -101,7 +101,7 @@ const Ge = ae("admin-theme", () => {
101
101
  function l(i) {
102
102
  typeof document < "u" && document.documentElement && document.documentElement.setAttribute("lang", i);
103
103
  try {
104
- W().setLocale(i);
104
+ j().setLocale(i);
105
105
  } catch {
106
106
  }
107
107
  }
@@ -112,21 +112,21 @@ const Ge = ae("admin-theme", () => {
112
112
  applyLocal: o,
113
113
  setLocale: a
114
114
  };
115
- }), nn = {
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" },
119
119
  "aria-label": "Сменить локаль"
120
- }, ft = /* @__PURE__ */ L({
120
+ }, vt = /* @__PURE__ */ L({
121
121
  __name: "LocaleSwitcher",
122
122
  setup(e) {
123
- const t = He();
123
+ const t = Xe();
124
124
  async function n(o) {
125
125
  o !== t.current && await t.setLocale(o);
126
126
  }
127
- return (o, a) => (s(), w(r(ot), null, {
127
+ return (o, a) => (s(), w(r(rt), null, {
128
128
  trigger: m(() => [
129
- d("button", nn, [
129
+ d("button", ln, [
130
130
  a[0] || (a[0] = d("span", {
131
131
  class: "admin-topbar__icon",
132
132
  "data-icon": "globe"
@@ -135,7 +135,7 @@ const Ge = ae("admin-theme", () => {
135
135
  ])
136
136
  ]),
137
137
  default: m(() => [
138
- (s(!0), c(T, null, I(r(t).available, (l) => (s(), w(r(De), {
138
+ (s(!0), c(T, null, B(r(t).available, (l) => (s(), w(r(Oe), {
139
139
  key: l,
140
140
  onClick: (i) => n(l)
141
141
  }, {
@@ -148,46 +148,46 @@ const Ge = ae("admin-theme", () => {
148
148
  _: 1
149
149
  }));
150
150
  }
151
- }), Xe = ae("admin-notifications", () => {
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 W().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 W().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 W().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
- await W().post("/notifications/markAllAsRead");
183
- const R = (/* @__PURE__ */ new Date()).toISOString();
182
+ await j().post("/notifications/markAllAsRead");
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 W().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 Ge = ae("admin-theme", () => {
207
207
  markAllAsRead: b,
208
208
  destroy: S
209
209
  };
210
- }), an = ["title"], ln = /* @__PURE__ */ L({
210
+ }), sn = ["title"], on = /* @__PURE__ */ L({
211
211
  __name: "NotificationBell",
212
212
  setup(e) {
213
- const t = Xe(), n = p(() => {
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(Ut), {
217
+ return (o, a) => (s(), w(r(Ft), {
218
218
  to: "/notifications",
219
219
  class: "admin-topbar__icon-btn",
220
220
  "aria-label": "Уведомления"
@@ -228,13 +228,13 @@ const Ge = ae("admin-theme", () => {
228
228
  key: 0,
229
229
  class: "admin-topbar__bell-badge",
230
230
  title: `Непрочитанных: ${r(t).unreadCount}`
231
- }, h(n.value), 9, an)) : F("", !0)
231
+ }, h(n.value), 9, sn)) : F("", !0)
232
232
  ]),
233
233
  _: 1
234
234
  }));
235
235
  }
236
236
  });
237
- class Z extends Error {
237
+ class ee extends Error {
238
238
  status;
239
239
  errorKey;
240
240
  payload;
@@ -242,22 +242,22 @@ class Z extends Error {
242
242
  super(n.message ?? `API error ${t}`), this.name = "ApiError", this.status = t, this.errorKey = n.errorKey ?? "unknown", this.payload = n;
243
243
  }
244
244
  }
245
- class vt extends Z {
245
+ class pt extends ee {
246
246
  constructor(t) {
247
247
  super(401, t), this.name = "UnauthenticatedError";
248
248
  }
249
249
  }
250
- class sn extends Z {
250
+ class rn extends ee {
251
251
  constructor(t) {
252
252
  super(403, t), this.name = "ForbiddenError";
253
253
  }
254
254
  }
255
- class on extends Z {
255
+ class un extends ee {
256
256
  constructor(t) {
257
257
  super(404, t), this.name = "NotFoundError";
258
258
  }
259
259
  }
260
- class Le extends Z {
260
+ class Pe extends ee {
261
261
  /** Field-keyed map of error messages. */
262
262
  fields;
263
263
  constructor(t) {
@@ -271,26 +271,26 @@ class Le extends Z {
271
271
  return null;
272
272
  }
273
273
  }
274
- class Pe extends Error {
274
+ class Te extends Error {
275
275
  constructor(t = "Network error") {
276
276
  super(t), this.name = "NetworkError";
277
277
  }
278
278
  }
279
- function Ye(e, t) {
279
+ function Qe(e, t) {
280
280
  switch (e) {
281
281
  case 401:
282
- return new vt(t);
282
+ return new pt(t);
283
283
  case 403:
284
- return new sn(t);
284
+ return new rn(t);
285
285
  case 404:
286
- return new on(t);
286
+ return new un(t);
287
287
  case 422:
288
- return new Le(t);
288
+ return new Pe(t);
289
289
  default:
290
- return new Z(e, t);
290
+ return new ee(e, t);
291
291
  }
292
292
  }
293
- const J = ae("admin-auth", () => {
293
+ const Y = le("admin-auth", () => {
294
294
  const e = E(null), t = E([]), n = E(null), o = p(() => e.value !== null), a = p(() => n.value !== null);
295
295
  function l(_) {
296
296
  e.value = _.user, t.value = _.permissions;
@@ -309,7 +309,7 @@ const J = ae("admin-auth", () => {
309
309
  return _.every(i);
310
310
  }
311
311
  async function v(_) {
312
- const g = W();
312
+ const g = j();
313
313
  try {
314
314
  const U = await g.post(
315
315
  "/auth/login",
@@ -317,7 +317,7 @@ const J = ae("admin-auth", () => {
317
317
  );
318
318
  return U?.user && (e.value = U.user), Array.isArray(U?.permissions) && (t.value = U.permissions), n.value = null, "authenticated";
319
319
  } catch (U) {
320
- if (U instanceof Z && U.errorKey === "two_factor_required") {
320
+ if (U instanceof ee && U.errorKey === "two_factor_required") {
321
321
  const P = U.payload.challenge_token;
322
322
  return n.value = {
323
323
  challengeToken: typeof P == "string" ? P : "",
@@ -330,7 +330,7 @@ const J = ae("admin-auth", () => {
330
330
  async function b(_) {
331
331
  if (n.value === null)
332
332
  throw new Error("No pending 2FA challenge");
333
- const U = await W().post("/auth/twoFactorChallenge", {
333
+ const U = await j().post("/auth/twoFactorChallenge", {
334
334
  challenge_token: n.value.challengeToken,
335
335
  code: _
336
336
  });
@@ -339,17 +339,17 @@ const J = ae("admin-auth", () => {
339
339
  async function S(_) {
340
340
  if (n.value === null)
341
341
  throw new Error("No pending 2FA challenge");
342
- const U = await W().post("/auth/twoFactorRecovery", {
342
+ const U = await j().post("/auth/twoFactorRecovery", {
343
343
  challenge_token: n.value.challengeToken,
344
344
  recovery_code: _
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() {
352
- const _ = W();
351
+ async function A() {
352
+ const _ = j();
353
353
  try {
354
354
  await _.post("/auth/logout");
355
355
  } finally {
@@ -372,19 +372,19 @@ const J = ae("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
- }), rn = {
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
- }, un = /* @__PURE__ */ L({
384
+ }, cn = /* @__PURE__ */ L({
385
385
  __name: "UserMenu",
386
386
  setup(e) {
387
- const t = J(), n = le();
387
+ const t = Y(), n = se();
388
388
  async function o() {
389
389
  try {
390
390
  await t.logout();
@@ -395,10 +395,10 @@ const J = ae("admin-auth", () => {
395
395
  function a() {
396
396
  n.push({ name: "admin.profile" });
397
397
  }
398
- return (l, i) => (s(), w(r(ot), null, {
398
+ return (l, i) => (s(), w(r(rt), null, {
399
399
  trigger: m(() => [
400
- d("button", rn, [
401
- x(r(rt), {
400
+ d("button", dn, [
401
+ x(r(ut), {
402
402
  src: r(t).user?.avatar ?? void 0,
403
403
  name: r(t).user?.name ?? "?",
404
404
  alt: r(t).user?.name ?? "User",
@@ -407,14 +407,14 @@ const J = ae("admin-auth", () => {
407
407
  ])
408
408
  ]),
409
409
  default: m(() => [
410
- x(r(De), { onClick: a }, {
410
+ x(r(Oe), { onClick: a }, {
411
411
  default: m(() => [...i[0] || (i[0] = [
412
412
  C("Профиль", -1)
413
413
  ])]),
414
414
  _: 1
415
415
  }),
416
- x(r(Ft)),
417
- x(r(De), {
416
+ x(r(Pt)),
417
+ x(r(Oe), {
418
418
  variant: "danger",
419
419
  onClick: o
420
420
  }, {
@@ -427,10 +427,10 @@ const J = ae("admin-auth", () => {
427
427
  _: 1
428
428
  }));
429
429
  }
430
- }), dn = { class: "admin-topbar" }, cn = { class: "admin-topbar__breadcrumbs" }, mn = {
430
+ }), mn = { class: "admin-topbar" }, fn = { class: "admin-topbar__breadcrumbs" }, vn = {
431
431
  key: 0,
432
432
  class: "sep"
433
- }, fn = /* @__PURE__ */ L({
433
+ }, pn = /* @__PURE__ */ L({
434
434
  __name: "AdminTopBar",
435
435
  props: {
436
436
  breadcrumbs: { default: () => [] },
@@ -439,7 +439,7 @@ const J = ae("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", dn, [
442
+ return (l, i) => (s(), c("header", mn, [
443
443
  e.showCollapseToggle ? (s(), c("button", {
444
444
  key: 0,
445
445
  type: "button",
@@ -452,13 +452,13 @@ const J = ae("admin-auth", () => {
452
452
  "data-icon": "panel-left"
453
453
  }, null, -1)
454
454
  ])])) : F("", !0),
455
- d("div", cn, [
456
- H(l.$slots, "breadcrumbs", {}, () => [
457
- (s(!0), c(T, null, I(e.breadcrumbs, (u, f) => (s(), c(T, { key: f }, [
458
- f > 0 ? (s(), c("span", mn, "›")) : F("", !0),
459
- (s(), w(ue(u.to ? "a" : "span"), {
455
+ d("div", fn, [
456
+ X(l.$slots, "breadcrumbs", {}, () => [
457
+ (s(!0), c(T, null, B(e.breadcrumbs, (u, f) => (s(), c(T, { key: f }, [
458
+ f > 0 ? (s(), c("span", vn, "›")) : F("", !0),
459
+ (s(), w(de(u.to ? "a" : "span"), {
460
460
  href: typeof u.to == "string" ? u.to : void 0,
461
- class: Y(f === a.value ? "cur" : "")
461
+ class: Q(f === a.value ? "cur" : "")
462
462
  }, {
463
463
  default: m(() => [
464
464
  C(h(u.label), 1)
@@ -469,7 +469,7 @@ const J = ae("admin-auth", () => {
469
469
  ])
470
470
  ]),
471
471
  i[3] || (i[3] = d("div", { class: "admin-topbar__spacer" }, null, -1)),
472
- H(l.$slots, "search", {}, () => [
472
+ X(l.$slots, "search", {}, () => [
473
473
  i[2] || (i[2] = d("div", {
474
474
  class: "admin-topbar__search",
475
475
  role: "button",
@@ -483,41 +483,41 @@ const J = ae("admin-auth", () => {
483
483
  d("kbd", null, "⌘K")
484
484
  ], -1))
485
485
  ]),
486
- H(l.$slots, "actions"),
487
- x(ln),
488
- x(mt),
486
+ X(l.$slots, "actions"),
487
+ x(on),
489
488
  x(ft),
490
- x(un)
489
+ x(vt),
490
+ x(cn)
491
491
  ]));
492
492
  }
493
- }), vn = ae("admin-menu", () => {
493
+ }), gt = le("admin-menu", () => {
494
494
  const e = E([]), t = E(!1), n = E(null), o = E(!1), a = p(() => {
495
- const v = J(), b = (S) => {
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) {
517
517
  if (o.value && !v) return e.value;
518
518
  t.value = !0, n.value = null;
519
519
  try {
520
- const S = await W().get("/system/menu");
520
+ const S = await j().get("/system/menu");
521
521
  return e.value = Array.isArray(S.items) ? S.items : [], o.value = !0, e.value;
522
522
  } catch (b) {
523
523
  throw n.value = b instanceof Error ? b : new Error(String(b)), b;
@@ -542,16 +542,16 @@ const J = ae("admin-auth", () => {
542
542
  setItems: u,
543
543
  reset: f
544
544
  };
545
- }), pn = { class: "admin-sidebar-brand" }, gn = { class: "admin-sidebar-brand__mark" }, hn = {
545
+ }), gn = { class: "admin-sidebar-brand" }, hn = { class: "admin-sidebar-brand__mark" }, _n = {
546
546
  key: 0,
547
547
  class: "admin-sidebar-brand__name"
548
- }, _n = {
548
+ }, yn = {
549
549
  key: 0,
550
550
  class: "admin-sidebar-tenant"
551
- }, yn = { class: "admin-sidebar-foot" }, bn = {
551
+ }, bn = { class: "admin-sidebar-foot" }, kn = {
552
552
  key: 0,
553
553
  class: "admin-sidebar-foot__text"
554
- }, kn = ["href"], wn = /* @__PURE__ */ L({
554
+ }, wn = ["href"], $n = /* @__PURE__ */ L({
555
555
  __name: "AdminSidebar",
556
556
  props: {
557
557
  collapsed: { type: Boolean, default: !1 },
@@ -562,41 +562,41 @@ const J = ae("admin-auth", () => {
562
562
  docsUrl: { default: null }
563
563
  },
564
564
  setup(e) {
565
- const t = vn(), n = _e(), 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 () => wt("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
574
  if (u.routeName) return { name: u.routeName };
575
575
  if (u.url) return u.url;
576
576
  }
577
- return (u, f) => (s(), w(r(Lt), { collapsed: e.collapsed }, qe({
577
+ return (u, f) => (s(), w(r(Tt), { collapsed: e.collapsed }, De({
578
578
  header: m(() => [
579
- d("div", pn, [
580
- d("div", gn, h(e.brandMark), 1),
581
- e.collapsed ? F("", !0) : (s(), c("div", hn, h(e.brandName), 1))
579
+ d("div", gn, [
580
+ d("div", hn, h(e.brandMark), 1),
581
+ e.collapsed ? F("", !0) : (s(), c("div", _n, h(e.brandName), 1))
582
582
  ]),
583
- e.tenant && !e.collapsed ? (s(), c("div", _n, [
583
+ e.tenant && !e.collapsed ? (s(), c("div", yn, [
584
584
  d("span", null, h(e.tenant.label), 1),
585
585
  d("b", null, h(e.tenant.name), 1)
586
586
  ])) : F("", !0)
587
587
  ]),
588
588
  nav: m(() => [
589
- (s(!0), c(T, null, I(o.value, (v, b) => (s(), w(r(Pt), {
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, I(v.items, (S) => (s(), w(r(Tt), {
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),
598
598
  badge: S.badge ?? void 0
599
- }, qe({
599
+ }, De({
600
600
  default: m(() => [
601
601
  C(" " + h(S.label), 1)
602
602
  ]),
@@ -605,7 +605,7 @@ const J = ae("admin-auth", () => {
605
605
  S.icon ? {
606
606
  name: "icon",
607
607
  fn: m(() => [
608
- (s(), w(ue(l(S.icon))))
608
+ (s(), w(de(l(S.icon))))
609
609
  ]),
610
610
  key: "0"
611
611
  } : void 0
@@ -619,24 +619,24 @@ const J = ae("admin-auth", () => {
619
619
  e.version || e.docsUrl ? {
620
620
  name: "footer",
621
621
  fn: m(() => [
622
- d("div", yn, [
623
- e.version ? (s(), c("span", bn, h(e.version), 1)) : F("", !0),
622
+ d("div", bn, [
623
+ e.version ? (s(), c("span", kn, h(e.version), 1)) : F("", !0),
624
624
  e.docsUrl ? (s(), c("a", {
625
625
  key: 1,
626
626
  href: e.docsUrl,
627
627
  class: "admin-sidebar-foot__text admin-sidebar-foot__link"
628
- }, " Docs ", 8, kn)) : F("", !0)
628
+ }, " Docs ", 8, wn)) : F("", !0)
629
629
  ])
630
630
  ]),
631
631
  key: "0"
632
632
  } : void 0
633
633
  ]), 1032, ["collapsed"]));
634
634
  }
635
- }), $n = { class: "admin-shell-root" }, xn = {
635
+ }), xn = { class: "admin-shell-root" }, Cn = {
636
636
  key: 0,
637
637
  class: "admin-impersonation-banner",
638
638
  role: "status"
639
- }, Be = "data-admin-impersonating", Cn = /* @__PURE__ */ L({
639
+ }, Ve = "data-admin-impersonating", Sn = /* @__PURE__ */ L({
640
640
  __name: "AdminShell",
641
641
  props: {
642
642
  collapsed: { type: Boolean, default: !1 },
@@ -651,16 +651,16 @@ const J = ae("admin-auth", () => {
651
651
  function l() {
652
652
  o("exit-impersonation");
653
653
  }
654
- return ne(
654
+ return ae(
655
655
  () => n.impersonation,
656
656
  (i) => {
657
- typeof document > "u" || (i !== null ? document.documentElement.setAttribute(Be, "true") : document.documentElement.removeAttribute(Be));
657
+ typeof document > "u" || (i !== null ? document.documentElement.setAttribute(Ve, "true") : document.documentElement.removeAttribute(Ve));
658
658
  },
659
659
  { immediate: !0 }
660
- ), $t(() => {
661
- typeof document < "u" && document.documentElement.removeAttribute(Be);
662
- }), (i, u) => (s(), c("div", $n, [
663
- e.impersonation ? (s(), c("div", xn, [
660
+ ), Ct(() => {
661
+ typeof document < "u" && document.documentElement.removeAttribute(Ve);
662
+ }), (i, u) => (s(), c("div", xn, [
663
+ e.impersonation ? (s(), c("div", Cn, [
664
664
  d("span", null, [
665
665
  u[1] || (u[1] = C(" Вы вошли как ", -1)),
666
666
  d("b", null, h(e.impersonation.asName), 1),
@@ -672,36 +672,36 @@ const J = ae("admin-auth", () => {
672
672
  onClick: l
673
673
  }, " Выйти из режима ")
674
674
  ])) : F("", !0),
675
- x(r(Mt), {
675
+ x(r(It), {
676
676
  "model-value": e.collapsed,
677
677
  "onUpdate:modelValue": a
678
678
  }, {
679
679
  sidebar: m(() => [
680
- H(i.$slots, "sidebar", {}, () => [
681
- x(wn, { collapsed: e.collapsed }, null, 8, ["collapsed"])
680
+ X(i.$slots, "sidebar", {}, () => [
681
+ x($n, { collapsed: e.collapsed }, null, 8, ["collapsed"])
682
682
  ])
683
683
  ]),
684
684
  header: m(() => [
685
- H(i.$slots, "topbar", {}, () => [
686
- x(fn, {
685
+ X(i.$slots, "topbar", {}, () => [
686
+ x(pn, {
687
687
  onToggleSidebar: u[0] || (u[0] = (f) => a(!e.collapsed))
688
688
  })
689
689
  ])
690
690
  ]),
691
691
  default: m(() => [
692
- H(i.$slots, "default")
692
+ X(i.$slots, "default")
693
693
  ]),
694
694
  _: 3
695
695
  }, 8, ["model-value"])
696
696
  ]));
697
697
  }
698
- }), Sn = /* @__PURE__ */ L({
698
+ }), An = /* @__PURE__ */ L({
699
699
  __name: "AdminApp",
700
700
  setup(e) {
701
- const t = _e(), n = p(() => !(t.meta?.fullscreen === !0 || t.meta?.kind === "auth" || t.name === "admin.notFound"));
701
+ const t = ye(), n = p(() => !(t.meta?.fullscreen === !0 || t.meta?.kind === "auth" || t.name === "admin.notFound"));
702
702
  return (o, a) => {
703
- const l = lt("router-view");
704
- return n.value ? (s(), w(Cn, { key: 0 }, {
703
+ const l = st("router-view");
704
+ return n.value ? (s(), w(Sn, { key: 0 }, {
705
705
  default: m(() => [
706
706
  x(l)
707
707
  ]),
@@ -709,7 +709,7 @@ const J = ae("admin-auth", () => {
709
709
  })) : (s(), w(l, { key: 1 }));
710
710
  };
711
711
  }
712
- }), se = ae("admin-manifest", () => {
712
+ }), ie = le("admin-manifest", () => {
713
713
  const e = E(null), t = E(!1), n = E(null), o = p(() => e.value !== null), a = p(() => e.value?.version ?? null), l = p(() => e.value?.resources ?? []), i = p(() => e.value?.screens ?? []), u = p(() => e.value?.settings ?? []), f = p(() => e.value?.plugins ?? []);
714
714
  function v(_) {
715
715
  return l.value.find((g) => g.slug === _) ?? null;
@@ -720,12 +720,12 @@ const J = ae("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;
727
727
  try {
728
- const U = await W().get("/system/manifest");
728
+ const U = await j().get("/system/manifest");
729
729
  return e.value = U, U;
730
730
  } catch (g) {
731
731
  throw n.value = g instanceof Error ? g : new Error(String(g)), g;
@@ -733,7 +733,7 @@ const J = ae("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,31 +752,31 @@ const J = ae("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
- }), An = { class: "admin-home" }, Rn = { class: "admin-home__title" }, Un = {
758
+ }), Rn = { class: "admin-home" }, Un = { class: "admin-home__title" }, En = {
759
759
  key: 0,
760
760
  class: "admin-home__resources"
761
- }, En = { class: "admin-home__grid" }, Fn = ["onClick"], Ln = { class: "admin-home__card-label" }, Pn = { class: "admin-home__card-slug" }, Tn = /* @__PURE__ */ L({
761
+ }, Fn = { class: "admin-home__grid" }, Ln = ["onClick"], Pn = { class: "admin-home__card-label" }, Tn = { class: "admin-home__card-slug" }, Mn = /* @__PURE__ */ L({
762
762
  __name: "HomePage",
763
763
  setup(e) {
764
- const t = se(), n = J(), o = le(), a = p(() => n.user?.name ?? ""), l = p(() => t.manifest?.resources ?? []);
765
- return (i, u) => (s(), c("div", An, [
766
- x(r(q), {
764
+ const t = ie(), n = Y(), o = se(), a = p(() => n.user?.name ?? ""), l = p(() => t.manifest?.resources ?? []);
765
+ return (i, u) => (s(), c("div", Rn, [
766
+ x(r(D), {
767
767
  padding: "lg",
768
768
  class: "admin-home__hero"
769
769
  }, {
770
770
  default: m(() => [
771
- d("h1", Rn, "Добро пожаловать" + h(a.value ? ", " + a.value : ""), 1),
771
+ d("h1", Un, "Добро пожаловать" + h(a.value ? ", " + a.value : ""), 1),
772
772
  u[0] || (u[0] = d("p", { class: "admin-home__lead" }, " Админ-панель готова. Воспользуйтесь сайдбаром или переходите к ресурсам ниже. ", -1))
773
773
  ]),
774
774
  _: 1
775
775
  }),
776
- l.value.length ? (s(), c("section", Un, [
776
+ l.value.length ? (s(), c("section", En, [
777
777
  u[1] || (u[1] = d("h2", { class: "admin-home__heading" }, "Ресурсы", -1)),
778
- d("ul", En, [
779
- (s(!0), c(T, null, I(l.value, (f) => (s(), c("li", {
778
+ d("ul", Fn, [
779
+ (s(!0), c(T, null, B(l.value, (f) => (s(), c("li", {
780
780
  key: f.slug
781
781
  }, [
782
782
  d("button", {
@@ -784,27 +784,27 @@ const J = ae("admin-auth", () => {
784
784
  class: "admin-home__card",
785
785
  onClick: (v) => r(o).push({ name: `admin.resource.${f.slug}.index` })
786
786
  }, [
787
- d("span", Ln, h(f.label), 1),
788
- d("span", Pn, h(f.slug), 1)
789
- ], 8, Fn)
787
+ d("span", Pn, h(f.label), 1),
788
+ d("span", Tn, h(f.slug), 1)
789
+ ], 8, Ln)
790
790
  ]))), 128))
791
791
  ])
792
792
  ])) : F("", !0)
793
793
  ]));
794
794
  }
795
- }), Mn = { class: "admin-status-page" }, Nn = /* @__PURE__ */ L({
795
+ }), Nn = { class: "admin-status-page" }, In = /* @__PURE__ */ L({
796
796
  __name: "ForbiddenPage",
797
797
  setup(e) {
798
- const t = le();
799
- return (n, o) => (s(), c("div", Mn, [
800
- x(r(q), {
798
+ const t = se();
799
+ return (n, o) => (s(), c("div", Nn, [
800
+ x(r(D), {
801
801
  padding: "lg",
802
802
  class: "admin-status-page__card"
803
803
  }, {
804
804
  default: m(() => [
805
805
  o[2] || (o[2] = d("h1", { class: "admin-status-page__code" }, "403", -1)),
806
806
  o[3] || (o[3] = d("p", { class: "admin-status-page__message" }, "Доступ запрещён.", -1)),
807
- x(r(B), {
807
+ x(r(V), {
808
808
  variant: "ghost",
809
809
  onClick: o[0] || (o[0] = (a) => r(t).replace({ name: "admin.home" }))
810
810
  }, {
@@ -818,19 +818,19 @@ const J = ae("admin-auth", () => {
818
818
  })
819
819
  ]));
820
820
  }
821
- }), In = { class: "admin-status-page" }, Bn = /* @__PURE__ */ L({
821
+ }), Bn = { class: "admin-status-page" }, Vn = /* @__PURE__ */ L({
822
822
  __name: "NotFoundPage",
823
823
  setup(e) {
824
- const t = le();
825
- return (n, o) => (s(), c("div", In, [
826
- x(r(q), {
824
+ const t = se();
825
+ return (n, o) => (s(), c("div", Bn, [
826
+ x(r(D), {
827
827
  padding: "lg",
828
828
  class: "admin-status-page__card"
829
829
  }, {
830
830
  default: m(() => [
831
831
  o[2] || (o[2] = d("h1", { class: "admin-status-page__code" }, "404", -1)),
832
832
  o[3] || (o[3] = d("p", { class: "admin-status-page__message" }, "Страница не найдена.", -1)),
833
- x(r(B), {
833
+ x(r(V), {
834
834
  variant: "ghost",
835
835
  onClick: o[0] || (o[0] = (a) => r(t).replace({ name: "admin.home" }))
836
836
  }, {
@@ -844,38 +844,38 @@ const J = ae("admin-auth", () => {
844
844
  })
845
845
  ]));
846
846
  }
847
- }), Vn = { class: "admin-settings-page" }, zn = { class: "admin-settings-page__title" }, qn = {
847
+ }), zn = { class: "admin-settings-page" }, qn = { class: "admin-settings-page__title" }, Dn = {
848
848
  key: 0,
849
849
  class: "admin-settings-page__hint"
850
- }, Dn = {
850
+ }, On = {
851
851
  key: 1,
852
852
  class: "admin-settings-page__debug"
853
- }, On = /* @__PURE__ */ L({
853
+ }, Wn = /* @__PURE__ */ L({
854
854
  __name: "SettingsPage",
855
855
  setup(e) {
856
- const t = _e(), n = se(), o = p(() => String(t.params.slug ?? "")), a = p(() => n.manifest?.settings?.find((l) => l.slug === o.value) ?? null);
857
- return (l, i) => (s(), c("div", Vn, [
858
- x(r(q), { padding: "lg" }, {
856
+ const t = ye(), n = ie(), o = p(() => String(t.params.slug ?? "")), a = p(() => n.manifest?.settings?.find((l) => l.slug === o.value) ?? null);
857
+ return (l, i) => (s(), c("div", zn, [
858
+ x(r(D), { padding: "lg" }, {
859
859
  default: m(() => [
860
- d("h1", zn, h(a.value?.label ?? o.value), 1),
861
- a.value ? (s(), c("pre", Dn, h(JSON.stringify(a.value.fields, null, 2)), 1)) : (s(), c("p", qn, " Settings «" + h(o.value) + "» не найдено в manifest'е. ", 1))
860
+ d("h1", qn, h(a.value?.label ?? o.value), 1),
861
+ a.value ? (s(), c("pre", On, h(JSON.stringify(a.value.fields, null, 2)), 1)) : (s(), c("p", Dn, " Settings «" + h(o.value) + "» не найдено в manifest'е. ", 1))
862
862
  ]),
863
863
  _: 1
864
864
  })
865
865
  ]));
866
866
  }
867
- }), Wn = { class: "admin-status-page" }, jn = { class: "admin-status-page__title" }, Kn = { class: "admin-status-page__hint" }, Gn = /* @__PURE__ */ L({
867
+ }), jn = { class: "admin-status-page" }, Kn = { class: "admin-status-page__title" }, Gn = { class: "admin-status-page__hint" }, Hn = /* @__PURE__ */ L({
868
868
  __name: "UnknownScreenPage",
869
869
  setup(e) {
870
- const t = _e(), n = p(() => String(t.params.slug ?? "")), o = p(() => String(t.meta?.title ?? n.value));
871
- return (a, l) => (s(), c("div", Wn, [
872
- x(r(q), {
870
+ const t = ye(), n = p(() => String(t.params.slug ?? "")), o = p(() => String(t.meta?.title ?? n.value));
871
+ return (a, l) => (s(), c("div", jn, [
872
+ x(r(D), {
873
873
  padding: "lg",
874
874
  class: "admin-status-page__card"
875
875
  }, {
876
876
  default: m(() => [
877
- d("h1", jn, h(o.value), 1),
878
- d("p", Kn, [
877
+ d("h1", Kn, h(o.value), 1),
878
+ d("p", Gn, [
879
879
  C(" Это заглушка для screen «" + h(n.value) + "». Передайте свой компонент через ", 1),
880
880
  l[0] || (l[0] = d("code", null, "createAdminApp(" + h("{") + " pages: " + h("{") + " screen: MyScreen " + h("}") + " " + h("}") + ")", -1)),
881
881
  l[1] || (l[1] = C(". ", -1))
@@ -885,10 +885,10 @@ const J = ae("admin-auth", () => {
885
885
  })
886
886
  ]));
887
887
  }
888
- }), Hn = { class: "admin-auth-card__row" }, Xn = ["href"], Jn = {
888
+ }), Xn = { class: "admin-auth-card__row" }, Jn = ["href"], Yn = {
889
889
  key: 1,
890
890
  style: { "text-align": "center", "font-size": "var(--uid-font-size-xs)", color: "var(--uid-text-secondary)", "padding-top": "4px" }
891
- }, Yn = ["href"], Qn = /* @__PURE__ */ L({
891
+ }, Qn = ["href"], Zn = /* @__PURE__ */ L({
892
892
  __name: "LoginForm",
893
893
  props: {
894
894
  forgotUrl: { default: null },
@@ -897,30 +897,30 @@ const J = ae("admin-auth", () => {
897
897
  },
898
898
  emits: ["success"],
899
899
  setup(e, { emit: t }) {
900
- const n = t, o = J(), 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() {
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 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 Le ? (v.value = R.fields, f.value = R.firstFieldMessage()) : R instanceof Pe ? f.value = "Нет соединения с сервером" : R instanceof Z ? 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: Oe(A, ["prevent"])
921
+ onSubmit: We(R, ["prevent"])
922
922
  }, [
923
- f.value ? (s(), w(r(Q), {
923
+ f.value ? (s(), w(r(Z), {
924
924
  key: 0,
925
925
  variant: "danger",
926
926
  class: "admin-auth-card__alert",
@@ -931,7 +931,7 @@ const J = ae("admin-auth", () => {
931
931
  ]),
932
932
  _: 1
933
933
  })) : F("", !0),
934
- x(r(re), {
934
+ x(r(ue), {
935
935
  modelValue: a.value,
936
936
  "onUpdate:modelValue": _[0] || (_[0] = (g) => a.value = g),
937
937
  type: "email",
@@ -943,7 +943,7 @@ const J = ae("admin-auth", () => {
943
943
  error: b.value,
944
944
  name: "email"
945
945
  }, null, 8, ["modelValue", "disabled", "error"]),
946
- x(r(re), {
946
+ x(r(ue), {
947
947
  modelValue: l.value,
948
948
  "onUpdate:modelValue": _[1] || (_[1] = (g) => l.value = g),
949
949
  type: "password",
@@ -954,8 +954,8 @@ const J = ae("admin-auth", () => {
954
954
  error: S.value,
955
955
  name: "password"
956
956
  }, null, 8, ["modelValue", "disabled", "error"]),
957
- d("div", Hn, [
958
- x(r(Se), {
957
+ d("div", Xn, [
958
+ x(r(Ae), {
959
959
  modelValue: i.value,
960
960
  "onUpdate:modelValue": _[2] || (_[2] = (g) => i.value = g),
961
961
  disabled: u.value
@@ -969,9 +969,9 @@ const J = ae("admin-auth", () => {
969
969
  key: 0,
970
970
  href: e.forgotUrl,
971
971
  class: "admin-auth-card__link"
972
- }, " Забыли пароль? ", 8, Xn)) : F("", !0)
972
+ }, " Забыли пароль? ", 8, Jn)) : F("", !0)
973
973
  ]),
974
- x(r(B), {
974
+ x(r(V), {
975
975
  type: "submit",
976
976
  variant: "primary",
977
977
  size: "lg",
@@ -983,43 +983,43 @@ const J = ae("admin-auth", () => {
983
983
  ]),
984
984
  _: 1
985
985
  }, 8, ["loading", "disabled"]),
986
- e.ssoLinkLabel && e.ssoUrl ? (s(), c("div", Jn, [
986
+ e.ssoLinkLabel && e.ssoUrl ? (s(), c("div", Yn, [
987
987
  _[4] || (_[4] = C(" или войдите через ", -1)),
988
988
  d("a", {
989
989
  href: e.ssoUrl,
990
990
  class: "admin-auth-card__link"
991
- }, h(e.ssoLinkLabel), 9, Yn)
991
+ }, h(e.ssoLinkLabel), 9, Qn)
992
992
  ])) : F("", !0)
993
993
  ], 32));
994
994
  }
995
- }), Zn = ["value", "disabled", "aria-label", "onInput", "onKeydown"], ea = { class: "admin-auth-card__row" }, ta = /* @__PURE__ */ L({
995
+ }), ea = ["value", "disabled", "aria-label", "onInput", "onKeydown"], ta = { class: "admin-auth-card__row" }, na = /* @__PURE__ */ L({
996
996
  __name: "TwoFactorForm",
997
997
  emits: ["success", "cancel"],
998
998
  setup(e, { emit: t }) {
999
- const n = t, o = J(), 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($, V) {
1001
- V instanceof HTMLInputElement && (u.value[$] = V);
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
+ z instanceof HTMLInputElement && (u.value[$] = z);
1002
1002
  }
1003
- function _($, V) {
1004
- const K = V.target, D = K.value.replace(/\D/g, "").slice(-1);
1005
- l.value[$] = D, K.value = D, D && $ < l.value.length - 1 && Ie(() => u.value[$ + 1]?.focus()), S.value.length === l.value.length && P();
1003
+ function _($, z) {
1004
+ const G = z.target, O = G.value.replace(/\D/g, "").slice(-1);
1005
+ l.value[$] = O, G.value = O, O && $ < l.value.length - 1 && Be(() => u.value[$ + 1]?.focus()), S.value.length === l.value.length && P();
1006
1006
  }
1007
- function g($, V) {
1008
- V.key === "Backspace" && !l.value[$] && $ > 0 ? Ie(() => u.value[$ - 1]?.focus()) : V.key === "ArrowLeft" && $ > 0 ? (u.value[$ - 1]?.focus(), V.preventDefault()) : V.key === "ArrowRight" && $ < l.value.length - 1 && (u.value[$ + 1]?.focus(), V.preventDefault());
1007
+ function g($, z) {
1008
+ z.key === "Backspace" && !l.value[$] && $ > 0 ? Be(() => u.value[$ - 1]?.focus()) : z.key === "ArrowLeft" && $ > 0 ? (u.value[$ - 1]?.focus(), z.preventDefault()) : z.key === "ArrowRight" && $ < l.value.length - 1 && (u.value[$ + 1]?.focus(), z.preventDefault());
1009
1009
  }
1010
1010
  function U($) {
1011
- const K = ($.clipboardData?.getData("text") ?? "").replace(/\D/g, "").slice(0, l.value.length);
1012
- if (K.length !== 0) {
1011
+ const G = ($.clipboardData?.getData("text") ?? "").replace(/\D/g, "").slice(0, l.value.length);
1012
+ if (G.length !== 0) {
1013
1013
  $.preventDefault();
1014
- for (let D = 0; D < l.value.length; D++)
1015
- l.value[D] = K[D] ?? "";
1016
- Ie(() => {
1017
- u.value[Math.min(K.length, l.value.length - 1)]?.focus(), K.length === l.value.length && P();
1014
+ for (let O = 0; O < l.value.length; O++)
1015
+ l.value[O] = G[O] ?? "";
1016
+ Be(() => {
1017
+ u.value[Math.min(G.length, l.value.length - 1)]?.focus(), G.length === l.value.length && P();
1018
1018
  });
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")
@@ -1030,7 +1030,7 @@ const J = ae("admin-auth", () => {
1030
1030
  }
1031
1031
  n("success");
1032
1032
  } catch ($) {
1033
- $ instanceof Le ? v.value = $.firstFieldMessage() ?? "Неверный код" : $ instanceof Pe ? v.value = "Нет соединения с сервером" : $ instanceof Z ? v.value = $.message || "Не удалось проверить код" : v.value = $.message;
1033
+ $ instanceof Pe ? v.value = $.firstFieldMessage() ?? "Неверный код" : $ instanceof Te ? v.value = "Нет соединения с сервером" : $ instanceof ee ? v.value = $.message || "Не удалось проверить код" : v.value = $.message;
1034
1034
  } finally {
1035
1035
  f.value = !1;
1036
1036
  }
@@ -1042,12 +1042,12 @@ const J = ae("admin-auth", () => {
1042
1042
  function y() {
1043
1043
  a.value = a.value === "totp" ? "recovery" : "totp", v.value = null;
1044
1044
  }
1045
- return ($, V) => (s(), c("form", {
1045
+ return ($, z) => (s(), c("form", {
1046
1046
  class: "admin-auth-card__bd",
1047
1047
  novalidate: "",
1048
- onSubmit: Oe(P, ["prevent"])
1048
+ onSubmit: We(P, ["prevent"])
1049
1049
  }, [
1050
- v.value ? (s(), w(r(Q), {
1050
+ v.value ? (s(), w(r(Z), {
1051
1051
  key: 0,
1052
1052
  variant: "danger",
1053
1053
  class: "admin-auth-card__alert",
@@ -1058,7 +1058,7 @@ const J = ae("admin-auth", () => {
1058
1058
  ]),
1059
1059
  _: 1
1060
1060
  })) : F("", !0),
1061
- b.value !== null ? (s(), w(r(Q), {
1061
+ b.value !== null ? (s(), w(r(Z), {
1062
1062
  key: 1,
1063
1063
  variant: "info",
1064
1064
  class: "admin-auth-card__alert",
@@ -1074,43 +1074,43 @@ const J = ae("admin-auth", () => {
1074
1074
  class: "admin-code-input",
1075
1075
  onPaste: U
1076
1076
  }, [
1077
- (s(!0), c(T, null, I(l.value, (K, D) => (s(), c("input", {
1078
- key: D,
1077
+ (s(!0), c(T, null, B(l.value, (G, O) => (s(), c("input", {
1078
+ key: O,
1079
1079
  ref_for: !0,
1080
- ref: (M) => R(D, M),
1081
- value: l.value[D],
1080
+ ref: (M) => A(O, M),
1081
+ value: l.value[O],
1082
1082
  type: "text",
1083
1083
  inputmode: "numeric",
1084
1084
  autocomplete: "one-time-code",
1085
1085
  maxlength: "1",
1086
1086
  disabled: f.value,
1087
- "aria-label": `Цифра ${D + 1}`,
1088
- onInput: (M) => _(D, M),
1089
- onKeydown: (M) => g(D, M)
1090
- }, null, 40, Zn))), 128))
1091
- ], 32)) : (s(), w(r(re), {
1087
+ "aria-label": `Цифра ${O + 1}`,
1088
+ onInput: (M) => _(O, M),
1089
+ onKeydown: (M) => g(O, M)
1090
+ }, null, 40, ea))), 128))
1091
+ ], 32)) : (s(), w(r(ue), {
1092
1092
  key: 3,
1093
1093
  modelValue: i.value,
1094
- "onUpdate:modelValue": V[0] || (V[0] = (K) => i.value = K),
1094
+ "onUpdate:modelValue": z[0] || (z[0] = (G) => i.value = G),
1095
1095
  type: "text",
1096
1096
  label: "Recovery-код",
1097
1097
  autocomplete: "one-time-code",
1098
1098
  disabled: f.value,
1099
1099
  name: "recovery-code"
1100
1100
  }, null, 8, ["modelValue", "disabled"])),
1101
- x(r(B), {
1101
+ x(r(V), {
1102
1102
  type: "submit",
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)
1110
1110
  ]),
1111
1111
  _: 1
1112
1112
  }, 8, ["loading", "disabled"]),
1113
- d("div", ea, [
1113
+ d("div", ta, [
1114
1114
  d("button", {
1115
1115
  type: "button",
1116
1116
  class: "admin-auth-card__link",
@@ -1130,13 +1130,13 @@ const J = ae("admin-auth", () => {
1130
1130
  ])
1131
1131
  ], 32));
1132
1132
  }
1133
- }), na = { class: "admin-auth-page" }, aa = {
1133
+ }), aa = { class: "admin-auth-page" }, la = {
1134
1134
  key: 0,
1135
1135
  class: "admin-auth-page__corner"
1136
- }, la = { class: "admin-auth-card__hd" }, sa = ["src", "alt"], ia = {
1136
+ }, sa = { class: "admin-auth-card__hd" }, ia = ["src", "alt"], oa = {
1137
1137
  key: 1,
1138
1138
  "aria-hidden": "true"
1139
- }, oa = { key: 2 }, ra = { class: "admin-auth-card__title" }, ua = { class: "admin-auth-card__sub" }, da = /* @__PURE__ */ L({
1139
+ }, ra = { key: 2 }, ua = { class: "admin-auth-card__title" }, da = { class: "admin-auth-card__sub" }, ca = /* @__PURE__ */ L({
1140
1140
  __name: "LoginPage",
1141
1141
  props: {
1142
1142
  brandName: { default: "Laravel Admin" },
@@ -1150,7 +1150,7 @@ const J = ae("admin-auth", () => {
1150
1150
  showCornerActions: { type: Boolean, default: !0 }
1151
1151
  },
1152
1152
  setup(e) {
1153
- const t = e, n = J(), o = le(), a = _e();
1153
+ const t = e, n = Y(), o = se(), a = ye();
1154
1154
  async function l() {
1155
1155
  const i = a.query[t.redirectQueryKey];
1156
1156
  if (typeof i == "string" && i.length > 0 && i.startsWith("/")) {
@@ -1159,41 +1159,41 @@ const J = ae("admin-auth", () => {
1159
1159
  }
1160
1160
  await o.push({ name: t.homeRouteName });
1161
1161
  }
1162
- return ne(
1162
+ return ae(
1163
1163
  () => n.isAuthenticated,
1164
1164
  (i) => {
1165
1165
  i && l();
1166
1166
  }
1167
- ), Re(() => {
1167
+ ), Ue(() => {
1168
1168
  n.isAuthenticated && l();
1169
- }), (i, u) => (s(), c("div", na, [
1170
- e.showCornerActions ? (s(), c("div", aa, [
1171
- x(mt),
1172
- x(ft)
1169
+ }), (i, u) => (s(), c("div", aa, [
1170
+ e.showCornerActions ? (s(), c("div", la, [
1171
+ x(ft),
1172
+ x(vt)
1173
1173
  ])) : F("", !0),
1174
- x(r(q), {
1175
- class: Y(["admin-auth-card", r(n).isChallengePending ? "admin-auth-card--wide" : ""]),
1174
+ x(r(D), {
1175
+ class: Q(["admin-auth-card", r(n).isChallengePending ? "admin-auth-card--wide" : ""]),
1176
1176
  padding: "none"
1177
1177
  }, {
1178
1178
  default: m(() => [
1179
- d("div", la, [
1179
+ d("div", sa, [
1180
1180
  d("div", {
1181
- class: Y(["admin-auth-card__logo", r(n).isChallengePending ? "admin-auth-card__logo--accent" : ""])
1181
+ class: Q(["admin-auth-card__logo", r(n).isChallengePending ? "admin-auth-card__logo--accent" : ""])
1182
1182
  }, [
1183
1183
  e.brandLogo && !r(n).isChallengePending ? (s(), c("img", {
1184
1184
  key: 0,
1185
1185
  src: e.brandLogo,
1186
1186
  alt: e.brandName
1187
- }, null, 8, sa)) : r(n).isChallengePending ? (s(), c("span", ia, "🛡")) : (s(), c("span", oa, h(e.brandMark), 1))
1187
+ }, null, 8, ia)) : r(n).isChallengePending ? (s(), c("span", oa, "🛡")) : (s(), c("span", ra, h(e.brandMark), 1))
1188
1188
  ], 2),
1189
- d("div", ra, [
1189
+ d("div", ua, [
1190
1190
  r(n).isChallengePending ? (s(), c(T, { key: 0 }, [
1191
1191
  C("Двухфакторная проверка")
1192
1192
  ], 64)) : (s(), c(T, { key: 1 }, [
1193
1193
  C(h(e.brandName), 1)
1194
1194
  ], 64))
1195
1195
  ]),
1196
- d("div", ua, [
1196
+ d("div", da, [
1197
1197
  r(n).isChallengePending ? (s(), c(T, { key: 0 }, [
1198
1198
  C(" Введите 6-значный код из приложения-аутентификатора ")
1199
1199
  ], 64)) : (s(), c(T, { key: 1 }, [
@@ -1201,13 +1201,13 @@ const J = ae("admin-auth", () => {
1201
1201
  ], 64))
1202
1202
  ])
1203
1203
  ]),
1204
- r(n).isChallengePending ? (s(), w(ta, {
1204
+ r(n).isChallengePending ? (s(), w(na, {
1205
1205
  key: 0,
1206
1206
  onSuccess: u[0] || (u[0] = () => {
1207
1207
  }),
1208
1208
  onCancel: u[1] || (u[1] = () => {
1209
1209
  })
1210
- })) : (s(), w(Qn, {
1210
+ })) : (s(), w(Zn, {
1211
1211
  key: 1,
1212
1212
  "forgot-url": e.forgotUrl,
1213
1213
  "sso-link-label": e.ssoLinkLabel,
@@ -1220,8 +1220,8 @@ const J = ae("admin-auth", () => {
1220
1220
  }, 8, ["class"])
1221
1221
  ]));
1222
1222
  }
1223
- }), Qe = { page: 1, per_page: 20, total: 0, last_page: 1 }, ca = ae("admin-resource-index", () => {
1224
- const e = E(null), t = E([]), n = E({ ...Qe }), 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((z) => v.value.has(g(z))) ? "all" : "mixed");
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), 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
  }
@@ -1229,30 +1229,30 @@ const J = ae("admin-auth", () => {
1229
1229
  e.value !== N && (e.value = N, P());
1230
1230
  }
1231
1231
  function P() {
1232
- t.value = [], n.value = { ...Qe }, o.value = !1, a.value = null, l.value = "", i.value = {}, u.value = null, f.value = "asc", v.value = /* @__PURE__ */ new Set();
1232
+ t.value = [], n.value = { ...Ze }, o.value = !1, a.value = null, l.value = "", i.value = {}, u.value = null, f.value = "asc", v.value = /* @__PURE__ */ new Set();
1233
1233
  }
1234
1234
  function k(N = {}) {
1235
- const z = {
1235
+ const q = {
1236
1236
  page: N.page ?? n.value.page,
1237
1237
  per_page: N.per_page ?? n.value.per_page
1238
- }, ke = N.search ?? l.value;
1239
- ke && (z.q = ke);
1240
- const pe = N.sort ?? u.value;
1241
- pe && (z.order = [{ column: pe, direction: N.direction ?? f.value }]);
1242
- const bt = N.filters ?? i.value, Ne = {};
1243
- for (const [kt, ie] of Object.entries(bt))
1244
- ie == null || ie === "" || (Ne[kt] = Array.isArray(ie) ? ie.join(",") : ie);
1245
- return Object.keys(Ne).length > 0 && (z.filters = Ne), z;
1238
+ }, we = N.search ?? l.value;
1239
+ we && (q.q = we);
1240
+ const ge = N.sort ?? u.value;
1241
+ ge && (q.order = [{ column: ge, direction: N.direction ?? f.value }]);
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
+ return Object.keys(Ie).length > 0 && (q.filters = Ie), q;
1246
1246
  }
1247
1247
  async function y(N = {}) {
1248
1248
  if (!e.value)
1249
1249
  throw new Error("useResourceIndexStore.load() called before setSlug()");
1250
1250
  o.value = !0, a.value = null;
1251
1251
  try {
1252
- const z = W(), ke = k(N), pe = await z.post(`/${e.value}/search`, ke);
1253
- t.value = pe.data, n.value = pe.meta;
1254
- } catch (z) {
1255
- throw a.value = z instanceof Error ? z : new Error(String(z)), z;
1252
+ const q = j(), we = k(N), ge = await q.post(`/${e.value}/search`, we);
1253
+ t.value = ge.data, n.value = ge.meta;
1254
+ } catch (q) {
1255
+ throw a.value = q instanceof Error ? q : new Error(String(q)), q;
1256
1256
  } finally {
1257
1257
  o.value = !1;
1258
1258
  }
@@ -1260,38 +1260,38 @@ const J = ae("admin-auth", () => {
1260
1260
  async function $(N) {
1261
1261
  l.value = N, n.value.page = 1, await y();
1262
1262
  }
1263
- async function V(N, z) {
1264
- z == null || z === "" ? delete i.value[N] : i.value[N] = z, n.value.page = 1, await y();
1263
+ async function z(N, q) {
1264
+ q == null || q === "" ? delete i.value[N] : i.value[N] = q, n.value.page = 1, await y();
1265
1265
  }
1266
- async function K() {
1266
+ async function G() {
1267
1267
  i.value = {}, n.value.page = 1, await y();
1268
1268
  }
1269
- async function D(N, z = "asc") {
1270
- u.value = N, f.value = z, await y();
1269
+ async function O(N, q = "asc") {
1270
+ u.value = N, f.value = q, await y();
1271
1271
  }
1272
1272
  async function M(N) {
1273
1273
  u.value === N ? f.value = f.value === "asc" ? "desc" : "asc" : (u.value = N, f.value = "asc"), await y();
1274
1274
  }
1275
- async function O(N) {
1275
+ async function W(N) {
1276
1276
  n.value.page = N, await y();
1277
1277
  }
1278
- function G(N) {
1279
- const z = new Set(v.value);
1280
- z.has(N) ? z.delete(N) : z.add(N), v.value = z;
1278
+ function H(N) {
1279
+ const q = new Set(v.value);
1280
+ q.has(N) ? q.delete(N) : q.add(N), v.value = q;
1281
1281
  }
1282
- function j() {
1282
+ function K() {
1283
1283
  if (_.value === "all") {
1284
1284
  v.value = /* @__PURE__ */ new Set();
1285
1285
  return;
1286
1286
  }
1287
1287
  const N = new Set(v.value);
1288
- for (const z of t.value) N.add(g(z));
1288
+ for (const q of t.value) N.add(g(q));
1289
1289
  v.value = N;
1290
1290
  }
1291
- function ee() {
1291
+ function te() {
1292
1292
  v.value = /* @__PURE__ */ new Set();
1293
1293
  }
1294
- function yt(N) {
1294
+ function kt(N) {
1295
1295
  return v.value.has(N);
1296
1296
  }
1297
1297
  return {
@@ -1308,8 +1308,8 @@ const J = ae("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
@@ -1317,37 +1317,37 @@ const J = ae("admin-auth", () => {
1317
1317
  reset: P,
1318
1318
  load: y,
1319
1319
  setSearch: $,
1320
- setFilter: V,
1321
- clearFilters: K,
1322
- setSort: D,
1320
+ setFilter: z,
1321
+ clearFilters: G,
1322
+ setSort: O,
1323
1323
  toggleSort: M,
1324
- setPage: O,
1325
- toggleRow: G,
1326
- toggleAllOnPage: j,
1327
- clearSelection: ee,
1328
- isSelected: yt,
1324
+ setPage: W,
1325
+ toggleRow: H,
1326
+ toggleAllOnPage: K,
1327
+ clearSelection: te,
1328
+ isSelected: kt,
1329
1329
  rowId: g
1330
1330
  };
1331
- }), ma = { class: "admin-page admin-resource-index" }, fa = { class: "admin-page__hd" }, va = { class: "admin-page__title-wrap" }, pa = { class: "admin-page__title" }, ga = {
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 = {
1332
1332
  key: 0,
1333
1333
  class: "admin-page__count"
1334
- }, ha = { class: "admin-page__actions" }, _a = {
1334
+ }, _a = { class: "admin-page__actions" }, ya = {
1335
1335
  key: 0,
1336
1336
  class: "admin-bulk-toolbar",
1337
1337
  role: "toolbar"
1338
- }, ya = { class: "admin-bulk-toolbar__count" }, ba = {
1338
+ }, ba = { class: "admin-bulk-toolbar__count" }, ka = {
1339
1339
  key: 1,
1340
1340
  class: "admin-filter-bar"
1341
- }, ka = ["value"], wa = {
1341
+ }, wa = ["value"], $a = {
1342
1342
  key: 2,
1343
1343
  class: "admin-resource-index__loading"
1344
- }, $a = {
1344
+ }, xa = {
1345
1345
  key: 5,
1346
1346
  class: "admin-resource-index__table"
1347
- }, xa = { class: "admin-resource-index__select-header" }, Ca = { class: "admin-resource-index__select-overlay" }, Sa = ["onClick"], Aa = {
1347
+ }, Ca = { class: "admin-resource-index__select-header" }, Sa = { class: "admin-resource-index__select-overlay" }, Aa = ["onClick"], Ra = {
1348
1348
  key: 6,
1349
1349
  class: "admin-resource-index__footer"
1350
- }, Ra = /* @__PURE__ */ L({
1350
+ }, Ua = /* @__PURE__ */ L({
1351
1351
  __name: "ResourceIndexPage",
1352
1352
  props: {
1353
1353
  slug: {},
@@ -1358,7 +1358,7 @@ const J = ae("admin-auth", () => {
1358
1358
  },
1359
1359
  emits: ["bulk-action", "row-click"],
1360
1360
  setup(e, { emit: t }) {
1361
- const n = e, o = t, a = ca(), l = se(), i = p(() => l.getResource(n.slug)), u = p(
1361
+ const n = e, o = t, a = ma(), l = ie(), i = p(() => l.getResource(n.slug)), u = p(
1362
1362
  () => n.title ?? i.value?.label ?? n.slug
1363
1363
  ), f = p(() => (i.value?.columns ?? []).map((k) => {
1364
1364
  const y = k;
@@ -1373,11 +1373,11 @@ const J = ae("admin-auth", () => {
1373
1373
  const P = a.meta.total;
1374
1374
  return P === 0 ? "" : `${a.items.length} из ${P}`;
1375
1375
  });
1376
- Re(async () => {
1376
+ Ue(async () => {
1377
1377
  a.setSlug(n.slug), l.manifest === null && await l.load().catch(() => {
1378
1378
  }), await a.load().catch(() => {
1379
1379
  });
1380
- }), ne(
1380
+ }), ae(
1381
1381
  () => n.slug,
1382
1382
  async (P, k) => {
1383
1383
  P !== k && (a.setSlug(P), await a.load().catch(() => {
@@ -1390,10 +1390,10 @@ const J = ae("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) {
@@ -1406,11 +1406,11 @@ const J = ae("admin-auth", () => {
1406
1406
  await a.load().catch(() => {
1407
1407
  });
1408
1408
  }
1409
- return (P, k) => (s(), c("section", ma, [
1410
- d("header", fa, [
1411
- d("div", va, [
1412
- d("h1", pa, h(u.value), 1),
1413
- e.subtitle || v.value ? (s(), c("div", ga, [
1409
+ return (P, k) => (s(), c("section", fa, [
1410
+ d("header", va, [
1411
+ d("div", pa, [
1412
+ d("h1", ga, h(u.value), 1),
1413
+ e.subtitle || v.value ? (s(), c("div", ha, [
1414
1414
  e.subtitle ? (s(), c(T, { key: 0 }, [
1415
1415
  C(h(e.subtitle), 1)
1416
1416
  ], 64)) : F("", !0),
@@ -1422,9 +1422,9 @@ const J = ae("admin-auth", () => {
1422
1422
  ], 64)) : F("", !0)
1423
1423
  ])) : F("", !0)
1424
1424
  ]),
1425
- d("div", ha, [
1426
- H(P.$slots, "actions"),
1427
- e.createRouteName ? (s(), w(r(B), {
1425
+ d("div", _a, [
1426
+ X(P.$slots, "actions"),
1427
+ e.createRouteName ? (s(), w(r(V), {
1428
1428
  key: 0,
1429
1429
  variant: "primary",
1430
1430
  onClick: k[0] || (k[0] = (y) => P.$router.push({ name: e.createRouteName }))
@@ -1436,13 +1436,13 @@ const J = ae("admin-auth", () => {
1436
1436
  })) : F("", !0)
1437
1437
  ])
1438
1438
  ]),
1439
- r(a).hasSelection ? (s(), c("div", _a, [
1440
- d("span", ya, [
1439
+ r(a).hasSelection ? (s(), c("div", ya, [
1440
+ d("span", ba, [
1441
1441
  k[8] || (k[8] = C(" Выбрано ", -1)),
1442
1442
  d("b", null, h(r(a).selectedCount), 1)
1443
1443
  ]),
1444
1444
  k[14] || (k[14] = d("span", { class: "admin-bulk-toolbar__divider" }, null, -1)),
1445
- x(r(B), {
1445
+ x(r(V), {
1446
1446
  size: "sm",
1447
1447
  variant: "ghost",
1448
1448
  onClick: k[1] || (k[1] = (y) => g("publish"))
@@ -1452,7 +1452,7 @@ const J = ae("admin-auth", () => {
1452
1452
  ])]),
1453
1453
  _: 1
1454
1454
  }),
1455
- x(r(B), {
1455
+ x(r(V), {
1456
1456
  size: "sm",
1457
1457
  variant: "ghost",
1458
1458
  onClick: k[2] || (k[2] = (y) => g("archive"))
@@ -1462,7 +1462,7 @@ const J = ae("admin-auth", () => {
1462
1462
  ])]),
1463
1463
  _: 1
1464
1464
  }),
1465
- x(r(B), {
1465
+ x(r(V), {
1466
1466
  size: "sm",
1467
1467
  variant: "ghost",
1468
1468
  onClick: k[3] || (k[3] = (y) => g("export"))
@@ -1472,7 +1472,7 @@ const J = ae("admin-auth", () => {
1472
1472
  ])]),
1473
1473
  _: 1
1474
1474
  }),
1475
- x(r(B), {
1475
+ x(r(V), {
1476
1476
  size: "sm",
1477
1477
  variant: "danger",
1478
1478
  onClick: k[4] || (k[4] = (y) => g("delete"))
@@ -1483,7 +1483,7 @@ const J = ae("admin-auth", () => {
1483
1483
  _: 1
1484
1484
  }),
1485
1485
  k[15] || (k[15] = d("span", { class: "admin-bulk-toolbar__spacer" }, null, -1)),
1486
- x(r(B), {
1486
+ x(r(V), {
1487
1487
  size: "sm",
1488
1488
  variant: "ghost",
1489
1489
  onClick: r(a).clearSelection
@@ -1493,20 +1493,20 @@ const J = ae("admin-auth", () => {
1493
1493
  ])]),
1494
1494
  _: 1
1495
1495
  }, 8, ["onClick"])
1496
- ])) : (s(), c("div", ba, [
1496
+ ])) : (s(), c("div", ka, [
1497
1497
  d("input", {
1498
1498
  value: r(a).search,
1499
1499
  type: "search",
1500
1500
  placeholder: "Поиск…",
1501
1501
  class: "admin-filter-bar__search",
1502
- onKeydown: k[5] || (k[5] = xt((y) => r(a).setSearch(y.target.value), ["enter"]))
1503
- }, null, 40, ka),
1504
- H(P.$slots, "filters", {
1502
+ onKeydown: k[5] || (k[5] = St((y) => r(a).setSearch(y.target.value), ["enter"]))
1503
+ }, null, 40, wa),
1504
+ X(P.$slots, "filters", {
1505
1505
  filters: r(a).filters,
1506
1506
  setFilter: r(a).setFilter
1507
1507
  }),
1508
1508
  k[17] || (k[17] = d("span", { class: "admin-filter-bar__spacer" }, null, -1)),
1509
- Object.keys(r(a).filters).length > 0 ? (s(), w(r(B), {
1509
+ Object.keys(r(a).filters).length > 0 ? (s(), w(r(V), {
1510
1510
  key: 0,
1511
1511
  size: "sm",
1512
1512
  variant: "ghost",
@@ -1518,19 +1518,19 @@ const J = ae("admin-auth", () => {
1518
1518
  _: 1
1519
1519
  }, 8, ["onClick"])) : F("", !0)
1520
1520
  ])),
1521
- r(a).loading ? (s(), c("div", wa, [
1522
- (s(), c(T, null, I(8, (y) => x(r(We), {
1521
+ r(a).loading ? (s(), c("div", $a, [
1522
+ (s(), c(T, null, B(8, (y) => x(r(je), {
1523
1523
  key: y,
1524
1524
  height: "40px"
1525
1525
  })), 64))
1526
- ])) : r(a).hasError ? (s(), w(r(Nt), {
1526
+ ])) : r(a).hasError ? (s(), w(r(Bt), {
1527
1527
  key: 3,
1528
1528
  title: "Не удалось загрузить данные",
1529
1529
  description: r(a).error?.message ?? "Попробуйте обновить страницу.",
1530
1530
  class: "admin-resource-index__state"
1531
1531
  }, {
1532
1532
  actions: m(() => [
1533
- x(r(B), {
1533
+ x(r(V), {
1534
1534
  variant: "primary",
1535
1535
  onClick: U
1536
1536
  }, {
@@ -1541,14 +1541,14 @@ const J = ae("admin-auth", () => {
1541
1541
  })
1542
1542
  ]),
1543
1543
  _: 1
1544
- }, 8, ["description"])) : r(a).isEmpty ? (s(), w(r(It), {
1544
+ }, 8, ["description"])) : r(a).isEmpty ? (s(), w(r(Vt), {
1545
1545
  key: 4,
1546
1546
  title: "Пока пусто",
1547
1547
  description: "Создайте первую запись или измените фильтры.",
1548
1548
  class: "admin-resource-index__state"
1549
1549
  }, {
1550
1550
  actions: m(() => [
1551
- e.createRouteName ? (s(), w(r(B), {
1551
+ e.createRouteName ? (s(), w(r(V), {
1552
1552
  key: 0,
1553
1553
  variant: "primary",
1554
1554
  onClick: k[6] || (k[6] = (y) => P.$router.push({ name: e.createRouteName }))
@@ -1560,52 +1560,52 @@ const J = ae("admin-auth", () => {
1560
1560
  })) : F("", !0)
1561
1561
  ]),
1562
1562
  _: 1
1563
- })) : (s(), c("div", $a, [
1564
- d("div", xa, [
1565
- x(r(Se), {
1563
+ })) : (s(), c("div", xa, [
1564
+ d("div", Ca, [
1565
+ x(r(Ae), {
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
- x(r(je), {
1572
+ x(r(Ke), {
1573
1573
  columns: f.value,
1574
1574
  data: r(a).items,
1575
1575
  "sort-key": r(a).sortKey ?? "",
1576
1576
  "sort-direction": r(a).sortDirection,
1577
1577
  "onUpdate:sortKey": b
1578
- }, qe({ _: 2 }, [
1579
- I(f.value, (y) => ({
1578
+ }, De({ _: 2 }, [
1579
+ B(f.value, (y) => ({
1580
1580
  name: `cell-${y.key}`,
1581
1581
  fn: m(($) => [
1582
- H(P.$slots, `cell-${y.key}`, { row: $ }, () => [
1582
+ X(P.$slots, `cell-${y.key}`, { row: $ }, () => [
1583
1583
  C(h($?.[y.key]), 1)
1584
1584
  ])
1585
1585
  ])
1586
1586
  }))
1587
1587
  ]), 1032, ["columns", "data", "sort-key", "sort-direction"]),
1588
- d("div", Ca, [
1589
- (s(!0), c(T, null, I(r(a).items, (y) => (s(), c("div", {
1588
+ d("div", Sa, [
1589
+ (s(!0), c(T, null, B(r(a).items, (y) => (s(), c("div", {
1590
1590
  key: String(r(a).rowId(y)),
1591
- class: Y([
1591
+ class: Q([
1592
1592
  "admin-resource-index__row",
1593
1593
  { "admin-resource-index__row--selected": r(a).isSelected(r(a).rowId(y)) }
1594
1594
  ]),
1595
1595
  onClick: ($) => _(y)
1596
1596
  }, [
1597
- x(r(Se), {
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)),
1601
- onClick: k[7] || (k[7] = Oe(() => {
1600
+ "onUpdate:modelValue": ($) => A(r(a).rowId(y)),
1601
+ onClick: k[7] || (k[7] = We(() => {
1602
1602
  }, ["stop"]))
1603
1603
  }, null, 8, ["model-value", "aria-label", "onUpdate:modelValue"])
1604
- ], 10, Sa))), 128))
1604
+ ], 10, Aa))), 128))
1605
1605
  ])
1606
1606
  ])),
1607
- !r(a).loading && !r(a).hasError && !r(a).isEmpty ? (s(), c("footer", Aa, [
1608
- x(r(Bt), {
1607
+ !r(a).loading && !r(a).hasError && !r(a).isEmpty ? (s(), c("footer", Ra, [
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,74 +1614,74 @@ const J = ae("admin-auth", () => {
1614
1614
  ])) : F("", !0)
1615
1615
  ]));
1616
1616
  }
1617
- }), pt = ae("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(() => {
1619
- const M = o.value, O = a.value, G = /* @__PURE__ */ new Set([...Object.keys(M), ...Object.keys(O)]);
1620
- for (const j of G)
1621
- if (!Object.is(M[j], O[j]))
1622
- if (typeof M[j] == "object" || typeof O[j] == "object") {
1623
- if (JSON.stringify(M[j]) !== JSON.stringify(O[j])) return !0;
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
+ const M = o.value, W = a.value, H = /* @__PURE__ */ new Set([...Object.keys(M), ...Object.keys(W)]);
1620
+ for (const K of H)
1621
+ if (!Object.is(M[K], W[K]))
1622
+ if (typeof M[K] == "object" || typeof W[K] == "object") {
1623
+ if (JSON.stringify(M[K]) !== JSON.stringify(W[K])) return !0;
1624
1624
  } else
1625
1625
  return !0;
1626
1626
  return !1;
1627
1627
  });
1628
- function g(M, O) {
1629
- for (const G of Object.keys(M)) delete M[G];
1630
- Object.assign(M, O);
1628
+ function g(M, W) {
1629
+ for (const H of Object.keys(M)) delete M[H];
1630
+ Object.assign(M, W);
1631
1631
  }
1632
1632
  function U() {
1633
1633
  g(o.value, {}), g(a.value, {}), l.value = {}, i.value = !1, u.value = !1, f.value = !1, v.value = null, n.value = null;
1634
1634
  }
1635
- function P(M, O = {}) {
1636
- e.value = M, t.value = "create", n.value = null, g(o.value, O), g(a.value, O), l.value = {}, v.value = null;
1635
+ function P(M, W = {}) {
1636
+ e.value = M, t.value = "create", n.value = null, g(o.value, W), g(a.value, W), l.value = {}, v.value = null;
1637
1637
  }
1638
- async function k(M, O, G = "edit") {
1639
- e.value = M, t.value = G, n.value = O, i.value = !0, v.value = null, l.value = {};
1638
+ async function k(M, W, H = "edit") {
1639
+ e.value = M, t.value = H, n.value = W, i.value = !0, v.value = null, l.value = {};
1640
1640
  try {
1641
- const ee = await W().get(`/${M}/read`, {
1642
- params: { id: O }
1641
+ const te = await j().get(`/${M}/read`, {
1642
+ params: { id: W }
1643
1643
  });
1644
- g(o.value, ee.record), g(a.value, ee.record);
1645
- } catch (j) {
1646
- throw v.value = j instanceof Error ? j : new Error(String(j)), j;
1644
+ g(o.value, te.record), g(a.value, te.record);
1645
+ } catch (K) {
1646
+ throw v.value = K instanceof Error ? K : new Error(String(K)), K;
1647
1647
  } finally {
1648
1648
  i.value = !1;
1649
1649
  }
1650
1650
  }
1651
- function y(M, O) {
1652
- if (o.value[M] = O, l.value[M]) {
1653
- const G = { ...l.value };
1654
- delete G[M], l.value = G;
1651
+ function y(M, W) {
1652
+ if (o.value[M] = W, l.value[M]) {
1653
+ const H = { ...l.value };
1654
+ delete H[M], l.value = H;
1655
1655
  }
1656
1656
  }
1657
1657
  function $(M) {
1658
1658
  l.value = { ...M };
1659
1659
  }
1660
- function V() {
1660
+ function z() {
1661
1661
  l.value = {};
1662
1662
  }
1663
- async function K() {
1663
+ async function G() {
1664
1664
  if (!e.value) throw new Error("useResourceFormStore.save() before slug set");
1665
1665
  if (u.value) throw new Error("Already saving");
1666
1666
  u.value = !0, v.value = null, l.value = {};
1667
1667
  try {
1668
- const M = W(), O = t.value === "create" ? `/${e.value}/create` : `/${e.value}/update`, G = t.value === "create" ? o.value : { id: n.value, ...o.value }, j = await M.post(O, G), ee = j.record?.id ?? j.id;
1669
- if (ee === void 0)
1668
+ const M = j(), W = t.value === "create" ? `/${e.value}/create` : `/${e.value}/update`, H = t.value === "create" ? o.value : { id: n.value, ...o.value }, K = await M.post(W, H), te = K.record?.id ?? K.id;
1669
+ if (te === void 0)
1670
1670
  throw new Error("save: backend response does not contain record.id");
1671
- return n.value = ee, g(a.value, { ...o.value }), t.value = "edit", ee;
1671
+ return n.value = te, g(a.value, { ...o.value }), t.value = "edit", te;
1672
1672
  } catch (M) {
1673
- throw M instanceof Le ? l.value = { ...M.fields } : (M instanceof Z || M instanceof Error) && (v.value = M), M;
1673
+ throw M instanceof Pe ? l.value = { ...M.fields } : (M instanceof ee || M instanceof Error) && (v.value = M), M;
1674
1674
  } finally {
1675
1675
  u.value = !1;
1676
1676
  }
1677
1677
  }
1678
- async function D() {
1678
+ async function O() {
1679
1679
  if (!e.value || n.value === null)
1680
1680
  throw new Error("Nothing to delete");
1681
1681
  if (f.value) throw new Error("Already deleting");
1682
1682
  f.value = !0, v.value = null;
1683
1683
  try {
1684
- await W().post(`/${e.value}/delete`, { id: n.value });
1684
+ await j().post(`/${e.value}/delete`, { id: n.value });
1685
1685
  } catch (M) {
1686
1686
  throw M instanceof Error && (v.value = M), M;
1687
1687
  } finally {
@@ -1703,21 +1703,21 @@ const J = ae("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,
1712
1712
  load: k,
1713
1713
  setField: y,
1714
1714
  setErrors: $,
1715
- clearErrors: V,
1716
- save: K,
1717
- destroy: D
1715
+ clearErrors: z,
1716
+ save: G,
1717
+ destroy: O
1718
1718
  };
1719
1719
  });
1720
- function Te() {
1720
+ function Me() {
1721
1721
  const e = /* @__PURE__ */ new Map();
1722
1722
  return {
1723
1723
  register(t, n) {
@@ -1741,21 +1741,21 @@ function Te() {
1741
1741
  }
1742
1742
  };
1743
1743
  }
1744
- const ce = Te(), me = Te(), Vi = ce.register, gt = ce.get, zi = ce.has, qi = ce.list, Di = me.register, Ze = me.get, Oi = me.has, Wi = me.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
- ce.clear(), me.clear();
1746
+ me.clear(), fe.clear();
1747
1747
  }
1748
- function Ua(e) {
1749
- e.fields && ce.registerBundle(e.fields), e.layouts && me.registerBundle(e.layouts);
1748
+ function Ea(e) {
1749
+ e.fields && me.registerBundle(e.fields), e.layouts && fe.registerBundle(e.layouts);
1750
1750
  }
1751
- const ht = /* @__PURE__ */ L({
1751
+ const yt = /* @__PURE__ */ L({
1752
1752
  __name: "UnknownField",
1753
1753
  props: {
1754
1754
  type: {},
1755
1755
  name: {}
1756
1756
  },
1757
1757
  setup(e) {
1758
- return (t, n) => (s(), w(r(Q), { variant: "warning" }, {
1758
+ return (t, n) => (s(), w(r(Z), { variant: "warning" }, {
1759
1759
  title: m(() => [
1760
1760
  C("Неизвестный тип поля: " + h(e.type), 1)
1761
1761
  ]),
@@ -1770,23 +1770,23 @@ const ht = /* @__PURE__ */ L({
1770
1770
  _: 1
1771
1771
  }));
1772
1772
  }
1773
- }), _t = /* @__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(() => gt(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(ue(n.value), Ue(Ee({ key: 0 }, o.value)), null, 16)) : (s(), w(ht, {
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
1787
1787
  }, null, 8, ["type", "name"]));
1788
1788
  }
1789
- }), be = /* @__PURE__ */ L({
1789
+ }), ke = /* @__PURE__ */ L({
1790
1790
  __name: "LayoutRenderer",
1791
1791
  props: {
1792
1792
  node: {}
@@ -1796,31 +1796,31 @@ const ht = /* @__PURE__ */ L({
1796
1796
  if (t.node.kind === "field")
1797
1797
  return { kind: "field" };
1798
1798
  if (t.node.kind === "layout") {
1799
- const i = Ze(t.node.type);
1799
+ const i = et(t.node.type);
1800
1800
  return i ? { kind: "layout", component: i } : { kind: "unknown" };
1801
1801
  }
1802
- const l = Ze(t.node.type);
1803
- return l ? { kind: "layout", component: l } : gt(t.node.type) ? { kind: "field" } : { kind: "unknown" };
1802
+ const l = et(t.node.type);
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(ue(n.value.component), Ue(Ee({ key: 0 }, o.value)), null, 16)) : n.value.kind === "field" ? (s(), w(_t, {
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(ht, {
1811
+ }, null, 8, ["node"])) : (s(), w(yt, {
1812
1812
  key: 2,
1813
1813
  type: e.node.type,
1814
1814
  name: e.node.name
1815
1815
  }, null, 8, ["type", "name"]));
1816
1816
  }
1817
- }), Ea = { class: "admin-page admin-resource-form" }, Fa = { class: "admin-page__hd" }, La = { class: "admin-page__title-wrap" }, Pa = { class: "admin-page__title" }, Ta = { class: "admin-page__actions" }, Ma = {
1817
+ }), Fa = { class: "admin-page admin-resource-form" }, La = { class: "admin-page__hd" }, Pa = { class: "admin-page__title-wrap" }, Ta = { class: "admin-page__title" }, Ma = { class: "admin-page__actions" }, Na = {
1818
1818
  key: 1,
1819
1819
  class: "admin-resource-form__loading"
1820
- }, Na = {
1820
+ }, Ia = {
1821
1821
  key: 3,
1822
1822
  class: "admin-resource-form__savebar"
1823
- }, et = /* @__PURE__ */ L({
1823
+ }, tt = /* @__PURE__ */ L({
1824
1824
  __name: "ResourceFormPage",
1825
1825
  props: {
1826
1826
  slug: {},
@@ -1828,8 +1828,8 @@ const ht = /* @__PURE__ */ L({
1828
1828
  indexRouteName: { default: "admin.home" }
1829
1829
  },
1830
1830
  setup(e) {
1831
- const t = e, n = pt(), o = se(), a = le(), l = ct(n.state, n.errors);
1832
- ne(
1831
+ const t = e, n = ht(), o = ie(), a = se(), l = mt(n.state, n.errors);
1832
+ ae(
1833
1833
  () => n.errors,
1834
1834
  (_) => {
1835
1835
  l.setErrors({ ..._ });
@@ -1853,11 +1853,11 @@ const ht = /* @__PURE__ */ L({
1853
1853
  return "default";
1854
1854
  }
1855
1855
  });
1856
- Re(async () => {
1856
+ Ue(async () => {
1857
1857
  o.manifest === null && await o.load().catch(() => {
1858
1858
  }), t.id !== null && t.id !== void 0 ? await n.load(t.slug, t.id, "edit").catch(() => {
1859
1859
  }) : n.prepareCreate(t.slug);
1860
- }), ne(
1860
+ }), ae(
1861
1861
  () => [t.slug, t.id],
1862
1862
  async ([_, g]) => {
1863
1863
  g != null ? await n.load(_, g, "edit").catch(() => {
@@ -1875,24 +1875,24 @@ const ht = /* @__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
  }
1887
- return (_, g) => (s(), c("section", Ea, [
1888
- d("header", Fa, [
1889
- d("div", La, [
1887
+ return (_, g) => (s(), c("section", Fa, [
1888
+ d("header", La, [
1889
+ d("div", Pa, [
1890
1890
  d("a", {
1891
1891
  class: "admin-resource-form__back",
1892
- onClick: R
1892
+ onClick: A
1893
1893
  }, "← Назад"),
1894
- d("h1", Pa, h(f.value), 1),
1895
- v.value ? (s(), w(r(Ke), {
1894
+ d("h1", Ta, h(f.value), 1),
1895
+ v.value ? (s(), w(r(Ge), {
1896
1896
  key: 0,
1897
1897
  variant: b.value
1898
1898
  }, {
@@ -1902,30 +1902,30 @@ const ht = /* @__PURE__ */ L({
1902
1902
  _: 1
1903
1903
  }, 8, ["variant"])) : F("", !0)
1904
1904
  ]),
1905
- d("div", Ta, [
1906
- x(r(B), {
1905
+ d("div", Ma, [
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)
1913
1913
  ])]),
1914
1914
  _: 1
1915
1915
  }, 8, ["disabled"]),
1916
- r(n).isEdit ? (s(), w(r(B), {
1916
+ r(n).isEdit ? (s(), w(r(V), {
1917
1917
  key: 0,
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)
1925
1925
  ])]),
1926
1926
  _: 1
1927
1927
  }, 8, ["disabled", "loading"])) : F("", !0),
1928
- x(r(B), {
1928
+ x(r(V), {
1929
1929
  variant: "primary",
1930
1930
  disabled: r(n).saving || r(n).loading,
1931
1931
  loading: r(n).saving,
@@ -1938,7 +1938,7 @@ const ht = /* @__PURE__ */ L({
1938
1938
  }, 8, ["disabled", "loading"])
1939
1939
  ])
1940
1940
  ]),
1941
- r(n).hasError ? (s(), w(r(Q), {
1941
+ r(n).hasError ? (s(), w(r(Z), {
1942
1942
  key: 0,
1943
1943
  variant: "danger",
1944
1944
  class: "admin-resource-form__alert",
@@ -1949,37 +1949,37 @@ const ht = /* @__PURE__ */ L({
1949
1949
  ]),
1950
1950
  _: 1
1951
1951
  })) : F("", !0),
1952
- r(n).loading ? (s(), c("div", Ma, [
1953
- (s(), c(T, null, I(6, (U) => x(r(We), {
1952
+ r(n).loading ? (s(), c("div", Na, [
1953
+ (s(), c(T, null, B(6, (U) => x(r(je), {
1954
1954
  key: U,
1955
1955
  height: "40px"
1956
1956
  })), 64))
1957
- ])) : (s(), w(r(q), {
1957
+ ])) : (s(), w(r(D), {
1958
1958
  key: 2,
1959
1959
  padding: "md",
1960
1960
  class: "admin-resource-form__body"
1961
1961
  }, {
1962
1962
  default: m(() => [
1963
- (s(!0), c(T, null, I(u.value, (U, P) => (s(), w(be, {
1963
+ (s(!0), c(T, null, B(u.value, (U, P) => (s(), w(ke, {
1964
1964
  key: P,
1965
1965
  node: U
1966
1966
  }, null, 8, ["node"]))), 128))
1967
1967
  ]),
1968
1968
  _: 1
1969
1969
  })),
1970
- r(n).isDirty && !r(n).loading ? (s(), c("div", Na, [
1970
+ r(n).isDirty && !r(n).loading ? (s(), c("div", Ia, [
1971
1971
  g[4] || (g[4] = d("span", { class: "admin-resource-form__savebar-hint" }, " Есть несохранённые изменения ", -1)),
1972
- x(r(B), {
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)
1979
1979
  ])]),
1980
1980
  _: 1
1981
1981
  }),
1982
- x(r(B), {
1982
+ x(r(V), {
1983
1983
  variant: "primary",
1984
1984
  size: "sm",
1985
1985
  loading: r(n).saving,
@@ -1994,14 +1994,14 @@ const ht = /* @__PURE__ */ L({
1994
1994
  ])) : F("", !0)
1995
1995
  ]));
1996
1996
  }
1997
- }), fe = Te(), Ki = fe.register, tt = fe.get, Gi = fe.has, Hi = fe.list, Xi = fe.clear, Ia = fe.registerBundle, Ba = /* @__PURE__ */ L({
1997
+ }), ve = Me(), Ki = ve.register, nt = ve.get, Gi = ve.has, Hi = ve.list, Xi = ve.clear, Ba = ve.registerBundle, Va = /* @__PURE__ */ L({
1998
1998
  __name: "UnknownEntry",
1999
1999
  props: {
2000
2000
  type: {},
2001
2001
  name: {}
2002
2002
  },
2003
2003
  setup(e) {
2004
- return (t, n) => (s(), w(r(Q), { variant: "warning" }, {
2004
+ return (t, n) => (s(), w(r(Z), { variant: "warning" }, {
2005
2005
  title: m(() => [
2006
2006
  C("Неизвестный тип infolist-entry: " + h(e.type), 1)
2007
2007
  ]),
@@ -2013,31 +2013,31 @@ const ht = /* @__PURE__ */ L({
2013
2013
  _: 1
2014
2014
  }));
2015
2015
  }
2016
- }), Va = {
2016
+ }), za = {
2017
2017
  key: 1,
2018
2018
  class: "admin-infolist-rows"
2019
- }, za = {
2019
+ }, qa = {
2020
2020
  key: 2,
2021
2021
  class: "admin-infolist-cols"
2022
- }, qa = {
2022
+ }, Da = {
2023
2023
  key: 3,
2024
2024
  class: "admin-infolist-section"
2025
- }, Da = {
2025
+ }, Oa = {
2026
2026
  key: 0,
2027
2027
  class: "admin-infolist-section__hd"
2028
- }, Oa = {
2028
+ }, Wa = {
2029
2029
  key: 0,
2030
2030
  class: "admin-infolist-section__title"
2031
- }, Wa = {
2031
+ }, ja = {
2032
2032
  key: 1,
2033
2033
  class: "admin-infolist-section__description"
2034
- }, ja = { class: "admin-infolist-section__body" }, Ka = {
2034
+ }, Ka = { class: "admin-infolist-section__body" }, Ga = {
2035
2035
  key: 4,
2036
2036
  class: "admin-infolist-tabs"
2037
- }, Ga = {
2037
+ }, Ha = {
2038
2038
  class: "admin-infolist-tabs__list",
2039
2039
  role: "tablist"
2040
- }, Ha = { class: "admin-infolist-tabs__panel" }, Xa = /* @__PURE__ */ L({
2040
+ }, Xa = { class: "admin-infolist-tabs__panel" }, Ja = /* @__PURE__ */ L({
2041
2041
  __name: "InfolistRenderer",
2042
2042
  props: {
2043
2043
  node: {}
@@ -2045,18 +2045,18 @@ const ht = /* @__PURE__ */ L({
2045
2045
  setup(e) {
2046
2046
  const t = e, n = /* @__PURE__ */ new Set(["rows", "columns", "section", "block", "tabs"]), o = p(() => {
2047
2047
  if (t.node.kind === "entry") {
2048
- const S = tt(t.node.type);
2048
+ const S = nt(t.node.type);
2049
2049
  return S ? { kind: "entry", component: S } : { kind: "unknown" };
2050
2050
  }
2051
2051
  if (t.node.kind === "layout")
2052
2052
  return n.has(t.node.type) ? { kind: "layout", layoutType: t.node.type } : { kind: "unknown" };
2053
2053
  if (n.has(t.node.type))
2054
2054
  return { kind: "layout", layoutType: t.node.type };
2055
- const b = tt(t.node.type);
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,73 +2066,73 @@ const ht = /* @__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 = lt("InfolistRenderer", !0);
2070
- return o.value.kind === "entry" ? (s(), w(ue(o.value.component), Ue(Ee({ key: 0 }, a.value)), null, 16)) : o.value.kind === "layout" && o.value.layoutType === "rows" ? (s(), c("div", Va, [
2071
- (s(!0), c(T, null, I(l.value, (R, _) => (s(), w(A, {
2069
+ const R = st("InfolistRenderer", !0);
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, (A, _) => (s(), w(R, {
2072
2072
  key: _,
2073
- node: R
2073
+ node: A
2074
2074
  }, null, 8, ["node"]))), 128))
2075
- ])) : o.value.kind === "layout" && o.value.layoutType === "columns" ? (s(), c("div", za, [
2076
- (s(!0), c(T, null, I(l.value, (R, _) => (s(), c("div", {
2075
+ ])) : o.value.kind === "layout" && o.value.layoutType === "columns" ? (s(), c("div", qa, [
2076
+ (s(!0), c(T, null, B(l.value, (A, _) => (s(), c("div", {
2077
2077
  key: _,
2078
2078
  class: "admin-infolist-cols__item",
2079
- style: Fe({
2080
- gridColumn: `span ${typeof R.span == "number" ? R.span : Math.max(1, Math.floor(12 / l.value.length))}`
2079
+ style: Le({
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
- ])) : o.value.kind === "layout" && (o.value.layoutType === "section" || o.value.layoutType === "block") ? (s(), c("section", qa, [
2086
- i.value || u.value ? (s(), c("header", Da, [
2087
- i.value ? (s(), c("h3", Oa, h(i.value), 1)) : F("", !0),
2088
- u.value ? (s(), c("p", Wa, h(u.value), 1)) : F("", !0)
2085
+ ])) : o.value.kind === "layout" && (o.value.layoutType === "section" || o.value.layoutType === "block") ? (s(), c("section", Da, [
2086
+ i.value || u.value ? (s(), c("header", Oa, [
2087
+ i.value ? (s(), c("h3", Wa, h(i.value), 1)) : F("", !0),
2088
+ u.value ? (s(), c("p", ja, h(u.value), 1)) : F("", !0)
2089
2089
  ])) : F("", !0),
2090
- d("div", ja, [
2091
- (s(!0), c(T, null, I(l.value, (R, _) => (s(), w(A, {
2090
+ d("div", Ka, [
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
- ])) : o.value.kind === "layout" && o.value.layoutType === "tabs" ? (s(), c("div", Ka, [
2097
- d("ul", Ga, [
2098
- (s(!0), c(T, null, I(v.value, (R, _) => (s(), c("li", {
2099
- key: R.key ?? _,
2100
- class: Y([
2096
+ ])) : o.value.kind === "layout" && o.value.layoutType === "tabs" ? (s(), c("div", Ga, [
2097
+ d("ul", Ha, [
2098
+ (s(!0), c(T, null, B(v.value, (A, _) => (s(), c("li", {
2099
+ key: A.key ?? _,
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
- d("div", Ha, [
2107
- (s(!0), c(T, null, I(v.value[f.value]?.items ?? [], (R, _) => (s(), w(A, {
2106
+ d("div", Xa, [
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
- ])) : (s(), w(Ba, {
2112
+ ])) : (s(), w(Va, {
2113
2113
  key: 5,
2114
2114
  type: e.node.type,
2115
2115
  name: e.node.name
2116
2116
  }, null, 8, ["type", "name"]));
2117
2117
  };
2118
2118
  }
2119
- }), Je = /* @__PURE__ */ Symbol("admin.infolist-record");
2120
- function Ja(e) {
2121
- Ct(Je, e);
2119
+ }), Ye = /* @__PURE__ */ Symbol("admin.infolist-record");
2120
+ function Ya(e) {
2121
+ At(Ye, e);
2122
2122
  }
2123
2123
  function Ji() {
2124
- const e = st(Je);
2124
+ const e = it(Ye);
2125
2125
  if (!e)
2126
2126
  throw new Error("useRecord() called outside of provideRecord() scope");
2127
2127
  return e;
2128
2128
  }
2129
- function Me() {
2130
- return st(Je, null);
2129
+ function Ne() {
2130
+ return it(Ye, null);
2131
2131
  }
2132
- const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-page__hd" }, Za = { class: "admin-page__title-wrap" }, el = { class: "admin-page__title" }, tl = { class: "admin-page__actions" }, nl = {
2132
+ const Qa = { class: "admin-page admin-resource-view" }, Za = { class: "admin-page__hd" }, el = { class: "admin-page__title-wrap" }, tl = { class: "admin-page__title" }, nl = { class: "admin-page__actions" }, al = {
2133
2133
  key: 1,
2134
2134
  class: "admin-resource-view__loading"
2135
- }, al = /* @__PURE__ */ L({
2135
+ }, ll = /* @__PURE__ */ L({
2136
2136
  __name: "ResourceViewPage",
2137
2137
  props: {
2138
2138
  slug: {},
@@ -2141,18 +2141,18 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2141
2141
  indexRouteName: { default: "admin.home" }
2142
2142
  },
2143
2143
  setup(e) {
2144
- const t = e, n = pt(), o = se(), a = le();
2145
- Ja(n.state);
2144
+ const t = e, n = ht(), o = ie(), a = se();
2145
+ Ya(n.state);
2146
2146
  const l = p(() => o.getResource(t.slug)), i = p(
2147
2147
  () => l.value?.fields ?? []
2148
2148
  ), u = p(
2149
2149
  () => `${l.value?.label ?? t.slug}: запись #${t.id}`
2150
2150
  );
2151
- Re(async () => {
2151
+ Ue(async () => {
2152
2152
  o.manifest === null && await o.load().catch(() => {
2153
2153
  }), await n.load(t.slug, t.id, "view").catch(() => {
2154
2154
  });
2155
- }), ne(
2155
+ }), ae(
2156
2156
  () => [t.slug, t.id],
2157
2157
  async ([b, S]) => {
2158
2158
  await n.load(b, S, "view").catch(() => {
@@ -2173,13 +2173,13 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2173
2173
  }), n.hasError || a.push({ name: t.indexRouteName }).catch(() => {
2174
2174
  }));
2175
2175
  }
2176
- return (b, S) => (s(), c("section", Ya, [
2177
- d("header", Qa, [
2178
- d("div", Za, [
2179
- d("h1", el, h(u.value), 1)
2176
+ return (b, S) => (s(), c("section", Qa, [
2177
+ d("header", Za, [
2178
+ d("div", el, [
2179
+ d("h1", tl, h(u.value), 1)
2180
2180
  ]),
2181
- d("div", tl, [
2182
- x(r(B), {
2181
+ d("div", nl, [
2182
+ x(r(V), {
2183
2183
  variant: "ghost",
2184
2184
  onClick: f
2185
2185
  }, {
@@ -2188,7 +2188,7 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2188
2188
  ])]),
2189
2189
  _: 1
2190
2190
  }),
2191
- x(r(B), {
2191
+ x(r(V), {
2192
2192
  variant: "danger",
2193
2193
  loading: r(n).deleting,
2194
2194
  disabled: r(n).deleting,
@@ -2201,7 +2201,7 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2201
2201
  }, 8, ["loading", "disabled"])
2202
2202
  ])
2203
2203
  ]),
2204
- r(n).hasError ? (s(), w(r(Q), {
2204
+ r(n).hasError ? (s(), w(r(Z), {
2205
2205
  key: 0,
2206
2206
  variant: "danger",
2207
2207
  class: "admin-resource-view__alert",
@@ -2212,36 +2212,36 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2212
2212
  ]),
2213
2213
  _: 1
2214
2214
  })) : F("", !0),
2215
- r(n).loading ? (s(), c("div", nl, [
2216
- (s(), c(T, null, I(8, (A) => x(r(We), {
2217
- key: A,
2215
+ r(n).loading ? (s(), c("div", al, [
2216
+ (s(), c(T, null, B(8, (R) => x(r(je), {
2217
+ key: R,
2218
2218
  height: "24px"
2219
2219
  })), 64))
2220
- ])) : (s(), w(r(q), {
2220
+ ])) : (s(), w(r(D), {
2221
2221
  key: 2,
2222
2222
  padding: "md",
2223
2223
  class: "admin-resource-view__body"
2224
2224
  }, {
2225
2225
  default: m(() => [
2226
- (s(!0), c(T, null, I(i.value, (A, R) => (s(), w(Xa, {
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
2232
2232
  }))
2233
2233
  ]));
2234
2234
  }
2235
- }), ll = { class: "admin-page admin-profile" }, sl = { class: "admin-page__hd" }, il = { class: "admin-page__title-wrap" }, ol = { class: "admin-page__title" }, rl = { class: "admin-page__count" }, ul = { class: "admin-profile__layout" }, dl = {
2235
+ }), sl = { class: "admin-page admin-profile" }, il = { class: "admin-page__hd" }, ol = { class: "admin-page__title-wrap" }, rl = { class: "admin-page__title" }, ul = { class: "admin-page__count" }, dl = { class: "admin-profile__layout" }, cl = {
2236
2236
  class: "admin-profile__nav",
2237
2237
  "aria-label": "Profile sections"
2238
- }, cl = ["onClick"], ml = ["data-icon"], fl = { class: "admin-profile__content" }, vl = { class: "admin-profile__hero" }, pl = { class: "admin-profile__hero-text" }, gl = { class: "admin-profile__hero-name" }, hl = { class: "admin-profile__hero-meta" }, _l = { class: "admin-profile__form" }, yl = { class: "admin-profile__card-ft" }, bl = { class: "admin-profile__card-hd" }, kl = {
2238
+ }, ml = ["onClick"], fl = ["data-icon"], vl = { class: "admin-profile__content" }, pl = { class: "admin-profile__hero" }, gl = { class: "admin-profile__hero-text" }, hl = { class: "admin-profile__hero-name" }, _l = { class: "admin-profile__hero-meta" }, yl = { class: "admin-profile__form" }, bl = { class: "admin-profile__card-ft" }, kl = { class: "admin-profile__card-hd" }, wl = {
2239
2239
  key: 0,
2240
2240
  class: "admin-profile__hint"
2241
- }, wl = {
2241
+ }, $l = {
2242
2242
  key: 1,
2243
2243
  class: "admin-profile__hint"
2244
- }, $l = { class: "admin-profile__card-ft" }, xl = { class: "admin-profile__hint" }, Cl = /* @__PURE__ */ L({
2244
+ }, xl = { class: "admin-profile__card-ft" }, Cl = { class: "admin-profile__hint" }, Sl = /* @__PURE__ */ L({
2245
2245
  __name: "ProfilePage",
2246
2246
  props: {
2247
2247
  title: { default: "Profile" },
@@ -2250,7 +2250,7 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2250
2250
  },
2251
2251
  emits: ["update:section", "avatar-replace", "two-factor-disable", "two-factor-regenerate", "save"],
2252
2252
  setup(e, { emit: t }) {
2253
- const n = e, o = t, a = J(), l = Ge(), i = He(), u = [
2253
+ const n = e, o = t, a = Y(), l = He(), i = Xe(), u = [
2254
2254
  { id: "general", label: "Основное", icon: "user" },
2255
2255
  { id: "security", label: "Безопасность", icon: "shield" },
2256
2256
  { id: "tokens", label: "API токены", icon: "key" },
@@ -2266,10 +2266,10 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { 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 _() {
@@ -2282,33 +2282,33 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2282
2282
  o("two-factor-regenerate");
2283
2283
  }
2284
2284
  const P = p(() => !!a.user?.twoFactorEnabled);
2285
- return (k, y) => (s(), c("section", ll, [
2286
- d("header", sl, [
2287
- d("div", il, [
2288
- d("h1", ol, h(e.title), 1),
2289
- d("div", rl, h(e.subtitle), 1)
2285
+ return (k, y) => (s(), c("section", sl, [
2286
+ d("header", il, [
2287
+ d("div", ol, [
2288
+ d("h1", rl, h(e.title), 1),
2289
+ d("div", ul, h(e.subtitle), 1)
2290
2290
  ])
2291
2291
  ]),
2292
- d("div", ul, [
2293
- d("nav", dl, [
2294
- (s(), c(T, null, I(u, ($) => d("button", {
2292
+ d("div", dl, [
2293
+ d("nav", cl, [
2294
+ (s(), c(T, null, B(u, ($) => d("button", {
2295
2295
  key: $.id,
2296
2296
  type: "button",
2297
- class: Y([
2297
+ class: Q([
2298
2298
  "admin-profile__nav-item",
2299
2299
  { "admin-profile__nav-item--active": f.value === $.id }
2300
2300
  ]),
2301
- onClick: (V) => v($.id)
2301
+ onClick: (z) => v($.id)
2302
2302
  }, [
2303
2303
  d("span", {
2304
2304
  class: "admin-profile__nav-icon",
2305
2305
  "data-icon": $.icon
2306
- }, null, 8, ml),
2306
+ }, null, 8, fl),
2307
2307
  d("span", null, h($.label), 1)
2308
- ], 10, cl)), 64))
2308
+ ], 10, ml)), 64))
2309
2309
  ]),
2310
- d("div", fl, [
2311
- f.value === "general" ? (s(), w(r(q), {
2310
+ d("div", vl, [
2311
+ f.value === "general" ? (s(), w(r(D), {
2312
2312
  key: 0,
2313
2313
  padding: "md"
2314
2314
  }, {
@@ -2316,18 +2316,18 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2316
2316
  y[7] || (y[7] = d("header", { class: "admin-profile__card-hd" }, [
2317
2317
  d("h3", { class: "admin-profile__card-title" }, "Профиль")
2318
2318
  ], -1)),
2319
- d("div", vl, [
2320
- x(r(rt), {
2319
+ d("div", pl, [
2320
+ x(r(ut), {
2321
2321
  src: r(a).user?.avatar ?? void 0,
2322
2322
  name: r(a).user?.name ?? "?",
2323
2323
  size: "lg"
2324
2324
  }, null, 8, ["src", "name"]),
2325
- d("div", pl, [
2326
- d("div", gl, h(r(a).user?.name ?? "—"), 1),
2327
- d("div", hl, h(r(a).user?.email ?? "—"), 1)
2325
+ d("div", gl, [
2326
+ d("div", hl, h(r(a).user?.name ?? "—"), 1),
2327
+ d("div", _l, h(r(a).user?.email ?? "—"), 1)
2328
2328
  ]),
2329
2329
  y[5] || (y[5] = d("div", { style: { flex: "1" } }, null, -1)),
2330
- x(r(B), {
2330
+ x(r(V), {
2331
2331
  variant: "ghost",
2332
2332
  size: "sm",
2333
2333
  onClick: _
@@ -2338,37 +2338,37 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2338
2338
  _: 1
2339
2339
  })
2340
2340
  ]),
2341
- d("div", _l, [
2342
- x(r(re), {
2341
+ d("div", yl, [
2342
+ x(r(ue), {
2343
2343
  modelValue: b.value.name,
2344
2344
  "onUpdate:modelValue": y[0] || (y[0] = ($) => b.value.name = $),
2345
2345
  label: "Имя",
2346
2346
  name: "name"
2347
2347
  }, null, 8, ["modelValue"]),
2348
- x(r(re), {
2348
+ x(r(ue), {
2349
2349
  modelValue: b.value.email,
2350
2350
  "onUpdate:modelValue": y[1] || (y[1] = ($) => b.value.email = $),
2351
2351
  label: "Email",
2352
2352
  type: "email",
2353
2353
  name: "email"
2354
2354
  }, null, 8, ["modelValue"]),
2355
- x(r(Ae), {
2355
+ x(r(Re), {
2356
2356
  modelValue: b.value.locale,
2357
2357
  "onUpdate:modelValue": y[2] || (y[2] = ($) => b.value.locale = $),
2358
2358
  options: S.value,
2359
2359
  label: "Язык"
2360
2360
  }, null, 8, ["modelValue", "options"]),
2361
- x(r(Ae), {
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
- d("footer", yl, [
2369
- x(r(B), {
2368
+ d("footer", bl, [
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)
@@ -2378,14 +2378,14 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2378
2378
  ])
2379
2379
  ]),
2380
2380
  _: 1
2381
- })) : f.value === "security" ? (s(), w(r(q), {
2381
+ })) : f.value === "security" ? (s(), w(r(D), {
2382
2382
  key: 1,
2383
2383
  padding: "md"
2384
2384
  }, {
2385
2385
  default: m(() => [
2386
- d("header", bl, [
2386
+ d("header", kl, [
2387
2387
  y[8] || (y[8] = d("h3", { class: "admin-profile__card-title" }, "Двухфакторная аутентификация", -1)),
2388
- x(r(Ke), {
2388
+ x(r(Ge), {
2389
2389
  variant: P.value ? "success" : "default"
2390
2390
  }, {
2391
2391
  default: m(() => [
@@ -2394,10 +2394,10 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2394
2394
  _: 1
2395
2395
  }, 8, ["variant"])
2396
2396
  ]),
2397
- P.value ? (s(), c("p", kl, " 2FA включена. У вас остались recovery-коды на случай потери устройства. ")) : (s(), c("p", wl, " Включите 2FA для дополнительной защиты аккаунта. ")),
2398
- d("footer", $l, [
2397
+ P.value ? (s(), c("p", wl, " 2FA включена. У вас остались recovery-коды на случай потери устройства. ")) : (s(), c("p", $l, " Включите 2FA для дополнительной защиты аккаунта. ")),
2398
+ d("footer", xl, [
2399
2399
  P.value ? (s(), c(T, { key: 0 }, [
2400
- x(r(B), {
2400
+ x(r(V), {
2401
2401
  variant: "ghost",
2402
2402
  size: "sm",
2403
2403
  onClick: U
@@ -2407,7 +2407,7 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2407
2407
  ])]),
2408
2408
  _: 1
2409
2409
  }),
2410
- x(r(B), {
2410
+ x(r(V), {
2411
2411
  variant: "danger",
2412
2412
  size: "sm",
2413
2413
  onClick: g
@@ -2417,8 +2417,8 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2417
2417
  ])]),
2418
2418
  _: 1
2419
2419
  })
2420
- ], 64)) : H(k.$slots, "enable-2fa", { key: 1 }, () => [
2421
- x(r(B), {
2420
+ ], 64)) : X(k.$slots, "enable-2fa", { key: 1 }, () => [
2421
+ x(r(V), {
2422
2422
  variant: "primary",
2423
2423
  disabled: ""
2424
2424
  }, {
@@ -2431,13 +2431,13 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2431
2431
  ])
2432
2432
  ]),
2433
2433
  _: 3
2434
- })) : H(k.$slots, f.value, {
2434
+ })) : X(k.$slots, f.value, {
2435
2435
  key: 2,
2436
2436
  section: f.value
2437
2437
  }, () => [
2438
- x(r(q), { padding: "md" }, {
2438
+ x(r(D), { padding: "md" }, {
2439
2439
  default: m(() => [
2440
- d("p", xl, " Section «" + h(f.value) + "» не реализована библиотекой — host-проект подключает её через slot " + h(f.value) + ". ", 1)
2440
+ d("p", Cl, " Section «" + h(f.value) + "» не реализована библиотекой — host-проект подключает её через slot " + h(f.value) + ". ", 1)
2441
2441
  ]),
2442
2442
  _: 1
2443
2443
  })
@@ -2446,13 +2446,13 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2446
2446
  ])
2447
2447
  ]));
2448
2448
  }
2449
- }), ve = Te(), Yi = ve.register, Sl = ve.get, Qi = ve.has, Zi = ve.list, eo = ve.clear, Al = ve.registerBundle, Rl = /* @__PURE__ */ L({
2449
+ }), pe = Me(), Yi = pe.register, Al = pe.get, Qi = pe.has, Zi = pe.list, eo = pe.clear, Rl = pe.registerBundle, Ul = /* @__PURE__ */ L({
2450
2450
  __name: "UnknownWidget",
2451
2451
  props: {
2452
2452
  type: {}
2453
2453
  },
2454
2454
  setup(e) {
2455
- return (t, n) => (s(), w(r(Q), { variant: "warning" }, {
2455
+ return (t, n) => (s(), w(r(Z), { variant: "warning" }, {
2456
2456
  title: m(() => [
2457
2457
  C("Неизвестный widget-тип: " + h(e.type), 1)
2458
2458
  ]),
@@ -2464,25 +2464,25 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2464
2464
  _: 1
2465
2465
  }));
2466
2466
  }
2467
- }), Ul = /* @__PURE__ */ L({
2467
+ }), El = /* @__PURE__ */ L({
2468
2468
  __name: "WidgetRenderer",
2469
2469
  props: {
2470
2470
  node: {}
2471
2471
  },
2472
2472
  setup(e) {
2473
- const t = e, n = p(() => Sl(t.node.type)), o = p(() => {
2473
+ const t = e, n = p(() => Al(t.node.type)), o = p(() => {
2474
2474
  const { type: a, span: l, ...i } = t.node;
2475
2475
  return i;
2476
2476
  });
2477
- return (a, l) => n.value ? (s(), w(ue(n.value), Ue(Ee({ key: 0 }, o.value)), null, 16)) : (s(), w(Rl, {
2477
+ return (a, l) => n.value ? (s(), w(de(n.value), Ee(Fe({ key: 0 }, o.value)), null, 16)) : (s(), w(Ul, {
2478
2478
  key: 1,
2479
2479
  type: e.node.type
2480
2480
  }, null, 8, ["type"]));
2481
2481
  }
2482
- }), El = { class: "admin-page admin-dashboard" }, Fl = { class: "admin-page__hd" }, Ll = { class: "admin-page__title-wrap" }, Pl = { class: "admin-page__title" }, Tl = {
2482
+ }), Fl = { class: "admin-page admin-dashboard" }, Ll = { class: "admin-page__hd" }, Pl = { class: "admin-page__title-wrap" }, Tl = { class: "admin-page__title" }, Ml = {
2483
2483
  key: 0,
2484
2484
  class: "admin-page__count"
2485
- }, Ml = { class: "admin-page__actions" }, Nl = { class: "admin-dashboard__grid" }, Il = /* @__PURE__ */ L({
2485
+ }, Nl = { class: "admin-page__actions" }, Il = { class: "admin-dashboard__grid" }, Bl = /* @__PURE__ */ L({
2486
2486
  __name: "DashboardPage",
2487
2487
  props: {
2488
2488
  slug: { default: void 0 },
@@ -2491,7 +2491,7 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2491
2491
  subtitle: { default: void 0 }
2492
2492
  },
2493
2493
  setup(e) {
2494
- const t = e, n = se(), o = p(() => !t.slug || !n.manifest ? null : n.manifest.dashboards?.find((v) => v.slug === t.slug) ?? null), a = p(() => t.widgets ? t.widgets : o.value ? o.value.widgets ?? [] : []), l = p(
2494
+ const t = e, n = ie(), o = p(() => !t.slug || !n.manifest ? null : n.manifest.dashboards?.find((v) => v.slug === t.slug) ?? null), a = p(() => t.widgets ? t.widgets : o.value ? o.value.widgets ?? [] : []), l = p(
2495
2495
  () => t.title ?? o.value?.label ?? "Dashboard"
2496
2496
  ), i = p(
2497
2497
  () => t.subtitle ?? o.value?.description ?? null
@@ -2500,28 +2500,28 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2500
2500
  const v = typeof f.span == "number" ? f.span : 12;
2501
2501
  return Math.max(1, Math.min(12, v));
2502
2502
  }
2503
- return (f, v) => (s(), c("section", El, [
2504
- d("header", Fl, [
2505
- d("div", Ll, [
2506
- d("h1", Pl, h(l.value), 1),
2507
- i.value ? (s(), c("div", Tl, h(i.value), 1)) : F("", !0)
2503
+ return (f, v) => (s(), c("section", Fl, [
2504
+ d("header", Ll, [
2505
+ d("div", Pl, [
2506
+ d("h1", Tl, h(l.value), 1),
2507
+ i.value ? (s(), c("div", Ml, h(i.value), 1)) : F("", !0)
2508
2508
  ]),
2509
- d("div", Ml, [
2510
- H(f.$slots, "actions")
2509
+ d("div", Nl, [
2510
+ X(f.$slots, "actions")
2511
2511
  ])
2512
2512
  ]),
2513
- d("div", Nl, [
2514
- (s(!0), c(T, null, I(a.value, (b, S) => (s(), c("div", {
2513
+ d("div", Il, [
2514
+ (s(!0), c(T, null, B(a.value, (b, S) => (s(), c("div", {
2515
2515
  key: S,
2516
2516
  class: "admin-dashboard__cell",
2517
- style: Fe({ gridColumn: `span ${u(b)} / span ${u(b)}` })
2517
+ style: Le({ gridColumn: `span ${u(b)} / span ${u(b)}` })
2518
2518
  }, [
2519
- x(Ul, { node: b }, null, 8, ["node"])
2519
+ x(El, { node: b }, null, 8, ["node"])
2520
2520
  ], 4))), 128))
2521
2521
  ])
2522
2522
  ]));
2523
2523
  }
2524
- }), Bl = /* @__PURE__ */ L({
2524
+ }), Vl = /* @__PURE__ */ L({
2525
2525
  __name: "StatWidget",
2526
2526
  props: {
2527
2527
  title: { default: "" },
@@ -2541,7 +2541,7 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2541
2541
  warning: "warning",
2542
2542
  info: "info"
2543
2543
  }, o = p(() => n[t.tone]);
2544
- return (a, l) => (s(), w(r(xe), {
2544
+ return (a, l) => (s(), w(r(Ce), {
2545
2545
  title: e.title,
2546
2546
  value: e.value,
2547
2547
  prefix: e.prefix,
@@ -2552,16 +2552,16 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2552
2552
  loading: e.loading
2553
2553
  }, null, 8, ["title", "value", "prefix", "suffix", "trend", "precision", "tone", "loading"]));
2554
2554
  }
2555
- }), Vl = {
2555
+ }), zl = {
2556
2556
  key: 0,
2557
2557
  class: "admin-widget__hd"
2558
- }, zl = {
2558
+ }, ql = {
2559
2559
  key: 0,
2560
2560
  class: "admin-widget__title"
2561
- }, ql = {
2561
+ }, Dl = {
2562
2562
  key: 1,
2563
2563
  class: "admin-widget__desc"
2564
- }, Dl = ["viewBox", "height", "aria-label"], Ol = ["x", "y", "width", "height", "fill", "data-label", "data-value"], Wl = /* @__PURE__ */ L({
2564
+ }, Ol = ["viewBox", "height", "aria-label"], Wl = ["x", "y", "width", "height", "fill", "data-label", "data-value"], jl = /* @__PURE__ */ L({
2565
2565
  __name: "BarChartWidget",
2566
2566
  props: {
2567
2567
  title: { default: "" },
@@ -2581,14 +2581,14 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2581
2581
  heightPct: i.value / n.value * 100
2582
2582
  }));
2583
2583
  });
2584
- return (a, l) => (s(), w(r(q), {
2584
+ return (a, l) => (s(), w(r(D), {
2585
2585
  padding: "md",
2586
2586
  class: "admin-widget"
2587
2587
  }, {
2588
2588
  default: m(() => [
2589
- e.title || e.description ? (s(), c("header", Vl, [
2590
- e.title ? (s(), c("h3", zl, h(e.title), 1)) : F("", !0),
2591
- e.description ? (s(), c("p", ql, h(e.description), 1)) : F("", !0)
2589
+ e.title || e.description ? (s(), c("header", zl, [
2590
+ e.title ? (s(), c("h3", ql, h(e.title), 1)) : F("", !0),
2591
+ e.description ? (s(), c("p", Dl, h(e.description), 1)) : F("", !0)
2592
2592
  ])) : F("", !0),
2593
2593
  (s(), c("svg", {
2594
2594
  class: "admin-widget-bar-chart",
@@ -2599,7 +2599,7 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2599
2599
  role: "img",
2600
2600
  "aria-label": e.title || "Bar chart"
2601
2601
  }, [
2602
- (s(!0), c(T, null, I(o.value, (i, u) => (s(), c("rect", {
2602
+ (s(!0), c(T, null, B(o.value, (i, u) => (s(), c("rect", {
2603
2603
  key: u,
2604
2604
  x: i.x,
2605
2605
  y: e.height - i.heightPct / 100 * e.height,
@@ -2611,16 +2611,16 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2611
2611
  "data-value": i.value
2612
2612
  }, [
2613
2613
  d("title", null, h(i.label) + ": " + h(i.value), 1)
2614
- ], 8, Ol))), 128))
2615
- ], 8, Dl))
2614
+ ], 8, Wl))), 128))
2615
+ ], 8, Ol))
2616
2616
  ]),
2617
2617
  _: 1
2618
2618
  }));
2619
2619
  }
2620
- }), jl = {
2620
+ }), Kl = {
2621
2621
  key: 0,
2622
2622
  class: "admin-widget__hd"
2623
- }, Kl = { class: "admin-widget__title" }, Gl = { class: "admin-donut-widget__row" }, Hl = ["aria-label"], Xl = ["d", "fill"], Jl = { class: "admin-donut-widget__legend" }, Yl = { class: "admin-donut-widget__label" }, Ql = { class: "admin-donut-widget__value" }, Zl = /* @__PURE__ */ L({
2623
+ }, Gl = { class: "admin-widget__title" }, Hl = { class: "admin-donut-widget__row" }, Xl = ["aria-label"], Jl = ["d", "fill"], Yl = { class: "admin-donut-widget__legend" }, Ql = { class: "admin-donut-widget__label" }, Zl = { class: "admin-donut-widget__value" }, es = /* @__PURE__ */ L({
2624
2624
  __name: "DonutChartWidget",
2625
2625
  props: {
2626
2626
  title: { default: "" },
@@ -2638,7 +2638,7 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { 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,
@@ -2647,43 +2647,43 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2647
2647
  };
2648
2648
  });
2649
2649
  });
2650
- return (l, i) => (s(), w(r(q), {
2650
+ return (l, i) => (s(), w(r(D), {
2651
2651
  padding: "md",
2652
2652
  class: "admin-widget admin-donut-widget"
2653
2653
  }, {
2654
2654
  default: m(() => [
2655
- e.title ? (s(), c("header", jl, [
2656
- d("h3", Kl, h(e.title), 1)
2655
+ e.title ? (s(), c("header", Kl, [
2656
+ d("h3", Gl, h(e.title), 1)
2657
2657
  ])) : F("", !0),
2658
- d("div", Gl, [
2658
+ d("div", Hl, [
2659
2659
  (s(), c("svg", {
2660
2660
  viewBox: "0 0 120 120",
2661
2661
  class: "admin-donut-widget__svg",
2662
2662
  role: "img",
2663
2663
  "aria-label": e.title
2664
2664
  }, [
2665
- (s(!0), c(T, null, I(a.value, (u, f) => (s(), c("path", {
2665
+ (s(!0), c(T, null, B(a.value, (u, f) => (s(), c("path", {
2666
2666
  key: f,
2667
2667
  d: u.path,
2668
2668
  fill: u.color
2669
2669
  }, [
2670
2670
  d("title", null, h(u.label) + ": " + h(u.value) + " (" + h(u.pct) + "%)", 1)
2671
- ], 8, Xl))), 128)),
2671
+ ], 8, Jl))), 128)),
2672
2672
  i[0] || (i[0] = d("circle", {
2673
2673
  cx: "60",
2674
2674
  cy: "60",
2675
2675
  r: "30",
2676
2676
  fill: "var(--uid-surface-raised)"
2677
2677
  }, null, -1))
2678
- ], 8, Hl)),
2679
- d("ul", Jl, [
2680
- (s(!0), c(T, null, I(a.value, (u, f) => (s(), c("li", { key: f }, [
2678
+ ], 8, Xl)),
2679
+ d("ul", Yl, [
2680
+ (s(!0), c(T, null, B(a.value, (u, f) => (s(), c("li", { key: f }, [
2681
2681
  d("span", {
2682
2682
  class: "admin-donut-widget__dot",
2683
- style: Fe({ background: u.color })
2683
+ style: Le({ background: u.color })
2684
2684
  }, null, 4),
2685
- d("span", Yl, h(u.label), 1),
2686
- d("span", Ql, h(u.pct) + "%", 1)
2685
+ d("span", Ql, h(u.label), 1),
2686
+ d("span", Zl, h(u.pct) + "%", 1)
2687
2687
  ]))), 128))
2688
2688
  ])
2689
2689
  ])
@@ -2691,10 +2691,10 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2691
2691
  _: 1
2692
2692
  }));
2693
2693
  }
2694
- }), es = {
2694
+ }), ts = {
2695
2695
  key: 0,
2696
2696
  class: "admin-widget__hd"
2697
- }, ts = { class: "admin-widget__title" }, ns = /* @__PURE__ */ L({
2697
+ }, ns = { class: "admin-widget__title" }, as = /* @__PURE__ */ L({
2698
2698
  __name: "RecentTableWidget",
2699
2699
  props: {
2700
2700
  title: { default: "" },
@@ -2703,15 +2703,15 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2703
2703
  emptyText: { default: "Нет данных" }
2704
2704
  },
2705
2705
  setup(e) {
2706
- return (t, n) => (s(), w(r(q), {
2706
+ return (t, n) => (s(), w(r(D), {
2707
2707
  padding: "md",
2708
2708
  class: "admin-widget"
2709
2709
  }, {
2710
2710
  default: m(() => [
2711
- e.title ? (s(), c("header", es, [
2712
- d("h3", ts, h(e.title), 1)
2711
+ e.title ? (s(), c("header", ts, [
2712
+ d("h3", ns, h(e.title), 1)
2713
2713
  ])) : F("", !0),
2714
- x(r(je), {
2714
+ x(r(Ke), {
2715
2715
  columns: e.columns,
2716
2716
  data: e.rows,
2717
2717
  "empty-text": e.emptyText
@@ -2720,10 +2720,10 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2720
2720
  _: 1
2721
2721
  }));
2722
2722
  }
2723
- }), as = {
2723
+ }), ls = {
2724
2724
  key: 0,
2725
2725
  class: "admin-widget__hd"
2726
- }, ls = { class: "admin-widget__title" }, ss = /* @__PURE__ */ L({
2726
+ }, ss = { class: "admin-widget__title" }, is = /* @__PURE__ */ L({
2727
2727
  __name: "HeatmapWidget",
2728
2728
  props: {
2729
2729
  title: { default: "" },
@@ -2733,15 +2733,15 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2733
2733
  gap: { default: 2 }
2734
2734
  },
2735
2735
  setup(e) {
2736
- return (t, n) => (s(), w(r(q), {
2736
+ return (t, n) => (s(), w(r(D), {
2737
2737
  padding: "md",
2738
2738
  class: "admin-widget"
2739
2739
  }, {
2740
2740
  default: m(() => [
2741
- e.title ? (s(), c("header", as, [
2742
- d("h3", ls, h(e.title), 1)
2741
+ e.title ? (s(), c("header", ls, [
2742
+ d("h3", ss, h(e.title), 1)
2743
2743
  ])) : F("", !0),
2744
- x(r(Vt), {
2744
+ x(r(qt), {
2745
2745
  data: e.data,
2746
2746
  levels: e.levels,
2747
2747
  color: e.color,
@@ -2751,10 +2751,10 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2751
2751
  _: 1
2752
2752
  }));
2753
2753
  }
2754
- }), is = {
2754
+ }), os = {
2755
2755
  key: 0,
2756
2756
  class: "admin-widget__hd"
2757
- }, os = { class: "admin-widget__title" }, rs = { style: { display: "flex", "justify-content": "center" } }, us = /* @__PURE__ */ L({
2757
+ }, rs = { class: "admin-widget__title" }, us = { style: { display: "flex", "justify-content": "center" } }, ds = /* @__PURE__ */ L({
2758
2758
  __name: "GaugeWidget",
2759
2759
  props: {
2760
2760
  title: { default: "" },
@@ -2776,16 +2776,16 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2776
2776
  warning: "warning",
2777
2777
  negative: "danger"
2778
2778
  }, o = p(() => n[t.tone]);
2779
- return (a, l) => (s(), w(r(q), {
2779
+ return (a, l) => (s(), w(r(D), {
2780
2780
  padding: "md",
2781
2781
  class: "admin-widget"
2782
2782
  }, {
2783
2783
  default: m(() => [
2784
- e.title ? (s(), c("header", is, [
2785
- d("h3", os, h(e.title), 1)
2784
+ e.title ? (s(), c("header", os, [
2785
+ d("h3", rs, h(e.title), 1)
2786
2786
  ])) : F("", !0),
2787
- d("div", rs, [
2788
- x(r(zt), {
2787
+ d("div", us, [
2788
+ x(r(Dt), {
2789
2789
  value: e.value,
2790
2790
  min: e.min,
2791
2791
  max: e.max,
@@ -2802,49 +2802,49 @@ const Ya = { class: "admin-page admin-resource-view" }, Qa = { class: "admin-pag
2802
2802
  _: 1
2803
2803
  }));
2804
2804
  }
2805
- }), ds = {
2805
+ }), cs = {
2806
2806
  key: 0,
2807
2807
  class: "admin-widget__hd"
2808
- }, cs = { class: "admin-widget__title" }, ms = { class: "admin-markdown-widget" }, fs = /* @__PURE__ */ L({
2808
+ }, ms = { class: "admin-widget__title" }, fs = { class: "admin-markdown-widget" }, vs = /* @__PURE__ */ L({
2809
2809
  __name: "MarkdownWidget",
2810
2810
  props: {
2811
2811
  title: { default: "" },
2812
2812
  content: {}
2813
2813
  },
2814
2814
  setup(e) {
2815
- return (t, n) => (s(), w(r(q), {
2815
+ return (t, n) => (s(), w(r(D), {
2816
2816
  padding: "md",
2817
2817
  class: "admin-widget"
2818
2818
  }, {
2819
2819
  default: m(() => [
2820
- e.title ? (s(), c("header", ds, [
2821
- d("h3", cs, h(e.title), 1)
2820
+ e.title ? (s(), c("header", cs, [
2821
+ d("h3", ms, h(e.title), 1)
2822
2822
  ])) : F("", !0),
2823
- d("div", ms, h(e.content), 1)
2823
+ d("div", fs, h(e.content), 1)
2824
2824
  ]),
2825
2825
  _: 1
2826
2826
  }));
2827
2827
  }
2828
2828
  });
2829
- function vs() {
2830
- Al({
2831
- stat: Bl,
2832
- "bar-chart": Wl,
2833
- "donut-chart": Zl,
2834
- "recent-table": ns,
2835
- heatmap: ss,
2836
- gauge: us,
2837
- markdown: fs
2829
+ function ps() {
2830
+ Rl({
2831
+ stat: Vl,
2832
+ "bar-chart": jl,
2833
+ "donut-chart": es,
2834
+ "recent-table": as,
2835
+ heatmap: is,
2836
+ gauge: ds,
2837
+ markdown: vs
2838
2838
  });
2839
2839
  }
2840
- function ps(e) {
2840
+ function gs(e) {
2841
2841
  return e.success === !0;
2842
2842
  }
2843
2843
  function to(e) {
2844
2844
  return e.success === !1;
2845
2845
  }
2846
- function gs(e) {
2847
- const t = Qt.create({
2846
+ function hs(e) {
2847
+ const t = en.create({
2848
2848
  baseURL: e.baseURL,
2849
2849
  withCredentials: !0,
2850
2850
  headers: {
@@ -2853,15 +2853,15 @@ function gs(e) {
2853
2853
  }
2854
2854
  });
2855
2855
  e.csrfToken && (t.defaults.headers.common["X-CSRF-TOKEN"] = e.csrfToken), e.locale && (t.defaults.headers.common["X-Admin-Locale"] = e.locale), t.interceptors.request.use((a) => {
2856
- const l = hs("XSRF-TOKEN");
2856
+ const l = _s("XSRF-TOKEN");
2857
2857
  return l && a.headers.set("X-XSRF-TOKEN", decodeURIComponent(l)), a;
2858
2858
  }), t.interceptors.response.use(
2859
2859
  (a) => {
2860
2860
  const l = a.data;
2861
2861
  if (l && typeof l == "object" && "success" in l) {
2862
- if (ps(l))
2862
+ if (gs(l))
2863
2863
  return a.data = l.payload, a;
2864
- throw Ye(a.status, l.payload);
2864
+ throw Qe(a.status, l.payload);
2865
2865
  }
2866
2866
  return a;
2867
2867
  },
@@ -2870,10 +2870,10 @@ function gs(e) {
2870
2870
  const l = a.response.status, i = a.response.data?.payload ?? {
2871
2871
  errorKey: "unknown",
2872
2872
  message: a.message
2873
- }, u = Ye(l, i);
2874
- return u instanceof vt && e.onUnauthenticated?.(), Promise.reject(u);
2873
+ }, u = Qe(l, i);
2874
+ return u instanceof pt && e.onUnauthenticated?.(), Promise.reject(u);
2875
2875
  }
2876
- return Promise.reject(new Pe(a.message));
2876
+ return Promise.reject(new Te(a.message));
2877
2877
  }
2878
2878
  );
2879
2879
  const n = (a, l, i) => t[a](l, i).then((u) => u.data), o = (a, l, i, u) => t[a](l, i, u).then((f) => f.data);
@@ -2889,26 +2889,26 @@ function gs(e) {
2889
2889
  }
2890
2890
  };
2891
2891
  }
2892
- function hs(e) {
2892
+ function _s(e) {
2893
2893
  if (typeof document > "u") return null;
2894
- const t = document.cookie.match(new RegExp("(^|; )" + _s(e) + "=([^;]*)"));
2894
+ const t = document.cookie.match(new RegExp("(^|; )" + ys(e) + "=([^;]*)"));
2895
2895
  return t ? t[2] : null;
2896
2896
  }
2897
- function _s(e) {
2897
+ function ys(e) {
2898
2898
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
2899
2899
  }
2900
- function we(e, t) {
2900
+ function $e(e, t) {
2901
2901
  const n = e.permissions?.[t];
2902
2902
  return typeof n == "string" && n.length > 0 ? [n] : [];
2903
2903
  }
2904
- function ys(e, t) {
2904
+ function bs(e, t) {
2905
2905
  const n = e.permissions?.[t];
2906
2906
  return typeof n == "string" && n.length > 0 ? [n] : [];
2907
2907
  }
2908
- function bs(e) {
2908
+ function ks(e) {
2909
2909
  return Array.isArray(e.permission) ? e.permission : typeof e.permission == "string" && e.permission.length > 0 ? [e.permission] : [];
2910
2910
  }
2911
- function ks(e, t) {
2911
+ function ws(e, t) {
2912
2912
  const n = e.slug, o = `/r/${n}`;
2913
2913
  return [
2914
2914
  {
@@ -2920,7 +2920,7 @@ function ks(e, t) {
2920
2920
  kind: "resource",
2921
2921
  slug: n,
2922
2922
  title: e.label,
2923
- permissions: we(e, "view")
2923
+ permissions: $e(e, "view")
2924
2924
  },
2925
2925
  // slug передаётся в page-component'ы как prop. Конкретный slug запекаем в
2926
2926
  // function-mode, чтобы page видел его одинаково и через named-route, и через
@@ -2936,7 +2936,7 @@ function ks(e, t) {
2936
2936
  kind: "resource",
2937
2937
  slug: n,
2938
2938
  title: `${e.label}: создать`,
2939
- permissions: we(e, "create")
2939
+ permissions: $e(e, "create")
2940
2940
  },
2941
2941
  props: { slug: n }
2942
2942
  },
@@ -2949,7 +2949,7 @@ function ks(e, t) {
2949
2949
  kind: "resource",
2950
2950
  slug: n,
2951
2951
  title: `${e.label}: редактирование`,
2952
- permissions: we(e, "update")
2952
+ permissions: $e(e, "update")
2953
2953
  },
2954
2954
  // slug запекаем, id из route-params.
2955
2955
  props: (a) => ({ slug: n, id: a.params.id })
@@ -2963,13 +2963,13 @@ function ks(e, t) {
2963
2963
  kind: "resource",
2964
2964
  slug: n,
2965
2965
  title: e.label,
2966
- permissions: we(e, "view")
2966
+ permissions: $e(e, "view")
2967
2967
  },
2968
2968
  props: (a) => ({ slug: n, id: a.params.id })
2969
2969
  }
2970
2970
  ];
2971
2971
  }
2972
- function ws(e, t) {
2972
+ function $s(e, t) {
2973
2973
  return {
2974
2974
  path: `/screens/${e.slug}`,
2975
2975
  name: `admin.screen.${e.slug}`,
@@ -2979,11 +2979,11 @@ function ws(e, t) {
2979
2979
  kind: "screen",
2980
2980
  slug: e.slug,
2981
2981
  title: e.name,
2982
- permissions: bs(e)
2982
+ permissions: ks(e)
2983
2983
  }
2984
2984
  };
2985
2985
  }
2986
- function $s(e, t) {
2986
+ function xs(e, t) {
2987
2987
  return {
2988
2988
  path: `/settings/${e.slug}`,
2989
2989
  name: `admin.settings.${e.slug}`,
@@ -2993,11 +2993,11 @@ function $s(e, t) {
2993
2993
  kind: "settings",
2994
2994
  slug: e.slug,
2995
2995
  title: e.label,
2996
- permissions: ys(e, "view")
2996
+ permissions: bs(e, "view")
2997
2997
  }
2998
2998
  };
2999
2999
  }
3000
- function xs(e, t) {
3000
+ function Cs(e, t) {
3001
3001
  if (typeof e.slug != "string" || e.slug.length === 0) return null;
3002
3002
  const n = e.permission, o = Array.isArray(n) ? n : typeof n == "string" && n.length > 0 ? [n] : [];
3003
3003
  return {
@@ -3013,27 +3013,27 @@ function xs(e, t) {
3013
3013
  }
3014
3014
  };
3015
3015
  }
3016
- function Cs(e, t) {
3016
+ function Ss(e, t) {
3017
3017
  if (e === null) return [];
3018
3018
  const n = [];
3019
3019
  for (const o of e.resources)
3020
- n.push(...ks(o, t));
3020
+ n.push(...ws(o, t));
3021
3021
  for (const o of e.screens)
3022
- n.push(ws(o, t));
3023
- for (const o of e.settings)
3024
3022
  n.push($s(o, t));
3023
+ for (const o of e.settings)
3024
+ n.push(xs(o, t));
3025
3025
  for (const o of e.dashboards) {
3026
- const a = xs(o, t);
3026
+ const a = Cs(o, t);
3027
3027
  a && n.push(a);
3028
3028
  }
3029
3029
  return n;
3030
3030
  }
3031
- function Ss(e = {}) {
3031
+ function As(e = {}) {
3032
3032
  const t = e.loginRouteName ?? "admin.login", n = e.forbiddenRouteName ?? "admin.forbidden", o = e.redirectQueryKey ?? "redirect";
3033
3033
  return (a) => {
3034
3034
  if (a.name === t)
3035
3035
  return !0;
3036
- const l = J();
3036
+ const l = Y();
3037
3037
  if (a.meta?.requiresAuth === !0 && !l.isAuthenticated)
3038
3038
  return {
3039
3039
  name: t,
@@ -3048,7 +3048,7 @@ function Ss(e = {}) {
3048
3048
  return Array.isArray(u) && u.length > 0 && !l.hasAnyPermission(u) ? { name: n } : !0;
3049
3049
  };
3050
3050
  }
3051
- function As(e = {}) {
3051
+ function Rs(e = {}) {
3052
3052
  const t = e.template, n = e.brand ?? "", o = e.fallback ?? "";
3053
3053
  return (a) => {
3054
3054
  if (typeof document > "u") return;
@@ -3057,17 +3057,17 @@ function As(e = {}) {
3057
3057
  t ? i = t.replace("{title}", l).replace("{brand}", n) : l && n ? i = `${l} · ${n}` : i = l || n, document.title = i;
3058
3058
  };
3059
3059
  }
3060
- const Rs = [
3060
+ const Us = [
3061
3061
  "admin.resource.",
3062
3062
  "admin.screen.",
3063
3063
  "admin.settings.",
3064
3064
  "admin.dashboard."
3065
3065
  ];
3066
- function Us(e) {
3067
- return typeof e != "string" ? !1 : Rs.some((t) => e.startsWith(t));
3068
- }
3069
3066
  function Es(e) {
3070
- const t = e.base ?? "/admin", n = e.history ?? it(t), o = [
3067
+ return typeof e != "string" ? !1 : Us.some((t) => e.startsWith(t));
3068
+ }
3069
+ function Fs(e) {
3070
+ const t = e.base ?? "/admin", n = e.history ?? ot(t), o = [
3071
3071
  {
3072
3072
  path: "/login",
3073
3073
  name: "admin.login",
@@ -3103,22 +3103,22 @@ function Es(e) {
3103
3103
  name: "admin.notFound",
3104
3104
  component: e.components.notFound,
3105
3105
  meta: { kind: "system", title: "404" }
3106
- }, l = Et({
3106
+ }, l = Lt({
3107
3107
  history: n,
3108
3108
  routes: [...o, ...e.extraRoutes ?? [], a]
3109
3109
  });
3110
- return l.beforeEach(Ss(e.authGuard)), l.afterEach(As(e.titleGuard)), l.replaceManifestRoutes = (i) => {
3110
+ return l.beforeEach(As(e.authGuard)), l.afterEach(Rs(e.titleGuard)), l.replaceManifestRoutes = (i) => {
3111
3111
  const u = l.getRoutes();
3112
3112
  for (const v of u)
3113
- Us(v.name) && l.removeRoute(v.name);
3113
+ Es(v.name) && l.removeRoute(v.name);
3114
3114
  l.hasRoute("admin.notFound") && l.removeRoute("admin.notFound");
3115
- const f = Cs(i, e.components);
3115
+ const f = Ss(i, e.components);
3116
3116
  for (const v of f)
3117
3117
  l.addRoute(v);
3118
3118
  l.addRoute(a);
3119
3119
  }, l;
3120
3120
  }
3121
- const X = /* @__PURE__ */ L({
3121
+ const J = /* @__PURE__ */ L({
3122
3122
  __name: "TextField",
3123
3123
  props: {
3124
3124
  name: {},
@@ -3132,11 +3132,11 @@ const X = /* @__PURE__ */ L({
3132
3132
  autocomplete: { default: null }
3133
3133
  },
3134
3134
  setup(e) {
3135
- const t = e, n = de(), o = p(() => n.getField(t.name) ?? ""), a = p(() => n.errors[t.name]?.[0]);
3135
+ const t = e, n = ce(), o = p(() => n.getField(t.name) ?? ""), a = p(() => n.errors[t.name]?.[0]);
3136
3136
  function l(i) {
3137
3137
  n.setField(t.name, i);
3138
3138
  }
3139
- return (i, u) => (s(), w(r(re), {
3139
+ return (i, u) => (s(), w(r(ue), {
3140
3140
  "model-value": o.value,
3141
3141
  type: e.inputType,
3142
3142
  label: e.label ?? void 0,
@@ -3151,7 +3151,7 @@ const X = /* @__PURE__ */ L({
3151
3151
  "onUpdate:modelValue": l
3152
3152
  }, null, 8, ["model-value", "type", "label", "hint", "error", "placeholder", "required", "disabled", "readonly", "name", "autocomplete"]));
3153
3153
  }
3154
- }), $e = /* @__PURE__ */ L({
3154
+ }), xe = /* @__PURE__ */ L({
3155
3155
  __name: "TextAreaField",
3156
3156
  props: {
3157
3157
  name: {},
@@ -3164,11 +3164,11 @@ const X = /* @__PURE__ */ L({
3164
3164
  readonly: { type: Boolean, default: !1 }
3165
3165
  },
3166
3166
  setup(e) {
3167
- const t = e, n = de(), o = p(() => n.getField(t.name) ?? ""), a = p(() => n.errors[t.name]?.[0]);
3167
+ const t = e, n = ce(), o = p(() => n.getField(t.name) ?? ""), a = p(() => n.errors[t.name]?.[0]);
3168
3168
  function l(i) {
3169
3169
  n.setField(t.name, i);
3170
3170
  }
3171
- return (i, u) => (s(), w(r(ye), {
3171
+ return (i, u) => (s(), w(r(be), {
3172
3172
  label: e.label ?? void 0,
3173
3173
  hint: e.help ?? void 0,
3174
3174
  error: a.value,
@@ -3176,7 +3176,7 @@ const X = /* @__PURE__ */ L({
3176
3176
  disabled: e.disabled
3177
3177
  }, {
3178
3178
  default: m(() => [
3179
- x(r(qt), {
3179
+ x(r(Ot), {
3180
3180
  "model-value": o.value,
3181
3181
  rows: e.rows,
3182
3182
  placeholder: e.placeholder ?? void 0,
@@ -3189,7 +3189,7 @@ const X = /* @__PURE__ */ L({
3189
3189
  _: 1
3190
3190
  }, 8, ["label", "hint", "error", "required", "disabled"]));
3191
3191
  }
3192
- }), Ve = /* @__PURE__ */ L({
3192
+ }), ze = /* @__PURE__ */ L({
3193
3193
  __name: "NumberField",
3194
3194
  props: {
3195
3195
  name: {},
@@ -3204,14 +3204,14 @@ const X = /* @__PURE__ */ L({
3204
3204
  readonly: { type: Boolean, default: !1 }
3205
3205
  },
3206
3206
  setup(e) {
3207
- const t = e, n = de(), o = p(() => {
3207
+ const t = e, n = ce(), o = p(() => {
3208
3208
  const i = n.getField(t.name);
3209
3209
  return i == null || i === "" ? null : typeof i == "number" ? i : Number(i);
3210
3210
  }), a = p(() => n.errors[t.name]?.[0]);
3211
3211
  function l(i) {
3212
3212
  n.setField(t.name, i);
3213
3213
  }
3214
- return (i, u) => (s(), w(r(ye), {
3214
+ return (i, u) => (s(), w(r(be), {
3215
3215
  label: e.label ?? void 0,
3216
3216
  hint: e.help ?? void 0,
3217
3217
  error: a.value,
@@ -3219,7 +3219,7 @@ const X = /* @__PURE__ */ L({
3219
3219
  disabled: e.disabled
3220
3220
  }, {
3221
3221
  default: m(() => [
3222
- x(r(Dt), {
3222
+ x(r(Wt), {
3223
3223
  "model-value": o.value,
3224
3224
  min: e.min ?? void 0,
3225
3225
  max: e.max ?? void 0,
@@ -3234,7 +3234,7 @@ const X = /* @__PURE__ */ L({
3234
3234
  _: 1
3235
3235
  }, 8, ["label", "hint", "error", "required", "disabled"]));
3236
3236
  }
3237
- }), te = /* @__PURE__ */ L({
3237
+ }), ne = /* @__PURE__ */ L({
3238
3238
  __name: "SelectField",
3239
3239
  props: {
3240
3240
  name: {},
@@ -3249,14 +3249,14 @@ const X = /* @__PURE__ */ L({
3249
3249
  size: { default: "md" }
3250
3250
  },
3251
3251
  setup(e) {
3252
- const t = e, n = de(), o = p(() => {
3252
+ const t = e, n = ce(), o = p(() => {
3253
3253
  const i = n.getField(t.name);
3254
3254
  return i == null || i === "" ? null : i;
3255
3255
  }), a = p(() => n.errors[t.name]?.[0]);
3256
3256
  function l(i) {
3257
3257
  n.setField(t.name, i);
3258
3258
  }
3259
- return (i, u) => (s(), w(r(ye), {
3259
+ return (i, u) => (s(), w(r(be), {
3260
3260
  label: e.label ?? void 0,
3261
3261
  hint: e.help ?? void 0,
3262
3262
  error: a.value,
@@ -3264,7 +3264,7 @@ const X = /* @__PURE__ */ L({
3264
3264
  disabled: e.disabled
3265
3265
  }, {
3266
3266
  default: m(() => [
3267
- x(r(Ae), {
3267
+ x(r(Re), {
3268
3268
  "model-value": o.value,
3269
3269
  options: e.options,
3270
3270
  placeholder: e.placeholder ?? void 0,
@@ -3278,7 +3278,7 @@ const X = /* @__PURE__ */ L({
3278
3278
  _: 1
3279
3279
  }, 8, ["label", "hint", "error", "required", "disabled"]));
3280
3280
  }
3281
- }), ze = /* @__PURE__ */ L({
3281
+ }), qe = /* @__PURE__ */ L({
3282
3282
  __name: "CheckboxField",
3283
3283
  props: {
3284
3284
  name: {},
@@ -3289,11 +3289,11 @@ const X = /* @__PURE__ */ L({
3289
3289
  disabled: { type: Boolean, default: !1 }
3290
3290
  },
3291
3291
  setup(e) {
3292
- const t = e, n = de(), o = p(() => !!n.getField(t.name)), a = p(() => n.errors[t.name]?.[0]);
3292
+ const t = e, n = ce(), o = p(() => !!n.getField(t.name)), a = p(() => n.errors[t.name]?.[0]);
3293
3293
  function l(i) {
3294
3294
  n.setField(t.name, i);
3295
3295
  }
3296
- return (i, u) => (s(), w(r(ye), {
3296
+ return (i, u) => (s(), w(r(be), {
3297
3297
  label: e.label ?? void 0,
3298
3298
  hint: e.help ?? void 0,
3299
3299
  error: a.value,
@@ -3301,7 +3301,7 @@ const X = /* @__PURE__ */ L({
3301
3301
  disabled: e.disabled
3302
3302
  }, {
3303
3303
  default: m(() => [
3304
- x(r(Se), {
3304
+ x(r(Ae), {
3305
3305
  "model-value": o.value,
3306
3306
  disabled: e.disabled,
3307
3307
  name: e.name,
@@ -3318,7 +3318,7 @@ const X = /* @__PURE__ */ L({
3318
3318
  _: 1
3319
3319
  }, 8, ["label", "hint", "error", "required", "disabled"]));
3320
3320
  }
3321
- }), oe = /* @__PURE__ */ L({
3321
+ }), re = /* @__PURE__ */ L({
3322
3322
  __name: "DateField",
3323
3323
  props: {
3324
3324
  name: {},
@@ -3331,14 +3331,14 @@ const X = /* @__PURE__ */ L({
3331
3331
  disabled: { type: Boolean, default: !1 }
3332
3332
  },
3333
3333
  setup(e) {
3334
- const t = e, n = de(), o = p(() => {
3334
+ const t = e, n = ce(), o = p(() => {
3335
3335
  const i = n.getField(t.name);
3336
3336
  return i == null || i === "" ? null : String(i);
3337
3337
  }), a = p(() => n.errors[t.name]?.[0]);
3338
3338
  function l(i) {
3339
3339
  n.setField(t.name, i);
3340
3340
  }
3341
- return (i, u) => (s(), w(r(ye), {
3341
+ return (i, u) => (s(), w(r(be), {
3342
3342
  label: e.label ?? void 0,
3343
3343
  hint: e.help ?? void 0,
3344
3344
  error: a.value,
@@ -3346,7 +3346,7 @@ const X = /* @__PURE__ */ L({
3346
3346
  disabled: e.disabled
3347
3347
  }, {
3348
3348
  default: m(() => [
3349
- x(r(Ot), {
3349
+ x(r(jt), {
3350
3350
  "model-value": o.value,
3351
3351
  min: e.min ?? void 0,
3352
3352
  max: e.max ?? void 0,
@@ -3358,20 +3358,20 @@ const X = /* @__PURE__ */ L({
3358
3358
  _: 1
3359
3359
  }, 8, ["label", "hint", "error", "required", "disabled"]));
3360
3360
  }
3361
- }), nt = /* @__PURE__ */ L({
3361
+ }), at = /* @__PURE__ */ L({
3362
3362
  __name: "RowsLayout",
3363
3363
  props: {
3364
3364
  items: {},
3365
3365
  gap: { default: "var(--uid-space-md)" }
3366
3366
  },
3367
3367
  setup(e) {
3368
- return (t, n) => (s(), w(r(Wt), {
3368
+ return (t, n) => (s(), w(r(Kt), {
3369
3369
  direction: "column",
3370
3370
  gap: e.gap,
3371
3371
  align: "stretch"
3372
3372
  }, {
3373
3373
  default: m(() => [
3374
- (s(!0), c(T, null, I(e.items, (o, a) => (s(), w(be, {
3374
+ (s(!0), c(T, null, B(e.items, (o, a) => (s(), w(ke, {
3375
3375
  key: a,
3376
3376
  node: o
3377
3377
  }, null, 8, ["node"]))), 128))
@@ -3379,7 +3379,7 @@ const X = /* @__PURE__ */ L({
3379
3379
  _: 1
3380
3380
  }, 8, ["gap"]));
3381
3381
  }
3382
- }), Fs = /* @__PURE__ */ L({
3382
+ }), Ls = /* @__PURE__ */ L({
3383
3383
  __name: "ColumnsLayout",
3384
3384
  props: {
3385
3385
  items: {},
@@ -3392,32 +3392,32 @@ const X = /* @__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(jt), {
3395
+ return (a, l) => (s(), w(r(Gt), {
3396
3396
  cols: e.cols,
3397
3397
  gap: e.gap
3398
3398
  }, {
3399
3399
  default: m(() => [
3400
- (s(!0), c(T, null, I(e.items, (i, u) => (s(), c("div", {
3400
+ (s(!0), c(T, null, B(e.items, (i, u) => (s(), c("div", {
3401
3401
  key: u,
3402
3402
  class: "admin-columns__item",
3403
- style: Fe({ gridColumn: `span ${o(i)} / span ${o(i)}` })
3403
+ style: Le({ gridColumn: `span ${o(i)} / span ${o(i)}` })
3404
3404
  }, [
3405
- x(be, { node: i }, null, 8, ["node"])
3405
+ x(ke, { node: i }, null, 8, ["node"])
3406
3406
  ], 4))), 128))
3407
3407
  ]),
3408
3408
  _: 1
3409
3409
  }, 8, ["cols", "gap"]));
3410
3410
  }
3411
- }), Ls = {
3411
+ }), Ps = {
3412
3412
  key: 0,
3413
3413
  class: "admin-section__header"
3414
- }, Ps = {
3414
+ }, Ts = {
3415
3415
  key: 0,
3416
3416
  class: "admin-section__title"
3417
- }, Ts = {
3417
+ }, Ms = {
3418
3418
  key: 1,
3419
3419
  class: "admin-section__description"
3420
- }, Ms = { class: "admin-section__body" }, ge = /* @__PURE__ */ L({
3420
+ }, Ns = { class: "admin-section__body" }, he = /* @__PURE__ */ L({
3421
3421
  __name: "SectionLayout",
3422
3422
  props: {
3423
3423
  items: {},
@@ -3425,17 +3425,17 @@ const X = /* @__PURE__ */ L({
3425
3425
  description: { default: null }
3426
3426
  },
3427
3427
  setup(e) {
3428
- return (t, n) => (s(), w(r(q), {
3428
+ return (t, n) => (s(), w(r(D), {
3429
3429
  padding: "md",
3430
3430
  class: "admin-section"
3431
3431
  }, {
3432
3432
  default: m(() => [
3433
- e.title || e.description ? (s(), c("header", Ls, [
3434
- e.title ? (s(), c("h3", Ps, h(e.title), 1)) : F("", !0),
3435
- e.description ? (s(), c("p", Ts, h(e.description), 1)) : F("", !0)
3433
+ e.title || e.description ? (s(), c("header", Ps, [
3434
+ e.title ? (s(), c("h3", Ts, h(e.title), 1)) : F("", !0),
3435
+ e.description ? (s(), c("p", Ms, h(e.description), 1)) : F("", !0)
3436
3436
  ])) : F("", !0),
3437
- d("div", Ms, [
3438
- (s(!0), c(T, null, I(e.items, (o, a) => (s(), w(be, {
3437
+ d("div", Ns, [
3438
+ (s(!0), c(T, null, B(e.items, (o, a) => (s(), w(ke, {
3439
3439
  key: a,
3440
3440
  node: o
3441
3441
  }, null, 8, ["node"]))), 128))
@@ -3444,7 +3444,7 @@ const X = /* @__PURE__ */ L({
3444
3444
  _: 1
3445
3445
  }));
3446
3446
  }
3447
- }), Ns = /* @__PURE__ */ L({
3447
+ }), Is = /* @__PURE__ */ L({
3448
3448
  __name: "TabsLayout",
3449
3449
  props: {
3450
3450
  items: {},
@@ -3460,12 +3460,12 @@ const X = /* @__PURE__ */ L({
3460
3460
  function i(u) {
3461
3461
  l.value = u, o("update:active", u);
3462
3462
  }
3463
- return (u, f) => (s(), w(r(ut), {
3463
+ return (u, f) => (s(), w(r(dt), {
3464
3464
  "model-value": l.value,
3465
3465
  "onUpdate:modelValue": i
3466
3466
  }, {
3467
3467
  list: m(() => [
3468
- (s(!0), c(T, null, I(e.items, (v, b) => (s(), w(r(Ce), {
3468
+ (s(!0), c(T, null, B(e.items, (v, b) => (s(), w(r(Se), {
3469
3469
  key: a(v, b),
3470
3470
  value: a(v, b)
3471
3471
  }, {
@@ -3476,13 +3476,13 @@ const X = /* @__PURE__ */ L({
3476
3476
  }, 1032, ["value"]))), 128))
3477
3477
  ]),
3478
3478
  default: m(() => [
3479
- (s(!0), c(T, null, I(e.items, (v, b) => (s(), w(r(dt), {
3479
+ (s(!0), c(T, null, B(e.items, (v, b) => (s(), w(r(ct), {
3480
3480
  key: `panel-${a(v, b)}`,
3481
3481
  value: a(v, b)
3482
3482
  }, {
3483
3483
  default: m(() => [
3484
- (s(!0), c(T, null, I(v.items, (S, A) => (s(), w(be, {
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
  ]),
@@ -3493,65 +3493,65 @@ const X = /* @__PURE__ */ L({
3493
3493
  }, 8, ["model-value"]));
3494
3494
  }
3495
3495
  });
3496
- function Is() {
3497
- Ua({
3496
+ function Bs() {
3497
+ Ea({
3498
3498
  fields: {
3499
3499
  // Backend Field-классы из dskripchenko/laravel-admin отдают эти fieldType()
3500
3500
  // строки. Соответствие см. core/src/Field/{Input,TextArea,Select,...}.php.
3501
- input: X,
3502
- text: X,
3503
- email: X,
3504
- url: X,
3505
- password: X,
3506
- tel: X,
3507
- search: X,
3508
- slug: X,
3509
- hidden: X,
3510
- label: X,
3511
- textarea: $e,
3501
+ input: J,
3502
+ text: J,
3503
+ email: J,
3504
+ url: J,
3505
+ password: J,
3506
+ tel: J,
3507
+ search: J,
3508
+ slug: J,
3509
+ hidden: J,
3510
+ label: J,
3511
+ textarea: xe,
3512
3512
  // Fallback для wysiwyg/markdown/code — обычный TextAreaField.
3513
3513
  // Реальный rich-editor host подключает через subpath:
3514
3514
  // import { QuillField } from '@dskripchenko/laravel-admin/quill'
3515
3515
  // registerField('wysiwyg', QuillField)
3516
- wysiwyg: $e,
3517
- markdown: $e,
3518
- code: $e,
3519
- number: Ve,
3520
- slider: Ve,
3521
- rating: Ve,
3522
- select: te,
3523
- combobox: te,
3524
- radio: te,
3525
- tags: te,
3526
- "morph-switcher": te,
3527
- relation: te,
3528
- cascader: te,
3529
- "tree-select": te,
3530
- checkbox: ze,
3531
- switcher: ze,
3532
- boolean: ze,
3533
- date: oe,
3534
- datetime: oe,
3535
- datepicker: oe,
3536
- "date-range": oe,
3537
- time: oe,
3538
- "time-picker": oe,
3539
- "color-picker": X
3516
+ wysiwyg: xe,
3517
+ markdown: xe,
3518
+ code: xe,
3519
+ number: ze,
3520
+ slider: ze,
3521
+ rating: ze,
3522
+ select: ne,
3523
+ combobox: ne,
3524
+ radio: ne,
3525
+ tags: ne,
3526
+ "morph-switcher": ne,
3527
+ relation: ne,
3528
+ cascader: ne,
3529
+ "tree-select": ne,
3530
+ checkbox: qe,
3531
+ switcher: qe,
3532
+ boolean: qe,
3533
+ date: re,
3534
+ datetime: re,
3535
+ datepicker: re,
3536
+ "date-range": re,
3537
+ time: re,
3538
+ "time-picker": re,
3539
+ "color-picker": J
3540
3540
  },
3541
3541
  layouts: {
3542
- rows: nt,
3543
- columns: Fs,
3544
- section: ge,
3545
- block: ge,
3546
- tabs: Ns,
3547
- accordion: ge,
3548
- group: nt,
3549
- step: ge,
3550
- wizard: ge
3542
+ rows: at,
3543
+ columns: Ls,
3544
+ section: he,
3545
+ block: he,
3546
+ tabs: Is,
3547
+ accordion: he,
3548
+ group: at,
3549
+ step: he,
3550
+ wizard: he
3551
3551
  }
3552
3552
  });
3553
3553
  }
3554
- const Bs = /* @__PURE__ */ L({
3554
+ const I = /* @__PURE__ */ L({
3555
3555
  __name: "TextEntry",
3556
3556
  props: {
3557
3557
  name: { default: "" },
@@ -3561,12 +3561,12 @@ const Bs = /* @__PURE__ */ L({
3561
3561
  mono: { type: Boolean, default: !1 }
3562
3562
  },
3563
3563
  setup(e) {
3564
- const t = e, n = Me(), o = p(() => {
3564
+ const t = e, n = Ne(), o = p(() => {
3565
3565
  let a = t.value;
3566
3566
  return a === void 0 && n && t.name && (a = n[t.name]), a == null || a === "" ? t.placeholder : String(a);
3567
3567
  });
3568
3568
  return (a, l) => (s(), c("span", {
3569
- class: Y(["admin-infolist-text", e.mono ? "admin-infolist-text--mono" : ""])
3569
+ class: Q(["admin-infolist-text", e.mono ? "admin-infolist-text--mono" : ""])
3570
3570
  }, h(o.value), 3));
3571
3571
  }
3572
3572
  }), Vs = {
@@ -3582,11 +3582,11 @@ const Bs = /* @__PURE__ */ L({
3582
3582
  variant: { default: void 0 }
3583
3583
  },
3584
3584
  setup(e) {
3585
- const t = e, n = Me(), o = p(() => {
3585
+ const t = e, n = Ne(), o = p(() => {
3586
3586
  let l = t.value;
3587
3587
  return l === void 0 && n && t.name && (l = n[t.name]), l == null ? "" : String(l);
3588
3588
  }), a = p(() => t.variant ? t.variant : t.map[o.value] ?? "default");
3589
- return (l, i) => o.value ? (s(), w(r(Ke), {
3589
+ return (l, i) => o.value ? (s(), w(r(Ge), {
3590
3590
  key: 0,
3591
3591
  variant: a.value
3592
3592
  }, {
@@ -3608,12 +3608,12 @@ const Bs = /* @__PURE__ */ L({
3608
3608
  falseLabel: { default: "" }
3609
3609
  },
3610
3610
  setup(e) {
3611
- const t = e, n = Me(), o = p(() => {
3611
+ const t = e, n = Ne(), o = p(() => {
3612
3612
  let i = t.value;
3613
3613
  return i === void 0 && n && t.name && (i = n[t.name]), !!i;
3614
3614
  }), a = p(() => o.value ? t.trueLabel : t.falseLabel), l = p(() => o.value ? t.trueIcon : t.falseIcon);
3615
3615
  return (i, u) => (s(), c("span", {
3616
- class: Y(["admin-infolist-icon", o.value ? "admin-infolist-icon--on" : "admin-infolist-icon--off"])
3616
+ class: Q(["admin-infolist-icon", o.value ? "admin-infolist-icon--on" : "admin-infolist-icon--off"])
3617
3617
  }, [
3618
3618
  d("span", {
3619
3619
  class: "admin-infolist-icon__glyph",
@@ -3625,7 +3625,7 @@ const Bs = /* @__PURE__ */ L({
3625
3625
  }), Ws = {
3626
3626
  key: 1,
3627
3627
  class: "admin-infolist-text"
3628
- }, at = /* @__PURE__ */ L({
3628
+ }, lt = /* @__PURE__ */ L({
3629
3629
  __name: "KeyValueEntry",
3630
3630
  props: {
3631
3631
  name: { default: "" },
@@ -3633,20 +3633,20 @@ const Bs = /* @__PURE__ */ L({
3633
3633
  value: { default: void 0 }
3634
3634
  },
3635
3635
  setup(e) {
3636
- const t = e, n = Me(), o = p(() => {
3636
+ const t = e, n = Ne(), o = p(() => {
3637
3637
  let l = t.value;
3638
3638
  return l === void 0 && n && t.name && (l = n[t.name]), l == null ? [] : typeof l != "object" ? [] : Object.entries(l);
3639
3639
  });
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(Kt), {
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, I(o.value, ([u, f]) => (s(), w(r(Gt), {
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
  }, {
@@ -3661,57 +3661,95 @@ const Bs = /* @__PURE__ */ L({
3661
3661
  }
3662
3662
  });
3663
3663
  function js() {
3664
- Ia({
3665
- text: Bs,
3664
+ Ba({
3665
+ // Дефолтные типы infolist (BadgeEntry::make() и т.п.).
3666
+ text: I,
3666
3667
  badge: zs,
3667
3668
  icon: Os,
3668
- keyvalue: at,
3669
- "key-value": at
3669
+ keyvalue: lt,
3670
+ "key-value": lt,
3671
+ // Маппинг от backend Field::fieldType() → TextEntry для view-режима.
3672
+ // Host'ы могут перебить registerInfolistEntry('wysiwyg', WysiwygEntry).
3673
+ input: I,
3674
+ email: I,
3675
+ url: I,
3676
+ password: I,
3677
+ tel: I,
3678
+ search: I,
3679
+ slug: I,
3680
+ hidden: I,
3681
+ label: I,
3682
+ textarea: I,
3683
+ wysiwyg: I,
3684
+ markdown: I,
3685
+ code: I,
3686
+ number: I,
3687
+ slider: I,
3688
+ rating: I,
3689
+ select: I,
3690
+ combobox: I,
3691
+ radio: I,
3692
+ tags: I,
3693
+ "morph-switcher": I,
3694
+ relation: I,
3695
+ cascader: I,
3696
+ "tree-select": I,
3697
+ checkbox: I,
3698
+ switcher: I,
3699
+ boolean: I,
3700
+ date: I,
3701
+ datetime: I,
3702
+ datepicker: I,
3703
+ "date-range": I,
3704
+ time: I,
3705
+ "time-picker": I,
3706
+ "color-picker": I
3670
3707
  });
3671
3708
  }
3672
3709
  function no(e, t = {}) {
3673
- const n = t.pages ?? {}, o = t.base ?? Ks(e.baseUrl) ?? "/admin", a = gs({
3710
+ const n = t.pages ?? {}, o = t.base ?? Ks(e.baseUrl) ?? "/admin", a = hs({
3674
3711
  baseURL: e.apiUrl,
3675
3712
  csrfToken: e.csrf
3676
3713
  });
3677
- Zt(a);
3678
- const l = St(Sn), i = Rt();
3679
- l.use(i), J().hydrate(e), He().hydrate(e), Ge().hydrate(e), Xe().hydrate(e), Is(), vs(), js();
3680
- const u = Es({
3714
+ tn(a);
3715
+ const l = Rt(An), i = Et();
3716
+ l.use(i), Y().hydrate(e), Xe().hydrate(e), He().hydrate(e), Je().hydrate(e), Bs(), ps(), js();
3717
+ const u = Fs({
3681
3718
  base: o,
3682
- history: t.router?.history ?? it(o),
3719
+ history: t.router?.history ?? ot(o),
3683
3720
  components: {
3684
- login: n.login ?? da,
3685
- home: n.home ?? Tn,
3686
- forbidden: n.forbidden ?? Nn,
3687
- notFound: n.notFound ?? Bn,
3688
- profile: n.profile ?? Cl,
3689
- resourceIndex: n.resourceIndex ?? Ra,
3690
- resourceCreate: n.resourceCreate ?? et,
3691
- resourceEdit: n.resourceEdit ?? et,
3692
- resourceView: n.resourceView ?? al,
3693
- dashboard: n.dashboard ?? Il,
3694
- settings: n.settings ?? On,
3695
- screen: n.screen ?? Gn
3721
+ login: n.login ?? ca,
3722
+ home: n.home ?? Mn,
3723
+ forbidden: n.forbidden ?? In,
3724
+ notFound: n.notFound ?? Vn,
3725
+ profile: n.profile ?? Sl,
3726
+ resourceIndex: n.resourceIndex ?? Ua,
3727
+ resourceCreate: n.resourceCreate ?? tt,
3728
+ resourceEdit: n.resourceEdit ?? tt,
3729
+ resourceView: n.resourceView ?? ll,
3730
+ dashboard: n.dashboard ?? Bl,
3731
+ settings: n.settings ?? Wn,
3732
+ screen: n.screen ?? Hn
3696
3733
  },
3697
3734
  extraRoutes: t.router?.extraRoutes,
3698
3735
  authGuard: t.router?.authGuard,
3699
3736
  titleGuard: t.router?.titleGuard
3700
3737
  });
3701
3738
  if (l.use(u), !t.skipManifestLoad) {
3702
- const f = se(), v = J(), b = () => {
3703
- f.load().then((S) => {
3704
- 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);
3705
3743
  const A = u.currentRoute.value;
3706
3744
  A.name === "admin.notFound" && A.fullPath !== "/" && u.replace(A.fullPath);
3707
- }).catch((S) => {
3708
- 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);
3709
3747
  });
3710
3748
  };
3711
- v.isAuthenticated && b(), ne(
3749
+ v.isAuthenticated && S(), ae(
3712
3750
  () => v.user,
3713
- (S, A) => {
3714
- S && !A && b();
3751
+ (R, A) => {
3752
+ R && !A && S();
3715
3753
  }
3716
3754
  );
3717
3755
  }
@@ -3734,7 +3772,7 @@ async function ao(e = {}) {
3734
3772
  const n = e.xhrUrl ?? "/system/bootstrap";
3735
3773
  return await e.client.get(n);
3736
3774
  } catch (n) {
3737
- if (n instanceof Pe)
3775
+ if (n instanceof Te)
3738
3776
  return null;
3739
3777
  throw n;
3740
3778
  }
@@ -3771,11 +3809,11 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
3771
3809
  },
3772
3810
  emits: ["update:open", "select-item"],
3773
3811
  setup(e, { emit: t }) {
3774
- const n = e, o = t, a = Xe();
3812
+ const n = e, o = t, a = Je();
3775
3813
  function l(g) {
3776
3814
  o("update:open", g);
3777
3815
  }
3778
- ne(
3816
+ ae(
3779
3817
  () => n.open,
3780
3818
  async (g) => {
3781
3819
  g && await a.load(a.lastFilter ?? "all", 1).catch(() => {
@@ -3804,10 +3842,10 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
3804
3842
  const U = g.data.level;
3805
3843
  return U === "success" || U === "warning" || U === "danger" ? U : "info";
3806
3844
  }
3807
- function A(g) {
3845
+ function R(g) {
3808
3846
  return g.data.title ?? "—";
3809
3847
  }
3810
- function R(g) {
3848
+ function A(g) {
3811
3849
  return g.data.body ?? "";
3812
3850
  }
3813
3851
  function _(g) {
@@ -3820,7 +3858,7 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
3820
3858
  const $ = Math.floor(y / 24);
3821
3859
  return $ < 7 ? `${$} д назад` : U.toLocaleDateString("ru-RU");
3822
3860
  }
3823
- return (g, U) => (s(), w(r(Ht), {
3861
+ return (g, U) => (s(), w(r(Jt), {
3824
3862
  "model-value": e.open,
3825
3863
  side: "right",
3826
3864
  width: "400px",
@@ -3833,7 +3871,7 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
3833
3871
  U[0] || (U[0] = C(" Уведомления ", -1)),
3834
3872
  r(a).unreadCount > 0 ? (s(), c("span", Js, " (" + h(r(a).unreadCount) + ") ", 1)) : F("", !0)
3835
3873
  ]),
3836
- r(a).unreadCount > 0 ? (s(), w(r(B), {
3874
+ r(a).unreadCount > 0 ? (s(), w(r(V), {
3837
3875
  key: 0,
3838
3876
  variant: "ghost",
3839
3877
  size: "sm",
@@ -3847,18 +3885,18 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
3847
3885
  ])
3848
3886
  ]),
3849
3887
  default: m(() => [
3850
- x(r(ut), {
3888
+ x(r(dt), {
3851
3889
  "model-value": i.value,
3852
3890
  "onUpdate:modelValue": u
3853
3891
  }, {
3854
3892
  list: m(() => [
3855
- x(r(Ce), { value: "all" }, {
3893
+ x(r(Se), { value: "all" }, {
3856
3894
  default: m(() => [...U[2] || (U[2] = [
3857
3895
  C("Все", -1)
3858
3896
  ])]),
3859
3897
  _: 1
3860
3898
  }),
3861
- x(r(Ce), { value: "unread" }, {
3899
+ x(r(Se), { value: "unread" }, {
3862
3900
  default: m(() => [
3863
3901
  U[3] || (U[3] = C(" Непрочитанные", -1)),
3864
3902
  r(a).unreadCount > 0 ? (s(), c(T, { key: 0 }, [
@@ -3867,7 +3905,7 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
3867
3905
  ]),
3868
3906
  _: 1
3869
3907
  }),
3870
- x(r(Ce), { value: "read" }, {
3908
+ x(r(Se), { value: "read" }, {
3871
3909
  default: m(() => [...U[4] || (U[4] = [
3872
3910
  C("Прочитанные", -1)
3873
3911
  ])]),
@@ -3875,16 +3913,16 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
3875
3913
  })
3876
3914
  ]),
3877
3915
  default: m(() => [
3878
- (s(), c(T, null, I(["all", "unread", "read"], (P) => x(r(dt), {
3916
+ (s(), c(T, null, B(["all", "unread", "read"], (P) => x(r(ct), {
3879
3917
  key: P,
3880
3918
  value: P
3881
3919
  }, {
3882
3920
  default: m(() => [
3883
3921
  d("ul", Ys, [
3884
3922
  r(a).loading ? (s(), c("li", Qs, " Загрузка… ")) : r(a).items.length === 0 ? (s(), c("li", Zs, " Нет уведомлений ")) : F("", !0),
3885
- (s(!0), c(T, null, I(r(a).items, (k) => (s(), c("li", {
3923
+ (s(!0), c(T, null, B(r(a).items, (k) => (s(), c("li", {
3886
3924
  key: k.id,
3887
- class: Y([
3925
+ class: Q([
3888
3926
  "admin-notifs__item",
3889
3927
  `admin-notifs__item--${S(k)}`,
3890
3928
  { "admin-notifs__item--unread": !k.read_at }
@@ -3897,10 +3935,10 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
3897
3935
  }, null, 8, ti),
3898
3936
  d("div", ni, [
3899
3937
  d("div", ai, [
3900
- 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)),
3901
3939
  d("span", ii, h(_(k.created_at)), 1)
3902
3940
  ]),
3903
- 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)
3904
3942
  ]),
3905
3943
  d("button", {
3906
3944
  type: "button",
@@ -3965,14 +4003,14 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
3965
4003
  function S(y, $) {
3966
4004
  b.value[y] = $ === null || $ === "" ? null : String($);
3967
4005
  }
3968
- function A() {
4006
+ function R() {
3969
4007
  return n.headers.map((y) => ({
3970
4008
  source: y.key,
3971
4009
  target: b.value[y.key] ?? null
3972
4010
  }));
3973
4011
  }
3974
- function R() {
3975
- o("mapping-submit", A()), u(2);
4012
+ function A() {
4013
+ o("mapping-submit", R()), u(2);
3976
4014
  }
3977
4015
  function _() {
3978
4016
  o("run-import"), u(3);
@@ -4001,7 +4039,7 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4001
4039
  d("h1", mi, h(e.title), 1)
4002
4040
  ]),
4003
4041
  d("div", fi, [
4004
- x(r(B), {
4042
+ x(r(V), {
4005
4043
  variant: "ghost",
4006
4044
  onClick: k
4007
4045
  }, {
@@ -4012,11 +4050,11 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4012
4050
  })
4013
4051
  ])
4014
4052
  ]),
4015
- x(r(Xt), {
4053
+ x(r(Yt), {
4016
4054
  steps: a,
4017
4055
  current: i.value
4018
4056
  }, null, 8, ["current"]),
4019
- i.value === 0 ? (s(), w(r(q), {
4057
+ i.value === 0 ? (s(), w(r(D), {
4020
4058
  key: 0,
4021
4059
  padding: "md",
4022
4060
  class: "admin-import-wizard__card"
@@ -4026,7 +4064,7 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4026
4064
  d("h3", null, "1. Загрузите файл"),
4027
4065
  d("p", null, "CSV / TSV / XLSX, до 50 MB")
4028
4066
  ], -1)),
4029
- x(r(Jt), {
4067
+ x(r(Qt), {
4030
4068
  "model-value": f.value,
4031
4069
  accept: ".csv,.tsv,.xlsx",
4032
4070
  "max-size": 50 * 1024 * 1024,
@@ -4037,7 +4075,7 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4037
4075
  }, null, 8, ["model-value"])
4038
4076
  ]),
4039
4077
  _: 1
4040
- })) : i.value === 1 ? (s(), w(r(q), {
4078
+ })) : i.value === 1 ? (s(), w(r(D), {
4041
4079
  key: 1,
4042
4080
  padding: "md",
4043
4081
  class: "admin-import-wizard__card"
@@ -4048,26 +4086,26 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4048
4086
  d("p", null, "Выберите поле ресурса для каждой колонки файла")
4049
4087
  ], -1)),
4050
4088
  e.headers.length === 0 ? (s(), c("div", vi, " Нет данных — host ещё не отдал headers. Загрузите файл сначала. ")) : (s(), c("div", pi, [
4051
- (s(!0), c(T, null, I(e.headers, (V) => (s(), c("div", {
4052
- key: V.key,
4089
+ (s(!0), c(T, null, B(e.headers, (z) => (s(), c("div", {
4090
+ key: z.key,
4053
4091
  class: "admin-import-wizard__map-row"
4054
4092
  }, [
4055
4093
  d("div", gi, [
4056
- d("strong", null, h(V.label), 1),
4057
- V.sample ? (s(), c("span", hi, " «" + h(V.sample) + "» ", 1)) : F("", !0)
4094
+ d("strong", null, h(z.label), 1),
4095
+ z.sample ? (s(), c("span", hi, " «" + h(z.sample) + "» ", 1)) : F("", !0)
4058
4096
  ]),
4059
4097
  $[4] || ($[4] = d("span", { class: "admin-import-wizard__map-arrow" }, "→", -1)),
4060
- x(r(Ae), {
4061
- "model-value": b.value[V.key] ?? "",
4098
+ x(r(Re), {
4099
+ "model-value": b.value[z.key] ?? "",
4062
4100
  options: P.value,
4063
4101
  placeholder: "Не импортировать",
4064
- "onUpdate:modelValue": (K) => S(V.key, K)
4102
+ "onUpdate:modelValue": (G) => S(z.key, G)
4065
4103
  }, null, 8, ["model-value", "options", "onUpdate:modelValue"])
4066
4104
  ]))), 128))
4067
4105
  ]))
4068
4106
  ]),
4069
4107
  _: 1
4070
- })) : i.value === 2 ? (s(), w(r(q), {
4108
+ })) : i.value === 2 ? (s(), w(r(D), {
4071
4109
  key: 2,
4072
4110
  padding: "md",
4073
4111
  class: "admin-import-wizard__card"
@@ -4077,7 +4115,7 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4077
4115
  $[6] || ($[6] = d("h3", null, "3. Предпросмотр", -1)),
4078
4116
  d("p", null, "Первые " + h(e.preview.length) + " строк перед импортом", 1)
4079
4117
  ]),
4080
- e.preview.some((V) => V.__warning) ? (s(), w(r(Q), {
4118
+ e.preview.some((z) => z.__warning) ? (s(), w(r(Z), {
4081
4119
  key: 0,
4082
4120
  variant: "warning",
4083
4121
  style: { "margin-bottom": "var(--uid-space-md)" }
@@ -4087,14 +4125,14 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4087
4125
  ])]),
4088
4126
  _: 1
4089
4127
  })) : F("", !0),
4090
- e.previewColumns.length > 0 ? (s(), w(r(je), {
4128
+ e.previewColumns.length > 0 ? (s(), w(r(Ke), {
4091
4129
  key: 1,
4092
4130
  columns: e.previewColumns,
4093
4131
  data: e.preview
4094
4132
  }, null, 8, ["columns", "data"])) : (s(), c("div", yi, " Host не передал previewColumns/preview. "))
4095
4133
  ]),
4096
4134
  _: 1
4097
- })) : (s(), w(r(q), {
4135
+ })) : (s(), w(r(D), {
4098
4136
  key: 3,
4099
4137
  padding: "md",
4100
4138
  class: "admin-import-wizard__card"
@@ -4104,23 +4142,23 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4104
4142
  d("h3", null, "4. Импорт")
4105
4143
  ], -1)),
4106
4144
  e.progress ? (s(), c(T, { key: 1 }, [
4107
- e.progress.total > 0 ? (s(), w(r(Yt), {
4145
+ e.progress.total > 0 ? (s(), w(r(Zt), {
4108
4146
  key: 0,
4109
4147
  "model-value": e.progress.created + e.progress.updated + e.progress.errors,
4110
4148
  max: e.progress.total
4111
4149
  }, null, 8, ["model-value", "max"])) : F("", !0),
4112
4150
  d("div", ki, [
4113
- x(r(xe), {
4151
+ x(r(Ce), {
4114
4152
  title: "Создано",
4115
4153
  value: e.progress.created,
4116
4154
  tone: "success"
4117
4155
  }, null, 8, ["value"]),
4118
- x(r(xe), {
4156
+ x(r(Ce), {
4119
4157
  title: "Обновлено",
4120
4158
  value: e.progress.updated,
4121
4159
  tone: "info"
4122
4160
  }, null, 8, ["value"]),
4123
- x(r(xe), {
4161
+ x(r(Ce), {
4124
4162
  title: "Ошибки",
4125
4163
  value: e.progress.errors,
4126
4164
  tone: "danger"
@@ -4131,10 +4169,10 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4131
4169
  _: 1
4132
4170
  })),
4133
4171
  d("footer", wi, [
4134
- g.value ? (s(), w(r(B), {
4172
+ g.value ? (s(), w(r(V), {
4135
4173
  key: 0,
4136
4174
  variant: "ghost",
4137
- onClick: $[0] || ($[0] = (V) => u(i.value - 1))
4175
+ onClick: $[0] || ($[0] = (z) => u(i.value - 1))
4138
4176
  }, {
4139
4177
  default: m(() => [...$[9] || ($[9] = [
4140
4178
  C(" Назад ", -1)
@@ -4142,27 +4180,27 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4142
4180
  _: 1
4143
4181
  })) : F("", !0),
4144
4182
  $[13] || ($[13] = d("span", { style: { flex: "1" } }, null, -1)),
4145
- i.value === 0 ? (s(), w(r(B), {
4183
+ i.value === 0 ? (s(), w(r(V), {
4146
4184
  key: 1,
4147
4185
  variant: "primary",
4148
4186
  disabled: !U.value,
4149
- onClick: $[1] || ($[1] = (V) => u(1))
4187
+ onClick: $[1] || ($[1] = (z) => u(1))
4150
4188
  }, {
4151
4189
  default: m(() => [...$[10] || ($[10] = [
4152
4190
  C(" Далее ", -1)
4153
4191
  ])]),
4154
4192
  _: 1
4155
- }, 8, ["disabled"])) : i.value === 1 ? (s(), w(r(B), {
4193
+ }, 8, ["disabled"])) : i.value === 1 ? (s(), w(r(V), {
4156
4194
  key: 2,
4157
4195
  variant: "primary",
4158
4196
  disabled: !U.value,
4159
- onClick: R
4197
+ onClick: A
4160
4198
  }, {
4161
4199
  default: m(() => [...$[11] || ($[11] = [
4162
4200
  C(" Подтвердить mapping ", -1)
4163
4201
  ])]),
4164
4202
  _: 1
4165
- }, 8, ["disabled"])) : i.value === 2 ? (s(), w(r(B), {
4203
+ }, 8, ["disabled"])) : i.value === 2 ? (s(), w(r(V), {
4166
4204
  key: 3,
4167
4205
  variant: "primary",
4168
4206
  onClick: _
@@ -4239,23 +4277,23 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4239
4277
  node: { type: "date", name: "demo_date", label: "Дата публикации", inputType: "date" },
4240
4278
  initial: { demo_date: "2026-05-01" }
4241
4279
  }
4242
- ], n = t.reduce((a, l) => (a[l.group] || (a[l.group] = []), a[l.group].push(l), a), {}), o = At(
4280
+ ], n = t.reduce((a, l) => (a[l.group] || (a[l.group] = []), a[l.group].push(l), a), {}), o = Ut(
4243
4281
  t.reduce((a, l) => Object.assign(a, l.initial), {})
4244
4282
  );
4245
- return ct(o), (a, l) => (s(), c("section", $i, [
4283
+ return mt(o), (a, l) => (s(), c("section", $i, [
4246
4284
  l[0] || (l[0] = d("header", { class: "admin-page__hd" }, [
4247
4285
  d("div", { class: "admin-page__title-wrap" }, [
4248
4286
  d("h1", { class: "admin-page__title" }, "Field Gallery"),
4249
4287
  d("div", { class: "admin-page__count" }, " Каталог встроенных field-компонентов library + примеры использования ")
4250
4288
  ])
4251
4289
  ], -1)),
4252
- (s(!0), c(T, null, I(r(n), (i, u) => (s(), c("section", {
4290
+ (s(!0), c(T, null, B(r(n), (i, u) => (s(), c("section", {
4253
4291
  key: u,
4254
4292
  class: "admin-gallery__group"
4255
4293
  }, [
4256
4294
  d("h2", xi, h(u), 1),
4257
4295
  d("div", Ci, [
4258
- (s(!0), c(T, null, I(i, (f) => (s(), w(r(q), {
4296
+ (s(!0), c(T, null, B(i, (f) => (s(), w(r(D), {
4259
4297
  key: f.type + f.title,
4260
4298
  padding: "md",
4261
4299
  class: "admin-gallery__card"
@@ -4267,7 +4305,7 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4267
4305
  ]),
4268
4306
  d("p", Ui, h(f.description), 1),
4269
4307
  d("div", Ei, [
4270
- x(_t, {
4308
+ x(bt, {
4271
4309
  node: f.node
4272
4310
  }, null, 8, ["node"])
4273
4311
  ])
@@ -4280,118 +4318,118 @@ const Hs = { class: "admin-notifs__hd" }, Xs = { class: "admin-notifs__title" },
4280
4318
  }
4281
4319
  });
4282
4320
  export {
4283
- Sn as AdminApp,
4284
- Cn as AdminShell,
4285
- wn as AdminSidebar,
4286
- fn as AdminTopBar,
4287
- Z as ApiError,
4321
+ An as AdminApp,
4322
+ Sn as AdminShell,
4323
+ $n as AdminSidebar,
4324
+ pn as AdminTopBar,
4325
+ ee as ApiError,
4288
4326
  zs as BadgeEntry,
4289
- Wl as BarChartWidget,
4290
- ze as CheckboxField,
4291
- Fs as ColumnsLayout,
4292
- Il as DashboardPage,
4293
- oe as DateField,
4294
- Zl as DonutChartWidget,
4327
+ jl as BarChartWidget,
4328
+ qe as CheckboxField,
4329
+ Ls as ColumnsLayout,
4330
+ Bl as DashboardPage,
4331
+ re as DateField,
4332
+ es as DonutChartWidget,
4295
4333
  oo as FieldGalleryPage,
4296
- _t as FieldRenderer,
4297
- sn as ForbiddenError,
4298
- Nn as ForbiddenPage,
4299
- us as GaugeWidget,
4300
- ss as HeatmapWidget,
4301
- Tn as HomePage,
4334
+ bt as FieldRenderer,
4335
+ rn as ForbiddenError,
4336
+ In as ForbiddenPage,
4337
+ ds as GaugeWidget,
4338
+ is as HeatmapWidget,
4339
+ Mn as HomePage,
4302
4340
  Os as IconEntry,
4303
4341
  io as ImportWizardPage,
4304
- Xa as InfolistRenderer,
4305
- at as KeyValueEntry,
4306
- be as LayoutRenderer,
4307
- ft as LocaleSwitcher,
4308
- Qn as LoginForm,
4309
- da as LoginPage,
4310
- fs as MarkdownWidget,
4311
- Pe as NetworkError,
4312
- on as NotFoundError,
4313
- Bn as NotFoundPage,
4314
- ln as NotificationBell,
4342
+ Ja as InfolistRenderer,
4343
+ lt as KeyValueEntry,
4344
+ ke as LayoutRenderer,
4345
+ vt as LocaleSwitcher,
4346
+ Zn as LoginForm,
4347
+ ca as LoginPage,
4348
+ vs as MarkdownWidget,
4349
+ Te as NetworkError,
4350
+ un as NotFoundError,
4351
+ Vn as NotFoundPage,
4352
+ on as NotificationBell,
4315
4353
  so as NotificationsDrawer,
4316
- Ve as NumberField,
4317
- Cl as ProfilePage,
4318
- ns as RecentTableWidget,
4319
- et as ResourceFormPage,
4320
- Ra as ResourceIndexPage,
4321
- al as ResourceViewPage,
4322
- nt as RowsLayout,
4323
- ge as SectionLayout,
4324
- te as SelectField,
4325
- On as SettingsPage,
4326
- Bl as StatWidget,
4327
- Ns as TabsLayout,
4328
- $e as TextAreaField,
4329
- Bs as TextEntry,
4330
- X as TextField,
4331
- mt as ThemeToggle,
4332
- ta as TwoFactorForm,
4333
- vt as UnauthenticatedError,
4334
- Ba as UnknownEntry,
4335
- ht as UnknownField,
4336
- Gn as UnknownScreenPage,
4337
- Rl as UnknownWidget,
4338
- un as UserMenu,
4339
- Le as ValidationError,
4340
- Ul as WidgetRenderer,
4341
- Cs as buildRoutesFromManifest,
4354
+ ze as NumberField,
4355
+ Sl as ProfilePage,
4356
+ as as RecentTableWidget,
4357
+ tt as ResourceFormPage,
4358
+ Ua as ResourceIndexPage,
4359
+ ll as ResourceViewPage,
4360
+ at as RowsLayout,
4361
+ he as SectionLayout,
4362
+ ne as SelectField,
4363
+ Wn as SettingsPage,
4364
+ Vl as StatWidget,
4365
+ Is as TabsLayout,
4366
+ xe as TextAreaField,
4367
+ I as TextEntry,
4368
+ J as TextField,
4369
+ ft as ThemeToggle,
4370
+ na as TwoFactorForm,
4371
+ pt as UnauthenticatedError,
4372
+ Va as UnknownEntry,
4373
+ yt as UnknownField,
4374
+ Hn as UnknownScreenPage,
4375
+ Ul as UnknownWidget,
4376
+ cn as UserMenu,
4377
+ Pe as ValidationError,
4378
+ El as WidgetRenderer,
4379
+ Ss as buildRoutesFromManifest,
4342
4380
  Ii as clearAdminClient,
4343
4381
  Xi as clearInfolistRegistry,
4344
4382
  ji as clearRegistry,
4345
4383
  eo as clearWidgetRegistry,
4346
4384
  no as createAdminApp,
4347
- gs as createAdminClient,
4348
- Es as createAdminRouter,
4349
- Ss as createAuthGuard,
4350
- As as createTitleGuard,
4351
- W as getAdminClient,
4352
- gt as getField,
4353
- tt as getInfolistEntry,
4354
- Ze as getLayout,
4355
- Sl as getWidget,
4385
+ hs as createAdminClient,
4386
+ Fs as createAdminRouter,
4387
+ As as createAuthGuard,
4388
+ Rs as createTitleGuard,
4389
+ j as getAdminClient,
4390
+ _t as getField,
4391
+ nt as getInfolistEntry,
4392
+ et as getLayout,
4393
+ Al as getWidget,
4356
4394
  Bi as hasAdminClient,
4357
4395
  zi as hasField,
4358
4396
  Gi as hasInfolistEntry,
4359
4397
  Oi as hasLayout,
4360
4398
  Qi as hasWidget,
4361
4399
  to as isError,
4362
- ps as isSuccess,
4400
+ gs as isSuccess,
4363
4401
  qi as listFields,
4364
4402
  Hi as listInfolistEntries,
4365
4403
  Wi as listLayouts,
4366
4404
  Zi as listWidgets,
4367
4405
  ao as loadBootstrap,
4368
- ct as provideFormState,
4369
- Ja as provideRecord,
4406
+ mt as provideFormState,
4407
+ Ya as provideRecord,
4370
4408
  lo as readCsrfFromMeta,
4371
4409
  Gs as readInlineBootstrap,
4372
- Is as registerBuiltinComponents,
4410
+ Bs as registerBuiltinComponents,
4373
4411
  js as registerBuiltinInfolistEntries,
4374
- vs as registerBuiltinWidgets,
4375
- Ua as registerComponents,
4412
+ ps as registerBuiltinWidgets,
4413
+ Ea as registerComponents,
4376
4414
  Vi as registerField,
4377
- Ia as registerInfolistEntries,
4415
+ Ba as registerInfolistEntries,
4378
4416
  Ki as registerInfolistEntry,
4379
4417
  Di as registerLayout,
4380
4418
  Yi as registerWidget,
4381
- Al as registerWidgets,
4382
- Zt as setAdminClient,
4383
- Ye as toApiError,
4419
+ Rl as registerWidgets,
4420
+ tn as setAdminClient,
4421
+ Qe as toApiError,
4384
4422
  co as tryUseFormState,
4385
- Me as tryUseRecord,
4386
- J as useAuthStore,
4387
- de as useFormState,
4388
- He as useLocaleStore,
4389
- se as useManifestStore,
4390
- vn as useMenuStore,
4391
- Xe as useNotificationsStore,
4423
+ Ne as tryUseRecord,
4424
+ Y as useAuthStore,
4425
+ ce as useFormState,
4426
+ Xe as useLocaleStore,
4427
+ ie as useManifestStore,
4428
+ gt as useMenuStore,
4429
+ Je as useNotificationsStore,
4392
4430
  Ji as useRecord,
4393
- pt as useResourceFormStore,
4394
- ca as useResourceIndexStore,
4395
- Ge as useThemeStore
4431
+ ht as useResourceFormStore,
4432
+ ma as useResourceIndexStore,
4433
+ He as useThemeStore
4396
4434
  };
4397
4435
  //# sourceMappingURL=index.mjs.map