@wssto2/vue-core 0.5.4 → 0.7.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 (168) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +6 -1
  3. package/dist/{AccessGate.vue_vue_type_script_setup_true_lang-DZ9GcLC1.js → AccessGate.vue_vue_type_script_setup_true_lang-CkomzGrt.js} +1 -1
  4. package/dist/{AccountMenuItem.vue_vue_type_script_setup_true_lang-CPeNxh5K.js → AccountMenuItem.vue_vue_type_script_setup_true_lang-BIYgaihv.js} +1 -1
  5. package/dist/{ActionRow.vue_vue_type_script_setup_true_lang-Bv-APkGf.js → ActionRow.vue_vue_type_script_setup_true_lang-Cg1lhpcA.js} +2 -2
  6. package/dist/{Activity-DUjDaPfP.js → Activity-CW2TOQAY.js} +9 -9
  7. package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-GUTIXuNd.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-9Lt1XggN.js} +3 -3
  8. package/dist/{AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js → AlertDialog.vue_vue_type_script_setup_true_lang-BvGc1Rfl.js} +1 -1
  9. package/dist/{AsyncSection.vue_vue_type_script_setup_true_lang-B0NfvG3B.js → AsyncSection.vue_vue_type_script_setup_true_lang-GxAsImnO.js} +4 -4
  10. package/dist/{Banner.vue_vue_type_script_setup_true_lang-DSStj_5z.js → Banner.vue_vue_type_script_setup_true_lang-sv0phngk.js} +1 -1
  11. package/dist/{Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js → Button.vue_vue_type_script_setup_true_lang-DQq_0P0p.js} +1 -1
  12. package/dist/{Changes-B0tZO6BZ.js → Changes-BCaVkeZg.js} +8 -8
  13. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-o_Pj-JcD.js → CollectionPage.vue_vue_type_script_setup_true_lang-BmXnfM5f.js} +17 -16
  14. package/dist/{DataTable.vue_vue_type_script_setup_true_lang-BEvz5zqo.js → DataTable.vue_vue_type_script_setup_true_lang-DRWrCRLr.js} +1 -1
  15. package/dist/{DateField.vue_vue_type_script_setup_true_lang-CDg31ZU7.js → DateField.vue_vue_type_script_setup_true_lang-DmYp54mq.js} +3 -3
  16. package/dist/{DeadLetters-IgVHao84.js → DeadLetters-DUM_bsL-.js} +8 -7
  17. package/dist/{DiscardChangesModal.vue_vue_type_script_setup_true_lang-D1arePCZ.js → DiscardChangesModal.vue_vue_type_script_setup_true_lang-DcihJfpk.js} +1 -1
  18. package/dist/{EmptyState.vue_vue_type_script_setup_true_lang-50p-Mp8I.js → EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js} +1 -1
  19. package/dist/{FormErrors.vue_vue_type_script_setup_true_lang-D7edzNTL.js → FormErrors.vue_vue_type_script_setup_true_lang-DJiK8iqo.js} +1 -1
  20. package/dist/{FormGroup.vue_vue_type_script_setup_true_lang-CSgT4ITL.js → FormGroup.vue_vue_type_script_setup_true_lang-BTADNpwB.js} +2 -2
  21. package/dist/{FormView.vue_vue_type_script_setup_true_lang-D31Hk3pJ.js → FormView.vue_vue_type_script_setup_true_lang-Ncl9DmFB.js} +2 -2
  22. package/dist/{General-C40HxupS.js → General-Dsh0TJ5w.js} +8 -8
  23. package/dist/{HeaderAction.vue_vue_type_script_setup_true_lang-Cgji-Jrr.js → HeaderAction.vue_vue_type_script_setup_true_lang-Da59TLBh.js} +2 -2
  24. package/dist/{Icon.vue_vue_type_script_lang-D7oC-d-S.js → Icon.vue_vue_type_script_lang-BhhsFYwp.js} +45 -42
  25. package/dist/{IconTile.vue_vue_type_script_setup_true_lang-_FXvaj93.js → IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js} +1 -1
  26. package/dist/IncidentRecord-C9zrjNrp.js +405 -0
  27. package/dist/IncidentsList-ClQOjd5c.js +140 -0
  28. package/dist/KeyValue.vue_vue_type_script_setup_true_lang-wcZcvnow.js +35 -0
  29. package/dist/{LeaveGuardRoot.vue_vue_type_script_setup_true_lang-Cv7KlA5y.js → LeaveGuardRoot.vue_vue_type_script_setup_true_lang-ChIsmnts.js} +1 -1
  30. package/dist/{Menu.vue_vue_type_script_setup_true_lang-DsFOeCVe.js → Menu.vue_vue_type_script_setup_true_lang-ldLdJ5Q-.js} +1 -1
  31. package/dist/{MenuButton.vue_vue_type_script_setup_true_lang-AGbN9r5q.js → MenuButton.vue_vue_type_script_setup_true_lang-C-XRr5f2.js} +1 -1
  32. package/dist/{Modal.vue_vue_type_script_setup_true_lang-DpBb8ans.js → Modal.vue_vue_type_script_setup_true_lang-4MsnTWyx.js} +2 -2
  33. package/dist/{NewRolePage-Bhy8KJO1.js → NewRolePage-Bw2_jXcQ.js} +9 -8
  34. package/dist/{NoAccess.vue_vue_type_script_setup_true_lang-DWxq-MTM.js → NoAccess.vue_vue_type_script_setup_true_lang-BHzZtZ50.js} +1 -1
  35. package/dist/{NumberField.vue_vue_type_script_setup_true_lang-BdS7BxuS.js → NumberField.vue_vue_type_script_setup_true_lang-C3nw944P.js} +1 -1
  36. package/dist/{PageBar.vue_vue_type_script_setup_true_lang-B7qdEeej.js → PageBar.vue_vue_type_script_setup_true_lang-DPpcZxuT.js} +1 -1
  37. package/dist/{Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js → Panel.vue_vue_type_script_setup_true_lang-D_Wg42hu.js} +1 -1
  38. package/dist/PersonAccess.vue_vue_type_script_setup_true_lang-07pq4SrY.js +600 -0
  39. package/dist/{PhotoViewer.vue_vue_type_script_setup_true_lang-CY5EZiyK.js → PhotoViewer.vue_vue_type_script_setup_true_lang-Cj0hSMk9.js} +1 -1
  40. package/dist/{ProfilePage-Bf7dFzGd.js → ProfilePage-CJIztbx3.js} +19 -19
  41. package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-fmx0f8xi.js → RecordHeader.vue_vue_type_script_setup_true_lang-DPm9q1P_.js} +2 -2
  42. package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-BFBGvevP.js → ResourcePage.vue_vue_type_script_setup_true_lang-Cm3tx76N.js} +5 -5
  43. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-C6oloGIh.js → RoleEditor.vue_vue_type_script_setup_true_lang-DuQR8hFf.js} +35 -34
  44. package/dist/{RolePage-BjbvciTg.js → RolePage-Yv6m6u7o.js} +43 -41
  45. package/dist/{RolesPage-DzVOgF4z.js → RolesPage-TibtzxzQ.js} +34 -32
  46. package/dist/{SectionList.vue_vue_type_script_setup_true_lang-wyW7n3Uq.js → SectionList.vue_vue_type_script_setup_true_lang-DAnZbfWA.js} +3 -3
  47. package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-Ci04hApd.js → SectionNavigator.vue_vue_type_script_setup_true_lang-ivdGWUeF.js} +5 -5
  48. package/dist/{SegmentedField.vue_vue_type_script_setup_true_lang-DXe_iOS8.js → SegmentedField.vue_vue_type_script_setup_true_lang-ChfDFAA2.js} +1 -1
  49. package/dist/{SelectField.vue_vue_type_script_setup_true_lang-BN4vzvV9.js → SelectField.vue_vue_type_script_setup_true_lang-iJm8qmjT.js} +7 -7
  50. package/dist/ServiceAccountDialog.vue_vue_type_script_setup_true_lang-D2Xj5mr7.js +126 -0
  51. package/dist/ServiceAccountRecord-Ct3TrSqZ.js +511 -0
  52. package/dist/ServiceAccountsList-CaXEp73j.js +137 -0
  53. package/dist/{SessionList.vue_vue_type_script_setup_true_lang-PuWIK-Wa.js → SessionList.vue_vue_type_script_setup_true_lang-BEKTaL0g.js} +4 -4
  54. package/dist/{Sessions-CRUObe5G.js → Sessions-Bg4Zk9Gf.js} +6 -6
  55. package/dist/{SettingsPage-C0qEC0uI.js → SettingsPage-Brq9U4tJ.js} +19 -19
  56. package/dist/{Sheet.vue_vue_type_script_setup_true_lang-DgOFV4fa.js → Sheet.vue_vue_type_script_setup_true_lang-sh9YD0Pm.js} +1 -1
  57. package/dist/{SignIn-Uy0Jujzz.js → SignIn-DB5LRNlB.js} +7 -7
  58. package/dist/{SignInPage-CpVZfrLZ.js → SignInPage-Ts-iTaC1.js} +6 -6
  59. package/dist/{SignIns-Cp5Gx2dk.js → SignIns-bCvvmCHF.js} +6 -6
  60. package/dist/{SwipeActions.vue_vue_type_script_setup_true_lang-BJIA2JfI.js → SwipeActions.vue_vue_type_script_setup_true_lang-D8SiC0G7.js} +1 -1
  61. package/dist/{SwitchField.vue_vue_type_script_setup_true_lang-Dj5Aq8QT.js → SwitchField.vue_vue_type_script_setup_true_lang-BMA2YXTZ.js} +1 -1
  62. package/dist/{Tabs.vue_vue_type_script_setup_true_lang-CcMcE38r.js → Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js} +1 -1
  63. package/dist/{TextField.vue_vue_type_script_setup_true_lang-BwfNNQEz.js → TextField.vue_vue_type_script_setup_true_lang-7IAl4eAE.js} +3 -3
  64. package/dist/{TextareaField.vue_vue_type_script_setup_true_lang-aT1P8Xqr.js → TextareaField.vue_vue_type_script_setup_true_lang-Dyh4Hhyl.js} +1 -1
  65. package/dist/{TimeField.vue_vue_type_script_setup_true_lang-jPKPE1hc.js → TimeField.vue_vue_type_script_setup_true_lang-BwoE08jT.js} +3 -3
  66. package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-CutyQkJb.js → Timestamp.vue_vue_type_script_setup_true_lang-u53rHMFG.js} +1 -1
  67. package/dist/{UserRecord-DbSMnTbj.js → UserRecord-DgK9FsvV.js} +30 -30
  68. package/dist/{UsersList-9MicE2pG.js → UsersList-Due2ZkbO.js} +14 -14
  69. package/dist/{ViewTabs.vue_vue_type_script_setup_true_lang-BJIoZAlH.js → ViewTabs.vue_vue_type_script_setup_true_lang-BjdDXE3T.js} +1 -1
  70. package/dist/access/api.d.ts +7 -8
  71. package/dist/access/context.d.ts +2 -7
  72. package/dist/access/feature.d.ts +0 -8
  73. package/dist/access/index.js +47 -15
  74. package/dist/app/application.d.ts +2 -0
  75. package/dist/app/index.js +13 -427
  76. package/dist/application-D8Nm17zA.js +420 -0
  77. package/dist/button/index.js +1 -1
  78. package/dist/client/client.d.ts +7 -0
  79. package/dist/client/index.d.ts +1 -1
  80. package/dist/client/index.js +5 -4
  81. package/dist/client-CZgikXPG.js +151 -0
  82. package/dist/collection/index.js +55 -63
  83. package/dist/content/index.js +37 -66
  84. package/dist/{contributions-fx5q5n1u.js → contributions-BQ9dZoRw.js} +1 -1
  85. package/dist/controls/index.js +4 -4
  86. package/dist/datePresets-DB13HHHd.js +17 -0
  87. package/dist/definition-C7QuyV3i.js +54 -0
  88. package/dist/form/index.js +590 -615
  89. package/dist/{guards-D4mXf_2X.js → guards-BFCulig0.js} +1 -1
  90. package/dist/http-nz92KjdS.js +42 -0
  91. package/dist/i18n/index.js +36 -36
  92. package/dist/icon/core.d.ts +3 -0
  93. package/dist/icon/index.js +1 -1
  94. package/dist/identity/index.d.ts +7 -0
  95. package/dist/identity/index.js +19 -15
  96. package/dist/identity/serviceaccounts/ApiKeysPanel.vue.d.ts +17 -0
  97. package/dist/identity/serviceaccounts/CreatedApiKeyDialog.vue.d.ts +53 -0
  98. package/dist/identity/serviceaccounts/NewApiKeyDialog.vue.d.ts +24 -0
  99. package/dist/identity/serviceaccounts/ServiceAccountDialog.vue.d.ts +22 -0
  100. package/dist/identity/serviceaccounts/ServiceAccountRecord.vue.d.ts +2 -0
  101. package/dist/identity/serviceaccounts/ServiceAccountsList.vue.d.ts +2 -0
  102. package/dist/identity/serviceaccounts/access.d.ts +4 -0
  103. package/dist/identity/serviceaccounts/api.d.ts +27 -0
  104. package/dist/identity/serviceaccounts/context.d.ts +14 -0
  105. package/dist/identity/serviceaccounts/feature.d.ts +23 -0
  106. package/dist/identity/serviceaccounts/form.d.ts +4 -0
  107. package/dist/identity/serviceaccounts/messages.d.ts +11 -0
  108. package/dist/identity/serviceaccounts/routes.d.ts +22 -0
  109. package/dist/incidents/IncidentRecord.vue.d.ts +2 -0
  110. package/dist/incidents/IncidentsList.vue.d.ts +2 -0
  111. package/dist/incidents/Person.vue.d.ts +7 -0
  112. package/dist/incidents/ReportDialog.vue.d.ts +21 -0
  113. package/dist/incidents/ReportHost.vue.d.ts +2 -0
  114. package/dist/incidents/ReportMenuItem.vue.d.ts +2 -0
  115. package/dist/incidents/access.d.ts +6 -0
  116. package/dist/incidents/api.d.ts +27 -0
  117. package/dist/incidents/clientErrorReporter.d.ts +38 -0
  118. package/dist/incidents/context.d.ts +7 -0
  119. package/dist/incidents/feature.d.ts +20 -0
  120. package/dist/incidents/form.d.ts +16 -0
  121. package/dist/incidents/index.d.ts +9 -0
  122. package/dist/incidents/index.js +8 -0
  123. package/dist/incidents/look.d.ts +6 -0
  124. package/dist/incidents/routes.d.ts +21 -0
  125. package/dist/{index-Ok29ucE3.js → index-CXTJ_1NV.js} +191 -168
  126. package/dist/index-D5_GAqjA.js +340 -0
  127. package/dist/{index-C-oM_Mnf.js → index-i-cTTVxo.js} +10 -10
  128. package/dist/index.d.ts +1 -1
  129. package/dist/index.js +1 -1
  130. package/dist/internal/copyText.d.ts +5 -0
  131. package/dist/modal/index.js +5 -5
  132. package/dist/modules/incident/entities.d.ts +84 -0
  133. package/dist/modules/incident/routes.d.ts +54 -0
  134. package/dist/modules/incident/schemas.d.ts +48 -0
  135. package/dist/modules/serviceaccount/entities.d.ts +127 -0
  136. package/dist/modules/serviceaccount/routes.d.ts +58 -0
  137. package/dist/modules/serviceaccount/schemas.d.ts +49 -0
  138. package/dist/{navigation-Bc5EQ_Si.js → navigation-BSC9X7FM.js} +1 -1
  139. package/dist/{neighbors-Bv6vnWlW.js → neighbors-BKzihEGQ.js} +1 -1
  140. package/dist/notifications/index.js +1 -1
  141. package/dist/{options-Bu0XbEpN.js → options-QuOkMKVZ.js} +4 -4
  142. package/dist/overlay/index.js +4 -4
  143. package/dist/page/index.js +7 -7
  144. package/dist/phone/index.js +2 -2
  145. package/dist/platform/index.js +3 -3
  146. package/dist/{platform-Dx6STiwY.js → platform-Dr4iY3b8.js} +1 -1
  147. package/dist/refusals-COPr15XZ.js +135 -0
  148. package/dist/resource/index.js +1 -1
  149. package/dist/router/index.js +4 -4
  150. package/dist/routes-CVckt7Pj.js +19 -0
  151. package/dist/{rowLayout-BBFyLbOl.js → rowLayout-Cz-K7jeo.js} +5 -5
  152. package/dist/{sections-B0HxIOC2.js → sections-BXg4_ZhO.js} +1 -1
  153. package/dist/shell/index.js +9 -9
  154. package/dist/state/index.js +4 -4
  155. package/dist/state-ChVIjayU.js +102 -0
  156. package/dist/{status-C78NpXyB.js → status-DZ4eSnAS.js} +9 -8
  157. package/dist/styles.css +1 -1
  158. package/dist/{suggestions-ClyLexMO.js → suggestions-niXd1oOl.js} +1 -1
  159. package/dist/testing/index.js +1 -1
  160. package/dist/{useCommand-DyuPTosF.js → useCommand-BIZX1ReM.js} +4 -4
  161. package/dist/{useGroupSheet-C2NyqWRp.js → useGroupSheet-DxXzdKo3.js} +5 -5
  162. package/dist/useRecordDialog-BLVSz7g3.js +30 -0
  163. package/dist/{useResourceForm-CJfl8rj_.js → useResourceForm-DYuYT_on.js} +1 -1
  164. package/dist/{useTypedEntry-C7k7Dyl-.js → useTypedEntry-CKuGqWT8.js} +2 -2
  165. package/package.json +6 -2
  166. package/dist/client-BHPFfBj3.js +0 -147
  167. package/dist/http-CdQowFlW.js +0 -194
  168. package/dist/index-BdGnA1Jh.js +0 -765
