@vc-shell/framework 1.1.98-rc.5 → 1.1.99-alpha.1
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.
- package/core/api/platform.ts +9883 -9883
- package/core/composables/useNotifications/index.ts +32 -1
- package/core/composables/useSettings/index.ts +8 -3
- package/core/composables/useUser/index.ts +74 -171
- package/core/composables/useUserManagement/index.ts +67 -25
- package/core/interceptors/index.ts +19 -56
- package/core/plugins/signalR/index.ts +27 -1
- package/core/providers/README.md +176 -0
- package/core/providers/auth-provider-manager.ts +74 -0
- package/core/providers/auth-provider-utils.ts +26 -0
- package/core/providers/example-custom-auth-provider.ts +162 -0
- package/core/providers/index.ts +3 -0
- package/core/providers/platform-auth-provider.ts +207 -0
- package/core/types/auth-provider.ts +40 -0
- package/core/types/index.ts +2 -0
- package/dist/core/api/platform.d.ts +1 -1
- package/dist/core/api/platform.d.ts.map +1 -1
- package/dist/core/composables/useNotifications/index.d.ts.map +1 -1
- package/dist/core/composables/useSettings/index.d.ts.map +1 -1
- package/dist/core/composables/useUser/index.d.ts +18 -9
- package/dist/core/composables/useUser/index.d.ts.map +1 -1
- package/dist/core/composables/useUserManagement/index.d.ts +7 -7
- package/dist/core/composables/useUserManagement/index.d.ts.map +1 -1
- package/dist/core/interceptors/index.d.ts +2 -1
- package/dist/core/interceptors/index.d.ts.map +1 -1
- package/dist/core/plugins/signalR/index.d.ts +2 -0
- package/dist/core/plugins/signalR/index.d.ts.map +1 -1
- package/dist/core/providers/auth-provider-manager.d.ts +34 -0
- package/dist/core/providers/auth-provider-manager.d.ts.map +1 -0
- package/dist/core/providers/auth-provider-utils.d.ts +17 -0
- package/dist/core/providers/auth-provider-utils.d.ts.map +1 -0
- package/dist/core/providers/example-custom-auth-provider.d.ts +45 -0
- package/dist/core/providers/example-custom-auth-provider.d.ts.map +1 -0
- package/dist/core/providers/index.d.ts +3 -0
- package/dist/core/providers/index.d.ts.map +1 -0
- package/dist/core/providers/platform-auth-provider.d.ts +34 -0
- package/dist/core/providers/platform-auth-provider.d.ts.map +1 -0
- package/dist/core/types/auth-provider.d.ts +27 -0
- package/dist/core/types/auth-provider.d.ts.map +1 -0
- package/dist/core/types/index.d.ts +1 -1
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/framework.js +6348 -6198
- package/dist/index.css +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/injection-keys.d.ts +2 -1
- package/dist/injection-keys.d.ts.map +1 -1
- package/dist/shared/components/app-switcher/composables/useAppSwitcher/index.d.ts.map +1 -1
- package/dist/shared/components/sign-in/useExternalProvider.d.ts +1 -1
- package/dist/shared/components/sign-in/useExternalProvider.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/helpers/nodeBuilder.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
- package/dist/vendor-tiptap-core-ClsTgaMv.js +3699 -0
- package/dist/{vendor-tiptap-extension-blockquote-BVmAuV7o.js → vendor-tiptap-extension-blockquote-r1MBx4hD.js} +1 -1
- package/dist/{vendor-tiptap-extension-bold-BOh8AIRZ.js → vendor-tiptap-extension-bold-BjLI4i8b.js} +1 -1
- package/dist/{vendor-tiptap-extension-code-R4pc2wFE.js → vendor-tiptap-extension-code-D5-kDnMW.js} +1 -1
- package/dist/{vendor-tiptap-extension-code-block-DibKlZFG.js → vendor-tiptap-extension-code-block-RjEb0zPA.js} +1 -1
- package/dist/{vendor-tiptap-extension-document-BwORJR1k.js → vendor-tiptap-extension-document--PLOxIdq.js} +1 -1
- package/dist/{vendor-tiptap-extension-hard-break-DH36OfVk.js → vendor-tiptap-extension-hard-break-9cxC2YOS.js} +13 -9
- package/dist/{vendor-tiptap-extension-heading-oMLORiPI.js → vendor-tiptap-extension-heading-2w0TutHn.js} +1 -1
- package/dist/{vendor-tiptap-extension-horizontal-rule-BMHSoB_Y.js → vendor-tiptap-extension-horizontal-rule-CFowa_lc.js} +1 -1
- package/dist/vendor-tiptap-extension-image-aWn-na6j.js +127 -0
- package/dist/{vendor-tiptap-extension-italic-BzqrUuB0.js → vendor-tiptap-extension-italic-Bn-6saY0.js} +1 -1
- package/dist/{vendor-tiptap-extension-link-hMFZ0hfl.js → vendor-tiptap-extension-link-BmcG1_k-.js} +1 -1
- package/dist/{vendor-tiptap-extension-list-Bj5AK6Pq.js → vendor-tiptap-extension-list-BrNBJ45n.js} +1 -1
- package/dist/{vendor-tiptap-extension-paragraph-Bs1wl42E.js → vendor-tiptap-extension-paragraph-DAiYhwUB.js} +1 -1
- package/dist/vendor-tiptap-extension-placeholder-9tURDKy-.js +1 -0
- package/dist/{vendor-tiptap-extension-strike-C4YpGyzc.js → vendor-tiptap-extension-strike-DqbXPfos.js} +1 -1
- package/dist/vendor-tiptap-extension-table-DQwPaR7v.js +374 -0
- package/dist/vendor-tiptap-extension-table-cell-C0tEP_0i.js +1 -0
- package/dist/vendor-tiptap-extension-table-header-C0tEP_0i.js +1 -0
- package/dist/vendor-tiptap-extension-table-row-C0tEP_0i.js +1 -0
- package/dist/{vendor-tiptap-extension-text-C4dQW13r.js → vendor-tiptap-extension-text-BFnfj70b.js} +1 -1
- package/dist/{vendor-tiptap-extension-text-style-a_NYjXT6.js → vendor-tiptap-extension-text-style-Darua3qr.js} +1 -1
- package/dist/{vendor-tiptap-extension-underline-DthCaPX3.js → vendor-tiptap-extension-underline-QyVnBqQZ.js} +1 -1
- package/dist/{vendor-tiptap-extensions-C8rF1qdq.js → vendor-tiptap-extensions-CU-D7bfm.js} +1 -1
- package/dist/{vendor-tiptap-markdown-DRc3qhBU.js → vendor-tiptap-markdown-BwATYN5A.js} +1 -1
- package/dist/{vendor-tiptap-starter-kit-BfUUblkP.js → vendor-tiptap-starter-kit-5luf7zzS.js} +17 -17
- package/dist/{vendor-tiptap-vue-3-DYxT2sf6.js → vendor-tiptap-vue-3-CFBErZGb.js} +1 -1
- package/dist/{vendor-vueuse-components-B0zqjNRW.js → vendor-vueuse-components-sgKpNzof.js} +1 -1
- package/dist/{vendor-vueuse-core-CYgwn-B2.js → vendor-vueuse-core-D0cN7FqY.js} +10 -10
- package/dist/{vendor-vueuse-shared-B_uDJJ6V.js → vendor-vueuse-shared-Pt0UEStA.js} +19 -19
- package/package.json +7 -5
- package/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +2 -2
- package/shared/components/app-switcher/composables/useAppSwitcher/index.ts +15 -1
- package/shared/components/sign-in/useExternalProvider.ts +11 -1
- package/shared/modules/dynamic/helpers/nodeBuilder.ts +11 -3
- package/ui/components/organisms/vc-app/vc-app.vue +20 -2
- package/dist/vendor-tiptap-core-8RGSOCZs.js +0 -3442
- package/dist/vendor-tiptap-extension-image-DF1ZJ94q.js +0 -80
- package/dist/vendor-tiptap-extension-placeholder-CupUGaI_.js +0 -1
- package/dist/vendor-tiptap-extension-table-D8RFr_6X.js +0 -368
- package/dist/vendor-tiptap-extension-table-cell-k9uLwyL6.js +0 -1
- package/dist/vendor-tiptap-extension-table-header-k9uLwyL6.js +0 -1
- 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-
|
|
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";
|
package/dist/{vendor-tiptap-starter-kit-BfUUblkP.js → vendor-tiptap-starter-kit-5luf7zzS.js}
RENAMED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { E as e } from "./vendor-tiptap-core-
|
|
2
|
-
import { B as n } from "./vendor-tiptap-extension-blockquote-
|
|
3
|
-
import { B as p } from "./vendor-tiptap-extension-bold-
|
|
4
|
-
import { C as a } from "./vendor-tiptap-extension-code-
|
|
5
|
-
import { C as f } from "./vendor-tiptap-extension-code-block-
|
|
6
|
-
import { D as h } from "./vendor-tiptap-extension-document
|
|
7
|
-
import { H as u } from "./vendor-tiptap-extension-hard-break-
|
|
8
|
-
import { H as l } from "./vendor-tiptap-extension-heading-
|
|
9
|
-
import { H as c } from "./vendor-tiptap-extension-horizontal-rule-
|
|
10
|
-
import { I as d } from "./vendor-tiptap-extension-italic-
|
|
11
|
-
import { L as m } from "./vendor-tiptap-extension-link-
|
|
12
|
-
import { B as g, L as k, a as B, O as L } from "./vendor-tiptap-extension-list-
|
|
13
|
-
import { P as b } from "./vendor-tiptap-extension-paragraph-
|
|
14
|
-
import { S as x } from "./vendor-tiptap-extension-strike-
|
|
15
|
-
import { T as v } from "./vendor-tiptap-extension-text-
|
|
16
|
-
import { U as H } from "./vendor-tiptap-extension-underline-
|
|
17
|
-
import { D as R, G as I, U as K, T as C } from "./vendor-tiptap-extensions-
|
|
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-
|
|
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-
|
|
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 {
|
|
2
|
-
import { ref as g, getCurrentInstance as Me, onMounted as Gt, computed as O, watch as R, isRef as oe,
|
|
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
|
-
|
|
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 } =
|
|
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 || (
|
|
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 || (
|
|
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 } =
|
|
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:
|
|
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:
|
|
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:
|
|
5113
|
+
watchPausable: Ae,
|
|
5114
5114
|
watchThrottled: pt,
|
|
5115
5115
|
watchTriggerable: Rr,
|
|
5116
5116
|
watchWithFilter: Vt,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
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 =
|
|
5
|
-
return
|
|
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,
|
|
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] :
|
|
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
|
|
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) ?
|
|
496
|
+
L(n) ? ue(e, n) : t ? e() : F(e);
|
|
497
497
|
}
|
|
498
498
|
function xt(e, t) {
|
|
499
|
-
L(t) &&
|
|
499
|
+
L(t) && ae(e, t);
|
|
500
500
|
}
|
|
501
501
|
function Ct(e, t = !0, n) {
|
|
502
|
-
L() ?
|
|
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
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
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
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
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.
|
|
3
|
+
"version": "1.1.99-alpha.1",
|
|
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.
|
|
94
|
-
"@vc-shell/config-generator": "1.1.
|
|
95
|
-
"@vc-shell/ts-config": "1.1.
|
|
93
|
+
"@vc-shell/api-client-generator": "1.1.99-alpha.1",
|
|
94
|
+
"@vc-shell/config-generator": "1.1.99-alpha.1",
|
|
95
|
+
"@vc-shell/ts-config": "1.1.99-alpha.1",
|
|
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
|
-
"
|
|
115
|
+
"stableVersion": "1.1.90",
|
|
116
|
+
"npmTag": "alpha",
|
|
117
|
+
"gitHead": "104a5b740c2b93da7702cd073a2d39d17977c83e"
|
|
116
118
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
@contextmenu.prevent
|
|
7
7
|
>
|
|
8
8
|
<GenericDropdown
|
|
9
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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) && !
|
|
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) && !
|
|
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:
|
|
244
|
+
disableAppSwitcher: shouldDisableAppSwitcher.value,
|
|
227
245
|
version: props.version,
|
|
228
246
|
avatar: props.avatar,
|
|
229
247
|
name: props.name,
|