UNPKG

ll-package

Version:

2 lines (1 loc) 4.74 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("../../../@babel/runtime/helpers/esm/objectSpread2.js"),O=require("../../../@babel/runtime/helpers/esm/extends.js"),l=require("vue"),ie=require("../vc-resize-observer/index.js"),se=require("../_util/classNames.js"),G=require("../_util/vue-types/index.js"),L=require("./context.js"),p=require("./Item.js"),de=require("./RawItem.js");var ce=function(e,C){var f={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&C.indexOf(r)<0&&(f[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)C.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(f[r[i]]=e[r[i]]);return f};const X="responsive",B="invalidate";function fe(e){return`+ ${e.length} ...`}const ve=()=>({id:String,prefixCls:String,data:Array,itemKey:[String,Number,Function],itemWidth:{type:Number,default:10},renderItem:Function,renderRawItem:Function,maxCount:[Number,String],renderRest:Function,renderRawRest:Function,suffix:G.default.any,component:String,itemComponent:G.default.any,onVisibleChange:Function,ssr:String,onMousedown:Function}),_=l.defineComponent({name:"Overflow",inheritAttrs:!1,props:ve(),emits:["visibleChange"],setup(e,C){let{attrs:f,emit:r,slots:i}=C;const F=l.computed(()=>e.ssr==="full"),E=l.shallowRef(null),d=l.computed(()=>E.value||0),b=l.shallowRef(new Map),q=l.shallowRef(0),h=l.shallowRef(0),g=l.shallowRef(0),v=l.shallowRef(null),W=l.shallowRef(null),R=l.computed(()=>W.value===null&&F.value?Number.MAX_SAFE_INTEGER:W.value||0),K=l.shallowRef(!1),N=l.computed(()=>`${e.prefixCls}-item`),z=l.computed(()=>Math.max(q.value,h.value)),m=l.computed(()=>!!(e.data.length&&e.maxCount===X)),$=l.computed(()=>e.maxCount===B),H=l.computed(()=>m.value||typeof e.maxCount=="number"&&e.data.length>e.maxCount),y=l.computed(()=>{let t=e.data;return m.value?E.value===null&&F.value?t=e.data:t=e.data.slice(0,Math.min(e.data.length,d.value/e.itemWidth)):typeof e.maxCount=="number"&&(t=e.data.slice(0,e.maxCount)),t}),P=l.computed(()=>m.value?e.data.slice(R.value+1):e.data.slice(y.value.length)),V=(t,a)=>{var n;return typeof e.itemKey=="function"?e.itemKey(t):(n=e.itemKey&&(t==null?void 0:t[e.itemKey]))!==null&&n!==void 0?n:a},J=l.computed(()=>e.renderItem||(t=>t)),I=(t,a)=>{W.value=t,a||(K.value=t<e.data.length-1,r("visibleChange",t))},Q=(t,a)=>{E.value=a.clientWidth},j=(t,a)=>{const n=new Map(b.value);a===null?n.delete(t):n.set(t,a),b.value=n},U=(t,a)=>{q.value=h.value,h.value=a},Y=(t,a)=>{g.value=a},A=t=>b.value.get(V(y.value[t],t));return l.watch([d,b,h,g,()=>e.itemKey,y],()=>{if(d.value&&z.value&&y.value){let t=g.value;const a=y.value.length,n=a-1;if(!a){I(0),v.value=null;return}for(let o=0;o<a;o+=1){const w=A(o);if(w===void 0){I(o-1,!0);break}if(t+=w,n===0&&t<=d.value||o===n-1&&t+A(n)<=d.value){I(n),v.value=null;break}else if(t+z.value>d.value){I(o-1),v.value=t-w-g.value+h.value;break}}e.suffix&&A(0)+g.value>d.value&&(v.value=null)}}),()=>{const t=K.value&&!!P.value.length,{itemComponent:a,renderRawItem:n,renderRawRest:o,renderRest:w,prefixCls:Z="rc-overflow",suffix:k,component:ee="div",id:te,onMousedown:le}=e,{class:ae,style:ne}=f,ue=ce(f,["class","style"]);let D={};v.value!==null&&m.value&&(D={position:"absolute",left:`${v.value}px`,top:0});const S={prefixCls:N.value,responsive:m.value,component:a,invalidate:$.value},re=n?(u,s)=>{const x=V(u,s);return l.createVNode(L.OverflowContextProvider,{key:x,value:O.default(O.default({},S),{order:s,item:u,itemKey:x,registerSize:j,display:s<=R.value})},{default:()=>[n(u,s)]})}:(u,s)=>{const x=V(u,s);return l.createVNode(p.default,c.default(c.default({},S),{},{order:s,key:x,item:u,renderItem:J.value,itemKey:x,registerSize:j,display:s<=R.value}),null)};let M=()=>null;const T={order:t?R.value:Number.MAX_SAFE_INTEGER,className:`${N.value} ${N.value}-rest`,registerSize:U,display:t};if(o)o&&(M=()=>l.createVNode(L.OverflowContextProvider,{value:O.default(O.default({},S),T)},{default:()=>[o(P.value)]}));else{const u=w||fe;M=()=>l.createVNode(p.default,c.default(c.default({},S),T),{default:()=>typeof u=="function"?u(P.value):u})}const oe=()=>{var u;return l.createVNode(ee,c.default({id:te,class:se.default(!$.value&&Z,ae),style:ne,onMousedown:le},ue),{default:()=>[y.value.map(re),H.value?M():null,k&&l.createVNode(p.default,c.default(c.default({},S),{},{order:R.value,class:`${N.value}-suffix`,registerSize:Y,display:!0,style:D}),{default:()=>k}),(u=i.default)===null||u===void 0?void 0:u.call(i)]})};return l.createVNode(ie.default,{disabled:!m.value,onResize:Q},{default:oe})}}});_.Item=de.default;_.RESPONSIVE=X;_.INVALIDATE=B;const me=_;exports.default=me;