@refinedev/core 4.22.0 → 4.23.0
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 +90 -0
- package/dist/components/canAccess/index.d.ts.map +1 -1
- package/dist/contexts/refine/IRefineContext.d.ts +3 -0
- package/dist/contexts/refine/IRefineContext.d.ts.map +1 -1
- package/dist/contexts/refine/index.d.ts.map +1 -1
- package/dist/definitions/helpers/generateDocumentTitle/index.d.ts.map +1 -1
- package/dist/definitions/helpers/handleRefineOptions/index.d.ts.map +1 -1
- package/dist/definitions/helpers/pick-resource/index.d.ts.map +1 -1
- package/dist/esm/index.js +6 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/hooks/data/useCreate.d.ts +3 -2
- package/dist/hooks/data/useCreate.d.ts.map +1 -1
- package/dist/hooks/data/useCreateMany.d.ts +3 -2
- package/dist/hooks/data/useCreateMany.d.ts.map +1 -1
- package/dist/hooks/data/useCustom.d.ts +3 -2
- package/dist/hooks/data/useCustom.d.ts.map +1 -1
- package/dist/hooks/data/useCustomMutation.d.ts +3 -2
- package/dist/hooks/data/useCustomMutation.d.ts.map +1 -1
- package/dist/hooks/data/useDelete.d.ts +4 -3
- package/dist/hooks/data/useDelete.d.ts.map +1 -1
- package/dist/hooks/data/useDeleteMany.d.ts +4 -3
- package/dist/hooks/data/useDeleteMany.d.ts.map +1 -1
- package/dist/hooks/data/useInfiniteList.d.ts +3 -2
- package/dist/hooks/data/useInfiniteList.d.ts.map +1 -1
- package/dist/hooks/data/useList.d.ts +3 -2
- package/dist/hooks/data/useList.d.ts.map +1 -1
- package/dist/hooks/data/useMany.d.ts +3 -2
- package/dist/hooks/data/useMany.d.ts.map +1 -1
- package/dist/hooks/data/useOne.d.ts +3 -2
- package/dist/hooks/data/useOne.d.ts.map +1 -1
- package/dist/hooks/data/useUpdate.d.ts +4 -3
- package/dist/hooks/data/useUpdate.d.ts.map +1 -1
- package/dist/hooks/data/useUpdateMany.d.ts +4 -3
- package/dist/hooks/data/useUpdateMany.d.ts.map +1 -1
- package/dist/hooks/export/index.d.ts.map +1 -1
- package/dist/hooks/form/useForm.d.ts +4 -3
- package/dist/hooks/form/useForm.d.ts.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/live/useResourceSubscription/index.d.ts +1 -1
- package/dist/hooks/live/useResourceSubscription/index.d.ts.map +1 -1
- package/dist/hooks/resource/useResource/index.d.ts +11 -1
- package/dist/hooks/resource/useResource/index.d.ts.map +1 -1
- package/dist/hooks/show/useShow.d.ts +4 -3
- package/dist/hooks/show/useShow.d.ts.map +1 -1
- package/dist/hooks/useLoadingOvertime/index.d.ts +49 -0
- package/dist/hooks/useLoadingOvertime/index.d.ts.map +1 -0
- package/dist/hooks/useSelect/index.d.ts +3 -2
- package/dist/hooks/useSelect/index.d.ts.map +1 -1
- package/dist/hooks/useTable/index.d.ts +4 -3
- package/dist/hooks/useTable/index.d.ts.map +1 -1
- package/dist/iife/index.js +6 -6
- package/dist/iife/index.js.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/canAccess/index.tsx +17 -92
- package/src/contexts/refine/IRefineContext.ts +3 -0
- package/src/contexts/refine/index.tsx +3 -0
- package/src/definitions/helpers/generateDocumentTitle/index.ts +5 -3
- package/src/definitions/helpers/handleRefineOptions/index.ts +1 -0
- package/src/definitions/helpers/pick-resource/index.ts +4 -3
- package/src/hooks/data/useCreate.ts +49 -23
- package/src/hooks/data/useCreateMany.ts +54 -26
- package/src/hooks/data/useCustom.ts +17 -3
- package/src/hooks/data/useCustomMutation.ts +16 -3
- package/src/hooks/data/useDelete.ts +60 -31
- package/src/hooks/data/useDeleteMany.ts +64 -31
- package/src/hooks/data/useInfiniteList.ts +30 -14
- package/src/hooks/data/useList.ts +30 -20
- package/src/hooks/data/useMany.ts +34 -23
- package/src/hooks/data/useOne.ts +36 -22
- package/src/hooks/data/useUpdate.ts +55 -32
- package/src/hooks/data/useUpdateMany.ts +69 -33
- package/src/hooks/export/index.ts +12 -11
- package/src/hooks/form/useForm.ts +46 -98
- package/src/hooks/import/index.tsx +17 -17
- package/src/hooks/index.ts +1 -0
- package/src/hooks/live/useResourceSubscription/index.ts +6 -3
- package/src/hooks/resource/useResource/index.ts +48 -1
- package/src/hooks/show/useShow.ts +34 -80
- package/src/hooks/useLoadingOvertime/index.ts +114 -0
- package/src/hooks/useSelect/index.ts +21 -14
- package/src/hooks/useTable/index.ts +22 -8
package/dist/esm/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import Ht,{useEffect as Za,useState as Ya}from"react";import yt from"react";var to=yt.createContext({}),ro=({children:e,isProvided:t,...r})=>{let{replace:s}=oe(),o=async p=>{var m;try{return await((m=r.login)==null?void 0:m.call(r,p))}catch(d){return Promise.reject(d)}},a=async p=>{var m;try{return await((m=r.register)==null?void 0:m.call(r,p))}catch(d){return Promise.reject(d)}},n=async p=>{var m;try{return await((m=r.logout)==null?void 0:m.call(r,p))}catch(d){return Promise.reject(d)}},c=async p=>{var m;try{return await((m=r.checkAuth)==null?void 0:m.call(r,p)),Promise.resolve()}catch(d){return d!=null&&d.redirectPath&&s(d.redirectPath),Promise.reject(d)}};return yt.createElement(to.Provider,{value:{...r,login:o,logout:n,checkAuth:c,register:a,isProvided:t}},e)},oo=yt.createContext({}),so=({children:e,isProvided:t,...r})=>{let s=async m=>{var d;try{return await((d=r.login)==null?void 0:d.call(r,m))}catch(u){return console.warn("Unhandled Error in login: refine always expects a resolved promise.",u),Promise.reject(u)}},o=async m=>{var d;try{return await((d=r.register)==null?void 0:d.call(r,m))}catch(u){return console.warn("Unhandled Error in register: refine always expects a resolved promise.",u),Promise.reject(u)}},a=async m=>{var d;try{return await((d=r.logout)==null?void 0:d.call(r,m))}catch(u){return console.warn("Unhandled Error in logout: refine always expects a resolved promise.",u),Promise.reject(u)}},n=async m=>{var d;try{let u=await((d=r.check)==null?void 0:d.call(r,m));return Promise.resolve(u)}catch(u){return console.warn("Unhandled Error in check: refine always expects a resolved promise.",u),Promise.reject(u)}},c=async m=>{var d;try{let u=await((d=r.forgotPassword)==null?void 0:d.call(r,m));return Promise.resolve(u)}catch(u){return console.warn("Unhandled Error in forgotPassword: refine always expects a resolved promise.",u),Promise.reject(u)}},p=async m=>{var d;try{let u=await((d=r.updatePassword)==null?void 0:d.call(r,m));return Promise.resolve(u)}catch(u){return console.warn("Unhandled Error in updatePassword: refine always expects a resolved promise.",u),Promise.reject(u)}};return yt.createElement(oo.Provider,{value:{...r,login:s,logout:a,check:n,register:o,forgotPassword:c,updatePassword:p,isProvided:t}},e)},X=()=>yt.useContext(to),re=()=>yt.useContext(oo);import{useQuery as no}from"@tanstack/react-query";function Ss({v3LegacyAuthProviderCompatible:e=!1,options:t}={}){let{getPermissions:r}=X(),{getPermissions:s}=re(),o=no(["usePermissions"],s??(()=>Promise.resolve(void 0)),{enabled:!e&&!!s,...e?{}:t}),a=no(["usePermissions","v3LegacyAuthProviderCompatible"],r??(()=>Promise.resolve(void 0)),{enabled:e&&!!r,...e?t:{}});return e?a:o}import{useQuery as ao}from"@tanstack/react-query";function fr({v3LegacyAuthProviderCompatible:e=!1,queryOptions:t}={}){let{getUserIdentity:r}=X(),{getIdentity:s}=re(),o=ao(["getUserIdentity"],s??(()=>Promise.resolve({})),{enabled:!e&&!!s,retry:!1,...e===!0?{}:t}),a=ao(["getUserIdentity","v3LegacyAuthProviderCompatible"],r??(()=>Promise.resolve({})),{enabled:e&&!!r,retry:!1,...e?t:{}});return e?a:o}import{useMutation as io}from"@tanstack/react-query";import{useQueryClient as Qs}from"@tanstack/react-query";var gt=()=>{let e=Qs();return async()=>{await Promise.all([e.invalidateQueries(["useAuthenticated"]),e.invalidateQueries(["getUserIdentity"]),e.invalidateQueries(["usePermissions"])])}};function Kt({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=gt(),s=V(),o=se(),{push:a}=oe(),{open:n,close:c}=ge(),{logout:p}=X(),{logout:m}=re(),d=io(["useLogout"],m,{onSuccess:async(g,x)=>{let{success:v,error:M,redirectTo:i}=g,{redirectPath:f}=x??{},y=f??i;v&&(c==null||c("useLogout-error")),(M||!v)&&(n==null||n(yr(M))),await r(),y!==!1&&(s==="legacy"?a(y??"/login"):y&&o({to:y}))},onError:g=>{n==null||n(yr(g))},...e===!0?{}:t}),u=io(["useLogout","v3LegacyAuthProviderCompatible"],p,{onSuccess:async(g,x)=>{let v=(x==null?void 0:x.redirectPath)??g;if(await r(),v!==!1){if(v){s==="legacy"?a(v):o({to:v});return}s==="legacy"?a("/login"):o({to:"/login"})}},onError:g=>{n==null||n(yr(g))},...e?t:{}});return e?u:d}var yr=e=>({key:"useLogout-error",type:"error",message:(e==null?void 0:e.name)||"Logout Error",description:(e==null?void 0:e.message)||"Something went wrong during logout"});import ks from"react";import{useMutation as uo}from"@tanstack/react-query";import Fs from"qs";function Mt({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=gt(),s=V(),o=se(),{replace:a}=oe(),n=Z(),{useLocation:c}=K(),{search:p}=c(),{close:m,open:d}=ge(),{login:u}=X(),{login:g}=re(),x=ks.useMemo(()=>{var i;return s==="legacy"?Fs.parse(p,{ignoreQueryPrefix:!0}).to:(i=n.params)==null?void 0:i.to},[s,n.params,p]),v=uo(["useLogin"],g,{onSuccess:async({success:i,redirectTo:f,error:y})=>{i&&(m==null||m("login-error")),(y||!i)&&(d==null||d(gr(y))),await r(),x&&i?s==="legacy"?a(x):o({to:x,type:"replace"}):f?s==="legacy"?a(f):o({to:f,type:"replace"}):s==="legacy"&&a("/")},onError:i=>{d==null||d(gr(i))},...e===!0?{}:t}),M=uo(["useLogin","v3LegacyAuthProviderCompatible"],u,{onSuccess:async i=>{await r(),x&&a(x),i!==!1&&!x&&(typeof i=="string"?s==="legacy"?a(i):o({to:i,type:"replace"}):s==="legacy"?a("/"):o({to:"/",type:"replace"})),m==null||m("login-error")},onError:i=>{d==null||d(gr(i))},...e?t:{}});return e?M:v}var gr=e=>({message:(e==null?void 0:e.name)||"Login Error",description:(e==null?void 0:e.message)||"Invalid credentials",key:"login-error",type:"error"});import{useMutation as co}from"@tanstack/react-query";function Rr({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=gt(),s=V(),o=se(),{replace:a}=oe(),{register:n}=X(),{register:c}=re(),{close:p,open:m}=ge(),d=co(["useRegister"],c,{onSuccess:async({success:g,redirectTo:x,error:v})=>{g&&(p==null||p("register-error")),(v||!g)&&(m==null||m(Tr(v))),await r(),x?s==="legacy"?a(x):o({to:x,type:"replace"}):s==="legacy"&&a("/")},onError:g=>{m==null||m(Tr(g))},...e===!0?{}:t}),u=co(["useRegister","v3LegacyAuthProviderCompatible"],n,{onSuccess:async g=>{await r(),g!==!1&&(g?s==="legacy"?a(g):o({to:g,type:"replace"}):s==="legacy"?a("/"):o({to:"/",type:"replace"}),p==null||p("register-error"))},onError:g=>{m==null||m(Tr(g))},...e?t:{}});return e?u:d}var Tr=e=>({message:(e==null?void 0:e.name)||"Register Error",description:(e==null?void 0:e.message)||"Error while registering",key:"register-error",type:"error"});import{useMutation as po}from"@tanstack/react-query";function xr({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=V(),s=se(),{replace:o}=oe(),{forgotPassword:a}=X(),{forgotPassword:n}=re(),{close:c,open:p}=ge(),m=po(["useForgotPassword"],n,{onSuccess:({success:u,redirectTo:g,error:x})=>{u&&(c==null||c("forgot-password-error")),(x||!u)&&(p==null||p(Pr(x))),g&&(r==="legacy"?o(g):s({to:g,type:"replace"}))},onError:u=>{p==null||p(Pr(u))},...e===!0?{}:t}),d=po(["useForgotPassword","v3LegacyAuthProviderCompatible"],a,{onSuccess:u=>{u!==!1&&u&&(r==="legacy"?o(u):s({to:u,type:"replace"})),c==null||c("forgot-password-error")},onError:u=>{p==null||p(Pr(u))},...e?t:{}});return e?d:m}var Pr=e=>({message:(e==null?void 0:e.name)||"Forgot Password Error",description:(e==null?void 0:e.message)||"Error while resetting password",key:"forgot-password-error",type:"error"});import Vs from"react";import{useMutation as lo}from"@tanstack/react-query";import Bs from"qs";function hr({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=V(),s=se(),{replace:o}=oe(),{updatePassword:a}=X(),{updatePassword:n}=re(),{close:c,open:p}=ge(),m=Z(),{useLocation:d}=K(),{search:u}=d(),g=Vs.useMemo(()=>r==="legacy"?Bs.parse(u,{ignoreQueryPrefix:!0})??{}:m.params??{},[u,m,r]),x=lo(["useUpdatePassword"],async M=>n==null?void 0:n({...g,...M}),{onSuccess:({success:M,redirectTo:i,error:f})=>{M&&(c==null||c("update-password-error")),(f||!M)&&(p==null||p(Cr(f))),i&&(r==="legacy"?o(i):s({to:i,type:"replace"}))},onError:M=>{p==null||p(Cr(M))},...e===!0?{}:t}),v=lo(["useUpdatePassword","v3LegacyAuthProviderCompatible"],async M=>a==null?void 0:a({...g,...M}),{onSuccess:M=>{M!==!1&&M&&(r==="legacy"?o(M):s({to:M,type:"replace"})),c==null||c("update-password-error")},onError:M=>{p==null||p(Cr(M))},...e?t:{}});return e?v:x}var Cr=e=>({message:(e==null?void 0:e.name)||"Update Password Error",description:(e==null?void 0:e.message)||"Error while updating password",key:"update-password-error",type:"error"});import{useQuery as mo}from"@tanstack/react-query";function zt({v3LegacyAuthProviderCompatible:e=!1,params:t}={}){let{checkAuth:r}=X(),{check:s}=re(),o=mo(["useAuthenticated",t],async()=>await(s==null?void 0:s(t))??{},{retry:!1,enabled:!e}),a=mo(["useAuthenticated",t,"v3LegacyAuthProviderCompatible"],async()=>await(r==null?void 0:r(t))??{},{retry:!1,enabled:e});return e?a:o}var Ns=zt;import{useMutation as fo}from"@tanstack/react-query";function q({v3LegacyAuthProviderCompatible:e=!1}={}){let t=V(),r=se(),{replace:s}=oe(),{checkError:o}=X(),{onError:a}=re(),{mutate:n}=Kt({v3LegacyAuthProviderCompatible:!!e}),{mutate:c}=Kt({v3LegacyAuthProviderCompatible:!!e}),p=fo(["useCheckError"],a,{onSuccess:({logout:d,redirectTo:u})=>{if(d){c({redirectPath:u});return}if(u){t==="legacy"?s(u):r({to:u,type:"replace"});return}}}),m=fo(["useCheckError","v3LegacyAuthProviderCompatible"],o,{onError:d=>{n({redirectPath:d})}});return e?m:p}var Hs=q;var br=()=>{let{isProvided:e}=X(),{isProvided:t}=re();return!!(t||e)};import{useQuery as Xs}from"@tanstack/react-query";var Lt=e=>e/1e3;import Os from"lodash/zip";import $s from"lodash/fromPairs";var _t=(e,t=r=>r)=>{let[r,...s]=e;return s.map(o=>$s(Os(r,o))).map((o,a,n)=>t.call(void 0,o,a,n))};import Po from"pluralize";import vr from"qs";import yo from"lodash/unionWith";import go from"lodash/differenceWith";import Ws from"warn-once";var jt=e=>{let{current:t,pageSize:r,sorter:s,sorters:o,filters:a}=vr.parse(e.substring(1));return{parsedCurrent:t&&Number(t),parsedPageSize:r&&Number(r),parsedSorter:L(o,s)??[],parsedFilters:a??[]}},Gs=e=>{let t=vr.stringify(e);return jt(`/${t}`)},Zt=e=>{let t={skipNulls:!0,arrayFormat:"indices",encode:!1},{pagination:r,sorter:s,sorters:o,filters:a,...n}=e;return vr.stringify({...n,...r||{},sorters:L(o,s),filters:a},t)},To=(e,t)=>e.operator!=="and"&&e.operator!=="or"&&t.operator!=="and"&&t.operator!=="or"?("field"in e?e.field:void 0)==("field"in t?t.field:void 0)&&e.operator==t.operator:("key"in e?e.key:void 0)==("key"in t?t.key:void 0)&&e.operator==t.operator,Ro=(e,t)=>e.field==t.field,Tt=(e,t,r=[])=>(t.filter(o=>(o.operator==="or"||o.operator==="and")&&!o.key).length>1&&Ws(!0,`[conditionalFilters]: You have created multiple Conditional Filters at the top level, this requires the key parameter.
|
|
2
|
-
For more information, see https://refine.dev/docs/advanced-tutorials/data-provider/handling-filters/#top-level-multiple-conditional-filters-usage`),yo(e,t,r,To).filter(o=>o.value!==void 0&&o.value!==null&&(o.operator!=="or"||o.operator==="or"&&o.value.length!==0)&&(o.operator!=="and"||o.operator==="and"&&o.value.length!==0))),Yt=(e,t)=>yo(e,t,Ro).filter(r=>r.order!==void 0&&r.order!==null),Jt=(e,t)=>[...go(t,e,To),...e],Xt=(e,t)=>[...go(t,e,Ro),...e],Ks=(e,t)=>{if(!t)return;let r=t.find(s=>s.field===e);if(r)return r.order},zs=(e,t,r="eq")=>{let s=t==null?void 0:t.find(o=>{if(o.operator!=="or"&&o.operator!=="and"&&"field"in o){let{operator:a,field:n}=o;return n===e&&a===r}});if(s)return s.value||[]};var _s=e=>new Promise((t,r)=>{let s=new FileReader,o=()=>{s.result&&(s.removeEventListener("load",o,!1),t(s.result))};s.addEventListener("load",o,!1),s.readAsDataURL(e.originFileObj),s.onerror=a=>(s.removeEventListener("load",o,!1),r(a))});var Je=(e="",t)=>{let r=st(e);return t==="singular"?Po.singular(r):Po.plural(r)};var xo=(e={})=>e!=null&&e.id?{...e,id:decodeURIComponent(e.id)}:e;var L=(...e)=>e.find(t=>typeof t<"u");var Y=(e,t,r,s)=>{let o=t||"default",a={all:[o],resourceAll:[o,e||""],list:n=>[...a.resourceAll,"list",{...n,...L(r,s)||{}}],many:n=>[...a.resourceAll,"getMany",n&&n.map(String),{...L(r,s)||{}}].filter(c=>c!==void 0),detail:n=>[...a.resourceAll,"detail",n==null?void 0:n.toString(),{...L(r,s)||{}}],logList:n=>["logList",e,n,s].filter(c=>c!==void 0)};return a};var Dr=(e,t)=>!e||!t?!1:!!e.find(r=>r===t);var nt=e=>e.startsWith(":");var Ae=e=>e.split("/").filter(r=>r!=="");var Er=(e,t)=>{let r=Ae(e),s=Ae(t);return r.length===s.length};var de=e=>e.replace(/^\/|\/$/g,"");var Mr=(e,t)=>{let r=de(e),s=de(t);if(!Er(r,s))return!1;let o=Ae(r);return Ae(s).every((n,c)=>nt(n)||n===o[c])};var Lr=(e,t,r)=>{let s=de(r||""),o=`${s}${s?"/":""}${e}`;return t==="list"?o=`${o}`:t==="create"?o=`${o}/create`:t==="edit"?o=`${o}/edit/:id`:t==="show"?o=`${o}/show/:id`:t==="clone"&&(o=`${o}/clone/:id`),`/${o.replace(/^\//,"")}`};var Re=(e,t)=>{var o,a;let r=L((o=e.meta)==null?void 0:o.parent,(a=e.options)==null?void 0:a.parent,e.parentName);return r?t.find(n=>(n.identifier??n.name)===r)??{name:r}:void 0};var Ut=(e,t,r)=>{let s=[],o=Re(e,t);for(;o;)s.push(o),o=Re(o,t);if(s.length!==0)return`/${s.reverse().map(a=>{var c;let n=r?((c=a.options)==null?void 0:c.route)??a.name:a.name;return de(n)}).join("/")}`};var ce=(e,t,r)=>{let s=[],o=["list","show","edit","create","clone"],a=Ut(e,t,r);return o.forEach(n=>{var m,d;let c=r&&n==="clone"?e.create:e[n],p;typeof c=="function"||r?p=Lr(r?((m=e.meta)==null?void 0:m.route)??((d=e.options)==null?void 0:d.route)??e.name:e.name,n,r?a:void 0):typeof c=="string"?p=c:typeof c=="object"&&(p=c.path),p&&s.push({action:n,resource:e,route:`/${p.replace(/^\//,"")}`})}),s};var Co=e=>{var o;if(e.length===0)return;if(e.length===1)return e[0];let t=e.map(a=>({...a,splitted:Ae(de(a.route))})),r=((o=t[0])==null?void 0:o.splitted.length)??0,s=[...t];for(let a=0;a<r;a++){let n=s.filter(c=>!nt(c.splitted[a]));if(n.length!==0){if(n.length===1){s=n;break}s=n}}return s[0]};var Ur=(e,t)=>{let s=t.flatMap(a=>ce(a,t)).filter(a=>Mr(e,a.route)),o=Co(s);return{found:!!o,resource:o==null?void 0:o.resource,action:o==null?void 0:o.action,matchedRoute:o==null?void 0:o.route}};var qt=(e,t)=>{var o;let r,s=Ut(e,t,!0);if(s){let a=L(e.meta,e.options);r=`${s}/${(a==null?void 0:a.route)??e.name}`}else r=((o=e.options)==null?void 0:o.route)??e.name;return`/${r.replace(/^\//,"")}`};var ho=e=>{var n;let t=[],r={},s={},o,a;for(let c=0;c<e.length;c++){o=e[c];let p=o.route??((n=L(o==null?void 0:o.meta,o.options))==null?void 0:n.route)??"";r[p]=o,r[p].children=[],s[o.name]=o,s[o.name].children=[]}for(let c in r)r.hasOwnProperty(c)&&(a=r[c],a.parentName&&s[a.parentName]?s[a.parentName].children.push(a):t.push(a));return t};var st=e=>(e=e.replace(/([a-z]{1})([A-Z]{1})/g,"$1-$2"),e=e.replace(/([A-Z]{1})([A-Z]{1})([a-z]{1})/g,"$1-$2$3"),e=e.toLowerCase().replace(/[_-]+/g," ").replace(/\s{2,}/g," ").trim(),e=e.charAt(0).toUpperCase()+e.slice(1),e);import bo from"react";import js from"react";var Ir=({children:e})=>js.createElement("div",null,e);var Se={mutationMode:"pessimistic",syncWithLocation:!1,undoableTimeout:5e3,warnWhenUnsavedChanges:!1,liveMode:"off",redirect:{afterCreate:"list",afterClone:"list",afterEdit:"list"}},fe=bo.createContext({hasDashboard:!1,mutationMode:"pessimistic",warnWhenUnsavedChanges:!1,syncWithLocation:!1,undoableTimeout:5e3,Title:void 0,Sider:void 0,Header:void 0,Footer:void 0,Layout:Ir,OffLayoutArea:void 0,liveMode:"off",onLiveEvent:void 0,options:Se}),vo=({hasDashboard:e,mutationMode:t,warnWhenUnsavedChanges:r,syncWithLocation:s,undoableTimeout:o,children:a,DashboardPage:n,Title:c,Layout:p=Ir,Header:m,Sider:d,Footer:u,OffLayoutArea:g,LoginPage:x=wr,catchAll:v,liveMode:M="off",onLiveEvent:i,options:f})=>bo.createElement(fe.Provider,{value:{hasDashboard:e,mutationMode:t,warnWhenUnsavedChanges:r,syncWithLocation:s,Title:c,undoableTimeout:o,Layout:p,Header:m,Sider:d,Footer:u,OffLayoutArea:g,DashboardPage:n,LoginPage:x,catchAll:v,liveMode:M,onLiveEvent:i,options:f}},a);var Ar=({options:e,disableTelemetry:t,liveMode:r,mutationMode:s,reactQueryClientConfig:o,reactQueryDevtoolConfig:a,syncWithLocation:n,undoableTimeout:c,warnWhenUnsavedChanges:p}={})=>{var g,x,v,M,i;let m={breadcrumb:e==null?void 0:e.breadcrumb,mutationMode:(e==null?void 0:e.mutationMode)??s??Se.mutationMode,undoableTimeout:(e==null?void 0:e.undoableTimeout)??c??Se.undoableTimeout,syncWithLocation:(e==null?void 0:e.syncWithLocation)??n??Se.syncWithLocation,warnWhenUnsavedChanges:(e==null?void 0:e.warnWhenUnsavedChanges)??p??Se.warnWhenUnsavedChanges,liveMode:(e==null?void 0:e.liveMode)??r??Se.liveMode,redirect:{afterCreate:((g=e==null?void 0:e.redirect)==null?void 0:g.afterCreate)??Se.redirect.afterCreate,afterClone:((x=e==null?void 0:e.redirect)==null?void 0:x.afterClone)??Se.redirect.afterClone,afterEdit:((v=e==null?void 0:e.redirect)==null?void 0:v.afterEdit)??Se.redirect.afterEdit}},d=(e==null?void 0:e.disableTelemetry)??t??!1,u={clientConfig:((M=e==null?void 0:e.reactQuery)==null?void 0:M.clientConfig)??o??{},devtoolConfig:((i=e==null?void 0:e.reactQuery)==null?void 0:i.devtoolConfig)??a??{}};return{optionsWithDefaults:m,disableTelemetryWithDefault:d,reactQueryWithDefaults:u}};var Sr=({redirectFromProps:e,action:t,redirectOptions:r})=>{if(e||e===!1)return e;switch(t){case"clone":return r.afterClone;case"create":return r.afterCreate;case"edit":return r.afterEdit;default:return!1}};var er=async(e,t,r)=>{let s=[];for(let[o,a]of e.entries())try{let n=await a();s.push(t(n,o))}catch(n){s.push(r(n,o))}return s};var W=(e,t=[],r=!1)=>{if(!e)return;if(r){let o=t.find(n=>de(n.route??"")===de(e));return o||t.find(n=>n.name===e)}return t.find(o=>(o.identifier??o.name)===e)};var Q=(e,t,r)=>{if(t)return t;let s=W(e,r),o=L(s==null?void 0:s.meta,s==null?void 0:s.options);return o!=null&&o.dataProviderName?o.dataProviderName:"default"};var Ne=async e=>({data:(await Promise.all(e)).map(t=>t.data)});var tr=e=>{let{pagination:t,cursor:r}=e;if(r!=null&&r.next)return r.next;let s=(t==null?void 0:t.current)||1,o=(t==null?void 0:t.pageSize)||10,a=Math.ceil((e.total||0)/o);return s<a?Number(s)+1:void 0},rr=e=>{let{pagination:t,cursor:r}=e;if(r!=null&&r.prev)return r.prev;let s=(t==null?void 0:t.current)||1;return s===1?void 0:s-1};var or=e=>{let t=[];return e.forEach(r=>{var s,o;t.push({...r,label:((s=r.meta)==null?void 0:s.label)??((o=r.options)==null?void 0:o.label),route:qt(r,e),canCreate:!!r.create,canEdit:!!r.edit,canShow:!!r.show,canDelete:r.canDelete})}),t};var Do=e=>Ae(de(e)).flatMap(r=>nt(r)?[r.slice(1)]:[]);var Eo=(e,t={})=>e.reduce((r,s)=>{let o=t[s];return typeof o<"u"&&(r[s]=o),r},{});var le=(e,t={},r={},s={})=>{let o=Do(e),a=Eo(o,{...t,...typeof(r==null?void 0:r.id)<"u"?{id:r.id}:{},...typeof(r==null?void 0:r.action)<"u"?{action:r.action}:{},...typeof(r==null?void 0:r.resource)<"u"?{resource:r.resource}:{},...r==null?void 0:r.params,...s});return e.replace(/:([^\/]+)/g,(n,c)=>{let p=a[c];return typeof p<"u"?`${p}`:n})};var H=()=>{let e=X(),t=re();return t.isProvided?{isLegacy:!1,...t}:e.isProvided?{isLegacy:!0,...e,check:e.checkAuth,onError:e.checkError,getIdentity:e.getUserIdentity}:null};var It=({hasPagination:e,pagination:t,configPagination:r}={})=>{let s=e===!1?"off":"server",o=(t==null?void 0:t.mode)??s,a=L(t==null?void 0:t.current,r==null?void 0:r.current)??1,n=L(t==null?void 0:t.pageSize,r==null?void 0:r.pageSize)??10;return{current:a,pageSize:n,mode:o}};import{useState as Zs,useEffect as Ys}from"react";var sr=e=>{let[t,r]=Zs(!1);return Ys(()=>{let s=window.matchMedia(e);s.matches!==t&&r(s.matches);let o=()=>r(s.matches);return window.addEventListener("resize",o),()=>window.removeEventListener("resize",o)},[t,e]),t};import Js from"lodash/capitalize";function Mo(e,t,r,s){var m;let o={create:"Create new ",clone:`#${s??""} Clone `,edit:`#${s??""} Edit `,show:`#${s??""} Show `,list:""},a=(t==null?void 0:t.label)??((m=t==null?void 0:t.meta)==null?void 0:m.label)??Js(Je(t==null?void 0:t.name,r==="list"?"plural":"singular")),n=e("documentTitle.default","refine"),c=e("documentTitle.suffix"," | refine"),p=n;return r&&(t!=null&&t.name)&&(p=e(`documentTitle.${t.name}.${r}`,{id:s},`${o[r]??""}${a}${c}`)),p}var wt=({resource:e,config:t,filters:r,hasPagination:s,pagination:o,sorters:a,queryOptions:n,successNotification:c,errorNotification:p,meta:m,metaData:d,liveMode:u,onLiveEvent:g,liveParams:x,dataProviderName:v})=>{let{resources:M}=S(),i=z(),f=k(),y=H(),{mutate:P}=q({v3LegacyAuthProviderCompatible:!!(y!=null&&y.isLegacy)}),E=ee(),l=G(),C=Q(e,v,M),T=L(m,d),b=L(r,t==null?void 0:t.filters),R=L(a,t==null?void 0:t.sort),h=L(s,t==null?void 0:t.hasPagination),D=It({pagination:o,configPagination:t==null?void 0:t.pagination,hasPagination:h}),U=D.mode==="server",I=l({meta:T}),A={meta:I,metaData:I,filters:b,hasPagination:U,pagination:D,sorters:R,config:{...t,sort:R}},B=(n==null?void 0:n.enabled)===void 0||(n==null?void 0:n.enabled)===!0,$=Y(e,C,T,T),{getList:O}=i(C);return Xe({resource:e,types:["*"],params:{meta:I,metaData:I,pagination:D,hasPagination:U,sort:R,sorters:R,filters:b,subscriptionType:"useList",...x},channel:`resources/${e}`,enabled:B,liveMode:u,onLiveEvent:g}),Xs($.list({filters:b,hasPagination:U,...U&&{pagination:D},...a&&{sorters:a},...(t==null?void 0:t.sort)&&{sort:t==null?void 0:t.sort}}),({queryKey:w,pageParam:F,signal:j})=>O({resource:e,pagination:D,hasPagination:U,filters:b,sort:R,sorters:R,meta:{...I,queryContext:{queryKey:w,pageParam:F,signal:j}},metaData:{...I,queryContext:{queryKey:w,pageParam:F,signal:j}}}),{...n,enabled:typeof(n==null?void 0:n.enabled)<"u"?n==null?void 0:n.enabled:!!e,select:w=>{var Me;let F=w,{current:j,mode:xe,pageSize:ye}=D;return xe==="client"&&(F={...F,data:F.data.slice((j-1)*ye,j*ye),total:F.total}),n!=null&&n.select?(Me=n==null?void 0:n.select)==null?void 0:Me.call(n,F):F},onSuccess:w=>{var j;(j=n==null?void 0:n.onSuccess)==null||j.call(n,w);let F=typeof c=="function"?c(w,A,e):c;E(F)},onError:w=>{var j;P(w),(j=n==null?void 0:n.onError)==null||j.call(n,w);let F=typeof p=="function"?p(w,A,e):p;E(F,{key:`${e}-useList-notification`,message:f("notifications.error",{statusCode:w.statusCode},`Error (status code: ${w.statusCode})`),description:w.message,type:"error"})}})};import{useQuery as qs}from"@tanstack/react-query";var At=({resource:e,id:t,queryOptions:r,successNotification:s,errorNotification:o,meta:a,metaData:n,liveMode:c,onLiveEvent:p,liveParams:m,dataProviderName:d})=>{let{resources:u}=S(),g=z(),x=k(),v=H(),{mutate:M}=q({v3LegacyAuthProviderCompatible:!!(v!=null&&v.isLegacy)}),i=ee(),f=G(),y=L(a,n),P=Y(e,Q(e,d,u),y,y),{getOne:E}=g(Q(e,d,u)),l=f({meta:y});return Xe({resource:e,types:["*"],channel:`resources/${e}`,params:{ids:t?[t]:[],id:t,meta:l,metaData:l,subscriptionType:"useOne",...m},enabled:typeof(r==null?void 0:r.enabled)<"u"?r==null?void 0:r.enabled:typeof e<"u"&&typeof t<"u",liveMode:c,onLiveEvent:p}),qs(P.detail(t),({queryKey:T,pageParam:b,signal:R})=>E({resource:e,id:t,meta:{...l,queryContext:{queryKey:T,pageParam:b,signal:R}},metaData:{...l,queryContext:{queryKey:T,pageParam:b,signal:R}}}),{...r,enabled:typeof(r==null?void 0:r.enabled)<"u"?r==null?void 0:r.enabled:typeof t<"u",onSuccess:T=>{var R;(R=r==null?void 0:r.onSuccess)==null||R.call(r,T);let b=typeof s=="function"?s(T,{id:t,...l},e):s;i(b)},onError:T=>{var R;M(T),(R=r==null?void 0:r.onError)==null||R.call(r,T);let b=typeof o=="function"?o(T,{id:t,...l},e):o;i(b,{key:`${t}-${e}-getOne-notification`,message:x("notifications.error",{statusCode:T.statusCode},`Error (status code: ${T.statusCode})`),description:T.message,type:"error"})}})};import{useQuery as en}from"@tanstack/react-query";var Qr=({resource:e,ids:t,queryOptions:r,successNotification:s,errorNotification:o,meta:a,metaData:n,liveMode:c,onLiveEvent:p,liveParams:m,dataProviderName:d})=>{let{resources:u}=S(),g=z(),x=k(),v=H(),{mutate:M}=q({v3LegacyAuthProviderCompatible:!!(v!=null&&v.isLegacy)}),i=ee(),f=G(),y=L(a,n),P=(r==null?void 0:r.enabled)===void 0||(r==null?void 0:r.enabled)===!0,E=Y(e,Q(e,d,u),y,y),{getMany:l,getOne:C}=g(Q(e,d,u)),T=f({meta:y});return Xe({resource:e,types:["*"],params:{ids:t,meta:T,metaData:T,subscriptionType:"useMany",...m},channel:`resources/${e}`,enabled:P,liveMode:c,onLiveEvent:p}),en(E.many(t),({queryKey:R,pageParam:h,signal:D})=>l?l({resource:e,ids:t,meta:{...T,queryContext:{queryKey:R,pageParam:h,signal:D}},metaData:{...T,queryContext:{queryKey:R,pageParam:h,signal:D}}}):Ne(t.map(U=>C({resource:e,id:U,meta:{...T,queryContext:{queryKey:R,pageParam:h,signal:D}},metaData:{...T,queryContext:{queryKey:R,pageParam:h,signal:D}}}))),{...r,onSuccess:R=>{var D;(D=r==null?void 0:r.onSuccess)==null||D.call(r,R);let h=typeof s=="function"?s(R,t,e):s;i(h)},onError:R=>{var D;M(R),(D=r==null?void 0:r.onError)==null||D.call(r,R);let h=typeof o=="function"?o(R,t,e):o;i(h,{key:`${t[0]}-${e}-getMany-notification`,message:x("notifications.error",{statusCode:R.statusCode},`Error (status code: ${R.statusCode})`),description:R.message,type:"error"})}})};import{useMutation as sn,useQueryClient as nn}from"@tanstack/react-query";import Fr,{useReducer as tn}from"react";import kr from"lodash-es/isEqual";var nr=Fr.createContext({notifications:[],notificationDispatch:()=>!1}),rn=[],on=(e,t)=>{switch(t.type){case"ADD":return[...e.filter(s=>!(kr(s.id,t.payload.id)&&s.resource==t.payload.resource)),{...t.payload,isRunning:!0}];case"REMOVE":return e.filter(s=>!(kr(s.id,t.payload.id)&&s.resource==t.payload.resource));case"DECREASE_NOTIFICATION_SECOND":return e.map(s=>kr(s.id,t.payload.id)&&s.resource==t.payload.resource?{...s,seconds:t.payload.seconds-1e3}:s);default:return e}},Vr=({children:e})=>{let[t,r]=tn(on,rn),s={notifications:t,notificationDispatch:r};return Fr.createElement(nr.Provider,{value:s},e,typeof window<"u"&&t.map(o=>Fr.createElement(Lo,{key:`${o.id}-${o.resource}-queue`,notification:o})))};import Uo from"pluralize";var Br=({mutationOptions:e}={})=>{let{resources:t}=S(),r=nn(),s=z(),{mutationMode:o,undoableTimeout:a}=Ue(),n=k(),c=H(),{mutate:p}=q({v3LegacyAuthProviderCompatible:!!(c!=null&&c.isLegacy)}),m=he(),{log:d}=be(),{notificationDispatch:u}=Qe(),g=ee(),x=ve(),v=G();return sn(({id:i,values:f,resource:y,mutationMode:P,undoableTimeout:E,onCancel:l,meta:C,metaData:T,dataProviderName:b})=>{let R=v({meta:L(C,T)}),h=P??o,D=E??a;return h!=="undoable"?s(Q(y,b,t)).update({resource:y,id:i,variables:f,meta:R,metaData:R}):new Promise((I,A)=>{let B=()=>{s(Q(y,b,t)).update({resource:y,id:i,variables:f,meta:R,metaData:R}).then(O=>I(O)).catch(O=>A(O))},$=()=>{A({message:"mutationCancelled"})};l&&l($),u({type:"ADD",payload:{id:i,resource:y,cancelMutation:$,doMutation:B,seconds:D,isSilent:!!l}})})},{onMutate:async({resource:i,id:f,mutationMode:y,values:P,dataProviderName:E,meta:l,metaData:C})=>{let T=L(l,C),b=Y(i,Q(i,E,t),T,T),R=r.getQueriesData(b.resourceAll),h=y??o;return await r.cancelQueries(b.resourceAll,void 0,{silent:!0}),h!=="pessimistic"&&(r.setQueriesData(b.list(),D=>{if(!D)return null;let U=D.data.map(I=>{var A;return((A=I.id)==null?void 0:A.toString())===(f==null?void 0:f.toString())?{id:f,...I,...P}:I});return{...D,data:U}}),r.setQueriesData(b.many(),D=>{if(!D)return null;let U=D.data.map(I=>{var A;return((A=I.id)==null?void 0:A.toString())===(f==null?void 0:f.toString())&&(I={id:f,...I,...P}),I});return{...D,data:U}}),r.setQueriesData(b.detail(f),D=>D?{...D,data:{...D.data,...P}}:null)),{previousQueries:R,queryKey:b}},onSettled:(i,f,{id:y,resource:P,dataProviderName:E,invalidates:l=["list","many","detail"]})=>{x({resource:P,dataProviderName:Q(P,E,t),invalidates:l,id:y}),u({type:"REMOVE",payload:{id:y,resource:P}})},onSuccess:(i,{id:f,resource:y,successNotification:P,dataProviderName:E,values:l,meta:C,metaData:T},b)=>{var $;let R=Uo.singular(y),h=typeof P=="function"?P(i,{id:f,values:l},y):P;g(h,{key:`${f}-${y}-notification`,description:n("notifications.success","Successful"),message:n("notifications.editSuccess",{resource:n(`${y}.${y}`,R)},`Successfully updated ${R}`),type:"success"}),m==null||m({channel:`resources/${y}`,type:"updated",payload:{ids:($=i.data)!=null&&$.id?[i.data.id]:void 0},date:new Date});let D;if(b){let O=r.getQueryData(b.queryKey.detail(f));D=Object.keys(l||{}).reduce((J,w)=>{var F;return J[w]=(F=O==null?void 0:O.data)==null?void 0:F[w],J},{})}let{fields:U,operation:I,variables:A,...B}=L(C,T)||{};d==null||d.mutate({action:"update",resource:y,data:l,previousData:D,meta:{id:f,dataProviderName:Q(y,E,t),...B}})},onError:(i,{id:f,resource:y,errorNotification:P,values:E},l)=>{if(l)for(let C of l.previousQueries)r.setQueryData(C[0],C[1]);if(i.message!=="mutationCancelled"){p==null||p(i);let C=Uo.singular(y),T=typeof P=="function"?P(i,{id:f,values:E},y):P;g(T,{key:`${f}-${y}-notification`,message:n("notifications.editError",{resource:n(`${y}.${y}`,C),statusCode:i.statusCode},`Error when updating ${C} (status code: ${i.statusCode})`),description:i.message,type:"error"})}},...e})};import{useMutation as an}from"@tanstack/react-query";import Io from"pluralize";var St=({mutationOptions:e}={})=>{let t=H(),{mutate:r}=q({v3LegacyAuthProviderCompatible:!!(t!=null&&t.isLegacy)}),s=z(),o=ve(),{resources:a}=S(),n=k(),c=he(),{log:p}=be(),m=ee(),d=G();return an(({resource:g,values:x,meta:v,metaData:M,dataProviderName:i})=>{let f=d({meta:L(v,M)});return s(Q(g,i,a)).create({resource:g,variables:x,meta:f,metaData:f})},{onSuccess:(g,{resource:x,successNotification:v,dataProviderName:M,invalidates:i=["list","many"],values:f,meta:y,metaData:P})=>{var h,D;let E=Io.singular(x),l=typeof v=="function"?v(g,f,x):v;m(l,{key:`create-${x}-notification`,message:n("notifications.createSuccess",{resource:n(`${x}.${x}`,E)},`Successfully created ${E}`),description:n("notifications.success","Success"),type:"success"}),o({resource:x,dataProviderName:Q(x,M,a),invalidates:i}),c==null||c({channel:`resources/${x}`,type:"created",payload:{ids:(h=g==null?void 0:g.data)!=null&&h.id?[g.data.id]:void 0},date:new Date});let{fields:C,operation:T,variables:b,...R}=L(y,P)||{};p==null||p.mutate({action:"create",resource:x,data:f,meta:{dataProviderName:Q(x,M,a),id:((D=g==null?void 0:g.data)==null?void 0:D.id)??void 0,...R}})},onError:(g,{resource:x,errorNotification:v,values:M})=>{r(g);let i=Io.singular(x),f=typeof v=="function"?v(g,M,x):v;m(f,{key:`create-${x}-notification`,description:g.message,message:n("notifications.createError",{resource:n(`${x}.${x}`,i),statusCode:g.statusCode},`There was an error creating ${i} (status code: ${g.statusCode})`),type:"error"})},...e})};import{useQueryClient as un,useMutation as cn}from"@tanstack/react-query";import wo from"pluralize";var pn=({mutationOptions:e}={})=>{let t=H(),{mutate:r}=q({v3LegacyAuthProviderCompatible:!!(t!=null&&t.isLegacy)}),s=z(),{resources:o}=S(),a=un(),{mutationMode:n,undoableTimeout:c}=Ue(),{notificationDispatch:p}=Qe(),m=k(),d=he(),{log:u}=be(),g=ee(),x=ve(),v=G();return cn(({id:i,mutationMode:f,undoableTimeout:y,resource:P,onCancel:E,meta:l,metaData:C,dataProviderName:T,values:b})=>{let R=v({meta:L(l,C)}),h=f??n,D=y??c;return h!=="undoable"?s(Q(P,T,o)).deleteOne({resource:P,id:i,meta:R,metaData:R,variables:b}):new Promise((I,A)=>{let B=()=>{s(Q(P,T,o)).deleteOne({resource:P,id:i,meta:R,metaData:R,variables:b}).then(O=>I(O)).catch(O=>A(O))},$=()=>{A({message:"mutationCancelled"})};E&&E($),p({type:"ADD",payload:{id:i,resource:P,cancelMutation:$,doMutation:B,seconds:D,isSilent:!!E}})})},{onMutate:async({id:i,resource:f,mutationMode:y,dataProviderName:P,meta:E,metaData:l})=>{let C=L(E,l),T=Y(f,Q(f,P,o),C,C),b=y??n;await a.cancelQueries(T.resourceAll,void 0,{silent:!0});let R=a.getQueriesData(T.resourceAll);return b!=="pessimistic"&&(a.setQueriesData(T.list(),h=>h?{data:h.data.filter(U=>{var I;return((I=U.id)==null?void 0:I.toString())!==i.toString()}),total:h.total-1}:null),a.setQueriesData(T.many(),h=>{if(!h)return null;let D=h.data.filter(U=>{var I;return((I=U.id)==null?void 0:I.toString())!==(i==null?void 0:i.toString())});return{...h,data:D}})),{previousQueries:R,queryKey:T}},onSettled:(i,f,{id:y,resource:P,dataProviderName:E,invalidates:l=["list","many"]})=>{x({resource:P,dataProviderName:Q(P,E,o),invalidates:l}),p({type:"REMOVE",payload:{id:y,resource:P}})},onSuccess:(i,{id:f,resource:y,successNotification:P,dataProviderName:E,meta:l,metaData:C},T)=>{let b=wo.singular(y);a.removeQueries(T==null?void 0:T.queryKey.detail(f));let R=typeof P=="function"?P(i,f,y):P;g(R,{key:`${f}-${y}-notification`,description:m("notifications.success","Success"),message:m("notifications.deleteSuccess",{resource:m(`${y}.${y}`,b)},`Successfully deleted a ${b}`),type:"success"}),d==null||d({channel:`resources/${y}`,type:"deleted",payload:{ids:[f]},date:new Date});let{fields:h,operation:D,variables:U,...I}=L(l,C)||{};u==null||u.mutate({action:"delete",resource:y,meta:{id:f,dataProviderName:Q(y,E,o),...I}}),a.removeQueries(T==null?void 0:T.queryKey.detail(f))},onError:(i,{id:f,resource:y,errorNotification:P},E)=>{if(E)for(let l of E.previousQueries)a.setQueryData(l[0],l[1]);if(i.message!=="mutationCancelled"){r(i);let l=wo.singular(y),C=typeof P=="function"?P(i,f,y):P;g(C,{key:`${f}-${y}-notification`,message:m("notifications.deleteError",{resource:l,statusCode:i.statusCode},`Error (status code: ${i.statusCode})`),description:i.message,type:"error"})}},...e})};import{useMutation as dn}from"@tanstack/react-query";import ln from"pluralize";var Nr=({mutationOptions:e}={})=>{let t=z(),{resources:r}=S(),s=k(),o=he(),a=ee(),n=ve(),{log:c}=be(),p=G();return dn(({resource:d,values:u,meta:g,metaData:x,dataProviderName:v})=>{let M=p({meta:L(g,x)}),i=t(Q(d,v,r));return i.createMany?i.createMany({resource:d,variables:u,meta:M,metaData:M}):Ne(u.map(f=>i.create({resource:d,variables:f,meta:M,metaData:M})))},{onSuccess:(d,{resource:u,successNotification:g,dataProviderName:x,invalidates:v=["list","many"],values:M,meta:i,metaData:f})=>{let y=ln.plural(u),P=typeof g=="function"?g(d,M,u):g;a(P,{key:`createMany-${u}-notification`,message:s("notifications.createSuccess",{resource:s(`${u}.${u}`,u)},`Successfully created ${y}`),description:s("notifications.success","Success"),type:"success"}),n({resource:u,dataProviderName:Q(u,x,r),invalidates:v});let E=d==null?void 0:d.data.filter(R=>(R==null?void 0:R.id)!==void 0).map(R=>R.id);o==null||o({channel:`resources/${u}`,type:"created",payload:{ids:E},date:new Date});let{fields:l,operation:C,variables:T,...b}=L(i,f)||{};c==null||c.mutate({action:"createMany",resource:u,data:M,meta:{dataProviderName:Q(u,x,r),ids:E,...b}})},onError:(d,{resource:u,errorNotification:g,values:x})=>{let v=typeof g=="function"?g(d,x,u):g;a(v,{key:`createMany-${u}-notification`,description:d.message,message:s("notifications.createError",{resource:s(`${u}.${u}`,u),statusCode:d.statusCode},`There was an error creating ${u} (status code: ${d.statusCode}`),type:"error"})},...e})};import{useMutation as mn,useQueryClient as fn}from"@tanstack/react-query";import Ao from"pluralize";var yn=({mutationOptions:e}={})=>{let{resources:t}=S(),r=fn(),s=z(),o=k(),{mutationMode:a,undoableTimeout:n}=Ue(),c=H(),{mutate:p}=q({v3LegacyAuthProviderCompatible:!!(c!=null&&c.isLegacy)}),{notificationDispatch:m}=Qe(),d=he(),u=ee(),g=ve(),{log:x}=be(),v=G();return mn(({ids:i,values:f,resource:y,onCancel:P,mutationMode:E,undoableTimeout:l,meta:C,metaData:T,dataProviderName:b})=>{let R=v({meta:L(C,T)}),h=E??a,D=l??n,U=s(Q(y,b,t)),I=()=>U.updateMany?U.updateMany({resource:y,ids:i,variables:f,meta:R,metaData:R}):Ne(i.map(B=>U.update({resource:y,id:B,variables:f,meta:R,metaData:R})));return h!=="undoable"?I():new Promise((B,$)=>{let O=()=>{I().then(w=>B(w)).catch(w=>$(w))},J=()=>{$({message:"mutationCancelled"})};P&&P(J),m({type:"ADD",payload:{id:i,resource:y,cancelMutation:J,doMutation:O,seconds:D,isSilent:!!P}})})},{onMutate:async({resource:i,ids:f,values:y,mutationMode:P,dataProviderName:E,meta:l,metaData:C})=>{let T=Y(i,Q(i,E,t),L(l,C),L(l,C)),b=P??a;await r.cancelQueries(T.resourceAll,void 0,{silent:!0});let R=r.getQueriesData(T.resourceAll);if(b!=="pessimistic"){r.setQueriesData(T.list(),h=>{if(!h)return null;let D=h.data.map(U=>U.id!==void 0&&f.filter(I=>I!==void 0).map(String).includes(U.id.toString())?{...U,...y}:U);return{...h,data:D}}),r.setQueriesData(T.many(),h=>{if(!h)return null;let D=h.data.map(U=>U.id!==void 0&&f.filter(I=>I!==void 0).map(String).includes(U.id.toString())?{...U,...y}:U);return{...h,data:D}});for(let h of f)r.setQueriesData(T.detail(h),D=>{if(!D)return null;let U={...D.data,...y};return{...D,data:U}})}return{previousQueries:R,queryKey:T}},onSettled:(i,f,{ids:y,resource:P,dataProviderName:E})=>{g({resource:P,invalidates:["list","many"],dataProviderName:Q(P,E,t)}),y.forEach(l=>g({resource:P,invalidates:["detail"],dataProviderName:Q(P,E,t),id:l})),m({type:"REMOVE",payload:{id:y,resource:P}})},onSuccess:(i,{ids:f,resource:y,meta:P,metaData:E,dataProviderName:l,successNotification:C,values:T},b)=>{let R=Ao.singular(y),h=typeof C=="function"?C(i,{ids:f,values:T},y):C;u(h,{key:`${f}-${y}-notification`,description:o("notifications.success","Successful"),message:o("notifications.editSuccess",{resource:o(`${y}.${y}`,y)},`Successfully updated ${R}`),type:"success"}),d==null||d({channel:`resources/${y}`,type:"updated",payload:{ids:f.map(String)},date:new Date});let D=[];b&&f.forEach($=>{let O=r.getQueryData(b.queryKey.detail($));D.push(Object.keys(T||{}).reduce((J,w)=>{var F;return J[w]=(F=O==null?void 0:O.data)==null?void 0:F[w],J},{}))});let{fields:U,operation:I,variables:A,...B}=L(P,E)||{};x==null||x.mutate({action:"updateMany",resource:y,data:T,previousData:D,meta:{ids:f,dataProviderName:Q(y,l,t),...B}})},onError:(i,{ids:f,resource:y,errorNotification:P,values:E},l)=>{if(l)for(let C of l.previousQueries)r.setQueryData(C[0],C[1]);if(i.message!=="mutationCancelled"){p==null||p(i);let C=Ao.singular(y),T=typeof P=="function"?P(i,{ids:f,values:E},y):P;u(T,{key:`${f}-${y}-updateMany-error-notification`,message:o("notifications.editError",{resource:C,statusCode:i.statusCode},`Error when updating ${C} (status code: ${i.statusCode})`),description:i.message,type:"error"})}},...e})};import{useQueryClient as gn,useMutation as Tn}from"@tanstack/react-query";import Rn from"pluralize";var Pn=({mutationOptions:e}={})=>{let t=H(),{mutate:r}=q({v3LegacyAuthProviderCompatible:!!(t!=null&&t.isLegacy)}),{mutationMode:s,undoableTimeout:o}=Ue(),a=z(),{notificationDispatch:n}=Qe(),c=k(),p=he(),m=ee(),d=ve(),{log:u}=be(),{resources:g}=S(),x=gn(),v=G();return Tn(({resource:i,ids:f,mutationMode:y,undoableTimeout:P,onCancel:E,meta:l,metaData:C,dataProviderName:T,values:b})=>{let R=v({meta:L(l,C)}),h=y??s,D=P??o,U=a(Q(i,T,g)),I=()=>U.deleteMany?U.deleteMany({resource:i,ids:f,meta:R,metaData:R,variables:b}):Ne(f.map(B=>U.deleteOne({resource:i,id:B,meta:R,metaData:R,variables:b})));return h!=="undoable"?I():new Promise((B,$)=>{let O=()=>{I().then(w=>B(w)).catch(w=>$(w))},J=()=>{$({message:"mutationCancelled"})};E&&E(J),n({type:"ADD",payload:{id:f,resource:i,cancelMutation:J,doMutation:O,seconds:D,isSilent:!!E}})})},{onMutate:async({ids:i,resource:f,mutationMode:y,dataProviderName:P,meta:E,metaData:l})=>{let C=L(E,l),T=Y(f,Q(f,P,g),C,C),b=y??s;await x.cancelQueries(T.resourceAll,void 0,{silent:!0});let R=x.getQueriesData(T.resourceAll);if(b!=="pessimistic"){x.setQueriesData(T.list(),h=>h?{data:h.data.filter(U=>U.id&&!i.map(String).includes(U.id.toString())),total:h.total-1}:null),x.setQueriesData(T.many(),h=>{if(!h)return null;let D=h.data.filter(U=>U.id?!i.map(String).includes(U.id.toString()):!1);return{...h,data:D}});for(let h of i)x.setQueriesData(T.detail(h),D=>!D||D.data.id==h?null:{...D})}return{previousQueries:R,queryKey:T}},onSettled:(i,f,{resource:y,ids:P,dataProviderName:E,invalidates:l=["list","many"]})=>{d({resource:y,dataProviderName:Q(y,E,g),invalidates:l}),n({type:"REMOVE",payload:{id:P,resource:y}})},onSuccess:(i,{ids:f,resource:y,meta:P,metaData:E,dataProviderName:l,successNotification:C},T)=>{f.forEach(I=>x.removeQueries(T==null?void 0:T.queryKey.detail(I)));let b=typeof C=="function"?C(i,f,y):C;m(b,{key:`${f}-${y}-notification`,description:c("notifications.success","Success"),message:c("notifications.deleteSuccess",{resource:c(`${y}.${y}`,y)},`Successfully deleted ${y}`),type:"success"}),p==null||p({channel:`resources/${y}`,type:"deleted",payload:{ids:f},date:new Date});let{fields:R,operation:h,variables:D,...U}=L(P,E)||{};u==null||u.mutate({action:"deleteMany",resource:y,meta:{ids:f,dataProviderName:Q(y,l,g),...U}}),f.forEach(I=>x.removeQueries(T==null?void 0:T.queryKey.detail(I)))},onError:(i,{ids:f,resource:y,errorNotification:P},E)=>{if(E)for(let l of E.previousQueries)x.setQueryData(l[0],l[1]);if(i.message!=="mutationCancelled"){r(i);let l=Rn.singular(y),C=typeof P=="function"?P(i,f,y):P;m(C,{key:`${f}-${y}-notification`,message:c("notifications.deleteError",{resource:l,statusCode:i.statusCode},`Error (status code: ${i.statusCode})`),description:i.message,type:"error"})}},...e})};var xn=e=>{var o;let t=z(),{resource:r}=S(),{getApiUrl:s}=t(e??((o=L(r==null?void 0:r.meta,r==null?void 0:r.options))==null?void 0:o.dataProviderName));return s()};import{useQuery as Cn}from"@tanstack/react-query";var hn=({url:e,method:t,config:r,queryOptions:s,successNotification:o,errorNotification:a,meta:n,metaData:c,dataProviderName:p})=>{let m=z(),d=H(),{mutate:u}=q({v3LegacyAuthProviderCompatible:!!(d!=null&&d.isLegacy)}),g=k(),x=ee(),v=G(),M=L(n,c),{custom:i}=m(p),f=v({meta:M});if(i)return Cn({queryKey:[p,"custom",t,e,{...r,...M||{}}],queryFn:({queryKey:P,pageParam:E,signal:l})=>i({url:e,method:t,...r,meta:{...f,queryContext:{queryKey:P,pageParam:E,signal:l}},metaData:{...f,queryContext:{queryKey:P,pageParam:E,signal:l}}}),...s,onSuccess:P=>{var l;(l=s==null?void 0:s.onSuccess)==null||l.call(s,P);let E=typeof o=="function"?o(P,{...r,...f}):o;x(E)},onError:P=>{var l;u(P),(l=s==null?void 0:s.onError)==null||l.call(s,P);let E=typeof a=="function"?a(P,{...r,...f}):a;x(E,{key:`${t}-notification`,message:g("notifications.error",{statusCode:P.statusCode},`Error (status code: ${P.statusCode})`),description:P.message,type:"error"})}});throw Error("Not implemented custom on data provider.")};import{useMutation as bn}from"@tanstack/react-query";var vn=({mutationOptions:e}={})=>{let t=H(),{mutate:r}=q({v3LegacyAuthProviderCompatible:!!(t!=null&&t.isLegacy)}),s=ee(),o=z(),a=k(),n=G();return bn(({url:p,method:m,values:d,meta:u,metaData:g,dataProviderName:x,config:v})=>{let M=n({meta:L(u,g)}),{custom:i}=o(x);if(i)return i({url:p,method:m,payload:d,meta:M,metaData:M,headers:{...v==null?void 0:v.headers}});throw Error("Not implemented custom on data provider.")},{onSuccess:(p,{successNotification:m,config:d,meta:u,metaData:g})=>{let x=typeof m=="function"?m(p,{...d,...L(u,g)||{}}):m;s(x)},onError:(p,{errorNotification:m,method:d,config:u,meta:g,metaData:x})=>{r(p);let v=typeof m=="function"?m(p,{...u,...L(g,x)||{}}):m;s(v,{key:`${d}-notification`,message:a("notifications.error",{statusCode:p.statusCode},`Error (status code: ${p.statusCode})`),description:p.message,type:"error"})},...e})};import{useCallback as En,useContext as Mn}from"react";import So from"react";var Dn=()=>({default:{create:()=>Promise.resolve({data:{id:1}}),createMany:()=>Promise.resolve({data:[]}),deleteOne:()=>Promise.resolve({data:{id:1}}),deleteMany:()=>Promise.resolve({data:[]}),getList:()=>Promise.resolve({data:[],total:0}),getMany:()=>Promise.resolve({data:[]}),getOne:()=>Promise.resolve({data:{id:1}}),update:()=>Promise.resolve({data:{id:1}}),updateMany:()=>Promise.resolve({data:[]}),custom:()=>Promise.resolve({data:{}}),getApiUrl:()=>""}}),Qt=So.createContext(Dn()),Qo=({children:e,...t})=>{let r;return!t.getList||!t.getOne?r=t:r={default:t},So.createElement(Qt.Provider,{value:r},e)};var z=()=>{let e=Mn(Qt);return En(r=>{if(r){if(!e[r])throw new Error(`"${r}" Data provider not found`);return e[r]}if(e.default)return e.default;throw new Error('There is no "default" data provider. Please pass dataProviderName.')},[e])};import{useInfiniteQuery as Ln}from"@tanstack/react-query";var Un=({resource:e,config:t,filters:r,hasPagination:s,pagination:o,sorters:a,queryOptions:n,successNotification:c,errorNotification:p,meta:m,metaData:d,liveMode:u,onLiveEvent:g,liveParams:x,dataProviderName:v})=>{let{resources:M}=S(),i=z(),f=k(),y=H(),{mutate:P}=q({v3LegacyAuthProviderCompatible:!!(y!=null&&y.isLegacy)}),E=ee(),l=G(),C=Q(e,v,M),T=L(m,d),b=L(r,t==null?void 0:t.filters),R=L(a,t==null?void 0:t.sort),h=L(s,t==null?void 0:t.hasPagination),D=It({pagination:o,configPagination:t==null?void 0:t.pagination,hasPagination:h}),U=D.mode==="server",I={meta:T,metaData:T,filters:b,hasPagination:U,pagination:D,sorters:R,config:{...t,sort:R}},A=(n==null?void 0:n.enabled)===void 0||(n==null?void 0:n.enabled)===!0,B=Y(e,C,T,T),$=l({meta:T}),{getList:O}=i(C);return Xe({resource:e,types:["*"],params:{meta:$,metaData:$,pagination:D,hasPagination:U,sort:R,sorters:R,filters:b,subscriptionType:"useList",...x},channel:`resources/${e}`,enabled:A,liveMode:u,onLiveEvent:g}),Ln(B.list({filters:b,hasPagination:U,...U&&{pagination:D},...a&&{sorters:a},...(t==null?void 0:t.sort)&&{sort:t==null?void 0:t.sort}}),({queryKey:w,pageParam:F,signal:j})=>{let xe={...D,current:F};return O({resource:e,pagination:xe,hasPagination:U,filters:b,sort:R,sorters:R,meta:{...$,queryContext:{queryKey:w,pageParam:F,signal:j}},metaData:{...$,queryContext:{queryKey:w,pageParam:F,signal:j}}}).then(({data:ye,total:Me,...N})=>({data:ye,total:Me,pagination:xe,...N}))},{getNextPageParam:w=>tr(w),getPreviousPageParam:w=>rr(w),...n,onSuccess:w=>{var j;(j=n==null?void 0:n.onSuccess)==null||j.call(n,w);let F=typeof c=="function"?c(w,I,e):c;E(F)},onError:w=>{var j;P(w),(j=n==null?void 0:n.onError)==null||j.call(n,w);let F=typeof p=="function"?p(w,I,e):p;E(F,{key:`${e}-useInfiniteList-notification`,message:f("notifications.error",{statusCode:w.statusCode},`Error (status code: ${w.statusCode})`),description:w.message,type:"error"})}})};import{useContext as Vo,useEffect as In}from"react";import{useQueryClient as wn}from"@tanstack/react-query";import ko from"react";var He=ko.createContext(void 0),Fo=({liveProvider:e,children:t})=>ko.createElement(He.Provider,{value:e},t);var Xe=({resource:e,params:t,channel:r,types:s,enabled:o=!0,liveMode:a,onLiveEvent:n})=>{let c=wn(),p=Y(e),m=Vo(He),{liveMode:d,onLiveEvent:u}=Vo(fe),g=a??d;In(()=>{let x;return g&&g!=="off"&&o&&(x=m==null?void 0:m.subscribe({channel:r,params:{resource:e,...t},types:s,callback:v=>{g==="auto"&&c.invalidateQueries(p.resourceAll),n==null||n(v),u==null||u(v)}})),()=>{x&&(m==null||m.unsubscribe(x))}},[o])};import{useContext as An}from"react";var Bo=e=>{let{liveMode:t}=An(fe);return e??t};import{useContext as Sn,useEffect as Qn}from"react";var Qm=({params:e,channel:t,types:r=["*"],enabled:s=!0,onLiveEvent:o})=>{let a=Sn(He);Qn(()=>{let n;return s&&(n=a==null?void 0:a.subscribe({channel:t,params:e,types:r,callback:o})),()=>{n&&(a==null||a.unsubscribe(n))}},[s])};import{useContext as kn}from"react";var he=()=>{let e=kn(He);return e==null?void 0:e.publish};import{useContext as Gn}from"react";import Ho from"react";import{useMemo as Bn}from"react";import{useRef as Fn}from"react";import Vn from"lodash-es/isEqual";var No=e=>{let t=Fn(e);return Vn(t.current,e)||(t.current=e),t.current};var ar=(e,t)=>{let r=No(t);return Bn(e,r)};var qe=Ho.createContext({resources:[]}),Oo=({resources:e,children:t})=>{let r=ar(()=>or(e??[]),[e]);return Ho.createElement(qe.Provider,{value:{resources:r}},t)};import $o from"react";var Wo=$o.createContext("new"),Go=Wo.Provider,V=()=>$o.useContext(Wo);import Wn from"react";import Nn,{createContext as Hn}from"react";var Ko={},Oe=Hn(Ko),zo=({children:e,router:t})=>Nn.createElement(Oe.Provider,{value:t??Ko},e);import On,{useContext as $n}from"react";var Hr=()=>{let e=$n(Oe);return On.useMemo(()=>(e==null?void 0:e.parse)??(()=>()=>({})),[e==null?void 0:e.parse])()};var Z=()=>{let e=Hr();return Wn.useMemo(()=>e(),[e])};function S(e){let{resources:t}=Gn(qe),r=V(),s=Z(),o={resourceName:e&&typeof e!="string"?e.resourceName:e,resourceNameOrRouteName:e&&typeof e!="string"?e.resourceNameOrRouteName:e,recordItemId:e&&typeof e!="string"?e.recordItemId:void 0},a=et(),{useParams:n}=K(),c=n();if(r==="legacy"){let d=o.resourceNameOrRouteName?o.resourceNameOrRouteName:c.resource,u=d?a(d):void 0,g=(o==null?void 0:o.recordItemId)??c.id,x=c.action,v=(o==null?void 0:o.resourceName)??(u==null?void 0:u.name);return{resources:t,resource:u,resourceName:v,id:g,action:x}}let p,m=typeof e=="string"?e:o==null?void 0:o.resourceNameOrRouteName;if(m){let d=W(m,t);d?p=d:p={name:m}}else s!=null&&s.resource&&(p=s.resource);return{resources:t,resource:p,resourceName:p==null?void 0:p.name,id:s.id,action:s.action}}import{useContext as Kn,useCallback as zn}from"react";var et=()=>{let{resources:e}=Kn(qe);return zn(r=>{let s=W(r,e,!0);return s||{name:r,route:r}},[e])};import{useContext as _n}from"react";var Qe=()=>{let{notifications:e,notificationDispatch:t}=_n(nr);return{notifications:e,notificationDispatch:t}};import{useContext as Yn}from"react";import jn,{createContext as Zn}from"react";var kt=Zn({}),_o=({open:e,close:t,children:r})=>jn.createElement(kt.Provider,{value:{open:e,close:t}},r);var ge=()=>{let{open:e,close:t}=Yn(kt);return{open:e,close:t}};import{useCallback as Jn}from"react";var ee=()=>{let{open:e}=ge();return Jn((r,s)=>{r!==!1&&(r?e==null||e(r):s&&(e==null||e(s)))},[])};import{useCallback as Xn,useContext as qn}from"react";import jo from"react";var De=jo.createContext({}),Zo=({children:e,i18nProvider:t})=>jo.createElement(De.Provider,{value:{i18nProvider:t}},e);var ea=()=>{let{i18nProvider:e}=qn(De);return Xn(t=>e==null?void 0:e.changeLocale(t),[])};import{useContext as ta,useMemo as ra}from"react";var k=()=>{let{i18nProvider:e}=ta(De);return ra(()=>{function r(s,o,a){return(e==null?void 0:e.translate(s,o,a))??a??(typeof o=="string"&&typeof a>"u"?o:s)}return r},[e])};import{useContext as oa,useCallback as sa}from"react";var na=()=>{let{i18nProvider:e}=oa(De);return sa(()=>e==null?void 0:e.getLocale(),[])};import{useContext as aa}from"react";var Ue=()=>{let{mutationMode:e,undoableTimeout:t}=aa(fe);return{mutationMode:e,undoableTimeout:t}};import{useContext as Xo}from"react";import Yo,{useState as ia}from"react";var Or=Yo.createContext({}),Jo=({children:e})=>{let[t,r]=ia(!1);return Yo.createElement(Or.Provider,{value:{warnWhen:t,setWarnWhen:r}},e)};var Ft=()=>{let{warnWhenUnsavedChanges:e}=Xo(fe),{warnWhen:t,setWarnWhen:r}=Xo(Or);return{warnWhenUnsavedChanges:e,warnWhen:!!t,setWarnWhen:r??(()=>{})}};import{useContext as ua}from"react";var $r=()=>{let{syncWithLocation:e}=ua(fe);return{syncWithLocation:e}};import{useContext as ca}from"react";var pa=()=>{let{Title:e}=ca(fe);return e};import{useContext as da}from"react";var Vt=()=>{let{Footer:e,Header:t,Layout:r,OffLayoutArea:s,Sider:o,Title:a,hasDashboard:n,mutationMode:c,syncWithLocation:p,undoableTimeout:m,warnWhenUnsavedChanges:d,DashboardPage:u,LoginPage:g,catchAll:x,options:v}=da(fe);return{Footer:e,Header:t,Layout:r,OffLayoutArea:s,Sider:o,Title:a,hasDashboard:n,mutationMode:c,syncWithLocation:p,undoableTimeout:m,warnWhenUnsavedChanges:d,DashboardPage:u,LoginPage:g,catchAll:x,options:v}};import{useState as la}from"react";import{ExportToCsv as ma}from"export-to-csv-fix-source-map";var Sy=({resourceName:e,resource:t,sorter:r,sorters:s,filters:o,maxItemCount:a,pageSize:n=20,mapData:c=x=>x,exportOptions:p,meta:m,metaData:d,dataProviderName:u,onError:g}={})=>{let[x,v]=la(!1),M=z(),{resource:i,resources:f}=S(L(t,e)),y=`${Je(i==null?void 0:i.name,"plural")}-${new Date().toLocaleString()}`,{getList:P}=M(Q((i==null?void 0:i.identifier)??(i==null?void 0:i.name),u,f));return{isLoading:x,triggerExport:async()=>{v(!0);let l=[],C=1,T=!0;for(;T;)try{let{data:R,total:h}=await P({resource:(i==null?void 0:i.name)??"",filters:o,sort:L(s,r),sorters:L(s,r),pagination:{current:C,pageSize:n,mode:"server"},meta:L(m,d),metaData:L(m,d)});C++,l.push(...R),a&&l.length>=a&&(l=l.slice(0,a),T=!1),h===l.length&&(T=!1)}catch(R){v(!1),T=!1,g==null||g(R);return}new ma({filename:y,useKeysAsHeaders:!0,...p}).generateCsv(l.map(c)),v(!1)}}};import qo from"react";import fa from"warn-once";var zy=({resource:e,action:t,id:r,onMutationSuccess:s,onMutationError:o,redirect:a,successNotification:n,errorNotification:c,meta:p,metaData:m,queryMeta:d,mutationMeta:u,mutationMode:g,liveMode:x,onLiveEvent:v,liveParams:M,undoableTimeout:i,dataProviderName:f,invalidates:y,queryOptions:P,createMutationOptions:E,updateMutationOptions:l}={})=>{let{options:C}=Vt(),{resources:T}=S(),b=V(),{resource:R,id:h,action:D}=Z(),{useParams:U}=K(),{resource:I,action:A,id:B}=U(),$=G(),O=typeof R=="string"?R:R==null?void 0:R.name,J=!e||e===(b==="legacy"?I:O)?r??(b==="legacy"?B:h):r,[w,F]=qo.useState(J);qo.useEffect(()=>{F(J)},[J]);let j=e??(b==="legacy"?I:O),xe=b==="legacy"?A:D,ye=t??(xe==="edit"||xe==="clone"?xe:"create"),Me=et(),N;if(b==="legacy")j&&(N=Me(j));else if(e){let ie=W(e,T);ie?N=ie:N={name:e,route:e}}else if(typeof R=="string"){let ie=W(R,T);ie?N=ie:N={name:R,route:R}}else N=R;let ne=$({resource:N,meta:L(p,m)}),{mutationMode:we}=Ue(),ke=g??we,We=ye==="create",bt=ye==="edit",Ge=ye==="clone";fa((Ge||bt)&&!!e&&!r,`[useForm]: action: "${ye}", resource: "${j}", id: ${w}
|
|
1
|
+
import Ft,{useEffect as ei,useState as ti}from"react";import mt from"react";var qr=mt.createContext({}),eo=({children:e,isProvided:t,...r})=>{let{replace:s}=ae(),o=async c=>{var d;try{return await((d=r.login)==null?void 0:d.call(r,c))}catch(p){return Promise.reject(p)}},a=async c=>{var d;try{return await((d=r.register)==null?void 0:d.call(r,c))}catch(p){return Promise.reject(p)}},n=async c=>{var d;try{return await((d=r.logout)==null?void 0:d.call(r,c))}catch(p){return Promise.reject(p)}},u=async c=>{var d;try{return await((d=r.checkAuth)==null?void 0:d.call(r,c)),Promise.resolve()}catch(p){return p!=null&&p.redirectPath&&s(p.redirectPath),Promise.reject(p)}};return mt.createElement(qr.Provider,{value:{...r,login:o,logout:n,checkAuth:u,register:a,isProvided:t}},e)},to=mt.createContext({}),ro=({children:e,isProvided:t,...r})=>{let s=async d=>{var p;try{return await((p=r.login)==null?void 0:p.call(r,d))}catch(i){return console.warn("Unhandled Error in login: refine always expects a resolved promise.",i),Promise.reject(i)}},o=async d=>{var p;try{return await((p=r.register)==null?void 0:p.call(r,d))}catch(i){return console.warn("Unhandled Error in register: refine always expects a resolved promise.",i),Promise.reject(i)}},a=async d=>{var p;try{return await((p=r.logout)==null?void 0:p.call(r,d))}catch(i){return console.warn("Unhandled Error in logout: refine always expects a resolved promise.",i),Promise.reject(i)}},n=async d=>{var p;try{let i=await((p=r.check)==null?void 0:p.call(r,d));return Promise.resolve(i)}catch(i){return console.warn("Unhandled Error in check: refine always expects a resolved promise.",i),Promise.reject(i)}},u=async d=>{var p;try{let i=await((p=r.forgotPassword)==null?void 0:p.call(r,d));return Promise.resolve(i)}catch(i){return console.warn("Unhandled Error in forgotPassword: refine always expects a resolved promise.",i),Promise.reject(i)}},c=async d=>{var p;try{let i=await((p=r.updatePassword)==null?void 0:p.call(r,d));return Promise.resolve(i)}catch(i){return console.warn("Unhandled Error in updatePassword: refine always expects a resolved promise.",i),Promise.reject(i)}};return mt.createElement(to.Provider,{value:{...r,login:s,logout:a,check:n,register:o,forgotPassword:u,updatePassword:c,isProvided:t}},e)},ee=()=>mt.useContext(qr),ne=()=>mt.useContext(to);import{useQuery as oo}from"@tanstack/react-query";function Vs({v3LegacyAuthProviderCompatible:e=!1,options:t}={}){let{getPermissions:r}=ee(),{getPermissions:s}=ne(),o=oo(["usePermissions"],s??(()=>Promise.resolve(void 0)),{enabled:!e&&!!s,...e?{}:t}),a=oo(["usePermissions","v3LegacyAuthProviderCompatible"],r??(()=>Promise.resolve(void 0)),{enabled:e&&!!r,...e?t:{}});return e?a:o}import{useQuery as so}from"@tanstack/react-query";function cr({v3LegacyAuthProviderCompatible:e=!1,queryOptions:t}={}){let{getUserIdentity:r}=ee(),{getIdentity:s}=ne(),o=so(["getUserIdentity"],s??(()=>Promise.resolve({})),{enabled:!e&&!!s,retry:!1,...e===!0?{}:t}),a=so(["getUserIdentity","v3LegacyAuthProviderCompatible"],r??(()=>Promise.resolve({})),{enabled:e&&!!r,retry:!1,...e?t:{}});return e?a:o}import{useMutation as no}from"@tanstack/react-query";import{useQueryClient as Bs}from"@tanstack/react-query";var ft=()=>{let e=Bs();return async()=>{await Promise.all([e.invalidateQueries(["useAuthenticated"]),e.invalidateQueries(["getUserIdentity"]),e.invalidateQueries(["usePermissions"])])}};function Ht({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=ft(),s=z(),o=ie(),{push:a}=ae(),{open:n,close:u}=Ce(),{logout:c}=ee(),{logout:d}=ne(),p=no(["useLogout"],d,{onSuccess:async(f,R)=>{let{success:v,error:g,redirectTo:x}=f,{redirectPath:b}=R??{},w=b??x;v&&(u==null||u("useLogout-error")),(g||!v)&&(n==null||n(pr(g))),await r(),w!==!1&&(s==="legacy"?a(w??"/login"):w&&o({to:w}))},onError:f=>{n==null||n(pr(f))},...e===!0?{}:t}),i=no(["useLogout","v3LegacyAuthProviderCompatible"],c,{onSuccess:async(f,R)=>{let v=(R==null?void 0:R.redirectPath)??f;if(await r(),v!==!1){if(v){s==="legacy"?a(v):o({to:v});return}s==="legacy"?a("/login"):o({to:"/login"})}},onError:f=>{n==null||n(pr(f))},...e?t:{}});return e?i:p}var pr=e=>({key:"useLogout-error",type:"error",message:(e==null?void 0:e.name)||"Logout Error",description:(e==null?void 0:e.message)||"Something went wrong during logout"});import Ns from"react";import{useMutation as ao}from"@tanstack/react-query";import Hs from"qs";function ht({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=ft(),s=z(),o=ie(),{replace:a}=ae(),n=ce(),{useLocation:u}=te(),{search:c}=u(),{close:d,open:p}=Ce(),{login:i}=ee(),{login:f}=ne(),R=Ns.useMemo(()=>{var x;return s==="legacy"?Hs.parse(c,{ignoreQueryPrefix:!0}).to:(x=n.params)==null?void 0:x.to},[s,n.params,c]),v=ao(["useLogin"],f,{onSuccess:async({success:x,redirectTo:b,error:w})=>{x&&(d==null||d("login-error")),(w||!x)&&(p==null||p(dr(w))),await r(),R&&x?s==="legacy"?a(R):o({to:R,type:"replace"}):b?s==="legacy"?a(b):o({to:b,type:"replace"}):s==="legacy"&&a("/")},onError:x=>{p==null||p(dr(x))},...e===!0?{}:t}),g=ao(["useLogin","v3LegacyAuthProviderCompatible"],i,{onSuccess:async x=>{await r(),R&&a(R),x!==!1&&!R&&(typeof x=="string"?s==="legacy"?a(x):o({to:x,type:"replace"}):s==="legacy"?a("/"):o({to:"/",type:"replace"})),d==null||d("login-error")},onError:x=>{p==null||p(dr(x))},...e?t:{}});return e?g:v}var dr=e=>({message:(e==null?void 0:e.name)||"Login Error",description:(e==null?void 0:e.message)||"Invalid credentials",key:"login-error",type:"error"});import{useMutation as io}from"@tanstack/react-query";function mr({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=ft(),s=z(),o=ie(),{replace:a}=ae(),{register:n}=ee(),{register:u}=ne(),{close:c,open:d}=Ce(),p=io(["useRegister"],u,{onSuccess:async({success:f,redirectTo:R,error:v})=>{f&&(c==null||c("register-error")),(v||!f)&&(d==null||d(lr(v))),await r(),R?s==="legacy"?a(R):o({to:R,type:"replace"}):s==="legacy"&&a("/")},onError:f=>{d==null||d(lr(f))},...e===!0?{}:t}),i=io(["useRegister","v3LegacyAuthProviderCompatible"],n,{onSuccess:async f=>{await r(),f!==!1&&(f?s==="legacy"?a(f):o({to:f,type:"replace"}):s==="legacy"?a("/"):o({to:"/",type:"replace"}),c==null||c("register-error"))},onError:f=>{d==null||d(lr(f))},...e?t:{}});return e?i:p}var lr=e=>({message:(e==null?void 0:e.name)||"Register Error",description:(e==null?void 0:e.message)||"Error while registering",key:"register-error",type:"error"});import{useMutation as uo}from"@tanstack/react-query";function yr({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=z(),s=ie(),{replace:o}=ae(),{forgotPassword:a}=ee(),{forgotPassword:n}=ne(),{close:u,open:c}=Ce(),d=uo(["useForgotPassword"],n,{onSuccess:({success:i,redirectTo:f,error:R})=>{i&&(u==null||u("forgot-password-error")),(R||!i)&&(c==null||c(fr(R))),f&&(r==="legacy"?o(f):s({to:f,type:"replace"}))},onError:i=>{c==null||c(fr(i))},...e===!0?{}:t}),p=uo(["useForgotPassword","v3LegacyAuthProviderCompatible"],a,{onSuccess:i=>{i!==!1&&i&&(r==="legacy"?o(i):s({to:i,type:"replace"})),u==null||u("forgot-password-error")},onError:i=>{c==null||c(fr(i))},...e?t:{}});return e?p:d}var fr=e=>({message:(e==null?void 0:e.name)||"Forgot Password Error",description:(e==null?void 0:e.message)||"Error while resetting password",key:"forgot-password-error",type:"error"});import Os from"react";import{useMutation as co}from"@tanstack/react-query";import $s from"qs";function Tr({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=z(),s=ie(),{replace:o}=ae(),{updatePassword:a}=ee(),{updatePassword:n}=ne(),{close:u,open:c}=Ce(),d=ce(),{useLocation:p}=te(),{search:i}=p(),f=Os.useMemo(()=>r==="legacy"?$s.parse(i,{ignoreQueryPrefix:!0})??{}:d.params??{},[i,d,r]),R=co(["useUpdatePassword"],async g=>n==null?void 0:n({...f,...g}),{onSuccess:({success:g,redirectTo:x,error:b})=>{g&&(u==null||u("update-password-error")),(b||!g)&&(c==null||c(gr(b))),x&&(r==="legacy"?o(x):s({to:x,type:"replace"}))},onError:g=>{c==null||c(gr(g))},...e===!0?{}:t}),v=co(["useUpdatePassword","v3LegacyAuthProviderCompatible"],async g=>a==null?void 0:a({...f,...g}),{onSuccess:g=>{g!==!1&&g&&(r==="legacy"?o(g):s({to:g,type:"replace"})),u==null||u("update-password-error")},onError:g=>{c==null||c(gr(g))},...e?t:{}});return e?v:R}var gr=e=>({message:(e==null?void 0:e.name)||"Update Password Error",description:(e==null?void 0:e.message)||"Error while updating password",key:"update-password-error",type:"error"});import{useQuery as po}from"@tanstack/react-query";function Ot({v3LegacyAuthProviderCompatible:e=!1,params:t}={}){let{checkAuth:r}=ee(),{check:s}=ne(),o=po(["useAuthenticated",t],async()=>await(s==null?void 0:s(t))??{},{retry:!1,enabled:!e}),a=po(["useAuthenticated",t,"v3LegacyAuthProviderCompatible"],async()=>await(r==null?void 0:r(t))??{},{retry:!1,enabled:e});return e?a:o}var Gs=Ot;import{useMutation as lo}from"@tanstack/react-query";function re({v3LegacyAuthProviderCompatible:e=!1}={}){let t=z(),r=ie(),{replace:s}=ae(),{checkError:o}=ee(),{onError:a}=ne(),{mutate:n}=Ht({v3LegacyAuthProviderCompatible:!!e}),{mutate:u}=Ht({v3LegacyAuthProviderCompatible:!!e}),c=lo(["useCheckError"],a,{onSuccess:({logout:p,redirectTo:i})=>{if(p){u({redirectPath:i});return}if(i){t==="legacy"?s(i):r({to:i,type:"replace"});return}}}),d=lo(["useCheckError","v3LegacyAuthProviderCompatible"],o,{onError:p=>{n({redirectPath:p})}});return e?d:c}var Ws=re;var Rr=()=>{let{isProvided:e}=ee(),{isProvided:t}=ne();return!!(t||e)};import{useQuery as on}from"@tanstack/react-query";var vt=e=>e/1e3;import Ks from"lodash/zip";import zs from"lodash/fromPairs";var $t=(e,t=r=>r)=>{let[r,...s]=e;return s.map(o=>zs(Ks(r,o))).map((o,a,n)=>t.call(void 0,o,a,n))};import To from"pluralize";import Pr from"qs";import mo from"lodash/unionWith";import fo from"lodash/differenceWith";import _s from"warn-once";var Gt=e=>{let{current:t,pageSize:r,sorter:s,sorters:o,filters:a}=Pr.parse(e.substring(1));return{parsedCurrent:t&&Number(t),parsedPageSize:r&&Number(r),parsedSorter:I(o,s)??[],parsedFilters:a??[]}},js=e=>{let t=Pr.stringify(e);return Gt(`/${t}`)},Wt=e=>{let t={skipNulls:!0,arrayFormat:"indices",encode:!1},{pagination:r,sorter:s,sorters:o,filters:a,...n}=e;return Pr.stringify({...n,...r||{},sorters:I(o,s),filters:a},t)},yo=(e,t)=>e.operator!=="and"&&e.operator!=="or"&&t.operator!=="and"&&t.operator!=="or"?("field"in e?e.field:void 0)==("field"in t?t.field:void 0)&&e.operator==t.operator:("key"in e?e.key:void 0)==("key"in t?t.key:void 0)&&e.operator==t.operator,go=(e,t)=>e.field==t.field,yt=(e,t,r=[])=>(t.filter(o=>(o.operator==="or"||o.operator==="and")&&!o.key).length>1&&_s(!0,`[conditionalFilters]: You have created multiple Conditional Filters at the top level, this requires the key parameter.
|
|
2
|
+
For more information, see https://refine.dev/docs/advanced-tutorials/data-provider/handling-filters/#top-level-multiple-conditional-filters-usage`),mo(e,t,r,yo).filter(o=>o.value!==void 0&&o.value!==null&&(o.operator!=="or"||o.operator==="or"&&o.value.length!==0)&&(o.operator!=="and"||o.operator==="and"&&o.value.length!==0))),Kt=(e,t)=>mo(e,t,go).filter(r=>r.order!==void 0&&r.order!==null),zt=(e,t)=>[...fo(t,e,yo),...e],_t=(e,t)=>[...fo(t,e,go),...e],Zs=(e,t)=>{if(!t)return;let r=t.find(s=>s.field===e);if(r)return r.order},Ys=(e,t,r="eq")=>{let s=t==null?void 0:t.find(o=>{if(o.operator!=="or"&&o.operator!=="and"&&"field"in o){let{operator:a,field:n}=o;return n===e&&a===r}});if(s)return s.value||[]};var Js=e=>new Promise((t,r)=>{let s=new FileReader,o=()=>{s.result&&(s.removeEventListener("load",o,!1),t(s.result))};s.addEventListener("load",o,!1),s.readAsDataURL(e.originFileObj),s.onerror=a=>(s.removeEventListener("load",o,!1),r(a))});var Ze=(e="",t)=>{let r=rt(e);return t==="singular"?To.singular(r):To.plural(r)};var Ro=(e={})=>e!=null&&e.id?{...e,id:decodeURIComponent(e.id)}:e;var I=(...e)=>e.find(t=>typeof t<"u");var q=(e,t,r,s)=>{let o=t||"default",a={all:[o],resourceAll:[o,e||""],list:n=>[...a.resourceAll,"list",{...n,...I(r,s)||{}}],many:n=>[...a.resourceAll,"getMany",n&&n.map(String),{...I(r,s)||{}}].filter(u=>u!==void 0),detail:n=>[...a.resourceAll,"detail",n==null?void 0:n.toString(),{...I(r,s)||{}}],logList:n=>["logList",e,n,s].filter(u=>u!==void 0)};return a};var xr=(e,t)=>!e||!t?!1:!!e.find(r=>r===t);var ot=e=>e.startsWith(":");var Be=e=>e.split("/").filter(r=>r!=="");var Cr=(e,t)=>{let r=Be(e),s=Be(t);return r.length===s.length};var Te=e=>e.replace(/^\/|\/$/g,"");var br=(e,t)=>{let r=Te(e),s=Te(t);if(!Cr(r,s))return!1;let o=Be(r);return Be(s).every((n,u)=>ot(n)||n===o[u])};var hr=(e,t,r)=>{let s=Te(r||""),o=`${s}${s?"/":""}${e}`;return t==="list"?o=`${o}`:t==="create"?o=`${o}/create`:t==="edit"?o=`${o}/edit/:id`:t==="show"?o=`${o}/show/:id`:t==="clone"&&(o=`${o}/clone/:id`),`/${o.replace(/^\//,"")}`};var he=(e,t)=>{var o,a;let r=I((o=e.meta)==null?void 0:o.parent,(a=e.options)==null?void 0:a.parent,e.parentName);return r?t.find(n=>(n.identifier??n.name)===r)??{name:r}:void 0};var Dt=(e,t,r)=>{let s=[],o=he(e,t);for(;o;)s.push(o),o=he(o,t);if(s.length!==0)return`/${s.reverse().map(a=>{var u;let n=r?((u=a.options)==null?void 0:u.route)??a.name:a.name;return Te(n)}).join("/")}`};var me=(e,t,r)=>{let s=[],o=["list","show","edit","create","clone"],a=Dt(e,t,r);return o.forEach(n=>{var d,p;let u=r&&n==="clone"?e.create:e[n],c;typeof u=="function"||r?c=hr(r?((d=e.meta)==null?void 0:d.route)??((p=e.options)==null?void 0:p.route)??e.name:e.name,n,r?a:void 0):typeof u=="string"?c=u:typeof u=="object"&&(c=u.path),c&&s.push({action:n,resource:e,route:`/${c.replace(/^\//,"")}`})}),s};var Po=e=>{var o;if(e.length===0)return;if(e.length===1)return e[0];let t=e.map(a=>({...a,splitted:Be(Te(a.route))})),r=((o=t[0])==null?void 0:o.splitted.length)??0,s=[...t];for(let a=0;a<r;a++){let n=s.filter(u=>!ot(u.splitted[a]));if(n.length!==0){if(n.length===1){s=n;break}s=n}}return s[0]};var vr=(e,t)=>{let s=t.flatMap(a=>me(a,t)).filter(a=>br(e,a.route)),o=Po(s);return{found:!!o,resource:o==null?void 0:o.resource,action:o==null?void 0:o.action,matchedRoute:o==null?void 0:o.route}};var jt=(e,t)=>{var o;let r,s=Dt(e,t,!0);if(s){let a=I(e.meta,e.options);r=`${s}/${(a==null?void 0:a.route)??e.name}`}else r=((o=e.options)==null?void 0:o.route)??e.name;return`/${r.replace(/^\//,"")}`};var xo=e=>{var n;let t=[],r={},s={},o,a;for(let u=0;u<e.length;u++){o=e[u];let c=o.route??((n=I(o==null?void 0:o.meta,o.options))==null?void 0:n.route)??"";r[c]=o,r[c].children=[],s[o.name]=o,s[o.name].children=[]}for(let u in r)r.hasOwnProperty(u)&&(a=r[u],a.parentName&&s[a.parentName]?s[a.parentName].children.push(a):t.push(a));return t};var rt=e=>(e=e.replace(/([a-z]{1})([A-Z]{1})/g,"$1-$2"),e=e.replace(/([A-Z]{1})([A-Z]{1})([a-z]{1})/g,"$1-$2$3"),e=e.toLowerCase().replace(/[_-]+/g," ").replace(/\s{2,}/g," ").trim(),e=e.charAt(0).toUpperCase()+e.slice(1),e);import Co from"react";import Xs from"react";var Dr=({children:e})=>Xs.createElement("div",null,e);var Qe={mutationMode:"pessimistic",syncWithLocation:!1,undoableTimeout:5e3,warnWhenUnsavedChanges:!1,liveMode:"off",redirect:{afterCreate:"list",afterClone:"list",afterEdit:"list"},overtime:{interval:1e3}},xe=Co.createContext({hasDashboard:!1,mutationMode:"pessimistic",warnWhenUnsavedChanges:!1,syncWithLocation:!1,undoableTimeout:5e3,Title:void 0,Sider:void 0,Header:void 0,Footer:void 0,Layout:Dr,OffLayoutArea:void 0,liveMode:"off",onLiveEvent:void 0,options:Qe}),bo=({hasDashboard:e,mutationMode:t,warnWhenUnsavedChanges:r,syncWithLocation:s,undoableTimeout:o,children:a,DashboardPage:n,Title:u,Layout:c=Dr,Header:d,Sider:p,Footer:i,OffLayoutArea:f,LoginPage:R=Lr,catchAll:v,liveMode:g="off",onLiveEvent:x,options:b})=>Co.createElement(xe.Provider,{value:{hasDashboard:e,mutationMode:t,warnWhenUnsavedChanges:r,syncWithLocation:s,Title:u,undoableTimeout:o,Layout:c,Header:d,Sider:p,Footer:i,OffLayoutArea:f,DashboardPage:n,LoginPage:R,catchAll:v,liveMode:g,onLiveEvent:x,options:b}},a);var Er=({options:e,disableTelemetry:t,liveMode:r,mutationMode:s,reactQueryClientConfig:o,reactQueryDevtoolConfig:a,syncWithLocation:n,undoableTimeout:u,warnWhenUnsavedChanges:c}={})=>{var f,R,v,g,x;let d={breadcrumb:e==null?void 0:e.breadcrumb,mutationMode:(e==null?void 0:e.mutationMode)??s??Qe.mutationMode,undoableTimeout:(e==null?void 0:e.undoableTimeout)??u??Qe.undoableTimeout,syncWithLocation:(e==null?void 0:e.syncWithLocation)??n??Qe.syncWithLocation,warnWhenUnsavedChanges:(e==null?void 0:e.warnWhenUnsavedChanges)??c??Qe.warnWhenUnsavedChanges,liveMode:(e==null?void 0:e.liveMode)??r??Qe.liveMode,redirect:{afterCreate:((f=e==null?void 0:e.redirect)==null?void 0:f.afterCreate)??Qe.redirect.afterCreate,afterClone:((R=e==null?void 0:e.redirect)==null?void 0:R.afterClone)??Qe.redirect.afterClone,afterEdit:((v=e==null?void 0:e.redirect)==null?void 0:v.afterEdit)??Qe.redirect.afterEdit},overtime:(e==null?void 0:e.overtime)??Qe.overtime},p=(e==null?void 0:e.disableTelemetry)??t??!1,i={clientConfig:((g=e==null?void 0:e.reactQuery)==null?void 0:g.clientConfig)??o??{},devtoolConfig:((x=e==null?void 0:e.reactQuery)==null?void 0:x.devtoolConfig)??a??{}};return{optionsWithDefaults:d,disableTelemetryWithDefault:p,reactQueryWithDefaults:i}};var Ur=({redirectFromProps:e,action:t,redirectOptions:r})=>{if(e||e===!1)return e;switch(t){case"clone":return r.afterClone;case"create":return r.afterCreate;case"edit":return r.afterEdit;default:return!1}};var Zt=async(e,t,r)=>{let s=[];for(let[o,a]of e.entries())try{let n=await a();s.push(t(n,o))}catch(n){s.push(r(n,o))}return s};var ue=(e,t=[],r=!1)=>{if(!e)return;if(r){let o=t.find(n=>Te(n.route??"")===Te(e));return o||t.find(n=>n.name===e)}let s=t.find(o=>o.identifier===e);return s||(s=t.find(o=>o.name===e)),s};var B=(e,t,r)=>{if(t)return t;let s=ue(e,r),o=I(s==null?void 0:s.meta,s==null?void 0:s.options);return o!=null&&o.dataProviderName?o.dataProviderName:"default"};var $e=async e=>({data:(await Promise.all(e)).map(t=>t.data)});var Yt=e=>{let{pagination:t,cursor:r}=e;if(r!=null&&r.next)return r.next;let s=(t==null?void 0:t.current)||1,o=(t==null?void 0:t.pageSize)||10,a=Math.ceil((e.total||0)/o);return s<a?Number(s)+1:void 0},Jt=e=>{let{pagination:t,cursor:r}=e;if(r!=null&&r.prev)return r.prev;let s=(t==null?void 0:t.current)||1;return s===1?void 0:s-1};var Xt=e=>{let t=[];return e.forEach(r=>{var s,o;t.push({...r,label:((s=r.meta)==null?void 0:s.label)??((o=r.options)==null?void 0:o.label),route:jt(r,e),canCreate:!!r.create,canEdit:!!r.edit,canShow:!!r.show,canDelete:r.canDelete})}),t};var ho=e=>Be(Te(e)).flatMap(r=>ot(r)?[r.slice(1)]:[]);var vo=(e,t={})=>e.reduce((r,s)=>{let o=t[s];return typeof o<"u"&&(r[s]=o),r},{});var Re=(e,t={},r={},s={})=>{let o=ho(e),a=vo(o,{...t,...typeof(r==null?void 0:r.id)<"u"?{id:r.id}:{},...typeof(r==null?void 0:r.action)<"u"?{action:r.action}:{},...typeof(r==null?void 0:r.resource)<"u"?{resource:r.resource}:{},...r==null?void 0:r.params,...s});return e.replace(/:([^\/]+)/g,(n,u)=>{let c=a[u];return typeof c<"u"?`${c}`:n})};var G=()=>{let e=ee(),t=ne();return t.isProvided?{isLegacy:!1,...t}:e.isProvided?{isLegacy:!0,...e,check:e.checkAuth,onError:e.checkError,getIdentity:e.getUserIdentity}:null};var Lt=({hasPagination:e,pagination:t,configPagination:r}={})=>{let s=e===!1?"off":"server",o=(t==null?void 0:t.mode)??s,a=I(t==null?void 0:t.current,r==null?void 0:r.current)??1,n=I(t==null?void 0:t.pageSize,r==null?void 0:r.pageSize)??10;return{current:a,pageSize:n,mode:o}};import{useState as qs,useEffect as en}from"react";var qt=e=>{let[t,r]=qs(!1);return en(()=>{let s=window.matchMedia(e);s.matches!==t&&r(s.matches);let o=()=>r(s.matches);return window.addEventListener("resize",o),()=>window.removeEventListener("resize",o)},[t,e]),t};import tn from"lodash/capitalize";function Do(e,t,r,s){var p;let o={create:"Create new ",clone:`#${s??""} Clone `,edit:`#${s??""} Edit `,show:`#${s??""} Show `,list:""},a=(t==null?void 0:t.identifier)??(t==null?void 0:t.name),n=(t==null?void 0:t.label)??((p=t==null?void 0:t.meta)==null?void 0:p.label)??tn(Ze(a,r==="list"?"plural":"singular")),u=e("documentTitle.default","refine"),c=e("documentTitle.suffix"," | refine"),d=u;return r&&a&&(d=e(`documentTitle.${a}.${r}`,{id:s},`${o[r]??""}${n}${c}`)),d}import{useEffect as Lo,useState as rn}from"react";var j=({isLoading:e,interval:t,onInterval:r})=>{let[s,o]=rn(void 0),{options:a}=st(),{overtime:n}=a,u=t??n.interval,c=r??(n==null?void 0:n.onInterval);return Lo(()=>{let d;return e&&(d=setInterval(()=>{o(p=>p===void 0?u:p+u)},u)),()=>{clearInterval(d),o(void 0)}},[e,u]),Lo(()=>{c&&s&&c(s)},[s]),{elapsedTime:s}};var Et=({resource:e,config:t,filters:r,hasPagination:s,pagination:o,sorters:a,queryOptions:n,successNotification:u,errorNotification:c,meta:d,metaData:p,liveMode:i,onLiveEvent:f,liveParams:R,dataProviderName:v,overtimeOptions:g})=>{let{resources:x,resource:b,identifier:w}=F(e),y=Y(),h=V(),l=G(),{mutate:m}=re({v3LegacyAuthProviderCompatible:!!(l!=null&&l.isLegacy)}),L=oe(),C=W(),P=B(w,v,x),T=I(d,p),E=I(r,t==null?void 0:t.filters),D=I(a,t==null?void 0:t.sort),A=I(s,t==null?void 0:t.hasPagination),U=Lt({pagination:o,configPagination:t==null?void 0:t.pagination,hasPagination:A}),M=U.mode==="server",S=C({resource:b,meta:T}),Q={meta:S,metaData:S,filters:E,hasPagination:M,pagination:U,sorters:D,config:{...t,sort:D}},O=(n==null?void 0:n.enabled)===void 0||(n==null?void 0:n.enabled)===!0,$=q(w,P,T),{getList:H}=y(P);Ye({resource:w,types:["*"],params:{meta:S,metaData:S,pagination:U,hasPagination:M,sort:D,sorters:D,filters:E,subscriptionType:"useList",...R},channel:`resources/${b==null?void 0:b.name}`,enabled:O,liveMode:i,onLiveEvent:f});let Z=on($.list({filters:E,hasPagination:M,...M&&{pagination:U},...a&&{sorters:a},...(t==null?void 0:t.sort)&&{sort:t==null?void 0:t.sort}}),({queryKey:k,pageParam:N,signal:K})=>H({resource:(b==null?void 0:b.name)??"",pagination:U,hasPagination:M,filters:E,sort:D,sorters:D,meta:{...S,queryContext:{queryKey:k,pageParam:N,signal:K}},metaData:{...S,queryContext:{queryKey:k,pageParam:N,signal:K}}}),{...n,enabled:typeof(n==null?void 0:n.enabled)<"u"?n==null?void 0:n.enabled:!!(b!=null&&b.name),select:k=>{var ye;let N=k,{current:K,mode:X,pageSize:de}=U;return X==="client"&&(N={...N,data:N.data.slice((K-1)*de,K*de),total:N.total}),n!=null&&n.select?(ye=n==null?void 0:n.select)==null?void 0:ye.call(n,N):N},onSuccess:k=>{var K;(K=n==null?void 0:n.onSuccess)==null||K.call(n,k);let N=typeof u=="function"?u(k,Q,w):u;L(N)},onError:k=>{var K;m(k),(K=n==null?void 0:n.onError)==null||K.call(n,k);let N=typeof c=="function"?c(k,Q,w):c;L(N,{key:`${w}-useList-notification`,message:h("notifications.error",{statusCode:k.statusCode},`Error (status code: ${k.statusCode})`),description:k.message,type:"error"})}}),{elapsedTime:_}=j({isLoading:Z.isFetching,interval:g==null?void 0:g.interval,onInterval:g==null?void 0:g.onInterval});return{...Z,overtime:{elapsedTime:_}}};import{useQuery as sn}from"@tanstack/react-query";var Ut=({resource:e,id:t,queryOptions:r,successNotification:s,errorNotification:o,meta:a,metaData:n,liveMode:u,onLiveEvent:c,liveParams:d,dataProviderName:p,overtimeOptions:i})=>{let{resources:f,resource:R,identifier:v}=F(e),g=Y(),x=V(),b=G(),{mutate:w}=re({v3LegacyAuthProviderCompatible:!!(b!=null&&b.isLegacy)}),y=oe(),h=W(),l=I(a,n),m=B(v,p,f),L=q(v,m,l),{getOne:C}=g(m),P=h({resource:R,meta:l});Ye({resource:v,types:["*"],channel:`resources/${R==null?void 0:R.name}`,params:{ids:t?[t]:[],id:t,meta:P,metaData:P,subscriptionType:"useOne",...d},enabled:typeof(r==null?void 0:r.enabled)<"u"?r==null?void 0:r.enabled:typeof(R==null?void 0:R.name)<"u"&&typeof t<"u",liveMode:u,onLiveEvent:c});let T=sn(L.detail(t),({queryKey:D,pageParam:A,signal:U})=>C({resource:(R==null?void 0:R.name)??"",id:t,meta:{...P,queryContext:{queryKey:D,pageParam:A,signal:U}},metaData:{...P,queryContext:{queryKey:D,pageParam:A,signal:U}}}),{...r,enabled:typeof(r==null?void 0:r.enabled)<"u"?r==null?void 0:r.enabled:typeof t<"u",onSuccess:D=>{var U;(U=r==null?void 0:r.onSuccess)==null||U.call(r,D);let A=typeof s=="function"?s(D,{id:t,...P},v):s;y(A)},onError:D=>{var U;w(D),(U=r==null?void 0:r.onError)==null||U.call(r,D);let A=typeof o=="function"?o(D,{id:t,...P},v):o;y(A,{key:`${t}-${v}-getOne-notification`,message:x("notifications.error",{statusCode:D.statusCode},`Error (status code: ${D.statusCode})`),description:D.message,type:"error"})}}),{elapsedTime:E}=j({isLoading:T.isFetching,interval:i==null?void 0:i.interval,onInterval:i==null?void 0:i.onInterval});return{...T,overtime:{elapsedTime:E}}};import{useQuery as nn}from"@tanstack/react-query";var Mr=({resource:e,ids:t,queryOptions:r,successNotification:s,errorNotification:o,meta:a,metaData:n,liveMode:u,onLiveEvent:c,liveParams:d,dataProviderName:p,overtimeOptions:i})=>{let{resources:f,resource:R,identifier:v}=F(e),g=Y(),x=V(),b=G(),{mutate:w}=re({v3LegacyAuthProviderCompatible:!!(b!=null&&b.isLegacy)}),y=oe(),h=W(),l=I(a,n),m=B(v,p,f),L=(r==null?void 0:r.enabled)===void 0||(r==null?void 0:r.enabled)===!0,C=q(v,m,l),{getMany:P,getOne:T}=g(m),E=h({resource:R,meta:l});Ye({resource:v,types:["*"],params:{ids:t,meta:E,metaData:E,subscriptionType:"useMany",...d},channel:`resources/${R.name}`,enabled:L,liveMode:u,onLiveEvent:c});let D=nn(C.many(t),({queryKey:U,pageParam:M,signal:S})=>P?P({resource:R==null?void 0:R.name,ids:t,meta:{...E,queryContext:{queryKey:U,pageParam:M,signal:S}},metaData:{...E,queryContext:{queryKey:U,pageParam:M,signal:S}}}):$e(t.map(Q=>T({resource:R==null?void 0:R.name,id:Q,meta:{...E,queryContext:{queryKey:U,pageParam:M,signal:S}},metaData:{...E,queryContext:{queryKey:U,pageParam:M,signal:S}}}))),{...r,onSuccess:U=>{var S;(S=r==null?void 0:r.onSuccess)==null||S.call(r,U);let M=typeof s=="function"?s(U,t,v):s;y(M)},onError:U=>{var S;w(U),(S=r==null?void 0:r.onError)==null||S.call(r,U);let M=typeof o=="function"?o(U,t,v):o;y(M,{key:`${t[0]}-${v}-getMany-notification`,message:x("notifications.error",{statusCode:U.statusCode},`Error (status code: ${U.statusCode})`),description:U.message,type:"error"})}}),{elapsedTime:A}=j({isLoading:D.isFetching,interval:i==null?void 0:i.interval,onInterval:i==null?void 0:i.onInterval});return{...D,overtime:{elapsedTime:A}}};import{useMutation as pn,useQueryClient as dn}from"@tanstack/react-query";import wr,{useReducer as an}from"react";import Ir from"lodash-es/isEqual";var er=wr.createContext({notifications:[],notificationDispatch:()=>!1}),un=[],cn=(e,t)=>{switch(t.type){case"ADD":return[...e.filter(s=>!(Ir(s.id,t.payload.id)&&s.resource==t.payload.resource)),{...t.payload,isRunning:!0}];case"REMOVE":return e.filter(s=>!(Ir(s.id,t.payload.id)&&s.resource==t.payload.resource));case"DECREASE_NOTIFICATION_SECOND":return e.map(s=>Ir(s.id,t.payload.id)&&s.resource==t.payload.resource?{...s,seconds:t.payload.seconds-1e3}:s);default:return e}},Sr=({children:e})=>{let[t,r]=an(cn,un),s={notifications:t,notificationDispatch:r};return wr.createElement(er.Provider,{value:s},e,typeof window<"u"&&t.map(o=>wr.createElement(Eo,{key:`${o.id}-${o.resource}-queue`,notification:o})))};import Uo from"pluralize";var Ar=({mutationOptions:e,overtimeOptions:t}={})=>{let{resources:r,select:s}=F(),o=dn(),a=Y(),{mutationMode:n,undoableTimeout:u}=Fe(),c=V(),d=G(),{mutate:p}=re({v3LegacyAuthProviderCompatible:!!(d!=null&&d.isLegacy)}),i=Me(),{log:f}=Ie(),{notificationDispatch:R}=Ne(),v=oe(),g=we(),x=W(),b=pn(({id:y,values:h,resource:l,mutationMode:m,undoableTimeout:L,onCancel:C,meta:P,metaData:T,dataProviderName:E})=>{let{resource:D,identifier:A}=s(l),U=x({resource:D,meta:I(P,T)}),M=m??n,S=L??u;return M!=="undoable"?a(B(A,E,r)).update({resource:D.name,id:y,variables:h,meta:U,metaData:U}):new Promise((O,$)=>{let H=()=>{a(B(A,E,r)).update({resource:D.name,id:y,variables:h,meta:U,metaData:U}).then(_=>O(_)).catch(_=>$(_))},Z=()=>{$({message:"mutationCancelled"})};C&&C(Z),R({type:"ADD",payload:{id:y,resource:A,cancelMutation:Z,doMutation:H,seconds:S,isSilent:!!C}})})},{onMutate:async({resource:y,id:h,mutationMode:l,values:m,dataProviderName:L,meta:C,metaData:P})=>{let{identifier:T}=s(y),E=I(C,P),D=q(T,B(T,L,r),E),A=o.getQueriesData(D.resourceAll),U=l??n;return await o.cancelQueries(D.resourceAll,void 0,{silent:!0}),U!=="pessimistic"&&(o.setQueriesData(D.list(),M=>{if(!M)return null;let S=M.data.map(Q=>{var O;return((O=Q.id)==null?void 0:O.toString())===(h==null?void 0:h.toString())?{id:h,...Q,...m}:Q});return{...M,data:S}}),o.setQueriesData(D.many(),M=>{if(!M)return null;let S=M.data.map(Q=>{var O;return((O=Q.id)==null?void 0:O.toString())===(h==null?void 0:h.toString())&&(Q={id:h,...Q,...m}),Q});return{...M,data:S}}),o.setQueriesData(D.detail(h),M=>M?{...M,data:{...M.data,...m}}:null)),{previousQueries:A,queryKey:D}},onSettled:(y,h,{id:l,resource:m,dataProviderName:L,invalidates:C=["list","many","detail"]})=>{let{identifier:P}=s(m);g({resource:P,dataProviderName:B(P,L,r),invalidates:C,id:l}),R({type:"REMOVE",payload:{id:l,resource:P}})},onSuccess:(y,{id:h,resource:l,successNotification:m,dataProviderName:L,values:C,meta:P,metaData:T},E)=>{var Z;let{resource:D,identifier:A}=s(l),U=Uo.singular(A),M=typeof m=="function"?m(y,{id:h,values:C},A):m;v(M,{key:`${h}-${A}-notification`,description:c("notifications.success","Successful"),message:c("notifications.editSuccess",{resource:c(`${A}.${A}`,U)},`Successfully updated ${U}`),type:"success"}),i==null||i({channel:`resources/${D.name}`,type:"updated",payload:{ids:(Z=y.data)!=null&&Z.id?[y.data.id]:void 0},date:new Date});let S;if(E){let _=o.getQueryData(E.queryKey.detail(h));S=Object.keys(C||{}).reduce((k,N)=>{var K;return k[N]=(K=_==null?void 0:_.data)==null?void 0:K[N],k},{})}let{fields:Q,operation:O,variables:$,...H}=I(P,T)||{};f==null||f.mutate({action:"update",resource:D.name,data:C,previousData:S,meta:{id:h,dataProviderName:B(A,L,r),...H}})},onError:(y,{id:h,resource:l,errorNotification:m,values:L},C)=>{let{identifier:P}=s(l);if(C)for(let T of C.previousQueries)o.setQueryData(T[0],T[1]);if(y.message!=="mutationCancelled"){p==null||p(y);let T=Uo.singular(P),E=typeof m=="function"?m(y,{id:h,values:L},P):m;v(E,{key:`${h}-${P}-notification`,message:c("notifications.editError",{resource:c(`${P}.${P}`,T),statusCode:y.statusCode},`Error when updating ${T} (status code: ${y.statusCode})`),description:y.message,type:"error"})}},...e}),{elapsedTime:w}=j({isLoading:b.isLoading,interval:t==null?void 0:t.interval,onInterval:t==null?void 0:t.onInterval});return{...b,overtime:{elapsedTime:w}}};import{useMutation as ln}from"@tanstack/react-query";import Mo from"pluralize";var Mt=({mutationOptions:e,overtimeOptions:t}={})=>{let r=G(),{mutate:s}=re({v3LegacyAuthProviderCompatible:!!(r!=null&&r.isLegacy)}),o=Y(),a=we(),{resources:n,select:u}=F(),c=V(),d=Me(),{log:p}=Ie(),i=oe(),f=W(),R=ln(({resource:g,values:x,meta:b,metaData:w,dataProviderName:y})=>{let{resource:h,identifier:l}=u(g),m=f({resource:h,meta:I(b,w)});return o(B(l,y,n)).create({resource:h.name,variables:x,meta:m,metaData:m})},{onSuccess:(g,{resource:x,successNotification:b,dataProviderName:w,invalidates:y=["list","many"],values:h,meta:l,metaData:m})=>{var S,Q;let{resource:L,identifier:C}=u(x),P=Mo.singular(C),T=typeof b=="function"?b(g,h,C):b;i(T,{key:`create-${C}-notification`,message:c("notifications.createSuccess",{resource:c(`${C}.${C}`,P)},`Successfully created ${P}`),description:c("notifications.success","Success"),type:"success"}),a({resource:C,dataProviderName:B(C,w,n),invalidates:y}),d==null||d({channel:`resources/${L.name}`,type:"created",payload:{ids:(S=g==null?void 0:g.data)!=null&&S.id?[g.data.id]:void 0},date:new Date});let E=f({resource:L,meta:I(l,m)}),{fields:D,operation:A,variables:U,...M}=E||{};p==null||p.mutate({action:"create",resource:L.name,data:h,meta:{dataProviderName:B(C,w,n),id:((Q=g==null?void 0:g.data)==null?void 0:Q.id)??void 0,...M}})},onError:(g,{resource:x,errorNotification:b,values:w})=>{s(g);let{identifier:y}=u(x),h=Mo.singular(y),l=typeof b=="function"?b(g,w,y):b;i(l,{key:`create-${y}-notification`,description:g.message,message:c("notifications.createError",{resource:c(`${y}.${y}`,h),statusCode:g.statusCode},`There was an error creating ${h} (status code: ${g.statusCode})`),type:"error"})},...e}),{elapsedTime:v}=j({isLoading:R.isLoading,interval:t==null?void 0:t.interval,onInterval:t==null?void 0:t.onInterval});return{...R,overtime:{elapsedTime:v}}};import{useQueryClient as mn,useMutation as fn}from"@tanstack/react-query";import Io from"pluralize";var yn=({mutationOptions:e,overtimeOptions:t}={})=>{let r=G(),{mutate:s}=re({v3LegacyAuthProviderCompatible:!!(r!=null&&r.isLegacy)}),o=Y(),{resources:a,select:n}=F(),u=mn(),{mutationMode:c,undoableTimeout:d}=Fe(),{notificationDispatch:p}=Ne(),i=V(),f=Me(),{log:R}=Ie(),v=oe(),g=we(),x=W(),b=fn(({id:y,mutationMode:h,undoableTimeout:l,resource:m,onCancel:L,meta:C,metaData:P,dataProviderName:T,values:E})=>{let{resource:D,identifier:A}=n(m),U=x({resource:D,meta:I(C,P)}),M=h??c,S=l??d;return M!=="undoable"?o(B(A,T,a)).deleteOne({resource:D.name,id:y,meta:U,metaData:U,variables:E}):new Promise((O,$)=>{let H=()=>{o(B(A,T,a)).deleteOne({resource:D.name,id:y,meta:U,metaData:U,variables:E}).then(_=>O(_)).catch(_=>$(_))},Z=()=>{$({message:"mutationCancelled"})};L&&L(Z),p({type:"ADD",payload:{id:y,resource:A,cancelMutation:Z,doMutation:H,seconds:S,isSilent:!!L}})})},{onMutate:async({id:y,resource:h,mutationMode:l,dataProviderName:m,meta:L,metaData:C})=>{let{identifier:P}=n(h),T=I(L,C),E=q(P,B(P,m,a),T),D=l??c;await u.cancelQueries(E.resourceAll,void 0,{silent:!0});let A=u.getQueriesData(E.resourceAll);return D!=="pessimistic"&&(u.setQueriesData(E.list(),U=>U?{data:U.data.filter(S=>{var Q;return((Q=S.id)==null?void 0:Q.toString())!==y.toString()}),total:U.total-1}:null),u.setQueriesData(E.many(),U=>{if(!U)return null;let M=U.data.filter(S=>{var Q;return((Q=S.id)==null?void 0:Q.toString())!==(y==null?void 0:y.toString())});return{...U,data:M}})),{previousQueries:A,queryKey:E}},onSettled:(y,h,{id:l,resource:m,dataProviderName:L,invalidates:C=["list","many"]})=>{let{identifier:P}=n(m);g({resource:P,dataProviderName:B(P,L,a),invalidates:C}),p({type:"REMOVE",payload:{id:l,resource:P}})},onSuccess:(y,{id:h,resource:l,successNotification:m,dataProviderName:L,meta:C,metaData:P},T)=>{let{resource:E,identifier:D}=n(l),A=Io.singular(D);u.removeQueries(T==null?void 0:T.queryKey.detail(h));let U=typeof m=="function"?m(y,h,D):m;v(U,{key:`${h}-${D}-notification`,description:i("notifications.success","Success"),message:i("notifications.deleteSuccess",{resource:i(`${D}.${D}`,A)},`Successfully deleted a ${A}`),type:"success"}),f==null||f({channel:`resources/${E.name}`,type:"deleted",payload:{ids:[h]},date:new Date});let M=x({resource:E,meta:I(C,P)}),{fields:S,operation:Q,variables:O,...$}=M||{};R==null||R.mutate({action:"delete",resource:E.name,meta:{id:h,dataProviderName:B(D,L,a),...$}}),u.removeQueries(T==null?void 0:T.queryKey.detail(h))},onError:(y,{id:h,resource:l,errorNotification:m},L)=>{let{identifier:C}=n(l);if(L)for(let P of L.previousQueries)u.setQueryData(P[0],P[1]);if(y.message!=="mutationCancelled"){s(y);let P=Io.singular(C),T=typeof m=="function"?m(y,h,C):m;v(T,{key:`${h}-${C}-notification`,message:i("notifications.deleteError",{resource:P,statusCode:y.statusCode},`Error (status code: ${y.statusCode})`),description:y.message,type:"error"})}},...e}),{elapsedTime:w}=j({isLoading:b.isLoading,interval:t==null?void 0:t.interval,onInterval:t==null?void 0:t.onInterval});return{...b,overtime:{elapsedTime:w}}};import{useMutation as gn}from"@tanstack/react-query";import Tn from"pluralize";var Qr=({mutationOptions:e,overtimeOptions:t}={})=>{let r=Y(),{resources:s,select:o}=F(),a=V(),n=Me(),u=oe(),c=we(),{log:d}=Ie(),p=W(),i=gn(({resource:R,values:v,meta:g,metaData:x,dataProviderName:b})=>{let{resource:w,identifier:y}=o(R),h=p({resource:w,meta:I(g,x)}),l=r(B(y,b,s));return l.createMany?l.createMany({resource:w.name,variables:v,meta:h,metaData:h}):$e(v.map(m=>l.create({resource:w.name,variables:m,meta:h,metaData:h})))},{onSuccess:(R,{resource:v,successNotification:g,dataProviderName:x,invalidates:b=["list","many"],values:w,meta:y,metaData:h})=>{let{resource:l,identifier:m}=o(v),L=Tn.plural(m),C=typeof g=="function"?g(R,w,m):g;u(C,{key:`createMany-${m}-notification`,message:a("notifications.createSuccess",{resource:a(`${m}.${m}`,m)},`Successfully created ${L}`),description:a("notifications.success","Success"),type:"success"}),c({resource:m,dataProviderName:B(m,x,s),invalidates:b});let P=R==null?void 0:R.data.filter(M=>(M==null?void 0:M.id)!==void 0).map(M=>M.id);n==null||n({channel:`resources/${l.name}`,type:"created",payload:{ids:P},date:new Date});let T=p({resource:l,meta:I(y,h)}),{fields:E,operation:D,variables:A,...U}=T||{};d==null||d.mutate({action:"createMany",resource:l.name,data:w,meta:{dataProviderName:B(m,x,s),ids:P,...U}})},onError:(R,{resource:v,errorNotification:g,values:x})=>{let{identifier:b}=o(v),w=typeof g=="function"?g(R,x,b):g;u(w,{key:`createMany-${b}-notification`,description:R.message,message:a("notifications.createError",{resource:a(`${b}.${b}`,b),statusCode:R.statusCode},`There was an error creating ${b} (status code: ${R.statusCode}`),type:"error"})},...e}),{elapsedTime:f}=j({isLoading:i.isLoading,interval:t==null?void 0:t.interval,onInterval:t==null?void 0:t.onInterval});return{...i,overtime:{elapsedTime:f}}};import{useMutation as Rn,useQueryClient as Pn}from"@tanstack/react-query";import wo from"pluralize";var xn=({mutationOptions:e,overtimeOptions:t}={})=>{let{resources:r,select:s}=F(),o=Pn(),a=Y(),n=V(),{mutationMode:u,undoableTimeout:c}=Fe(),d=G(),{mutate:p}=re({v3LegacyAuthProviderCompatible:!!(d!=null&&d.isLegacy)}),{notificationDispatch:i}=Ne(),f=Me(),R=oe(),v=we(),{log:g}=Ie(),x=W(),b=Rn(({ids:y,values:h,resource:l,onCancel:m,mutationMode:L,undoableTimeout:C,meta:P,metaData:T,dataProviderName:E})=>{let{resource:D,identifier:A}=s(l),U=x({resource:D,meta:I(P,T)}),M=L??u,S=C??c,Q=a(B(A,E,r)),O=()=>Q.updateMany?Q.updateMany({resource:D.name,ids:y,variables:h,meta:U,metaData:U}):$e(y.map(H=>Q.update({resource:D.name,id:H,variables:h,meta:U,metaData:U})));return M!=="undoable"?O():new Promise((H,Z)=>{let _=()=>{O().then(N=>H(N)).catch(N=>Z(N))},k=()=>{Z({message:"mutationCancelled"})};m&&m(k),i({type:"ADD",payload:{id:y,resource:A,cancelMutation:k,doMutation:_,seconds:S,isSilent:!!m}})})},{onMutate:async({resource:y,ids:h,values:l,mutationMode:m,dataProviderName:L,meta:C,metaData:P})=>{let{identifier:T}=s(y),E=q(T,B(T,L,r),I(C,P)),D=m??u;await o.cancelQueries(E.resourceAll,void 0,{silent:!0});let A=o.getQueriesData(E.resourceAll);if(D!=="pessimistic"){o.setQueriesData(E.list(),U=>{if(!U)return null;let M=U.data.map(S=>S.id!==void 0&&h.filter(Q=>Q!==void 0).map(String).includes(S.id.toString())?{...S,...l}:S);return{...U,data:M}}),o.setQueriesData(E.many(),U=>{if(!U)return null;let M=U.data.map(S=>S.id!==void 0&&h.filter(Q=>Q!==void 0).map(String).includes(S.id.toString())?{...S,...l}:S);return{...U,data:M}});for(let U of h)o.setQueriesData(E.detail(U),M=>{if(!M)return null;let S={...M.data,...l};return{...M,data:S}})}return{previousQueries:A,queryKey:E}},onSettled:(y,h,{ids:l,resource:m,dataProviderName:L})=>{let{identifier:C}=s(m);v({resource:C,invalidates:["list","many"],dataProviderName:B(C,L,r)}),l.forEach(P=>v({resource:C,invalidates:["detail"],dataProviderName:B(C,L,r),id:P})),i({type:"REMOVE",payload:{id:l,resource:C}})},onSuccess:(y,{ids:h,resource:l,meta:m,metaData:L,dataProviderName:C,successNotification:P,values:T},E)=>{let{resource:D,identifier:A}=s(l),U=wo.singular(A),M=typeof P=="function"?P(y,{ids:h,values:T},A):P;R(M,{key:`${h}-${A}-notification`,description:n("notifications.success","Successful"),message:n("notifications.editSuccess",{resource:n(`${A}.${A}`,A)},`Successfully updated ${U}`),type:"success"}),f==null||f({channel:`resources/${D.name}`,type:"updated",payload:{ids:h.map(String)},date:new Date});let S=[];E&&h.forEach(_=>{let k=o.getQueryData(E.queryKey.detail(_));S.push(Object.keys(T||{}).reduce((N,K)=>{var X;return N[K]=(X=k==null?void 0:k.data)==null?void 0:X[K],N},{}))});let Q=x({resource:D,meta:I(m,L)}),{fields:O,operation:$,variables:H,...Z}=Q||{};g==null||g.mutate({action:"updateMany",resource:D.name,data:T,previousData:S,meta:{ids:h,dataProviderName:B(A,C,r),...Z}})},onError:(y,{ids:h,resource:l,errorNotification:m,values:L},C)=>{let{identifier:P}=s(l);if(C)for(let T of C.previousQueries)o.setQueryData(T[0],T[1]);if(y.message!=="mutationCancelled"){p==null||p(y);let T=wo.singular(P),E=typeof m=="function"?m(y,{ids:h,values:L},P):m;R(E,{key:`${h}-${P}-updateMany-error-notification`,message:n("notifications.editError",{resource:T,statusCode:y.statusCode},`Error when updating ${T} (status code: ${y.statusCode})`),description:y.message,type:"error"})}},...e}),{elapsedTime:w}=j({isLoading:b.isLoading,interval:t==null?void 0:t.interval,onInterval:t==null?void 0:t.onInterval});return{...b,overtime:{elapsedTime:w}}};import{useQueryClient as Cn,useMutation as bn}from"@tanstack/react-query";import hn from"pluralize";var vn=({mutationOptions:e,overtimeOptions:t}={})=>{let r=G(),{mutate:s}=re({v3LegacyAuthProviderCompatible:!!(r!=null&&r.isLegacy)}),{mutationMode:o,undoableTimeout:a}=Fe(),n=Y(),{notificationDispatch:u}=Ne(),c=V(),d=Me(),p=oe(),i=we(),{log:f}=Ie(),{resources:R,select:v}=F(),g=Cn(),x=W(),b=bn(({resource:y,ids:h,mutationMode:l,undoableTimeout:m,onCancel:L,meta:C,metaData:P,dataProviderName:T,values:E})=>{let{resource:D,identifier:A}=v(y),U=x({resource:D,meta:I(C,P)}),M=l??o,S=m??a,Q=n(B(A,T,R)),O=()=>Q.deleteMany?Q.deleteMany({resource:D.name,ids:h,meta:U,metaData:U,variables:E}):$e(h.map(H=>Q.deleteOne({resource:D.name,id:H,meta:U,metaData:U,variables:E})));return M!=="undoable"?O():new Promise((H,Z)=>{let _=()=>{O().then(N=>H(N)).catch(N=>Z(N))},k=()=>{Z({message:"mutationCancelled"})};L&&L(k),u({type:"ADD",payload:{id:h,resource:A,cancelMutation:k,doMutation:_,seconds:S,isSilent:!!L}})})},{onMutate:async({ids:y,resource:h,mutationMode:l,dataProviderName:m,meta:L,metaData:C})=>{let{identifier:P}=v(h),T=I(L,C),E=q(P,B(P,m,R),T),D=l??o;await g.cancelQueries(E.resourceAll,void 0,{silent:!0});let A=g.getQueriesData(E.resourceAll);if(D!=="pessimistic"){g.setQueriesData(E.list(),U=>U?{data:U.data.filter(S=>S.id&&!y.map(String).includes(S.id.toString())),total:U.total-1}:null),g.setQueriesData(E.many(),U=>{if(!U)return null;let M=U.data.filter(S=>S.id?!y.map(String).includes(S.id.toString()):!1);return{...U,data:M}});for(let U of y)g.setQueriesData(E.detail(U),M=>!M||M.data.id==U?null:{...M})}return{previousQueries:A,queryKey:E}},onSettled:(y,h,{resource:l,ids:m,dataProviderName:L,invalidates:C=["list","many"]})=>{let{identifier:P}=v(l);i({resource:P,dataProviderName:B(P,L,R),invalidates:C}),u({type:"REMOVE",payload:{id:m,resource:P}})},onSuccess:(y,{ids:h,resource:l,meta:m,metaData:L,dataProviderName:C,successNotification:P},T)=>{let{resource:E,identifier:D}=v(l);h.forEach($=>g.removeQueries(T==null?void 0:T.queryKey.detail($)));let A=typeof P=="function"?P(y,h,D):P;p(A,{key:`${h}-${D}-notification`,description:c("notifications.success","Success"),message:c("notifications.deleteSuccess",{resource:c(`${D}.${D}`,D)},`Successfully deleted ${D}`),type:"success"}),d==null||d({channel:`resources/${E.name}`,type:"deleted",payload:{ids:h},date:new Date});let U=x({resource:E,meta:I(m,L)}),{fields:M,operation:S,variables:Q,...O}=U||{};f==null||f.mutate({action:"deleteMany",resource:E.name,meta:{ids:h,dataProviderName:B(D,C,R),...O}}),h.forEach($=>g.removeQueries(T==null?void 0:T.queryKey.detail($)))},onError:(y,{ids:h,resource:l,errorNotification:m},L)=>{let{identifier:C}=v(l);if(L)for(let P of L.previousQueries)g.setQueryData(P[0],P[1]);if(y.message!=="mutationCancelled"){s(y);let P=hn.singular(C),T=typeof m=="function"?m(y,h,C):m;p(T,{key:`${h}-${C}-notification`,message:c("notifications.deleteError",{resource:P,statusCode:y.statusCode},`Error (status code: ${y.statusCode})`),description:y.message,type:"error"})}},...e}),{elapsedTime:w}=j({isLoading:b.isLoading,interval:t==null?void 0:t.interval,onInterval:t==null?void 0:t.onInterval});return{...b,overtime:{elapsedTime:w}}};var Dn=e=>{var o;let t=Y(),{resource:r}=F(),{getApiUrl:s}=t(e??((o=I(r==null?void 0:r.meta,r==null?void 0:r.options))==null?void 0:o.dataProviderName));return s()};import{useQuery as Ln}from"@tanstack/react-query";var En=({url:e,method:t,config:r,queryOptions:s,successNotification:o,errorNotification:a,meta:n,metaData:u,dataProviderName:c,overtimeOptions:d})=>{let p=Y(),i=G(),{mutate:f}=re({v3LegacyAuthProviderCompatible:!!(i!=null&&i.isLegacy)}),R=V(),v=oe(),g=W(),x=I(n,u),{custom:b}=p(c),w=g({meta:x});if(b){let y=Ln({queryKey:[c,"custom",t,e,{...r,...x||{}}],queryFn:({queryKey:l,pageParam:m,signal:L})=>b({url:e,method:t,...r,meta:{...w,queryContext:{queryKey:l,pageParam:m,signal:L}},metaData:{...w,queryContext:{queryKey:l,pageParam:m,signal:L}}}),...s,onSuccess:l=>{var L;(L=s==null?void 0:s.onSuccess)==null||L.call(s,l);let m=typeof o=="function"?o(l,{...r,...w}):o;v(m)},onError:l=>{var L;f(l),(L=s==null?void 0:s.onError)==null||L.call(s,l);let m=typeof a=="function"?a(l,{...r,...w}):a;v(m,{key:`${t}-notification`,message:R("notifications.error",{statusCode:l.statusCode},`Error (status code: ${l.statusCode})`),description:l.message,type:"error"})}}),{elapsedTime:h}=j({isLoading:y.isFetching,interval:d==null?void 0:d.interval,onInterval:d==null?void 0:d.onInterval});return{...y,overtime:{elapsedTime:h}}}else throw Error("Not implemented custom on data provider.")};import{useMutation as Un}from"@tanstack/react-query";var Mn=({mutationOptions:e,overtimeOptions:t}={})=>{let r=G(),{mutate:s}=re({v3LegacyAuthProviderCompatible:!!(r!=null&&r.isLegacy)}),o=oe(),a=Y(),n=V(),u=W(),c=Un(({url:p,method:i,values:f,meta:R,metaData:v,dataProviderName:g,config:x})=>{let b=u({meta:I(R,v)}),{custom:w}=a(g);if(w)return w({url:p,method:i,payload:f,meta:b,metaData:b,headers:{...x==null?void 0:x.headers}});throw Error("Not implemented custom on data provider.")},{onSuccess:(p,{successNotification:i,config:f,meta:R,metaData:v})=>{let g=typeof i=="function"?i(p,{...f,...I(R,v)||{}}):i;o(g)},onError:(p,{errorNotification:i,method:f,config:R,meta:v,metaData:g})=>{s(p);let x=typeof i=="function"?i(p,{...R,...I(v,g)||{}}):i;o(x,{key:`${f}-notification`,message:n("notifications.error",{statusCode:p.statusCode},`Error (status code: ${p.statusCode})`),description:p.message,type:"error"})},...e}),{elapsedTime:d}=j({isLoading:c.isLoading,interval:t==null?void 0:t.interval,onInterval:t==null?void 0:t.onInterval});return{...c,overtime:{elapsedTime:d}}};import{useCallback as wn,useContext as Sn}from"react";import So from"react";var In=()=>({default:{create:()=>Promise.resolve({data:{id:1}}),createMany:()=>Promise.resolve({data:[]}),deleteOne:()=>Promise.resolve({data:{id:1}}),deleteMany:()=>Promise.resolve({data:[]}),getList:()=>Promise.resolve({data:[],total:0}),getMany:()=>Promise.resolve({data:[]}),getOne:()=>Promise.resolve({data:{id:1}}),update:()=>Promise.resolve({data:{id:1}}),updateMany:()=>Promise.resolve({data:[]}),custom:()=>Promise.resolve({data:{}}),getApiUrl:()=>""}}),It=So.createContext(In()),Ao=({children:e,...t})=>{let r;return!t.getList||!t.getOne?r=t:r={default:t},So.createElement(It.Provider,{value:r},e)};var Y=()=>{let e=Sn(It);return wn(r=>{if(r){if(!e[r])throw new Error(`"${r}" Data provider not found`);return e[r]}if(e.default)return e.default;throw new Error('There is no "default" data provider. Please pass dataProviderName.')},[e])};import{useInfiniteQuery as An}from"@tanstack/react-query";var Qn=({resource:e,config:t,filters:r,hasPagination:s,pagination:o,sorters:a,queryOptions:n,successNotification:u,errorNotification:c,meta:d,metaData:p,liveMode:i,onLiveEvent:f,liveParams:R,dataProviderName:v,overtimeOptions:g})=>{let{resources:x,resource:b,identifier:w}=F(e),y=Y(),h=V(),l=G(),{mutate:m}=re({v3LegacyAuthProviderCompatible:!!(l!=null&&l.isLegacy)}),L=oe(),C=W(),P=B(w,v,x),T=I(d,p),E=I(r,t==null?void 0:t.filters),D=I(a,t==null?void 0:t.sort),A=I(s,t==null?void 0:t.hasPagination),U=Lt({pagination:o,configPagination:t==null?void 0:t.pagination,hasPagination:A}),M=U.mode==="server",S={meta:T,metaData:T,filters:E,hasPagination:M,pagination:U,sorters:D,config:{...t,sort:D}},Q=(n==null?void 0:n.enabled)===void 0||(n==null?void 0:n.enabled)===!0,O=q(w,P,T,T),$=C({resource:b,meta:T}),{getList:H}=y(P);Ye({resource:w,types:["*"],params:{meta:$,metaData:$,pagination:U,hasPagination:M,sort:D,sorters:D,filters:E,subscriptionType:"useList",...R},channel:`resources/${b.name}`,enabled:Q,liveMode:i,onLiveEvent:f});let Z=An(O.list({filters:E,hasPagination:M,...M&&{pagination:U},...a&&{sorters:a},...(t==null?void 0:t.sort)&&{sort:t==null?void 0:t.sort}}),({queryKey:k,pageParam:N,signal:K})=>{let X={...U,current:N};return H({resource:b.name,pagination:X,hasPagination:M,filters:E,sort:D,sorters:D,meta:{...$,queryContext:{queryKey:k,pageParam:N,signal:K}},metaData:{...$,queryContext:{queryKey:k,pageParam:N,signal:K}}}).then(({data:de,total:ye,...qe})=>({data:de,total:ye,pagination:X,...qe}))},{getNextPageParam:k=>Yt(k),getPreviousPageParam:k=>Jt(k),...n,onSuccess:k=>{var K;(K=n==null?void 0:n.onSuccess)==null||K.call(n,k);let N=typeof u=="function"?u(k,S,w):u;L(N)},onError:k=>{var K;m(k),(K=n==null?void 0:n.onError)==null||K.call(n,k);let N=typeof c=="function"?c(k,S,w):c;L(N,{key:`${w}-useInfiniteList-notification`,message:h("notifications.error",{statusCode:k.statusCode},`Error (status code: ${k.statusCode})`),description:k.message,type:"error"})}}),{elapsedTime:_}=j({isLoading:Z.isFetching,interval:g==null?void 0:g.interval,onInterval:g==null?void 0:g.onInterval});return{...Z,overtime:{elapsedTime:_}}};import{useContext as Ko,useEffect as zn}from"react";import{useQueryClient as _n}from"@tanstack/react-query";import Qo from"react";var Ge=Qo.createContext(void 0),Fo=({liveProvider:e,children:t})=>Qo.createElement(Ge.Provider,{value:e},t);import{useContext as Gn}from"react";import Vo from"react";import{useMemo as Vn}from"react";import{useRef as Fn}from"react";import kn from"lodash-es/isEqual";var ko=e=>{let t=Fn(e);return kn(t.current,e)||(t.current=e),t.current};var tr=(e,t)=>{let r=ko(t);return Vn(e,r)};var Je=Vo.createContext({resources:[]}),Bo=({resources:e,children:t})=>{let r=tr(()=>Xt(e??[]),[e]);return Vo.createElement(Je.Provider,{value:{resources:r}},t)};import No from"react";var Ho=No.createContext("new"),Oo=Ho.Provider,z=()=>No.useContext(Ho);import $n from"react";import Bn,{createContext as Nn}from"react";var $o={},We=Nn($o),Go=({children:e,router:t})=>Bn.createElement(We.Provider,{value:t??$o},e);import Hn,{useContext as On}from"react";var Fr=()=>{let e=On(We);return Hn.useMemo(()=>(e==null?void 0:e.parse)??(()=>()=>({})),[e==null?void 0:e.parse])()};var ce=()=>{let e=Fr();return $n.useMemo(()=>e(),[e])};function F(e){let{resources:t}=Gn(Je),r=z(),s=ce(),o={resourceName:e&&typeof e!="string"?e.resourceName:e,resourceNameOrRouteName:e&&typeof e!="string"?e.resourceNameOrRouteName:e,recordItemId:e&&typeof e!="string"?e.recordItemId:void 0},a=(i,f=!0)=>{let v=ue(i,t,r==="legacy");if(v)return{resource:v,identifier:v.identifier??v.name};if(f){let g={name:i,identifier:i},x=g.identifier??g.name;return{resource:g,identifier:x}}},n=Wo(),{useParams:u}=te(),c=u();if(r==="legacy"){let i=o.resourceNameOrRouteName?o.resourceNameOrRouteName:c.resource,f=i?n(i):void 0,R=(o==null?void 0:o.recordItemId)??c.id,v=c.action,g=(o==null?void 0:o.resourceName)??(f==null?void 0:f.name),x=(f==null?void 0:f.identifier)??(f==null?void 0:f.name);return{resources:t,resource:f,resourceName:g,id:R,action:v,select:a,identifier:x}}let d,p=typeof e=="string"?e:o==null?void 0:o.resourceNameOrRouteName;if(p){let i=ue(p,t);i?d=i:d={name:p}}else s!=null&&s.resource&&(d=s.resource);return{resources:t,resource:d,resourceName:d==null?void 0:d.name,id:s.id,action:s.action,select:a,identifier:(d==null?void 0:d.identifier)??(d==null?void 0:d.name)}}import{useContext as Wn,useCallback as Kn}from"react";var Wo=()=>{let{resources:e}=Wn(Je);return Kn(r=>{let s=ue(r,e,!0);return s||{name:r,route:r}},[e])};var Ye=({resource:e,params:t,channel:r,types:s,enabled:o=!0,liveMode:a,onLiveEvent:n})=>{let u=_n(),{resource:c,identifier:d}=F(e),p=q(d),i=Ko(Ge),{liveMode:f,onLiveEvent:R}=Ko(xe),v=a??f;zn(()=>{let g;return v&&v!=="off"&&o&&(g=i==null?void 0:i.subscribe({channel:r,params:{resource:c==null?void 0:c.name,...t},types:s,callback:x=>{v==="auto"&&u.invalidateQueries(p.resourceAll),n==null||n(x),R==null||R(x)}})),()=>{g&&(i==null||i.unsubscribe(g))}},[o])};import{useContext as jn}from"react";var zo=e=>{let{liveMode:t}=jn(xe);return e??t};import{useContext as Zn,useEffect as Yn}from"react";var uy=({params:e,channel:t,types:r=["*"],enabled:s=!0,onLiveEvent:o})=>{let a=Zn(Ge);Yn(()=>{let n;return s&&(n=a==null?void 0:a.subscribe({channel:t,params:e,types:r,callback:o})),()=>{n&&(a==null||a.unsubscribe(n))}},[s])};import{useContext as Jn}from"react";var Me=()=>{let e=Jn(Ge);return e==null?void 0:e.publish};import{useContext as Xn}from"react";var Ne=()=>{let{notifications:e,notificationDispatch:t}=Xn(er);return{notifications:e,notificationDispatch:t}};import{useContext as ta}from"react";import qn,{createContext as ea}from"react";var wt=ea({}),_o=({open:e,close:t,children:r})=>qn.createElement(wt.Provider,{value:{open:e,close:t}},r);var Ce=()=>{let{open:e,close:t}=ta(wt);return{open:e,close:t}};import{useCallback as ra}from"react";var oe=()=>{let{open:e}=Ce();return ra((r,s)=>{r!==!1&&(r?e==null||e(r):s&&(e==null||e(s)))},[])};import{useCallback as oa,useContext as sa}from"react";import jo from"react";var Se=jo.createContext({}),Zo=({children:e,i18nProvider:t})=>jo.createElement(Se.Provider,{value:{i18nProvider:t}},e);var na=()=>{let{i18nProvider:e}=sa(Se);return oa(t=>e==null?void 0:e.changeLocale(t),[])};import{useContext as aa,useMemo as ia}from"react";var V=()=>{let{i18nProvider:e}=aa(Se);return ia(()=>{function r(s,o,a){return(e==null?void 0:e.translate(s,o,a))??a??(typeof o=="string"&&typeof a>"u"?o:s)}return r},[e])};import{useContext as ua,useCallback as ca}from"react";var pa=()=>{let{i18nProvider:e}=ua(Se);return ca(()=>e==null?void 0:e.getLocale(),[])};import{useContext as da}from"react";var Fe=()=>{let{mutationMode:e,undoableTimeout:t}=da(xe);return{mutationMode:e,undoableTimeout:t}};import{useContext as Xo}from"react";import Yo,{useState as la}from"react";var kr=Yo.createContext({}),Jo=({children:e})=>{let[t,r]=la(!1);return Yo.createElement(kr.Provider,{value:{warnWhen:t,setWarnWhen:r}},e)};var St=()=>{let{warnWhenUnsavedChanges:e}=Xo(xe),{warnWhen:t,setWarnWhen:r}=Xo(kr);return{warnWhenUnsavedChanges:e,warnWhen:!!t,setWarnWhen:r??(()=>{})}};import{useContext as ma}from"react";var Vr=()=>{let{syncWithLocation:e}=ma(xe);return{syncWithLocation:e}};import{useContext as fa}from"react";var ya=()=>{let{Title:e}=fa(xe);return e};import{useContext as ga}from"react";var st=()=>{let{Footer:e,Header:t,Layout:r,OffLayoutArea:s,Sider:o,Title:a,hasDashboard:n,mutationMode:u,syncWithLocation:c,undoableTimeout:d,warnWhenUnsavedChanges:p,DashboardPage:i,LoginPage:f,catchAll:R,options:v}=ga(xe);return{Footer:e,Header:t,Layout:r,OffLayoutArea:s,Sider:o,Title:a,hasDashboard:n,mutationMode:u,syncWithLocation:c,undoableTimeout:d,warnWhenUnsavedChanges:p,DashboardPage:i,LoginPage:f,catchAll:R,options:v}};import{useState as Ta}from"react";import{ExportToCsv as Ra}from"export-to-csv-fix-source-map";var vg=({resourceName:e,resource:t,sorter:r,sorters:s,filters:o,maxItemCount:a,pageSize:n=20,mapData:u=R=>R,exportOptions:c,meta:d,metaData:p,dataProviderName:i,onError:f}={})=>{let[R,v]=Ta(!1),g=Y(),x=W(),{resource:b,resources:w,identifier:y}=F(I(t,e)),h=`${Ze(y,"plural")}-${new Date().toLocaleString()}`,{getList:l}=g(B(y,i,w)),m=x({resource:b,meta:I(d,p)});return{isLoading:R,triggerExport:async()=>{v(!0);let C=[],P=1,T=!0;for(;T;)try{let{data:D,total:A}=await l({resource:(b==null?void 0:b.name)??"",filters:o,sort:I(s,r),sorters:I(s,r),pagination:{current:P,pageSize:n,mode:"server"},meta:m,metaData:m});P++,C.push(...D),a&&C.length>=a&&(C=C.slice(0,a),T=!1),A===C.length&&(T=!1)}catch(D){v(!1),T=!1,f==null||f(D);return}new Ra({filename:h,useKeysAsHeaders:!0,...c}).generateCsv(C.map(u)),v(!1)}}};import qo from"react";import Pa from"warn-once";var Vg=({resource:e,action:t,id:r,onMutationSuccess:s,onMutationError:o,redirect:a,successNotification:n,errorNotification:u,meta:c,metaData:d,queryMeta:p,mutationMeta:i,mutationMode:f,liveMode:R,onLiveEvent:v,liveParams:g,undoableTimeout:x,dataProviderName:b,invalidates:w,queryOptions:y,createMutationOptions:h,updateMutationOptions:l,overtimeOptions:m}={})=>{let{options:L}=st(),C=W(),{resource:P,id:T,action:E,identifier:D}=F(e),{identifier:A}=F(),M=(()=>{let ge=r??T;return e&&e!==A?r:ge})(),[S,Q]=qo.useState(M);qo.useEffect(()=>{Q(M)},[M]);let $=(()=>t||(E==="edit"||E==="clone"?E:"create"))(),H=C({resource:P,meta:I(c,d)}),{mutationMode:Z}=Fe(),_=f??Z,k=$==="create",N=$==="edit",K=$==="clone";Pa((K||N)&&!!e&&!r,`[useForm]: action: "${$}", resource: "${D}", id: ${S}
|
|
3
3
|
|
|
4
4
|
If you don't use the \`setId\` method to set the \`id\`, you should pass the \`id\` prop to \`useForm\`. Otherwise, \`useForm\` will not be able to infer the \`id\` from the current URL.
|
|
5
5
|
|
|
6
|
-
See https://refine.dev/docs/api-reference/core/hooks/useForm/#resource`);let
|
|
6
|
+
See https://refine.dev/docs/api-reference/core/hooks/useForm/#resource`);let X=Ur({redirectFromProps:a,action:$,redirectOptions:L.redirect}),ye=Ut({resource:D,id:S??"",queryOptions:{enabled:S!==void 0&&(N||K),...y},liveMode:R,onLiveEvent:v,liveParams:g,meta:{...H,...p},metaData:{...H,...p},dataProviderName:b}),{isFetching:qe}=ye,He=Mt({mutationOptions:h}),{mutate:ir,isLoading:ut}=He,et=Ar({mutationOptions:l}),{mutate:ct,isLoading:pt}=et,{setWarnWhen:dt}=St(),lt=es(),Ct=k||K?{formLoading:qe||ut,mutationResult:He,onFinish:async ge=>{dt(!1);let De=Ve=>{lt({redirect:X,resource:P,id:Ve,meta:I(c,d)})};return _!=="pessimistic"&&setTimeout(()=>{De()}),new Promise((Ve,Le)=>{if(_!=="pessimistic"&&Ve(),!!P)return ir({values:ge,resource:D??P.name,successNotification:n,errorNotification:u,meta:{...H,...i},metaData:{...H,...i},dataProviderName:b,invalidates:w},{onSuccess:(Ee,_e,je)=>{var Vt;s&&s(Ee,ge,je);let Oe=(Vt=Ee==null?void 0:Ee.data)==null?void 0:Vt.id;De(Oe),Ve(Ee)},onError:(Ee,_e,je)=>{if(o)return o(Ee,ge,je);Le()}})})}}:{formLoading:qe||pt,mutationResult:et,onFinish:async ge=>{if(dt(!1),!P)return;let De={id:S??"",values:ge,resource:D??P.name,mutationMode:_,undoableTimeout:x,successNotification:n,errorNotification:u,meta:{...H,...i},metaData:{...H,...i},dataProviderName:b,invalidates:w},Ve=()=>{lt({redirect:X,resource:P,id:S,meta:I(c,d)})};return _!=="pessimistic"&&setTimeout(()=>{Ve()}),new Promise((Le,Ee)=>(_!=="pessimistic"&&Le(),setTimeout(()=>{ct(De,{onSuccess:(_e,je,Oe)=>{s&&s(_e,ge,Oe),_==="pessimistic"&&Ve(),Le(_e)},onError:(_e,je,Oe)=>{if(o)return o(_e,ge,Oe);Ee()}})})))}},{elapsedTime:tt}=j({isLoading:Ct.mutationResult.isLoading||ye.isFetching,interval:m==null?void 0:m.interval,onInterval:m==null?void 0:m.onInterval});return{...Ct,queryResult:ye,id:S,setId:Q,redirect:(ge,De)=>{lt({redirect:ge!==void 0?ge:N?"list":"edit",resource:P,id:De??S,meta:I(c,d)})},overtime:{elapsedTime:tt}}};import{useCallback as xa}from"react";var es=()=>{let{show:e,edit:t,list:r,create:s}=ae();return xa(({redirect:a,resource:n,id:u,meta:c={}})=>{if(a&&n)return n.show&&a==="show"&&u?e(n,u,void 0,c):n.edit&&a==="edit"&&u?t(n,u,void 0,c):n.create&&a==="create"?s(n,void 0,c):r(n,"push",c)},[])};import Ca,{useContext as ba}from"react";var ie=()=>{let e=ba(We);return Ca.useMemo(()=>(e==null?void 0:e.go)??(()=>()=>{}),[e==null?void 0:e.go])()};import ha,{useContext as va}from"react";var Br=()=>{let e=va(We);return ha.useMemo(()=>(e==null?void 0:e.back)??(()=>()=>{}),[e==null?void 0:e.back])()};var ae=()=>{let{resources:e}=F(),t=z(),{useHistory:r}=te(),s=r(),o=ce(),a=ie(),n=Br(),u=(l,m="push")=>{t==="legacy"?s[m](l):a({to:l,type:m})},c=(l,m={})=>{var L;if(t==="legacy"){let C=typeof l=="string"?ue(l,e,!0)??{name:l,route:l}:l,P=me(C,e,!0).find(T=>T.action==="create");return P?Re(P.route,C==null?void 0:C.meta,o,m):""}else{let C=typeof l=="string"?ue(l,e)??{name:l}:l,P=(L=me(C,e).find(T=>T.action==="create"))==null?void 0:L.route;return P?a({to:Re(P,C==null?void 0:C.meta,o,m),type:"path"}):""}},d=(l,m,L={})=>{var P;let C=encodeURIComponent(m);if(t==="legacy"){let T=typeof l=="string"?ue(l,e,!0)??{name:l,route:l}:l,E=me(T,e,!0).find(D=>D.action==="edit");return E?Re(E.route,T==null?void 0:T.meta,o,{...L,id:C}):""}else{let T=typeof l=="string"?ue(l,e)??{name:l}:l,E=(P=me(T,e).find(D=>D.action==="edit"))==null?void 0:P.route;return E?a({to:Re(E,T==null?void 0:T.meta,o,{...L,id:C}),type:"path"}):""}},p=(l,m,L={})=>{var P;let C=encodeURIComponent(m);if(t==="legacy"){let T=typeof l=="string"?ue(l,e,!0)??{name:l,route:l}:l,E=me(T,e,!0).find(D=>D.action==="clone");return E?Re(E.route,T==null?void 0:T.meta,o,{...L,id:C}):""}else{let T=typeof l=="string"?ue(l,e)??{name:l}:l,E=(P=me(T,e).find(D=>D.action==="clone"))==null?void 0:P.route;return E?a({to:Re(E,T==null?void 0:T.meta,o,{...L,id:C}),type:"path"}):""}},i=(l,m,L={})=>{var P;let C=encodeURIComponent(m);if(t==="legacy"){let T=typeof l=="string"?ue(l,e,!0)??{name:l,route:l}:l,E=me(T,e,!0).find(D=>D.action==="show");return E?Re(E.route,T==null?void 0:T.meta,o,{...L,id:C}):""}else{let T=typeof l=="string"?ue(l,e)??{name:l}:l,E=(P=me(T,e).find(D=>D.action==="show"))==null?void 0:P.route;return E?a({to:Re(E,T==null?void 0:T.meta,o,{...L,id:C}),type:"path"}):""}},f=(l,m={})=>{var L;if(t==="legacy"){let C=typeof l=="string"?ue(l,e,!0)??{name:l,route:l}:l,P=me(C,e,!0).find(T=>T.action==="list");return P?Re(P.route,C==null?void 0:C.meta,o,m):""}else{let C=typeof l=="string"?ue(l,e)??{name:l}:l,P=(L=me(C,e).find(T=>T.action==="list"))==null?void 0:L.route;return P?a({to:Re(P,C==null?void 0:C.meta,o,m),type:"path"}):""}};return{create:(l,m="push",L={})=>{u(c(l,L),m)},createUrl:c,edit:(l,m,L="push",C={})=>{u(d(l,m,C),L)},editUrl:d,clone:(l,m,L="push",C={})=>{u(p(l,m,C),L)},cloneUrl:p,show:(l,m,L="push",C={})=>{u(i(l,m,C),L)},showUrl:i,list:(l,m="push",L={})=>{u(f(l,L),m)},listUrl:f,push:(l,...m)=>{t==="legacy"?s.push(l,...m):a({to:l,type:"push"})},replace:(l,...m)=>{t==="legacy"?s.replace(l,...m):a({to:l,type:"replace"})},goBack:()=>{t==="legacy"?s.goBack():n()}}};import Da,{useState as La}from"react";import Ea from"warn-once";var mT=({resource:e,id:t,successNotification:r,errorNotification:s,meta:o,metaData:a,liveMode:n,onLiveEvent:u,dataProviderName:c,queryOptions:d,overtimeOptions:p}={})=>{let{resource:i,id:f,identifier:R}=F(e),{identifier:v}=F(),g=W(),b=(()=>{let L=t??f;return e&&e!==v?t:L})(),[w,y]=La(b);Da.useEffect(()=>{y(b)},[b]);let h=g({resource:i,meta:I(o,a)});Ea(!!e&&!t,`[useShow]: resource: "${R}", id: ${t}
|
|
7
7
|
|
|
8
8
|
If you don't use the \`setShowId\` method to set the \`showId\`, you should pass the \`id\` prop to \`useShow\`. Otherwise, \`useShow\` will not be able to infer the \`id\` from the current URL.
|
|
9
9
|
|
|
10
|
-
See https://refine.dev/docs/api-reference/core/hooks/show/useShow/#resource`),{queryResult:At({resource:T==null?void 0:T.name,id:E??"",queryOptions:{enabled:E!==void 0,...m},successNotification:r,errorNotification:s,meta:R,metaData:R,liveMode:n,onLiveEvent:c,dataProviderName:p}),showId:E,setShowId:l}};import{useEffect as ba,useState as Gr}from"react";import{parse as va}from"papaparse";import Da from"lodash-es/chunk";var Ag=({resourceName:e,resource:t,mapData:r=d=>d,paparseOptions:s,batchSize:o=Number.MAX_SAFE_INTEGER,onFinish:a,meta:n,metaData:c,onProgress:p,dataProviderName:m}={})=>{let[d,u]=Gr(0),[g,x]=Gr(0),[v,M]=Gr(!1),{resource:i}=S(t??e),f=Nr(),y=St(),P;o===1?P=y:P=f;let E=()=>{x(0),u(0),M(!1)},l=T=>{let b={succeeded:T.filter(R=>R.type==="success"),errored:T.filter(R=>R.type==="error")};a==null||a(b),M(!1)};ba(()=>{p==null||p({totalAmount:g,processedAmount:d})},[g,d]);let C=({file:T})=>(E(),new Promise(b=>{M(!0),va(T,{complete:async({data:R})=>{let h=_t(R,r);if(x(h.length),o===1){let D=h.map(I=>async()=>({response:await y.mutateAsync({resource:(i==null?void 0:i.name)??"",values:I,successNotification:!1,errorNotification:!1,dataProviderName:m,meta:L(n,c),metaData:L(n,c)}),value:I})),U=await er(D,({response:I,value:A})=>(u(B=>B+1),{response:[I.data],type:"success",request:[A]}),(I,A)=>({response:[I],type:"error",request:[h[A]]}));b(U)}else{let D=Da(h,o),U=D.map(A=>async()=>({response:await f.mutateAsync({resource:(i==null?void 0:i.name)??"",values:A,successNotification:!1,errorNotification:!1,dataProviderName:m,meta:L(n,c),metaData:L(n,c)}),value:A,currentBatchLength:A.length})),I=await er(U,({response:A,currentBatchLength:B,value:$})=>(u(O=>O+B),{response:A.data,type:"success",request:$}),(A,B)=>({response:[A],type:"error",request:D[B]}));b(I)}},...s})}).then(b=>(l(b),b)));return{inputProps:{type:"file",accept:".csv",onChange:T=>{T.target.files&&T.target.files.length>0&&C({file:T.target.files[0]})}},mutationResult:P,isLoading:v,handleChange:C}};import{useCallback as ts,useState as Ea}from"react";var kg=({defaultVisible:e=!1}={})=>{let[t,r]=Ea(e),s=ts(()=>r(!0),[t]),o=ts(()=>r(!1),[t]);return{visible:t,show:s,close:o}};import Ma from"react";var Bt=()=>{let e=V(),{resource:t,resources:r}=S(),s=Z();return Ma.useCallback(({resource:a,action:n,meta:c})=>{var g;let p=a||t;if(!p)return;let d=(g=ce(p,r,e==="legacy").find(x=>x.action===n))==null?void 0:g.route;return d?le(d,p==null?void 0:p.meta,s,c):void 0},[r,t,s])};var La=({resource:e,action:t,meta:r,legacy:s})=>Bt()({resource:e,action:t,meta:r,legacy:s});import Ua,{useContext as Ia}from"react";var at=()=>{let e=Ia(Oe);return e!=null&&e.Link?e.Link:({to:r,...s})=>Ua.createElement("a",{href:r,...s})};import{useContext as Aa}from"react";import rs from"react";var $e={useHistory:()=>!1,useLocation:()=>!1,useParams:()=>({}),Prompt:()=>null,Link:()=>null},wa=rs.createContext($e),Nt=wa,os=({children:e,useHistory:t,useLocation:r,useParams:s,Prompt:o,Link:a,routes:n})=>rs.createElement(Nt.Provider,{value:{useHistory:t??$e.useHistory,useLocation:r??$e.useLocation,useParams:s??$e.useParams,Prompt:o??$e.Prompt,Link:a??$e.Link,routes:n??$e.routes}},e);var K=()=>{let e=Aa(Nt),{useHistory:t,useLocation:r,useParams:s,Prompt:o,Link:a,routes:n}=e??$e;return{useHistory:t,useLocation:r,useParams:s,Prompt:o,Link:a,routes:n}};import{useQuery as Sa}from"@tanstack/react-query";import{useContext as Qa}from"react";import ss from"react";var tt=ss.createContext({options:{buttons:{enableAccessControl:!0,hideIfUnauthorized:!1}}});var ns=({can:e,children:t,options:r})=>ss.createElement(tt.Provider,{value:{can:e,options:r?{...r,buttons:{enableAccessControl:!0,hideIfUnauthorized:!1,...r.buttons}}:{buttons:{enableAccessControl:!0,hideIfUnauthorized:!1}}}},t);var ir=e=>{let{icon:t,list:r,edit:s,create:o,show:a,clone:n,children:c,meta:p,options:m,...d}=e,{icon:u,...g}=p??{},{icon:x,...v}=m??{};return{...d,...p?{meta:g}:{},...m?{options:v}:{}}};var as=({action:e,resource:t,params:r,queryOptions:s})=>{let{can:o}=Qa(tt),{resource:a,...n}=r??{},c=ir(a??{}),p=Sa(["useCan",{action:e,resource:t,params:{...n,resource:c},enabled:s==null?void 0:s.enabled}],()=>(o==null?void 0:o({action:e,resource:t,params:n}))??Promise.resolve({can:!0}),{enabled:typeof o<"u",...s,retry:!1});return typeof o>"u"?{data:{can:!0}}:p};import{useContext as ka}from"react";var vT=()=>{let{can:e}=ka(tt);return{can:e}};import{useCallback as is,useMemo as Fa,useState as Kr}from"react";import Va from"lodash/uniqBy";import Ba from"lodash/debounce";import ur from"lodash/get";var VT=e=>{let[t,r]=Kr([]),[s,o]=Kr([]),[a,n]=Kr([]),{resource:c,sort:p,sorters:m,filters:d=[],optionLabel:u="title",optionValue:g="id",debounce:x=300,successNotification:v,errorNotification:M,defaultValueQueryOptions:i,queryOptions:f,fetchSize:y,pagination:P,hasPagination:E=!1,liveMode:l,defaultValue:C=[],onLiveEvent:T,onSearch:b,liveParams:R,meta:h,metaData:D,dataProviderName:U}=e,{resources:I}=S(),A=G(),B=W(c,I),$=(B==null?void 0:B.name)??c,O=A({resource:B,meta:L(h,D)}),J=Array.isArray(C)?C:[C],w=is(N=>{n(N.data.map(ne=>({label:ur(ne,u),value:ur(ne,g)})))},[u,g]),F=i??f,j=Qr({resource:$,ids:J,queryOptions:{...F,enabled:J.length>0&&((F==null?void 0:F.enabled)??!0),onSuccess:N=>{var ne;w(N),(ne=F==null?void 0:F.onSuccess)==null||ne.call(F,N)}},meta:O,metaData:O,liveMode:"off",dataProviderName:U}),xe=is(N=>{o(N.data.map(ne=>({label:ur(ne,u),value:ur(ne,g)})))},[u,g]),ye=wt({resource:$,sorters:L(m,p),filters:d.concat(t),pagination:{current:P==null?void 0:P.current,pageSize:(P==null?void 0:P.pageSize)??y,mode:P==null?void 0:P.mode},hasPagination:E,queryOptions:{...f,onSuccess:N=>{var ne;xe(N),(ne=f==null?void 0:f.onSuccess)==null||ne.call(f,N)}},successNotification:v,errorNotification:M,meta:O,metaData:O,liveMode:l,liveParams:R,onLiveEvent:T,dataProviderName:U}),Me=N=>{if(b){r(b(N));return}if(N)r([{field:u,operator:"contains",value:N}]);else{r([]);return}};return{queryResult:ye,defaultValueQueryResult:j,options:Fa(()=>Va([...s,...a],"value"),[s,a]),onSearch:Ba(Me,x)}};import Na,{useState as cr,useEffect as us}from"react";import cs from"qs";import pr from"lodash/differenceWith";import dr from"lodash/isEqual";import Ha from"warn-once";var ps=[],ds=[];function jT({initialCurrent:e,initialPageSize:t,hasPagination:r=!0,pagination:s,initialSorter:o,permanentSorter:a=ds,defaultSetFilterBehavior:n,initialFilter:c,permanentFilter:p=ps,filters:m,sorters:d,syncWithLocation:u,resource:g,successNotification:x,errorNotification:v,queryOptions:M,liveMode:i,onLiveEvent:f,liveParams:y,meta:P,metaData:E,dataProviderName:l}={}){var Ye,Dt,Xr,qr,eo;let{syncWithLocation:C}=$r(),T=u??C,b=Bo(i),R=V(),{useLocation:h}=K(),{search:D,pathname:U}=h(),I=G(),A=Z(),B=((m==null?void 0:m.mode)||"server")==="server",$=((d==null?void 0:d.mode)||"server")==="server",O=r===!1?"off":"server",J=((s==null?void 0:s.mode)??O)!=="off",w=L(s==null?void 0:s.current,e),F=L(s==null?void 0:s.pageSize,t),j=L(P,E),{parsedCurrent:xe,parsedPageSize:ye,parsedSorter:Me,parsedFilters:N}=jt(D??"?"),ne=L(m==null?void 0:m.initial,c),we=L(m==null?void 0:m.permanent,p)??ps,ke=L(d==null?void 0:d.initial,o),We=L(d==null?void 0:d.permanent,a)??ds,bt=L(m==null?void 0:m.defaultBehavior,n)??"merge",Ge,rt,ct,ot;T?(Ge=((Ye=A==null?void 0:A.params)==null?void 0:Ye.current)||xe||w||1,rt=((Dt=A==null?void 0:A.params)==null?void 0:Dt.pageSize)||ye||F||10,ct=((Xr=A==null?void 0:A.params)==null?void 0:Xr.sorters)||(Me.length?Me:ke),ot=((qr=A==null?void 0:A.params)==null?void 0:qr.filters)||(N.length?N:ne)):(Ge=w||1,rt=F||10,ct=ke,ot=ne);let{replace:pt}=oe(),vt=se(),{resource:dt}=S(g),Ot=I({resource:dt,meta:j}),lt=dt==null?void 0:dt.name;Na.useEffect(()=>{Ha(typeof lt>"u","useTable: `resource` is not defined.")},[lt]);let[Fe,$t]=cr(Xt(We,ct??[])),[Ke,ze]=cr(Jt(we,ot??[])),[mt,lr]=cr(Ge),[_e,mr]=cr(rt),Jr=({pagination:{current:ue,pageSize:Ce},sorter:Wt,filters:Gt})=>{if(R==="new")return vt({type:"path",options:{keepHash:!0,keepQuery:!0},query:{...J?{current:ue,pageSize:Ce}:{},sorters:Wt,filters:Gt,...ie()}})??"";{let Et=cs.parse(D==null?void 0:D.substring(1)),As=Zt({pagination:{pageSize:Ce,current:ue},sorters:Fe??Wt,filters:Gt,...Et});return`${U??""}?${As??""}`}};us(()=>{D===""&&(lr(Ge),mr(rt),$t(Xt(We,ct??[])),ze(Jt(we,ot??[])))},[D]);let ie=()=>{if(R==="new"){let{sorters:ue,filters:Ce,pageSize:Wt,current:Gt,...Et}=(A==null?void 0:A.params)??{};return Et}else{let{sorter:ue,filters:Ce,pageSize:Wt,current:Gt,...Et}=cs.parse(D,{ignoreQueryPrefix:!0});return Et}};us(()=>{if(T){let ue=ie();if(R==="new")vt({type:"replace",options:{keepQuery:!0},query:{...J?{pageSize:_e,current:mt}:{},sorters:pr(Fe,We,dr),filters:pr(Ke,we,dr)}});else{let Ce=Zt({...J?{pagination:{pageSize:_e,current:mt}}:{},sorters:pr(Fe,We,dr),filters:pr(Ke,we,dr),...ue});return pt==null?void 0:pt(`${U}?${Ce}`,void 0,{shallow:!0})}}},[T,mt,_e,Fe,Ke]);let Ve=wt({resource:lt,hasPagination:r,pagination:{current:mt,pageSize:_e,mode:s==null?void 0:s.mode},filters:B?Tt(we,Ke):void 0,sorters:$?Yt(We,Fe):void 0,queryOptions:M,successNotification:x,errorNotification:v,meta:Ot,metaData:Ot,liveMode:b,liveParams:y,onLiveEvent:f,dataProviderName:l}),Be=ue=>{ze(Ce=>Tt(we,ue,Ce))},ft=ue=>{ze(Tt(we,ue))},Le=ue=>{ze(Ce=>Tt(we,ue(Ce)))},je=(ue,Ce=bt)=>{typeof ue=="function"?Le(ue):Ce==="replace"?ft(ue):Be(ue)},Ze=ue=>{$t(()=>Yt(We,ue))};return{tableQueryResult:Ve,sorters:Fe,setSorters:Ze,sorter:Fe,setSorter:Ze,filters:Ke,setFilters:je,current:mt,setCurrent:lr,pageSize:_e,setPageSize:mr,pageCount:_e?Math.ceil((((eo=Ve.data)==null?void 0:eo.total)??0)/_e):1,createLinkForSyncWithLocation:Jr}}import{useContext as fs}from"react";import{useMutation as ys,useQueryClient as Oa}from"@tanstack/react-query";import ls from"react";var it=ls.createContext({}),ms=({create:e,get:t,update:r,children:s})=>ls.createElement(it.Provider,{value:{create:e,get:t,update:r}},s);var be=({logMutationOptions:e,renameMutationOptions:t}={})=>{let r=Oa(),s=fs(it),o=H(),{resources:a}=fs(qe),{data:n,refetch:c,isLoading:p}=fr({v3LegacyAuthProviderCompatible:!!(o!=null&&o.isLegacy),queryOptions:{enabled:!!s}}),m=ys(async u=>{var M,i,f,y,P;let g=W(u.resource,a),x=L((M=g==null?void 0:g.meta)==null?void 0:M.audit,(i=g==null?void 0:g.options)==null?void 0:i.audit,(y=(f=g==null?void 0:g.options)==null?void 0:f.auditLog)==null?void 0:y.permissions);if(x&&!Dr(x,u.action))return;let v;return p&&(v=await c()),await((P=s.create)==null?void 0:P.call(s,{...u,author:n??(v==null?void 0:v.data)}))},e),d=ys(async u=>{var g;return await((g=s.update)==null?void 0:g.call(s,u))},{onSuccess:u=>{if(u!=null&&u.resource){let g=Y(u==null?void 0:u.resource);r.invalidateQueries(g.logList())}},...t});return{log:m,rename:d}};import{useContext as $a}from"react";import{useQuery as Wa}from"@tanstack/react-query";var yR=({resource:e,action:t,meta:r,author:s,metaData:o,queryOptions:a})=>{let{get:n}=$a(it),c=Y(e,void 0,o);return Wa(c.logList(r),()=>(n==null?void 0:n({resource:e,action:t,author:s,meta:r,metaData:o}))??Promise.resolve([]),{enabled:typeof n<"u",...a,retry:!1})};import{useCallback as Ga}from"react";import{useQueryClient as Ka}from"@tanstack/react-query";var ve=()=>{let{resources:e}=S(),t=Ka();return Ga(({resource:s,dataProviderName:o,invalidates:a,id:n})=>{if(a===!1)return;let c=Y(s,Q(s,o,e));a.forEach(p=>{switch(p){case"all":t.invalidateQueries(c.all);break;case"list":t.invalidateQueries(c.list());break;case"many":t.invalidateQueries(c.many());break;case"resourceAll":t.invalidateQueries(c.resourceAll);break;case"detail":t.invalidateQueries(c.detail(n||""));break;default:break}})},[])};import{useContext as za}from"react";import _a from"warn-once";var FR=({meta:e={}}={})=>{let t=V(),{i18nProvider:r}=za(De),s=Z(),o=k(),{resources:a,resource:n,action:c}=S(),p=[];if(!(n!=null&&n.name))return{breadcrumbs:p};let m=d=>{var g,x,v,M,i,f;let u=typeof d=="string"?W(d,a,t==="legacy")??{name:d}:d;if(u){let y=L((g=u==null?void 0:u.meta)==null?void 0:g.parent,u==null?void 0:u.parentName);y&&m(y);let P=ce(u,a,t==="legacy").find(C=>C.action==="list"),E=(x=P==null?void 0:P.resource)!=null&&x.list?P==null?void 0:P.route:void 0,l=E?t==="legacy"?E:le(E,u==null?void 0:u.meta,s,e):void 0;p.push({label:L((v=u.meta)==null?void 0:v.label,(M=u.options)==null?void 0:M.label)??o(`${u.name}.${u.name}`,st(u.name)),href:l,icon:L((i=u.meta)==null?void 0:i.icon,(f=u.options)==null?void 0:f.icon,u.icon)})}};if(m(n),c&&c!=="list"){let d=`actions.${c}`,u=o(d);typeof r<"u"&&u===d?(_a(!0,`[useBreadcrumb]: Breadcrumb missing translate key for the "${c}" action. Please add "actions.${c}" key to your translation file.
|
|
11
|
-
For more information, see https://refine.dev/docs/api-reference/core/hooks/useBreadcrumb/#i18n-support`),p.push({label:o(`buttons.${c}`,st(c))})):p.push({label:o(d,st(c))})}return{breadcrumbs:p}};import zr from"react";var Pt=(e,t,r=!1)=>{let s=[],o=Re(e,t);for(;o;)s.push(o),o=Re(o,t);return s.reverse(),`/${[...s,e].map(n=>de((r?n.route:void 0)??n.identifier??n.name)).join("/").replace(/^\//,"")}`};var gs=(e,t=!1)=>{let r={item:{name:"__root__"},children:{}};e.forEach(o=>{let a=[],n=Re(o,e);for(;n;)a.push(n),n=Re(n,e);a.reverse();let c=r;a.forEach(m=>{let d=(t?m.route:void 0)??m.identifier??m.name;c.children[d]||(c.children[d]={item:m,children:{}}),c=c.children[d]});let p=(t?o.route:void 0)??o.identifier??o.name;c.children[p]||(c.children[p]={item:o,children:{}})});let s=o=>{let a=[];return Object.keys(o.children).forEach(n=>{let c=Pt(o.children[n].item,e,t),p={...o.children[n].item,key:c,children:s(o.children[n])};a.push(p)}),a};return s(r)};var Ts=e=>e.split("?")[0].split("#")[0].replace(/(.+)(\/$)/,"$1"),ja=({meta:e,hideOnMissingParameter:t}={hideOnMissingParameter:!0})=>{let r=k(),s=Bt(),o=V(),{resource:a,resources:n}=S(),{pathname:c}=Z(),{useLocation:p}=K(),{pathname:m}=p(),u=`/${((o==="legacy"?Ts(m):c?Ts(c):void 0)??"").replace(/^\//,"")}`,g=a?Pt(a,n,o==="legacy"):u??"",x=zr.useMemo(()=>{if(!a)return[];let i=Re(a,n),f=[Pt(a,n)];for(;i;)f.push(Pt(i,n)),i=Re(i,n);return f},[]),v=zr.useCallback(i=>{var y,P,E,l,C,T;if((((y=i==null?void 0:i.meta)==null?void 0:y.hide)??((P=i==null?void 0:i.options)==null?void 0:P.hide))||!(i!=null&&i.list)&&i.children.length===0)return;let f=i.list?s({resource:i,action:"list",legacy:o==="legacy",meta:e}):void 0;if(!(t&&f&&f.match(/(\/|^):(.+?)(\/|$){1}/)))return{...i,route:f,icon:L((E=i.meta)==null?void 0:E.icon,(l=i.options)==null?void 0:l.icon,i.icon),label:L((C=i==null?void 0:i.meta)==null?void 0:C.label,(T=i==null?void 0:i.options)==null?void 0:T.label)??r(`${i.name}.${i.name}`,Je(i.name,"plural"))}},[o,e,r,t]),M=zr.useMemo(()=>{let i=gs(n,o==="legacy"),f=y=>y.flatMap(P=>{let E=f(P.children),l=v({...P,children:E});return l?[l]:[]});return f(i)},[n,o,v]);return{defaultOpenKeys:x,selectedKey:g,menuItems:M}};var G=()=>{let{params:e}=Z();return({resource:r,meta:s}={})=>{let{meta:o}=ir(r??{}),{filters:a,sorters:n,current:c,pageSize:p,...m}=e??{};return{...o,...m,...s}}};var Ja=()=>{let[e,t]=Ya(),r=k(),{push:s}=oe(),o=se(),a=V(),{resource:n,action:c}=S();return Za(()=>{n&&c&&t(r("pages.error.info",{action:c,resource:n.name},`You may have forgotten to add the "${c}" component to "${n.name}" resource.`))},[n,c]),Ht.createElement(Ht.Fragment,null,Ht.createElement("h1",null,r("pages.error.404",void 0,"Sorry, the page you visited does not exist.")),e&&Ht.createElement("p",null,e),Ht.createElement("button",{onClick:()=>{a==="legacy"?s("/"):o({to:"/"})}},r("pages.error.backHome",void 0,"Back Home")))};import me,{useState as Rs}from"react";var wr=()=>{let[e,t]=Rs(""),[r,s]=Rs(""),o=k(),a=H(),{mutate:n}=Mt({v3LegacyAuthProviderCompatible:!!(a!=null&&a.isLegacy)});return me.createElement(me.Fragment,null,me.createElement("h1",null,o("pages.login.title","Sign in your account")),me.createElement("form",{onSubmit:c=>{c.preventDefault(),n({username:e,password:r})}},me.createElement("table",null,me.createElement("tbody",null,me.createElement("tr",null,me.createElement("td",null,o("pages.login.username",void 0,"username"),":"),me.createElement("td",null,me.createElement("input",{type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",autoFocus:!0,required:!0,value:e,onChange:c=>t(c.target.value)}))),me.createElement("tr",null,me.createElement("td",null,o("pages.login.password",void 0,"password"),":"),me.createElement("td",null,me.createElement("input",{type:"password",required:!0,size:20,value:r,onChange:c=>s(c.target.value)}))))),me.createElement("br",null),me.createElement("input",{type:"submit",value:"login"})))};import xt from"react";import ae,{useState as _r}from"react";var Ps=({providers:e,registerLink:t,forgotPasswordLink:r,rememberMe:s,contentProps:o,wrapperProps:a,renderContent:n,formProps:c,title:p=void 0})=>{let m=V(),d=at(),{Link:u}=K(),g=m==="legacy"?u:d,[x,v]=_r(""),[M,i]=_r(""),[f,y]=_r(!1),P=k(),E=H(),{mutate:l}=Mt({v3LegacyAuthProviderCompatible:!!(E!=null&&E.isLegacy)}),C=(R,h)=>ae.createElement(g,{to:R},h),T=()=>e?e.map(R=>ae.createElement("div",{key:R.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},ae.createElement("button",{onClick:()=>l({providerName:R.name}),style:{display:"flex",alignItems:"center"}},R==null?void 0:R.icon,R.label??ae.createElement("label",null,R.label)))):null,b=ae.createElement("div",{...o},ae.createElement("h1",{style:{textAlign:"center"}},P("pages.login.title","Sign in to your account")),T(),ae.createElement("hr",null),ae.createElement("form",{onSubmit:R=>{R.preventDefault(),l({email:x,password:M,remember:f})},...c},ae.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},ae.createElement("label",{htmlFor:"email-input"},P("pages.login.fields.email","Email")),ae.createElement("input",{id:"email-input",name:"email",type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:x,onChange:R=>v(R.target.value)}),ae.createElement("label",{htmlFor:"password-input"},P("pages.login.fields.password","Password")),ae.createElement("input",{id:"password-input",type:"password",name:"password",required:!0,size:20,value:M,onChange:R=>i(R.target.value)}),s??ae.createElement(ae.Fragment,null,ae.createElement("label",{htmlFor:"remember-me-input"},P("pages.login.buttons.rememberMe","Remember me"),ae.createElement("input",{id:"remember-me-input",name:"remember",type:"checkbox",size:20,checked:f,value:f.toString(),onChange:()=>{y(!f)}}))),ae.createElement("br",null),r??C("/forgot-password",P("pages.login.buttons.forgotPassword","Forgot password?")),ae.createElement("input",{type:"submit",value:P("pages.login.signin","Sign in")}),t??ae.createElement("span",null,P("pages.login.buttons.noAccount","Don\u2019t have an account?")," ",C("/register",P("pages.login.register","Sign up"))))));return ae.createElement("div",{...a},n?n(b,p):b)};import pe,{useState as xs}from"react";var Cs=({providers:e,loginLink:t,wrapperProps:r,contentProps:s,renderContent:o,formProps:a,title:n=void 0})=>{let c=V(),p=at(),{Link:m}=K(),d=c==="legacy"?m:p,[u,g]=xs(""),[x,v]=xs(""),M=k(),i=H(),{mutate:f,isLoading:y}=Rr({v3LegacyAuthProviderCompatible:!!(i!=null&&i.isLegacy)}),P=(C,T)=>pe.createElement(d,{to:C},T),E=()=>e?e.map(C=>pe.createElement("div",{key:C.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},pe.createElement("button",{onClick:()=>f({providerName:C.name}),style:{display:"flex",alignItems:"center"}},C==null?void 0:C.icon,C.label??pe.createElement("label",null,C.label)))):null,l=pe.createElement("div",{...s},pe.createElement("h1",{style:{textAlign:"center"}},M("pages.register.title","Sign up for your account")),E(),pe.createElement("hr",null),pe.createElement("form",{onSubmit:C=>{C.preventDefault(),f({email:u,password:x})},...a},pe.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},pe.createElement("label",{htmlFor:"email-input"},M("pages.register.fields.email","Email")),pe.createElement("input",{id:"email-input",name:"email",type:"email",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:u,onChange:C=>g(C.target.value)}),pe.createElement("label",{htmlFor:"password-input"},M("pages.register.fields.password","Password")),pe.createElement("input",{id:"password-input",name:"password",type:"password",required:!0,size:20,value:x,onChange:C=>v(C.target.value)}),pe.createElement("input",{type:"submit",value:M("pages.register.buttons.submit","Sign up"),disabled:y}),t??pe.createElement(pe.Fragment,null,pe.createElement("span",null,M("pages.login.buttons.haveAccount","Have an account?")," ",P("/login",M("pages.login.signin","Sign in")))))));return pe.createElement("div",{...r},o?o(l,n):l)};import Ee,{useState as Xa}from"react";var hs=({loginLink:e,wrapperProps:t,contentProps:r,renderContent:s,formProps:o,title:a=void 0})=>{let n=k(),c=V(),p=at(),{Link:m}=K(),d=c==="legacy"?m:p,[u,g]=Xa(""),{mutate:x,isLoading:v}=xr(),M=(f,y)=>Ee.createElement(d,{to:f},y),i=Ee.createElement("div",{...r},Ee.createElement("h1",{style:{textAlign:"center"}},n("pages.forgotPassword.title","Forgot your password?")),Ee.createElement("hr",null),Ee.createElement("form",{onSubmit:f=>{f.preventDefault(),x({email:u})},...o},Ee.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Ee.createElement("label",{htmlFor:"email-input"},n("pages.forgotPassword.fields.email","Email")),Ee.createElement("input",{id:"email-input",name:"email",type:"mail",autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:u,onChange:f=>g(f.target.value)}),Ee.createElement("input",{type:"submit",disabled:v,value:n("pages.forgotPassword.buttons.submit","Send reset instructions")}),Ee.createElement("br",null),e??Ee.createElement("span",null,n("pages.register.buttons.haveAccount","Have an account? ")," ",M("/login",n("pages.login.signin","Sign in"))))));return Ee.createElement("div",{...t},s?s(i,a):i)};import Ie,{useState as bs}from"react";var vs=({wrapperProps:e,contentProps:t,renderContent:r,formProps:s,title:o=void 0})=>{let a=k(),n=H(),{mutate:c,isLoading:p}=hr({v3LegacyAuthProviderCompatible:!!(n!=null&&n.isLegacy)}),[m,d]=bs(""),[u,g]=bs(""),x=Ie.createElement("div",{...t},Ie.createElement("h1",{style:{textAlign:"center"}},a("pages.updatePassword.title","Update Password")),Ie.createElement("hr",null),Ie.createElement("form",{onSubmit:v=>{v.preventDefault(),c({password:m,confirmPassword:u})},...s},Ie.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Ie.createElement("label",{htmlFor:"password-input"},a("pages.updatePassword.fields.password","New Password")),Ie.createElement("input",{id:"password-input",name:"password",type:"password",required:!0,size:20,value:m,onChange:v=>d(v.target.value)}),Ie.createElement("label",{htmlFor:"confirm-password-input"},a("pages.updatePassword.fields.confirmPassword","Confirm New Password")),Ie.createElement("input",{id:"confirm-password-input",name:"confirmPassword",type:"password",required:!0,size:20,value:u,onChange:v=>g(v.target.value)}),Ie.createElement("input",{type:"submit",disabled:p,value:a("pages.updatePassword.buttons.submit","Update")}))));return Ie.createElement("div",{...e},r?r(x,o):x)};var qa=e=>{let{type:t}=e;return xt.createElement(xt.Fragment,null,(()=>{switch(t){case"register":return xt.createElement(Cs,{...e});case"forgotPassword":return xt.createElement(hs,{...e});case"updatePassword":return xt.createElement(vs,{...e});default:return xt.createElement(Ps,{...e})}})())};import Te from"react";var jr=()=>Te.createElement(Te.Fragment,null,Te.createElement("h1",null,"Welcome on board"),Te.createElement("p",null,"Your configuration is completed."),Te.createElement("p",null,"Now you can get started by adding your resources to the"," ",Te.createElement("code",null,"`resources`")," property of ",Te.createElement("code",null,"`<Refine>`")),Te.createElement("div",{style:{display:"flex",gap:8}},Te.createElement("a",{href:"https://refine.dev",target:"_blank",rel:"noreferrer"},Te.createElement("button",null,"Documentation")),Te.createElement("a",{href:"https://refine.dev/examples",target:"_blank",rel:"noreferrer"},Te.createElement("button",null,"Examples")),Te.createElement("a",{href:"https://discord.gg/refine",target:"_blank",rel:"noreferrer"},Te.createElement("button",null,"Community"))));import _,{useState as ei}from"react";var ti=[{title:"Documentation",description:"Learn about the technical details of using refine in your projects.",link:"https://refine.dev/",icon:_.createElement("svg",{width:"14",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V5a1 1 0 0 0-1-1H3a1 1 0 0 1 0-2h10a1 1 0 1 0 0-2H2Z",fill:"#fff"}))},{title:"Tutorial",description:"Learn how to use refine by building a fully-functioning CRUD app, from scratch to full launch.",link:"https://refine.dev/docs/tutorial/introduction/index/",icon:_.createElement("svg",{width:"16",height:"14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M0 4.573c0-.475.163-.948.53-1.25a4.57 4.57 0 0 1 .854-.553L5.956.485a4.571 4.571 0 0 1 4.088 0l4.572 2.285c.308.154.594.34.853.553.306.251.47.62.517 1.01.01.055.014.112.014.169v6.5a1 1 0 0 1-2 0V6.684l-3.956 1.978a4.571 4.571 0 0 1-4.088 0L1.384 6.376a4.57 4.57 0 0 1-.853-.553C.163 5.522 0 5.05 0 4.573Z",fill:"#fff"}),_.createElement("path",{d:"M5.061 13.305 3 12.274V9.42l2.061 1.031a6.571 6.571 0 0 0 5.878 0L13 9.421v2.853l-2.061 1.03a6.571 6.571 0 0 1-5.878 0Z",fill:"#fff"}))},{title:"Examples",description:"A collection of reference applications you can use as a starting point.",link:"https://refine.dev/examples",icon:_.createElement("svg",{width:"16",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4H0V2Zm3 2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",fill:"#fff"}),_.createElement("path",{d:"M0 14V8h16v6a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2Z",fill:"#fff"}))},{title:"Community",description:"Join our Discord community and keep up with the latest news.",link:"https://discord.gg/refine",icon:_.createElement("svg",{width:"16",height:"12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M13.553 1.005A13.334 13.334 0 0 0 10.253 0c-.156.276-.298.56-.423.85a12.42 12.42 0 0 0-3.664 0A8.975 8.975 0 0 0 5.744 0 13.43 13.43 0 0 0 2.44 1.007C.351 4.066-.215 7.05.068 9.99A13.36 13.36 0 0 0 4.116 12c.328-.436.618-.9.867-1.384a8.647 8.647 0 0 1-1.365-.645c.115-.082.227-.167.335-.249a9.594 9.594 0 0 0 8.094 0c.11.089.222.173.335.25-.436.254-.894.47-1.368.646.249.484.539.946.867 1.382a13.3 13.3 0 0 0 4.051-2.01c.332-3.41-.568-6.365-2.379-8.985Zm-8.21 7.176c-.79 0-1.442-.709-1.442-1.58 0-.872.63-1.587 1.439-1.587s1.456.715 1.442 1.586c-.014.872-.636 1.58-1.44 1.58Zm5.315 0c-.79 0-1.44-.709-1.44-1.58 0-.872.63-1.587 1.44-1.587.81 0 1.452.715 1.438 1.586-.014.872-.634 1.58-1.438 1.58Z",fill:"#fff"}))}],ri=()=>{let e=sr("(max-width: 1010px)"),t=sr("(max-width: 650px)"),r=()=>t?"1, 280px":e?"2, 280px":"4, 208px",s=()=>t?"32px":e?"40px":"48px",o=()=>t?"16px":e?"20px":"24px";return _.createElement("div",{style:{backgroundImage:"url(https://refine.ams3.cdn.digitaloceanspaces.com/welcome-page/welcome-page.webp)",backgroundPosition:"center top",backgroundSize:"cover",backgroundRepeat:"no-repeat",minHeight:"100vh",backgroundColor:"#0D0D12",fontFamily:"Arial",color:"#FFFFFF"}},_.createElement("div",{style:{height:"89px"}}),_.createElement("div",{style:{display:"flex",justifyContent:"center"}},_.createElement("img",{src:"https://refine.ams3.cdn.digitaloceanspaces.com/welcome-page/welcome-logo.webp",width:"198",height:"54"})),_.createElement("div",{style:{height:e?"270px":"22vw",minHeight:e?"270px":"313px"}}),_.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px",textAlign:"center"}},_.createElement("h1",{style:{fontSize:s(),fontWeight:700,margin:"0px"}},"Welcome Aboard!"),_.createElement("h4",{style:{fontSize:o(),fontWeight:400,margin:"0px"}},"Your configuration is completed.")),_.createElement("div",{style:{height:"64px"}}),_.createElement("div",{style:{display:"grid",gridTemplateColumns:`repeat(${r()})`,justifyContent:"center",gap:"48px",paddingRight:"16px",paddingLeft:"16px",maxWidth:"976px",margin:"auto"}},ti.map(a=>_.createElement(oi,{key:`welcome-page-${a.title}`,card:a}))),_.createElement("div",{style:{height:"64px"}}))},oi=({card:e})=>{let{title:t,description:r,icon:s,link:o}=e,[a,n]=ei(!1);return _.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},_.createElement("div",{style:{display:"flex",alignItems:"center"}},_.createElement("a",{onPointerEnter:()=>n(!0),onPointerLeave:()=>n(!1),style:{display:"flex",alignItems:"center",color:"#fff",textDecoration:"none"},href:o},s,_.createElement("span",{style:{fontSize:"16px",fontWeight:700,marginLeft:"13px",marginRight:"14px"}},t),_.createElement("svg",{style:{transition:"transform 0.5s ease-in-out, opacity 0.2s ease-in-out",...a&&{transform:"translateX(4px)",opacity:1}},width:"12",height:"8",fill:"none",opacity:"0.5",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M7.293.293a1 1 0 0 1 1.414 0l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L8.586 5H1a1 1 0 0 1 0-2h7.586L7.293 1.707a1 1 0 0 1 0-1.414Z",fill:"#fff"})))),_.createElement("span",{style:{fontSize:"12px",opacity:.5,lineHeight:"16px"}},r))};import te from"react";import{QueryClientProvider as ii,QueryClient as Is}from"@tanstack/react-query";import{ReactQueryDevtools as ui}from"@tanstack/react-query-devtools";import{useEffect as ni}from"react";import{useContext as ut}from"react";var si="4.22.0",Ds=()=>{let e=br(),t=ut(it),r=ut(He),s=ut(Nt),o=ut(Qt),{i18nProvider:a}=ut(De),n=ut(kt),c=ut(tt),{resources:p}=S(),m=!!t.create||!!t.get||!!t.update,d=!!(r!=null&&r.publish)||!!(r!=null&&r.subscribe)||!!(r!=null&&r.unsubscribe),u=!!s.useHistory||!!s.Link||!!s.Prompt||!!s.useLocation||!!s.useParams,g=!!o,x=!!(a!=null&&a.changeLocale)||!!(a!=null&&a.getLocale)||!!(a!=null&&a.translate),v=!!n.close||!!n.open,M=!!c.can;return{providers:{auth:e,auditLog:m,live:d,router:u,data:g,i18n:x,notification:v,accessControl:M},version:si,resourceCount:p.length}};var ai=e=>{let t=JSON.stringify(e||{});return typeof btoa<"u"?btoa(t):Buffer.from(t).toString("base64")},Es=()=>{let e=Ds();return ni(()=>{if(typeof window>"u"&&!Image)return;let t=new Image;t.src=`https://telemetry.refine.dev/telemetry?payload=${ai(e)}`},[]),null};var Ms=e=>{let t=["go","parse","back","Link"],r=Object.keys(e).filter(o=>!t.includes(o));return r.length>0?(console.warn(`Unsupported properties are found in \`routerProvider\` prop. You provided \`${r.join(", ")}\`. Supported properties are \`${t.join(", ")}\`. You may wanted to use \`legacyRouterProvider\` prop instead.`),!0):!1};import Ls from"react";var Us=e=>{let t=Ls.useRef(!1);Ls.useEffect(()=>{t.current===!1&&e&&Ms(e)&&(t.current=!0)},[e])};var ci=({legacyAuthProvider:e,authProvider:t,dataProvider:r,legacyRouterProvider:s,routerProvider:o,notificationProvider:a,accessControlProvider:n,auditLogProvider:c,resources:p,DashboardPage:m,ReadyPage:d,LoginPage:u,catchAll:g,children:x,liveProvider:v,i18nProvider:M,Title:i,Layout:f,Sider:y,Header:P,Footer:E,OffLayoutArea:l,onLiveEvent:C,options:T})=>{let{optionsWithDefaults:b,disableTelemetryWithDefault:R,reactQueryWithDefaults:h}=Ar({options:T}),D=ar(()=>{var B;return h.clientConfig instanceof Is?h.clientConfig:new Is({...h.clientConfig,defaultOptions:{...h.clientConfig.defaultOptions,queries:{refetchOnWindowFocus:!1,keepPreviousData:!0,...(B=h.clientConfig.defaultOptions)==null?void 0:B.queries}}})},[h.clientConfig]),I=te.useMemo(()=>typeof a=="function"?a:()=>a??{},[a])();if(Us(o),s&&!o&&(p??[]).length===0)return d?te.createElement(d,null):te.createElement(jr,null);let{RouterComponent:A=te.Fragment}=o?{}:s??{};return te.createElement(ii,{client:D},te.createElement(_o,{...I},te.createElement(ro,{...e??{},isProvided:!!e},te.createElement(so,{...t??{},isProvided:!!t},te.createElement(Qo,{...r},te.createElement(Fo,{liveProvider:v},te.createElement(Go,{value:s&&!o?"legacy":"new"},te.createElement(zo,{router:o},te.createElement(os,{...s},te.createElement(Oo,{resources:p??[]},te.createElement(Zo,{i18nProvider:M},te.createElement(ns,{...n??{}},te.createElement(ms,{...c??{}},te.createElement(Vr,null,te.createElement(vo,{mutationMode:b.mutationMode,warnWhenUnsavedChanges:b.warnWhenUnsavedChanges,syncWithLocation:b.syncWithLocation,Title:i,undoableTimeout:b.undoableTimeout,catchAll:g,DashboardPage:m,LoginPage:u,Layout:f,Sider:y,Footer:E,Header:P,OffLayoutArea:l,hasDashboard:!!m,liveMode:b.liveMode,onLiveEvent:C,options:b},te.createElement(Jo,null,te.createElement(A,null,x,!R&&te.createElement(Es,null),te.createElement(Zr,null))))))))))))))))),h.devtoolConfig===!1?null:te.createElement(ui,{initialIsOpen:!1,position:"bottom-right",...h.devtoolConfig}))};import{useEffect as pi,useState as di}from"react";var Lo=({notification:e})=>{let t=k(),{notificationDispatch:r}=Qe(),{open:s}=ge(),[o,a]=di(),n=()=>{if(e.isRunning===!0&&(e.seconds===0&&e.doMutation(),e.isSilent||s==null||s({key:`${e.id}-${e.resource}-notification`,type:"progress",message:t("notifications.undoable",{seconds:Lt(e.seconds)},`You have ${Lt(e.seconds)} seconds to undo`),cancelMutation:e.cancelMutation,undoableTimeout:Lt(e.seconds)}),e.seconds>0)){o&&clearTimeout(o);let c=setTimeout(()=>{r({type:"DECREASE_NOTIFICATION_SECOND",payload:{id:e.id,seconds:e.seconds,resource:e.resource}})},1e3);a(c)}};return pi(()=>{n()},[e]),null};import Yr,{useEffect as li}from"react";var mi=({children:e,Layout:t,Sider:r,Header:s,Title:o,Footer:a,OffLayoutArea:n})=>{let{Layout:c,Footer:p,Header:m,Sider:d,Title:u,OffLayoutArea:g}=Vt();return Yr.createElement(t??c,{Sider:r??d,Header:s??m,Footer:a??p,Title:o??u,OffLayoutArea:n??g},e,Yr.createElement(fi,null))},fi=()=>{let{Prompt:e}=K(),t=k(),{warnWhen:r,setWarnWhen:s}=Ft(),o=a=>(a.preventDefault(),a.returnValue=t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),a.returnValue);return li(()=>(r&&window.addEventListener("beforeunload",o),window.removeEventListener("beforeunload",o)),[r]),Yr.createElement(e,{when:r,message:t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),setWarnWhen:s})};import Pe from"react";var yi=()=>{let e=se(),[t,r]=Pe.useState(void 0);return Pe.useEffect(()=>{t&&e(t)},[t]),Pe.useCallback(o=>{t||r(o)},[t])};function gi({redirectOnFail:e=!0,appendCurrentPathToQuery:t=!0,children:r,fallback:s,loading:o}){var b;let a=H(),n=V(),c=!!(a!=null&&a.isProvided),p=!!(a!=null&&a.isLegacy),m=n==="legacy",d=Z(),u=se(),g=yi(),{replace:x}=oe(),{useLocation:v}=K(),M=v(),{isLoading:i,isFetching:f,isSuccess:y,data:{authenticated:P,redirectTo:E}={},refetch:l}=zt({v3LegacyAuthProviderCompatible:p});Pe.useEffect(()=>{l()},[r,s]);let C=Pe.useRef({status:i?"initial":"pending",content:o??null});f?C.current.status="pending":f||(C.current.status="settled");let T=c?p?y:P:!0;if(C.current.status==="settled")if(T)C.current.content=Pe.createElement(Pe.Fragment,null,r??null);else if(typeof s<"u")C.current.content=Pe.createElement(Pe.Fragment,null,s);else{let R=`${m?M==null?void 0:M.pathname:d.pathname}`.replace(/(\?.*|#.*)$/,""),h=p?typeof e=="string"?e:"/login":typeof e=="string"?e:E;if(h)if(m){let D=t?`?to=${encodeURIComponent(R)}`:"";x(`${h}${D}`)}else g({to:h,query:t?{to:(b=d.params)!=null&&b.to?d.params.to:u({to:R,options:{keepQuery:!0},type:"path"})}:void 0,type:"replace"})}return c?Pe.createElement(Pe.Fragment,null,C.current.content):Pe.createElement(Pe.Fragment,null,r??null)}import{useEffect as Ti}from"react";var Zr=()=>{let{useLocation:e}=K(),{checkAuth:t}=X(),r=e();return Ti(()=>{t==null||t().catch(()=>!1)},[r==null?void 0:r.pathname]),null};import Ct from"react";var Ri=({resource:e,action:t,params:r,fallback:s,children:o,...a})=>{let n=V(),{resources:c}=S(),{useParams:p}=K(),{resource:m,id:d,action:u}=Z(),{resource:g,id:x,action:v}=p(),M=m==null?void 0:m.name,i=!e||e===(n==="legacy"?g:M)?(r==null?void 0:r.id)??(n==="legacy"?x:d):r==null?void 0:r.id,f=e??(n==="legacy"?g:M),y,P=et();if(n==="legacy")f&&(y=P(f));else if(e){let l=W(e,c);l?y=l:y={name:e,route:e}}else if(typeof m=="string"){let l=W(m,c);l?y=l:y={name:m,route:m}}else y=m;let{data:E}=as({resource:e??(y==null?void 0:y.name),action:t??(n==="legacy"?v:u)??"",params:r??{id:i,resource:y}});return E!=null&&E.can?Ct.isValidElement(o)?Ct.cloneElement(o,a):Ct.createElement(Ct.Fragment,null,o):(E==null?void 0:E.can)===!1?Ct.createElement(Ct.Fragment,null,s??null):null};import ht,{useEffect as Pi}from"react";var ws=[`
|
|
10
|
+
See https://refine.dev/docs/api-reference/core/hooks/show/useShow/#resource`);let l=Ut({resource:R,id:w??"",queryOptions:{enabled:w!==void 0,...d},successNotification:r,errorNotification:s,meta:h,metaData:h,liveMode:n,onLiveEvent:u,dataProviderName:c}),{elapsedTime:m}=j({isLoading:l.isFetching,interval:p==null?void 0:p.interval,onInterval:p==null?void 0:p.onInterval});return{queryResult:l,showId:w,setShowId:y,overtime:{elapsedTime:m}}};import{useEffect as Ua,useState as Nr}from"react";import{parse as Ma}from"papaparse";import Ia from"lodash-es/chunk";var hT=({resourceName:e,resource:t,mapData:r=p=>p,paparseOptions:s,batchSize:o=Number.MAX_SAFE_INTEGER,onFinish:a,meta:n,metaData:u,onProgress:c,dataProviderName:d}={})=>{let[p,i]=Nr(0),[f,R]=Nr(0),[v,g]=Nr(!1),{resource:x,identifier:b}=F(t??e),w=W(),y=Qr(),h=Mt(),l=w({resource:x,meta:I(n,u)}),m;o===1?m=h:m=y;let L=()=>{R(0),i(0),g(!1)},C=T=>{let E={succeeded:T.filter(D=>D.type==="success"),errored:T.filter(D=>D.type==="error")};a==null||a(E),g(!1)};Ua(()=>{c==null||c({totalAmount:f,processedAmount:p})},[f,p]);let P=({file:T})=>(L(),new Promise(E=>{g(!0),Ma(T,{complete:async({data:D})=>{let A=$t(D,r);if(R(A.length),o===1){let U=A.map(S=>async()=>({response:await h.mutateAsync({resource:b??"",values:S,successNotification:!1,errorNotification:!1,dataProviderName:d,meta:l,metaData:l}),value:S})),M=await Zt(U,({response:S,value:Q})=>(i(O=>O+1),{response:[S.data],type:"success",request:[Q]}),(S,Q)=>({response:[S],type:"error",request:[A[Q]]}));E(M)}else{let U=Ia(A,o),M=U.map(Q=>async()=>({response:await y.mutateAsync({resource:b??"",values:Q,successNotification:!1,errorNotification:!1,dataProviderName:d,meta:l,metaData:l}),value:Q,currentBatchLength:Q.length})),S=await Zt(M,({response:Q,currentBatchLength:O,value:$})=>(i(H=>H+O),{response:Q.data,type:"success",request:$}),(Q,O)=>({response:[Q],type:"error",request:U[O]}));E(S)}},...s})}).then(E=>(C(E),E)));return{inputProps:{type:"file",accept:".csv",onChange:T=>{T.target.files&&T.target.files.length>0&&P({file:T.target.files[0]})}},mutationResult:m,isLoading:v,handleChange:P}};import{useCallback as ts,useState as wa}from"react";var LT=({defaultVisible:e=!1}={})=>{let[t,r]=wa(e),s=ts(()=>r(!0),[t]),o=ts(()=>r(!1),[t]);return{visible:t,show:s,close:o}};import Sa from"react";var At=()=>{let e=z(),{resource:t,resources:r}=F(),s=ce();return Sa.useCallback(({resource:a,action:n,meta:u})=>{var f;let c=a||t;if(!c)return;let p=(f=me(c,r,e==="legacy").find(R=>R.action===n))==null?void 0:f.route;return p?Re(p,c==null?void 0:c.meta,s,u):void 0},[r,t,s])};var Aa=({resource:e,action:t,meta:r,legacy:s})=>At()({resource:e,action:t,meta:r,legacy:s});import Qa,{useContext as Fa}from"react";var nt=()=>{let e=Fa(We);return e!=null&&e.Link?e.Link:({to:r,...s})=>Qa.createElement("a",{href:r,...s})};import{useContext as Va}from"react";import rs from"react";var Ke={useHistory:()=>!1,useLocation:()=>!1,useParams:()=>({}),Prompt:()=>null,Link:()=>null},ka=rs.createContext(Ke),Qt=ka,os=({children:e,useHistory:t,useLocation:r,useParams:s,Prompt:o,Link:a,routes:n})=>rs.createElement(Qt.Provider,{value:{useHistory:t??Ke.useHistory,useLocation:r??Ke.useLocation,useParams:s??Ke.useParams,Prompt:o??Ke.Prompt,Link:a??Ke.Link,routes:n??Ke.routes}},e);var te=()=>{let e=Va(Qt),{useHistory:t,useLocation:r,useParams:s,Prompt:o,Link:a,routes:n}=e??Ke;return{useHistory:t,useLocation:r,useParams:s,Prompt:o,Link:a,routes:n}};import{useQuery as Ba}from"@tanstack/react-query";import{useContext as Na}from"react";import ss from"react";var Xe=ss.createContext({options:{buttons:{enableAccessControl:!0,hideIfUnauthorized:!1}}});var ns=({can:e,children:t,options:r})=>ss.createElement(Xe.Provider,{value:{can:e,options:r?{...r,buttons:{enableAccessControl:!0,hideIfUnauthorized:!1,...r.buttons}}:{buttons:{enableAccessControl:!0,hideIfUnauthorized:!1}}}},t);var rr=e=>{let{icon:t,list:r,edit:s,create:o,show:a,clone:n,children:u,meta:c,options:d,...p}=e,{icon:i,...f}=c??{},{icon:R,...v}=d??{};return{...p,...c?{meta:f}:{},...d?{options:v}:{}}};var as=({action:e,resource:t,params:r,queryOptions:s})=>{let{can:o}=Na(Xe),{resource:a,...n}=r??{},u=rr(a??{}),c=Ba(["useCan",{action:e,resource:t,params:{...n,resource:u},enabled:s==null?void 0:s.enabled}],()=>(o==null?void 0:o({action:e,resource:t,params:n}))??Promise.resolve({can:!0}),{enabled:typeof o<"u",...s,retry:!1});return typeof o>"u"?{data:{can:!0}}:c};import{useContext as Ha}from"react";var yR=()=>{let{can:e}=Ha(Xe);return{can:e}};import{useCallback as is,useMemo as Oa,useState as Hr}from"react";import $a from"lodash/uniqBy";import Ga from"lodash/debounce";import or from"lodash/get";var IR=e=>{let[t,r]=Hr([]),[s,o]=Hr([]),[a,n]=Hr([]),{resource:u,sort:c,sorters:d,filters:p=[],optionLabel:i="title",optionValue:f="id",debounce:R=300,successNotification:v,errorNotification:g,defaultValueQueryOptions:x,queryOptions:b,fetchSize:w,pagination:y,hasPagination:h=!1,liveMode:l,defaultValue:m=[],onLiveEvent:L,onSearch:C,liveParams:P,meta:T,metaData:E,dataProviderName:D,overtimeOptions:A}=e,{resource:U,identifier:M}=F(u),Q=W()({resource:U,meta:I(T,E)}),O=Array.isArray(m)?m:[m],$=is(X=>{n(X.data.map(de=>({label:or(de,i),value:or(de,f)})))},[i,f]),H=x??b,Z=Mr({resource:M,ids:O,queryOptions:{...H,enabled:O.length>0&&((H==null?void 0:H.enabled)??!0),onSuccess:X=>{var de;$(X),(de=H==null?void 0:H.onSuccess)==null||de.call(H,X)}},meta:Q,metaData:Q,liveMode:"off",dataProviderName:D}),_=is(X=>{o(X.data.map(de=>({label:or(de,i),value:or(de,f)})))},[i,f]),k=Et({resource:M,sorters:I(d,c),filters:p.concat(t),pagination:{current:y==null?void 0:y.current,pageSize:(y==null?void 0:y.pageSize)??w,mode:y==null?void 0:y.mode},hasPagination:h,queryOptions:{...b,onSuccess:X=>{var de;_(X),(de=b==null?void 0:b.onSuccess)==null||de.call(b,X)}},successNotification:v,errorNotification:g,meta:Q,metaData:Q,liveMode:l,liveParams:P,onLiveEvent:L,dataProviderName:D}),N=X=>{if(C){r(C(X));return}if(X)r([{field:i,operator:"contains",value:X}]);else{r([]);return}},{elapsedTime:K}=j({isLoading:k.isFetching||Z.isFetching,interval:A==null?void 0:A.interval,onInterval:A==null?void 0:A.onInterval});return{queryResult:k,defaultValueQueryResult:Z,options:Oa(()=>$a([...s,...a],"value"),[s,a]),onSearch:Ga(N,R),overtime:{elapsedTime:K}}};import Wa,{useState as sr,useEffect as us}from"react";import cs from"qs";import nr from"lodash/differenceWith";import ar from"lodash/isEqual";import Ka from"warn-once";var ps=[],ds=[];function WR({initialCurrent:e,initialPageSize:t,hasPagination:r=!0,pagination:s,initialSorter:o,permanentSorter:a=ds,defaultSetFilterBehavior:n,initialFilter:u,permanentFilter:c=ps,filters:d,sorters:p,syncWithLocation:i,resource:f,successNotification:R,errorNotification:v,queryOptions:g,liveMode:x,onLiveEvent:b,liveParams:w,meta:y,metaData:h,dataProviderName:l,overtimeOptions:m}={}){var jr,Zr,Yr,Jr,Xr;let{syncWithLocation:L}=Vr(),C=i??L,P=zo(x),T=z(),{useLocation:E}=te(),{search:D,pathname:A}=E(),U=W(),M=ce(),S=((d==null?void 0:d.mode)||"server")==="server",Q=((p==null?void 0:p.mode)||"server")==="server",O=r===!1?"off":"server",$=((s==null?void 0:s.mode)??O)!=="off",H=I(s==null?void 0:s.current,e),Z=I(s==null?void 0:s.pageSize,t),_=I(y,h),{parsedCurrent:k,parsedPageSize:N,parsedSorter:K,parsedFilters:X}=Gt(D??"?"),de=I(d==null?void 0:d.initial,u),ye=I(d==null?void 0:d.permanent,c)??ps,qe=I(p==null?void 0:p.initial,o),He=I(p==null?void 0:p.permanent,a)??ds,ir=I(d==null?void 0:d.defaultBehavior,n)??"merge",ut,et,ct,pt;C?(ut=((jr=M==null?void 0:M.params)==null?void 0:jr.current)||k||H||1,et=((Zr=M==null?void 0:M.params)==null?void 0:Zr.pageSize)||N||Z||10,ct=((Yr=M==null?void 0:M.params)==null?void 0:Yr.sorters)||(K.length?K:qe),pt=((Jr=M==null?void 0:M.params)==null?void 0:Jr.filters)||(X.length?X:de)):(ut=H||1,et=Z||10,ct=qe,pt=de);let{replace:dt}=ae(),lt=ie(),{resource:zr,identifier:kt}=F(f),ur=U({resource:zr,meta:_});Wa.useEffect(()=>{Ka(typeof kt>"u","useTable: `resource` is not defined.")},[kt]);let[ze,Ct]=sr(_t(He,ct??[])),[tt,ge]=sr(zt(ye,pt??[])),[De,Ve]=sr(ut),[Le,Ee]=sr(et),_e=({pagination:{current:le,pageSize:Ue},sorter:Bt,filters:Nt})=>{if(T==="new")return lt({type:"path",options:{keepHash:!0,keepQuery:!0},query:{...$?{current:le,pageSize:Ue}:{},sorters:Bt,filters:Nt,...je()}})??"";{let bt=cs.parse(D==null?void 0:D.substring(1)),ks=Wt({pagination:{pageSize:Ue,current:le},sorters:ze??Bt,filters:Nt,...bt});return`${A??""}?${ks??""}`}};us(()=>{D===""&&(Ve(ut),Ee(et),Ct(_t(He,ct??[])),ge(zt(ye,pt??[])))},[D]);let je=()=>{if(T==="new"){let{sorters:le,filters:Ue,pageSize:Bt,current:Nt,...bt}=(M==null?void 0:M.params)??{};return bt}else{let{sorter:le,filters:Ue,pageSize:Bt,current:Nt,...bt}=cs.parse(D,{ignoreQueryPrefix:!0});return bt}};us(()=>{if(C){let le=je();if(T==="new")lt({type:"replace",options:{keepQuery:!0},query:{...$?{pageSize:Le,current:De}:{},sorters:nr(ze,He,ar),filters:nr(tt,ye,ar)}});else{let Ue=Wt({...$?{pagination:{pageSize:Le,current:De}}:{},sorters:nr(ze,He,ar),filters:nr(tt,ye,ar),...le});return dt==null?void 0:dt(`${A}?${Ue}`,void 0,{shallow:!0})}}},[C,De,Le,ze,tt]);let Oe=Et({resource:kt,hasPagination:r,pagination:{current:De,pageSize:Le,mode:s==null?void 0:s.mode},filters:S?yt(ye,tt):void 0,sorters:Q?Kt(He,ze):void 0,queryOptions:g,successNotification:R,errorNotification:v,meta:ur,metaData:ur,liveMode:P,liveParams:w,onLiveEvent:b,dataProviderName:l}),Vt=le=>{ge(Ue=>yt(ye,le,Ue))},Ss=le=>{ge(yt(ye,le))},As=le=>{ge(Ue=>yt(ye,le(Ue)))},Qs=(le,Ue=ir)=>{typeof le=="function"?As(le):Ue==="replace"?Ss(le):Vt(le)},_r=le=>{Ct(()=>Kt(He,le))},{elapsedTime:Fs}=j({isLoading:Oe.isFetching,interval:m==null?void 0:m.interval,onInterval:m==null?void 0:m.onInterval});return{tableQueryResult:Oe,sorters:ze,setSorters:_r,sorter:ze,setSorter:_r,filters:tt,setFilters:Qs,current:De,setCurrent:Ve,pageSize:Le,setPageSize:Ee,pageCount:Le?Math.ceil((((Xr=Oe.data)==null?void 0:Xr.total)??0)/Le):1,createLinkForSyncWithLocation:_e,overtime:{elapsedTime:Fs}}}import{useContext as fs}from"react";import{useMutation as ys,useQueryClient as za}from"@tanstack/react-query";import ls from"react";var at=ls.createContext({}),ms=({create:e,get:t,update:r,children:s})=>ls.createElement(at.Provider,{value:{create:e,get:t,update:r}},s);var Ie=({logMutationOptions:e,renameMutationOptions:t}={})=>{let r=za(),s=fs(at),o=G(),{resources:a}=fs(Je),{data:n,refetch:u,isLoading:c}=cr({v3LegacyAuthProviderCompatible:!!(o!=null&&o.isLegacy),queryOptions:{enabled:!!s}}),d=ys(async i=>{var g,x,b,w,y;let f=ue(i.resource,a),R=I((g=f==null?void 0:f.meta)==null?void 0:g.audit,(x=f==null?void 0:f.options)==null?void 0:x.audit,(w=(b=f==null?void 0:f.options)==null?void 0:b.auditLog)==null?void 0:w.permissions);if(R&&!xr(R,i.action))return;let v;return c&&(v=await u()),await((y=s.create)==null?void 0:y.call(s,{...i,author:n??(v==null?void 0:v.data)}))},e),p=ys(async i=>{var f;return await((f=s.update)==null?void 0:f.call(s,i))},{onSuccess:i=>{if(i!=null&&i.resource){let f=q(i==null?void 0:i.resource);r.invalidateQueries(f.logList())}},...t});return{log:d,rename:p}};import{useContext as _a}from"react";import{useQuery as ja}from"@tanstack/react-query";var dP=({resource:e,action:t,meta:r,author:s,metaData:o,queryOptions:a})=>{let{get:n}=_a(at),u=q(e,void 0,o);return ja(u.logList(r),()=>(n==null?void 0:n({resource:e,action:t,author:s,meta:r,metaData:o}))??Promise.resolve([]),{enabled:typeof n<"u",...a,retry:!1})};import{useCallback as Za}from"react";import{useQueryClient as Ya}from"@tanstack/react-query";var we=()=>{let{resources:e}=F(),t=Ya();return Za(({resource:s,dataProviderName:o,invalidates:a,id:n})=>{if(a===!1)return;let u=q(s,B(s,o,e));a.forEach(c=>{switch(c){case"all":t.invalidateQueries(u.all);break;case"list":t.invalidateQueries(u.list());break;case"many":t.invalidateQueries(u.many());break;case"resourceAll":t.invalidateQueries(u.resourceAll);break;case"detail":t.invalidateQueries(u.detail(n||""));break;default:break}})},[])};import{useContext as Ja}from"react";import Xa from"warn-once";var SP=({meta:e={}}={})=>{let t=z(),{i18nProvider:r}=Ja(Se),s=ce(),o=V(),{resources:a,resource:n,action:u}=F(),c=[];if(!(n!=null&&n.name))return{breadcrumbs:c};let d=p=>{var f,R,v,g,x,b;let i=typeof p=="string"?ue(p,a,t==="legacy")??{name:p}:p;if(i){let w=I((f=i==null?void 0:i.meta)==null?void 0:f.parent,i==null?void 0:i.parentName);w&&d(w);let y=me(i,a,t==="legacy").find(m=>m.action==="list"),h=(R=y==null?void 0:y.resource)!=null&&R.list?y==null?void 0:y.route:void 0,l=h?t==="legacy"?h:Re(h,i==null?void 0:i.meta,s,e):void 0;c.push({label:I((v=i.meta)==null?void 0:v.label,(g=i.options)==null?void 0:g.label)??o(`${i.name}.${i.name}`,rt(i.name)),href:l,icon:I((x=i.meta)==null?void 0:x.icon,(b=i.options)==null?void 0:b.icon,i.icon)})}};if(d(n),u&&u!=="list"){let p=`actions.${u}`,i=o(p);typeof r<"u"&&i===p?(Xa(!0,`[useBreadcrumb]: Breadcrumb missing translate key for the "${u}" action. Please add "actions.${u}" key to your translation file.
|
|
11
|
+
For more information, see https://refine.dev/docs/api-reference/core/hooks/useBreadcrumb/#i18n-support`),c.push({label:o(`buttons.${u}`,rt(u))})):c.push({label:o(p,rt(u))})}return{breadcrumbs:c}};import Or from"react";var Tt=(e,t,r=!1)=>{let s=[],o=he(e,t);for(;o;)s.push(o),o=he(o,t);return s.reverse(),`/${[...s,e].map(n=>Te((r?n.route:void 0)??n.identifier??n.name)).join("/").replace(/^\//,"")}`};var gs=(e,t=!1)=>{let r={item:{name:"__root__"},children:{}};e.forEach(o=>{let a=[],n=he(o,e);for(;n;)a.push(n),n=he(n,e);a.reverse();let u=r;a.forEach(d=>{let p=(t?d.route:void 0)??d.identifier??d.name;u.children[p]||(u.children[p]={item:d,children:{}}),u=u.children[p]});let c=(t?o.route:void 0)??o.identifier??o.name;u.children[c]||(u.children[c]={item:o,children:{}})});let s=o=>{let a=[];return Object.keys(o.children).forEach(n=>{let u=Tt(o.children[n].item,e,t),c={...o.children[n].item,key:u,children:s(o.children[n])};a.push(c)}),a};return s(r)};var Ts=e=>e.split("?")[0].split("#")[0].replace(/(.+)(\/$)/,"$1"),qa=({meta:e,hideOnMissingParameter:t}={hideOnMissingParameter:!0})=>{let r=V(),s=At(),o=z(),{resource:a,resources:n}=F(),{pathname:u}=ce(),{useLocation:c}=te(),{pathname:d}=c(),i=`/${((o==="legacy"?Ts(d):u?Ts(u):void 0)??"").replace(/^\//,"")}`,f=a?Tt(a,n,o==="legacy"):i??"",R=Or.useMemo(()=>{if(!a)return[];let x=he(a,n),b=[Tt(a,n)];for(;x;)b.push(Tt(x,n)),x=he(x,n);return b},[]),v=Or.useCallback(x=>{var w,y,h,l,m,L;if((((w=x==null?void 0:x.meta)==null?void 0:w.hide)??((y=x==null?void 0:x.options)==null?void 0:y.hide))||!(x!=null&&x.list)&&x.children.length===0)return;let b=x.list?s({resource:x,action:"list",legacy:o==="legacy",meta:e}):void 0;if(!(t&&b&&b.match(/(\/|^):(.+?)(\/|$){1}/)))return{...x,route:b,icon:I((h=x.meta)==null?void 0:h.icon,(l=x.options)==null?void 0:l.icon,x.icon),label:I((m=x==null?void 0:x.meta)==null?void 0:m.label,(L=x==null?void 0:x.options)==null?void 0:L.label)??r(`${x.name}.${x.name}`,Ze(x.name,"plural"))}},[o,e,r,t]),g=Or.useMemo(()=>{let x=gs(n,o==="legacy"),b=w=>w.flatMap(y=>{let h=b(y.children),l=v({...y,children:h});return l?[l]:[]});return b(x)},[n,o,v]);return{defaultOpenKeys:R,selectedKey:f,menuItems:g}};var W=()=>{let{params:e}=ce();return({resource:r,meta:s}={})=>{let{meta:o}=rr(r??{}),{filters:a,sorters:n,current:u,pageSize:c,...d}=e??{};return{...o,...d,...s}}};var ri=()=>{let[e,t]=ti(),r=V(),{push:s}=ae(),o=ie(),a=z(),{resource:n,action:u}=F();return ei(()=>{n&&u&&t(r("pages.error.info",{action:u,resource:n.name},`You may have forgotten to add the "${u}" component to "${n.name}" resource.`))},[n,u]),Ft.createElement(Ft.Fragment,null,Ft.createElement("h1",null,r("pages.error.404",void 0,"Sorry, the page you visited does not exist.")),e&&Ft.createElement("p",null,e),Ft.createElement("button",{onClick:()=>{a==="legacy"?s("/"):o({to:"/"})}},r("pages.error.backHome",void 0,"Back Home")))};import Pe,{useState as Rs}from"react";var Lr=()=>{let[e,t]=Rs(""),[r,s]=Rs(""),o=V(),a=G(),{mutate:n}=ht({v3LegacyAuthProviderCompatible:!!(a!=null&&a.isLegacy)});return Pe.createElement(Pe.Fragment,null,Pe.createElement("h1",null,o("pages.login.title","Sign in your account")),Pe.createElement("form",{onSubmit:u=>{u.preventDefault(),n({username:e,password:r})}},Pe.createElement("table",null,Pe.createElement("tbody",null,Pe.createElement("tr",null,Pe.createElement("td",null,o("pages.login.username",void 0,"username"),":"),Pe.createElement("td",null,Pe.createElement("input",{type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",autoFocus:!0,required:!0,value:e,onChange:u=>t(u.target.value)}))),Pe.createElement("tr",null,Pe.createElement("td",null,o("pages.login.password",void 0,"password"),":"),Pe.createElement("td",null,Pe.createElement("input",{type:"password",required:!0,size:20,value:r,onChange:u=>s(u.target.value)}))))),Pe.createElement("br",null),Pe.createElement("input",{type:"submit",value:"login"})))};import Rt from"react";import pe,{useState as $r}from"react";var Ps=({providers:e,registerLink:t,forgotPasswordLink:r,rememberMe:s,contentProps:o,wrapperProps:a,renderContent:n,formProps:u,title:c=void 0})=>{let d=z(),p=nt(),{Link:i}=te(),f=d==="legacy"?i:p,[R,v]=$r(""),[g,x]=$r(""),[b,w]=$r(!1),y=V(),h=G(),{mutate:l}=ht({v3LegacyAuthProviderCompatible:!!(h!=null&&h.isLegacy)}),m=(P,T)=>pe.createElement(f,{to:P},T),L=()=>e?e.map(P=>pe.createElement("div",{key:P.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},pe.createElement("button",{onClick:()=>l({providerName:P.name}),style:{display:"flex",alignItems:"center"}},P==null?void 0:P.icon,P.label??pe.createElement("label",null,P.label)))):null,C=pe.createElement("div",{...o},pe.createElement("h1",{style:{textAlign:"center"}},y("pages.login.title","Sign in to your account")),L(),pe.createElement("hr",null),pe.createElement("form",{onSubmit:P=>{P.preventDefault(),l({email:R,password:g,remember:b})},...u},pe.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},pe.createElement("label",{htmlFor:"email-input"},y("pages.login.fields.email","Email")),pe.createElement("input",{id:"email-input",name:"email",type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:R,onChange:P=>v(P.target.value)}),pe.createElement("label",{htmlFor:"password-input"},y("pages.login.fields.password","Password")),pe.createElement("input",{id:"password-input",type:"password",name:"password",required:!0,size:20,value:g,onChange:P=>x(P.target.value)}),s??pe.createElement(pe.Fragment,null,pe.createElement("label",{htmlFor:"remember-me-input"},y("pages.login.buttons.rememberMe","Remember me"),pe.createElement("input",{id:"remember-me-input",name:"remember",type:"checkbox",size:20,checked:b,value:b.toString(),onChange:()=>{w(!b)}}))),pe.createElement("br",null),r??m("/forgot-password",y("pages.login.buttons.forgotPassword","Forgot password?")),pe.createElement("input",{type:"submit",value:y("pages.login.signin","Sign in")}),t??pe.createElement("span",null,y("pages.login.buttons.noAccount","Don\u2019t have an account?")," ",m("/register",y("pages.login.register","Sign up"))))));return pe.createElement("div",{...a},n?n(C,c):C)};import fe,{useState as xs}from"react";var Cs=({providers:e,loginLink:t,wrapperProps:r,contentProps:s,renderContent:o,formProps:a,title:n=void 0})=>{let u=z(),c=nt(),{Link:d}=te(),p=u==="legacy"?d:c,[i,f]=xs(""),[R,v]=xs(""),g=V(),x=G(),{mutate:b,isLoading:w}=mr({v3LegacyAuthProviderCompatible:!!(x!=null&&x.isLegacy)}),y=(m,L)=>fe.createElement(p,{to:m},L),h=()=>e?e.map(m=>fe.createElement("div",{key:m.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},fe.createElement("button",{onClick:()=>b({providerName:m.name}),style:{display:"flex",alignItems:"center"}},m==null?void 0:m.icon,m.label??fe.createElement("label",null,m.label)))):null,l=fe.createElement("div",{...s},fe.createElement("h1",{style:{textAlign:"center"}},g("pages.register.title","Sign up for your account")),h(),fe.createElement("hr",null),fe.createElement("form",{onSubmit:m=>{m.preventDefault(),b({email:i,password:R})},...a},fe.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},fe.createElement("label",{htmlFor:"email-input"},g("pages.register.fields.email","Email")),fe.createElement("input",{id:"email-input",name:"email",type:"email",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:i,onChange:m=>f(m.target.value)}),fe.createElement("label",{htmlFor:"password-input"},g("pages.register.fields.password","Password")),fe.createElement("input",{id:"password-input",name:"password",type:"password",required:!0,size:20,value:R,onChange:m=>v(m.target.value)}),fe.createElement("input",{type:"submit",value:g("pages.register.buttons.submit","Sign up"),disabled:w}),t??fe.createElement(fe.Fragment,null,fe.createElement("span",null,g("pages.login.buttons.haveAccount","Have an account?")," ",y("/login",g("pages.login.signin","Sign in")))))));return fe.createElement("div",{...r},o?o(l,n):l)};import Ae,{useState as oi}from"react";var bs=({loginLink:e,wrapperProps:t,contentProps:r,renderContent:s,formProps:o,title:a=void 0})=>{let n=V(),u=z(),c=nt(),{Link:d}=te(),p=u==="legacy"?d:c,[i,f]=oi(""),{mutate:R,isLoading:v}=yr(),g=(b,w)=>Ae.createElement(p,{to:b},w),x=Ae.createElement("div",{...r},Ae.createElement("h1",{style:{textAlign:"center"}},n("pages.forgotPassword.title","Forgot your password?")),Ae.createElement("hr",null),Ae.createElement("form",{onSubmit:b=>{b.preventDefault(),R({email:i})},...o},Ae.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Ae.createElement("label",{htmlFor:"email-input"},n("pages.forgotPassword.fields.email","Email")),Ae.createElement("input",{id:"email-input",name:"email",type:"mail",autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:i,onChange:b=>f(b.target.value)}),Ae.createElement("input",{type:"submit",disabled:v,value:n("pages.forgotPassword.buttons.submit","Send reset instructions")}),Ae.createElement("br",null),e??Ae.createElement("span",null,n("pages.register.buttons.haveAccount","Have an account? ")," ",g("/login",n("pages.login.signin","Sign in"))))));return Ae.createElement("div",{...t},s?s(x,a):x)};import ke,{useState as hs}from"react";var vs=({wrapperProps:e,contentProps:t,renderContent:r,formProps:s,title:o=void 0})=>{let a=V(),n=G(),{mutate:u,isLoading:c}=Tr({v3LegacyAuthProviderCompatible:!!(n!=null&&n.isLegacy)}),[d,p]=hs(""),[i,f]=hs(""),R=ke.createElement("div",{...t},ke.createElement("h1",{style:{textAlign:"center"}},a("pages.updatePassword.title","Update Password")),ke.createElement("hr",null),ke.createElement("form",{onSubmit:v=>{v.preventDefault(),u({password:d,confirmPassword:i})},...s},ke.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},ke.createElement("label",{htmlFor:"password-input"},a("pages.updatePassword.fields.password","New Password")),ke.createElement("input",{id:"password-input",name:"password",type:"password",required:!0,size:20,value:d,onChange:v=>p(v.target.value)}),ke.createElement("label",{htmlFor:"confirm-password-input"},a("pages.updatePassword.fields.confirmPassword","Confirm New Password")),ke.createElement("input",{id:"confirm-password-input",name:"confirmPassword",type:"password",required:!0,size:20,value:i,onChange:v=>f(v.target.value)}),ke.createElement("input",{type:"submit",disabled:c,value:a("pages.updatePassword.buttons.submit","Update")}))));return ke.createElement("div",{...e},r?r(R,o):R)};var si=e=>{let{type:t}=e;return Rt.createElement(Rt.Fragment,null,(()=>{switch(t){case"register":return Rt.createElement(Cs,{...e});case"forgotPassword":return Rt.createElement(bs,{...e});case"updatePassword":return Rt.createElement(vs,{...e});default:return Rt.createElement(Ps,{...e})}})())};import be from"react";var Gr=()=>be.createElement(be.Fragment,null,be.createElement("h1",null,"Welcome on board"),be.createElement("p",null,"Your configuration is completed."),be.createElement("p",null,"Now you can get started by adding your resources to the"," ",be.createElement("code",null,"`resources`")," property of ",be.createElement("code",null,"`<Refine>`")),be.createElement("div",{style:{display:"flex",gap:8}},be.createElement("a",{href:"https://refine.dev",target:"_blank",rel:"noreferrer"},be.createElement("button",null,"Documentation")),be.createElement("a",{href:"https://refine.dev/examples",target:"_blank",rel:"noreferrer"},be.createElement("button",null,"Examples")),be.createElement("a",{href:"https://discord.gg/refine",target:"_blank",rel:"noreferrer"},be.createElement("button",null,"Community"))));import J,{useState as ni}from"react";var ai=[{title:"Documentation",description:"Learn about the technical details of using refine in your projects.",link:"https://refine.dev/",icon:J.createElement("svg",{width:"14",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},J.createElement("path",{d:"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V5a1 1 0 0 0-1-1H3a1 1 0 0 1 0-2h10a1 1 0 1 0 0-2H2Z",fill:"#fff"}))},{title:"Tutorial",description:"Learn how to use refine by building a fully-functioning CRUD app, from scratch to full launch.",link:"https://refine.dev/docs/tutorial/introduction/index/",icon:J.createElement("svg",{width:"16",height:"14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},J.createElement("path",{d:"M0 4.573c0-.475.163-.948.53-1.25a4.57 4.57 0 0 1 .854-.553L5.956.485a4.571 4.571 0 0 1 4.088 0l4.572 2.285c.308.154.594.34.853.553.306.251.47.62.517 1.01.01.055.014.112.014.169v6.5a1 1 0 0 1-2 0V6.684l-3.956 1.978a4.571 4.571 0 0 1-4.088 0L1.384 6.376a4.57 4.57 0 0 1-.853-.553C.163 5.522 0 5.05 0 4.573Z",fill:"#fff"}),J.createElement("path",{d:"M5.061 13.305 3 12.274V9.42l2.061 1.031a6.571 6.571 0 0 0 5.878 0L13 9.421v2.853l-2.061 1.03a6.571 6.571 0 0 1-5.878 0Z",fill:"#fff"}))},{title:"Examples",description:"A collection of reference applications you can use as a starting point.",link:"https://refine.dev/examples",icon:J.createElement("svg",{width:"16",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},J.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4H0V2Zm3 2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",fill:"#fff"}),J.createElement("path",{d:"M0 14V8h16v6a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2Z",fill:"#fff"}))},{title:"Community",description:"Join our Discord community and keep up with the latest news.",link:"https://discord.gg/refine",icon:J.createElement("svg",{width:"16",height:"12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},J.createElement("path",{d:"M13.553 1.005A13.334 13.334 0 0 0 10.253 0c-.156.276-.298.56-.423.85a12.42 12.42 0 0 0-3.664 0A8.975 8.975 0 0 0 5.744 0 13.43 13.43 0 0 0 2.44 1.007C.351 4.066-.215 7.05.068 9.99A13.36 13.36 0 0 0 4.116 12c.328-.436.618-.9.867-1.384a8.647 8.647 0 0 1-1.365-.645c.115-.082.227-.167.335-.249a9.594 9.594 0 0 0 8.094 0c.11.089.222.173.335.25-.436.254-.894.47-1.368.646.249.484.539.946.867 1.382a13.3 13.3 0 0 0 4.051-2.01c.332-3.41-.568-6.365-2.379-8.985Zm-8.21 7.176c-.79 0-1.442-.709-1.442-1.58 0-.872.63-1.587 1.439-1.587s1.456.715 1.442 1.586c-.014.872-.636 1.58-1.44 1.58Zm5.315 0c-.79 0-1.44-.709-1.44-1.58 0-.872.63-1.587 1.44-1.587.81 0 1.452.715 1.438 1.586-.014.872-.634 1.58-1.438 1.58Z",fill:"#fff"}))}],ii=()=>{let e=qt("(max-width: 1010px)"),t=qt("(max-width: 650px)"),r=()=>t?"1, 280px":e?"2, 280px":"4, 208px",s=()=>t?"32px":e?"40px":"48px",o=()=>t?"16px":e?"20px":"24px";return J.createElement("div",{style:{backgroundImage:"url(https://refine.ams3.cdn.digitaloceanspaces.com/welcome-page/welcome-page.webp)",backgroundPosition:"center top",backgroundSize:"cover",backgroundRepeat:"no-repeat",minHeight:"100vh",backgroundColor:"#0D0D12",fontFamily:"Arial",color:"#FFFFFF"}},J.createElement("div",{style:{height:"89px"}}),J.createElement("div",{style:{display:"flex",justifyContent:"center"}},J.createElement("img",{src:"https://refine.ams3.cdn.digitaloceanspaces.com/welcome-page/welcome-logo.webp",width:"198",height:"54"})),J.createElement("div",{style:{height:e?"270px":"22vw",minHeight:e?"270px":"313px"}}),J.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px",textAlign:"center"}},J.createElement("h1",{style:{fontSize:s(),fontWeight:700,margin:"0px"}},"Welcome Aboard!"),J.createElement("h4",{style:{fontSize:o(),fontWeight:400,margin:"0px"}},"Your configuration is completed.")),J.createElement("div",{style:{height:"64px"}}),J.createElement("div",{style:{display:"grid",gridTemplateColumns:`repeat(${r()})`,justifyContent:"center",gap:"48px",paddingRight:"16px",paddingLeft:"16px",maxWidth:"976px",margin:"auto"}},ai.map(a=>J.createElement(ui,{key:`welcome-page-${a.title}`,card:a}))),J.createElement("div",{style:{height:"64px"}}))},ui=({card:e})=>{let{title:t,description:r,icon:s,link:o}=e,[a,n]=ni(!1);return J.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},J.createElement("div",{style:{display:"flex",alignItems:"center"}},J.createElement("a",{onPointerEnter:()=>n(!0),onPointerLeave:()=>n(!1),style:{display:"flex",alignItems:"center",color:"#fff",textDecoration:"none"},href:o},s,J.createElement("span",{style:{fontSize:"16px",fontWeight:700,marginLeft:"13px",marginRight:"14px"}},t),J.createElement("svg",{style:{transition:"transform 0.5s ease-in-out, opacity 0.2s ease-in-out",...a&&{transform:"translateX(4px)",opacity:1}},width:"12",height:"8",fill:"none",opacity:"0.5",xmlns:"http://www.w3.org/2000/svg"},J.createElement("path",{d:"M7.293.293a1 1 0 0 1 1.414 0l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L8.586 5H1a1 1 0 0 1 0-2h7.586L7.293 1.707a1 1 0 0 1 0-1.414Z",fill:"#fff"})))),J.createElement("span",{style:{fontSize:"12px",opacity:.5,lineHeight:"16px"}},r))};import se from"react";import{QueryClientProvider as li,QueryClient as Is}from"@tanstack/react-query";import{ReactQueryDevtools as mi}from"@tanstack/react-query-devtools";import{useEffect as pi}from"react";import{useContext as it}from"react";var ci="4.23.0",Ds=()=>{let e=Rr(),t=it(at),r=it(Ge),s=it(Qt),o=it(It),{i18nProvider:a}=it(Se),n=it(wt),u=it(Xe),{resources:c}=F(),d=!!t.create||!!t.get||!!t.update,p=!!(r!=null&&r.publish)||!!(r!=null&&r.subscribe)||!!(r!=null&&r.unsubscribe),i=!!s.useHistory||!!s.Link||!!s.Prompt||!!s.useLocation||!!s.useParams,f=!!o,R=!!(a!=null&&a.changeLocale)||!!(a!=null&&a.getLocale)||!!(a!=null&&a.translate),v=!!n.close||!!n.open,g=!!u.can;return{providers:{auth:e,auditLog:d,live:p,router:i,data:f,i18n:R,notification:v,accessControl:g},version:ci,resourceCount:c.length}};var di=e=>{let t=JSON.stringify(e||{});return typeof btoa<"u"?btoa(t):Buffer.from(t).toString("base64")},Ls=()=>{let e=Ds();return pi(()=>{if(typeof window>"u"&&!Image)return;let t=new Image;t.src=`https://telemetry.refine.dev/telemetry?payload=${di(e)}`},[]),null};var Es=e=>{let t=["go","parse","back","Link"],r=Object.keys(e).filter(o=>!t.includes(o));return r.length>0?(console.warn(`Unsupported properties are found in \`routerProvider\` prop. You provided \`${r.join(", ")}\`. Supported properties are \`${t.join(", ")}\`. You may wanted to use \`legacyRouterProvider\` prop instead.`),!0):!1};import Us from"react";var Ms=e=>{let t=Us.useRef(!1);Us.useEffect(()=>{t.current===!1&&e&&Es(e)&&(t.current=!0)},[e])};var fi=({legacyAuthProvider:e,authProvider:t,dataProvider:r,legacyRouterProvider:s,routerProvider:o,notificationProvider:a,accessControlProvider:n,auditLogProvider:u,resources:c,DashboardPage:d,ReadyPage:p,LoginPage:i,catchAll:f,children:R,liveProvider:v,i18nProvider:g,Title:x,Layout:b,Sider:w,Header:y,Footer:h,OffLayoutArea:l,onLiveEvent:m,options:L})=>{let{optionsWithDefaults:C,disableTelemetryWithDefault:P,reactQueryWithDefaults:T}=Er({options:L}),E=tr(()=>{var M;return T.clientConfig instanceof Is?T.clientConfig:new Is({...T.clientConfig,defaultOptions:{...T.clientConfig.defaultOptions,queries:{refetchOnWindowFocus:!1,keepPreviousData:!0,...(M=T.clientConfig.defaultOptions)==null?void 0:M.queries}}})},[T.clientConfig]),A=se.useMemo(()=>typeof a=="function"?a:()=>a??{},[a])();if(Ms(o),s&&!o&&(c??[]).length===0)return p?se.createElement(p,null):se.createElement(Gr,null);let{RouterComponent:U=se.Fragment}=o?{}:s??{};return se.createElement(li,{client:E},se.createElement(_o,{...A},se.createElement(eo,{...e??{},isProvided:!!e},se.createElement(ro,{...t??{},isProvided:!!t},se.createElement(Ao,{...r},se.createElement(Fo,{liveProvider:v},se.createElement(Oo,{value:s&&!o?"legacy":"new"},se.createElement(Go,{router:o},se.createElement(os,{...s},se.createElement(Bo,{resources:c??[]},se.createElement(Zo,{i18nProvider:g},se.createElement(ns,{...n??{}},se.createElement(ms,{...u??{}},se.createElement(Sr,null,se.createElement(bo,{mutationMode:C.mutationMode,warnWhenUnsavedChanges:C.warnWhenUnsavedChanges,syncWithLocation:C.syncWithLocation,Title:x,undoableTimeout:C.undoableTimeout,catchAll:f,DashboardPage:d,LoginPage:i,Layout:b,Sider:w,Footer:h,Header:y,OffLayoutArea:l,hasDashboard:!!d,liveMode:C.liveMode,onLiveEvent:m,options:C},se.createElement(Jo,null,se.createElement(U,null,R,!P&&se.createElement(Ls,null),se.createElement(Wr,null))))))))))))))))),T.devtoolConfig===!1?null:se.createElement(mi,{initialIsOpen:!1,position:"bottom-right",...T.devtoolConfig}))};import{useEffect as yi,useState as gi}from"react";var Eo=({notification:e})=>{let t=V(),{notificationDispatch:r}=Ne(),{open:s}=Ce(),[o,a]=gi(),n=()=>{if(e.isRunning===!0&&(e.seconds===0&&e.doMutation(),e.isSilent||s==null||s({key:`${e.id}-${e.resource}-notification`,type:"progress",message:t("notifications.undoable",{seconds:vt(e.seconds)},`You have ${vt(e.seconds)} seconds to undo`),cancelMutation:e.cancelMutation,undoableTimeout:vt(e.seconds)}),e.seconds>0)){o&&clearTimeout(o);let u=setTimeout(()=>{r({type:"DECREASE_NOTIFICATION_SECOND",payload:{id:e.id,seconds:e.seconds,resource:e.resource}})},1e3);a(u)}};return yi(()=>{n()},[e]),null};import Kr,{useEffect as Ti}from"react";var Ri=({children:e,Layout:t,Sider:r,Header:s,Title:o,Footer:a,OffLayoutArea:n})=>{let{Layout:u,Footer:c,Header:d,Sider:p,Title:i,OffLayoutArea:f}=st();return Kr.createElement(t??u,{Sider:r??p,Header:s??d,Footer:a??c,Title:o??i,OffLayoutArea:n??f},e,Kr.createElement(Pi,null))},Pi=()=>{let{Prompt:e}=te(),t=V(),{warnWhen:r,setWarnWhen:s}=St(),o=a=>(a.preventDefault(),a.returnValue=t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),a.returnValue);return Ti(()=>(r&&window.addEventListener("beforeunload",o),window.removeEventListener("beforeunload",o)),[r]),Kr.createElement(e,{when:r,message:t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),setWarnWhen:s})};import ve from"react";var xi=()=>{let e=ie(),[t,r]=ve.useState(void 0);return ve.useEffect(()=>{t&&e(t)},[t]),ve.useCallback(o=>{t||r(o)},[t])};function Ci({redirectOnFail:e=!0,appendCurrentPathToQuery:t=!0,children:r,fallback:s,loading:o}){var C;let a=G(),n=z(),u=!!(a!=null&&a.isProvided),c=!!(a!=null&&a.isLegacy),d=n==="legacy",p=ce(),i=ie(),f=xi(),{replace:R}=ae(),{useLocation:v}=te(),g=v(),{isLoading:x,isFetching:b,isSuccess:w,data:{authenticated:y,redirectTo:h}={},refetch:l}=Ot({v3LegacyAuthProviderCompatible:c});ve.useEffect(()=>{l()},[r,s]);let m=ve.useRef({status:x?"initial":"pending",content:o??null});b?m.current.status="pending":b||(m.current.status="settled");let L=u?c?w:y:!0;if(m.current.status==="settled")if(L)m.current.content=ve.createElement(ve.Fragment,null,r??null);else if(typeof s<"u")m.current.content=ve.createElement(ve.Fragment,null,s);else{let P=`${d?g==null?void 0:g.pathname:p.pathname}`.replace(/(\?.*|#.*)$/,""),T=c?typeof e=="string"?e:"/login":typeof e=="string"?e:h;if(T)if(d){let E=t?`?to=${encodeURIComponent(P)}`:"";R(`${T}${E}`)}else f({to:T,query:t?{to:(C=p.params)!=null&&C.to?p.params.to:i({to:P,options:{keepQuery:!0},type:"path"})}:void 0,type:"replace"})}return u?ve.createElement(ve.Fragment,null,m.current.content):ve.createElement(ve.Fragment,null,r??null)}import{useEffect as bi}from"react";var Wr=()=>{let{useLocation:e}=te(),{checkAuth:t}=ee(),r=e();return bi(()=>{t==null||t().catch(()=>!1)},[r==null?void 0:r.pathname]),null};import Pt from"react";var hi=({resource:e,action:t,params:r,fallback:s,children:o,...a})=>{let{resource:n,id:u,action:c}=F(e),{identifier:d}=F(),i=(()=>{let R=(r==null?void 0:r.id)??u;return e&&e!==d?r==null?void 0:r.id:R})(),{data:f}=as({resource:e??(n==null?void 0:n.name),action:t??c??"",params:r??{id:i,resource:n}});return f!=null&&f.can?Pt.isValidElement(o)?Pt.cloneElement(o,a):Pt.createElement(Pt.Fragment,null,o):(f==null?void 0:f.can)===!1?Pt.createElement(Pt.Fragment,null,s??null):null};import xt,{useEffect as vi}from"react";var ws=[`
|
|
12
12
|
.banner {
|
|
13
13
|
display: flex;
|
|
14
14
|
@media (max-width: 1000px) {
|
|
@@ -66,5 +66,5 @@ For more information, see https://refine.dev/docs/api-reference/core/hooks/useBr
|
|
|
66
66
|
text-decoration: none;
|
|
67
67
|
z-index: 9;
|
|
68
68
|
}
|
|
69
|
-
`];var
|
|
69
|
+
`];var Di=()=>(vi(()=>{let e=document.createElement("style");document.head.appendChild(e),ws.forEach(t=>{var r;return(r=e.sheet)==null?void 0:r.insertRule(t,e.sheet.cssRules.length)})},[]),xt.createElement("div",{className:"banner",style:{flexDirection:"row",justifyContent:"center",alignItems:"center",position:"relative",padding:"8px 16px",backgroundColor:"#0d0d0d",borderBottom:"1px solid rgba(255, 255, 255, 0.15)"}},xt.createElement("div",{style:{width:"200px"}}),xt.createElement("a",{className:"gh-link",href:"https://s.refine.dev/github-support",target:"_blank",rel:"noreferrer"},xt.createElement("div",{className:"content",style:{position:"relative",zIndex:2,color:"#fff",display:"flex",flexDirection:"row",gap:"8px"}},xt.createElement("span",{className:"wizard",style:{display:"flex",flexDirection:"row",justifyContent:"center",alignItems:"center",width:"32px",height:"32px",fontSize:"32px",lineHeight:"32px"}},"\u{1F9D9}\u200D\u2642\uFE0F"),xt.createElement("span",{className:"text",style:{padding:"4px 0",fontSize:"16px",lineHeight:"24px",textShadow:"0px 0px 4px rgba(255, 255, 255, 0.5)"}},"refine grants your wishes! Please give us a \u2B50\uFE0F on GitHub to keep the magic going.")))));export{Xe as AccessControlContext,si as AuthPage,Ci as Authenticated,hi as CanAccess,ri as ErrorComponent,Di as GitHubBanner,Ri as LayoutWrapper,Lr as LoginPage,Gr as ReadyPage,fi as Refine,Je as ResourceContext,Wr as RouteChangeHandler,Se as TranslationContext,Eo as UndoableQueue,ii as WelcomePage,xo as createTreeView,Js as file2Base64,Do as generateDefaultDocumentTitle,Ys as getDefaultFilter,Zs as getDefaultSortOrder,Yt as getNextPageParam,Jt as getPreviousPageParam,Ro as handleUseParams,$t as importCSVMapper,Xt as legacyResourceTransform,vr as matchResourceFromRoute,Gt as parseTableParams,js as parseTableParamsFromQuery,I as pickNotDeprecated,jt as routeGenerator,zt as setInitialFilters,_t as setInitialSorters,Wt as stringifyTableParams,yt as unionFilters,Kt as unionSorters,G as useActiveAuthProvider,Dn as useApiUrl,Gs as useAuthenticated,Br as useBack,SP as useBreadcrumb,as as useCan,yR as useCanWithoutCache,Ne as useCancelNotification,Ws as useCheckError,Mt as useCreate,Qr as useCreateMany,En as useCustom,Mn as useCustomMutation,Y as useDataProvider,yn as useDelete,vn as useDeleteMany,vg as useExport,yr as useForgotPassword,Vg as useForm,cr as useGetIdentity,pa as useGetLocale,At as useGetToPath,ie as useGo,oe as useHandleNotification,hT as useImport,Qn as useInfiniteList,we as useInvalidate,Ot as useIsAuthenticated,Rr as useIsExistAuthentication,nt as useLink,Et as useList,zo as useLiveMode,j as useLoadingOvertime,Ie as useLog,dP as useLogList,ht as useLogin,Ht as useLogout,Mr as useMany,qa as useMenu,W as useMeta,LT as useModal,Fe as useMutationMode,ae as useNavigation,Ce as useNotification,re as useOnError,Ut as useOne,Fr as useParse,ce as useParsed,Vs as usePermissions,Me as usePublish,es as useRedirectionAfterSubmission,st as useRefineContext,mr as useRegister,F as useResource,Ye as useResourceSubscription,Wo as useResourceWithRoute,te as useRouterContext,z as useRouterType,IR as useSelect,na as useSetLocale,mT as useShow,uy as useSubscription,Vr as useSyncWithLocation,WR as useTable,ya as useTitle,Aa as useToPath,V as useTranslate,Ar as useUpdate,xn as useUpdateMany,Tr as useUpdatePassword,St as useWarnAboutChange,Ze as userFriendlyResourceName};
|
|
70
70
|
//# sourceMappingURL=index.js.map
|