@wssto2/vue-core 0.13.1 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +2 -2
  3. package/bin/architecture/engine.mjs +11 -1
  4. package/bin/architecture/rules.mjs +95 -0
  5. package/bin/commands/check-architecture.mjs +8 -1
  6. package/bin/config.mjs +2 -0
  7. package/dist/{AccessGate.vue_vue_type_script_setup_true_lang-DEzXovsY.js → AccessGate.vue_vue_type_script_setup_true_lang-BH3f0hda.js} +1 -1
  8. package/dist/{Activity-ChfxdvXf.js → Activity-MOAIv6s4.js} +5 -5
  9. package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-lPj9hPqV.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-Bsv5j5Z8.js} +1 -1
  10. package/dist/{Changes-BCa43_mO.js → Changes-Bu7D0dhY.js} +2 -2
  11. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-C1GCvyZx.js → CollectionPage.vue_vue_type_script_setup_true_lang-D5HsYIck.js} +6 -6
  12. package/dist/{DataTable.vue_vue_type_script_setup_true_lang-B9r9M5Gt.js → DataTable.vue_vue_type_script_setup_true_lang-J3PhyJAS.js} +1 -1
  13. package/dist/{DateField.vue_vue_type_script_setup_true_lang-B5UUY1OO.js → DateField.vue_vue_type_script_setup_true_lang-CKKG4JEg.js} +2 -2
  14. package/dist/{DeadLetters-wFTqhISU.js → DeadLetters-DsujMnLG.js} +5 -5
  15. package/dist/FormGroup.vue_vue_type_script_setup_true_lang-CTVuhEbW.js +428 -0
  16. package/dist/{FormView.vue_vue_type_script_setup_true_lang-DvbPEiNQ.js → FormView.vue_vue_type_script_setup_true_lang-Cfvh7rF6.js} +1 -1
  17. package/dist/{General-jW7u4MjH.js → General-Dswj1oXt.js} +7 -7
  18. package/dist/IncidentRecord-DcmqpziF.js +522 -0
  19. package/dist/{IncidentsList-yu0xSMrH.js → IncidentsList-BRNqHZdU.js} +6 -6
  20. package/dist/{NewRolePage-CQ5UVaHs.js → NewRolePage-dFLznJGH.js} +3 -3
  21. package/dist/{NumberField.vue_vue_type_script_setup_true_lang-YVgf5CP6.js → NumberField.vue_vue_type_script_setup_true_lang-U-_kcnGr.js} +1 -1
  22. package/dist/{PersonAccess.vue_vue_type_script_setup_true_lang-CWCt9_dM.js → PersonAccess.vue_vue_type_script_setup_true_lang-D3yp43o5.js} +4 -4
  23. package/dist/{ProfilePage-Ca3x3UAH.js → ProfilePage-BnHR3xGB.js} +10 -10
  24. package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-Do_ATJwT.js → RecordHeader.vue_vue_type_script_setup_true_lang-SDgLjwEI.js} +1 -1
  25. package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-Coz91xht.js → ResourcePage.vue_vue_type_script_setup_true_lang-DRC3h71-.js} +1 -1
  26. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-d_aaeXTT.js → RoleEditor.vue_vue_type_script_setup_true_lang-DNF9wzE9.js} +4 -4
  27. package/dist/{RolePage-BUj1w1m1.js → RolePage-BtM2rFLm.js} +7 -7
  28. package/dist/{RolesPage-NKzBUsrM.js → RolesPage-MO1gAfdT.js} +4 -4
  29. package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-DfKEhTFv.js → SectionNavigator.vue_vue_type_script_setup_true_lang-TMdsmYAg.js} +2 -2
  30. package/dist/ServiceAccountDialog.vue_vue_type_script_setup_true_lang-Bo3phlqB.js +127 -0
  31. package/dist/{ServiceAccountRecord-ClbyeLhL.js → ServiceAccountRecord-C1M-dcju.js} +10 -10
  32. package/dist/{ServiceAccountsList-B2VDnYxD.js → ServiceAccountsList-zfyS2WJB.js} +6 -6
  33. package/dist/{Sessions-BjkciyHH.js → Sessions-BYBUSqHI.js} +3 -3
  34. package/dist/{SettingsPage-Csb14qsx.js → SettingsPage-C9Kp2ddX.js} +9 -9
  35. package/dist/{SignIn-DPFMv4C7.js → SignIn-HBYLSZ1M.js} +5 -5
  36. package/dist/{SignInPage-DukoFqkt.js → SignInPage-CEoz3fWE.js} +3 -3
  37. package/dist/{SignIns-DvdpNkiS.js → SignIns-BAz7V4vy.js} +2 -2
  38. package/dist/{TimeField.vue_vue_type_script_setup_true_lang-DpDXHH7u.js → TimeField.vue_vue_type_script_setup_true_lang-BDlTAMsh.js} +2 -2
  39. package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-DlEUKWra.js → Timestamp.vue_vue_type_script_setup_true_lang-jCXYFLtq.js} +1 -1
  40. package/dist/{UserRecord-B9SeSWQh.js → UserRecord-DkyhGma-.js} +9 -9
  41. package/dist/{UsersList-CREG8q3l.js → UsersList-CsW-jU0m.js} +4 -4
  42. package/dist/access/RestrictedPanel.vue.d.ts +20 -0
  43. package/dist/access/index.d.ts +1 -0
  44. package/dist/access/index.js +91 -31
  45. package/dist/app/application.d.ts +2 -2
  46. package/dist/app/current.d.ts +6 -0
  47. package/dist/app/index.d.ts +1 -1
  48. package/dist/app/index.js +17 -16
  49. package/dist/{application-DomS6sbx.js → application-2gHiwAVy.js} +6 -6
  50. package/dist/client/client.d.ts +6 -0
  51. package/dist/client/index.js +1 -1
  52. package/dist/client-Do8v1I5l.js +193 -0
  53. package/dist/collection/index.js +6 -6
  54. package/dist/config/index.d.ts +21 -1
  55. package/dist/content/StatSummary.vue.d.ts +40 -0
  56. package/dist/content/index.d.ts +1 -0
  57. package/dist/content/index.js +245 -176
  58. package/dist/{contributions-obnyn03x.js → contributions-9CPT-Z5v.js} +1 -1
  59. package/dist/{current-B0lHKTWr.js → current-CslcEPXp.js} +8 -4
  60. package/dist/eslint/index.js +2 -2
  61. package/dist/form/index.js +16 -16
  62. package/dist/form/useForm.d.ts +1 -1
  63. package/dist/format/format.d.ts +5 -2
  64. package/dist/format/index.js +1 -1
  65. package/dist/format-Cp1h0vsC.js +125 -0
  66. package/dist/{guards-DGcSfTEh.js → guards-6fJxfUtk.js} +1 -1
  67. package/dist/{http-DOEfFCDA.js → http-D6qOS6xs.js} +1 -1
  68. package/dist/i18n/index.d.ts +5 -1
  69. package/dist/i18n/index.js +21 -20
  70. package/dist/i18n/serverMessages.d.ts +15 -1
  71. package/dist/identity/index.js +2 -2
  72. package/dist/incidents/Occurrences.vue.d.ts +9 -0
  73. package/dist/incidents/api.d.ts +11 -2
  74. package/dist/incidents/index.js +1 -1
  75. package/dist/{index-DZikGJ8L.js → index--AF_DNhE.js} +22 -22
  76. package/dist/{index-D_yyd4C2.js → index-DYva-K_4.js} +5 -5
  77. package/dist/{index-Be9Q1PB_.js → index-Dlu-PA4W.js} +104 -98
  78. package/dist/index.d.ts +1 -1
  79. package/dist/index.js +1 -1
  80. package/dist/modules/incident/entities.d.ts +19 -0
  81. package/dist/modules/incident/routes.d.ts +4 -1
  82. package/dist/{navigation-CctcxT51.js → navigation-DMJ6akat.js} +1 -1
  83. package/dist/{neighbors-Csfan8Ho.js → neighbors-DrEahe7B.js} +1 -1
  84. package/dist/notifications/index.js +1 -1
  85. package/dist/onboarding/index.js +1 -1
  86. package/dist/page/index.js +3 -3
  87. package/dist/phone/index.d.ts +1 -1
  88. package/dist/phone/index.js +154 -142
  89. package/dist/phone/phone.d.ts +6 -0
  90. package/dist/platform/index.js +3 -3
  91. package/dist/{platform-DtISOEt7.js → platform-ORzRR3Tw.js} +1 -1
  92. package/dist/resource/index.js +2 -2
  93. package/dist/router/index.js +3 -3
  94. package/dist/{rowLayout-y1IB_h2r.js → rowLayout-Ohh5ng1u.js} +2 -2
  95. package/dist/{sections-fkW_IJLc.js → sections-DI_JhgQG.js} +1 -1
  96. package/dist/serverMessages-Ce8-MK4e.js +30 -0
  97. package/dist/shell/index.js +4 -4
  98. package/dist/{state-CXMexi0l.js → state-QDaxntgR.js} +1 -1
  99. package/dist/styles.css +1 -1
  100. package/dist/testing/index.js +3 -3
  101. package/dist/{useCommand-Ch_nx1AQ.js → useCommand-BvcU3AlW.js} +1 -1
  102. package/dist/{useGroupSheet-CPjHydQV.js → useGroupSheet-BGIntPKD.js} +1 -1
  103. package/dist/{usePreferences-B8LIZp_f.js → usePreferences-BfMXVbSO.js} +1 -1
  104. package/dist/{useRecordDialog-DdkauXnU.js → useRecordDialog-q_BNXdb7.js} +1 -1
  105. package/dist/{useResourceForm-Dl6YFYyz.js → useResourceForm-C1S628UI.js} +1 -1
  106. package/dist/{useTypedEntry-DKs8I1yP.js → useTypedEntry-tttjrClq.js} +1 -1
  107. package/package.json +2 -2
  108. package/dist/FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js +0 -427
  109. package/dist/IncidentRecord-zTemLz2R.js +0 -404
  110. package/dist/ServiceAccountDialog.vue_vue_type_script_setup_true_lang-4nbhEpv_.js +0 -127
  111. package/dist/client-Dg303Pmc.js +0 -193
  112. package/dist/format-DoKs29bZ.js +0 -118
  113. package/dist/serverMessages-Ddghrewh.js +0 -25
