@authup/client-web-kit 1.0.0-beta.26 → 1.0.0-beta.27

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 (48) hide show
  1. package/dist/components/entities/client/AClientForm.d.ts +1 -1
  2. package/dist/components/entities/identity-provider/AIdentityProviderForm.d.ts +1 -11
  3. package/dist/components/entities/identity-provider/AIdentityProviderForm.d.ts.map +1 -1
  4. package/dist/components/entities/identity-provider/AIdentityProviderLdapForm.d.ts +1 -1
  5. package/dist/components/entities/identity-provider/AIdentityProviderOAuth2Form.d.ts +1 -10
  6. package/dist/components/entities/identity-provider/AIdentityProviderOAuth2Form.d.ts.map +1 -1
  7. package/dist/components/entities/permission/APermissionCheck.d.ts +5 -5
  8. package/dist/components/entities/permission/APermissionCheck.d.ts.map +1 -1
  9. package/dist/components/entities/policy/APolicyBasicForm.vue.d.ts +3 -3
  10. package/dist/components/entities/policy/APolicyForm.vue.d.ts +4 -4
  11. package/dist/components/entities/policy/attribute-names/AAttributeNamesPolicyForm.vue.d.ts +3 -3
  12. package/dist/components/entities/policy/composite/ACompositePolicyForm.vue.d.ts +3 -3
  13. package/dist/components/entities/policy/date/ADatePolicyForm.vue.d.ts +3 -3
  14. package/dist/components/entities/policy/identity/AIdentityPolicyForm.vue.d.ts +3 -3
  15. package/dist/components/entities/policy/realm-match/ARealmMatchPolicyForm.vue.d.ts +6 -6
  16. package/dist/components/entities/policy/time/ATimePolicyForm.vue.d.ts +3 -3
  17. package/dist/components/entities/robot/ARobotForm.d.ts +1 -1
  18. package/dist/components/entities/user/AUserForm.d.ts +1 -1
  19. package/dist/components/index.d.ts +1 -0
  20. package/dist/components/index.d.ts.map +1 -1
  21. package/dist/components/utility/AFormSubmit.d.ts +1 -1
  22. package/dist/components/utility/form-input-list/AFormInputList.vue.d.ts +3 -3
  23. package/dist/components/utility/form-input-list/AFormInputListItem.vue.d.ts +3 -3
  24. package/dist/components/workflows/Login.vue.d.ts +353 -0
  25. package/dist/components/workflows/Login.vue.d.ts.map +1 -0
  26. package/dist/components/workflows/authorize/Authorize.vue.d.ts +488 -0
  27. package/dist/components/workflows/authorize/Authorize.vue.d.ts.map +1 -0
  28. package/dist/components/workflows/authorize/AuthorizeForm.vue.d.ts +83 -0
  29. package/dist/components/workflows/authorize/AuthorizeForm.vue.d.ts.map +1 -0
  30. package/dist/components/workflows/authorize/AuthorizeScope.vue.d.ts +27 -0
  31. package/dist/components/workflows/authorize/AuthorizeScope.vue.d.ts.map +1 -0
  32. package/dist/components/workflows/authorize/AuthorizeScopes.vue.d.ts +54 -0
  33. package/dist/components/workflows/authorize/AuthorizeScopes.vue.d.ts.map +1 -0
  34. package/dist/components/workflows/authorize/AuthorizeText.vue.d.ts +21 -0
  35. package/dist/components/workflows/authorize/AuthorizeText.vue.d.ts.map +1 -0
  36. package/dist/components/workflows/authorize/helpers.d.ts +10 -0
  37. package/dist/components/workflows/authorize/helpers.d.ts.map +1 -0
  38. package/dist/components/workflows/authorize/index.d.ts +3 -0
  39. package/dist/components/workflows/authorize/index.d.ts.map +1 -0
  40. package/dist/components/workflows/index.d.ts +3 -0
  41. package/dist/components/workflows/index.d.ts.map +1 -0
  42. package/dist/index.cjs +1241 -393
  43. package/dist/index.cjs.map +1 -1
  44. package/dist/index.css +20 -0
  45. package/dist/index.mjs +1094 -249
  46. package/dist/index.mjs.map +1 -1
  47. package/dist/module.d.ts.map +1 -1
  48. package/package.json +22 -22
package/dist/index.cjs CHANGED
@@ -2,10 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var coreKit = require('@authup/core-kit');
5
+ var installFormControl = require('@vuecs/form-controls');
6
+ var smob = require('smob');
6
7
  var vue = require('vue');
8
+ var installPagination = require('@vuecs/pagination');
9
+ var coreKit = require('@authup/core-kit');
7
10
  var vuelidate = require('@ilingo/vuelidate');
8
- var formControls = require('@vuecs/form-controls');
9
11
  var useVuelidate = require('@vuelidate/core');
10
12
  var validators = require('@vuelidate/validators');
11
13
  var listControls = require('@vuecs/list-controls');
@@ -13,18 +15,215 @@ var coreHttpKit = require('@authup/core-http-kit');
13
15
  var pinia = require('pinia');
14
16
  var access = require('@authup/access');
15
17
  var specs = require('@authup/specs');
16
- var smob = require('smob');
17
18
  var kit = require('@authup/kit');
18
19
  var rapiq = require('rapiq');
19
20
  var coreRealtimeKit = require('@authup/core-realtime-kit');
20
- var pagination = require('@vuecs/pagination');
21
21
  var Cookie = require('universal-cookie');
22
22
 
23
- var _sfc_main$b = vue.defineComponent({
23
+ /*
24
+ * Copyright (c) 2024-2024.
25
+ * Author Peter Placzek (tada5hi)
26
+ * For the full copyright and license information,
27
+ * view the LICENSE file that was distributed with this source code.
28
+ */ const BRACKET_NUMBER_REGEX = RegExp("(?<!\\\\)\\[(\\d+)]$");
29
+ /**
30
+ * Convert string to property path array.
31
+ *
32
+ * @see https://github.com/lodash/lodash/blob/main/src/.internal/stringToPath.ts
33
+ * @see https://github.com/chaijs/pathval
34
+ *
35
+ * @param segment
36
+ */ function pathToArray(segment) {
37
+ const str = segment.replace(/([^\\])\[/g, '$1.[');
38
+ const parts = str.match(/(\\\.|[^.]+?)+/g);
39
+ if (!parts) {
40
+ return [];
41
+ }
42
+ const result = [];
43
+ for(let i = 0; i < parts.length; i++){
44
+ if (parts[i] === 'constructor' || parts[i] === '__proto__' || parts[i] === 'prototype') {
45
+ continue;
46
+ }
47
+ const regex = BRACKET_NUMBER_REGEX.exec(parts[i]);
48
+ if (regex) {
49
+ result.push(regex[1]);
50
+ } else {
51
+ result.push(parts[i].replace(/\\([.[\]])/g, '$1'));
52
+ }
53
+ }
54
+ return result;
55
+ }
56
+ /*
57
+ * Copyright (c) 2024.
58
+ * Author Peter Placzek (tada5hi)
59
+ * For the full copyright and license information,
60
+ * view the LICENSE file that was distributed with this source code.
61
+ */ var Character;
62
+ (function(Character) {
63
+ Character["WILDCARD"] = "*";
64
+ Character["GLOBSTAR"] = "**";
65
+ })(Character || (Character = {}));
66
+ /*
67
+ * Copyright (c) 2024.
68
+ * Author Peter Placzek (tada5hi)
69
+ * For the full copyright and license information,
70
+ * view the LICENSE file that was distributed with this source code.
71
+ */ function isObject(input) {
72
+ return !!input && typeof input === 'object' && !Array.isArray(input);
73
+ }
74
+ function getPathValue(data, path) {
75
+ const parts = Array.isArray(path) ? path : pathToArray(path);
76
+ let res;
77
+ let temp = data;
78
+ let index = 0;
79
+ while(index < parts.length){
80
+ if (temp === null || typeof temp === 'undefined') {
81
+ break;
82
+ }
83
+ if (parts[index] in Object(temp)) {
84
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
85
+ // @ts-expect-error
86
+ temp = temp[parts[index]];
87
+ } else {
88
+ break;
89
+ }
90
+ if (index === parts.length - 1) {
91
+ res = temp;
92
+ }
93
+ index++;
94
+ }
95
+ return res;
96
+ }
97
+ const NUMBER_REGEX = /^\d+$/;
98
+ function setPathValue(data, path, value) {
99
+ const parts = Array.isArray(path) ? path : pathToArray(path);
100
+ let temp = data;
101
+ let index = 0;
102
+ while(index < parts.length){
103
+ /* istanbul ignore next */ if (!Array.isArray(temp) && !isObject(temp)) {
104
+ break;
105
+ }
106
+ const key = parts[index];
107
+ // [foo, '0']
108
+ if (typeof temp[key] === 'undefined') {
109
+ const match = NUMBER_REGEX.test(key);
110
+ if (match) {
111
+ temp[key] = [];
112
+ } else {
113
+ temp[key] = {};
114
+ }
115
+ }
116
+ if (index === parts.length - 1) {
117
+ temp[key] = value;
118
+ break;
119
+ }
120
+ index++;
121
+ temp = temp[key];
122
+ }
123
+ return data;
124
+ }
125
+
126
+ class Store {
127
+ /**
128
+ * Set options for all groups.
129
+ *
130
+ * @param items
131
+ */ setAll(items) {
132
+ const keys = Object.keys(items);
133
+ for(let i = 0; i < keys.length; i++){
134
+ this.setOptions(keys[i], items[keys[i]]);
135
+ }
136
+ }
137
+ /**
138
+ * Set options for a specific group.
139
+ *
140
+ * @param group
141
+ * @param options
142
+ */ setOptions(group, options) {
143
+ if (typeof this.data[group] === 'undefined') {
144
+ this.data[group] = {};
145
+ }
146
+ this.data[group] = options;
147
+ }
148
+ hasOptions(group) {
149
+ return smob.hasOwnProperty(this.data, group);
150
+ }
151
+ getOptions(group) {
152
+ if (typeof this.data[group] !== 'undefined') {
153
+ return this.data[group];
154
+ }
155
+ return {};
156
+ }
157
+ hasOption(group, option) {
158
+ return typeof this.data[group] !== 'undefined' && smob.hasOwnProperty(this.data[group], option);
159
+ }
160
+ getOption(group, option) {
161
+ if (typeof this.data[group] === 'undefined') {
162
+ return undefined;
163
+ }
164
+ return this.data[group][option];
165
+ }
166
+ constructor(){
167
+ this.data = {};
168
+ }
169
+ }
170
+ class StoreManager {
171
+ keys() {
172
+ return Object.keys(this.instances);
173
+ }
174
+ use(key) {
175
+ if (typeof this.instances[key] !== 'undefined') {
176
+ return this.instances[key];
177
+ }
178
+ this.instances[key] = new Store();
179
+ return this.instances[key];
180
+ }
181
+ constructor(){
182
+ this.instances = {};
183
+ }
184
+ }
185
+ function inject$2(key, instance) {
186
+ if (instance && instance._context && instance._context.provides && instance._context.provides[key]) {
187
+ return instance._context.provides[key];
188
+ }
189
+ if (vue.hasInjectionContext()) {
190
+ return vue.inject(key, undefined);
191
+ }
192
+ return undefined;
193
+ }
194
+ function provide$1(key, value, app) {
195
+ if (typeof app === 'undefined') {
196
+ const val = inject$2(key);
197
+ if (typeof val !== 'undefined') {
198
+ return;
199
+ }
200
+ vue.provide(key, value);
201
+ return;
202
+ }
203
+ if (app && app._context && app._context.provides && app._context.provides[key]) {
204
+ return;
205
+ }
206
+ app.provide(key, value);
207
+ }
208
+ function getSymbol(key) {
209
+ return Symbol.for('VCStoreManager');
210
+ }
211
+ function installStoreManager(instance, key) {
212
+ const symbol = getSymbol();
213
+ let manager = inject$2(symbol, instance);
214
+ if (manager) {
215
+ return manager;
216
+ }
217
+ manager = new StoreManager();
218
+ provide$1(symbol, manager, instance);
219
+ return manager;
220
+ }
221
+
222
+ var _sfc_main$h = vue.defineComponent({
24
223
  components: {
25
224
  IVuelidate: vuelidate.IVuelidate,
26
- VCFormInput: formControls.VCFormInput,
27
- VCFormGroup: formControls.VCFormGroup
225
+ VCFormInput: installFormControl.VCFormInput,
226
+ VCFormGroup: installFormControl.VCFormGroup
28
227
  },
29
228
  props: {
30
229
  name: {
@@ -73,10 +272,10 @@ var _export_sfc = (sfc, props) => {
73
272
  return target;
74
273
  };
75
274
 
76
- const _hoisted_1$7 = [
275
+ const _hoisted_1$c = [
77
276
  "disabled"
78
277
  ];
79
- function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
278
+ function _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) {
80
279
  const _component_VCFormInput = vue.resolveComponent("VCFormInput");
81
280
  const _component_VCFormGroup = vue.resolveComponent("VCFormGroup");
82
281
  const _component_IVuelidate = vue.resolveComponent("IVuelidate");
@@ -106,7 +305,7 @@ function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
106
305
  vue.createElementVNode("i", {
107
306
  class: "fa fa-minus"
108
307
  }, null, -1)
109
- ]), 8, _hoisted_1$7)
308
+ ]), 8, _hoisted_1$c)
110
309
  ]),
111
310
  _: 1
112
311
  }, 8, [
@@ -125,10 +324,10 @@ function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
125
324
  "validation"
126
325
  ]);
127
326
  }
