@wssto2/vue-core 0.12.1 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +4 -2
  3. package/dist/{AccessGate.vue_vue_type_script_setup_true_lang-CzQbD2Pc.js → AccessGate.vue_vue_type_script_setup_true_lang-DEzXovsY.js} +1 -1
  4. package/dist/{Activity-CdkJW68R.js → Activity-ChfxdvXf.js} +24 -23
  5. package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-D5i77H6S.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-lPj9hPqV.js} +33 -33
  6. package/dist/{Changes-DxK_QfiB.js → Changes-BCa43_mO.js} +18 -17
  7. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-x0jyJ01f.js → CollectionPage.vue_vue_type_script_setup_true_lang-C1GCvyZx.js} +6 -6
  8. package/dist/{DataTable.vue_vue_type_script_setup_true_lang-C_ZytnW-.js → DataTable.vue_vue_type_script_setup_true_lang-B9r9M5Gt.js} +1 -1
  9. package/dist/{DateField.vue_vue_type_script_setup_true_lang-CeNwBbJT.js → DateField.vue_vue_type_script_setup_true_lang-B5UUY1OO.js} +2 -2
  10. package/dist/{DeadLetters-DnA7LP1w.js → DeadLetters-wFTqhISU.js} +5 -5
  11. package/dist/{General-2matxl2Y.js → General-jW7u4MjH.js} +16 -15
  12. package/dist/{IncidentRecord-Bt3G4HlX.js → IncidentRecord-zTemLz2R.js} +6 -6
  13. package/dist/{IncidentsList-2iwgqp9J.js → IncidentsList-yu0xSMrH.js} +6 -6
  14. package/dist/{NewRolePage-DhGFwvk3.js → NewRolePage-CQ5UVaHs.js} +3 -3
  15. package/dist/{NumberField.vue_vue_type_script_setup_true_lang-B3UrXNqH.js → NumberField.vue_vue_type_script_setup_true_lang-YVgf5CP6.js} +1 -1
  16. package/dist/{PersonAccess.vue_vue_type_script_setup_true_lang-DbGZSNQc.js → PersonAccess.vue_vue_type_script_setup_true_lang-CWCt9_dM.js} +2 -2
  17. package/dist/{ProfilePage-CpuyDBAv.js → ProfilePage-Ca3x3UAH.js} +79 -77
  18. package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-DqGc3Jyo.js → RecordHeader.vue_vue_type_script_setup_true_lang-Do_ATJwT.js} +1 -1
  19. package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-DljhsTU4.js → ResourcePage.vue_vue_type_script_setup_true_lang-Coz91xht.js} +1 -1
  20. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-C0FIotFA.js → RoleEditor.vue_vue_type_script_setup_true_lang-d_aaeXTT.js} +2 -2
  21. package/dist/{RolePage-DaNv049g.js → RolePage-BUj1w1m1.js} +5 -5
  22. package/dist/{RolesPage-6hlzJes_.js → RolesPage-NKzBUsrM.js} +3 -3
  23. package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-Dh3sXUt_.js → SectionNavigator.vue_vue_type_script_setup_true_lang-DfKEhTFv.js} +2 -2
  24. package/dist/{ServiceAccountDialog.vue_vue_type_script_setup_true_lang-FJbWxME_.js → ServiceAccountDialog.vue_vue_type_script_setup_true_lang-4nbhEpv_.js} +10 -9
  25. package/dist/{ServiceAccountRecord-0-JF5lRx.js → ServiceAccountRecord-ClbyeLhL.js} +8 -8
  26. package/dist/{ServiceAccountsList-DcsnOcf-.js → ServiceAccountsList-B2VDnYxD.js} +5 -5
  27. package/dist/{Sessions-DgWhpk-i.js → Sessions-BjkciyHH.js} +23 -21
  28. package/dist/{SettingsPage-BXPWATYU.js → SettingsPage-Csb14qsx.js} +7 -7
  29. package/dist/{SignIn-DPoUwHZd.js → SignIn-DPFMv4C7.js} +14 -12
  30. package/dist/{SignInPage-OyrVemro.js → SignInPage-DukoFqkt.js} +2 -2
  31. package/dist/{SignIns-BMDrZVVp.js → SignIns-DvdpNkiS.js} +23 -22
  32. package/dist/{TimeField.vue_vue_type_script_setup_true_lang-D-Em4glH.js → TimeField.vue_vue_type_script_setup_true_lang-DpDXHH7u.js} +2 -2
  33. package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-ClZAAUMd.js → Timestamp.vue_vue_type_script_setup_true_lang-DlEUKWra.js} +1 -1
  34. package/dist/{UserRecord-BW-gdCqi.js → UserRecord-B9SeSWQh.js} +57 -55
  35. package/dist/{UsersList-B3ZF_1Dj.js → UsersList-CREG8q3l.js} +4 -4
  36. package/dist/access/index.js +4 -4
  37. package/dist/app/application.d.ts +14 -6
  38. package/dist/app/current.d.ts +11 -0
  39. package/dist/app/environment.d.ts +8 -0
  40. package/dist/app/index.d.ts +1 -0
  41. package/dist/app/index.js +14 -12
  42. package/dist/application-DomS6sbx.js +435 -0
  43. package/dist/collection/http.d.ts +16 -1
  44. package/dist/collection/index.d.ts +1 -1
  45. package/dist/collection/index.js +34 -32
  46. package/dist/content/Money.vue.d.ts +1 -1
  47. package/dist/content/index.js +151 -158
  48. package/dist/{contributions-CeG4bszd.js → contributions-obnyn03x.js} +1 -1
  49. package/dist/current-B0lHKTWr.js +17 -0
  50. package/dist/form/DateField.vue.d.ts +2 -2
  51. package/dist/form/DateTimeField.vue.d.ts +2 -2
  52. package/dist/form/MoneyField.vue.d.ts +1 -1
  53. package/dist/form/NumberField.vue.d.ts +1 -1
  54. package/dist/form/date/MonthYearPanel.vue.d.ts +1 -1
  55. package/dist/form/date/days.d.ts +3 -3
  56. package/dist/form/index.d.ts +2 -0
  57. package/dist/form/index.js +1111 -1081
  58. package/dist/form/zodErrorMap.d.ts +35 -0
  59. package/dist/format/format.d.ts +51 -6
  60. package/dist/format/index.d.ts +1 -1
  61. package/dist/format/index.js +1 -1
  62. package/dist/format-DoKs29bZ.js +118 -0
  63. package/dist/{guards-Biv_SlGn.js → guards-DGcSfTEh.js} +1 -1
  64. package/dist/http-DOEfFCDA.js +107 -0
  65. package/dist/i18n/index.js +15 -15
  66. package/dist/identity/index.d.ts +2 -0
  67. package/dist/identity/index.js +43 -40
  68. package/dist/identity/usePreferences.d.ts +19 -0
  69. package/dist/incidents/clientErrorReporter.d.ts +2 -1
  70. package/dist/incidents/index.js +1 -1
  71. package/dist/{index-kEHY7hcG.js → index-Be9Q1PB_.js} +78 -76
  72. package/dist/{index-Cq9TuOqH.js → index-DZikGJ8L.js} +457 -511
  73. package/dist/{index-ClJeyW3F.js → index-D_yyd4C2.js} +4 -4
  74. package/dist/index.d.ts +1 -1
  75. package/dist/index.js +1 -1
  76. package/dist/internal/intlLocale.d.ts +5 -2
  77. package/dist/modules/identity/entities.d.ts +4 -0
  78. package/dist/modules/identity/routes.d.ts +5 -2
  79. package/dist/modules/identity/schemas.d.ts +6 -2
  80. package/dist/modules/incident/routes.d.ts +2 -0
  81. package/dist/modules/incident/schemas.d.ts +2 -0
  82. package/dist/{navigation-TnVFYRaX.js → navigation-CctcxT51.js} +1 -1
  83. package/dist/{neighbors-OyvGi233.js → neighbors-Csfan8Ho.js} +1 -1
  84. package/dist/notifications/index.js +1 -1
  85. package/dist/onboarding/Tip.vue.d.ts +41 -0
  86. package/dist/onboarding/index.d.ts +1 -0
  87. package/dist/onboarding/index.js +145 -0
  88. package/dist/onboarding/tips.d.ts +5 -0
  89. package/dist/page/index.js +3 -3
  90. package/dist/phone/index.js +74 -74
  91. package/dist/phone/phone.d.ts +3 -3
  92. package/dist/platform/httpSession.d.ts +1 -1
  93. package/dist/platform/index.d.ts +2 -0
  94. package/dist/platform/index.js +16 -13
  95. package/dist/platform/preferences.d.ts +35 -0
  96. package/dist/platform/session.d.ts +6 -1
  97. package/dist/platform-DtISOEt7.js +284 -0
  98. package/dist/playwright/session.d.ts +2 -0
  99. package/dist/preferences-hYhrw8Uy.js +91 -0
  100. package/dist/resource/index.d.ts +1 -0
  101. package/dist/resource/index.js +24 -8
  102. package/dist/resource/read.d.ts +16 -0
  103. package/dist/router/index.js +3 -3
  104. package/dist/{rowLayout-BsKEzEME.js → rowLayout-y1IB_h2r.js} +2 -2
  105. package/dist/{sections-CvUwZ-S1.js → sections-fkW_IJLc.js} +1 -1
  106. package/dist/{serverMessages-B6GHgi40.js → serverMessages-Ddghrewh.js} +1 -1
  107. package/dist/shell/darkMode.d.ts +13 -8
  108. package/dist/shell/index.js +396 -384
  109. package/dist/{state-6KSYsVw0.js → state-CXMexi0l.js} +1 -1
  110. package/dist/styles.css +1 -1
  111. package/dist/testing/app.d.ts +11 -0
  112. package/dist/testing/format.d.ts +4 -2
  113. package/dist/testing/index.d.ts +1 -1
  114. package/dist/testing/index.js +96 -89
  115. package/dist/testing/platform.d.ts +2 -0
  116. package/dist/usePreferences-B8LIZp_f.js +47 -0
  117. package/dist/{useTypedEntry-C_Bk4sI0.js → useTypedEntry-DKs8I1yP.js} +279 -280
  118. package/package.json +6 -2
  119. package/src/styles/components.css +17 -0
  120. package/dist/application-CuzT-0vW.js +0 -420
  121. package/dist/format-D8KUBmbS.js +0 -87
  122. package/dist/http-Dm0uXY9O.js +0 -95
  123. package/dist/intlLocale-CeRU44qJ.js +0 -4
  124. package/dist/platform-BQOX_Ntw.js +0 -283
