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.
Files changed (37) hide show
  1. package/README.md +75 -0
  2. package/dist/dydx-naive-ui-for-vue.css +2 -0
  3. package/dist/dydx-naive-ui-for-vue.js +1758 -0
  4. package/dist/dydx-naive-ui-for-vue.umd.cjs +1 -0
  5. package/dist/types/components/FormModal/index.d.ts +4 -0
  6. package/dist/types/components/FormModal/src/DydxFormDrawer.vue.d.ts +63 -0
  7. package/dist/types/components/FormModal/src/DydxFormModal.vue.d.ts +61 -0
  8. package/dist/types/components/FormModal/types.d.ts +27 -0
  9. package/dist/types/components/IconSelect/index.d.ts +3 -0
  10. package/dist/types/components/IconSelect/src/DydxIconSelect.vue.d.ts +20 -0
  11. package/dist/types/components/IconSelect/types.d.ts +9 -0
  12. package/dist/types/components/NaiveForm/index.d.ts +83 -0
  13. package/dist/types/components/NaiveForm/src/DydxNaiveForm.vue.d.ts +39 -0
  14. package/dist/types/components/NaiveForm/types/expose.d.ts +13 -0
  15. package/dist/types/components/NaiveForm/types/index.d.ts +3 -0
  16. package/dist/types/components/NaiveForm/types/props.d.ts +75 -0
  17. package/dist/types/components/NaiveForm/types/schema.d.ts +118 -0
  18. package/dist/types/components/NaiveForm/utils/component-map.d.ts +2 -0
  19. package/dist/types/components/NaiveForm/utils/path.d.ts +2 -0
  20. package/dist/types/components/NaiveTable/composables/index.d.ts +4 -0
  21. package/dist/types/components/NaiveTable/composables/useColumnRender.d.ts +24 -0
  22. package/dist/types/components/NaiveTable/composables/useColumns.d.ts +34 -0
  23. package/dist/types/components/NaiveTable/composables/usePagination.d.ts +23 -0
  24. package/dist/types/components/NaiveTable/composables/useTableActions.d.ts +15 -0
  25. package/dist/types/components/NaiveTable/index.d.ts +53 -0
  26. package/dist/types/components/NaiveTable/src/DydxNaiveTable.vue.d.ts +26 -0
  27. package/dist/types/components/NaiveTable/types/columns.d.ts +155 -0
  28. package/dist/types/components/NaiveTable/types/expose.d.ts +24 -0
  29. package/dist/types/components/NaiveTable/types/index.d.ts +3 -0
  30. package/dist/types/components/NaiveTable/types/props.d.ts +132 -0
  31. package/dist/types/components/NaiveUpload/index.d.ts +4 -0
  32. package/dist/types/components/NaiveUpload/src/DydxUpload.vue.d.ts +4568 -0
  33. package/dist/types/components/NaiveUpload/types.d.ts +43 -0
  34. package/dist/types/index.d.ts +16 -0
  35. package/dist/vite.svg +1 -0
  36. package/dist/volar.d.ts +13 -0
  37. 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,4 @@
1
+ import { default as DydxFormModal } from './src/DydxFormModal.vue';
2
+ import { default as DydxFormDrawer } from './src/DydxFormDrawer.vue';
3
+ export { DydxFormModal, DydxFormDrawer };
4
+ export type { FormModalProps, FormDrawerProps, FormModalExpose } from './types';
@@ -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,3 @@
1
+ import { default as DydxIconSelect } from './src/DydxIconSelect.vue';
2
+ export { DydxIconSelect };
3
+ export type { DydxIconSelectProps } from './types';
@@ -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,9 @@
1
+ export interface DydxIconSelectProps {
2
+ value?: string | null;
3
+ placeholder?: string;
4
+ disabled?: boolean;
5
+ clearable?: boolean;
6
+ filterable?: boolean;
7
+ /** 图标风格过滤 */
8
+ iconStyle?: 'outline' | 'sharp' | 'filled' | 'all';
9
+ }
@@ -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,3 @@
1
+ export * from './schema';
2
+ export * from './props';
3
+ export * from './expose';
@@ -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
+ }