@wssto2/vue-core 0.9.3 → 0.10.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 (162) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/ActionRow.vue_vue_type_script_setup_true_lang-IpcP3Bjc.js +87 -0
  3. package/dist/Activity-CeAG0ZtJ.js +169 -0
  4. package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-DdJOodn8.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-D5i77H6S.js} +147 -159
  5. package/dist/{AsyncSection.vue_vue_type_script_setup_true_lang-BdeOKqz_.js → AsyncSection.vue_vue_type_script_setup_true_lang-DGzQ-Snp.js} +1 -1
  6. package/dist/BottomDockPortal.vue_vue_type_script_setup_true_lang-DmwR-2SP.js +17 -0
  7. package/dist/Button.vue_vue_type_script_setup_true_lang-C74hcb0N.js +123 -0
  8. package/dist/Changes-B9-zpDxG.js +69 -0
  9. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-DHcekGNn.js → CollectionPage.vue_vue_type_script_setup_true_lang-Cn0YOWJF.js} +19 -18
  10. package/dist/{DataTable.vue_vue_type_script_setup_true_lang-8kBsNRuq.js → DataTable.vue_vue_type_script_setup_true_lang-BQRG8bpH.js} +1 -1
  11. package/dist/{DateField.vue_vue_type_script_setup_true_lang-BhKdCVFn.js → DateField.vue_vue_type_script_setup_true_lang-CeNwBbJT.js} +1 -1
  12. package/dist/{DeadLetters-Bb5pPlOY.js → DeadLetters-BP03yC4R.js} +5 -6
  13. package/dist/DrawnCheck.vue_vue_type_script_setup_true_lang-9DzDJlIA.js +38 -0
  14. package/dist/FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js +427 -0
  15. package/dist/{FormView.vue_vue_type_script_setup_true_lang-aaNnMIOi.js → FormView.vue_vue_type_script_setup_true_lang-DvbPEiNQ.js} +2 -2
  16. package/dist/{General-BAG7S6wV.js → General-BDmCJr3H.js} +35 -38
  17. package/dist/{IncidentRecord-D8aOpNHo.js → IncidentRecord-DEhl6AyA.js} +14 -15
  18. package/dist/{IncidentsList-C0cFl0Db.js → IncidentsList-COgRPdk3.js} +3 -3
  19. package/dist/{Modal.vue_vue_type_script_setup_true_lang-BlHhdmMy.js → Modal.vue_vue_type_script_setup_true_lang-DDS0iEnn.js} +9 -8
  20. package/dist/{NewRolePage-C6Iu-EQJ.js → NewRolePage-DhGFwvk3.js} +4 -4
  21. package/dist/{NumberField.vue_vue_type_script_setup_true_lang-TGGAq8J-.js → NumberField.vue_vue_type_script_setup_true_lang-B3UrXNqH.js} +1 -1
  22. package/dist/{PersonAccess.vue_vue_type_script_setup_true_lang-qz1tmYpF.js → PersonAccess.vue_vue_type_script_setup_true_lang-DbGZSNQc.js} +56 -56
  23. package/dist/ProfilePage-BQCK2w8R.js +684 -0
  24. package/dist/ProgressTrack.vue_vue_type_script_setup_true_lang-DrOm8k--.js +30 -0
  25. package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-B9mN7UxZ.js → RecordHeader.vue_vue_type_script_setup_true_lang-DqGc3Jyo.js} +1 -1
  26. package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-Cw8mGf_B.js → ResourcePage.vue_vue_type_script_setup_true_lang-DljhsTU4.js} +3 -3
  27. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-CJPvOVDV.js → RoleEditor.vue_vue_type_script_setup_true_lang-C0FIotFA.js} +11 -12
  28. package/dist/{RolePage-Dj_ocMnM.js → RolePage-DaNv049g.js} +10 -10
  29. package/dist/{RolesPage-PXrs4O-1.js → RolesPage-6hlzJes_.js} +6 -6
  30. package/dist/SearchInput.vue_vue_type_script_setup_true_lang-w4eAqyZ9.js +32 -0
  31. package/dist/{SectionList.vue_vue_type_script_setup_true_lang-CtdF1zuv.js → SectionList.vue_vue_type_script_setup_true_lang-DR0_NsqC.js} +1 -1
  32. package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-B5ove3rM.js → SectionNavigator.vue_vue_type_script_setup_true_lang-Dh3sXUt_.js} +2 -2
  33. package/dist/{SegmentedField.vue_vue_type_script_setup_true_lang-ChfDFAA2.js → SegmentedField.vue_vue_type_script_setup_true_lang-zv_AxpBn.js} +1 -1
  34. package/dist/{SelectField.vue_vue_type_script_setup_true_lang-BP8nAQwo.js → SelectField.vue_vue_type_script_setup_true_lang-BZwdANL3.js} +3 -3
  35. package/dist/{ServiceAccountDialog.vue_vue_type_script_setup_true_lang-aWkKwxNe.js → ServiceAccountDialog.vue_vue_type_script_setup_true_lang-C0OIBrSp.js} +20 -20
  36. package/dist/{ServiceAccountRecord-bxX9yQkC.js → ServiceAccountRecord-gtlhYaAz.js} +37 -37
  37. package/dist/{ServiceAccountsList-BXE6htxk.js → ServiceAccountsList-BM7GGcvw.js} +33 -33
  38. package/dist/{Sessions--Gvc0kxw.js → Sessions-BCDJYuV2.js} +23 -24
  39. package/dist/{SettingsPage-DzDC7gD-.js → SettingsPage-DUhMsYBf.js} +27 -30
  40. package/dist/{SignIn-CTI_699e.js → SignIn-4D7WohI8.js} +9 -10
  41. package/dist/{SignInPage-HKC1bm2E.js → SignInPage-B6B-34GG.js} +4 -4
  42. package/dist/SignIns-CFoe4hpX.js +64 -0
  43. package/dist/StatusLine.vue_vue_type_script_setup_true_lang-DsdQmLq6.js +56 -0
  44. package/dist/{SwitchField.vue_vue_type_script_setup_true_lang-BMA2YXTZ.js → SwitchField.vue_vue_type_script_setup_true_lang-Ds4q0bbl.js} +1 -1
  45. package/dist/{TextField.vue_vue_type_script_setup_true_lang-BFVsqcBX.js → TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js} +2 -2
  46. package/dist/{TextareaField.vue_vue_type_script_setup_true_lang-Dyh4Hhyl.js → TextareaField.vue_vue_type_script_setup_true_lang-D2j4s96s.js} +1 -1
  47. package/dist/{TimeField.vue_vue_type_script_setup_true_lang-gGFfQLuK.js → TimeField.vue_vue_type_script_setup_true_lang-D-Em4glH.js} +1 -1
  48. package/dist/UserRecord-Cd1TCpJZ.js +202 -0
  49. package/dist/UsersList-GJU5-CTG.js +74 -0
  50. package/dist/access/index.js +4 -4
  51. package/dist/app/index.js +1 -1
  52. package/dist/{application-BmXW6iW_.js → application-CuzT-0vW.js} +1 -1
  53. package/dist/button/index.js +6 -5
  54. package/dist/collection/PickerModal.vue.d.ts +26 -0
  55. package/dist/collection/definition.d.ts +6 -6
  56. package/dist/collection/http.d.ts +6 -6
  57. package/dist/collection/index.d.ts +5 -1
  58. package/dist/collection/index.js +144 -85
  59. package/dist/collection/picker.d.ts +39 -0
  60. package/dist/collection/types.d.ts +9 -4
  61. package/dist/collection/useCollection.d.ts +5 -5
  62. package/dist/content/ActivityStream.vue.d.ts +62 -0
  63. package/dist/content/CommentThread.vue.d.ts +52 -0
  64. package/dist/content/Composer.vue.d.ts +36 -0
  65. package/dist/content/index.d.ts +3 -0
  66. package/dist/content/index.js +321 -56
  67. package/dist/controls/index.js +28 -54
  68. package/dist/form/index.d.ts +2 -0
  69. package/dist/form/index.js +611 -595
  70. package/dist/form/storableText.d.ts +24 -0
  71. package/dist/format/index.d.ts +1 -0
  72. package/dist/format/index.js +10 -6
  73. package/dist/format/slug.d.ts +8 -0
  74. package/dist/highlight-DnYhLXnu.js +9 -0
  75. package/dist/http-Dm0uXY9O.js +95 -0
  76. package/dist/i18n/index.d.ts +14 -0
  77. package/dist/i18n/index.js +87 -63
  78. package/dist/i18n/plural.d.ts +23 -0
  79. package/dist/identity/embed.d.ts +39 -0
  80. package/dist/identity/index.d.ts +20 -0
  81. package/dist/identity/index.js +40 -21
  82. package/dist/identity/session.d.ts +9 -1
  83. package/dist/identity/shared/ChangeFeed.vue.d.ts +6 -3
  84. package/dist/identity/users/context.d.ts +8 -0
  85. package/dist/identity/users/dialogs.d.ts +10 -0
  86. package/dist/identity/users/ext.d.ts +8 -0
  87. package/dist/identity/users/feature.d.ts +10 -0
  88. package/dist/identity/users/list.d.ts +1 -1
  89. package/dist/identity/users/personSections.d.ts +1 -1
  90. package/dist/identity/users/replace.d.ts +45 -0
  91. package/dist/identity/users/words.d.ts +28 -0
  92. package/dist/incidents/api.d.ts +1 -1
  93. package/dist/incidents/index.js +1 -1
  94. package/dist/{index-Dz0LkLM8.js → index-CTkG-acm.js} +4 -4
  95. package/dist/{index-Dm-sdJJr.js → index-DUs7WSz-.js} +31 -32
  96. package/dist/index-pJ_eRg80.js +1257 -0
  97. package/dist/index.d.ts +1 -1
  98. package/dist/index.js +1 -1
  99. package/dist/modal/index.js +3 -3
  100. package/dist/modules/identity/entities.d.ts +7 -0
  101. package/dist/modules/identity/routes.d.ts +8 -4
  102. package/dist/modules/identity/schemas.d.ts +16 -0
  103. package/dist/{neighbors-DVfU9T0o.js → neighbors-OyvGi233.js} +2 -2
  104. package/dist/notifications/deadletters/list.d.ts +1 -1
  105. package/dist/notifications/index.js +1 -1
  106. package/dist/{options-QuOkMKVZ.js → options-B48UiYsG.js} +2 -2
  107. package/dist/page/index.js +11 -11
  108. package/dist/phone/index.js +1 -1
  109. package/dist/pwa/AndroidInstallBanner.vue.d.ts +18 -0
  110. package/dist/pwa/InstallQrSheet.vue.d.ts +21 -0
  111. package/dist/pwa/IosInstallGuide.vue.d.ts +19 -0
  112. package/dist/pwa/QrCode.vue.d.ts +16 -0
  113. package/dist/pwa/index.d.ts +4 -0
  114. package/dist/pwa/index.js +244 -24
  115. package/dist/resource/index.js +1 -1
  116. package/dist/{rowLayout-CT8vWYgI.js → rowLayout-Il4psyXN.js} +183 -188
  117. package/dist/shell/DarkModeRow.vue.d.ts +15 -0
  118. package/dist/shell/OfflineNotice.vue.d.ts +2 -0
  119. package/dist/shell/QuickSearchButton.vue.d.ts +2 -0
  120. package/dist/shell/QuickSearchPalette.vue.d.ts +12 -0
  121. package/dist/shell/darkMode.d.ts +26 -0
  122. package/dist/shell/index.d.ts +10 -0
  123. package/dist/shell/index.js +963 -580
  124. package/dist/shell/offlineNotice.d.ts +3 -0
  125. package/dist/shell/quickSearch.d.ts +14 -0
  126. package/dist/shell/quickSearchControl.d.ts +66 -0
  127. package/dist/shortcut-DUR6yPWA.js +93 -0
  128. package/dist/state/BackgroundTaskCapsule.vue.d.ts +18 -0
  129. package/dist/state/backgroundTasks.d.ts +58 -0
  130. package/dist/state/index.d.ts +4 -0
  131. package/dist/state/index.js +194 -80
  132. package/dist/state/useCountUp.d.ts +9 -0
  133. package/dist/styles.css +1 -1
  134. package/dist/{suggestions-BVQhoXzS.js → suggestions-q_v3M7G6.js} +1 -1
  135. package/dist/testing/collection.d.ts +1 -1
  136. package/dist/{useCommand-Dc8Lgs9h.js → useCommand-Ch_nx1AQ.js} +4 -4
  137. package/dist/{useGroupSheet-DQ6cVG-z.js → useGroupSheet-CPjHydQV.js} +14 -15
  138. package/dist/{useRecordDialog-BTsbHY38.js → useRecordDialog-DdkauXnU.js} +1 -1
  139. package/dist/{useResourceForm-DJ4Q75pq.js → useResourceForm-Dl6YFYyz.js} +1 -1
  140. package/package.json +3 -2
  141. package/dist/ActionRow.vue_vue_type_script_setup_true_lang-Cg1lhpcA.js +0 -45
  142. package/dist/Activity-29hsZ28j.js +0 -156
  143. package/dist/Button.vue_vue_type_script_setup_true_lang-Dp7OB-eF.js +0 -192
  144. package/dist/Changes-Dxjdkd_5.js +0 -129
  145. package/dist/FormErrors.vue_vue_type_script_setup_true_lang-CIggKPtq.js +0 -295
  146. package/dist/FormGroup.vue_vue_type_script_setup_true_lang-B37dixvJ.js +0 -137
  147. package/dist/PageBar.vue_vue_type_script_setup_true_lang-qI94fjJv.js +0 -47
  148. package/dist/ProfilePage-BnohZIEg.js +0 -764
  149. package/dist/ProgressTrack.vue_vue_type_script_setup_true_lang-B6Prw9hi.js +0 -64
  150. package/dist/SectionIntro.vue_vue_type_script_setup_true_lang-CZtPrmXD.js +0 -23
  151. package/dist/SessionList.vue_vue_type_script_setup_true_lang-Cnyt5V8T.js +0 -133
  152. package/dist/SignIns-BcqBgWgN.js +0 -121
  153. package/dist/UserRecord-CtUPpbCt.js +0 -267
  154. package/dist/UsersList-BMkIgIg8.js +0 -155
  155. package/dist/definition-C7QuyV3i.js +0 -54
  156. package/dist/fieldMessages-B6GHgi40.js +0 -25
  157. package/dist/http-nz92KjdS.js +0 -42
  158. package/dist/index-CdtofdcJ.js +0 -501
  159. package/dist/languages-BShG9LpE.js +0 -10
  160. package/dist/signInEvents-DWShrJox.js +0 -30
  161. package/dist/status-BRA14qwX.js +0 -34
  162. package/dist/useWaitStatus-fsacMl4W.js +0 -24
