@aplus-frontend/ui
Version:
2 lines (1 loc) • 3.21 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),U=require("./hooks/useItems.js");require("../resize-observer/index.js");const w=require("./hooks/useSizes.js"),V=require("./hooks/useResizable.js"),F=require("./hooks/useResize.js");require("../config-provider/index.js");require("./Panel.vue.js");require("./SplitBar.vue.js");const L=require("lodash-unified"),j=require("../config-provider/hooks/use-namespace.js"),A=require("../resize-observer/index.vue.js"),D=require("./Panel.vue2.js"),H=require("./SplitBar.vue2.js"),T=e.defineComponent({name:"Splitter",__name:"Splitter",props:{prefixCls:{},className:{},style:{},rootClassName:{},layout:{default:"horizontal"},onResizeStart:{},onResize:{},onResizeEnd:{},lazy:{type:Boolean}},setup(d){const a=d,{b:u}=j.useNamespace("splitter"),o=U.useItems(),l=e.ref(),v=t=>{const{offsetWidth:r,offsetHeight:s}=t.target,n=a.layout==="vertical"?s:r;l.value!==0&&(l.value=n)},[y,f,z,k,g,C]=w.useSizes(o,l),i=V.useResizable(o,f,!1),[R,b,B,E,S]=F.useResize(o,i,z,l,C,!1),h=t=>{R(t),a.onResizeStart?.(e.unref(f))},q=(t,r)=>{const s=b(t,r);a.onResize?.(s)},N=()=>{B(),a.onResizeEnd?.(e.unref(f))},P=(t,r)=>{const s=E(t,r);a.onResize?.(s),a.onResizeEnd?.(s)},I=e.computed(()=>[u(),a.className,u(a.layout)]),_=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=e.unref(k),n=e.unref(g);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(A.default),{onResize:v},{default:e.withCtx(()=>[e.createElementVNode("div",{style:e.normalizeStyle(t.style),class:e.normalizeClass(I.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(D.default,e.mergeProps({ref_for:!0},e.unref(L.omit)(s,"_child"),{size:e.unref(y)[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(H.default,{key:0,lazy:t.lazy,index:n,active:e.unref(S)===n,vertical:t.layout==="vertical",resizable:e.unref(i)[n].resizable,"aria-now":_.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:h,onOffsetUpdate:(m,p,M)=>{let O=t.layout==="vertical"?M:p;q(m,O)},onOffsetEnd:N,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(S)=="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=T;