@refinedev/core 4.21.0 → 4.22.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,45 @@
1
1
  # @pankod/refine-core
2
2
 
3
+ ## 4.22.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#4449](https://github.com/refinedev/refine/pull/4449) [`cc84d61bc5c`](https://github.com/refinedev/refine/commit/cc84d61bc5c8cfc8ac7da391f965471ecad6c445) Thanks [@BatuhanW](https://github.com/BatuhanW)! - feat: allow access control provider to be configured globally.
8
+
9
+ Now `accessControlProvider` accepts `options.buttons` parameter to globally configure UI buttons' behaviour.
10
+
11
+ These configuration will be used as a fallback, if no configuration on button prop level is found.
12
+
13
+ Default values:
14
+
15
+ `options.buttons.enableAccessControl` => `true`
16
+ `options.buttons.hideIfUnauthorized` => `false`
17
+
18
+ ```ts
19
+ const accessControlProvider: IAccessControlContext = {
20
+ can: async (params: CanParams): Promise<CanReturnType> => {
21
+ return { can: true };
22
+ },
23
+ options: {
24
+ buttons: {
25
+ enableAccessControl: true,
26
+ hideIfUnauthorized: false,
27
+ },
28
+ },
29
+ };
30
+ ```
31
+
32
+ ### Patch Changes
33
+
34
+ - [#4521](https://github.com/refinedev/refine/pull/4521) [`a3c8d4f84c7`](https://github.com/refinedev/refine/commit/a3c8d4f84c7b20b6d30f43310f5260b2f57b801a) Thanks [@alicanerdurmaz](https://github.com/alicanerdurmaz)! - fixed: `useExport`'s `resource` props is not working.
35
+ With this fix, `useExport` will now work with `resource` props.
36
+
37
+ ```ts
38
+ useExport({
39
+ resource: "users",
40
+ });
41
+ ```
42
+
3
43
  ## 4.21.0
4
44
 
5
45
  ### Minor Changes
package/dist/esm/index.js CHANGED
@@ -8,7 +8,7 @@ See https://refine.dev/docs/api-reference/core/hooks/useForm/#resource`);let rt=
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:At({resource:T==null?void 0:T.name,id:E??"",queryOptions:{enabled:E!==void 0,...m},successNotification:r,errorNotification:s,meta:R,metaData:R,liveMode:n,onLiveEvent:c,dataProviderName:p}),showId:E,setShowId:l}};import{useEffect as ba,useState as Gr}from"react";import{parse as va}from"papaparse";import Da from"lodash-es/chunk";var Ag=({resourceName:e,resource:t,mapData:r=d=>d,paparseOptions:s,batchSize:o=Number.MAX_SAFE_INTEGER,onFinish:a,meta:n,metaData:c,onProgress:p,dataProviderName:m}={})=>{let[d,u]=Gr(0),[g,x]=Gr(0),[v,M]=Gr(!1),{resource:i}=S(t??e),f=Nr(),y=St(),P;o===1?P=y:P=f;let E=()=>{x(0),u(0),M(!1)},l=T=>{let b={succeeded:T.filter(R=>R.type==="success"),errored:T.filter(R=>R.type==="error")};a==null||a(b),M(!1)};ba(()=>{p==null||p({totalAmount:g,processedAmount:d})},[g,d]);let C=({file:T})=>(E(),new Promise(b=>{M(!0),va(T,{complete:async({data:R})=>{let h=_t(R,r);if(x(h.length),o===1){let D=h.map(I=>async()=>({response:await y.mutateAsync({resource:(i==null?void 0:i.name)??"",values:I,successNotification:!1,errorNotification:!1,dataProviderName:m,meta:L(n,c),metaData:L(n,c)}),value:I})),U=await er(D,({response:I,value:A})=>(u(B=>B+1),{response:[I.data],type:"success",request:[A]}),(I,A)=>({response:[I],type:"error",request:[h[A]]}));b(U)}else{let D=Da(h,o),U=D.map(A=>async()=>({response:await f.mutateAsync({resource:(i==null?void 0:i.name)??"",values:A,successNotification:!1,errorNotification:!1,dataProviderName:m,meta:L(n,c),metaData:L(n,c)}),value:A,currentBatchLength:A.length})),I=await er(U,({response:A,currentBatchLength:B,value:$})=>(u(O=>O+B),{response:A.data,type:"success",request:$}),(A,B)=>({response:[A],type:"error",request:D[B]}));b(I)}},...s})}).then(b=>(l(b),b)));return{inputProps:{type:"file",accept:".csv",onChange:T=>{T.target.files&&T.target.files.length>0&&C({file:T.target.files[0]})}},mutationResult:P,isLoading:v,handleChange:C}};import{useCallback as ts,useState as Ea}from"react";var kg=({defaultVisible:e=!1}={})=>{let[t,r]=Ea(e),s=ts(()=>r(!0),[t]),o=ts(()=>r(!1),[t]);return{visible:t,show:s,close:o}};import Ma from"react";var Bt=()=>{let e=V(),{resource:t,resources:r}=S(),s=Z();return Ma.useCallback(({resource:a,action:n,meta:c})=>{var g;let p=a||t;if(!p)return;let d=(g=ce(p,r,e==="legacy").find(x=>x.action===n))==null?void 0:g.route;return d?le(d,p==null?void 0:p.meta,s,c):void 0},[r,t,s])};var La=({resource:e,action:t,meta:r,legacy:s})=>Bt()({resource:e,action:t,meta:r,legacy:s});import Ua,{useContext as Ia}from"react";var at=()=>{let e=Ia(Oe);return e!=null&&e.Link?e.Link:({to:r,...s})=>Ua.createElement("a",{href:r,...s})};import{useContext as Aa}from"react";import rs from"react";var $e={useHistory:()=>!1,useLocation:()=>!1,useParams:()=>({}),Prompt:()=>null,Link:()=>null},wa=rs.createContext($e),Nt=wa,os=({children:e,useHistory:t,useLocation:r,useParams:s,Prompt:o,Link:a,routes:n})=>rs.createElement(Nt.Provider,{value:{useHistory:t??$e.useHistory,useLocation:r??$e.useLocation,useParams:s??$e.useParams,Prompt:o??$e.Prompt,Link:a??$e.Link,routes:n??$e.routes}},e);var K=()=>{let e=Aa(Nt),{useHistory:t,useLocation:r,useParams:s,Prompt:o,Link:a,routes:n}=e??$e;return{useHistory:t,useLocation:r,useParams:s,Prompt:o,Link:a,routes:n}};import{useQuery as Sa}from"@tanstack/react-query";import{useContext as Qa}from"react";import ss from"react";var tt=ss.createContext({options:{buttons:{enableAccessControl:!0,hideIfUnauthorized:!1}}});var ns=({can:e,children:t,options:r})=>ss.createElement(tt.Provider,{value:{can:e,options:r?{...r,buttons:{enableAccessControl:!0,hideIfUnauthorized:!1,...r.buttons}}:{buttons:{enableAccessControl:!0,hideIfUnauthorized:!1}}}},t);var ir=e=>{let{icon:t,list:r,edit:s,create:o,show:a,clone:n,children:c,meta:p,options:m,...d}=e,{icon:u,...g}=p??{},{icon:x,...v}=m??{};return{...d,...p?{meta:g}:{},...m?{options:v}:{}}};var as=({action:e,resource:t,params:r,queryOptions:s})=>{let{can:o}=Qa(tt),{resource:a,...n}=r??{},c=ir(a??{}),p=Sa(["useCan",{action:e,resource:t,params:{...n,resource:c},enabled:s==null?void 0:s.enabled}],()=>(o==null?void 0:o({action:e,resource:t,params:n}))??Promise.resolve({can:!0}),{enabled:typeof o<"u",...s,retry:!1});return typeof o>"u"?{data:{can:!0}}:p};import{useContext as ka}from"react";var vT=()=>{let{can:e}=ka(tt);return{can:e}};import{useCallback as is,useMemo as Fa,useState as Kr}from"react";import Va from"lodash/uniqBy";import Ba from"lodash/debounce";import ur from"lodash/get";var VT=e=>{let[t,r]=Kr([]),[s,o]=Kr([]),[a,n]=Kr([]),{resource:c,sort:p,sorters:m,filters:d=[],optionLabel:u="title",optionValue:g="id",debounce:x=300,successNotification:v,errorNotification:M,defaultValueQueryOptions:i,queryOptions:f,fetchSize:y,pagination:P,hasPagination:E=!1,liveMode:l,defaultValue:C=[],onLiveEvent:T,onSearch:b,liveParams:R,meta:h,metaData:D,dataProviderName:U}=e,{resources:I}=S(),A=G(),B=W(c,I),$=(B==null?void 0:B.name)??c,O=A({resource:B,meta:L(h,D)}),J=Array.isArray(C)?C:[C],w=is(N=>{n(N.data.map(ne=>({label:ur(ne,u),value:ur(ne,g)})))},[u,g]),F=i??f,j=Qr({resource:$,ids:J,queryOptions:{...F,enabled:J.length>0&&((F==null?void 0:F.enabled)??!0),onSuccess:N=>{var ne;w(N),(ne=F==null?void 0:F.onSuccess)==null||ne.call(F,N)}},meta:O,metaData:O,liveMode:"off",dataProviderName:U}),xe=is(N=>{o(N.data.map(ne=>({label:ur(ne,u),value:ur(ne,g)})))},[u,g]),ye=wt({resource:$,sorters:L(m,p),filters:d.concat(t),pagination:{current:P==null?void 0:P.current,pageSize:(P==null?void 0:P.pageSize)??y,mode:P==null?void 0:P.mode},hasPagination:E,queryOptions:{...f,onSuccess:N=>{var ne;xe(N),(ne=f==null?void 0:f.onSuccess)==null||ne.call(f,N)}},successNotification:v,errorNotification:M,meta:O,metaData:O,liveMode:l,liveParams:R,onLiveEvent:T,dataProviderName:U}),Me=N=>{if(b){r(b(N));return}if(N)r([{field:u,operator:"contains",value:N}]);else{r([]);return}};return{queryResult:ye,defaultValueQueryResult:j,options:Fa(()=>Va([...s,...a],"value"),[s,a]),onSearch:Ba(Me,x)}};import Na,{useState as cr,useEffect as us}from"react";import cs from"qs";import pr from"lodash/differenceWith";import dr from"lodash/isEqual";import Ha from"warn-once";var ps=[],ds=[];function jT({initialCurrent:e,initialPageSize:t,hasPagination:r=!0,pagination:s,initialSorter:o,permanentSorter:a=ds,defaultSetFilterBehavior:n,initialFilter:c,permanentFilter:p=ps,filters:m,sorters:d,syncWithLocation:u,resource:g,successNotification:x,errorNotification:v,queryOptions:M,liveMode:i,onLiveEvent:f,liveParams:y,meta:P,metaData:E,dataProviderName:l}={}){var Ye,Dt,Xr,qr,eo;let{syncWithLocation:C}=$r(),T=u??C,b=Bo(i),R=V(),{useLocation:h}=K(),{search:D,pathname:U}=h(),I=G(),A=Z(),B=((m==null?void 0:m.mode)||"server")==="server",$=((d==null?void 0:d.mode)||"server")==="server",O=r===!1?"off":"server",J=((s==null?void 0:s.mode)??O)!=="off",w=L(s==null?void 0:s.current,e),F=L(s==null?void 0:s.pageSize,t),j=L(P,E),{parsedCurrent:xe,parsedPageSize:ye,parsedSorter:Me,parsedFilters:N}=jt(D??"?"),ne=L(m==null?void 0:m.initial,c),we=L(m==null?void 0:m.permanent,p)??ps,ke=L(d==null?void 0:d.initial,o),We=L(d==null?void 0:d.permanent,a)??ds,bt=L(m==null?void 0:m.defaultBehavior,n)??"merge",Ge,rt,ct,ot;T?(Ge=((Ye=A==null?void 0:A.params)==null?void 0:Ye.current)||xe||w||1,rt=((Dt=A==null?void 0:A.params)==null?void 0:Dt.pageSize)||ye||F||10,ct=((Xr=A==null?void 0:A.params)==null?void 0:Xr.sorters)||(Me.length?Me:ke),ot=((qr=A==null?void 0:A.params)==null?void 0:qr.filters)||(N.length?N:ne)):(Ge=w||1,rt=F||10,ct=ke,ot=ne);let{replace:pt}=oe(),vt=se(),{resource:dt}=S(g),Ot=I({resource:dt,meta:j}),lt=dt==null?void 0:dt.name;Na.useEffect(()=>{Ha(typeof lt>"u","useTable: `resource` is not defined.")},[lt]);let[Fe,$t]=cr(Xt(We,ct??[])),[Ke,ze]=cr(Jt(we,ot??[])),[mt,lr]=cr(Ge),[_e,mr]=cr(rt),Jr=({pagination:{current:ue,pageSize:Ce},sorter:Wt,filters:Gt})=>{if(R==="new")return vt({type:"path",options:{keepHash:!0,keepQuery:!0},query:{...J?{current:ue,pageSize:Ce}:{},sorters:Wt,filters:Gt,...ie()}})??"";{let Et=cs.parse(D==null?void 0:D.substring(1)),As=Zt({pagination:{pageSize:Ce,current:ue},sorters:Fe??Wt,filters:Gt,...Et});return`${U??""}?${As??""}`}};us(()=>{D===""&&(lr(Ge),mr(rt),$t(Xt(We,ct??[])),ze(Jt(we,ot??[])))},[D]);let ie=()=>{if(R==="new"){let{sorters:ue,filters:Ce,pageSize:Wt,current:Gt,...Et}=(A==null?void 0:A.params)??{};return Et}else{let{sorter:ue,filters:Ce,pageSize:Wt,current:Gt,...Et}=cs.parse(D,{ignoreQueryPrefix:!0});return Et}};us(()=>{if(T){let ue=ie();if(R==="new")vt({type:"replace",options:{keepQuery:!0},query:{...J?{pageSize:_e,current:mt}:{},sorters:pr(Fe,We,dr),filters:pr(Ke,we,dr)}});else{let Ce=Zt({...J?{pagination:{pageSize:_e,current:mt}}:{},sorters:pr(Fe,We,dr),filters:pr(Ke,we,dr),...ue});return pt==null?void 0:pt(`${U}?${Ce}`,void 0,{shallow:!0})}}},[T,mt,_e,Fe,Ke]);let Ve=wt({resource:lt,hasPagination:r,pagination:{current:mt,pageSize:_e,mode:s==null?void 0:s.mode},filters:B?Tt(we,Ke):void 0,sorters:$?Yt(We,Fe):void 0,queryOptions:M,successNotification:x,errorNotification:v,meta:Ot,metaData:Ot,liveMode:b,liveParams:y,onLiveEvent:f,dataProviderName:l}),Be=ue=>{ze(Ce=>Tt(we,ue,Ce))},ft=ue=>{ze(Tt(we,ue))},Le=ue=>{ze(Ce=>Tt(we,ue(Ce)))},je=(ue,Ce=bt)=>{typeof ue=="function"?Le(ue):Ce==="replace"?ft(ue):Be(ue)},Ze=ue=>{$t(()=>Yt(We,ue))};return{tableQueryResult:Ve,sorters:Fe,setSorters:Ze,sorter:Fe,setSorter:Ze,filters:Ke,setFilters:je,current:mt,setCurrent:lr,pageSize:_e,setPageSize:mr,pageCount:_e?Math.ceil((((eo=Ve.data)==null?void 0:eo.total)??0)/_e):1,createLinkForSyncWithLocation:Jr}}import{useContext as fs}from"react";import{useMutation as ys,useQueryClient as Oa}from"@tanstack/react-query";import ls from"react";var it=ls.createContext({}),ms=({create:e,get:t,update:r,children:s})=>ls.createElement(it.Provider,{value:{create:e,get:t,update:r}},s);var be=({logMutationOptions:e,renameMutationOptions:t}={})=>{let r=Oa(),s=fs(it),o=H(),{resources:a}=fs(qe),{data:n,refetch:c,isLoading:p}=fr({v3LegacyAuthProviderCompatible:!!(o!=null&&o.isLegacy),queryOptions:{enabled:!!s}}),m=ys(async u=>{var M,i,f,y,P;let g=W(u.resource,a),x=L((M=g==null?void 0:g.meta)==null?void 0:M.audit,(i=g==null?void 0:g.options)==null?void 0:i.audit,(y=(f=g==null?void 0:g.options)==null?void 0:f.auditLog)==null?void 0:y.permissions);if(x&&!Dr(x,u.action))return;let v;return p&&(v=await c()),await((P=s.create)==null?void 0:P.call(s,{...u,author:n??(v==null?void 0:v.data)}))},e),d=ys(async u=>{var g;return await((g=s.update)==null?void 0:g.call(s,u))},{onSuccess:u=>{if(u!=null&&u.resource){let g=Y(u==null?void 0:u.resource);r.invalidateQueries(g.logList())}},...t});return{log:m,rename:d}};import{useContext as $a}from"react";import{useQuery as Wa}from"@tanstack/react-query";var yR=({resource:e,action:t,meta:r,author:s,metaData:o,queryOptions:a})=>{let{get:n}=$a(it),c=Y(e,void 0,o);return Wa(c.logList(r),()=>(n==null?void 0:n({resource:e,action:t,author:s,meta:r,metaData:o}))??Promise.resolve([]),{enabled:typeof n<"u",...a,retry:!1})};import{useCallback as Ga}from"react";import{useQueryClient as Ka}from"@tanstack/react-query";var ve=()=>{let{resources:e}=S(),t=Ka();return Ga(({resource:s,dataProviderName:o,invalidates:a,id:n})=>{if(a===!1)return;let c=Y(s,Q(s,o,e));a.forEach(p=>{switch(p){case"all":t.invalidateQueries(c.all);break;case"list":t.invalidateQueries(c.list());break;case"many":t.invalidateQueries(c.many());break;case"resourceAll":t.invalidateQueries(c.resourceAll);break;case"detail":t.invalidateQueries(c.detail(n||""));break;default:break}})},[])};import{useContext as za}from"react";import _a from"warn-once";var FR=({meta:e={}}={})=>{let t=V(),{i18nProvider:r}=za(De),s=Z(),o=k(),{resources:a,resource:n,action:c}=S(),p=[];if(!(n!=null&&n.name))return{breadcrumbs:p};let m=d=>{var g,x,v,M,i,f;let u=typeof d=="string"?W(d,a,t==="legacy")??{name:d}:d;if(u){let y=L((g=u==null?void 0:u.meta)==null?void 0:g.parent,u==null?void 0:u.parentName);y&&m(y);let P=ce(u,a,t==="legacy").find(C=>C.action==="list"),E=(x=P==null?void 0:P.resource)!=null&&x.list?P==null?void 0:P.route:void 0,l=E?t==="legacy"?E:le(E,u==null?void 0:u.meta,s,e):void 0;p.push({label:L((v=u.meta)==null?void 0:v.label,(M=u.options)==null?void 0:M.label)??o(`${u.name}.${u.name}`,st(u.name)),href:l,icon:L((i=u.meta)==null?void 0:i.icon,(f=u.options)==null?void 0:f.icon,u.icon)})}};if(m(n),c&&c!=="list"){let d=`actions.${c}`,u=o(d);typeof r<"u"&&u===d?(_a(!0,`[useBreadcrumb]: Breadcrumb missing translate key for the "${c}" action. Please add "actions.${c}" key to your translation file.
11
- For more information, see https://refine.dev/docs/api-reference/core/hooks/useBreadcrumb/#i18n-support`),p.push({label:o(`buttons.${c}`,st(c))})):p.push({label:o(d,st(c))})}return{breadcrumbs:p}};import zr from"react";var Pt=(e,t,r=!1)=>{let s=[],o=Re(e,t);for(;o;)s.push(o),o=Re(o,t);return s.reverse(),`/${[...s,e].map(n=>de((r?n.route:void 0)??n.identifier??n.name)).join("/").replace(/^\//,"")}`};var gs=(e,t=!1)=>{let r={item:{name:"__root__"},children:{}};e.forEach(o=>{let a=[],n=Re(o,e);for(;n;)a.push(n),n=Re(n,e);a.reverse();let c=r;a.forEach(m=>{let d=(t?m.route:void 0)??m.identifier??m.name;c.children[d]||(c.children[d]={item:m,children:{}}),c=c.children[d]});let p=(t?o.route:void 0)??o.identifier??o.name;c.children[p]||(c.children[p]={item:o,children:{}})});let s=o=>{let a=[];return Object.keys(o.children).forEach(n=>{let c=Pt(o.children[n].item,e,t),p={...o.children[n].item,key:c,children:s(o.children[n])};a.push(p)}),a};return s(r)};var Ts=e=>e.split("?")[0].split("#")[0].replace(/(.+)(\/$)/,"$1"),ja=({meta:e,hideOnMissingParameter:t}={hideOnMissingParameter:!0})=>{let r=k(),s=Bt(),o=V(),{resource:a,resources:n}=S(),{pathname:c}=Z(),{useLocation:p}=K(),{pathname:m}=p(),u=`/${((o==="legacy"?Ts(m):c?Ts(c):void 0)??"").replace(/^\//,"")}`,g=a?Pt(a,n,o==="legacy"):u??"",x=zr.useMemo(()=>{if(!a)return[];let i=Re(a,n),f=[Pt(a,n)];for(;i;)f.push(Pt(i,n)),i=Re(i,n);return f},[]),v=zr.useCallback(i=>{var y,P,E,l,C,T;if((((y=i==null?void 0:i.meta)==null?void 0:y.hide)??((P=i==null?void 0:i.options)==null?void 0:P.hide))||!(i!=null&&i.list)&&i.children.length===0)return;let f=i.list?s({resource:i,action:"list",legacy:o==="legacy",meta:e}):void 0;if(!(t&&f&&f.match(/(\/|^):(.+?)(\/|$){1}/)))return{...i,route:f,icon:L((E=i.meta)==null?void 0:E.icon,(l=i.options)==null?void 0:l.icon,i.icon),label:L((C=i==null?void 0:i.meta)==null?void 0:C.label,(T=i==null?void 0:i.options)==null?void 0:T.label)??r(`${i.name}.${i.name}`,Je(i.name,"plural"))}},[o,e,r,t]),M=zr.useMemo(()=>{let i=gs(n,o==="legacy"),f=y=>y.flatMap(P=>{let E=f(P.children),l=v({...P,children:E});return l?[l]:[]});return f(i)},[n,o,v]);return{defaultOpenKeys:x,selectedKey:g,menuItems:M}};var G=()=>{let{params:e}=Z();return({resource:r,meta:s}={})=>{let{meta:o}=ir(r??{}),{filters:a,sorters:n,current:c,pageSize:p,...m}=e??{};return{...o,...m,...s}}};var Ja=()=>{let[e,t]=Ya(),r=k(),{push:s}=oe(),o=se(),a=V(),{resource:n,action:c}=S();return Za(()=>{n&&c&&t(r("pages.error.info",{action:c,resource:n.name},`You may have forgotten to add the "${c}" component to "${n.name}" resource.`))},[n,c]),Ht.createElement(Ht.Fragment,null,Ht.createElement("h1",null,r("pages.error.404",void 0,"Sorry, the page you visited does not exist.")),e&&Ht.createElement("p",null,e),Ht.createElement("button",{onClick:()=>{a==="legacy"?s("/"):o({to:"/"})}},r("pages.error.backHome",void 0,"Back Home")))};import me,{useState as Rs}from"react";var wr=()=>{let[e,t]=Rs(""),[r,s]=Rs(""),o=k(),a=H(),{mutate:n}=Mt({v3LegacyAuthProviderCompatible:!!(a!=null&&a.isLegacy)});return me.createElement(me.Fragment,null,me.createElement("h1",null,o("pages.login.title","Sign in your account")),me.createElement("form",{onSubmit:c=>{c.preventDefault(),n({username:e,password:r})}},me.createElement("table",null,me.createElement("tbody",null,me.createElement("tr",null,me.createElement("td",null,o("pages.login.username",void 0,"username"),":"),me.createElement("td",null,me.createElement("input",{type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",autoFocus:!0,required:!0,value:e,onChange:c=>t(c.target.value)}))),me.createElement("tr",null,me.createElement("td",null,o("pages.login.password",void 0,"password"),":"),me.createElement("td",null,me.createElement("input",{type:"password",required:!0,size:20,value:r,onChange:c=>s(c.target.value)}))))),me.createElement("br",null),me.createElement("input",{type:"submit",value:"login"})))};import xt from"react";import ae,{useState as _r}from"react";var Ps=({providers:e,registerLink:t,forgotPasswordLink:r,rememberMe:s,contentProps:o,wrapperProps:a,renderContent:n,formProps:c,title:p=void 0})=>{let m=V(),d=at(),{Link:u}=K(),g=m==="legacy"?u:d,[x,v]=_r(""),[M,i]=_r(""),[f,y]=_r(!1),P=k(),E=H(),{mutate:l}=Mt({v3LegacyAuthProviderCompatible:!!(E!=null&&E.isLegacy)}),C=(R,h)=>ae.createElement(g,{to:R},h),T=()=>e?e.map(R=>ae.createElement("div",{key:R.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},ae.createElement("button",{onClick:()=>l({providerName:R.name}),style:{display:"flex",alignItems:"center"}},R==null?void 0:R.icon,R.label??ae.createElement("label",null,R.label)))):null,b=ae.createElement("div",{...o},ae.createElement("h1",{style:{textAlign:"center"}},P("pages.login.title","Sign in to your account")),T(),ae.createElement("hr",null),ae.createElement("form",{onSubmit:R=>{R.preventDefault(),l({email:x,password:M,remember:f})},...c},ae.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},ae.createElement("label",{htmlFor:"email-input"},P("pages.login.fields.email","Email")),ae.createElement("input",{id:"email-input",name:"email",type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:x,onChange:R=>v(R.target.value)}),ae.createElement("label",{htmlFor:"password-input"},P("pages.login.fields.password","Password")),ae.createElement("input",{id:"password-input",type:"password",name:"password",required:!0,size:20,value:M,onChange:R=>i(R.target.value)}),s??ae.createElement(ae.Fragment,null,ae.createElement("label",{htmlFor:"remember-me-input"},P("pages.login.buttons.rememberMe","Remember me"),ae.createElement("input",{id:"remember-me-input",name:"remember",type:"checkbox",size:20,checked:f,value:f.toString(),onChange:()=>{y(!f)}}))),ae.createElement("br",null),r??C("/forgot-password",P("pages.login.buttons.forgotPassword","Forgot password?")),ae.createElement("input",{type:"submit",value:P("pages.login.signin","Sign in")}),t??ae.createElement("span",null,P("pages.login.buttons.noAccount","Don\u2019t have an account?")," ",C("/register",P("pages.login.register","Sign up"))))));return ae.createElement("div",{...a},n?n(b,p):b)};import pe,{useState as xs}from"react";var Cs=({providers:e,loginLink:t,wrapperProps:r,contentProps:s,renderContent:o,formProps:a,title:n=void 0})=>{let c=V(),p=at(),{Link:m}=K(),d=c==="legacy"?m:p,[u,g]=xs(""),[x,v]=xs(""),M=k(),i=H(),{mutate:f,isLoading:y}=Rr({v3LegacyAuthProviderCompatible:!!(i!=null&&i.isLegacy)}),P=(C,T)=>pe.createElement(d,{to:C},T),E=()=>e?e.map(C=>pe.createElement("div",{key:C.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},pe.createElement("button",{onClick:()=>f({providerName:C.name}),style:{display:"flex",alignItems:"center"}},C==null?void 0:C.icon,C.label??pe.createElement("label",null,C.label)))):null,l=pe.createElement("div",{...s},pe.createElement("h1",{style:{textAlign:"center"}},M("pages.register.title","Sign up for your account")),E(),pe.createElement("hr",null),pe.createElement("form",{onSubmit:C=>{C.preventDefault(),f({email:u,password:x})},...a},pe.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},pe.createElement("label",{htmlFor:"email-input"},M("pages.register.fields.email","Email")),pe.createElement("input",{id:"email-input",name:"email",type:"email",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:u,onChange:C=>g(C.target.value)}),pe.createElement("label",{htmlFor:"password-input"},M("pages.register.fields.password","Password")),pe.createElement("input",{id:"password-input",name:"password",type:"password",required:!0,size:20,value:x,onChange:C=>v(C.target.value)}),pe.createElement("input",{type:"submit",value:M("pages.register.buttons.submit","Sign up"),disabled:y}),t??pe.createElement(pe.Fragment,null,pe.createElement("span",null,M("pages.login.buttons.haveAccount","Have an account?")," ",P("/login",M("pages.login.signin","Sign in")))))));return pe.createElement("div",{...r},o?o(l,n):l)};import Ee,{useState as Xa}from"react";var hs=({loginLink:e,wrapperProps:t,contentProps:r,renderContent:s,formProps:o,title:a=void 0})=>{let n=k(),c=V(),p=at(),{Link:m}=K(),d=c==="legacy"?m:p,[u,g]=Xa(""),{mutate:x,isLoading:v}=xr(),M=(f,y)=>Ee.createElement(d,{to:f},y),i=Ee.createElement("div",{...r},Ee.createElement("h1",{style:{textAlign:"center"}},n("pages.forgotPassword.title","Forgot your password?")),Ee.createElement("hr",null),Ee.createElement("form",{onSubmit:f=>{f.preventDefault(),x({email:u})},...o},Ee.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Ee.createElement("label",{htmlFor:"email-input"},n("pages.forgotPassword.fields.email","Email")),Ee.createElement("input",{id:"email-input",name:"email",type:"mail",autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:u,onChange:f=>g(f.target.value)}),Ee.createElement("input",{type:"submit",disabled:v,value:n("pages.forgotPassword.buttons.submit","Send reset instructions")}),Ee.createElement("br",null),e??Ee.createElement("span",null,n("pages.register.buttons.haveAccount","Have an account? ")," ",M("/login",n("pages.login.signin","Sign in"))))));return Ee.createElement("div",{...t},s?s(i,a):i)};import Ie,{useState as bs}from"react";var vs=({wrapperProps:e,contentProps:t,renderContent:r,formProps:s,title:o=void 0})=>{let a=k(),n=H(),{mutate:c,isLoading:p}=hr({v3LegacyAuthProviderCompatible:!!(n!=null&&n.isLegacy)}),[m,d]=bs(""),[u,g]=bs(""),x=Ie.createElement("div",{...t},Ie.createElement("h1",{style:{textAlign:"center"}},a("pages.updatePassword.title","Update Password")),Ie.createElement("hr",null),Ie.createElement("form",{onSubmit:v=>{v.preventDefault(),c({password:m,confirmPassword:u})},...s},Ie.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Ie.createElement("label",{htmlFor:"password-input"},a("pages.updatePassword.fields.password","New Password")),Ie.createElement("input",{id:"password-input",name:"password",type:"password",required:!0,size:20,value:m,onChange:v=>d(v.target.value)}),Ie.createElement("label",{htmlFor:"confirm-password-input"},a("pages.updatePassword.fields.confirmPassword","Confirm New Password")),Ie.createElement("input",{id:"confirm-password-input",name:"confirmPassword",type:"password",required:!0,size:20,value:u,onChange:v=>g(v.target.value)}),Ie.createElement("input",{type:"submit",disabled:p,value:a("pages.updatePassword.buttons.submit","Update")}))));return Ie.createElement("div",{...e},r?r(x,o):x)};var qa=e=>{let{type:t}=e;return xt.createElement(xt.Fragment,null,(()=>{switch(t){case"register":return xt.createElement(Cs,{...e});case"forgotPassword":return xt.createElement(hs,{...e});case"updatePassword":return xt.createElement(vs,{...e});default:return xt.createElement(Ps,{...e})}})())};import Te from"react";var jr=()=>Te.createElement(Te.Fragment,null,Te.createElement("h1",null,"Welcome on board"),Te.createElement("p",null,"Your configuration is completed."),Te.createElement("p",null,"Now you can get started by adding your resources to the"," ",Te.createElement("code",null,"`resources`")," property of ",Te.createElement("code",null,"`<Refine>`")),Te.createElement("div",{style:{display:"flex",gap:8}},Te.createElement("a",{href:"https://refine.dev",target:"_blank",rel:"noreferrer"},Te.createElement("button",null,"Documentation")),Te.createElement("a",{href:"https://refine.dev/examples",target:"_blank",rel:"noreferrer"},Te.createElement("button",null,"Examples")),Te.createElement("a",{href:"https://discord.gg/refine",target:"_blank",rel:"noreferrer"},Te.createElement("button",null,"Community"))));import _,{useState as ei}from"react";var ti=[{title:"Documentation",description:"Learn about the technical details of using refine in your projects.",link:"https://refine.dev/",icon:_.createElement("svg",{width:"14",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V5a1 1 0 0 0-1-1H3a1 1 0 0 1 0-2h10a1 1 0 1 0 0-2H2Z",fill:"#fff"}))},{title:"Tutorial",description:"Learn how to use refine by building a fully-functioning CRUD app, from scratch to full launch.",link:"https://refine.dev/docs/tutorial/introduction/index/",icon:_.createElement("svg",{width:"16",height:"14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M0 4.573c0-.475.163-.948.53-1.25a4.57 4.57 0 0 1 .854-.553L5.956.485a4.571 4.571 0 0 1 4.088 0l4.572 2.285c.308.154.594.34.853.553.306.251.47.62.517 1.01.01.055.014.112.014.169v6.5a1 1 0 0 1-2 0V6.684l-3.956 1.978a4.571 4.571 0 0 1-4.088 0L1.384 6.376a4.57 4.57 0 0 1-.853-.553C.163 5.522 0 5.05 0 4.573Z",fill:"#fff"}),_.createElement("path",{d:"M5.061 13.305 3 12.274V9.42l2.061 1.031a6.571 6.571 0 0 0 5.878 0L13 9.421v2.853l-2.061 1.03a6.571 6.571 0 0 1-5.878 0Z",fill:"#fff"}))},{title:"Examples",description:"A collection of reference applications you can use as a starting point.",link:"https://refine.dev/examples",icon:_.createElement("svg",{width:"16",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4H0V2Zm3 2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",fill:"#fff"}),_.createElement("path",{d:"M0 14V8h16v6a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2Z",fill:"#fff"}))},{title:"Community",description:"Join our Discord community and keep up with the latest news.",link:"https://discord.gg/refine",icon:_.createElement("svg",{width:"16",height:"12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M13.553 1.005A13.334 13.334 0 0 0 10.253 0c-.156.276-.298.56-.423.85a12.42 12.42 0 0 0-3.664 0A8.975 8.975 0 0 0 5.744 0 13.43 13.43 0 0 0 2.44 1.007C.351 4.066-.215 7.05.068 9.99A13.36 13.36 0 0 0 4.116 12c.328-.436.618-.9.867-1.384a8.647 8.647 0 0 1-1.365-.645c.115-.082.227-.167.335-.249a9.594 9.594 0 0 0 8.094 0c.11.089.222.173.335.25-.436.254-.894.47-1.368.646.249.484.539.946.867 1.382a13.3 13.3 0 0 0 4.051-2.01c.332-3.41-.568-6.365-2.379-8.985Zm-8.21 7.176c-.79 0-1.442-.709-1.442-1.58 0-.872.63-1.587 1.439-1.587s1.456.715 1.442 1.586c-.014.872-.636 1.58-1.44 1.58Zm5.315 0c-.79 0-1.44-.709-1.44-1.58 0-.872.63-1.587 1.44-1.587.81 0 1.452.715 1.438 1.586-.014.872-.634 1.58-1.438 1.58Z",fill:"#fff"}))}],ri=()=>{let e=sr("(max-width: 1010px)"),t=sr("(max-width: 650px)"),r=()=>t?"1, 280px":e?"2, 280px":"4, 208px",s=()=>t?"32px":e?"40px":"48px",o=()=>t?"16px":e?"20px":"24px";return _.createElement("div",{style:{backgroundImage:"url(https://refine.ams3.cdn.digitaloceanspaces.com/welcome-page/welcome-page.webp)",backgroundPosition:"center top",backgroundSize:"cover",backgroundRepeat:"no-repeat",minHeight:"100vh",backgroundColor:"#0D0D12",fontFamily:"Arial",color:"#FFFFFF"}},_.createElement("div",{style:{height:"89px"}}),_.createElement("div",{style:{display:"flex",justifyContent:"center"}},_.createElement("img",{src:"https://refine.ams3.cdn.digitaloceanspaces.com/welcome-page/welcome-logo.webp",width:"198",height:"54"})),_.createElement("div",{style:{height:e?"270px":"22vw",minHeight:e?"270px":"313px"}}),_.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px",textAlign:"center"}},_.createElement("h1",{style:{fontSize:s(),fontWeight:700,margin:"0px"}},"Welcome Aboard!"),_.createElement("h4",{style:{fontSize:o(),fontWeight:400,margin:"0px"}},"Your configuration is completed.")),_.createElement("div",{style:{height:"64px"}}),_.createElement("div",{style:{display:"grid",gridTemplateColumns:`repeat(${r()})`,justifyContent:"center",gap:"48px",paddingRight:"16px",paddingLeft:"16px",maxWidth:"976px",margin:"auto"}},ti.map(a=>_.createElement(oi,{key:`welcome-page-${a.title}`,card:a}))),_.createElement("div",{style:{height:"64px"}}))},oi=({card:e})=>{let{title:t,description:r,icon:s,link:o}=e,[a,n]=ei(!1);return _.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},_.createElement("div",{style:{display:"flex",alignItems:"center"}},_.createElement("a",{onPointerEnter:()=>n(!0),onPointerLeave:()=>n(!1),style:{display:"flex",alignItems:"center",color:"#fff",textDecoration:"none"},href:o},s,_.createElement("span",{style:{fontSize:"16px",fontWeight:700,marginLeft:"13px",marginRight:"14px"}},t),_.createElement("svg",{style:{transition:"transform 0.5s ease-in-out, opacity 0.2s ease-in-out",...a&&{transform:"translateX(4px)",opacity:1}},width:"12",height:"8",fill:"none",opacity:"0.5",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M7.293.293a1 1 0 0 1 1.414 0l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L8.586 5H1a1 1 0 0 1 0-2h7.586L7.293 1.707a1 1 0 0 1 0-1.414Z",fill:"#fff"})))),_.createElement("span",{style:{fontSize:"12px",opacity:.5,lineHeight:"16px"}},r))};import te from"react";import{QueryClientProvider as ii,QueryClient as Is}from"@tanstack/react-query";import{ReactQueryDevtools as ui}from"@tanstack/react-query-devtools";import{useEffect as ni}from"react";import{useContext as ut}from"react";var si="4.21.0",Ds=()=>{let e=br(),t=ut(it),r=ut(He),s=ut(Nt),o=ut(Qt),{i18nProvider:a}=ut(De),n=ut(kt),c=ut(tt),{resources:p}=S(),m=!!t.create||!!t.get||!!t.update,d=!!(r!=null&&r.publish)||!!(r!=null&&r.subscribe)||!!(r!=null&&r.unsubscribe),u=!!s.useHistory||!!s.Link||!!s.Prompt||!!s.useLocation||!!s.useParams,g=!!o,x=!!(a!=null&&a.changeLocale)||!!(a!=null&&a.getLocale)||!!(a!=null&&a.translate),v=!!n.close||!!n.open,M=!!c.can;return{providers:{auth:e,auditLog:m,live:d,router:u,data:g,i18n:x,notification:v,accessControl:M},version:si,resourceCount:p.length}};var ai=e=>{let t=JSON.stringify(e||{});return typeof btoa<"u"?btoa(t):Buffer.from(t).toString("base64")},Es=()=>{let e=Ds();return ni(()=>{if(typeof window>"u"&&!Image)return;let t=new Image;t.src=`https://telemetry.refine.dev/telemetry?payload=${ai(e)}`},[]),null};var Ms=e=>{let t=["go","parse","back","Link"],r=Object.keys(e).filter(o=>!t.includes(o));return r.length>0?(console.warn(`Unsupported properties are found in \`routerProvider\` prop. You provided \`${r.join(", ")}\`. Supported properties are \`${t.join(", ")}\`. You may wanted to use \`legacyRouterProvider\` prop instead.`),!0):!1};import Ls from"react";var Us=e=>{let t=Ls.useRef(!1);Ls.useEffect(()=>{t.current===!1&&e&&Ms(e)&&(t.current=!0)},[e])};var ci=({legacyAuthProvider:e,authProvider:t,dataProvider:r,legacyRouterProvider:s,routerProvider:o,notificationProvider:a,accessControlProvider:n,auditLogProvider:c,resources:p,DashboardPage:m,ReadyPage:d,LoginPage:u,catchAll:g,children:x,liveProvider:v,i18nProvider:M,Title:i,Layout:f,Sider:y,Header:P,Footer:E,OffLayoutArea:l,onLiveEvent:C,options:T})=>{let{optionsWithDefaults:b,disableTelemetryWithDefault:R,reactQueryWithDefaults:h}=Ar({options:T}),D=ar(()=>{var B;return h.clientConfig instanceof Is?h.clientConfig:new Is({...h.clientConfig,defaultOptions:{...h.clientConfig.defaultOptions,queries:{refetchOnWindowFocus:!1,keepPreviousData:!0,...(B=h.clientConfig.defaultOptions)==null?void 0:B.queries}}})},[h.clientConfig]),I=te.useMemo(()=>typeof a=="function"?a:()=>a??{},[a])();if(Us(o),s&&!o&&(p??[]).length===0)return d?te.createElement(d,null):te.createElement(jr,null);let{RouterComponent:A=te.Fragment}=o?{}:s??{};return te.createElement(ii,{client:D},te.createElement(_o,{...I},te.createElement(ro,{...e??{},isProvided:!!e},te.createElement(so,{...t??{},isProvided:!!t},te.createElement(Qo,{...r},te.createElement(Fo,{liveProvider:v},te.createElement(Go,{value:s&&!o?"legacy":"new"},te.createElement(zo,{router:o},te.createElement(os,{...s},te.createElement(Oo,{resources:p??[]},te.createElement(Zo,{i18nProvider:M},te.createElement(ns,{...n??{}},te.createElement(ms,{...c??{}},te.createElement(Vr,null,te.createElement(vo,{mutationMode:b.mutationMode,warnWhenUnsavedChanges:b.warnWhenUnsavedChanges,syncWithLocation:b.syncWithLocation,Title:i,undoableTimeout:b.undoableTimeout,catchAll:g,DashboardPage:m,LoginPage:u,Layout:f,Sider:y,Footer:E,Header:P,OffLayoutArea:l,hasDashboard:!!m,liveMode:b.liveMode,onLiveEvent:C,options:b},te.createElement(Jo,null,te.createElement(A,null,x,!R&&te.createElement(Es,null),te.createElement(Zr,null))))))))))))))))),h.devtoolConfig===!1?null:te.createElement(ui,{initialIsOpen:!1,position:"bottom-right",...h.devtoolConfig}))};import{useEffect as pi,useState as di}from"react";var Lo=({notification:e})=>{let t=k(),{notificationDispatch:r}=Qe(),{open:s}=ge(),[o,a]=di(),n=()=>{if(e.isRunning===!0&&(e.seconds===0&&e.doMutation(),e.isSilent||s==null||s({key:`${e.id}-${e.resource}-notification`,type:"progress",message:t("notifications.undoable",{seconds:Lt(e.seconds)},`You have ${Lt(e.seconds)} seconds to undo`),cancelMutation:e.cancelMutation,undoableTimeout:Lt(e.seconds)}),e.seconds>0)){o&&clearTimeout(o);let c=setTimeout(()=>{r({type:"DECREASE_NOTIFICATION_SECOND",payload:{id:e.id,seconds:e.seconds,resource:e.resource}})},1e3);a(c)}};return pi(()=>{n()},[e]),null};import Yr,{useEffect as li}from"react";var mi=({children:e,Layout:t,Sider:r,Header:s,Title:o,Footer:a,OffLayoutArea:n})=>{let{Layout:c,Footer:p,Header:m,Sider:d,Title:u,OffLayoutArea:g}=Vt();return Yr.createElement(t??c,{Sider:r??d,Header:s??m,Footer:a??p,Title:o??u,OffLayoutArea:n??g},e,Yr.createElement(fi,null))},fi=()=>{let{Prompt:e}=K(),t=k(),{warnWhen:r,setWarnWhen:s}=Ft(),o=a=>(a.preventDefault(),a.returnValue=t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),a.returnValue);return li(()=>(r&&window.addEventListener("beforeunload",o),window.removeEventListener("beforeunload",o)),[r]),Yr.createElement(e,{when:r,message:t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),setWarnWhen:s})};import Pe from"react";var yi=()=>{let e=se(),[t,r]=Pe.useState(void 0);return Pe.useEffect(()=>{t&&e(t)},[t]),Pe.useCallback(o=>{t||r(o)},[t])};function gi({redirectOnFail:e=!0,appendCurrentPathToQuery:t=!0,children:r,fallback:s,loading:o}){var b;let a=H(),n=V(),c=!!(a!=null&&a.isProvided),p=!!(a!=null&&a.isLegacy),m=n==="legacy",d=Z(),u=se(),g=yi(),{replace:x}=oe(),{useLocation:v}=K(),M=v(),{isLoading:i,isFetching:f,isSuccess:y,data:{authenticated:P,redirectTo:E}={},refetch:l}=zt({v3LegacyAuthProviderCompatible:p});Pe.useEffect(()=>{l()},[r,s]);let C=Pe.useRef({status:i?"initial":"pending",content:o??null});f?C.current.status="pending":f||(C.current.status="settled");let T=c?p?y:P:!0;if(C.current.status==="settled")if(T)C.current.content=Pe.createElement(Pe.Fragment,null,r??null);else if(typeof s<"u")C.current.content=Pe.createElement(Pe.Fragment,null,s);else{let R=`${m?M==null?void 0:M.pathname:d.pathname}`.replace(/(\?.*|#.*)$/,""),h=p?typeof e=="string"?e:"/login":typeof e=="string"?e:E;if(h)if(m){let D=t?`?to=${encodeURIComponent(R)}`:"";x(`${h}${D}`)}else g({to:h,query:t?{to:(b=d.params)!=null&&b.to?d.params.to:u({to:R,options:{keepQuery:!0},type:"path"})}:void 0,type:"replace"})}return c?Pe.createElement(Pe.Fragment,null,C.current.content):Pe.createElement(Pe.Fragment,null,r??null)}import{useEffect as Ti}from"react";var Zr=()=>{let{useLocation:e}=K(),{checkAuth:t}=X(),r=e();return Ti(()=>{t==null||t().catch(()=>!1)},[r==null?void 0:r.pathname]),null};import Ct from"react";var Ri=({resource:e,action:t,params:r,fallback:s,children:o,...a})=>{let n=V(),{resources:c}=S(),{useParams:p}=K(),{resource:m,id:d,action:u}=Z(),{resource:g,id:x,action:v}=p(),M=m==null?void 0:m.name,i=!e||e===(n==="legacy"?g:M)?(r==null?void 0:r.id)??(n==="legacy"?x:d):r==null?void 0:r.id,f=e??(n==="legacy"?g:M),y,P=et();if(n==="legacy")f&&(y=P(f));else if(e){let l=W(e,c);l?y=l:y={name:e,route:e}}else if(typeof m=="string"){let l=W(m,c);l?y=l:y={name:m,route:m}}else y=m;let{data:E}=as({resource:e??(y==null?void 0:y.name),action:t??(n==="legacy"?v:u)??"",params:r??{id:i,resource:y}});return E!=null&&E.can?Ct.isValidElement(o)?Ct.cloneElement(o,a):Ct.createElement(Ct.Fragment,null,o):(E==null?void 0:E.can)===!1?Ct.createElement(Ct.Fragment,null,s??null):null};import ht,{useEffect as Pi}from"react";var ws=[`
11
+ For more information, see https://refine.dev/docs/api-reference/core/hooks/useBreadcrumb/#i18n-support`),p.push({label:o(`buttons.${c}`,st(c))})):p.push({label:o(d,st(c))})}return{breadcrumbs:p}};import zr from"react";var Pt=(e,t,r=!1)=>{let s=[],o=Re(e,t);for(;o;)s.push(o),o=Re(o,t);return s.reverse(),`/${[...s,e].map(n=>de((r?n.route:void 0)??n.identifier??n.name)).join("/").replace(/^\//,"")}`};var gs=(e,t=!1)=>{let r={item:{name:"__root__"},children:{}};e.forEach(o=>{let a=[],n=Re(o,e);for(;n;)a.push(n),n=Re(n,e);a.reverse();let c=r;a.forEach(m=>{let d=(t?m.route:void 0)??m.identifier??m.name;c.children[d]||(c.children[d]={item:m,children:{}}),c=c.children[d]});let p=(t?o.route:void 0)??o.identifier??o.name;c.children[p]||(c.children[p]={item:o,children:{}})});let s=o=>{let a=[];return Object.keys(o.children).forEach(n=>{let c=Pt(o.children[n].item,e,t),p={...o.children[n].item,key:c,children:s(o.children[n])};a.push(p)}),a};return s(r)};var Ts=e=>e.split("?")[0].split("#")[0].replace(/(.+)(\/$)/,"$1"),ja=({meta:e,hideOnMissingParameter:t}={hideOnMissingParameter:!0})=>{let r=k(),s=Bt(),o=V(),{resource:a,resources:n}=S(),{pathname:c}=Z(),{useLocation:p}=K(),{pathname:m}=p(),u=`/${((o==="legacy"?Ts(m):c?Ts(c):void 0)??"").replace(/^\//,"")}`,g=a?Pt(a,n,o==="legacy"):u??"",x=zr.useMemo(()=>{if(!a)return[];let i=Re(a,n),f=[Pt(a,n)];for(;i;)f.push(Pt(i,n)),i=Re(i,n);return f},[]),v=zr.useCallback(i=>{var y,P,E,l,C,T;if((((y=i==null?void 0:i.meta)==null?void 0:y.hide)??((P=i==null?void 0:i.options)==null?void 0:P.hide))||!(i!=null&&i.list)&&i.children.length===0)return;let f=i.list?s({resource:i,action:"list",legacy:o==="legacy",meta:e}):void 0;if(!(t&&f&&f.match(/(\/|^):(.+?)(\/|$){1}/)))return{...i,route:f,icon:L((E=i.meta)==null?void 0:E.icon,(l=i.options)==null?void 0:l.icon,i.icon),label:L((C=i==null?void 0:i.meta)==null?void 0:C.label,(T=i==null?void 0:i.options)==null?void 0:T.label)??r(`${i.name}.${i.name}`,Je(i.name,"plural"))}},[o,e,r,t]),M=zr.useMemo(()=>{let i=gs(n,o==="legacy"),f=y=>y.flatMap(P=>{let E=f(P.children),l=v({...P,children:E});return l?[l]:[]});return f(i)},[n,o,v]);return{defaultOpenKeys:x,selectedKey:g,menuItems:M}};var G=()=>{let{params:e}=Z();return({resource:r,meta:s}={})=>{let{meta:o}=ir(r??{}),{filters:a,sorters:n,current:c,pageSize:p,...m}=e??{};return{...o,...m,...s}}};var Ja=()=>{let[e,t]=Ya(),r=k(),{push:s}=oe(),o=se(),a=V(),{resource:n,action:c}=S();return Za(()=>{n&&c&&t(r("pages.error.info",{action:c,resource:n.name},`You may have forgotten to add the "${c}" component to "${n.name}" resource.`))},[n,c]),Ht.createElement(Ht.Fragment,null,Ht.createElement("h1",null,r("pages.error.404",void 0,"Sorry, the page you visited does not exist.")),e&&Ht.createElement("p",null,e),Ht.createElement("button",{onClick:()=>{a==="legacy"?s("/"):o({to:"/"})}},r("pages.error.backHome",void 0,"Back Home")))};import me,{useState as Rs}from"react";var wr=()=>{let[e,t]=Rs(""),[r,s]=Rs(""),o=k(),a=H(),{mutate:n}=Mt({v3LegacyAuthProviderCompatible:!!(a!=null&&a.isLegacy)});return me.createElement(me.Fragment,null,me.createElement("h1",null,o("pages.login.title","Sign in your account")),me.createElement("form",{onSubmit:c=>{c.preventDefault(),n({username:e,password:r})}},me.createElement("table",null,me.createElement("tbody",null,me.createElement("tr",null,me.createElement("td",null,o("pages.login.username",void 0,"username"),":"),me.createElement("td",null,me.createElement("input",{type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",autoFocus:!0,required:!0,value:e,onChange:c=>t(c.target.value)}))),me.createElement("tr",null,me.createElement("td",null,o("pages.login.password",void 0,"password"),":"),me.createElement("td",null,me.createElement("input",{type:"password",required:!0,size:20,value:r,onChange:c=>s(c.target.value)}))))),me.createElement("br",null),me.createElement("input",{type:"submit",value:"login"})))};import xt from"react";import ae,{useState as _r}from"react";var Ps=({providers:e,registerLink:t,forgotPasswordLink:r,rememberMe:s,contentProps:o,wrapperProps:a,renderContent:n,formProps:c,title:p=void 0})=>{let m=V(),d=at(),{Link:u}=K(),g=m==="legacy"?u:d,[x,v]=_r(""),[M,i]=_r(""),[f,y]=_r(!1),P=k(),E=H(),{mutate:l}=Mt({v3LegacyAuthProviderCompatible:!!(E!=null&&E.isLegacy)}),C=(R,h)=>ae.createElement(g,{to:R},h),T=()=>e?e.map(R=>ae.createElement("div",{key:R.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},ae.createElement("button",{onClick:()=>l({providerName:R.name}),style:{display:"flex",alignItems:"center"}},R==null?void 0:R.icon,R.label??ae.createElement("label",null,R.label)))):null,b=ae.createElement("div",{...o},ae.createElement("h1",{style:{textAlign:"center"}},P("pages.login.title","Sign in to your account")),T(),ae.createElement("hr",null),ae.createElement("form",{onSubmit:R=>{R.preventDefault(),l({email:x,password:M,remember:f})},...c},ae.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},ae.createElement("label",{htmlFor:"email-input"},P("pages.login.fields.email","Email")),ae.createElement("input",{id:"email-input",name:"email",type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:x,onChange:R=>v(R.target.value)}),ae.createElement("label",{htmlFor:"password-input"},P("pages.login.fields.password","Password")),ae.createElement("input",{id:"password-input",type:"password",name:"password",required:!0,size:20,value:M,onChange:R=>i(R.target.value)}),s??ae.createElement(ae.Fragment,null,ae.createElement("label",{htmlFor:"remember-me-input"},P("pages.login.buttons.rememberMe","Remember me"),ae.createElement("input",{id:"remember-me-input",name:"remember",type:"checkbox",size:20,checked:f,value:f.toString(),onChange:()=>{y(!f)}}))),ae.createElement("br",null),r??C("/forgot-password",P("pages.login.buttons.forgotPassword","Forgot password?")),ae.createElement("input",{type:"submit",value:P("pages.login.signin","Sign in")}),t??ae.createElement("span",null,P("pages.login.buttons.noAccount","Don\u2019t have an account?")," ",C("/register",P("pages.login.register","Sign up"))))));return ae.createElement("div",{...a},n?n(b,p):b)};import pe,{useState as xs}from"react";var Cs=({providers:e,loginLink:t,wrapperProps:r,contentProps:s,renderContent:o,formProps:a,title:n=void 0})=>{let c=V(),p=at(),{Link:m}=K(),d=c==="legacy"?m:p,[u,g]=xs(""),[x,v]=xs(""),M=k(),i=H(),{mutate:f,isLoading:y}=Rr({v3LegacyAuthProviderCompatible:!!(i!=null&&i.isLegacy)}),P=(C,T)=>pe.createElement(d,{to:C},T),E=()=>e?e.map(C=>pe.createElement("div",{key:C.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},pe.createElement("button",{onClick:()=>f({providerName:C.name}),style:{display:"flex",alignItems:"center"}},C==null?void 0:C.icon,C.label??pe.createElement("label",null,C.label)))):null,l=pe.createElement("div",{...s},pe.createElement("h1",{style:{textAlign:"center"}},M("pages.register.title","Sign up for your account")),E(),pe.createElement("hr",null),pe.createElement("form",{onSubmit:C=>{C.preventDefault(),f({email:u,password:x})},...a},pe.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},pe.createElement("label",{htmlFor:"email-input"},M("pages.register.fields.email","Email")),pe.createElement("input",{id:"email-input",name:"email",type:"email",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:u,onChange:C=>g(C.target.value)}),pe.createElement("label",{htmlFor:"password-input"},M("pages.register.fields.password","Password")),pe.createElement("input",{id:"password-input",name:"password",type:"password",required:!0,size:20,value:x,onChange:C=>v(C.target.value)}),pe.createElement("input",{type:"submit",value:M("pages.register.buttons.submit","Sign up"),disabled:y}),t??pe.createElement(pe.Fragment,null,pe.createElement("span",null,M("pages.login.buttons.haveAccount","Have an account?")," ",P("/login",M("pages.login.signin","Sign in")))))));return pe.createElement("div",{...r},o?o(l,n):l)};import Ee,{useState as Xa}from"react";var hs=({loginLink:e,wrapperProps:t,contentProps:r,renderContent:s,formProps:o,title:a=void 0})=>{let n=k(),c=V(),p=at(),{Link:m}=K(),d=c==="legacy"?m:p,[u,g]=Xa(""),{mutate:x,isLoading:v}=xr(),M=(f,y)=>Ee.createElement(d,{to:f},y),i=Ee.createElement("div",{...r},Ee.createElement("h1",{style:{textAlign:"center"}},n("pages.forgotPassword.title","Forgot your password?")),Ee.createElement("hr",null),Ee.createElement("form",{onSubmit:f=>{f.preventDefault(),x({email:u})},...o},Ee.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Ee.createElement("label",{htmlFor:"email-input"},n("pages.forgotPassword.fields.email","Email")),Ee.createElement("input",{id:"email-input",name:"email",type:"mail",autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:u,onChange:f=>g(f.target.value)}),Ee.createElement("input",{type:"submit",disabled:v,value:n("pages.forgotPassword.buttons.submit","Send reset instructions")}),Ee.createElement("br",null),e??Ee.createElement("span",null,n("pages.register.buttons.haveAccount","Have an account? ")," ",M("/login",n("pages.login.signin","Sign in"))))));return Ee.createElement("div",{...t},s?s(i,a):i)};import Ie,{useState as bs}from"react";var vs=({wrapperProps:e,contentProps:t,renderContent:r,formProps:s,title:o=void 0})=>{let a=k(),n=H(),{mutate:c,isLoading:p}=hr({v3LegacyAuthProviderCompatible:!!(n!=null&&n.isLegacy)}),[m,d]=bs(""),[u,g]=bs(""),x=Ie.createElement("div",{...t},Ie.createElement("h1",{style:{textAlign:"center"}},a("pages.updatePassword.title","Update Password")),Ie.createElement("hr",null),Ie.createElement("form",{onSubmit:v=>{v.preventDefault(),c({password:m,confirmPassword:u})},...s},Ie.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Ie.createElement("label",{htmlFor:"password-input"},a("pages.updatePassword.fields.password","New Password")),Ie.createElement("input",{id:"password-input",name:"password",type:"password",required:!0,size:20,value:m,onChange:v=>d(v.target.value)}),Ie.createElement("label",{htmlFor:"confirm-password-input"},a("pages.updatePassword.fields.confirmPassword","Confirm New Password")),Ie.createElement("input",{id:"confirm-password-input",name:"confirmPassword",type:"password",required:!0,size:20,value:u,onChange:v=>g(v.target.value)}),Ie.createElement("input",{type:"submit",disabled:p,value:a("pages.updatePassword.buttons.submit","Update")}))));return Ie.createElement("div",{...e},r?r(x,o):x)};var qa=e=>{let{type:t}=e;return xt.createElement(xt.Fragment,null,(()=>{switch(t){case"register":return xt.createElement(Cs,{...e});case"forgotPassword":return xt.createElement(hs,{...e});case"updatePassword":return xt.createElement(vs,{...e});default:return xt.createElement(Ps,{...e})}})())};import Te from"react";var jr=()=>Te.createElement(Te.Fragment,null,Te.createElement("h1",null,"Welcome on board"),Te.createElement("p",null,"Your configuration is completed."),Te.createElement("p",null,"Now you can get started by adding your resources to the"," ",Te.createElement("code",null,"`resources`")," property of ",Te.createElement("code",null,"`<Refine>`")),Te.createElement("div",{style:{display:"flex",gap:8}},Te.createElement("a",{href:"https://refine.dev",target:"_blank",rel:"noreferrer"},Te.createElement("button",null,"Documentation")),Te.createElement("a",{href:"https://refine.dev/examples",target:"_blank",rel:"noreferrer"},Te.createElement("button",null,"Examples")),Te.createElement("a",{href:"https://discord.gg/refine",target:"_blank",rel:"noreferrer"},Te.createElement("button",null,"Community"))));import _,{useState as ei}from"react";var ti=[{title:"Documentation",description:"Learn about the technical details of using refine in your projects.",link:"https://refine.dev/",icon:_.createElement("svg",{width:"14",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V5a1 1 0 0 0-1-1H3a1 1 0 0 1 0-2h10a1 1 0 1 0 0-2H2Z",fill:"#fff"}))},{title:"Tutorial",description:"Learn how to use refine by building a fully-functioning CRUD app, from scratch to full launch.",link:"https://refine.dev/docs/tutorial/introduction/index/",icon:_.createElement("svg",{width:"16",height:"14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M0 4.573c0-.475.163-.948.53-1.25a4.57 4.57 0 0 1 .854-.553L5.956.485a4.571 4.571 0 0 1 4.088 0l4.572 2.285c.308.154.594.34.853.553.306.251.47.62.517 1.01.01.055.014.112.014.169v6.5a1 1 0 0 1-2 0V6.684l-3.956 1.978a4.571 4.571 0 0 1-4.088 0L1.384 6.376a4.57 4.57 0 0 1-.853-.553C.163 5.522 0 5.05 0 4.573Z",fill:"#fff"}),_.createElement("path",{d:"M5.061 13.305 3 12.274V9.42l2.061 1.031a6.571 6.571 0 0 0 5.878 0L13 9.421v2.853l-2.061 1.03a6.571 6.571 0 0 1-5.878 0Z",fill:"#fff"}))},{title:"Examples",description:"A collection of reference applications you can use as a starting point.",link:"https://refine.dev/examples",icon:_.createElement("svg",{width:"16",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4H0V2Zm3 2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",fill:"#fff"}),_.createElement("path",{d:"M0 14V8h16v6a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2Z",fill:"#fff"}))},{title:"Community",description:"Join our Discord community and keep up with the latest news.",link:"https://discord.gg/refine",icon:_.createElement("svg",{width:"16",height:"12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M13.553 1.005A13.334 13.334 0 0 0 10.253 0c-.156.276-.298.56-.423.85a12.42 12.42 0 0 0-3.664 0A8.975 8.975 0 0 0 5.744 0 13.43 13.43 0 0 0 2.44 1.007C.351 4.066-.215 7.05.068 9.99A13.36 13.36 0 0 0 4.116 12c.328-.436.618-.9.867-1.384a8.647 8.647 0 0 1-1.365-.645c.115-.082.227-.167.335-.249a9.594 9.594 0 0 0 8.094 0c.11.089.222.173.335.25-.436.254-.894.47-1.368.646.249.484.539.946.867 1.382a13.3 13.3 0 0 0 4.051-2.01c.332-3.41-.568-6.365-2.379-8.985Zm-8.21 7.176c-.79 0-1.442-.709-1.442-1.58 0-.872.63-1.587 1.439-1.587s1.456.715 1.442 1.586c-.014.872-.636 1.58-1.44 1.58Zm5.315 0c-.79 0-1.44-.709-1.44-1.58 0-.872.63-1.587 1.44-1.587.81 0 1.452.715 1.438 1.586-.014.872-.634 1.58-1.438 1.58Z",fill:"#fff"}))}],ri=()=>{let e=sr("(max-width: 1010px)"),t=sr("(max-width: 650px)"),r=()=>t?"1, 280px":e?"2, 280px":"4, 208px",s=()=>t?"32px":e?"40px":"48px",o=()=>t?"16px":e?"20px":"24px";return _.createElement("div",{style:{backgroundImage:"url(https://refine.ams3.cdn.digitaloceanspaces.com/welcome-page/welcome-page.webp)",backgroundPosition:"center top",backgroundSize:"cover",backgroundRepeat:"no-repeat",minHeight:"100vh",backgroundColor:"#0D0D12",fontFamily:"Arial",color:"#FFFFFF"}},_.createElement("div",{style:{height:"89px"}}),_.createElement("div",{style:{display:"flex",justifyContent:"center"}},_.createElement("img",{src:"https://refine.ams3.cdn.digitaloceanspaces.com/welcome-page/welcome-logo.webp",width:"198",height:"54"})),_.createElement("div",{style:{height:e?"270px":"22vw",minHeight:e?"270px":"313px"}}),_.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px",textAlign:"center"}},_.createElement("h1",{style:{fontSize:s(),fontWeight:700,margin:"0px"}},"Welcome Aboard!"),_.createElement("h4",{style:{fontSize:o(),fontWeight:400,margin:"0px"}},"Your configuration is completed.")),_.createElement("div",{style:{height:"64px"}}),_.createElement("div",{style:{display:"grid",gridTemplateColumns:`repeat(${r()})`,justifyContent:"center",gap:"48px",paddingRight:"16px",paddingLeft:"16px",maxWidth:"976px",margin:"auto"}},ti.map(a=>_.createElement(oi,{key:`welcome-page-${a.title}`,card:a}))),_.createElement("div",{style:{height:"64px"}}))},oi=({card:e})=>{let{title:t,description:r,icon:s,link:o}=e,[a,n]=ei(!1);return _.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},_.createElement("div",{style:{display:"flex",alignItems:"center"}},_.createElement("a",{onPointerEnter:()=>n(!0),onPointerLeave:()=>n(!1),style:{display:"flex",alignItems:"center",color:"#fff",textDecoration:"none"},href:o},s,_.createElement("span",{style:{fontSize:"16px",fontWeight:700,marginLeft:"13px",marginRight:"14px"}},t),_.createElement("svg",{style:{transition:"transform 0.5s ease-in-out, opacity 0.2s ease-in-out",...a&&{transform:"translateX(4px)",opacity:1}},width:"12",height:"8",fill:"none",opacity:"0.5",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M7.293.293a1 1 0 0 1 1.414 0l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L8.586 5H1a1 1 0 0 1 0-2h7.586L7.293 1.707a1 1 0 0 1 0-1.414Z",fill:"#fff"})))),_.createElement("span",{style:{fontSize:"12px",opacity:.5,lineHeight:"16px"}},r))};import te from"react";import{QueryClientProvider as ii,QueryClient as Is}from"@tanstack/react-query";import{ReactQueryDevtools as ui}from"@tanstack/react-query-devtools";import{useEffect as ni}from"react";import{useContext as ut}from"react";var si="4.22.0",Ds=()=>{let e=br(),t=ut(it),r=ut(He),s=ut(Nt),o=ut(Qt),{i18nProvider:a}=ut(De),n=ut(kt),c=ut(tt),{resources:p}=S(),m=!!t.create||!!t.get||!!t.update,d=!!(r!=null&&r.publish)||!!(r!=null&&r.subscribe)||!!(r!=null&&r.unsubscribe),u=!!s.useHistory||!!s.Link||!!s.Prompt||!!s.useLocation||!!s.useParams,g=!!o,x=!!(a!=null&&a.changeLocale)||!!(a!=null&&a.getLocale)||!!(a!=null&&a.translate),v=!!n.close||!!n.open,M=!!c.can;return{providers:{auth:e,auditLog:m,live:d,router:u,data:g,i18n:x,notification:v,accessControl:M},version:si,resourceCount:p.length}};var ai=e=>{let t=JSON.stringify(e||{});return typeof btoa<"u"?btoa(t):Buffer.from(t).toString("base64")},Es=()=>{let e=Ds();return ni(()=>{if(typeof window>"u"&&!Image)return;let t=new Image;t.src=`https://telemetry.refine.dev/telemetry?payload=${ai(e)}`},[]),null};var Ms=e=>{let t=["go","parse","back","Link"],r=Object.keys(e).filter(o=>!t.includes(o));return r.length>0?(console.warn(`Unsupported properties are found in \`routerProvider\` prop. You provided \`${r.join(", ")}\`. Supported properties are \`${t.join(", ")}\`. You may wanted to use \`legacyRouterProvider\` prop instead.`),!0):!1};import Ls from"react";var Us=e=>{let t=Ls.useRef(!1);Ls.useEffect(()=>{t.current===!1&&e&&Ms(e)&&(t.current=!0)},[e])};var ci=({legacyAuthProvider:e,authProvider:t,dataProvider:r,legacyRouterProvider:s,routerProvider:o,notificationProvider:a,accessControlProvider:n,auditLogProvider:c,resources:p,DashboardPage:m,ReadyPage:d,LoginPage:u,catchAll:g,children:x,liveProvider:v,i18nProvider:M,Title:i,Layout:f,Sider:y,Header:P,Footer:E,OffLayoutArea:l,onLiveEvent:C,options:T})=>{let{optionsWithDefaults:b,disableTelemetryWithDefault:R,reactQueryWithDefaults:h}=Ar({options:T}),D=ar(()=>{var B;return h.clientConfig instanceof Is?h.clientConfig:new Is({...h.clientConfig,defaultOptions:{...h.clientConfig.defaultOptions,queries:{refetchOnWindowFocus:!1,keepPreviousData:!0,...(B=h.clientConfig.defaultOptions)==null?void 0:B.queries}}})},[h.clientConfig]),I=te.useMemo(()=>typeof a=="function"?a:()=>a??{},[a])();if(Us(o),s&&!o&&(p??[]).length===0)return d?te.createElement(d,null):te.createElement(jr,null);let{RouterComponent:A=te.Fragment}=o?{}:s??{};return te.createElement(ii,{client:D},te.createElement(_o,{...I},te.createElement(ro,{...e??{},isProvided:!!e},te.createElement(so,{...t??{},isProvided:!!t},te.createElement(Qo,{...r},te.createElement(Fo,{liveProvider:v},te.createElement(Go,{value:s&&!o?"legacy":"new"},te.createElement(zo,{router:o},te.createElement(os,{...s},te.createElement(Oo,{resources:p??[]},te.createElement(Zo,{i18nProvider:M},te.createElement(ns,{...n??{}},te.createElement(ms,{...c??{}},te.createElement(Vr,null,te.createElement(vo,{mutationMode:b.mutationMode,warnWhenUnsavedChanges:b.warnWhenUnsavedChanges,syncWithLocation:b.syncWithLocation,Title:i,undoableTimeout:b.undoableTimeout,catchAll:g,DashboardPage:m,LoginPage:u,Layout:f,Sider:y,Footer:E,Header:P,OffLayoutArea:l,hasDashboard:!!m,liveMode:b.liveMode,onLiveEvent:C,options:b},te.createElement(Jo,null,te.createElement(A,null,x,!R&&te.createElement(Es,null),te.createElement(Zr,null))))))))))))))))),h.devtoolConfig===!1?null:te.createElement(ui,{initialIsOpen:!1,position:"bottom-right",...h.devtoolConfig}))};import{useEffect as pi,useState as di}from"react";var Lo=({notification:e})=>{let t=k(),{notificationDispatch:r}=Qe(),{open:s}=ge(),[o,a]=di(),n=()=>{if(e.isRunning===!0&&(e.seconds===0&&e.doMutation(),e.isSilent||s==null||s({key:`${e.id}-${e.resource}-notification`,type:"progress",message:t("notifications.undoable",{seconds:Lt(e.seconds)},`You have ${Lt(e.seconds)} seconds to undo`),cancelMutation:e.cancelMutation,undoableTimeout:Lt(e.seconds)}),e.seconds>0)){o&&clearTimeout(o);let c=setTimeout(()=>{r({type:"DECREASE_NOTIFICATION_SECOND",payload:{id:e.id,seconds:e.seconds,resource:e.resource}})},1e3);a(c)}};return pi(()=>{n()},[e]),null};import Yr,{useEffect as li}from"react";var mi=({children:e,Layout:t,Sider:r,Header:s,Title:o,Footer:a,OffLayoutArea:n})=>{let{Layout:c,Footer:p,Header:m,Sider:d,Title:u,OffLayoutArea:g}=Vt();return Yr.createElement(t??c,{Sider:r??d,Header:s??m,Footer:a??p,Title:o??u,OffLayoutArea:n??g},e,Yr.createElement(fi,null))},fi=()=>{let{Prompt:e}=K(),t=k(),{warnWhen:r,setWarnWhen:s}=Ft(),o=a=>(a.preventDefault(),a.returnValue=t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),a.returnValue);return li(()=>(r&&window.addEventListener("beforeunload",o),window.removeEventListener("beforeunload",o)),[r]),Yr.createElement(e,{when:r,message:t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),setWarnWhen:s})};import Pe from"react";var yi=()=>{let e=se(),[t,r]=Pe.useState(void 0);return Pe.useEffect(()=>{t&&e(t)},[t]),Pe.useCallback(o=>{t||r(o)},[t])};function gi({redirectOnFail:e=!0,appendCurrentPathToQuery:t=!0,children:r,fallback:s,loading:o}){var b;let a=H(),n=V(),c=!!(a!=null&&a.isProvided),p=!!(a!=null&&a.isLegacy),m=n==="legacy",d=Z(),u=se(),g=yi(),{replace:x}=oe(),{useLocation:v}=K(),M=v(),{isLoading:i,isFetching:f,isSuccess:y,data:{authenticated:P,redirectTo:E}={},refetch:l}=zt({v3LegacyAuthProviderCompatible:p});Pe.useEffect(()=>{l()},[r,s]);let C=Pe.useRef({status:i?"initial":"pending",content:o??null});f?C.current.status="pending":f||(C.current.status="settled");let T=c?p?y:P:!0;if(C.current.status==="settled")if(T)C.current.content=Pe.createElement(Pe.Fragment,null,r??null);else if(typeof s<"u")C.current.content=Pe.createElement(Pe.Fragment,null,s);else{let R=`${m?M==null?void 0:M.pathname:d.pathname}`.replace(/(\?.*|#.*)$/,""),h=p?typeof e=="string"?e:"/login":typeof e=="string"?e:E;if(h)if(m){let D=t?`?to=${encodeURIComponent(R)}`:"";x(`${h}${D}`)}else g({to:h,query:t?{to:(b=d.params)!=null&&b.to?d.params.to:u({to:R,options:{keepQuery:!0},type:"path"})}:void 0,type:"replace"})}return c?Pe.createElement(Pe.Fragment,null,C.current.content):Pe.createElement(Pe.Fragment,null,r??null)}import{useEffect as Ti}from"react";var Zr=()=>{let{useLocation:e}=K(),{checkAuth:t}=X(),r=e();return Ti(()=>{t==null||t().catch(()=>!1)},[r==null?void 0:r.pathname]),null};import Ct from"react";var Ri=({resource:e,action:t,params:r,fallback:s,children:o,...a})=>{let n=V(),{resources:c}=S(),{useParams:p}=K(),{resource:m,id:d,action:u}=Z(),{resource:g,id:x,action:v}=p(),M=m==null?void 0:m.name,i=!e||e===(n==="legacy"?g:M)?(r==null?void 0:r.id)??(n==="legacy"?x:d):r==null?void 0:r.id,f=e??(n==="legacy"?g:M),y,P=et();if(n==="legacy")f&&(y=P(f));else if(e){let l=W(e,c);l?y=l:y={name:e,route:e}}else if(typeof m=="string"){let l=W(m,c);l?y=l:y={name:m,route:m}}else y=m;let{data:E}=as({resource:e??(y==null?void 0:y.name),action:t??(n==="legacy"?v:u)??"",params:r??{id:i,resource:y}});return E!=null&&E.can?Ct.isValidElement(o)?Ct.cloneElement(o,a):Ct.createElement(Ct.Fragment,null,o):(E==null?void 0:E.can)===!1?Ct.createElement(Ct.Fragment,null,s??null):null};import ht,{useEffect as Pi}from"react";var ws=[`
12
12
  .banner {
13
13
  display: flex;
14
14
  @media (max-width: 1000px) {