UNPKG

@aplus-frontend/ui

Version:

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