@ibdop/platform-kit 1.0.17 → 1.0.19
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/README.md +55 -10
- package/dist/index.js +10 -10
- package/dist/index.mjs +434 -395
- package/dist/index.umd.js +8 -8
- package/dist/services/api.d.ts.map +1 -1
- package/dist/services/httpTracing.d.ts +3 -0
- package/dist/services/httpTracing.d.ts.map +1 -0
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -1
- package/package.json +3 -1
- package/src/services/api.ts +15 -12
- package/src/services/httpTracing.ts +67 -0
- package/src/services/index.ts +6 -5
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
function
|
|
1
|
+
import tt, { useState as A, useRef as rt, useCallback as S, useEffect as L, useMemo as ve, Component as Vt, createContext as Bt, useContext as Ht } from "react";
|
|
2
|
+
import Wt, { AxiosHeaders as zt } from "axios";
|
|
3
|
+
function V() {
|
|
4
4
|
if (typeof window > "u") return null;
|
|
5
5
|
const t = window;
|
|
6
6
|
if (t.__SHELL_AUTH_INSTANCE__)
|
|
@@ -8,8 +8,8 @@ function B() {
|
|
|
8
8
|
const r = window;
|
|
9
9
|
return r.__SHELL_AUTH__?.authInstance ? r.__SHELL_AUTH__.authInstance : null;
|
|
10
10
|
}
|
|
11
|
-
function
|
|
12
|
-
const t =
|
|
11
|
+
function br() {
|
|
12
|
+
const t = V();
|
|
13
13
|
if (!t)
|
|
14
14
|
return { isAuthenticated: !1 };
|
|
15
15
|
let r;
|
|
@@ -20,29 +20,29 @@ function dr() {
|
|
|
20
20
|
r = t.user.profile.access_token;
|
|
21
21
|
else if (typeof n.getAccessToken == "function")
|
|
22
22
|
try {
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
} catch (
|
|
26
|
-
console.warn("[shellAuth] Failed to get access token via getAccessToken:",
|
|
23
|
+
const s = n.getAccessToken();
|
|
24
|
+
s instanceof Promise ? console.warn("[shellAuth] getAccessToken returned Promise - token may not be available synchronously") : typeof s == "string" && (r = s);
|
|
25
|
+
} catch (s) {
|
|
26
|
+
console.warn("[shellAuth] Failed to get access token via getAccessToken:", s);
|
|
27
27
|
}
|
|
28
28
|
return {
|
|
29
29
|
isAuthenticated: t.isAuthenticated,
|
|
30
30
|
user: t.user ? { ...t.user, access_token: r } : void 0
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
-
function
|
|
34
|
-
const t =
|
|
33
|
+
function xr() {
|
|
34
|
+
const t = V();
|
|
35
35
|
return t?.isAuthenticated ? t.user?.profile?.access_token ?? null : null;
|
|
36
36
|
}
|
|
37
|
-
function
|
|
38
|
-
return
|
|
37
|
+
function kr() {
|
|
38
|
+
return V()?.isAuthenticated ?? !1;
|
|
39
39
|
}
|
|
40
|
-
async function
|
|
41
|
-
const t =
|
|
40
|
+
async function Gt() {
|
|
41
|
+
const t = V();
|
|
42
42
|
t?.signinRedirect ? await t.signinRedirect() : typeof window < "u" && (window.location.href = "/");
|
|
43
43
|
}
|
|
44
|
-
async function
|
|
45
|
-
const t =
|
|
44
|
+
async function Ar() {
|
|
45
|
+
const t = V();
|
|
46
46
|
t?.removeUser && await t.removeUser();
|
|
47
47
|
}
|
|
48
48
|
const Je = {
|
|
@@ -52,19 +52,19 @@ const Je = {
|
|
|
52
52
|
}
|
|
53
53
|
};
|
|
54
54
|
function ae() {
|
|
55
|
-
const [t, r] = A(null), [n,
|
|
55
|
+
const [t, r] = A(null), [n, s] = A(!0), c = rt(0), d = 20, a = S(() => V(), []);
|
|
56
56
|
L(() => {
|
|
57
|
-
const
|
|
58
|
-
if (
|
|
59
|
-
r(
|
|
57
|
+
const v = a();
|
|
58
|
+
if (v) {
|
|
59
|
+
r(v), s(!1);
|
|
60
60
|
return;
|
|
61
61
|
}
|
|
62
62
|
const u = (f) => {
|
|
63
|
-
r(f.detail),
|
|
63
|
+
r(f.detail), s(!1);
|
|
64
64
|
}, h = setInterval(() => {
|
|
65
65
|
c.current++;
|
|
66
66
|
const f = a();
|
|
67
|
-
f ? (Je.log("Auth found via polling, attempts:", c.current), r(f),
|
|
67
|
+
f ? (Je.log("Auth found via polling, attempts:", c.current), r(f), s(!1), clearInterval(h)) : c.current >= d && (s(!1), clearInterval(h));
|
|
68
68
|
}, 500);
|
|
69
69
|
return window.addEventListener("shell-auth-ready", u), () => {
|
|
70
70
|
clearInterval(h), window.removeEventListener("shell-auth-ready", u);
|
|
@@ -75,17 +75,17 @@ function ae() {
|
|
|
75
75
|
isAuthenticated: !1,
|
|
76
76
|
isLoading: n,
|
|
77
77
|
signinRedirect: async () => {
|
|
78
|
-
const
|
|
79
|
-
|
|
78
|
+
const v = V();
|
|
79
|
+
v?.signinRedirect ? await v.signinRedirect() : typeof window < "u" && (window.location.href = "/");
|
|
80
80
|
},
|
|
81
81
|
removeUser: async () => {
|
|
82
|
-
const
|
|
83
|
-
|
|
82
|
+
const v = V();
|
|
83
|
+
v?.removeUser && await v.removeUser();
|
|
84
84
|
}
|
|
85
85
|
};
|
|
86
86
|
return Je.log("Auth result:", { isAuthenticated: p.isAuthenticated, isLoading: p.isLoading }), p;
|
|
87
87
|
}
|
|
88
|
-
const
|
|
88
|
+
const Yt = {
|
|
89
89
|
log: (...t) => {
|
|
90
90
|
},
|
|
91
91
|
warn: (...t) => {
|
|
@@ -94,7 +94,7 @@ const zt = {
|
|
|
94
94
|
console.error("[useInfoData]", ...t);
|
|
95
95
|
}
|
|
96
96
|
};
|
|
97
|
-
function
|
|
97
|
+
function qt(t) {
|
|
98
98
|
if (t) return t;
|
|
99
99
|
if (typeof window < "u") {
|
|
100
100
|
const r = window;
|
|
@@ -102,28 +102,28 @@ function Wt(t) {
|
|
|
102
102
|
}
|
|
103
103
|
return "unknown-mfe";
|
|
104
104
|
}
|
|
105
|
-
function
|
|
106
|
-
const [r, n] = A(null), [
|
|
107
|
-
const
|
|
108
|
-
c(!0), a(null), fetch(`/svc/${
|
|
105
|
+
function Jt(t) {
|
|
106
|
+
const [r, n] = A(null), [s, c] = A(!0), [d, a] = A(null), i = S(() => {
|
|
107
|
+
const v = qt(t?.mfeName).replace("@ib-dop/", "");
|
|
108
|
+
c(!0), a(null), fetch(`/svc/${v}/info.json`).then((u) => {
|
|
109
109
|
if (!u.ok)
|
|
110
110
|
throw new Error(`HTTP ${u.status}: ${u.statusText}`);
|
|
111
111
|
return u.json();
|
|
112
112
|
}).then((u) => {
|
|
113
113
|
n(u);
|
|
114
114
|
}).catch((u) => {
|
|
115
|
-
|
|
115
|
+
Yt.error("Failed to load info:", u), a(u instanceof Error ? u.message : String(u));
|
|
116
116
|
}).finally(() => {
|
|
117
117
|
c(!1);
|
|
118
118
|
});
|
|
119
119
|
}, [t?.mfeName]);
|
|
120
120
|
return L(() => {
|
|
121
|
-
|
|
122
|
-
}, [
|
|
121
|
+
i();
|
|
122
|
+
}, [i]), {
|
|
123
123
|
data: r,
|
|
124
|
-
isLoading:
|
|
124
|
+
isLoading: s,
|
|
125
125
|
error: d,
|
|
126
|
-
refetch:
|
|
126
|
+
refetch: i
|
|
127
127
|
};
|
|
128
128
|
}
|
|
129
129
|
const _e = {
|
|
@@ -139,25 +139,25 @@ const _e = {
|
|
|
139
139
|
client_id: "",
|
|
140
140
|
environment: "development"
|
|
141
141
|
};
|
|
142
|
-
function
|
|
143
|
-
const [t, r] = A(null), [n,
|
|
142
|
+
function Tr() {
|
|
143
|
+
const [t, r] = A(null), [n, s] = A(!0), [c, d] = A(null);
|
|
144
144
|
return L(() => {
|
|
145
145
|
(() => {
|
|
146
146
|
if (typeof sessionStorage > "u") {
|
|
147
|
-
d("sessionStorage not available"), r(re),
|
|
147
|
+
d("sessionStorage not available"), r(re), s(!1);
|
|
148
148
|
return;
|
|
149
149
|
}
|
|
150
150
|
try {
|
|
151
|
-
const
|
|
152
|
-
if (
|
|
153
|
-
const p = JSON.parse(
|
|
151
|
+
const i = sessionStorage.getItem("config");
|
|
152
|
+
if (i) {
|
|
153
|
+
const p = JSON.parse(i);
|
|
154
154
|
r({ ...re, ...p }), d(null), _e.log("Config loaded successfully");
|
|
155
155
|
} else
|
|
156
156
|
r(re), d("Config not found in sessionStorage"), _e.warn("Config not found in sessionStorage");
|
|
157
|
-
} catch (
|
|
158
|
-
_e.error("Error parsing config:",
|
|
157
|
+
} catch (i) {
|
|
158
|
+
_e.error("Error parsing config:", i), r(re), d("Error parsing config");
|
|
159
159
|
} finally {
|
|
160
|
-
|
|
160
|
+
s(!1);
|
|
161
161
|
}
|
|
162
162
|
})();
|
|
163
163
|
}, []), {
|
|
@@ -166,18 +166,56 @@ function gr() {
|
|
|
166
166
|
error: c
|
|
167
167
|
};
|
|
168
168
|
}
|
|
169
|
-
const
|
|
169
|
+
const Ke = "ibdop_trace_id", Kt = "00", Xt = "01";
|
|
170
|
+
function nt(t) {
|
|
171
|
+
const r = new Uint8Array(t);
|
|
172
|
+
if (typeof crypto < "u" && typeof crypto.getRandomValues == "function")
|
|
173
|
+
crypto.getRandomValues(r);
|
|
174
|
+
else
|
|
175
|
+
for (let n = 0; n < t; n += 1)
|
|
176
|
+
r[n] = Math.floor(Math.random() * 256);
|
|
177
|
+
return Array.from(r, (n) => n.toString(16).padStart(2, "0")).join("");
|
|
178
|
+
}
|
|
179
|
+
function Qt(t, r) {
|
|
180
|
+
return t.length === r && /^[0-9a-f]+$/.test(t);
|
|
181
|
+
}
|
|
182
|
+
function Zt(t) {
|
|
183
|
+
const r = t.getItem(Ke)?.toLowerCase() ?? "";
|
|
184
|
+
if (Qt(r, 32))
|
|
185
|
+
return r;
|
|
186
|
+
const n = nt(16);
|
|
187
|
+
return t.setItem(Ke, n), n;
|
|
188
|
+
}
|
|
189
|
+
function er(t) {
|
|
190
|
+
const r = nt(8);
|
|
191
|
+
return `${Kt}-${t}-${r}-${Xt}`;
|
|
192
|
+
}
|
|
193
|
+
function tr(t, r) {
|
|
194
|
+
try {
|
|
195
|
+
const n = new URL(t, r);
|
|
196
|
+
return n.origin !== r ? !1 : n.pathname.startsWith("/api/") || n.pathname.startsWith("/svc/");
|
|
197
|
+
} catch {
|
|
198
|
+
return !1;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
function rr(t) {
|
|
202
|
+
if (typeof window > "u" || !t.url || !tr(t.url, window.location.origin))
|
|
203
|
+
return;
|
|
204
|
+
const r = Zt(window.sessionStorage), n = er(r), s = zt.from(t.headers);
|
|
205
|
+
s.has("traceparent") || s.set("traceparent", n), t.headers = s;
|
|
206
|
+
}
|
|
207
|
+
const ot = "platform-kit", ne = {
|
|
170
208
|
log: (...t) => {
|
|
171
209
|
},
|
|
172
210
|
warn: (...t) => {
|
|
173
211
|
},
|
|
174
212
|
error: (...t) => {
|
|
175
|
-
console.error(`[${
|
|
213
|
+
console.error(`[${ot}]`, ...t);
|
|
176
214
|
},
|
|
177
215
|
info: (...t) => {
|
|
178
216
|
}
|
|
179
217
|
};
|
|
180
|
-
function
|
|
218
|
+
function nr(t) {
|
|
181
219
|
const r = t.response;
|
|
182
220
|
let n = "unknown";
|
|
183
221
|
return r ? r.status === 401 ? n = "unauthorized" : r.status === 403 ? n = "forbidden" : r.status === 404 ? n = "not_found" : r.status >= 500 && (n = "server") : n = "network", {
|
|
@@ -189,20 +227,20 @@ function Yt(t) {
|
|
|
189
227
|
url: t.config?.url
|
|
190
228
|
};
|
|
191
229
|
}
|
|
192
|
-
const
|
|
193
|
-
function
|
|
230
|
+
const or = 3, sr = 1e3;
|
|
231
|
+
function ar(t) {
|
|
194
232
|
return !t || t >= 500 || t === 429;
|
|
195
233
|
}
|
|
196
|
-
function
|
|
234
|
+
function ir(t) {
|
|
197
235
|
return new Promise((r) => setTimeout(r, t));
|
|
198
236
|
}
|
|
199
|
-
function
|
|
200
|
-
const r = t.name ||
|
|
237
|
+
function cr(t = {}) {
|
|
238
|
+
const r = t.name || ot, n = t.retries ?? or, s = t.retryDelay ?? sr, c = {
|
|
201
239
|
log: (...a) => ne.log(`[API:${r}]`, ...a),
|
|
202
240
|
warn: (...a) => ne.warn(`[API:${r}]`, ...a),
|
|
203
241
|
error: (...a) => ne.error(`[API:${r}]`, ...a),
|
|
204
242
|
info: (...a) => ne.info(`[API:${r}]`, ...a)
|
|
205
|
-
}, d =
|
|
243
|
+
}, d = Wt.create({
|
|
206
244
|
timeout: t.timeout ?? 1e4,
|
|
207
245
|
baseURL: t.baseURL ?? "",
|
|
208
246
|
headers: {
|
|
@@ -211,54 +249,54 @@ function Qt(t = {}) {
|
|
|
211
249
|
});
|
|
212
250
|
return d.interceptors.request.use(
|
|
213
251
|
(a) => {
|
|
214
|
-
const
|
|
252
|
+
const i = V();
|
|
215
253
|
return c.info("Auth state check:", {
|
|
216
|
-
isAuthenticated:
|
|
217
|
-
hasUser: !!
|
|
218
|
-
hasToken: !!
|
|
219
|
-
}),
|
|
254
|
+
isAuthenticated: i?.isAuthenticated,
|
|
255
|
+
hasUser: !!i?.user,
|
|
256
|
+
hasToken: !!i?.user?.access_token
|
|
257
|
+
}), i?.isAuthenticated && i.user?.access_token ? (a.headers.Authorization = `Bearer ${i.user.access_token}`, c.info("Auth token attached")) : i?.isAuthenticated && !i.user?.access_token ? c.info("User authenticated but token not yet available") : c.info("User not authenticated - request without token"), rr(a), c.log(`${a.method?.toUpperCase()} ${a.url}`), a;
|
|
220
258
|
},
|
|
221
259
|
(a) => (c.error("Request interceptor error:", a.message), Promise.reject(a))
|
|
222
260
|
), d.interceptors.response.use(
|
|
223
261
|
(a) => (c.log(`Response ${a.status}:`, a.config.url), a),
|
|
224
262
|
async (a) => {
|
|
225
|
-
const
|
|
226
|
-
if (
|
|
263
|
+
const i = a.response?.status, p = a.config?.url, v = a.config?._retryCount ?? 0;
|
|
264
|
+
if (ar(i) && v < n) {
|
|
227
265
|
const u = a.config;
|
|
228
|
-
u._retryCount =
|
|
229
|
-
const h =
|
|
230
|
-
return c.warn(`Retrying (${u._retryCount}/${n}) after ${h}ms:`, p), await
|
|
266
|
+
u._retryCount = v + 1;
|
|
267
|
+
const h = s * Math.pow(2, v);
|
|
268
|
+
return c.warn(`Retrying (${u._retryCount}/${n}) after ${h}ms:`, p), await ir(h), d.request(u);
|
|
231
269
|
}
|
|
232
|
-
return
|
|
270
|
+
return i === 401 ? (c.warn("401 Unauthorized - triggering re-auth"), Gt()) : i === 403 ? c.warn("403 Forbidden - insufficient permissions") : i === 404 ? c.warn("404 Not found:", p) : i === 429 ? c.warn("429 Rate limited") : i === 500 ? c.error("500 Server error:", p) : a.response ? c.warn(`Error ${i}:`, a.message) : c.error("Network error - backend may be unavailable:", p), Promise.reject(nr(a));
|
|
233
271
|
}
|
|
234
272
|
), d;
|
|
235
273
|
}
|
|
236
|
-
const H =
|
|
237
|
-
async function
|
|
238
|
-
const
|
|
274
|
+
const H = cr();
|
|
275
|
+
async function Rr(t, r, n = H) {
|
|
276
|
+
const s = await n.get(t, { params: r });
|
|
239
277
|
return {
|
|
240
|
-
data:
|
|
241
|
-
status:
|
|
242
|
-
ok:
|
|
278
|
+
data: s.data,
|
|
279
|
+
status: s.status,
|
|
280
|
+
ok: s.status >= 200 && s.status < 300
|
|
243
281
|
};
|
|
244
282
|
}
|
|
245
|
-
async function
|
|
246
|
-
const
|
|
283
|
+
async function Sr(t, r, n = H) {
|
|
284
|
+
const s = await n.post(t, r);
|
|
247
285
|
return {
|
|
248
|
-
data:
|
|
249
|
-
status:
|
|
250
|
-
ok:
|
|
286
|
+
data: s.data,
|
|
287
|
+
status: s.status,
|
|
288
|
+
ok: s.status >= 200 && s.status < 300
|
|
251
289
|
};
|
|
252
290
|
}
|
|
253
|
-
async function
|
|
254
|
-
const
|
|
291
|
+
async function Cr(t, r, n = H) {
|
|
292
|
+
const s = await n.put(t, r);
|
|
255
293
|
return {
|
|
256
|
-
data:
|
|
257
|
-
status:
|
|
258
|
-
ok:
|
|
294
|
+
data: s.data,
|
|
295
|
+
status: s.status,
|
|
296
|
+
ok: s.status >= 200 && s.status < 300
|
|
259
297
|
};
|
|
260
298
|
}
|
|
261
|
-
async function
|
|
299
|
+
async function Ir(t, r = H) {
|
|
262
300
|
const n = await r.delete(t);
|
|
263
301
|
return {
|
|
264
302
|
data: n.data,
|
|
@@ -266,7 +304,7 @@ async function Er(t, r = H) {
|
|
|
266
304
|
ok: n.status >= 200 && n.status < 300
|
|
267
305
|
};
|
|
268
306
|
}
|
|
269
|
-
function
|
|
307
|
+
function st(t) {
|
|
270
308
|
if (typeof window > "u") return;
|
|
271
309
|
const r = window.__MF_NAME__ || "unknown", n = {
|
|
272
310
|
...t,
|
|
@@ -278,7 +316,7 @@ function nt(t) {
|
|
|
278
316
|
bubbles: !0
|
|
279
317
|
}));
|
|
280
318
|
}
|
|
281
|
-
function
|
|
319
|
+
function Xe(t, r) {
|
|
282
320
|
const n = {
|
|
283
321
|
network: {
|
|
284
322
|
title: "Нет подключения",
|
|
@@ -308,25 +346,25 @@ function Ke(t, r) {
|
|
|
308
346
|
title: "Неизвестная ошибка",
|
|
309
347
|
message: t.message || "Произошла неизвестная ошибка."
|
|
310
348
|
}
|
|
311
|
-
},
|
|
312
|
-
|
|
349
|
+
}, s = n[t.type] || n.unknown;
|
|
350
|
+
st({
|
|
313
351
|
type: t.type === "network" ? "warning" : "error",
|
|
314
|
-
title:
|
|
315
|
-
message: r ? `${
|
|
352
|
+
title: s.title,
|
|
353
|
+
message: r ? `${s.message} (${r})` : s.message
|
|
316
354
|
});
|
|
317
355
|
}
|
|
318
|
-
function
|
|
356
|
+
function ur(t) {
|
|
319
357
|
return t instanceof Error && t.name === "AbortError";
|
|
320
358
|
}
|
|
321
359
|
function ie(t, r = {}) {
|
|
322
360
|
const {
|
|
323
361
|
notifyOnError: n = !0,
|
|
324
|
-
notifyOnSuccess:
|
|
362
|
+
notifyOnSuccess: s = !1,
|
|
325
363
|
successMessage: c,
|
|
326
364
|
errorContext: d,
|
|
327
365
|
onSuccess: a,
|
|
328
|
-
onError:
|
|
329
|
-
} = r, [p,
|
|
366
|
+
onError: i
|
|
367
|
+
} = r, [p, v] = A(null), [u, h] = A(null), [f, E] = A(!1), g = rt(null), C = u !== null, R = p !== null && !f && !C;
|
|
330
368
|
L(() => () => {
|
|
331
369
|
g.current && g.current.abort();
|
|
332
370
|
}, []);
|
|
@@ -334,37 +372,37 @@ function ie(t, r = {}) {
|
|
|
334
372
|
g.current && (g.current.abort(), g.current = null, E(!1));
|
|
335
373
|
}, []), _ = S(async () => {
|
|
336
374
|
g.current && g.current.abort(), g.current = new AbortController();
|
|
337
|
-
const
|
|
375
|
+
const O = g.current.signal;
|
|
338
376
|
E(!0), h(null);
|
|
339
377
|
try {
|
|
340
|
-
const
|
|
341
|
-
if (
|
|
378
|
+
const P = await t(O);
|
|
379
|
+
if (O.aborted)
|
|
342
380
|
return null;
|
|
343
|
-
if (
|
|
344
|
-
return
|
|
381
|
+
if (P.ok)
|
|
382
|
+
return v(P.data), s && c && st({
|
|
345
383
|
type: "success",
|
|
346
384
|
title: "Успешно",
|
|
347
385
|
message: c
|
|
348
|
-
}), a?.(
|
|
386
|
+
}), a?.(P.data), P.data;
|
|
349
387
|
{
|
|
350
388
|
const U = {
|
|
351
|
-
message:
|
|
352
|
-
status:
|
|
389
|
+
message: P.data || "Request failed",
|
|
390
|
+
status: P.status,
|
|
353
391
|
type: "client",
|
|
354
392
|
timestamp: Date.now()
|
|
355
393
|
};
|
|
356
|
-
return h(U), n &&
|
|
394
|
+
return h(U), n && Xe(U, d), i?.(U), null;
|
|
357
395
|
}
|
|
358
|
-
} catch (
|
|
359
|
-
if (
|
|
396
|
+
} catch (P) {
|
|
397
|
+
if (ur(P))
|
|
360
398
|
return null;
|
|
361
|
-
const U =
|
|
362
|
-
return h(U), n &&
|
|
399
|
+
const U = P;
|
|
400
|
+
return h(U), n && Xe(U, d), i?.(U), null;
|
|
363
401
|
} finally {
|
|
364
|
-
|
|
402
|
+
O.aborted || E(!1), g.current = null;
|
|
365
403
|
}
|
|
366
|
-
}, [t, n,
|
|
367
|
-
|
|
404
|
+
}, [t, n, s, c, d, a, i]), I = S(() => {
|
|
405
|
+
v(null), h(null), E(!1);
|
|
368
406
|
}, []);
|
|
369
407
|
return {
|
|
370
408
|
data: p,
|
|
@@ -377,28 +415,28 @@ function ie(t, r = {}) {
|
|
|
377
415
|
abort: x
|
|
378
416
|
};
|
|
379
417
|
}
|
|
380
|
-
function
|
|
381
|
-
const { skip: n = !1, headers:
|
|
382
|
-
const
|
|
418
|
+
function Mr(t, r = {}) {
|
|
419
|
+
const { skip: n = !1, headers: s, immediate: c = !0, ...d } = r, a = ve(() => (p) => {
|
|
420
|
+
const v = s ? s() : {};
|
|
383
421
|
return H.get(t, {
|
|
384
|
-
headers: { "Content-Type": "application/json", ...
|
|
422
|
+
headers: { "Content-Type": "application/json", ...v },
|
|
385
423
|
signal: p
|
|
386
424
|
}).then((u) => ({ data: u.data, status: u.status, ok: u.status >= 200 && u.status < 300 }));
|
|
387
|
-
}, [t,
|
|
425
|
+
}, [t, s]), i = ie(a, { ...d });
|
|
388
426
|
return L(() => {
|
|
389
|
-
c && !n &&
|
|
390
|
-
}, [c, n, t]),
|
|
427
|
+
c && !n && i.execute();
|
|
428
|
+
}, [c, n, t]), i;
|
|
391
429
|
}
|
|
392
|
-
function
|
|
430
|
+
function Nr(t, r, n = {}) {
|
|
393
431
|
return ie((c) => H.post(t, r, { signal: c }).then((d) => ({ data: d.data, status: d.status, ok: d.status >= 200 && d.status < 300 })), n);
|
|
394
432
|
}
|
|
395
|
-
function
|
|
433
|
+
function Or(t, r, n = {}) {
|
|
396
434
|
return ie((c) => H.put(t, r, { signal: c }).then((d) => ({ data: d.data, status: d.status, ok: d.status >= 200 && d.status < 300 })), n);
|
|
397
435
|
}
|
|
398
|
-
function
|
|
399
|
-
return ie((
|
|
436
|
+
function Pr(t, r = {}) {
|
|
437
|
+
return ie((s) => H.delete(t, { signal: s }).then((c) => ({ data: c.data, status: c.status, ok: c.status >= 200 && c.status < 300 })), r);
|
|
400
438
|
}
|
|
401
|
-
const
|
|
439
|
+
const lr = {
|
|
402
440
|
canView: ["all"],
|
|
403
441
|
canEdit: ["ibdop-user", "ibdop-admin", "ibdop-devops"],
|
|
404
442
|
canDelete: ["ibdop-admin", "ibdop-devops"],
|
|
@@ -407,14 +445,14 @@ const er = {
|
|
|
407
445
|
canExportData: ["ibdop-user"],
|
|
408
446
|
canManageUsers: ["ibdop-admin"]
|
|
409
447
|
};
|
|
410
|
-
function
|
|
411
|
-
const r = ae(), n =
|
|
412
|
-
...
|
|
448
|
+
function jr(t = {}) {
|
|
449
|
+
const r = ae(), n = ve(() => ({
|
|
450
|
+
...lr,
|
|
413
451
|
...t
|
|
414
|
-
}), [t]),
|
|
452
|
+
}), [t]), s = ve(() => {
|
|
415
453
|
const d = r.user?.profile?.realm_roles || r.user?.profile?.roles || [];
|
|
416
454
|
return Array.isArray(d) ? d : [d];
|
|
417
|
-
}, [r.user]), c = (d) => d.includes("all") ? !0 : d.some((a) =>
|
|
455
|
+
}, [r.user]), c = (d) => d.includes("all") ? !0 : d.some((a) => s.includes(a));
|
|
418
456
|
return {
|
|
419
457
|
canView: c(n.canView),
|
|
420
458
|
canEdit: c(n.canEdit),
|
|
@@ -425,8 +463,8 @@ function Ar(t = {}) {
|
|
|
425
463
|
canManageUsers: c(n.canManageUsers)
|
|
426
464
|
};
|
|
427
465
|
}
|
|
428
|
-
function
|
|
429
|
-
const t = ae(), [r, n] = A([]), [
|
|
466
|
+
function Dr() {
|
|
467
|
+
const t = ae(), [r, n] = A([]), [s, c] = A(0), [d, a] = A([]), [i, p] = A(!0), [v, u] = A(null), h = S(async () => {
|
|
430
468
|
if (!t.isAuthenticated) {
|
|
431
469
|
console.debug("[useFeatures] Not authenticated"), p(!1);
|
|
432
470
|
return;
|
|
@@ -460,17 +498,17 @@ function Tr() {
|
|
|
460
498
|
);
|
|
461
499
|
return {
|
|
462
500
|
features: r,
|
|
463
|
-
totalCount:
|
|
501
|
+
totalCount: s,
|
|
464
502
|
userRoles: d,
|
|
465
|
-
isLoading:
|
|
466
|
-
error:
|
|
503
|
+
isLoading: i,
|
|
504
|
+
error: v,
|
|
467
505
|
refetch: h,
|
|
468
506
|
isFeatureEnabled: f,
|
|
469
507
|
getFeaturesByMf: E
|
|
470
508
|
};
|
|
471
509
|
}
|
|
472
|
-
function
|
|
473
|
-
const t = ae(), [r, n] = A([]), [
|
|
510
|
+
function Fr() {
|
|
511
|
+
const t = ae(), [r, n] = A([]), [s, c] = A([]), [d, a] = A(!1), [i, p] = A(!0), [v, u] = A(null), h = S(async () => {
|
|
474
512
|
if (!t.isAuthenticated) {
|
|
475
513
|
console.debug("[useFeatureAdmin] Not authenticated"), p(!1);
|
|
476
514
|
return;
|
|
@@ -509,8 +547,8 @@ function Rr() {
|
|
|
509
547
|
body: JSON.stringify(R)
|
|
510
548
|
});
|
|
511
549
|
if (!I.ok) {
|
|
512
|
-
const
|
|
513
|
-
throw new Error(
|
|
550
|
+
const O = await I.json().catch(() => ({}));
|
|
551
|
+
throw new Error(O.error || `HTTP ${I.status}`);
|
|
514
552
|
}
|
|
515
553
|
return await h(), !0;
|
|
516
554
|
} catch (x) {
|
|
@@ -525,14 +563,14 @@ function Rr() {
|
|
|
525
563
|
"Content-Type": "application/json"
|
|
526
564
|
}, I = t.user?.access_token;
|
|
527
565
|
I && (_.Authorization = `Bearer ${I}`);
|
|
528
|
-
const
|
|
566
|
+
const O = await fetch(`/api/features/admin/${encodeURIComponent(R)}`, {
|
|
529
567
|
method: "PUT",
|
|
530
568
|
headers: _,
|
|
531
569
|
body: JSON.stringify(x)
|
|
532
570
|
});
|
|
533
|
-
if (!
|
|
534
|
-
const
|
|
535
|
-
throw new Error(
|
|
571
|
+
if (!O.ok) {
|
|
572
|
+
const P = await O.json().catch(() => ({}));
|
|
573
|
+
throw new Error(P.error || `HTTP ${O.status}`);
|
|
536
574
|
}
|
|
537
575
|
return await h(), !0;
|
|
538
576
|
} catch (_) {
|
|
@@ -545,16 +583,16 @@ function Rr() {
|
|
|
545
583
|
try {
|
|
546
584
|
const _ = {}, I = t.user?.access_token;
|
|
547
585
|
I && (_.Authorization = `Bearer ${I}`);
|
|
548
|
-
const
|
|
586
|
+
const O = await fetch(
|
|
549
587
|
`/api/features/admin/${encodeURIComponent(R)}/toggle?enabled=${x}`,
|
|
550
588
|
{
|
|
551
589
|
method: "POST",
|
|
552
590
|
headers: _
|
|
553
591
|
}
|
|
554
592
|
);
|
|
555
|
-
if (!
|
|
556
|
-
const
|
|
557
|
-
throw new Error(
|
|
593
|
+
if (!O.ok) {
|
|
594
|
+
const P = await O.json().catch(() => ({}));
|
|
595
|
+
throw new Error(P.error || `HTTP ${O.status}`);
|
|
558
596
|
}
|
|
559
597
|
return await h(), !0;
|
|
560
598
|
} catch (_) {
|
|
@@ -572,8 +610,8 @@ function Rr() {
|
|
|
572
610
|
headers: x
|
|
573
611
|
});
|
|
574
612
|
if (!I.ok) {
|
|
575
|
-
const
|
|
576
|
-
throw new Error(
|
|
613
|
+
const O = await I.json().catch(() => ({}));
|
|
614
|
+
throw new Error(O.error || `HTTP ${I.status}`);
|
|
577
615
|
}
|
|
578
616
|
return await h(), !0;
|
|
579
617
|
} catch (x) {
|
|
@@ -586,10 +624,10 @@ function Rr() {
|
|
|
586
624
|
h();
|
|
587
625
|
}, [h]), {
|
|
588
626
|
features: r,
|
|
589
|
-
microfrontends:
|
|
627
|
+
microfrontends: s,
|
|
590
628
|
isAdmin: d,
|
|
591
|
-
isLoading:
|
|
592
|
-
error:
|
|
629
|
+
isLoading: i,
|
|
630
|
+
error: v,
|
|
593
631
|
refetch: h,
|
|
594
632
|
createFeature: f,
|
|
595
633
|
updateFeature: E,
|
|
@@ -597,8 +635,8 @@ function Rr() {
|
|
|
597
635
|
deleteFeature: C
|
|
598
636
|
};
|
|
599
637
|
}
|
|
600
|
-
function
|
|
601
|
-
const t = ae(), [r, n] = A([]), [
|
|
638
|
+
function $r() {
|
|
639
|
+
const t = ae(), [r, n] = A([]), [s, c] = A(0), [d, a] = A(!0), [i, p] = A(null), v = S(async () => {
|
|
602
640
|
if (!t.isAuthenticated) {
|
|
603
641
|
a(!1);
|
|
604
642
|
return;
|
|
@@ -621,35 +659,35 @@ function Sr() {
|
|
|
621
659
|
}
|
|
622
660
|
}, [t.isAuthenticated, t.user?.access_token]);
|
|
623
661
|
return L(() => {
|
|
624
|
-
|
|
625
|
-
}, [
|
|
662
|
+
v();
|
|
663
|
+
}, [v]), {
|
|
626
664
|
microfrontends: r,
|
|
627
|
-
totalCount:
|
|
665
|
+
totalCount: s,
|
|
628
666
|
isLoading: d,
|
|
629
|
-
error:
|
|
630
|
-
refetch:
|
|
667
|
+
error: i,
|
|
668
|
+
refetch: v
|
|
631
669
|
};
|
|
632
670
|
}
|
|
633
671
|
var oe = { exports: {} }, K = {};
|
|
634
|
-
var
|
|
635
|
-
function
|
|
636
|
-
if (
|
|
637
|
-
|
|
638
|
-
var t =
|
|
639
|
-
function a(
|
|
672
|
+
var Qe;
|
|
673
|
+
function fr() {
|
|
674
|
+
if (Qe) return K;
|
|
675
|
+
Qe = 1;
|
|
676
|
+
var t = tt, r = /* @__PURE__ */ Symbol.for("react.element"), n = /* @__PURE__ */ Symbol.for("react.fragment"), s = Object.prototype.hasOwnProperty, c = t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, d = { key: !0, ref: !0, __self: !0, __source: !0 };
|
|
677
|
+
function a(i, p, v) {
|
|
640
678
|
var u, h = {}, f = null, E = null;
|
|
641
|
-
|
|
642
|
-
for (u in p)
|
|
643
|
-
if (
|
|
644
|
-
return { $$typeof: r, type:
|
|
679
|
+
v !== void 0 && (f = "" + v), p.key !== void 0 && (f = "" + p.key), p.ref !== void 0 && (E = p.ref);
|
|
680
|
+
for (u in p) s.call(p, u) && !d.hasOwnProperty(u) && (h[u] = p[u]);
|
|
681
|
+
if (i && i.defaultProps) for (u in p = i.defaultProps, p) h[u] === void 0 && (h[u] = p[u]);
|
|
682
|
+
return { $$typeof: r, type: i, key: f, ref: E, props: h, _owner: c.current };
|
|
645
683
|
}
|
|
646
684
|
return K.Fragment = n, K.jsx = a, K.jsxs = a, K;
|
|
647
685
|
}
|
|
648
686
|
var X = {};
|
|
649
|
-
var
|
|
650
|
-
function
|
|
651
|
-
return
|
|
652
|
-
var t =
|
|
687
|
+
var Ze;
|
|
688
|
+
function dr() {
|
|
689
|
+
return Ze || (Ze = 1, process.env.NODE_ENV !== "production" && (function() {
|
|
690
|
+
var t = tt, r = /* @__PURE__ */ Symbol.for("react.element"), n = /* @__PURE__ */ Symbol.for("react.portal"), s = /* @__PURE__ */ Symbol.for("react.fragment"), c = /* @__PURE__ */ Symbol.for("react.strict_mode"), d = /* @__PURE__ */ Symbol.for("react.profiler"), a = /* @__PURE__ */ Symbol.for("react.provider"), i = /* @__PURE__ */ Symbol.for("react.context"), p = /* @__PURE__ */ Symbol.for("react.forward_ref"), v = /* @__PURE__ */ Symbol.for("react.suspense"), u = /* @__PURE__ */ Symbol.for("react.suspense_list"), h = /* @__PURE__ */ Symbol.for("react.memo"), f = /* @__PURE__ */ Symbol.for("react.lazy"), E = /* @__PURE__ */ Symbol.for("react.offscreen"), g = Symbol.iterator, C = "@@iterator";
|
|
653
691
|
function R(e) {
|
|
654
692
|
if (e === null || typeof e != "object")
|
|
655
693
|
return null;
|
|
@@ -674,16 +712,16 @@ function rr() {
|
|
|
674
712
|
T.unshift("Warning: " + o), Function.prototype.apply.call(console[e], console, T);
|
|
675
713
|
}
|
|
676
714
|
}
|
|
677
|
-
var
|
|
715
|
+
var O = !1, P = !1, U = !1, lt = !1, ft = !1, ke;
|
|
678
716
|
ke = /* @__PURE__ */ Symbol.for("react.module.reference");
|
|
679
|
-
function
|
|
680
|
-
return !!(typeof e == "string" || typeof e == "function" || e ===
|
|
717
|
+
function dt(e) {
|
|
718
|
+
return !!(typeof e == "string" || typeof e == "function" || e === s || e === d || ft || e === c || e === v || e === u || lt || e === E || O || P || U || typeof e == "object" && e !== null && (e.$$typeof === f || e.$$typeof === h || e.$$typeof === a || e.$$typeof === i || e.$$typeof === p || // This needs to include all possible module reference object
|
|
681
719
|
// types supported by any Flight configuration anywhere since
|
|
682
720
|
// we don't know which Flight build this will end up being used
|
|
683
721
|
// with.
|
|
684
722
|
e.$$typeof === ke || e.getModuleId !== void 0));
|
|
685
723
|
}
|
|
686
|
-
function
|
|
724
|
+
function pt(e, o, l) {
|
|
687
725
|
var m = e.displayName;
|
|
688
726
|
if (m)
|
|
689
727
|
return m;
|
|
@@ -693,7 +731,7 @@ function rr() {
|
|
|
693
731
|
function Ae(e) {
|
|
694
732
|
return e.displayName || "Context";
|
|
695
733
|
}
|
|
696
|
-
function
|
|
734
|
+
function B(e) {
|
|
697
735
|
if (e == null)
|
|
698
736
|
return null;
|
|
699
737
|
if (typeof e.tag == "number" && _("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof e == "function")
|
|
@@ -701,7 +739,7 @@ function rr() {
|
|
|
701
739
|
if (typeof e == "string")
|
|
702
740
|
return e;
|
|
703
741
|
switch (e) {
|
|
704
|
-
case
|
|
742
|
+
case s:
|
|
705
743
|
return "Fragment";
|
|
706
744
|
case n:
|
|
707
745
|
return "Portal";
|
|
@@ -709,28 +747,28 @@ function rr() {
|
|
|
709
747
|
return "Profiler";
|
|
710
748
|
case c:
|
|
711
749
|
return "StrictMode";
|
|
712
|
-
case
|
|
750
|
+
case v:
|
|
713
751
|
return "Suspense";
|
|
714
752
|
case u:
|
|
715
753
|
return "SuspenseList";
|
|
716
754
|
}
|
|
717
755
|
if (typeof e == "object")
|
|
718
756
|
switch (e.$$typeof) {
|
|
719
|
-
case
|
|
757
|
+
case i:
|
|
720
758
|
var o = e;
|
|
721
759
|
return Ae(o) + ".Consumer";
|
|
722
760
|
case a:
|
|
723
761
|
var l = e;
|
|
724
762
|
return Ae(l._context) + ".Provider";
|
|
725
763
|
case p:
|
|
726
|
-
return
|
|
764
|
+
return pt(e, e.render, "ForwardRef");
|
|
727
765
|
case h:
|
|
728
766
|
var m = e.displayName || null;
|
|
729
|
-
return m !== null ? m :
|
|
767
|
+
return m !== null ? m : B(e.type) || "Memo";
|
|
730
768
|
case f: {
|
|
731
769
|
var k = e, T = k._payload, b = k._init;
|
|
732
770
|
try {
|
|
733
|
-
return
|
|
771
|
+
return B(b(T));
|
|
734
772
|
} catch {
|
|
735
773
|
return null;
|
|
736
774
|
}
|
|
@@ -738,18 +776,18 @@ function rr() {
|
|
|
738
776
|
}
|
|
739
777
|
return null;
|
|
740
778
|
}
|
|
741
|
-
var
|
|
742
|
-
function
|
|
779
|
+
var W = Object.assign, q = 0, Te, Re, Se, Ce, Ie, Me, Ne;
|
|
780
|
+
function Oe() {
|
|
743
781
|
}
|
|
744
|
-
|
|
745
|
-
function
|
|
782
|
+
Oe.__reactDisabledLog = !0;
|
|
783
|
+
function ht() {
|
|
746
784
|
{
|
|
747
785
|
if (q === 0) {
|
|
748
786
|
Te = console.log, Re = console.info, Se = console.warn, Ce = console.error, Ie = console.group, Me = console.groupCollapsed, Ne = console.groupEnd;
|
|
749
787
|
var e = {
|
|
750
788
|
configurable: !0,
|
|
751
789
|
enumerable: !0,
|
|
752
|
-
value:
|
|
790
|
+
value: Oe,
|
|
753
791
|
writable: !0
|
|
754
792
|
};
|
|
755
793
|
Object.defineProperties(console, {
|
|
@@ -765,7 +803,7 @@ function rr() {
|
|
|
765
803
|
q++;
|
|
766
804
|
}
|
|
767
805
|
}
|
|
768
|
-
function
|
|
806
|
+
function mt() {
|
|
769
807
|
{
|
|
770
808
|
if (q--, q === 0) {
|
|
771
809
|
var e = {
|
|
@@ -774,25 +812,25 @@ function rr() {
|
|
|
774
812
|
writable: !0
|
|
775
813
|
};
|
|
776
814
|
Object.defineProperties(console, {
|
|
777
|
-
log:
|
|
815
|
+
log: W({}, e, {
|
|
778
816
|
value: Te
|
|
779
817
|
}),
|
|
780
|
-
info:
|
|
818
|
+
info: W({}, e, {
|
|
781
819
|
value: Re
|
|
782
820
|
}),
|
|
783
|
-
warn:
|
|
821
|
+
warn: W({}, e, {
|
|
784
822
|
value: Se
|
|
785
823
|
}),
|
|
786
|
-
error:
|
|
824
|
+
error: W({}, e, {
|
|
787
825
|
value: Ce
|
|
788
826
|
}),
|
|
789
|
-
group:
|
|
827
|
+
group: W({}, e, {
|
|
790
828
|
value: Ie
|
|
791
829
|
}),
|
|
792
|
-
groupCollapsed:
|
|
830
|
+
groupCollapsed: W({}, e, {
|
|
793
831
|
value: Me
|
|
794
832
|
}),
|
|
795
|
-
groupEnd:
|
|
833
|
+
groupEnd: W({}, e, {
|
|
796
834
|
value: Ne
|
|
797
835
|
})
|
|
798
836
|
});
|
|
@@ -816,10 +854,10 @@ function rr() {
|
|
|
816
854
|
}
|
|
817
855
|
var fe = !1, Z;
|
|
818
856
|
{
|
|
819
|
-
var
|
|
820
|
-
Z = new
|
|
857
|
+
var gt = typeof WeakMap == "function" ? WeakMap : Map;
|
|
858
|
+
Z = new gt();
|
|
821
859
|
}
|
|
822
|
-
function
|
|
860
|
+
function Pe(e, o) {
|
|
823
861
|
if (!e || fe)
|
|
824
862
|
return "";
|
|
825
863
|
{
|
|
@@ -832,7 +870,7 @@ function rr() {
|
|
|
832
870
|
var k = Error.prepareStackTrace;
|
|
833
871
|
Error.prepareStackTrace = void 0;
|
|
834
872
|
var T;
|
|
835
|
-
T = ue.current, ue.current = null,
|
|
873
|
+
T = ue.current, ue.current = null, ht();
|
|
836
874
|
try {
|
|
837
875
|
if (o) {
|
|
838
876
|
var b = function() {
|
|
@@ -885,15 +923,15 @@ function rr() {
|
|
|
885
923
|
}
|
|
886
924
|
}
|
|
887
925
|
} finally {
|
|
888
|
-
fe = !1, ue.current = T,
|
|
926
|
+
fe = !1, ue.current = T, mt(), Error.prepareStackTrace = k;
|
|
889
927
|
}
|
|
890
|
-
var Y = e ? e.displayName || e.name : "",
|
|
891
|
-
return typeof e == "function" && Z.set(e,
|
|
928
|
+
var Y = e ? e.displayName || e.name : "", z = Y ? Q(Y) : "";
|
|
929
|
+
return typeof e == "function" && Z.set(e, z), z;
|
|
892
930
|
}
|
|
893
|
-
function
|
|
894
|
-
return
|
|
931
|
+
function _t(e, o, l) {
|
|
932
|
+
return Pe(e, !1);
|
|
895
933
|
}
|
|
896
|
-
function
|
|
934
|
+
function yt(e) {
|
|
897
935
|
var o = e.prototype;
|
|
898
936
|
return !!(o && o.isReactComponent);
|
|
899
937
|
}
|
|
@@ -901,11 +939,11 @@ function rr() {
|
|
|
901
939
|
if (e == null)
|
|
902
940
|
return "";
|
|
903
941
|
if (typeof e == "function")
|
|
904
|
-
return
|
|
942
|
+
return Pe(e, yt(e));
|
|
905
943
|
if (typeof e == "string")
|
|
906
944
|
return Q(e);
|
|
907
945
|
switch (e) {
|
|
908
|
-
case
|
|
946
|
+
case v:
|
|
909
947
|
return Q("Suspense");
|
|
910
948
|
case u:
|
|
911
949
|
return Q("SuspenseList");
|
|
@@ -913,7 +951,7 @@ function rr() {
|
|
|
913
951
|
if (typeof e == "object")
|
|
914
952
|
switch (e.$$typeof) {
|
|
915
953
|
case p:
|
|
916
|
-
return
|
|
954
|
+
return _t(e.render);
|
|
917
955
|
case h:
|
|
918
956
|
return ee(e.type, o, l);
|
|
919
957
|
case f: {
|
|
@@ -934,7 +972,7 @@ function rr() {
|
|
|
934
972
|
} else
|
|
935
973
|
De.setExtraStackFrame(null);
|
|
936
974
|
}
|
|
937
|
-
function
|
|
975
|
+
function vt(e, o, l, m, k) {
|
|
938
976
|
{
|
|
939
977
|
var T = Function.call.bind(J);
|
|
940
978
|
for (var b in e)
|
|
@@ -953,17 +991,17 @@ function rr() {
|
|
|
953
991
|
}
|
|
954
992
|
}
|
|
955
993
|
}
|
|
956
|
-
var
|
|
994
|
+
var Et = Array.isArray;
|
|
957
995
|
function de(e) {
|
|
958
|
-
return
|
|
996
|
+
return Et(e);
|
|
959
997
|
}
|
|
960
|
-
function
|
|
998
|
+
function wt(e) {
|
|
961
999
|
{
|
|
962
1000
|
var o = typeof Symbol == "function" && Symbol.toStringTag, l = o && e[Symbol.toStringTag] || e.constructor.name || "Object";
|
|
963
1001
|
return l;
|
|
964
1002
|
}
|
|
965
1003
|
}
|
|
966
|
-
function
|
|
1004
|
+
function bt(e) {
|
|
967
1005
|
try {
|
|
968
1006
|
return Fe(e), !1;
|
|
969
1007
|
} catch {
|
|
@@ -974,16 +1012,16 @@ function rr() {
|
|
|
974
1012
|
return "" + e;
|
|
975
1013
|
}
|
|
976
1014
|
function $e(e) {
|
|
977
|
-
if (
|
|
978
|
-
return _("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",
|
|
1015
|
+
if (bt(e))
|
|
1016
|
+
return _("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", wt(e)), Fe(e);
|
|
979
1017
|
}
|
|
980
|
-
var Le = x.ReactCurrentOwner,
|
|
1018
|
+
var Le = x.ReactCurrentOwner, xt = {
|
|
981
1019
|
key: !0,
|
|
982
1020
|
ref: !0,
|
|
983
1021
|
__self: !0,
|
|
984
1022
|
__source: !0
|
|
985
|
-
}, Ue,
|
|
986
|
-
function
|
|
1023
|
+
}, Ue, Ve;
|
|
1024
|
+
function kt(e) {
|
|
987
1025
|
if (J.call(e, "ref")) {
|
|
988
1026
|
var o = Object.getOwnPropertyDescriptor(e, "ref").get;
|
|
989
1027
|
if (o && o.isReactWarning)
|
|
@@ -991,7 +1029,7 @@ function rr() {
|
|
|
991
1029
|
}
|
|
992
1030
|
return e.ref !== void 0;
|
|
993
1031
|
}
|
|
994
|
-
function
|
|
1032
|
+
function At(e) {
|
|
995
1033
|
if (J.call(e, "key")) {
|
|
996
1034
|
var o = Object.getOwnPropertyDescriptor(e, "key").get;
|
|
997
1035
|
if (o && o.isReactWarning)
|
|
@@ -999,10 +1037,10 @@ function rr() {
|
|
|
999
1037
|
}
|
|
1000
1038
|
return e.key !== void 0;
|
|
1001
1039
|
}
|
|
1002
|
-
function
|
|
1040
|
+
function Tt(e, o) {
|
|
1003
1041
|
typeof e.ref == "string" && Le.current;
|
|
1004
1042
|
}
|
|
1005
|
-
function
|
|
1043
|
+
function Rt(e, o) {
|
|
1006
1044
|
{
|
|
1007
1045
|
var l = function() {
|
|
1008
1046
|
Ue || (Ue = !0, _("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", o));
|
|
@@ -1013,10 +1051,10 @@ function rr() {
|
|
|
1013
1051
|
});
|
|
1014
1052
|
}
|
|
1015
1053
|
}
|
|
1016
|
-
function
|
|
1054
|
+
function St(e, o) {
|
|
1017
1055
|
{
|
|
1018
1056
|
var l = function() {
|
|
1019
|
-
|
|
1057
|
+
Ve || (Ve = !0, _("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", o));
|
|
1020
1058
|
};
|
|
1021
1059
|
l.isReactWarning = !0, Object.defineProperty(e, "ref", {
|
|
1022
1060
|
get: l,
|
|
@@ -1024,7 +1062,7 @@ function rr() {
|
|
|
1024
1062
|
});
|
|
1025
1063
|
}
|
|
1026
1064
|
}
|
|
1027
|
-
var
|
|
1065
|
+
var Ct = function(e, o, l, m, k, T, b) {
|
|
1028
1066
|
var w = {
|
|
1029
1067
|
// This tag allows us to uniquely identify this as a React Element
|
|
1030
1068
|
$$typeof: r,
|
|
@@ -1053,12 +1091,12 @@ function rr() {
|
|
|
1053
1091
|
value: k
|
|
1054
1092
|
}), Object.freeze && (Object.freeze(w.props), Object.freeze(w)), w;
|
|
1055
1093
|
};
|
|
1056
|
-
function
|
|
1094
|
+
function It(e, o, l, m, k) {
|
|
1057
1095
|
{
|
|
1058
1096
|
var T, b = {}, w = null, j = null;
|
|
1059
|
-
l !== void 0 && ($e(l), w = "" + l),
|
|
1097
|
+
l !== void 0 && ($e(l), w = "" + l), At(o) && ($e(o.key), w = "" + o.key), kt(o) && (j = o.ref, Tt(o, k));
|
|
1060
1098
|
for (T in o)
|
|
1061
|
-
J.call(o, T) && !
|
|
1099
|
+
J.call(o, T) && !xt.hasOwnProperty(T) && (b[T] = o[T]);
|
|
1062
1100
|
if (e && e.defaultProps) {
|
|
1063
1101
|
var M = e.defaultProps;
|
|
1064
1102
|
for (T in M)
|
|
@@ -1066,18 +1104,18 @@ function rr() {
|
|
|
1066
1104
|
}
|
|
1067
1105
|
if (w || j) {
|
|
1068
1106
|
var N = typeof e == "function" ? e.displayName || e.name || "Unknown" : e;
|
|
1069
|
-
w &&
|
|
1107
|
+
w && Rt(b, N), j && St(b, N);
|
|
1070
1108
|
}
|
|
1071
|
-
return
|
|
1109
|
+
return Ct(e, w, j, k, m, Le.current, b);
|
|
1072
1110
|
}
|
|
1073
1111
|
}
|
|
1074
|
-
var pe = x.ReactCurrentOwner,
|
|
1112
|
+
var pe = x.ReactCurrentOwner, Be = x.ReactDebugCurrentFrame;
|
|
1075
1113
|
function G(e) {
|
|
1076
1114
|
if (e) {
|
|
1077
1115
|
var o = e._owner, l = ee(e.type, e._source, o ? o.type : null);
|
|
1078
|
-
|
|
1116
|
+
Be.setExtraStackFrame(l);
|
|
1079
1117
|
} else
|
|
1080
|
-
|
|
1118
|
+
Be.setExtraStackFrame(null);
|
|
1081
1119
|
}
|
|
1082
1120
|
var he;
|
|
1083
1121
|
he = !1;
|
|
@@ -1087,7 +1125,7 @@ function rr() {
|
|
|
1087
1125
|
function He() {
|
|
1088
1126
|
{
|
|
1089
1127
|
if (pe.current) {
|
|
1090
|
-
var e =
|
|
1128
|
+
var e = B(pe.current.type);
|
|
1091
1129
|
if (e)
|
|
1092
1130
|
return `
|
|
1093
1131
|
|
|
@@ -1096,11 +1134,11 @@ Check the render method of \`` + e + "`.";
|
|
|
1096
1134
|
return "";
|
|
1097
1135
|
}
|
|
1098
1136
|
}
|
|
1099
|
-
function
|
|
1137
|
+
function Mt(e) {
|
|
1100
1138
|
return "";
|
|
1101
1139
|
}
|
|
1102
|
-
var
|
|
1103
|
-
function
|
|
1140
|
+
var We = {};
|
|
1141
|
+
function Nt(e) {
|
|
1104
1142
|
{
|
|
1105
1143
|
var o = He();
|
|
1106
1144
|
if (!o) {
|
|
@@ -1112,17 +1150,17 @@ Check the top-level render call using <` + l + ">.");
|
|
|
1112
1150
|
return o;
|
|
1113
1151
|
}
|
|
1114
1152
|
}
|
|
1115
|
-
function
|
|
1153
|
+
function ze(e, o) {
|
|
1116
1154
|
{
|
|
1117
1155
|
if (!e._store || e._store.validated || e.key != null)
|
|
1118
1156
|
return;
|
|
1119
1157
|
e._store.validated = !0;
|
|
1120
|
-
var l =
|
|
1121
|
-
if (
|
|
1158
|
+
var l = Nt(o);
|
|
1159
|
+
if (We[l])
|
|
1122
1160
|
return;
|
|
1123
|
-
|
|
1161
|
+
We[l] = !0;
|
|
1124
1162
|
var m = "";
|
|
1125
|
-
e && e._owner && e._owner !== pe.current && (m = " It was passed a child from " +
|
|
1163
|
+
e && e._owner && e._owner !== pe.current && (m = " It was passed a child from " + B(e._owner.type) + "."), G(e), _('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', l, m), G(null);
|
|
1126
1164
|
}
|
|
1127
1165
|
}
|
|
1128
1166
|
function Ge(e, o) {
|
|
@@ -1132,7 +1170,7 @@ Check the top-level render call using <` + l + ">.");
|
|
|
1132
1170
|
if (de(e))
|
|
1133
1171
|
for (var l = 0; l < e.length; l++) {
|
|
1134
1172
|
var m = e[l];
|
|
1135
|
-
me(m) &&
|
|
1173
|
+
me(m) && ze(m, o);
|
|
1136
1174
|
}
|
|
1137
1175
|
else if (me(e))
|
|
1138
1176
|
e._store && (e._store.validated = !0);
|
|
@@ -1140,11 +1178,11 @@ Check the top-level render call using <` + l + ">.");
|
|
|
1140
1178
|
var k = R(e);
|
|
1141
1179
|
if (typeof k == "function" && k !== e.entries)
|
|
1142
1180
|
for (var T = k.call(e), b; !(b = T.next()).done; )
|
|
1143
|
-
me(b.value) &&
|
|
1181
|
+
me(b.value) && ze(b.value, o);
|
|
1144
1182
|
}
|
|
1145
1183
|
}
|
|
1146
1184
|
}
|
|
1147
|
-
function
|
|
1185
|
+
function Ot(e) {
|
|
1148
1186
|
{
|
|
1149
1187
|
var o = e.type;
|
|
1150
1188
|
if (o == null || typeof o == "string")
|
|
@@ -1159,17 +1197,17 @@ Check the top-level render call using <` + l + ">.");
|
|
|
1159
1197
|
else
|
|
1160
1198
|
return;
|
|
1161
1199
|
if (l) {
|
|
1162
|
-
var m =
|
|
1163
|
-
|
|
1200
|
+
var m = B(o);
|
|
1201
|
+
vt(l, e.props, "prop", m, e);
|
|
1164
1202
|
} else if (o.PropTypes !== void 0 && !he) {
|
|
1165
1203
|
he = !0;
|
|
1166
|
-
var k =
|
|
1204
|
+
var k = B(o);
|
|
1167
1205
|
_("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", k || "Unknown");
|
|
1168
1206
|
}
|
|
1169
1207
|
typeof o.getDefaultProps == "function" && !o.getDefaultProps.isReactClassApproved && _("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
|
|
1170
1208
|
}
|
|
1171
1209
|
}
|
|
1172
|
-
function
|
|
1210
|
+
function Pt(e) {
|
|
1173
1211
|
{
|
|
1174
1212
|
for (var o = Object.keys(e.props), l = 0; l < o.length; l++) {
|
|
1175
1213
|
var m = o[l];
|
|
@@ -1184,16 +1222,16 @@ Check the top-level render call using <` + l + ">.");
|
|
|
1184
1222
|
var Ye = {};
|
|
1185
1223
|
function qe(e, o, l, m, k, T) {
|
|
1186
1224
|
{
|
|
1187
|
-
var b =
|
|
1225
|
+
var b = dt(e);
|
|
1188
1226
|
if (!b) {
|
|
1189
1227
|
var w = "";
|
|
1190
1228
|
(e === void 0 || typeof e == "object" && e !== null && Object.keys(e).length === 0) && (w += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
|
|
1191
|
-
var j =
|
|
1229
|
+
var j = Mt();
|
|
1192
1230
|
j ? w += j : w += He();
|
|
1193
1231
|
var M;
|
|
1194
|
-
e === null ? M = "null" : de(e) ? M = "array" : e !== void 0 && e.$$typeof === r ? (M = "<" + (
|
|
1232
|
+
e === null ? M = "null" : de(e) ? M = "array" : e !== void 0 && e.$$typeof === r ? (M = "<" + (B(e.type) || "Unknown") + " />", w = " Did you accidentally export a JSX literal instead of a component?") : M = typeof e, _("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", M, w);
|
|
1195
1233
|
}
|
|
1196
|
-
var N =
|
|
1234
|
+
var N = It(e, o, l, k, T);
|
|
1197
1235
|
if (N == null)
|
|
1198
1236
|
return N;
|
|
1199
1237
|
if (b) {
|
|
@@ -1210,47 +1248,47 @@ Check the top-level render call using <` + l + ">.");
|
|
|
1210
1248
|
Ge($, e);
|
|
1211
1249
|
}
|
|
1212
1250
|
if (J.call(o, "key")) {
|
|
1213
|
-
var
|
|
1214
|
-
return
|
|
1251
|
+
var z = B(e), F = Object.keys(o).filter(function(Ut) {
|
|
1252
|
+
return Ut !== "key";
|
|
1215
1253
|
}), ge = F.length > 0 ? "{key: someKey, " + F.join(": ..., ") + ": ...}" : "{key: someKey}";
|
|
1216
|
-
if (!Ye[
|
|
1217
|
-
var
|
|
1254
|
+
if (!Ye[z + ge]) {
|
|
1255
|
+
var Lt = F.length > 0 ? "{" + F.join(": ..., ") + ": ...}" : "{}";
|
|
1218
1256
|
_(`A props object containing a "key" prop is being spread into JSX:
|
|
1219
1257
|
let props = %s;
|
|
1220
1258
|
<%s {...props} />
|
|
1221
1259
|
React keys must be passed directly to JSX without using spread:
|
|
1222
1260
|
let props = %s;
|
|
1223
|
-
<%s key={someKey} {...props} />`, ge,
|
|
1261
|
+
<%s key={someKey} {...props} />`, ge, z, Lt, z), Ye[z + ge] = !0;
|
|
1224
1262
|
}
|
|
1225
1263
|
}
|
|
1226
|
-
return e ===
|
|
1264
|
+
return e === s ? Pt(N) : Ot(N), N;
|
|
1227
1265
|
}
|
|
1228
1266
|
}
|
|
1229
|
-
function
|
|
1267
|
+
function jt(e, o, l) {
|
|
1230
1268
|
return qe(e, o, l, !0);
|
|
1231
1269
|
}
|
|
1232
|
-
function
|
|
1270
|
+
function Dt(e, o, l) {
|
|
1233
1271
|
return qe(e, o, l, !1);
|
|
1234
1272
|
}
|
|
1235
|
-
var
|
|
1236
|
-
X.Fragment =
|
|
1273
|
+
var Ft = Dt, $t = jt;
|
|
1274
|
+
X.Fragment = s, X.jsx = Ft, X.jsxs = $t;
|
|
1237
1275
|
})()), X;
|
|
1238
1276
|
}
|
|
1239
|
-
var
|
|
1240
|
-
function
|
|
1241
|
-
return
|
|
1277
|
+
var et;
|
|
1278
|
+
function pr() {
|
|
1279
|
+
return et || (et = 1, process.env.NODE_ENV === "production" ? oe.exports = fr() : oe.exports = dr()), oe.exports;
|
|
1242
1280
|
}
|
|
1243
|
-
var
|
|
1244
|
-
const
|
|
1281
|
+
var y = pr();
|
|
1282
|
+
const at = "platform-kit", hr = !1, ye = {
|
|
1245
1283
|
log: (...t) => {
|
|
1246
1284
|
},
|
|
1247
1285
|
warn: (...t) => {
|
|
1248
1286
|
},
|
|
1249
1287
|
error: (...t) => {
|
|
1250
|
-
console.error(`[${
|
|
1288
|
+
console.error(`[${at}]`, ...t);
|
|
1251
1289
|
}
|
|
1252
1290
|
};
|
|
1253
|
-
class
|
|
1291
|
+
class Lr extends Vt {
|
|
1254
1292
|
hasDispatched = !1;
|
|
1255
1293
|
constructor(r) {
|
|
1256
1294
|
super(r), this.state = { hasError: !1 };
|
|
@@ -1264,7 +1302,7 @@ class Cr extends Lt {
|
|
|
1264
1302
|
const r = window;
|
|
1265
1303
|
if (r.__MF_NAME__) return r.__MF_NAME__;
|
|
1266
1304
|
}
|
|
1267
|
-
return
|
|
1305
|
+
return at;
|
|
1268
1306
|
}
|
|
1269
1307
|
/**
|
|
1270
1308
|
* Определить нужно ли показывать детали ошибки
|
|
@@ -1282,7 +1320,7 @@ class Cr extends Lt {
|
|
|
1282
1320
|
}
|
|
1283
1321
|
} catch {
|
|
1284
1322
|
}
|
|
1285
|
-
return
|
|
1323
|
+
return hr;
|
|
1286
1324
|
}
|
|
1287
1325
|
/**
|
|
1288
1326
|
* Dispatch ошибки в shell
|
|
@@ -1290,12 +1328,12 @@ class Cr extends Lt {
|
|
|
1290
1328
|
dispatchError(r, n) {
|
|
1291
1329
|
if (this.hasDispatched || typeof window > "u") return;
|
|
1292
1330
|
this.hasDispatched = !0;
|
|
1293
|
-
const
|
|
1294
|
-
|
|
1331
|
+
const s = this.getMfeName();
|
|
1332
|
+
ye.error("ErrorBoundary caught:", r);
|
|
1295
1333
|
try {
|
|
1296
1334
|
window.dispatchEvent(new CustomEvent("mfe-error", {
|
|
1297
1335
|
detail: {
|
|
1298
|
-
mfeName:
|
|
1336
|
+
mfeName: s,
|
|
1299
1337
|
error: r.message || String(r),
|
|
1300
1338
|
stack: r.stack,
|
|
1301
1339
|
componentStack: n?.componentStack,
|
|
@@ -1304,7 +1342,7 @@ class Cr extends Lt {
|
|
|
1304
1342
|
bubbles: !0
|
|
1305
1343
|
}));
|
|
1306
1344
|
} catch (c) {
|
|
1307
|
-
|
|
1345
|
+
ye.error("Failed to dispatch mfe-error event:", c);
|
|
1308
1346
|
}
|
|
1309
1347
|
}
|
|
1310
1348
|
/**
|
|
@@ -1317,7 +1355,7 @@ class Cr extends Lt {
|
|
|
1317
1355
|
* Обработать ошибку
|
|
1318
1356
|
*/
|
|
1319
1357
|
componentDidCatch(r, n) {
|
|
1320
|
-
this.dispatchError(r, n),
|
|
1358
|
+
this.dispatchError(r, n), ye.error("Error info:", n.componentStack);
|
|
1321
1359
|
}
|
|
1322
1360
|
/**
|
|
1323
1361
|
* Копировать ошибку в буфер обмена
|
|
@@ -1349,8 +1387,8 @@ ${this.state.error?.stack}`;
|
|
|
1349
1387
|
*/
|
|
1350
1388
|
render() {
|
|
1351
1389
|
if (this.state.hasError) {
|
|
1352
|
-
const r = this.state.error?.message || "Unknown error", n = this.state.error?.stack || "",
|
|
1353
|
-
return /* @__PURE__ */
|
|
1390
|
+
const r = this.state.error?.message || "Unknown error", n = this.state.error?.stack || "", s = this.shouldShowDetails(), c = this.getMfeName();
|
|
1391
|
+
return /* @__PURE__ */ y.jsxs("div", { style: {
|
|
1354
1392
|
padding: "20px",
|
|
1355
1393
|
textAlign: "center",
|
|
1356
1394
|
color: "#d32f2f",
|
|
@@ -1360,12 +1398,12 @@ ${this.state.error?.stack}`;
|
|
|
1360
1398
|
borderRadius: "4px",
|
|
1361
1399
|
margin: "10px"
|
|
1362
1400
|
}, children: [
|
|
1363
|
-
/* @__PURE__ */
|
|
1401
|
+
/* @__PURE__ */ y.jsxs("h2", { style: { fontSize: "16px", margin: "0 0 8px 0" }, children: [
|
|
1364
1402
|
"⚠️ Ошибка в ",
|
|
1365
1403
|
c
|
|
1366
1404
|
] }),
|
|
1367
|
-
/* @__PURE__ */
|
|
1368
|
-
|
|
1405
|
+
/* @__PURE__ */ y.jsx("p", { style: { fontSize: "12px", margin: 0 }, children: "Произошла ошибка в микрофронтенде. Сообщение отправлено в shell." }),
|
|
1406
|
+
s && /* @__PURE__ */ y.jsxs("details", { style: {
|
|
1369
1407
|
whiteSpace: "pre-wrap",
|
|
1370
1408
|
textAlign: "left",
|
|
1371
1409
|
marginTop: "10px",
|
|
@@ -1373,8 +1411,8 @@ ${this.state.error?.stack}`;
|
|
|
1373
1411
|
padding: "8px",
|
|
1374
1412
|
borderRadius: "4px"
|
|
1375
1413
|
}, children: [
|
|
1376
|
-
/* @__PURE__ */
|
|
1377
|
-
/* @__PURE__ */
|
|
1414
|
+
/* @__PURE__ */ y.jsx("summary", { style: { cursor: "pointer", fontWeight: "bold" }, children: "Детали ошибки" }),
|
|
1415
|
+
/* @__PURE__ */ y.jsxs("pre", { style: {
|
|
1378
1416
|
fontSize: "11px",
|
|
1379
1417
|
overflow: "auto",
|
|
1380
1418
|
maxHeight: "150px",
|
|
@@ -1389,8 +1427,8 @@ ${this.state.error?.stack}`;
|
|
|
1389
1427
|
${n}`
|
|
1390
1428
|
] })
|
|
1391
1429
|
] }),
|
|
1392
|
-
/* @__PURE__ */
|
|
1393
|
-
/* @__PURE__ */
|
|
1430
|
+
/* @__PURE__ */ y.jsxs("div", { style: { marginTop: "12px", display: "flex", gap: "8px", justifyContent: "center" }, children: [
|
|
1431
|
+
/* @__PURE__ */ y.jsx(
|
|
1394
1432
|
"button",
|
|
1395
1433
|
{
|
|
1396
1434
|
onClick: this.handleCopy,
|
|
@@ -1405,7 +1443,7 @@ ${n}`
|
|
|
1405
1443
|
children: "📋 Копировать"
|
|
1406
1444
|
}
|
|
1407
1445
|
),
|
|
1408
|
-
/* @__PURE__ */
|
|
1446
|
+
/* @__PURE__ */ y.jsx(
|
|
1409
1447
|
"button",
|
|
1410
1448
|
{
|
|
1411
1449
|
onClick: this.handleRetry,
|
|
@@ -1420,7 +1458,7 @@ ${n}`
|
|
|
1420
1458
|
children: "🔄 Обновить"
|
|
1421
1459
|
}
|
|
1422
1460
|
),
|
|
1423
|
-
/* @__PURE__ */
|
|
1461
|
+
/* @__PURE__ */ y.jsx(
|
|
1424
1462
|
"button",
|
|
1425
1463
|
{
|
|
1426
1464
|
onClick: this.handleGoHome,
|
|
@@ -1441,7 +1479,7 @@ ${n}`
|
|
|
1441
1479
|
return this.props.children == null ? null : this.props.children;
|
|
1442
1480
|
}
|
|
1443
1481
|
}
|
|
1444
|
-
function
|
|
1482
|
+
function mr() {
|
|
1445
1483
|
const [t, r] = A("light");
|
|
1446
1484
|
return L(() => {
|
|
1447
1485
|
const n = () => {
|
|
@@ -1449,11 +1487,11 @@ function sr() {
|
|
|
1449
1487
|
r(d ? "dark" : "light"), console.log("[VersionInfo] Theme detected:", d ? "dark" : "light", "classes:", document.body.className);
|
|
1450
1488
|
};
|
|
1451
1489
|
n();
|
|
1452
|
-
const
|
|
1453
|
-
|
|
1490
|
+
const s = new MutationObserver(n);
|
|
1491
|
+
s.observe(document.body, { attributes: !0, attributeFilter: ["class"] });
|
|
1454
1492
|
const c = window.matchMedia("(prefers-color-scheme: dark)");
|
|
1455
1493
|
return c.addEventListener("change", n), () => {
|
|
1456
|
-
|
|
1494
|
+
s.disconnect(), c.removeEventListener("change", n);
|
|
1457
1495
|
};
|
|
1458
1496
|
}, []), t;
|
|
1459
1497
|
}
|
|
@@ -1468,21 +1506,21 @@ const D = {
|
|
|
1468
1506
|
tags: "🏷️",
|
|
1469
1507
|
spreadsheet: "📊"
|
|
1470
1508
|
};
|
|
1471
|
-
function
|
|
1472
|
-
const { data: r, isLoading: n, error:
|
|
1509
|
+
function Ur({ mfeName: t }) {
|
|
1510
|
+
const { data: r, isLoading: n, error: s } = Jt({ mfeName: t }), [c, d] = A(!1), a = mr();
|
|
1473
1511
|
if (n)
|
|
1474
|
-
return /* @__PURE__ */
|
|
1475
|
-
/* @__PURE__ */
|
|
1512
|
+
return /* @__PURE__ */ y.jsxs("span", { className: "text-muted small me-2", children: [
|
|
1513
|
+
/* @__PURE__ */ y.jsx("span", { className: "me-1", children: "⏳" }),
|
|
1476
1514
|
"Загрузка..."
|
|
1477
1515
|
] });
|
|
1478
|
-
if (
|
|
1479
|
-
return /* @__PURE__ */
|
|
1480
|
-
/* @__PURE__ */
|
|
1516
|
+
if (s || !r)
|
|
1517
|
+
return /* @__PURE__ */ y.jsxs("span", { className: "text-muted small me-2", title: `Ошибка: ${s || "нет данных"}`, children: [
|
|
1518
|
+
/* @__PURE__ */ y.jsx("span", { className: "me-1", children: "ℹ️" }),
|
|
1481
1519
|
"N/A"
|
|
1482
1520
|
] });
|
|
1483
|
-
const
|
|
1484
|
-
return
|
|
1485
|
-
/* @__PURE__ */
|
|
1521
|
+
const i = r, p = i.BUILD_VERSION || i.IMAGE_VERSION || i.APP_NAME || "N/A", v = i.APP_NAME ? `${i.APP_NAME}: ${p}` : p || t, u = [];
|
|
1522
|
+
return i.APP_NAME && u.push({ key: "APP_NAME", value: i.APP_NAME, label: "Приложение", icon: D.apps }), i.BUILD_VERSION && u.push({ key: "BUILD_VERSION", value: i.BUILD_VERSION, label: "Версия", icon: D.tags }), i.IMAGE_VERSION && u.push({ key: "IMAGE_VERSION", value: i.IMAGE_VERSION, label: "Образ", icon: D.storage }), i.GIT_COMMIT && u.push({ key: "GIT_COMMIT", value: i.GIT_COMMIT, label: "Commit", icon: D.spreadsheet }), i.COMMIT_SHA && u.push({ key: "COMMIT_SHA", value: i.COMMIT_SHA, label: "Commit", icon: D.spreadsheet }), i.GIT_BRANCH && u.push({ key: "GIT_BRANCH", value: i.GIT_BRANCH, label: "Ветка", icon: D.spreadsheet }), i.BUILD_BRANCH && u.push({ key: "BUILD_BRANCH", value: i.BUILD_BRANCH, label: "Ветка", icon: D.spreadsheet }), i.CI_COMMIT_AUTHOR && u.push({ key: "CI_COMMIT_AUTHOR", value: i.CI_COMMIT_AUTHOR, label: "Автор", icon: D.user }), i.CI_COMMIT_TIMESTAMP && u.push({ key: "CI_COMMIT_TIMESTAMP", value: i.CI_COMMIT_TIMESTAMP, label: "Дата", icon: D.clock }), i.BUILD_DATE && u.push({ key: "BUILD_DATE", value: i.BUILD_DATE, label: "Сборка", icon: D.clock }), i.CI_JOB_URL && u.push({ key: "CI_JOB_URL", value: i.CI_JOB_URL, label: "CI Job", icon: D.link }), i.CI_PIPELINE_URL && u.push({ key: "CI_PIPELINE_URL", value: i.CI_PIPELINE_URL, label: "Pipeline", icon: D.link }), i.CI_COMMIT_MESSAGE && (i.CI_COMMIT_MESSAGE.length > 60 ? i.CI_COMMIT_MESSAGE.substring(0, 57) + "" : i.CI_COMMIT_MESSAGE, u.push({ key: "CI_COMMIT_MESSAGE", value: i.CI_COMMIT_MESSAGE, label: "Сообщение", icon: D.code })), /* @__PURE__ */ y.jsxs("div", { style: { display: "inline-block", position: "relative" }, children: [
|
|
1523
|
+
/* @__PURE__ */ y.jsxs(
|
|
1486
1524
|
"button",
|
|
1487
1525
|
{
|
|
1488
1526
|
onClick: () => d(!c),
|
|
@@ -1497,12 +1535,12 @@ function Ir({ mfeName: t }) {
|
|
|
1497
1535
|
},
|
|
1498
1536
|
title: "Информация о версии",
|
|
1499
1537
|
children: [
|
|
1500
|
-
/* @__PURE__ */
|
|
1501
|
-
/* @__PURE__ */
|
|
1538
|
+
/* @__PURE__ */ y.jsx("span", { className: "me-1", children: D.info }),
|
|
1539
|
+
/* @__PURE__ */ y.jsx("span", { style: { color: a === "dark" ? "#c4c7cc" : "#212529" }, children: p })
|
|
1502
1540
|
]
|
|
1503
1541
|
}
|
|
1504
1542
|
),
|
|
1505
|
-
c && /* @__PURE__ */
|
|
1543
|
+
c && /* @__PURE__ */ y.jsxs(
|
|
1506
1544
|
"div",
|
|
1507
1545
|
{
|
|
1508
1546
|
style: {
|
|
@@ -1520,7 +1558,7 @@ function Ir({ mfeName: t }) {
|
|
|
1520
1558
|
marginTop: "4px"
|
|
1521
1559
|
},
|
|
1522
1560
|
children: [
|
|
1523
|
-
/* @__PURE__ */
|
|
1561
|
+
/* @__PURE__ */ y.jsxs("div", { style: {
|
|
1524
1562
|
marginBottom: "8px",
|
|
1525
1563
|
paddingBottom: "6px",
|
|
1526
1564
|
borderBottom: `1px solid ${a === "dark" ? "#40444b" : "#dee2e6"}`,
|
|
@@ -1528,23 +1566,23 @@ function Ir({ mfeName: t }) {
|
|
|
1528
1566
|
alignItems: "center",
|
|
1529
1567
|
fontSize: "13px"
|
|
1530
1568
|
}, children: [
|
|
1531
|
-
/* @__PURE__ */
|
|
1532
|
-
/* @__PURE__ */
|
|
1569
|
+
/* @__PURE__ */ y.jsx("span", { className: "me-1", children: D.apps }),
|
|
1570
|
+
/* @__PURE__ */ y.jsx("strong", { style: { color: a === "dark" ? "#e4e5e6" : "#212529" }, children: v })
|
|
1533
1571
|
] }),
|
|
1534
|
-
u.length > 0 && /* @__PURE__ */
|
|
1572
|
+
u.length > 0 && /* @__PURE__ */ y.jsx("div", { style: { fontSize: "12px" }, children: u.filter(
|
|
1535
1573
|
(h) => (
|
|
1536
1574
|
// Hide these fields - they're already in header or redundant
|
|
1537
1575
|
h.key !== "APP_NAME" && h.key !== "BUILD_VERSION" && h.key !== "IMAGE_VERSION"
|
|
1538
1576
|
)
|
|
1539
1577
|
).map(({ key: h, value: f, label: E, icon: g }) => {
|
|
1540
1578
|
const C = h.includes("URL"), R = C ? "🔗" : f;
|
|
1541
|
-
return /* @__PURE__ */
|
|
1542
|
-
/* @__PURE__ */
|
|
1543
|
-
/* @__PURE__ */
|
|
1579
|
+
return /* @__PURE__ */ y.jsxs("div", { style: { marginBottom: "4px", display: "flex", alignItems: "center" }, children: [
|
|
1580
|
+
/* @__PURE__ */ y.jsx("span", { className: "me-1", style: { flexShrink: 0 }, children: g }),
|
|
1581
|
+
/* @__PURE__ */ y.jsxs("span", { style: { color: a === "dark" ? "#949ba3" : "#6c757d", marginRight: "4px" }, children: [
|
|
1544
1582
|
E,
|
|
1545
1583
|
":"
|
|
1546
1584
|
] }),
|
|
1547
|
-
C ? /* @__PURE__ */
|
|
1585
|
+
C ? /* @__PURE__ */ y.jsx(
|
|
1548
1586
|
"a",
|
|
1549
1587
|
{
|
|
1550
1588
|
href: f,
|
|
@@ -1553,11 +1591,11 @@ function Ir({ mfeName: t }) {
|
|
|
1553
1591
|
style: { color: "#4da6ff", textDecoration: "none" },
|
|
1554
1592
|
children: "🔗"
|
|
1555
1593
|
}
|
|
1556
|
-
) : /* @__PURE__ */
|
|
1594
|
+
) : /* @__PURE__ */ y.jsx("span", { style: { color: a === "dark" ? "#c4c7cc" : "#212529" }, children: R })
|
|
1557
1595
|
] }, h);
|
|
1558
1596
|
}) }),
|
|
1559
|
-
u.length === 0 && /* @__PURE__ */
|
|
1560
|
-
/* @__PURE__ */
|
|
1597
|
+
u.length === 0 && /* @__PURE__ */ y.jsx("div", { className: "text-center text-muted py-2 small", children: "Нет информации о версии" }),
|
|
1598
|
+
/* @__PURE__ */ y.jsx("div", { style: {
|
|
1561
1599
|
marginTop: "8px",
|
|
1562
1600
|
paddingTop: "6px",
|
|
1563
1601
|
borderTop: `1px solid ${a === "dark" ? "#40444b" : "#dee2e6"}`,
|
|
@@ -1565,7 +1603,7 @@ function Ir({ mfeName: t }) {
|
|
|
1565
1603
|
fontSize: "11px",
|
|
1566
1604
|
color: "#6c757d"
|
|
1567
1605
|
}, children: "IngoBank DevOps Platform" }),
|
|
1568
|
-
/* @__PURE__ */
|
|
1606
|
+
/* @__PURE__ */ y.jsx(
|
|
1569
1607
|
"button",
|
|
1570
1608
|
{
|
|
1571
1609
|
onClick: () => d(!1),
|
|
@@ -1585,7 +1623,7 @@ function Ir({ mfeName: t }) {
|
|
|
1585
1623
|
]
|
|
1586
1624
|
}
|
|
1587
1625
|
),
|
|
1588
|
-
c && /* @__PURE__ */
|
|
1626
|
+
c && /* @__PURE__ */ y.jsx(
|
|
1589
1627
|
"div",
|
|
1590
1628
|
{
|
|
1591
1629
|
onClick: () => d(!1),
|
|
@@ -1601,17 +1639,17 @@ function Ir({ mfeName: t }) {
|
|
|
1601
1639
|
)
|
|
1602
1640
|
] });
|
|
1603
1641
|
}
|
|
1604
|
-
const Ee = "platform-kit",
|
|
1605
|
-
function
|
|
1606
|
-
const [r, n] = A([]),
|
|
1642
|
+
const Ee = "platform-kit", it = Bt(null);
|
|
1643
|
+
function Vr({ children: t }) {
|
|
1644
|
+
const [r, n] = A([]), s = typeof window < "u" && window.__MF_NAME__ || Ee, c = S((f, E, g, C) => ({
|
|
1607
1645
|
id: `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
|
|
1608
1646
|
type: f,
|
|
1609
1647
|
title: E,
|
|
1610
1648
|
message: g,
|
|
1611
|
-
mfeName:
|
|
1649
|
+
mfeName: s,
|
|
1612
1650
|
timestamp: Date.now(),
|
|
1613
1651
|
duration: C
|
|
1614
|
-
}), [
|
|
1652
|
+
}), [s]), d = S((f) => {
|
|
1615
1653
|
n((g) => [...g, f].slice(0, 5));
|
|
1616
1654
|
const E = f.duration || 5e3;
|
|
1617
1655
|
E > 0 && setTimeout(() => {
|
|
@@ -1623,11 +1661,11 @@ function Mr({ children: t }) {
|
|
|
1623
1661
|
detail: E,
|
|
1624
1662
|
bubbles: !0
|
|
1625
1663
|
}));
|
|
1626
|
-
}, [c, d]),
|
|
1664
|
+
}, [c, d]), i = S((f, E = "Успешно") => {
|
|
1627
1665
|
a({ type: "success", title: E, message: f });
|
|
1628
1666
|
}, [a]), p = S((f, E = "Ошибка") => {
|
|
1629
1667
|
a({ type: "error", title: E, message: f });
|
|
1630
|
-
}, [a]),
|
|
1668
|
+
}, [a]), v = S((f, E = "Предупреждение") => {
|
|
1631
1669
|
a({ type: "warning", title: E, message: f });
|
|
1632
1670
|
}, [a]), u = S((f, E = "Информация") => {
|
|
1633
1671
|
a({ type: "info", title: E, message: f });
|
|
@@ -1649,16 +1687,16 @@ function Mr({ children: t }) {
|
|
|
1649
1687
|
return window.addEventListener("mfe-notification", f), () => {
|
|
1650
1688
|
window.removeEventListener("mfe-notification", f);
|
|
1651
1689
|
};
|
|
1652
|
-
}, [d]), /* @__PURE__ */
|
|
1690
|
+
}, [d]), /* @__PURE__ */ y.jsxs(it.Provider, { value: {
|
|
1653
1691
|
notify: a,
|
|
1654
|
-
notifySuccess:
|
|
1692
|
+
notifySuccess: i,
|
|
1655
1693
|
notifyError: p,
|
|
1656
|
-
notifyWarning:
|
|
1694
|
+
notifyWarning: v,
|
|
1657
1695
|
notifyInfo: u,
|
|
1658
1696
|
removeNotification: h
|
|
1659
1697
|
}, children: [
|
|
1660
1698
|
t,
|
|
1661
|
-
r.length > 0 && /* @__PURE__ */
|
|
1699
|
+
r.length > 0 && /* @__PURE__ */ y.jsx(
|
|
1662
1700
|
"div",
|
|
1663
1701
|
{
|
|
1664
1702
|
style: {
|
|
@@ -1673,7 +1711,7 @@ function Mr({ children: t }) {
|
|
|
1673
1711
|
gap: "8px",
|
|
1674
1712
|
pointerEvents: "none"
|
|
1675
1713
|
},
|
|
1676
|
-
children: r.map((f) => /* @__PURE__ */
|
|
1714
|
+
children: r.map((f) => /* @__PURE__ */ y.jsxs(
|
|
1677
1715
|
"div",
|
|
1678
1716
|
{
|
|
1679
1717
|
className: `notification notification-${f.type}`,
|
|
@@ -1689,12 +1727,12 @@ function Mr({ children: t }) {
|
|
|
1689
1727
|
gap: "12px"
|
|
1690
1728
|
},
|
|
1691
1729
|
children: [
|
|
1692
|
-
/* @__PURE__ */
|
|
1693
|
-
/* @__PURE__ */
|
|
1694
|
-
/* @__PURE__ */
|
|
1695
|
-
/* @__PURE__ */
|
|
1730
|
+
/* @__PURE__ */ y.jsxs("div", { style: { flex: 1 }, children: [
|
|
1731
|
+
/* @__PURE__ */ y.jsx("strong", { style: { display: "block", marginBottom: "4px" }, children: f.title }),
|
|
1732
|
+
/* @__PURE__ */ y.jsx("p", { style: { margin: 0, fontSize: "14px" }, children: f.message }),
|
|
1733
|
+
/* @__PURE__ */ y.jsx("small", { style: { opacity: 0.7, fontSize: "12px" }, children: f.mfeName })
|
|
1696
1734
|
] }),
|
|
1697
|
-
/* @__PURE__ */
|
|
1735
|
+
/* @__PURE__ */ y.jsx(
|
|
1698
1736
|
"button",
|
|
1699
1737
|
{
|
|
1700
1738
|
onClick: () => h(f.id),
|
|
@@ -1717,8 +1755,8 @@ function Mr({ children: t }) {
|
|
|
1717
1755
|
)
|
|
1718
1756
|
] });
|
|
1719
1757
|
}
|
|
1720
|
-
function
|
|
1721
|
-
const t =
|
|
1758
|
+
function Br() {
|
|
1759
|
+
const t = Ht(it);
|
|
1722
1760
|
return t || {
|
|
1723
1761
|
notify: () => {
|
|
1724
1762
|
},
|
|
@@ -1734,7 +1772,7 @@ function Nr() {
|
|
|
1734
1772
|
}
|
|
1735
1773
|
};
|
|
1736
1774
|
}
|
|
1737
|
-
function
|
|
1775
|
+
function Hr(t) {
|
|
1738
1776
|
if (typeof window > "u") return;
|
|
1739
1777
|
const r = window.__MF_NAME__ || Ee, n = {
|
|
1740
1778
|
...t,
|
|
@@ -1749,18 +1787,18 @@ function Pr(t) {
|
|
|
1749
1787
|
function ce(t, r) {
|
|
1750
1788
|
const n = r?.prefix ? `[${r.prefix}]` : `[${t}]`;
|
|
1751
1789
|
return {
|
|
1752
|
-
log: (...
|
|
1790
|
+
log: (...s) => {
|
|
1753
1791
|
},
|
|
1754
|
-
warn: (...
|
|
1792
|
+
warn: (...s) => {
|
|
1755
1793
|
},
|
|
1756
|
-
error: (...
|
|
1757
|
-
console.error(n, ...
|
|
1794
|
+
error: (...s) => {
|
|
1795
|
+
console.error(n, ...s);
|
|
1758
1796
|
},
|
|
1759
|
-
info: (...
|
|
1797
|
+
info: (...s) => {
|
|
1760
1798
|
}
|
|
1761
1799
|
};
|
|
1762
1800
|
}
|
|
1763
|
-
const
|
|
1801
|
+
const Wr = ce("platform-kit", { prefix: "AUTH" }), zr = ce("platform-kit", { prefix: "API" }), Gr = ce("platform-kit", { prefix: "ERROR" }), Yr = ce("platform-kit", { prefix: "INFO" }), gr = {}, _r = {
|
|
1764
1802
|
log: (...t) => {
|
|
1765
1803
|
},
|
|
1766
1804
|
warn: (...t) => {
|
|
@@ -1772,12 +1810,12 @@ const Or = ce("platform-kit", { prefix: "AUTH" }), jr = ce("platform-kit", { pre
|
|
|
1772
1810
|
function be(t) {
|
|
1773
1811
|
return t ? t.mfeName ? t.mfeName : t.name ? t.name.replace("@ib-dop/", "") : null : null;
|
|
1774
1812
|
}
|
|
1775
|
-
function
|
|
1813
|
+
function ct() {
|
|
1776
1814
|
if (typeof window > "u") return null;
|
|
1777
1815
|
const t = window;
|
|
1778
1816
|
return t.__MF_NAME__ ? t.__MF_NAME__ : null;
|
|
1779
1817
|
}
|
|
1780
|
-
function
|
|
1818
|
+
function ut() {
|
|
1781
1819
|
if (typeof window > "u") return null;
|
|
1782
1820
|
try {
|
|
1783
1821
|
const t = sessionStorage.getItem("mf-config");
|
|
@@ -1792,84 +1830,85 @@ function it() {
|
|
|
1792
1830
|
return null;
|
|
1793
1831
|
}
|
|
1794
1832
|
function xe() {
|
|
1795
|
-
const t =
|
|
1833
|
+
const t = gr;
|
|
1796
1834
|
return t.VITE_MFE_NAME ? String(t.VITE_MFE_NAME) : t.MFE_NAME ? String(t.MFE_NAME) : null;
|
|
1797
1835
|
}
|
|
1798
1836
|
let se = null, we = !1;
|
|
1799
|
-
function
|
|
1837
|
+
function yr(t, r) {
|
|
1800
1838
|
const n = be(t);
|
|
1801
1839
|
if (n)
|
|
1802
1840
|
return n;
|
|
1803
1841
|
if (we && se)
|
|
1804
1842
|
return se;
|
|
1805
|
-
const
|
|
1806
|
-
{ source: "window.__MF_NAME__", value:
|
|
1807
|
-
{ source: "sessionStorage.mf-config", value:
|
|
1843
|
+
const s = [
|
|
1844
|
+
{ source: "window.__MF_NAME__", value: ct() },
|
|
1845
|
+
{ source: "sessionStorage.mf-config", value: ut() },
|
|
1808
1846
|
{ source: "import.meta.env.VITE_MFE_NAME", value: xe() }
|
|
1809
1847
|
];
|
|
1810
|
-
for (const { source: d, value: a } of
|
|
1848
|
+
for (const { source: d, value: a } of s)
|
|
1811
1849
|
if (a)
|
|
1812
1850
|
return se = a, we = !0, a;
|
|
1813
1851
|
if (r)
|
|
1814
1852
|
return r;
|
|
1815
1853
|
const c = "Cannot determine MFE name. Please pass mfeName in props, set window.__MF_NAME__, sessionStorage.mf-config, or VITE_MFE_NAME";
|
|
1816
|
-
throw
|
|
1854
|
+
throw _r.error(c), new Error(c);
|
|
1817
1855
|
}
|
|
1818
|
-
function
|
|
1819
|
-
return
|
|
1856
|
+
function qr(t) {
|
|
1857
|
+
return yr(t);
|
|
1820
1858
|
}
|
|
1821
|
-
function
|
|
1822
|
-
return be(t) ? "props.mfeName" :
|
|
1859
|
+
function vr(t) {
|
|
1860
|
+
return be(t) ? "props.mfeName" : ct() ? "window.__MF_NAME__" : ut() ? "sessionStorage.mf-config" : xe() ? "import.meta.env.VITE_MFE_NAME" : null;
|
|
1823
1861
|
}
|
|
1824
|
-
function
|
|
1825
|
-
return
|
|
1862
|
+
function Jr(t) {
|
|
1863
|
+
return vr(t) !== null;
|
|
1826
1864
|
}
|
|
1827
|
-
function
|
|
1865
|
+
function Kr() {
|
|
1828
1866
|
se = null, we = !1;
|
|
1829
1867
|
}
|
|
1830
|
-
function
|
|
1868
|
+
function Xr(t) {
|
|
1831
1869
|
const r = [];
|
|
1832
1870
|
return be(t) && r.push("props.mfeName"), typeof window < "u" && (window.__MF_NAME__ && r.push("window.__MF_NAME__"), sessionStorage.getItem("mf-config") && r.push("sessionStorage.mf-config")), xe() && r.push("import.meta.env.VITE_MFE_NAME"), r;
|
|
1833
1871
|
}
|
|
1834
1872
|
export {
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1873
|
+
Lr as ErrorBoundary,
|
|
1874
|
+
Vr as NotificationProvider,
|
|
1875
|
+
Ur as VersionInfo,
|
|
1838
1876
|
H as api,
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1877
|
+
zr as apiLogger,
|
|
1878
|
+
rr as attachTraceparentToAxios,
|
|
1879
|
+
Wr as authLogger,
|
|
1880
|
+
cr as createApiClient,
|
|
1842
1881
|
ce as createMfLogger,
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1882
|
+
Ir as del,
|
|
1883
|
+
Hr as dispatchNotification,
|
|
1884
|
+
Gr as errorLogger,
|
|
1885
|
+
Rr as get,
|
|
1886
|
+
xr as getAccessToken,
|
|
1887
|
+
Xr as getAllMfeNameSources,
|
|
1888
|
+
br as getAuthState,
|
|
1889
|
+
yr as getMfeName,
|
|
1890
|
+
vr as getMfeNameSource,
|
|
1891
|
+
V as getShellAuth,
|
|
1892
|
+
Jr as hasMfeName,
|
|
1893
|
+
Yr as infoLogger,
|
|
1894
|
+
kr as isAuthenticated,
|
|
1895
|
+
Ar as logout,
|
|
1896
|
+
Sr as post,
|
|
1897
|
+
Cr as put,
|
|
1898
|
+
Gt as redirectToLogin,
|
|
1899
|
+
qr as requireMfeName,
|
|
1900
|
+
Kr as resetMfeNameCache,
|
|
1862
1901
|
ie as useApi,
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1902
|
+
Pr as useDel,
|
|
1903
|
+
Fr as useFeatureAdmin,
|
|
1904
|
+
Dr as useFeatures,
|
|
1905
|
+
Mr as useGet,
|
|
1906
|
+
Jt as useInfoData,
|
|
1907
|
+
$r as useMicrofrontendsFeatures,
|
|
1908
|
+
Br as useNotification,
|
|
1909
|
+
jr as usePermissions,
|
|
1910
|
+
Nr as usePost,
|
|
1911
|
+
Or as usePut,
|
|
1873
1912
|
ae as useShellAuth,
|
|
1874
|
-
|
|
1913
|
+
Tr as useV1Config
|
|
1875
1914
|
};
|