@vc-shell/framework 1.1.98-rc.4 → 1.1.99-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/core/api/platform.ts +9883 -9883
  2. package/core/composables/useNotifications/index.ts +32 -1
  3. package/core/composables/useSettings/index.ts +8 -3
  4. package/core/composables/useUser/index.ts +74 -171
  5. package/core/composables/useUserManagement/index.ts +67 -25
  6. package/core/interceptors/index.ts +19 -56
  7. package/core/plugins/signalR/index.ts +27 -1
  8. package/core/providers/README.md +176 -0
  9. package/core/providers/auth-provider-manager.ts +74 -0
  10. package/core/providers/auth-provider-utils.ts +26 -0
  11. package/core/providers/example-custom-auth-provider.ts +162 -0
  12. package/core/providers/index.ts +3 -0
  13. package/core/providers/platform-auth-provider.ts +207 -0
  14. package/core/types/auth-provider.ts +40 -0
  15. package/core/types/index.ts +2 -0
  16. package/dist/core/api/platform.d.ts +1 -1
  17. package/dist/core/api/platform.d.ts.map +1 -1
  18. package/dist/core/composables/useNotifications/index.d.ts.map +1 -1
  19. package/dist/core/composables/useSettings/index.d.ts.map +1 -1
  20. package/dist/core/composables/useUser/index.d.ts +18 -9
  21. package/dist/core/composables/useUser/index.d.ts.map +1 -1
  22. package/dist/core/composables/useUserManagement/index.d.ts +7 -7
  23. package/dist/core/composables/useUserManagement/index.d.ts.map +1 -1
  24. package/dist/core/interceptors/index.d.ts +2 -1
  25. package/dist/core/interceptors/index.d.ts.map +1 -1
  26. package/dist/core/plugins/signalR/index.d.ts +2 -0
  27. package/dist/core/plugins/signalR/index.d.ts.map +1 -1
  28. package/dist/core/providers/auth-provider-manager.d.ts +34 -0
  29. package/dist/core/providers/auth-provider-manager.d.ts.map +1 -0
  30. package/dist/core/providers/auth-provider-utils.d.ts +17 -0
  31. package/dist/core/providers/auth-provider-utils.d.ts.map +1 -0
  32. package/dist/core/providers/example-custom-auth-provider.d.ts +45 -0
  33. package/dist/core/providers/example-custom-auth-provider.d.ts.map +1 -0
  34. package/dist/core/providers/index.d.ts +3 -0
  35. package/dist/core/providers/index.d.ts.map +1 -0
  36. package/dist/core/providers/platform-auth-provider.d.ts +34 -0
  37. package/dist/core/providers/platform-auth-provider.d.ts.map +1 -0
  38. package/dist/core/types/auth-provider.d.ts +27 -0
  39. package/dist/core/types/auth-provider.d.ts.map +1 -0
  40. package/dist/core/types/index.d.ts +1 -1
  41. package/dist/core/types/index.d.ts.map +1 -1
  42. package/dist/framework.js +6348 -6198
  43. package/dist/index.css +1 -1
  44. package/dist/index.d.ts +8 -0
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/injection-keys.d.ts +2 -1
  47. package/dist/injection-keys.d.ts.map +1 -1
  48. package/dist/shared/components/app-switcher/composables/useAppSwitcher/index.d.ts.map +1 -1
  49. package/dist/shared/components/sign-in/useExternalProvider.d.ts +1 -1
  50. package/dist/shared/components/sign-in/useExternalProvider.d.ts.map +1 -1
  51. package/dist/shared/modules/dynamic/helpers/nodeBuilder.d.ts.map +1 -1
  52. package/dist/tsconfig.tsbuildinfo +1 -1
  53. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  54. package/dist/vendor-tiptap-core-ClsTgaMv.js +3699 -0
  55. package/dist/{vendor-tiptap-extension-blockquote-BVmAuV7o.js → vendor-tiptap-extension-blockquote-r1MBx4hD.js} +1 -1
  56. package/dist/{vendor-tiptap-extension-bold-BOh8AIRZ.js → vendor-tiptap-extension-bold-BjLI4i8b.js} +1 -1
  57. package/dist/{vendor-tiptap-extension-code-R4pc2wFE.js → vendor-tiptap-extension-code-D5-kDnMW.js} +1 -1
  58. package/dist/{vendor-tiptap-extension-code-block-DibKlZFG.js → vendor-tiptap-extension-code-block-RjEb0zPA.js} +1 -1
  59. package/dist/{vendor-tiptap-extension-document-BwORJR1k.js → vendor-tiptap-extension-document--PLOxIdq.js} +1 -1
  60. package/dist/{vendor-tiptap-extension-hard-break-DH36OfVk.js → vendor-tiptap-extension-hard-break-9cxC2YOS.js} +13 -9
  61. package/dist/{vendor-tiptap-extension-heading-oMLORiPI.js → vendor-tiptap-extension-heading-2w0TutHn.js} +1 -1
  62. package/dist/{vendor-tiptap-extension-horizontal-rule-BMHSoB_Y.js → vendor-tiptap-extension-horizontal-rule-CFowa_lc.js} +1 -1
  63. package/dist/vendor-tiptap-extension-image-aWn-na6j.js +127 -0
  64. package/dist/{vendor-tiptap-extension-italic-BzqrUuB0.js → vendor-tiptap-extension-italic-Bn-6saY0.js} +1 -1
  65. package/dist/{vendor-tiptap-extension-link-hMFZ0hfl.js → vendor-tiptap-extension-link-BmcG1_k-.js} +1 -1
  66. package/dist/{vendor-tiptap-extension-list-Bj5AK6Pq.js → vendor-tiptap-extension-list-BrNBJ45n.js} +1 -1
  67. package/dist/{vendor-tiptap-extension-paragraph-Bs1wl42E.js → vendor-tiptap-extension-paragraph-DAiYhwUB.js} +1 -1
  68. package/dist/vendor-tiptap-extension-placeholder-9tURDKy-.js +1 -0
  69. package/dist/{vendor-tiptap-extension-strike-C4YpGyzc.js → vendor-tiptap-extension-strike-DqbXPfos.js} +1 -1
  70. package/dist/vendor-tiptap-extension-table-DQwPaR7v.js +374 -0
  71. package/dist/vendor-tiptap-extension-table-cell-C0tEP_0i.js +1 -0
  72. package/dist/vendor-tiptap-extension-table-header-C0tEP_0i.js +1 -0
  73. package/dist/vendor-tiptap-extension-table-row-C0tEP_0i.js +1 -0
  74. package/dist/{vendor-tiptap-extension-text-C4dQW13r.js → vendor-tiptap-extension-text-BFnfj70b.js} +1 -1
  75. package/dist/{vendor-tiptap-extension-text-style-a_NYjXT6.js → vendor-tiptap-extension-text-style-Darua3qr.js} +1 -1
  76. package/dist/{vendor-tiptap-extension-underline-DthCaPX3.js → vendor-tiptap-extension-underline-QyVnBqQZ.js} +1 -1
  77. package/dist/{vendor-tiptap-extensions-C8rF1qdq.js → vendor-tiptap-extensions-CU-D7bfm.js} +1 -1
  78. package/dist/{vendor-tiptap-markdown-DRc3qhBU.js → vendor-tiptap-markdown-BwATYN5A.js} +1 -1
  79. package/dist/{vendor-tiptap-starter-kit-BfUUblkP.js → vendor-tiptap-starter-kit-5luf7zzS.js} +17 -17
  80. package/dist/{vendor-tiptap-vue-3-DYxT2sf6.js → vendor-tiptap-vue-3-CFBErZGb.js} +1 -1
  81. package/dist/{vendor-vueuse-components-B0zqjNRW.js → vendor-vueuse-components-sgKpNzof.js} +1 -1
  82. package/dist/{vendor-vueuse-core-CYgwn-B2.js → vendor-vueuse-core-D0cN7FqY.js} +10 -10
  83. package/dist/{vendor-vueuse-shared-B_uDJJ6V.js → vendor-vueuse-shared-Pt0UEStA.js} +19 -19
  84. package/package.json +7 -5
  85. package/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +2 -2
  86. package/shared/components/app-switcher/composables/useAppSwitcher/index.ts +15 -1
  87. package/shared/components/sign-in/useExternalProvider.ts +11 -1
  88. package/shared/modules/dynamic/helpers/nodeBuilder.ts +11 -3
  89. package/ui/components/organisms/vc-app/vc-app.vue +20 -2
  90. package/dist/vendor-tiptap-core-8RGSOCZs.js +0 -3442
  91. package/dist/vendor-tiptap-extension-image-DF1ZJ94q.js +0 -80
  92. package/dist/vendor-tiptap-extension-placeholder-CupUGaI_.js +0 -1
  93. package/dist/vendor-tiptap-extension-table-D8RFr_6X.js +0 -368
  94. package/dist/vendor-tiptap-extension-table-cell-k9uLwyL6.js +0 -1
  95. package/dist/vendor-tiptap-extension-table-header-k9uLwyL6.js +0 -1
  96. package/dist/vendor-tiptap-extension-table-row-k9uLwyL6.js +0 -1
