@tracktor/shared-module 0.18.0 → 0.18.2

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/CHANGELOG.md CHANGED
@@ -1,4 +1,4 @@
1
1
  # [Versions](https://github.com/Tracktor/shared-module/releases)
2
2
 
3
- ## v0.18.0
4
- - **[feat]** : add filePathAdapter method
3
+ ## v0.18.2
4
+ - **[fix]** : export entry point
package/dist/main.js CHANGED
@@ -634,7 +634,7 @@ const K = gr({
634
634
  translate: void 0,
635
635
  useAuth: void 0,
636
636
  useLocation: void 0
637
- }), xr = ({
637
+ }), Pr = ({
638
638
  axios: a,
639
639
  children: i,
640
640
  translate: o,
@@ -657,7 +657,7 @@ const K = gr({
657
657
  [v, c, a, o, u, t, m]
658
658
  );
659
659
  return /* @__PURE__ */ A.jsx(K.Provider, { value: l, children: i });
660
- }, H = (a) => `RequireAuth require « ${a} » dependency. You can provide with InjectDependenciesProvider or directly in props.`, Ar = ({
660
+ }, H = (a) => `RequireAuth require « ${a} » dependency. You can provide with InjectDependenciesProvider or directly in props.`, xr = ({
661
661
  Fallback: a,
662
662
  loginPath: i = "/login",
663
663
  localStorageKey: o = "user",
@@ -690,7 +690,7 @@ const K = gr({
690
690
  }
691
691
  ));
692
692
  }, [v == null ? void 0 : v.defaults.headers.common, v == null ? void 0 : v.interceptors.response, o, u]), O && !h ? /* @__PURE__ */ A.jsx(yr, { fallback: a, children: (D = ($ = T.state) == null ? void 0 : $.from) != null && D.state && ((_ = (j = T.state) == null ? void 0 : j.from) == null ? void 0 : _.pathname) === i ? /* @__PURE__ */ A.jsx(E, { to: T.state.from.state.from.pathname + T.state.from.state.from.search, replace: !0 }) : /* @__PURE__ */ A.jsx(l, {}) }) : /* @__PURE__ */ A.jsx(E, { to: i, state: { from: T }, replace: !0 });
693
- }, ie = (a) => `GTMSendPageView require « ${a} » dependency. You can provide with InjectDependenciesProvider or directly in props.`, kr = ({ ...a }) => {
693
+ }, ie = (a) => `GTMSendPageView require « ${a} » dependency. You can provide with InjectDependenciesProvider or directly in props.`, Ar = ({ ...a }) => {
694
694
  const {
695
695
  useLocation: i = a.useLocation,
696
696
  Outlet: o = a.Outlet,
@@ -706,7 +706,7 @@ const K = gr({
706
706
  return Rr(() => {
707
707
  v({ event: "pageView", pathname: c });
708
708
  }, [c, v]), /* @__PURE__ */ A.jsx(o, {});
709
- }, $r = ({
709
+ }, kr = ({
710
710
  axios: a,
711
711
  baseURL: i,
712
712
  tokenTypeKey: o = "tokenType",
@@ -718,7 +718,7 @@ const K = gr({
718
718
  return null;
719
719
  const m = localStorage.getItem(u), t = m ? JSON.parse(m) : null, l = t != null && t[o] ? t[o] : null, E = t != null && t[c] ? t[c] : null, h = m ? `${l} ${E}` : null;
720
720
  return a.defaults.baseURL = i, a.defaults.headers.post["Content-Type"] = v, h && (a.defaults.headers.common.Authorization = h), null;
721
- }, Dr = ({
721
+ }, $r = ({
722
722
  i18n: a,
723
723
  debug: i,
724
724
  initReactI18next: o,
@@ -741,7 +741,7 @@ const K = gr({
741
741
  document.documentElement.lang !== a.resolvedLanguage && a.resolvedLanguage && document.documentElement.setAttribute("lang", a.resolvedLanguage);
742
742
  }), a.on("languageChanged", (v) => {
743
743
  document.documentElement.setAttribute("lang", v);
744
- })), null), Fr = ({
744
+ })), null), Dr = ({
745
745
  dsn: a,
746
746
  sentry: i,
747
747
  integrations: o,
@@ -773,14 +773,14 @@ const K = gr({
773
773
  replaysSessionSampleRate: v || 0.1,
774
774
  tracePropagationTargets: t,
775
775
  tracesSampleRate: u || 1
776
- }), null), Ir = ({ IMaskMixin: a, ...i }) => {
776
+ }), null), Fr = ({ IMaskMixin: a, ...i }) => {
777
777
  const o = se(
778
778
  // eslint-disable-next-line react/jsx-props-no-spreading
779
779
  () => a(({ TextField: u, ...c }) => /* @__PURE__ */ A.jsx(u, { ...c })),
780
780
  [a]
781
781
  );
782
782
  return /* @__PURE__ */ A.jsx(o, { ...i });
783
- }, Lr = ({ mapbox: a, accessToken: i }) => (a && i && (a.accessToken = i), null), Wr = ({
783
+ }, Ir = ({ mapbox: a, accessToken: i }) => (a && i && (a.accessToken = i), null), Lr = ({
784
784
  children: a,
785
785
  defaultOptions: i,
786
786
  QueryClient: o,
@@ -796,7 +796,7 @@ const K = gr({
796
796
  }
797
797
  });
798
798
  return /* @__PURE__ */ A.jsx(u, { client: c, children: a });
799
- }, Nr = (a) => {
799
+ }, Wr = (a) => {
800
800
  const { unknownErrorTranslationKey: i = "error.unknownError" } = a || {}, { translate: o = a == null ? void 0 : a.translate } = ce(K), u = o ? o(i) : "Unknown error", c = U(
801
801
  (m) => {
802
802
  var l, E, h, C, O, T, k, $, D;
@@ -813,7 +813,7 @@ const K = gr({
813
813
  [u, o]
814
814
  );
815
815
  return { printError: c, printErrorCode: v };
816
- }, Vr = ({
816
+ }, Nr = ({
817
817
  data: a,
818
818
  fetchNextPage: i,
819
819
  isFetchingNextPage: o,
@@ -836,7 +836,7 @@ const K = gr({
836
836
  loadingVariant: u ? "skeleton" : "linear",
837
837
  rows: t
838
838
  };
839
- }, Mr = (a) => {
839
+ }, Vr = (a) => {
840
840
  const i = U(
841
841
  ({ tokenType: u, accessToken: c }) => {
842
842
  a.defaults.headers.common.Authorization = `${u} ${c}`;
@@ -863,7 +863,7 @@ const K = gr({
863
863
  useInfiniteQueryParam: "offset"
864
864
  }
865
865
  }, i), {})) || {};
866
- }, Yr = (a) => {
866
+ }, Mr = (a) => {
867
867
  const { input: i = "./openapi.json", operationsToGenerateInfiniteQueryHook: o = void 0 } = a || {};
868
868
  return {
869
869
  api: {
@@ -913,26 +913,26 @@ const K = gr({
913
913
  "vite-plugin-dts": "^3.7.3",
914
914
  "vite-plugin-static-copy": "^0.17.1",
915
915
  vitest: "^1.3.1"
916
- }, Sr = () => "react-native" in W && W["react-native"] && "expo" in W && W.expo ? process.env.EXPO_PUBLIC_API_URL : "react" in W && W.react && "vite" in We && We.vite ? imprort.meta.env.VITE_API_URL : "", jr = (a, i) => {
916
+ }, Sr = () => "react-native" in W && W["react-native"] && "expo" in W && W.expo ? process.env.EXPO_PUBLIC_API_URL : "react" in W && W.react && "vite" in We && We.vite ? imprort.meta.env.VITE_API_URL : "", Yr = (a, i) => {
917
917
  if (!a)
918
918
  return "";
919
919
  const o = a.startsWith("/") ? a : `/${a}`, u = Sr();
920
920
  return typeof i == "number" ? `${u}${o.replace("/files", `/thumbs/${i}`)}` : `${u}${o}`;
921
- }, Ur = { filePathAdapter: jr };
921
+ };
922
922
  export {
923
- Ur as Adapter,
924
- $r as AxiosConfig,
925
- kr as GTMSendPageView,
926
- Dr as I18nConfig,
923
+ kr as AxiosConfig,
924
+ Ar as GTMSendPageView,
925
+ $r as I18nConfig,
927
926
  K as InjectDependenciesContext,
928
- xr as InjectDependenciesProvider,
929
- Lr as MapBoxConfig,
930
- Ir as MaskTextField,
931
- Wr as QueryClientConfigProvider,
932
- Ar as RequireAuth,
933
- Fr as SentryConfig,
934
- Yr as getOrvalConfig,
935
- Mr as useAuth,
936
- Vr as useInfiniteDataGrid,
937
- Nr as useResponseError
927
+ Pr as InjectDependenciesProvider,
928
+ Ir as MapBoxConfig,
929
+ Fr as MaskTextField,
930
+ Lr as QueryClientConfigProvider,
931
+ xr as RequireAuth,
932
+ Dr as SentryConfig,
933
+ Yr as filePathAdapter,
934
+ Mr as getOrvalConfig,
935
+ Vr as useAuth,
936
+ Nr as useInfiniteDataGrid,
937
+ Wr as useResponseError
938
938
  };
package/dist/main.umd.cjs CHANGED
@@ -24,4 +24,4 @@ Check the top-level render call using <`+n+">.")}return r}}function Ie(e,r){{if(
24
24
  *
25
25
  * This source code is licensed under the MIT license found in the
26
26
  * LICENSE file in the root directory of this source tree.
27
- */var le;function Ne(){if(le)return U;le=1;var a=E,i=Symbol.for("react.element"),o=Symbol.for("react.fragment"),u=Object.prototype.hasOwnProperty,c=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,v={key:!0,ref:!0,__self:!0,__source:!0};function m(t,l,y){var h,O={},j=null,S=null;y!==void 0&&(j=""+y),l.key!==void 0&&(j=""+l.key),l.ref!==void 0&&(S=l.ref);for(h in l)u.call(l,h)&&!v.hasOwnProperty(h)&&(O[h]=l[h]);if(t&&t.defaultProps)for(h in l=t.defaultProps,l)O[h]===void 0&&(O[h]=l[h]);return{$$typeof:i,type:t,key:j,ref:S,props:O,_owner:c.current}}return U.Fragment=o,U.jsx=m,U.jsxs=m,U}process.env.NODE_ENV==="production"?Q.exports=Ne():Q.exports=We();var k=Q.exports;const z=E.createContext({axios:void 0,children:void 0,Navigate:void 0,Outlet:void 0,translate:void 0,useAuth:void 0,useLocation:void 0}),Ve=({axios:a,children:i,translate:o,useAuth:u,Outlet:c,Navigate:v,useLocation:m,useGoogleTagManager:t})=>{const l=E.useMemo(()=>({axios:a,Navigate:v,Outlet:c,translate:o,useAuth:u,useGoogleTagManager:t,useLocation:m}),[v,c,a,o,u,t,m]);return k.jsx(z.Provider,{value:l,children:i})},J=a=>`RequireAuth require « ${a} » dependency. You can provide with InjectDependenciesProvider or directly in props.`,Ye=({Fallback:a,loginPath:i="/login",localStorageKey:o="user",redirect401Path:u="/login",...c})=>{var F,L,A,C;const{axios:v=c.axios,useLocation:m=c.useLocation,useAuth:t=c.useAuth,Outlet:l=c.Outlet,Navigate:y=c.Navigate}=E.useContext(z);if(t===void 0)throw new Error(J("useAuth"));if(m===void 0)throw new Error(J("useLocation"));if(l===void 0)throw new Error(J("Outlet"));if(y===void 0)throw new Error(J("Navigate"));const[h,O]=E.useState(null),{isLogged:j}=t(),S=m(),I=E.useRef(!1);return E.useLayoutEffect(()=>{I.current||(I.current=!0,v==null||v.interceptors.response.use(w=>w,async w=>{var $;return typeof w=="object"&&w&&"response"in w&&w.response&&typeof w.response=="object"&&"status"in w.response&&w.response&&typeof w.response=="object"&&"status"in w.response&&(($=w==null?void 0:w.response)==null?void 0:$.status)===401&&(v.defaults.headers.common.Authorization=null,localStorage.removeItem(o),O(u)),Promise.reject(w)}))},[v==null?void 0:v.defaults.headers.common,v==null?void 0:v.interceptors.response,o,u]),j&&!h?k.jsx(E.Suspense,{fallback:a,children:(L=(F=S.state)==null?void 0:F.from)!=null&&L.state&&((C=(A=S.state)==null?void 0:A.from)==null?void 0:C.pathname)===i?k.jsx(y,{to:S.state.from.state.from.pathname+S.state.from.state.from.search,replace:!0}):k.jsx(l,{})}):k.jsx(y,{to:i,state:{from:S},replace:!0})},ee=a=>`GTMSendPageView require « ${a} » dependency. You can provide with InjectDependenciesProvider or directly in props.`,Ue=({...a})=>{const{useLocation:i=a.useLocation,Outlet:o=a.Outlet,useGoogleTagManager:u=a.useGoogleTagManager}=E.useContext(z);if(i===void 0)throw new Error(ee("useLocation"));if(o===void 0)throw new Error(ee("Outlet"));if(u===void 0)throw new Error(ee("useGoogleTagManager"));const{pathname:c}=i(),{sendEvent:v}=u();return E.useEffect(()=>{v({event:"pageView",pathname:c})},[c,v]),k.jsx(o,{})},ze=({axios:a,baseURL:i,tokenTypeKey:o="tokenType",userLocalStorageKey:u="user",tokenKey:c="accessToken",postContentType:v="application/json"})=>{if(!a.defaults)return null;const m=localStorage.getItem(u),t=m?JSON.parse(m):null,l=t!=null&&t[o]?t[o]:null,y=t!=null&&t[c]?t[c]:null,h=m?`${l} ${y}`:null;return a.defaults.baseURL=i,a.defaults.headers.post["Content-Type"]=v,h&&(a.defaults.headers.common.Authorization=h),null},Be=({i18n:a,debug:i,initReactI18next:o,resources:u,LanguageDetector:c})=>(a!=null&&a.isInitialized||(a.use(c).use(o).init({debug:i,fallbackLng:"en",interpolation:{escapeValue:!1},load:"languageOnly",react:{bindI18n:!1,useSuspense:!0},resources:u,returnNull:!1}).then(()=>{document.documentElement.lang!==a.resolvedLanguage&&a.resolvedLanguage&&document.documentElement.setAttribute("lang",a.resolvedLanguage)}),a.on("languageChanged",v=>{document.documentElement.setAttribute("lang",v)})),null),Ge=({dsn:a,sentry:i,integrations:o,tracesSampleRate:u,routingInstrumentationDependencies:c,replaysSessionSampleRate:v,replaysOnErrorSampleRate:m,tracePropagationTargets:t,ignoreErrors:l,debug:y})=>(i.isInitialized()||(y||process.env.NODE_ENV==="prod"||process.env.NODE_ENV==="production")&&i.init({debug:y,dsn:a,ignoreErrors:l||[/Failed to fetch dynamically imported module/],integrations:[new i.BrowserTracing({routingInstrumentation:i.reactRouterV6Instrumentation(c.useEffect,c.useLocation,c.useNavigationType,c.createRoutesFromChildren,c.matchRoutes)}),i.replayIntegration(),...o||[]],replaysOnErrorSampleRate:m||1,replaysSessionSampleRate:v||.1,tracePropagationTargets:t,tracesSampleRate:u||1}),null),Je=({IMaskMixin:a,...i})=>{const o=E.useMemo(()=>a(({TextField:u,...c})=>k.jsx(u,{...c})),[a]);return k.jsx(o,{...i})},$e=({mapbox:a,accessToken:i})=>(a&&i&&(a.accessToken=i),null),Xe=({children:a,defaultOptions:i,QueryClient:o,QueryClientProvider:u})=>{const c=new o({defaultOptions:{queries:{refetchOnWindowFocus:!1,retry:3,...i}}});return k.jsx(u,{client:c,children:a})},He=a=>{const{unknownErrorTranslationKey:i="error.unknownError"}=a||{},{translate:o=a==null?void 0:a.translate}=E.useContext(z),u=o?o(i):"Unknown error",c=E.useCallback(m=>{var l,y,h,O,j,S,I,F,L;const{response:t}=m||{};return t!=null&&t.reason?String(t.reason):(l=t==null?void 0:t.data)!=null&&l.reason?String(t.data.reason):(y=t==null?void 0:t.data)!=null&&y.message?String(t.data.message):(O=(h=t==null?void 0:t.data)==null?void 0:h.detail)!=null&&O.length&&Array.isArray((j=t==null?void 0:t.data)==null?void 0:j.detail)&&((I=(S=t==null?void 0:t.data)==null?void 0:S.detail[0])!=null&&I.msg)&&typeof((L=(F=t==null?void 0:t.data)==null?void 0:F.detail[0])==null?void 0:L.msg)=="string"?String(t.data.detail[0].msg):u},[u]),v=E.useCallback(m=>{var l,y,h;const{response:t}=m||{};return o&&(t!=null&&t.error_code)?o(t==null?void 0:t.error_code):o&&((l=t==null?void 0:t.data)!=null&&l.error_code)?o((y=t==null?void 0:t.data)==null?void 0:y.error_code):t!=null&&t.error_code?String(t==null?void 0:t.error_code):(h=t==null?void 0:t.data)!=null&&h.error_code?String(t.data.error_code):u},[u,o]);return{printError:c,printErrorCode:v}},Ke=({data:a,fetchNextPage:i,isFetchingNextPage:o,isInitialLoading:u,isLoading:c,enabled:v=!0})=>{const m=E.useCallback(async l=>{o||!v||await i({pageParam:(l==null?void 0:l.pageParam)||l.visibleRowsCount})},[v,i,o]),t=E.useMemo(()=>{if(a)return a.pages.reduce((l,y)=>[...l,...y],[])},[a]);return{fetchNextPageOnRowsScrollEnd:m,isLoading:o||c,loadingVariant:u?"skeleton":"linear",rows:t}},Ze=a=>{const i=E.useCallback(({tokenType:u,accessToken:c})=>{a.defaults.headers.common.Authorization=`${u} ${c}`},[a.defaults.headers.common]);return{clearAuthenticationToken:E.useCallback(()=>{a.defaults.headers.common.Authorization=null},[a.defaults.headers.common]),setAuthenticationToken:i}},qe=a=>a.charAt(0).toUpperCase()+a.slice(1).toLowerCase(),Qe=a=>{const u=a.split("/").filter(c=>c.length>0).map(c=>c.replace(/\${([^}]*)}/g,"$1").split(/[_-]/).map(l=>l.charAt(0).toUpperCase()+l.slice(1)).join("")).join("");return u.charAt(0).toLowerCase()+u.slice(1)},er=(a,i,o)=>{const u=Qe(i),c=qe(o);return`${u}${c}`},rr=a=>{if(a)return(a==null?void 0:a.reduce((i,o)=>(i[o]={query:{useInfinite:!0,useInfiniteQueryParam:"offset"}},i),{}))||{}},tr=a=>{const{input:i="./openapi.json",operationsToGenerateInfiniteQueryHook:o=void 0}=a||{};return{api:{hooks:{afterAllFilesWrite:"prettier src/api/ --write"},input:i,output:{client:"react-query",mode:"tags-split",override:{header:u=>["Generated by orval 🍺",...u.title?[u.title]:[],...u.description?[u.description]:[]],mutator:{name:"axiosCustomInstance",path:`${__dirname}/config/orval/mutator/axiosCustomInstance.ts`},operationName:er,...(o==null?void 0:o.length)&&{operations:rr(o)},query:{useQuery:!0}},schemas:"src/api/model",target:"src/api/services/api.ts"}}}},W={react:"^18.2.0","react-dom":"^18.2.0"},fe={"@testing-library/jest-dom":"^5.17.0","@testing-library/react":"^14.0.0","@testing-library/user-event":"^14.5.1","@types/react":"^18.2.30","@types/react-dom":"^18.2.14","@vitejs/plugin-react":"^4.2.1","eslint-config-react-tracktor":"^1.7.1",husky:"^8.0.3",jsdom:"^22.1.0",typescript:"^5.3.3",vite:"^5.1.5","vite-plugin-dts":"^3.7.3","vite-plugin-static-copy":"^0.17.1",vitest:"^1.3.1"},nr=()=>"react-native"in W&&W["react-native"]&&"expo"in W&&W.expo?process.env.EXPO_PUBLIC_API_URL:"react"in W&&W.react&&"vite"in fe&&fe.vite?imprort.meta.env.VITE_API_URL:"",ar={filePathAdapter:(a,i)=>{if(!a)return"";const o=a.startsWith("/")?a:`/${a}`,u=nr();return typeof i=="number"?`${u}${o.replace("/files",`/thumbs/${i}`)}`:`${u}${o}`}};b.Adapter=ar,b.AxiosConfig=ze,b.GTMSendPageView=Ue,b.I18nConfig=Be,b.InjectDependenciesContext=z,b.InjectDependenciesProvider=Ve,b.MapBoxConfig=$e,b.MaskTextField=Je,b.QueryClientConfigProvider=Xe,b.RequireAuth=Ye,b.SentryConfig=Ge,b.getOrvalConfig=tr,b.useAuth=Ze,b.useInfiniteDataGrid=Ke,b.useResponseError=He,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
27
+ */var le;function Ne(){if(le)return U;le=1;var a=E,i=Symbol.for("react.element"),o=Symbol.for("react.fragment"),u=Object.prototype.hasOwnProperty,c=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,v={key:!0,ref:!0,__self:!0,__source:!0};function m(t,l,y){var h,O={},j=null,S=null;y!==void 0&&(j=""+y),l.key!==void 0&&(j=""+l.key),l.ref!==void 0&&(S=l.ref);for(h in l)u.call(l,h)&&!v.hasOwnProperty(h)&&(O[h]=l[h]);if(t&&t.defaultProps)for(h in l=t.defaultProps,l)O[h]===void 0&&(O[h]=l[h]);return{$$typeof:i,type:t,key:j,ref:S,props:O,_owner:c.current}}return U.Fragment=o,U.jsx=m,U.jsxs=m,U}process.env.NODE_ENV==="production"?Q.exports=Ne():Q.exports=We();var k=Q.exports;const z=E.createContext({axios:void 0,children:void 0,Navigate:void 0,Outlet:void 0,translate:void 0,useAuth:void 0,useLocation:void 0}),Ve=({axios:a,children:i,translate:o,useAuth:u,Outlet:c,Navigate:v,useLocation:m,useGoogleTagManager:t})=>{const l=E.useMemo(()=>({axios:a,Navigate:v,Outlet:c,translate:o,useAuth:u,useGoogleTagManager:t,useLocation:m}),[v,c,a,o,u,t,m]);return k.jsx(z.Provider,{value:l,children:i})},J=a=>`RequireAuth require « ${a} » dependency. You can provide with InjectDependenciesProvider or directly in props.`,Ye=({Fallback:a,loginPath:i="/login",localStorageKey:o="user",redirect401Path:u="/login",...c})=>{var F,L,A,C;const{axios:v=c.axios,useLocation:m=c.useLocation,useAuth:t=c.useAuth,Outlet:l=c.Outlet,Navigate:y=c.Navigate}=E.useContext(z);if(t===void 0)throw new Error(J("useAuth"));if(m===void 0)throw new Error(J("useLocation"));if(l===void 0)throw new Error(J("Outlet"));if(y===void 0)throw new Error(J("Navigate"));const[h,O]=E.useState(null),{isLogged:j}=t(),S=m(),I=E.useRef(!1);return E.useLayoutEffect(()=>{I.current||(I.current=!0,v==null||v.interceptors.response.use(w=>w,async w=>{var $;return typeof w=="object"&&w&&"response"in w&&w.response&&typeof w.response=="object"&&"status"in w.response&&w.response&&typeof w.response=="object"&&"status"in w.response&&(($=w==null?void 0:w.response)==null?void 0:$.status)===401&&(v.defaults.headers.common.Authorization=null,localStorage.removeItem(o),O(u)),Promise.reject(w)}))},[v==null?void 0:v.defaults.headers.common,v==null?void 0:v.interceptors.response,o,u]),j&&!h?k.jsx(E.Suspense,{fallback:a,children:(L=(F=S.state)==null?void 0:F.from)!=null&&L.state&&((C=(A=S.state)==null?void 0:A.from)==null?void 0:C.pathname)===i?k.jsx(y,{to:S.state.from.state.from.pathname+S.state.from.state.from.search,replace:!0}):k.jsx(l,{})}):k.jsx(y,{to:i,state:{from:S},replace:!0})},ee=a=>`GTMSendPageView require « ${a} » dependency. You can provide with InjectDependenciesProvider or directly in props.`,Ue=({...a})=>{const{useLocation:i=a.useLocation,Outlet:o=a.Outlet,useGoogleTagManager:u=a.useGoogleTagManager}=E.useContext(z);if(i===void 0)throw new Error(ee("useLocation"));if(o===void 0)throw new Error(ee("Outlet"));if(u===void 0)throw new Error(ee("useGoogleTagManager"));const{pathname:c}=i(),{sendEvent:v}=u();return E.useEffect(()=>{v({event:"pageView",pathname:c})},[c,v]),k.jsx(o,{})},ze=({axios:a,baseURL:i,tokenTypeKey:o="tokenType",userLocalStorageKey:u="user",tokenKey:c="accessToken",postContentType:v="application/json"})=>{if(!a.defaults)return null;const m=localStorage.getItem(u),t=m?JSON.parse(m):null,l=t!=null&&t[o]?t[o]:null,y=t!=null&&t[c]?t[c]:null,h=m?`${l} ${y}`:null;return a.defaults.baseURL=i,a.defaults.headers.post["Content-Type"]=v,h&&(a.defaults.headers.common.Authorization=h),null},Be=({i18n:a,debug:i,initReactI18next:o,resources:u,LanguageDetector:c})=>(a!=null&&a.isInitialized||(a.use(c).use(o).init({debug:i,fallbackLng:"en",interpolation:{escapeValue:!1},load:"languageOnly",react:{bindI18n:!1,useSuspense:!0},resources:u,returnNull:!1}).then(()=>{document.documentElement.lang!==a.resolvedLanguage&&a.resolvedLanguage&&document.documentElement.setAttribute("lang",a.resolvedLanguage)}),a.on("languageChanged",v=>{document.documentElement.setAttribute("lang",v)})),null),Ge=({dsn:a,sentry:i,integrations:o,tracesSampleRate:u,routingInstrumentationDependencies:c,replaysSessionSampleRate:v,replaysOnErrorSampleRate:m,tracePropagationTargets:t,ignoreErrors:l,debug:y})=>(i.isInitialized()||(y||process.env.NODE_ENV==="prod"||process.env.NODE_ENV==="production")&&i.init({debug:y,dsn:a,ignoreErrors:l||[/Failed to fetch dynamically imported module/],integrations:[new i.BrowserTracing({routingInstrumentation:i.reactRouterV6Instrumentation(c.useEffect,c.useLocation,c.useNavigationType,c.createRoutesFromChildren,c.matchRoutes)}),i.replayIntegration(),...o||[]],replaysOnErrorSampleRate:m||1,replaysSessionSampleRate:v||.1,tracePropagationTargets:t,tracesSampleRate:u||1}),null),Je=({IMaskMixin:a,...i})=>{const o=E.useMemo(()=>a(({TextField:u,...c})=>k.jsx(u,{...c})),[a]);return k.jsx(o,{...i})},$e=({mapbox:a,accessToken:i})=>(a&&i&&(a.accessToken=i),null),Xe=({children:a,defaultOptions:i,QueryClient:o,QueryClientProvider:u})=>{const c=new o({defaultOptions:{queries:{refetchOnWindowFocus:!1,retry:3,...i}}});return k.jsx(u,{client:c,children:a})},He=a=>{const{unknownErrorTranslationKey:i="error.unknownError"}=a||{},{translate:o=a==null?void 0:a.translate}=E.useContext(z),u=o?o(i):"Unknown error",c=E.useCallback(m=>{var l,y,h,O,j,S,I,F,L;const{response:t}=m||{};return t!=null&&t.reason?String(t.reason):(l=t==null?void 0:t.data)!=null&&l.reason?String(t.data.reason):(y=t==null?void 0:t.data)!=null&&y.message?String(t.data.message):(O=(h=t==null?void 0:t.data)==null?void 0:h.detail)!=null&&O.length&&Array.isArray((j=t==null?void 0:t.data)==null?void 0:j.detail)&&((I=(S=t==null?void 0:t.data)==null?void 0:S.detail[0])!=null&&I.msg)&&typeof((L=(F=t==null?void 0:t.data)==null?void 0:F.detail[0])==null?void 0:L.msg)=="string"?String(t.data.detail[0].msg):u},[u]),v=E.useCallback(m=>{var l,y,h;const{response:t}=m||{};return o&&(t!=null&&t.error_code)?o(t==null?void 0:t.error_code):o&&((l=t==null?void 0:t.data)!=null&&l.error_code)?o((y=t==null?void 0:t.data)==null?void 0:y.error_code):t!=null&&t.error_code?String(t==null?void 0:t.error_code):(h=t==null?void 0:t.data)!=null&&h.error_code?String(t.data.error_code):u},[u,o]);return{printError:c,printErrorCode:v}},Ke=({data:a,fetchNextPage:i,isFetchingNextPage:o,isInitialLoading:u,isLoading:c,enabled:v=!0})=>{const m=E.useCallback(async l=>{o||!v||await i({pageParam:(l==null?void 0:l.pageParam)||l.visibleRowsCount})},[v,i,o]),t=E.useMemo(()=>{if(a)return a.pages.reduce((l,y)=>[...l,...y],[])},[a]);return{fetchNextPageOnRowsScrollEnd:m,isLoading:o||c,loadingVariant:u?"skeleton":"linear",rows:t}},Ze=a=>{const i=E.useCallback(({tokenType:u,accessToken:c})=>{a.defaults.headers.common.Authorization=`${u} ${c}`},[a.defaults.headers.common]);return{clearAuthenticationToken:E.useCallback(()=>{a.defaults.headers.common.Authorization=null},[a.defaults.headers.common]),setAuthenticationToken:i}},qe=a=>a.charAt(0).toUpperCase()+a.slice(1).toLowerCase(),Qe=a=>{const u=a.split("/").filter(c=>c.length>0).map(c=>c.replace(/\${([^}]*)}/g,"$1").split(/[_-]/).map(l=>l.charAt(0).toUpperCase()+l.slice(1)).join("")).join("");return u.charAt(0).toLowerCase()+u.slice(1)},er=(a,i,o)=>{const u=Qe(i),c=qe(o);return`${u}${c}`},rr=a=>{if(a)return(a==null?void 0:a.reduce((i,o)=>(i[o]={query:{useInfinite:!0,useInfiniteQueryParam:"offset"}},i),{}))||{}},tr=a=>{const{input:i="./openapi.json",operationsToGenerateInfiniteQueryHook:o=void 0}=a||{};return{api:{hooks:{afterAllFilesWrite:"prettier src/api/ --write"},input:i,output:{client:"react-query",mode:"tags-split",override:{header:u=>["Generated by orval 🍺",...u.title?[u.title]:[],...u.description?[u.description]:[]],mutator:{name:"axiosCustomInstance",path:`${__dirname}/config/orval/mutator/axiosCustomInstance.ts`},operationName:er,...(o==null?void 0:o.length)&&{operations:rr(o)},query:{useQuery:!0}},schemas:"src/api/model",target:"src/api/services/api.ts"}}}},W={react:"^18.2.0","react-dom":"^18.2.0"},fe={"@testing-library/jest-dom":"^5.17.0","@testing-library/react":"^14.0.0","@testing-library/user-event":"^14.5.1","@types/react":"^18.2.30","@types/react-dom":"^18.2.14","@vitejs/plugin-react":"^4.2.1","eslint-config-react-tracktor":"^1.7.1",husky:"^8.0.3",jsdom:"^22.1.0",typescript:"^5.3.3",vite:"^5.1.5","vite-plugin-dts":"^3.7.3","vite-plugin-static-copy":"^0.17.1",vitest:"^1.3.1"},nr=()=>"react-native"in W&&W["react-native"]&&"expo"in W&&W.expo?process.env.EXPO_PUBLIC_API_URL:"react"in W&&W.react&&"vite"in fe&&fe.vite?imprort.meta.env.VITE_API_URL:"",ar=(a,i)=>{if(!a)return"";const o=a.startsWith("/")?a:`/${a}`,u=nr();return typeof i=="number"?`${u}${o.replace("/files",`/thumbs/${i}`)}`:`${u}${o}`};b.AxiosConfig=ze,b.GTMSendPageView=Ue,b.I18nConfig=Be,b.InjectDependenciesContext=z,b.InjectDependenciesProvider=Ve,b.MapBoxConfig=$e,b.MaskTextField=Je,b.QueryClientConfigProvider=Xe,b.RequireAuth=Ye,b.SentryConfig=Ge,b.filePathAdapter=ar,b.getOrvalConfig=tr,b.useAuth=Ze,b.useInfiniteDataGrid=Ke,b.useResponseError=He,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
@@ -24,5 +24,5 @@ export { default as useAuth } from './hooks/useAuth';
24
24
  export * from './hooks/useAuth';
25
25
  export { default as getOrvalConfig } from './config/orval';
26
26
  export * from './config/orval';
27
- export { default as Adapter } from './utils/adapter';
28
- export * from './utils/adapter';
27
+ export { default as filePathAdapter } from './utils/adapter/filePathAdapter';
28
+ export * from './utils/adapter/filePathAdapter';
@@ -3,5 +3,5 @@
3
3
  * @param path
4
4
  * @param size - full or number for thumbs
5
5
  */
6
- export declare const filePathAdapter: (path?: string | null, size?: number | "full") => string;
6
+ declare const filePathAdapter: (path?: string | null, size?: number | "full") => string;
7
7
  export default filePathAdapter;
@@ -1,4 +1,4 @@
1
1
  declare const _default: {
2
- filePathAdapter: (path?: string | null | undefined, size?: number | "full" | undefined) => string;
2
+ useInfiniteDataGrid: (path?: string | null | undefined, size?: number | "full" | undefined) => string;
3
3
  };
4
4
  export default _default;
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@tracktor/shared-module",
3
- "version": "0.18.0",
3
+ "version": "0.18.2",
4
4
  "type": "module",
5
5
  "license": "UNLICENSED",
6
- "types": "./dist/main.d.ts",
6
+ "types": "./dist/src/main.d.ts",
7
7
  "main": "./dist/main.umd.cjs",
8
8
  "module": "./dist/main.js",
9
9
  "engines": {
@@ -15,7 +15,8 @@
15
15
  "exports": {
16
16
  ".": {
17
17
  "import": "./dist/main.js",
18
- "require": "./dist/main.umd.cjs"
18
+ "require": "./dist/main.umd.cjs",
19
+ "types": "./dist/src/main.d.ts"
19
20
  }
20
21
  },
21
22
  "repository": {