dydx-naive-ui-for-vue 0.1.2
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/README.md +75 -0
- package/dist/dydx-naive-ui-for-vue.css +2 -0
- package/dist/dydx-naive-ui-for-vue.js +1758 -0
- package/dist/dydx-naive-ui-for-vue.umd.cjs +1 -0
- package/dist/types/components/FormModal/index.d.ts +4 -0
- package/dist/types/components/FormModal/src/DydxFormDrawer.vue.d.ts +63 -0
- package/dist/types/components/FormModal/src/DydxFormModal.vue.d.ts +61 -0
- package/dist/types/components/FormModal/types.d.ts +27 -0
- package/dist/types/components/IconSelect/index.d.ts +3 -0
- package/dist/types/components/IconSelect/src/DydxIconSelect.vue.d.ts +20 -0
- package/dist/types/components/IconSelect/types.d.ts +9 -0
- package/dist/types/components/NaiveForm/index.d.ts +83 -0
- package/dist/types/components/NaiveForm/src/DydxNaiveForm.vue.d.ts +39 -0
- package/dist/types/components/NaiveForm/types/expose.d.ts +13 -0
- package/dist/types/components/NaiveForm/types/index.d.ts +3 -0
- package/dist/types/components/NaiveForm/types/props.d.ts +75 -0
- package/dist/types/components/NaiveForm/types/schema.d.ts +118 -0
- package/dist/types/components/NaiveForm/utils/component-map.d.ts +2 -0
- package/dist/types/components/NaiveForm/utils/path.d.ts +2 -0
- package/dist/types/components/NaiveTable/composables/index.d.ts +4 -0
- package/dist/types/components/NaiveTable/composables/useColumnRender.d.ts +24 -0
- package/dist/types/components/NaiveTable/composables/useColumns.d.ts +34 -0
- package/dist/types/components/NaiveTable/composables/usePagination.d.ts +23 -0
- package/dist/types/components/NaiveTable/composables/useTableActions.d.ts +15 -0
- package/dist/types/components/NaiveTable/index.d.ts +53 -0
- package/dist/types/components/NaiveTable/src/DydxNaiveTable.vue.d.ts +26 -0
- package/dist/types/components/NaiveTable/types/columns.d.ts +155 -0
- package/dist/types/components/NaiveTable/types/expose.d.ts +24 -0
- package/dist/types/components/NaiveTable/types/index.d.ts +3 -0
- package/dist/types/components/NaiveTable/types/props.d.ts +132 -0
- package/dist/types/components/NaiveUpload/index.d.ts +4 -0
- package/dist/types/components/NaiveUpload/src/DydxUpload.vue.d.ts +4568 -0
- package/dist/types/components/NaiveUpload/types.d.ts +43 -0
- package/dist/types/index.d.ts +16 -0
- package/dist/vite.svg +1 -0
- package/dist/volar.d.ts +13 -0
- package/package.json +69 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(V,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("naive-ui"),require("vue"),require("@vicons/ionicons5")):typeof define=="function"&&define.amd?define(["exports","naive-ui","vue","@vicons/ionicons5"],l):(V=typeof globalThis<"u"?globalThis:V||self,l(V.DydxNaiveUI={},V.NaiveUI,V.Vue,V.__vicons_ionicons5))})(this,function(V,l,e,I){Object.defineProperty(V,"__esModule",{value:!0});var $e=Object.create,ne=Object.defineProperty,Ue=Object.getOwnPropertyDescriptor,Ae=Object.getOwnPropertyNames,Ee=Object.getPrototypeOf,je=Object.prototype.hasOwnProperty,Me=(t,r,o,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(var n=Ae(r),c=0,d=n.length,h;c<d;c++)h=n[c],!je.call(t,h)&&h!==o&&ne(t,h,{get:(y=>r[y]).bind(null,h),enumerable:!(a=Ue(r,h))||a.enumerable});return t},Ge=(t,r,o)=>(o=t!=null?$e(Ee(t)):{},Me(r||!t||!t.__esModule?ne(o,"default",{value:t,enumerable:!0}):o,t));I=Ge(I);var Le={style:{"margin-bottom":"12px"}},Ke=(0,e.defineComponent)({name:"DydxUpload",__name:"DydxUpload",props:{uploadType:{default:"file"},fileList:{default:()=>[]},customUpload:{},acceptTypes:{},maxSize:{default:10},maxCount:{default:void 0},multiple:{type:Boolean,default:!1},autoUpload:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},urlPrefix:{default:""},showTip:{type:Boolean,default:!0},showDragger:{type:Boolean,default:!0}},emits:["update:fileList","success","error","exceed","beforeUpload"],setup(t,{expose:r,emit:o}){const a=t,n=o,c=(0,l.useMessage)(),d=(0,e.ref)(),h=(0,e.computed)(()=>a.listType?a.listType:a.uploadType==="image"?"image-card":"text"),y=(0,e.computed)(()=>a.urlPrefix?a.fileList.map(g=>({...g,url:g.url&&!g.url.startsWith("http")?a.urlPrefix+g.url:g.url})):a.fileList),b=(0,e.computed)(()=>{const g=[];return a.acceptTypes?.length&&g.push(`支持格式:${a.acceptTypes.join(", ")}`),a.maxSize&&g.push(`单个文件不超过 ${a.maxSize}MB`),a.maxCount&&g.push(`最多 ${a.maxCount} 个文件`),g.join(";")}),C=(0,e.computed)(()=>{if(a.accept)return a.accept;if(a.acceptTypes?.length)return a.acceptTypes.join(",");if(a.uploadType==="image")return"image/*"}),k=(0,e.computed)(()=>{const{uploadType:g,fileList:S,customUpload:D,acceptTypes:p,maxSize:i,maxCount:u,multiple:x,autoUpload:z,disabled:A,urlPrefix:F,showTip:Y,showDragger:s,...T}=a;return T}),N=g=>{n("update:fileList",a.urlPrefix?g.map(S=>({...S,url:S.url?.startsWith(a.urlPrefix)?S.url.slice(a.urlPrefix.length):S.url})):g)},_=async({file:g})=>{n("beforeUpload",g);const S=g.file;return S?a.maxSize&&S.size>a.maxSize*1024*1024?(c.error(`文件大小不能超过 ${a.maxSize}MB`),!1):a.acceptTypes?.length&&!a.acceptTypes.some(D=>{if(D.startsWith("."))return S.name.toLowerCase().endsWith(D.toLowerCase());if(D.includes("*")){const[p]=D.split("/");return S.type.startsWith(p)}return S.type===D})?(c.error(`只支持 ${a.acceptTypes.join(", ")} 格式`),!1):a.maxCount&&a.fileList.length>=a.maxCount?(n("exceed",[S]),c.error(`最多上传 ${a.maxCount} 个文件`),!1):!0:!0},O=async g=>{const{file:S,onProgress:D,onFinish:p,onError:i}=g;if(!a.customUpload){console.warn("DydxUpload: customUpload 方法未提供"),i();return}try{S.url=await a.customUpload(S.file,u=>{D({percent:u})}),S.status="finished",p(),n("success",S)}catch(u){i(),n("error",S,u)}},R=()=>{d.value?.submit()};return r({submit:()=>d.value?.submit(),openDialog:()=>d.value?.openOpenFileDialog(),clear:()=>d.value?.clear()}),(g,S)=>{const D=l.NIcon,p=l.NText,i=l.NUploadDragger,u=l.NButton,x=l.NUpload;return(0,e.openBlock)(),(0,e.createElementBlock)("div",null,[(0,e.createVNode)(x,(0,e.mergeProps)({ref_key:"uploadRef",ref:d},k.value,{"file-list":y.value,"custom-request":O,accept:C.value,max:t.maxCount,multiple:t.multiple,disabled:t.disabled,"default-upload":t.autoUpload,"list-type":h.value,"onUpdate:fileList":N,onBeforeUpload:_}),{default:(0,e.withCtx)(()=>[t.showDragger&&t.uploadType!=="image"?((0,e.openBlock)(),(0,e.createBlock)(i,{key:0},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)("div",Le,[(0,e.createVNode)(D,{size:"48",depth:3},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(I.CloudUploadOutline))]),_:1})]),(0,e.createVNode)(p,{style:{"font-size":"16px"}},{default:(0,e.withCtx)(()=>[...S[0]||(S[0]=[(0,e.createTextVNode)(" 点击或拖拽文件到此区域上传 ",-1)])]),_:1}),t.showTip?((0,e.openBlock)(),(0,e.createBlock)(p,{key:0,depth:"3",style:{"font-size":"14px","margin-top":"8px",display:"block"}},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(b.value),1)]),_:1})):(0,e.createCommentVNode)("",!0)]),_:1})):(0,e.renderSlot)(g.$slots,"default",{key:1},()=>[t.uploadType==="image"&&h.value==="image-card"?((0,e.openBlock)(),(0,e.createBlock)(D,{key:0,size:28},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(I.AddOutline))]),_:1})):((0,e.openBlock)(),(0,e.createBlock)(u,{key:1},{icon:(0,e.withCtx)(()=>[(0,e.createVNode)(D,null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(I.CloudUploadOutline))]),_:1})]),default:(0,e.withCtx)(()=>[(0,e.createTextVNode)(" "+(0,e.toDisplayString)(t.uploadType==="image"?"上传图片":"上传文件"),1)]),_:1}))])]),_:3},16,["file-list","accept","max","multiple","disabled","default-upload","list-type"]),!t.autoUpload&&y.value.length>0?((0,e.openBlock)(),(0,e.createBlock)(u,{key:0,type:"primary",onClick:R,style:{"margin-top":"8px"}},{default:(0,e.withCtx)(()=>[...S[1]||(S[1]=[(0,e.createTextVNode)(" 开始上传 ",-1)])]),_:1})):(0,e.createCommentVNode)("",!0),t.showTip&&!(t.showDragger&&t.uploadType!=="image")?((0,e.openBlock)(),(0,e.createBlock)(p,{key:1,depth:"3",style:{"font-size":"12px","margin-top":"8px",display:"block"}},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(b.value),1)]),_:1})):(0,e.createCommentVNode)("",!0)])}}}),H=Ke,He=(0,e.defineComponent)({name:"DydxIconSelect",__name:"DydxIconSelect",props:{value:{},placeholder:{default:"请选择图标"},disabled:{type:Boolean},clearable:{type:Boolean,default:!0},filterable:{type:Boolean,default:!0},iconStyle:{default:"outline"}},emits:["update:value"],setup(t,{emit:r}){const o=t,a=r,n=Object.keys(I),c=(0,e.computed)(()=>{let b=n;return o.iconStyle==="outline"?b=n.filter(C=>C.endsWith("Outline")):o.iconStyle==="sharp"?b=n.filter(C=>C.endsWith("Sharp")):o.iconStyle==="filled"&&(b=n.filter(C=>!C.endsWith("Outline")&&!C.endsWith("Sharp"))),b.map(C=>({label:C,value:C}))}),d=b=>{const C=I[b.value];return(0,e.h)("div",{style:"display: flex; align-items: center; gap: 8px;"},[(0,e.h)(l.NIcon,{size:18},()=>(0,e.h)(C)),(0,e.h)("span",{style:"flex: 1; overflow: hidden; text-overflow: ellipsis;"},b.label)])},h=({option:b})=>{const C=I[b.value];return(0,e.h)("div",{style:"display: flex; align-items: center; gap: 4px;"},[(0,e.h)(l.NIcon,{size:16},()=>(0,e.h)(C)),b.label])},y=b=>{a("update:value",b)};return(b,C)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(l.NSelect),{value:t.value,options:c.value,placeholder:t.placeholder,disabled:t.disabled,clearable:t.clearable,filterable:t.filterable,"render-label":d,"render-tag":h,"virtual-scroll":"","onUpdate:value":y},null,8,["value","options","placeholder","disabled","clearable","filterable"]))}}),X=He;const We={input:l.NInput,"input-number":l.NInputNumber,select:l.NSelect,"date-picker":l.NDatePicker,"time-picker":l.NTimePicker,switch:l.NSwitch,slider:l.NSlider,"radio-group":l.NRadioGroup,"checkbox-group":l.NCheckboxGroup,cascader:l.NCascader,"tree-select":l.NTreeSelect,upload:l.NUpload,rate:l.NRate,"color-picker":l.NColorPicker,"auto-complete":l.NAutoComplete,"dynamic-input":l.NDynamicInput,"dynamic-tags":l.NDynamicTags,mention:l.NMention,"image-upload":H,"file-upload":H,"icon-select":X};var qe=typeof global=="object"&&global&&global.Object===Object&&global,Je=qe,Qe=typeof self=="object"&&self&&self.Object===Object&&self,Ye=Je||Qe||Function("return this")(),Z=Ye,Xe=Z.Symbol,E=Xe,ie=Object.prototype,Ze=ie.hasOwnProperty,ve=ie.toString,L=E?E.toStringTag:void 0;function et(t){var r=Ze.call(t,L),o=t[L];try{t[L]=void 0;var a=!0}catch{}var n=ve.call(t);return a&&(r?t[L]=o:delete t[L]),n}var tt=et,rt=Object.prototype.toString;function at(t){return rt.call(t)}var ot=at,lt="[object Null]",nt="[object Undefined]",se=E?E.toStringTag:void 0;function it(t){return t==null?t===void 0?nt:lt:se&&se in Object(t)?tt(t):ot(t)}var de=it;function st(t){return t!=null&&typeof t=="object"}var dt=st,ct="[object Symbol]";function ft(t){return typeof t=="symbol"||dt(t)&&de(t)==ct}var v=ft;function pt(t,r){for(var o=-1,a=t==null?0:t.length,n=Array(a);++o<a;)n[o]=r(t[o],o,t);return n}var ut=pt,mt=Array.isArray,ee=mt,ht=1/0,ce=E?E.prototype:void 0,fe=ce?ce.toString:void 0;function pe(t){if(typeof t=="string")return t;if(ee(t))return ut(t,pe)+"";if(v(t))return fe?fe.call(t):"";var r=t+"";return r=="0"&&1/t==-ht?"-0":r}var yt=pe;function gt(t){var r=typeof t;return t!=null&&(r=="object"||r=="function")}var W=gt,bt="[object AsyncFunction]",Ct="[object Function]",wt="[object GeneratorFunction]",xt="[object Proxy]";function kt(t){if(!W(t))return!1;var r=de(t);return r==Ct||r==wt||r==bt||r==xt}var Nt=kt,_t=Z["__core-js_shared__"],te=_t,ue=(function(){var t=/[^.]+$/.exec(te&&te.keys&&te.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function St(t){return!!ue&&ue in t}var Bt=St,Tt=Function.prototype.toString;function Pt(t){if(t!=null){try{return Tt.call(t)}catch{}try{return t+""}catch{}}return""}var Dt=Pt,Vt=/[\\^$.*+?()[\]{}|]/g,Ft=/^\[object .+?Constructor\]$/,Ot=Function.prototype,zt=Object.prototype,It=Ot.toString,Rt=zt.hasOwnProperty,$t=RegExp("^"+It.call(Rt).replace(Vt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ut(t){return!W(t)||Bt(t)?!1:(Nt(t)?$t:Ft).test(Dt(t))}var At=Ut;function Et(t,r){return t?.[r]}var jt=Et;function Mt(t,r){var o=jt(t,r);return At(o)?o:void 0}var re=Mt,Gt=(function(){try{var t=re(Object,"defineProperty");return t({},"",{}),t}catch{}})(),me=Gt,Lt=9007199254740991,Kt=/^(?:0|[1-9]\d*)$/;function Ht(t,r){var o=typeof t;return r=r??Lt,!!r&&(o=="number"||o!="symbol"&&Kt.test(t))&&t>-1&&t%1==0&&t<r}var Wt=Ht;function qt(t,r,o){r=="__proto__"&&me?me(t,r,{configurable:!0,enumerable:!0,value:o,writable:!0}):t[r]=o}var Jt=qt;function Qt(t,r){return t===r||t!==t&&r!==r}var he=Qt,Yt=Object.prototype.hasOwnProperty;function Xt(t,r,o){var a=t[r];(!(Yt.call(t,r)&&he(a,o))||o===void 0&&!(r in t))&&Jt(t,r,o)}var Zt=Xt,vt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,er=/^\w*$/;function tr(t,r){if(ee(t))return!1;var o=typeof t;return o=="number"||o=="symbol"||o=="boolean"||t==null||v(t)?!0:er.test(t)||!vt.test(t)||r!=null&&t in Object(r)}var rr=tr,ar=re(Object,"create"),K=ar;function or(){this.__data__=K?K(null):{},this.size=0}var lr=or;function nr(t){var r=this.has(t)&&delete this.__data__[t];return this.size-=r?1:0,r}var ir=nr,sr="__lodash_hash_undefined__",dr=Object.prototype.hasOwnProperty;function cr(t){var r=this.__data__;if(K){var o=r[t];return o===sr?void 0:o}return dr.call(r,t)?r[t]:void 0}var fr=cr,pr=Object.prototype.hasOwnProperty;function ur(t){var r=this.__data__;return K?r[t]!==void 0:pr.call(r,t)}var mr=ur,hr="__lodash_hash_undefined__";function yr(t,r){var o=this.__data__;return this.size+=this.has(t)?0:1,o[t]=K&&r===void 0?hr:r,this}var gr=yr;function j(t){var r=-1,o=t==null?0:t.length;for(this.clear();++r<o;){var a=t[r];this.set(a[0],a[1])}}j.prototype.clear=lr,j.prototype.delete=ir,j.prototype.get=fr,j.prototype.has=mr,j.prototype.set=gr;var ye=j;function br(){this.__data__=[],this.size=0}var Cr=br;function wr(t,r){for(var o=t.length;o--;)if(he(t[o][0],r))return o;return-1}var q=wr,xr=Array.prototype.splice;function kr(t){var r=this.__data__,o=q(r,t);return o<0?!1:(o==r.length-1?r.pop():xr.call(r,o,1),--this.size,!0)}var Nr=kr;function _r(t){var r=this.__data__,o=q(r,t);return o<0?void 0:r[o][1]}var Sr=_r;function Br(t){return q(this.__data__,t)>-1}var Tr=Br;function Pr(t,r){var o=this.__data__,a=q(o,t);return a<0?(++this.size,o.push([t,r])):o[a][1]=r,this}var Dr=Pr;function M(t){var r=-1,o=t==null?0:t.length;for(this.clear();++r<o;){var a=t[r];this.set(a[0],a[1])}}M.prototype.clear=Cr,M.prototype.delete=Nr,M.prototype.get=Sr,M.prototype.has=Tr,M.prototype.set=Dr;var Vr=M,Fr=re(Z,"Map"),Or=Fr;function zr(){this.size=0,this.__data__={hash:new ye,map:new(Or||Vr),string:new ye}}var Ir=zr;function Rr(t){var r=typeof t;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?t!=="__proto__":t===null}var $r=Rr;function Ur(t,r){var o=t.__data__;return $r(r)?o[typeof r=="string"?"string":"hash"]:o.map}var J=Ur;function Ar(t){var r=J(this,t).delete(t);return this.size-=r?1:0,r}var Er=Ar;function jr(t){return J(this,t).get(t)}var Mr=jr;function Gr(t){return J(this,t).has(t)}var Lr=Gr;function Kr(t,r){var o=J(this,t),a=o.size;return o.set(t,r),this.size+=o.size==a?0:1,this}var Hr=Kr;function G(t){var r=-1,o=t==null?0:t.length;for(this.clear();++r<o;){var a=t[r];this.set(a[0],a[1])}}G.prototype.clear=Ir,G.prototype.delete=Er,G.prototype.get=Mr,G.prototype.has=Lr,G.prototype.set=Hr;var ge=G,Wr="Expected a function";function ae(t,r){if(typeof t!="function"||r!=null&&typeof r!="function")throw new TypeError(Wr);var o=function(){var a=arguments,n=r?r.apply(this,a):a[0],c=o.cache;if(c.has(n))return c.get(n);var d=t.apply(this,a);return o.cache=c.set(n,d)||c,d};return o.cache=new(ae.Cache||ge),o}ae.Cache=ge;var qr=ae,Jr=500;function Qr(t){var r=qr(t,function(a){return o.size===Jr&&o.clear(),a}),o=r.cache;return r}var Yr=Qr,Xr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Zr=/\\(\\)?/g,vr=Yr(function(t){var r=[];return t.charCodeAt(0)===46&&r.push(""),t.replace(Xr,function(o,a,n,c){r.push(n?c.replace(Zr,"$1"):a||o)}),r}),ea=vr;function ta(t){return t==null?"":yt(t)}var ra=ta;function aa(t,r){return ee(t)?t:rr(t,r)?[t]:ea(ra(t))}var be=aa,oa=1/0;function la(t){if(typeof t=="string"||v(t))return t;var r=t+"";return r=="0"&&1/t==-oa?"-0":r}var Ce=la;function na(t,r){r=be(r,t);for(var o=0,a=r.length;t!=null&&o<a;)t=t[Ce(r[o++])];return o&&o==a?t:void 0}var ia=na;function sa(t,r,o){var a=t==null?void 0:ia(t,r);return a===void 0?o:a}var da=sa;function ca(t,r,o,a){if(!W(t))return t;r=be(r,t);for(var n=-1,c=r.length,d=c-1,h=t;h!=null&&++n<c;){var y=Ce(r[n]),b=o;if(y==="__proto__"||y==="constructor"||y==="prototype")return t;if(n!=d){var C=h[y];b=a?a(C,y,h):void 0,b===void 0&&(b=W(C)?C:Wt(r[n+1])?[]:{})}Zt(h,y,b),h=h[y]}return t}var fa=ca;function pa(t,r,o){return t==null?t:fa(t,r,o)}var ua=pa;const we=(t,r)=>da(t,r),ma=(t,r,o)=>{ua(t,r,o)};var ha=(0,e.defineComponent)({name:"DydxNaiveForm",__name:"DydxNaiveForm",props:{schemas:{default:()=>[]},model:{},formProps:{},labelWidth:{},labelAlign:{},labelPlacement:{default:"top"},showFeedback:{type:Boolean,default:!0},showLabel:{type:Boolean,default:!0},showRequireMark:{type:Boolean,default:!0},requireMarkPlacement:{default:"right"},gridProps:{},cols:{default:()=>({xs:24,s:12,m:8,l:6})},xGap:{default:20},yGap:{default:20},responsive:{},showFooter:{type:Boolean,default:!0},footerAlign:{default:"right"},footerSpan:{default:24},submitButton:{default:()=>({})},resetButton:{default:()=>({})},extraButtons:{default:()=>[]},loading:{type:Boolean,default:!1}},emits:["update:model","submit","reset","validate"],setup(t,{expose:r,emit:o}){const a=t,n=o,c=(0,e.ref)(),d=(0,e.computed)(()=>({type:"primary",text:"提交",loading:a.loading,...a.submitButton})),h=(0,e.computed)(()=>({type:"default",text:"重置",...a.resetButton})),y=(0,e.computed)(()=>a.schemas.filter(s=>!(typeof s.hidden=="function"?s.hidden(a.model):s.hidden))),b=(0,e.computed)(()=>({labelWidth:a.labelWidth,labelAlign:a.labelAlign,labelPlacement:a.labelPlacement,showFeedback:a.showFeedback,showLabel:a.showLabel,showRequireMark:a.showRequireMark,requireMarkPlacement:a.requireMarkPlacement,...a.formProps})),C=(0,e.computed)(()=>({cols:24,xGap:a.xGap,yGap:a.yGap,itemResponsive:!0,...a.gridProps,responsive:"self"})),k=s=>{const T=s.type||"input";return T==="custom"?s.component:We[T]},N=s=>typeof s.disabled=="function"?s.disabled(a.model):s.disabled,_=s=>{if(!s)return{};const{options:T,labelField:$,valueField:U,...m}=s;return m},O=s=>{if(!s)return{};const{text:T,...$}=s;return $},R=s=>we(a.model,s),g=(s,T)=>{ma(a.model,s,T),n("update:model",a.model)},S=s=>{let T=typeof s.rule=="function"?s.rule(a.model):s.rule;const $=!s.noRequired;if($){const U={required:!0,message:`${typeof s.label=="string"?s.label:"此项"}不能为空`,trigger:"blur"};T?T=Array.isArray(T)?[U,...T]:[U,T]:T=U}return{label:typeof s.label=="string"?s.label:void 0,rule:T,showRequireMark:$?void 0:!1,...s.formItemProps}},D={xs:0,s:640,m:1024,l:1280,xl:1536,xxl:1920},p=s=>{if(typeof s=="number"||typeof s=="string")return s;if(typeof s=="object"){const T=[];return Object.entries(D).forEach(([$,U])=>{const m=s[$];m!==void 0&&T.push(`${U}:${m}`)}),T.length===0?24:T.join(" ")}return 24},i=s=>({span:p(s.span??a.cols),offset:s.offset}),u=async(...s)=>{await c.value.validate(...s)},x=async(s,T)=>{const $=Array.isArray(s)?s:[s];await c.value.validate(T,U=>$.some(m=>U.key===m))},z=()=>c.value?.restoreValidation(),A=()=>{z(),n("reset")},F=async()=>{try{await u(),n("submit",a.model)}catch(s){n("validate",s)}},Y=()=>{A()};return r({formRef:c.value,validate:u,validateField:x,restoreValidation:z,getFormData:()=>a.model,setFormData:s=>Object.assign(a.model,s),getFieldValue:s=>we(a.model,s),setFieldValue:(s,T)=>g(s,T),resetFields:A,getFormItemInst:s=>c.value?.getFormItemInst?.(s)}),(s,T)=>{const $=l.NFormItem,U=l.NGridItem,m=l.NButton,w=l.NGrid,B=l.NForm;return(0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,null,[(0,e.renderSlot)(s.$slots,"header",{model:a.model}),(0,e.createVNode)((0,e.unref)(l.NSpin),{show:a.loading},{default:(0,e.withCtx)(()=>[(0,e.createVNode)(B,(0,e.mergeProps)({ref_key:"formRef",ref:c,model:a.model},b.value),{default:(0,e.withCtx)(()=>[(0,e.createVNode)(w,(0,e.normalizeProps)((0,e.guardReactiveProps)(C.value)),{default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(y.value,f=>((0,e.openBlock)(),(0,e.createBlock)(U,(0,e.mergeProps)({key:f.name},{ref_for:!0},i(f)),{default:(0,e.withCtx)(()=>[f.type==="slot"?(0,e.renderSlot)(s.$slots,f.slot||f.name,{key:0,model:a.model,schema:f}):((0,e.openBlock)(),(0,e.createBlock)($,(0,e.mergeProps)({key:1,path:f.name},{ref_for:!0},S(f)),(0,e.createSlots)({default:(0,e.withCtx)(()=>[(0,e.renderSlot)(s.$slots,`field-${f.name}`,{model:a.model,schema:f,value:R(f.name),setValue:P=>g(f.name,P)},()=>[f.type==="radio-group"&&f.props?.options?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(l.NRadioGroup),(0,e.mergeProps)({key:0,value:R(f.name),"onUpdate:value":P=>g(f.name,P)},{ref_for:!0},_(f.props)),{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(l.NSpace),null,{default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(f.props.options,P=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(l.NRadio),{key:P[f.props.valueField||"value"],value:P[f.props.valueField||"value"],disabled:P.disabled},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(P[f.props.labelField||"label"]),1)]),_:2},1032,["value","disabled"]))),128))]),_:2},1024)]),_:2},1040,["value","onUpdate:value"])):f.type==="checkbox-group"&&f.props?.options?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(l.NCheckboxGroup),(0,e.mergeProps)({key:1,value:R(f.name),"onUpdate:value":P=>g(f.name,P)},{ref_for:!0},_(f.props)),{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(l.NSpace),null,{default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(f.props.options,P=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(l.NCheckbox),{key:P[f.props.valueField||"value"],value:P[f.props.valueField||"value"],disabled:P.disabled},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(P[f.props.labelField||"label"]),1)]),_:2},1032,["value","disabled"]))),128))]),_:2},1024)]),_:2},1040,["value","onUpdate:value"])):f.type==="switch"?((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(k(f)),(0,e.mergeProps)({key:2,value:R(f.name),"onUpdate:value":P=>g(f.name,P)},{ref_for:!0},f.props,{disabled:N(f)}),null,16,["value","onUpdate:value","disabled"])):f.type==="image-upload"||f.type==="file-upload"?((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(k(f)),(0,e.mergeProps)({key:3,"file-list":R(f.name)||[],"onUpdate:fileList":P=>g(f.name,P),"upload-type":f.type==="image-upload"?"image":"file"},{ref_for:!0},f.props,{disabled:N(f)}),null,16,["file-list","onUpdate:fileList","upload-type","disabled"])):((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(k(f)),(0,e.mergeProps)({key:4,value:R(f.name),"onUpdate:value":P=>g(f.name,P)},{ref_for:!0},f.props,{disabled:N(f)}),null,16,["value","onUpdate:value","disabled"]))])]),_:2},[typeof f.label=="function"?{name:"label",fn:(0,e.withCtx)(()=>[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(f.label)))]),key:"0"}:void 0]),1040,["path"]))]),_:2},1040))),128)),a.showFooter?((0,e.openBlock)(),(0,e.createBlock)(U,{key:0,span:a.footerSpan},{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(s.$slots,"footer",{model:a.model,validate:u,reset:A},()=>[(0,e.createVNode)((0,e.unref)(l.NSpace),{justify:a.footerAlign},{default:(0,e.withCtx)(()=>[h.value.hidden?(0,e.createCommentVNode)("",!0):((0,e.openBlock)(),(0,e.createBlock)(m,(0,e.mergeProps)({key:0},O(h.value),{onClick:Y}),{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(h.value.text),1)]),_:1},16)),d.value.hidden?(0,e.createCommentVNode)("",!0):((0,e.openBlock)(),(0,e.createBlock)(m,(0,e.mergeProps)({key:1},O(d.value),{onClick:F}),{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(d.value.text),1)]),_:1},16)),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(a.extraButtons,f=>((0,e.openBlock)(),(0,e.createBlock)(m,{key:f.text,type:f.type,size:f.size,disabled:f.disabled,onClick:f.onClick},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(f.text),1)]),_:2},1032,["type","size","disabled","onClick"]))),128))]),_:1},8,["justify"])])]),_:3},8,["span"])):(0,e.createCommentVNode)("",!0)]),_:3},16)]),_:3},16,["model"])]),_:3},8,["show"]),(0,e.renderSlot)(s.$slots,"append",{model:a.model})],64)}}}),ya=ha;const Q=ya;function xe(t){const{maxVisible:r=-1,buttons:o=[],showView:a=!0,showEdit:n=!0,showDelete:c=!0,viewConfig:d,editConfig:h,deleteConfig:y,onView:b,onEdit:C,onDelete:k}=t,N=(i,u,x,z)=>u?i?typeof i.show=="function"?i.show(x,z):i.show!==!1:!0:!1,_=(i,u,x)=>i?typeof i.disabled=="function"?i.disabled(u,x):i.disabled===!0:!1,O=(i,u,x)=>typeof i.show=="function"?i.show(u,x):i.show!==!1,R=(i,u,x)=>typeof i.disabled=="function"?i.disabled(u,x):i.disabled===!0,g=(i,u,x)=>typeof i=="function"?i(u):i||x,S=i=>{const u=(0,e.h)(l.NButton,{type:i.type,size:"small",disabled:i.disabled,onClick:i.confirm?void 0:i.onClick},{default:()=>i.label});return i.confirm?(0,e.h)(l.NPopconfirm,{onPositiveClick:i.onClick},{trigger:()=>u,default:()=>i.confirm}):u},D=i=>{const u=i.map(z=>({label:z.label,key:z.key,disabled:z.disabled})),x=z=>{i.find(A=>A.key===z)?.onClick()};return(0,e.h)(l.NDropdown,{options:u,trigger:"click",onSelect:x},{default:()=>(0,e.h)(l.NButton,{size:"small"},{default:()=>"更多"})})};return{renderActions:(i,u)=>{const x=[];if(N(d,a,i,u)&&x.push({key:"__view__",label:d?.label||"查看",type:"info",disabled:_(d,i,u),onClick:()=>b?.({row:i,index:u})}),N(h,n,i,u)&&x.push({key:"__edit__",label:h?.label||"编辑",type:"primary",disabled:_(h,i,u),onClick:()=>C?.({row:i,index:u})}),N(y,c,i,u)&&x.push({key:"__delete__",label:y?.label||"删除",type:"error",disabled:_(y,i,u),confirm:g(y?.confirm,i,"确定删除此记录吗?"),onClick:()=>k?.({row:i,index:u})}),o.forEach(F=>{O(F,i,u)&&x.push({key:F.key,label:F.label,type:F.type||"default",disabled:R(F,i,u),confirm:F.confirm?g(F.confirm,i,"确定执行此操作吗?"):void 0,onClick:()=>F.onClick?.(i,u)})}),r===-1||x.length<=r)return(0,e.h)(l.NSpace,{size:"small",wrap:!1},()=>x.map(F=>S(F)));if(r===0)return D(x);const z=x.slice(0,r),A=x.slice(r);return(0,e.h)(l.NSpace,{size:"small",wrap:!1},()=>[...z.map(F=>S(F)),D(A)])},isButtonVisible:O,isButtonDisabled:R}}var ga=t=>{if(!t)return"";try{const r=new URL(t).pathname.split("/").pop()||"";return decodeURIComponent(r)}catch{const r=t.split("/");return r[r.length-1]||t}},ke=t=>t==null?"-":String(t),Ne=(t,r,o)=>{if(!t)return"-";const a=String(t),n=o?.newWindow!==!1;let c;return o?.text?c=typeof o.text=="function"?o.text(r):o.text:c=a,(0,e.h)(l.NButton,{text:!0,type:"primary",onClick:()=>{n?window.open(a,"_blank","noopener,noreferrer"):window.location.href=a}},{default:()=>c,icon:()=>(0,e.h)(l.NIcon,{size:14},()=>(0,e.h)(I.OpenOutline))})},_e=(t,r)=>{if(!t)return"-";const o=String(t),a=r?.width??60,n=r?.height??60,c=r?.radius??4,d=r?.fallback;return(0,e.h)(l.NImage,{src:o,width:typeof a=="number"?a:void 0,height:typeof n=="number"?n:void 0,objectFit:"cover",previewDisabled:!1,fallbackSrc:d,style:{width:typeof a=="string"?a:`${a}px`,height:typeof n=="string"?n:`${n}px`,borderRadius:typeof c=="string"?c:`${c}px`,cursor:"pointer"}})},Se=(t,r,o)=>{if(!t)return"-";const a=String(t),n=o?.getFileName?o.getFileName(a,r):ga(a),c=()=>{const d=document.createElement("a");d.href=a,d.download=n,d.target="_blank",d.rel="noopener noreferrer",document.body.appendChild(d),d.click(),document.body.removeChild(d)};return(0,e.h)(l.NTooltip,{trigger:"hover"},{trigger:()=>(0,e.h)(l.NButton,{text:!0,type:"primary",onClick:c},{default:()=>(0,e.h)("span",{style:{maxWidth:"150px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"inline-block",verticalAlign:"middle"}},n),icon:()=>(0,e.h)(l.NIcon,{size:14},()=>(0,e.h)(I.DownloadOutline))}),default:()=>n})},Be=(t,r)=>{if(!t)return"-";const o=String(t),a=I[o];return a?(0,e.h)(l.NIcon,{size:r?.size??20,color:r?.color},()=>(0,e.h)(a)):o},oe=(t,r,o="label",a="value")=>{if(t==null)return"-";if(!r||r.length===0)return(0,e.h)(l.NTag,{size:"small"},()=>String(t));const n=r.find(c=>c[a]===t);if(n){const c=n,d=c[o];return(0,e.h)(l.NTag,{size:"small",...Object.keys(n).reduce((h,y)=>(y!==o&&y!==a&&(h[y]=c[y]),h),{})},()=>d)}return(0,e.h)(l.NTag,{size:"small"},()=>String(t))},Te=(t,r,o="label",a="value")=>t==null?"-":Array.isArray(t)?(0,e.h)(l.NSpace,{size:"small",wrap:!0},()=>t.map((n,c)=>{const d=oe(n,r,o,a);return typeof d=="string"?(0,e.h)("span",{key:c},d):d})):oe(t,r,o,a);const Pe=(t,r,o)=>{switch(o.columnType||"text"){case"link":return Ne(t,r,o.linkConfig);case"image":return _e(t,o.imageConfig);case"file":return Se(t,r,o.fileConfig);case"tag":return Te(t,o.tagOptions,o.tagLabelField||"label",o.tagValueField||"value");case"icon":return Be(t,o.iconConfig);case"text":default:return ke(t)}},De=t=>t.render?!1:!!(t.columnType&&t.columnType!=="text");function ba(){return{renderColumnContent:Pe,shouldAutoRender:De,renderText:ke,renderLink:Ne,renderImage:_e,renderFile:Se,renderTag:oe,renderTags:Te,renderIcon:Be}}function Ve(t){const{columns:r,actionColumn:o,onView:a,onEdit:n,onDelete:c}=t,d=p=>"key"in p&&p.key?String(p.key):"type"in p?`__${p.type}__`:"",h=p=>{if("title"in p){if(typeof p.title=="string")return p.title;if(typeof p.title=="function")return"自定义列"}return d(p)},y=p=>"defaultVisible"in p?p.defaultVisible!==!1:!0,b=p=>"type"in p&&(p.type==="selection"||p.type==="expand")?!1:"configurable"in p?p.configurable!==!1:!0,C=()=>r.filter(p=>y(p)).map(p=>d(p)).filter(Boolean),k=(0,e.ref)(C()),N=(0,e.computed)(()=>r.filter(p=>d(p)&&b(p)).map(p=>({key:d(p),title:h(p),visible:k.value.includes(d(p)),configurable:b(p)}))),_=()=>{if(o?.show===!1)return null;const{renderActions:p}=xe({...o,onView:a,onEdit:n,onDelete:c});return{key:"__actions__",title:o?.title||"操作",width:o?.width||180,minWidth:o?.minWidth,fixed:o?.fixed!==!1?o?.fixed||"right":void 0,render:(i,u)=>p(i,u)}},O=p=>{if("columnType"in p&&De(p)){const i=p,u=i.key;return{...p,render:x=>Pe(u?x[u]:void 0,x,i)}}return p};return{mergedColumns:(0,e.computed)(()=>{const p=r.filter(u=>{const x=d(u);return"type"in u&&(u.type==="selection"||u.type==="expand")||!x?!0:k.value.includes(x)}).map(u=>O(u)),i=_();return i&&p.push(i),p}),configurableColumns:N,visibleColumnKeys:k,setVisibleColumnKeys:p=>{k.value=p},resetColumnSetting:()=>{k.value=C()},getVisibleColumnKeys:()=>[...k.value]}}var Ca={page:"page",pageSize:"pageSize",itemCount:"itemCount"},le={pageSizes:[10,20,50,100],showSizePicker:!0,showQuickJumper:!0};function Fe(t){const{pagination:r,fieldNames:o,onUpdatePagination:a,onPageChange:n}=t,c=()=>({...Ca,...o}),d=N=>{if(!(r===!1||!r))return r[c()[N]]},h=(0,e.computed)(()=>r===!1||!r?!1:{page:d("page")??1,pageSize:d("pageSize")??10,itemCount:d("itemCount"),pageSizes:r.pageSizes??le.pageSizes,showSizePicker:r.showSizePicker??le.showSizePicker,showQuickJumper:r.showQuickJumper??le.showQuickJumper,prefix:r.prefix,suffix:r.suffix}),y=N=>{if(r===!1||!r)return{};const _=c(),O={...r};return N.page!==void 0&&(O[_.page]=N.page),N.pageSize!==void 0&&(O[_.pageSize]=N.pageSize),O},b=N=>{const _=c();return{[_.page]:N[_.page],[_.pageSize]:N[_.pageSize],[_.itemCount]:N[_.itemCount]}};return{paginationConfig:h,handlePageChange:N=>{const _=y({page:N});a?.(_),n?.(b(_))},handlePageSizeChange:N=>{const _=y({page:1,pageSize:N});a?.(_),n?.(b(_))},getFieldNames:c}}var wa={key:0,class:"dydx-table__toolbar"},xa={class:"dydx-table__column-setting"},ka={class:"dydx-table__column-setting-header"},Na=(0,e.defineComponent)({inheritAttrs:!1,__name:"DydxNaiveTable",props:{loading:{type:Boolean,default:!1},checkedRowKeys:{},remote:{type:Boolean,default:!1},data:{},columns:{},rowKey:{},actionColumn:{},showAdd:{type:Boolean,default:!1},addButtonText:{default:"新增"},onAdd:{},leftButtons:{default:()=>[]},showRefresh:{type:Boolean,default:!1},onRefresh:{},showColumnSetting:{type:Boolean,default:!1},rightButtons:{default:()=>[]},pagination:{type:[Boolean,Object]},paginationFieldNames:{}},emits:["update:pagination","pageChange","update:checkedRowKeys","update:visibleColumns","view","edit","delete"],setup(t,{expose:r,emit:o}){const a=t,n=o,c=(0,e.useAttrs)(),d=(0,e.ref)(null),h=(0,e.ref)(void 0),y=(0,e.computed)(()=>!c.maxHeight),b=m=>{const w=getComputedStyle(m);return m.clientHeight<=0?!1:!!(parseFloat(w.flexGrow)>0||w.height&&w.height!=="auto"&&w.height!=="0px"||w.maxHeight&&w.maxHeight!=="none"&&w.maxHeight!=="0px"||w.overflowY==="auto"||w.overflowY==="scroll")},C=m=>{let w=m.parentElement;for(;w&&w!==document.body;){if(b(w))return w;w=w.parentElement}return null},k=()=>{y.value&&(0,e.nextTick)(()=>{const m=d.value;if(!m)return;const w=C(m);if(!w){h.value=void 0;return}const B=w.getBoundingClientRect(),f=m.getBoundingClientRect(),P=m.querySelector(".dydx-table__toolbar"),Fa=P?P.offsetHeight+16:0,Oa=f.top-B.top,Re=w.clientHeight-Oa-Fa;Re>200?h.value=Re:h.value=void 0})},N=(0,e.computed)(()=>c.maxHeight?c.maxHeight:h.value);(0,e.onMounted)(()=>{k(),window.addEventListener("resize",k)}),(0,e.onUnmounted)(()=>{window.removeEventListener("resize",k)});const _=(0,e.ref)(null),{mergedColumns:O,configurableColumns:R,visibleColumnKeys:g,setVisibleColumnKeys:S,resetColumnSetting:D,getVisibleColumnKeys:p}=Ve({columns:a.columns,actionColumn:a.actionColumn,onView:m=>n("view",m),onEdit:m=>n("edit",m),onDelete:m=>n("delete",m)}),{paginationConfig:i,handlePageChange:u,handlePageSizeChange:x}=Fe({get pagination(){return a.pagination},get fieldNames(){return a.paginationFieldNames},onUpdatePagination:m=>n("update:pagination",m),onPageChange:m=>n("pageChange",m)});(0,e.watch)(g,m=>{n("update:visibleColumns",m)});const z=(0,e.computed)(()=>a.showAdd||a.leftButtons?.length||a.showRefresh||a.showColumnSetting||a.rightButtons?.length),A=(0,e.computed)(()=>typeof a.rowKey=="function"?a.rowKey:m=>m[a.rowKey]),F=m=>{n("update:checkedRowKeys",m,a.data.filter(w=>m.includes(A.value(w))))},Y=()=>{a.onAdd?.()},s=()=>{a.onRefresh?.()};return r({getTableInstance:()=>_.value,clearChecked:()=>{n("update:checkedRowKeys",[],[])},refresh:()=>{s()},getVisibleColumnKeys:p,setVisibleColumnKeys:S,resetColumnSetting:D,scrollTo:m=>{_.value?.scrollTo(m)}}),(m,w)=>((0,e.openBlock)(),(0,e.createElementBlock)("div",{ref_key:"containerRef",ref:d,class:"dydx-table"},[z.value?((0,e.openBlock)(),(0,e.createElementBlock)("div",wa,[(0,e.createVNode)((0,e.unref)(l.NSpace),{class:"dydx-table__toolbar-left",size:12},{default:(0,e.withCtx)(()=>[t.showAdd?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(l.NButton),{key:0,type:"primary",onClick:Y},{icon:(0,e.withCtx)(()=>[(0,e.renderSlot)(m.$slots,"add-icon",{},()=>[(0,e.createVNode)((0,e.unref)(l.NIcon),null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(I.AddOutline))]),_:1})],!0)]),default:(0,e.withCtx)(()=>[(0,e.createTextVNode)(" "+(0,e.toDisplayString)(t.addButtonText),1)]),_:3})):(0,e.createCommentVNode)("",!0),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.leftButtons,B=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:B.key},[B.show!==!1?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(l.NButton),{key:0,type:B.type,disabled:B.disabled,onClick:B.onClick},(0,e.createSlots)({default:(0,e.withCtx)(()=>[(0,e.createTextVNode)(" "+(0,e.toDisplayString)(B.label),1)]),_:2},[B.icon?{name:"icon",fn:(0,e.withCtx)(()=>[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(B.icon)))]),key:"0"}:void 0]),1032,["type","disabled","onClick"])):(0,e.createCommentVNode)("",!0)],64))),128)),(0,e.renderSlot)(m.$slots,"toolbar-left",{},void 0,!0)]),_:3}),(0,e.createVNode)((0,e.unref)(l.NSpace),{class:"dydx-table__toolbar-right",size:8},{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(m.$slots,"toolbar-right",{},void 0,!0),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(t.rightButtons,B=>((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:B.key},[B.show!==!1?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(l.NButton),{key:0,type:B.type,disabled:B.disabled,onClick:B.onClick},(0,e.createSlots)({default:(0,e.withCtx)(()=>[(0,e.createTextVNode)(" "+(0,e.toDisplayString)(B.label),1)]),_:2},[B.icon?{name:"icon",fn:(0,e.withCtx)(()=>[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(B.icon)))]),key:"0"}:void 0]),1032,["type","disabled","onClick"])):(0,e.createCommentVNode)("",!0)],64))),128)),t.showRefresh?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(l.NTooltip),{key:0,trigger:"hover"},{trigger:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(l.NButton),{circle:"",class:"dydx-table__icon-btn",onClick:s},{icon:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(l.NIcon),null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(I.RefreshOutline))]),_:1})]),_:1})]),default:(0,e.withCtx)(()=>[w[1]||(w[1]=(0,e.createTextVNode)(" 刷新 ",-1))]),_:1})):(0,e.createCommentVNode)("",!0),t.showColumnSetting?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(l.NPopover),{key:1,trigger:"click",placement:"bottom-end"},{trigger:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(l.NTooltip),{trigger:"hover"},{trigger:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(l.NButton),{circle:"",class:"dydx-table__icon-btn"},{icon:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(l.NIcon),null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(I.SettingsOutline))]),_:1})]),_:1})]),default:(0,e.withCtx)(()=>[w[2]||(w[2]=(0,e.createTextVNode)(" 列设置 ",-1))]),_:1})]),default:(0,e.withCtx)(()=>[(0,e.createElementVNode)("div",xa,[(0,e.createElementVNode)("div",ka,[w[4]||(w[4]=(0,e.createElementVNode)("span",null,"列设置",-1)),(0,e.createVNode)((0,e.unref)(l.NButton),{text:"",size:"small",type:"primary",onClick:(0,e.unref)(D)},{default:(0,e.withCtx)(()=>[...w[3]||(w[3]=[(0,e.createTextVNode)(" 重置 ",-1)])]),_:1},8,["onClick"])]),(0,e.createVNode)((0,e.unref)(l.NCheckboxGroup),{value:(0,e.unref)(g),"onUpdate:value":w[0]||(w[0]=B=>(0,e.isRef)(g)?g.value=B:null)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(l.NSpace),{vertical:"",size:8},{default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(R),B=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(l.NCheckbox),{key:B.key,value:B.key,label:B.title},null,8,["value","label"]))),128))]),_:1})]),_:1},8,["value"])])]),_:1})):(0,e.createCommentVNode)("",!0)]),_:3})])):(0,e.createCommentVNode)("",!0),(0,e.createVNode)((0,e.unref)(l.NDataTable),(0,e.mergeProps)({ref_key:"dataTableRef",ref:_,data:t.data,columns:(0,e.unref)(O),"row-key":A.value,loading:t.loading,pagination:(0,e.unref)(i),remote:t.remote,"checked-row-keys":t.checkedRowKeys,"max-height":N.value},(0,e.unref)(c),{"onUpdate:page":(0,e.unref)(u),"onUpdate:pageSize":(0,e.unref)(x),"onUpdate:checkedRowKeys":F}),null,16,["data","columns","row-key","loading","pagination","remote","checked-row-keys","max-height","onUpdate:page","onUpdate:pageSize"])],512))}}),_a=(t,r)=>{const o=t.__vccOpts||t;for(const[a,n]of r)o[a]=n;return o},Sa=_a(Na,[["__scopeId","data-v-af2504e6"]]);const Oe=Sa;var Ba=(0,e.defineComponent)({name:"DydxFormModal",inheritAttrs:!1,__name:"DydxFormModal",props:{show:{type:Boolean},title:{},schemas:{},model:{},width:{default:600},confirmText:{default:"确定"},cancelText:{default:"取消"},showCancel:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},cols:{default:24},xGap:{default:20},yGap:{default:16},labelPlacement:{default:"left"},labelWidth:{},rowKey:{default:"id"},subtitle:{default:""}},emits:["update:show","confirm","cancel"],setup(t,{expose:r,emit:o}){const a=t,n=o,c=(0,e.useAttrs)(),d=(0,e.ref)(),h=(0,e.computed)(()=>a.title?a.title:`${a.model[a.rowKey]?"编辑":"新增"}${a.subtitle}`),y=(0,e.computed)(()=>({width:typeof a.width=="number"?`${a.width}px`:a.width})),b=()=>{n("update:show",!1),n("cancel")},C=async()=>{try{await d.value?.validate(),n("confirm",a.model)}catch{}};return r({getFormRef:()=>d.value,validate:()=>d.value?.validate(),resetFields:()=>d.value?.resetFields()}),(k,N)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(l.NModal),(0,e.mergeProps)({show:t.show,preset:"card",title:h.value,style:y.value,"mask-closable":!1},(0,e.unref)(c),{"onUpdate:show":N[0]||(N[0]=_=>n("update:show",_))}),(0,e.createSlots)({_:2},[k.$slots.header?{name:"header",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(k.$slots,"header")]),key:"0"}:void 0,k.$slots["header-extra"]?{name:"header-extra",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(k.$slots,"header-extra")]),key:"1"}:void 0,k.$slots.default?{name:"default",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(k.$slots,"default")]),key:"2"}:{name:"default",fn:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(l.NSpin),{show:t.loading},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(Q),{ref_key:"formRef",ref:d,schemas:t.schemas,model:t.model,cols:t.cols,"x-gap":t.xGap,"y-gap":t.yGap,"label-placement":t.labelPlacement,"label-width":t.labelWidth,"show-footer":!1},null,8,["schemas","model","cols","x-gap","y-gap","label-placement","label-width"])]),_:1},8,["show"])]),key:"3"},k.$slots.footer?{name:"footer",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(k.$slots,"footer")]),key:"4"}:{name:"footer",fn:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(l.NSpace),{justify:"end"},{default:(0,e.withCtx)(()=>[t.showCancel?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(l.NButton),{key:0,onClick:b},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.cancelText),1)]),_:1})):(0,e.createCommentVNode)("",!0),(0,e.createVNode)((0,e.unref)(l.NButton),{type:"primary",loading:t.loading,onClick:C},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.confirmText),1)]),_:1},8,["loading"])]),_:1})]),key:"5"},k.$slots.action?{name:"action",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(k.$slots,"action")]),key:"6"}:void 0]),1040,["show","title","style"]))}}),ze=Ba,Ta=(0,e.defineComponent)({name:"DydxFormDrawer",inheritAttrs:!1,__name:"DydxFormDrawer",props:{show:{type:Boolean},title:{},schemas:{},model:{},width:{default:500},placement:{default:"right"},confirmText:{default:"确定"},cancelText:{default:"取消"},showCancel:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},cols:{default:24},xGap:{default:20},yGap:{default:16},labelPlacement:{default:"top"},labelWidth:{},rowKey:{default:"id"},subtitle:{default:""}},emits:["update:show","confirm","cancel"],setup(t,{expose:r,emit:o}){const a=t,n=o,c=(0,e.useAttrs)(),d=(0,e.ref)(),h=(0,e.computed)(()=>a.title?a.title:`${a.model[a.rowKey]?"编辑":"新增"}${a.subtitle}`),y=()=>{n("update:show",!1),n("cancel")},b=async()=>{try{await d.value?.validate(),n("confirm",a.model)}catch{}};return r({getFormRef:()=>d.value,validate:()=>d.value?.validate(),resetFields:()=>d.value?.resetFields()}),(C,k)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(l.NDrawer),(0,e.mergeProps)({show:t.show,width:t.width,placement:t.placement,"mask-closable":!1},(0,e.unref)(c),{"onUpdate:show":k[0]||(k[0]=N=>n("update:show",N))}),{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(l.NDrawerContent),{title:h.value,closable:"",onClose:y},(0,e.createSlots)({_:2},[C.$slots.default?{name:"default",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(C.$slots,"default")]),key:"0"}:{name:"default",fn:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(l.NSpin),{show:t.loading},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(Q),{ref_key:"formRef",ref:d,schemas:t.schemas,model:t.model,cols:t.cols,"x-gap":t.xGap,"y-gap":t.yGap,"label-placement":t.labelPlacement,"label-width":t.labelWidth,"show-footer":!1},null,8,["schemas","model","cols","x-gap","y-gap","label-placement","label-width"])]),_:1},8,["show"])]),key:"1"},C.$slots.footer?{name:"footer",fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(C.$slots,"footer")]),key:"2"}:{name:"footer",fn:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(l.NSpace),{justify:"end"},{default:(0,e.withCtx)(()=>[t.showCancel?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(l.NButton),{key:0,onClick:y},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.cancelText),1)]),_:1})):(0,e.createCommentVNode)("",!0),(0,e.createVNode)((0,e.unref)(l.NButton),{type:"primary",loading:t.loading,onClick:b},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(t.confirmText),1)]),_:1},8,["loading"])]),_:1})]),key:"3"}]),1032,["title"])]),_:3},16,["show","width","placement"]))}}),Ie=Ta,Pa=[Q,Oe,ze,Ie,H,X],Da=t=>{Pa.forEach(r=>{r.name&&t.component(r.name,r)})},Va={install:Da};V.DydxFormDrawer=Ie,V.DydxFormModal=ze,V.DydxIconSelect=X,V.DydxNaiveForm=Q,V.DydxNaiveTable=Oe,V.DydxUpload=H,V.default=Va,V.useColumnRender=ba,V.useColumns=Ve,V.usePagination=Fe,V.useTableActions=xe});
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { FormSchema, DydxNaiveFormExpose } from '../../NaiveForm';
|
|
2
|
+
declare const _default: <T extends Record<string, any>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
3
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
4
|
+
readonly onCancel?: (() => any) | undefined;
|
|
5
|
+
readonly onConfirm?: ((data: T) => any) | undefined;
|
|
6
|
+
readonly "onUpdate:show"?: ((value: boolean) => any) | undefined;
|
|
7
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:show" | "onCancel" | "onConfirm"> & {
|
|
8
|
+
/** 是否显示 */
|
|
9
|
+
show: boolean;
|
|
10
|
+
/** 标题 */
|
|
11
|
+
title?: string;
|
|
12
|
+
/** 表单配置 */
|
|
13
|
+
schemas: FormSchema<T>[];
|
|
14
|
+
/** 表单数据 */
|
|
15
|
+
model: T;
|
|
16
|
+
/** 抽屉宽度 */
|
|
17
|
+
width?: string | number;
|
|
18
|
+
/** 抽屉位置 */
|
|
19
|
+
placement?: "left" | "right" | "top" | "bottom";
|
|
20
|
+
/** 确认按钮文字 */
|
|
21
|
+
confirmText?: string;
|
|
22
|
+
/** 取消按钮文字 */
|
|
23
|
+
cancelText?: string;
|
|
24
|
+
/** 是否显示取消按钮 */
|
|
25
|
+
showCancel?: boolean;
|
|
26
|
+
/** 提交时是否显示 loading */
|
|
27
|
+
loading?: boolean;
|
|
28
|
+
/** 表单列数 */
|
|
29
|
+
cols?: number;
|
|
30
|
+
/** 表单 x 间距 */
|
|
31
|
+
xGap?: number;
|
|
32
|
+
/** 表单 y 间距 */
|
|
33
|
+
yGap?: number;
|
|
34
|
+
/** 标签位置 */
|
|
35
|
+
labelPlacement?: "left" | "top";
|
|
36
|
+
/** 标签宽度 */
|
|
37
|
+
labelWidth?: number | string;
|
|
38
|
+
/** 行键,用于判断新增/编辑 */
|
|
39
|
+
rowKey?: string;
|
|
40
|
+
/** 副标题 */
|
|
41
|
+
subtitle?: string;
|
|
42
|
+
} & Partial<{}>> & import('vue').PublicProps;
|
|
43
|
+
expose(exposed: import('vue').ShallowUnwrapRef<{
|
|
44
|
+
getFormRef: () => DydxNaiveFormExpose<T> | undefined;
|
|
45
|
+
validate: () => Promise<void> | undefined;
|
|
46
|
+
resetFields: () => void | undefined;
|
|
47
|
+
}>): void;
|
|
48
|
+
attrs: any;
|
|
49
|
+
slots: Readonly<{
|
|
50
|
+
default?: () => unknown;
|
|
51
|
+
footer?: () => unknown;
|
|
52
|
+
}> & {
|
|
53
|
+
default?: () => unknown;
|
|
54
|
+
footer?: () => unknown;
|
|
55
|
+
};
|
|
56
|
+
emit: ((evt: "cancel") => void) & ((evt: "confirm", data: T) => void) & ((evt: "update:show", value: boolean) => void);
|
|
57
|
+
}>) => import('vue').VNode & {
|
|
58
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
59
|
+
};
|
|
60
|
+
export default _default;
|
|
61
|
+
type __VLS_PrettifyLocal<T> = {
|
|
62
|
+
[K in keyof T]: T[K];
|
|
63
|
+
} & {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { FormSchema, DydxNaiveFormExpose } from '../../NaiveForm';
|
|
2
|
+
declare const _default: <T extends Record<string, any>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
3
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
4
|
+
readonly onCancel?: (() => any) | undefined;
|
|
5
|
+
readonly onConfirm?: ((data: T) => any) | undefined;
|
|
6
|
+
readonly "onUpdate:show"?: ((value: boolean) => any) | undefined;
|
|
7
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:show" | "onCancel" | "onConfirm"> & {
|
|
8
|
+
/** 是否显示 */
|
|
9
|
+
show: boolean;
|
|
10
|
+
/** 标题 */
|
|
11
|
+
title?: string;
|
|
12
|
+
/** 表单配置 */
|
|
13
|
+
schemas: FormSchema<T>[];
|
|
14
|
+
/** 表单数据 */
|
|
15
|
+
model: T;
|
|
16
|
+
/** 弹窗宽度 */
|
|
17
|
+
width?: string | number;
|
|
18
|
+
/** 确认按钮文字 */
|
|
19
|
+
confirmText?: string;
|
|
20
|
+
/** 取消按钮文字 */
|
|
21
|
+
cancelText?: string;
|
|
22
|
+
/** 是否显示取消按钮 */
|
|
23
|
+
showCancel?: boolean;
|
|
24
|
+
/** 提交时是否显示 loading */
|
|
25
|
+
loading?: boolean;
|
|
26
|
+
/** 表单列数 */
|
|
27
|
+
cols?: number;
|
|
28
|
+
/** 表单 x 间距 */
|
|
29
|
+
xGap?: number;
|
|
30
|
+
/** 表单 y 间距 */
|
|
31
|
+
yGap?: number;
|
|
32
|
+
/** 标签位置 */
|
|
33
|
+
labelPlacement?: "left" | "top";
|
|
34
|
+
/** 标签宽度 */
|
|
35
|
+
labelWidth?: number | string;
|
|
36
|
+
/** 行键,用于判断新增/编辑 */
|
|
37
|
+
rowKey?: string;
|
|
38
|
+
/** 副标题 */
|
|
39
|
+
subtitle?: string;
|
|
40
|
+
} & Partial<{}>> & import('vue').PublicProps;
|
|
41
|
+
expose(exposed: import('vue').ShallowUnwrapRef<{
|
|
42
|
+
getFormRef: () => DydxNaiveFormExpose<T> | undefined;
|
|
43
|
+
validate: () => Promise<void> | undefined;
|
|
44
|
+
resetFields: () => void | undefined;
|
|
45
|
+
}>): void;
|
|
46
|
+
attrs: any;
|
|
47
|
+
slots: {
|
|
48
|
+
header?(_: {}): any;
|
|
49
|
+
'header-extra'?(_: {}): any;
|
|
50
|
+
default?(_: {}): any;
|
|
51
|
+
footer?(_: {}): any;
|
|
52
|
+
action?(_: {}): any;
|
|
53
|
+
};
|
|
54
|
+
emit: ((evt: "cancel") => void) & ((evt: "confirm", data: T) => void) & ((evt: "update:show", value: boolean) => void);
|
|
55
|
+
}>) => import('vue').VNode & {
|
|
56
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
57
|
+
};
|
|
58
|
+
export default _default;
|
|
59
|
+
type __VLS_PrettifyLocal<T> = {
|
|
60
|
+
[K in keyof T]: T[K];
|
|
61
|
+
} & {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { FormSchema } from '../NaiveForm';
|
|
2
|
+
export interface FormModalProps<T extends Record<string, any>> {
|
|
3
|
+
show: boolean;
|
|
4
|
+
title?: string;
|
|
5
|
+
schemas: FormSchema<T>[];
|
|
6
|
+
model: T;
|
|
7
|
+
width?: string | number;
|
|
8
|
+
confirmText?: string;
|
|
9
|
+
cancelText?: string;
|
|
10
|
+
showCancel?: boolean;
|
|
11
|
+
loading?: boolean;
|
|
12
|
+
cols?: number;
|
|
13
|
+
xGap?: number;
|
|
14
|
+
yGap?: number;
|
|
15
|
+
labelPlacement?: 'left' | 'top';
|
|
16
|
+
labelWidth?: number | string;
|
|
17
|
+
rowKey?: string;
|
|
18
|
+
subtitle?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface FormDrawerProps<T extends Record<string, any>> extends FormModalProps<T> {
|
|
21
|
+
placement?: 'left' | 'right' | 'top' | 'bottom';
|
|
22
|
+
}
|
|
23
|
+
export interface FormModalExpose {
|
|
24
|
+
getFormRef: () => any;
|
|
25
|
+
validate: () => Promise<void>;
|
|
26
|
+
resetFields: () => void;
|
|
27
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
value?: string | null;
|
|
3
|
+
placeholder?: string;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
clearable?: boolean;
|
|
6
|
+
filterable?: boolean;
|
|
7
|
+
/** 图标风格过滤: outline | sharp | filled | all */
|
|
8
|
+
iconStyle?: 'outline' | 'sharp' | 'filled' | 'all';
|
|
9
|
+
};
|
|
10
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
11
|
+
"update:value": (value: string | null) => any;
|
|
12
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
13
|
+
"onUpdate:value"?: ((value: string | null) => any) | undefined;
|
|
14
|
+
}>, {
|
|
15
|
+
placeholder: string;
|
|
16
|
+
clearable: boolean;
|
|
17
|
+
filterable: boolean;
|
|
18
|
+
iconStyle: "outline" | "sharp" | "filled" | "all";
|
|
19
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
20
|
+
export default _default;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { default as DydxNaiveFormVue } from './src/DydxNaiveForm.vue';
|
|
2
|
+
export declare const DydxNaiveForm: <T extends Record<string, any>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: {
|
|
3
|
+
attrs: any;
|
|
4
|
+
slots: Partial<Record<string, (_: {
|
|
5
|
+
model: T;
|
|
6
|
+
schema: import('./types').SlotSchema<T>;
|
|
7
|
+
}) => any>> & Partial<Record<`field-${import('./types').DeepKeys<T>}`, (_: {
|
|
8
|
+
model: T;
|
|
9
|
+
schema: import('./types').InputSchema<T> | import('./types').SelectSchema<T> | import('./types').RadioGroupSchema<T> | import('./types').CheckboxGroupSchema<T> | import('./types').DatePickerSchema<T> | import('./types').InputNumberSchema<T> | import('./types').NativeSchema<T> | import('./types').CustomSchema<T>;
|
|
10
|
+
value: any;
|
|
11
|
+
setValue: (v: any) => void;
|
|
12
|
+
}) => any>> & {
|
|
13
|
+
header?(_: {
|
|
14
|
+
model: T;
|
|
15
|
+
}): any;
|
|
16
|
+
footer?(_: {
|
|
17
|
+
model: T;
|
|
18
|
+
validate: (callback?: (errors?: Array<import('naive-ui').FormValidationError>) => void, shouldRuleBeApplied?: (rule: any) => boolean) => Promise<void>;
|
|
19
|
+
reset: () => void;
|
|
20
|
+
}): any;
|
|
21
|
+
append?(_: {
|
|
22
|
+
model: T;
|
|
23
|
+
}): any;
|
|
24
|
+
};
|
|
25
|
+
emit: ((evt: "submit", value: T) => void) & ((evt: "reset") => void) & ((evt: "update:model", value: T) => void) & ((evt: "validate", errors: any) => void);
|
|
26
|
+
}, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
27
|
+
props: {
|
|
28
|
+
readonly onReset?: (() => any) | undefined;
|
|
29
|
+
readonly onSubmit?: ((value: T) => any) | undefined;
|
|
30
|
+
readonly "onUpdate:model"?: ((value: T) => any) | undefined;
|
|
31
|
+
readonly onValidate?: ((errors: any) => any) | undefined;
|
|
32
|
+
schemas: import('./types').FormSchema<T>[];
|
|
33
|
+
model: T;
|
|
34
|
+
formProps?: Partial<import('naive-ui').FormProps> | undefined;
|
|
35
|
+
labelWidth?: number | string | "auto" | undefined;
|
|
36
|
+
labelAlign?: "left" | "right" | undefined;
|
|
37
|
+
labelPlacement?: "left" | "top" | undefined;
|
|
38
|
+
showFeedback?: boolean | undefined;
|
|
39
|
+
showLabel?: boolean | undefined;
|
|
40
|
+
showRequireMark?: boolean | undefined;
|
|
41
|
+
requireMarkPlacement?: "left" | "right" | "right-hanging" | undefined;
|
|
42
|
+
gridProps?: Partial<import('naive-ui').GridProps> | undefined;
|
|
43
|
+
cols?: string | number | import('./types').ResponsiveSpan | undefined;
|
|
44
|
+
xGap?: number | string | undefined;
|
|
45
|
+
yGap?: number | string | undefined;
|
|
46
|
+
responsive?: "self" | "screen" | undefined;
|
|
47
|
+
showFooter?: boolean | undefined;
|
|
48
|
+
footerAlign?: "left" | "center" | "right" | undefined;
|
|
49
|
+
footerSpan?: number | undefined;
|
|
50
|
+
submitButton?: import('./types').FormButtonProps | undefined;
|
|
51
|
+
resetButton?: import('./types').FormButtonProps | undefined;
|
|
52
|
+
extraButtons?: import('./types').ExtraButtonProps[] | undefined;
|
|
53
|
+
loading?: boolean | undefined;
|
|
54
|
+
} & import('vue').PublicProps;
|
|
55
|
+
expose(exposed: import('vue').ShallowUnwrapRef<import('./types').DydxNaiveFormExpose<T>>): void;
|
|
56
|
+
attrs: any;
|
|
57
|
+
slots: Partial<Record<string, (_: {
|
|
58
|
+
model: T;
|
|
59
|
+
schema: import('./types').SlotSchema<T>;
|
|
60
|
+
}) => any>> & Partial<Record<`field-${import('./types').DeepKeys<T>}`, (_: {
|
|
61
|
+
model: T;
|
|
62
|
+
schema: import('./types').InputSchema<T> | import('./types').SelectSchema<T> | import('./types').RadioGroupSchema<T> | import('./types').CheckboxGroupSchema<T> | import('./types').DatePickerSchema<T> | import('./types').InputNumberSchema<T> | import('./types').NativeSchema<T> | import('./types').CustomSchema<T>;
|
|
63
|
+
value: any;
|
|
64
|
+
setValue: (v: any) => void;
|
|
65
|
+
}) => any>> & {
|
|
66
|
+
header?(_: {
|
|
67
|
+
model: T;
|
|
68
|
+
}): any;
|
|
69
|
+
footer?(_: {
|
|
70
|
+
model: T;
|
|
71
|
+
validate: (callback?: (errors?: Array<import('naive-ui').FormValidationError>) => void, shouldRuleBeApplied?: (rule: any) => boolean) => Promise<void>;
|
|
72
|
+
reset: () => void;
|
|
73
|
+
}): any;
|
|
74
|
+
append?(_: {
|
|
75
|
+
model: T;
|
|
76
|
+
}): any;
|
|
77
|
+
};
|
|
78
|
+
emit: ((evt: "submit", value: T) => void) & ((evt: "reset") => void) & ((evt: "update:model", value: T) => void) & ((evt: "validate", errors: any) => void);
|
|
79
|
+
}>) => import('vue').VNode & {
|
|
80
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
81
|
+
};
|
|
82
|
+
export * from './types';
|
|
83
|
+
export default DydxNaiveFormVue;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { DydxNaiveFormProps, DydxNaiveFormExpose } from '../types';
|
|
2
|
+
declare const _default: <T extends Record<string, any>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
3
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
4
|
+
readonly onSubmit?: ((value: T) => any) | undefined;
|
|
5
|
+
readonly onReset?: (() => any) | undefined;
|
|
6
|
+
readonly "onUpdate:model"?: ((value: T) => any) | undefined;
|
|
7
|
+
readonly onValidate?: ((errors: any) => any) | undefined;
|
|
8
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onReset" | "onSubmit" | "onUpdate:model" | "onValidate"> & DydxNaiveFormProps<T> & Partial<{}>> & import('vue').PublicProps;
|
|
9
|
+
expose(exposed: import('vue').ShallowUnwrapRef<DydxNaiveFormExpose<T>>): void;
|
|
10
|
+
attrs: any;
|
|
11
|
+
slots: Partial<Record<string, (_: {
|
|
12
|
+
model: T;
|
|
13
|
+
schema: import('..').SlotSchema<T>;
|
|
14
|
+
}) => any>> & Partial<Record<`field-${import('..').DeepKeys<T>}`, (_: {
|
|
15
|
+
model: T;
|
|
16
|
+
schema: import('..').InputSchema<T> | import('..').SelectSchema<T> | import('..').RadioGroupSchema<T> | import('..').CheckboxGroupSchema<T> | import('..').DatePickerSchema<T> | import('..').InputNumberSchema<T> | import('..').NativeSchema<T> | import('..').CustomSchema<T>;
|
|
17
|
+
value: any;
|
|
18
|
+
setValue: (v: any) => void;
|
|
19
|
+
}) => any>> & {
|
|
20
|
+
header?(_: {
|
|
21
|
+
model: T;
|
|
22
|
+
}): any;
|
|
23
|
+
footer?(_: {
|
|
24
|
+
model: T;
|
|
25
|
+
validate: (callback?: (errors?: Array<import('naive-ui').FormValidationError>) => void, shouldRuleBeApplied?: (rule: any) => boolean) => Promise<void>;
|
|
26
|
+
reset: () => void;
|
|
27
|
+
}): any;
|
|
28
|
+
append?(_: {
|
|
29
|
+
model: T;
|
|
30
|
+
}): any;
|
|
31
|
+
};
|
|
32
|
+
emit: ((evt: "submit", value: T) => void) & ((evt: "reset") => void) & ((evt: "update:model", value: T) => void) & ((evt: "validate", errors: any) => void);
|
|
33
|
+
}>) => import('vue').VNode & {
|
|
34
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
35
|
+
};
|
|
36
|
+
export default _default;
|
|
37
|
+
type __VLS_PrettifyLocal<T> = {
|
|
38
|
+
[K in keyof T]: T[K];
|
|
39
|
+
} & {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FormInst, FormItemInst, FormValidationError } from 'naive-ui';
|
|
2
|
+
export interface DydxNaiveFormExpose<T extends Record<string, any>> {
|
|
3
|
+
formRef: FormInst | undefined;
|
|
4
|
+
validate: (callback?: (errors?: Array<FormValidationError>) => void, shouldRuleBeApplied?: (rule: any) => boolean) => Promise<void>;
|
|
5
|
+
validateField: (paths: string | string[], callback?: (errors?: Array<FormValidationError>) => void) => Promise<void>;
|
|
6
|
+
restoreValidation: () => void;
|
|
7
|
+
getFormData: () => T;
|
|
8
|
+
setFormData: (data: Partial<T>) => void;
|
|
9
|
+
getFieldValue: <K extends keyof T>(name: K) => T[K];
|
|
10
|
+
setFieldValue: <K extends keyof T>(name: K, value: T[K]) => void;
|
|
11
|
+
resetFields: () => void;
|
|
12
|
+
getFormItemInst: (path: string) => FormItemInst | undefined;
|
|
13
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { FormProps, GridProps, ButtonProps, FormItemGiProps } from 'naive-ui';
|
|
2
|
+
import { FormSchema, ResponsiveSpan } from './schema';
|
|
3
|
+
export interface FormButtonProps extends Partial<Omit<ButtonProps, 'text'>> {
|
|
4
|
+
text?: string;
|
|
5
|
+
hidden?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface ExtraButtonProps {
|
|
8
|
+
text: string;
|
|
9
|
+
onClick?: () => void;
|
|
10
|
+
type?: ButtonProps['type'];
|
|
11
|
+
size?: ButtonProps['size'];
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface DydxNaiveFormProps<T extends Record<string, any>> {
|
|
15
|
+
/** 表单字段配置数组 */
|
|
16
|
+
schemas: FormSchema<T>[];
|
|
17
|
+
/** 表单数据对象 */
|
|
18
|
+
model: T;
|
|
19
|
+
/** Form 组件的额外配置 */
|
|
20
|
+
formProps?: Partial<FormProps>;
|
|
21
|
+
/** 标签宽度,支持数字、字符串或 'auto' */
|
|
22
|
+
labelWidth?: number | string | 'auto';
|
|
23
|
+
/** 标签文本对齐方式 */
|
|
24
|
+
labelAlign?: 'left' | 'right';
|
|
25
|
+
/** 标签位置,默认 'top' */
|
|
26
|
+
labelPlacement?: 'left' | 'top';
|
|
27
|
+
/** 是否显示验证反馈,默认 true */
|
|
28
|
+
showFeedback?: boolean;
|
|
29
|
+
/** 是否显示标签,默认 true */
|
|
30
|
+
showLabel?: boolean;
|
|
31
|
+
/** 是否显示必填标记 */
|
|
32
|
+
showRequireMark?: boolean;
|
|
33
|
+
/** 必填标记位置,默认 'right' */
|
|
34
|
+
requireMarkPlacement?: 'left' | 'right' | 'right-hanging';
|
|
35
|
+
/** Grid 组件的额外配置 */
|
|
36
|
+
gridProps?: Partial<GridProps>;
|
|
37
|
+
/**
|
|
38
|
+
* Grid 列数或响应式列数,默认 { xs: 24, s: 12, m: 8, l: 6 }
|
|
39
|
+
*
|
|
40
|
+
* 响应式断点:
|
|
41
|
+
* - xs: <640px (超小屏幕)
|
|
42
|
+
* - s: ≥640px (小屏幕)
|
|
43
|
+
* - m: ≥1024px (中等屏幕)
|
|
44
|
+
* - l: ≥1280px (大屏幕)
|
|
45
|
+
* - xl: ≥1536px (超大屏幕)
|
|
46
|
+
* - xxl: ≥1920px (超超大屏幕)
|
|
47
|
+
*/
|
|
48
|
+
cols?: number | string | FormItemGiProps['span'] | ResponsiveSpan;
|
|
49
|
+
/** 水平间距 */
|
|
50
|
+
xGap?: number | string;
|
|
51
|
+
/** 垂直间距 */
|
|
52
|
+
yGap?: number | string;
|
|
53
|
+
/** 响应式模式 */
|
|
54
|
+
responsive?: 'self' | 'screen';
|
|
55
|
+
/** 是否显示底部按钮区域,默认 true */
|
|
56
|
+
showFooter?: boolean;
|
|
57
|
+
/** 底部按钮对齐方式,默认 'right' */
|
|
58
|
+
footerAlign?: 'left' | 'center' | 'right';
|
|
59
|
+
/** 底部区域占据的列数,默认 24 */
|
|
60
|
+
footerSpan?: number;
|
|
61
|
+
/** 提交按钮配置,hidden: true 隐藏 */
|
|
62
|
+
submitButton?: FormButtonProps;
|
|
63
|
+
/** 重置按钮配置,hidden: true 隐藏 */
|
|
64
|
+
resetButton?: FormButtonProps;
|
|
65
|
+
/** 额外的底部按钮 */
|
|
66
|
+
extraButtons?: ExtraButtonProps[];
|
|
67
|
+
/** 是否显示 loading */
|
|
68
|
+
loading?: boolean;
|
|
69
|
+
}
|
|
70
|
+
export interface DydxNaiveFormEmits<T extends Record<string, any>> {
|
|
71
|
+
'update:model': [value: T];
|
|
72
|
+
'submit': [value: T];
|
|
73
|
+
'reset': [];
|
|
74
|
+
'validate': [errors: any];
|
|
75
|
+
}
|