@@ -1,4 +1,4 @@
1
- import { E as b, z as B, N as a, M as m, A as z } from "./vendor-tiptap-core-8RGSOCZs.js";
1
+ import { E as b, z as B, N as a, M as m, A as z } from "./vendor-tiptap-core-ClsTgaMv.js";
2
2
  import { M as O, d } from "./vendor-prosemirror-markdown-OyxRuawK.js";
3
3
  import { M as C } from "./vendor-markdown-it-Czg9qJTh.js";
4
4
  import { d as P, F as w } from "./vendor-prosemirror-model-DFp4ML7B.js";
@@ -1,20 +1,20 @@
1
- import { E as e } from "./vendor-tiptap-core-8RGSOCZs.js";
2
- import { B as n } from "./vendor-tiptap-extension-blockquote-BVmAuV7o.js";
3
- import { B as p } from "./vendor-tiptap-extension-bold-BOh8AIRZ.js";
4
- import { C as a } from "./vendor-tiptap-extension-code-R4pc2wFE.js";
5
- import { C as f } from "./vendor-tiptap-extension-code-block-DibKlZFG.js";
6
- import { D as h } from "./vendor-tiptap-extension-document-BwORJR1k.js";
7
- import { H as u } from "./vendor-tiptap-extension-hard-break-DH36OfVk.js";
8
- import { H as l } from "./vendor-tiptap-extension-heading-oMLORiPI.js";
9
- import { H as c } from "./vendor-tiptap-extension-horizontal-rule-BMHSoB_Y.js";
10
- import { I as d } from "./vendor-tiptap-extension-italic-BzqrUuB0.js";
11
- import { L as m } from "./vendor-tiptap-extension-link-hMFZ0hfl.js";
12
- import { B as g, L as k, a as B, O as L } from "./vendor-tiptap-extension-list-Bj5AK6Pq.js";
13
- import { P as b } from "./vendor-tiptap-extension-paragraph-Bs1wl42E.js";
14
- import { S as x } from "./vendor-tiptap-extension-strike-C4YpGyzc.js";
15
- import { T as v } from "./vendor-tiptap-extension-text-C4dQW13r.js";
16
- import { U as H } from "./vendor-tiptap-extension-underline-DthCaPX3.js";
17
- import { D as R, G as I, U as K, T as C } from "./vendor-tiptap-extensions-C8rF1qdq.js";
1
+ import { E as e } from "./vendor-tiptap-core-ClsTgaMv.js";
2
+ import { B as n } from "./vendor-tiptap-extension-blockquote-r1MBx4hD.js";
3
+ import { B as p } from "./vendor-tiptap-extension-bold-BjLI4i8b.js";
4
+ import { C as a } from "./vendor-tiptap-extension-code-D5-kDnMW.js";
5
+ import { C as f } from "./vendor-tiptap-extension-code-block-RjEb0zPA.js";
6
+ import { D as h } from "./vendor-tiptap-extension-document--PLOxIdq.js";
7
+ import { H as u } from "./vendor-tiptap-extension-hard-break-9cxC2YOS.js";
8
+ import { H as l } from "./vendor-tiptap-extension-heading-2w0TutHn.js";
9
+ import { H as c } from "./vendor-tiptap-extension-horizontal-rule-CFowa_lc.js";
10
+ import { I as d } from "./vendor-tiptap-extension-italic-Bn-6saY0.js";
11
+ import { L as m } from "./vendor-tiptap-extension-link-BmcG1_k-.js";
12
+ import { B as g, L as k, a as B, O as L } from "./vendor-tiptap-extension-list-BrNBJ45n.js";
13
+ import { P as b } from "./vendor-tiptap-extension-paragraph-DAiYhwUB.js";
14
+ import { S as x } from "./vendor-tiptap-extension-strike-DqbXPfos.js";
15
+ import { T as v } from "./vendor-tiptap-extension-text-BFnfj70b.js";
16
+ import { U as H } from "./vendor-tiptap-extension-underline-QyVnBqQZ.js";
17
+ import { D as R, G as I, U as K, T as C } from "./vendor-tiptap-extensions-CU-D7bfm.js";
18
18
  var J = e.create({
19
19
  name: "starterKit",
20
20
  addExtensions() {
@@ -1,4 +1,4 @@
1
- import { B as c } from "./vendor-tiptap-core-8RGSOCZs.js";
1
+ import { B as c } from "./vendor-tiptap-core-ClsTgaMv.js";
2
2
  import { defineComponent as o, shallowRef as v, onMounted as p, onBeforeUnmount as l, h as s, ref as h, getCurrentInstance as f, watchEffect as g, nextTick as m, unref as S, markRaw as w, customRef as C } from "vue";
3
3
  function u(t) {
4
4
  return C((e, r) => ({
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as se, ref as E, h as ue, watch as x, computed as M, reactive as X, nextTick as ie, getCurrentInstance as ce, onMounted as ae } from "vue";
2
- import { d as H, n as I, i as j, a as fe, t as S, b as de, c as Y, e as ne, f as ve, u as me, g as pe, h as he } from "./vendor-vueuse-shared-B_uDJJ6V.js";
2
+ import { d as H, n as I, i as j, a as fe, t as S, b as de, c as Y, e as ne, f as ve, u as me, g as pe, h as he } from "./vendor-vueuse-shared-Pt0UEStA.js";
3
3
  function w(e) {
4
4
  var o;
5
5
  const t = S(e);
@@ -1,5 +1,5 @@
1
- import { n as j, t as x, f as Le, c as $, j as tt, m as At, a as Z, i as Ae, e as G, b as Ie, o as Pt, k as Ct, l as be, h as z, p as K, q as Ke, r as Rt, s as Dt, v as nt, w as le, x as rt, y as ie, z as at, A as ye, B as Je, C as Lt, D as It, g as ot, E as Mt, u as Nt, F as Pe, G as Vt, H as $t, I as lt, J as ge, K as Wt, L as Ut, M as Bt, N as Oe, O as jt, P as Ht, Q as zt, R as qt, S as Cn, T as ft, U as vt, V as Rn, W as Dn, X as Ln, Y as dt, Z as In, _ as Ue, $ as mt, d as Mn, a0 as Nn, a1 as Vn, a2 as $n, a3 as Wn, a4 as Un, a5 as Bn, a6 as jn, a7 as Hn, a8 as zn, a9 as qn, aa as Gn, ab as Yn, ac as Xn, ad as Kn, ae as Jn, af as Qn, ag as Zn, ah as Be, ai as er, aj as tr, ak as nr, al as rr, am as ar, an as pt, ao as or, ap as lr, aq as ur, ar as sr, as as ir, at as cr, au as fr, av as vr, aw as dr, ax as mr, ay as pr, az as hr, aA as yr, aB as gr, aC as wr, aD as br, aE as Sr, aF as Er, aG as xr, aH as Tr, aI as _r, aJ as kr, aK as Or, aL as Fr, aM as Ar, aN as Pr, aO as Cr, aP as Rr, aQ as Dr } from "./vendor-vueuse-shared-B_uDJJ6V.js";
2
- import { ref as g, getCurrentInstance as Me, onMounted as Gt, computed as O, watch as R, isRef as oe, shallowRef as B, watchEffect as we, inject as je, defineComponent as Qe, customRef as Lr, onUpdated as Yt, shallowReactive as Ce, reactive as q, getCurrentScope as Ir, readonly as te, isReadonly as Ze, onBeforeUpdate as Mr, nextTick as Se, h as ht, TransitionGroup as Nr, markRaw as Vr, Fragment as $r, unref as Wr } from "vue";
1
+ import { a as Z, t as x, w as Ae, e as G, n as j, f as Le, c as $, j as tt, m as At, i as Pe, b as Ie, o as Pt, k as Ct, l as be, h as z, p as K, q as Ke, r as Rt, s as Dt, v as nt, x as le, y as rt, z as ie, A as at, B as ye, C as Je, D as Lt, E as It, g as ot, F as Mt, u as Nt, G as Vt, H as $t, I as lt, J as ge, K as Wt, L as Ut, M as Bt, N as Oe, O as jt, P as Ht, Q as zt, R as qt, S as Cn, T as ft, U as vt, V as Rn, W as Dn, X as Ln, Y as dt, Z as In, _ as Ue, $ as mt, d as Mn, a0 as Nn, a1 as Vn, a2 as $n, a3 as Wn, a4 as Un, a5 as Bn, a6 as jn, a7 as Hn, a8 as zn, a9 as qn, aa as Gn, ab as Yn, ac as Xn, ad as Kn, ae as Jn, af as Qn, ag as Zn, ah as Be, ai as er, aj as tr, ak as nr, al as rr, am as ar, an as pt, ao as or, ap as lr, aq as ur, ar as sr, as as ir, at as cr, au as fr, av as vr, aw as dr, ax as mr, ay as pr, az as hr, aA as yr, aB as gr, aC as wr, aD as br, aE as Sr, aF as Er, aG as xr, aH as Tr, aI as _r, aJ as kr, aK as Or, aL as Fr, aM as Ar, aN as Pr, aO as Cr, aP as Rr, aQ as Dr } from "./vendor-vueuse-shared-Pt0UEStA.js";
2
+ import { shallowRef as B, ref as g, nextTick as Se, getCurrentInstance as Me, onMounted as Gt, computed as O, watch as R, isRef as oe, watchEffect as we, inject as je, defineComponent as Qe, customRef as Lr, onUpdated as Yt, shallowReactive as Ce, reactive as q, getCurrentScope as Ir, readonly as te, isReadonly as Ze, onBeforeUpdate as Mr, h as ht, TransitionGroup as Nr, markRaw as Vr, Fragment as $r, unref as Wr } from "vue";
3
3
  function yt(e, t, n) {
4
4
  let a;
5
5
  oe(n) ? a = {
@@ -148,7 +148,7 @@ function Gr(e, t, n = {}) {
148
148
  const { window: a = D, ignore: o = [], capture: r = !0, detectIframe: l = !1 } = n;
149
149
  if (!a)
150
150
  return j;
151
- Ae && !gt && (gt = !0, Array.from(a.document.body.children).forEach((d) => d.addEventListener("click", j)), a.document.documentElement.addEventListener("click", j));
151
+ Pe && !gt && (gt = !0, Array.from(a.document.body.children).forEach((d) => d.addEventListener("click", j)), a.document.documentElement.addEventListener("click", j));
152
152
  let u = !0;
153
153
  const s = (d) => o.some((v) => {
154
154
  if (typeof v == "string")
@@ -1119,7 +1119,7 @@ function $e(e, t, n, a = {}) {
1119
1119
  }
1120
1120
  if (!n)
1121
1121
  return w;
1122
- const h = x(t), p = en(h), y = (o = a.serializer) != null ? o : ut[p], { pause: b, resume: k } = Pe(
1122
+ const h = x(t), p = en(h), y = (o = a.serializer) != null ? o : ut[p], { pause: b, resume: k } = Ae(
1123
1123
  w,
1124
1124
  () => C(w.value),
1125
1125
  { flush: r, deep: l, eventFilter: d }
@@ -3542,7 +3542,7 @@ function Qo(e, t = !1) {
3542
3542
  });
3543
3543
  const r = () => {
3544
3544
  const u = Fe(x(e));
3545
- !u || n.value || (Ae && (a = _(
3545
+ !u || n.value || (Pe && (a = _(
3546
3546
  u,
3547
3547
  "touchmove",
3548
3548
  (s) => {
@@ -3552,7 +3552,7 @@ function Qo(e, t = !1) {
3552
3552
  )), u.style.overflow = "hidden", n.value = !0);
3553
3553
  }, l = () => {
3554
3554
  const u = Fe(x(e));
3555
- !u || !n.value || (Ae && a?.(), u.style.overflow = o, Ge.delete(u), n.value = !1);
3555
+ !u || !n.value || (Pe && a?.(), u.style.overflow = o, Ge.delete(u), n.value = !1);
3556
3556
  };
3557
3557
  return $(l), O({
3558
3558
  get() {
@@ -4237,7 +4237,7 @@ function Fl(e = "history", t = {}) {
4237
4237
  }
4238
4238
  Array.from(y).forEach((b) => delete u[b]);
4239
4239
  }
4240
- const { pause: d, resume: v } = Pe(
4240
+ const { pause: d, resume: v } = Ae(
4241
4241
  u,
4242
4242
  () => {
4243
4243
  const p = new URLSearchParams("");
@@ -4893,7 +4893,7 @@ const Xl = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4893
4893
  isClient: Z,
4894
4894
  isDef: Ht,
4895
4895
  isDefined: Hn,
4896
- isIOS: Ae,
4896
+ isIOS: Pe,
4897
4897
  isObject: Ie,
4898
4898
  isWorker: zt,
4899
4899
  makeDestructurable: At,
@@ -4913,7 +4913,7 @@ const Xl = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4913
4913
  onLongPress: ea,
4914
4914
  onStartTyping: ra,
4915
4915
  pausableFilter: It,
4916
- pausableWatch: Pe,
4916
+ pausableWatch: Ae,
4917
4917
  promiseTimeout: lt,
4918
4918
  provideLocal: Gn,
4919
4919
  rand: Yn,
@@ -5110,7 +5110,7 @@ const Xl = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5110
5110
  watchIgnorable: ye,
5111
5111
  watchImmediate: Pr,
5112
5112
  watchOnce: Cr,
5113
- watchPausable: Pe,
5113
+ watchPausable: Ae,
5114
5114
  watchThrottled: pt,
5115
5115
  watchTriggerable: Rr,
5116
5116
  watchWithFilter: Vt,
@@ -1,8 +1,8 @@
1
- import { computed as p, isRef as S, reactive as H, unref as M, effectScope as V, watch as y, nextTick as F, customRef as I, shallowRef as Q, watchEffect as ee, readonly as k, ref as w, getCurrentInstance as $, inject as te, provide as ne, toRefs as x, toRef as re, onBeforeMount as oe, onBeforeUnmount as ue, onMounted as ae, getCurrentScope as se, onScopeDispose as ie, onUnmounted as ce, isReactive as le } from "vue";
1
+ import { unref as M, onMounted as Q, nextTick as F, ref as w, readonly as k, watch as y, getCurrentInstance as $, computed as p, isRef as S, reactive as H, effectScope as V, customRef as I, shallowRef as ee, watchEffect as te, inject as ne, provide as re, toRefs as x, toRef as oe, onBeforeMount as ue, onBeforeUnmount as ae, getCurrentScope as se, onScopeDispose as ie, onUnmounted as ce, isReactive as le } from "vue";
2
2
  function He(e, t) {
3
3
  var n;
4
- const r = Q();
5
- return ee(() => {
4
+ const r = ee();
5
+ return te(() => {
6
6
  r.value = e();
7
7
  }, {
8
8
  ...t,
@@ -56,13 +56,13 @@ const D = /* @__PURE__ */ new WeakMap(), fe = (e, t) => {
56
56
  throw new Error("provideLocal must be called in setup");
57
57
  D.has(r) || D.set(r, /* @__PURE__ */ Object.create(null));
58
58
  const o = D.get(r);
59
- o[e] = t, ne(e, t);
59
+ o[e] = t, re(e, t);
60
60
  }, de = (...e) => {
61
61
  var t;
62
62
  const n = e[0], r = (t = $()) == null ? void 0 : t.proxy;
63
63
  if (r == null)
64
64
  throw new Error("injectLocal must be called in setup");
65
- return D.has(r) && n in D.get(r) ? D.get(r)[n] : te(...e);
65
+ return D.has(r) && n in D.get(r) ? D.get(r)[n] : ne(...e);
66
66
  };
67
67
  function ze(e, t) {
68
68
  const n = t?.injectionKey || Symbol(e.name || "InjectionState"), r = t?.defaultValue;
@@ -295,7 +295,7 @@ function L(e) {
295
295
  }
296
296
  function K(...e) {
297
297
  if (e.length !== 1)
298
- return re(...e);
298
+ return oe(...e);
299
299
  const t = e[0];
300
300
  return typeof t == "function" ? k(I(() => ({ get: t, set: E }))) : w(t);
301
301
  }
@@ -493,13 +493,13 @@ function It(e, t = {}) {
493
493
  return n;
494
494
  }
495
495
  function _t(e, t = !0, n) {
496
- L(n) ? oe(e, n) : t ? e() : F(e);
496
+ L(n) ? ue(e, n) : t ? e() : F(e);
497
497
  }
498
498
  function xt(e, t) {
499
- L(t) && ue(e, t);
499
+ L(t) && ae(e, t);
500
500
  }
501
501
  function Ct(e, t = !0, n) {
502
- L() ? ae(e, n) : t ? e() : F(e);
502
+ L() ? Q(e, n) : t ? e() : F(e);
503
503
  }
504
504
  function kt(e, t) {
505
505
  L(t) && ce(e, t);
@@ -1060,12 +1060,12 @@ function fn(e, t, n) {
1060
1060
  }
1061
1061
  export {
1062
1062
  on as $,
1063
- Be as A,
1064
- Et as B,
1065
- vt as C,
1066
- be as D,
1067
- kt as E,
1068
- G as F,
1063
+ N as A,
1064
+ Be as B,
1065
+ Et as C,
1066
+ vt as D,
1067
+ be as E,
1068
+ kt as F,
1069
1069
  j as G,
1070
1070
  xt as H,
1071
1071
  Y as I,
@@ -1162,8 +1162,8 @@ export {
1162
1162
  i as t,
1163
1163
  Pe as u,
1164
1164
  It as v,
1165
- je as w,
1166
- Z as x,
1167
- ge as y,
1168
- N as z
1165
+ G as w,
1166
+ je as x,
1167
+ Z as y,
1168
+ ge as z
1169
1169
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vc-shell/framework",
3
- "version": "1.1.98-rc.4",
3
+ "version": "1.1.99-alpha.0",
4
4
  "type": "module",
5
5
  "main": "./dist/framework.js",
6
6
  "types": "./dist/index.d.ts",
@@ -90,9 +90,9 @@
90
90
  "@fullhuman/postcss-purgecss": "^7.0.2",
91
91
  "@laynezh/vite-plugin-lib-assets": "v1.1.0",
92
92
  "@types/dompurify": "^3.0.5",
93
- "@vc-shell/api-client-generator": "1.1.98-rc.4",
94
- "@vc-shell/config-generator": "1.1.98-rc.4",
95
- "@vc-shell/ts-config": "1.1.98-rc.4",
93
+ "@vc-shell/api-client-generator": "1.1.99-alpha.0",
94
+ "@vc-shell/config-generator": "1.1.99-alpha.0",
95
+ "@vc-shell/ts-config": "1.1.99-alpha.0",
96
96
  "@vitejs/plugin-vue": "^5.2.3",
97
97
  "@vue/test-utils": "^2.4.5",
98
98
  "cypress-signalr-mock": "^1.5.0",
@@ -112,5 +112,7 @@
112
112
  "access": "public",
113
113
  "registry": "https://registry.npmjs.org/"
114
114
  },
115
- "gitHead": "b629523bb0b8aabb6e9bad721dc22826532ddd01"
115
+ "stableVersion": "1.1.90",
116
+ "npmTag": "alpha",
117
+ "gitHead": "e0fca3bda346af415671814616883476f0d3f97c"
116
118
  }
@@ -6,7 +6,7 @@
6
6
  @contextmenu.prevent
7
7
  >
8
8
  <GenericDropdown
9
- :opened="true"
9
+ opened
10
10
  :items="appsList"
11
11
  :is-item-active="(item) => locationHandler(item.relativeUrl ?? '')"
12
12
  max-height="auto"
@@ -72,7 +72,7 @@ const switchApp = (app: AppDescriptor) => {
72
72
  @apply tw-relative tw-flex tw-shrink-0 tw-h-full;
73
73
 
74
74
  &__item {
75
- @apply tw-flex tw-items-center tw-w-full tw-p-3 tw-w-full;
75
+ @apply tw-flex tw-items-center tw-w-full tw-p-3;
76
76
  }
77
77
 
78
78
  &__item-icon {
@@ -1,8 +1,11 @@
1
- import { computed, Ref, ref } from "vue";
1
+ import { computed, Ref, ref, inject } from "vue";
2
2
  import { AppDescriptor, AppsClient } from "../../../../../core/api/platform";
3
3
  import { usePermissions } from "../../../../../core/composables";
4
4
  import { notification } from "./../../../notifications";
5
5
  import { i18n } from "../../../../../core/plugins";
6
+ import { AuthProviderKey } from "../../../../../injection-keys";
7
+ import { IAuthProvider } from "../../../../../core/types/auth-provider";
8
+ import { shouldEnablePlatformFeatures } from "../../../../../core/providers/auth-provider-utils";
6
9
 
7
10
  interface IUseAppSwitcher {
8
11
  readonly appsList: Ref<AppDescriptor[]>;
@@ -14,12 +17,23 @@ export function useAppSwitcher(): IUseAppSwitcher {
14
17
  const { hasAccess } = usePermissions();
15
18
  const appsList = ref<AppDescriptor[]>([]);
16
19
 
20
+ // Inject auth provider to check if platform features should be enabled
21
+ const authProvider = inject(AuthProviderKey);
22
+
17
23
  async function getApiClient(): Promise<AppsClient> {
18
24
  const client = new AppsClient();
19
25
  return client;
20
26
  }
21
27
 
22
28
  async function getApps() {
29
+ // Skip loading apps for custom authentication providers
30
+ if (!shouldEnablePlatformFeatures(authProvider)) {
31
+ console.log("[useAppSwitcher] Skipping getApps - custom authentication provider detected");
32
+ appsList.value = []; // Ensure empty list for custom providers
33
+ return;
34
+ }
35
+
36
+ console.log("[useAppSwitcher] Loading apps from platform");
23
37
  const client = await getApiClient();
24
38
 
25
39
  try {
@@ -1,6 +1,8 @@
1
1
  import { useLocalStorage } from "@vueuse/core";
2
- import type { Ref } from "vue";
2
+ import { inject, type Ref } from "vue";
3
3
  import { ExternalSignInClient, ExternalSignInProviderInfo } from "../../../core/api/platform";
4
+ import { shouldEnablePlatformFeatures } from "../../../core/providers/auth-provider-utils";
5
+ import { AuthProviderKey } from "../../../injection-keys";
4
6
 
5
7
  export interface IUseExternalProvider {
6
8
  storage: Ref<{ providerType?: string | undefined }>;
@@ -12,6 +14,9 @@ export interface IUseExternalProvider {
12
14
  const VC_EXTERNAL_AUTH_DATA_KEY = "externalSignIn";
13
15
 
14
16
  export const useExternalProvider = (): IUseExternalProvider => {
17
+ // Check if we're using a custom auth provider
18
+ const authProvider = inject(AuthProviderKey);
19
+ const isPlatformProvider = shouldEnablePlatformFeatures(authProvider);
15
20
  const externalSecurityClient = new ExternalSignInClient();
16
21
  const externalSignInStorage = useLocalStorage<{ providerType?: string | undefined }>(
17
22
  VC_EXTERNAL_AUTH_DATA_KEY,
@@ -81,6 +86,11 @@ export const useExternalProvider = (): IUseExternalProvider => {
81
86
  }
82
87
 
83
88
  async function getExternalLoginProviders() {
89
+ if (!isPlatformProvider) {
90
+ console.log("[useExternalProvider] Skipping getExternalLoginProviders - custom authentication provider detected");
91
+ return undefined;
92
+ }
93
+
84
94
  let result: ExternalSignInProviderInfo[] | undefined = undefined;
85
95
  try {
86
96
  result = await externalSecurityClient.getExternalLoginProviders();
@@ -14,7 +14,15 @@ import { toRefs } from "@vueuse/core";
14
14
  import { unrefNested } from "./unrefNested";
15
15
  import { usePermissions } from "../../../../core/composables";
16
16
 
17
- const { hasAccess } = usePermissions();
17
+ // Lazy initialization to avoid calling composables at module level
18
+ let hasAccess: ReturnType<typeof usePermissions>["hasAccess"] | null = null;
19
+ function getHasAccess() {
20
+ if (!hasAccess) {
21
+ const permissions = usePermissions();
22
+ hasAccess = permissions.hasAccess;
23
+ }
24
+ return hasAccess;
25
+ }
18
26
 
19
27
  function disabledHandler(
20
28
  disabled: { method?: string } | boolean,
@@ -169,7 +177,7 @@ function nodeBuilder<
169
177
  if (toValue(model) && Array.isArray(toValue(model))) {
170
178
  return toValue(model).map((modelItem: ToRefs<{ [x: string]: unknown; id: string }>) => {
171
179
  return controlSchema.fields.reduce((arr, fieldItem) => {
172
- if (safeIn("permissions", fieldItem) && !hasAccess(fieldItem.permissions)) {
180
+ if (safeIn("permissions", fieldItem) && !getHasAccess()(fieldItem.permissions)) {
173
181
  return arr;
174
182
  }
175
183
 
@@ -198,7 +206,7 @@ function nodeBuilder<
198
206
 
199
207
  return [
200
208
  controlSchema.fields.reduce((arr, field) => {
201
- if (safeIn("permissions", field) && !hasAccess(field.permissions)) {
209
+ if (safeIn("permissions", field) && !getHasAccess()(field.permissions)) {
202
210
  return arr;
203
211
  }
204
212
 
@@ -60,10 +60,11 @@ import { ChangePasswordButton } from "../../../../shared/components/change-passw
60
60
  import { LogoutButton } from "../../../../shared/components/logout-button";
61
61
  import { provideGlobalSearch } from "../../../../core/composables/useGlobalSearch";
62
62
  import { provideDashboardService } from "../../../../core/composables/useDashboard";
63
- import { DynamicModulesKey, EMBEDDED_MODE } from "../../../../injection-keys";
63
+ import { DynamicModulesKey, EMBEDDED_MODE, AuthProviderKey } from "../../../../injection-keys";
64
64
  import { provideMenuService } from "../../../../core/composables/useMenuService";
65
65
  import { provideAppBarMobileButtonsService } from "../../../../core/composables/useAppBarMobileButtons";
66
66
  import { useUserManagement } from "../../../../core/composables/useUserManagement";
67
+ import { shouldEnablePlatformFeatures } from "../../../../core/providers/auth-provider-utils";
67
68
 
68
69
  export interface Props {
69
70
  isReady: boolean;
@@ -97,6 +98,23 @@ console.debug("vc-app: Init vc-app");
97
98
  const internalRoutes = inject("bladeRoutes") as BladeRoutesRecord[];
98
99
  const dynamicModules = inject(DynamicModulesKey, undefined);
99
100
 
101
+ // Inject auth provider to check if platform features should be enabled
102
+ const authProvider = inject(AuthProviderKey);
103
+
104
+ // Automatically disable app switcher for custom authentication providers
105
+ const shouldDisableAppSwitcher = computed(() => {
106
+ // If explicitly disabled via prop, respect that
107
+ if (props.disableAppSwitcher) return true;
108
+
109
+ // If using custom auth provider, disable platform-specific features
110
+ if (!shouldEnablePlatformFeatures(authProvider)) {
111
+ console.log("[VcApp] App Switcher disabled - custom authentication provider detected");
112
+ return true;
113
+ }
114
+
115
+ return false;
116
+ });
117
+
100
118
  const isAppReady = ref(props.isReady);
101
119
 
102
120
  const route = useRoute();
@@ -223,7 +241,7 @@ provideAppSlots(
223
241
  slots,
224
242
  {
225
243
  disableMenu: props.disableMenu,
226
- disableAppSwitcher: props.disableAppSwitcher,
244
+ disableAppSwitcher: shouldDisableAppSwitcher.value,
227
245
  version: props.version,
228
246
  avatar: props.avatar,
229
247
  name: props.name,