@tracktor/shared-module 2.20.0 → 2.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +271 -271
- package/dist/main.umd.cjs +2 -2
- package/package.json +4 -2
package/dist/main.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Z from "axios";
|
|
2
|
-
import fe, { useMemo as G, createContext as pe, useContext as P, useEffect as j, useState as W,
|
|
3
|
-
const
|
|
2
|
+
import fe, { useMemo as G, createContext as pe, useContext as P, useEffect as j, useState as W, Suspense as ge, useRef as me, useCallback as O } from "react";
|
|
3
|
+
const We = (e, r) => {
|
|
4
4
|
const o = Z.CancelToken.source(), a = Z({
|
|
5
5
|
...e,
|
|
6
6
|
...r,
|
|
@@ -12,23 +12,23 @@ const Ye = (e, r) => {
|
|
|
12
12
|
};
|
|
13
13
|
var D = { exports: {} }, L = {};
|
|
14
14
|
var ee;
|
|
15
|
-
function
|
|
15
|
+
function he() {
|
|
16
16
|
if (ee) return L;
|
|
17
17
|
ee = 1;
|
|
18
18
|
var e = /* @__PURE__ */ Symbol.for("react.transitional.element"), r = /* @__PURE__ */ Symbol.for("react.fragment");
|
|
19
|
-
function o(a, n,
|
|
19
|
+
function o(a, n, s) {
|
|
20
20
|
var c = null;
|
|
21
|
-
if (
|
|
22
|
-
|
|
21
|
+
if (s !== void 0 && (c = "" + s), n.key !== void 0 && (c = "" + n.key), "key" in n) {
|
|
22
|
+
s = {};
|
|
23
23
|
for (var u in n)
|
|
24
|
-
u !== "key" && (
|
|
25
|
-
} else
|
|
26
|
-
return n =
|
|
24
|
+
u !== "key" && (s[u] = n[u]);
|
|
25
|
+
} else s = n;
|
|
26
|
+
return n = s.ref, {
|
|
27
27
|
$$typeof: e,
|
|
28
28
|
type: a,
|
|
29
29
|
key: c,
|
|
30
30
|
ref: n !== void 0 ? n : null,
|
|
31
|
-
props:
|
|
31
|
+
props: s
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
return L.Fragment = r, L.jsx = o, L.jsxs = o, L;
|
|
@@ -43,15 +43,15 @@ function ye() {
|
|
|
43
43
|
return t.$$typeof === le ? null : t.displayName || t.name || null;
|
|
44
44
|
if (typeof t == "string") return t;
|
|
45
45
|
switch (t) {
|
|
46
|
-
case
|
|
46
|
+
case T:
|
|
47
47
|
return "Fragment";
|
|
48
|
-
case
|
|
48
|
+
case f:
|
|
49
49
|
return "Profiler";
|
|
50
|
-
case
|
|
50
|
+
case h:
|
|
51
51
|
return "StrictMode";
|
|
52
52
|
case I:
|
|
53
53
|
return "Suspense";
|
|
54
|
-
case
|
|
54
|
+
case ie:
|
|
55
55
|
return "SuspenseList";
|
|
56
56
|
case ce:
|
|
57
57
|
return "Activity";
|
|
@@ -62,19 +62,19 @@ function ye() {
|
|
|
62
62
|
), t.$$typeof) {
|
|
63
63
|
case A:
|
|
64
64
|
return "Portal";
|
|
65
|
-
case
|
|
65
|
+
case R:
|
|
66
66
|
return t.displayName || "Context";
|
|
67
|
-
case m:
|
|
68
|
-
return (t._context.displayName || "Context") + ".Consumer";
|
|
69
67
|
case b:
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
return
|
|
68
|
+
return (t._context.displayName || "Context") + ".Consumer";
|
|
69
|
+
case _:
|
|
70
|
+
var p = t.render;
|
|
71
|
+
return t = t.displayName, t || (t = p.displayName || p.name || "", t = t !== "" ? "ForwardRef(" + t + ")" : "ForwardRef"), t;
|
|
72
|
+
case se:
|
|
73
|
+
return p = t.displayName || null, p !== null ? p : e(t.type) || "Memo";
|
|
74
74
|
case z:
|
|
75
|
-
|
|
75
|
+
p = t._payload, t = t._init;
|
|
76
76
|
try {
|
|
77
|
-
return e(t(
|
|
77
|
+
return e(t(p));
|
|
78
78
|
} catch {
|
|
79
79
|
}
|
|
80
80
|
}
|
|
@@ -86,27 +86,27 @@ function ye() {
|
|
|
86
86
|
function o(t) {
|
|
87
87
|
try {
|
|
88
88
|
r(t);
|
|
89
|
-
var
|
|
89
|
+
var p = !1;
|
|
90
90
|
} catch {
|
|
91
|
-
|
|
91
|
+
p = !0;
|
|
92
92
|
}
|
|
93
|
-
if (
|
|
94
|
-
|
|
95
|
-
var
|
|
96
|
-
return
|
|
97
|
-
|
|
93
|
+
if (p) {
|
|
94
|
+
p = console;
|
|
95
|
+
var y = p.error, w = typeof Symbol == "function" && Symbol.toStringTag && t[Symbol.toStringTag] || t.constructor.name || "Object";
|
|
96
|
+
return y.call(
|
|
97
|
+
p,
|
|
98
98
|
"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
|
|
99
99
|
w
|
|
100
100
|
), r(t);
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
function a(t) {
|
|
104
|
-
if (t ===
|
|
104
|
+
if (t === T) return "<>";
|
|
105
105
|
if (typeof t == "object" && t !== null && t.$$typeof === z)
|
|
106
106
|
return "<...>";
|
|
107
107
|
try {
|
|
108
|
-
var
|
|
109
|
-
return
|
|
108
|
+
var p = e(t);
|
|
109
|
+
return p ? "<" + p + ">" : "<...>";
|
|
110
110
|
} catch {
|
|
111
111
|
return "<...>";
|
|
112
112
|
}
|
|
@@ -115,43 +115,43 @@ function ye() {
|
|
|
115
115
|
var t = U.A;
|
|
116
116
|
return t === null ? null : t.getOwner();
|
|
117
117
|
}
|
|
118
|
-
function
|
|
118
|
+
function s() {
|
|
119
119
|
return Error("react-stack-top-frame");
|
|
120
120
|
}
|
|
121
121
|
function c(t) {
|
|
122
122
|
if (J.call(t, "key")) {
|
|
123
|
-
var
|
|
124
|
-
if (
|
|
123
|
+
var p = Object.getOwnPropertyDescriptor(t, "key").get;
|
|
124
|
+
if (p && p.isReactWarning) return !1;
|
|
125
125
|
}
|
|
126
126
|
return t.key !== void 0;
|
|
127
127
|
}
|
|
128
|
-
function u(t,
|
|
129
|
-
function
|
|
130
|
-
|
|
128
|
+
function u(t, p) {
|
|
129
|
+
function y() {
|
|
130
|
+
q || (q = !0, console.error(
|
|
131
131
|
"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
|
|
132
|
-
|
|
132
|
+
p
|
|
133
133
|
));
|
|
134
134
|
}
|
|
135
|
-
|
|
136
|
-
get:
|
|
135
|
+
y.isReactWarning = !0, Object.defineProperty(t, "key", {
|
|
136
|
+
get: y,
|
|
137
137
|
configurable: !0
|
|
138
138
|
});
|
|
139
139
|
}
|
|
140
140
|
function l() {
|
|
141
141
|
var t = e(this.type);
|
|
142
|
-
return
|
|
142
|
+
return K[t] || (K[t] = !0, console.error(
|
|
143
143
|
"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
|
|
144
144
|
)), t = this.props.ref, t !== void 0 ? t : null;
|
|
145
145
|
}
|
|
146
|
-
function d(t,
|
|
147
|
-
var
|
|
146
|
+
function d(t, p, y, w, $, V) {
|
|
147
|
+
var E = y.ref;
|
|
148
148
|
return t = {
|
|
149
|
-
$$typeof:
|
|
149
|
+
$$typeof: k,
|
|
150
150
|
type: t,
|
|
151
|
-
key:
|
|
152
|
-
props:
|
|
151
|
+
key: p,
|
|
152
|
+
props: y,
|
|
153
153
|
_owner: w
|
|
154
|
-
}, (
|
|
154
|
+
}, (E !== void 0 ? E : null) !== null ? Object.defineProperty(t, "ref", {
|
|
155
155
|
enumerable: !1,
|
|
156
156
|
get: l
|
|
157
157
|
}) : Object.defineProperty(t, "ref", { enumerable: !1, value: null }), t._store = {}, Object.defineProperty(t._store, "validated", {
|
|
@@ -176,25 +176,25 @@ function ye() {
|
|
|
176
176
|
value: V
|
|
177
177
|
}), Object.freeze && (Object.freeze(t.props), Object.freeze(t)), t;
|
|
178
178
|
}
|
|
179
|
-
function
|
|
180
|
-
var
|
|
181
|
-
if (
|
|
179
|
+
function i(t, p, y, w, $, V) {
|
|
180
|
+
var E = p.children;
|
|
181
|
+
if (E !== void 0)
|
|
182
182
|
if (w)
|
|
183
|
-
if (ue(
|
|
184
|
-
for (w = 0; w <
|
|
185
|
-
|
|
186
|
-
Object.freeze && Object.freeze(
|
|
183
|
+
if (ue(E)) {
|
|
184
|
+
for (w = 0; w < E.length; w++)
|
|
185
|
+
m(E[w]);
|
|
186
|
+
Object.freeze && Object.freeze(E);
|
|
187
187
|
} else
|
|
188
188
|
console.error(
|
|
189
189
|
"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
|
|
190
190
|
);
|
|
191
|
-
else
|
|
192
|
-
if (J.call(
|
|
193
|
-
|
|
194
|
-
var x = Object.keys(
|
|
191
|
+
else m(E);
|
|
192
|
+
if (J.call(p, "key")) {
|
|
193
|
+
E = e(t);
|
|
194
|
+
var x = Object.keys(p).filter(function(de) {
|
|
195
195
|
return de !== "key";
|
|
196
196
|
});
|
|
197
|
-
w = 0 < x.length ? "{key: someKey, " + x.join(": ..., ") + ": ...}" : "{key: someKey}", X[
|
|
197
|
+
w = 0 < x.length ? "{key: someKey, " + x.join(": ..., ") + ": ...}" : "{key: someKey}", X[E + w] || (x = 0 < x.length ? "{" + x.join(": ..., ") + ": ...}" : "{}", console.error(
|
|
198
198
|
`A props object containing a "key" prop is being spread into JSX:
|
|
199
199
|
let props = %s;
|
|
200
200
|
<%s {...props} />
|
|
@@ -202,35 +202,35 @@ React keys must be passed directly to JSX without using spread:
|
|
|
202
202
|
let props = %s;
|
|
203
203
|
<%s key={someKey} {...props} />`,
|
|
204
204
|
w,
|
|
205
|
-
|
|
205
|
+
E,
|
|
206
206
|
x,
|
|
207
|
-
|
|
208
|
-
), X[
|
|
207
|
+
E
|
|
208
|
+
), X[E + w] = !0);
|
|
209
209
|
}
|
|
210
|
-
if (
|
|
211
|
-
|
|
212
|
-
for (var M in
|
|
213
|
-
M !== "key" && (
|
|
214
|
-
} else
|
|
215
|
-
return
|
|
216
|
-
|
|
210
|
+
if (E = null, y !== void 0 && (o(y), E = "" + y), c(p) && (o(p.key), E = "" + p.key), "key" in p) {
|
|
211
|
+
y = {};
|
|
212
|
+
for (var M in p)
|
|
213
|
+
M !== "key" && (y[M] = p[M]);
|
|
214
|
+
} else y = p;
|
|
215
|
+
return E && u(
|
|
216
|
+
y,
|
|
217
217
|
typeof t == "function" ? t.displayName || t.name || "Unknown" : t
|
|
218
218
|
), d(
|
|
219
219
|
t,
|
|
220
|
-
|
|
221
|
-
|
|
220
|
+
E,
|
|
221
|
+
y,
|
|
222
222
|
n(),
|
|
223
223
|
$,
|
|
224
224
|
V
|
|
225
225
|
);
|
|
226
226
|
}
|
|
227
|
-
function
|
|
228
|
-
|
|
227
|
+
function m(t) {
|
|
228
|
+
g(t) ? t._store && (t._store.validated = 1) : typeof t == "object" && t !== null && t.$$typeof === z && (t._payload.status === "fulfilled" ? g(t._payload.value) && t._payload.value._store && (t._payload.value._store.validated = 1) : t._store && (t._store.validated = 1));
|
|
229
229
|
}
|
|
230
|
-
function
|
|
231
|
-
return typeof t == "object" && t !== null && t.$$typeof ===
|
|
230
|
+
function g(t) {
|
|
231
|
+
return typeof t == "object" && t !== null && t.$$typeof === k;
|
|
232
232
|
}
|
|
233
|
-
var v = fe,
|
|
233
|
+
var v = fe, k = /* @__PURE__ */ Symbol.for("react.transitional.element"), A = /* @__PURE__ */ Symbol.for("react.portal"), T = /* @__PURE__ */ Symbol.for("react.fragment"), h = /* @__PURE__ */ Symbol.for("react.strict_mode"), f = /* @__PURE__ */ Symbol.for("react.profiler"), b = /* @__PURE__ */ Symbol.for("react.consumer"), R = /* @__PURE__ */ Symbol.for("react.context"), _ = /* @__PURE__ */ Symbol.for("react.forward_ref"), I = /* @__PURE__ */ Symbol.for("react.suspense"), ie = /* @__PURE__ */ Symbol.for("react.suspense_list"), se = /* @__PURE__ */ Symbol.for("react.memo"), z = /* @__PURE__ */ Symbol.for("react.lazy"), ce = /* @__PURE__ */ Symbol.for("react.activity"), le = /* @__PURE__ */ Symbol.for("react.client.reference"), U = v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, J = Object.prototype.hasOwnProperty, ue = Array.isArray, Q = console.createTask ? console.createTask : function() {
|
|
234
234
|
return null;
|
|
235
235
|
};
|
|
236
236
|
v = {
|
|
@@ -238,46 +238,46 @@ React keys must be passed directly to JSX without using spread:
|
|
|
238
238
|
return t();
|
|
239
239
|
}
|
|
240
240
|
};
|
|
241
|
-
var
|
|
241
|
+
var q, K = {}, H = v.react_stack_bottom_frame.bind(
|
|
242
242
|
v,
|
|
243
|
-
|
|
244
|
-
)(),
|
|
245
|
-
N.Fragment =
|
|
243
|
+
s
|
|
244
|
+
)(), B = Q(a(s)), X = {};
|
|
245
|
+
N.Fragment = T, N.jsx = function(t, p, y) {
|
|
246
246
|
var w = 1e4 > U.recentlyCreatedOwnerStacks++;
|
|
247
|
-
return
|
|
247
|
+
return i(
|
|
248
248
|
t,
|
|
249
|
-
|
|
250
|
-
|
|
249
|
+
p,
|
|
250
|
+
y,
|
|
251
251
|
!1,
|
|
252
|
-
w ? Error("react-stack-top-frame") :
|
|
253
|
-
w ? Q(a(t)) :
|
|
252
|
+
w ? Error("react-stack-top-frame") : H,
|
|
253
|
+
w ? Q(a(t)) : B
|
|
254
254
|
);
|
|
255
|
-
}, N.jsxs = function(t,
|
|
255
|
+
}, N.jsxs = function(t, p, y) {
|
|
256
256
|
var w = 1e4 > U.recentlyCreatedOwnerStacks++;
|
|
257
|
-
return
|
|
257
|
+
return i(
|
|
258
258
|
t,
|
|
259
|
-
|
|
260
|
-
|
|
259
|
+
p,
|
|
260
|
+
y,
|
|
261
261
|
!0,
|
|
262
|
-
w ? Error("react-stack-top-frame") :
|
|
263
|
-
w ? Q(a(t)) :
|
|
262
|
+
w ? Error("react-stack-top-frame") : H,
|
|
263
|
+
w ? Q(a(t)) : B
|
|
264
264
|
);
|
|
265
265
|
};
|
|
266
266
|
})()), N;
|
|
267
267
|
}
|
|
268
268
|
var re;
|
|
269
|
-
function
|
|
270
|
-
return re || (re = 1, process.env.NODE_ENV === "production" ? D.exports =
|
|
269
|
+
function ve() {
|
|
270
|
+
return re || (re = 1, process.env.NODE_ENV === "production" ? D.exports = he() : D.exports = ye()), D.exports;
|
|
271
271
|
}
|
|
272
|
-
var C =
|
|
273
|
-
const
|
|
272
|
+
var C = ve();
|
|
273
|
+
const ze = ({ IMaskMixin: e, ...r }) => {
|
|
274
274
|
const o = G(
|
|
275
275
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
276
276
|
() => e(({ TextField: a, ...n }) => /* @__PURE__ */ C.jsx(a, { ...n })),
|
|
277
277
|
[e]
|
|
278
278
|
);
|
|
279
279
|
return /* @__PURE__ */ C.jsx(o, { ...r });
|
|
280
|
-
}, S = pe({}),
|
|
280
|
+
}, S = pe({}), Ue = ({ children: e, apiURL: r, libraries: o, localStorageKeys: a }) => {
|
|
281
281
|
const n = G(
|
|
282
282
|
() => ({
|
|
283
283
|
apiURL: r,
|
|
@@ -287,7 +287,7 @@ const We = ({ IMaskMixin: e, ...r }) => {
|
|
|
287
287
|
[r, o, a]
|
|
288
288
|
);
|
|
289
289
|
return /* @__PURE__ */ C.jsx(S.Provider, { value: n, children: e });
|
|
290
|
-
},
|
|
290
|
+
}, Qe = ({ data: e, ...r }) => {
|
|
291
291
|
const { libraries: o } = P(S), a = r?.reactRouter || o?.reactRouter, n = r?.gtm || o?.gtm;
|
|
292
292
|
if (!a)
|
|
293
293
|
throw new Error(
|
|
@@ -295,7 +295,7 @@ const We = ({ IMaskMixin: e, ...r }) => {
|
|
|
295
295
|
);
|
|
296
296
|
if (!n)
|
|
297
297
|
throw new Error("GTM is not provided. You can provide it with InjectDependenciesProvider or directly in props of GTMSendPageView.");
|
|
298
|
-
const { useGoogleTagManager:
|
|
298
|
+
const { useGoogleTagManager: s } = n, { useLocation: c, Outlet: u } = a, { pathname: l } = c(), { sendEvent: d } = s();
|
|
299
299
|
return j(() => {
|
|
300
300
|
d({
|
|
301
301
|
event: "pageView",
|
|
@@ -311,23 +311,23 @@ const We = ({ IMaskMixin: e, ...r }) => {
|
|
|
311
311
|
} catch {
|
|
312
312
|
return !1;
|
|
313
313
|
}
|
|
314
|
-
})(),
|
|
314
|
+
})(), we = "user", Ve = ({
|
|
315
315
|
tokenTypeKey: e = "tokenType",
|
|
316
316
|
tokenKey: r = "accessToken",
|
|
317
317
|
postContentType: o = "application/json",
|
|
318
318
|
...a
|
|
319
319
|
}) => {
|
|
320
|
-
const { apiURL: n = a.apiURL, libraries:
|
|
320
|
+
const { apiURL: n = a.apiURL, libraries: s, localStorageKeys: c } = P(S), u = a?.userLocalStorageKey || c?.user || we, l = a?.axios || s?.axios;
|
|
321
321
|
if (!l)
|
|
322
322
|
throw new Error("Axios is not provided. You can provide it with InjectDependenciesProvider or directly in props.");
|
|
323
323
|
if (!l?.defaults || F)
|
|
324
324
|
return null;
|
|
325
325
|
if (typeof window < "u" && window.localStorage) {
|
|
326
|
-
const d = localStorage.getItem(u),
|
|
326
|
+
const d = localStorage.getItem(u), i = d ? JSON.parse(d) : null, m = i?.[e] ? i[e] : null, g = i?.[r] ? i[r] : null, v = d ? `${m} ${g}` : null;
|
|
327
327
|
v && (l.defaults.headers.common.Authorization = v);
|
|
328
328
|
}
|
|
329
329
|
return l.defaults.baseURL = n, l.defaults.headers.post["Content-Type"] = o, null;
|
|
330
|
-
},
|
|
330
|
+
}, Me = ({ language: e, ...r }) => {
|
|
331
331
|
const { libraries: o } = P(S), a = r?.dayjs || o?.dayjs, n = r?.plugin || o?.dayjsPlugin;
|
|
332
332
|
if (!a)
|
|
333
333
|
throw new Error(
|
|
@@ -341,13 +341,13 @@ const We = ({ IMaskMixin: e, ...r }) => {
|
|
|
341
341
|
}), await import("dayjs/locale/en"), await import("dayjs/locale/fr"), a.locale(c);
|
|
342
342
|
})().then();
|
|
343
343
|
}, [a, n, e]), null;
|
|
344
|
-
},
|
|
345
|
-
const { libraries: a } = P(S), n = o?.i18 || a?.i18, { i18next:
|
|
344
|
+
}, Ge = ({ debug: e, resources: r, ...o }) => {
|
|
345
|
+
const { libraries: a } = P(S), n = o?.i18 || a?.i18, { i18next: s, initReactI18next: c, languageDetector: u } = n || {};
|
|
346
346
|
if (F)
|
|
347
347
|
return null;
|
|
348
348
|
if (!n)
|
|
349
349
|
throw new Error("i18 is not provided. You can provide it with InjectDependenciesProvider or directly in props.");
|
|
350
|
-
return
|
|
350
|
+
return s?.isInitialized || (s.use(u).use(c).init({
|
|
351
351
|
debug: e,
|
|
352
352
|
fallbackLng: "en",
|
|
353
353
|
interpolation: {
|
|
@@ -361,32 +361,32 @@ const We = ({ IMaskMixin: e, ...r }) => {
|
|
|
361
361
|
resources: r,
|
|
362
362
|
returnNull: !1
|
|
363
363
|
}).then(() => {
|
|
364
|
-
document.documentElement.lang !==
|
|
365
|
-
}),
|
|
364
|
+
document.documentElement.lang !== s.resolvedLanguage && s.resolvedLanguage && document.documentElement.setAttribute("lang", s.resolvedLanguage);
|
|
365
|
+
}), s.on("languageChanged", (l) => {
|
|
366
366
|
document.documentElement.setAttribute("lang", l);
|
|
367
367
|
})), null;
|
|
368
|
-
},
|
|
368
|
+
}, Je = ({
|
|
369
369
|
dsn: e,
|
|
370
370
|
integrations: r,
|
|
371
371
|
tracesSampleRate: o,
|
|
372
372
|
replaysSessionSampleRate: a,
|
|
373
373
|
replaysOnErrorSampleRate: n,
|
|
374
|
-
tracePropagationTargets:
|
|
374
|
+
tracePropagationTargets: s,
|
|
375
375
|
ignoreErrors: c,
|
|
376
376
|
debug: u,
|
|
377
377
|
environment: l,
|
|
378
378
|
release: d,
|
|
379
|
-
...
|
|
379
|
+
...i
|
|
380
380
|
}) => {
|
|
381
|
-
const { libraries:
|
|
382
|
-
if (!
|
|
381
|
+
const { libraries: m } = P(S), g = i?.sentry || m?.sentry, v = i?.reactRouter || m?.reactRouter;
|
|
382
|
+
if (!g)
|
|
383
383
|
throw new Error("Sentry is not provided. You can provide it with InjectDependenciesProvider or directly in props.");
|
|
384
384
|
if (!v)
|
|
385
385
|
throw new Error("React Router is not provided. You can provide it with InjectDependenciesProvider or directly in props.");
|
|
386
|
-
if (
|
|
386
|
+
if (g.isInitialized())
|
|
387
387
|
return null;
|
|
388
|
-
const { createRoutesFromChildren:
|
|
389
|
-
return (u || process.env.NODE_ENV === "prod" || process.env.NODE_ENV === "production") &&
|
|
388
|
+
const { createRoutesFromChildren: k, matchRoutes: A, useLocation: T, useNavigationType: h } = v;
|
|
389
|
+
return (u || process.env.NODE_ENV === "prod" || process.env.NODE_ENV === "production") && g.init({
|
|
390
390
|
debug: u,
|
|
391
391
|
dsn: e,
|
|
392
392
|
environment: l || "production",
|
|
@@ -400,22 +400,22 @@ const We = ({ IMaskMixin: e, ...r }) => {
|
|
|
400
400
|
/vite:preloadError/
|
|
401
401
|
],
|
|
402
402
|
integrations: [
|
|
403
|
-
|
|
404
|
-
createRoutesFromChildren:
|
|
403
|
+
g.reactRouterV6BrowserTracingIntegration({
|
|
404
|
+
createRoutesFromChildren: k,
|
|
405
405
|
matchRoutes: A,
|
|
406
406
|
useEffect: j,
|
|
407
|
-
useLocation:
|
|
408
|
-
useNavigationType:
|
|
407
|
+
useLocation: T,
|
|
408
|
+
useNavigationType: h
|
|
409
409
|
}),
|
|
410
410
|
...r || []
|
|
411
411
|
],
|
|
412
412
|
release: d,
|
|
413
413
|
replaysOnErrorSampleRate: n || 1,
|
|
414
414
|
replaysSessionSampleRate: a || 0.1,
|
|
415
|
-
tracePropagationTargets:
|
|
415
|
+
tracePropagationTargets: s,
|
|
416
416
|
tracesSampleRate: o || 1
|
|
417
417
|
}), null;
|
|
418
|
-
},
|
|
418
|
+
}, qe = () => (j(() => {
|
|
419
419
|
if (F)
|
|
420
420
|
return;
|
|
421
421
|
const e = (r) => {
|
|
@@ -427,18 +427,18 @@ const We = ({ IMaskMixin: e, ...r }) => {
|
|
|
427
427
|
return window.addEventListener("vite:preloadError", e), () => {
|
|
428
428
|
window.removeEventListener("vite:preloadError", e);
|
|
429
429
|
};
|
|
430
|
-
}, []), null), Ee = "user", Ke = ({ Fallback: e, isLogged: r, loginPath: o = "/login", redirect401Path: a = "/login", ...n }) => {
|
|
431
|
-
const { libraries:
|
|
430
|
+
}, []), null), ne = /* @__PURE__ */ new WeakMap(), Ee = "user", Ke = ({ Fallback: e, isLogged: r, loginPath: o = "/login", redirect401Path: a = "/login", ...n }) => {
|
|
431
|
+
const { libraries: s, localStorageKeys: c } = P(S), u = n?.reactRouter || s?.reactRouter, l = n?.axios || s?.axios, d = n?.localStorageKey || c?.user || Ee;
|
|
432
432
|
if (!u)
|
|
433
433
|
throw new Error("React Router is not provided. You can provide it with InjectDependenciesProvider or directly in props.");
|
|
434
|
-
const [
|
|
434
|
+
const [i, m] = W(null), { useLocation: g, Navigate: v, Outlet: k } = u, A = g(), T = typeof r == "function" ? r() : !!r, h = typeof T == "boolean" ? T : T?.isLogged;
|
|
435
435
|
return j(() => {
|
|
436
|
-
|
|
437
|
-
(
|
|
438
|
-
|
|
436
|
+
ne.has(l) || (ne.set(l, !0), l.interceptors.response.use(
|
|
437
|
+
(f) => f,
|
|
438
|
+
(f) => (typeof f == "object" && f && "response" in f && f.response && typeof f.response == "object" && "status" in f.response && f.response && typeof f.response == "object" && "status" in f.response && f?.response?.status === 401 && (typeof f == "object" && f && "config" in f && f.config && typeof f.config == "object" && "headers" in f.config && f.config.headers && typeof f.config.headers == "object" && "Authorization" in f.config.headers && f.config.headers.Authorization && (l.defaults.headers.common.Authorization = null, typeof window < "u" && window.localStorage && localStorage.removeItem(d)), m(a)), Promise.reject(f))
|
|
439
439
|
));
|
|
440
|
-
}, [l
|
|
441
|
-
},
|
|
440
|
+
}, [l, d, a]), h && !i ? /* @__PURE__ */ C.jsx(ge, { fallback: e, children: A.state?.from?.state && A.state?.from?.pathname === o ? /* @__PURE__ */ C.jsx(v, { to: A.state.from.state.from.pathname + A.state.from.state.from.search, replace: !0 }) : /* @__PURE__ */ C.jsx(k, {}) }) : /* @__PURE__ */ C.jsx(v, { to: o + A.search, state: { from: A }, replace: !0 });
|
|
441
|
+
}, Re = async () => {
|
|
442
442
|
if ("caches" in window)
|
|
443
443
|
try {
|
|
444
444
|
const e = await caches.keys();
|
|
@@ -446,12 +446,12 @@ const We = ({ IMaskMixin: e, ...r }) => {
|
|
|
446
446
|
} catch (e) {
|
|
447
447
|
console.error("Failed to clear caches:", e);
|
|
448
448
|
}
|
|
449
|
-
},
|
|
450
|
-
const a =
|
|
449
|
+
}, He = ({ autoUpdate: e, renderDialog: r, clearCachesOnReload: o }) => {
|
|
450
|
+
const a = me(null), [n, s] = W(!1), c = O(() => {
|
|
451
451
|
a.current && a.current.postMessage({ type: "SKIP_WAITING" }), o && localStorage.setItem("tracktor_clear_caches", "1"), window.location.reload();
|
|
452
452
|
}, [o]);
|
|
453
453
|
j(() => {
|
|
454
|
-
localStorage.getItem("tracktor_clear_caches") === "1" && (localStorage.removeItem("tracktor_clear_caches"),
|
|
454
|
+
localStorage.getItem("tracktor_clear_caches") === "1" && (localStorage.removeItem("tracktor_clear_caches"), Re().catch(console.error));
|
|
455
455
|
}, []);
|
|
456
456
|
const u = O(() => {
|
|
457
457
|
window.confirm("A new version is available. The app will reload now.") && c();
|
|
@@ -460,34 +460,34 @@ const We = ({ IMaskMixin: e, ...r }) => {
|
|
|
460
460
|
if (!("serviceWorker" in navigator))
|
|
461
461
|
return;
|
|
462
462
|
let l, d;
|
|
463
|
-
const
|
|
464
|
-
|
|
465
|
-
},
|
|
466
|
-
const
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
},
|
|
463
|
+
const i = (g) => {
|
|
464
|
+
g && navigator.serviceWorker.controller && (a.current = g, s(!0));
|
|
465
|
+
}, m = () => {
|
|
466
|
+
const g = l?.installing;
|
|
467
|
+
g && (d = () => {
|
|
468
|
+
g.state === "installed" && i(g);
|
|
469
|
+
}, g.addEventListener("statechange", d));
|
|
470
470
|
};
|
|
471
471
|
return (async () => {
|
|
472
|
-
l = await navigator.serviceWorker.getRegistration(), l && (
|
|
472
|
+
l = await navigator.serviceWorker.getRegistration(), l && (i(l.waiting), l.addEventListener("updatefound", m));
|
|
473
473
|
})().catch(console.error), () => {
|
|
474
|
-
l?.removeEventListener("updatefound",
|
|
474
|
+
l?.removeEventListener("updatefound", m), d && l?.installing && l.installing.removeEventListener("statechange", d);
|
|
475
475
|
};
|
|
476
476
|
}, []), j(() => {
|
|
477
477
|
n && e && c();
|
|
478
478
|
}, [e, n, c]), j(() => {
|
|
479
479
|
n && !e && !r && u();
|
|
480
480
|
}, [r, u, n, e]), n && !e && r ? r(c) : null;
|
|
481
|
-
},
|
|
481
|
+
}, be = (e) => e.charAt(0).toUpperCase() + e.slice(1).toLowerCase(), _e = (e) => {
|
|
482
482
|
const r = e.split(/[/\\]/).pop() || "";
|
|
483
483
|
return r.substring(0, r.lastIndexOf("."));
|
|
484
|
-
},
|
|
484
|
+
}, Se = (e) => {
|
|
485
485
|
const a = e.split("/").filter((n) => n.length > 0).map((n) => n.replace(/\${([^}]*)}/g, "$1").split(/[_-]/).map((l) => l.charAt(0).toUpperCase() + l.slice(1)).join("")).join("");
|
|
486
486
|
return a.charAt(0).toLowerCase() + a.slice(1);
|
|
487
|
-
},
|
|
488
|
-
const n =
|
|
487
|
+
}, Ae = (e) => (e.split("/").pop() || e).replace(/\.json$/, "").replace(/^openapi\./, ""), je = (e, r, o, a) => {
|
|
488
|
+
const n = Se(r), s = be(o), c = `${n}${s}`;
|
|
489
489
|
return e && typeof e == "object" && "operationId" in e && a?.includes(String(e.operationId)) ? `${c}AsQuery` : c;
|
|
490
|
-
},
|
|
490
|
+
}, Pe = (e, r) => {
|
|
491
491
|
const o = {};
|
|
492
492
|
return e?.forEach((a) => {
|
|
493
493
|
o[a] = {
|
|
@@ -505,61 +505,61 @@ const We = ({ IMaskMixin: e, ...r }) => {
|
|
|
505
505
|
};
|
|
506
506
|
}), Object.keys(o).length ? o : void 0;
|
|
507
507
|
}, Be = (e) => (Array.isArray(e) ? e : [e]).reduce((o, a) => {
|
|
508
|
-
const { output: n, useInfiniteIds:
|
|
508
|
+
const { output: n, useInfiniteIds: s, useQueryIds: c, input: u = "./openapi.json", customAxiosInstancePath: l, overrideApiName: d } = a || {}, i = d || Ae(u), m = l || "./node_modules/@tracktor/shared-module/dist/axiosCustomInstance.ts";
|
|
509
509
|
return {
|
|
510
510
|
...o,
|
|
511
|
-
[
|
|
511
|
+
[i]: {
|
|
512
512
|
input: u,
|
|
513
513
|
output: {
|
|
514
514
|
baseUrl: n?.baseUrl,
|
|
515
515
|
client: "react-query",
|
|
516
516
|
mode: "tags-split",
|
|
517
517
|
override: {
|
|
518
|
-
...(
|
|
519
|
-
operations:
|
|
518
|
+
...(s?.length || c?.length) && {
|
|
519
|
+
operations: Pe(s, c)
|
|
520
520
|
},
|
|
521
|
-
header: (
|
|
521
|
+
header: (g) => [
|
|
522
522
|
"Generated by orval 🍺",
|
|
523
|
-
...
|
|
524
|
-
...
|
|
523
|
+
...g.title ? [g.title] : [],
|
|
524
|
+
...g.description ? [g.description] : []
|
|
525
525
|
],
|
|
526
526
|
mutator: {
|
|
527
|
-
name: _e(
|
|
528
|
-
path:
|
|
527
|
+
name: _e(m),
|
|
528
|
+
path: m
|
|
529
529
|
},
|
|
530
|
-
operationName: (
|
|
530
|
+
operationName: (g, v, k) => je(g, v, k, c),
|
|
531
531
|
query: {
|
|
532
532
|
useQuery: !0
|
|
533
533
|
}
|
|
534
534
|
},
|
|
535
|
-
schemas: n?.schemas || `src/api/${
|
|
536
|
-
target: n?.target || `src/api/${
|
|
535
|
+
schemas: n?.schemas || `src/api/${i}/model`,
|
|
536
|
+
target: n?.target || `src/api/${i}/services/api.ts`,
|
|
537
537
|
...n
|
|
538
538
|
}
|
|
539
539
|
}
|
|
540
540
|
};
|
|
541
|
-
}, {}),
|
|
541
|
+
}, {}), Te = (e) => e && typeof e == "function", ke = (e) => e && typeof e == "function", Xe = ({
|
|
542
542
|
children: e,
|
|
543
543
|
defaultQueriesOptions: r,
|
|
544
544
|
defaultMutationsOptions: o,
|
|
545
545
|
...a
|
|
546
546
|
}) => {
|
|
547
|
-
const { libraries: n } = P(S),
|
|
548
|
-
if (!
|
|
547
|
+
const { libraries: n } = P(S), s = a?.QueryClient || n?.reactQuery?.QueryClient, c = a?.QueryClientProvider || n?.reactQuery?.QueryClientProvider;
|
|
548
|
+
if (!s)
|
|
549
549
|
throw new Error("QueryClient is not provided. You can provide it with InjectDependenciesProvider or directly in props.");
|
|
550
550
|
if (!c)
|
|
551
551
|
throw new Error("QueryClientProvider is not provided. You can provide it with InjectDependenciesProvider or directly in props.");
|
|
552
|
-
if (!
|
|
552
|
+
if (!Te(c))
|
|
553
553
|
throw new Error("Provided QueryClientProvider dependencies are not valid.");
|
|
554
|
-
if (!
|
|
554
|
+
if (!ke(s))
|
|
555
555
|
throw new Error("Provided QueryClient dependencies are not valid.");
|
|
556
|
-
const u = new
|
|
556
|
+
const u = new s({
|
|
557
557
|
defaultOptions: {
|
|
558
558
|
mutations: {
|
|
559
559
|
...o
|
|
560
560
|
},
|
|
561
561
|
queries: {
|
|
562
|
-
getNextPageParam: (l, d,
|
|
562
|
+
getNextPageParam: (l, d, i) => l.length + (i || 0),
|
|
563
563
|
refetchOnWindowFocus: !1,
|
|
564
564
|
retry: 3,
|
|
565
565
|
...r
|
|
@@ -567,41 +567,41 @@ const We = ({ IMaskMixin: e, ...r }) => {
|
|
|
567
567
|
}
|
|
568
568
|
});
|
|
569
569
|
return /* @__PURE__ */ C.jsx(c, { client: u, children: e });
|
|
570
|
-
},
|
|
571
|
-
const { fractionDigits: o = 0, metric: a = "km", spacingBetween: n = !0 } = r || {},
|
|
572
|
-
return Number.isNaN(
|
|
573
|
-
},
|
|
570
|
+
}, Ce = ({ library: e, date: r, format: o = "ll" }) => e(r).format(o), Ie = (e, r) => {
|
|
571
|
+
const { fractionDigits: o = 0, metric: a = "km", spacingBetween: n = !0 } = r || {}, s = Number(e), c = n ? " " : "";
|
|
572
|
+
return Number.isNaN(s) ? `0${c}${a}` : `${s.toFixed(o)}${c}${a}`;
|
|
573
|
+
}, xe = (e) => !e || typeof e != "string" ? "" : e.replace(/_/g, " ").toLowerCase().split(" ").map((o) => o.length > 0 ? o.charAt(0).toUpperCase() + o.slice(1) : o).join(" "), Oe = (e) => e?.startsWith("/") ? e?.startsWith("/files") ? e : `/files${e}` : e?.startsWith("files") ? `/${e}` : `/files/${e}`, Le = ({ path: e, size: r, apiURL: o }) => {
|
|
574
574
|
if (!e)
|
|
575
575
|
return "";
|
|
576
|
-
const a =
|
|
577
|
-
return typeof r == "number" &&
|
|
578
|
-
},
|
|
576
|
+
const a = Oe(e), n = `${o}${a}`, s = n.match(/\.(jpeg|jpg|png|gif|bmp|webp|svg|avif)$/) !== null;
|
|
577
|
+
return typeof r == "number" && s ? `${n.replace("/files", `/thumbs/${r}`)}` : n;
|
|
578
|
+
}, Ze = (e) => {
|
|
579
579
|
const { apiURL: r, libraries: o } = P(S), a = e?.dayjs || o?.dayjs;
|
|
580
580
|
return {
|
|
581
581
|
dateAdapter: (c, u) => {
|
|
582
582
|
if (!a)
|
|
583
583
|
throw new Error("Dayjs is not provided. You can provide it with InjectDependenciesProvider or directly in props.");
|
|
584
|
-
return
|
|
584
|
+
return Ce({
|
|
585
585
|
date: c,
|
|
586
586
|
format: u,
|
|
587
587
|
library: a
|
|
588
588
|
});
|
|
589
589
|
},
|
|
590
|
-
distanceAdapter:
|
|
590
|
+
distanceAdapter: Ie,
|
|
591
591
|
filePathAdapter: (c, u) => {
|
|
592
592
|
if (!r)
|
|
593
593
|
throw new Error(
|
|
594
594
|
"API URL is not provided. You can provide it with InjectDependenciesProvider or directly in props to filePathAdapter."
|
|
595
595
|
);
|
|
596
|
-
return typeof c == "string" && /^https?:\/\//.test(c) ? c :
|
|
596
|
+
return typeof c == "string" && /^https?:\/\//.test(c) ? c : Le({
|
|
597
597
|
apiURL: r,
|
|
598
598
|
path: c,
|
|
599
599
|
size: u
|
|
600
600
|
});
|
|
601
601
|
},
|
|
602
|
-
worksiteNameAdapter:
|
|
602
|
+
worksiteNameAdapter: xe
|
|
603
603
|
};
|
|
604
|
-
},
|
|
604
|
+
}, et = (e) => {
|
|
605
605
|
const { libraries: r } = P(S), o = e?.axios || r?.axios, a = e?.localStorageKey || "user";
|
|
606
606
|
if (!o)
|
|
607
607
|
throw new Error("Axios is not provided. You can provide it with InjectDependenciesProvider or directly in params of useAuth.");
|
|
@@ -610,7 +610,7 @@ const We = ({ IMaskMixin: e, ...r }) => {
|
|
|
610
610
|
o.defaults.headers.common.Authorization = `${c} ${u}`;
|
|
611
611
|
},
|
|
612
612
|
[o.defaults.headers.common]
|
|
613
|
-
),
|
|
613
|
+
), s = () => {
|
|
614
614
|
o.defaults.headers.common.Authorization = null;
|
|
615
615
|
};
|
|
616
616
|
return j(() => {
|
|
@@ -619,8 +619,8 @@ const We = ({ IMaskMixin: e, ...r }) => {
|
|
|
619
619
|
const c = ({ newValue: u, key: l }) => {
|
|
620
620
|
if (l === a && u)
|
|
621
621
|
try {
|
|
622
|
-
const { accessToken: d, tokenType:
|
|
623
|
-
n({ accessToken: d, tokenType:
|
|
622
|
+
const { accessToken: d, tokenType: i } = JSON.parse(u);
|
|
623
|
+
n({ accessToken: d, tokenType: i });
|
|
624
624
|
} catch (d) {
|
|
625
625
|
console.error("Failed to parse newValue from localStorage:", d);
|
|
626
626
|
}
|
|
@@ -629,24 +629,24 @@ const We = ({ IMaskMixin: e, ...r }) => {
|
|
|
629
629
|
window.removeEventListener("storage", c);
|
|
630
630
|
};
|
|
631
631
|
}, [a, n]), {
|
|
632
|
-
clearAuthenticationToken:
|
|
632
|
+
clearAuthenticationToken: s,
|
|
633
633
|
setAuthenticationToken: n
|
|
634
634
|
};
|
|
635
|
-
}, Y = (e, r) => r === "short" ? e.split("-")[0] : e,
|
|
635
|
+
}, Y = (e, r) => r === "short" ? e.split("-")[0] : e, tt = (e, r = "full") => {
|
|
636
636
|
const [o, a] = W(() => {
|
|
637
637
|
const n = e?.language || navigator.language;
|
|
638
638
|
return e && "isInitialized" in e && e.isInitialized, Y(n, r);
|
|
639
639
|
});
|
|
640
640
|
return j(() => {
|
|
641
641
|
e && "isInitialized" in e && e.isInitialized && e.language && a(Y(e.language, r));
|
|
642
|
-
const n = (
|
|
643
|
-
a(Y(
|
|
642
|
+
const n = (s) => {
|
|
643
|
+
a(Y(s, r));
|
|
644
644
|
};
|
|
645
645
|
return e?.on?.("languageChanged", n), () => {
|
|
646
646
|
e?.off?.("languageChanged", n);
|
|
647
647
|
};
|
|
648
648
|
}, [e, r]), o;
|
|
649
|
-
},
|
|
649
|
+
}, Ne = "tracktor.filter", Fe = {
|
|
650
650
|
getFilter: () => {
|
|
651
651
|
},
|
|
652
652
|
getFilters: () => ({}),
|
|
@@ -654,102 +654,102 @@ const We = ({ IMaskMixin: e, ...r }) => {
|
|
|
654
654
|
},
|
|
655
655
|
setFilter: () => {
|
|
656
656
|
}
|
|
657
|
-
},
|
|
657
|
+
}, oe = (e) => {
|
|
658
658
|
try {
|
|
659
659
|
return JSON.parse(e);
|
|
660
660
|
} catch {
|
|
661
661
|
return e;
|
|
662
662
|
}
|
|
663
|
-
},
|
|
663
|
+
}, ae = (e, r, o) => `${o}_${e}=>${r}`, $e = (e) => e.reduce((r, o) => {
|
|
664
664
|
const a = localStorage.getItem(o);
|
|
665
665
|
if (a)
|
|
666
666
|
try {
|
|
667
|
-
const n = JSON.parse(a),
|
|
668
|
-
|
|
667
|
+
const n = JSON.parse(a), s = Object.keys(n)?.[0];
|
|
668
|
+
s && (r[s] = Object.values(n)?.[0]);
|
|
669
669
|
} catch {
|
|
670
670
|
}
|
|
671
671
|
return r;
|
|
672
|
-
}, {}),
|
|
673
|
-
const { libraries: r, localStorageKeys: o } = P(S), a = e?.reactRouter || r?.reactRouter, { pathname: n } = a?.useLocation?.() ?? { pathname: "/" }, [
|
|
674
|
-
}], [u, l] = W({}), d = o?.filter ||
|
|
672
|
+
}, {}), rt = (e) => {
|
|
673
|
+
const { libraries: r, localStorageKeys: o } = P(S), a = e?.reactRouter || r?.reactRouter, { pathname: n } = a?.useLocation?.() ?? { pathname: "/" }, [s, c] = a?.useSearchParams?.() ?? [new URLSearchParams(), () => {
|
|
674
|
+
}], [u, l] = W({}), d = o?.filter || Ne, i = e?.syncWithUrl === void 0 ? !0 : e?.syncWithUrl, m = e?.persistToLocalStorage === void 0 ? !0 : e?.persistToLocalStorage;
|
|
675
675
|
if (F)
|
|
676
|
-
return
|
|
676
|
+
return Fe;
|
|
677
677
|
if (!a)
|
|
678
678
|
throw new Error(
|
|
679
679
|
"React Router is not provided. You can provide it with InjectDependenciesProvider or directly in props of reactRouter."
|
|
680
680
|
);
|
|
681
|
-
const
|
|
682
|
-
(
|
|
683
|
-
), v = (
|
|
684
|
-
const
|
|
685
|
-
if (!
|
|
686
|
-
|
|
687
|
-
const I = { ...
|
|
688
|
-
return delete I[
|
|
689
|
-
}),
|
|
681
|
+
const g = () => Object.keys(localStorage).filter(
|
|
682
|
+
(h) => h.startsWith(d) && h.endsWith(e?.pathname || n)
|
|
683
|
+
), v = (h, f, b = !0) => {
|
|
684
|
+
const R = ae(h, e?.pathname || n, d);
|
|
685
|
+
if (!f || Array.isArray(f) && !f.length) {
|
|
686
|
+
i ? (s.delete(h), c(s)) : l((_) => {
|
|
687
|
+
const I = { ..._ };
|
|
688
|
+
return delete I[h], I;
|
|
689
|
+
}), m && localStorage.removeItem(R);
|
|
690
690
|
return;
|
|
691
691
|
}
|
|
692
|
-
|
|
692
|
+
m && b && f && localStorage.setItem(R, JSON.stringify({ ...s, [h]: f })), i && f ? (s.set(h, JSON.stringify(f)), c(s)) : !i && f && l((_) => ({ ..._, [h]: f }));
|
|
693
693
|
};
|
|
694
694
|
return {
|
|
695
|
-
getFilter: (
|
|
696
|
-
if (
|
|
697
|
-
const
|
|
698
|
-
if (
|
|
699
|
-
return
|
|
695
|
+
getFilter: (h, f) => {
|
|
696
|
+
if (i) {
|
|
697
|
+
const b = s.get(h);
|
|
698
|
+
if (b)
|
|
699
|
+
return oe(b);
|
|
700
700
|
} else {
|
|
701
|
-
const
|
|
702
|
-
if (
|
|
703
|
-
return
|
|
701
|
+
const b = u[h];
|
|
702
|
+
if (b !== void 0)
|
|
703
|
+
return b;
|
|
704
704
|
}
|
|
705
|
-
if (
|
|
706
|
-
const
|
|
707
|
-
if (
|
|
705
|
+
if (m) {
|
|
706
|
+
const b = ae(h, e?.pathname || n, d), R = localStorage.getItem(b);
|
|
707
|
+
if (R)
|
|
708
708
|
try {
|
|
709
|
-
const
|
|
710
|
-
return !
|
|
709
|
+
const _ = JSON.parse(R)[h];
|
|
710
|
+
return !i && _ !== void 0 && l((I) => ({ ...I, [h]: _ })), _;
|
|
711
711
|
} catch {
|
|
712
712
|
}
|
|
713
713
|
}
|
|
714
|
-
return
|
|
714
|
+
return f;
|
|
715
715
|
},
|
|
716
716
|
getFilters: () => {
|
|
717
|
-
const
|
|
718
|
-
if (
|
|
719
|
-
const
|
|
717
|
+
const h = m ? $e(g()) : {};
|
|
718
|
+
if (i) {
|
|
719
|
+
const f = Array.from(s.entries()).reduce((b, [R, _]) => (b[R] = oe(_), b), {});
|
|
720
720
|
return {
|
|
721
|
-
...
|
|
722
|
-
...
|
|
721
|
+
...h,
|
|
722
|
+
...f
|
|
723
723
|
};
|
|
724
724
|
}
|
|
725
725
|
return {
|
|
726
|
-
...
|
|
726
|
+
...h,
|
|
727
727
|
...u
|
|
728
728
|
};
|
|
729
729
|
},
|
|
730
|
-
handleFilter: (
|
|
731
|
-
if (
|
|
732
|
-
const
|
|
733
|
-
v(
|
|
730
|
+
handleFilter: (h, f) => (b, R) => {
|
|
731
|
+
if (R || Array.isArray(R) && R.length === 0) {
|
|
732
|
+
const _ = f || "value", I = typeof R == "object" && _ in R ? R[_] : R;
|
|
733
|
+
v(h, I);
|
|
734
734
|
return;
|
|
735
735
|
}
|
|
736
|
-
v(
|
|
736
|
+
v(h, void 0);
|
|
737
737
|
},
|
|
738
738
|
setFilter: v
|
|
739
739
|
};
|
|
740
|
-
},
|
|
740
|
+
}, nt = ({
|
|
741
741
|
data: e,
|
|
742
742
|
fetchNextPage: r,
|
|
743
743
|
isFetchingNextPage: o,
|
|
744
744
|
isInitialLoading: a,
|
|
745
745
|
isLoading: n,
|
|
746
|
-
enabled:
|
|
746
|
+
enabled: s = !0
|
|
747
747
|
}) => {
|
|
748
748
|
const c = O(
|
|
749
749
|
async (l) => {
|
|
750
|
-
o || !
|
|
750
|
+
o || !s || await r({ pageParam: l?.pageParam || l.visibleRowsCount });
|
|
751
751
|
},
|
|
752
|
-
[
|
|
752
|
+
[s, r, o]
|
|
753
753
|
), u = G(() => {
|
|
754
754
|
if (e)
|
|
755
755
|
return e.pages.reduce((l, d) => [...l, ...d], []);
|
|
@@ -760,23 +760,23 @@ const We = ({ IMaskMixin: e, ...r }) => {
|
|
|
760
760
|
loadingVariant: a ? "skeleton" : "linear-progress",
|
|
761
761
|
rows: u
|
|
762
762
|
};
|
|
763
|
-
},
|
|
764
|
-
const { libraries: r } = P(S), o = e?.i18 || r?.i18, a = e?.i18?.translateFunction || r?.i18?.translateFunction, n = o?.i18next?.t || a || ((d) => d), { unknownErrorTranslationKey:
|
|
763
|
+
}, ot = (e) => {
|
|
764
|
+
const { libraries: r } = P(S), o = e?.i18 || r?.i18, a = e?.i18?.translateFunction || r?.i18?.translateFunction, n = o?.i18next?.t || a || ((d) => d), { unknownErrorTranslationKey: s = "error.unknownError" } = e || {}, c = n(s), u = O(
|
|
765
765
|
(d) => {
|
|
766
766
|
if (d && typeof d == "object" && "response" in d) {
|
|
767
|
-
const { response:
|
|
768
|
-
if (
|
|
769
|
-
return String(
|
|
770
|
-
if (
|
|
771
|
-
return String(
|
|
772
|
-
if (
|
|
773
|
-
return String(
|
|
774
|
-
if (
|
|
775
|
-
const { detail:
|
|
776
|
-
if (Array.isArray(
|
|
777
|
-
const { msg:
|
|
778
|
-
if (typeof
|
|
779
|
-
return String(
|
|
767
|
+
const { response: i } = d || {};
|
|
768
|
+
if (i && typeof i == "object" && "reason" in i && i.reason)
|
|
769
|
+
return String(i.reason);
|
|
770
|
+
if (i && typeof i == "object" && "data" in i && i.data && typeof i.data == "object" && "reason" in i.data && i.data.reason)
|
|
771
|
+
return String(i.data.reason);
|
|
772
|
+
if (i && typeof i == "object" && "data" in i && i.data && typeof i.data == "object" && "message" in i.data && i.data.message)
|
|
773
|
+
return String(i.data.message);
|
|
774
|
+
if (i && typeof i == "object" && "data" in i && i.data && typeof i.data == "object" && "detail" in i.data) {
|
|
775
|
+
const { detail: m } = i.data;
|
|
776
|
+
if (Array.isArray(m) && m.length > 0 && typeof m[0] == "object" && m[0] !== null && "msg" in m[0]) {
|
|
777
|
+
const { msg: g } = m[0];
|
|
778
|
+
if (typeof g == "string")
|
|
779
|
+
return String(g);
|
|
780
780
|
}
|
|
781
781
|
}
|
|
782
782
|
}
|
|
@@ -785,32 +785,32 @@ const We = ({ IMaskMixin: e, ...r }) => {
|
|
|
785
785
|
[c]
|
|
786
786
|
);
|
|
787
787
|
return { getErrorCode: O((d) => {
|
|
788
|
-
const { response:
|
|
789
|
-
return
|
|
788
|
+
const { response: i } = d || {};
|
|
789
|
+
return i?.error_code ? String(i?.error_code) : i?.data?.error_code ? String(i?.data?.error_code) : i?.error_code ? String(i?.error_code) : i?.data?.error_code ? String(i.data.error_code) : "unknown_error_code";
|
|
790
790
|
}, []), printError: u };
|
|
791
791
|
};
|
|
792
792
|
export {
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
793
|
+
Qe as GTMSendPageView,
|
|
794
|
+
Ve as InitializeAxiosConfig,
|
|
795
|
+
Me as InitializeDaysJSConfig,
|
|
796
|
+
Ge as InitializeI18nConfig,
|
|
797
|
+
Je as InitializeSentryConfig,
|
|
798
798
|
S as InjectDependenciesContext,
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
799
|
+
Ue as InjectDependenciesProvider,
|
|
800
|
+
ze as MaskTextField,
|
|
801
|
+
qe as PreloadErrorHandler,
|
|
802
|
+
Xe as QueryClientProviderWithConfig,
|
|
803
803
|
Ke as RequireAuth,
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
804
|
+
He as UpdateNotifier,
|
|
805
|
+
We as axiosCustomInstance,
|
|
806
|
+
Ce as dateAdapter,
|
|
807
|
+
Ie as distanceAdapter,
|
|
808
808
|
Be as getOrvalConfig,
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
809
|
+
Ze as useAdapter,
|
|
810
|
+
et as useAuth,
|
|
811
|
+
tt as useCurrentLanguage,
|
|
812
|
+
rt as useFilters,
|
|
813
|
+
nt as useInfiniteDataGrid,
|
|
814
|
+
ot as useResponseError,
|
|
815
|
+
xe as worksiteNameAdapter
|
|
816
816
|
};
|
package/dist/main.umd.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(h,O){typeof exports=="object"&&typeof module<"u"?O(exports,require("axios"),require("react")):typeof define=="function"&&define.amd?define(["exports","axios","react"],O):(h=typeof globalThis<"u"?globalThis:h||self,O(h["@tracktor/shared-module"]={},h.axios,h.React))})(this,(function(h,O,p){"use strict";const se=(e,r)=>{const o=O.CancelToken.source(),a=O({...e,...r,cancelToken:o.token}).then(({data:n})=>n);return a.cancel=()=>{o.cancel("Query was cancelled")},a};var D={exports:{}},N={};var G;function ie(){if(G)return N;G=1;var e=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function o(a,n,i){var c=null;if(i!==void 0&&(c=""+i),n.key!==void 0&&(c=""+n.key),"key"in n){i={};for(var u in n)u!=="key"&&(i[u]=n[u])}else i=n;return n=i.ref,{$$typeof:e,type:a,key:c,ref:n!==void 0?n:null,props:i}}return N.Fragment=r,N.jsx=o,N.jsxs=o,N}var L={};var J;function ce(){return J||(J=1,process.env.NODE_ENV!=="production"&&(function(){function e(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===Ke?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case P:return"Fragment";case f:return"Profiler";case v:return"StrictMode";case I:return"Suspense";case Ve:return"SuspenseList";case Je:return"Activity"}if(typeof t=="object")switch(typeof t.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),t.$$typeof){case j:return"Portal";case _:return t.displayName||"Context";case S:return(t._context.displayName||"Context")+".Consumer";case A:var g=t.render;return t=t.displayName,t||(t=g.displayName||g.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Ge:return g=t.displayName||null,g!==null?g:e(t.type)||"Memo";case W:g=t._payload,t=t._init;try{return e(t(g))}catch{}}return null}function r(t){return""+t}function o(t){try{r(t);var g=!1}catch{g=!0}if(g){g=console;var E=g.error,b=typeof Symbol=="function"&&Symbol.toStringTag&&t[Symbol.toStringTag]||t.constructor.name||"Object";return E.call(g,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",b),r(t)}}function a(t){if(t===P)return"<>";if(typeof t=="object"&&t!==null&&t.$$typeof===W)return"<...>";try{var g=e(t);return g?"<"+g+">":"<...>"}catch{return"<...>"}}function n(){var t=U.A;return t===null?null:t.getOwner()}function i(){return Error("react-stack-top-frame")}function c(t){if(ee.call(t,"key")){var g=Object.getOwnPropertyDescriptor(t,"key").get;if(g&&g.isReactWarning)return!1}return t.key!==void 0}function u(t,g){function E(){te||(te=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",g))}E.isReactWarning=!0,Object.defineProperty(t,"key",{get:E,configurable:!0})}function l(){var t=e(this.type);return re[t]||(re[t]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),t=this.props.ref,t!==void 0?t:null}function d(t,g,E,b,z,Q){var R=E.ref;return t={$$typeof:k,type:t,key:g,props:E,_owner:b},(R!==void 0?R:null)!==null?Object.defineProperty(t,"ref",{enumerable:!1,get:l}):Object.defineProperty(t,"ref",{enumerable:!1,value:null}),t._store={},Object.defineProperty(t._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(t,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(t,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:z}),Object.defineProperty(t,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Q}),Object.freeze&&(Object.freeze(t.props),Object.freeze(t)),t}function s(t,g,E,b,z,Q){var R=g.children;if(R!==void 0)if(b)if(He(R)){for(b=0;b<R.length;b++)y(R[b]);Object.freeze&&Object.freeze(R)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else y(R);if(ee.call(g,"key")){R=e(t);var x=Object.keys(g).filter(function(Be){return Be!=="key"});b=0<x.length?"{key: someKey, "+x.join(": ..., ")+": ...}":"{key: someKey}",ae[R+b]||(x=0<x.length?"{"+x.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
2
2
|
let props = %s;
|
|
3
3
|
<%s {...props} />
|
|
4
4
|
React keys must be passed directly to JSX without using spread:
|
|
5
5
|
let props = %s;
|
|
6
|
-
<%s key={someKey} {...props} />`,b,_,x,_),oe[_+b]=!0)}if(_=null,E!==void 0&&(o(E),_=""+E),c(p)&&(o(p.key),_=""+p.key),"key"in p){E={};for(var V in p)V!=="key"&&(E[V]=p[V])}else E=p;return _&&u(E,typeof t=="function"?t.displayName||t.name||"Unknown":t),d(t,_,E,n(),W,Q)}function v(t){g(t)?t._store&&(t._store.validated=1):typeof t=="object"&&t!==null&&t.$$typeof===z&&(t._payload.status==="fulfilled"?g(t._payload.value)&&t._payload.value._store&&(t._payload.value._store.validated=1):t._store&&(t._store.validated=1))}function g(t){return typeof t=="object"&&t!==null&&t.$$typeof===T}var w=f,T=Symbol.for("react.transitional.element"),j=Symbol.for("react.portal"),k=Symbol.for("react.fragment"),y=Symbol.for("react.strict_mode"),R=Symbol.for("react.profiler"),h=Symbol.for("react.consumer"),S=Symbol.for("react.context"),A=Symbol.for("react.forward_ref"),I=Symbol.for("react.suspense"),Qe=Symbol.for("react.suspense_list"),Ve=Symbol.for("react.memo"),z=Symbol.for("react.lazy"),Ge=Symbol.for("react.activity"),Je=Symbol.for("react.client.reference"),U=w.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$=Object.prototype.hasOwnProperty,Ke=Array.isArray,M=console.createTask?console.createTask:function(){return null};w={react_stack_bottom_frame:function(t){return t()}};var ee,te={},re=w.react_stack_bottom_frame.bind(w,i)(),ne=M(a(i)),oe={};L.Fragment=k,L.jsx=function(t,p,E){var b=1e4>U.recentlyCreatedOwnerStacks++;return s(t,p,E,!1,b?Error("react-stack-top-frame"):re,b?M(a(t)):ne)},L.jsxs=function(t,p,E){var b=1e4>U.recentlyCreatedOwnerStacks++;return s(t,p,E,!0,b?Error("react-stack-top-frame"):re,b?M(a(t)):ne)}})()),L}var K;function ce(){return K||(K=1,process.env.NODE_ENV==="production"?D.exports=se():D.exports=ie()),D.exports}var P=ce();const le=({IMaskMixin:e,...r})=>{const o=f.useMemo(()=>e(({TextField:a,...n})=>P.jsx(a,{...n})),[e]);return P.jsx(o,{...r})},C=f.createContext({}),ue=({children:e,apiURL:r,libraries:o,localStorageKeys:a})=>{const n=f.useMemo(()=>({apiURL:r,libraries:o,localStorageKeys:a}),[r,o,a]);return P.jsx(C.Provider,{value:n,children:e})},de=({data:e,...r})=>{const{libraries:o}=f.useContext(C),a=r?.reactRouter||o?.reactRouter,n=r?.gtm||o?.gtm;if(!a)throw new Error("React Router is not provided. You can provide it with InjectDependenciesProvider or directly in props of GTMSendPageView.");if(!n)throw new Error("GTM is not provided. You can provide it with InjectDependenciesProvider or directly in props of GTMSendPageView.");const{useGoogleTagManager:i}=n,{useLocation:c,Outlet:u}=a,{pathname:l}=c(),{sendEvent:d}=i();return f.useEffect(()=>{d({event:"pageView",pathname:l,...e})},[e,l,d]),P.jsx(u,{})},F=(()=>{try{return typeof global=="object"&&global!==null&&("HermesInternal"in global||"__fbBatchedBridge"in global||"__metro"in global)||typeof window>"u"&&typeof global<"u"?!0:typeof navigator<"u"&&navigator.userAgent?/react.native|ReactNative/i.test(navigator.userAgent):!1}catch{return!1}})(),fe="user",pe=({tokenTypeKey:e="tokenType",tokenKey:r="accessToken",postContentType:o="application/json",...a})=>{const{apiURL:n=a.apiURL,libraries:i,localStorageKeys:c}=f.useContext(C),u=a?.userLocalStorageKey||c?.user||fe,l=a?.axios||i?.axios;if(!l)throw new Error("Axios is not provided. You can provide it with InjectDependenciesProvider or directly in props.");if(!l?.defaults||F)return null;if(typeof window<"u"&&window.localStorage){const d=localStorage.getItem(u),s=d?JSON.parse(d):null,v=s?.[e]?s[e]:null,g=s?.[r]?s[r]:null,w=d?`${v} ${g}`:null;w&&(l.defaults.headers.common.Authorization=w)}return l.defaults.baseURL=n,l.defaults.headers.post["Content-Type"]=o,null},ge=({language:e,...r})=>{const{libraries:o}=f.useContext(C),a=r?.dayjs||o?.dayjs,n=r?.plugin||o?.dayjsPlugin;if(!a)throw new Error("Dayjs is not provided. You can provide it with InjectDependenciesProvider or directly in props of InitializeDaysJSConfig.");return f.useEffect(()=>{(async()=>{const c=e||navigator.language?.slice(0,2)||"en";n&&n.forEach(u=>{u&&a.extend(u)}),await import("dayjs/locale/en"),await import("dayjs/locale/fr"),a.locale(c)})().then()},[a,n,e]),null},me=({debug:e,resources:r,...o})=>{const{libraries:a}=f.useContext(C),n=o?.i18||a?.i18,{i18next:i,initReactI18next:c,languageDetector:u}=n||{};if(F)return null;if(!n)throw new Error("i18 is not provided. You can provide it with InjectDependenciesProvider or directly in props.");return i?.isInitialized||(i.use(u).use(c).init({debug:e,fallbackLng:"en",interpolation:{escapeValue:!1},load:"languageOnly",react:{bindI18n:"languageChanged loaded",useSuspense:!0},resources:r,returnNull:!1}).then(()=>{document.documentElement.lang!==i.resolvedLanguage&&i.resolvedLanguage&&document.documentElement.setAttribute("lang",i.resolvedLanguage)}),i.on("languageChanged",l=>{document.documentElement.setAttribute("lang",l)})),null},ye=({dsn:e,integrations:r,tracesSampleRate:o,replaysSessionSampleRate:a,replaysOnErrorSampleRate:n,tracePropagationTargets:i,ignoreErrors:c,debug:u,environment:l,release:d,...s})=>{const{libraries:v}=f.useContext(C),g=s?.sentry||v?.sentry,w=s?.reactRouter||v?.reactRouter;if(!g)throw new Error("Sentry is not provided. You can provide it with InjectDependenciesProvider or directly in props.");if(!w)throw new Error("React Router is not provided. You can provide it with InjectDependenciesProvider or directly in props.");if(g.isInitialized())return null;const{createRoutesFromChildren:T,matchRoutes:j,useLocation:k,useNavigationType:y}=w;return(u||process.env.NODE_ENV==="prod"||process.env.NODE_ENV==="production")&&g.init({debug:u,dsn:e,environment:l||"production",ignoreErrors:[...c||[],/dynamically imported module/,/Cannot read properties of undefined \(reading 'default'\)/,/Loading chunk \d+ failed/,/ChunkLoadError/,/Failed to fetch dynamically imported module/,/vite:preloadError/],integrations:[g.reactRouterV6BrowserTracingIntegration({createRoutesFromChildren:T,matchRoutes:j,useEffect:f.useEffect,useLocation:k,useNavigationType:y}),...r||[]],release:d,replaysOnErrorSampleRate:n||1,replaysSessionSampleRate:a||.1,tracePropagationTargets:i,tracesSampleRate:o||1}),null},he=()=>(f.useEffect(()=>{if(F)return;const e=r=>{try{r.preventDefault(),r.stopPropagation(),r.stopImmediatePropagation(),window.location.reload()}catch{}};return window.addEventListener("vite:preloadError",e),()=>{window.removeEventListener("vite:preloadError",e)}},[]),null),ve="user",Ee=({Fallback:e,isLogged:r,loginPath:o="/login",redirect401Path:a="/login",...n})=>{const{libraries:i,localStorageKeys:c}=f.useContext(C),u=n?.reactRouter||i?.reactRouter,l=n?.axios||i?.axios,d=n?.localStorageKey||c?.user||ve;if(!u)throw new Error("React Router is not provided. You can provide it with InjectDependenciesProvider or directly in props.");const[s,v]=f.useState(null),{useLocation:g,Navigate:w,Outlet:T}=u,j=g(),k=f.useRef(!1),y=typeof r=="function"?r():!!r,R=typeof y=="boolean"?y:y?.isLogged;return f.useEffect(()=>{k.current||(k.current=!0,l.interceptors.response.use(h=>h,async h=>(typeof h=="object"&&h&&"response"in h&&h.response&&typeof h.response=="object"&&"status"in h.response&&h.response&&typeof h.response=="object"&&"status"in h.response&&h?.response?.status===401&&(l.defaults.headers.common.Authorization=null,typeof window<"u"&&window.localStorage&&localStorage.removeItem(d),v(a)),Promise.reject(h))))},[l.defaults.headers.common,l.interceptors.response,d,a]),R&&!s?P.jsx(f.Suspense,{fallback:e,children:j.state?.from?.state&&j.state?.from?.pathname===o?P.jsx(w,{to:j.state.from.state.from.pathname+j.state.from.state.from.search,replace:!0}):P.jsx(T,{})}):P.jsx(w,{to:o+j.search,state:{from:j},replace:!0})},we=async()=>{if("caches"in window)try{const e=await caches.keys();await Promise.all(e.map(r=>caches.delete(r)))}catch(e){console.error("Failed to clear caches:",e)}},Re=({autoUpdate:e,renderDialog:r,clearCachesOnReload:o})=>{const a=f.useRef(null),[n,i]=f.useState(!1),c=f.useCallback(()=>{a.current&&a.current.postMessage({type:"SKIP_WAITING"}),o&&localStorage.setItem("tracktor_clear_caches","1"),window.location.reload()},[o]);f.useEffect(()=>{localStorage.getItem("tracktor_clear_caches")==="1"&&(localStorage.removeItem("tracktor_clear_caches"),we().catch(console.error))},[]);const u=f.useCallback(()=>{window.confirm("A new version is available. The app will reload now.")&&c()},[c]);return f.useEffect(()=>{if(!("serviceWorker"in navigator))return;let l,d;const s=g=>{g&&navigator.serviceWorker.controller&&(a.current=g,i(!0))},v=()=>{const g=l?.installing;g&&(d=()=>{g.state==="installed"&&s(g)},g.addEventListener("statechange",d))};return(async()=>{l=await navigator.serviceWorker.getRegistration(),l&&(s(l.waiting),l.addEventListener("updatefound",v))})().catch(console.error),()=>{l?.removeEventListener("updatefound",v),d&&l?.installing&&l.installing.removeEventListener("statechange",d)}},[]),f.useEffect(()=>{n&&e&&c()},[e,n,c]),f.useEffect(()=>{n&&!e&&!r&&u()},[r,u,n,e]),n&&!e&&r?r(c):null},be=e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase(),_e=e=>{const r=e.split(/[/\\]/).pop()||"";return r.substring(0,r.lastIndexOf("."))},Se=e=>{const a=e.split("/").filter(n=>n.length>0).map(n=>n.replace(/\${([^}]*)}/g,"$1").split(/[_-]/).map(l=>l.charAt(0).toUpperCase()+l.slice(1)).join("")).join("");return a.charAt(0).toLowerCase()+a.slice(1)},Ae=e=>(e.split("/").pop()||e).replace(/\.json$/,"").replace(/^openapi\./,""),Ce=(e,r,o,a)=>{const n=Se(r),i=be(o),c=`${n}${i}`;return e&&typeof e=="object"&&"operationId"in e&&a?.includes(String(e.operationId))?`${c}AsQuery`:c},je=(e,r)=>{const o={};return e?.forEach(a=>{o[a]={query:{useInfinite:!0,useInfiniteQueryParam:"offset",useQuery:!0}}}),r?.filter(a=>!o[a]).forEach(a=>{o[a]={query:{useQuery:!0}}}),Object.keys(o).length?o:void 0},Pe=e=>(Array.isArray(e)?e:[e]).reduce((o,a)=>{const{output:n,useInfiniteIds:i,useQueryIds:c,input:u="./openapi.json",customAxiosInstancePath:l,overrideApiName:d}=a||{},s=d||Ae(u),v=l||"./node_modules/@tracktor/shared-module/dist/axiosCustomInstance.ts";return{...o,[s]:{input:u,output:{baseUrl:n?.baseUrl,client:"react-query",mode:"tags-split",override:{...(i?.length||c?.length)&&{operations:je(i,c)},header:g=>["Generated by orval 🍺",...g.title?[g.title]:[],...g.description?[g.description]:[]],mutator:{name:_e(v),path:v},operationName:(g,w,T)=>Ce(g,w,T,c),query:{useQuery:!0}},schemas:n?.schemas||`src/api/${s}/model`,target:n?.target||`src/api/${s}/services/api.ts`,...n}}}},{}),Te=e=>e&&typeof e=="function",ke=e=>e&&typeof e=="function",Ie=({children:e,defaultQueriesOptions:r,defaultMutationsOptions:o,...a})=>{const{libraries:n}=f.useContext(C),i=a?.QueryClient||n?.reactQuery?.QueryClient,c=a?.QueryClientProvider||n?.reactQuery?.QueryClientProvider;if(!i)throw new Error("QueryClient is not provided. You can provide it with InjectDependenciesProvider or directly in props.");if(!c)throw new Error("QueryClientProvider is not provided. You can provide it with InjectDependenciesProvider or directly in props.");if(!Te(c))throw new Error("Provided QueryClientProvider dependencies are not valid.");if(!ke(i))throw new Error("Provided QueryClient dependencies are not valid.");const u=new i({defaultOptions:{mutations:{...o},queries:{getNextPageParam:(l,d,s)=>l.length+(s||0),refetchOnWindowFocus:!1,retry:3,...r}}});return P.jsx(c,{client:u,children:e})},B=({library:e,date:r,format:o="ll"})=>e(r).format(o),H=(e,r)=>{const{fractionDigits:o=0,metric:a="km",spacingBetween:n=!0}=r||{},i=Number(e),c=n?" ":"";return Number.isNaN(i)?`0${c}${a}`:`${i.toFixed(o)}${c}${a}`},X=e=>!e||typeof e!="string"?"":e.replace(/_/g," ").toLowerCase().split(" ").map(o=>o.length>0?o.charAt(0).toUpperCase()+o.slice(1):o).join(" "),Oe=e=>e?.startsWith("/")?e?.startsWith("/files")?e:`/files${e}`:e?.startsWith("files")?`/${e}`:`/files/${e}`,xe=({path:e,size:r,apiURL:o})=>{if(!e)return"";const a=Oe(e),n=`${o}${a}`,i=n.match(/\.(jpeg|jpg|png|gif|bmp|webp|svg|avif)$/)!==null;return typeof r=="number"&&i?`${n.replace("/files",`/thumbs/${r}`)}`:n},Ne=e=>{const{apiURL:r,libraries:o}=f.useContext(C),a=e?.dayjs||o?.dayjs;return{dateAdapter:(c,u)=>{if(!a)throw new Error("Dayjs is not provided. You can provide it with InjectDependenciesProvider or directly in props.");return B({date:c,format:u,library:a})},distanceAdapter:H,filePathAdapter:(c,u)=>{if(!r)throw new Error("API URL is not provided. You can provide it with InjectDependenciesProvider or directly in props to filePathAdapter.");return typeof c=="string"&&/^https?:\/\//.test(c)?c:xe({apiURL:r,path:c,size:u})},worksiteNameAdapter:X}},Le=e=>{const{libraries:r}=f.useContext(C),o=e?.axios||r?.axios,a=e?.localStorageKey||"user";if(!o)throw new Error("Axios is not provided. You can provide it with InjectDependenciesProvider or directly in params of useAuth.");const n=f.useCallback(({tokenType:c,accessToken:u})=>{o.defaults.headers.common.Authorization=`${c} ${u}`},[o.defaults.headers.common]),i=()=>{o.defaults.headers.common.Authorization=null};return f.useEffect(()=>{if(F)return;const c=({newValue:u,key:l})=>{if(l===a&&u)try{const{accessToken:d,tokenType:s}=JSON.parse(u);n({accessToken:d,tokenType:s})}catch(d){console.error("Failed to parse newValue from localStorage:",d)}};return window.addEventListener("storage",c),()=>{window.removeEventListener("storage",c)}},[a,n]),{clearAuthenticationToken:i,setAuthenticationToken:n}},Y=(e,r)=>r==="short"?e.split("-")[0]:e,Fe=(e,r="full")=>{const[o,a]=f.useState(()=>{const n=e?.language||navigator.language;return e&&"isInitialized"in e&&e.isInitialized,Y(n,r)});return f.useEffect(()=>{e&&"isInitialized"in e&&e.isInitialized&&e.language&&a(Y(e.language,r));const n=i=>{a(Y(i,r))};return e?.on?.("languageChanged",n),()=>{e?.off?.("languageChanged",n)}},[e,r]),o},De="tracktor.filter",Ye={getFilter:()=>{},getFilters:()=>({}),handleFilter:()=>()=>{},setFilter:()=>{}},Z=e=>{try{return JSON.parse(e)}catch{return e}},q=(e,r,o)=>`${o}_${e}=>${r}`,We=e=>e.reduce((r,o)=>{const a=localStorage.getItem(o);if(a)try{const n=JSON.parse(a),i=Object.keys(n)?.[0];i&&(r[i]=Object.values(n)?.[0])}catch{}return r},{}),ze=e=>{const{libraries:r,localStorageKeys:o}=f.useContext(C),a=e?.reactRouter||r?.reactRouter,{pathname:n}=a?.useLocation?.()??{pathname:"/"},[i,c]=a?.useSearchParams?.()??[new URLSearchParams,()=>{}],[u,l]=f.useState({}),d=o?.filter||De,s=e?.syncWithUrl===void 0?!0:e?.syncWithUrl,v=e?.persistToLocalStorage===void 0?!0:e?.persistToLocalStorage;if(F)return Ye;if(!a)throw new Error("React Router is not provided. You can provide it with InjectDependenciesProvider or directly in props of reactRouter.");const g=()=>Object.keys(localStorage).filter(y=>y.startsWith(d)&&y.endsWith(e?.pathname||n)),w=(y,R,h=!0)=>{const S=q(y,e?.pathname||n,d);if(!R||Array.isArray(R)&&!R.length){s?(i.delete(y),c(i)):l(A=>{const I={...A};return delete I[y],I}),v&&localStorage.removeItem(S);return}v&&h&&R&&localStorage.setItem(S,JSON.stringify({...i,[y]:R})),s&&R?(i.set(y,JSON.stringify(R)),c(i)):!s&&R&&l(A=>({...A,[y]:R}))};return{getFilter:(y,R)=>{if(s){const h=i.get(y);if(h)return Z(h)}else{const h=u[y];if(h!==void 0)return h}if(v){const h=q(y,e?.pathname||n,d),S=localStorage.getItem(h);if(S)try{const A=JSON.parse(S)[y];return!s&&A!==void 0&&l(I=>({...I,[y]:A})),A}catch{}}return R},getFilters:()=>{const y=v?We(g()):{};if(s){const R=Array.from(i.entries()).reduce((h,[S,A])=>(h[S]=Z(A),h),{});return{...y,...R}}return{...y,...u}},handleFilter:(y,R)=>(h,S)=>{if(S||Array.isArray(S)&&S.length===0){const A=R||"value",I=typeof S=="object"&&A in S?S[A]:S;w(y,I);return}w(y,void 0)},setFilter:w}},Ue=({data:e,fetchNextPage:r,isFetchingNextPage:o,isInitialLoading:a,isLoading:n,enabled:i=!0})=>{const c=f.useCallback(async l=>{o||!i||await r({pageParam:l?.pageParam||l.visibleRowsCount})},[i,r,o]),u=f.useMemo(()=>{if(e)return e.pages.reduce((l,d)=>[...l,...d],[])},[e]);return{fetchNextPageOnRowsScrollEnd:c,isLoading:o||n,loadingVariant:a?"skeleton":"linear-progress",rows:u}},Me=e=>{const{libraries:r}=f.useContext(C),o=e?.i18||r?.i18,a=e?.i18?.translateFunction||r?.i18?.translateFunction,n=o?.i18next?.t||a||(d=>d),{unknownErrorTranslationKey:i="error.unknownError"}=e||{},c=n(i),u=f.useCallback(d=>{if(d&&typeof d=="object"&&"response"in d){const{response:s}=d||{};if(s&&typeof s=="object"&&"reason"in s&&s.reason)return String(s.reason);if(s&&typeof s=="object"&&"data"in s&&s.data&&typeof s.data=="object"&&"reason"in s.data&&s.data.reason)return String(s.data.reason);if(s&&typeof s=="object"&&"data"in s&&s.data&&typeof s.data=="object"&&"message"in s.data&&s.data.message)return String(s.data.message);if(s&&typeof s=="object"&&"data"in s&&s.data&&typeof s.data=="object"&&"detail"in s.data){const{detail:v}=s.data;if(Array.isArray(v)&&v.length>0&&typeof v[0]=="object"&&v[0]!==null&&"msg"in v[0]){const{msg:g}=v[0];if(typeof g=="string")return String(g)}}}return d instanceof Error?d.message:c},[c]);return{getErrorCode:f.useCallback(d=>{const{response:s}=d||{};return s?.error_code?String(s?.error_code):s?.data?.error_code?String(s?.data?.error_code):s?.error_code?String(s?.error_code):s?.data?.error_code?String(s.data.error_code):"unknown_error_code"},[]),printError:u}};m.GTMSendPageView=de,m.InitializeAxiosConfig=pe,m.InitializeDaysJSConfig=ge,m.InitializeI18nConfig=me,m.InitializeSentryConfig=ye,m.InjectDependenciesContext=C,m.InjectDependenciesProvider=ue,m.MaskTextField=le,m.PreloadErrorHandler=he,m.QueryClientProviderWithConfig=Ie,m.RequireAuth=Ee,m.UpdateNotifier=Re,m.axiosCustomInstance=ae,m.dateAdapter=B,m.distanceAdapter=H,m.getOrvalConfig=Pe,m.useAdapter=Ne,m.useAuth=Le,m.useCurrentLanguage=Fe,m.useFilters=ze,m.useInfiniteDataGrid=Ue,m.useResponseError=Me,m.worksiteNameAdapter=X,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})}));
|
|
6
|
+
<%s key={someKey} {...props} />`,b,R,x,R),ae[R+b]=!0)}if(R=null,E!==void 0&&(o(E),R=""+E),c(g)&&(o(g.key),R=""+g.key),"key"in g){E={};for(var V in g)V!=="key"&&(E[V]=g[V])}else E=g;return R&&u(E,typeof t=="function"?t.displayName||t.name||"Unknown":t),d(t,R,E,n(),z,Q)}function y(t){m(t)?t._store&&(t._store.validated=1):typeof t=="object"&&t!==null&&t.$$typeof===W&&(t._payload.status==="fulfilled"?m(t._payload.value)&&t._payload.value._store&&(t._payload.value._store.validated=1):t._store&&(t._store.validated=1))}function m(t){return typeof t=="object"&&t!==null&&t.$$typeof===k}var w=p,k=Symbol.for("react.transitional.element"),j=Symbol.for("react.portal"),P=Symbol.for("react.fragment"),v=Symbol.for("react.strict_mode"),f=Symbol.for("react.profiler"),S=Symbol.for("react.consumer"),_=Symbol.for("react.context"),A=Symbol.for("react.forward_ref"),I=Symbol.for("react.suspense"),Ve=Symbol.for("react.suspense_list"),Ge=Symbol.for("react.memo"),W=Symbol.for("react.lazy"),Je=Symbol.for("react.activity"),Ke=Symbol.for("react.client.reference"),U=w.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ee=Object.prototype.hasOwnProperty,He=Array.isArray,M=console.createTask?console.createTask:function(){return null};w={react_stack_bottom_frame:function(t){return t()}};var te,re={},ne=w.react_stack_bottom_frame.bind(w,i)(),oe=M(a(i)),ae={};L.Fragment=P,L.jsx=function(t,g,E){var b=1e4>U.recentlyCreatedOwnerStacks++;return s(t,g,E,!1,b?Error("react-stack-top-frame"):ne,b?M(a(t)):oe)},L.jsxs=function(t,g,E){var b=1e4>U.recentlyCreatedOwnerStacks++;return s(t,g,E,!0,b?Error("react-stack-top-frame"):ne,b?M(a(t)):oe)}})()),L}var K;function le(){return K||(K=1,process.env.NODE_ENV==="production"?D.exports=ie():D.exports=ce()),D.exports}var T=le();const ue=({IMaskMixin:e,...r})=>{const o=p.useMemo(()=>e(({TextField:a,...n})=>T.jsx(a,{...n})),[e]);return T.jsx(o,{...r})},C=p.createContext({}),de=({children:e,apiURL:r,libraries:o,localStorageKeys:a})=>{const n=p.useMemo(()=>({apiURL:r,libraries:o,localStorageKeys:a}),[r,o,a]);return T.jsx(C.Provider,{value:n,children:e})},fe=({data:e,...r})=>{const{libraries:o}=p.useContext(C),a=r?.reactRouter||o?.reactRouter,n=r?.gtm||o?.gtm;if(!a)throw new Error("React Router is not provided. You can provide it with InjectDependenciesProvider or directly in props of GTMSendPageView.");if(!n)throw new Error("GTM is not provided. You can provide it with InjectDependenciesProvider or directly in props of GTMSendPageView.");const{useGoogleTagManager:i}=n,{useLocation:c,Outlet:u}=a,{pathname:l}=c(),{sendEvent:d}=i();return p.useEffect(()=>{d({event:"pageView",pathname:l,...e})},[e,l,d]),T.jsx(u,{})},F=(()=>{try{return typeof global=="object"&&global!==null&&("HermesInternal"in global||"__fbBatchedBridge"in global||"__metro"in global)||typeof window>"u"&&typeof global<"u"?!0:typeof navigator<"u"&&navigator.userAgent?/react.native|ReactNative/i.test(navigator.userAgent):!1}catch{return!1}})(),pe="user",ge=({tokenTypeKey:e="tokenType",tokenKey:r="accessToken",postContentType:o="application/json",...a})=>{const{apiURL:n=a.apiURL,libraries:i,localStorageKeys:c}=p.useContext(C),u=a?.userLocalStorageKey||c?.user||pe,l=a?.axios||i?.axios;if(!l)throw new Error("Axios is not provided. You can provide it with InjectDependenciesProvider or directly in props.");if(!l?.defaults||F)return null;if(typeof window<"u"&&window.localStorage){const d=localStorage.getItem(u),s=d?JSON.parse(d):null,y=s?.[e]?s[e]:null,m=s?.[r]?s[r]:null,w=d?`${y} ${m}`:null;w&&(l.defaults.headers.common.Authorization=w)}return l.defaults.baseURL=n,l.defaults.headers.post["Content-Type"]=o,null},me=({language:e,...r})=>{const{libraries:o}=p.useContext(C),a=r?.dayjs||o?.dayjs,n=r?.plugin||o?.dayjsPlugin;if(!a)throw new Error("Dayjs is not provided. You can provide it with InjectDependenciesProvider or directly in props of InitializeDaysJSConfig.");return p.useEffect(()=>{(async()=>{const c=e||navigator.language?.slice(0,2)||"en";n&&n.forEach(u=>{u&&a.extend(u)}),await import("dayjs/locale/en"),await import("dayjs/locale/fr"),a.locale(c)})().then()},[a,n,e]),null},he=({debug:e,resources:r,...o})=>{const{libraries:a}=p.useContext(C),n=o?.i18||a?.i18,{i18next:i,initReactI18next:c,languageDetector:u}=n||{};if(F)return null;if(!n)throw new Error("i18 is not provided. You can provide it with InjectDependenciesProvider or directly in props.");return i?.isInitialized||(i.use(u).use(c).init({debug:e,fallbackLng:"en",interpolation:{escapeValue:!1},load:"languageOnly",react:{bindI18n:"languageChanged loaded",useSuspense:!0},resources:r,returnNull:!1}).then(()=>{document.documentElement.lang!==i.resolvedLanguage&&i.resolvedLanguage&&document.documentElement.setAttribute("lang",i.resolvedLanguage)}),i.on("languageChanged",l=>{document.documentElement.setAttribute("lang",l)})),null},ye=({dsn:e,integrations:r,tracesSampleRate:o,replaysSessionSampleRate:a,replaysOnErrorSampleRate:n,tracePropagationTargets:i,ignoreErrors:c,debug:u,environment:l,release:d,...s})=>{const{libraries:y}=p.useContext(C),m=s?.sentry||y?.sentry,w=s?.reactRouter||y?.reactRouter;if(!m)throw new Error("Sentry is not provided. You can provide it with InjectDependenciesProvider or directly in props.");if(!w)throw new Error("React Router is not provided. You can provide it with InjectDependenciesProvider or directly in props.");if(m.isInitialized())return null;const{createRoutesFromChildren:k,matchRoutes:j,useLocation:P,useNavigationType:v}=w;return(u||process.env.NODE_ENV==="prod"||process.env.NODE_ENV==="production")&&m.init({debug:u,dsn:e,environment:l||"production",ignoreErrors:[...c||[],/dynamically imported module/,/Cannot read properties of undefined \(reading 'default'\)/,/Loading chunk \d+ failed/,/ChunkLoadError/,/Failed to fetch dynamically imported module/,/vite:preloadError/],integrations:[m.reactRouterV6BrowserTracingIntegration({createRoutesFromChildren:k,matchRoutes:j,useEffect:p.useEffect,useLocation:P,useNavigationType:v}),...r||[]],release:d,replaysOnErrorSampleRate:n||1,replaysSessionSampleRate:a||.1,tracePropagationTargets:i,tracesSampleRate:o||1}),null},ve=()=>(p.useEffect(()=>{if(F)return;const e=r=>{try{r.preventDefault(),r.stopPropagation(),r.stopImmediatePropagation(),window.location.reload()}catch{}};return window.addEventListener("vite:preloadError",e),()=>{window.removeEventListener("vite:preloadError",e)}},[]),null),H=new WeakMap,Ee="user",we=({Fallback:e,isLogged:r,loginPath:o="/login",redirect401Path:a="/login",...n})=>{const{libraries:i,localStorageKeys:c}=p.useContext(C),u=n?.reactRouter||i?.reactRouter,l=n?.axios||i?.axios,d=n?.localStorageKey||c?.user||Ee;if(!u)throw new Error("React Router is not provided. You can provide it with InjectDependenciesProvider or directly in props.");const[s,y]=p.useState(null),{useLocation:m,Navigate:w,Outlet:k}=u,j=m(),P=typeof r=="function"?r():!!r,v=typeof P=="boolean"?P:P?.isLogged;return p.useEffect(()=>{H.has(l)||(H.set(l,!0),l.interceptors.response.use(f=>f,f=>(typeof f=="object"&&f&&"response"in f&&f.response&&typeof f.response=="object"&&"status"in f.response&&f.response&&typeof f.response=="object"&&"status"in f.response&&f?.response?.status===401&&(typeof f=="object"&&f&&"config"in f&&f.config&&typeof f.config=="object"&&"headers"in f.config&&f.config.headers&&typeof f.config.headers=="object"&&"Authorization"in f.config.headers&&f.config.headers.Authorization&&(l.defaults.headers.common.Authorization=null,typeof window<"u"&&window.localStorage&&localStorage.removeItem(d)),y(a)),Promise.reject(f))))},[l,d,a]),v&&!s?T.jsx(p.Suspense,{fallback:e,children:j.state?.from?.state&&j.state?.from?.pathname===o?T.jsx(w,{to:j.state.from.state.from.pathname+j.state.from.state.from.search,replace:!0}):T.jsx(k,{})}):T.jsx(w,{to:o+j.search,state:{from:j},replace:!0})},be=async()=>{if("caches"in window)try{const e=await caches.keys();await Promise.all(e.map(r=>caches.delete(r)))}catch(e){console.error("Failed to clear caches:",e)}},Re=({autoUpdate:e,renderDialog:r,clearCachesOnReload:o})=>{const a=p.useRef(null),[n,i]=p.useState(!1),c=p.useCallback(()=>{a.current&&a.current.postMessage({type:"SKIP_WAITING"}),o&&localStorage.setItem("tracktor_clear_caches","1"),window.location.reload()},[o]);p.useEffect(()=>{localStorage.getItem("tracktor_clear_caches")==="1"&&(localStorage.removeItem("tracktor_clear_caches"),be().catch(console.error))},[]);const u=p.useCallback(()=>{window.confirm("A new version is available. The app will reload now.")&&c()},[c]);return p.useEffect(()=>{if(!("serviceWorker"in navigator))return;let l,d;const s=m=>{m&&navigator.serviceWorker.controller&&(a.current=m,i(!0))},y=()=>{const m=l?.installing;m&&(d=()=>{m.state==="installed"&&s(m)},m.addEventListener("statechange",d))};return(async()=>{l=await navigator.serviceWorker.getRegistration(),l&&(s(l.waiting),l.addEventListener("updatefound",y))})().catch(console.error),()=>{l?.removeEventListener("updatefound",y),d&&l?.installing&&l.installing.removeEventListener("statechange",d)}},[]),p.useEffect(()=>{n&&e&&c()},[e,n,c]),p.useEffect(()=>{n&&!e&&!r&&u()},[r,u,n,e]),n&&!e&&r?r(c):null},_e=e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase(),Se=e=>{const r=e.split(/[/\\]/).pop()||"";return r.substring(0,r.lastIndexOf("."))},Ae=e=>{const a=e.split("/").filter(n=>n.length>0).map(n=>n.replace(/\${([^}]*)}/g,"$1").split(/[_-]/).map(l=>l.charAt(0).toUpperCase()+l.slice(1)).join("")).join("");return a.charAt(0).toLowerCase()+a.slice(1)},Ce=e=>(e.split("/").pop()||e).replace(/\.json$/,"").replace(/^openapi\./,""),je=(e,r,o,a)=>{const n=Ae(r),i=_e(o),c=`${n}${i}`;return e&&typeof e=="object"&&"operationId"in e&&a?.includes(String(e.operationId))?`${c}AsQuery`:c},Pe=(e,r)=>{const o={};return e?.forEach(a=>{o[a]={query:{useInfinite:!0,useInfiniteQueryParam:"offset",useQuery:!0}}}),r?.filter(a=>!o[a]).forEach(a=>{o[a]={query:{useQuery:!0}}}),Object.keys(o).length?o:void 0},Te=e=>(Array.isArray(e)?e:[e]).reduce((o,a)=>{const{output:n,useInfiniteIds:i,useQueryIds:c,input:u="./openapi.json",customAxiosInstancePath:l,overrideApiName:d}=a||{},s=d||Ce(u),y=l||"./node_modules/@tracktor/shared-module/dist/axiosCustomInstance.ts";return{...o,[s]:{input:u,output:{baseUrl:n?.baseUrl,client:"react-query",mode:"tags-split",override:{...(i?.length||c?.length)&&{operations:Pe(i,c)},header:m=>["Generated by orval 🍺",...m.title?[m.title]:[],...m.description?[m.description]:[]],mutator:{name:Se(y),path:y},operationName:(m,w,k)=>je(m,w,k,c),query:{useQuery:!0}},schemas:n?.schemas||`src/api/${s}/model`,target:n?.target||`src/api/${s}/services/api.ts`,...n}}}},{}),ke=e=>e&&typeof e=="function",Ie=e=>e&&typeof e=="function",Oe=({children:e,defaultQueriesOptions:r,defaultMutationsOptions:o,...a})=>{const{libraries:n}=p.useContext(C),i=a?.QueryClient||n?.reactQuery?.QueryClient,c=a?.QueryClientProvider||n?.reactQuery?.QueryClientProvider;if(!i)throw new Error("QueryClient is not provided. You can provide it with InjectDependenciesProvider or directly in props.");if(!c)throw new Error("QueryClientProvider is not provided. You can provide it with InjectDependenciesProvider or directly in props.");if(!ke(c))throw new Error("Provided QueryClientProvider dependencies are not valid.");if(!Ie(i))throw new Error("Provided QueryClient dependencies are not valid.");const u=new i({defaultOptions:{mutations:{...o},queries:{getNextPageParam:(l,d,s)=>l.length+(s||0),refetchOnWindowFocus:!1,retry:3,...r}}});return T.jsx(c,{client:u,children:e})},B=({library:e,date:r,format:o="ll"})=>e(r).format(o),X=(e,r)=>{const{fractionDigits:o=0,metric:a="km",spacingBetween:n=!0}=r||{},i=Number(e),c=n?" ":"";return Number.isNaN(i)?`0${c}${a}`:`${i.toFixed(o)}${c}${a}`},Z=e=>!e||typeof e!="string"?"":e.replace(/_/g," ").toLowerCase().split(" ").map(o=>o.length>0?o.charAt(0).toUpperCase()+o.slice(1):o).join(" "),xe=e=>e?.startsWith("/")?e?.startsWith("/files")?e:`/files${e}`:e?.startsWith("files")?`/${e}`:`/files/${e}`,Ne=({path:e,size:r,apiURL:o})=>{if(!e)return"";const a=xe(e),n=`${o}${a}`,i=n.match(/\.(jpeg|jpg|png|gif|bmp|webp|svg|avif)$/)!==null;return typeof r=="number"&&i?`${n.replace("/files",`/thumbs/${r}`)}`:n},Le=e=>{const{apiURL:r,libraries:o}=p.useContext(C),a=e?.dayjs||o?.dayjs;return{dateAdapter:(c,u)=>{if(!a)throw new Error("Dayjs is not provided. You can provide it with InjectDependenciesProvider or directly in props.");return B({date:c,format:u,library:a})},distanceAdapter:X,filePathAdapter:(c,u)=>{if(!r)throw new Error("API URL is not provided. You can provide it with InjectDependenciesProvider or directly in props to filePathAdapter.");return typeof c=="string"&&/^https?:\/\//.test(c)?c:Ne({apiURL:r,path:c,size:u})},worksiteNameAdapter:Z}},Fe=e=>{const{libraries:r}=p.useContext(C),o=e?.axios||r?.axios,a=e?.localStorageKey||"user";if(!o)throw new Error("Axios is not provided. You can provide it with InjectDependenciesProvider or directly in params of useAuth.");const n=p.useCallback(({tokenType:c,accessToken:u})=>{o.defaults.headers.common.Authorization=`${c} ${u}`},[o.defaults.headers.common]),i=()=>{o.defaults.headers.common.Authorization=null};return p.useEffect(()=>{if(F)return;const c=({newValue:u,key:l})=>{if(l===a&&u)try{const{accessToken:d,tokenType:s}=JSON.parse(u);n({accessToken:d,tokenType:s})}catch(d){console.error("Failed to parse newValue from localStorage:",d)}};return window.addEventListener("storage",c),()=>{window.removeEventListener("storage",c)}},[a,n]),{clearAuthenticationToken:i,setAuthenticationToken:n}},Y=(e,r)=>r==="short"?e.split("-")[0]:e,De=(e,r="full")=>{const[o,a]=p.useState(()=>{const n=e?.language||navigator.language;return e&&"isInitialized"in e&&e.isInitialized,Y(n,r)});return p.useEffect(()=>{e&&"isInitialized"in e&&e.isInitialized&&e.language&&a(Y(e.language,r));const n=i=>{a(Y(i,r))};return e?.on?.("languageChanged",n),()=>{e?.off?.("languageChanged",n)}},[e,r]),o},Ye="tracktor.filter",ze={getFilter:()=>{},getFilters:()=>({}),handleFilter:()=>()=>{},setFilter:()=>{}},q=e=>{try{return JSON.parse(e)}catch{return e}},$=(e,r,o)=>`${o}_${e}=>${r}`,We=e=>e.reduce((r,o)=>{const a=localStorage.getItem(o);if(a)try{const n=JSON.parse(a),i=Object.keys(n)?.[0];i&&(r[i]=Object.values(n)?.[0])}catch{}return r},{}),Ue=e=>{const{libraries:r,localStorageKeys:o}=p.useContext(C),a=e?.reactRouter||r?.reactRouter,{pathname:n}=a?.useLocation?.()??{pathname:"/"},[i,c]=a?.useSearchParams?.()??[new URLSearchParams,()=>{}],[u,l]=p.useState({}),d=o?.filter||Ye,s=e?.syncWithUrl===void 0?!0:e?.syncWithUrl,y=e?.persistToLocalStorage===void 0?!0:e?.persistToLocalStorage;if(F)return ze;if(!a)throw new Error("React Router is not provided. You can provide it with InjectDependenciesProvider or directly in props of reactRouter.");const m=()=>Object.keys(localStorage).filter(v=>v.startsWith(d)&&v.endsWith(e?.pathname||n)),w=(v,f,S=!0)=>{const _=$(v,e?.pathname||n,d);if(!f||Array.isArray(f)&&!f.length){s?(i.delete(v),c(i)):l(A=>{const I={...A};return delete I[v],I}),y&&localStorage.removeItem(_);return}y&&S&&f&&localStorage.setItem(_,JSON.stringify({...i,[v]:f})),s&&f?(i.set(v,JSON.stringify(f)),c(i)):!s&&f&&l(A=>({...A,[v]:f}))};return{getFilter:(v,f)=>{if(s){const S=i.get(v);if(S)return q(S)}else{const S=u[v];if(S!==void 0)return S}if(y){const S=$(v,e?.pathname||n,d),_=localStorage.getItem(S);if(_)try{const A=JSON.parse(_)[v];return!s&&A!==void 0&&l(I=>({...I,[v]:A})),A}catch{}}return f},getFilters:()=>{const v=y?We(m()):{};if(s){const f=Array.from(i.entries()).reduce((S,[_,A])=>(S[_]=q(A),S),{});return{...v,...f}}return{...v,...u}},handleFilter:(v,f)=>(S,_)=>{if(_||Array.isArray(_)&&_.length===0){const A=f||"value",I=typeof _=="object"&&A in _?_[A]:_;w(v,I);return}w(v,void 0)},setFilter:w}},Me=({data:e,fetchNextPage:r,isFetchingNextPage:o,isInitialLoading:a,isLoading:n,enabled:i=!0})=>{const c=p.useCallback(async l=>{o||!i||await r({pageParam:l?.pageParam||l.visibleRowsCount})},[i,r,o]),u=p.useMemo(()=>{if(e)return e.pages.reduce((l,d)=>[...l,...d],[])},[e]);return{fetchNextPageOnRowsScrollEnd:c,isLoading:o||n,loadingVariant:a?"skeleton":"linear-progress",rows:u}},Qe=e=>{const{libraries:r}=p.useContext(C),o=e?.i18||r?.i18,a=e?.i18?.translateFunction||r?.i18?.translateFunction,n=o?.i18next?.t||a||(d=>d),{unknownErrorTranslationKey:i="error.unknownError"}=e||{},c=n(i),u=p.useCallback(d=>{if(d&&typeof d=="object"&&"response"in d){const{response:s}=d||{};if(s&&typeof s=="object"&&"reason"in s&&s.reason)return String(s.reason);if(s&&typeof s=="object"&&"data"in s&&s.data&&typeof s.data=="object"&&"reason"in s.data&&s.data.reason)return String(s.data.reason);if(s&&typeof s=="object"&&"data"in s&&s.data&&typeof s.data=="object"&&"message"in s.data&&s.data.message)return String(s.data.message);if(s&&typeof s=="object"&&"data"in s&&s.data&&typeof s.data=="object"&&"detail"in s.data){const{detail:y}=s.data;if(Array.isArray(y)&&y.length>0&&typeof y[0]=="object"&&y[0]!==null&&"msg"in y[0]){const{msg:m}=y[0];if(typeof m=="string")return String(m)}}}return d instanceof Error?d.message:c},[c]);return{getErrorCode:p.useCallback(d=>{const{response:s}=d||{};return s?.error_code?String(s?.error_code):s?.data?.error_code?String(s?.data?.error_code):s?.error_code?String(s?.error_code):s?.data?.error_code?String(s.data.error_code):"unknown_error_code"},[]),printError:u}};h.GTMSendPageView=fe,h.InitializeAxiosConfig=ge,h.InitializeDaysJSConfig=me,h.InitializeI18nConfig=he,h.InitializeSentryConfig=ye,h.InjectDependenciesContext=C,h.InjectDependenciesProvider=de,h.MaskTextField=ue,h.PreloadErrorHandler=ve,h.QueryClientProviderWithConfig=Oe,h.RequireAuth=we,h.UpdateNotifier=Re,h.axiosCustomInstance=se,h.dateAdapter=B,h.distanceAdapter=X,h.getOrvalConfig=Te,h.useAdapter=Le,h.useAuth=Fe,h.useCurrentLanguage=De,h.useFilters=Ue,h.useInfiniteDataGrid=Me,h.useResponseError=Qe,h.worksiteNameAdapter=Z,Object.defineProperty(h,Symbol.toStringTag,{value:"Module"})}));
|
package/package.json
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tracktor/shared-module",
|
|
3
|
-
"version": "2.20.
|
|
3
|
+
"version": "2.20.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"types": "./dist/main.d.ts",
|
|
7
7
|
"main": "./dist/main.umd.cjs",
|
|
8
8
|
"module": "./dist/main.js",
|
|
9
|
-
"files": [
|
|
9
|
+
"files": [
|
|
10
|
+
"dist"
|
|
11
|
+
],
|
|
10
12
|
"exports": {
|
|
11
13
|
".": {
|
|
12
14
|
"types": "./dist/main.d.ts",
|