@@ -0,0 +1,127 @@
1
+ export type AccountTenant = {
2
+ id: number;
3
+ name: string;
4
+ };
5
+ export type ApiKey = {
6
+ id: number;
7
+ name: string;
8
+ prefix: string;
9
+ created_by: PersonRef;
10
+ created_at: string;
11
+ last_used_at: string | null;
12
+ expires_at: string | null;
13
+ revoked_at: string | null;
14
+ };
15
+ export type ApiKeyList = {
16
+ keys: ApiKey[];
17
+ };
18
+ export type BindableRoles = {
19
+ roles: Role[];
20
+ };
21
+ export type Binding = {
22
+ id: number;
23
+ role: RoleSummary;
24
+ scope: Scope;
25
+ created_by: BindingPersonRef | null;
26
+ created_at: string;
27
+ };
28
+ export type BindingPersonRef = {
29
+ id: number;
30
+ name: string;
31
+ };
32
+ export type Constraint = {
33
+ attribute: string;
34
+ values: string[];
35
+ };
36
+ export type CreatedApiKey = {
37
+ key: ApiKey;
38
+ secret: string;
39
+ };
40
+ export type EffectiveGrant = {
41
+ qualifier: string;
42
+ scope: Scope;
43
+ attrs: Constraint[];
44
+ binding_id: number;
45
+ role_key: string;
46
+ role_name: string;
47
+ };
48
+ export type EffectivePermission = {
49
+ permission: string;
50
+ grants: EffectiveGrant[];
51
+ unavailable: boolean;
52
+ };
53
+ export type Grant = {
54
+ permission: string;
55
+ qualifier: string;
56
+ };
57
+ export type PersonRef = {
58
+ id: number;
59
+ name: string;
60
+ };
61
+ export type Role = {
62
+ ref: string;
63
+ id: number | null;
64
+ key: string | null;
65
+ name: string;
66
+ description: string;
67
+ predefined: boolean;
68
+ computed: boolean;
69
+ attrs: Constraint[];
70
+ holders: number;
71
+ permission_count: number;
72
+ grants: Grant[];
73
+ };
74
+ export type RoleSummary = {
75
+ ref: string;
76
+ id: number | null;
77
+ key: string | null;
78
+ name: string;
79
+ description: string;
80
+ predefined: boolean;
81
+ computed: boolean;
82
+ attrs: Constraint[];
83
+ holders: number;
84
+ permission_count: number;
85
+ };
86
+ export type Scope = {
87
+ level: string;
88
+ id: number | null;
89
+ name: string | null;
90
+ };
91
+ export type ScopeOption = {
92
+ level: string;
93
+ id: number;
94
+ name: string;
95
+ parent_level: string;
96
+ parent_id: number | null;
97
+ };
98
+ export type ScopeOptions = {
99
+ root_level: string;
100
+ root: boolean;
101
+ places: ScopeOption[];
102
+ };
103
+ export type ServiceAccount = {
104
+ id: number;
105
+ name: string;
106
+ description: string;
107
+ tenant: AccountTenant | null;
108
+ owner: PersonRef;
109
+ created_by: PersonRef;
110
+ created_at: string;
111
+ active_keys: number;
112
+ last_used_at: string | null;
113
+ deactivated_at: string | null;
114
+ };
115
+ export type ServiceAccountList = {
116
+ service_accounts: ServiceAccount[];
117
+ };
118
+ export type SubjectAccess = {
119
+ subject: SubjectRef;
120
+ bindings: Binding[];
121
+ effective: EffectivePermission[];
122
+ can_manage: boolean;
123
+ };
124
+ export type SubjectRef = {
125
+ kind: string;
126
+ id: number;
127
+ };
@@ -0,0 +1,58 @@
1
+ import type { ApiKeyList, BindableRoles, Binding, CreatedApiKey, ScopeOptions, ServiceAccount, ServiceAccountList, SubjectAccess } from "./entities";
2
+ export declare const serviceaccountRoutes: {
3
+ readonly index: import("../../client").ApiRoute<void, ServiceAccountList, unknown>;
4
+ readonly show: import("../../client").ApiRoute<{
5
+ id: number;
6
+ }, ServiceAccount, unknown>;
7
+ readonly create: import("../../client").ApiRoute<{
8
+ name: string;
9
+ description: string;
10
+ owner_id: number;
11
+ tenant_id?: number | null | undefined;
12
+ }, ServiceAccount, unknown>;
13
+ readonly update: import("../../client").ApiRoute<{
14
+ name: string;
15
+ description: string;
16
+ owner_id: number;
17
+ tenant_id?: number | null | undefined;
18
+ } & {
19
+ id: number;
20
+ }, ServiceAccount, unknown>;
21
+ readonly deactivate: import("../../client").ApiRoute<{
22
+ id: number;
23
+ }, ServiceAccount, unknown>;
24
+ readonly keys: import("../../client").ApiRoute<{
25
+ id: number;
26
+ }, ApiKeyList, unknown>;
27
+ readonly createkey: import("../../client").ApiRoute<{
28
+ name: string;
29
+ expires_at?: string | null | undefined;
30
+ } & {
31
+ id: number;
32
+ }, CreatedApiKey, unknown>;
33
+ readonly revokekey: import("../../client").ApiRoute<{
34
+ keyID: number;
35
+ } & {
36
+ id: number;
37
+ }, void, unknown>;
38
+ readonly bindableroles: import("../../client").ApiRoute<{
39
+ level: string;
40
+ scope_id: number;
41
+ }, BindableRoles, unknown>;
42
+ readonly access: import("../../client").ApiRoute<{
43
+ id: number;
44
+ }, SubjectAccess, unknown>;
45
+ readonly scopes: import("../../client").ApiRoute<{
46
+ id: number;
47
+ }, ScopeOptions, unknown>;
48
+ readonly bind: import("../../client").ApiRoute<{
49
+ id: number;
50
+ role_ref: string;
51
+ level: string;
52
+ scope_id?: number | null | undefined;
53
+ }, Binding, unknown>;
54
+ readonly unbind: import("../../client").ApiRoute<{
55
+ id: number;
56
+ binding_id: number;
57
+ }, void, unknown>;
58
+ };
@@ -0,0 +1,49 @@
1
+ import { z } from 'zod';
2
+ export declare const AccountPathSchema: z.ZodObject<{
3
+ id: z.ZodNumber;
4
+ }, z.core.$strip>;
5
+ export type AccountPath = z.infer<typeof AccountPathSchema>;
6
+ export declare const BindInputSchema: z.ZodObject<{
7
+ id: z.ZodNumber;
8
+ role_ref: z.ZodString;
9
+ level: z.ZodString;
10
+ scope_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
11
+ }, z.core.$strip>;
12
+ export type BindInput = z.infer<typeof BindInputSchema>;
13
+ export declare const BindableInputSchema: z.ZodObject<{
14
+ level: z.ZodString;
15
+ scope_id: z.ZodNumber;
16
+ }, z.core.$strip>;
17
+ export type BindableInput = z.infer<typeof BindableInputSchema>;
18
+ export declare const KeyRequestSchema: z.ZodObject<{
19
+ name: z.ZodString;
20
+ expires_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
21
+ }, z.core.$strip>;
22
+ export type KeyRequest = z.infer<typeof KeyRequestSchema>;
23
+ export declare const RevokeRequestSchema: z.ZodObject<{
24
+ keyID: z.ZodNumber;
25
+ }, z.core.$strip>;
26
+ export type RevokeRequest = z.infer<typeof RevokeRequestSchema>;
27
+ export declare const SaveInputSchema: z.ZodObject<{
28
+ name: z.ZodString;
29
+ description: z.ZodString;
30
+ tenant_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
31
+ owner_id: z.ZodNumber;
32
+ }, z.core.$strip>;
33
+ export type SaveInput = z.infer<typeof SaveInputSchema>;
34
+ export declare const SubjectInputSchema: z.ZodObject<{
35
+ id: z.ZodNumber;
36
+ }, z.core.$strip>;
37
+ export type SubjectInput = z.infer<typeof SubjectInputSchema>;
38
+ export declare const UnbindInputSchema: z.ZodObject<{
39
+ id: z.ZodNumber;
40
+ binding_id: z.ZodNumber;
41
+ }, z.core.$strip>;
42
+ export type UnbindInput = z.infer<typeof UnbindInputSchema>;
43
+ export declare const UpdateRequestSchema: z.ZodObject<{
44
+ name: z.ZodString;
45
+ description: z.ZodString;
46
+ tenant_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
47
+ owner_id: z.ZodNumber;
48
+ }, z.core.$strip>;
49
+ export type UpdateRequest = z.infer<typeof UpdateRequestSchema>;
@@ -1,6 +1,6 @@
1
1
  import { computed as k } from "vue";
