@refinedev/core 4.39.0 → 4.40.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,79 @@
1
1
  # @refinedev/core
2
2
 
3
+ ## 4.40.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#4914](https://github.com/refinedev/refine/pull/4914) [`91a4d0da9f1`](https://github.com/refinedev/refine/commit/91a4d0da9f180ae358a448c7d187cee44f8c2299) Thanks [@yildirayunlu](https://github.com/yildirayunlu)! - feat: add [`optimisticUpdateMap`](https://refine.dev/docs/api-reference/core/hooks/data/useUpdateMany/#optimisticupdatemap) prop to the `useUpdate` and `useUpdateMany` hooks
8
+
9
+ `list`, `many` and `detail` are the keys of the `optimisticUpdateMap` object. To automatically update the cache, you should pass `true`. If you don't want to update the cache, you should pass `false`.
10
+
11
+ If you wish to customize the cache update, you have the option to provide functions for the `list`, `many`, and `detail` keys. These functions will be invoked with the `previous` data, `values`, and `id` parameters. Your responsibility is to return the updated data within these functions.
12
+
13
+ ```tsx
14
+ const { mutate } = useUpdateMany();
15
+
16
+ mutate({
17
+ //...
18
+ mutationMode: "optimistic",
19
+ optimisticUpdateMap: {
20
+ list: true,
21
+ many: true,
22
+ detail: (previous, values, id) => {
23
+ if (!previous) {
24
+ return null;
25
+ }
26
+
27
+ const data = {
28
+ id,
29
+ ...previous.data,
30
+ ...values,
31
+ foo: "bar",
32
+ };
33
+
34
+ return {
35
+ ...previous,
36
+ data,
37
+ };
38
+ },
39
+ },
40
+ });
41
+ ```
42
+
43
+ feat: add [`optimisticUpdateMap`](https://refine.dev/docs/api-reference/core/hooks/data/useUpdateMany/#optimisticupdatemap) prop to the `useForm` hook
44
+
45
+ ```tsx
46
+ const { formProps, saveButtonProps } = useForm({
47
+ mutationMode: "optimistic",
48
+ optimisticUpdateMap: {
49
+ list: true,
50
+ many: true,
51
+ detail: (previous, values, id) => {
52
+ if (!previous) {
53
+ return null;
54
+ }
55
+
56
+ const data = {
57
+ id,
58
+ ...previous.data,
59
+ ...values,
60
+ foo: "bar",
61
+ };
62
+
63
+ return {
64
+ ...previous,
65
+ data,
66
+ };
67
+ },
68
+ },
69
+ });
70
+ ```
71
+
72
+ ### Patch Changes
73
+
74
+ - [#4903](https://github.com/refinedev/refine/pull/4903) [`e327cadc011`](https://github.com/refinedev/refine/commit/e327cadc011ce8696d7149252e1ad308005b1eff) Thanks [@yildirayunlu](https://github.com/yildirayunlu)! - feat: add [`invalidateOnUnmount`](https://refine.dev/docs/api-reference/core/hooks/useForm/#invalidateonunmount) prop to [`useForm`](https://refine.dev/docs/api-reference/core/hooks/useForm) hook.
75
+ From now on, you can use the [`invalidateOnUnmount`](https://refine.dev/docs/api-reference/core/hooks/useForm/#invalidateonunmount) prop to invalidate queries upon unmount.
76
+
3
77
  ## 4.39.0
4
78
 
5
79
  ### Minor Changes
package/dist/esm/index.js CHANGED
@@ -8,7 +8,7 @@ See https://refine.dev/docs/api-reference/core/hooks/useForm/#resource`);let Me=
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`);let x=Ot({resource:T,id:b??"",queryOptions:{enabled:b!==void 0,...c},successNotification:r,errorNotification:n,meta:S,metaData:S,liveMode:a,onLiveEvent:u,dataProviderName:p}),{elapsedTime:l}=q({isLoading:x.isFetching,interval:d==null?void 0:d.interval,onInterval:d==null?void 0:d.onInterval});return{queryResult:x,showId:b,setShowId:L,overtime:{elapsedTime:l}}},"useShow");import{useEffect as za,useState as ao}from"react";import{parse as ja}from"papaparse";import _a from"lodash-es/chunk";var _P=o(({resourceName:e,resource:t,mapData:r=o(d=>d,"mapData"),paparseOptions:n,batchSize:s=Number.MAX_SAFE_INTEGER,onFinish:i,meta:a,metaData:u,onProgress:p,dataProviderName:c}={})=>{let[d,y]=ao(0),[g,T]=ao(0),[P,D]=ao(!1),{resource:U,identifier:f}=N(t??e),b=J(),L=ro(),S=$t(),x=b({resource:U,meta:w(a,u)}),l;s===1?l=S:l=L;let m=o(()=>{T(0),y(0),D(!1)},"handleCleanup"),C=o(h=>{let I={succeeded:h.filter(v=>v.type==="success"),errored:h.filter(v=>v.type==="error")};i==null||i(I),D(!1)},"handleFinish");za(()=>{p==null||p({totalAmount:g,processedAmount:d})},[g,d]);let R=o(({file:h})=>(m(),new Promise(I=>{D(!0),ja(h,{complete:async({data:v})=>{let E=qt(v,r);if(T(E.length),s===1){let k=E.map(F=>o(async()=>({response:await S.mutateAsync({resource:f??"",values:F,successNotification:!1,errorNotification:!1,dataProviderName:c,meta:x,metaData:x}),value:F}),"fn")),M=await dr(k,({response:F,value:A})=>(y(V=>V+1),{response:[F.data],type:"success",request:[A]}),(F,A)=>({response:[F],type:"error",request:[E[A]]}));I(M)}else{let k=_a(E,s),M=k.map(A=>o(async()=>({response:await L.mutateAsync({resource:f??"",values:A,successNotification:!1,errorNotification:!1,dataProviderName:c,meta:x,metaData:x}),value:A,currentBatchLength:A.length}),"fn")),F=await dr(M,({response:A,currentBatchLength:V,value:B})=>(y(Q=>Q+V),{response:A.data,type:"success",request:B}),(A,V)=>({response:[A],type:"error",request:k[V]}));I(F)}},...n})}).then(I=>(C(I),I))),"handleChange");return{inputProps:{type:"file",accept:".csv",onChange:h=>{h.target.files&&h.target.files.length>0&&R({file:h.target.files[0]})}},mutationResult:l,isLoading:P,handleChange:R}},"useImport");import{useCallback as Cn,useState as Za}from"react";var XP=o(({defaultVisible:e=!1}={})=>{let[t,r]=Za(e),n=Cn(()=>r(!0),[t]),s=Cn(()=>r(!1),[t]);return{visible:t,show:n,close:s}},"useModal");import Ya from"react";var zt=o(()=>{let e=X(),{resource:t,resources:r}=N(),n=fe();return Ya.useCallback(({resource:i,action:a,meta:u})=>{var g;let p=i||t;if(!p)return;let d=(g=Te(p,r,e==="legacy").find(T=>T.action===a))==null?void 0:g.route;return d?Le(d,p==null?void 0:p.meta,n,u):void 0},[r,t,n])},"useGetToPath");var Ja=o(({resource:e,action:t,meta:r,legacy:n})=>zt()({resource:e,action:t,meta:r,legacy:n}),"useToPath");import Xa,{useContext as qa}from"react";var dt=o(()=>{let e=qa(Xe);return e!=null&&e.Link?e.Link:o(({to:r,...n})=>Xa.createElement("a",{href:r,...n}),"FallbackLink")},"useLink");import{useContext as ti}from"react";import hn from"react";var qe={useHistory:()=>!1,useLocation:()=>!1,useParams:()=>({}),Prompt:()=>null,Link:()=>null},ei=hn.createContext(qe),jt=ei,bn=o(({children:e,useHistory:t,useLocation:r,useParams:n,Prompt:s,Link:i,routes:a})=>hn.createElement(jt.Provider,{value:{useHistory:t??qe.useHistory,useLocation:r??qe.useLocation,useParams:n??qe.useParams,Prompt:s??qe.Prompt,Link:i??qe.Link,routes:a??qe.routes}},e),"LegacyRouterContextProvider");var ne=o(()=>{let e=ti(jt),{useHistory:t,useLocation:r,useParams:n,Prompt:s,Link:i,routes:a}=e??qe;return{useHistory:t,useLocation:r,useParams:n,Prompt:s,Link:i,routes:a}},"useRouterContext");import{useQuery as ri}from"@tanstack/react-query";import{useContext as oi}from"react";import vn from"react";var at=vn.createContext({options:{buttons:{enableAccessControl:!0,hideIfUnauthorized:!1}}});var Dn=o(({can:e,children:t,options:r})=>vn.createElement(at.Provider,{value:{can:e,options:r?{...r,buttons:{enableAccessControl:!0,hideIfUnauthorized:!1,...r.buttons}}:{buttons:{enableAccessControl:!0,hideIfUnauthorized:!1}}}},t),"AccessControlContextProvider");var Dt=o(e=>{if(!e)return;let{icon:t,list:r,edit:n,create:s,show:i,clone:a,children:u,meta:p,options:c,...d}=e,{icon:y,...g}=p??{},{icon:T,...P}=c??{};return{...d,...p?{meta:g}:{},...c?{options:P}:{}}},"sanitizeResource");var Ln=o(({action:e,resource:t,params:r,queryOptions:n})=>{let{can:s}=oi(at),{keys:i,preferLegacyKeys:a}=$(),{resource:u,...p}=r??{},c=Dt(u),d=ri(i().access().resource(t).action(e).params({params:{...p,resource:c},enabled:n==null?void 0:n.enabled}).get(a),()=>(s==null?void 0:s({action:e,resource:t,params:{...p,resource:c}}))??Promise.resolve({can:!0}),{enabled:typeof s<"u",...n,retry:!1});return typeof s>"u"?{data:{can:!0}}:d},"useCan");import En from"react";var _x=o(()=>{let{can:e}=En.useContext(at);return{can:En.useMemo(()=>e?o(async({params:n,...s})=>{let i=n!=null&&n.resource?Dt(n.resource):void 0;return e({...s,...n?{params:{...n,resource:i}}:{}})},"canWithSanitizedResource"):void 0,[e])}},"useCanWithoutCache");import{useCallback as Un,useMemo as ni,useState as io}from"react";import si from"lodash-es/uniqBy";import ai from"lodash-es/debounce";import Er from"lodash-es/get";var iC=o(e=>{let[t,r]=io([]),[n,s]=io([]),[i,a]=io([]),{resource:u,sort:p,sorters:c,filters:d=[],optionLabel:y="title",optionValue:g="id",debounce:T=300,successNotification:P,errorNotification:D,defaultValueQueryOptions:U,queryOptions:f,fetchSize:b,pagination:L,hasPagination:S=!1,liveMode:x,defaultValue:l=[],onLiveEvent:m,onSearch:C,liveParams:R,meta:h,metaData:I,dataProviderName:v,overtimeOptions:E}=e,{resource:k,identifier:M}=N(u),A=J()({resource:k,meta:w(h,I)}),V=Array.isArray(l)?l:[l],B=Un(O=>{a(O.data.map(Z=>({label:Er(Z,y),value:Er(Z,g)})))},[y,g]),Q=U??f,j=Xr({resource:M,ids:V,queryOptions:{...Q,enabled:V.length>0&&((Q==null?void 0:Q.enabled)??!0),onSuccess:O=>{var Z;B(O),(Z=Q==null?void 0:Q.onSuccess)==null||Z.call(Q,O)}},meta:A,metaData:A,liveMode:"off",dataProviderName:v}),H=Un(O=>{s(O.data.map(Z=>({label:Er(Z,y),value:Er(Z,g)})))},[y,g]),_=Ht({resource:M,sorters:w(c,p),filters:d.concat(t),pagination:{current:L==null?void 0:L.current,pageSize:(L==null?void 0:L.pageSize)??b,mode:L==null?void 0:L.mode},hasPagination:S,queryOptions:{...f,onSuccess:O=>{var Z;H(O),(Z=f==null?void 0:f.onSuccess)==null||Z.call(f,O)}},successNotification:P,errorNotification:D,meta:A,metaData:A,liveMode:x,liveParams:R,onLiveEvent:m,dataProviderName:v}),K=o(O=>{if(C){r(C(O));return}if(O)r([{field:y,operator:"contains",value:O}]);else{r([]);return}},"onSearch"),{elapsedTime:G}=q({isLoading:_.isFetching||j.isFetching,interval:E==null?void 0:E.interval,onInterval:E==null?void 0:E.onInterval});return{queryResult:_,defaultValueQueryResult:j,options:ni(()=>si([...n,...i],"value"),[n,i]),onSearch:ai(K,T),overtime:{elapsedTime:G}}},"useSelect");import ii,{useState as Ur,useEffect as Mn}from"react";import In from"qs";import Mr from"lodash-es/differenceWith";import Ir from"lodash-es/isEqual";import ui from"warn-once";var wn=[],Sn=[];function hC({initialCurrent:e,initialPageSize:t,hasPagination:r=!0,pagination:n,initialSorter:s,permanentSorter:i=Sn,defaultSetFilterBehavior:a,initialFilter:u,permanentFilter:p=wn,filters:c,sorters:d,syncWithLocation:y,resource:g,successNotification:T,errorNotification:P,queryOptions:D,liveMode:U,onLiveEvent:f,liveParams:b,meta:L,metaData:S,dataProviderName:x,overtimeOptions:l}={}){var At,fo,yo,go,To;let{syncWithLocation:m}=Kr(),C=y??m,R=gn(U),h=X(),{useLocation:I}=ne(),{search:v,pathname:E}=I(),k=J(),M=fe(),F=((c==null?void 0:c.mode)||"server")==="server",A=((d==null?void 0:d.mode)||"server")==="server",V=r===!1?"off":"server",B=((n==null?void 0:n.mode)??V)!=="off",Q=w(n==null?void 0:n.current,e),j=w(n==null?void 0:n.pageSize,t),H=w(L,S),{parsedCurrent:_,parsedPageSize:K,parsedSorter:G,parsedFilters:O}=Tr(v??"?"),Z=w(c==null?void 0:c.initial,u),ie=w(c==null?void 0:c.permanent,p)??wn,Me=w(d==null?void 0:d.initial,s),je=w(d==null?void 0:d.permanent,i)??Sn,It=w(c==null?void 0:c.defaultBehavior,a)??"merge",it,ut,ft,yt;C?(it=((At=M==null?void 0:M.params)==null?void 0:At.current)||_||Q||1,ut=((fo=M==null?void 0:M.params)==null?void 0:fo.pageSize)||K||j||10,ft=((yo=M==null?void 0:M.params)==null?void 0:yo.sorters)||(G.length?G:Me),yt=((go=M==null?void 0:M.params)==null?void 0:go.filters)||(O.length?O:Z)):(it=Q||1,ut=j||10,ft=Me,yt=Z);let{replace:gt}=pe(),Zt=le(),{resource:wr,identifier:Ge}=N(g),wt=k({resource:wr,meta:H});ii.useEffect(()=>{ui(typeof Ge>"u","useTable: `resource` is not defined.")},[Ge]);let[Ne,Yt]=Ur(Cr(je,ft??[])),[ct,Tt]=Ur(xr(ie,yt??[])),[Rt,Sr]=Ur(it),[et,St]=Ur(ut),Ar=o(({pagination:{current:ge,pageSize:ke},sorter:Jt,filters:Xt})=>{if(h==="new")return Zt({type:"path",options:{keepHash:!0,keepQuery:!0},query:{...B?{current:ge,pageSize:ke}:{},sorters:Jt,filters:Xt,...me()}})??"";{let kt=In.parse(v==null?void 0:v.substring(1)),es=Rr({pagination:{pageSize:ke,current:ge},sorters:Ne??Jt,filters:Xt,...kt});return`${E??""}?${es??""}`}},"createLinkForSyncWithLocation");Mn(()=>{v===""&&(Sr(it),St(ut),Yt(Cr(je,ft??[])),Tt(xr(ie,yt??[])))},[v]);let me=o(()=>{if(h==="new"){let{sorters:ge,filters:ke,pageSize:Jt,current:Xt,...kt}=(M==null?void 0:M.params)??{};return kt}else{let{sorter:ge,filters:ke,pageSize:Jt,current:Xt,...kt}=In.parse(v,{ignoreQueryPrefix:!0});return kt}},"currentQueryParams");Mn(()=>{if(C){let ge=me();if(h==="new")Zt({type:"replace",options:{keepQuery:!0},query:{...B?{pageSize:et,current:Rt}:{},sorters:Mr(Ne,je,Ir),filters:Mr(ct,ie,Ir)}});else{let ke=Rr({...B?{pagination:{pageSize:et,current:Rt}}:{},sorters:Mr(Ne,je,Ir),filters:Mr(ct,ie,Ir),...ge});return gt==null?void 0:gt(`${E}?${ke}`,void 0,{shallow:!0})}}},[C,Rt,et,Ne,ct]);let Ae=Ht({resource:Ge,hasPagination:r,pagination:{current:Rt,pageSize:et,mode:n==null?void 0:n.mode},filters:F?bt(ie,ct):void 0,sorters:A?Pr(je,Ne):void 0,queryOptions:D,successNotification:T,errorNotification:P,meta:wt,metaData:wt,liveMode:R,liveParams:b,onLiveEvent:f,dataProviderName:x}),Ie=o(ge=>{Tt(ke=>bt(ie,ge,ke))},"setFiltersAsMerge"),tt=o(ge=>{Tt(bt(ie,ge))},"setFiltersAsReplace"),he=o(ge=>{Tt(ke=>bt(ie,ge(ke)))},"setFiltersWithSetter"),rt=o((ge,ke=It)=>{typeof ge=="function"?he(ge):ke==="replace"?tt(ge):Ie(ge)},"setFiltersFn"),ot=o(ge=>{Yt(()=>Pr(je,ge))},"setSortWithUnion"),{elapsedTime:pt}=q({isLoading:Ae.isFetching,interval:l==null?void 0:l.interval,onInterval:l==null?void 0:l.onInterval});return{tableQueryResult:Ae,sorters:Ne,setSorters:ot,sorter:Ne,setSorter:ot,filters:ct,setFilters:rt,current:Rt,setCurrent:Sr,pageSize:et,setPageSize:St,pageCount:et?Math.ceil((((To=Ae.data)==null?void 0:To.total)??0)/et):1,createLinkForSyncWithLocation:Ar,overtime:{elapsedTime:pt}}}o(hC,"useTable");import{useContext as Qn}from"react";import{useMutation as Fn,useQueryClient as ci}from"@tanstack/react-query";import An from"react";var lt=An.createContext({}),kn=o(({create:e,get:t,update:r,children:n})=>An.createElement(lt.Provider,{value:{create:e,get:t,update:r}},n),"AuditLogContextProvider");var Fe=o(({logMutationOptions:e,renameMutationOptions:t}={})=>{let r=ci(),n=Qn(lt),{keys:s,preferLegacyKeys:i}=$(),a=Y(),{resources:u}=Qn(st),{data:p,refetch:c,isLoading:d}=Or({v3LegacyAuthProviderCompatible:!!(a!=null&&a.isLegacy),queryOptions:{enabled:!!n}}),y=Fn(async T=>{var f,b,L,S,x;let P=de(T.resource,u),D=w((f=P==null?void 0:P.meta)==null?void 0:f.audit,(b=P==null?void 0:P.options)==null?void 0:b.audit,(S=(L=P==null?void 0:P.options)==null?void 0:L.auditLog)==null?void 0:S.permissions);if(D&&!kr(D,T.action))return;let U;return d&&(U=await c()),await((x=n.create)==null?void 0:x.call(n,{...T,author:p??(U==null?void 0:U.data)}))},{mutationKey:s().audit().action("log").get(),...e}),g=Fn(async T=>{var P;return await((P=n.update)==null?void 0:P.call(n,T))},{onSuccess:T=>{T!=null&&T.resource&&r.invalidateQueries(s().audit().resource((T==null?void 0:T.resource)??"").action("list").get(i))},mutationKey:s().audit().action("rename").get(),...t});return{log:y,rename:g}},"useLog");import{useContext as pi}from"react";import{useQuery as di}from"@tanstack/react-query";var jC=o(({resource:e,action:t,meta:r,author:n,metaData:s,queryOptions:i})=>{let{get:a}=pi(lt),{keys:u,preferLegacyKeys:p}=$();return di(u().audit().resource(e).action("list").params(r).get(p),()=>(a==null?void 0:a({resource:e,action:t,author:n,meta:r,metaData:s}))??Promise.resolve([]),{enabled:typeof a<"u",...i,retry:!1})},"useLogList");import{useContext as li}from"react";import mi from"warn-once";var ih=o(({meta:e={}}={})=>{let t=X(),{i18nProvider:r}=li(Ve),n=fe(),s=z(),{resources:i,resource:a,action:u}=N(),{options:{textTransformers:p}}=re(),c=[];if(!(a!=null&&a.name))return{breadcrumbs:c};let d=o(y=>{var T,P,D,U,f,b;let g=typeof y=="string"?de(y,i,t==="legacy")??{name:y}:y;if(g){let L=w((T=g==null?void 0:g.meta)==null?void 0:T.parent,g==null?void 0:g.parentName);L&&d(L);let S=Te(g,i,t==="legacy").find(m=>m.action==="list"),x=(P=S==null?void 0:S.resource)!=null&&P.list?S==null?void 0:S.route:void 0,l=x?t==="legacy"?x:Le(x,g==null?void 0:g.meta,n,e):void 0;c.push({label:w((D=g.meta)==null?void 0:D.label,(U=g.options)==null?void 0:U.label)??s(`${g.name}.${g.name}`,p.humanize(g.name)),href:l,icon:w((f=g.meta)==null?void 0:f.icon,(b=g.options)==null?void 0:b.icon,g.icon)})}},"addBreadcrumb");if(d(a),u&&u!=="list"){let y=`actions.${u}`,g=s(y);typeof r<"u"&&g===y?(mi(!0,`[useBreadcrumb]: Breadcrumb missing translate key for the "${u}" action. Please add "actions.${u}" key to your translation file.
11
- For more information, see https://refine.dev/docs/api-reference/core/hooks/useBreadcrumb/#i18n-support`),c.push({label:s(`buttons.${u}`,p.humanize(u))})):c.push({label:s(y,p.humanize(u))})}return{breadcrumbs:c}},"useBreadcrumb");import uo from"react";var Lt=o((e,t,r=!1)=>{let n=[],s=we(e,t);for(;s;)n.push(s),s=we(s,t);return n.reverse(),`/${[...n,e].map(a=>Pe((r?a.route:void 0)??a.identifier??a.name)).join("/").replace(/^\//,"")}`},"createResourceKey");var Vn=o((e,t=!1)=>{let r={item:{name:"__root__"},children:{}};e.forEach(s=>{let i=[],a=we(s,e);for(;a;)i.push(a),a=we(a,e);i.reverse();let u=r;i.forEach(c=>{let d=(t?c.route:void 0)??c.identifier??c.name;u.children[d]||(u.children[d]={item:c,children:{}}),u=u.children[d]});let p=(t?s.route:void 0)??s.identifier??s.name;u.children[p]||(u.children[p]={item:s,children:{}})});let n=o(s=>{let i=[];return Object.keys(s.children).forEach(a=>{let u=Lt(s.children[a].item,e,t),p={...s.children[a].item,key:u,children:n(s.children[a])};i.push(p)}),i},"flatten");return n(r)},"createTree");var Bn=o(e=>e.split("?")[0].split("#")[0].replace(/(.+)(\/$)/,"$1"),"getCleanPath"),fi=o(({meta:e,hideOnMissingParameter:t}={hideOnMissingParameter:!0})=>{let r=z(),n=zt(),s=X(),{resource:i,resources:a}=N(),{pathname:u}=fe(),{useLocation:p}=ne(),{pathname:c}=p(),d=ht(),g=`/${((s==="legacy"?Bn(c):u?Bn(u):void 0)??"").replace(/^\//,"")}`,T=i?Lt(i,a,s==="legacy"):g??"",P=uo.useMemo(()=>{if(!i)return[];let f=we(i,a),b=[Lt(i,a)];for(;f;)b.push(Lt(f,a)),f=we(f,a);return b},[]),D=uo.useCallback(f=>{var L,S,x,l,m,C;if((((L=f==null?void 0:f.meta)==null?void 0:L.hide)??((S=f==null?void 0:f.options)==null?void 0:S.hide))||!(f!=null&&f.list)&&f.children.length===0)return;let b=f.list?n({resource:f,action:"list",legacy:s==="legacy",meta:e}):void 0;if(!(t&&b&&b.match(/(\/|^):(.+?)(\/|$){1}/)))return{...f,route:b,icon:w((x=f.meta)==null?void 0:x.icon,(l=f.options)==null?void 0:l.icon,f.icon),label:w((m=f==null?void 0:f.meta)==null?void 0:m.label,(C=f==null?void 0:f.options)==null?void 0:C.label)??r(`${f.name}.${f.name}`,d(f.name,"plural"))}},[s,e,r,t]),U=uo.useMemo(()=>{let f=Vn(a,s==="legacy"),b=o(L=>L.flatMap(S=>{let x=b(S.children),l=D({...S,children:x});return l?[l]:[]}),"prepare");return b(f)},[a,s,D]);return{defaultOpenKeys:P,selectedKey:T,menuItems:U}},"useMenu");var J=o(()=>{let{params:e}=fe();return o(({resource:r,meta:n}={})=>{let{meta:s}=Dt(r)??{meta:{}},{filters:i,sorters:a,current:u,pageSize:p,...c}=e??{};return{...s,...c,...n}},"getMetaFn")},"useMeta");var Ti=o(()=>{let[e,t]=gi(),r=z(),{push:n}=pe(),s=le(),i=X(),{resource:a,action:u}=N();return yi(()=>{a&&u&&t(r("pages.error.info",{action:u,resource:a.name},`You may have forgotten to add the "${u}" component to "${a.name}" resource.`))},[a,u]),_t.createElement(_t.Fragment,null,_t.createElement("h1",null,r("pages.error.404",void 0,"Sorry, the page you visited does not exist.")),e&&_t.createElement("p",null,e),_t.createElement("button",{onClick:()=>{i==="legacy"?n("/"):s({to:"/"})}},r("pages.error.backHome",void 0,"Back Home")))},"ErrorComponent");import Ce,{useState as Nn}from"react";var Fr=o(()=>{let[e,t]=Nn(""),[r,n]=Nn(""),s=z(),i=Y(),{mutate:a}=Kt({v3LegacyAuthProviderCompatible:!!(i!=null&&i.isLegacy)});return Ce.createElement(Ce.Fragment,null,Ce.createElement("h1",null,s("pages.login.title","Sign in your account")),Ce.createElement("form",{onSubmit:u=>{u.preventDefault(),a({username:e,password:r})}},Ce.createElement("table",null,Ce.createElement("tbody",null,Ce.createElement("tr",null,Ce.createElement("td",null,s("pages.login.username",void 0,"username"),":"),Ce.createElement("td",null,Ce.createElement("input",{type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",autoFocus:!0,required:!0,value:e,onChange:u=>t(u.target.value)}))),Ce.createElement("tr",null,Ce.createElement("td",null,s("pages.login.password",void 0,"password"),":"),Ce.createElement("td",null,Ce.createElement("input",{type:"password",required:!0,size:20,value:r,onChange:u=>n(u.target.value)}))))),Ce.createElement("br",null),Ce.createElement("input",{type:"submit",value:"login"})))},"LoginPage");import Et from"react";import ye,{useState as co}from"react";var Kn=o(({providers:e,registerLink:t,forgotPasswordLink:r,rememberMe:n,contentProps:s,wrapperProps:i,renderContent:a,formProps:u,title:p=void 0})=>{let c=X(),d=dt(),{Link:y}=ne(),g=c==="legacy"?y:d,[T,P]=co(""),[D,U]=co(""),[f,b]=co(!1),L=z(),S=Y(),{mutate:x}=Kt({v3LegacyAuthProviderCompatible:!!(S!=null&&S.isLegacy)}),l=o((R,h)=>ye.createElement(g,{to:R},h),"renderLink"),m=o(()=>e?e.map(R=>ye.createElement("div",{key:R.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},ye.createElement("button",{onClick:()=>x({providerName:R.name}),style:{display:"flex",alignItems:"center"}},R==null?void 0:R.icon,R.label??ye.createElement("label",null,R.label)))):null,"renderProviders"),C=ye.createElement("div",{...s},ye.createElement("h1",{style:{textAlign:"center"}},L("pages.login.title","Sign in to your account")),m(),ye.createElement("hr",null),ye.createElement("form",{onSubmit:R=>{R.preventDefault(),x({email:T,password:D,remember:f})},...u},ye.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},ye.createElement("label",{htmlFor:"email-input"},L("pages.login.fields.email","Email")),ye.createElement("input",{id:"email-input",name:"email",type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:T,onChange:R=>P(R.target.value)}),ye.createElement("label",{htmlFor:"password-input"},L("pages.login.fields.password","Password")),ye.createElement("input",{id:"password-input",type:"password",name:"password",required:!0,size:20,value:D,onChange:R=>U(R.target.value)}),n??ye.createElement(ye.Fragment,null,ye.createElement("label",{htmlFor:"remember-me-input"},L("pages.login.buttons.rememberMe","Remember me"),ye.createElement("input",{id:"remember-me-input",name:"remember",type:"checkbox",size:20,checked:f,value:f.toString(),onChange:()=>{b(!f)}}))),ye.createElement("br",null),r??l("/forgot-password",L("pages.login.buttons.forgotPassword","Forgot password?")),ye.createElement("input",{type:"submit",value:L("pages.login.signin","Sign in")}),t??ye.createElement("span",null,L("pages.login.buttons.noAccount","Don\u2019t have an account?")," ",l("/register",L("pages.login.register","Sign up"))))));return ye.createElement("div",{...i},a?a(C,p):C)},"LoginPage");import Re,{useState as Hn}from"react";var On=o(({providers:e,loginLink:t,wrapperProps:r,contentProps:n,renderContent:s,formProps:i,title:a=void 0})=>{let u=X(),p=dt(),{Link:c}=ne(),d=u==="legacy"?c:p,[y,g]=Hn(""),[T,P]=Hn(""),D=z(),U=Y(),{mutate:f,isLoading:b}=zr({v3LegacyAuthProviderCompatible:!!(U!=null&&U.isLegacy)}),L=o((l,m)=>Re.createElement(d,{to:l},m),"renderLink"),S=o(()=>e?e.map(l=>Re.createElement("div",{key:l.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},Re.createElement("button",{onClick:()=>f({providerName:l.name}),style:{display:"flex",alignItems:"center"}},l==null?void 0:l.icon,l.label??Re.createElement("label",null,l.label)))):null,"renderProviders"),x=Re.createElement("div",{...n},Re.createElement("h1",{style:{textAlign:"center"}},D("pages.register.title","Sign up for your account")),S(),Re.createElement("hr",null),Re.createElement("form",{onSubmit:l=>{l.preventDefault(),f({email:y,password:T})},...i},Re.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Re.createElement("label",{htmlFor:"email-input"},D("pages.register.fields.email","Email")),Re.createElement("input",{id:"email-input",name:"email",type:"email",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:y,onChange:l=>g(l.target.value)}),Re.createElement("label",{htmlFor:"password-input"},D("pages.register.fields.password","Password")),Re.createElement("input",{id:"password-input",name:"password",type:"password",required:!0,size:20,value:T,onChange:l=>P(l.target.value)}),Re.createElement("input",{type:"submit",value:D("pages.register.buttons.submit","Sign up"),disabled:b}),t??Re.createElement(Re.Fragment,null,Re.createElement("span",null,D("pages.login.buttons.haveAccount","Have an account?")," ",L("/login",D("pages.login.signin","Sign in")))))));return Re.createElement("div",{...r},s?s(x,a):x)},"RegisterPage");import Be,{useState as Ri}from"react";var $n=o(({loginLink:e,wrapperProps:t,contentProps:r,renderContent:n,formProps:s,title:i=void 0})=>{let a=z(),u=X(),p=dt(),{Link:c}=ne(),d=u==="legacy"?c:p,[y,g]=Ri(""),{mutate:T,isLoading:P}=_r(),D=o((f,b)=>Be.createElement(d,{to:f},b),"renderLink"),U=Be.createElement("div",{...r},Be.createElement("h1",{style:{textAlign:"center"}},a("pages.forgotPassword.title","Forgot your password?")),Be.createElement("hr",null),Be.createElement("form",{onSubmit:f=>{f.preventDefault(),T({email:y})},...s},Be.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Be.createElement("label",{htmlFor:"email-input"},a("pages.forgotPassword.fields.email","Email")),Be.createElement("input",{id:"email-input",name:"email",type:"mail",autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:y,onChange:f=>g(f.target.value)}),Be.createElement("input",{type:"submit",disabled:P,value:a("pages.forgotPassword.buttons.submit","Send reset instructions")}),Be.createElement("br",null),e??Be.createElement("span",null,a("pages.register.buttons.haveAccount","Have an account? ")," ",D("/login",a("pages.login.signin","Sign in"))))));return Be.createElement("div",{...t},n?n(U,i):U)},"ForgotPasswordPage");import $e,{useState as Gn}from"react";var Wn=o(({wrapperProps:e,contentProps:t,renderContent:r,formProps:n,title:s=void 0})=>{let i=z(),a=Y(),{mutate:u,isLoading:p}=Yr({v3LegacyAuthProviderCompatible:!!(a!=null&&a.isLegacy)}),[c,d]=Gn(""),[y,g]=Gn(""),T=$e.createElement("div",{...t},$e.createElement("h1",{style:{textAlign:"center"}},i("pages.updatePassword.title","Update Password")),$e.createElement("hr",null),$e.createElement("form",{onSubmit:P=>{P.preventDefault(),u({password:c,confirmPassword:y})},...n},$e.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},$e.createElement("label",{htmlFor:"password-input"},i("pages.updatePassword.fields.password","New Password")),$e.createElement("input",{id:"password-input",name:"password",type:"password",required:!0,size:20,value:c,onChange:P=>d(P.target.value)}),$e.createElement("label",{htmlFor:"confirm-password-input"},i("pages.updatePassword.fields.confirmPassword","Confirm New Password")),$e.createElement("input",{id:"confirm-password-input",name:"confirmPassword",type:"password",required:!0,size:20,value:y,onChange:P=>g(P.target.value)}),$e.createElement("input",{type:"submit",disabled:p,value:i("pages.updatePassword.buttons.submit","Update")}))));return $e.createElement("div",{...e},r?r(T,s):T)},"UpdatePasswordPage");var Pi=o(e=>{let{type:t}=e;return Et.createElement(Et.Fragment,null,o(()=>{switch(t){case"register":return Et.createElement(On,{...e});case"forgotPassword":return Et.createElement($n,{...e});case"updatePassword":return Et.createElement(Wn,{...e});default:return Et.createElement(Kn,{...e})}},"renderView")())},"AuthPage");import Ue from"react";var po=o(()=>Ue.createElement(Ue.Fragment,null,Ue.createElement("h1",null,"Welcome on board"),Ue.createElement("p",null,"Your configuration is completed."),Ue.createElement("p",null,"Now you can get started by adding your resources to the"," ",Ue.createElement("code",null,"`resources`")," property of ",Ue.createElement("code",null,"`<Refine>`")),Ue.createElement("div",{style:{display:"flex",gap:8}},Ue.createElement("a",{href:"https://refine.dev",target:"_blank",rel:"noreferrer"},Ue.createElement("button",null,"Documentation")),Ue.createElement("a",{href:"https://refine.dev/examples",target:"_blank",rel:"noreferrer"},Ue.createElement("button",null,"Examples")),Ue.createElement("a",{href:"https://discord.gg/refine",target:"_blank",rel:"noreferrer"},Ue.createElement("button",null,"Community")))),"ReadyPage");import te,{useState as xi}from"react";var Ci=[{title:"Documentation",description:"Learn about the technical details of using refine in your projects.",link:"https://refine.dev/",icon:te.createElement("svg",{width:"14",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},te.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:te.createElement("svg",{width:"16",height:"14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},te.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"}),te.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:te.createElement("svg",{width:"16",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},te.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"}),te.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:te.createElement("svg",{width:"16",height:"12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},te.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"}))}],hi=o(()=>{let e=yr("(max-width: 1010px)"),t=yr("(max-width: 650px)"),r=o(()=>t?"1, 280px":e?"2, 280px":"4, 208px","getGridTemplateColumns"),n=o(()=>t?"32px":e?"40px":"48px","getHeaderFontSize"),s=o(()=>t?"16px":e?"20px":"24px","getSubHeaderFontSize");return te.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"}},te.createElement("div",{style:{height:"89px"}}),te.createElement("div",{style:{display:"flex",justifyContent:"center"}},te.createElement("img",{src:"https://refine.ams3.cdn.digitaloceanspaces.com/welcome-page/welcome-logo.webp",width:"198",height:"54"})),te.createElement("div",{style:{height:e?"270px":"22vw",minHeight:e?"270px":"313px"}}),te.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px",textAlign:"center"}},te.createElement("h1",{style:{fontSize:n(),fontWeight:700,margin:"0px"}},"Welcome Aboard!"),te.createElement("h4",{style:{fontSize:s(),fontWeight:400,margin:"0px"}},"Your configuration is completed.")),te.createElement("div",{style:{height:"64px"}}),te.createElement("div",{style:{display:"grid",gridTemplateColumns:`repeat(${r()})`,justifyContent:"center",gap:"48px",paddingRight:"16px",paddingLeft:"16px",maxWidth:"976px",margin:"auto"}},Ci.map(i=>te.createElement(bi,{key:`welcome-page-${i.title}`,card:i}))),te.createElement("div",{style:{height:"64px"}}))},"WelcomePage"),bi=o(({card:e})=>{let{title:t,description:r,icon:n,link:s}=e,[i,a]=xi(!1);return te.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},te.createElement("div",{style:{display:"flex",alignItems:"center"}},te.createElement("a",{onPointerEnter:()=>a(!0),onPointerLeave:()=>a(!1),style:{display:"flex",alignItems:"center",color:"#fff",textDecoration:"none"},href:s},n,te.createElement("span",{style:{fontSize:"16px",fontWeight:700,marginLeft:"13px",marginRight:"14px"}},t),te.createElement("svg",{style:{transition:"transform 0.5s ease-in-out, opacity 0.2s ease-in-out",...i&&{transform:"translateX(4px)",opacity:1}},width:"12",height:"8",fill:"none",opacity:"0.5",xmlns:"http://www.w3.org/2000/svg"},te.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"})))),te.createElement("span",{style:{fontSize:"12px",opacity:.5,lineHeight:"16px"}},r))},"Card");import{QueryClient as Xn,QueryClientProvider as Mi}from"@tanstack/react-query";import ue from"react";import jn from"react";import{useContext as mt}from"react";var vi="4.39.0",zn=o(()=>{var b;let e=Jr(),t=mt(lt),r=mt(Je),n=mt(jt),s=mt(Gt),{i18nProvider:i}=mt(Ve),a=mt(Wt),u=mt(at),{resources:p}=N(),c=re(),d=!!t.create||!!t.get||!!t.update,y=!!(r!=null&&r.publish)||!!(r!=null&&r.subscribe)||!!(r!=null&&r.unsubscribe),g=!!n.useHistory||!!n.Link||!!n.Prompt||!!n.useLocation||!!n.useParams,T=!!s,P=!!(i!=null&&i.changeLocale)||!!(i!=null&&i.getLocale)||!!(i!=null&&i.translate),D=!!a.close||!!a.open,U=!!u.can,f=(b=c==null?void 0:c.options)==null?void 0:b.projectId;return{providers:{auth:e,auditLog:d,live:y,router:g,data:T,i18n:P,notification:D,accessControl:U},version:vi,resourceCount:p.length,projectId:f}},"useTelemetryData");var Di=o(e=>{try{let t=JSON.stringify(e||{});return typeof btoa<"u"?btoa(t):Buffer.from(t).toString("base64")}catch{return}},"encode"),Li=o(e=>{let t=new Image;t.src=e},"throughImage"),Ei=o(e=>{fetch(e)},"throughFetch"),Ui=o(e=>{typeof Image<"u"?Li(e):typeof fetch<"u"&&Ei(e)},"transport"),_n=o(()=>{let e=zn(),t=jn.useRef(!1);return jn.useEffect(()=>{if(t.current)return;let r=Di(e);r&&(Ui(`https://telemetry.refine.dev/telemetry?payload=${r}`),t.current=!0)},[]),null},"Telemetry");var Zn=o(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},"checkRouterPropMisuse");import Yn from"react";var Jn=o(e=>{let t=Yn.useRef(!1);Yn.useEffect(()=>{t.current===!1&&e&&Zn(e)&&(t.current=!0)},[e])},"useRouterMisuseWarning");var Ii=o(({legacyAuthProvider:e,authProvider:t,dataProvider:r,legacyRouterProvider:n,routerProvider:s,notificationProvider:i,accessControlProvider:a,auditLogProvider:u,resources:p,DashboardPage:c,ReadyPage:d,LoginPage:y,catchAll:g,children:T,liveProvider:P,i18nProvider:D,Title:U,Layout:f,Sider:b,Header:L,Footer:S,OffLayoutArea:x,onLiveEvent:l,options:m})=>{let{optionsWithDefaults:C,disableTelemetryWithDefault:R,reactQueryWithDefaults:h}=Vr({options:m}),I=Lr(()=>{var M;return h.clientConfig instanceof Xn?h.clientConfig:new Xn({...h.clientConfig,defaultOptions:{...h.clientConfig.defaultOptions,queries:{refetchOnWindowFocus:!1,keepPreviousData:!0,...(M=h.clientConfig.defaultOptions)==null?void 0:M.queries}}})},[h.clientConfig]),E=ue.useMemo(()=>typeof i=="function"?i:()=>i??{},[i])();if(Jn(s),n&&!s&&(p??[]).length===0)return d?ue.createElement(d,null):ue.createElement(po,null);let{RouterComponent:k=ue.Fragment}=s?{}:n??{};return ue.createElement(Mi,{client:I},ue.createElement(Tn,{...E},ue.createElement(Po,{...e??{},isProvided:!!e},ue.createElement(Co,{...t??{},isProvided:!!t},ue.createElement(rn,{...r},ue.createElement(nn,{liveProvider:P},ue.createElement(dn,{value:n&&!s?"legacy":"new"},ue.createElement(mn,{router:s},ue.createElement(bn,{...n},ue.createElement(un,{resources:p??[]},ue.createElement(Pn,{i18nProvider:D},ue.createElement(Dn,{...a??{}},ue.createElement(kn,{...u??{}},ue.createElement(to,null,ue.createElement(Ao,{mutationMode:C.mutationMode,warnWhenUnsavedChanges:C.warnWhenUnsavedChanges,syncWithLocation:C.syncWithLocation,Title:U,undoableTimeout:C.undoableTimeout,catchAll:g,DashboardPage:c,LoginPage:y,Layout:f,Sider:b,Footer:S,Header:L,OffLayoutArea:x,hasDashboard:!!c,liveMode:C.liveMode,onLiveEvent:l,options:C},ue.createElement(Bo,null,ue.createElement(k,null,T,!R&&ue.createElement(_n,null),ue.createElement(lo,null))))))))))))))))))},"Refine");import{useEffect as wi,useState as Si}from"react";var en=o(({notification:e})=>{let t=z(),{notificationDispatch:r}=ze(),{open:n}=Ee(),[s,i]=Si(),a=o(()=>{if(e.isRunning===!0&&(e.seconds===0&&e.doMutation(),e.isSilent||n==null||n({key:`${e.id}-${e.resource}-notification`,type:"progress",message:t("notifications.undoable",{seconds:Qt(e.seconds)},`You have ${Qt(e.seconds)} seconds to undo`),cancelMutation:e.cancelMutation,undoableTimeout:Qt(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);i(u)}},"cancelNotification");return wi(()=>{a()},[e]),null},"UndoableQueue");import mo,{useEffect as Ai}from"react";var ki=o(({children:e,Layout:t,Sider:r,Header:n,Title:s,Footer:i,OffLayoutArea:a})=>{let{Layout:u,Footer:p,Header:c,Sider:d,Title:y,OffLayoutArea:g}=re();return mo.createElement(t??u,{Sider:r??d,Header:n??c,Footer:i??p,Title:s??y,OffLayoutArea:a??g},e,mo.createElement(Qi,null))},"LayoutWrapper"),Qi=o(()=>{let{Prompt:e}=ne(),t=z(),{warnWhen:r,setWarnWhen:n}=Nt(),s=o(i=>(i.preventDefault(),i.returnValue=t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),i.returnValue),"warnWhenListener");return Ai(()=>(r&&window.addEventListener("beforeunload",s),window.removeEventListener("beforeunload",s)),[r]),mo.createElement(e,{when:r,message:t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),setWarnWhen:n})},"UnsavedPrompt");import Se from"react";var Fi=o(()=>{let e=le(),[t,r]=Se.useState(void 0);return Se.useEffect(()=>{t&&e(t)},[t]),Se.useCallback(s=>{t||r(s)},[t])},"useDeferredGo");function Vi({redirectOnFail:e=!0,appendCurrentPathToQuery:t=!0,children:r,fallback:n,loading:s}){var C;let i=Y(),a=X(),u=!!(i!=null&&i.isProvided),p=!!(i!=null&&i.isLegacy),c=a==="legacy",d=fe(),y=le(),g=Fi(),{replace:T}=pe(),{useLocation:P}=ne(),D=P(),{isLoading:U,isFetching:f,isSuccess:b,data:{authenticated:L,redirectTo:S}={},refetch:x}=br({v3LegacyAuthProviderCompatible:p});Se.useEffect(()=>{x()},[r,n]);let l=Se.useRef({status:U?"initial":"pending",content:s??null});f?l.current.status="pending":f||(l.current.status="settled");let m=u?p?b:L:!0;if(l.current.status==="settled")if(m)l.current.content=Se.createElement(Se.Fragment,null,r??null);else if(typeof n<"u")l.current.content=Se.createElement(Se.Fragment,null,n);else{let R=`${c?D==null?void 0:D.pathname:d.pathname}`.replace(/(\?.*|#.*)$/,""),h=p?typeof e=="string"?e:"/login":typeof e=="string"?e:S;if(h)if(c){let I=t?`?to=${encodeURIComponent(R)}`:"";T(`${h}${I}`)}else g({to:h,query:t?{to:(C=d.params)!=null&&C.to?d.params.to:y({to:R,options:{keepQuery:!0},type:"path"})}:void 0,type:"replace"})}return u?Se.createElement(Se.Fragment,null,l.current.content):Se.createElement(Se.Fragment,null,r??null)}o(Vi,"Authenticated");import{useEffect as Bi}from"react";var lo=o(()=>{let{useLocation:e}=ne(),{checkAuth:t}=oe(),r=e();return Bi(()=>{t==null||t().catch(()=>!1)},[r==null?void 0:r.pathname]),null},"RouteChangeHandler");import Ut,{useEffect as Ni}from"react";var Ki=o(({resource:e,action:t,params:r,fallback:n,onUnauthorized:s,children:i,...a})=>{let{resource:u,id:p,action:c}=N(e),{identifier:d}=N(),g=o(()=>{let f=(r==null?void 0:r.id)??p;return e&&e!==d?r==null?void 0:r.id:f},"getDefaultId")(),T=e??(u==null?void 0:u.name),P=t??c??"",D=r??{id:g,resource:u},{data:U}=Ln({resource:T,action:P,params:D});return Ni(()=>{s&&(U==null?void 0:U.can)===!1&&s({resource:T,action:P,reason:U==null?void 0:U.reason,params:D})},[U==null?void 0:U.can]),U!=null&&U.can?Ut.isValidElement(i)?Ut.cloneElement(i,a):Ut.createElement(Ut.Fragment,null,i):(U==null?void 0:U.can)===!1?Ut.createElement(Ut.Fragment,null,n??null):null},"CanAccess");import Mt,{useEffect as Hi}from"react";var qn=[`
11
+ For more information, see https://refine.dev/docs/api-reference/core/hooks/useBreadcrumb/#i18n-support`),c.push({label:s(`buttons.${u}`,p.humanize(u))})):c.push({label:s(y,p.humanize(u))})}return{breadcrumbs:c}},"useBreadcrumb");import uo from"react";var Lt=o((e,t,r=!1)=>{let n=[],s=we(e,t);for(;s;)n.push(s),s=we(s,t);return n.reverse(),`/${[...n,e].map(a=>Pe((r?a.route:void 0)??a.identifier??a.name)).join("/").replace(/^\//,"")}`},"createResourceKey");var Vn=o((e,t=!1)=>{let r={item:{name:"__root__"},children:{}};e.forEach(s=>{let i=[],a=we(s,e);for(;a;)i.push(a),a=we(a,e);i.reverse();let u=r;i.forEach(c=>{let d=(t?c.route:void 0)??c.identifier??c.name;u.children[d]||(u.children[d]={item:c,children:{}}),u=u.children[d]});let p=(t?s.route:void 0)??s.identifier??s.name;u.children[p]||(u.children[p]={item:s,children:{}})});let n=o(s=>{let i=[];return Object.keys(s.children).forEach(a=>{let u=Lt(s.children[a].item,e,t),p={...s.children[a].item,key:u,children:n(s.children[a])};i.push(p)}),i},"flatten");return n(r)},"createTree");var Bn=o(e=>e.split("?")[0].split("#")[0].replace(/(.+)(\/$)/,"$1"),"getCleanPath"),fi=o(({meta:e,hideOnMissingParameter:t}={hideOnMissingParameter:!0})=>{let r=z(),n=zt(),s=X(),{resource:i,resources:a}=N(),{pathname:u}=fe(),{useLocation:p}=ne(),{pathname:c}=p(),d=ht(),g=`/${((s==="legacy"?Bn(c):u?Bn(u):void 0)??"").replace(/^\//,"")}`,T=i?Lt(i,a,s==="legacy"):g??"",P=uo.useMemo(()=>{if(!i)return[];let f=we(i,a),b=[Lt(i,a)];for(;f;)b.push(Lt(f,a)),f=we(f,a);return b},[]),D=uo.useCallback(f=>{var L,S,x,l,m,C;if((((L=f==null?void 0:f.meta)==null?void 0:L.hide)??((S=f==null?void 0:f.options)==null?void 0:S.hide))||!(f!=null&&f.list)&&f.children.length===0)return;let b=f.list?n({resource:f,action:"list",legacy:s==="legacy",meta:e}):void 0;if(!(t&&b&&b.match(/(\/|^):(.+?)(\/|$){1}/)))return{...f,route:b,icon:w((x=f.meta)==null?void 0:x.icon,(l=f.options)==null?void 0:l.icon,f.icon),label:w((m=f==null?void 0:f.meta)==null?void 0:m.label,(C=f==null?void 0:f.options)==null?void 0:C.label)??r(`${f.name}.${f.name}`,d(f.name,"plural"))}},[s,e,r,t]),U=uo.useMemo(()=>{let f=Vn(a,s==="legacy"),b=o(L=>L.flatMap(S=>{let x=b(S.children),l=D({...S,children:x});return l?[l]:[]}),"prepare");return b(f)},[a,s,D]);return{defaultOpenKeys:P,selectedKey:T,menuItems:U}},"useMenu");var J=o(()=>{let{params:e}=fe();return o(({resource:r,meta:n}={})=>{let{meta:s}=Dt(r)??{meta:{}},{filters:i,sorters:a,current:u,pageSize:p,...c}=e??{};return{...s,...c,...n}},"getMetaFn")},"useMeta");var Ti=o(()=>{let[e,t]=gi(),r=z(),{push:n}=pe(),s=le(),i=X(),{resource:a,action:u}=N();return yi(()=>{a&&u&&t(r("pages.error.info",{action:u,resource:a.name},`You may have forgotten to add the "${u}" component to "${a.name}" resource.`))},[a,u]),_t.createElement(_t.Fragment,null,_t.createElement("h1",null,r("pages.error.404",void 0,"Sorry, the page you visited does not exist.")),e&&_t.createElement("p",null,e),_t.createElement("button",{onClick:()=>{i==="legacy"?n("/"):s({to:"/"})}},r("pages.error.backHome",void 0,"Back Home")))},"ErrorComponent");import Ce,{useState as Nn}from"react";var Fr=o(()=>{let[e,t]=Nn(""),[r,n]=Nn(""),s=z(),i=Y(),{mutate:a}=Kt({v3LegacyAuthProviderCompatible:!!(i!=null&&i.isLegacy)});return Ce.createElement(Ce.Fragment,null,Ce.createElement("h1",null,s("pages.login.title","Sign in your account")),Ce.createElement("form",{onSubmit:u=>{u.preventDefault(),a({username:e,password:r})}},Ce.createElement("table",null,Ce.createElement("tbody",null,Ce.createElement("tr",null,Ce.createElement("td",null,s("pages.login.username",void 0,"username"),":"),Ce.createElement("td",null,Ce.createElement("input",{type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",autoFocus:!0,required:!0,value:e,onChange:u=>t(u.target.value)}))),Ce.createElement("tr",null,Ce.createElement("td",null,s("pages.login.password",void 0,"password"),":"),Ce.createElement("td",null,Ce.createElement("input",{type:"password",required:!0,size:20,value:r,onChange:u=>n(u.target.value)}))))),Ce.createElement("br",null),Ce.createElement("input",{type:"submit",value:"login"})))},"LoginPage");import Et from"react";import ye,{useState as co}from"react";var Kn=o(({providers:e,registerLink:t,forgotPasswordLink:r,rememberMe:n,contentProps:s,wrapperProps:i,renderContent:a,formProps:u,title:p=void 0})=>{let c=X(),d=dt(),{Link:y}=ne(),g=c==="legacy"?y:d,[T,P]=co(""),[D,U]=co(""),[f,b]=co(!1),L=z(),S=Y(),{mutate:x}=Kt({v3LegacyAuthProviderCompatible:!!(S!=null&&S.isLegacy)}),l=o((R,h)=>ye.createElement(g,{to:R},h),"renderLink"),m=o(()=>e?e.map(R=>ye.createElement("div",{key:R.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},ye.createElement("button",{onClick:()=>x({providerName:R.name}),style:{display:"flex",alignItems:"center"}},R==null?void 0:R.icon,R.label??ye.createElement("label",null,R.label)))):null,"renderProviders"),C=ye.createElement("div",{...s},ye.createElement("h1",{style:{textAlign:"center"}},L("pages.login.title","Sign in to your account")),m(),ye.createElement("hr",null),ye.createElement("form",{onSubmit:R=>{R.preventDefault(),x({email:T,password:D,remember:f})},...u},ye.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},ye.createElement("label",{htmlFor:"email-input"},L("pages.login.fields.email","Email")),ye.createElement("input",{id:"email-input",name:"email",type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:T,onChange:R=>P(R.target.value)}),ye.createElement("label",{htmlFor:"password-input"},L("pages.login.fields.password","Password")),ye.createElement("input",{id:"password-input",type:"password",name:"password",required:!0,size:20,value:D,onChange:R=>U(R.target.value)}),n??ye.createElement(ye.Fragment,null,ye.createElement("label",{htmlFor:"remember-me-input"},L("pages.login.buttons.rememberMe","Remember me"),ye.createElement("input",{id:"remember-me-input",name:"remember",type:"checkbox",size:20,checked:f,value:f.toString(),onChange:()=>{b(!f)}}))),ye.createElement("br",null),r??l("/forgot-password",L("pages.login.buttons.forgotPassword","Forgot password?")),ye.createElement("input",{type:"submit",value:L("pages.login.signin","Sign in")}),t??ye.createElement("span",null,L("pages.login.buttons.noAccount","Don\u2019t have an account?")," ",l("/register",L("pages.login.register","Sign up"))))));return ye.createElement("div",{...i},a?a(C,p):C)},"LoginPage");import Re,{useState as Hn}from"react";var On=o(({providers:e,loginLink:t,wrapperProps:r,contentProps:n,renderContent:s,formProps:i,title:a=void 0})=>{let u=X(),p=dt(),{Link:c}=ne(),d=u==="legacy"?c:p,[y,g]=Hn(""),[T,P]=Hn(""),D=z(),U=Y(),{mutate:f,isLoading:b}=zr({v3LegacyAuthProviderCompatible:!!(U!=null&&U.isLegacy)}),L=o((l,m)=>Re.createElement(d,{to:l},m),"renderLink"),S=o(()=>e?e.map(l=>Re.createElement("div",{key:l.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},Re.createElement("button",{onClick:()=>f({providerName:l.name}),style:{display:"flex",alignItems:"center"}},l==null?void 0:l.icon,l.label??Re.createElement("label",null,l.label)))):null,"renderProviders"),x=Re.createElement("div",{...n},Re.createElement("h1",{style:{textAlign:"center"}},D("pages.register.title","Sign up for your account")),S(),Re.createElement("hr",null),Re.createElement("form",{onSubmit:l=>{l.preventDefault(),f({email:y,password:T})},...i},Re.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Re.createElement("label",{htmlFor:"email-input"},D("pages.register.fields.email","Email")),Re.createElement("input",{id:"email-input",name:"email",type:"email",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:y,onChange:l=>g(l.target.value)}),Re.createElement("label",{htmlFor:"password-input"},D("pages.register.fields.password","Password")),Re.createElement("input",{id:"password-input",name:"password",type:"password",required:!0,size:20,value:T,onChange:l=>P(l.target.value)}),Re.createElement("input",{type:"submit",value:D("pages.register.buttons.submit","Sign up"),disabled:b}),t??Re.createElement(Re.Fragment,null,Re.createElement("span",null,D("pages.login.buttons.haveAccount","Have an account?")," ",L("/login",D("pages.login.signin","Sign in")))))));return Re.createElement("div",{...r},s?s(x,a):x)},"RegisterPage");import Be,{useState as Ri}from"react";var $n=o(({loginLink:e,wrapperProps:t,contentProps:r,renderContent:n,formProps:s,title:i=void 0})=>{let a=z(),u=X(),p=dt(),{Link:c}=ne(),d=u==="legacy"?c:p,[y,g]=Ri(""),{mutate:T,isLoading:P}=_r(),D=o((f,b)=>Be.createElement(d,{to:f},b),"renderLink"),U=Be.createElement("div",{...r},Be.createElement("h1",{style:{textAlign:"center"}},a("pages.forgotPassword.title","Forgot your password?")),Be.createElement("hr",null),Be.createElement("form",{onSubmit:f=>{f.preventDefault(),T({email:y})},...s},Be.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Be.createElement("label",{htmlFor:"email-input"},a("pages.forgotPassword.fields.email","Email")),Be.createElement("input",{id:"email-input",name:"email",type:"mail",autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:y,onChange:f=>g(f.target.value)}),Be.createElement("input",{type:"submit",disabled:P,value:a("pages.forgotPassword.buttons.submit","Send reset instructions")}),Be.createElement("br",null),e??Be.createElement("span",null,a("pages.register.buttons.haveAccount","Have an account? ")," ",D("/login",a("pages.login.signin","Sign in"))))));return Be.createElement("div",{...t},n?n(U,i):U)},"ForgotPasswordPage");import $e,{useState as Gn}from"react";var Wn=o(({wrapperProps:e,contentProps:t,renderContent:r,formProps:n,title:s=void 0})=>{let i=z(),a=Y(),{mutate:u,isLoading:p}=Yr({v3LegacyAuthProviderCompatible:!!(a!=null&&a.isLegacy)}),[c,d]=Gn(""),[y,g]=Gn(""),T=$e.createElement("div",{...t},$e.createElement("h1",{style:{textAlign:"center"}},i("pages.updatePassword.title","Update Password")),$e.createElement("hr",null),$e.createElement("form",{onSubmit:P=>{P.preventDefault(),u({password:c,confirmPassword:y})},...n},$e.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},$e.createElement("label",{htmlFor:"password-input"},i("pages.updatePassword.fields.password","New Password")),$e.createElement("input",{id:"password-input",name:"password",type:"password",required:!0,size:20,value:c,onChange:P=>d(P.target.value)}),$e.createElement("label",{htmlFor:"confirm-password-input"},i("pages.updatePassword.fields.confirmPassword","Confirm New Password")),$e.createElement("input",{id:"confirm-password-input",name:"confirmPassword",type:"password",required:!0,size:20,value:y,onChange:P=>g(P.target.value)}),$e.createElement("input",{type:"submit",disabled:p,value:i("pages.updatePassword.buttons.submit","Update")}))));return $e.createElement("div",{...e},r?r(T,s):T)},"UpdatePasswordPage");var Pi=o(e=>{let{type:t}=e;return Et.createElement(Et.Fragment,null,o(()=>{switch(t){case"register":return Et.createElement(On,{...e});case"forgotPassword":return Et.createElement($n,{...e});case"updatePassword":return Et.createElement(Wn,{...e});default:return Et.createElement(Kn,{...e})}},"renderView")())},"AuthPage");import Ue from"react";var po=o(()=>Ue.createElement(Ue.Fragment,null,Ue.createElement("h1",null,"Welcome on board"),Ue.createElement("p",null,"Your configuration is completed."),Ue.createElement("p",null,"Now you can get started by adding your resources to the"," ",Ue.createElement("code",null,"`resources`")," property of ",Ue.createElement("code",null,"`<Refine>`")),Ue.createElement("div",{style:{display:"flex",gap:8}},Ue.createElement("a",{href:"https://refine.dev",target:"_blank",rel:"noreferrer"},Ue.createElement("button",null,"Documentation")),Ue.createElement("a",{href:"https://refine.dev/examples",target:"_blank",rel:"noreferrer"},Ue.createElement("button",null,"Examples")),Ue.createElement("a",{href:"https://discord.gg/refine",target:"_blank",rel:"noreferrer"},Ue.createElement("button",null,"Community")))),"ReadyPage");import te,{useState as xi}from"react";var Ci=[{title:"Documentation",description:"Learn about the technical details of using refine in your projects.",link:"https://refine.dev/",icon:te.createElement("svg",{width:"14",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},te.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:te.createElement("svg",{width:"16",height:"14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},te.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"}),te.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:te.createElement("svg",{width:"16",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},te.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"}),te.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:te.createElement("svg",{width:"16",height:"12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},te.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"}))}],hi=o(()=>{let e=yr("(max-width: 1010px)"),t=yr("(max-width: 650px)"),r=o(()=>t?"1, 280px":e?"2, 280px":"4, 208px","getGridTemplateColumns"),n=o(()=>t?"32px":e?"40px":"48px","getHeaderFontSize"),s=o(()=>t?"16px":e?"20px":"24px","getSubHeaderFontSize");return te.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"}},te.createElement("div",{style:{height:"89px"}}),te.createElement("div",{style:{display:"flex",justifyContent:"center"}},te.createElement("img",{src:"https://refine.ams3.cdn.digitaloceanspaces.com/welcome-page/welcome-logo.webp",width:"198",height:"54"})),te.createElement("div",{style:{height:e?"270px":"22vw",minHeight:e?"270px":"313px"}}),te.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px",textAlign:"center"}},te.createElement("h1",{style:{fontSize:n(),fontWeight:700,margin:"0px"}},"Welcome Aboard!"),te.createElement("h4",{style:{fontSize:s(),fontWeight:400,margin:"0px"}},"Your configuration is completed.")),te.createElement("div",{style:{height:"64px"}}),te.createElement("div",{style:{display:"grid",gridTemplateColumns:`repeat(${r()})`,justifyContent:"center",gap:"48px",paddingRight:"16px",paddingLeft:"16px",maxWidth:"976px",margin:"auto"}},Ci.map(i=>te.createElement(bi,{key:`welcome-page-${i.title}`,card:i}))),te.createElement("div",{style:{height:"64px"}}))},"WelcomePage"),bi=o(({card:e})=>{let{title:t,description:r,icon:n,link:s}=e,[i,a]=xi(!1);return te.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},te.createElement("div",{style:{display:"flex",alignItems:"center"}},te.createElement("a",{onPointerEnter:()=>a(!0),onPointerLeave:()=>a(!1),style:{display:"flex",alignItems:"center",color:"#fff",textDecoration:"none"},href:s},n,te.createElement("span",{style:{fontSize:"16px",fontWeight:700,marginLeft:"13px",marginRight:"14px"}},t),te.createElement("svg",{style:{transition:"transform 0.5s ease-in-out, opacity 0.2s ease-in-out",...i&&{transform:"translateX(4px)",opacity:1}},width:"12",height:"8",fill:"none",opacity:"0.5",xmlns:"http://www.w3.org/2000/svg"},te.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"})))),te.createElement("span",{style:{fontSize:"12px",opacity:.5,lineHeight:"16px"}},r))},"Card");import{QueryClient as Xn,QueryClientProvider as Mi}from"@tanstack/react-query";import ue from"react";import jn from"react";import{useContext as mt}from"react";var vi="4.40.0",zn=o(()=>{var b;let e=Jr(),t=mt(lt),r=mt(Je),n=mt(jt),s=mt(Gt),{i18nProvider:i}=mt(Ve),a=mt(Wt),u=mt(at),{resources:p}=N(),c=re(),d=!!t.create||!!t.get||!!t.update,y=!!(r!=null&&r.publish)||!!(r!=null&&r.subscribe)||!!(r!=null&&r.unsubscribe),g=!!n.useHistory||!!n.Link||!!n.Prompt||!!n.useLocation||!!n.useParams,T=!!s,P=!!(i!=null&&i.changeLocale)||!!(i!=null&&i.getLocale)||!!(i!=null&&i.translate),D=!!a.close||!!a.open,U=!!u.can,f=(b=c==null?void 0:c.options)==null?void 0:b.projectId;return{providers:{auth:e,auditLog:d,live:y,router:g,data:T,i18n:P,notification:D,accessControl:U},version:vi,resourceCount:p.length,projectId:f}},"useTelemetryData");var Di=o(e=>{try{let t=JSON.stringify(e||{});return typeof btoa<"u"?btoa(t):Buffer.from(t).toString("base64")}catch{return}},"encode"),Li=o(e=>{let t=new Image;t.src=e},"throughImage"),Ei=o(e=>{fetch(e)},"throughFetch"),Ui=o(e=>{typeof Image<"u"?Li(e):typeof fetch<"u"&&Ei(e)},"transport"),_n=o(()=>{let e=zn(),t=jn.useRef(!1);return jn.useEffect(()=>{if(t.current)return;let r=Di(e);r&&(Ui(`https://telemetry.refine.dev/telemetry?payload=${r}`),t.current=!0)},[]),null},"Telemetry");var Zn=o(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},"checkRouterPropMisuse");import Yn from"react";var Jn=o(e=>{let t=Yn.useRef(!1);Yn.useEffect(()=>{t.current===!1&&e&&Zn(e)&&(t.current=!0)},[e])},"useRouterMisuseWarning");var Ii=o(({legacyAuthProvider:e,authProvider:t,dataProvider:r,legacyRouterProvider:n,routerProvider:s,notificationProvider:i,accessControlProvider:a,auditLogProvider:u,resources:p,DashboardPage:c,ReadyPage:d,LoginPage:y,catchAll:g,children:T,liveProvider:P,i18nProvider:D,Title:U,Layout:f,Sider:b,Header:L,Footer:S,OffLayoutArea:x,onLiveEvent:l,options:m})=>{let{optionsWithDefaults:C,disableTelemetryWithDefault:R,reactQueryWithDefaults:h}=Vr({options:m}),I=Lr(()=>{var M;return h.clientConfig instanceof Xn?h.clientConfig:new Xn({...h.clientConfig,defaultOptions:{...h.clientConfig.defaultOptions,queries:{refetchOnWindowFocus:!1,keepPreviousData:!0,...(M=h.clientConfig.defaultOptions)==null?void 0:M.queries}}})},[h.clientConfig]),E=ue.useMemo(()=>typeof i=="function"?i:()=>i??{},[i])();if(Jn(s),n&&!s&&(p??[]).length===0)return d?ue.createElement(d,null):ue.createElement(po,null);let{RouterComponent:k=ue.Fragment}=s?{}:n??{};return ue.createElement(Mi,{client:I},ue.createElement(Tn,{...E},ue.createElement(Po,{...e??{},isProvided:!!e},ue.createElement(Co,{...t??{},isProvided:!!t},ue.createElement(rn,{...r},ue.createElement(nn,{liveProvider:P},ue.createElement(dn,{value:n&&!s?"legacy":"new"},ue.createElement(mn,{router:s},ue.createElement(bn,{...n},ue.createElement(un,{resources:p??[]},ue.createElement(Pn,{i18nProvider:D},ue.createElement(Dn,{...a??{}},ue.createElement(kn,{...u??{}},ue.createElement(to,null,ue.createElement(Ao,{mutationMode:C.mutationMode,warnWhenUnsavedChanges:C.warnWhenUnsavedChanges,syncWithLocation:C.syncWithLocation,Title:U,undoableTimeout:C.undoableTimeout,catchAll:g,DashboardPage:c,LoginPage:y,Layout:f,Sider:b,Footer:S,Header:L,OffLayoutArea:x,hasDashboard:!!c,liveMode:C.liveMode,onLiveEvent:l,options:C},ue.createElement(Bo,null,ue.createElement(k,null,T,!R&&ue.createElement(_n,null),ue.createElement(lo,null))))))))))))))))))},"Refine");import{useEffect as wi,useState as Si}from"react";var en=o(({notification:e})=>{let t=z(),{notificationDispatch:r}=ze(),{open:n}=Ee(),[s,i]=Si(),a=o(()=>{if(e.isRunning===!0&&(e.seconds===0&&e.doMutation(),e.isSilent||n==null||n({key:`${e.id}-${e.resource}-notification`,type:"progress",message:t("notifications.undoable",{seconds:Qt(e.seconds)},`You have ${Qt(e.seconds)} seconds to undo`),cancelMutation:e.cancelMutation,undoableTimeout:Qt(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);i(u)}},"cancelNotification");return wi(()=>{a()},[e]),null},"UndoableQueue");import mo,{useEffect as Ai}from"react";var ki=o(({children:e,Layout:t,Sider:r,Header:n,Title:s,Footer:i,OffLayoutArea:a})=>{let{Layout:u,Footer:p,Header:c,Sider:d,Title:y,OffLayoutArea:g}=re();return mo.createElement(t??u,{Sider:r??d,Header:n??c,Footer:i??p,Title:s??y,OffLayoutArea:a??g},e,mo.createElement(Qi,null))},"LayoutWrapper"),Qi=o(()=>{let{Prompt:e}=ne(),t=z(),{warnWhen:r,setWarnWhen:n}=Nt(),s=o(i=>(i.preventDefault(),i.returnValue=t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),i.returnValue),"warnWhenListener");return Ai(()=>(r&&window.addEventListener("beforeunload",s),window.removeEventListener("beforeunload",s)),[r]),mo.createElement(e,{when:r,message:t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),setWarnWhen:n})},"UnsavedPrompt");import Se from"react";var Fi=o(()=>{let e=le(),[t,r]=Se.useState(void 0);return Se.useEffect(()=>{t&&e(t)},[t]),Se.useCallback(s=>{t||r(s)},[t])},"useDeferredGo");function Vi({redirectOnFail:e=!0,appendCurrentPathToQuery:t=!0,children:r,fallback:n,loading:s}){var C;let i=Y(),a=X(),u=!!(i!=null&&i.isProvided),p=!!(i!=null&&i.isLegacy),c=a==="legacy",d=fe(),y=le(),g=Fi(),{replace:T}=pe(),{useLocation:P}=ne(),D=P(),{isLoading:U,isFetching:f,isSuccess:b,data:{authenticated:L,redirectTo:S}={},refetch:x}=br({v3LegacyAuthProviderCompatible:p});Se.useEffect(()=>{x()},[r,n]);let l=Se.useRef({status:U?"initial":"pending",content:s??null});f?l.current.status="pending":f||(l.current.status="settled");let m=u?p?b:L:!0;if(l.current.status==="settled")if(m)l.current.content=Se.createElement(Se.Fragment,null,r??null);else if(typeof n<"u")l.current.content=Se.createElement(Se.Fragment,null,n);else{let R=`${c?D==null?void 0:D.pathname:d.pathname}`.replace(/(\?.*|#.*)$/,""),h=p?typeof e=="string"?e:"/login":typeof e=="string"?e:S;if(h)if(c){let I=t?`?to=${encodeURIComponent(R)}`:"";T(`${h}${I}`)}else g({to:h,query:t?{to:(C=d.params)!=null&&C.to?d.params.to:y({to:R,options:{keepQuery:!0},type:"path"})}:void 0,type:"replace"})}return u?Se.createElement(Se.Fragment,null,l.current.content):Se.createElement(Se.Fragment,null,r??null)}o(Vi,"Authenticated");import{useEffect as Bi}from"react";var lo=o(()=>{let{useLocation:e}=ne(),{checkAuth:t}=oe(),r=e();return Bi(()=>{t==null||t().catch(()=>!1)},[r==null?void 0:r.pathname]),null},"RouteChangeHandler");import Ut,{useEffect as Ni}from"react";var Ki=o(({resource:e,action:t,params:r,fallback:n,onUnauthorized:s,children:i,...a})=>{let{resource:u,id:p,action:c}=N(e),{identifier:d}=N(),g=o(()=>{let f=(r==null?void 0:r.id)??p;return e&&e!==d?r==null?void 0:r.id:f},"getDefaultId")(),T=e??(u==null?void 0:u.name),P=t??c??"",D=r??{id:g,resource:u},{data:U}=Ln({resource:T,action:P,params:D});return Ni(()=>{s&&(U==null?void 0:U.can)===!1&&s({resource:T,action:P,reason:U==null?void 0:U.reason,params:D})},[U==null?void 0:U.can]),U!=null&&U.can?Ut.isValidElement(i)?Ut.cloneElement(i,a):Ut.createElement(Ut.Fragment,null,i):(U==null?void 0:U.can)===!1?Ut.createElement(Ut.Fragment,null,n??null):null},"CanAccess");import Mt,{useEffect as Hi}from"react";var qn=[`
12
12
  .banner {
13
13
  display: flex;
14
14
  @media (max-width: 1000px) {