@soei/flyweight 0.3.12 → 0.4.0
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 +239 -212
- package/README.md +62 -10
- package/package.json +1 -1
- package/style.css +1 -1
- package/vue2/index.cjs +1 -1
- package/vue2/index.js +187 -167
- 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 a=require("@soei/util"),r=require("vue"),p=require("@soei/tools"),he=require("@soei/picker");let ae=/(\d+|[+\-\*/]|%)/g,V={"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"%":(e,t,i)=>parseFloat(e)/100*i},j=(e,t)=>{let i;if(i=a.runer("match",e,ae)){let l=i.length,o,n=0,s,c=[];for(;l--;)n=i.shift(),n in V?(o&&c.push(o),n==="%"&&(c.length=2),s=n):+n&&c.push(+n),c.length==2&&(c.push(t),o=V[s].apply(null,c),c.length=0);+o||(o=+c.pop()),e=o>>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 i=e.__vccOpts||e;for(const[l,o]of t)i[l]=o;return i};let D=e=>e==null||e==null,ce=(...e)=>{console.info("::::FLYWEIGHT",...e)};const ue={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){ce(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,d,f,g,y,u)=>{if(c=n/d>>0,y=c+h*(+(c<f%h)+(f/h>>0)),u=y*d+n%d,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,d=o.height,f=(j(this.width,h)||h)+s,g=j(this.height,d)+c,y=[h/f>>0||1,d/g>>0||1];i&&y.reverse();let[u,v]=y,x=this.padding,T,k=0,m,b;i?(m=f,f-=s,b=$=>$*(g-c)+($+1)*c):(n?(f=(h-s*(u+2*x-1))/u,T=!x*s,k=x*s):(T=0,k=(h%f+s*u)/(u+1)>>0,f-=s),b=$=>$*(f+T)+($+1)*k,m=g),this.row=v+2,this.column=u,this.realH=g-c,this.realW=f,this.expand=m,this.Size=Math.ceil(e/u)*m;let _=Math.min(e,u*this.row),w=_-1,N;for(;_-- >0;)N=w-_,this.$set(t,N,{x:s,y:c,width:f,height:g-c,space:b(N%u),data:{}});t.length=w+1;let z=[];d/m>w/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:(w/u>>0)+1,column:u,showrow:this.row,showcolumn:this.column}]),this.trigger(z)})}}},de={class:"flyweight-all"};function fe(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",de,[(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 K=C(ue,[["render",fe],["__scopeId","data-v-35b94e9b"]]);function P(e,t){return t&&(e=e.replace(/[a-z]/g,"")),e.toLowerCase()}let Q={close:{handler(e){this.change(e)},deep:!0},offset:{handler(e){this.margin(e)},deep:!0}},pe=["BackGround","BordeR","Height","Width","Top","Right","Bottom","Left"],Z={};a.each(pe,(e,t,i)=>{e=P(t),Z["--"+P(t,!0)]=e,i[e]=function(){this.trigger++}},Q);const ge={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:Q,methods:{exec:S,isEmpty:a.isEmpty,isSimplyType:a.isSimplyType,tr(){let e={};return this.margin(this.offset),a.each(Z,(t,i)=>{this.css(e,t,i)}),e},tolower:P,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)}},ye={class:"card-title"},me=["title"],we={class:"card-content"};function be(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",ye,[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,me)])]},!0),r.renderSlot(e.$slots,"content",{},()=>[r.createElementVNode("div",we,[r.renderSlot(e.$slots,"inner",{},void 0,!0)])],!0)],!0)],4)}const ee=C(ge,[["render",be],["__scopeId","data-v-2008eeb3"]]),_e={name:"Stream",computed:{component(){return this.$refs.component},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"},columns:{type:[Object,Array],default:()=>null},T:{type:[Array,Object],default:()=>null}},mounted(){this.$.vnode.ref&&a.merge(this,{...this.component})},methods:{__trigger(e){let t=e[this.bridge]||e.type;return(this.$slots||this.$scopedSlots)[t]?t:"default"}}};function Se(e,t,i,l,o,n){return r.openBlock(),r.createBlock(r.resolveDynamicComponent(i.type),r.mergeProps({ref:"component"},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 te=C(_e,[["render",Se]]),G=/(?:\,|\|{2})/,U="px",X="";let ie=document.documentElement,Y,J=["s-left","s-top","s-right","s-bottom"],ve={left:0,top:1,right:2,bottom:3};const W=[];var xe=he(window,"Reflect.defineProperty|Object.defineProperty=>Proxy").Proxy;let A={},re=null;xe(A,"delay",{get(){return this._delay},set(e){re=ke(()=>{p.runer(W)},e),this._delay=e}});A.delay=60;function ke(e,t){let i=0;return function(){const l=Date.now();l-i>=t&&(i=l,p.runer(e,this,arguments))}}const L=()=>{re()};function $e(e){W.push(e)}const B=new ResizeObserver(L);B.observe(ie);function se(e){e.onresize||(W.push([se,null,e]),e.onresize=!0);var t=ie,i=t.clientHeight,l=p.isNil(e.offset)?15:e.offset,o=e.target,n=e.room,s=e.index,c=e.position,h=o.getBoundingClientRect(),d=n.offsetHeight+l,f=n.offsetWidth+l,g="3,0,2,1".split(G),y,u=(h.height==Y?h.bottom-h.top:h.height)>>0,v=(h.width==Y?h.right-h.left:h.width)>>0,x=t.clientWidth-f,T=i-d,k=[h.left-f,h.top-d,x-h.right,T-h.bottom];c&&(p.each(c.split(G),function(ne,M,H,oe){oe.push(H[M])},ve,y=[]),g.unshift.apply(g,y)),s=p.each(g,function(ne,M,H){if(H[M]>0)return M},k);var m=0,b=0,_=0;if(s!=null){var w=s==0||s==2,N=s==3||s==1;m=N?Math.min(h.left,x):s==2?h.right+l:k[0],d-=l*+w;var z=Math.max(h.top,0),$=Math.min(h.bottom,i),O=($-d+Math.min(i-d,z))/2;b=Math.max(w?O:s==3?h.top+u+l:Math.min(O,k[1]),0),N&&h.left>x&&(_=h.left-m-l+v/2)}let R=n.classList,E=e.css;R.remove(...J),R.add(J[s]),e.index=s,E.left=m+U,E.top=b+U;let F=E["--tips-arrow-top"]=w?Math.min(Math.max(b,z)-b,d-l):X,I=f-3*l;E["--tips-arrow"]=_>I-10||w&&(F+(d>50?15:0)>d||!F)?"hidden":"visible",E["--tips-arrow-left"]=_?Math.min(_,I):X}const Ne={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},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,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"&&se({onresize:!1,target:this.$el.parentNode,room:this.$el,position:this.position,css:this.css,offset:+this.offset>>0})},scrollListener(){this.static||this.parent((e,t,i)=>{t?p.runer(e.addEventListener,e,"scroll",L):(p.runer(B.observe,B,e),(e.offsetHeight<e.scrollHeight||e.offsetWidth<e.scrollWidth)&&(i=this.attr(e,"-tips-scroll"),i||(p.runer(e.addEventListener,e,"scroll",L),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,borderRadius=>--tips-border-radius")),this.css["--arrow-size"]=Math.sqrt(2*Math.pow((this.border||3)*2+2,2))/2>>0,this.init(),A.delay=+this.delay,$e(e=>{this.scrollListener()}),this.scrollListener()},unmounted(){this.parent(function(e,t){p.runer(e.removeEventListener,e,"scroll",L),p.runer(e.removeAttribute,e,"-tips-scroll",void 0),t||p.runer(B.unobserve,B,e)})}},ze=["static"],Te={class:"tips-title"};function Ee(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,"default",{},()=>[r.renderSlot(e.$slots,"title",{},()=>[r.createElementVNode("div",Te,r.toDisplayString(i.title),1)],!0),r.renderSlot(e.$slots,"content",{},()=>[r.createTextVNode(r.toDisplayString(i.content),1)],!0)],!0)],16,ze)):r.createCommentVNode("",!0)}const le=C(Ne,[["render",Ee],["__scopeId","data-v-8c83dee3"]]),Be=[K,ee,te,le],Me={install(e){Be.forEach(t=>{e.component("S"+t.name,t),e.component(t.name+"S",t)})}};exports.Card=ee;exports.Flyweight=K;exports.Stream=te;exports.Tips=le;exports.default=Me;
|
|
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;
|