@refinedev/core 4.8.5 → 4.9.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 +57 -0
- package/dist/definitions/helpers/router/compose-route.d.ts +2 -2
- package/dist/definitions/helpers/router/compose-route.d.ts.map +1 -1
- package/dist/definitions/helpers/router/prepare-route-params.d.ts +1 -2
- package/dist/definitions/helpers/router/prepare-route-params.d.ts.map +1 -1
- package/dist/esm/index.js +6 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/hooks/breadcrumb/index.d.ts.map +1 -1
- package/dist/hooks/data/useCreate.d.ts.map +1 -1
- package/dist/hooks/data/useCreateMany.d.ts.map +1 -1
- package/dist/hooks/data/useCustom.d.ts.map +1 -1
- package/dist/hooks/data/useCustomMutation.d.ts.map +1 -1
- package/dist/hooks/data/useDelete.d.ts.map +1 -1
- package/dist/hooks/data/useDeleteMany.d.ts.map +1 -1
- package/dist/hooks/data/useInfiniteList.d.ts.map +1 -1
- package/dist/hooks/data/useList.d.ts.map +1 -1
- package/dist/hooks/data/useMany.d.ts.map +1 -1
- package/dist/hooks/data/useOne.d.ts.map +1 -1
- package/dist/hooks/data/useUpdate.d.ts.map +1 -1
- package/dist/hooks/data/useUpdateMany.d.ts.map +1 -1
- 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/navigation/index.d.ts.map +1 -1
- package/dist/hooks/router/use-get-to-path/index.d.ts.map +1 -1
- package/dist/hooks/show/useShow.d.ts.map +1 -1
- package/dist/hooks/useMeta/index.d.ts +33 -0
- package/dist/hooks/useMeta/index.d.ts.map +1 -0
- package/dist/hooks/useSelect/index.d.ts.map +1 -1
- 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/definitions/helpers/router/__tests__/compose-route.ts +9 -5
- package/src/definitions/helpers/router/__tests__/prepare-route-params.ts +5 -2
- package/src/definitions/helpers/router/compose-route.ts +16 -5
- package/src/definitions/helpers/router/prepare-route-params.ts +4 -16
- package/src/hooks/breadcrumb/index.ts +6 -1
- package/src/hooks/data/useCreate.ts +8 -4
- package/src/hooks/data/useCreateMany.ts +10 -5
- package/src/hooks/data/useCustom.ts +20 -6
- package/src/hooks/data/useCustomMutation.ts +8 -2
- package/src/hooks/data/useDelete.ts +10 -3
- package/src/hooks/data/useDeleteMany.ts +10 -6
- package/src/hooks/data/useInfiniteList.ts +8 -4
- package/src/hooks/data/useList.ts +11 -6
- package/src/hooks/data/useMany.ts +23 -17
- package/src/hooks/data/useOne.ts +21 -14
- package/src/hooks/data/useUpdate.ts +10 -4
- package/src/hooks/data/useUpdateMany.ts +10 -5
- package/src/hooks/form/useForm.ts +13 -6
- package/src/hooks/index.ts +1 -0
- package/src/hooks/navigation/index.ts +54 -19
- package/src/hooks/router/use-get-to-path/index.ts +6 -1
- package/src/hooks/show/useShow.ts +14 -3
- package/src/hooks/useMeta/index.ts +26 -0
- package/src/hooks/useSelect/index.ts +11 -5
- package/src/hooks/useTable/index.ts +9 -3
package/dist/esm/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import kt,{useEffect as _a,useState as Za}from"react";import pt from"react";var ro=pt.createContext({}),oo=({children:e,isProvided:t,...r})=>{let{replace:o}=te(),s=async m=>{var d;try{return await((d=r.login)==null?void 0:d.call(r,m))}catch(f){return Promise.reject(f)}},a=async m=>{var d;try{return await((d=r.register)==null?void 0:d.call(r,m))}catch(f){return Promise.reject(f)}},n=async m=>{var d;try{return await((d=r.logout)==null?void 0:d.call(r,m))}catch(f){return Promise.reject(f)}},i=async m=>{var d;try{return await((d=r.checkAuth)==null?void 0:d.call(r,m)),Promise.resolve()}catch(f){return f!=null&&f.redirectPath&&o(f.redirectPath),Promise.reject(f)}};return pt.createElement(ro.Provider,{value:{...r,login:s,logout:n,checkAuth:i,register:a,isProvided:t}},e)},so=pt.createContext({}),no=({children:e,isProvided:t,...r})=>{let o=async d=>{var f;try{return await((f=r.login)==null?void 0:f.call(r,d))}catch(c){return console.warn("Unhandled Error in login: refine always expects a resolved promise.",c),Promise.reject(c)}},s=async d=>{var f;try{return await((f=r.register)==null?void 0:f.call(r,d))}catch(c){return console.warn("Unhandled Error in register: refine always expects a resolved promise.",c),Promise.reject(c)}},a=async d=>{var f;try{return await((f=r.logout)==null?void 0:f.call(r,d))}catch(c){return console.warn("Unhandled Error in logout: refine always expects a resolved promise.",c),Promise.reject(c)}},n=async d=>{var f;try{let c=await((f=r.check)==null?void 0:f.call(r,d));return Promise.resolve(c)}catch(c){return console.warn("Unhandled Error in check: refine always expects a resolved promise.",c),Promise.reject(c)}},i=async d=>{var f;try{let c=await((f=r.forgotPassword)==null?void 0:f.call(r,d));return Promise.resolve(c)}catch(c){return console.warn("Unhandled Error in forgotPassword: refine always expects a resolved promise.",c),Promise.reject(c)}},m=async d=>{var f;try{let c=await((f=r.updatePassword)==null?void 0:f.call(r,d));return Promise.resolve(c)}catch(c){return console.warn("Unhandled Error in updatePassword: refine always expects a resolved promise.",c),Promise.reject(c)}};return pt.createElement(so.Provider,{value:{...r,login:o,logout:a,check:n,register:s,forgotPassword:i,updatePassword:m,isProvided:t}},e)},Y=()=>pt.useContext(ro),ee=()=>pt.useContext(so);import{useQuery as ao}from"@tanstack/react-query";function As({v3LegacyAuthProviderCompatible:e=!1,options:t}={}){let{getPermissions:r}=Y(),{getPermissions:o}=ee(),s=ao(["usePermissions"],o!=null?o:()=>Promise.resolve(void 0),{enabled:!e&&!!o,...e?{}:t}),a=ao(["usePermissions","v3LegacyAuthProviderCompatible"],r!=null?r:()=>Promise.resolve(void 0),{enabled:e&&!!r,...e?t:{}});return e?a:s}import{useQuery as io}from"@tanstack/react-query";function pr({v3LegacyAuthProviderCompatible:e=!1,queryOptions:t}={}){let{getUserIdentity:r}=Y(),{getIdentity:o}=ee(),s=io(["getUserIdentity"],o!=null?o:()=>Promise.resolve({}),{enabled:!e&&!!o,retry:!1,...e===!0?{}:t}),a=io(["getUserIdentity","v3LegacyAuthProviderCompatible"],r!=null?r:()=>Promise.resolve({}),{enabled:e&&!!r,retry:!1,...e?t:{}});return e?a:s}import{useMutation as uo}from"@tanstack/react-query";import{useQueryClient as Qs}from"@tanstack/react-query";var dt=()=>{let e=Qs();return async()=>{await Promise.all([e.invalidateQueries(["useAuthenticated"]),e.invalidateQueries(["getUserIdentity"]),e.invalidateQueries(["usePermissions"])])}};function Ht({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=dt(),o=N(),s=re(),{push:a}=te(),{open:n,close:i}=ye(),{logout:m}=Y(),{logout:d}=ee(),f=uo(["useLogout"],d,{onSuccess:async(g,P)=>{let{success:E,error:T,redirectTo:u}=g,{redirectPath:l}=P!=null?P:{},R=l!=null?l:u;E&&(i==null||i("useLogout-error")),(T||!E)&&(n==null||n(dr(T))),await r(),R!==!1&&(o==="legacy"?a(R!=null?R:"/login"):R&&s({to:R}))},onError:g=>{n==null||n(dr(g))},...e===!0?{}:t}),c=uo(["useLogout","v3LegacyAuthProviderCompatible"],m,{onSuccess:async(g,P)=>{var T;let E=(T=P==null?void 0:P.redirectPath)!=null?T:g;if(await r(),E!==!1){if(E){o==="legacy"?a(E):s({to:E});return}o==="legacy"?a("/login"):s({to:"/login"})}},onError:g=>{n==null||n(dr(g))},...e?t:{}});return e?c:f}var dr=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 co}from"@tanstack/react-query";import Vs from"qs";function ht({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=dt(),o=N(),s=re(),{replace:a}=te(),n=j(),{useLocation:i}=G(),{search:m}=i(),{close:d,open:f}=ye(),{login:c}=Y(),{login:g}=ee(),P=ks.useMemo(()=>{var u;return o==="legacy"?Vs.parse(m,{ignoreQueryPrefix:!0}).to:(u=n.params)==null?void 0:u.to},[o,n.params,m]),E=co(["useLogin"],g,{onSuccess:async({success:u,redirectTo:l,error:R})=>{u&&(d==null||d("login-error")),(R||!u)&&(f==null||f(lr(R))),await r(),P&&u?o==="legacy"?a(P):s({to:P,type:"replace"}):l?o==="legacy"?a(l):s({to:l,type:"replace"}):o==="legacy"&&a("/")},onError:u=>{f==null||f(lr(u))},...e===!0?{}:t}),T=co(["useLogin","v3LegacyAuthProviderCompatible"],c,{onSuccess:async u=>{await r(),P&&a(P),u!==!1&&!P&&(typeof u=="string"?o==="legacy"?a(u):s({to:u,type:"replace"}):o==="legacy"?a("/"):s({to:"/",type:"replace"})),d==null||d("login-error")},onError:u=>{f==null||f(lr(u))},...e?t:{}});return e?T:E}var lr=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 po}from"@tanstack/react-query";function fr({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=dt(),o=N(),s=re(),{replace:a}=te(),{register:n}=Y(),{register:i}=ee(),{close:m,open:d}=ye(),f=po(["useRegister"],i,{onSuccess:async({success:g,redirectTo:P,error:E})=>{g&&(m==null||m("register-error")),(E||!g)&&(d==null||d(mr(E))),await r(),P?o==="legacy"?a(P):s({to:P,type:"replace"}):o==="legacy"&&a("/")},onError:g=>{d==null||d(mr(g))},...e===!0?{}:t}),c=po(["useRegister","v3LegacyAuthProviderCompatible"],n,{onSuccess:async g=>{await r(),g!==!1&&(g?o==="legacy"?a(g):s({to:g,type:"replace"}):o==="legacy"?a("/"):s({to:"/",type:"replace"}),m==null||m("register-error"))},onError:g=>{d==null||d(mr(g))},...e?t:{}});return e?c:f}var mr=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 lo}from"@tanstack/react-query";function gr({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=N(),o=re(),{replace:s}=te(),{forgotPassword:a}=Y(),{forgotPassword:n}=ee(),{close:i,open:m}=ye(),d=lo(["useForgotPassword"],n,{onSuccess:({success:c,redirectTo:g,error:P})=>{c&&(i==null||i("forgot-password-error")),(P||!c)&&(m==null||m(yr(P))),g&&(r==="legacy"?s(g):o({to:g,type:"replace"}))},onError:c=>{m==null||m(yr(c))},...e===!0?{}:t}),f=lo(["useForgotPassword","v3LegacyAuthProviderCompatible"],a,{onSuccess:c=>{c!==!1&&c&&(r==="legacy"?s(c):o({to:c,type:"replace"})),i==null||i("forgot-password-error")},onError:c=>{m==null||m(yr(c))},...e?t:{}});return e?f:d}var yr=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 Bs from"react";import{useMutation as mo}from"@tanstack/react-query";import Fs from"qs";function Rr({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=N(),o=re(),{replace:s}=te(),{updatePassword:a}=Y(),{updatePassword:n}=ee(),{close:i,open:m}=ye(),d=j(),{useLocation:f}=G(),{search:c}=f(),g=Bs.useMemo(()=>{var T;if(r==="legacy"){let u=Fs.parse(c,{ignoreQueryPrefix:!0});return u!=null?u:{}}else return(T=d.params)!=null?T:{}},[c,d,r]),P=mo(["useUpdatePassword"],async T=>n==null?void 0:n({...g,...T}),{onSuccess:({success:T,redirectTo:u,error:l})=>{T&&(i==null||i("update-password-error")),(l||!T)&&(m==null||m(Tr(l))),u&&(r==="legacy"?s(u):o({to:u,type:"replace"}))},onError:T=>{m==null||m(Tr(T))},...e===!0?{}:t}),E=mo(["useUpdatePassword","v3LegacyAuthProviderCompatible"],async T=>a==null?void 0:a({...g,...T}),{onSuccess:T=>{T!==!1&&T&&(r==="legacy"?s(T):o({to:T,type:"replace"})),i==null||i("update-password-error")},onError:T=>{m==null||m(Tr(T))},...e?t:{}});return e?E:P}var Tr=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 fo}from"@tanstack/react-query";function $t({v3LegacyAuthProviderCompatible:e=!1,params:t}={}){let{checkAuth:r}=Y(),{check:o}=ee(),s=fo(["useAuthenticated",t],async()=>{var n;return(n=await(o==null?void 0:o(t)))!=null?n:{}},{retry:!1,enabled:!e}),a=fo(["useAuthenticated",t,"v3LegacyAuthProviderCompatible"],async()=>{var n;return(n=await(r==null?void 0:r(t)))!=null?n:{}},{retry:!1,enabled:e});return e?a:s}var Ns=$t;import{useMutation as yo}from"@tanstack/react-query";function J({v3LegacyAuthProviderCompatible:e=!1}={}){let t=N(),r=re(),{replace:o}=te(),{checkError:s}=Y(),{onError:a}=ee(),{mutate:n}=Ht({v3LegacyAuthProviderCompatible:Boolean(e)}),{mutate:i}=Ht({v3LegacyAuthProviderCompatible:Boolean(e)}),m=yo(["useCheckError"],a,{onSuccess:({logout:f,redirectTo:c})=>{if(f){i({redirectPath:c});return}if(c){t==="legacy"?o(c):r({to:c,type:"replace"});return}}}),d=yo(["useCheckError","v3LegacyAuthProviderCompatible"],s,{onError:f=>{n({redirectPath:f})}});return e?d:m}var Os=J;var xr=()=>{let{isProvided:e}=Y(),{isProvided:t}=ee();return Boolean(t||e)};import{useQuery as Js}from"@tanstack/react-query";var bt=e=>e/1e3;import Hs from"lodash/zip";import $s from"lodash/fromPairs";var Gt=(e,t=r=>r)=>{let[r,...o]=e;return o.map(s=>$s(Hs(r,s))).map((s,a,n)=>t.call(void 0,s,a,n))};import Po from"pluralize";import Pr from"qs";import go from"lodash/unionWith";import To from"lodash/differenceWith";import Gs from"warn-once";var Wt=e=>{var n;let{current:t,pageSize:r,sorter:o,sorters:s,filters:a}=Pr.parse(e.substring(1));return{parsedCurrent:t&&Number(t),parsedPageSize:r&&Number(r),parsedSorter:(n=C(s,o))!=null?n:[],parsedFilters:a!=null?a:[]}},Ws=e=>{let t=Pr.stringify(e);return Wt(`/${t}`)},Kt=e=>{let t={skipNulls:!0,arrayFormat:"indices",encode:!1},{pagination:r,sorter:o,sorters:s,filters:a,...n}=e;return Pr.stringify({...n,...r||{},sorters:C(s,o),filters:a},t)},Ro=(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,xo=(e,t)=>e.field==t.field,lt=(e,t,r=[])=>(t.filter(s=>(s.operator==="or"||s.operator==="and")&&!s.key).length>1&&Gs(!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`),go(e,t,r,Ro).filter(s=>s.value!==void 0&&s.value!==null&&(s.operator!=="or"||s.operator==="or"&&s.value.length!==0)&&(s.operator!=="and"||s.operator==="and"&&s.value.length!==0))),zt=(e,t)=>go(e,t,xo).filter(r=>r.order!==void 0&&r.order!==null),jt=(e,t)=>[...To(t,e,Ro),...e],_t=(e,t)=>[...To(t,e,xo),...e],Ks=(e,t)=>{if(!t)return;let r=t.find(o=>o.field===e);if(r)return r.order},zs=(e,t,r="eq")=>{let o=t==null?void 0:t.find(s=>{if(s.operator!=="or"&&s.operator!=="and"&&"field"in s){let{operator:a,field:n}=s;return n===e&&a===r}});if(o)return o.value||[]};var js=e=>new Promise((t,r)=>{let o=new FileReader,s=()=>{o.result&&(o.removeEventListener("load",s,!1),t(o.result))};o.addEventListener("load",s,!1),o.readAsDataURL(e.originFileObj),o.onerror=a=>(o.removeEventListener("load",s,!1),r(a))});var mt=(e="",t)=>{let r=qe(e);return t==="singular"?Po.singular(r):Po.plural(r)};var Co=(e={})=>e!=null&&e.id?{...e,id:decodeURIComponent(e.id)}:e;var C=(...e)=>e.find(t=>typeof t<"u");var _=(e,t,r,o)=>{let s=t||"default",a={all:[s],resourceAll:[s,e||""],list:n=>[...a.resourceAll,"list",{...n,...C(r,o)||{}}],many:n=>[...a.resourceAll,"getMany",n&&n.map(String),{...C(r,o)||{}}].filter(i=>i!==void 0),detail:n=>[...a.resourceAll,"detail",n==null?void 0:n.toString(),{...C(r,o)||{}}],logList:n=>["logList",e,n,o].filter(i=>i!==void 0)};return a};var Cr=(e,t)=>!e||!t?!1:!!e.find(r=>r===t);var et=e=>e.startsWith(":");var Ae=e=>e.split("/").filter(r=>r!=="");var hr=(e,t)=>{let r=Ae(e),o=Ae(t);return r.length===o.length};var pe=e=>e.replace(/^\/|\/$/g,"");var br=(e,t)=>{let r=pe(e),o=pe(t);if(!hr(r,o))return!1;let s=Ae(r);return Ae(o).every((n,i)=>et(n)||n===s[i])};var vr=(e,t,r)=>{let o=pe(r||""),s=`${o}${o?"/":""}${e}`;return t==="list"?s=`${s}`:t==="create"?s=`${s}/create`:t==="edit"?s=`${s}/edit/:id`:t==="show"?s=`${s}/show/:id`:t==="clone"&&(s=`${s}/clone/:id`),`/${s.replace(/^\//,"")}`};var Te=(e,t)=>{var s,a;let r=C((s=e.meta)==null?void 0:s.parent,(a=e.options)==null?void 0:a.parent,e.parentName);if(!r)return;let o=t.find(n=>{var i;return((i=n.identifier)!=null?i:n.name)===r});return o!=null?o:{name:r}};var vt=(e,t,r)=>{let o=[],s=Te(e,t);for(;s;)o.push(s),s=Te(s,t);if(o.length!==0)return`/${o.reverse().map(a=>{var i,m;let n=r&&(m=(i=a.options)==null?void 0:i.route)!=null?m:a.name;return pe(n)}).join("/")}`};var ae=(e,t,r)=>{let o=[],s=["list","show","edit","create","clone"],a=vt(e,t,r);return s.forEach(n=>{var d,f,c,g;let i=r&&n==="clone"?e.create:e[n],m;typeof i=="function"||r?m=vr(r&&(g=(c=(d=e.meta)==null?void 0:d.route)!=null?c:(f=e.options)==null?void 0:f.route)!=null?g:e.name,n,r?a:void 0):typeof i=="string"?m=i:typeof i=="object"&&(m=i.path),m&&o.push({action:n,resource:e,route:`/${m.replace(/^\//,"")}`})}),o};var ho=e=>{var s,a;if(e.length===0)return;if(e.length===1)return e[0];let t=e.map(n=>({...n,splitted:Ae(pe(n.route))})),r=(a=(s=t[0])==null?void 0:s.splitted.length)!=null?a:0,o=[...t];for(let n=0;n<r;n++){let i=o.filter(m=>!et(m.splitted[n]));if(i.length!==0){if(i.length===1){o=i;break}o=i}}return o[0]};var Dr=(e,t)=>{let o=t.flatMap(a=>ae(a,t)).filter(a=>br(e,a.route)),s=ho(o);return{found:!!s,resource:s==null?void 0:s.resource,action:s==null?void 0:s.action,matchedRoute:s==null?void 0:s.route}};var Zt=(e,t)=>{var s,a,n;let r,o=vt(e,t,!0);if(o){let i=C(e.meta,e.options);r=`${o}/${(s=i==null?void 0:i.route)!=null?s:e.name}`}else r=(n=(a=e.options)==null?void 0:a.route)!=null?n:e.name;return`/${r.replace(/^\//,"")}`};var bo=e=>{var n,i,m;let t=[],r={},o={},s,a;for(let d=0;d<e.length;d++){s=e[d];let f=(m=(i=s.route)!=null?i:(n=C(s==null?void 0:s.meta,s.options))==null?void 0:n.route)!=null?m:"";r[f]=s,r[f].children=[],o[s.name]=s,o[s.name].children=[]}for(let d in r)r.hasOwnProperty(d)&&(a=r[d],a.parentName&&o[a.parentName]?o[a.parentName].children.push(a):t.push(a));return t};var qe=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 vo from"react";import _s from"react";var Er=({children:e})=>_s.createElement("div",null,e);var Qe={mutationMode:"pessimistic",syncWithLocation:!1,undoableTimeout:5e3,warnWhenUnsavedChanges:!1,liveMode:"off",redirect:{afterCreate:"list",afterClone:"list",afterEdit:"list"}},me=vo.createContext({hasDashboard:!1,mutationMode:"pessimistic",warnWhenUnsavedChanges:!1,syncWithLocation:!1,undoableTimeout:5e3,Title:void 0,Sider:void 0,Header:void 0,Footer:void 0,Layout:Er,OffLayoutArea:void 0,liveMode:"off",onLiveEvent:void 0,options:Qe}),Do=({hasDashboard:e,mutationMode:t,warnWhenUnsavedChanges:r,syncWithLocation:o,undoableTimeout:s,children:a,DashboardPage:n,Title:i,Layout:m=Er,Header:d,Sider:f,Footer:c,OffLayoutArea:g,LoginPage:P=Ur,catchAll:E,liveMode:T="off",onLiveEvent:u,options:l})=>vo.createElement(me.Provider,{value:{hasDashboard:e,mutationMode:t,warnWhenUnsavedChanges:r,syncWithLocation:o,Title:i,undoableTimeout:s,Layout:m,Header:d,Sider:f,Footer:c,OffLayoutArea:g,DashboardPage:n,LoginPage:P,catchAll:E,liveMode:T,onLiveEvent:u,options:l}},a);var Lr=({options:e,disableTelemetry:t,liveMode:r,mutationMode:o,reactQueryClientConfig:s,reactQueryDevtoolConfig:a,syncWithLocation:n,undoableTimeout:i,warnWhenUnsavedChanges:m}={})=>{var g,P,E,T,u,l,R,h,b,y,p,x,v,D,U,L,M,I,S,k,F,w,B,O;let d={breadcrumb:e==null?void 0:e.breadcrumb,mutationMode:(P=(g=e==null?void 0:e.mutationMode)!=null?g:o)!=null?P:Qe.mutationMode,undoableTimeout:(T=(E=e==null?void 0:e.undoableTimeout)!=null?E:i)!=null?T:Qe.undoableTimeout,syncWithLocation:(l=(u=e==null?void 0:e.syncWithLocation)!=null?u:n)!=null?l:Qe.syncWithLocation,warnWhenUnsavedChanges:(h=(R=e==null?void 0:e.warnWhenUnsavedChanges)!=null?R:m)!=null?h:Qe.warnWhenUnsavedChanges,liveMode:(y=(b=e==null?void 0:e.liveMode)!=null?b:r)!=null?y:Qe.liveMode,redirect:{afterCreate:(x=(p=e==null?void 0:e.redirect)==null?void 0:p.afterCreate)!=null?x:Qe.redirect.afterCreate,afterClone:(D=(v=e==null?void 0:e.redirect)==null?void 0:v.afterClone)!=null?D:Qe.redirect.afterClone,afterEdit:(L=(U=e==null?void 0:e.redirect)==null?void 0:U.afterEdit)!=null?L:Qe.redirect.afterEdit}},f=(I=(M=e==null?void 0:e.disableTelemetry)!=null?M:t)!=null?I:!1,c={clientConfig:(F=(k=(S=e==null?void 0:e.reactQuery)==null?void 0:S.clientConfig)!=null?k:s)!=null?F:{},devtoolConfig:(O=(B=(w=e==null?void 0:e.reactQuery)==null?void 0:w.devtoolConfig)!=null?B:a)!=null?O:{}};return{optionsWithDefaults:d,disableTelemetryWithDefault:f,reactQueryWithDefaults:c}};var Ir=({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 Yt=async(e,t,r)=>{let o=[];for(let[s,a]of e.entries())try{let n=await a();o.push(t(n,s))}catch(n){o.push(r(n,s))}return o};var $=(e,t=[],r=!1)=>{if(!e)return;if(r){let s=t.find(n=>{var i;return pe((i=n.route)!=null?i:"")===pe(e)});return s||t.find(n=>n.name===e)}return t.find(s=>{var a;return((a=s.identifier)!=null?a:s.name)===e})};var Q=(e,t,r)=>{if(t)return t;let o=$(e,r),s=C(o==null?void 0:o.meta,o==null?void 0:o.options);return s!=null&&s.dataProviderName?s.dataProviderName:"default"};var Fe=async e=>({data:(await Promise.all(e)).map(t=>t.data)});var Jt=e=>{let{pagination:t,cursor:r}=e;if(r!=null&&r.next)return r.next;let o=(t==null?void 0:t.current)||1,s=(t==null?void 0:t.pageSize)||10,a=Math.ceil((e.total||0)/s);return o<a?Number(o)+1:void 0},Xt=e=>{let{pagination:t,cursor:r}=e;if(r!=null&&r.prev)return r.prev;let o=(t==null?void 0:t.current)||1;return o===1?void 0:o-1};var qt=e=>{let t=[];return e==null||e.forEach(r=>{var o,s,a;t.push({...r,label:(a=(o=r.meta)==null?void 0:o.label)!=null?a:(s=r.options)==null?void 0:s.label,route:Zt(r,e),canCreate:!!r.create,canEdit:!!r.edit,canShow:!!r.show,canDelete:r.canDelete})}),t};var Eo=e=>Ae(pe(e)).flatMap(r=>et(r)?[r.slice(1)]:[]);var Uo=(e,t={},r={})=>e.reduce((o,s)=>{var n;let a=r[s]||((n=t.params)==null?void 0:n[s])||(s==="id"?t.id:void 0)||(s==="action"?t.action:void 0)||(s==="resource"?t.resource:void 0);return typeof a<"u"&&(o[s]=a),o},{});var de=(e,t={},r={})=>{let o=Eo(e),s=Uo(o,t,r);return e.replace(/:([^\/]+)/g,(a,n)=>{let i=s[n];return typeof i<"u"?`${i}`:a})};var H=()=>{let e=Y(),t=ee();return t.isProvided?{isLegacy:!1,...t}:e.isProvided?{isLegacy:!0,...e,check:e.checkAuth,onError:e.checkError,getIdentity:e.getUserIdentity}:null};var Dt=({hasPagination:e,pagination:t,configPagination:r}={})=>{var i,m,d;let o=e===!1?"off":"server",s=(i=t==null?void 0:t.mode)!=null?i:o,a=(m=C(t==null?void 0:t.current,r==null?void 0:r.current))!=null?m:1,n=(d=C(t==null?void 0:t.pageSize,r==null?void 0:r.pageSize))!=null?d:10;return{current:a,pageSize:n,mode:s}};import{useState as Zs,useEffect as Ys}from"react";var er=e=>{let[t,r]=Zs(!1);return Ys(()=>{let o=window.matchMedia(e);o.matches!==t&&r(o.matches);let s=()=>r(o.matches);return window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[t,e]),t};var Et=({resource:e,config:t,filters:r,hasPagination:o,pagination:s,sorters:a,queryOptions:n,successNotification:i,errorNotification:m,meta:d,metaData:f,liveMode:c,onLiveEvent:g,liveParams:P,dataProviderName:E})=>{let{resources:T}=A(),u=W(),l=V(),R=H(),{mutate:h}=J({v3LegacyAuthProviderCompatible:Boolean(R==null?void 0:R.isLegacy)}),b=X(),y=Q(e,E,T),p=C(d,f),x=C(r,t==null?void 0:t.filters),v=C(a,t==null?void 0:t.sort),D=C(o,t==null?void 0:t.hasPagination),U=Dt({pagination:s,configPagination:t==null?void 0:t.pagination,hasPagination:D}),L=U.mode==="server",M={meta:p,metaData:p,filters:x,hasPagination:L,pagination:U,sorters:v,config:{...t,sort:v}},I=(n==null?void 0:n.enabled)===void 0||(n==null?void 0:n.enabled)===!0,S=_(e,y,p,p),{getList:k}=u(y);return _e({resource:e,types:["*"],params:{meta:p,metaData:p,pagination:U,hasPagination:L,sort:v,sorters:v,filters:x,subscriptionType:"useList",...P},channel:`resources/${e}`,enabled:I,liveMode:c,onLiveEvent:g}),Js(S.list({filters:x,hasPagination:L,...L&&{pagination:U},...a&&{sorters:a},...(t==null?void 0:t.sort)&&{sort:t==null?void 0:t.sort}}),({queryKey:w,pageParam:B,signal:O})=>k({resource:e,pagination:U,hasPagination:L,filters:x,sort:v,sorters:v,meta:{...p||{},queryContext:{queryKey:w,pageParam:B,signal:O}},metaData:{...p||{},queryContext:{queryKey:w,pageParam:B,signal:O}}}),{...n,enabled:typeof(n==null?void 0:n.enabled)<"u"?n==null?void 0:n.enabled:!!e,select:w=>{var z;let B=w,{current:O,mode:fe,pageSize:ve}=U;return fe==="client"&&(B={...B,data:B.data.slice((O-1)*ve,O*ve),total:B.total}),n!=null&&n.select?(z=n==null?void 0:n.select)==null?void 0:z.call(n,B):B},onSuccess:w=>{var O;(O=n==null?void 0:n.onSuccess)==null||O.call(n,w);let B=typeof i=="function"?i(w,M,e):i;b(B)},onError:w=>{var O;h(w),(O=n==null?void 0:n.onError)==null||O.call(n,w);let B=typeof m=="function"?m(w,M,e):m;b(B,{key:`${e}-useList-notification`,message:l("notifications.error",{statusCode:w.statusCode},`Error (status code: ${w.statusCode})`),description:w.message,type:"error"})}})};import{useQuery as Xs}from"@tanstack/react-query";var Ut=({resource:e,id:t,queryOptions:r,successNotification:o,errorNotification:s,meta:a,metaData:n,liveMode:i,onLiveEvent:m,liveParams:d,dataProviderName:f})=>{let{resources:c}=A(),g=W(),P=_(e,Q(e,f,c),C(a,n),C(a,n)),{getOne:E}=g(Q(e,f,c)),T=V(),u=H(),{mutate:l}=J({v3LegacyAuthProviderCompatible:Boolean(u==null?void 0:u.isLegacy)}),R=X();return _e({resource:e,types:["*"],channel:`resources/${e}`,params:{ids:t?[t]:[],id:t,meta:C(a,n),metaData:C(a,n),subscriptionType:"useOne",...d},enabled:typeof(r==null?void 0:r.enabled)<"u"?r==null?void 0:r.enabled:typeof e<"u"&&typeof t<"u",liveMode:i,onLiveEvent:m}),Xs(P.detail(t),({queryKey:b,pageParam:y,signal:p})=>E({resource:e,id:t,meta:{...C(a,n)||{},queryContext:{queryKey:b,pageParam:y,signal:p}},metaData:{...C(a,n)||{},queryContext:{queryKey:b,pageParam:y,signal:p}}}),{...r,enabled:typeof(r==null?void 0:r.enabled)<"u"?r==null?void 0:r.enabled:typeof t<"u",onSuccess:b=>{var p;(p=r==null?void 0:r.onSuccess)==null||p.call(r,b);let y=typeof o=="function"?o(b,{id:t,...C(a,n)||{}},e):o;R(y)},onError:b=>{var p;l(b),(p=r==null?void 0:r.onError)==null||p.call(r,b);let y=typeof s=="function"?s(b,{id:t,...C(a,n)||{}},e):s;R(y,{key:`${t}-${e}-getOne-notification`,message:T("notifications.error",{statusCode:b.statusCode},`Error (status code: ${b.statusCode})`),description:b.message,type:"error"})}})};import{useQuery as qs}from"@tanstack/react-query";var Mr=({resource:e,ids:t,queryOptions:r,successNotification:o,errorNotification:s,meta:a,metaData:n,liveMode:i,onLiveEvent:m,liveParams:d,dataProviderName:f})=>{let{resources:c}=A(),g=W(),P=_(e,Q(e,f,c),C(a,n),C(a,n)),{getMany:E,getOne:T}=g(Q(e,f,c)),u=V(),l=H(),{mutate:R}=J({v3LegacyAuthProviderCompatible:Boolean(l==null?void 0:l.isLegacy)}),h=X(),b=(r==null?void 0:r.enabled)===void 0||(r==null?void 0:r.enabled)===!0;return _e({resource:e,types:["*"],params:{ids:t!=null?t:[],meta:C(a,n),metaData:C(a,n),subscriptionType:"useMany",...d},channel:`resources/${e}`,enabled:b,liveMode:i,onLiveEvent:m}),qs(P.many(t),({queryKey:p,pageParam:x,signal:v})=>E?E({resource:e,ids:t,meta:{...C(a,n)||{},queryContext:{queryKey:p,pageParam:x,signal:v}},metaData:{...C(a,n)||{},queryContext:{queryKey:p,pageParam:x,signal:v}}}):Fe(t.map(D=>T({resource:e,id:D,meta:{...C(a,n)||{},queryContext:{queryKey:p,pageParam:x,signal:v}},metaData:{...C(a,n)||{},queryContext:{queryKey:p,pageParam:x,signal:v}}}))),{...r,onSuccess:p=>{var v;(v=r==null?void 0:r.onSuccess)==null||v.call(r,p);let x=typeof o=="function"?o(p,t,e):o;h(x)},onError:p=>{var v;R(p),(v=r==null?void 0:r.onError)==null||v.call(r,p);let x=typeof s=="function"?s(p,t,e):s;h(x,{key:`${t[0]}-${e}-getMany-notification`,message:u("notifications.error",{statusCode:p.statusCode},`Error (status code: ${p.statusCode})`),description:p.message,type:"error"})}})};import{useMutation as on,useQueryClient as sn}from"@tanstack/react-query";import Sr,{useReducer as en}from"react";import wr from"lodash-es/isEqual";var tr=Sr.createContext({notifications:[],notificationDispatch:()=>!1}),tn=[],rn=(e,t)=>{switch(t.type){case"ADD":return[...e.filter(o=>!(wr(o.id,t.payload.id)&&o.resource==t.payload.resource)),{...t.payload,isRunning:!0}];case"REMOVE":return e.filter(o=>!(wr(o.id,t.payload.id)&&o.resource==t.payload.resource));case"DECREASE_NOTIFICATION_SECOND":return e.map(o=>wr(o.id,t.payload.id)&&o.resource==t.payload.resource?{...o,seconds:t.payload.seconds-1e3}:o);default:return e}},Ar=({children:e})=>{let[t,r]=en(rn,tn),o={notifications:t,notificationDispatch:r};return Sr.createElement(tr.Provider,{value:o},e,typeof window<"u"&&t.map(s=>Sr.createElement(Lo,{key:`${s.id}-${s.resource}-queue`,notification:s})))};import Io from"pluralize";var Qr=({mutationOptions:e}={})=>{let{resources:t}=A(),r=sn(),o=W(),{mutationMode:s,undoableTimeout:a}=Me(),n=V(),i=H(),{mutate:m}=J({v3LegacyAuthProviderCompatible:Boolean(i==null?void 0:i.isLegacy)}),d=Pe(),{log:f}=Ce(),{notificationDispatch:c}=ke(),g=X(),P=he();return on(({id:T,values:u,resource:l,mutationMode:R,undoableTimeout:h,onCancel:b,meta:y,metaData:p,dataProviderName:x})=>{let v=R!=null?R:s,D=h!=null?h:a;return v!=="undoable"?o(Q(l,x,t)).update({resource:l,id:T,variables:u,meta:C(y,p),metaData:C(y,p)}):new Promise((L,M)=>{let I=()=>{o(Q(l,x,t)).update({resource:l,id:T,variables:u,meta:C(y,p),metaData:C(y,p)}).then(k=>L(k)).catch(k=>M(k))},S=()=>{M({message:"mutationCancelled"})};b&&b(S),c({type:"ADD",payload:{id:T,resource:l,cancelMutation:S,doMutation:I,seconds:D,isSilent:!!b}})})},{onMutate:async({resource:T,id:u,mutationMode:l,values:R,dataProviderName:h})=>{let b=_(T,Q(T,h,t)),y=r.getQueriesData(b.resourceAll),p=l!=null?l:s;return await r.cancelQueries(b.resourceAll,void 0,{silent:!0}),p!=="pessimistic"&&(r.setQueriesData(b.list(),x=>{if(!x)return null;let v=x.data.map(D=>{var U;return((U=D.id)==null?void 0:U.toString())===(u==null?void 0:u.toString())?{id:u,...D,...R}:D});return{...x,data:v}}),r.setQueriesData(b.many(),x=>{if(!x)return null;let v=x.data.map(D=>{var U;return((U=D.id)==null?void 0:U.toString())===(u==null?void 0:u.toString())&&(D={id:u,...D,...R}),D});return{...x,data:v}}),r.setQueriesData(b.detail(u),x=>x?{...x,data:{...x.data,...R}}:null)),{previousQueries:y,queryKey:b}},onSettled:(T,u,{id:l,resource:R,dataProviderName:h,invalidates:b=["list","many","detail"]})=>{P({resource:R,dataProviderName:Q(R,h,t),invalidates:b,id:l}),c({type:"REMOVE",payload:{id:l,resource:R}})},onSuccess:(T,{id:u,resource:l,successNotification:R,dataProviderName:h,values:b,meta:y,metaData:p},x)=>{var k;let v=Io.singular(l),D=typeof R=="function"?R(T,{id:u,values:b},l):R;g(D,{key:`${u}-${l}-notification`,description:n("notifications.success","Successful"),message:n("notifications.editSuccess",{resource:n(`${l}.${l}`,v)},`Successfully updated ${v}`),type:"success"}),d==null||d({channel:`resources/${l}`,type:"updated",payload:{ids:(k=T.data)!=null&&k.id?[T.data.id]:void 0},date:new Date});let U;if(x){let F=r.getQueryData(x.queryKey.detail(u));U=Object.keys(b||{}).reduce((w,B)=>{var O;return w[B]=(O=F==null?void 0:F.data)==null?void 0:O[B],w},{})}let{fields:L,operation:M,variables:I,...S}=C(y,p)||{};f==null||f.mutate({action:"update",resource:l,data:b,previousData:U,meta:{id:u,dataProviderName:Q(l,h,t),...S}})},onError:(T,{id:u,resource:l,errorNotification:R,values:h},b)=>{if(b)for(let y of b.previousQueries)r.setQueryData(y[0],y[1]);if(T.message!=="mutationCancelled"){m==null||m(T);let y=Io.singular(l),p=typeof R=="function"?R(T,{id:u,values:h},l):R;g(p,{key:`${u}-${l}-notification`,message:n("notifications.editError",{resource:n(`${l}.${l}`,y),statusCode:T.statusCode},`Error when updating ${y} (status code: ${T.statusCode})`),description:T.message,type:"error"})}},...e})};import{useMutation as nn}from"@tanstack/react-query";import Mo from"pluralize";var Lt=({mutationOptions:e}={})=>{let t=H(),{mutate:r}=J({v3LegacyAuthProviderCompatible:Boolean(t==null?void 0:t.isLegacy)}),o=W(),s=he(),{resources:a}=A(),n=V(),i=Pe(),{log:m}=Ce(),d=X();return nn(({resource:c,values:g,meta:P,metaData:E,dataProviderName:T})=>o(Q(c,T,a)).create({resource:c,variables:g,meta:C(P,E),metaData:C(P,E)}),{onSuccess:(c,{resource:g,successNotification:P,dataProviderName:E,invalidates:T=["list","many"],values:u,meta:l,metaData:R})=>{var D,U,L;let h=Mo.singular(g),b=typeof P=="function"?P(c,u,g):P;d(b,{key:`create-${g}-notification`,message:n("notifications.createSuccess",{resource:n(`${g}.${g}`,h)},`Successfully created ${h}`),description:n("notifications.success","Success"),type:"success"}),s({resource:g,dataProviderName:Q(g,E,a),invalidates:T}),i==null||i({channel:`resources/${g}`,type:"created",payload:{ids:(D=c==null?void 0:c.data)!=null&&D.id?[c.data.id]:void 0},date:new Date});let{fields:y,operation:p,variables:x,...v}=C(l,R)||{};m==null||m.mutate({action:"create",resource:g,data:u,meta:{dataProviderName:Q(g,E,a),id:(L=(U=c==null?void 0:c.data)==null?void 0:U.id)!=null?L:void 0,...v}})},onError:(c,{resource:g,errorNotification:P,values:E})=>{r(c);let T=Mo.singular(g),u=typeof P=="function"?P(c,E,g):P;d(u,{key:`create-${g}-notification`,description:c.message,message:n("notifications.createError",{resource:n(`${g}.${g}`,T),statusCode:c.statusCode},`There was an error creating ${T} (status code: ${c.statusCode})`),type:"error"})},...e})};import{useQueryClient as an,useMutation as un}from"@tanstack/react-query";import wo from"pluralize";var cn=({mutationOptions:e}={})=>{let t=H(),{mutate:r}=J({v3LegacyAuthProviderCompatible:Boolean(t==null?void 0:t.isLegacy)}),o=W(),{resources:s}=A(),a=an(),{mutationMode:n,undoableTimeout:i}=Me(),{notificationDispatch:m}=ke(),d=V(),f=Pe(),{log:c}=Ce(),g=X(),P=he();return un(({id:T,mutationMode:u,undoableTimeout:l,resource:R,onCancel:h,meta:b,metaData:y,dataProviderName:p,values:x})=>{let v=u!=null?u:n,D=l!=null?l:i;return v!=="undoable"?o(Q(R,p,s)).deleteOne({resource:R,id:T,meta:C(b,y),metaData:C(b,y),variables:x}):new Promise((L,M)=>{let I=()=>{o(Q(R,p,s)).deleteOne({resource:R,id:T,meta:C(b,y),variables:x}).then(k=>L(k)).catch(k=>M(k))},S=()=>{M({message:"mutationCancelled"})};h&&h(S),m({type:"ADD",payload:{id:T,resource:R,cancelMutation:S,doMutation:I,seconds:D,isSilent:!!h}})})},{onMutate:async({id:T,resource:u,mutationMode:l,dataProviderName:R})=>{let h=_(u,Q(u,R,s)),b=l!=null?l:n;await a.cancelQueries(h.resourceAll,void 0,{silent:!0});let y=a.getQueriesData(h.resourceAll);return b!=="pessimistic"&&(a.setQueriesData(h.list(),p=>p?{data:p.data.filter(v=>{var D;return((D=v.id)==null?void 0:D.toString())!==T.toString()}),total:p.total-1}:null),a.setQueriesData(h.many(),p=>{if(!p)return null;let x=p.data.filter(v=>{var D;return((D=v.id)==null?void 0:D.toString())!==(T==null?void 0:T.toString())});return{...p,data:x}})),{previousQueries:y,queryKey:h}},onSettled:(T,u,{id:l,resource:R,dataProviderName:h,invalidates:b=["list","many"]})=>{P({resource:R,dataProviderName:Q(R,h,s),invalidates:b}),m({type:"REMOVE",payload:{id:l,resource:R}})},onSuccess:(T,{id:u,resource:l,successNotification:R,dataProviderName:h,meta:b,metaData:y},p)=>{let x=wo.singular(l!=null?l:"");a.removeQueries(p==null?void 0:p.queryKey.detail(u));let v=typeof R=="function"?R(T,u,l):R;g(v,{key:`${u}-${l}-notification`,description:d("notifications.success","Success"),message:d("notifications.deleteSuccess",{resource:d(`${l}.${l}`,x)},`Successfully deleted a ${x}`),type:"success"}),f==null||f({channel:`resources/${l}`,type:"deleted",payload:{ids:u?[u]:[]},date:new Date});let{fields:D,operation:U,variables:L,...M}=C(b,y)||{};c==null||c.mutate({action:"delete",resource:l,meta:{id:u,dataProviderName:Q(l,h,s),...M}}),a.removeQueries(p==null?void 0:p.queryKey.detail(u))},onError:(T,{id:u,resource:l,errorNotification:R},h)=>{if(h)for(let b of h.previousQueries)a.setQueryData(b[0],b[1]);if(T.message!=="mutationCancelled"){r(T);let b=wo.singular(l!=null?l:""),y=typeof R=="function"?R(T,u,l):R;g(y,{key:`${u}-${l}-notification`,message:d("notifications.deleteError",{resource:b,statusCode:T.statusCode},`Error (status code: ${T.statusCode})`),description:T.message,type:"error"})}},...e})};import{useMutation as pn}from"@tanstack/react-query";import dn from"pluralize";var kr=({mutationOptions:e}={})=>{let t=W(),{resources:r}=A(),o=V(),s=Pe(),a=X(),n=he(),{log:i}=Ce();return pn(({resource:d,values:f,meta:c,metaData:g,dataProviderName:P})=>{let E=t(Q(d,P,r));return E.createMany?E.createMany({resource:d,variables:f,meta:C(c,g),metaData:C(c,g)}):Fe(f.map(T=>E.create({resource:d,variables:T,meta:C(c,g),metaData:C(c,g)})))},{onSuccess:(d,{resource:f,successNotification:c,dataProviderName:g,invalidates:P=["list","many"],values:E,meta:T,metaData:u})=>{let l=dn.plural(f),R=typeof c=="function"?c(d,E,f):c;a(R,{key:`createMany-${f}-notification`,message:o("notifications.createSuccess",{resource:o(`${f}.${f}`,f)},`Successfully created ${l}`),description:o("notifications.success","Success"),type:"success"}),n({resource:f,dataProviderName:Q(f,g,r),invalidates:P});let h=d==null?void 0:d.data.filter(v=>(v==null?void 0:v.id)!==void 0).map(v=>v.id);s==null||s({channel:`resources/${f}`,type:"created",payload:{ids:h},date:new Date});let{fields:b,operation:y,variables:p,...x}=C(T,u)||{};i==null||i.mutate({action:"createMany",resource:f,data:E,meta:{dataProviderName:Q(f,g,r),ids:h,...x}})},onError:(d,{resource:f,errorNotification:c,values:g})=>{let P=typeof c=="function"?c(d,g,f):c;a(P,{key:`createMany-${f}-notification`,description:d.message,message:o("notifications.createError",{resource:o(`${f}.${f}`,f),statusCode:d.statusCode},`There was an error creating ${f} (status code: ${d.statusCode}`),type:"error"})},...e})};import{useMutation as ln,useQueryClient as mn}from"@tanstack/react-query";import So from"pluralize";var fn=({mutationOptions:e}={})=>{let{resources:t}=A(),r=mn(),o=W(),s=V(),{mutationMode:a,undoableTimeout:n}=Me(),i=H(),{mutate:m}=J({v3LegacyAuthProviderCompatible:Boolean(i==null?void 0:i.isLegacy)}),{notificationDispatch:d}=ke(),f=Pe(),c=X(),g=he(),{log:P}=Ce();return ln(({ids:T,values:u,resource:l,onCancel:R,mutationMode:h,undoableTimeout:b,meta:y,metaData:p,dataProviderName:x})=>{let v=h!=null?h:a,D=b!=null?b:n,U=o(Q(l,x,t)),L=()=>U.updateMany?U.updateMany({resource:l,ids:T,variables:u,meta:C(y,p),metaData:C(y,p)}):Fe(T.map(I=>U.update({resource:l,id:I,variables:u,meta:C(y,p),metaData:C(y,p)})));return v!=="undoable"?L():new Promise((I,S)=>{let k=()=>{L().then(w=>I(w)).catch(w=>S(w))},F=()=>{S({message:"mutationCancelled"})};R&&R(F),d({type:"ADD",payload:{id:T,resource:l,cancelMutation:F,doMutation:k,seconds:D,isSilent:!!R}})})},{onMutate:async({resource:T,ids:u,values:l,mutationMode:R,dataProviderName:h,meta:b,metaData:y})=>{let p=_(T,Q(T,h,t),C(b,y),C(b,y)),x=R!=null?R:a;await r.cancelQueries(p.resourceAll,void 0,{silent:!0});let v=r.getQueriesData(p.resourceAll);if(x!=="pessimistic"){r.setQueriesData(p.list(),D=>{if(!D)return null;let U=D.data.map(L=>L.id!==void 0&&u.filter(M=>M!==void 0).map(String).includes(L.id.toString())?{...L,...l}:L);return{...D,data:U}}),r.setQueriesData(p.many(),D=>{if(!D)return null;let U=D.data.map(L=>L.id!==void 0&&u.filter(M=>M!==void 0).map(String).includes(L.id.toString())?{...L,...l}:L);return{...D,data:U}});for(let D of u)r.setQueriesData(p.detail(D),U=>{if(!U)return null;let L={...U.data,...l};return{...U,data:L}})}return{previousQueries:v,queryKey:p}},onSettled:(T,u,{ids:l,resource:R,dataProviderName:h})=>{g({resource:R,invalidates:["list","many"],dataProviderName:Q(R,h,t)}),l.forEach(b=>g({resource:R,invalidates:["detail"],dataProviderName:Q(R,h,t),id:b})),d({type:"REMOVE",payload:{id:l,resource:R}})},onSuccess:(T,{ids:u,resource:l,meta:R,metaData:h,dataProviderName:b,successNotification:y,values:p},x)=>{let v=So.singular(l),D=typeof y=="function"?y(T,{ids:u,values:p},l):y;c(D,{key:`${u}-${l}-notification`,description:s("notifications.success","Successful"),message:s("notifications.editSuccess",{resource:s(`${l}.${l}`,l)},`Successfully updated ${v}`),type:"success"}),f==null||f({channel:`resources/${l}`,type:"updated",payload:{ids:u.map(String)},date:new Date});let U=[];x&&u.forEach(k=>{let F=r.getQueryData(x.queryKey.detail(k));U.push(Object.keys(p||{}).reduce((w,B)=>{var O;return w[B]=(O=F==null?void 0:F.data)==null?void 0:O[B],w},{}))});let{fields:L,operation:M,variables:I,...S}=C(R,h)||{};P==null||P.mutate({action:"updateMany",resource:l,data:p,previousData:U,meta:{ids:u,dataProviderName:Q(l,b,t),...S}})},onError:(T,{ids:u,resource:l,errorNotification:R,values:h},b)=>{if(b)for(let y of b.previousQueries)r.setQueryData(y[0],y[1]);if(T.message!=="mutationCancelled"){m==null||m(T);let y=So.singular(l),p=typeof R=="function"?R(T,{ids:u,values:h},l):R;c(p,{key:`${u}-${l}-updateMany-error-notification`,message:s("notifications.editError",{resource:y,statusCode:T.statusCode},`Error when updating ${y} (status code: ${T.statusCode})`),description:T.message,type:"error"})}},...e})};import{useQueryClient as yn,useMutation as gn}from"@tanstack/react-query";import Tn from"pluralize";var Rn=({mutationOptions:e}={})=>{let t=H(),{mutate:r}=J({v3LegacyAuthProviderCompatible:Boolean(t==null?void 0:t.isLegacy)}),{mutationMode:o,undoableTimeout:s}=Me(),a=W(),{notificationDispatch:n}=ke(),i=V(),m=Pe(),d=X(),f=he(),{log:c}=Ce(),{resources:g}=A(),P=yn();return gn(({resource:T,ids:u,mutationMode:l,undoableTimeout:R,onCancel:h,meta:b,metaData:y,dataProviderName:p,values:x})=>{let v=l!=null?l:o,D=R!=null?R:s,U=a(Q(T,p,g)),L=()=>U.deleteMany?U.deleteMany({resource:T,ids:u,meta:C(b,y),metaData:C(b,y),variables:x}):Fe(u.map(I=>U.deleteOne({resource:T,id:I,meta:C(b,y),metaData:C(b,y),variables:x})));return v!=="undoable"?L():new Promise((I,S)=>{let k=()=>{L().then(w=>I(w)).catch(w=>S(w))},F=()=>{S({message:"mutationCancelled"})};h&&h(F),n({type:"ADD",payload:{id:u,resource:T,cancelMutation:F,doMutation:k,seconds:D,isSilent:!!h}})})},{onMutate:async({ids:T,resource:u,mutationMode:l,dataProviderName:R})=>{let h=_(u,Q(u,R,g)),b=l!=null?l:o;await P.cancelQueries(h.resourceAll,void 0,{silent:!0});let y=P.getQueriesData(h.resourceAll);if(b!=="pessimistic"){P.setQueriesData(h.list(),p=>p?{data:p.data.filter(v=>v.id&&!T.map(String).includes(v.id.toString())),total:p.total-1}:null),P.setQueriesData(h.many(),p=>{if(!p)return null;let x=p.data.filter(v=>v.id?!T.map(String).includes(v.id.toString()):!1);return{...p,data:x}});for(let p of T)P.setQueriesData(h.detail(p),x=>!x||x.data.id==p?null:{...x})}return{previousQueries:y,queryKey:h}},onSettled:(T,u,{resource:l,ids:R,dataProviderName:h,invalidates:b=["list","many"]})=>{f({resource:l,dataProviderName:Q(l,h,g),invalidates:b}),n({type:"REMOVE",payload:{id:R,resource:l}})},onSuccess:(T,{ids:u,resource:l,meta:R,metaData:h,dataProviderName:b,successNotification:y},p)=>{u.forEach(M=>P.removeQueries(p==null?void 0:p.queryKey.detail(M)));let x=typeof y=="function"?y(T,u,l):y;d(x,{key:`${u}-${l}-notification`,description:i("notifications.success","Success"),message:i("notifications.deleteSuccess",{resource:i(`${l}.${l}`,l)},`Successfully deleted ${l}`),type:"success"}),m==null||m({channel:`resources/${l}`,type:"deleted",payload:{ids:u},date:new Date});let{fields:v,operation:D,variables:U,...L}=C(R,h)||{};c==null||c.mutate({action:"deleteMany",resource:l,meta:{ids:u,dataProviderName:Q(l,b,g),...L}}),u.forEach(M=>P.removeQueries(p==null?void 0:p.queryKey.detail(M)))},onError:(T,{ids:u,resource:l,errorNotification:R},h)=>{if(h)for(let b of h.previousQueries)P.setQueryData(b[0],b[1]);if(T.message!=="mutationCancelled"){r(T);let b=Tn.singular(l),y=typeof R=="function"?R(T,u,l):R;d(y,{key:`${u}-${l}-notification`,message:i("notifications.deleteError",{resource:b,statusCode:T.statusCode},`Error (status code: ${T.statusCode})`),description:T.message,type:"error"})}},...e})};var xn=e=>{let t=W(),{getApiUrl:r}=t(e);return r()};import{useQuery as Pn}from"@tanstack/react-query";var Cn=({url:e,method:t,config:r,queryOptions:o,successNotification:s,errorNotification:a,meta:n,metaData:i,dataProviderName:m})=>{let d=W(),{custom:f}=d(m),c=H(),{mutate:g}=J({v3LegacyAuthProviderCompatible:Boolean(c==null?void 0:c.isLegacy)}),P=V(),E=X();if(f)return Pn({queryKey:[m,"custom",t,e,{...r,...C(n,i)||{}}],queryFn:({queryKey:u,pageParam:l,signal:R})=>f({url:e,method:t,...r,metaData:{...C(n,i)||{},queryContext:{queryKey:u,pageParam:l,signal:R}}}),...o,onSuccess:u=>{var R;(R=o==null?void 0:o.onSuccess)==null||R.call(o,u);let l=typeof s=="function"?s(u,{...r,...C(n,i)||{}}):s;E(l)},onError:u=>{var R;g(u),(R=o==null?void 0:o.onError)==null||R.call(o,u);let l=typeof a=="function"?a(u,{...r,...C(n,i)||{}}):a;E(l,{key:`${t}-notification`,message:P("notifications.error",{statusCode:u.statusCode},`Error (status code: ${u.statusCode})`),description:u.message,type:"error"})}});throw Error("Not implemented custom on data provider.")};import{useMutation as hn}from"@tanstack/react-query";var bn=({mutationOptions:e}={})=>{let t=H(),{mutate:r}=J({v3LegacyAuthProviderCompatible:Boolean(t==null?void 0:t.isLegacy)}),o=X(),s=W(),a=V();return hn(({url:i,method:m,values:d,meta:f,metaData:c,dataProviderName:g,config:P})=>{let{custom:E}=s(g);if(E)return E({url:i,method:m,payload:d,meta:C(f,c),metaData:C(f,c),headers:{...P==null?void 0:P.headers}});throw Error("Not implemented custom on data provider.")},{onSuccess:(i,{successNotification:m,config:d,meta:f,metaData:c})=>{let g=typeof m=="function"?m(i,{...d,...C(f,c)||{}}):m;o(g)},onError:(i,{errorNotification:m,method:d,config:f,meta:c,metaData:g})=>{r(i);let P=typeof m=="function"?m(i,{...f,...C(c,g)||{}}):m;o(P,{key:`${d}-notification`,message:a("notifications.error",{statusCode:i.statusCode},`Error (status code: ${i.statusCode})`),description:i.message,type:"error"})},...e})};import{useCallback as Dn,useContext as En}from"react";import Ao from"react";var vn=()=>({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=Ao.createContext(vn()),Qo=({children:e,...t})=>{let r;return!t.getList||!t.getOne?r=t:r={default:t},Ao.createElement(It.Provider,{value:r},e)};var W=()=>{let e=En(It);return Dn(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 Un}from"@tanstack/react-query";var Ln=({resource:e,config:t,filters:r,hasPagination:o,pagination:s,sorters:a,queryOptions:n,successNotification:i,errorNotification:m,meta:d,metaData:f,liveMode:c,onLiveEvent:g,liveParams:P,dataProviderName:E})=>{let{resources:T}=A(),u=W(),l=V(),R=H(),{mutate:h}=J({v3LegacyAuthProviderCompatible:Boolean(R==null?void 0:R.isLegacy)}),b=X(),y=Q(e,E,T),p=C(d,f),x=C(r,t==null?void 0:t.filters),v=C(a,t==null?void 0:t.sort),D=C(o,t==null?void 0:t.hasPagination),U=Dt({pagination:s,configPagination:t==null?void 0:t.pagination,hasPagination:D}),L=U.mode==="server",M={meta:p,metaData:p,filters:x,hasPagination:L,pagination:U,sorters:v,config:{...t,sort:v}},I=(n==null?void 0:n.enabled)===void 0||(n==null?void 0:n.enabled)===!0,S=_(e,y,p,p),{getList:k}=u(y);return _e({resource:e,types:["*"],params:{meta:p,metaData:p,pagination:U,hasPagination:L,sort:v,sorters:v,filters:x,subscriptionType:"useList",...P},channel:`resources/${e}`,enabled:I,liveMode:c,onLiveEvent:g}),Un(S.list({filters:x,hasPagination:L,...L&&{pagination:U},...a&&{sorters:a},...(t==null?void 0:t.sort)&&{sort:t==null?void 0:t.sort}}),({queryKey:w,pageParam:B,signal:O})=>{let fe={...U,current:B};return k({resource:e,pagination:fe,hasPagination:L,filters:x,sort:v,sorters:v,meta:{...p||{},queryContext:{queryKey:w,pageParam:B,signal:O}},metaData:{...p||{},queryContext:{queryKey:w,pageParam:B,signal:O}}}).then(({data:ve,total:z,...Ve})=>({data:ve,total:z,pagination:fe,...Ve}))},{getNextPageParam:w=>Jt(w),getPreviousPageParam:w=>Xt(w),...n,onSuccess:w=>{var O;(O=n==null?void 0:n.onSuccess)==null||O.call(n,w);let B=typeof i=="function"?i(w,M,e):i;b(B)},onError:w=>{var O;h(w),(O=n==null?void 0:n.onError)==null||O.call(n,w);let B=typeof m=="function"?m(w,M,e):m;b(B,{key:`${e}-useInfiniteList-notification`,message:l("notifications.error",{statusCode:w.statusCode},`Error (status code: ${w.statusCode})`),description:w.message,type:"error"})}})};import{useContext as Bo,useEffect as In}from"react";import{useQueryClient as Mn}from"@tanstack/react-query";import ko from"react";var Ne=ko.createContext(void 0),Vo=({liveProvider:e,children:t})=>ko.createElement(Ne.Provider,{value:e},t);var _e=({resource:e,params:t,channel:r,types:o,enabled:s=!0,liveMode:a,onLiveEvent:n})=>{let i=Mn(),m=_(e),d=Bo(Ne),{liveMode:f,onLiveEvent:c}=Bo(me),g=a!=null?a:f;In(()=>{let P;return g&&g!=="off"&&s&&(P=d==null?void 0:d.subscribe({channel:r,params:{resource:e,...t},types:o,callback:E=>{g==="auto"&&i.invalidateQueries(m.resourceAll),n==null||n(E),c==null||c(E)}})),()=>{P&&(d==null||d.unsubscribe(P))}},[s])};import{useContext as wn}from"react";var Fo=e=>{let{liveMode:t}=wn(me);return e!=null?e:t};import{useContext as Sn,useEffect as An}from"react";var Lm=({params:e,channel:t,types:r=["*"],enabled:o=!0,onLiveEvent:s})=>{let a=Sn(Ne);An(()=>{let n;return o&&(n=a==null?void 0:a.subscribe({channel:t,params:e,types:r,callback:s})),()=>{n&&(a==null||a.unsubscribe(n))}},[o])};import{useContext as Qn}from"react";var Pe=()=>{let e=Qn(Ne);return e==null?void 0:e.publish};import{useContext as Gn}from"react";import Oo from"react";import{useMemo as Bn}from"react";import{useRef as kn}from"react";import Vn from"lodash-es/isEqual";var No=e=>{let t=kn(e);return Vn(t.current,e)||(t.current=e),t.current};var rr=(e,t)=>{let r=No(t);return Bn(e,r)};var Ze=Oo.createContext({resources:[]}),Ho=({resources:e,children:t})=>{let r=rr(()=>qt(e!=null?e:[]),[e]);return Oo.createElement(Ze.Provider,{value:{resources:r}},t)};import $o from"react";var Go=$o.createContext("new"),Wo=Go.Provider,N=()=>$o.useContext(Go);import $n from"react";import Fn,{createContext as Nn}from"react";var Ko={},Oe=Nn(Ko),zo=({children:e,router:t})=>Fn.createElement(Oe.Provider,{value:t!=null?t:Ko},e);import On,{useContext as Hn}from"react";var Vr=()=>{let e=Hn(Oe);return On.useMemo(()=>{var o;return(o=e==null?void 0:e.parse)!=null?o:()=>()=>({})},[e==null?void 0:e.parse])()};var j=()=>{let e=Vr();return $n.useMemo(()=>e(),[e])};function A(e){var f,c;let{resources:t}=Gn(Ze),r=N(),o=j(),s={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=Ye(),{useParams:n}=G(),i=n();if(r==="legacy"){let g=s.resourceNameOrRouteName?s.resourceNameOrRouteName:i.resource,P=g?a(g):void 0,E=(f=s==null?void 0:s.recordItemId)!=null?f:i.id,T=i.action,u=(c=s==null?void 0:s.resourceName)!=null?c:P==null?void 0:P.name;return{resources:t,resource:P,resourceName:u,id:E,action:T}}let m,d=typeof e=="string"?e:s==null?void 0:s.resourceNameOrRouteName;if(d){let g=$(d,t);g?m=g:m={name:d}}else o!=null&&o.resource&&(m=o.resource);return{resources:t,resource:m,resourceName:m==null?void 0:m.name,id:o.id,action:o.action}}import{useContext as Wn,useCallback as Kn}from"react";var Ye=()=>{let{resources:e}=Wn(Ze);return Kn(r=>{let o=$(r,e,!0);return o||{name:r,route:r}},[e])};import{useContext as zn}from"react";var ke=()=>{let{notifications:e,notificationDispatch:t}=zn(tr);return{notifications:e,notificationDispatch:t}};import{useContext as Zn}from"react";import jn,{createContext as _n}from"react";var Mt=_n({}),jo=({open:e,close:t,children:r})=>jn.createElement(Mt.Provider,{value:{open:e,close:t}},r);var ye=()=>{let{open:e,close:t}=Zn(Mt);return{open:e,close:t}};import{useCallback as Yn}from"react";var X=()=>{let{open:e}=ye();return Yn((r,o)=>{r!==!1&&(r?e==null||e(r):o&&(e==null||e(o)))},[])};import{useCallback as Jn,useContext as Xn}from"react";import _o from"react";var we=_o.createContext({}),Zo=({children:e,i18nProvider:t})=>_o.createElement(we.Provider,{value:{i18nProvider:t}},e);var qn=()=>{let{i18nProvider:e}=Xn(we);return Jn(t=>e==null?void 0:e.changeLocale(t),[])};import{useContext as ea,useMemo as ta}from"react";var V=()=>{let{i18nProvider:e}=ea(we);return ta(()=>{function r(o,s,a){var n,i;return(i=(n=e==null?void 0:e.translate(o,s,a))!=null?n:a)!=null?i:typeof s=="string"&&typeof a>"u"?s:o}return r},[e])};import{useContext as ra,useCallback as oa}from"react";var sa=()=>{let{i18nProvider:e}=ra(we);return oa(()=>e==null?void 0:e.getLocale(),[])};import{useContext as na}from"react";var Me=()=>{let{mutationMode:e,undoableTimeout:t}=na(me);return{mutationMode:e,undoableTimeout:t}};import{useContext as Xo}from"react";import Yo,{useState as aa}from"react";var Br=Yo.createContext({}),Jo=({children:e})=>{let[t,r]=aa(!1);return Yo.createElement(Br.Provider,{value:{warnWhen:t,setWarnWhen:r}},e)};var wt=()=>{let{warnWhenUnsavedChanges:e}=Xo(me),{warnWhen:t,setWarnWhen:r}=Xo(Br);return{warnWhenUnsavedChanges:e,warnWhen:Boolean(t),setWarnWhen:r!=null?r:()=>{}}};import{useContext as ia}from"react";var Fr=()=>{let{syncWithLocation:e}=ia(me);return{syncWithLocation:e}};import{useContext as ua}from"react";var ca=()=>{let{Title:e}=ua(me);return e};import{useContext as pa}from"react";var St=()=>{let{Footer:e,Header:t,Layout:r,OffLayoutArea:o,Sider:s,Title:a,hasDashboard:n,mutationMode:i,syncWithLocation:m,undoableTimeout:d,warnWhenUnsavedChanges:f,DashboardPage:c,LoginPage:g,catchAll:P,options:E}=pa(me);return{Footer:e,Header:t,Layout:r,OffLayoutArea:o,Sider:s,Title:a,hasDashboard:n,mutationMode:i,syncWithLocation:m,undoableTimeout:d,warnWhenUnsavedChanges:f,DashboardPage:c,LoginPage:g,catchAll:P,options:E}};import{useState as da}from"react";import{ExportToCsv as la}from"export-to-csv-fix-source-map";var Uy=({resourceName:e,resource:t,sorter:r,sorters:o,filters:s,maxItemCount:a,pageSize:n=20,mapData:i=P=>P,exportOptions:m,meta:d,metaData:f,dataProviderName:c,onError:g}={})=>{var y;let[P,E]=da(!1),T=W(),{resource:u,resources:l}=A(),R=`${mt(u==null?void 0:u.name,"plural")}-${new Date().toLocaleString()}`,{getList:h}=T(Q((y=u==null?void 0:u.identifier)!=null?y:u==null?void 0:u.name,c,l));return{isLoading:P,triggerExport:async()=>{var U;E(!0);let p=[],x=1,v=!0;for(;v;)try{let{data:L,total:M}=await h({resource:(U=u==null?void 0:u.name)!=null?U:"",filters:s,sort:C(o,r),sorters:C(o,r),pagination:{current:x,pageSize:n,mode:"server"},meta:C(d,f),metaData:C(d,f)});x++,p.push(...L),a&&p.length>=a&&(p=p.slice(0,a),v=!1),M===p.length&&(v=!1)}catch(L){E(!1),v=!1,g==null||g(L);return}new la({filename:R,useKeysAsHeaders:!0,...m}).generateCsv(p.map(i)),E(!1)}}};import qo from"react";import ma from"warn-once";var Oy=({resource:e,action:t,id:r,onMutationSuccess:o,onMutationError:s,redirect:a,successNotification:n,errorNotification:i,meta:m,metaData:d,mutationMode:f,liveMode:c,onLiveEvent:g,liveParams:P,undoableTimeout:E,dataProviderName:T,invalidates:u,queryOptions:l,createMutationOptions:R,updateMutationOptions:h}={})=>{let{options:b}=St(),{resources:y}=A(),p=N(),{resource:x,id:v,action:D}=j(),{useParams:U}=G(),{resource:L,action:M,id:I}=U(),S=typeof x=="string"?x:x==null?void 0:x.name,k=!e||e===(p==="legacy"?L:S)?r!=null?r:p==="legacy"?I:v:r,[F,w]=qo.useState(k);qo.useEffect(()=>{w(k)},[k]);let B=e!=null?e:p==="legacy"?L:S,O=p==="legacy"?M:D,fe=t!=null?t:O==="edit"||O==="clone"?O:"create",ve=Ye(),z;if(p==="legacy")B&&(z=ve(B));else if(e){let ne=$(e,y);ne?z=ne:z={name:e,route:e}}else if(typeof x=="string"){let ne=$(x,y);ne?z=ne:z={name:x,route:x}}else z=x;let{mutationMode:Ve}=Me(),ie=f!=null?f:Ve,Je=fe==="create",Z=fe==="edit",ce=fe==="clone";ma((ce||Z)&&Boolean(e)&&!Boolean(r),`[useForm]: action: "${fe}", resource: "${B}", id: ${F}
|
|
1
|
+
import Ft,{useEffect as Ja,useState as Xa}from"react";import mt from"react";var ao=mt.createContext({}),io=({children:e,isProvided:t,...r})=>{let{replace:o}=oe(),s=async p=>{var l;try{return await((l=r.login)==null?void 0:l.call(r,p))}catch(m){return Promise.reject(m)}},a=async p=>{var l;try{return await((l=r.register)==null?void 0:l.call(r,p))}catch(m){return Promise.reject(m)}},n=async p=>{var l;try{return await((l=r.logout)==null?void 0:l.call(r,p))}catch(m){return Promise.reject(m)}},u=async p=>{var l;try{return await((l=r.checkAuth)==null?void 0:l.call(r,p)),Promise.resolve()}catch(m){return m!=null&&m.redirectPath&&o(m.redirectPath),Promise.reject(m)}};return mt.createElement(ao.Provider,{value:{...r,login:s,logout:n,checkAuth:u,register:a,isProvided:t}},e)},uo=mt.createContext({}),co=({children:e,isProvided:t,...r})=>{let o=async l=>{var m;try{return await((m=r.login)==null?void 0:m.call(r,l))}catch(c){return console.warn("Unhandled Error in login: refine always expects a resolved promise.",c),Promise.reject(c)}},s=async l=>{var m;try{return await((m=r.register)==null?void 0:m.call(r,l))}catch(c){return console.warn("Unhandled Error in register: refine always expects a resolved promise.",c),Promise.reject(c)}},a=async l=>{var m;try{return await((m=r.logout)==null?void 0:m.call(r,l))}catch(c){return console.warn("Unhandled Error in logout: refine always expects a resolved promise.",c),Promise.reject(c)}},n=async l=>{var m;try{let c=await((m=r.check)==null?void 0:m.call(r,l));return Promise.resolve(c)}catch(c){return console.warn("Unhandled Error in check: refine always expects a resolved promise.",c),Promise.reject(c)}},u=async l=>{var m;try{let c=await((m=r.forgotPassword)==null?void 0:m.call(r,l));return Promise.resolve(c)}catch(c){return console.warn("Unhandled Error in forgotPassword: refine always expects a resolved promise.",c),Promise.reject(c)}},p=async l=>{var m;try{let c=await((m=r.updatePassword)==null?void 0:m.call(r,l));return Promise.resolve(c)}catch(c){return console.warn("Unhandled Error in updatePassword: refine always expects a resolved promise.",c),Promise.reject(c)}};return mt.createElement(uo.Provider,{value:{...r,login:o,logout:a,check:n,register:s,forgotPassword:u,updatePassword:p,isProvided:t}},e)},X=()=>mt.useContext(ao),re=()=>mt.useContext(uo);import{useQuery as po}from"@tanstack/react-query";function Vs({v3LegacyAuthProviderCompatible:e=!1,options:t}={}){let{getPermissions:r}=X(),{getPermissions:o}=re(),s=po(["usePermissions"],o!=null?o:()=>Promise.resolve(void 0),{enabled:!e&&!!o,...e?{}:t}),a=po(["usePermissions","v3LegacyAuthProviderCompatible"],r!=null?r:()=>Promise.resolve(void 0),{enabled:e&&!!r,...e?t:{}});return e?a:s}import{useQuery as lo}from"@tanstack/react-query";function fr({v3LegacyAuthProviderCompatible:e=!1,queryOptions:t}={}){let{getUserIdentity:r}=X(),{getIdentity:o}=re(),s=lo(["getUserIdentity"],o!=null?o:()=>Promise.resolve({}),{enabled:!e&&!!o,retry:!1,...e===!0?{}:t}),a=lo(["getUserIdentity","v3LegacyAuthProviderCompatible"],r!=null?r:()=>Promise.resolve({}),{enabled:e&&!!r,retry:!1,...e?t:{}});return e?a:s}import{useMutation as mo}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 Wt({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=ft(),o=N(),s=se(),{push:a}=oe(),{open:n,close:u}=Re(),{logout:p}=X(),{logout:l}=re(),m=mo(["useLogout"],l,{onSuccess:async(T,R)=>{let{success:D,error:E,redirectTo:i}=T,{redirectPath:g}=R!=null?R:{},f=g!=null?g:i;D&&(u==null||u("useLogout-error")),(E||!D)&&(n==null||n(yr(E))),await r(),f!==!1&&(o==="legacy"?a(f!=null?f:"/login"):f&&s({to:f}))},onError:T=>{n==null||n(yr(T))},...e===!0?{}:t}),c=mo(["useLogout","v3LegacyAuthProviderCompatible"],p,{onSuccess:async(T,R)=>{var E;let D=(E=R==null?void 0:R.redirectPath)!=null?E:T;if(await r(),D!==!1){if(D){o==="legacy"?a(D):s({to:D});return}o==="legacy"?a("/login"):s({to:"/login"})}},onError:T=>{n==null||n(yr(T))},...e?t:{}});return e?c:m}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 Fs from"react";import{useMutation as fo}from"@tanstack/react-query";import Ns from"qs";function vt({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=ft(),o=N(),s=se(),{replace:a}=oe(),n=Z(),{useLocation:u}=K(),{search:p}=u(),{close:l,open:m}=Re(),{login:c}=X(),{login:T}=re(),R=Fs.useMemo(()=>{var i;return o==="legacy"?Ns.parse(p,{ignoreQueryPrefix:!0}).to:(i=n.params)==null?void 0:i.to},[o,n.params,p]),D=fo(["useLogin"],T,{onSuccess:async({success:i,redirectTo:g,error:f})=>{i&&(l==null||l("login-error")),(f||!i)&&(m==null||m(gr(f))),await r(),R&&i?o==="legacy"?a(R):s({to:R,type:"replace"}):g?o==="legacy"?a(g):s({to:g,type:"replace"}):o==="legacy"&&a("/")},onError:i=>{m==null||m(gr(i))},...e===!0?{}:t}),E=fo(["useLogin","v3LegacyAuthProviderCompatible"],c,{onSuccess:async i=>{await r(),R&&a(R),i!==!1&&!R&&(typeof i=="string"?o==="legacy"?a(i):s({to:i,type:"replace"}):o==="legacy"?a("/"):s({to:"/",type:"replace"})),l==null||l("login-error")},onError:i=>{m==null||m(gr(i))},...e?t:{}});return e?E:D}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 yo}from"@tanstack/react-query";function Rr({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=ft(),o=N(),s=se(),{replace:a}=oe(),{register:n}=X(),{register:u}=re(),{close:p,open:l}=Re(),m=yo(["useRegister"],u,{onSuccess:async({success:T,redirectTo:R,error:D})=>{T&&(p==null||p("register-error")),(D||!T)&&(l==null||l(Tr(D))),await r(),R?o==="legacy"?a(R):s({to:R,type:"replace"}):o==="legacy"&&a("/")},onError:T=>{l==null||l(Tr(T))},...e===!0?{}:t}),c=yo(["useRegister","v3LegacyAuthProviderCompatible"],n,{onSuccess:async T=>{await r(),T!==!1&&(T?o==="legacy"?a(T):s({to:T,type:"replace"}):o==="legacy"?a("/"):s({to:"/",type:"replace"}),p==null||p("register-error"))},onError:T=>{l==null||l(Tr(T))},...e?t:{}});return e?c:m}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 go}from"@tanstack/react-query";function Pr({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=N(),o=se(),{replace:s}=oe(),{forgotPassword:a}=X(),{forgotPassword:n}=re(),{close:u,open:p}=Re(),l=go(["useForgotPassword"],n,{onSuccess:({success:c,redirectTo:T,error:R})=>{c&&(u==null||u("forgot-password-error")),(R||!c)&&(p==null||p(xr(R))),T&&(r==="legacy"?s(T):o({to:T,type:"replace"}))},onError:c=>{p==null||p(xr(c))},...e===!0?{}:t}),m=go(["useForgotPassword","v3LegacyAuthProviderCompatible"],a,{onSuccess:c=>{c!==!1&&c&&(r==="legacy"?s(c):o({to:c,type:"replace"})),u==null||u("forgot-password-error")},onError:c=>{p==null||p(xr(c))},...e?t:{}});return e?m:l}var xr=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 To}from"@tanstack/react-query";import Hs from"qs";function br({v3LegacyAuthProviderCompatible:e,mutationOptions:t}={}){let r=N(),o=se(),{replace:s}=oe(),{updatePassword:a}=X(),{updatePassword:n}=re(),{close:u,open:p}=Re(),l=Z(),{useLocation:m}=K(),{search:c}=m(),T=Os.useMemo(()=>{var E;if(r==="legacy"){let i=Hs.parse(c,{ignoreQueryPrefix:!0});return i!=null?i:{}}else return(E=l.params)!=null?E:{}},[c,l,r]),R=To(["useUpdatePassword"],async E=>n==null?void 0:n({...T,...E}),{onSuccess:({success:E,redirectTo:i,error:g})=>{E&&(u==null||u("update-password-error")),(g||!E)&&(p==null||p(Cr(g))),i&&(r==="legacy"?s(i):o({to:i,type:"replace"}))},onError:E=>{p==null||p(Cr(E))},...e===!0?{}:t}),D=To(["useUpdatePassword","v3LegacyAuthProviderCompatible"],async E=>a==null?void 0:a({...T,...E}),{onSuccess:E=>{E!==!1&&E&&(r==="legacy"?s(E):o({to:E,type:"replace"})),u==null||u("update-password-error")},onError:E=>{p==null||p(Cr(E))},...e?t:{}});return e?D:R}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 Ro}from"@tanstack/react-query";function Kt({v3LegacyAuthProviderCompatible:e=!1,params:t}={}){let{checkAuth:r}=X(),{check:o}=re(),s=Ro(["useAuthenticated",t],async()=>{var n;return(n=await(o==null?void 0:o(t)))!=null?n:{}},{retry:!1,enabled:!e}),a=Ro(["useAuthenticated",t,"v3LegacyAuthProviderCompatible"],async()=>{var n;return(n=await(r==null?void 0:r(t)))!=null?n:{}},{retry:!1,enabled:e});return e?a:s}var $s=Kt;import{useMutation as xo}from"@tanstack/react-query";function q({v3LegacyAuthProviderCompatible:e=!1}={}){let t=N(),r=se(),{replace:o}=oe(),{checkError:s}=X(),{onError:a}=re(),{mutate:n}=Wt({v3LegacyAuthProviderCompatible:Boolean(e)}),{mutate:u}=Wt({v3LegacyAuthProviderCompatible:Boolean(e)}),p=xo(["useCheckError"],a,{onSuccess:({logout:m,redirectTo:c})=>{if(m){u({redirectPath:c});return}if(c){t==="legacy"?o(c):r({to:c,type:"replace"});return}}}),l=xo(["useCheckError","v3LegacyAuthProviderCompatible"],s,{onError:m=>{n({redirectPath:m})}});return e?l:p}var Gs=q;var hr=()=>{let{isProvided:e}=X(),{isProvided:t}=re();return Boolean(t||e)};import{useQuery as en}from"@tanstack/react-query";var Et=e=>e/1e3;import Ws from"lodash/zip";import Ks from"lodash/fromPairs";var zt=(e,t=r=>r)=>{let[r,...o]=e;return o.map(s=>Ks(Ws(r,s))).map((s,a,n)=>t.call(void 0,s,a,n))};import Do from"pluralize";import Dr from"qs";import Po from"lodash/unionWith";import Co from"lodash/differenceWith";import zs from"warn-once";var jt=e=>{var n;let{current:t,pageSize:r,sorter:o,sorters:s,filters:a}=Dr.parse(e.substring(1));return{parsedCurrent:t&&Number(t),parsedPageSize:r&&Number(r),parsedSorter:(n=L(s,o))!=null?n:[],parsedFilters:a!=null?a:[]}},js=e=>{let t=Dr.stringify(e);return jt(`/${t}`)},_t=e=>{let t={skipNulls:!0,arrayFormat:"indices",encode:!1},{pagination:r,sorter:o,sorters:s,filters:a,...n}=e;return Dr.stringify({...n,...r||{},sorters:L(s,o),filters:a},t)},bo=(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,ho=(e,t)=>e.field==t.field,yt=(e,t,r=[])=>(t.filter(s=>(s.operator==="or"||s.operator==="and")&&!s.key).length>1&&zs(!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`),Po(e,t,r,bo).filter(s=>s.value!==void 0&&s.value!==null&&(s.operator!=="or"||s.operator==="or"&&s.value.length!==0)&&(s.operator!=="and"||s.operator==="and"&&s.value.length!==0))),Zt=(e,t)=>Po(e,t,ho).filter(r=>r.order!==void 0&&r.order!==null),Yt=(e,t)=>[...Co(t,e,bo),...e],Jt=(e,t)=>[...Co(t,e,ho),...e],_s=(e,t)=>{if(!t)return;let r=t.find(o=>o.field===e);if(r)return r.order},Zs=(e,t,r="eq")=>{let o=t==null?void 0:t.find(s=>{if(s.operator!=="or"&&s.operator!=="and"&&"field"in s){let{operator:a,field:n}=s;return n===e&&a===r}});if(o)return o.value||[]};var Ys=e=>new Promise((t,r)=>{let o=new FileReader,s=()=>{o.result&&(o.removeEventListener("load",s,!1),t(o.result))};o.addEventListener("load",s,!1),o.readAsDataURL(e.originFileObj),o.onerror=a=>(o.removeEventListener("load",s,!1),r(a))});var gt=(e="",t)=>{let r=rt(e);return t==="singular"?Do.singular(r):Do.plural(r)};var vo=(e={})=>e!=null&&e.id?{...e,id:decodeURIComponent(e.id)}:e;var L=(...e)=>e.find(t=>typeof t<"u");var J=(e,t,r,o)=>{let s=t||"default",a={all:[s],resourceAll:[s,e||""],list:n=>[...a.resourceAll,"list",{...n,...L(r,o)||{}}],many:n=>[...a.resourceAll,"getMany",n&&n.map(String),{...L(r,o)||{}}].filter(u=>u!==void 0),detail:n=>[...a.resourceAll,"detail",n==null?void 0:n.toString(),{...L(r,o)||{}}],logList:n=>["logList",e,n,o].filter(u=>u!==void 0)};return a};var vr=(e,t)=>!e||!t?!1:!!e.find(r=>r===t);var ot=e=>e.startsWith(":");var Fe=e=>e.split("/").filter(r=>r!=="");var Er=(e,t)=>{let r=Fe(e),o=Fe(t);return r.length===o.length};var le=e=>e.replace(/^\/|\/$/g,"");var Ur=(e,t)=>{let r=le(e),o=le(t);if(!Er(r,o))return!1;let s=Fe(r);return Fe(o).every((n,u)=>ot(n)||n===s[u])};var Mr=(e,t,r)=>{let o=le(r||""),s=`${o}${o?"/":""}${e}`;return t==="list"?s=`${s}`:t==="create"?s=`${s}/create`:t==="edit"?s=`${s}/edit/:id`:t==="show"?s=`${s}/show/:id`:t==="clone"&&(s=`${s}/clone/:id`),`/${s.replace(/^\//,"")}`};var Pe=(e,t)=>{var s,a;let r=L((s=e.meta)==null?void 0:s.parent,(a=e.options)==null?void 0:a.parent,e.parentName);if(!r)return;let o=t.find(n=>{var u;return((u=n.identifier)!=null?u:n.name)===r});return o!=null?o:{name:r}};var Ut=(e,t,r)=>{let o=[],s=Pe(e,t);for(;s;)o.push(s),s=Pe(s,t);if(o.length!==0)return`/${o.reverse().map(a=>{var u,p;let n=r&&(p=(u=a.options)==null?void 0:u.route)!=null?p:a.name;return le(n)}).join("/")}`};var pe=(e,t,r)=>{let o=[],s=["list","show","edit","create","clone"],a=Ut(e,t,r);return s.forEach(n=>{var l,m,c,T;let u=r&&n==="clone"?e.create:e[n],p;typeof u=="function"||r?p=Mr(r&&(T=(c=(l=e.meta)==null?void 0:l.route)!=null?c:(m=e.options)==null?void 0:m.route)!=null?T:e.name,n,r?a:void 0):typeof u=="string"?p=u:typeof u=="object"&&(p=u.path),p&&o.push({action:n,resource:e,route:`/${p.replace(/^\//,"")}`})}),o};var Eo=e=>{var s,a;if(e.length===0)return;if(e.length===1)return e[0];let t=e.map(n=>({...n,splitted:Fe(le(n.route))})),r=(a=(s=t[0])==null?void 0:s.splitted.length)!=null?a:0,o=[...t];for(let n=0;n<r;n++){let u=o.filter(p=>!ot(p.splitted[n]));if(u.length!==0){if(u.length===1){o=u;break}o=u}}return o[0]};var Lr=(e,t)=>{let o=t.flatMap(a=>pe(a,t)).filter(a=>Ur(e,a.route)),s=Eo(o);return{found:!!s,resource:s==null?void 0:s.resource,action:s==null?void 0:s.action,matchedRoute:s==null?void 0:s.route}};var Xt=(e,t)=>{var s,a,n;let r,o=Ut(e,t,!0);if(o){let u=L(e.meta,e.options);r=`${o}/${(s=u==null?void 0:u.route)!=null?s:e.name}`}else r=(n=(a=e.options)==null?void 0:a.route)!=null?n:e.name;return`/${r.replace(/^\//,"")}`};var Uo=e=>{var n,u,p;let t=[],r={},o={},s,a;for(let l=0;l<e.length;l++){s=e[l];let m=(p=(u=s.route)!=null?u:(n=L(s==null?void 0:s.meta,s.options))==null?void 0:n.route)!=null?p:"";r[m]=s,r[m].children=[],o[s.name]=s,o[s.name].children=[]}for(let l in r)r.hasOwnProperty(l)&&(a=r[l],a.parentName&&o[a.parentName]?o[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 Mo from"react";import Js from"react";var Ir=({children:e})=>Js.createElement("div",null,e);var Ne={mutationMode:"pessimistic",syncWithLocation:!1,undoableTimeout:5e3,warnWhenUnsavedChanges:!1,liveMode:"off",redirect:{afterCreate:"list",afterClone:"list",afterEdit:"list"}},Te=Mo.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:Ne}),Lo=({hasDashboard:e,mutationMode:t,warnWhenUnsavedChanges:r,syncWithLocation:o,undoableTimeout:s,children:a,DashboardPage:n,Title:u,Layout:p=Ir,Header:l,Sider:m,Footer:c,OffLayoutArea:T,LoginPage:R=wr,catchAll:D,liveMode:E="off",onLiveEvent:i,options:g})=>Mo.createElement(Te.Provider,{value:{hasDashboard:e,mutationMode:t,warnWhenUnsavedChanges:r,syncWithLocation:o,Title:u,undoableTimeout:s,Layout:p,Header:l,Sider:m,Footer:c,OffLayoutArea:T,DashboardPage:n,LoginPage:R,catchAll:D,liveMode:E,onLiveEvent:i,options:g}},a);var Sr=({options:e,disableTelemetry:t,liveMode:r,mutationMode:o,reactQueryClientConfig:s,reactQueryDevtoolConfig:a,syncWithLocation:n,undoableTimeout:u,warnWhenUnsavedChanges:p}={})=>{var T,R,D,E,i,g,f,x,h,d,P,y,b,C,v,U,M,I,w,B,F,A,Y,S;let l={breadcrumb:e==null?void 0:e.breadcrumb,mutationMode:(R=(T=e==null?void 0:e.mutationMode)!=null?T:o)!=null?R:Ne.mutationMode,undoableTimeout:(E=(D=e==null?void 0:e.undoableTimeout)!=null?D:u)!=null?E:Ne.undoableTimeout,syncWithLocation:(g=(i=e==null?void 0:e.syncWithLocation)!=null?i:n)!=null?g:Ne.syncWithLocation,warnWhenUnsavedChanges:(x=(f=e==null?void 0:e.warnWhenUnsavedChanges)!=null?f:p)!=null?x:Ne.warnWhenUnsavedChanges,liveMode:(d=(h=e==null?void 0:e.liveMode)!=null?h:r)!=null?d:Ne.liveMode,redirect:{afterCreate:(y=(P=e==null?void 0:e.redirect)==null?void 0:P.afterCreate)!=null?y:Ne.redirect.afterCreate,afterClone:(C=(b=e==null?void 0:e.redirect)==null?void 0:b.afterClone)!=null?C:Ne.redirect.afterClone,afterEdit:(U=(v=e==null?void 0:e.redirect)==null?void 0:v.afterEdit)!=null?U:Ne.redirect.afterEdit}},m=(I=(M=e==null?void 0:e.disableTelemetry)!=null?M:t)!=null?I:!1,c={clientConfig:(F=(B=(w=e==null?void 0:e.reactQuery)==null?void 0:w.clientConfig)!=null?B:s)!=null?F:{},devtoolConfig:(S=(Y=(A=e==null?void 0:e.reactQuery)==null?void 0:A.devtoolConfig)!=null?Y:a)!=null?S:{}};return{optionsWithDefaults:l,disableTelemetryWithDefault:m,reactQueryWithDefaults:c}};var Ar=({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 qt=async(e,t,r)=>{let o=[];for(let[s,a]of e.entries())try{let n=await a();o.push(t(n,s))}catch(n){o.push(r(n,s))}return o};var $=(e,t=[],r=!1)=>{if(!e)return;if(r){let s=t.find(n=>{var u;return le((u=n.route)!=null?u:"")===le(e)});return s||t.find(n=>n.name===e)}return t.find(s=>{var a;return((a=s.identifier)!=null?a:s.name)===e})};var k=(e,t,r)=>{if(t)return t;let o=$(e,r),s=L(o==null?void 0:o.meta,o==null?void 0:o.options);return s!=null&&s.dataProviderName?s.dataProviderName:"default"};var $e=async e=>({data:(await Promise.all(e)).map(t=>t.data)});var er=e=>{let{pagination:t,cursor:r}=e;if(r!=null&&r.next)return r.next;let o=(t==null?void 0:t.current)||1,s=(t==null?void 0:t.pageSize)||10,a=Math.ceil((e.total||0)/s);return o<a?Number(o)+1:void 0},tr=e=>{let{pagination:t,cursor:r}=e;if(r!=null&&r.prev)return r.prev;let o=(t==null?void 0:t.current)||1;return o===1?void 0:o-1};var rr=e=>{let t=[];return e==null||e.forEach(r=>{var o,s,a;t.push({...r,label:(a=(o=r.meta)==null?void 0:o.label)!=null?a:(s=r.options)==null?void 0:s.label,route:Xt(r,e),canCreate:!!r.create,canEdit:!!r.edit,canShow:!!r.show,canDelete:r.canDelete})}),t};var Io=e=>Fe(le(e)).flatMap(r=>ot(r)?[r.slice(1)]:[]);var wo=(e,t={})=>e.reduce((r,o)=>{let s=t[o];return typeof s<"u"&&(r[o]=s),r},{});var fe=(e,t={},r={},o={})=>{let s=Io(e),a=wo(s,{...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,...o});return e.replace(/:([^\/]+)/g,(n,u)=>{let p=a[u];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 Mt=({hasPagination:e,pagination:t,configPagination:r}={})=>{var u,p,l;let o=e===!1?"off":"server",s=(u=t==null?void 0:t.mode)!=null?u:o,a=(p=L(t==null?void 0:t.current,r==null?void 0:r.current))!=null?p:1,n=(l=L(t==null?void 0:t.pageSize,r==null?void 0:r.pageSize))!=null?l:10;return{current:a,pageSize:n,mode:s}};import{useState as Xs,useEffect as qs}from"react";var or=e=>{let[t,r]=Xs(!1);return qs(()=>{let o=window.matchMedia(e);o.matches!==t&&r(o.matches);let s=()=>r(o.matches);return window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[t,e]),t};var Lt=({resource:e,config:t,filters:r,hasPagination:o,pagination:s,sorters:a,queryOptions:n,successNotification:u,errorNotification:p,meta:l,metaData:m,liveMode:c,onLiveEvent:T,liveParams:R,dataProviderName:D})=>{let{resources:E}=Q(),i=z(),g=V(),f=H(),{mutate:x}=q({v3LegacyAuthProviderCompatible:Boolean(f==null?void 0:f.isLegacy)}),h=ee(),d=G(),P=k(e,D,E),y=L(l,m),b=L(r,t==null?void 0:t.filters),C=L(a,t==null?void 0:t.sort),v=L(o,t==null?void 0:t.hasPagination),U=Mt({pagination:s,configPagination:t==null?void 0:t.pagination,hasPagination:v}),M=U.mode==="server",I=d({meta:y}),w={meta:I,metaData:I,filters:b,hasPagination:M,pagination:U,sorters:C,config:{...t,sort:C}},B=(n==null?void 0:n.enabled)===void 0||(n==null?void 0:n.enabled)===!0,F=J(e,P,y,y),{getList:A}=i(P);return Xe({resource:e,types:["*"],params:{meta:I,metaData:I,pagination:U,hasPagination:M,sort:C,sorters:C,filters:b,subscriptionType:"useList",...R},channel:`resources/${e}`,enabled:B,liveMode:c,onLiveEvent:T}),en(F.list({filters:b,hasPagination:M,...M&&{pagination:U},...a&&{sorters:a},...(t==null?void 0:t.sort)&&{sort:t==null?void 0:t.sort}}),({queryKey:S,pageParam:O,signal:W})=>A({resource:e,pagination:U,hasPagination:M,filters:b,sort:C,sorters:C,meta:{...I||{},queryContext:{queryKey:S,pageParam:O,signal:W}},metaData:{...I||{},queryContext:{queryKey:S,pageParam:O,signal:W}}}),{...n,enabled:typeof(n==null?void 0:n.enabled)<"u"?n==null?void 0:n.enabled:!!e,select:S=>{var me;let O=S,{current:W,mode:Me,pageSize:_}=U;return Me==="client"&&(O={...O,data:O.data.slice((W-1)*_,W*_),total:O.total}),n!=null&&n.select?(me=n==null?void 0:n.select)==null?void 0:me.call(n,O):O},onSuccess:S=>{var W;(W=n==null?void 0:n.onSuccess)==null||W.call(n,S);let O=typeof u=="function"?u(S,w,e):u;h(O)},onError:S=>{var W;x(S),(W=n==null?void 0:n.onError)==null||W.call(n,S);let O=typeof p=="function"?p(S,w,e):p;h(O,{key:`${e}-useList-notification`,message:g("notifications.error",{statusCode:S.statusCode},`Error (status code: ${S.statusCode})`),description:S.message,type:"error"})}})};import{useQuery as tn}from"@tanstack/react-query";var It=({resource:e,id:t,queryOptions:r,successNotification:o,errorNotification:s,meta:a,metaData:n,liveMode:u,onLiveEvent:p,liveParams:l,dataProviderName:m})=>{let{resources:c}=Q(),T=z(),R=V(),D=H(),{mutate:E}=q({v3LegacyAuthProviderCompatible:Boolean(D==null?void 0:D.isLegacy)}),i=ee(),g=G(),f=L(a,n),x=J(e,k(e,m,c),f,f),{getOne:h}=T(k(e,m,c)),d=g({meta:f});return Xe({resource:e,types:["*"],channel:`resources/${e}`,params:{ids:t?[t]:[],id:t,meta:d,metaData:d,subscriptionType:"useOne",...l},enabled:typeof(r==null?void 0:r.enabled)<"u"?r==null?void 0:r.enabled:typeof e<"u"&&typeof t<"u",liveMode:u,onLiveEvent:p}),tn(x.detail(t),({queryKey:y,pageParam:b,signal:C})=>h({resource:e,id:t,meta:{...d||{},queryContext:{queryKey:y,pageParam:b,signal:C}},metaData:{...d||{},queryContext:{queryKey:y,pageParam:b,signal:C}}}),{...r,enabled:typeof(r==null?void 0:r.enabled)<"u"?r==null?void 0:r.enabled:typeof t<"u",onSuccess:y=>{var C;(C=r==null?void 0:r.onSuccess)==null||C.call(r,y);let b=typeof o=="function"?o(y,{id:t,...d||{}},e):o;i(b)},onError:y=>{var C;E(y),(C=r==null?void 0:r.onError)==null||C.call(r,y);let b=typeof s=="function"?s(y,{id:t,...d||{}},e):s;i(b,{key:`${t}-${e}-getOne-notification`,message:R("notifications.error",{statusCode:y.statusCode},`Error (status code: ${y.statusCode})`),description:y.message,type:"error"})}})};import{useQuery as rn}from"@tanstack/react-query";var Qr=({resource:e,ids:t,queryOptions:r,successNotification:o,errorNotification:s,meta:a,metaData:n,liveMode:u,onLiveEvent:p,liveParams:l,dataProviderName:m})=>{let{resources:c}=Q(),T=z(),R=V(),D=H(),{mutate:E}=q({v3LegacyAuthProviderCompatible:Boolean(D==null?void 0:D.isLegacy)}),i=ee(),g=G(),f=L(a,n),x=(r==null?void 0:r.enabled)===void 0||(r==null?void 0:r.enabled)===!0,h=J(e,k(e,m,c),f,f),{getMany:d,getOne:P}=T(k(e,m,c)),y=g({meta:f});return Xe({resource:e,types:["*"],params:{ids:t!=null?t:[],meta:y,metaData:y,subscriptionType:"useMany",...l},channel:`resources/${e}`,enabled:x,liveMode:u,onLiveEvent:p}),rn(h.many(t),({queryKey:C,pageParam:v,signal:U})=>d?d({resource:e,ids:t,meta:{...y||{},queryContext:{queryKey:C,pageParam:v,signal:U}},metaData:{...y||{},queryContext:{queryKey:C,pageParam:v,signal:U}}}):$e(t.map(M=>P({resource:e,id:M,meta:{...y||{},queryContext:{queryKey:C,pageParam:v,signal:U}},metaData:{...y||{},queryContext:{queryKey:C,pageParam:v,signal:U}}}))),{...r,onSuccess:C=>{var U;(U=r==null?void 0:r.onSuccess)==null||U.call(r,C);let v=typeof o=="function"?o(C,t,e):o;i(v)},onError:C=>{var U;E(C),(U=r==null?void 0:r.onError)==null||U.call(r,C);let v=typeof s=="function"?s(C,t,e):s;i(v,{key:`${t[0]}-${e}-getMany-notification`,message:R("notifications.error",{statusCode:C.statusCode},`Error (status code: ${C.statusCode})`),description:C.message,type:"error"})}})};import{useMutation as an,useQueryClient as un}from"@tanstack/react-query";import Vr,{useReducer as on}from"react";import kr from"lodash-es/isEqual";var sr=Vr.createContext({notifications:[],notificationDispatch:()=>!1}),sn=[],nn=(e,t)=>{switch(t.type){case"ADD":return[...e.filter(o=>!(kr(o.id,t.payload.id)&&o.resource==t.payload.resource)),{...t.payload,isRunning:!0}];case"REMOVE":return e.filter(o=>!(kr(o.id,t.payload.id)&&o.resource==t.payload.resource));case"DECREASE_NOTIFICATION_SECOND":return e.map(o=>kr(o.id,t.payload.id)&&o.resource==t.payload.resource?{...o,seconds:t.payload.seconds-1e3}:o);default:return e}},Br=({children:e})=>{let[t,r]=on(nn,sn),o={notifications:t,notificationDispatch:r};return Vr.createElement(sr.Provider,{value:o},e,typeof window<"u"&&t.map(s=>Vr.createElement(So,{key:`${s.id}-${s.resource}-queue`,notification:s})))};import Ao from"pluralize";var Fr=({mutationOptions:e}={})=>{let{resources:t}=Q(),r=un(),o=z(),{mutationMode:s,undoableTimeout:a}=Qe(),n=V(),u=H(),{mutate:p}=q({v3LegacyAuthProviderCompatible:Boolean(u==null?void 0:u.isLegacy)}),l=De(),{log:m}=ve(),{notificationDispatch:c}=Oe(),T=ee(),R=Ee(),D=G();return an(({id:i,values:g,resource:f,mutationMode:x,undoableTimeout:h,onCancel:d,meta:P,metaData:y,dataProviderName:b})=>{let C=D({meta:L(P,y)}),v=x!=null?x:s,U=h!=null?h:a;return v!=="undoable"?o(k(f,b,t)).update({resource:f,id:i,variables:g,meta:C,metaData:C}):new Promise((I,w)=>{let B=()=>{o(k(f,b,t)).update({resource:f,id:i,variables:g,meta:C,metaData:C}).then(A=>I(A)).catch(A=>w(A))},F=()=>{w({message:"mutationCancelled"})};d&&d(F),c({type:"ADD",payload:{id:i,resource:f,cancelMutation:F,doMutation:B,seconds:U,isSilent:!!d}})})},{onMutate:async({resource:i,id:g,mutationMode:f,values:x,dataProviderName:h})=>{let d=J(i,k(i,h,t)),P=r.getQueriesData(d.resourceAll),y=f!=null?f:s;return await r.cancelQueries(d.resourceAll,void 0,{silent:!0}),y!=="pessimistic"&&(r.setQueriesData(d.list(),b=>{if(!b)return null;let C=b.data.map(v=>{var U;return((U=v.id)==null?void 0:U.toString())===(g==null?void 0:g.toString())?{id:g,...v,...x}:v});return{...b,data:C}}),r.setQueriesData(d.many(),b=>{if(!b)return null;let C=b.data.map(v=>{var U;return((U=v.id)==null?void 0:U.toString())===(g==null?void 0:g.toString())&&(v={id:g,...v,...x}),v});return{...b,data:C}}),r.setQueriesData(d.detail(g),b=>b?{...b,data:{...b.data,...x}}:null)),{previousQueries:P,queryKey:d}},onSettled:(i,g,{id:f,resource:x,dataProviderName:h,invalidates:d=["list","many","detail"]})=>{R({resource:x,dataProviderName:k(x,h,t),invalidates:d,id:f}),c({type:"REMOVE",payload:{id:f,resource:x}})},onSuccess:(i,{id:g,resource:f,successNotification:x,dataProviderName:h,values:d,meta:P,metaData:y},b)=>{var F;let C=Ao.singular(f),v=typeof x=="function"?x(i,{id:g,values:d},f):x;T(v,{key:`${g}-${f}-notification`,description:n("notifications.success","Successful"),message:n("notifications.editSuccess",{resource:n(`${f}.${f}`,C)},`Successfully updated ${C}`),type:"success"}),l==null||l({channel:`resources/${f}`,type:"updated",payload:{ids:(F=i.data)!=null&&F.id?[i.data.id]:void 0},date:new Date});let U;if(b){let A=r.getQueryData(b.queryKey.detail(g));U=Object.keys(d||{}).reduce((Y,S)=>{var O;return Y[S]=(O=A==null?void 0:A.data)==null?void 0:O[S],Y},{})}let{fields:M,operation:I,variables:w,...B}=L(P,y)||{};m==null||m.mutate({action:"update",resource:f,data:d,previousData:U,meta:{id:g,dataProviderName:k(f,h,t),...B}})},onError:(i,{id:g,resource:f,errorNotification:x,values:h},d)=>{if(d)for(let P of d.previousQueries)r.setQueryData(P[0],P[1]);if(i.message!=="mutationCancelled"){p==null||p(i);let P=Ao.singular(f),y=typeof x=="function"?x(i,{id:g,values:h},f):x;T(y,{key:`${g}-${f}-notification`,message:n("notifications.editError",{resource:n(`${f}.${f}`,P),statusCode:i.statusCode},`Error when updating ${P} (status code: ${i.statusCode})`),description:i.message,type:"error"})}},...e})};import{useMutation as cn}from"@tanstack/react-query";import Qo from"pluralize";var wt=({mutationOptions:e}={})=>{let t=H(),{mutate:r}=q({v3LegacyAuthProviderCompatible:Boolean(t==null?void 0:t.isLegacy)}),o=z(),s=Ee(),{resources:a}=Q(),n=V(),u=De(),{log:p}=ve(),l=ee(),m=G();return cn(({resource:T,values:R,meta:D,metaData:E,dataProviderName:i})=>{let g=m({meta:L(D,E)});return o(k(T,i,a)).create({resource:T,variables:R,meta:g,metaData:g})},{onSuccess:(T,{resource:R,successNotification:D,dataProviderName:E,invalidates:i=["list","many"],values:g,meta:f,metaData:x})=>{var v,U,M;let h=Qo.singular(R),d=typeof D=="function"?D(T,g,R):D;l(d,{key:`create-${R}-notification`,message:n("notifications.createSuccess",{resource:n(`${R}.${R}`,h)},`Successfully created ${h}`),description:n("notifications.success","Success"),type:"success"}),s({resource:R,dataProviderName:k(R,E,a),invalidates:i}),u==null||u({channel:`resources/${R}`,type:"created",payload:{ids:(v=T==null?void 0:T.data)!=null&&v.id?[T.data.id]:void 0},date:new Date});let{fields:P,operation:y,variables:b,...C}=L(f,x)||{};p==null||p.mutate({action:"create",resource:R,data:g,meta:{dataProviderName:k(R,E,a),id:(M=(U=T==null?void 0:T.data)==null?void 0:U.id)!=null?M:void 0,...C}})},onError:(T,{resource:R,errorNotification:D,values:E})=>{r(T);let i=Qo.singular(R),g=typeof D=="function"?D(T,E,R):D;l(g,{key:`create-${R}-notification`,description:T.message,message:n("notifications.createError",{resource:n(`${R}.${R}`,i),statusCode:T.statusCode},`There was an error creating ${i} (status code: ${T.statusCode})`),type:"error"})},...e})};import{useQueryClient as pn,useMutation as dn}from"@tanstack/react-query";import ko from"pluralize";var ln=({mutationOptions:e}={})=>{let t=H(),{mutate:r}=q({v3LegacyAuthProviderCompatible:Boolean(t==null?void 0:t.isLegacy)}),o=z(),{resources:s}=Q(),a=pn(),{mutationMode:n,undoableTimeout:u}=Qe(),{notificationDispatch:p}=Oe(),l=V(),m=De(),{log:c}=ve(),T=ee(),R=Ee(),D=G();return dn(({id:i,mutationMode:g,undoableTimeout:f,resource:x,onCancel:h,meta:d,metaData:P,dataProviderName:y,values:b})=>{let C=D({meta:L(d,P)}),v=g!=null?g:n,U=f!=null?f:u;return v!=="undoable"?o(k(x,y,s)).deleteOne({resource:x,id:i,meta:C,metaData:C,variables:b}):new Promise((I,w)=>{let B=()=>{o(k(x,y,s)).deleteOne({resource:x,id:i,meta:C,metaData:C,variables:b}).then(A=>I(A)).catch(A=>w(A))},F=()=>{w({message:"mutationCancelled"})};h&&h(F),p({type:"ADD",payload:{id:i,resource:x,cancelMutation:F,doMutation:B,seconds:U,isSilent:!!h}})})},{onMutate:async({id:i,resource:g,mutationMode:f,dataProviderName:x})=>{let h=J(g,k(g,x,s)),d=f!=null?f:n;await a.cancelQueries(h.resourceAll,void 0,{silent:!0});let P=a.getQueriesData(h.resourceAll);return d!=="pessimistic"&&(a.setQueriesData(h.list(),y=>y?{data:y.data.filter(C=>{var v;return((v=C.id)==null?void 0:v.toString())!==i.toString()}),total:y.total-1}:null),a.setQueriesData(h.many(),y=>{if(!y)return null;let b=y.data.filter(C=>{var v;return((v=C.id)==null?void 0:v.toString())!==(i==null?void 0:i.toString())});return{...y,data:b}})),{previousQueries:P,queryKey:h}},onSettled:(i,g,{id:f,resource:x,dataProviderName:h,invalidates:d=["list","many"]})=>{R({resource:x,dataProviderName:k(x,h,s),invalidates:d}),p({type:"REMOVE",payload:{id:f,resource:x}})},onSuccess:(i,{id:g,resource:f,successNotification:x,dataProviderName:h,meta:d,metaData:P},y)=>{let b=ko.singular(f!=null?f:"");a.removeQueries(y==null?void 0:y.queryKey.detail(g));let C=typeof x=="function"?x(i,g,f):x;T(C,{key:`${g}-${f}-notification`,description:l("notifications.success","Success"),message:l("notifications.deleteSuccess",{resource:l(`${f}.${f}`,b)},`Successfully deleted a ${b}`),type:"success"}),m==null||m({channel:`resources/${f}`,type:"deleted",payload:{ids:g?[g]:[]},date:new Date});let{fields:v,operation:U,variables:M,...I}=L(d,P)||{};c==null||c.mutate({action:"delete",resource:f,meta:{id:g,dataProviderName:k(f,h,s),...I}}),a.removeQueries(y==null?void 0:y.queryKey.detail(g))},onError:(i,{id:g,resource:f,errorNotification:x},h)=>{if(h)for(let d of h.previousQueries)a.setQueryData(d[0],d[1]);if(i.message!=="mutationCancelled"){r(i);let d=ko.singular(f!=null?f:""),P=typeof x=="function"?x(i,g,f):x;T(P,{key:`${g}-${f}-notification`,message:l("notifications.deleteError",{resource:d,statusCode:i.statusCode},`Error (status code: ${i.statusCode})`),description:i.message,type:"error"})}},...e})};import{useMutation as mn}from"@tanstack/react-query";import fn from"pluralize";var Nr=({mutationOptions:e}={})=>{let t=z(),{resources:r}=Q(),o=V(),s=De(),a=ee(),n=Ee(),{log:u}=ve(),p=G();return mn(({resource:m,values:c,meta:T,metaData:R,dataProviderName:D})=>{let E=p({meta:L(T,R)}),i=t(k(m,D,r));return i.createMany?i.createMany({resource:m,variables:c,meta:E,metaData:E}):$e(c.map(g=>i.create({resource:m,variables:g,meta:E,metaData:E})))},{onSuccess:(m,{resource:c,successNotification:T,dataProviderName:R,invalidates:D=["list","many"],values:E,meta:i,metaData:g})=>{let f=fn.plural(c),x=typeof T=="function"?T(m,E,c):T;a(x,{key:`createMany-${c}-notification`,message:o("notifications.createSuccess",{resource:o(`${c}.${c}`,c)},`Successfully created ${f}`),description:o("notifications.success","Success"),type:"success"}),n({resource:c,dataProviderName:k(c,R,r),invalidates:D});let h=m==null?void 0:m.data.filter(C=>(C==null?void 0:C.id)!==void 0).map(C=>C.id);s==null||s({channel:`resources/${c}`,type:"created",payload:{ids:h},date:new Date});let{fields:d,operation:P,variables:y,...b}=L(i,g)||{};u==null||u.mutate({action:"createMany",resource:c,data:E,meta:{dataProviderName:k(c,R,r),ids:h,...b}})},onError:(m,{resource:c,errorNotification:T,values:R})=>{let D=typeof T=="function"?T(m,R,c):T;a(D,{key:`createMany-${c}-notification`,description:m.message,message:o("notifications.createError",{resource:o(`${c}.${c}`,c),statusCode:m.statusCode},`There was an error creating ${c} (status code: ${m.statusCode}`),type:"error"})},...e})};import{useMutation as yn,useQueryClient as gn}from"@tanstack/react-query";import Vo from"pluralize";var Tn=({mutationOptions:e}={})=>{let{resources:t}=Q(),r=gn(),o=z(),s=V(),{mutationMode:a,undoableTimeout:n}=Qe(),u=H(),{mutate:p}=q({v3LegacyAuthProviderCompatible:Boolean(u==null?void 0:u.isLegacy)}),{notificationDispatch:l}=Oe(),m=De(),c=ee(),T=Ee(),{log:R}=ve(),D=G();return yn(({ids:i,values:g,resource:f,onCancel:x,mutationMode:h,undoableTimeout:d,meta:P,metaData:y,dataProviderName:b})=>{let C=D({meta:L(P,y)}),v=h!=null?h:a,U=d!=null?d:n,M=o(k(f,b,t)),I=()=>M.updateMany?M.updateMany({resource:f,ids:i,variables:g,meta:C,metaData:C}):$e(i.map(B=>M.update({resource:f,id:B,variables:g,meta:C,metaData:C})));return v!=="undoable"?I():new Promise((B,F)=>{let A=()=>{I().then(S=>B(S)).catch(S=>F(S))},Y=()=>{F({message:"mutationCancelled"})};x&&x(Y),l({type:"ADD",payload:{id:i,resource:f,cancelMutation:Y,doMutation:A,seconds:U,isSilent:!!x}})})},{onMutate:async({resource:i,ids:g,values:f,mutationMode:x,dataProviderName:h,meta:d,metaData:P})=>{let y=J(i,k(i,h,t),L(d,P),L(d,P)),b=x!=null?x:a;await r.cancelQueries(y.resourceAll,void 0,{silent:!0});let C=r.getQueriesData(y.resourceAll);if(b!=="pessimistic"){r.setQueriesData(y.list(),v=>{if(!v)return null;let U=v.data.map(M=>M.id!==void 0&&g.filter(I=>I!==void 0).map(String).includes(M.id.toString())?{...M,...f}:M);return{...v,data:U}}),r.setQueriesData(y.many(),v=>{if(!v)return null;let U=v.data.map(M=>M.id!==void 0&&g.filter(I=>I!==void 0).map(String).includes(M.id.toString())?{...M,...f}:M);return{...v,data:U}});for(let v of g)r.setQueriesData(y.detail(v),U=>{if(!U)return null;let M={...U.data,...f};return{...U,data:M}})}return{previousQueries:C,queryKey:y}},onSettled:(i,g,{ids:f,resource:x,dataProviderName:h})=>{T({resource:x,invalidates:["list","many"],dataProviderName:k(x,h,t)}),f.forEach(d=>T({resource:x,invalidates:["detail"],dataProviderName:k(x,h,t),id:d})),l({type:"REMOVE",payload:{id:f,resource:x}})},onSuccess:(i,{ids:g,resource:f,meta:x,metaData:h,dataProviderName:d,successNotification:P,values:y},b)=>{let C=Vo.singular(f),v=typeof P=="function"?P(i,{ids:g,values:y},f):P;c(v,{key:`${g}-${f}-notification`,description:s("notifications.success","Successful"),message:s("notifications.editSuccess",{resource:s(`${f}.${f}`,f)},`Successfully updated ${C}`),type:"success"}),m==null||m({channel:`resources/${f}`,type:"updated",payload:{ids:g.map(String)},date:new Date});let U=[];b&&g.forEach(F=>{let A=r.getQueryData(b.queryKey.detail(F));U.push(Object.keys(y||{}).reduce((Y,S)=>{var O;return Y[S]=(O=A==null?void 0:A.data)==null?void 0:O[S],Y},{}))});let{fields:M,operation:I,variables:w,...B}=L(x,h)||{};R==null||R.mutate({action:"updateMany",resource:f,data:y,previousData:U,meta:{ids:g,dataProviderName:k(f,d,t),...B}})},onError:(i,{ids:g,resource:f,errorNotification:x,values:h},d)=>{if(d)for(let P of d.previousQueries)r.setQueryData(P[0],P[1]);if(i.message!=="mutationCancelled"){p==null||p(i);let P=Vo.singular(f),y=typeof x=="function"?x(i,{ids:g,values:h},f):x;c(y,{key:`${g}-${f}-updateMany-error-notification`,message:s("notifications.editError",{resource:P,statusCode:i.statusCode},`Error when updating ${P} (status code: ${i.statusCode})`),description:i.message,type:"error"})}},...e})};import{useQueryClient as Rn,useMutation as xn}from"@tanstack/react-query";import Pn from"pluralize";var Cn=({mutationOptions:e}={})=>{let t=H(),{mutate:r}=q({v3LegacyAuthProviderCompatible:Boolean(t==null?void 0:t.isLegacy)}),{mutationMode:o,undoableTimeout:s}=Qe(),a=z(),{notificationDispatch:n}=Oe(),u=V(),p=De(),l=ee(),m=Ee(),{log:c}=ve(),{resources:T}=Q(),R=Rn(),D=G();return xn(({resource:i,ids:g,mutationMode:f,undoableTimeout:x,onCancel:h,meta:d,metaData:P,dataProviderName:y,values:b})=>{let C=D({meta:L(d,P)}),v=f!=null?f:o,U=x!=null?x:s,M=a(k(i,y,T)),I=()=>M.deleteMany?M.deleteMany({resource:i,ids:g,meta:C,metaData:C,variables:b}):$e(g.map(B=>M.deleteOne({resource:i,id:B,meta:C,metaData:C,variables:b})));return v!=="undoable"?I():new Promise((B,F)=>{let A=()=>{I().then(S=>B(S)).catch(S=>F(S))},Y=()=>{F({message:"mutationCancelled"})};h&&h(Y),n({type:"ADD",payload:{id:g,resource:i,cancelMutation:Y,doMutation:A,seconds:U,isSilent:!!h}})})},{onMutate:async({ids:i,resource:g,mutationMode:f,dataProviderName:x})=>{let h=J(g,k(g,x,T)),d=f!=null?f:o;await R.cancelQueries(h.resourceAll,void 0,{silent:!0});let P=R.getQueriesData(h.resourceAll);if(d!=="pessimistic"){R.setQueriesData(h.list(),y=>y?{data:y.data.filter(C=>C.id&&!i.map(String).includes(C.id.toString())),total:y.total-1}:null),R.setQueriesData(h.many(),y=>{if(!y)return null;let b=y.data.filter(C=>C.id?!i.map(String).includes(C.id.toString()):!1);return{...y,data:b}});for(let y of i)R.setQueriesData(h.detail(y),b=>!b||b.data.id==y?null:{...b})}return{previousQueries:P,queryKey:h}},onSettled:(i,g,{resource:f,ids:x,dataProviderName:h,invalidates:d=["list","many"]})=>{m({resource:f,dataProviderName:k(f,h,T),invalidates:d}),n({type:"REMOVE",payload:{id:x,resource:f}})},onSuccess:(i,{ids:g,resource:f,meta:x,metaData:h,dataProviderName:d,successNotification:P},y)=>{g.forEach(I=>R.removeQueries(y==null?void 0:y.queryKey.detail(I)));let b=typeof P=="function"?P(i,g,f):P;l(b,{key:`${g}-${f}-notification`,description:u("notifications.success","Success"),message:u("notifications.deleteSuccess",{resource:u(`${f}.${f}`,f)},`Successfully deleted ${f}`),type:"success"}),p==null||p({channel:`resources/${f}`,type:"deleted",payload:{ids:g},date:new Date});let{fields:C,operation:v,variables:U,...M}=L(x,h)||{};c==null||c.mutate({action:"deleteMany",resource:f,meta:{ids:g,dataProviderName:k(f,d,T),...M}}),g.forEach(I=>R.removeQueries(y==null?void 0:y.queryKey.detail(I)))},onError:(i,{ids:g,resource:f,errorNotification:x},h)=>{if(h)for(let d of h.previousQueries)R.setQueryData(d[0],d[1]);if(i.message!=="mutationCancelled"){r(i);let d=Pn.singular(f),P=typeof x=="function"?x(i,g,f):x;l(P,{key:`${g}-${f}-notification`,message:u("notifications.deleteError",{resource:d,statusCode:i.statusCode},`Error (status code: ${i.statusCode})`),description:i.message,type:"error"})}},...e})};var bn=e=>{let t=z(),{getApiUrl:r}=t(e);return r()};import{useQuery as hn}from"@tanstack/react-query";var Dn=({url:e,method:t,config:r,queryOptions:o,successNotification:s,errorNotification:a,meta:n,metaData:u,dataProviderName:p})=>{let l=z(),m=H(),{mutate:c}=q({v3LegacyAuthProviderCompatible:Boolean(m==null?void 0:m.isLegacy)}),T=V(),R=ee(),D=G(),E=L(n,u),{custom:i}=l(p),g=D({meta:E});if(i)return hn({queryKey:[p,"custom",t,e,{...r,...E||{}}],queryFn:({queryKey:x,pageParam:h,signal:d})=>i({url:e,method:t,...r,meta:{...g||{},queryContext:{queryKey:x,pageParam:h,signal:d}},metaData:{...g||{},queryContext:{queryKey:x,pageParam:h,signal:d}}}),...o,onSuccess:x=>{var d;(d=o==null?void 0:o.onSuccess)==null||d.call(o,x);let h=typeof s=="function"?s(x,{...r,...g||{}}):s;R(h)},onError:x=>{var d;c(x),(d=o==null?void 0:o.onError)==null||d.call(o,x);let h=typeof a=="function"?a(x,{...r,...g||{}}):a;R(h,{key:`${t}-notification`,message:T("notifications.error",{statusCode:x.statusCode},`Error (status code: ${x.statusCode})`),description:x.message,type:"error"})}});throw Error("Not implemented custom on data provider.")};import{useMutation as vn}from"@tanstack/react-query";var En=({mutationOptions:e}={})=>{let t=H(),{mutate:r}=q({v3LegacyAuthProviderCompatible:Boolean(t==null?void 0:t.isLegacy)}),o=ee(),s=z(),a=V(),n=G();return vn(({url:p,method:l,values:m,meta:c,metaData:T,dataProviderName:R,config:D})=>{let E=n({meta:L(c,T)}),{custom:i}=s(R);if(i)return i({url:p,method:l,payload:m,meta:E,metaData:E,headers:{...D==null?void 0:D.headers}});throw Error("Not implemented custom on data provider.")},{onSuccess:(p,{successNotification:l,config:m,meta:c,metaData:T})=>{let R=typeof l=="function"?l(p,{...m,...L(c,T)||{}}):l;o(R)},onError:(p,{errorNotification:l,method:m,config:c,meta:T,metaData:R})=>{r(p);let D=typeof l=="function"?l(p,{...c,...L(T,R)||{}}):l;o(D,{key:`${m}-notification`,message:a("notifications.error",{statusCode:p.statusCode},`Error (status code: ${p.statusCode})`),description:p.message,type:"error"})},...e})};import{useCallback as Mn,useContext as Ln}from"react";import Bo from"react";var Un=()=>({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:()=>""}}),St=Bo.createContext(Un()),Fo=({children:e,...t})=>{let r;return!t.getList||!t.getOne?r=t:r={default:t},Bo.createElement(St.Provider,{value:r},e)};var z=()=>{let e=Ln(St);return Mn(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 In}from"@tanstack/react-query";var wn=({resource:e,config:t,filters:r,hasPagination:o,pagination:s,sorters:a,queryOptions:n,successNotification:u,errorNotification:p,meta:l,metaData:m,liveMode:c,onLiveEvent:T,liveParams:R,dataProviderName:D})=>{let{resources:E}=Q(),i=z(),g=V(),f=H(),{mutate:x}=q({v3LegacyAuthProviderCompatible:Boolean(f==null?void 0:f.isLegacy)}),h=ee(),d=G(),P=k(e,D,E),y=L(l,m),b=L(r,t==null?void 0:t.filters),C=L(a,t==null?void 0:t.sort),v=L(o,t==null?void 0:t.hasPagination),U=Mt({pagination:s,configPagination:t==null?void 0:t.pagination,hasPagination:v}),M=U.mode==="server",I={meta:y,metaData:y,filters:b,hasPagination:M,pagination:U,sorters:C,config:{...t,sort:C}},w=(n==null?void 0:n.enabled)===void 0||(n==null?void 0:n.enabled)===!0,B=J(e,P,y,y),F=d({meta:y}),{getList:A}=i(P);return Xe({resource:e,types:["*"],params:{meta:F,metaData:F,pagination:U,hasPagination:M,sort:C,sorters:C,filters:b,subscriptionType:"useList",...R},channel:`resources/${e}`,enabled:w,liveMode:c,onLiveEvent:T}),In(B.list({filters:b,hasPagination:M,...M&&{pagination:U},...a&&{sorters:a},...(t==null?void 0:t.sort)&&{sort:t==null?void 0:t.sort}}),({queryKey:S,pageParam:O,signal:W})=>{let Me={...U,current:O};return A({resource:e,pagination:Me,hasPagination:M,filters:b,sort:C,sorters:C,meta:{...F||{},queryContext:{queryKey:S,pageParam:O,signal:W}},metaData:{...F||{},queryContext:{queryKey:S,pageParam:O,signal:W}}}).then(({data:_,total:me,...ge})=>({data:_,total:me,pagination:Me,...ge}))},{getNextPageParam:S=>er(S),getPreviousPageParam:S=>tr(S),...n,onSuccess:S=>{var W;(W=n==null?void 0:n.onSuccess)==null||W.call(n,S);let O=typeof u=="function"?u(S,I,e):u;h(O)},onError:S=>{var W;x(S),(W=n==null?void 0:n.onError)==null||W.call(n,S);let O=typeof p=="function"?p(S,I,e):p;h(O,{key:`${e}-useInfiniteList-notification`,message:g("notifications.error",{statusCode:S.statusCode},`Error (status code: ${S.statusCode})`),description:S.message,type:"error"})}})};import{useContext as Ho,useEffect as Sn}from"react";import{useQueryClient as An}from"@tanstack/react-query";import No from"react";var Ge=No.createContext(void 0),Oo=({liveProvider:e,children:t})=>No.createElement(Ge.Provider,{value:e},t);var Xe=({resource:e,params:t,channel:r,types:o,enabled:s=!0,liveMode:a,onLiveEvent:n})=>{let u=An(),p=J(e),l=Ho(Ge),{liveMode:m,onLiveEvent:c}=Ho(Te),T=a!=null?a:m;Sn(()=>{let R;return T&&T!=="off"&&s&&(R=l==null?void 0:l.subscribe({channel:r,params:{resource:e,...t},types:o,callback:D=>{T==="auto"&&u.invalidateQueries(p.resourceAll),n==null||n(D),c==null||c(D)}})),()=>{R&&(l==null||l.unsubscribe(R))}},[s])};import{useContext as Qn}from"react";var $o=e=>{let{liveMode:t}=Qn(Te);return e!=null?e:t};import{useContext as kn,useEffect as Vn}from"react";var wm=({params:e,channel:t,types:r=["*"],enabled:o=!0,onLiveEvent:s})=>{let a=kn(Ge);Vn(()=>{let n;return o&&(n=a==null?void 0:a.subscribe({channel:t,params:e,types:r,callback:s})),()=>{n&&(a==null||a.unsubscribe(n))}},[o])};import{useContext as Bn}from"react";var De=()=>{let e=Bn(Ge);return e==null?void 0:e.publish};import{useContext as zn}from"react";import Wo from"react";import{useMemo as On}from"react";import{useRef as Fn}from"react";import Nn from"lodash-es/isEqual";var Go=e=>{let t=Fn(e);return Nn(t.current,e)||(t.current=e),t.current};var nr=(e,t)=>{let r=Go(t);return On(e,r)};var qe=Wo.createContext({resources:[]}),Ko=({resources:e,children:t})=>{let r=nr(()=>rr(e!=null?e:[]),[e]);return Wo.createElement(qe.Provider,{value:{resources:r}},t)};import zo from"react";var jo=zo.createContext("new"),_o=jo.Provider,N=()=>zo.useContext(jo);import Kn from"react";import Hn,{createContext as $n}from"react";var Zo={},We=$n(Zo),Yo=({children:e,router:t})=>Hn.createElement(We.Provider,{value:t!=null?t:Zo},e);import Gn,{useContext as Wn}from"react";var Or=()=>{let e=Wn(We);return Gn.useMemo(()=>{var o;return(o=e==null?void 0:e.parse)!=null?o:()=>()=>({})},[e==null?void 0:e.parse])()};var Z=()=>{let e=Or();return Kn.useMemo(()=>e(),[e])};function Q(e){var m,c;let{resources:t}=zn(qe),r=N(),o=Z(),s={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(),u=n();if(r==="legacy"){let T=s.resourceNameOrRouteName?s.resourceNameOrRouteName:u.resource,R=T?a(T):void 0,D=(m=s==null?void 0:s.recordItemId)!=null?m:u.id,E=u.action,i=(c=s==null?void 0:s.resourceName)!=null?c:R==null?void 0:R.name;return{resources:t,resource:R,resourceName:i,id:D,action:E}}let p,l=typeof e=="string"?e:s==null?void 0:s.resourceNameOrRouteName;if(l){let T=$(l,t);T?p=T:p={name:l}}else o!=null&&o.resource&&(p=o.resource);return{resources:t,resource:p,resourceName:p==null?void 0:p.name,id:o.id,action:o.action}}import{useContext as jn,useCallback as _n}from"react";var et=()=>{let{resources:e}=jn(qe);return _n(r=>{let o=$(r,e,!0);return o||{name:r,route:r}},[e])};import{useContext as Zn}from"react";var Oe=()=>{let{notifications:e,notificationDispatch:t}=Zn(sr);return{notifications:e,notificationDispatch:t}};import{useContext as Xn}from"react";import Yn,{createContext as Jn}from"react";var At=Jn({}),Jo=({open:e,close:t,children:r})=>Yn.createElement(At.Provider,{value:{open:e,close:t}},r);var Re=()=>{let{open:e,close:t}=Xn(At);return{open:e,close:t}};import{useCallback as qn}from"react";var ee=()=>{let{open:e}=Re();return qn((r,o)=>{r!==!1&&(r?e==null||e(r):o&&(e==null||e(o)))},[])};import{useCallback as ea,useContext as ta}from"react";import Xo from"react";var ke=Xo.createContext({}),qo=({children:e,i18nProvider:t})=>Xo.createElement(ke.Provider,{value:{i18nProvider:t}},e);var ra=()=>{let{i18nProvider:e}=ta(ke);return ea(t=>e==null?void 0:e.changeLocale(t),[])};import{useContext as oa,useMemo as sa}from"react";var V=()=>{let{i18nProvider:e}=oa(ke);return sa(()=>{function r(o,s,a){var n,u;return(u=(n=e==null?void 0:e.translate(o,s,a))!=null?n:a)!=null?u:typeof s=="string"&&typeof a>"u"?s:o}return r},[e])};import{useContext as na,useCallback as aa}from"react";var ia=()=>{let{i18nProvider:e}=na(ke);return aa(()=>e==null?void 0:e.getLocale(),[])};import{useContext as ua}from"react";var Qe=()=>{let{mutationMode:e,undoableTimeout:t}=ua(Te);return{mutationMode:e,undoableTimeout:t}};import{useContext as rs}from"react";import es,{useState as ca}from"react";var Hr=es.createContext({}),ts=({children:e})=>{let[t,r]=ca(!1);return es.createElement(Hr.Provider,{value:{warnWhen:t,setWarnWhen:r}},e)};var Qt=()=>{let{warnWhenUnsavedChanges:e}=rs(Te),{warnWhen:t,setWarnWhen:r}=rs(Hr);return{warnWhenUnsavedChanges:e,warnWhen:Boolean(t),setWarnWhen:r!=null?r:()=>{}}};import{useContext as pa}from"react";var $r=()=>{let{syncWithLocation:e}=pa(Te);return{syncWithLocation:e}};import{useContext as da}from"react";var la=()=>{let{Title:e}=da(Te);return e};import{useContext as ma}from"react";var kt=()=>{let{Footer:e,Header:t,Layout:r,OffLayoutArea:o,Sider:s,Title:a,hasDashboard:n,mutationMode:u,syncWithLocation:p,undoableTimeout:l,warnWhenUnsavedChanges:m,DashboardPage:c,LoginPage:T,catchAll:R,options:D}=ma(Te);return{Footer:e,Header:t,Layout:r,OffLayoutArea:o,Sider:s,Title:a,hasDashboard:n,mutationMode:u,syncWithLocation:p,undoableTimeout:l,warnWhenUnsavedChanges:m,DashboardPage:c,LoginPage:T,catchAll:R,options:D}};import{useState as fa}from"react";import{ExportToCsv as ya}from"export-to-csv-fix-source-map";var Iy=({resourceName:e,resource:t,sorter:r,sorters:o,filters:s,maxItemCount:a,pageSize:n=20,mapData:u=R=>R,exportOptions:p,meta:l,metaData:m,dataProviderName:c,onError:T}={})=>{var d;let[R,D]=fa(!1),E=z(),{resource:i,resources:g}=Q(),f=`${gt(i==null?void 0:i.name,"plural")}-${new Date().toLocaleString()}`,{getList:x}=E(k((d=i==null?void 0:i.identifier)!=null?d:i==null?void 0:i.name,c,g));return{isLoading:R,triggerExport:async()=>{var v;D(!0);let P=[],y=1,b=!0;for(;b;)try{let{data:U,total:M}=await x({resource:(v=i==null?void 0:i.name)!=null?v:"",filters:s,sort:L(o,r),sorters:L(o,r),pagination:{current:y,pageSize:n,mode:"server"},meta:L(l,m),metaData:L(l,m)});y++,P.push(...U),a&&P.length>=a&&(P=P.slice(0,a),b=!1),M===P.length&&(b=!1)}catch(U){D(!1),b=!1,T==null||T(U);return}new ya({filename:f,useKeysAsHeaders:!0,...p}).generateCsv(P.map(u)),D(!1)}}};import os from"react";import ga from"warn-once";var Gy=({resource:e,action:t,id:r,onMutationSuccess:o,onMutationError:s,redirect:a,successNotification:n,errorNotification:u,meta:p,metaData:l,mutationMode:m,liveMode:c,onLiveEvent:T,liveParams:R,undoableTimeout:D,dataProviderName:E,invalidates:i,queryOptions:g,createMutationOptions:f,updateMutationOptions:x}={})=>{let{options:h}=kt(),{resources:d}=Q(),P=N(),{resource:y,id:b,action:C}=Z(),{useParams:v}=K(),{resource:U,action:M,id:I}=v(),w=G(),B=typeof y=="string"?y:y==null?void 0:y.name,F=!e||e===(P==="legacy"?U:B)?r!=null?r:P==="legacy"?I:b:r,[A,Y]=os.useState(F);os.useEffect(()=>{Y(F)},[F]);let S=e!=null?e:P==="legacy"?U:B,O=P==="legacy"?M:C,W=t!=null?t:O==="edit"||O==="clone"?O:"create",Me=et(),_;if(P==="legacy")S&&(_=Me(S));else if(e){let ce=$(e,d);ce?_=ce:_={name:e,route:e}}else if(typeof y=="string"){let ce=$(y,d);ce?_=ce:_={name:y,route:y}}else _=y;let me=w({resource:_,meta:L(p,l)}),{mutationMode:ge}=Qe(),be=m!=null?m:ge,Le=W==="create",ue=W==="edit",ae=W==="clone";ga((ae||ue)&&Boolean(e)&&!Boolean(r),`[useForm]: action: "${W}", resource: "${S}", id: ${A}
|
|
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 tt=Ar({redirectFromProps:a,action:W,redirectOptions:h.redirect}),Be=A!==void 0&&(ue||ae),Ie=It({resource:_==null?void 0:_.name,id:A!=null?A:"",queryOptions:{enabled:Be,...g},liveMode:c,onLiveEvent:T,liveParams:R,meta:me,metaData:me,dataProviderName:E}),{isFetching:ut}=Ie,bt=wt({mutationOptions:f}),{mutate:ct,isLoading:Nt}=bt,pt=Fr({mutationOptions:x}),{mutate:we,isLoading:Ot}=pt,{setWarnWhen:ze}=Qt(),je=ss();return{...Le||ae?{formLoading:ut||Nt,mutationResult:bt,onFinish:async ce=>{ze(!1);let Se=He=>{je({redirect:tt,resource:_,id:He,meta:l})};return be!=="pessimistic"&&setTimeout(()=>{Se()}),new Promise((He,lt)=>{if(be!=="pessimistic"&&He(),!!_)return ct({values:ce,resource:_.name,successNotification:n,errorNotification:u,meta:me,metaData:me,dataProviderName:E,invalidates:i},{onSuccess:(Ae,Ze,Ye)=>{var ht;o&&o(Ae,ce,Ye);let Je=(ht=Ae==null?void 0:Ae.data)==null?void 0:ht.id;Se(Je),He(Ae)},onError:(Ae,Ze,Ye)=>{if(s)return s(Ae,ce,Ye);lt()}})})}}:{formLoading:ut||Ot,mutationResult:pt,onFinish:async ce=>{if(ze(!1),!_)return;let Se={id:A!=null?A:"",values:ce,resource:_.name,mutationMode:be,undoableTimeout:D,successNotification:n,errorNotification:u,meta:me,metaData:me,dataProviderName:E,invalidates:i},He=()=>{je({redirect:tt,resource:_,id:A,meta:l})};return be!=="pessimistic"&&setTimeout(()=>{He()}),new Promise((lt,Ae)=>(be!=="pessimistic"&<(),setTimeout(()=>{we(Se,{onSuccess:(Ze,Ye,Je)=>{o&&o(Ze,ce,Je),be==="pessimistic"&&He(),lt(Ze)},onError:(Ze,Ye,Je)=>{if(s)return s(Ze,ce,Je);Ae()}})})))}},queryResult:Ie,id:A,setId:Y,redirect:(ce,Se)=>{je({redirect:ce!==void 0?ce:ue?"list":"edit",resource:_,id:Se!=null?Se:A,meta:l})}}};import{useCallback as Ta}from"react";var ss=()=>{let{show:e,edit:t,list:r,create:o}=oe();return Ta(({redirect:a,resource:n,id:u,meta:p={}})=>{if(a&&n)return!!n.show&&a==="show"&&u?e(n,u,void 0,p):!!n.edit&&a==="edit"&&u?t(n,u,void 0,p):!!n.create&&a==="create"?o(n,void 0,p):r(n,"push",p)},[])};import Ra,{useContext as xa}from"react";var se=()=>{let e=xa(We);return Ra.useMemo(()=>{var o;return(o=e==null?void 0:e.go)!=null?o:()=>()=>{}},[e==null?void 0:e.go])()};import Pa,{useContext as Ca}from"react";var Gr=()=>{let e=Ca(We);return Pa.useMemo(()=>{var o;return(o=e==null?void 0:e.back)!=null?o:()=>()=>{}},[e==null?void 0:e.back])()};var oe=()=>{let{resources:e}=Q(),t=N(),{useHistory:r}=K(),o=r(),s=Z(),a=se(),n=Gr(),u=(d,P="push")=>{t==="legacy"?o[P](d):a({to:d,type:P})},p=(d,P={})=>{var y,b,C;if(t==="legacy"){let v=typeof d=="string"?(y=$(d,e,!0))!=null?y:{name:d,route:d}:d,U=pe(v,e,!0).find(M=>M.action==="create");return U?fe(U.route,v==null?void 0:v.meta,s,P):""}else{let v=typeof d=="string"?(b=$(d,e))!=null?b:{name:d}:d,U=(C=pe(v,e).find(M=>M.action==="create"))==null?void 0:C.route;return U?a({to:fe(U,v==null?void 0:v.meta,s,P),type:"path"}):""}},l=(d,P,y={})=>{var C,v,U;let b=encodeURIComponent(P);if(t==="legacy"){let M=typeof d=="string"?(C=$(d,e,!0))!=null?C:{name:d,route:d}:d,I=pe(M,e,!0).find(w=>w.action==="edit");return I?fe(I.route,M==null?void 0:M.meta,s,{...y,id:b}):""}else{let M=typeof d=="string"?(v=$(d,e))!=null?v:{name:d}:d,I=(U=pe(M,e).find(w=>w.action==="edit"))==null?void 0:U.route;return I?a({to:fe(I,M==null?void 0:M.meta,s,{...y,id:b}),type:"path"}):""}},m=(d,P,y={})=>{var C,v,U;let b=encodeURIComponent(P);if(t==="legacy"){let M=typeof d=="string"?(C=$(d,e,!0))!=null?C:{name:d,route:d}:d,I=pe(M,e,!0).find(w=>w.action==="clone");return I?fe(I.route,M==null?void 0:M.meta,s,{...y,id:b}):""}else{let M=typeof d=="string"?(v=$(d,e))!=null?v:{name:d}:d,I=(U=pe(M,e).find(w=>w.action==="clone"))==null?void 0:U.route;return I?a({to:fe(I,M==null?void 0:M.meta,s,{...y,id:b}),type:"path"}):""}},c=(d,P,y={})=>{var C,v,U;let b=encodeURIComponent(P);if(t==="legacy"){let M=typeof d=="string"?(C=$(d,e,!0))!=null?C:{name:d,route:d}:d,I=pe(M,e,!0).find(w=>w.action==="show");return I?fe(I.route,M==null?void 0:M.meta,s,{...y,id:b}):""}else{let M=typeof d=="string"?(v=$(d,e))!=null?v:{name:d}:d,I=(U=pe(M,e).find(w=>w.action==="show"))==null?void 0:U.route;return I?a({to:fe(I,M==null?void 0:M.meta,s,{...y,id:b}),type:"path"}):""}},T=(d,P={})=>{var y,b,C;if(t==="legacy"){let v=typeof d=="string"?(y=$(d,e,!0))!=null?y:{name:d,route:d}:d,U=pe(v,e,!0).find(M=>M.action==="list");return U?fe(U.route,v==null?void 0:v.meta,s,P):""}else{let v=typeof d=="string"?(b=$(d,e))!=null?b:{name:d}:d,U=(C=pe(v,e).find(M=>M.action==="list"))==null?void 0:C.route;return U?a({to:fe(U,v==null?void 0:v.meta,s,P),type:"path"}):""}};return{create:(d,P="push",y={})=>{u(p(d,y),P)},createUrl:p,edit:(d,P,y="push",b={})=>{u(l(d,P,b),y)},editUrl:l,clone:(d,P,y="push",b={})=>{u(m(d,P,b),y)},cloneUrl:m,show:(d,P,y="push",b={})=>{u(c(d,P,b),y)},showUrl:c,list:(d,P="push",y={})=>{u(T(d,y),P)},listUrl:T,push:(d,...P)=>{t==="legacy"?o.push(d,...P):a({to:d,type:"push"})},replace:(d,...P)=>{t==="legacy"?o.replace(d,...P):a({to:d,type:"replace"})},goBack:()=>{t==="legacy"?o.goBack():n()}}};import ba,{useState as ha}from"react";import Da from"warn-once";var xg=({resource:e,id:t,successNotification:r,errorNotification:o,meta:s,metaData:a,liveMode:n,onLiveEvent:u,dataProviderName:p,queryOptions:l}={})=>{let m=N(),{resources:c}=Q(),{useParams:T}=K(),{resource:R,id:D}=Z(),{resource:E,id:i}=T(),g=G(),f=R==null?void 0:R.name,x=!e||e===(m==="legacy"?E:f)?t!=null?t:m==="legacy"?i:D:t,[h,d]=ha(x);ba.useEffect(()=>{d(x)},[x]);let P=e!=null?e:m==="legacy"?E:f,y,b=et();if(m==="legacy")P&&(y=b(P));else if(e){let U=$(e,c);U?y=U:y={name:e,route:e}}else if(typeof R=="string"){let U=$(R,c);U?y=U:y={name:R,route:R}}else y=R;let C=g({resource:y,meta:L(s,a)});return Da(Boolean(e)&&!Boolean(t),`[useShow]: resource: "${P}", 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:Ut({resource:p==null?void 0:p.name,id:h!=null?h:"",queryOptions:{enabled:h!==void 0,...d},successNotification:r,errorNotification:o,meta:C(s,a),metaData:C(s,a),liveMode:n,onLiveEvent:i,dataProviderName:m}),showId:h,setShowId:b}};import{useEffect as ha,useState as Or}from"react";import{parse as ba}from"papaparse";import va from"lodash-es/chunk";var Eg=({resourceName:e,resource:t,mapData:r=f=>f,paparseOptions:o,batchSize:s=Number.MAX_SAFE_INTEGER,onFinish:a,meta:n,metaData:i,onProgress:m,dataProviderName:d}={})=>{let[f,c]=Or(0),[g,P]=Or(0),[E,T]=Or(!1),{resource:u}=A(t!=null?t:e),l=kr(),R=Lt(),h;s===1?h=R:h=l;let b=()=>{P(0),c(0),T(!1)},y=x=>{let v={succeeded:x.filter(D=>D.type==="success"),errored:x.filter(D=>D.type==="error")};a==null||a(v),T(!1)};ha(()=>{m==null||m({totalAmount:g,processedAmount:f})},[g,f]);let p=({file:x})=>(b(),new Promise(v=>{T(!0),ba(x,{complete:async({data:D})=>{let U=Gt(D,r);if(P(U.length),s===1){let L=U.map(I=>async()=>{var F;return{response:await R.mutateAsync({resource:(F=u==null?void 0:u.name)!=null?F:"",values:I,successNotification:!1,errorNotification:!1,dataProviderName:d,meta:C(n,i),metaData:C(n,i)}),value:I}}),M=await Yt(L,({response:I,value:S})=>(c(k=>k+1),{response:[I.data],type:"success",request:[S]}),(I,S)=>({response:[I],type:"error",request:[U[S]]}));v(M)}else{let L=va(U,s),M=L.map(S=>async()=>{var w;return{response:await l.mutateAsync({resource:(w=u==null?void 0:u.name)!=null?w:"",values:S,successNotification:!1,errorNotification:!1,dataProviderName:d,meta:C(n,i),metaData:C(n,i)}),value:S,currentBatchLength:S.length}}),I=await Yt(M,({response:S,currentBatchLength:k,value:F})=>(c(w=>w+k),{response:S.data,type:"success",request:F}),(S,k)=>({response:[S],type:"error",request:L[k]}));v(I)}},...o})}).then(v=>(y(v),v)));return{inputProps:{type:"file",accept:".csv",onChange:x=>{x.target.files&&x.target.files.length>0&&p({file:x.target.files[0]})}},mutationResult:h,isLoading:E,handleChange:p}};import{useCallback as ts,useState as Da}from"react";var Ig=({defaultVisible:e=!1}={})=>{let[t,r]=Da(e),o=ts(()=>r(!0),[t]),s=ts(()=>r(!1),[t]);return{visible:t,show:o,close:s}};import Ea from"react";var At=()=>{let e=N(),{resource:t,resources:r}=A(),o=j();return Ea.useCallback(({resource:a,action:n,meta:i})=>{var g;let m=a||t;if(!m)return;let f=(g=ae(m,r,e==="legacy").find(P=>P.action===n))==null?void 0:g.route;return f?de(f,o,i):void 0},[r,t,o])};var Ua=({resource:e,action:t,meta:r,legacy:o})=>At()({resource:e,action:t,meta:r,legacy:o});import La,{useContext as Ia}from"react";var tt=()=>{let e=Ia(Oe);return e!=null&&e.Link?e.Link:({to:r,...o})=>La.createElement("a",{href:r,...o})};import{useContext as wa}from"react";import rs from"react";var He={useHistory:()=>!1,useLocation:()=>!1,useParams:()=>({}),Prompt:()=>null,Link:()=>null},Ma=rs.createContext(He),Qt=Ma,os=({children:e,useHistory:t,useLocation:r,useParams:o,Prompt:s,Link:a,routes:n})=>rs.createElement(Qt.Provider,{value:{useHistory:t!=null?t:He.useHistory,useLocation:r!=null?r:He.useLocation,useParams:o!=null?o:He.useParams,Prompt:s!=null?s:He.Prompt,Link:a!=null?a:He.Link,routes:n!=null?n:He.routes}},e);var G=()=>{let e=wa(Qt),{useHistory:t,useLocation:r,useParams:o,Prompt:s,Link:a,routes:n}=e!=null?e:He;return{useHistory:t,useLocation:r,useParams:o,Prompt:s,Link:a,routes:n}};import{useQuery as Sa}from"@tanstack/react-query";import{useContext as Aa}from"react";import ss from"react";var rt=ss.createContext({}),ns=({can:e,children:t})=>ss.createElement(rt.Provider,{value:{can:e}},t);var as=e=>{let{icon:t,list:r,edit:o,create:s,show:a,clone:n,children:i,meta:m,options:d,...f}=e,{icon:c,...g}=m!=null?m:{},{icon:P,...E}=d!=null?d:{};return{...f,...m?{meta:g}:{},...d?{options:E}:{}}};var is=({action:e,resource:t,params:r,queryOptions:o})=>{let{can:s}=Aa(rt),{resource:a,...n}=r!=null?r:{},i=as(a!=null?a:{}),m=Sa(["useCan",{action:e,resource:t,params:{...n,resource:i},enabled:o==null?void 0:o.enabled}],()=>{var d;return(d=s==null?void 0:s({action:e,resource:t,params:n}))!=null?d:Promise.resolve({can:!0})},{enabled:typeof s<"u",...o,retry:!1});return typeof s>"u"?{data:{can:!0}}:m};import{useContext as Qa}from"react";var RT=()=>{let{can:e}=Qa(rt);return{can:e}};import{useCallback as us,useMemo as ka,useState as Hr}from"react";import Va from"lodash/uniqBy";import Ba from"lodash/debounce";import or from"lodash/get";var wT=e=>{var Ve,ie,Je;let[t,r]=Hr([]),[o,s]=Hr([]),[a,n]=Hr([]),{resource:i,sort:m,sorters:d,filters:f=[],optionLabel:c="title",optionValue:g="id",debounce:P=300,successNotification:E,errorNotification:T,defaultValueQueryOptions:u,queryOptions:l,fetchSize:R,pagination:h,hasPagination:b=!1,liveMode:y,defaultValue:p=[],onLiveEvent:x,onSearch:v,liveParams:D,meta:U,metaData:L,dataProviderName:M}=e,{resources:I}=A(),S=$(i,I),k=(Ve=S==null?void 0:S.name)!=null?Ve:i,F=Array.isArray(p)?p:[p],w=us(Z=>{n(Z.data.map(ce=>({label:or(ce,c),value:or(ce,g)})))},[c,g]),B=u!=null?u:l,O=Mr({resource:k,ids:F,queryOptions:{...B,enabled:F.length>0&&((ie=u==null?void 0:u.enabled)!=null?ie:!0),onSuccess:Z=>{var ce;w(Z),(ce=B==null?void 0:B.onSuccess)==null||ce.call(B,Z)}},meta:C(U,L),metaData:C(U,L),liveMode:"off",dataProviderName:M}),fe=us(Z=>{s(Z.data.map(ce=>({label:or(ce,c),value:or(ce,g)})))},[c,g]),ve=Et({resource:k,sorters:C(d,m),filters:f.concat(t),pagination:{current:h==null?void 0:h.current,pageSize:(Je=h==null?void 0:h.pageSize)!=null?Je:R,mode:h==null?void 0:h.mode},hasPagination:b,queryOptions:{...l,onSuccess:Z=>{var ce;fe(Z),(ce=l==null?void 0:l.onSuccess)==null||ce.call(l,Z)}},successNotification:E,errorNotification:T,meta:C(U,L),metaData:C(U,L),liveMode:y,liveParams:D,onLiveEvent:x,dataProviderName:M}),z=Z=>{if(v){r(v(Z));return}if(Z)r([{field:c,operator:"contains",value:Z}]);else{r([]);return}};return{queryResult:ve,defaultValueQueryResult:O,options:ka(()=>Va([...o,...a],"value"),[o,a]),onSearch:Ba(z,P)}};import Fa,{useState as sr,useEffect as cs}from"react";import ps from"qs";import nr from"lodash/differenceWith";import ar from"lodash/isEqual";import Na from"warn-once";var ds=[],ls=[];function $T({initialCurrent:e,initialPageSize:t,hasPagination:r=!0,pagination:o,initialSorter:s,permanentSorter:a=ls,defaultSetFilterBehavior:n,initialFilter:i,permanentFilter:m=ds,filters:d,sorters:f,syncWithLocation:c,resource:g,successNotification:P,errorNotification:E,queryOptions:T,liveMode:u,onLiveEvent:l,liveParams:R,meta:h,metaData:b,dataProviderName:y}={}){var je,Pt,_r,Zr,Yr,Jr,Xr,qr,eo,to;let{syncWithLocation:p}=Fr(),x=c!=null?c:p,v=Fo(u),D=N(),{useLocation:U}=G(),{search:L,pathname:M}=U(),I=j(),S=r===!1?"off":"server",k=((je=o==null?void 0:o.mode)!=null?je:S)!=="off",F=C(o==null?void 0:o.current,e),w=C(o==null?void 0:o.pageSize,t),B=C(h,b),{parsedCurrent:O,parsedPageSize:fe,parsedSorter:ve,parsedFilters:z}=Wt(L!=null?L:"?"),Ve=C(d==null?void 0:d.initial,i),ie=(Pt=C(d==null?void 0:d.permanent,m))!=null?Pt:ds,Je=C(f==null?void 0:f.initial,s),Z=(_r=C(f==null?void 0:f.permanent,a))!=null?_r:ls,ce=(Zr=C(d==null?void 0:d.defaultBehavior,n))!=null?Zr:"merge",Xe,nt,De,Ee;x?(Xe=((Yr=I==null?void 0:I.params)==null?void 0:Yr.current)||O||F||1,nt=((Jr=I==null?void 0:I.params)==null?void 0:Jr.pageSize)||fe||w||10,De=((Xr=I==null?void 0:I.params)==null?void 0:Xr.sorters)||(ve.length?ve:Je),Ee=((qr=I==null?void 0:I.params)==null?void 0:qr.filters)||(z.length?z:Ve)):(Xe=F||1,nt=w||10,De=Je,Ee=Ve);let{replace:at}=te(),Vt=re(),{resource:xt}=A(g),it=xt==null?void 0:xt.name;Fa.useEffect(()=>{Na(typeof it>"u","useTable: `resource` is not defined.")},[it]);let[Ue,Bt]=sr(_t(Z,De!=null?De:[])),[$e,Ge]=sr(jt(ie,Ee!=null?Ee:[])),[ut,ir]=sr(Xe),[We,ur]=sr(nt),jr=({pagination:{current:se,pageSize:xe},sorter:Ft,filters:Nt})=>{var Ot;if(D==="new")return(Ot=Vt({type:"path",options:{keepHash:!0,keepQuery:!0},query:{...k?{current:se,pageSize:xe}:{},sorters:Ft,filters:Nt,...ne()}}))!=null?Ot:"";{let Ct=ps.parse(L==null?void 0:L.substring(1)),cr=Kt({pagination:{pageSize:xe,current:se},sorters:Ue!=null?Ue:Ft,filters:Nt,...Ct});return`${M!=null?M:""}?${cr!=null?cr:""}`}};cs(()=>{L===""&&(ir(Xe),ur(nt),Bt(_t(Z,De!=null?De:[])),Ge(jt(ie,Ee!=null?Ee:[])))},[L]);let ne=()=>{var se;if(D==="new"){let{sorters:xe,filters:Ft,pageSize:Nt,current:Ot,...Ct}=(se=I==null?void 0:I.params)!=null?se:{};return Ct}else{let{sorter:xe,filters:Ft,pageSize:Nt,current:Ot,...Ct}=ps.parse(L,{ignoreQueryPrefix:!0});return Ct}};cs(()=>{if(x){let se=ne();if(D==="new")Vt({type:"replace",options:{keepQuery:!0},query:{...k?{pageSize:We,current:ut}:{},sorters:nr(Ue,Z,ar),filters:nr($e,ie,ar)}});else{let xe=Kt({...k?{pagination:{pageSize:We,current:ut}}:{},sorters:nr(Ue,Z,ar),filters:nr($e,ie,ar),...se});return at==null?void 0:at(`${M}?${xe}`,void 0,{shallow:!0})}}},[x,ut,We,Ue,$e]);let Le=Et({resource:it,hasPagination:r,pagination:{current:ut,pageSize:We,mode:o==null?void 0:o.mode},filters:lt(ie,$e),sorters:zt(Z,Ue),queryOptions:T,successNotification:P,errorNotification:E,meta:B,metaData:B,liveMode:v,liveParams:R,onLiveEvent:l,dataProviderName:y}),Be=se=>{Ge(xe=>lt(ie,se,xe))},ct=se=>{Ge(lt(ie,se))},Ie=se=>{Ge(xe=>lt(ie,se(xe)))},Ke=(se,xe=ce)=>{typeof se=="function"?Ie(se):xe==="replace"?ct(se):Be(se)},ze=se=>{Bt(()=>zt(Z,se))};return{tableQueryResult:Le,sorters:Ue,setSorters:ze,sorter:Ue,setSorter:ze,filters:$e,setFilters:Ke,current:ut,setCurrent:ir,pageSize:We,setPageSize:ur,pageCount:We?Math.ceil(((to=(eo=Le.data)==null?void 0:eo.total)!=null?to:0)/We):1,createLinkForSyncWithLocation:jr}}import{useContext as ys}from"react";import{useMutation as gs,useQueryClient as Oa}from"@tanstack/react-query";import ms from"react";var ot=ms.createContext({}),fs=({create:e,get:t,update:r,children:o})=>ms.createElement(ot.Provider,{value:{create:e,get:t,update:r}},o);var Ce=({logMutationOptions:e,renameMutationOptions:t}={})=>{let r=Oa(),o=ys(ot),s=H(),{resources:a}=ys(Ze),{data:n,refetch:i,isLoading:m}=pr({v3LegacyAuthProviderCompatible:Boolean(s==null?void 0:s.isLegacy),queryOptions:{enabled:!!o}}),d=gs(async c=>{var T,u,l,R,h;let g=$(c.resource,a),P=C((T=g==null?void 0:g.meta)==null?void 0:T.audit,(u=g==null?void 0:g.options)==null?void 0:u.audit,(R=(l=g==null?void 0:g.options)==null?void 0:l.auditLog)==null?void 0:R.permissions);if(P&&!Cr(P,c.action))return;let E;return m&&(E=await i()),await((h=o.create)==null?void 0:h.call(o,{...c,author:n!=null?n:E==null?void 0:E.data}))},e),f=gs(async c=>{var g;return await((g=o.update)==null?void 0:g.call(o,c))},{onSuccess:c=>{if(c!=null&&c.resource){let g=_(c==null?void 0:c.resource);r.invalidateQueries(g.logList())}},...t});return{log:d,rename:f}};import{useContext as Ha}from"react";import{useQuery as $a}from"@tanstack/react-query";var cR=({resource:e,action:t,meta:r,author:o,metaData:s,queryOptions:a})=>{let{get:n}=Ha(ot),i=_(e,void 0,s);return $a(i.logList(r),()=>{var d;return(d=n==null?void 0:n({resource:e,action:t,author:o,meta:r,metaData:s}))!=null?d:Promise.resolve([])},{enabled:typeof n<"u",...a,retry:!1})};import{useCallback as Ga}from"react";import{useQueryClient as Wa}from"@tanstack/react-query";var he=()=>{let{resources:e}=A(),t=Wa();return Ga(({resource:o,dataProviderName:s,invalidates:a,id:n})=>{if(a===!1)return;let i=_(o,Q(o,s,e));a.forEach(m=>{switch(m){case"all":t.invalidateQueries(i.all);break;case"list":t.invalidateQueries(i.list());break;case"many":t.invalidateQueries(i.many());break;case"resourceAll":t.invalidateQueries(i.resourceAll);break;case"detail":t.invalidateQueries(i.detail(n||""));break;default:break}})},[])};import{useContext as Ka}from"react";import za from"warn-once";var MR=({meta:e={}}={})=>{let t=N(),{i18nProvider:r}=Ka(we),o=j(),s=V(),{resources:a,resource:n,action:i}=A(),m=[];if(!(n!=null&&n.name))return{breadcrumbs:m};let d=f=>{var g,P,E,T,u,l,R,h;let c=typeof f=="string"?(g=$(f,a,t==="legacy"))!=null?g:{name:f}:f;if(c){let b=C((P=c==null?void 0:c.meta)==null?void 0:P.parent,c==null?void 0:c.parentName);b&&d(b);let y=ae(c,a,t==="legacy").find(v=>v.action==="list"),p=(E=y==null?void 0:y.resource)!=null&&E.list?y==null?void 0:y.route:void 0,x=p?t==="legacy"?p:de(p,o,e):void 0;m.push({label:(l=C((T=c.meta)==null?void 0:T.label,(u=c.options)==null?void 0:u.label))!=null?l:s(`${c.name}.${c.name}`,qe(c.name)),href:x,icon:C((R=c.meta)==null?void 0:R.icon,(h=c.options)==null?void 0:h.icon,c.icon)})}};if(d(n),i&&i!=="list"){let f=`actions.${i}`,c=s(f);typeof r<"u"&&c===f?(za(!0,`[useBreadcrumb]: Breadcrumb missing translate key for the "${i}" action. Please add "actions.${i}" key to your translation file.
|
|
11
|
-
For more information, see https://refine.dev/docs/core/hooks/useBreadcrumb/#i18n-support`),m.push({label:s(`buttons.${i}`,qe(i))})):m.push({label:s(f,qe(i))})}return{breadcrumbs:m}};import $r from"react";var yt=(e,t,r=!1)=>{let o=[],s=Te(e,t);for(;s;)o.push(s),s=Te(s,t);return o.reverse(),`/${[...o,e].map(n=>{var i,m;return pe((m=(i=r?n.route:void 0)!=null?i:n.identifier)!=null?m:n.name)}).join("/").replace(/^\//,"")}`};var Ts=(e,t=!1)=>{let r={item:{name:"__root__"},children:{}};e.forEach(s=>{var d,f;let a=[],n=Te(s,e);for(;n;)a.push(n),n=Te(n,e);a.reverse();let i=r;a.forEach(c=>{var P,E;let g=(E=(P=t?c.route:void 0)!=null?P:c.identifier)!=null?E:c.name;i.children[g]||(i.children[g]={item:c,children:{}}),i=i.children[g]});let m=(f=(d=t?s.route:void 0)!=null?d:s.identifier)!=null?f:s.name;i.children[m]||(i.children[m]={item:s,children:{}})});let o=s=>{let a=[];return Object.keys(s.children).forEach(n=>{let i=yt(s.children[n].item,e,t),m={...s.children[n].item,key:i,children:o(s.children[n])};a.push(m)}),a};return o(r)};var Rs=e=>e.split("?")[0].split("#")[0].replace(/(.+)(\/$)/,"$1"),ja=({meta:e,hideOnMissingParameter:t}={hideOnMissingParameter:!0})=>{let r=V(),o=At(),s=N(),{resource:a,resources:n}=A(),{pathname:i}=j(),{useLocation:m}=G(),{pathname:d}=m(),f=s==="legacy"?Rs(d):i?Rs(i):void 0,c=`/${(f!=null?f:"").replace(/^\//,"")}`,g=a?yt(a,n,s==="legacy"):c!=null?c:"",P=$r.useMemo(()=>{if(!a)return[];let u=Te(a,n),l=[yt(a,n)];for(;u;)l.push(yt(u,n)),u=Te(u,n);return l},[]),E=$r.useCallback(u=>{var R,h,b,y,p,x,v,D;if(((b=(R=u==null?void 0:u.meta)==null?void 0:R.hide)!=null?b:(h=u==null?void 0:u.options)==null?void 0:h.hide)||!(u!=null&&u.list)&&u.children.length===0)return;let l=u.list?o({resource:u,action:"list",legacy:s==="legacy",meta:e}):void 0;if(!(t&&l&&l.match(/(\/|^):(.+?)(\/|$){1}/)))return{...u,route:l,icon:C((y=u.meta)==null?void 0:y.icon,(p=u.options)==null?void 0:p.icon,u.icon),label:(D=C((x=u==null?void 0:u.meta)==null?void 0:x.label,(v=u==null?void 0:u.options)==null?void 0:v.label))!=null?D:r(`${u.name}.${u.name}`,mt(u.name,"plural"))}},[s,e,r,t]),T=$r.useMemo(()=>{let u=Ts(n,s==="legacy"),l=R=>R.flatMap(h=>{let b=l(h.children),y=E({...h,children:b});return y?[y]:[]});return l(u)},[n,s,E]);return{defaultOpenKeys:P,selectedKey:g,menuItems:T}};var Ya=()=>{let[e,t]=Za(),r=V(),{push:o}=te(),s=re(),a=N(),{resource:n,action:i}=A();return _a(()=>{n&&i&&t(r("pages.error.info",{action:i,resource:n==null?void 0:n.name},`You may have forgotten to add the "${i}" component to "${n==null?void 0:n.name}" resource.`))},[n,i]),kt.createElement(kt.Fragment,null,kt.createElement("h1",null,r("pages.error.404",void 0,"Sorry, the page you visited does not exist.")),e&&kt.createElement("p",null,e),kt.createElement("button",{onClick:()=>{a==="legacy"?o("/"):s({to:"/"})}},r("pages.error.backHome",void 0,"Back Home")))};import le,{useState as xs}from"react";var Ur=()=>{let[e,t]=xs(""),[r,o]=xs(""),s=V(),a=H(),{mutate:n}=ht({v3LegacyAuthProviderCompatible:Boolean(a==null?void 0:a.isLegacy)});return le.createElement(le.Fragment,null,le.createElement("h1",null,s("pages.login.title","Sign in your account")),le.createElement("form",{onSubmit:i=>{i.preventDefault(),n({username:e,password:r})}},le.createElement("table",null,le.createElement("tbody",null,le.createElement("tr",null,le.createElement("td",null,s("pages.login.username",void 0,"username"),":"),le.createElement("td",null,le.createElement("input",{type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",autoFocus:!0,required:!0,value:e,onChange:i=>t(i.target.value)}))),le.createElement("tr",null,le.createElement("td",null,s("pages.login.password",void 0,"password"),":"),le.createElement("td",null,le.createElement("input",{type:"password",required:!0,size:20,value:r,onChange:i=>o(i.target.value)}))))),le.createElement("br",null),le.createElement("input",{type:"submit",value:"login"})))};import gt from"react";import oe,{useState as Gr}from"react";var Ps=({providers:e,registerLink:t,forgotPasswordLink:r,rememberMe:o,contentProps:s,wrapperProps:a,renderContent:n,formProps:i,title:m=void 0})=>{let d=N(),f=tt(),{Link:c}=G(),g=d==="legacy"?c:f,[P,E]=Gr(""),[T,u]=Gr(""),[l,R]=Gr(!1),h=V(),b=H(),{mutate:y}=ht({v3LegacyAuthProviderCompatible:Boolean(b==null?void 0:b.isLegacy)}),p=(D,U)=>D?typeof D=="string"?oe.createElement(g,{to:D},U):D:null,x=()=>e?e.map(D=>{var U;return oe.createElement("div",{key:D.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},oe.createElement("button",{onClick:()=>y({providerName:D.name}),style:{display:"flex",alignItems:"center"}},D==null?void 0:D.icon,(U=D.label)!=null?U:oe.createElement("label",null,D.label)))}):null,v=oe.createElement("div",{...s},oe.createElement("h1",{style:{textAlign:"center"}},h("pages.login.title","Sign in to your account")),x(),oe.createElement("hr",null),oe.createElement("form",{onSubmit:D=>{D.preventDefault(),y({email:P,password:T,remember:l})},...i},oe.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},oe.createElement("label",null,h("pages.login.fields.email","Email")),oe.createElement("input",{name:"email",type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:P,onChange:D=>E(D.target.value)}),oe.createElement("label",null,h("pages.login.fields.password","Password")),oe.createElement("input",{type:"password",name:"password",required:!0,size:20,value:T,onChange:D=>u(D.target.value)}),o!=null?o:oe.createElement(oe.Fragment,null,oe.createElement("label",null,h("pages.login.buttons.rememberMe","Remember me"),oe.createElement("input",{name:"remember",type:"checkbox",size:20,checked:l,value:l.toString(),onChange:()=>{R(!l)}}))),oe.createElement("br",null),r!=null?r:p("/forgot-password",h("pages.login.buttons.forgotPassword","Forgot password?")),oe.createElement("input",{type:"submit",value:h("pages.login.signin","Sign in")}),t!=null?t:oe.createElement("span",null,h("pages.login.buttons.noAccount","Don\u2019t have an account?")," ",p("/register",h("pages.login.register","Sign up"))))));return oe.createElement("div",{...a},n?n(v,m):v)};import ue,{useState as Cs}from"react";var hs=({providers:e,loginLink:t,wrapperProps:r,contentProps:o,renderContent:s,formProps:a,title:n=void 0})=>{let i=N(),m=tt(),{Link:d}=G(),f=i==="legacy"?d:m,[c,g]=Cs(""),[P,E]=Cs(""),T=V(),u=H(),{mutate:l,isLoading:R}=fr({v3LegacyAuthProviderCompatible:Boolean(u==null?void 0:u.isLegacy)}),h=(p,x)=>p?typeof p=="string"?ue.createElement(f,{to:p},x):p:null,b=()=>e?e.map(p=>{var x;return ue.createElement("div",{key:p.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},ue.createElement("button",{onClick:()=>l({providerName:p.name}),style:{display:"flex",alignItems:"center"}},p==null?void 0:p.icon,(x=p.label)!=null?x:ue.createElement("label",null,p.label)))}):null,y=ue.createElement("div",{...o},ue.createElement("h1",{style:{textAlign:"center"}},T("pages.register.title","Sign up for your account")),b(),ue.createElement("hr",null),ue.createElement("form",{onSubmit:p=>{p.preventDefault(),l({email:c,password:P})},...a},ue.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},ue.createElement("label",null,T("pages.register.fields.email","Email")),ue.createElement("input",{name:"email",type:"email",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:c,onChange:p=>g(p.target.value)}),ue.createElement("label",null,T("pages.register.fields.password","Password")),ue.createElement("input",{name:"password",type:"password",required:!0,size:20,value:P,onChange:p=>E(p.target.value)}),ue.createElement("input",{type:"submit",value:T("pages.register.buttons.submit","Sign up"),disabled:R}),t!=null?t:ue.createElement(ue.Fragment,null,ue.createElement("span",null,T("pages.login.buttons.haveAccount","Have an account?")," ",h("/login",T("pages.login.signin","Sign in")))))));return ue.createElement("div",{...r},s?s(y,n):y)};import be,{useState as Ja}from"react";var bs=({loginLink:e,wrapperProps:t,contentProps:r,renderContent:o,formProps:s,title:a=void 0})=>{let n=V(),i=N(),m=tt(),{Link:d}=G(),f=i==="legacy"?d:m,[c,g]=Ja(""),{mutate:P,isLoading:E}=gr(),T=(l,R)=>l?typeof l=="string"?be.createElement(f,{to:l},R):l:null,u=be.createElement("div",{...r},be.createElement("h1",{style:{textAlign:"center"}},n("pages.forgotPassword.title","Forgot your password?")),be.createElement("hr",null),be.createElement("form",{onSubmit:l=>{l.preventDefault(),P({email:c})},...s},be.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},be.createElement("label",null,n("pages.forgotPassword.fields.email","Email")),be.createElement("input",{name:"email",type:"mail",autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:c,onChange:l=>g(l.target.value)}),be.createElement("input",{type:"submit",disabled:E,value:n("pages.forgotPassword.buttons.submit","Send reset instructions")}),be.createElement("br",null),e!=null?e:be.createElement("span",null,n("pages.register.buttons.haveAccount","Have an account? ")," ",T("/login",n("pages.login.signin","Sign in"))))));return be.createElement("div",{...t},o?o(u,a):u)};import Se,{useState as vs}from"react";var Ds=({wrapperProps:e,contentProps:t,renderContent:r,formProps:o,title:s=void 0})=>{let a=V(),n=H(),{mutate:i,isLoading:m}=Rr({v3LegacyAuthProviderCompatible:Boolean(n==null?void 0:n.isLegacy)}),[d,f]=vs(""),[c,g]=vs(""),P=Se.createElement("div",{...t},Se.createElement("h1",{style:{textAlign:"center"}},a("pages.updatePassword.title","Update Password")),Se.createElement("hr",null),Se.createElement("form",{onSubmit:E=>{E.preventDefault(),i({password:d,confirmPassword:c})},...o},Se.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Se.createElement("label",null,a("pages.updatePassword.fields.password","New Password")),Se.createElement("input",{name:"password",type:"password",required:!0,size:20,value:d,onChange:E=>f(E.target.value)}),Se.createElement("label",null,a("pages.updatePassword.fields.confirmPassword","Confirm New Password")),Se.createElement("input",{name:"confirmPassword",type:"password",required:!0,size:20,value:c,onChange:E=>g(E.target.value)}),Se.createElement("input",{type:"submit",disabled:m,value:a("pages.updatePassword.buttons.submit","Update")}))));return Se.createElement("div",{...e},r?r(P,s):P)};var Xa=e=>{let{type:t}=e;return gt.createElement(gt.Fragment,null,(()=>{switch(t){case"register":return gt.createElement(hs,{...e});case"forgotPassword":return gt.createElement(bs,{...e});case"updatePassword":return gt.createElement(Ds,{...e});default:return gt.createElement(Ps,{...e})}})())};import ge from"react";var Wr=()=>ge.createElement(ge.Fragment,null,ge.createElement("h1",null,"Welcome on board"),ge.createElement("p",null,"Your configuration is completed."),ge.createElement("p",null,"Now you can get started by adding your resources to the"," ",ge.createElement("code",null,"`resources`")," property of ",ge.createElement("code",null,"`<Refine>`")),ge.createElement("div",{style:{display:"flex",gap:8}},ge.createElement("a",{href:"https://refine.dev",target:"_blank",rel:"noreferrer"},ge.createElement("button",null,"Documentation")),ge.createElement("a",{href:"https://refine.dev/examples",target:"_blank",rel:"noreferrer"},ge.createElement("button",null,"Examples")),ge.createElement("a",{href:"https://discord.gg/refine",target:"_blank",rel:"noreferrer"},ge.createElement("button",null,"Community"))));import K,{useState as qa}from"react";var ei=[{title:"Documentation",description:"Learn about the technical details of using refine in your projects.",link:"https://refine.dev/",icon:K.createElement("svg",{width:"14",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},K.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:K.createElement("svg",{width:"16",height:"14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},K.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"}),K.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:K.createElement("svg",{width:"16",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},K.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"}),K.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:K.createElement("svg",{width:"16",height:"12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},K.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"}))}],ti=()=>{let e=er("(max-width: 1010px)"),t=er("(max-width: 650px)"),r=()=>t?"1, 280px":e?"2, 280px":"4, 208px",o=()=>t?"32px":e?"40px":"48px",s=()=>t?"16px":e?"20px":"24px";return K.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"}},K.createElement("div",{style:{height:"89px"}}),K.createElement("div",{style:{display:"flex",justifyContent:"center"}},K.createElement("img",{src:"https://refine.ams3.cdn.digitaloceanspaces.com/welcome-page/welcome-logo.webp",width:"198",height:"54"})),K.createElement("div",{style:{height:e?"270px":"22vw",minHeight:e?"270px":"313px"}}),K.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px",textAlign:"center"}},K.createElement("h1",{style:{fontSize:o(),fontWeight:700,margin:"0px"}},"Welcome Aboard!"),K.createElement("h4",{style:{fontSize:s(),fontWeight:400,margin:"0px"}},"Your configuration is completed.")),K.createElement("div",{style:{height:"64px"}}),K.createElement("div",{style:{display:"grid",gridTemplateColumns:`repeat(${r()})`,justifyContent:"center",gap:"48px",paddingRight:"16px",paddingLeft:"16px",maxWidth:"976px",margin:"auto"}},ei.map(a=>K.createElement(ri,{key:`welcome-page-${a.title}`,card:a}))),K.createElement("div",{style:{height:"64px"}}))},ri=({card:e})=>{let{title:t,description:r,icon:o,link:s}=e,[a,n]=qa(!1);return K.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},K.createElement("div",{style:{display:"flex",alignItems:"center"}},K.createElement("a",{onPointerEnter:()=>n(!0),onPointerLeave:()=>n(!1),style:{display:"flex",alignItems:"center",color:"#fff",textDecoration:"none"},href:s},o,K.createElement("span",{style:{fontSize:"16px",fontWeight:700,marginLeft:"13px",marginRight:"14px"}},t),K.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"},K.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"})))),K.createElement("span",{style:{fontSize:"12px",opacity:.5,lineHeight:"16px"}},r))};import q from"react";import{QueryClientProvider as ai,QueryClient as ws}from"@tanstack/react-query";import{ReactQueryDevtools as ii}from"@tanstack/react-query-devtools";import{useEffect as si}from"react";import{useContext as st}from"react";var oi="4.8.5",Es=()=>{let e=xr(),t=st(ot),r=st(Ne),o=st(Qt),s=st(It),{i18nProvider:a}=st(we),n=st(Mt),i=st(rt),{resources:m}=A(),d=!!t.create||!!t.get||!!t.update,f=!!(r!=null&&r.publish)||!!(r!=null&&r.subscribe)||!!(r!=null&&r.unsubscribe),c=!!o.useHistory||!!o.Link||!!o.Prompt||!!o.useLocation||!!o.useParams,g=!!s,P=!!(a!=null&&a.changeLocale)||!!(a!=null&&a.getLocale)||!!(a!=null&&a.translate),E=!!n.close||!!n.open,T=!!i.can;return{providers:{auth:e,auditLog:d,live:f,router:c,data:g,i18n:P,notification:E,accessControl:T},version:oi,resourceCount:m.length}};var ni=e=>{let t=JSON.stringify(e||{});return typeof btoa<"u"?btoa(t):Buffer.from(t).toString("base64")},Us=()=>{let e=Es();return si(()=>{if(typeof window>"u"&&!Image)return;let t=new Image;t.src=`https://telemetry.refine.dev/telemetry?payload=${ni(e)}`},[]),null};var Ls=e=>{let t=["go","parse","back","Link"],r=Object.keys(e).filter(s=>!t.includes(s));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 Is from"react";var Ms=e=>{let t=Is.useRef(!1);Is.useEffect(()=>{t.current===!1&&e&&Ls(e)&&(t.current=!0)},[e])};var ui=({legacyAuthProvider:e,authProvider:t,dataProvider:r,legacyRouterProvider:o,routerProvider:s,notificationProvider:a,accessControlProvider:n,auditLogProvider:i,resources:m,DashboardPage:d,ReadyPage:f,LoginPage:c,catchAll:g,children:P,liveProvider:E,i18nProvider:T,Title:u,Layout:l,Sider:R,Header:h,Footer:b,OffLayoutArea:y,onLiveEvent:p,options:x})=>{let{optionsWithDefaults:v,disableTelemetryWithDefault:D,reactQueryWithDefaults:U}=Lr({options:x}),L=rr(()=>{var k;return U.clientConfig instanceof ws?U.clientConfig:new ws({...U.clientConfig,defaultOptions:{...U.clientConfig.defaultOptions,queries:{refetchOnWindowFocus:!1,keepPreviousData:!0,...(k=U.clientConfig.defaultOptions)==null?void 0:k.queries}}})},[U.clientConfig]),I=q.useMemo(()=>typeof a=="function"?a:()=>a!=null?a:{},[a])();if(Ms(s),o&&!s&&(m!=null?m:[]).length===0)return f?q.createElement(f,null):q.createElement(Wr,null);let{RouterComponent:S=q.Fragment}=s?{}:o!=null?o:{};return q.createElement(ai,{client:L},q.createElement(jo,{...I},q.createElement(oo,{...e!=null?e:{},isProvided:Boolean(e)},q.createElement(no,{...t!=null?t:{},isProvided:Boolean(t)},q.createElement(Qo,{...r},q.createElement(Vo,{liveProvider:E},q.createElement(Wo,{value:o&&!s?"legacy":"new"},q.createElement(zo,{router:s},q.createElement(os,{...o},q.createElement(Ho,{resources:m!=null?m:[]},q.createElement(Zo,{i18nProvider:T},q.createElement(ns,{...n!=null?n:{}},q.createElement(fs,{...i!=null?i:{}},q.createElement(Ar,null,q.createElement(Do,{mutationMode:v.mutationMode,warnWhenUnsavedChanges:v.warnWhenUnsavedChanges,syncWithLocation:v.syncWithLocation,Title:u,undoableTimeout:v.undoableTimeout,catchAll:g,DashboardPage:d,LoginPage:c,Layout:l,Sider:R,Footer:b,Header:h,OffLayoutArea:y,hasDashboard:!!d,liveMode:v.liveMode,onLiveEvent:p,options:v},q.createElement(Jo,null,q.createElement(S,null,P,!D&&q.createElement(Us,null),q.createElement(Kr,null))))))))))))))))),U.devtoolConfig===!1?null:q.createElement(ii,{initialIsOpen:!1,position:"bottom-right",...U.devtoolConfig}))};import{useEffect as ci,useState as pi}from"react";var Lo=({notification:e})=>{let t=V(),{notificationDispatch:r}=ke(),{open:o}=ye(),[s,a]=pi(),n=()=>{if(e.isRunning===!0&&(e.seconds===0&&e.doMutation(),e.isSilent||o==null||o({key:`${e.id}-${e.resource}-notification`,type:"progress",message:t("notifications.undoable",{seconds:bt(e.seconds)},`You have ${bt(e.seconds)} seconds to undo`),cancelMutation:e.cancelMutation,undoableTimeout:bt(e.seconds)}),e.seconds>0)){s&&clearTimeout(s);let i=setTimeout(()=>{r({type:"DECREASE_NOTIFICATION_SECOND",payload:{id:e.id,seconds:e.seconds,resource:e.resource}})},1e3);a(i)}};return ci(()=>{n()},[e]),null};import zr,{useEffect as di}from"react";var li=({children:e,Layout:t,Sider:r,Header:o,Title:s,Footer:a,OffLayoutArea:n})=>{let{Layout:i,Footer:m,Header:d,Sider:f,Title:c,OffLayoutArea:g}=St(),P=t!=null?t:i;return zr.createElement(P,{Sider:r!=null?r:f,Header:o!=null?o:d,Footer:a!=null?a:m,Title:s!=null?s:c,OffLayoutArea:n!=null?n:g},e,zr.createElement(mi,null))},mi=()=>{let{Prompt:e}=G(),t=V(),{warnWhen:r,setWarnWhen:o}=wt(),s=a=>(a.preventDefault(),a.returnValue=t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),a.returnValue);return di(()=>(r&&window.addEventListener("beforeunload",s),window.removeEventListener("beforeunload",s)),[r]),zr.createElement(e,{when:r,message:t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),setWarnWhen:o})};import Re from"react";var fi=()=>{let e=re(),[t,r]=Re.useState(void 0);return Re.useEffect(()=>{t&&e(t)},[t]),Re.useCallback(s=>{t||r(s)},[t])};function yi({redirectOnFail:e=!0,appendCurrentPathToQuery:t=!0,children:r,fallback:o,loading:s}){var v;let a=H(),n=N(),i=Boolean(a==null?void 0:a.isProvided),m=Boolean(a==null?void 0:a.isLegacy),d=n==="legacy",f=j(),c=re(),g=fi(),{replace:P}=te(),{useLocation:E}=G(),T=E(),{isLoading:u,isFetching:l,isSuccess:R,data:{authenticated:h,redirectTo:b}={},refetch:y}=$t({v3LegacyAuthProviderCompatible:m});Re.useEffect(()=>{y()},[r,o]);let p=Re.useRef({status:u?"initial":"pending",content:s!=null?s:null});l?p.current.status="pending":l||(p.current.status="settled");let x=i?m?R:h:!0;if(p.current.status==="settled")if(x)p.current.content=Re.createElement(Re.Fragment,null,r!=null?r:null);else if(typeof o<"u")p.current.content=Re.createElement(Re.Fragment,null,o);else{let D=`${d?T==null?void 0:T.pathname:f.pathname}`.replace(/(\?.*|#.*)$/,""),U=m?typeof e=="string"?e:"/login":typeof e=="string"?e:b;if(U)if(d){let L=t?`?to=${encodeURIComponent(D)}`:"";P(`${U}${L}`)}else g({to:U,query:t?{to:(v=f.params)!=null&&v.to?f.params.to:c({to:D,options:{keepQuery:!0},type:"path"})}:void 0,type:"replace"})}return i?Re.createElement(Re.Fragment,null,p.current.content):Re.createElement(Re.Fragment,null,r!=null?r:null)}import{useEffect as gi}from"react";var Kr=()=>{let{useLocation:e}=G(),{checkAuth:t}=Y(),r=e();return gi(()=>{t==null||t().catch(()=>!1)},[r==null?void 0:r.pathname]),null};import Tt from"react";var Ti=({resource:e,action:t,params:r,fallback:o,children:s,...a})=>{var y,p;let n=N(),{resources:i}=A(),{useParams:m}=G(),{resource:d,id:f,action:c}=j(),{resource:g,id:P,action:E}=m(),T=d==null?void 0:d.name,u=!e||e===(n==="legacy"?g:T)?(y=r==null?void 0:r.id)!=null?y:n==="legacy"?P:f:r==null?void 0:r.id,l=e!=null?e:n==="legacy"?g:T,R,h=Ye();if(n==="legacy")l&&(R=h(l));else if(e){let x=$(e,i);x?R=x:R={name:e,route:e}}else if(typeof d=="string"){let x=$(d,i);x?R=x:R={name:d,route:d}}else R=d;let{data:b}=is({resource:e!=null?e:R==null?void 0:R.name,action:(p=t!=null?t:n==="legacy"?E:c)!=null?p:"",params:r!=null?r:{id:u,resource:R}});return b!=null&&b.can?Tt.isValidElement(s)?Tt.cloneElement(s,a):Tt.createElement(Tt.Fragment,null,s):(b==null?void 0:b.can)===!1?Tt.createElement(Tt.Fragment,null,o!=null?o:null):null};import Rt,{useEffect as Ri}from"react";var Ss=[`
|
|
10
|
+
See https://refine.dev/docs/api-reference/core/hooks/show/useShow/#resource`),{queryResult:It({resource:y==null?void 0:y.name,id:h!=null?h:"",queryOptions:{enabled:h!==void 0,...l},successNotification:r,errorNotification:o,meta:C,metaData:C,liveMode:n,onLiveEvent:u,dataProviderName:p}),showId:h,setShowId:d}};import{useEffect as va,useState as Wr}from"react";import{parse as Ea}from"papaparse";import Ua from"lodash-es/chunk";var Lg=({resourceName:e,resource:t,mapData:r=m=>m,paparseOptions:o,batchSize:s=Number.MAX_SAFE_INTEGER,onFinish:a,meta:n,metaData:u,onProgress:p,dataProviderName:l}={})=>{let[m,c]=Wr(0),[T,R]=Wr(0),[D,E]=Wr(!1),{resource:i}=Q(t!=null?t:e),g=Nr(),f=wt(),x;s===1?x=f:x=g;let h=()=>{R(0),c(0),E(!1)},d=y=>{let b={succeeded:y.filter(C=>C.type==="success"),errored:y.filter(C=>C.type==="error")};a==null||a(b),E(!1)};va(()=>{p==null||p({totalAmount:T,processedAmount:m})},[T,m]);let P=({file:y})=>(h(),new Promise(b=>{E(!0),Ea(y,{complete:async({data:C})=>{let v=zt(C,r);if(R(v.length),s===1){let U=v.map(I=>async()=>{var F;return{response:await f.mutateAsync({resource:(F=i==null?void 0:i.name)!=null?F:"",values:I,successNotification:!1,errorNotification:!1,dataProviderName:l,meta:L(n,u),metaData:L(n,u)}),value:I}}),M=await qt(U,({response:I,value:w})=>(c(B=>B+1),{response:[I.data],type:"success",request:[w]}),(I,w)=>({response:[I],type:"error",request:[v[w]]}));b(M)}else{let U=Ua(v,s),M=U.map(w=>async()=>{var A;return{response:await g.mutateAsync({resource:(A=i==null?void 0:i.name)!=null?A:"",values:w,successNotification:!1,errorNotification:!1,dataProviderName:l,meta:L(n,u),metaData:L(n,u)}),value:w,currentBatchLength:w.length}}),I=await qt(M,({response:w,currentBatchLength:B,value:F})=>(c(A=>A+B),{response:w.data,type:"success",request:F}),(w,B)=>({response:[w],type:"error",request:U[B]}));b(I)}},...o})}).then(b=>(d(b),b)));return{inputProps:{type:"file",accept:".csv",onChange:y=>{y.target.files&&y.target.files.length>0&&P({file:y.target.files[0]})}},mutationResult:x,isLoading:D,handleChange:P}};import{useCallback as ns,useState as Ma}from"react";var Sg=({defaultVisible:e=!1}={})=>{let[t,r]=Ma(e),o=ns(()=>r(!0),[t]),s=ns(()=>r(!1),[t]);return{visible:t,show:o,close:s}};import La from"react";var Vt=()=>{let e=N(),{resource:t,resources:r}=Q(),o=Z();return La.useCallback(({resource:a,action:n,meta:u})=>{var T;let p=a||t;if(!p)return;let m=(T=pe(p,r,e==="legacy").find(R=>R.action===n))==null?void 0:T.route;return m?fe(m,p==null?void 0:p.meta,o,u):void 0},[r,t,o])};var Ia=({resource:e,action:t,meta:r,legacy:o})=>Vt()({resource:e,action:t,meta:r,legacy:o});import wa,{useContext as Sa}from"react";var st=()=>{let e=Sa(We);return e!=null&&e.Link?e.Link:({to:r,...o})=>wa.createElement("a",{href:r,...o})};import{useContext as Qa}from"react";import as from"react";var Ke={useHistory:()=>!1,useLocation:()=>!1,useParams:()=>({}),Prompt:()=>null,Link:()=>null},Aa=as.createContext(Ke),Bt=Aa,is=({children:e,useHistory:t,useLocation:r,useParams:o,Prompt:s,Link:a,routes:n})=>as.createElement(Bt.Provider,{value:{useHistory:t!=null?t:Ke.useHistory,useLocation:r!=null?r:Ke.useLocation,useParams:o!=null?o:Ke.useParams,Prompt:s!=null?s:Ke.Prompt,Link:a!=null?a:Ke.Link,routes:n!=null?n:Ke.routes}},e);var K=()=>{let e=Qa(Bt),{useHistory:t,useLocation:r,useParams:o,Prompt:s,Link:a,routes:n}=e!=null?e:Ke;return{useHistory:t,useLocation:r,useParams:o,Prompt:s,Link:a,routes:n}};import{useQuery as ka}from"@tanstack/react-query";import{useContext as Va}from"react";import us from"react";var nt=us.createContext({}),cs=({can:e,children:t})=>us.createElement(nt.Provider,{value:{can:e}},t);var ar=e=>{let{icon:t,list:r,edit:o,create:s,show:a,clone:n,children:u,meta:p,options:l,...m}=e,{icon:c,...T}=p!=null?p:{},{icon:R,...D}=l!=null?l:{};return{...m,...p?{meta:T}:{},...l?{options:D}:{}}};var ps=({action:e,resource:t,params:r,queryOptions:o})=>{let{can:s}=Va(nt),{resource:a,...n}=r!=null?r:{},u=ar(a!=null?a:{}),p=ka(["useCan",{action:e,resource:t,params:{...n,resource:u},enabled:o==null?void 0:o.enabled}],()=>{var l;return(l=s==null?void 0:s({action:e,resource:t,params:n}))!=null?l:Promise.resolve({can:!0})},{enabled:typeof s<"u",...o,retry:!1});return typeof s>"u"?{data:{can:!0}}:p};import{useContext as Ba}from"react";var CT=()=>{let{can:e}=Ba(nt);return{can:e}};import{useCallback as ds,useMemo as Fa,useState as Kr}from"react";import Na from"lodash/uniqBy";import Oa from"lodash/debounce";import ir from"lodash/get";var QT=e=>{var ge,be,Le;let[t,r]=Kr([]),[o,s]=Kr([]),[a,n]=Kr([]),{resource:u,sort:p,sorters:l,filters:m=[],optionLabel:c="title",optionValue:T="id",debounce:R=300,successNotification:D,errorNotification:E,defaultValueQueryOptions:i,queryOptions:g,fetchSize:f,pagination:x,hasPagination:h=!1,liveMode:d,defaultValue:P=[],onLiveEvent:y,onSearch:b,liveParams:C,meta:v,metaData:U,dataProviderName:M}=e,{resources:I}=Q(),w=G(),B=$(u,I),F=(ge=B==null?void 0:B.name)!=null?ge:u,A=w({resource:B,meta:L(v,U)}),Y=Array.isArray(P)?P:[P],S=ds(ue=>{n(ue.data.map(ae=>({label:ir(ae,c),value:ir(ae,T)})))},[c,T]),O=i!=null?i:g,W=Qr({resource:F,ids:Y,queryOptions:{...O,enabled:Y.length>0&&((be=i==null?void 0:i.enabled)!=null?be:!0),onSuccess:ue=>{var ae;S(ue),(ae=O==null?void 0:O.onSuccess)==null||ae.call(O,ue)}},meta:A,metaData:A,liveMode:"off",dataProviderName:M}),Me=ds(ue=>{s(ue.data.map(ae=>({label:ir(ae,c),value:ir(ae,T)})))},[c,T]),_=Lt({resource:F,sorters:L(l,p),filters:m.concat(t),pagination:{current:x==null?void 0:x.current,pageSize:(Le=x==null?void 0:x.pageSize)!=null?Le:f,mode:x==null?void 0:x.mode},hasPagination:h,queryOptions:{...g,onSuccess:ue=>{var ae;Me(ue),(ae=g==null?void 0:g.onSuccess)==null||ae.call(g,ue)}},successNotification:D,errorNotification:E,meta:A,metaData:A,liveMode:d,liveParams:C,onLiveEvent:y,dataProviderName:M}),me=ue=>{if(b){r(b(ue));return}if(ue)r([{field:c,operator:"contains",value:ue}]);else{r([]);return}};return{queryResult:_,defaultValueQueryResult:W,options:Fa(()=>Na([...o,...a],"value"),[o,a]),onSearch:Oa(me,R)}};import Ha,{useState as ur,useEffect as ls}from"react";import ms from"qs";import cr from"lodash/differenceWith";import pr from"lodash/isEqual";import $a from"warn-once";var fs=[],ys=[];function KT({initialCurrent:e,initialPageSize:t,hasPagination:r=!0,pagination:o,initialSorter:s,permanentSorter:a=ys,defaultSetFilterBehavior:n,initialFilter:u,permanentFilter:p=fs,filters:l,sorters:m,syncWithLocation:c,resource:T,successNotification:R,errorNotification:D,queryOptions:E,liveMode:i,onLiveEvent:g,liveParams:f,meta:x,metaData:h,dataProviderName:d}={}){var Je,ht,Xr,qr,eo,to,ro,oo,so,no;let{syncWithLocation:P}=$r(),y=c!=null?c:P,b=$o(i),C=N(),{useLocation:v}=K(),{search:U,pathname:M}=v(),I=G(),w=Z(),B=r===!1?"off":"server",F=((Je=o==null?void 0:o.mode)!=null?Je:B)!=="off",A=L(o==null?void 0:o.current,e),Y=L(o==null?void 0:o.pageSize,t),S=L(x,h),{parsedCurrent:O,parsedPageSize:W,parsedSorter:Me,parsedFilters:_}=jt(U!=null?U:"?"),me=L(l==null?void 0:l.initial,u),ge=(ht=L(l==null?void 0:l.permanent,p))!=null?ht:fs,be=L(m==null?void 0:m.initial,s),Le=(Xr=L(m==null?void 0:m.permanent,a))!=null?Xr:ys,ue=(qr=L(l==null?void 0:l.defaultBehavior,n))!=null?qr:"merge",ae,tt,Be,Ie;y?(ae=((eo=w==null?void 0:w.params)==null?void 0:eo.current)||O||A||1,tt=((to=w==null?void 0:w.params)==null?void 0:to.pageSize)||W||Y||10,Be=((ro=w==null?void 0:w.params)==null?void 0:ro.sorters)||(Me.length?Me:be),Ie=((oo=w==null?void 0:w.params)==null?void 0:oo.filters)||(_.length?_:me)):(ae=A||1,tt=Y||10,Be=be,Ie=me);let{replace:ut}=oe(),bt=se(),{resource:ct}=Q(T),Nt=I({resource:ct,meta:S}),pt=ct==null?void 0:ct.name;Ha.useEffect(()=>{$a(typeof pt>"u","useTable: `resource` is not defined.")},[pt]);let[we,Ot]=ur(Jt(Le,Be!=null?Be:[])),[ze,je]=ur(Yt(ge,Ie!=null?Ie:[])),[dt,dr]=ur(ae),[_e,lr]=ur(tt),Jr=({pagination:{current:ie,pageSize:he},sorter:Ht,filters:$t})=>{var Gt;if(C==="new")return(Gt=bt({type:"path",options:{keepHash:!0,keepQuery:!0},query:{...F?{current:ie,pageSize:he}:{},sorters:Ht,filters:$t,...ce()}}))!=null?Gt:"";{let Dt=ms.parse(U==null?void 0:U.substring(1)),mr=_t({pagination:{pageSize:he,current:ie},sorters:we!=null?we:Ht,filters:$t,...Dt});return`${M!=null?M:""}?${mr!=null?mr:""}`}};ls(()=>{U===""&&(dr(ae),lr(tt),Ot(Jt(Le,Be!=null?Be:[])),je(Yt(ge,Ie!=null?Ie:[])))},[U]);let ce=()=>{var ie;if(C==="new"){let{sorters:he,filters:Ht,pageSize:$t,current:Gt,...Dt}=(ie=w==null?void 0:w.params)!=null?ie:{};return Dt}else{let{sorter:he,filters:Ht,pageSize:$t,current:Gt,...Dt}=ms.parse(U,{ignoreQueryPrefix:!0});return Dt}};ls(()=>{if(y){let ie=ce();if(C==="new")bt({type:"replace",options:{keepQuery:!0},query:{...F?{pageSize:_e,current:dt}:{},sorters:cr(we,Le,pr),filters:cr(ze,ge,pr)}});else{let he=_t({...F?{pagination:{pageSize:_e,current:dt}}:{},sorters:cr(we,Le,pr),filters:cr(ze,ge,pr),...ie});return ut==null?void 0:ut(`${M}?${he}`,void 0,{shallow:!0})}}},[y,dt,_e,we,ze]);let Se=Lt({resource:pt,hasPagination:r,pagination:{current:dt,pageSize:_e,mode:o==null?void 0:o.mode},filters:yt(ge,ze),sorters:Zt(Le,we),queryOptions:E,successNotification:R,errorNotification:D,meta:Nt,metaData:Nt,liveMode:b,liveParams:f,onLiveEvent:g,dataProviderName:d}),He=ie=>{je(he=>yt(ge,ie,he))},lt=ie=>{je(yt(ge,ie))},Ae=ie=>{je(he=>yt(ge,ie(he)))},Ze=(ie,he=ue)=>{typeof ie=="function"?Ae(ie):he==="replace"?lt(ie):He(ie)},Ye=ie=>{Ot(()=>Zt(Le,ie))};return{tableQueryResult:Se,sorters:we,setSorters:Ye,sorter:we,setSorter:Ye,filters:ze,setFilters:Ze,current:dt,setCurrent:dr,pageSize:_e,setPageSize:lr,pageCount:_e?Math.ceil(((no=(so=Se.data)==null?void 0:so.total)!=null?no:0)/_e):1,createLinkForSyncWithLocation:Jr}}import{useContext as Rs}from"react";import{useMutation as xs,useQueryClient as Ga}from"@tanstack/react-query";import gs from"react";var at=gs.createContext({}),Ts=({create:e,get:t,update:r,children:o})=>gs.createElement(at.Provider,{value:{create:e,get:t,update:r}},o);var ve=({logMutationOptions:e,renameMutationOptions:t}={})=>{let r=Ga(),o=Rs(at),s=H(),{resources:a}=Rs(qe),{data:n,refetch:u,isLoading:p}=fr({v3LegacyAuthProviderCompatible:Boolean(s==null?void 0:s.isLegacy),queryOptions:{enabled:!!o}}),l=xs(async c=>{var E,i,g,f,x;let T=$(c.resource,a),R=L((E=T==null?void 0:T.meta)==null?void 0:E.audit,(i=T==null?void 0:T.options)==null?void 0:i.audit,(f=(g=T==null?void 0:T.options)==null?void 0:g.auditLog)==null?void 0:f.permissions);if(R&&!vr(R,c.action))return;let D;return p&&(D=await u()),await((x=o.create)==null?void 0:x.call(o,{...c,author:n!=null?n:D==null?void 0:D.data}))},e),m=xs(async c=>{var T;return await((T=o.update)==null?void 0:T.call(o,c))},{onSuccess:c=>{if(c!=null&&c.resource){let T=J(c==null?void 0:c.resource);r.invalidateQueries(T.logList())}},...t});return{log:l,rename:m}};import{useContext as Wa}from"react";import{useQuery as Ka}from"@tanstack/react-query";var lR=({resource:e,action:t,meta:r,author:o,metaData:s,queryOptions:a})=>{let{get:n}=Wa(at),u=J(e,void 0,s);return Ka(u.logList(r),()=>{var l;return(l=n==null?void 0:n({resource:e,action:t,author:o,meta:r,metaData:s}))!=null?l:Promise.resolve([])},{enabled:typeof n<"u",...a,retry:!1})};import{useCallback as za}from"react";import{useQueryClient as ja}from"@tanstack/react-query";var Ee=()=>{let{resources:e}=Q(),t=ja();return za(({resource:o,dataProviderName:s,invalidates:a,id:n})=>{if(a===!1)return;let u=J(o,k(o,s,e));a.forEach(p=>{switch(p){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 _a}from"react";import Za from"warn-once";var AR=({meta:e={}}={})=>{let t=N(),{i18nProvider:r}=_a(ke),o=Z(),s=V(),{resources:a,resource:n,action:u}=Q(),p=[];if(!(n!=null&&n.name))return{breadcrumbs:p};let l=m=>{var T,R,D,E,i,g,f,x;let c=typeof m=="string"?(T=$(m,a,t==="legacy"))!=null?T:{name:m}:m;if(c){let h=L((R=c==null?void 0:c.meta)==null?void 0:R.parent,c==null?void 0:c.parentName);h&&l(h);let d=pe(c,a,t==="legacy").find(b=>b.action==="list"),P=(D=d==null?void 0:d.resource)!=null&&D.list?d==null?void 0:d.route:void 0,y=P?t==="legacy"?P:fe(P,c==null?void 0:c.meta,o,e):void 0;p.push({label:(g=L((E=c.meta)==null?void 0:E.label,(i=c.options)==null?void 0:i.label))!=null?g:s(`${c.name}.${c.name}`,rt(c.name)),href:y,icon:L((f=c.meta)==null?void 0:f.icon,(x=c.options)==null?void 0:x.icon,c.icon)})}};if(l(n),u&&u!=="list"){let m=`actions.${u}`,c=s(m);typeof r<"u"&&c===m?(Za(!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/core/hooks/useBreadcrumb/#i18n-support`),p.push({label:s(`buttons.${u}`,rt(u))})):p.push({label:s(m,rt(u))})}return{breadcrumbs:p}};import zr from"react";var Rt=(e,t,r=!1)=>{let o=[],s=Pe(e,t);for(;s;)o.push(s),s=Pe(s,t);return o.reverse(),`/${[...o,e].map(n=>{var u,p;return le((p=(u=r?n.route:void 0)!=null?u:n.identifier)!=null?p:n.name)}).join("/").replace(/^\//,"")}`};var Ps=(e,t=!1)=>{let r={item:{name:"__root__"},children:{}};e.forEach(s=>{var l,m;let a=[],n=Pe(s,e);for(;n;)a.push(n),n=Pe(n,e);a.reverse();let u=r;a.forEach(c=>{var R,D;let T=(D=(R=t?c.route:void 0)!=null?R:c.identifier)!=null?D:c.name;u.children[T]||(u.children[T]={item:c,children:{}}),u=u.children[T]});let p=(m=(l=t?s.route:void 0)!=null?l:s.identifier)!=null?m:s.name;u.children[p]||(u.children[p]={item:s,children:{}})});let o=s=>{let a=[];return Object.keys(s.children).forEach(n=>{let u=Rt(s.children[n].item,e,t),p={...s.children[n].item,key:u,children:o(s.children[n])};a.push(p)}),a};return o(r)};var Cs=e=>e.split("?")[0].split("#")[0].replace(/(.+)(\/$)/,"$1"),Ya=({meta:e,hideOnMissingParameter:t}={hideOnMissingParameter:!0})=>{let r=V(),o=Vt(),s=N(),{resource:a,resources:n}=Q(),{pathname:u}=Z(),{useLocation:p}=K(),{pathname:l}=p(),m=s==="legacy"?Cs(l):u?Cs(u):void 0,c=`/${(m!=null?m:"").replace(/^\//,"")}`,T=a?Rt(a,n,s==="legacy"):c!=null?c:"",R=zr.useMemo(()=>{if(!a)return[];let i=Pe(a,n),g=[Rt(a,n)];for(;i;)g.push(Rt(i,n)),i=Pe(i,n);return g},[]),D=zr.useCallback(i=>{var f,x,h,d,P,y,b,C;if(((h=(f=i==null?void 0:i.meta)==null?void 0:f.hide)!=null?h:(x=i==null?void 0:i.options)==null?void 0:x.hide)||!(i!=null&&i.list)&&i.children.length===0)return;let g=i.list?o({resource:i,action:"list",legacy:s==="legacy",meta:e}):void 0;if(!(t&&g&&g.match(/(\/|^):(.+?)(\/|$){1}/)))return{...i,route:g,icon:L((d=i.meta)==null?void 0:d.icon,(P=i.options)==null?void 0:P.icon,i.icon),label:(C=L((y=i==null?void 0:i.meta)==null?void 0:y.label,(b=i==null?void 0:i.options)==null?void 0:b.label))!=null?C:r(`${i.name}.${i.name}`,gt(i.name,"plural"))}},[s,e,r,t]),E=zr.useMemo(()=>{let i=Ps(n,s==="legacy"),g=f=>f.flatMap(x=>{let h=g(x.children),d=D({...x,children:h});return d?[d]:[]});return g(i)},[n,s,D]);return{defaultOpenKeys:R,selectedKey:T,menuItems:E}};var G=()=>{let{params:e}=Z();return({resource:r,meta:o}={})=>{let{meta:s}=ar(r!=null?r:{});return{...s,...e,...o}}};var qa=()=>{let[e,t]=Xa(),r=V(),{push:o}=oe(),s=se(),a=N(),{resource:n,action:u}=Q();return Ja(()=>{n&&u&&t(r("pages.error.info",{action:u,resource:n==null?void 0:n.name},`You may have forgotten to add the "${u}" component to "${n==null?void 0: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"?o("/"):s({to:"/"})}},r("pages.error.backHome",void 0,"Back Home")))};import ye,{useState as bs}from"react";var wr=()=>{let[e,t]=bs(""),[r,o]=bs(""),s=V(),a=H(),{mutate:n}=vt({v3LegacyAuthProviderCompatible:Boolean(a==null?void 0:a.isLegacy)});return ye.createElement(ye.Fragment,null,ye.createElement("h1",null,s("pages.login.title","Sign in your account")),ye.createElement("form",{onSubmit:u=>{u.preventDefault(),n({username:e,password:r})}},ye.createElement("table",null,ye.createElement("tbody",null,ye.createElement("tr",null,ye.createElement("td",null,s("pages.login.username",void 0,"username"),":"),ye.createElement("td",null,ye.createElement("input",{type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",autoFocus:!0,required:!0,value:e,onChange:u=>t(u.target.value)}))),ye.createElement("tr",null,ye.createElement("td",null,s("pages.login.password",void 0,"password"),":"),ye.createElement("td",null,ye.createElement("input",{type:"password",required:!0,size:20,value:r,onChange:u=>o(u.target.value)}))))),ye.createElement("br",null),ye.createElement("input",{type:"submit",value:"login"})))};import xt from"react";import ne,{useState as jr}from"react";var hs=({providers:e,registerLink:t,forgotPasswordLink:r,rememberMe:o,contentProps:s,wrapperProps:a,renderContent:n,formProps:u,title:p=void 0})=>{let l=N(),m=st(),{Link:c}=K(),T=l==="legacy"?c:m,[R,D]=jr(""),[E,i]=jr(""),[g,f]=jr(!1),x=V(),h=H(),{mutate:d}=vt({v3LegacyAuthProviderCompatible:Boolean(h==null?void 0:h.isLegacy)}),P=(C,v)=>C?typeof C=="string"?ne.createElement(T,{to:C},v):C:null,y=()=>e?e.map(C=>{var v;return ne.createElement("div",{key:C.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},ne.createElement("button",{onClick:()=>d({providerName:C.name}),style:{display:"flex",alignItems:"center"}},C==null?void 0:C.icon,(v=C.label)!=null?v:ne.createElement("label",null,C.label)))}):null,b=ne.createElement("div",{...s},ne.createElement("h1",{style:{textAlign:"center"}},x("pages.login.title","Sign in to your account")),y(),ne.createElement("hr",null),ne.createElement("form",{onSubmit:C=>{C.preventDefault(),d({email:R,password:E,remember:g})},...u},ne.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},ne.createElement("label",null,x("pages.login.fields.email","Email")),ne.createElement("input",{name:"email",type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:R,onChange:C=>D(C.target.value)}),ne.createElement("label",null,x("pages.login.fields.password","Password")),ne.createElement("input",{type:"password",name:"password",required:!0,size:20,value:E,onChange:C=>i(C.target.value)}),o!=null?o:ne.createElement(ne.Fragment,null,ne.createElement("label",null,x("pages.login.buttons.rememberMe","Remember me"),ne.createElement("input",{name:"remember",type:"checkbox",size:20,checked:g,value:g.toString(),onChange:()=>{f(!g)}}))),ne.createElement("br",null),r!=null?r:P("/forgot-password",x("pages.login.buttons.forgotPassword","Forgot password?")),ne.createElement("input",{type:"submit",value:x("pages.login.signin","Sign in")}),t!=null?t:ne.createElement("span",null,x("pages.login.buttons.noAccount","Don\u2019t have an account?")," ",P("/register",x("pages.login.register","Sign up"))))));return ne.createElement("div",{...a},n?n(b,p):b)};import de,{useState as Ds}from"react";var vs=({providers:e,loginLink:t,wrapperProps:r,contentProps:o,renderContent:s,formProps:a,title:n=void 0})=>{let u=N(),p=st(),{Link:l}=K(),m=u==="legacy"?l:p,[c,T]=Ds(""),[R,D]=Ds(""),E=V(),i=H(),{mutate:g,isLoading:f}=Rr({v3LegacyAuthProviderCompatible:Boolean(i==null?void 0:i.isLegacy)}),x=(P,y)=>P?typeof P=="string"?de.createElement(m,{to:P},y):P:null,h=()=>e?e.map(P=>{var y;return de.createElement("div",{key:P.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},de.createElement("button",{onClick:()=>g({providerName:P.name}),style:{display:"flex",alignItems:"center"}},P==null?void 0:P.icon,(y=P.label)!=null?y:de.createElement("label",null,P.label)))}):null,d=de.createElement("div",{...o},de.createElement("h1",{style:{textAlign:"center"}},E("pages.register.title","Sign up for your account")),h(),de.createElement("hr",null),de.createElement("form",{onSubmit:P=>{P.preventDefault(),g({email:c,password:R})},...a},de.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},de.createElement("label",null,E("pages.register.fields.email","Email")),de.createElement("input",{name:"email",type:"email",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:c,onChange:P=>T(P.target.value)}),de.createElement("label",null,E("pages.register.fields.password","Password")),de.createElement("input",{name:"password",type:"password",required:!0,size:20,value:R,onChange:P=>D(P.target.value)}),de.createElement("input",{type:"submit",value:E("pages.register.buttons.submit","Sign up"),disabled:f}),t!=null?t:de.createElement(de.Fragment,null,de.createElement("span",null,E("pages.login.buttons.haveAccount","Have an account?")," ",x("/login",E("pages.login.signin","Sign in")))))));return de.createElement("div",{...r},s?s(d,n):d)};import Ue,{useState as ei}from"react";var Es=({loginLink:e,wrapperProps:t,contentProps:r,renderContent:o,formProps:s,title:a=void 0})=>{let n=V(),u=N(),p=st(),{Link:l}=K(),m=u==="legacy"?l:p,[c,T]=ei(""),{mutate:R,isLoading:D}=Pr(),E=(g,f)=>g?typeof g=="string"?Ue.createElement(m,{to:g},f):g:null,i=Ue.createElement("div",{...r},Ue.createElement("h1",{style:{textAlign:"center"}},n("pages.forgotPassword.title","Forgot your password?")),Ue.createElement("hr",null),Ue.createElement("form",{onSubmit:g=>{g.preventDefault(),R({email:c})},...s},Ue.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Ue.createElement("label",null,n("pages.forgotPassword.fields.email","Email")),Ue.createElement("input",{name:"email",type:"mail",autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:c,onChange:g=>T(g.target.value)}),Ue.createElement("input",{type:"submit",disabled:D,value:n("pages.forgotPassword.buttons.submit","Send reset instructions")}),Ue.createElement("br",null),e!=null?e:Ue.createElement("span",null,n("pages.register.buttons.haveAccount","Have an account? ")," ",E("/login",n("pages.login.signin","Sign in"))))));return Ue.createElement("div",{...t},o?o(i,a):i)};import Ve,{useState as Us}from"react";var Ms=({wrapperProps:e,contentProps:t,renderContent:r,formProps:o,title:s=void 0})=>{let a=V(),n=H(),{mutate:u,isLoading:p}=br({v3LegacyAuthProviderCompatible:Boolean(n==null?void 0:n.isLegacy)}),[l,m]=Us(""),[c,T]=Us(""),R=Ve.createElement("div",{...t},Ve.createElement("h1",{style:{textAlign:"center"}},a("pages.updatePassword.title","Update Password")),Ve.createElement("hr",null),Ve.createElement("form",{onSubmit:D=>{D.preventDefault(),u({password:l,confirmPassword:c})},...o},Ve.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Ve.createElement("label",null,a("pages.updatePassword.fields.password","New Password")),Ve.createElement("input",{name:"password",type:"password",required:!0,size:20,value:l,onChange:D=>m(D.target.value)}),Ve.createElement("label",null,a("pages.updatePassword.fields.confirmPassword","Confirm New Password")),Ve.createElement("input",{name:"confirmPassword",type:"password",required:!0,size:20,value:c,onChange:D=>T(D.target.value)}),Ve.createElement("input",{type:"submit",disabled:p,value:a("pages.updatePassword.buttons.submit","Update")}))));return Ve.createElement("div",{...e},r?r(R,s):R)};var ti=e=>{let{type:t}=e;return xt.createElement(xt.Fragment,null,(()=>{switch(t){case"register":return xt.createElement(vs,{...e});case"forgotPassword":return xt.createElement(Es,{...e});case"updatePassword":return xt.createElement(Ms,{...e});default:return xt.createElement(hs,{...e})}})())};import xe from"react";var _r=()=>xe.createElement(xe.Fragment,null,xe.createElement("h1",null,"Welcome on board"),xe.createElement("p",null,"Your configuration is completed."),xe.createElement("p",null,"Now you can get started by adding your resources to the"," ",xe.createElement("code",null,"`resources`")," property of ",xe.createElement("code",null,"`<Refine>`")),xe.createElement("div",{style:{display:"flex",gap:8}},xe.createElement("a",{href:"https://refine.dev",target:"_blank",rel:"noreferrer"},xe.createElement("button",null,"Documentation")),xe.createElement("a",{href:"https://refine.dev/examples",target:"_blank",rel:"noreferrer"},xe.createElement("button",null,"Examples")),xe.createElement("a",{href:"https://discord.gg/refine",target:"_blank",rel:"noreferrer"},xe.createElement("button",null,"Community"))));import j,{useState as ri}from"react";var oi=[{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"}))}],si=()=>{let e=or("(max-width: 1010px)"),t=or("(max-width: 650px)"),r=()=>t?"1, 280px":e?"2, 280px":"4, 208px",o=()=>t?"32px":e?"40px":"48px",s=()=>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:o(),fontWeight:700,margin:"0px"}},"Welcome Aboard!"),j.createElement("h4",{style:{fontSize:s(),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"}},oi.map(a=>j.createElement(ni,{key:`welcome-page-${a.title}`,card:a}))),j.createElement("div",{style:{height:"64px"}}))},ni=({card:e})=>{let{title:t,description:r,icon:o,link:s}=e,[a,n]=ri(!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:s},o,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 te from"react";import{QueryClientProvider as ci,QueryClient as Qs}from"@tanstack/react-query";import{ReactQueryDevtools as pi}from"@tanstack/react-query-devtools";import{useEffect as ii}from"react";import{useContext as it}from"react";var ai="4.9.0",Ls=()=>{let e=hr(),t=it(at),r=it(Ge),o=it(Bt),s=it(St),{i18nProvider:a}=it(ke),n=it(At),u=it(nt),{resources:p}=Q(),l=!!t.create||!!t.get||!!t.update,m=!!(r!=null&&r.publish)||!!(r!=null&&r.subscribe)||!!(r!=null&&r.unsubscribe),c=!!o.useHistory||!!o.Link||!!o.Prompt||!!o.useLocation||!!o.useParams,T=!!s,R=!!(a!=null&&a.changeLocale)||!!(a!=null&&a.getLocale)||!!(a!=null&&a.translate),D=!!n.close||!!n.open,E=!!u.can;return{providers:{auth:e,auditLog:l,live:m,router:c,data:T,i18n:R,notification:D,accessControl:E},version:ai,resourceCount:p.length}};var ui=e=>{let t=JSON.stringify(e||{});return typeof btoa<"u"?btoa(t):Buffer.from(t).toString("base64")},Is=()=>{let e=Ls();return ii(()=>{if(typeof window>"u"&&!Image)return;let t=new Image;t.src=`https://telemetry.refine.dev/telemetry?payload=${ui(e)}`},[]),null};var ws=e=>{let t=["go","parse","back","Link"],r=Object.keys(e).filter(s=>!t.includes(s));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 Ss from"react";var As=e=>{let t=Ss.useRef(!1);Ss.useEffect(()=>{t.current===!1&&e&&ws(e)&&(t.current=!0)},[e])};var di=({legacyAuthProvider:e,authProvider:t,dataProvider:r,legacyRouterProvider:o,routerProvider:s,notificationProvider:a,accessControlProvider:n,auditLogProvider:u,resources:p,DashboardPage:l,ReadyPage:m,LoginPage:c,catchAll:T,children:R,liveProvider:D,i18nProvider:E,Title:i,Layout:g,Sider:f,Header:x,Footer:h,OffLayoutArea:d,onLiveEvent:P,options:y})=>{let{optionsWithDefaults:b,disableTelemetryWithDefault:C,reactQueryWithDefaults:v}=Sr({options:y}),U=nr(()=>{var B;return v.clientConfig instanceof Qs?v.clientConfig:new Qs({...v.clientConfig,defaultOptions:{...v.clientConfig.defaultOptions,queries:{refetchOnWindowFocus:!1,keepPreviousData:!0,...(B=v.clientConfig.defaultOptions)==null?void 0:B.queries}}})},[v.clientConfig]),I=te.useMemo(()=>typeof a=="function"?a:()=>a!=null?a:{},[a])();if(As(s),o&&!s&&(p!=null?p:[]).length===0)return m?te.createElement(m,null):te.createElement(_r,null);let{RouterComponent:w=te.Fragment}=s?{}:o!=null?o:{};return te.createElement(ci,{client:U},te.createElement(Jo,{...I},te.createElement(io,{...e!=null?e:{},isProvided:Boolean(e)},te.createElement(co,{...t!=null?t:{},isProvided:Boolean(t)},te.createElement(Fo,{...r},te.createElement(Oo,{liveProvider:D},te.createElement(_o,{value:o&&!s?"legacy":"new"},te.createElement(Yo,{router:s},te.createElement(is,{...o},te.createElement(Ko,{resources:p!=null?p:[]},te.createElement(qo,{i18nProvider:E},te.createElement(cs,{...n!=null?n:{}},te.createElement(Ts,{...u!=null?u:{}},te.createElement(Br,null,te.createElement(Lo,{mutationMode:b.mutationMode,warnWhenUnsavedChanges:b.warnWhenUnsavedChanges,syncWithLocation:b.syncWithLocation,Title:i,undoableTimeout:b.undoableTimeout,catchAll:T,DashboardPage:l,LoginPage:c,Layout:g,Sider:f,Footer:h,Header:x,OffLayoutArea:d,hasDashboard:!!l,liveMode:b.liveMode,onLiveEvent:P,options:b},te.createElement(ts,null,te.createElement(w,null,R,!C&&te.createElement(Is,null),te.createElement(Zr,null))))))))))))))))),v.devtoolConfig===!1?null:te.createElement(pi,{initialIsOpen:!1,position:"bottom-right",...v.devtoolConfig}))};import{useEffect as li,useState as mi}from"react";var So=({notification:e})=>{let t=V(),{notificationDispatch:r}=Oe(),{open:o}=Re(),[s,a]=mi(),n=()=>{if(e.isRunning===!0&&(e.seconds===0&&e.doMutation(),e.isSilent||o==null||o({key:`${e.id}-${e.resource}-notification`,type:"progress",message:t("notifications.undoable",{seconds:Et(e.seconds)},`You have ${Et(e.seconds)} seconds to undo`),cancelMutation:e.cancelMutation,undoableTimeout:Et(e.seconds)}),e.seconds>0)){s&&clearTimeout(s);let u=setTimeout(()=>{r({type:"DECREASE_NOTIFICATION_SECOND",payload:{id:e.id,seconds:e.seconds,resource:e.resource}})},1e3);a(u)}};return li(()=>{n()},[e]),null};import Yr,{useEffect as fi}from"react";var yi=({children:e,Layout:t,Sider:r,Header:o,Title:s,Footer:a,OffLayoutArea:n})=>{let{Layout:u,Footer:p,Header:l,Sider:m,Title:c,OffLayoutArea:T}=kt(),R=t!=null?t:u;return Yr.createElement(R,{Sider:r!=null?r:m,Header:o!=null?o:l,Footer:a!=null?a:p,Title:s!=null?s:c,OffLayoutArea:n!=null?n:T},e,Yr.createElement(gi,null))},gi=()=>{let{Prompt:e}=K(),t=V(),{warnWhen:r,setWarnWhen:o}=Qt(),s=a=>(a.preventDefault(),a.returnValue=t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),a.returnValue);return fi(()=>(r&&window.addEventListener("beforeunload",s),window.removeEventListener("beforeunload",s)),[r]),Yr.createElement(e,{when:r,message:t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),setWarnWhen:o})};import Ce from"react";var Ti=()=>{let e=se(),[t,r]=Ce.useState(void 0);return Ce.useEffect(()=>{t&&e(t)},[t]),Ce.useCallback(s=>{t||r(s)},[t])};function Ri({redirectOnFail:e=!0,appendCurrentPathToQuery:t=!0,children:r,fallback:o,loading:s}){var b;let a=H(),n=N(),u=Boolean(a==null?void 0:a.isProvided),p=Boolean(a==null?void 0:a.isLegacy),l=n==="legacy",m=Z(),c=se(),T=Ti(),{replace:R}=oe(),{useLocation:D}=K(),E=D(),{isLoading:i,isFetching:g,isSuccess:f,data:{authenticated:x,redirectTo:h}={},refetch:d}=Kt({v3LegacyAuthProviderCompatible:p});Ce.useEffect(()=>{d()},[r,o]);let P=Ce.useRef({status:i?"initial":"pending",content:s!=null?s:null});g?P.current.status="pending":g||(P.current.status="settled");let y=u?p?f:x:!0;if(P.current.status==="settled")if(y)P.current.content=Ce.createElement(Ce.Fragment,null,r!=null?r:null);else if(typeof o<"u")P.current.content=Ce.createElement(Ce.Fragment,null,o);else{let C=`${l?E==null?void 0:E.pathname:m.pathname}`.replace(/(\?.*|#.*)$/,""),v=p?typeof e=="string"?e:"/login":typeof e=="string"?e:h;if(v)if(l){let U=t?`?to=${encodeURIComponent(C)}`:"";R(`${v}${U}`)}else T({to:v,query:t?{to:(b=m.params)!=null&&b.to?m.params.to:c({to:C,options:{keepQuery:!0},type:"path"})}:void 0,type:"replace"})}return u?Ce.createElement(Ce.Fragment,null,P.current.content):Ce.createElement(Ce.Fragment,null,r!=null?r:null)}import{useEffect as xi}from"react";var Zr=()=>{let{useLocation:e}=K(),{checkAuth:t}=X(),r=e();return xi(()=>{t==null||t().catch(()=>!1)},[r==null?void 0:r.pathname]),null};import Pt from"react";var Pi=({resource:e,action:t,params:r,fallback:o,children:s,...a})=>{var d,P;let n=N(),{resources:u}=Q(),{useParams:p}=K(),{resource:l,id:m,action:c}=Z(),{resource:T,id:R,action:D}=p(),E=l==null?void 0:l.name,i=!e||e===(n==="legacy"?T:E)?(d=r==null?void 0:r.id)!=null?d:n==="legacy"?R:m:r==null?void 0:r.id,g=e!=null?e:n==="legacy"?T:E,f,x=et();if(n==="legacy")g&&(f=x(g));else if(e){let y=$(e,u);y?f=y:f={name:e,route:e}}else if(typeof l=="string"){let y=$(l,u);y?f=y:f={name:l,route:l}}else f=l;let{data:h}=ps({resource:e!=null?e:f==null?void 0:f.name,action:(P=t!=null?t:n==="legacy"?D:c)!=null?P:"",params:r!=null?r:{id:i,resource:f}});return h!=null&&h.can?Pt.isValidElement(s)?Pt.cloneElement(s,a):Pt.createElement(Pt.Fragment,null,s):(h==null?void 0:h.can)===!1?Pt.createElement(Pt.Fragment,null,o!=null?o:null):null};import Ct,{useEffect as Ci}from"react";var ks=[`
|
|
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/core/hooks/useBreadcrumb/#i18n
|
|
|
66
66
|
text-decoration: none;
|
|
67
67
|
z-index: 9;
|
|
68
68
|
}
|
|
69
|
-
`];var
|
|
69
|
+
`];var bi=()=>(Ci(()=>{let e=document.createElement("style");document.head.appendChild(e),ks.forEach(t=>{var r;return(r=e.sheet)==null?void 0:r.insertRule(t,e.sheet.cssRules.length)})},[]),Ct.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)"}},Ct.createElement("div",{style:{width:"200px"}}),Ct.createElement("a",{className:"gh-link",href:"https://s.refine.dev/github-support",target:"_blank",rel:"noreferrer"},Ct.createElement("div",{className:"content",style:{position:"relative",zIndex:2,color:"#fff",display:"flex",flexDirection:"row",gap:"8px"}},Ct.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"),Ct.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{ti as AuthPage,Ri as Authenticated,Pi as CanAccess,qa as ErrorComponent,bi as GitHubBanner,yi as LayoutWrapper,wr as LoginPage,_r as ReadyPage,di as Refine,qe as ResourceContext,Zr as RouteChangeHandler,So as UndoableQueue,si as WelcomePage,Uo as createTreeView,Ys as file2Base64,Zs as getDefaultFilter,_s as getDefaultSortOrder,er as getNextPageParam,tr as getPreviousPageParam,vo as handleUseParams,zt as importCSVMapper,rr as legacyResourceTransform,Lr as matchResourceFromRoute,jt as parseTableParams,js as parseTableParamsFromQuery,L as pickNotDeprecated,Xt as routeGenerator,Yt as setInitialFilters,Jt as setInitialSorters,_t as stringifyTableParams,yt as unionFilters,Zt as unionSorters,H as useActiveAuthProvider,bn as useApiUrl,$s as useAuthenticated,Gr as useBack,AR as useBreadcrumb,ps as useCan,CT as useCanWithoutCache,Oe as useCancelNotification,Gs as useCheckError,wt as useCreate,Nr as useCreateMany,Dn as useCustom,En as useCustomMutation,z as useDataProvider,ln as useDelete,Cn as useDeleteMany,Iy as useExport,Pr as useForgotPassword,Gy as useForm,fr as useGetIdentity,ia as useGetLocale,Vt as useGetToPath,se as useGo,ee as useHandleNotification,Lg as useImport,wn as useInfiniteList,Ee as useInvalidate,Kt as useIsAuthenticated,hr as useIsExistAuthentication,st as useLink,Lt as useList,$o as useLiveMode,ve as useLog,lR as useLogList,vt as useLogin,Wt as useLogout,Qr as useMany,Ya as useMenu,G as useMeta,Sg as useModal,Qe as useMutationMode,oe as useNavigation,Re as useNotification,q as useOnError,It as useOne,Or as useParse,Z as useParsed,Vs as usePermissions,De as usePublish,ss as useRedirectionAfterSubmission,kt as useRefineContext,Rr as useRegister,Q as useResource,Xe as useResourceSubscription,et as useResourceWithRoute,K as useRouterContext,N as useRouterType,QT as useSelect,ra as useSetLocale,xg as useShow,wm as useSubscription,$r as useSyncWithLocation,KT as useTable,la as useTitle,Ia as useToPath,V as useTranslate,Fr as useUpdate,Tn as useUpdateMany,br as useUpdatePassword,Qt as useWarnAboutChange,gt as userFriendlyResourceName};
|
|
70
70
|
//# sourceMappingURL=index.js.map
|