mwl-components 0.1.2 → 0.1.4

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.
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),F=require("element-plus"),_=e.defineComponent({name:"EasyButton",inheritAttrs:!1,__name:"index",setup(t){const{onClick:o,...n}=e.useAttrs(),r=e.ref(!1),i=async()=>{console.log("Button clicked"),r.value=!0;try{await o?.()}catch(c){console.error("Error in button onClick handler:",c)}finally{r.value=!1}};return(c,u)=>{const a=e.resolveComponent("el-button");return e.openBlock(),e.createBlock(a,e.mergeProps(n,{loading:r.value,onClick:i}),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16,["loading"])}}}),z={class:"card-header"},O={key:0,class:"card-header__message"},W=e.defineComponent({name:"ContentWarp",__name:"index",props:{title:String,message:String},setup(t){const o=e.useSlots(),n=e.ref("content-wrap");return(r,i)=>{const c=e.resolveComponent("ElCard");return e.openBlock(),e.createBlock(c,{class:e.normalizeClass([n.value]),shadow:"never"},e.createSlots({default:e.withCtx(()=>[e.renderSlot(r.$slots,"default",{},void 0,!0)]),_:2},[t.title?{name:"header",fn:e.withCtx(()=>[e.createElementVNode("div",z,[e.createElementVNode("span",null,e.toDisplayString(t.title),1),t.message?(e.openBlock(),e.createElementBlock("span",O,e.toDisplayString(t.message),1)):e.createCommentVNode("",!0)])]),key:"0"}:void 0,o.footer?{name:"footer",fn:e.withCtx(()=>[e.renderSlot(r.$slots,"footer",{},void 0,!0)]),key:"1"}:void 0]),1032,["class"])}}}),b=(t,o)=>{const n=t.__vccOpts||t;for(const[r,i]of o)n[r]=i;return n},M=b(W,[["__scopeId","data-v-fdaaba5e"]]),A={class:"dialog-header"},$=e.defineComponent({name:"Dialog",__name:"index",props:{title:{type:String,default:""},fullscreen:{type:Boolean,default:!1},scroll:{type:Boolean,default:!1},width:{type:String,default:"61.8%"},maxHeight:{type:[String,Number],default:""}},setup(t){const o=e.useSlots(),n=t,r=e.ref(n.fullscreen),i=()=>{r.value=!e.unref(r)},c=e.ref(n.maxHeight);e.watch(()=>r.value,async a=>{if(await e.nextTick(),a){const l=document.documentElement.offsetHeight;c.value=`${l-55-40-(o.footer?63:0)}px`}else c.value=n.maxHeight},{immediate:!0});const u=e.computed(()=>{if(n.maxHeight)return{height:e.unref(c)}});return(a,l)=>{const m=e.resolveComponent("FullScreen"),d=e.resolveComponent("el-icon"),h=e.resolveComponent("ElScrollbar"),f=e.resolveComponent("ElDialog");return e.openBlock(),e.createBlock(f,e.mergeProps({"close-on-click-modal":!1,"destroy-on-close":"",draggable:"","lock-scroll":"",class:"custom-dialog","append-to-body":""},a.$attrs,{fullscreen:r.value,width:t.width}),e.createSlots({default:e.withCtx(()=>[t.scroll?(e.openBlock(),e.createBlock(h,{key:0,style:e.normalizeStyle(u.value)},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},8,["style"])):e.renderSlot(a.$slots,"default",{key:1})]),_:2},[t.title?{name:"header",fn:e.withCtx(()=>[e.createElementVNode("div",A,[e.renderSlot(a.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),e.createElementVNode("div",{onClick:i},[e.createVNode(d,{class:"fullScreen"},{default:e.withCtx(()=>[e.createVNode(m)]),_:1})])])]),key:"0"}:void 0,o.footer?{name:"footer",fn:e.withCtx(()=>[e.renderSlot(a.$slots,"footer")]),key:"1"}:void 0]),1040,["fullscreen","width"])}}}),j={key:1},D=t=>{let o=t.label;if(t.label&&typeof t.label=="function"&&(o=t.label()),t.type.indexOf("select")>-1||t.type.indexOf("cascader")>-1||t.type.indexOf("date")>-1)return`请选择${o}`;if(t.type.indexOf("text")>-1||t.type.indexOf("number")>-1)return`请输入${o}`},w={valueFormat:"YYYY-MM-DD HH:mm:ss",format:"YYYY-MM-DD HH:mm:ss"},R=t=>{const{options:o}=t;return{default:()=>o?.map(n=>e.h(e.resolveComponent("el-option"),{label:n.label,value:n.value,key:n.value}))}},S={clearable:!0},N=[{type:"slider",component:"el-slider"},{type:"text",component:"el-input",attrs:{...S}},{type:"textarea",component:"el-input",attrs:{...S}},{type:"number",component:"el-input-number",attrs:{controlsPosition:"right"}},{type:"switch",component:"el-switch"},{type:"checkbox",component:"el-checkbox-group",slots:t=>{const{options:o}=t;return{default:()=>o?.map(n=>e.h(e.resolveComponent("el-checkbox"),{value:n.value},{default:()=>n.label}))}}},{type:"radio",component:"el-radio-group",slots:t=>{const{options:o}=t;return{default:()=>o?.map(n=>e.h(e.resolveComponent("el-radio"),{value:n.value},{default:()=>n.label}))}}},{type:"select",component:"el-select",slots:R},{type:"select-v2",component:"el-select-v2"},{type:"tree-select",component:"el-tree-select",attrs:{...S,checkStrictly:!0,renderAfterExpand:!0}},{type:"date,dates",component:"el-date-picker",attrs:{showConfirm:!1,valueFormat:"YYYY-MM-DD",format:"YYYY-MM-DD"}},{type:"datetime,week",component:"el-date-picker",attrs:{showConfirm:!1,...w}},{type:"month,months",component:"el-date-picker",attrs:{showConfirm:!1,valueFormat:"YYYY-MM",format:"YYYY-MM"}},{type:"year,years",component:"el-date-picker",attrs:{showConfirm:!1,valueFormat:"YYYY",format:"YYYY"}},{type:"datetimerange,daterange,monthrange,yearrange",component:"el-date-picker",attrs:{showConfirm:!1,rangeSeparator:"至",startPlaceholder:"开始日期",endPlaceholder:"结束日期",...w}},{type:"cascader",component:"el-cascader",attrs:{clearable:!0}},{type:"upload",component:"el-upload"},{type:"custom",component:"el-form-item"}],q=e.defineComponent({name:"EasyForm",__name:"index",props:e.mergeModels({inline:{type:Boolean,default:!0},formItems:{type:Array,default:()=>[]},labelWidth:{type:[String,Number],default:"120px"},itemWidth:{type:[String],default:"200px"}},{modelValue:{default:{},type:Object},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=e.useModel(t,"modelValue"),n=e.getCurrentInstance(),r=a=>{i(a,"formRef")},i=(a,l)=>{if(!a){delete n?.exposeProxy?.[l],delete n?.exposed?.[l];return}n.exposeProxy={...n?.exposed,[l]:a},n.exposed={...n?.exposed,[l]:a}},c=e.useSlots(),u=(a,l,m)=>{const{value:d,component:h,...f}=l,p=N.find(y=>!!a&&y.type.indexOf(a)>-1),k=p?.component==="el-select"&&l.props,g=l.options&&!k?p?.slots?.(l):{};if(!p&&!l.component)return new Error(`未找到type为${a}的组件且当前也未传递component`);const s=e.resolveDynamicComponent(p?.component||h);if(s)return e.h(s,{...p?.attrs,...f,placeholder:f.placeholder||D(l)},{...g,...m})};return(a,l)=>{const m=e.resolveComponent("el-form-item"),d=e.resolveComponent("el-form");return e.openBlock(),e.createBlock(d,e.mergeProps({model:o.value,"label-width":t.labelWidth,inline:t.inline,"scroll-to-error":!0},{...a.$attrs},{ref:r,class:"easy-form"}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.formItems,({id:h,type:f,rule:p,width:k,slots:g,...s},y)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[f!="custom"&&!s.hidden?(e.openBlock(),e.createBlock(m,{prop:s.prop,key:y,"label-width":s.labelWidth,rules:p,required:s.required},{label:e.withCtx(()=>[s.label&&typeof s.label=="function"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.label),{key:0})):(e.openBlock(),e.createElementBlock("span",j,e.toDisplayString(s.label),1))]),default:e.withCtx(()=>[c[s.prop]?e.renderSlot(a.$slots,s.prop,{key:0,item:s},void 0,!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u(f,{...s,type:f},g)),{key:1,modelValue:o.value[s.prop],"onUpdate:modelValue":v=>o.value[s.prop]=v,modelModifiers:{trim:!0},style:e.normalizeStyle({width:k||t.itemWidth})},null,8,["modelValue","onUpdate:modelValue","style"]))]),_:2},1032,["prop","label-width","rules","required"])):e.createCommentVNode("",!0),f=="custom"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[g?.[s.prop]?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g[s.prop]),{key:0})):e.renderSlot(a.$slots,s.prop,{key:1,item:{width:k,rule:p,...s}},void 0,!0)],64)):e.createCommentVNode("",!0)],64))),256)),c.append?(e.openBlock(),e.createBlock(m,{key:0},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"append",{},void 0,!0)]),_:3})):e.createCommentVNode("",!0)]),_:3},16,["model","label-width","inline"])}}}),H=b(q,[["__scopeId","data-v-ebcd5674"]]),U=e.defineComponent({name:"EasyTable",__name:"index",props:{data:{type:Array,required:!0,default:()=>[]},tableColumns:{type:Array,default:()=>[]},buttons:{type:Array,default:()=>[]},buttonWidth:{type:[Number,String],default:120},align:{type:String,default:"center"},height:{type:Number||String,default:void 0},maxHeight:{type:String||Number,default:void 0},footerHeight:{type:Number,default:65}},setup(t){const o=e.inject(F.configProviderContextKey),n=t,r=e.computed(()=>n.buttonWidth.toString().indexOf("px")>-1?n.buttonWidth.toString().slice(0,-2):n.buttonWidth),i=e.ref(),c=e.ref("auto");let u=e.getCurrentInstance();const a=()=>{let p="auto";if(u?.parent?.attrs?.class?.indexOf("content-wrap")>-1){let s=n.footerHeight;o?.value?.size==="small"?s=s-8:o?.value?.size==="large"&&(s=s+8);try{const y=u?.refs.tableRef,{top:v}=y?.getBoundingClientRect();p=document.documentElement.clientHeight-v-s-20}catch{}return p}return p},l=e.ref(),m=()=>{l.value&&clearTimeout(l.value),l.value=setTimeout(()=>{c.value=a(),l.value=null},100)};e.onMounted(()=>{c.value=a(),window.addEventListener("resize",m)}),e.onUnmounted(()=>{window.removeEventListener("resize",m)});const d=e.resolveComponent("el-table-column"),h=e.useSlots(),f=p=>{const{slots:k={},children:g=[],...s}=p;if(g&&g.length>0){const y=g.map(v=>f(v));return e.h(d,{align:n.align,...s},{...k,default:()=>y})}return e.h(d,{align:n.align,...s},{default:y=>h[p.prop]&&h[p.prop](y),...k})};return(p,k)=>{const g=e.resolveComponent("el-button"),s=e.resolveComponent("el-table-column"),y=e.resolveComponent("el-table");return e.openBlock(),e.createElementBlock("div",{ref_key:"tableRef",ref:i},[e.createVNode(y,e.mergeProps({style:{width:"100%"}},p.$attrs,{data:t.data,height:t.height,maxHeight:t.maxHeight?t.maxHeight:c.value}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.tableColumns,(v,x)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f(v)),{key:x}))),128)),t.buttons&&t.buttons.length?(e.openBlock(),e.createBlock(s,{key:0,align:"center",fixed:"right",label:"操作",width:r.value},{default:e.withCtx(v=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.buttons,(x,T)=>e.withDirectives((e.openBlock(),e.createBlock(g,e.mergeProps({ref_for:!0},{...x},{key:T,type:x.type.includes("del")?"danger":"primary",onClick:()=>{x.click?.(v.row)},disabled:x.disabled?.(v.row)||!1,link:x.link?.(v.row)||!0}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.label),1)]),_:2},1040,["type","onClick","disabled","link"])),[[e.vShow,x.show?.(v.row)||!0]])),128))]),_:1},8,["width"])):e.createCommentVNode("",!0)]),_:1},16,["data","height","maxHeight"])],512)}}}),Y=b(U,[["__scopeId","data-v-1c87357b"]]),X={name:"",components:{},props:{icon:{type:String,default:""}}};function K(t,o,n,r,i,c){return n.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.icon),{key:0,class:"menu_icon"})):e.createCommentVNode("",!0)}const B=b(X,[["render",K],["__scopeId","data-v-261ce99a"]]),G=e.defineComponent({name:"subMenu",__name:"subMenu",props:{routeData:{type:Object,default:()=>({})}},emits:["handleMenuItemClick"],setup(t,{emit:o}){const n=o;function r(i){n("handleMenuItemClick",i)}return(i,c)=>{const u=e.resolveComponent("subMenu",!0),a=e.resolveComponent("el-sub-menu"),l=e.resolveComponent("el-menu-item");return t.routeData.children&&t.routeData.children.length>0?(e.openBlock(),e.createBlock(a,{key:0,index:t.routeData.path},{title:e.withCtx(()=>[e.createVNode(B,{icon:t.routeData.meta.icon},null,8,["icon"]),e.createElementVNode("span",null,e.toDisplayString(t.routeData.meta.title),1)]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.routeData.children,(m,d)=>(e.openBlock(),e.createBlock(u,{onHandleMenuItemClick:r,routeData:m,key:d},null,8,["routeData"]))),128))]),_:1},8,["index"])):(e.openBlock(),e.createElementBlock("div",{key:1,onClick:c[0]||(c[0]=m=>r(t.routeData))},[e.createVNode(l,{index:t.routeData.path},{title:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(t.routeData.meta.title),1)]),default:e.withCtx(()=>[e.createVNode(B,{icon:t.routeData.meta.icon},null,8,["icon"])]),_:1},8,["index"])]))}}}),L=e.defineComponent({name:"MenuTree",__name:"index",props:{menuList:{type:Array,default:()=>[]}},emits:["handleMenuItemClick"],setup(t,{emit:o}){const n=o,r=i=>{n("handleMenuItemClick",i)};return(i,c)=>{const u=e.resolveComponent("el-menu");return e.openBlock(),e.createBlock(u,e.normalizeProps(e.guardReactiveProps(i.$attrs)),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.menuList,a=>(e.openBlock(),e.createBlock(G,{routeData:a,onHandleMenuItemClick:r},null,8,["routeData"]))),256))]),_:1},16)}}}),J=e.defineComponent({name:"Pagination",__name:"index",props:{total:{required:!0,type:Number},page:{type:Number,default:1},limit:{type:Number,default:20},pagerCount:{type:Number,default:document.body.clientWidth<992?5:7},onPagination:{type:Function}},emits:["update:page","update:limit","pagination"],setup(t,{emit:o}){const n=t,r=o,i=e.computed({get(){return n.page},set(l){r("update:page",l)}}),c=e.computed({get(){return n.limit},set(l){r("update:limit",l)}}),u=l=>{i.value*l>n.total&&(i.value=1),r("pagination",{page:i.value,limit:l})},a=l=>{r("pagination",{page:l,limit:c.value})};return(l,m)=>{const d=e.resolveComponent("el-pagination");return e.withDirectives((e.openBlock(),e.createBlock(d,{"current-page":i.value,"onUpdate:currentPage":m[0]||(m[0]=h=>i.value=h),"page-size":c.value,"onUpdate:pageSize":m[1]||(m[1]=h=>c.value=h),background:!0,"page-sizes":[10,20,30,50,100],"pager-count":t.pagerCount,total:t.total,class:"pagination",layout:"total, sizes, prev, pager, next, jumper",onSizeChange:u,onCurrentChange:a},null,8,["current-page","page-size","pager-count","total"])),[[e.vShow,t.total>0]])}}}),P=b(J,[["__scopeId","data-v-1e34e383"]]),Q=["onClick","onMouseover"],Z=e.defineComponent({name:"EasyContextMenu",__name:"index",props:{menuList:{type:Array,default:()=>[]},maxHeight:{type:[String,Number],default:200},backgroundColor:{type:String,default:"#fff"},hoverItemStyle:{type:Object,default:()=>({backgroundColor:"#ddd"})},animationCurve:{type:String,default:"linear"}},setup(t){const o=t,n=e.ref(-1),r=e.ref(!1),i=e.ref({x:0,y:0}),c=d=>{r.value=!1,d.preventDefault(),d.stopPropagation(),setTimeout(()=>{r.value=!0;const{clientX:h,clientY:f}=d;i.value={x:h,y:f},u.value?.scrollTo(0,0)},0)},u=e.ref(null),a=e.ref(null);e.onMounted(()=>{const d=a.value?.parentElement;d?.addEventListener("contextmenu",c),document.addEventListener("click",()=>{r.value=!1}),d?.addEventListener("blur",()=>{console.log("blur"),r.value=!1})});const l=e.computed(()=>o.maxHeight=="auto"?"auto":o.maxHeight.toString().indexOf("px")>-1?o.maxHeight:`${o.maxHeight}px`),m=e.computed(()=>({backgroundColor:o.backgroundColor,left:`${i.value.x}px`,top:`${i.value.y}px`,maxHeight:r.value?l.value:"0px",transition:r.value?`max-height .2s ${o.animationCurve}`:"none"}));return(d,h)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"contextMenu",ref:a},[e.createElementVNode("div",e.mergeProps({class:"easy-context-menu"},d.$attrs,{style:{...e.unref(m)},ref_key:"menuListRef",ref:u}),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.menuList,(f,p)=>(e.openBlock(),e.createElementBlock("div",{key:p,onContextmenu:h[0]||(h[0]=e.withModifiers(()=>{},["stop"])),onClick:f.onClick,onMouseover:k=>n.value=p,onMouseout:h[1]||(h[1]=k=>n.value=-1),style:e.normalizeStyle(e.unref(n)===p?o.hoverItemStyle:"")},e.toDisplayString(f.label),45,Q))),128))],16)],512))}}),V=b(Z,[["__scopeId","data-v-f9f5bc05"]]);class C{vnode=null;#e={bindEvent:!0};defaultStyle={position:"fixed","z-index":1e3,"border-radius":"4px",color:"#666","font-size":"14px","min-width":"100px","box-shadow":"1px 1px 11px 0px #a6b5ba","background-color":"#fff",padding:"4px",overflow:"hidden"};hoverStyle={"background-color":"#8f9f80ff"};menu=null;static#t=null;static getInstance(){return C.#t||(C.#t=new C),C.#t}constructor(){C.#t||(C.#t=this)}create(o){const n=C.getInstance();return n.vnode!==o.target&&n.destroy(),n.vnode=o.target||null,n.#e={...n.#e,...o},n.#o(),n}#o(){this.defaultStyle={...this.defaultStyle,...this.#e.style},this.hoverStyle={...this.hoverStyle,...this.#e.hoverStyle},this.vnode&&this.vnode?.addEventListener(this.#e.event||"contextmenu",this.showMenu),document.addEventListener("click",this.hideMenu),document.addEventListener("keydown",this.hideMenu)}destroy(){this.vnode?.removeEventListener(this.#e.event||"contextmenu",this.showMenu),document.removeEventListener("click",this.hideMenu),document.removeEventListener("keydown",this.hideMenu),this.resetContextMenu()}resetContextMenu(){this.#e.appendToBody?this.menu&&document.body.removeChild(this.menu):this.vnode?.contains(this.menu)&&this.menu&&this.vnode?.removeChild(this.menu),this.menu=null}#n(){this.menu&&(this.menu.style.transition="none",this.menu.style.maxHeight="0",this.menu.style.display="none")}setMenuList(o){this.#e.menuList=o}showMenu(o){C.#t.#l(o)}hideMenu(){C.#t.#n()}#l(o){if(o.preventDefault(),o.stopPropagation(),this.#e.menuList.length===0)return;if(this.vnode||(this.vnode=o.target),console.log(this,"this"),this.#n(),!this.menu){const u=document.createElement("div");u.className=this.#e.classNames||"",this.menu=u,this.#e.menuList.forEach(a=>{const l=document.createElement("div");if(!a.label&&a.divider){l.style="padding: 0; margin: 5px 0; border-top: 1px solid #e6e6e6;",u.appendChild(l);return}const m=";padding: 5px 10px; cursor: pointer;";if(l.style=m,l.innerText=a.label,a.disabled){l.style.cssText+="color: #ccc; cursor: not-allowed;",u.appendChild(l);return}u.appendChild(l),l.addEventListener("click",d=>{o.stopPropagation(),a.onClick&&a.onClick(d),this.#n()}),l.addEventListener("mouseover",()=>{l.style.cssText=Object.entries(this.hoverStyle).map(([d,h])=>`${d}:${h}`).join(";")+m}),l.addEventListener("mouseout",()=>{l.style=m})}),this.#e.appendToBody?document.body.appendChild(u):this.vnode?.appendChild(u)}const{clientX:n,clientY:r}=o,i={display:"block",...this.defaultStyle,left:`${n}px`,top:`${r}px`};let c=Object.entries(i).map(([u,a])=>`${u}:${a}`).join(";");this.menu.style.cssText=c,this.menu.style.transition="none",this.menu.style.maxHeight="0",setTimeout(()=>{this.menu&&(this.menu.style.maxHeight=`${this.#e.style?.["max-height"]||"200px"}`,this.menu.style.transition=`${this.#e.style?.transition||"max-height 0.1s ease-in-out"}`)},0),this.menu.scrollTo(0,0)}}const ee=C.getInstance(),te=[_,M,$,H,Y,L,P,V],E=[],I=(t,o)=>{te.forEach(n=>{E.push(n.name),t.component(n.name,n)}),console.log("mwl-components",E)},ne={install:I};exports.ContentWarp=M;exports.ContextMenu=ee;exports.Dialog=$;exports.EasyButton=_;exports.EasyContextMenu=V;exports.EasyForm=H;exports.EasyTable=Y;exports.MenuTree=L;exports.Pagination=P;exports.componentsMap=N;exports.default=ne;exports.getPlaceholder=D;exports.install=I;