@refinedev/core 4.29.0 → 4.30.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 +12 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/iife/index.js +1 -1
- package/dist/iife/index.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @pankod/refine-core
|
|
2
2
|
|
|
3
|
+
## 4.30.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#4742](https://github.com/refinedev/refine/pull/4742) [`61950c8fe18`](https://github.com/refinedev/refine/commit/61950c8fe18ec0dc428aeda1a045c76cd67026a6) Thanks [@aliemir](https://github.com/aliemir)! - Removed `@tanstack/react-query-devtools` package and its usage from refine's core. This means that you will no longer see the dev tools icon in the bottom right corner of your app by default. If you want to use the dev tools, you can install the package (`@tanstack/react-query-devtools`) and use it in your app.
|
|
8
|
+
|
|
9
|
+
`options.reactQuery.devtoolConfig` property has been removed from the `<Refine>` components props. This option will no longer be functional and will be removed in the next major release. If you have any configuration for the dev tools, you can pass it to the `ReactQueryDevtools` component directly.
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#4740](https://github.com/refinedev/refine/pull/4740) [`41018fde9ff`](https://github.com/refinedev/refine/commit/41018fde9ff94407216d82516ad83e1610ce73d0) Thanks [@aliemir](https://github.com/aliemir)! - Use `fetch` for telemetry calls as a fallback for `Image` when it's not available. This fixes an issue where telemetry calls would fail in some environments.
|
|
14
|
+
|
|
3
15
|
## 4.29.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/dist/esm/index.js
CHANGED
|
@@ -8,7 +8,7 @@ See https://refine.dev/docs/api-reference/core/hooks/useForm/#resource`);let q=k
|
|
|
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 i=Qt({resource:P,id:E??"",queryOptions:{enabled:E!==void 0,...p},successNotification:r,errorNotification:o,meta:b,metaData:b,liveMode:n,onLiveEvent:u,dataProviderName:d}),{elapsedTime:f}=j({isLoading:i.isFetching,interval:l==null?void 0:l.interval,onInterval:l==null?void 0:l.onInterval});return{queryResult:i,showId:E,setShowId:A,overtime:{elapsedTime:f}}};import{useEffect as Ea,useState as _r}from"react";import{parse as Ua}from"papaparse";import Ma from"lodash-es/chunk";var vT=({resourceName:e,resource:t,mapData:r=l=>l,paparseOptions:o,batchSize:s=Number.MAX_SAFE_INTEGER,onFinish:a,meta:n,metaData:u,onProgress:d,dataProviderName:p}={})=>{let[l,c]=_r(0),[m,P]=_r(0),[x,C]=_r(!1),{resource:h,identifier:g}=V(t??e),E=K(),A=Gr(),b=kt(),i=E({resource:h,meta:M(n,u)}),f;s===1?f=b:f=A;let T=()=>{P(0),c(0),C(!1)},v=y=>{let D={succeeded:y.filter(L=>L.type==="success"),errored:y.filter(L=>L.type==="error")};a==null||a(D),C(!1)};Ea(()=>{d==null||d({totalAmount:m,processedAmount:l})},[m,l]);let R=({file:y})=>(T(),new Promise(D=>{C(!0),Ua(y,{complete:async({data:L})=>{let w=Yt(L,r);if(P(w.length),s===1){let I=w.map(S=>async()=>({response:await b.mutateAsync({resource:g??"",values:S,successNotification:!1,errorNotification:!1,dataProviderName:p,meta:i,metaData:i}),value:S})),U=await sr(I,({response:S,value:F})=>(c(k=>k+1),{response:[S.data],type:"success",request:[F]}),(S,F)=>({response:[S],type:"error",request:[w[F]]}));D(U)}else{let I=Ma(w,s),U=I.map(F=>async()=>({response:await A.mutateAsync({resource:g??"",values:F,successNotification:!1,errorNotification:!1,dataProviderName:p,meta:i,metaData:i}),value:F,currentBatchLength:F.length})),S=await sr(U,({response:F,currentBatchLength:k,value:G})=>(c(O=>O+k),{response:F.data,type:"success",request:G}),(F,k)=>({response:[F],type:"error",request:I[k]}));D(S)}},...o})}).then(D=>(v(D),D)));return{inputProps:{type:"file",accept:".csv",onChange:y=>{y.target.files&&y.target.files.length>0&&R({file:y.target.files[0]})}},mutationResult:f,isLoading:x,handleChange:R}};import{useCallback as os,useState as Ia}from"react";var ET=({defaultVisible:e=!1}={})=>{let[t,r]=Ia(e),o=os(()=>r(!0),[t]),s=os(()=>r(!1),[t]);return{visible:t,show:o,close:s}};import wa from"react";var Nt=()=>{let e=_(),{resource:t,resources:r}=V(),o=le();return wa.useCallback(({resource:a,action:n,meta:u})=>{var m;let d=a||t;if(!d)return;let l=(m=ye(d,r,e==="legacy").find(P=>P.action===n))==null?void 0:m.route;return l?Re(l,d==null?void 0:d.meta,o,u):void 0},[r,t,o])};var Sa=({resource:e,action:t,meta:r,legacy:o})=>Nt()({resource:e,action:t,meta:r,legacy:o});import Aa,{useContext as Fa}from"react";var nt=()=>{let e=Fa(ze);return e!=null&&e.Link?e.Link:({to:r,...o})=>Aa.createElement("a",{href:r,...o})};import{useContext as ka}from"react";import ss from"react";var _e={useHistory:()=>!1,useLocation:()=>!1,useParams:()=>({}),Prompt:()=>null,Link:()=>null},Qa=ss.createContext(_e),Ht=Qa,ns=({children:e,useHistory:t,useLocation:r,useParams:o,Prompt:s,Link:a,routes:n})=>ss.createElement(Ht.Provider,{value:{useHistory:t??_e.useHistory,useLocation:r??_e.useLocation,useParams:o??_e.useParams,Prompt:s??_e.Prompt,Link:a??_e.Link,routes:n??_e.routes}},e);var oe=()=>{let e=ka(Ht),{useHistory:t,useLocation:r,useParams:o,Prompt:s,Link:a,routes:n}=e??_e;return{useHistory:t,useLocation:r,useParams:o,Prompt:s,Link:a,routes:n}};import{useQuery as Va}from"@tanstack/react-query";import{useContext as Ba}from"react";import as from"react";var Xe=as.createContext({options:{buttons:{enableAccessControl:!0,hideIfUnauthorized:!1}}});var is=({can:e,children:t,options:r})=>as.createElement(Xe.Provider,{value:{can:e,options:r?{...r,buttons:{enableAccessControl:!0,hideIfUnauthorized:!1,...r.buttons}}:{buttons:{enableAccessControl:!0,hideIfUnauthorized:!1}}}},t);var Rt=e=>{if(!e)return;let{icon:t,list:r,edit:o,create:s,show:a,clone:n,children:u,meta:d,options:p,...l}=e,{icon:c,...m}=d??{},{icon:P,...x}=p??{};return{...l,...d?{meta:m}:{},...p?{options:x}:{}}};var us=({action:e,resource:t,params:r,queryOptions:o})=>{let{can:s}=Ba(Xe),{resource:a,...n}=r??{},u=Rt(a),d=Va(["useCan",{action:e,resource:t,params:{...n,resource:u},enabled:o==null?void 0:o.enabled}],()=>(s==null?void 0:s({action:e,resource:t,params:{...n,resource:u}}))??Promise.resolve({can:!0}),{enabled:typeof s<"u",...o,retry:!1});return typeof s>"u"?{data:{can:!0}}:d};import cs from"react";var TR=()=>{let{can:e}=cs.useContext(Xe);return{can:cs.useMemo(()=>e?async({params:o,...s})=>{let a=o!=null&&o.resource?Rt(o.resource):void 0;return e({...s,...o?{params:{...o,resource:a}}:{}})}:void 0,[e])}};import{useCallback as ps,useMemo as Na,useState as jr}from"react";import Ha from"lodash/uniqBy";import Oa from"lodash/debounce";import mr from"lodash/get";var SR=e=>{let[t,r]=jr([]),[o,s]=jr([]),[a,n]=jr([]),{resource:u,sort:d,sorters:p,filters:l=[],optionLabel:c="title",optionValue:m="id",debounce:P=300,successNotification:x,errorNotification:C,defaultValueQueryOptions:h,queryOptions:g,fetchSize:E,pagination:A,hasPagination:b=!1,liveMode:i,defaultValue:f=[],onLiveEvent:T,onSearch:v,liveParams:R,meta:y,metaData:D,dataProviderName:L,overtimeOptions:w}=e,{resource:I,identifier:U}=V(u),F=K()({resource:I,meta:M(y,D)}),k=Array.isArray(f)?f:[f],G=ps(Z=>{n(Z.data.map(q=>({label:mr(q,c),value:mr(q,m)})))},[c,m]),O=h??g,z=Nr({resource:U,ids:k,queryOptions:{...O,enabled:k.length>0&&((O==null?void 0:O.enabled)??!0),onSuccess:Z=>{var q;G(Z),(q=O==null?void 0:O.onSuccess)==null||q.call(O,Z)}},meta:F,metaData:F,liveMode:"off",dataProviderName:L}),X=ps(Z=>{s(Z.data.map(q=>({label:mr(q,c),value:mr(q,m)})))},[c,m]),Q=Ft({resource:U,sorters:M(p,d),filters:l.concat(t),pagination:{current:A==null?void 0:A.current,pageSize:(A==null?void 0:A.pageSize)??E,mode:A==null?void 0:A.mode},hasPagination:b,queryOptions:{...g,onSuccess:Z=>{var q;X(Z),(q=g==null?void 0:g.onSuccess)==null||q.call(g,Z)}},successNotification:x,errorNotification:C,meta:F,metaData:F,liveMode:i,liveParams:R,onLiveEvent:T,dataProviderName:L}),$=Z=>{if(v){r(v(Z));return}if(Z)r([{field:c,operator:"contains",value:Z}]);else{r([]);return}},{elapsedTime:N}=j({isLoading:Q.isFetching||z.isFetching,interval:w==null?void 0:w.interval,onInterval:w==null?void 0:w.onInterval});return{queryResult:Q,defaultValueQueryResult:z,options:Na(()=>Ha([...o,...a],"value"),[o,a]),onSearch:Oa($,P),overtime:{elapsedTime:N}}};import $a,{useState as fr,useEffect as ds}from"react";import ls from"qs";import yr from"lodash/differenceWith";import gr from"lodash/isEqual";import Ga from"warn-once";var ms=[],fs=[];function zR({initialCurrent:e,initialPageSize:t,hasPagination:r=!0,pagination:o,initialSorter:s,permanentSorter:a=fs,defaultSetFilterBehavior:n,initialFilter:u,permanentFilter:d=ms,filters:p,sorters:l,syncWithLocation:c,resource:m,successNotification:P,errorNotification:x,queryOptions:C,liveMode:h,onLiveEvent:g,liveParams:E,meta:A,metaData:b,dataProviderName:i,overtimeOptions:f}={}){var eo,to,ro,oo,so;let{syncWithLocation:T}=Br(),v=c??T,R=Xo(h),y=_(),{useLocation:D}=oe(),{search:L,pathname:w}=D(),I=K(),U=le(),S=((p==null?void 0:p.mode)||"server")==="server",F=((l==null?void 0:l.mode)||"server")==="server",k=r===!1?"off":"server",G=((o==null?void 0:o.mode)??k)!=="off",O=M(o==null?void 0:o.current,e),z=M(o==null?void 0:o.pageSize,t),X=M(A,b),{parsedCurrent:Q,parsedPageSize:$,parsedSorter:N,parsedFilters:Z}=Jt(L??"?"),q=M(p==null?void 0:p.initial,u),he=M(p==null?void 0:p.permanent,d)??ms,je=M(l==null?void 0:l.initial,s),Oe=M(l==null?void 0:l.permanent,a)??fs,$t=M(p==null?void 0:p.defaultBehavior,n)??"merge",ut,ct,qe,pt;v?(ut=((eo=U==null?void 0:U.params)==null?void 0:eo.current)||Q||O||1,ct=((to=U==null?void 0:U.params)==null?void 0:to.pageSize)||$||z||10,qe=((ro=U==null?void 0:U.params)==null?void 0:ro.sorters)||(N.length?N:je),pt=((oo=U==null?void 0:U.params)==null?void 0:oo.filters)||(Z.length?Z:q)):(ut=O||1,ct=z||10,qe=je,pt=q);let{replace:ht}=ue(),et=ce(),{resource:Gt,identifier:tt}=V(m),Wt=I({resource:Gt,meta:X});$a.useEffect(()=>{Ga(typeof tt>"u","useTable: `resource` is not defined.")},[tt]);let[$e,Kt]=fr(tr(Oe,qe??[])),[dt,vt]=fr(er(he,pt??[])),[lt,Dt]=fr(ut),[Ge,de]=fr(ct),Ve=({pagination:{current:fe,pageSize:Me},sorter:zt,filters:_t})=>{if(y==="new")return et({type:"path",options:{keepHash:!0,keepQuery:!0},query:{...G?{current:fe,pageSize:Me}:{},sorters:zt,filters:_t,...ve()}})??"";{let Et=ls.parse(L==null?void 0:L.substring(1)),Vs=Xt({pagination:{pageSize:Me,current:fe},sorters:$e??zt,filters:_t,...Et});return`${w??""}?${Vs??""}`}};ds(()=>{L===""&&(Dt(ut),de(ct),Kt(tr(Oe,qe??[])),vt(er(he,pt??[])))},[L]);let ve=()=>{if(y==="new"){let{sorters:fe,filters:Me,pageSize:zt,current:_t,...Et}=(U==null?void 0:U.params)??{};return Et}else{let{sorter:fe,filters:Me,pageSize:zt,current:_t,...Et}=ls.parse(L,{ignoreQueryPrefix:!0});return Et}};ds(()=>{if(v){let fe=ve();if(y==="new")et({type:"replace",options:{keepQuery:!0},query:{...G?{pageSize:Ge,current:lt}:{},sorters:yr($e,Oe,gr),filters:yr(dt,he,gr)}});else{let Me=Xt({...G?{pagination:{pageSize:Ge,current:lt}}:{},sorters:yr($e,Oe,gr),filters:yr(dt,he,gr),...fe});return ht==null?void 0:ht(`${w}?${Me}`,void 0,{shallow:!0})}}},[v,lt,Ge,$e,dt]);let Be=Ft({resource:tt,hasPagination:r,pagination:{current:lt,pageSize:Ge,mode:o==null?void 0:o.mode},filters:S?yt(he,dt):void 0,sorters:F?qt(Oe,$e):void 0,queryOptions:C,successNotification:P,errorNotification:x,meta:Wt,metaData:Wt,liveMode:R,liveParams:E,onLiveEvent:g,dataProviderName:i}),xe=fe=>{vt(Me=>yt(he,fe,Me))},Ze=fe=>{vt(yt(he,fe))},rt=fe=>{vt(Me=>yt(he,fe(Me)))},ot=(fe,Me=$t)=>{typeof fe=="function"?rt(fe):Me==="replace"?Ze(fe):xe(fe)},Lt=fe=>{Kt(()=>qt(Oe,fe))},{elapsedTime:ks}=j({isLoading:Be.isFetching,interval:f==null?void 0:f.interval,onInterval:f==null?void 0:f.onInterval});return{tableQueryResult:Be,sorters:$e,setSorters:Lt,sorter:$e,setSorter:Lt,filters:dt,setFilters:ot,current:lt,setCurrent:Dt,pageSize:Ge,setPageSize:de,pageCount:Ge?Math.ceil((((so=Be.data)==null?void 0:so.total)??0)/Ge):1,createLinkForSyncWithLocation:Ve,overtime:{elapsedTime:ks}}}import{useContext as Ts}from"react";import{useMutation as Rs,useQueryClient as Wa}from"@tanstack/react-query";import ys from"react";var at=ys.createContext({}),gs=({create:e,get:t,update:r,children:o})=>ys.createElement(at.Provider,{value:{create:e,get:t,update:r}},o);var we=({logMutationOptions:e,renameMutationOptions:t}={})=>{let r=Wa(),o=Ts(at),s=W(),{resources:a}=Ts(Je),{data:n,refetch:u,isLoading:d}=Tr({v3LegacyAuthProviderCompatible:!!(s!=null&&s.isLegacy),queryOptions:{enabled:!!o}}),p=Rs(async c=>{var C,h,g,E,A;let m=pe(c.resource,a),P=M((C=m==null?void 0:m.meta)==null?void 0:C.audit,(h=m==null?void 0:m.options)==null?void 0:h.audit,(E=(g=m==null?void 0:m.options)==null?void 0:g.auditLog)==null?void 0:E.permissions);if(P&&!Ur(P,c.action))return;let x;return d&&(x=await u()),await((A=o.create)==null?void 0:A.call(o,{...c,author:n??(x==null?void 0:x.data)}))},e),l=Rs(async c=>{var m;return await((m=o.update)==null?void 0:m.call(o,c))},{onSuccess:c=>{if(c!=null&&c.resource){let m=ee(c==null?void 0:c.resource);r.invalidateQueries(m.logList())}},...t});return{log:p,rename:l}};import{useContext as Ka}from"react";import{useQuery as za}from"@tanstack/react-query";var mP=({resource:e,action:t,meta:r,author:o,metaData:s,queryOptions:a})=>{let{get:n}=Ka(at),u=ee(e,void 0,s);return za(u.logList(r),()=>(n==null?void 0:n({resource:e,action:t,author:o,meta:r,metaData:s}))??Promise.resolve([]),{enabled:typeof n<"u",...a,retry:!1})};import{useCallback as _a}from"react";import{useQueryClient as ja}from"@tanstack/react-query";var Se=()=>{let{resources:e}=V(),t=ja();return _a(({resource:o,dataProviderName:s,invalidates:a,id:n})=>{if(a===!1)return;let u=ee(o,H(o,s,e));a.forEach(d=>{switch(d){case"all":t.invalidateQueries(u.all);break;case"list":t.invalidateQueries(u.list());break;case"many":t.invalidateQueries(u.many());break;case"resourceAll":t.invalidateQueries(u.resourceAll);break;case"detail":t.invalidateQueries(u.detail(n||""));break;default:break}})},[])};import{useContext as Za}from"react";import Ya from"warn-once";var FP=({meta:e={}}={})=>{let t=_(),{i18nProvider:r}=Za(Ae),o=le(),s=B(),{resources:a,resource:n,action:u}=V(),{options:{textTransformers:d}}=te(),p=[];if(!(n!=null&&n.name))return{breadcrumbs:p};let l=c=>{var P,x,C,h,g,E;let m=typeof c=="string"?pe(c,a,t==="legacy")??{name:c}:c;if(m){let A=M((P=m==null?void 0:m.meta)==null?void 0:P.parent,m==null?void 0:m.parentName);A&&l(A);let b=ye(m,a,t==="legacy").find(T=>T.action==="list"),i=(x=b==null?void 0:b.resource)!=null&&x.list?b==null?void 0:b.route:void 0,f=i?t==="legacy"?i:Re(i,m==null?void 0:m.meta,o,e):void 0;p.push({label:M((C=m.meta)==null?void 0:C.label,(h=m.options)==null?void 0:h.label)??s(`${m.name}.${m.name}`,d.humanize(m.name)),href:f,icon:M((g=m.meta)==null?void 0:g.icon,(E=m.options)==null?void 0:E.icon,m.icon)})}};if(l(n),u&&u!=="list"){let c=`actions.${u}`,m=s(c);typeof r<"u"&&m===c?(Ya(!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`),p.push({label:s(`buttons.${u}`,d.humanize(u))})):p.push({label:s(c,d.humanize(u))})}return{breadcrumbs:p}};import Zr from"react";var Pt=(e,t,r=!1)=>{let o=[],s=Ee(e,t);for(;s;)o.push(s),s=Ee(s,t);return o.reverse(),`/${[...o,e].map(n=>Te((r?n.route:void 0)??n.identifier??n.name)).join("/").replace(/^\//,"")}`};var Ps=(e,t=!1)=>{let r={item:{name:"__root__"},children:{}};e.forEach(s=>{let a=[],n=Ee(s,e);for(;n;)a.push(n),n=Ee(n,e);a.reverse();let u=r;a.forEach(p=>{let l=(t?p.route:void 0)??p.identifier??p.name;u.children[l]||(u.children[l]={item:p,children:{}}),u=u.children[l]});let d=(t?s.route:void 0)??s.identifier??s.name;u.children[d]||(u.children[d]={item:s,children:{}})});let o=s=>{let a=[];return Object.keys(s.children).forEach(n=>{let u=Pt(s.children[n].item,e,t),d={...s.children[n].item,key:u,children:o(s.children[n])};a.push(d)}),a};return o(r)};var xs=e=>e.split("?")[0].split("#")[0].replace(/(.+)(\/$)/,"$1"),Ja=({meta:e,hideOnMissingParameter:t}={hideOnMissingParameter:!0})=>{let r=B(),o=Nt(),s=_(),{resource:a,resources:n}=V(),{pathname:u}=le(),{useLocation:d}=oe(),{pathname:p}=d(),l=gt(),m=`/${((s==="legacy"?xs(p):u?xs(u):void 0)??"").replace(/^\//,"")}`,P=a?Pt(a,n,s==="legacy"):m??"",x=Zr.useMemo(()=>{if(!a)return[];let g=Ee(a,n),E=[Pt(a,n)];for(;g;)E.push(Pt(g,n)),g=Ee(g,n);return E},[]),C=Zr.useCallback(g=>{var A,b,i,f,T,v;if((((A=g==null?void 0:g.meta)==null?void 0:A.hide)??((b=g==null?void 0:g.options)==null?void 0:b.hide))||!(g!=null&&g.list)&&g.children.length===0)return;let E=g.list?o({resource:g,action:"list",legacy:s==="legacy",meta:e}):void 0;if(!(t&&E&&E.match(/(\/|^):(.+?)(\/|$){1}/)))return{...g,route:E,icon:M((i=g.meta)==null?void 0:i.icon,(f=g.options)==null?void 0:f.icon,g.icon),label:M((T=g==null?void 0:g.meta)==null?void 0:T.label,(v=g==null?void 0:g.options)==null?void 0:v.label)??r(`${g.name}.${g.name}`,l(g.name,"plural"))}},[s,e,r,t]),h=Zr.useMemo(()=>{let g=Ps(n,s==="legacy"),E=A=>A.flatMap(b=>{let i=E(b.children),f=C({...b,children:i});return f?[f]:[]});return E(g)},[n,s,C]);return{defaultOpenKeys:x,selectedKey:P,menuItems:h}};var K=()=>{let{params:e}=le();return({resource:r,meta:o}={})=>{let{meta:s}=Rt(r)??{meta:{}},{filters:a,sorters:n,current:u,pageSize:d,...p}=e??{};return{...s,...p,...o}}};var ei=()=>{let[e,t]=qa(),r=B(),{push:o}=ue(),s=ce(),a=_(),{resource:n,action:u}=V();return Xa(()=>{n&&u&&t(r("pages.error.info",{action:u,resource:n.name},`You may have forgotten to add the "${u}" component to "${n.name}" resource.`))},[n,u]),Ot.createElement(Ot.Fragment,null,Ot.createElement("h1",null,r("pages.error.404",void 0,"Sorry, the page you visited does not exist.")),e&&Ot.createElement("p",null,e),Ot.createElement("button",{onClick:()=>{a==="legacy"?o("/"):s({to:"/"})}},r("pages.error.backHome",void 0,"Back Home")))};import Pe,{useState as Cs}from"react";var Fr=()=>{let[e,t]=Cs(""),[r,o]=Cs(""),s=B(),a=W(),{mutate:n}=Ut({v3LegacyAuthProviderCompatible:!!(a!=null&&a.isLegacy)});return Pe.createElement(Pe.Fragment,null,Pe.createElement("h1",null,s("pages.login.title","Sign in your account")),Pe.createElement("form",{onSubmit:u=>{u.preventDefault(),n({username:e,password:r})}},Pe.createElement("table",null,Pe.createElement("tbody",null,Pe.createElement("tr",null,Pe.createElement("td",null,s("pages.login.username",void 0,"username"),":"),Pe.createElement("td",null,Pe.createElement("input",{type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",autoFocus:!0,required:!0,value:e,onChange:u=>t(u.target.value)}))),Pe.createElement("tr",null,Pe.createElement("td",null,s("pages.login.password",void 0,"password"),":"),Pe.createElement("td",null,Pe.createElement("input",{type:"password",required:!0,size:20,value:r,onChange:u=>o(u.target.value)}))))),Pe.createElement("br",null),Pe.createElement("input",{type:"submit",value:"login"})))};import xt from"react";import me,{useState as Yr}from"react";var bs=({providers:e,registerLink:t,forgotPasswordLink:r,rememberMe:o,contentProps:s,wrapperProps:a,renderContent:n,formProps:u,title:d=void 0})=>{let p=_(),l=nt(),{Link:c}=oe(),m=p==="legacy"?c:l,[P,x]=Yr(""),[C,h]=Yr(""),[g,E]=Yr(!1),A=B(),b=W(),{mutate:i}=Ut({v3LegacyAuthProviderCompatible:!!(b!=null&&b.isLegacy)}),f=(R,y)=>me.createElement(m,{to:R},y),T=()=>e?e.map(R=>me.createElement("div",{key:R.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},me.createElement("button",{onClick:()=>i({providerName:R.name}),style:{display:"flex",alignItems:"center"}},R==null?void 0:R.icon,R.label??me.createElement("label",null,R.label)))):null,v=me.createElement("div",{...s},me.createElement("h1",{style:{textAlign:"center"}},A("pages.login.title","Sign in to your account")),T(),me.createElement("hr",null),me.createElement("form",{onSubmit:R=>{R.preventDefault(),i({email:P,password:C,remember:g})},...u},me.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},me.createElement("label",{htmlFor:"email-input"},A("pages.login.fields.email","Email")),me.createElement("input",{id:"email-input",name:"email",type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:P,onChange:R=>x(R.target.value)}),me.createElement("label",{htmlFor:"password-input"},A("pages.login.fields.password","Password")),me.createElement("input",{id:"password-input",type:"password",name:"password",required:!0,size:20,value:C,onChange:R=>h(R.target.value)}),o??me.createElement(me.Fragment,null,me.createElement("label",{htmlFor:"remember-me-input"},A("pages.login.buttons.rememberMe","Remember me"),me.createElement("input",{id:"remember-me-input",name:"remember",type:"checkbox",size:20,checked:g,value:g.toString(),onChange:()=>{E(!g)}}))),me.createElement("br",null),r??f("/forgot-password",A("pages.login.buttons.forgotPassword","Forgot password?")),me.createElement("input",{type:"submit",value:A("pages.login.signin","Sign in")}),t??me.createElement("span",null,A("pages.login.buttons.noAccount","Don\u2019t have an account?")," ",f("/register",A("pages.login.register","Sign up"))))));return me.createElement("div",{...a},n?n(v,d):v)};import ge,{useState as hs}from"react";var vs=({providers:e,loginLink:t,wrapperProps:r,contentProps:o,renderContent:s,formProps:a,title:n=void 0})=>{let u=_(),d=nt(),{Link:p}=oe(),l=u==="legacy"?p:d,[c,m]=hs(""),[P,x]=hs(""),C=B(),h=W(),{mutate:g,isLoading:E}=Cr({v3LegacyAuthProviderCompatible:!!(h!=null&&h.isLegacy)}),A=(f,T)=>ge.createElement(l,{to:f},T),b=()=>e?e.map(f=>ge.createElement("div",{key:f.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},ge.createElement("button",{onClick:()=>g({providerName:f.name}),style:{display:"flex",alignItems:"center"}},f==null?void 0:f.icon,f.label??ge.createElement("label",null,f.label)))):null,i=ge.createElement("div",{...o},ge.createElement("h1",{style:{textAlign:"center"}},C("pages.register.title","Sign up for your account")),b(),ge.createElement("hr",null),ge.createElement("form",{onSubmit:f=>{f.preventDefault(),g({email:c,password:P})},...a},ge.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},ge.createElement("label",{htmlFor:"email-input"},C("pages.register.fields.email","Email")),ge.createElement("input",{id:"email-input",name:"email",type:"email",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:c,onChange:f=>m(f.target.value)}),ge.createElement("label",{htmlFor:"password-input"},C("pages.register.fields.password","Password")),ge.createElement("input",{id:"password-input",name:"password",type:"password",required:!0,size:20,value:P,onChange:f=>x(f.target.value)}),ge.createElement("input",{type:"submit",value:C("pages.register.buttons.submit","Sign up"),disabled:E}),t??ge.createElement(ge.Fragment,null,ge.createElement("span",null,C("pages.login.buttons.haveAccount","Have an account?")," ",A("/login",C("pages.login.signin","Sign in")))))));return ge.createElement("div",{...r},s?s(i,n):i)};import Fe,{useState as ti}from"react";var Ds=({loginLink:e,wrapperProps:t,contentProps:r,renderContent:o,formProps:s,title:a=void 0})=>{let n=B(),u=_(),d=nt(),{Link:p}=oe(),l=u==="legacy"?p:d,[c,m]=ti(""),{mutate:P,isLoading:x}=hr(),C=(g,E)=>Fe.createElement(l,{to:g},E),h=Fe.createElement("div",{...r},Fe.createElement("h1",{style:{textAlign:"center"}},n("pages.forgotPassword.title","Forgot your password?")),Fe.createElement("hr",null),Fe.createElement("form",{onSubmit:g=>{g.preventDefault(),P({email:c})},...s},Fe.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Fe.createElement("label",{htmlFor:"email-input"},n("pages.forgotPassword.fields.email","Email")),Fe.createElement("input",{id:"email-input",name:"email",type:"mail",autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:c,onChange:g=>m(g.target.value)}),Fe.createElement("input",{type:"submit",disabled:x,value:n("pages.forgotPassword.buttons.submit","Send reset instructions")}),Fe.createElement("br",null),e??Fe.createElement("span",null,n("pages.register.buttons.haveAccount","Have an account? ")," ",C("/login",n("pages.login.signin","Sign in"))))));return Fe.createElement("div",{...t},o?o(h,a):h)};import ke,{useState as Ls}from"react";var Es=({wrapperProps:e,contentProps:t,renderContent:r,formProps:o,title:s=void 0})=>{let a=B(),n=W(),{mutate:u,isLoading:d}=Dr({v3LegacyAuthProviderCompatible:!!(n!=null&&n.isLegacy)}),[p,l]=Ls(""),[c,m]=Ls(""),P=ke.createElement("div",{...t},ke.createElement("h1",{style:{textAlign:"center"}},a("pages.updatePassword.title","Update Password")),ke.createElement("hr",null),ke.createElement("form",{onSubmit:x=>{x.preventDefault(),u({password:p,confirmPassword:c})},...o},ke.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},ke.createElement("label",{htmlFor:"password-input"},a("pages.updatePassword.fields.password","New Password")),ke.createElement("input",{id:"password-input",name:"password",type:"password",required:!0,size:20,value:p,onChange:x=>l(x.target.value)}),ke.createElement("label",{htmlFor:"confirm-password-input"},a("pages.updatePassword.fields.confirmPassword","Confirm New Password")),ke.createElement("input",{id:"confirm-password-input",name:"confirmPassword",type:"password",required:!0,size:20,value:c,onChange:x=>m(x.target.value)}),ke.createElement("input",{type:"submit",disabled:d,value:a("pages.updatePassword.buttons.submit","Update")}))));return ke.createElement("div",{...e},r?r(P,s):P)};var ri=e=>{let{type:t}=e;return xt.createElement(xt.Fragment,null,(()=>{switch(t){case"register":return xt.createElement(vs,{...e});case"forgotPassword":return xt.createElement(Ds,{...e});case"updatePassword":return xt.createElement(Es,{...e});default:return xt.createElement(bs,{...e})}})())};import Le from"react";var Jr=()=>Le.createElement(Le.Fragment,null,Le.createElement("h1",null,"Welcome on board"),Le.createElement("p",null,"Your configuration is completed."),Le.createElement("p",null,"Now you can get started by adding your resources to the"," ",Le.createElement("code",null,"`resources`")," property of ",Le.createElement("code",null,"`<Refine>`")),Le.createElement("div",{style:{display:"flex",gap:8}},Le.createElement("a",{href:"https://refine.dev",target:"_blank",rel:"noreferrer"},Le.createElement("button",null,"Documentation")),Le.createElement("a",{href:"https://refine.dev/examples",target:"_blank",rel:"noreferrer"},Le.createElement("button",null,"Examples")),Le.createElement("a",{href:"https://discord.gg/refine",target:"_blank",rel:"noreferrer"},Le.createElement("button",null,"Community"))));import J,{useState as oi}from"react";var si=[{title:"Documentation",description:"Learn about the technical details of using refine in your projects.",link:"https://refine.dev/",icon:J.createElement("svg",{width:"14",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},J.createElement("path",{d:"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V5a1 1 0 0 0-1-1H3a1 1 0 0 1 0-2h10a1 1 0 1 0 0-2H2Z",fill:"#fff"}))},{title:"Tutorial",description:"Learn how to use refine by building a fully-functioning CRUD app, from scratch to full launch.",link:"https://refine.dev/docs/tutorial/introduction/index/",icon:J.createElement("svg",{width:"16",height:"14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},J.createElement("path",{d:"M0 4.573c0-.475.163-.948.53-1.25a4.57 4.57 0 0 1 .854-.553L5.956.485a4.571 4.571 0 0 1 4.088 0l4.572 2.285c.308.154.594.34.853.553.306.251.47.62.517 1.01.01.055.014.112.014.169v6.5a1 1 0 0 1-2 0V6.684l-3.956 1.978a4.571 4.571 0 0 1-4.088 0L1.384 6.376a4.57 4.57 0 0 1-.853-.553C.163 5.522 0 5.05 0 4.573Z",fill:"#fff"}),J.createElement("path",{d:"M5.061 13.305 3 12.274V9.42l2.061 1.031a6.571 6.571 0 0 0 5.878 0L13 9.421v2.853l-2.061 1.03a6.571 6.571 0 0 1-5.878 0Z",fill:"#fff"}))},{title:"Examples",description:"A collection of reference applications you can use as a starting point.",link:"https://refine.dev/examples",icon:J.createElement("svg",{width:"16",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},J.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4H0V2Zm3 2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",fill:"#fff"}),J.createElement("path",{d:"M0 14V8h16v6a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2Z",fill:"#fff"}))},{title:"Community",description:"Join our Discord community and keep up with the latest news.",link:"https://discord.gg/refine",icon:J.createElement("svg",{width:"16",height:"12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},J.createElement("path",{d:"M13.553 1.005A13.334 13.334 0 0 0 10.253 0c-.156.276-.298.56-.423.85a12.42 12.42 0 0 0-3.664 0A8.975 8.975 0 0 0 5.744 0 13.43 13.43 0 0 0 2.44 1.007C.351 4.066-.215 7.05.068 9.99A13.36 13.36 0 0 0 4.116 12c.328-.436.618-.9.867-1.384a8.647 8.647 0 0 1-1.365-.645c.115-.082.227-.167.335-.249a9.594 9.594 0 0 0 8.094 0c.11.089.222.173.335.25-.436.254-.894.47-1.368.646.249.484.539.946.867 1.382a13.3 13.3 0 0 0 4.051-2.01c.332-3.41-.568-6.365-2.379-8.985Zm-8.21 7.176c-.79 0-1.442-.709-1.442-1.58 0-.872.63-1.587 1.439-1.587s1.456.715 1.442 1.586c-.014.872-.636 1.58-1.44 1.58Zm5.315 0c-.79 0-1.44-.709-1.44-1.58 0-.872.63-1.587 1.44-1.587.81 0 1.452.715 1.438 1.586-.014.872-.634 1.58-1.438 1.58Z",fill:"#fff"}))}],ni=()=>{let e=ur("(max-width: 1010px)"),t=ur("(max-width: 650px)"),r=()=>t?"1, 280px":e?"2, 280px":"4, 208px",o=()=>t?"32px":e?"40px":"48px",s=()=>t?"16px":e?"20px":"24px";return J.createElement("div",{style:{backgroundImage:"url(https://refine.ams3.cdn.digitaloceanspaces.com/welcome-page/welcome-page.webp)",backgroundPosition:"center top",backgroundSize:"cover",backgroundRepeat:"no-repeat",minHeight:"100vh",backgroundColor:"#0D0D12",fontFamily:"Arial",color:"#FFFFFF"}},J.createElement("div",{style:{height:"89px"}}),J.createElement("div",{style:{display:"flex",justifyContent:"center"}},J.createElement("img",{src:"https://refine.ams3.cdn.digitaloceanspaces.com/welcome-page/welcome-logo.webp",width:"198",height:"54"})),J.createElement("div",{style:{height:e?"270px":"22vw",minHeight:e?"270px":"313px"}}),J.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px",textAlign:"center"}},J.createElement("h1",{style:{fontSize:o(),fontWeight:700,margin:"0px"}},"Welcome Aboard!"),J.createElement("h4",{style:{fontSize:s(),fontWeight:400,margin:"0px"}},"Your configuration is completed.")),J.createElement("div",{style:{height:"64px"}}),J.createElement("div",{style:{display:"grid",gridTemplateColumns:`repeat(${r()})`,justifyContent:"center",gap:"48px",paddingRight:"16px",paddingLeft:"16px",maxWidth:"976px",margin:"auto"}},si.map(a=>J.createElement(ai,{key:`welcome-page-${a.title}`,card:a}))),J.createElement("div",{style:{height:"64px"}}))},ai=({card:e})=>{let{title:t,description:r,icon:o,link:s}=e,[a,n]=oi(!1);return J.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},J.createElement("div",{style:{display:"flex",alignItems:"center"}},J.createElement("a",{onPointerEnter:()=>n(!0),onPointerLeave:()=>n(!1),style:{display:"flex",alignItems:"center",color:"#fff",textDecoration:"none"},href:s},o,J.createElement("span",{style:{fontSize:"16px",fontWeight:700,marginLeft:"13px",marginRight:"14px"}},t),J.createElement("svg",{style:{transition:"transform 0.5s ease-in-out, opacity 0.2s ease-in-out",...a&&{transform:"translateX(4px)",opacity:1}},width:"12",height:"8",fill:"none",opacity:"0.5",xmlns:"http://www.w3.org/2000/svg"},J.createElement("path",{d:"M7.293.293a1 1 0 0 1 1.414 0l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L8.586 5H1a1 1 0 0 1 0-2h7.586L7.293 1.707a1 1 0 0 1 0-1.414Z",fill:"#fff"})))),J.createElement("span",{style:{fontSize:"12px",opacity:.5,lineHeight:"16px"}},r))};import{QueryClient as Fs,QueryClientProvider as li}from"@tanstack/react-query";import ae from"react";import Ms from"react";import{useContext as it}from"react";var ii="4.29.0",Us=()=>{var E;let e=Lr(),t=it(at),r=it(Ke),o=it(Ht),s=it(Vt),{i18nProvider:a}=it(Ae),n=it(Bt),u=it(Xe),{resources:d}=V(),p=te(),l=!!t.create||!!t.get||!!t.update,c=!!(r!=null&&r.publish)||!!(r!=null&&r.subscribe)||!!(r!=null&&r.unsubscribe),m=!!o.useHistory||!!o.Link||!!o.Prompt||!!o.useLocation||!!o.useParams,P=!!s,x=!!(a!=null&&a.changeLocale)||!!(a!=null&&a.getLocale)||!!(a!=null&&a.translate),C=!!n.close||!!n.open,h=!!u.can,g=(E=p==null?void 0:p.options)==null?void 0:E.projectId;return{providers:{auth:e,auditLog:l,live:c,router:m,data:P,i18n:x,notification:C,accessControl:h},version:ii,resourceCount:d.length,projectId:g}};var ui=e=>{try{let t=JSON.stringify(e||{});return typeof btoa<"u"?btoa(t):Buffer.from(t).toString("base64")}catch{return}},ci=e=>{let t=new Image;t.src=e},pi=e=>{fetch(e)},di=e=>{typeof Image<"u"?ci(e):typeof fetch<"u"&&pi(e)},Is=()=>{let e=Us(),t=Ms.useRef(!1);return Ms.useEffect(()=>{if(t.current)return;let r=ui(e);r&&(di(`https://telemetry.refine.dev/telemetry?payload=${r}`),t.current=!0)},[]),null};import mi from"warn-once";var ws=e=>{let t=["go","parse","back","Link"],r=Object.keys(e).filter(s=>!t.includes(s));return r.length>0?(console.warn(`Unsupported properties are found in \`routerProvider\` prop. You provided \`${r.join(", ")}\`. Supported properties are \`${t.join(", ")}\`. You may wanted to use \`legacyRouterProvider\` prop instead.`),!0):!1};import Ss from"react";var As=e=>{let t=Ss.useRef(!1);Ss.useEffect(()=>{t.current===!1&&e&&ws(e)&&(t.current=!0)},[e])};var fi=({legacyAuthProvider:e,authProvider:t,dataProvider:r,legacyRouterProvider:o,routerProvider:s,notificationProvider:a,accessControlProvider:n,auditLogProvider:u,resources:d,DashboardPage:p,ReadyPage:l,LoginPage:c,catchAll:m,children:P,liveProvider:x,i18nProvider:C,Title:h,Layout:g,Sider:E,Header:A,Footer:b,OffLayoutArea:i,onLiveEvent:f,options:T})=>{var U;let{optionsWithDefaults:v,disableTelemetryWithDefault:R,reactQueryWithDefaults:y}=Qr({options:T}),D=lr(()=>{var S;return y.clientConfig instanceof Fs?y.clientConfig:new Fs({...y.clientConfig,defaultOptions:{...y.clientConfig.defaultOptions,queries:{refetchOnWindowFocus:!1,keepPreviousData:!0,...(S=y.clientConfig.defaultOptions)==null?void 0:S.queries}}})},[y.clientConfig]),w=ae.useMemo(()=>typeof a=="function"?a:()=>a??{},[a])();if(As(s),o&&!s&&(d??[]).length===0)return l?ae.createElement(l,null):ae.createElement(Jr,null);let{RouterComponent:I=ae.Fragment}=s?{}:o??{};return typeof window<"u"&&((U=window==null?void 0:window.location)==null?void 0:U.hostname)==="localhost"&&mi(!0,`%c
|
|
11
|
+
For more information, see https://refine.dev/docs/api-reference/core/hooks/useBreadcrumb/#i18n-support`),p.push({label:s(`buttons.${u}`,d.humanize(u))})):p.push({label:s(c,d.humanize(u))})}return{breadcrumbs:p}};import Zr from"react";var Pt=(e,t,r=!1)=>{let o=[],s=Ee(e,t);for(;s;)o.push(s),s=Ee(s,t);return o.reverse(),`/${[...o,e].map(n=>Te((r?n.route:void 0)??n.identifier??n.name)).join("/").replace(/^\//,"")}`};var Ps=(e,t=!1)=>{let r={item:{name:"__root__"},children:{}};e.forEach(s=>{let a=[],n=Ee(s,e);for(;n;)a.push(n),n=Ee(n,e);a.reverse();let u=r;a.forEach(p=>{let l=(t?p.route:void 0)??p.identifier??p.name;u.children[l]||(u.children[l]={item:p,children:{}}),u=u.children[l]});let d=(t?s.route:void 0)??s.identifier??s.name;u.children[d]||(u.children[d]={item:s,children:{}})});let o=s=>{let a=[];return Object.keys(s.children).forEach(n=>{let u=Pt(s.children[n].item,e,t),d={...s.children[n].item,key:u,children:o(s.children[n])};a.push(d)}),a};return o(r)};var xs=e=>e.split("?")[0].split("#")[0].replace(/(.+)(\/$)/,"$1"),Ja=({meta:e,hideOnMissingParameter:t}={hideOnMissingParameter:!0})=>{let r=B(),o=Nt(),s=_(),{resource:a,resources:n}=V(),{pathname:u}=le(),{useLocation:d}=oe(),{pathname:p}=d(),l=gt(),m=`/${((s==="legacy"?xs(p):u?xs(u):void 0)??"").replace(/^\//,"")}`,P=a?Pt(a,n,s==="legacy"):m??"",x=Zr.useMemo(()=>{if(!a)return[];let g=Ee(a,n),E=[Pt(a,n)];for(;g;)E.push(Pt(g,n)),g=Ee(g,n);return E},[]),C=Zr.useCallback(g=>{var A,b,i,f,T,v;if((((A=g==null?void 0:g.meta)==null?void 0:A.hide)??((b=g==null?void 0:g.options)==null?void 0:b.hide))||!(g!=null&&g.list)&&g.children.length===0)return;let E=g.list?o({resource:g,action:"list",legacy:s==="legacy",meta:e}):void 0;if(!(t&&E&&E.match(/(\/|^):(.+?)(\/|$){1}/)))return{...g,route:E,icon:M((i=g.meta)==null?void 0:i.icon,(f=g.options)==null?void 0:f.icon,g.icon),label:M((T=g==null?void 0:g.meta)==null?void 0:T.label,(v=g==null?void 0:g.options)==null?void 0:v.label)??r(`${g.name}.${g.name}`,l(g.name,"plural"))}},[s,e,r,t]),h=Zr.useMemo(()=>{let g=Ps(n,s==="legacy"),E=A=>A.flatMap(b=>{let i=E(b.children),f=C({...b,children:i});return f?[f]:[]});return E(g)},[n,s,C]);return{defaultOpenKeys:x,selectedKey:P,menuItems:h}};var K=()=>{let{params:e}=le();return({resource:r,meta:o}={})=>{let{meta:s}=Rt(r)??{meta:{}},{filters:a,sorters:n,current:u,pageSize:d,...p}=e??{};return{...s,...p,...o}}};var ei=()=>{let[e,t]=qa(),r=B(),{push:o}=ue(),s=ce(),a=_(),{resource:n,action:u}=V();return Xa(()=>{n&&u&&t(r("pages.error.info",{action:u,resource:n.name},`You may have forgotten to add the "${u}" component to "${n.name}" resource.`))},[n,u]),Ot.createElement(Ot.Fragment,null,Ot.createElement("h1",null,r("pages.error.404",void 0,"Sorry, the page you visited does not exist.")),e&&Ot.createElement("p",null,e),Ot.createElement("button",{onClick:()=>{a==="legacy"?o("/"):s({to:"/"})}},r("pages.error.backHome",void 0,"Back Home")))};import Pe,{useState as Cs}from"react";var Fr=()=>{let[e,t]=Cs(""),[r,o]=Cs(""),s=B(),a=W(),{mutate:n}=Ut({v3LegacyAuthProviderCompatible:!!(a!=null&&a.isLegacy)});return Pe.createElement(Pe.Fragment,null,Pe.createElement("h1",null,s("pages.login.title","Sign in your account")),Pe.createElement("form",{onSubmit:u=>{u.preventDefault(),n({username:e,password:r})}},Pe.createElement("table",null,Pe.createElement("tbody",null,Pe.createElement("tr",null,Pe.createElement("td",null,s("pages.login.username",void 0,"username"),":"),Pe.createElement("td",null,Pe.createElement("input",{type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",autoFocus:!0,required:!0,value:e,onChange:u=>t(u.target.value)}))),Pe.createElement("tr",null,Pe.createElement("td",null,s("pages.login.password",void 0,"password"),":"),Pe.createElement("td",null,Pe.createElement("input",{type:"password",required:!0,size:20,value:r,onChange:u=>o(u.target.value)}))))),Pe.createElement("br",null),Pe.createElement("input",{type:"submit",value:"login"})))};import xt from"react";import me,{useState as Yr}from"react";var bs=({providers:e,registerLink:t,forgotPasswordLink:r,rememberMe:o,contentProps:s,wrapperProps:a,renderContent:n,formProps:u,title:d=void 0})=>{let p=_(),l=nt(),{Link:c}=oe(),m=p==="legacy"?c:l,[P,x]=Yr(""),[C,h]=Yr(""),[g,E]=Yr(!1),A=B(),b=W(),{mutate:i}=Ut({v3LegacyAuthProviderCompatible:!!(b!=null&&b.isLegacy)}),f=(R,y)=>me.createElement(m,{to:R},y),T=()=>e?e.map(R=>me.createElement("div",{key:R.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},me.createElement("button",{onClick:()=>i({providerName:R.name}),style:{display:"flex",alignItems:"center"}},R==null?void 0:R.icon,R.label??me.createElement("label",null,R.label)))):null,v=me.createElement("div",{...s},me.createElement("h1",{style:{textAlign:"center"}},A("pages.login.title","Sign in to your account")),T(),me.createElement("hr",null),me.createElement("form",{onSubmit:R=>{R.preventDefault(),i({email:P,password:C,remember:g})},...u},me.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},me.createElement("label",{htmlFor:"email-input"},A("pages.login.fields.email","Email")),me.createElement("input",{id:"email-input",name:"email",type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:P,onChange:R=>x(R.target.value)}),me.createElement("label",{htmlFor:"password-input"},A("pages.login.fields.password","Password")),me.createElement("input",{id:"password-input",type:"password",name:"password",required:!0,size:20,value:C,onChange:R=>h(R.target.value)}),o??me.createElement(me.Fragment,null,me.createElement("label",{htmlFor:"remember-me-input"},A("pages.login.buttons.rememberMe","Remember me"),me.createElement("input",{id:"remember-me-input",name:"remember",type:"checkbox",size:20,checked:g,value:g.toString(),onChange:()=>{E(!g)}}))),me.createElement("br",null),r??f("/forgot-password",A("pages.login.buttons.forgotPassword","Forgot password?")),me.createElement("input",{type:"submit",value:A("pages.login.signin","Sign in")}),t??me.createElement("span",null,A("pages.login.buttons.noAccount","Don\u2019t have an account?")," ",f("/register",A("pages.login.register","Sign up"))))));return me.createElement("div",{...a},n?n(v,d):v)};import ge,{useState as hs}from"react";var vs=({providers:e,loginLink:t,wrapperProps:r,contentProps:o,renderContent:s,formProps:a,title:n=void 0})=>{let u=_(),d=nt(),{Link:p}=oe(),l=u==="legacy"?p:d,[c,m]=hs(""),[P,x]=hs(""),C=B(),h=W(),{mutate:g,isLoading:E}=Cr({v3LegacyAuthProviderCompatible:!!(h!=null&&h.isLegacy)}),A=(f,T)=>ge.createElement(l,{to:f},T),b=()=>e?e.map(f=>ge.createElement("div",{key:f.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},ge.createElement("button",{onClick:()=>g({providerName:f.name}),style:{display:"flex",alignItems:"center"}},f==null?void 0:f.icon,f.label??ge.createElement("label",null,f.label)))):null,i=ge.createElement("div",{...o},ge.createElement("h1",{style:{textAlign:"center"}},C("pages.register.title","Sign up for your account")),b(),ge.createElement("hr",null),ge.createElement("form",{onSubmit:f=>{f.preventDefault(),g({email:c,password:P})},...a},ge.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},ge.createElement("label",{htmlFor:"email-input"},C("pages.register.fields.email","Email")),ge.createElement("input",{id:"email-input",name:"email",type:"email",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:c,onChange:f=>m(f.target.value)}),ge.createElement("label",{htmlFor:"password-input"},C("pages.register.fields.password","Password")),ge.createElement("input",{id:"password-input",name:"password",type:"password",required:!0,size:20,value:P,onChange:f=>x(f.target.value)}),ge.createElement("input",{type:"submit",value:C("pages.register.buttons.submit","Sign up"),disabled:E}),t??ge.createElement(ge.Fragment,null,ge.createElement("span",null,C("pages.login.buttons.haveAccount","Have an account?")," ",A("/login",C("pages.login.signin","Sign in")))))));return ge.createElement("div",{...r},s?s(i,n):i)};import Fe,{useState as ti}from"react";var Ds=({loginLink:e,wrapperProps:t,contentProps:r,renderContent:o,formProps:s,title:a=void 0})=>{let n=B(),u=_(),d=nt(),{Link:p}=oe(),l=u==="legacy"?p:d,[c,m]=ti(""),{mutate:P,isLoading:x}=hr(),C=(g,E)=>Fe.createElement(l,{to:g},E),h=Fe.createElement("div",{...r},Fe.createElement("h1",{style:{textAlign:"center"}},n("pages.forgotPassword.title","Forgot your password?")),Fe.createElement("hr",null),Fe.createElement("form",{onSubmit:g=>{g.preventDefault(),P({email:c})},...s},Fe.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Fe.createElement("label",{htmlFor:"email-input"},n("pages.forgotPassword.fields.email","Email")),Fe.createElement("input",{id:"email-input",name:"email",type:"mail",autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:c,onChange:g=>m(g.target.value)}),Fe.createElement("input",{type:"submit",disabled:x,value:n("pages.forgotPassword.buttons.submit","Send reset instructions")}),Fe.createElement("br",null),e??Fe.createElement("span",null,n("pages.register.buttons.haveAccount","Have an account? ")," ",C("/login",n("pages.login.signin","Sign in"))))));return Fe.createElement("div",{...t},o?o(h,a):h)};import ke,{useState as Ls}from"react";var Es=({wrapperProps:e,contentProps:t,renderContent:r,formProps:o,title:s=void 0})=>{let a=B(),n=W(),{mutate:u,isLoading:d}=Dr({v3LegacyAuthProviderCompatible:!!(n!=null&&n.isLegacy)}),[p,l]=Ls(""),[c,m]=Ls(""),P=ke.createElement("div",{...t},ke.createElement("h1",{style:{textAlign:"center"}},a("pages.updatePassword.title","Update Password")),ke.createElement("hr",null),ke.createElement("form",{onSubmit:x=>{x.preventDefault(),u({password:p,confirmPassword:c})},...o},ke.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},ke.createElement("label",{htmlFor:"password-input"},a("pages.updatePassword.fields.password","New Password")),ke.createElement("input",{id:"password-input",name:"password",type:"password",required:!0,size:20,value:p,onChange:x=>l(x.target.value)}),ke.createElement("label",{htmlFor:"confirm-password-input"},a("pages.updatePassword.fields.confirmPassword","Confirm New Password")),ke.createElement("input",{id:"confirm-password-input",name:"confirmPassword",type:"password",required:!0,size:20,value:c,onChange:x=>m(x.target.value)}),ke.createElement("input",{type:"submit",disabled:d,value:a("pages.updatePassword.buttons.submit","Update")}))));return ke.createElement("div",{...e},r?r(P,s):P)};var ri=e=>{let{type:t}=e;return xt.createElement(xt.Fragment,null,(()=>{switch(t){case"register":return xt.createElement(vs,{...e});case"forgotPassword":return xt.createElement(Ds,{...e});case"updatePassword":return xt.createElement(Es,{...e});default:return xt.createElement(bs,{...e})}})())};import Le from"react";var Jr=()=>Le.createElement(Le.Fragment,null,Le.createElement("h1",null,"Welcome on board"),Le.createElement("p",null,"Your configuration is completed."),Le.createElement("p",null,"Now you can get started by adding your resources to the"," ",Le.createElement("code",null,"`resources`")," property of ",Le.createElement("code",null,"`<Refine>`")),Le.createElement("div",{style:{display:"flex",gap:8}},Le.createElement("a",{href:"https://refine.dev",target:"_blank",rel:"noreferrer"},Le.createElement("button",null,"Documentation")),Le.createElement("a",{href:"https://refine.dev/examples",target:"_blank",rel:"noreferrer"},Le.createElement("button",null,"Examples")),Le.createElement("a",{href:"https://discord.gg/refine",target:"_blank",rel:"noreferrer"},Le.createElement("button",null,"Community"))));import J,{useState as oi}from"react";var si=[{title:"Documentation",description:"Learn about the technical details of using refine in your projects.",link:"https://refine.dev/",icon:J.createElement("svg",{width:"14",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},J.createElement("path",{d:"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V5a1 1 0 0 0-1-1H3a1 1 0 0 1 0-2h10a1 1 0 1 0 0-2H2Z",fill:"#fff"}))},{title:"Tutorial",description:"Learn how to use refine by building a fully-functioning CRUD app, from scratch to full launch.",link:"https://refine.dev/docs/tutorial/introduction/index/",icon:J.createElement("svg",{width:"16",height:"14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},J.createElement("path",{d:"M0 4.573c0-.475.163-.948.53-1.25a4.57 4.57 0 0 1 .854-.553L5.956.485a4.571 4.571 0 0 1 4.088 0l4.572 2.285c.308.154.594.34.853.553.306.251.47.62.517 1.01.01.055.014.112.014.169v6.5a1 1 0 0 1-2 0V6.684l-3.956 1.978a4.571 4.571 0 0 1-4.088 0L1.384 6.376a4.57 4.57 0 0 1-.853-.553C.163 5.522 0 5.05 0 4.573Z",fill:"#fff"}),J.createElement("path",{d:"M5.061 13.305 3 12.274V9.42l2.061 1.031a6.571 6.571 0 0 0 5.878 0L13 9.421v2.853l-2.061 1.03a6.571 6.571 0 0 1-5.878 0Z",fill:"#fff"}))},{title:"Examples",description:"A collection of reference applications you can use as a starting point.",link:"https://refine.dev/examples",icon:J.createElement("svg",{width:"16",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},J.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4H0V2Zm3 2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",fill:"#fff"}),J.createElement("path",{d:"M0 14V8h16v6a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2Z",fill:"#fff"}))},{title:"Community",description:"Join our Discord community and keep up with the latest news.",link:"https://discord.gg/refine",icon:J.createElement("svg",{width:"16",height:"12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},J.createElement("path",{d:"M13.553 1.005A13.334 13.334 0 0 0 10.253 0c-.156.276-.298.56-.423.85a12.42 12.42 0 0 0-3.664 0A8.975 8.975 0 0 0 5.744 0 13.43 13.43 0 0 0 2.44 1.007C.351 4.066-.215 7.05.068 9.99A13.36 13.36 0 0 0 4.116 12c.328-.436.618-.9.867-1.384a8.647 8.647 0 0 1-1.365-.645c.115-.082.227-.167.335-.249a9.594 9.594 0 0 0 8.094 0c.11.089.222.173.335.25-.436.254-.894.47-1.368.646.249.484.539.946.867 1.382a13.3 13.3 0 0 0 4.051-2.01c.332-3.41-.568-6.365-2.379-8.985Zm-8.21 7.176c-.79 0-1.442-.709-1.442-1.58 0-.872.63-1.587 1.439-1.587s1.456.715 1.442 1.586c-.014.872-.636 1.58-1.44 1.58Zm5.315 0c-.79 0-1.44-.709-1.44-1.58 0-.872.63-1.587 1.44-1.587.81 0 1.452.715 1.438 1.586-.014.872-.634 1.58-1.438 1.58Z",fill:"#fff"}))}],ni=()=>{let e=ur("(max-width: 1010px)"),t=ur("(max-width: 650px)"),r=()=>t?"1, 280px":e?"2, 280px":"4, 208px",o=()=>t?"32px":e?"40px":"48px",s=()=>t?"16px":e?"20px":"24px";return J.createElement("div",{style:{backgroundImage:"url(https://refine.ams3.cdn.digitaloceanspaces.com/welcome-page/welcome-page.webp)",backgroundPosition:"center top",backgroundSize:"cover",backgroundRepeat:"no-repeat",minHeight:"100vh",backgroundColor:"#0D0D12",fontFamily:"Arial",color:"#FFFFFF"}},J.createElement("div",{style:{height:"89px"}}),J.createElement("div",{style:{display:"flex",justifyContent:"center"}},J.createElement("img",{src:"https://refine.ams3.cdn.digitaloceanspaces.com/welcome-page/welcome-logo.webp",width:"198",height:"54"})),J.createElement("div",{style:{height:e?"270px":"22vw",minHeight:e?"270px":"313px"}}),J.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px",textAlign:"center"}},J.createElement("h1",{style:{fontSize:o(),fontWeight:700,margin:"0px"}},"Welcome Aboard!"),J.createElement("h4",{style:{fontSize:s(),fontWeight:400,margin:"0px"}},"Your configuration is completed.")),J.createElement("div",{style:{height:"64px"}}),J.createElement("div",{style:{display:"grid",gridTemplateColumns:`repeat(${r()})`,justifyContent:"center",gap:"48px",paddingRight:"16px",paddingLeft:"16px",maxWidth:"976px",margin:"auto"}},si.map(a=>J.createElement(ai,{key:`welcome-page-${a.title}`,card:a}))),J.createElement("div",{style:{height:"64px"}}))},ai=({card:e})=>{let{title:t,description:r,icon:o,link:s}=e,[a,n]=oi(!1);return J.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},J.createElement("div",{style:{display:"flex",alignItems:"center"}},J.createElement("a",{onPointerEnter:()=>n(!0),onPointerLeave:()=>n(!1),style:{display:"flex",alignItems:"center",color:"#fff",textDecoration:"none"},href:s},o,J.createElement("span",{style:{fontSize:"16px",fontWeight:700,marginLeft:"13px",marginRight:"14px"}},t),J.createElement("svg",{style:{transition:"transform 0.5s ease-in-out, opacity 0.2s ease-in-out",...a&&{transform:"translateX(4px)",opacity:1}},width:"12",height:"8",fill:"none",opacity:"0.5",xmlns:"http://www.w3.org/2000/svg"},J.createElement("path",{d:"M7.293.293a1 1 0 0 1 1.414 0l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L8.586 5H1a1 1 0 0 1 0-2h7.586L7.293 1.707a1 1 0 0 1 0-1.414Z",fill:"#fff"})))),J.createElement("span",{style:{fontSize:"12px",opacity:.5,lineHeight:"16px"}},r))};import{QueryClient as Fs,QueryClientProvider as li}from"@tanstack/react-query";import ae from"react";import Ms from"react";import{useContext as it}from"react";var ii="4.30.0",Us=()=>{var E;let e=Lr(),t=it(at),r=it(Ke),o=it(Ht),s=it(Vt),{i18nProvider:a}=it(Ae),n=it(Bt),u=it(Xe),{resources:d}=V(),p=te(),l=!!t.create||!!t.get||!!t.update,c=!!(r!=null&&r.publish)||!!(r!=null&&r.subscribe)||!!(r!=null&&r.unsubscribe),m=!!o.useHistory||!!o.Link||!!o.Prompt||!!o.useLocation||!!o.useParams,P=!!s,x=!!(a!=null&&a.changeLocale)||!!(a!=null&&a.getLocale)||!!(a!=null&&a.translate),C=!!n.close||!!n.open,h=!!u.can,g=(E=p==null?void 0:p.options)==null?void 0:E.projectId;return{providers:{auth:e,auditLog:l,live:c,router:m,data:P,i18n:x,notification:C,accessControl:h},version:ii,resourceCount:d.length,projectId:g}};var ui=e=>{try{let t=JSON.stringify(e||{});return typeof btoa<"u"?btoa(t):Buffer.from(t).toString("base64")}catch{return}},ci=e=>{let t=new Image;t.src=e},pi=e=>{fetch(e)},di=e=>{typeof Image<"u"?ci(e):typeof fetch<"u"&&pi(e)},Is=()=>{let e=Us(),t=Ms.useRef(!1);return Ms.useEffect(()=>{if(t.current)return;let r=ui(e);r&&(di(`https://telemetry.refine.dev/telemetry?payload=${r}`),t.current=!0)},[]),null};import mi from"warn-once";var ws=e=>{let t=["go","parse","back","Link"],r=Object.keys(e).filter(s=>!t.includes(s));return r.length>0?(console.warn(`Unsupported properties are found in \`routerProvider\` prop. You provided \`${r.join(", ")}\`. Supported properties are \`${t.join(", ")}\`. You may wanted to use \`legacyRouterProvider\` prop instead.`),!0):!1};import Ss from"react";var As=e=>{let t=Ss.useRef(!1);Ss.useEffect(()=>{t.current===!1&&e&&ws(e)&&(t.current=!0)},[e])};var fi=({legacyAuthProvider:e,authProvider:t,dataProvider:r,legacyRouterProvider:o,routerProvider:s,notificationProvider:a,accessControlProvider:n,auditLogProvider:u,resources:d,DashboardPage:p,ReadyPage:l,LoginPage:c,catchAll:m,children:P,liveProvider:x,i18nProvider:C,Title:h,Layout:g,Sider:E,Header:A,Footer:b,OffLayoutArea:i,onLiveEvent:f,options:T})=>{var U;let{optionsWithDefaults:v,disableTelemetryWithDefault:R,reactQueryWithDefaults:y}=Qr({options:T}),D=lr(()=>{var S;return y.clientConfig instanceof Fs?y.clientConfig:new Fs({...y.clientConfig,defaultOptions:{...y.clientConfig.defaultOptions,queries:{refetchOnWindowFocus:!1,keepPreviousData:!0,...(S=y.clientConfig.defaultOptions)==null?void 0:S.queries}}})},[y.clientConfig]),w=ae.useMemo(()=>typeof a=="function"?a:()=>a??{},[a])();if(As(s),o&&!s&&(d??[]).length===0)return l?ae.createElement(l,null):ae.createElement(Jr,null);let{RouterComponent:I=ae.Fragment}=s?{}:o??{};return typeof window<"u"&&((U=window==null?void 0:window.location)==null?void 0:U.hostname)==="localhost"&&mi(!0,`%c
|
|
12
12
|
\u2705 Zero-trust security model
|
|
13
13
|
\u2705 User/role management
|
|
14
14
|
\u2705 Granular access control
|