@lokalise/harmony 1.16.0 → 1.17.0-exp-jwtheaderfactorysharedauth.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -21
- package/dist/harmony.cjs +1 -1
- package/dist/harmony.mjs +915 -762
- package/dist/types/src/features/auth/core/headers/headerBuilder.d.ts +199 -0
- package/dist/types/src/features/auth/core/middleware/jwtAuthHeaderBuilderMiddleware.d.ts +10 -0
- package/dist/types/src/features/auth/core/middleware/publicApiHeaderBuilderMiddleware.d.ts +3 -0
- package/dist/types/src/features/auth/core/types/jwtTokenPayload.d.ts +2 -2
- package/dist/types/src/features/auth/core/types/jwtTokenPayload.fixture.d.ts +3 -3
- package/dist/types/src/features/auth/core/utils/makeAuthHeader.d.ts +2 -2
- package/dist/types/src/features/auth/errors/UnauthorizedError.d.ts +4 -0
- package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedProjectContributor.d.ts +4 -1
- package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedSessionPayload.d.ts +1 -1
- package/dist/types/src/features/auth/frontend/hooks/useAuthenticatedUser.d.ts +4 -1
- package/dist/types/src/features/auth/frontend/hooks/useGetPromotedClassicSessionJwtQuery.d.ts +4 -2
- package/dist/types/src/features/auth/frontend/services/generateTokenFromClassicSession.d.ts +5 -0
- package/dist/types/src/features/auth/frontend/services/refreshExpiredToken.d.ts +6 -0
- package/dist/types/src/features/auth/frontend/utils/cookieTokenUtils.d.ts +2 -2
- package/dist/types/src/features/auth/node.d.ts +6 -4
- package/dist/types/src/features/publicApi/contributors.d.ts +19 -1
- package/dist/types/src/features/publicApi/hooks/useCreateProjectMutation.d.ts +4 -2
- package/dist/types/src/features/publicApi/hooks/useGetTeamUsersQuery.d.ts +4 -2
- package/dist/types/src/features/publicApi/hooks/useGetUserTokenQuery.d.ts +6 -5
- package/dist/types/src/features/publicApi/hooks/useListProjectLanguagesQuery.d.ts +10 -1
- package/dist/types/src/features/publicApi/hooks/useListProjectsQuery.d.ts +4 -2
- package/dist/types/src/features/publicApi/hooks/useRetrieveContributorQuery.d.ts +4 -2
- package/dist/types/src/features/publicApi/hooks/useRetrieveProjectQuery.d.ts +4 -2
- package/dist/types/src/features/publicApi/hooks/useUpdateProjectMutation.d.ts +4 -2
- package/dist/types/src/features/publicApi/languages.d.ts +19 -1
- package/dist/types/src/features/publicApi/node.d.ts +1 -1
- package/dist/types/src/features/publicApi/projects.d.ts +76 -4
- package/dist/types/src/features/publicApi/teamUsers.d.ts +22 -4
- package/dist/types/src/features/publicApi/types/contributorTypes.d.ts +20 -0
- package/dist/types/src/features/publicApi/types/projectTypes.d.ts +20 -0
- package/dist/types/src/features/publicApi/types/sharedTypes.d.ts +57 -0
- package/dist/types/src/features/publicApi/types/teamUserTypes.d.ts +20 -0
- package/dist/types/src/features/publicApi/types/userTokenTypes.d.ts +2 -2
- package/dist/types/src/features/publicApi/userToken.d.ts +1 -1
- package/package.json +1 -1
- package/dist/types/src/features/auth/core/middleware/jwtAuthMiddleware.d.ts +0 -17
- package/dist/types/src/features/auth/core/middleware/publicApiHeadersMiddleware.d.ts +0 -5
- package/dist/types/src/features/auth/frontend/middleware/clientSideJwtAuthMiddleware.d.ts +0 -9
- package/dist/types/src/features/auth/frontend/middleware/promoteClassicSessionToJwtMiddleware.d.ts +0 -14
- package/dist/types/src/features/auth/frontend/middleware/promoteClassicSessionToJwtMiddleware.test.d.ts +0 -1
- /package/dist/types/src/features/auth/core/{middleware/jwtAuthMiddleware.test.d.ts → headers/headerBuilder.test.d.ts} +0 -0
package/dist/harmony.mjs
CHANGED
@@ -1,102 +1,102 @@
|
|
1
|
-
var
|
2
|
-
var
|
3
|
-
var
|
4
|
-
import { jsx as a, jsxs as h, Fragment as
|
5
|
-
import * as
|
6
|
-
import { useRef as
|
7
|
-
import { Tooltip as
|
8
|
-
import { format as
|
9
|
-
import { toZonedTime as
|
10
|
-
import { sendByPayloadRoute as G, sendByGetRoute as W } from "@lokalise/frontend-http-client";
|
1
|
+
var Zt = Object.defineProperty;
|
2
|
+
var en = (e, t, n) => t in e ? Zt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
|
3
|
+
var ee = (e, t, n) => en(e, typeof t != "symbol" ? t + "" : t, n);
|
4
|
+
import { jsx as a, jsxs as h, Fragment as Ue } from "react/jsx-runtime";
|
5
|
+
import * as F from "react";
|
6
|
+
import { useRef as Et, useState as N, useCallback as We, useEffect as G, useContext as wt, createContext as Ct, cloneElement as tn, Fragment as kt, forwardRef as nn } from "react";
|
7
|
+
import { Tooltip as H, Link as L, Menu as ae, MenuList as se, CaretUpIcon as rn, UserIcon as Pt, MenuItem as K, MenuDivider as It, ConfirmModal as on, Alert as an, Tag as Re, Button as je, Loading as sn, Popover as cn, JobIcon as ln } from "@lokalise/louis";
|
8
|
+
import { format as At, parseISO as dn } from "date-fns";
|
9
|
+
import { toZonedTime as un } from "date-fns-tz";
|
11
10
|
import { z as o } from "zod";
|
12
|
-
import { buildPayloadRoute as
|
13
|
-
import {
|
14
|
-
import {
|
15
|
-
|
11
|
+
import { buildPayloadRoute as qe } from "@lokalise/universal-ts-utils/api-contracts/apiContracts";
|
12
|
+
import { sendByPayloadRoute as W, sendByGetRoute as J } from "@lokalise/frontend-http-client";
|
13
|
+
import { useQuery as B, useMutation as Nt } from "@tanstack/react-query";
|
14
|
+
import { buildGetRoute as Q } from "@lokalise/universal-ts-utils/node";
|
15
|
+
const xe = {
|
16
16
|
Completed: "completed",
|
17
17
|
InProgress: "in_progress",
|
18
18
|
Created: "created",
|
19
19
|
Queued: "queued"
|
20
|
-
},
|
21
|
-
...
|
20
|
+
}, P = {
|
21
|
+
...xe,
|
22
22
|
NotStarted: "not_started"
|
23
|
-
},
|
23
|
+
}, te = {
|
24
24
|
translation: "translation",
|
25
25
|
review: "review",
|
26
26
|
lqa_by_ai: "lqa_by_ai",
|
27
27
|
automatic_translation: "automatic_translation"
|
28
28
|
};
|
29
|
-
var
|
30
|
-
function
|
29
|
+
var ne = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
30
|
+
function Rt(e) {
|
31
31
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
32
32
|
}
|
33
|
-
var
|
34
|
-
function
|
35
|
-
if (
|
36
|
-
|
33
|
+
var fe, Je;
|
34
|
+
function He() {
|
35
|
+
if (Je) return fe;
|
36
|
+
Je = 1;
|
37
37
|
function e(t) {
|
38
38
|
var n = typeof t;
|
39
39
|
return t != null && (n == "object" || n == "function");
|
40
40
|
}
|
41
|
-
return
|
41
|
+
return fe = e, fe;
|
42
42
|
}
|
43
|
-
var
|
44
|
-
function
|
45
|
-
if (
|
46
|
-
|
47
|
-
var e = typeof
|
48
|
-
return
|
43
|
+
var _e, Qe;
|
44
|
+
function mn() {
|
45
|
+
if (Qe) return _e;
|
46
|
+
Qe = 1;
|
47
|
+
var e = typeof ne == "object" && ne && ne.Object === Object && ne;
|
48
|
+
return _e = e, _e;
|
49
49
|
}
|
50
|
-
var
|
51
|
-
function
|
52
|
-
if (
|
53
|
-
|
54
|
-
var e =
|
55
|
-
return
|
50
|
+
var ge, Ye;
|
51
|
+
function jt() {
|
52
|
+
if (Ye) return ge;
|
53
|
+
Ye = 1;
|
54
|
+
var e = mn(), t = typeof self == "object" && self && self.Object === Object && self, n = e || t || Function("return this")();
|
55
|
+
return ge = n, ge;
|
56
56
|
}
|
57
|
-
var
|
58
|
-
function
|
59
|
-
if (
|
60
|
-
|
61
|
-
var e =
|
57
|
+
var he, Ve;
|
58
|
+
function fn() {
|
59
|
+
if (Ve) return he;
|
60
|
+
Ve = 1;
|
61
|
+
var e = jt(), t = function() {
|
62
62
|
return e.Date.now();
|
63
63
|
};
|
64
|
-
return
|
64
|
+
return he = t, he;
|
65
65
|
}
|
66
|
-
var
|
67
|
-
function
|
68
|
-
if (
|
69
|
-
|
66
|
+
var pe, Xe;
|
67
|
+
function _n() {
|
68
|
+
if (Xe) return pe;
|
69
|
+
Xe = 1;
|
70
70
|
var e = /\s/;
|
71
71
|
function t(n) {
|
72
72
|
for (var r = n.length; r-- && e.test(n.charAt(r)); )
|
73
73
|
;
|
74
74
|
return r;
|
75
75
|
}
|
76
|
-
return
|
76
|
+
return pe = t, pe;
|
77
77
|
}
|
78
|
-
var
|
79
|
-
function
|
80
|
-
if (
|
81
|
-
|
82
|
-
var e =
|
78
|
+
var be, Ze;
|
79
|
+
function gn() {
|
80
|
+
if (Ze) return be;
|
81
|
+
Ze = 1;
|
82
|
+
var e = _n(), t = /^\s+/;
|
83
83
|
function n(r) {
|
84
84
|
return r && r.slice(0, e(r) + 1).replace(t, "");
|
85
85
|
}
|
86
|
-
return
|
86
|
+
return be = n, be;
|
87
87
|
}
|
88
|
-
var
|
89
|
-
function
|
90
|
-
if (
|
91
|
-
|
92
|
-
var e =
|
93
|
-
return
|
88
|
+
var ve, et;
|
89
|
+
function xt() {
|
90
|
+
if (et) return ve;
|
91
|
+
et = 1;
|
92
|
+
var e = jt(), t = e.Symbol;
|
93
|
+
return ve = t, ve;
|
94
94
|
}
|
95
|
-
var
|
96
|
-
function
|
97
|
-
if (
|
98
|
-
|
99
|
-
var e =
|
95
|
+
var Te, tt;
|
96
|
+
function hn() {
|
97
|
+
if (tt) return Te;
|
98
|
+
tt = 1;
|
99
|
+
var e = xt(), t = Object.prototype, n = t.hasOwnProperty, r = t.toString, s = e ? e.toStringTag : void 0;
|
100
100
|
function i(c) {
|
101
101
|
var l = n.call(c, s), u = c[s];
|
102
102
|
try {
|
@@ -107,52 +107,52 @@ function un() {
|
|
107
107
|
var m = r.call(c);
|
108
108
|
return d && (l ? c[s] = u : delete c[s]), m;
|
109
109
|
}
|
110
|
-
return
|
110
|
+
return Te = i, Te;
|
111
111
|
}
|
112
|
-
var
|
113
|
-
function
|
114
|
-
if (
|
115
|
-
|
112
|
+
var ye, nt;
|
113
|
+
function pn() {
|
114
|
+
if (nt) return ye;
|
115
|
+
nt = 1;
|
116
116
|
var e = Object.prototype, t = e.toString;
|
117
117
|
function n(r) {
|
118
118
|
return t.call(r);
|
119
119
|
}
|
120
|
-
return
|
120
|
+
return ye = n, ye;
|
121
121
|
}
|
122
|
-
var
|
123
|
-
function
|
124
|
-
if (
|
125
|
-
|
126
|
-
var e =
|
122
|
+
var Se, rt;
|
123
|
+
function bn() {
|
124
|
+
if (rt) return Se;
|
125
|
+
rt = 1;
|
126
|
+
var e = xt(), t = hn(), n = pn(), r = "[object Null]", s = "[object Undefined]", i = e ? e.toStringTag : void 0;
|
127
127
|
function c(l) {
|
128
128
|
return l == null ? l === void 0 ? s : r : i && i in Object(l) ? t(l) : n(l);
|
129
129
|
}
|
130
|
-
return
|
130
|
+
return Se = c, Se;
|
131
131
|
}
|
132
|
-
var
|
133
|
-
function
|
134
|
-
if (
|
135
|
-
|
132
|
+
var Ee, ot;
|
133
|
+
function vn() {
|
134
|
+
if (ot) return Ee;
|
135
|
+
ot = 1;
|
136
136
|
function e(t) {
|
137
137
|
return t != null && typeof t == "object";
|
138
138
|
}
|
139
|
-
return
|
139
|
+
return Ee = e, Ee;
|
140
140
|
}
|
141
|
-
var
|
142
|
-
function
|
143
|
-
if (
|
144
|
-
|
145
|
-
var e =
|
141
|
+
var we, at;
|
142
|
+
function Tn() {
|
143
|
+
if (at) return we;
|
144
|
+
at = 1;
|
145
|
+
var e = bn(), t = vn(), n = "[object Symbol]";
|
146
146
|
function r(s) {
|
147
147
|
return typeof s == "symbol" || t(s) && e(s) == n;
|
148
148
|
}
|
149
|
-
return
|
149
|
+
return we = r, we;
|
150
150
|
}
|
151
|
-
var
|
152
|
-
function
|
153
|
-
if (
|
154
|
-
|
155
|
-
var e =
|
151
|
+
var Ce, st;
|
152
|
+
function yn() {
|
153
|
+
if (st) return Ce;
|
154
|
+
st = 1;
|
155
|
+
var e = gn(), t = He(), n = Tn(), r = NaN, s = /^[-+]0x[0-9a-f]+$/i, i = /^0b[01]+$/i, c = /^0o[0-7]+$/i, l = parseInt;
|
156
156
|
function u(d) {
|
157
157
|
if (typeof d == "number")
|
158
158
|
return d;
|
@@ -165,72 +165,72 @@ function hn() {
|
|
165
165
|
if (typeof d != "string")
|
166
166
|
return d === 0 ? d : +d;
|
167
167
|
d = e(d);
|
168
|
-
var
|
169
|
-
return
|
168
|
+
var _ = i.test(d);
|
169
|
+
return _ || c.test(d) ? l(d.slice(2), _ ? 2 : 8) : s.test(d) ? r : +d;
|
170
170
|
}
|
171
|
-
return
|
171
|
+
return Ce = u, Ce;
|
172
172
|
}
|
173
|
-
var
|
174
|
-
function
|
175
|
-
if (
|
176
|
-
|
177
|
-
var e =
|
173
|
+
var ke, it;
|
174
|
+
function Ot() {
|
175
|
+
if (it) return ke;
|
176
|
+
it = 1;
|
177
|
+
var e = He(), t = fn(), n = yn(), r = "Expected a function", s = Math.max, i = Math.min;
|
178
178
|
function c(l, u, d) {
|
179
|
-
var m,
|
179
|
+
var m, _, T, y, f, E, b = 0, g = !1, p = !1, v = !0;
|
180
180
|
if (typeof l != "function")
|
181
181
|
throw new TypeError(r);
|
182
|
-
u = n(u) || 0, e(d) && (
|
183
|
-
function
|
184
|
-
var j = m,
|
185
|
-
return m =
|
182
|
+
u = n(u) || 0, e(d) && (g = !!d.leading, p = "maxWait" in d, T = p ? s(n(d.maxWait) || 0, u) : T, v = "trailing" in d ? !!d.trailing : v);
|
183
|
+
function C(S) {
|
184
|
+
var j = m, D = _;
|
185
|
+
return m = _ = void 0, b = S, y = l.apply(D, j), y;
|
186
186
|
}
|
187
|
-
function S
|
188
|
-
return b =
|
187
|
+
function w(S) {
|
188
|
+
return b = S, f = setTimeout(Z, u), g ? C(S) : y;
|
189
189
|
}
|
190
|
-
function
|
191
|
-
var j =
|
192
|
-
return p ? i(
|
190
|
+
function X(S) {
|
191
|
+
var j = S - E, D = S - b, Ke = u - j;
|
192
|
+
return p ? i(Ke, T - D) : Ke;
|
193
193
|
}
|
194
|
-
function
|
195
|
-
var j =
|
196
|
-
return
|
194
|
+
function ze(S) {
|
195
|
+
var j = S - E, D = S - b;
|
196
|
+
return E === void 0 || j >= u || j < 0 || p && D >= T;
|
197
197
|
}
|
198
198
|
function Z() {
|
199
|
-
var
|
200
|
-
if (
|
201
|
-
return
|
202
|
-
f = setTimeout(Z,
|
199
|
+
var S = t();
|
200
|
+
if (ze(S))
|
201
|
+
return Ge(S);
|
202
|
+
f = setTimeout(Z, X(S));
|
203
203
|
}
|
204
|
-
function
|
205
|
-
return f = void 0, v && m ?
|
204
|
+
function Ge(S) {
|
205
|
+
return f = void 0, v && m ? C(S) : (m = _ = void 0, y);
|
206
206
|
}
|
207
|
-
function
|
208
|
-
f !== void 0 && clearTimeout(f), b = 0, m =
|
207
|
+
function Vt() {
|
208
|
+
f !== void 0 && clearTimeout(f), b = 0, m = E = _ = f = void 0;
|
209
209
|
}
|
210
|
-
function
|
211
|
-
return f === void 0 ? y :
|
210
|
+
function Xt() {
|
211
|
+
return f === void 0 ? y : Ge(t());
|
212
212
|
}
|
213
|
-
function
|
214
|
-
var
|
215
|
-
if (m = arguments,
|
213
|
+
function me() {
|
214
|
+
var S = t(), j = ze(S);
|
215
|
+
if (m = arguments, _ = this, E = S, j) {
|
216
216
|
if (f === void 0)
|
217
|
-
return
|
217
|
+
return w(E);
|
218
218
|
if (p)
|
219
|
-
return clearTimeout(f), f = setTimeout(Z, u),
|
219
|
+
return clearTimeout(f), f = setTimeout(Z, u), C(E);
|
220
220
|
}
|
221
221
|
return f === void 0 && (f = setTimeout(Z, u)), y;
|
222
222
|
}
|
223
|
-
return
|
223
|
+
return me.cancel = Vt, me.flush = Xt, me;
|
224
224
|
}
|
225
|
-
return
|
225
|
+
return ke = c, ke;
|
226
226
|
}
|
227
|
-
var
|
228
|
-
const
|
229
|
-
var
|
230
|
-
function
|
231
|
-
if (
|
232
|
-
|
233
|
-
var e =
|
227
|
+
var Sn = Ot();
|
228
|
+
const En = /* @__PURE__ */ Rt(Sn);
|
229
|
+
var Pe, ct;
|
230
|
+
function wn() {
|
231
|
+
if (ct) return Pe;
|
232
|
+
ct = 1;
|
233
|
+
var e = Ot(), t = He(), n = "Expected a function";
|
234
234
|
function r(s, i, c) {
|
235
235
|
var l = !0, u = !0;
|
236
236
|
if (typeof s != "function")
|
@@ -241,36 +241,36 @@ function vn() {
|
|
241
241
|
trailing: u
|
242
242
|
});
|
243
243
|
}
|
244
|
-
return
|
244
|
+
return Pe = r, Pe;
|
245
245
|
}
|
246
|
-
var
|
247
|
-
const
|
246
|
+
var Cn = wn();
|
247
|
+
const kn = /* @__PURE__ */ Rt(Cn), Pn = (e, t, n, r) => {
|
248
248
|
switch (t) {
|
249
249
|
case "debounce":
|
250
|
-
return
|
250
|
+
return En(e, n, r);
|
251
251
|
case "throttle":
|
252
|
-
return
|
252
|
+
return kn(e, n, r);
|
253
253
|
default:
|
254
254
|
return e;
|
255
255
|
}
|
256
|
-
},
|
256
|
+
}, In = (
|
257
257
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
258
258
|
(e) => {
|
259
|
-
const t =
|
260
|
-
return
|
259
|
+
const t = F.useRef(e);
|
260
|
+
return F.useEffect(() => {
|
261
261
|
t.current = e;
|
262
|
-
}),
|
262
|
+
}), F.useMemo(() => (...n) => {
|
263
263
|
var r;
|
264
264
|
return (r = t.current) === null || r === void 0 ? void 0 : r.call(t, ...n);
|
265
265
|
}, []);
|
266
266
|
}
|
267
|
-
),
|
267
|
+
), An = (
|
268
268
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
269
269
|
(e) => {
|
270
|
-
const [t, n] =
|
270
|
+
const [t, n] = F.useState((e == null ? void 0 : e.current) || null);
|
271
271
|
return e && setTimeout(() => {
|
272
272
|
e.current !== t && n(e.current);
|
273
|
-
}, 0), { refProxy:
|
273
|
+
}, 0), { refProxy: F.useMemo(() => new Proxy((s) => {
|
274
274
|
s !== t && n(s);
|
275
275
|
}, {
|
276
276
|
get(s, i) {
|
@@ -281,7 +281,7 @@ const yn = /* @__PURE__ */ Nt(Tn), Cn = (e, t, n, r) => {
|
|
281
281
|
}
|
282
282
|
}), [t]), refElement: t, setRefElement: n };
|
283
283
|
}
|
284
|
-
),
|
284
|
+
), Nn = (e, t) => t === "border-box" ? {
|
285
285
|
width: e.borderBoxSize[0].inlineSize,
|
286
286
|
height: e.borderBoxSize[0].blockSize
|
287
287
|
} : t === "content-box" ? {
|
@@ -291,149 +291,149 @@ const yn = /* @__PURE__ */ Nt(Tn), Cn = (e, t, n, r) => {
|
|
291
291
|
width: e.contentRect.width,
|
292
292
|
height: e.contentRect.height
|
293
293
|
};
|
294
|
-
function
|
295
|
-
const d =
|
294
|
+
function Rn({ skipOnMount: e = !1, refreshMode: t, refreshRate: n = 1e3, refreshOptions: r, handleWidth: s = !0, handleHeight: i = !0, targetRef: c, observerOptions: l, onResize: u } = {}) {
|
295
|
+
const d = Et(e), m = In(u), [_, T] = N({
|
296
296
|
width: void 0,
|
297
297
|
height: void 0
|
298
|
-
}), { refProxy: y, refElement: f } =
|
298
|
+
}), { refProxy: y, refElement: f } = An(c), { box: E } = l || {}, b = We((p) => {
|
299
299
|
if (!s && !i)
|
300
300
|
return;
|
301
301
|
if (d.current) {
|
302
302
|
d.current = !1;
|
303
303
|
return;
|
304
304
|
}
|
305
|
-
const v = (
|
306
|
-
p.forEach((
|
307
|
-
const
|
308
|
-
T((
|
309
|
-
width:
|
310
|
-
height:
|
311
|
-
entry:
|
312
|
-
}),
|
305
|
+
const v = (C, w) => s && C.width !== w.width || i && C.height !== w.height;
|
306
|
+
p.forEach((C) => {
|
307
|
+
const w = Nn(C, E);
|
308
|
+
T((X) => v(X, w) ? (m == null || m({
|
309
|
+
width: w.width,
|
310
|
+
height: w.height,
|
311
|
+
entry: C
|
312
|
+
}), w) : X);
|
313
313
|
});
|
314
|
-
}, [s, i, d,
|
314
|
+
}, [s, i, d, E]), g = We(Pn(b, t, n, r), [
|
315
315
|
b,
|
316
316
|
t,
|
317
317
|
n,
|
318
318
|
r
|
319
319
|
]);
|
320
|
-
return
|
320
|
+
return G(() => {
|
321
321
|
let p;
|
322
|
-
return f ? (p = new window.ResizeObserver(
|
322
|
+
return f ? (p = new window.ResizeObserver(g), p.observe(f, l)) : (_.width || _.height) && (m == null || m({
|
323
323
|
width: null,
|
324
324
|
height: null,
|
325
325
|
entry: null
|
326
326
|
}), T({ width: void 0, height: void 0 })), () => {
|
327
|
-
var v,
|
328
|
-
(v = p == null ? void 0 : p.disconnect) === null || v === void 0 || v.call(p), (
|
327
|
+
var v, C, w;
|
328
|
+
(v = p == null ? void 0 : p.disconnect) === null || v === void 0 || v.call(p), (w = (C = g).cancel) === null || w === void 0 || w.call(C);
|
329
329
|
};
|
330
|
-
}, [
|
330
|
+
}, [g, f]), Object.assign({ ref: y }, _);
|
331
331
|
}
|
332
|
-
function
|
332
|
+
function Lt(e) {
|
333
333
|
var t, n, r = "";
|
334
334
|
if (typeof e == "string" || typeof e == "number") r += e;
|
335
335
|
else if (typeof e == "object") if (Array.isArray(e)) {
|
336
336
|
var s = e.length;
|
337
|
-
for (t = 0; t < s; t++) e[t] && (n =
|
337
|
+
for (t = 0; t < s; t++) e[t] && (n = Lt(e[t])) && (r && (r += " "), r += n);
|
338
338
|
} else for (n in e) e[n] && (r && (r += " "), r += n);
|
339
339
|
return r;
|
340
340
|
}
|
341
341
|
function R() {
|
342
|
-
for (var e, t, n = 0, r = "", s = arguments.length; n < s; n++) (e = arguments[n]) && (t =
|
342
|
+
for (var e, t, n = 0, r = "", s = arguments.length; n < s; n++) (e = arguments[n]) && (t = Lt(e)) && (r && (r += " "), r += t);
|
343
343
|
return r;
|
344
344
|
}
|
345
|
-
const
|
346
|
-
headerContainer:
|
347
|
-
navigationTabList:
|
348
|
-
navigationTab:
|
349
|
-
headerContent:
|
350
|
-
staticEnabled:
|
351
|
-
},
|
352
|
-
const { ref: n, height: r } =
|
345
|
+
const jn = "_headerContainer_1cubo_1", xn = "_navigationTabList_1cubo_8", On = "_navigationTab_1cubo_8", Ln = "_headerContent_1cubo_34", Mn = "_staticEnabled_1cubo_50", q = {
|
346
|
+
headerContainer: jn,
|
347
|
+
navigationTabList: xn,
|
348
|
+
navigationTab: On,
|
349
|
+
headerContent: Ln,
|
350
|
+
staticEnabled: Mn
|
351
|
+
}, Un = 77, re = ({ sticky: e, children: t }) => {
|
352
|
+
const { ref: n, height: r } = Rn({
|
353
353
|
refreshMode: "debounce",
|
354
354
|
refreshRate: 0
|
355
355
|
}), [s, i] = N(!1), c = () => s ? !e : !0;
|
356
|
-
|
356
|
+
G(() => {
|
357
357
|
const u = () => {
|
358
358
|
i(window.scrollY > 0);
|
359
359
|
};
|
360
360
|
return window.addEventListener("scroll", u), () => window.removeEventListener("scroll", u);
|
361
361
|
}, []);
|
362
|
-
const l = `${r ||
|
362
|
+
const l = `${r || Un}px`;
|
363
363
|
return /* @__PURE__ */ a("div", { style: { minHeight: l }, children: /* @__PURE__ */ a("div", { children: /* @__PURE__ */ h(
|
364
364
|
"div",
|
365
365
|
{
|
366
366
|
ref: n,
|
367
|
-
className: R(
|
368
|
-
[
|
367
|
+
className: R(q.headerContent, {
|
368
|
+
[q.staticEnabled]: c()
|
369
369
|
}),
|
370
370
|
children: [
|
371
|
-
/* @__PURE__ */ a(
|
372
|
-
/* @__PURE__ */ a(
|
371
|
+
/* @__PURE__ */ a(re.Header, {}),
|
372
|
+
/* @__PURE__ */ a(re.Tabs, {}),
|
373
373
|
t
|
374
374
|
]
|
375
375
|
}
|
376
376
|
) }) });
|
377
377
|
};
|
378
|
-
|
379
|
-
|
380
|
-
const
|
381
|
-
sidebarContainer:
|
382
|
-
},
|
383
|
-
logoLink:
|
384
|
-
},
|
385
|
-
link:
|
386
|
-
active:
|
387
|
-
},
|
378
|
+
re.Header = ({ children: e }) => /* @__PURE__ */ a("div", { className: q.headerContainer, children: e });
|
379
|
+
re.Tabs = ({ children: e }) => /* @__PURE__ */ a("div", { className: "flex justify-between gap-2 nowrap", children: e });
|
380
|
+
const qn = "_sidebarContainer_bmdti_1", Hn = {
|
381
|
+
sidebarContainer: qn
|
382
|
+
}, Bn = "_logoLink_1baxb_1", Dn = {
|
383
|
+
logoLink: Bn
|
384
|
+
}, $n = ({ src: e, href: t = "/", ariaLabel: n = "Home", alt: r = "Lokalise" }) => /* @__PURE__ */ a("a", { className: Dn.logoLink, href: t, "aria-label": n, children: /* @__PURE__ */ a("img", { src: e, alt: r }) }), Fn = "_link_18vhx_1", zn = "_active_18vhx_18", lt = {
|
385
|
+
link: Fn,
|
386
|
+
active: zn
|
387
|
+
}, Gn = ({ label: e, to: t, icon: n }) => /* @__PURE__ */ a(H, { placement: "right", tooltip: e, children: /* @__PURE__ */ a(
|
388
388
|
L,
|
389
389
|
{
|
390
|
-
className: R(
|
391
|
-
[
|
390
|
+
className: R(lt.link, {
|
391
|
+
[lt.active]: window.location.pathname.startsWith(t)
|
392
392
|
}),
|
393
393
|
href: t,
|
394
394
|
children: /* @__PURE__ */ a(n, { size: "25px" })
|
395
395
|
}
|
396
|
-
) }),
|
397
|
-
dropdownButton:
|
398
|
-
dropdownButtonActive:
|
399
|
-
},
|
400
|
-
|
396
|
+
) }), Kn = "_dropdownButton_13l5r_1", Wn = "_dropdownButtonActive_13l5r_18", dt = {
|
397
|
+
dropdownButton: Kn,
|
398
|
+
dropdownButtonActive: Wn
|
399
|
+
}, Jn = ({ children: e, icon: t }) => /* @__PURE__ */ a(
|
400
|
+
ae,
|
401
401
|
{
|
402
|
-
menuButton: ({ opened: n }) => /* @__PURE__ */ a(
|
402
|
+
menuButton: ({ opened: n }) => /* @__PURE__ */ a(H, { placement: "right", tooltip: "Help", children: /* @__PURE__ */ a(
|
403
403
|
"button",
|
404
404
|
{
|
405
405
|
type: "button",
|
406
|
-
className: R(
|
407
|
-
[
|
406
|
+
className: R(dt.dropdownButton, {
|
407
|
+
[dt.dropdownButtonActive]: n
|
408
408
|
}),
|
409
409
|
children: /* @__PURE__ */ a(t, { size: "25px" })
|
410
410
|
}
|
411
411
|
) }),
|
412
|
-
children: /* @__PURE__ */ a(
|
412
|
+
children: /* @__PURE__ */ a(se, { placement: "right-start", children: e })
|
413
413
|
}
|
414
|
-
),
|
415
|
-
iconContainer:
|
416
|
-
},
|
414
|
+
), Qn = "_iconContainer_nz34m_1", Yn = {
|
415
|
+
iconContainer: Qn
|
416
|
+
}, Mt = ({ className: e = "" }) => /* @__PURE__ */ a(
|
417
417
|
"div",
|
418
418
|
{
|
419
419
|
"aria-label": "Upgrade Icon",
|
420
420
|
className: R(
|
421
|
-
|
421
|
+
Yn.iconContainer,
|
422
422
|
"flex-row",
|
423
423
|
"items-center",
|
424
424
|
"justify-center",
|
425
425
|
e
|
426
426
|
),
|
427
|
-
children: /* @__PURE__ */ a(
|
427
|
+
children: /* @__PURE__ */ a(rn, {})
|
428
428
|
}
|
429
|
-
),
|
430
|
-
menuContainer:
|
431
|
-
profileButton:
|
432
|
-
profileImage:
|
433
|
-
profileImageHighlight:
|
434
|
-
profileImageUpgradeIcon:
|
435
|
-
userIconWrapper:
|
436
|
-
},
|
429
|
+
), Vn = "_menuContainer_ywskt_5", Xn = "_profileButton_ywskt_15", Zn = "_profileImage_ywskt_28", er = "_profileImageHighlight_ywskt_36", tr = "_profileImageUpgradeIcon_ywskt_40", nr = "_userIconWrapper_ywskt_46", x = {
|
430
|
+
menuContainer: Vn,
|
431
|
+
profileButton: Xn,
|
432
|
+
profileImage: Zn,
|
433
|
+
profileImageHighlight: er,
|
434
|
+
profileImageUpgradeIcon: tr,
|
435
|
+
userIconWrapper: nr
|
436
|
+
}, Ut = Ct({}), Y = () => wt(Ut), rr = ({ children: e }) => {
|
437
437
|
const {
|
438
438
|
currentTeam: t,
|
439
439
|
otherTeams: n,
|
@@ -445,32 +445,32 @@ const xn = "_sidebarContainer_bmdti_1", Ln = {
|
|
445
445
|
isEndOfTrialActive: u,
|
446
446
|
isTeamSuspended: d,
|
447
447
|
isFullyAuthenticated: m
|
448
|
-
} =
|
448
|
+
} = Y();
|
449
449
|
return /* @__PURE__ */ a(
|
450
|
-
|
450
|
+
ae,
|
451
451
|
{
|
452
|
-
menuButton: () => /* @__PURE__ */ h("button", { className:
|
452
|
+
menuButton: () => /* @__PURE__ */ h("button", { className: x.profileButton, "aria-label": "Profile menu", type: "button", children: [
|
453
453
|
t != null && t.logoUrl ? /* @__PURE__ */ a(
|
454
454
|
"img",
|
455
455
|
{
|
456
456
|
src: t.logoUrl,
|
457
|
-
className: R(
|
458
|
-
[
|
457
|
+
className: R(x.profileImage, {
|
458
|
+
[x.profileImageHighlight]: r
|
459
459
|
}),
|
460
460
|
alt: "Team Logo"
|
461
461
|
}
|
462
462
|
) : /* @__PURE__ */ a(
|
463
463
|
"div",
|
464
464
|
{
|
465
|
-
className: R(
|
466
|
-
[
|
465
|
+
className: R(x.userIconWrapper, "flex-row", "align-center", "items-center", {
|
466
|
+
[x.profileImageHighlight]: r
|
467
467
|
}),
|
468
|
-
children: /* @__PURE__ */ a(
|
468
|
+
children: /* @__PURE__ */ a(Pt, { size: "25px" })
|
469
469
|
}
|
470
470
|
),
|
471
|
-
r && /* @__PURE__ */ a(
|
471
|
+
r && /* @__PURE__ */ a(Mt, { className: x.profileImageUpgradeIcon })
|
472
472
|
] }),
|
473
|
-
children: /* @__PURE__ */ a(
|
473
|
+
children: /* @__PURE__ */ a(se, { placement: "right-end", className: x.menuContainer, children: e({
|
474
474
|
allowTeamCreation: i,
|
475
475
|
otherTeams: n,
|
476
476
|
canAccessTeamSettings: l,
|
@@ -482,7 +482,7 @@ const xn = "_sidebarContainer_bmdti_1", Ln = {
|
|
482
482
|
}) })
|
483
483
|
}
|
484
484
|
);
|
485
|
-
},
|
485
|
+
}, qt = 0, or = 9999, ar = [150, 151, 250, 251], sr = [152, 153, 252, 253], ir = [154, 155, 157, 158, 254, 255, 258, 354, 355, 358], cr = [156, 159, 160, 256, 259, 260], Ht = 9998, Be = (e) => e === qt, Bt = (e) => e === or, Na = (e) => ar.includes(e), Ra = (e) => sr.includes(e), ja = (e) => ir.includes(e), xa = (e) => cr.includes(e), Oa = (e) => e > qt && e < Ht, La = (e) => e === Ht, lr = /\n/, ut = (e, t, n) => e.split(t).flatMap((r, s) => s !== 0 ? [tn(n, { key: Math.random().toString(32).slice(0, 10) }), r] : r), dr = (e, t, n) => typeof e == "string" ? ut(e, t, n) : e.flatMap((r) => typeof r == "string" ? ut(r, t, n) : r), ur = (e) => dr(e, lr, /* @__PURE__ */ a("br", {})), mr = /(\b(https?|):\/\/[-a-zA-Zа-яА-Я0-9+&@#/%?=~_|!:,.;]*[-a-zA-Zа-яА-Я0-9+&@#/%=~_|])/gi, fr = (e) => e.match(mr) ?? [], mt = (e, t, n) => {
|
486
486
|
const r = e.split(t);
|
487
487
|
if (r.length === 1)
|
488
488
|
return e;
|
@@ -490,123 +490,123 @@ const xn = "_sidebarContainer_bmdti_1", Ln = {
|
|
490
490
|
return r[0] !== "" && s.push(r[0]), r.shift(), r[r.length - 1] === "" && r.pop(), s.push(
|
491
491
|
/* @__PURE__ */ a("a", { href: t, target: "_blank", rel: "noreferrer noopener", children: t }, t + n)
|
492
492
|
), s.push(r.join(t)), s.filter((i) => i !== "");
|
493
|
-
},
|
494
|
-
const t =
|
495
|
-
return t != null && t.length ? t.reduce((n, r, s) => typeof n == "string" ?
|
496
|
-
},
|
497
|
-
|
498
|
-
},
|
493
|
+
}, ft = (e) => {
|
494
|
+
const t = fr(e);
|
495
|
+
return t != null && t.length ? t.reduce((n, r, s) => typeof n == "string" ? mt(n, r, s) : n.flatMap((i) => typeof i == "string" ? mt(i, r, s) : i), e) : e;
|
496
|
+
}, _r = (e) => typeof e == "string" ? ft(e) : e.flatMap((t) => typeof t == "string" ? ft(t) : t, e), gr = (e, t = "PP") => At(e, t), Ma = (e, t, n = "PP") => At(un(e, t), n), De = (e) => {
|
497
|
+
G(e, []);
|
498
|
+
}, _t = {
|
499
499
|
biller: "biller",
|
500
500
|
owner: "owner"
|
501
|
-
},
|
502
|
-
|
503
|
-
|
504
|
-
],
|
505
|
-
const { teams: n, currentTeamId: r, planId: s, isEndOfTrialActive: i, isFullyAuthenticated: c, userTeamRole: l } = t, u = n.find((
|
501
|
+
}, gt = [
|
502
|
+
_t.biller,
|
503
|
+
_t.owner
|
504
|
+
], hr = ({ children: e, config: t }) => {
|
505
|
+
const { teams: n, currentTeamId: r, planId: s, isEndOfTrialActive: i, isFullyAuthenticated: c, userTeamRole: l } = t, u = n.find((g) => g.id === r), d = n.filter((g) => g.id !== r), m = gt.includes(l), _ = gt.includes(l), T = Be(s) || Bt(s), b = {
|
506
506
|
...t,
|
507
507
|
currentTeam: u,
|
508
508
|
otherTeams: d,
|
509
509
|
canChangeBilling: m,
|
510
|
-
canAccessTeamSettings:
|
510
|
+
canAccessTeamSettings: _,
|
511
511
|
isOnFreeOrTrialPlan: T,
|
512
512
|
showUpgradeCta: c && T && m,
|
513
|
-
showBillingButton: c &&
|
513
|
+
showBillingButton: c && _ && m,
|
514
514
|
allowTeamCreation: c && !i
|
515
515
|
};
|
516
|
-
return /* @__PURE__ */ a(
|
517
|
-
},
|
518
|
-
container:
|
519
|
-
profileEmail:
|
520
|
-
},
|
516
|
+
return /* @__PURE__ */ a(Ut.Provider, { value: b, children: e });
|
517
|
+
}, pr = ({ config: e, children: t }) => /* @__PURE__ */ a(hr, { config: e, children: /* @__PURE__ */ a(rr, { children: t }) }), br = "_container_q5pot_1", vr = "_profileEmail_q5pot_5", ht = {
|
518
|
+
container: br,
|
519
|
+
profileEmail: vr
|
520
|
+
}, Tr = ({
|
521
521
|
href: e,
|
522
522
|
onClick: t,
|
523
523
|
userEmail: n,
|
524
524
|
hideBottomDivider: r
|
525
525
|
}) => {
|
526
|
-
const { isEndOfTrialActive: s, isTeamSuspended: i } =
|
527
|
-
return s || i ? null : /* @__PURE__ */ h(
|
526
|
+
const { isEndOfTrialActive: s, isTeamSuspended: i } = Y();
|
527
|
+
return s || i ? null : /* @__PURE__ */ h(Ue, { children: [
|
528
528
|
/* @__PURE__ */ a(
|
529
|
-
|
529
|
+
K,
|
530
530
|
{
|
531
531
|
href: e,
|
532
532
|
onClick: () => {
|
533
533
|
t == null || t();
|
534
534
|
},
|
535
|
-
children: /* @__PURE__ */ h("div", { className: `flex-col ${
|
535
|
+
children: /* @__PURE__ */ h("div", { className: `flex-col ${ht.container}`, children: [
|
536
536
|
/* @__PURE__ */ a("span", { children: "Profile Settings" }),
|
537
|
-
/* @__PURE__ */ a("span", { className:
|
537
|
+
/* @__PURE__ */ a("span", { className: ht.profileEmail, children: n })
|
538
538
|
] })
|
539
539
|
}
|
540
540
|
),
|
541
|
-
!r && /* @__PURE__ */ a(
|
541
|
+
!r && /* @__PURE__ */ a(It, {})
|
542
542
|
] });
|
543
|
-
},
|
544
|
-
wrapper:
|
545
|
-
profileImage:
|
546
|
-
teamName:
|
547
|
-
planLabel:
|
548
|
-
membership:
|
549
|
-
defaultProfileImage:
|
550
|
-
},
|
551
|
-
const { currentTeam: r, planId: s } =
|
543
|
+
}, yr = "_wrapper_15d85_1", Sr = "_profileImage_15d85_14", Er = "_teamName_15d85_22", wr = "_planLabel_15d85_29", Cr = "_membership_15d85_38", kr = "_defaultProfileImage_15d85_44", M = {
|
544
|
+
wrapper: yr,
|
545
|
+
profileImage: Sr,
|
546
|
+
teamName: Er,
|
547
|
+
planLabel: wr,
|
548
|
+
membership: Cr,
|
549
|
+
defaultProfileImage: kr
|
550
|
+
}, Dt = ({ team: e, onClick: t, hidePlanLabel: n }) => {
|
551
|
+
const { currentTeam: r, planId: s } = Y(), i = e || r;
|
552
552
|
if (!i)
|
553
553
|
return null;
|
554
|
-
const c =
|
554
|
+
const c = Be(s) ? "Free" : Bt(s) ? "Trial" : void 0;
|
555
555
|
return /* @__PURE__ */ h(
|
556
|
-
t ?
|
556
|
+
t ? K : "div",
|
557
557
|
{
|
558
|
-
className: `flex-row gap-2 flex-nowrap items-center ${
|
558
|
+
className: `flex-row gap-2 flex-nowrap items-center ${M.wrapper}`,
|
559
559
|
...t && { onClick: () => t(i) },
|
560
560
|
children: [
|
561
|
-
i.logoUrl ? /* @__PURE__ */ a("img", { className:
|
561
|
+
i.logoUrl ? /* @__PURE__ */ a("img", { className: M.profileImage, src: i.logoUrl, alt: "Team Logo" }) : /* @__PURE__ */ a("span", { className: `flex-row justify-center items-center ${M.defaultProfileImage}`, children: /* @__PURE__ */ a(Pt, { size: "25px" }) }),
|
562
562
|
/* @__PURE__ */ h("div", { className: "flex-col items-start", children: [
|
563
563
|
/* @__PURE__ */ h("div", { className: "flex-row items-center flex-nowrap gap-2", children: [
|
564
|
-
/* @__PURE__ */ a("span", { title: i.name, className:
|
565
|
-
c && !n && /* @__PURE__ */ a("span", { className: `flex-row justify-center items-center ${
|
564
|
+
/* @__PURE__ */ a("span", { title: i.name, className: M.teamName, children: i.name }),
|
565
|
+
c && !n && /* @__PURE__ */ a("span", { className: `flex-row justify-center items-center ${M.planLabel}`, children: c })
|
566
566
|
] }),
|
567
|
-
/* @__PURE__ */ a("span", { className:
|
567
|
+
/* @__PURE__ */ a("span", { className: M.membership, children: i.role })
|
568
568
|
] })
|
569
569
|
]
|
570
570
|
}
|
571
571
|
);
|
572
|
-
},
|
573
|
-
teamsContainer:
|
574
|
-
},
|
575
|
-
const { otherTeams: t } =
|
576
|
-
return t.length === 0 ? null : /* @__PURE__ */ a("div", { className: `flex-col items-stretch ${
|
577
|
-
},
|
578
|
-
container:
|
579
|
-
planCta:
|
580
|
-
upgradeIconWrapper:
|
581
|
-
},
|
582
|
-
const { planId: t, trialDaysLeft: n, showUpgradeCta: r } =
|
572
|
+
}, Pr = "_teamsContainer_1t68g_1", Ir = {
|
573
|
+
teamsContainer: Pr
|
574
|
+
}, Ar = ({ onSwitchTeam: e }) => {
|
575
|
+
const { otherTeams: t } = Y();
|
576
|
+
return t.length === 0 ? null : /* @__PURE__ */ a("div", { className: `flex-col items-stretch ${Ir.teamsContainer}`, children: t.map((n) => /* @__PURE__ */ a(Dt, { team: n, onClick: e, hidePlanLabel: !0 }, n.id)) });
|
577
|
+
}, Nr = "_container_1u995_1", Rr = "_planCta_1u995_15", jr = "_upgradeIconWrapper_1u995_19", Ie = {
|
578
|
+
container: Nr,
|
579
|
+
planCta: Rr,
|
580
|
+
upgradeIconWrapper: jr
|
581
|
+
}, xr = ({ upgradeOptionHref: e }) => {
|
582
|
+
const { planId: t, trialDaysLeft: n, showUpgradeCta: r } = Y();
|
583
583
|
if (!r)
|
584
584
|
return null;
|
585
|
-
const c =
|
586
|
-
return /* @__PURE__ */ h(
|
587
|
-
/* @__PURE__ */ a("span", { className:
|
588
|
-
/* @__PURE__ */ h("div", { className: `flex-row items-center gap-1 ${
|
589
|
-
/* @__PURE__ */ a(
|
585
|
+
const c = Be(t) ? "Your team is currently on the Free plan" : `Free trial ends in ${n} ${n === 1 ? "day" : "days"}`;
|
586
|
+
return /* @__PURE__ */ h(K, { href: e, className: `flex-col gap-1 items-start ${Ie.container}`, children: [
|
587
|
+
/* @__PURE__ */ a("span", { className: Ie.planCta, children: c }),
|
588
|
+
/* @__PURE__ */ h("div", { className: `flex-row items-center gap-1 ${Ie.upgradeIconWrapper}`, children: [
|
589
|
+
/* @__PURE__ */ a(Mt, {}),
|
590
590
|
/* @__PURE__ */ a("span", { children: "See upgrade options" })
|
591
591
|
] })
|
592
592
|
] });
|
593
|
-
},
|
594
|
-
function
|
595
|
-
return
|
593
|
+
}, Or = Math.min, Lr = Math.max;
|
594
|
+
function pt(e, t, n) {
|
595
|
+
return Lr(e, Or(t, n));
|
596
596
|
}
|
597
597
|
function $t(e, t) {
|
598
598
|
return typeof e == "function" ? e(t) : e;
|
599
599
|
}
|
600
|
-
function
|
600
|
+
function Ft(e) {
|
601
601
|
return e.split("-")[0];
|
602
602
|
}
|
603
|
-
function
|
603
|
+
function Mr(e) {
|
604
604
|
return e === "x" ? "y" : "x";
|
605
605
|
}
|
606
|
-
function
|
607
|
-
return ["top", "bottom"].includes(
|
606
|
+
function Ur(e) {
|
607
|
+
return ["top", "bottom"].includes(Ft(e)) ? "y" : "x";
|
608
608
|
}
|
609
|
-
function
|
609
|
+
function qr(e) {
|
610
610
|
return {
|
611
611
|
top: 0,
|
612
612
|
right: 0,
|
@@ -615,15 +615,15 @@ function xr(e) {
|
|
615
615
|
...e
|
616
616
|
};
|
617
617
|
}
|
618
|
-
function
|
619
|
-
return typeof e != "number" ?
|
618
|
+
function Hr(e) {
|
619
|
+
return typeof e != "number" ? qr(e) : {
|
620
620
|
top: e,
|
621
621
|
right: e,
|
622
622
|
bottom: e,
|
623
623
|
left: e
|
624
624
|
};
|
625
625
|
}
|
626
|
-
function
|
626
|
+
function bt(e) {
|
627
627
|
const {
|
628
628
|
x: t,
|
629
629
|
y: n,
|
@@ -641,7 +641,7 @@ function ht(e) {
|
|
641
641
|
y: n
|
642
642
|
};
|
643
643
|
}
|
644
|
-
async function
|
644
|
+
async function Br(e, t) {
|
645
645
|
var n;
|
646
646
|
t === void 0 && (t = {});
|
647
647
|
const {
|
@@ -654,39 +654,39 @@ async function Or(e, t) {
|
|
654
654
|
} = e, {
|
655
655
|
boundary: d = "clippingAncestors",
|
656
656
|
rootBoundary: m = "viewport",
|
657
|
-
elementContext:
|
657
|
+
elementContext: _ = "floating",
|
658
658
|
altBoundary: T = !1,
|
659
659
|
padding: y = 0
|
660
|
-
} = $t(t, e), f =
|
660
|
+
} = $t(t, e), f = Hr(y), b = l[T ? _ === "floating" ? "reference" : "floating" : _], g = bt(await i.getClippingRect({
|
661
661
|
element: (n = await (i.isElement == null ? void 0 : i.isElement(b))) == null || n ? b : b.contextElement || await (i.getDocumentElement == null ? void 0 : i.getDocumentElement(l.floating)),
|
662
662
|
boundary: d,
|
663
663
|
rootBoundary: m,
|
664
664
|
strategy: u
|
665
|
-
})), p =
|
665
|
+
})), p = _ === "floating" ? {
|
666
666
|
x: r,
|
667
667
|
y: s,
|
668
668
|
width: c.floating.width,
|
669
669
|
height: c.floating.height
|
670
|
-
} : c.reference, v = await (i.getOffsetParent == null ? void 0 : i.getOffsetParent(l.floating)),
|
670
|
+
} : c.reference, v = await (i.getOffsetParent == null ? void 0 : i.getOffsetParent(l.floating)), C = await (i.isElement == null ? void 0 : i.isElement(v)) ? await (i.getScale == null ? void 0 : i.getScale(v)) || {
|
671
671
|
x: 1,
|
672
672
|
y: 1
|
673
673
|
} : {
|
674
674
|
x: 1,
|
675
675
|
y: 1
|
676
|
-
},
|
676
|
+
}, w = bt(i.convertOffsetParentRelativeRectToViewportRelativeRect ? await i.convertOffsetParentRelativeRectToViewportRelativeRect({
|
677
677
|
elements: l,
|
678
678
|
rect: p,
|
679
679
|
offsetParent: v,
|
680
680
|
strategy: u
|
681
681
|
}) : p);
|
682
682
|
return {
|
683
|
-
top: (
|
684
|
-
bottom: (
|
685
|
-
left: (
|
686
|
-
right: (
|
683
|
+
top: (g.top - w.top + f.top) / C.y,
|
684
|
+
bottom: (w.bottom - g.bottom + f.bottom) / C.y,
|
685
|
+
left: (g.left - w.left + f.left) / C.x,
|
686
|
+
right: (w.right - g.right + f.right) / C.x
|
687
687
|
};
|
688
688
|
}
|
689
|
-
const
|
689
|
+
const Dr = function(e) {
|
690
690
|
return e === void 0 && (e = {}), {
|
691
691
|
name: "shift",
|
692
692
|
options: e,
|
@@ -701,11 +701,11 @@ const Mr = function(e) {
|
|
701
701
|
limiter: l = {
|
702
702
|
fn: (b) => {
|
703
703
|
let {
|
704
|
-
x:
|
704
|
+
x: g,
|
705
705
|
y: p
|
706
706
|
} = b;
|
707
707
|
return {
|
708
|
-
x:
|
708
|
+
x: g,
|
709
709
|
y: p
|
710
710
|
};
|
711
711
|
}
|
@@ -714,78 +714,78 @@ const Mr = function(e) {
|
|
714
714
|
} = $t(e, t), d = {
|
715
715
|
x: n,
|
716
716
|
y: r
|
717
|
-
}, m = await
|
718
|
-
let y = d[T], f = d[
|
717
|
+
}, m = await Br(t, u), _ = Ur(Ft(s)), T = Mr(_);
|
718
|
+
let y = d[T], f = d[_];
|
719
719
|
if (i) {
|
720
|
-
const b = T === "y" ? "top" : "left",
|
721
|
-
y =
|
720
|
+
const b = T === "y" ? "top" : "left", g = T === "y" ? "bottom" : "right", p = y + m[b], v = y - m[g];
|
721
|
+
y = pt(p, y, v);
|
722
722
|
}
|
723
723
|
if (c) {
|
724
|
-
const b =
|
725
|
-
f =
|
724
|
+
const b = _ === "y" ? "top" : "left", g = _ === "y" ? "bottom" : "right", p = f + m[b], v = f - m[g];
|
725
|
+
f = pt(p, f, v);
|
726
726
|
}
|
727
|
-
const
|
727
|
+
const E = l.fn({
|
728
728
|
...t,
|
729
729
|
[T]: y,
|
730
|
-
[
|
730
|
+
[_]: f
|
731
731
|
});
|
732
732
|
return {
|
733
|
-
...
|
733
|
+
...E,
|
734
734
|
data: {
|
735
|
-
x:
|
736
|
-
y:
|
735
|
+
x: E.x - n,
|
736
|
+
y: E.y - r,
|
737
737
|
enabled: {
|
738
738
|
[T]: i,
|
739
|
-
[
|
739
|
+
[_]: c
|
740
740
|
}
|
741
741
|
}
|
742
742
|
};
|
743
743
|
}
|
744
744
|
};
|
745
|
-
},
|
746
|
-
navItem:
|
747
|
-
activeNavItem:
|
748
|
-
badge:
|
749
|
-
},
|
745
|
+
}, $r = "_navItem_1dudv_1", Fr = "_activeNavItem_1dudv_18", zr = "_badge_1dudv_23", Ae = {
|
746
|
+
navItem: $r,
|
747
|
+
activeNavItem: Fr,
|
748
|
+
badge: zr
|
749
|
+
}, zt = Ct({}), V = () => wt(zt), Gr = (e) => {
|
750
750
|
const t = e.lastIndexOf("."), n = e.slice(0, t), r = e.slice(t + 1);
|
751
751
|
return { name: n, extension: r };
|
752
|
-
},
|
752
|
+
}, Kr = (e, t) => {
|
753
753
|
switch (e) {
|
754
|
-
case
|
754
|
+
case P.Completed:
|
755
755
|
return t < 100 ? "Closed" : "Completed";
|
756
|
-
case
|
756
|
+
case P.Created:
|
757
757
|
return t > 0 ? "In progress" : "Not started";
|
758
|
-
case
|
758
|
+
case P.InProgress:
|
759
759
|
return "In progress";
|
760
|
-
case
|
760
|
+
case P.Queued:
|
761
761
|
return "Queued";
|
762
|
-
case
|
762
|
+
case P.NotStarted:
|
763
763
|
return "Not started";
|
764
764
|
default:
|
765
765
|
return "-";
|
766
766
|
}
|
767
|
-
},
|
767
|
+
}, Wr = (e) => {
|
768
768
|
const t = e.progress ?? 0;
|
769
|
-
return e.status ===
|
770
|
-
},
|
771
|
-
[
|
772
|
-
[
|
773
|
-
[
|
774
|
-
[
|
775
|
-
},
|
769
|
+
return e.status === P.Created && t > 0 ? P.InProgress : e.status;
|
770
|
+
}, Jr = {
|
771
|
+
[te.translation]: "#0891B2",
|
772
|
+
[te.review]: "#16922D",
|
773
|
+
[te.lqa_by_ai]: "#8B5CF6",
|
774
|
+
[te.automatic_translation]: "#60A5FA"
|
775
|
+
}, Qr = (e) => {
|
776
776
|
const t = [
|
777
|
-
|
778
|
-
|
779
|
-
|
777
|
+
P.InProgress,
|
778
|
+
P.Created,
|
779
|
+
P.Completed
|
780
780
|
];
|
781
|
-
return e.filter((n) => n.status !== "queued").map((n) => ({ ...n, status:
|
782
|
-
},
|
783
|
-
const [n, r] = N(!1), [s, i] = N(!1), { onLanguageCompleteConfirm: c, fetchTasks: l } =
|
781
|
+
return e.filter((n) => n.status !== "queued").map((n) => ({ ...n, status: Wr(n) })).sort((n, r) => n.status === P.InProgress && n.progress === 100 ? -1 : r.status === P.InProgress && r.progress === 100 ? 1 : n.status === r.status ? n.name < r.name ? 1 : -1 : t.indexOf(n.status) - t.indexOf(r.status));
|
782
|
+
}, vt = (e) => e in [xe.InProgress, xe.Created], Yr = (e, t) => vt(e.status) && vt(t.status) && (t.progress ?? 0) >= 100, Vr = ({ task: e, language: t }) => {
|
783
|
+
const [n, r] = N(!1), [s, i] = N(!1), { onLanguageCompleteConfirm: c, fetchTasks: l } = V(), u = () => {
|
784
784
|
i(!1);
|
785
785
|
};
|
786
|
-
return /* @__PURE__ */ h(
|
786
|
+
return /* @__PURE__ */ h(Ue, { children: [
|
787
787
|
s && /* @__PURE__ */ a(
|
788
|
-
|
788
|
+
on,
|
789
789
|
{
|
790
790
|
opened: !0,
|
791
791
|
loading: n,
|
@@ -796,7 +796,7 @@ const Mr = function(e) {
|
|
796
796
|
onConfirm: async () => {
|
797
797
|
r(!0), await c({ task: e, language: t, closePrompt: u }), l();
|
798
798
|
},
|
799
|
-
children: /* @__PURE__ */ h(
|
799
|
+
children: /* @__PURE__ */ h(an, { status: "info", children: [
|
800
800
|
"Make sure you are finished and ",
|
801
801
|
/* @__PURE__ */ a("strong", { children: "mark it as done" }),
|
802
802
|
" to notify your team admin. This action cannot be undone, and the language might no longer be available for you to edit."
|
@@ -814,20 +814,20 @@ const Mr = function(e) {
|
|
814
814
|
}
|
815
815
|
)
|
816
816
|
] });
|
817
|
-
},
|
818
|
-
langRowCompleted:
|
819
|
-
langCellSecondary:
|
820
|
-
langStatus:
|
821
|
-
},
|
822
|
-
const { getProjectUrl: n, langNameOnClick: r, langProgressOnClick: s } =
|
817
|
+
}, Xr = "_langRowCompleted_vpgdi_1", Zr = "_langCellSecondary_vpgdi_15", eo = "_langStatus_vpgdi_20", Ne = {
|
818
|
+
langRowCompleted: Xr,
|
819
|
+
langCellSecondary: Zr,
|
820
|
+
langStatus: eo
|
821
|
+
}, to = ({ language: e, task: t }) => {
|
822
|
+
const { getProjectUrl: n, langNameOnClick: r, langProgressOnClick: s } = V(), i = e.progress ?? 0, c = e.status === P.Completed, l = Yr(t, e);
|
823
823
|
return /* @__PURE__ */ h(
|
824
824
|
"tr",
|
825
825
|
{
|
826
826
|
className: R({
|
827
|
-
[
|
827
|
+
[Ne.langRowCompleted]: l
|
828
828
|
}),
|
829
829
|
children: [
|
830
|
-
/* @__PURE__ */ a("td", { children: /* @__PURE__ */ a(
|
830
|
+
/* @__PURE__ */ a("td", { children: /* @__PURE__ */ a(H, { tooltip: "Open in bilingual view", children: /* @__PURE__ */ a(
|
831
831
|
L,
|
832
832
|
{
|
833
833
|
href: n({ task: t, language: e }),
|
@@ -837,7 +837,7 @@ const Mr = function(e) {
|
|
837
837
|
children: e.name
|
838
838
|
}
|
839
839
|
) }) }),
|
840
|
-
/* @__PURE__ */ a("td", { className:
|
840
|
+
/* @__PURE__ */ a("td", { className: Ne.langCellSecondary, children: l || c ? "0" : /* @__PURE__ */ a(H, { tooltip: "Open uncompleted items", children: /* @__PURE__ */ a(
|
841
841
|
L,
|
842
842
|
{
|
843
843
|
href: n({ task: t, language: e, taskUncompleted: !0 }),
|
@@ -851,42 +851,42 @@ const Mr = function(e) {
|
|
851
851
|
i,
|
852
852
|
"%"
|
853
853
|
] }),
|
854
|
-
/* @__PURE__ */ a("td", { children: l ? /* @__PURE__ */ a(
|
854
|
+
/* @__PURE__ */ a("td", { children: l ? /* @__PURE__ */ a(Vr, { task: t, language: e }) : /* @__PURE__ */ a(
|
855
855
|
"span",
|
856
856
|
{
|
857
|
-
className: `${
|
857
|
+
className: `${Ne.langStatus} flex-row items-center justify-start`,
|
858
858
|
"data-status": e.status,
|
859
|
-
children:
|
859
|
+
children: Kr(e.status, i)
|
860
860
|
}
|
861
861
|
) })
|
862
862
|
]
|
863
863
|
}
|
864
864
|
);
|
865
|
-
},
|
866
|
-
taskContainer:
|
867
|
-
taskTitle:
|
868
|
-
taskDescription:
|
869
|
-
languagesTable:
|
870
|
-
metadata:
|
871
|
-
},
|
872
|
-
const { tasks: t, getProjectUrl: n, taskTitleOnClick: r } =
|
865
|
+
}, no = "_taskContainer_mt2or_1", ro = "_taskTitle_mt2or_21", oo = "_taskDescription_mt2or_28", ao = "_languagesTable_mt2or_35", so = "_metadata_mt2or_87", U = {
|
866
|
+
taskContainer: no,
|
867
|
+
taskTitle: ro,
|
868
|
+
taskDescription: oo,
|
869
|
+
languagesTable: ao,
|
870
|
+
metadata: so
|
871
|
+
}, io = ({ task: e }) => {
|
872
|
+
const { tasks: t, getProjectUrl: n, taskTitleOnClick: r } = V(), s = Qr(e.langs), i = (c) => {
|
873
873
|
c !== void 0 && window.open(
|
874
874
|
`/style-guide/${e.team_id}/download/${c.id}/link`,
|
875
875
|
"_blank",
|
876
876
|
"noopener,noreferrer"
|
877
877
|
);
|
878
878
|
};
|
879
|
-
return t ? /* @__PURE__ */ h("div", { className:
|
879
|
+
return t ? /* @__PURE__ */ h("div", { className: U.taskContainer, children: [
|
880
880
|
/* @__PURE__ */ h("div", { className: "flex-row gap-1 items-center", children: [
|
881
881
|
/* @__PURE__ */ h("div", { className: "flex-row gap-1 items-start flex-wrap", children: [
|
882
|
-
/* @__PURE__ */ a(
|
883
|
-
e.due_date && /* @__PURE__ */ h(
|
882
|
+
/* @__PURE__ */ a(Re, { color: Jr[e.task_type], variant: "solid", children: e.task_type.toLocaleUpperCase() }),
|
883
|
+
e.due_date && /* @__PURE__ */ h(Re, { color: "#EAB308", children: [
|
884
884
|
"DUE ",
|
885
|
-
|
885
|
+
gr(dn(e.due_date), "yyyy-MM-dd")
|
886
886
|
] })
|
887
887
|
] }),
|
888
888
|
e.style_guides.length > 0 && /* @__PURE__ */ a("div", { className: "flex-row", children: e.style_guides.length === 1 ? /* @__PURE__ */ a(
|
889
|
-
|
889
|
+
je,
|
890
890
|
{
|
891
891
|
size: "sm",
|
892
892
|
variant: "secondary",
|
@@ -894,21 +894,21 @@ const Mr = function(e) {
|
|
894
894
|
children: "Download style guide"
|
895
895
|
}
|
896
896
|
) : /* @__PURE__ */ a(
|
897
|
-
|
897
|
+
ae,
|
898
898
|
{
|
899
|
-
menuButton: /* @__PURE__ */ a(
|
900
|
-
children: /* @__PURE__ */ a(
|
901
|
-
|
899
|
+
menuButton: /* @__PURE__ */ a(je, { variant: "secondary", size: "sm", children: "Download style guide" }),
|
900
|
+
children: /* @__PURE__ */ a(se, { children: e.style_guides.map((c) => /* @__PURE__ */ a(
|
901
|
+
K,
|
902
902
|
{
|
903
903
|
onClick: () => i(c),
|
904
|
-
children:
|
904
|
+
children: Gr(c.name).name
|
905
905
|
},
|
906
906
|
c.id
|
907
907
|
)) })
|
908
908
|
}
|
909
909
|
) })
|
910
910
|
] }),
|
911
|
-
/* @__PURE__ */ a("h4", { className:
|
911
|
+
/* @__PURE__ */ a("h4", { className: U.taskTitle, children: /* @__PURE__ */ a(
|
912
912
|
L,
|
913
913
|
{
|
914
914
|
href: n({ task: e, view: "multi" }),
|
@@ -918,17 +918,17 @@ const Mr = function(e) {
|
|
918
918
|
children: e.title
|
919
919
|
}
|
920
920
|
) }),
|
921
|
-
e.description && /* @__PURE__ */ a("div", { className:
|
922
|
-
/* @__PURE__ */ h("table", { className:
|
921
|
+
e.description && /* @__PURE__ */ a("div", { className: U.taskDescription, children: ur(_r(e.description)) }),
|
922
|
+
/* @__PURE__ */ h("table", { className: U.languagesTable, children: [
|
923
923
|
/* @__PURE__ */ a("thead", { children: /* @__PURE__ */ h("tr", { children: [
|
924
924
|
/* @__PURE__ */ a("th", { children: "Languages" }),
|
925
925
|
/* @__PURE__ */ a("th", { children: "Words to do" }),
|
926
926
|
/* @__PURE__ */ a("th", { children: "Progress" }),
|
927
927
|
/* @__PURE__ */ a("th", { children: "Status" })
|
928
928
|
] }) }),
|
929
|
-
/* @__PURE__ */ a("tbody", { children: s.map((c) => /* @__PURE__ */ a(
|
929
|
+
/* @__PURE__ */ a("tbody", { children: s.map((c) => /* @__PURE__ */ a(to, { language: c, task: e }, c.lang_id)) })
|
930
930
|
] }),
|
931
|
-
/* @__PURE__ */ h("div", { className:
|
931
|
+
/* @__PURE__ */ h("div", { className: U.metadata, children: [
|
932
932
|
/* @__PURE__ */ h("span", { children: [
|
933
933
|
"Source: ",
|
934
934
|
e.source_lang_name
|
@@ -937,51 +937,51 @@ const Mr = function(e) {
|
|
937
937
|
/* @__PURE__ */ h("span", { children: [
|
938
938
|
"In ",
|
939
939
|
e.project_name,
|
940
|
-
e.master_branching_enabled === "1" && /* @__PURE__ */ a("div", { className:
|
940
|
+
e.master_branching_enabled === "1" && /* @__PURE__ */ a("div", { className: U.tag, children: e.branch_name ? e.branch_name : "master" })
|
941
941
|
] })
|
942
942
|
] })
|
943
943
|
] }) : null;
|
944
|
-
},
|
944
|
+
}, k = {
|
945
945
|
TaskCompleted: "task_completed",
|
946
946
|
TaskClosed: "task_closed",
|
947
947
|
Refresh: "refresh",
|
948
948
|
ShowDialog: "show_dialog"
|
949
|
-
},
|
950
|
-
loadingContainer:
|
951
|
-
noTasksContainer:
|
952
|
-
noTasksHeading:
|
953
|
-
noTasksText:
|
954
|
-
tasksContainer:
|
955
|
-
},
|
956
|
-
const { tasks: e, onTasksWidgetOpen: t, loadingTasks: n, fetchTasks: r } =
|
957
|
-
return
|
958
|
-
document.removeEventListener(
|
959
|
-
})), n ? /* @__PURE__ */ a("div", { "data-testid": "sidebar-tasks-loading-popover", className:
|
960
|
-
/* @__PURE__ */ a("h3", { className:
|
961
|
-
/* @__PURE__ */ h("div", { className:
|
949
|
+
}, co = "_loadingContainer_19d6m_1", lo = "_noTasksContainer_19d6m_7", uo = "_noTasksHeading_19d6m_14", mo = "_noTasksText_19d6m_18", fo = "_tasksContainer_19d6m_23", $ = {
|
950
|
+
loadingContainer: co,
|
951
|
+
noTasksContainer: lo,
|
952
|
+
noTasksHeading: uo,
|
953
|
+
noTasksText: mo,
|
954
|
+
tasksContainer: fo
|
955
|
+
}, _o = () => {
|
956
|
+
const { tasks: e, onTasksWidgetOpen: t, loadingTasks: n, fetchTasks: r } = V();
|
957
|
+
return De(() => (r(), t == null || t({ tasks: e }), document.addEventListener(k.TaskCompleted, r), document.addEventListener(k.TaskClosed, r), document.addEventListener(k.Refresh, r), () => {
|
958
|
+
document.removeEventListener(k.TaskCompleted, r), document.removeEventListener(k.TaskClosed, r), document.removeEventListener(k.Refresh, r);
|
959
|
+
})), n ? /* @__PURE__ */ a("div", { "data-testid": "sidebar-tasks-loading-popover", className: $.loadingContainer, children: /* @__PURE__ */ a(sn, {}) }) : e.length === 0 ? /* @__PURE__ */ h("div", { "data-testid": "sidebar-no-tasks-popover", className: $.noTasksContainer, children: [
|
960
|
+
/* @__PURE__ */ a("h3", { className: $.noTasksHeading, children: "No tasks" }),
|
961
|
+
/* @__PURE__ */ h("div", { className: $.noTasksText, children: [
|
962
962
|
"Your incoming tasks will appear here.",
|
963
963
|
/* @__PURE__ */ a("br", {}),
|
964
964
|
/* @__PURE__ */ a(L, { href: "https://docs.lokalise.com/translation-workflow/tasks", target: "_new", children: "Learn more" })
|
965
965
|
] })
|
966
|
-
] }) : /* @__PURE__ */ a("div", { "data-testid": "sidebar-tasks-popover", className:
|
967
|
-
},
|
966
|
+
] }) : /* @__PURE__ */ a("div", { "data-testid": "sidebar-tasks-popover", className: $.tasksContainer, children: e.map((s) => /* @__PURE__ */ a(io, { task: s }, s.id)) });
|
967
|
+
}, go = ({ children: e, config: t }) => {
|
968
968
|
const [n, r] = N([]), [s, i] = N(!0), [c, l] = N(0), {
|
969
969
|
getProjectUrl: u,
|
970
970
|
onLanguageCompleteConfirm: d,
|
971
971
|
onTasksWidgetOpen: m,
|
972
|
-
langNameOnClick:
|
972
|
+
langNameOnClick: _,
|
973
973
|
langProgressOnClick: T,
|
974
974
|
taskTitleOnClick: y
|
975
|
-
} = t, { getTasks: f, getTasksCount:
|
975
|
+
} = t, { getTasks: f, getTasksCount: E } = t, b = async () => {
|
976
976
|
i(!0);
|
977
977
|
const v = await f();
|
978
978
|
r(v), i(!1);
|
979
|
-
},
|
980
|
-
const v = await
|
979
|
+
}, g = async () => {
|
980
|
+
const v = await E();
|
981
981
|
l(v);
|
982
982
|
};
|
983
|
-
|
984
|
-
document.removeEventListener(
|
983
|
+
De(() => (g(), document.addEventListener(k.TaskCompleted, g), document.addEventListener(k.TaskClosed, g), document.addEventListener(k.Refresh, g), () => {
|
984
|
+
document.removeEventListener(k.TaskCompleted, g), document.removeEventListener(k.TaskClosed, g), document.removeEventListener(k.Refresh, g);
|
985
985
|
}));
|
986
986
|
const p = {
|
987
987
|
fetchTasks: b,
|
@@ -991,32 +991,32 @@ const Mr = function(e) {
|
|
991
991
|
getProjectUrl: u,
|
992
992
|
onLanguageCompleteConfirm: d,
|
993
993
|
onTasksWidgetOpen: m,
|
994
|
-
langNameOnClick:
|
994
|
+
langNameOnClick: _,
|
995
995
|
langProgressOnClick: T,
|
996
996
|
taskTitleOnClick: y
|
997
997
|
};
|
998
|
-
return /* @__PURE__ */ a(
|
999
|
-
},
|
998
|
+
return /* @__PURE__ */ a(zt.Provider, { value: p, children: e });
|
999
|
+
}, ho = (e) => function(n) {
|
1000
1000
|
const { config: r, ...s } = n;
|
1001
|
-
return /* @__PURE__ */ a(
|
1002
|
-
},
|
1003
|
-
const [e, t] = N(!1), { tasksCount: n } =
|
1004
|
-
return
|
1001
|
+
return /* @__PURE__ */ a(go, { config: r, children: /* @__PURE__ */ a(e, { ...s }) });
|
1002
|
+
}, po = ho(() => {
|
1003
|
+
const [e, t] = N(!1), { tasksCount: n } = V();
|
1004
|
+
return De(() => {
|
1005
1005
|
const r = () => {
|
1006
1006
|
t(!0);
|
1007
1007
|
};
|
1008
|
-
return document.addEventListener(
|
1009
|
-
document.removeEventListener(
|
1008
|
+
return document.addEventListener(k.ShowDialog, r), () => {
|
1009
|
+
document.removeEventListener(k.ShowDialog, r);
|
1010
1010
|
};
|
1011
|
-
}), /* @__PURE__ */ a(
|
1012
|
-
|
1011
|
+
}), /* @__PURE__ */ a(H, { tooltip: "Tasks", placement: "right", children: /* @__PURE__ */ a(
|
1012
|
+
cn,
|
1013
1013
|
{
|
1014
|
-
content: /* @__PURE__ */ a(
|
1014
|
+
content: /* @__PURE__ */ a(_o, {}),
|
1015
1015
|
placement: "right",
|
1016
1016
|
open: e,
|
1017
1017
|
onOpenChange: t,
|
1018
1018
|
middlewares: [
|
1019
|
-
|
1019
|
+
Dr({
|
1020
1020
|
// Adding some spacing to the top and bottom so the popover
|
1021
1021
|
// doesn't extend to the edges of the screen.
|
1022
1022
|
padding: {
|
@@ -1026,92 +1026,92 @@ const Mr = function(e) {
|
|
1026
1026
|
})
|
1027
1027
|
],
|
1028
1028
|
children: (r) => /* @__PURE__ */ h(
|
1029
|
-
|
1029
|
+
je,
|
1030
1030
|
{
|
1031
1031
|
type: "button",
|
1032
1032
|
"data-testid": "sidebar-tasks-widget-button",
|
1033
1033
|
"aria-label": "Tasks",
|
1034
|
-
className: R(
|
1035
|
-
[
|
1034
|
+
className: R(Ae.navItem, {
|
1035
|
+
[Ae.activeNavItem]: r
|
1036
1036
|
}),
|
1037
1037
|
children: [
|
1038
|
-
/* @__PURE__ */ a(
|
1039
|
-
n > 0 && /* @__PURE__ */ a("div", { className:
|
1038
|
+
/* @__PURE__ */ a(ln, { size: "25px" }),
|
1039
|
+
n > 0 && /* @__PURE__ */ a("div", { className: Ae.badge, "aria-label": `${n} items requiring attention`, children: n > 9 ? "9+" : n })
|
1040
1040
|
]
|
1041
1041
|
}
|
1042
1042
|
)
|
1043
1043
|
}
|
1044
1044
|
) });
|
1045
|
-
}),
|
1046
|
-
|
1047
|
-
const
|
1048
|
-
|
1049
|
-
|
1050
|
-
|
1051
|
-
|
1052
|
-
|
1053
|
-
|
1054
|
-
|
1055
|
-
|
1056
|
-
|
1057
|
-
|
1058
|
-
const
|
1059
|
-
breadcrumbsItem:
|
1060
|
-
breadcrumbs:
|
1061
|
-
},
|
1062
|
-
/* @__PURE__ */ a(L, { className:
|
1045
|
+
}), I = ({ children: e, ...t }) => /* @__PURE__ */ a("nav", { ...t, className: Hn.sidebarContainer, children: e }), bo = ({ children: e }) => /* @__PURE__ */ a("div", { children: e });
|
1046
|
+
I.Top = bo;
|
1047
|
+
const vo = ({ children: e }) => /* @__PURE__ */ a("div", { children: e });
|
1048
|
+
I.Bottom = vo;
|
1049
|
+
I.Avatar = $n;
|
1050
|
+
I.IconLink = Gn;
|
1051
|
+
I.Menu = Jn;
|
1052
|
+
I.ProfileMenu = pr;
|
1053
|
+
I.TeamSwitch = Ar;
|
1054
|
+
I.TeamMenuItem = Dt;
|
1055
|
+
I.UpgradeMenuItem = xr;
|
1056
|
+
I.ProfileSettingsMenuItem = Tr;
|
1057
|
+
I.Tasks = po;
|
1058
|
+
const To = "_breadcrumbsItem_1hm6a_1", yo = "_breadcrumbs_1hm6a_1", Tt = {
|
1059
|
+
breadcrumbsItem: To,
|
1060
|
+
breadcrumbs: yo
|
1061
|
+
}, Ua = ({ items: e }) => /* @__PURE__ */ a("nav", { "aria-label": "breadcrumb", className: Tt.breadcrumbs, children: e.map((t, n) => /* @__PURE__ */ h(kt, { children: [
|
1062
|
+
/* @__PURE__ */ a(L, { className: Tt.breadcrumbsItem, href: t.link, rel: "noreferrer", children: t.name }),
|
1063
1063
|
n < e.length - 1 && /* @__PURE__ */ a("span", { children: " — " })
|
1064
|
-
] }, `${t.link}-${t.name}`)) }),
|
1065
|
-
!!n && t.some((r) => r.visible) && /* @__PURE__ */ a(
|
1066
|
-
t.filter(({ visible: r }) => r).map(({ link: r, label: s, onClick: i }) => /* @__PURE__ */ a(
|
1067
|
-
] }, t[0].label)) }),
|
1068
|
-
badge:
|
1069
|
-
tag:
|
1070
|
-
withNavLinkStyle:
|
1071
|
-
disabled:
|
1072
|
-
projectNavigationItem:
|
1073
|
-
projectNavigationItemDisabled:
|
1074
|
-
},
|
1064
|
+
] }, `${t.link}-${t.name}`)) }), So = ({ items: e }) => /* @__PURE__ */ a(Ue, { children: e.map((t, n) => /* @__PURE__ */ h(kt, { children: [
|
1065
|
+
!!n && t.some((r) => r.visible) && /* @__PURE__ */ a(It, {}),
|
1066
|
+
t.filter(({ visible: r }) => r).map(({ link: r, label: s, onClick: i }) => /* @__PURE__ */ a(K, { href: r || "#", "aria-label": s, onClick: i, children: s }, s))
|
1067
|
+
] }, t[0].label)) }), Eo = "_badge_1pc1v_1", wo = "_tag_1pc1v_15", Co = "_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21", ko = "_disabled_1pc1v_57", Po = "_projectNavigationItem_1pc1v_61", Io = "_projectNavigationItemDisabled_1pc1v_67", O = {
|
1068
|
+
badge: Eo,
|
1069
|
+
tag: wo,
|
1070
|
+
withNavLinkStyle: Co,
|
1071
|
+
disabled: ko,
|
1072
|
+
projectNavigationItem: Po,
|
1073
|
+
projectNavigationItemDisabled: Io
|
1074
|
+
}, yt = ({ label: e, badge: t, novel: n }) => /* @__PURE__ */ h("div", { className: "flex gap-1", children: [
|
1075
1075
|
/* @__PURE__ */ h("div", { children: [
|
1076
1076
|
/* @__PURE__ */ a("span", { children: e }),
|
1077
|
-
!!t && /* @__PURE__ */ a("div", { className:
|
1077
|
+
!!t && /* @__PURE__ */ a("div", { className: O.badge, "aria-label": `${t} items requiring attention`, children: t > 9 ? "9+" : t })
|
1078
1078
|
] }),
|
1079
|
-
!!n && /* @__PURE__ */ a(
|
1080
|
-
] }),
|
1081
|
-
({ label: e, href: t = "", disabled: n = !1, badge: r, onClick: s, novel: i }, c) => /* @__PURE__ */ a(
|
1079
|
+
!!n && /* @__PURE__ */ a(Re, { className: O.tag, children: n })
|
1080
|
+
] }), Oe = nn(
|
1081
|
+
({ label: e, href: t = "", disabled: n = !1, badge: r, onClick: s, novel: i }, c) => /* @__PURE__ */ a(H, { tooltip: "You do not have access to this function", show: n, children: /* @__PURE__ */ a(
|
1082
1082
|
"div",
|
1083
1083
|
{
|
1084
|
-
className: n ?
|
1084
|
+
className: n ? O.projectNavigationItemDisabled : O.projectNavigationItem,
|
1085
1085
|
children: s || n || !t ? /* @__PURE__ */ a(
|
1086
1086
|
"button",
|
1087
1087
|
{
|
1088
1088
|
type: "button",
|
1089
1089
|
ref: c,
|
1090
|
-
className: R(
|
1091
|
-
[
|
1090
|
+
className: R(O.withNavLinkStyle, {
|
1091
|
+
[O.disabled]: n
|
1092
1092
|
}),
|
1093
1093
|
disabled: n,
|
1094
1094
|
onClick: s,
|
1095
|
-
children: /* @__PURE__ */ a(
|
1095
|
+
children: /* @__PURE__ */ a(yt, { label: e, badge: r, novel: i })
|
1096
1096
|
}
|
1097
|
-
) : /* @__PURE__ */ a("a", { href: t, className:
|
1097
|
+
) : /* @__PURE__ */ a("a", { href: t, className: O.withNavLinkStyle, children: /* @__PURE__ */ a(yt, { label: e, badge: r, novel: i }) })
|
1098
1098
|
}
|
1099
1099
|
) })
|
1100
1100
|
);
|
1101
|
-
|
1102
|
-
const
|
1101
|
+
Oe.displayName = "NavigationTabsItem";
|
1102
|
+
const Ao = (e) => (e == null ? void 0 : e.some((t) => t.some((n) => n.visible))) ?? !1, No = (e) => e.visible && (!e.dropdown || Ao(e.dropdown)), qa = ({ navigation: e, activeItem: t }) => /* @__PURE__ */ a("nav", { "aria-label": "Project", children: /* @__PURE__ */ a("ul", { className: q.navigationTabList, "aria-orientation": "horizontal", children: e.filter(No).map((n) => {
|
1103
1103
|
var r, s, i;
|
1104
1104
|
return n.dropdown ? /* @__PURE__ */ a(
|
1105
1105
|
"li",
|
1106
1106
|
{
|
1107
|
-
className:
|
1107
|
+
className: q.navigationTab,
|
1108
1108
|
"data-testid": n.key,
|
1109
1109
|
"aria-selected": (r = n.isActive) == null ? void 0 : r.call(n, t),
|
1110
1110
|
children: /* @__PURE__ */ a(
|
1111
|
-
|
1111
|
+
ae,
|
1112
1112
|
{
|
1113
|
-
menuButton: ({ opened: c }) => /* @__PURE__ */ a(
|
1114
|
-
children: /* @__PURE__ */ a(
|
1113
|
+
menuButton: ({ opened: c }) => /* @__PURE__ */ a(Oe, { label: n.label, disabled: n.disabled, active: c }),
|
1114
|
+
children: /* @__PURE__ */ a(se, { children: /* @__PURE__ */ a(So, { items: n.dropdown }) })
|
1115
1115
|
}
|
1116
1116
|
)
|
1117
1117
|
},
|
@@ -1119,11 +1119,11 @@ const So = (e) => (e == null ? void 0 : e.some((t) => t.some((n) => n.visible)))
|
|
1119
1119
|
) : /* @__PURE__ */ a(
|
1120
1120
|
"li",
|
1121
1121
|
{
|
1122
|
-
className:
|
1122
|
+
className: q.navigationTab,
|
1123
1123
|
"data-testid": n.key,
|
1124
1124
|
"aria-selected": (s = n.isActive) == null ? void 0 : s.call(n, t),
|
1125
1125
|
children: /* @__PURE__ */ a(
|
1126
|
-
|
1126
|
+
Oe,
|
1127
1127
|
{
|
1128
1128
|
label: n.label,
|
1129
1129
|
href: n.link,
|
@@ -1137,30 +1137,171 @@ const So = (e) => (e == null ? void 0 : e.some((t) => t.some((n) => n.visible)))
|
|
1137
1137
|
},
|
1138
1138
|
n.key
|
1139
1139
|
);
|
1140
|
-
}) }) })
|
1141
|
-
|
1142
|
-
|
1143
|
-
|
1144
|
-
|
1145
|
-
|
1146
|
-
|
1147
|
-
|
1148
|
-
|
1149
|
-
|
1150
|
-
|
1151
|
-
|
1152
|
-
|
1153
|
-
|
1154
|
-
}
|
1140
|
+
}) }) });
|
1141
|
+
class A {
|
1142
|
+
/**
|
1143
|
+
* This constructor is private to prevent the creation of a HeaderBuilder, it's an implementation detail
|
1144
|
+
* that users of this class should not be aware of. The only way to create a HeaderBuilder is through the
|
1145
|
+
* static create method.
|
1146
|
+
*
|
1147
|
+
* @private
|
1148
|
+
*/
|
1149
|
+
constructor(t) {
|
1150
|
+
this.factories = t;
|
1151
|
+
}
|
1152
|
+
static create(t = {}) {
|
1153
|
+
return new A([() => t]);
|
1154
|
+
}
|
1155
|
+
/**
|
1156
|
+
* Adds a single header to the builder by providing a key and a value.
|
1157
|
+
*
|
1158
|
+
* @example
|
1159
|
+
* ```typescript
|
1160
|
+
* const builder = HeaderBuilder.create()
|
1161
|
+
* .add('Content-Type', 'application/json')
|
1162
|
+
* .add('Authorization', 'Bearer token')
|
1163
|
+
*
|
1164
|
+
* const headers = await builder.resolve()
|
1165
|
+
* console.log(headers)
|
1166
|
+
* // { 'Content-Type': 'application/json', 'Authorization': 'Bearer token' }
|
1167
|
+
* ```
|
1168
|
+
*
|
1169
|
+
* @param key - The key of the header
|
1170
|
+
* @param value - The value of the header
|
1171
|
+
*/
|
1172
|
+
add(t, n) {
|
1173
|
+
return new A([...this.factories, () => ({ [t]: n })]);
|
1174
|
+
}
|
1175
|
+
/**
|
1176
|
+
* Adds multiple headers to the builder by providing an object or a promise of an object with the headers.
|
1177
|
+
*
|
1178
|
+
* @example
|
1179
|
+
* ```typescript
|
1180
|
+
* const builder = HeaderBuilder.create()
|
1181
|
+
* .and({ 'Content-Type': 'application/json', 'Authorization': 'Bearer token' })
|
1182
|
+
* .and(Promise.resolve({ 'X-Custom-Header': 'custom', 'X-Another-Header': 'another' }))
|
1183
|
+
*
|
1184
|
+
* const headers = await builder.resolve()
|
1185
|
+
* console.log(headers)
|
1186
|
+
* // Prints: {
|
1187
|
+
* // 'Content-Type': 'application/json',
|
1188
|
+
* // 'Authorization': 'Bearer token',
|
1189
|
+
* // 'X-Custom-Header': 'custom',
|
1190
|
+
* // 'X-Another-Header': 'another'
|
1191
|
+
* // }
|
1192
|
+
* ```
|
1193
|
+
*
|
1194
|
+
* @param extension - An object with the headers to add
|
1195
|
+
*/
|
1196
|
+
and(t) {
|
1197
|
+
return new A([...this.factories, () => t]);
|
1198
|
+
}
|
1199
|
+
/**
|
1200
|
+
* Adds a factory function that returns a promise of headers to the builder.
|
1201
|
+
* This is useful when you need to fetch some data asynchronously to build the headers.
|
1202
|
+
*
|
1203
|
+
* @example
|
1204
|
+
* ```typescript
|
1205
|
+
* const builder = HeaderBuilder.create()
|
1206
|
+
* .from(async () => {
|
1207
|
+
* const token = await fetchToken()
|
1208
|
+
* return { 'Authorization': `Bearer ${token}` }
|
1209
|
+
* })
|
1210
|
+
*
|
1211
|
+
* const headers = await builder.resolve()
|
1212
|
+
* console.log(headers) // { 'Authorization': 'Bearer <token>' }
|
1213
|
+
* ```
|
1214
|
+
*
|
1215
|
+
* @param factory - A function that returns a promise of headers
|
1216
|
+
*/
|
1217
|
+
from(t) {
|
1218
|
+
return new A([...this.factories, t]);
|
1219
|
+
}
|
1220
|
+
/**
|
1221
|
+
* Takes a middleware function that receives the current builder and returns a new, modified, builder.
|
1222
|
+
*
|
1223
|
+
* @example
|
1224
|
+
* ```typescript
|
1225
|
+
* const authMiddleware = createHeaderBuilderMiddleware(async (builder) => {
|
1226
|
+
* const token = await fetchToken()
|
1227
|
+
* return builder.add('Authorization', `Bearer ${token}`)
|
1228
|
+
* })
|
1229
|
+
*
|
1230
|
+
* const builder = HeaderBuilder.create()
|
1231
|
+
* .with(authMiddleware)
|
1232
|
+
*
|
1233
|
+
* const headers = await builder.resolve() // Type of headers is { 'Authorization': string }
|
1234
|
+
* console.log(headers) // { 'Authorization': 'Bearer <token>' }
|
1235
|
+
* ```
|
1236
|
+
*
|
1237
|
+
* @param middleware
|
1238
|
+
*/
|
1239
|
+
with(t) {
|
1240
|
+
return t.apply(this);
|
1241
|
+
}
|
1242
|
+
/**
|
1243
|
+
* Merges the current builder with another builder.
|
1244
|
+
*
|
1245
|
+
* @example
|
1246
|
+
* ```typescript
|
1247
|
+
* const builderA = HeaderBuilder.create()
|
1248
|
+
* .add('Content-Type', 'application/json')
|
1249
|
+
*
|
1250
|
+
* const builderB = HeaderBuilder.create()
|
1251
|
+
* .add('Authorization', 'Bearer token')
|
1252
|
+
*
|
1253
|
+
* const mergedBuilder = builderA.merge(builderB)
|
1254
|
+
*
|
1255
|
+
* const headers = await mergedBuilder.resolve()
|
1256
|
+
* console.log(headers)
|
1257
|
+
* // { 'Content-Type': 'application/json', 'Authorization': 'Bearer token' }
|
1258
|
+
* ```
|
1259
|
+
*
|
1260
|
+
* @param builder - The builder to merge with
|
1261
|
+
*/
|
1262
|
+
merge(t) {
|
1263
|
+
return new A([...this.factories, ...t.factories]);
|
1264
|
+
}
|
1265
|
+
/**
|
1266
|
+
* Resolves the headers by waiting for all the promises to resolve and merging them together.
|
1267
|
+
*
|
1268
|
+
* @example
|
1269
|
+
* ```typescript
|
1270
|
+
* const builder = HeaderBuilder.create()
|
1271
|
+
* .add('Content-Type', 'application/json')
|
1272
|
+
*
|
1273
|
+
* const headers = await builder.resolve()
|
1274
|
+
* console.log(headers) // { 'Content-Type': 'application/json' }
|
1275
|
+
*/
|
1276
|
+
async resolve() {
|
1277
|
+
const t = this.factories.map((r) => r()), n = await Promise.all(t);
|
1278
|
+
return Object.assign({}, ...n);
|
1279
|
+
}
|
1280
|
+
}
|
1281
|
+
class Ro {
|
1282
|
+
constructor(t) {
|
1283
|
+
this.middleware = t;
|
1284
|
+
}
|
1285
|
+
apply(t) {
|
1286
|
+
return t.from(async () => {
|
1287
|
+
const n = this.middleware(A.create());
|
1288
|
+
return n instanceof Promise ? n.then((r) => r.resolve()) : n.resolve();
|
1289
|
+
});
|
1290
|
+
}
|
1291
|
+
}
|
1292
|
+
function Gt(e) {
|
1293
|
+
return new Ro(e);
|
1294
|
+
}
|
1295
|
+
const Kt = o.union([
|
1155
1296
|
o.literal("owner"),
|
1156
1297
|
o.literal("admin"),
|
1157
1298
|
o.literal("biller"),
|
1158
1299
|
o.literal("member")
|
1159
|
-
]),
|
1300
|
+
]), jo = o.object({
|
1160
1301
|
userId: o.number(),
|
1161
1302
|
userUuid: o.string(),
|
1162
1303
|
teamId: o.number(),
|
1163
|
-
userTeamRole:
|
1304
|
+
userTeamRole: Kt,
|
1164
1305
|
userEmail: o.string().email(),
|
1165
1306
|
userName: o.string(),
|
1166
1307
|
userCurrentTeamId: o.number(),
|
@@ -1170,242 +1311,241 @@ const So = (e) => (e == null ? void 0 : e.some((t) => t.some((n) => n.visible)))
|
|
1170
1311
|
isFullyAuthenticated: o.boolean(),
|
1171
1312
|
exp: o.number()
|
1172
1313
|
});
|
1173
|
-
function
|
1314
|
+
function ie(e) {
|
1174
1315
|
try {
|
1175
1316
|
const t = e.split(".")[1], n = atob(t);
|
1176
|
-
return
|
1317
|
+
return jo.parse(JSON.parse(n));
|
1177
1318
|
} catch {
|
1178
1319
|
return;
|
1179
1320
|
}
|
1180
1321
|
}
|
1181
|
-
|
1182
|
-
|
1183
|
-
|
1184
|
-
|
1185
|
-
|
1186
|
-
|
1187
|
-
const s = await e.getCachedJwtToken();
|
1188
|
-
if (s === void 0)
|
1189
|
-
return t(n, r);
|
1190
|
-
const i = await t(n, {
|
1191
|
-
...r,
|
1192
|
-
headers: { ...r.headers, ...te(s.accessToken) }
|
1193
|
-
});
|
1194
|
-
if (s && (i.status === 401 || i.status === 403)) {
|
1195
|
-
const l = se(s.accessToken);
|
1196
|
-
if (!l)
|
1197
|
-
return i;
|
1198
|
-
const u = await G(e.authProviderWretchClient, Be, {
|
1199
|
-
pathParams: { teamId: l.teamId },
|
1200
|
-
headers: te(s.refreshToken)
|
1201
|
-
});
|
1202
|
-
return await ((c = e.onNewJwtTokenIssued) == null ? void 0 : c.call(e, u)), t(n, {
|
1203
|
-
...r,
|
1204
|
-
headers: { ...r.headers, ...te(u.accessToken) }
|
1205
|
-
});
|
1206
|
-
}
|
1207
|
-
return i;
|
1208
|
-
};
|
1322
|
+
class Le extends Error {
|
1323
|
+
constructor() {
|
1324
|
+
super(...arguments);
|
1325
|
+
ee(this, "name", "UnauthorizedError");
|
1326
|
+
ee(this, "status", 401);
|
1327
|
+
}
|
1209
1328
|
}
|
1210
|
-
|
1211
|
-
|
1212
|
-
|
1213
|
-
|
1214
|
-
|
1215
|
-
|
1216
|
-
|
1217
|
-
|
1329
|
+
const Wt = 1e3, xo = 60 * Wt;
|
1330
|
+
function Ha(e) {
|
1331
|
+
return Gt(async (t) => {
|
1332
|
+
var c, l;
|
1333
|
+
const n = e.getCurrentToken() ?? await ((c = e.generateNewToken) == null ? void 0 : c.call(e));
|
1334
|
+
if (!n)
|
1335
|
+
throw new Le();
|
1336
|
+
const { exp: r } = ie(n.accessToken) ?? { exp: 0 };
|
1337
|
+
if (!(r * Wt - Date.now() < xo))
|
1338
|
+
return t.add("Authorization", `Bearer ${n.accessToken}`);
|
1339
|
+
const i = await e.refreshToken(n);
|
1340
|
+
if (!i)
|
1341
|
+
throw new Le();
|
1342
|
+
return (l = e.onNewTokenIssued) == null || l.call(e, i), t.add("Authorization", `Bearer ${i.accessToken}`);
|
1218
1343
|
});
|
1219
1344
|
}
|
1220
|
-
|
1221
|
-
|
1222
|
-
|
1223
|
-
return { accessToken: e, refreshToken: t };
|
1224
|
-
}
|
1345
|
+
const Ba = Gt(
|
1346
|
+
(e) => e.and({ "x-lokalise-plugin": "true" })
|
1347
|
+
);
|
1225
1348
|
function Jt() {
|
1226
|
-
|
1349
|
+
const e = Me(document.cookie, "accessToken"), t = Me(document.cookie, "refreshToken");
|
1350
|
+
return !e || !t ? null : { accessToken: e, refreshToken: t };
|
1227
1351
|
}
|
1228
|
-
function
|
1352
|
+
function Oo() {
|
1353
|
+
return Me(document.cookie, "csrf_token") ?? null;
|
1354
|
+
}
|
1355
|
+
function Me(e, t) {
|
1229
1356
|
var n, r;
|
1230
1357
|
return (r = (n = e.split(";").find((s) => s.trim().startsWith(`${t}=`))) == null ? void 0 : n.trim()) == null ? void 0 : r.substring(t.length + 1);
|
1231
1358
|
}
|
1232
|
-
function
|
1233
|
-
|
1234
|
-
authProviderWretchClient: e.authProviderWretchClient,
|
1235
|
-
getCachedJwtToken: e.getCachedJwtToken ?? Ro,
|
1236
|
-
onNewJwtTokenIssued: e.onNewJwtTokenIssued
|
1237
|
-
});
|
1238
|
-
}
|
1239
|
-
function Ro() {
|
1240
|
-
return Promise.resolve(ie());
|
1241
|
-
}
|
1242
|
-
function ja(e) {
|
1243
|
-
const t = {
|
1244
|
-
authProviderWretchClient: e.authProviderWretchClient,
|
1245
|
-
getCsrfToken: e.getCsrfToken ?? (async () => Jt()),
|
1246
|
-
getCachedJwtToken: e.getCachedJwtToken ?? (async () => ie()),
|
1247
|
-
onNewJwtTokenIssued: e.onNewJwtTokenIssued,
|
1248
|
-
getTeamId: e.getTeamId
|
1249
|
-
};
|
1250
|
-
return (n) => async (r, s) => {
|
1251
|
-
var u;
|
1252
|
-
if (await t.getCachedJwtToken() !== void 0)
|
1253
|
-
return n(r, s);
|
1254
|
-
const c = await t.getCsrfToken();
|
1255
|
-
if (c === void 0)
|
1256
|
-
return n(r, s);
|
1257
|
-
const l = await G(t.authProviderWretchClient, Be, {
|
1258
|
-
pathParams: { teamId: await t.getTeamId() },
|
1259
|
-
headers: { "x-csrf-token": c }
|
1260
|
-
});
|
1261
|
-
return await ((u = t.onNewJwtTokenIssued) == null ? void 0 : u.call(t, l)), n(r, {
|
1262
|
-
...s,
|
1263
|
-
headers: { ...s.headers, ...te(l.accessToken) }
|
1264
|
-
});
|
1265
|
-
};
|
1266
|
-
}
|
1267
|
-
function Aa() {
|
1268
|
-
const e = ie();
|
1359
|
+
function Da() {
|
1360
|
+
const e = Jt();
|
1269
1361
|
if (!e)
|
1270
1362
|
return;
|
1271
|
-
const t =
|
1363
|
+
const t = ie(e.accessToken);
|
1272
1364
|
if (t)
|
1273
1365
|
return { ...e, payload: t };
|
1274
1366
|
}
|
1275
|
-
const
|
1276
|
-
|
1277
|
-
|
1278
|
-
|
1279
|
-
|
1280
|
-
|
1281
|
-
|
1282
|
-
|
1367
|
+
const Qt = o.object({
|
1368
|
+
Authorization: o.string()
|
1369
|
+
}), Lo = o.object({
|
1370
|
+
"X-API-Token": o.string()
|
1371
|
+
}), Mo = o.union([
|
1372
|
+
Qt,
|
1373
|
+
Lo
|
1374
|
+
]), Uo = o.object({
|
1375
|
+
"X-Lokalise-Plugin": o.string()
|
1376
|
+
}), ce = Mo.and(Uo), qo = o.object({
|
1377
|
+
accessToken: o.string(),
|
1378
|
+
refreshToken: o.string()
|
1379
|
+
}), Ho = o.union([
|
1380
|
+
Qt,
|
1381
|
+
o.object({ "x-csrf-token": o.string() })
|
1382
|
+
]), $e = qe({
|
1383
|
+
description: "Takes a teamId and returns a JWT token access and refresh token for the user",
|
1384
|
+
method: "post",
|
1385
|
+
requestPathParamsSchema: o.object({ teamId: o.number() }),
|
1386
|
+
pathResolver: (e) => `/team/${e.teamId}/actions/get-user-token`,
|
1387
|
+
requestHeaderSchema: Ho,
|
1388
|
+
requestBodySchema: o.undefined(),
|
1389
|
+
isEmptyResponseExpected: !0,
|
1390
|
+
successResponseBodySchema: qo
|
1391
|
+
});
|
1392
|
+
function $a(e, t, n) {
|
1393
|
+
return async () => {
|
1394
|
+
const r = t();
|
1395
|
+
if (!r)
|
1396
|
+
throw new Le();
|
1397
|
+
return W(e, $e, {
|
1398
|
+
pathParams: { teamId: Number(await n()) },
|
1399
|
+
headers: await A.create().add("x-csrf-token", r).resolve()
|
1400
|
+
});
|
1401
|
+
};
|
1402
|
+
}
|
1403
|
+
function Fa(e, t) {
|
1404
|
+
return async ({ refreshToken: n }) => W(e, $e, {
|
1405
|
+
pathParams: { teamId: Number(await t()) },
|
1406
|
+
headers: await A.create().add("Authorization", `Bearer ${n}`).resolve()
|
1407
|
+
});
|
1408
|
+
}
|
1409
|
+
const Bo = {
|
1410
|
+
teamKey: (e) => ["getUserToken", e]
|
1411
|
+
}, Do = (e, t, n) => B({
|
1412
|
+
...n,
|
1413
|
+
queryFn: async ({ queryKey: [r, s] }) => W(e, $e, {
|
1414
|
+
headers: await t.resolve(),
|
1415
|
+
pathParams: { teamId: s }
|
1283
1416
|
})
|
1284
|
-
}),
|
1417
|
+
}), oe = class oe extends CustomEvent {
|
1285
1418
|
constructor(t) {
|
1286
|
-
super(
|
1287
|
-
detail: { token: t, payload:
|
1419
|
+
super(oe.eventName, {
|
1420
|
+
detail: { token: t, payload: ie(t.accessToken) }
|
1288
1421
|
});
|
1289
1422
|
}
|
1290
1423
|
};
|
1291
|
-
|
1292
|
-
let
|
1293
|
-
function
|
1294
|
-
const
|
1295
|
-
queryKey:
|
1296
|
-
enabled:
|
1297
|
-
}),
|
1298
|
-
return
|
1299
|
-
|
1300
|
-
}, [
|
1424
|
+
ee(oe, "eventName", "new-jwt-issued");
|
1425
|
+
let z = oe;
|
1426
|
+
function za(e, t, n) {
|
1427
|
+
const r = Oo(), s = Do(e, t.add("x-csrf-token", r ?? ""), {
|
1428
|
+
queryKey: Bo.teamKey(n),
|
1429
|
+
enabled: r !== void 0
|
1430
|
+
}), i = Et();
|
1431
|
+
return G(() => {
|
1432
|
+
s.data && s.data.accessToken !== i.current && (window.dispatchEvent(new z(s.data)), i.current = s.data.accessToken);
|
1433
|
+
}, [s.data]), s;
|
1301
1434
|
}
|
1302
|
-
function
|
1435
|
+
function Yt() {
|
1303
1436
|
const [e, t] = N();
|
1304
|
-
return
|
1437
|
+
return G(() => {
|
1305
1438
|
const n = (s) => {
|
1306
1439
|
t(s.detail.payload);
|
1307
|
-
}, r =
|
1308
|
-
return t(r
|
1309
|
-
window.removeEventListener(
|
1440
|
+
}, r = Jt();
|
1441
|
+
return t(r ? ie(r.accessToken) : void 0), window.addEventListener(z.eventName, n), () => {
|
1442
|
+
window.removeEventListener(z.eventName, n);
|
1310
1443
|
};
|
1311
1444
|
}, []), e;
|
1312
1445
|
}
|
1313
|
-
const
|
1446
|
+
const $o = ce, Fo = o.object({
|
1314
1447
|
user_id: o.number(),
|
1315
1448
|
email: o.string().email(),
|
1316
1449
|
fullname: o.string(),
|
1317
1450
|
created_at: o.string(),
|
1318
1451
|
created_at_timestamp: o.number(),
|
1319
|
-
role:
|
1320
|
-
}),
|
1452
|
+
role: Kt
|
1453
|
+
}), zo = o.object({
|
1321
1454
|
team_id: o.number(),
|
1322
|
-
team_user:
|
1323
|
-
}),
|
1455
|
+
team_user: Fo
|
1456
|
+
}), Go = Q({
|
1324
1457
|
description: "Get the details of a team user",
|
1458
|
+
requestHeaderSchema: $o,
|
1325
1459
|
requestPathParamsSchema: o.object({ teamId: o.number(), userId: o.number() }),
|
1326
1460
|
pathResolver: ({ teamId: e, userId: t }) => `/teams/${e}/users/${t}`,
|
1327
|
-
successResponseBodySchema:
|
1328
|
-
}),
|
1461
|
+
successResponseBodySchema: zo
|
1462
|
+
}), Ko = {
|
1329
1463
|
teamUserKey: (e, t) => ["GetTeamUsers", e, t]
|
1330
|
-
},
|
1331
|
-
...
|
1332
|
-
queryFn: ({ queryKey: [
|
1464
|
+
}, Wo = (e, t, n) => B({
|
1465
|
+
...n,
|
1466
|
+
queryFn: async ({ queryKey: [r, s, i] }) => J(e, Go, {
|
1467
|
+
headers: await t.resolve(),
|
1468
|
+
pathParams: { teamId: s, userId: i }
|
1469
|
+
})
|
1333
1470
|
});
|
1334
|
-
function
|
1335
|
-
const
|
1336
|
-
return
|
1337
|
-
queryKey:
|
1338
|
-
enabled: (
|
1471
|
+
function Ga(e, t) {
|
1472
|
+
const n = Yt();
|
1473
|
+
return Wo(e, t, {
|
1474
|
+
queryKey: Ko.teamUserKey((n == null ? void 0 : n.teamId) ?? 0, (n == null ? void 0 : n.userId) ?? 0),
|
1475
|
+
enabled: (n == null ? void 0 : n.userId) !== void 0 && n.teamId !== void 0
|
1339
1476
|
});
|
1340
1477
|
}
|
1341
|
-
const
|
1478
|
+
const Jo = o.object({
|
1342
1479
|
lang_id: o.number(),
|
1343
1480
|
lang_iso: o.string(),
|
1344
1481
|
lang_name: o.string(),
|
1345
1482
|
is_writable: o.union([o.literal(0), o.literal(1)])
|
1346
|
-
}),
|
1483
|
+
}), Qo = o.object({
|
1347
1484
|
user_id: o.number(),
|
1348
1485
|
email: o.string().email(),
|
1349
1486
|
fullname: o.string(),
|
1350
1487
|
created_at: o.string(),
|
1351
1488
|
created_at_timestamp: o.number(),
|
1352
1489
|
admin_rights: o.array(o.string()),
|
1353
|
-
languages: o.array(
|
1490
|
+
languages: o.array(Jo),
|
1354
1491
|
is_admin: o.boolean(),
|
1355
1492
|
is_reviewer: o.boolean()
|
1356
|
-
}),
|
1493
|
+
}), Yo = o.object({
|
1357
1494
|
project_id: o.string(),
|
1358
|
-
contributors: o.array(
|
1359
|
-
}),
|
1495
|
+
contributors: o.array(Qo)
|
1496
|
+
}), Vo = Q({
|
1360
1497
|
description: "Get the details of a project contributor",
|
1498
|
+
requestHeaderSchema: ce,
|
1361
1499
|
requestPathParamsSchema: o.object({ projectId: o.string(), contributorId: o.number() }),
|
1362
1500
|
pathResolver: ({ projectId: e, contributorId: t }) => `/projects/${e}/contributors/${t}`,
|
1363
|
-
successResponseBodySchema:
|
1364
|
-
}),
|
1501
|
+
successResponseBodySchema: Yo
|
1502
|
+
}), Xo = {
|
1365
1503
|
projectUserKey: (e, t) => ["RetrieveContributor", e, t]
|
1366
|
-
},
|
1367
|
-
...
|
1368
|
-
queryFn: ({ queryKey: [
|
1369
|
-
pathParams: { projectId:
|
1504
|
+
}, Zo = (e, t, n) => B({
|
1505
|
+
...n,
|
1506
|
+
queryFn: async ({ queryKey: [r, s, i] }) => J(e, Vo, {
|
1507
|
+
pathParams: { projectId: s, contributorId: i },
|
1508
|
+
headers: await t.resolve()
|
1370
1509
|
})
|
1371
1510
|
});
|
1372
|
-
function
|
1373
|
-
const
|
1374
|
-
return
|
1375
|
-
queryKey:
|
1376
|
-
enabled:
|
1511
|
+
function Ka(e, t, n) {
|
1512
|
+
const r = Yt();
|
1513
|
+
return Zo(e, t, {
|
1514
|
+
queryKey: Xo.projectUserKey(n, (r == null ? void 0 : r.userId) ?? 0),
|
1515
|
+
enabled: r !== void 0
|
1377
1516
|
});
|
1378
1517
|
}
|
1379
|
-
const
|
1518
|
+
const ea = o.object({
|
1380
1519
|
lang_iso: o.string(),
|
1381
1520
|
custom_iso: o.string().optional()
|
1382
|
-
}),
|
1521
|
+
}), ta = o.object({
|
1383
1522
|
language_id: o.number(),
|
1384
1523
|
language_iso: o.string(),
|
1385
1524
|
progress: o.number(),
|
1386
1525
|
words_to_do: o.number()
|
1387
|
-
}),
|
1526
|
+
}), na = o.object({
|
1388
1527
|
projectId: o.string()
|
1389
|
-
}),
|
1528
|
+
}), ra = o.object({
|
1390
1529
|
lang_id: o.number(),
|
1391
1530
|
lang_iso: o.string(),
|
1392
1531
|
lang_name: o.string(),
|
1393
1532
|
is_rtl: o.boolean(),
|
1394
1533
|
plural_forms: o.array(o.string().optional())
|
1395
|
-
}),
|
1534
|
+
}), oa = o.object({
|
1396
1535
|
project_id: o.string(),
|
1397
1536
|
project_uuid: o.string().uuid(),
|
1398
|
-
languages: o.array(
|
1399
|
-
}),
|
1537
|
+
languages: o.array(ra)
|
1538
|
+
}), aa = Q({
|
1400
1539
|
description: "List of project languages",
|
1401
|
-
|
1540
|
+
requestHeaderSchema: ce,
|
1541
|
+
requestPathParamsSchema: na,
|
1402
1542
|
pathResolver: ({ projectId: e }) => `/projects/${e}/languages`,
|
1403
|
-
successResponseBodySchema:
|
1404
|
-
}),
|
1543
|
+
successResponseBodySchema: oa
|
1544
|
+
}), le = ce, Fe = o.union([
|
1405
1545
|
o.literal("localization_files"),
|
1406
1546
|
o.literal("paged_documents"),
|
1407
1547
|
o.literal("marketing")
|
1408
|
-
]),
|
1548
|
+
]), sa = o.object({
|
1409
1549
|
per_platform_key_names: o.boolean(),
|
1410
1550
|
reviewing: o.boolean(),
|
1411
1551
|
auto_toggle_unverified: o.boolean(),
|
@@ -1416,7 +1556,7 @@ const Jo = o.object({
|
|
1416
1556
|
custom_translation_statuses_allow_multiple: o.boolean(),
|
1417
1557
|
segmentation: o.boolean(),
|
1418
1558
|
contributor_preview_download_enabled: o.boolean()
|
1419
|
-
}),
|
1559
|
+
}), ia = o.object({
|
1420
1560
|
not_reviewed: o.number(),
|
1421
1561
|
unverified: o.number(),
|
1422
1562
|
spelling_grammar: o.number(),
|
@@ -1433,18 +1573,18 @@ const Jo = o.object({
|
|
1433
1573
|
double_space: o.number(),
|
1434
1574
|
special_placeholder: o.number(),
|
1435
1575
|
unbalanced_brackets: o.number()
|
1436
|
-
}),
|
1576
|
+
}), ca = o.object({
|
1437
1577
|
progress_total: o.number(),
|
1438
1578
|
keys_total: o.number(),
|
1439
1579
|
team: o.number(),
|
1440
1580
|
base_words: o.number(),
|
1441
1581
|
qa_issues_total: o.number(),
|
1442
|
-
qa_issues:
|
1443
|
-
languages: o.array(
|
1444
|
-
}),
|
1582
|
+
qa_issues: ia,
|
1583
|
+
languages: o.array(ta)
|
1584
|
+
}), de = o.object({
|
1445
1585
|
project_id: o.string(),
|
1446
1586
|
uuid: o.string().uuid(),
|
1447
|
-
project_type:
|
1587
|
+
project_type: Fe,
|
1448
1588
|
name: o.string(),
|
1449
1589
|
description: o.string(),
|
1450
1590
|
created_at: o.string(),
|
@@ -1454,164 +1594,177 @@ const Jo = o.object({
|
|
1454
1594
|
team_id: o.number(),
|
1455
1595
|
base_language_id: o.number(),
|
1456
1596
|
base_language_iso: o.string(),
|
1457
|
-
settings:
|
1458
|
-
statistics:
|
1459
|
-
}),
|
1597
|
+
settings: sa.optional(),
|
1598
|
+
statistics: ca.optional()
|
1599
|
+
}), la = o.object({
|
1460
1600
|
name: o.string(),
|
1461
1601
|
team_id: o.string(),
|
1462
1602
|
base_lang_iso: o.string(),
|
1463
|
-
languages: o.array(
|
1464
|
-
project_type:
|
1603
|
+
languages: o.array(ea),
|
1604
|
+
project_type: Fe,
|
1465
1605
|
is_segmentation_enabled: o.boolean()
|
1466
|
-
}),
|
1467
|
-
filter_type:
|
1606
|
+
}), St = o.union([o.literal(0), o.literal(1)]), da = o.object({
|
1607
|
+
filter_type: Fe.optional(),
|
1468
1608
|
filter_team_id: o.number().optional(),
|
1469
1609
|
filter_names: o.string().optional(),
|
1470
|
-
include_statistics:
|
1471
|
-
include_settings:
|
1610
|
+
include_statistics: St.optional(),
|
1611
|
+
include_settings: St.optional(),
|
1472
1612
|
limit: o.number().optional(),
|
1473
1613
|
page: o.number().optional()
|
1474
|
-
}),
|
1475
|
-
projects: o.array(
|
1476
|
-
}),
|
1614
|
+
}), ua = o.object({
|
1615
|
+
projects: o.array(de)
|
1616
|
+
}), ma = o.object({
|
1477
1617
|
project_id: o.string()
|
1478
|
-
}),
|
1618
|
+
}), fa = o.object({
|
1479
1619
|
project_id: o.string()
|
1480
|
-
}),
|
1620
|
+
}), _a = o.object({
|
1481
1621
|
name: o.string().min(1),
|
1482
1622
|
description: o.string().optional()
|
1483
|
-
}),
|
1623
|
+
}), ue = () => "/projects", ga = qe({
|
1484
1624
|
description: "Create a new project",
|
1625
|
+
requestHeaderSchema: le,
|
1485
1626
|
method: "post",
|
1486
|
-
pathResolver:
|
1487
|
-
requestBodySchema:
|
1488
|
-
successResponseBodySchema:
|
1489
|
-
}),
|
1627
|
+
pathResolver: ue,
|
1628
|
+
requestBodySchema: la,
|
1629
|
+
successResponseBodySchema: de
|
1630
|
+
}), ha = Q({
|
1490
1631
|
description: "List all projects",
|
1491
|
-
|
1492
|
-
|
1493
|
-
|
1494
|
-
|
1632
|
+
requestHeaderSchema: le,
|
1633
|
+
pathResolver: ue,
|
1634
|
+
requestQuerySchema: da,
|
1635
|
+
successResponseBodySchema: ua
|
1636
|
+
}), pa = Q({
|
1495
1637
|
description: "Retrieve a project",
|
1496
|
-
|
1497
|
-
|
1498
|
-
|
1499
|
-
|
1638
|
+
requestHeaderSchema: le,
|
1639
|
+
requestPathParamsSchema: ma,
|
1640
|
+
pathResolver: ({ project_id: e }) => `${ue()}/${e}`,
|
1641
|
+
successResponseBodySchema: de
|
1642
|
+
}), ba = qe({
|
1500
1643
|
description: "Update a project",
|
1644
|
+
requestHeaderSchema: le,
|
1501
1645
|
method: "put",
|
1502
|
-
requestPathParamsSchema:
|
1503
|
-
pathResolver: ({ project_id: e }) => `${
|
1504
|
-
requestBodySchema:
|
1505
|
-
successResponseBodySchema:
|
1646
|
+
requestPathParamsSchema: fa,
|
1647
|
+
pathResolver: ({ project_id: e }) => `${ue()}/${e}`,
|
1648
|
+
requestBodySchema: _a,
|
1649
|
+
successResponseBodySchema: de
|
1506
1650
|
});
|
1507
|
-
function
|
1508
|
-
return
|
1509
|
-
...
|
1510
|
-
mutationFn: (
|
1511
|
-
|
1651
|
+
function Wa(e, t, n = {}) {
|
1652
|
+
return Nt({
|
1653
|
+
...n,
|
1654
|
+
mutationFn: async (r) => W(e, ga, {
|
1655
|
+
headers: await t.resolve(),
|
1656
|
+
body: r
|
1512
1657
|
})
|
1513
1658
|
});
|
1514
1659
|
}
|
1515
|
-
const
|
1660
|
+
const Ja = {
|
1516
1661
|
projectIdKey: (e) => ["listProjectLanguages", e]
|
1517
1662
|
};
|
1518
|
-
function
|
1663
|
+
function Qa(e, t, n) {
|
1519
1664
|
return B({
|
1520
|
-
...
|
1521
|
-
queryFn: ({ queryKey: [
|
1522
|
-
|
1665
|
+
...n,
|
1666
|
+
queryFn: async ({ queryKey: [r, s] }) => J(e, aa, {
|
1667
|
+
headers: await t.resolve(),
|
1668
|
+
pathParams: { projectId: s }
|
1523
1669
|
})
|
1524
1670
|
});
|
1525
1671
|
}
|
1526
|
-
const
|
1672
|
+
const Ya = {
|
1527
1673
|
paramsKey: (e) => ["listProjects", e]
|
1528
1674
|
};
|
1529
|
-
function
|
1675
|
+
function Va(e, t, n) {
|
1530
1676
|
return B({
|
1531
|
-
...
|
1532
|
-
queryFn: ({ queryKey: [
|
1533
|
-
|
1677
|
+
...n,
|
1678
|
+
queryFn: async ({ queryKey: [r, s] }) => J(e, ha, {
|
1679
|
+
headers: await t.resolve(),
|
1680
|
+
queryParams: s
|
1534
1681
|
})
|
1535
1682
|
});
|
1536
1683
|
}
|
1537
|
-
const
|
1684
|
+
const Xa = {
|
1538
1685
|
projectIdKey: (e) => ["retrieveProject", e]
|
1539
1686
|
};
|
1540
|
-
function
|
1687
|
+
function Za(e, t, n) {
|
1541
1688
|
return B({
|
1542
|
-
...
|
1543
|
-
queryFn: ({ queryKey: [
|
1544
|
-
|
1689
|
+
...n,
|
1690
|
+
queryFn: async ({ queryKey: [r, s] }) => J(e, pa, {
|
1691
|
+
headers: await t.resolve(),
|
1692
|
+
pathParams: { project_id: s }
|
1545
1693
|
})
|
1546
1694
|
});
|
1547
1695
|
}
|
1548
|
-
function
|
1549
|
-
return
|
1550
|
-
...
|
1551
|
-
mutationFn: (
|
1552
|
-
|
1553
|
-
|
1696
|
+
function es(e, t, n, r = {}) {
|
1697
|
+
return Nt({
|
1698
|
+
...r,
|
1699
|
+
mutationFn: async (s) => W(e, ba, {
|
1700
|
+
headers: await t.resolve(),
|
1701
|
+
body: s,
|
1702
|
+
pathParams: n
|
1554
1703
|
})
|
1555
1704
|
});
|
1556
1705
|
}
|
1557
1706
|
export {
|
1558
|
-
|
1559
|
-
|
1560
|
-
|
1561
|
-
|
1562
|
-
|
1563
|
-
|
1564
|
-
|
1565
|
-
|
1566
|
-
|
1567
|
-
|
1568
|
-
|
1569
|
-
|
1570
|
-
|
1571
|
-
|
1572
|
-
|
1573
|
-
|
1574
|
-
|
1575
|
-
|
1576
|
-
|
1577
|
-
|
1578
|
-
|
1579
|
-
|
1580
|
-
|
1581
|
-
|
1582
|
-
|
1583
|
-
|
1584
|
-
|
1585
|
-
|
1586
|
-
|
1587
|
-
|
1588
|
-
|
1589
|
-
|
1590
|
-
|
1591
|
-
|
1592
|
-
|
1593
|
-
|
1594
|
-
|
1595
|
-
|
1596
|
-
|
1597
|
-
|
1598
|
-
|
1599
|
-
|
1600
|
-
|
1601
|
-
|
1602
|
-
|
1603
|
-
|
1604
|
-
|
1605
|
-
|
1606
|
-
|
1607
|
-
|
1608
|
-
|
1609
|
-
|
1610
|
-
|
1611
|
-
|
1612
|
-
|
1613
|
-
|
1614
|
-
|
1615
|
-
|
1616
|
-
|
1707
|
+
Ua as Breadcrumbs,
|
1708
|
+
Ht as ENTERPRISE_OPENSOURCE_PLAN_ID,
|
1709
|
+
cr as ENTERPRISE_PLAN_IDS,
|
1710
|
+
sr as ESSENTIAL_PLAN_IDS,
|
1711
|
+
qt as FREE_PLAN_ID,
|
1712
|
+
A as HeaderBuilder,
|
1713
|
+
Ha as JwtAuthHeaderBuilderMiddleware,
|
1714
|
+
re as NavigationPanel,
|
1715
|
+
qa as NavigationTabs,
|
1716
|
+
ir as PRO_PLAN_IDS,
|
1717
|
+
Ba as PublicApiHeaderBuilderMiddleware,
|
1718
|
+
ar as START_PLAN_IDS,
|
1719
|
+
I as Sidebar,
|
1720
|
+
P as SidebarTaskLanguageStatuses,
|
1721
|
+
xe as SidebarTaskStatuses,
|
1722
|
+
te as SidebarTaskTypeOptions,
|
1723
|
+
or as TRIAL_PLAN_ID,
|
1724
|
+
ur as convertNewLineToBreakTag,
|
1725
|
+
Gt as createHeaderBuilderMiddleware,
|
1726
|
+
ga as createProject,
|
1727
|
+
gr as formatDate,
|
1728
|
+
Ma as formatDateTz,
|
1729
|
+
$a as generateTokenFromClassicSession,
|
1730
|
+
Da as getAuthenticatedSessionDetailFromRequest,
|
1731
|
+
Oo as getCsrfTokenFromCookie,
|
1732
|
+
Jt as getJwtTokenFromCookie,
|
1733
|
+
Go as getTeamUser,
|
1734
|
+
Ko as getTeamUsersQueryKey,
|
1735
|
+
$e as getUserToken,
|
1736
|
+
Bo as getUserTokenKey,
|
1737
|
+
La as isEnterpriseOpenSourcePlan,
|
1738
|
+
xa as isEnterprisePlan,
|
1739
|
+
Ra as isEssentialPlan,
|
1740
|
+
Be as isFreePlan,
|
1741
|
+
Oa as isPaidPlan,
|
1742
|
+
ja as isProPlan,
|
1743
|
+
Na as isStartPlan,
|
1744
|
+
Bt as isTrialPlan,
|
1745
|
+
aa as listProjectLanguages,
|
1746
|
+
Ja as listProjectLanguagesKey,
|
1747
|
+
ha as listProjects,
|
1748
|
+
Ya as listProjectsKey,
|
1749
|
+
_r as makeUrlClickable,
|
1750
|
+
ie as parseJwtTokenPayload,
|
1751
|
+
Fa as refreshExpiredToken,
|
1752
|
+
Vo as retrieveContributor,
|
1753
|
+
Xo as retrieveContributorKeys,
|
1754
|
+
pa as retrieveProject,
|
1755
|
+
Xa as retrieveProjectQueryKey,
|
1756
|
+
ba as updateProject,
|
1757
|
+
Ka as useAuthenticatedProjectContributor,
|
1758
|
+
Yt as useAuthenticatedSessionPayload,
|
1759
|
+
Ga as useAuthenticatedUser,
|
1760
|
+
Wa as useCreateProjectMutation,
|
1761
|
+
De as useEffectOnce,
|
1762
|
+
za as useGetPromotedClassicSessionJwtQuery,
|
1763
|
+
Wo as useGetTeamUsersQuery,
|
1764
|
+
Do as useGetUserTokenQuery,
|
1765
|
+
Qa as useListProjectLanguagesQuery,
|
1766
|
+
Va as useListProjectsQuery,
|
1767
|
+
Zo as useRetrieveContributorQuery,
|
1768
|
+
Za as useRetrieveProjectQuery,
|
1769
|
+
es as useUpdateProjectMutation
|
1617
1770
|
};
|