@soei/flyweight 0.3.8 → 0.3.10
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 +389 -160
- package/README.md +24 -1
- package/package.json +2 -1
- package/style.css +1 -1
- package/vue2/index.cjs +1 -1
- package/vue2/index.js +434 -202
- 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");let I=/(\d+|[+\-\*/]|%)/g,N={"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"%":(e,t,s)=>parseFloat(e)/100*s},C=(e,t)=>{let s;if(s=o.runer("match",e,I)){let l=s.length,h,n=0,r,c=[];for(;l--;)n=s.shift(),n in N?(h&&c.push(h),n==="%"&&(c.length=2),r=n):+n&&c.push(+n),c.length==2&&(c.push(t),h=N[r].apply(null,c),c.length=0);+h||(h=+c.pop()),e=h>>0}return e},O={},f=(e,t)=>(e+"").replace(/\w+\((.*)\)/g,"$1").replace(O[t]||(O[t]=new RegExp("(?=\\s+|^)(\\d+)(?:\\.\\d{1,})?(?!(?:\\.)*\\d|%|\\w)","g")),"$1px");const E=(e,t)=>{const s=e.__vccOpts||e;for(const[l,h]of t)s[l]=h;return s};let A=e=>e==null||e==null,M=(...e)=>{console.info("::::FLYWEIGHT",...e)};const V={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,s=this.Size,l={};return o.merge(l,{"--width":f(this.realW),"--height":f(this.realH),"--flyweight-content":f(s)},t&&{"--flyweight-h":f(t)},e&&l,{"--flyweight-w":f(e)},"mix"),l}},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,s)=>{e[t]=s}),this.setindex(this.index);try{new ResizeObserver(()=>{this.rebuild(),this.$emit("resize")}).observe(this.flyweight)}catch(e){M(e)}this.scrollx=o.runer("hasAttribute",this.flyweight,"scroll-x"),this.BoxRule="clientHeight=>height,clientWidth=>width",this.direction=this.scrollx?"scrollLeft":"scrollTop"},methods:{exec:f,trigger(e,t){o.isArray(e)||(e=e&&t?[[e,t]]:[]),e.length&&this.lazyrun(()=>{o.each(e,(s,l)=>{this.$emit(l[0],A(l[1])?!0:l[1])})})},cheackflys(e){if(!this.flys.length)return e&&this.task.push(e),!0},setview(e){o.runer([this.cheackflys,t=>{t=t||{};let s=t.index||o.each(this.flys,(l,h,n,r)=>{if(h[n]==r)return l},t.picker,t.id);A(s)||this.setindex(s)}],this,e)},setindex(e){o.runer([this.cheackflys,({index:t})=>{this.selectIndex=t,this.$nextTick(()=>{let s=t/this.column>>0,l=this.expand;(this.flyweight[this.direction]/l>>0)+this.row-s-1>0||(this.flyweight[this.direction]=s*l,this.scroll())})}],this,{index:e})},lazyrun(e,t){clearTimeout(this.time),this.time=setTimeout(()=>{o.runer(e)},t||this.lazy)},run(e){let t=[],s=o.runer(this.direction,e.target),l={offset:s,top:s,width:this.realW,height:this.realH,index:s/this.expand>>0};o.merge(l,this.space),e.from||t.push(["onscroll",l]);let h=!1;o.each(this.flyweights,(n,r,c,d,g,u,p,y,a)=>{if(c=n/g>>0,y=c+d*(+(c<u%d)+(u/d>>0)),a=y*g+n%g,a>=this.count){h||(t.push(["onend"]),h=!0);return}r.index=y,r.i=a,r.data=this.flys[a];let m=[y*this.expand+r.x,r.space];p&&m.reverse(),r.top=m[0],r.left=m[1]},null,this.row,this.column,l.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 s=this.scrollx,l=this.flyweight,h=o.picker(l,this.BoxRule);this.$nextTick(()=>{let n=/true/.test(this.auto),[r,c]=this.offset,d=h.width,g=h.height,u=(C(this.width,d)||d)+r,p=C(this.height,g)+c,y=[d/u>>0||1,g/p>>0||1];s&&y.reverse();let[a,m]=y,_=this.padding,b,k=0,w,z;s?(w=u,u-=r,z=S=>S*(p-c)+(S+1)*c):(n?(u=(d-r*(a+2*_-1))/a,b=!_*r,k=_*r):(b=0,k=(d%u+r*a)/(a+1)>>0,u-=r),z=S=>S*(u+b)+(S+1)*k,w=p),this.row=m+2,this.column=a,this.realH=p-c,this.realW=u,this.expand=w,this.Size=Math.ceil(e/a)*w;let T=Math.min(e,a*this.row),x=T-1,$;for(;T-- >0;)$=x-T,this.$set(t,$,{x:r,y:c,width:u,height:p-c,space:z($%a),data:{}});t.length=x+1;let v=[];g/w>x/a&&v.push(["onend"]),this.flyweight&&(this.flyweight[this.direction]=0),this.$nextTick(()=>{this.setindex(this.selectIndex||0),this.scroll()}),v.push(["update:space",{row:(x/a>>0)+1,column:a,showrow:this.row,showcolumn:this.column}]),this.trigger(v)})}}},W={class:"flyweight-all"};function P(e,t,s,l,h,n){return i.openBlock(),i.createElementBlock("div",{ref:"flyweight",class:i.normalizeClass(["flyweight",{"flyweight-active":h.actice}]),style:i.normalizeStyle(n.style),onScroll:t[0]||(t[0]=(...r)=>n.scroll&&n.scroll(...r))},[i.createElementVNode("div",W,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(h.flyweights,(r,c)=>(i.openBlock(),i.createElementBlock("div",{key:c,style:i.normalizeStyle({top:r.top+"px",left:r.left+"px"})},[i.renderSlot(e.$slots,"default",i.mergeProps({ref_for:!0},r),void 0,!0)],4))),128))]),h.flyweights.length?i.renderSlot(e.$slots,"end",{key:0},void 0,!0):i.createCommentVNode("",!0)],38)}const L=E(V,[["render",P],["__scopeId","data-v-35b94e9b"]]);function B(e,t){return t&&(e=e.replace(/[a-z]/g,"")),e.toLowerCase()}let R={close:{handler(e){this.change(e)},deep:!0},offset:{handler(e){this.margin(e)},deep:!0}},q=["BackGround","BordeR","Height","Width","Top","Right","Bottom","Left"],F={};o.each(q,(e,t,s)=>{e=B(t),F["--"+B(t,!0)]=e,s[e]=function(){this.trigger++}},R);const D={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()}},watch:R,methods:{exec:f,isEmpty:o.isEmpty,isSimplyType:o.isSimplyType,tr(){let e={};return this.margin(this.offset),o.each(F,(t,s)=>{this.css(e,t,s)}),e},tolower:B,css(e,t,s){let l=this[s]||this.default[s];!l||this.default[s]==l||(e[t]=f(l))},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)}},G={class:"card-title"},U=["title"],X={class:"card-content"};function Y(e,t,s,l,h,n){return i.openBlock(),i.createElementBlock("div",{class:"card",key:h.trigger,style:i.normalizeStyle(n.isEmpty(n.style)?n.tr():n.style)},[i.renderSlot(e.$slots,"default",{},()=>[i.renderSlot(e.$slots,"title",{},()=>{var r;return[i.createElementVNode("div",G,[i.createTextVNode(i.toDisplayString(s.show||s.title)+" ",1),i.createElementVNode("div",{class:i.normalizeClass(["card-close",{hide:n.isSimplyType(s.close)?!s.close:!1}]),style:i.normalizeStyle(h.closecss),onClick:t[0]||(t[0]=c=>e.$emit("close")),title:(r=s.close)==null?void 0:r.tips},null,14,U)])]},!0),i.renderSlot(e.$slots,"content",{},()=>[i.createElementVNode("div",X,[i.renderSlot(e.$slots,"inner",{},void 0,!0)])],!0)],!0)],4)}const H=E(D,[["render",Y],["__scopeId","data-v-2008eeb3"]]),J={name:"Stream",computed:{column(){let{columns:e,T:t}=this,s=e||t;return o.isEmpty(s)?[]:o.isArray(s)?s:[s]}},props:{bridge:{type:String,default:"slot"},type:{type:String,default:"div"},data:{type:Array,default:()=>[]},columns:{type:[Object,Array],default:()=>null},T:{type:[Array,Object],default:()=>null}},methods:{trigger(e){let t=e[this.bridge]||e.type;return(this.$slots||this.$scopedSlots)[t]?t:"default"}}};function K(e,t,s,l,h,n){return i.openBlock(),i.createBlock(i.resolveDynamicComponent(s.type),i.normalizeProps(i.guardReactiveProps(e.$attrs)),{default:i.withCtx(()=>[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.column,r=>i.renderSlot(e.$slots,n.trigger(r),i.mergeProps({key:r.type,ref_for:!0},r))),128))]),_:3},16)}const j=E(J,[["render",K]]),Q=[L,H,j],Z={install(e){Q.forEach(t=>{e.component("S"+t.name,t),e.component(t.name+"S",t)})}};exports.Card=H;exports.Flyweight=L;exports.Stream=j;exports.default=Z;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("@soei/util"),r=require("vue"),p=require("@soei/tools"),ne=require("@soei/picker");let oe=/(\d+|[+\-\*/]|%)/g,I={"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"%":(e,t,i)=>parseFloat(e)/100*i},V=(e,t)=>{let i;if(i=a.runer("match",e,oe)){let l=i.length,o,n=0,s,c=[];for(;l--;)n=i.shift(),n in I?(o&&c.push(o),n==="%"&&(c.length=2),s=n):+n&&c.push(+n),c.length==2&&(c.push(t),o=I[s].apply(null,c),c.length=0);+o||(o=+c.pop()),e=o>>0}return e},j={},S=(e,t)=>(e+"").replace(/\w+\((.*)\)/g,"$1").replace(j[t]||(j[t]=new RegExp("(?=\\s+|^)(\\d+)(?:\\.\\d{1,})?(?!(?:\\.)*\\d|%|\\w)","g")),"$1px");const C=(e,t)=>{const i=e.__vccOpts||e;for(const[l,o]of t)i[l]=o;return i};let D=e=>e==null||e==null,he=(...e)=>{console.info("::::FLYWEIGHT",...e)};const ae={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,i=this.Size,l={};return a.merge(l,{"--width":S(this.realW),"--height":S(this.realH),"--flyweight-content":S(i)},t&&{"--flyweight-h":S(t)},e&&l,{"--flyweight-w":S(e)},"mix"),l}},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,i)=>{e[t]=i}),this.setindex(this.index);try{new ResizeObserver(()=>{this.rebuild(),this.$emit("resize")}).observe(this.flyweight)}catch(e){he(e)}this.scrollx=a.runer("hasAttribute",this.flyweight,"scroll-x"),this.BoxRule="clientHeight=>height,clientWidth=>width",this.direction=this.scrollx?"scrollLeft":"scrollTop"},methods:{exec:S,trigger(e,t){a.isArray(e)||(e=e&&t?[[e,t]]:[]),e.length&&this.lazyrun(()=>{a.each(e,(i,l)=>{this.$emit(l[0],D(l[1])?!0:l[1])})})},cheackflys(e){if(!this.flys.length)return e&&this.task.push(e),!0},setview(e){a.runer([this.cheackflys,t=>{t=t||{};let i=t.index||a.each(this.flys,(l,o,n,s)=>{if(o[n]==s)return l},t.picker,t.id);D(i)||this.setindex(i)}],this,e)},setindex(e){a.runer([this.cheackflys,({index:t})=>{this.selectIndex=t,this.$nextTick(()=>{let i=t/this.column>>0,l=this.expand;(this.flyweight[this.direction]/l>>0)+this.row-i-1>0||(this.flyweight[this.direction]=i*l,this.scroll())})}],this,{index:e})},lazyrun(e,t){clearTimeout(this.time),this.time=setTimeout(()=>{a.runer(e)},t||this.lazy)},run(e){let t=[],i=a.runer(this.direction,e.target),l={offset:i,top:i,width:this.realW,height:this.realH,index:i/this.expand>>0};a.merge(l,this.space),e.from||t.push(["onscroll",l]);let o=!1;a.each(this.flyweights,(n,s,c,h,f,d,g,y,u)=>{if(c=n/f>>0,y=c+h*(+(c<d%h)+(d/h>>0)),u=y*f+n%f,u>=this.count){o||(t.push(["onend"]),o=!0);return}s.index=y,s.i=u,s.data=this.flys[u];let v=[y*this.expand+s.x,s.space];g&&v.reverse(),s.top=v[0],s.left=v[1]},null,this.row,this.column,l.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 i=this.scrollx,l=this.flyweight,o=a.picker(l,this.BoxRule);this.$nextTick(()=>{let n=/true/.test(this.auto),[s,c]=this.offset,h=o.width,f=o.height,d=(V(this.width,h)||h)+s,g=V(this.height,f)+c,y=[h/d>>0||1,f/g>>0||1];i&&y.reverse();let[u,v]=y,x=this.padding,T,k=0,m,w;i?(m=d,d-=s,w=_=>_*(g-c)+(_+1)*c):(n?(d=(h-s*(u+2*x-1))/u,T=!x*s,k=x*s):(T=0,k=(h%d+s*u)/(u+1)>>0,d-=s),w=_=>_*(d+T)+(_+1)*k,m=g),this.row=v+2,this.column=u,this.realH=g-c,this.realW=d,this.expand=m,this.Size=Math.ceil(e/u)*m;let $=Math.min(e,u*this.row),b=$-1,z;for(;$-- >0;)z=b-$,this.$set(t,z,{x:s,y:c,width:d,height:g-c,space:w(z%u),data:{}});t.length=b+1;let N=[];f/m>b/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:(b/u>>0)+1,column:u,showrow:this.row,showcolumn:this.column}]),this.trigger(N)})}}},ce={class:"flyweight-all"};function ue(e,t,i,l,o,n){return r.openBlock(),r.createElementBlock("div",{ref:"flyweight",class:r.normalizeClass(["flyweight",{"flyweight-active":o.actice}]),style:r.normalizeStyle(n.style),onScroll:t[0]||(t[0]=(...s)=>n.scroll&&n.scroll(...s))},[r.createElementVNode("div",ce,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(o.flyweights,(s,c)=>(r.openBlock(),r.createElementBlock("div",{key:c,style:r.normalizeStyle({top:s.top+"px",left:s.left+"px"})},[r.renderSlot(e.$slots,"default",r.mergeProps({ref_for:!0},s),void 0,!0)],4))),128))]),o.flyweights.length?r.renderSlot(e.$slots,"end",{key:0},void 0,!0):r.createCommentVNode("",!0)],38)}const Y=C(ae,[["render",ue],["__scopeId","data-v-35b94e9b"]]);function A(e,t){return t&&(e=e.replace(/[a-z]/g,"")),e.toLowerCase()}let J={close:{handler(e){this.change(e)},deep:!0},offset:{handler(e){this.margin(e)},deep:!0}},de=["BackGround","BordeR","Height","Width","Top","Right","Bottom","Left"],K={};a.each(de,(e,t,i)=>{e=A(t),K["--"+A(t,!0)]=e,i[e]=function(){this.trigger++}},J);const fe={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()}},watch:J,methods:{exec:S,isEmpty:a.isEmpty,isSimplyType:a.isSimplyType,tr(){let e={};return this.margin(this.offset),a.each(K,(t,i)=>{this.css(e,t,i)}),e},tolower:A,css(e,t,i){let l=this[i]||this.default[i];!l||this.default[i]==l||(e[t]=S(l))},change(e){a.isSimplyType(e)||(this.closecss=a.picker(e,"color=>--s-card-close-color,size=>--s-close-width,bold=>--s-close-height,*"))},margin(e){a.merge(this,a.picker(a.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)}},pe={class:"card-title"},ge=["title"],ye={class:"card-content"};function me(e,t,i,l,o,n){return r.openBlock(),r.createElementBlock("div",{class:"card",key:o.trigger,style:r.normalizeStyle(n.isEmpty(n.style)?n.tr():n.style)},[r.renderSlot(e.$slots,"default",{},()=>[r.renderSlot(e.$slots,"title",{},()=>{var s;return[r.createElementVNode("div",pe,[r.createTextVNode(r.toDisplayString(i.show||i.title)+" ",1),r.createElementVNode("div",{class:r.normalizeClass(["card-close",{hide:n.isSimplyType(i.close)?!i.close:!1}]),style:r.normalizeStyle(o.closecss),onClick:t[0]||(t[0]=c=>e.$emit("close")),title:(s=i.close)==null?void 0:s.tips},null,14,ge)])]},!0),r.renderSlot(e.$slots,"content",{},()=>[r.createElementVNode("div",ye,[r.renderSlot(e.$slots,"inner",{},void 0,!0)])],!0)],!0)],4)}const Q=C(fe,[["render",me],["__scopeId","data-v-2008eeb3"]]),we={name:"Stream",computed:{column(){let{columns:e,T:t}=this,i=e||t;return a.isEmpty(i)?[]:a.isArray(i)?i:[i]}},props:{bridge:{type:String,default:"slot"},type:{type:String,default:"div"},data:{type:Array,default:()=>[]},columns:{type:[Object,Array],default:()=>null},T:{type:[Array,Object],default:()=>null}},methods:{trigger(e){let t=e[this.bridge]||e.type;return(this.$slots||this.$scopedSlots)[t]?t:"default"}}};function be(e,t,i,l,o,n){return r.openBlock(),r.createBlock(r.resolveDynamicComponent(i.type),r.normalizeProps(r.guardReactiveProps(e.$attrs)),{default:r.withCtx(()=>[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.column,s=>r.renderSlot(e.$slots,n.trigger(s),r.mergeProps({key:s.type},{ref_for:!0},s))),128))]),_:3},16)}const Z=C(we,[["render",be]]),q=/(?:\,|\|{2})/,L="px",G="";let ee=document.documentElement,U,X=["s-left","s-top","s-right","s-bottom"],_e={left:0,top:1,right:2,bottom:3};const W=[];var Se=ne(window,"Reflect.defineProperty|Object.defineProperty=>Proxy").Proxy;let O={},te=null;Se(O,"delay",{get(){return this._delay},set(e){te=ve(()=>{p.runer(W)},e),this._delay=e}});O.delay=60;function ve(e,t){let i=0;return function(){const l=Date.now();l-i>=t&&(i=l,p.runer(e,this,arguments))}}const P=()=>{te()};function xe(e){W.push(e)}const E=new ResizeObserver(P);E.observe(ee);function ie(e){e.onresize||(W.push([ie,null,e]),e.onresize=!0);var t=ee,i=t.clientHeight,l=e.offset||15,o=e.target,n=e.room,s=e.index,c=e.position,h=o.getBoundingClientRect(),f=n.offsetHeight+l,d=n.offsetWidth+l,g="3,0,2,1".split(q),y,u=(h.height==U?h.bottom-h.top:h.height)>>0,v=(h.width==U?h.right-h.left:h.width)>>0,x=t.clientWidth-d,T=i-f,k=[h.left-d,h.top-f,x-h.right,T-h.bottom];c&&(p.each(c.split(q),function(se,M,H,le){le.push(H[M])},_e,y=[]),g.unshift.apply(g,y)),s=p.each(g,function(se,M,H){if(H[M]>0)return M},k);var m=0,w=0,$=0;if(s!=null){var b=s==0||s==2,z=s==3||s==1;m=z?Math.min(h.left,x):s==2?h.right+l:k[0],f-=l*+b;var N=Math.max(h.top,0),_=Math.min(h.bottom,i),R=(_-f+Math.min(i-f,N))/2;w=Math.max(b?R:s==3?h.top+u+l:Math.min(R,k[1]),0),z&&h.left>x&&($=h.left-m-l+v/2)}let F=n.classList,B=e.css;F.remove(...X),F.add(X[s]),e.index=s,B.left=m+L,B.top=w+L,B["--tips-position-top"]=b?Math.max(l,Math.min((Math.min(w+f,_)+Math.max(w,N))/2-w+l/2,f-.5*l))+L:G,B["--tips-position-left"]=$?Math.min($,d-3*l)+L:G}const ke={name:"Tips",props:{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}},watch:{visible:function(e){e&&this.$nextTick(()=>{this.init()})}},data(){return{css:{}}},methods:{parent(e){let t=this.$el,i;for(;t&&(t=t.parentNode,t&&t.nodeType==1||(t=window,i=!0),p.runer(e,null,t,i),!i););},attr(e,t,i){return p.runer(e[i===void 0?"getAttribute":"setAttribute"],e,t,i)},init(){this.$el.nodeName!="#comment"&&ie({onresize:!1,target:this.$el.parentNode,room:this.$el,position:this.position,css:this.css,offset:+this.offset})},scrollListener(){this.static||this.parent((e,t,i)=>{t?p.runer(e.addEventListener,e,"scroll",P):(p.runer(E.observe,E,e),(e.offsetHeight<e.scrollHeight||e.offsetWidth<e.scrollWidth)&&(i=this.attr(e,"-tips-scroll"),i||(p.runer(e.addEventListener,e,"scroll",P),this.attr(e,"-tips-scroll","true"))))})}},mounted(){a.merge(this.css,a.picker(this.$props,"color=>--tips-color,background=>--tips-background-color,border=>--tips-border-width,fontSize=>--tips-font-size")),this.init(),O.delay=+this.delay,xe(e=>{this.scrollListener()}),this.scrollListener()},unmounted(){this.parent(function(e,t){p.runer(e.removeEventListener,e,"scroll",P),p.runer(e.removeAttribute,e,"-tips-scroll",void 0),t||p.runer(E.unobserve,E,e)})}},$e=["static"],ze={class:"tips-title"};function Ne(e,t,i,l,o,n){return i.visible?(r.openBlock(),r.createElementBlock("div",r.mergeProps({key:0,class:"tips",style:i.static?null:o.css,static:i.static?"":null},e.$attrs),[r.renderSlot(e.$slots,"title",{},()=>[r.createElementVNode("div",ze,r.toDisplayString(i.title),1)],!0),r.renderSlot(e.$slots,"content",{},()=>[r.createTextVNode(r.toDisplayString(i.content),1)],!0)],16,$e)):r.createCommentVNode("",!0)}const re=C(ke,[["render",Ne],["__scopeId","data-v-b1c3381c"]]),Te=[Y,Q,Z,re],Ee={install(e){Te.forEach(t=>{e.component("S"+t.name,t),e.component(t.name+"S",t)})}};exports.Card=Q;exports.Flyweight=Y;exports.Stream=Z;exports.Tips=re;exports.default=Ee;
|