@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/CHANGELOG.md +11 -0
- package/dist/index.cjs +4162 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +4331 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
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
|