index.2bd143b2.js 2.9 KB

1
  1. import{q as g,r as E,A as i,v as t,E as c,X as F,Y as y,F as T,_ as L,a9 as M,B as W,o as V,x as O,M as l,p as r,a1 as K,a2 as P}from"./index.41f763da.js";var I=g({name:"Resizer",props:{split:{type:String,required:!0},className:{type:String,default:""}},setup(A){const a=E(()=>["splitter-pane-resizer",A.split,A.className].join(" "));return()=>i("div",{class:t(a)},null)}});var D=g({name:"SplitPane",components:{resizer:I},props:{splitSet:{type:Object,require:!0}},emits:["resize"],setup(A,a){var f,h,v,Q,u;const s=c(!1),p=c(!1),o=c((f=A.splitSet)==null?void 0:f.defaultPercent),B=((h=A.splitSet)==null?void 0:h.split)==="vertical"?"width":"height",N=((v=A.splitSet)==null?void 0:v.split)==="vertical"?"left":"top",k=c(["splitter-pane splitter-paneL",(Q=A.splitSet)==null?void 0:Q.split]),R=c(["splitter-pane splitter-paneR",(u=A.splitSet)==null?void 0:u.split]),z=E(()=>{var e;return s.value?((e=A.splitSet)==null?void 0:e.split)==="vertical"?{cursor:"col-resize"}:{cursor:"row-resize"}:{cursor:"default"}}),j=()=>{p.value||(o.value=50,a.emit("resize",o.value))},U=()=>{s.value=!0,p.value=!1},Z=()=>{s.value=!1},H=e=>{var C,J,w,b,G;if((e.buttons===0||e.which===0)&&(s.value=!1),s.value){let m=0,n=e.currentTarget;if(((C=A.splitSet)==null?void 0:C.split)==="vertical")for(;n;)m+=n.offsetLeft,n=n.offsetParent;else for(;n;)m+=n.offsetTop,n=n.offsetParent;const S=((J=A.splitSet)==null?void 0:J.split)==="vertical"?e.pageX:e.pageY,x=((w=A.splitSet)==null?void 0:w.split)==="vertical"?e.currentTarget.offsetWidth:e.currentTarget.offsetHeight,Y=Math.floor((S-m)/x*1e4)/100;Y>((b=A.splitSet)==null?void 0:b.minPercent)&&Y<100-((G=A.splitSet)==null?void 0:G.minPercent)&&(o.value=Y),a.emit("resize",o.value),p.value=!0}};return()=>{var e;return i(T,null,[i("div",{class:"vue-splitter-container clearfix",style:t(z),onMouseup:()=>Z(),onMousemove:()=>H(event)},[i("div",{class:t(k),style:{[t(B)]:t(o)+"%"}},[a.slots.paneL()]),i(I,{style:`${t([N])}:${t(o)}%`,split:(e=A.splitSet)==null?void 0:e.split,onMousedown:()=>U(),onClick:()=>j()},null),i("div",{class:t(R),style:{[t(B)]:100-t(o)+"%"}},[a.slots.paneR()]),F(i("div",{class:"vue-splitter-container-mask"},null),[[y,t(s)]])])])}}});const d=A=>(K("data-v-7bd4d39f"),A=A(),P(),A),_=d(()=>r("div",{class:"card-header"},[r("span",{class:"font-medium"},"\u5207\u5272\u9762\u677F\u7EC4\u4EF6")],-1)),q={class:"split-pane"},X=d(()=>r("div",{class:"dv-a"},"A",-1)),$=d(()=>r("div",{class:"dv-b"},"B",-1)),AA=d(()=>r("div",{class:"dv-c"},"C",-1)),eA={name:"SplitPane"},tA=g({...eA,setup(A){const a=M({minPercent:20,defaultPercent:40,split:"vertical"}),s=M({minPercent:20,defaultPercent:40,split:"horizontal"});return(p,o)=>{const B=W("el-card");return V(),O(B,null,{header:l(()=>[_]),default:l(()=>[r("div",q,[i(t(D),{splitSet:a},{paneL:l(()=>[X]),paneR:l(()=>[i(t(D),{splitSet:s},{paneL:l(()=>[$]),paneR:l(()=>[AA]),_:1},8,["splitSet"])]),_:1},8,["splitSet"])])]),_:1})}}});var aA=L(tA,[["__scopeId","data-v-7bd4d39f"]]);export{aA as default};