@lokalise/harmony 1.16.0 → 1.17.0

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