@@ -1,20 +1,21 @@
1
1
  import { defineComponent as R, computed as N, openBlock as i, createElementBlock as k, createVNode as o, unref as e, withCtx as u, mergeProps as c, createBlock as v, createCommentVNode as d, createElementVNode as p, toDisplayString as b, createTextVNode as S } from "vue";
2
2
  import { useI18n as V } from "vue-i18n";
3
3
  import { RouterLink as B } from "vue-router";
4
- import { u as E } from "./format-D8KUBmbS.js";
4
+ import { u as E } from "./format-DoKs29bZ.js";
5
5
  import { u as T } from "./useResourceForm-Dl6YFYyz.js";
6
6
  import { a as h } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js";
7
7
  import { _ as F } from "./FormView.vue_vue_type_script_setup_true_lang-DvbPEiNQ.js";
8
8
  import { _ as L } from "./SelectField.vue_vue_type_script_setup_true_lang-BZwdANL3.js";
9
9
  import { _ as f } from "./TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js";
10
10
  import { u as A } from "./useSaveChrome-7huA3FzR.js";
11
- import { P as D, e as G, i as I } from "./index-Cq9TuOqH.js";
12
- import { t as M } from "./toast-CqSDTWRX.js";
13
- import { u as O } from "./platform-BQOX_Ntw.js";
14
- import { b as U } from "./routeResource-DlTsGTg_.js";
15
- import { u as j } from "./serverMessages-B6GHgi40.js";
16
- import { _ as z, a as $ } from "./ActionRow.vue_vue_type_script_setup_true_lang-DybAIOHS.js";
17
- import { u as H } from "./keepAlive-ClGnsIzT.js";
11
+ import { i as D } from "./preferences-hYhrw8Uy.js";
12
+ import { t as G } from "./toast-CqSDTWRX.js";
13
+ import { u as I } from "./platform-DtISOEt7.js";
14
+ import { b as M } from "./routeResource-DlTsGTg_.js";
15
+ import { u as O } from "./serverMessages-Ddghrewh.js";
16
+ import { _ as U, a as $ } from "./ActionRow.vue_vue_type_script_setup_true_lang-DybAIOHS.js";
17
+ import { u as j } from "./keepAlive-ClGnsIzT.js";
18
+ import { P as z, e as H } from "./index-DZikGJ8L.js";
18
19
  const J = {
19
20
  class: "flex min-w-0 max-w-200 flex-col gap-group-gap",
20
21
  "data-person-general": ""
@@ -22,30 +23,30 @@ const J = {
22
23
  key: 1,
23
24
  class: "flex flex-wrap items-center gap-x-1.5 px-row-inset text-footnote text-content-muted",
24
25
  "data-person-audit": ""
25
- }, pe = /* @__PURE__ */ R({
26
+ }, fe = /* @__PURE__ */ R({
26
27
  __name: "General",
27
28
  setup(Q) {
28
- const { t: a } = V(), { http: q } = O(), w = E(), g = U(D), n = G(), C = H(), x = (t) => t === null || t.trim() === "", P = {
29
+ const { t: a } = V(), { http: q } = I(), w = E(), g = M(z), n = H(), C = j(), x = (t) => t === null || t.trim() === "", P = {
29
30
  safeParse(t) {
30
31
  const s = t, m = ["login", "name", "email", "locale"].filter((_) => x(s[_])).map((_) => ({ path: [_], message: a("core.account.validation.required") }));
31
32
  return m.length > 0 ? { success: !1, error: { issues: m } } : { success: !0, data: { ...s, locale: s.locale ?? "", phone: x(s.phone) ? void 0 : s.phone } };
32
33
  }
33
34
  }, r = T({
34
- ...j(),
35
+ ...O(),
35
36
  source: g,
36
37
  defaults: () => ({ login: "", name: "", email: "", phone: "", locale: null }),
37
38
  validator: P,
38
39
  toValues: (t) => ({ login: t.login, name: t.name, email: t.email, phone: t.phone, locale: t.locale }),
39
- save: async (t, s) => (await q.request(I.usersUpdate, { id: s.id, ...t })).data
40
+ save: async (t, s) => (await q.request(D.usersUpdate, { id: s.id, ...t })).data
40
41
  });
41
42
  async function y() {
42
43
  const t = await r.save();
43
- (t.status === "saved" || t.status === "saved-refresh-failed") && M.success(a("core.users.general.saved"));
44
+ (t.status === "saved" || t.status === "saved-refresh-failed") && G.success(a("core.users.general.saved"));
44
45
  }
45
46
  A({ form: r, allowed: () => n.can.manage, ready: () => g.data.value !== null, save: y, cancel: () => r.reset() });
46
47
  const l = N(() => g.data.value);
47
48
  return (t, s) => (i(), k("div", J, [
48
- o(z, {
49
+ o(U, {
49
50
  title: e(a)("core.users.sections.general"),
50
51
  description: e(a)("core.users.intro.general")
51
52
  }, null, 8, ["title", "description"]),
@@ -140,5 +141,5 @@ const J = {
140
141
  }
141
142
  });
142
143
  export {
143
- pe as default
144
+ fe as default
144
145
  };
@@ -2,7 +2,7 @@ import { defineComponent as G, openBlock as a, createElementBlock as p, createVN
2
2
  import { useI18n as ee } from "vue-i18n";
3
3
  import { useRoute as te } from "vue-router";
4
4
  import { _ as se } from "./Button.vue_vue_type_script_setup_true_lang-C74hcb0N.js";
5
- import { u as ne } from "./neighbors-OyvGi233.js";
5
+ import { u as ne } from "./neighbors-Csfan8Ho.js";
6
6
  import { _ as m } from "./KeyValue.vue_vue_type_script_setup_true_lang-wcZcvnow.js";
7
7
  import { _ as T } from "./Panel.vue_vue_type_script_setup_true_lang-D_Wg42hu.js";
8
8
  import { _ as ie } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
@@ -15,15 +15,15 @@ import { _ as P } from "./TextareaField.vue_vue_type_script_setup_true_lang-D2j4
15
15
  import { _ as M } from "./TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js";
16
16
  import { u as de } from "./useSaveChrome-7huA3FzR.js";
17
17
  import { u as ue } from "./useCommand-Ch_nx1AQ.js";
18
- import { u as _e } from "./format-D8KUBmbS.js";
18
+ import { u as _e } from "./format-DoKs29bZ.js";
19
19
  import { t as me } from "./toast-CqSDTWRX.js";
20
- import { _ as fe } from "./RecordHeader.vue_vue_type_script_setup_true_lang-DqGc3Jyo.js";
21
- import { u as pe } from "./platform-BQOX_Ntw.js";
20
+ import { _ as fe } from "./RecordHeader.vue_vue_type_script_setup_true_lang-Do_ATJwT.js";
21
+ import { u as pe } from "./platform-DtISOEt7.js";
22
22
  import { a as be } from "./routeResource-DlTsGTg_.js";
23
- import { a as ve } from "./ResourcePage.vue_vue_type_script_setup_true_lang-DljhsTU4.js";
23
+ import { a as ve } from "./ResourcePage.vue_vue_type_script_setup_true_lang-Coz91xht.js";
24
24
  import { _ as N } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
25
25
  import { _ as q } from "./EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js";
26
- import { u as xe, i as he, a as ye, M as ge, U as ke, m as we, f as $e, g as z, r as Se, S as Te, e as D, c as L, d as Ee, b as Ie } from "./index-kEHY7hcG.js";
26
+ import { u as xe, i as he, a as ye, M as ge, U as ke, m as we, f as $e, g as z, r as Se, S as Te, e as D, c as L, d as Ee, b as Ie } from "./index-Be9Q1PB_.js";
27
27
  import { _ as Ne } from "./Avatar.vue_vue_type_script_setup_true_lang-BPj_fkJR.js";
28
28
  const De = { class: "flex min-w-0 items-center gap-2" }, Le = { class: "flex min-w-0 flex-col items-start" }, Ce = { class: "max-w-full truncate text-xs font-semibold text-content-strong" }, Ae = {
29
29
  key: 0,
@@ -1,15 +1,15 @@
1
1
  import { defineComponent as $, useTemplateRef as D, computed as d, openBlock as n, createBlock as m, unref as e, withCtx as i, createVNode as c, createElementBlock as p, toDisplayString as a, createElementVNode as F, createTextVNode as f, createCommentVNode as O } from "vue";
2
2
  import { useI18n as q } from "vue-i18n";
3
3
  import { useRouter as U } from "vue-router";
4
- import { u as z, _ as P } from "./CollectionPage.vue_vue_type_script_setup_true_lang-x0jyJ01f.js";
5
- import { a as y } from "./rowLayout-BsKEzEME.js";
4
+ import { u as z, _ as P } from "./CollectionPage.vue_vue_type_script_setup_true_lang-C1GCvyZx.js";
5
+ import { a as y } from "./rowLayout-y1IB_h2r.js";
6
6
  import { u as Y } from "./datePresets-DB13HHHd.js";
7
- import { _ as j } from "./Timestamp.vue_vue_type_script_setup_true_lang-ClZAAUMd.js";
7
+ import { _ as j } from "./Timestamp.vue_vue_type_script_setup_true_lang-DlEUKWra.js";
8
8
  import { _ as g } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
9
- import { u as K } from "./format-D8KUBmbS.js";
10
- import { u as G } from "./platform-BQOX_Ntw.js";
9
+ import { u as K } from "./format-DoKs29bZ.js";
10
+ import { u as G } from "./platform-DtISOEt7.js";
11
11
  import { _ as k } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
12
- import { i as v, a as H, C as J, _ as M, S as T, b as Q, c as S, d as W, e as E } from "./index-kEHY7hcG.js";
12
+ import { i as v, a as H, C as J, _ as M, S as T, b as Q, c as S, d as W, e as E } from "./index-Be9Q1PB_.js";
13
13
  const X = {
14
14
  key: 1,
15
15
  class: "flex min-w-0 items-center gap-3"
@@ -1,11 +1,11 @@
1
1
  import { defineComponent as _, computed as d, openBlock as y, createBlock as w, unref as e, withCtx as i, createVNode as l } from "vue";
2
2
  import { useI18n as v } from "vue-i18n";
3
3
  import { useRoute as k, useRouter as R } from "vue-router";
4
- import { _ as $ } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-D5i77H6S.js";
4
+ import { _ as $ } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-lPj9hPqV.js";
5
5
  import { _ as b } from "./AsyncSection.vue_vue_type_script_setup_true_lang-DGzQ-Snp.js";
6
6
  import { u as g } from "./useLoad-M7V-AVwR.js";
7
- import { u as x } from "./PersonAccess.vue_vue_type_script_setup_true_lang-DbGZSNQc.js";
8
- import { _ as P } from "./RoleEditor.vue_vue_type_script_setup_true_lang-C0FIotFA.js";
7
+ import { u as x } from "./PersonAccess.vue_vue_type_script_setup_true_lang-CWCt9_dM.js";
8
+ import { _ as P } from "./RoleEditor.vue_vue_type_script_setup_true_lang-d_aaeXTT.js";
9
9
  import { accessPages as u } from "./access/index.js";
10
10
  const j = /* @__PURE__ */ _({
11
11
  __name: "NewRolePage",
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as H, ref as _, computed as B, useTemplateRef as K, watch as R, openBlock as q, createBlock as J, mergeProps as L, unref as T, createSlots as Q, withCtx as $, createElementVNode as Z, normalizeClass as E, createElementBlock as G, toDisplayString as I, createCommentVNode as P, isRef as W, renderSlot as N, mergeDefaults as U } from "vue";
2
2
  import { b as X } from "./controlSurface-t7OEFESJ.js";
3
- import { u as Y } from "./format-D8KUBmbS.js";
3
+ import { u as Y } from "./format-DoKs29bZ.js";
4
4
  import { a as ee, e as te, _ as le, f as ae, b as oe } from "./options-B48UiYsG.js";
5
5
  function ne(c) {
6
6
  const r = c.number(1234.5, { minimumFractionDigits: 1, maximumFractionDigits: 1, useGrouping: !0 }), u = /^\d(\D)\d/.exec(r)?.[1] ?? "";
@@ -5,7 +5,7 @@ import { a as K } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW
5
5
  import { g as V } from "./options-B48UiYsG.js";
6
6
  import { _ as $e } from "./AlertDialog.vue_vue_type_script_setup_true_lang-CrFhR9rJ.js";
7
7
  import { t as Z } from "./toast-CqSDTWRX.js";
8
- import { _ as ne } from "./AccessGate.vue_vue_type_script_setup_true_lang-CzQbD2Pc.js";
8
+ import { _ as ne } from "./AccessGate.vue_vue_type_script_setup_true_lang-DEzXovsY.js";
9
9
  import { a as xe } from "./error-CD7x0Jrz.js";
10
10
  import { _ as je } from "./AsyncSection.vue_vue_type_script_setup_true_lang-DGzQ-Snp.js";
11
11
  import { _ as Le } from "./EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js";
@@ -15,7 +15,7 @@ import { _ as Ne } from "./SegmentedField.vue_vue_type_script_setup_true_lang-zv
15
15
  import { u as Te, _ as Se } from "./useCommand-Ch_nx1AQ.js";
16
16
  import { r as C } from "./route-goWMxDUN.js";
17
17
  import { s as Ae } from "./routes-Beyr5NQo.js";
18
- import { u as Re } from "./platform-BQOX_Ntw.js";
18
+ import { u as Re } from "./platform-DtISOEt7.js";
19
19
  import { u as J, g as pe, f as De, j as Ue, l as Be, S as ce, e as Oe, a as re } from "./refusals-DfPzVNNY.js";
20
20
  import { _ as Pe } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
21
21
  import { u as Ge } from "./mediaQuery-CygcXmFW.js";
@@ -1,20 +1,22 @@
1
- import { defineComponent as V, openBlock as m, createBlock as U, unref as e, withCtx as _, createVNode as n, mergeProps as E, createElementVNode as z, toDisplayString as q, watch as J, createElementBlock as w, Fragment as A, useModel as ve, useId as _e, useTemplateRef as Q, ref as x, onMounted as ge, onBeforeUnmount as ye, computed as D, withModifiers as be, createCommentVNode as H, createTextVNode as j, mergeModels as le, renderList as we, resolveDynamicComponent as re } from "vue";
1
+ import { defineComponent as V, openBlock as m, createBlock as U, unref as e, withCtx as _, createVNode as n, mergeProps as E, createElementVNode as z, toDisplayString as q, watch as J, createElementBlock as w, Fragment as A, useModel as ve, useId as _e, useTemplateRef as Q, ref as x, onMounted as ge, onBeforeUnmount as ye, computed as D, withModifiers as be, createCommentVNode as H, createTextVNode as j, mergeModels as re, renderList as we, resolveDynamicComponent as le } from "vue";
2
2
  import { useI18n as P } from "vue-i18n";
3
- import { _ as he } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-D5i77H6S.js";
4
- import { u as F } from "./platform-BQOX_Ntw.js";
3
+ import { _ as he } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-lPj9hPqV.js";
4
+ import { u as F } from "./platform-DtISOEt7.js";
5
5
  import { _ as ee } from "./AsyncSection.vue_vue_type_script_setup_true_lang-DGzQ-Snp.js";
6
6
  import { u as te } from "./useLoad-M7V-AVwR.js";
7
- import { i as S, g as O, j as xe, t as $e, l as ke, f as qe } from "./index-Cq9TuOqH.js";
7
+ import { i as S } from "./preferences-hYhrw8Uy.js";
8
+ import { h as xe, q as $e, j as ke, f as qe } from "./index-DZikGJ8L.js";
8
9
  import { a as K, u as ne, p as Ce } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js";
9
10
  import { _ as de } from "./FormView.vue_vue_type_script_setup_true_lang-DvbPEiNQ.js";
10
11
  import { u as Se, _ as Ee, a as Ve, b as Pe } from "./useGroupSheet-CPjHydQV.js";
11
12
  import { t as C } from "./toast-CqSDTWRX.js";
12
- import { u as T } from "./serverMessages-B6GHgi40.js";
13
+ import { u as T } from "./serverMessages-Ddghrewh.js";
13
14
  import { g as Z } from "./options-B48UiYsG.js";
14
15
  import { _ as I } from "./TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js";
15
16
  import { _ as Ne } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
16
- import { u as ce } from "./format-D8KUBmbS.js";
17
+ import { u as ce } from "./format-DoKs29bZ.js";
17
18
  import { a as W } from "./ActionRow.vue_vue_type_script_setup_true_lang-DybAIOHS.js";
19
+ import { i as O } from "./usePreferences-B8LIZp_f.js";
18
20
  import { a as Y } from "./error-CD7x0Jrz.js";
19
21
  import { a as Ae } from "./leaveGuard-Cc8yeLxM.js";
20
22
  import { _ as Me } from "./Modal.vue_vue_type_script_setup_true_lang-DDS0iEnn.js";
@@ -29,19 +31,19 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
29
31
  login: {}
30
32
  },
31
33
  setup(h) {
32
- const l = h, { t: p } = P();
34
+ const r = h, { t: p } = P();
33
35
  return (t, a) => (m(), U(e(K), {
34
36
  group: "details",
35
37
  header: e(p)("core.profile.details.title"),
36
38
  footer: e(p)("core.profile.details.login_hint")
37
39
  }, {
38
40
  default: _(() => [
39
- n(e(I), E(l.bind("name"), {
41
+ n(e(I), E(r.bind("name"), {
40
42
  label: e(p)("core.users.fields.name"),
41
43
  required: "",
42
44
  autocomplete: "name"
43
45
  }), null, 16, ["label"]),
44
- n(e(I), E(l.bind("phone"), {
46
+ n(e(I), E(r.bind("phone"), {
45
47
  label: e(p)("core.users.fields.phone"),
46
48
  type: "tel",
47
49
  autocomplete: "tel"
@@ -52,7 +54,7 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
52
54
  "data-profile-login": ""
53
55
  }, {
54
56
  default: _(() => [
55
- z("span", Fe, q(l.login), 1)
57
+ z("span", Fe, q(r.login), 1)
56
58
  ]),
57
59
  _: 1
58
60
  }, 8, ["label"])
@@ -66,8 +68,8 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
66
68
  profile: {}
67
69
  },
68
70
  emits: ["updated"],
69
- setup(h, { emit: l }) {
70
- const p = h, t = l, { t: a } = P(), { http: c } = F(), s = {
71
+ setup(h, { emit: r }) {
72
+ const p = h, t = r, { t: a } = P(), { http: c } = F(), s = {
71
73
  safeParse(u) {
72
74
  const { name: g, phone: y } = u;
73
75
  return g.trim() === "" ? { success: !1, error: { issues: [{ path: ["name"], message: a("core.account.validation.required") }] } } : { success: !0, data: { name: g, phone: y.trim() === "" ? void 0 : y } };
@@ -75,17 +77,17 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
75
77
  }, o = ne({ ...T(), defaults: () => ({ name: "", phone: "" }), validator: s });
76
78
  J(() => p.profile, (u) => o.hydrate({ name: u.name, phone: u.phone }), { immediate: !0 });
77
79
  const d = {}, i = Ce({ edit: (u) => d[u].present });
78
- let r = null;
80
+ let l = null;
79
81
  const b = Se({
80
82
  form: o,
81
83
  group: "details",
82
84
  fields: ["name", "phone"],
83
85
  groupOf: i.groupOf,
84
86
  save: async (u) => {
85
- r = (await c.request(S.profileUpdate, { name: u.name, phone: u.phone.trim() === "" ? void 0 : u.phone })).data;
87
+ l = (await c.request(S.profileUpdate, { name: u.name, phone: u.phone.trim() === "" ? void 0 : u.phone })).data;
86
88
  },
87
89
  onSaved: () => {
88
- C.success(a("core.profile.details.saved")), r && t("updated", r);
90
+ C.success(a("core.profile.details.saved")), l && t("updated", l);
89
91
  }
90
92
  });
91
93
  return d.details = b, (u, g) => (m(), w(A, null, [
@@ -134,7 +136,7 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
134
136
  "data-verify-expires": ""
135
137
  }, Oe = { class: "mt-6 flex w-full flex-col gap-2" }, ze = /* @__PURE__ */ V({
136
138
  __name: "VerifyCode",
137
- props: /* @__PURE__ */ le({
139
+ props: /* @__PURE__ */ re({
138
140
  description: { default: void 0 },
139
141
  length: { default: 6 },
140
142
  resendAvailableAt: { default: null },
@@ -147,14 +149,14 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
147
149
  modelValue: { default: "" },
148
150
  modelModifiers: {}
149
151
  }),
150
- emits: /* @__PURE__ */ le(["verify", "resend", "cancel"], ["update:modelValue"]),
151
- setup(h, { expose: l, emit: p }) {
152
- const t = h, a = ve(h, "modelValue"), c = p, { t: s } = P(), o = ce(), d = _e(), i = Q("otp"), r = x(Date.now());
152
+ emits: /* @__PURE__ */ re(["verify", "resend", "cancel"], ["update:modelValue"]),
153
+ setup(h, { expose: r, emit: p }) {
154
+ const t = h, a = ve(h, "modelValue"), c = p, { t: s } = P(), o = ce(), d = _e(), i = Q("otp"), l = x(Date.now());
153
155
  let b;
154
- ge(() => b = setInterval(() => r.value = Date.now(), 1e3)), ye(() => clearInterval(b));
156
+ ge(() => b = setInterval(() => l.value = Date.now(), 1e3)), ye(() => clearInterval(b));
155
157
  const u = D(() => {
156
158
  const k = t.resendAvailableAt ? Date.parse(t.resendAvailableAt) : Number.NaN;
157
- return Number.isNaN(k) ? 0 : Math.max(0, Math.ceil((k - r.value) / 1e3));
159
+ return Number.isNaN(k) ? 0 : Math.max(0, Math.ceil((k - l.value) / 1e3));
158
160
  }), g = D(() => `${Math.floor(u.value / 60)}:${String(u.value % 60).padStart(2, "0")}`), y = D(() => t.expiresAt && !t.expired ? o.time(t.expiresAt) : ""), $ = D(() => a.value.length === t.length), G = D(() => t.verifying || t.resending);
159
161
  function M(k = a.value) {
160
162
  k.length === t.length && !G.value && !t.expired && c("verify", k);
@@ -164,7 +166,7 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
164
166
  }
165
167
  return J(() => t.error, (k) => {
166
168
  k && (a.value = "", i.value?.focus());
167
- }), l({ focus: () => i.value?.focus() }), (k, N) => (m(), w("form", {
169
+ }), r({ focus: () => i.value?.focus() }), (k, N) => (m(), w("form", {
168
170
  class: "flex flex-col items-center text-center",
169
171
  "data-verify-code": "",
170
172
  novalidate: "",
@@ -246,13 +248,13 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
246
248
  }, We = /* @__PURE__ */ V({
247
249
  __name: "EmailChangeDialog",
248
250
  emits: ["pending", "changed", "cancelled"],
249
- setup(h, { expose: l, emit: p }) {
250
- const t = p, { t: a } = P(), { http: c } = F(), s = T(), o = Q("modal"), d = x("request"), i = x(null), r = x(!1), u = ne({ ...s, defaults: () => ({ email: "", password: "" }), validator: {
251
+ setup(h, { expose: r, emit: p }) {
252
+ const t = p, { t: a } = P(), { http: c } = F(), s = T(), o = Q("modal"), d = x("request"), i = x(null), l = x(!1), u = ne({ ...s, defaults: () => ({ email: "", password: "" }), validator: {
251
253
  safeParse(f) {
252
254
  const { email: v, password: L } = f, se = a("core.account.validation.required"), oe = [...v.trim() === "" ? [{ path: ["email"], message: se }] : [], ...L === "" ? [{ path: ["password"], message: se }] : []];
253
255
  return oe.length > 0 ? { success: !1, error: { issues: oe } } : { success: !0, data: { email: v.trim(), current_password: L } };
254
256
  }
255
- }, serverField: (f) => f === "current_password" ? "password" : f }), { confirmDiscard: g } = Ae(() => r.value && d.value === "request" && u.dirty.value), y = x(""), $ = x(""), G = x(!1), M = x(!1), B = x(!1), k = x(!1), N = ["identity.code.expired", "identity.code.too_many_attempts", "identity.code.no_pending"];
257
+ }, serverField: (f) => f === "current_password" ? "password" : f }), { confirmDiscard: g } = Ae(() => l.value && d.value === "request" && u.dirty.value), y = x(""), $ = x(""), G = x(!1), M = x(!1), B = x(!1), k = x(!1), N = ["identity.code.expired", "identity.code.too_many_attempts", "identity.code.no_pending"];
256
258
  function R() {
257
259
  y.value = "", $.value = "", G.value = !1;
258
260
  }
@@ -310,7 +312,7 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
310
312
  }
311
313
  }
312
314
  }
313
- return l({ present: ue }), (f, v) => (m(), U(e(Me), {
315
+ return r({ present: ue }), (f, v) => (m(), U(e(Me), {
314
316
  ref_key: "modal",
315
317
  ref: o,
316
318
  size: "md",
@@ -320,8 +322,8 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
320
322
  status: e(u).submitting.value ? "processing" : "idle",
321
323
  "before-dismiss": e(g),
322
324
  onPrimary: ae,
323
- onPresented: v[1] || (v[1] = (L) => r.value = !0),
324
- onDismissed: v[2] || (v[2] = (L) => r.value = !1)
325
+ onPresented: v[1] || (v[1] = (L) => l.value = !0),
326
+ onDismissed: v[2] || (v[2] = (L) => l.value = !1)
325
327
  }, {
326
328
  default: _(() => [
327
329
  d.value === "request" ? (m(), U(e(de), {
@@ -371,8 +373,8 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
371
373
  profile: {}
372
374
  },
373
375
  emits: ["updated"],
374
- setup(h, { emit: l }) {
375
- const p = h, t = l, { t: a } = P(), { http: c } = F(), s = ce(), o = T(), d = Q("dialog"), i = x(!1), r = D(() => p.profile.pending_email), b = (g) => t("updated", { ...p.profile, pending_email: g });
376
+ setup(h, { emit: r }) {
377
+ const p = h, t = r, { t: a } = P(), { http: c } = F(), s = ce(), o = T(), d = Q("dialog"), i = x(!1), l = D(() => p.profile.pending_email), b = (g) => t("updated", { ...p.profile, pending_email: g });
376
378
  async function u() {
377
379
  if (!i.value) {
378
380
  i.value = !0;
@@ -406,11 +408,11 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
406
408
  "data-email-change": "",
407
409
  onClick: y[0] || (y[0] = ($) => d.value?.present(null))
408
410
  }, null, 8, ["label"]),
409
- r.value ? (m(), w(A, { key: 0 }, [
411
+ l.value ? (m(), w(A, { key: 0 }, [
410
412
  n(e(Z), {
411
413
  layout: "setting",
412
- label: e(a)("core.profile.email.pending", { email: r.value.email }),
413
- sub: e(a)("core.profile.email.valid_until", { time: e(s).time(r.value.expires_at) }),
414
+ label: e(a)("core.profile.email.pending", { email: l.value.email }),
415
+ sub: e(a)("core.profile.email.valid_until", { time: e(s).time(l.value.expires_at) }),
414
416
  "data-email-pending": ""
415
417
  }, {
416
418
  leading: _(() => [
@@ -424,7 +426,7 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
424
426
  n(W, {
425
427
  label: e(a)("core.profile.email.enter_code"),
426
428
  "data-email-enter-code": "",
427
- onClick: y[1] || (y[1] = ($) => d.value?.present(r.value))
429
+ onClick: y[1] || (y[1] = ($) => d.value?.present(l.value))
428
430
  }, null, 8, ["label"]),
429
431
  n(W, {
430
432
  label: e(a)("core.profile.email.cancel_change"),
@@ -449,12 +451,12 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
449
451
  }), Je = { class: "flex justify-end" }, Ke = /* @__PURE__ */ V({
450
452
  __name: "PasswordGroup",
451
453
  setup(h) {
452
- const { t: l } = P(), { http: p } = F(), t = x(!1), a = {
454
+ const { t: r } = P(), { http: p } = F(), t = x(!1), a = {
453
455
  safeParse(s) {
454
- const o = s, d = l("core.account.validation.required"), i = [
456
+ const o = s, d = r("core.account.validation.required"), i = [
455
457
  ...o.current === "" ? [{ path: ["current"], message: d }] : [],
456
458
  ...o.password === "" ? [{ path: ["password"], message: d }] : [],
457
- ...o.password !== "" && o.repeat !== o.password ? [{ path: ["repeat"], message: o.repeat === "" ? d : l("core.account.validation.mismatch") }] : []
459
+ ...o.password !== "" && o.repeat !== o.password ? [{ path: ["repeat"], message: o.repeat === "" ? d : r("core.account.validation.mismatch") }] : []
458
460
  ];
459
461
  return i.length > 0 ? { success: !1, error: { issues: i } } : { success: !0, data: { current_password: o.current, new_password: o.password, new_password_confirmation: o.repeat } };
460
462
  }
@@ -466,15 +468,15 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
466
468
  serverField: (s) => ({ current_password: "current", new_password: "password", new_password_confirmation: "repeat" })[s] ?? s,
467
469
  run: (s) => p.request(S.profileChangePassword, s),
468
470
  done: () => {
469
- t.value = !1, C.success(l("core.profile.password.changed"));
471
+ t.value = !1, C.success(r("core.profile.password.changed"));
470
472
  }
471
473
  });
472
474
  return (s, o) => (m(), w(A, null, [
473
475
  n(e(K), { "data-profile-password": "" }, {
474
476
  default: _(() => [
475
477
  n(W, {
476
- label: e(l)("core.profile.password.submit"),
477
- sub: e(l)("core.profile.password.row_sub"),
478
+ label: e(r)("core.profile.password.submit"),
479
+ sub: e(r)("core.profile.password.row_sub"),
478
480
  "data-change-password": "",
479
481
  onClick: o[0] || (o[0] = (d) => e(c).present())
480
482
  }, null, 8, ["label", "sub"])
@@ -483,27 +485,27 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
483
485
  }),
484
486
  n(e(De), {
485
487
  command: e(c),
486
- title: e(l)("core.profile.password.title"),
487
- "confirm-label": e(l)("core.profile.password.submit")
488
+ title: e(r)("core.profile.password.title"),
489
+ "confirm-label": e(r)("core.profile.password.submit")
488
490
  }, {
489
491
  default: _(() => [
490
492
  n(e(K), { "data-password-dialog": "" }, {
491
493
  default: _(() => [
492
494
  n(e(I), E(e(c).form.bind("current"), {
493
495
  type: t.value ? "text" : "password",
494
- label: e(l)("core.profile.password.current"),
496
+ label: e(r)("core.profile.password.current"),
495
497
  required: "",
496
498
  autocomplete: "current-password"
497
499
  }), null, 16, ["type", "label"]),
498
500
  n(e(I), E(e(c).form.bind("password"), {
499
501
  type: t.value ? "text" : "password",
500
- label: e(l)("core.profile.password.new"),
502
+ label: e(r)("core.profile.password.new"),
501
503
  required: "",
502
504
  autocomplete: "new-password"
503
505
  }), null, 16, ["type", "label"]),
504
506
  n(e(I), E(e(c).form.bind("repeat"), {
505
507
  type: t.value ? "text" : "password",
506
- label: e(l)("core.profile.password.repeat"),
508
+ label: e(r)("core.profile.password.repeat"),
507
509
  required: "",
508
510
  autocomplete: "new-password"
509
511
  }), null, 16, ["type", "label"])
@@ -520,7 +522,7 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
520
522
  onClick: o[1] || (o[1] = (d) => t.value = !t.value)
521
523
  }), {
522
524
  default: _(() => [
523
- j(q(t.value ? e(l)("core.profile.password.hide") : e(l)("core.profile.password.show")), 1)
525
+ j(q(t.value ? e(r)("core.profile.password.hide") : e(r)("core.profile.password.show")), 1)
524
526
  ]),
525
527
  _: 1
526
528
  }, 16, ["icon"])
@@ -531,10 +533,10 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
531
533
  ], 64));
532
534
  }
533
535
  }), Qe = ["details", "email", "password", "sessions", "signins"];
534
- function Ye(h, l) {
536
+ function Ye(h, r) {
535
537
  const p = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(), a = [];
536
538
  for (const s of h) {
537
- if (s.visible && !s.visible(l)) continue;
539
+ if (s.visible && !s.visible(r)) continue;
538
540
  const o = s.after ?? s.before;
539
541
  (o ? s.after ? t.get(o) ?? t.set(o, []).get(o) : p.get(o) ?? p.set(o, []).get(o) : a).push(s);
540
542
  }
@@ -547,29 +549,29 @@ function Ye(h, l) {
547
549
  const Ze = { "data-profile-sessions": "" }, et = /* @__PURE__ */ V({
548
550
  __name: "SessionsGroup",
549
551
  setup(h) {
550
- const { t: l } = P(), { http: p } = F(), t = T(), a = te(async ({ signal: i }) => (await p.request(S.profileSessions, void 0, { signal: i })).data), c = D(() => a.data.value?.sessions ?? []), s = Q("dialog"), o = x(null);
552
+ const { t: r } = P(), { http: p } = F(), t = T(), a = te(async ({ signal: i }) => (await p.request(S.profileSessions, void 0, { signal: i })).data), c = D(() => a.data.value?.sessions ?? []), s = Q("dialog"), o = x(null);
551
553
  async function d(i) {
552
554
  try {
553
- await p.request(S.profileRevokeSession, { session_id: i.id }), C.success(l("core.account.sessions.ended"));
554
- } catch (r) {
555
- O(r) || C.error(t.sentence(r, l("core.account.sessions.end_failed")));
555
+ await p.request(S.profileRevokeSession, { session_id: i.id }), C.success(r("core.account.sessions.ended"));
556
+ } catch (l) {
557
+ O(l) || C.error(t.sentence(l, r("core.account.sessions.end_failed")));
556
558
  }
557
559
  await a.reload();
558
560
  }
559
- return (i, r) => (m(), w("div", Ze, [
561
+ return (i, l) => (m(), w("div", Ze, [
560
562
  n(e(ee), {
561
563
  state: e(a).state.value,
562
564
  "skeleton-rows": 3,
563
565
  "is-empty": () => !1,
564
- onRetry: r[1] || (r[1] = (b) => e(a).reload())
566
+ onRetry: l[1] || (l[1] = (b) => e(a).reload())
565
567
  }, {
566
568
  default: _(() => [
567
569
  n(xe, {
568
570
  sessions: c.value,
569
571
  "can-end": "",
570
- header: e(l)("core.profile.sessions.title"),
571
- footer: e(l)("core.profile.sessions.footer"),
572
- onEnd: r[0] || (r[0] = (b) => {
572
+ header: e(r)("core.profile.sessions.title"),
573
+ footer: e(r)("core.profile.sessions.footer"),
574
+ onEnd: l[0] || (l[0] = (b) => {
573
575
  o.value = b, s.value?.present(b);
574
576
  })
575
577
  }, null, 8, ["sessions", "header", "footer"])
@@ -581,9 +583,9 @@ const Ze = { "data-profile-sessions": "" }, et = /* @__PURE__ */ V({
581
583
  ref: s,
582
584
  tone: "critical",
583
585
  icon: "logoutBoxRLine",
584
- title: e(l)("core.account.sessions.end_title"),
585
- message: e(l)("core.account.sessions.end_body", { device: o.value?.device || e(l)("core.account.sessions.unknown_device") }),
586
- "confirm-label": e(l)("core.account.sessions.end"),
586
+ title: e(r)("core.account.sessions.end_title"),
587
+ message: e(r)("core.account.sessions.end_body", { device: o.value?.device || e(r)("core.account.sessions.unknown_device") }),
588
+ "confirm-label": e(r)("core.account.sessions.end"),
587
589
  action: d
588
590
  }, null, 8, ["title", "message", "confirm-label"])
589
591
  ]));
@@ -594,7 +596,7 @@ const Ze = { "data-profile-sessions": "" }, et = /* @__PURE__ */ V({
594
596
  }, at = /* @__PURE__ */ V({
595
597
  __name: "SignInsGroup",
596
598
  setup(h) {
597
- const { t: l } = P(), { http: p } = F(), t = ["all", "failed"], a = x("all"), c = x(1), s = te(async ({ signal: o }) => (await p.request(S.profileSignins, { view: a.value, page: c.value, per_page: 20 }, { signal: o })).data);
599
+ const { t: r } = P(), { http: p } = F(), t = ["all", "failed"], a = x("all"), c = x(1), s = te(async ({ signal: o }) => (await p.request(S.profileSignins, { view: a.value, page: c.value, per_page: 20 }, { signal: o })).data);
598
600
  return J(a, () => {
599
601
  c.value = 1, s.reload();
600
602
  }), J(c, () => void s.reload()), (o, d) => (m(), w("div", tt, [
@@ -607,24 +609,24 @@ const Ze = { "data-profile-sessions": "" }, et = /* @__PURE__ */ V({
607
609
  default: _(({ value: i }) => [
608
610
  n($e, {
609
611
  rows: i.data,
610
- header: e(l)("core.profile.signins.title"),
611
- footer: e(l)("core.profile.signins.footer")
612
+ header: e(r)("core.profile.signins.title"),
613
+ footer: e(r)("core.profile.signins.footer")
612
614
  }, {
613
615
  "header-trailing": _(() => [
614
616
  n(Ie, {
615
617
  modelValue: a.value,
616
- "onUpdate:modelValue": d[0] || (d[0] = (r) => a.value = r),
618
+ "onUpdate:modelValue": d[0] || (d[0] = (l) => a.value = l),
617
619
  views: t,
618
620
  counts: e(s).data.value?.meta?.views,
619
- "label-of": (r) => e(l)(`core.account.signins.views.${r}`),
620
- label: e(l)("core.profile.signins.title")
621
+ "label-of": (l) => e(r)(`core.account.signins.views.${l}`),
622
+ label: e(r)("core.profile.signins.title")
621
623
  }, null, 8, ["modelValue", "counts", "label-of", "label"])
622
624
  ]),
623
625
  _: 2
624
626
  }, 1032, ["rows", "header", "footer"]),
625
627
  n(ke, {
626
628
  page: c.value,
627
- "onUpdate:page": d[1] || (d[1] = (r) => c.value = r),
629
+ "onUpdate:page": d[1] || (d[1] = (l) => c.value = l),
628
630
  "last-page": i.last_page,
629
631
  total: i.total
630
632
  }, null, 8, ["page", "last-page", "total"])
@@ -633,16 +635,16 @@ const Ze = { "data-profile-sessions": "" }, et = /* @__PURE__ */ V({
633
635
  }, 8, ["state"])
634
636
  ]));
635
637
  }
636
- }), st = { class: "flex min-w-0 flex-col gap-group-gap" }, ot = ["data-profile-section"], Vt = /* @__PURE__ */ V({
638
+ }), st = { class: "flex min-w-0 flex-col gap-group-gap" }, ot = ["data-profile-section"], Nt = /* @__PURE__ */ V({
637
639
  __name: "ProfilePage",
638
640
  setup(h) {
639
- const { t: l } = P(), { http: p, session: t } = F(), { profileSections: a } = qe(), c = te(async ({ signal: r }) => (await p.request(S.profileShow, void 0, { signal: r })).data), s = { details: Ge, email: Xe, password: Ke, sessions: et, signins: at }, o = (r) => r.kind === "panel" ? r.id : `section:${r.section.id}`, d = (r) => r.kind === "section" || ["details", "email"].includes(r.id);
640
- function i(r) {
641
- c.update(r), t.refresh();
641
+ const { t: r } = P(), { http: p, session: t } = F(), { profileSections: a } = qe(), c = te(async ({ signal: l }) => (await p.request(S.profileShow, void 0, { signal: l })).data), s = { details: Ge, email: Xe, password: Ke, sessions: et, signins: at }, o = (l) => l.kind === "panel" ? l.id : `section:${l.section.id}`, d = (l) => l.kind === "section" || ["details", "email"].includes(l.id);
642
+ function i(l) {
643
+ c.update(l), t.refresh();
642
644
  }
643
- return (r, b) => (m(), U(e(he), {
644
- title: e(l)("core.profile.title"),
645
- description: e(l)("core.profile.description"),
645
+ return (l, b) => (m(), U(e(he), {
646
+ title: e(r)("core.profile.title"),
647
+ description: e(r)("core.profile.description"),
646
648
  width: "readable"
647
649
  }, {
648
650
  default: _(() => [
@@ -662,11 +664,11 @@ const Ze = { "data-profile-sessions": "" }, et = /* @__PURE__ */ V({
662
664
  class: "flex min-w-0 flex-col gap-group-gap",
663
665
  "data-profile-section": g.section.id
664
666
  }, [
665
- (m(), U(re(g.section.component), {
667
+ (m(), U(le(g.section.component), {
666
668
  profile: u,
667
669
  onUpdated: i
668
670
  }, null, 40, ["profile"]))
669
- ], 8, ot)) : (m(), U(re(s[g.id]), E({
671
+ ], 8, ot)) : (m(), U(le(s[g.id]), E({
670
672
  key: 1,
671
673
  ref_for: !0
672
674
  }, d(g) ? { profile: u } : {}, { onUpdated: i }), null, 16))
@@ -681,5 +683,5 @@ const Ze = { "data-profile-sessions": "" }, et = /* @__PURE__ */ V({
681
683
  }
682
684
  });
683
685
  export {
684
- Vt as default
686
+ Nt as default
685
687
  };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as p, useTemplateRef as u, openBlock as t, createElementBlock as c, renderSlot as r, createCommentVNode as s, createElementVNode as n, toDisplayString as a, Fragment as d, renderList as f, createBlock as h, resolveDynamicComponent as g, withCtx as x, createVNode as _, unref as k } from "vue";
2
2
  import { _ as b } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
3
- import { u as w } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-D5i77H6S.js";
3
+ import { u as w } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-lPj9hPqV.js";
4
4
  const v = { class: "flex min-w-0 flex-wrap items-center gap-5 compact:flex-col compact:gap-2 compact:text-center" }, y = {
5
5
  key: 0,
6
6
  class: "min-w-0 max-w-full shrink-0"
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as S, openBlock as a, createElementBlock as v, unref as t, createBlock as d, withCtx as s, createVNode as i, normalizeClass as m, createElementVNode as R, toDisplayString as y, computed as f, createSlots as $, renderSlot as u, createCommentVNode as A } from "vue";
2
2
  import { useI18n as z } from "vue-i18n";
3
- import { _ as C } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-D5i77H6S.js";
3
+ import { _ as C } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-lPj9hPqV.js";
4
4
  import { _ as B } from "./AsyncSection.vue_vue_type_script_setup_true_lang-DGzQ-Snp.js";
5
5
  import { _ as D } from "./EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js";
6
6
  import { useRouter as K, RouterLink as w } from "vue-router";