@@ -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-lPj9hPqV.js";
3
+ import { _ as C } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-Bsv5j5Z8.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";
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as D, computed as k, ref as H, openBlock as r, createElementBlock as g, createElementVNode as O, unref as t, Fragment as L, renderList as C, normalizeClass as X, toDisplayString as f, createVNode as q, withCtx as p, createTextVNode as x, createCommentVNode as V, createBlock as _, createSlots as Y, watch as Z, mergeProps as F } from "vue";
2
2
  import { useI18n as I } from "vue-i18n";
3
- import { a as Q, u as ee } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js";
4
- import { _ as te } from "./FormView.vue_vue_type_script_setup_true_lang-DvbPEiNQ.js";
3
+ import { a as Q, u as ee } from "./FormGroup.vue_vue_type_script_setup_true_lang-CTVuhEbW.js";
4
+ import { _ as te } from "./FormView.vue_vue_type_script_setup_true_lang-Cfvh7rF6.js";
5
5
  import { _ as ae } from "./SelectField.vue_vue_type_script_setup_true_lang-BZwdANL3.js";
6
6
  import { _ as se } from "./TextareaField.vue_vue_type_script_setup_true_lang-D2j4s96s.js";
7
7
  import { _ as oe } from "./TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js";
@@ -9,13 +9,13 @@ import { u as ne } from "./useSaveChrome-7huA3FzR.js";
9
9
  import { t as le } from "./toast-CqSDTWRX.js";
10
10
  import { _ as E } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
11
11
  import { _ as R } from "./Banner.vue_vue_type_script_setup_true_lang-sv0phngk.js";
12
- import { u as re } from "./PersonAccess.vue_vue_type_script_setup_true_lang-CWCt9_dM.js";
12
+ import { u as re } from "./PersonAccess.vue_vue_type_script_setup_true_lang-D3yp43o5.js";
13
13
  import { g as W, u as G, p as ie, o as T, h as K, i as M, s as ce, j as ue, f as de, a as me, k as fe } from "./refusals-DfPzVNNY.js";
