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

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 (55) hide show
  1. package/dist/components/entities/client/AClientForm.vue.d.ts +570 -0
  2. package/dist/components/entities/client/AClientForm.vue.d.ts.map +1 -0
  3. package/dist/components/entities/client/index.d.ts +1 -1
  4. package/dist/components/entities/client/index.d.ts.map +1 -1
  5. package/dist/components/entities/identity-provider/AIdentityProviderPicker.vue.d.ts +3 -2
  6. package/dist/components/entities/identity-provider/AIdentityProviderPicker.vue.d.ts.map +1 -1
  7. package/dist/components/entities/policy/APolicyBasicForm.vue.d.ts +3 -2
  8. package/dist/components/entities/policy/APolicyBasicForm.vue.d.ts.map +1 -1
  9. package/dist/components/entities/policy/APolicyForm.vue.d.ts +15 -14
  10. package/dist/components/entities/policy/APolicyForm.vue.d.ts.map +1 -1
  11. package/dist/components/entities/policy/APolicyTypePicker.vue.d.ts +3 -2
  12. package/dist/components/entities/policy/APolicyTypePicker.vue.d.ts.map +1 -1
  13. package/dist/components/entities/policy/attribute-names/AAttributeNamesPolicyForm.vue.d.ts +5 -4
  14. package/dist/components/entities/policy/attribute-names/AAttributeNamesPolicyForm.vue.d.ts.map +1 -1
  15. package/dist/components/entities/policy/composite/ACompositePolicyForm.vue.d.ts +3 -2
  16. package/dist/components/entities/policy/composite/ACompositePolicyForm.vue.d.ts.map +1 -1
  17. package/dist/components/entities/policy/date/ADatePolicyForm.vue.d.ts +3 -2
  18. package/dist/components/entities/policy/date/ADatePolicyForm.vue.d.ts.map +1 -1
  19. package/dist/components/entities/policy/identity/AIdentityPolicyForm.vue.d.ts +5 -4
  20. package/dist/components/entities/policy/identity/AIdentityPolicyForm.vue.d.ts.map +1 -1
  21. package/dist/components/entities/policy/realm-match/ARealmMatchPolicyForm.vue.d.ts +5 -4
  22. package/dist/components/entities/policy/realm-match/ARealmMatchPolicyForm.vue.d.ts.map +1 -1
  23. package/dist/components/entities/policy/time/ATimePolicyForm.vue.d.ts +3 -2
  24. package/dist/components/entities/policy/time/ATimePolicyForm.vue.d.ts.map +1 -1
  25. package/dist/components/entities/user/AUserForm.d.ts.map +1 -1
  26. package/dist/components/utility/form-input-list/AFormInputList.vue.d.ts +5 -4
  27. package/dist/components/utility/form-input-list/AFormInputList.vue.d.ts.map +1 -1
  28. package/dist/components/utility/form-input-list/AFormInputListItem.vue.d.ts +3 -2
  29. package/dist/components/utility/form-input-list/AFormInputListItem.vue.d.ts.map +1 -1
  30. package/dist/components/workflows/Login.vue.d.ts +3 -2
  31. package/dist/components/workflows/Login.vue.d.ts.map +1 -1
  32. package/dist/components/workflows/authorize/Authorize.vue.d.ts +30 -29
  33. package/dist/components/workflows/authorize/Authorize.vue.d.ts.map +1 -1
  34. package/dist/components/workflows/authorize/AuthorizeForm.vue.d.ts +3 -2
  35. package/dist/components/workflows/authorize/AuthorizeForm.vue.d.ts.map +1 -1
  36. package/dist/components/workflows/authorize/AuthorizeScope.vue.d.ts +3 -2
  37. package/dist/components/workflows/authorize/AuthorizeScope.vue.d.ts.map +1 -1
  38. package/dist/components/workflows/authorize/AuthorizeScopes.vue.d.ts +3 -2
  39. package/dist/components/workflows/authorize/AuthorizeScopes.vue.d.ts.map +1 -1
  40. package/dist/components/workflows/authorize/AuthorizeText.vue.d.ts +3 -2
  41. package/dist/components/workflows/authorize/AuthorizeText.vue.d.ts.map +1 -1
  42. package/dist/core/store/create.d.ts +18 -16
  43. package/dist/core/store/create.d.ts.map +1 -1
  44. package/dist/core/translator/constants.d.ts +3 -1
  45. package/dist/core/translator/constants.d.ts.map +1 -1
  46. package/dist/core/translator/de/client.d.ts.map +1 -1
  47. package/dist/core/translator/en/client.d.ts.map +1 -1
  48. package/dist/index.css +11 -11
  49. package/dist/index.mjs +1510 -1823
  50. package/dist/index.mjs.map +1 -1
  51. package/package.json +26 -25
  52. package/dist/components/entities/client/AClientForm.d.ts +0 -43
  53. package/dist/components/entities/client/AClientForm.d.ts.map +0 -1
  54. package/dist/index.cjs +0 -10498
  55. package/dist/index.cjs.map +0 -1
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  import installFormControl, { VCFormGroup, VCFormInput, buildFormSubmit, buildFormInputText, buildFormGroup, buildFormInput, buildFormTextarea, buildFormInputCheckbox, VCFormInputCheckbox } from '@vuecs/form-controls';
2
2
  import { hasOwnProperty, isObject as isObject$1, merge, createMerger } from 'smob';
3
- import { hasInjectionContext, inject as inject$3, provide as provide$2, defineComponent, reactive, resolveComponent, createBlock, openBlock, withCtx, createVNode, createElementVNode, withModifiers, ref, computed, getCurrentScope, onScopeDispose, shallowRef, toRaw, isRef, isReactive, toRef, watchEffect, unref, onMounted, watch, onUnmounted, h, createElementBlock, renderSlot, createTextVNode, createCommentVNode, Fragment, renderList, mergeProps, getCurrentInstance, resolveDynamicComponent, nextTick, normalizeClass, toDisplayString, Suspense } from 'vue';
3
+ import { hasInjectionContext, inject as inject$3, provide as provide$2, defineComponent, reactive, resolveComponent, createBlock, openBlock, withCtx, createVNode, createElementVNode, withModifiers, ref, computed, getCurrentScope, onScopeDispose, shallowRef, toRaw, isRef, isReactive, toRef, watchEffect, unref, onMounted, watch, onUnmounted, h, createElementBlock, renderSlot, createTextVNode, createCommentVNode, Fragment, renderList, mergeProps, getCurrentInstance, resolveDynamicComponent, toDisplayString, nextTick, normalizeClass, Suspense } from 'vue';
4
4
  import installPagination, { buildPagination as buildPagination$1 } from '@vuecs/pagination';
5
- import { REALM_MASTER_NAME, EntityDefaultEventName, buildEntityChannelName, EntityType, IdentityProviderProtocol, IdentityProviderPreset, getIdentityProviderProtocolForPreset } from '@authup/core-kit';
5
+ import { REALM_MASTER_NAME, EntityDefaultEventName, buildEntityChannelName, EntityType, IdentityProviderProtocol, IdentityProviderPreset, getIdentityProviderProtocolForPreset, isUserFakeEmail, buildUserFakeEmail } from '@authup/core-kit';
6
6
  import { IVuelidate, useTranslationsForNestedValidations, useTranslationsForBaseValidation as useTranslationsForBaseValidation$1, getSeverity, install as install$1 } from '@ilingo/vuelidate';
7
7
  import useVuelidate from '@vuelidate/core';
8
8
  import { maxLength, minLength, required, helpers, numeric, url, maxValue, minValue, email, sameAs } from '@vuelidate/validators';
@@ -11,7 +11,7 @@ import { Client, CookieName, ClientAuthenticationHook, ClientAuthenticationHookE
11
11
  import { defineStore, storeToRefs as storeToRefs$1 } from 'pinia';
12
12
  import { PermissionMemoryProvider, PermissionChecker, PolicyEngine, TimePolicyInterval, isIntervalForDayOfWeek, isIntervalForDayOfMonth, isIntervalForDayOfYear, BuiltInPolicyType } from '@authup/access';
13
13
  import { OAuth2Error, isOpenIDProviderMetadata, deserializeOAuth2Scope } from '@authup/specs';
14
- import { hasOwnProperty as hasOwnProperty$1, extendObject, isObject as isObject$2, createNanoID, base64URLEncode } from '@authup/kit';
14
+ import { hasOwnProperty as hasOwnProperty$1, extendObject, isObject as isObject$2, createNanoID, isBCryptHash, base64URLEncode } from '@authup/kit';
15
15
  import { SortDirection } from 'rapiq';
16
16
  import { ClientManager, buildEventFullName, EventNameSuffix } from '@authup/core-realtime-kit';
17
17
  import Cookie from 'universal-cookie';
@@ -49,6 +49,7 @@ import Cookie from 'universal-cookie';
49
49
  }
50
50
  return result;
51
51
  }
52
+
52
53
  /*
53
54
  * Copyright (c) 2024.
54
55
  * Author Peter Placzek (tada5hi)
@@ -59,6 +60,7 @@ import Cookie from 'universal-cookie';
59
60
  Character["WILDCARD"] = "*";
60
61
  Character["GLOBSTAR"] = "**";
61
62
  })(Character || (Character = {}));
63
+
62
64
  /*
63
65
  * Copyright (c) 2024.
64
66
  * Author Peter Placzek (tada5hi)
@@ -67,6 +69,7 @@ import Cookie from 'universal-cookie';
67
69
  */ function isObject(input) {
68
70
  return !!input && typeof input === 'object' && !Array.isArray(input);
69
71
  }
72
+
70
73
  function getPathValue(data, path) {
71
74
  const parts = Array.isArray(path) ? path : pathToArray(path);
72
75
  let res;
@@ -90,6 +93,7 @@ function getPathValue(data, path) {
90
93
  }
91
94
  return res;
92
95
  }
96
+
93
97
  const NUMBER_REGEX = /^\d+$/;
94
98
  function setPathValue(data, path, value) {
95
99
  const parts = Array.isArray(path) ? path : pathToArray(path);
@@ -163,6 +167,7 @@ class Store {
163
167
  this.data = {};
164
168
  }
165
169
  }
