@aplus-frontend/ui
Version:
2 lines (1 loc) • 3.27 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),w=require("./hooks/useItems.js");require("../resize-observer/index.js");const V=require("./hooks/useSizes.js"),F=require("./hooks/useResizable.js"),L=require("./hooks/useResize.js");require("../config-provider/index.js");require("./Panel.vue.js");require("./SplitBar.vue.js");const j=require("lodash-unified"),A=require("./style/index.js"),D=require("../config-provider/hooks/use-namespace.js"),H=require("../resize-observer/index.vue.js"),T=require("./Panel.vue2.js"),W=require("./SplitBar.vue2.js"),$=e.defineComponent({name:"Splitter",__name:"Splitter",props:{prefixCls:{},className:{},style:{},rootClassName:{},layout:{default:"horizontal"},onResizeStart:{},onResize:{},onResizeEnd:{},lazy:{type:Boolean}},setup(_){const a=_,{b:u}=D.useNamespace("splitter"),v=A.default("splitter"),o=w.useItems(),l=e.ref(),y=t=>{const{offsetWidth:r,offsetHeight:s}=t.target,n=a.layout==="vertical"?s:r;l.value!==0&&(l.value=n)},[k,f,z,g,C,R]=V.useSizes(o,l),i=F.useResizable(o,f,!1),[b,h,B,q,d]=L.useResize(o,i,z,l,R,!1),E=t=>{b(t),a.onResizeStart?.(e.unref(f))},N=(t,r)=>{const s=h(t,r);a.onResize?.(s)},I=()=>{B(),a.onResizeEnd?.(e.unref(f))},P=(t,r)=>{const s=q(t,r);a.onResize?.(s),a.onResizeEnd?.(s)},M=e.computed(()=>[u(),a.className,u(a.layout),v.value]),S=e.computed(()=>{const t=[];let r=0;for(let s=0;s<o.value.length;s+=1)r+=e.unref(z)[s],t.push(r);return t}),c=t=>{const r=e.unref(S),s=e.unref(g),n=e.unref(C);return{minStart:(r[t-1]||0)+s[t],minEnd:(r[t+1]||100)-n[t+1],maxStart:(r[t-1]||0)+n[t],maxEnd:(r[t+1]||100)-s[t+1]}};return(t,r)=>(e.openBlock(),e.createBlock(e.unref(H.default),{onResize:y},{default:e.withCtx(()=>[e.createElementVNode("div",{style:e.normalizeStyle(t.style),class:e.normalizeClass(M.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o),(s,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:n},[e.createVNode(T.default,e.mergeProps({ref_for:!0},e.unref(j.omit)(s,"_child"),{size:e.unref(k)[n]}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s._child,(m,p)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m),{key:p}))),128))]),_:2},1040,["size"]),e.unref(i)[n]?(e.openBlock(),e.createBlock(W.default,{key:0,lazy:t.lazy,index:n,active:e.unref(d)===n,vertical:t.layout==="vertical",resizable:e.unref(i)[n].resizable,"aria-now":S.value[n]*100,"aria-min":Math.max(c(n).minStart,c(n).minEnd)*100,"aria-max":Math.min(c(n).maxStart,c(n).maxEnd)*100,"start-collapsible":e.unref(i)[n].startCollapsible,"end-collapsible":e.unref(i)[n].endCollapsible,"container-size":l.value||0,onOffsetStart:E,onOffsetUpdate:(m,p,O)=>{let U=t.layout==="vertical"?O:p;N(m,U)},onOffsetEnd:I,onCollapse:P},null,8,["lazy","index","active","vertical","resizable","aria-now","aria-min","aria-max","start-collapsible","end-collapsible","container-size","onOffsetUpdate"])):e.createCommentVNode("",!0)],64))),128)),typeof e.unref(d)=="number"?(e.openBlock(),e.createElementBlock("div",{key:0,"aria-hidden":"",class:e.normalizeClass([e.unref(u)("mask"),e.unref(u)(`mask-${t.layout}`)])},null,2)):e.createCommentVNode("",!0)],6)]),_:1}))}});exports.default=$;