@refinedev/core 4.14.1 → 4.14.3

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,17 @@
1
1
  # @pankod/refine-core
2
2
 
3
+ ## 4.14.3
4
+
5
+ ### Patch Changes
6
+
7
+ - [#4279](https://github.com/refinedev/refine/pull/4279) [`3e4c977b8d3`](https://github.com/refinedev/refine/commit/3e4c977b8d3cbe17f4f460f22204c3880a40bb13) Thanks [@yildirayunlu](https://github.com/yildirayunlu)! - fix: queryKey method params for `useDelete`, `useDeleteMany` and`useUpdate` hooks
8
+
9
+ ## 4.14.2
10
+
11
+ ### Patch Changes
12
+
13
+ - [#4279](https://github.com/refinedev/refine/pull/4279) [`3e4c977b8d3`](https://github.com/refinedev/refine/commit/3e4c977b8d3cbe17f4f460f22204c3880a40bb13) Thanks [@yildirayunlu](https://github.com/yildirayunlu)! - fix: queryKey method params for `useDelete`, `useDeleteMany` and`useUpdate` hooks
14
+
3
15
  ## 4.14.1
4
16
 
5
17
  ### Patch Changes
@@ -7,129 +7,129 @@ export interface RefineProps {
7
7
  /**
8
8
  * `resources` is the predefined interaction points for a refine app. A resource represents an entity in an endpoint in the API.
9
9
  * While this is not a required property, it is used in resource detection and creation of routes for the app.
10
- * @type [`ResourceProps[]`](/docs/api-reference/core/components/refine-config/#resources)
10
+ * @type [`ResourceProps[]`](https://refine.dev/docs/api-reference/core/components/refine-config/#resources)
11
11
  */
12
12
  resources?: ResourceProps[];
13
13
  /**
14
14
  * **refine** needs some router functions to create resource pages, handle navigation, etc. This provider allows you to use the router library you want
15
- * @type [`IRouterProvider`](/docs/api-reference/core/providers/router-provider/)
15
+ * @type [`IRouterProvider`](https://refine.dev/docs/api-reference/core/providers/router-provider/)
16
16
  * @deprecated This property is deprecated and was the legacy way of routing. Please use `routerProvider` with new router bindings instead.
17
17
  */
18
18
  legacyRouterProvider?: IRouterProvider;
19
19
  /**
20
20
  * Router bindings for **refine**. A simple interface for **refine** to interact with your router in a flexible way.
21
- * @type [`RouterBindings`](/docs/api-reference/core/bindings/router/)
21
+ * @type [`RouterBindings`](https://refine.dev/docs/api-reference/core/bindings/router/)
22
22
  */
23
23
  routerProvider?: RouterBindings;
24
24
  /**
25
25
  * A `dataProvider` is the place where a refine app communicates with an API. Data providers also act as adapters for refine, making it possible for it to consume different API's and data services.
26
- * @type [`IDataContextProvider` | `IDataMultipleContextProvider`](/docs/api-reference/core/providers/data-provider/)
26
+ * @type [`IDataContextProvider` | `IDataMultipleContextProvider`](https://refine.dev/docs/api-reference/core/providers/data-provider/)
27
27
  */
28
28
  dataProvider: IDataContextProvider | IDataMultipleContextProvider;
29
29
  /**
30
30
  * `authProvider` handles authentication logic like login, logout flow and checking user credentials. It is an object with methods that refine uses when necessary.
31
- * @type [`AuthBindings`](/docs/api-reference/core/providers/auth-provider/)
31
+ * @type [`AuthBindings`](https://refine.dev/docs/api-reference/core/providers/auth-provider/)
32
32
  */
33
33
  authProvider?: AuthBindings;
34
34
  /**
35
35
  * `legacyAuthProvider` handles authentication logic like login, logout flow and checking user credentials. It is an object with methods that refine uses when necessary.
36
- * @type [`AuthProvider`](/docs/api-reference/core/providers/auth-provider/)
36
+ * @type [`AuthProvider`](https://refine.dev/docs/api-reference/core/providers/auth-provider/)
37
37
  * @deprecated `legacyAuthProvider` is deprecated with refine@4, use `authProvider` instead.
38
38
  */
39
39
  legacyAuthProvider?: LegacyAuthProvider;
40
40
  /**
41
41
  * **refine** lets you add Realtime support to your app via `liveProvider`. It can be used to update and show data in Realtime throughout your app.
42
- * @type [`ILiveContext`](/docs/api-reference/core/providers/live-provider/)
42
+ * @type [`ILiveContext`](https://refine.dev/docs/api-reference/core/providers/live-provider/)
43
43
  */
44
44
  liveProvider?: ILiveContext;
45
45
  /**
46
46
  * `notificationProvider` handles notification logics. It is an object with methods that refine uses when necessary.
47
- * @type [`NotificationProvider` | `(() => NotificationProvider)`](/docs/api-reference/core/providers/notification-provider/)
47
+ * @type [`NotificationProvider` | `(() => NotificationProvider)`](https://refine.dev/docs/api-reference/core/providers/notification-provider/)
48
48
  */
49
49
  notificationProvider?: NotificationProvider | (() => NotificationProvider);
50
50
  /**
51
51
  * `accessControlProvider` is the entry point for implementing access control for refine apps.
52
- * @type [`AccessControlProvider`](/docs/api-reference/core/providers/accessControl-provider/)
52
+ * @type [`AccessControlProvider`](https://refine.dev/docs/api-reference/core/providers/accessControl-provider/)
53
53
  */
54
54
  accessControlProvider?: AccessControlProvider;
55
55
  /**
56
56
  * **refine** allows you to track changes in your data and keep track of who made the changes.
57
- * @type [`AuditLogProvider`](/docs/api-reference/core/providers/audit-log-provider#overview)
57
+ * @type [`AuditLogProvider`](https://refine.dev/docs/api-reference/core/providers/audit-log-provider#overview)
58
58
  */
59
59
  auditLogProvider?: AuditLogProvider;
60
60
  /**
61
61
  * `i18nProvider` property lets you add i18n support to your app. Making you able to use any i18n framework.
62
- * @type [`i18nProvider`](/docs/api-reference/core/providers/i18n-provider/)
62
+ * @type [`i18nProvider`](https://refine.dev/docs/api-reference/core/providers/i18n-provider/)
63
63
  */
64
64
  i18nProvider?: I18nProvider;
65
65
  /**
66
66
  * A custom error component.
67
- * @type [`ReactNode`](/docs/api-reference/core/components/refine-config/#catchall)
67
+ * @type [`ReactNode`](https://refine.dev/docs/api-reference/core/components/refine-config/#catchall)
68
68
  * @deprecated Please use the `catchAll` element in your routes instead.
69
69
  */
70
70
  catchAll?: React.ReactNode;
71
71
  /**
72
72
  * Custom login component can be passed to the `LoginPage` property.
73
- * @type [`React.FC`](/docs/api-reference/core/components/refine-config/#loginpage)
73
+ * @type [`React.FC`](https://refine.dev/docs/api-reference/core/components/refine-config/#loginpage)
74
74
  * @deprecated Please use the `LoginPage` component in your routes instead.
75
75
  */
76
76
  LoginPage?: React.FC;
77
77
  /**
78
78
  * A custom dashboard page can be passed to the `DashboardPage` prop which is accessible on root route.
79
- * @type [`React.FC<DashboardPageProps>`](/docs/api-reference/core/components/refine-config/#dashboardpage)
79
+ * @type [`React.FC<DashboardPageProps>`](https://refine.dev/docs/api-reference/core/components/refine-config/#dashboardpage)
80
80
  * @deprecated Please use the `DashboardPage` component in your routes instead.
81
81
  */
82
82
  DashboardPage?: React.FC<DashboardPageProps>;
83
83
  /**
84
84
  * Custom ready page component can be set by passing to `ReadyPage` property.
85
- * @type [`React.FC`](/docs/api-reference/core/components/refine-config/#readypage)
85
+ * @type [`React.FC`](https://refine.dev/docs/api-reference/core/components/refine-config/#readypage)
86
86
  * @deprecated This component is only used with the legacy router and will be removed in the future.
87
87
  */
88
88
  ReadyPage?: React.FC;
89
89
  /**
90
90
  * Default layout can be customized by passing the `Layout` property.
91
- * @type [`React.FC<LayoutProps>`](/docs/api-reference/core/components/refine-config/#layout)
91
+ * @type [`React.FC<LayoutProps>`](https://refine.dev/docs/api-reference/core/components/refine-config/#layout)
92
92
  * @deprecated Please use the `Layout` component as a children instead of a prop.
93
93
  */
94
94
  Layout?: React.FC<LayoutProps>;
95
95
  /**
96
96
  * The default sidebar can be customized by using refine hooks and passing custom components to `Sider` property.
97
- * @type [`React.FC`](/docs/api-reference/core/components/refine-config/#sider)
97
+ * @type [`React.FC`](https://refine.dev/docs/api-reference/core/components/refine-config/#sider)
98
98
  * @deprecated Please pass the `Sider` component to your `Layout` component.
99
99
  */
100
100
  Sider?: React.FC;
101
101
  /**
102
102
  * The default app header can be customized by passing the `Header` property.
103
- * @type [`React.FC`](/docs/api-reference/core/components/refine-config/#header)
103
+ * @type [`React.FC`](https://refine.dev/docs/api-reference/core/components/refine-config/#header)
104
104
  * @deprecated Please pass the `Header` component to your `Layout` component.
105
105
  */
106
106
  Header?: React.FC;
107
107
  /**
108
108
  *The default app footer can be customized by passing the `Footer` property.
109
- * @type [`React.FC`](/docs/api-reference/core/components/refine-config/#footer)
109
+ * @type [`React.FC`](https://refine.dev/docs/api-reference/core/components/refine-config/#footer)
110
110
  * @deprecated Please pass the `Footer` component to your `Layout` component.
111
111
  */
112
112
  Footer?: React.FC;
113
113
  /**
114
114
  * The component wanted to be placed out of app layout structure can be set by passing to `OffLayoutArea` prop.
115
- * @type [`React.FC`](/docs/api-reference/core/components/refine-config/#offlayoutarea)
115
+ * @type [`React.FC`](https://refine.dev/docs/api-reference/core/components/refine-config/#offlayoutarea)
116
116
  * @deprecated Please use your `OffLayoutArea` component as a children instead of a prop.
117
117
  */
118
118
  OffLayoutArea?: React.FC;
119
119
  /**
120
120
  * TThe app title can be set by passing the `Title` property.
121
- * @type [`React.FC<TitleProps>`](/docs/api-reference/core/components/refine-config/#title)
121
+ * @type [`React.FC<TitleProps>`](https://refine.dev/docs/api-reference/core/components/refine-config/#title)
122
122
  * @deprecated Please pass the `Title` component to your `Layout` component.
123
123
  */
124
124
  Title?: React.FC<TitleProps>;
125
125
  /**
126
126
  * Callback to handle all live events.
127
- * @type [`(event: LiveEvent) => void`](/docs/api-reference/core/providers/live-provider/#onliveevent)
127
+ * @type [`(event: LiveEvent) => void`](https://refine.dev/docs/api-reference/core/providers/live-provider/#onliveevent)
128
128
  */
129
129
  onLiveEvent?: LiveModeProps["onLiveEvent"];
130
130
  /**
131
131
  * `options` is used to configure the app.
132
- * @type [`IRefineOptions`](/docs/api-reference/core/components/refine-config/#options-1)
132
+ * @type [`IRefineOptions`](https://refine.dev/docs/api-reference/core/components/refine-config/#options)
133
133
  * */
134
134
  options?: IRefineOptions;
135
135
  }
package/dist/esm/index.js CHANGED
@@ -8,7 +8,7 @@ See https://refine.dev/docs/api-reference/core/hooks/useForm/#resource`);let Ht=
8
8
  If you don't use the \`setShowId\` method to set the \`showId\`, you should pass the \`id\` prop to \`useShow\`. Otherwise, \`useShow\` will not be able to infer the \`id\` from the current URL.
9
9
 
10
10
  See https://refine.dev/docs/api-reference/core/hooks/show/useShow/#resource`),{queryResult:wt({resource:g==null?void 0:g.name,id:E!=null?E:"",queryOptions:{enabled:E!==void 0,...d},successNotification:r,errorNotification:o,meta:P,metaData:P,liveMode:n,onLiveEvent:u,dataProviderName:p}),showId:E,setShowId:m}};import{useEffect as Ua,useState as Kr}from"react";import{parse as Ma}from"papaparse";import La from"lodash-es/chunk";var wg=({resourceName:e,resource:t,mapData:r=l=>l,paparseOptions:o,batchSize:s=Number.MAX_SAFE_INTEGER,onFinish:a,meta:n,metaData:u,onProgress:p,dataProviderName:d}={})=>{let[l,c]=Kr(0),[T,R]=Kr(0),[v,U]=Kr(!1),{resource:i}=Q(t!=null?t:e),y=Hr(),f=At(),C;s===1?C=f:C=y;let E=()=>{R(0),c(0),U(!1)},m=g=>{let D={succeeded:g.filter(P=>P.type==="success"),errored:g.filter(P=>P.type==="error")};a==null||a(D),U(!1)};Ua(()=>{p==null||p({totalAmount:T,processedAmount:l})},[T,l]);let x=({file:g})=>(E(),new Promise(D=>{U(!0),Ma(g,{complete:async({data:P})=>{let h=jt(P,r);if(R(h.length),s===1){let b=h.map(I=>async()=>{var F;return{response:await f.mutateAsync({resource:(F=i==null?void 0:i.name)!=null?F:"",values:I,successNotification:!1,errorNotification:!1,dataProviderName:d,meta:L(n,u),metaData:L(n,u)}),value:I}}),M=await tr(b,({response:I,value:w})=>(c(B=>B+1),{response:[I.data],type:"success",request:[w]}),(I,w)=>({response:[I],type:"error",request:[h[w]]}));D(M)}else{let b=La(h,s),M=b.map(w=>async()=>{var S;return{response:await y.mutateAsync({resource:(S=i==null?void 0:i.name)!=null?S:"",values:w,successNotification:!1,errorNotification:!1,dataProviderName:d,meta:L(n,u),metaData:L(n,u)}),value:w,currentBatchLength:w.length}}),I=await tr(M,({response:w,currentBatchLength:B,value:F})=>(c(S=>S+B),{response:w.data,type:"success",request:F}),(w,B)=>({response:[w],type:"error",request:b[B]}));D(I)}},...o})}).then(D=>(m(D),D)));return{inputProps:{type:"file",accept:".csv",onChange:g=>{g.target.files&&g.target.files.length>0&&x({file:g.target.files[0]})}},mutationResult:C,isLoading:v,handleChange:x}};import{useCallback as is,useState as Ia}from"react";var Qg=({defaultVisible:e=!1}={})=>{let[t,r]=Ia(e),o=is(()=>r(!0),[t]),s=is(()=>r(!1),[t]);return{visible:t,show:o,close:s}};import wa from"react";var Bt=()=>{let e=H(),{resource:t,resources:r}=Q(),o=j();return wa.useCallback(({resource:a,action:n,meta:u})=>{var T;let p=a||t;if(!p)return;let l=(T=pe(p,r,e==="legacy").find(R=>R.action===n))==null?void 0:T.route;return l?fe(l,p==null?void 0:p.meta,o,u):void 0},[r,t,o])};var Aa=({resource:e,action:t,meta:r,legacy:o})=>Bt()({resource:e,action:t,meta:r,legacy:o});import Sa,{useContext as Qa}from"react";var st=()=>{let e=Qa(We);return e!=null&&e.Link?e.Link:({to:r,...o})=>Sa.createElement("a",{href:r,...o})};import{useContext as Va}from"react";import us from"react";var Ke={useHistory:()=>!1,useLocation:()=>!1,useParams:()=>({}),Prompt:()=>null,Link:()=>null},ka=us.createContext(Ke),Ft=ka,cs=({children:e,useHistory:t,useLocation:r,useParams:o,Prompt:s,Link:a,routes:n})=>us.createElement(Ft.Provider,{value:{useHistory:t!=null?t:Ke.useHistory,useLocation:r!=null?r:Ke.useLocation,useParams:o!=null?o:Ke.useParams,Prompt:s!=null?s:Ke.Prompt,Link:a!=null?a:Ke.Link,routes:n!=null?n:Ke.routes}},e);var K=()=>{let e=Va(Ft),{useHistory:t,useLocation:r,useParams:o,Prompt:s,Link:a,routes:n}=e!=null?e:Ke;return{useHistory:t,useLocation:r,useParams:o,Prompt:s,Link:a,routes:n}};import{useQuery as Ba}from"@tanstack/react-query";import{useContext as Fa}from"react";import ps from"react";var nt=ps.createContext({}),ds=({can:e,children:t})=>ps.createElement(nt.Provider,{value:{can:e}},t);var ur=e=>{let{icon:t,list:r,edit:o,create:s,show:a,clone:n,children:u,meta:p,options:d,...l}=e,{icon:c,...T}=p!=null?p:{},{icon:R,...v}=d!=null?d:{};return{...l,...p?{meta:T}:{},...d?{options:v}:{}}};var ls=({action:e,resource:t,params:r,queryOptions:o})=>{let{can:s}=Fa(nt),{resource:a,...n}=r!=null?r:{},u=ur(a!=null?a:{}),p=Ba(["useCan",{action:e,resource:t,params:{...n,resource:u},enabled:o==null?void 0:o.enabled}],()=>{var d;return(d=s==null?void 0:s({action:e,resource:t,params:n}))!=null?d:Promise.resolve({can:!0})},{enabled:typeof s<"u",...o,retry:!1});return typeof s>"u"?{data:{can:!0}}:p};import{useContext as Na}from"react";var hT=()=>{let{can:e}=Na(nt);return{can:e}};import{useCallback as ms,useMemo as Ha,useState as zr}from"react";import Oa from"lodash/uniqBy";import $a from"lodash/debounce";import cr from"lodash/get";var VT=e=>{var Oe,be,xe;let[t,r]=zr([]),[o,s]=zr([]),[a,n]=zr([]),{resource:u,sort:p,sorters:d,filters:l=[],optionLabel:c="title",optionValue:T="id",debounce:R=300,successNotification:v,errorNotification:U,defaultValueQueryOptions:i,queryOptions:y,fetchSize:f,pagination:C,hasPagination:E=!1,liveMode:m,defaultValue:x=[],onLiveEvent:g,onSearch:D,liveParams:P,meta:h,metaData:b,dataProviderName:M}=e,{resources:I}=Q(),w=G(),B=$(u,I),F=(Oe=B==null?void 0:B.name)!=null?Oe:u,S=w({resource:B,meta:L(h,b)}),Z=Array.isArray(x)?x:[x],A=ms(ie=>{n(ie.data.map(re=>({label:cr(re,c),value:cr(re,T)})))},[c,T]),N=i!=null?i:y,W=kr({resource:F,ids:Z,queryOptions:{...N,enabled:Z.length>0&&((be=i==null?void 0:i.enabled)!=null?be:!0),onSuccess:ie=>{var re;A(ie),(re=N==null?void 0:N.onSuccess)==null||re.call(N,ie)}},meta:S,metaData:S,liveMode:"off",dataProviderName:M}),ke=ms(ie=>{s(ie.data.map(re=>({label:cr(re,c),value:cr(re,T)})))},[c,T]),Y=It({resource:F,sorters:L(d,p),filters:l.concat(t),pagination:{current:C==null?void 0:C.current,pageSize:(xe=C==null?void 0:C.pageSize)!=null?xe:f,mode:C==null?void 0:C.mode},hasPagination:E,queryOptions:{...y,onSuccess:ie=>{var re;ke(ie),(re=y==null?void 0:y.onSuccess)==null||re.call(y,ie)}},successNotification:v,errorNotification:U,meta:S,metaData:S,liveMode:m,liveParams:P,onLiveEvent:g,dataProviderName:M}),me=ie=>{if(D){r(D(ie));return}if(ie)r([{field:c,operator:"contains",value:ie}]);else{r([]);return}};return{queryResult:Y,defaultValueQueryResult:W,options:Ha(()=>Oa([...o,...a],"value"),[o,a]),onSearch:$a(me,R)}};import Ga,{useState as pr,useEffect as fs}from"react";import ys from"qs";import dr from"lodash/differenceWith";import lr from"lodash/isEqual";import Wa from"warn-once";var gs=[],Ts=[];function _T({initialCurrent:e,initialPageSize:t,hasPagination:r=!0,pagination:o,initialSorter:s,permanentSorter:a=Ts,defaultSetFilterBehavior:n,initialFilter:u,permanentFilter:p=gs,filters:d,sorters:l,syncWithLocation:c,resource:T,successNotification:R,errorNotification:v,queryOptions:U,liveMode:i,onLiveEvent:y,liveParams:f,meta:C,metaData:E,dataProviderName:m}={}){var Xr,qr,eo,to,ro,oo,so,no,ao,io;let{syncWithLocation:x}=Gr(),g=c!=null?c:x,D=Wo(i),P=H(),{useLocation:h}=K(),{search:b,pathname:M}=h(),I=G(),w=j(),B=((d==null?void 0:d.mode)||"server")==="server",F=((l==null?void 0:l.mode)||"server")==="server",S=r===!1?"off":"server",Z=((Xr=o==null?void 0:o.mode)!=null?Xr:S)!=="off",A=L(o==null?void 0:o.current,e),N=L(o==null?void 0:o.pageSize,t),W=L(C,E),{parsedCurrent:ke,parsedPageSize:Y,parsedSorter:me,parsedFilters:Oe}=Zt(b!=null?b:"?"),be=L(d==null?void 0:d.initial,u),xe=(qr=L(d==null?void 0:d.permanent,p))!=null?qr:gs,ie=L(l==null?void 0:l.initial,s),re=(eo=L(l==null?void 0:l.permanent,a))!=null?eo:Ts,Ht=(to=L(d==null?void 0:d.defaultBehavior,n))!=null?to:"merge",ut,Je,Le,Ie;g?(ut=((ro=w==null?void 0:w.params)==null?void 0:ro.current)||ke||A||1,Je=((oo=w==null?void 0:w.params)==null?void 0:oo.pageSize)||Y||N||10,Le=((so=w==null?void 0:w.params)==null?void 0:so.sorters)||(me.length?me:ie),Ie=((no=w==null?void 0:w.params)==null?void 0:no.filters)||(Oe.length?Oe:be)):(ut=A||1,Je=N||10,Le=ie,Ie=be);let{replace:Pt}=se(),Ot=ne(),{resource:Xe}=Q(T),$t=I({resource:Xe,meta:W}),bt=Xe==null?void 0:Xe.name;Ga.useEffect(()=>{Wa(typeof bt>"u","useTable: `resource` is not defined.")},[bt]);let[he,ct]=pr(qt(re,Le!=null?Le:[])),[pt,ht]=pr(Xt(xe,Ie!=null?Ie:[])),[dt,mr]=pr(ut),[ze,ce]=pr(Je),Ve=({pagination:{current:ue,pageSize:ve},sorter:Gt,filters:Wt})=>{var Kt;if(P==="new")return(Kt=Ot({type:"path",options:{keepHash:!0,keepQuery:!0},query:{...Z?{current:ue,pageSize:ve}:{},sorters:Gt,filters:Wt,...Be()}}))!=null?Kt:"";{let Dt=ys.parse(b==null?void 0:b.substring(1)),fr=Yt({pagination:{pageSize:ve,current:ue},sorters:he!=null?he:Gt,filters:Wt,...Dt});return`${M!=null?M:""}?${fr!=null?fr:""}`}};fs(()=>{b===""&&(mr(ut),ce(Je),ct(qt(re,Le!=null?Le:[])),ht(Xt(xe,Ie!=null?Ie:[])))},[b]);let Be=()=>{var ue;if(P==="new"){let{sorters:ve,filters:Gt,pageSize:Wt,current:Kt,...Dt}=(ue=w==null?void 0:w.params)!=null?ue:{};return Dt}else{let{sorter:ve,filters:Gt,pageSize:Wt,current:Kt,...Dt}=ys.parse(b,{ignoreQueryPrefix:!0});return Dt}};fs(()=>{if(g){let ue=Be();if(P==="new")Ot({type:"replace",options:{keepQuery:!0},query:{...Z?{pageSize:ze,current:dt}:{},sorters:dr(he,re,lr),filters:dr(pt,xe,lr)}});else{let ve=Yt({...Z?{pagination:{pageSize:ze,current:dt}}:{},sorters:dr(he,re,lr),filters:dr(pt,xe,lr),...ue});return Pt==null?void 0:Pt(`${M}?${ve}`,void 0,{shallow:!0})}}},[g,dt,ze,he,pt]);let qe=It({resource:bt,hasPagination:r,pagination:{current:dt,pageSize:ze,mode:o==null?void 0:o.mode},filters:B?ft(xe,pt):void 0,sorters:F?Jt(re,he):void 0,queryOptions:U,successNotification:R,errorNotification:v,meta:$t,metaData:$t,liveMode:D,liveParams:f,onLiveEvent:y,dataProviderName:m}),we=ue=>{ht(ve=>ft(xe,ue,ve))},_e=ue=>{ht(ft(xe,ue))},et=ue=>{ht(ve=>ft(xe,ue(ve)))},tt=(ue,ve=Ht)=>{typeof ue=="function"?et(ue):ve==="replace"?_e(ue):we(ue)},vt=ue=>{ct(()=>Jt(re,ue))};return{tableQueryResult:qe,sorters:he,setSorters:vt,sorter:he,setSorter:vt,filters:pt,setFilters:tt,current:dt,setCurrent:mr,pageSize:ze,setPageSize:ce,pageCount:ze?Math.ceil(((io=(ao=qe.data)==null?void 0:ao.total)!=null?io:0)/ze):1,createLinkForSyncWithLocation:Ve}}import{useContext as Cs}from"react";import{useMutation as Ps,useQueryClient as Ka}from"@tanstack/react-query";import Rs from"react";var at=Rs.createContext({}),xs=({create:e,get:t,update:r,children:o})=>Rs.createElement(at.Provider,{value:{create:e,get:t,update:r}},o);var Ee=({logMutationOptions:e,renameMutationOptions:t}={})=>{let r=Ka(),o=Cs(at),s=O(),{resources:a}=Cs(Ze),{data:n,refetch:u,isLoading:p}=yr({v3LegacyAuthProviderCompatible:Boolean(s==null?void 0:s.isLegacy),queryOptions:{enabled:!!o}}),d=Ps(async c=>{var U,i,y,f,C;let T=$(c.resource,a),R=L((U=T==null?void 0:T.meta)==null?void 0:U.audit,(i=T==null?void 0:T.options)==null?void 0:i.audit,(f=(y=T==null?void 0:T.options)==null?void 0:y.auditLog)==null?void 0:f.permissions);if(R&&!Er(R,c.action))return;let v;return p&&(v=await u()),await((C=o.create)==null?void 0:C.call(o,{...c,author:n!=null?n:v==null?void 0:v.data}))},e),l=Ps(async c=>{var T;return await((T=o.update)==null?void 0:T.call(o,c))},{onSuccess:c=>{if(c!=null&&c.resource){let T=J(c==null?void 0:c.resource);r.invalidateQueries(T.logList())}},...t});return{log:d,rename:l}};import{useContext as za}from"react";import{useQuery as _a}from"@tanstack/react-query";var fR=({resource:e,action:t,meta:r,author:o,metaData:s,queryOptions:a})=>{let{get:n}=za(at),u=J(e,void 0,s);return _a(u.logList(r),()=>{var d;return(d=n==null?void 0:n({resource:e,action:t,author:o,meta:r,metaData:s}))!=null?d:Promise.resolve([])},{enabled:typeof n<"u",...a,retry:!1})};import{useCallback as ja}from"react";import{useQueryClient as Za}from"@tanstack/react-query";var Ue=()=>{let{resources:e}=Q(),t=Za();return ja(({resource:o,dataProviderName:s,invalidates:a,id:n})=>{if(a===!1)return;let u=J(o,k(o,s,e));a.forEach(p=>{switch(p){case"all":t.invalidateQueries(u.all);break;case"list":t.invalidateQueries(u.list());break;case"many":t.invalidateQueries(u.many());break;case"resourceAll":t.invalidateQueries(u.resourceAll);break;case"detail":t.invalidateQueries(u.detail(n||""));break;default:break}})},[])};import{useContext as Ya}from"react";import Ja from"warn-once";var kR=({meta:e={}}={})=>{let t=H(),{i18nProvider:r}=Ya(Se),o=j(),s=V(),{resources:a,resource:n,action:u}=Q(),p=[];if(!(n!=null&&n.name))return{breadcrumbs:p};let d=l=>{var T,R,v,U,i,y,f,C;let c=typeof l=="string"?(T=$(l,a,t==="legacy"))!=null?T:{name:l}:l;if(c){let E=L((R=c==null?void 0:c.meta)==null?void 0:R.parent,c==null?void 0:c.parentName);E&&d(E);let m=pe(c,a,t==="legacy").find(D=>D.action==="list"),x=(v=m==null?void 0:m.resource)!=null&&v.list?m==null?void 0:m.route:void 0,g=x?t==="legacy"?x:fe(x,c==null?void 0:c.meta,o,e):void 0;p.push({label:(y=L((U=c.meta)==null?void 0:U.label,(i=c.options)==null?void 0:i.label))!=null?y:s(`${c.name}.${c.name}`,rt(c.name)),href:g,icon:L((f=c.meta)==null?void 0:f.icon,(C=c.options)==null?void 0:C.icon,c.icon)})}};if(d(n),u&&u!=="list"){let l=`actions.${u}`,c=s(l);typeof r<"u"&&c===l?(Ja(!0,`[useBreadcrumb]: Breadcrumb missing translate key for the "${u}" action. Please add "actions.${u}" key to your translation file.
11
- For more information, see https://refine.dev/docs/core/hooks/useBreadcrumb/#i18n-support`),p.push({label:s(`buttons.${u}`,rt(u))})):p.push({label:s(l,rt(u))})}return{breadcrumbs:p}};import _r from"react";var Tt=(e,t,r=!1)=>{let o=[],s=Ce(e,t);for(;s;)o.push(s),s=Ce(s,t);return o.reverse(),`/${[...o,e].map(n=>{var u,p;return le((p=(u=r?n.route:void 0)!=null?u:n.identifier)!=null?p:n.name)}).join("/").replace(/^\//,"")}`};var bs=(e,t=!1)=>{let r={item:{name:"__root__"},children:{}};e.forEach(s=>{var d,l;let a=[],n=Ce(s,e);for(;n;)a.push(n),n=Ce(n,e);a.reverse();let u=r;a.forEach(c=>{var R,v;let T=(v=(R=t?c.route:void 0)!=null?R:c.identifier)!=null?v:c.name;u.children[T]||(u.children[T]={item:c,children:{}}),u=u.children[T]});let p=(l=(d=t?s.route:void 0)!=null?d:s.identifier)!=null?l:s.name;u.children[p]||(u.children[p]={item:s,children:{}})});let o=s=>{let a=[];return Object.keys(s.children).forEach(n=>{let u=Tt(s.children[n].item,e,t),p={...s.children[n].item,key:u,children:o(s.children[n])};a.push(p)}),a};return o(r)};var hs=e=>e.split("?")[0].split("#")[0].replace(/(.+)(\/$)/,"$1"),Xa=({meta:e,hideOnMissingParameter:t}={hideOnMissingParameter:!0})=>{let r=V(),o=Bt(),s=H(),{resource:a,resources:n}=Q(),{pathname:u}=j(),{useLocation:p}=K(),{pathname:d}=p(),l=s==="legacy"?hs(d):u?hs(u):void 0,c=`/${(l!=null?l:"").replace(/^\//,"")}`,T=a?Tt(a,n,s==="legacy"):c!=null?c:"",R=_r.useMemo(()=>{if(!a)return[];let i=Ce(a,n),y=[Tt(a,n)];for(;i;)y.push(Tt(i,n)),i=Ce(i,n);return y},[]),v=_r.useCallback(i=>{var f,C,E,m,x,g,D,P;if(((E=(f=i==null?void 0:i.meta)==null?void 0:f.hide)!=null?E:(C=i==null?void 0:i.options)==null?void 0:C.hide)||!(i!=null&&i.list)&&i.children.length===0)return;let y=i.list?o({resource:i,action:"list",legacy:s==="legacy",meta:e}):void 0;if(!(t&&y&&y.match(/(\/|^):(.+?)(\/|$){1}/)))return{...i,route:y,icon:L((m=i.meta)==null?void 0:m.icon,(x=i.options)==null?void 0:x.icon,i.icon),label:(P=L((g=i==null?void 0:i.meta)==null?void 0:g.label,(D=i==null?void 0:i.options)==null?void 0:D.label))!=null?P:r(`${i.name}.${i.name}`,yt(i.name,"plural"))}},[s,e,r,t]),U=_r.useMemo(()=>{let i=bs(n,s==="legacy"),y=f=>f.flatMap(C=>{let E=y(C.children),m=v({...C,children:E});return m?[m]:[]});return y(i)},[n,s,v]);return{defaultOpenKeys:R,selectedKey:T,menuItems:U}};var G=()=>{let{params:e}=j();return({resource:r,meta:o}={})=>{let{meta:s}=ur(r!=null?r:{}),{filters:a,sorters:n,current:u,pageSize:p,...d}=e!=null?e:{};return{...s,...d,...o}}};var ti=()=>{let[e,t]=ei(),r=V(),{push:o}=se(),s=ne(),a=H(),{resource:n,action:u}=Q();return qa(()=>{n&&u&&t(r("pages.error.info",{action:u,resource:n==null?void 0:n.name},`You may have forgotten to add the "${u}" component to "${n==null?void 0:n.name}" resource.`))},[n,u]),Nt.createElement(Nt.Fragment,null,Nt.createElement("h1",null,r("pages.error.404",void 0,"Sorry, the page you visited does not exist.")),e&&Nt.createElement("p",null,e),Nt.createElement("button",{onClick:()=>{a==="legacy"?o("/"):s({to:"/"})}},r("pages.error.backHome",void 0,"Back Home")))};import ye,{useState as vs}from"react";var Ar=()=>{let[e,t]=vs(""),[r,o]=vs(""),s=V(),a=O(),{mutate:n}=Et({v3LegacyAuthProviderCompatible:Boolean(a==null?void 0:a.isLegacy)});return ye.createElement(ye.Fragment,null,ye.createElement("h1",null,s("pages.login.title","Sign in your account")),ye.createElement("form",{onSubmit:u=>{u.preventDefault(),n({username:e,password:r})}},ye.createElement("table",null,ye.createElement("tbody",null,ye.createElement("tr",null,ye.createElement("td",null,s("pages.login.username",void 0,"username"),":"),ye.createElement("td",null,ye.createElement("input",{type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",autoFocus:!0,required:!0,value:e,onChange:u=>t(u.target.value)}))),ye.createElement("tr",null,ye.createElement("td",null,s("pages.login.password",void 0,"password"),":"),ye.createElement("td",null,ye.createElement("input",{type:"password",required:!0,size:20,value:r,onChange:u=>o(u.target.value)}))))),ye.createElement("br",null),ye.createElement("input",{type:"submit",value:"login"})))};import Rt from"react";import ae,{useState as jr}from"react";var Ds=({providers:e,registerLink:t,forgotPasswordLink:r,rememberMe:o,contentProps:s,wrapperProps:a,renderContent:n,formProps:u,title:p=void 0})=>{let d=H(),l=st(),{Link:c}=K(),T=d==="legacy"?c:l,[R,v]=jr(""),[U,i]=jr(""),[y,f]=jr(!1),C=V(),E=O(),{mutate:m}=Et({v3LegacyAuthProviderCompatible:Boolean(E==null?void 0:E.isLegacy)}),x=(P,h)=>P?typeof P=="string"?ae.createElement(T,{to:P},h):P:null,g=()=>e?e.map(P=>{var h;return ae.createElement("div",{key:P.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},ae.createElement("button",{onClick:()=>m({providerName:P.name}),style:{display:"flex",alignItems:"center"}},P==null?void 0:P.icon,(h=P.label)!=null?h:ae.createElement("label",null,P.label)))}):null,D=ae.createElement("div",{...s},ae.createElement("h1",{style:{textAlign:"center"}},C("pages.login.title","Sign in to your account")),g(),ae.createElement("hr",null),ae.createElement("form",{onSubmit:P=>{P.preventDefault(),m({email:R,password:U,remember:y})},...u},ae.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},ae.createElement("label",null,C("pages.login.fields.email","Email")),ae.createElement("input",{name:"email",type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:R,onChange:P=>v(P.target.value)}),ae.createElement("label",null,C("pages.login.fields.password","Password")),ae.createElement("input",{type:"password",name:"password",required:!0,size:20,value:U,onChange:P=>i(P.target.value)}),o!=null?o:ae.createElement(ae.Fragment,null,ae.createElement("label",null,C("pages.login.buttons.rememberMe","Remember me"),ae.createElement("input",{name:"remember",type:"checkbox",size:20,checked:y,value:y.toString(),onChange:()=>{f(!y)}}))),ae.createElement("br",null),r!=null?r:x("/forgot-password",C("pages.login.buttons.forgotPassword","Forgot password?")),ae.createElement("input",{type:"submit",value:C("pages.login.signin","Sign in")}),t!=null?t:ae.createElement("span",null,C("pages.login.buttons.noAccount","Don\u2019t have an account?")," ",x("/register",C("pages.login.register","Sign up"))))));return ae.createElement("div",{...a},n?n(D,p):D)};import de,{useState as Es}from"react";var Us=({providers:e,loginLink:t,wrapperProps:r,contentProps:o,renderContent:s,formProps:a,title:n=void 0})=>{let u=H(),p=st(),{Link:d}=K(),l=u==="legacy"?d:p,[c,T]=Es(""),[R,v]=Es(""),U=V(),i=O(),{mutate:y,isLoading:f}=xr({v3LegacyAuthProviderCompatible:Boolean(i==null?void 0:i.isLegacy)}),C=(x,g)=>x?typeof x=="string"?de.createElement(l,{to:x},g):x:null,E=()=>e?e.map(x=>{var g;return de.createElement("div",{key:x.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},de.createElement("button",{onClick:()=>y({providerName:x.name}),style:{display:"flex",alignItems:"center"}},x==null?void 0:x.icon,(g=x.label)!=null?g:de.createElement("label",null,x.label)))}):null,m=de.createElement("div",{...o},de.createElement("h1",{style:{textAlign:"center"}},U("pages.register.title","Sign up for your account")),E(),de.createElement("hr",null),de.createElement("form",{onSubmit:x=>{x.preventDefault(),y({email:c,password:R})},...a},de.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},de.createElement("label",null,U("pages.register.fields.email","Email")),de.createElement("input",{name:"email",type:"email",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:c,onChange:x=>T(x.target.value)}),de.createElement("label",null,U("pages.register.fields.password","Password")),de.createElement("input",{name:"password",type:"password",required:!0,size:20,value:R,onChange:x=>v(x.target.value)}),de.createElement("input",{type:"submit",value:U("pages.register.buttons.submit","Sign up"),disabled:f}),t!=null?t:de.createElement(de.Fragment,null,de.createElement("span",null,U("pages.login.buttons.haveAccount","Have an account?")," ",C("/login",U("pages.login.signin","Sign in")))))));return de.createElement("div",{...r},s?s(m,n):m)};import Me,{useState as ri}from"react";var Ms=({loginLink:e,wrapperProps:t,contentProps:r,renderContent:o,formProps:s,title:a=void 0})=>{let n=V(),u=H(),p=st(),{Link:d}=K(),l=u==="legacy"?d:p,[c,T]=ri(""),{mutate:R,isLoading:v}=Pr(),U=(y,f)=>y?typeof y=="string"?Me.createElement(l,{to:y},f):y:null,i=Me.createElement("div",{...r},Me.createElement("h1",{style:{textAlign:"center"}},n("pages.forgotPassword.title","Forgot your password?")),Me.createElement("hr",null),Me.createElement("form",{onSubmit:y=>{y.preventDefault(),R({email:c})},...s},Me.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Me.createElement("label",null,n("pages.forgotPassword.fields.email","Email")),Me.createElement("input",{name:"email",type:"mail",autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:c,onChange:y=>T(y.target.value)}),Me.createElement("input",{type:"submit",disabled:v,value:n("pages.forgotPassword.buttons.submit","Send reset instructions")}),Me.createElement("br",null),e!=null?e:Me.createElement("span",null,n("pages.register.buttons.haveAccount","Have an account? ")," ",U("/login",n("pages.login.signin","Sign in"))))));return Me.createElement("div",{...t},o?o(i,a):i)};import Qe,{useState as Ls}from"react";var Is=({wrapperProps:e,contentProps:t,renderContent:r,formProps:o,title:s=void 0})=>{let a=V(),n=O(),{mutate:u,isLoading:p}=hr({v3LegacyAuthProviderCompatible:Boolean(n==null?void 0:n.isLegacy)}),[d,l]=Ls(""),[c,T]=Ls(""),R=Qe.createElement("div",{...t},Qe.createElement("h1",{style:{textAlign:"center"}},a("pages.updatePassword.title","Update Password")),Qe.createElement("hr",null),Qe.createElement("form",{onSubmit:v=>{v.preventDefault(),u({password:d,confirmPassword:c})},...o},Qe.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Qe.createElement("label",null,a("pages.updatePassword.fields.password","New Password")),Qe.createElement("input",{name:"password",type:"password",required:!0,size:20,value:d,onChange:v=>l(v.target.value)}),Qe.createElement("label",null,a("pages.updatePassword.fields.confirmPassword","Confirm New Password")),Qe.createElement("input",{name:"confirmPassword",type:"password",required:!0,size:20,value:c,onChange:v=>T(v.target.value)}),Qe.createElement("input",{type:"submit",disabled:p,value:a("pages.updatePassword.buttons.submit","Update")}))));return Qe.createElement("div",{...e},r?r(R,s):R)};var oi=e=>{let{type:t}=e;return Rt.createElement(Rt.Fragment,null,(()=>{switch(t){case"register":return Rt.createElement(Us,{...e});case"forgotPassword":return Rt.createElement(Ms,{...e});case"updatePassword":return Rt.createElement(Is,{...e});default:return Rt.createElement(Ds,{...e})}})())};import Re from"react";var Zr=()=>Re.createElement(Re.Fragment,null,Re.createElement("h1",null,"Welcome on board"),Re.createElement("p",null,"Your configuration is completed."),Re.createElement("p",null,"Now you can get started by adding your resources to the"," ",Re.createElement("code",null,"`resources`")," property of ",Re.createElement("code",null,"`<Refine>`")),Re.createElement("div",{style:{display:"flex",gap:8}},Re.createElement("a",{href:"https://refine.dev",target:"_blank",rel:"noreferrer"},Re.createElement("button",null,"Documentation")),Re.createElement("a",{href:"https://refine.dev/examples",target:"_blank",rel:"noreferrer"},Re.createElement("button",null,"Examples")),Re.createElement("a",{href:"https://discord.gg/refine",target:"_blank",rel:"noreferrer"},Re.createElement("button",null,"Community"))));import _,{useState as si}from"react";var ni=[{title:"Documentation",description:"Learn about the technical details of using refine in your projects.",link:"https://refine.dev/",icon:_.createElement("svg",{width:"14",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V5a1 1 0 0 0-1-1H3a1 1 0 0 1 0-2h10a1 1 0 1 0 0-2H2Z",fill:"#fff"}))},{title:"Tutorial",description:"Learn how to use refine by building a fully-functioning CRUD app, from scratch to full launch.",link:"https://refine.dev/docs/tutorial/introduction/index/",icon:_.createElement("svg",{width:"16",height:"14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M0 4.573c0-.475.163-.948.53-1.25a4.57 4.57 0 0 1 .854-.553L5.956.485a4.571 4.571 0 0 1 4.088 0l4.572 2.285c.308.154.594.34.853.553.306.251.47.62.517 1.01.01.055.014.112.014.169v6.5a1 1 0 0 1-2 0V6.684l-3.956 1.978a4.571 4.571 0 0 1-4.088 0L1.384 6.376a4.57 4.57 0 0 1-.853-.553C.163 5.522 0 5.05 0 4.573Z",fill:"#fff"}),_.createElement("path",{d:"M5.061 13.305 3 12.274V9.42l2.061 1.031a6.571 6.571 0 0 0 5.878 0L13 9.421v2.853l-2.061 1.03a6.571 6.571 0 0 1-5.878 0Z",fill:"#fff"}))},{title:"Examples",description:"A collection of reference applications you can use as a starting point.",link:"https://refine.dev/examples",icon:_.createElement("svg",{width:"16",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4H0V2Zm3 2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",fill:"#fff"}),_.createElement("path",{d:"M0 14V8h16v6a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2Z",fill:"#fff"}))},{title:"Community",description:"Join our Discord community and keep up with the latest news.",link:"https://discord.gg/refine",icon:_.createElement("svg",{width:"16",height:"12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M13.553 1.005A13.334 13.334 0 0 0 10.253 0c-.156.276-.298.56-.423.85a12.42 12.42 0 0 0-3.664 0A8.975 8.975 0 0 0 5.744 0 13.43 13.43 0 0 0 2.44 1.007C.351 4.066-.215 7.05.068 9.99A13.36 13.36 0 0 0 4.116 12c.328-.436.618-.9.867-1.384a8.647 8.647 0 0 1-1.365-.645c.115-.082.227-.167.335-.249a9.594 9.594 0 0 0 8.094 0c.11.089.222.173.335.25-.436.254-.894.47-1.368.646.249.484.539.946.867 1.382a13.3 13.3 0 0 0 4.051-2.01c.332-3.41-.568-6.365-2.379-8.985Zm-8.21 7.176c-.79 0-1.442-.709-1.442-1.58 0-.872.63-1.587 1.439-1.587s1.456.715 1.442 1.586c-.014.872-.636 1.58-1.44 1.58Zm5.315 0c-.79 0-1.44-.709-1.44-1.58 0-.872.63-1.587 1.44-1.587.81 0 1.452.715 1.438 1.586-.014.872-.634 1.58-1.438 1.58Z",fill:"#fff"}))}],ai=()=>{let e=nr("(max-width: 1010px)"),t=nr("(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 _.createElement("div",{style:{backgroundImage:"url(https://refine.ams3.cdn.digitaloceanspaces.com/welcome-page/welcome-page.webp)",backgroundPosition:"center top",backgroundSize:"cover",backgroundRepeat:"no-repeat",minHeight:"100vh",backgroundColor:"#0D0D12",fontFamily:"Arial",color:"#FFFFFF"}},_.createElement("div",{style:{height:"89px"}}),_.createElement("div",{style:{display:"flex",justifyContent:"center"}},_.createElement("img",{src:"https://refine.ams3.cdn.digitaloceanspaces.com/welcome-page/welcome-logo.webp",width:"198",height:"54"})),_.createElement("div",{style:{height:e?"270px":"22vw",minHeight:e?"270px":"313px"}}),_.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px",textAlign:"center"}},_.createElement("h1",{style:{fontSize:o(),fontWeight:700,margin:"0px"}},"Welcome Aboard!"),_.createElement("h4",{style:{fontSize:s(),fontWeight:400,margin:"0px"}},"Your configuration is completed.")),_.createElement("div",{style:{height:"64px"}}),_.createElement("div",{style:{display:"grid",gridTemplateColumns:`repeat(${r()})`,justifyContent:"center",gap:"48px",paddingRight:"16px",paddingLeft:"16px",maxWidth:"976px",margin:"auto"}},ni.map(a=>_.createElement(ii,{key:`welcome-page-${a.title}`,card:a}))),_.createElement("div",{style:{height:"64px"}}))},ii=({card:e})=>{let{title:t,description:r,icon:o,link:s}=e,[a,n]=si(!1);return _.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},_.createElement("div",{style:{display:"flex",alignItems:"center"}},_.createElement("a",{onPointerEnter:()=>n(!0),onPointerLeave:()=>n(!1),style:{display:"flex",alignItems:"center",color:"#fff",textDecoration:"none"},href:s},o,_.createElement("span",{style:{fontSize:"16px",fontWeight:700,marginLeft:"13px",marginRight:"14px"}},t),_.createElement("svg",{style:{transition:"transform 0.5s ease-in-out, opacity 0.2s ease-in-out",...a&&{transform:"translateX(4px)",opacity:1}},width:"12",height:"8",fill:"none",opacity:"0.5",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M7.293.293a1 1 0 0 1 1.414 0l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L8.586 5H1a1 1 0 0 1 0-2h7.586L7.293 1.707a1 1 0 0 1 0-1.414Z",fill:"#fff"})))),_.createElement("span",{style:{fontSize:"12px",opacity:.5,lineHeight:"16px"}},r))};import te from"react";import{QueryClientProvider as di,QueryClient as Vs}from"@tanstack/react-query";import{ReactQueryDevtools as li}from"@tanstack/react-query-devtools";import{useEffect as ci}from"react";import{useContext as it}from"react";var ui="4.14.1",ws=()=>{let e=vr(),t=it(at),r=it(Ge),o=it(Ft),s=it(St),{i18nProvider:a}=it(Se),n=it(Qt),u=it(nt),{resources:p}=Q(),d=!!t.create||!!t.get||!!t.update,l=!!(r!=null&&r.publish)||!!(r!=null&&r.subscribe)||!!(r!=null&&r.unsubscribe),c=!!o.useHistory||!!o.Link||!!o.Prompt||!!o.useLocation||!!o.useParams,T=!!s,R=!!(a!=null&&a.changeLocale)||!!(a!=null&&a.getLocale)||!!(a!=null&&a.translate),v=!!n.close||!!n.open,U=!!u.can;return{providers:{auth:e,auditLog:d,live:l,router:c,data:T,i18n:R,notification:v,accessControl:U},version:ui,resourceCount:p.length}};var pi=e=>{let t=JSON.stringify(e||{});return typeof btoa<"u"?btoa(t):Buffer.from(t).toString("base64")},As=()=>{let e=ws();return ci(()=>{if(typeof window>"u"&&!Image)return;let t=new Image;t.src=`https://telemetry.refine.dev/telemetry?payload=${pi(e)}`},[]),null};var Ss=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 Qs from"react";var ks=e=>{let t=Qs.useRef(!1);Qs.useEffect(()=>{t.current===!1&&e&&Ss(e)&&(t.current=!0)},[e])};var mi=({legacyAuthProvider:e,authProvider:t,dataProvider:r,legacyRouterProvider:o,routerProvider:s,notificationProvider:a,accessControlProvider:n,auditLogProvider:u,resources:p,DashboardPage:d,ReadyPage:l,LoginPage:c,catchAll:T,children:R,liveProvider:v,i18nProvider:U,Title:i,Layout:y,Sider:f,Header:C,Footer:E,OffLayoutArea:m,onLiveEvent:x,options:g})=>{let{optionsWithDefaults:D,disableTelemetryWithDefault:P,reactQueryWithDefaults:h}=Sr({options:g}),b=ir(()=>{var B;return h.clientConfig instanceof Vs?h.clientConfig:new Vs({...h.clientConfig,defaultOptions:{...h.clientConfig.defaultOptions,queries:{refetchOnWindowFocus:!1,keepPreviousData:!0,...(B=h.clientConfig.defaultOptions)==null?void 0:B.queries}}})},[h.clientConfig]),I=te.useMemo(()=>typeof a=="function"?a:()=>a!=null?a:{},[a])();if(ks(s),o&&!s&&(p!=null?p:[]).length===0)return l?te.createElement(l,null):te.createElement(Zr,null);let{RouterComponent:w=te.Fragment}=s?{}:o!=null?o:{};return te.createElement(di,{client:b},te.createElement(qo,{...I},te.createElement(co,{...e!=null?e:{},isProvided:Boolean(e)},te.createElement(lo,{...t!=null?t:{},isProvided:Boolean(t)},te.createElement(Ho,{...r},te.createElement($o,{liveProvider:v},te.createElement(Yo,{value:o&&!s?"legacy":"new"},te.createElement(Xo,{router:s},te.createElement(cs,{...o},te.createElement(_o,{resources:p!=null?p:[]},te.createElement(ts,{i18nProvider:U},te.createElement(ds,{...n!=null?n:{}},te.createElement(xs,{...u!=null?u:{}},te.createElement(Fr,null,te.createElement(wo,{mutationMode:D.mutationMode,warnWhenUnsavedChanges:D.warnWhenUnsavedChanges,syncWithLocation:D.syncWithLocation,Title:i,undoableTimeout:D.undoableTimeout,catchAll:T,DashboardPage:d,LoginPage:c,Layout:y,Sider:f,Footer:E,Header:C,OffLayoutArea:m,hasDashboard:!!d,liveMode:D.liveMode,onLiveEvent:x,options:D},te.createElement(os,null,te.createElement(w,null,R,!P&&te.createElement(As,null),te.createElement(Yr,null))))))))))))))))),h.devtoolConfig===!1?null:te.createElement(li,{initialIsOpen:!1,position:"bottom-right",...h.devtoolConfig}))};import{useEffect as fi,useState as yi}from"react";var Qo=({notification:e})=>{let t=V(),{notificationDispatch:r}=He(),{open:o}=Te(),[s,a]=yi(),n=()=>{if(e.isRunning===!0&&(e.seconds===0&&e.doMutation(),e.isSilent||o==null||o({key:`${e.id}-${e.resource}-notification`,type:"progress",message:t("notifications.undoable",{seconds:Ut(e.seconds)},`You have ${Ut(e.seconds)} seconds to undo`),cancelMutation:e.cancelMutation,undoableTimeout:Ut(e.seconds)}),e.seconds>0)){s&&clearTimeout(s);let u=setTimeout(()=>{r({type:"DECREASE_NOTIFICATION_SECOND",payload:{id:e.id,seconds:e.seconds,resource:e.resource}})},1e3);a(u)}};return fi(()=>{n()},[e]),null};import Jr,{useEffect as gi}from"react";var Ti=({children:e,Layout:t,Sider:r,Header:o,Title:s,Footer:a,OffLayoutArea:n})=>{let{Layout:u,Footer:p,Header:d,Sider:l,Title:c,OffLayoutArea:T}=Vt(),R=t!=null?t:u;return Jr.createElement(R,{Sider:r!=null?r:l,Header:o!=null?o:d,Footer:a!=null?a:p,Title:s!=null?s:c,OffLayoutArea:n!=null?n:T},e,Jr.createElement(Ri,null))},Ri=()=>{let{Prompt:e}=K(),t=V(),{warnWhen:r,setWarnWhen:o}=kt(),s=a=>(a.preventDefault(),a.returnValue=t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),a.returnValue);return gi(()=>(r&&window.addEventListener("beforeunload",s),window.removeEventListener("beforeunload",s)),[r]),Jr.createElement(e,{when:r,message:t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),setWarnWhen:o})};import Pe from"react";var xi=()=>{let e=ne(),[t,r]=Pe.useState(void 0);return Pe.useEffect(()=>{t&&e(t)},[t]),Pe.useCallback(s=>{t||r(s)},[t])};function Ci({redirectOnFail:e=!0,appendCurrentPathToQuery:t=!0,children:r,fallback:o,loading:s}){var D;let a=O(),n=H(),u=Boolean(a==null?void 0:a.isProvided),p=Boolean(a==null?void 0:a.isLegacy),d=n==="legacy",l=j(),c=ne(),T=xi(),{replace:R}=se(),{useLocation:v}=K(),U=v(),{isLoading:i,isFetching:y,isSuccess:f,data:{authenticated:C,redirectTo:E}={},refetch:m}=_t({v3LegacyAuthProviderCompatible:p});Pe.useEffect(()=>{m()},[r,o]);let x=Pe.useRef({status:i?"initial":"pending",content:s!=null?s:null});y?x.current.status="pending":y||(x.current.status="settled");let g=u?p?f:C:!0;if(x.current.status==="settled")if(g)x.current.content=Pe.createElement(Pe.Fragment,null,r!=null?r:null);else if(typeof o<"u")x.current.content=Pe.createElement(Pe.Fragment,null,o);else{let P=`${d?U==null?void 0:U.pathname:l.pathname}`.replace(/(\?.*|#.*)$/,""),h=p?typeof e=="string"?e:"/login":typeof e=="string"?e:E;if(h)if(d){let b=t?`?to=${encodeURIComponent(P)}`:"";R(`${h}${b}`)}else T({to:h,query:t?{to:(D=l.params)!=null&&D.to?l.params.to:c({to:P,options:{keepQuery:!0},type:"path"})}:void 0,type:"replace"})}return u?Pe.createElement(Pe.Fragment,null,x.current.content):Pe.createElement(Pe.Fragment,null,r!=null?r:null)}import{useEffect as Pi}from"react";var Yr=()=>{let{useLocation:e}=K(),{checkAuth:t}=X(),r=e();return Pi(()=>{t==null||t().catch(()=>!1)},[r==null?void 0:r.pathname]),null};import xt from"react";var bi=({resource:e,action:t,params:r,fallback:o,children:s,...a})=>{var m,x;let n=H(),{resources:u}=Q(),{useParams:p}=K(),{resource:d,id:l,action:c}=j(),{resource:T,id:R,action:v}=p(),U=d==null?void 0:d.name,i=!e||e===(n==="legacy"?T:U)?(m=r==null?void 0:r.id)!=null?m:n==="legacy"?R:l:r==null?void 0:r.id,y=e!=null?e:n==="legacy"?T:U,f,C=Ye();if(n==="legacy")y&&(f=C(y));else if(e){let g=$(e,u);g?f=g:f={name:e,route:e}}else if(typeof d=="string"){let g=$(d,u);g?f=g:f={name:d,route:d}}else f=d;let{data:E}=ls({resource:e!=null?e:f==null?void 0:f.name,action:(x=t!=null?t:n==="legacy"?v:c)!=null?x:"",params:r!=null?r:{id:i,resource:f}});return E!=null&&E.can?xt.isValidElement(s)?xt.cloneElement(s,a):xt.createElement(xt.Fragment,null,s):(E==null?void 0:E.can)===!1?xt.createElement(xt.Fragment,null,o!=null?o:null):null};import Ct,{useEffect as hi}from"react";var Bs=[`
11
+ For more information, see https://refine.dev/docs/core/hooks/useBreadcrumb/#i18n-support`),p.push({label:s(`buttons.${u}`,rt(u))})):p.push({label:s(l,rt(u))})}return{breadcrumbs:p}};import _r from"react";var Tt=(e,t,r=!1)=>{let o=[],s=Ce(e,t);for(;s;)o.push(s),s=Ce(s,t);return o.reverse(),`/${[...o,e].map(n=>{var u,p;return le((p=(u=r?n.route:void 0)!=null?u:n.identifier)!=null?p:n.name)}).join("/").replace(/^\//,"")}`};var bs=(e,t=!1)=>{let r={item:{name:"__root__"},children:{}};e.forEach(s=>{var d,l;let a=[],n=Ce(s,e);for(;n;)a.push(n),n=Ce(n,e);a.reverse();let u=r;a.forEach(c=>{var R,v;let T=(v=(R=t?c.route:void 0)!=null?R:c.identifier)!=null?v:c.name;u.children[T]||(u.children[T]={item:c,children:{}}),u=u.children[T]});let p=(l=(d=t?s.route:void 0)!=null?d:s.identifier)!=null?l:s.name;u.children[p]||(u.children[p]={item:s,children:{}})});let o=s=>{let a=[];return Object.keys(s.children).forEach(n=>{let u=Tt(s.children[n].item,e,t),p={...s.children[n].item,key:u,children:o(s.children[n])};a.push(p)}),a};return o(r)};var hs=e=>e.split("?")[0].split("#")[0].replace(/(.+)(\/$)/,"$1"),Xa=({meta:e,hideOnMissingParameter:t}={hideOnMissingParameter:!0})=>{let r=V(),o=Bt(),s=H(),{resource:a,resources:n}=Q(),{pathname:u}=j(),{useLocation:p}=K(),{pathname:d}=p(),l=s==="legacy"?hs(d):u?hs(u):void 0,c=`/${(l!=null?l:"").replace(/^\//,"")}`,T=a?Tt(a,n,s==="legacy"):c!=null?c:"",R=_r.useMemo(()=>{if(!a)return[];let i=Ce(a,n),y=[Tt(a,n)];for(;i;)y.push(Tt(i,n)),i=Ce(i,n);return y},[]),v=_r.useCallback(i=>{var f,C,E,m,x,g,D,P;if(((E=(f=i==null?void 0:i.meta)==null?void 0:f.hide)!=null?E:(C=i==null?void 0:i.options)==null?void 0:C.hide)||!(i!=null&&i.list)&&i.children.length===0)return;let y=i.list?o({resource:i,action:"list",legacy:s==="legacy",meta:e}):void 0;if(!(t&&y&&y.match(/(\/|^):(.+?)(\/|$){1}/)))return{...i,route:y,icon:L((m=i.meta)==null?void 0:m.icon,(x=i.options)==null?void 0:x.icon,i.icon),label:(P=L((g=i==null?void 0:i.meta)==null?void 0:g.label,(D=i==null?void 0:i.options)==null?void 0:D.label))!=null?P:r(`${i.name}.${i.name}`,yt(i.name,"plural"))}},[s,e,r,t]),U=_r.useMemo(()=>{let i=bs(n,s==="legacy"),y=f=>f.flatMap(C=>{let E=y(C.children),m=v({...C,children:E});return m?[m]:[]});return y(i)},[n,s,v]);return{defaultOpenKeys:R,selectedKey:T,menuItems:U}};var G=()=>{let{params:e}=j();return({resource:r,meta:o}={})=>{let{meta:s}=ur(r!=null?r:{}),{filters:a,sorters:n,current:u,pageSize:p,...d}=e!=null?e:{};return{...s,...d,...o}}};var ti=()=>{let[e,t]=ei(),r=V(),{push:o}=se(),s=ne(),a=H(),{resource:n,action:u}=Q();return qa(()=>{n&&u&&t(r("pages.error.info",{action:u,resource:n==null?void 0:n.name},`You may have forgotten to add the "${u}" component to "${n==null?void 0:n.name}" resource.`))},[n,u]),Nt.createElement(Nt.Fragment,null,Nt.createElement("h1",null,r("pages.error.404",void 0,"Sorry, the page you visited does not exist.")),e&&Nt.createElement("p",null,e),Nt.createElement("button",{onClick:()=>{a==="legacy"?o("/"):s({to:"/"})}},r("pages.error.backHome",void 0,"Back Home")))};import ye,{useState as vs}from"react";var Ar=()=>{let[e,t]=vs(""),[r,o]=vs(""),s=V(),a=O(),{mutate:n}=Et({v3LegacyAuthProviderCompatible:Boolean(a==null?void 0:a.isLegacy)});return ye.createElement(ye.Fragment,null,ye.createElement("h1",null,s("pages.login.title","Sign in your account")),ye.createElement("form",{onSubmit:u=>{u.preventDefault(),n({username:e,password:r})}},ye.createElement("table",null,ye.createElement("tbody",null,ye.createElement("tr",null,ye.createElement("td",null,s("pages.login.username",void 0,"username"),":"),ye.createElement("td",null,ye.createElement("input",{type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",autoFocus:!0,required:!0,value:e,onChange:u=>t(u.target.value)}))),ye.createElement("tr",null,ye.createElement("td",null,s("pages.login.password",void 0,"password"),":"),ye.createElement("td",null,ye.createElement("input",{type:"password",required:!0,size:20,value:r,onChange:u=>o(u.target.value)}))))),ye.createElement("br",null),ye.createElement("input",{type:"submit",value:"login"})))};import Rt from"react";import ae,{useState as jr}from"react";var Ds=({providers:e,registerLink:t,forgotPasswordLink:r,rememberMe:o,contentProps:s,wrapperProps:a,renderContent:n,formProps:u,title:p=void 0})=>{let d=H(),l=st(),{Link:c}=K(),T=d==="legacy"?c:l,[R,v]=jr(""),[U,i]=jr(""),[y,f]=jr(!1),C=V(),E=O(),{mutate:m}=Et({v3LegacyAuthProviderCompatible:Boolean(E==null?void 0:E.isLegacy)}),x=(P,h)=>P?typeof P=="string"?ae.createElement(T,{to:P},h):P:null,g=()=>e?e.map(P=>{var h;return ae.createElement("div",{key:P.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},ae.createElement("button",{onClick:()=>m({providerName:P.name}),style:{display:"flex",alignItems:"center"}},P==null?void 0:P.icon,(h=P.label)!=null?h:ae.createElement("label",null,P.label)))}):null,D=ae.createElement("div",{...s},ae.createElement("h1",{style:{textAlign:"center"}},C("pages.login.title","Sign in to your account")),g(),ae.createElement("hr",null),ae.createElement("form",{onSubmit:P=>{P.preventDefault(),m({email:R,password:U,remember:y})},...u},ae.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},ae.createElement("label",null,C("pages.login.fields.email","Email")),ae.createElement("input",{name:"email",type:"text",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:R,onChange:P=>v(P.target.value)}),ae.createElement("label",null,C("pages.login.fields.password","Password")),ae.createElement("input",{type:"password",name:"password",required:!0,size:20,value:U,onChange:P=>i(P.target.value)}),o!=null?o:ae.createElement(ae.Fragment,null,ae.createElement("label",null,C("pages.login.buttons.rememberMe","Remember me"),ae.createElement("input",{name:"remember",type:"checkbox",size:20,checked:y,value:y.toString(),onChange:()=>{f(!y)}}))),ae.createElement("br",null),r!=null?r:x("/forgot-password",C("pages.login.buttons.forgotPassword","Forgot password?")),ae.createElement("input",{type:"submit",value:C("pages.login.signin","Sign in")}),t!=null?t:ae.createElement("span",null,C("pages.login.buttons.noAccount","Don\u2019t have an account?")," ",x("/register",C("pages.login.register","Sign up"))))));return ae.createElement("div",{...a},n?n(D,p):D)};import de,{useState as Es}from"react";var Us=({providers:e,loginLink:t,wrapperProps:r,contentProps:o,renderContent:s,formProps:a,title:n=void 0})=>{let u=H(),p=st(),{Link:d}=K(),l=u==="legacy"?d:p,[c,T]=Es(""),[R,v]=Es(""),U=V(),i=O(),{mutate:y,isLoading:f}=xr({v3LegacyAuthProviderCompatible:Boolean(i==null?void 0:i.isLegacy)}),C=(x,g)=>x?typeof x=="string"?de.createElement(l,{to:x},g):x:null,E=()=>e?e.map(x=>{var g;return de.createElement("div",{key:x.name,style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:"1rem"}},de.createElement("button",{onClick:()=>y({providerName:x.name}),style:{display:"flex",alignItems:"center"}},x==null?void 0:x.icon,(g=x.label)!=null?g:de.createElement("label",null,x.label)))}):null,m=de.createElement("div",{...o},de.createElement("h1",{style:{textAlign:"center"}},U("pages.register.title","Sign up for your account")),E(),de.createElement("hr",null),de.createElement("form",{onSubmit:x=>{x.preventDefault(),y({email:c,password:R})},...a},de.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},de.createElement("label",null,U("pages.register.fields.email","Email")),de.createElement("input",{name:"email",type:"email",size:20,autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:c,onChange:x=>T(x.target.value)}),de.createElement("label",null,U("pages.register.fields.password","Password")),de.createElement("input",{name:"password",type:"password",required:!0,size:20,value:R,onChange:x=>v(x.target.value)}),de.createElement("input",{type:"submit",value:U("pages.register.buttons.submit","Sign up"),disabled:f}),t!=null?t:de.createElement(de.Fragment,null,de.createElement("span",null,U("pages.login.buttons.haveAccount","Have an account?")," ",C("/login",U("pages.login.signin","Sign in")))))));return de.createElement("div",{...r},s?s(m,n):m)};import Me,{useState as ri}from"react";var Ms=({loginLink:e,wrapperProps:t,contentProps:r,renderContent:o,formProps:s,title:a=void 0})=>{let n=V(),u=H(),p=st(),{Link:d}=K(),l=u==="legacy"?d:p,[c,T]=ri(""),{mutate:R,isLoading:v}=Pr(),U=(y,f)=>y?typeof y=="string"?Me.createElement(l,{to:y},f):y:null,i=Me.createElement("div",{...r},Me.createElement("h1",{style:{textAlign:"center"}},n("pages.forgotPassword.title","Forgot your password?")),Me.createElement("hr",null),Me.createElement("form",{onSubmit:y=>{y.preventDefault(),R({email:c})},...s},Me.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Me.createElement("label",null,n("pages.forgotPassword.fields.email","Email")),Me.createElement("input",{name:"email",type:"mail",autoCorrect:"off",spellCheck:!1,autoCapitalize:"off",required:!0,value:c,onChange:y=>T(y.target.value)}),Me.createElement("input",{type:"submit",disabled:v,value:n("pages.forgotPassword.buttons.submit","Send reset instructions")}),Me.createElement("br",null),e!=null?e:Me.createElement("span",null,n("pages.register.buttons.haveAccount","Have an account? ")," ",U("/login",n("pages.login.signin","Sign in"))))));return Me.createElement("div",{...t},o?o(i,a):i)};import Qe,{useState as Ls}from"react";var Is=({wrapperProps:e,contentProps:t,renderContent:r,formProps:o,title:s=void 0})=>{let a=V(),n=O(),{mutate:u,isLoading:p}=hr({v3LegacyAuthProviderCompatible:Boolean(n==null?void 0:n.isLegacy)}),[d,l]=Ls(""),[c,T]=Ls(""),R=Qe.createElement("div",{...t},Qe.createElement("h1",{style:{textAlign:"center"}},a("pages.updatePassword.title","Update Password")),Qe.createElement("hr",null),Qe.createElement("form",{onSubmit:v=>{v.preventDefault(),u({password:d,confirmPassword:c})},...o},Qe.createElement("div",{style:{display:"flex",flexDirection:"column",padding:25}},Qe.createElement("label",null,a("pages.updatePassword.fields.password","New Password")),Qe.createElement("input",{name:"password",type:"password",required:!0,size:20,value:d,onChange:v=>l(v.target.value)}),Qe.createElement("label",null,a("pages.updatePassword.fields.confirmPassword","Confirm New Password")),Qe.createElement("input",{name:"confirmPassword",type:"password",required:!0,size:20,value:c,onChange:v=>T(v.target.value)}),Qe.createElement("input",{type:"submit",disabled:p,value:a("pages.updatePassword.buttons.submit","Update")}))));return Qe.createElement("div",{...e},r?r(R,s):R)};var oi=e=>{let{type:t}=e;return Rt.createElement(Rt.Fragment,null,(()=>{switch(t){case"register":return Rt.createElement(Us,{...e});case"forgotPassword":return Rt.createElement(Ms,{...e});case"updatePassword":return Rt.createElement(Is,{...e});default:return Rt.createElement(Ds,{...e})}})())};import Re from"react";var Zr=()=>Re.createElement(Re.Fragment,null,Re.createElement("h1",null,"Welcome on board"),Re.createElement("p",null,"Your configuration is completed."),Re.createElement("p",null,"Now you can get started by adding your resources to the"," ",Re.createElement("code",null,"`resources`")," property of ",Re.createElement("code",null,"`<Refine>`")),Re.createElement("div",{style:{display:"flex",gap:8}},Re.createElement("a",{href:"https://refine.dev",target:"_blank",rel:"noreferrer"},Re.createElement("button",null,"Documentation")),Re.createElement("a",{href:"https://refine.dev/examples",target:"_blank",rel:"noreferrer"},Re.createElement("button",null,"Examples")),Re.createElement("a",{href:"https://discord.gg/refine",target:"_blank",rel:"noreferrer"},Re.createElement("button",null,"Community"))));import _,{useState as si}from"react";var ni=[{title:"Documentation",description:"Learn about the technical details of using refine in your projects.",link:"https://refine.dev/",icon:_.createElement("svg",{width:"14",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V5a1 1 0 0 0-1-1H3a1 1 0 0 1 0-2h10a1 1 0 1 0 0-2H2Z",fill:"#fff"}))},{title:"Tutorial",description:"Learn how to use refine by building a fully-functioning CRUD app, from scratch to full launch.",link:"https://refine.dev/docs/tutorial/introduction/index/",icon:_.createElement("svg",{width:"16",height:"14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M0 4.573c0-.475.163-.948.53-1.25a4.57 4.57 0 0 1 .854-.553L5.956.485a4.571 4.571 0 0 1 4.088 0l4.572 2.285c.308.154.594.34.853.553.306.251.47.62.517 1.01.01.055.014.112.014.169v6.5a1 1 0 0 1-2 0V6.684l-3.956 1.978a4.571 4.571 0 0 1-4.088 0L1.384 6.376a4.57 4.57 0 0 1-.853-.553C.163 5.522 0 5.05 0 4.573Z",fill:"#fff"}),_.createElement("path",{d:"M5.061 13.305 3 12.274V9.42l2.061 1.031a6.571 6.571 0 0 0 5.878 0L13 9.421v2.853l-2.061 1.03a6.571 6.571 0 0 1-5.878 0Z",fill:"#fff"}))},{title:"Examples",description:"A collection of reference applications you can use as a starting point.",link:"https://refine.dev/examples",icon:_.createElement("svg",{width:"16",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4H0V2Zm3 2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",fill:"#fff"}),_.createElement("path",{d:"M0 14V8h16v6a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2Z",fill:"#fff"}))},{title:"Community",description:"Join our Discord community and keep up with the latest news.",link:"https://discord.gg/refine",icon:_.createElement("svg",{width:"16",height:"12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M13.553 1.005A13.334 13.334 0 0 0 10.253 0c-.156.276-.298.56-.423.85a12.42 12.42 0 0 0-3.664 0A8.975 8.975 0 0 0 5.744 0 13.43 13.43 0 0 0 2.44 1.007C.351 4.066-.215 7.05.068 9.99A13.36 13.36 0 0 0 4.116 12c.328-.436.618-.9.867-1.384a8.647 8.647 0 0 1-1.365-.645c.115-.082.227-.167.335-.249a9.594 9.594 0 0 0 8.094 0c.11.089.222.173.335.25-.436.254-.894.47-1.368.646.249.484.539.946.867 1.382a13.3 13.3 0 0 0 4.051-2.01c.332-3.41-.568-6.365-2.379-8.985Zm-8.21 7.176c-.79 0-1.442-.709-1.442-1.58 0-.872.63-1.587 1.439-1.587s1.456.715 1.442 1.586c-.014.872-.636 1.58-1.44 1.58Zm5.315 0c-.79 0-1.44-.709-1.44-1.58 0-.872.63-1.587 1.44-1.587.81 0 1.452.715 1.438 1.586-.014.872-.634 1.58-1.438 1.58Z",fill:"#fff"}))}],ai=()=>{let e=nr("(max-width: 1010px)"),t=nr("(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 _.createElement("div",{style:{backgroundImage:"url(https://refine.ams3.cdn.digitaloceanspaces.com/welcome-page/welcome-page.webp)",backgroundPosition:"center top",backgroundSize:"cover",backgroundRepeat:"no-repeat",minHeight:"100vh",backgroundColor:"#0D0D12",fontFamily:"Arial",color:"#FFFFFF"}},_.createElement("div",{style:{height:"89px"}}),_.createElement("div",{style:{display:"flex",justifyContent:"center"}},_.createElement("img",{src:"https://refine.ams3.cdn.digitaloceanspaces.com/welcome-page/welcome-logo.webp",width:"198",height:"54"})),_.createElement("div",{style:{height:e?"270px":"22vw",minHeight:e?"270px":"313px"}}),_.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px",textAlign:"center"}},_.createElement("h1",{style:{fontSize:o(),fontWeight:700,margin:"0px"}},"Welcome Aboard!"),_.createElement("h4",{style:{fontSize:s(),fontWeight:400,margin:"0px"}},"Your configuration is completed.")),_.createElement("div",{style:{height:"64px"}}),_.createElement("div",{style:{display:"grid",gridTemplateColumns:`repeat(${r()})`,justifyContent:"center",gap:"48px",paddingRight:"16px",paddingLeft:"16px",maxWidth:"976px",margin:"auto"}},ni.map(a=>_.createElement(ii,{key:`welcome-page-${a.title}`,card:a}))),_.createElement("div",{style:{height:"64px"}}))},ii=({card:e})=>{let{title:t,description:r,icon:o,link:s}=e,[a,n]=si(!1);return _.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},_.createElement("div",{style:{display:"flex",alignItems:"center"}},_.createElement("a",{onPointerEnter:()=>n(!0),onPointerLeave:()=>n(!1),style:{display:"flex",alignItems:"center",color:"#fff",textDecoration:"none"},href:s},o,_.createElement("span",{style:{fontSize:"16px",fontWeight:700,marginLeft:"13px",marginRight:"14px"}},t),_.createElement("svg",{style:{transition:"transform 0.5s ease-in-out, opacity 0.2s ease-in-out",...a&&{transform:"translateX(4px)",opacity:1}},width:"12",height:"8",fill:"none",opacity:"0.5",xmlns:"http://www.w3.org/2000/svg"},_.createElement("path",{d:"M7.293.293a1 1 0 0 1 1.414 0l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414-1.414L8.586 5H1a1 1 0 0 1 0-2h7.586L7.293 1.707a1 1 0 0 1 0-1.414Z",fill:"#fff"})))),_.createElement("span",{style:{fontSize:"12px",opacity:.5,lineHeight:"16px"}},r))};import te from"react";import{QueryClientProvider as di,QueryClient as Vs}from"@tanstack/react-query";import{ReactQueryDevtools as li}from"@tanstack/react-query-devtools";import{useEffect as ci}from"react";import{useContext as it}from"react";var ui="4.14.3",ws=()=>{let e=vr(),t=it(at),r=it(Ge),o=it(Ft),s=it(St),{i18nProvider:a}=it(Se),n=it(Qt),u=it(nt),{resources:p}=Q(),d=!!t.create||!!t.get||!!t.update,l=!!(r!=null&&r.publish)||!!(r!=null&&r.subscribe)||!!(r!=null&&r.unsubscribe),c=!!o.useHistory||!!o.Link||!!o.Prompt||!!o.useLocation||!!o.useParams,T=!!s,R=!!(a!=null&&a.changeLocale)||!!(a!=null&&a.getLocale)||!!(a!=null&&a.translate),v=!!n.close||!!n.open,U=!!u.can;return{providers:{auth:e,auditLog:d,live:l,router:c,data:T,i18n:R,notification:v,accessControl:U},version:ui,resourceCount:p.length}};var pi=e=>{let t=JSON.stringify(e||{});return typeof btoa<"u"?btoa(t):Buffer.from(t).toString("base64")},As=()=>{let e=ws();return ci(()=>{if(typeof window>"u"&&!Image)return;let t=new Image;t.src=`https://telemetry.refine.dev/telemetry?payload=${pi(e)}`},[]),null};var Ss=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 Qs from"react";var ks=e=>{let t=Qs.useRef(!1);Qs.useEffect(()=>{t.current===!1&&e&&Ss(e)&&(t.current=!0)},[e])};var mi=({legacyAuthProvider:e,authProvider:t,dataProvider:r,legacyRouterProvider:o,routerProvider:s,notificationProvider:a,accessControlProvider:n,auditLogProvider:u,resources:p,DashboardPage:d,ReadyPage:l,LoginPage:c,catchAll:T,children:R,liveProvider:v,i18nProvider:U,Title:i,Layout:y,Sider:f,Header:C,Footer:E,OffLayoutArea:m,onLiveEvent:x,options:g})=>{let{optionsWithDefaults:D,disableTelemetryWithDefault:P,reactQueryWithDefaults:h}=Sr({options:g}),b=ir(()=>{var B;return h.clientConfig instanceof Vs?h.clientConfig:new Vs({...h.clientConfig,defaultOptions:{...h.clientConfig.defaultOptions,queries:{refetchOnWindowFocus:!1,keepPreviousData:!0,...(B=h.clientConfig.defaultOptions)==null?void 0:B.queries}}})},[h.clientConfig]),I=te.useMemo(()=>typeof a=="function"?a:()=>a!=null?a:{},[a])();if(ks(s),o&&!s&&(p!=null?p:[]).length===0)return l?te.createElement(l,null):te.createElement(Zr,null);let{RouterComponent:w=te.Fragment}=s?{}:o!=null?o:{};return te.createElement(di,{client:b},te.createElement(qo,{...I},te.createElement(co,{...e!=null?e:{},isProvided:Boolean(e)},te.createElement(lo,{...t!=null?t:{},isProvided:Boolean(t)},te.createElement(Ho,{...r},te.createElement($o,{liveProvider:v},te.createElement(Yo,{value:o&&!s?"legacy":"new"},te.createElement(Xo,{router:s},te.createElement(cs,{...o},te.createElement(_o,{resources:p!=null?p:[]},te.createElement(ts,{i18nProvider:U},te.createElement(ds,{...n!=null?n:{}},te.createElement(xs,{...u!=null?u:{}},te.createElement(Fr,null,te.createElement(wo,{mutationMode:D.mutationMode,warnWhenUnsavedChanges:D.warnWhenUnsavedChanges,syncWithLocation:D.syncWithLocation,Title:i,undoableTimeout:D.undoableTimeout,catchAll:T,DashboardPage:d,LoginPage:c,Layout:y,Sider:f,Footer:E,Header:C,OffLayoutArea:m,hasDashboard:!!d,liveMode:D.liveMode,onLiveEvent:x,options:D},te.createElement(os,null,te.createElement(w,null,R,!P&&te.createElement(As,null),te.createElement(Yr,null))))))))))))))))),h.devtoolConfig===!1?null:te.createElement(li,{initialIsOpen:!1,position:"bottom-right",...h.devtoolConfig}))};import{useEffect as fi,useState as yi}from"react";var Qo=({notification:e})=>{let t=V(),{notificationDispatch:r}=He(),{open:o}=Te(),[s,a]=yi(),n=()=>{if(e.isRunning===!0&&(e.seconds===0&&e.doMutation(),e.isSilent||o==null||o({key:`${e.id}-${e.resource}-notification`,type:"progress",message:t("notifications.undoable",{seconds:Ut(e.seconds)},`You have ${Ut(e.seconds)} seconds to undo`),cancelMutation:e.cancelMutation,undoableTimeout:Ut(e.seconds)}),e.seconds>0)){s&&clearTimeout(s);let u=setTimeout(()=>{r({type:"DECREASE_NOTIFICATION_SECOND",payload:{id:e.id,seconds:e.seconds,resource:e.resource}})},1e3);a(u)}};return fi(()=>{n()},[e]),null};import Jr,{useEffect as gi}from"react";var Ti=({children:e,Layout:t,Sider:r,Header:o,Title:s,Footer:a,OffLayoutArea:n})=>{let{Layout:u,Footer:p,Header:d,Sider:l,Title:c,OffLayoutArea:T}=Vt(),R=t!=null?t:u;return Jr.createElement(R,{Sider:r!=null?r:l,Header:o!=null?o:d,Footer:a!=null?a:p,Title:s!=null?s:c,OffLayoutArea:n!=null?n:T},e,Jr.createElement(Ri,null))},Ri=()=>{let{Prompt:e}=K(),t=V(),{warnWhen:r,setWarnWhen:o}=kt(),s=a=>(a.preventDefault(),a.returnValue=t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),a.returnValue);return gi(()=>(r&&window.addEventListener("beforeunload",s),window.removeEventListener("beforeunload",s)),[r]),Jr.createElement(e,{when:r,message:t("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."),setWarnWhen:o})};import Pe from"react";var xi=()=>{let e=ne(),[t,r]=Pe.useState(void 0);return Pe.useEffect(()=>{t&&e(t)},[t]),Pe.useCallback(s=>{t||r(s)},[t])};function Ci({redirectOnFail:e=!0,appendCurrentPathToQuery:t=!0,children:r,fallback:o,loading:s}){var D;let a=O(),n=H(),u=Boolean(a==null?void 0:a.isProvided),p=Boolean(a==null?void 0:a.isLegacy),d=n==="legacy",l=j(),c=ne(),T=xi(),{replace:R}=se(),{useLocation:v}=K(),U=v(),{isLoading:i,isFetching:y,isSuccess:f,data:{authenticated:C,redirectTo:E}={},refetch:m}=_t({v3LegacyAuthProviderCompatible:p});Pe.useEffect(()=>{m()},[r,o]);let x=Pe.useRef({status:i?"initial":"pending",content:s!=null?s:null});y?x.current.status="pending":y||(x.current.status="settled");let g=u?p?f:C:!0;if(x.current.status==="settled")if(g)x.current.content=Pe.createElement(Pe.Fragment,null,r!=null?r:null);else if(typeof o<"u")x.current.content=Pe.createElement(Pe.Fragment,null,o);else{let P=`${d?U==null?void 0:U.pathname:l.pathname}`.replace(/(\?.*|#.*)$/,""),h=p?typeof e=="string"?e:"/login":typeof e=="string"?e:E;if(h)if(d){let b=t?`?to=${encodeURIComponent(P)}`:"";R(`${h}${b}`)}else T({to:h,query:t?{to:(D=l.params)!=null&&D.to?l.params.to:c({to:P,options:{keepQuery:!0},type:"path"})}:void 0,type:"replace"})}return u?Pe.createElement(Pe.Fragment,null,x.current.content):Pe.createElement(Pe.Fragment,null,r!=null?r:null)}import{useEffect as Pi}from"react";var Yr=()=>{let{useLocation:e}=K(),{checkAuth:t}=X(),r=e();return Pi(()=>{t==null||t().catch(()=>!1)},[r==null?void 0:r.pathname]),null};import xt from"react";var bi=({resource:e,action:t,params:r,fallback:o,children:s,...a})=>{var m,x;let n=H(),{resources:u}=Q(),{useParams:p}=K(),{resource:d,id:l,action:c}=j(),{resource:T,id:R,action:v}=p(),U=d==null?void 0:d.name,i=!e||e===(n==="legacy"?T:U)?(m=r==null?void 0:r.id)!=null?m:n==="legacy"?R:l:r==null?void 0:r.id,y=e!=null?e:n==="legacy"?T:U,f,C=Ye();if(n==="legacy")y&&(f=C(y));else if(e){let g=$(e,u);g?f=g:f={name:e,route:e}}else if(typeof d=="string"){let g=$(d,u);g?f=g:f={name:d,route:d}}else f=d;let{data:E}=ls({resource:e!=null?e:f==null?void 0:f.name,action:(x=t!=null?t:n==="legacy"?v:c)!=null?x:"",params:r!=null?r:{id:i,resource:f}});return E!=null&&E.can?xt.isValidElement(s)?xt.cloneElement(s,a):xt.createElement(xt.Fragment,null,s):(E==null?void 0:E.can)===!1?xt.createElement(xt.Fragment,null,o!=null?o:null):null};import Ct,{useEffect as hi}from"react";var Bs=[`
12
12
  .banner {
13
13
  display: flex;
14
14
  @media (max-width: 1000px) {