@@ -0,0 +1,30 @@
1
+ import { defineComponent as r, computed as o, openBlock as i, createElementBlock as s, normalizeClass as n, createElementVNode as u, normalizeStyle as d } from "vue";
2
+ const c = ["aria-label", "aria-valuenow"], p = /* @__PURE__ */ r({
3
+ __name: "ProgressTrack",
4
+ props: {
5
+ value: {},
6
+ done: { type: Boolean, default: !1 },
7
+ durationMs: { default: 1e3 },
8
+ hairline: { type: Boolean, default: !1 },
9
+ label: { default: void 0 }
10
+ },
11
+ setup(l) {
12
+ const e = l, a = o(() => e.done ? 100 : Math.min(Math.max(e.value, 0), 95)), t = o(() => `${e.done ? 350 : e.durationMs}ms`);
13
+ return (m, f) => (i(), s("div", {
14
+ class: n(["w-full overflow-hidden", e.hairline ? "h-0.5" : "h-1.5 rounded-full bg-tint-soft"]),
15
+ role: "progressbar",
16
+ "aria-label": e.label,
17
+ "aria-valuemin": "0",
18
+ "aria-valuemax": "100",
19
+ "aria-valuenow": Math.round(a.value)
20
+ }, [
21
+ u("div", {
22
+ class: n(["h-full bg-control-on ease-motion-standard motion-reduce:transition-none", e.hairline ? "" : "rounded-full"]),
23
+ style: d({ width: `${a.value}%`, transitionProperty: "width", transitionDuration: t.value })
24
+ }, null, 6)
25
+ ], 10, c));
26
+ }
27
+ });
28
+ export {
29
+ p as _
30
+ };
@@ -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-DdJOodn8.js";
3
+ import { u as w } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-D5i77H6S.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,10 +1,10 @@
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 { a as C } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-DdJOodn8.js";
4
- import { _ as B } from "./AsyncSection.vue_vue_type_script_setup_true_lang-BdeOKqz_.js";
3
+ import { _ as C } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-D5i77H6S.js";
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";
7
- import { u as N } from "./Button.vue_vue_type_script_setup_true_lang-Dp7OB-eF.js";
7
+ import { u as N } from "./shortcut-DUR6yPWA.js";
8
8
  import { _ as g } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
