@refinedev/antd 6.0.2 → 6.0.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/dist/index.cjs CHANGED
@@ -1,3 +1,4164 @@
1
1
  "use client"
2
- var Us=Object.create;var mr=Object.defineProperty;var Vs=Object.getOwnPropertyDescriptor;var Is=Object.getOwnPropertyNames;var Hs=Object.getPrototypeOf,Os=Object.prototype.hasOwnProperty;var o=(e,r)=>mr(e,"name",{value:r,configurable:!0});var Ms=(e,r)=>{for(var t in r)mr(e,t,{get:r[t],enumerable:!0})},wt=(e,r,t,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Is(r))!Os.call(e,n)&&n!==t&&mr(e,n,{get:()=>r[n],enumerable:!(s=Vs(r,n))||s.enumerable});return e};var P=(e,r,t)=>(t=e!=null?Us(Hs(e)):{},wt(r||!e||!e.__esModule?mr(t,"default",{value:e,enumerable:!0}):t,e)),Qs=e=>wt(mr({},"__esModule",{value:!0}),e);var Ys={};Ms(Ys,{AuthPage:()=>Es,AutoSaveIndicator:()=>ht,BooleanField:()=>Jo,Breadcrumb:()=>ke,CloneButton:()=>wo,Create:()=>Ho,CreateButton:()=>Ir,DateField:()=>ts,DeleteButton:()=>ar,Edit:()=>Oo,EditButton:()=>Mr,EmailField:()=>Go,ErrorComponent:()=>bs,ExportButton:()=>Co,FileField:()=>ss,FilterDropdown:()=>Ts,ImageField:()=>Xo,ImportButton:()=>Uo,List:()=>Io,ListButton:()=>pr,MarkdownField:()=>cs,NumberField:()=>ls,PageHeader:()=>Le,RefineThemes:()=>$s,RefreshButton:()=>ir,SaveButton:()=>lr,Show:()=>Mo,ShowButton:()=>To,TagField:()=>zo,TextField:()=>Ao,ThemedHeader:()=>kr,ThemedLayout:()=>eo,ThemedLayoutContext:()=>fr,ThemedLayoutContextProvider:()=>Er,ThemedSider:()=>wr,ThemedTitle:()=>Te,UrlField:()=>tt,WelcomePage:()=>hs,getDefaultFilter:()=>Mt,getDefaultSortOrder:()=>Ot,getValueFromEvent:()=>ks,mapAntdFilterToCrudFilter:()=>xr,mapAntdSorterToCrudSorting:()=>Fr,rangePickerFilterMapper:()=>ws,useCheckboxGroup:()=>As,useDrawer:()=>yt,useDrawerForm:()=>Tt,useEditableTable:()=>jt,useFileUploadState:()=>zs,useForm:()=>Be,useImport:()=>qs,useModal:()=>ct,useModalForm:()=>ft,useNotificationProvider:()=>Ws,useRadioGroup:()=>js,useSelect:()=>Ns,useSimpleList:()=>$t,useStepsForm:()=>gt,useTable:()=>Cr,useThemedLayoutContext:()=>Pt});module.exports=Qs(Ys);var kt=P(require("react")),Lt=require("antd"),Ut=require("sunflower-antd"),me=require("@refinedev/core");var Be=o(({action:e,resource:r,onMutationSuccess:t,onMutationError:s,autoSave:n,submitOnEnter:a=!1,warnWhenUnsavedChanges:p,redirect:i,successNotification:l,errorNotification:u,meta:y,queryMeta:d,mutationMeta:f,liveMode:m,liveParams:c,mutationMode:T,dataProviderName:g,onLiveEvent:F,invalidates:E,undoableTimeout:b,queryOptions:B,createMutationOptions:h,updateMutationOptions:U,id:C,overtimeOptions:v,optimisticUpdateMap:K,defaultFormValues:I,disableServerSideValidation:S=!1}={})=>{var le,he;let{options:q}=(0,me.useRefineContext)(),te=(q==null?void 0:q.disableServerSideValidation)||S,X=(0,me.useTranslate)(),[N]=Lt.Form.useForm(),j=(0,Ut.useForm)({form:N,defaultFormValues:I}),{form:A}=j,G=(0,me.useForm)({onMutationSuccess:t||void 0,onMutationError:async(ee,ve,gr)=>{if(te){s==null||s(ee,ve,gr);return}let Ue=[],Ls=A.getFieldsValue();Ue=Object.keys((0,me.flattenObjectKeys)(Ls)).map(Pr=>({name:(0,me.propertyPathToArray)(Pr),errors:void 0})),A.setFields(Ue);let Rt=ee==null?void 0:ee.errors;for(let Pr in Rt){let Ce=Rt[Pr],ur=[];Array.isArray(Ce)&&(ur=Ce),typeof Ce=="string"&&(ur=[Ce]),typeof Ce=="boolean"&&Ce&&(ur=["Field is not valid."]),typeof Ce=="object"&&"key"in Ce&&(ur=[X(Ce.key,Ce.message)]),Ue.push({name:(0,me.propertyPathToArray)(Pr),errors:ur})}A.setFields([...Ue]),s==null||s(ee,ve,gr)},redirect:i,action:e,resource:r,successNotification:l,errorNotification:u,meta:y,queryMeta:d,mutationMeta:f,liveMode:m,liveParams:c,mutationMode:T,dataProviderName:g,onLiveEvent:F,invalidates:E,undoableTimeout:b,queryOptions:B,createMutationOptions:h,updateMutationOptions:U,id:C,overtimeOptions:v,optimisticUpdateMap:K,autoSave:n}),{formLoading:R,onFinish:$,query:x,id:M,onFinishAutoSave:z}=G,{warnWhenUnsavedChanges:J,setWarnWhen:D}=(0,me.useWarnAboutChange)(),V=p??J;kt.default.useEffect(()=>{A.resetFields()},[(le=x==null?void 0:x.data)==null?void 0:le.data,M]);let w=o(ee=>{a&&ee.key==="Enter"&&A.submit()},"onKeyUp"),Z=o((ee,ve)=>{if(ee&&V&&D(!0),n!=null&&n.enabled){D(!1);let gr=(n==null?void 0:n.onFinish)??(Ue=>Ue);return z(gr(ve)).catch(Ue=>Ue)}return ee},"onValuesChange"),ne={disabled:R,onClick:()=>{A.submit()}};return{form:j.form,formProps:{...j.formProps,onFinish:ee=>$(ee).catch(ve=>ve),onKeyUp:w,onValuesChange:Z,initialValues:(he=x==null?void 0:x.data)==null?void 0:he.data},saveButtonProps:ne,defaultFormValuesLoading:j.defaultFormValuesLoading,...G,onFinish:async ee=>await $(ee??j.form.getFieldsValue(!0))}},"useForm");var ze=P(require("react")),de=require("@refinedev/core");var Vt=require("@refinedev/core");var ct=o(({modalProps:e={}}={})=>{let{show:r,close:t,visible:s}=(0,Vt.useModal)({defaultVisible:e.open});return{modalProps:{...e,onCancel:n=>{var a;(a=e.onCancel)==null||a.call(e,n),t()},open:s,visible:s},show:r,close:t}},"useModal");var ft=o(({syncWithLocation:e,defaultVisible:r=!1,autoSubmitClose:t=!0,autoResetForm:s=!0,autoResetFormWhenClose:n=!0,autoSave:a,invalidates:p,...i})=>{var V;let[l,u]=ze.default.useState(!1),y=(0,de.useInvalidate)(),{resource:d,action:f,identifier:m}=(0,de.useResourceParams)({resource:i.resource}),c=(0,de.useParsed)(),T=(0,de.useGo)(),g=(0,de.useUserFriendlyName)(),F=i.action??f??"",E=!(typeof e=="object"&&(e==null?void 0:e.syncId)===!1),b=typeof e=="object"&&"key"in e?e.key:d&&F&&e?`modal-${m}-${F}`:void 0,B=Be({meta:{...b?{[b]:void 0}:{},...i.meta},autoSave:a,invalidates:p,...i}),{form:h,formProps:U,id:C,setId:v,formLoading:K,onFinish:I,autoSaveProps:S}=B,q=(0,de.useTranslate)(),{warnWhen:te,setWarnWhen:X}=(0,de.useWarnAboutChange)(),{show:N,close:j,modalProps:A}=ct({modalProps:{open:r}}),G=A.open||!1,R={modalProps:A,form:h,formLoading:K,formProps:U,formResult:void 0,formValues:h.getFieldsValue,defaultFormValuesLoading:!1,initialValues:{},submit:I,close:j,open:A.open||!1,show:N};ze.default.useEffect(()=>{var w,Z,ne,le;if(l===!1&&b){let he=(Z=(w=c==null?void 0:c.params)==null?void 0:w[b])==null?void 0:Z.open;if(typeof he=="boolean"?he&&N():typeof he=="string"&&he==="true"&&N(),E){let ee=(le=(ne=c==null?void 0:c.params)==null?void 0:ne[b])==null?void 0:le.id;ee&&(v==null||v(ee))}u(!0)}},[b,c,E,v]),ze.default.useEffect(()=>{var w;l===!0&&(G&&b?T({query:{[b]:{...(w=c==null?void 0:c.params)==null?void 0:w[b],open:!0,...E&&C&&{id:C}}},options:{keepQuery:!0},type:"replace"}):b&&!G&&T({query:{[b]:void 0},options:{keepQuery:!0},type:"replace"}))},[C,G,N,b,E]);let $={disabled:K,loading:K,onClick:()=>{h.submit()}},x=(0,ze.useCallback)(()=>{if(S.status==="success"&&(a!=null&&a.invalidateOnClose)&&y({id:C,invalidates:p||["list","many","detail"],dataProviderName:i.dataProviderName,resource:m}),te)if(window.confirm(q("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes.")))X(!1);else return;v==null||v(void 0),R.close(),n&&h.resetFields()},[te,S.status]),M=(0,ze.useCallback)(w=>{typeof w<"u"&&(v==null||v(w)),(!(F==="edit"||F==="clone")||(typeof w<"u"||typeof C<"u"))&&R.show()},[C]),{visible:z,...J}=A,D={open:z,...J};return{...B,...R,show:M,close:x,open:G,formProps:{...U,...B.formProps,onValuesChange:U==null?void 0:U.onValuesChange,onKeyUp:U==null?void 0:U.onKeyUp,onFinish:async w=>{await I(w),t&&j(),s&&h.resetFields()}},modalProps:{...D,width:"1000px",okButtonProps:$,title:q(`${m}.titles.${i.action}`,`${g(`${i.action} ${((V=d==null?void 0:d.meta)==null?void 0:V.label)??m}`,"singular")}`),okText:q("buttons.save","Save"),cancelText:q("buttons.cancel","Cancel"),onCancel:x,forceRender:!0},formLoading:K}},"useModalForm");var Ke=P(require("react")),ye=require("@refinedev/core");var It=require("@refinedev/core");var yt=o(({drawerProps:e={}}={})=>{let{show:r,close:t,visible:s}=(0,It.useModal)({defaultVisible:e.open});return{drawerProps:{...e,onClose:n=>{var a;(a=e.onClose)==null||a.call(e,n),t()},open:s},show:r,close:t}},"useDrawer");var Tt=o(({syncWithLocation:e,defaultVisible:r=!1,autoSubmitClose:t=!0,autoResetForm:s=!0,autoSave:n,invalidates:a,...p})=>{let i=(0,ye.useInvalidate)(),[l,u]=Ke.default.useState(!1),{show:y,close:d,drawerProps:f}=yt({drawerProps:{open:r}}),m=f.open||!1,{resource:c,action:T,identifier:g}=(0,ye.useResourceParams)({resource:p.resource}),F=(0,ye.useParsed)(),E=(0,ye.useGo)(),b=p.action??T??"",B=!(typeof e=="object"&&(e==null?void 0:e.syncId)===!1),h=typeof e=="object"&&"key"in e?e.key:c&&b&&e?`drawer-${(c==null?void 0:c.identifier)??(c==null?void 0:c.name)}-${b}`:void 0,U=Be({meta:{...h?{[h]:void 0}:{},...p.meta},autoSave:n,invalidates:a,...p}),{form:C,formProps:v,formLoading:K,id:I,setId:S,onFinish:q,autoSaveProps:te}=U;Ke.default.useEffect(()=>{var x,M,z,J;if(l===!1&&h){let D=(M=(x=F==null?void 0:F.params)==null?void 0:x[h])==null?void 0:M.open;if(typeof D=="boolean"?D?y():d():typeof D=="string"&&D==="true"&&y(),B){let V=(J=(z=F==null?void 0:F.params)==null?void 0:z[h])==null?void 0:J.id;V&&(S==null||S(V))}u(!0)}},[h,F,B,S,l]),Ke.default.useEffect(()=>{var x;l===!0&&(m&&h?E({query:{[h]:{...(x=F==null?void 0:F.params)==null?void 0:x[h],open:!0,...B&&I&&{id:I}}},options:{keepQuery:!0},type:"replace"}):h&&!m&&E({query:{[h]:void 0},options:{keepQuery:!0},type:"replace"}))},[I,m,y,d,h,B,l]);let X=(0,ye.useTranslate)(),{warnWhen:N,setWarnWhen:j}=(0,ye.useWarnAboutChange)(),A={disabled:K,onClick:()=>{C.submit()},loading:K},G={recordItemId:I,onSuccess:()=>{S==null||S(void 0),d()}},R=(0,Ke.useCallback)(()=>{if(te.status==="success"&&(n!=null&&n.invalidateOnClose)&&i({id:I,invalidates:a||["list","many","detail"],dataProviderName:p.dataProviderName,resource:g}),N)if(window.confirm(X("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes.")))j(!1);else return;d(),S==null||S(void 0)},[N]),$=(0,Ke.useCallback)(x=>{typeof x<"u"&&(S==null||S(x)),(!(b==="edit"||b==="clone")||(typeof x<"u"||typeof I<"u"))&&y()},[I]);return{...U,show:$,close:R,formProps:{form:C,...U.formProps,onValuesChange:v==null?void 0:v.onValuesChange,onKeyUp:v==null?void 0:v.onKeyUp,onFinish:async x=>{await q(x),t&&d(),s&&C.resetFields()}},drawerProps:{...f,width:"500px",onClose:R,open:m,forceRender:!0},saveButtonProps:A,deleteButtonProps:G,formLoading:K}},"useDrawerForm");var Ht=require("sunflower-antd");var gt=o((e={})=>{let r=Be({...e}),{form:t,formProps:s}=r,n=(0,Ht.useStepsForm)({isBackValidate:!1,form:t,submit:a=>{var p;(p=s==null?void 0:s.onFinish)==null||p.call(s,a)},...e});return{...r,...n,formLoading:r.formLoading,formProps:{...n.formProps,...r.formProps,onValuesChange:s==null?void 0:s.onValuesChange,onKeyUp:s==null?void 0:s.onKeyUp},saveButtonProps:{...r.saveButtonProps,onClick:()=>n.submit()}}},"useStepsForm");var be=P(require("react")),hr=require("antd"),At=require("sunflower-antd"),Je=require("@refinedev/core");var br=require("@refinedev/core");var Ot=o((e,r)=>{let t=(0,br.getDefaultSortOrder)(e,r);if(t)return`${t}end`},"getDefaultSortOrder"),Mt=o((e,r,t="eq")=>(0,br.getDefaultFilter)(e,r,t),"getDefaultFilter"),Fr=o(e=>{let r=[];if(Array.isArray(e))e.sort((t,s)=>{var n,a;return(((n=t.column)==null?void 0:n.sorter).multiple??0)<(((a=s.column)==null?void 0:a.sorter).multiple??0)?-1:0}).map(t=>{if(t.field&&t.order){let s=Array.isArray(t.field)?t.field.join("."):`${t.field}`;r.push({field:`${t.columnKey??s}`,order:t.order.replace("end","")})}});else if(e.field&&e.order){let t=Array.isArray(e.field)?e.field.join("."):`${e.field}`;r.push({field:`${e.columnKey??t}`,order:e.order.replace("end","")})}return r},"mapAntdSorterToCrudSorting"),xr=o((e,r,t)=>{let s=[],n=(t??[]).reduce((a,p)=>{let i=p.key||p.field;return{...a,[i]:p}},{});return Object.keys(e).map(a=>{var l,u;let p=e[a],i=((l=r.filter(y=>y.operator!=="or").find(y=>y.field===a))==null?void 0:l.operator)||((u=n[a])==null?void 0:u.operator);i!=="or"&&i!=="and"&&s.push({field:a,operator:i??(Array.isArray(p)?"in":"eq"),value:p})}),s},"mapAntdFilterToCrudFilter");var Qt=require("@refinedev/core"),Nt=P(require("react"));var Ve=o(({to:e,element:r})=>{let t=(0,Qt.useLink)();return Nt.default.createElement(t,{to:e,replace:!1,onClick:s=>{s.preventDefault()}},r)},"PaginationLink");var Cr=o(({onSearch:e,pagination:r,filters:t,sorters:s,syncWithLocation:n,resource:a,successNotification:p,errorNotification:i,queryOptions:l,liveMode:u,onLiveEvent:y,liveParams:d,meta:f,dataProviderName:m}={})=>{let{tableQuery:c,currentPage:T,setCurrentPage:g,pageSize:F,setPageSize:E,filters:b,setFilters:B,sorters:h,setSorters:U,createLinkForSyncWithLocation:C,pageCount:v,overtime:K,result:I}=(0,Je.useTable)({pagination:r,filters:t,sorters:s,syncWithLocation:n,resource:a,successNotification:p,errorNotification:i,queryOptions:l,liveMode:u,onLiveEvent:y,liveParams:d,meta:f,dataProviderName:m}),{syncWithLocation:S}=(0,Je.useSyncWithLocation)(),q=n??S,te=hr.Grid.useBreakpoint(),[X]=hr.Form.useForm(),N=(0,At.useForm)({form:X}),j=(0,Je.useLiveMode)(u),A=(r==null?void 0:r.mode)!=="off",G=t==null?void 0:t.initial,{data:R,isFetched:$,isLoading:x}=c;be.default.useEffect(()=>{if(q){let D=N.form.getFieldsValue(),V=Object.keys(D).reduce((w,Z)=>{let ne=b.find(le=>"field"in le&&le.field===Z);return ne&&(w[Z]=ne==null?void 0:ne.value),w},{});N.form.setFieldsValue(V)}},[q]);let M=o((D,V,w)=>{if(V&&Object.keys(V).length>0){let Z=xr(V,b,G);B(Z)}if(w&&Object.keys(w).length>0){let Z=Fr(w);U(Z)}A&&(g==null||g(D.current||1),E==null||E(D.pageSize||10))},"onChange"),z=o(async D=>{if(e){let V=await e(D);B(V),A&&(g==null||g(1))}},"onFinish"),J=o(()=>A?{itemRender:(D,V,w)=>{var ne;let Z=C({pagination:{pageSize:F,currentPage:D},sorters:h,filters:b});if(V==="page")return(0,be.createElement)(Ve,{to:Z,element:`${D}`});if(V==="next"||V==="prev")return(0,be.createElement)(Ve,{to:Z,element:w});if(V==="jump-next"||V==="jump-prev"){let le=(ne=w==null?void 0:w.props)==null?void 0:ne.children;return(0,be.createElement)(Ve,{to:Z,element:be.Children.count(le)>1?(0,be.createElement)(be.Fragment,{},le):le})}return w},pageSize:F,current:T,simple:!te.sm,position:te.sm?["bottomRight"]:["bottomCenter"],total:R==null?void 0:R.total}:!1,"antdPagination");return{searchFormProps:{...N.formProps,onFinish:z},tableProps:{dataSource:R==null?void 0:R.data,loading:j==="auto"?x:!$,onChange:M,pagination:J(),scroll:{x:!0}},tableQuery:c,sorters:h,filters:b,setSorters:U,setFilters:B,currentPage:T,setCurrentPage:g,pageSize:F,setPageSize:E,pageCount:v,createLinkForSyncWithLocation:C,overtime:K,result:I}},"useTable");var jt=o(({autoSubmitClose:e=!0,...r}={})=>{let t=Cr({...r,successNotification:void 0,errorNotification:void 0}),s=Be({...r,action:"edit",redirect:!1}),{id:n,setId:a,saveButtonProps:p}=s,i={onClick:()=>{a(void 0)}},l=o(y=>({onClick:()=>a(y)}),"editButtonProps"),u=o(y=>y===n,"isEditing");return{...t,...s,formProps:{...s.formProps,onFinish:async y=>{try{let d=await s.onFinish(y);return e&&a(void 0),d}catch(d){return d}}},saveButtonProps:p,cancelButtonProps:i,editButtonProps:l,isEditing:u}},"useEditableTable");var qt=require("@refinedev/core");var Ns=o(e=>{let{query:r,defaultValueQuery:t,onSearch:s,options:n}=(0,qt.useSelect)(e);return{selectProps:{options:n,onSearch:s,loading:t.query.isFetching,showSearch:!0,filterOption:!1},query:r,defaultValueQuery:t.query}},"useSelect");var zt=require("@refinedev/core");var As=o(({resource:e,sorters:r,filters:t,optionLabel:s,optionValue:n,queryOptions:a,pagination:p,liveMode:i,defaultValue:l,selectedOptionsOrder:u,onLiveEvent:y,liveParams:d,meta:f,dataProviderName:m,...c})=>{let{query:T,options:g}=(0,zt.useSelect)({resource:e,sorters:r,filters:t,optionLabel:s,optionValue:n,queryOptions:a,pagination:p,liveMode:i,defaultValue:l,selectedOptionsOrder:u,onLiveEvent:y,liveParams:d,meta:f,dataProviderName:m,...c});return{checkboxGroupProps:{options:g,defaultValue:l},query:T}},"useCheckboxGroup");var Kt=require("@refinedev/core");var js=o(({resource:e,sorters:r,filters:t,optionLabel:s,optionValue:n,queryOptions:a,pagination:p,liveMode:i,defaultValue:l,selectedOptionsOrder:u,onLiveEvent:y,liveParams:d,meta:f,dataProviderName:m,...c})=>{let{query:T,options:g}=(0,Kt.useSelect)({resource:e,sorters:r,filters:t,optionLabel:s,optionValue:n,queryOptions:a,pagination:p,liveMode:i,defaultValue:l,selectedOptionsOrder:u,onLiveEvent:y,liveParams:d,meta:f,dataProviderName:m,...c});return{radioGroupProps:{options:g,defaultValue:l},query:T}},"useRadioGroup");var Br=P(require("react")),cr=require("antd"),Ze=require("@refinedev/core");var qs=o(({resource:e,mapData:r=o(l=>l,"mapData"),paparseOptions:t,batchSize:s=Number.MAX_SAFE_INTEGER,onFinish:n,meta:a,dataProviderName:p,onProgress:i}={})=>{let l=(0,Ze.useTranslate)(),{resource:u}=(0,Ze.useResourceParams)({resource:e}),{mutationResult:y,isLoading:d,handleChange:f}=(0,Ze.useImport)({resource:(u==null?void 0:u.identifier)??(u==null?void 0:u.name),mapData:r,paparseOptions:t,batchSize:s,meta:a,dataProviderName:p,onFinish:n,onProgress:i??(({totalAmount:m,processedAmount:c})=>{if(m>0&&c>0){let T=Br.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginTop:"-7px"}},Br.default.createElement(cr.Progress,{type:"circle",percent:Math.floor(c/m*100),size:50,strokeColor:"#1890ff",status:"normal"}),Br.default.createElement("span",{style:{marginLeft:8,width:"100%"}},l("notifications.importProgress",{processed:c,total:m},`Importing: ${c}/${m}`)));cr.notification.open({description:T,message:null,key:`${u}-import`,duration:0}),c>=m,c===m&&setTimeout(()=>{cr.notification.destroy(`${u}-import`)},4500)}})});return{uploadProps:{onChange:f,beforeUpload:()=>!1,showUploadList:!1,accept:".csv"},buttonProps:{type:"default",loading:d},mutationResult:y,isLoading:d}},"useImport");var Re=require("react"),Sr=require("antd"),Wt=require("@refinedev/core"),Gt=require("@refinedev/core");var $t=o(({resource:e,pagination:r,filters:t,sorters:s,onSearch:n,queryOptions:a,syncWithLocation:p,successNotification:i,errorNotification:l,liveMode:u,onLiveEvent:y,liveParams:d,meta:f,dataProviderName:m}={})=>{let{sorters:c,filters:T,currentPage:g,pageSize:F,pageCount:E,setFilters:b,setCurrentPage:B,setPageSize:h,setSorters:U,createLinkForSyncWithLocation:C,tableQuery:v,overtime:K,result:I}=(0,Wt.useTable)({resource:e,pagination:r,filters:t,sorters:s,queryOptions:a,successNotification:i,errorNotification:l,liveMode:u,onLiveEvent:y,liveParams:d,meta:f,syncWithLocation:p,dataProviderName:m}),S=(r==null?void 0:r.mode)!=="off",q=Sr.Grid.useBreakpoint(),te=(0,Gt.useLiveMode)(u),[X]=Sr.Form.useForm(),{data:N,isFetched:j,isLoading:A}=v,G=o((x,M)=>{S&&(B(x),h(M||10))},"onChange"),R=o(async x=>{if(n){let M=await n(x);return S&&(B==null||B(1)),b(M)}},"onFinish"),$=o(()=>S?{itemRender:(x,M,z)=>{var D;let J=C({pagination:{pageSize:F,currentPage:x},sorters:c,filters:T});if(M==="page")return(0,Re.createElement)(Ve,{to:J,element:`${x}`});if(M==="next"||M==="prev")return(0,Re.createElement)(Ve,{to:J,element:z});if(M==="jump-next"||M==="jump-prev"){let V=(D=z==null?void 0:z.props)==null?void 0:D.children;return(0,Re.createElement)(Ve,{to:J,element:Re.Children.count(V)>1?(0,Re.createElement)(Re.Fragment,{},V):V})}return z},pageSize:F,current:g,simple:!q.sm,total:N==null?void 0:N.total,onChange:G}:!1,"antdPagination");return{searchFormProps:{form:X,onFinish:R},listProps:{dataSource:N==null?void 0:N.data,loading:te==="auto"?A:!j,pagination:$()},query:v,filters:T,setFilters:b,sorters:c,setSorters:U,currentPage:g,setCurrentPage:B,pageSize:F,setPageSize:h,pageCount:E,createLinkForSyncWithLocation:C,overtime:K,result:I}},"useSimpleList");var er=require("react");var zs=o(()=>{let[e,r]=(0,er.useState)(!1),t=(0,er.useCallback)(s=>{Ks(s.fileList).includes(!0)?r(!0):r(!1)},[]);return(0,er.useMemo)(()=>({isLoading:e,onChange:t}),[e])},"useFileUploadState"),Ks=o(e=>e.map(r=>{switch(r.status){case"uploading":return!0;default:return!1}}),"mapStatusToLoading");var Yt=require("react");var rr=P(require("react"));var fr=rr.default.createContext({siderCollapsed:!1,mobileSiderOpen:!1,setSiderCollapsed:()=>{},setMobileSiderOpen:()=>{}}),Er=o(({children:e,initialSiderCollapsed:r,onSiderCollapsed:t})=>{let[s,n]=(0,rr.useState)(r??!1),[a,p]=(0,rr.useState)(!1),i=o(l=>{n(l),t&&t(l)},"setSiderCollapsed");return rr.default.createElement(fr.Provider,{value:{siderCollapsed:s,mobileSiderOpen:a,setSiderCollapsed:i,setMobileSiderOpen:p}},e)},"ThemedLayoutContextProvider");var Pt=o(()=>{let{mobileSiderOpen:e,siderCollapsed:r,setMobileSiderOpen:t,setSiderCollapsed:s}=(0,Yt.useContext)(fr);return{mobileSiderOpen:e,siderCollapsed:r,setMobileSiderOpen:t,setSiderCollapsed:s}},"useThemedLayoutContext");var Rr=require("antd"),vr=P(require("react"));var tr=P(require("react")),Dr=require("antd"),Xt=require("@ant-design/icons");var _t=o(({message:e,cancelMutation:r,undoableTimeout:t})=>tr.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginTop:"-7px"}},tr.default.createElement(Dr.Progress,{type:"circle",percent:(t??0)*20,format:s=>s&&s/20,size:50,strokeColor:"#1890ff",status:"normal"}),tr.default.createElement("span",{style:{marginLeft:8,width:"100%"}},e),tr.default.createElement(Dr.Button,{style:{flexShrink:0},onClick:r,disabled:t===0,icon:tr.default.createElement(Xt.UndoOutlined,null)})),"UndoableNotification");var Ws=o(()=>{let{notification:e}=Rr.App.useApp(),r="open"in e?e:Rr.notification;return{open:({key:s,message:n,description:a,type:p,cancelMutation:i,undoableTimeout:l})=>{p==="progress"?r.open({key:s,description:vr.default.createElement(_t,{notificationKey:s,message:n,cancelMutation:()=>{i==null||i(),r.destroy(s??"")},undoableTimeout:l}),message:null,duration:0,closeIcon:vr.default.createElement(vr.default.Fragment,null)}):r.open({key:s,description:n,message:a??null,type:p})},close:s=>r.destroy(s)}},"useNotificationProvider");var Se=P(require("react")),sr=require("antd");var k=P(require("react")),_=require("antd"),ce=require("@ant-design/icons"),pe=require("@refinedev/core");var Jt={borderStartStartRadius:0,borderEndStartRadius:0,position:"fixed",top:64,zIndex:999};var wr=o(({Title:e,render:r,meta:t,fixed:s,activeItemDisabled:n=!1,siderItemsAreCollapsed:a=!0})=>{var G;let{token:p}=_.theme.useToken(),{siderCollapsed:i,setSiderCollapsed:l,mobileSiderOpen:u,setMobileSiderOpen:y}=Pt(),d=(0,pe.useIsExistAuthentication)(),f=(G=(0,k.useContext)(_.ConfigProvider.ConfigContext))==null?void 0:G.direction,m=(0,pe.useLink)(),{warnWhen:c,setWarnWhen:T}=(0,pe.useWarnAboutChange)(),g=(0,pe.useTranslate)(),{menuItems:F,selectedKey:E,defaultOpenKeys:b}=(0,pe.useMenu)({meta:t}),B=_.Grid.useBreakpoint(),{mutate:h}=(0,pe.useLogout)(),U=typeof B.lg>"u"?!1:!B.lg,C=e??Te,v=o((R,$)=>R.map(x=>{let{key:M,name:z,children:J,meta:D,list:V}=x,w=D==null?void 0:D.parent,Z=(x==null?void 0:x.label)??(D==null?void 0:D.label)??z,ne=D==null?void 0:D.icon,le=V;if(J.length>0)return k.default.createElement(pe.CanAccess,{key:x.key,resource:z,action:"list",params:{resource:x}},k.default.createElement(_.Menu.SubMenu,{key:x.key,icon:ne??k.default.createElement(ce.UnorderedListOutlined,null),title:Z},v(J,$)));let he=M===$,ee=!(w!==void 0&&J.length===0),ve=n&&he?{pointerEvents:"none"}:{};return k.default.createElement(pe.CanAccess,{key:x.key,resource:z,action:"list",params:{resource:x}},k.default.createElement(_.Menu.Item,{key:x.key,icon:ne??(ee&&k.default.createElement(ce.UnorderedListOutlined,null)),style:ve},k.default.createElement(m,{to:le??"",style:ve},Z),!i&&he&&k.default.createElement("div",{className:"ant-menu-tree-arrow"})))}),"renderTreeView"),K=o(()=>{c?window.confirm(g("warnWhenUnsavedChanges","Are you sure you want to leave? You have unsaved changes."))&&(T(!1),h()):h()},"handleLogout"),I=d&&k.default.createElement(_.Menu.Item,{key:"logout",onClick:()=>K(),icon:k.default.createElement(ce.LogoutOutlined,null)},g("buttons.logout","Logout")),S=(()=>a?[]:F.map(({key:R})=>R))(),q=v(F,E),te=o(()=>r?r({items:q,logout:I,collapsed:i}):[...q,I].filter(Boolean),"renderSider"),X=o(()=>k.default.createElement(_.Menu,{selectedKeys:E?[E]:[],defaultOpenKeys:[...b,...S],mode:"inline",style:{paddingTop:"8px",border:"none",overflow:"auto",height:"calc(100% - 72px)"},onClick:()=>{y(!1)}},te()),"renderMenu"),N=o(()=>k.default.createElement(k.default.Fragment,null,k.default.createElement(_.Drawer,{open:u,onClose:()=>y(!1),placement:f==="rtl"?"right":"left",closable:!1,width:200,styles:{body:{padding:0}},maskClosable:!0},k.default.createElement(_.Layout,null,k.default.createElement(_.Layout.Sider,{style:{height:"100vh",backgroundColor:p.colorBgContainer,borderRight:`1px solid ${p.colorBgElevated}`}},k.default.createElement("div",{style:{width:"200px",padding:"0 16px",display:"flex",justifyContent:"flex-start",alignItems:"center",height:"64px",backgroundColor:p.colorBgElevated}},k.default.createElement(C,{collapsed:!1})),X()))),k.default.createElement(_.Button,{style:Jt,size:"large",onClick:()=>y(!0),icon:k.default.createElement(ce.BarsOutlined,null)})),"renderDrawerSider");if(U)return N();let j={backgroundColor:p.colorBgContainer,borderRight:`1px solid ${p.colorBgElevated}`};s&&(j.position="fixed",j.top=0,j.height="100vh",j.zIndex=999);let A=o(()=>{let R={style:{color:p.colorPrimary}};return k.default.createElement(i?f==="rtl"?ce.LeftOutlined:ce.RightOutlined:f==="rtl"?ce.RightOutlined:ce.LeftOutlined,{...R})},"renderClosingIcons");return k.default.createElement(k.default.Fragment,null,s&&k.default.createElement("div",{style:{width:i?"80px":"200px",transition:"all 0.2s"}}),k.default.createElement(_.Layout.Sider,{style:j,collapsible:!0,collapsed:i,onCollapse:(R,$)=>{$==="clickTrigger"&&l(R)},collapsedWidth:80,breakpoint:"lg",trigger:k.default.createElement(_.Button,{type:"text",style:{borderRadius:0,height:"100%",width:"100%",backgroundColor:p.colorBgElevated}},A())},k.default.createElement("div",{style:{width:i?"80px":"200px",padding:i?"0":"0 16px",display:"flex",justifyContent:i?"center":"flex-start",alignItems:"center",height:"64px",backgroundColor:p.colorBgElevated,fontSize:"14px"}},k.default.createElement(C,{collapsed:i})),X()))},"ThemedSider");var or=P(require("react")),Fe=require("antd"),Zt=require("@refinedev/core");var kr=o(({sticky:e})=>{let{token:r}=Fe.theme.useToken(),{data:t}=(0,Zt.useGetIdentity)();if(!(t&&(t.name||t.avatar)))return null;let n={backgroundColor:r.colorBgElevated,display:"flex",justifyContent:"flex-end",alignItems:"center",padding:"0px 24px",height:"64px"};return e&&(n.position="sticky",n.top=0,n.zIndex=1),or.default.createElement(Fe.Layout.Header,{style:n},or.default.createElement(Fe.Space,null,or.default.createElement(Fe.Space,{size:"middle"},(t==null?void 0:t.name)&&or.default.createElement(Fe.Typography.Text,{strong:!0},t.name),(t==null?void 0:t.avatar)&&or.default.createElement(Fe.Avatar,{src:t==null?void 0:t.avatar,alt:t==null?void 0:t.name}))))},"ThemedHeader");var eo=o(({children:e,Header:r,Sider:t,Title:s,Footer:n,OffLayoutArea:a,initialSiderCollapsed:p,onSiderCollapsed:i})=>{let l=sr.Grid.useBreakpoint(),u=t??wr,y=r??kr,d=typeof l.sm>"u"?!0:l.sm,f=!!u({Title:s});return Se.default.createElement(Er,{initialSiderCollapsed:p,onSiderCollapsed:i},Se.default.createElement(sr.Layout,{style:{minHeight:"100vh"},hasSider:f},Se.default.createElement(u,{Title:s}),Se.default.createElement(sr.Layout,null,Se.default.createElement(y,null),Se.default.createElement(sr.Layout.Content,null,Se.default.createElement("div",{style:{minHeight:360,padding:d?24:12}},e),a&&Se.default.createElement(a,null)),n&&Se.default.createElement(n,null))))},"ThemedLayout");var yr=P(require("react")),Lr=require("@refinedev/core"),nr=require("antd");var Te=o(({collapsed:e,icon:r,text:t,wrapperStyles:s})=>{let{title:{icon:n,text:a}={}}=(0,Lr.useRefineOptions)(),p=typeof r>"u"?n:r,i=typeof t>"u"?a:t,{token:l}=nr.theme.useToken(),u=(0,Lr.useLink)();return yr.default.createElement(u,{to:"/",style:{display:"inline-block",textDecoration:"none"}},yr.default.createElement(nr.Space,{style:{display:"flex",alignItems:"center",fontSize:"inherit",...s}},yr.default.createElement("div",{style:{height:"24px",width:"24px",color:l.colorPrimary}},p),!e&&yr.default.createElement(nr.Typography.Title,{style:{fontSize:"inherit",marginBottom:0,fontWeight:700}},i)))},"ThemedTitle");var Ur=P(require("react")),ro=require("antd"),to=require("@ant-design/icons"),oo=require("@refinedev/core"),Vr=require("@refinedev/ui-types");var Ir=o(({resource:e,hideText:r=!1,accessControl:t,meta:s,children:n,onClick:a,...p})=>{let{hidden:i,disabled:l,label:u,title:y,LinkComponent:d,to:f}=(0,oo.useCreateButton)({resource:e,meta:s,accessControl:t}),m=l||p.disabled;return i||p.hidden?null:Ur.default.createElement(d,{to:f,replace:!1,onClick:T=>{if(m){T.preventDefault();return}a&&(T.preventDefault(),a(T))}},Ur.default.createElement(ro.Button,{icon:Ur.default.createElement(to.PlusSquareOutlined,null),disabled:m,title:y,className:Vr.RefineButtonClassNames.CreateButton,type:"primary",...p},!r&&(n??u)))},"CreateButton");var Hr=P(require("react")),so=require("antd"),no=require("@ant-design/icons"),ao=require("@refinedev/core"),Or=require("@refinedev/ui-types");var Mr=o(({resource:e,recordItemId:r,hideText:t=!1,accessControl:s,meta:n,children:a,onClick:p,...i})=>{let{to:l,label:u,title:y,hidden:d,disabled:f,LinkComponent:m}=(0,ao.useEditButton)({resource:e,id:r,meta:n,accessControl:s}),c=f||i.disabled;return d||i.hidden?null:Hr.default.createElement(m,{to:l,replace:!1,onClick:g=>{if(c){g.preventDefault();return}p&&(g.preventDefault(),p(g))}},Hr.default.createElement(so.Button,{icon:Hr.default.createElement(no.EditOutlined,null),disabled:c,title:y,className:Or.RefineButtonClassNames.EditButton,...i},!t&&(a??u)))},"EditButton");var Qr=P(require("react")),Nr=require("antd"),io=require("@ant-design/icons"),po=require("@refinedev/core"),Ar=require("@refinedev/ui-types");var ar=o(({resource:e,recordItemId:r,onSuccess:t,mutationMode:s,children:n,successNotification:a,errorNotification:p,hideText:i=!1,accessControl:l,meta:u,dataProviderName:y,confirmTitle:d,confirmOkText:f,confirmCancelText:m,invalidates:c,...T})=>{let{title:g,label:F,hidden:E,disabled:b,loading:B,confirmTitle:h,confirmOkLabel:U,cancelLabel:C,onConfirm:v}=(0,po.useDeleteButton)({resource:e,id:r,dataProviderName:y,invalidates:c,meta:u,onSuccess:t,mutationMode:s,errorNotification:p,successNotification:a,accessControl:l}),K=b||T.disabled;return E||T.hidden?null:Qr.default.createElement(Nr.Popconfirm,{key:"delete",okText:f??U,cancelText:m??C,okType:"danger",title:d??h,okButtonProps:{disabled:B},onConfirm:v,disabled:K},Qr.default.createElement(Nr.Button,{danger:!0,loading:B,icon:Qr.default.createElement(io.DeleteOutlined,null),title:g,disabled:K,className:Ar.RefineButtonClassNames.DeleteButton,...T},!i&&(n??F)))},"DeleteButton");var bt=P(require("react")),lo=require("antd"),uo=require("@ant-design/icons"),mo=require("@refinedev/core"),jr=require("@refinedev/ui-types");var ir=o(({resource:e,recordItemId:r,hideText:t=!1,dataProviderName:s,children:n,...a})=>{let{onClick:p,label:i,loading:l}=(0,mo.useRefreshButton)({resource:e,id:r,dataProviderName:s});return bt.default.createElement(lo.Button,{onClick:p,icon:bt.default.createElement(uo.RedoOutlined,{spin:l}),className:jr.RefineButtonClassNames.RefreshButton,...a},!t&&(n??i))},"RefreshButton");var qr=P(require("react")),co=require("antd"),fo=require("@ant-design/icons"),yo=require("@refinedev/core"),zr=require("@refinedev/ui-types");var To=o(({resource:e,recordItemId:r,hideText:t=!1,accessControl:s,meta:n,children:a,onClick:p,...i})=>{let{to:l,label:u,title:y,hidden:d,disabled:f,LinkComponent:m}=(0,yo.useShowButton)({resource:e,id:r,accessControl:s,meta:n}),c=f||i.disabled;return d||i.hidden?null:qr.default.createElement(m,{to:l,replace:!1,onClick:g=>{if(c){g.preventDefault();return}p&&(g.preventDefault(),p(g))}},qr.default.createElement(co.Button,{disabled:c,icon:qr.default.createElement(fo.EyeOutlined,null),title:y,className:zr.RefineButtonClassNames.ShowButton,...i},!t&&(a??u)))},"ShowButton");var Kr=P(require("react")),go=require("antd"),Po=require("@ant-design/icons"),bo=require("@refinedev/core"),Wr=require("@refinedev/ui-types");var pr=o(({resource:e,hideText:r=!1,accessControl:t,meta:s,children:n,onClick:a,...p})=>{let{to:i,label:l,title:u,hidden:y,disabled:d,LinkComponent:f}=(0,bo.useListButton)({resource:e,meta:s,accessControl:t}),m=d||p.disabled;return y||p.hidden?null:Kr.default.createElement(f,{to:i,replace:!1,onClick:T=>{if(m){T.preventDefault();return}a&&(T.preventDefault(),a(T))}},Kr.default.createElement(go.Button,{icon:Kr.default.createElement(Po.BarsOutlined,null),disabled:m,title:u,className:Wr.RefineButtonClassNames.ListButton,...p},!r&&(n??l)))},"ListButton");var Ft=P(require("react")),Fo=require("antd"),xo=require("@ant-design/icons"),ho=require("@refinedev/core"),Gr=require("@refinedev/ui-types");var Co=o(({hideText:e=!1,children:r,...t})=>{let{label:s}=(0,ho.useExportButton)();return Ft.default.createElement(Fo.Button,{type:"default",icon:Ft.default.createElement(xo.ExportOutlined,null),className:Gr.RefineButtonClassNames.ExportButton,...t},!e&&(r??s))},"ExportButton");var xt=P(require("react")),Bo=require("antd"),So=require("@ant-design/icons"),Eo=require("@refinedev/core"),$r=require("@refinedev/ui-types");var lr=o(({hideText:e=!1,children:r,...t})=>{let{label:s}=(0,Eo.useSaveButton)();return xt.default.createElement(Bo.Button,{type:"primary",icon:xt.default.createElement(So.SaveOutlined,null),className:$r.RefineButtonClassNames.SaveButton,...t},!e&&(r??s))},"SaveButton");var Yr=P(require("react")),Do=require("antd"),vo=require("@ant-design/icons"),Ro=require("@refinedev/core"),Xr=require("@refinedev/ui-types");var wo=o(({resource:e,recordItemId:r,hideText:t=!1,accessControl:s,meta:n,children:a,onClick:p,...i})=>{let{to:l,LinkComponent:u,label:y,disabled:d,hidden:f,title:m}=(0,Ro.useCloneButton)({id:r,resource:e,accessControl:s,meta:n}),c=d||i.disabled;return f||i.hidden?null:Yr.default.createElement(u,{to:l,replace:!1,onClick:g=>{if(c){g.preventDefault();return}p&&(g.preventDefault(),p(g))}},Yr.default.createElement(Do.Button,{icon:Yr.default.createElement(vo.PlusSquareOutlined,null),disabled:c,title:m,className:Xr.RefineButtonClassNames.CloneButton,...i},!t&&(a??y)))},"CloneButton");var _r=P(require("react")),Jr=require("antd"),ko=require("@ant-design/icons"),Lo=require("@refinedev/core"),Zr=require("@refinedev/ui-types");var Uo=o(({uploadProps:e,buttonProps:r,hideText:t=!1,children:s,loading:n,...a})=>{let{label:p}=(0,Lo.useImportButton)();return _r.default.createElement(Jr.Upload,{...e},_r.default.createElement(Jr.Button,{icon:_r.default.createElement(ko.ImportOutlined,null),className:Zr.RefineButtonClassNames.ImportButton,loading:n,...r,...a},!t&&(s??p)))},"ImportButton");var we=P(require("react")),Vo=require("antd"),Ie=require("@refinedev/core");var Io=o(({canCreate:e,title:r,children:t,createButtonProps:s,resource:n,wrapperProps:a,contentProps:p,headerProps:i,breadcrumb:l,headerButtonProps:u,headerButtons:y})=>{var B;let d=(0,Ie.useTranslate)(),{options:{breadcrumb:f}={}}=(0,Ie.useRefineContext)(),m=(0,Ie.useUserFriendlyName)(),{resource:c,identifier:T}=(0,Ie.useResourceParams)({resource:n}),g=e??(!!(c!=null&&c.create)||!!s),F=typeof l>"u"?f:l,E=g?{size:"middle",resource:T,...s}:void 0,b=g?we.default.createElement(Ir,{...E}):null;return we.default.createElement("div",{...a??{}},we.default.createElement(Le,{title:r??d(`${T}.titles.list`,m(((B=c==null?void 0:c.meta)==null?void 0:B.label)??T,"plural")),extra:y?we.default.createElement(Vo.Space,{wrap:!0,...u},typeof y=="function"?y({defaultButtons:b,createButtonProps:E}):y):b,breadcrumb:typeof F<"u"?we.default.createElement(we.default.Fragment,null,F):we.default.createElement(ke,null),...i??{}},we.default.createElement("div",{...p??{}},t)))},"List");var fe=P(require("react")),We=require("antd"),Ee=require("@refinedev/core");var Ho=o(({title:e,saveButtonProps:r,children:t,resource:s,isLoading:n=!1,breadcrumb:a,wrapperProps:p,headerProps:i,contentProps:l,headerButtonProps:u,headerButtons:y,footerButtonProps:d,footerButtons:f,goBack:m})=>{var C;let c=(0,Ee.useTranslate)(),{options:{breadcrumb:T}={}}=(0,Ee.useRefineContext)(),g=(0,Ee.useBack)(),F=(0,Ee.useUserFriendlyName)(),{resource:E,identifier:b}=(0,Ee.useResourceParams)({resource:s}),B=typeof a>"u"?T:a,h={...n?{disabled:!0}:{},...r,htmlType:"submit"},U=fe.default.createElement(fe.default.Fragment,null,fe.default.createElement(lr,{...h}));return fe.default.createElement("div",{...p??{}},fe.default.createElement(Le,{backIcon:m,onBack:g,title:e??c(`${b}.titles.create`,`Create ${F(((C=E==null?void 0:E.meta)==null?void 0:C.label)??b,"singular")}`),breadcrumb:typeof B<"u"?fe.default.createElement(fe.default.Fragment,null,B):fe.default.createElement(ke,null),extra:fe.default.createElement(We.Space,{wrap:!0,...u??{}},y?typeof y=="function"?y({defaultButtons:null}):y:null),...i??{}},fe.default.createElement(We.Spin,{spinning:n},fe.default.createElement(We.Card,{variant:"borderless",actions:[fe.default.createElement(We.Space,{key:"action-buttons",style:{float:"right",marginRight:24},...d??{}},f?typeof f=="function"?f({defaultButtons:U,saveButtonProps:h}):f:U)],...l??{}},t))))},"Create");var re=P(require("react")),Ge=require("antd"),ae=require("@refinedev/core");var Oo=o(({title:e,saveButtonProps:r,mutationMode:t,recordItemId:s,children:n,deleteButtonProps:a,canDelete:p,resource:i,isLoading:l=!1,dataProviderName:u,breadcrumb:y,wrapperProps:d,headerProps:f,contentProps:m,headerButtonProps:c,headerButtons:T,footerButtonProps:g,footerButtons:F,goBack:E,autoSaveProps:b})=>{var V,w;let B=(0,ae.useTranslate)(),{options:{breadcrumb:h}={}}=(0,ae.useRefineContext)(),{mutationMode:U}=(0,ae.useMutationMode)(),C=t??U,v=(0,ae.useBack)(),K=(0,ae.useGo)(),I=(0,ae.useUserFriendlyName)(),{resource:S,action:q,id:te,identifier:X}=(0,ae.useResourceParams)({resource:i}),N=(0,ae.useToPath)({resource:S,action:"list"}),j=s??te,A=typeof y>"u"?h:y,G=(S==null?void 0:S.list)&&!s,R=p??(((V=S==null?void 0:S.meta)==null?void 0:V.canDelete)||a),$=G?{...l?{disabled:!0}:{},resource:X}:void 0,x={...l?{disabled:!0}:{},resource:X,recordItemId:j,dataProviderName:u},M=R?{...l?{disabled:!0}:{},resource:X,mutationMode:C,onSuccess:()=>{K({to:N})},recordItemId:j,dataProviderName:u,...a}:void 0,z={...l?{disabled:!0}:{},...r},J=re.default.createElement(re.default.Fragment,null,b&&re.default.createElement(ht,{...b}),G&&re.default.createElement(pr,{...$}),re.default.createElement(ir,{...x})),D=re.default.createElement(re.default.Fragment,null,R&&re.default.createElement(ar,{...M}),re.default.createElement(lr,{...z}));return re.default.createElement("div",{...d??{}},re.default.createElement(Le,{backIcon:E,onBack:q!=="list"&&typeof q<"u"?v:void 0,title:e??B(`${X}.titles.edit`,`Edit ${I(((w=S==null?void 0:S.meta)==null?void 0:w.label)??X,"singular")}`),extra:re.default.createElement(Ge.Space,{wrap:!0,...c??{}},T?typeof T=="function"?T({defaultButtons:J,listButtonProps:$,refreshButtonProps:x}):T:J),breadcrumb:typeof A<"u"?re.default.createElement(re.default.Fragment,null,A):re.default.createElement(ke,null),...f??{}},re.default.createElement(Ge.Spin,{spinning:l},re.default.createElement(Ge.Card,{variant:"borderless",actions:[re.default.createElement(Ge.Space,{key:"footer-buttons",wrap:!0,style:{float:"right",marginRight:24},...g??{}},F?typeof F=="function"?F({defaultButtons:D,deleteButtonProps:M,saveButtonProps:z}):F:D)],...m??{}},n))))},"Edit");var ie=P(require("react")),$e=require("antd"),ue=require("@refinedev/core");var Mo=o(({title:e,canEdit:r,canDelete:t,deleteButtonProps:s,isLoading:n=!1,children:a,resource:p,recordItemId:i,dataProviderName:l,breadcrumb:u,contentProps:y,headerProps:d,wrapperProps:f,headerButtons:m,footerButtons:c,footerButtonProps:T,headerButtonProps:g,goBack:F})=>{var M,z;let E=(0,ue.useTranslate)(),{options:{breadcrumb:b}={}}=(0,ue.useRefineContext)(),B=(0,ue.useBack)(),h=(0,ue.useGo)(),U=(0,ue.useUserFriendlyName)(),{resource:C,action:v,id:K,identifier:I}=(0,ue.useResourceParams)({resource:p}),S=(0,ue.useToPath)({resource:C,action:"list"}),q=i??K,te=typeof u>"u"?b:u,X=(C==null?void 0:C.list)&&!i,N=t??(((M=C==null?void 0:C.meta)==null?void 0:M.canDelete)||s),j=r??!!(C!=null&&C.edit),A=X?{resource:I}:void 0,G=j?{...n?{disabled:!0}:{},type:"primary",resource:I,recordItemId:q}:void 0,R=N?{...n?{disabled:!0}:{},resource:I,recordItemId:q,onSuccess:()=>{h({to:S})},dataProviderName:l,...s}:void 0,$={...n?{disabled:!0}:{},resource:I,recordItemId:q,dataProviderName:l},x=ie.default.createElement(ie.default.Fragment,null,X&&ie.default.createElement(pr,{...A}),j&&ie.default.createElement(Mr,{...G}),N&&ie.default.createElement(ar,{...R}),ie.default.createElement(ir,{...$}));return ie.default.createElement("div",{...f??{}},ie.default.createElement(Le,{backIcon:F,onBack:v!=="list"&&typeof v<"u"?B:void 0,title:e??E(`${I}.titles.show`,`Show ${U(((z=C==null?void 0:C.meta)==null?void 0:z.label)??I,"singular")}`),extra:ie.default.createElement($e.Space,{key:"extra-buttons",wrap:!0,...g??{}},m?typeof m=="function"?m({defaultButtons:x,deleteButtonProps:R,editButtonProps:G,listButtonProps:A,refreshButtonProps:$}):m:x),breadcrumb:typeof te<"u"?ie.default.createElement(ie.default.Fragment,null,te):ie.default.createElement(ke,null),...d??{}},ie.default.createElement($e.Spin,{spinning:n},ie.default.createElement($e.Card,{variant:"borderless",actions:c?[ie.default.createElement($e.Space,{key:"footer-buttons",wrap:!0,...T},typeof c=="function"?c({defaultButtons:null}):c)]:void 0,...y??{}},a))))},"Show");var Qo=P(require("react")),No=require("antd");var Ao=o(({value:e,...r})=>Qo.default.createElement(No.Typography.Text,{...r},e),"TextField");var jo=P(require("react")),qo=require("antd");var zo=o(({value:e,...r})=>jo.default.createElement(qo.Tag,{...r},e==null?void 0:e.toString()),"TagField");var Ko=P(require("react")),Wo=require("antd");var Go=o(({value:e,...r})=>Ko.default.createElement(Wo.Typography.Link,{href:`mailto:${e}`,...r},e),"EmailField");var $o=P(require("react")),Yo=require("antd");var Xo=o(({value:e,imageTitle:r,...t})=>$o.default.createElement(Yo.Image,{...t,src:e,title:r}),"ImageField");var dr=P(require("react")),_o=require("antd"),et=require("@ant-design/icons");var Jo=o(({value:e,valueLabelTrue:r="true",valueLabelFalse:t="false",trueIcon:s=dr.default.createElement(et.CheckOutlined,null),falseIcon:n=dr.default.createElement(et.CloseOutlined,null),...a})=>dr.default.createElement(_o.Tooltip,{title:e?r:t,...a},e?dr.default.createElement("span",null,s):dr.default.createElement("span",null,n)),"BooleanField");var Zo=P(require("react")),rt=P(require("dayjs")),es=require("antd"),rs=P(require("dayjs/plugin/localizedFormat"));var ts=o(({value:e,locales:r,format:t="L",...s})=>{rt.default.extend(rs.default);let n=rt.default.locale();return Zo.default.createElement(es.Typography.Text,{...s},e?(0,rt.default)(e).locale(r||n).format(t):"")},"DateField");var os=P(require("react"));var ss=o(({title:e,src:r,...t})=>os.default.createElement(tt,{value:r,title:e,...t},e??r),"FileField");var ns=P(require("react")),as=require("antd");var tt=o(({children:e,value:r,...t})=>ns.default.createElement(as.Typography.Link,{href:r,...t},e??r),"UrlField");var is=P(require("react")),ps=require("antd");function Gs(){return!!(typeof Intl=="object"&&Intl&&typeof Intl.NumberFormat=="function")}o(Gs,"toLocaleStringSupportsOptions");var ls=o(({value:e,locale:r,options:t,...s})=>{let n=Number(e);return is.default.createElement(ps.Typography.Text,{...s},Gs()?n.toLocaleString(r,t):n)},"NumberField");var ds=P(require("react")),us=P(require("react-markdown")),ms=P(require("remark-gfm"));var cs=o(({value:e=""})=>ds.default.createElement(us.default,{remarkPlugins:[ms.default]},e),"MarkdownField");var De=P(require("react")),Tr=require("antd"),Ct=P(require("dayjs")),fs=require("@ant-design/icons"),ys=require("@refinedev/core");var Ts=o(e=>{let{setSelectedKeys:r,confirm:t,clearFilters:s,mapValue:n=o(f=>f,"mapValue"),selectedKeys:a,children:p}=e,i=(0,ys.useTranslate)(),l=o(()=>{s&&s()},"clearFilter"),u=o(()=>{let f;typeof a=="number"?f=`${a}`:Ct.default.isDayjs(a)?f=[a.toISOString()]:f=a,r(f),t==null||t()},"onFilter"),y=o(f=>{if(typeof f=="object"){if(Array.isArray(f)){let F=n(f,"onChange");return r(F)}let c=!f||!f.target||Ct.default.isDayjs(f)?{target:{value:f}}:f,{target:T}=c,g=n(T.value,"onChange");r(g);return}let m=n(f,"onChange");r(m)},"onChange"),d=De.default.Children.map(p,f=>De.default.isValidElement(f)?De.default.cloneElement(f,{onChange:y,value:n(a,"value")}):f);return De.default.createElement("div",{style:{padding:10,display:"flex",flexDirection:"column",alignItems:"flex-end"}},De.default.createElement("div",{style:{marginBottom:15}},d),De.default.createElement(Tr.Space,null,De.default.createElement(Tr.Button,{type:"primary",size:"small",onClick:()=>u()},De.default.createElement(fs.FilterOutlined,null)," ",i("buttons.filter","Filter")),De.default.createElement(Tr.Button,{danger:!0,size:"small",onClick:()=>l()},i("buttons.clear","Clear"))))},"FilterDropdown");var ge=P(require("react")),ot=require("@refinedev/core"),xe=require("antd"),gs=require("@ant-design/icons"),Ps=require("@refinedev/core");var bs=o(()=>{let[e,r]=(0,ge.useState)(),t=(0,Ps.useTranslate)(),s=(0,ot.useGo)(),{resource:n,action:a}=(0,ot.useResourceParams)();return(0,ge.useEffect)(()=>{n&&a&&r(t("pages.error.info",{action:a,resource:n==null?void 0:n.name},`You may have forgotten to add the "${a}" component to "${n==null?void 0:n.name}" resource.`))},[n,a]),ge.default.createElement(xe.Result,{status:"404",title:"404",extra:ge.default.createElement(xe.Space,{direction:"vertical",size:"large"},ge.default.createElement(xe.Space,null,ge.default.createElement(xe.Typography.Text,null,t("pages.error.404","Sorry, the page you visited does not exist.")),e&&ge.default.createElement(xe.Tooltip,{title:e},ge.default.createElement(gs.InfoCircleOutlined,{}))),ge.default.createElement(xe.Button,{type:"primary",onClick:()=>s({to:"/"})},t("pages.error.backHome","Back Home")))})},"ErrorComponent");var Fs=P(require("react")),xs=require("@refinedev/core");var hs=o(()=>Fs.default.createElement(xs.WelcomePage,null),"WelcomePage");var Ye=P(require("react"));var H=P(require("react")),Cs=require("@refinedev/core"),L=require("antd"),st=require("@refinedev/core");var He={},Oe={maxWidth:"400px",margin:"auto",padding:"32px",boxShadow:"0px 2px 4px rgba(0, 0, 0, 0.02), 0px 1px 6px -1px rgba(0, 0, 0, 0.02), 0px 1px 2px rgba(0, 0, 0, 0.03)"},Me={borderBottom:0,padding:0},Qe={padding:0,marginTop:"32px"},Ne={textAlign:"center",marginBottom:0,fontSize:"24px",lineHeight:"32px",fontWeight:700,overflowWrap:"break-word",hyphens:"manual",textOverflow:"unset",whiteSpace:"pre-wrap"};var Bt=o(({providers:e,registerLink:r,forgotPasswordLink:t,rememberMe:s,contentProps:n,wrapperProps:a,renderContent:p,formProps:i,title:l,hideForm:u,mutationVariables:y})=>{let{token:d}=L.theme.useToken(),[f]=L.Form.useForm(),m=(0,st.useTranslate)(),c=(0,Cs.useLink)(),{mutate:T,isPending:g}=(0,st.useLogin)(),F=l===!1?null:H.default.createElement("div",{style:{display:"flex",justifyContent:"center",marginBottom:"32px",fontSize:"20px"}},l??H.default.createElement(Te,{collapsed:!1})),E=H.default.createElement(L.Typography.Title,{level:3,style:{color:d.colorPrimaryTextHover,...Ne}},m("pages.login.title","Sign in to your account")),b=o(()=>e&&e.length>0?H.default.createElement(H.default.Fragment,null,e.map(h=>H.default.createElement(L.Button,{key:h.name,type:"default",block:!0,icon:h.icon,style:{display:"flex",justifyContent:"center",alignItems:"center",width:"100%",marginBottom:"8px"},onClick:()=>T({...y,providerName:h.name})},h.label)),!u&&H.default.createElement(L.Divider,null,H.default.createElement(L.Typography.Text,{style:{color:d.colorTextLabel}},m("pages.login.divider","or")))):null,"renderProviders"),B=H.default.createElement(L.Card,{title:E,styles:{header:Me,body:Qe},style:{...Oe,backgroundColor:d.colorBgElevated},...n??{}},b(),!u&&H.default.createElement(L.Form,{layout:"vertical",form:f,onFinish:h=>T({...h,...y}),requiredMark:!1,initialValues:{remember:!1},...i},H.default.createElement(L.Form.Item,{name:"email",label:m("pages.login.fields.email","Email"),rules:[{required:!0,message:m("pages.login.errors.requiredEmail","Email is required")},{type:"email",message:m("pages.login.errors.validEmail","Invalid email address")}]},H.default.createElement(L.Input,{size:"large",placeholder:m("pages.login.fields.email","Email")})),H.default.createElement(L.Form.Item,{name:"password",label:m("pages.login.fields.password","Password"),rules:[{required:!0,message:m("pages.login.errors.requiredPassword","Password is required")}]},H.default.createElement(L.Input,{type:"password",autoComplete:"current-password",placeholder:"\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF",size:"large"})),H.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"24px"}},s??H.default.createElement(L.Form.Item,{name:"remember",valuePropName:"checked",noStyle:!0},H.default.createElement(L.Checkbox,{style:{fontSize:"12px"}},m("pages.login.buttons.rememberMe","Remember me"))),t??H.default.createElement(c,{style:{color:d.colorPrimaryTextHover,fontSize:"12px",marginLeft:"auto"},to:"/forgot-password"},m("pages.login.buttons.forgotPassword","Forgot password?"))),!u&&H.default.createElement(L.Form.Item,null,H.default.createElement(L.Button,{type:"primary",size:"large",htmlType:"submit",loading:g,block:!0},m("pages.login.signin","Sign in")))),r??H.default.createElement("div",{style:{marginTop:u?16:8}},H.default.createElement(L.Typography.Text,{style:{fontSize:12}},m("pages.login.buttons.noAccount","Don\u2019t have an account?")," ",H.default.createElement(c,{to:"/register",style:{fontWeight:"bold",color:d.colorPrimaryTextHover}},m("pages.login.signup","Sign up")))));return H.default.createElement(L.Layout,{style:He,...a??{}},H.default.createElement(L.Row,{justify:"center",align:u?"top":"middle",style:{padding:"16px 0",minHeight:"100dvh",paddingTop:u?"15dvh":"16px"}},H.default.createElement(L.Col,{xs:22},p?p(B,F):H.default.createElement(H.default.Fragment,null,F,B))))},"LoginPage");var Q=P(require("react")),Bs=require("@refinedev/core"),O=require("antd"),nt=require("@refinedev/core");var St=o(({providers:e,loginLink:r,wrapperProps:t,contentProps:s,renderContent:n,formProps:a,title:p,hideForm:i,mutationVariables:l})=>{let{token:u}=O.theme.useToken(),[y]=O.Form.useForm(),d=(0,nt.useTranslate)(),f=(0,Bs.useLink)(),{mutate:m,isPending:c}=(0,nt.useRegister)(),T=p===!1?null:Q.default.createElement("div",{style:{display:"flex",justifyContent:"center",marginBottom:"32px",fontSize:"20px"}},p??Q.default.createElement(Te,{collapsed:!1})),g=Q.default.createElement(O.Typography.Title,{level:3,style:{color:u.colorPrimaryTextHover,...Ne}},d("pages.register.title","Sign up for your account")),F=o(()=>e&&e.length>0?Q.default.createElement(Q.default.Fragment,null,e.map(b=>Q.default.createElement(O.Button,{key:b.name,type:"default",block:!0,icon:b.icon,style:{display:"flex",justifyContent:"center",alignItems:"center",width:"100%",marginBottom:"8px"},onClick:()=>m({...l,providerName:b.name})},b.label)),!i&&Q.default.createElement(O.Divider,null,Q.default.createElement(O.Typography.Text,{style:{color:u.colorTextLabel}},d("pages.register.divider",d("pages.login.divider","or"))))):null,"renderProviders"),E=Q.default.createElement(O.Card,{title:g,styles:{header:Me,body:Qe},style:{...Oe,backgroundColor:u.colorBgElevated},...s??{}},F(),!i&&Q.default.createElement(O.Form,{layout:"vertical",form:y,onFinish:b=>m({...l,...b}),requiredMark:!1,...a},Q.default.createElement(O.Form.Item,{name:"email",label:d("pages.register.email","Email"),rules:[{required:!0,message:d("pages.register.errors.requiredEmail","Email is required")},{type:"email",message:d("pages.register.errors.validEmail","Invalid email address")}]},Q.default.createElement(O.Input,{size:"large",placeholder:d("pages.register.fields.email","Email")})),Q.default.createElement(O.Form.Item,{name:"password",label:d("pages.register.fields.password","Password"),rules:[{required:!0,message:d("pages.register.errors.requiredPassword","Password is required")}]},Q.default.createElement(O.Input,{type:"password",placeholder:"\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF",size:"large"})),Q.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"24px"}},r??Q.default.createElement(O.Typography.Text,{style:{fontSize:12,marginLeft:"auto"}},d("pages.register.buttons.haveAccount",d("pages.login.buttons.haveAccount","Have an account?"))," ",Q.default.createElement(f,{style:{fontWeight:"bold",color:u.colorPrimaryTextHover},to:"/login"},d("pages.register.signin",d("pages.login.signin","Sign in"))))),Q.default.createElement(O.Form.Item,{style:{marginBottom:0}},Q.default.createElement(O.Button,{type:"primary",size:"large",htmlType:"submit",loading:c,block:!0},d("pages.register.buttons.submit","Sign up")))),i&&r!==!1&&Q.default.createElement("div",{style:{marginTop:i?16:8}},Q.default.createElement(O.Typography.Text,{style:{fontSize:12}},d("pages.register.buttons.haveAccount",d("pages.login.buttons.haveAccount","Have an account?"))," ",Q.default.createElement(f,{style:{fontWeight:"bold",color:u.colorPrimaryTextHover},to:"/login"},d("pages.register.signin",d("pages.login.signin","Sign in"))))));return Q.default.createElement(O.Layout,{style:He,...t??{}},Q.default.createElement(O.Row,{justify:"center",align:i?"top":"middle",style:{padding:"16px 0",minHeight:"100dvh",paddingTop:i?"15dvh":"16px"}},Q.default.createElement(O.Col,{xs:22},n?n(E,T):Q.default.createElement(Q.default.Fragment,null,T,E))))},"RegisterPage");var oe=P(require("react")),Ss=require("@refinedev/core"),Y=require("antd"),at=require("@refinedev/core");var Et=o(({loginLink:e,wrapperProps:r,contentProps:t,renderContent:s,formProps:n,title:a,mutationVariables:p})=>{let{token:i}=Y.theme.useToken(),[l]=Y.Form.useForm(),u=(0,at.useTranslate)(),y=(0,Ss.useLink)(),{mutate:d,isPending:f}=(0,at.useForgotPassword)(),m=a===!1?null:oe.default.createElement("div",{style:{display:"flex",justifyContent:"center",marginBottom:"32px",fontSize:"20px"}},a??oe.default.createElement(Te,{collapsed:!1})),c=oe.default.createElement(Y.Typography.Title,{level:3,style:{color:i.colorPrimaryTextHover,...Ne}},u("pages.forgotPassword.title","Forgot your password?")),T=oe.default.createElement(Y.Card,{title:c,styles:{header:Me,body:Qe},style:{...Oe,backgroundColor:i.colorBgElevated},...t??{}},oe.default.createElement(Y.Form,{layout:"vertical",form:l,onFinish:g=>d({...g,...p}),requiredMark:!1,...n},oe.default.createElement(Y.Form.Item,{name:"email",label:u("pages.forgotPassword.fields.email","Email"),rules:[{required:!0,message:u("pages.forgotPassword.errors.requiredEmail","Email is required")},{type:"email",message:u("pages.forgotPassword.errors.validEmail","Invalid email address")}]},oe.default.createElement(Y.Input,{type:"email",size:"large",placeholder:u("pages.forgotPassword.fields.email","Email")})),oe.default.createElement("div",{style:{display:"flex",justifyContent:"space-between"}},e??oe.default.createElement(Y.Typography.Text,{style:{fontSize:12,marginLeft:"auto"}},u("pages.forgotPassword.buttons.haveAccount",u("pages.register.buttons.haveAccount","Have an account? "))," ",oe.default.createElement(y,{style:{fontWeight:"bold",color:i.colorPrimaryTextHover},to:"/login"},u("pages.forgotPassword.signin",u("pages.login.signin","Sign in"))))),oe.default.createElement(Y.Form.Item,{style:{marginTop:"24px",marginBottom:0}},oe.default.createElement(Y.Button,{type:"primary",size:"large",htmlType:"submit",loading:f,block:!0},u("pages.forgotPassword.buttons.submit","Send reset instructions")))));return oe.default.createElement(Y.Layout,{style:He,...r??{}},oe.default.createElement(Y.Row,{justify:"center",align:"middle",style:{padding:"16px 0",minHeight:"100dvh"}},oe.default.createElement(Y.Col,{xs:22},s?s(T,m):oe.default.createElement(oe.default.Fragment,null,m,T))))},"ForgotPasswordPage");var se=P(require("react")),W=require("antd"),it=require("@refinedev/core");var Dt=o(({wrapperProps:e,contentProps:r,renderContent:t,formProps:s,title:n,mutationVariables:a})=>{let{token:p}=W.theme.useToken(),[i]=W.Form.useForm(),l=(0,it.useTranslate)(),{mutate:u,isPending:y}=(0,it.useUpdatePassword)(),d=n===!1?null:se.default.createElement("div",{style:{display:"flex",justifyContent:"center",marginBottom:"32px",fontSize:"20px"}},n??se.default.createElement(Te,{collapsed:!1})),f=se.default.createElement(W.Typography.Title,{level:3,style:{color:p.colorPrimaryTextHover,...Ne}},l("pages.updatePassword.title","Set New Password")),m=se.default.createElement(W.Card,{title:f,styles:{header:Me,body:Qe},style:{...Oe,backgroundColor:p.colorBgElevated},...r??{}},se.default.createElement(W.Form,{layout:"vertical",form:i,onFinish:c=>u({...c,...a}),requiredMark:!1,...s},se.default.createElement(W.Form.Item,{name:"password",label:l("pages.updatePassword.fields.password","New Password"),rules:[{required:!0,message:l("pages.updatePassword.errors.requiredPassword","Password is required")}],style:{marginBottom:"12px"}},se.default.createElement(W.Input,{type:"password",placeholder:"\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF",size:"large"})),se.default.createElement(W.Form.Item,{name:"confirmPassword",label:l("pages.updatePassword.fields.confirmPassword","Confirm New Password"),hasFeedback:!0,dependencies:["password"],rules:[{required:!0,message:l("pages.updatePassword.errors.requiredConfirmPassword","Confirm password is required")},({getFieldValue:c})=>({validator(T,g){return!g||c("password")===g?Promise.resolve():Promise.reject(new Error(l("pages.updatePassword.errors.confirmPasswordNotMatch","Passwords do not match")))}})]},se.default.createElement(W.Input,{type:"password",placeholder:"\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF",size:"large"})),se.default.createElement(W.Form.Item,{style:{marginBottom:0}},se.default.createElement(W.Button,{type:"primary",size:"large",htmlType:"submit",loading:y,block:!0},l("pages.updatePassword.buttons.submit","Update")))));return se.default.createElement(W.Layout,{style:He,...e??{}},se.default.createElement(W.Row,{justify:"center",align:"middle",style:{padding:"16px 0",minHeight:"100dvh"}},se.default.createElement(W.Col,{xs:22},t?t(m,d):se.default.createElement(se.default.Fragment,null,d,m))))},"UpdatePasswordPage");var Es=o(e=>{let{type:r}=e;return Ye.default.createElement(Ye.default.Fragment,null,o(()=>{switch(r){case"register":return Ye.default.createElement(St,{...e});case"forgotPassword":return Ye.default.createElement(Et,{...e});case"updatePassword":return Ye.default.createElement(Dt,{...e});default:return Ye.default.createElement(Bt,{...e})}},"renderView")())},"AuthPage");var Xe=P(require("react")),Ae=require("@refinedev/core"),Ds=require("antd"),vs=require("@ant-design/icons");var ke=o(({breadcrumbProps:e,showHome:r=!0,hideIcons:t=!1,meta:s,minItems:n=2})=>{let{breadcrumbs:a}=(0,Ae.useBreadcrumb)({meta:s}),p=(0,Ae.useLink)(),{resources:i}=(0,Ae.useResourceParams)(),l=(0,Ae.matchResourceFromRoute)("/",i);if(a.length<n)return null;let u=a.map(({label:d,icon:f,href:m})=>({key:`breadcrumb-item-${d}`,title:Xe.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:4}},!t&&f,m?Xe.default.createElement(p,{to:m},d):Xe.default.createElement("span",null,d))}));return Xe.default.createElement(Ds.Breadcrumb,{items:o(()=>{var d,f;return r&&l.found?[{key:"breadcrumb-item-home",title:Xe.default.createElement(p,{to:"/"},((f=(d=l==null?void 0:l.resource)==null?void 0:d.meta)==null?void 0:f.icon)??Xe.default.createElement(vs.HomeOutlined,null))},...u]:u},"getBreadcrumbItems")(),...e})},"Breadcrumb");var je=P(require("react")),Rs=require("@ant-design/pro-layout"),_e=require("antd"),pt=require("@ant-design/icons"),vt=require("@refinedev/ui-types");var Le=o(({children:e,...r})=>{var i;let t=(i=(0,je.useContext)(_e.ConfigProvider.ConfigContext))==null?void 0:i.direction,s=o(()=>je.default.createElement(_e.Button,{type:"text",icon:je.default.createElement(t==="rtl"?pt.ArrowRightOutlined:pt.ArrowLeftOutlined,null)}),"renderBackButton"),n=typeof r.backIcon>"u"?s():r.backIcon,a=typeof r.title=="string"?je.default.createElement(_e.Typography.Title,{className:vt.RefinePageHeaderClassNames.Title,level:4,style:{marginBottom:0}},r.title):r.title,p=typeof r.title=="string"?je.default.createElement(_e.Typography.Title,{className:vt.RefinePageHeaderClassNames.SubTitle,level:5,type:"secondary",style:{marginBottom:0}},r.subTitle):r.subTitle;return je.default.createElement(Rs.PageHeader,{...r,backIcon:n,title:a,subTitle:p,style:{padding:0,...r.style}},e)},"PageHeader");var Pe=P(require("react")),dt=require("@refinedev/core"),ut=require("antd"),qe=require("@ant-design/icons");var ht=o(({status:e,elements:{success:r=Pe.default.createElement(lt,{translationKey:"autoSave.success",defaultMessage:"saved",icon:Pe.default.createElement(qe.CheckCircleOutlined,null)}),error:t=Pe.default.createElement(lt,{translationKey:"autoSave.error",defaultMessage:"auto save failure",icon:Pe.default.createElement(qe.ExclamationCircleOutlined,null)}),loading:s=Pe.default.createElement(lt,{translationKey:"autoSave.loading",defaultMessage:"saving...",icon:Pe.default.createElement(qe.SyncOutlined,null)}),idle:n=Pe.default.createElement(lt,{translationKey:"autoSave.idle",defaultMessage:"waiting for changes",icon:Pe.default.createElement(qe.EllipsisOutlined,null)})}={}})=>Pe.default.createElement(dt.AutoSaveIndicator,{status:e,elements:{success:r,error:t,loading:s,idle:n}}),"AutoSaveIndicator"),lt=o(({translationKey:e,defaultMessage:r,icon:t})=>{let s=(0,dt.useTranslate)(),{token:n}=ut.theme.useToken();return Pe.default.createElement(ut.Typography.Text,{style:{marginRight:5,color:n.colorTextTertiary,fontSize:".8rem"}},s(e,r),Pe.default.createElement("span",{style:{marginLeft:".2rem"}},t))},"Message");var mt=P(require("dayjs"));var ws=o((e,r)=>e&&(r==="value"?e.map(t=>typeof t=="string"?(0,mt.default)(t):t):r==="onChange"&&e.every(mt.default.isDayjs)?e.map(t=>(0,mt.default)(t).toISOString()):e),"rangePickerFilterMapper");var ks=o(e=>{let{fileList:r}=e;return[...r]},"getValueFromEvent");var $s={Blue:{token:{colorPrimary:"#1677FF"}},Purple:{token:{colorPrimary:"#722ED1"}},Magenta:{token:{colorPrimary:"#EB2F96"}},Red:{token:{colorPrimary:"#F5222D"}},Orange:{token:{colorPrimary:"#FA541C"}},Yellow:{token:{colorPrimary:"#FAAD14"}},Green:{token:{colorPrimary:"#52C41A"}}};
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+
31
+ // src/index.tsx
32
+ var src_exports = {};
33
+ __export(src_exports, {
34
+ AuthPage: () => AuthPage,
35
+ AutoSaveIndicator: () => AutoSaveIndicator,
36
+ BooleanField: () => BooleanField,
37
+ Breadcrumb: () => Breadcrumb,
38
+ CloneButton: () => CloneButton,
39
+ Create: () => Create,
40
+ CreateButton: () => CreateButton,
41
+ DateField: () => DateField,
42
+ DeleteButton: () => DeleteButton,
43
+ Edit: () => Edit,
44
+ EditButton: () => EditButton,
45
+ EmailField: () => EmailField,
46
+ ErrorComponent: () => ErrorComponent,
47
+ ExportButton: () => ExportButton,
48
+ FileField: () => FileField,
49
+ FilterDropdown: () => FilterDropdown,
50
+ ImageField: () => ImageField,
51
+ ImportButton: () => ImportButton,
52
+ List: () => List,
53
+ ListButton: () => ListButton,
54
+ MarkdownField: () => MarkdownField,
55
+ NumberField: () => NumberField,
56
+ PageHeader: () => PageHeader,
57
+ RefineThemes: () => RefineThemes,
58
+ RefreshButton: () => RefreshButton,
59
+ SaveButton: () => SaveButton,
60
+ Show: () => Show,
61
+ ShowButton: () => ShowButton,
62
+ TagField: () => TagField,
63
+ TextField: () => TextField,
64
+ ThemedHeader: () => ThemedHeader,
65
+ ThemedLayout: () => ThemedLayout,
66
+ ThemedLayoutContext: () => ThemedLayoutContext,
67
+ ThemedLayoutContextProvider: () => ThemedLayoutContextProvider,
68
+ ThemedSider: () => ThemedSider,
69
+ ThemedTitle: () => ThemedTitle,
70
+ UrlField: () => UrlField,
71
+ WelcomePage: () => WelcomePage,
72
+ getDefaultFilter: () => getDefaultFilter,
73
+ getDefaultSortOrder: () => getDefaultSortOrder,
74
+ getValueFromEvent: () => getValueFromEvent,
75
+ mapAntdFilterToCrudFilter: () => mapAntdFilterToCrudFilter,
76
+ mapAntdSorterToCrudSorting: () => mapAntdSorterToCrudSorting,
77
+ rangePickerFilterMapper: () => rangePickerFilterMapper,
78
+ useCheckboxGroup: () => useCheckboxGroup,
79
+ useDrawer: () => useDrawer,
80
+ useDrawerForm: () => useDrawerForm,
81
+ useEditableTable: () => useEditableTable,
82
+ useFileUploadState: () => useFileUploadState,
83
+ useForm: () => useForm,
84
+ useImport: () => useImport,
85
+ useModal: () => useModal,
86
+ useModalForm: () => useModalForm,
87
+ useNotificationProvider: () => useNotificationProvider,
88
+ useRadioGroup: () => useRadioGroup,
89
+ useSelect: () => useSelect,
90
+ useSimpleList: () => useSimpleList,
91
+ useStepsForm: () => useStepsForm,
92
+ useTable: () => useTable,
93
+ useThemedLayoutContext: () => useThemedLayoutContext
94
+ });
95
+ module.exports = __toCommonJS(src_exports);
96
+
97
+ // src/hooks/form/useForm.ts
98
+ var import_react = __toESM(require("react"));
99
+ var import_antd = require("antd");
100
+ var import_sunflower_antd = require("sunflower-antd");
101
+ var import_core = require("@refinedev/core");
102
+ var useForm = /* @__PURE__ */ __name(({
103
+ action,
104
+ resource,
105
+ onMutationSuccess: onMutationSuccessProp,
106
+ onMutationError: onMutationErrorProp,
107
+ autoSave,
108
+ submitOnEnter = false,
109
+ warnWhenUnsavedChanges: warnWhenUnsavedChangesProp,
110
+ redirect,
111
+ successNotification,
112
+ errorNotification,
113
+ meta,
114
+ queryMeta,
115
+ mutationMeta,
116
+ liveMode,
117
+ liveParams,
118
+ mutationMode,
119
+ dataProviderName,
120
+ onLiveEvent,
121
+ invalidates,
122
+ undoableTimeout,
123
+ queryOptions,
124
+ createMutationOptions,
125
+ updateMutationOptions,
126
+ id: idFromProps,
127
+ overtimeOptions,
128
+ optimisticUpdateMap,
129
+ defaultFormValues,
130
+ disableServerSideValidation: disableServerSideValidationProp = false
131
+ } = {}) => {
132
+ var _a, _b;
133
+ const { options } = (0, import_core.useRefineContext)();
134
+ const disableServerSideValidation = (options == null ? void 0 : options.disableServerSideValidation) || disableServerSideValidationProp;
135
+ const translate = (0, import_core.useTranslate)();
136
+ const [formAnt] = import_antd.Form.useForm();
137
+ const formSF = (0, import_sunflower_antd.useForm)({
138
+ form: formAnt,
139
+ defaultFormValues
140
+ });
141
+ const { form } = formSF;
142
+ const useFormCoreResult = (0, import_core.useForm)({
143
+ onMutationSuccess: onMutationSuccessProp ? onMutationSuccessProp : void 0,
144
+ onMutationError: async (error, _variables, _context) => {
145
+ if (disableServerSideValidation) {
146
+ onMutationErrorProp == null ? void 0 : onMutationErrorProp(error, _variables, _context);
147
+ return;
148
+ }
149
+ let parsedErrors = [];
150
+ const fieldsValue = form.getFieldsValue();
151
+ const fields = Object.keys((0, import_core.flattenObjectKeys)(fieldsValue));
152
+ parsedErrors = fields.map((field) => {
153
+ return {
154
+ name: (0, import_core.propertyPathToArray)(field),
155
+ errors: void 0
156
+ };
157
+ });
158
+ form.setFields(parsedErrors);
159
+ const errors = error == null ? void 0 : error.errors;
160
+ for (const key in errors) {
161
+ const fieldError = errors[key];
162
+ let newError = [];
163
+ if (Array.isArray(fieldError)) {
164
+ newError = fieldError;
165
+ }
166
+ if (typeof fieldError === "string") {
167
+ newError = [fieldError];
168
+ }
169
+ if (typeof fieldError === "boolean" && fieldError) {
170
+ newError = ["Field is not valid."];
171
+ }
172
+ if (typeof fieldError === "object" && "key" in fieldError) {
173
+ const translatedMessage = translate(
174
+ fieldError.key,
175
+ fieldError.message
176
+ );
177
+ newError = [translatedMessage];
178
+ }
179
+ parsedErrors.push({
180
+ name: (0, import_core.propertyPathToArray)(key),
181
+ errors: newError
182
+ });
183
+ }
184
+ form.setFields([...parsedErrors]);
185
+ onMutationErrorProp == null ? void 0 : onMutationErrorProp(error, _variables, _context);
186
+ },
187
+ redirect,
188
+ action,
189
+ resource,
190
+ successNotification,
191
+ errorNotification,
192
+ meta,
193
+ queryMeta,
194
+ mutationMeta,
195
+ liveMode,
196
+ liveParams,
197
+ mutationMode,
198
+ dataProviderName,
199
+ onLiveEvent,
200
+ invalidates,
201
+ undoableTimeout,
202
+ queryOptions,
203
+ createMutationOptions,
204
+ updateMutationOptions,
205
+ id: idFromProps,
206
+ overtimeOptions,
207
+ optimisticUpdateMap,
208
+ autoSave
209
+ });
210
+ const { formLoading, onFinish, query, id, onFinishAutoSave } = useFormCoreResult;
211
+ const { warnWhenUnsavedChanges: warnWhenUnsavedChangesRefine, setWarnWhen } = (0, import_core.useWarnAboutChange)();
212
+ const warnWhenUnsavedChanges = warnWhenUnsavedChangesProp ?? warnWhenUnsavedChangesRefine;
213
+ import_react.default.useEffect(() => {
214
+ form.resetFields();
215
+ }, [(_a = query == null ? void 0 : query.data) == null ? void 0 : _a.data, id]);
216
+ const onKeyUp = /* @__PURE__ */ __name((event) => {
217
+ if (submitOnEnter && event.key === "Enter") {
218
+ form.submit();
219
+ }
220
+ }, "onKeyUp");
221
+ const onValuesChange = /* @__PURE__ */ __name((changeValues, allValues) => {
222
+ if (changeValues && warnWhenUnsavedChanges) {
223
+ setWarnWhen(true);
224
+ }
225
+ if (autoSave == null ? void 0 : autoSave.enabled) {
226
+ setWarnWhen(false);
227
+ const onFinishFromProps = (autoSave == null ? void 0 : autoSave.onFinish) ?? ((values) => values);
228
+ return onFinishAutoSave(onFinishFromProps(allValues)).catch(
229
+ (error) => error
230
+ );
231
+ }
232
+ return changeValues;
233
+ }, "onValuesChange");
234
+ const saveButtonProps = {
235
+ disabled: formLoading,
236
+ onClick: () => {
237
+ form.submit();
238
+ }
239
+ };
240
+ return {
241
+ form: formSF.form,
242
+ formProps: {
243
+ ...formSF.formProps,
244
+ onFinish: (values) => onFinish(values).catch((error) => error),
245
+ onKeyUp,
246
+ onValuesChange,
247
+ initialValues: (_b = query == null ? void 0 : query.data) == null ? void 0 : _b.data
248
+ },
249
+ saveButtonProps,
250
+ defaultFormValuesLoading: formSF.defaultFormValuesLoading,
251
+ ...useFormCoreResult,
252
+ onFinish: async (values) => {
253
+ return await onFinish(values ?? formSF.form.getFieldsValue(true));
254
+ }
255
+ };
256
+ }, "useForm");
257
+
258
+ // src/hooks/form/useModalForm/useModalForm.ts
259
+ var import_react2 = __toESM(require("react"));
260
+ var import_core3 = require("@refinedev/core");
261
+
262
+ // src/hooks/modal/useModal/index.tsx
263
+ var import_core2 = require("@refinedev/core");
264
+ var useModal = /* @__PURE__ */ __name(({
265
+ modalProps = {}
266
+ } = {}) => {
267
+ const { show, close, visible } = (0, import_core2.useModal)({
268
+ defaultVisible: modalProps.open
269
+ });
270
+ return {
271
+ modalProps: {
272
+ ...modalProps,
273
+ onCancel: (e) => {
274
+ var _a;
275
+ (_a = modalProps.onCancel) == null ? void 0 : _a.call(modalProps, e);
276
+ close();
277
+ },
278
+ open: visible,
279
+ visible
280
+ },
281
+ show,
282
+ close
283
+ };
284
+ }, "useModal");
285
+
286
+ // src/hooks/form/useModalForm/useModalForm.ts
287
+ var useModalForm = /* @__PURE__ */ __name(({
288
+ syncWithLocation,
289
+ defaultVisible = false,
290
+ autoSubmitClose = true,
291
+ autoResetForm = true,
292
+ autoResetFormWhenClose = true,
293
+ autoSave,
294
+ invalidates,
295
+ ...rest
296
+ }) => {
297
+ var _a;
298
+ const [initiallySynced, setInitiallySynced] = import_react2.default.useState(false);
299
+ const invalidate = (0, import_core3.useInvalidate)();
300
+ const {
301
+ resource,
302
+ action: actionFromParams,
303
+ identifier
304
+ } = (0, import_core3.useResourceParams)({ resource: rest.resource });
305
+ const parsed = (0, import_core3.useParsed)();
306
+ const go = (0, import_core3.useGo)();
307
+ const getUserFriendlyName = (0, import_core3.useUserFriendlyName)();
308
+ const action = rest.action ?? actionFromParams ?? "";
309
+ const syncingId = !(typeof syncWithLocation === "object" && (syncWithLocation == null ? void 0 : syncWithLocation.syncId) === false);
310
+ const syncWithLocationKey = typeof syncWithLocation === "object" && "key" in syncWithLocation ? syncWithLocation.key : resource && action && syncWithLocation ? `modal-${identifier}-${action}` : void 0;
311
+ const useFormProps = useForm({
312
+ meta: {
313
+ ...syncWithLocationKey ? { [syncWithLocationKey]: void 0 } : {},
314
+ ...rest.meta
315
+ },
316
+ autoSave,
317
+ invalidates,
318
+ ...rest
319
+ });
320
+ const { form, formProps, id, setId, formLoading, onFinish, autoSaveProps } = useFormProps;
321
+ const translate = (0, import_core3.useTranslate)();
322
+ const { warnWhen, setWarnWhen } = (0, import_core3.useWarnAboutChange)();
323
+ const { show, close, modalProps } = useModal({
324
+ modalProps: {
325
+ open: defaultVisible
326
+ }
327
+ });
328
+ const visible = modalProps.open || false;
329
+ const sunflowerUseModal = {
330
+ modalProps,
331
+ form,
332
+ formLoading,
333
+ formProps,
334
+ formResult: void 0,
335
+ formValues: form.getFieldsValue,
336
+ defaultFormValuesLoading: false,
337
+ initialValues: {},
338
+ submit: onFinish,
339
+ close,
340
+ open: modalProps.open || false,
341
+ show
342
+ };
343
+ import_react2.default.useEffect(() => {
344
+ var _a2, _b, _c, _d;
345
+ if (initiallySynced === false && syncWithLocationKey) {
346
+ const openStatus = (_b = (_a2 = parsed == null ? void 0 : parsed.params) == null ? void 0 : _a2[syncWithLocationKey]) == null ? void 0 : _b.open;
347
+ if (typeof openStatus === "boolean") {
348
+ if (openStatus) {
349
+ show();
350
+ }
351
+ } else if (typeof openStatus === "string") {
352
+ if (openStatus === "true") {
353
+ show();
354
+ }
355
+ }
356
+ if (syncingId) {
357
+ const idFromParams = (_d = (_c = parsed == null ? void 0 : parsed.params) == null ? void 0 : _c[syncWithLocationKey]) == null ? void 0 : _d.id;
358
+ if (idFromParams) {
359
+ setId == null ? void 0 : setId(idFromParams);
360
+ }
361
+ }
362
+ setInitiallySynced(true);
363
+ }
364
+ }, [syncWithLocationKey, parsed, syncingId, setId]);
365
+ import_react2.default.useEffect(() => {
366
+ var _a2;
367
+ if (initiallySynced === true) {
368
+ if (visible && syncWithLocationKey) {
369
+ go({
370
+ query: {
371
+ [syncWithLocationKey]: {
372
+ ...(_a2 = parsed == null ? void 0 : parsed.params) == null ? void 0 : _a2[syncWithLocationKey],
373
+ open: true,
374
+ ...syncingId && id && { id }
375
+ }
376
+ },
377
+ options: { keepQuery: true },
378
+ type: "replace"
379
+ });
380
+ } else if (syncWithLocationKey && !visible) {
381
+ go({
382
+ query: {
383
+ [syncWithLocationKey]: void 0
384
+ },
385
+ options: { keepQuery: true },
386
+ type: "replace"
387
+ });
388
+ }
389
+ }
390
+ }, [id, visible, show, syncWithLocationKey, syncingId]);
391
+ const saveButtonPropsSF = {
392
+ disabled: formLoading,
393
+ loading: formLoading,
394
+ onClick: () => {
395
+ form.submit();
396
+ }
397
+ };
398
+ const handleClose = (0, import_react2.useCallback)(() => {
399
+ if (autoSaveProps.status === "success" && (autoSave == null ? void 0 : autoSave.invalidateOnClose)) {
400
+ invalidate({
401
+ id,
402
+ invalidates: invalidates || ["list", "many", "detail"],
403
+ dataProviderName: rest.dataProviderName,
404
+ resource: identifier
405
+ });
406
+ }
407
+ if (warnWhen) {
408
+ const warnWhenConfirm = window.confirm(
409
+ translate(
410
+ "warnWhenUnsavedChanges",
411
+ "Are you sure you want to leave? You have unsaved changes."
412
+ )
413
+ );
414
+ if (warnWhenConfirm) {
415
+ setWarnWhen(false);
416
+ } else {
417
+ return;
418
+ }
419
+ }
420
+ setId == null ? void 0 : setId(void 0);
421
+ sunflowerUseModal.close();
422
+ if (autoResetFormWhenClose) {
423
+ form.resetFields();
424
+ }
425
+ }, [warnWhen, autoSaveProps.status]);
426
+ const handleShow = (0, import_react2.useCallback)(
427
+ (showId) => {
428
+ if (typeof showId !== "undefined") {
429
+ setId == null ? void 0 : setId(showId);
430
+ }
431
+ const needsIdToOpen = action === "edit" || action === "clone";
432
+ const hasId = typeof showId !== "undefined" || typeof id !== "undefined";
433
+ if (needsIdToOpen ? hasId : true) {
434
+ sunflowerUseModal.show();
435
+ }
436
+ },
437
+ [id]
438
+ );
439
+ const { visible: _visible, ...otherModalProps } = modalProps;
440
+ const newModalProps = { open: _visible, ...otherModalProps };
441
+ return {
442
+ ...useFormProps,
443
+ ...sunflowerUseModal,
444
+ show: handleShow,
445
+ close: handleClose,
446
+ open: visible,
447
+ formProps: {
448
+ ...formProps,
449
+ ...useFormProps.formProps,
450
+ onValuesChange: formProps == null ? void 0 : formProps.onValuesChange,
451
+ onKeyUp: formProps == null ? void 0 : formProps.onKeyUp,
452
+ onFinish: async (values) => {
453
+ await onFinish(values);
454
+ if (autoSubmitClose) {
455
+ close();
456
+ }
457
+ if (autoResetForm) {
458
+ form.resetFields();
459
+ }
460
+ }
461
+ },
462
+ modalProps: {
463
+ ...newModalProps,
464
+ width: "1000px",
465
+ okButtonProps: saveButtonPropsSF,
466
+ title: translate(
467
+ `${identifier}.titles.${rest.action}`,
468
+ `${getUserFriendlyName(
469
+ `${rest.action} ${((_a = resource == null ? void 0 : resource.meta) == null ? void 0 : _a.label) ?? identifier}`,
470
+ "singular"
471
+ )}`
472
+ ),
473
+ okText: translate("buttons.save", "Save"),
474
+ cancelText: translate("buttons.cancel", "Cancel"),
475
+ onCancel: handleClose,
476
+ forceRender: true
477
+ },
478
+ formLoading
479
+ };
480
+ }, "useModalForm");
481
+
482
+ // src/hooks/form/useDrawerForm/useDrawerForm.ts
483
+ var import_react3 = __toESM(require("react"));
484
+ var import_core5 = require("@refinedev/core");
485
+
486
+ // src/hooks/drawer/useDrawer/index.tsx
487
+ var import_core4 = require("@refinedev/core");
488
+ var useDrawer = /* @__PURE__ */ __name(({
489
+ drawerProps = {}
490
+ } = {}) => {
491
+ const { show, close, visible } = (0, import_core4.useModal)({
492
+ defaultVisible: drawerProps.open
493
+ });
494
+ return {
495
+ drawerProps: {
496
+ ...drawerProps,
497
+ onClose: (e) => {
498
+ var _a;
499
+ (_a = drawerProps.onClose) == null ? void 0 : _a.call(drawerProps, e);
500
+ close();
501
+ },
502
+ open: visible
503
+ },
504
+ show,
505
+ close
506
+ };
507
+ }, "useDrawer");
508
+
509
+ // src/hooks/form/useDrawerForm/useDrawerForm.ts
510
+ var useDrawerForm = /* @__PURE__ */ __name(({
511
+ syncWithLocation,
512
+ defaultVisible = false,
513
+ autoSubmitClose = true,
514
+ autoResetForm = true,
515
+ autoSave,
516
+ invalidates,
517
+ ...rest
518
+ }) => {
519
+ const invalidate = (0, import_core5.useInvalidate)();
520
+ const [initiallySynced, setInitiallySynced] = import_react3.default.useState(false);
521
+ const { show, close, drawerProps } = useDrawer({
522
+ drawerProps: {
523
+ open: defaultVisible
524
+ }
525
+ });
526
+ const visible = drawerProps.open || false;
527
+ const {
528
+ resource,
529
+ action: actionFromParams,
530
+ identifier
531
+ } = (0, import_core5.useResourceParams)({
532
+ resource: rest.resource
533
+ });
534
+ const parsed = (0, import_core5.useParsed)();
535
+ const go = (0, import_core5.useGo)();
536
+ const action = rest.action ?? actionFromParams ?? "";
537
+ const syncingId = !(typeof syncWithLocation === "object" && (syncWithLocation == null ? void 0 : syncWithLocation.syncId) === false);
538
+ const syncWithLocationKey = typeof syncWithLocation === "object" && "key" in syncWithLocation ? syncWithLocation.key : resource && action && syncWithLocation ? `drawer-${(resource == null ? void 0 : resource.identifier) ?? (resource == null ? void 0 : resource.name)}-${action}` : void 0;
539
+ const useFormProps = useForm({
540
+ meta: {
541
+ ...syncWithLocationKey ? { [syncWithLocationKey]: void 0 } : {},
542
+ ...rest.meta
543
+ },
544
+ autoSave,
545
+ invalidates,
546
+ ...rest
547
+ });
548
+ const { form, formProps, formLoading, id, setId, onFinish, autoSaveProps } = useFormProps;
549
+ import_react3.default.useEffect(() => {
550
+ var _a, _b, _c, _d;
551
+ if (initiallySynced === false && syncWithLocationKey) {
552
+ const openStatus = (_b = (_a = parsed == null ? void 0 : parsed.params) == null ? void 0 : _a[syncWithLocationKey]) == null ? void 0 : _b.open;
553
+ if (typeof openStatus === "boolean") {
554
+ openStatus ? show() : close();
555
+ } else if (typeof openStatus === "string") {
556
+ if (openStatus === "true") {
557
+ show();
558
+ }
559
+ }
560
+ if (syncingId) {
561
+ const idFromParams = (_d = (_c = parsed == null ? void 0 : parsed.params) == null ? void 0 : _c[syncWithLocationKey]) == null ? void 0 : _d.id;
562
+ if (idFromParams) {
563
+ setId == null ? void 0 : setId(idFromParams);
564
+ }
565
+ }
566
+ setInitiallySynced(true);
567
+ }
568
+ }, [syncWithLocationKey, parsed, syncingId, setId, initiallySynced]);
569
+ import_react3.default.useEffect(() => {
570
+ var _a;
571
+ if (initiallySynced === true) {
572
+ if (visible && syncWithLocationKey) {
573
+ go({
574
+ query: {
575
+ [syncWithLocationKey]: {
576
+ ...(_a = parsed == null ? void 0 : parsed.params) == null ? void 0 : _a[syncWithLocationKey],
577
+ open: true,
578
+ ...syncingId && id && { id }
579
+ }
580
+ },
581
+ options: { keepQuery: true },
582
+ type: "replace"
583
+ });
584
+ } else if (syncWithLocationKey && !visible) {
585
+ go({
586
+ query: {
587
+ [syncWithLocationKey]: void 0
588
+ },
589
+ options: { keepQuery: true },
590
+ type: "replace"
591
+ });
592
+ }
593
+ }
594
+ }, [
595
+ id,
596
+ visible,
597
+ show,
598
+ close,
599
+ syncWithLocationKey,
600
+ syncingId,
601
+ initiallySynced
602
+ ]);
603
+ const translate = (0, import_core5.useTranslate)();
604
+ const { warnWhen, setWarnWhen } = (0, import_core5.useWarnAboutChange)();
605
+ const saveButtonProps = {
606
+ disabled: formLoading,
607
+ onClick: () => {
608
+ form.submit();
609
+ },
610
+ loading: formLoading
611
+ };
612
+ const deleteButtonProps = {
613
+ recordItemId: id,
614
+ onSuccess: () => {
615
+ setId == null ? void 0 : setId(void 0);
616
+ close();
617
+ }
618
+ };
619
+ const handleClose = (0, import_react3.useCallback)(() => {
620
+ if (autoSaveProps.status === "success" && (autoSave == null ? void 0 : autoSave.invalidateOnClose)) {
621
+ invalidate({
622
+ id,
623
+ invalidates: invalidates || ["list", "many", "detail"],
624
+ dataProviderName: rest.dataProviderName,
625
+ resource: identifier
626
+ });
627
+ }
628
+ if (warnWhen) {
629
+ const warnWhenConfirm = window.confirm(
630
+ translate(
631
+ "warnWhenUnsavedChanges",
632
+ "Are you sure you want to leave? You have unsaved changes."
633
+ )
634
+ );
635
+ if (warnWhenConfirm) {
636
+ setWarnWhen(false);
637
+ } else {
638
+ return;
639
+ }
640
+ }
641
+ close();
642
+ setId == null ? void 0 : setId(void 0);
643
+ }, [warnWhen]);
644
+ const handleShow = (0, import_react3.useCallback)(
645
+ (showId) => {
646
+ if (typeof showId !== "undefined") {
647
+ setId == null ? void 0 : setId(showId);
648
+ }
649
+ const needsIdToOpen = action === "edit" || action === "clone";
650
+ const hasId = typeof showId !== "undefined" || typeof id !== "undefined";
651
+ if (needsIdToOpen ? hasId : true) {
652
+ show();
653
+ }
654
+ },
655
+ [id]
656
+ );
657
+ return {
658
+ ...useFormProps,
659
+ show: handleShow,
660
+ close: handleClose,
661
+ formProps: {
662
+ form,
663
+ ...useFormProps.formProps,
664
+ onValuesChange: formProps == null ? void 0 : formProps.onValuesChange,
665
+ onKeyUp: formProps == null ? void 0 : formProps.onKeyUp,
666
+ onFinish: async (values) => {
667
+ await onFinish(values);
668
+ if (autoSubmitClose) {
669
+ close();
670
+ }
671
+ if (autoResetForm) {
672
+ form.resetFields();
673
+ }
674
+ }
675
+ },
676
+ drawerProps: {
677
+ ...drawerProps,
678
+ width: "500px",
679
+ onClose: handleClose,
680
+ open: visible,
681
+ forceRender: true
682
+ },
683
+ saveButtonProps,
684
+ deleteButtonProps,
685
+ formLoading
686
+ };
687
+ }, "useDrawerForm");
688
+
689
+ // src/hooks/form/useStepsForm/useStepsForm.ts
690
+ var import_sunflower_antd2 = require("sunflower-antd");
691
+ var useStepsForm = /* @__PURE__ */ __name((props = {}) => {
692
+ const useFormProps = useForm({
693
+ ...props
694
+ });
695
+ const { form, formProps } = useFormProps;
696
+ const stepsPropsSunflower = (0, import_sunflower_antd2.useStepsForm)({
697
+ isBackValidate: false,
698
+ form,
699
+ submit: (values) => {
700
+ var _a;
701
+ (_a = formProps == null ? void 0 : formProps.onFinish) == null ? void 0 : _a.call(formProps, values);
702
+ },
703
+ ...props
704
+ });
705
+ return {
706
+ ...useFormProps,
707
+ ...stepsPropsSunflower,
708
+ formLoading: useFormProps.formLoading,
709
+ formProps: {
710
+ ...stepsPropsSunflower.formProps,
711
+ ...useFormProps.formProps,
712
+ onValuesChange: formProps == null ? void 0 : formProps.onValuesChange,
713
+ onKeyUp: formProps == null ? void 0 : formProps.onKeyUp
714
+ },
715
+ saveButtonProps: {
716
+ ...useFormProps.saveButtonProps,
717
+ onClick: () => stepsPropsSunflower.submit()
718
+ }
719
+ };
720
+ }, "useStepsForm");
721
+
722
+ // src/hooks/table/useTable/useTable.ts
723
+ var import_react5 = __toESM(require("react"));
724
+ var import_antd2 = require("antd");
725
+ var import_sunflower_antd3 = require("sunflower-antd");
726
+ var import_core8 = require("@refinedev/core");
727
+
728
+ // src/definitions/table/index.ts
729
+ var import_core6 = require("@refinedev/core");
730
+ var getDefaultSortOrder = /* @__PURE__ */ __name((columnName, sorter) => {
731
+ const sort = (0, import_core6.getDefaultSortOrder)(columnName, sorter);
732
+ if (sort) {
733
+ return `${sort}end`;
734
+ }
735
+ return void 0;
736
+ }, "getDefaultSortOrder");
737
+ var getDefaultFilter = /* @__PURE__ */ __name((columnName, filters, operatorType = "eq") => {
738
+ return (0, import_core6.getDefaultFilter)(columnName, filters, operatorType);
739
+ }, "getDefaultFilter");
740
+ var mapAntdSorterToCrudSorting = /* @__PURE__ */ __name((sorter) => {
741
+ const crudSorting = [];
742
+ if (Array.isArray(sorter)) {
743
+ sorter.sort((a, b) => {
744
+ var _a, _b;
745
+ return (((_a = a.column) == null ? void 0 : _a.sorter).multiple ?? 0) < (((_b = b.column) == null ? void 0 : _b.sorter).multiple ?? 0) ? -1 : 0;
746
+ }).map((item) => {
747
+ if (item.field && item.order) {
748
+ const field = Array.isArray(item.field) ? item.field.join(".") : `${item.field}`;
749
+ crudSorting.push({
750
+ field: `${item.columnKey ?? field}`,
751
+ order: item.order.replace("end", "")
752
+ });
753
+ }
754
+ });
755
+ } else {
756
+ if (sorter.field && sorter.order) {
757
+ const field = Array.isArray(sorter.field) ? sorter.field.join(".") : `${sorter.field}`;
758
+ crudSorting.push({
759
+ field: `${sorter.columnKey ?? field}`,
760
+ order: sorter.order.replace("end", "")
761
+ });
762
+ }
763
+ }
764
+ return crudSorting;
765
+ }, "mapAntdSorterToCrudSorting");
766
+ var mapAntdFilterToCrudFilter = /* @__PURE__ */ __name((tableFilters, prevFilters, initialFilters) => {
767
+ const crudFilters = [];
768
+ const mapInitialFilter = (initialFilters ?? []).reduce((acc, item) => {
769
+ const field = item.key || item.field;
770
+ return { ...acc, [field]: item };
771
+ }, {});
772
+ Object.keys(tableFilters).map((field) => {
773
+ var _a, _b;
774
+ const value = tableFilters[field];
775
+ const operator = ((_a = prevFilters.filter((i) => i.operator !== "or").find((p) => p.field === field)) == null ? void 0 : _a.operator) || ((_b = mapInitialFilter[field]) == null ? void 0 : _b.operator);
776
+ if (operator !== "or" && operator !== "and") {
777
+ crudFilters.push({
778
+ field,
779
+ operator: operator ?? (Array.isArray(value) ? "in" : "eq"),
780
+ value
781
+ });
782
+ }
783
+ });
784
+ return crudFilters;
785
+ }, "mapAntdFilterToCrudFilter");
786
+
787
+ // src/hooks/table/useTable/paginationLink.tsx
788
+ var import_core7 = require("@refinedev/core");
789
+ var import_react4 = __toESM(require("react"));
790
+ var PaginationLink = /* @__PURE__ */ __name(({ to, element }) => {
791
+ const Link = (0, import_core7.useLink)();
792
+ return /* @__PURE__ */ import_react4.default.createElement(
793
+ Link,
794
+ {
795
+ to,
796
+ replace: false,
797
+ onClick: (e) => {
798
+ e.preventDefault();
799
+ }
800
+ },
801
+ element
802
+ );
803
+ }, "PaginationLink");
804
+
805
+ // src/hooks/table/useTable/useTable.ts
806
+ var useTable = /* @__PURE__ */ __name(({
807
+ onSearch,
808
+ pagination: paginationFromProp,
809
+ filters: filtersFromProp,
810
+ sorters: sortersFromProp,
811
+ syncWithLocation,
812
+ resource,
813
+ successNotification,
814
+ errorNotification,
815
+ queryOptions,
816
+ liveMode: liveModeFromProp,
817
+ onLiveEvent,
818
+ liveParams,
819
+ meta,
820
+ dataProviderName
821
+ } = {}) => {
822
+ const {
823
+ tableQuery,
824
+ currentPage,
825
+ setCurrentPage,
826
+ pageSize,
827
+ setPageSize,
828
+ filters,
829
+ setFilters,
830
+ sorters,
831
+ setSorters,
832
+ createLinkForSyncWithLocation,
833
+ pageCount,
834
+ overtime,
835
+ result
836
+ } = (0, import_core8.useTable)({
837
+ pagination: paginationFromProp,
838
+ filters: filtersFromProp,
839
+ sorters: sortersFromProp,
840
+ syncWithLocation,
841
+ resource,
842
+ successNotification,
843
+ errorNotification,
844
+ queryOptions,
845
+ liveMode: liveModeFromProp,
846
+ onLiveEvent,
847
+ liveParams,
848
+ meta,
849
+ dataProviderName
850
+ });
851
+ const { syncWithLocation: defaultSyncWithLocation } = (0, import_core8.useSyncWithLocation)();
852
+ const shouldSyncWithLocation = syncWithLocation ?? defaultSyncWithLocation;
853
+ const breakpoint = import_antd2.Grid.useBreakpoint();
854
+ const [form] = import_antd2.Form.useForm();
855
+ const formSF = (0, import_sunflower_antd3.useForm)({
856
+ form
857
+ });
858
+ const liveMode = (0, import_core8.useLiveMode)(liveModeFromProp);
859
+ const isPaginationEnabled = (paginationFromProp == null ? void 0 : paginationFromProp.mode) !== "off";
860
+ const preferredInitialFilters = filtersFromProp == null ? void 0 : filtersFromProp.initial;
861
+ const { data, isFetched, isLoading } = tableQuery;
862
+ import_react5.default.useEffect(() => {
863
+ if (shouldSyncWithLocation) {
864
+ const registeredFields = formSF.form.getFieldsValue();
865
+ const filterFilterMap = Object.keys(registeredFields).reduce(
866
+ (acc, curr) => {
867
+ const filter = filters.find(
868
+ (filter2) => "field" in filter2 && filter2.field === curr
869
+ );
870
+ if (filter) {
871
+ acc[curr] = filter == null ? void 0 : filter.value;
872
+ }
873
+ return acc;
874
+ },
875
+ {}
876
+ );
877
+ formSF.form.setFieldsValue(filterFilterMap);
878
+ }
879
+ }, [shouldSyncWithLocation]);
880
+ const onChange = /* @__PURE__ */ __name((paginationState, tableFilters, sorter) => {
881
+ if (tableFilters && Object.keys(tableFilters).length > 0) {
882
+ const crudFilters = mapAntdFilterToCrudFilter(
883
+ tableFilters,
884
+ filters,
885
+ preferredInitialFilters
886
+ );
887
+ setFilters(crudFilters);
888
+ }
889
+ if (sorter && Object.keys(sorter).length > 0) {
890
+ const crudSorting = mapAntdSorterToCrudSorting(sorter);
891
+ setSorters(crudSorting);
892
+ }
893
+ if (isPaginationEnabled) {
894
+ setCurrentPage == null ? void 0 : setCurrentPage(paginationState.current || 1);
895
+ setPageSize == null ? void 0 : setPageSize(paginationState.pageSize || 10);
896
+ }
897
+ }, "onChange");
898
+ const onFinish = /* @__PURE__ */ __name(async (value) => {
899
+ if (onSearch) {
900
+ const searchFilters = await onSearch(value);
901
+ setFilters(searchFilters);
902
+ if (isPaginationEnabled) {
903
+ setCurrentPage == null ? void 0 : setCurrentPage(1);
904
+ }
905
+ }
906
+ }, "onFinish");
907
+ const antdPagination = /* @__PURE__ */ __name(() => {
908
+ if (isPaginationEnabled) {
909
+ return {
910
+ itemRender: (page, type, element) => {
911
+ var _a;
912
+ const link = createLinkForSyncWithLocation({
913
+ pagination: {
914
+ pageSize,
915
+ currentPage: page
916
+ },
917
+ sorters,
918
+ filters
919
+ });
920
+ if (type === "page") {
921
+ return (0, import_react5.createElement)(PaginationLink, {
922
+ to: link,
923
+ element: `${page}`
924
+ });
925
+ }
926
+ if (type === "next" || type === "prev") {
927
+ return (0, import_react5.createElement)(PaginationLink, {
928
+ to: link,
929
+ element
930
+ });
931
+ }
932
+ if (type === "jump-next" || type === "jump-prev") {
933
+ const elementChildren = (_a = element == null ? void 0 : element.props) == null ? void 0 : _a.children;
934
+ return (0, import_react5.createElement)(PaginationLink, {
935
+ to: link,
936
+ element: import_react5.Children.count(elementChildren) > 1 ? (0, import_react5.createElement)(import_react5.Fragment, {}, elementChildren) : elementChildren
937
+ });
938
+ }
939
+ return element;
940
+ },
941
+ pageSize,
942
+ current: currentPage,
943
+ simple: !breakpoint.sm,
944
+ position: !breakpoint.sm ? ["bottomCenter"] : ["bottomRight"],
945
+ total: data == null ? void 0 : data.total
946
+ };
947
+ }
948
+ return false;
949
+ }, "antdPagination");
950
+ return {
951
+ searchFormProps: {
952
+ ...formSF.formProps,
953
+ onFinish
954
+ },
955
+ tableProps: {
956
+ dataSource: data == null ? void 0 : data.data,
957
+ loading: liveMode === "auto" ? isLoading : !isFetched,
958
+ onChange,
959
+ pagination: antdPagination(),
960
+ scroll: { x: true }
961
+ },
962
+ tableQuery,
963
+ sorters,
964
+ filters,
965
+ setSorters,
966
+ setFilters,
967
+ currentPage,
968
+ setCurrentPage,
969
+ pageSize,
970
+ setPageSize,
971
+ pageCount,
972
+ createLinkForSyncWithLocation,
973
+ overtime,
974
+ result
975
+ };
976
+ }, "useTable");
977
+
978
+ // src/hooks/table/useEditableTable/useEditableTable.ts
979
+ var useEditableTable = /* @__PURE__ */ __name(({
980
+ autoSubmitClose = true,
981
+ ...props
982
+ } = {}) => {
983
+ const table = useTable({
984
+ ...props,
985
+ successNotification: void 0,
986
+ errorNotification: void 0
987
+ });
988
+ const edit = useForm({
989
+ ...props,
990
+ action: "edit",
991
+ redirect: false
992
+ });
993
+ const { id: editId, setId, saveButtonProps } = edit;
994
+ const cancelButtonProps = {
995
+ onClick: () => {
996
+ setId(void 0);
997
+ }
998
+ };
999
+ const editButtonProps = /* @__PURE__ */ __name((id) => {
1000
+ return {
1001
+ onClick: () => setId(id)
1002
+ };
1003
+ }, "editButtonProps");
1004
+ const isEditing = /* @__PURE__ */ __name((id) => id === editId, "isEditing");
1005
+ return {
1006
+ ...table,
1007
+ ...edit,
1008
+ formProps: {
1009
+ ...edit.formProps,
1010
+ onFinish: async (values) => {
1011
+ try {
1012
+ const result = await edit.onFinish(values);
1013
+ if (autoSubmitClose) {
1014
+ setId(void 0);
1015
+ }
1016
+ return result;
1017
+ } catch (error) {
1018
+ return error;
1019
+ }
1020
+ }
1021
+ },
1022
+ saveButtonProps,
1023
+ cancelButtonProps,
1024
+ editButtonProps,
1025
+ isEditing
1026
+ };
1027
+ }, "useEditableTable");
1028
+
1029
+ // src/hooks/fields/useSelect/index.ts
1030
+ var import_core9 = require("@refinedev/core");
1031
+ var useSelect = /* @__PURE__ */ __name((props) => {
1032
+ const { query, defaultValueQuery, onSearch, options } = (0, import_core9.useSelect)(props);
1033
+ return {
1034
+ selectProps: {
1035
+ options,
1036
+ onSearch,
1037
+ loading: defaultValueQuery.query.isFetching,
1038
+ showSearch: true,
1039
+ filterOption: false
1040
+ },
1041
+ query,
1042
+ defaultValueQuery: defaultValueQuery.query
1043
+ };
1044
+ }, "useSelect");
1045
+
1046
+ // src/hooks/fields/useCheckboxGroup/index.ts
1047
+ var import_core10 = require("@refinedev/core");
1048
+ var useCheckboxGroup = /* @__PURE__ */ __name(({
1049
+ resource,
1050
+ sorters,
1051
+ filters,
1052
+ optionLabel,
1053
+ optionValue,
1054
+ queryOptions,
1055
+ pagination,
1056
+ liveMode,
1057
+ defaultValue,
1058
+ selectedOptionsOrder,
1059
+ onLiveEvent,
1060
+ liveParams,
1061
+ meta,
1062
+ dataProviderName,
1063
+ ...rest
1064
+ }) => {
1065
+ const { query, options } = (0, import_core10.useSelect)({
1066
+ resource,
1067
+ sorters,
1068
+ filters,
1069
+ optionLabel,
1070
+ optionValue,
1071
+ queryOptions,
1072
+ pagination,
1073
+ liveMode,
1074
+ defaultValue,
1075
+ selectedOptionsOrder,
1076
+ onLiveEvent,
1077
+ liveParams,
1078
+ meta,
1079
+ dataProviderName,
1080
+ ...rest
1081
+ });
1082
+ return {
1083
+ checkboxGroupProps: {
1084
+ options,
1085
+ defaultValue
1086
+ },
1087
+ query
1088
+ };
1089
+ }, "useCheckboxGroup");
1090
+
1091
+ // src/hooks/fields/useRadioGroup/index.ts
1092
+ var import_core11 = require("@refinedev/core");
1093
+ var useRadioGroup = /* @__PURE__ */ __name(({
1094
+ resource,
1095
+ sorters,
1096
+ filters,
1097
+ optionLabel,
1098
+ optionValue,
1099
+ queryOptions,
1100
+ pagination,
1101
+ liveMode,
1102
+ defaultValue,
1103
+ selectedOptionsOrder,
1104
+ onLiveEvent,
1105
+ liveParams,
1106
+ meta,
1107
+ dataProviderName,
1108
+ ...rest
1109
+ }) => {
1110
+ const { query, options } = (0, import_core11.useSelect)({
1111
+ resource,
1112
+ sorters,
1113
+ filters,
1114
+ optionLabel,
1115
+ optionValue,
1116
+ queryOptions,
1117
+ pagination,
1118
+ liveMode,
1119
+ defaultValue,
1120
+ selectedOptionsOrder,
1121
+ onLiveEvent,
1122
+ liveParams,
1123
+ meta,
1124
+ dataProviderName,
1125
+ ...rest
1126
+ });
1127
+ return {
1128
+ radioGroupProps: {
1129
+ options,
1130
+ defaultValue
1131
+ },
1132
+ query
1133
+ };
1134
+ }, "useRadioGroup");
1135
+
1136
+ // src/hooks/import/index.tsx
1137
+ var import_react6 = __toESM(require("react"));
1138
+ var import_antd3 = require("antd");
1139
+ var import_core12 = require("@refinedev/core");
1140
+ var useImport = /* @__PURE__ */ __name(({
1141
+ resource: resourceFromProp,
1142
+ mapData = /* @__PURE__ */ __name((item) => item, "mapData"),
1143
+ paparseOptions,
1144
+ batchSize = Number.MAX_SAFE_INTEGER,
1145
+ onFinish,
1146
+ meta,
1147
+ dataProviderName,
1148
+ onProgress: onProgressFromProp
1149
+ } = {}) => {
1150
+ const t = (0, import_core12.useTranslate)();
1151
+ const { resource } = (0, import_core12.useResourceParams)({ resource: resourceFromProp });
1152
+ const { mutationResult, isLoading, handleChange } = (0, import_core12.useImport)({
1153
+ resource: (resource == null ? void 0 : resource.identifier) ?? (resource == null ? void 0 : resource.name),
1154
+ mapData,
1155
+ paparseOptions,
1156
+ batchSize,
1157
+ meta,
1158
+ dataProviderName,
1159
+ onFinish,
1160
+ onProgress: onProgressFromProp ?? (({ totalAmount, processedAmount }) => {
1161
+ if (totalAmount > 0 && processedAmount > 0) {
1162
+ const description = /* @__PURE__ */ import_react6.default.createElement(
1163
+ "div",
1164
+ {
1165
+ style: {
1166
+ display: "flex",
1167
+ alignItems: "center",
1168
+ justifyContent: "space-between",
1169
+ marginTop: "-7px"
1170
+ }
1171
+ },
1172
+ /* @__PURE__ */ import_react6.default.createElement(
1173
+ import_antd3.Progress,
1174
+ {
1175
+ type: "circle",
1176
+ percent: Math.floor(processedAmount / totalAmount * 100),
1177
+ size: 50,
1178
+ strokeColor: "#1890ff",
1179
+ status: "normal"
1180
+ }
1181
+ ),
1182
+ /* @__PURE__ */ import_react6.default.createElement("span", { style: { marginLeft: 8, width: "100%" } }, t(
1183
+ "notifications.importProgress",
1184
+ {
1185
+ processed: processedAmount,
1186
+ total: totalAmount
1187
+ },
1188
+ `Importing: ${processedAmount}/${totalAmount}`
1189
+ ))
1190
+ );
1191
+ import_antd3.notification.open({
1192
+ description,
1193
+ message: null,
1194
+ key: `${resource}-import`,
1195
+ duration: 0
1196
+ });
1197
+ if (processedAmount >= totalAmount) {
1198
+ }
1199
+ if (processedAmount === totalAmount) {
1200
+ setTimeout(() => {
1201
+ import_antd3.notification.destroy(`${resource}-import`);
1202
+ }, 4500);
1203
+ }
1204
+ }
1205
+ })
1206
+ });
1207
+ return {
1208
+ uploadProps: {
1209
+ onChange: handleChange,
1210
+ beforeUpload: () => false,
1211
+ showUploadList: false,
1212
+ accept: ".csv"
1213
+ },
1214
+ buttonProps: {
1215
+ type: "default",
1216
+ loading: isLoading
1217
+ },
1218
+ mutationResult,
1219
+ isLoading
1220
+ };
1221
+ }, "useImport");
1222
+
1223
+ // src/hooks/useSimpleList/useSimpleList.ts
1224
+ var import_react7 = require("react");
1225
+ var import_antd4 = require("antd");
1226
+ var import_core13 = require("@refinedev/core");
1227
+ var import_core14 = require("@refinedev/core");
1228
+ var useSimpleList = /* @__PURE__ */ __name(({
1229
+ resource,
1230
+ pagination: paginationFromProp,
1231
+ filters: filtersFromProp,
1232
+ sorters: sortersFromProp,
1233
+ onSearch,
1234
+ queryOptions,
1235
+ syncWithLocation,
1236
+ successNotification,
1237
+ errorNotification,
1238
+ liveMode: liveModeFromProp,
1239
+ onLiveEvent,
1240
+ liveParams,
1241
+ meta,
1242
+ dataProviderName
1243
+ } = {}) => {
1244
+ const {
1245
+ sorters,
1246
+ filters,
1247
+ currentPage,
1248
+ pageSize,
1249
+ pageCount,
1250
+ setFilters,
1251
+ setCurrentPage,
1252
+ setPageSize,
1253
+ setSorters,
1254
+ createLinkForSyncWithLocation,
1255
+ tableQuery,
1256
+ overtime,
1257
+ result
1258
+ } = (0, import_core13.useTable)({
1259
+ resource,
1260
+ pagination: paginationFromProp,
1261
+ filters: filtersFromProp,
1262
+ sorters: sortersFromProp,
1263
+ queryOptions,
1264
+ successNotification,
1265
+ errorNotification,
1266
+ liveMode: liveModeFromProp,
1267
+ onLiveEvent,
1268
+ liveParams,
1269
+ meta,
1270
+ syncWithLocation,
1271
+ dataProviderName
1272
+ });
1273
+ const isPaginationEnabled = (paginationFromProp == null ? void 0 : paginationFromProp.mode) !== "off";
1274
+ const breakpoint = import_antd4.Grid.useBreakpoint();
1275
+ const liveMode = (0, import_core14.useLiveMode)(liveModeFromProp);
1276
+ const [form] = import_antd4.Form.useForm();
1277
+ const { data, isFetched, isLoading } = tableQuery;
1278
+ const onChange = /* @__PURE__ */ __name((page, pageSize2) => {
1279
+ if (isPaginationEnabled) {
1280
+ setCurrentPage(page);
1281
+ setPageSize(pageSize2 || 10);
1282
+ }
1283
+ }, "onChange");
1284
+ const onFinish = /* @__PURE__ */ __name(async (values) => {
1285
+ if (onSearch) {
1286
+ const searchFilters = await onSearch(values);
1287
+ if (isPaginationEnabled) {
1288
+ setCurrentPage == null ? void 0 : setCurrentPage(1);
1289
+ }
1290
+ return setFilters(searchFilters);
1291
+ }
1292
+ }, "onFinish");
1293
+ const antdPagination = /* @__PURE__ */ __name(() => {
1294
+ if (isPaginationEnabled) {
1295
+ return {
1296
+ itemRender: (page, type, element) => {
1297
+ var _a;
1298
+ const link = createLinkForSyncWithLocation({
1299
+ pagination: {
1300
+ pageSize,
1301
+ currentPage: page
1302
+ },
1303
+ sorters,
1304
+ filters
1305
+ });
1306
+ if (type === "page") {
1307
+ return (0, import_react7.createElement)(PaginationLink, {
1308
+ to: link,
1309
+ element: `${page}`
1310
+ });
1311
+ }
1312
+ if (type === "next" || type === "prev") {
1313
+ return (0, import_react7.createElement)(PaginationLink, {
1314
+ to: link,
1315
+ element
1316
+ });
1317
+ }
1318
+ if (type === "jump-next" || type === "jump-prev") {
1319
+ const elementChildren = (_a = element == null ? void 0 : element.props) == null ? void 0 : _a.children;
1320
+ return (0, import_react7.createElement)(PaginationLink, {
1321
+ to: link,
1322
+ element: import_react7.Children.count(elementChildren) > 1 ? (0, import_react7.createElement)(import_react7.Fragment, {}, elementChildren) : elementChildren
1323
+ });
1324
+ }
1325
+ return element;
1326
+ },
1327
+ pageSize,
1328
+ current: currentPage,
1329
+ simple: !breakpoint.sm,
1330
+ total: data == null ? void 0 : data.total,
1331
+ onChange
1332
+ };
1333
+ }
1334
+ return false;
1335
+ }, "antdPagination");
1336
+ return {
1337
+ searchFormProps: {
1338
+ form,
1339
+ onFinish
1340
+ },
1341
+ listProps: {
1342
+ dataSource: data == null ? void 0 : data.data,
1343
+ loading: liveMode === "auto" ? isLoading : !isFetched,
1344
+ pagination: antdPagination()
1345
+ },
1346
+ query: tableQuery,
1347
+ filters,
1348
+ setFilters,
1349
+ sorters,
1350
+ setSorters,
1351
+ currentPage,
1352
+ setCurrentPage,
1353
+ pageSize,
1354
+ setPageSize,
1355
+ pageCount,
1356
+ createLinkForSyncWithLocation,
1357
+ overtime,
1358
+ result
1359
+ };
1360
+ }, "useSimpleList");
1361
+
1362
+ // src/hooks/useFileUploadState/index.ts
1363
+ var import_react8 = require("react");
1364
+ var useFileUploadState = /* @__PURE__ */ __name(() => {
1365
+ const [isLoading, setIsloading] = (0, import_react8.useState)(false);
1366
+ const onChange = (0, import_react8.useCallback)((info) => {
1367
+ const fileListLoadings = mapStatusToLoading(info.fileList);
1368
+ if (fileListLoadings.includes(true)) {
1369
+ setIsloading(true);
1370
+ } else {
1371
+ setIsloading(false);
1372
+ }
1373
+ }, []);
1374
+ return (0, import_react8.useMemo)(() => ({ isLoading, onChange }), [isLoading]);
1375
+ }, "useFileUploadState");
1376
+ var mapStatusToLoading = /* @__PURE__ */ __name((files) => {
1377
+ return files.map((file) => {
1378
+ switch (file.status) {
1379
+ case "uploading":
1380
+ return true;
1381
+ default:
1382
+ return false;
1383
+ }
1384
+ });
1385
+ }, "mapStatusToLoading");
1386
+
1387
+ // src/hooks/useThemedLayoutContext/index.ts
1388
+ var import_react10 = require("react");
1389
+
1390
+ // src/contexts/themedLayoutContext/index.tsx
1391
+ var import_react9 = __toESM(require("react"));
1392
+ var ThemedLayoutContext = import_react9.default.createContext({
1393
+ siderCollapsed: false,
1394
+ mobileSiderOpen: false,
1395
+ setSiderCollapsed: () => void 0,
1396
+ setMobileSiderOpen: () => void 0
1397
+ });
1398
+ var ThemedLayoutContextProvider = /* @__PURE__ */ __name(({ children, initialSiderCollapsed, onSiderCollapsed }) => {
1399
+ const [siderCollapsed, setSiderCollapsedState] = (0, import_react9.useState)(
1400
+ initialSiderCollapsed ?? false
1401
+ );
1402
+ const [mobileSiderOpen, setMobileSiderOpen] = (0, import_react9.useState)(false);
1403
+ const setSiderCollapsed = /* @__PURE__ */ __name((collapsed) => {
1404
+ setSiderCollapsedState(collapsed);
1405
+ if (onSiderCollapsed) {
1406
+ onSiderCollapsed(collapsed);
1407
+ }
1408
+ }, "setSiderCollapsed");
1409
+ return /* @__PURE__ */ import_react9.default.createElement(
1410
+ ThemedLayoutContext.Provider,
1411
+ {
1412
+ value: {
1413
+ siderCollapsed,
1414
+ mobileSiderOpen,
1415
+ setSiderCollapsed,
1416
+ setMobileSiderOpen
1417
+ }
1418
+ },
1419
+ children
1420
+ );
1421
+ }, "ThemedLayoutContextProvider");
1422
+
1423
+ // src/hooks/useThemedLayoutContext/index.ts
1424
+ var useThemedLayoutContext = /* @__PURE__ */ __name(() => {
1425
+ const {
1426
+ mobileSiderOpen,
1427
+ siderCollapsed,
1428
+ setMobileSiderOpen,
1429
+ setSiderCollapsed
1430
+ } = (0, import_react10.useContext)(ThemedLayoutContext);
1431
+ return {
1432
+ mobileSiderOpen,
1433
+ siderCollapsed,
1434
+ setMobileSiderOpen,
1435
+ setSiderCollapsed
1436
+ };
1437
+ }, "useThemedLayoutContext");
1438
+
1439
+ // src/providers/notificationProvider/index.tsx
1440
+ var import_antd6 = require("antd");
1441
+ var import_react12 = __toESM(require("react"));
1442
+
1443
+ // src/components/undoableNotification/index.tsx
1444
+ var import_react11 = __toESM(require("react"));
1445
+ var import_antd5 = require("antd");
1446
+ var import_icons = require("@ant-design/icons");
1447
+ var UndoableNotification = /* @__PURE__ */ __name(({
1448
+ message,
1449
+ cancelMutation,
1450
+ undoableTimeout
1451
+ }) => /* @__PURE__ */ import_react11.default.createElement(
1452
+ "div",
1453
+ {
1454
+ style: {
1455
+ display: "flex",
1456
+ alignItems: "center",
1457
+ justifyContent: "space-between",
1458
+ marginTop: "-7px"
1459
+ }
1460
+ },
1461
+ /* @__PURE__ */ import_react11.default.createElement(
1462
+ import_antd5.Progress,
1463
+ {
1464
+ type: "circle",
1465
+ percent: (undoableTimeout ?? 0) * 20,
1466
+ format: (time) => time && time / 20,
1467
+ size: 50,
1468
+ strokeColor: "#1890ff",
1469
+ status: "normal"
1470
+ }
1471
+ ),
1472
+ /* @__PURE__ */ import_react11.default.createElement("span", { style: { marginLeft: 8, width: "100%" } }, message),
1473
+ /* @__PURE__ */ import_react11.default.createElement(
1474
+ import_antd5.Button,
1475
+ {
1476
+ style: { flexShrink: 0 },
1477
+ onClick: cancelMutation,
1478
+ disabled: undoableTimeout === 0,
1479
+ icon: /* @__PURE__ */ import_react11.default.createElement(import_icons.UndoOutlined, null)
1480
+ }
1481
+ )
1482
+ ), "UndoableNotification");
1483
+
1484
+ // src/providers/notificationProvider/index.tsx
1485
+ var useNotificationProvider = /* @__PURE__ */ __name(() => {
1486
+ const { notification: notificationFromContext } = import_antd6.App.useApp();
1487
+ const notification2 = "open" in notificationFromContext ? notificationFromContext : import_antd6.notification;
1488
+ const notificationProvider = {
1489
+ open: ({
1490
+ key,
1491
+ message,
1492
+ description,
1493
+ type,
1494
+ cancelMutation,
1495
+ undoableTimeout
1496
+ }) => {
1497
+ if (type === "progress") {
1498
+ notification2.open({
1499
+ key,
1500
+ description: /* @__PURE__ */ import_react12.default.createElement(
1501
+ UndoableNotification,
1502
+ {
1503
+ notificationKey: key,
1504
+ message,
1505
+ cancelMutation: () => {
1506
+ cancelMutation == null ? void 0 : cancelMutation();
1507
+ notification2.destroy(key ?? "");
1508
+ },
1509
+ undoableTimeout
1510
+ }
1511
+ ),
1512
+ message: null,
1513
+ duration: 0,
1514
+ closeIcon: /* @__PURE__ */ import_react12.default.createElement(import_react12.default.Fragment, null)
1515
+ });
1516
+ } else {
1517
+ notification2.open({
1518
+ key,
1519
+ description: message,
1520
+ message: description ?? null,
1521
+ type
1522
+ });
1523
+ }
1524
+ },
1525
+ close: (key) => notification2.destroy(key)
1526
+ };
1527
+ return notificationProvider;
1528
+ }, "useNotificationProvider");
1529
+
1530
+ // src/components/themedLayout/index.tsx
1531
+ var import_react15 = __toESM(require("react"));
1532
+ var import_antd9 = require("antd");
1533
+
1534
+ // src/components/themedLayout/sider/index.tsx
1535
+ var import_react13 = __toESM(require("react"));
1536
+ var import_antd7 = require("antd");
1537
+ var import_icons2 = require("@ant-design/icons");
1538
+ var import_core15 = require("@refinedev/core");
1539
+
1540
+ // src/components/themedLayout/sider/styles.ts
1541
+ var drawerButtonStyles = {
1542
+ borderStartStartRadius: 0,
1543
+ borderEndStartRadius: 0,
1544
+ position: "fixed",
1545
+ top: 64,
1546
+ zIndex: 999
1547
+ };
1548
+
1549
+ // src/components/themedLayout/sider/index.tsx
1550
+ var ThemedSider = /* @__PURE__ */ __name(({
1551
+ Title: TitleFromProps,
1552
+ render,
1553
+ meta,
1554
+ fixed,
1555
+ activeItemDisabled = false,
1556
+ siderItemsAreCollapsed = true
1557
+ }) => {
1558
+ var _a;
1559
+ const { token } = import_antd7.theme.useToken();
1560
+ const {
1561
+ siderCollapsed,
1562
+ setSiderCollapsed,
1563
+ mobileSiderOpen,
1564
+ setMobileSiderOpen
1565
+ } = useThemedLayoutContext();
1566
+ const isExistAuthentication = (0, import_core15.useIsExistAuthentication)();
1567
+ const direction = (_a = (0, import_react13.useContext)(import_antd7.ConfigProvider.ConfigContext)) == null ? void 0 : _a.direction;
1568
+ const Link = (0, import_core15.useLink)();
1569
+ const { warnWhen, setWarnWhen } = (0, import_core15.useWarnAboutChange)();
1570
+ const translate = (0, import_core15.useTranslate)();
1571
+ const { menuItems, selectedKey, defaultOpenKeys } = (0, import_core15.useMenu)({ meta });
1572
+ const breakpoint = import_antd7.Grid.useBreakpoint();
1573
+ const { mutate: mutateLogout } = (0, import_core15.useLogout)();
1574
+ const isMobile = typeof breakpoint.lg === "undefined" ? false : !breakpoint.lg;
1575
+ const RenderToTitle = TitleFromProps ?? ThemedTitle;
1576
+ const renderTreeView = /* @__PURE__ */ __name((tree, selectedKey2) => {
1577
+ return tree.map((item) => {
1578
+ const { key, name, children, meta: meta2, list } = item;
1579
+ const parentName = meta2 == null ? void 0 : meta2.parent;
1580
+ const label = (item == null ? void 0 : item.label) ?? (meta2 == null ? void 0 : meta2.label) ?? name;
1581
+ const icon = meta2 == null ? void 0 : meta2.icon;
1582
+ const route = list;
1583
+ if (children.length > 0) {
1584
+ return /* @__PURE__ */ import_react13.default.createElement(
1585
+ import_core15.CanAccess,
1586
+ {
1587
+ key: item.key,
1588
+ resource: name,
1589
+ action: "list",
1590
+ params: {
1591
+ resource: item
1592
+ }
1593
+ },
1594
+ /* @__PURE__ */ import_react13.default.createElement(
1595
+ import_antd7.Menu.SubMenu,
1596
+ {
1597
+ key: item.key,
1598
+ icon: icon ?? /* @__PURE__ */ import_react13.default.createElement(import_icons2.UnorderedListOutlined, null),
1599
+ title: label
1600
+ },
1601
+ renderTreeView(children, selectedKey2)
1602
+ )
1603
+ );
1604
+ }
1605
+ const isSelected = key === selectedKey2;
1606
+ const isRoute = !(parentName !== void 0 && children.length === 0);
1607
+ const linkStyle = activeItemDisabled && isSelected ? { pointerEvents: "none" } : {};
1608
+ return /* @__PURE__ */ import_react13.default.createElement(
1609
+ import_core15.CanAccess,
1610
+ {
1611
+ key: item.key,
1612
+ resource: name,
1613
+ action: "list",
1614
+ params: {
1615
+ resource: item
1616
+ }
1617
+ },
1618
+ /* @__PURE__ */ import_react13.default.createElement(
1619
+ import_antd7.Menu.Item,
1620
+ {
1621
+ key: item.key,
1622
+ icon: icon ?? (isRoute && /* @__PURE__ */ import_react13.default.createElement(import_icons2.UnorderedListOutlined, null)),
1623
+ style: linkStyle
1624
+ },
1625
+ /* @__PURE__ */ import_react13.default.createElement(Link, { to: route ?? "", style: linkStyle }, label),
1626
+ !siderCollapsed && isSelected && /* @__PURE__ */ import_react13.default.createElement("div", { className: "ant-menu-tree-arrow" })
1627
+ )
1628
+ );
1629
+ });
1630
+ }, "renderTreeView");
1631
+ const handleLogout = /* @__PURE__ */ __name(() => {
1632
+ if (warnWhen) {
1633
+ const confirm = window.confirm(
1634
+ translate(
1635
+ "warnWhenUnsavedChanges",
1636
+ "Are you sure you want to leave? You have unsaved changes."
1637
+ )
1638
+ );
1639
+ if (confirm) {
1640
+ setWarnWhen(false);
1641
+ mutateLogout();
1642
+ }
1643
+ } else {
1644
+ mutateLogout();
1645
+ }
1646
+ }, "handleLogout");
1647
+ const logout = isExistAuthentication && /* @__PURE__ */ import_react13.default.createElement(
1648
+ import_antd7.Menu.Item,
1649
+ {
1650
+ key: "logout",
1651
+ onClick: () => handleLogout(),
1652
+ icon: /* @__PURE__ */ import_react13.default.createElement(import_icons2.LogoutOutlined, null)
1653
+ },
1654
+ translate("buttons.logout", "Logout")
1655
+ );
1656
+ const defaultExpandMenuItems = (() => {
1657
+ if (siderItemsAreCollapsed)
1658
+ return [];
1659
+ return menuItems.map(({ key }) => key);
1660
+ })();
1661
+ const items = renderTreeView(menuItems, selectedKey);
1662
+ const renderSider = /* @__PURE__ */ __name(() => {
1663
+ if (render) {
1664
+ return render({
1665
+ items,
1666
+ logout,
1667
+ collapsed: siderCollapsed
1668
+ });
1669
+ }
1670
+ return [...items, logout].filter(Boolean);
1671
+ }, "renderSider");
1672
+ const renderMenu = /* @__PURE__ */ __name(() => {
1673
+ return /* @__PURE__ */ import_react13.default.createElement(
1674
+ import_antd7.Menu,
1675
+ {
1676
+ selectedKeys: selectedKey ? [selectedKey] : [],
1677
+ defaultOpenKeys: [...defaultOpenKeys, ...defaultExpandMenuItems],
1678
+ mode: "inline",
1679
+ style: {
1680
+ paddingTop: "8px",
1681
+ border: "none",
1682
+ overflow: "auto",
1683
+ height: "calc(100% - 72px)"
1684
+ },
1685
+ onClick: () => {
1686
+ setMobileSiderOpen(false);
1687
+ }
1688
+ },
1689
+ renderSider()
1690
+ );
1691
+ }, "renderMenu");
1692
+ const renderDrawerSider = /* @__PURE__ */ __name(() => {
1693
+ return /* @__PURE__ */ import_react13.default.createElement(import_react13.default.Fragment, null, /* @__PURE__ */ import_react13.default.createElement(
1694
+ import_antd7.Drawer,
1695
+ {
1696
+ open: mobileSiderOpen,
1697
+ onClose: () => setMobileSiderOpen(false),
1698
+ placement: direction === "rtl" ? "right" : "left",
1699
+ closable: false,
1700
+ width: 200,
1701
+ styles: {
1702
+ body: {
1703
+ padding: 0
1704
+ }
1705
+ },
1706
+ maskClosable: true
1707
+ },
1708
+ /* @__PURE__ */ import_react13.default.createElement(import_antd7.Layout, null, /* @__PURE__ */ import_react13.default.createElement(
1709
+ import_antd7.Layout.Sider,
1710
+ {
1711
+ style: {
1712
+ height: "100vh",
1713
+ backgroundColor: token.colorBgContainer,
1714
+ borderRight: `1px solid ${token.colorBgElevated}`
1715
+ }
1716
+ },
1717
+ /* @__PURE__ */ import_react13.default.createElement(
1718
+ "div",
1719
+ {
1720
+ style: {
1721
+ width: "200px",
1722
+ padding: "0 16px",
1723
+ display: "flex",
1724
+ justifyContent: "flex-start",
1725
+ alignItems: "center",
1726
+ height: "64px",
1727
+ backgroundColor: token.colorBgElevated
1728
+ }
1729
+ },
1730
+ /* @__PURE__ */ import_react13.default.createElement(RenderToTitle, { collapsed: false })
1731
+ ),
1732
+ renderMenu()
1733
+ ))
1734
+ ), /* @__PURE__ */ import_react13.default.createElement(
1735
+ import_antd7.Button,
1736
+ {
1737
+ style: drawerButtonStyles,
1738
+ size: "large",
1739
+ onClick: () => setMobileSiderOpen(true),
1740
+ icon: /* @__PURE__ */ import_react13.default.createElement(import_icons2.BarsOutlined, null)
1741
+ }
1742
+ ));
1743
+ }, "renderDrawerSider");
1744
+ if (isMobile) {
1745
+ return renderDrawerSider();
1746
+ }
1747
+ const siderStyles = {
1748
+ backgroundColor: token.colorBgContainer,
1749
+ borderRight: `1px solid ${token.colorBgElevated}`
1750
+ };
1751
+ if (fixed) {
1752
+ siderStyles.position = "fixed";
1753
+ siderStyles.top = 0;
1754
+ siderStyles.height = "100vh";
1755
+ siderStyles.zIndex = 999;
1756
+ }
1757
+ const renderClosingIcons = /* @__PURE__ */ __name(() => {
1758
+ const iconProps = { style: { color: token.colorPrimary } };
1759
+ const OpenIcon = direction === "rtl" ? import_icons2.RightOutlined : import_icons2.LeftOutlined;
1760
+ const CollapsedIcon = direction === "rtl" ? import_icons2.LeftOutlined : import_icons2.RightOutlined;
1761
+ const IconComponent = siderCollapsed ? CollapsedIcon : OpenIcon;
1762
+ return /* @__PURE__ */ import_react13.default.createElement(IconComponent, { ...iconProps });
1763
+ }, "renderClosingIcons");
1764
+ return /* @__PURE__ */ import_react13.default.createElement(import_react13.default.Fragment, null, fixed && /* @__PURE__ */ import_react13.default.createElement(
1765
+ "div",
1766
+ {
1767
+ style: {
1768
+ width: siderCollapsed ? "80px" : "200px",
1769
+ transition: "all 0.2s"
1770
+ }
1771
+ }
1772
+ ), /* @__PURE__ */ import_react13.default.createElement(
1773
+ import_antd7.Layout.Sider,
1774
+ {
1775
+ style: siderStyles,
1776
+ collapsible: true,
1777
+ collapsed: siderCollapsed,
1778
+ onCollapse: (collapsed, type) => {
1779
+ if (type === "clickTrigger") {
1780
+ setSiderCollapsed(collapsed);
1781
+ }
1782
+ },
1783
+ collapsedWidth: 80,
1784
+ breakpoint: "lg",
1785
+ trigger: /* @__PURE__ */ import_react13.default.createElement(
1786
+ import_antd7.Button,
1787
+ {
1788
+ type: "text",
1789
+ style: {
1790
+ borderRadius: 0,
1791
+ height: "100%",
1792
+ width: "100%",
1793
+ backgroundColor: token.colorBgElevated
1794
+ }
1795
+ },
1796
+ renderClosingIcons()
1797
+ )
1798
+ },
1799
+ /* @__PURE__ */ import_react13.default.createElement(
1800
+ "div",
1801
+ {
1802
+ style: {
1803
+ width: siderCollapsed ? "80px" : "200px",
1804
+ padding: siderCollapsed ? "0" : "0 16px",
1805
+ display: "flex",
1806
+ justifyContent: siderCollapsed ? "center" : "flex-start",
1807
+ alignItems: "center",
1808
+ height: "64px",
1809
+ backgroundColor: token.colorBgElevated,
1810
+ fontSize: "14px"
1811
+ }
1812
+ },
1813
+ /* @__PURE__ */ import_react13.default.createElement(RenderToTitle, { collapsed: siderCollapsed })
1814
+ ),
1815
+ renderMenu()
1816
+ ));
1817
+ }, "ThemedSider");
1818
+
1819
+ // src/components/themedLayout/header/index.tsx
1820
+ var import_react14 = __toESM(require("react"));
1821
+ var import_antd8 = require("antd");
1822
+ var import_core16 = require("@refinedev/core");
1823
+ var ThemedHeader = /* @__PURE__ */ __name(({
1824
+ sticky
1825
+ }) => {
1826
+ const { token } = import_antd8.theme.useToken();
1827
+ const { data: user } = (0, import_core16.useGetIdentity)();
1828
+ const shouldRenderHeader = user && (user.name || user.avatar);
1829
+ if (!shouldRenderHeader) {
1830
+ return null;
1831
+ }
1832
+ const headerStyles = {
1833
+ backgroundColor: token.colorBgElevated,
1834
+ display: "flex",
1835
+ justifyContent: "flex-end",
1836
+ alignItems: "center",
1837
+ padding: "0px 24px",
1838
+ height: "64px"
1839
+ };
1840
+ if (sticky) {
1841
+ headerStyles.position = "sticky";
1842
+ headerStyles.top = 0;
1843
+ headerStyles.zIndex = 1;
1844
+ }
1845
+ return /* @__PURE__ */ import_react14.default.createElement(import_antd8.Layout.Header, { style: headerStyles }, /* @__PURE__ */ import_react14.default.createElement(import_antd8.Space, null, /* @__PURE__ */ import_react14.default.createElement(import_antd8.Space, { size: "middle" }, (user == null ? void 0 : user.name) && /* @__PURE__ */ import_react14.default.createElement(import_antd8.Typography.Text, { strong: true }, user.name), (user == null ? void 0 : user.avatar) && /* @__PURE__ */ import_react14.default.createElement(import_antd8.Avatar, { src: user == null ? void 0 : user.avatar, alt: user == null ? void 0 : user.name }))));
1846
+ }, "ThemedHeader");
1847
+
1848
+ // src/components/themedLayout/index.tsx
1849
+ var ThemedLayout = /* @__PURE__ */ __name(({
1850
+ children,
1851
+ Header,
1852
+ Sider,
1853
+ Title,
1854
+ Footer,
1855
+ OffLayoutArea,
1856
+ initialSiderCollapsed,
1857
+ onSiderCollapsed
1858
+ }) => {
1859
+ const breakpoint = import_antd9.Grid.useBreakpoint();
1860
+ const SiderToRender = Sider ?? ThemedSider;
1861
+ const HeaderToRender = Header ?? ThemedHeader;
1862
+ const isSmall = typeof breakpoint.sm === "undefined" ? true : breakpoint.sm;
1863
+ const hasSider = !!SiderToRender({ Title });
1864
+ return /* @__PURE__ */ import_react15.default.createElement(
1865
+ ThemedLayoutContextProvider,
1866
+ {
1867
+ initialSiderCollapsed,
1868
+ onSiderCollapsed
1869
+ },
1870
+ /* @__PURE__ */ import_react15.default.createElement(import_antd9.Layout, { style: { minHeight: "100vh" }, hasSider }, /* @__PURE__ */ import_react15.default.createElement(SiderToRender, { Title }), /* @__PURE__ */ import_react15.default.createElement(import_antd9.Layout, null, /* @__PURE__ */ import_react15.default.createElement(HeaderToRender, null), /* @__PURE__ */ import_react15.default.createElement(import_antd9.Layout.Content, null, /* @__PURE__ */ import_react15.default.createElement(
1871
+ "div",
1872
+ {
1873
+ style: {
1874
+ minHeight: 360,
1875
+ padding: isSmall ? 24 : 12
1876
+ }
1877
+ },
1878
+ children
1879
+ ), OffLayoutArea && /* @__PURE__ */ import_react15.default.createElement(OffLayoutArea, null)), Footer && /* @__PURE__ */ import_react15.default.createElement(Footer, null)))
1880
+ );
1881
+ }, "ThemedLayout");
1882
+
1883
+ // src/components/themedLayout/title/index.tsx
1884
+ var import_react16 = __toESM(require("react"));
1885
+ var import_core17 = require("@refinedev/core");
1886
+ var import_antd10 = require("antd");
1887
+ var ThemedTitle = /* @__PURE__ */ __name(({
1888
+ collapsed,
1889
+ icon: iconFromProps,
1890
+ text: textFromProps,
1891
+ wrapperStyles
1892
+ }) => {
1893
+ const {
1894
+ title: { icon: defaultIcon, text: defaultText } = {}
1895
+ } = (0, import_core17.useRefineOptions)();
1896
+ const icon = typeof iconFromProps === "undefined" ? defaultIcon : iconFromProps;
1897
+ const text = typeof textFromProps === "undefined" ? defaultText : textFromProps;
1898
+ const { token } = import_antd10.theme.useToken();
1899
+ const Link = (0, import_core17.useLink)();
1900
+ return /* @__PURE__ */ import_react16.default.createElement(
1901
+ Link,
1902
+ {
1903
+ to: "/",
1904
+ style: {
1905
+ display: "inline-block",
1906
+ textDecoration: "none"
1907
+ }
1908
+ },
1909
+ /* @__PURE__ */ import_react16.default.createElement(
1910
+ import_antd10.Space,
1911
+ {
1912
+ style: {
1913
+ display: "flex",
1914
+ alignItems: "center",
1915
+ fontSize: "inherit",
1916
+ ...wrapperStyles
1917
+ }
1918
+ },
1919
+ /* @__PURE__ */ import_react16.default.createElement(
1920
+ "div",
1921
+ {
1922
+ style: {
1923
+ height: "24px",
1924
+ width: "24px",
1925
+ color: token.colorPrimary
1926
+ }
1927
+ },
1928
+ icon
1929
+ ),
1930
+ !collapsed && /* @__PURE__ */ import_react16.default.createElement(
1931
+ import_antd10.Typography.Title,
1932
+ {
1933
+ style: {
1934
+ fontSize: "inherit",
1935
+ marginBottom: 0,
1936
+ fontWeight: 700
1937
+ }
1938
+ },
1939
+ text
1940
+ )
1941
+ )
1942
+ );
1943
+ }, "ThemedTitle");
1944
+
1945
+ // src/components/buttons/create/index.tsx
1946
+ var import_react17 = __toESM(require("react"));
1947
+ var import_antd11 = require("antd");
1948
+ var import_icons3 = require("@ant-design/icons");
1949
+ var import_core18 = require("@refinedev/core");
1950
+ var import_ui_types = require("@refinedev/ui-types");
1951
+ var CreateButton = /* @__PURE__ */ __name(({
1952
+ resource: resourceNameFromProps,
1953
+ hideText = false,
1954
+ accessControl,
1955
+ meta,
1956
+ children,
1957
+ onClick,
1958
+ ...rest
1959
+ }) => {
1960
+ const { hidden, disabled, label, title, LinkComponent, to } = (0, import_core18.useCreateButton)(
1961
+ {
1962
+ resource: resourceNameFromProps,
1963
+ meta,
1964
+ accessControl
1965
+ }
1966
+ );
1967
+ const isDisabled = disabled || rest.disabled;
1968
+ const isHidden = hidden || rest.hidden;
1969
+ if (isHidden)
1970
+ return null;
1971
+ return /* @__PURE__ */ import_react17.default.createElement(
1972
+ LinkComponent,
1973
+ {
1974
+ to,
1975
+ replace: false,
1976
+ onClick: (e) => {
1977
+ if (isDisabled) {
1978
+ e.preventDefault();
1979
+ return;
1980
+ }
1981
+ if (onClick) {
1982
+ e.preventDefault();
1983
+ onClick(e);
1984
+ }
1985
+ }
1986
+ },
1987
+ /* @__PURE__ */ import_react17.default.createElement(
1988
+ import_antd11.Button,
1989
+ {
1990
+ icon: /* @__PURE__ */ import_react17.default.createElement(import_icons3.PlusSquareOutlined, null),
1991
+ disabled: isDisabled,
1992
+ title,
1993
+
1994
+ className: import_ui_types.RefineButtonClassNames.CreateButton,
1995
+ type: "primary",
1996
+ ...rest
1997
+ },
1998
+ !hideText && (children ?? label)
1999
+ )
2000
+ );
2001
+ }, "CreateButton");
2002
+
2003
+ // src/components/buttons/edit/index.tsx
2004
+ var import_react18 = __toESM(require("react"));
2005
+ var import_antd12 = require("antd");
2006
+ var import_icons4 = require("@ant-design/icons");
2007
+ var import_core19 = require("@refinedev/core");
2008
+ var import_ui_types2 = require("@refinedev/ui-types");
2009
+ var EditButton = /* @__PURE__ */ __name(({
2010
+ resource: resourceNameFromProps,
2011
+ recordItemId,
2012
+ hideText = false,
2013
+ accessControl,
2014
+ meta,
2015
+ children,
2016
+ onClick,
2017
+ ...rest
2018
+ }) => {
2019
+ const { to, label, title, hidden, disabled, LinkComponent } = (0, import_core19.useEditButton)({
2020
+ resource: resourceNameFromProps,
2021
+ id: recordItemId,
2022
+ meta,
2023
+ accessControl
2024
+ });
2025
+ const isDisabled = disabled || rest.disabled;
2026
+ const isHidden = hidden || rest.hidden;
2027
+ if (isHidden)
2028
+ return null;
2029
+ return /* @__PURE__ */ import_react18.default.createElement(
2030
+ LinkComponent,
2031
+ {
2032
+ to,
2033
+ replace: false,
2034
+ onClick: (e) => {
2035
+ if (isDisabled) {
2036
+ e.preventDefault();
2037
+ return;
2038
+ }
2039
+ if (onClick) {
2040
+ e.preventDefault();
2041
+ onClick(e);
2042
+ }
2043
+ }
2044
+ },
2045
+ /* @__PURE__ */ import_react18.default.createElement(
2046
+ import_antd12.Button,
2047
+ {
2048
+ icon: /* @__PURE__ */ import_react18.default.createElement(import_icons4.EditOutlined, null),
2049
+ disabled: isDisabled,
2050
+ title,
2051
+
2052
+ className: import_ui_types2.RefineButtonClassNames.EditButton,
2053
+ ...rest
2054
+ },
2055
+ !hideText && (children ?? label)
2056
+ )
2057
+ );
2058
+ }, "EditButton");
2059
+
2060
+ // src/components/buttons/delete/index.tsx
2061
+ var import_react19 = __toESM(require("react"));
2062
+ var import_antd13 = require("antd");
2063
+ var import_icons5 = require("@ant-design/icons");
2064
+ var import_core20 = require("@refinedev/core");
2065
+ var import_ui_types3 = require("@refinedev/ui-types");
2066
+ var DeleteButton = /* @__PURE__ */ __name(({
2067
+ resource: resourceNameFromProps,
2068
+ recordItemId,
2069
+ onSuccess,
2070
+ mutationMode: mutationModeProp,
2071
+ children,
2072
+ successNotification,
2073
+ errorNotification,
2074
+ hideText = false,
2075
+ accessControl,
2076
+ meta,
2077
+ dataProviderName,
2078
+ confirmTitle,
2079
+ confirmOkText,
2080
+ confirmCancelText,
2081
+ invalidates,
2082
+ ...rest
2083
+ }) => {
2084
+ const {
2085
+ title,
2086
+ label,
2087
+ hidden,
2088
+ disabled,
2089
+ loading,
2090
+ confirmTitle: defaultConfirmTitle,
2091
+ confirmOkLabel: defaultConfirmOkLabel,
2092
+ cancelLabel: defaultCancelLabel,
2093
+ onConfirm
2094
+ } = (0, import_core20.useDeleteButton)({
2095
+ resource: resourceNameFromProps,
2096
+ id: recordItemId,
2097
+ dataProviderName,
2098
+ invalidates,
2099
+ meta,
2100
+ onSuccess,
2101
+ mutationMode: mutationModeProp,
2102
+ errorNotification,
2103
+ successNotification,
2104
+ accessControl
2105
+ });
2106
+ const isDisabled = disabled || rest.disabled;
2107
+ const isHidden = hidden || rest.hidden;
2108
+ if (isHidden)
2109
+ return null;
2110
+ return /* @__PURE__ */ import_react19.default.createElement(
2111
+ import_antd13.Popconfirm,
2112
+ {
2113
+ key: "delete",
2114
+ okText: confirmOkText ?? defaultConfirmOkLabel,
2115
+ cancelText: confirmCancelText ?? defaultCancelLabel,
2116
+ okType: "danger",
2117
+ title: confirmTitle ?? defaultConfirmTitle,
2118
+ okButtonProps: { disabled: loading },
2119
+ onConfirm,
2120
+ disabled: isDisabled
2121
+ },
2122
+ /* @__PURE__ */ import_react19.default.createElement(
2123
+ import_antd13.Button,
2124
+ {
2125
+ danger: true,
2126
+ loading,
2127
+ icon: /* @__PURE__ */ import_react19.default.createElement(import_icons5.DeleteOutlined, null),
2128
+ title,
2129
+ disabled: isDisabled,
2130
+
2131
+ className: import_ui_types3.RefineButtonClassNames.DeleteButton,
2132
+ ...rest
2133
+ },
2134
+ !hideText && (children ?? label)
2135
+ )
2136
+ );
2137
+ }, "DeleteButton");
2138
+
2139
+ // src/components/buttons/refresh/index.tsx
2140
+ var import_react20 = __toESM(require("react"));
2141
+ var import_antd14 = require("antd");
2142
+ var import_icons6 = require("@ant-design/icons");
2143
+ var import_core21 = require("@refinedev/core");
2144
+ var import_ui_types4 = require("@refinedev/ui-types");
2145
+ var RefreshButton = /* @__PURE__ */ __name(({
2146
+ resource: resourceNameFromProps,
2147
+ recordItemId,
2148
+ hideText = false,
2149
+ dataProviderName,
2150
+ children,
2151
+ ...rest
2152
+ }) => {
2153
+ const { onClick, label, loading } = (0, import_core21.useRefreshButton)({
2154
+ resource: resourceNameFromProps,
2155
+ id: recordItemId,
2156
+ dataProviderName
2157
+ });
2158
+ return /* @__PURE__ */ import_react20.default.createElement(
2159
+ import_antd14.Button,
2160
+ {
2161
+ onClick,
2162
+ icon: /* @__PURE__ */ import_react20.default.createElement(import_icons6.RedoOutlined, { spin: loading }),
2163
+
2164
+ className: import_ui_types4.RefineButtonClassNames.RefreshButton,
2165
+ ...rest
2166
+ },
2167
+ !hideText && (children ?? label)
2168
+ );
2169
+ }, "RefreshButton");
2170
+
2171
+ // src/components/buttons/show/index.tsx
2172
+ var import_react21 = __toESM(require("react"));
2173
+ var import_antd15 = require("antd");
2174
+ var import_icons7 = require("@ant-design/icons");
2175
+ var import_core22 = require("@refinedev/core");
2176
+ var import_ui_types5 = require("@refinedev/ui-types");
2177
+ var ShowButton = /* @__PURE__ */ __name(({
2178
+ resource: resourceNameFromProps,
2179
+ recordItemId,
2180
+ hideText = false,
2181
+ accessControl,
2182
+ meta,
2183
+ children,
2184
+ onClick,
2185
+ ...rest
2186
+ }) => {
2187
+ const { to, label, title, hidden, disabled, LinkComponent } = (0, import_core22.useShowButton)({
2188
+ resource: resourceNameFromProps,
2189
+ id: recordItemId,
2190
+ accessControl,
2191
+ meta
2192
+ });
2193
+ const isDisabled = disabled || rest.disabled;
2194
+ const isHidden = hidden || rest.hidden;
2195
+ if (isHidden)
2196
+ return null;
2197
+ return /* @__PURE__ */ import_react21.default.createElement(
2198
+ LinkComponent,
2199
+ {
2200
+ to,
2201
+ replace: false,
2202
+ onClick: (e) => {
2203
+ if (isDisabled) {
2204
+ e.preventDefault();
2205
+ return;
2206
+ }
2207
+ if (onClick) {
2208
+ e.preventDefault();
2209
+ onClick(e);
2210
+ }
2211
+ }
2212
+ },
2213
+ /* @__PURE__ */ import_react21.default.createElement(
2214
+ import_antd15.Button,
2215
+ {
2216
+ disabled: isDisabled,
2217
+ icon: /* @__PURE__ */ import_react21.default.createElement(import_icons7.EyeOutlined, null),
2218
+ title,
2219
+
2220
+ className: import_ui_types5.RefineButtonClassNames.ShowButton,
2221
+ ...rest
2222
+ },
2223
+ !hideText && (children ?? label)
2224
+ )
2225
+ );
2226
+ }, "ShowButton");
2227
+
2228
+ // src/components/buttons/list/index.tsx
2229
+ var import_react22 = __toESM(require("react"));
2230
+ var import_antd16 = require("antd");
2231
+ var import_icons8 = require("@ant-design/icons");
2232
+ var import_core23 = require("@refinedev/core");
2233
+ var import_ui_types6 = require("@refinedev/ui-types");
2234
+ var ListButton = /* @__PURE__ */ __name(({
2235
+ resource: resourceNameFromProps,
2236
+ hideText = false,
2237
+ accessControl,
2238
+ meta,
2239
+ children,
2240
+ onClick,
2241
+ ...rest
2242
+ }) => {
2243
+ const { to, label, title, hidden, disabled, LinkComponent } = (0, import_core23.useListButton)({
2244
+ resource: resourceNameFromProps,
2245
+ meta,
2246
+ accessControl
2247
+ });
2248
+ const isDisabled = disabled || rest.disabled;
2249
+ const isHidden = hidden || rest.hidden;
2250
+ if (isHidden)
2251
+ return null;
2252
+ return /* @__PURE__ */ import_react22.default.createElement(
2253
+ LinkComponent,
2254
+ {
2255
+ to,
2256
+ replace: false,
2257
+ onClick: (e) => {
2258
+ if (isDisabled) {
2259
+ e.preventDefault();
2260
+ return;
2261
+ }
2262
+ if (onClick) {
2263
+ e.preventDefault();
2264
+ onClick(e);
2265
+ }
2266
+ }
2267
+ },
2268
+ /* @__PURE__ */ import_react22.default.createElement(
2269
+ import_antd16.Button,
2270
+ {
2271
+ icon: /* @__PURE__ */ import_react22.default.createElement(import_icons8.BarsOutlined, null),
2272
+ disabled: isDisabled,
2273
+ title,
2274
+
2275
+ className: import_ui_types6.RefineButtonClassNames.ListButton,
2276
+ ...rest
2277
+ },
2278
+ !hideText && (children ?? label)
2279
+ )
2280
+ );
2281
+ }, "ListButton");
2282
+
2283
+ // src/components/buttons/export/index.tsx
2284
+ var import_react23 = __toESM(require("react"));
2285
+ var import_antd17 = require("antd");
2286
+ var import_icons9 = require("@ant-design/icons");
2287
+ var import_core24 = require("@refinedev/core");
2288
+ var import_ui_types7 = require("@refinedev/ui-types");
2289
+ var ExportButton = /* @__PURE__ */ __name(({
2290
+ hideText = false,
2291
+ children,
2292
+ ...rest
2293
+ }) => {
2294
+ const { label } = (0, import_core24.useExportButton)();
2295
+ return /* @__PURE__ */ import_react23.default.createElement(
2296
+ import_antd17.Button,
2297
+ {
2298
+ type: "default",
2299
+ icon: /* @__PURE__ */ import_react23.default.createElement(import_icons9.ExportOutlined, null),
2300
+
2301
+ className: import_ui_types7.RefineButtonClassNames.ExportButton,
2302
+ ...rest
2303
+ },
2304
+ !hideText && (children ?? label)
2305
+ );
2306
+ }, "ExportButton");
2307
+
2308
+ // src/components/buttons/save/index.tsx
2309
+ var import_react24 = __toESM(require("react"));
2310
+ var import_antd18 = require("antd");
2311
+ var import_icons10 = require("@ant-design/icons");
2312
+ var import_core25 = require("@refinedev/core");
2313
+ var import_ui_types8 = require("@refinedev/ui-types");
2314
+ var SaveButton = /* @__PURE__ */ __name(({
2315
+ hideText = false,
2316
+ children,
2317
+ ...rest
2318
+ }) => {
2319
+ const { label } = (0, import_core25.useSaveButton)();
2320
+ return /* @__PURE__ */ import_react24.default.createElement(
2321
+ import_antd18.Button,
2322
+ {
2323
+ type: "primary",
2324
+ icon: /* @__PURE__ */ import_react24.default.createElement(import_icons10.SaveOutlined, null),
2325
+
2326
+ className: import_ui_types8.RefineButtonClassNames.SaveButton,
2327
+ ...rest
2328
+ },
2329
+ !hideText && (children ?? label)
2330
+ );
2331
+ }, "SaveButton");
2332
+
2333
+ // src/components/buttons/clone/index.tsx
2334
+ var import_react25 = __toESM(require("react"));
2335
+ var import_antd19 = require("antd");
2336
+ var import_icons11 = require("@ant-design/icons");
2337
+ var import_core26 = require("@refinedev/core");
2338
+ var import_ui_types9 = require("@refinedev/ui-types");
2339
+ var CloneButton = /* @__PURE__ */ __name(({
2340
+ resource: resourceNameFromProps,
2341
+ recordItemId,
2342
+ hideText = false,
2343
+ accessControl,
2344
+ meta,
2345
+ children,
2346
+ onClick,
2347
+ ...rest
2348
+ }) => {
2349
+ const { to, LinkComponent, label, disabled, hidden, title } = (0, import_core26.useCloneButton)({
2350
+ id: recordItemId,
2351
+ resource: resourceNameFromProps,
2352
+ accessControl,
2353
+ meta
2354
+ });
2355
+ const isDisabled = disabled || rest.disabled;
2356
+ const isHidden = hidden || rest.hidden;
2357
+ if (isHidden)
2358
+ return null;
2359
+ return /* @__PURE__ */ import_react25.default.createElement(
2360
+ LinkComponent,
2361
+ {
2362
+ to,
2363
+ replace: false,
2364
+ onClick: (e) => {
2365
+ if (isDisabled) {
2366
+ e.preventDefault();
2367
+ return;
2368
+ }
2369
+ if (onClick) {
2370
+ e.preventDefault();
2371
+ onClick(e);
2372
+ }
2373
+ }
2374
+ },
2375
+ /* @__PURE__ */ import_react25.default.createElement(
2376
+ import_antd19.Button,
2377
+ {
2378
+ icon: /* @__PURE__ */ import_react25.default.createElement(import_icons11.PlusSquareOutlined, null),
2379
+ disabled: isDisabled,
2380
+ title,
2381
+
2382
+ className: import_ui_types9.RefineButtonClassNames.CloneButton,
2383
+ ...rest
2384
+ },
2385
+ !hideText && (children ?? label)
2386
+ )
2387
+ );
2388
+ }, "CloneButton");
2389
+
2390
+ // src/components/buttons/import/index.tsx
2391
+ var import_react26 = __toESM(require("react"));
2392
+ var import_antd20 = require("antd");
2393
+ var import_icons12 = require("@ant-design/icons");
2394
+ var import_core27 = require("@refinedev/core");
2395
+ var import_ui_types10 = require("@refinedev/ui-types");
2396
+ var ImportButton = /* @__PURE__ */ __name(({
2397
+ uploadProps,
2398
+ buttonProps,
2399
+ hideText = false,
2400
+ children,
2401
+ loading,
2402
+ ...rest
2403
+ }) => {
2404
+ const { label } = (0, import_core27.useImportButton)();
2405
+ return /* @__PURE__ */ import_react26.default.createElement(import_antd20.Upload, { ...uploadProps }, /* @__PURE__ */ import_react26.default.createElement(
2406
+ import_antd20.Button,
2407
+ {
2408
+ icon: /* @__PURE__ */ import_react26.default.createElement(import_icons12.ImportOutlined, null),
2409
+
2410
+ className: import_ui_types10.RefineButtonClassNames.ImportButton,
2411
+ loading,
2412
+ ...buttonProps,
2413
+ ...rest
2414
+ },
2415
+ !hideText && (children ?? label)
2416
+ ));
2417
+ }, "ImportButton");
2418
+
2419
+ // src/components/crud/list/index.tsx
2420
+ var import_react27 = __toESM(require("react"));
2421
+ var import_antd21 = require("antd");
2422
+ var import_core28 = require("@refinedev/core");
2423
+ var List = /* @__PURE__ */ __name(({
2424
+ canCreate,
2425
+ title,
2426
+ children,
2427
+ createButtonProps: createButtonPropsFromProps,
2428
+ resource: resourceFromProps,
2429
+ wrapperProps,
2430
+ contentProps,
2431
+ headerProps,
2432
+ breadcrumb: breadcrumbFromProps,
2433
+ headerButtonProps,
2434
+ headerButtons
2435
+ }) => {
2436
+ var _a;
2437
+ const translate = (0, import_core28.useTranslate)();
2438
+ const {
2439
+ options: { breadcrumb: globalBreadcrumb } = {}
2440
+ } = (0, import_core28.useRefineContext)();
2441
+ const getUserFriendlyName = (0, import_core28.useUserFriendlyName)();
2442
+ const { resource, identifier } = (0, import_core28.useResourceParams)({
2443
+ resource: resourceFromProps
2444
+ });
2445
+ const isCreateButtonVisible = canCreate ?? (!!(resource == null ? void 0 : resource.create) || !!createButtonPropsFromProps);
2446
+ const breadcrumb = typeof breadcrumbFromProps === "undefined" ? globalBreadcrumb : breadcrumbFromProps;
2447
+ const createButtonProps = isCreateButtonVisible ? {
2448
+ size: "middle",
2449
+ resource: identifier,
2450
+ ...createButtonPropsFromProps
2451
+ } : void 0;
2452
+ const defaultExtra = isCreateButtonVisible ? /* @__PURE__ */ import_react27.default.createElement(CreateButton, { ...createButtonProps }) : null;
2453
+ return /* @__PURE__ */ import_react27.default.createElement("div", { ...wrapperProps ?? {} }, /* @__PURE__ */ import_react27.default.createElement(
2454
+ PageHeader,
2455
+ {
2456
+ title: title ?? translate(
2457
+ `${identifier}.titles.list`,
2458
+ getUserFriendlyName(((_a = resource == null ? void 0 : resource.meta) == null ? void 0 : _a.label) ?? identifier, "plural")
2459
+ ),
2460
+ extra: headerButtons ? /* @__PURE__ */ import_react27.default.createElement(import_antd21.Space, { wrap: true, ...headerButtonProps }, typeof headerButtons === "function" ? headerButtons({
2461
+ defaultButtons: defaultExtra,
2462
+ createButtonProps
2463
+ }) : headerButtons) : defaultExtra,
2464
+ breadcrumb: typeof breadcrumb !== "undefined" ? /* @__PURE__ */ import_react27.default.createElement(import_react27.default.Fragment, null, breadcrumb) : /* @__PURE__ */ import_react27.default.createElement(Breadcrumb, null),
2465
+ ...headerProps ?? {}
2466
+ },
2467
+ /* @__PURE__ */ import_react27.default.createElement("div", { ...contentProps ?? {} }, children)
2468
+ ));
2469
+ }, "List");
2470
+
2471
+ // src/components/crud/create/index.tsx
2472
+ var import_react28 = __toESM(require("react"));
2473
+ var import_antd22 = require("antd");
2474
+ var import_core29 = require("@refinedev/core");
2475
+ var Create = /* @__PURE__ */ __name(({
2476
+ title,
2477
+ saveButtonProps: saveButtonPropsFromProps,
2478
+ children,
2479
+ resource: resourceFromProps,
2480
+ isLoading = false,
2481
+ breadcrumb: breadcrumbFromProps,
2482
+ wrapperProps,
2483
+ headerProps,
2484
+ contentProps,
2485
+ headerButtonProps,
2486
+ headerButtons,
2487
+ footerButtonProps,
2488
+ footerButtons,
2489
+ goBack: goBackFromProps
2490
+ }) => {
2491
+ var _a;
2492
+ const translate = (0, import_core29.useTranslate)();
2493
+ const {
2494
+ options: { breadcrumb: globalBreadcrumb } = {}
2495
+ } = (0, import_core29.useRefineContext)();
2496
+ const back = (0, import_core29.useBack)();
2497
+ const getUserFriendlyName = (0, import_core29.useUserFriendlyName)();
2498
+ const { resource, identifier } = (0, import_core29.useResourceParams)({
2499
+ resource: resourceFromProps
2500
+ });
2501
+ const breadcrumb = typeof breadcrumbFromProps === "undefined" ? globalBreadcrumb : breadcrumbFromProps;
2502
+ const saveButtonProps = {
2503
+ ...isLoading ? { disabled: true } : {},
2504
+ ...saveButtonPropsFromProps,
2505
+ htmlType: "submit"
2506
+ };
2507
+ const defaultFooterButtons = /* @__PURE__ */ import_react28.default.createElement(import_react28.default.Fragment, null, /* @__PURE__ */ import_react28.default.createElement(SaveButton, { ...saveButtonProps }));
2508
+ return /* @__PURE__ */ import_react28.default.createElement("div", { ...wrapperProps ?? {} }, /* @__PURE__ */ import_react28.default.createElement(
2509
+ PageHeader,
2510
+ {
2511
+ backIcon: goBackFromProps,
2512
+ onBack: back,
2513
+ title: title ?? translate(
2514
+ `${identifier}.titles.create`,
2515
+ `Create ${getUserFriendlyName(
2516
+ ((_a = resource == null ? void 0 : resource.meta) == null ? void 0 : _a.label) ?? identifier,
2517
+ "singular"
2518
+ )}`
2519
+ ),
2520
+ breadcrumb: typeof breadcrumb !== "undefined" ? /* @__PURE__ */ import_react28.default.createElement(import_react28.default.Fragment, null, breadcrumb) : /* @__PURE__ */ import_react28.default.createElement(Breadcrumb, null),
2521
+ extra: /* @__PURE__ */ import_react28.default.createElement(import_antd22.Space, { wrap: true, ...headerButtonProps ?? {} }, headerButtons ? typeof headerButtons === "function" ? headerButtons({
2522
+ defaultButtons: null
2523
+ }) : headerButtons : null),
2524
+ ...headerProps ?? {}
2525
+ },
2526
+ /* @__PURE__ */ import_react28.default.createElement(import_antd22.Spin, { spinning: isLoading }, /* @__PURE__ */ import_react28.default.createElement(
2527
+ import_antd22.Card,
2528
+ {
2529
+ variant: "borderless",
2530
+ actions: [
2531
+ /* @__PURE__ */ import_react28.default.createElement(
2532
+ import_antd22.Space,
2533
+ {
2534
+ key: "action-buttons",
2535
+ style: { float: "right", marginRight: 24 },
2536
+ ...footerButtonProps ?? {}
2537
+ },
2538
+ footerButtons ? typeof footerButtons === "function" ? footerButtons({
2539
+ defaultButtons: defaultFooterButtons,
2540
+ saveButtonProps
2541
+ }) : footerButtons : defaultFooterButtons
2542
+ )
2543
+ ],
2544
+ ...contentProps ?? {}
2545
+ },
2546
+ children
2547
+ ))
2548
+ ));
2549
+ }, "Create");
2550
+
2551
+ // src/components/crud/edit/index.tsx
2552
+ var import_react29 = __toESM(require("react"));
2553
+ var import_antd23 = require("antd");
2554
+ var import_core30 = require("@refinedev/core");
2555
+ var Edit = /* @__PURE__ */ __name(({
2556
+ title,
2557
+ saveButtonProps: saveButtonPropsFromProps,
2558
+ mutationMode: mutationModeProp,
2559
+ recordItemId,
2560
+ children,
2561
+ deleteButtonProps: deleteButtonPropsFromProps,
2562
+ canDelete,
2563
+ resource: resourceFromProps,
2564
+ isLoading = false,
2565
+ dataProviderName,
2566
+ breadcrumb: breadcrumbFromProps,
2567
+ wrapperProps,
2568
+ headerProps,
2569
+ contentProps,
2570
+ headerButtonProps,
2571
+ headerButtons,
2572
+ footerButtonProps,
2573
+ footerButtons,
2574
+ goBack: goBackFromProps,
2575
+ autoSaveProps
2576
+ }) => {
2577
+ var _a, _b;
2578
+ const translate = (0, import_core30.useTranslate)();
2579
+ const {
2580
+ options: { breadcrumb: globalBreadcrumb } = {}
2581
+ } = (0, import_core30.useRefineContext)();
2582
+ const { mutationMode: mutationModeContext } = (0, import_core30.useMutationMode)();
2583
+ const mutationMode = mutationModeProp ?? mutationModeContext;
2584
+ const back = (0, import_core30.useBack)();
2585
+ const go = (0, import_core30.useGo)();
2586
+ const getUserFriendlyName = (0, import_core30.useUserFriendlyName)();
2587
+ const {
2588
+ resource,
2589
+ action,
2590
+ id: idFromParams,
2591
+ identifier
2592
+ } = (0, import_core30.useResourceParams)({
2593
+ resource: resourceFromProps
2594
+ });
2595
+ const goListPath = (0, import_core30.useToPath)({
2596
+ resource,
2597
+ action: "list"
2598
+ });
2599
+ const id = recordItemId ?? idFromParams;
2600
+ const breadcrumb = typeof breadcrumbFromProps === "undefined" ? globalBreadcrumb : breadcrumbFromProps;
2601
+ const hasList = (resource == null ? void 0 : resource.list) && !recordItemId;
2602
+ const isDeleteButtonVisible = canDelete ?? (((_a = resource == null ? void 0 : resource.meta) == null ? void 0 : _a.canDelete) || deleteButtonPropsFromProps);
2603
+ const listButtonProps = hasList ? {
2604
+ ...isLoading ? { disabled: true } : {},
2605
+ resource: identifier
2606
+ } : void 0;
2607
+ const refreshButtonProps = {
2608
+ ...isLoading ? { disabled: true } : {},
2609
+ resource: identifier,
2610
+ recordItemId: id,
2611
+ dataProviderName
2612
+ };
2613
+ const deleteButtonProps = isDeleteButtonVisible ? {
2614
+ ...isLoading ? { disabled: true } : {},
2615
+ resource: identifier,
2616
+ mutationMode,
2617
+ onSuccess: () => {
2618
+ go({ to: goListPath });
2619
+ },
2620
+ recordItemId: id,
2621
+ dataProviderName,
2622
+ ...deleteButtonPropsFromProps
2623
+ } : void 0;
2624
+ const saveButtonProps = {
2625
+ ...isLoading ? { disabled: true } : {},
2626
+ ...saveButtonPropsFromProps
2627
+ };
2628
+ const defaultHeaderButtons = /* @__PURE__ */ import_react29.default.createElement(import_react29.default.Fragment, null, autoSaveProps && /* @__PURE__ */ import_react29.default.createElement(AutoSaveIndicator, { ...autoSaveProps }), hasList && /* @__PURE__ */ import_react29.default.createElement(ListButton, { ...listButtonProps }), /* @__PURE__ */ import_react29.default.createElement(RefreshButton, { ...refreshButtonProps }));
2629
+ const defaultFooterButtons = /* @__PURE__ */ import_react29.default.createElement(import_react29.default.Fragment, null, isDeleteButtonVisible && /* @__PURE__ */ import_react29.default.createElement(DeleteButton, { ...deleteButtonProps }), /* @__PURE__ */ import_react29.default.createElement(SaveButton, { ...saveButtonProps }));
2630
+ return /* @__PURE__ */ import_react29.default.createElement("div", { ...wrapperProps ?? {} }, /* @__PURE__ */ import_react29.default.createElement(
2631
+ PageHeader,
2632
+ {
2633
+ backIcon: goBackFromProps,
2634
+ onBack: action !== "list" && typeof action !== "undefined" ? back : void 0,
2635
+ title: title ?? translate(
2636
+ `${identifier}.titles.edit`,
2637
+ `Edit ${getUserFriendlyName(
2638
+ ((_b = resource == null ? void 0 : resource.meta) == null ? void 0 : _b.label) ?? identifier,
2639
+ "singular"
2640
+ )}`
2641
+ ),
2642
+ extra: /* @__PURE__ */ import_react29.default.createElement(import_antd23.Space, { wrap: true, ...headerButtonProps ?? {} }, headerButtons ? typeof headerButtons === "function" ? headerButtons({
2643
+ defaultButtons: defaultHeaderButtons,
2644
+ listButtonProps,
2645
+ refreshButtonProps
2646
+ }) : headerButtons : defaultHeaderButtons),
2647
+ breadcrumb: typeof breadcrumb !== "undefined" ? /* @__PURE__ */ import_react29.default.createElement(import_react29.default.Fragment, null, breadcrumb) : /* @__PURE__ */ import_react29.default.createElement(Breadcrumb, null),
2648
+ ...headerProps ?? {}
2649
+ },
2650
+ /* @__PURE__ */ import_react29.default.createElement(import_antd23.Spin, { spinning: isLoading }, /* @__PURE__ */ import_react29.default.createElement(
2651
+ import_antd23.Card,
2652
+ {
2653
+ variant: "borderless",
2654
+ actions: [
2655
+ /* @__PURE__ */ import_react29.default.createElement(
2656
+ import_antd23.Space,
2657
+ {
2658
+ key: "footer-buttons",
2659
+ wrap: true,
2660
+ style: {
2661
+ float: "right",
2662
+ marginRight: 24
2663
+ },
2664
+ ...footerButtonProps ?? {}
2665
+ },
2666
+ footerButtons ? typeof footerButtons === "function" ? footerButtons({
2667
+ defaultButtons: defaultFooterButtons,
2668
+ deleteButtonProps,
2669
+ saveButtonProps
2670
+ }) : footerButtons : defaultFooterButtons
2671
+ )
2672
+ ],
2673
+ ...contentProps ?? {}
2674
+ },
2675
+ children
2676
+ ))
2677
+ ));
2678
+ }, "Edit");
2679
+
2680
+ // src/components/crud/show/index.tsx
2681
+ var import_react30 = __toESM(require("react"));
2682
+ var import_antd24 = require("antd");
2683
+ var import_core31 = require("@refinedev/core");
2684
+ var Show = /* @__PURE__ */ __name(({
2685
+ title,
2686
+ canEdit,
2687
+ canDelete,
2688
+ deleteButtonProps: deleteButtonPropsFromProps,
2689
+ isLoading = false,
2690
+ children,
2691
+ resource: resourceFromProps,
2692
+ recordItemId,
2693
+ dataProviderName,
2694
+ breadcrumb: breadcrumbFromProps,
2695
+ contentProps,
2696
+ headerProps,
2697
+ wrapperProps,
2698
+ headerButtons,
2699
+ footerButtons,
2700
+ footerButtonProps,
2701
+ headerButtonProps,
2702
+ goBack: goBackFromProps
2703
+ }) => {
2704
+ var _a, _b;
2705
+ const translate = (0, import_core31.useTranslate)();
2706
+ const {
2707
+ options: { breadcrumb: globalBreadcrumb } = {}
2708
+ } = (0, import_core31.useRefineContext)();
2709
+ const back = (0, import_core31.useBack)();
2710
+ const go = (0, import_core31.useGo)();
2711
+ const getUserFriendlyName = (0, import_core31.useUserFriendlyName)();
2712
+ const {
2713
+ resource,
2714
+ action,
2715
+ id: idFromParams,
2716
+ identifier
2717
+ } = (0, import_core31.useResourceParams)({
2718
+ resource: resourceFromProps
2719
+ });
2720
+ const goListPath = (0, import_core31.useToPath)({
2721
+ resource,
2722
+ action: "list"
2723
+ });
2724
+ const id = recordItemId ?? idFromParams;
2725
+ const breadcrumb = typeof breadcrumbFromProps === "undefined" ? globalBreadcrumb : breadcrumbFromProps;
2726
+ const hasList = (resource == null ? void 0 : resource.list) && !recordItemId;
2727
+ const isDeleteButtonVisible = canDelete ?? (((_a = resource == null ? void 0 : resource.meta) == null ? void 0 : _a.canDelete) || deleteButtonPropsFromProps);
2728
+ const isEditButtonVisible = canEdit ?? !!(resource == null ? void 0 : resource.edit);
2729
+ const listButtonProps = hasList ? {
2730
+ resource: identifier
2731
+ } : void 0;
2732
+ const editButtonProps = isEditButtonVisible ? {
2733
+ ...isLoading ? { disabled: true } : {},
2734
+ type: "primary",
2735
+ resource: identifier,
2736
+ recordItemId: id
2737
+ } : void 0;
2738
+ const deleteButtonProps = isDeleteButtonVisible ? {
2739
+ ...isLoading ? { disabled: true } : {},
2740
+ resource: identifier,
2741
+ recordItemId: id,
2742
+ onSuccess: () => {
2743
+ go({ to: goListPath });
2744
+ },
2745
+ dataProviderName,
2746
+ ...deleteButtonPropsFromProps
2747
+ } : void 0;
2748
+ const refreshButtonProps = {
2749
+ ...isLoading ? { disabled: true } : {},
2750
+ resource: identifier,
2751
+ recordItemId: id,
2752
+ dataProviderName
2753
+ };
2754
+ const defaultHeaderButtons = /* @__PURE__ */ import_react30.default.createElement(import_react30.default.Fragment, null, hasList && /* @__PURE__ */ import_react30.default.createElement(ListButton, { ...listButtonProps }), isEditButtonVisible && /* @__PURE__ */ import_react30.default.createElement(EditButton, { ...editButtonProps }), isDeleteButtonVisible && /* @__PURE__ */ import_react30.default.createElement(DeleteButton, { ...deleteButtonProps }), /* @__PURE__ */ import_react30.default.createElement(RefreshButton, { ...refreshButtonProps }));
2755
+ return /* @__PURE__ */ import_react30.default.createElement("div", { ...wrapperProps ?? {} }, /* @__PURE__ */ import_react30.default.createElement(
2756
+ PageHeader,
2757
+ {
2758
+ backIcon: goBackFromProps,
2759
+ onBack: action !== "list" && typeof action !== "undefined" ? back : void 0,
2760
+ title: title ?? translate(
2761
+ `${identifier}.titles.show`,
2762
+ `Show ${getUserFriendlyName(
2763
+ ((_b = resource == null ? void 0 : resource.meta) == null ? void 0 : _b.label) ?? identifier,
2764
+ "singular"
2765
+ )}`
2766
+ ),
2767
+ extra: /* @__PURE__ */ import_react30.default.createElement(import_antd24.Space, { key: "extra-buttons", wrap: true, ...headerButtonProps ?? {} }, headerButtons ? typeof headerButtons === "function" ? headerButtons({
2768
+ defaultButtons: defaultHeaderButtons,
2769
+ deleteButtonProps,
2770
+ editButtonProps,
2771
+ listButtonProps,
2772
+ refreshButtonProps
2773
+ }) : headerButtons : defaultHeaderButtons),
2774
+ breadcrumb: typeof breadcrumb !== "undefined" ? /* @__PURE__ */ import_react30.default.createElement(import_react30.default.Fragment, null, breadcrumb) : /* @__PURE__ */ import_react30.default.createElement(Breadcrumb, null),
2775
+ ...headerProps ?? {}
2776
+ },
2777
+ /* @__PURE__ */ import_react30.default.createElement(import_antd24.Spin, { spinning: isLoading }, /* @__PURE__ */ import_react30.default.createElement(
2778
+ import_antd24.Card,
2779
+ {
2780
+ variant: "borderless",
2781
+ actions: footerButtons ? [
2782
+ /* @__PURE__ */ import_react30.default.createElement(import_antd24.Space, { key: "footer-buttons", wrap: true, ...footerButtonProps }, typeof footerButtons === "function" ? footerButtons({
2783
+ defaultButtons: null
2784
+ }) : footerButtons)
2785
+ ] : void 0,
2786
+ ...contentProps ?? {}
2787
+ },
2788
+ children
2789
+ ))
2790
+ ));
2791
+ }, "Show");
2792
+
2793
+ // src/components/fields/text/index.tsx
2794
+ var import_react31 = __toESM(require("react"));
2795
+ var import_antd25 = require("antd");
2796
+ var TextField = /* @__PURE__ */ __name(({ value, ...rest }) => {
2797
+ return /* @__PURE__ */ import_react31.default.createElement(import_antd25.Typography.Text, { ...rest }, value);
2798
+ }, "TextField");
2799
+
2800
+ // src/components/fields/tag/index.tsx
2801
+ var import_react32 = __toESM(require("react"));
2802
+ var import_antd26 = require("antd");
2803
+ var TagField = /* @__PURE__ */ __name(({ value, ...rest }) => {
2804
+ return /* @__PURE__ */ import_react32.default.createElement(import_antd26.Tag, { ...rest }, value == null ? void 0 : value.toString());
2805
+ }, "TagField");
2806
+
2807
+ // src/components/fields/email/index.tsx
2808
+ var import_react33 = __toESM(require("react"));
2809
+ var import_antd27 = require("antd");
2810
+ var EmailField = /* @__PURE__ */ __name(({ value, ...rest }) => {
2811
+ return /* @__PURE__ */ import_react33.default.createElement(import_antd27.Typography.Link, { href: `mailto:${value}`, ...rest }, value);
2812
+ }, "EmailField");
2813
+
2814
+ // src/components/fields/image/index.tsx
2815
+ var import_react34 = __toESM(require("react"));
2816
+ var import_antd28 = require("antd");
2817
+ var ImageField = /* @__PURE__ */ __name(({
2818
+ value,
2819
+ imageTitle,
2820
+ ...rest
2821
+ }) => {
2822
+ return /* @__PURE__ */ import_react34.default.createElement(import_antd28.Image, { ...rest, src: value, title: imageTitle });
2823
+ }, "ImageField");
2824
+
2825
+ // src/components/fields/boolean/index.tsx
2826
+ var import_react35 = __toESM(require("react"));
2827
+ var import_antd29 = require("antd");
2828
+ var import_icons13 = require("@ant-design/icons");
2829
+ var BooleanField = /* @__PURE__ */ __name(({
2830
+ value,
2831
+ valueLabelTrue = "true",
2832
+ valueLabelFalse = "false",
2833
+ trueIcon = /* @__PURE__ */ import_react35.default.createElement(import_icons13.CheckOutlined, null),
2834
+ falseIcon = /* @__PURE__ */ import_react35.default.createElement(import_icons13.CloseOutlined, null),
2835
+ ...rest
2836
+ }) => {
2837
+ return /* @__PURE__ */ import_react35.default.createElement(import_antd29.Tooltip, { title: value ? valueLabelTrue : valueLabelFalse, ...rest }, value ? /* @__PURE__ */ import_react35.default.createElement("span", null, trueIcon) : /* @__PURE__ */ import_react35.default.createElement("span", null, falseIcon));
2838
+ }, "BooleanField");
2839
+
2840
+ // src/components/fields/date/index.tsx
2841
+ var import_react36 = __toESM(require("react"));
2842
+ var import_dayjs = __toESM(require("dayjs"));
2843
+ var import_antd30 = require("antd");
2844
+ var import_localizedFormat = __toESM(require("dayjs/plugin/localizedFormat"));
2845
+ var DateField = /* @__PURE__ */ __name(({
2846
+ value,
2847
+ locales,
2848
+ format: dateFormat = "L",
2849
+ ...rest
2850
+ }) => {
2851
+ import_dayjs.default.extend(import_localizedFormat.default);
2852
+ const defaultLocale = import_dayjs.default.locale();
2853
+ return /* @__PURE__ */ import_react36.default.createElement(import_antd30.Typography.Text, { ...rest }, value ? (0, import_dayjs.default)(value).locale(locales || defaultLocale).format(dateFormat) : "");
2854
+ }, "DateField");
2855
+
2856
+ // src/components/fields/file/index.tsx
2857
+ var import_react37 = __toESM(require("react"));
2858
+ var FileField = /* @__PURE__ */ __name(({
2859
+ title,
2860
+ src,
2861
+ ...rest
2862
+ }) => {
2863
+ return /* @__PURE__ */ import_react37.default.createElement(UrlField, { value: src, title, ...rest }, title ?? src);
2864
+ }, "FileField");
2865
+
2866
+ // src/components/fields/url/index.tsx
2867
+ var import_react38 = __toESM(require("react"));
2868
+ var import_antd31 = require("antd");
2869
+ var UrlField = /* @__PURE__ */ __name(({
2870
+ children,
2871
+ value,
2872
+ ...rest
2873
+ }) => {
2874
+ return /* @__PURE__ */ import_react38.default.createElement(import_antd31.Typography.Link, { href: value, ...rest }, children ?? value);
2875
+ }, "UrlField");
2876
+
2877
+ // src/components/fields/number/index.tsx
2878
+ var import_react39 = __toESM(require("react"));
2879
+ var import_antd32 = require("antd");
2880
+ function toLocaleStringSupportsOptions() {
2881
+ return !!(typeof Intl === "object" && Intl && typeof Intl.NumberFormat === "function");
2882
+ }
2883
+ __name(toLocaleStringSupportsOptions, "toLocaleStringSupportsOptions");
2884
+ var NumberField = /* @__PURE__ */ __name(({
2885
+ value,
2886
+ locale,
2887
+ options,
2888
+ ...rest
2889
+ }) => {
2890
+ const number = Number(value);
2891
+ return /* @__PURE__ */ import_react39.default.createElement(import_antd32.Typography.Text, { ...rest }, toLocaleStringSupportsOptions() ? number.toLocaleString(locale, options) : number);
2892
+ }, "NumberField");
2893
+
2894
+ // src/components/fields/markdown/index.tsx
2895
+ var import_react40 = __toESM(require("react"));
2896
+ var import_react_markdown = __toESM(require("react-markdown"));
2897
+ var import_remark_gfm = __toESM(require("remark-gfm"));
2898
+ var MarkdownField = /* @__PURE__ */ __name(({
2899
+ value = ""
2900
+ }) => {
2901
+ return /* @__PURE__ */ import_react40.default.createElement(
2902
+ import_react_markdown.default,
2903
+ {
2904
+ remarkPlugins: [import_remark_gfm.default]
2905
+ },
2906
+ value
2907
+ );
2908
+ }, "MarkdownField");
2909
+
2910
+ // src/components/table/components/filterDropdown/index.tsx
2911
+ var import_react41 = __toESM(require("react"));
2912
+ var import_antd33 = require("antd");
2913
+ var import_dayjs2 = __toESM(require("dayjs"));
2914
+ var import_icons14 = require("@ant-design/icons");
2915
+ var import_core32 = require("@refinedev/core");
2916
+ var FilterDropdown = /* @__PURE__ */ __name((props) => {
2917
+ const {
2918
+ setSelectedKeys,
2919
+ confirm,
2920
+ clearFilters,
2921
+ mapValue = /* @__PURE__ */ __name((value) => value, "mapValue"),
2922
+ selectedKeys,
2923
+ children
2924
+ } = props;
2925
+ const translate = (0, import_core32.useTranslate)();
2926
+ const clearFilter = /* @__PURE__ */ __name(() => {
2927
+ if (clearFilters) {
2928
+ clearFilters();
2929
+ }
2930
+ }, "clearFilter");
2931
+ const onFilter = /* @__PURE__ */ __name(() => {
2932
+ let keys;
2933
+ if (typeof selectedKeys === "number") {
2934
+ keys = `${selectedKeys}`;
2935
+ } else if (import_dayjs2.default.isDayjs(selectedKeys)) {
2936
+ keys = [selectedKeys.toISOString()];
2937
+ } else {
2938
+ keys = selectedKeys;
2939
+ }
2940
+ setSelectedKeys(keys);
2941
+ confirm == null ? void 0 : confirm();
2942
+ }, "onFilter");
2943
+ const onChange = /* @__PURE__ */ __name((e) => {
2944
+ if (typeof e === "object") {
2945
+ if (Array.isArray(e)) {
2946
+ const mappedValue3 = mapValue(e, "onChange");
2947
+ return setSelectedKeys(mappedValue3);
2948
+ }
2949
+ const changeEvent = !e || !e.target || import_dayjs2.default.isDayjs(e) ? { target: { value: e } } : e;
2950
+ const { target } = changeEvent;
2951
+ const mappedValue2 = mapValue(target.value, "onChange");
2952
+ setSelectedKeys(mappedValue2);
2953
+ return;
2954
+ }
2955
+ const mappedValue = mapValue(e, "onChange");
2956
+ setSelectedKeys(mappedValue);
2957
+ }, "onChange");
2958
+ const childrenWithProps = import_react41.default.Children.map(children, (child) => {
2959
+ if (import_react41.default.isValidElement(child)) {
2960
+ return import_react41.default.cloneElement(child, {
2961
+ onChange,
2962
+ value: mapValue(selectedKeys, "value")
2963
+ });
2964
+ }
2965
+ return child;
2966
+ });
2967
+ return /* @__PURE__ */ import_react41.default.createElement(
2968
+ "div",
2969
+ {
2970
+ style: {
2971
+ padding: 10,
2972
+ display: "flex",
2973
+ flexDirection: "column",
2974
+ alignItems: "flex-end"
2975
+ }
2976
+ },
2977
+ /* @__PURE__ */ import_react41.default.createElement("div", { style: { marginBottom: 15 } }, childrenWithProps),
2978
+ /* @__PURE__ */ import_react41.default.createElement(import_antd33.Space, null, /* @__PURE__ */ import_react41.default.createElement(import_antd33.Button, { type: "primary", size: "small", onClick: () => onFilter() }, /* @__PURE__ */ import_react41.default.createElement(import_icons14.FilterOutlined, null), " ", translate("buttons.filter", "Filter")), /* @__PURE__ */ import_react41.default.createElement(import_antd33.Button, { danger: true, size: "small", onClick: () => clearFilter() }, translate("buttons.clear", "Clear")))
2979
+ );
2980
+ }, "FilterDropdown");
2981
+
2982
+ // src/components/pages/error/index.tsx
2983
+ var import_react42 = __toESM(require("react"));
2984
+ var import_core33 = require("@refinedev/core");
2985
+ var import_antd34 = require("antd");
2986
+ var import_icons15 = require("@ant-design/icons");
2987
+ var import_core34 = require("@refinedev/core");
2988
+ var ErrorComponent = /* @__PURE__ */ __name(() => {
2989
+ const [errorMessage, setErrorMessage] = (0, import_react42.useState)();
2990
+ const translate = (0, import_core34.useTranslate)();
2991
+ const go = (0, import_core33.useGo)();
2992
+ const { resource, action } = (0, import_core33.useResourceParams)();
2993
+ (0, import_react42.useEffect)(() => {
2994
+ if (resource) {
2995
+ if (action) {
2996
+ setErrorMessage(
2997
+ translate(
2998
+ "pages.error.info",
2999
+ {
3000
+ action,
3001
+ resource: resource == null ? void 0 : resource.name
3002
+ },
3003
+ `You may have forgotten to add the "${action}" component to "${resource == null ? void 0 : resource.name}" resource.`
3004
+ )
3005
+ );
3006
+ }
3007
+ }
3008
+ }, [resource, action]);
3009
+ return /* @__PURE__ */ import_react42.default.createElement(
3010
+ import_antd34.Result,
3011
+ {
3012
+ status: "404",
3013
+ title: "404",
3014
+ extra: /* @__PURE__ */ import_react42.default.createElement(import_antd34.Space, { direction: "vertical", size: "large" }, /* @__PURE__ */ import_react42.default.createElement(import_antd34.Space, null, /* @__PURE__ */ import_react42.default.createElement(import_antd34.Typography.Text, null, translate(
3015
+ "pages.error.404",
3016
+ "Sorry, the page you visited does not exist."
3017
+ )), errorMessage && /* @__PURE__ */ import_react42.default.createElement(import_antd34.Tooltip, { title: errorMessage }, /* @__PURE__ */ import_react42.default.createElement(import_icons15.InfoCircleOutlined, { }))), /* @__PURE__ */ import_react42.default.createElement(import_antd34.Button, { type: "primary", onClick: () => go({ to: "/" }) }, translate("pages.error.backHome", "Back Home")))
3018
+ }
3019
+ );
3020
+ }, "ErrorComponent");
3021
+
3022
+ // src/components/pages/welcome/index.tsx
3023
+ var import_react43 = __toESM(require("react"));
3024
+ var import_core35 = require("@refinedev/core");
3025
+ var WelcomePage = /* @__PURE__ */ __name(() => {
3026
+ return /* @__PURE__ */ import_react43.default.createElement(import_core35.WelcomePage, null);
3027
+ }, "WelcomePage");
3028
+
3029
+ // src/components/pages/auth/index.tsx
3030
+ var import_react48 = __toESM(require("react"));
3031
+
3032
+ // src/components/pages/auth/components/login/index.tsx
3033
+ var import_react44 = __toESM(require("react"));
3034
+ var import_core36 = require("@refinedev/core");
3035
+ var import_antd35 = require("antd");
3036
+ var import_core37 = require("@refinedev/core");
3037
+
3038
+ // src/components/pages/auth/components/styles.ts
3039
+ var layoutStyles = {};
3040
+ var containerStyles = {
3041
+ maxWidth: "400px",
3042
+ margin: "auto",
3043
+ padding: "32px",
3044
+ boxShadow: "0px 2px 4px rgba(0, 0, 0, 0.02), 0px 1px 6px -1px rgba(0, 0, 0, 0.02), 0px 1px 2px rgba(0, 0, 0, 0.03)"
3045
+ };
3046
+ var headStyles = {
3047
+ borderBottom: 0,
3048
+ padding: 0
3049
+ };
3050
+ var bodyStyles = { padding: 0, marginTop: "32px" };
3051
+ var titleStyles = {
3052
+ textAlign: "center",
3053
+ marginBottom: 0,
3054
+ fontSize: "24px",
3055
+ lineHeight: "32px",
3056
+ fontWeight: 700,
3057
+ overflowWrap: "break-word",
3058
+ hyphens: "manual",
3059
+ textOverflow: "unset",
3060
+ whiteSpace: "pre-wrap"
3061
+ };
3062
+
3063
+ // src/components/pages/auth/components/login/index.tsx
3064
+ var LoginPage = /* @__PURE__ */ __name(({
3065
+ providers,
3066
+ registerLink,
3067
+ forgotPasswordLink,
3068
+ rememberMe,
3069
+ contentProps,
3070
+ wrapperProps,
3071
+ renderContent,
3072
+ formProps,
3073
+ title,
3074
+ hideForm,
3075
+ mutationVariables
3076
+ }) => {
3077
+ const { token } = import_antd35.theme.useToken();
3078
+ const [form] = import_antd35.Form.useForm();
3079
+ const translate = (0, import_core37.useTranslate)();
3080
+ const Link = (0, import_core36.useLink)();
3081
+ const { mutate: login, isPending } = (0, import_core37.useLogin)();
3082
+ const PageTitle = title === false ? null : /* @__PURE__ */ import_react44.default.createElement(
3083
+ "div",
3084
+ {
3085
+ style: {
3086
+ display: "flex",
3087
+ justifyContent: "center",
3088
+ marginBottom: "32px",
3089
+ fontSize: "20px"
3090
+ }
3091
+ },
3092
+ title ?? /* @__PURE__ */ import_react44.default.createElement(ThemedTitle, { collapsed: false })
3093
+ );
3094
+ const CardTitle = /* @__PURE__ */ import_react44.default.createElement(
3095
+ import_antd35.Typography.Title,
3096
+ {
3097
+ level: 3,
3098
+ style: {
3099
+ color: token.colorPrimaryTextHover,
3100
+ ...titleStyles
3101
+ }
3102
+ },
3103
+ translate("pages.login.title", "Sign in to your account")
3104
+ );
3105
+ const renderProviders = /* @__PURE__ */ __name(() => {
3106
+ if (providers && providers.length > 0) {
3107
+ return /* @__PURE__ */ import_react44.default.createElement(import_react44.default.Fragment, null, providers.map((provider) => {
3108
+ return /* @__PURE__ */ import_react44.default.createElement(
3109
+ import_antd35.Button,
3110
+ {
3111
+ key: provider.name,
3112
+ type: "default",
3113
+ block: true,
3114
+ icon: provider.icon,
3115
+ style: {
3116
+ display: "flex",
3117
+ justifyContent: "center",
3118
+ alignItems: "center",
3119
+ width: "100%",
3120
+ marginBottom: "8px"
3121
+ },
3122
+ onClick: () => login({
3123
+ ...mutationVariables,
3124
+ providerName: provider.name
3125
+ })
3126
+ },
3127
+ provider.label
3128
+ );
3129
+ }), !hideForm && /* @__PURE__ */ import_react44.default.createElement(import_antd35.Divider, null, /* @__PURE__ */ import_react44.default.createElement(
3130
+ import_antd35.Typography.Text,
3131
+ {
3132
+ style: {
3133
+ color: token.colorTextLabel
3134
+ }
3135
+ },
3136
+ translate("pages.login.divider", "or")
3137
+ )));
3138
+ }
3139
+ return null;
3140
+ }, "renderProviders");
3141
+ const CardContent = /* @__PURE__ */ import_react44.default.createElement(
3142
+ import_antd35.Card,
3143
+ {
3144
+ title: CardTitle,
3145
+ styles: {
3146
+ header: headStyles,
3147
+ body: bodyStyles
3148
+ },
3149
+ style: {
3150
+ ...containerStyles,
3151
+ backgroundColor: token.colorBgElevated
3152
+ },
3153
+ ...contentProps ?? {}
3154
+ },
3155
+ renderProviders(),
3156
+ !hideForm && /* @__PURE__ */ import_react44.default.createElement(
3157
+ import_antd35.Form,
3158
+ {
3159
+ layout: "vertical",
3160
+ form,
3161
+ onFinish: (values) => login({ ...values, ...mutationVariables }),
3162
+ requiredMark: false,
3163
+ initialValues: {
3164
+ remember: false
3165
+ },
3166
+ ...formProps
3167
+ },
3168
+ /* @__PURE__ */ import_react44.default.createElement(
3169
+ import_antd35.Form.Item,
3170
+ {
3171
+ name: "email",
3172
+ label: translate("pages.login.fields.email", "Email"),
3173
+ rules: [
3174
+ {
3175
+ required: true,
3176
+ message: translate(
3177
+ "pages.login.errors.requiredEmail",
3178
+ "Email is required"
3179
+ )
3180
+ },
3181
+ {
3182
+ type: "email",
3183
+ message: translate(
3184
+ "pages.login.errors.validEmail",
3185
+ "Invalid email address"
3186
+ )
3187
+ }
3188
+ ]
3189
+ },
3190
+ /* @__PURE__ */ import_react44.default.createElement(
3191
+ import_antd35.Input,
3192
+ {
3193
+ size: "large",
3194
+ placeholder: translate("pages.login.fields.email", "Email")
3195
+ }
3196
+ )
3197
+ ),
3198
+ /* @__PURE__ */ import_react44.default.createElement(
3199
+ import_antd35.Form.Item,
3200
+ {
3201
+ name: "password",
3202
+ label: translate("pages.login.fields.password", "Password"),
3203
+ rules: [
3204
+ {
3205
+ required: true,
3206
+ message: translate(
3207
+ "pages.login.errors.requiredPassword",
3208
+ "Password is required"
3209
+ )
3210
+ }
3211
+ ]
3212
+ },
3213
+ /* @__PURE__ */ import_react44.default.createElement(
3214
+ import_antd35.Input,
3215
+ {
3216
+ type: "password",
3217
+ autoComplete: "current-password",
3218
+ placeholder: "\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF",
3219
+ size: "large"
3220
+ }
3221
+ )
3222
+ ),
3223
+ /* @__PURE__ */ import_react44.default.createElement(
3224
+ "div",
3225
+ {
3226
+ style: {
3227
+ display: "flex",
3228
+ justifyContent: "space-between",
3229
+ marginBottom: "24px"
3230
+ }
3231
+ },
3232
+ rememberMe ?? /* @__PURE__ */ import_react44.default.createElement(import_antd35.Form.Item, { name: "remember", valuePropName: "checked", noStyle: true }, /* @__PURE__ */ import_react44.default.createElement(
3233
+ import_antd35.Checkbox,
3234
+ {
3235
+ style: {
3236
+ fontSize: "12px"
3237
+ }
3238
+ },
3239
+ translate("pages.login.buttons.rememberMe", "Remember me")
3240
+ )),
3241
+ forgotPasswordLink ?? /* @__PURE__ */ import_react44.default.createElement(
3242
+ Link,
3243
+ {
3244
+ style: {
3245
+ color: token.colorPrimaryTextHover,
3246
+ fontSize: "12px",
3247
+ marginLeft: "auto"
3248
+ },
3249
+ to: "/forgot-password"
3250
+ },
3251
+ translate(
3252
+ "pages.login.buttons.forgotPassword",
3253
+ "Forgot password?"
3254
+ )
3255
+ )
3256
+ ),
3257
+ !hideForm && /* @__PURE__ */ import_react44.default.createElement(import_antd35.Form.Item, null, /* @__PURE__ */ import_react44.default.createElement(
3258
+ import_antd35.Button,
3259
+ {
3260
+ type: "primary",
3261
+ size: "large",
3262
+ htmlType: "submit",
3263
+ loading: isPending,
3264
+ block: true
3265
+ },
3266
+ translate("pages.login.signin", "Sign in")
3267
+ ))
3268
+ ),
3269
+ registerLink ?? /* @__PURE__ */ import_react44.default.createElement(
3270
+ "div",
3271
+ {
3272
+ style: {
3273
+ marginTop: hideForm ? 16 : 8
3274
+ }
3275
+ },
3276
+ /* @__PURE__ */ import_react44.default.createElement(import_antd35.Typography.Text, { style: { fontSize: 12 } }, translate(
3277
+ "pages.login.buttons.noAccount",
3278
+ "Don\u2019t have an account?"
3279
+ ), " ", /* @__PURE__ */ import_react44.default.createElement(
3280
+ Link,
3281
+ {
3282
+ to: "/register",
3283
+ style: {
3284
+ fontWeight: "bold",
3285
+ color: token.colorPrimaryTextHover
3286
+ }
3287
+ },
3288
+ translate("pages.login.signup", "Sign up")
3289
+ ))
3290
+ )
3291
+ );
3292
+ return /* @__PURE__ */ import_react44.default.createElement(import_antd35.Layout, { style: layoutStyles, ...wrapperProps ?? {} }, /* @__PURE__ */ import_react44.default.createElement(
3293
+ import_antd35.Row,
3294
+ {
3295
+ justify: "center",
3296
+ align: hideForm ? "top" : "middle",
3297
+ style: {
3298
+ padding: "16px 0",
3299
+ minHeight: "100dvh",
3300
+ paddingTop: hideForm ? "15dvh" : "16px"
3301
+ }
3302
+ },
3303
+ /* @__PURE__ */ import_react44.default.createElement(import_antd35.Col, { xs: 22 }, renderContent ? renderContent(CardContent, PageTitle) : /* @__PURE__ */ import_react44.default.createElement(import_react44.default.Fragment, null, PageTitle, CardContent))
3304
+ ));
3305
+ }, "LoginPage");
3306
+
3307
+ // src/components/pages/auth/components/register/index.tsx
3308
+ var import_react45 = __toESM(require("react"));
3309
+ var import_core38 = require("@refinedev/core");
3310
+ var import_antd36 = require("antd");
3311
+ var import_core39 = require("@refinedev/core");
3312
+ var RegisterPage = /* @__PURE__ */ __name(({
3313
+ providers,
3314
+ loginLink,
3315
+ wrapperProps,
3316
+ contentProps,
3317
+ renderContent,
3318
+ formProps,
3319
+ title,
3320
+ hideForm,
3321
+ mutationVariables
3322
+ }) => {
3323
+ const { token } = import_antd36.theme.useToken();
3324
+ const [form] = import_antd36.Form.useForm();
3325
+ const translate = (0, import_core39.useTranslate)();
3326
+ const Link = (0, import_core38.useLink)();
3327
+ const { mutate: register, isPending } = (0, import_core39.useRegister)();
3328
+ const PageTitle = title === false ? null : /* @__PURE__ */ import_react45.default.createElement(
3329
+ "div",
3330
+ {
3331
+ style: {
3332
+ display: "flex",
3333
+ justifyContent: "center",
3334
+ marginBottom: "32px",
3335
+ fontSize: "20px"
3336
+ }
3337
+ },
3338
+ title ?? /* @__PURE__ */ import_react45.default.createElement(ThemedTitle, { collapsed: false })
3339
+ );
3340
+ const CardTitle = /* @__PURE__ */ import_react45.default.createElement(
3341
+ import_antd36.Typography.Title,
3342
+ {
3343
+ level: 3,
3344
+ style: {
3345
+ color: token.colorPrimaryTextHover,
3346
+ ...titleStyles
3347
+ }
3348
+ },
3349
+ translate("pages.register.title", "Sign up for your account")
3350
+ );
3351
+ const renderProviders = /* @__PURE__ */ __name(() => {
3352
+ if (providers && providers.length > 0) {
3353
+ return /* @__PURE__ */ import_react45.default.createElement(import_react45.default.Fragment, null, providers.map((provider) => {
3354
+ return /* @__PURE__ */ import_react45.default.createElement(
3355
+ import_antd36.Button,
3356
+ {
3357
+ key: provider.name,
3358
+ type: "default",
3359
+ block: true,
3360
+ icon: provider.icon,
3361
+ style: {
3362
+ display: "flex",
3363
+ justifyContent: "center",
3364
+ alignItems: "center",
3365
+ width: "100%",
3366
+ marginBottom: "8px"
3367
+ },
3368
+ onClick: () => register({
3369
+ ...mutationVariables,
3370
+ providerName: provider.name
3371
+ })
3372
+ },
3373
+ provider.label
3374
+ );
3375
+ }), !hideForm && /* @__PURE__ */ import_react45.default.createElement(import_antd36.Divider, null, /* @__PURE__ */ import_react45.default.createElement(
3376
+ import_antd36.Typography.Text,
3377
+ {
3378
+ style: {
3379
+ color: token.colorTextLabel
3380
+ }
3381
+ },
3382
+ translate(
3383
+ "pages.register.divider",
3384
+ translate("pages.login.divider", "or")
3385
+ )
3386
+ )));
3387
+ }
3388
+ return null;
3389
+ }, "renderProviders");
3390
+ const CardContent = /* @__PURE__ */ import_react45.default.createElement(
3391
+ import_antd36.Card,
3392
+ {
3393
+ title: CardTitle,
3394
+ styles: {
3395
+ header: headStyles,
3396
+ body: bodyStyles
3397
+ },
3398
+ style: {
3399
+ ...containerStyles,
3400
+ backgroundColor: token.colorBgElevated
3401
+ },
3402
+ ...contentProps ?? {}
3403
+ },
3404
+ renderProviders(),
3405
+ !hideForm && /* @__PURE__ */ import_react45.default.createElement(
3406
+ import_antd36.Form,
3407
+ {
3408
+ layout: "vertical",
3409
+ form,
3410
+ onFinish: (values) => register({ ...mutationVariables, ...values }),
3411
+ requiredMark: false,
3412
+ ...formProps
3413
+ },
3414
+ /* @__PURE__ */ import_react45.default.createElement(
3415
+ import_antd36.Form.Item,
3416
+ {
3417
+ name: "email",
3418
+ label: translate("pages.register.email", "Email"),
3419
+ rules: [
3420
+ {
3421
+ required: true,
3422
+ message: translate(
3423
+ "pages.register.errors.requiredEmail",
3424
+ "Email is required"
3425
+ )
3426
+ },
3427
+ {
3428
+ type: "email",
3429
+ message: translate(
3430
+ "pages.register.errors.validEmail",
3431
+ "Invalid email address"
3432
+ )
3433
+ }
3434
+ ]
3435
+ },
3436
+ /* @__PURE__ */ import_react45.default.createElement(
3437
+ import_antd36.Input,
3438
+ {
3439
+ size: "large",
3440
+ placeholder: translate("pages.register.fields.email", "Email")
3441
+ }
3442
+ )
3443
+ ),
3444
+ /* @__PURE__ */ import_react45.default.createElement(
3445
+ import_antd36.Form.Item,
3446
+ {
3447
+ name: "password",
3448
+ label: translate("pages.register.fields.password", "Password"),
3449
+ rules: [
3450
+ {
3451
+ required: true,
3452
+ message: translate(
3453
+ "pages.register.errors.requiredPassword",
3454
+ "Password is required"
3455
+ )
3456
+ }
3457
+ ]
3458
+ },
3459
+ /* @__PURE__ */ import_react45.default.createElement(import_antd36.Input, { type: "password", placeholder: "\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF", size: "large" })
3460
+ ),
3461
+ /* @__PURE__ */ import_react45.default.createElement(
3462
+ "div",
3463
+ {
3464
+ style: {
3465
+ display: "flex",
3466
+ justifyContent: "space-between",
3467
+ marginBottom: "24px"
3468
+ }
3469
+ },
3470
+ loginLink ?? /* @__PURE__ */ import_react45.default.createElement(
3471
+ import_antd36.Typography.Text,
3472
+ {
3473
+ style: {
3474
+ fontSize: 12,
3475
+ marginLeft: "auto"
3476
+ }
3477
+ },
3478
+ translate(
3479
+ "pages.register.buttons.haveAccount",
3480
+ translate(
3481
+ "pages.login.buttons.haveAccount",
3482
+ "Have an account?"
3483
+ )
3484
+ ),
3485
+ " ",
3486
+ /* @__PURE__ */ import_react45.default.createElement(
3487
+ Link,
3488
+ {
3489
+ style: {
3490
+ fontWeight: "bold",
3491
+ color: token.colorPrimaryTextHover
3492
+ },
3493
+ to: "/login"
3494
+ },
3495
+ translate(
3496
+ "pages.register.signin",
3497
+ translate("pages.login.signin", "Sign in")
3498
+ )
3499
+ )
3500
+ )
3501
+ ),
3502
+ /* @__PURE__ */ import_react45.default.createElement(
3503
+ import_antd36.Form.Item,
3504
+ {
3505
+ style: {
3506
+ marginBottom: 0
3507
+ }
3508
+ },
3509
+ /* @__PURE__ */ import_react45.default.createElement(
3510
+ import_antd36.Button,
3511
+ {
3512
+ type: "primary",
3513
+ size: "large",
3514
+ htmlType: "submit",
3515
+ loading: isPending,
3516
+ block: true
3517
+ },
3518
+ translate("pages.register.buttons.submit", "Sign up")
3519
+ )
3520
+ )
3521
+ ),
3522
+ hideForm && loginLink !== false && /* @__PURE__ */ import_react45.default.createElement(
3523
+ "div",
3524
+ {
3525
+ style: {
3526
+ marginTop: hideForm ? 16 : 8
3527
+ }
3528
+ },
3529
+ /* @__PURE__ */ import_react45.default.createElement(
3530
+ import_antd36.Typography.Text,
3531
+ {
3532
+ style: {
3533
+ fontSize: 12
3534
+ }
3535
+ },
3536
+ translate(
3537
+ "pages.register.buttons.haveAccount",
3538
+ translate("pages.login.buttons.haveAccount", "Have an account?")
3539
+ ),
3540
+ " ",
3541
+ /* @__PURE__ */ import_react45.default.createElement(
3542
+ Link,
3543
+ {
3544
+ style: {
3545
+ fontWeight: "bold",
3546
+ color: token.colorPrimaryTextHover
3547
+ },
3548
+ to: "/login"
3549
+ },
3550
+ translate(
3551
+ "pages.register.signin",
3552
+ translate("pages.login.signin", "Sign in")
3553
+ )
3554
+ )
3555
+ )
3556
+ )
3557
+ );
3558
+ return /* @__PURE__ */ import_react45.default.createElement(import_antd36.Layout, { style: layoutStyles, ...wrapperProps ?? {} }, /* @__PURE__ */ import_react45.default.createElement(
3559
+ import_antd36.Row,
3560
+ {
3561
+ justify: "center",
3562
+ align: hideForm ? "top" : "middle",
3563
+ style: {
3564
+ padding: "16px 0",
3565
+ minHeight: "100dvh",
3566
+ paddingTop: hideForm ? "15dvh" : "16px"
3567
+ }
3568
+ },
3569
+ /* @__PURE__ */ import_react45.default.createElement(import_antd36.Col, { xs: 22 }, renderContent ? renderContent(CardContent, PageTitle) : /* @__PURE__ */ import_react45.default.createElement(import_react45.default.Fragment, null, PageTitle, CardContent))
3570
+ ));
3571
+ }, "RegisterPage");
3572
+
3573
+ // src/components/pages/auth/components/forgotPassword/index.tsx
3574
+ var import_react46 = __toESM(require("react"));
3575
+ var import_core40 = require("@refinedev/core");
3576
+ var import_antd37 = require("antd");
3577
+ var import_core41 = require("@refinedev/core");
3578
+ var ForgotPasswordPage = /* @__PURE__ */ __name(({
3579
+ loginLink,
3580
+ wrapperProps,
3581
+ contentProps,
3582
+ renderContent,
3583
+ formProps,
3584
+ title,
3585
+ mutationVariables
3586
+ }) => {
3587
+ const { token } = import_antd37.theme.useToken();
3588
+ const [form] = import_antd37.Form.useForm();
3589
+ const translate = (0, import_core41.useTranslate)();
3590
+ const Link = (0, import_core40.useLink)();
3591
+ const { mutate: forgotPassword, isPending } = (0, import_core41.useForgotPassword)();
3592
+ const PageTitle = title === false ? null : /* @__PURE__ */ import_react46.default.createElement(
3593
+ "div",
3594
+ {
3595
+ style: {
3596
+ display: "flex",
3597
+ justifyContent: "center",
3598
+ marginBottom: "32px",
3599
+ fontSize: "20px"
3600
+ }
3601
+ },
3602
+ title ?? /* @__PURE__ */ import_react46.default.createElement(ThemedTitle, { collapsed: false })
3603
+ );
3604
+ const CardTitle = /* @__PURE__ */ import_react46.default.createElement(
3605
+ import_antd37.Typography.Title,
3606
+ {
3607
+ level: 3,
3608
+ style: {
3609
+ color: token.colorPrimaryTextHover,
3610
+ ...titleStyles
3611
+ }
3612
+ },
3613
+ translate("pages.forgotPassword.title", "Forgot your password?")
3614
+ );
3615
+ const CardContent = /* @__PURE__ */ import_react46.default.createElement(
3616
+ import_antd37.Card,
3617
+ {
3618
+ title: CardTitle,
3619
+ styles: {
3620
+ header: headStyles,
3621
+ body: bodyStyles
3622
+ },
3623
+ style: {
3624
+ ...containerStyles,
3625
+ backgroundColor: token.colorBgElevated
3626
+ },
3627
+ ...contentProps ?? {}
3628
+ },
3629
+ /* @__PURE__ */ import_react46.default.createElement(
3630
+ import_antd37.Form,
3631
+ {
3632
+ layout: "vertical",
3633
+ form,
3634
+ onFinish: (values) => forgotPassword({ ...values, ...mutationVariables }),
3635
+ requiredMark: false,
3636
+ ...formProps
3637
+ },
3638
+ /* @__PURE__ */ import_react46.default.createElement(
3639
+ import_antd37.Form.Item,
3640
+ {
3641
+ name: "email",
3642
+ label: translate("pages.forgotPassword.fields.email", "Email"),
3643
+ rules: [
3644
+ {
3645
+ required: true,
3646
+ message: translate(
3647
+ "pages.forgotPassword.errors.requiredEmail",
3648
+ "Email is required"
3649
+ )
3650
+ },
3651
+ {
3652
+ type: "email",
3653
+ message: translate(
3654
+ "pages.forgotPassword.errors.validEmail",
3655
+ "Invalid email address"
3656
+ )
3657
+ }
3658
+ ]
3659
+ },
3660
+ /* @__PURE__ */ import_react46.default.createElement(
3661
+ import_antd37.Input,
3662
+ {
3663
+ type: "email",
3664
+ size: "large",
3665
+ placeholder: translate(
3666
+ "pages.forgotPassword.fields.email",
3667
+ "Email"
3668
+ )
3669
+ }
3670
+ )
3671
+ ),
3672
+ /* @__PURE__ */ import_react46.default.createElement(
3673
+ "div",
3674
+ {
3675
+ style: {
3676
+ display: "flex",
3677
+ justifyContent: "space-between"
3678
+ }
3679
+ },
3680
+ loginLink ?? /* @__PURE__ */ import_react46.default.createElement(
3681
+ import_antd37.Typography.Text,
3682
+ {
3683
+ style: {
3684
+ fontSize: 12,
3685
+ marginLeft: "auto"
3686
+ }
3687
+ },
3688
+ translate(
3689
+ "pages.forgotPassword.buttons.haveAccount",
3690
+ translate(
3691
+ "pages.register.buttons.haveAccount",
3692
+ "Have an account? "
3693
+ )
3694
+ ),
3695
+ " ",
3696
+ /* @__PURE__ */ import_react46.default.createElement(
3697
+ Link,
3698
+ {
3699
+ style: {
3700
+ fontWeight: "bold",
3701
+ color: token.colorPrimaryTextHover
3702
+ },
3703
+ to: "/login"
3704
+ },
3705
+ translate(
3706
+ "pages.forgotPassword.signin",
3707
+ translate("pages.login.signin", "Sign in")
3708
+ )
3709
+ )
3710
+ )
3711
+ ),
3712
+ /* @__PURE__ */ import_react46.default.createElement(
3713
+ import_antd37.Form.Item,
3714
+ {
3715
+ style: {
3716
+ marginTop: "24px",
3717
+ marginBottom: 0
3718
+ }
3719
+ },
3720
+ /* @__PURE__ */ import_react46.default.createElement(
3721
+ import_antd37.Button,
3722
+ {
3723
+ type: "primary",
3724
+ size: "large",
3725
+ htmlType: "submit",
3726
+ loading: isPending,
3727
+ block: true
3728
+ },
3729
+ translate(
3730
+ "pages.forgotPassword.buttons.submit",
3731
+ "Send reset instructions"
3732
+ )
3733
+ )
3734
+ )
3735
+ )
3736
+ );
3737
+ return /* @__PURE__ */ import_react46.default.createElement(import_antd37.Layout, { style: layoutStyles, ...wrapperProps ?? {} }, /* @__PURE__ */ import_react46.default.createElement(
3738
+ import_antd37.Row,
3739
+ {
3740
+ justify: "center",
3741
+ align: "middle",
3742
+ style: {
3743
+ padding: "16px 0",
3744
+ minHeight: "100dvh"
3745
+ }
3746
+ },
3747
+ /* @__PURE__ */ import_react46.default.createElement(import_antd37.Col, { xs: 22 }, renderContent ? renderContent(CardContent, PageTitle) : /* @__PURE__ */ import_react46.default.createElement(import_react46.default.Fragment, null, PageTitle, CardContent))
3748
+ ));
3749
+ }, "ForgotPasswordPage");
3750
+
3751
+ // src/components/pages/auth/components/updatePassword/index.tsx
3752
+ var import_react47 = __toESM(require("react"));
3753
+ var import_antd38 = require("antd");
3754
+ var import_core42 = require("@refinedev/core");
3755
+ var UpdatePasswordPage = /* @__PURE__ */ __name(({
3756
+ wrapperProps,
3757
+ contentProps,
3758
+ renderContent,
3759
+ formProps,
3760
+ title,
3761
+ mutationVariables
3762
+ }) => {
3763
+ const { token } = import_antd38.theme.useToken();
3764
+ const [form] = import_antd38.Form.useForm();
3765
+ const translate = (0, import_core42.useTranslate)();
3766
+ const { mutate: updatePassword, isPending } = (0, import_core42.useUpdatePassword)();
3767
+ const PageTitle = title === false ? null : /* @__PURE__ */ import_react47.default.createElement(
3768
+ "div",
3769
+ {
3770
+ style: {
3771
+ display: "flex",
3772
+ justifyContent: "center",
3773
+ marginBottom: "32px",
3774
+ fontSize: "20px"
3775
+ }
3776
+ },
3777
+ title ?? /* @__PURE__ */ import_react47.default.createElement(ThemedTitle, { collapsed: false })
3778
+ );
3779
+ const CardTitle = /* @__PURE__ */ import_react47.default.createElement(
3780
+ import_antd38.Typography.Title,
3781
+ {
3782
+ level: 3,
3783
+ style: {
3784
+ color: token.colorPrimaryTextHover,
3785
+ ...titleStyles
3786
+ }
3787
+ },
3788
+ translate("pages.updatePassword.title", "Set New Password")
3789
+ );
3790
+ const CardContent = /* @__PURE__ */ import_react47.default.createElement(
3791
+ import_antd38.Card,
3792
+ {
3793
+ title: CardTitle,
3794
+ styles: {
3795
+ header: headStyles,
3796
+ body: bodyStyles
3797
+ },
3798
+ style: {
3799
+ ...containerStyles,
3800
+ backgroundColor: token.colorBgElevated
3801
+ },
3802
+ ...contentProps ?? {}
3803
+ },
3804
+ /* @__PURE__ */ import_react47.default.createElement(
3805
+ import_antd38.Form,
3806
+ {
3807
+ layout: "vertical",
3808
+ form,
3809
+ onFinish: (values) => updatePassword({ ...values, ...mutationVariables }),
3810
+ requiredMark: false,
3811
+ ...formProps
3812
+ },
3813
+ /* @__PURE__ */ import_react47.default.createElement(
3814
+ import_antd38.Form.Item,
3815
+ {
3816
+ name: "password",
3817
+ label: translate(
3818
+ "pages.updatePassword.fields.password",
3819
+ "New Password"
3820
+ ),
3821
+ rules: [
3822
+ {
3823
+ required: true,
3824
+ message: translate(
3825
+ "pages.updatePassword.errors.requiredPassword",
3826
+ "Password is required"
3827
+ )
3828
+ }
3829
+ ],
3830
+ style: { marginBottom: "12px" }
3831
+ },
3832
+ /* @__PURE__ */ import_react47.default.createElement(import_antd38.Input, { type: "password", placeholder: "\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF", size: "large" })
3833
+ ),
3834
+ /* @__PURE__ */ import_react47.default.createElement(
3835
+ import_antd38.Form.Item,
3836
+ {
3837
+ name: "confirmPassword",
3838
+ label: translate(
3839
+ "pages.updatePassword.fields.confirmPassword",
3840
+ "Confirm New Password"
3841
+ ),
3842
+ hasFeedback: true,
3843
+ dependencies: ["password"],
3844
+ rules: [
3845
+ {
3846
+ required: true,
3847
+ message: translate(
3848
+ "pages.updatePassword.errors.requiredConfirmPassword",
3849
+ "Confirm password is required"
3850
+ )
3851
+ },
3852
+ ({ getFieldValue }) => ({
3853
+ validator(_, value) {
3854
+ if (!value || getFieldValue("password") === value) {
3855
+ return Promise.resolve();
3856
+ }
3857
+ return Promise.reject(
3858
+ new Error(
3859
+ translate(
3860
+ "pages.updatePassword.errors.confirmPasswordNotMatch",
3861
+ "Passwords do not match"
3862
+ )
3863
+ )
3864
+ );
3865
+ }
3866
+ })
3867
+ ]
3868
+ },
3869
+ /* @__PURE__ */ import_react47.default.createElement(import_antd38.Input, { type: "password", placeholder: "\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF", size: "large" })
3870
+ ),
3871
+ /* @__PURE__ */ import_react47.default.createElement(
3872
+ import_antd38.Form.Item,
3873
+ {
3874
+ style: {
3875
+ marginBottom: 0
3876
+ }
3877
+ },
3878
+ /* @__PURE__ */ import_react47.default.createElement(
3879
+ import_antd38.Button,
3880
+ {
3881
+ type: "primary",
3882
+ size: "large",
3883
+ htmlType: "submit",
3884
+ loading: isPending,
3885
+ block: true
3886
+ },
3887
+ translate("pages.updatePassword.buttons.submit", "Update")
3888
+ )
3889
+ )
3890
+ )
3891
+ );
3892
+ return /* @__PURE__ */ import_react47.default.createElement(import_antd38.Layout, { style: layoutStyles, ...wrapperProps ?? {} }, /* @__PURE__ */ import_react47.default.createElement(
3893
+ import_antd38.Row,
3894
+ {
3895
+ justify: "center",
3896
+ align: "middle",
3897
+ style: {
3898
+ padding: "16px 0",
3899
+ minHeight: "100dvh"
3900
+ }
3901
+ },
3902
+ /* @__PURE__ */ import_react47.default.createElement(import_antd38.Col, { xs: 22 }, renderContent ? renderContent(CardContent, PageTitle) : /* @__PURE__ */ import_react47.default.createElement(import_react47.default.Fragment, null, PageTitle, CardContent))
3903
+ ));
3904
+ }, "UpdatePasswordPage");
3905
+
3906
+ // src/components/pages/auth/index.tsx
3907
+ var AuthPage = /* @__PURE__ */ __name((props) => {
3908
+ const { type } = props;
3909
+ const renderView = /* @__PURE__ */ __name(() => {
3910
+ switch (type) {
3911
+ case "register":
3912
+ return /* @__PURE__ */ import_react48.default.createElement(RegisterPage, { ...props });
3913
+ case "forgotPassword":
3914
+ return /* @__PURE__ */ import_react48.default.createElement(ForgotPasswordPage, { ...props });
3915
+ case "updatePassword":
3916
+ return /* @__PURE__ */ import_react48.default.createElement(UpdatePasswordPage, { ...props });
3917
+ default:
3918
+ return /* @__PURE__ */ import_react48.default.createElement(LoginPage, { ...props });
3919
+ }
3920
+ }, "renderView");
3921
+ return /* @__PURE__ */ import_react48.default.createElement(import_react48.default.Fragment, null, renderView());
3922
+ }, "AuthPage");
3923
+
3924
+ // src/components/breadcrumb/index.tsx
3925
+ var import_react49 = __toESM(require("react"));
3926
+ var import_core43 = require("@refinedev/core");
3927
+ var import_antd39 = require("antd");
3928
+ var import_icons16 = require("@ant-design/icons");
3929
+ var Breadcrumb = /* @__PURE__ */ __name(({
3930
+ breadcrumbProps,
3931
+ showHome = true,
3932
+ hideIcons = false,
3933
+ meta,
3934
+ minItems = 2
3935
+ }) => {
3936
+ const { breadcrumbs } = (0, import_core43.useBreadcrumb)({
3937
+ meta
3938
+ });
3939
+ const Link = (0, import_core43.useLink)();
3940
+ const { resources } = (0, import_core43.useResourceParams)();
3941
+ const rootRouteResource = (0, import_core43.matchResourceFromRoute)("/", resources);
3942
+ if (breadcrumbs.length < minItems)
3943
+ return null;
3944
+ const breadCrumbItems = breadcrumbs.map(({ label, icon, href }) => ({
3945
+ key: `breadcrumb-item-${label}`,
3946
+ title: /* @__PURE__ */ import_react49.default.createElement(
3947
+ "div",
3948
+ {
3949
+ style: {
3950
+ display: "flex",
3951
+ alignItems: "center",
3952
+ justifyContent: "center",
3953
+ gap: 4
3954
+ }
3955
+ },
3956
+ !hideIcons && icon,
3957
+ href ? /* @__PURE__ */ import_react49.default.createElement(Link, { to: href }, label) : /* @__PURE__ */ import_react49.default.createElement("span", null, label)
3958
+ )
3959
+ }));
3960
+ const getBreadcrumbItems = /* @__PURE__ */ __name(() => {
3961
+ var _a, _b;
3962
+ if (showHome && rootRouteResource.found) {
3963
+ return [
3964
+ {
3965
+ key: "breadcrumb-item-home",
3966
+ title: /* @__PURE__ */ import_react49.default.createElement(Link, { to: "/" }, ((_b = (_a = rootRouteResource == null ? void 0 : rootRouteResource.resource) == null ? void 0 : _a.meta) == null ? void 0 : _b.icon) ?? /* @__PURE__ */ import_react49.default.createElement(import_icons16.HomeOutlined, null))
3967
+ },
3968
+ ...breadCrumbItems
3969
+ ];
3970
+ }
3971
+ return breadCrumbItems;
3972
+ }, "getBreadcrumbItems");
3973
+ return /* @__PURE__ */ import_react49.default.createElement(import_antd39.Breadcrumb, { items: getBreadcrumbItems(), ...breadcrumbProps });
3974
+ }, "Breadcrumb");
3975
+
3976
+ // src/components/pageHeader/index.tsx
3977
+ var import_react50 = __toESM(require("react"));
3978
+ var import_pro_layout = require("@ant-design/pro-layout");
3979
+ var import_antd40 = require("antd");
3980
+ var import_icons17 = require("@ant-design/icons");
3981
+ var import_ui_types11 = require("@refinedev/ui-types");
3982
+ var PageHeader = /* @__PURE__ */ __name(({ children, ...props }) => {
3983
+ var _a;
3984
+ const direction = (_a = (0, import_react50.useContext)(import_antd40.ConfigProvider.ConfigContext)) == null ? void 0 : _a.direction;
3985
+ const renderBackButton = /* @__PURE__ */ __name(() => {
3986
+ const BackIcon = direction === "rtl" ? import_icons17.ArrowRightOutlined : import_icons17.ArrowLeftOutlined;
3987
+ return /* @__PURE__ */ import_react50.default.createElement(import_antd40.Button, { type: "text", icon: /* @__PURE__ */ import_react50.default.createElement(BackIcon, null) });
3988
+ }, "renderBackButton");
3989
+ const backIcon = typeof props.backIcon === "undefined" ? renderBackButton() : props.backIcon;
3990
+ const title = typeof props.title === "string" ? /* @__PURE__ */ import_react50.default.createElement(
3991
+ import_antd40.Typography.Title,
3992
+ {
3993
+ className: import_ui_types11.RefinePageHeaderClassNames.Title,
3994
+ level: 4,
3995
+ style: { marginBottom: 0 }
3996
+ },
3997
+ props.title
3998
+ ) : props.title;
3999
+ const subtitle = typeof props.title === "string" ? /* @__PURE__ */ import_react50.default.createElement(
4000
+ import_antd40.Typography.Title,
4001
+ {
4002
+ className: import_ui_types11.RefinePageHeaderClassNames.SubTitle,
4003
+ level: 5,
4004
+ type: "secondary",
4005
+ style: { marginBottom: 0 }
4006
+ },
4007
+ props.subTitle
4008
+ ) : props.subTitle;
4009
+ return /* @__PURE__ */ import_react50.default.createElement(
4010
+ import_pro_layout.PageHeader,
4011
+ {
4012
+ ...props,
4013
+ backIcon,
4014
+ title,
4015
+ subTitle: subtitle,
4016
+ style: { padding: 0, ...props.style }
4017
+ },
4018
+ children
4019
+ );
4020
+ }, "PageHeader");
4021
+
4022
+ // src/components/autoSaveIndicator/index.tsx
4023
+ var import_react51 = __toESM(require("react"));
4024
+ var import_core44 = require("@refinedev/core");
4025
+ var import_antd41 = require("antd");
4026
+ var import_icons18 = require("@ant-design/icons");
4027
+ var AutoSaveIndicator = /* @__PURE__ */ __name(({
4028
+ status,
4029
+ elements: {
4030
+ success = /* @__PURE__ */ import_react51.default.createElement(
4031
+ Message,
4032
+ {
4033
+ translationKey: "autoSave.success",
4034
+ defaultMessage: "saved",
4035
+ icon: /* @__PURE__ */ import_react51.default.createElement(import_icons18.CheckCircleOutlined, null)
4036
+ }
4037
+ ),
4038
+ error = /* @__PURE__ */ import_react51.default.createElement(
4039
+ Message,
4040
+ {
4041
+ translationKey: "autoSave.error",
4042
+ defaultMessage: "auto save failure",
4043
+ icon: /* @__PURE__ */ import_react51.default.createElement(import_icons18.ExclamationCircleOutlined, null)
4044
+ }
4045
+ ),
4046
+ loading = /* @__PURE__ */ import_react51.default.createElement(
4047
+ Message,
4048
+ {
4049
+ translationKey: "autoSave.loading",
4050
+ defaultMessage: "saving...",
4051
+ icon: /* @__PURE__ */ import_react51.default.createElement(import_icons18.SyncOutlined, null)
4052
+ }
4053
+ ),
4054
+ idle = /* @__PURE__ */ import_react51.default.createElement(
4055
+ Message,
4056
+ {
4057
+ translationKey: "autoSave.idle",
4058
+ defaultMessage: "waiting for changes",
4059
+ icon: /* @__PURE__ */ import_react51.default.createElement(import_icons18.EllipsisOutlined, null)
4060
+ }
4061
+ )
4062
+ } = {}
4063
+ }) => {
4064
+ return /* @__PURE__ */ import_react51.default.createElement(
4065
+ import_core44.AutoSaveIndicator,
4066
+ {
4067
+ status,
4068
+ elements: {
4069
+ success,
4070
+ error,
4071
+ loading,
4072
+ idle
4073
+ }
4074
+ }
4075
+ );
4076
+ }, "AutoSaveIndicator");
4077
+ var Message = /* @__PURE__ */ __name(({
4078
+ translationKey,
4079
+ defaultMessage,
4080
+ icon
4081
+ }) => {
4082
+ const translate = (0, import_core44.useTranslate)();
4083
+ const { token } = import_antd41.theme.useToken();
4084
+ return /* @__PURE__ */ import_react51.default.createElement(
4085
+ import_antd41.Typography.Text,
4086
+ {
4087
+ style: {
4088
+ marginRight: 5,
4089
+ color: token.colorTextTertiary,
4090
+ fontSize: ".8rem"
4091
+ }
4092
+ },
4093
+ translate(translationKey, defaultMessage),
4094
+ /* @__PURE__ */ import_react51.default.createElement("span", { style: { marginLeft: ".2rem" } }, icon)
4095
+ );
4096
+ }, "Message");
4097
+
4098
+ // src/definitions/filter-mappers/index.ts
4099
+ var import_dayjs3 = __toESM(require("dayjs"));
4100
+ var rangePickerFilterMapper = /* @__PURE__ */ __name((selectedKeys, event) => {
4101
+ if (!selectedKeys) {
4102
+ return selectedKeys;
4103
+ }
4104
+ if (event === "value") {
4105
+ return selectedKeys.map((key) => {
4106
+ if (typeof key === "string") {
4107
+ return (0, import_dayjs3.default)(key);
4108
+ }
4109
+ return key;
4110
+ });
4111
+ }
4112
+ if (event === "onChange") {
4113
+ if (selectedKeys.every(import_dayjs3.default.isDayjs)) {
4114
+ return selectedKeys.map((date) => (0, import_dayjs3.default)(date).toISOString());
4115
+ }
4116
+ }
4117
+ return selectedKeys;
4118
+ }, "rangePickerFilterMapper");
4119
+
4120
+ // src/definitions/upload/index.ts
4121
+ var getValueFromEvent = /* @__PURE__ */ __name((event) => {
4122
+ const { fileList } = event;
4123
+ return [...fileList];
4124
+ }, "getValueFromEvent");
4125
+
4126
+ // src/definitions/themes/index.ts
4127
+ var RefineThemes = {
4128
+ Blue: {
4129
+ token: {
4130
+ colorPrimary: "#1677FF"
4131
+ }
4132
+ },
4133
+ Purple: {
4134
+ token: {
4135
+ colorPrimary: "#722ED1"
4136
+ }
4137
+ },
4138
+ Magenta: {
4139
+ token: {
4140
+ colorPrimary: "#EB2F96"
4141
+ }
4142
+ },
4143
+ Red: {
4144
+ token: {
4145
+ colorPrimary: "#F5222D"
4146
+ }
4147
+ },
4148
+ Orange: {
4149
+ token: {
4150
+ colorPrimary: "#FA541C"
4151
+ }
4152
+ },
4153
+ Yellow: {
4154
+ token: {
4155
+ colorPrimary: "#FAAD14"
4156
+ }
4157
+ },
4158
+ Green: {
4159
+ token: {
4160
+ colorPrimary: "#52C41A"
4161
+ }
4162
+ }
4163
+ };
3
4164
  //# sourceMappingURL=index.cjs.map