@lokalise/harmony 1.6.0-exp-jwtutils.14 → 1.6.0-exp-jwtutils.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/harmony.mjs CHANGED
@@ -1,89 +1,89 @@
1
- var It = Object.defineProperty;
2
- var Nt = (e, t, n) => t in e ? It(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
- var Ie = (e, t, n) => Nt(e, typeof t != "symbol" ? t + "" : t, n);
4
- import { jsx as o, jsxs as _, Fragment as Qe } from "react/jsx-runtime";
1
+ var Tt = Object.defineProperty;
2
+ var wt = (e, t, n) => t in e ? Tt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
+ var Ne = (e, t, n) => wt(e, typeof t != "symbol" ? t + "" : t, n);
4
+ import { jsx as i, jsxs as _, Fragment as Ve } from "react/jsx-runtime";
5
5
  import * as x from "react";
6
- import { useRef as Ve, useState as de, useCallback as Ne, useEffect as q, useContext as kt, createContext as St, cloneElement as Pt, Fragment as Ye, forwardRef as Et } from "react";
7
- import { Tooltip as me, Link as Ze, Menu as fe, MenuList as he, CaretUpIcon as Ct, UserIcon as Xe, MenuItem as G, MenuDivider as et, Tag as Rt } from "@lokalise/louis";
6
+ import { useRef as Ye, useState as de, useCallback as ke, useEffect as q, useContext as yt, createContext as It, cloneElement as Nt, Fragment as Ze, forwardRef as kt } from "react";
7
+ import { Tooltip as me, Link as Xe, Menu as fe, MenuList as he, CaretUpIcon as St, UserIcon as et, MenuItem as H, MenuDivider as tt, Tag as Et } from "@lokalise/louis";
8
8
  import { z as s } from "zod";
9
- import { sendByPayloadRoute as ge, sendByGetRoute as tt } from "@lokalise/frontend-http-client";
10
- import { buildPayloadRoute as jt } from "@lokalise/universal-ts-utils/api-contracts/apiContracts";
9
+ import { sendByGetRoute as nt, sendByPayloadRoute as ge } from "@lokalise/frontend-http-client";
10
+ import { buildPayloadRoute as Pt } from "@lokalise/universal-ts-utils/api-contracts/apiContracts";
11
11
  import { useQuery as be } from "@tanstack/react-query";
12
- import { buildGetRoute as nt } from "@lokalise/universal-ts-utils/node";
13
- import { format as rt } from "date-fns";
14
- import { toZonedTime as At } from "date-fns-tz";
12
+ import { buildGetRoute as rt } from "@lokalise/universal-ts-utils/node";
13
+ import { format as at } from "date-fns";
14
+ import { toZonedTime as Ct } from "date-fns-tz";
15
15
  var $ = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
16
- function at(e) {
16
+ function it(e) {
17
17
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
18
18
  }
19
- var J, ke;
19
+ var J, Se;
20
20
  function pe() {
21
- if (ke) return J;
22
- ke = 1;
21
+ if (Se) return J;
22
+ Se = 1;
23
23
  function e(t) {
24
24
  var n = typeof t;
25
25
  return t != null && (n == "object" || n == "function");
26
26
  }
27
27
  return J = e, J;
28
28
  }
29
- var Q, Se;
30
- function Lt() {
31
- if (Se) return Q;
32
- Se = 1;
29
+ var K, Ee;
30
+ function Rt() {
31
+ if (Ee) return K;
32
+ Ee = 1;
33
33
  var e = typeof $ == "object" && $ && $.Object === Object && $;
34
- return Q = e, Q;
34
+ return K = e, K;
35
35
  }
36
- var V, Pe;
36
+ var Q, Pe;
37
37
  function ot() {
38
- if (Pe) return V;
38
+ if (Pe) return Q;
39
39
  Pe = 1;
40
- var e = Lt(), t = typeof self == "object" && self && self.Object === Object && self, n = e || t || Function("return this")();
41
- return V = n, V;
40
+ var e = Rt(), t = typeof self == "object" && self && self.Object === Object && self, n = e || t || Function("return this")();
41
+ return Q = n, Q;
42
42
  }
43
- var Y, Ee;
44
- function Ot() {
45
- if (Ee) return Y;
46
- Ee = 1;
43
+ var V, Ce;
44
+ function jt() {
45
+ if (Ce) return V;
46
+ Ce = 1;
47
47
  var e = ot(), t = function() {
48
48
  return e.Date.now();
49
49
  };
50
- return Y = t, Y;
50
+ return V = t, V;
51
51
  }
52
- var Z, Ce;
53
- function xt() {
54
- if (Ce) return Z;
55
- Ce = 1;
52
+ var Y, Re;
53
+ function At() {
54
+ if (Re) return Y;
55
+ Re = 1;
56
56
  var e = /\s/;
57
57
  function t(n) {
58
58
  for (var r = n.length; r-- && e.test(n.charAt(r)); )
59
59
  ;
60
60
  return r;
61
61
  }
62
- return Z = t, Z;
62
+ return Y = t, Y;
63
63
  }
64
- var X, Re;
65
- function qt() {
66
- if (Re) return X;
67
- Re = 1;
68
- var e = xt(), t = /^\s+/;
64
+ var Z, je;
65
+ function Lt() {
66
+ if (je) return Z;
67
+ je = 1;
68
+ var e = At(), t = /^\s+/;
69
69
  function n(r) {
70
70
  return r && r.slice(0, e(r) + 1).replace(t, "");
71
71
  }
72
- return X = n, X;
72
+ return Z = n, Z;
73
73
  }
74
- var ee, je;
75
- function it() {
76
- if (je) return ee;
77
- je = 1;
74
+ var X, Ae;
75
+ function st() {
76
+ if (Ae) return X;
77
+ Ae = 1;
78
78
  var e = ot(), t = e.Symbol;
79
- return ee = t, ee;
79
+ return X = t, X;
80
80
  }
81
- var te, Ae;
82
- function Ut() {
83
- if (Ae) return te;
84
- Ae = 1;
85
- var e = it(), t = Object.prototype, n = t.hasOwnProperty, r = t.toString, a = e ? e.toStringTag : void 0;
86
- function i(c) {
81
+ var ee, Le;
82
+ function Ot() {
83
+ if (Le) return ee;
84
+ Le = 1;
85
+ var e = st(), t = Object.prototype, n = t.hasOwnProperty, r = t.toString, a = e ? e.toStringTag : void 0;
86
+ function o(c) {
87
87
  var u = n.call(c, a), d = c[a];
88
88
  try {
89
89
  c[a] = void 0;
@@ -93,52 +93,52 @@ function Ut() {
93
93
  var m = r.call(c);
94
94
  return l && (u ? c[a] = d : delete c[a]), m;
95
95
  }
96
- return te = i, te;
96
+ return ee = o, ee;
97
97
  }
98
- var ne, Le;
99
- function Mt() {
100
- if (Le) return ne;
101
- Le = 1;
98
+ var te, Oe;
99
+ function xt() {
100
+ if (Oe) return te;
101
+ Oe = 1;
102
102
  var e = Object.prototype, t = e.toString;
103
103
  function n(r) {
104
104
  return t.call(r);
105
105
  }
106
- return ne = n, ne;
106
+ return te = n, te;
107
107
  }
108
- var re, Oe;
109
- function Bt() {
110
- if (Oe) return re;
111
- Oe = 1;
112
- var e = it(), t = Ut(), n = Mt(), r = "[object Null]", a = "[object Undefined]", i = e ? e.toStringTag : void 0;
108
+ var ne, xe;
109
+ function qt() {
110
+ if (xe) return ne;
111
+ xe = 1;
112
+ var e = st(), t = Ot(), n = xt(), r = "[object Null]", a = "[object Undefined]", o = e ? e.toStringTag : void 0;
113
113
  function c(u) {
114
- return u == null ? u === void 0 ? a : r : i && i in Object(u) ? t(u) : n(u);
114
+ return u == null ? u === void 0 ? a : r : o && o in Object(u) ? t(u) : n(u);
115
115
  }
116
- return re = c, re;
116
+ return ne = c, ne;
117
117
  }
118
- var ae, xe;
119
- function $t() {
120
- if (xe) return ae;
121
- xe = 1;
118
+ var re, qe;
119
+ function Mt() {
120
+ if (qe) return re;
121
+ qe = 1;
122
122
  function e(t) {
123
123
  return t != null && typeof t == "object";
124
124
  }
125
- return ae = e, ae;
125
+ return re = e, re;
126
126
  }
127
- var oe, qe;
128
- function zt() {
129
- if (qe) return oe;
130
- qe = 1;
131
- var e = Bt(), t = $t(), n = "[object Symbol]";
127
+ var ae, Me;
128
+ function Ut() {
129
+ if (Me) return ae;
130
+ Me = 1;
131
+ var e = qt(), t = Mt(), n = "[object Symbol]";
132
132
  function r(a) {
133
133
  return typeof a == "symbol" || t(a) && e(a) == n;
134
134
  }
135
- return oe = r, oe;
135
+ return ae = r, ae;
136
136
  }
137
137
  var ie, Ue;
138
- function Dt() {
138
+ function Bt() {
139
139
  if (Ue) return ie;
140
140
  Ue = 1;
141
- var e = qt(), t = pe(), n = zt(), r = NaN, a = /^[-+]0x[0-9a-f]+$/i, i = /^0b[01]+$/i, c = /^0o[0-7]+$/i, u = parseInt;
141
+ var e = Lt(), t = pe(), n = Ut(), r = NaN, a = /^[-+]0x[0-9a-f]+$/i, o = /^0b[01]+$/i, c = /^0o[0-7]+$/i, u = parseInt;
142
142
  function d(l) {
143
143
  if (typeof l == "number")
144
144
  return l;
@@ -151,54 +151,54 @@ function Dt() {
151
151
  if (typeof l != "string")
152
152
  return l === 0 ? l : +l;
153
153
  l = e(l);
154
- var b = i.test(l);
154
+ var b = o.test(l);
155
155
  return b || c.test(l) ? u(l.slice(2), b ? 2 : 8) : a.test(l) ? r : +l;
156
156
  }
157
157
  return ie = d, ie;
158
158
  }
159
- var se, Me;
160
- function st() {
161
- if (Me) return se;
162
- Me = 1;
163
- var e = pe(), t = Ot(), n = Dt(), r = "Expected a function", a = Math.max, i = Math.min;
159
+ var oe, Be;
160
+ function ct() {
161
+ if (Be) return oe;
162
+ Be = 1;
163
+ var e = pe(), t = jt(), n = Bt(), r = "Expected a function", a = Math.max, o = Math.min;
164
164
  function c(u, d, l) {
165
165
  var m, b, T, w, g, y, N = 0, S = !1, h = !1, k = !0;
166
166
  if (typeof u != "function")
167
167
  throw new TypeError(r);
168
168
  d = n(d) || 0, e(l) && (S = !!l.leading, h = "maxWait" in l, T = h ? a(n(l.maxWait) || 0, d) : T, k = "trailing" in l ? !!l.trailing : k);
169
169
  function v(f) {
170
- var P = m, O = b;
171
- return m = b = void 0, N = f, w = u.apply(O, P), w;
170
+ var E = m, O = b;
171
+ return m = b = void 0, N = f, w = u.apply(O, E), w;
172
172
  }
173
173
  function p(f) {
174
174
  return N = f, g = setTimeout(B, d), S ? v(f) : w;
175
175
  }
176
- function M(f) {
177
- var P = f - y, O = f - N, ye = d - P;
178
- return h ? i(ye, T - O) : ye;
176
+ function U(f) {
177
+ var E = f - y, O = f - N, Ie = d - E;
178
+ return h ? o(Ie, T - O) : Ie;
179
179
  }
180
- function Te(f) {
181
- var P = f - y, O = f - N;
182
- return y === void 0 || P >= d || P < 0 || h && O >= T;
180
+ function we(f) {
181
+ var E = f - y, O = f - N;
182
+ return y === void 0 || E >= d || E < 0 || h && O >= T;
183
183
  }
184
184
  function B() {
185
185
  var f = t();
186
- if (Te(f))
187
- return we(f);
188
- g = setTimeout(B, M(f));
186
+ if (we(f))
187
+ return ye(f);
188
+ g = setTimeout(B, U(f));
189
189
  }
190
- function we(f) {
190
+ function ye(f) {
191
191
  return g = void 0, k && m ? v(f) : (m = b = void 0, w);
192
192
  }
193
- function wt() {
193
+ function _t() {
194
194
  g !== void 0 && clearTimeout(g), N = 0, m = y = b = g = void 0;
195
195
  }
196
- function yt() {
197
- return g === void 0 ? w : we(t());
196
+ function vt() {
197
+ return g === void 0 ? w : ye(t());
198
198
  }
199
- function K() {
200
- var f = t(), P = Te(f);
201
- if (m = arguments, b = this, y = f, P) {
199
+ function W() {
200
+ var f = t(), E = we(f);
201
+ if (m = arguments, b = this, y = f, E) {
202
202
  if (g === void 0)
203
203
  return p(y);
204
204
  if (h)
@@ -206,40 +206,40 @@ function st() {
206
206
  }
207
207
  return g === void 0 && (g = setTimeout(B, d)), w;
208
208
  }
209
- return K.cancel = wt, K.flush = yt, K;
209
+ return W.cancel = _t, W.flush = vt, W;
210
210
  }
211
- return se = c, se;
211
+ return oe = c, oe;
212
212
  }
213
- var Ft = st();
214
- const Ht = /* @__PURE__ */ at(Ft);
215
- var ce, Be;
216
- function Gt() {
217
- if (Be) return ce;
218
- Be = 1;
219
- var e = st(), t = pe(), n = "Expected a function";
220
- function r(a, i, c) {
213
+ var $t = ct();
214
+ const zt = /* @__PURE__ */ it($t);
215
+ var se, $e;
216
+ function Dt() {
217
+ if ($e) return se;
218
+ $e = 1;
219
+ var e = ct(), t = pe(), n = "Expected a function";
220
+ function r(a, o, c) {
221
221
  var u = !0, d = !0;
222
222
  if (typeof a != "function")
223
223
  throw new TypeError(n);
224
- return t(c) && (u = "leading" in c ? !!c.leading : u, d = "trailing" in c ? !!c.trailing : d), e(a, i, {
224
+ return t(c) && (u = "leading" in c ? !!c.leading : u, d = "trailing" in c ? !!c.trailing : d), e(a, o, {
225
225
  leading: u,
226
- maxWait: i,
226
+ maxWait: o,
227
227
  trailing: d
228
228
  });
229
229
  }
230
- return ce = r, ce;
230
+ return se = r, se;
231
231
  }
232
- var Wt = Gt();
233
- const Kt = /* @__PURE__ */ at(Wt), Jt = (e, t, n, r) => {
232
+ var Ft = Dt();
233
+ const Ht = /* @__PURE__ */ it(Ft), Gt = (e, t, n, r) => {
234
234
  switch (t) {
235
235
  case "debounce":
236
- return Ht(e, n, r);
236
+ return zt(e, n, r);
237
237
  case "throttle":
238
- return Kt(e, n, r);
238
+ return Ht(e, n, r);
239
239
  default:
240
240
  return e;
241
241
  }
242
- }, Qt = (
242
+ }, Wt = (
243
243
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
244
244
  (e) => {
245
245
  const t = x.useRef(e);
@@ -250,7 +250,7 @@ const Kt = /* @__PURE__ */ at(Wt), Jt = (e, t, n, r) => {
250
250
  return (r = t.current) === null || r === void 0 ? void 0 : r.call(t, ...n);
251
251
  }, []);
252
252
  }
253
- ), Vt = (
253
+ ), Jt = (
254
254
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
255
255
  (e) => {
256
256
  const [t, n] = x.useState((e == null ? void 0 : e.current) || null);
@@ -259,15 +259,15 @@ const Kt = /* @__PURE__ */ at(Wt), Jt = (e, t, n, r) => {
259
259
  }, 0), { refProxy: x.useMemo(() => new Proxy((a) => {
260
260
  a !== t && n(a);
261
261
  }, {
262
- get(a, i) {
263
- return i === "current" ? t : a[i];
262
+ get(a, o) {
263
+ return o === "current" ? t : a[o];
264
264
  },
265
- set(a, i, c) {
266
- return i === "current" ? n(c) : a[i] = c, !0;
265
+ set(a, o, c) {
266
+ return o === "current" ? n(c) : a[o] = c, !0;
267
267
  }
268
268
  }), [t]), refElement: t, setRefElement: n };
269
269
  }
270
- ), Yt = (e, t) => t === "border-box" ? {
270
+ ), Kt = (e, t) => t === "border-box" ? {
271
271
  width: e.borderBoxSize[0].inlineSize,
272
272
  height: e.borderBoxSize[0].blockSize
273
273
  } : t === "content-box" ? {
@@ -277,27 +277,27 @@ const Kt = /* @__PURE__ */ at(Wt), Jt = (e, t, n, r) => {
277
277
  width: e.contentRect.width,
278
278
  height: e.contentRect.height
279
279
  };
280
- function Zt({ skipOnMount: e = !1, refreshMode: t, refreshRate: n = 1e3, refreshOptions: r, handleWidth: a = !0, handleHeight: i = !0, targetRef: c, observerOptions: u, onResize: d } = {}) {
281
- const l = Ve(e), m = Qt(d), [b, T] = de({
280
+ function Qt({ skipOnMount: e = !1, refreshMode: t, refreshRate: n = 1e3, refreshOptions: r, handleWidth: a = !0, handleHeight: o = !0, targetRef: c, observerOptions: u, onResize: d } = {}) {
281
+ const l = Ye(e), m = Wt(d), [b, T] = de({
282
282
  width: void 0,
283
283
  height: void 0
284
- }), { refProxy: w, refElement: g } = Vt(c), { box: y } = u || {}, N = Ne((h) => {
285
- if (!a && !i)
284
+ }), { refProxy: w, refElement: g } = Jt(c), { box: y } = u || {}, N = ke((h) => {
285
+ if (!a && !o)
286
286
  return;
287
287
  if (l.current) {
288
288
  l.current = !1;
289
289
  return;
290
290
  }
291
- const k = (v, p) => a && v.width !== p.width || i && v.height !== p.height;
291
+ const k = (v, p) => a && v.width !== p.width || o && v.height !== p.height;
292
292
  h.forEach((v) => {
293
- const p = Yt(v, y);
294
- T((M) => k(M, p) ? (m == null || m({
293
+ const p = Kt(v, y);
294
+ T((U) => k(U, p) ? (m == null || m({
295
295
  width: p.width,
296
296
  height: p.height,
297
297
  entry: v
298
- }), p) : M);
298
+ }), p) : U);
299
299
  });
300
- }, [a, i, l, y]), S = Ne(Jt(N, t, n, r), [
300
+ }, [a, o, l, y]), S = ke(Gt(N, t, n, r), [
301
301
  N,
302
302
  t,
303
303
  n,
@@ -315,38 +315,38 @@ function Zt({ skipOnMount: e = !1, refreshMode: t, refreshRate: n = 1e3, refresh
315
315
  };
316
316
  }, [S, g]), Object.assign({ ref: w }, b);
317
317
  }
318
- function ct(e) {
318
+ function lt(e) {
319
319
  var t, n, r = "";
320
320
  if (typeof e == "string" || typeof e == "number") r += e;
321
321
  else if (typeof e == "object") if (Array.isArray(e)) {
322
322
  var a = e.length;
323
- for (t = 0; t < a; t++) e[t] && (n = ct(e[t])) && (r && (r += " "), r += n);
323
+ for (t = 0; t < a; t++) e[t] && (n = lt(e[t])) && (r && (r += " "), r += n);
324
324
  } else for (n in e) e[n] && (r && (r += " "), r += n);
325
325
  return r;
326
326
  }
327
327
  function R() {
328
- for (var e, t, n = 0, r = "", a = arguments.length; n < a; n++) (e = arguments[n]) && (t = ct(e)) && (r && (r += " "), r += t);
328
+ for (var e, t, n = 0, r = "", a = arguments.length; n < a; n++) (e = arguments[n]) && (t = lt(e)) && (r && (r += " "), r += t);
329
329
  return r;
330
330
  }
331
- const Xt = "_headerContainer_1cubo_1", en = "_navigationTabList_1cubo_8", tn = "_navigationTab_1cubo_8", nn = "_headerContent_1cubo_34", rn = "_staticEnabled_1cubo_50", A = {
332
- headerContainer: Xt,
333
- navigationTabList: en,
334
- navigationTab: tn,
335
- headerContent: nn,
336
- staticEnabled: rn
337
- }, an = 77, D = ({ sticky: e, children: t }) => {
338
- const { ref: n, height: r } = Zt({
331
+ const Vt = "_headerContainer_1cubo_1", Yt = "_navigationTabList_1cubo_8", Zt = "_navigationTab_1cubo_8", Xt = "_headerContent_1cubo_34", en = "_staticEnabled_1cubo_50", A = {
332
+ headerContainer: Vt,
333
+ navigationTabList: Yt,
334
+ navigationTab: Zt,
335
+ headerContent: Xt,
336
+ staticEnabled: en
337
+ }, tn = 77, D = ({ sticky: e, children: t }) => {
338
+ const { ref: n, height: r } = Qt({
339
339
  refreshMode: "debounce",
340
340
  refreshRate: 0
341
- }), [a, i] = de(!1), c = () => a ? !e : !0;
341
+ }), [a, o] = de(!1), c = () => a ? !e : !0;
342
342
  q(() => {
343
343
  const d = () => {
344
- i(window.scrollY > 0);
344
+ o(window.scrollY > 0);
345
345
  };
346
346
  return window.addEventListener("scroll", d), () => window.removeEventListener("scroll", d);
347
347
  }, []);
348
- const u = `${r || an}px`;
349
- return /* @__PURE__ */ o("div", { style: { minHeight: u }, children: /* @__PURE__ */ o("div", { children: /* @__PURE__ */ _(
348
+ const u = `${r || tn}px`;
349
+ return /* @__PURE__ */ i("div", { style: { minHeight: u }, children: /* @__PURE__ */ i("div", { children: /* @__PURE__ */ _(
350
350
  "div",
351
351
  {
352
352
  ref: n,
@@ -354,110 +354,110 @@ const Xt = "_headerContainer_1cubo_1", en = "_navigationTabList_1cubo_8", tn = "
354
354
  [A.staticEnabled]: c()
355
355
  }),
356
356
  children: [
357
- /* @__PURE__ */ o(D.Header, {}),
358
- /* @__PURE__ */ o(D.Tabs, {}),
357
+ /* @__PURE__ */ i(D.Header, {}),
358
+ /* @__PURE__ */ i(D.Tabs, {}),
359
359
  t
360
360
  ]
361
361
  }
362
362
  ) }) });
363
363
  };
364
- D.Header = ({ children: e }) => /* @__PURE__ */ o("div", { className: A.headerContainer, children: e });
365
- D.Tabs = ({ children: e }) => /* @__PURE__ */ o("div", { className: "flex justify-between gap-2 nowrap", children: e });
366
- const on = "_sidebarContainer_bmdti_1", sn = {
367
- sidebarContainer: on
368
- }, cn = "_logoLink_1baxb_1", ln = {
369
- logoLink: cn
370
- }, un = ({ src: e, href: t = "/", ariaLabel: n = "Home", alt: r = "Lokalise" }) => /* @__PURE__ */ o("a", { className: ln.logoLink, href: t, "aria-label": n, children: /* @__PURE__ */ o("img", { src: e, alt: r }) }), dn = "_link_1weq1_1", mn = "_active_1weq1_18", $e = {
371
- link: dn,
372
- active: mn
373
- }, fn = ({ label: e, to: t, icon: n }) => /* @__PURE__ */ o(me, { placement: "right", tooltip: e, children: /* @__PURE__ */ o(
374
- Ze,
364
+ D.Header = ({ children: e }) => /* @__PURE__ */ i("div", { className: A.headerContainer, children: e });
365
+ D.Tabs = ({ children: e }) => /* @__PURE__ */ i("div", { className: "flex justify-between gap-2 nowrap", children: e });
366
+ const nn = "_sidebarContainer_bmdti_1", rn = {
367
+ sidebarContainer: nn
368
+ }, an = "_logoLink_1baxb_1", on = {
369
+ logoLink: an
370
+ }, sn = ({ src: e, href: t = "/", ariaLabel: n = "Home", alt: r = "Lokalise" }) => /* @__PURE__ */ i("a", { className: on.logoLink, href: t, "aria-label": n, children: /* @__PURE__ */ i("img", { src: e, alt: r }) }), cn = "_link_1weq1_1", ln = "_active_1weq1_18", ze = {
371
+ link: cn,
372
+ active: ln
373
+ }, un = ({ label: e, to: t, icon: n }) => /* @__PURE__ */ i(me, { placement: "right", tooltip: e, children: /* @__PURE__ */ i(
374
+ Xe,
375
375
  {
376
- className: R($e.link, {
377
- [$e.active]: window.location.pathname.startsWith(t)
376
+ className: R(ze.link, {
377
+ [ze.active]: window.location.pathname.startsWith(t)
378
378
  }),
379
379
  href: t,
380
- children: /* @__PURE__ */ o(n, { size: "25px" })
380
+ children: /* @__PURE__ */ i(n, { size: "25px" })
381
381
  }
382
- ) }), hn = "_dropdownButton_hwh0c_1", gn = "_dropdownButtonActive_hwh0c_18", ze = {
383
- dropdownButton: hn,
384
- dropdownButtonActive: gn
385
- }, bn = ({ children: e, icon: t }) => /* @__PURE__ */ o(
382
+ ) }), dn = "_dropdownButton_hwh0c_1", mn = "_dropdownButtonActive_hwh0c_18", De = {
383
+ dropdownButton: dn,
384
+ dropdownButtonActive: mn
385
+ }, fn = ({ children: e, icon: t }) => /* @__PURE__ */ i(
386
386
  fe,
387
387
  {
388
- menuButton: ({ opened: n }) => /* @__PURE__ */ o(me, { placement: "right", tooltip: "Help", children: /* @__PURE__ */ o(
388
+ menuButton: ({ opened: n }) => /* @__PURE__ */ i(me, { placement: "right", tooltip: "Help", children: /* @__PURE__ */ i(
389
389
  "button",
390
390
  {
391
391
  type: "button",
392
- className: R(ze.dropdownButton, {
393
- [ze.dropdownButtonActive]: n
392
+ className: R(De.dropdownButton, {
393
+ [De.dropdownButtonActive]: n
394
394
  }),
395
- children: /* @__PURE__ */ o(t, { size: "25px" })
395
+ children: /* @__PURE__ */ i(t, { size: "25px" })
396
396
  }
397
397
  ) }),
398
- children: /* @__PURE__ */ o(he, { placement: "right-start", children: e })
398
+ children: /* @__PURE__ */ i(he, { placement: "right-start", children: e })
399
399
  }
400
- ), pn = "_iconContainer_nz34m_1", _n = {
401
- iconContainer: pn
402
- }, lt = ({ className: e = "" }) => /* @__PURE__ */ o(
400
+ ), hn = "_iconContainer_nz34m_1", gn = {
401
+ iconContainer: hn
402
+ }, ut = ({ className: e = "" }) => /* @__PURE__ */ i(
403
403
  "div",
404
404
  {
405
405
  "aria-label": "Upgrade Icon",
406
406
  className: R(
407
- _n.iconContainer,
407
+ gn.iconContainer,
408
408
  "flex-row",
409
409
  "items-center",
410
410
  "justify-center",
411
411
  e
412
412
  ),
413
- children: /* @__PURE__ */ o(Ct, {})
413
+ children: /* @__PURE__ */ i(St, {})
414
414
  }
415
- ), vn = "_menuContainer_wbu3u_5", Tn = "_profileButton_wbu3u_16", wn = "_profileImage_wbu3u_29", yn = "_profileImageHighlight_wbu3u_37", In = "_profileImageUpgradeIcon_wbu3u_41", Nn = "_userIconWrapper_wbu3u_47", E = {
416
- menuContainer: vn,
417
- profileButton: Tn,
418
- profileImage: wn,
419
- profileImageHighlight: yn,
420
- profileImageUpgradeIcon: In,
421
- userIconWrapper: Nn
422
- }, ut = St({}), U = () => kt(ut), kn = ({ children: e }) => {
415
+ ), bn = "_menuContainer_wbu3u_5", pn = "_profileButton_wbu3u_16", _n = "_profileImage_wbu3u_29", vn = "_profileImageHighlight_wbu3u_37", Tn = "_profileImageUpgradeIcon_wbu3u_41", wn = "_userIconWrapper_wbu3u_47", P = {
416
+ menuContainer: bn,
417
+ profileButton: pn,
418
+ profileImage: _n,
419
+ profileImageHighlight: vn,
420
+ profileImageUpgradeIcon: Tn,
421
+ userIconWrapper: wn
422
+ }, dt = It({}), M = () => yt(dt), yn = ({ children: e }) => {
423
423
  const {
424
424
  currentTeam: t,
425
425
  otherTeams: n,
426
426
  showUpgradeCta: r,
427
427
  showBillingButton: a,
428
- allowTeamCreation: i,
428
+ allowTeamCreation: o,
429
429
  isLimitedView: c,
430
430
  isProviderAlpha: u,
431
431
  canAccessTeamSettings: d,
432
432
  isEndOfTrialActive: l,
433
433
  isTeamSuspended: m
434
- } = U();
435
- return /* @__PURE__ */ o(
434
+ } = M();
435
+ return /* @__PURE__ */ i(
436
436
  fe,
437
437
  {
438
- menuButton: () => /* @__PURE__ */ _("button", { className: E.profileButton, "aria-label": "Profile menu", type: "button", children: [
439
- t != null && t.logoUrl ? /* @__PURE__ */ o(
438
+ menuButton: () => /* @__PURE__ */ _("button", { className: P.profileButton, "aria-label": "Profile menu", type: "button", children: [
439
+ t != null && t.logoUrl ? /* @__PURE__ */ i(
440
440
  "img",
441
441
  {
442
442
  src: t.logoUrl,
443
- className: R(E.profileImage, {
444
- [E.profileImageHighlight]: r
443
+ className: R(P.profileImage, {
444
+ [P.profileImageHighlight]: r
445
445
  }),
446
446
  alt: "Team Logo"
447
447
  }
448
- ) : /* @__PURE__ */ o(
448
+ ) : /* @__PURE__ */ i(
449
449
  "div",
450
450
  {
451
- className: R(E.userIconWrapper, "flex-row", "align-center", "items-center", {
452
- [E.profileImageHighlight]: r
451
+ className: R(P.userIconWrapper, "flex-row", "align-center", "items-center", {
452
+ [P.profileImageHighlight]: r
453
453
  }),
454
- children: /* @__PURE__ */ o(Xe, { size: "25px" })
454
+ children: /* @__PURE__ */ i(et, { size: "25px" })
455
455
  }
456
456
  ),
457
- r && /* @__PURE__ */ o(lt, { className: E.profileImageUpgradeIcon })
457
+ r && /* @__PURE__ */ i(ut, { className: P.profileImageUpgradeIcon })
458
458
  ] }),
459
- children: /* @__PURE__ */ o(he, { placement: "right-end", className: E.menuContainer, children: e({
460
- allowTeamCreation: i,
459
+ children: /* @__PURE__ */ i(he, { placement: "right-end", className: P.menuContainer, children: e({
460
+ allowTeamCreation: o,
461
461
  otherTeams: n,
462
462
  isLimitedView: c,
463
463
  canAccessTeamSettings: d,
@@ -468,154 +468,154 @@ const on = "_sidebarContainer_bmdti_1", sn = {
468
468
  }) })
469
469
  }
470
470
  );
471
- }, dt = 0, Sn = 9999, Pn = [150, 151, 250, 251], En = [152, 153, 252, 253], Cn = [154, 155, 157, 158, 254, 255, 258, 354, 355, 358], Rn = [156, 159, 160, 256, 259, 260], mt = 9998, _e = (e) => e === dt, ft = (e) => e === Sn, Ur = (e) => Pn.includes(e), Mr = (e) => En.includes(e), Br = (e) => Cn.includes(e), $r = (e) => Rn.includes(e), zr = (e) => e > dt && e < mt, Dr = (e) => e === mt, jn = /\n/, De = (e, t, n) => e.split(t).flatMap((r, a) => a !== 0 ? [Pt(n, { key: Math.random().toString(32).slice(0, 10) }), r] : r), An = (e, t, n) => typeof e == "string" ? De(e, t, n) : e.flatMap((r) => typeof r == "string" ? De(r, t, n) : r), Fr = (e) => An(e, jn, /* @__PURE__ */ o("br", {})), Ln = /(\b(https?|):\/\/[-a-zA-Zа-яА-Я0-9+&@#/%?=~_|!:,.;]*[-a-zA-Zа-яА-Я0-9+&@#/%=~_|])/gi, On = (e) => e.match(Ln) ?? [], Fe = (e, t, n) => {
471
+ }, mt = 0, In = 9999, Nn = [150, 151, 250, 251], kn = [152, 153, 252, 253], Sn = [154, 155, 157, 158, 254, 255, 258, 354, 355, 358], En = [156, 159, 160, 256, 259, 260], ft = 9998, _e = (e) => e === mt, ht = (e) => e === In, Mr = (e) => Nn.includes(e), Ur = (e) => kn.includes(e), Br = (e) => Sn.includes(e), $r = (e) => En.includes(e), zr = (e) => e > mt && e < ft, Dr = (e) => e === ft, Pn = /\n/, Fe = (e, t, n) => e.split(t).flatMap((r, a) => a !== 0 ? [Nt(n, { key: Math.random().toString(32).slice(0, 10) }), r] : r), Cn = (e, t, n) => typeof e == "string" ? Fe(e, t, n) : e.flatMap((r) => typeof r == "string" ? Fe(r, t, n) : r), Fr = (e) => Cn(e, Pn, /* @__PURE__ */ i("br", {})), Rn = /(\b(https?|):\/\/[-a-zA-Zа-яА-Я0-9+&@#/%?=~_|!:,.;]*[-a-zA-Zа-яА-Я0-9+&@#/%=~_|])/gi, jn = (e) => e.match(Rn) ?? [], He = (e, t, n) => {
472
472
  const r = e.split(t);
473
473
  if (r.length === 1)
474
474
  return e;
475
475
  const a = [];
476
476
  return r[0] !== "" && a.push(r[0]), r.shift(), r[r.length - 1] === "" && r.pop(), a.push(
477
- /* @__PURE__ */ o("a", { href: t, target: "_blank", rel: "noreferrer noopener", children: t }, t + n)
478
- ), a.push(r.join(t)), a.filter((i) => i !== "");
479
- }, He = (e) => {
480
- const t = On(e);
481
- return t != null && t.length ? t.reduce((n, r, a) => typeof n == "string" ? Fe(n, r, a) : n.flatMap((i) => typeof i == "string" ? Fe(i, r, a) : i), e) : e;
482
- }, Hr = (e) => typeof e == "string" ? He(e) : e.flatMap((t) => typeof t == "string" ? He(t) : t, e), Gr = (e, t = "PP") => rt(e, t), Wr = (e, t, n = "PP") => rt(At(e, t), n), Kr = (e) => {
477
+ /* @__PURE__ */ i("a", { href: t, target: "_blank", rel: "noreferrer noopener", children: t }, t + n)
478
+ ), a.push(r.join(t)), a.filter((o) => o !== "");
479
+ }, Ge = (e) => {
480
+ const t = jn(e);
481
+ return t != null && t.length ? t.reduce((n, r, a) => typeof n == "string" ? He(n, r, a) : n.flatMap((o) => typeof o == "string" ? He(o, r, a) : o), e) : e;
482
+ }, Hr = (e) => typeof e == "string" ? Ge(e) : e.flatMap((t) => typeof t == "string" ? Ge(t) : t, e), Gr = (e, t = "PP") => at(e, t), Wr = (e, t, n = "PP") => at(Ct(e, t), n), Jr = (e) => {
483
483
  q(e, []);
484
- }, xn = ({ children: e, config: t }) => {
484
+ }, An = ({ children: e, config: t }) => {
485
485
  const {
486
486
  teams: n,
487
487
  currentTeamId: r,
488
488
  planId: a,
489
- isLimitedView: i,
489
+ isLimitedView: o,
490
490
  isTeamSuspended: c,
491
491
  canAccessTeamSettings: u,
492
492
  isEndOfTrialActive: d
493
- } = t, l = n.find((h) => h.id === r), m = n.filter((h) => h.id !== r), b = (l == null ? void 0 : l.role) ?? "", T = ["biller", "owner"].includes(b), w = _e(a) || ft(a), S = {
493
+ } = t, l = n.find((h) => h.id === r), m = n.filter((h) => h.id !== r), b = (l == null ? void 0 : l.role) ?? "", T = ["biller", "owner"].includes(b), w = _e(a) || ht(a), S = {
494
494
  ...t,
495
495
  currentTeam: l,
496
496
  otherTeams: m,
497
497
  canChangeBilling: T,
498
498
  isOnFreeOrTrialPlan: w,
499
- showUpgradeCta: !i && w && T && !c,
500
- showBillingButton: !i && u && T,
501
- allowTeamCreation: !i && !d
499
+ showUpgradeCta: !o && w && T && !c,
500
+ showBillingButton: !o && u && T,
501
+ allowTeamCreation: !o && !d
502
502
  };
503
- return /* @__PURE__ */ o(ut.Provider, { value: S, children: e });
504
- }, qn = ({ config: e, children: t }) => /* @__PURE__ */ o(xn, { config: e, children: /* @__PURE__ */ o(kn, { children: t }) }), Un = "_container_q5pot_1", Mn = "_profileEmail_q5pot_5", Ge = {
505
- container: Un,
506
- profileEmail: Mn
507
- }, Bn = ({
503
+ return /* @__PURE__ */ i(dt.Provider, { value: S, children: e });
504
+ }, Ln = ({ config: e, children: t }) => /* @__PURE__ */ i(An, { config: e, children: /* @__PURE__ */ i(yn, { children: t }) }), On = "_container_q5pot_1", xn = "_profileEmail_q5pot_5", We = {
505
+ container: On,
506
+ profileEmail: xn
507
+ }, qn = ({
508
508
  href: e,
509
509
  onClick: t,
510
510
  userEmail: n,
511
511
  hideBottomDivider: r
512
512
  }) => {
513
- const { isEndOfTrialActive: a, isTeamSuspended: i } = U();
514
- return a || i ? null : /* @__PURE__ */ _(Qe, { children: [
515
- /* @__PURE__ */ o(
516
- G,
513
+ const { isEndOfTrialActive: a, isTeamSuspended: o } = M();
514
+ return a || o ? null : /* @__PURE__ */ _(Ve, { children: [
515
+ /* @__PURE__ */ i(
516
+ H,
517
517
  {
518
518
  href: e,
519
519
  onClick: () => {
520
520
  t == null || t();
521
521
  },
522
- children: /* @__PURE__ */ _("div", { className: `flex-col ${Ge.container}`, children: [
523
- /* @__PURE__ */ o("span", { children: "Profile Settings" }),
524
- /* @__PURE__ */ o("span", { className: Ge.profileEmail, children: n })
522
+ children: /* @__PURE__ */ _("div", { className: `flex-col ${We.container}`, children: [
523
+ /* @__PURE__ */ i("span", { children: "Profile Settings" }),
524
+ /* @__PURE__ */ i("span", { className: We.profileEmail, children: n })
525
525
  ] })
526
526
  }
527
527
  ),
528
- !r && /* @__PURE__ */ o(et, {})
528
+ !r && /* @__PURE__ */ i(tt, {})
529
529
  ] });
530
- }, $n = "_wrapper_15d85_1", zn = "_profileImage_15d85_14", Dn = "_teamName_15d85_22", Fn = "_planLabel_15d85_29", Hn = "_membership_15d85_38", Gn = "_defaultProfileImage_15d85_44", j = {
531
- wrapper: $n,
532
- profileImage: zn,
533
- teamName: Dn,
534
- planLabel: Fn,
535
- membership: Hn,
536
- defaultProfileImage: Gn
537
- }, ht = ({ team: e, onClick: t, hidePlanLabel: n }) => {
538
- const { currentTeam: r, planId: a } = U(), i = e || r;
539
- if (!i)
530
+ }, Mn = "_wrapper_15d85_1", Un = "_profileImage_15d85_14", Bn = "_teamName_15d85_22", $n = "_planLabel_15d85_29", zn = "_membership_15d85_38", Dn = "_defaultProfileImage_15d85_44", j = {
531
+ wrapper: Mn,
532
+ profileImage: Un,
533
+ teamName: Bn,
534
+ planLabel: $n,
535
+ membership: zn,
536
+ defaultProfileImage: Dn
537
+ }, gt = ({ team: e, onClick: t, hidePlanLabel: n }) => {
538
+ const { currentTeam: r, planId: a } = M(), o = e || r;
539
+ if (!o)
540
540
  return null;
541
- const c = _e(a) ? "Free" : ft(a) ? "Trial" : void 0;
541
+ const c = _e(a) ? "Free" : ht(a) ? "Trial" : void 0;
542
542
  return /* @__PURE__ */ _(
543
- t ? G : "div",
543
+ t ? H : "div",
544
544
  {
545
545
  className: `flex-row gap-2 flex-nowrap items-center ${j.wrapper}`,
546
- ...t && { onClick: () => t(i) },
546
+ ...t && { onClick: () => t(o) },
547
547
  children: [
548
- i.logoUrl ? /* @__PURE__ */ o("img", { className: j.profileImage, src: i.logoUrl, alt: "Team Logo" }) : /* @__PURE__ */ o("span", { className: `flex-row justify-center items-center ${j.defaultProfileImage}`, children: /* @__PURE__ */ o(Xe, { size: "25px" }) }),
548
+ o.logoUrl ? /* @__PURE__ */ i("img", { className: j.profileImage, src: o.logoUrl, alt: "Team Logo" }) : /* @__PURE__ */ i("span", { className: `flex-row justify-center items-center ${j.defaultProfileImage}`, children: /* @__PURE__ */ i(et, { size: "25px" }) }),
549
549
  /* @__PURE__ */ _("div", { className: "flex-col items-start", children: [
550
550
  /* @__PURE__ */ _("div", { className: "flex-row items-center flex-nowrap gap-2", children: [
551
- /* @__PURE__ */ o("span", { title: i.name, className: j.teamName, children: i.name }),
552
- c && !n && /* @__PURE__ */ o("span", { className: `flex-row justify-center items-center ${j.planLabel}`, children: c })
551
+ /* @__PURE__ */ i("span", { title: o.name, className: j.teamName, children: o.name }),
552
+ c && !n && /* @__PURE__ */ i("span", { className: `flex-row justify-center items-center ${j.planLabel}`, children: c })
553
553
  ] }),
554
- /* @__PURE__ */ o("span", { className: j.membership, children: i.role })
554
+ /* @__PURE__ */ i("span", { className: j.membership, children: o.role })
555
555
  ] })
556
556
  ]
557
557
  }
558
558
  );
559
- }, Wn = "_teamsContainer_1t68g_1", Kn = {
560
- teamsContainer: Wn
561
- }, Jn = ({ onSwitchTeam: e }) => {
562
- const { otherTeams: t } = U();
563
- return t.length === 0 ? null : /* @__PURE__ */ o("div", { className: `flex-col items-stretch ${Kn.teamsContainer}`, children: t.map((n) => /* @__PURE__ */ o(ht, { team: n, onClick: e, hidePlanLabel: !0 }, n.id)) });
564
- }, Qn = "_container_1u995_1", Vn = "_planCta_1u995_15", Yn = "_upgradeIconWrapper_1u995_19", le = {
565
- container: Qn,
566
- planCta: Vn,
567
- upgradeIconWrapper: Yn
568
- }, Zn = ({ upgradeOptionHref: e }) => {
569
- const { planId: t, trialDaysLeft: n, showUpgradeCta: r } = U();
559
+ }, Fn = "_teamsContainer_1t68g_1", Hn = {
560
+ teamsContainer: Fn
561
+ }, Gn = ({ onSwitchTeam: e }) => {
562
+ const { otherTeams: t } = M();
563
+ return t.length === 0 ? null : /* @__PURE__ */ i("div", { className: `flex-col items-stretch ${Hn.teamsContainer}`, children: t.map((n) => /* @__PURE__ */ i(gt, { team: n, onClick: e, hidePlanLabel: !0 }, n.id)) });
564
+ }, Wn = "_container_1u995_1", Jn = "_planCta_1u995_15", Kn = "_upgradeIconWrapper_1u995_19", ce = {
565
+ container: Wn,
566
+ planCta: Jn,
567
+ upgradeIconWrapper: Kn
568
+ }, Qn = ({ upgradeOptionHref: e }) => {
569
+ const { planId: t, trialDaysLeft: n, showUpgradeCta: r } = M();
570
570
  if (!r)
571
571
  return null;
572
572
  const c = _e(t) ? "Your team is currently on the Free plan" : `Free trial ends in ${n} ${n === 1 ? "day" : "days"}`;
573
- return /* @__PURE__ */ _(G, { href: e, className: `flex-col gap-1 items-start ${le.container}`, children: [
574
- /* @__PURE__ */ o("span", { className: le.planCta, children: c }),
575
- /* @__PURE__ */ _("div", { className: `flex-row items-center gap-1 ${le.upgradeIconWrapper}`, children: [
576
- /* @__PURE__ */ o(lt, {}),
577
- /* @__PURE__ */ o("span", { children: "See upgrade options" })
573
+ return /* @__PURE__ */ _(H, { href: e, className: `flex-col gap-1 items-start ${ce.container}`, children: [
574
+ /* @__PURE__ */ i("span", { className: ce.planCta, children: c }),
575
+ /* @__PURE__ */ _("div", { className: `flex-row items-center gap-1 ${ce.upgradeIconWrapper}`, children: [
576
+ /* @__PURE__ */ i(ut, {}),
577
+ /* @__PURE__ */ i("span", { children: "See upgrade options" })
578
578
  ] })
579
579
  ] });
580
- }, I = ({ children: e, ...t }) => /* @__PURE__ */ o("nav", { ...t, className: sn.sidebarContainer, children: e });
581
- I.Top = ({ children: e }) => /* @__PURE__ */ o("div", { children: e });
582
- I.Bottom = ({ children: e }) => /* @__PURE__ */ o("div", { children: e });
583
- I.Avatar = un;
584
- I.IconLink = fn;
585
- I.Menu = bn;
586
- I.ProfileMenu = qn;
587
- I.TeamSwitch = Jn;
588
- I.TeamMenuItem = ht;
589
- I.UpgradeMenuItem = Zn;
590
- I.ProfileSettingsMenuItem = Bn;
591
- const Xn = "_breadcrumbsItem_1hm6a_1", er = "_breadcrumbs_1hm6a_1", We = {
592
- breadcrumbsItem: Xn,
593
- breadcrumbs: er
594
- }, Jr = ({ items: e }) => /* @__PURE__ */ o("nav", { "aria-label": "breadcrumb", className: We.breadcrumbs, children: e.map((t, n) => /* @__PURE__ */ _(Ye, { children: [
595
- /* @__PURE__ */ o(Ze, { className: We.breadcrumbsItem, href: t.link, rel: "noreferrer", children: t.name }),
596
- n < e.length - 1 && /* @__PURE__ */ o("span", { children: " — " })
597
- ] }, `${t.link}-${t.name}`)) }), tr = ({ items: e }) => /* @__PURE__ */ o(Qe, { children: e.map((t, n) => /* @__PURE__ */ _(Ye, { children: [
598
- !!n && t.some((r) => r.visible) && /* @__PURE__ */ o(et, {}),
599
- t.filter(({ visible: r }) => r).map(({ link: r, label: a, onClick: i }) => /* @__PURE__ */ o(G, { href: r || "#", "aria-label": a, onClick: i, children: a }, a))
600
- ] }, t[0].label)) }), nr = "_badge_1pc1v_1", rr = "_tag_1pc1v_15", ar = "_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21", or = "_disabled_1pc1v_57", ir = "_projectNavigationItem_1pc1v_61", sr = "_projectNavigationItemDisabled_1pc1v_67", C = {
601
- badge: nr,
602
- tag: rr,
603
- withNavLinkStyle: ar,
604
- disabled: or,
605
- projectNavigationItem: ir,
606
- projectNavigationItemDisabled: sr
580
+ }, I = ({ children: e, ...t }) => /* @__PURE__ */ i("nav", { ...t, className: rn.sidebarContainer, children: e });
581
+ I.Top = ({ children: e }) => /* @__PURE__ */ i("div", { children: e });
582
+ I.Bottom = ({ children: e }) => /* @__PURE__ */ i("div", { children: e });
583
+ I.Avatar = sn;
584
+ I.IconLink = un;
585
+ I.Menu = fn;
586
+ I.ProfileMenu = Ln;
587
+ I.TeamSwitch = Gn;
588
+ I.TeamMenuItem = gt;
589
+ I.UpgradeMenuItem = Qn;
590
+ I.ProfileSettingsMenuItem = qn;
591
+ const Vn = "_breadcrumbsItem_1hm6a_1", Yn = "_breadcrumbs_1hm6a_1", Je = {
592
+ breadcrumbsItem: Vn,
593
+ breadcrumbs: Yn
594
+ }, Kr = ({ items: e }) => /* @__PURE__ */ i("nav", { "aria-label": "breadcrumb", className: Je.breadcrumbs, children: e.map((t, n) => /* @__PURE__ */ _(Ze, { children: [
595
+ /* @__PURE__ */ i(Xe, { className: Je.breadcrumbsItem, href: t.link, rel: "noreferrer", children: t.name }),
596
+ n < e.length - 1 && /* @__PURE__ */ i("span", { children: " — " })
597
+ ] }, `${t.link}-${t.name}`)) }), Zn = ({ items: e }) => /* @__PURE__ */ i(Ve, { children: e.map((t, n) => /* @__PURE__ */ _(Ze, { children: [
598
+ !!n && t.some((r) => r.visible) && /* @__PURE__ */ i(tt, {}),
599
+ t.filter(({ visible: r }) => r).map(({ link: r, label: a, onClick: o }) => /* @__PURE__ */ i(H, { href: r || "#", "aria-label": a, onClick: o, children: a }, a))
600
+ ] }, t[0].label)) }), Xn = "_badge_1pc1v_1", er = "_tag_1pc1v_15", tr = "_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21", nr = "_disabled_1pc1v_57", rr = "_projectNavigationItem_1pc1v_61", ar = "_projectNavigationItemDisabled_1pc1v_67", C = {
601
+ badge: Xn,
602
+ tag: er,
603
+ withNavLinkStyle: tr,
604
+ disabled: nr,
605
+ projectNavigationItem: rr,
606
+ projectNavigationItemDisabled: ar
607
607
  }, Ke = ({ label: e, badge: t, novel: n }) => /* @__PURE__ */ _("div", { className: "flex gap-1", children: [
608
608
  /* @__PURE__ */ _("div", { children: [
609
- /* @__PURE__ */ o("span", { children: e }),
610
- !!t && /* @__PURE__ */ o("div", { className: C.badge, "aria-label": `${t} items requiring attention`, children: t > 9 ? "9+" : t })
609
+ /* @__PURE__ */ i("span", { children: e }),
610
+ !!t && /* @__PURE__ */ i("div", { className: C.badge, "aria-label": `${t} items requiring attention`, children: t > 9 ? "9+" : t })
611
611
  ] }),
612
- !!n && /* @__PURE__ */ o(Rt, { className: C.tag, children: n })
613
- ] }), ue = Et(
614
- ({ label: e, href: t = "", disabled: n = !1, badge: r, onClick: a, novel: i }, c) => /* @__PURE__ */ o(me, { tooltip: "You do not have access to this function", show: n, children: /* @__PURE__ */ o(
612
+ !!n && /* @__PURE__ */ i(Et, { className: C.tag, children: n })
613
+ ] }), le = kt(
614
+ ({ label: e, href: t = "", disabled: n = !1, badge: r, onClick: a, novel: o }, c) => /* @__PURE__ */ i(me, { tooltip: "You do not have access to this function", show: n, children: /* @__PURE__ */ i(
615
615
  "div",
616
616
  {
617
617
  className: n ? C.projectNavigationItemDisabled : C.projectNavigationItem,
618
- children: a || n || !t ? /* @__PURE__ */ o(
618
+ children: a || n || !t ? /* @__PURE__ */ i(
619
619
  "button",
620
620
  {
621
621
  type: "button",
@@ -625,38 +625,38 @@ const Xn = "_breadcrumbsItem_1hm6a_1", er = "_breadcrumbs_1hm6a_1", We = {
625
625
  }),
626
626
  disabled: n,
627
627
  onClick: a,
628
- children: /* @__PURE__ */ o(Ke, { label: e, badge: r, novel: i })
628
+ children: /* @__PURE__ */ i(Ke, { label: e, badge: r, novel: o })
629
629
  }
630
- ) : /* @__PURE__ */ o("a", { href: t, className: C.withNavLinkStyle, children: /* @__PURE__ */ o(Ke, { label: e, badge: r, novel: i }) })
630
+ ) : /* @__PURE__ */ i("a", { href: t, className: C.withNavLinkStyle, children: /* @__PURE__ */ i(Ke, { label: e, badge: r, novel: o }) })
631
631
  }
632
632
  ) })
633
633
  );
634
- ue.displayName = "NavigationTabsItem";
635
- const cr = (e) => (e == null ? void 0 : e.some((t) => t.some((n) => n.visible))) ?? !1, lr = (e) => e.visible && (!e.dropdown || cr(e.dropdown)), Qr = ({ navigation: e, activeItem: t }) => /* @__PURE__ */ o("nav", { "aria-label": "Project", children: /* @__PURE__ */ o("ul", { className: A.navigationTabList, "aria-orientation": "horizontal", children: e.filter(lr).map((n) => {
636
- var r, a, i;
637
- return n.dropdown ? /* @__PURE__ */ o(
634
+ le.displayName = "NavigationTabsItem";
635
+ const ir = (e) => (e == null ? void 0 : e.some((t) => t.some((n) => n.visible))) ?? !1, or = (e) => e.visible && (!e.dropdown || ir(e.dropdown)), Qr = ({ navigation: e, activeItem: t }) => /* @__PURE__ */ i("nav", { "aria-label": "Project", children: /* @__PURE__ */ i("ul", { className: A.navigationTabList, "aria-orientation": "horizontal", children: e.filter(or).map((n) => {
636
+ var r, a, o;
637
+ return n.dropdown ? /* @__PURE__ */ i(
638
638
  "li",
639
639
  {
640
640
  className: A.navigationTab,
641
641
  "data-testid": n.key,
642
642
  "aria-selected": (r = n.isActive) == null ? void 0 : r.call(n, t),
643
- children: /* @__PURE__ */ o(
643
+ children: /* @__PURE__ */ i(
644
644
  fe,
645
645
  {
646
- menuButton: ({ opened: c }) => /* @__PURE__ */ o(ue, { label: n.label, disabled: n.disabled, active: c }),
647
- children: /* @__PURE__ */ o(he, { children: /* @__PURE__ */ o(tr, { items: n.dropdown }) })
646
+ menuButton: ({ opened: c }) => /* @__PURE__ */ i(le, { label: n.label, disabled: n.disabled, active: c }),
647
+ children: /* @__PURE__ */ i(he, { children: /* @__PURE__ */ i(Zn, { items: n.dropdown }) })
648
648
  }
649
649
  )
650
650
  },
651
651
  n.key
652
- ) : /* @__PURE__ */ o(
652
+ ) : /* @__PURE__ */ i(
653
653
  "li",
654
654
  {
655
655
  className: A.navigationTab,
656
656
  "data-testid": n.key,
657
657
  "aria-selected": (a = n.isActive) == null ? void 0 : a.call(n, t),
658
- children: /* @__PURE__ */ o(
659
- ue,
658
+ children: /* @__PURE__ */ i(
659
+ le,
660
660
  {
661
661
  label: n.label,
662
662
  href: n.link,
@@ -664,16 +664,60 @@ const cr = (e) => (e == null ? void 0 : e.some((t) => t.some((n) => n.visible)))
664
664
  disabled: n.disabled,
665
665
  badge: n.badge,
666
666
  novel: n.novel,
667
- active: (i = n.isActive) == null ? void 0 : i.call(n, t)
667
+ active: (o = n.isActive) == null ? void 0 : o.call(n, t)
668
668
  }
669
669
  )
670
670
  },
671
671
  n.key
672
672
  );
673
- }) }) }), ur = s.object({
673
+ }) }) }), sr = s.object({
674
+ lang_id: s.number(),
675
+ lang_iso: s.string(),
676
+ lang_name: s.string(),
677
+ is_writable: s.union([s.literal(0), s.literal(1)])
678
+ }), cr = s.object({
679
+ user_id: s.number(),
680
+ email: s.string().email(),
681
+ fullname: s.string(),
682
+ created_at: s.string(),
683
+ created_at_timestamp: s.number(),
684
+ admin_rights: s.array(s.string()),
685
+ languages: s.array(sr),
686
+ // TODO nic: Do I need this?
687
+ is_admin: s.boolean(),
688
+ is_reviewer: s.boolean()
689
+ }), lr = s.object({
690
+ project_id: s.string(),
691
+ contributors: s.array(cr)
692
+ }), ur = rt({
693
+ description: "Get the details of a project contributor",
694
+ requestPathParamsSchema: s.object({ projectId: s.string(), contributorId: s.number() }),
695
+ pathResolver: ({ projectId: e, contributorId: t }) => `/projects/${e}/contributors/${t}`,
696
+ successResponseBodySchema: lr
697
+ }), bt = s.union([
698
+ s.literal("owner"),
699
+ s.literal("admin"),
700
+ s.literal("biller"),
701
+ s.literal("member")
702
+ ]), dr = s.object({
703
+ user_id: s.number(),
704
+ email: s.string().email(),
705
+ fullname: s.string(),
706
+ created_at: s.string(),
707
+ created_at_timestamp: s.number(),
708
+ role: bt
709
+ }), mr = s.object({
710
+ team_id: s.number(),
711
+ team_user: dr
712
+ }), fr = rt({
713
+ description: "Get the details of a team user",
714
+ requestPathParamsSchema: s.object({ teamId: s.number(), userId: s.number() }),
715
+ pathResolver: ({ teamId: e, userId: t }) => `/teams/${e}/users/${t}`,
716
+ successResponseBodySchema: mr
717
+ }), hr = s.object({
674
718
  accessToken: s.string(),
675
719
  refreshToken: s.string()
676
- }), ve = jt({
720
+ }), ve = Pt({
677
721
  description: "Takes a teamId and returns a JWT token access and refresh token for the user",
678
722
  method: "post",
679
723
  requestPathParamsSchema: s.object({ teamId: s.number() }),
@@ -683,22 +727,28 @@ const cr = (e) => (e == null ? void 0 : e.some((t) => t.some((n) => n.visible)))
683
727
  "x-csrf-token": s.string().optional()
684
728
  }),
685
729
  requestBodySchema: s.undefined(),
686
- successResponseBodySchema: ur
687
- }), gt = {
730
+ successResponseBodySchema: hr
731
+ }), gr = {
732
+ teamUserKey: (e, t) => ["GetTeamUsers", e, t]
733
+ }, br = (e, t) => be({
734
+ ...t,
735
+ queryFn: ({ queryKey: [n, r, a] }) => nt(e, fr, { pathParams: { teamId: r, userId: a } })
736
+ }), pr = {
688
737
  teamKey: (e) => ["getUserToken", e]
689
- }, dr = (e, t, n) => be({
690
- ...n,
691
- queryFn: ({ queryKey: [r, a] }) => ge(e, ve, {
692
- pathParams: { teamId: a },
738
+ }, _r = (e, t) => be({
739
+ ...t,
740
+ queryFn: ({ queryKey: [n, r] }) => ge(e, ve, {
741
+ pathParams: { teamId: r },
693
742
  headers: {}
694
- }),
695
- queryKey: gt.teamKey(t)
696
- }), bt = s.union([
697
- s.literal("owner"),
698
- s.literal("admin"),
699
- s.literal("biller"),
700
- s.literal("member")
701
- ]), mr = s.object({
743
+ })
744
+ }), vr = {
745
+ projectUserKey: (e, t) => ["RetrieveContributor", e, t]
746
+ }, Tr = (e, t) => be({
747
+ ...t,
748
+ queryFn: ({ queryKey: [n, r, a] }) => nt(e, ur, {
749
+ pathParams: { projectId: r, contributorId: a }
750
+ })
751
+ }), wr = s.object({
702
752
  userId: s.number(),
703
753
  userUuid: s.string(),
704
754
  teamId: s.number(),
@@ -712,131 +762,71 @@ const cr = (e) => (e == null ? void 0 : e.some((t) => t.some((n) => n.visible)))
712
762
  isFullyAuthenticated: s.boolean(),
713
763
  exp: s.number()
714
764
  });
715
- function W(e) {
765
+ function G(e) {
716
766
  try {
717
767
  const t = e.split(".")[1], n = atob(t);
718
- return mr.parse(JSON.parse(n));
768
+ return wr.parse(JSON.parse(n));
719
769
  } catch {
720
770
  return;
721
771
  }
722
772
  }
723
- const H = class H extends CustomEvent {
773
+ const F = class F extends CustomEvent {
724
774
  constructor(t) {
725
- super(H.eventName, {
726
- detail: { token: t, payload: W(t.accessToken) }
775
+ super(F.eventName, {
776
+ detail: { token: t, payload: G(t.accessToken) }
727
777
  });
728
778
  }
729
779
  };
730
- Ie(H, "eventName", "new-jwt-issued");
731
- let L = H;
732
- const Vr = gt;
780
+ Ne(F, "eventName", "new-jwt-issued");
781
+ let L = F;
782
+ const Vr = pr;
733
783
  function Yr(e, t) {
734
- const n = dr(e, t), r = Ve();
784
+ const n = _r(e, t), r = Ye();
735
785
  return q(() => {
736
786
  n.data && n.data.accessToken !== r.current && (window.dispatchEvent(new L(n.data)), r.current = n.data.accessToken);
737
787
  }, [n.data]), n;
738
788
  }
739
- function pt() {
740
- const e = F(document.cookie, "accessToken"), t = F(document.cookie, "refreshToken");
789
+ function Te() {
790
+ const e = ue(document.cookie, "accessToken"), t = ue(document.cookie, "refreshToken");
741
791
  return !e || !t ? Promise.resolve(void 0) : Promise.resolve({ accessToken: e, refreshToken: t });
742
792
  }
743
- function fr() {
744
- return Promise.resolve(F(document.cookie, "csrf_token"));
793
+ function yr() {
794
+ return Promise.resolve(ue(document.cookie, "csrf_token"));
745
795
  }
746
- function F(e, t) {
796
+ function ue(e, t) {
747
797
  var n, r;
748
798
  return (r = (n = e.split(";").find((a) => a.trim().startsWith(`${t}=`))) == null ? void 0 : n.trim()) == null ? void 0 : r.substring(t.length + 1);
749
799
  }
750
- function _t() {
800
+ function pt() {
751
801
  const [e, t] = de();
752
802
  return q(() => {
753
803
  let n = !1;
754
804
  const r = (a) => {
755
805
  t(a.detail.payload), n = !0;
756
806
  };
757
- return pt().then((a) => a && W(a.accessToken)).then((a) => {
807
+ return Te().then((a) => a && G(a.accessToken)).then((a) => {
758
808
  n || t(a);
759
809
  }), window.addEventListener(L.eventName, r), () => {
760
810
  window.removeEventListener(L.eventName, r);
761
811
  };
762
812
  }, []), e;
763
813
  }
764
- const hr = s.object({
765
- user_id: s.number(),
766
- email: s.string().email(),
767
- fullname: s.string(),
768
- created_at: s.string(),
769
- created_at_timestamp: s.number(),
770
- role: bt
771
- }), gr = s.object({
772
- team_id: s.number(),
773
- team_user: hr
774
- }), br = nt({
775
- description: "Get the details of a team user",
776
- requestPathParamsSchema: s.object({ teamId: s.number(), userId: s.number() }),
777
- pathResolver: ({ teamId: e, userId: t }) => `/teams/${e}/users/${t}`,
778
- successResponseBodySchema: gr
779
- }), vt = {
780
- teamUserKey: (e, t) => ["GetTeamUsers", e, t]
781
- }, pr = (e, t, n, r) => be({
782
- ...r,
783
- queryKey: vt.teamUserKey(t, n),
784
- queryFn: ({ queryKey: [a, i, c] }) => tt(e, br, { pathParams: { teamId: i, userId: c } })
785
- }), Zr = vt;
814
+ const Zr = gr;
786
815
  function Xr(e) {
787
- const t = _t();
788
- return pr(e, (t == null ? void 0 : t.teamId) ?? 0, (t == null ? void 0 : t.userId) ?? 0, {
789
- enabled: t !== void 0
790
- });
816
+ const t = pt();
817
+ return br(e, (t == null ? void 0 : t.teamId) ?? 0, (t == null ? void 0 : t.userId) ?? 0);
791
818
  }
792
- const _r = s.object({
793
- lang_id: s.number(),
794
- lang_iso: s.string(),
795
- lang_name: s.string(),
796
- is_writable: s.union([s.literal(0), s.literal(1)])
797
- }), vr = s.object({
798
- user_id: s.number(),
799
- email: s.string().email(),
800
- fullname: s.string(),
801
- created_at: s.string(),
802
- created_at_timestamp: s.number(),
803
- admin_rights: s.array(s.string()),
804
- languages: s.array(_r),
805
- // TODO nic: Do I need this?
806
- is_admin: s.boolean(),
807
- is_reviewer: s.boolean()
808
- }), Tr = s.object({
809
- project_id: s.string(),
810
- contributors: s.array(vr)
811
- }), wr = nt({
812
- description: "Get the details of a project contributor",
813
- requestPathParamsSchema: s.object({ projectId: s.string(), contributorId: s.number() }),
814
- pathResolver: ({ projectId: e, contributorId: t }) => `/projects/${e}/contributors/${t}`,
815
- successResponseBodySchema: Tr
816
- }), Tt = {
817
- projectUserKey: (e, t) => ["RetrieveContributor", e, t]
818
- }, yr = (e, t, n, r) => be({
819
- ...r,
820
- queryKey: Tt.projectUserKey(n, t),
821
- queryFn: ({ queryKey: [a, i, c] }) => tt(e, wr, {
822
- pathParams: { projectId: i, contributorId: c }
823
- })
824
- }), ea = Tt;
819
+ const ea = vr;
825
820
  function ta(e, t) {
826
- const n = _t();
827
- return yr(e, (n == null ? void 0 : n.userId) ?? 0, t, {
828
- enabled: n !== void 0
829
- });
830
- }
831
- function na(e) {
832
- const t = e.headers.get("Cookie");
833
- if (!t)
834
- return Promise.resolve(void 0);
835
- const n = F(t, "accessToken");
836
- if (!n)
821
+ const n = pt();
822
+ return Tr(e, (n == null ? void 0 : n.userId) ?? 0);
823
+ }
824
+ async function na() {
825
+ const e = await Te();
826
+ if (!e)
837
827
  return Promise.resolve(void 0);
838
- const r = W(n);
839
- return r ? { token: n, payload: r } : Promise.resolve(void 0);
828
+ const t = G(e.accessToken);
829
+ return t ? { ...e, payload: t } : Promise.resolve(void 0);
840
830
  }
841
831
  function z(e) {
842
832
  return { Authorization: `Bearer ${e}` };
@@ -844,20 +834,20 @@ function z(e) {
844
834
  function Ir(e, t) {
845
835
  return (n) => async (r, a) => {
846
836
  var u;
847
- const i = await t.getCachedJwtToken();
848
- if (i === void 0)
837
+ const o = await t.getCachedJwtToken();
838
+ if (o === void 0)
849
839
  return n(r, a);
850
840
  const c = await n(r, {
851
841
  ...a,
852
- headers: { ...a.headers, ...z(i.accessToken) }
842
+ headers: { ...a.headers, ...z(o.accessToken) }
853
843
  });
854
- if (i && (c.status === 401 || c.status === 403)) {
855
- const d = W(i.accessToken);
844
+ if (o && (c.status === 401 || c.status === 403)) {
845
+ const d = G(o.accessToken);
856
846
  if (!d)
857
847
  return c;
858
848
  const l = await ge(e, ve, {
859
849
  pathParams: { teamId: d.teamId },
860
- headers: z(i.refreshToken)
850
+ headers: z(o.refreshToken)
861
851
  });
862
852
  return await ((u = t.onNewJwtTokenIssued) == null ? void 0 : u.call(t, l)), n(r, {
863
853
  ...a,
@@ -895,19 +885,19 @@ function kr(e, t) {
895
885
  const ra = {
896
886
  wretch: {
897
887
  lokaliseAuth(e = {}) {
898
- return this.addon(Nr).lokaliseAuth(Je(e));
888
+ return this.addon(Nr).lokaliseAuth(Qe(e));
899
889
  },
900
890
  promoteClassicSession(e) {
901
- const t = Je(e);
891
+ const t = Qe(e);
902
892
  return this.middlewares([kr(this, t)]);
903
893
  }
904
894
  }
905
895
  };
906
- function Je(e) {
896
+ function Qe(e) {
907
897
  return {
908
898
  ...e,
909
- getCachedJwtToken: e.getCachedJwtToken ?? pt,
910
- getCsrfToken: "getCsrfToken" in e ? e.getCsrfToken : fr,
899
+ getCachedJwtToken: e.getCachedJwtToken ?? Te,
900
+ getCsrfToken: "getCsrfToken" in e ? e.getCsrfToken : yr,
911
901
  onNewJwtTokenIssued: (t) => {
912
902
  var n;
913
903
  return window.dispatchEvent(new L(t)), ((n = e.onNewJwtTokenIssued) == null ? void 0 : n.call(e, t)) ?? Promise.resolve();
@@ -915,21 +905,21 @@ function Je(e) {
915
905
  };
916
906
  }
917
907
  export {
918
- Jr as Breadcrumbs,
919
- mt as ENTERPRISE_OPENSOURCE_PLAN_ID,
920
- Rn as ENTERPRISE_PLAN_IDS,
921
- En as ESSENTIAL_PLAN_IDS,
922
- dt as FREE_PLAN_ID,
923
- ur as JWT_TOKEN_SCHEMA,
908
+ Kr as Breadcrumbs,
909
+ ft as ENTERPRISE_OPENSOURCE_PLAN_ID,
910
+ En as ENTERPRISE_PLAN_IDS,
911
+ kn as ESSENTIAL_PLAN_IDS,
912
+ mt as FREE_PLAN_ID,
913
+ hr as JWT_TOKEN_SCHEMA,
924
914
  Nr as LokaliseAuthAddon,
925
915
  ra as LokaliseAuthBrowserAddon,
926
916
  D as NavigationPanel,
927
917
  Qr as NavigationTabs,
928
- Cn as PRO_PLAN_IDS,
929
- Pn as START_PLAN_IDS,
918
+ Sn as PRO_PLAN_IDS,
919
+ Nn as START_PLAN_IDS,
930
920
  I as Sidebar,
931
- hr as TEAM_USER_SCHEMA,
932
- Sn as TRIAL_PLAN_ID,
921
+ dr as TEAM_USER_SCHEMA,
922
+ In as TRIAL_PLAN_ID,
933
923
  ea as authenticatedContributorKeys,
934
924
  Zr as authenticatedUserKeys,
935
925
  Fr as convertNewLineToBreakTag,
@@ -937,28 +927,28 @@ export {
937
927
  Wr as formatDateTz,
938
928
  na as getAuthenticatedSessionDetailFromRequest,
939
929
  Vr as getPromotedClassicSessionJwtKey,
940
- br as getTeamUser,
941
- vt as getTeamUsersQueryKey,
930
+ fr as getTeamUser,
931
+ gr as getTeamUsersQueryKey,
942
932
  ve as getUserToken,
943
- gt as getUserTokenKey,
933
+ pr as getUserTokenKey,
944
934
  Dr as isEnterpriseOpenSourcePlan,
945
935
  $r as isEnterprisePlan,
946
- Mr as isEssentialPlan,
936
+ Ur as isEssentialPlan,
947
937
  _e as isFreePlan,
948
938
  zr as isPaidPlan,
949
939
  Br as isProPlan,
950
- Ur as isStartPlan,
951
- ft as isTrialPlan,
940
+ Mr as isStartPlan,
941
+ ht as isTrialPlan,
952
942
  Hr as makeUrlClickable,
953
- W as parseJwtTokenPayload,
954
- wr as retrieveContributor,
955
- Tt as retrieveContributorKeys,
943
+ G as parseJwtTokenPayload,
944
+ ur as retrieveContributor,
945
+ vr as retrieveContributorKeys,
956
946
  ta as useAuthenticatedProjectContributor,
957
- _t as useAuthenticatedSessionPayload,
947
+ pt as useAuthenticatedSessionPayload,
958
948
  Xr as useAuthenticatedUser,
959
- Kr as useEffectOnce,
949
+ Jr as useEffectOnce,
960
950
  Yr as useGetPromotedClassicSessionJwtQuery,
961
- dr as useGetUserTokenQuery,
962
- yr as useRetrieveContributorQuery,
963
- pr as userGetTeamUsersQuery
951
+ _r as useGetUserTokenQuery,
952
+ Tr as useRetrieveContributorQuery,
953
+ br as userGetTeamUsersQuery
964
954
  };