170
+
166
171
  class StoreManager {
167
172
  keys() {
168
173
  return Object.keys(this.instances);
@@ -178,6 +183,7 @@ class StoreManager {
178
183
  this.instances = {};
179
184
  }
180
185
  }
186
+
181
187
  function inject$2(key, instance) {
182
188
  if (instance && instance._context && instance._context.provides && instance._context.provides[key]) {
183
189
  return instance._context.provides[key];
@@ -187,6 +193,7 @@ function inject$2(key, instance) {
187
193
  }
188
194
  return undefined;
189
195
  }
196
+
190
197
  function provide$1(key, value, app) {
191
198
  if (typeof app === 'undefined') {
192
199
  const val = inject$2(key);
@@ -201,6 +208,7 @@ function provide$1(key, value, app) {
201
208
  }
202
209
  app.provide(key, value);
203
210
  }
211
+
204
212
  function getSymbol(key) {
205
213
  return Symbol.for('VCStoreManager');
206
214
  }
@@ -215,7 +223,7 @@ function installStoreManager(instance, key) {
215
223
  return manager;
216
224
  }
217
225
 
218
- var _sfc_main$h = defineComponent({
226
+ var _sfc_main$i = defineComponent({
219
227
  components: {
220
228
  IVuelidate,
221
229
  VCFormInput,
@@ -268,64 +276,45 @@ var _export_sfc = (sfc, props) => {
268
276
  return target;
269
277
  };
270
278
 
271
- const _hoisted_1$c = [
272
- "disabled"
273
- ];
274
- function _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) {
275
- const _component_VCFormInput = resolveComponent("VCFormInput");
276
- const _component_VCFormGroup = resolveComponent("VCFormGroup");
277
- const _component_IVuelidate = resolveComponent("IVuelidate");
278
- return openBlock(), createBlock(_component_IVuelidate, {
279
- validation: _ctx.vuelidate.name
280
- }, {
281
- default: withCtx((props)=>[
282
- createVNode(_component_VCFormGroup, {
283
- "validation-messages": props.data,
284
- "validation-severity": props.severity
285
- }, {
286
- default: withCtx(()=>[
287
- createVNode(_component_VCFormInput, {
288
- modelValue: _ctx.vuelidate.name.$model,
289
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event)=>_ctx.vuelidate.name.$model = $event),
290
- onChange: _ctx.handleUpdated
291
- }, {
292
- groupAppend: withCtx(()=>[
293
- createElementVNode("button", {
294
- disabled: _ctx.disabled,
295
- type: "button",
296
- class: "btn btn-xs btn-warning",
297
- onClick: _cache[0] || (_cache[0] = withModifiers((...args)=>_ctx.handleDeleted && _ctx.handleDeleted(...args), [
298
- "prevent"
299
- ]))
300
- }, _cache[2] || (_cache[2] = [
301
- createElementVNode("i", {
302
- class: "fa fa-minus"
303
- }, null, -1)
304
- ]), 8, _hoisted_1$c)
305
- ]),
306
- _: 1
307
- }, 8, [
308
- "modelValue",
309
- "onChange"
310
- ])
311
- ]),
312
- _: 2
313
- }, 1032, [
314
- "validation-messages",
315
- "validation-severity"
316
- ])
279
+ const _hoisted_1$d = ["disabled"];
280
+ function _sfc_render$h(_ctx, _cache, $props, $setup, $data, $options) {
281
+ const _component_VCFormInput = resolveComponent("VCFormInput");
282
+ const _component_VCFormGroup = resolveComponent("VCFormGroup");
283
+ const _component_IVuelidate = resolveComponent("IVuelidate");
284
+ return openBlock(), createBlock(_component_IVuelidate, {
285
+ validation: _ctx.vuelidate.name
286
+ }, {
287
+ default: withCtx((props) => [
288
+ createVNode(_component_VCFormGroup, {
289
+ "validation-messages": props.data,
290
+ "validation-severity": props.severity
291
+ }, {
292
+ default: withCtx(() => [
293
+ createVNode(_component_VCFormInput, {
294
+ modelValue: _ctx.vuelidate.name.$model,
295
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.vuelidate.name.$model = $event),
296
+ onChange: _ctx.handleUpdated
297
+ }, {
298
+ groupAppend: withCtx(() => [
299
+ createElementVNode("button", {
300
+ disabled: _ctx.disabled,
301
+ type: "button",
302
+ class: "btn btn-xs btn-warning",
303
+ onClick: _cache[0] || (_cache[0] = withModifiers((...args) => _ctx.handleDeleted && _ctx.handleDeleted(...args), ["prevent"]))
304
+ }, [..._cache[2] || (_cache[2] = [
305
+ createElementVNode("i", { class: "fa fa-minus" }, null, -1)
306
+ ])], 8, _hoisted_1$d)
317
307
  ]),
308
+ _: 1
309
+ }, 8, ["modelValue", "onChange"])
310
+ ]),
318
311
  _: 1
319
- }, 8, [
320
- "validation"
321
- ]);
312
+ }, 8, ["validation-messages", "validation-severity"])
313
+ ]),
314
+ _: 1
315
+ }, 8, ["validation"]);
322
316
  }
323
- var AFormInputListItem = /* @__PURE__ */ _export_sfc(_sfc_main$h, [
324
- [
325
- "render",
326
- _sfc_render$g
327
- ]
328
- ]);
317
+ var AFormInputListItem = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["render", _sfc_render$h]]);
329
318
 
330
319
  function inject$1(key, instance) {
331
320
  if (instance && instance._context && instance._context.provides && instance._context.provides[key]) {
@@ -401,28 +390,35 @@ function provideHTTPClientAuthenticationHook(refresher, app) {
401
390
 
402
391
  // src/event-emitter.ts
403
392
  var EventEmitter = class {
404
- on(type, handler) {
405
- if (!this.all.has(type)) {
406
- this.all.set(type, []);
407
- }
408
- const handlers = this.all.get(type);
409
- handlers.push(handler);
410
- return ()=>handlers.splice(handlers.indexOf(handler) >>> 0, 1);
411
- }
412
- off(type, handler) {
413
- if (!type) {
414
- return this.all.clear();
415
- }
416
- const handlers = this.all.get(type);
417
- if (handlers) {
418
- if (handler) {
419
- handlers.splice(handlers.indexOf(handler) >>> 0, 1);
420
- } else {
421
- this.all.delete(type);
422
- }
423
- }
393
+ /**
394
+ * A Map of event names to registered handler functions.
395
+ */
396
+ all;
397
+ constructor(all) {
398
+ this.all = all || /* @__PURE__ */ new Map();
399
+ }
400
+ on(type, handler) {
401
+ if (!this.all.has(type)) {
402
+ this.all.set(type, []);
424
403
  }
425
- /**
404
+ const handlers = this.all.get(type);
405
+ handlers.push(handler);
406
+ return () => handlers.splice(handlers.indexOf(handler) >>> 0, 1);
407
+ }
408
+ off(type, handler) {
409
+ if (!type) {
410
+ return this.all.clear();
411
+ }
412
+ const handlers = this.all.get(type);
413
+ if (handlers) {
414
+ if (handler) {
415
+ handlers.splice(handlers.indexOf(handler) >>> 0, 1);
416
+ } else {
417
+ this.all.delete(type);
418
+ }
419
+ }
420
+ }
421
+ /**
426
422
  * Invoke all handlers for the given type.
427
423
  * If present, `'*'` handlers are invoked after type-matched handlers.
428
424
  *
@@ -430,21 +426,19 @@ var EventEmitter = class {
430
426
  *
431
427
  * @param type The event type to invoke
432
428
  * @param payload Any value to each handler
433
- */ emit(type, ...payload) {
434
- let handlers = this.all.get(type);
435
- handlers?.slice().map((handler)=>{
436
- handler(...payload);
437
- });
438
- handlers = this.all.get("*");
439
- if (handlers) {
440
- handlers.slice().map((handler)=>{
441
- handler(type, payload);
442
- });
443
- }
444
- }
445
- constructor(all){
446
- this.all = all || /* @__PURE__ */ new Map();
429
+ */
430
+ emit(type, ...payload) {
431
+ let handlers = this.all.get(type);
432
+ handlers?.slice().map((handler) => {
433
+ handler(...payload);
434
+ });
435
+ handlers = this.all.get("*");
436
+ if (handlers) {
437
+ handlers.slice().map((handler) => {
438
+ handler(type, payload);
439
+ });
447
440
  }
441
+ }
448
442
  };
449
443
 
450
444
  function createStoreDispatcher() {
@@ -729,69 +723,77 @@ function createStore(context) {
729
723
  };
730
724
  }
731
725
 
732
- function tryOnScopeDispose(fn) {
733
- if (getCurrentScope()) {
734
- onScopeDispose(fn);
735
- return true;
736
- }
737
- return false;
726
+ //#endregion
727
+ //#region tryOnScopeDispose/index.ts
728
+ /**
729
+ * Call onScopeDispose() if it's inside an effect scope lifecycle, if not, do nothing
730
+ *
731
+ * @param fn
732
+ */
733
+ function tryOnScopeDispose(fn, failSilently) {
734
+ if (getCurrentScope()) {
735
+ onScopeDispose(fn, failSilently);
736
+ return true;
737
+ }
738
+ return false;
738
739
  }
739
740
  typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
740
- const noop = ()=>{};
741
741
 
742
+ /**
743
+ * Reactive methods to work with cookies (use {@link createCookies} method instead if you are using SSR)
744
+ * @param dependencies - array of watching cookie's names. Pass empty array if don't want to watch cookies changes.
745
+ * @param options
746
+ * @param options.doNotParse - don't try parse value as JSON
747
+ * @param options.autoUpdateDependencies - automatically update watching dependencies
748
+ * @param cookies - universal-cookie instance
749
+ *
750
+ * @__NO_SIDE_EFFECTS__
751
+ */
742
752
  function useCookies(dependencies, { doNotParse = false, autoUpdateDependencies = false } = {}, cookies = new Cookie()) {
743
- const watchingDependencies = autoUpdateDependencies ? [
744
- ...[]
745
- ] : dependencies;
746
- let previousCookies = cookies.getAll({
747
- doNotParse: true
748
- });
749
- const touches = shallowRef(0);
750
- const onChange = ()=>{
751
- const newCookies = cookies.getAll({
752
- doNotParse: true
753
- });
754
- if (shouldUpdate(watchingDependencies || null, newCookies, previousCookies)) {
755
- touches.value++;
756
- }
757
- previousCookies = newCookies;
758
- };
759
- cookies.addChangeListener(onChange);
760
- tryOnScopeDispose(()=>{
761
- cookies.removeChangeListener(onChange);
762
- });
763
- return {
764
- /**
765
- * Reactive get cookie by name. If **autoUpdateDependencies = true** then it will update watching dependencies
766
- */ get: (...args)=>{
767
- if (autoUpdateDependencies && watchingDependencies && !watchingDependencies.includes(args[0])) watchingDependencies.push(args[0]);
768
- touches.value;
769
- return cookies.get(args[0], {
770
- doNotParse,
771
- ...args[1]
772
- });
773
- },
774
- /**
775
- * Reactive get all cookies
776
- */ getAll: (...args)=>{
777
- touches.value;
778
- return cookies.getAll({
779
- doNotParse,
780
- ...args[0]
781
- });
782
- },
783
- set: (...args)=>cookies.set(...args),
784
- remove: (...args)=>cookies.remove(...args),
785
- addChangeListener: (...args)=>cookies.addChangeListener(...args),
786
- removeChangeListener: (...args)=>cookies.removeChangeListener(...args)
787
- };
753
+ const watchingDependencies = autoUpdateDependencies ? [...[]] : dependencies;
754
+ let previousCookies = cookies.getAll({ doNotParse: true });
755
+ /**
756
+ * Adds reactivity to get/getAll methods
757
+ */
758
+ const touches = shallowRef(0);
759
+ const onChange = () => {
760
+ const newCookies = cookies.getAll({ doNotParse: true });
761
+ if (shouldUpdate(watchingDependencies || null, newCookies, previousCookies)) touches.value++;
762
+ previousCookies = newCookies;
763
+ };
764
+ cookies.addChangeListener(onChange);
765
+ tryOnScopeDispose(() => {
766
+ cookies.removeChangeListener(onChange);
767
+ });
768
+ return {
769
+ get: (...args) => {
770
+ /**
771
+ * Auto update watching dependencies if needed
772
+ */
773
+ if (autoUpdateDependencies && watchingDependencies && !watchingDependencies.includes(args[0])) watchingDependencies.push(args[0]);
774
+ touches.value;
775
+ return cookies.get(args[0], {
776
+ doNotParse,
777
+ ...args[1]
778
+ });
779
+ },
780
+ getAll: (...args) => {
781
+ touches.value;
782
+ return cookies.getAll({
783
+ doNotParse,
784
+ ...args[0]
785
+ });
786
+ },
787
+ set: (...args) => cookies.set(...args),
788
+ remove: (...args) => cookies.remove(...args),
789
+ addChangeListener: (...args) => cookies.addChangeListener(...args),
790
+ removeChangeListener: (...args) => cookies.removeChangeListener(...args)
791
+ };
788
792
  }
789
793
  function shouldUpdate(dependencies, newCookies, oldCookies) {
790
- if (!dependencies) return true;
791
- for (const dependency of dependencies){
792
- if (newCookies[dependency] !== oldCookies[dependency]) return true;
793
- }
794
- return false;
794
+ if (!dependencies) return true;
795
+ for (const dependency of dependencies) if (newCookies[dependency] !== oldCookies[dependency]) return true;
796
+ return false;
795
797
  }
796
798
 
797
799
  const sym = Symbol.for('AuthupStore');
@@ -1103,6 +1105,8 @@ var TranslatorTranslationClientKey = /*#__PURE__*/ function(TranslatorTranslatio
1103
1105
  TranslatorTranslationClientKey["DESCRIPTION_HINT"] = "descriptionHint";
1104
1106
  TranslatorTranslationClientKey["REDIRECT_URI_HINT"] = "redirectURIHint";
1105
1107
  TranslatorTranslationClientKey["IS_CONFIDENTIAL"] = "isConfidential";
1108
+ TranslatorTranslationClientKey["IS_ACTIVE"] = "isActive";
1109
+ TranslatorTranslationClientKey["HASH_SECRET"] = "hashSecret";
1106
1110
  return TranslatorTranslationClientKey;
1107
1111
  }({});
1108
1112
  var TranslatorTranslationDefaultKey = /*#__PURE__*/ function(TranslatorTranslationDefaultKey) {
@@ -1172,54 +1176,68 @@ class MemoryStore {
1172
1176
  }
1173
1177
  }
1174
1178
 
1179
+ typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
1180
+ const noop = () => {
1181
+ };
1182
+
1175
1183
  function computedAsync(evaluationCallback, initialState, optionsOrRef) {
1176
- let options;
1177
- if (isRef(optionsOrRef)) {
1178
- options = {
1179
- evaluating: optionsOrRef
1180
- };
1181
- } else {
1182
- options = {};
1183
- }
1184
- const { lazy = false, flush = "pre", evaluating = void 0, shallow = true, onError = noop } = options;
1185
- const started = shallowRef(!lazy);
1186
- const current = shallow ? shallowRef(initialState) : ref(initialState);
1187
- let counter = 0;
1188
- watchEffect(async (onInvalidate)=>{
1189
- if (!started.value) return;
1190
- counter++;
1191
- const counterAtBeginning = counter;
1192
- let hasFinished = false;
1193
- if (evaluating) {
1194
- Promise.resolve().then(()=>{
1195
- evaluating.value = true;
1196
- });
1197
- }
1198
- try {
1199
- const result = await evaluationCallback((cancelCallback)=>{
1200
- onInvalidate(()=>{
1201
- if (evaluating) evaluating.value = false;
1202
- if (!hasFinished) cancelCallback();
1203
- });
1204
- });
1205
- if (counterAtBeginning === counter) current.value = result;
1206
- } catch (e) {
1207
- onError(e);
1208
- } finally{
1209
- if (evaluating && counterAtBeginning === counter) evaluating.value = false;
1210
- hasFinished = true;
1211
- }
1212
- }, {
1213
- flush
1214
- });
1215
- if (lazy) {
1216
- return computed(()=>{
1217
- started.value = true;
1218
- return current.value;
1219
- });
1220
- } else {
1221
- return current;
1184
+ var _a;
1185
+ let options;
1186
+ if (isRef(optionsOrRef)) {
1187
+ options = {
1188
+ evaluating: optionsOrRef
1189
+ };
1190
+ } else {
1191
+ options = {};
1192
+ }
1193
+ const {
1194
+ lazy = false,
1195
+ flush = "pre",
1196
+ evaluating = void 0,
1197
+ shallow = true,
1198
+ onError = (_a = globalThis.reportError) != null ? _a : noop
1199
+ } = options;
1200
+ const started = shallowRef(!lazy);
1201
+ const current = shallow ? shallowRef(initialState) : ref(initialState);
1202
+ let counter = 0;
1203
+ watchEffect(async (onInvalidate) => {
1204
+ if (!started.value)
1205
+ return;
1206
+ counter++;
1207
+ const counterAtBeginning = counter;
1208
+ let hasFinished = false;
1209
+ if (evaluating) {
1210
+ Promise.resolve().then(() => {
1211
+ evaluating.value = true;
1212
+ });
1222
1213
  }
1214
+ try {
1215
+ const result = await evaluationCallback((cancelCallback) => {
1216
+ onInvalidate(() => {
1217
+ if (evaluating)
1218
+ evaluating.value = false;
1219
+ if (!hasFinished)
1220
+ cancelCallback();
1221
+ });
1222
+ });
1223
+ if (counterAtBeginning === counter)
1224
+ current.value = result;
1225
+ } catch (e) {
1226
+ onError(e);
1227
+ } finally {
1228
+ if (evaluating && counterAtBeginning === counter)
1229
+ evaluating.value = false;
1230
+ hasFinished = true;
1231
+ }
1232
+ }, { flush });
1233
+ if (lazy) {
1234
+ return computed(() => {
1235
+ started.value = true;
1236
+ return current.value;
1237
+ });
1238
+ } else {
1239
+ return current;
1240
+ }
1223
1241
  }
1224
1242
 
1225
1243
  function inject(key, instance) {
@@ -1228,6 +1246,7 @@ function inject(key, instance) {
1228
1246
  }
1229
1247
  return undefined;
1230
1248
  }
1249
+
1231
1250
  const IlingoSymbol = Symbol.for('Ilingo');
1232
1251
  function injectIlingo(app) {
1233
1252
  const instance = inject(IlingoSymbol);
@@ -1236,6 +1255,7 @@ function injectIlingo(app) {
1236
1255
  }
1237
1256
  return instance;
1238
1257
  }
1258
+
1239
1259
  const LocaleSymbol = Symbol.for('ILocale');
1240
1260
  function injectLocale(app) {
1241
1261
  const locale = inject(LocaleSymbol);
@@ -1244,6 +1264,7 @@ function injectLocale(app) {
1244
1264
  }
1245
1265
  return locale;
1246
1266
  }
1267
+
1247
1268
  function extractReactiveData(input) {
1248
1269
  const output = {};
1249
1270
  const keys = Object.keys(input);
@@ -1252,6 +1273,7 @@ function extractReactiveData(input) {
1252
1273
  }
1253
1274
  return output;
1254
1275
  }
1276
+
1255
1277
  function useTranslation$1(ctx) {
1256
1278
  const instance = injectIlingo();
1257
1279
  const locale = injectLocale();
@@ -1266,6 +1288,7 @@ function useTranslation$1(ctx) {
1266
1288
  return value || defaultValue;
1267
1289
  }, defaultValue);
1268
1290
  }
1291
+
1269
1292
  defineComponent({
1270
1293
  props: {
1271
1294
  path: {
@@ -1329,7 +1352,9 @@ const TranslatorTranslationClientGerman = {
1329
1352
  [TranslatorTranslationClientKey.NAME_HINT]: 'Etwas, das Benutzer erkennen und vertrauen werden',
1330
1353
  [TranslatorTranslationClientKey.DESCRIPTION_HINT]: 'Dies wird allen Benutzern dieser Anwendung angezeigt',
1331
1354
  [TranslatorTranslationClientKey.REDIRECT_URI_HINT]: 'URI-Muster, zu dem ein Browser nach einem erfolgreichen Login weiterleiten kann',
1332
- [TranslatorTranslationClientKey.IS_CONFIDENTIAL]: 'Ist vertraulich?'
1355
+ [TranslatorTranslationClientKey.IS_CONFIDENTIAL]: 'Ist vertraulich?',
1356
+ [TranslatorTranslationClientKey.IS_ACTIVE]: 'Ist aktiv?',
1357
+ [TranslatorTranslationClientKey.HASH_SECRET]: 'Geheimnis hashen?'
1333
1358
  };
1334
1359
 
1335
1360
  const TranslatorTranslationDefaultGerman = {
@@ -1406,7 +1431,9 @@ const TranslatorTranslationClientEnglish = {
1406
1431
  [TranslatorTranslationClientKey.NAME_HINT]: 'Something users will recognize and trust',
1407
1432
  [TranslatorTranslationClientKey.DESCRIPTION_HINT]: 'Displayed to all users of this application',
1408
1433
  [TranslatorTranslationClientKey.REDIRECT_URI_HINT]: 'URI pattern a browser can redirect to after a successful login',
1409
- [TranslatorTranslationClientKey.IS_CONFIDENTIAL]: 'Is confidential?'
1434
+ [TranslatorTranslationClientKey.IS_CONFIDENTIAL]: 'Is confidential?',
1435
+ [TranslatorTranslationClientKey.IS_ACTIVE]: 'Is active?',
1436
+ [TranslatorTranslationClientKey.HASH_SECRET]: 'Hash secret?'
1410
1437
  };
1411
1438
 
1412
1439
  const TranslatorTranslationDefaultEnglish = {
@@ -1689,7 +1716,7 @@ const ATranslationDefault = defineComponent({
1689
1716
  }
1690
1717
  });
1691
1718
 
1692
- var _sfc_main$g = defineComponent({
1719
+ var _sfc_main$h = defineComponent({
1693
1720
  components: {
1694
1721
  ATranslationDefault,
1695
1722
  AFormInputListItem
@@ -1768,95 +1795,63 @@ var _sfc_main$g = defineComponent({
1768
1795
  }
1769
1796
  });
1770
1797
 
1771
- const _hoisted_1$b = {
1772
- class: "d-flex flex-column gap-2"
1773
- };
1774
- const _hoisted_2$a = {
1775
- class: "d-flex flex-row"
1776
- };
1777
- const _hoisted_3$8 = {
1778
- class: "align-self-end"
1779
- };
1780
- const _hoisted_4$6 = {
1781
- class: "ms-auto"
1782
- };
1783
- const _hoisted_5$3 = [
1784
- "disabled"
1785
- ];
1786
- const _hoisted_6$2 = {
1787
- class: "d-flex flex-column gap-1"
1788
- };
1789
- function _sfc_render$f(_ctx, _cache, $props, $setup, $data, $options) {
1790
- const _component_ATranslationDefault = resolveComponent("ATranslationDefault");
1791
- const _component_AFormInputListItem = resolveComponent("AFormInputListItem");
1792
- return openBlock(), createElementBlock("div", _hoisted_1$b, [
1793
- createElementVNode("div", _hoisted_2$a, [
1794
- createElementVNode("div", _hoisted_3$8, [
1795
- renderSlot(_ctx.$slots, "label", {}, ()=>[
1796
- _cache[1] || (_cache[1] = createTextVNode(" Names "))
1797
- ])
1798
- ]),
1799
- createElementVNode("div", _hoisted_4$6, [
1800
- createElementVNode("button", {
1801
- class: "btn btn-xs btn-primary",
1802
- type: "button",
1803
- disabled: !_ctx.canAdd,
1804
- onClick: _cache[0] || (_cache[0] = withModifiers(($event)=>_ctx.add(), [
1805
- "prevent"
1806
- ]))
1807
- }, [
1808
- _cache[2] || (_cache[2] = createElementVNode("i", {
1809
- class: "fa fa-plus"
1810
- }, null, -1)),
1811
- _cache[3] || (_cache[3] = createTextVNode()),
1812
- createVNode(_component_ATranslationDefault, {
1813
- name: "add"
1814
- })
1815
- ], 8, _hoisted_5$3)
1816
- ])
1817
- ]),
1818
- createElementVNode("div", _hoisted_6$2, [
1819
- _ctx.items.length === 0 ? renderSlot(_ctx.$slots, "noItems", {
1820
- key: 0
1821
- }, ()=>[
1822
- _cache[4] || (_cache[4] = createElementVNode("div", {
1823
- class: "alert alert-sm alert-info"
1824
- }, " The form list has no items yet ", -1))
1825
- ]) : createCommentVNode("", true),
1826
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item)=>{
1827
- return renderSlot(_ctx.$slots, "default", {
1828
- key: item.id,
1829
- item,
1830
- updated: _ctx.handleUpdated,
1831
- deleted: _ctx.handleDeleted
1832
- }, ()=>[
1833
- (openBlock(), createBlock(_component_AFormInputListItem, {
1834
- key: item.id,
1835
- disabled: !_ctx.canDrop,
1836
- name: item.value,
1837
- onUpdated: (input)=>{
1838
- _ctx.handleUpdated(item.id, input);
1839
- },
1840
- onDeleted: ()=>{
1841
- _ctx.handleDeleted(item.id);
1842
- }
1843
- }, null, 8, [
1844
- "disabled",
1845
- "name",
1846
- "onUpdated",
1847
- "onDeleted"
1848
- ]))
1849
- ]);
1850
- }), 128))
1798
+ const _hoisted_1$c = { class: "d-flex flex-column gap-2" };
1799
+ const _hoisted_2$b = { class: "d-flex flex-row" };
1800
+ const _hoisted_3$9 = { class: "align-self-end" };
1801
+ const _hoisted_4$7 = { class: "ms-auto" };
1802
+ const _hoisted_5$4 = ["disabled"];
1803
+ const _hoisted_6$3 = { class: "d-flex flex-column gap-1" };
1804
+ function _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) {
1805
+ const _component_ATranslationDefault = resolveComponent("ATranslationDefault");
1806
+ const _component_AFormInputListItem = resolveComponent("AFormInputListItem");
1807
+ return openBlock(), createElementBlock("div", _hoisted_1$c, [
1808
+ createElementVNode("div", _hoisted_2$b, [
1809
+ createElementVNode("div", _hoisted_3$9, [
1810
+ renderSlot(_ctx.$slots, "label", {}, () => [
1811
+ _cache[1] || (_cache[1] = createTextVNode(" Names ", -1))
1851
1812
  ])
1852
- ]);
1813
+ ]),
1814
+ createElementVNode("div", _hoisted_4$7, [
1815
+ createElementVNode("button", {
1816
+ class: "btn btn-xs btn-primary",
1817
+ type: "button",
1818
+ disabled: !_ctx.canAdd,
1819
+ onClick: _cache[0] || (_cache[0] = withModifiers(($event) => _ctx.add(), ["prevent"]))
1820
+ }, [
1821
+ _cache[2] || (_cache[2] = createElementVNode("i", { class: "fa fa-plus" }, null, -1)),
1822
+ _cache[3] || (_cache[3] = createTextVNode()),
1823
+ createVNode(_component_ATranslationDefault, { name: "add" })
1824
+ ], 8, _hoisted_5$4)
1825
+ ])
1826
+ ]),
1827
+ createElementVNode("div", _hoisted_6$3, [
1828
+ _ctx.items.length === 0 ? renderSlot(_ctx.$slots, "noItems", { key: 0 }, () => [
1829
+ _cache[4] || (_cache[4] = createElementVNode("div", { class: "alert alert-sm alert-info" }, " The form list has no items yet ", -1))
1830
+ ]) : createCommentVNode("", true),
1831
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item) => {
1832
+ return renderSlot(_ctx.$slots, "default", {
1833
+ key: item.id,
1834
+ item,
1835
+ updated: _ctx.handleUpdated,
1836
+ deleted: _ctx.handleDeleted
1837
+ }, () => [
1838
+ (openBlock(), createBlock(_component_AFormInputListItem, {
1839
+ key: item.id,
1840
+ disabled: !_ctx.canDrop,
1841
+ name: item.value,
1842
+ onUpdated: (input) => {
1843
+ _ctx.handleUpdated(item.id, input);
1844
+ },
1845
+ onDeleted: () => {
1846
+ _ctx.handleDeleted(item.id);
1847
+ }
1848
+ }, null, 8, ["disabled", "name", "onUpdated", "onDeleted"]))
1849
+ ]);
1850
+ }), 128))
1851
+ ])
1852
+ ]);
1853
1853
  }
1854
- var AFormInputList = /* @__PURE__ */ _export_sfc(_sfc_main$g, [
1855
- [
1856
- "render",
1857
- _sfc_render$f
1858
- ]
1859
- ]);
1854
+ var AFormInputList = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["render", _sfc_render$g]]);
1860
1855
 
1861
1856
  function buildPagination(ctx) {
1862
1857
  return buildPagination$1({
@@ -3540,8 +3535,8 @@ const ARealmForm = defineComponent({
3540
3535
 
3541
3536
  const ARealms = defineComponent({
3542
3537
  props: defineEntityCollectionVProps(),
3543
- slots: Object,
3544
3538
  emits: defineEntityCollectionVEmitOptions(),
3539
+ slots: Object,
3545
3540
  setup (props, ctx) {
3546
3541
  const { render } = defineEntityCollectionManager({
3547
3542
  type: `${EntityType.REALM}`,
@@ -3581,7 +3576,13 @@ const ARealmPicker = defineComponent({
3581
3576
  }
3582
3577
  });
3583
3578
 
3584
- const AClientForm = defineComponent({
3579
+ var _sfc_main$g = defineComponent({
3580
+ components: {
3581
+ AFormSubmit,
3582
+ ARealmPicker,
3583
+ AFormInputList,
3584
+ IVuelidate
3585
+ },
3585
3586
  props: {
3586
3587
  name: {
3587
3588
  type: String,
@@ -3598,8 +3599,8 @@ const AClientForm = defineComponent({
3598
3599
  },
3599
3600
  emits: defineEntityVEmitOptions(),
3600
3601
  setup (props, ctx) {
3601
- const busy = ref(false);
3602
3602
  const form = reactive({
3603
+ active: true,
3603
3604
  name: '',
3604
3605
  display_name: '',
3605
3606
  description: '',
@@ -3607,10 +3608,14 @@ const AClientForm = defineComponent({
3607
3608
  redirect_uri: '',
3608
3609
  base_url: '',
3609
3610
  root_url: '',
3610
- is_confidential: false,
3611
- secret: ''
3611
+ is_confidential: true,
3612
+ secret: '',
3613
+ secret_hashed: false
3612
3614
  });
3613
- const $v = useVuelidate({
3615
+ const vuelidate = useVuelidate({
3616
+ active: {
3617
+ required
3618
+ },
3614
3619
  name: {
3615
3620
  required,
3616
3621
  [VuelidateCustomRuleKey.ALPHA_UPPER_NUM_HYPHEN_UNDERSCORE_DOT]: VuelidateCustomRule[VuelidateCustomRuleKey.ALPHA_UPPER_NUM_HYPHEN_UNDERSCORE_DOT],
@@ -3636,7 +3641,8 @@ const AClientForm = defineComponent({
3636
3641
  secret: {
3637
3642
  minLength: minLength(3),
3638
3643
  maxLength: maxLength(256)
3639
- }
3644
+ },
3645
+ secret_hashed: {}
3640
3646
  }, form);
3641
3647
  const store = injectStore();
3642
3648
  const storeRefs = storeToRefs(store);
@@ -3648,27 +3654,33 @@ const AClientForm = defineComponent({
3648
3654
  const isEditing = useIsEditing(manager.data);
3649
3655
  const updatedAt = useUpdatedAt(props.entity);
3650
3656
  const isNameFixed = computed(()=>!!props.name && props.name.length > 0);
3651
- const realmId = computed(()=>{
3652
- if (!storeRefs.realmIsRoot) {
3653
- return storeRefs.realmId.value;
3657
+ const realmId = computed(()=>manager.data.value ? manager.data.value.realm_id : storeRefs.realmId.value);
3658
+ const generateSecret = ()=>createNanoID('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_!.', 32);
3659
+ const isSecretHashed = computed(()=>{
3660
+ if (!manager.data.value || manager.data.value.secret !== form.secret) {
3661
+ return false;
3654
3662
  }
3655
- return manager.data.value ? manager.data.value.realm_id : null;
3663
+ return isBCryptHash(form.secret);
3656
3664
  });
3657
- const generateSecret = ()=>{
3658
- form.secret = createNanoID('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_!.', 64);
3659
- };
3660
3665
  function initForm() {
3661
3666
  if (props.name) {
3662
3667
  form.name = props.name;
3663
3668
  }
3664
- if (!manager.data.value && realmId.value) {
3665
- form.realm_id = realmId.value;
3666
- }
3667
3669
  assignFormProperties(form, manager.data.value);
3670
+ form.realm_id = realmId.value ?? '';
3668
3671
  if (form.secret.length === 0) {
3669
- generateSecret();
3672
+ form.secret = generateSecret();
3670
3673
  }
3671
3674
  }
3675
+ const isConfidential = computed(()=>form.is_confidential);
3676
+ watch(isConfidential, (val, oldValue)=>{
3677
+ if (val === oldValue) return;
3678
+ if (val) {
3679
+ form.secret = manager.data.value?.secret || generateSecret();
3680
+ } else {
3681
+ form.secret = '';
3682
+ }
3683
+ });
3672
3684
  watch(updatedAt, (val, oldVal)=>{
3673
3685
  if (val && val !== oldVal) {
3674
3686
  manager.data.value = props.entity;
@@ -3677,13 +3689,12 @@ const AClientForm = defineComponent({
3677
3689
  });
3678
3690
  initForm();
3679
3691
  const submit = async ()=>{
3680
- if ($v.value.$invalid) {
3692
+ if (vuelidate.value.$invalid) {
3681
3693
  return;
3682
3694
  }
3683
3695
  await manager.createOrUpdate(form);
3696
+ assignFormProperties(form, manager.data.value);
3684
3697
  };
3685
- const translationsValidation = useTranslationsForNestedValidation($v.value);
3686
- const translationsSubmit = createFormSubmitTranslations();
3687
3698
  const translationsClient = useTranslationsForGroup(TranslatorTranslationGroup.CLIENT, [
3688
3699
  {
3689
3700
  key: TranslatorTranslationClientKey.NAME_HINT
@@ -3696,6 +3707,12 @@ const AClientForm = defineComponent({
3696
3707
  },
3697
3708
  {
3698
3709
  key: TranslatorTranslationClientKey.IS_CONFIDENTIAL
3710
+ },
3711
+ {
3712
+ key: TranslatorTranslationClientKey.IS_ACTIVE
3713
+ },
3714
+ {
3715
+ key: TranslatorTranslationClientKey.HASH_SECRET
3699
3716
  }
3700
3717
  ]);
3701
3718
  const translationsDefault = useTranslationsForGroup(TranslatorTranslationGroup.DEFAULT, [
@@ -3721,202 +3738,305 @@ const AClientForm = defineComponent({
3721
3738
  key: TranslatorTranslationDefaultKey.SECRET
3722
3739
  }
3723
3740
  ]);
3724
- const render = ()=>{
3725
- const name = [
3726
- buildFormGroup({
3727
- validationMessages: translationsValidation.name.value,
3728
- validationSeverity: getVuelidateSeverity($v.value.name),
3741
+ const redirectUris = computed(()=>vuelidate.value.redirect_uri.$model ? vuelidate.value.redirect_uri.$model.split(',') : []);
3742
+ return {
3743
+ translationsDefault,
3744
+ translationsClient,
3745
+ vuelidate,
3746
+ data: manager.data,
3747
+ isNameFixed,
3748
+ isBusy: manager.busy.value,
3749
+ isEditing,
3750
+ isSecretHashed,
3751
+ generateSecret,
3752
+ redirectUris,
3753
+ submit
3754
+ };
3755
+ }
3756
+ });
3757
+
3758
+ const _hoisted_1$b = { class: "row" };
3759
+ const _hoisted_2$a = { class: "col" };
3760
+ const _hoisted_3$8 = {
3761
+ key: 0,
3762
+ class: "text-danger font-weight-bold"
3763
+ };
3764
+ const _hoisted_4$6 = { class: "row" };
3765
+ const _hoisted_5$3 = { class: "col" };
3766
+ const _hoisted_6$2 = { class: "col" };
3767
+ const _hoisted_7$1 = { class: "col" };
3768
+ const _hoisted_8$1 = { class: "col" };
3769
+ function _sfc_render$f(_ctx, _cache, $props, $setup, $data, $options) {
3770
+ const _component_VCFormInput = resolveComponent("VCFormInput");
3771
+ const _component_VCFormGroup = resolveComponent("VCFormGroup");
3772
+ const _component_IVuelidate = resolveComponent("IVuelidate");
3773
+ const _component_VCFormInputCheckbox = resolveComponent("VCFormInputCheckbox");
3774
+ const _component_ARealmPicker = resolveComponent("ARealmPicker");
3775
+ const _component_AFormInputList = resolveComponent("AFormInputList");
3776
+ const _component_VCFormTextarea = resolveComponent("VCFormTextarea");
3777
+ const _component_AFormSubmit = resolveComponent("AFormSubmit");
3778
+ return openBlock(), createElementBlock("div", _hoisted_1$b, [
3779
+ createElementVNode("div", _hoisted_2$a, [
3780
+ _ctx.data ? (openBlock(), createBlock(_component_VCFormGroup, { key: 0 }, {
3781
+ label: withCtx(() => [..._cache[10] || (_cache[10] = [
3782
+ createTextVNode(" ID ", -1)
3783
+ ])]),
3784
+ default: withCtx(() => [
3785
+ createVNode(_component_VCFormInput, {
3786
+ "model-value": _ctx.data.id,
3787
+ disabled: true
3788
+ }, null, 8, ["model-value"])
3789
+ ]),
3790
+ _: 1
3791
+ })) : createCommentVNode("", true),
3792
+ createVNode(_component_IVuelidate, {
3793
+ validation: _ctx.vuelidate.name
3794
+ }, {
3795
+ default: withCtx((props) => [
3796
+ createVNode(_component_VCFormGroup, {
3797
+ "validation-messages": props.data,
3798
+ "validation-severity": props.severity
3799
+ }, {
3800
+ label: withCtx(() => [
3801
+ createTextVNode(toDisplayString(_ctx.translationsDefault.name), 1)
3802
+ ]),
3803
+ default: withCtx(() => [
3804
+ createVNode(_component_VCFormInput, {
3805
+ modelValue: _ctx.vuelidate.name.$model,
3806
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.vuelidate.name.$model = $event),
3807
+ disabled: _ctx.isNameFixed
3808
+ }, null, 8, ["modelValue", "disabled"])
3809
+ ]),
3810
+ _: 1
3811
+ }, 8, ["validation-messages", "validation-severity"]),
3812
+ createElementVNode("small", null, toDisplayString(_ctx.translationsClient.nameHint), 1)
3813
+ ]),
3814
+ _: 1
3815
+ }, 8, ["validation"]),
3816
+ _cache[14] || (_cache[14] = createElementVNode("hr", null, null, -1)),
3817
+ createVNode(_component_IVuelidate, {
3818
+ validation: _ctx.vuelidate.display_name
3819
+ }, {
3820
+ default: withCtx((props) => [
3821
+ createVNode(_component_VCFormGroup, {
3822
+ "validation-messages": props.data,
3823
+ "validation-severity": props.severity
3824
+ }, {
3825
+ label: withCtx(() => [
3826
+ createTextVNode(toDisplayString(_ctx.translationsDefault.displayName), 1)
3827
+ ]),
3828
+ default: withCtx(() => [
3829
+ createVNode(_component_VCFormInput, {
3830
+ modelValue: _ctx.vuelidate.display_name.$model,
3831
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.vuelidate.display_name.$model = $event),
3832
+ disabled: _ctx.isNameFixed
3833
+ }, null, 8, ["modelValue", "disabled"])
3834
+ ]),
3835
+ _: 1
3836
+ }, 8, ["validation-messages", "validation-severity"])
3837
+ ]),
3838
+ _: 1
3839
+ }, 8, ["validation"]),
3840
+ _cache[15] || (_cache[15] = createElementVNode("hr", null, null, -1)),
3841
+ createVNode(_component_IVuelidate, {
3842
+ validation: _ctx.vuelidate.secret
3843
+ }, {
3844
+ default: withCtx((props) => [
3845
+ createVNode(_component_VCFormGroup, {
3846
+ "validation-messages": props.data,
3847
+ "validation-severity": props.severity
3848
+ }, {
3849
+ label: withCtx(() => [
3850
+ createTextVNode(toDisplayString(_ctx.translationsDefault.secret) + " ", 1),
3851
+ _ctx.isSecretHashed ? (openBlock(), createElementBlock("span", _hoisted_3$8, [..._cache[11] || (_cache[11] = [
3852
+ createElementVNode("i", { class: "fa fa-exclamation-triangle" }, null, -1)
3853
+ ])])) : createCommentVNode("", true)
3854
+ ]),
3855
+ default: withCtx(() => [
3856
+ createVNode(_component_VCFormInput, {
3857
+ modelValue: _ctx.vuelidate.secret.$model,
3858
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => _ctx.vuelidate.secret.$model = $event),
3859
+ disabled: !_ctx.vuelidate.is_confidential.$model
3860
+ }, {
3861
+ groupAppend: withCtx(() => [
3862
+ createElementVNode("button", {
3863
+ class: "btn",
3864
+ type: "button",
3865
+ onClick: _cache[2] || (_cache[2] = withModifiers(() => _ctx.vuelidate.secret.$model = _ctx.generateSecret(), ["prevent"]))
3866
+ }, [..._cache[12] || (_cache[12] = [
3867
+ createElementVNode("i", { class: "fa fa-refresh" }, null, -1)
3868
+ ])])
3869
+ ]),
3870
+ _: 1
3871
+ }, 8, ["modelValue", "disabled"])
3872
+ ]),
3873
+ _: 1
3874
+ }, 8, ["validation-messages", "validation-severity"])
3875
+ ]),
3876
+ _: 1
3877
+ }, 8, ["validation"]),
3878
+ createElementVNode("div", _hoisted_4$6, [
3879
+ createElementVNode("div", _hoisted_5$3, [
3880
+ createVNode(_component_IVuelidate, {
3881
+ validation: _ctx.vuelidate.is_confidential
3882
+ }, {
3883
+ default: withCtx((props) => [
3884
+ createVNode(_component_VCFormGroup, {
3885
+ "validation-messages": props.data,
3886
+ "validation-severity": props.severity
3887
+ }, {
3888
+ default: withCtx(() => [
3889
+ createVNode(_component_VCFormInputCheckbox, {
3890
+ modelValue: _ctx.vuelidate.is_confidential.$model,
3891
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => _ctx.vuelidate.is_confidential.$model = $event),
3892
+ "group-class": "form-switch",
3729
3893
  label: true,
3730
- labelContent: translationsDefault[TranslatorTranslationDefaultKey.NAME].value,
3731
- content: buildFormInput({
3732
- value: $v.value.name.$model,
3733
- onChange (input) {
3734
- $v.value.name.$model = input;
3735
- },
3736
- props: {
3737
- disabled: isNameFixed.value
3738
- }
3739
- })
3740
- }),
3741
- h('small', translationsClient[TranslatorTranslationClientKey.NAME_HINT].value)
3742
- ];
3743
- const displayName = buildFormGroup({
3744
- validationMessages: translationsValidation.display_name.value,
3745
- validationSeverity: getVuelidateSeverity($v.value.display_name),
3746
- label: true,
3747
- labelContent: translationsDefault[TranslatorTranslationDefaultKey.DISPLAY_NAME].value,
3748
- content: buildFormInput({
3749
- value: $v.value.display_name.$model,
3750
- onChange (input) {
3751
- $v.value.display_name.$model = input;
3752
- }
3753
- })
3754
- });
3755
- const description = [
3756
- h('div', [
3757
- buildFormGroup({
3758
- validationMessages: translationsValidation.description.value,
3759
- validationSeverity: getVuelidateSeverity($v.value.description),
3760
- label: true,
3761
- labelContent: translationsDefault[TranslatorTranslationDefaultKey.DESCRIPTION].value,
3762
- content: buildFormTextarea({
3763
- value: $v.value.description.$model,
3764
- onChange (input) {
3765
- $v.value.description.$model = input;
3766
- },
3767
- props: {
3768
- rows: 7
3769
- }
3770
- })
3771
- }),
3772
- h('small', translationsClient[TranslatorTranslationClientKey.DESCRIPTION_HINT].value)
3773
- ])
3774
- ];
3775
- const redirectUri = [
3776
- h(AFormInputList, {
3777
- names: form.redirect_uri ? form.redirect_uri.split(',') : [],
3778
- onChanged: (value)=>{
3779
- if (value.length === 0) {
3780
- form.redirect_uri = '';
3781
- return;
3782
- }
3783
- form.redirect_uri = value.join(',');
3784
- }
3785
- }, {
3786
- label: ()=>[
3787
- translationsDefault[TranslatorTranslationDefaultKey.REDIRECT_URIS].value
3788
- ]
3789
- }),
3790
- h('small', translationsClient[TranslatorTranslationClientKey.REDIRECT_URI_HINT].value)
3791
- ];
3792
- const isConfidential = buildFormGroup({
3793
- validationMessages: translationsValidation.is_confidential.value,
3794
- validationSeverity: getVuelidateSeverity($v.value.is_confidential),
3795
- content: buildFormInputCheckbox({
3796
- groupClass: 'form-switch mt-3',
3797
- labelContent: translationsClient[TranslatorTranslationClientKey.IS_CONFIDENTIAL].value,
3798
- value: $v.value.is_confidential.$model,
3799
- onChange (input) {
3800
- $v.value.is_confidential.$model = input;
3801
- }
3802
- })
3803
- });
3804
- let id = [];
3805
- if (manager.data.value) {
3806
- id = [
3807
- buildFormGroup({
3808
- label: true,
3809
- labelContent: 'ID',
3810
- content: buildFormInput({
3811
- value: manager.data.value.id,
3812
- props: {
3813
- disabled: true
3814
- }
3815
- })
3816
- }),
3817
- h('hr')
3818
- ];
3819
- }
3820
- const secret = [
3821
- buildFormGroup({
3822
- validationMessages: translationsValidation.secret.value,
3823
- validationSeverity: getVuelidateSeverity($v.value.secret),
3894
+ "label-content": _ctx.translationsClient.isConfidential.value
3895
+ }, null, 8, ["modelValue", "label-content"])
3896
+ ]),
3897
+ _: 1
3898
+ }, 8, ["validation-messages", "validation-severity"])
3899
+ ]),
3900
+ _: 1
3901
+ }, 8, ["validation"])
3902
+ ]),
3903
+ createElementVNode("div", _hoisted_6$2, [
3904
+ createVNode(_component_IVuelidate, {
3905
+ validation: _ctx.vuelidate.secret_hashed
3906
+ }, {
3907
+ default: withCtx((props) => [
3908
+ createVNode(_component_VCFormGroup, {
3909
+ "validation-messages": props.data,
3910
+ "validation-severity": props.severity
3911
+ }, {
3912
+ default: withCtx(() => [
3913
+ createVNode(_component_VCFormInputCheckbox, {
3914
+ modelValue: _ctx.vuelidate.secret_hashed.$model,
3915
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => _ctx.vuelidate.secret_hashed.$model = $event),
3916
+ "group-class": "form-switch",
3824
3917
  label: true,
3825
- labelContent: translationsDefault[TranslatorTranslationDefaultKey.SECRET].value,
3826
- content: buildFormInput({
3827
- value: $v.value.secret.$model,
3828
- onChange (input) {
3829
- $v.value.secret.$model = input;
3830
- }
3831
- })
3832
- }),
3833
- h('div', {
3834
- class: 'mb-2'
3835
- }, [
3836
- h('button', {
3837
- class: 'btn btn-dark btn-xs',
3838
- onClick ($event) {
3839
- $event.preventDefault();
3840
- generateSecret.call(null);
3841
- }
3842
- }, [
3843
- h('i', {
3844
- class: 'fa fa-wrench'
3845
- }),
3846
- ' ',
3847
- translationsDefault[TranslatorTranslationDefaultKey.GENERATE].value
3848
- ])
3849
- ])
3850
- ];
3851
- const submitForm = buildFormSubmitWithTranslations({
3852
- busy: busy.value,
3853
- submit,
3854
- isEditing: isEditing.value,
3855
- invalid: $v.value.$invalid
3856
- }, translationsSubmit);
3857
- let realm = [];
3858
- if (!realmId.value && !isEditing.value) {
3859
- realm = [
3860
- h('hr'),
3861
- buildFormGroup({
3862
- validationMessages: translationsValidation.realm_id.value,
3863
- validationSeverity: getVuelidateSeverity($v.value.realm_id),
3864
- label: true,
3865
- labelContent: translationsDefault[TranslatorTranslationDefaultKey.REALM].value,
3866
- content: h(ARealmPicker, {
3867
- value: $v.value.realm_id.$model,
3868
- onChange: (input)=>{
3869
- $v.value.realm_id.$model = input.length > 0 ? input[0] : '';
3870
- }
3871
- })
3872
- })
3873
- ];
3874
- }
3875
- const leftColumn = h('div', {
3876
- class: 'col'
3877
- }, [
3878
- id,
3879
- name,
3880
- h('hr'),
3881
- displayName,
3882
- h('hr'),
3883
- secret,
3884
- realm
3885
- ]);
3886
- const rightColumn = [
3887
- h('div', {
3888
- class: 'col'
3889
- }, [
3890
- isConfidential,
3891
- h('hr'),
3892
- redirectUri,
3893
- h('hr'),
3894
- description,
3895
- submitForm
3896
- ])
3897
- ];
3898
- return h('form', {
3899
- onSubmit ($event) {
3900
- $event.preventDefault();
3901
- return submit.apply(null);
3902
- }
3903
- }, [
3904
- h('div', {
3905
- class: 'row'
3906
- }, [
3907
- leftColumn,
3908
- rightColumn
3909
- ])
3910
- ]);
3911
- };
3912
- return ()=>render();
3913
- }
3914
- });
3918
+ "label-content": _ctx.translationsClient.hashSecret.value
3919
+ }, null, 8, ["modelValue", "label-content"])
3920
+ ]),
3921
+ _: 1
3922
+ }, 8, ["validation-messages", "validation-severity"])
3923
+ ]),
3924
+ _: 1
3925
+ }, 8, ["validation"])
3926
+ ]),
3927
+ createElementVNode("div", _hoisted_7$1, [
3928
+ createVNode(_component_IVuelidate, {
3929
+ validation: _ctx.vuelidate.active
3930
+ }, {
3931
+ default: withCtx((props) => [
3932
+ createVNode(_component_VCFormGroup, {
3933
+ "validation-messages": props.data,
3934
+ "validation-severity": props.severity
3935
+ }, {
3936
+ default: withCtx(() => [
3937
+ createVNode(_component_VCFormInputCheckbox, {
3938
+ modelValue: _ctx.vuelidate.active.$model,
3939
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => _ctx.vuelidate.active.$model = $event),
3940
+ "group-class": "form-switch",
3941
+ label: true,
3942
+ "label-content": _ctx.translationsClient.isActive.value
3943
+ }, null, 8, ["modelValue", "label-content"])
3944
+ ]),
3945
+ _: 1
3946
+ }, 8, ["validation-messages", "validation-severity"])
3947
+ ]),
3948
+ _: 1
3949
+ }, 8, ["validation"])
3950
+ ])
3951
+ ]),
3952
+ !_ctx.realmId && !_ctx.isEditing ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
3953
+ _cache[13] || (_cache[13] = createElementVNode("hr", null, null, -1)),
3954
+ createVNode(_component_IVuelidate, {
3955
+ validation: _ctx.vuelidate.realm_id
3956
+ }, {
3957
+ default: withCtx((props) => [
3958
+ createVNode(_component_VCFormGroup, {
3959
+ "validation-messages": props.data,
3960
+ "validation-severity": props.severity
3961
+ }, {
3962
+ label: withCtx(() => [
3963
+ createTextVNode(toDisplayString(_ctx.translationsDefault.realm), 1)
3964
+ ]),
3965
+ default: withCtx(() => [
3966
+ createVNode(_component_ARealmPicker, {
3967
+ value: _ctx.vuelidate.realm_id.$model,
3968
+ onChange: _cache[7] || (_cache[7] = (input) => {
3969
+ _ctx.vuelidate.realm_id.$model = input.length > 0 ? input[0] : "";
3970
+ })
3971
+ }, null, 8, ["value"])
3972
+ ]),
3973
+ _: 1
3974
+ }, 8, ["validation-messages", "validation-severity"])
3975
+ ]),
3976
+ _: 1
3977
+ }, 8, ["validation"])
3978
+ ], 64)) : createCommentVNode("", true)
3979
+ ]),
3980
+ createElementVNode("div", _hoisted_8$1, [
3981
+ createVNode(_component_AFormInputList, {
3982
+ names: _ctx.redirectUris,
3983
+ onChanged: _cache[8] || (_cache[8] = (value) => {
3984
+ if (value.length === 0) {
3985
+ _ctx.vuelidate.redirect_uri.$model = "";
3986
+ return;
3987
+ }
3988
+ _ctx.vuelidate.redirect_uri.$model = value.join(",");
3989
+ })
3990
+ }, {
3991
+ label: withCtx(() => [
3992
+ createTextVNode(toDisplayString(_ctx.translationsDefault.redirectUris), 1)
3993
+ ]),
3994
+ _: 1
3995
+ }, 8, ["names"]),
3996
+ createElementVNode("small", null, toDisplayString(_ctx.translationsClient.redirectURIHint), 1),
3997
+ _cache[16] || (_cache[16] = createElementVNode("hr", null, null, -1)),
3998
+ createVNode(_component_IVuelidate, {
3999
+ validation: _ctx.vuelidate.description
4000
+ }, {
4001
+ default: withCtx((props) => [
4002
+ createVNode(_component_VCFormGroup, {
4003
+ "validation-messages": props.data,
4004
+ "validation-severity": props.severity
4005
+ }, {
4006
+ label: withCtx(() => [
4007
+ createTextVNode(toDisplayString(_ctx.translationsDefault.description), 1)
4008
+ ]),
4009
+ default: withCtx(() => [
4010
+ createVNode(_component_VCFormTextarea, {
4011
+ modelValue: _ctx.vuelidate.description.$model,
4012
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => _ctx.vuelidate.description.$model = $event),
4013
+ rows: "7"
4014
+ }, null, 8, ["modelValue"])
4015
+ ]),
4016
+ _: 1
4017
+ }, 8, ["validation-messages", "validation-severity"]),
4018
+ createElementVNode("small", null, toDisplayString(_ctx.translationsClient.descriptionHint), 1)
4019
+ ]),
4020
+ _: 1
4021
+ }, 8, ["validation"]),
4022
+ _cache[17] || (_cache[17] = createElementVNode("hr", null, null, -1)),
4023
+ createElementVNode("div", null, [
4024
+ createVNode(_component_AFormSubmit, {
4025
+ "is-busy": _ctx.isBusy,
4026
+ "is-editing": _ctx.isEditing,
4027
+ "is-invalid": _ctx.vuelidate.$invalid,
4028
+ onSubmit: _ctx.submit
4029
+ }, null, 8, ["is-busy", "is-editing", "is-invalid", "onSubmit"])
4030
+ ])
4031
+ ])
4032
+ ]);
4033
+ }
4034
+ var AClientForm = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["render", _sfc_render$f]]);
3915
4035
 
3916
4036
  const AClients = defineComponent({
3917
4037
  props: defineEntityCollectionVProps(),
3918
- slots: Object,
3919
4038
  emits: defineEntityCollectionVEmitOptions(),
4039
+ slots: Object,
3920
4040
  setup (props, ctx) {
3921
4041
  const { render } = defineEntityCollectionManager({
3922
4042
  type: `${EntityType.CLIENT}`,
@@ -4049,8 +4169,8 @@ const APermissionCheck = defineComponent({
4049
4169
 
4050
4170
  const APolicies = defineComponent({
4051
4171
  props: defineEntityCollectionVProps(),
4052
- slots: Object,
4053
4172
  emits: defineEntityCollectionVEmitOptions(),
4173
+ slots: Object,
4054
4174
  setup (props, setup) {
4055
4175
  const { render } = defineEntityCollectionManager({
4056
4176
  type: `${EntityType.POLICY}`,
@@ -4140,8 +4260,8 @@ const APolicyPicker = defineComponent({
4140
4260
  },
4141
4261
  ...defineEntityPickerVProps()
4142
4262
  },
4143
- slots: Object,
4144
4263
  emits: defineEntityPickerVEmitOptions(),
4264
+ slots: Object,
4145
4265
  setup (props, { slots, ...setup }) {
4146
4266
  const { render } = defineEntityPicker({
4147
4267
  component: APolicies,
@@ -4357,8 +4477,8 @@ const APermissionForm = defineComponent({
4357
4477
 
4358
4478
  const APermissions = defineComponent({
4359
4479
  props: defineEntityCollectionVProps(),
4360
- slots: Object,
4361
4480
  emits: defineEntityCollectionVEmitOptions(),
4481
+ slots: Object,
4362
4482
  setup (props, setup) {
4363
4483
  const { render } = defineEntityCollectionManager({
4364
4484
  type: `${EntityType.PERMISSION}`,
@@ -4557,8 +4677,8 @@ const ARoleForm = defineComponent({
4557
4677
 
4558
4678
  const ARoles = defineComponent({
4559
4679
  props: defineEntityCollectionVProps(),
4560
- slots: Object,
4561
4680
  emits: defineEntityCollectionVEmitOptions(),
4681
+ slots: Object,
4562
4682
  setup (props, ctx) {
4563
4683
  const { render } = defineEntityCollectionManager({
4564
4684
  type: `${EntityType.ROLE}`,
@@ -4680,8 +4800,8 @@ const AClientScope = defineComponent({
4680
4800
 
4681
4801
  const AClientScopes = defineComponent({
4682
4802
  props: defineEntityCollectionVProps(),
4683
- slots: Object,
4684
4803
  emits: defineEntityCollectionVEmitOptions(),
4804
+ slots: Object,
4685
4805
  setup (props, ctx) {
4686
4806
  const { render } = defineEntityCollectionManager({
4687
4807
  type: `${EntityType.CLIENT_SCOPE}`,
@@ -4876,8 +4996,8 @@ const AScopeForm = defineComponent({
4876
4996
 
4877
4997
  const AScopes = defineComponent({
4878
4998
  props: defineEntityCollectionVProps(),
4879
- slots: Object,
4880
4999
  emits: defineEntityCollectionVEmitOptions(),
5000
+ slots: Object,
4881
5001
  setup (props, ctx) {
4882
5002
  const { render } = defineEntityCollectionManager({
4883
5003
  type: EntityType.SCOPE,
@@ -5831,113 +5951,70 @@ var _sfc_main$f = defineComponent({
5831
5951
  }
5832
5952
  });
5833
5953
 
5834
- const _hoisted_1$a = {
5835
- class: "d-flex flex-column gap-2"
5836
- };
5837
- const _hoisted_2$9 = {
5838
- class: "d-flex flex-row gap-2 flex-wrap"
5839
- };
5840
- const _hoisted_3$7 = [
5841
- "onClick"
5842
- ];
5843
- const _hoisted_4$5 = {
5844
- class: "d-flex flex-row gap-2 flex-wrap"
5845
- };
5846
- const _hoisted_5$2 = [
5847
- "onClick"
5848
- ];
5954
+ const _hoisted_1$a = { class: "d-flex flex-column gap-2" };
5955
+ const _hoisted_2$9 = { class: "d-flex flex-row gap-2 flex-wrap" };
5956
+ const _hoisted_3$7 = ["onClick"];
5957
+ const _hoisted_4$5 = { class: "d-flex flex-row gap-2 flex-wrap" };
5958
+ const _hoisted_5$2 = ["onClick"];
5849
5959
  function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) {
5850
- const _component_AIdentityProviderProtocol = resolveComponent("AIdentityProviderProtocol");
5851
- const _component_AIdentityProviderPreset = resolveComponent("AIdentityProviderPreset");
5852
- return openBlock(), createElementBlock("div", _hoisted_1$a, [
5853
- createElementVNode("div", null, [
5854
- _cache[0] || (_cache[0] = createElementVNode("h6", null, "Protocols", -1)),
5855
- createElementVNode("div", _hoisted_2$9, [
5856
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.protocols, (item, key)=>{
5857
- return openBlock(), createBlock(_component_AIdentityProviderProtocol, {
5858
- key,
5859
- id: item
5860
- }, {
5861
- default: withCtx((props)=>[
5862
- createElementVNode("div", {
5863
- class: normalizeClass([
5864
- {
5865
- "active": item === _ctx.protocol && !_ctx.preset
5866
- },
5867
- "d-flex flex-column gap-1 text-center identity-provider-picker-item"
5868
- ]),
5869
- onClick: withModifiers(($event)=>_ctx.pickProtocol(item), [
5870
- "prevent"
5871
- ])
5872
- }, [
5873
- createElementVNode("div", null, [
5874
- createElementVNode("i", {
5875
- class: normalizeClass([
5876
- "fa-2x",
5877
- props.icon
5878
- ])
5879
- }, null, 2)
5880
- ]),
5881
- createElementVNode("div", null, toDisplayString(props.name), 1)
5882
- ], 10, _hoisted_3$7)
5883
- ]),
5884
- _: 2
5885
- }, 1032, [
5886
- "id"
5887
- ]);
5888
- }), 128))
5889
- ])
5890
- ]),
5891
- createElementVNode("div", null, [
5892
- _cache[1] || (_cache[1] = createElementVNode("h6", null, "Presets", -1)),
5893
- createElementVNode("div", _hoisted_4$5, [
5894
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.presets, (item, key)=>{
5895
- return openBlock(), createBlock(_component_AIdentityProviderPreset, {
5896
- key,
5897
- id: item
5898
- }, {
5899
- default: withCtx((props)=>[
5900
- createElementVNode("div", {
5901
- class: normalizeClass([
5902
- {
5903
- "active": item === _ctx.preset
5904
- },
5905
- "d-flex flex-column gap-1 text-center identity-provider-picker-item"
5906
- ]),
5907
- onClick: withModifiers(($event)=>_ctx.pickPreset(item), [
5908
- "prevent"
5909
- ])
5910
- }, [
5911
- createElementVNode("div", null, [
5912
- createElementVNode("i", {
5913
- class: normalizeClass([
5914
- "fa-2x",
5915
- props.icon
5916
- ])
5917
- }, null, 2)
5918
- ]),
5919
- createElementVNode("div", null, toDisplayString(props.name), 1)
5920
- ], 10, _hoisted_5$2)
5921
- ]),
5922
- _: 2
5923
- }, 1032, [
5924
- "id"
5925
- ]);
5926
- }), 128))
5927
- ])
5928
- ])
5929
- ]);
5960
+ const _component_AIdentityProviderProtocol = resolveComponent("AIdentityProviderProtocol");
5961
+ const _component_AIdentityProviderPreset = resolveComponent("AIdentityProviderPreset");
5962
+ return openBlock(), createElementBlock("div", _hoisted_1$a, [
5963
+ createElementVNode("div", null, [
5964
+ _cache[0] || (_cache[0] = createElementVNode("h6", null, "Protocols", -1)),
5965
+ createElementVNode("div", _hoisted_2$9, [
5966
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.protocols, (item, key) => {
5967
+ return openBlock(), createBlock(_component_AIdentityProviderProtocol, {
5968
+ key,
5969
+ id: item
5970
+ }, {
5971
+ default: withCtx((props) => [
5972
+ createElementVNode("div", {
5973
+ class: normalizeClass([{ "active": item === _ctx.protocol && !_ctx.preset }, "d-flex flex-column gap-1 text-center identity-provider-picker-item"]),
5974
+ onClick: withModifiers(($event) => _ctx.pickProtocol(item), ["prevent"])
5975
+ }, [
5976
+ createElementVNode("div", null, [
5977
+ createElementVNode("i", {
5978
+ class: normalizeClass(["fa-2x", props.icon])
5979
+ }, null, 2)
5980
+ ]),
5981
+ createElementVNode("div", null, toDisplayString(props.name), 1)
5982
+ ], 10, _hoisted_3$7)
5983
+ ]),
5984
+ _: 2
5985
+ }, 1032, ["id"]);
5986
+ }), 128))
5987
+ ])
5988
+ ]),
5989
+ createElementVNode("div", null, [
5990
+ _cache[1] || (_cache[1] = createElementVNode("h6", null, "Presets", -1)),
5991
+ createElementVNode("div", _hoisted_4$5, [
5992
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.presets, (item, key) => {
5993
+ return openBlock(), createBlock(_component_AIdentityProviderPreset, {
5994
+ key,
5995
+ id: item
5996
+ }, {
5997
+ default: withCtx((props) => [
5998
+ createElementVNode("div", {
5999
+ class: normalizeClass([{ "active": item === _ctx.preset }, "d-flex flex-column gap-1 text-center identity-provider-picker-item"]),
6000
+ onClick: withModifiers(($event) => _ctx.pickPreset(item), ["prevent"])
6001
+ }, [
6002
+ createElementVNode("div", null, [
6003
+ createElementVNode("i", {
6004
+ class: normalizeClass(["fa-2x", props.icon])
6005
+ }, null, 2)
6006
+ ]),
6007
+ createElementVNode("div", null, toDisplayString(props.name), 1)
6008
+ ], 10, _hoisted_5$2)
6009
+ ]),
6010
+ _: 2
6011
+ }, 1032, ["id"]);
6012
+ }), 128))
6013
+ ])
6014
+ ])
6015
+ ]);
5930
6016
  }
5931
- var AIdentityProviderPicker = /* @__PURE__ */ _export_sfc(_sfc_main$f, [
5932
- [
5933
- "render",
5934
- _sfc_render$e
5935
- ],
5936
- [
5937
- "__scopeId",
5938
- "data-v-eb096917"
5939
- ]
5940
- ]);
6017
+ var AIdentityProviderPicker = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["render", _sfc_render$e], ["__scopeId", "data-v-af0f282c"]]);
5941
6018
 
5942
6019
  const AIdentityProviderOAuth2ClientFields = defineComponent({
5943
6020
  props: {
@@ -6549,8 +6626,8 @@ const AIdentityProviderForm = defineComponent({
6549
6626
 
6550
6627
  const AIdentityProviders = defineComponent({
6551
6628
  props: defineEntityCollectionVProps(),
6552
- slots: Object,
6553
6629
  emits: defineEntityCollectionVEmitOptions(),
6630
+ slots: Object,
6554
6631
  setup (props, ctx) {
6555
6632
  const { render } = defineEntityCollectionManager({
6556
6633
  type: `${EntityType.IDENTITY_PROVIDER}`,
@@ -6885,22 +6962,14 @@ var _sfc_main$e = defineComponent({
6885
6962
  });
6886
6963
 
6887
6964
  function _sfc_render$d(_ctx, _cache, $props, $setup, $data, $options) {
6888
- const _component_AFormInputList = resolveComponent("AFormInputList");
6889
- return openBlock(), createBlock(_component_AFormInputList, {
6890
- names: _ctx.vuelidate.names.$model,
6891
- "min-items": 1,
6892
- onChanged: _ctx.handleUpdated
6893
- }, null, 8, [
6894
- "names",
6895
- "onChanged"
6896
- ]);
6965
+ const _component_AFormInputList = resolveComponent("AFormInputList");
6966
+ return openBlock(), createBlock(_component_AFormInputList, {
6967
+ names: _ctx.vuelidate.names.$model,
6968
+ "min-items": 1,
6969
+ onChanged: _ctx.handleUpdated
6970
+ }, null, 8, ["names", "onChanged"]);
6897
6971
  }
6898
- var AAttributeNamesPolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$e, [
6899
- [
6900
- "render",
6901
- _sfc_render$d
6902
- ]
6903
- ]);
6972
+ var AAttributeNamesPolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["render", _sfc_render$d]]);
6904
6973
 
6905
6974
  var _sfc_main$d = defineComponent({
6906
6975
  components: {
@@ -6989,52 +7058,37 @@ var _sfc_main$d = defineComponent({
6989
7058
  });
6990
7059
 
6991
7060
  function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
6992
- const _component_APolicyChildrenPicker = resolveComponent("APolicyChildrenPicker");
6993
- const _component_VCFormGroup = resolveComponent("VCFormGroup");
6994
- const _component_IVuelidate = resolveComponent("IVuelidate");
6995
- return openBlock(), createElementBlock("div", null, [
6996
- createVNode(_component_IVuelidate, {
6997
- validation: _ctx.vuelidate.items
7061
+ const _component_APolicyChildrenPicker = resolveComponent("APolicyChildrenPicker");
7062
+ const _component_VCFormGroup = resolveComponent("VCFormGroup");
7063
+ const _component_IVuelidate = resolveComponent("IVuelidate");
7064
+ return openBlock(), createElementBlock("div", null, [
7065
+ createVNode(_component_IVuelidate, {
7066
+ validation: _ctx.vuelidate.items
7067
+ }, {
7068
+ default: withCtx((props) => [
7069
+ createVNode(_component_VCFormGroup, {
7070
+ "validation-messages": props.data,
7071
+ "validation-severity": props.severity
6998
7072
  }, {
6999
- default: withCtx((props)=>[
7000
- createVNode(_component_VCFormGroup, {
7001
- "validation-messages": props.data,
7002
- "validation-severity": props.severity
7003
- }, {
7004
- label: withCtx(()=>_cache[0] || (_cache[0] = [
7005
- createTextVNode(" Children ")
7006
- ])),
7007
- default: withCtx(()=>[
7008
- createVNode(_component_APolicyChildrenPicker, {
7009
- "parent-id": _ctx.id,
7010
- query: _ctx.query,
7011
- value: _ctx.vuelidate.items.$model,
7012
- onChange: _ctx.handleUpdated
7013
- }, null, 8, [
7014
- "parent-id",
7015
- "query",
7016
- "value",
7017
- "onChange"
7018
- ])
7019
- ]),
7020
- _: 2
7021
- }, 1032, [
7022
- "validation-messages",
7023
- "validation-severity"
7024
- ])
7025
- ]),
7026
- _: 1
7027
- }, 8, [
7028
- "validation"
7029
- ])
7030
- ]);
7073
+ label: withCtx(() => [..._cache[0] || (_cache[0] = [
7074
+ createTextVNode(" Children ", -1)
7075
+ ])]),
7076
+ default: withCtx(() => [
7077
+ createVNode(_component_APolicyChildrenPicker, {
7078
+ "parent-id": _ctx.id,
7079
+ query: _ctx.query,
7080
+ value: _ctx.vuelidate.items.$model,
7081
+ onChange: _ctx.handleUpdated
7082
+ }, null, 8, ["parent-id", "query", "value", "onChange"])
7083
+ ]),
7084
+ _: 1
7085
+ }, 8, ["validation-messages", "validation-severity"])
7086
+ ]),
7087
+ _: 1
7088
+ }, 8, ["validation"])
7089
+ ]);
7031
7090
  }
7032
- var ACompositePolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$d, [
7033
- [
7034
- "render",
7035
- _sfc_render$c
7036
- ]
7037
- ]);
7091
+ var ACompositePolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["render", _sfc_render$c]]);
7038
7092
 
7039
7093
  var _sfc_main$c = defineComponent({
7040
7094
  components: {
@@ -7084,82 +7138,61 @@ var _sfc_main$c = defineComponent({
7084
7138
  });
7085
7139
 
7086
7140
  function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
7087
- const _component_VCFormInput = resolveComponent("VCFormInput");
7088
- const _component_VCFormGroup = resolveComponent("VCFormGroup");
7089
- const _component_IVuelidate = resolveComponent("IVuelidate");
7090
- return openBlock(), createElementBlock("div", null, [
7091
- createVNode(_component_IVuelidate, {
7092
- validation: _ctx.vuelidate.start
7141
+ const _component_VCFormInput = resolveComponent("VCFormInput");
7142
+ const _component_VCFormGroup = resolveComponent("VCFormGroup");
7143
+ const _component_IVuelidate = resolveComponent("IVuelidate");
7144
+ return openBlock(), createElementBlock("div", null, [
7145
+ createVNode(_component_IVuelidate, {
7146
+ validation: _ctx.vuelidate.start
7147
+ }, {
7148
+ default: withCtx((props) => [
7149
+ createVNode(_component_VCFormGroup, {
7150
+ "validation-messages": props.data,
7151
+ "validation-severity": props.severity
7093
7152
  }, {
7094
- default: withCtx((props)=>[
7095
- createVNode(_component_VCFormGroup, {
7096
- "validation-messages": props.data,
7097
- "validation-severity": props.severity
7098
- }, {
7099
- label: withCtx(()=>_cache[2] || (_cache[2] = [
7100
- createTextVNode(" Start ")
7101
- ])),
7102
- default: withCtx(()=>[
7103
- createVNode(_component_VCFormInput, {
7104
- modelValue: _ctx.vuelidate.start.$model,
7105
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event)=>_ctx.vuelidate.start.$model = $event),
7106
- placeholder: "YYYY-MM-DD",
7107
- onChange: _ctx.handleUpdated
7108
- }, null, 8, [
7109
- "modelValue",
7110
- "onChange"
7111
- ])
7112
- ]),
7113
- _: 2
7114
- }, 1032, [
7115
- "validation-messages",
7116
- "validation-severity"
7117
- ])
7118
- ]),
7119
- _: 1
7120
- }, 8, [
7121
- "validation"
7122
- ]),
7123
- createVNode(_component_IVuelidate, {
7124
- validation: _ctx.vuelidate.end
7153
+ label: withCtx(() => [..._cache[2] || (_cache[2] = [
7154
+ createTextVNode(" Start ", -1)
7155
+ ])]),
7156
+ default: withCtx(() => [
7157
+ createVNode(_component_VCFormInput, {
7158
+ modelValue: _ctx.vuelidate.start.$model,
7159
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.vuelidate.start.$model = $event),
7160
+ placeholder: "YYYY-MM-DD",
7161
+ onChange: _ctx.handleUpdated
7162
+ }, null, 8, ["modelValue", "onChange"])
7163
+ ]),
7164
+ _: 1
7165
+ }, 8, ["validation-messages", "validation-severity"])
7166
+ ]),
7167
+ _: 1
7168
+ }, 8, ["validation"]),
7169
+ createVNode(_component_IVuelidate, {
7170
+ validation: _ctx.vuelidate.end
7171
+ }, {
7172
+ default: withCtx((props) => [
7173
+ createVNode(_component_VCFormGroup, {
7174
+ "validation-messages": props.data,
7175
+ "validation-severity": props.severity
7125
7176
  }, {
7126
- default: withCtx((props)=>[
7127
- createVNode(_component_VCFormGroup, {
7128
- "validation-messages": props.data,
7129
- "validation-severity": props.severity
7130
- }, {
7131
- label: withCtx(()=>_cache[3] || (_cache[3] = [
7132
- createTextVNode(" End ")
7133
- ])),
7134
- default: withCtx(()=>[
7135
- createVNode(_component_VCFormInput, {
7136
- modelValue: _ctx.vuelidate.end.$model,
7137
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event)=>_ctx.vuelidate.end.$model = $event),
7138
- placeholder: "YYYY-MM-DD",
7139
- onChange: _ctx.handleUpdated
7140
- }, null, 8, [
7141
- "modelValue",
7142
- "onChange"
7143
- ])
7144
- ]),
7145
- _: 2
7146
- }, 1032, [
7147
- "validation-messages",
7148
- "validation-severity"
7149
- ])
7150
- ]),
7151
- _: 1
7152
- }, 8, [
7153
- "validation"
7154
- ])
7155
- ]);
7177
+ label: withCtx(() => [..._cache[3] || (_cache[3] = [
7178
+ createTextVNode(" End ", -1)
7179
+ ])]),
7180
+ default: withCtx(() => [
7181
+ createVNode(_component_VCFormInput, {
7182
+ modelValue: _ctx.vuelidate.end.$model,
7183
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.vuelidate.end.$model = $event),
7184
+ placeholder: "YYYY-MM-DD",
7185
+ onChange: _ctx.handleUpdated
7186
+ }, null, 8, ["modelValue", "onChange"])
7187
+ ]),
7188
+ _: 1
7189
+ }, 8, ["validation-messages", "validation-severity"])
7190
+ ]),
7191
+ _: 1
7192
+ }, 8, ["validation"])
7193
+ ]);
7156
7194
  }
7157
- var ADatePolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$c, [
7158
- [
7159
- "render",
7160
- _sfc_render$b
7161
- ]
7162
- ]);
7195
+ var ADatePolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["render", _sfc_render$b]]);
7163
7196
 
7164
7197
  var _sfc_main$b = defineComponent({
7165
7198
  components: {
@@ -7203,27 +7236,19 @@ var _sfc_main$b = defineComponent({
7203
7236
  });
7204
7237
 
7205
7238
  function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
7206
- const _component_AFormInputList = resolveComponent("AFormInputList");
7207
- return openBlock(), createBlock(_component_AFormInputList, {
7208
- names: _ctx.vuelidate.types.$model,
7209
- "min-items": 1,
7210
- onChanged: _ctx.handleUpdated
7211
- }, {
7212
- label: withCtx(()=>_cache[0] || (_cache[0] = [
7213
- createTextVNode(" Types ")
7214
- ])),
7215
- _: 1
7216
- }, 8, [
7217
- "names",
7218
- "onChanged"
7219
- ]);
7239
+ const _component_AFormInputList = resolveComponent("AFormInputList");
7240
+ return openBlock(), createBlock(_component_AFormInputList, {
7241
+ names: _ctx.vuelidate.types.$model,
7242
+ "min-items": 1,
7243
+ onChanged: _ctx.handleUpdated
7244
+ }, {
7245
+ label: withCtx(() => [..._cache[0] || (_cache[0] = [
7246
+ createTextVNode(" Types ", -1)
7247
+ ])]),
7248
+ _: 1
7249
+ }, 8, ["names", "onChanged"]);
7220
7250
  }
7221
- var AIdentityPolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$b, [
7222
- [
7223
- "render",
7224
- _sfc_render$a
7225
- ]
7226
- ]);
7251
+ var AIdentityPolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$a]]);
7227
7252
 
7228
7253
  var _sfc_main$a = defineComponent({
7229
7254
  components: {
@@ -7287,188 +7312,139 @@ var _sfc_main$a = defineComponent({
7287
7312
  }
7288
7313
  });
7289
7314
 
7290
- const _hoisted_1$9 = {
7291
- class: "row"
7292
- };
7293
- const _hoisted_2$8 = {
7294
- class: "col-7"
7295
- };
7296
- const _hoisted_3$6 = {
7297
- class: "col-5"
7298
- };
7299
- const _hoisted_4$4 = [
7300
- "for"
7301
- ];
7302
- const _hoisted_5$1 = [
7303
- "for"
7304
- ];
7305
- const _hoisted_6$1 = [
7306
- "for"
7307
- ];
7315
+ const _hoisted_1$9 = { class: "row" };
7316
+ const _hoisted_2$8 = { class: "col-7" };
7317
+ const _hoisted_3$6 = { class: "col-5" };
7318
+ const _hoisted_4$4 = ["for"];
7319
+ const _hoisted_5$1 = ["for"];
7320
+ const _hoisted_6$1 = ["for"];
7308
7321
  function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
7309
- const _component_AFormInputList = resolveComponent("AFormInputList");
7310
- const _component_VCFormGroup = resolveComponent("VCFormGroup");
7311
- const _component_IVuelidate = resolveComponent("IVuelidate");
7312
- const _component_VCFormInputCheckbox = resolveComponent("VCFormInputCheckbox");
7313
- return openBlock(), createElementBlock("div", _hoisted_1$9, [
7314
- createElementVNode("div", _hoisted_2$8, [
7315
- createVNode(_component_IVuelidate, {
7316
- validation: _ctx.vuelidate.attributeName
7317
- }, {
7318
- default: withCtx((props)=>[
7319
- createVNode(_component_VCFormGroup, {
7320
- "validation-messages": props.data,
7321
- "validation-severity": props.severity
7322
- }, {
7323
- default: withCtx(()=>[
7324
- createVNode(_component_AFormInputList, {
7325
- names: _ctx.vuelidate.attributeName.$model,
7326
- onChanged: _ctx.handleAttributeNameChanged
7327
- }, null, 8, [
7328
- "names",
7329
- "onChanged"
7330
- ])
7331
- ]),
7332
- _: 2
7333
- }, 1032, [
7334
- "validation-messages",
7335
- "validation-severity"
7336
- ])
7337
- ]),
7338
- _: 1
7339
- }, 8, [
7340
- "validation"
7341
- ])
7322
+ const _component_AFormInputList = resolveComponent("AFormInputList");
7323
+ const _component_VCFormGroup = resolveComponent("VCFormGroup");
7324
+ const _component_IVuelidate = resolveComponent("IVuelidate");
7325
+ const _component_VCFormInputCheckbox = resolveComponent("VCFormInputCheckbox");
7326
+ return openBlock(), createElementBlock("div", _hoisted_1$9, [
7327
+ createElementVNode("div", _hoisted_2$8, [
7328
+ createVNode(_component_IVuelidate, {
7329
+ validation: _ctx.vuelidate.attributeName
7330
+ }, {
7331
+ default: withCtx((props) => [
7332
+ createVNode(_component_VCFormGroup, {
7333
+ "validation-messages": props.data,
7334
+ "validation-severity": props.severity
7335
+ }, {
7336
+ default: withCtx(() => [
7337
+ createVNode(_component_AFormInputList, {
7338
+ names: _ctx.vuelidate.attributeName.$model,
7339
+ onChanged: _ctx.handleAttributeNameChanged
7340
+ }, null, 8, ["names", "onChanged"])
7341
+ ]),
7342
+ _: 1
7343
+ }, 8, ["validation-messages", "validation-severity"])
7342
7344
  ]),
7343
- createElementVNode("div", _hoisted_3$6, [
7344
- createVNode(_component_IVuelidate, {
7345
- validation: _ctx.vuelidate.attributeNameStrict
7346
- }, {
7347
- default: withCtx((props)=>[
7348
- createVNode(_component_VCFormGroup, {
7349
- "validation-messages": props.data,
7350
- "validation-severity": props.severity
7351
- }, {
7352
- default: withCtx(()=>[
7353
- createVNode(_component_VCFormInputCheckbox, {
7354
- modelValue: _ctx.vuelidate.attributeNameStrict.$model,
7355
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event)=>_ctx.vuelidate.attributeNameStrict.$model = $event),
7356
- "group-class": "form-switch",
7357
- label: true,
7358
- onChange: _ctx.handleUpdated
7359
- }, {
7360
- label: withCtx((iProps)=>[
7361
- createElementVNode("label", {
7362
- for: iProps.id
7363
- }, " Only match if the attribute is strict equal to the name? ", 8, _hoisted_4$4)
7364
- ]),
7365
- _: 1
7366
- }, 8, [
7367
- "modelValue",
7368
- "onChange"
7369
- ])
7370
- ]),
7371
- _: 2
7372
- }, 1032, [
7373
- "validation-messages",
7374
- "validation-severity"
7375
- ])
7376
- ]),
7345
+ _: 1
7346
+ }, 8, ["validation"])
7347
+ ]),
7348
+ createElementVNode("div", _hoisted_3$6, [
7349
+ createVNode(_component_IVuelidate, {
7350
+ validation: _ctx.vuelidate.attributeNameStrict
7351
+ }, {
7352
+ default: withCtx((props) => [
7353
+ createVNode(_component_VCFormGroup, {
7354
+ "validation-messages": props.data,
7355
+ "validation-severity": props.severity
7356
+ }, {
7357
+ default: withCtx(() => [
7358
+ createVNode(_component_VCFormInputCheckbox, {
7359
+ modelValue: _ctx.vuelidate.attributeNameStrict.$model,
7360
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.vuelidate.attributeNameStrict.$model = $event),
7361
+ "group-class": "form-switch",
7362
+ label: true,
7363
+ onChange: _ctx.handleUpdated
7364
+ }, {
7365
+ label: withCtx((iProps) => [
7366
+ createElementVNode("label", {
7367
+ for: iProps.id
7368
+ }, " Only match if the attribute is strict equal to the name? ", 8, _hoisted_4$4)
7369
+ ]),
7377
7370
  _: 1
7378
- }, 8, [
7379
- "validation"
7371
+ }, 8, ["modelValue", "onChange"])
7380
7372
  ]),
7381
- createVNode(_component_IVuelidate, {
7382
- validation: _ctx.vuelidate.attributeNullMatchAll
7383
- }, {
7384
- default: withCtx((props)=>[
7385
- createVNode(_component_VCFormGroup, {
7386
- "validation-messages": props.data,
7387
- "validation-severity": props.severity
7388
- }, {
7389
- default: withCtx(()=>[
7390
- createVNode(_component_VCFormInputCheckbox, {
7391
- modelValue: _ctx.vuelidate.attributeNullMatchAll.$model,
7392
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event)=>_ctx.vuelidate.attributeNullMatchAll.$model = $event),
7393
- "group-class": "form-switch",
7394
- label: true,
7395
- onChange: _ctx.handleUpdated
7396
- }, {
7397
- label: withCtx((iProps)=>[
7398
- createElementVNode("label", {
7399
- for: iProps.id
7400
- }, _cache[3] || (_cache[3] = [
7401
- createTextVNode(" Determines if resources with null realm-id/name value should match all identity realms."),
7402
- createElementVNode("br", null, null, -1),
7403
- createTextVNode(" If true, any identity realm can access resources with null realm-id/name values. ")
7404
- ]), 8, _hoisted_5$1)
7405
- ]),
7406
- _: 1
7407
- }, 8, [
7408
- "modelValue",
7409
- "onChange"
7410
- ])
7411
- ]),
7412
- _: 2
7413
- }, 1032, [
7414
- "validation-messages",
7415
- "validation-severity"
7416
- ])
7417
- ]),
7373
+ _: 1
7374
+ }, 8, ["validation-messages", "validation-severity"])
7375
+ ]),
7376
+ _: 1
7377
+ }, 8, ["validation"]),
7378
+ createVNode(_component_IVuelidate, {
7379
+ validation: _ctx.vuelidate.attributeNullMatchAll
7380
+ }, {
7381
+ default: withCtx((props) => [
7382
+ createVNode(_component_VCFormGroup, {
7383
+ "validation-messages": props.data,
7384
+ "validation-severity": props.severity
7385
+ }, {
7386
+ default: withCtx(() => [
7387
+ createVNode(_component_VCFormInputCheckbox, {
7388
+ modelValue: _ctx.vuelidate.attributeNullMatchAll.$model,
7389
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.vuelidate.attributeNullMatchAll.$model = $event),
7390
+ "group-class": "form-switch",
7391
+ label: true,
7392
+ onChange: _ctx.handleUpdated
7393
+ }, {
7394
+ label: withCtx((iProps) => [
7395
+ createElementVNode("label", {
7396
+ for: iProps.id
7397
+ }, [..._cache[3] || (_cache[3] = [
7398
+ createTextVNode(" Determines if resources with null realm-id/name value should match all identity realms.", -1),
7399
+ createElementVNode("br", null, null, -1),
7400
+ createTextVNode(" If true, any identity realm can access resources with null realm-id/name values. ", -1)
7401
+ ])], 8, _hoisted_5$1)
7402
+ ]),
7418
7403
  _: 1
7419
- }, 8, [
7420
- "validation"
7404
+ }, 8, ["modelValue", "onChange"])
7421
7405
  ]),
7422
- createVNode(_component_IVuelidate, {
7423
- validation: _ctx.vuelidate.identityMasterMatchAll
7424
- }, {
7425
- default: withCtx((props)=>[
7426
- createVNode(_component_VCFormGroup, {
7427
- "validation-messages": props.data,
7428
- "validation-severity": props.severity
7429
- }, {
7430
- default: withCtx(()=>[
7431
- createVNode(_component_VCFormInputCheckbox, {
7432
- modelValue: _ctx.vuelidate.identityMasterMatchAll.$model,
7433
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event)=>_ctx.vuelidate.identityMasterMatchAll.$model = $event),
7434
- "group-class": "form-switch",
7435
- label: true,
7436
- onChange: _ctx.handleUpdated
7437
- }, {
7438
- label: withCtx((iProps)=>[
7439
- createElementVNode("label", {
7440
- for: iProps.id
7441
- }, _cache[4] || (_cache[4] = [
7442
- createTextVNode(" Specifies whether the master realm of an identity should match all realm-id/name attributes, including null."),
7443
- createElementVNode("br", null, null, -1),
7444
- createTextVNode(" If true, the master realm can access any resource regardless of its realm value. ")
7445
- ]), 8, _hoisted_6$1)
7446
- ]),
7447
- _: 1
7448
- }, 8, [
7449
- "modelValue",
7450
- "onChange"
7451
- ])
7452
- ]),
7453
- _: 2
7454
- }, 1032, [
7455
- "validation-messages",
7456
- "validation-severity"
7457
- ])
7458
- ]),
7406
+ _: 1
7407
+ }, 8, ["validation-messages", "validation-severity"])
7408
+ ]),
7409
+ _: 1
7410
+ }, 8, ["validation"]),
7411
+ createVNode(_component_IVuelidate, {
7412
+ validation: _ctx.vuelidate.identityMasterMatchAll
7413
+ }, {
7414
+ default: withCtx((props) => [
7415
+ createVNode(_component_VCFormGroup, {
7416
+ "validation-messages": props.data,
7417
+ "validation-severity": props.severity
7418
+ }, {
7419
+ default: withCtx(() => [
7420
+ createVNode(_component_VCFormInputCheckbox, {
7421
+ modelValue: _ctx.vuelidate.identityMasterMatchAll.$model,
7422
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => _ctx.vuelidate.identityMasterMatchAll.$model = $event),
7423
+ "group-class": "form-switch",
7424
+ label: true,
7425
+ onChange: _ctx.handleUpdated
7426
+ }, {
7427
+ label: withCtx((iProps) => [
7428
+ createElementVNode("label", {
7429
+ for: iProps.id
7430
+ }, [..._cache[4] || (_cache[4] = [
7431
+ createTextVNode(" Specifies whether the master realm of an identity should match all realm-id/name attributes, including null.", -1),
7432
+ createElementVNode("br", null, null, -1),
7433
+ createTextVNode(" If true, the master realm can access any resource regardless of its realm value. ", -1)
7434
+ ])], 8, _hoisted_6$1)
7435
+ ]),
7459
7436
  _: 1
7460
- }, 8, [
7461
- "validation"
7462
- ])
7463
- ])
7464
- ]);
7437
+ }, 8, ["modelValue", "onChange"])
7438
+ ]),
7439
+ _: 1
7440
+ }, 8, ["validation-messages", "validation-severity"])
7441
+ ]),
7442
+ _: 1
7443
+ }, 8, ["validation"])
7444
+ ])
7445
+ ]);
7465
7446
  }
7466
- var ARealmMatchPolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$a, [
7467
- [
7468
- "render",
7469
- _sfc_render$9
7470
- ]
7471
- ]);
7447
+ var ARealmMatchPolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["render", _sfc_render$9]]);
7472
7448
 
7473
7449
  var _sfc_main$9 = defineComponent({
7474
7450
  components: {
@@ -7558,239 +7534,183 @@ var _sfc_main$9 = defineComponent({
7558
7534
  }
7559
7535
  });
7560
7536
 
7561
- const _hoisted_1$8 = {
7562
- class: "row"
7563
- };
7537
+ const _hoisted_1$8 = { class: "row" };
7564
7538
  const _hoisted_2$7 = {
7565
- key: 0,
7566
- class: "col"
7539
+ key: 0,
7540
+ class: "col"
7567
7541
  };
7568
7542
  const _hoisted_3$5 = {
7569
- key: 1,
7570
- class: "col"
7543
+ key: 1,
7544
+ class: "col"
7571
7545
  };
7572
7546
  const _hoisted_4$3 = {
7573
- key: 2,
7574
- class: "col"
7547
+ key: 2,
7548
+ class: "col"
7575
7549
  };
7576
7550
  function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
7577
- const _component_VCFormInput = resolveComponent("VCFormInput");
7578
- const _component_VCFormGroup = resolveComponent("VCFormGroup");
7579
- const _component_IVuelidate = resolveComponent("IVuelidate");
7580
- const _component_VCFormSelect = resolveComponent("VCFormSelect");
7581
- return openBlock(), createElementBlock("div", null, [
7551
+ const _component_VCFormInput = resolveComponent("VCFormInput");
7552
+ const _component_VCFormGroup = resolveComponent("VCFormGroup");
7553
+ const _component_IVuelidate = resolveComponent("IVuelidate");
7554
+ const _component_VCFormSelect = resolveComponent("VCFormSelect");
7555
+ return openBlock(), createElementBlock("div", null, [
7556
+ createVNode(_component_IVuelidate, {
7557
+ validation: _ctx.vuelidate.start
7558
+ }, {
7559
+ default: withCtx((props) => [
7560
+ createVNode(_component_VCFormGroup, {
7561
+ "validation-messages": props.data,
7562
+ "validation-severity": props.severity
7563
+ }, {
7564
+ label: withCtx(() => [..._cache[6] || (_cache[6] = [
7565
+ createTextVNode(" Start ", -1)
7566
+ ])]),
7567
+ default: withCtx(() => [
7568
+ createVNode(_component_VCFormInput, {
7569
+ modelValue: _ctx.vuelidate.start.$model,
7570
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.vuelidate.start.$model = $event),
7571
+ placeholder: "00:00:00",
7572
+ onChange: _ctx.handleUpdated
7573
+ }, null, 8, ["modelValue", "onChange"])
7574
+ ]),
7575
+ _: 1
7576
+ }, 8, ["validation-messages", "validation-severity"])
7577
+ ]),
7578
+ _: 1
7579
+ }, 8, ["validation"]),
7580
+ createVNode(_component_IVuelidate, {
7581
+ validation: _ctx.vuelidate.end
7582
+ }, {
7583
+ default: withCtx((props) => [
7584
+ createVNode(_component_VCFormGroup, {
7585
+ "validation-messages": props.data,
7586
+ "validation-severity": props.severity
7587
+ }, {
7588
+ label: withCtx(() => [..._cache[7] || (_cache[7] = [
7589
+ createTextVNode(" End ", -1)
7590
+ ])]),
7591
+ default: withCtx(() => [
7592
+ createVNode(_component_VCFormInput, {
7593
+ modelValue: _ctx.vuelidate.end.$model,
7594
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.vuelidate.end.$model = $event),
7595
+ placeholder: "00:00:00",
7596
+ onChange: _ctx.handleUpdated
7597
+ }, null, 8, ["modelValue", "onChange"])
7598
+ ]),
7599
+ _: 1
7600
+ }, 8, ["validation-messages", "validation-severity"])
7601
+ ]),
7602
+ _: 1
7603
+ }, 8, ["validation"]),
7604
+ createVNode(_component_IVuelidate, {
7605
+ validation: _ctx.vuelidate.interval
7606
+ }, {
7607
+ default: withCtx((props) => [
7608
+ createVNode(_component_VCFormGroup, {
7609
+ "validation-messages": props.data,
7610
+ "validation-severity": props.severity
7611
+ }, {
7612
+ label: withCtx(() => [..._cache[8] || (_cache[8] = [
7613
+ createTextVNode(" Interval ", -1)
7614
+ ])]),
7615
+ default: withCtx(() => [
7616
+ createVNode(_component_VCFormSelect, {
7617
+ modelValue: _ctx.vuelidate.interval.$model,
7618
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => _ctx.vuelidate.interval.$model = $event),
7619
+ options: _ctx.intervalOptions,
7620
+ onChange: _ctx.handleIntervalUpdated
7621
+ }, null, 8, ["modelValue", "options", "onChange"])
7622
+ ]),
7623
+ _: 1
7624
+ }, 8, ["validation-messages", "validation-severity"])
7625
+ ]),
7626
+ _: 1
7627
+ }, 8, ["validation"]),
7628
+ createElementVNode("div", _hoisted_1$8, [
7629
+ _ctx.displayIntervalForDayOfWeek ? (openBlock(), createElementBlock("div", _hoisted_2$7, [
7582
7630
  createVNode(_component_IVuelidate, {
7583
- validation: _ctx.vuelidate.start
7631
+ validation: _ctx.vuelidate.dayOfWeek
7584
7632
  }, {
7585
- default: withCtx((props)=>[
7586
- createVNode(_component_VCFormGroup, {
7587
- "validation-messages": props.data,
7588
- "validation-severity": props.severity
7589
- }, {
7590
- label: withCtx(()=>_cache[6] || (_cache[6] = [
7591
- createTextVNode(" Start ")
7592
- ])),
7593
- default: withCtx(()=>[
7594
- createVNode(_component_VCFormInput, {
7595
- modelValue: _ctx.vuelidate.start.$model,
7596
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event)=>_ctx.vuelidate.start.$model = $event),
7597
- placeholder: "00:00:00",
7598
- onChange: _ctx.handleUpdated
7599
- }, null, 8, [
7600
- "modelValue",
7601
- "onChange"
7602
- ])
7603
- ]),
7604
- _: 2
7605
- }, 1032, [
7606
- "validation-messages",
7607
- "validation-severity"
7608
- ])
7609
- ]),
7610
- _: 1
7611
- }, 8, [
7612
- "validation"
7613
- ]),
7633
+ default: withCtx((props) => [
7634
+ createVNode(_component_VCFormGroup, {
7635
+ "validation-messages": props.data,
7636
+ "validation-severity": props.severity
7637
+ }, {
7638
+ label: withCtx(() => [..._cache[9] || (_cache[9] = [
7639
+ createTextVNode(" Day of Week ", -1)
7640
+ ])]),
7641
+ default: withCtx(() => [
7642
+ createVNode(_component_VCFormInput, {
7643
+ modelValue: _ctx.vuelidate.dayOfWeek.$model,
7644
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => _ctx.vuelidate.dayOfWeek.$model = $event),
7645
+ placeholder: "0-7",
7646
+ type: "number",
7647
+ onChange: _ctx.handleUpdated
7648
+ }, null, 8, ["modelValue", "onChange"])
7649
+ ]),
7650
+ _: 1
7651
+ }, 8, ["validation-messages", "validation-severity"])
7652
+ ]),
7653
+ _: 1
7654
+ }, 8, ["validation"])
7655
+ ])) : createCommentVNode("", true),
7656
+ _ctx.displayIntervalForDayOfMonth ? (openBlock(), createElementBlock("div", _hoisted_3$5, [
7614
7657
  createVNode(_component_IVuelidate, {
7615
- validation: _ctx.vuelidate.end
7658
+ validation: _ctx.vuelidate.dayOfMonth
7616
7659
  }, {
7617
- default: withCtx((props)=>[
7618
- createVNode(_component_VCFormGroup, {
7619
- "validation-messages": props.data,
7620
- "validation-severity": props.severity
7621
- }, {
7622
- label: withCtx(()=>_cache[7] || (_cache[7] = [
7623
- createTextVNode(" End ")
7624
- ])),
7625
- default: withCtx(()=>[
7626
- createVNode(_component_VCFormInput, {
7627
- modelValue: _ctx.vuelidate.end.$model,
7628
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event)=>_ctx.vuelidate.end.$model = $event),
7629
- placeholder: "00:00:00",
7630
- onChange: _ctx.handleUpdated
7631
- }, null, 8, [
7632
- "modelValue",
7633
- "onChange"
7634
- ])
7635
- ]),
7636
- _: 2
7637
- }, 1032, [
7638
- "validation-messages",
7639
- "validation-severity"
7640
- ])
7641
- ]),
7642
- _: 1
7643
- }, 8, [
7644
- "validation"
7645
- ]),
7660
+ default: withCtx((props) => [
7661
+ createVNode(_component_VCFormGroup, {
7662
+ "validation-messages": props.data,
7663
+ "validation-severity": props.severity
7664
+ }, {
7665
+ label: withCtx(() => [..._cache[10] || (_cache[10] = [
7666
+ createTextVNode(" Day of Month ", -1)
7667
+ ])]),
7668
+ default: withCtx(() => [
7669
+ createVNode(_component_VCFormInput, {
7670
+ modelValue: _ctx.vuelidate.dayOfMonth.$model,
7671
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => _ctx.vuelidate.dayOfMonth.$model = $event),
7672
+ placeholder: "1-31",
7673
+ type: "number",
7674
+ onChange: _ctx.handleUpdated
7675
+ }, null, 8, ["modelValue", "onChange"])
7676
+ ]),
7677
+ _: 1
7678
+ }, 8, ["validation-messages", "validation-severity"])
7679
+ ]),
7680
+ _: 1
7681
+ }, 8, ["validation"])
7682
+ ])) : createCommentVNode("", true),
7683
+ _ctx.displayIntervalForDayOfYear ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
7646
7684
  createVNode(_component_IVuelidate, {
7647
- validation: _ctx.vuelidate.interval
7685
+ validation: _ctx.vuelidate.dayOfYear
7648
7686
  }, {
7649
- default: withCtx((props)=>[
7650
- createVNode(_component_VCFormGroup, {
7651
- "validation-messages": props.data,
7652
- "validation-severity": props.severity
7653
- }, {
7654
- label: withCtx(()=>_cache[8] || (_cache[8] = [
7655
- createTextVNode(" Interval ")
7656
- ])),
7657
- default: withCtx(()=>[
7658
- createVNode(_component_VCFormSelect, {
7659
- modelValue: _ctx.vuelidate.interval.$model,
7660
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event)=>_ctx.vuelidate.interval.$model = $event),
7661
- options: _ctx.intervalOptions,
7662
- onChange: _ctx.handleIntervalUpdated
7663
- }, null, 8, [
7664
- "modelValue",
7665
- "options",
7666
- "onChange"
7667
- ])
7668
- ]),
7669
- _: 2
7670
- }, 1032, [
7671
- "validation-messages",
7672
- "validation-severity"
7673
- ])
7674
- ]),
7675
- _: 1
7676
- }, 8, [
7677
- "validation"
7678
- ]),
7679
- createElementVNode("div", _hoisted_1$8, [
7680
- _ctx.displayIntervalForDayOfWeek ? (openBlock(), createElementBlock("div", _hoisted_2$7, [
7681
- createVNode(_component_IVuelidate, {
7682
- validation: _ctx.vuelidate.dayOfWeek
7683
- }, {
7684
- default: withCtx((props)=>[
7685
- createVNode(_component_VCFormGroup, {
7686
- "validation-messages": props.data,
7687
- "validation-severity": props.severity
7688
- }, {
7689
- label: withCtx(()=>_cache[9] || (_cache[9] = [
7690
- createTextVNode(" Day of Week ")
7691
- ])),
7692
- default: withCtx(()=>[
7693
- createVNode(_component_VCFormInput, {
7694
- modelValue: _ctx.vuelidate.dayOfWeek.$model,
7695
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event)=>_ctx.vuelidate.dayOfWeek.$model = $event),
7696
- placeholder: "0-7",
7697
- type: "number",
7698
- onChange: _ctx.handleUpdated
7699
- }, null, 8, [
7700
- "modelValue",
7701
- "onChange"
7702
- ])
7703
- ]),
7704
- _: 2
7705
- }, 1032, [
7706
- "validation-messages",
7707
- "validation-severity"
7708
- ])
7709
- ]),
7710
- _: 1
7711
- }, 8, [
7712
- "validation"
7713
- ])
7714
- ])) : createCommentVNode("", true),
7715
- _ctx.displayIntervalForDayOfMonth ? (openBlock(), createElementBlock("div", _hoisted_3$5, [
7716
- createVNode(_component_IVuelidate, {
7717
- validation: _ctx.vuelidate.dayOfMonth
7718
- }, {
7719
- default: withCtx((props)=>[
7720
- createVNode(_component_VCFormGroup, {
7721
- "validation-messages": props.data,
7722
- "validation-severity": props.severity
7723
- }, {
7724
- label: withCtx(()=>_cache[10] || (_cache[10] = [
7725
- createTextVNode(" Day of Month ")
7726
- ])),
7727
- default: withCtx(()=>[
7728
- createVNode(_component_VCFormInput, {
7729
- modelValue: _ctx.vuelidate.dayOfMonth.$model,
7730
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event)=>_ctx.vuelidate.dayOfMonth.$model = $event),
7731
- placeholder: "1-31",
7732
- type: "number",
7733
- onChange: _ctx.handleUpdated
7734
- }, null, 8, [
7735
- "modelValue",
7736
- "onChange"
7737
- ])
7738
- ]),
7739
- _: 2
7740
- }, 1032, [
7741
- "validation-messages",
7742
- "validation-severity"
7743
- ])
7744
- ]),
7745
- _: 1
7746
- }, 8, [
7747
- "validation"
7748
- ])
7749
- ])) : createCommentVNode("", true),
7750
- _ctx.displayIntervalForDayOfYear ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
7751
- createVNode(_component_IVuelidate, {
7752
- validation: _ctx.vuelidate.dayOfYear
7753
- }, {
7754
- default: withCtx((props)=>[
7755
- createVNode(_component_VCFormGroup, {
7756
- "validation-messages": props.data,
7757
- "validation-severity": props.severity
7758
- }, {
7759
- label: withCtx(()=>_cache[11] || (_cache[11] = [
7760
- createTextVNode(" Day of Year ")
7761
- ])),
7762
- default: withCtx(()=>[
7763
- createVNode(_component_VCFormInput, {
7764
- modelValue: _ctx.vuelidate.dayOfYear.$model,
7765
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event)=>_ctx.vuelidate.dayOfYear.$model = $event),
7766
- type: "number",
7767
- placeholder: "1-365",
7768
- onChange: _ctx.handleUpdated
7769
- }, null, 8, [
7770
- "modelValue",
7771
- "onChange"
7772
- ])
7773
- ]),
7774
- _: 2
7775
- }, 1032, [
7776
- "validation-messages",
7777
- "validation-severity"
7778
- ])
7779
- ]),
7780
- _: 1
7781
- }, 8, [
7782
- "validation"
7783
- ])
7784
- ])) : createCommentVNode("", true)
7785
- ])
7786
- ]);
7687
+ default: withCtx((props) => [
7688
+ createVNode(_component_VCFormGroup, {
7689
+ "validation-messages": props.data,
7690
+ "validation-severity": props.severity
7691
+ }, {
7692
+ label: withCtx(() => [..._cache[11] || (_cache[11] = [
7693
+ createTextVNode(" Day of Year ", -1)
7694
+ ])]),
7695
+ default: withCtx(() => [
7696
+ createVNode(_component_VCFormInput, {
7697
+ modelValue: _ctx.vuelidate.dayOfYear.$model,
7698
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => _ctx.vuelidate.dayOfYear.$model = $event),
7699
+ type: "number",
7700
+ placeholder: "1-365",
7701
+ onChange: _ctx.handleUpdated
7702
+ }, null, 8, ["modelValue", "onChange"])
7703
+ ]),
7704
+ _: 1
7705
+ }, 8, ["validation-messages", "validation-severity"])
7706
+ ]),
7707
+ _: 1
7708
+ }, 8, ["validation"])
7709
+ ])) : createCommentVNode("", true)
7710
+ ])
7711
+ ]);
7787
7712
  }
7788
- var ATimePolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$9, [
7789
- [
7790
- "render",
7791
- _sfc_render$8
7792
- ]
7793
- ]);
7713
+ var ATimePolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["render", _sfc_render$8]]);
7794
7714
 
7795
7715
  const APolicy = defineComponent({
7796
7716
  props: defineEntityVProps(),
@@ -7857,50 +7777,28 @@ var _sfc_main$8 = defineComponent({
7857
7777
  }
7858
7778
  });
7859
7779
 
7860
- const _hoisted_1$7 = {
7861
- class: "d-flex flex-column gap-2"
7862
- };
7863
- const _hoisted_2$6 = {
7864
- class: "d-flex flex-row gap-2 flex-wrap"
7865
- };
7866
- const _hoisted_3$4 = [
7867
- "onClick"
7868
- ];
7780
+ const _hoisted_1$7 = { class: "d-flex flex-column gap-2" };
7781
+ const _hoisted_2$6 = { class: "d-flex flex-row gap-2 flex-wrap" };
7782
+ const _hoisted_3$4 = ["onClick"];
7869
7783
  function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
7870
- return openBlock(), createElementBlock("div", _hoisted_1$7, [
7871
- createElementVNode("div", null, [
7872
- _cache[0] || (_cache[0] = createElementVNode("h6", null, "Type", -1)),
7873
- createElementVNode("div", _hoisted_2$6, [
7874
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.options, (item, key)=>{
7875
- return openBlock(), createElementBlock("div", {
7876
- key,
7877
- class: normalizeClass([
7878
- {
7879
- "active": item.id === _ctx.option
7880
- },
7881
- "d-flex flex-column gap-1 text-center a-picker-item"
7882
- ]),
7883
- onClick: withModifiers(($event)=>_ctx.pick(`${item.id}`), [
7884
- "prevent"
7885
- ])
7886
- }, [
7887
- createElementVNode("div", null, toDisplayString(item.value), 1)
7888
- ], 10, _hoisted_3$4);
7889
- }), 128))
7890
- ])
7891
- ])
7892
- ]);
7784
+ return openBlock(), createElementBlock("div", _hoisted_1$7, [
7785
+ createElementVNode("div", null, [
7786
+ _cache[0] || (_cache[0] = createElementVNode("h6", null, "Type", -1)),
7787
+ createElementVNode("div", _hoisted_2$6, [
7788
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.options, (item, key) => {
7789
+ return openBlock(), createElementBlock("div", {
7790
+ key,
7791
+ class: normalizeClass([{ "active": item.id === _ctx.option }, "d-flex flex-column gap-1 text-center a-picker-item"]),
7792
+ onClick: withModifiers(($event) => _ctx.pick(`${item.id}`), ["prevent"])
7793
+ }, [
7794
+ createElementVNode("div", null, toDisplayString(item.value), 1)
7795
+ ], 10, _hoisted_3$4);
7796
+ }), 128))
7797
+ ])
7798
+ ])
7799
+ ]);
7893
7800
  }
7894
- var APolicyTypePicker = /* @__PURE__ */ _export_sfc(_sfc_main$8, [
7895
- [
7896
- "render",
7897
- _sfc_render$7
7898
- ],
7899
- [
7900
- "__scopeId",
7901
- "data-v-3fa3964f"
7902
- ]
7903
- ]);
7801
+ var APolicyTypePicker = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["render", _sfc_render$7], ["__scopeId", "data-v-3fa3964f"]]);
7904
7802
 
7905
7803
  var _sfc_main$7 = defineComponent({
7906
7804
  components: {
@@ -7986,201 +7884,151 @@ var _sfc_main$7 = defineComponent({
7986
7884
  }
7987
7885
  });
7988
7886
 
7989
- const _hoisted_1$6 = {
7990
- class: "row"
7991
- };
7992
- const _hoisted_2$5 = {
7993
- class: "col"
7994
- };
7995
- const _hoisted_3$3 = [
7996
- "for"
7997
- ];
7887
+ const _hoisted_1$6 = { class: "row" };
7888
+ const _hoisted_2$5 = { class: "col" };
7889
+ const _hoisted_3$3 = ["for"];
7998
7890
  const _hoisted_4$2 = {
7999
- key: 0,
8000
- class: "col"
7891
+ key: 0,
7892
+ class: "col"
8001
7893
  };
8002
7894
  function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
8003
- const _component_VCFormInput = resolveComponent("VCFormInput");
8004
- const _component_VCFormGroup = resolveComponent("VCFormGroup");
8005
- const _component_IVuelidate = resolveComponent("IVuelidate");
8006
- const _component_VCFormTextarea = resolveComponent("VCFormTextarea");
8007
- const _component_VCFormInputCheckbox = resolveComponent("VCFormInputCheckbox");
8008
- const _component_ARealmPicker = resolveComponent("ARealmPicker");
8009
- return openBlock(), createElementBlock("div", _hoisted_1$6, [
8010
- createElementVNode("div", _hoisted_2$5, [
8011
- createVNode(_component_IVuelidate, {
8012
- validation: _ctx.vuelidate.name
8013
- }, {
8014
- default: withCtx((props)=>[
8015
- createVNode(_component_VCFormGroup, {
8016
- "validation-messages": props.data,
8017
- "validation-severity": props.severity
8018
- }, {
8019
- label: withCtx(()=>_cache[5] || (_cache[5] = [
8020
- createTextVNode(" Name ")
8021
- ])),
8022
- default: withCtx(()=>[
8023
- createVNode(_component_VCFormInput, {
8024
- modelValue: _ctx.vuelidate.name.$model,
8025
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event)=>_ctx.vuelidate.name.$model = $event),
8026
- onChange: _ctx.handleUpdated
8027
- }, null, 8, [
8028
- "modelValue",
8029
- "onChange"
8030
- ])
8031
- ]),
8032
- _: 2
8033
- }, 1032, [
8034
- "validation-messages",
8035
- "validation-severity"
8036
- ])
8037
- ]),
8038
- _: 1
8039
- }, 8, [
8040
- "validation"
7895
+ const _component_VCFormInput = resolveComponent("VCFormInput");
7896
+ const _component_VCFormGroup = resolveComponent("VCFormGroup");
7897
+ const _component_IVuelidate = resolveComponent("IVuelidate");
7898
+ const _component_VCFormTextarea = resolveComponent("VCFormTextarea");
7899
+ const _component_VCFormInputCheckbox = resolveComponent("VCFormInputCheckbox");
7900
+ const _component_ARealmPicker = resolveComponent("ARealmPicker");
7901
+ return openBlock(), createElementBlock("div", _hoisted_1$6, [
7902
+ createElementVNode("div", _hoisted_2$5, [
7903
+ createVNode(_component_IVuelidate, {
7904
+ validation: _ctx.vuelidate.name
7905
+ }, {
7906
+ default: withCtx((props) => [
7907
+ createVNode(_component_VCFormGroup, {
7908
+ "validation-messages": props.data,
7909
+ "validation-severity": props.severity
7910
+ }, {
7911
+ label: withCtx(() => [..._cache[5] || (_cache[5] = [
7912
+ createTextVNode(" Name ", -1)
7913
+ ])]),
7914
+ default: withCtx(() => [
7915
+ createVNode(_component_VCFormInput, {
7916
+ modelValue: _ctx.vuelidate.name.$model,
7917
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.vuelidate.name.$model = $event),
7918
+ onChange: _ctx.handleUpdated
7919
+ }, null, 8, ["modelValue", "onChange"])
8041
7920
  ]),
8042
- createVNode(_component_IVuelidate, {
8043
- validation: _ctx.vuelidate.display_name
8044
- }, {
8045
- default: withCtx((props)=>[
8046
- createVNode(_component_VCFormGroup, {
8047
- "validation-messages": props.data,
8048
- "validation-severity": props.severity
8049
- }, {
8050
- label: withCtx(()=>_cache[6] || (_cache[6] = [
8051
- createTextVNode(" Display Name ")
8052
- ])),
8053
- default: withCtx(()=>[
8054
- createVNode(_component_VCFormInput, {
8055
- modelValue: _ctx.vuelidate.display_name.$model,
8056
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event)=>_ctx.vuelidate.display_name.$model = $event),
8057
- onChange: _ctx.handleUpdated
8058
- }, null, 8, [
8059
- "modelValue",
8060
- "onChange"
8061
- ])
8062
- ]),
8063
- _: 2
8064
- }, 1032, [
8065
- "validation-messages",
8066
- "validation-severity"
8067
- ])
8068
- ]),
8069
- _: 1
8070
- }, 8, [
8071
- "validation"
7921
+ _: 1
7922
+ }, 8, ["validation-messages", "validation-severity"])
7923
+ ]),
7924
+ _: 1
7925
+ }, 8, ["validation"]),
7926
+ createVNode(_component_IVuelidate, {
7927
+ validation: _ctx.vuelidate.display_name
7928
+ }, {
7929
+ default: withCtx((props) => [
7930
+ createVNode(_component_VCFormGroup, {
7931
+ "validation-messages": props.data,
7932
+ "validation-severity": props.severity
7933
+ }, {
7934
+ label: withCtx(() => [..._cache[6] || (_cache[6] = [
7935
+ createTextVNode(" Display Name ", -1)
7936
+ ])]),
7937
+ default: withCtx(() => [
7938
+ createVNode(_component_VCFormInput, {
7939
+ modelValue: _ctx.vuelidate.display_name.$model,
7940
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.vuelidate.display_name.$model = $event),
7941
+ onChange: _ctx.handleUpdated
7942
+ }, null, 8, ["modelValue", "onChange"])
8072
7943
  ]),
8073
- createVNode(_component_IVuelidate, {
8074
- validation: _ctx.vuelidate.description
8075
- }, {
8076
- default: withCtx((props)=>[
8077
- createVNode(_component_VCFormGroup, {
8078
- "validation-messages": props.data,
8079
- "validation-severity": props.severity
8080
- }, {
8081
- label: withCtx(()=>_cache[7] || (_cache[7] = [
8082
- createTextVNode(" Description ")
8083
- ])),
8084
- default: withCtx(()=>[
8085
- createVNode(_component_VCFormTextarea, {
8086
- modelValue: _ctx.vuelidate.description.$model,
8087
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event)=>_ctx.vuelidate.description.$model = $event),
8088
- rows: "4",
8089
- onChange: _ctx.handleUpdated
8090
- }, null, 8, [
8091
- "modelValue",
8092
- "onChange"
8093
- ])
8094
- ]),
8095
- _: 2
8096
- }, 1032, [
8097
- "validation-messages",
8098
- "validation-severity"
8099
- ])
8100
- ]),
8101
- _: 1
8102
- }, 8, [
8103
- "validation"
7944
+ _: 1
7945
+ }, 8, ["validation-messages", "validation-severity"])
7946
+ ]),
7947
+ _: 1
7948
+ }, 8, ["validation"]),
7949
+ createVNode(_component_IVuelidate, {
7950
+ validation: _ctx.vuelidate.description
7951
+ }, {
7952
+ default: withCtx((props) => [
7953
+ createVNode(_component_VCFormGroup, {
7954
+ "validation-messages": props.data,
7955
+ "validation-severity": props.severity
7956
+ }, {
7957
+ label: withCtx(() => [..._cache[7] || (_cache[7] = [
7958
+ createTextVNode(" Description ", -1)
7959
+ ])]),
7960
+ default: withCtx(() => [
7961
+ createVNode(_component_VCFormTextarea, {
7962
+ modelValue: _ctx.vuelidate.description.$model,
7963
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => _ctx.vuelidate.description.$model = $event),
7964
+ rows: "4",
7965
+ onChange: _ctx.handleUpdated
7966
+ }, null, 8, ["modelValue", "onChange"])
8104
7967
  ]),
8105
- createVNode(_component_IVuelidate, {
8106
- validation: _ctx.vuelidate.invert
8107
- }, {
8108
- default: withCtx((props)=>[
8109
- createVNode(_component_VCFormGroup, {
8110
- "validation-messages": props.data,
8111
- "validation-severity": props.severity
8112
- }, {
8113
- default: withCtx(()=>[
8114
- createVNode(_component_VCFormInputCheckbox, {
8115
- modelValue: _ctx.vuelidate.invert.$model,
8116
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event)=>_ctx.vuelidate.invert.$model = $event),
8117
- "group-class": "form-switch",
8118
- label: true,
8119
- onChange: _ctx.handleUpdated
8120
- }, {
8121
- label: withCtx((iProps)=>[
8122
- createElementVNode("label", {
8123
- for: iProps.id
8124
- }, " Invert? ", 8, _hoisted_3$3)
8125
- ]),
8126
- _: 1
8127
- }, 8, [
8128
- "modelValue",
8129
- "onChange"
8130
- ])
8131
- ]),
8132
- _: 2
8133
- }, 1032, [
8134
- "validation-messages",
8135
- "validation-severity"
8136
- ])
8137
- ]),
8138
- _: 1
8139
- }, 8, [
8140
- "validation"
8141
- ])
7968
+ _: 1
7969
+ }, 8, ["validation-messages", "validation-severity"])
8142
7970
  ]),
8143
- !_ctx.realmId && !_ctx.isEditing ? (openBlock(), createElementBlock("div", _hoisted_4$2, [
8144
- createVNode(_component_IVuelidate, {
8145
- validation: _ctx.vuelidate.invert
8146
- }, {
8147
- default: withCtx((props)=>[
8148
- createVNode(_component_VCFormGroup, {
8149
- "validation-messages": props.data,
8150
- "validation-severity": props.severity
8151
- }, {
8152
- label: withCtx(()=>_cache[8] || (_cache[8] = [
8153
- createTextVNode(" Realm ")
8154
- ])),
8155
- default: withCtx(()=>[
8156
- createVNode(_component_ARealmPicker, {
8157
- value: _ctx.vuelidate.realm_id.$model,
8158
- onChange: _cache[4] || (_cache[4] = (value)=>{
8159
- _ctx.vuelidate.realm_id.$model = value.length > 0 ? value[0] : "";
8160
- })
8161
- }, null, 8, [
8162
- "value"
8163
- ])
8164
- ]),
8165
- _: 2
8166
- }, 1032, [
8167
- "validation-messages",
8168
- "validation-severity"
8169
- ])
8170
- ]),
7971
+ _: 1
7972
+ }, 8, ["validation"]),
7973
+ createVNode(_component_IVuelidate, {
7974
+ validation: _ctx.vuelidate.invert
7975
+ }, {
7976
+ default: withCtx((props) => [
7977
+ createVNode(_component_VCFormGroup, {
7978
+ "validation-messages": props.data,
7979
+ "validation-severity": props.severity
7980
+ }, {
7981
+ default: withCtx(() => [
7982
+ createVNode(_component_VCFormInputCheckbox, {
7983
+ modelValue: _ctx.vuelidate.invert.$model,
7984
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => _ctx.vuelidate.invert.$model = $event),
7985
+ "group-class": "form-switch",
7986
+ label: true,
7987
+ onChange: _ctx.handleUpdated
7988
+ }, {
7989
+ label: withCtx((iProps) => [
7990
+ createElementVNode("label", {
7991
+ for: iProps.id
7992
+ }, " Invert? ", 8, _hoisted_3$3)
7993
+ ]),
8171
7994
  _: 1
8172
- }, 8, [
8173
- "validation"
8174
- ])
8175
- ])) : createCommentVNode("", true)
8176
- ]);
7995
+ }, 8, ["modelValue", "onChange"])
7996
+ ]),
7997
+ _: 1
7998
+ }, 8, ["validation-messages", "validation-severity"])
7999
+ ]),
8000
+ _: 1
8001
+ }, 8, ["validation"])
8002
+ ]),
8003
+ !_ctx.realmId && !_ctx.isEditing ? (openBlock(), createElementBlock("div", _hoisted_4$2, [
8004
+ createVNode(_component_IVuelidate, {
8005
+ validation: _ctx.vuelidate.invert
8006
+ }, {
8007
+ default: withCtx((props) => [
8008
+ createVNode(_component_VCFormGroup, {
8009
+ "validation-messages": props.data,
8010
+ "validation-severity": props.severity
8011
+ }, {
8012
+ label: withCtx(() => [..._cache[8] || (_cache[8] = [
8013
+ createTextVNode(" Realm ", -1)
8014
+ ])]),
8015
+ default: withCtx(() => [
8016
+ createVNode(_component_ARealmPicker, {
8017
+ value: _ctx.vuelidate.realm_id.$model,
8018
+ onChange: _cache[4] || (_cache[4] = (value) => {
8019
+ _ctx.vuelidate.realm_id.$model = value.length > 0 ? value[0] : "";
8020
+ })
8021
+ }, null, 8, ["value"])
8022
+ ]),
8023
+ _: 1
8024
+ }, 8, ["validation-messages", "validation-severity"])
8025
+ ]),
8026
+ _: 1
8027
+ }, 8, ["validation"])
8028
+ ])) : createCommentVNode("", true)
8029
+ ]);
8177
8030
  }
8178
- var APolicyBasicForm = /* @__PURE__ */ _export_sfc(_sfc_main$7, [
8179
- [
8180
- "render",
8181
- _sfc_render$6
8182
- ]
8183
- ]);
8031
+ var APolicyBasicForm = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render$6]]);
8184
8032
 
8185
8033
  var _sfc_main$6 = defineComponent({
8186
8034
  components: {
@@ -8258,51 +8106,33 @@ var _sfc_main$6 = defineComponent({
8258
8106
  }
8259
8107
  });
8260
8108
 
8261
- const _hoisted_1$5 = {
8262
- class: "d-flex flex-column"
8263
- };
8109
+ const _hoisted_1$5 = { class: "d-flex flex-column" };
8264
8110
  function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
8265
- const _component_APolicyBasicForm = resolveComponent("APolicyBasicForm");
8266
- const _component_AFormSubmit = resolveComponent("AFormSubmit");
8267
- return openBlock(), createElementBlock("div", _hoisted_1$5, [
8268
- _cache[0] || (_cache[0] = createElementVNode("h6", null, "General", -1)),
8269
- createVNode(_component_APolicyBasicForm, {
8270
- entity: _ctx.data
8271
- }, null, 8, [
8272
- "entity"
8273
- ]),
8274
- _ctx.typeComputed ? renderSlot(_ctx.$slots, "default", {
8275
- key: 0,
8276
- entity: _ctx.entity
8277
- }, ()=>[
8278
- _ctx.typeComputed in _ctx.typeComponents ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.typeComponents[_ctx.typeComputed]), {
8279
- key: 0,
8280
- entity: _ctx.entity
8281
- }, null, 8, [
8282
- "entity"
8283
- ])) : createCommentVNode("", true)
8284
- ]) : createCommentVNode("", true),
8285
- createElementVNode("div", null, [
8286
- createVNode(_component_AFormSubmit, {
8287
- "is-invalid": _ctx.vuelidate.$invalid || !_ctx.typeComputed,
8288
- "is-busy": _ctx.busy,
8289
- "is-editing": _ctx.isEditing,
8290
- onSubmit: _ctx.submit
8291
- }, null, 8, [
8292
- "is-invalid",
8293
- "is-busy",
8294
- "is-editing",
8295
- "onSubmit"
8296
- ])
8297
- ])
8298
- ]);
8111
+ const _component_APolicyBasicForm = resolveComponent("APolicyBasicForm");
8112
+ const _component_AFormSubmit = resolveComponent("AFormSubmit");
8113
+ return openBlock(), createElementBlock("div", _hoisted_1$5, [
8114
+ _cache[0] || (_cache[0] = createElementVNode("h6", null, "General", -1)),
8115
+ createVNode(_component_APolicyBasicForm, { entity: _ctx.data }, null, 8, ["entity"]),
8116
+ _ctx.typeComputed ? renderSlot(_ctx.$slots, "default", {
8117
+ key: 0,
8118
+ entity: _ctx.entity
8119
+ }, () => [
8120
+ _ctx.typeComputed in _ctx.typeComponents ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.typeComponents[_ctx.typeComputed]), {
8121
+ key: 0,
8122
+ entity: _ctx.entity
8123
+ }, null, 8, ["entity"])) : createCommentVNode("", true)
8124
+ ]) : createCommentVNode("", true),
8125
+ createElementVNode("div", null, [
8126
+ createVNode(_component_AFormSubmit, {
8127
+ "is-invalid": _ctx.vuelidate.$invalid || !_ctx.typeComputed,
8128
+ "is-busy": _ctx.busy,
8129
+ "is-editing": _ctx.isEditing,
8130
+ onSubmit: _ctx.submit
8131
+ }, null, 8, ["is-invalid", "is-busy", "is-editing", "onSubmit"])
8132
+ ])
8133
+ ]);
8299
8134
  }