14
14
  import { _ as pe } from "./Button.vue_vue_type_script_setup_true_lang-C74hcb0N.js";
15
15
  import { _ as _e } from "./Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js";
16
16
  import { _ as ve } from "./SegmentedField.vue_vue_type_script_setup_true_lang-zv_AxpBn.js";
17
17
  import { _ as be } from "./SwitchField.vue_vue_type_script_setup_true_lang-Ds4q0bbl.js";
18
- import { u as ge } from "./platform-DtISOEt7.js";
18
+ import { u as ge } from "./platform-ORzRR3Tw.js";
19
19
  function ye(y, c) {
20
20
  return Object.fromEntries(
21
21
  y.map(({ attribute: d, options: o }) => {
@@ -2,22 +2,22 @@ import { defineComponent as I, computed as L, openBlock as a, createBlock as b,
2
2
  import { useI18n as K } from "vue-i18n";
3
3
  import { useRouter as Z } from "vue-router";
4
4
  import { _ as ee } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
5
- import { a as C } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js";
5
+ import { a as C } from "./FormGroup.vue_vue_type_script_setup_true_lang-CTVuhEbW.js";
6
6
  import { g as z } from "./options-B48UiYsG.js";
7
7
  import { _ as oe } from "./AlertDialog.vue_vue_type_script_setup_true_lang-CrFhR9rJ.js";
8
8
  import { t as E } from "./toast-CqSDTWRX.js";
9
- import { _ as te } from "./RecordHeader.vue_vue_type_script_setup_true_lang-Do_ATJwT.js";
10
- import { u as ae } from "./platform-DtISOEt7.js";
9
+ import { _ as te } from "./RecordHeader.vue_vue_type_script_setup_true_lang-SDgLjwEI.js";
10
+ import { u as ae } from "./platform-ORzRR3Tw.js";
11
11
  import { a as le, u as se } from "./routeResource-DlTsGTg_.js";
12
- import { a as re } from "./ResourcePage.vue_vue_type_script_setup_true_lang-Coz91xht.js";
12
+ import { a as re } from "./ResourcePage.vue_vue_type_script_setup_true_lang-DRC3h71-.js";
13
13
  import { _ as ce } from "./AsyncSection.vue_vue_type_script_setup_true_lang-DGzQ-Snp.js";
14
14
  import { _ as H } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
15
- import { u as O } from "./PersonAccess.vue_vue_type_script_setup_true_lang-CWCt9_dM.js";
15
+ import { u as O } from "./PersonAccess.vue_vue_type_script_setup_true_lang-D3yp43o5.js";
16
16
  import { u as U, f as ne, e as ie, g as ue, a as M } from "./refusals-DfPzVNNY.js";
17
17
  import { _ as J } from "./SelectField.vue_vue_type_script_setup_true_lang-BZwdANL3.js";
18
- import { u as me, _ as pe } from "./useCommand-Ch_nx1AQ.js";
18
+ import { u as me, _ as pe } from "./useCommand-BvcU3AlW.js";
19
19
  import { _ as fe } from "./Modal.vue_vue_type_script_setup_true_lang-DDS0iEnn.js";
20
- import { _ as de } from "./RoleEditor.vue_vue_type_script_setup_true_lang-d_aaeXTT.js";
20
+ import { _ as de } from "./RoleEditor.vue_vue_type_script_setup_true_lang-DNF9wzE9.js";
21
21
  import { accessPages as T } from "./access/index.js";
22
22
  const _e = { "data-test": "role-replace" }, ve = /* @__PURE__ */ I({
23
23
  __name: "ReplaceRoleDialog",
@@ -3,15 +3,15 @@ import { useI18n as A } from "vue-i18n";
3
3
  import { useRouter as F } from "vue-router";
4
4
  import { _ as S } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
5
5
  import { _ as E } from "./Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js";
6
- import { a as U } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js";
6
+ import { a as U } from "./FormGroup.vue_vue_type_script_setup_true_lang-CTVuhEbW.js";
7
7
  import { g as j } from "./options-B48UiYsG.js";
8
8
  import { _ as D } from "./TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js";
9
- import { _ as I } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-lPj9hPqV.js";
10
- import { u as K } from "./platform-DtISOEt7.js";
9
+ import { _ as I } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-Bsv5j5Z8.js";
10
+ import { u as K } from "./platform-ORzRR3Tw.js";
11
11
  import { _ as T } from "./AsyncSection.vue_vue_type_script_setup_true_lang-DGzQ-Snp.js";
12
12
  import { _ as q } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
13
13
  import { u as z } from "./useLoad-M7V-AVwR.js";
14
- import { u as G } from "./PersonAccess.vue_vue_type_script_setup_true_lang-CWCt9_dM.js";
14
+ import { u as G } from "./PersonAccess.vue_vue_type_script_setup_true_lang-D3yp43o5.js";
15
15
  import { u as H, a as J } from "./refusals-DfPzVNNY.js";
16
16
  import { accessPages as x } from "./access/index.js";
17
17
  const M = {
@@ -5,8 +5,8 @@ import { _ as q } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.
5
5
  import { _ as G } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
6
6
  import { a as re } from "./mediaQuery-CygcXmFW.js";
7
7
  import { u as ie } from "./access-DmAceEo5.js";
8
- import { u as ce, a as ue } from "./sections-fkW_IJLc.js";
9
- import { p as de } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-lPj9hPqV.js";
8
+ import { u as ce, a as ue } from "./sections-DI_JhgQG.js";
9
+ import { p as de } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-Bsv5j5Z8.js";
10
10
  import { p as me } from "./sectionIndex-BS0ic5W7.js";
11
11
  import { _ as K, a as pe } from "./SectionList.vue_vue_type_script_setup_true_lang-DR0_NsqC.js";
12
12
  const fe = {
@@ -0,0 +1,127 @@
1
+ import { defineComponent as E, computed as V, ref as I, openBlock as q, createBlock as A, unref as e, withCtx as b, createElementVNode as K, createVNode as p, mergeProps as f, createCommentVNode as B } from "vue";
2
+ import { useI18n as D } from "vue-i18n";
3
+ import { f as G, u as T } from "./refusals-DfPzVNNY.js";
4
+ import { a as k } from "./FormGroup.vue_vue_type_script_setup_true_lang-CTVuhEbW.js";
5
+ import { u as x, _ as N } from "./SelectField.vue_vue_type_script_setup_true_lang-BZwdANL3.js";
6
+ import { _ as U } from "./TextareaField.vue_vue_type_script_setup_true_lang-D2j4s96s.js";
7
+ import { _ as Z } from "./TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js";
8
+ import { _ as j } from "./useCommand-BvcU3AlW.js";
9
+ import { u as F } from "./useRecordDialog-q_BNXdb7.js";
10
+ import { t as H } from "./toast-CqSDTWRX.js";
11
+ import { u as S } from "./platform-ORzRR3Tw.js";
12
+ import { l as J, m as Q } from "./index--AF_DNhE.js";
13
+ import { r as W } from "./http-D6qOS6xs.js";
14
+ import { i as X } from "./preferences-hYhrw8Uy.js";
15
+ import { s as l } from "./routes-Beyr5NQo.js";
16
+ import { u as Y } from "./serverMessages-Ce8-MK4e.js";
17
+ const O = 500;
18
+ function ee(i) {
19
+ return {
20
+ list: async (s) => (await i.request(l.index, void 0, s)).data.service_accounts,
21
+ show: async (s, t) => (await i.request(l.show, { id: s }, t)).data,
22
+ create: async (s, t) => (await i.request(l.create, s, { idempotencyKey: t })).data,
23
+ update: async (s, t, c) => (await i.request(l.update, { ...t, id: s }, { idempotencyKey: c })).data,
24
+ deactivate: async (s) => (await i.request(l.deactivate, { id: s })).data,
25
+ keys: async (s, t) => (await i.request(l.keys, { id: s }, t)).data.keys,
26
+ /** The secret is in the answer, and only there. */
27
+ createKey: async (s, t, c) => (await i.request(l.createkey, { ...t, id: s }, { idempotencyKey: c })).data,
28
+ revokeKey: async (s, t) => void await i.request(l.revokekey, { id: s, keyID: t }),
29
+ /** The people who can answer for an account: the active ones of the users list (its largest page). */
30
+ people: async (s) => W(await i.request(X.usersList, { view: "active", order_col: "name", order_dir: "asc", page: 1, per_page: O }, s), { page: 1, pageSize: O }).rows.map((t) => ({ id: t.id, name: t.name }))
31
+ };
32
+ }
33
+ const ae = () => ee(S().http);
34
+ function se() {
35
+ const i = Y(), s = G();
36
+ return { ...i, failureMessage: (t, c) => s(t, c) ?? i.failureMessage(t, c) };
37
+ }
38
+ const te = {
39
+ class: "flex min-w-0 flex-col gap-group-gap",
40
+ "data-test": "service-account-form"
41
+ }, y = 0, he = /* @__PURE__ */ E({
42
+ __name: "ServiceAccountDialog",
43
+ emits: ["saved"],
44
+ setup(i, { expose: s, emit: t }) {
45
+ const c = t, { t: r } = D(), { access: C } = S(), L = T(), _ = ae(), { tenants: u } = J(), M = se(), v = V(() => {
46
+ const a = C.held(Q);
47
+ return a !== null && a.scope.id === void 0;
48
+ }), P = (a) => a.trim() === "", d = F({
49
+ ...M,
50
+ defaults: () => ({ name: "", description: "", tenant_id: u !== null && v.value ? y : null, owner_id: null }),
51
+ validator: {
52
+ safeParse(a) {
53
+ const n = a, o = [], w = r("core.account.validation.required"), h = r("core.serviceaccounts.errors.too_long");
54
+ return P(n.name) ? o.push({ path: ["name"], message: w }) : n.name.trim().length > 100 && o.push({ path: ["name"], message: h }), n.description.length > 500 && o.push({ path: ["description"], message: h }), n.owner_id === null && o.push({ path: ["owner_id"], message: w }), u !== null && n.tenant_id === null && o.push({ path: ["tenant_id"], message: w }), o.length > 0 || n.owner_id === null ? { success: !1, error: { issues: o } } : { success: !0, data: { name: n.name.trim(), description: n.description, tenant_id: u === null ? null : n.tenant_id || null, owner_id: n.owner_id } };
55
+ }
56
+ },
57
+ toValues: (a) => ({ name: a.name, description: a.description, tenant_id: a.tenant?.id ?? (v.value ? y : null), owner_id: a.owner.id }),
58
+ create: (a, { idempotencyKey: n }) => _.create(a, n),
59
+ update: (a, n, { idempotencyKey: o }) => _.update(a.id, n, o),
60
+ done: (a) => {
61
+ H.success(r("core.serviceaccounts.toasts.saved")), c("saved", a);
62
+ }
63
+ }), m = d.form, g = I(!1), R = x({
64
+ for: () => g.value && u !== null ? !0 : null,
65
+ load: async (a, { signal: n }) => [
66
+ ...v.value ? [{ value: y, label: L.levelLabel("organization") }] : [],
67
+ ...(await (u?.options(n) ?? [])).map((o) => ({ value: o.id, label: o.name }))
68
+ ]
69
+ }), $ = x({
70
+ for: () => g.value ? !0 : null,
71
+ load: async (a, { signal: n }) => (await _.people({ signal: n })).map((o) => ({ value: o.id, label: o.name }))
72
+ });
73
+ function z(a) {
74
+ g.value = !0, a ? d.edit(a) : d.create();
75
+ }
76
+ return s({ show: z, form: m }), (a, n) => (q(), A(e(j), {
77
+ command: e(d).command,
78
+ size: "md",
79
+ title: e(d).editing.value ? e(r)("core.serviceaccounts.edit_title") : e(r)("core.serviceaccounts.create_title"),
80
+ subtitle: e(r)("core.serviceaccounts.no_password"),
81
+ "confirm-label": e(r)("core.serviceaccounts.save")
82
+ }, {
83
+ default: b(() => [
84
+ K("div", te, [
85
+ p(e(k), null, {
86
+ default: b(() => [
87
+ p(e(Z), f(e(m).bind("name"), {
88
+ label: e(r)("core.serviceaccounts.fields.name"),
89
+ "max-length": 100,
90
+ required: ""
91
+ }), null, 16, ["label"]),
92
+ p(e(U), f(e(m).bind("description"), {
93
+ label: e(r)("core.serviceaccounts.fields.description"),
94
+ rows: 2,
95
+ "max-length": 500
96
+ }), null, 16, ["label"])
97
+ ]),
98
+ _: 1
99
+ }),
100
+ p(e(k), {
101
+ footer: e(r)("core.serviceaccounts.fields.owner_hint")
102
+ }, {
103
+ default: b(() => [
104
+ e(u) ? (q(), A(e(N), f({ key: 0 }, e(m).bind("tenant_id"), {
105
+ label: e(r)(e(u).labelKey),
106
+ options: e(R),
107
+ required: ""
108
+ }), null, 16, ["label", "options"])) : B("", !0),
109
+ p(e(N), f(e(m).bind("owner_id"), {
110
+ label: e(r)("core.serviceaccounts.fields.owner"),
111
+ options: e($),
112
+ required: ""
113
+ }), null, 16, ["label", "options"])
114
+ ]),
115
+ _: 1
116
+ }, 8, ["footer"])
117
+ ])
118
+ ]),
119
+ _: 1
120
+ }, 8, ["command", "title", "subtitle", "confirm-label"]));
121
+ }
122
+ });
123
+ export {
124
+ he as _,
125
+ se as a,
126
+ ae as u
127
+ };
@@ -2,28 +2,28 @@ import { defineComponent as P, useTemplateRef as F, ref as N, openBlock as r, cr
2
2
  import { useI18n as q } from "vue-i18n";
3
3
  import { useRoute as re } from "vue-router";
4
4
  import { u as le } from "./refusals-DfPzVNNY.js";
5
- import { a as ie } from "./PersonAccess.vue_vue_type_script_setup_true_lang-CWCt9_dM.js";
5
+ import { a as ie } from "./PersonAccess.vue_vue_type_script_setup_true_lang-D3yp43o5.js";
6
6
  import { _ as ee } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
7
7
  import { _ as ue } from "./Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js";
8
- import { a as V } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js";
8
+ import { a as V } from "./FormGroup.vue_vue_type_script_setup_true_lang-CTVuhEbW.js";
9
9
  import { g as p } from "./options-B48UiYsG.js";
10
- import { u as Q } from "./format-DoKs29bZ.js";
10
+ import { u as Q } from "./format-Cp1h0vsC.js";
11
11
  import { _ as te } from "./AlertDialog.vue_vue_type_script_setup_true_lang-CrFhR9rJ.js";
12
12
  import { t as j } from "./toast-CqSDTWRX.js";
13
- import { _ as de } from "./RecordHeader.vue_vue_type_script_setup_true_lang-Do_ATJwT.js";
14
- import { u as ae } from "./platform-DtISOEt7.js";
13
+ import { _ as de } from "./RecordHeader.vue_vue_type_script_setup_true_lang-SDgLjwEI.js";
14
+ import { u as ae } from "./platform-ORzRR3Tw.js";
15
15
  import { u as me, a as ve } from "./routeResource-DlTsGTg_.js";
16
- import { a as fe } from "./ResourcePage.vue_vue_type_script_setup_true_lang-Coz91xht.js";
16
+ import { a as fe } from "./ResourcePage.vue_vue_type_script_setup_true_lang-DRC3h71-.js";
17
17
  import { _ as O } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
18
- import { m as ce, R as _e, l as pe, n as ye } from "./index-DZikGJ8L.js";
19
- import { u as W, a as X, _ as ke } from "./ServiceAccountDialog.vue_vue_type_script_setup_true_lang-4nbhEpv_.js";
18
+ import { m as ce, R as _e, l as pe, n as ye } from "./index--AF_DNhE.js";
19
+ import { u as W, a as X, _ as ke } from "./ServiceAccountDialog.vue_vue_type_script_setup_true_lang-Bo3phlqB.js";
20
20
  import { _ as J } from "./Button.vue_vue_type_script_setup_true_lang-C74hcb0N.js";
21
21
  import { _ as be } from "./AsyncSection.vue_vue_type_script_setup_true_lang-DGzQ-Snp.js";
22
22
  import { _ as ge } from "./Modal.vue_vue_type_script_setup_true_lang-DDS0iEnn.js";
23
23
  import { _ as xe } from "./Banner.vue_vue_type_script_setup_true_lang-sv0phngk.js";
24
- import { _ as we } from "./DateField.vue_vue_type_script_setup_true_lang-B5UUY1OO.js";
24
+ import { _ as we } from "./DateField.vue_vue_type_script_setup_true_lang-CKKG4JEg.js";
25
25
  import { _ as $e } from "./TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js";
26
- import { u as he, _ as Ce } from "./useCommand-Ch_nx1AQ.js";
26
+ import { u as he, _ as Ce } from "./useCommand-BvcU3AlW.js";
27
27
  async function Se(u) {
28
28
  try {
29
29
  return await navigator.clipboard.writeText(u), !0;
@@ -4,17 +4,17 @@ import { useRouter as G } from "vue-router";
4
4
  import { u as I } from "./refusals-DfPzVNNY.js";
5
5
  import { _ as K } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
6
6
  import { _ as M } from "./Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js";
7
- import { a as P } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js";
7
+ import { a as P } from "./FormGroup.vue_vue_type_script_setup_true_lang-CTVuhEbW.js";
8
8
  import { g as H } from "./options-B48UiYsG.js";
9
9
  import { _ as J } from "./TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js";
10
- import { u as Q } from "./format-DoKs29bZ.js";
11
- import { _ as W } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-lPj9hPqV.js";
12
- import { u as X } from "./platform-DtISOEt7.js";
10
+ import { u as Q } from "./format-Cp1h0vsC.js";
11
+ import { _ as W } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-Bsv5j5Z8.js";
12
+ import { u as X } from "./platform-ORzRR3Tw.js";
13
13
  import { _ as Y } from "./AsyncSection.vue_vue_type_script_setup_true_lang-DGzQ-Snp.js";
14
14
  import { _ as Z } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
15
15
  import { u as ee } from "./useLoad-M7V-AVwR.js";
16
- import { l as te, m as $, n as A } from "./index-DZikGJ8L.js";
17
- import { u as ae, _ as oe } from "./ServiceAccountDialog.vue_vue_type_script_setup_true_lang-4nbhEpv_.js";
16
+ import { l as te, m as $, n as A } from "./index--AF_DNhE.js";
17
+ import { u as ae, _ as oe } from "./ServiceAccountDialog.vue_vue_type_script_setup_true_lang-Bo3phlqB.js";
18
18
  const se = {
19
19
  class: "flex min-w-0 flex-col gap-group-gap",
20
20
  "data-test": "service-segment"
@@ -5,12 +5,12 @@ import { u as A } from "./describeError-B-NMa--w.js";
5
5
  import { i as g } from "./preferences-hYhrw8Uy.js";
6
6
  import { _ as k } from "./AlertDialog.vue_vue_type_script_setup_true_lang-CrFhR9rJ.js";
7
7
  import { t as y } from "./toast-CqSDTWRX.js";
8
- import { u as D } from "./platform-DtISOEt7.js";
8
+ import { u as D } from "./platform-ORzRR3Tw.js";
9
9
  import { b as L } from "./routeResource-DlTsGTg_.js";
10
10
  import { _ as O } from "./AsyncSection.vue_vue_type_script_setup_true_lang-DGzQ-Snp.js";
11
11
  import { _ as T } from "./ActionRow.vue_vue_type_script_setup_true_lang-DybAIOHS.js";
12
- import { P as V, e as I, g as j, h as z } from "./index-DZikGJ8L.js";
13
- import { i as F } from "./usePreferences-B8LIZp_f.js";
12
+ import { P as V, e as I, g as j, h as z } from "./index--AF_DNhE.js";
13
+ import { i as F } from "./usePreferences-BfMXVbSO.js";
14
14
  const G = {
15
15
  class: "flex min-w-0 flex-col gap-group-gap",
16
16
  "data-person-sessions": ""
@@ -1,29 +1,29 @@
1
1
  import { defineComponent as B, ref as L, useTemplateRef as te, openBlock as o, createElementBlock as b, createVNode as u, unref as e, withCtx as _, Fragment as q, renderList as M, createElementVNode as O, createTextVNode as z, toDisplayString as w, createBlock as h, mergeProps as F, createCommentVNode as S, computed as D, watch as se, onMounted as ie, resolveDynamicComponent as ne } from "vue";
2
2
  import { useI18n as V } from "vue-i18n";
3
3
  import { useRouter as ae } from "vue-router";
4
- import { _ as oe } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-lPj9hPqV.js";
4
+ import { _ as oe } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-Bsv5j5Z8.js";
5
5
  import { t as C } from "./toast-CqSDTWRX.js";
6
- import { u as U } from "./serverMessages-Ddghrewh.js";
6
+ import { u as U } from "./serverMessages-Ce8-MK4e.js";
7
7
  import { _ as W } from "./AsyncSection.vue_vue_type_script_setup_true_lang-DGzQ-Snp.js";
8
- import { n as T, u as le, a as re } from "./index-D_yyd4C2.js";
8
+ import { n as T, u as le, a as re } from "./index-DYva-K_4.js";
9
9
  import { _ as H, a as j } from "./ActionRow.vue_vue_type_script_setup_true_lang-DybAIOHS.js";
10
10
  import { _ as I } from "./Button.vue_vue_type_script_setup_true_lang-C74hcb0N.js";
11
11
  import { _ as ce } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
12
- import { u as ue } from "./format-DoKs29bZ.js";
13
- import { a as R, u as de } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js";
12
+ import { u as ue } from "./format-Cp1h0vsC.js";
13
+ import { a as R, u as de } from "./FormGroup.vue_vue_type_script_setup_true_lang-CTVuhEbW.js";
14
14
  import { g as x } from "./options-B48UiYsG.js";
15
15
  import { _ as fe } from "./TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js";
16
16
  import { _ as me } from "./AlertDialog.vue_vue_type_script_setup_true_lang-CrFhR9rJ.js";
17
17
  import { _ as pe } from "./Menu.vue_vue_type_script_setup_true_lang-wKc9gdCn.js";
18
18
  import { _ as _e } from "./MenuButton.vue_vue_type_script_setup_true_lang-C-XRr5f2.js";
19
19
  import { _ as E } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
20
- import { u as X } from "./platform-DtISOEt7.js";
20
+ import { u as X } from "./platform-ORzRR3Tw.js";
21
21
  import { u as Y } from "./useLoad-M7V-AVwR.js";
22
22
  import { _ as ee } from "./SwitchField.vue_vue_type_script_setup_true_lang-Ds4q0bbl.js";
23
23
  import { _ as ve } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
24
- import { _ as ge } from "./FormView.vue_vue_type_script_setup_true_lang-DvbPEiNQ.js";
25
- import { _ as A } from "./TimeField.vue_vue_type_script_setup_true_lang-DpDXHH7u.js";
26
- import { a as K, n as be } from "./useTypedEntry-DKs8I1yP.js";
24
+ import { _ as ge } from "./FormView.vue_vue_type_script_setup_true_lang-Cfvh7rF6.js";
25
+ import { _ as A } from "./TimeField.vue_vue_type_script_setup_true_lang-BDlTAMsh.js";
26
+ import { a as K, n as be } from "./useTypedEntry-tttjrClq.js";
27
27
  const he = {
28
28
  class: "flex min-w-0 flex-col gap-group-gap",
29
29
  "data-notification-devices": ""
@@ -2,17 +2,17 @@ import { defineComponent as P, computed as f, ref as I, openBlock as m, createEl
2
2
  import { useI18n as A } from "vue-i18n";
3
3
  import { _ as B } from "./Button.vue_vue_type_script_setup_true_lang-C74hcb0N.js";
4
4
  import { _ as V } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
5
- import { u as D } from "./format-DoKs29bZ.js";
6
- import { a as p } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js";
5
+ import { u as D } from "./format-Cp1h0vsC.js";
6
+ import { a as p } from "./FormGroup.vue_vue_type_script_setup_true_lang-CTVuhEbW.js";
7
7
  import { g as b } from "./options-B48UiYsG.js";
8
8
  import { u as U } from "./describeError-B-NMa--w.js";
9
9
  import { i as q } from "./preferences-hYhrw8Uy.js";
10
10
  import { t as h } from "./toast-CqSDTWRX.js";
11
- import { u as z, h as F } from "./platform-DtISOEt7.js";
11
+ import { u as z, h as F } from "./platform-ORzRR3Tw.js";
12
12
  import { b as L } from "./routeResource-DlTsGTg_.js";
13
13
  import { _ as O } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
14
- import { i as T } from "./usePreferences-B8LIZp_f.js";
15
- import { f as j, P as G, e as H, _ as J } from "./index-DZikGJ8L.js";
14
+ import { i as T } from "./usePreferences-BfMXVbSO.js";
15
+ import { f as j, P as G, e as H, _ as J } from "./index--AF_DNhE.js";
16
16
  import { _ as K, a as M } from "./ActionRow.vue_vue_type_script_setup_true_lang-DybAIOHS.js";
17
17
  const Q = {
18
18
  key: 0,
@@ -3,10 +3,10 @@ import { useI18n as x } from "vue-i18n";
3
3
  import { useRoute as y, useRouter as h } from "vue-router";
4
4
  import { _ as I } from "./Button.vue_vue_type_script_setup_true_lang-C74hcb0N.js";
5
5
  import { _ as N } from "./Panel.vue_vue_type_script_setup_true_lang-D_Wg42hu.js";
6
- import { _ as S } from "./FormView.vue_vue_type_script_setup_true_lang-DvbPEiNQ.js";
6
+ import { _ as S } from "./FormView.vue_vue_type_script_setup_true_lang-Cfvh7rF6.js";
7
7
  import { _ as a } from "./TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js";
8
- import { r as $ } from "./guards-DGcSfTEh.js";
9
- import { u as C, a as E } from "./index-DZikGJ8L.js";
8
+ import { r as $ } from "./guards-6fJxfUtk.js";
9
+ import { u as C, a as E } from "./index--AF_DNhE.js";
10
10
  const V = { class: "flex flex-1 flex-col items-center justify-center gap-8" }, k = { class: "text-xl font-semibold text-content-strong" }, H = /* @__PURE__ */ d({
11
11
  __name: "SignInPage",
12
12
  setup(q) {
@@ -1,11 +1,11 @@
1
1
  import { defineComponent as g, ref as m, watch as p, openBlock as c, createElementBlock as v, createVNode as l, unref as e, withCtx as w, createBlock as x, createCommentVNode as y, createElementVNode as V, toDisplayString as $ } from "vue";
2
2
  import { useI18n as N } from "vue-i18n";
3
3
  import { i as S } from "./preferences-hYhrw8Uy.js";
4
- import { u as b } from "./platform-DtISOEt7.js";
4
+ import { u as b } from "./platform-ORzRR3Tw.js";
5
5
  import { b as k } from "./routeResource-DlTsGTg_.js";
6
6
  import { _ as I } from "./AsyncSection.vue_vue_type_script_setup_true_lang-DGzQ-Snp.js";
7
7
  import { u as R } from "./useLoad-M7V-AVwR.js";
8
- import { P as C, i as E, j as B } from "./index-DZikGJ8L.js";
8
+ import { P as C, i as E, j as B } from "./index--AF_DNhE.js";
9
9
  import { _ as P } from "./ActionRow.vue_vue_type_script_setup_true_lang-DybAIOHS.js";
10
10
  import { _ as h } from "./ViewTabs.vue_vue_type_script_setup_true_lang-BjdDXE3T.js";
11
11
  const U = {
@@ -1,12 +1,12 @@
1
1
  import { computed as m, defineComponent as G, useModel as J, useTemplateRef as b, openBlock as d, createBlock as F, mergeProps as T, unref as o, createSlots as O, withCtx as u, createElementBlock as _, Fragment as U, createVNode as c, createTextVNode as X, toDisplayString as Y, createCommentVNode as z, createElementVNode as h, normalizeClass as Z, renderSlot as x, mergeModels as L, mergeDefaults as ee, nextTick as M } from "vue";
2
2
  import { useI18n as R } from "vue-i18n";
3
3
  import { _ as te } from "./DateButton.vue_vue_type_script_setup_true_lang-CovKG5lN.js";
4
- import { u as oe } from "./format-DoKs29bZ.js";
4
+ import { u as oe } from "./format-Cp1h0vsC.js";
5
5
  import { _ as le } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
6
6
  import { u as ae } from "./mediaQuery-CygcXmFW.js";
7
7
  import { _ as re } from "./Popover.vue_vue_type_script_setup_true_lang-C20Hf3Hl.js";
8
8
  import { e as se, _ as ie, f as ne, b as ue } from "./options-B48UiYsG.js";
9
- import { d as me, r as de, t as I, p as ce, u as pe, a as fe, i as Q, _ as ve, b as be, c as ye } from "./useTypedEntry-DKs8I1yP.js";
9
+ import { d as me, r as de, t as I, p as ce, u as pe, a as fe, i as Q, _ as ve, b as be, c as ye } from "./useTypedEntry-tttjrClq.js";
10
10
  function ke(s) {
11
11
  const { t: i } = R(), y = m(() => [i("core.form.time.words.now").toLowerCase(), "now"]);
12
12
  return {
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as x, computed as s, openBlock as n, createElementBlock as o, createVNode as m, createElementVNode as l, toDisplayString as a, unref as u, createTextVNode as f } from "vue";
2
2
  import { useI18n as v } from "vue-i18n";
3
- import { u as h, t as g } from "./format-DoKs29bZ.js";
3
+ import { u as h, t as g } from "./format-Cp1h0vsC.js";
4
4
  import { _ as w } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
5
5
  import { _ as y } from "./Avatar.vue_vue_type_script_setup_true_lang-BPj_fkJR.js";
6
6
  const k = {
@@ -1,24 +1,24 @@
1
1
  import { defineComponent as E, openBlock as N, createBlock as L, unref as e, withCtx as p, createVNode as n, mergeProps as q, provide as C, computed as _, useTemplateRef as D, createElementVNode as h, toDisplayString as S, createTextVNode as K } from "vue";
2
2
  import { useI18n as U } from "vue-i18n";
3
- import { u as z } from "./neighbors-Csfan8Ho.js";
3
+ import { u as z } from "./neighbors-DrEahe7B.js";
4
4
  import { _ as G } from "./Avatar.vue_vue_type_script_setup_true_lang-BPj_fkJR.js";
5
5
  import { u as I } from "./describeError-B-NMa--w.js";
6
6
  import { i as k } from "./preferences-hYhrw8Uy.js";
7
7
  import { _ as O } from "./AlertDialog.vue_vue_type_script_setup_true_lang-CrFhR9rJ.js";
8
8
  import { t as $ } from "./toast-CqSDTWRX.js";
9
- import { _ as j } from "./SectionNavigator.vue_vue_type_script_setup_true_lang-DfKEhTFv.js";
10
- import { u as V } from "./platform-DtISOEt7.js";
9
+ import { _ as j } from "./SectionNavigator.vue_vue_type_script_setup_true_lang-TMdsmYAg.js";
10
+ import { u as V } from "./platform-ORzRR3Tw.js";
11
11
  import { a as F } from "./routeResource-DlTsGTg_.js";
12
- import { a as H } from "./ResourcePage.vue_vue_type_script_setup_true_lang-Coz91xht.js";
12
+ import { a as H } from "./ResourcePage.vue_vue_type_script_setup_true_lang-DRC3h71-.js";
13
13
  import { A as J } from "./access-DmAceEo5.js";
14
14
  import { _ as Q } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
15
15
  import { u as W } from "./useLoad-M7V-AVwR.js";
16
- import { i as X } from "./usePreferences-B8LIZp_f.js";
17
- import { P as Y, p as Z, c as ee, d as se, b as ae, M as te, o as oe, s as re } from "./index-DZikGJ8L.js";
18
- import { a as ne } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js";
16
+ import { i as X } from "./usePreferences-BfMXVbSO.js";
17
+ import { P as Y, p as Z, c as ee, d as se, b as ae, M as te, o as oe, s as re } from "./index--AF_DNhE.js";
18
+ import { a as ne } from "./FormGroup.vue_vue_type_script_setup_true_lang-CTVuhEbW.js";
19
19
  import { _ as A } from "./TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js";
20
- import { u as ie, _ as ce } from "./useCommand-Ch_nx1AQ.js";
21
- import { u as le } from "./serverMessages-Ddghrewh.js";
20
+ import { u as ie, _ as ce } from "./useCommand-BvcU3AlW.js";
21
+ import { u as le } from "./serverMessages-Ce8-MK4e.js";
22
22
  const ue = /* @__PURE__ */ E({
23
23
  __name: "SetPasswordDialog",
24
24
  props: {
@@ -1,12 +1,12 @@
1
1
  import { defineComponent as C, useTemplateRef as N, computed as a, openBlock as i, createBlock as m, unref as s, withCtx as r, createVNode as d, createTextVNode as R, toDisplayString as l, createCommentVNode as S, createElementBlock as _, normalizeClass as p } from "vue";
2
2
  import { useI18n as E } from "vue-i18n";
3
3
  import { useRouter as $ } from "vue-router";
4
- import { u as B, _ as T } from "./CollectionPage.vue_vue_type_script_setup_true_lang-C1GCvyZx.js";
4
+ import { u as B, _ as T } from "./CollectionPage.vue_vue_type_script_setup_true_lang-D5HsYIck.js";
5
5
  import { _ as V } from "./Avatar.vue_vue_type_script_setup_true_lang-BPj_fkJR.js";
6
- import { u as L } from "./format-DoKs29bZ.js";
7
- import { u as z } from "./platform-DtISOEt7.js";
6
+ import { u as L } from "./format-Cp1h0vsC.js";
7
+ import { u as z } from "./platform-ORzRR3Tw.js";
8
8
  import { _ as A } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
9
- import { b as D, U as I, c as f, d as M, M as q, s as F } from "./index-DZikGJ8L.js";
9
+ import { b as D, U as I, c as f, d as M, M as q, s as F } from "./index--AF_DNhE.js";
10
10
  const G = ["datetime"], Z = /* @__PURE__ */ C({
11
11
  __name: "UsersList",
12
12
  setup(K) {
@@ -0,0 +1,20 @@
1
+ import { type RouteLocationRaw } from "vue-router";
2
+ /**
3
+ * What a page the person may not open shows in its place: a lock, the sentence of `core.no_access`, whom to write to (the `contact`
4
+ * address, when the application has one) and a way back. Use it for `createApplication({ noAccess })`, which renders a component
5
+ * without props: `noAccess: () => h(RestrictedPanel, { contact: "access@example.com" })`.
6
+ *
7
+ * Back goes one step in the application's own history; a page opened directly (a bookmark, a shared link) has none, and going
8
+ * back there would leave the application, so it goes to `home` instead.
9
+ */
10
+ type __VLS_Props = {
11
+ /** An e-mail address to write to for access, shown as a link. */
12
+ contact?: string;
13
+ /** Where back goes when the application's history has no previous page. Default `/`. */
14
+ home?: RouteLocationRaw;
15
+ };
16
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
17
+ home: RouteLocationRaw;
18
+ contact: string;
19
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
+ export default _default;
@@ -13,3 +13,4 @@ export { roleProblems, useDescribeRefusal, useRefusalMessage } from "./refusals"
13
13
  export type { RoleProblem } from "./refusals";
14
14
  export { default as PersonAccess } from "./PersonAccess.vue";
15
15
  export { default as BindingRow } from "./BindingRow.vue";
16
+ export { default as RestrictedPanel } from "./RestrictedPanel.vue";