@refinedev/core 4.9.0 → 4.10.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 CHANGED
@@ -1,5 +1,62 @@
1
1
  # @pankod/refine-core
2
2
 
3
+ ## 4.10.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#4135](https://github.com/refinedev/refine/pull/4135) [`e72c0d2b41f`](https://github.com/refinedev/refine/commit/e72c0d2b41ffcd9d5853e0d912a31cb88fab9841) Thanks [@salihozdemir](https://github.com/salihozdemir)! - feat: Expose the query params to the `meta` and add the ability to pass global `meta` to data provider methods
8
+
9
+ - Added the ability to pass `meta` to data provider methods globally for specific resources.
10
+
11
+ For example, to pass the `role` property to all data provider methods for the `posts` resource, use the following code:
12
+
13
+ ```tsx
14
+ import { Refine } from "@refinedev/core";
15
+
16
+ const App: React.FC = () => {
17
+ return (
18
+ <Refine
19
+ resources={[
20
+ {
21
+ name: "posts",
22
+ meta: {
23
+ role: "editor",
24
+ },
25
+ },
26
+ ]}
27
+ />
28
+ );
29
+ };
30
+ ```
31
+
32
+ Now, when you call any data hook with the `posts` resource, the `meta` property will be accessible in the data provider methods.
33
+
34
+ ```tsx
35
+ const dataProvider = {
36
+ getList: async ({ resource, meta }) => {
37
+ console.log(meta.role); // "editor"
38
+ },
39
+ };
40
+ ```
41
+
42
+ - Added the query params to the `meta` property by default.
43
+
44
+ For example, if you call the `useList` hook on the `example.com/posts?status=published` URL, the `meta` property will be accessible in the data provider methods as follows:
45
+
46
+ ```tsx
47
+ const dataProvider = {
48
+ getList: async ({ resource, meta }) => {
49
+ console.log(meta.status); // "published"
50
+ },
51
+ };
52
+ ```
53
+
54
+ ### Patch Changes
55
+
56
+ - [#4159](https://github.com/refinedev/refine/pull/4159) [`f7f590589e7`](https://github.com/refinedev/refine/commit/f7f590589e78a255f2ce292311c6bae765b9de8f) Thanks [@aliemir](https://github.com/aliemir)! - fixed: missing resource meta in route compositions
57
+
58
+ Added missing resource meta values when composing routes. This fixes the bug where the resource meta values does not included in the route composition.
59
+
3
60
  ## 4.9.0
4
61
 
5
62
  ### Minor Changes
package/dist/esm/index.js CHANGED
@@ -8,7 +8,7 @@ See https://refine.dev/docs/api-reference/core/hooks/useForm/#resource`);let tt=
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
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=[`
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.10.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) {