@lokalise/harmony 1.4.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/dist/harmony.cjs +1 -1
  2. package/dist/harmony.css +1 -1
  3. package/dist/harmony.mjs +564 -348
  4. package/dist/types/src/components/Sidebar/Sidebar.d.ts +47 -0
  5. package/dist/types/src/components/Sidebar/Sidebar.stories.d.ts +90 -0
  6. package/dist/types/src/components/Sidebar/UpgradeIcon/UpgradeIcon.d.ts +5 -0
  7. package/dist/types/src/components/Sidebar/Widgets/Avatar/Avatar.d.ts +8 -0
  8. package/dist/types/src/components/Sidebar/Widgets/IconLink/IconLink.d.ts +9 -0
  9. package/dist/types/src/components/Sidebar/Widgets/Menu/Menu.d.ts +7 -0
  10. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenu.d.ts +8 -0
  11. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuContent.d.ts +6 -0
  12. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuContext.d.ts +3 -0
  13. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileMenuProvider.d.ts +7 -0
  14. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/ProfileSettingsMenuItem/ProfileSettingsMenuItem.d.ts +8 -0
  15. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamMenuItem/TeamMenuItem.d.ts +8 -0
  16. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/TeamSwitch/TeamSwitch.d.ts +6 -0
  17. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/UpgradeMenuItem/UpgradeMenuItem.d.ts +5 -0
  18. package/dist/types/src/components/Sidebar/Widgets/ProfileMenu/types.d.ts +22 -0
  19. package/dist/types/src/components/Sidebar/types.d.ts +14 -0
  20. package/dist/types/src/components/Sidebar/utils/index.d.ts +4 -0
  21. package/dist/types/src/node.d.ts +2 -7
  22. package/dist/types/src/utils/hooks/useEffectOnce.d.ts +5 -0
  23. package/dist/types/src/utils/node.d.ts +6 -0
  24. package/dist/types/src/utils/typeUtils.d.ts +3 -0
  25. package/dist/types/tests/mocks/sidebar/profileMenu.d.ts +2 -0
  26. package/package.json +3 -2