128
- var AFormInputListItem = /* @__PURE__ */ _export_sfc(_sfc_main$b, [
327
+ var AFormInputListItem = /* @__PURE__ */ _export_sfc(_sfc_main$h, [
129
328
  [
130
329
  "render",
131
- _sfc_render$b
330
+ _sfc_render$g
132
331
  ]
133
332
  ]);
134
333
 
@@ -542,6 +741,7 @@ function tryOnScopeDispose(fn) {
542
741
  return false;
543
742
  }
544
743
  typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
744
+ const noop = ()=>{};
545
745
 
546
746
  function useCookies(dependencies, { doNotParse = false, autoUpdateDependencies = false } = {}, cookies = new Cookie()) {
547
747
  const watchingDependencies = autoUpdateDependencies ? [
@@ -945,142 +1145,36 @@ var TranslatorTranslationDefaultKey = /*#__PURE__*/ function(TranslatorTranslati
945
1145
  return TranslatorTranslationDefaultKey;
946
1146
  }({});
947
1147
 
948
- /*
949
- * Copyright (c) 2024-2024.
950
- * Author Peter Placzek (tada5hi)
951
- * For the full copyright and license information,
952
- * view the LICENSE file that was distributed with this source code.
953
- */ const BRACKET_NUMBER_REGEX = RegExp("(?<!\\\\)\\[(\\d+)]$");
954
- /**
955
- * Convert string to property path array.
956
- *
957
- * @see https://github.com/lodash/lodash/blob/main/src/.internal/stringToPath.ts
958
- * @see https://github.com/chaijs/pathval
959
- *
960
- * @param segment
961
- */ function pathToArray(segment) {
962
- const str = segment.replace(/([^\\])\[/g, '$1.[');
963
- const parts = str.match(/(\\\.|[^.]+?)+/g);
964
- if (!parts) {
965
- return [];
966
- }
967
- const result = [];
968
- for(let i = 0; i < parts.length; i++){
969
- if (parts[i] === 'constructor' || parts[i] === '__proto__' || parts[i] === 'prototype') {
970
- continue;
1148
+ class MemoryStore {
1149
+ async get(context) {
1150
+ if (!this.data[context.locale] || !this.data[context.locale][context.group]) {
1151
+ return undefined;
971
1152
  }
972
- const regex = BRACKET_NUMBER_REGEX.exec(parts[i]);
973
- if (regex) {
974
- result.push(regex[1]);
975
- } else {
976
- result.push(parts[i].replace(/\\([.[\]])/g, '$1'));
1153
+ const output = getPathValue(this.data[context.locale][context.group], context.key);
1154
+ if (typeof output === 'string') {
1155
+ return output;
977
1156
  }
1157
+ return undefined;
978
1158
  }
979
- return result;
980
- }
981
- /*
982
- * Copyright (c) 2024.
983
- * Author Peter Placzek (tada5hi)
984
- * For the full copyright and license information,
985
- * view the LICENSE file that was distributed with this source code.
986
- */ var Character;
987
- (function(Character) {
988
- Character["WILDCARD"] = "*";
989
- Character["GLOBSTAR"] = "**";
990
- })(Character || (Character = {}));
991
- /*
992
- * Copyright (c) 2024.
993
- * Author Peter Placzek (tada5hi)
994
- * For the full copyright and license information,
995
- * view the LICENSE file that was distributed with this source code.
996
- */ function isObject(input) {
997
- return !!input && typeof input === 'object' && !Array.isArray(input);
998
- }
999
- function getPathValue(data, path) {
1000
- const parts = Array.isArray(path) ? path : pathToArray(path);
1001
- let res;
1002
- let temp = data;
1003
- let index = 0;
1004
- while(index < parts.length){
1005
- if (temp === null || typeof temp === 'undefined') {
1006
- break;
1007
- }
1008
- if (parts[index] in Object(temp)) {
1009
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1010
- // @ts-expect-error
1011
- temp = temp[parts[index]];
1012
- } else {
1013
- break;
1159
+ async set(context) {
1160
+ this.initLines(context.group, context.locale);
1161
+ setPathValue(this.data[context.locale][context.group], context.key, context.value);
1162
+ }
1163
+ initLines(group, locale) {
1164
+ if (typeof this.data[locale] === 'undefined') {
1165
+ this.data[locale] = {};
1014
1166
  }
1015
- if (index === parts.length - 1) {
1016
- res = temp;
1167
+ if (typeof this.data[locale][group] === 'undefined') {
1168
+ this.data[locale][group] = {};
1017
1169
  }
1018
- index++;
1019
1170
  }
1020
- return res;
1171
+ async getLocales() {
1172
+ return Object.keys(this.data);
1173
+ }
1174
+ constructor(options){
1175
+ this.data = options.data;
1176
+ }
1021
1177
  }
1022
- const NUMBER_REGEX = /^\d+$/;
1023
- function setPathValue(data, path, value) {
1024
- const parts = Array.isArray(path) ? path : pathToArray(path);
1025
- let temp = data;
1026
- let index = 0;
1027
- while(index < parts.length){
1028
- /* istanbul ignore next */ if (!Array.isArray(temp) && !isObject(temp)) {
1029
- break;
1030
- }
1031
- const key = parts[index];
1032
- // [foo, '0']
1033
- if (typeof temp[key] === 'undefined') {
1034
- const match = NUMBER_REGEX.test(key);
1035
- if (match) {
1036
- temp[key] = [];
1037
- } else {
1038
- temp[key] = {};
1039
- }
1040
- }
1041
- if (index === parts.length - 1) {
1042
- temp[key] = value;
1043
- break;
1044
- }
1045
- index++;
1046
- temp = temp[key];
1047
- }
1048
- return data;
1049
- }
1050
-
1051
- class MemoryStore {
1052
- async get(context) {
1053
- if (!this.data[context.locale] || !this.data[context.locale][context.group]) {
1054
- return undefined;
1055
- }
1056
- const output = getPathValue(this.data[context.locale][context.group], context.key);
1057
- if (typeof output === 'string') {
1058
- return output;
1059
- }
1060
- return undefined;
1061
- }
1062
- async set(context) {
1063
- this.initLines(context.group, context.locale);
1064
- setPathValue(this.data[context.locale][context.group], context.key, context.value);
1065
- }
1066
- initLines(group, locale) {
1067
- if (typeof this.data[locale] === 'undefined') {
1068
- this.data[locale] = {};
1069
- }
1070
- if (typeof this.data[locale][group] === 'undefined') {
1071
- this.data[locale][group] = {};
1072
- }
1073
- }
1074
- async getLocales() {
1075
- return Object.keys(this.data);
1076
- }
1077
- constructor(options){
1078
- this.data = options.data;
1079
- }
1080
- }
1081
-
1082
- typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
1083
- const noop = ()=>{};
1084
1178
 
1085
1179
  function computedAsync(evaluationCallback, initialState, optionsOrRef) {
1086
1180
  let options;
@@ -1091,8 +1185,8 @@ function computedAsync(evaluationCallback, initialState, optionsOrRef) {
1091
1185
  } else {
1092
1186
  options = {};
1093
1187
  }
1094
- const { lazy = false, evaluating = void 0, shallow = true, onError = noop } = options;
1095
- const started = vue.ref(!lazy);
1188
+ const { lazy = false, flush = "pre", evaluating = void 0, shallow = true, onError = noop } = options;
1189
+ const started = vue.shallowRef(!lazy);
1096
1190
  const current = shallow ? vue.shallowRef(initialState) : vue.ref(initialState);
1097
1191
  let counter = 0;
1098
1192
  vue.watchEffect(async (onInvalidate)=>{
@@ -1119,6 +1213,8 @@ function computedAsync(evaluationCallback, initialState, optionsOrRef) {
1119
1213
  if (evaluating && counterAtBeginning === counter) evaluating.value = false;
1120
1214
  hasFinished = true;
1121
1215
  }
1216
+ }, {
1217
+ flush
1122
1218
  });
1123
1219
  if (lazy) {
1124
1220
  return vue.computed(()=>{
@@ -1400,7 +1496,7 @@ function createFormSubmitTranslations() {
1400
1496
  function buildFormSubmitWithTranslations(options, translations) {
1401
1497
  options.createText = translations.createText.value;
1402
1498
  options.updateText = translations.updateText.value;
1403
- return formControls.buildFormSubmit(options);
1499
+ return installFormControl.buildFormSubmit(options);
1404
1500
  }
1405
1501
 
1406
1502
  function isQuerySortedDescByDate(input) {
@@ -1462,8 +1558,8 @@ function createPermissionCheckerReactiveFn(ctx = {}) {
1462
1558
  try {
1463
1559
  computePromise = store.permissionChecker.preCheckOneOf({
1464
1560
  ...ctx,
1465
- data: {
1466
- ...ctx.data || {},
1561
+ input: {
1562
+ ...ctx.input || {},
1467
1563
  identity
1468
1564
  }
1469
1565
  }).then(()=>true).catch(()=>false);
@@ -1597,7 +1693,7 @@ const ATranslationDefault = vue.defineComponent({
1597
1693
  }
1598
1694
  });
1599
1695
 
1600
- var _sfc_main$a = vue.defineComponent({
1696
+ var _sfc_main$g = vue.defineComponent({
1601
1697
  components: {
1602
1698
  ATranslationDefault,
1603
1699
  AFormInputListItem
@@ -1676,35 +1772,35 @@ var _sfc_main$a = vue.defineComponent({
1676
1772
  }
1677
1773
  });
1678
1774
 
1679
- const _hoisted_1$6 = {
1775
+ const _hoisted_1$b = {
1680
1776
  class: "d-flex flex-column gap-2"
1681
1777
  };
1682
- const _hoisted_2$5 = {
1778
+ const _hoisted_2$a = {
1683
1779
  class: "d-flex flex-row"
1684
1780
  };
1685
- const _hoisted_3$5 = {
1781
+ const _hoisted_3$8 = {
1686
1782
  class: "align-self-end"
1687
1783
  };
1688
- const _hoisted_4$4 = {
1784
+ const _hoisted_4$6 = {
1689
1785
  class: "ms-auto"
1690
1786
  };
1691
- const _hoisted_5$2 = [
1787
+ const _hoisted_5$3 = [
1692
1788
  "disabled"
1693
1789
  ];
1694
- const _hoisted_6$1 = {
1790
+ const _hoisted_6$2 = {
1695
1791
  class: "d-flex flex-column gap-1"
1696
1792
  };
1697
- function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
1793
+ function _sfc_render$f(_ctx, _cache, $props, $setup, $data, $options) {
1698
1794
  const _component_ATranslationDefault = vue.resolveComponent("ATranslationDefault");
1699
1795
  const _component_AFormInputListItem = vue.resolveComponent("AFormInputListItem");
1700
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
1701
- vue.createElementVNode("div", _hoisted_2$5, [
1702
- vue.createElementVNode("div", _hoisted_3$5, [
1796
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
1797
+ vue.createElementVNode("div", _hoisted_2$a, [
1798
+ vue.createElementVNode("div", _hoisted_3$8, [
1703
1799
  vue.renderSlot(_ctx.$slots, "label", {}, ()=>[
1704
1800
  _cache[1] || (_cache[1] = vue.createTextVNode(" Names "))
1705
1801
  ])
1706
1802
  ]),
1707
- vue.createElementVNode("div", _hoisted_4$4, [
1803
+ vue.createElementVNode("div", _hoisted_4$6, [
1708
1804
  vue.createElementVNode("button", {
1709
1805
  class: "btn btn-xs btn-primary",
1710
1806
  type: "button",
@@ -1720,10 +1816,10 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
1720
1816
  vue.createVNode(_component_ATranslationDefault, {
1721
1817
  name: "add"
1722
1818
  })
1723
- ], 8, _hoisted_5$2)
1819
+ ], 8, _hoisted_5$3)
1724
1820
  ])
1725
1821
  ]),
1726
- vue.createElementVNode("div", _hoisted_6$1, [
1822
+ vue.createElementVNode("div", _hoisted_6$2, [
1727
1823
  _ctx.items.length === 0 ? vue.renderSlot(_ctx.$slots, "noItems", {
1728
1824
  key: 0
1729
1825
  }, ()=>[
@@ -1759,15 +1855,15 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
1759
1855
  ])
1760
1856
  ]);
1761
1857
  }
1762
- var AFormInputList = /* @__PURE__ */ _export_sfc(_sfc_main$a, [
1858
+ var AFormInputList = /* @__PURE__ */ _export_sfc(_sfc_main$g, [
1763
1859
  [
1764
1860
  "render",
1765
- _sfc_render$a
1861
+ _sfc_render$f
1766
1862
  ]
1767
1863
  ]);
1768
1864
 
1769
1865
  function buildPagination(ctx) {
1770
- return pagination.buildPagination({
1866
+ return installPagination.buildPagination({
1771
1867
  load: (pagination)=>ctx.load({
1772
1868
  ...ctx.meta,
1773
1869
  pagination: {
@@ -2753,7 +2849,7 @@ function buildListSearch(ctx) {
2753
2849
  }
2754
2850
  });
2755
2851
  });
2756
- return formControls.buildFormInputText({
2852
+ return installFormControl.buildFormInputText({
2757
2853
  type: 'text',
2758
2854
  onChange: (text)=>handle(text),
2759
2855
  props: {
@@ -3360,12 +3456,12 @@ const ARealmForm = vue.defineComponent({
3360
3456
  ]);
3361
3457
  const render = ()=>{
3362
3458
  const children = [];
3363
- children.push(formControls.buildFormGroup({
3459
+ children.push(installFormControl.buildFormGroup({
3364
3460
  validationMessages: translationsValidation.name.value,
3365
3461
  validationSeverity: getVuelidateSeverity($v.value.name),
3366
3462
  label: true,
3367
3463
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.NAME].value,
3368
- content: formControls.buildFormInput({
3464
+ content: installFormControl.buildFormInput({
3369
3465
  value: $v.value.name.$model,
3370
3466
  onChange (input) {
3371
3467
  $v.value.name.$model = input;
@@ -3402,24 +3498,24 @@ const ARealmForm = vue.defineComponent({
3402
3498
  ])
3403
3499
  ]);
3404
3500
  }
3405
- children.push(formControls.buildFormGroup({
3501
+ children.push(installFormControl.buildFormGroup({
3406
3502
  validationMessages: translationsValidation.display_name.value,
3407
3503
  validationSeverity: getVuelidateSeverity($v.value.display_name),
3408
3504
  label: true,
3409
3505
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.DISPLAY_NAME].value,
3410
- content: formControls.buildFormInput({
3506
+ content: installFormControl.buildFormInput({
3411
3507
  value: $v.value.display_name.$model,
3412
3508
  onChange (input) {
3413
3509
  $v.value.display_name.$model = input;
3414
3510
  }
3415
3511
  })
3416
3512
  }));
3417
- children.push(formControls.buildFormGroup({
3513
+ children.push(installFormControl.buildFormGroup({
3418
3514
  validationMessages: translationsValidation.description.value,
3419
3515
  validationSeverity: getVuelidateSeverity($v.value.description),
3420
3516
  label: true,
3421
3517
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.DESCRIPTION].value,
3422
- content: formControls.buildFormTextarea({
3518
+ content: installFormControl.buildFormTextarea({
3423
3519
  value: $v.value.description.$model,
3424
3520
  onChange (input) {
3425
3521
  $v.value.description.$model = input;
@@ -3537,7 +3633,7 @@ const AClientForm = vue.defineComponent({
3537
3633
  required: validators.required
3538
3634
  },
3539
3635
  redirect_uri: {
3540
- url: validators.url,
3636
+ // todo: url is required!
3541
3637
  maxLength: validators.maxLength(2000)
3542
3638
  },
3543
3639
  is_confidential: {},
@@ -3631,12 +3727,12 @@ const AClientForm = vue.defineComponent({
3631
3727
  ]);
3632
3728
  const render = ()=>{
3633
3729
  const name = [
3634
- formControls.buildFormGroup({
3730
+ installFormControl.buildFormGroup({
3635
3731
  validationMessages: translationsValidation.name.value,
3636
3732
  validationSeverity: getVuelidateSeverity($v.value.name),
3637
3733
  label: true,
3638
3734
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.NAME].value,
3639
- content: formControls.buildFormInput({
3735
+ content: installFormControl.buildFormInput({
3640
3736
  value: $v.value.name.$model,
3641
3737
  onChange (input) {
3642
3738
  $v.value.name.$model = input;
@@ -3648,12 +3744,12 @@ const AClientForm = vue.defineComponent({
3648
3744
  }),
3649
3745
  vue.h('small', translationsClient[TranslatorTranslationClientKey.NAME_HINT].value)
3650
3746
  ];
3651
- const displayName = formControls.buildFormGroup({
3747
+ const displayName = installFormControl.buildFormGroup({
3652
3748
  validationMessages: translationsValidation.display_name.value,
3653
3749
  validationSeverity: getVuelidateSeverity($v.value.display_name),
3654
3750
  label: true,
3655
3751
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.DISPLAY_NAME].value,
3656
- content: formControls.buildFormInput({
3752
+ content: installFormControl.buildFormInput({
3657
3753
  value: $v.value.display_name.$model,
3658
3754
  onChange (input) {
3659
3755
  $v.value.display_name.$model = input;
@@ -3662,12 +3758,12 @@ const AClientForm = vue.defineComponent({
3662
3758
  });
3663
3759
  const description = [
3664
3760
  vue.h('div', [
3665
- formControls.buildFormGroup({
3761
+ installFormControl.buildFormGroup({
3666
3762
  validationMessages: translationsValidation.description.value,
3667
3763
  validationSeverity: getVuelidateSeverity($v.value.description),
3668
3764
  label: true,
3669
3765
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.DESCRIPTION].value,
3670
- content: formControls.buildFormTextarea({
3766
+ content: installFormControl.buildFormTextarea({
3671
3767
  value: $v.value.description.$model,
3672
3768
  onChange (input) {
3673
3769
  $v.value.description.$model = input;
@@ -3697,10 +3793,10 @@ const AClientForm = vue.defineComponent({
3697
3793
  }),
3698
3794
  vue.h('small', translationsClient[TranslatorTranslationClientKey.REDIRECT_URI_HINT].value)
3699
3795
  ];
3700
- const isConfidential = formControls.buildFormGroup({
3796
+ const isConfidential = installFormControl.buildFormGroup({
3701
3797
  validationMessages: translationsValidation.is_confidential.value,
3702
3798
  validationSeverity: getVuelidateSeverity($v.value.is_confidential),
3703
- content: formControls.buildFormInputCheckbox({
3799
+ content: installFormControl.buildFormInputCheckbox({
3704
3800
  groupClass: 'form-switch mt-3',
3705
3801
  labelContent: translationsClient[TranslatorTranslationClientKey.IS_CONFIDENTIAL].value,
3706
3802
  value: $v.value.is_confidential.$model,
@@ -3712,10 +3808,10 @@ const AClientForm = vue.defineComponent({
3712
3808
  let id = [];
3713
3809
  if (manager.data.value) {
3714
3810
  id = [
3715
- formControls.buildFormGroup({
3811
+ installFormControl.buildFormGroup({
3716
3812
  label: true,
3717
3813
  labelContent: 'ID',
3718
- content: formControls.buildFormInput({
3814
+ content: installFormControl.buildFormInput({
3719
3815
  value: manager.data.value.id,
3720
3816
  props: {
3721
3817
  disabled: true
@@ -3726,12 +3822,12 @@ const AClientForm = vue.defineComponent({
3726
3822
  ];
3727
3823
  }
3728
3824
  const secret = [
3729
- formControls.buildFormGroup({
3825
+ installFormControl.buildFormGroup({
3730
3826
  validationMessages: translationsValidation.secret.value,
3731
3827
  validationSeverity: getVuelidateSeverity($v.value.secret),
3732
3828
  label: true,
3733
3829
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.SECRET].value,
3734
- content: formControls.buildFormInput({
3830
+ content: installFormControl.buildFormInput({
3735
3831
  value: $v.value.secret.$model,
3736
3832
  onChange (input) {
3737
3833
  $v.value.secret.$model = input;
@@ -3766,7 +3862,7 @@ const AClientForm = vue.defineComponent({
3766
3862
  if (!realmId.value && !isEditing.value) {
3767
3863
  realm = [
3768
3864
  vue.h('hr'),
3769
- formControls.buildFormGroup({
3865
+ installFormControl.buildFormGroup({
3770
3866
  validationMessages: translationsValidation.realm_id.value,
3771
3867
  validationSeverity: getVuelidateSeverity($v.value.realm_id),
3772
3868
  label: true,
@@ -3932,7 +4028,7 @@ const APermissionCheck = vue.defineComponent({
3932
4028
  ],
3933
4029
  required: true
3934
4030
  },
3935
- data: {
4031
+ input: {
3936
4032
  type: Object
3937
4033
  },
3938
4034
  options: {
@@ -3943,7 +4039,7 @@ const APermissionCheck = vue.defineComponent({
3943
4039
  const fn = createPermissionCheckerReactiveFn();
3944
4040
  const isPermitted = vue.computed(()=>fn({
3945
4041
  name: props.name,
3946
- data: props.data,
4042
+ input: props.input,
3947
4043
  options: props.options
3948
4044
  }));
3949
4045
  return ()=>{
@@ -4162,12 +4258,12 @@ const APermissionForm = vue.defineComponent({
4162
4258
  ]);
4163
4259
  const render = ()=>{
4164
4260
  const children = [];
4165
- children.push(formControls.buildFormGroup({
4261
+ children.push(installFormControl.buildFormGroup({
4166
4262
  validationMessages: translationsValidation.name.value,
4167
4263
  validationSeverity: getVuelidateSeverity($v.value.name),
4168
4264
  label: true,
4169
4265
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.NAME].value,
4170
- content: formControls.buildFormInput({
4266
+ content: installFormControl.buildFormInput({
4171
4267
  value: $v.value.name.$model,
4172
4268
  onChange (input) {
4173
4269
  $v.value.name.$model = input;
@@ -4177,24 +4273,24 @@ const APermissionForm = vue.defineComponent({
4177
4273
  }
4178
4274
  })
4179
4275
  }));
4180
- children.push(formControls.buildFormGroup({
4276
+ children.push(installFormControl.buildFormGroup({
4181
4277
  validationMessages: translationsValidation.display_name.value,
4182
4278
  validationSeverity: getVuelidateSeverity($v.value.display_name),
4183
4279
  label: true,
4184
4280
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.DISPLAY_NAME].value,
4185
- content: formControls.buildFormInput({
4281
+ content: installFormControl.buildFormInput({
4186
4282
  value: $v.value.display_name.$model,
4187
4283
  onChange (input) {
4188
4284
  $v.value.display_name.$model = input;
4189
4285
  }
4190
4286
  })
4191
4287
  }));
4192
- children.push(formControls.buildFormGroup({
4288
+ children.push(installFormControl.buildFormGroup({
4193
4289
  validationMessages: translationsValidation.description.value,
4194
4290
  validationSeverity: getVuelidateSeverity($v.value.description),
4195
4291
  label: true,
4196
4292
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.DESCRIPTION].value,
4197
- content: formControls.buildFormTextarea({
4293
+ content: installFormControl.buildFormTextarea({
4198
4294
  value: $v.value.description.$model,
4199
4295
  onChange (input) {
4200
4296
  $v.value.description.$model = input;
@@ -4205,7 +4301,7 @@ const APermissionForm = vue.defineComponent({
4205
4301
  })
4206
4302
  }));
4207
4303
  if (!realmId.value && !isEditing.value) {
4208
- children.push(formControls.buildFormGroup({
4304
+ children.push(installFormControl.buildFormGroup({
4209
4305
  validationMessages: translationsValidation.realm_id.value,
4210
4306
  validationSeverity: getVuelidateSeverity($v.value.realm_id),
4211
4307
  label: true,
@@ -4225,7 +4321,7 @@ const APermissionForm = vue.defineComponent({
4225
4321
  })
4226
4322
  }));
4227
4323
  }
4228
- children.push(formControls.buildFormGroup({
4324
+ children.push(installFormControl.buildFormGroup({
4229
4325
  validationMessages: translationsValidation.policy_id.value,
4230
4326
  validationSeverity: getVuelidateSeverity($v.value.policy_id),
4231
4327
  label: true,
@@ -4393,36 +4489,36 @@ const ARoleForm = vue.defineComponent({
4393
4489
  ]);
4394
4490
  const render = ()=>{
4395
4491
  const children = [];
4396
- children.push(formControls.buildFormGroup({
4492
+ children.push(installFormControl.buildFormGroup({
4397
4493
  validationMessages: translationsValidation.name.value,
4398
4494
  validationSeverity: getVuelidateSeverity($v.value.name),
4399
4495
  label: true,
4400
4496
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.NAME].value,
4401
- content: formControls.buildFormInput({
4497
+ content: installFormControl.buildFormInput({
4402
4498
  value: $v.value.name.$model,
4403
4499
  onChange (input) {
4404
4500
  $v.value.name.$model = input;
4405
4501
  }
4406
4502
  })
4407
4503
  }));
4408
- children.push(formControls.buildFormGroup({
4504
+ children.push(installFormControl.buildFormGroup({
4409
4505
  validationMessages: translationsValidation.display_name.value,
4410
4506
  validationSeverity: getVuelidateSeverity($v.value.display_name),
4411
4507
  label: true,
4412
4508
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.DISPLAY_NAME].value,
4413
- content: formControls.buildFormInput({
4509
+ content: installFormControl.buildFormInput({
4414
4510
  value: $v.value.display_name.$model,
4415
4511
  onChange (input) {
4416
4512
  $v.value.display_name.$model = input;
4417
4513
  }
4418
4514
  })
4419
4515
  }));
4420
- children.push(formControls.buildFormGroup({
4516
+ children.push(installFormControl.buildFormGroup({
4421
4517
  validationMessages: translationsValidation.description.value,
4422
4518
  validationSeverity: getVuelidateSeverity($v.value.description),
4423
4519
  label: true,
4424
4520
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.DESCRIPTION].value,
4425
- content: formControls.buildFormTextarea({
4521
+ content: installFormControl.buildFormTextarea({
4426
4522
  value: $v.value.description.$model,
4427
4523
  onChange (input) {
4428
4524
  $v.value.description.$model = input;
@@ -4433,7 +4529,7 @@ const ARoleForm = vue.defineComponent({
4433
4529
  })
4434
4530
  }));
4435
4531
  if (!realmId.value && !isEditing.value) {
4436
- children.push(formControls.buildFormGroup({
4532
+ children.push(installFormControl.buildFormGroup({
4437
4533
  validationMessages: translationsValidation.realm_id.value,
4438
4534
  validationSeverity: getVuelidateSeverity($v.value.realm_id),
4439
4535
  label: true,
@@ -4709,12 +4805,12 @@ const AScopeForm = vue.defineComponent({
4709
4805
  ]);
4710
4806
  return ()=>{
4711
4807
  const children = [
4712
- formControls.buildFormGroup({
4808
+ installFormControl.buildFormGroup({
4713
4809
  validationMessages: translationsValidation.name.value,
4714
4810
  validationSeverity: getVuelidateSeverity($v.value.name),
4715
4811
  label: true,
4716
4812
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.NAME].value,
4717
- content: formControls.buildFormInput({
4813
+ content: installFormControl.buildFormInput({
4718
4814
  value: $v.value.name.$model,
4719
4815
  onChange (input) {
4720
4816
  $v.value.name.$model = input;
@@ -4724,24 +4820,24 @@ const AScopeForm = vue.defineComponent({
4724
4820
  }
4725
4821
  })
4726
4822
  }),
4727
- formControls.buildFormGroup({
4823
+ installFormControl.buildFormGroup({
4728
4824
  validationMessages: translationsValidation.display_name.value,
4729
4825
  validationSeverity: getVuelidateSeverity($v.value.display_name),
4730
4826
  label: true,
4731
4827
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.DISPLAY_NAME].value,
4732
- content: formControls.buildFormInput({
4828
+ content: installFormControl.buildFormInput({
4733
4829
  value: $v.value.display_name.$model,
4734
4830
  onChange (input) {
4735
4831
  $v.value.display_name.$model = input;
4736
4832
  }
4737
4833
  })
4738
4834
  }),
4739
- formControls.buildFormGroup({
4835
+ installFormControl.buildFormGroup({
4740
4836
  validationMessages: translationsValidation.description.value,
4741
4837
  validationSeverity: getVuelidateSeverity($v.value.description),
4742
4838
  label: true,
4743
4839
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.DESCRIPTION].value,
4744
- content: formControls.buildFormTextarea({
4840
+ content: installFormControl.buildFormTextarea({
4745
4841
  value: $v.value.description.$model,
4746
4842
  onChange (input) {
4747
4843
  $v.value.description.$model = input;
@@ -4753,7 +4849,7 @@ const AScopeForm = vue.defineComponent({
4753
4849
  })
4754
4850
  ];
4755
4851
  if (!realmId.value && !isNameFixed.value && !isEditing.value) {
4756
- children.push(formControls.buildFormGroup({
4852
+ children.push(installFormControl.buildFormGroup({
4757
4853
  validationMessages: translationsValidation.realm_id.value,
4758
4854
  validationSeverity: getVuelidateSeverity($v.value.realm_id),
4759
4855
  label: true,
@@ -4975,12 +5071,12 @@ const AIdentityProviderBasicFields = vue.defineComponent({
4975
5071
  ]);
4976
5072
  const translationsValidation = useTranslationsForNestedValidation($v.value);
4977
5073
  return ()=>{
4978
- const name = formControls.buildFormGroup({
5074
+ const name = installFormControl.buildFormGroup({
4979
5075
  validationMessages: translationsValidation.name.value,
4980
5076
  validationSeverity: getVuelidateSeverity($v.value.name),
4981
5077
  label: true,
4982
5078
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.NAME].value,
4983
- content: formControls.buildFormInput({
5079
+ content: installFormControl.buildFormInput({
4984
5080
  value: $v.value.name.$model,
4985
5081
  onChange (input) {
4986
5082
  $v.value.name.$model = input;
@@ -5005,19 +5101,19 @@ const AIdentityProviderBasicFields = vue.defineComponent({
5005
5101
  'Generate'
5006
5102
  ])
5007
5103
  ]);
5008
- const displayName = formControls.buildFormGroup({
5104
+ const displayName = installFormControl.buildFormGroup({
5009
5105
  validationMessages: translationsValidation.display_name.value,
5010
5106
  validationSeverity: getVuelidateSeverity($v.value.display_name),
5011
5107
  label: true,
5012
5108
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.DISPLAY_NAME].value,
5013
- content: formControls.buildFormInput({
5109
+ content: installFormControl.buildFormInput({
5014
5110
  value: $v.value.display_name.$model,
5015
5111
  onChange (input) {
5016
5112
  $v.value.display_name.$model = input;
5017
5113
  }
5018
5114
  })
5019
5115
  });
5020
- const enabled = formControls.buildFormInputCheckbox({
5116
+ const enabled = installFormControl.buildFormInputCheckbox({
5021
5117
  groupClass: 'form-switch mt-3',
5022
5118
  labelContent: 'Enabled?',
5023
5119
  value: $v.value.enabled.$model,
@@ -5081,12 +5177,12 @@ const AIdentityProviderLdapConnectionFields = vue.defineComponent({
5081
5177
  init();
5082
5178
  const validationMessages = useTranslationsForNestedValidation($v.value);
5083
5179
  return ()=>[
5084
- formControls.buildFormGroup({
5180
+ installFormControl.buildFormGroup({
5085
5181
  validationMessages: validationMessages.url.value,
5086
5182
  validationSeverity: getVuelidateSeverity($v.value.url),
5087
5183
  label: true,
5088
5184
  labelContent: 'URL',
5089
- content: formControls.buildFormInput({
5185
+ content: installFormControl.buildFormInput({
5090
5186
  value: $v.value.url.$model,
5091
5187
  onChange (input) {
5092
5188
  $v.value.url.$model = input;
@@ -5096,12 +5192,12 @@ const AIdentityProviderLdapConnectionFields = vue.defineComponent({
5096
5192
  }
5097
5193
  })
5098
5194
  }),
5099
- formControls.buildFormGroup({
5195
+ installFormControl.buildFormGroup({
5100
5196
  validationMessages: validationMessages.timeout.value,
5101
5197
  validationSeverity: getVuelidateSeverity($v.value.timeout),
5102
5198
  label: true,
5103
5199
  labelContent: 'Timeout',
5104
- content: formControls.buildFormInput({
5200
+ content: installFormControl.buildFormInput({
5105
5201
  value: $v.value.timeout.$model,
5106
5202
  onChange (input) {
5107
5203
  const intValue = Number.parseInt(input, 10);
@@ -5114,12 +5210,12 @@ const AIdentityProviderLdapConnectionFields = vue.defineComponent({
5114
5210
  }
5115
5211
  })
5116
5212
  }),
5117
- formControls.buildFormGroup({
5213
+ installFormControl.buildFormGroup({
5118
5214
  validationMessages: validationMessages.start_tls.value,
5119
5215
  validationSeverity: getVuelidateSeverity($v.value.start_tls),
5120
5216
  label: true,
5121
5217
  labelContent: 'StartTLS',
5122
- content: formControls.buildFormInputCheckbox({
5218
+ content: installFormControl.buildFormInputCheckbox({
5123
5219
  groupClass: 'form-switch',
5124
5220
  labelContent: 'Enable StartTLS process?',
5125
5221
  value: $v.value.start_tls.$model,
@@ -5128,12 +5224,12 @@ const AIdentityProviderLdapConnectionFields = vue.defineComponent({
5128
5224
  }
5129
5225
  })
5130
5226
  }),
5131
- formControls.buildFormGroup({
5227
+ installFormControl.buildFormGroup({
5132
5228
  validationMessages: validationMessages.base_dn.value,
5133
5229
  validationSeverity: getVuelidateSeverity($v.value.base_dn),
5134
5230
  label: true,
5135
5231
  labelContent: 'Base DN',
5136
- content: formControls.buildFormInput({
5232
+ content: installFormControl.buildFormInput({
5137
5233
  value: $v.value.base_dn.$model,
5138
5234
  onChange (input) {
5139
5235
  $v.value.base_dn.$model = input;
@@ -5184,24 +5280,24 @@ const AIdentityProviderLdapCredentialsFields = vue.defineComponent({
5184
5280
  init();
5185
5281
  const validationMessages = useTranslationsForNestedValidation($v.value);
5186
5282
  return ()=>[
5187
- formControls.buildFormGroup({
5283
+ installFormControl.buildFormGroup({
5188
5284
  validationMessages: validationMessages.user.value,
5189
5285
  validationSeverity: getVuelidateSeverity($v.value.user),
5190
5286
  label: true,
5191
5287
  labelContent: 'User',
5192
- content: formControls.buildFormInput({
5288
+ content: installFormControl.buildFormInput({
5193
5289
  value: $v.value.user.$model,
5194
5290
  onChange (input) {
5195
5291
  $v.value.user.$model = input;
5196
5292
  }
5197
5293
  })
5198
5294
  }),
5199
- formControls.buildFormGroup({
5295
+ installFormControl.buildFormGroup({
5200
5296
  validationMessages: validationMessages.password.value,
5201
5297
  validationSeverity: getVuelidateSeverity($v.value.password),
5202
5298
  label: true,
5203
5299
  labelContent: 'Password',
5204
- content: formControls.buildFormInput({
5300
+ content: installFormControl.buildFormInput({
5205
5301
  value: $v.value.password.$model,
5206
5302
  onChange (input) {
5207
5303
  $v.value.password.$model = input;
@@ -5253,12 +5349,12 @@ const AIdentityProviderLdapGroupFields = vue.defineComponent({
5253
5349
  init();
5254
5350
  const validationMessages = useTranslationsForNestedValidation($v.value);
5255
5351
  return ()=>[
5256
- formControls.buildFormGroup({
5352
+ installFormControl.buildFormGroup({
5257
5353
  validationMessages: validationMessages.group_filter.value,
5258
5354
  validationSeverity: getVuelidateSeverity($v.value.group_filter),
5259
5355
  label: true,
5260
5356
  labelContent: 'Filter',
5261
- content: formControls.buildFormInput({
5357
+ content: installFormControl.buildFormInput({
5262
5358
  value: $v.value.group_filter.$model,
5263
5359
  onChange (input) {
5264
5360
  $v.value.group_filter.$model = input;
@@ -5268,60 +5364,60 @@ const AIdentityProviderLdapGroupFields = vue.defineComponent({
5268
5364
  }
5269
5365
  })
5270
5366
  }),
5271
- formControls.buildFormGroup({
5367
+ installFormControl.buildFormGroup({
5272
5368
  validationMessages: validationMessages.group_base_dn.value,
5273
5369
  validationSeverity: getVuelidateSeverity($v.value.group_base_dn),
5274
5370
  label: true,
5275
5371
  labelContent: 'Base DN',
5276
- content: formControls.buildFormInput({
5372
+ content: installFormControl.buildFormInput({
5277
5373
  value: $v.value.group_base_dn.$model,
5278
5374
  onChange (input) {
5279
5375
  $v.value.group_base_dn.$model = input;
5280
5376
  }
5281
5377
  })
5282
5378
  }),
5283
- formControls.buildFormGroup({
5379
+ installFormControl.buildFormGroup({
5284
5380
  validationMessages: validationMessages.group_class.value,
5285
5381
  validationSeverity: getVuelidateSeverity($v.value.group_class),
5286
5382
  label: true,
5287
5383
  labelContent: 'Class',
5288
- content: formControls.buildFormInput({
5384
+ content: installFormControl.buildFormInput({
5289
5385
  value: $v.value.group_class.$model,
5290
5386
  onChange (input) {
5291
5387
  $v.value.group_class.$model = input;
5292
5388
  }
5293
5389
  })
5294
5390
  }),
5295
- formControls.buildFormGroup({
5391
+ installFormControl.buildFormGroup({
5296
5392
  validationMessages: validationMessages.group_name_attribute.value,
5297
5393
  validationSeverity: getVuelidateSeverity($v.value.group_name_attribute),
5298
5394
  label: true,
5299
5395
  labelContent: 'Name Attribute',
5300
- content: formControls.buildFormInput({
5396
+ content: installFormControl.buildFormInput({
5301
5397
  value: $v.value.group_name_attribute.$model,
5302
5398
  onChange (input) {
5303
5399
  $v.value.group_name_attribute.$model = input;
5304
5400
  }
5305
5401
  })
5306
5402
  }),
5307
- formControls.buildFormGroup({
5403
+ installFormControl.buildFormGroup({
5308
5404
  validationMessages: validationMessages.group_member_attribute.value,
5309
5405
  validationSeverity: getVuelidateSeverity($v.value.group_member_attribute),
5310
5406
  label: true,
5311
5407
  labelContent: 'Member Attribute',
5312
- content: formControls.buildFormInput({
5408
+ content: installFormControl.buildFormInput({
5313
5409
  value: $v.value.group_member_attribute.$model,
5314
5410
  onChange (input) {
5315
5411
  $v.value.group_member_attribute.$model = input;
5316
5412
  }
5317
5413
  })
5318
5414
  }),
5319
- formControls.buildFormGroup({
5415
+ installFormControl.buildFormGroup({
5320
5416
  validationMessages: validationMessages.group_member_user_attribute.value,
5321
5417
  validationSeverity: getVuelidateSeverity($v.value.group_member_user_attribute),
5322
5418
  label: true,
5323
5419
  labelContent: 'Member User Attribute',
5324
- content: formControls.buildFormInput({
5420
+ content: installFormControl.buildFormInput({
5325
5421
  value: $v.value.group_member_user_attribute.$model,
5326
5422
  onChange (input) {
5327
5423
  $v.value.group_member_user_attribute.$model = input;
@@ -5371,12 +5467,12 @@ const AIdentityProviderLdapUserFields = vue.defineComponent({
5371
5467
  init();
5372
5468
  const validationMessages = useTranslationsForNestedValidation($v.value);
5373
5469
  return ()=>[
5374
- formControls.buildFormGroup({
5470
+ installFormControl.buildFormGroup({
5375
5471
  validationMessages: validationMessages.user_filter.value,
5376
5472
  validationSeverity: getVuelidateSeverity($v.value.user_filter),
5377
5473
  label: true,
5378
5474
  labelContent: 'Filter',
5379
- content: formControls.buildFormInput({
5475
+ content: installFormControl.buildFormInput({
5380
5476
  value: $v.value.user_filter.$model,
5381
5477
  onChange (input) {
5382
5478
  $v.value.user_filter.$model = input;
@@ -5386,48 +5482,48 @@ const AIdentityProviderLdapUserFields = vue.defineComponent({
5386
5482
  }
5387
5483
  })
5388
5484
  }),
5389
- formControls.buildFormGroup({
5485
+ installFormControl.buildFormGroup({
5390
5486
  validationMessages: validationMessages.user_base_dn.value,
5391
5487
  validationSeverity: getVuelidateSeverity($v.value.user_base_dn),
5392
5488
  label: true,
5393
5489
  labelContent: 'Base DN',
5394
- content: formControls.buildFormInput({
5490
+ content: installFormControl.buildFormInput({
5395
5491
  value: $v.value.user_base_dn.$model,
5396
5492
  onChange (input) {
5397
5493
  $v.value.user_base_dn.$model = input;
5398
5494
  }
5399
5495
  })
5400
5496
  }),
5401
- formControls.buildFormGroup({
5497
+ installFormControl.buildFormGroup({
5402
5498
  validationMessages: validationMessages.user_name_attribute.value,
5403
5499
  validationSeverity: getVuelidateSeverity($v.value.user_name_attribute),
5404
5500
  label: true,
5405
5501
  labelContent: 'Name Attribute',
5406
- content: formControls.buildFormInput({
5502
+ content: installFormControl.buildFormInput({
5407
5503
  value: $v.value.user_name_attribute.$model,
5408
5504
  onChange (input) {
5409
5505
  $v.value.user_name_attribute.$model = input;
5410
5506
  }
5411
5507
  })
5412
5508
  }),
5413
- formControls.buildFormGroup({
5509
+ installFormControl.buildFormGroup({
5414
5510
  validationMessages: validationMessages.user_mail_attribute.value,
5415
5511
  validationSeverity: getVuelidateSeverity($v.value.user_mail_attribute),
5416
5512
  label: true,
5417
5513
  labelContent: 'Mail Attribute',
5418
- content: formControls.buildFormInput({
5514
+ content: installFormControl.buildFormInput({
5419
5515
  value: $v.value.user_mail_attribute.$model,
5420
5516
  onChange (input) {
5421
5517
  $v.value.user_mail_attribute.$model = input;
5422
5518
  }
5423
5519
  })
5424
5520
  }),
5425
- formControls.buildFormGroup({
5521
+ installFormControl.buildFormGroup({
5426
5522
  validationMessages: validationMessages.user_display_name_attribute.value,
5427
5523
  validationSeverity: getVuelidateSeverity($v.value.user_display_name_attribute),
5428
5524
  label: true,
5429
5525
  labelContent: 'DisplayName Attribute',
5430
- content: formControls.buildFormInput({
5526
+ content: installFormControl.buildFormInput({
5431
5527
  value: $v.value.user_display_name_attribute.$model,
5432
5528
  onChange (input) {
5433
5529
  $v.value.user_display_name_attribute.$model = input;
@@ -5705,7 +5801,7 @@ const AIdentityProviderPreset = vue.defineComponent({
5705
5801
  }
5706
5802
  });
5707
5803
 
5708
- var _sfc_main$9 = vue.defineComponent({
5804
+ var _sfc_main$f = vue.defineComponent({
5709
5805
  components: {
5710
5806
  AIdentityProviderPreset,
5711
5807
  AIdentityProviderProtocol
@@ -5739,28 +5835,28 @@ var _sfc_main$9 = vue.defineComponent({
5739
5835
  }
5740
5836
  });
5741
5837
 
5742
- const _hoisted_1$5 = {
5838
+ const _hoisted_1$a = {
5743
5839
  class: "d-flex flex-column gap-2"
5744
5840
  };
5745
- const _hoisted_2$4 = {
5841
+ const _hoisted_2$9 = {
5746
5842
  class: "d-flex flex-row gap-2 flex-wrap"
5747
5843
  };
5748
- const _hoisted_3$4 = [
5844
+ const _hoisted_3$7 = [
5749
5845
  "onClick"
5750
5846
  ];
5751
- const _hoisted_4$3 = {
5847
+ const _hoisted_4$5 = {
5752
5848
  class: "d-flex flex-row gap-2 flex-wrap"
5753
5849
  };
5754
- const _hoisted_5$1 = [
5850
+ const _hoisted_5$2 = [
5755
5851
  "onClick"
5756
5852
  ];
5757
- function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
5853
+ function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) {
5758
5854
  const _component_AIdentityProviderProtocol = vue.resolveComponent("AIdentityProviderProtocol");
5759
5855
  const _component_AIdentityProviderPreset = vue.resolveComponent("AIdentityProviderPreset");
5760
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
5856
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, [
5761
5857
  vue.createElementVNode("div", null, [
5762
5858
  _cache[0] || (_cache[0] = vue.createElementVNode("h6", null, "Protocols", -1)),
5763
- vue.createElementVNode("div", _hoisted_2$4, [
5859
+ vue.createElementVNode("div", _hoisted_2$9, [
5764
5860
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.protocols, (item, key)=>{
5765
5861
  return vue.openBlock(), vue.createBlock(_component_AIdentityProviderProtocol, {
5766
5862
  key,
@@ -5787,7 +5883,7 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
5787
5883
  }, null, 2)
5788
5884
  ]),
5789
5885
  vue.createElementVNode("div", null, vue.toDisplayString(props.name), 1)
5790
- ], 10, _hoisted_3$4)
5886
+ ], 10, _hoisted_3$7)
5791
5887
  ]),
5792
5888
  _: 2
5793
5889
  }, 1032, [
@@ -5798,7 +5894,7 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
5798
5894
  ]),
5799
5895
  vue.createElementVNode("div", null, [
5800
5896
  _cache[1] || (_cache[1] = vue.createElementVNode("h6", null, "Presets", -1)),
5801
- vue.createElementVNode("div", _hoisted_4$3, [
5897
+ vue.createElementVNode("div", _hoisted_4$5, [
5802
5898
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.presets, (item, key)=>{
5803
5899
  return vue.openBlock(), vue.createBlock(_component_AIdentityProviderPreset, {
5804
5900
  key,
@@ -5825,7 +5921,7 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
5825
5921
  }, null, 2)
5826
5922
  ]),
5827
5923
  vue.createElementVNode("div", null, vue.toDisplayString(props.name), 1)
5828
- ], 10, _hoisted_5$1)
5924
+ ], 10, _hoisted_5$2)
5829
5925
  ]),
5830
5926
  _: 2
5831
5927
  }, 1032, [
@@ -5836,10 +5932,10 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
5836
5932
  ])
5837
5933
  ]);
5838
5934
  }
5839
- var AIdentityProviderPicker = /* @__PURE__ */ _export_sfc(_sfc_main$9, [
5935
+ var AIdentityProviderPicker = /* @__PURE__ */ _export_sfc(_sfc_main$f, [
5840
5936
  [
5841
5937
  "render",
5842
- _sfc_render$9
5938
+ _sfc_render$e
5843
5939
  ],
5844
5940
  [
5845
5941
  "__scopeId",
@@ -5882,24 +5978,24 @@ const AIdentityProviderOAuth2ClientFields = vue.defineComponent({
5882
5978
  assign();
5883
5979
  const validationMessages = useTranslationsForNestedValidation($v.value);
5884
5980
  return ()=>[
5885
- formControls.buildFormGroup({
5981
+ installFormControl.buildFormGroup({
5886
5982
  validationMessages: validationMessages.client_id.value,
5887
5983
  validationSeverity: getVuelidateSeverity($v.value.client_id),
5888
5984
  label: true,
5889
5985
  labelContent: 'Client ID',
5890
- content: formControls.buildFormInput({
5986
+ content: installFormControl.buildFormInput({
5891
5987
  value: $v.value.client_id.$model,
5892
5988
  onChange (input) {
5893
5989
  $v.value.client_id.$model = input;
5894
5990
  }
5895
5991
  })
5896
5992
  }),
5897
- formControls.buildFormGroup({
5993
+ installFormControl.buildFormGroup({
5898
5994
  validationMessages: validationMessages.client_secret.value,
5899
5995
  validationSeverity: getVuelidateSeverity($v.value.client_secret),
5900
5996
  label: true,
5901
5997
  labelContent: 'Client Secret',
5902
- content: formControls.buildFormInput({
5998
+ content: installFormControl.buildFormInput({
5903
5999
  value: $v.value.client_secret.$model,
5904
6000
  onChange (input) {
5905
6001
  $v.value.client_secret.$model = input;
@@ -5957,11 +6053,11 @@ const AIdentityProviderOAuth2Discovery = vue.defineComponent({
5957
6053
  }, message.value);
5958
6054
  }
5959
6055
  return [
5960
- formControls.buildFormGroup({
6056
+ installFormControl.buildFormGroup({
5961
6057
  validationMessages: validationMessages.value,
5962
6058
  validationSeverity: getVuelidateSeverity($v.value.url),
5963
6059
  labelContent: 'Discovery',
5964
- content: formControls.buildFormInput({
6060
+ content: installFormControl.buildFormInput({
5965
6061
  class: {
5966
6062
  'is-valid': lookupValid.value
5967
6063
  },
@@ -6050,12 +6146,12 @@ const AIdentityProviderOAuth2EndpointFields = vue.defineComponent({
6050
6146
  }
6051
6147
  return [
6052
6148
  discoveryNode,
6053
- formControls.buildFormGroup({
6149
+ installFormControl.buildFormGroup({
6054
6150
  validationMessages: validationMessages.token_url.value,
6055
6151
  validationSeverity: getVuelidateSeverity($v.value.token_url),
6056
6152
  label: true,
6057
6153
  labelContent: 'Token',
6058
- content: formControls.buildFormInput({
6154
+ content: installFormControl.buildFormInput({
6059
6155
  value: $v.value.token_url.$model,
6060
6156
  onChange (input) {
6061
6157
  $v.value.token_url.$model = input;
@@ -6065,12 +6161,12 @@ const AIdentityProviderOAuth2EndpointFields = vue.defineComponent({
6065
6161
  }
6066
6162
  })
6067
6163
  }),
6068
- formControls.buildFormGroup({
6164
+ installFormControl.buildFormGroup({
6069
6165
  validationMessages: validationMessages.authorize_url.value,
6070
6166
  validationSeverity: getVuelidateSeverity($v.value.authorize_url),
6071
6167
  label: true,
6072
6168
  labelContent: 'Authorize',
6073
- content: formControls.buildFormInput({
6169
+ content: installFormControl.buildFormInput({
6074
6170
  value: $v.value.authorize_url.$model,
6075
6171
  onChange (input) {
6076
6172
  $v.value.authorize_url.$model = input;
@@ -6080,12 +6176,12 @@ const AIdentityProviderOAuth2EndpointFields = vue.defineComponent({
6080
6176
  }
6081
6177
  })
6082
6178
  }),
6083
- formControls.buildFormGroup({
6179
+ installFormControl.buildFormGroup({
6084
6180
  validationMessages: validationMessages.user_info_url.value,
6085
6181
  validationSeverity: getVuelidateSeverity($v.value.user_info_url),
6086
6182
  label: true,
6087
6183
  labelContent: 'UserInfo',
6088
- content: formControls.buildFormInput({
6184
+ content: installFormControl.buildFormInput({
6089
6185
  value: $v.value.user_info_url.$model,
6090
6186
  onChange (input) {
6091
6187
  $v.value.user_info_url.$model = input;
@@ -6115,10 +6211,6 @@ const AIdentityProviderOAuth2Form = vue.defineComponent({
6115
6211
  type: String,
6116
6212
  default: undefined
6117
6213
  },
6118
- apiUrl: {
6119
- type: String,
6120
- default: 'http://localhost:3001'
6121
- },
6122
6214
  protocol: {
6123
6215
  type: String,
6124
6216
  default: coreKit.IdentityProviderProtocol.OAUTH2
@@ -6156,7 +6248,7 @@ const AIdentityProviderOAuth2Form = vue.defineComponent({
6156
6248
  if (!manager.data.value) {
6157
6249
  return '';
6158
6250
  }
6159
- return apiClient.identityProvider.getAuthorizeUri(props.apiUrl, manager.data.value.id);
6251
+ return apiClient.identityProvider.getAuthorizeUri(manager.data.value.id);
6160
6252
  });
6161
6253
  const basicFieldsNode = vue.ref(null);
6162
6254
  onChange(preset, ()=>{
@@ -6257,10 +6349,10 @@ const AIdentityProviderOAuth2Form = vue.defineComponent({
6257
6349
  ' ',
6258
6350
  'Details'
6259
6351
  ]),
6260
- formControls.buildFormGroup({
6352
+ installFormControl.buildFormGroup({
6261
6353
  label: true,
6262
6354
  labelContent: 'Redirect URL',
6263
- content: formControls.buildFormInput({
6355
+ content: installFormControl.buildFormInput({
6264
6356
  value: authorizeUri,
6265
6357
  props: {
6266
6358
  disabled: true
@@ -6354,10 +6446,6 @@ const AIdentityProviderForm = vue.defineComponent({
6354
6446
  },
6355
6447
  realmId: {
6356
6448
  type: String
6357
- },
6358
- apiUrl: {
6359
- type: String,
6360
- default: 'http://localhost:3001'
6361
6449
  }
6362
6450
  },
6363
6451
  emits: [
@@ -6420,7 +6508,6 @@ const AIdentityProviderForm = vue.defineComponent({
6420
6508
  realmId: props.realmId,
6421
6509
  protocol: protocol.value,
6422
6510
  preset: preset.value,
6423
- apiUrl: props.apiUrl,
6424
6511
  onCreated: (el)=>{
6425
6512
  entity.value = el;
6426
6513
  setup.emit('created', el);
@@ -6687,36 +6774,36 @@ const AIdentityProviderRoleAssignment = vue.defineComponent({
6687
6774
  vue.h('div', {
6688
6775
  class: 'mt-2'
6689
6776
  }, [
6690
- formControls.buildFormGroup({
6777
+ installFormControl.buildFormGroup({
6691
6778
  label: true,
6692
6779
  labelContent: 'Name',
6693
6780
  validationMessages: validationMessages.name.value,
6694
6781
  validationSeverity: getVuelidateSeverity($v.value.name),
6695
- content: formControls.buildFormInput({
6782
+ content: installFormControl.buildFormInput({
6696
6783
  value: $v.value.name.$model,
6697
6784
  onChange (input) {
6698
6785
  $v.value.name.$model = input;
6699
6786
  }
6700
6787
  })
6701
6788
  }),
6702
- formControls.buildFormGroup({
6789
+ installFormControl.buildFormGroup({
6703
6790
  label: true,
6704
6791
  labelContent: 'Value',
6705
6792
  validationMessages: validationMessages.value.value,
6706
6793
  validationSeverity: getVuelidateSeverity($v.value.value),
6707
- content: formControls.buildFormInput({
6794
+ content: installFormControl.buildFormInput({
6708
6795
  value: $v.value.value.$model,
6709
6796
  onChange (input) {
6710
6797
  $v.value.value.$model = input;
6711
6798
  }
6712
6799
  })
6713
6800
  }),
6714
- formControls.buildFormGroup({
6801
+ installFormControl.buildFormGroup({
6715
6802
  validationMessages: validationMessages.value_is_regex.value,
6716
6803
  validationSeverity: getVuelidateSeverity($v.value.value_is_regex),
6717
6804
  label: true,
6718
6805
  labelContent: 'Regex',
6719
- content: formControls.buildFormInputCheckbox({
6806
+ content: installFormControl.buildFormInputCheckbox({
6720
6807
  groupClass: 'form-switch',
6721
6808
  labelContent: translationsDefault.valueIsRegex.value,
6722
6809
  value: $v.value.value_is_regex.$model,
@@ -6760,7 +6847,7 @@ const AIdentityProviderRoleAssignments = vue.defineComponent({
6760
6847
  }
6761
6848
  });
6762
6849
 
6763
- var _sfc_main$8 = vue.defineComponent({
6850
+ var _sfc_main$e = vue.defineComponent({
6764
6851
  components: {
6765
6852
  AFormInputList
6766
6853
  },
@@ -6801,7 +6888,7 @@ var _sfc_main$8 = vue.defineComponent({
6801
6888
  }
6802
6889
  });
6803
6890
 
6804
- function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
6891
+ function _sfc_render$d(_ctx, _cache, $props, $setup, $data, $options) {
6805
6892
  const _component_AFormInputList = vue.resolveComponent("AFormInputList");
6806
6893
  return vue.openBlock(), vue.createBlock(_component_AFormInputList, {
6807
6894
  names: _ctx.vuelidate.names.$model,
@@ -6812,17 +6899,17 @@ function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
6812
6899
  "onChanged"
6813
6900
  ]);
6814
6901
  }
6815
- var AAttributeNamesPolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$8, [
6902
+ var AAttributeNamesPolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$e, [
6816
6903
  [
6817
6904
  "render",
6818
- _sfc_render$8
6905
+ _sfc_render$d
6819
6906
  ]
6820
6907
  ]);
6821
6908
 
6822
- var _sfc_main$7 = vue.defineComponent({
6909
+ var _sfc_main$d = vue.defineComponent({
6823
6910
  components: {
6824
6911
  APolicyChildrenPicker: APolicyPicker,
6825
- VCFormGroup: formControls.VCFormGroup,
6912
+ VCFormGroup: installFormControl.VCFormGroup,
6826
6913
  IVuelidate: vuelidate.IVuelidate
6827
6914
  },
6828
6915
  props: {
@@ -6905,7 +6992,7 @@ var _sfc_main$7 = vue.defineComponent({
6905
6992
  }
6906
6993
  });
6907
6994
 
6908
- function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
6995
+ function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
6909
6996
  const _component_APolicyChildrenPicker = vue.resolveComponent("APolicyChildrenPicker");
6910
6997
  const _component_VCFormGroup = vue.resolveComponent("VCFormGroup");
6911
6998
  const _component_IVuelidate = vue.resolveComponent("IVuelidate");
@@ -6946,17 +7033,17 @@ function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
6946
7033
  ])
6947
7034
  ]);
6948
7035
  }
6949
- var ACompositePolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$7, [
7036
+ var ACompositePolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$d, [
6950
7037
  [
6951
7038
  "render",
6952
- _sfc_render$7
7039
+ _sfc_render$c
6953
7040
  ]
6954
7041
  ]);
6955
7042
 
6956
- var _sfc_main$6 = vue.defineComponent({
7043
+ var _sfc_main$c = vue.defineComponent({
6957
7044
  components: {
6958
- VCFormInput: formControls.VCFormInput,
6959
- VCFormGroup: formControls.VCFormGroup,
7045
+ VCFormInput: installFormControl.VCFormInput,
7046
+ VCFormGroup: installFormControl.VCFormGroup,
6960
7047
  IVuelidate: vuelidate.IVuelidate
6961
7048
  },
6962
7049
  props: {
@@ -7000,7 +7087,7 @@ var _sfc_main$6 = vue.defineComponent({
7000
7087
  }
7001
7088
  });
7002
7089
 
7003
- function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
7090
+ function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
7004
7091
  const _component_VCFormInput = vue.resolveComponent("VCFormInput");
7005
7092
  const _component_VCFormGroup = vue.resolveComponent("VCFormGroup");
7006
7093
  const _component_IVuelidate = vue.resolveComponent("IVuelidate");
@@ -7071,14 +7158,14 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
7071
7158
  ])
7072
7159
  ]);
7073
7160
  }
7074
- var ADatePolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$6, [
7161
+ var ADatePolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$c, [
7075
7162
  [
7076
7163
  "render",
7077
- _sfc_render$6
7164
+ _sfc_render$b
7078
7165
  ]
7079
7166
  ]);
7080
7167
 
7081
- var _sfc_main$5 = vue.defineComponent({
7168
+ var _sfc_main$b = vue.defineComponent({
7082
7169
  components: {
7083
7170
  AFormInputList
7084
7171
  },
@@ -7119,7 +7206,7 @@ var _sfc_main$5 = vue.defineComponent({
7119
7206
  }
7120
7207
  });
7121
7208
 
7122
- function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
7209
+ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
7123
7210
  const _component_AFormInputList = vue.resolveComponent("AFormInputList");
7124
7211
  return vue.openBlock(), vue.createBlock(_component_AFormInputList, {
7125
7212
  names: _ctx.vuelidate.types.$model,
@@ -7135,17 +7222,17 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
7135
7222
  "onChanged"
7136
7223
  ]);
7137
7224
  }
7138
- var AIdentityPolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$5, [
7225
+ var AIdentityPolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$b, [
7139
7226
  [
7140
7227
  "render",
7141
- _sfc_render$5
7228
+ _sfc_render$a
7142
7229
  ]
7143
7230
  ]);
7144
7231
 
7145
- var _sfc_main$4 = vue.defineComponent({
7232
+ var _sfc_main$a = vue.defineComponent({
7146
7233
  components: {
7147
7234
  AFormInputList,
7148
- VCFormGroup: formControls.VCFormGroup,
7235
+ VCFormGroup: installFormControl.VCFormGroup,
7149
7236
  IVuelidate: vuelidate.IVuelidate
7150
7237
  },
7151
7238
  props: {
@@ -7204,31 +7291,31 @@ var _sfc_main$4 = vue.defineComponent({
7204
7291
  }
7205
7292
  });
7206
7293
 
7207
- const _hoisted_1$4 = {
7294
+ const _hoisted_1$9 = {
7208
7295
  class: "row"
7209
7296
  };
7210
- const _hoisted_2$3 = {
7297
+ const _hoisted_2$8 = {
7211
7298
  class: "col-7"
7212
7299
  };
7213
- const _hoisted_3$3 = {
7300
+ const _hoisted_3$6 = {
7214
7301
  class: "col-5"
7215
7302
  };
7216
- const _hoisted_4$2 = [
7303
+ const _hoisted_4$4 = [
7217
7304
  "for"
7218
7305
  ];
7219
- const _hoisted_5 = [
7306
+ const _hoisted_5$1 = [
7220
7307
  "for"
7221
7308
  ];
7222
- const _hoisted_6 = [
7309
+ const _hoisted_6$1 = [
7223
7310
  "for"
7224
7311
  ];
7225
- function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
7312
+ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
7226
7313
  const _component_AFormInputList = vue.resolveComponent("AFormInputList");
7227
7314
  const _component_VCFormGroup = vue.resolveComponent("VCFormGroup");
7228
7315
  const _component_IVuelidate = vue.resolveComponent("IVuelidate");
7229
7316
  const _component_VCFormInputCheckbox = vue.resolveComponent("VCFormInputCheckbox");
7230
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
7231
- vue.createElementVNode("div", _hoisted_2$3, [
7317
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
7318
+ vue.createElementVNode("div", _hoisted_2$8, [
7232
7319
  vue.createVNode(_component_IVuelidate, {
7233
7320
  validation: _ctx.vuelidate.attributeName
7234
7321
  }, {
@@ -7257,7 +7344,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
7257
7344
  "validation"
7258
7345
  ])
7259
7346
  ]),
7260
- vue.createElementVNode("div", _hoisted_3$3, [
7347
+ vue.createElementVNode("div", _hoisted_3$6, [
7261
7348
  vue.createVNode(_component_IVuelidate, {
7262
7349
  validation: _ctx.vuelidate.attributeNameStrict
7263
7350
  }, {
@@ -7277,7 +7364,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
7277
7364
  label: vue.withCtx((iProps)=>[
7278
7365
  vue.createElementVNode("label", {
7279
7366
  for: iProps.id
7280
- }, " Only match if the attribute is strict equal to the name? ", 8, _hoisted_4$2)
7367
+ }, " Only match if the attribute is strict equal to the name? ", 8, _hoisted_4$4)
7281
7368
  ]),
7282
7369
  _: 1
7283
7370
  }, 8, [
@@ -7318,7 +7405,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
7318
7405
  vue.createTextVNode(" Determines if resources with null realm-id/name value should match all identity realms."),
7319
7406
  vue.createElementVNode("br", null, null, -1),
7320
7407
  vue.createTextVNode(" If true, any identity realm can access resources with null realm-id/name values. ")
7321
- ]), 8, _hoisted_5)
7408
+ ]), 8, _hoisted_5$1)
7322
7409
  ]),
7323
7410
  _: 1
7324
7411
  }, 8, [
@@ -7359,7 +7446,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
7359
7446
  vue.createTextVNode(" Specifies whether the master realm of an identity should match all realm-id/name attributes, including null."),
7360
7447
  vue.createElementVNode("br", null, null, -1),
7361
7448
  vue.createTextVNode(" If true, the master realm can access any resource regardless of its realm value. ")
7362
- ]), 8, _hoisted_6)
7449
+ ]), 8, _hoisted_6$1)
7363
7450
  ]),
7364
7451
  _: 1
7365
7452
  }, 8, [
@@ -7380,17 +7467,17 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
7380
7467
  ])
7381
7468
  ]);
7382
7469
  }
7383
- var ARealmMatchPolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$4, [
7470
+ var ARealmMatchPolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$a, [
7384
7471
  [
7385
7472
  "render",
7386
- _sfc_render$4
7473
+ _sfc_render$9
7387
7474
  ]
7388
7475
  ]);
7389
7476
 
7390
- var _sfc_main$3 = vue.defineComponent({
7477
+ var _sfc_main$9 = vue.defineComponent({
7391
7478
  components: {
7392
- VCFormInput: formControls.VCFormInput,
7393
- VCFormGroup: formControls.VCFormGroup,
7479
+ VCFormInput: installFormControl.VCFormInput,
7480
+ VCFormGroup: installFormControl.VCFormGroup,
7394
7481
  IVuelidate: vuelidate.IVuelidate
7395
7482
  },
7396
7483
  props: {
@@ -7475,22 +7562,22 @@ var _sfc_main$3 = vue.defineComponent({
7475
7562
  }
7476
7563
  });
7477
7564
 
7478
- const _hoisted_1$3 = {
7565
+ const _hoisted_1$8 = {
7479
7566
  class: "row"
7480
7567
  };
7481
- const _hoisted_2$2 = {
7568
+ const _hoisted_2$7 = {
7482
7569
  key: 0,
7483
7570
  class: "col"
7484
7571
  };
7485
- const _hoisted_3$2 = {
7572
+ const _hoisted_3$5 = {
7486
7573
  key: 1,
7487
7574
  class: "col"
7488
7575
  };
7489
- const _hoisted_4$1 = {
7576
+ const _hoisted_4$3 = {
7490
7577
  key: 2,
7491
7578
  class: "col"
7492
7579
  };
7493
- function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
7580
+ function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
7494
7581
  const _component_VCFormInput = vue.resolveComponent("VCFormInput");
7495
7582
  const _component_VCFormGroup = vue.resolveComponent("VCFormGroup");
7496
7583
  const _component_IVuelidate = vue.resolveComponent("IVuelidate");
@@ -7593,8 +7680,8 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
7593
7680
  }, 8, [
7594
7681
  "validation"
7595
7682
  ]),
7596
- vue.createElementVNode("div", _hoisted_1$3, [
7597
- _ctx.displayIntervalForDayOfWeek ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$2, [
7683
+ vue.createElementVNode("div", _hoisted_1$8, [
7684
+ _ctx.displayIntervalForDayOfWeek ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$7, [
7598
7685
  vue.createVNode(_component_IVuelidate, {
7599
7686
  validation: _ctx.vuelidate.dayOfWeek
7600
7687
  }, {
@@ -7629,7 +7716,7 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
7629
7716
  "validation"
7630
7717
  ])
7631
7718
  ])) : vue.createCommentVNode("", true),
7632
- _ctx.displayIntervalForDayOfMonth ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$2, [
7719
+ _ctx.displayIntervalForDayOfMonth ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$5, [
7633
7720
  vue.createVNode(_component_IVuelidate, {
7634
7721
  validation: _ctx.vuelidate.dayOfMonth
7635
7722
  }, {
@@ -7664,7 +7751,7 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
7664
7751
  "validation"
7665
7752
  ])
7666
7753
  ])) : vue.createCommentVNode("", true),
7667
- _ctx.displayIntervalForDayOfYear ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$1, [
7754
+ _ctx.displayIntervalForDayOfYear ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$3, [
7668
7755
  vue.createVNode(_component_IVuelidate, {
7669
7756
  validation: _ctx.vuelidate.dayOfYear
7670
7757
  }, {
@@ -7702,10 +7789,10 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
7702
7789
  ])
7703
7790
  ]);
7704
7791
  }
7705
- var ATimePolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$3, [
7792
+ var ATimePolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$9, [
7706
7793
  [
7707
7794
  "render",
7708
- _sfc_render$3
7795
+ _sfc_render$8
7709
7796
  ]
7710
7797
  ]);
7711
7798
 
@@ -7728,7 +7815,7 @@ const APolicy = vue.defineComponent({
7728
7815
  }
7729
7816
  });
7730
7817
 
7731
- var _sfc_main$2 = vue.defineComponent({
7818
+ var _sfc_main$8 = vue.defineComponent({
7732
7819
  props: {
7733
7820
  type: {
7734
7821
  type: String
@@ -7774,20 +7861,20 @@ var _sfc_main$2 = vue.defineComponent({
7774
7861
  }
7775
7862
  });
7776
7863
 
7777
- const _hoisted_1$2 = {
7864
+ const _hoisted_1$7 = {
7778
7865
  class: "d-flex flex-column gap-2"
7779
7866
  };
7780
- const _hoisted_2$1 = {
7867
+ const _hoisted_2$6 = {
7781
7868
  class: "d-flex flex-row gap-2 flex-wrap"
7782
7869
  };
7783
- const _hoisted_3$1 = [
7870
+ const _hoisted_3$4 = [
7784
7871
  "onClick"
7785
7872
  ];
7786
- function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
7787
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
7873
+ function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
7874
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
7788
7875
  vue.createElementVNode("div", null, [
7789
7876
  _cache[0] || (_cache[0] = vue.createElementVNode("h6", null, "Type", -1)),
7790
- vue.createElementVNode("div", _hoisted_2$1, [
7877
+ vue.createElementVNode("div", _hoisted_2$6, [
7791
7878
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.options, (item, key)=>{
7792
7879
  return vue.openBlock(), vue.createElementBlock("div", {
7793
7880
  key,
@@ -7802,16 +7889,16 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
7802
7889
  ])
7803
7890
  }, [
7804
7891
  vue.createElementVNode("div", null, vue.toDisplayString(item.value), 1)
7805
- ], 10, _hoisted_3$1);
7892
+ ], 10, _hoisted_3$4);
7806
7893
  }), 128))
7807
7894
  ])
7808
7895
  ])
7809
7896
  ]);
7810
7897
  }
7811
- var APolicyTypePicker = /* @__PURE__ */ _export_sfc(_sfc_main$2, [
7898
+ var APolicyTypePicker = /* @__PURE__ */ _export_sfc(_sfc_main$8, [
7812
7899
  [
7813
7900
  "render",
7814
- _sfc_render$2
7901
+ _sfc_render$7
7815
7902
  ],
7816
7903
  [
7817
7904
  "__scopeId",
@@ -7819,12 +7906,12 @@ var APolicyTypePicker = /* @__PURE__ */ _export_sfc(_sfc_main$2, [
7819
7906
  ]
7820
7907
  ]);
7821
7908
 
7822
- var _sfc_main$1 = vue.defineComponent({
7909
+ var _sfc_main$7 = vue.defineComponent({
7823
7910
  components: {
7824
7911
  ARealmPicker,
7825
- VCFormInput: formControls.VCFormInput,
7826
- VCFormInputCheckbox: formControls.VCFormInputCheckbox,
7827
- VCFormGroup: formControls.VCFormGroup,
7912
+ VCFormInput: installFormControl.VCFormInput,
7913
+ VCFormInputCheckbox: installFormControl.VCFormInputCheckbox,
7914
+ VCFormGroup: installFormControl.VCFormGroup,
7828
7915
  IVuelidate: vuelidate.IVuelidate
7829
7916
  },
7830
7917
  props: {
@@ -7903,28 +7990,28 @@ var _sfc_main$1 = vue.defineComponent({
7903
7990
  }
7904
7991
  });
7905
7992
 
7906
- const _hoisted_1$1 = {
7993
+ const _hoisted_1$6 = {
7907
7994
  class: "row"
7908
7995
  };
7909
- const _hoisted_2 = {
7996
+ const _hoisted_2$5 = {
7910
7997
  class: "col"
7911
7998
  };
7912
- const _hoisted_3 = [
7999
+ const _hoisted_3$3 = [
7913
8000
  "for"
7914
8001
  ];
7915
- const _hoisted_4 = {
8002
+ const _hoisted_4$2 = {
7916
8003
  key: 0,
7917
8004
  class: "col"
7918
8005
  };
7919
- function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
8006
+ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
7920
8007
  const _component_VCFormInput = vue.resolveComponent("VCFormInput");
7921
8008
  const _component_VCFormGroup = vue.resolveComponent("VCFormGroup");
7922
8009
  const _component_IVuelidate = vue.resolveComponent("IVuelidate");
7923
8010
  const _component_VCFormTextarea = vue.resolveComponent("VCFormTextarea");
7924
8011
  const _component_VCFormInputCheckbox = vue.resolveComponent("VCFormInputCheckbox");
7925
8012
  const _component_ARealmPicker = vue.resolveComponent("ARealmPicker");
7926
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
7927
- vue.createElementVNode("div", _hoisted_2, [
8013
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
8014
+ vue.createElementVNode("div", _hoisted_2$5, [
7928
8015
  vue.createVNode(_component_IVuelidate, {
7929
8016
  validation: _ctx.vuelidate.name
7930
8017
  }, {
@@ -8038,7 +8125,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
8038
8125
  label: vue.withCtx((iProps)=>[
8039
8126
  vue.createElementVNode("label", {
8040
8127
  for: iProps.id
8041
- }, " Invert? ", 8, _hoisted_3)
8128
+ }, " Invert? ", 8, _hoisted_3$3)
8042
8129
  ]),
8043
8130
  _: 1
8044
8131
  }, 8, [
@@ -8057,7 +8144,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
8057
8144
  "validation"
8058
8145
  ])
8059
8146
  ]),
8060
- !_ctx.realmId && !_ctx.isEditing ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [
8147
+ !_ctx.realmId && !_ctx.isEditing ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [
8061
8148
  vue.createVNode(_component_IVuelidate, {
8062
8149
  validation: _ctx.vuelidate.invert
8063
8150
  }, {
@@ -8092,14 +8179,14 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
8092
8179
  ])) : vue.createCommentVNode("", true)
8093
8180
  ]);
8094
8181
  }
8095
- var APolicyBasicForm = /* @__PURE__ */ _export_sfc(_sfc_main$1, [
8182
+ var APolicyBasicForm = /* @__PURE__ */ _export_sfc(_sfc_main$7, [
8096
8183
  [
8097
8184
  "render",
8098
- _sfc_render$1
8185
+ _sfc_render$6
8099
8186
  ]
8100
8187
  ]);
8101
8188
 
8102
- var _sfc_main = vue.defineComponent({
8189
+ var _sfc_main$6 = vue.defineComponent({
8103
8190
  components: {
8104
8191
  AFormSubmit,
8105
8192
  APolicyTypePicker,
@@ -8175,13 +8262,13 @@ var _sfc_main = vue.defineComponent({
8175
8262
  }
8176
8263
  });
8177
8264
 
8178
- const _hoisted_1 = {
8265
+ const _hoisted_1$5 = {
8179
8266
  class: "d-flex flex-column"
8180
8267
  };
8181
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
8268
+ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
8182
8269
  const _component_APolicyBasicForm = vue.resolveComponent("APolicyBasicForm");
8183
8270
  const _component_AFormSubmit = vue.resolveComponent("AFormSubmit");
8184
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
8271
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
8185
8272
  _cache[0] || (_cache[0] = vue.createElementVNode("h6", null, "General", -1)),
8186
8273
  vue.createVNode(_component_APolicyBasicForm, {
8187
8274
  entity: _ctx.data
@@ -8214,10 +8301,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
8214
8301
  ])
8215
8302
  ]);
8216
8303
  }
8217
- var APolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main, [
8304
+ var APolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$6, [
8218
8305
  [
8219
8306
  "render",
8220
- _sfc_render
8307
+ _sfc_render$5
8221
8308
  ]
8222
8309
  ]);
8223
8310
 
@@ -8405,12 +8492,12 @@ const ARobotForm = vue.defineComponent({
8405
8492
  }
8406
8493
  ]);
8407
8494
  const render = ()=>{
8408
- const name = formControls.buildFormGroup({
8495
+ const name = installFormControl.buildFormGroup({
8409
8496
  validationMessages: translationsValidation.name.value,
8410
8497
  validationSeverity: getVuelidateSeverity($v.value.name),
8411
8498
  label: true,
8412
8499
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.NAME].value,
8413
- content: formControls.buildFormInput({
8500
+ content: installFormControl.buildFormInput({
8414
8501
  value: $v.value.name.$model,
8415
8502
  onChange (input) {
8416
8503
  $v.value.name.$model = input;
@@ -8420,12 +8507,12 @@ const ARobotForm = vue.defineComponent({
8420
8507
  }
8421
8508
  })
8422
8509
  });
8423
- const displayName = formControls.buildFormGroup({
8510
+ const displayName = installFormControl.buildFormGroup({
8424
8511
  validationMessages: translationsValidation.display_name.value,
8425
8512
  validationSeverity: getVuelidateSeverity($v.value.display_name),
8426
8513
  label: true,
8427
8514
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.DISPLAY_NAME].value,
8428
- content: formControls.buildFormInput({
8515
+ content: installFormControl.buildFormInput({
8429
8516
  value: $v.value.display_name.$model,
8430
8517
  onChange (input) {
8431
8518
  $v.value.display_name.$model = input;
@@ -8435,10 +8522,10 @@ const ARobotForm = vue.defineComponent({
8435
8522
  let id = [];
8436
8523
  if (manager.data.value) {
8437
8524
  id = [
8438
- formControls.buildFormGroup({
8525
+ installFormControl.buildFormGroup({
8439
8526
  label: true,
8440
8527
  labelContent: 'ID',
8441
- content: formControls.buildFormInput({
8528
+ content: installFormControl.buildFormInput({
8442
8529
  value: manager.data.value.id,
8443
8530
  props: {
8444
8531
  disabled: true
@@ -8447,7 +8534,7 @@ const ARobotForm = vue.defineComponent({
8447
8534
  })
8448
8535
  ];
8449
8536
  }
8450
- const secret = formControls.buildFormGroup({
8537
+ const secret = installFormControl.buildFormGroup({
8451
8538
  validationMessages: translationsValidation.secret.value,
8452
8539
  validationSeverity: getVuelidateSeverity($v.value.secret),
8453
8540
  label: true,
@@ -8463,7 +8550,7 @@ const ARobotForm = vue.defineComponent({
8463
8550
  })
8464
8551
  ]) : ''
8465
8552
  ],
8466
- content: formControls.buildFormInput({
8553
+ content: installFormControl.buildFormInput({
8467
8554
  value: $v.value.secret.$model,
8468
8555
  onChange (input) {
8469
8556
  $v.value.secret.$model = input;
@@ -8854,12 +8941,12 @@ const AUserForm = vue.defineComponent({
8854
8941
  }
8855
8942
  ]);
8856
8943
  const render = ()=>{
8857
- const name = formControls.buildFormGroup({
8944
+ const name = installFormControl.buildFormGroup({
8858
8945
  validationMessages: translationsValidation.name.value,
8859
8946
  validationSeverity: getVuelidateSeverity($v.value.name),
8860
8947
  label: true,
8861
8948
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.NAME].value,
8862
- content: formControls.buildFormInput({
8949
+ content: installFormControl.buildFormInput({
8863
8950
  value: $v.value.name.$model,
8864
8951
  onChange (input) {
8865
8952
  $v.value.name.$model = input;
@@ -8869,24 +8956,24 @@ const AUserForm = vue.defineComponent({
8869
8956
  }
8870
8957
  })
8871
8958
  });
8872
- const displayName = formControls.buildFormGroup({
8959
+ const displayName = installFormControl.buildFormGroup({
8873
8960
  validationMessages: translationsValidation.display_name.value,
8874
8961
  validationSeverity: getVuelidateSeverity($v.value.display_name),
8875
8962
  label: true,
8876
8963
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.DISPLAY_NAME].value,
8877
- content: formControls.buildFormInput({
8964
+ content: installFormControl.buildFormInput({
8878
8965
  value: $v.value.display_name.$model,
8879
8966
  onChange (input) {
8880
8967
  $v.value.display_name.$model = input;
8881
8968
  }
8882
8969
  })
8883
8970
  });
8884
- const email = formControls.buildFormGroup({
8971
+ const email = installFormControl.buildFormGroup({
8885
8972
  validationMessages: translationsValidation.email.value,
8886
8973
  validationSeverity: getVuelidateSeverity($v.value.email),
8887
8974
  label: true,
8888
8975
  labelContent: translationsDefault[TranslatorTranslationDefaultKey.EMAIL].value,
8889
- content: formControls.buildFormInput({
8976
+ content: installFormControl.buildFormInput({
8890
8977
  value: $v.value.email.$model,
8891
8978
  props: {
8892
8979
  type: 'email',
@@ -8902,7 +8989,7 @@ const AUserForm = vue.defineComponent({
8902
8989
  let nameLock = [];
8903
8990
  if (props.entity) {
8904
8991
  nameLock = [
8905
- formControls.buildFormInputCheckbox({
8992
+ installFormControl.buildFormInputCheckbox({
8906
8993
  groupClass: 'form-switch mt-3',
8907
8994
  labelContent: vue.h('span', {
8908
8995
  class: {
@@ -8926,7 +9013,7 @@ const AUserForm = vue.defineComponent({
8926
9013
  vue.h('div', {
8927
9014
  class: 'col'
8928
9015
  }, [
8929
- formControls.buildFormInputCheckbox({
9016
+ installFormControl.buildFormInputCheckbox({
8930
9017
  groupClass: 'form-switch mt-3',
8931
9018
  labelContent: vue.h('span', {
8932
9019
  class: {
@@ -9086,12 +9173,12 @@ const AUserPasswordForm = vue.defineComponent({
9086
9173
  const validationMessages = useTranslationsForNestedValidation($v.value);
9087
9174
  const submitTranslations = createFormSubmitTranslations();
9088
9175
  const render = ()=>{
9089
- const password = formControls.buildFormGroup({
9176
+ const password = installFormControl.buildFormGroup({
9090
9177
  validationMessages: validationMessages.password.value,
9091
9178
  validationSeverity: getVuelidateSeverity($v.value.password),
9092
9179
  label: true,
9093
9180
  labelContent: 'Password',
9094
- content: formControls.buildFormInput({
9181
+ content: installFormControl.buildFormInput({
9095
9182
  value: $v.value.password.$model,
9096
9183
  onChange (input) {
9097
9184
  $v.value.password.$model = input;
@@ -9102,12 +9189,12 @@ const AUserPasswordForm = vue.defineComponent({
9102
9189
  }
9103
9190
  })
9104
9191
  });
9105
- const passwordRepeat = formControls.buildFormGroup({
9192
+ const passwordRepeat = installFormControl.buildFormGroup({
9106
9193
  validationMessages: validationMessages.password_repeat.value,
9107
9194
  validationSeverity: getVuelidateSeverity($v.value.password_repeat),
9108
9195
  label: true,
9109
9196
  labelContent: 'Password repeat',
9110
- content: formControls.buildFormInput({
9197
+ content: installFormControl.buildFormInput({
9111
9198
  value: $v.value.password_repeat.$model,
9112
9199
  onChange (input) {
9113
9200
  $v.value.password_repeat.$model = input;
@@ -9118,7 +9205,7 @@ const AUserPasswordForm = vue.defineComponent({
9118
9205
  }
9119
9206
  })
9120
9207
  });
9121
- const showPassword = formControls.buildFormInputCheckbox({
9208
+ const showPassword = installFormControl.buildFormInputCheckbox({
9122
9209
  groupClass: 'mt-3',
9123
9210
  labelContent: [
9124
9211
  'Password ',
@@ -9488,13 +9575,773 @@ function install(app, options) {
9488
9575
  locale: options.translatorLocale
9489
9576
  });
9490
9577
  installComponents(app, options.components);
9578
+ installStoreManager(app);
9579
+ app.use(installFormControl);
9580
+ app.use(installPagination);
9491
9581
  }
9492
9582
 
9583
+ var _sfc_main$5 = vue.defineComponent({
9584
+ components: {
9585
+ ARealmPicker,
9586
+ APagination,
9587
+ ATitle,
9588
+ IVuelidate: vuelidate.IVuelidate,
9589
+ AIdentityProviders,
9590
+ AIdentityProviderIcon
9591
+ },
9592
+ props: {
9593
+ codeRequest: {
9594
+ type: Object
9595
+ }
9596
+ },
9597
+ emits: [
9598
+ 'done',
9599
+ 'failed'
9600
+ ],
9601
+ setup (props, { emit }) {
9602
+ const apiClient = injectHTTPClient();
9603
+ const store = injectStore();
9604
+ const form = vue.reactive({
9605
+ name: '',
9606
+ password: '',
9607
+ realm_id: ''
9608
+ });
9609
+ const vuelidate = useVuelidate({
9610
+ name: {
9611
+ required: validators.required,
9612
+ minLength: validators.minLength(3),
9613
+ maxLength: validators.maxLength(255)
9614
+ },
9615
+ password: {
9616
+ required: validators.required,
9617
+ minLength: validators.minLength(3),
9618
+ maxLength: validators.maxLength(255)
9619
+ },
9620
+ realm_id: {}
9621
+ }, form);
9622
+ const busy = vue.ref(false);
9623
+ const realmId = vue.computed(()=>{
9624
+ if (props.codeRequest && props.codeRequest.realm_id) {
9625
+ return props.codeRequest.realm_id;
9626
+ }
9627
+ return form.realm_id;
9628
+ });
9629
+ const identityProviderQuery = vue.ref({});
9630
+ const resetIdentityProviderQuery = ()=>{
9631
+ identityProviderQuery.value = {
9632
+ filters: {
9633
+ realm_id: realmId.value || '',
9634
+ protocol: `!${coreKit.IdentityProviderProtocol.LDAP}`,
9635
+ enabled: true
9636
+ }
9637
+ };
9638
+ };
9639
+ resetIdentityProviderQuery();
9640
+ const identityProviderRef = vue.ref(null);
9641
+ const updateIdentityProviderList = ()=>{
9642
+ if (identityProviderRef.value) {
9643
+ identityProviderRef.value.load();
9644
+ }
9645
+ };
9646
+ const updateRealmId = (realmId)=>{
9647
+ form.realm_id = Array.isArray(realmId) ? realmId[0] : realmId;
9648
+ resetIdentityProviderQuery();
9649
+ vue.nextTick(()=>{
9650
+ updateIdentityProviderList();
9651
+ });
9652
+ };
9653
+ const submit = async ()=>{
9654
+ try {
9655
+ await store.login({
9656
+ name: form.name,
9657
+ password: form.password,
9658
+ realmId: form.realm_id
9659
+ });
9660
+ emit('done');
9661
+ } catch (e) {
9662
+ emit('failed', e instanceof Error ? e.message : 'The login operation failed');
9663
+ }
9664
+ };
9665
+ const buildIdentityProviderURL = (id)=>{
9666
+ let authorizeURL = apiClient.identityProvider.getAuthorizeUri(id);
9667
+ if (props.codeRequest) {
9668
+ const serialized = kit.base64URLEncode(JSON.stringify(props.codeRequest));
9669
+ authorizeURL += `?codeRequest=${serialized}`;
9670
+ }
9671
+ return authorizeURL;
9672
+ };
9673
+ return {
9674
+ updateRealmId,
9675
+ vuelidate,
9676
+ form,
9677
+ submit,
9678
+ busy,
9679
+ identityProviderQuery,
9680
+ identityProviderRef,
9681
+ buildIdentityProviderURL
9682
+ };
9683
+ }
9684
+ });
9685
+
9686
+ const _hoisted_1$4 = {
9687
+ class: "d-flex flex-row"
9688
+ };
9689
+ const _hoisted_2$4 = [
9690
+ "href"
9691
+ ];
9692
+ const _hoisted_3$2 = {
9693
+ class: "d-flex flex-column"
9694
+ };
9695
+ const _hoisted_4$1 = {
9696
+ class: "text-center mb-1"
9697
+ };
9698
+ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
9699
+ const _component_VCFormInput = vue.resolveComponent("VCFormInput");
9700
+ const _component_VCFormGroup = vue.resolveComponent("VCFormGroup");
9701
+ const _component_IVuelidate = vue.resolveComponent("IVuelidate");
9702
+ const _component_VCFormSubmit = vue.resolveComponent("VCFormSubmit");
9703
+ const _component_ARealmPicker = vue.resolveComponent("ARealmPicker");
9704
+ const _component_ATitle = vue.resolveComponent("ATitle");
9705
+ const _component_APagination = vue.resolveComponent("APagination");
9706
+ const _component_AIdentityProviderIcon = vue.resolveComponent("AIdentityProviderIcon");
9707
+ const _component_AIdentityProviders = vue.resolveComponent("AIdentityProviders");
9708
+ return vue.openBlock(), vue.createElementBlock("div", null, [
9709
+ _cache[7] || (_cache[7] = vue.createElementVNode("div", {
9710
+ class: "text-center"
9711
+ }, [
9712
+ vue.createElementVNode("h1", {
9713
+ class: "fw-bold"
9714
+ }, " Login ")
9715
+ ], -1)),
9716
+ vue.createElementVNode("form", {
9717
+ onSubmit: _cache[3] || (_cache[3] = vue.withModifiers((...args)=>_ctx.submit && _ctx.submit(...args), [
9718
+ "prevent"
9719
+ ]))
9720
+ }, [
9721
+ vue.createVNode(_component_IVuelidate, {
9722
+ validation: _ctx.vuelidate.name
9723
+ }, {
9724
+ default: vue.withCtx((props)=>[
9725
+ vue.createVNode(_component_VCFormGroup, {
9726
+ "validation-messages": props.data,
9727
+ "validation-severity": props.severity
9728
+ }, {
9729
+ label: vue.withCtx(()=>_cache[4] || (_cache[4] = [
9730
+ vue.createTextVNode(" Name ")
9731
+ ])),
9732
+ default: vue.withCtx(()=>[
9733
+ vue.createVNode(_component_VCFormInput, {
9734
+ modelValue: _ctx.vuelidate.name.$model,
9735
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event)=>_ctx.vuelidate.name.$model = $event)
9736
+ }, null, 8, [
9737
+ "modelValue"
9738
+ ])
9739
+ ]),
9740
+ _: 2
9741
+ }, 1032, [
9742
+ "validation-messages",
9743
+ "validation-severity"
9744
+ ])
9745
+ ]),
9746
+ _: 1
9747
+ }, 8, [
9748
+ "validation"
9749
+ ]),
9750
+ vue.createVNode(_component_IVuelidate, {
9751
+ validation: _ctx.vuelidate.password
9752
+ }, {
9753
+ default: vue.withCtx((props)=>[
9754
+ vue.createVNode(_component_VCFormGroup, {
9755
+ "validation-messages": props.data,
9756
+ "validation-severity": props.severity
9757
+ }, {
9758
+ label: vue.withCtx(()=>_cache[5] || (_cache[5] = [
9759
+ vue.createTextVNode(" Password ")
9760
+ ])),
9761
+ default: vue.withCtx(()=>[
9762
+ vue.createVNode(_component_VCFormInput, {
9763
+ modelValue: _ctx.vuelidate.password.$model,
9764
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event)=>_ctx.vuelidate.password.$model = $event),
9765
+ type: "password"
9766
+ }, null, 8, [
9767
+ "modelValue"
9768
+ ])
9769
+ ]),
9770
+ _: 2
9771
+ }, 1032, [
9772
+ "validation-messages",
9773
+ "validation-severity"
9774
+ ])
9775
+ ]),
9776
+ _: 1
9777
+ }, 8, [
9778
+ "validation"
9779
+ ]),
9780
+ vue.createVNode(_component_VCFormSubmit, {
9781
+ modelValue: _ctx.busy,
9782
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event)=>_ctx.busy = $event),
9783
+ invalid: _ctx.vuelidate.$invalid,
9784
+ "create-text": "Submit",
9785
+ "create-button-class": {
9786
+ value: "btn btn-sm btn-dark btn-block",
9787
+ presets: {
9788
+ bootstrap: false
9789
+ }
9790
+ },
9791
+ "create-icon-class": "fa-solid fa-right-to-bracket",
9792
+ submit: _ctx.submit
9793
+ }, null, 8, [
9794
+ "modelValue",
9795
+ "invalid",
9796
+ "submit"
9797
+ ]),
9798
+ _cache[6] || (_cache[6] = vue.createElementVNode("hr", null, null, -1)),
9799
+ !_ctx.codeRequest || !_ctx.codeRequest.realm_id ? (vue.openBlock(), vue.createBlock(_component_ARealmPicker, {
9800
+ key: 0,
9801
+ value: _ctx.form.realm_id,
9802
+ onChange: _ctx.updateRealmId
9803
+ }, null, 8, [
9804
+ "value",
9805
+ "onChange"
9806
+ ])) : vue.createCommentVNode("", true),
9807
+ vue.createVNode(_component_AIdentityProviders, {
9808
+ ref: "identityProviderRef",
9809
+ query: _ctx.identityProviderQuery,
9810
+ footer: false
9811
+ }, {
9812
+ header: vue.withCtx(()=>[
9813
+ vue.createVNode(_component_ATitle, {
9814
+ text: "Identity Providers"
9815
+ })
9816
+ ]),
9817
+ footer: vue.withCtx((props)=>[
9818
+ vue.createVNode(_component_APagination, {
9819
+ busy: props.busy,
9820
+ meta: props.meta,
9821
+ load: props.load,
9822
+ total: props.total
9823
+ }, null, 8, [
9824
+ "busy",
9825
+ "meta",
9826
+ "load",
9827
+ "total"
9828
+ ])
9829
+ ]),
9830
+ body: vue.withCtx((props)=>[
9831
+ vue.createElementVNode("div", _hoisted_1$4, [
9832
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(props.data, (item, key)=>{
9833
+ return vue.openBlock(), vue.createElementBlock("div", {
9834
+ key
9835
+ }, [
9836
+ vue.createElementVNode("a", {
9837
+ href: _ctx.buildIdentityProviderURL(item.id),
9838
+ class: "btn btn-dark btn-xs p-2 me-1 identity-provider-box bg-dark"
9839
+ }, [
9840
+ vue.createElementVNode("div", _hoisted_3$2, [
9841
+ vue.createElementVNode("div", _hoisted_4$1, [
9842
+ vue.createVNode(_component_AIdentityProviderIcon, {
9843
+ class: "fa-2x",
9844
+ entity: item
9845
+ }, null, 8, [
9846
+ "entity"
9847
+ ])
9848
+ ]),
9849
+ vue.createElementVNode("div", null, vue.toDisplayString(item.name), 1)
9850
+ ])
9851
+ ], 8, _hoisted_2$4)
9852
+ ]);
9853
+ }), 128))
9854
+ ])
9855
+ ]),
9856
+ _: 1
9857
+ }, 8, [
9858
+ "query"
9859
+ ])
9860
+ ], 32)
9861
+ ]);
9862
+ }
9863
+ var Login = /* @__PURE__ */ _export_sfc(_sfc_main$5, [
9864
+ [
9865
+ "render",
9866
+ _sfc_render$4
9867
+ ],
9868
+ [
9869
+ "__scopeId",
9870
+ "data-v-957a0486"
9871
+ ]
9872
+ ]);
9873
+
9874
+ var _sfc_main$4 = vue.defineComponent({
9875
+ props: {
9876
+ entity: {
9877
+ type: Object,
9878
+ required: true
9879
+ },
9880
+ requested: {
9881
+ type: Array,
9882
+ default: ()=>[]
9883
+ }
9884
+ },
9885
+ setup (props) {
9886
+ const isEnabled = vue.computed(()=>props.requested.indexOf(props.entity.name) !== -1);
9887
+ return {
9888
+ isEnabled
9889
+ };
9890
+ }
9891
+ });
9892
+
9893
+ const _hoisted_1$3 = {
9894
+ class: "text-center"
9895
+ };
9896
+ const _hoisted_2$3 = {
9897
+ key: 0
9898
+ };
9899
+ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
9900
+ return vue.openBlock(), vue.createElementBlock("div", null, [
9901
+ vue.createElementVNode("div", _hoisted_1$3, [
9902
+ vue.createElementVNode("i", {
9903
+ class: vue.normalizeClass([
9904
+ "fa-solid",
9905
+ {
9906
+ "fa-check text-success": _ctx.isEnabled,
9907
+ "fa-times text-danger": !_ctx.isEnabled
9908
+ }
9909
+ ])
9910
+ }, null, 2)
9911
+ ]),
9912
+ vue.createElementVNode("div", null, [
9913
+ vue.createElementVNode("strong", null, vue.toDisplayString(_ctx.entity.name), 1),
9914
+ _ctx.entity.description ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_2$3, vue.toDisplayString(_ctx.entity.description), 1)) : vue.createCommentVNode("", true)
9915
+ ])
9916
+ ]);
9917
+ }
9918
+ var AuthorizeScope = /* @__PURE__ */ _export_sfc(_sfc_main$4, [
9919
+ [
9920
+ "render",
9921
+ _sfc_render$3
9922
+ ]
9923
+ ]);
9924
+
9925
+ var _sfc_main$3 = vue.defineComponent({
9926
+ components: {
9927
+ AuthorizeScope
9928
+ },
9929
+ props: {
9930
+ client: {
9931
+ type: Object,
9932
+ required: true
9933
+ },
9934
+ scopesAvailable: {
9935
+ type: Array
9936
+ },
9937
+ scopesRequested: {
9938
+ type: [
9939
+ String,
9940
+ Array
9941
+ ]
9942
+ }
9943
+ },
9944
+ setup (props) {
9945
+ const httpClient = injectHTTPClient();
9946
+ const scopesRequestedNormalized = vue.computed(()=>{
9947
+ if (!props.scopesRequested) {
9948
+ return [];
9949
+ }
9950
+ return Array.isArray(props.scopesRequested) ? props.scopesRequested : specs.deserializeOAuth2Scope(props.scopesRequested);
9951
+ });
9952
+ const scopesAvailableNormalized = vue.ref([]);
9953
+ const resolveScopesAvailable = async ()=>{
9954
+ if (props.scopesAvailable) {
9955
+ scopesAvailableNormalized.value = props.scopesAvailable;
9956
+ return;
9957
+ }
9958
+ if (props.client.id) {
9959
+ const { data: clientScopes } = await httpClient.clientScope.getMany({
9960
+ filters: {
9961
+ client_id: props.client.id
9962
+ },
9963
+ include: [
9964
+ 'scope'
9965
+ ]
9966
+ });
9967
+ scopesAvailableNormalized.value = clientScopes.map((clientScope)=>clientScope.scope);
9968
+ }
9969
+ };
9970
+ Promise.resolve().then(()=>resolveScopesAvailable());
9971
+ return {
9972
+ scopesRequestedNormalized,
9973
+ scopesAvailableNormalized
9974
+ };
9975
+ }
9976
+ });
9977
+
9978
+ const _hoisted_1$2 = {
9979
+ key: 0
9980
+ };
9981
+ const _hoisted_2$2 = {
9982
+ class: "flex-column"
9983
+ };
9984
+ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
9985
+ const _component_AuthorizeScope = vue.resolveComponent("AuthorizeScope");
9986
+ return _ctx.scopesAvailableNormalized.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
9987
+ vue.createElementVNode("div", null, [
9988
+ _cache[0] || (_cache[0] = vue.createTextVNode(" This will allow the ")),
9989
+ vue.createElementVNode("strong", null, vue.toDisplayString(_ctx.client.name), 1),
9990
+ _cache[1] || (_cache[1] = vue.createTextVNode(" application to "))
9991
+ ]),
9992
+ vue.createElementVNode("div", _hoisted_2$2, [
9993
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.scopesAvailableNormalized, (item)=>{
9994
+ return vue.openBlock(), vue.createBlock(_component_AuthorizeScope, {
9995
+ key: item.id,
9996
+ entity: item,
9997
+ class: "d-flex flex-row gap-1",
9998
+ requested: _ctx.scopesRequestedNormalized
9999
+ }, null, 8, [
10000
+ "entity",
10001
+ "requested"
10002
+ ]);
10003
+ }), 128))
10004
+ ])
10005
+ ])) : vue.createCommentVNode("", true);
10006
+ }
10007
+ var AuthorizeScopes = /* @__PURE__ */ _export_sfc(_sfc_main$3, [
10008
+ [
10009
+ "render",
10010
+ _sfc_render$2
10011
+ ]
10012
+ ]);
10013
+
10014
+ var _sfc_main$2 = vue.defineComponent({
10015
+ components: {
10016
+ AuthorizeScopes
10017
+ },
10018
+ props: {
10019
+ client: {
10020
+ type: Object,
10021
+ required: true
10022
+ },
10023
+ scopes: {
10024
+ type: Array
10025
+ },
10026
+ codeRequest: {
10027
+ type: Object,
10028
+ required: true
10029
+ }
10030
+ },
10031
+ setup (props) {
10032
+ const httpClient = injectHTTPClient();
10033
+ const abort = ()=>{
10034
+ const url = new URL(`${props.codeRequest.redirect_uri}`);
10035
+ url.searchParams.set('error', 'access_denied');
10036
+ url.searchParams.set('error_description', 'The resource owner or authorization server denied the request');
10037
+ if (props.codeRequest.state) {
10038
+ url.searchParams.set('state', props.codeRequest.state);
10039
+ }
10040
+ if (typeof window !== 'undefined') {
10041
+ window.location.href = url.href;
10042
+ }
10043
+ };
10044
+ const authorize = async ()=>{
10045
+ try {
10046
+ const response = await httpClient.authorize.confirm({
10047
+ response_type: props.codeRequest.response_type,
10048
+ client_id: props.client.id,
10049
+ redirect_uri: props.codeRequest.redirect_uri,
10050
+ ...props.codeRequest.state ? {
10051
+ state: props.codeRequest.state
10052
+ } : {},
10053
+ ...props.codeRequest.scope ? {
10054
+ scope: props.codeRequest.scope
10055
+ } : {}
10056
+ });
10057
+ const { url } = response;
10058
+ if (typeof window !== 'undefined') {
10059
+ window.location.href = url;
10060
+ }
10061
+ } catch (e) {
10062
+ // todo: show toast :)
10063
+ }
10064
+ };
10065
+ return {
10066
+ authorize,
10067
+ abort
10068
+ };
10069
+ }
10070
+ });
10071
+
10072
+ const _hoisted_1$1 = {
10073
+ class: "flex-column d-flex gap-2"
10074
+ };
10075
+ const _hoisted_2$1 = {
10076
+ class: "text-center"
10077
+ };
10078
+ const _hoisted_3$1 = {
10079
+ class: "fw-bold"
10080
+ };
10081
+ const _hoisted_4 = {
10082
+ class: "mt-auto"
10083
+ };
10084
+ const _hoisted_5 = {
10085
+ class: "d-flex flex-row"
10086
+ };
10087
+ const _hoisted_6 = {
10088
+ class: "ms-1"
10089
+ };
10090
+ const _hoisted_7 = {
10091
+ class: "d-flex flex-row"
10092
+ };
10093
+ const _hoisted_8 = {
10094
+ class: "ms-1"
10095
+ };
10096
+ const _hoisted_9 = {
10097
+ class: "d-flex flex-row"
10098
+ };
10099
+ const _hoisted_10 = {
10100
+ class: "ms-1"
10101
+ };
10102
+ const _hoisted_11 = {
10103
+ class: "row"
10104
+ };
10105
+ const _hoisted_12 = {
10106
+ class: "col-6"
10107
+ };
10108
+ const _hoisted_13 = {
10109
+ class: "col-6"
10110
+ };
10111
+ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
10112
+ const _component_AuthorizeScopes = vue.resolveComponent("AuthorizeScopes");
10113
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
10114
+ vue.createElementVNode("div", _hoisted_2$1, [
10115
+ _cache[2] || (_cache[2] = vue.createElementVNode("h5", {
10116
+ class: "text-secondary mb-1"
10117
+ }, " Application ", -1)),
10118
+ vue.createElementVNode("h1", _hoisted_3$1, vue.toDisplayString(_ctx.client.name), 1)
10119
+ ]),
10120
+ vue.createVNode(_component_AuthorizeScopes, {
10121
+ client: _ctx.client,
10122
+ "scopes-requested": _ctx.codeRequest.scope,
10123
+ "scopes-available": _ctx.scopes
10124
+ }, null, 8, [
10125
+ "client",
10126
+ "scopes-requested",
10127
+ "scopes-available"
10128
+ ]),
10129
+ vue.createElementVNode("div", _hoisted_4, [
10130
+ vue.createElementVNode("div", _hoisted_5, [
10131
+ _cache[4] || (_cache[4] = vue.createElementVNode("div", null, [
10132
+ vue.createElementVNode("i", {
10133
+ class: "fa-solid fa-link"
10134
+ })
10135
+ ], -1)),
10136
+ vue.createElementVNode("div", _hoisted_6, [
10137
+ vue.createElementVNode("small", null, [
10138
+ _cache[3] || (_cache[3] = vue.createTextVNode(" Once authorized, you will be redirected to: ")),
10139
+ vue.createElementVNode("strong", null, vue.toDisplayString(_ctx.codeRequest.redirect_uri), 1)
10140
+ ])
10141
+ ])
10142
+ ]),
10143
+ vue.createElementVNode("div", _hoisted_7, [
10144
+ _cache[7] || (_cache[7] = vue.createElementVNode("div", null, [
10145
+ vue.createElementVNode("i", {
10146
+ class: "fa fa-solid fa-lock"
10147
+ })
10148
+ ], -1)),
10149
+ vue.createElementVNode("div", _hoisted_8, [
10150
+ vue.createElementVNode("small", null, [
10151
+ _cache[5] || (_cache[5] = vue.createTextVNode(" This application is governed by the ")),
10152
+ vue.createElementVNode("strong", null, vue.toDisplayString(_ctx.client.name), 1),
10153
+ _cache[6] || (_cache[6] = vue.createTextVNode(" application's Privacy Policy and Terms of Service. "))
10154
+ ])
10155
+ ])
10156
+ ]),
10157
+ vue.createElementVNode("div", _hoisted_9, [
10158
+ _cache[8] || (_cache[8] = vue.createElementVNode("div", null, [
10159
+ vue.createElementVNode("i", {
10160
+ class: "fa fa-solid fa-clock"
10161
+ })
10162
+ ], -1)),
10163
+ vue.createElementVNode("div", _hoisted_10, [
10164
+ vue.createElementVNode("small", null, " Active since " + vue.toDisplayString(_ctx.client.created_at), 1)
10165
+ ])
10166
+ ])
10167
+ ]),
10168
+ vue.createElementVNode("div", _hoisted_11, [
10169
+ vue.createElementVNode("div", _hoisted_12, [
10170
+ vue.createElementVNode("button", {
10171
+ type: "button",
10172
+ class: "btn btn-block btn-secondary",
10173
+ onClick: _cache[0] || (_cache[0] = vue.withModifiers((...args)=>_ctx.abort && _ctx.abort(...args), [
10174
+ "prevent"
10175
+ ]))
10176
+ }, " Abort ")
10177
+ ]),
10178
+ vue.createElementVNode("div", _hoisted_13, [
10179
+ vue.createElementVNode("button", {
10180
+ type: "button",
10181
+ class: "btn btn-block btn-primary",
10182
+ onClick: _cache[1] || (_cache[1] = vue.withModifiers((...args)=>_ctx.authorize && _ctx.authorize(...args), [
10183
+ "prevent"
10184
+ ]))
10185
+ }, " Authorize ")
10186
+ ])
10187
+ ])
10188
+ ]);
10189
+ }
10190
+ var AuthorizeForm = /* @__PURE__ */ _export_sfc(_sfc_main$2, [
10191
+ [
10192
+ "render",
10193
+ _sfc_render$1
10194
+ ]
10195
+ ]);
10196
+
10197
+ var _sfc_main$1 = vue.defineComponent({
10198
+ props: {
10199
+ isError: {
10200
+ type: Boolean
10201
+ },
10202
+ message: {
10203
+ type: String,
10204
+ required: true
10205
+ }
10206
+ }
10207
+ });
10208
+
10209
+ const _hoisted_1 = {
10210
+ class: "flex-column"
10211
+ };
10212
+ const _hoisted_2 = {
10213
+ class: "text-center"
10214
+ };
10215
+ const _hoisted_3 = {
10216
+ class: "text-center fs-6 p-3"
10217
+ };
10218
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
10219
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
10220
+ vue.createElementVNode("div", _hoisted_2, [
10221
+ vue.createElementVNode("i", {
10222
+ class: vue.normalizeClass([
10223
+ "fa-solid fa-10x",
10224
+ {
10225
+ "fa-exclamation text-danger": _ctx.isError,
10226
+ "fa-info text-info": !_ctx.isError
10227
+ }
10228
+ ])
10229
+ }, null, 2)
10230
+ ]),
10231
+ vue.createElementVNode("div", _hoisted_3, vue.toDisplayString(_ctx.message), 1)
10232
+ ]);
10233
+ }
10234
+ var AuthorizeText = /* @__PURE__ */ _export_sfc(_sfc_main$1, [
10235
+ [
10236
+ "render",
10237
+ _sfc_render
10238
+ ]
10239
+ ]);
10240
+
10241
+ const wrapChild = (child)=>vue.h('div', {
10242
+ class: 'd-flex align-items-center justify-content-center h-100'
10243
+ }, [
10244
+ vue.h('div', {
10245
+ class: 'authorize'
10246
+ }, [
10247
+ child
10248
+ ])
10249
+ ]);
10250
+ var _sfc_main = vue.defineComponent({
10251
+ components: {
10252
+ AuthorizeText,
10253
+ AuthorizeForm,
10254
+ Login
10255
+ },
10256
+ props: {
10257
+ codeRequest: {
10258
+ type: Object
10259
+ },
10260
+ client: {
10261
+ type: Object
10262
+ },
10263
+ clientId: {
10264
+ type: String
10265
+ },
10266
+ scopes: {
10267
+ type: Array
10268
+ },
10269
+ error: {
10270
+ type: Object
10271
+ }
10272
+ },
10273
+ emits: [
10274
+ 'redirect'
10275
+ ],
10276
+ setup (props) {
10277
+ const httpClient = injectHTTPClient();
10278
+ const store = injectStore();
10279
+ const { loggedIn } = pinia.storeToRefs(store);
10280
+ const error = vue.ref(null);
10281
+ const client = vue.ref(null);
10282
+ const resolve = async ()=>{
10283
+ if (props.error) {
10284
+ error.value = props.error;
10285
+ return;
10286
+ }
10287
+ if (props.client) {
10288
+ client.value = props.client;
10289
+ }
10290
+ if (props.clientId) {
10291
+ try {
10292
+ client.value = await httpClient.client.getOne(props.clientId);
10293
+ } catch (e) {
10294
+ if (e instanceof Error) {
10295
+ error.value = e;
10296
+ }
10297
+ }
10298
+ }
10299
+ };
10300
+ Promise.resolve().then(()=>resolve());
10301
+ return ()=>{
10302
+ if (error.value) {
10303
+ return wrapChild(vue.h(AuthorizeText, {
10304
+ message: error.value.message,
10305
+ isError: true
10306
+ }));
10307
+ }
10308
+ if (!props.codeRequest) {
10309
+ return [];
10310
+ }
10311
+ if (!loggedIn.value) {
10312
+ return wrapChild(vue.h(vue.Suspense, {}, {
10313
+ default: ()=>vue.h(Login, {
10314
+ codeRequest: props.codeRequest
10315
+ }),
10316
+ fallback: ()=>vue.h(AuthorizeText, {
10317
+ message: 'Loading...'
10318
+ })
10319
+ }));
10320
+ }
10321
+ if (!client.value) {
10322
+ return [];
10323
+ }
10324
+ return wrapChild(vue.h(vue.Suspense, {}, {
10325
+ default: ()=>vue.h(AuthorizeForm, {
10326
+ codeRequest: props.codeRequest,
10327
+ client: client.value,
10328
+ scopes: props.scopes
10329
+ }),
10330
+ fallback: ()=>vue.h(AuthorizeText, {
10331
+ message: 'Loading...'
10332
+ })
10333
+ }));
10334
+ };
10335
+ }
10336
+ });
10337
+
9493
10338
  var index = {
9494
10339
  install
9495
10340
  };
9496
10341
 
9497
10342
  exports.AAttributeNamesPolicyForm = AAttributeNamesPolicyForm;
10343
+ exports.AAuthorize = _sfc_main;
10344
+ exports.AAuthorizeText = AuthorizeText;
9498
10345
  exports.AClient = AClient;
9499
10346
  exports.AClientForm = AClientForm;
9500
10347
  exports.AClientPermissionAssignment = AClientPermissionAssignment;
@@ -9524,6 +10371,7 @@ exports.AIdentityProviderProtocol = AIdentityProviderProtocol;
9524
10371
  exports.AIdentityProviderRoleAssignment = AIdentityProviderRoleAssignment;
9525
10372
  exports.AIdentityProviderRoleAssignments = AIdentityProviderRoleAssignments;
9526
10373
  exports.AIdentityProviders = AIdentityProviders;
10374
+ exports.ALogin = Login;
9527
10375
  exports.APagination = APagination;
9528
10376
  exports.APermission = APermission;
9529
10377
  exports.APermissionCheck = APermissionCheck;