@soei/flyweight 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Flyweight.cjs +1 -1
- package/Flyweight.js +311 -299
- package/package.json +1 -1
- package/style.css +1 -1
- package/vue2/index.cjs +1 -1
- package/vue2/index.js +315 -303
- package/vue2/style.css +1 -1
package/Flyweight.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("@soei/util"),i=require("vue"),p=require("@soei/tools"),ae=require("@soei/picker");let ce=/(\d+|[+\-\*/]|%)/g,j={"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"%":(e,t,r)=>parseFloat(e)/100*r},D=(e,t)=>{let r;if(r=o.runer("match",e,ce)){let n=r.length,h,l=0,s,c=[];for(;n--;)l=r.shift(),l in j?(h&&c.push(h),l==="%"&&(c.length=2),s=l):+l&&c.push(+l),c.length==2&&(c.push(t),h=j[s].apply(null,c),c.length=0);+h||(h=+c.pop()),e=h>>0}return e},q={},S=(e,t)=>(e+"").replace(/\w+\((.*)\)/g,"$1").replace(q[t]||(q[t]=new RegExp("(?=\\s+|^)(\\d+)(?:\\.\\d{1,})?(?!(?:\\.)*\\d|%|\\w)","g")),"$1px");const C=(e,t)=>{const r=e.__vccOpts||e;for(const[n,h]of t)r[n]=h;return r};let G=e=>e==null||e==null,ue=(...e)=>{console.info("::::FLYWEIGHT",...e)};const de={name:"Flyweight",props:{flys:{type:Array,default:()=>[]},width:{type:[String,Number],default:0},height:{type:[String,Number],default:100},w:{type:[Number,String]},h:{type:[Number,String]},offset:{type:Array,default:()=>[0,0]},lazy:{type:Number,default:100},view:{type:Object,default:()=>({id:0})},index:{type:Number,default:0},top:{type:[String,Number],default:0},left:{type:[String,Number],default:0},auto:{type:[Boolean,String],default:!1},space:{type:Object,default:()=>null},padding:{type:Boolean,default:!1}},computed:{flyweight(){return this.$refs.flyweight||""},style(){var e=this.w,t=this.h,r=this.Size,n={};return o.merge(n,{"--width":S(this.realW),"--height":S(this.realH),"--flyweight-content":S(r)},t&&{"--flyweight-h":S(t)},e&&n,{"--flyweight-w":S(e)},"mix"),n}},data(){return{flyweights:[],actice:!1,Size:null,column:1,row:1,expand:10,count:0,task:[],realW:0,realH:0}},watch:{flys(e){this.count=e.length,this.rebuild();let t=this.task.shift();t&&this.$nextTick(()=>{this.setview(t)})},view:{handler(e){this.setview(e)},immediate:!0,deep:!0},index(e){this.setindex(e)},top(e){this.flyweight.scrollTop=e},left(e){this.flyweight.scrollLeft=e}},mounted(){this.flyweights=[],this.$set||(this.$set=(e,t,r)=>{e[t]=r}),this.setindex(this.index);try{new ResizeObserver(()=>{this.rebuild(),this.$emit("resize")}).observe(this.flyweight)}catch(e){ue(e)}this.scrollx=o.runer("hasAttribute",this.flyweight,"scroll-x"),this.BoxRule="clientHeight=>height,clientWidth=>width",this.direction=this.scrollx?"scrollLeft":"scrollTop"},methods:{exec:S,trigger(e,t){o.isArray(e)||(e=e&&t?[[e,t]]:[]),e.length&&this.lazyrun(()=>{o.each(e,(r,n)=>{this.$emit(n[0],G(n[1])?!0:n[1])})})},cheackflys(e){if(!this.flys.length)return e&&this.task.push(e),!0},setview(e){o.runer([this.cheackflys,t=>{t=t||{};let r=t.index||o.each(this.flys,(n,h,l,s)=>{if(h[l]==s)return n},t.picker,t.id);G(r)||this.setindex(r)}],this,e)},setindex(e){o.runer([this.cheackflys,({index:t})=>{this.selectIndex=t,this.$nextTick(()=>{let r=t/this.column>>0,n=this.expand;(this.flyweight[this.direction]/n>>0)+this.row-r-1>0||(this.flyweight[this.direction]=r*n,this.scroll())})}],this,{index:e})},lazyrun(e,t){clearTimeout(this.time),this.time=setTimeout(()=>{o.runer(e)},t||this.lazy)},run(e){let t=[],r=o.runer(this.direction,e.target),n={offset:r,top:r,width:this.realW,height:this.realH,index:r/this.expand>>0};o.merge(n,this.space),e.from||t.push(["onscroll",n]);let h=!1;o.each(this.flyweights,(l,s,c,a,d,f,g,m,u)=>{if(c=l/d>>0,m=c+a*(+(c<f%a)+(f/a>>0)),u=m*d+l%d,u>=this.count){h||(t.push(["onend"]),h=!0);return}s.index=m,s.i=u,s.data=this.flys[u];let v=[m*this.expand+s.x,s.space];g&&v.reverse(),s.top=v[0],s.left=v[1]},null,this.row,this.column,n.index,this.scrollx),this.trigger(t),t=null},scroll(e){this.run(e||{target:this.flyweight,from:"space"})},rebuild(){let e=this.count||this.flys.length,t=this.flyweights;if(!e)return t.length=e;this.count=e;let r=this.scrollx,n=this.flyweight,h=o.picker(n,this.BoxRule);this.$nextTick(()=>{let l=/true/.test(this.auto),[s,c]=this.offset,a=h.width,d=h.height,f=(D(this.width,a)||a)+s,g=D(this.height,d)+c,m=[a/f>>0||1,d/g>>0||1];r&&m.reverse();let[u,v]=m,x=this.padding,T,k=0,y,w;r?(y=f,f-=s,w=N=>N*(g-c)+(N+1)*c):(l?(f=(a-s*(u+2*x-1))/u,T=!x*s,k=x*s):(T=0,k=(a%f+s*u)/(u+1)>>0,f-=s),w=N=>N*(f+T)+(N+1)*k,y=g),this.row=v+2,this.column=u,this.realH=g-c,this.realW=f,this.expand=y,this.Size=Math.ceil(e/u)*y;let b=Math.min(e,u*this.row),_=b-1,$;for(;b-- >0;)$=_-b,this.$set(t,$,{x:s,y:c,width:f,height:g-c,space:w($%u),data:{}});t.length=_+1;let z=[];d/y>_/u&&z.push(["onend"]),this.flyweight&&(this.flyweight[this.direction]=0),this.$nextTick(()=>{this.setindex(this.selectIndex||0),this.scroll()}),z.push(["update:space",{row:(_/u>>0)+1,column:u,showrow:this.row,showcolumn:this.column}]),this.trigger(z)})}}},fe={class:"flyweight-all"};function pe(e,t,r,n,h,l){return i.openBlock(),i.createElementBlock("div",{ref:"flyweight",class:i.normalizeClass(["flyweight",{"flyweight-active":h.actice}]),style:i.normalizeStyle(l.style),onScroll:t[0]||(t[0]=(...s)=>l.scroll&&l.scroll(...s))},[i.createElementVNode("div",fe,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(h.flyweights,(s,c)=>(i.openBlock(),i.createElementBlock("div",{key:c,style:i.normalizeStyle({top:s.top+"px",left:s.left+"px"})},[i.renderSlot(e.$slots,"default",i.mergeProps({ref_for:!0},s),void 0,!0)],4))),128))]),h.flyweights.length?i.renderSlot(e.$slots,"end",{key:0},void 0,!0):i.createCommentVNode("",!0)],38)}const Q=C(de,[["render",pe],["__scopeId","data-v-35b94e9b"]]);function R(e,t){return t&&(e=e.replace(/[a-z]/g,"")),e.toLowerCase()}let Z={close:{handler(e){this.change(e)},deep:!0},offset:{handler(e){this.margin(e)},deep:!0}},ge=["BackGround","BordeR","Height","Width","Top","Right","Bottom","Left"],ee={};o.each(ge,(e,t,r)=>{e=R(t),ee["--"+R(t,!0)]=e,r[e]=function(){this.trigger++}},Z);const me={name:"Card",props:{offset:{type:[String,Array],default:()=>[0,0,0,0]},background:{type:String,default:""},border:{type:String,default:"1px"},height:{type:String,default:"100%"},width:{type:String,default:"100%"},show:{type:String,default:""},close:{type:Object,default:null},title:{type:String,default:""}},data(){return{closecss:{},trigger:0,default:{top:"0px",right:"0px",bottom:"0px",left:"0px",height:"100%",width:"100%",background:"",border:"1px"}}},computed:{style(){return this.tr()},sub(){return this.show||this.title},tips(){return o.runer("tips",this.close||{})||"关闭["+this.sub+"]"}},watch:Z,methods:{exec:S,isEmpty:o.isEmpty,picker:o.picker,runer:o.runer,isSimplyType:o.isSimplyType,tr(){let e={};return this.margin(this.offset),o.each(ee,(t,r)=>{this.css(e,t,r)}),e},tolower:R,css(e,t,r){let n=this[r]||this.default[r];!n||this.default[r]==n||(e[t]=S(n))},change(e){o.isSimplyType(e)||(this.closecss=o.picker(e,"color=>--s-card-close-color,size=>--s-close-width,bold=>--s-close-height,*"))},margin(e){o.merge(this,o.picker(o.isString(e)?e.split(/\s*(?:,|\s+)\s*/):e,"0=>top,1|0=>right,2|0=>bottom,3|1|0=>left",!0),!0)}},mounted(){this.change(this.close)}},ye={class:"card-title",space:""},_e={class:"card-ico-items",flex:"",vcenter:""},we=["title"],be={class:"card-content"};function Se(e,t,r,n,h,l){return i.openBlock(),i.createElementBlock("div",{class:"card",key:h.trigger,style:i.normalizeStyle(l.isEmpty(l.style)?l.tr():l.style)},[i.renderSlot(e.$slots,"default",{},()=>[i.renderSlot(e.$slots,"title",{},()=>[i.createElementVNode("div",ye,[i.createTextVNode(i.toDisplayString(l.sub)+" ",1),i.renderSlot(e.$slots,"icons",{},()=>[i.createElementVNode("div",_e,[i.renderSlot(e.$slots,"icon",i.normalizeProps(i.guardReactiveProps({el:e.$el,picker:l.picker,runer:l.runer})),void 0,!0),i.createElementVNode("div",{class:i.normalizeClass(["card-close",{hide:l.isSimplyType(r.close)?!r.close:!1}]),style:i.normalizeStyle(h.closecss),onClick:t[0]||(t[0]=s=>e.$emit("close")),title:l.tips},null,14,we)])],!0)])],!0),i.renderSlot(e.$slots,"content",{},()=>[i.createElementVNode("div",be,[i.renderSlot(e.$slots,"inner",{},void 0,!0)])],!0)],!0)],4)}const te=C(me,[["render",Se],["__scopeId","data-v-7fa6225c"]]),ve={name:"Stream",computed:{component(){return this.$refs.component},column(){let{columns:e,T:t}=this,r=e||t;return o.isEmpty(r)?[]:o.isArray(r)?r:[r]}},props:{bridge:{type:String,default:"slot"},type:{type:String,default:"div"},columns:{type:[Object,Array],default:()=>null},T:{type:[Array,Object],default:()=>null}},mounted(){this.$.vnode.ref&&o.merge(this,{...this.component})},methods:{__trigger(e){let t=e[this.bridge]||e.type;return(this.$slots||this.$scopedSlots)[t]?t:"default"}}};function xe(e,t,r,n,h,l){return i.openBlock(),i.createBlock(i.resolveDynamicComponent(r.type),i.mergeProps({ref:"component"},e.$attrs),{default:i.withCtx(()=>[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(l.column,s=>i.renderSlot(e.$slots,l.__trigger(s),i.mergeProps({key:s.type},{ref_for:!0},s))),128))]),_:3},16)}const re=C(ve,[["render",xe]]),U=/(?:\,|\|{2})/,X="px",Y="";let ie=document.documentElement,J,K=["s-left","s-top","s-right","s-bottom"],ke={left:0,top:1,right:2,bottom:3};const W=[];var Ne=ae(window,"Reflect.defineProperty|Object.defineProperty=>Proxy").Proxy;let A={},se=null;Ne(A,"delay",{get(){return this._delay},set(e){se=$e(()=>{p.runer(W)},e),this._delay=e}});A.delay=60;function $e(e,t){let r=0;return function(){const n=Date.now();n-r>=t&&(r=n,p.runer(e,this,arguments))}}const P=()=>{se()};function ze(e){W.push(e)}const B=new ResizeObserver(P);B.observe(ie);function ne(e){e.onresize||(W.push([ne,null,e]),e.onresize=!0);var t=ie,r=t.clientHeight,n=p.isNil(e.offset)?15:e.offset,h=e.target,l=e.room,s=e.index,c=e.position,a=h.getBoundingClientRect(),d=l.offsetHeight+n,f=l.offsetWidth+n,g="3,0,2,1".split(U),m,u=(a.height==J?a.bottom-a.top:a.height)>>0,v=(a.width==J?a.right-a.left:a.width)>>0,x=t.clientWidth-f,T=r-d,k=[a.left-f,a.top-d,x-a.right,T-a.bottom];c&&(p.each(c.split(U),function(oe,M,H,he){he.push(H[M])},ke,m=[]),g.unshift.apply(g,m)),s=p.each(g,function(oe,M,H){if(H[M]>0)return M},k);var y=0,w=0,b=0;if(s!=null){var _=s==0||s==2,$=s==3||s==1;y=$?Math.min(a.left,x):s==2?a.right+n:k[0],d-=n*+_;var z=Math.max(a.top,0),N=Math.min(a.bottom,r),O=(N-d+Math.min(r-d,z))/2;w=Math.max(_?O:s==3?a.top+u+n:Math.min(O,k[1]),0),$&&a.left>x&&(b=a.left-y-n+v/2)}let V=l.classList,E=e.css;V.remove(...K),V.add(K[s]),e.index=s,E.left=y+X,E.top=w+X;let F=E["--tips-arrow-top"]=_?Math.min(Math.max(w,z)-w,d-n):Y,I=f-3*n;E["--tips-arrow"]=b>I-10||_&&(F+(d>50?15:0)>d||!F)?"hidden":"visible",E["--tips-arrow-left"]=b?Math.min(b,I):Y}const L="data-tips-scroll",Te={name:"Tips",props:{target:{type:[HTMLElement]},visible:{type:[Boolean,String,Number],default:!0},content:{type:String,default:""},title:{type:[String,Number],default:""},position:{type:String,default:"top"},offset:{type:[String,Number],default:void 0},fontSize:{type:[String,Number],default:void 0},border:{type:[String,Number],default:void 0},color:{type:[String,Number],default:void 0},background:{type:[String,Number],default:void 0},static:{type:Boolean,default:!1},delay:{type:[String,Number],default:10},borderRadius:{type:[String,Number],default:10}},watch:{visible:function(e){e&&this.$nextTick(()=>{this.init()})}},data(){return{css:{}}},methods:{__parent(e){let t=this.$el,r;for(;t&&(t=t.parentNode,t&&t.nodeType==1||(t=window,r=!0),p.runer(e,null,t,r),!r););},__attr(e,t,r){return p.runer(e[r===void 0?"getAttribute":"setAttribute"],e,t,r)},init(){let e=this.$el;e.nodeName!="#comment"&&ne({onresize:!1,target:e.parentNode,room:e,position:this.position,css:this.css,offset:+this.offset>>0})},__2listener(){this.static||this.__parent((e,t,r)=>{t?p.runer(e.addEventListener,e,"scroll",P):(p.runer(B.observe,B,e),(e.offsetHeight<e.scrollHeight||e.offsetWidth<e.scrollWidth)&&(r=this.__attr(e,L),r||(p.runer(e.addEventListener,e,"scroll",P),this.__attr(e,L,"true"))))})},__css(){let e={},t;return this.target?t={[this.position]:this.offset+"px"}:(t=o.picker(this.$props,"color=>--tips-color,background=>--tips-background-color,border=>--tips-border-width,fontSize=>--tips-font-size,borderRadius=>--tips-border-radius"),e["--arrow-size"]=Math.sqrt(2*Math.pow((this.border||3)*2+2,2))/2>>0),o.merge(e,t),e},__2next(){this.target||(this.init(),A.delay=+this.delay,ze(e=>{this.__2listener()}),this.__2listener())}},mounted(){this.css=this.__css(),this.__2next()},unmounted(){this.__parent(function(e,t){p.runer(e.removeEventListener,e,"scroll",P),p.runer(e.removeAttribute,e,L,void 0),t||p.runer(B.unobserve,B,e)})}},Ee=["static"],Be={class:"tips-title"};function Me(e,t,r,n,h,l){return r.visible?(i.openBlock(),i.createElementBlock("div",i.mergeProps({key:0},e.$attrs,{class:["tips",r.target?"tips-"+r.position:""],style:r.static?null:h.css,static:r.static?"":null}),[i.renderSlot(e.$slots,"default",{},()=>[i.renderSlot(e.$slots,"title",{},()=>[i.createElementVNode("div",Be,i.toDisplayString(r.title),1)],!0),i.renderSlot(e.$slots,"content",{},()=>[i.createTextVNode(i.toDisplayString(r.content),1)],!0)],!0)],16,Ee)):i.createCommentVNode("",!0)}const le=C(Te,[["render",Me],["__scopeId","data-v-45afe77c"]]),Pe=[Q,te,re,le],Ce={install(e){Pe.forEach(t=>{e.component("S"+t.name,t),e.component(t.name+"S",t)})}};exports.Card=te;exports.Flyweight=Q;exports.Stream=re;exports.Tips=le;exports.default=Ce;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("@soei/util"),i=require("vue"),p=require("@soei/tools"),oe=require("@soei/picker");let he=/(\d+|[+\-\*/]|%)/g,D={"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"%":(e,t,r)=>parseFloat(e)/100*r},q=(e,t)=>{let r;if(r=o.runer("match",e,he)){let n=r.length,h,l=0,s,c=[];for(;n--;)l=r.shift(),l in D?(h&&c.push(h),l==="%"&&(c.length=2),s=l):+l&&c.push(+l),c.length==2&&(c.push(t),h=D[s].apply(null,c),c.length=0);+h||(h=+c.pop()),e=h>>0}return e},G={},S=(e,t)=>(e+"").replace(/\w+\((.*)\)/g,"$1").replace(G[t]||(G[t]=new RegExp("(?=\\s+|^)(\\d+)(?:\\.\\d{1,})?(?!(?:\\.)*\\d|%|\\w)","g")),"$1px");const P=(e,t)=>{const r=e.__vccOpts||e;for(const[n,h]of t)r[n]=h;return r};function L(e,t){return t&&(e=e.replace(/[a-z]/g,"")),e.toLowerCase()}let Z={close:{handler(e){this.change(e)},deep:!0},offset:{handler(e){this.margin(e)},deep:!0}},ae=["BackGround","BordeR","Height","Width","Top","Right","Bottom","Left"],ee={};o.each(ae,(e,t,r)=>{e=L(t),ee["--"+L(t,!0)]=e,r[e]=function(){this.trigger++}},Z);const ce={name:"Card",props:{offset:{type:[String,Array],default:()=>[0,0,0,0]},background:{type:String,default:""},border:{type:String,default:"1px"},height:{type:String,default:"100%"},width:{type:String,default:"100%"},show:{type:String,default:""},close:{type:Object,default:null},title:{type:String,default:""}},data(){return{closecss:{},trigger:0,default:{top:"0px",right:"0px",bottom:"0px",left:"0px",height:"100%",width:"100%",background:"",border:"1px"}}},computed:{style(){return this.tr()},sub(){return this.show||this.title},tips(){return o.runer("tips",this.close||{})||"关闭["+this.sub+"]"}},watch:Z,methods:{exec:S,isEmpty:o.isEmpty,picker:o.picker,runer:o.runer,isSimplyType:o.isSimplyType,tr(){let e={};return this.margin(this.offset),o.each(ee,(t,r)=>{this.css(e,t,r)}),e},tolower:L,css(e,t,r){let n=this[r]||this.default[r];!n||this.default[r]==n||(e[t]=S(n))},change(e){o.isSimplyType(e)||(this.closecss=o.picker(e,"color=>--s-card-close-color,size=>--s-close-width,bold=>--s-close-height,*"))},margin(e){o.merge(this,o.picker(o.isString(e)?e.split(/\s*(?:,|\s+)\s*/):e,"0=>top,1|0=>right,2|0=>bottom,3|1|0=>left",!0),!0)}},mounted(){this.change(this.close)}},ue={class:"card-title",space:""},de={class:"card-ico-items",flex:"",vcenter:""},fe=["title"],pe={class:"card-content"};function ge(e,t,r,n,h,l){return i.openBlock(),i.createElementBlock("div",{class:"card",key:h.trigger,style:i.normalizeStyle(l.isEmpty(l.style)?l.tr():l.style)},[i.renderSlot(e.$slots,"default",{},()=>[i.renderSlot(e.$slots,"title",{},()=>[i.createElementVNode("div",ue,[i.createTextVNode(i.toDisplayString(l.sub)+" ",1),i.renderSlot(e.$slots,"icons",{},()=>[i.createElementVNode("div",de,[i.renderSlot(e.$slots,"icon",i.normalizeProps(i.guardReactiveProps({el:e.$el,picker:l.picker,runer:l.runer})),void 0,!0),i.createElementVNode("div",{class:i.normalizeClass(["card-close",{hide:l.isSimplyType(r.close)?!r.close:!1}]),style:i.normalizeStyle(h.closecss),onClick:t[0]||(t[0]=s=>e.$emit("close")),title:l.tips},null,14,fe)])],!0)])],!0),i.renderSlot(e.$slots,"content",{},()=>[i.createElementVNode("div",pe,[i.renderSlot(e.$slots,"inner",{},void 0,!0)])],!0)],!0)],4)}const me=P(ce,[["render",ge],["__scopeId","data-v-7fa6225c"]]),ye=Object.freeze(Object.defineProperty({__proto__:null,default:me},Symbol.toStringTag,{value:"Module"}));let U=e=>e==null||e==null,_e=(...e)=>{console.info("::::FLYWEIGHT",...e)};const be={name:"Flyweight",props:{flys:{type:Array,default:()=>[]},width:{type:[String,Number],default:0},height:{type:[String,Number],default:100},w:{type:[Number,String]},h:{type:[Number,String]},offset:{type:Array,default:()=>[0,0]},lazy:{type:Number,default:100},view:{type:Object,default:()=>({id:0})},index:{type:Number,default:0},top:{type:[String,Number],default:0},left:{type:[String,Number],default:0},auto:{type:[Boolean,String],default:!1},space:{type:Object,default:()=>null},padding:{type:Boolean,default:!1}},computed:{flyweight(){return this.$refs.flyweight||""},style(){var e=this.w,t=this.h,r=this.Size,n={};return o.merge(n,{"--width":S(this.realW),"--height":S(this.realH),"--flyweight-content":S(r)},t&&{"--flyweight-h":S(t)},e&&n,{"--flyweight-w":S(e)},"mix"),n}},data(){return{flyweights:[],actice:!1,Size:null,column:1,row:1,expand:10,count:0,task:[],realW:0,realH:0}},watch:{flys(e){this.count=e.length,this.rebuild();let t=this.task.shift();t&&this.$nextTick(()=>{this.setview(t)})},view:{handler(e){this.setview(e)},immediate:!0,deep:!0},index(e){this.setindex(e)},top(e){this.flyweight.scrollTop=e},left(e){this.flyweight.scrollLeft=e}},mounted(){this.flyweights=[],this.$set||(this.$set=(e,t,r)=>{e[t]=r}),this.setindex(this.index);try{new ResizeObserver(()=>{this.rebuild(),this.$emit("resize")}).observe(this.flyweight)}catch(e){_e(e)}this.scrollx=o.runer("hasAttribute",this.flyweight,"scroll-x"),this.BoxRule="clientHeight=>height,clientWidth=>width",this.direction=this.scrollx?"scrollLeft":"scrollTop"},methods:{exec:S,trigger(e,t){o.isArray(e)||(e=e&&t?[[e,t]]:[]),e.length&&this.lazyrun(()=>{o.each(e,(r,n)=>{this.$emit(n[0],U(n[1])?!0:n[1])})})},cheackflys(e){if(!this.flys.length)return e&&this.task.push(e),!0},setview(e){o.runer([this.cheackflys,t=>{t=t||{};let r=t.index||o.each(this.flys,(n,h,l,s)=>{if(h[l]==s)return n},t.picker,t.id);U(r)||this.setindex(r)}],this,e)},setindex(e){o.runer([this.cheackflys,({index:t})=>{this.selectIndex=t,this.$nextTick(()=>{let r=t/this.column>>0,n=this.expand;(this.flyweight[this.direction]/n>>0)+this.row-r-1>0||(this.flyweight[this.direction]=r*n,this.scroll())})}],this,{index:e})},lazyrun(e,t){clearTimeout(this.time),this.time=setTimeout(()=>{o.runer(e)},t||this.lazy)},run(e){let t=[],r=o.runer(this.direction,e.target),n={offset:r,top:r,width:this.realW,height:this.realH,index:r/this.expand>>0};o.merge(n,this.space),e.from||t.push(["onscroll",n]);let h=!1;o.each(this.flyweights,(l,s,c,a,d,f,g,m,u)=>{if(c=l/d>>0,m=c+a*(+(c<f%a)+(f/a>>0)),u=m*d+l%d,u>=this.count){h||(t.push(["onend"]),h=!0);return}s.index=m,s.i=u,s.data=this.flys[u];let v=[m*this.expand+s.x,s.space];g&&v.reverse(),s.top=v[0],s.left=v[1]},null,this.row,this.column,n.index,this.scrollx),this.trigger(t),t=null},scroll(e){this.run(e||{target:this.flyweight,from:"space"})},rebuild(){let e=this.count||this.flys.length,t=this.flyweights;if(!e)return t.length=e;this.count=e;let r=this.scrollx,n=this.flyweight,h=o.picker(n,this.BoxRule);this.$nextTick(()=>{let l=/true/.test(this.auto),[s,c]=this.offset,a=h.width,d=h.height,f=(q(this.width,a)||a)+s,g=q(this.height,d)+c,m=[a/f>>0||1,d/g>>0||1];r&&m.reverse();let[u,v]=m,x=this.padding,T,k=0,y,b;r?(y=f,f-=s,b=z=>z*(g-c)+(z+1)*c):(l?(f=(a-s*(u+2*x-1))/u,T=!x*s,k=x*s):(T=0,k=(a%f+s*u)/(u+1)>>0,f-=s),b=z=>z*(f+T)+(z+1)*k,y=g),this.row=v+2,this.column=u,this.realH=g-c,this.realW=f,this.expand=y,this.Size=Math.ceil(e/u)*y;let w=Math.min(e,u*this.row),_=w-1,$;for(;w-- >0;)$=_-w,this.$set(t,$,{x:s,y:c,width:f,height:g-c,space:b($%u),data:{}});t.length=_+1;let N=[];d/y>_/u&&N.push(["onend"]),this.flyweight&&(this.flyweight[this.direction]=0),this.$nextTick(()=>{this.setindex(this.selectIndex||0),this.scroll()}),N.push(["update:space",{row:(_/u>>0)+1,column:u,showrow:this.row,showcolumn:this.column}]),this.trigger(N)})}}},we={class:"flyweight-all"};function Se(e,t,r,n,h,l){return i.openBlock(),i.createElementBlock("div",{ref:"flyweight",class:i.normalizeClass(["flyweight",{"flyweight-active":h.actice}]),style:i.normalizeStyle(l.style),onScroll:t[0]||(t[0]=(...s)=>l.scroll&&l.scroll(...s))},[i.createElementVNode("div",we,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(h.flyweights,(s,c)=>(i.openBlock(),i.createElementBlock("div",{key:c,style:i.normalizeStyle({top:s.top+"px",left:s.left+"px"})},[i.renderSlot(e.$slots,"default",i.mergeProps({ref_for:!0},s),void 0,!0)],4))),128))]),h.flyweights.length?i.renderSlot(e.$slots,"end",{key:0},void 0,!0):i.createCommentVNode("",!0)],38)}const ve=P(be,[["render",Se],["__scopeId","data-v-35b94e9b"]]),xe=Object.freeze(Object.defineProperty({__proto__:null,default:ve},Symbol.toStringTag,{value:"Module"})),ke={name:"Stream",computed:{component(){return this.$refs.component},column(){let{columns:e,T:t}=this,r=e||t;return o.isEmpty(r)?[]:o.isArray(r)?r:[r]}},props:{bridge:{type:String,default:"slot"},type:{type:String,default:"div"},columns:{type:[Object,Array],default:()=>null},T:{type:[Array,Object],default:()=>null}},mounted(){this.$.vnode.ref&&o.merge(this,{...this.component})},methods:{__trigger(e){let t=e[this.bridge]||e.type;return(this.$slots||this.$scopedSlots)[t]?t:"default"}}};function ze(e,t,r,n,h,l){return i.openBlock(),i.createBlock(i.resolveDynamicComponent(r.type),i.mergeProps({ref:"component"},e.$attrs),{default:i.withCtx(()=>[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(l.column,s=>i.renderSlot(e.$slots,l.__trigger(s),i.mergeProps({key:s.type},{ref_for:!0},s))),128))]),_:3},16)}const $e=P(ke,[["render",ze]]),Ne=Object.freeze(Object.defineProperty({__proto__:null,default:$e},Symbol.toStringTag,{value:"Module"})),X=/(?:\,|\|{2})/,Y="px",J="";let te=document.documentElement,K,Q=["s-left","s-top","s-right","s-bottom"],Te={left:0,top:1,right:2,bottom:3};const A=[];var Ee=oe(window,"Reflect.defineProperty|Object.defineProperty=>Proxy").Proxy;let R={},re=null;Ee(R,"delay",{get(){return this._delay},set(e){re=Me(()=>{p.runer(A)},e),this._delay=e}});R.delay=60;function Me(e,t){let r=0;return function(){const n=Date.now();n-r>=t&&(r=n,p.runer(e,this,arguments))}}const O=()=>{re()};function Be(e){A.push(e)}const M=new ResizeObserver(O);M.observe(te);function ie(e){e.onresize||(A.push([ie,null,e]),e.onresize=!0);var t=te,r=t.clientHeight,n=p.isNil(e.offset)?15:e.offset,h=e.target,l=e.room,s=e.index,c=e.position,a=h.getBoundingClientRect(),d=l.offsetHeight+n,f=l.offsetWidth+n,g="3,0,2,1".split(X),m,u=(a.height==K?a.bottom-a.top:a.height)>>0,v=(a.width==K?a.right-a.left:a.width)>>0,x=t.clientWidth-f,T=r-d,k=[a.left-f,a.top-d,x-a.right,T-a.bottom];c&&(p.each(c.split(X),function(ne,B,C,le){le.push(C[B])},Te,m=[]),g.unshift.apply(g,m)),s=p.each(g,function(ne,B,C){if(C[B]>0)return B},k);var y=0,b=0,w=0;if(s!=null){var _=s==0||s==2,$=s==3||s==1;y=$?Math.min(a.left,x):s==2?a.right+n:k[0],d-=n*+_;var N=Math.max(a.top,0),z=Math.min(a.bottom,r),W=(z-d+Math.min(r-d,N))/2;b=Math.max(_?W:s==3?a.top+u+n:Math.min(W,k[1]),0),$&&a.left>x&&(w=a.left-y-n+v/2)}let V=l.classList,E=e.css;V.remove(...Q),V.add(Q[s]),e.index=s,E.left=y+Y,E.top=b+Y;let F=E["--tips-arrow-top"]=_?Math.min(Math.max(b,N)-b,d-n):J,I=f-3*n;E["--tips-arrow"]=w>I-10||_&&(F+(d>50?15:0)>d||!F)?"hidden":"visible",E["--tips-arrow-left"]=w?Math.min(w,I):J}const H="data-tips-scroll",Oe={name:"Tips",props:{target:{type:[HTMLElement]},visible:{type:[Boolean,String,Number],default:!0},content:{type:String,default:""},title:{type:[String,Number],default:""},position:{type:String,default:"top"},offset:{type:[String,Number],default:void 0},fontSize:{type:[String,Number],default:void 0},border:{type:[String,Number],default:void 0},color:{type:[String,Number],default:void 0},background:{type:[String,Number],default:void 0},static:{type:Boolean,default:!1},delay:{type:[String,Number],default:10},borderRadius:{type:[String,Number],default:10}},watch:{visible:function(e){e&&this.$nextTick(()=>{this.init()})}},data(){return{css:{}}},methods:{__parent(e){let t=this.$el,r;for(;t&&(t=t.parentNode,t&&t.nodeType==1||(t=window,r=!0),p.runer(e,null,t,r),!r););},__attr(e,t,r){return p.runer(e[r===void 0?"getAttribute":"setAttribute"],e,t,r)},init(){let e=this.$el;e.nodeName!="#comment"&&ie({onresize:!1,target:e.parentNode,room:e,position:this.position,css:this.css,offset:+this.offset>>0})},__2listener(){this.static||this.__parent((e,t,r)=>{t?p.runer(e.addEventListener,e,"scroll",O):(p.runer(M.observe,M,e),(e.offsetHeight<e.scrollHeight||e.offsetWidth<e.scrollWidth)&&(r=this.__attr(e,H),r||(p.runer(e.addEventListener,e,"scroll",O),this.__attr(e,H,"true"))))})},__css(){let e={},t;return this.target?t={[this.position]:this.offset+"px"}:(t=o.picker(this.$props,"color=>--tips-color,background=>--tips-background-color,border=>--tips-border-width,fontSize=>--tips-font-size,borderRadius=>--tips-border-radius"),e["--arrow-size"]=Math.sqrt(2*Math.pow((this.border||3)*2+2,2))/2>>0),o.merge(e,t),e},__2next(){this.target||(this.init(),R.delay=+this.delay,Be(e=>{this.__2listener()}),this.__2listener())}},mounted(){this.css=this.__css(),this.__2next()},unmounted(){this.__parent(function(e,t){p.runer(e.removeEventListener,e,"scroll",O),p.runer(e.removeAttribute,e,H,void 0),t||p.runer(M.unobserve,M,e)})}},Pe=["static"],je={class:"tips-title"};function Ce(e,t,r,n,h,l){return r.visible?(i.openBlock(),i.createElementBlock("div",i.mergeProps({key:0},e.$attrs,{class:["tips",r.target?"tips-"+r.position:""],style:r.static?null:h.css,static:r.static?"":null}),[i.renderSlot(e.$slots,"default",{},()=>[i.renderSlot(e.$slots,"title",{},()=>[i.createElementVNode("div",je,i.toDisplayString(r.title),1)],!0),i.renderSlot(e.$slots,"content",{},()=>[i.createTextVNode(i.toDisplayString(r.content),1)],!0)],!0)],16,Pe)):i.createCommentVNode("",!0)}const He=P(Oe,[["render",Ce],["__scopeId","data-v-9b313627"]]),Le=Object.freeze(Object.defineProperty({__proto__:null,default:He},Symbol.toStringTag,{value:"Module"})),Ae=Object.assign({"./components/Card.vue":ye,"./components/Flyweight.vue":xe,"./components/Stream.vue":Ne,"./components/Tips.vue":Le}),se=[],j={};for(const[e,t]of Object.entries(Ae)){const r=e.split("/").pop().replace(/\.vue$/,"");j[r]=t.default,se.push(t.default)}j.install=function(e,t={}){se.forEach(r=>{e.component(r.name,r),e.component("S"+r.name,r),e.component(r.name+"S",r)})};exports.components=j;exports.default=j;
|