@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 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, useRef as ae, Suspense as ge, useCallback as O } from "react";
3
- const Ye = (e, r) => {
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 me() {
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, i) {
19
+ function o(a, n, s) {
20
20
  var c = null;
21
- if (i !== void 0 && (c = "" + i), n.key !== void 0 && (c = "" + n.key), "key" in n) {
22
- i = {};
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" && (i[u] = n[u]);
25
- } else i = n;
26
- return n = i.ref, {
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: i
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 k:
46
+ case T:
47
47
  return "Fragment";
48
- case E:
48
+ case f:
49
49
  return "Profiler";
50
- case g:
50
+ case h:
51
51
  return "StrictMode";
52
52
  case I:
53
53
  return "Suspense";
54
- case se:
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
- var f = t.render;
71
- return t = t.displayName, t || (t = f.displayName || f.name || "", t = t !== "" ? "ForwardRef(" + t + ")" : "ForwardRef"), t;
72
- case ie:
73
- return f = t.displayName || null, f !== null ? f : e(t.type) || "Memo";
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
- f = t._payload, t = t._init;
75
+ p = t._payload, t = t._init;
76
76
  try {
77
- return e(t(f));
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 f = !1;
89
+ var p = !1;
90
90
  } catch {
91
- f = !0;
91
+ p = !0;
92
92
  }
93
- if (f) {
94
- f = console;
95
- var h = f.error, w = typeof Symbol == "function" && Symbol.toStringTag && t[Symbol.toStringTag] || t.constructor.name || "Object";
96
- return h.call(
97
- f,
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 === k) return "<>";
104
+ if (t === T) return "<>";
105
105
  if (typeof t == "object" && t !== null && t.$$typeof === z)
106
106
  return "<...>";
107
107
  try {
108
- var f = e(t);
109
- return f ? "<" + f + ">" : "<...>";
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 i() {
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 f = Object.getOwnPropertyDescriptor(t, "key").get;
124
- if (f && f.isReactWarning) return !1;
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, f) {
129
- function h() {
130
- K || (K = !0, console.error(
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
- f
132
+ p
133
133
  ));
134
134
  }
135
- h.isReactWarning = !0, Object.defineProperty(t, "key", {
136
- get: h,
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 q[t] || (q[t] = !0, console.error(
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, f, h, w, $, V) {
147
- var R = h.ref;
146
+ function d(t, p, y, w, $, V) {
147
+ var E = y.ref;
148
148
  return t = {
149
- $$typeof: T,
149
+ $$typeof: k,
150
150
  type: t,
151
- key: f,
152
- props: h,
151
+ key: p,
152
+ props: y,
153
153
  _owner: w
154
- }, (R !== void 0 ? R : null) !== null ? Object.defineProperty(t, "ref", {
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 s(t, f, h, w, $, V) {
180
- var R = f.children;
181
- if (R !== void 0)
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(R)) {
184
- for (w = 0; w < R.length; w++)
185
- y(R[w]);
186
- Object.freeze && Object.freeze(R);
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 y(R);
192
- if (J.call(f, "key")) {
193
- R = e(t);
194
- var x = Object.keys(f).filter(function(de) {
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[R + w] || (x = 0 < x.length ? "{" + x.join(": ..., ") + ": ...}" : "{}", console.error(
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
- R,
205
+ E,
206
206
  x,
207
- R
208
- ), X[R + w] = !0);
207
+ E
208
+ ), X[E + w] = !0);
209
209
  }
210
- if (R = null, h !== void 0 && (o(h), R = "" + h), c(f) && (o(f.key), R = "" + f.key), "key" in f) {
211
- h = {};
212
- for (var M in f)
213
- M !== "key" && (h[M] = f[M]);
214
- } else h = f;
215
- return R && u(
216
- h,
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
- R,
221
- h,
220
+ E,
221
+ y,
222
222
  n(),
223
223
  $,
224
224
  V
225
225
  );
226
226
  }
227
- function y(t) {
228
- p(t) ? t._store && (t._store.validated = 1) : typeof t == "object" && t !== null && t.$$typeof === z && (t._payload.status === "fulfilled" ? p(t._payload.value) && t._payload.value._store && (t._payload.value._store.validated = 1) : t._store && (t._store.validated = 1));
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 p(t) {
231
- return typeof t == "object" && t !== null && t.$$typeof === T;
230
+ function g(t) {
231
+ return typeof t == "object" && t !== null && t.$$typeof === k;
232
232
  }
233
- var v = fe, T = /* @__PURE__ */ Symbol.for("react.transitional.element"), A = /* @__PURE__ */ Symbol.for("react.portal"), k = /* @__PURE__ */ Symbol.for("react.fragment"), g = /* @__PURE__ */ Symbol.for("react.strict_mode"), E = /* @__PURE__ */ Symbol.for("react.profiler"), m = /* @__PURE__ */ Symbol.for("react.consumer"), _ = /* @__PURE__ */ Symbol.for("react.context"), b = /* @__PURE__ */ Symbol.for("react.forward_ref"), I = /* @__PURE__ */ Symbol.for("react.suspense"), se = /* @__PURE__ */ Symbol.for("react.suspense_list"), ie = /* @__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() {
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 K, q = {}, B = v.react_stack_bottom_frame.bind(
241
+ var q, K = {}, H = v.react_stack_bottom_frame.bind(
242
242
  v,
243
- i
244
- )(), H = Q(a(i)), X = {};
245
- N.Fragment = k, N.jsx = function(t, f, h) {
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 s(
247
+ return i(
248
248
  t,
249
- f,
250
- h,
249
+ p,
250
+ y,
251
251
  !1,
252
- w ? Error("react-stack-top-frame") : B,
253
- w ? Q(a(t)) : H
252
+ w ? Error("react-stack-top-frame") : H,
253
+ w ? Q(a(t)) : B
254
254
  );
255
- }, N.jsxs = function(t, f, h) {
255
+ }, N.jsxs = function(t, p, y) {
256
256
  var w = 1e4 > U.recentlyCreatedOwnerStacks++;
257
- return s(
257
+ return i(
258
258
  t,
259
- f,
260
- h,
259
+ p,
260
+ y,
261
261
  !0,
262
- w ? Error("react-stack-top-frame") : B,
263
- w ? Q(a(t)) : H
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 he() {
270
- return re || (re = 1, process.env.NODE_ENV === "production" ? D.exports = me() : D.exports = ye()), 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 = he();
273
- const We = ({ IMaskMixin: e, ...r }) => {
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({}), ze = ({ children: e, apiURL: r, libraries: o, localStorageKeys: a }) => {
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
- }, Ue = ({ data: e, ...r }) => {
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: i } = n, { useLocation: c, Outlet: u } = a, { pathname: l } = c(), { sendEvent: d } = i();
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
- })(), ve = "user", Qe = ({
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: i, localStorageKeys: c } = P(S), u = a?.userLocalStorageKey || c?.user || ve, l = a?.axios || i?.axios;
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), s = d ? JSON.parse(d) : null, y = s?.[e] ? s[e] : null, p = s?.[r] ? s[r] : null, v = d ? `${y} ${p}` : null;
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
- }, Ve = ({ language: e, ...r }) => {
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
- }, Me = ({ debug: e, resources: r, ...o }) => {
345
- const { libraries: a } = P(S), n = o?.i18 || a?.i18, { i18next: i, initReactI18next: c, languageDetector: u } = n || {};
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 i?.isInitialized || (i.use(u).use(c).init({
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 !== i.resolvedLanguage && i.resolvedLanguage && document.documentElement.setAttribute("lang", i.resolvedLanguage);
365
- }), i.on("languageChanged", (l) => {
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
- }, Ge = ({
368
+ }, Je = ({
369
369
  dsn: e,
370
370
  integrations: r,
371
371
  tracesSampleRate: o,
372
372
  replaysSessionSampleRate: a,
373
373
  replaysOnErrorSampleRate: n,
374
- tracePropagationTargets: i,
374
+ tracePropagationTargets: s,
375
375
  ignoreErrors: c,
376
376
  debug: u,
377
377
  environment: l,
378
378
  release: d,
379
- ...s
379
+ ...i
380
380
  }) => {
381
- const { libraries: y } = P(S), p = s?.sentry || y?.sentry, v = s?.reactRouter || y?.reactRouter;
382
- if (!p)
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 (p.isInitialized())
386
+ if (g.isInitialized())
387
387
  return null;
388
- const { createRoutesFromChildren: T, matchRoutes: A, useLocation: k, useNavigationType: g } = v;
389
- return (u || process.env.NODE_ENV === "prod" || process.env.NODE_ENV === "production") && p.init({
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
- p.reactRouterV6BrowserTracingIntegration({
404
- createRoutesFromChildren: T,
403
+ g.reactRouterV6BrowserTracingIntegration({
404
+ createRoutesFromChildren: k,
405
405
  matchRoutes: A,
406
406
  useEffect: j,
407
- useLocation: k,
408
- useNavigationType: g
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: i,
415
+ tracePropagationTargets: s,
416
416
  tracesSampleRate: o || 1
417
417
  }), null;
418
- }, Je = () => (j(() => {
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: i, localStorageKeys: c } = P(S), u = n?.reactRouter || i?.reactRouter, l = n?.axios || i?.axios, d = n?.localStorageKey || c?.user || Ee;
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 [s, y] = W(null), { useLocation: p, Navigate: v, Outlet: T } = u, A = p(), k = ae(!1), g = typeof r == "function" ? r() : !!r, E = typeof g == "boolean" ? g : g?.isLogged;
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
- k.current || (k.current = !0, l.interceptors.response.use(
437
- (m) => m,
438
- async (m) => (typeof m == "object" && m && "response" in m && m.response && typeof m.response == "object" && "status" in m.response && m.response && typeof m.response == "object" && "status" in m.response && m?.response?.status === 401 && (l.defaults.headers.common.Authorization = null, typeof window < "u" && window.localStorage && localStorage.removeItem(d), y(a)), Promise.reject(m))
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.defaults.headers.common, l.interceptors.response, d, a]), E && !s ? /* @__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(T, {}) }) : /* @__PURE__ */ C.jsx(v, { to: o + A.search, state: { from: A }, replace: !0 });
441
- }, we = async () => {
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
- }, qe = ({ autoUpdate: e, renderDialog: r, clearCachesOnReload: o }) => {
450
- const a = ae(null), [n, i] = W(!1), c = O(() => {
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"), we().catch(console.error));
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 s = (p) => {
464
- p && navigator.serviceWorker.controller && (a.current = p, i(!0));
465
- }, y = () => {
466
- const p = l?.installing;
467
- p && (d = () => {
468
- p.state === "installed" && s(p);
469
- }, p.addEventListener("statechange", d));
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 && (s(l.waiting), l.addEventListener("updatefound", y));
472
+ l = await navigator.serviceWorker.getRegistration(), l && (i(l.waiting), l.addEventListener("updatefound", m));
473
473
  })().catch(console.error), () => {
474
- l?.removeEventListener("updatefound", y), d && l?.installing && l.installing.removeEventListener("statechange", d);
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
- }, Re = (e) => e.charAt(0).toUpperCase() + e.slice(1).toLowerCase(), _e = (e) => {
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
- }, be = (e) => {
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
- }, Se = (e) => (e.split("/").pop() || e).replace(/\.json$/, "").replace(/^openapi\./, ""), Ae = (e, r, o, a) => {
488
- const n = be(r), i = Re(o), c = `${n}${i}`;
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
- }, je = (e, r) => {
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: i, useQueryIds: c, input: u = "./openapi.json", customAxiosInstancePath: l, overrideApiName: d } = a || {}, s = d || Se(u), y = l || "./node_modules/@tracktor/shared-module/dist/axiosCustomInstance.ts";
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
- [s]: {
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
- ...(i?.length || c?.length) && {
519
- operations: je(i, c)
518
+ ...(s?.length || c?.length) && {
519
+ operations: Pe(s, c)
520
520
  },
521
- header: (p) => [
521
+ header: (g) => [
522
522
  "Generated by orval 🍺",
523
- ...p.title ? [p.title] : [],
524
- ...p.description ? [p.description] : []
523
+ ...g.title ? [g.title] : [],
524
+ ...g.description ? [g.description] : []
525
525
  ],
526
526
  mutator: {
527
- name: _e(y),
528
- path: y
527
+ name: _e(m),
528
+ path: m
529
529
  },
530
- operationName: (p, v, T) => Ae(p, v, T, c),
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/${s}/model`,
536
- target: n?.target || `src/api/${s}/services/api.ts`,
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
- }, {}), Pe = (e) => e && typeof e == "function", Te = (e) => e && typeof e == "function", He = ({
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), i = a?.QueryClient || n?.reactQuery?.QueryClient, c = a?.QueryClientProvider || n?.reactQuery?.QueryClientProvider;
548
- if (!i)
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 (!Pe(c))
552
+ if (!Te(c))
553
553
  throw new Error("Provided QueryClientProvider dependencies are not valid.");
554
- if (!Te(i))
554
+ if (!ke(s))
555
555
  throw new Error("Provided QueryClient dependencies are not valid.");
556
- const u = new i({
556
+ const u = new s({
557
557
  defaultOptions: {
558
558
  mutations: {
559
559
  ...o
560
560
  },
561
561
  queries: {
562
- getNextPageParam: (l, d, s) => l.length + (s || 0),
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
- }, ke = ({ library: e, date: r, format: o = "ll" }) => e(r).format(o), Ce = (e, r) => {
571
- const { fractionDigits: o = 0, metric: a = "km", spacingBetween: n = !0 } = r || {}, i = Number(e), c = n ? " " : "";
572
- return Number.isNaN(i) ? `0${c}${a}` : `${i.toFixed(o)}${c}${a}`;
573
- }, Ie = (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}`, Oe = ({ path: e, size: r, apiURL: o }) => {
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 = xe(e), n = `${o}${a}`, i = n.match(/\.(jpeg|jpg|png|gif|bmp|webp|svg|avif)$/) !== null;
577
- return typeof r == "number" && i ? `${n.replace("/files", `/thumbs/${r}`)}` : n;
578
- }, Xe = (e) => {
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 ke({
584
+ return Ce({
585
585
  date: c,
586
586
  format: u,
587
587
  library: a
588
588
  });
589
589
  },
590
- distanceAdapter: Ce,
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 : Oe({
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: Ie
602
+ worksiteNameAdapter: xe
603
603
  };
604
- }, Ze = (e) => {
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
- ), i = () => {
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: s } = JSON.parse(u);
623
- n({ accessToken: d, tokenType: s });
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: i,
632
+ clearAuthenticationToken: s,
633
633
  setAuthenticationToken: n
634
634
  };
635
- }, Y = (e, r) => r === "short" ? e.split("-")[0] : e, et = (e, r = "full") => {
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 = (i) => {
643
- a(Y(i, r));
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
- }, Le = "tracktor.filter", Ne = {
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
- }, ne = (e) => {
657
+ }, oe = (e) => {
658
658
  try {
659
659
  return JSON.parse(e);
660
660
  } catch {
661
661
  return e;
662
662
  }
663
- }, oe = (e, r, o) => `${o}_${e}=>${r}`, Fe = (e) => e.reduce((r, o) => {
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), i = Object.keys(n)?.[0];
668
- i && (r[i] = Object.values(n)?.[0]);
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
- }, {}), tt = (e) => {
673
- const { libraries: r, localStorageKeys: o } = P(S), a = e?.reactRouter || r?.reactRouter, { pathname: n } = a?.useLocation?.() ?? { pathname: "/" }, [i, c] = a?.useSearchParams?.() ?? [new URLSearchParams(), () => {
674
- }], [u, l] = W({}), d = o?.filter || Le, s = e?.syncWithUrl === void 0 ? !0 : e?.syncWithUrl, y = e?.persistToLocalStorage === void 0 ? !0 : e?.persistToLocalStorage;
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 Ne;
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 p = () => Object.keys(localStorage).filter(
682
- (g) => g.startsWith(d) && g.endsWith(e?.pathname || n)
683
- ), v = (g, E, m = !0) => {
684
- const _ = oe(g, e?.pathname || n, d);
685
- if (!E || Array.isArray(E) && !E.length) {
686
- s ? (i.delete(g), c(i)) : l((b) => {
687
- const I = { ...b };
688
- return delete I[g], I;
689
- }), y && localStorage.removeItem(_);
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
- y && m && E && localStorage.setItem(_, JSON.stringify({ ...i, [g]: E })), s && E ? (i.set(g, JSON.stringify(E)), c(i)) : !s && E && l((b) => ({ ...b, [g]: E }));
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: (g, E) => {
696
- if (s) {
697
- const m = i.get(g);
698
- if (m)
699
- return ne(m);
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 m = u[g];
702
- if (m !== void 0)
703
- return m;
701
+ const b = u[h];
702
+ if (b !== void 0)
703
+ return b;
704
704
  }
705
- if (y) {
706
- const m = oe(g, e?.pathname || n, d), _ = localStorage.getItem(m);
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 b = JSON.parse(_)[g];
710
- return !s && b !== void 0 && l((I) => ({ ...I, [g]: b })), b;
709
+ const _ = JSON.parse(R)[h];
710
+ return !i && _ !== void 0 && l((I) => ({ ...I, [h]: _ })), _;
711
711
  } catch {
712
712
  }
713
713
  }
714
- return E;
714
+ return f;
715
715
  },
716
716
  getFilters: () => {
717
- const g = y ? Fe(p()) : {};
718
- if (s) {
719
- const E = Array.from(i.entries()).reduce((m, [_, b]) => (m[_] = ne(b), m), {});
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
- ...g,
722
- ...E
721
+ ...h,
722
+ ...f
723
723
  };
724
724
  }
725
725
  return {
726
- ...g,
726
+ ...h,
727
727
  ...u
728
728
  };
729
729
  },
730
- handleFilter: (g, E) => (m, _) => {
731
- if (_ || Array.isArray(_) && _.length === 0) {
732
- const b = E || "value", I = typeof _ == "object" && b in _ ? _[b] : _;
733
- v(g, I);
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(g, void 0);
736
+ v(h, void 0);
737
737
  },
738
738
  setFilter: v
739
739
  };
740
- }, rt = ({
740
+ }, nt = ({
741
741
  data: e,
742
742
  fetchNextPage: r,
743
743
  isFetchingNextPage: o,
744
744
  isInitialLoading: a,
745
745
  isLoading: n,
746
- enabled: i = !0
746
+ enabled: s = !0
747
747
  }) => {
748
748
  const c = O(
749
749
  async (l) => {
750
- o || !i || await r({ pageParam: l?.pageParam || l.visibleRowsCount });
750
+ o || !s || await r({ pageParam: l?.pageParam || l.visibleRowsCount });
751
751
  },
752
- [i, r, o]
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
- }, nt = (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: i = "error.unknownError" } = e || {}, c = n(i), u = O(
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: s } = d || {};
768
- if (s && typeof s == "object" && "reason" in s && s.reason)
769
- return String(s.reason);
770
- if (s && typeof s == "object" && "data" in s && s.data && typeof s.data == "object" && "reason" in s.data && s.data.reason)
771
- return String(s.data.reason);
772
- if (s && typeof s == "object" && "data" in s && s.data && typeof s.data == "object" && "message" in s.data && s.data.message)
773
- return String(s.data.message);
774
- if (s && typeof s == "object" && "data" in s && s.data && typeof s.data == "object" && "detail" in s.data) {
775
- const { detail: y } = s.data;
776
- if (Array.isArray(y) && y.length > 0 && typeof y[0] == "object" && y[0] !== null && "msg" in y[0]) {
777
- const { msg: p } = y[0];
778
- if (typeof p == "string")
779
- return String(p);
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: s } = d || {};
789
- 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";
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
- Ue as GTMSendPageView,
794
- Qe as InitializeAxiosConfig,
795
- Ve as InitializeDaysJSConfig,
796
- Me as InitializeI18nConfig,
797
- Ge as InitializeSentryConfig,
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
- ze as InjectDependenciesProvider,
800
- We as MaskTextField,
801
- Je as PreloadErrorHandler,
802
- He as QueryClientProviderWithConfig,
799
+ Ue as InjectDependenciesProvider,
800
+ ze as MaskTextField,
801
+ qe as PreloadErrorHandler,
802
+ Xe as QueryClientProviderWithConfig,
803
803
  Ke as RequireAuth,
804
- qe as UpdateNotifier,
805
- Ye as axiosCustomInstance,
806
- ke as dateAdapter,
807
- Ce as distanceAdapter,
804
+ He as UpdateNotifier,
805
+ We as axiosCustomInstance,
806
+ Ce as dateAdapter,
807
+ Ie as distanceAdapter,
808
808
  Be as getOrvalConfig,
809
- Xe as useAdapter,
810
- Ze as useAuth,
811
- et as useCurrentLanguage,
812
- tt as useFilters,
813
- rt as useInfiniteDataGrid,
814
- nt as useResponseError,
815
- Ie as worksiteNameAdapter
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(m,O){typeof exports=="object"&&typeof module<"u"?O(exports,require("axios"),require("react")):typeof define=="function"&&define.amd?define(["exports","axios","react"],O):(m=typeof globalThis<"u"?globalThis:m||self,O(m["@tracktor/shared-module"]={},m.axios,m.React))})(this,(function(m,O,f){"use strict";const ae=(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 se(){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 ie(){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===Je?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case k:return"Fragment";case R:return"Profiler";case y:return"StrictMode";case I:return"Suspense";case Qe:return"SuspenseList";case Ge: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 S:return t.displayName||"Context";case h:return(t._context.displayName||"Context")+".Consumer";case A:var p=t.render;return t=t.displayName,t||(t=p.displayName||p.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Ve:return p=t.displayName||null,p!==null?p:e(t.type)||"Memo";case z:p=t._payload,t=t._init;try{return e(t(p))}catch{}}return null}function r(t){return""+t}function o(t){try{r(t);var p=!1}catch{p=!0}if(p){p=console;var E=p.error,b=typeof Symbol=="function"&&Symbol.toStringTag&&t[Symbol.toStringTag]||t.constructor.name||"Object";return E.call(p,"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===k)return"<>";if(typeof t=="object"&&t!==null&&t.$$typeof===z)return"<...>";try{var p=e(t);return p?"<"+p+">":"<...>"}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($.call(t,"key")){var p=Object.getOwnPropertyDescriptor(t,"key").get;if(p&&p.isReactWarning)return!1}return t.key!==void 0}function u(t,p){function E(){ee||(ee=!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)",p))}E.isReactWarning=!0,Object.defineProperty(t,"key",{get:E,configurable:!0})}function l(){var t=e(this.type);return te[t]||(te[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,p,E,b,W,Q){var _=E.ref;return t={$$typeof:T,type:t,key:p,props:E,_owner:b},(_!==void 0?_: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:W}),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,p,E,b,W,Q){var _=p.children;if(_!==void 0)if(b)if(Ke(_)){for(b=0;b<_.length;b++)v(_[b]);Object.freeze&&Object.freeze(_)}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 v(_);if($.call(p,"key")){_=e(t);var x=Object.keys(p).filter(function(Be){return Be!=="key"});b=0<x.length?"{key: someKey, "+x.join(": ..., ")+": ...}":"{key: someKey}",oe[_+b]||(x=0<x.length?"{"+x.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
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.0",
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": ["dist"],
9
+ "files": [
10
+ "dist"
11
+ ],
10
12
  "exports": {
11
13
  ".": {
12
14
  "types": "./dist/main.d.ts",