8300
- var APolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$6, [
8301
- [
8302
- "render",
8303
- _sfc_render$5
8304
- ]
8305
- ]);
8135
+ var APolicyForm = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render$5]]);
8306
8136
 
8307
8137
  const APermissionClientAssignments = defineComponent({
8308
8138
  props: {
@@ -8628,8 +8458,8 @@ const ARobotForm = defineComponent({
8628
8458
 
8629
8459
  const ARobots = defineComponent({
8630
8460
  props: defineEntityCollectionVProps(),
8631
- slots: Object,
8632
8461
  emits: defineEntityCollectionVEmitOptions(),
8462
+ slots: Object,
8633
8463
  setup (props, ctx) {
8634
8464
  const { render } = defineEntityCollectionManager({
8635
8465
  type: `${EntityType.ROBOT}`,
@@ -8872,7 +8702,8 @@ const AUserForm = defineComponent({
8872
8702
  email: {
8873
8703
  minLength: minLength(5),
8874
8704
  maxLength: maxLength(255),
8875
- email
8705
+ email,
8706
+ required
8876
8707
  },
8877
8708
  realm_id: {
8878
8709
  required
@@ -8946,6 +8777,9 @@ const AUserForm = defineComponent({
8946
8777
  value: $v.value.name.$model,
8947
8778
  onChange (input) {
8948
8779
  $v.value.name.$model = input;
8780
+ if (!$v.value.email.$model || isUserFakeEmail($v.value.email.$model)) {
8781
+ $v.value.email.$model = buildUserFakeEmail(input);
8782
+ }
8949
8783
  },
8950
8784
  props: {
8951
8785
  disabled: form.name_locked
@@ -9092,8 +8926,8 @@ const AUserForm = defineComponent({
9092
8926
 
9093
8927
  const AUsers = defineComponent({
9094
8928
  props: defineEntityCollectionVProps(),
9095
- slots: Object,
9096
8929
  emits: defineEntityCollectionVEmitOptions(),
8930
+ slots: Object,
9097
8931
  setup (props, ctx) {
9098
8932
  const { render } = defineEntityCollectionManager({
9099
8933
  type: `${EntityType.USER}`,
@@ -9679,193 +9513,131 @@ var _sfc_main$5 = defineComponent({
9679
9513
  }
9680
9514
  });
9681
9515
 
9682
- const _hoisted_1$4 = {
9683
- class: "d-flex flex-row"
9684
- };
9685
- const _hoisted_2$4 = [
9686
- "href"
9687
- ];
9688
- const _hoisted_3$2 = {
9689
- class: "d-flex flex-column"
9690
- };
9691
- const _hoisted_4$1 = {
9692
- class: "text-center mb-1"
9693
- };
9516
+ const _hoisted_1$4 = { class: "d-flex flex-row" };
9517
+ const _hoisted_2$4 = ["href"];
9518
+ const _hoisted_3$2 = { class: "d-flex flex-column" };
9519
+ const _hoisted_4$1 = { class: "text-center mb-1" };
9694
9520
  function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
9695
- const _component_VCFormInput = resolveComponent("VCFormInput");
9696
- const _component_VCFormGroup = resolveComponent("VCFormGroup");
9697
- const _component_IVuelidate = resolveComponent("IVuelidate");
9698
- const _component_VCFormSubmit = resolveComponent("VCFormSubmit");
9699
- const _component_ARealmPicker = resolveComponent("ARealmPicker");
9700
- const _component_ATitle = resolveComponent("ATitle");
9701
- const _component_APagination = resolveComponent("APagination");
9702
- const _component_AIdentityProviderIcon = resolveComponent("AIdentityProviderIcon");
9703
- const _component_AIdentityProviders = resolveComponent("AIdentityProviders");
9704
- return openBlock(), createElementBlock("div", null, [
9705
- _cache[7] || (_cache[7] = createElementVNode("div", {
9706
- class: "text-center"
9707
- }, [
9708
- createElementVNode("h1", {
9709
- class: "fw-bold"
9710
- }, " Login ")
9711
- ], -1)),
9712
- createElementVNode("form", {
9713
- onSubmit: _cache[3] || (_cache[3] = withModifiers((...args)=>_ctx.submit && _ctx.submit(...args), [
9714
- "prevent"
9715
- ]))
9716
- }, [
9717
- createVNode(_component_IVuelidate, {
9718
- validation: _ctx.vuelidate.name
9719
- }, {
9720
- default: withCtx((props)=>[
9721
- createVNode(_component_VCFormGroup, {
9722
- "validation-messages": props.data,
9723
- "validation-severity": props.severity
9724
- }, {
9725
- label: withCtx(()=>_cache[4] || (_cache[4] = [
9726
- createTextVNode(" Name ")
9727
- ])),
9728
- default: withCtx(()=>[
9729
- createVNode(_component_VCFormInput, {
9730
- modelValue: _ctx.vuelidate.name.$model,
9731
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event)=>_ctx.vuelidate.name.$model = $event)
9732
- }, null, 8, [
9733
- "modelValue"
9734
- ])
9735
- ]),
9736
- _: 2
9737
- }, 1032, [
9738
- "validation-messages",
9739
- "validation-severity"
9740
- ])
9741
- ]),
9742
- _: 1
9743
- }, 8, [
9744
- "validation"
9745
- ]),
9746
- createVNode(_component_IVuelidate, {
9747
- validation: _ctx.vuelidate.password
9748
- }, {
9749
- default: withCtx((props)=>[
9750
- createVNode(_component_VCFormGroup, {
9751
- "validation-messages": props.data,
9752
- "validation-severity": props.severity
9753
- }, {
9754
- label: withCtx(()=>_cache[5] || (_cache[5] = [
9755
- createTextVNode(" Password ")
9756
- ])),
9757
- default: withCtx(()=>[
9758
- createVNode(_component_VCFormInput, {
9759
- modelValue: _ctx.vuelidate.password.$model,
9760
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event)=>_ctx.vuelidate.password.$model = $event),
9761
- type: "password"
9762
- }, null, 8, [
9763
- "modelValue"
9764
- ])
9765
- ]),
9766
- _: 2
9767
- }, 1032, [
9768
- "validation-messages",
9769
- "validation-severity"
9770
- ])
9771
- ]),
9772
- _: 1
9773
- }, 8, [
9774
- "validation"
9521
+ const _component_VCFormInput = resolveComponent("VCFormInput");
9522
+ const _component_VCFormGroup = resolveComponent("VCFormGroup");
9523
+ const _component_IVuelidate = resolveComponent("IVuelidate");
9524
+ const _component_VCFormSubmit = resolveComponent("VCFormSubmit");
9525
+ const _component_ARealmPicker = resolveComponent("ARealmPicker");
9526
+ const _component_ATitle = resolveComponent("ATitle");
9527
+ const _component_APagination = resolveComponent("APagination");
9528
+ const _component_AIdentityProviderIcon = resolveComponent("AIdentityProviderIcon");
9529
+ const _component_AIdentityProviders = resolveComponent("AIdentityProviders");
9530
+ return openBlock(), createElementBlock("div", null, [
9531
+ _cache[7] || (_cache[7] = createElementVNode("div", { class: "text-center" }, [
9532
+ createElementVNode("h1", { class: "fw-bold" }, " Login ")
9533
+ ], -1)),
9534
+ createElementVNode("form", {
9535
+ onSubmit: _cache[3] || (_cache[3] = withModifiers((...args) => _ctx.submit && _ctx.submit(...args), ["prevent"]))
9536
+ }, [
9537
+ createVNode(_component_IVuelidate, {
9538
+ validation: _ctx.vuelidate.name
9539
+ }, {
9540
+ default: withCtx((props) => [
9541
+ createVNode(_component_VCFormGroup, {
9542
+ "validation-messages": props.data,
9543
+ "validation-severity": props.severity
9544
+ }, {
9545
+ label: withCtx(() => [..._cache[4] || (_cache[4] = [
9546
+ createTextVNode(" Name ", -1)
9547
+ ])]),
9548
+ default: withCtx(() => [
9549
+ createVNode(_component_VCFormInput, {
9550
+ modelValue: _ctx.vuelidate.name.$model,
9551
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.vuelidate.name.$model = $event)
9552
+ }, null, 8, ["modelValue"])
9775
9553
  ]),
9776
- createVNode(_component_VCFormSubmit, {
9777
- modelValue: _ctx.busy,
9778
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event)=>_ctx.busy = $event),
9779
- invalid: _ctx.vuelidate.$invalid,
9780
- "create-text": "Submit",
9781
- "create-button-class": {
9782
- value: "btn btn-sm btn-dark btn-block",
9783
- presets: {
9784
- bootstrap: false
9785
- }
9786
- },
9787
- "create-icon-class": "fa-solid fa-right-to-bracket",
9788
- submit: _ctx.submit
9789
- }, null, 8, [
9790
- "modelValue",
9791
- "invalid",
9792
- "submit"
9554
+ _: 1
9555
+ }, 8, ["validation-messages", "validation-severity"])
9556
+ ]),
9557
+ _: 1
9558
+ }, 8, ["validation"]),
9559
+ createVNode(_component_IVuelidate, {
9560
+ validation: _ctx.vuelidate.password
9561
+ }, {
9562
+ default: withCtx((props) => [
9563
+ createVNode(_component_VCFormGroup, {
9564
+ "validation-messages": props.data,
9565
+ "validation-severity": props.severity
9566
+ }, {
9567
+ label: withCtx(() => [..._cache[5] || (_cache[5] = [
9568
+ createTextVNode(" Password ", -1)
9569
+ ])]),
9570
+ default: withCtx(() => [
9571
+ createVNode(_component_VCFormInput, {
9572
+ modelValue: _ctx.vuelidate.password.$model,
9573
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.vuelidate.password.$model = $event),
9574
+ type: "password"
9575
+ }, null, 8, ["modelValue"])
9793
9576
  ]),
9794
- _cache[6] || (_cache[6] = createElementVNode("hr", null, null, -1)),
9795
- !_ctx.codeRequest || !_ctx.codeRequest.realm_id ? (openBlock(), createBlock(_component_ARealmPicker, {
9796
- key: 0,
9797
- value: _ctx.form.realm_id,
9798
- onChange: _ctx.updateRealmId
9799
- }, null, 8, [
9800
- "value",
9801
- "onChange"
9802
- ])) : createCommentVNode("", true),
9803
- createVNode(_component_AIdentityProviders, {
9804
- ref: "identityProviderRef",
9805
- query: _ctx.identityProviderQuery,
9806
- footer: false
9807
- }, {
9808
- header: withCtx(()=>[
9809
- createVNode(_component_ATitle, {
9810
- text: "Identity Providers"
9811
- })
9812
- ]),
9813
- footer: withCtx((props)=>[
9814
- createVNode(_component_APagination, {
9815
- busy: props.busy,
9816
- meta: props.meta,
9817
- load: props.load,
9818
- total: props.total
9819
- }, null, 8, [
9820
- "busy",
9821
- "meta",
9822
- "load",
9823
- "total"
9824
- ])
9825
- ]),
9826
- body: withCtx((props)=>[
9827
- createElementVNode("div", _hoisted_1$4, [
9828
- (openBlock(true), createElementBlock(Fragment, null, renderList(props.data, (item, key)=>{
9829
- return openBlock(), createElementBlock("div", {
9830
- key
9831
- }, [
9832
- createElementVNode("a", {
9833
- href: _ctx.buildIdentityProviderURL(item.id),
9834
- class: "btn btn-dark btn-xs p-2 me-1 identity-provider-box bg-dark"
9835
- }, [
9836
- createElementVNode("div", _hoisted_3$2, [
9837
- createElementVNode("div", _hoisted_4$1, [
9838
- createVNode(_component_AIdentityProviderIcon, {
9839
- class: "fa-2x",
9840
- entity: item
9841
- }, null, 8, [
9842
- "entity"
9843
- ])
9844
- ]),
9845
- createElementVNode("div", null, toDisplayString(item.name), 1)
9846
- ])
9847
- ], 8, _hoisted_2$4)
9848
- ]);
9849
- }), 128))
9850
- ])
9577
+ _: 1
9578
+ }, 8, ["validation-messages", "validation-severity"])
9579
+ ]),
9580
+ _: 1
9581
+ }, 8, ["validation"]),
9582
+ createVNode(_component_VCFormSubmit, {
9583
+ modelValue: _ctx.busy,
9584
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => _ctx.busy = $event),
9585
+ invalid: _ctx.vuelidate.$invalid,
9586
+ "create-text": "Submit",
9587
+ "create-button-class": { value: "btn btn-sm btn-dark btn-block", presets: { bootstrap: false } },
9588
+ "create-icon-class": "fa-solid fa-right-to-bracket",
9589
+ submit: _ctx.submit
9590
+ }, null, 8, ["modelValue", "invalid", "submit"]),
9591
+ _cache[6] || (_cache[6] = createElementVNode("hr", null, null, -1)),
9592
+ !_ctx.codeRequest || !_ctx.codeRequest.realm_id ? (openBlock(), createBlock(_component_ARealmPicker, {
9593
+ key: 0,
9594
+ value: _ctx.form.realm_id,
9595
+ onChange: _ctx.updateRealmId
9596
+ }, null, 8, ["value", "onChange"])) : createCommentVNode("", true),
9597
+ createVNode(_component_AIdentityProviders, {
9598
+ ref: "identityProviderRef",
9599
+ query: _ctx.identityProviderQuery,
9600
+ footer: false
9601
+ }, {
9602
+ header: withCtx(() => [
9603
+ createVNode(_component_ATitle, { text: "Identity Providers" })
9604
+ ]),
9605
+ footer: withCtx((props) => [
9606
+ createVNode(_component_APagination, {
9607
+ busy: props.busy,
9608
+ meta: props.meta,
9609
+ load: props.load,
9610
+ total: props.total
9611
+ }, null, 8, ["busy", "meta", "load", "total"])
9612
+ ]),
9613
+ body: withCtx((props) => [
9614
+ createElementVNode("div", _hoisted_1$4, [
9615
+ (openBlock(true), createElementBlock(Fragment, null, renderList(props.data, (item, key) => {
9616
+ return openBlock(), createElementBlock("div", { key }, [
9617
+ createElementVNode("a", {
9618
+ href: _ctx.buildIdentityProviderURL(item.id),
9619
+ class: "btn btn-dark btn-xs p-2 me-1 identity-provider-box bg-dark"
9620
+ }, [
9621
+ createElementVNode("div", _hoisted_3$2, [
9622
+ createElementVNode("div", _hoisted_4$1, [
9623
+ createVNode(_component_AIdentityProviderIcon, {
9624
+ class: "fa-2x",
9625
+ entity: item
9626
+ }, null, 8, ["entity"])
9851
9627
  ]),
9852
- _: 1
9853
- }, 8, [
9854
- "query"
9855
- ])
9856
- ], 32)
9857
- ]);
9628
+ createElementVNode("div", null, toDisplayString(item.name), 1)
9629
+ ])
9630
+ ], 8, _hoisted_2$4)
9631
+ ]);
9632
+ }), 128))
9633
+ ])
9634
+ ]),
9635
+ _: 1
9636
+ }, 8, ["query"])
9637
+ ], 32)
9638
+ ]);
9858
9639
  }
9859
- var Login = /* @__PURE__ */ _export_sfc(_sfc_main$5, [
9860
- [
9861
- "render",
9862
- _sfc_render$4
9863
- ],
9864
- [
9865
- "__scopeId",
9866
- "data-v-957a0486"
9867
- ]
9868
- ]);
9640
+ var Login = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["render", _sfc_render$4], ["__scopeId", "data-v-957a0486"]]);
9869
9641
 
9870
9642
  var _sfc_main$4 = defineComponent({
9871
9643
  props: {
@@ -9886,37 +9658,25 @@ var _sfc_main$4 = defineComponent({
9886
9658
  }
9887
9659
  });
9888
9660
 
9889
- const _hoisted_1$3 = {
9890
- class: "text-center"
9891
- };
9892
- const _hoisted_2$3 = {
9893
- key: 0
9894
- };
9661
+ const _hoisted_1$3 = { class: "text-center" };
9662
+ const _hoisted_2$3 = { key: 0 };
9895
9663
  function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
9896
- return openBlock(), createElementBlock("div", null, [
9897
- createElementVNode("div", _hoisted_1$3, [
9898
- createElementVNode("i", {
9899
- class: normalizeClass([
9900
- "fa-solid",
9901
- {
9902
- "fa-check text-success": _ctx.isEnabled,
9903
- "fa-times text-danger": !_ctx.isEnabled
9904
- }
9905
- ])
9906
- }, null, 2)
9907
- ]),
9908
- createElementVNode("div", null, [
9909
- createElementVNode("strong", null, toDisplayString(_ctx.entity.name), 1),
9910
- _ctx.entity.description ? (openBlock(), createElementBlock("p", _hoisted_2$3, toDisplayString(_ctx.entity.description), 1)) : createCommentVNode("", true)
9911
- ])
9912
- ]);
9664
+ return openBlock(), createElementBlock("div", null, [
9665
+ createElementVNode("div", _hoisted_1$3, [
9666
+ createElementVNode("i", {
9667
+ class: normalizeClass(["fa-solid", {
9668
+ "fa-check text-success": _ctx.isEnabled,
9669
+ "fa-times text-danger": !_ctx.isEnabled
9670
+ }])
9671
+ }, null, 2)
9672
+ ]),
9673
+ createElementVNode("div", null, [
9674
+ createElementVNode("strong", null, toDisplayString(_ctx.entity.name), 1),
9675
+ _ctx.entity.description ? (openBlock(), createElementBlock("p", _hoisted_2$3, toDisplayString(_ctx.entity.description), 1)) : createCommentVNode("", true)
9676
+ ])
9677
+ ]);
9913
9678
  }
9914
- var AuthorizeScope = /* @__PURE__ */ _export_sfc(_sfc_main$4, [
9915
- [
9916
- "render",
9917
- _sfc_render$3
9918
- ]
9919
- ]);
9679
+ var AuthorizeScope = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$3]]);
9920
9680
 
9921
9681
  var _sfc_main$3 = defineComponent({
9922
9682
  components: {
@@ -9971,41 +9731,29 @@ var _sfc_main$3 = defineComponent({
9971
9731
  }
9972
9732
  });
9973
9733
 
9974
- const _hoisted_1$2 = {
9975
- key: 0
9976
- };
9977
- const _hoisted_2$2 = {
9978
- class: "flex-column"
9979
- };
9734
+ const _hoisted_1$2 = { key: 0 };
9735
+ const _hoisted_2$2 = { class: "flex-column" };
9980
9736
  function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
9981
- const _component_AuthorizeScope = resolveComponent("AuthorizeScope");
9982
- return _ctx.scopesAvailableNormalized.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
9983
- createElementVNode("div", null, [
9984
- _cache[0] || (_cache[0] = createTextVNode(" This will allow the ")),
9985
- createElementVNode("strong", null, toDisplayString(_ctx.client.name), 1),
9986
- _cache[1] || (_cache[1] = createTextVNode(" application to "))
9987
- ]),
9988
- createElementVNode("div", _hoisted_2$2, [
9989
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.scopesAvailableNormalized, (item)=>{
9990
- return openBlock(), createBlock(_component_AuthorizeScope, {
9991
- key: item.id,
9992
- entity: item,
9993
- class: "d-flex flex-row gap-1",
9994
- requested: _ctx.scopesRequestedNormalized
9995
- }, null, 8, [
9996
- "entity",
9997
- "requested"
9998
- ]);
9999
- }), 128))
10000
- ])
10001
- ])) : createCommentVNode("", true);
9737
+ const _component_AuthorizeScope = resolveComponent("AuthorizeScope");
9738
+ return _ctx.scopesAvailableNormalized.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$2, [
9739
+ createElementVNode("div", null, [
9740
+ _cache[0] || (_cache[0] = createTextVNode(" This will allow the ", -1)),
9741
+ createElementVNode("strong", null, toDisplayString(_ctx.client.name), 1),
9742
+ _cache[1] || (_cache[1] = createTextVNode(" application to ", -1))
9743
+ ]),
9744
+ createElementVNode("div", _hoisted_2$2, [
9745
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.scopesAvailableNormalized, (item) => {
9746
+ return openBlock(), createBlock(_component_AuthorizeScope, {
9747
+ key: item.id,
9748
+ entity: item,
9749
+ class: "d-flex flex-row gap-1",
9750
+ requested: _ctx.scopesRequestedNormalized
9751
+ }, null, 8, ["entity", "requested"]);
9752
+ }), 128))
9753
+ ])
9754
+ ])) : createCommentVNode("", true);
10002
9755
  }
10003
- var AuthorizeScopes = /* @__PURE__ */ _export_sfc(_sfc_main$3, [
10004
- [
10005
- "render",
10006
- _sfc_render$2
10007
- ]
10008
- ]);
9756
+ var AuthorizeScopes = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$2]]);
10009
9757
 
10010
9758
  var _sfc_main$2 = defineComponent({
10011
9759
  components: {
@@ -10065,130 +9813,83 @@ var _sfc_main$2 = defineComponent({
10065
9813
  }
10066
9814
  });
10067
9815
 
10068
- const _hoisted_1$1 = {
10069
- class: "flex-column d-flex gap-2"
10070
- };
10071
- const _hoisted_2$1 = {
10072
- class: "text-center"
10073
- };
10074
- const _hoisted_3$1 = {
10075
- class: "fw-bold"
10076
- };
10077
- const _hoisted_4 = {
10078
- class: "mt-auto"
10079
- };
10080
- const _hoisted_5 = {
10081
- class: "d-flex flex-row"
10082
- };
10083
- const _hoisted_6 = {
10084
- class: "ms-1"
10085
- };
10086
- const _hoisted_7 = {
10087
- class: "d-flex flex-row"
10088
- };
10089
- const _hoisted_8 = {
10090
- class: "ms-1"
10091
- };
10092
- const _hoisted_9 = {
10093
- class: "d-flex flex-row"
10094
- };
10095
- const _hoisted_10 = {
10096
- class: "ms-1"
10097
- };
10098
- const _hoisted_11 = {
10099
- class: "row"
10100
- };
10101
- const _hoisted_12 = {
10102
- class: "col-6"
10103
- };
10104
- const _hoisted_13 = {
10105
- class: "col-6"
10106
- };
9816
+ const _hoisted_1$1 = { class: "flex-column d-flex gap-2" };
9817
+ const _hoisted_2$1 = { class: "text-center" };
9818
+ const _hoisted_3$1 = { class: "fw-bold" };
9819
+ const _hoisted_4 = { class: "mt-auto" };
9820
+ const _hoisted_5 = { class: "d-flex flex-row" };
9821
+ const _hoisted_6 = { class: "ms-1" };
9822
+ const _hoisted_7 = { class: "d-flex flex-row" };
9823
+ const _hoisted_8 = { class: "ms-1" };
9824
+ const _hoisted_9 = { class: "d-flex flex-row" };
9825
+ const _hoisted_10 = { class: "ms-1" };
9826
+ const _hoisted_11 = { class: "row" };
9827
+ const _hoisted_12 = { class: "col-6" };
9828
+ const _hoisted_13 = { class: "col-6" };
10107
9829
  function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
10108
- const _component_AuthorizeScopes = resolveComponent("AuthorizeScopes");
10109
- return openBlock(), createElementBlock("div", _hoisted_1$1, [
10110
- createElementVNode("div", _hoisted_2$1, [
10111
- _cache[2] || (_cache[2] = createElementVNode("h5", {
10112
- class: "text-secondary mb-1"
10113
- }, " Application ", -1)),
10114
- createElementVNode("h1", _hoisted_3$1, toDisplayString(_ctx.client.name), 1)
10115
- ]),
10116
- createVNode(_component_AuthorizeScopes, {
10117
- client: _ctx.client,
10118
- "scopes-requested": _ctx.codeRequest.scope,
10119
- "scopes-available": _ctx.scopes
10120
- }, null, 8, [
10121
- "client",
10122
- "scopes-requested",
10123
- "scopes-available"
10124
- ]),
10125
- createElementVNode("div", _hoisted_4, [
10126
- createElementVNode("div", _hoisted_5, [
10127
- _cache[4] || (_cache[4] = createElementVNode("div", null, [
10128
- createElementVNode("i", {
10129
- class: "fa-solid fa-link"
10130
- })
10131
- ], -1)),
10132
- createElementVNode("div", _hoisted_6, [
10133
- createElementVNode("small", null, [
10134
- _cache[3] || (_cache[3] = createTextVNode(" Once authorized, you will be redirected to: ")),
10135
- createElementVNode("strong", null, toDisplayString(_ctx.codeRequest.redirect_uri), 1)
10136
- ])
10137
- ])
10138
- ]),
10139
- createElementVNode("div", _hoisted_7, [
10140
- _cache[7] || (_cache[7] = createElementVNode("div", null, [
10141
- createElementVNode("i", {
10142
- class: "fa fa-solid fa-lock"
10143
- })
10144
- ], -1)),
10145
- createElementVNode("div", _hoisted_8, [
10146
- createElementVNode("small", null, [
10147
- _cache[5] || (_cache[5] = createTextVNode(" This application is governed by the ")),
10148
- createElementVNode("strong", null, toDisplayString(_ctx.client.name), 1),
10149
- _cache[6] || (_cache[6] = createTextVNode(" application's Privacy Policy and Terms of Service. "))
10150
- ])
10151
- ])
10152
- ]),
10153
- createElementVNode("div", _hoisted_9, [
10154
- _cache[8] || (_cache[8] = createElementVNode("div", null, [
10155
- createElementVNode("i", {
10156
- class: "fa fa-solid fa-clock"
10157
- })
10158
- ], -1)),
10159
- createElementVNode("div", _hoisted_10, [
10160
- createElementVNode("small", null, " Active since " + toDisplayString(_ctx.client.created_at), 1)
10161
- ])
10162
- ])
10163
- ]),
10164
- createElementVNode("div", _hoisted_11, [
10165
- createElementVNode("div", _hoisted_12, [
10166
- createElementVNode("button", {
10167
- type: "button",
10168
- class: "btn btn-block btn-secondary",
10169
- onClick: _cache[0] || (_cache[0] = withModifiers((...args)=>_ctx.abort && _ctx.abort(...args), [
10170
- "prevent"
10171
- ]))
10172
- }, " Abort ")
10173
- ]),
10174
- createElementVNode("div", _hoisted_13, [
10175
- createElementVNode("button", {
10176
- type: "button",
10177
- class: "btn btn-block btn-primary",
10178
- onClick: _cache[1] || (_cache[1] = withModifiers((...args)=>_ctx.authorize && _ctx.authorize(...args), [
10179
- "prevent"
10180
- ]))
10181
- }, " Authorize ")
10182
- ])
9830
+ const _component_AuthorizeScopes = resolveComponent("AuthorizeScopes");
9831
+ return openBlock(), createElementBlock("div", _hoisted_1$1, [
9832
+ createElementVNode("div", _hoisted_2$1, [
9833
+ _cache[2] || (_cache[2] = createElementVNode("h5", { class: "text-secondary mb-1" }, " Application ", -1)),
9834
+ createElementVNode("h1", _hoisted_3$1, toDisplayString(_ctx.client.name), 1)
9835
+ ]),
9836
+ createVNode(_component_AuthorizeScopes, {
9837
+ client: _ctx.client,
9838
+ "scopes-requested": _ctx.codeRequest.scope,
9839
+ "scopes-available": _ctx.scopes
9840
+ }, null, 8, ["client", "scopes-requested", "scopes-available"]),
9841
+ createElementVNode("div", _hoisted_4, [
9842
+ createElementVNode("div", _hoisted_5, [
9843
+ _cache[4] || (_cache[4] = createElementVNode("div", null, [
9844
+ createElementVNode("i", { class: "fa-solid fa-link" })
9845
+ ], -1)),
9846
+ createElementVNode("div", _hoisted_6, [
9847
+ createElementVNode("small", null, [
9848
+ _cache[3] || (_cache[3] = createTextVNode(" Once authorized, you will be redirected to: ", -1)),
9849
+ createElementVNode("strong", null, toDisplayString(_ctx.codeRequest.redirect_uri), 1)
9850
+ ])
10183
9851
  ])
10184
- ]);
9852
+ ]),
9853
+ createElementVNode("div", _hoisted_7, [
9854
+ _cache[7] || (_cache[7] = createElementVNode("div", null, [
9855
+ createElementVNode("i", { class: "fa fa-solid fa-lock" })
9856
+ ], -1)),
9857
+ createElementVNode("div", _hoisted_8, [
9858
+ createElementVNode("small", null, [
9859
+ _cache[5] || (_cache[5] = createTextVNode(" This application is governed by the ", -1)),
9860
+ createElementVNode("strong", null, toDisplayString(_ctx.client.name), 1),
9861
+ _cache[6] || (_cache[6] = createTextVNode(" application's Privacy Policy and Terms of Service. ", -1))
9862
+ ])
9863
+ ])
9864
+ ]),
9865
+ createElementVNode("div", _hoisted_9, [
9866
+ _cache[8] || (_cache[8] = createElementVNode("div", null, [
9867
+ createElementVNode("i", { class: "fa fa-solid fa-clock" })
9868
+ ], -1)),
9869
+ createElementVNode("div", _hoisted_10, [
9870
+ createElementVNode("small", null, " Active since " + toDisplayString(_ctx.client.created_at), 1)
9871
+ ])
9872
+ ])
9873
+ ]),
9874
+ createElementVNode("div", _hoisted_11, [
9875
+ createElementVNode("div", _hoisted_12, [
9876
+ createElementVNode("button", {
9877
+ type: "button",
9878
+ class: "btn btn-block btn-secondary",
9879
+ onClick: _cache[0] || (_cache[0] = withModifiers((...args) => _ctx.abort && _ctx.abort(...args), ["prevent"]))
9880
+ }, " Abort ")
9881
+ ]),
9882
+ createElementVNode("div", _hoisted_13, [
9883
+ createElementVNode("button", {
9884
+ type: "button",
9885
+ class: "btn btn-block btn-primary",
9886
+ onClick: _cache[1] || (_cache[1] = withModifiers((...args) => _ctx.authorize && _ctx.authorize(...args), ["prevent"]))
9887
+ }, " Authorize ")
9888
+ ])
9889
+ ])
9890
+ ]);
10185
9891
  }
10186
- var AuthorizeForm = /* @__PURE__ */ _export_sfc(_sfc_main$2, [
10187
- [
10188
- "render",
10189
- _sfc_render$1
10190
- ]
10191
- ]);
9892
+ var AuthorizeForm = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$1]]);
10192
9893
 
10193
9894
  var _sfc_main$1 = defineComponent({
10194
9895
  props: {
@@ -10202,37 +9903,23 @@ var _sfc_main$1 = defineComponent({
10202
9903
  }
10203
9904
  });
10204
9905
 
10205
- const _hoisted_1 = {
10206
- class: "flex-column"
10207
- };
10208
- const _hoisted_2 = {
10209
- class: "text-center"
10210
- };
10211
- const _hoisted_3 = {
10212
- class: "text-center fs-6 p-3"
10213
- };
9906
+ const _hoisted_1 = { class: "flex-column" };
9907
+ const _hoisted_2 = { class: "text-center" };
9908
+ const _hoisted_3 = { class: "text-center fs-6 p-3" };
10214
9909
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
10215
- return openBlock(), createElementBlock("div", _hoisted_1, [
10216
- createElementVNode("div", _hoisted_2, [
10217
- createElementVNode("i", {
10218
- class: normalizeClass([
10219
- "fa-solid fa-10x",
10220
- {
10221
- "fa-exclamation text-danger": _ctx.isError,
10222
- "fa-info text-info": !_ctx.isError
10223
- }
10224
- ])
10225
- }, null, 2)
10226
- ]),
10227
- createElementVNode("div", _hoisted_3, toDisplayString(_ctx.message), 1)
10228
- ]);
9910
+ return openBlock(), createElementBlock("div", _hoisted_1, [
9911
+ createElementVNode("div", _hoisted_2, [
9912
+ createElementVNode("i", {
9913
+ class: normalizeClass(["fa-solid fa-10x", {
9914
+ "fa-exclamation text-danger": _ctx.isError,
9915
+ "fa-info text-info": !_ctx.isError
9916
+ }])
9917
+ }, null, 2)
9918
+ ]),
9919
+ createElementVNode("div", _hoisted_3, toDisplayString(_ctx.message), 1)
9920
+ ]);
10229
9921
  }
10230
- var AuthorizeText = /* @__PURE__ */ _export_sfc(_sfc_main$1, [
10231
- [
10232
- "render",
10233
- _sfc_render
10234
- ]
10235
- ]);
9922
+ var AuthorizeText = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render]]);
10236
9923
 
10237
9924
  const wrapChild = (child)=>h('div', {
10238
9925
  class: 'd-flex align-items-center justify-content-center h-100'