package/dist/harmony.mjs CHANGED
@@ -1,475 +1,691 @@
1
- import { jsx as s, jsxs as P, Fragment as De } from "react/jsx-runtime";
2
- import * as I from "react";
3
- import { useRef as Ce, useState as Se, useCallback as re, useEffect as Ne, Fragment as Ee, forwardRef as ze, cloneElement as Me } from "react";
4
- import { Link as Ge, MenuDivider as Fe, MenuItem as Be, Tag as $e, Tooltip as He, Menu as Ue, MenuList as We } from "@lokalise/louis";
5
- import { format as je } from "date-fns";
6
- import { toZonedTime as Ze } from "date-fns-tz";
7
- var O = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
8
- function we(e) {
1
+ import { jsx as i, jsxs as b, Fragment as Be } from "react/jsx-runtime";
2
+ import * as k from "react";
3
+ import { useRef as rn, useState as Me, useCallback as me, useEffect as ie, useContext as an, createContext as on, cloneElement as sn, Fragment as $e, forwardRef as cn } from "react";
4
+ import { Tooltip as ae, Link as Ue, Menu as oe, MenuList as se, CaretUpIcon as ln, UserIcon as De, MenuItem as $, MenuDivider as ze, Tag as un } from "@lokalise/louis";
5
+ import { format as We } from "date-fns";
6
+ import { toZonedTime as dn } from "date-fns-tz";
7
+ var B = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
8
+ function Fe(e) {
9
9
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
10
10
  }
11
- var A, ne;
12
- function J() {
13
- if (ne) return A;
14
- ne = 1;
15
- function e(r) {
16
- var n = typeof r;
17
- return r != null && (n == "object" || n == "function");
11
+ var D, ge;
12
+ function ce() {
13
+ if (ge) return D;
14
+ ge = 1;
15
+ function e(n) {
16
+ var t = typeof n;
17
+ return n != null && (t == "object" || t == "function");
18
18
  }
19
- return A = e, A;
20
- }
21
- var D, te;
22
- function Ve() {
23
- if (te) return D;
24
- te = 1;
25
- var e = typeof O == "object" && O && O.Object === Object && O;
26
19
  return D = e, D;
27
20
  }
28
- var C, ie;
29
- function Re() {
30
- if (ie) return C;
31
- ie = 1;
32
- var e = Ve(), r = typeof self == "object" && self && self.Object === Object && self, n = e || r || Function("return this")();
33
- return C = n, C;
21
+ var z, he;
22
+ function fn() {
23
+ if (he) return z;
24
+ he = 1;
25
+ var e = typeof B == "object" && B && B.Object === Object && B;
26
+ return z = e, z;
34
27
  }
35
- var z, ae;
36
- function Xe() {
37
- if (ae) return z;
38
- ae = 1;
39
- var e = Re(), r = function() {
28
+ var W, pe;
29
+ function He() {
30
+ if (pe) return W;
31
+ pe = 1;
32
+ var e = fn(), n = typeof self == "object" && self && self.Object === Object && self, t = e || n || Function("return this")();
33
+ return W = t, W;
34
+ }
35
+ var F, be;
36
+ function mn() {
37
+ if (be) return F;
38
+ be = 1;
39
+ var e = He(), n = function() {
40
40
  return e.Date.now();
41
41
  };
42
- return z = r, z;
42
+ return F = n, F;
43
43
  }
44
- var M, oe;
45
- function Ye() {
46
- if (oe) return M;
47
- oe = 1;
44
+ var H, _e;
45
+ function gn() {
46
+ if (_e) return H;
47
+ _e = 1;
48
48
  var e = /\s/;
49
- function r(n) {
50
- for (var t = n.length; t-- && e.test(n.charAt(t)); )
49
+ function n(t) {
50
+ for (var r = t.length; r-- && e.test(t.charAt(r)); )
51
51
  ;
52
- return t;
52
+ return r;
53
53
  }
54
- return M = r, M;
54
+ return H = n, H;
55
55
  }
56
- var G, se;
57
- function Je() {
58
- if (se) return G;
59
- se = 1;
60
- var e = Ye(), r = /^\s+/;
61
- function n(t) {
62
- return t && t.slice(0, e(t) + 1).replace(r, "");
56
+ var G, ve;
57
+ function hn() {
58
+ if (ve) return G;
59
+ ve = 1;
60
+ var e = gn(), n = /^\s+/;
61
+ function t(r) {
62
+ return r && r.slice(0, e(r) + 1).replace(n, "");
63
63
  }
64
- return G = n, G;
64
+ return G = t, G;
65
65
  }
66
- var F, ce;
67
- function Ie() {
68
- if (ce) return F;
69
- ce = 1;
70
- var e = Re(), r = e.Symbol;
71
- return F = r, F;
66
+ var V, Te;
67
+ function Ge() {
68
+ if (Te) return V;
69
+ Te = 1;
70
+ var e = He(), n = e.Symbol;
71
+ return V = n, V;
72
72
  }
73
- var B, ue;
74
- function Ke() {
75
- if (ue) return B;
76
- ue = 1;
77
- var e = Ie(), r = Object.prototype, n = r.hasOwnProperty, t = r.toString, i = e ? e.toStringTag : void 0;
78
- function a(c) {
79
- var u = n.call(c, i), l = c[i];
73
+ var Y, we;
74
+ function pn() {
75
+ if (we) return Y;
76
+ we = 1;
77
+ var e = Ge(), n = Object.prototype, t = n.hasOwnProperty, r = n.toString, a = e ? e.toStringTag : void 0;
78
+ function o(c) {
79
+ var l = t.call(c, a), u = c[a];
80
80
  try {
81
- c[i] = void 0;
82
- var o = !0;
81
+ c[a] = void 0;
82
+ var s = !0;
83
83
  } catch {
84
84
  }
85
- var d = t.call(c);
86
- return o && (u ? c[i] = l : delete c[i]), d;
85
+ var d = r.call(c);
86
+ return s && (l ? c[a] = u : delete c[a]), d;
87
87
  }
88
- return B = a, B;
88
+ return Y = o, Y;
89
89
  }
90
- var $, le;
91
- function Qe() {
92
- if (le) return $;
93
- le = 1;
94
- var e = Object.prototype, r = e.toString;
95
- function n(t) {
96
- return r.call(t);
90
+ var Z, Ie;
91
+ function bn() {
92
+ if (Ie) return Z;
93
+ Ie = 1;
94
+ var e = Object.prototype, n = e.toString;
95
+ function t(r) {
96
+ return n.call(r);
97
97
  }
98
- return $ = n, $;
98
+ return Z = t, Z;
99
99
  }
100
- var H, de;
101
- function er() {
102
- if (de) return H;
103
- de = 1;
104
- var e = Ie(), r = Ke(), n = Qe(), t = "[object Null]", i = "[object Undefined]", a = e ? e.toStringTag : void 0;
105
- function c(u) {
106
- return u == null ? u === void 0 ? i : t : a && a in Object(u) ? r(u) : n(u);
100
+ var X, ye;
101
+ function _n() {
102
+ if (ye) return X;
103
+ ye = 1;
104
+ var e = Ge(), n = pn(), t = bn(), r = "[object Null]", a = "[object Undefined]", o = e ? e.toStringTag : void 0;
105
+ function c(l) {
106
+ return l == null ? l === void 0 ? a : r : o && o in Object(l) ? n(l) : t(l);
107
107
  }
108
- return H = c, H;
108
+ return X = c, X;
109
109
  }
110
- var U, fe;
111
- function rr() {
112
- if (fe) return U;
113
- fe = 1;
114
- function e(r) {
115
- return r != null && typeof r == "object";
110
+ var J, Ne;
111
+ function vn() {
112
+ if (Ne) return J;
113
+ Ne = 1;
114
+ function e(n) {
115
+ return n != null && typeof n == "object";
116
116
  }
117
- return U = e, U;
117
+ return J = e, J;
118
118
  }
119
- var W, be;
120
- function nr() {
121
- if (be) return W;
122
- be = 1;
123
- var e = er(), r = rr(), n = "[object Symbol]";
124
- function t(i) {
125
- return typeof i == "symbol" || r(i) && e(i) == n;
119
+ var K, Se;
120
+ function Tn() {
121
+ if (Se) return K;
122
+ Se = 1;
123
+ var e = _n(), n = vn(), t = "[object Symbol]";
124
+ function r(a) {
125
+ return typeof a == "symbol" || n(a) && e(a) == t;
126
126
  }
127
- return W = t, W;
127
+ return K = r, K;
128
128
  }
129
- var Z, he;
130
- function tr() {
131
- if (he) return Z;
132
- he = 1;
133
- var e = Je(), r = J(), n = nr(), t = NaN, i = /^[-+]0x[0-9a-f]+$/i, a = /^0b[01]+$/i, c = /^0o[0-7]+$/i, u = parseInt;
134
- function l(o) {
135
- if (typeof o == "number")
136
- return o;
137
- if (n(o))
138
- return t;
139
- if (r(o)) {
140
- var d = typeof o.valueOf == "function" ? o.valueOf() : o;
141
- o = r(d) ? d + "" : d;
129
+ var Q, Ee;
130
+ function wn() {
131
+ if (Ee) return Q;
132
+ Ee = 1;
133
+ var e = hn(), n = ce(), t = Tn(), r = NaN, a = /^[-+]0x[0-9a-f]+$/i, o = /^0b[01]+$/i, c = /^0o[0-7]+$/i, l = parseInt;
134
+ function u(s) {
135
+ if (typeof s == "number")
136
+ return s;
137
+ if (t(s))
138
+ return r;
139
+ if (n(s)) {
140
+ var d = typeof s.valueOf == "function" ? s.valueOf() : s;
141
+ s = n(d) ? d + "" : d;
142
142
  }
143
- if (typeof o != "string")
144
- return o === 0 ? o : +o;
145
- o = e(o);
146
- var v = a.test(o);
147
- return v || c.test(o) ? u(o.slice(2), v ? 2 : 8) : i.test(o) ? t : +o;
143
+ if (typeof s != "string")
144
+ return s === 0 ? s : +s;
145
+ s = e(s);
146
+ var h = o.test(s);
147
+ return h || c.test(s) ? l(s.slice(2), h ? 2 : 8) : a.test(s) ? r : +s;
148
148
  }
149
- return Z = l, Z;
149
+ return Q = u, Q;
150
150
  }
151
- var V, ve;
152
- function Pe() {
153
- if (ve) return V;
154
- ve = 1;
155
- var e = J(), r = Xe(), n = tr(), t = "Expected a function", i = Math.max, a = Math.min;
156
- function c(u, l, o) {
157
- var d, v, N, p, b, _, y = 0, j = !1, h = !1, T = !0;
158
- if (typeof u != "function")
159
- throw new TypeError(t);
160
- l = n(l) || 0, e(o) && (j = !!o.leading, h = "maxWait" in o, N = h ? i(n(o.maxWait) || 0, l) : N, T = "trailing" in o ? !!o.trailing : T);
161
- function m(f) {
162
- var S = d, R = v;
163
- return d = v = void 0, y = f, p = u.apply(R, S), p;
151
+ var ee, Pe;
152
+ function Ve() {
153
+ if (Pe) return ee;
154
+ Pe = 1;
155
+ var e = ce(), n = mn(), t = wn(), r = "Expected a function", a = Math.max, o = Math.min;
156
+ function c(l, u, s) {
157
+ var d, h, v, T, g, w, y = 0, S = !1, m = !1, N = !0;
158
+ if (typeof l != "function")
159
+ throw new TypeError(r);
160
+ u = t(u) || 0, e(s) && (S = !!s.leading, m = "maxWait" in s, v = m ? a(t(s.maxWait) || 0, u) : v, N = "trailing" in s ? !!s.trailing : N);
161
+ function _(f) {
162
+ var E = d, R = h;
163
+ return d = h = void 0, y = f, T = l.apply(R, E), T;
164
164
  }
165
- function g(f) {
166
- return y = f, b = setTimeout(L, l), j ? m(f) : p;
165
+ function p(f) {
166
+ return y = f, g = setTimeout(q, u), S ? _(f) : T;
167
167
  }
168
- function k(f) {
169
- var S = f - _, R = f - y, ee = l - S;
170
- return h ? a(ee, N - R) : ee;
168
+ function A(f) {
169
+ var E = f - w, R = f - y, fe = u - E;
170
+ return m ? o(fe, v - R) : fe;
171
171
  }
172
- function K(f) {
173
- var S = f - _, R = f - y;
174
- return _ === void 0 || S >= l || S < 0 || h && R >= N;
172
+ function ue(f) {
173
+ var E = f - w, R = f - y;
174
+ return w === void 0 || E >= u || E < 0 || m && R >= v;
175
175
  }
176
- function L() {
177
- var f = r();
178
- if (K(f))
179
- return Q(f);
180
- b = setTimeout(L, k(f));
176
+ function q() {
177
+ var f = n();
178
+ if (ue(f))
179
+ return de(f);
180
+ g = setTimeout(q, A(f));
181
181
  }
182
- function Q(f) {
183
- return b = void 0, T && d ? m(f) : (d = v = void 0, p);
182
+ function de(f) {
183
+ return g = void 0, N && d ? _(f) : (d = h = void 0, T);
184
184
  }
185
- function xe() {
186
- b !== void 0 && clearTimeout(b), y = 0, d = _ = v = b = void 0;
185
+ function nn() {
186
+ g !== void 0 && clearTimeout(g), y = 0, d = w = h = g = void 0;
187
187
  }
188
- function Ae() {
189
- return b === void 0 ? p : Q(r());
188
+ function tn() {
189
+ return g === void 0 ? T : de(n());
190
190
  }
191
- function x() {
192
- var f = r(), S = K(f);
193
- if (d = arguments, v = this, _ = f, S) {
194
- if (b === void 0)
195
- return g(_);
196
- if (h)
197
- return clearTimeout(b), b = setTimeout(L, l), m(_);
191
+ function U() {
192
+ var f = n(), E = ue(f);
193
+ if (d = arguments, h = this, w = f, E) {
194
+ if (g === void 0)
195
+ return p(w);
196
+ if (m)
197
+ return clearTimeout(g), g = setTimeout(q, u), _(w);
198
198
  }
199
- return b === void 0 && (b = setTimeout(L, l)), p;
199
+ return g === void 0 && (g = setTimeout(q, u)), T;
200
200
  }
201
- return x.cancel = xe, x.flush = Ae, x;
201
+ return U.cancel = nn, U.flush = tn, U;
202
202
  }
203
- return V = c, V;
203
+ return ee = c, ee;
204
204
  }
205
- var ir = Pe();
206
- const ar = /* @__PURE__ */ we(ir);
207
- var X, ge;
208
- function or() {
209
- if (ge) return X;
210
- ge = 1;
211
- var e = Pe(), r = J(), n = "Expected a function";
212
- function t(i, a, c) {
213
- var u = !0, l = !0;
214
- if (typeof i != "function")
215
- throw new TypeError(n);
216
- return r(c) && (u = "leading" in c ? !!c.leading : u, l = "trailing" in c ? !!c.trailing : l), e(i, a, {
217
- leading: u,
218
- maxWait: a,
219
- trailing: l
205
+ var In = Ve();
206
+ const yn = /* @__PURE__ */ Fe(In);
207
+ var ne, je;
208
+ function Nn() {
209
+ if (je) return ne;
210
+ je = 1;
211
+ var e = Ve(), n = ce(), t = "Expected a function";
212
+ function r(a, o, c) {
213
+ var l = !0, u = !0;
214
+ if (typeof a != "function")
215
+ throw new TypeError(t);
216
+ return n(c) && (l = "leading" in c ? !!c.leading : l, u = "trailing" in c ? !!c.trailing : u), e(a, o, {
217
+ leading: l,
218
+ maxWait: o,
219
+ trailing: u
220
220
  });
221
221
  }
222
- return X = t, X;
222
+ return ne = r, ne;
223
223
  }
224
- var sr = or();
225
- const cr = /* @__PURE__ */ we(sr), ur = (e, r, n, t) => {
226
- switch (r) {
224
+ var Sn = Nn();
225
+ const En = /* @__PURE__ */ Fe(Sn), Pn = (e, n, t, r) => {
226
+ switch (n) {
227
227
  case "debounce":
228
- return ar(e, n, t);
228
+ return yn(e, t, r);
229
229
  case "throttle":
230
- return cr(e, n, t);
230
+ return En(e, t, r);
231
231
  default:
232
232
  return e;
233
233
  }
234
- }, lr = (
234
+ }, jn = (
235
235
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
236
236
  (e) => {
237
- const r = I.useRef(e);
238
- return I.useEffect(() => {
239
- r.current = e;
240
- }), I.useMemo(() => (...n) => {
241
- var t;
242
- return (t = r.current) === null || t === void 0 ? void 0 : t.call(r, ...n);
237
+ const n = k.useRef(e);
238
+ return k.useEffect(() => {
239
+ n.current = e;
240
+ }), k.useMemo(() => (...t) => {
241
+ var r;
242
+ return (r = n.current) === null || r === void 0 ? void 0 : r.call(n, ...t);
243
243
  }, []);
244
244
  }
245
- ), dr = (
245
+ ), Ln = (
246
246
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
247
247
  (e) => {
248
- const [r, n] = I.useState((e == null ? void 0 : e.current) || null);
248
+ const [n, t] = k.useState((e == null ? void 0 : e.current) || null);
249
249
  return e && setTimeout(() => {
250
- e.current !== r && n(e.current);
251
- }, 0), { refProxy: I.useMemo(() => new Proxy((i) => {
252
- i !== r && n(i);
250
+ e.current !== n && t(e.current);
251
+ }, 0), { refProxy: k.useMemo(() => new Proxy((a) => {
252
+ a !== n && t(a);
253
253
  }, {
254
- get(i, a) {
255
- return a === "current" ? r : i[a];
254
+ get(a, o) {
255
+ return o === "current" ? n : a[o];
256
256
  },
257
- set(i, a, c) {
258
- return a === "current" ? n(c) : i[a] = c, !0;
257
+ set(a, o, c) {
258
+ return o === "current" ? t(c) : a[o] = c, !0;
259
259
  }
260
- }), [r]), refElement: r, setRefElement: n };
260
+ }), [n]), refElement: n, setRefElement: t };
261
261
  }
262
- ), fr = (e, r) => r === "border-box" ? {
262
+ ), xn = (e, n) => n === "border-box" ? {
263
263
  width: e.borderBoxSize[0].inlineSize,
264
264
  height: e.borderBoxSize[0].blockSize
265
- } : r === "content-box" ? {
265
+ } : n === "content-box" ? {
266
266
  width: e.contentBoxSize[0].inlineSize,
267
267
  height: e.contentBoxSize[0].blockSize
268
268
  } : {
269
269
  width: e.contentRect.width,
270
270
  height: e.contentRect.height
271
271
  };
272
- function br({ skipOnMount: e = !1, refreshMode: r, refreshRate: n = 1e3, refreshOptions: t, handleWidth: i = !0, handleHeight: a = !0, targetRef: c, observerOptions: u, onResize: l } = {}) {
273
- const o = Ce(e), d = lr(l), [v, N] = Se({
272
+ function Cn({ skipOnMount: e = !1, refreshMode: n, refreshRate: t = 1e3, refreshOptions: r, handleWidth: a = !0, handleHeight: o = !0, targetRef: c, observerOptions: l, onResize: u } = {}) {
273
+ const s = rn(e), d = jn(u), [h, v] = Me({
274
274
  width: void 0,
275
275
  height: void 0
276
- }), { refProxy: p, refElement: b } = dr(c), { box: _ } = u || {}, y = re((h) => {
277
- if (!i && !a)
276
+ }), { refProxy: T, refElement: g } = Ln(c), { box: w } = l || {}, y = me((m) => {
277
+ if (!a && !o)
278
278
  return;
279
- if (o.current) {
280
- o.current = !1;
279
+ if (s.current) {
280
+ s.current = !1;
281
281
  return;
282
282
  }
283
- const T = (m, g) => i && m.width !== g.width || a && m.height !== g.height;
284
- h.forEach((m) => {
285
- const g = fr(m, _);
286
- N((k) => T(k, g) ? (d == null || d({
287
- width: g.width,
288
- height: g.height,
289
- entry: m
290
- }), g) : k);
283
+ const N = (_, p) => a && _.width !== p.width || o && _.height !== p.height;
284
+ m.forEach((_) => {
285
+ const p = xn(_, w);
286
+ v((A) => N(A, p) ? (d == null || d({
287
+ width: p.width,
288
+ height: p.height,
289
+ entry: _
290
+ }), p) : A);
291
291
  });
292
- }, [i, a, o, _]), j = re(ur(y, r, n, t), [
292
+ }, [a, o, s, w]), S = me(Pn(y, n, t, r), [
293
293
  y,
294
- r,
295
294
  n,
296
- t
295
+ t,
296
+ r
297
297
  ]);
298
- return Ne(() => {
299
- let h;
300
- return b ? (h = new window.ResizeObserver(j), h.observe(b, u)) : (v.width || v.height) && (d == null || d({
298
+ return ie(() => {
299
+ let m;
300
+ return g ? (m = new window.ResizeObserver(S), m.observe(g, l)) : (h.width || h.height) && (d == null || d({
301
301
  width: null,
302
302
  height: null,
303
303
  entry: null
304
- }), N({ width: void 0, height: void 0 })), () => {
305
- var T, m, g;
306
- (T = h == null ? void 0 : h.disconnect) === null || T === void 0 || T.call(h), (g = (m = j).cancel) === null || g === void 0 || g.call(m);
304
+ }), v({ width: void 0, height: void 0 })), () => {
305
+ var N, _, p;
306
+ (N = m == null ? void 0 : m.disconnect) === null || N === void 0 || N.call(m), (p = (_ = S).cancel) === null || p === void 0 || p.call(_);
307
307
  };
308
- }, [j, b]), Object.assign({ ref: p }, v);
308
+ }, [S, g]), Object.assign({ ref: T }, h);
309
309
  }
310
- function ke(e) {
311
- var r, n, t = "";
312
- if (typeof e == "string" || typeof e == "number") t += e;
310
+ function Ye(e) {
311
+ var n, t, r = "";
312
+ if (typeof e == "string" || typeof e == "number") r += e;
313
313
  else if (typeof e == "object") if (Array.isArray(e)) {
314
- var i = e.length;
315
- for (r = 0; r < i; r++) e[r] && (n = ke(e[r])) && (t && (t += " "), t += n);
316
- } else for (n in e) e[n] && (t && (t += " "), t += n);
317
- return t;
314
+ var a = e.length;
315
+ for (n = 0; n < a; n++) e[n] && (t = Ye(e[n])) && (r && (r += " "), r += t);
316
+ } else for (t in e) e[t] && (r && (r += " "), r += t);
317
+ return r;
318
318
  }
319
- function Le() {
320
- for (var e, r, n = 0, t = "", i = arguments.length; n < i; n++) (e = arguments[n]) && (r = ke(e)) && (t && (t += " "), t += r);
321
- return t;
319
+ function L() {
320
+ for (var e, n, t = 0, r = "", a = arguments.length; t < a; t++) (e = arguments[t]) && (n = Ye(e)) && (r && (r += " "), r += n);
321
+ return r;
322
322
  }
323
- const hr = "_headerContainer_1cubo_1", vr = "_navigationTabList_1cubo_8", gr = "_navigationTab_1cubo_8", mr = "_headerContent_1cubo_34", _r = "_staticEnabled_1cubo_50", w = {
324
- headerContainer: hr,
325
- navigationTabList: vr,
326
- navigationTab: gr,
327
- headerContent: mr,
328
- staticEnabled: _r
329
- }, Tr = 77, q = ({ sticky: e, children: r }) => {
330
- const { ref: n, height: t } = br({
323
+ const Rn = "_headerContainer_1cubo_1", kn = "_navigationTabList_1cubo_8", On = "_navigationTab_1cubo_8", An = "_headerContent_1cubo_34", qn = "_staticEnabled_1cubo_50", C = {
324
+ headerContainer: Rn,
325
+ navigationTabList: kn,
326
+ navigationTab: On,
327
+ headerContent: An,
328
+ staticEnabled: qn
329
+ }, Bn = 77, M = ({ sticky: e, children: n }) => {
330
+ const { ref: t, height: r } = Cn({
331
331
  refreshMode: "debounce",
332
332
  refreshRate: 0
333
- }), [i, a] = Se(!1), c = () => i ? !e : !0;
334
- Ne(() => {
335
- const l = () => {
336
- a(window.scrollY > 0);
333
+ }), [a, o] = Me(!1), c = () => a ? !e : !0;
334
+ ie(() => {
335
+ const u = () => {
336
+ o(window.scrollY > 0);
337
337
  };
338
- return window.addEventListener("scroll", l), () => window.removeEventListener("scroll", l);
338
+ return window.addEventListener("scroll", u), () => window.removeEventListener("scroll", u);
339
339
  }, []);
340
- const u = `${t || Tr}px`;
341
- return /* @__PURE__ */ s("div", { style: { minHeight: u }, children: /* @__PURE__ */ s("div", { children: /* @__PURE__ */ P(
340
+ const l = `${r || Bn}px`;
341
+ return /* @__PURE__ */ i("div", { style: { minHeight: l }, children: /* @__PURE__ */ i("div", { children: /* @__PURE__ */ b(
342
342
  "div",
343
343
  {
344
- ref: n,
345
- className: Le(w.headerContent, {
346
- [w.staticEnabled]: c()
344
+ ref: t,
345
+ className: L(C.headerContent, {
346
+ [C.staticEnabled]: c()
347
347
  }),
348
348
  children: [
349
- /* @__PURE__ */ s(q.Header, {}),
350
- /* @__PURE__ */ s(q.Tabs, {}),
351
- r
349
+ /* @__PURE__ */ i(M.Header, {}),
350
+ /* @__PURE__ */ i(M.Tabs, {}),
351
+ n
352
352
  ]
353
353
  }
354
354
  ) }) });
355
355
  };
356
- q.Header = ({ children: e }) => /* @__PURE__ */ s("div", { className: w.headerContainer, children: e });
357
- q.Tabs = ({ children: e }) => /* @__PURE__ */ s("div", { className: "flex justify-between gap-2 nowrap", children: e });
358
- const pr = "_breadcrumbsItem_1hm6a_1", yr = "_breadcrumbs_1hm6a_1", me = {
359
- breadcrumbsItem: pr,
360
- breadcrumbs: yr
361
- }, Ur = ({ items: e }) => /* @__PURE__ */ s("nav", { "aria-label": "breadcrumb", className: me.breadcrumbs, children: e.map((r, n) => /* @__PURE__ */ P(Ee, { children: [
362
- /* @__PURE__ */ s(Ge, { className: me.breadcrumbsItem, href: r.link, rel: "noreferrer", children: r.name }),
363
- n < e.length - 1 && /* @__PURE__ */ s("span", { children: " — " })
364
- ] }, `${r.link}-${r.name}`)) }), Sr = ({ items: e }) => /* @__PURE__ */ s(De, { children: e.map((r, n) => /* @__PURE__ */ P(Ee, { children: [
365
- !!n && r.some((t) => t.visible) && /* @__PURE__ */ s(Fe, {}),
366
- r.filter(({ visible: t }) => t).map(({ link: t, label: i, onClick: a }) => /* @__PURE__ */ s(Be, { href: t || "#", "aria-label": i, onClick: a, children: i }, i))
367
- ] }, r[0].label)) }), Nr = "_badge_1pc1v_1", Er = "_tag_1pc1v_15", jr = "_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21", wr = "_disabled_1pc1v_57", Rr = "_projectNavigationItem_1pc1v_61", Ir = "_projectNavigationItemDisabled_1pc1v_67", E = {
368
- badge: Nr,
369
- tag: Er,
370
- withNavLinkStyle: jr,
371
- disabled: wr,
372
- projectNavigationItem: Rr,
373
- projectNavigationItemDisabled: Ir
374
- }, _e = ({ label: e, badge: r, novel: n }) => /* @__PURE__ */ P("div", { className: "flex gap-1", children: [
375
- /* @__PURE__ */ P("div", { children: [
376
- /* @__PURE__ */ s("span", { children: e }),
377
- !!r && /* @__PURE__ */ s("div", { className: E.badge, "aria-label": `${r} items requiring attention`, children: r > 9 ? "9+" : r })
356
+ M.Header = ({ children: e }) => /* @__PURE__ */ i("div", { className: C.headerContainer, children: e });
357
+ M.Tabs = ({ children: e }) => /* @__PURE__ */ i("div", { className: "flex justify-between gap-2 nowrap", children: e });
358
+ const Mn = "_sidebarContainer_bmdti_1", $n = {
359
+ sidebarContainer: Mn
360
+ }, Un = "_logoLink_1baxb_1", Dn = {
361
+ logoLink: Un
362
+ }, zn = ({ src: e, href: n = "/", ariaLabel: t = "Home", alt: r = "Lokalise" }) => /* @__PURE__ */ i("a", { className: Dn.logoLink, href: n, "aria-label": t, children: /* @__PURE__ */ i("img", { src: e, alt: r }) }), Wn = "_link_1weq1_1", Fn = "_active_1weq1_18", Le = {
363
+ link: Wn,
364
+ active: Fn
365
+ }, Hn = ({ label: e, to: n, icon: t }) => /* @__PURE__ */ i(ae, { placement: "right", tooltip: e, children: /* @__PURE__ */ i(
366
+ Ue,
367
+ {
368
+ className: L(Le.link, {
369
+ [Le.active]: window.location.pathname.startsWith(n)
370
+ }),
371
+ href: n,
372
+ children: /* @__PURE__ */ i(t, { size: "25px" })
373
+ }
374
+ ) }), Gn = "_dropdownButton_hwh0c_1", Vn = "_dropdownButtonActive_hwh0c_18", xe = {
375
+ dropdownButton: Gn,
376
+ dropdownButtonActive: Vn
377
+ }, Yn = ({ children: e, icon: n }) => /* @__PURE__ */ i(
378
+ oe,
379
+ {
380
+ menuButton: ({ opened: t }) => /* @__PURE__ */ i(ae, { placement: "right", tooltip: "Help", children: /* @__PURE__ */ i(
381
+ "button",
382
+ {
383
+ type: "button",
384
+ className: L(xe.dropdownButton, {
385
+ [xe.dropdownButtonActive]: t
386
+ }),
387
+ children: /* @__PURE__ */ i(n, { size: "25px" })
388
+ }
389
+ ) }),
390
+ children: /* @__PURE__ */ i(se, { placement: "right-start", children: e })
391
+ }
392
+ ), Zn = "_iconContainer_nz34m_1", Xn = {
393
+ iconContainer: Zn
394
+ }, Ze = ({ className: e = "" }) => /* @__PURE__ */ i(
395
+ "div",
396
+ {
397
+ "aria-label": "Upgrade Icon",
398
+ className: L(
399
+ Xn.iconContainer,
400
+ "flex-row",
401
+ "items-center",
402
+ "justify-center",
403
+ e
404
+ ),
405
+ children: /* @__PURE__ */ i(ln, {})
406
+ }
407
+ ), Jn = "_menuContainer_wbu3u_5", Kn = "_profileButton_wbu3u_16", Qn = "_profileImage_wbu3u_29", et = "_profileImageHighlight_wbu3u_37", nt = "_profileImageUpgradeIcon_wbu3u_41", tt = "_userIconWrapper_wbu3u_47", P = {
408
+ menuContainer: Jn,
409
+ profileButton: Kn,
410
+ profileImage: Qn,
411
+ profileImageHighlight: et,
412
+ profileImageUpgradeIcon: nt,
413
+ userIconWrapper: tt
414
+ }, Xe = on({}), O = () => an(Xe), rt = ({ children: e }) => {
415
+ const {
416
+ currentTeam: n,
417
+ otherTeams: t,
418
+ showUpgradeCta: r,
419
+ showBillingButton: a,
420
+ allowTeamCreation: o,
421
+ isLimitedView: c,
422
+ isProviderAlpha: l,
423
+ canAccessTeamSettings: u,
424
+ isEndOfTrialActive: s,
425
+ isTeamSuspended: d
426
+ } = O();
427
+ return /* @__PURE__ */ i(
428
+ oe,
429
+ {
430
+ menuButton: () => /* @__PURE__ */ b("button", { className: P.profileButton, "aria-label": "Profile menu", type: "button", children: [
431
+ n != null && n.logoUrl ? /* @__PURE__ */ i(
432
+ "img",
433
+ {
434
+ src: n.logoUrl,
435
+ className: L(P.profileImage, {
436
+ [P.profileImageHighlight]: r
437
+ }),
438
+ alt: "Team Logo"
439
+ }
440
+ ) : /* @__PURE__ */ i(
441
+ "div",
442
+ {
443
+ className: L(P.userIconWrapper, "flex-row", "align-center", "items-center", {
444
+ [P.profileImageHighlight]: r
445
+ }),
446
+ children: /* @__PURE__ */ i(De, { size: "25px" })
447
+ }
448
+ ),
449
+ r && /* @__PURE__ */ i(Ze, { className: P.profileImageUpgradeIcon })
450
+ ] }),
451
+ children: /* @__PURE__ */ i(se, { placement: "right-end", className: P.menuContainer, children: e({
452
+ allowTeamCreation: o,
453
+ otherTeams: t,
454
+ isLimitedView: c,
455
+ canAccessTeamSettings: u,
456
+ isEndOfTrialActive: s,
457
+ isTeamSuspended: d,
458
+ showBillingButton: a,
459
+ isProviderAlpha: l
460
+ }) })
461
+ }
462
+ );
463
+ }, Je = 0, it = 9999, at = [150, 151, 250, 251], ot = [152, 153, 252, 253], st = [154, 155, 157, 158, 254, 255, 258, 354, 355, 358], ct = [156, 159, 160, 256, 259, 260], Ke = 9998, le = (e) => e === Je, Qe = (e) => e === it, Vt = (e) => at.includes(e), Yt = (e) => ot.includes(e), Zt = (e) => st.includes(e), Xt = (e) => ct.includes(e), Jt = (e) => e > Je && e < Ke, Kt = (e) => e === Ke, lt = /\n/, Ce = (e, n, t) => e.split(n).flatMap((r, a) => a !== 0 ? [sn(t, { key: Math.random().toString(32).slice(0, 10) }), r] : r), ut = (e, n, t) => typeof e == "string" ? Ce(e, n, t) : e.flatMap((r) => typeof r == "string" ? Ce(r, n, t) : r), Qt = (e) => ut(e, lt, /* @__PURE__ */ i("br", {})), dt = /(\b(https?|):\/\/[-a-zA-Zа-яА-Я0-9+&@#/%?=~_|!:,.;]*[-a-zA-Zа-яА-Я0-9+&@#/%=~_|])/gi, ft = (e) => e.match(dt) ?? [], Re = (e, n, t) => {
464
+ const r = e.split(n);
465
+ if (r.length === 1)
466
+ return e;
467
+ const a = [];
468
+ return r[0] !== "" && a.push(r[0]), r.shift(), r[r.length - 1] === "" && r.pop(), a.push(
469
+ /* @__PURE__ */ i("a", { href: n, target: "_blank", rel: "noreferrer noopener", children: n }, n + t)
470
+ ), a.push(r.join(n)), a.filter((o) => o !== "");
471
+ }, ke = (e) => {
472
+ const n = ft(e);
473
+ return n != null && n.length ? n.reduce((t, r, a) => typeof t == "string" ? Re(t, r, a) : t.flatMap((o) => typeof o == "string" ? Re(o, r, a) : o), e) : e;
474
+ }, er = (e) => typeof e == "string" ? ke(e) : e.flatMap((n) => typeof n == "string" ? ke(n) : n, e), nr = (e, n = "PP") => We(e, n), tr = (e, n, t = "PP") => We(dn(e, n), t), rr = (e) => {
475
+ ie(e, []);
476
+ }, mt = ({ children: e, config: n }) => {
477
+ const {
478
+ teams: t,
479
+ currentTeamId: r,
480
+ planId: a,
481
+ isLimitedView: o,
482
+ isTeamSuspended: c,
483
+ canAccessTeamSettings: l,
484
+ isEndOfTrialActive: u
485
+ } = n, s = t.find((m) => m.id === r), d = t.filter((m) => m.id !== r), h = (s == null ? void 0 : s.role) ?? "", v = ["biller", "owner"].includes(h), T = le(a) || Qe(a), S = {
486
+ ...n,
487
+ currentTeam: s,
488
+ otherTeams: d,
489
+ canChangeBilling: v,
490
+ isOnFreeOrTrialPlan: T,
491
+ showUpgradeCta: !o && T && v && !c,
492
+ showBillingButton: !o && l && v,
493
+ allowTeamCreation: !o && !u
494
+ };
495
+ return /* @__PURE__ */ i(Xe.Provider, { value: S, children: e });
496
+ }, gt = ({ config: e, children: n }) => /* @__PURE__ */ i(mt, { config: e, children: /* @__PURE__ */ i(rt, { children: n }) }), ht = "_container_q5pot_1", pt = "_profileEmail_q5pot_5", Oe = {
497
+ container: ht,
498
+ profileEmail: pt
499
+ }, bt = ({
500
+ href: e,
501
+ onClick: n,
502
+ userEmail: t,
503
+ hideBottomDivider: r
504
+ }) => {
505
+ const { isEndOfTrialActive: a, isTeamSuspended: o } = O();
506
+ return a || o ? null : /* @__PURE__ */ b(Be, { children: [
507
+ /* @__PURE__ */ i(
508
+ $,
509
+ {
510
+ href: e,
511
+ onClick: () => {
512
+ n == null || n();
513
+ },
514
+ children: /* @__PURE__ */ b("div", { className: `flex-col ${Oe.container}`, children: [
515
+ /* @__PURE__ */ i("span", { children: "Profile Settings" }),
516
+ /* @__PURE__ */ i("span", { className: Oe.profileEmail, children: t })
517
+ ] })
518
+ }
519
+ ),
520
+ !r && /* @__PURE__ */ i(ze, {})
521
+ ] });
522
+ }, _t = "_wrapper_15d85_1", vt = "_profileImage_15d85_14", Tt = "_teamName_15d85_22", wt = "_planLabel_15d85_29", It = "_membership_15d85_38", yt = "_defaultProfileImage_15d85_44", x = {
523
+ wrapper: _t,
524
+ profileImage: vt,
525
+ teamName: Tt,
526
+ planLabel: wt,
527
+ membership: It,
528
+ defaultProfileImage: yt
529
+ }, en = ({ team: e, onClick: n, hidePlanLabel: t }) => {
530
+ const { currentTeam: r, planId: a } = O(), o = e || r;
531
+ if (!o)
532
+ return null;
533
+ const c = le(a) ? "Free" : Qe(a) ? "Trial" : void 0;
534
+ return /* @__PURE__ */ b(
535
+ n ? $ : "div",
536
+ {
537
+ className: `flex-row gap-2 flex-nowrap items-center ${x.wrapper}`,
538
+ ...n && { onClick: () => n(o) },
539
+ children: [
540
+ o.logoUrl ? /* @__PURE__ */ i("img", { className: x.profileImage, src: o.logoUrl, alt: "Team Logo" }) : /* @__PURE__ */ i("span", { className: `flex-row justify-center items-center ${x.defaultProfileImage}`, children: /* @__PURE__ */ i(De, { size: "25px" }) }),
541
+ /* @__PURE__ */ b("div", { className: "flex-col items-start", children: [
542
+ /* @__PURE__ */ b("div", { className: "flex-row items-center flex-nowrap gap-2", children: [
543
+ /* @__PURE__ */ i("span", { title: o.name, className: x.teamName, children: o.name }),
544
+ c && !t && /* @__PURE__ */ i("span", { className: `flex-row justify-center items-center ${x.planLabel}`, children: c })
545
+ ] }),
546
+ /* @__PURE__ */ i("span", { className: x.membership, children: o.role })
547
+ ] })
548
+ ]
549
+ }
550
+ );
551
+ }, Nt = "_teamsContainer_1t68g_1", St = {
552
+ teamsContainer: Nt
553
+ }, Et = ({ onSwitchTeam: e }) => {
554
+ const { otherTeams: n } = O();
555
+ return n.length === 0 ? null : /* @__PURE__ */ i("div", { className: `flex-col items-stretch ${St.teamsContainer}`, children: n.map((t) => /* @__PURE__ */ i(en, { team: t, onClick: e, hidePlanLabel: !0 }, t.id)) });
556
+ }, Pt = "_container_1u995_1", jt = "_planCta_1u995_15", Lt = "_upgradeIconWrapper_1u995_19", te = {
557
+ container: Pt,
558
+ planCta: jt,
559
+ upgradeIconWrapper: Lt
560
+ }, xt = ({ upgradeOptionHref: e }) => {
561
+ const { planId: n, trialDaysLeft: t, showUpgradeCta: r } = O();
562
+ if (!r)
563
+ return null;
564
+ const c = le(n) ? "Your team is currently on the Free plan" : `Free trial ends in ${t} ${t === 1 ? "day" : "days"}`;
565
+ return /* @__PURE__ */ b($, { href: e, className: `flex-col gap-1 items-start ${te.container}`, children: [
566
+ /* @__PURE__ */ i("span", { className: te.planCta, children: c }),
567
+ /* @__PURE__ */ b("div", { className: `flex-row items-center gap-1 ${te.upgradeIconWrapper}`, children: [
568
+ /* @__PURE__ */ i(Ze, {}),
569
+ /* @__PURE__ */ i("span", { children: "See upgrade options" })
570
+ ] })
571
+ ] });
572
+ }, I = ({ children: e, ...n }) => /* @__PURE__ */ i("nav", { ...n, className: $n.sidebarContainer, children: e });
573
+ I.Top = ({ children: e }) => /* @__PURE__ */ i("div", { children: e });
574
+ I.Bottom = ({ children: e }) => /* @__PURE__ */ i("div", { children: e });
575
+ I.Avatar = zn;
576
+ I.IconLink = Hn;
577
+ I.Menu = Yn;
578
+ I.ProfileMenu = gt;
579
+ I.TeamSwitch = Et;
580
+ I.TeamMenuItem = en;
581
+ I.UpgradeMenuItem = xt;
582
+ I.ProfileSettingsMenuItem = bt;
583
+ const Ct = "_breadcrumbsItem_1hm6a_1", Rt = "_breadcrumbs_1hm6a_1", Ae = {
584
+ breadcrumbsItem: Ct,
585
+ breadcrumbs: Rt
586
+ }, ir = ({ items: e }) => /* @__PURE__ */ i("nav", { "aria-label": "breadcrumb", className: Ae.breadcrumbs, children: e.map((n, t) => /* @__PURE__ */ b($e, { children: [
587
+ /* @__PURE__ */ i(Ue, { className: Ae.breadcrumbsItem, href: n.link, rel: "noreferrer", children: n.name }),
588
+ t < e.length - 1 && /* @__PURE__ */ i("span", { children: " — " })
589
+ ] }, `${n.link}-${n.name}`)) }), kt = ({ items: e }) => /* @__PURE__ */ i(Be, { children: e.map((n, t) => /* @__PURE__ */ b($e, { children: [
590
+ !!t && n.some((r) => r.visible) && /* @__PURE__ */ i(ze, {}),
591
+ n.filter(({ visible: r }) => r).map(({ link: r, label: a, onClick: o }) => /* @__PURE__ */ i($, { href: r || "#", "aria-label": a, onClick: o, children: a }, a))
592
+ ] }, n[0].label)) }), Ot = "_badge_1pc1v_1", At = "_tag_1pc1v_15", qt = "_withNavLinkStyle_1pc1v_42 _withLinkStyle_1pc1v_21", Bt = "_disabled_1pc1v_57", Mt = "_projectNavigationItem_1pc1v_61", $t = "_projectNavigationItemDisabled_1pc1v_67", j = {
593
+ badge: Ot,
594
+ tag: At,
595
+ withNavLinkStyle: qt,
596
+ disabled: Bt,
597
+ projectNavigationItem: Mt,
598
+ projectNavigationItemDisabled: $t
599
+ }, qe = ({ label: e, badge: n, novel: t }) => /* @__PURE__ */ b("div", { className: "flex gap-1", children: [
600
+ /* @__PURE__ */ b("div", { children: [
601
+ /* @__PURE__ */ i("span", { children: e }),
602
+ !!n && /* @__PURE__ */ i("div", { className: j.badge, "aria-label": `${n} items requiring attention`, children: n > 9 ? "9+" : n })
378
603
  ] }),
379
- !!n && /* @__PURE__ */ s($e, { className: E.tag, children: n })
380
- ] }), Y = ze(
381
- ({ label: e, href: r = "", disabled: n = !1, badge: t, onClick: i, novel: a }, c) => /* @__PURE__ */ s(He, { tooltip: "You do not have access to this function", show: n, children: /* @__PURE__ */ s(
604
+ !!t && /* @__PURE__ */ i(un, { className: j.tag, children: t })
605
+ ] }), re = cn(
606
+ ({ label: e, href: n = "", disabled: t = !1, badge: r, onClick: a, novel: o }, c) => /* @__PURE__ */ i(ae, { tooltip: "You do not have access to this function", show: t, children: /* @__PURE__ */ i(
382
607
  "div",
383
608
  {
384
- className: n ? E.projectNavigationItemDisabled : E.projectNavigationItem,
385
- children: i || n || !r ? /* @__PURE__ */ s(
609
+ className: t ? j.projectNavigationItemDisabled : j.projectNavigationItem,
610
+ children: a || t || !n ? /* @__PURE__ */ i(
386
611
  "button",
387
612
  {
388
613
  type: "button",
389
614
  ref: c,
390
- className: Le(E.withNavLinkStyle, {
391
- [E.disabled]: n
615
+ className: L(j.withNavLinkStyle, {
616
+ [j.disabled]: t
392
617
  }),
393
- disabled: n,
394
- onClick: i,
395
- children: /* @__PURE__ */ s(_e, { label: e, badge: t, novel: a })
618
+ disabled: t,
619
+ onClick: a,
620
+ children: /* @__PURE__ */ i(qe, { label: e, badge: r, novel: o })
396
621
  }
397
- ) : /* @__PURE__ */ s("a", { href: r, className: E.withNavLinkStyle, children: /* @__PURE__ */ s(_e, { label: e, badge: t, novel: a }) })
622
+ ) : /* @__PURE__ */ i("a", { href: n, className: j.withNavLinkStyle, children: /* @__PURE__ */ i(qe, { label: e, badge: r, novel: o }) })
398
623
  }
399
624
  ) })
400
625
  );
401
- Y.displayName = "NavigationTabsItem";
402
- const Pr = (e) => (e == null ? void 0 : e.some((r) => r.some((n) => n.visible))) ?? !1, kr = (e) => e.visible && (!e.dropdown || Pr(e.dropdown)), Wr = ({ navigation: e, activeItem: r }) => /* @__PURE__ */ s("nav", { "aria-label": "Project", children: /* @__PURE__ */ s("ul", { className: w.navigationTabList, "aria-orientation": "horizontal", children: e.filter(kr).map((n) => {
403
- var t, i, a;
404
- return n.dropdown ? /* @__PURE__ */ s(
626
+ re.displayName = "NavigationTabsItem";
627
+ const Ut = (e) => (e == null ? void 0 : e.some((n) => n.some((t) => t.visible))) ?? !1, Dt = (e) => e.visible && (!e.dropdown || Ut(e.dropdown)), ar = ({ navigation: e, activeItem: n }) => /* @__PURE__ */ i("nav", { "aria-label": "Project", children: /* @__PURE__ */ i("ul", { className: C.navigationTabList, "aria-orientation": "horizontal", children: e.filter(Dt).map((t) => {
628
+ var r, a, o;
629
+ return t.dropdown ? /* @__PURE__ */ i(
405
630
  "li",
406
631
  {
407
- className: w.navigationTab,
408
- "data-testid": n.key,
409
- "aria-selected": (t = n.isActive) == null ? void 0 : t.call(n, r),
410
- children: /* @__PURE__ */ s(
411
- Ue,
632
+ className: C.navigationTab,
633
+ "data-testid": t.key,
634
+ "aria-selected": (r = t.isActive) == null ? void 0 : r.call(t, n),
635
+ children: /* @__PURE__ */ i(
636
+ oe,
412
637
  {
413
- menuButton: ({ opened: c }) => /* @__PURE__ */ s(Y, { label: n.label, disabled: n.disabled, active: c }),
414
- children: /* @__PURE__ */ s(We, { children: /* @__PURE__ */ s(Sr, { items: n.dropdown }) })
638
+ menuButton: ({ opened: c }) => /* @__PURE__ */ i(re, { label: t.label, disabled: t.disabled, active: c }),
639
+ children: /* @__PURE__ */ i(se, { children: /* @__PURE__ */ i(kt, { items: t.dropdown }) })
415
640
  }
416
641
  )
417
642
  },
418
- n.key
419
- ) : /* @__PURE__ */ s(
643
+ t.key
644
+ ) : /* @__PURE__ */ i(
420
645
  "li",
421
646
  {
422
- className: w.navigationTab,
423
- "data-testid": n.key,
424
- "aria-selected": (i = n.isActive) == null ? void 0 : i.call(n, r),
425
- children: /* @__PURE__ */ s(
426
- Y,
647
+ className: C.navigationTab,
648
+ "data-testid": t.key,
649
+ "aria-selected": (a = t.isActive) == null ? void 0 : a.call(t, n),
650
+ children: /* @__PURE__ */ i(
651
+ re,
427
652
  {
428
- label: n.label,
429
- href: n.link,
430
- onClick: n.onClick,
431
- disabled: n.disabled,
432
- badge: n.badge,
433
- novel: n.novel,
434
- active: (a = n.isActive) == null ? void 0 : a.call(n, r)
653
+ label: t.label,
654
+ href: t.link,
655
+ onClick: t.onClick,
656
+ disabled: t.disabled,
657
+ badge: t.badge,
658
+ novel: t.novel,
659
+ active: (o = t.isActive) == null ? void 0 : o.call(t, n)
435
660
  }
436
661
  )
437
662
  },
438
- n.key
663
+ t.key
439
664
  );
440
- }) }) }), Oe = 0, Lr = 9999, Or = [150, 151, 250, 251], qr = [152, 153, 252, 253], xr = [154, 155, 157, 158, 254, 255, 258, 354, 355, 358], Ar = [156, 159, 160, 256, 259, 260], qe = 9998, Zr = (e) => e === Oe, Vr = (e) => e === Lr, Xr = (e) => Or.includes(e), Yr = (e) => qr.includes(e), Jr = (e) => xr.includes(e), Kr = (e) => Ar.includes(e), Qr = (e) => e > Oe && e < qe, en = (e) => e === qe, Dr = /\n/, Te = (e, r, n) => e.split(r).flatMap((t, i) => i !== 0 ? [Me(n, { key: Math.random().toString(32).slice(0, 10) }), t] : t), Cr = (e, r, n) => typeof e == "string" ? Te(e, r, n) : e.flatMap((t) => typeof t == "string" ? Te(t, r, n) : t), rn = (e) => Cr(e, Dr, /* @__PURE__ */ s("br", {})), zr = /(\b(https?|):\/\/[-a-zA-Zа-яА-Я0-9+&@#/%?=~_|!:,.;]*[-a-zA-Zа-яА-Я0-9+&@#/%=~_|])/gi, Mr = (e) => e.match(zr) ?? [], pe = (e, r, n) => {
441
- const t = e.split(r);
442
- if (t.length === 1)
443
- return e;
444
- const i = [];
445
- return t[0] !== "" && i.push(t[0]), t.shift(), t[t.length - 1] === "" && t.pop(), i.push(
446
- /* @__PURE__ */ s("a", { href: r, target: "_blank", rel: "noreferrer noopener", children: r }, r + n)
447
- ), i.push(t.join(r)), i.filter((a) => a !== "");
448
- }, ye = (e) => {
449
- const r = Mr(e);
450
- return r != null && r.length ? r.reduce((n, t, i) => typeof n == "string" ? pe(n, t, i) : n.flatMap((a) => typeof a == "string" ? pe(a, t, i) : a), e) : e;
451
- }, nn = (e) => typeof e == "string" ? ye(e) : e.flatMap((r) => typeof r == "string" ? ye(r) : r, e), tn = (e, r = "PP") => je(e, r), an = (e, r, n = "PP") => je(Ze(e, r), n);
665
+ }) }) });
452
666
  export {
453
- Ur as Breadcrumbs,
454
- qe as ENTERPRISE_OPENSOURCE_PLAN_ID,
455
- Ar as ENTERPRISE_PLAN_IDS,
456
- qr as ESSENTIAL_PLAN_IDS,
457
- Oe as FREE_PLAN_ID,
458
- q as NavigationPanel,
459
- Wr as NavigationTabs,
460
- xr as PRO_PLAN_IDS,
461
- Or as START_PLAN_IDS,
462
- Lr as TRIAL_PLAN_ID,
463
- rn as convertNewLineToBreakTag,
464
- tn as formatDate,
465
- an as formatDateTz,
466
- en as isEnterpriseOpenSourcePlan,
467
- Kr as isEnterprisePlan,
468
- Yr as isEssentialPlan,
469
- Zr as isFreePlan,
470
- Qr as isPaidPlan,
471
- Jr as isProPlan,
472
- Xr as isStartPlan,
473
- Vr as isTrialPlan,
474
- nn as makeUrlClickable
667
+ ir as Breadcrumbs,
668
+ Ke as ENTERPRISE_OPENSOURCE_PLAN_ID,
669
+ ct as ENTERPRISE_PLAN_IDS,
670
+ ot as ESSENTIAL_PLAN_IDS,
671
+ Je as FREE_PLAN_ID,
672
+ M as NavigationPanel,
673
+ ar as NavigationTabs,
674
+ st as PRO_PLAN_IDS,
675
+ at as START_PLAN_IDS,
676
+ I as Sidebar,
677
+ it as TRIAL_PLAN_ID,
678
+ Qt as convertNewLineToBreakTag,
679
+ nr as formatDate,
680
+ tr as formatDateTz,
681
+ Kt as isEnterpriseOpenSourcePlan,
682
+ Xt as isEnterprisePlan,
683
+ Yt as isEssentialPlan,
684
+ le as isFreePlan,
685
+ Jt as isPaidPlan,
686
+ Zt as isProPlan,
687
+ Vt as isStartPlan,
688
+ Qe as isTrialPlan,
689
+ er as makeUrlClickable,
690
+ rr as useEffectOnce
475
691
  };