@burdenoff/fe-libs 2026.529.2 → 2026.529.3
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/dist/shared/graphql/client.d.ts.map +1 -1
- package/dist/shared/graphql/client.js +95 -83
- package/dist/shared/graphql/fetch.d.ts.map +1 -1
- package/dist/shared/graphql/fetch.js +130 -107
- package/dist/shared/providers/AppShellProvider.d.ts.map +1 -1
- package/dist/shared/providers/AppShellProvider.js +215 -181
- package/dist/shared/tours/toursContext/useTourMutations.js +29 -29
- package/dist/shared/utils/backendErrors.d.ts.map +1 -1
- package/dist/shared/utils/backendErrors.js +121 -0
- package/dist/shared/utils/index.d.ts +4 -2
- package/dist/shared/utils/index.d.ts.map +1 -1
- package/dist/shared/utils/quotaErrors.js +11 -8
- package/dist/shared-tours.js +3 -3
- package/dist/shared-utils.js +12 -11
- package/dist/shared.js +96 -95
- package/dist/utils/index.js +1 -0
- package/package.json +1 -1
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { COMPLETE_STEP as e, COMPLETE_TOUR as t, SKIP_TOUR as n, START_TOUR as r, TRACK_TOUR_EVENT as i } from "./gql.js";
|
|
2
|
+
import { getOrCreateTourSessionId as a, normalizeDeviceType as o } from "./session.js";
|
|
3
|
+
import { withTourProgressStatus as s } from "../progress.js";
|
|
4
4
|
import { useCallback as c } from "react";
|
|
5
5
|
//#region src/shared/tours/toursContext/useTourMutations.ts
|
|
6
6
|
function l({ globalClient: l, userId: u, productSlug: d, moduleId: f, pageId: p, workspaceId: m, setAllTours: h, allToursRef: g, progressMutationVersionRef: _, latestProgressMutationByTourRef: v }) {
|
|
7
7
|
return {
|
|
8
|
-
trackProgress: c(async (
|
|
8
|
+
trackProgress: c(async (e, i, a) => {
|
|
9
9
|
if (!l || !u) return;
|
|
10
|
-
let c =
|
|
11
|
-
_.current = f, v.current.set(
|
|
12
|
-
let
|
|
13
|
-
return g.current =
|
|
10
|
+
let c = i === "started" ? "IN_PROGRESS" : i === "completed" ? "COMPLETED" : "SKIPPED", d = g.current.find((t) => t.id === e)?.myProgress, f = _.current + 1;
|
|
11
|
+
_.current = f, v.current.set(e, f), h((t) => {
|
|
12
|
+
let n = s(t, e, c);
|
|
13
|
+
return g.current = n, n;
|
|
14
14
|
});
|
|
15
15
|
try {
|
|
16
|
-
if (
|
|
16
|
+
if (i === "started") {
|
|
17
17
|
await l.mutate({
|
|
18
|
-
mutation:
|
|
18
|
+
mutation: r,
|
|
19
19
|
variables: {
|
|
20
|
-
tourId:
|
|
20
|
+
tourId: e,
|
|
21
21
|
userId: u,
|
|
22
|
-
deviceType:
|
|
22
|
+
deviceType: o()
|
|
23
23
|
}
|
|
24
24
|
});
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
27
|
-
if (
|
|
27
|
+
if (i === "completed") {
|
|
28
28
|
await l.mutate({
|
|
29
|
-
mutation:
|
|
29
|
+
mutation: t,
|
|
30
30
|
variables: {
|
|
31
|
-
tourId:
|
|
31
|
+
tourId: e,
|
|
32
32
|
userId: u
|
|
33
33
|
}
|
|
34
34
|
});
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
37
37
|
await l.mutate({
|
|
38
|
-
mutation:
|
|
38
|
+
mutation: n,
|
|
39
39
|
variables: {
|
|
40
|
-
tourId:
|
|
40
|
+
tourId: e,
|
|
41
41
|
userId: u
|
|
42
42
|
}
|
|
43
43
|
});
|
|
44
44
|
} catch {
|
|
45
|
-
if (v.current.get(
|
|
46
|
-
h((
|
|
47
|
-
let n =
|
|
48
|
-
...
|
|
45
|
+
if (v.current.get(e) !== f) return;
|
|
46
|
+
h((t) => {
|
|
47
|
+
let n = t.map((t) => t.id === e ? {
|
|
48
|
+
...t,
|
|
49
49
|
myProgress: d
|
|
50
|
-
} :
|
|
50
|
+
} : t);
|
|
51
51
|
return g.current = n, n;
|
|
52
52
|
});
|
|
53
53
|
} finally {
|
|
54
|
-
v.current.get(
|
|
54
|
+
v.current.get(e) === f && v.current.delete(e);
|
|
55
55
|
}
|
|
56
56
|
}, [
|
|
57
57
|
l,
|
|
@@ -61,12 +61,12 @@ function l({ globalClient: l, userId: u, productSlug: d, moduleId: f, pageId: p,
|
|
|
61
61
|
_,
|
|
62
62
|
v
|
|
63
63
|
]),
|
|
64
|
-
recordStepCompletion: c(async (
|
|
64
|
+
recordStepCompletion: c(async (t, n) => {
|
|
65
65
|
if (!(!l || !u || !n)) try {
|
|
66
66
|
await l.mutate({
|
|
67
|
-
mutation:
|
|
67
|
+
mutation: e,
|
|
68
68
|
variables: {
|
|
69
|
-
tourId:
|
|
69
|
+
tourId: t,
|
|
70
70
|
stepId: n,
|
|
71
71
|
userId: u
|
|
72
72
|
}
|
|
@@ -76,18 +76,18 @@ function l({ globalClient: l, userId: u, productSlug: d, moduleId: f, pageId: p,
|
|
|
76
76
|
trackEvent: c(async (e, t, n) => {
|
|
77
77
|
if (!(!l || !u)) try {
|
|
78
78
|
await l.mutate({
|
|
79
|
-
mutation:
|
|
79
|
+
mutation: i,
|
|
80
80
|
variables: { input: {
|
|
81
81
|
tourId: t,
|
|
82
82
|
userId: u,
|
|
83
|
-
sessionId:
|
|
83
|
+
sessionId: a(),
|
|
84
84
|
eventType: e,
|
|
85
85
|
stepId: n?.stepId,
|
|
86
86
|
stepOrder: n?.stepOrder,
|
|
87
87
|
productId: d,
|
|
88
88
|
moduleId: f,
|
|
89
89
|
pageId: p,
|
|
90
|
-
deviceType:
|
|
90
|
+
deviceType: o(),
|
|
91
91
|
userAgent: typeof navigator < "u" ? navigator.userAgent : void 0,
|
|
92
92
|
duration: n?.duration,
|
|
93
93
|
metadata: n?.metadata,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backendErrors.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/backendErrors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,EAAG,yBAAkC,CAAC;AAEtE,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC;IAC7C,UAAU,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAED,MAAM,WAAW,0BAA0B;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAqKD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,0BAA+B,GACvC,mBAAmB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"backendErrors.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/backendErrors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,EAAG,yBAAkC,CAAC;AAEtE,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC;IAC7C,UAAU,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAED,MAAM,WAAW,0BAA0B;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAqKD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,0BAA+B,GACvC,mBAAmB,GAAG,IAAI,CAmC5B;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAElF;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,mBAAmB,GAAG,IAAI,GAChC,KAAK,IAAI,mBAAmB,CAI9B;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,0BAA+B,GACvC,IAAI,CAYN"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
//#region src/shared/utils/backendErrors.ts
|
|
2
|
+
var e = "burdenoff:backend-error", t = "Something went wrong. Please try again.", n = {
|
|
3
|
+
BAD_REQUEST: "Please check the request and try again.",
|
|
4
|
+
BAD_USER_INPUT: "Please check the information and try again.",
|
|
5
|
+
CAPTCHA_FAILED: "The verification failed. Please try again.",
|
|
6
|
+
CAPTCHA_REQUIRED: "Please complete the verification to continue.",
|
|
7
|
+
COMPLEXITY_TOO_HIGH: "This request is too large to process. Please simplify it and try again.",
|
|
8
|
+
CONFLICT: "This change conflicts with existing data. Please refresh and try again.",
|
|
9
|
+
FORBIDDEN: "You do not have permission to do that.",
|
|
10
|
+
INTERNAL_SERVER_ERROR: t,
|
|
11
|
+
NOT_FOUND: "We could not find the requested item.",
|
|
12
|
+
PERMISSION_DENIED: "You do not have permission to do that.",
|
|
13
|
+
QUOTA_EXCEEDED: "You've reached your usage limit.",
|
|
14
|
+
QUOTA_EXHAUSTED: "You've reached your usage limit.",
|
|
15
|
+
RATE_LIMITED: "Too many requests. Please wait a moment and try again.",
|
|
16
|
+
RESOURCE_CAP_EXCEEDED: "You've reached your plan limit. Upgrade your plan to continue.",
|
|
17
|
+
STORAGE_QUOTA_EXCEEDED: "You've reached your storage limit. Upgrade your plan to continue.",
|
|
18
|
+
TIMEOUT: "The request took too long. Please try again.",
|
|
19
|
+
UNAUTHENTICATED: "Please sign in to continue.",
|
|
20
|
+
VALIDATION_ERROR: "Please check the information and try again.",
|
|
21
|
+
WORKSPACE_REQUIRED: "Please choose a workspace and try again."
|
|
22
|
+
}, r = [
|
|
23
|
+
/^Syntax Error:/i,
|
|
24
|
+
/^Cannot query field\b/i,
|
|
25
|
+
/^Cannot return null for non-nullable field\b/i,
|
|
26
|
+
/^Unknown (argument|directive|type)\b/i,
|
|
27
|
+
/^Variable "\$[^"]+" got invalid value/i,
|
|
28
|
+
/^Field "[^"]+" of required type/i,
|
|
29
|
+
/^Field "[^"]+" must not have a selection/i,
|
|
30
|
+
/^Field "[^"]+" must have a selection/i,
|
|
31
|
+
/^Fragment "[^"]+" cannot be spread here/i,
|
|
32
|
+
/^There can be only one/i,
|
|
33
|
+
/Did you mean /i
|
|
34
|
+
], i = new Set([
|
|
35
|
+
"UNAUTHENTICATED",
|
|
36
|
+
"TOKEN_EXPIRED",
|
|
37
|
+
"RESOURCE_CAP_EXCEEDED",
|
|
38
|
+
"STORAGE_QUOTA_EXCEEDED",
|
|
39
|
+
"QUOTA_EXHAUSTED"
|
|
40
|
+
]);
|
|
41
|
+
function a(e) {
|
|
42
|
+
return typeof e == "object" && !!e && !Array.isArray(e);
|
|
43
|
+
}
|
|
44
|
+
function o(e, t) {
|
|
45
|
+
let n = e[t];
|
|
46
|
+
return typeof n == "string" && n.trim().length > 0 ? n : void 0;
|
|
47
|
+
}
|
|
48
|
+
function s(e) {
|
|
49
|
+
if (!(typeof e != "string" || e.trim().length === 0)) return e.trim().replace(/[\s-]+/g, "_").toUpperCase();
|
|
50
|
+
}
|
|
51
|
+
function c(e) {
|
|
52
|
+
if (!a(e)) return;
|
|
53
|
+
let t = e.errors;
|
|
54
|
+
if (Array.isArray(t)) return t;
|
|
55
|
+
let n = e.graphQLErrors;
|
|
56
|
+
if (Array.isArray(n)) return n;
|
|
57
|
+
let r = e.networkError;
|
|
58
|
+
if (a(r)) {
|
|
59
|
+
let e = r.result;
|
|
60
|
+
if (a(e) && Array.isArray(e.errors)) return e.errors;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function l(e) {
|
|
64
|
+
let t = c(e);
|
|
65
|
+
if (t && t.length > 0) return t[0];
|
|
66
|
+
if (a(e) && ("message" in e || "extensions" in e)) return e;
|
|
67
|
+
}
|
|
68
|
+
function u(e) {
|
|
69
|
+
if (e) return e.userMessage ?? e.humanMessage ?? e.displayMessage;
|
|
70
|
+
}
|
|
71
|
+
function d(e) {
|
|
72
|
+
return e.length > 220 || e.includes("\n") || r.some((t) => t.test(e)) || /\b(prisma|sql|constraint|undefined|null|ECONN[A-Z_]*|ETIMEDOUT|ENOTFOUND)\b/i.test(e) || /failed to fetch|network error|graphql fetch failed/i.test(e) || /Cannot (read|set|find|access|query)/i.test(e);
|
|
73
|
+
}
|
|
74
|
+
function f(e) {
|
|
75
|
+
if (r.some((t) => t.test(e))) return "BAD_USER_INPUT";
|
|
76
|
+
let t = e.toLowerCase();
|
|
77
|
+
if (t.includes("unauthenticated") || t.includes("unauthorized")) return "UNAUTHENTICATED";
|
|
78
|
+
if (t.includes("workspace context")) return "WORKSPACE_REQUIRED";
|
|
79
|
+
if (t.includes("forbidden") || t.includes("access denied")) return "FORBIDDEN";
|
|
80
|
+
if (t.includes("not found")) return "NOT_FOUND";
|
|
81
|
+
if (t.includes("quota") || t.includes("limit reached")) return "QUOTA_EXCEEDED";
|
|
82
|
+
if (t.includes("required") || t.includes("invalid") || t.includes("missing")) return "BAD_USER_INPUT";
|
|
83
|
+
}
|
|
84
|
+
function p(e, r, i, a) {
|
|
85
|
+
let o = u(e?.extensions ?? void 0);
|
|
86
|
+
if (o) return o;
|
|
87
|
+
if (r && n[r]) return n[r];
|
|
88
|
+
if (i) return i;
|
|
89
|
+
let s = e ? void 0 : a;
|
|
90
|
+
return s && !d(s) ? s : e?.message && !d(e.message) ? e.message : i ?? t;
|
|
91
|
+
}
|
|
92
|
+
function m(e) {
|
|
93
|
+
if (!(!e || e.length === 0)) return e.map((e) => String(e)).join(".");
|
|
94
|
+
}
|
|
95
|
+
function h(e, t = {}) {
|
|
96
|
+
if (e == null) return null;
|
|
97
|
+
let n = l(e), r = n?.extensions ?? void 0, i = e instanceof Error ? e.message : a(e) ? o(e, "message") : void 0, c = s(r?.code ?? r?.errorCode) ?? f(i ?? n?.message ?? ""), u = r?.serviceName, d = m(n?.path), h = r?.requestId ?? r?.correlationId ?? r?.traceId, g = p(n, c, t.fallbackMessage, i);
|
|
98
|
+
return {
|
|
99
|
+
message: g,
|
|
100
|
+
technicalMessage: r?.technicalMessage ?? (n?.message && n.message !== g ? n.message : void 0) ?? (i && i !== g ? i : void 0),
|
|
101
|
+
code: c,
|
|
102
|
+
operationName: t.operationName,
|
|
103
|
+
serviceName: u,
|
|
104
|
+
path: d,
|
|
105
|
+
requestId: h,
|
|
106
|
+
extensions: r
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function g(e) {
|
|
110
|
+
return a(e) && typeof e.message == "string";
|
|
111
|
+
}
|
|
112
|
+
function _(e) {
|
|
113
|
+
return !e || e.code && i.has(e.code) ? !1 : e.message.trim().length > 0;
|
|
114
|
+
}
|
|
115
|
+
function v(t, n = {}) {
|
|
116
|
+
if (typeof window > "u" || t instanceof DOMException && t.name === "AbortError") return;
|
|
117
|
+
let r = g(t) ? t : h(t, n);
|
|
118
|
+
_(r) && window.dispatchEvent(new CustomEvent(e, { detail: r }));
|
|
119
|
+
}
|
|
120
|
+
//#endregion
|
|
121
|
+
export { e as BACKEND_ERROR_EVENT, v as dispatchBackendErrorEvent, h as extractBackendError, g as isBackendErrorDisplay, _ as shouldToastBackendError };
|
|
@@ -14,6 +14,8 @@ export { resolveGatewayBases, installGatewayFetchRewrite, suppressConsole, } fro
|
|
|
14
14
|
export type { GatewayBases, GatewayBaseMapping } from './gatewayFetchRewrite';
|
|
15
15
|
export { clearAuthSessionStorage, hasAuthGraphQLErrors, isAuthGraphQLError, isAuthNetworkError, attemptTokenRefresh, redirectToLogin, } from './authErrorHandling';
|
|
16
16
|
export type { GraphQLErrorLike, TokenRefreshConfig } from './authErrorHandling';
|
|
17
|
+
export { BACKEND_ERROR_EVENT, dispatchBackendErrorEvent, extractBackendError, isBackendErrorDisplay, shouldToastBackendError, } from './backendErrors';
|
|
18
|
+
export type { BackendErrorDisplay, BackendErrorExtensions, ExtractBackendErrorOptions, GraphQLBackendErrorLike, } from './backendErrors';
|
|
17
19
|
export { AppInitializer, useShellNavigate, useRegistryHelpers } from './appHelpers';
|
|
18
20
|
export type { AppInitializerProps } from './appHelpers';
|
|
19
21
|
export { initializeLogger, setUserContext, clearUserContext } from './loggerInit';
|
|
@@ -21,6 +23,6 @@ export type { InitLoggerOptions } from './loggerInit';
|
|
|
21
23
|
export { setSSoCookie, getSSoCookie, clearSSoCookie, setShellSsoCookies, readShellSsoCookie, clearShellSsoCookies, isSharedSsoCookieDomain, isTrustedSsoOrigin, } from './authCookie';
|
|
22
24
|
export type { ShellSsoCookieData } from './authCookie';
|
|
23
25
|
export { createProfileScopedStorage, getProfileScopedKey } from './profileScopedStorage';
|
|
24
|
-
export { QUOTA_EXHAUSTED_CODE, isQuotaExhaustedError, extractQuotaExhaustedExtensions, buildQuotaExhaustedMessage, } from './quotaErrors';
|
|
25
|
-
export type { QuotaExhaustedExtensions } from './quotaErrors';
|
|
26
|
+
export { QUOTA_EXHAUSTED_CODE, RESOURCE_CAP_EXCEEDED_CODE, STORAGE_QUOTA_EXCEEDED_CODE, UPGRADE_ERROR_CODES, isQuotaExhaustedError, isUpgradeError, extractUpgradeErrorExtensions, extractQuotaExhaustedExtensions, buildQuotaExhaustedMessage, } from './quotaErrors';
|
|
27
|
+
export type { QuotaExhaustedExtensions, UpgradeErrorCode, UpgradeErrorExtensions, } from './quotaErrors';
|
|
26
28
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C;;;GAGG;AACH,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,YAAY,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAG1D,OAAO,EACL,YAAY,EACZ,WAAW,EACX,cAAc,EACd,cAAc,EACd,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,eAAe,EACf,eAAe,EACf,OAAO,EACP,WAAW,EACX,YAAY,EACZ,SAAS,EACT,UAAU,GACX,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGlE,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG9E,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGhF,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACpF,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAClF,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGvD,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAGzF,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,+BAA+B,EAC/B,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C;;;GAGG;AACH,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,YAAY,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAG1D,OAAO,EACL,YAAY,EACZ,WAAW,EACX,cAAc,EACd,cAAc,EACd,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,eAAe,EACf,eAAe,EACf,OAAO,EACP,WAAW,EACX,YAAY,EACZ,SAAS,EACT,UAAU,GACX,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGlE,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG9E,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGhF,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACpF,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAClF,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGvD,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAGzF,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,6BAA6B,EAC7B,+BAA+B,EAC/B,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,eAAe,CAAC"}
|
|
@@ -13,6 +13,9 @@ function i(e) {
|
|
|
13
13
|
return null;
|
|
14
14
|
}
|
|
15
15
|
function a(e) {
|
|
16
|
+
return o(e) !== null;
|
|
17
|
+
}
|
|
18
|
+
function o(e) {
|
|
16
19
|
if (typeof e != "object" || !e) return null;
|
|
17
20
|
let t = e, n = i(t.graphQLErrors);
|
|
18
21
|
if (n) return n;
|
|
@@ -23,7 +26,7 @@ function a(e) {
|
|
|
23
26
|
}
|
|
24
27
|
return null;
|
|
25
28
|
}
|
|
26
|
-
function
|
|
29
|
+
function s(e) {
|
|
27
30
|
return e ? e.code === "STORAGE_QUOTA_EXCEEDED" || typeof e.limitBytes == "number" ? {
|
|
28
31
|
current: e.currentBytes ?? null,
|
|
29
32
|
limit: e.limitBytes ?? null,
|
|
@@ -38,22 +41,22 @@ function o(e) {
|
|
|
38
41
|
unit: "count"
|
|
39
42
|
};
|
|
40
43
|
}
|
|
41
|
-
function
|
|
44
|
+
function c(e) {
|
|
42
45
|
if (!e) return null;
|
|
43
46
|
for (let t of e) if (t?.extensions?.code === "QUOTA_EXHAUSTED") return t.extensions;
|
|
44
47
|
return null;
|
|
45
48
|
}
|
|
46
|
-
function
|
|
47
|
-
return
|
|
49
|
+
function l(e) {
|
|
50
|
+
return u(e) !== null;
|
|
48
51
|
}
|
|
49
|
-
function
|
|
52
|
+
function u(t) {
|
|
50
53
|
if (typeof t != "object" || !t) return null;
|
|
51
54
|
let n = t;
|
|
52
|
-
return
|
|
55
|
+
return c(n.graphQLErrors) || c(n.networkError?.result?.errors) || (t instanceof Error && typeof t.message == "string" && t.message.includes("QUOTA_EXHAUSTED") ? { code: e } : null);
|
|
53
56
|
}
|
|
54
|
-
function
|
|
57
|
+
function d(e) {
|
|
55
58
|
let t = e?.quotaName ?? e?.field;
|
|
56
59
|
return t ? `You've reached your ${t} limit. Upgrade your plan.` : "You've reached your usage limit. Upgrade your plan.";
|
|
57
60
|
}
|
|
58
61
|
//#endregion
|
|
59
|
-
export { e as QUOTA_EXHAUSTED_CODE, n as RESOURCE_CAP_EXCEEDED_CODE, t as STORAGE_QUOTA_EXCEEDED_CODE,
|
|
62
|
+
export { e as QUOTA_EXHAUSTED_CODE, n as RESOURCE_CAP_EXCEEDED_CODE, t as STORAGE_QUOTA_EXCEEDED_CODE, r as UPGRADE_ERROR_CODES, d as buildQuotaExhaustedMessage, u as extractQuotaExhaustedExtensions, o as extractUpgradeErrorExtensions, l as isQuotaExhaustedError, a as isUpgradeError, s as resolveUpgradeUsage };
|
package/dist/shared-tours.js
CHANGED
|
@@ -7,6 +7,6 @@ import { TourPlayer as u, TourTriggerButton as d, usePlayTour as f } from "./sha
|
|
|
7
7
|
import { getTourContextRank as p, getTourRouteCatalog as m, getTourRouteModules as h, getTourRoutePages as g, isTourVisibleForContext as _, normalizeTourPath as v, registerTourRouteCatalog as y, resolveTourTargetPath as b } from "./shared/tours/routeCatalog.js";
|
|
8
8
|
import { withTourProgressStatus as x } from "./shared/tours/progress.js";
|
|
9
9
|
import { ToursProvider as S, useAutoStartTour as C, useSafeToursContext as w, useTours as T, useToursContext as E } from "./shared/tours/ToursContext.js";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
export {
|
|
10
|
+
import { TourInitializer as D } from "./shared/tours/TourInitializer.js";
|
|
11
|
+
import { TourTrigger as O } from "./shared/tours/TourTrigger.js";
|
|
12
|
+
export { D as TourInitializer, u as TourPlayer, a as TourPlayerProvider, r as TourSpotlight, i as TourTooltip, O as TourTrigger, d as TourTriggerButton, S as ToursProvider, e as detectDeviceType, t as getResponsiveSelector, p as getTourContextRank, m as getTourRouteCatalog, h as getTourRouteModules, g as getTourRoutePages, _ as isTourVisibleForContext, v as normalizeTourPath, y as registerTourRouteCatalog, b as resolveTourTargetPath, C as useAutoStartTour, o as useIsTourPlaying, f as usePlayTour, w as useSafeToursContext, s as useStartTour, c as useStopTour, n as useTourPlayer, l as useTourPlayerContext, T as useTours, E as useToursContext, x as withTourProgressStatus };
|
package/dist/shared-utils.js
CHANGED
|
@@ -3,17 +3,18 @@ import { alertTokens as t, categoryTokens as n, getAlertTokens as r, getCategory
|
|
|
3
3
|
import { capitalizeFirst as f, capitalizeWords as p, formatBytes as m, formatCompactNumber as h, formatCurrency as g, formatCurrencyCompact as _, formatDate as v, formatDateTime as y, formatDuration as b, formatList as x, formatNumber as S, formatOrdinal as C, formatPercentage as w, formatRelativeTime as T, formatTime as E, pluralize as D, slugify as O, toCamelCase as k, toPascalCase as A, truncateText as j } from "./shared/utils/format.js";
|
|
4
4
|
import { isChunkLoadError as M, lazyWithRetry as N } from "./shared/utils/lazyWithRetry.js";
|
|
5
5
|
import { installGatewayFetchRewrite as P, resolveGatewayBases as F, suppressConsole as I } from "./shared/utils/gatewayFetchRewrite.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
6
|
+
import { BACKEND_ERROR_EVENT as L, dispatchBackendErrorEvent as R, extractBackendError as z, isBackendErrorDisplay as B, shouldToastBackendError as V } from "./shared/utils/backendErrors.js";
|
|
7
|
+
import { attemptTokenRefresh as H, clearAuthSessionStorage as U, hasAuthGraphQLErrors as W, isAuthGraphQLError as G, isAuthNetworkError as K, redirectToLogin as q } from "./shared/utils/authErrorHandling.js";
|
|
8
|
+
import { clearSSoCookie as J, clearShellSsoCookies as Y, getSSoCookie as X, isSharedSsoCookieDomain as Z, isTrustedSsoOrigin as Q, readShellSsoCookie as $, setSSoCookie as ee, setShellSsoCookies as te } from "./shared/utils/authCookie.js";
|
|
9
|
+
import { AppInitializer as ne, useRegistryHelpers as re, useShellNavigate as ie } from "./shared/utils/appHelpers.js";
|
|
10
|
+
import { clearUserContext as ae, initializeLogger as oe, setUserContext as se } from "./shared/utils/loggerInit.js";
|
|
11
|
+
import { createProfileScopedStorage as ce, getProfileScopedKey as le } from "./shared/utils/profileScopedStorage.js";
|
|
12
|
+
import { QUOTA_EXHAUSTED_CODE as ue, RESOURCE_CAP_EXCEEDED_CODE as de, STORAGE_QUOTA_EXCEEDED_CODE as fe, UPGRADE_ERROR_CODES as pe, buildQuotaExhaustedMessage as me, extractQuotaExhaustedExtensions as he, extractUpgradeErrorExtensions as ge, isQuotaExhaustedError as _e, isUpgradeError as ve } from "./shared/utils/quotaErrors.js";
|
|
13
|
+
import { clsx as ye } from "clsx";
|
|
14
|
+
import { twMerge as be } from "tailwind-merge";
|
|
14
15
|
//#region src/shared/utils/index.ts
|
|
15
|
-
function
|
|
16
|
-
return
|
|
16
|
+
function xe(...e) {
|
|
17
|
+
return be(ye(e));
|
|
17
18
|
}
|
|
18
19
|
//#endregion
|
|
19
|
-
export {
|
|
20
|
+
export { ne as AppInitializer, L as BACKEND_ERROR_EVENT, ue as QUOTA_EXHAUSTED_CODE, de as RESOURCE_CAP_EXCEEDED_CODE, fe as STORAGE_QUOTA_EXCEEDED_CODE, pe as UPGRADE_ERROR_CODES, t as alertTokens, H as attemptTokenRefresh, me as buildQuotaExhaustedMessage, f as capitalizeFirst, p as capitalizeWords, n as categoryTokens, U as clearAuthSessionStorage, J as clearSSoCookie, Y as clearShellSsoCookies, ae as clearUserContext, xe as cn, e as createApolloClient, ce as createProfileScopedStorage, R as dispatchBackendErrorEvent, z as extractBackendError, he as extractQuotaExhaustedExtensions, ge as extractUpgradeErrorExtensions, m as formatBytes, h as formatCompactNumber, g as formatCurrency, _ as formatCurrencyCompact, v as formatDate, y as formatDateTime, b as formatDuration, x as formatList, S as formatNumber, C as formatOrdinal, w as formatPercentage, T as formatRelativeTime, E as formatTime, r as getAlertTokens, i as getCategoryTokens, le as getProfileScopedKey, a as getProgressTokens, X as getSSoCookie, o as getStatusBadgeTokens, s as getStatusTokens, c as getTrendTokens, W as hasAuthGraphQLErrors, oe as initializeLogger, P as installGatewayFetchRewrite, G as isAuthGraphQLError, K as isAuthNetworkError, B as isBackendErrorDisplay, M as isChunkLoadError, _e as isQuotaExhaustedError, Z as isSharedSsoCookieDomain, Q as isTrustedSsoOrigin, ve as isUpgradeError, N as lazyWithRetry, D as pluralize, l as progressTokens, $ as readShellSsoCookie, q as redirectToLogin, F as resolveGatewayBases, ee as setSSoCookie, te as setShellSsoCookies, se as setUserContext, V as shouldToastBackendError, O as slugify, u as statusTokens, I as suppressConsole, k as toCamelCase, A as toPascalCase, d as trendTokens, j as truncateText, re as useRegistryHelpers, ie as useShellNavigate };
|