2
2
  import { d as y } from "./context-Ch1r4fdN.js";
3
- import { h as N } from "./platform-Dx6STiwY.js";
3
+ import { h as N } from "./platform-Dr4iY3b8.js";
4
4
  function F(l, a = {}) {
5
5
  const i = /* @__PURE__ */ new Map(), o = [];
6
6
  for (const e of l) {
@@ -1,7 +1,7 @@
1
1
  import { computed as j, ref as z, shallowRef as I, watch as F, getCurrentScope as J, onScopeDispose as Q } from "vue";
2
2
  import { useRoute as O } from "vue-router";
3
3
  import { a as N } from "./error-Bb_dr_Ay.js";
4
- import { L as k, d as B, e as D, o as U, q as V } from "./http-CdQowFlW.js";
4
+ import { L as k, d as B, e as D, o as U, q as V } from "./state-ChVIjayU.js";
5
5
  function K(l, t, n, g) {
6
6
  return typeof t == "string" ? t : { ...t, query: { ...t.query, [n]: D(l, g) } };
7
7
  }
@@ -1,4 +1,4 @@
1
- import { d as s, e as a, n as o, b as i, c as n, f as u } from "../index-C-oM_Mnf.js";
1
+ import { d as s, e as a, n as o, b as i, c as n, f as u } from "../index-i-cTTVxo.js";
2
2
  export {
3
3
  s as deadLettersRoutes,
4
4
  a as eventsRoutes,
@@ -1,6 +1,6 @@
1
1
  import { inject as C, ref as z, computed as d, onBeforeUnmount as F, defineComponent as O, useSlots as A, openBlock as r, createBlock as L, resolveDynamicComponent as T, unref as t, normalizeClass as b, withCtx as w, createElementBlock as i, renderSlot as f, createCommentVNode as u, createElementVNode as k, createTextVNode as h, toDisplayString as m, createVNode as D, useAttrs as G, useId as K, mergeProps as j, createSlots as M, mergeDefaults as P } from "vue";
2
2
  import { useI18n as U } from "vue-i18n";
3
- import { _ as B } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
3
+ import { _ as B } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
4
4
  import { RouterLink as Y } from "vue-router";
5
5
  import { c as J, a as Q } from "./controlSurface-t7OEFESJ.js";
6
6
  import { u as W } from "./mediaQuery-CygcXmFW.js";
@@ -354,9 +354,9 @@ export {
354
354
  Te as _,
355
355
  N as a,
356
356
  X as b,
357
- je as c,
358
- I as d,
359
- te as e,
357
+ I as c,
358
+ te as d,
359
+ je as e,
360
360
  He as f,
361
361
  fe as g,
362
362
  Z as h,
@@ -1,6 +1,6 @@
1
- import { _ as x } from "../AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js";
2
- import { _ as w } from "../Menu.vue_vue_type_script_setup_true_lang-DsFOeCVe.js";
3
- import { _ as I } from "../MenuButton.vue_vue_type_script_setup_true_lang-AGbN9r5q.js";
1
+ import { _ as x } from "../AlertDialog.vue_vue_type_script_setup_true_lang-BvGc1Rfl.js";
2
+ import { _ as w } from "../Menu.vue_vue_type_script_setup_true_lang-ldLdJ5Q-.js";
3
+ import { _ as I } from "../MenuButton.vue_vue_type_script_setup_true_lang-C-XRr5f2.js";
4
4
  import { _ as v } from "../Popover.vue_vue_type_script_setup_true_lang-C70GrCP7.js";
5
5
  import { _ as P } from "../Toaster.vue_vue_type_script_setup_true_lang-55boRLAj.js";
6
6
  import { _ as y } from "../Tooltip.vue_vue_type_script_setup_true_lang-mErNPt8e.js";
@@ -8,7 +8,7 @@ import { t as k } from "../toast-CqSDTWRX.js";
8
8
  import { I as E, u as M } from "../dialogStack-DZZg55w0.js";
9
9
  import { I as S, u as O } from "../useDialog-CXR3hN0G.js";
10
10
  import { C as K, u as N } from "../mediaQuery-CygcXmFW.js";
11
- import { _ as j } from "../PhotoViewer.vue_vue_type_script_setup_true_lang-CY5EZiyK.js";
11
+ import { _ as j } from "../PhotoViewer.vue_vue_type_script_setup_true_lang-Cj0hSMk9.js";
12
12
  import { defineComponent as r, openBlock as s, createElementBlock as n, normalizeClass as l, toDisplayString as p } from "vue";
13
13
  const c = ["aria-disabled"], d = /* @__PURE__ */ r({
14
14
  __name: "PhotoViewerAction",
@@ -1,16 +1,16 @@
1
- import { _ as x } from "../AdaptivePageShell.vue_vue_type_script_setup_true_lang-GUTIXuNd.js";
2
- import { a as W, b as X, c as Y, d as Z, p as ee, u as te, e as ae } from "../AdaptivePageShell.vue_vue_type_script_setup_true_lang-GUTIXuNd.js";
1
+ import { _ as x } from "../AdaptivePageShell.vue_vue_type_script_setup_true_lang-9Lt1XggN.js";
2
+ import { a as W, b as X, c as Y, d as Z, p as ee, u as te, e as ae } from "../AdaptivePageShell.vue_vue_type_script_setup_true_lang-9Lt1XggN.js";
3
3
  import { _ as se } from "../BottomDock.vue_vue_type_script_setup_true_lang-CjN7xYEr.js";
4
4
  import { b as ne, i as re, u as ie } from "../bottomDock-BZEiOPYZ.js";
5
5
  import { defineComponent as v, openBlock as a, createBlock as b, withCtx as c, createElementVNode as s, normalizeStyle as k, createElementBlock as l, Fragment as y, renderList as B, normalizeClass as d, unref as h, createCommentVNode as p, toDisplayString as f, useModel as S, useId as C, useTemplateRef as P, computed as $, mergeProps as w, createSlots as T, renderSlot as m, mergeModels as D } from "vue";
6
- import { _ as L } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
7
- import { _ as ue } from "../RecordHeader.vue_vue_type_script_setup_true_lang-fmx0f8xi.js";
6
+ import { _ as L } from "../Icon.vue_vue_type_script_lang-BhhsFYwp.js";
7
+ import { _ as ue } from "../RecordHeader.vue_vue_type_script_setup_true_lang-DPm9q1P_.js";
8
8
  import { c as pe, i as fe, p as me, a as be, u as ge, b as ve } from "../chrome-nUcmVu8G.js";
9
9
  import { s as z, u as I } from "../sectionIndex-BS0ic5W7.js";
10
10
  import { p as _e, a as xe } from "../sectionIndex-BS0ic5W7.js";
11
- import { _ as ye } from "../SectionNavigator.vue_vue_type_script_setup_true_lang-Ci04hApd.js";
12
- import { a as Se, _ as Ce } from "../SectionList.vue_vue_type_script_setup_true_lang-wyW7n3Uq.js";
13
- import { _ as A } from "../Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js";
11
+ import { _ as ye } from "../SectionNavigator.vue_vue_type_script_setup_true_lang-ivdGWUeF.js";
12
+ import { a as Se, _ as Ce } from "../SectionList.vue_vue_type_script_setup_true_lang-DAnZbfWA.js";
13
+ import { _ as A } from "../Panel.vue_vue_type_script_setup_true_lang-D_Wg42hu.js";
14
14
  const K = ["aria-label"], M = ["aria-label"], N = ["aria-selected", "tabindex", "onClick"], R = { class: "relative" }, E = {
15
15
  key: 2,
16
16
  class: "absolute -right-1 -top-0.5 size-2 rounded-full bg-status-warning-solid ring-2 ring-surface-cell"
@@ -1,8 +1,8 @@
1
1
  import { defineComponent as fe, useModel as me, useTemplateRef as F, ref as E, computed as g, watch as ne, nextTick as A, openBlock as w, createElementBlock as $, createElementVNode as f, normalizeClass as P, unref as s, createVNode as M, toDisplayString as T, normalizeStyle as xe, Fragment as ee, renderList as le, createCommentVNode as J, withModifiers as we, withDirectives as _e, vModelText as ke, mergeModels as ae, inject as Ce, shallowRef as $e, onBeforeUnmount as De, createBlock as Me, mergeProps as Te, createSlots as Se, withCtx as ie, createTextVNode as Ne, renderSlot as Ie, mergeDefaults as Pe } from "vue";
2
2
  import { useI18n as pe } from "vue-i18n";
3
3
  import { b as Ve } from "../controlSurface-t7OEFESJ.js";
4
- import { d as se, a as Oe, c as Re, _ as Be, f as Ee, b as ze } from "../options-Bu0XbEpN.js";
5
- import { _ as q } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
4
+ import { c as se, a as Oe, e as Re, _ as Be, f as Ee, b as ze } from "../options-QuOkMKVZ.js";
5
+ import { _ as q } from "../Icon.vue_vue_type_script_lang-BhhsFYwp.js";
6
6
  import { _ as ue } from "../CountryFlag.vue_vue_type_script_setup_true_lang-Kry_vPPZ.js";
7
7
  import { u as Fe } from "../anchored-DpuUwf-9.js";
8
8
  import { i as ve } from "../intlLocale-CeRU44qJ.js";
@@ -5,11 +5,11 @@ var S = (s) => {
5
5
  var v = (s, t, e) => t in s ? N(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
6
6
  var $ = (s, t, e) => v(s, typeof t != "symbol" ? t + "" : t, e), w = (s, t, e) => t.has(s) || S("Cannot " + e);
7
7
  var o = (s, t, e) => (w(s, t, "read from private field"), e ? e.call(s) : t.get(s)), l = (s, t, e) => t.has(s) ? S("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(s) : t.set(s, e), f = (s, t, e, r) => (w(s, t, "write to private field"), r ? r.call(s, e) : t.set(s, e), e), h = (s, t, e) => (w(s, t, "access private method"), e);
8
- import { u as E } from "../platform-Dx6STiwY.js";
9
- import { b as F, c as G, a as K, d as U, h as _, e as z, i as D, p as H, f as Q, g as R } from "../platform-Dx6STiwY.js";
8
+ import { u as E } from "../platform-Dr4iY3b8.js";
9
+ import { b as F, c as G, a as K, d as U, h as _, e as z, i as D, p as H, f as Q, g as R } from "../platform-Dr4iY3b8.js";
10
10
  import { M as W, d as X } from "../context-Ch1r4fdN.js";
11
11
  import { computed as O } from "vue";
12
- import { _ as Z } from "../AccessGate.vue_vue_type_script_setup_true_lang-DZ9GcLC1.js";
12
+ import { _ as Z } from "../AccessGate.vue_vue_type_script_setup_true_lang-CkomzGrt.js";
13
13
  class m extends Error {
14
14
  constructor(e, r = [], n) {
15
15
  super(r.length > 0 ? `${e}: ${r.join("; ")}` : e);
@@ -1,4 +1,4 @@
1
- import { c as U } from "./client-BHPFfBj3.js";
1
+ import { c as U } from "./client-CZgikXPG.js";
2
2
  import { d as _ } from "./context-Ch1r4fdN.js";
3
3
  import { i as A, A as z } from "./error-Bb_dr_Ay.js";
4
4
  import { shallowRef as C } from "vue";
@@ -0,0 +1,135 @@
1
+ import { hasInjectionContext as k, inject as $ } from "vue";
2
+ import { useI18n as v } from "vue-i18n";
3
+ import { i as w } from "./error-Bb_dr_Ay.js";
4
+ import { u as g } from "./describeError-BqGAUZgX.js";
5
+ import { d as h } from "./context-Ch1r4fdN.js";
6
+ const [j, O] = h("vue-core.access"), B = {
7
+ viewRoles: "iam.role:view",
8
+ manageRoles: "iam.role:manage",
9
+ deleteRoles: "iam.role:delete",
10
+ viewAccess: "iam.user:view",
11
+ manageBindings: "iam.user:manage",
12
+ /** The same for the roles of a service account (`kind: "service"`). */
13
+ manageServiceBindings: "iam.serviceaccount:manage"
14
+ }, u = "system", d = ["view", "create", "update", "manage", "delete"], p = (s) => {
15
+ const t = d.indexOf(s);
16
+ return t === -1 ? d.length : t;
17
+ }, b = (s) => s.system ? u : s.module, q = (s) => s.resource === "" ? s.module : `${s.module}_${s.resource.replace(/\./g, "_")}`;
18
+ function P(s) {
19
+ const t = /* @__PURE__ */ new Map();
20
+ for (const [r, o] of Object.entries(s)) {
21
+ const i = t.get(b(o)) ?? /* @__PURE__ */ new Map(), e = q(o);
22
+ i.set(e, [...i.get(e) ?? [], { ...o, id: r }]), t.set(b(o), i);
23
+ }
24
+ return [...t.keys()].sort((r, o) => +(r === u) - +(o === u) || r.localeCompare(o)).map((r) => ({
25
+ key: r,
26
+ screens: [...t.get(r) ?? []].map(([o, i]) => ({ key: o, permissions: i.sort((e, a) => p(e.verb) - p(a.verb) || e.verb.localeCompare(a.verb)) })).sort((o, i) => o.key.localeCompare(i.key))
27
+ }));
28
+ }
29
+ function R(s, t) {
30
+ const n = /* @__PURE__ */ new Set(), r = (o) => {
31
+ for (const i of s[o]?.requires ?? [])
32
+ n.has(i) || (n.add(i), r(i));
33
+ };
34
+ return r(t), [...n];
35
+ }
36
+ function L(s, t) {
37
+ const n = /* @__PURE__ */ new Set(), r = (o) => {
38
+ for (const [i, e] of Object.entries(s))
39
+ n.has(i) || !e.requires.includes(o) || (n.add(i), r(i));
40
+ };
41
+ return r(t), [...n];
42
+ }
43
+ function _(s, t, n) {
44
+ const r = Object.entries(s).filter(([i, e]) => e.ownable === n && i in t), o = r.find(([, i]) => i.verb === "view") ?? r[0];
45
+ return o ? t[o[0]] ?? null : null;
46
+ }
47
+ function C(s, t, n) {
48
+ for (const r of [n, ...R(s, n)]) {
49
+ if (r in t || !(r in s)) continue;
50
+ const o = s[r]?.ownable;
51
+ t[r] = o ? _(s, t, o) ?? "own" : "all";
52
+ }
53
+ }
54
+ function z(s, t, n) {
55
+ for (const r of [n, ...L(s, n)]) delete t[r];
56
+ }
57
+ function I(s, t, n, r) {
58
+ for (const [o, i] of Object.entries(s)) i.ownable === n && o in t && (t[o] = r);
59
+ }
60
+ function Q(s, t) {
61
+ const n = new Set(Object.keys(t));
62
+ for (const r of n) C(s, t, r);
63
+ return Object.keys(t).filter((r) => !n.has(r));
64
+ }
65
+ function K() {
66
+ const { t: s, te: t } = v(), { catalogue: n, constraints: r } = O(), o = (e, a) => {
67
+ const l = e.find((c) => t(c));
68
+ return l ? s(l) : a;
69
+ }, i = (e) => o([`access.levels.${e}`, `core.access.levels.${e}`], e);
70
+ return {
71
+ roleName: (e) => e.key ? o([`access.roles.${e.key}`], e.name) : e.name,
72
+ permissionLabel: (e) => o(n[e]?.labelKey ? [n[e].labelKey] : [], e),
73
+ permissionDescription: (e) => o(n[e]?.descriptionKey ? [n[e].descriptionKey] : [], ""),
74
+ groupLabel: (e) => o([`access.modules.${e}`, ...e === u ? ["core.access.system_group"] : []], e),
75
+ screenLabel: (e) => o([`access.resources.${e}`], e),
76
+ ownableLabel: (e) => o([`access.ownable.${e.replace(/\./g, "_")}`], e),
77
+ qualifierLabel: (e) => s(`core.access.qualifier.${e}`),
78
+ qualifierHint: (e) => s(`core.access.qualifier_hint.${e}`),
79
+ qualifierNoun: (e) => s(`core.access.qualifier_noun.${e}`),
80
+ levelLabel: i,
81
+ /** A place: the level and its name (`Dealer · Auto Zagreb`); the root, which has no name, by its level. */
82
+ scopeLabel: (e) => e.name ? `${i(e.level)} · ${e.name}` : i(e.level),
83
+ /** A role's constraint as the application worded it (`Used only`); an attribute or value it gave no text for stays as `attribute: value`. */
84
+ constraintLabel: (e) => {
85
+ const a = r.find((c) => c.attribute === e.attribute)?.options ?? [], l = e.values.map((c) => a.find((f) => f.value === c)?.labelKey);
86
+ return l.every((c) => c !== void 0 && t(c)) ? l.map((c) => s(c)).join(", ") : `${e.attribute}: ${e.values.join(", ")}`;
87
+ },
88
+ roleKind: (e) => s(`core.access.role_kind.${e.computed ? "computed" : e.predefined ? "predefined" : "custom"}`)
89
+ };
90
+ }
91
+ function S(s) {
92
+ if (!w(s) || s.code !== "authz.invalid") return [];
93
+ const t = s.params?.problems;
94
+ return Array.isArray(t) ? t.flatMap((n) => {
95
+ if (typeof n != "object" || n === null || typeof n.code != "string") return [];
96
+ const { code: r, permission: o, detail: i } = n;
97
+ return [{ code: r, ...typeof o == "string" ? { permission: o } : {}, ...typeof i == "string" ? { detail: i } : {} }];
98
+ }) : [];
99
+ }
100
+ function x() {
101
+ const { t: s, te: t } = v(), n = g(), r = k() ? $(j, null) : null, o = r ? K() : null;
102
+ return (i, e) => {
103
+ const a = S(i);
104
+ if (a.length === 0) return n(i, e);
105
+ const l = a.map((c) => {
106
+ const f = [r?.problems[c.code], `core.access.problems.${c.code}`].find((m) => m && t(m)), y = { code: c.code, permission: c.permission ? o?.permissionLabel(c.permission) ?? c.permission : "", detail: c.detail ?? "" };
107
+ return s(f ?? "core.access.problems.unknown", y);
108
+ });
109
+ return [...new Set(l)].join(" ");
110
+ };
111
+ }
112
+ function T() {
113
+ const s = x();
114
+ return (t, n) => w(n) && n.code?.startsWith("authz.") ? s(n) : void 0;
115
+ }
116
+ export {
117
+ u as S,
118
+ B as a,
119
+ j as b,
120
+ S as c,
121
+ L as d,
122
+ x as e,
123
+ T as f,
124
+ O as g,
125
+ z as h,
126
+ C as i,
127
+ b as j,
128
+ Q as k,
129
+ q as l,
130
+ _ as o,
131
+ P as p,
132
+ R as r,
133
+ I as s,
134
+ K as u
135
+ };
@@ -1,5 +1,5 @@
1
1
  import { p as o, u as r, a, b as u } from "../routeResource-CcYA75T2.js";
2
- import { _ as R, a as c } from "../ResourcePage.vue_vue_type_script_setup_true_lang-BFBGvevP.js";
2
+ import { _ as R, a as c } from "../ResourcePage.vue_vue_type_script_setup_true_lang-Cm3tx76N.js";
3
3
  export {
4
4
  R as RecordPager,
5
5
  c as ResourcePage,
@@ -1,9 +1,9 @@
1
- import { _ as a, c as o, a as r, i as t } from "../NoAccess.vue_vue_type_script_setup_true_lang-DWxq-MTM.js";
1
+ import { _ as a, c as o, a as r, i as t } from "../NoAccess.vue_vue_type_script_setup_true_lang-BHzZtZ50.js";
2
2
  import { d as c } from "../defineRoutes-BGAdiIrt.js";
3
3
  import { A as u, f as p, i as f, r as A, u as m } from "../access-DmAceEo5.js";
4
- import { i as l, r as x } from "../guards-D4mXf_2X.js";
5
- import { u as y } from "../sections-B0HxIOC2.js";
6
- import { b as v, c as N, n as H, u as b } from "../navigation-Bc5EQ_Si.js";
4
+ import { i as l, r as x } from "../guards-BFCulig0.js";
5
+ import { u as y } from "../sections-BXg4_ZhO.js";
6
+ import { b as v, c as N, n as H, u as b } from "../navigation-BSC9X7FM.js";
7
7
  export {
8
8
  u as AppRouterView,
9
9
  a as NoAccess,
@@ -0,0 +1,19 @@
1
+ import { route as e } from "./client/index.js";
2
+ const c = {
3
+ index: e("GET", "/v1/iam/service-accounts", { permission: "iam.serviceaccount:view" }),
4
+ show: e("GET", "/v1/iam/service-accounts/:id", { permission: "iam.serviceaccount:view" }),
5
+ create: e("POST", "/v1/iam/service-accounts", { permission: "iam.serviceaccount:manage" }),
6
+ update: e("PUT", "/v1/iam/service-accounts/:id", { permission: "iam.serviceaccount:manage" }),
7
+ deactivate: e("POST", "/v1/iam/service-accounts/:id/deactivate", { permission: "iam.serviceaccount:manage" }),
8
+ keys: e("GET", "/v1/iam/service-accounts/:id/keys", { permission: "iam.serviceaccount:view" }),
9
+ createkey: e("POST", "/v1/iam/service-accounts/:id/keys", { permission: "iam.serviceaccount:manage" }),
10
+ revokekey: e("POST", "/v1/iam/service-accounts/:id/keys/:keyID/revoke", { permission: "iam.serviceaccount:revoke" }),
11
+ bindableroles: e("GET", "/v1/iam/service-accounts/bindable-roles", { permission: "iam.serviceaccount:manage" }),
12
+ access: e("GET", "/v1/iam/service-accounts/:id/access", { permission: "iam.serviceaccount:view" }),
13
+ scopes: e("GET", "/v1/iam/service-accounts/:id/scopes", { permission: "iam.serviceaccount:manage" }),
14
+ bind: e("POST", "/v1/iam/service-accounts/:id/bindings", { permission: "iam.serviceaccount:manage" }),
15
+ unbind: e("DELETE", "/v1/iam/service-accounts/:id/bindings/:binding_id", { permission: "iam.serviceaccount:manage" })
16
+ };
17
+ export {
18
+ c as s
19
+ };
@@ -1,14 +1,14 @@
1
1
  import { defineComponent as se, computed as g, openBlock as s, createElementBlock as l, normalizeClass as w, createBlock as D, unref as i, withCtx as F, Fragment as p, renderList as P, toDisplayString as C, createTextVNode as Q, createCommentVNode as b, renderSlot as S, createVNode as L, ref as oe, getCurrentScope as Ie, onScopeDispose as Ae, nextTick as ge, useSlots as fe, useId as Te, useTemplateRef as pe, watch as ye, mergeProps as q, normalizeStyle as M, createElementVNode as u, withModifiers as ve, createSlots as De } from "vue";
2
2
  import { useI18n as Be } from "vue-i18n";
3
3
  import { RouterLink as we, useRouter as He } from "vue-router";
4
- import { _ as Ke } from "./SwipeActions.vue_vue_type_script_setup_true_lang-BJIA2JfI.js";
5
- import { _ as J } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
6
- import { _ as Ne } from "./Menu.vue_vue_type_script_setup_true_lang-DsFOeCVe.js";
4
+ import { _ as Ke } from "./SwipeActions.vue_vue_type_script_setup_true_lang-D8SiC0G7.js";
5
+ import { _ as J } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
6
+ import { _ as Ne } from "./Menu.vue_vue_type_script_setup_true_lang-ldLdJ5Q-.js";
7
7
  import { _ as ze } from "./Tooltip.vue_vue_type_script_setup_true_lang-mErNPt8e.js";
8
- import { _ as he } from "./EmptyState.vue_vue_type_script_setup_true_lang-50p-Mp8I.js";
8
+ import { _ as he } from "./EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js";
9
9
  import { u as Fe } from "./format-D8X4zsx6.js";
10
10
  import { _ as Ve } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
11
- import { _ as Oe } from "./Timestamp.vue_vue_type_script_setup_true_lang-CutyQkJb.js";
11
+ import { _ as Oe } from "./Timestamp.vue_vue_type_script_setup_true_lang-u53rHMFG.js";
12
12
  import { a as je } from "./mediaQuery-CygcXmFW.js";
13
13
  function Ue(y, n) {
14
14
  const d = (n ?? "").split(/\s+/).filter((v) => v !== "");
@@ -1,7 +1,7 @@
1
1
  import { computed as n, watch as h } from "vue";
2
2
  import { useI18n as b } from "vue-i18n";
3
3
  import { useRoute as g, useRouter as p } from "vue-router";
4
- import { u as y } from "./platform-Dx6STiwY.js";
4
+ import { u as y } from "./platform-Dr4iY3b8.js";
5
5
  import { i as w } from "./access-DmAceEo5.js";
6
6
  function j() {
7
7
  const t = g(), u = p(), { access: c } = y(), { t: r } = b(), i = n(() => {
@@ -1,31 +1,31 @@
1
1
  import { defineComponent as z, provide as Q, computed as C, ref as N, useId as re, openBlock as d, createElementBlock as b, normalizeClass as $, unref as t, createVNode as h, createCommentVNode as S, createElementVNode as f, toDisplayString as D, createBlock as R, withDirectives as Be, Fragment as F, renderList as ne, vShow as je, withCtx as A, mergeProps as G, useTemplateRef as ae, renderSlot as I, createSlots as K, normalizeProps as W, guardReactiveProps as Y, inject as ge, onMounted as Ve, onBeforeUnmount as ye, normalizeStyle as oe, nextTick as ie, watch as q, onScopeDispose as ce, Teleport as Fe, shallowRef as Ke, h as ee } from "vue";
2
2
  import { useI18n as B } from "vue-i18n";
3
3
  import { _ as we } from "../Avatar.vue_vue_type_script_setup_true_lang-BPj_fkJR.js";
4
- import { _ as P, u as Xe, c as Ue } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
4
+ import { _ as P, u as Xe, c as Ue } from "../Icon.vue_vue_type_script_lang-BhhsFYwp.js";
5
5
  import { _ as We } from "../Popover.vue_vue_type_script_setup_true_lang-C70GrCP7.js";
6
- import { u as xe, S as X } from "../contributions-fx5q5n1u.js";
6
+ import { u as xe, S as X } from "../contributions-BQ9dZoRw.js";
7
7
  import { u as Ye } from "../environment-Dva-SG8D.js";
8
8
  import { _ as He } from "../CountryFlag.vue_vue_type_script_setup_true_lang-Kry_vPPZ.js";
9
9
  import { l as pe } from "../languageName-CItV_SOv.js";
10
10
  import { t as _e } from "../toast-CqSDTWRX.js";
11
- import { u as J, h as ue } from "../platform-Dx6STiwY.js";
12
- import { a as qe, _ as ve, h as ke } from "../AccountMenuItem.vue_vue_type_script_setup_true_lang-CPeNxh5K.js";
13
- import { _ as Ge } from "../Sheet.vue_vue_type_script_setup_true_lang-DgOFV4fa.js";
14
- import { _ as Qe } from "../LeaveGuardRoot.vue_vue_type_script_setup_true_lang-Cv7KlA5y.js";
11
+ import { u as J, h as ue } from "../platform-Dr4iY3b8.js";
12
+ import { a as qe, _ as ve, h as ke } from "../AccountMenuItem.vue_vue_type_script_setup_true_lang-BIYgaihv.js";
13
+ import { _ as Ge } from "../Sheet.vue_vue_type_script_setup_true_lang-sh9YD0Pm.js";
14
+ import { _ as Qe } from "../LeaveGuardRoot.vue_vue_type_script_setup_true_lang-ChIsmnts.js";
15
15
  import { _ as Je } from "../Toaster.vue_vue_type_script_setup_true_lang-55boRLAj.js";
16
16
  import { _ as Ze } from "../BottomDock.vue_vue_type_script_setup_true_lang-CjN7xYEr.js";
17
17
  import { b as $e } from "../chrome-nUcmVu8G.js";
18
18
  import { p as Se, A as et } from "../access-DmAceEo5.js";
19
19
  import { RouterLink as Le, useRoute as tt, useRouter as de } from "vue-router";
20
- import { u as nt } from "../navigation-Bc5EQ_Si.js";
20
+ import { u as nt } from "../navigation-BSC9X7FM.js";
21
21
  import { u as at } from "../leaveGuard-Cc8yeLxM.js";
22
22
  import { u as ot, S as st } from "../dialogStack-DZZg55w0.js";
23
23
  import { a as H } from "../mediaQuery-CygcXmFW.js";
24
24
  import { u as lt } from "../useDialog-CXR3hN0G.js";
25
- import { _ as rt } from "../Menu.vue_vue_type_script_setup_true_lang-DsFOeCVe.js";
25
+ import { _ as rt } from "../Menu.vue_vue_type_script_setup_true_lang-ldLdJ5Q-.js";
26
26
  import { W as it } from "../useWaitStatus-fsacMl4W.js";
27
27
  import { d as Ce } from "../feature-DdUAfyi4.js";
28
- import { _ as fa } from "../HeaderAction.vue_vue_type_script_setup_true_lang-Cgji-Jrr.js";
28
+ import { _ as fa } from "../HeaderAction.vue_vue_type_script_setup_true_lang-Da59TLBh.js";
29
29
  const ct = ["aria-expanded", "aria-controls"], ut = { class: "flex-1 whitespace-nowrap" }, dt = { class: "truncate" }, ft = ["id"], Ee = /* @__PURE__ */ z({
30
30
  __name: "AccountMenuContent",
31
31
  props: {
@@ -1,11 +1,11 @@
1
- import { _ as D, a as I, b as W, i as F, v as O } from "../AsyncSection.vue_vue_type_script_setup_true_lang-B0NfvG3B.js";
1
+ import { _ as D, a as I, b as W, i as F, v as O } from "../AsyncSection.vue_vue_type_script_setup_true_lang-GxAsImnO.js";
2
2
  import { _ as H } from "../Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
3
- import { _ as R } from "../Banner.vue_vue_type_script_setup_true_lang-DSStj_5z.js";
3
+ import { _ as R } from "../Banner.vue_vue_type_script_setup_true_lang-sv0phngk.js";
4
4
  import { _ } from "../ProgressTrack.vue_vue_type_script_setup_true_lang-B6Prw9hi.js";
5
5
  import { a as j } from "../ProgressTrack.vue_vue_type_script_setup_true_lang-B6Prw9hi.js";
6
- import { _ as G } from "../EmptyState.vue_vue_type_script_setup_true_lang-50p-Mp8I.js";
6
+ import { _ as G } from "../EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js";
7
7
  import { defineComponent as m, computed as k, openBlock as e, createElementBlock as a, normalizeClass as p, createVNode as d, unref as i, createElementVNode as u, renderSlot as f, createBlock as S, toDisplayString as l, createCommentVNode as c } from "vue";
8
- import { _ as x } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
8
+ import { _ as x } from "../Icon.vue_vue_type_script_lang-BhhsFYwp.js";
9
9
  import { useI18n as g } from "vue-i18n";
10
10
  import { u as K } from "../useLoad-W4tfxmm5.js";
11
11
  import { D as X, W as Y, u as Z } from "../useWaitStatus-fsacMl4W.js";