9
9
  import { _ as x } from "./Tooltip.vue_vue_type_script_setup_true_lang-Dtg5Y6pf.js";
10
10
  const V = ["aria-label"], j = {
@@ -1,21 +1,20 @@
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 { u as ee } from "./FormErrors.vue_vue_type_script_setup_true_lang-CIggKPtq.js";
4
- import { _ as Q } from "./FormGroup.vue_vue_type_script_setup_true_lang-B37dixvJ.js";
5
- import { _ as te } from "./FormView.vue_vue_type_script_setup_true_lang-aaNnMIOi.js";
6
- import { _ as ae } from "./SelectField.vue_vue_type_script_setup_true_lang-BP8nAQwo.js";
7
- import { _ as se } from "./TextareaField.vue_vue_type_script_setup_true_lang-Dyh4Hhyl.js";
8
- import { _ as oe } from "./TextField.vue_vue_type_script_setup_true_lang-BFVsqcBX.js";
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";
5
+ import { _ as ae } from "./SelectField.vue_vue_type_script_setup_true_lang-BZwdANL3.js";
6
+ import { _ as se } from "./TextareaField.vue_vue_type_script_setup_true_lang-D2j4s96s.js";
7
+ import { _ as oe } from "./TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js";
9
8
  import { u as ne } from "./useSaveChrome-7huA3FzR.js";
10
9
  import { t as le } from "./toast-CqSDTWRX.js";
11
10
  import { _ as E } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
12
11
  import { _ as R } from "./Banner.vue_vue_type_script_setup_true_lang-sv0phngk.js";
13
- import { u as re } from "./PersonAccess.vue_vue_type_script_setup_true_lang-qz1tmYpF.js";
12
+ import { u as re } from "./PersonAccess.vue_vue_type_script_setup_true_lang-DbGZSNQc.js";
14
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";
15
- import { _ as pe } from "./Button.vue_vue_type_script_setup_true_lang-Dp7OB-eF.js";
14
+ import { _ as pe } from "./Button.vue_vue_type_script_setup_true_lang-C74hcb0N.js";
16
15
  import { _ as _e } from "./Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js";
17
- import { _ as ve } from "./SegmentedField.vue_vue_type_script_setup_true_lang-ChfDFAA2.js";
18
- import { _ as be } from "./SwitchField.vue_vue_type_script_setup_true_lang-BMA2YXTZ.js";
16
+ import { _ as ve } from "./SegmentedField.vue_vue_type_script_setup_true_lang-zv_AxpBn.js";
17
+ import { _ as be } from "./SwitchField.vue_vue_type_script_setup_true_lang-Ds4q0bbl.js";
19
18
  import { u as ge } from "./platform-BQOX_Ntw.js";
20
19
  function ye(y, c) {
21
20
  return Object.fromEntries(
@@ -183,7 +182,7 @@ const ke = {
183
182
  key: 0,
184
183
  class: "flex flex-wrap gap-1.5 px-row-inset py-2",
185
184
  "data-test": "role-attrs"
186
- }, Ze = /* @__PURE__ */ D({
185
+ }, Ye = /* @__PURE__ */ D({
187
186
  __name: "RoleEditor",
188
187
  props: {
189
188
  role: {},
@@ -323,5 +322,5 @@ const ke = {
323
322
  }
324
323
  });
325
324
  export {
326
- Ze as _
325
+ Ye as _
327
326
  };
@@ -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 { _ as C } from "./FormGroup.vue_vue_type_script_setup_true_lang-B37dixvJ.js";
6
- import { g as z } from "./options-QuOkMKVZ.js";
5
+ import { a as C } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js";
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-B9mN7UxZ.js";
9
+ import { _ as te } from "./RecordHeader.vue_vue_type_script_setup_true_lang-DqGc3Jyo.js";
10
10
  import { u as ae } from "./platform-BQOX_Ntw.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-Cw8mGf_B.js";
13
- import { _ as ce } from "./AsyncSection.vue_vue_type_script_setup_true_lang-BdeOKqz_.js";
12
+ import { a as re } from "./ResourcePage.vue_vue_type_script_setup_true_lang-DljhsTU4.js";
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-qz1tmYpF.js";
15
+ import { u as O } from "./PersonAccess.vue_vue_type_script_setup_true_lang-DbGZSNQc.js";
16
16
  import { u as U, f as ne, e as ie, g as ue, a as M } from "./refusals-DfPzVNNY.js";
17
- import { _ as J } from "./SelectField.vue_vue_type_script_setup_true_lang-BP8nAQwo.js";
18
- import { u as me, _ as pe } from "./useCommand-Dc8Lgs9h.js";
19
- import { _ as fe } from "./Modal.vue_vue_type_script_setup_true_lang-BlHhdmMy.js";
20
- import { _ as de } from "./RoleEditor.vue_vue_type_script_setup_true_lang-CJPvOVDV.js";
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";
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-C0FIotFA.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 { _ as U } from "./FormGroup.vue_vue_type_script_setup_true_lang-B37dixvJ.js";
7
- import { g as j } from "./options-QuOkMKVZ.js";
8
- import { _ as D } from "./TextField.vue_vue_type_script_setup_true_lang-BFVsqcBX.js";
9
- import { a as I } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-DdJOodn8.js";
6
+ import { a as U } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js";
7
+ import { g as j } from "./options-B48UiYsG.js";
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-D5i77H6S.js";
10
10
  import { u as K } from "./platform-BQOX_Ntw.js";
11
- import { _ as T } from "./AsyncSection.vue_vue_type_script_setup_true_lang-BdeOKqz_.js";
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-qz1tmYpF.js";
14
+ import { u as G } from "./PersonAccess.vue_vue_type_script_setup_true_lang-DbGZSNQc.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 = {
@@ -0,0 +1,32 @@
1
+ import { defineComponent as c, useModel as i, useTemplateRef as p, withDirectives as u, openBlock as d, createElementBlock as m, mergeProps as f, vModelText as h, mergeModels as b } from "vue";
2
+ const k = ["aria-label", "placeholder"], v = /* @__PURE__ */ c({
3
+ inheritAttrs: !1,
4
+ __name: "SearchInput",
5
+ props: /* @__PURE__ */ b({
6
+ label: {},
7
+ placeholder: {}
8
+ }, {
9
+ modelValue: { required: !0 },
10
+ modelModifiers: {}
11
+ }),
12
+ emits: ["update:modelValue"],
13
+ setup(e, { expose: r }) {
14
+ const l = i(e, "modelValue"), t = e, o = p("input");
15
+ return r({ focus: () => o.value?.focus() }), (n, a) => u((d(), m("input", f({
16
+ ref_key: "input",
17
+ ref: o,
18
+ "onUpdate:modelValue": a[0] || (a[0] = (s) => l.value = s),
19
+ type: "search",
20
+ enterkeyhint: "search",
21
+ autocomplete: "off",
22
+ spellcheck: "false",
23
+ "aria-label": t.label,
24
+ placeholder: t.placeholder
25
+ }, n.$attrs, { class: "min-w-0 flex-1 bg-transparent text-title outline-none placeholder:text-content-disabled [&::-webkit-search-cancel-button]:hidden" }), null, 16, k)), [
26
+ [h, l.value]
27
+ ]);
28
+ }
29
+ });
30
+ export {
31
+ v as _
32
+ };
@@ -2,7 +2,7 @@ import { defineComponent as $, computed as _, unref as s, openBlock as l, create
2
2
  import { useI18n as S } from "vue-i18n";
3
3
  import { _ as j } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
4
4
  import { _ as N } from "./Menu.vue_vue_type_script_setup_true_lang-wKc9gdCn.js";
5
- import { _ as V } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-DdJOodn8.js";
5
+ import { _ as V } from "./BottomDockPortal.vue_vue_type_script_setup_true_lang-DmwR-2SP.js";
6
6
  import { a as q } from "./sectionIndex-BS0ic5W7.js";
7
7
  const M = {
8
8
  class: "dock-safe-area pointer-events-none",
@@ -6,9 +6,9 @@ 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
8
  import { u as ce, a as ue } from "./sections-CvUwZ-S1.js";
9
- import { p as de } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-DdJOodn8.js";
9
+ import { p as de } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-D5i77H6S.js";
10
10
  import { p as me } from "./sectionIndex-BS0ic5W7.js";
11
- import { _ as K, a as pe } from "./SectionList.vue_vue_type_script_setup_true_lang-CtdF1zuv.js";
11
+ import { _ as K, a as pe } from "./SectionList.vue_vue_type_script_setup_true_lang-DR0_NsqC.js";
12
12
  const fe = {
13
13
  key: 0,
14
14
  "data-test": "section-navigator",
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as w, openBlock as a, createBlock as k, mergeProps as x, unref as r, createSlots as V, withCtx as o, createElementVNode as h, normalizeClass as n, createElementBlock as s, Fragment as _, renderList as $, createTextVNode as B, toDisplayString as d, createCommentVNode as C, renderSlot as i, mergeDefaults as L } from "vue";
2
- import { u as F, a as S, _ as T, f as D, b as N } from "./options-QuOkMKVZ.js";
2
+ import { u as F, a as S, _ as T, f as D, b as N } from "./options-B48UiYsG.js";
3
3
  const E = ["id", "aria-label", "aria-describedby", "aria-invalid"], P = ["disabled", "aria-pressed", "onClick"], H = /* @__PURE__ */ w({
4
4
  __name: "SegmentedField",
5
5
  props: /* @__PURE__ */ L({
@@ -1,13 +1,13 @@
1
1
  import { defineComponent as X, shallowRef as ee, ref as M, useId as te, useTemplateRef as Y, computed as g, watch as N, nextTick as oe, openBlock as n, createElementBlock as b, normalizeClass as k, createElementVNode as i, createVNode as O, unref as t, withDirectives as le, vModelText as ae, createCommentVNode as h, toDisplayString as L, createBlock as z, Fragment as U, renderList as G, renderSlot as V, onScopeDispose as ne, mergeProps as K, createSlots as E, withCtx as $, createTextVNode as H, normalizeProps as W, guardReactiveProps as J, mergeDefaults as se } from "vue";
2
2
  import { useI18n as Z } from "vue-i18n";
3
- import { _ as re } from "./Button.vue_vue_type_script_setup_true_lang-Dp7OB-eF.js";
3
+ import { _ as re } from "./Button.vue_vue_type_script_setup_true_lang-C74hcb0N.js";
4
4
  import { _ as T } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
5
5
  import { u as ie } from "./mediaQuery-CygcXmFW.js";
6
6
  import { _ as I } from "./ToneDot.vue_vue_type_script_setup_true_lang-99rNn-L5.js";
7
7
  import { _ as ue } from "./Sheet.vue_vue_type_script_setup_true_lang-B91aRD_y.js";
8
8
  import { _ as de } from "./Popover.vue_vue_type_script_setup_true_lang-C20Hf3Hl.js";
9
- import { i as ce, m as pe, a as me, e as ve, _ as fe, f as be, b as ge } from "./options-QuOkMKVZ.js";
10
- import { a as ye } from "./suggestions-BVQhoXzS.js";
9
+ import { h as ce, m as pe, a as me, e as ve, _ as fe, f as be, b as ge } from "./options-B48UiYsG.js";
10
+ import { a as ye } from "./suggestions-q_v3M7G6.js";
11
11
  const he = { class: "flex min-h-9 items-center gap-1.5 rounded-control bg-fill px-2.5 text-content-muted focus-within:outline-2 focus-within:outline-offset-2 focus-within:outline-border-focus" }, ke = ["aria-label", "placeholder"], xe = ["aria-multiselectable", "aria-busy"], we = {
12
12
  key: 0,
13
13
  role: "presentation"
@@ -1,19 +1,19 @@
1
1
  import { defineComponent as I, computed as K, ref as V, openBlock as A, createBlock as k, unref as e, withCtx as b, createElementVNode as B, createVNode as p, mergeProps as f, createCommentVNode as D } from "vue";
2
2
  import { useI18n as G } from "vue-i18n";
3
3
  import { f as T, u as U } from "./refusals-DfPzVNNY.js";
4
- import { _ as x } from "./FormGroup.vue_vue_type_script_setup_true_lang-B37dixvJ.js";
5
- import { u as M, _ as N } from "./SelectField.vue_vue_type_script_setup_true_lang-BP8nAQwo.js";
6
- import { _ as Z } from "./TextareaField.vue_vue_type_script_setup_true_lang-Dyh4Hhyl.js";
7
- import { _ as j } from "./TextField.vue_vue_type_script_setup_true_lang-BFVsqcBX.js";
8
- import { _ as F } from "./useCommand-Dc8Lgs9h.js";
9
- import { u as H } from "./useRecordDialog-BTsbHY38.js";
4
+ import { a as x } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js";
5
+ import { u as N, _ as O } from "./SelectField.vue_vue_type_script_setup_true_lang-BZwdANL3.js";
6
+ import { _ as Z } from "./TextareaField.vue_vue_type_script_setup_true_lang-D2j4s96s.js";
7
+ import { _ as j } from "./TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js";
8
+ import { _ as F } from "./useCommand-Ch_nx1AQ.js";
9
+ import { u as H } from "./useRecordDialog-DdkauXnU.js";
10
10
  import { t as J } from "./toast-CqSDTWRX.js";
11
- import { u as S } from "./platform-BQOX_Ntw.js";
12
- import { i as Q, f as W, M as X } from "./index-CdtofdcJ.js";
13
- import { r as Y } from "./http-nz92KjdS.js";
11
+ import { u as C } from "./platform-BQOX_Ntw.js";
12
+ import { i as Q, o as W, p as X } from "./index-pJ_eRg80.js";
13
+ import { r as Y } from "./http-Dm0uXY9O.js";
14
14
  import { s as l } from "./routes-Beyr5NQo.js";
15
- import { u as ee } from "./fieldMessages-B6GHgi40.js";
16
- const y = (o) => ({ headers: { "Idempotency-Key": o } }), O = 500;
15
+ import { u as ee } from "./ActionRow.vue_vue_type_script_setup_true_lang-IpcP3Bjc.js";
16
+ const y = (o) => ({ headers: { "Idempotency-Key": o } }), S = 500;
17
17
  function ae(o) {
18
18
  return {
19
19
  list: async (s) => (await o.request(l.index, void 0, s)).data.service_accounts,
@@ -26,10 +26,10 @@ function ae(o) {
26
26
  createKey: async (s, t, c) => (await o.request(l.createkey, { ...t, id: s }, y(c))).data,
27
27
  revokeKey: async (s, t) => void await o.request(l.revokekey, { id: s, keyID: t }),
28
28
  /** The people who can answer for an account: the active ones of the users list (its largest page). */
29
- people: async (s) => Y(await o.request(Q.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 }))
29
+ people: async (s) => Y(await o.request(Q.usersList, { view: "active", order_col: "name", order_dir: "asc", page: 1, per_page: S }, s), { page: 1, pageSize: S }).rows.map((t) => ({ id: t.id, name: t.name }))
30
30
  };
31
31
  }
32
- const se = () => ae(S().http);
32
+ const se = () => ae(C().http);
33
33
  function te() {
34
34
  const o = ee(), s = T();
35
35
  return { ...o, failureMessage: (t, c) => s(t, c) ?? o.failureMessage(t, c) };
@@ -41,8 +41,8 @@ const ne = {
41
41
  __name: "ServiceAccountDialog",
42
42
  emits: ["saved"],
43
43
  setup(o, { expose: s, emit: t }) {
44
- const c = t, { t: r } = G(), { access: C } = S(), L = U(), _ = se(), { tenants: u } = W(), P = te(), v = K(() => {
45
- const a = C.held(X);
44
+ const c = t, { t: r } = G(), { access: L } = C(), M = U(), _ = se(), { tenants: u } = W(), P = te(), v = K(() => {
45
+ const a = L.held(X);
46
46
  return a !== null && a.scope.id === void 0;
47
47
  }), R = (a) => a.trim() === "", d = H({
48
48
  ...P,
@@ -59,13 +59,13 @@ const ne = {
59
59
  done: (a) => {
60
60
  J.success(r("core.serviceaccounts.toasts.saved")), c("saved", a);
61
61
  }
62
- }), m = d.form, g = V(!1), $ = M({
62
+ }), m = d.form, g = V(!1), $ = N({
63
63
  for: () => g.value && u !== null ? !0 : null,
64
64
  load: async (a, { signal: n }) => [
65
- ...v.value ? [{ value: h, label: L.levelLabel("organization") }] : [],
65
+ ...v.value ? [{ value: h, label: M.levelLabel("organization") }] : [],
66
66
  ...(await (u?.options(n) ?? [])).map((i) => ({ value: i.id, label: i.name }))
67
67
  ]
68
- }), z = M({
68
+ }), z = N({
69
69
  for: () => g.value ? !0 : null,
70
70
  load: async (a, { signal: n }) => (await _.people({ signal: n })).map((i) => ({ value: i.id, label: i.name }))
71
71
  });
@@ -100,12 +100,12 @@ const ne = {
100
100
  footer: e(r)("core.serviceaccounts.fields.owner_hint")
101
101
  }, {
102
102
  default: b(() => [
103
- e(u) ? (A(), k(e(N), f({ key: 0 }, e(m).bind("tenant_id"), {
103
+ e(u) ? (A(), k(e(O), f({ key: 0 }, e(m).bind("tenant_id"), {
104
104
  label: e(r)(e(u).labelKey),
105
105
  options: e($),
106
106
  required: ""
107
107
  }), null, 16, ["label", "options"])) : D("", !0),
108
- p(e(N), f(e(m).bind("owner_id"), {
108
+ p(e(O), f(e(m).bind("owner_id"), {
109
109
  label: e(r)("core.serviceaccounts.fields.owner"),
110
110
  options: e(z),
111
111
  required: ""
@@ -1,29 +1,29 @@
1
- import { defineComponent as P, useTemplateRef as F, ref as N, openBlock as r, createBlock as _, unref as e, withCtx as o, createElementBlock as E, createVNode as s, createElementVNode as D, toDisplayString as w, createTextVNode as R, createCommentVNode as L, mergeProps as Z, computed as K, Fragment as se, renderList as oe, createSlots as ne } from "vue";
2
- import { useI18n as q } from "vue-i18n";
1
+ import { defineComponent as O, useTemplateRef as F, ref as N, openBlock as r, createBlock as _, unref as e, withCtx as o, createElementBlock as E, createVNode as s, createElementVNode as D, toDisplayString as w, createTextVNode as R, createCommentVNode as L, mergeProps as Z, computed as K, Fragment as se, renderList as oe, createSlots as ne } from "vue";
2
+ import { useI18n as P } 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-qz1tmYpF.js";
5
+ import { a as ie } from "./PersonAccess.vue_vue_type_script_setup_true_lang-DbGZSNQc.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 { _ as V } from "./FormGroup.vue_vue_type_script_setup_true_lang-B37dixvJ.js";
9
- import { g as p } from "./options-QuOkMKVZ.js";
8
+ import { a as V } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js";
9
+ import { g as p } from "./options-B48UiYsG.js";
10
10
  import { u as Q } from "./format-D8KUBmbS.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-B9mN7UxZ.js";
13
+ import { _ as de } from "./RecordHeader.vue_vue_type_script_setup_true_lang-DqGc3Jyo.js";
14
14
  import { u as ae } from "./platform-BQOX_Ntw.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-Cw8mGf_B.js";
17
- import { _ as O } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
18
- import { M as ce, R as _e, f as pe, s as ye } from "./index-CdtofdcJ.js";
19
- import { u as W, a as X, _ as ke } from "./ServiceAccountDialog.vue_vue_type_script_setup_true_lang-aWkKwxNe.js";
20
- import { _ as J } from "./Button.vue_vue_type_script_setup_true_lang-Dp7OB-eF.js";
21
- import { _ as be } from "./AsyncSection.vue_vue_type_script_setup_true_lang-BdeOKqz_.js";
22
- import { _ as ge } from "./Modal.vue_vue_type_script_setup_true_lang-BlHhdmMy.js";
16
+ import { a as fe } from "./ResourcePage.vue_vue_type_script_setup_true_lang-DljhsTU4.js";
17
+ import { _ as M } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
18
+ import { p as ce, R as _e, o as pe, q as ye } from "./index-pJ_eRg80.js";
19
+ import { u as W, a as X, _ as ke } from "./ServiceAccountDialog.vue_vue_type_script_setup_true_lang-C0OIBrSp.js";
20
+ import { _ as J } from "./Button.vue_vue_type_script_setup_true_lang-C74hcb0N.js";
21
+ import { _ as be } from "./AsyncSection.vue_vue_type_script_setup_true_lang-DGzQ-Snp.js";
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-BhKdCVFn.js";
25
- import { _ as $e } from "./TextField.vue_vue_type_script_setup_true_lang-BFVsqcBX.js";
26
- import { u as he, _ as Ce } from "./useCommand-Dc8Lgs9h.js";
24
+ import { _ as we } from "./DateField.vue_vue_type_script_setup_true_lang-CeNwBbJT.js";
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";
27
27
  async function Se(u) {
28
28
  try {
29
29
  return await navigator.clipboard.writeText(u), !0;
@@ -49,14 +49,14 @@ const Ae = {
49
49
  }, Re = {
50
50
  class: "contents",
51
51
  "data-test": "copy-api-key"
52
- }, Le = { "data-test": "api-key-once" }, Te = /* @__PURE__ */ P({
52
+ }, Le = { "data-test": "api-key-once" }, Te = /* @__PURE__ */ O({
53
53
  __name: "CreatedApiKeyDialog",
54
54
  props: {
55
55
  account: {}
56
56
  },
57
57
  emits: ["done"],
58
58
  setup(u, { expose: t, emit: k }) {
59
- const l = u, g = k, { t: c } = q(), $ = Q(), d = F("dialog"), m = N(null), i = N(!1);
59
+ const l = u, g = k, { t: c } = P(), $ = Q(), d = F("dialog"), m = N(null), i = N(!1);
60
60
  function n(C) {
61
61
  m.value = C, i.value = !1, d.value?.present();
62
62
  }
@@ -154,14 +154,14 @@ function Ne(u = /* @__PURE__ */ new Date()) {
154
154
  const Ee = {
155
155
  class: "flex min-w-0 flex-col gap-group-gap",
156
156
  "data-test": "new-api-key"
157
- }, Ve = /* @__PURE__ */ P({
157
+ }, Ve = /* @__PURE__ */ O({
158
158
  __name: "NewApiKeyDialog",
159
159
  props: {
160
160
  account: {}
161
161
  },
162
162
  emits: ["created"],
163
163
  setup(u, { expose: t, emit: k }) {
164
- const l = u, g = k, { t: c } = q(), $ = W(), d = X(), i = he({
164
+ const l = u, g = k, { t: c } = P(), $ = W(), d = X(), i = he({
165
165
  ...d,
166
166
  defaults: () => ({ name: "", expires: null }),
167
167
  validator: {
@@ -210,17 +210,17 @@ const Ee = {
210
210
  }), je = {
211
211
  class: "flex min-w-0 flex-col gap-group-gap",
212
212
  "data-test": "api-keys"
213
- }, Me = ["data-test"], ze = {
213
+ }, qe = ["data-test"], ze = {
214
214
  class: "contents",
215
215
  "data-test": "new-api-key-action"
216
- }, Oe = /* @__PURE__ */ P({
216
+ }, Me = /* @__PURE__ */ O({
217
217
  __name: "ApiKeysPanel",
218
218
  props: {
219
219
  account: {}
220
220
  },
221
221
  emits: ["changed"],
222
222
  setup(u, { expose: t, emit: k }) {
223
- const l = u, g = k, { t: c } = q(), { access: $ } = ae(), d = Q(), m = W(), i = X(), n = me({ for: () => l.account.id, load: (a, { signal: f }) => m.keys(a, { signal: f }) }), v = () => n.reload(), x = F("newKey"), h = F("createdKey"), C = F("revokeConfirm"), A = N(null), M = K(() => !l.account.deactivated_at), B = K(() => $.can(ce)), z = K(() => $.can(_e)), T = (a) => a.expires_at !== null && new Date(a.expires_at).getTime() < Date.now();
223
+ const l = u, g = k, { t: c } = P(), { access: $ } = ae(), d = Q(), m = W(), i = X(), n = me({ for: () => l.account.id, load: (a, { signal: f }) => m.keys(a, { signal: f }) }), v = () => n.reload(), x = F("newKey"), h = F("createdKey"), C = F("revokeConfirm"), A = N(null), q = K(() => !l.account.deactivated_at), B = K(() => $.can(ce)), z = K(() => $.can(_e)), T = (a) => a.expires_at !== null && new Date(a.expires_at).getTime() < Date.now();
224
224
  function I(a) {
225
225
  return [
226
226
  `${a.prefix}…`,
@@ -272,7 +272,7 @@ const Ee = {
272
272
  }, null, 8, ["tone"])
273
273
  ]),
274
274
  default: o(() => [
275
- b.revoked_at ? (r(), _(e(O), {
275
+ b.revoked_at ? (r(), _(e(M), {
276
276
  key: 0,
277
277
  tone: "critical"
278
278
  }, {
@@ -280,7 +280,7 @@ const Ee = {
280
280
  R(w(e(c)("core.serviceaccounts.keys.revoked", { date: e(d).date(b.revoked_at) })), 1)
281
281
  ]),
282
282
  _: 2
283
- }, 1024)) : T(b) ? (r(), _(e(O), {
283
+ }, 1024)) : T(b) ? (r(), _(e(M), {
284
284
  key: 1,
285
285
  tone: "warning"
286
286
  }, {
@@ -310,12 +310,12 @@ const Ee = {
310
310
  ]),
311
311
  _: 1
312
312
  }, 8, ["onClick"])
313
- ], 8, Me)
313
+ ], 8, qe)
314
314
  ]),
315
315
  key: "0"
316
316
  } : void 0
317
317
  ]), 1032, ["label", "sub"]))), 128)),
318
- B.value && M.value ? (r(), _(e(p), {
318
+ B.value && q.value ? (r(), _(e(p), {
319
319
  key: 1,
320
320
  layout: "stacked"
321
321
  }, {
@@ -365,14 +365,14 @@ const Ee = {
365
365
  }, null, 8, ["title", "message", "confirm-label"])
366
366
  ]));
367
367
  }
368
- }), Pe = { key: 0 }, qe = { class: "flex min-w-0 flex-col gap-group-gap" }, Be = {
368
+ }), Oe = { key: 0 }, Pe = { class: "flex min-w-0 flex-col gap-group-gap" }, Be = {
369
369
  key: 0,
370
370
  class: "flex min-w-0 flex-col gap-group-gap",
371
371
  "data-test": "service-general"
372
- }, yt = /* @__PURE__ */ P({
372
+ }, yt = /* @__PURE__ */ O({
373
373
  __name: "ServiceAccountRecord",
374
374
  setup(u) {
375
- const { t } = q(), k = re(), { access: l } = ae(), g = Q(), c = le(), $ = W(), { tenants: d } = pe(), m = X(), i = ve({ param: "id", load: (S, { signal: y }) => $.show(S, { signal: y }) }), n = i.data, v = ["general", "access", "keys"], x = typeof k.query.tab == "string" ? k.query.tab : "", h = N(v.includes(x) ? x : "general"), C = N(null), A = F("editDialog"), M = F("deactivateConfirm"), B = K(() => l.can(ce)), z = K(() => n.value !== null && !n.value.deactivated_at), T = K(() => n.value?.tenant?.name ?? c.levelLabel("organization")), I = K(() => [
375
+ const { t } = P(), k = re(), { access: l } = ae(), g = Q(), c = le(), $ = W(), { tenants: d } = pe(), m = X(), i = ve({ param: "id", load: (S, { signal: y }) => $.show(S, { signal: y }) }), n = i.data, v = ["general", "access", "keys"], x = typeof k.query.tab == "string" ? k.query.tab : "", h = N(v.includes(x) ? x : "general"), C = N(null), A = F("editDialog"), q = F("deactivateConfirm"), B = K(() => l.can(ce)), z = K(() => n.value !== null && !n.value.deactivated_at), T = K(() => n.value?.tenant?.name ?? c.levelLabel("organization")), I = K(() => [
376
376
  { value: "general", label: t("core.serviceaccounts.tabs.general"), icon: "settings3Line" },
377
377
  { value: "access", label: t("core.serviceaccounts.tabs.access"), icon: "shieldStarFill", ...C.value !== null ? { badge: C.value } : {} },
378
378
  { value: "keys", label: t("core.serviceaccounts.tabs.keys"), icon: "key2Line", badge: n.value?.active_keys ?? 0 }
@@ -380,7 +380,7 @@ const Ee = {
380
380
  const S = n.value;
381
381
  return !S || !B.value || !z.value ? [] : [
382
382
  { id: "edit", label: t("core.serviceaccounts.actions.edit"), icon: "edit", placement: "secondary", onClick: () => A.value?.show(S) },
383
- { id: "deactivate", label: t("core.serviceaccounts.actions.deactivate"), icon: "lockLine", placement: "overflow", tone: "critical", onClick: () => M.value?.present() }
383
+ { id: "deactivate", label: t("core.serviceaccounts.actions.deactivate"), icon: "lockLine", placement: "overflow", tone: "critical", onClick: () => q.value?.present() }
384
384
  ];
385
385
  });
386
386
  async function Y() {
@@ -407,14 +407,14 @@ const Ee = {
407
407
  })
408
408
  ]),
409
409
  meta: o(() => [
410
- s(e(O), { tone: "context" }, {
410
+ s(e(M), { tone: "context" }, {
411
411
  default: o(() => [
412
412
  R(w(e(t)("core.serviceaccounts.title")), 1)
413
413
  ]),
414
414
  _: 1
415
415
  }),
416
- e(d) ? (r(), E("span", Pe, w(T.value), 1)) : L("", !0),
417
- z.value ? L("", !0) : (r(), _(e(O), {
416
+ e(d) ? (r(), E("span", Oe, w(T.value), 1)) : L("", !0),
417
+ z.value ? L("", !0) : (r(), _(e(M), {
418
418
  key: 1,
419
419
  tone: "neutral"
420
420
  }, {
@@ -428,7 +428,7 @@ const Ee = {
428
428
  }, 8, ["title", "subtitle"])
429
429
  ]),
430
430
  default: o(({ record: a }) => [
431
- D("div", qe, [
431
+ D("div", Pe, [
432
432
  s(e(ue), {
433
433
  modelValue: h.value,
434
434
  "onUpdate:modelValue": y[0] || (y[0] = (f) => h.value = f),
@@ -480,7 +480,7 @@ const Ee = {
480
480
  name: a.name,
481
481
  "subject-label": e(d) ? `${a.name} · ${T.value}` : a.name,
482
482
  onLoaded: y[1] || (y[1] = (f) => C.value = f)
483
- }, null, 8, ["subject", "name", "subject-label"])) : (r(), _(Oe, {
483
+ }, null, 8, ["subject", "name", "subject-label"])) : (r(), _(Me, {
484
484
  key: 2,
485
485
  account: a,
486
486
  onChanged: y[2] || (y[2] = (f) => e(i).reload())
@@ -493,7 +493,7 @@ const Ee = {
493
493
  }, null, 512),
494
494
  s(e(te), {
495
495
  ref_key: "deactivateConfirm",
496
- ref: M,
496
+ ref: q,
497
497
  title: e(t)("core.serviceaccounts.deactivate_title"),
498
498
  message: e(t)("core.serviceaccounts.deactivate_body", { name: a.name }),
499
499
  "confirm-label": e(t)("core.serviceaccounts.actions.deactivate"),